From 80ef464bf93212805d6b36f12b7791edda04e23e Mon Sep 17 00:00:00 2001 From: 田源 <lastanimals@163.com> Date: 星期五, 15 九月 2023 09:36:22 +0800 Subject: [PATCH] 集成模块 搜索回显 --- Source/UBCS-WEB/src/components/Theme/ThemeAttrCrud.vue | 213 +++++++++++++++++++++++++++++------------------------ 1 files changed, 117 insertions(+), 96 deletions(-) diff --git a/Source/UBCS-WEB/src/components/Theme/ThemeAttrCrud.vue b/Source/UBCS-WEB/src/components/Theme/ThemeAttrCrud.vue index df97fda..adfb9af 100644 --- a/Source/UBCS-WEB/src/components/Theme/ThemeAttrCrud.vue +++ b/Source/UBCS-WEB/src/components/Theme/ThemeAttrCrud.vue @@ -71,19 +71,19 @@ 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> @@ -326,10 +326,11 @@ > <template slot-scope="{ row }"> <el-input v-if="editingRows === row && editShows== item.prop && item.prop != 'codeDateFormat' && (item.edit == 'text' ||item.edit == 'refer' )" - ref="inputRef" + :ref="'input' + row.oid" v-show="!AddCellFlag" v-model="row[item.prop]" - autofocus @blur="saveRows"></el-input> + @blur="saveRows(row)" + ></el-input> <el-input-number v-if="editingRows === row && editShows== item.prop && item.edit == 'number'" v-model="row[item.prop]" :style="{width:(item.width-10)+'px'}" controls-position="right" @@ -372,6 +373,7 @@ import {AttrByBtm, gridCodeClassifyTemplateAttr, batchAddSave, copyto, listByFlag} from '@/api/template/templateAttr' import {getList} from "@/api/refer/table"; import func from "@/util/func"; +import {getCurrentInstance} from "vue"; export default { name: "attrCrud .vue", @@ -428,7 +430,7 @@ } }, crudArrayFlag: { - handler(newval, olaval) { + handler(newval, oldval) { console.log('crudArrayFlag', newval) } }, @@ -453,6 +455,16 @@ } } }, + // editingRows:{ + // handler(newval,oldval){ + // if(newval){ + // const inputElement = document.querySelector(`#inputRef${newval.oid}`); + // if (inputElement) { + // inputElement.focus(); + // }; + // } + // } + // }, ProData: { handler(newval, oldval) { if (newval) { @@ -1078,11 +1090,13 @@ column: [ { label: "灞炴�ц嫳鏂囧悕绉�", - prop: "id" + prop: "id", + width:100, }, { label: "灞炴�т腑鏂囧悕绉�", - prop: "name" + prop: "name", + width:100, }, { label: "闀垮害", @@ -1123,7 +1137,7 @@ prop: "precisionLength" }, { - label: "灏忕簿鍒诲害", + label: "灏忔暟鍒诲害", prop: "scaleLength" }, { @@ -1565,9 +1579,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 +1597,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) } @@ -1743,11 +1754,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 +1764,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({ @@ -1814,63 +1817,82 @@ 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 } } - // 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() { @@ -1974,6 +1996,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) @@ -2001,32 +2024,29 @@ }, //鍒嗙被娉ㄥ叆淇濆瓨 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; } this.injectVisible = false; - }, //鍒嗙被娉ㄥ叆娓呯┖ injectHandleReset() { @@ -2092,6 +2112,7 @@ this.editStyleFlag = true; this.attrEditVisible = true; this.attrFlag = true; + this.AddCellFlag=true; } }, @@ -2120,7 +2141,7 @@ this.$set(this.attrRow, 'referConfig', JSON.stringify(content)) } }, - // 鎺掑簭 + // 鎺掑簭 this.AddCellFlag=false; sortChange(val) { console.log(val) }, -- Gitblit v1.9.3