Merge remote-tracking branch 'origin/master'
| | |
| | | @selection-change="selectionChange" |
| | | @select-all="handleSelectAll"> |
| | | <template slot="menuLeft"> |
| | | <el-button :disabled="disabledPush" icon="el-icon-plus" size="small" type="primary" |
| | | @click="dialogPush = true">新 增 |
| | | </el-button> |
| | | <!-- <el-button :disabled="disabledPush" icon="el-icon-plus" size="small" type="primary"--> |
| | | <!-- @click="dialogPush = true">新 增--> |
| | | <!-- </el-button>--> |
| | | <el-button icon="el-icon-check" size="small" type="primary" @click="handleSave">保 存 |
| | | </el-button> |
| | | <el-button icon="el-icon-connection" size="small" type="primary" |
| | |
| | | listCodeAttributeByClassId, |
| | | syncClassifyModel |
| | | } from '@/api/integration/integration.js' |
| | | import {getPage} from "@/api/omd/OmdAttribute"; |
| | | |
| | | export default { |
| | | components: { |
| | |
| | | highlightCurrentRow: true, |
| | | } |
| | | return { |
| | | targetNameList: [], // 元数据返回名称 |
| | | defaultCheckedKeys: [], |
| | | isNodeDisabled: true, |
| | | // 表单值 |
| | |
| | | rowKey: 'oid', |
| | | selection: false, |
| | | refreshBtn: false, |
| | | delBtn: false, |
| | | addBtn: false, |
| | | index: true, |
| | | columnBtn: false, |
| | | searchShow: true, |
| | | emptyBtn: false, |
| | | searchBtn: false, |
| | | searchShowBtn: false, |
| | | cellBtn: true, |
| | | border: true, |
| | | searchMenuSpan: 8, |
| | | highlightCurrentRow: true, |
| | | $cellEdit:true, |
| | | column: [ |
| | | {label: '集团分类', prop: 'sourceClassifyName', minWidth: 80}, |
| | | {label: '所属视图', prop: 'viewName', minWidth: 80}, |
| | |
| | | { |
| | | label: '属性名称', |
| | | prop: 'targetAttrName', |
| | | minWidth: 80, |
| | | }, |
| | | { |
| | | label: '默认值', |
| | | prop: 'defaultValue', |
| | | minWidth: 140, |
| | | type: 'select', |
| | | cell: true, |
| | | blur: (value) => window.handleBlur(value, 'mapping') |
| | | allowCreate: true, |
| | | filterable: true, |
| | | minWidth: 80, |
| | | props:{ |
| | | label:'targetAttrName', |
| | | value:'targetAttrName' |
| | | }, |
| | | dicData: this.targetNameList, |
| | | }, |
| | | // { |
| | | // label: '默认值', |
| | | // prop: 'defaultValue', |
| | | // minWidth: 140, |
| | | // cell: true, |
| | | // blur: (value) => window.handleBlur(value, 'mapping') |
| | | // }, |
| | | ], |
| | | ...options |
| | | }, |
| | | // 主数据分类树 |
| | | treeData: [], |
| | |
| | | mounted() { |
| | | let that = this |
| | | window.handleBlur = that.handleBlur |
| | | |
| | | }, |
| | | computed: { |
| | | filtermapping() { |
| | |
| | | return obj.targetAttrName |
| | | }) |
| | | return transfer |
| | | }, |
| | | targetColumn() { |
| | | return this.optionMapping.column.find(column => column.prop === 'targetAttrName'); |
| | | } |
| | | }, |
| | | methods: { |
| | | getTargetName(data) { |
| | | this.targetColumn.dicData = data.filter(item => item.name && item.name.trim() !== "") // 过滤掉name为空的属性 |
| | | .map(item => { |
| | | return { |
| | | targetAttrId: item.oid, |
| | | targetAttrKey: item.id, |
| | | targetAttrName: item.name, |
| | | disabled:false |
| | | } |
| | | }); |
| | | }, |
| | | // 接口左侧树 |
| | | async getReferCodeClassifyTree() { |
| | | this.treeData = [] |
| | |
| | | if (response.status === 200) { |
| | | this.loading = false |
| | | this.mappingData = response.data.data |
| | | // console.log(this.filtermapping) |
| | | |
| | | for (const item of this.mappingData){ |
| | | if(item.targetAttrName && item.targetAttrId && item.targetAttrKey){ |
| | | const targetObject = this.targetColumn.dicData.find(obj => obj.targetAttrName === item.targetAttrName); |
| | | targetObject.disabled = true; |
| | | } |
| | | } |
| | | } |
| | | }, |
| | | // 接口获取属性映射取值范围 |
| | |
| | | if (response.status === 200) { |
| | | const data = response.data.data |
| | | this.transferData = data; |
| | | this.getTargetName(data) |
| | | // console.log(data) |
| | | } |
| | | }, |
| | |
| | | }, |
| | | // 保存按钮 |
| | | async handleSave() { |
| | | const getTargetCorresponding = (row) =>{ |
| | | return this.targetColumn.dicData.find(column => column.targetAttrName === row.targetAttrName); |
| | | } |
| | | for (const item of this.mappingData) { |
| | | item.$cellEdit = false; |
| | | if(item.targetAttrName){ |
| | | const { targetAttrId, targetAttrKey, targetAttrName } = await getTargetCorresponding(item); |
| | | Object.assign(item, { targetAttrId, targetAttrKey, targetAttrName }); |
| | | } |
| | | } |
| | | const response = await batchAddSave({dockingPreAttrMappingVOList: this.mappingData}) |
| | | if (response.status === 200) { |
| | | this.$message({ |
| | |
| | | done(); |
| | | }, |
| | | // 属性取值范围单元格编辑后 |
| | | handleMapingUpdate(row, index, done) { |
| | | this.$message({ |
| | | showClose: true, |
| | | message: "修改成功", |
| | | type: "success", |
| | | }); |
| | | done(); |
| | | async handleMapingUpdate(row, index, done) { |
| | | const getTargetCorresponding = async (row) => { |
| | | return this.targetColumn.dicData.find(column => column.targetAttrName === row.targetAttrName); |
| | | }; |
| | | |
| | | try { |
| | | if (!row.targetAttrName) { |
| | | this.$message.warning('请选择要保存的属性名称!'); |
| | | done(); |
| | | return; |
| | | } |
| | | |
| | | // 获取目标属性信息 |
| | | const { targetAttrId, targetAttrKey, targetAttrName } = await getTargetCorresponding(row); |
| | | |
| | | // 更新行数据 |
| | | Object.assign(row, { targetAttrId, targetAttrKey, targetAttrName }); |
| | | |
| | | const response = await batchAddSave({ dockingPreAttrMappingVOList: this.mappingData }); |
| | | |
| | | if (response.status === 200) { |
| | | this.$message({ |
| | | type: "success", |
| | | message: "修改成功!" |
| | | }); |
| | | } |
| | | } catch (error) { |
| | | console.error('处理映射更新时出错:', error); |
| | | } finally { |
| | | done(); |
| | | } |
| | | }, |
| | | // 集团映射属性选择(单选) |
| | | selectionChange(selection) { |
| | |
| | | .el-transfer-panel { |
| | | width: 270px; |
| | | } |
| | | .el-scrollbar__view { |
| | | height: 100px ; |
| | | } |
| | | } |
| | | |
| | | </style> |