From d5fae6385b7f55cb84986b4b7fa341ad1cd9f75f Mon Sep 17 00:00:00 2001
From: zhangxp <zhangxp@chicecm.com>
Date: 星期四, 01 六月 2023 18:31:04 +0800
Subject: [PATCH] 集成接口联调
---
Source/UBCS-WEB/src/router/axios.js | 2
Source/UBCS-WEB/src/api/integration/integration.js | 58 ++++++++
Source/UBCS-WEB/vue.config.js | 3
Source/UBCS-WEB/src/views/integration/integrationIndex.vue | 333 ++++++++++++++++++++++-------------------------
4 files changed, 218 insertions(+), 178 deletions(-)
diff --git a/Source/UBCS-WEB/src/api/integration/integration.js b/Source/UBCS-WEB/src/api/integration/integration.js
new file mode 100644
index 0000000..4135761
--- /dev/null
+++ b/Source/UBCS-WEB/src/api/integration/integration.js
@@ -0,0 +1,58 @@
+import request from '@/router/axios';
+
+// 涓绘暟鎹垎绫绘爲
+export const referCodeClassifyTree = (params) => {
+ return request({
+ url: '/api/ubcs-applyjtcodeservice/DockingPreApplyCode/referCodeClassifyTree',
+ method: 'get',
+ params: params
+ })
+ }
+ // 涓绘暟鎹垎绫诲睘鎬т俊鎭�
+export const listCodeAttributeByClassId = (params) => {
+ return request({
+ url: '/api/ubcs-applyjtcodeservice/DockingPreApplyCode/listCodeAttributeByClassId',
+ method: 'get',
+ params: params
+ })
+}
+// 闆嗗洟鍒嗙被鏍�
+export const referTree = (params) => {
+ return request({
+ url: '/api/ubcs-applyjtcodeservice/DockingPreApplyCode/referTree',
+ method: 'get',
+ params: params
+ })
+}
+// 闆嗗洟鍒嗙被鏍戯紙鏌ヨ闆嗗洟鍒嗙被灞炴�ф帴鍙o級
+export const referTreeByClassId = (params) => {
+ return request({
+ url: '/api/ubcs-applyjtcodeservice/DockingPreApplyCode/listViewModelAttributeByClassId',
+ method: 'get',
+ params: params
+ })
+}
+// 灞炴�ф槧灏�
+export const gridAttrMapping = (params) => {
+ return request({
+ url: '/api//ubcs-applyjtcodeservice/DockingPreApplyCode/gridAttrMapping',
+ method: 'get',
+ params: params
+ })
+}
+// 灞炴�у彇鍊艰寖鍥存槧灏�
+export const gridAttrRanges = (params) => {
+ return request({
+ url: '/api/ubcs-applyjtcodeservice/DockingPreApplyCode/gridAttrRanges',
+ method: 'get',
+ params: params
+ })
+}
+// 灞炴�ф槧灏勪繚瀛樻柟娉�
+export const batchAddSave = (params) => {
+ return request({
+ url: '/api/ubcs-applyjtcodeservice/DockingPreApplyCode/batchAddSave',
+ method: 'get',
+ params: params
+ })
+}
\ No newline at end of file
diff --git a/Source/UBCS-WEB/src/router/axios.js b/Source/UBCS-WEB/src/router/axios.js
index 64b38fe..7801ad2 100644
--- a/Source/UBCS-WEB/src/router/axios.js
+++ b/Source/UBCS-WEB/src/router/axios.js
@@ -17,7 +17,7 @@
import 'nprogress/nprogress.css';
//榛樿瓒呮椂鏃堕棿
-axios.defaults.timeout = 10000;
+axios.defaults.timeout = 20000;
//杩斿洖鍏朵粬鐘舵�佺爜
axios.defaults.validateStatus = function (status) {
return status >= 200 && status <= 500;
diff --git a/Source/UBCS-WEB/src/views/integration/integrationIndex.vue b/Source/UBCS-WEB/src/views/integration/integrationIndex.vue
index 37dd110..c18063d 100644
--- a/Source/UBCS-WEB/src/views/integration/integrationIndex.vue
+++ b/Source/UBCS-WEB/src/views/integration/integrationIndex.vue
@@ -6,16 +6,29 @@
<el-input placeholder="杈撳叆鍏抽敭瀛楄繘琛岃繃婊�" v-model="filterText">
</el-input>
<el-menu :default-openeds="['1', '3']">
- <el-tree class="filter-tree" :data="treeData" :props="defaultProps" default-expand-all
- :filter-node-method="filterNode" ref="tree">
+ <el-tree class="filter-tree" :data="treeData" accordion :props="defaultProps"
+ :filter-node-method="filterNode" empty-text="鏆傛棤鏁版嵁" ref="tree" @node-click="handelTreeCell">
</el-tree>
</el-menu>
</el-aside>
</el-card>
<el-main>
<el-card>
- <avue-crud :data="tableData" :option="option" ref="crud" @row-update="addUpdate" @row-save="rowSave"
- @row-click="handleRowClick">
+ <el-form :model="form">
+ <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-tree ref="groupTree" :data="groupTreeData" empty-text="鏆傛棤鏁版嵁" :props="defaultProps"
+ @node-click="handleNodeClick">
+ </el-tree>
+ </el-option>
+ </el-select>
+
+ </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>
@@ -24,35 +37,40 @@
<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 :style="{ marginTop: '20px' }">
- <avue-crud :data="tableData" :option="optinos" ref="crud" @row-update="addUpdate"
- @row-save="rowSave" @row-click="handleRowClick">
+ <avue-crud :data="tablesData" :option="optinos" ref="crud"
+ @cell-click="handleCellClick">
</avue-crud>
</el-card>
</el-card>
- <el-dialog title="缂栫爜灞炴��" :visible.sync="dialogPush" destroy-on-close append-to-body="true" width="30%"
- :before-close="handleClose">
- <el-form :model="form">
- <el-form-item label="鏌ヨ鏉′欢" label-width="70px" size="small">
- <el-input v-model="form.name" autocomplete="off" @change="handleQuery"></el-input>
- </el-form-item>
- </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>
- <span slot="footer" class="dialog-footer">
- <el-button @click="dialogPush = false">鍙� 娑�</el-button>
- <el-button type="primary" @click="dialogVisible = false">淇� 瀛�</el-button>
- </span>
- </el-dialog>
</el-main>
</el-container>
+ <el-dialog title="缂栫爜灞炴��" :visible.sync="dialogPush" append-to-body="true" destroy-on-close width="30%"
+ :before-close="handleClose">
+ <el-form :model="form">
+ <el-form-item label="鏌ヨ鏉′欢" label-width="70px" size="small">
+ <el-input v-model="form.name" autocomplete="off" @change="handleQuery"></el-input>
+ </el-form-item>
+ </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>
+ <span slot="footer" class="dialog-footer">
+ <el-button @click="dialogPush = false">鍙� 娑�</el-button>
+ <el-button type="primary" @click="dialogPush = false">淇� 瀛�</el-button>
+ </span>
+ </el-dialog>
</div>
</template>
<script>
import transfer from '@/components/transfer/index'
import pinyin from 'js-pinyin'
+import { referCodeClassifyTree, referTree, gridAttrMapping } from '@/api/integration/integration.js'
export default {
components: {
transfer
@@ -75,94 +93,27 @@
return {
form: {
name: '',
+ groupValue: ''
},
+ loading: false,
+ ishowTree: false,
+ search: '',
transferData: generateData(),
transferValue: [],
dialogPush: false,
- tableData: [
+ tableData: [],
+ tablesData: [
{
- id: 1,
- groupTypeName: '浜哄憳',
- codeView: '缂栫爜瑙嗗浘',
- sex: '鎬у埆',
- typeName: '铻烘爴',
- attributeName: '',
- defaultValue: '',
- },
- {
- id: 2,
- groupTypeName: '浜哄憳',
- codeView: '缂栫爜瑙嗗浘',
- sex: '鎬у埆',
- typeName: '铻烘爴',
- attributeName: '',
- defaultValue: '',
- },
- {
- id: 3,
- groupTypeName: '浜哄憳',
- codeView: '缂栫爜瑙嗗浘',
- sex: '鎬у埆',
- typeName: '铻烘爴',
- attributeName: '',
- defaultValue: '',
- },
- {
- id: 3,
- groupTypeName: '浜哄憳',
- codeView: '缂栫爜瑙嗗浘',
- sex: '鎬у埆',
- typeName: '铻烘爴',
- attributeName: '',
- defaultValue: '',
- },
- {
- id: 3,
- groupTypeName: '浜哄憳',
- codeView: '缂栫爜瑙嗗浘',
- sex: '鎬у埆',
- typeName: '铻烘爴',
- attributeName: '',
- defaultValue: '',
- },
- {
- id: 3,
- groupTypeName: '浜哄憳',
- codeView: '缂栫爜瑙嗗浘',
- sex: '鎬у埆',
- typeName: '铻烘爴',
- attributeName: '',
- defaultValue: '',
- },
- {
- id: 3,
- groupTypeName: '浜哄憳',
- codeView: '缂栫爜瑙嗗浘',
- sex: '鎬у埆',
- typeName: '铻烘爴',
- attributeName: '',
- defaultValue: '',
- },
- {
- id: 3,
- groupTypeName: '浜哄憳',
- codeView: '缂栫爜瑙嗗浘',
- sex: '鎬у埆',
- typeName: '铻烘爴',
- attributeName: '',
- defaultValue: '',
- },
- {
- id: 3,
- groupTypeName: '浜哄憳',
- codeView: '缂栫爜瑙嗗浘',
- sex: '鎬у埆',
- typeName: '铻烘爴',
- attributeName: '',
- defaultValue: '',
+ id:'01',
+ groupTypeName:'鏉庡洓',
+ codeView:'寮犱笁',
+ sex:'',
+ typeName:''
}
],
filterText: '',
+ tableRowIndex:null,
+ tableColumnIndex:null,
optinos: {
title: '闆嗗洟灞炴��',
maxHeight: '300px',
@@ -182,8 +133,8 @@
column: [
{ label: '灞炴�ч泦鍥㈡灇涓惧��', prop: 'groupTypeName', minWidth: 80, },
{ label: '闆嗗洟灞炴�ф灇涓炬樉绀哄悕绉�', prop: 'codeView', minWidth: 80 },
- { label: 'MDM鏋氫妇鍊�', prop: 'sex', minWidth: 80 },
- { label: 'MDM鏋氫妇鏄剧ず鍚嶇О', prop: 'typeName', minWidth: 80, overHidden: true },
+ { label: 'MDM鏋氫妇鍊�', prop: 'sex', minWidth: 80, cell: true },
+ { label: 'MDM鏋氫妇鏄剧ず鍚嶇О', prop: 'typeName', minWidth: 80, cell: true },
]
},
option: {
@@ -198,89 +149,91 @@
emptyBtn: false,
searchBtn: false,
searchShowBtn: false,
- cellBtn: true,
+ cellBtn: false,
border: true,
searchMenuSpan: 8,
column: [
- {
- label: '闆嗗洟鍒嗙被',
- prop: 'groupTypeName',
- minWidth: 80,
- type: "select",
- dicUrl: "/api/ubcs-system/dict/dictionary?code=org_category",
- props: {
- label: "dictValue",
- value: "dictKey"
- },
- slot: true,
- search: true,
- rules: [{
- message: "璇疯緭鍏ラ泦鍥㈠垎绫诲悕绉�"
- }]
- },
- { label: '鎵�灞炶鍥�', prop: 'codeView', minWidth: 80 },
- { label: '闆嗗洟灞炴��', prop: 'sex', minWidth: 80 },
- { label: '鍒嗙被鍚嶇О', prop: 'typeName', minWidth: 80, overHidden: true },
- { label: '灞炴�у悕绉�', prop: 'attributeName', minWidth: 80, cell: true },
+ { 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 },
]
},
- treeData: [{
- id: 1,
- label: '涓�绾� 1',
- children: [{
- id: 4,
- label: '浜岀骇 1-1',
- children: [{
- id: 9,
- label: '涓夌骇 1-1-1'
- }, {
- id: 10,
- label: '涓夌骇 1-1-2'
- }]
- }]
- }, {
- id: 2,
- label: '涓�绾� 2',
- children: [{
- id: 5,
- label: '浜岀骇 2-1'
- }, {
- id: 6,
- label: '浜岀骇 2-2'
- }]
- }, {
- id: 3,
- label: '涓�绾� 3',
- children: [{
- id: 7,
- label: '浜岀骇 3-1'
- }, {
- id: 8,
- label: '浜岀骇 3-2'
- }]
- }],
+ treeData: [],
+ groupTreeData: [],
defaultProps: {
children: 'children',
- label: 'label'
- }
+ label: 'name',
+ id: 'oid',
+ isLeaf: ''
+ },
+ groupVal: '',
+ treeParam: {}
}
},
watch: {
filterText(val) {
+ console.log(this.$refs.tree)
this.$refs.tree.filter(val);
}
},
created() {
+ this.getReferCodeClassifyTree()
pinyin.setOptions({ checkPolyphone: false, charCase: 1 });
console.log(pinyin.getFullChars('绠$悊鍛�'))
console.log(pinyin.getCamelChars('绠$悊鍛�'))
-
},
methods: {
+ async getReferCodeClassifyTree() {
+ const param = {
+ parentBtmName: "jclass",
+ valueField: "oid",
+ textField: "name",
+ parentFieldName: "id"
+ }
+ const response = await referCodeClassifyTree(param)
+ console.log(response)
+ if (response.status === 200) {
+ let data = response.data;
+ this.treeData = data.map(item => item.children ? { ...item, ...{ isLeaf: false } } : { ...item, ...{ isLeaf: true } })
+ }
+ },
+ async getlistCodeAttributeByClassId(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
+ }
+ },
+ async referTree(oid, checked) {
+ this.groupTreeData = []
+ const response = await referTree({ 'conditionMap[codeclsfid]': oid, parentOid: null })
+ console.log(response)
+ if (response.status === 200) {
+ if (checked) {
+ let items = response.data.map(item => {
+ let obj = {}
+ if (item.checked) obj = { ...item }
+ else obj = null
+ return obj
+ })
+ var r = items.filter(s => { return s && s.trim() });
+ this.groupTreeData = r
+ } else {
+ this.groupTreeData = response.data
+ }
+ }
+ },
filterNode(value, data) {
+ console.log(value)
+ console.log(data)
if (!value) return true;
- return data.label.indexOf(value) !== -1;
+ return data.name.indexOf(value) !== -1;
},
handleSave() {
@@ -291,26 +244,46 @@
handelLeftCheck(event) {
console.log(event)
},
- addUpdate(event, done) {
- console.log(event)
- done()
- },
- rowSave(event, done) {
- console.log(event)
- done()
- },
- handleRowClick(row, event, column) {
- console.log(row)
- console.log(event)
- console.log(column)
+ handelCellRow( {row, column, rowIndex, columnIndex }) {
+ row.index = rowIndex
+ column.index = columnIndex
},
handleQuery(event) {
console.log(event)
this.form.name = event
},
- filterMethod(query, item) {
+ 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)
+ }
+ },
+ 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
+ },
+ inputBlur() {
+ this.tableColumnIndex = ''
+ this.tableRowIndex = null
+ }
}
}
</script>
@@ -320,6 +293,14 @@
color: #F56C6C;
}
+.setstyle {
+ min-height: 200px;
+ padding: 0 !important;
+ margin: 0;
+ overflow: auto;
+ cursor: default !important;
+}
+
/deep/ .el-transfer-panel__list {
width: 100%;
}
diff --git a/Source/UBCS-WEB/vue.config.js b/Source/UBCS-WEB/vue.config.js
index d3136dc..7543090 100644
--- a/Source/UBCS-WEB/vue.config.js
+++ b/Source/UBCS-WEB/vue.config.js
@@ -27,7 +27,8 @@
'/api': {
//鏈湴鏈嶅姟鎺ュ彛鍦板潃
target: 'http://localhost:37000',
- // target: 'http://192.168.3.7:37000',
+ // target: 'http://192.168.1.63:37000',
+ //target: 'http://192.168.3.7:37000',
//target: 'http://dev.vci-tech.com:37000',
//target: 'http://192.168.1.51:37000/',
//杩滅▼婕旂ず鏈嶅姟鍦板潃,鍙敤浜庣洿鎺ュ惎鍔ㄩ」鐩�
--
Gitblit v1.9.3