| | |
| | | <a-button type="danger" @click="deliverTask" v-if="!unittype || unittype == 1">下发更新任务</a-button> |
| | | </div> |
| | | </div> |
| | | <div style="margin: 20px 0"> |
| | | <a-button type="primary" style="margin-right: 10px" @click="editData('add',{})">新增</a-button> |
| | | <a-button type="primary" @click="massImport()">批量导入</a-button> |
| | | <div style="margin: 20px 0;display: flex;justify-content: space-between"> |
| | | <div> |
| | | <a-button type="primary" style="margin-right: 10px" @click="editData('add',{})">新增</a-button> |
| | | <a-button type="primary" @click="massImport()">批量导入</a-button> |
| | | </div> |
| | | <a-button type="primary" @click="openExport">批量导出</a-button> |
| | | |
| | | <!-- <download-excel :data="json_data" :fields="json_fields" name="责任人导出.xlsx" >--> |
| | | <!-- <a-button type="primary">批量导出</a-button>--> |
| | | <!-- </download-excel>--> |
| | | |
| | | </div> |
| | | |
| | | <div class="table-cont"> |
| | | <a-table :columns="columns" :data-source="tableData" :pagination="pagination" :rowKey="record=>record.id.toString()" bordered> |
| | | <template #index="text,record,index"> |
| | |
| | | </a-form-model-item> |
| | | </a-form-model> |
| | | </a-modal> |
| | | <a-modal v-model="exportDialog" title="导出通讯录" :footer="null" centered :afterClose="closeDialog"> |
| | | <a-form-model ref="ruleForm" :label-col="labelCol" :wrapper-col="wrapperCol" :colon="false"> |
| | | <a-form-model-item label="行政区划" > |
| | | <a-tree-select |
| | | v-model="exportAreaId" |
| | | style="width: 100%" |
| | | :dropdown-style="{ maxHeight: '400px', overflow: 'auto' }" |
| | | :tree-data="treeData" |
| | | placeholder="请选择行政区划" |
| | | :replaceFields="replaceFields" |
| | | @change="changeArea" |
| | | /> |
| | | </a-form-model-item> |
| | | <div v-if=" json_data.length>0"> |
| | | <download-excel :data="json_data" :fields="json_fields" name="责任人导出.xlsx" style="display: flex;justify-content: flex-end"> |
| | | <a-button type="primary">批量导出</a-button> |
| | | </download-excel> |
| | | </div> |
| | | <div v-else style="text-align: center;color: salmon">暂无人员导出</div> |
| | | |
| | | </a-form-model> |
| | | </a-modal> |
| | | </div> |
| | | </template> |
| | | |
| | |
| | | } from "@/api/contactBook"; |
| | | import subMenu from "@/views/Admin/contactBook/subMenu"; |
| | | import contactorsMod from "@/views/Admin/components/contactorsMod" |
| | | import {importUser} from "@/api/user"; |
| | | import {getExportData, importUser} from "@/api/user"; |
| | | import importNew from "@/assets/importNew.xlsx"; |
| | | import JSONBig from 'json-bigint' |
| | | export default { |
| | |
| | | value: 'id', |
| | | children: 'children' |
| | | }, |
| | | currentId: null |
| | | currentId: null, |
| | | exportDialog: false, |
| | | areaId: null, |
| | | areaData: [], |
| | | exportAreaId: null, |
| | | replaceFields: { |
| | | children:'children', |
| | | title:'name', |
| | | key:'id', |
| | | value: 'code' |
| | | }, |
| | | json_fields: { |
| | | 'ID': 'id', |
| | | '姓名': 'name', |
| | | '所属当前级别行政区划': 'districtName', |
| | | '区划编号': 'districtCode', |
| | | '组织架构': 'orgStructureName', |
| | | '单位': 'company', |
| | | '职务': 'post', |
| | | '电话号码': 'phone', |
| | | '责任类型': { |
| | | field: 'orgUserTypes', |
| | | callback: (value) => { |
| | | return value?value.map(i=>i.typeName + '(' + i.orgUserTags.map(j=>j.tagName).join('/') +')').join(','): '' |
| | | } |
| | | }, |
| | | }, |
| | | json_data: [] |
| | | } |
| | | }, |
| | | created() { |
| | |
| | | clearMod(){ |
| | | this.fileList = [] |
| | | }, |
| | | closeDialog(){ |
| | | this.exportAreaId = null; |
| | | this.json_data = []; |
| | | this.exportDialog = false; |
| | | }, |
| | | async getStructure(){ |
| | | const t = this |
| | | const res = await getStructure() |
| | |
| | | t.$message.warning(res.data.msg) |
| | | } |
| | | }, |
| | | |
| | | |
| | | filterBranches(branches, targetNames) { |
| | | return branches.filter(branch => { |
| | |
| | | } |
| | | }, |
| | | |
| | | openExport() { |
| | | this.exportDialog = true |
| | | }, |
| | | |
| | | handleClick(e) { |
| | | this.currentId = e.keyPath[1]?e.keyPath[1].split('-')[0]:e.keyPath[0].split('-')[0] |
| | |
| | | }, |
| | | }); |
| | | }, |
| | | changeArea(value){ |
| | | console.log('val',this.exportAreaId) |
| | | getExportData(this.exportAreaId).then(res => { |
| | | if(res.data.code == 100){ |
| | | this.json_data = res.data.data |
| | | }else{ |
| | | this.$message.warning(res.data.msg); |
| | | } |
| | | }) |
| | | console.log('this.json_data',this.json_data) |
| | | }, |
| | | |
| | | async deliverTask(){ |
| | | const t = this |