| | |
| | | <script setup> |
| | | |
| | | </script> |
| | | |
| | | <template> |
| | | <div class="app-container"> |
| | | <div class="filter-container"> |
| | | <el-button |
| | | type="primary" |
| | | plain |
| | | icon="Plus" |
| | | style="margin-right: 12px" |
| | | @click="openLicenseForm('新增','')" |
| | | > |
| | | 新增 |
| | | </el-button> |
| | | <div class="basic_search"> |
| | | <span>区域:</span> |
| | | <el-select style="margin-right: 12px" v-model="params.province" clearable filterable |
| | | @change="changeArea('province')"> |
| | | <el-option v-for="item in provinceList" :key="item.id" :label="item.name" :value="item.name"></el-option> |
| | | </el-select> |
| | | <el-select style="margin-right: 12px" v-model="params.city" prop="city" clearable filterable |
| | | @change="changeArea('city')"> |
| | | <el-option v-for="item in cityList" :key="item.id" :label="item.name" :value="item.name"></el-option> |
| | | </el-select> |
| | | <el-select style="margin-right: 12px" v-model="params.district" clearable filterable> |
| | | <el-option v-for="item in districtList" :key="item.id" :label="item.name" :value="item.name"></el-option> |
| | | </el-select> |
| | | </div> |
| | | <div class="basic_search"> |
| | | <span>创建时间:</span> |
| | | <el-date-picker value-format="YYYY-MM-DD HH:mm:ss" v-model="validTime1" type="datetimerange" |
| | | range-separator="-" start-placeholder="开始日期" end-placeholder="结束日期"> |
| | | </el-date-picker> |
| | | </div> |
| | | <div class="basic_search"> |
| | | <span>发证时间:</span> |
| | | <el-date-picker value-format="YYYY-MM-DD HH:mm:ss" v-model="validTime2" type="datetimerange" |
| | | range-separator="-" start-placeholder="开始日期" end-placeholder="结束日期"> |
| | | </el-date-picker> |
| | | </div> |
| | | <div class="basic_search"> |
| | | <span>企业名称:</span> |
| | | <el-input v-model="params.name" style="width: 220px"></el-input> |
| | | </div> |
| | | <div class="basic_search"> |
| | | <span>企业类型:</span> |
| | | <el-select filterable clearable v-model="params.type"> |
| | | <el-option label="烟花爆竹经营(生产)许可证" value="1">烟花爆竹经营(生产)许可证</el-option> |
| | | <el-option label="烟花爆竹经营(批发)许可证" value="2">烟花爆竹经营(批发)许可证</el-option> |
| | | <el-option label="烟花爆竹经营(长期零售)许可证" value="3">烟花爆竹经营(长期零售)许可证</el-option> |
| | | <el-option label="烟花爆竹经营(短期零售)许可证" value="4">烟花爆竹经营(短期零售)许可证</el-option> |
| | | </el-select> |
| | | </div> |
| | | <div class="basic_search"> |
| | | <span>审核状态:</span> |
| | | <el-select filterable clearable v-model="params.reviewstatus"> |
| | | <el-option v-for="item in reviewStatusList" :key="item.id" :label="item.name" :value="item.id"/> |
| | | </el-select> |
| | | </div> |
| | | <div class="basic_search"> |
| | | <span>许可证状态:</span> |
| | | <el-select filterable clearable v-model="params.validstatus"> |
| | | <el-option v-for="item in validStatusList" :key="item.id" :label="item.name" :value="item.id"/> |
| | | </el-select> |
| | | </div> |
| | | <div class="basic_search"> |
| | | <span>发证类型:</span> |
| | | <el-select filterable clearable v-model="params.licensecode"> |
| | | <el-option v-for="item in licenseStatusList" :key="item.id" :label="item.name" :value="item.id"/> |
| | | </el-select> |
| | | </div> |
| | | <el-button style="margin-left: 10px;" type="primary" @click="searchData()">查询</el-button> |
| | | <el-button type="primary" plain @click="reset()">重置</el-button> |
| | | <el-button style="margin-left: 10px;" type="primary" @click="exportRetail()">零售许可证台账导出</el-button> |
| | | <el-button style="margin-left: 10px;" type="primary" @click="exportWholesale()">批发许可证台账导出</el-button> |
| | | |
| | | </div> |
| | | <div class="table_content"> |
| | | <el-table v-loading="listLoading" :key="tableKey" :data="licenseList" border fit @sort-change="sortChange" |
| | | highlight-current-row style="width: 100%;"> |
| | | <el-table-column label="序号" type="index" align="center" width="60"/> |
| | | <el-table-column label="行政区划" prop="province" align="center" sortable="custom"> |
| | | <template #default="scope"> |
| | | {{ scope.row.province }}{{ scope.row.city }}{{ scope.row.district }} |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="单位名称" prop="name" align="center" sortable="custom"> |
| | | </el-table-column> |
| | | <el-table-column label="主要负责人" prop="mainpersonname" align="center" sortable="custom"> |
| | | </el-table-column> |
| | | <el-table-column label="许可证编号" prop="licensecode" align="center" sortable="custom"> |
| | | </el-table-column> |
| | | <el-table-column label="许可证类型" prop="type" align="center" sortable="custom"> |
| | | <template #default="scope"> |
| | | <div v-for="item in typeList"> |
| | | <div v-if="scope.row.type === item.id"> |
| | | {{ item.name }} |
| | | </div> |
| | | </div> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="发证类型" prop="licensestatus" align="center" sortable="custom"> |
| | | </el-table-column> |
| | | <el-table-column label="发证日期" prop="issuingdate" align="center" sortable="custom"> |
| | | </el-table-column> |
| | | <el-table-column label="到期日期" prop="noeffectdate" align="center" sortable="custom"> |
| | | </el-table-column> |
| | | <el-table-column label="发证机关" prop="issuingunit" align="center" sortable="custom"> |
| | | </el-table-column> |
| | | <el-table-column label="审批状态" prop="reviewstatus" align="center" sortable="custom"> |
| | | <template #default="scope"> |
| | | <div v-for="item in reviewStatusList"> |
| | | <div v-if="scope.row.reviewstatus === item.id"> |
| | | {{ item.name }} |
| | | </div> |
| | | </div> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="许可证状态" prop="validstatus" align="center" sortable="custom"> |
| | | <template #default="scope"> |
| | | <div v-for="item in validStatusList"> |
| | | <div v-if="scope.row.validstatus === item.id"> |
| | | {{ item.name }} |
| | | </div> |
| | | </div> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="操作" align="center" width="180" class-name="small-padding fixed-width"> |
| | | <template #default="scope"> |
| | | <el-button type="text" @click="commit(scope.row.id)" |
| | | v-if="isSupervision!=='null' && (scope.row.reviewstatus== 0||scope.row.reviewstatus===3) ?true:false"> |
| | | 提交 |
| | | </el-button> |
| | | <el-button type="text" @click="openLicenseForm('修改',scope.row)" v-if="isSupervision==='null'?false:true"> |
| | | 修改 |
| | | </el-button> |
| | | <el-button type="text" @click="openLicenseForm('审核',scope.row)" |
| | | v-if="isSupervision ==='null' &&scope.row.reviewstatus !==2&&scope.row.reviewstatus !==3">审核 |
| | | </el-button> |
| | | <el-button type="text" @click="refuse(scope.row.id)" |
| | | v-if="isSupervision ==='null'&&scope.row.reviewstatus !==3">驳回 |
| | | </el-button> |
| | | <el-button type="text" @click="deleteById(scope.row.id)" v-if="isSupervision==='null'?false:true">删除 |
| | | </el-button> |
| | | <br> |
| | | <el-button type="text" v-print="printObj1" @click="giveData(scope.row)" |
| | | v-if="isSupervision==='null' && scope.row.reviewstatus === 2?true:false">打印正本(新) |
| | | </el-button> |
| | | <el-button type="text" v-print="printObj2" @click="giveDetail(scope.row)" |
| | | v-if="isSupervision==='null' && scope.row.reviewstatus === 2?true:false">打印副本(新) |
| | | </el-button> |
| | | <el-button type="text" v-print="printObj3" @click="giveData(scope.row)" |
| | | v-if="isSupervision==='null' && scope.row.reviewstatus === 2?true:false">打印正本(旧) |
| | | </el-button> |
| | | <el-button type="text" v-print="printObj4" @click="giveDetail(scope.row)" |
| | | v-if="isSupervision==='null' && scope.row.reviewstatus === 2?true:false">打印副本(旧) |
| | | </el-button> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="其他操作" v-if="isSupervision === 'null'" align="center" width="180" |
| | | class-name="small-padding fixed-width"> |
| | | <template #default="scope"> |
| | | <el-button type="text" v-if="scope.row.reviewstatus === 2" |
| | | @click="openDelayLicenseDialog(scope.row)">延期 |
| | | </el-button> |
| | | <el-button type="text" v-if="scope.row.reviewstatus === 2" |
| | | @click="openModLicenseDialog(scope.row)">变更 |
| | | </el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | <br> |
| | | <el-pagination v-show="recordTotal>0" :current-page="currentPage" :page-sizes="[10, 20, 30, 50]" |
| | | :page-size="pageSize" :total="recordTotal" layout="total, sizes, prev, pager, next, jumper" |
| | | background |
| | | style="float:right;" @size-change="handleSizeChange" @current-change="handleCurrentChange"/> |
| | | <br> |
| | | </div> |
| | | <div v-show="false"> |
| | | <div id="printMe1"> |
| | | <el-row style="height:130px;margin-left:140px;margin-top:197px"> |
| | | <el-col :span="3"> |
| | | <span style="display: inline-block;font-size: 20px;">统一社会信用代码</span> |
| | | </el-col> |
| | | <el-col :span="15"> |
| | | <span style="display: inline-block;font-size: 20px;"> {{ code }}</span> |
| | | </el-col> |
| | | <el-col :span="6"> |
| | | <div style="width: 40%;height: 40%;margin-left:65px;padding-top: 35px" id="qrcode" ref="qrcode"> |
| | | </div> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row style="text-align: center;height:35px;font-size: 20px;margin-top:70px"> |
| | | <el-col :span="24"> |
| | | <span>编号  </span> |
| | | <span style="display: inline-block">{{ value }}</span> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row style="height:75px;margin-left:140px;margin-top:30px;"> |
| | | <el-col :span="3" style="font-size: 27px;font-weight: bold"> |
| | | <span v-if="type === 2">企业名称</span> |
| | | <span v-if="type === 3 || type === 4">单位名称</span> |
| | | </el-col> |
| | | <el-col :span="11" style="font-size: 27px"> |
| | | <span>{{ name }}</span> |
| | | </el-col> |
| | | <el-col :span="3" style="font-size: 27px;font-weight: bold"> |
| | | <span v-if="type === 2">主要负责人</span> |
| | | <span v-if="type === 3 || type === 4">许可类型</span> |
| | | </el-col> |
| | | <el-col :span="5" style="font-size: 27px"> |
| | | <span v-if="type === 2">{{ mainpersonname }}</span> |
| | | <span v-if="type === 3 || type === 4">{{ licensetype }}</span> |
| | | </el-col> |
| | | <el-col :span="2" style="font-size: 27px;"> |
| | | <span></span> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row style="height:75px;margin-left:140px;"> |
| | | <el-col :span="3" style="font-size: 27px;font-weight: bold"> |
| | | <span v-if="type === 2">注册地址</span> |
| | | <span v-if="type === 3 || type === 4">主要负责人</span> |
| | | </el-col> |
| | | <el-col :span="11" style="font-size: 27px"> |
| | | <span |
| | | v-if="type === 2">{{ province === "新疆维吾尔自治区" ? "新疆" : province }}{{ |
| | | city |
| | | }}{{ district }}{{ address }}</span> |
| | | <span v-if="type === 3 || type === 4">{{ mainpersonname }}</span> |
| | | </el-col> |
| | | <el-col :span="3" style="font-size: 27px;font-weight: bold"> |
| | | <span v-if="type === 2">库区面积</span> |
| | | <span v-if="type === 3 || type === 4">经营方式</span> |
| | | </el-col> |
| | | <el-col :span="5" style="font-size: 27px"> |
| | | <span v-if="type === 2">{{ area }}㎡</span> |
| | | <span v-if="type === 3 || type === 4">{{ dealingtype }}</span> |
| | | </el-col> |
| | | <el-col :span="2" style="font-size: 27px;"> |
| | | <span></span> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row style="height:75px;margin-left:140px;"> |
| | | <el-col :span="3" style="font-size: 27px;font-weight: bold"> |
| | | <span v-if="type === 2">仓储地址</span> |
| | | <span v-if="type === 3 || type === 4">单位地址</span> |
| | | </el-col> |
| | | <el-col :span="11" style="font-size: 27px"> |
| | | <span |
| | | v-if="type === 2">{{ |
| | | storageprovince === "新疆维吾尔自治区" ? "新疆" : storageprovince |
| | | }}{{ storagecity }}{{ storagedistrict }}{{ storageaddress }}</span> |
| | | <span |
| | | v-if="type === 3 || type === 4">{{ province === "新疆维吾尔自治区" ? "新疆" : province }}{{ |
| | | city |
| | | }}{{ district }}{{ address }}</span> |
| | | </el-col> |
| | | <el-col :span="3" style="font-size: 27px;font-weight: bold"> |
| | | <span v-if="type === 2">库房面积</span> |
| | | <span v-if="type === 3 || type === 4">经营面积</span> |
| | | </el-col> |
| | | <el-col :span="5" style="font-size: 27px"> |
| | | <span v-if="type === 2">{{ storagearea }}㎡</span> |
| | | <span v-if="type === 3 || type === 4">{{ area }}㎡</span> |
| | | </el-col> |
| | | <el-col :span="2" style="font-size: 27px;"> |
| | | <span></span> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row style="height:100px;margin-left:140px;"> |
| | | <el-col :span="3" style="font-size: 27px;font-weight: bold"> |
| | | <span>许可范围</span> |
| | | </el-col> |
| | | <el-col :span="11" style="font-size: 22px;padding-right: 80px;"> |
| | | <span>{{ dealingrange }}</span> |
| | | </el-col> |
| | | <el-col :span="3" style="font-size: 27px;font-weight: bold"> |
| | | <span v-if="type === 2">核定药量</span> |
| | | <span v-if="type === 3 || type === 4">核定储量</span> |
| | | </el-col> |
| | | <el-col :span="5" style="font-size: 27px;"> |
| | | <span>{{ powder }}kg</span> |
| | | <span>({{ reservebox }}箱)</span> |
| | | </el-col> |
| | | <el-col :span="2" style="font-size: 27px;"> |
| | | <span></span> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row style="height:40px;margin-left:140px;"> |
| | | <el-col :span="3" style="font-size: 27px;font-weight: bold"> |
| | | <span>有效期</span> |
| | | </el-col> |
| | | <el-col :span="4" style="font-size: 27px"> |
| | | <span>{{ effectdate }}</span> |
| | | </el-col> |
| | | <el-col :span="1" style="font-size: 27px;font-weight: bold"> |
| | | <span>至</span> |
| | | </el-col> |
| | | <el-col :span="5" style="font-size: 27px"> |
| | | <span>{{ noeffectdate }}</span> |
| | | </el-col> |
| | | <el-col :span="11" style="font-size: 27px"> |
| | | <span></span> |
| | | </el-col> |
| | | <!-- <el-col :span="8" style="font-size: 27px;margin-top:38px;">--> |
| | | <!-- <span>{{issuingunit}}</span>--> |
| | | <!-- </el-col>--> |
| | | </el-row> |
| | | <el-row style="height:60px;margin-left:140px;"> |
| | | <el-col :span="14" style="font-size: 1px"> |
| | | <span>{{ "." }}</span> |
| | | </el-col> |
| | | <el-col :span="3" style="font-size: 27px;font-weight: bold"> |
| | | <span>发证机关</span> |
| | | </el-col> |
| | | <el-col :span="5" style="font-size: 27px;"> |
| | | <span>{{ issuingunit }}</span> |
| | | </el-col> |
| | | <el-col :span="2" style="font-size: 27px;"> |
| | | <span></span> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row style="height:60px;margin-left:140px;"> |
| | | <el-col :span="14" style="font-size: 1px"> |
| | | <span>{{ "." }}</span> |
| | | </el-col> |
| | | <el-col :span="3" style="font-size: 27px;font-weight: bold"> |
| | | <span>发证日期</span> |
| | | </el-col> |
| | | <el-col :span="2" style="font-size: 27px;"> |
| | | <span>{{ year }}</span> |
| | | <span style="font-size: 27px;font-weight: bold"> 年</span> |
| | | </el-col> |
| | | <el-col :span="3" style="font-size: 27px;"> |
| | | <span>{{ month }}</span> |
| | | <span style="font-size: 27px;font-weight: bold">月</span> |
| | | <span> {{ day }}</span> |
| | | <span style="font-size: 27px;font-weight: bold">日</span> |
| | | </el-col> |
| | | <el-col :span="2" style="font-size: 27px;"> |
| | | <span></span> |
| | | </el-col> |
| | | </el-row> |
| | | </div> |
| | | </div> |
| | | |
| | | |
| | | <div v-show="false"> |
| | | <div id="printMe2"> |
| | | <el-row> |
| | | <el-col :span="7" style="margin-top:670px;margin-left: 80px"> |
| | | <el-row style="height: 60px;"> |
| | | <el-col :span="6" style="font-weight: bold;"> |
| | | <span v-if="type === 2">企业名称</span> |
| | | <span v-if="type === 3">单位名称</span> |
| | | </el-col> |
| | | <el-col :span="18"> |
| | | {{ name }} |
| | | </el-col> |
| | | </el-row> |
| | | <el-row style="height: 60px;margin-top: 4px"> |
| | | <el-col :span="6" style="font-weight: bold;"> |
| | | <span v-if="type === 2">注册地址</span> |
| | | <span v-if="type === 3">主要负责人</span> |
| | | </el-col> |
| | | <el-col :span="18"> |
| | | <span |
| | | v-if="type === 2">{{ province === "新疆维吾尔自治区" ? "新疆" : province }}{{ |
| | | city |
| | | }}{{ district }}{{ address }}</span> |
| | | <span v-if="type === 3">{{ mainpersonname }}</span> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row style="height: 60px;margin-top: 4px"> |
| | | <el-col :span="6" style="font-weight: bold;"> |
| | | <span></span> |
| | | <span v-if="type === 2">仓储地址</span> |
| | | <span v-if="type === 3">单位地址</span> |
| | | </el-col> |
| | | <el-col :span="18"> |
| | | <span |
| | | v-if="type === 2">{{ province === "新疆维吾尔自治区" ? "新疆" : province }}{{ |
| | | city |
| | | }}{{ storagedistrict }}{{ storageaddress }}</span> |
| | | <span |
| | | v-if="type === 3">{{ province === "新疆维吾尔自治区" ? "新疆" : province }}{{ city }}{{ |
| | | district |
| | | }}{{ address }}</span> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row style="height: 60px;margin-top: 4px"> |
| | | <el-col :span="6" style="font-weight: bold;"> |
| | | <span>许可范围</span> |
| | | </el-col> |
| | | <el-col :span="18"> |
| | | {{ dealingrange }} |
| | | </el-col> |
| | | </el-row> |
| | | <el-row style="height: 60px;margin-top: 4px"> |
| | | <el-col :span="6" style="font-weight: bold;"> |
| | | <span>有效期</span> |
| | | </el-col> |
| | | <el-col :span="8"> |
| | | {{ (effectdate) }} |
| | | </el-col> |
| | | <el-col :span="2" style="font-weight: bold">至</el-col> |
| | | <el-col :span="7"> |
| | | {{ (noeffectdate) }} |
| | | </el-col> |
| | | </el-row> |
| | | </el-col> |
| | | |
| | | <el-col :span="13" style="margin-top: 385px;"> |
| | | <el-row> |
| | | |
| | | <el-col :span="10"> |
| | | <el-row> |
| | | <el-col :span="10"> |
| | | <span>编号</span> |
| | | </el-col> |
| | | <el-col :span="14"> |
| | | <span>{{ value }}</span> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row style="margin-top: 17px;"> |
| | | <el-col :span="10"> |
| | | <span>统一社会信用代码</span> |
| | | </el-col> |
| | | <el-col :span="14"> |
| | | <span>{{ code }}</span> |
| | | </el-col> |
| | | </el-row> |
| | | </el-col> |
| | | <el-col :span="10"> |
| | | <div style="width:20px;height:20px;margin-top: 14px;margin-left: 28px" class="qrcode" |
| | | id="qrcode2" ref="qrcode"></div> |
| | | </el-col> |
| | | </el-row> |
| | | |
| | | <el-row style="margin-top: 92px;padding-left: 120px"> |
| | | <el-col :span="4" style="font-weight: bold;"> |
| | | <span v-if="type === 2">主要负责人</span> |
| | | <span v-if="type === 3 || type === 4">许可类型</span> |
| | | </el-col> |
| | | <el-col :span="8"> |
| | | <span v-if="type === 2">{{ mainpersonname }}</span> |
| | | <span v-if="type === 3 || type === 4">{{ licensetype }}</span> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row style="margin-top: 48px;margin-left: 120px;"> |
| | | <el-col :span="4" style="font-weight: bold;"> |
| | | <span v-if="type === 2">库区面积</span> |
| | | <span v-if="type === 3">经营方式</span> |
| | | |
| | | </el-col> |
| | | <el-col :span="8"> |
| | | <span v-if="type === 2">{{ area }}㎡</span> |
| | | <span v-if="type === 3">{{ dealingtype }}</span> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row style="margin-top: 48px;margin-left: 120px;"> |
| | | <el-col :span="4" style="font-weight: bold;"> |
| | | <span v-if="type === 2">库房面积</span> |
| | | <span v-if="type === 3">经营面积</span> |
| | | </el-col> |
| | | <el-col :span="8"> |
| | | <span v-if="type === 2">{{ storagearea }}㎡</span> |
| | | <span v-if="type === 3">{{ area }}㎡</span> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row style="margin-top: 48px;margin-left: 120px;"> |
| | | <el-col :span="4" style="font-weight: bold;"> |
| | | <span v-if="type === 2">核定药量</span> |
| | | <span v-if="type === 3">核定储量</span> |
| | | </el-col> |
| | | <el-col :span="8"> |
| | | <span>{{ powder }}kg</span> |
| | | <span>({{ reservebox }}箱)</span> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row style="margin-top: 150px;margin-left: 120px;"> |
| | | <el-col :span="4" style="font-weight: bold;"> |
| | | <span>发证机关</span> |
| | | </el-col> |
| | | <el-col :span="8"> |
| | | {{ issuingunit }} |
| | | </el-col> |
| | | </el-row> |
| | | <el-row style="margin-top: 30px;margin-left: 120px"> |
| | | <el-col :span="4" style="font-weight: bold;"> |
| | | <span>发证日期</span> |
| | | </el-col> |
| | | <el-col :span="3"> |
| | | <span>{{ year }} </span> |
| | | <span style="font-weight: bold;">年</span> |
| | | </el-col> |
| | | <el-col :span="3"> |
| | | <span>{{ month }}</span> |
| | | <span style="font-weight: bold;">月</span> |
| | | <span> {{ day }}</span> |
| | | <span style="font-weight: bold;">日</span> |
| | | </el-col> |
| | | |
| | | </el-row> |
| | | </el-col> |
| | | </el-row> |
| | | </div> |
| | | </div> |
| | | <div v-show="false"> |
| | | <div id="printMe3"> |
| | | <el-row style="height:130px;margin-left:320px;padding-top:95px;padding-bottom: 95px"> |
| | | <el-col :span="18"> |
| | | <span style="display: inline-block;font-size: 25px;"></span> |
| | | </el-col> |
| | | <el-col :span="6"> |
| | | <div style="width: 40%;height: 40%;margin-left:20%;padding-top: 10px" id="qrcode3" |
| | | ref="qrcode"/> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row style="height:50px;font-size: 20px;margin-top:280px;margin-left:1050px;"> |
| | | <el-col :span="24"> |
| | | <span style="display: inline-block">{{ value }}</span> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row style="height:60px;margin-left:470px;margin-top:28px;"> |
| | | <el-col :span="13" style="font-size: 22px"> |
| | | <span>{{ name }}</span> |
| | | </el-col> |
| | | <el-col :span="8" style="font-size: 22px;padding-left: 50px"> |
| | | <span>{{ mainpersonname }}</span> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row style="height:80px;margin-left:470px;"> |
| | | <el-col :span="13" style="font-size: 22px;height: 90px;padding-right: 200px;"> |
| | | <span>{{ province === "新疆维吾尔自治区" ? "新疆" : province }}{{ city }}{{ district }}{{ address }}</span> |
| | | </el-col> |
| | | <!--<el-col :span="8" style="font-size: 27px"> |
| | | <span>{{area}}㎡</span> |
| | | </el-col>--> |
| | | <el-col :span="7" style="font-size: 22px;padding-left: 50px;padding-top: 10px"> |
| | | <span>{{ economictype }}</span> |
| | | </el-col> |
| | | </el-row> |
| | | <!--<el-row style="height:60px;margin-left:290px;"> |
| | | <el-col :span="16" style="font-size: 27px"> |
| | | <span>{{storageaddress}}</span> |
| | | </el-col> |
| | | <el-col :span="8" style="font-size: 27px"> |
| | | <span>{{storagearea}}㎡</span> |
| | | </el-col> |
| | | </el-row>--> |
| | | <el-row style="height:100px;margin-left:470px;"> |
| | | <el-col :span="13" style="font-size: 22px;padding-right: 200px;"> |
| | | <span>{{ dealingrange }}</span><br> |
| | | <span>核定药量:{{ powder }}kg</span> |
| | | <span>({{ reservebox }}箱)</span> |
| | | </el-col> |
| | | <el-col :span="8" style="font-size: 22px;padding-left: 50px;height: 80px"> |
| | | <span>{{ storageprovince === "新疆维吾尔自治区" ? "新疆" : storageprovince }}{{ |
| | | storagecity |
| | | }}{{ storagedistrict }}{{ storageaddress }}</span><br> |
| | | <span>库区面积{{ area }}㎡</span>; |
| | | <span>库房面积{{ storagearea }}㎡</span> |
| | | </el-col> |
| | | <!--<el-col :span="8" style="font-size: 27px;margin-top:20px;"> |
| | | <span>{{powder}}kg</span> |
| | | </el-col>--> |
| | | </el-row> |
| | | <el-row style="height:80px;margin-left:400px;"> |
| | | <el-col :span="10" style="font-size: 1px"> |
| | | <span>.</span> |
| | | </el-col> |
| | | <el-col :span="7" style="font-size: 18px;margin-top:24px;padding-left: 180px;"> |
| | | <span>{{ issuingunit }}</span> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row style="height:75px;margin-left:290px;"> |
| | | <el-col :span="2" style="font-size: 22px;margin-top: 15px;margin-left:45px"> |
| | | <span>{{ year1 }}</span> |
| | | </el-col> |
| | | <el-col :span="1" style="font-size: 22px;margin-top: 15px;margin-left:0px"> |
| | | <span>{{ month1 }}</span> |
| | | </el-col> |
| | | <el-col :span="1" style="font-size: 22px;margin-top: 15px;margin-left:20px"> |
| | | <span>{{ day1 }}</span> |
| | | </el-col> |
| | | <el-col :span="2" style="font-size: 22px;margin-top: 15px;margin-left:40px"> |
| | | <span>{{ year2 }}</span> |
| | | </el-col> |
| | | <el-col :span="1" style="font-size: 22px;margin-top: 15px;margin-left:7px"> |
| | | <span>{{ month2 }}</span> |
| | | </el-col> |
| | | <el-col :span="1" style="font-size: 22px;margin-top: 15px;margin-left:20px"> |
| | | <span>{{ day2 }}</span> |
| | | </el-col> |
| | | <el-col :span="2" style="font-size: 22px;margin-top: 15px;margin-left:210px"> |
| | | <span>{{ year }}</span> |
| | | </el-col> |
| | | <el-col :span="1" style="font-size: 22px;margin-top: 15px;margin-left:35px"> |
| | | <span>{{ month }}</span> |
| | | </el-col> |
| | | <el-col :span="1" style="font-size: 22px;margin-top: 15px;margin-left:35px"> |
| | | <span>{{ day }}</span> |
| | | </el-col> |
| | | </el-row> |
| | | </div> |
| | | </div> |
| | | <div v-show="false"> |
| | | <div id="printMe4"> |
| | | <el-row> |
| | | <el-col :span="8" style="margin-top:666px;margin-left: 170px"> |
| | | <el-row> |
| | | <el-col :span="24" style="margin-top: 140px;margin-left: 70px"> |
| | | {{ value }} |
| | | </el-col> |
| | | <el-col :span="8" style="margin-top: 38px;margin-left: 70px;height: 60px"> |
| | | {{ issuingunit }} |
| | | </el-col> |
| | | <el-col style="margin-left: 70px"> |
| | | <el-col :span="2" style="margin-top: 17px;"> |
| | | <span>{{ year }}</span> |
| | | </el-col> |
| | | <el-col :span="1" style="margin-top: 17px;margin-left:18px"> |
| | | <span>{{ month }}</span> |
| | | </el-col> |
| | | <el-col :span="1" style="margin-top: 17px;margin-left:20px"> |
| | | <span>{{ day }}</span> |
| | | </el-col> |
| | | </el-col> |
| | | </el-row> |
| | | </el-col> |
| | | <el-col :span="12" style="margin-top: 386px;"> |
| | | <el-row style="margin-left: 225px"> |
| | | <el-col :span="8"> |
| | | <div style="width:20px;height:20px;" class="qrcode" id="qrcode4" ref="qrcode"/> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row style="margin-top: 58px;margin-left: 75px;padding-top: 20px;"> |
| | | <el-col :span="8"> |
| | | {{ name }} |
| | | </el-col> |
| | | </el-row> |
| | | <el-row style="margin-top: 38px;margin-left: 75px"> |
| | | <el-col :span="8"> |
| | | {{ mainpersonname }} |
| | | </el-col> |
| | | </el-row> |
| | | <el-row style="margin-top: 50px;margin-left: 75px;height: 35px"> |
| | | <el-col :span="8"> |
| | | <span>{{ province === "新疆维吾尔自治区" ? "新疆" : province }}{{ city }}{{ district }}{{ |
| | | address |
| | | }}</span> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row style="margin-top: 22px;margin-left: 75px"> |
| | | <el-col :span="8"> |
| | | {{ economictype }} |
| | | </el-col> |
| | | </el-row> |
| | | <el-row style="margin-top: 15px;margin-left: 75px;height: 35px"> |
| | | <el-col :span="8"> |
| | | <span>{{ storageprovince === "新疆维吾尔自治区" ? "新疆" : storageprovince }}{{ |
| | | storagecity |
| | | }}{{ storagedistrict }}{{ storageaddress }}</span><br> |
| | | <span>库区面积{{ area }}㎡</span>; |
| | | <span>库房面积{{ storagearea }}㎡</span> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row style="margin-top: 60px;margin-left: 75px;height: 80px"> |
| | | <el-col :span="8"> |
| | | <span>{{ dealingrange }}</span><br> |
| | | <span>核定药量:{{ powder }}kg</span> |
| | | <span>({{ reservebox }}箱)</span> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row style="margin-top: 89px;margin-left: 8px"> |
| | | <el-col :span="2" style="font-size: 16px;margin-left:5px"> |
| | | <span>{{ year1 }}</span> |
| | | </el-col> |
| | | <el-col :span="1" style="font-size: 16px;margin-left:0px"> |
| | | <span>{{ month1 }}</span> |
| | | </el-col> |
| | | <el-col :span="1" style="font-size: 16px;margin-left:1px"> |
| | | <span>{{ day1 }}</span> |
| | | </el-col> |
| | | <el-col :span="1" style="font-size: 16px;margin-left:17px"> |
| | | <span>{{ year2 }}</span> |
| | | </el-col> |
| | | <el-col :span="1" style="font-size: 16px;margin-left:22px"> |
| | | <span>{{ month2 }}</span> |
| | | </el-col> |
| | | <el-col :span="1" style="font-size: 16px;margin-left:5px"> |
| | | <span>{{ day2 }}</span> |
| | | </el-col> |
| | | </el-row> |
| | | </el-col> |
| | | </el-row> |
| | | </div> |
| | | </div> |
| | | <el-dialog :visible.sync="refuseVisible" append-to-body :close-on-click-modal="false" width="30%"> |
| | | <el-form ref="refuseForm" :model="refuseForm" label-position="right" label-width="80px"> |
| | | <el-form-item label="驳回理由:" prop="name"> |
| | | <el-input type="textarea" :rows="2" v-model="refuseForm.rejectnote"/> |
| | | </el-form-item> |
| | | </el-form> |
| | | <div align="right"> |
| | | <el-button type="primary" @click="submitRefuse()">确认</el-button> |
| | | </div> |
| | | </el-dialog> |
| | | <license-info-form ref="addFormRef" @getinfo="getLicenseListData"></license-info-form> |
| | | <license-delay-form ref="delay-form" @getinfo="getLicenseListData"></license-delay-form> |
| | | <license-mod-form ref="mod-form" @getinfo="getLicenseListData"></license-mod-form> |
| | | </div> |
| | | </template> |
| | | |
| | | <style scoped lang="scss"> |
| | | <script> |
| | | import { |
| | | computePageCount, |
| | | formatDateDay |
| | | } from '../../../utils/licence' |
| | | import { |
| | | getLicenseList, |
| | | getExportLicense, |
| | | reviewLicenseInfo, |
| | | deleteById, |
| | | deleteCertificate, |
| | | getCityListData, |
| | | getProvinceListData, |
| | | refuseLicense |
| | | } from "../../../api/monitor/permit"; |
| | | import Cookies from "js-cookie"; |
| | | import XLSX from 'xlsx-js-style'; |
| | | // import QRCode from "qrcodejs2"; |
| | | import LicenseInfoForm from "./components/licenseInfoForm"; |
| | | import LicenseDelayForm from "./components/licenseDelayForm" |
| | | import LicenseModForm from "./components/licenseModForm" |
| | | import {ElMessage} from "element-plus"; |
| | | |
| | | export default { |
| | | name: "carrier", |
| | | data() { |
| | | return { |
| | | cityList: [], |
| | | provinceList: [], |
| | | districtList: [], |
| | | streetList: [], |
| | | committeeList: [], |
| | | validTime1: [], |
| | | validTime2: [], |
| | | refuseVisible: false, |
| | | enterprisenumber: '', |
| | | value: '', |
| | | code: '', |
| | | name: '', |
| | | mainpersonname: '11', |
| | | province: '', |
| | | city: '', |
| | | district: '', |
| | | address: '', |
| | | area: '', |
| | | storageaddress: '', |
| | | storagearea: '', |
| | | storageprovince: '', |
| | | storagecity: '', |
| | | storagedistrict: '', |
| | | economictype: '', |
| | | dealingrange: '', |
| | | reservebox: '', |
| | | powder: '', |
| | | effectdate: '', |
| | | noeffectdate: '', |
| | | issuingunit: '', |
| | | year: '', |
| | | month: '', |
| | | day: '', |
| | | year1: '', |
| | | month1: '', |
| | | day1: '', |
| | | year2: '', |
| | | month2: '', |
| | | day2: '', |
| | | type: '', |
| | | licensetype: '', |
| | | dealingtype: '', |
| | | tableKey: 0, |
| | | listLoading: false, |
| | | approveVisible: false, |
| | | pageSize: 10, |
| | | recordTotal: 0, |
| | | currentPage: 1, |
| | | pageTotal: 0, |
| | | ruleForm: {}, |
| | | isSupervision: '', |
| | | roleType: '', |
| | | params: { |
| | | pageIndex: 1, |
| | | pageSize: 10, |
| | | sort: '', |
| | | order: "ASC", |
| | | name: '', |
| | | type: '', |
| | | province: '', |
| | | city: '', |
| | | district: '', |
| | | starttime1: '', |
| | | endtime1: '', |
| | | starttime2: '', |
| | | endtime2: '', |
| | | reviewstatus: '', |
| | | validstatus: '', |
| | | licensecode: '', |
| | | }, |
| | | dataForm: { |
| | | signperson: '', |
| | | issueperson: '', |
| | | issuepersonphone: '', |
| | | id: '', |
| | | }, |
| | | listQuery: { |
| | | filter: { |
| | | code: "", |
| | | page: "approve", |
| | | }, |
| | | pageIndex: 1, |
| | | pageSize: 100, |
| | | }, |
| | | refuseForm: { |
| | | id: '', |
| | | rejectnote: '', |
| | | }, |
| | | searchContent: '', |
| | | licenseList: [], |
| | | reviewStatusList: [{ |
| | | id: 0, |
| | | name: '等待提交' |
| | | }, |
| | | { |
| | | id: 1, |
| | | name: '等待审核' |
| | | }, |
| | | { |
| | | id: 2, |
| | | name: '审核通过' |
| | | }, |
| | | { |
| | | id: 3, |
| | | name: '审核驳回' |
| | | }, |
| | | ], |
| | | licenseStatusList: [{ |
| | | id: 'NEW', |
| | | name: '新发' |
| | | }, |
| | | { |
| | | id: 'POSTP', |
| | | name: '延期' |
| | | }, |
| | | { |
| | | id: 'MOD', |
| | | name: '变更' |
| | | }, |
| | | ], |
| | | validStatusList: [{ |
| | | id: -1, |
| | | name: '已注销' |
| | | }, |
| | | { |
| | | id: 1, |
| | | name: '有效' |
| | | }, |
| | | { |
| | | id: -2, |
| | | name: '已过期' |
| | | } |
| | | ], |
| | | typeList: [{ |
| | | id: 1, |
| | | name: '烟花爆竹经营(生产)许可证' |
| | | }, |
| | | { |
| | | id: 2, |
| | | name: '烟花爆竹经营(批发)许可证' |
| | | }, |
| | | { |
| | | id: 3, |
| | | name: '烟花爆竹经营(长期零售)许可证' |
| | | }, |
| | | { |
| | | id: 4, |
| | | name: '烟花爆竹经营(短期零售)许可证' |
| | | } |
| | | ], |
| | | licensetypeList: [{ |
| | | id: 1, |
| | | name: '长期' |
| | | }, |
| | | { |
| | | id: 2, |
| | | name: '临时' |
| | | } |
| | | ], |
| | | dealingtypeList: [{ |
| | | id: 1, |
| | | name: '专柜' |
| | | }, |
| | | { |
| | | id: 2, |
| | | name: '专店' |
| | | } |
| | | ], |
| | | printObj1: { |
| | | id: 'printMe1', |
| | | extraHead: '<meta http-equiv="Content-Language" content="zh-cn"/>' |
| | | }, |
| | | printObj2: { |
| | | id: 'printMe2', |
| | | extraHead: '<meta http-equiv="Content-Language" content="zh-cn"/>' |
| | | }, |
| | | printObj3: { |
| | | id: 'printMe3', |
| | | extraHead: '<meta http-equiv="Content-Language" content="zh-cn"/>' |
| | | }, |
| | | printObj4: { |
| | | id: 'printMe4', |
| | | extraHead: '<meta http-equiv="Content-Language" content="zh-cn"/>' |
| | | }, |
| | | } |
| | | }, |
| | | components: { |
| | | LicenseInfoForm, |
| | | LicenseDelayForm, |
| | | LicenseModForm |
| | | }, |
| | | created() { |
| | | this.isSupervision = Cookies.get('isSupervision') |
| | | this.roleType = Cookies.get('roleType') |
| | | this.getProvince() |
| | | this.getLicenseListData() |
| | | console.log(this.isSupervision, this.roleType, 6666666666) |
| | | }, |
| | | |
| | | methods: { |
| | | giveDetail(val) { |
| | | console.log(val) |
| | | this.code = val.code |
| | | this.name = val.name |
| | | this.mainpersonname = val.mainpersonname |
| | | this.province = val.province |
| | | this.city = val.city |
| | | this.district = val.district |
| | | this.address = val.address |
| | | if (val.type === 2) { |
| | | if (JSON.parse(val.licenseStorage)[0] && JSON.parse(val.licenseStorage)[0].area) { |
| | | this.area = JSON.parse(val.licenseStorage)[0].area |
| | | } else { |
| | | this.area = 0 |
| | | } |
| | | this.storagearea = JSON.parse(val.licenseStorage)[0].storagearea |
| | | this.powder = JSON.parse(val.licenseStorage)[0].powder |
| | | } else if (val.type === 3 || val.type === 4) { |
| | | this.area = val.dealingarea |
| | | this.powder = val.reservekg |
| | | if (val.licensetype === 1) { |
| | | this.licensetype = '长期零售' |
| | | } else { |
| | | this.licensetype = '短期零售' |
| | | } |
| | | if (val.dealingtype === 2 || val.dealingtype === 4) { |
| | | this.dealingtype = '专店' |
| | | } else { |
| | | this.dealingtype = '专柜' |
| | | } |
| | | } |
| | | |
| | | this.reservebox = val.reservebox |
| | | this.storageaddress = val.storageaddress |
| | | this.storageprovince = val.storageprovince |
| | | this.storagecity = val.storagecity |
| | | this.storagedistrict = val.storagedistrict |
| | | //带出口的特殊情况 |
| | | if (val.remark.indexOf("批发出口") != -1) { |
| | | this.dealingrange = val.dealingRangeStr + " (批发出口) ★★★" |
| | | } else { |
| | | this.dealingrange = val.dealingRangeStr + " ★★★" |
| | | } |
| | | // 乌鲁木齐局临时自定义许可范围 |
| | | // this.dealingrange="烟花类(C级、D级)、爆竹类(C级)、喷花类(C级、D级)、旋转类(C级、D级)、吐珠类(C级)、玩具类(C级、D级)、组合烟花类(C级、D级),储存能力76吨;烟花类储存(A类储存能力2吨、B类储存能力5吨,仅限于储存,储存库为4号库) ★★★" |
| | | |
| | | this.effectdate = formatDateDay(val.effectdate) |
| | | this.noeffectdate = formatDateDay(val.noeffectdate) |
| | | this.issuingunit = val.issuingunit |
| | | this.value = val.licensecode |
| | | this.type = val.type |
| | | this.enterprisenumber = val.enterprisenumber |
| | | this.year = val.issuingdate.split('-')[0] |
| | | this.month = val.issuingdate.split('-')[1] |
| | | this.day = val.issuingdate.split('-')[2] |
| | | this.year1 = val.effectdate.split('-')[0] |
| | | this.month1 = val.effectdate.split('-')[1] |
| | | this.day1 = val.effectdate.split('-')[2] |
| | | this.year2 = val.noeffectdate.split('-')[0] |
| | | this.month2 = val.noeffectdate.split('-')[1] |
| | | this.day2 = val.noeffectdate.split('-')[2] |
| | | this.economictype = val.economictype |
| | | this.$nextTick(() => { |
| | | this.qrcode() |
| | | }) |
| | | }, |
| | | //打印正本 |
| | | giveData(val) { |
| | | console.log(JSON.parse(val.licenseStorage)[0], '>>>>') |
| | | this.code = val.code |
| | | this.name = val.name |
| | | this.mainpersonname = val.mainpersonname |
| | | this.province = val.province |
| | | this.city = val.city |
| | | this.district = val.district |
| | | this.address = val.address |
| | | if (val.type === 2) { |
| | | if (JSON.parse(val.licenseStorage)[0]) { |
| | | this.area = JSON.parse(val.licenseStorage)[0].area |
| | | this.storagearea = JSON.parse(val.licenseStorage)[0].storagearea |
| | | this.powder = JSON.parse(val.licenseStorage)[0].powder |
| | | } else { |
| | | this.area = 0 |
| | | this.storagearea = 0 |
| | | this.powder = 0 |
| | | } |
| | | // this.storagearea = JSON.parse(val.licenseStorage)[0].storagearea |
| | | // this.powder = JSON.parse(val.licenseStorage)[0].powder |
| | | } else if (val.type === 3 || val.type === 4) { |
| | | this.area = val.dealingarea |
| | | this.powder = val.reservekg |
| | | if (val.licensetype === 1) { |
| | | this.licensetype = '长期零售' |
| | | } else { |
| | | this.licensetype = '短期零售' |
| | | } |
| | | if (val.dealingtype === 2 || val.dealingtype === 4) { |
| | | this.dealingtype = '专店' |
| | | } else { |
| | | this.dealingtype = '专柜' |
| | | } |
| | | } |
| | | |
| | | this.storageaddress = val.storageaddress |
| | | this.storageprovince = val.storageprovince |
| | | this.storagecity = val.storagecity |
| | | this.storagedistrict = val.storagedistrict |
| | | // 带出口的特殊情况 |
| | | if (val.remark.indexOf("批发出口") != -1) { |
| | | this.dealingrange = val.dealingRangeStr + " (批发出口) ★★★" |
| | | } else { |
| | | this.dealingrange = val.dealingRangeStr + " ★★★" |
| | | } |
| | | // 乌鲁木齐局临时自定义许可范围 |
| | | // this.dealingrange="烟花类(C级、D级)、爆竹类(C级)、喷花类(C级、D级)、旋转类(C级、D级)、吐珠类(C级)、玩具类(C级、D级)、组合烟花类(C级、D级),储存能力76吨;烟花类储存(A类储存能力2吨、B类储存能力5吨,仅限于储存,储存库为4号库) ★★★" |
| | | |
| | | this.reservebox = val.reservebox |
| | | this.effectdate = formatDateDay(val.effectdate) |
| | | this.noeffectdate = formatDateDay(val.noeffectdate) |
| | | this.issuingunit = val.issuingunit |
| | | this.value = val.licensecode |
| | | this.type = val.type |
| | | this.enterprisenumber = val.enterprisenumber |
| | | this.year = val.issuingdate.split('-')[0] |
| | | this.month = val.issuingdate.split('-')[1] |
| | | this.day = val.issuingdate.split('-')[2] |
| | | this.year1 = val.effectdate.split('-')[0] |
| | | this.month1 = val.effectdate.split('-')[1] |
| | | this.day1 = val.effectdate.split('-')[2] |
| | | this.year2 = val.noeffectdate.split('-')[0] |
| | | this.month2 = val.noeffectdate.split('-')[1] |
| | | this.day2 = val.noeffectdate.split('-')[2] |
| | | this.economictype = val.economictype |
| | | this.$nextTick(() => { |
| | | this.qrcode() |
| | | }) |
| | | }, |
| | | qrcode() { |
| | | if (this.enterprisenumber != '') { |
| | | document.getElementById("qrcode").innerHTML = "" |
| | | let qrcode = new QRCode('qrcode', { |
| | | width: 125, |
| | | height: 125, // 高度 |
| | | text: this.enterprisenumber, // 二维码内容 |
| | | // render: 'canvas' , // 设置渲染方式(有两种方式 table和canvas,默认是canvas) |
| | | background: '#f0f', // 背景色 |
| | | // foreground: '#ff0' // 前景色 |
| | | |
| | | }) |
| | | |
| | | document.getElementById("qrcode2").innerHTML = "" |
| | | let qrcode2 = new QRCode('qrcode2', { |
| | | width: 90, |
| | | height: 90, // 高度 |
| | | text: this.enterprisenumber, // 二维码内容 |
| | | // render: 'canvas' , // 设置渲染方式(有两种方式 table和canvas,默认是canvas) |
| | | background: '#f0f', // 背景色 |
| | | // foreground: '#ff0' // 前景色 |
| | | |
| | | }) |
| | | |
| | | document.getElementById("qrcode3").innerHTML = "" |
| | | let qrcode3 = new QRCode('qrcode3', { |
| | | width: 125, |
| | | height: 125, // 高度 |
| | | text: this.enterprisenumber, // 二维码内容 |
| | | // render: 'canvas' , // 设置渲染方式(有两种方式 table和canvas,默认是canvas) |
| | | background: '#f0f', // 背景色 |
| | | // foreground: '#ff0' // 前景色 |
| | | |
| | | }) |
| | | |
| | | document.getElementById("qrcode4").innerHTML = "" |
| | | let qrcode4 = new QRCode('qrcode4', { |
| | | width: 75, |
| | | height: 75, // 高度 |
| | | text: this.enterprisenumber, // 二维码内容 |
| | | // render: 'canvas' , // 设置渲染方式(有两种方式 table和canvas,默认是canvas) |
| | | background: '#f0f', // 背景色 |
| | | // foreground: '#ff0' // 前景色 |
| | | |
| | | }) |
| | | } |
| | | }, |
| | | async getLicenseListData() { |
| | | this.listLoading = true |
| | | if (this.validTime1 != null && this.validTime1.length > 0) { |
| | | this.params.starttime1 = this.validTime1[0] |
| | | this.params.endtime1 = this.validTime1[1] |
| | | } else { |
| | | this.params.starttime1 = '' |
| | | this.params.endtime1 = '' |
| | | |
| | | } |
| | | |
| | | if (this.validTime2 != null && this.validTime2.length > 0) { |
| | | this.params.starttime2 = this.validTime2[0] |
| | | this.params.endtime2 = this.validTime2[1] |
| | | } else { |
| | | this.params.starttime2 = '' |
| | | this.params.endtime2 = '' |
| | | } |
| | | |
| | | let res = await getLicenseList(this.params) |
| | | if (res.code === "200") { |
| | | this.recordTotal = res.result.totalCount |
| | | this.pageSize = res.result.pageSize |
| | | this.pageTotal = computePageCount(res.result.totalCount, res.result.pageSize) |
| | | this.currentPage = res.result.current |
| | | this.licenseList = res.result.result |
| | | } |
| | | this.listLoading = false |
| | | }, |
| | | openLicenseForm(title, value) { |
| | | this.$refs.addFormRef.showLicenseForm(title, value, this.isSupervision, this.roleType) |
| | | }, |
| | | searchData() { |
| | | this.params.pageIndex = 1 |
| | | this.getLicenseListData() |
| | | }, |
| | | reset() { |
| | | this.params = { |
| | | pageIndex: 1, |
| | | pageSize: 10, |
| | | sort: '', |
| | | order: "ASC", |
| | | name: '', |
| | | type: '', |
| | | province: '', |
| | | city: '', |
| | | district: '', |
| | | starttime1: '', |
| | | endtime1: '', |
| | | starttime2: '', |
| | | endtime2: '', |
| | | reviewstatus: '', |
| | | validstatus: '', |
| | | licensecode: '', |
| | | } |
| | | this.validTime1 = [] |
| | | this.validTime2 = [] |
| | | this.getLicenseListData() |
| | | }, |
| | | handleSizeChange: function (val) { |
| | | this.params.pageSize = val |
| | | this.getLicenseListData() |
| | | }, |
| | | handleCurrentChange: function (val) { |
| | | this.params.pageIndex = val |
| | | this.getLicenseListData() |
| | | }, |
| | | commit(val) { |
| | | this.$confirm('提交此条信息,是否继续', '提示', { |
| | | confirmButtonText: '确定', |
| | | cancelButtonText: '取消', |
| | | type: 'warning', |
| | | }).then(() => { |
| | | reviewLicenseInfo({ |
| | | id: val, |
| | | reviewstatus: 1 |
| | | }).then(() => { |
| | | this.getLicenseListData() |
| | | this.$notify({ |
| | | title: '成功', |
| | | message: '提交成功', |
| | | type: 'success', |
| | | duration: 2000, |
| | | }) |
| | | }).catch(error => { |
| | | ElMessage.warning(error) |
| | | }) |
| | | }) |
| | | }, |
| | | //删除 |
| | | deleteById(val) { |
| | | this.$confirm('删除此条信息,是否继续', '提示', { |
| | | confirmButtonText: '确定', |
| | | cancelButtonText: '取消', |
| | | type: 'warning', |
| | | }).then(() => { |
| | | deleteById(val).then(response => { |
| | | const res = response.data; |
| | | |
| | | if (res.code === "200") { |
| | | this.$message({ |
| | | message: '删除成功', |
| | | type: 'success' |
| | | }); |
| | | this.getLicenseListData() |
| | | } else { |
| | | ElMessage.warning(res.message) |
| | | } |
| | | }).catch(error => { |
| | | ElMessage.warning(error) |
| | | }) |
| | | }) |
| | | }, |
| | | sortChange() { |
| | | |
| | | }, |
| | | //获取地区 |
| | | async changeArea(value) { |
| | | if (value === 'province') { |
| | | this.params.city = '' |
| | | this.params.district = '' |
| | | this.areaListQuery = { |
| | | type: 2, |
| | | parenttype: 1, |
| | | parentname: this.params.province, |
| | | } |
| | | let res = await getCityListData(this.areaListQuery) |
| | | if (res.code === "200") { |
| | | this.cityList = res.result |
| | | } |
| | | } else if (value === 'city') { |
| | | this.params.district = '' |
| | | this.areaListQuery = { |
| | | type: 3, |
| | | parenttype: 2, |
| | | parentname: this.params.city, |
| | | } |
| | | let res = await getCityListData(this.areaListQuery) |
| | | if (res.code === "200") { |
| | | this.districtList = res.result |
| | | } |
| | | } |
| | | }, //市、镇、街道、委员会 |
| | | async getProvince() { |
| | | let res = await getProvinceListData() |
| | | if (res.code === "200") { |
| | | this.provinceList = res.result.provinceList |
| | | } |
| | | }, |
| | | |
| | | async exportRetail() { |
| | | let params = { |
| | | ...this.params |
| | | } |
| | | params.type = 3 |
| | | params.reviewstatus = 2 |
| | | const res = await getExportLicense(params) |
| | | if (res.code == '200') { |
| | | if(res.result && res.result.length>0){ |
| | | let mainData = res.result |
| | | const data = mainData.map((item,index)=>{ |
| | | return [ |
| | | item.licensecode, |
| | | item.issuingunit, |
| | | item.issuingcode, |
| | | item.mainpersonname, |
| | | '自然人', |
| | | '身份证', |
| | | item.mainpersonidcardnum, |
| | | item.issuingdate, |
| | | item.effectdate, |
| | | item.noeffectdate, |
| | | item.effectdate, |
| | | item.address, |
| | | item.issuingdate, |
| | | item.code, |
| | | item.reservekg, |
| | | item.noeffectdate, |
| | | item.licensecode, |
| | | this.licensetypeList.filter(it => it.id === item |
| | | .licensetype).name, |
| | | item.dealingRangeStr, |
| | | item.dealingarea, |
| | | item.mainpersonname, |
| | | item.issuingunit, |
| | | item.name, |
| | | this.dealingtypeList.filter(it => it.id === item |
| | | .dealingtype).name |
| | | ] |
| | | }) |
| | | console.log(data,'data') |
| | | // 定义表头 |
| | | const headers = [ |
| | | ['证照编号', |
| | | '颁发单位', |
| | | '颁发单位统一社会信用代码', |
| | | '持有人姓名', |
| | | '持有人类型', |
| | | '持有人证件类型', |
| | | '持有人证件号码', |
| | | '颁证日期', |
| | | '有效期(起始)', |
| | | '有效期(截止)', |
| | | '有效期起', |
| | | '单位地址', |
| | | '发证日期', |
| | | '统一社会信用代码', |
| | | '核定储量', |
| | | '有效期至', |
| | | '编号', |
| | | '许可类型', |
| | | '许可范围', |
| | | '经营面积', |
| | | '主要负责人', |
| | | '发证机关', |
| | | '单位名称', |
| | | '经营方式'] |
| | | ] |
| | | // 创建工作表 |
| | | const ws = XLSX.utils.aoa_to_sheet([ |
| | | ...headers, // 表头 |
| | | ...data, // 数据 |
| | | ]) |
| | | const dataRowCount = data.length; |
| | | const totalRows = dataRowCount + 1; // 标题、固定行和数据行的总数 |
| | | // 设置列宽,计算每列的最大宽度 |
| | | const MIN_COL_WIDTH = 40; |
| | | const colWidths = []; |
| | | for (let c = 0; c < 24; c++) { |
| | | let maxLength = 0; |
| | | // 计算每列最大单元格内容长度 |
| | | for (let r = 0; r < totalRows; r++) { |
| | | const cellRef = `${String.fromCharCode(65 + c)}${r + 1}`; // 获取每个单元格的引用 |
| | | const cell = ws[cellRef]; |
| | | if (cell && cell.v) { |
| | | if(cell.v == '序号'){ |
| | | maxLength = 1 |
| | | }else { |
| | | maxLength = Math.max(maxLength, cell.v.toString().length); |
| | | } |
| | | |
| | | } |
| | | } |
| | | // 根据最大长度设置列宽,添加额外的空间 |
| | | colWidths[c] = { wpx: Math.max(maxLength * 15, MIN_COL_WIDTH) }; // 你可以根据需要调整乘数 |
| | | } |
| | | // 设置工作表的列宽 |
| | | ws['!cols'] = colWidths; |
| | | // 设置行高,统一调整上下间距 |
| | | const rowHeight = 24; // 设置每一行的行高(可以根据需要调整) |
| | | for (let r = 0; r < totalRows; r++) { |
| | | ws['!rows'] = ws['!rows'] || []; |
| | | ws['!rows'][r] = { hpx: rowHeight }; // 设置行高,单位是像素 |
| | | } |
| | | // 创建工作簿 |
| | | const wb = XLSX.utils.book_new(); |
| | | XLSX.utils.book_append_sheet(wb, ws, "Sheet1") |
| | | // 使用 Blob 和 URL 触发文件下载 |
| | | const wbout = XLSX.write(wb, { bookType: 'xlsx', type: 'array' }) |
| | | const blob = new Blob([wbout], { type: 'application/octet-stream' }) |
| | | const url = URL.createObjectURL(blob) |
| | | // 创建下载链接并触发下载 |
| | | const a = document.createElement('a') |
| | | a.href = url; |
| | | a.download = '烟花爆竹经营(零售)许可证台账.xlsx' // 设置下载文件名 |
| | | document.body.appendChild(a) |
| | | a.click(); |
| | | document.body.removeChild(a) |
| | | // 释放 URL 对象 |
| | | URL.revokeObjectURL(url) |
| | | }else{ |
| | | this.$message({ |
| | | type: 'warning', |
| | | message: '无数据可导出' |
| | | }) |
| | | } |
| | | } else { |
| | | ElMessage.warning(res.msg) |
| | | } |
| | | }, |
| | | |
| | | async exportWholesale() { |
| | | let params = { |
| | | ...this.params |
| | | } |
| | | params.type = 2 |
| | | params.reviewstatus = 2 |
| | | const res = await getExportLicense(params) |
| | | if (res.code == '200') { |
| | | if(res.result && res.result.length>0){ |
| | | let mainData = res.result |
| | | const data = mainData.map((item,index)=>{ |
| | | return [ |
| | | item.licensecode, |
| | | item.issuingunit, |
| | | item.issuingcode, |
| | | item.mainpersonname, |
| | | '自然人', |
| | | '身份证', |
| | | item.mainpersonidcardnum, |
| | | item.issuingdate, |
| | | item.effectdate, |
| | | item.noeffectdate, |
| | | item.dealingRangeStr, |
| | | item.mainpersonname, |
| | | [item.province, item.city, item.district].join( |
| | | "-"), |
| | | eval(item.licenseStorage).reduce((sum, e) => |
| | | sum + Number(e.area || 0), 0), |
| | | item.address, |
| | | item.issuingdate, |
| | | item.licensecode, |
| | | item.name, |
| | | item.noeffectdate, |
| | | item.reservekg, |
| | | item.code, |
| | | item.effectdate, |
| | | eval(item.licenseStorage).reduce((sum, e) => |
| | | sum + Number(e.storagearea || 0), 0), |
| | | item.issuingunit |
| | | ] |
| | | }) |
| | | console.log(data,'data') |
| | | // 定义表头 |
| | | const headers = [ |
| | | ['证照编号', |
| | | '颁发单位', |
| | | '颁发单位统一社会信用代码', |
| | | '持有人姓名', |
| | | '持有人类型', //自然人 |
| | | '持有人证件类型', |
| | | '持有人证件号码', |
| | | '颁证日期', |
| | | '有效期(起始)', |
| | | '有效期(截止)', |
| | | '许可范围', |
| | | '主要负责人', |
| | | '仓储地址', |
| | | '库区面积', |
| | | '注册地址', |
| | | '发证日期', |
| | | '编号', |
| | | '企业名称', |
| | | '有效期至', |
| | | '核定药量', |
| | | '统一社会信用代码', |
| | | '有效期起', |
| | | '库房面积', |
| | | '发证机关'] |
| | | ] |
| | | // 创建工作表 |
| | | const ws = XLSX.utils.aoa_to_sheet([ |
| | | ...headers, // 表头 |
| | | ...data, // 数据 |
| | | ]) |
| | | const dataRowCount = data.length; |
| | | const totalRows = dataRowCount + 1; // 标题、固定行和数据行的总数 |
| | | // 设置列宽,计算每列的最大宽度 |
| | | const MIN_COL_WIDTH = 40; |
| | | const colWidths = []; |
| | | for (let c = 0; c < 24; c++) { |
| | | let maxLength = 0; |
| | | // 计算每列最大单元格内容长度 |
| | | for (let r = 0; r < totalRows; r++) { |
| | | const cellRef = `${String.fromCharCode(65 + c)}${r + 1}`; // 获取每个单元格的引用 |
| | | const cell = ws[cellRef]; |
| | | if (cell && cell.v) { |
| | | if(cell.v == '序号'){ |
| | | maxLength = 1 |
| | | }else { |
| | | maxLength = Math.max(maxLength, cell.v.toString().length); |
| | | } |
| | | |
| | | } |
| | | } |
| | | // 根据最大长度设置列宽,添加额外的空间 |
| | | colWidths[c] = { wpx: Math.max(maxLength * 15, MIN_COL_WIDTH) }; // 你可以根据需要调整乘数 |
| | | } |
| | | // 设置工作表的列宽 |
| | | ws['!cols'] = colWidths; |
| | | // 设置行高,统一调整上下间距 |
| | | const rowHeight = 24; // 设置每一行的行高(可以根据需要调整) |
| | | for (let r = 0; r < totalRows; r++) { |
| | | ws['!rows'] = ws['!rows'] || []; |
| | | ws['!rows'][r] = { hpx: rowHeight }; // 设置行高,单位是像素 |
| | | } |
| | | // 创建工作簿 |
| | | const wb = XLSX.utils.book_new(); |
| | | XLSX.utils.book_append_sheet(wb, ws, "Sheet1") |
| | | // 使用 Blob 和 URL 触发文件下载 |
| | | const wbout = XLSX.write(wb, { bookType: 'xlsx', type: 'array' }) |
| | | const blob = new Blob([wbout], { type: 'application/octet-stream' }) |
| | | const url = URL.createObjectURL(blob) |
| | | // 创建下载链接并触发下载 |
| | | const a = document.createElement('a') |
| | | a.href = url; |
| | | a.download = '烟花爆竹经营(批发)许可证台账.xlsx' // 设置下载文件名 |
| | | document.body.appendChild(a) |
| | | a.click(); |
| | | document.body.removeChild(a) |
| | | // 释放 URL 对象 |
| | | URL.revokeObjectURL(url) |
| | | }else{ |
| | | this.$message({ |
| | | type: 'warning', |
| | | message: '无数据可导出' |
| | | }) |
| | | } |
| | | } else { |
| | | ElMessage.warning(res.msg) |
| | | } |
| | | }, |
| | | |
| | | refuse(val) { |
| | | this.refuseForm.id = val |
| | | this.refuseVisible = true |
| | | }, |
| | | submitRefuse() { |
| | | refuseLicense(this.refuseForm).then((res) => { |
| | | if (res.code === '200') { |
| | | this.getLicenseListData() |
| | | this.refuseVisible = false |
| | | this.$notify({ |
| | | title: '成功', |
| | | duration: 2000, |
| | | message: '驳回成功', |
| | | type: 'success' |
| | | }) |
| | | } else { |
| | | this.$message({ |
| | | type: 'warning', |
| | | message: res.message |
| | | }) |
| | | } |
| | | }) |
| | | }, |
| | | openDelayLicenseDialog(value) { |
| | | this.$refs['delay-form'].showLicenseForm('延期', value, this.isSupervision, this.roleType) |
| | | }, |
| | | openModLicenseDialog(value) { |
| | | this.$refs['mod-form'].showLicenseForm('变更', value, this.isSupervision, this.roleType) |
| | | }, |
| | | |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style scoped> |
| | | .basic_search { |
| | | display: inline-block; |
| | | margin-right: 32px; |
| | | margin-bottom: 18px; |
| | | } |
| | | |
| | | .carrier_search { |
| | | display: inline-block; |
| | | } |
| | | |
| | | .carrier_search_input { |
| | | width: 200px; |
| | | } |
| | | </style> |
| | | |