From a4093f78446debefed8496caa277bfd0e714c6dd Mon Sep 17 00:00:00 2001
From: zhangxp <zhangxp@chicecm.com>
Date: 星期五, 02 六月 2023 16:25:20 +0800
Subject: [PATCH] 联调接口
---
Source/UBCS-WEB/src/api/integration/integration.js | 14 +++
Source/UBCS-WEB/src/views/integration/integrationIndex.vue | 224 ++++++++++++++++++++++++++++++++-----------------------
2 files changed, 143 insertions(+), 95 deletions(-)
diff --git a/Source/UBCS-WEB/src/api/integration/integration.js b/Source/UBCS-WEB/src/api/integration/integration.js
index 4135761..64339d1 100644
--- a/Source/UBCS-WEB/src/api/integration/integration.js
+++ b/Source/UBCS-WEB/src/api/integration/integration.js
@@ -50,9 +50,19 @@
}
// 灞炴�ф槧灏勪繚瀛樻柟娉�
export const batchAddSave = (params) => {
+ console.log(params)
return request({
url: '/api/ubcs-applyjtcodeservice/DockingPreApplyCode/batchAddSave',
- method: 'get',
- params: params
+ method: 'post',
+ data: params
+ })
+}
+// 鍚屾闆嗗洟灞炴�фā鍨嬭鍥�
+export const syncClassifyModel = (params) => {
+ console.log(params)
+ return request({
+ url: '/api/ubcs-applyjtcodeservice/DockingPreApplyCode/syncClassifyModel',
+ method: 'post',
+ data: params
})
}
\ No newline at end of file
diff --git a/Source/UBCS-WEB/src/views/integration/integrationIndex.vue b/Source/UBCS-WEB/src/views/integration/integrationIndex.vue
index c18063d..9e65713 100644
--- a/Source/UBCS-WEB/src/views/integration/integrationIndex.vue
+++ b/Source/UBCS-WEB/src/views/integration/integrationIndex.vue
@@ -18,7 +18,7 @@
<el-form-item label="闆嗗洟鍒嗙被" label-width="70px" size="small">
<el-select clearable ref="selectTree" v-model="form.groupValue" placeholder="璇烽�夋嫨"
popper-class="popperTreeSelect">
- <el-option :value="groupVal" :label="groupVal">
+ <el-option :value="groupVal" :label="groupVal">
<el-tree ref="groupTree" :data="groupTreeData" empty-text="鏆傛棤鏁版嵁" :props="defaultProps"
@node-click="handleNodeClick">
</el-tree>
@@ -27,24 +27,22 @@
</el-form-item>
</el-form>
- <avue-crud :table-loading="loading" :data="tableData" :option="option" ref="crud" @cell-class-name="handelCellRow"
- @cell-click="handleCellClick">
- <template slot="menuLeft">
- <el-button 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" @click="handleSync">鍚屾妯″瀷
- </el-button>
- </template>
- <template slot="defaultValue" slot-scope="{scope}">
- <!-- <el-input v-model="scope.row.defaultValue" v-if="scope.row.index === tableRowIndex && scope.column.index === tableColumnIndex" @blur="inputBlur"> </el-input> -->
- <span>{{ scope }}</span>
- </template>
- </avue-crud>
+ <el-card>
+ <avue-crud :table-loading="loading" :data="mappingData" :option="optionMapping" ref="crudMapping"
+ @row-update="handleUpdate" @row-click="handleMapingRowClick">
+ <template slot="menuLeft">
+ <el-button 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" @click="handleSync">鍚屾妯″瀷
+ </el-button>
+ </template>
+ </avue-crud>
+ </el-card>
<el-card :style="{ marginTop: '20px' }">
- <avue-crud :data="tablesData" :option="optinos" ref="crud"
- @cell-click="handleCellClick">
+ <avue-crud :data="rangeData" :option="optinoRange" ref="crudRange" @row-update="handleUpdate"
+ @row-dblclick="handleRowClick">
</avue-crud>
</el-card>
</el-card>
@@ -59,7 +57,7 @@
</el-form>
<p class="text_tip">*閫夋嫨鍒嗙被杩涜灞炴�ц繃婊�, 鎴栬�呰緭鍏ュ睘鎬х殑鍏ㄦ嫾鎴栬�呯畝鎷艰繘琛屾煡璇�! 濡�: 濮撳悕 (鍙緭鍏m鎴杧inming )</p>
<transfer v-model="transferValue" :data="transferData" :filter-method="filterMethod"
- filter-placeholder="璇疯緭鍏ュ睘鎬ф嫾闊冲叏鎷兼垨鑰呮嫾闊崇缉鍐�" @left-check-change="handelLeftCheck"></transfer>
+ filter-placeholder="璇疯緭鍏ユ嫾闊冲叏鎷兼垨鑰呮嫾闊崇缉鍐�" @left-check-change="handelLeftCheck"></transfer>
<span slot="footer" class="dialog-footer">
<el-button @click="dialogPush = false">鍙� 娑�</el-button>
<el-button type="primary" @click="dialogPush = false">淇� 瀛�</el-button>
@@ -70,7 +68,7 @@
<script>
import transfer from '@/components/transfer/index'
import pinyin from 'js-pinyin'
-import { referCodeClassifyTree, referTree, gridAttrMapping } from '@/api/integration/integration.js'
+import { referCodeClassifyTree, referTree, gridAttrMapping, gridAttrRanges, batchAddSave, listCodeAttributeByClassId, syncClassifyModel } from '@/api/integration/integration.js'
export default {
components: {
transfer
@@ -90,6 +88,20 @@
});
return data;
};
+ const options = {
+ menu: false,
+ delBtn: false,
+ addBtn: false,
+ index: true,
+ columnBtn: false,
+ searchShow: true,
+ emptyBtn: false,
+ searchBtn: false,
+ searchShowBtn: false,
+ cellBtn: true,
+ border: true,
+ searchMenuSpan: 8,
+ }
return {
form: {
name: '',
@@ -101,65 +113,37 @@
transferData: generateData(),
transferValue: [],
dialogPush: false,
- tableData: [],
- tablesData: [
- {
- id:'01',
- groupTypeName:'鏉庡洓',
- codeView:'寮犱笁',
- sex:'',
- typeName:''
- }
- ],
+ mappingData: [],
+ rangeData: [],
filterText: '',
- tableRowIndex:null,
- tableColumnIndex:null,
- optinos: {
+ tableRowIndex: null,
+ tableColumnIndex: null,
+ optinoRange: {
title: '闆嗗洟灞炴��',
maxHeight: '300px',
- menu: true,
- delBtn: false,
- addBtn: false,
- index: true,
header: false,
- columnBtn: false,
- searchShow: true,
- emptyBtn: false,
- searchBtn: false,
- searchShowBtn: false,
- cellBtn: true,
- border: true,
- searchMenuSpan: 8,
+ rowKey: 'oid',
column: [
- { label: '灞炴�ч泦鍥㈡灇涓惧��', prop: 'groupTypeName', minWidth: 80, },
- { label: '闆嗗洟灞炴�ф灇涓炬樉绀哄悕绉�', prop: 'codeView', minWidth: 80 },
- { label: 'MDM鏋氫妇鍊�', prop: 'sex', minWidth: 80, cell: true },
- { label: 'MDM鏋氫妇鏄剧ず鍚嶇О', prop: 'typeName', minWidth: 80, cell: true },
- ]
+ { label: '灞炴�ч泦鍥㈡灇涓惧��', prop: 'numTextValue', minWidth: 80 },
+ { label: '闆嗗洟灞炴�ф灇涓炬樉绀哄悕绉�', prop: 'numText', minWidth: 80 },
+ { label: 'MDM鏋氫妇鍊�', prop: 'targetNumTextValue', minWidth: 80, cell: true, blur: (value) => window.handleBlur(value, 'range') },
+ { label: 'MDM鏋氫妇鏄剧ず鍚嶇О', prop: 'targetNumText', minWidth: 80, cell: true, blur: (value) => window.handleBlur(value, 'range') },
+ ],
+ ...options
},
- option: {
+ optionMapping: {
maxHeight: '500px',
- menu: true,
- delBtn: false,
- addBtn: false,
- index: true,
header: true,
- columnBtn: false,
- searchShow: true,
- emptyBtn: false,
- searchBtn: false,
- searchShowBtn: false,
- cellBtn: false,
- border: true,
- searchMenuSpan: 8,
+ rowKey: 'oid',
column: [
- { label: '闆嗗洟鍒嗙被', prop: 'sourceClassifyName', minWidth: 80, },
+ { label: '闆嗗洟鍒嗙被', prop: 'sourceClassifyName', minWidth: 80 },
{ label: '鎵�灞炶鍥�', prop: 'viewName', minWidth: 80 },
{ label: '闆嗗洟灞炴��', prop: 'sourceAttrName', minWidth: 80 },
- { label: '鍒嗙被鍚嶇О', prop: 'targetClassifyName', minWidth: 80, overHidden: true },
- { label: '灞炴�у悕绉�', prop: 'targetAttrName', minWidth: 80},
- { label: '榛樿鍊�', prop: 'defaultValue', minWidth: 140, cell: true },
- ]
+ { label: '鍒嗙被鍚嶇О', prop: 'targetClassifyName', minWidth: 80 },
+ { label: '灞炴�у悕绉�', prop: 'targetAttrName', minWidth: 80 },
+ { label: '榛樿鍊�', prop: 'defaultValue', minWidth: 140, cell: true, blur: (value) => window.handleBlur(value, 'mapping') },
+ ],
+ ...options
},
treeData: [],
groupTreeData: [],
@@ -170,7 +154,9 @@
isLeaf: ''
},
groupVal: '',
- treeParam: {}
+ treeParam: {},
+ rangeForm: {},
+ mappingForm: {},
}
},
watch: {
@@ -182,10 +168,12 @@
created() {
this.getReferCodeClassifyTree()
pinyin.setOptions({ checkPolyphone: false, charCase: 1 });
- console.log(pinyin.getFullChars('绠$悊鍛�'))
- console.log(pinyin.getCamelChars('绠$悊鍛�'))
+ },
+ mounted() {
+ window.handleBlur = this.handleBlur
},
methods: {
+ // 鎺ュ彛宸︿晶鏍�
async getReferCodeClassifyTree() {
const param = {
parentBtmName: "jclass",
@@ -200,16 +188,33 @@
this.treeData = data.map(item => item.children ? { ...item, ...{ isLeaf: false } } : { ...item, ...{ isLeaf: true } })
}
},
- async getlistCodeAttributeByClassId(oid) {
+ // 鎺ュ彛鑾峰彇灞炴�ф槧灏�
+ async getGridAttrMapping(oid) {
this.loading = true
console.log(this.treeParam)
const response = await gridAttrMapping({ sourceClassifyId: oid, ...this.treeParam })
console.log(response)
if (response.status === 200) {
this.loading = false
- this.tableData = response.data.data
+ this.mappingData = response.data.data
}
},
+ // 鎺ュ彛鑾峰彇灞炴�ф槧灏勫彇鍊艰寖鍥�
+ async getGridAttrRanges(oid) {
+ this.tablesData = []
+ const response = await gridAttrRanges({ meatId: oid })
+ console.log(response)
+ if (response.status === 200) {
+ this.rangeData = response.data
+ }
+ },
+ // 鎺ュ彛鑾峰彇涓绘暟鎹垎绫诲睘鎬т俊鎭�
+ async getListCodeByClassId(oid) {
+ // this.tablesData = []
+ const response = await listCodeAttributeByClassId({ codeClassifyId: oid })
+ console.log(response)
+ },
+ // 鎺ュ彛鑾峰彇闆嗗洟鍒嗙被鏍�
async referTree(oid, checked) {
this.groupTreeData = []
const response = await referTree({ 'conditionMap[codeclsfid]': oid, parentOid: null })
@@ -229,25 +234,26 @@
}
}
},
+ // 宸︿晶鏍戣繃婊ゆ悳绱�
filterNode(value, data) {
- console.log(value)
- console.log(data)
if (!value) return true;
return data.name.indexOf(value) !== -1;
},
- handleSave() {
-
+ // 淇濆瓨鎸夐挳
+ async handleSave() {
+ console.log(this.mappingData)
+ // const response = await batchAddSave({ dockingPreAttrMappingVOList: this.tableData })
+ // console.log(response)
},
- handlePush() {
-
+ // 鍚屾鏁版嵁
+ async handleSync() {
+ const response = await syncClassifyModel({ dockingPreAttrMappingVOList: this.tableData })
+ console.log(response)
},
handelLeftCheck(event) {
console.log(event)
},
- handelCellRow( {row, column, rowIndex, columnIndex }) {
- row.index = rowIndex
- column.index = columnIndex
- },
+ // 鏂板寮圭獥鏌ヨ鎸夐挳
handleQuery(event) {
console.log(event)
this.form.name = event
@@ -255,34 +261,66 @@
filterMethod(item) {
return item.pinyins.indexOf(this.form.name) > -1;
},
+ // 宸︿晶鏍戠偣鍑�
handelTreeCell(event) {
- console.log(event)
if (event.leaf) {
this.treeParam.codeClassifyId = event.oid
this.form.groupValue = ''
this.groupVal = ''
this.tableData = []
this.referTree(event.oid, event.checked)
+ this.getListCodeByClassId(event.oid)
}
},
+ // 闆嗗洟鍒嗙被鏍戠偣鍑�
handleNodeClick(data) {
console.log(data)
this.form.groupValue = data.name
this.groupVal = data.name
this.$refs.selectTree.blur()
- this.getlistCodeAttributeByClassId(data.oid)
- },
- handleCellClick(row, column,cell, event) {
- console.log(row)
- console.log(column)
- console.log(cell)
- console.log(event)
- this.tableRowIndex = row.index
- this.tableColumnIndex = column.index
+ this.getGridAttrMapping(data.oid)
},
inputBlur() {
this.tableColumnIndex = ''
this.tableRowIndex = null
+ },
+ // 灞炴�ф槧灏勭偣鍑绘瘡琛�
+ handleCellClick(event) {
+ console.log('鍗曞嚮', event)
+ // this.tableRowIndex = row.index
+ // this.tableColumnIndex = column.index
+ // this.getGridAttrRanges(event.metaListId)
+ },
+ handleBlur(value, event) {
+ console.log(value)
+ if (event === 'range') this.$refs.crudRange.rowCell(this.rangeForm, this.rangeForm.$index)
+ if (event === 'mapping') this.$refs.crudMapping.rowCell(this.mappingForm, this.mappingForm.$index)
+ },
+ // 灞炴�у彇鍊艰寖鍥村崟鍏冩牸缂栬緫
+ handleMapingRowClick(row, column, cell, event) {
+ this.mappingForm = row
+ if (column.label === '榛樿鍊�') this.$refs.crudMapping.rowCell(row, row.$index)
+ else this.getGridAttrRanges(row.metaListId)
+
+ },
+ // 灞炴�у彇鍊艰寖鍥村崟鍏冩牸缂栬緫
+ handleRowClick(row, column, cell, event) {
+ this.rangeForm = row
+ console.log('鍗曞嚮', row)
+ this.$refs.crudRange.rowCell(row, row.$index)
+ },
+ // 灞炴�у彇鍊艰寖鍥村崟鍏冩牸缂栬緫
+ handleUpdate(row, index, done, loading) {
+ const findRow = this.mappingData.findIndex(item => item.metaListId === row.metaListId)
+ console.log(findRow)
+ this.mappingData[0].dockingPreAttrRangeVoList = [row]
+ console.log('淇敼鍚�', row)
+ this.$message({
+ showClose: true,
+ message: "淇敼鎴愬姛",
+ type: "success",
+ });
+ done();
}
}
}
--
Gitblit v1.9.3