From 813b237509319b8db2e0ac8c82025b70713aa11c Mon Sep 17 00:00:00 2001 From: 田源 <lastanimals@163.com> Date: 星期三, 24 四月 2024 10:31:41 +0800 Subject: [PATCH] 操作日志添加模糊查询-集成日志隐藏表格接口参数 --- Source/UBCS-WEB/src/components/Theme/ThemeAttrCrud.vue | 558 +++++++++++++++++++++++++++++++++++++++---------------- 1 files changed, 397 insertions(+), 161 deletions(-) diff --git a/Source/UBCS-WEB/src/components/Theme/ThemeAttrCrud.vue b/Source/UBCS-WEB/src/components/Theme/ThemeAttrCrud.vue index df97fda..cc598dd 100644 --- a/Source/UBCS-WEB/src/components/Theme/ThemeAttrCrud.vue +++ b/Source/UBCS-WEB/src/components/Theme/ThemeAttrCrud.vue @@ -1,89 +1,114 @@ <template> <div> - <div v-if="this.crudArrayFlag" class="app" style="display: flex;flex-wrap: wrap; display: inline-block"> + <div v-if="this.crudArrayFlag" class="app" + style="display: flex;flex-wrap: wrap; display: inline-block;height: 80px"> <el-button-group> <!--鏂板--> - <el-button - v-if="attrEditVisible == false && attrFlagChiledren==false && editOpenFlag && (!checkStatus || crudLCStatus=='Editing' )" - icon="el-icon-plus" plain size="small" type="primary" @click="busineHandle">娣诲姞 {{ msg }} + <span v-if="permissionList.busineStatus"> + <el-button + v-if="attrEditVisible == false && attrFlagChiledren==false && editOpenFlag && (!checkStatus || crudLCStatus=='Editing' )" + icon="el-icon-plus" plain size="small" type="primary" @click="busineHandle">娣诲姞 {{ msg }} </el-button> + </span> <!-- 鍏ㄥ睆缂栬緫--> - <el-button - v-if=" attrEditVisible == false && attrFlagChiledren==false && editOpenFlag&&(!checkStatus || crudLCStatus=='Editing')" - icon="el-icon-full-screen" size="small" @click="fullscreenHandle">鍏ㄥ睆缂栬緫 + <span v-if="permissionList.fullscreenStatus"> + <el-button + v-if=" attrEditVisible == false && attrFlagChiledren==false && editOpenFlag&&(!checkStatus || crudLCStatus=='Editing')" + icon="el-icon-full-screen" size="small" @click="fullscreenHandle">鍏ㄥ睆缂栬緫 </el-button> - <!-- 楠岃瘉瑙勫垯--> + </span> + <span v-if="permissionList.ruleStatus"> + <!-- 楠岃瘉瑙勫垯--> <el-button v-if="(!checkStatus || crudLCStatus=='Editing' )&& editOpenFlag" icon="el-icon-info" size="small" @click="ruleAddHandler">楠岃瘉瑙勫垯 </el-button> - <!-- 灞炴�у垎缁�--> + </span> + <span v-if="permissionList.attrStatus"> + <!-- 灞炴�у垎缁�--> <el-button v-if="(!checkStatus || crudLCStatus=='Editing') && editOpenFlag" icon="el-icon-menu" size="small" @click="attrVisibleHandle">灞炴�у垎缁� </el-button> + </span> </el-button-group> <el-button-group> - <!-- 淇濆瓨--> - <el-button v-if="(!checkStatus|| crudLCStatus=='Editing') && editOpenFlag" icon="el-icon-check" plain size="small" + <span v-if="permissionList.saveStatus"> + <!-- 淇濆瓨--> + <el-button v-if="(!checkStatus|| crudLCStatus=='Editing') && editOpenFlag" icon="el-icon-check" plain + size="small" type="success" @click.prevent="addsHandler">淇濆瓨 </el-button> + </span> <!-- 棰勮鎺掑簭--> - <el-button icon="el-icon-arrow-down" size="small" @click="orderHandle">棰勮鎺掑簭</el-button> - <!-- 鍒犻櫎--> + <el-button v-if="permissionList.orderStatus" icon="el-icon-arrow-down" size="small" @click="orderHandle">棰勮鎺掑簭 + </el-button> + <span v-if="permissionList.removeStatus"> + <!-- 鍒犻櫎--> <el-button v-if="(!checkStatus || crudLCStatus=='Editing') && editOpenFlag" icon="el-icon-delete" size="small" @click="CrudRemove">鍒犻櫎 </el-button> + </span> <!-- 閲嶇疆--> - <el-button icon="el-icon-refresh-right" size="small" @click="reset">閲嶇疆</el-button> + <el-button v-if="permissionList.resetStatus" icon="el-icon-refresh-right" size="small" @click="resetHandler"> + 閲嶇疆 + </el-button> </el-button-group> <el-button-group> - <!--鏂板--> - <!-- 鍒嗙被娉ㄥ叆--> + <span v-if="permissionList.injectStatus"><!-- 鍒嗙被娉ㄥ叆--> <el-button v-if="(!checkStatus || crudLCStatus=='Editing') && editOpenFlag" icon="el-icon-magic-stick" size="small" @click="injectBtn">鍒嗙被娉ㄥ叆 - </el-button> - <!-- 缁勫悎瑙勫垯--> + </el-button></span> + <span v-if="permissionList.isShowStatus"> <!-- 缁勫悎瑙勫垯--> <el-button v-if="(!checkStatus || crudLCStatus=='Editing') && editOpenFlag" icon="el-icon-film" size="small" @click="isShowHandler">缁勫悎瑙勫垯 - </el-button> - <!-- 鏋氫妇娉ㄥ叆--> + </el-button></span> + <span v-if="permissionList.enumStatus"> <!-- 鏋氫妇娉ㄥ叆--> <el-button v-if="(!checkStatus || crudLCStatus=='Editing') && editOpenFlag" icon="el-icon-c-scale-to-original" - size="small" @click="enmuVisHandle">鏋氫妇娉ㄥ叆 - </el-button> - <!-- 绾ц仈灞炴��--> + size="small" @click="enumVisHandle">鏋氫妇娉ㄥ叆 + </el-button></span> + + <span v-if="permissionList.cascadStatus"> + <!-- 绾ц仈灞炴��--> <el-button v-if="(!checkStatus|| crudLCStatus=='Editing') && editOpenFlag" icon="el-icon-coin" size="small" @click="CascadeHandle">绾ц仈灞炴�� </el-button> + </span> </el-button-group> <el-button-group> <!-- 鍚屾鍒板叾浠栨ā鏉�--> - <el-button icon="el-icon-share" size="small" @click="syncHandle">鍚屾鍒板叾浠栨ā鏉�</el-button> + <el-button v-if="permissionList.syncStatus" icon="el-icon-share" size="small" @click="syncHandle">鍚屾鍒板叾浠栨ā鏉� + </el-button> </el-button-group> <el-button-group> <!-- 缂栫爜鐢宠棰勮--> - <el-button icon="el-icon-view" size="small" style="" @click="applicationHandle">缂栫爜鐢宠棰勮</el-button> + <el-button v-if="permissionList.applicationStatus" icon="el-icon-view" size="small" style="" + @click="applicationHandle">缂栫爜鐢宠棰勮 + </el-button> </el-button-group> <!-- 鏄惁寮�鍚紪杈� --> <el-button-group> - <el-button v-if="(!checkStatus|| crudLCStatus=='Editing') && !editOpenFlag && attrEditVisible == false && attrFlagChiledren==false" icon="el-icon-view" plain - size="small" - @click="editOpen">寮�鍚紪杈� + <el-button + v-if="(!checkStatus|| crudLCStatus=='Editing') && !editOpenFlag && attrEditVisible == false && attrFlagChiledren==false" + icon="el-icon-view" plain + size="small" + @click="editOpen">寮�鍚紪杈� </el-button> + <el-select v-if="(!checkStatus || crudLCStatus=='Editing') && editOpenFlag" v-model="selectvalue" + placeholder="璇烽�夋嫨" + size="small"> + <el-option + v-for="item in selectoptions" + :key="item.value" + :label="item.label" + :value="item.value"> + </el-option> + </el-select> + <el-switch v-if="(!checkStatus || crudLCStatus=='Editing') && editOpenFlag" v-model="switchvalue" + active-value="true" style="margin:6px 0 0 10px" @change="batchSetFlag"> + </el-switch> </el-button-group> - <el-select v-if="(!checkStatus || crudLCStatus=='Editing') && editOpenFlag" v-model="selectvalue" placeholder="璇烽�夋嫨" - size="small"> - <el-option - v-for="item in selectoptions" - :key="item.value" - :label="item.label" - :value="item.value"> - </el-option> - </el-select> - <el-switch v-if="(!checkStatus || crudLCStatus=='Editing') && editOpenFlag" v-model="switchvalue" - active-value="true" style="margin:6px 0 0 10px" @change="batchSetFlag"> - </el-switch> </div> <!-- 寮圭獥--> <div> @@ -252,8 +277,8 @@ </el-dialog> <!-- 鍏ㄥ睆缂栬緫--> <el-dialog :before-close="escEdit" :visible.sync="attrEditVisible" append-to-body fullscreen="true"> - <attrCrud :ProData="this.ProData" :attrFlagChiledren="this.attrFlag" :crudArrayFlag="this.crudArrayFlag" - :editOpenFlag="editOpenFlag" :editStyleFlag="editStyleFlag" + <attrCrud :ProData="this.ProData" :attrFlagChiledren="this.attrFlag" :btnAuthList="btnAuthList" + :crudArrayFlag="this.crudArrayFlag" :editOpenFlag="editOpenFlag" :editStyleFlag="editStyleFlag" @editCloseChildren="editClose"></attrCrud> </el-dialog> <!-- 缁勫悎瑙勫垯--> @@ -288,20 +313,36 @@ <el-button size="small" type="primary" @click="addVisible=false">鍙栨秷</el-button> </div> </el-dialog> - <!-- 鍙傜収閰嶇疆--> <refer-config-dialog :display="referConfigVisble" :referConfigOption="referConfigOption" @setReferConfigValue="setReferConfigValue" ></refer-config-dialog> + <!--杩戜箟璇嶆煡璇㈣鍒� --> + <el-dialog :visible.sync="synonymVisible" append-to-body title="杩戜箟璇嶆煡璇㈣鍒�"> + <avue-crud v-loading="sysonymLoading" :data="synonymData" :option="synonymOption" @selection-change="sysChange"> + <template slot="lcStatus" slot-scope="{row}"> + <el-tag v-if="row.lcStatus === 'Released'" type="success">鍚敤</el-tag> + <el-tag v-else type="danger">鍋滅敤</el-tag> + </template> + </avue-crud> + <div slot="footer" class="dialog-footer"> + <el-button type="info" @click="sysClear">娓呯┖</el-button> + <el-button type="primary" @click="sysnonymSubmit">纭畾</el-button> + <el-button @click="sysnonymCancel">鍙栨秷</el-button> + </div> + </el-dialog> </div> + <el-table v-if="this.crudArrayFlag" ref="referAttrCrud" v-loading="loading" :data="ProData" - :height="this.editStyleFlag? 800 : 343" + :header-cell-style="{background:'#FAFAFA',color:'#505050'}" + :height="this.tableHeight" + border style="width: 100%" @select="selectHandle" @cell-click="handleCellClicks" @@ -309,13 +350,13 @@ @row-click="rowClick" > <el-table-column - fixed + :fixed="!editStyleFlag ? 'left' : undefined" type="selection" width="55"> </el-table-column> <!--<el-table-column fixed label="搴忓彿" type="index" width="55"></el-table-column>--> <el-table-column v-for="(item,index) in this.option.column" v-if="item.edit !='referName'" :key="item.id" - :fixed="item.fixed" + :fixed="!editStyleFlag ? item.fixed : undefined" :formatter="formAttr" :label="item.label" :prop="item.prop" @@ -325,17 +366,23 @@ align="center" > <template slot-scope="{ row }"> - <el-input v-if="editingRows === row && editShows== item.prop && item.prop != 'codeDateFormat' && (item.edit == 'text' ||item.edit == 'refer' )" - ref="inputRef" - v-show="!AddCellFlag" - v-model="row[item.prop]" - autofocus @blur="saveRows"></el-input> - <el-input-number v-if="editingRows === row && editShows== item.prop && item.edit == 'number'" v-model="row[item.prop]" + <el-input + v-if="editingRows === row && editShows== item.prop && item.prop != 'codeDateFormat' && (item.edit == 'text' ||item.edit == 'refer' )" + v-show="!AddCellFlag" + :ref="'input' + row.oid" + v-model="row[item.prop]" + @blur="saveRows(row)" + ></el-input> + <el-input-number v-if="editingRows === row && editShows== item.prop && item.edit == 'number'" + v-show="!AddCellFlag" + v-model="row[item.prop]" :style="{width:(item.width-10)+'px'}" controls-position="right" size="small" @blur="saveRows"></el-input-number> - <el-select v-if="editingRows === row && editShows== item.prop && item.edit == 'select' " slot="prepend" v-model="row[item.prop]" allow-create default-first-option - filterable + <el-select v-if="editingRows === row && editShows== item.prop && item.edit == 'select' " v-show="!AddCellFlag" + slot="prepend" + v-model="row[item.prop]" :clearable="true" allow-create + default-first-option filterable @blur="selectChangeHandler(item.editConfig,index)"> <el-option v-for="optionItem in item.data" @@ -369,9 +416,18 @@ </template> <script> -import {AttrByBtm, gridCodeClassifyTemplateAttr, batchAddSave, copyto, listByFlag} from '@/api/template/templateAttr' +import { + AttrByBtm, + gridCodeClassifyTemplateAttr, + batchAddSave, + copyto, + listByFlag, + codeSynonym +} from '@/api/template/templateAttr' import {getList} from "@/api/refer/table"; import func from "@/util/func"; +import {getCurrentInstance} from "vue"; +import {mapGetters} from "vuex"; export default { name: "attrCrud .vue", @@ -418,6 +474,9 @@ type: Boolean, default: false }, + btnAuthList: { + type: Array + } }, watch: { crudOid: { @@ -428,8 +487,8 @@ } }, crudArrayFlag: { - handler(newval, olaval) { - console.log('crudArrayFlag', newval) + handler(newval, oldval) { + // console.log('crudArrayFlag', newval) } }, crudArray: { @@ -473,7 +532,7 @@ }, editOpenFlag: { handler(newval, oldval) { - console.log('editOpenFlag', newval) + // console.log('editOpenFlag', newval) }, deep: true, immediate: true @@ -482,8 +541,52 @@ }, data() { return { + sysSelectData: [], + sysonymLoading: false, + synonymOption: { + addBtn: false, + editBtn: false, + delBtn: false, + refreshBtn: false, + columnBtn: false, + menu: false, + selection: true, + column: [ + { + label: '缂栫爜', + prop: 'id', + align: 'center' + }, + { + label: '鍚嶇О', + prop: 'name', + align: 'center' + }, + { + label: '婧愬��', + prop: 'sourceValue', + align: 'center' + }, + { + label: '鍚屼箟璇�', + prop: 'synonymValue', + align: 'center' + }, + { + label: '鍚仠鐘舵��', + prop: 'lcStatus', + align: 'center', + slot: true + }, + ] + }, + synonymData: [], + //杩戜箟璇嶆煡璇㈣鍒� + synonymVisible: false, + //琛ㄦ牸楂樺害 + dynamicHeight: '', // 淇濆瓨鍗曞厓鏍肩姸鎬� - AddCellFlag:false, + AddCellFlag: false, //鍏ㄥ睆缂栬緫楂樺害鐘舵�� editStyleFlag: false, loading: false, @@ -630,6 +733,7 @@ addBtn: false, header: false, align: 'center', + columnBtn: false, menuAlign: 'center', column: [{ label: '', @@ -772,7 +876,7 @@ }, { label: "鍙", - prop: "readonlyFlag", + prop: "readOnlyFlag", }, { label: "鍒楄〃鎺掑簭", @@ -844,6 +948,7 @@ { label: "鍙傜収閰嶇疆", prop: "referConfig", + width: 105 }, { label: "绾ц仈鏌ヨ灞炴��", @@ -888,7 +993,7 @@ { label: "鍙栧�艰寖鍥�", prop: "valueArea", - }, + } ] }, // 瀛樺偍琛ㄦ牸鏁版嵁 @@ -1070,6 +1175,10 @@ indexClassName: "搴忓彿", indexLabelClassName: '搴忓彿', index: true, + indexFixed: false, + selectionFixed: false, + columnBtn: false, + refreshBtn: false, border: true, addBtn: false, menu: false, @@ -1078,11 +1187,13 @@ column: [ { label: "灞炴�ц嫳鏂囧悕绉�", - prop: "id" + prop: "id", + width: 130, }, { label: "灞炴�т腑鏂囧悕绉�", - prop: "name" + prop: "name", + width: 100, }, { label: "闀垮害", @@ -1123,7 +1234,7 @@ prop: "precisionLength" }, { - label: "灏忕簿鍒诲害", + label: "灏忔暟鍒诲害", prop: "scaleLength" }, { @@ -1163,6 +1274,7 @@ List: [], option: { index: false, + columnBtn: false, border: true, editBtn: false, selection: true, @@ -1242,6 +1354,12 @@ edit: "switch" }, { + label: '杩戜箟璇嶆煡璇㈣鍒�', + prop: 'sysonymRuleOidsText', + cell: false, + edit: 'refer' + }, + { label: "鐩镐技鏌ラ噸灞炴��", prop: "sameRepeatAttrFlag", width: 110, @@ -1268,7 +1386,7 @@ }, { label: "鍙", - prop: "readonlyFlag", + prop: "readOnlyFlag", cell: false, edit: "switch" }, @@ -1280,7 +1398,7 @@ }, { label: "澶氳鏂囨湰", - prop: "textareaFlag", + prop: "textAreaFlag", cell: false, edit: "switch" }, @@ -1495,13 +1613,13 @@ value: 'tableDisplayFlag', label: '鍒楄〃鏄剧ず' }, { - value: 'readonlyFlag', + value: 'readOnlyFlag', label: '鍙' }, { value: 'sortAttrFlag', label: '鍒楄〃鎺掑簭' }, { - value: 'textareaFlag', + value: 'textAreaFlag', label: '澶氳鏂囨湰' }, { value: 'imageFlag', @@ -1513,6 +1631,25 @@ } }, computed: { + ...mapGetters(["permission"]), + permissionList() { + return { + busineStatus: this.vaildData(this.btnAuthList.attr_add, false), + fullscreenStatus: this.vaildData(this.btnAuthList.attr_view_edit, false), + ruleStatus: this.vaildData(this.btnAuthList.attr_rule, false), + attrStatus: this.vaildData(this.btnAuthList.attr_group, false), + saveStatus: this.vaildData(this.btnAuthList.attr_save, false), + resetStatus: this.vaildData(this.btnAuthList.attr_reset, false), + injectStatus: this.vaildData(this.btnAuthList.attr_inject, false), + isShowStatus: this.vaildData(this.btnAuthList.attr_formrule, false), + enumStatus: this.vaildData(this.btnAuthList.attr_enum, false), + cascadStatus: this.vaildData(this.btnAuthList.attr_parentcode, false), + syncStatus: this.vaildData(this.btnAuthList.attr_sync, false), + applicationStatus: this.vaildData(this.btnAuthList.attr_application, false), + orderStatus: this.vaildData(this.btnAuthList.attr_sort, false), + removeStatus: this.vaildData(this.btnAuthList.attr_delete, false), + } + }, attrOids() { let oids = []; this.attrSelectList.forEach(ele => { @@ -1527,6 +1664,13 @@ }); return oids.join(","); }, + tableHeight() { + if (this.editStyleFlag) { + return '800px' + } else { + return 'calc(100vh - 602px)' + } + } }, mounted() { }, @@ -1538,6 +1682,35 @@ }) }, methods: { + //杩戜箟璇嶆煡璇㈣鍒欏彇娑� + sysnonymCancel() { + this.synonymVisible = false; + }, + //杩戜箟璇嶆煡璇㈣鍒欑‘瀹� + sysnonymSubmit() { + if (this.sysSelectData.length <= 0) { + this.$message.warning('璇疯嚦灏戦�夋嫨涓�鏉℃暟鎹紒') + } else { + const newArray = this.sysSelectData.map(obj => obj.oid); + const newString = newArray.join(','); + const newArrayName = this.sysSelectData.map(obj => obj.name); + const newStringName = newArrayName.join(',') + this.$set(this.CurrentCell, 'sysonymRuleOids', newString) + //text + this.$set(this.CurrentCell, 'sysonymRuleOidsText', newStringName) + this.$set(this.CurrentCell, 'sysonymRuleOidsData', this.sysSelectData) + this.AddCellFlag = true; + this.synonymVisible = false; + } + }, + sysClear(){ + this.CurrentCell.sysonymRuleOidsText = ""; + this.CurrentCell.sysonymRuleOidsData = ""; + this.AddCellFlag = true; + }, + sysChange(row) { + this.sysSelectData = row; + }, //鏂板鎼滅储 AddFindHandler() { if (this.SelectValue == 'id') { @@ -1565,9 +1738,6 @@ //鍙緭鍙�変笅鎷� selectChangeHandler(editConfig, index) { let that = this; - /*if(that.option.column[index].data && that.option.column[index].data.length>=0){ - return; - }*/ listByFlag(editConfig.extraParams).then(res => { that.option.column[index].data = res.data.data; }) @@ -1586,7 +1756,7 @@ item.attributeGroup = this.attrModel }) if (this.CurrentCell) { - this.$set(this.CurrentCell, 'attributeGroup', this.attrModel) + this.$set(this.CurrentCell, 'attributeGroup', this.attrModel); } else { this.$set(this.attrSelectList[0], 'attributeGroup', this.attrModel) } @@ -1653,7 +1823,10 @@ attrTableWidth: 120, ts: "" }) - this.ProData.push(JSON.parse(JSON.stringify(this.busineAddList))) + // 灏嗚嫳鏂囩紪鍙疯浆鎹负灏忓啓 + let {id, ...res} = this.busineAddList; + this.busineAddList = {id: id.toLowerCase(), ...res}; + this.ProData.push(JSON.parse(JSON.stringify(this.busineAddList))); } }) this.addVisible = false; @@ -1743,11 +1916,9 @@ addsHandler(event) { this.$refs.referAttrCrud.sort("orderNum"); var ischeck = true; - console.log('ProData',this.ProData) this.ProData.forEach((item, index) => { if ((item.requireFlag && item.requireFlag.toString() == 'true') && (item.readOnlyFlag && item.readOnlyFlag.toString() == 'true')) { this.$message.warning(item.name + "(" + item.id + ")蹇呰緭鐨勫睘鎬т笉鑳芥槸鍙"); - console.log(item) ischeck = false; return; } @@ -1755,29 +1926,23 @@ if (item.componentRule) { //缁勫悎瑙勫垯 num++ - console.log('componentRule', num) } if (item.enumString || item.enumId) { //鏋氫妇 num++ - console.log('enumString', num) } if (item.referConfig || item.referBtmId) { //鍙傜収 num++ - console.log('referConfig', num) } if (item.codeDateFormat) { //鏃堕棿鏍煎紡 num++ - console.log('codeDateFormat', num) } //濡傛灉绌哄悗鍙拌繑鍥瀗one if (item.classifyInvokeLevel && item.classifyInvokeLevel != 'none') { //鍒嗙被娉ㄥ叆 num++ - console.log('classifyInvokeLevel', num) - console.log(item.classifyInvokeLevel) } if (num > 1 && ischeck) { this.$message({ @@ -1795,11 +1960,11 @@ // 鏂板嚱鏁扮敤浜庢墽琛宐atchAddSave鏂规硶 const executeBatchAddSave = () => { batchAddSave(JSON.parse(JSON.stringify(this.ProData))).then(res => { - this.$message.success('淇濆瓨鎴愬姛') this.editOpenFlag = false; + this.$message.success('淇濆瓨鎴愬姛') // 璋冪敤鐖剁粍浠朵慨鏀规寜閽姸鎬� this.$emit('editCloseChildren') - this.AddCellFlag=true; + this.AddCellFlag = true; }).catch(() => { this.$message.warning('淇濆瓨澶辫触锛岃鏌ョ湅鎺у埗鍙拌緭鍑猴紒') }); @@ -1810,67 +1975,98 @@ //琛ㄦ牸琛岀紪杈� handleCellClicks(row, column) { if (this.editOpenFlag) { + this.AddCellFlag = false; this.editingRows = row; this.editShows = column.property; this.rowOid = row.oid; this.CurrentCell = row; - if (column.property == 'referConfig') { - this.referConfigVisble = true; - this.referConfigOption = { - referConfig: this.CurrentCell.referConfig || '', + this.$nextTick(() => { + const inputs = this.$refs['input' + row.oid]; + const input = inputs && inputs.length > 0 ? inputs[0].$el : null; + if (input) { + input.focus(); } - if (this.CurrentCell.referConfig == '') { + }); + const columnActions = { + referConfig: () => { + this.referConfigVisble = true; this.referConfigOption = { - referConfig: '', + referConfig: this.CurrentCell.referConfig || '', } + if (this.CurrentCell.referConfig == '') { + this.referConfigOption = { + referConfig: '', + } + } + }, + classifyInvokeText: () => { + this.injectVisible = true; + if (this.CurrentCell.classifyInvokeAttr != '') { + this.injectOption = { + classifyInvokeAttr: this.CurrentCell.classifyInvokeAttr, + classifyInvokeAttrName: this.CurrentCell.classifyInvokeAttrName, + classifyInvokeEditFlag: this.CurrentCell.classifyInvokeEditFlag, + classifyInvokeLevel: this.CurrentCell.classifyInvokeLevel == 'min' ? 'min' : 'max', + classifyNumber: this.CurrentCell.classifyInvokeLevel == 'min' ? '' : this.CurrentCell.classifyInvokeLevel + }; + } + }, + componentRule: () => { + this.isShowformulaEdit = true; + }, + enumString: () => { + this.enumVisible = true; + this.tableData = []; + if (this.CurrentCell.enumString != "") { + this.tableData = JSON.parse(this.CurrentCell.enumString) + return; + } + }, + parentCode: () => { + gridCodeClassifyTemplateAttr({ + 'conditionMap[classifyTemplateOid]': this.Formlist[0].oid, + 'conditionMap[oid_notequal]': this.CurrentCell.oid, + limit: -1 + }).then(res => { + this.CascadeData = res.data.data; + }) + this.CascadeVisible = true; + }, + verifyRule: () => { + this.RulesForm.expressionTextt = this.CurrentCell.verifyRule; + this.rulesVisible = true; + }, + attributeGroup: () => { + this.attrVisible = true; + if (this.CurrentCell.attributeGroup !== '') { + this.attrModel = this.CurrentCell.attributeGroup + } + }, + sysonymRuleOidsText: () => { + this.sysonymLoading = true + codeSynonym('1', '-1', 'Released').then(res => { + this.synonymData = res.data.data.records; + this.sysonymLoading = false; + }).catch(() => { + this.$message.error('璇锋鏌ユ帶鍒跺彴閿欒淇℃伅锛�') + }) + + this.synonymVisible = true; } - // this.$refs.referConfigFormDialog.onloadAttrData(); - } else if (column.property == 'classifyInvokeText') { - this.injectVisible = true; - if (this.CurrentCell.classifyInvokeAttr != '') { - this.injectOption = { - classifyInvokeAttr: this.CurrentCell.classifyInvokeAttr, - classifyInvokeAttrName: this.CurrentCell.classifyInvokeAttrName, - classifyInvokeEditFlag: this.CurrentCell.classifyInvokeEditFlag, - classifyInvokeLevel: this.CurrentCell.classifyInvokeLevel == 'min' ? 'min' : 'max', - classifyNumber: this.CurrentCell.classifyInvokeLevel == 'min' ? '' : this.CurrentCell.classifyInvokeLevel - }; - } else { - // this.injectHandleReset(); - } - } else if (column.property == 'componentRule') { - if (this.CurrentCell) { - // this.CurrentCell.componentRule = this.componentRuleText; - } - this.isShowformulaEdit = true; - } else if (column.property == 'enumString') { - this.enumVisible = true; - if (this.attrSelectList[0].enumString != "") { - this.tableData = JSON.parse(this.attrSelectList[0].enumString) - return - } - } else if (column.property == 'parentCode') { - gridCodeClassifyTemplateAttr({ - 'conditionMap[classifyTemplateOid]': this.Formlist[0].oid, - 'conditionMap[oid_notequal]': this.CurrentCell.oid, - limit: -1 - }).then(res => { - this.CascadeData = res.data.data; - }) - this.CascadeVisible = true; - } else if (column.property == 'verifyRule') { - this.RulesForm.expressionTextt = this.CurrentCell.verifyRule; - this.rulesVisible = true; - } else if (column.property == 'attributeGroup') { - this.attrVisible = true; - if (this.CurrentCell.attributeGroup !== '') { - this.attrModel = this.CurrentCell.attributeGroup - } + }; + + if (column.property in columnActions) { + columnActions[column.property](); } } }, saveRows() { this.editingRows = null; + this.editShows = null; + // const inputElement = document.querySelector(`#inputRef${this.CurrentCell.oid}`); + // if (inputElement) { + // inputElement.blur(); + // } }, // 鏋氫妇娉ㄥ叆娣诲姞涓�琛岀┖鏁版嵁 addRow() { @@ -1889,7 +2085,7 @@ this.tableData.splice(row.$index, 1) }, //鏋氫妇娉ㄥ叆鎸夐挳 - enmuVisHandle() { + enumVisHandle() { if (this.attrSelectList.length > 1) { this.$message.warning('鍙兘閫夋嫨涓�鏉℃ā鏉垮睘鎬�') } else if (this.attrSelectList < 1) { @@ -1974,6 +2170,7 @@ rulesHandle() { if (this.CurrentCell) { this.$set(this.CurrentCell, 'verifyRule', this.RulesForm.expressionText) + this.AddCellFlag = !this.AddCellFlag; } else { this.attrSelectList.forEach((item) => { this.$set(item, 'verifyRule', this.RulesForm.expressionText) @@ -1987,54 +2184,67 @@ const regex = new RegExp(this.rulesData.ruleRowBds); if (regex.test(this.RulesForm.TestContent)) { this.$message.success('鏍¢獙鎴愬姛') + } else { + this.$message.error('鏍¢獙澶辫触') } }, //鐐瑰嚮鍒嗙被娉ㄥ叆鎸夐挳 injectBtn() { if (this.attrSelectList.length > 1) { this.$message.warning('鍙兘閫夋嫨涓�鏉℃ā鏉挎暟鎹�') - } else if (this.attrSelectList.length < 1) { + return; + } + if (this.attrSelectList.length < 1) { this.$message.warning('璇烽�夋嫨涓�鏉℃ā鏉挎暟鎹�') - } else if (this.attrSelectList.length === 1) { + return; + ; + } + if (this.attrSelectList.length === 1) { this.injectVisible = true; + return; } }, //鍒嗙被娉ㄥ叆淇濆瓨 injectAddHandle() { - // 瀹氫箟灞曠ず绫诲瀷 - let data = { - "娉ㄥ叆绫诲瀷": this.injectOption.classifyInvokeAttr, - "娉ㄥ叆绫诲瀷鍚嶇О": this.injectOption.classifyInvokeAttrName, - "灞傜骇璁剧疆": this.injectOption.classifyInvokeLevel == 'max' ? this.injectOption.classifyNumber : 'min', - "鏄惁鍙慨鏀�": this.injectOption.classifyInvokeEditFlag - } - //鍕鹃�夋搷浣� + const { + classifyInvokeAttr, + classifyInvokeAttrName, + classifyInvokeLevel, + classifyInvokeEditFlag, + classifyNumber + } = this.injectOption; + + const data = { + "娉ㄥ叆绫诲瀷": classifyInvokeAttr, + "娉ㄥ叆绫诲瀷鍚嶇О": classifyInvokeAttrName, + "灞傜骇璁剧疆": classifyInvokeLevel === 'max' ? classifyNumber : 'min', + "鏄惁鍙慨鏀�": classifyInvokeEditFlag + }; for (const key in this.injectOption) { this.attrSelectList[0][key] = this.injectOption[key]; - //濡傛灉鏄寚瀹氬眰璧嬪�间负鏁板瓧 - if (this.injectOption.classifyInvokeLevel !== 'min') { - this.attrSelectList[0].classifyInvokeLevel = this.injectOption.classifyNumber + if (classifyInvokeLevel !== 'min') { + this.attrSelectList[0].classifyInvokeLevel = classifyNumber; } else { - this.attrSelectList[0].classifyInvokeLevel = 'min' + this.attrSelectList[0].classifyInvokeLevel = 'min'; } - this.$set(this.attrSelectList[0], 'classifyInvokeText', data) + this.$set(this.attrSelectList[0], 'classifyInvokeText', data); } - // this.injectHandleReset() - if (this.injectOption.classifyInvokeLevel !== 'min') { - this.injectOption.classifyInvokeLevel = this.injectOption.classifyNumber; + if (classifyInvokeLevel !== 'min') { + this.injectOption.classifyInvokeLevel = classifyNumber; } else { this.injectOption.classifyNumber = 0; } + // console.log(this.ProData) this.injectVisible = false; - }, //鍒嗙被娉ㄥ叆娓呯┖ injectHandleReset() { - this.$set(this.CurrentCell, 'classifyInvokeText', '') - this.$set(this.CurrentCell, 'classifyInvokeAttr:', '') - this.$set(this.CurrentCell, 'classitwInvokeAttrName', '') - this.$set(this.CurrentCell, 'classifyInvokeEditFlag', 'false') - this.$set(this.CurrentCell, 'classifyInvokeLevel', 'none') + this.CurrentCell.classifyInvokeText = null; + this.CurrentCell.classifyInvokeAttr = ''; + this.CurrentCell.classifyInvokeAttrName = ''; + this.CurrentCell.classifyInvokeEditFlag = ''; + this.CurrentCell.classifyInvokeLevel = null; + // console.log(this.ProData) this.injectVisible = false; }, // 鍒嗙被娉ㄥ叆鍙栨秷 @@ -2055,7 +2265,7 @@ }) }, //琛ㄦ牸閲嶇疆 - reset() { + resetHandler() { this.CrudRend() }, //鍚屾鍒板叾浠栨ā鏉� @@ -2092,6 +2302,7 @@ this.editStyleFlag = true; this.attrEditVisible = true; this.attrFlag = true; + this.AddCellFlag = true; } }, @@ -2105,7 +2316,7 @@ updataFormlaContent(val) { if (this.CurrentCell) { this.$set(this.CurrentCell, 'componentRule', val.replace(/"/g, '')) - this.componentRuleText= this.CurrentCell.componentRule + this.componentRuleText = this.CurrentCell.componentRule } else { this.$set(this.attrRow, 'componentRule', val.replace(/"/g, '')) } @@ -2120,14 +2331,14 @@ this.$set(this.attrRow, 'referConfig', JSON.stringify(content)) } }, - // 鎺掑簭 + // 鎺掑簭 this.AddCellFlag=false; sortChange(val) { - console.log(val) + // console.log(val) }, //寮�鍚紪杈� editOpen() { this.editOpenFlag = true; - this.AddCellFlag=false; + this.AddCellFlag = false; }, //瀹氫箟涓�涓叧闂紪杈戠殑鏂规硶渚涘瓙缁勪欢浣跨敤 editClose() { @@ -2144,6 +2355,31 @@ </script> <style lang="scss" scoped> +//鍥哄畾鍒楅珮搴� +/deep/ .el-table__fixed { + height: calc(100vh - 618px) !important; +} + +///deep/ .el-table__fixed[v-if='editStyleFlag'] { +// height: calc(100vh - 152px)!important; // 缂栬緫鐘舵�佷笅鐨勯珮搴� +//} +// 婊氬姩鏉℃牱寮忎慨鏀� +// 婊氬姩鏉$殑瀹藉害 +/deep/ .el-table__body-wrapper::-webkit-scrollbar { + height: 15px; // 绾靛悜婊氬姩鏉� 蹇呭啓 + background: white; + border: white; + width: 10px; + +} + +// 婊氬姩鏉$殑婊戝潡 +/deep/ .el-table__body-wrapper::-webkit-scrollbar-thumb { + background-color: #ececec; + border-radius: 20px; + border: #ececec; +} + .app { /deep/ .el-button { //margin: 0 10px 10px 0; -- Gitblit v1.9.3