Browse Source

智能导入

dev-新新版
jiangyy 3 years ago
parent
commit
2e8f5895d2
  1. 188
      src/views/modules/base/smartImport.vue

188
src/views/modules/base/smartImport.vue

@ -23,6 +23,7 @@
</el-upload>
<el-button class="diy-button--white"
size="small"
style="margin-left:10px"
@click="handleExportModule()">下载模板</el-button>
</div>
@ -43,35 +44,43 @@
<el-table-column prop="deptName"
header-align="center"
align="center"
label="部门"
label="表格信息"
min-width="100">
</el-table-column>
<el-table-column prop="dataName"
header-align="center"
align="center"
label="数据名称"
label="平台对应信息"
min-width="110">
</el-table-column>
<el-table-column label="操作"
fixed="right"
header-align="center"
align="center"
width="350">
<template slot-scope="scope">
<el-switch style="margin-left:20px"
v-model="scope.row.stateShow"
@change="disableCategory(scope.row,scope.$index)">
</el-switch>
<el-button size="small"
type="text"
class="div-table-button--blue"
style="margin-left:20px"
@click="editShow(scope.row)">配置</el-button>
<el-select class="item_width_sel"
v-model="scope.row.itemGroupId"
size="small"
placeholder="请选择">
<el-option v-for="item in groupList"
@click.native="handleSelGroup(scope.$index,item)"
:key="item.id"
:label="item.label"
:value="item.id">
</el-option>
</el-select>
<el-select class="item_width_sel"
v-model="scope.row.itemId"
size="small"
style="margin-left:10px"
placeholder="请选择">
<el-option v-for="item in scope.row.itemList"
:key="item.itemId"
:label="item.label"
:value="item.itemId">
</el-option>
</el-select>
</template>
</el-table-column>
</el-table>
<div>
<el-pagination @size-change="handleSizeChange"
@ -84,6 +93,15 @@
</el-pagination>
</div>
<div ref="divEditBtn"
class="div_edit_btn">
<el-button type="primary"
size="small"
class="diy-button--blue"
@click="handleComfirm"> </el-button>
</div>
</div>
<!-- 修改弹出框 -->
@ -103,14 +121,6 @@
<el-form-item label="适用范围"
label-width="150px"
style="display: block">
<el-cascader class="item_width_1"
ref="myCascader"
v-model="orgIdArray"
:key="iscascaderShow"
:options="casOptions"
:props="optionProps"
:show-all-levels="false"
@change="handleChangeScope"></el-cascader>
</el-form-item>
@ -153,18 +163,6 @@ export default {
pageSize: 20,
pageNo: 0,
casOptions: [],
iscascaderShow: 0,
orgIdArray: [],
selCateObj: {},
optionProps: {
multiple: true,
value: 'agencyId',
label: 'agencyName',
orgType: 'orgType',
children: 'subAgencyList',
checkStrictly: true
},
formShow: false,
formData: {},
@ -172,13 +170,16 @@ export default {
scopeList: [],
dataSyncConfigId: '',
importLoading: false,
groupList: [],
sHeight: 0,
}
},
computed: {
tableHeight () {
const h = this.clientHeight - 220 + this.iframeHeigh
const _h = this.clientHeight - 220
const h = this.clientHeight - this.sHeight + this.iframeHeigh
const _h = this.clientHeight - this.sHeight
return this.$store.state.inIframe ? h : _h
},
@ -192,7 +193,9 @@ export default {
},
async mounted () {
await this.loadData()
await this.getOrgList()
await this.loadPersonGroup()
this.sHeight = this.$refs.divEditBtn.offsetHeight + 300
},
methods: {
@ -201,27 +204,43 @@ export default {
this.formShow = false
},
async getOrgList () {
const url = '/gov/org/customeragency/my-subagency-list'
async loadPersonGroup () {
const url = '/oper/customize/icformitemgroup/list'
// const url = 'http://yapi.elinkservice.cn/mock/245/gov/org/isServiceProject/service/serviceScopeTree'
let params = {
formCode: 'resi_base_info',
policyFlag: '1'
}
let params = {};
const { data, code, msg } = await requestPost(url, params)
const { data, code, msg } = await requestPost(url, params);
if (code === 0) {
this.groupList = data
} else {
this.$message.error(msg)
}
//
++this.iscascaderShow
this.casOptions = []
this.orgIdArray.length = []
},
if (data) {
this.casOptions.push(data)
//
async handleSelGroup (index, item, isSet) {
const url = '/oper/customize/icformitem/getItemListV2'
// const url = 'http://yapi.elinkservice.cn/mock/245/gov/org/isServiceProject/service/serviceScopeTree'
let params = {
policyFlag: '1',
groupId: item.id,
}
}
const { data, code, msg } = await requestPost(url, params)
if (code === 0) {
let oneData = this.dataList[index]
oneData.itemList = data
this.$set(this.dataList, index, oneData)
} else {
this.$message.error(msg);
this.$message.error(msg)
}
},
@ -275,53 +294,8 @@ export default {
},
// /
disableCategory (row, index) {
row.switchStatusShow = row.switchStatus === 'open' ? '关闭' : '开启'
this.$confirm('确认' + row.switchStatusShow, '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
const url = '/epmetuser/dataSyncConfig/configSwitch'
// const url = 'http://yapi.elinkservice.cn/mock/245/epmetuser/dataSyncConfig/configSwitch'
const param = {
deptCode: row.deptCode,
dataSyncConfigId: row.id,
}
window.app.ajax.post(url, param,
(data, rspMsg) => {
// row.switchStatus = 'open'
// row.switchStatus = true
// this.$set(this.dataList, index, row)
this.$message.success('操作成功')
this.loadData()
},
(rspMsg, data) => {
this.$message.error(rspMsg)
})
}).catch(() => {
})
},
// customerId,parentCategoryId,dateform
editShow (row) {
this.dataSyncConfigId = row.id
this.orgIdArray = []
row.scopeList.forEach(element => {
if (element.orgIdPath) {
this.orgIdArray.push(element.orgIdPath.split(':'))
}
});
this.formShow = true
handleComfirm () {
console.log(this.dataList)
},
async editDiaOK () {
@ -485,4 +459,16 @@ export default {
<style lang="scss" scoped>
@import "@/assets/scss/modules/management/list-main.scss";
.div_edit_btn {
display: flex;
margin-top: 20px;
margin-right: 16px;
justify-content: flex-end;
text-align: center;
}
.item_width_sel {
width: 200px;
}
</style>

Loading…
Cancel
Save