Merge remote-tracking branch 'origin/master'
¶Ô±ÈÐÂÎļþ |
| | |
| | | import request from '@/router/axios'; |
| | | |
| | | // æ°æ®æ¥è¯¢æ¥å£ |
| | | export const getGroupAttrPoolALlList = (params) => { |
| | | return request({ |
| | | url: '/api/ubcs-applyjtcodeservice/groupAttrPoolMapping/getGroupAttrPoolALlList', |
| | | method: 'get', |
| | | params: { |
| | | ...params |
| | | } |
| | | }) |
| | | } |
| | | // ä¿åæ¥å£ |
| | | export const editGroupAttr = (data) => { |
| | | return request({ |
| | | url: '/api/ubcs-applyjtcodeservice/groupAttrPoolMapping/editGroupAttr', |
| | | method: 'post', |
| | | data |
| | | }) |
| | | } |
| | | // 忥æ¥å£ |
| | | export const syncGroupAttrMapping = (data) => { |
| | | return request({ |
| | | url: '/api/ubcs-applyjtcodeservice/groupAttrPoolMapping/syncGroupAttrMapping', |
| | | method: 'post', |
| | | data |
| | | }) |
| | | } |
| | |
| | | @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" |
| | |
| | | <el-button icon="el-icon-connection" size="small" type="primary" |
| | | @click="handleSync('one')">åæ¥è¯¦ç»æ¨¡å |
| | | </el-button> |
| | | <el-button icon="el-icon-coordinate" size="small" type="primary" |
| | | @click="handlerAuto">èªå¨å¡«å
|
| | | </el-button> |
| | | </template> |
| | | </avue-crud> |
| | | </el-card> |
| | |
| | | <avue-crud ref="crudRange" :data="rangeData" :option="optinoRange" :style="{ marginTop: '-20px'}" |
| | | @row-update="handleUpdate" |
| | | @row-dblclick="handleRowClick"> |
| | | <template slot="menuLeft"> |
| | | <el-button icon="el-icon-coordinate" size="small" type="primary" |
| | | @click="handlerAuto">èªå¨å¡«å
|
| | | </el-button> |
| | | </template> |
| | | </avue-crud> |
| | | </el-card> |
| | | </el-card> |
| | |
| | | optinoRange: { |
| | | title: '屿§æ å°åå¼èå´', |
| | | maxHeight: '280px', |
| | | header: false, |
| | | rowKey: 'oid', |
| | | refreshBtn: false, |
| | | column: [ |
| | | {label: '屿§é墿䏾å¼', prop: 'numTextValue', minWidth: 80}, |
| | | {label: 'éå¢å±æ§æä¸¾æ¾ç¤ºåç§°', prop: 'numText', minWidth: 80}, |
| | |
| | | border: true, |
| | | searchMenuSpan: 8, |
| | | highlightCurrentRow: true, |
| | | $cellEdit:true, |
| | | $cellEdit: true, |
| | | column: [ |
| | | {label: 'éå¢åç±»', prop: 'sourceClassifyName', minWidth: 80}, |
| | | {label: 'æå±è§å¾', prop: 'viewName', minWidth: 80}, |
| | |
| | | prop: 'targetAttrName', |
| | | type: 'select', |
| | | cell: true, |
| | | allowCreate: true, |
| | | filterable: true, |
| | | minWidth: 80, |
| | | props:{ |
| | | label:'targetAttrName', |
| | | value:'targetAttrName' |
| | | props: { |
| | | label: 'targetAttrName', |
| | | value: 'targetAttrName' |
| | | }, |
| | | dicData: this.targetNameList, |
| | | dicData: [], |
| | | }, |
| | | // { |
| | | // label: 'é»è®¤å¼', |
| | |
| | | targetAttrId: item.oid, |
| | | targetAttrKey: item.id, |
| | | targetAttrName: item.name, |
| | | disabled:false |
| | | disabled: false |
| | | } |
| | | }); |
| | | }, |
| | |
| | | this.loading = false |
| | | this.mappingData = response.data.data |
| | | |
| | | for (const item of this.mappingData){ |
| | | if(item.targetAttrName && item.targetAttrId && item.targetAttrKey){ |
| | | 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; |
| | | } |
| | |
| | | }, |
| | | // ä¿åæé® |
| | | async handleSave() { |
| | | const getTargetCorresponding = (row) =>{ |
| | | 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 }); |
| | | if (item.targetAttrName) { |
| | | const {targetAttrId, targetAttrKey, targetAttrName} = await getTargetCorresponding(item); |
| | | Object.assign(item, {targetAttrId, targetAttrKey, targetAttrName}); |
| | | } |
| | | } |
| | | const response = await batchAddSave({dockingPreAttrMappingVOList: this.mappingData}) |
| | |
| | | } |
| | | |
| | | // è·åç®æ 屿§ä¿¡æ¯ |
| | | const { targetAttrId, targetAttrKey, targetAttrName } = await getTargetCorresponding(row); |
| | | const {targetAttrId, targetAttrKey, targetAttrName} = await getTargetCorresponding(row); |
| | | |
| | | // æ´æ°è¡æ°æ® |
| | | Object.assign(row, { targetAttrId, targetAttrKey, targetAttrName }); |
| | | Object.assign(row, {targetAttrId, targetAttrKey, targetAttrName}); |
| | | |
| | | const response = await batchAddSave({ dockingPreAttrMappingVOList: this.mappingData }); |
| | | const response = await batchAddSave({dockingPreAttrMappingVOList: this.mappingData}); |
| | | |
| | | if (response.status === 200) { |
| | | this.$message({ |
| | |
| | | .el-transfer-panel { |
| | | width: 270px; |
| | | } |
| | | .el-scrollbar__view { |
| | | height: 100px ; |
| | | |
| | | .el-scrollbar__view { |
| | | height: 100px; |
| | | } |
| | | } |
| | | |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <basic-container> |
| | | <avue-crud ref="crud" :data="data" :option="options" :page.sync="page" @current-change="currentChange" |
| | | @size-change="sizeChange" @row-dblclick="handleRowClick" @row-update="handleUpdate" |
| | | @selection-change="selectChange"> |
| | | <template slot="menuLeft"> |
| | | <el-button plain size="small" type="success" @click="savaHandler">ä¿å</el-button> |
| | | <el-button plain size="small" type="primary" @click="syncHandler">忥</el-button> |
| | | </template> |
| | | </avue-crud> |
| | | </basic-container> |
| | | </template> |
| | | |
| | | <script> |
| | | import {getGroupAttrPoolALlList, editGroupAttr,syncGroupAttrMapping} from '@/api/vciAttrbute' |
| | | import {getPage} from "@/api/omd/OmdAttribute"; |
| | | |
| | | export default { |
| | | name: "vciAttribute", |
| | | data() { |
| | | return { |
| | | data: [], |
| | | options: { |
| | | height: 'auto', |
| | | calcHeight: 20, |
| | | headerAlign: "center", |
| | | border: true, |
| | | selection: true, |
| | | tip: false, |
| | | index: true, |
| | | refreshBtn: false, |
| | | searchShowBtn: false, |
| | | addBtn: false, |
| | | delBtn: false, |
| | | $cellEdit: true, |
| | | rowKey: 'oid', |
| | | cellBtn: true, |
| | | highlightCurrentRow: true, |
| | | column: [ |
| | | { |
| | | label: 'éå¢å±æ§ç¼å·', |
| | | prop: 'groupAttrKey' |
| | | }, |
| | | { |
| | | label: 'éå¢å±æ§åç§°', |
| | | prop: 'groupAttrName' |
| | | }, |
| | | { |
| | | label: '屿§ç¼å·', |
| | | prop: 'codeMetaAttrKey' |
| | | }, |
| | | { |
| | | label: '屿§åç§°', |
| | | prop: 'codeMetaAttrName', |
| | | type: 'select', |
| | | cell: true, |
| | | filterable: true, |
| | | props: { |
| | | label: 'codeMetaAttrName', |
| | | value: 'codeMetaAttrOid', |
| | | }, |
| | | dicData: [] |
| | | } |
| | | ] |
| | | }, |
| | | page: { |
| | | pageSize: 10, |
| | | currentPage: 1, |
| | | total: 0 |
| | | }, |
| | | selectList: [] |
| | | } |
| | | }, |
| | | created() { |
| | | const params = { |
| | | 'conditionMap[groupAttrKey_like]': 'RY_', |
| | | page: this.page.currentPage, |
| | | limit: this.page.pageSize |
| | | } |
| | | this.onLoad(params) |
| | | this.codeColumnOnload() |
| | | }, |
| | | computed: { |
| | | codeMetaColumn() { |
| | | return this.options.column.find(column => column.prop === 'codeMetaAttrName'); |
| | | } |
| | | }, |
| | | methods: { |
| | | codeMetaDis() { |
| | | for (const item of this.data) { |
| | | if (item.codeMetaAttrOid && item.codeMetaAttrKey && item.codeMetaAttrName) { |
| | | console.log(this.codeMetaColumn) |
| | | console.log(this.codeMetaColumn.dicData) |
| | | if (this.codeMetaColumn.dicData.length >= 1) { |
| | | const targetObject = this.codeMetaColumn.dicData.find(obj => obj.codeMetaAttrName === item.codeMetaAttrName); |
| | | console.log(targetObject) |
| | | } |
| | | // targetObject.disabled = true; |
| | | } |
| | | } |
| | | }, |
| | | selectChange(list) { |
| | | this.selectList = list; |
| | | }, |
| | | async onLoad(params) { |
| | | getGroupAttrPoolALlList(params).then(res => { |
| | | const data = res.data.data; |
| | | this.data = data.records; |
| | | this.page.total = data.total; |
| | | }) |
| | | }, |
| | | codeColumnOnload() { |
| | | getPage(1, -1).then(res => { |
| | | const data = res.data.data; |
| | | this.codeMetaColumn.dicData = data.records.filter(item => item.name && item.name.trim() !== "") // è¿æ»¤æname为空ç屿§ |
| | | .map(item => { |
| | | return { |
| | | codeMetaAttrOid: item.oid, |
| | | codeMetaAttrKey: item.id, |
| | | codeMetaAttrName: item.name, |
| | | disabled: false |
| | | } |
| | | }) |
| | | }) |
| | | }, |
| | | handleRowClick(row, column) { |
| | | if (column.label === '屿§åç§°') this.$refs.crud.rowCell(row, row.$index) |
| | | }, |
| | | async handleUpdate(row, index, done) { |
| | | if (!row.codeMetaAttrName) { |
| | | this.$message.warning('è¯·éæ©è¦ä¿åç屿§åç§°ï¼'); |
| | | done(); |
| | | return; |
| | | } |
| | | // row.codeMetaAttrNameå ä¸ºä¸ææ¡valueå¼åå ç»å®ä¸ºcodeMetaAttrOid |
| | | const updataList = this.codeMetaColumn.dicData.find(item => item.codeMetaAttrOid === row.codeMetaAttrName) |
| | | |
| | | // å 为rowéé¢ç弿¯ä¸æ£ç¡®ç éæ°èµå¼ä¸é |
| | | const {codeMetaAttrOid, codeMetaAttrKey, codeMetaAttrName} = updataList; |
| | | Object.assign(row, {codeMetaAttrOid, codeMetaAttrKey, codeMetaAttrName}); |
| | | |
| | | const objet = { |
| | | oid: row.oid, |
| | | groupAttrKey: row.groupAttrKey, |
| | | groupAttrName: row.groupAttrName, |
| | | codeMetaAttrOid: row.codeMetaAttrOid, |
| | | codeMetaAttrKey: row.codeMetaAttrKey, |
| | | codeMetaAttrName: row.codeMetaAttrName |
| | | } |
| | | const response = await editGroupAttr([objet]) |
| | | if (response.data.data.success) { |
| | | this.$message.success('ä¿åæåï¼') |
| | | } |
| | | done() |
| | | }, |
| | | async savaHandler() { |
| | | if (this.selectList.length <= 0) { |
| | | this.$message.warning('è¯·éæ©ä¸æ¡æ°æ®åè¿è¡ä¿åï¼') |
| | | } else { |
| | | const hasTrueValue = this.selectList.some(item => !item.$cellEdit); |
| | | if (hasTrueValue) { |
| | | this.$message.warning('请å¼å¯ç¼è¾åä¿åï¼') |
| | | } else { |
| | | let saveList = [] |
| | | for (const item of this.selectList) { |
| | | const updataList = this.codeMetaColumn.dicData.find(p => p.codeMetaAttrOid === item.codeMetaAttrName); |
| | | const {codeMetaAttrOid, codeMetaAttrKey, codeMetaAttrName} = updataList; |
| | | Object.assign(item, {codeMetaAttrOid, codeMetaAttrKey, codeMetaAttrName}); |
| | | |
| | | item.$cellEdit = false; |
| | | saveList.push({ |
| | | oid: item.oid, |
| | | groupAttrKey: item.groupAttrKey, |
| | | groupAttrName: item.groupAttrName, |
| | | codeMetaAttrOid: item.codeMetaAttrOid, |
| | | codeMetaAttrKey: item.codeMetaAttrKey, |
| | | codeMetaAttrName: item.codeMetaAttrName |
| | | }) |
| | | } |
| | | const response = await editGroupAttr(saveList) |
| | | if (response.data.data.success) { |
| | | this.$message.success('ä¿åæåï¼') |
| | | } |
| | | } |
| | | } |
| | | }, |
| | | async syncHandler(){ |
| | | if(this.selectList.length <= 0){ |
| | | this.$message.warning('请è³å°éæ©ä¸æ¡æ°æ®è¿è¡åæ¥ï¼') |
| | | }else { |
| | | const syncList = []; |
| | | for (const item of this.selectList) { |
| | | syncList.push({ |
| | | groupAttrKey: item.groupAttrKey, |
| | | groupAttrName: item.groupAttrName, |
| | | }) |
| | | } |
| | | const response = await syncGroupAttrMapping(syncList) |
| | | if(response.data.success){ |
| | | this.$message.success(response.data.msg) |
| | | } |
| | | } |
| | | }, |
| | | currentChange(currentPage) { |
| | | this.page.currentPage = currentPage; |
| | | const params = { |
| | | 'conditionMap[groupAttrKey_like]': 'RY_', |
| | | page: this.page.currentPage, |
| | | limit: this.page.pageSize |
| | | } |
| | | this.onLoad(params) |
| | | }, |
| | | sizeChange(pageSize) { |
| | | this.page.pageSize = pageSize; |
| | | const params = { |
| | | 'conditionMap[groupAttrKey_like]': 'RY_', |
| | | page: this.page.currentPage, |
| | | limit: this.page.pageSize |
| | | } |
| | | this.onLoad(params) |
| | | }, |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style scoped> |
| | | |
| | | </style> |
| | |
| | | </el-container> |
| | | <link-type-add ref="linkAdd" :domainOption="domainOptions" :icons="icons" :linkStatus="linkStatus" |
| | | :linkType="addOption.linkType" |
| | | @refreshTable="initTreeOnLoad"> |
| | | @refreshTable="initTable"> |
| | | </link-type-add> |
| | | |
| | | </el-container> |
| | |
| | | name: "LinkType", |
| | | data() { |
| | | return { |
| | | nodeClickOid:'', |
| | | linkStatus: '', |
| | | addOption: { |
| | | linkType: { |
| | |
| | | methods: { |
| | | // æ ç¹å» |
| | | nodeClick(data) { |
| | | this.nodeClickOid = data.oid; |
| | | getDetail(data.oid).then(res => { |
| | | this.obj = res.data.data; |
| | | }) |
| | | }, |
| | | initTable(){ |
| | | getDetail(this.nodeClickOid).then(res => { |
| | | this.obj = res.data.data; |
| | | }) |
| | | }, |
| | | // æ·»å æé®ç¹å»äºä»¶ |
| | | linkTypeAdd() { |
| | | this.$refs.linkAdd.linkType = {}; |