From d7eba1786ed1fba2b3674f9da3af4fbf1a3f8692 Mon Sep 17 00:00:00 2001 From: fujunling <2984387807@qq.com> Date: 星期四, 01 六月 2023 18:49:05 +0800 Subject: [PATCH] 解决冲突 --- Source/UBCS-WEB/src/views/integration/integrationIndex.vue | 323 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 323 insertions(+), 0 deletions(-) diff --git a/Source/UBCS-WEB/src/views/integration/integrationIndex.vue b/Source/UBCS-WEB/src/views/integration/integrationIndex.vue new file mode 100644 index 0000000..c18063d --- /dev/null +++ b/Source/UBCS-WEB/src/views/integration/integrationIndex.vue @@ -0,0 +1,323 @@ +<template> + <div> + <el-container style="height: 100%; border: 1px solid #fff"> + <el-card :style="{ marginRight: '10px' }"> + <el-aside width="300px" style="background-color: #fff"> + <el-input placeholder="杈撳叆鍏抽敭瀛楄繘琛岃繃婊�" v-model="filterText"> + </el-input> + <el-menu :default-openeds="['1', '3']"> + <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> + <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> + <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 :style="{ marginTop: '20px' }"> + <avue-crud :data="tablesData" :option="optinos" ref="crud" + @cell-click="handleCellClick"> + </avue-crud> + </el-card> + </el-card> + </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 + }, + data() { + const generateData = () => { + pinyin.setOptions({ checkPolyphone: false, charCase: 1 }); + const data = []; + const cities = ['涓婃捣', '鍖椾含', '骞垮窞', '娣卞湷', '鍗椾含', '瑗垮畨', '鎴愰兘']; + cities.forEach((city, index) => { + data.push({ + label: city, + key: index, + pinyin: pinyin.getFullChars(city), + pinyins: pinyin.getCamelChars(city), + }); + }); + return data; + }; + return { + form: { + name: '', + groupValue: '' + }, + loading: false, + ishowTree: false, + search: '', + transferData: generateData(), + transferValue: [], + dialogPush: false, + tableData: [], + tablesData: [ + { + id:'01', + groupTypeName:'鏉庡洓', + codeView:'寮犱笁', + sex:'', + typeName:'' + } + ], + filterText: '', + tableRowIndex:null, + tableColumnIndex:null, + optinos: { + 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, + 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 }, + ] + }, + option: { + 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, + column: [ + { 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: [], + groupTreeData: [], + defaultProps: { + children: 'children', + 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.name.indexOf(value) !== -1; + }, + handleSave() { + + }, + handlePush() { + + }, + 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 + }, + 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> +<style lang="scss" scoped> +.text_tip { + padding: 10px 0; + color: #F56C6C; +} + +.setstyle { + min-height: 200px; + padding: 0 !important; + margin: 0; + overflow: auto; + cursor: default !important; +} + +/deep/ .el-transfer-panel__list { + width: 100%; +} + +/deep/ .el-input { + width: auto; +} + +/deep/ .el-transfer-panel { + width: 270px; +} + +/deep/ .el-transfer-panel__list { + height: 370px; +} + +/deep/ .el-transfer-panel__body { + height: 370px; +} +</style> \ No newline at end of file -- Gitblit v1.9.3