|
|
@@ -119,10 +119,24 @@
|
|
|
</el-tooltip>
|
|
|
部门:
|
|
|
</el-col>
|
|
|
- <el-col :span="22">
|
|
|
+ <el-col :span="16">
|
|
|
<el-radio-group v-model="buMenRadio">
|
|
|
<el-radio v-for="(item,index) in positionsList" :key="index" :label="item.id">{{ item.name }}</el-radio>
|
|
|
</el-radio-group>
|
|
|
+
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="6">
|
|
|
+ <el-form> <el-form-item label="唯一值:">
|
|
|
+ <el-select v-model="onlyKey" value-key="key" clearable placeholder="请选择">
|
|
|
+ <el-option
|
|
|
+ v-for="item in selectFieldsTableData.filter(el=> el.key)"
|
|
|
+ :key="item.key"
|
|
|
+ :label="item.title"
|
|
|
+ :value="item"
|
|
|
+ />
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ </el-form>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
|
|
|
@@ -200,6 +214,7 @@ export default {
|
|
|
},
|
|
|
data () {
|
|
|
return {
|
|
|
+ onlyKey: {},
|
|
|
active: 0,
|
|
|
fileList: [],
|
|
|
input: 1,
|
|
|
@@ -300,6 +315,7 @@ export default {
|
|
|
}
|
|
|
})
|
|
|
this.selectFieldsTableData = selectFieldsTableData
|
|
|
+
|
|
|
this.active = this.active + 1
|
|
|
},
|
|
|
checkExcel (fileName) {
|
|
|
@@ -369,6 +385,10 @@ export default {
|
|
|
// }
|
|
|
// return target
|
|
|
// },
|
|
|
+ findkey (obj, value, fn = (a, b) => a === b) {
|
|
|
+ return Object.keys(obj).find(k => fn(obj[k], value))
|
|
|
+ },
|
|
|
+
|
|
|
async handleSaveUpload () {
|
|
|
// 获取勾选字段
|
|
|
|
|
|
@@ -380,6 +400,7 @@ export default {
|
|
|
// 列表数据处理
|
|
|
const tableData = JSON.parse(JSON.stringify(this.tableData.data))
|
|
|
const saveData = []
|
|
|
+ console.log(this.importData, tableData, fields)
|
|
|
switch (formKey) {
|
|
|
default:
|
|
|
tableData.forEach(data => {
|
|
|
@@ -394,23 +415,45 @@ export default {
|
|
|
saveData.push(obj)
|
|
|
})
|
|
|
}
|
|
|
- const frist = this.$store.getters.level.frist
|
|
|
+ const first = this.$store.getters.level.first
|
|
|
const second = this.$store.getters.level.second
|
|
|
const userId = this.$store.getters.userId
|
|
|
+ let datalist = []
|
|
|
+ if (this.onlyKey?.key) {
|
|
|
+ const diDian = second || first
|
|
|
+ const sql = `select * FROM ${'t_' + formKey} WHERE di_dian_ = ${diDian}`
|
|
|
+ const response = await this.$common.request('sql', sql)
|
|
|
+ datalist = response?.variables?.data
|
|
|
+ }
|
|
|
saveData.forEach(item => {
|
|
|
+ if (this.onlyKey?.key) {
|
|
|
+ console.log(this.selectFieldsTableData)
|
|
|
+
|
|
|
+ for (let index = 0; index < datalist.length; index++) {
|
|
|
+ // console.log('11111', datalist[index], item, this.onlyKey, key)
|
|
|
+ if (datalist[index][this.onlyKey?.key] === item[this.findkey(fields, this.onlyKey?.title)]) {
|
|
|
+ // console.log('222')
|
|
|
+ item.id = datalist[index].id_
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
item.bianZhiBuMen = this.buMenRadio
|
|
|
item.bianZhiRen = userId
|
|
|
item.bianZhiShiJian = this.getTime(16)
|
|
|
- item.diDian = second || frist
|
|
|
+ item.diDian = second || first
|
|
|
})
|
|
|
// 提交
|
|
|
+ console.log(this.$store.getters.level, saveData)
|
|
|
+
|
|
|
this.active = this.active + 1
|
|
|
saveUpload({
|
|
|
data: JSON.stringify(saveData),
|
|
|
formKey
|
|
|
}).then(res => {
|
|
|
this.show = true
|
|
|
+ this.onlyKey = {}
|
|
|
this.$emit('saveUpload')
|
|
|
+ this.$message.success(`新增${saveData.filter(el => !el.id).length}条数据,修改${saveData.filter(el => el.id).length}条数据`)
|
|
|
}).catch(err => {
|
|
|
console.error(err)
|
|
|
})
|