From 9b4433fddf5b401edb0aace8a404ac733b122702 Mon Sep 17 00:00:00 2001 From: 田源 <tianyuan@vci-tech.com> Date: 星期四, 03 四月 2025 14:35:02 +0800 Subject: [PATCH] 添加非密字段显示 --- Source/UBCS-WEB/src/views/modeling/originalAdd.vue | 284 +++++++++++++++++++++++++++++++++++++------------------- 1 files changed, 188 insertions(+), 96 deletions(-) diff --git a/Source/UBCS-WEB/src/views/modeling/originalAdd.vue b/Source/UBCS-WEB/src/views/modeling/originalAdd.vue index 274381b..ec51cc5 100644 --- a/Source/UBCS-WEB/src/views/modeling/originalAdd.vue +++ b/Source/UBCS-WEB/src/views/modeling/originalAdd.vue @@ -1,12 +1,12 @@ <template> <el-container> - <el-dialog title="鍏冩暟鎹�" :visible.sync="showSubmitDialog" append-to-body @close="closeSubmitDialog" width="50%" + <el-dialog title="鍏冩暟鎹�" :visible.sync="showSubmitDialog" append-to-body @close="closeSubmitDialog" width="700px" style="height: 115vh;"> <!-- 鍏冩暟鎹殑澧炴敼寮圭獥 --> <el-form ref="form" :model="attribute" show-message="true" inline size="medium" label-suffix=":" class="attributeForm" :rules="rules" @resetFields="resetAttributeForm" status-icon="true"> <el-form-item label="灞炴�х紪鍙�" label-width="100px" prop="id"> - <el-input v-model="attribute.id" maxlength="15" show-word-limit type="text"></el-input> + <el-input v-model="attribute.id" maxlength="30" show-word-limit @input="handleIdInput"></el-input> </el-form-item> <el-form-item label="灞炴�у悕绉�" label-width="100px" prop="name"> <el-input v-model="attribute.name"></el-input> @@ -17,9 +17,9 @@ </el-option> </el-select> </el-form-item> - <el-form-item label="鏍囩" label-width="100px"> +<!-- <el-form-item label="鏍囩" label-width="100px"> <el-input v-model="attribute.hashtag"></el-input> - </el-form-item> + </el-form-item>--> <el-form-item label="榛樿鍊�" label-width="100px"> <el-input v-model="attribute.defaultValue"></el-input> </el-form-item> @@ -27,25 +27,26 @@ <el-switch v-model="attribute.nullable" active-text="鍏佽" inactive-text="涓嶅厑璁�"></el-switch> </el-form-item> <el-form-item label="闀垮害" label-width="100px" prop="maxLength"> - <el-input-number v-model="attribute.maxLength" :min="1" :max="4000" :step="1" controls-position="right"></el-input-number> + <el-input-number v-model="attribute.maxLength" :min="1" :max="4000" :step="1" + controls-position="right"></el-input-number> </el-form-item> - <el-form-item label="绮惧害" label-width="100px" v-if="attribute.typeValue == 'VTDouble'"> - <el-input-number v-model="attribute.precision" :min="1" :max="20" :step="1" controls-position="right" @change="changeNumber"></el-input-number> + <el-form-item label="绮惧害" label-width="100px" v-if="attribute.typeKey == 'VTDouble'"> + <el-input-number v-model="attribute.precision" :min="1" :max="20" :step="1" controls-position="right" + @change="changeNumber"></el-input-number> </el-form-item> <el-form-item label="鎻忚堪" label-width="100px"> <el-input v-model="attribute.description" type="text"></el-input> </el-form-item> - <el-tabs v-model="activeName" @tab-click="handleClick" stretch="true"> <el-tab-pane label="鍙傜収" name="referTab"> - <el-form-item label="鍙傜収绫诲瀷" label-width="100px"> + <el-form-item label="鍙傜収绫诲瀷" label-width="100px" class="referTypeForm"> <el-select v-model="attribute.referTypeKey" @change="referTypeSelectChange"> <el-option v-for="item in btmRefer.referTypeList" :key="item.value" :label="item.label" :value="item.value"> </el-option> </el-select> </el-form-item> - <el-form-item label="鍙傜収鍚嶇О" label-width="100px"> + <el-form-item label="鍙傜収鍚嶇О" label-width="100px" class="referNameForm"> <el-input v-model="attribute.referToName" @focus="openReferConfig" clearable="true" :disabled="referToFlag" @clear="clearReferTo"> <i slot="suffix" class="el-input__icon el-icon-search"></i> @@ -59,14 +60,16 @@ </el-input> </el-form-item> <el-form-item label="鏋氫妇椤�" label-width="100px"> - + <el-tag v-for="eItem in dictEnums" :key="eItem.itemName" type="info"> + {{eItem.itemName}} + </el-tag> </el-form-item> </el-tab-pane> </el-tabs> </el-form> <div slot="footer" class="dialog-footer"> <el-button type="primary" @click="submitAttribute">纭畾</el-button> - <el-button @click="cancleSubmit">鍙栨秷</el-button> + <el-button @click="cancelSubmit">鍙栨秷</el-button> </div> <!-- 閫夋嫨鍙傜収鏃剁殑寮圭獥 --> <el-dialog title="鍙傜収鍒楄〃" :visible.sync="btmRefer.show" append-to-body @close="closeReferDialog" width="80%" @@ -74,7 +77,7 @@ <el-container> <el-aside> <basic-container> - <span class="el-dialog__title"> {{ domain.treeOption.title }} </span> + <span class="el-dialog__title"> {{ domain.treeOption.title }} </span> <div style="height:20px;"></div> <avue-tree id="domain" :data="domain.data" :option="domain.treeOption" @node-click="nodeClick" class="businessTree" style="height: 418px"> @@ -89,7 +92,8 @@ </el-aside> <el-main> <basic-container> - <avue-crud ref="btmTable" :option="btmRefer.option" :data="btmRefer.data" class="btmTable" @row-click="btmReferClick"> + <avue-crud ref="btmTable" :option="btmRefer.option" :data="btmRefer.data" class="btmTable" + @row-click="btmReferClick"> <template slot="radio" slot-scope="{row}"> <el-radio v-model="btmRefer.selectRow" :label="row.$index"> </el-radio> @@ -101,13 +105,27 @@ </el-container> <div slot="footer" class="dialog-footer"> <el-button type="primary" @click="confirmBtm" size="small">纭畾</el-button> - <el-button @click="cancleBtm" size="small">鍙栨秷</el-button> + <el-button @click="cancelBtm" size="small">鍙栨秷</el-button> </div> </el-dialog> <!-- 閫夋嫨鏋氫妇鏃剁殑寮圭獥 --> - <el-dialog title="鏋氫妇鍒楄〃" :visible.sync="enumRefer.show" append-to-body @close="closeEnumDialog" width="70%" + <el-dialog title="鏋氫妇鍒楄〃" :visible.sync="enumRefer.show" append-to-body @close="closeEnumDialog" width="70%" style="height: 115vh;"> - <avue-crud ref="eunmTable" :option="enumRefer.option" :data="enumRefer.data" class="enumTable" @row-click="enumReferClick" :page.sync="enumRefer.enumPage"> + <div> + <el-form :inline="true" :model="form" class="demo-form-inline" size="small"> + <el-form-item label="鏋氫妇浠e彿"> + <el-input v-model="form.name" placeholder="鏋氫妇浠e彿"></el-input> + </el-form-item> + <el-form-item label="鏋氫妇鍚嶇О"> + <el-input v-model="form.label" placeholder="鏋氫妇鍚嶇О"></el-input> + </el-form-item> + <el-form-item> + <el-button type="primary" @click="onSubmit">鏌ヨ</el-button> + </el-form-item> + </el-form> + </div> + <avue-crud ref="eunmTable" :option="enumRefer.option" @on-load="enumOnLoad" :data="enumRefer.data" class="enumTable" + @row-click="enumReferClick" :page.sync="enumRefer.enumPage"> <template slot="radio" slot-scope="{row}"> <el-radio v-model="enumRefer.selectRow" :label="row.$index"> </el-radio> @@ -115,7 +133,7 @@ </avue-crud> <div slot="footer" class="dialog-footer"> <el-button type="primary" @click="confirmEnum" size="small">纭畾</el-button> - <el-button @click="cancleEnum" size="small">鍙栨秷</el-button> + <el-button @click="cancelEnum" size="small">鍙栨秷</el-button> </div> </el-dialog> </el-dialog> @@ -124,9 +142,9 @@ </template> <script> -import { getDictionary,getParentList } from '@/api/omd/enum' -import { initTree,btmPage } from '@/api/omd/btmType' -import { add} from '@/api/omd/OmdAttribute' +import { getDictionary, getParentList } from '@/api/omd/enum' +import { initTree, btmPage } from '@/api/omd/btmType' +import { add } from '@/api/omd/OmdAttribute' export default { name: 'originalAdd', props: { @@ -136,6 +154,10 @@ }, data() { return { + form:{ + name:'', + label:'' + }, showSubmitDialog: false, // 榛樿鐨勯〉绛� activeName: 'referTab', @@ -148,7 +170,7 @@ id: [ { required: true, message: '璇疯緭鍏ュ睘鎬х紪鍙�', trigger: 'blur' }, { pattern: /^[A-Za-z]+$/, message: '灞炴�х紪鍙峰彧鑳戒负鑻辨枃', trigger: 'blur' }, - { min: 2, max: 15, message: '闀垮害鍦�2鍒�15涓瓧绗�', trigger: 'blur' } + { min: 2, max: 30, message: '闀垮害鍦�2鍒�30涓瓧绗�', trigger: 'blur' } ], name: [ { required: true, message: '璇疯緭鍏ュ睘鎬у悕绉�', trigger: 'blur' } @@ -181,24 +203,24 @@ highlightCurrentRow: true, column: [ { - label: '', - prop: 'radio', - width: 60, - hide: false - }, - { - label: '鑻辨枃鍚嶇О', - prop: 'id', - align: 'center', - searchSpan:8, - search: true, - }, { - label: '涓枃鍚嶇О', - prop: 'name', - align: 'center', - searchSpan:8, - search: true, - }] + label: '', + prop: 'radio', + width: 60, + hide: false + }, + { + label: '鑻辨枃鍚嶇О', + prop: 'id', + align: 'center', + searchSpan: 8, + search: true, + }, { + label: '涓枃鍚嶇О', + prop: 'name', + align: 'center', + searchSpan: 8, + search: true, + }] }, // 鍙傜収椤甸潰琛ㄦ牸鏁版嵁 data: [], @@ -219,30 +241,31 @@ addBtn: false, refreshBtn: false, columnBtn: false, - selection: true, + // selection: true, menu: false, border: true, reserveSelection: true, searchMenuSpan: 32, - searchShowBtn: false, + // searchShowBtn: false, + // search:true, highlightCurrentRow: true, column: [{ label: '', prop: 'radio', width: 60, hide: false - },{ + }, { label: '鏋氫妇浠e彿', prop: 'name', align: 'center', - searchSpan:8, - search: true, + searchSpan: 8, + // search: true, }, { label: '鏋氫妇鍚嶇О', prop: 'label', align: 'center', - searchSpan:8, - search: true, + searchSpan: 8, + // search: true, }] }, // 鏋氫妇鍙傜収琛ㄦ牸鏁版嵁 @@ -263,7 +286,12 @@ value: 'oid', } } - } + }, + dictEnums: [], + enumEditFlag: false, + enumInitFlag: false, + referInitFlag: false, + referEditFlag: false, } }, created() { @@ -271,6 +299,31 @@ this.initAttributeReferTypeList(); }, methods: { + handleIdInput(value){ + this.attribute.id = value.toLowerCase(); + }, + onSubmit() { + if (this.form.name || this.form.label) { + const params = {}; + if (this.form.name) { + params.name = this.form.name; + } + if (this.form.label) { + params.label = this.form.label; + } + getParentList(this.enumRefer.enumPage.currentPage, this.enumRefer.enumPage.pageSize, params) + .then((res) => { + this.enumRefer.enumPage.total = res.data.data.total; + this.enumRefer.data = res.data.data.records; + }); + } + }, + enumOnLoad(){ + getParentList(this.enumRefer.enumPage.currentPage, this.enumRefer.enumPage.pageSize).then(res => { + this.enumRefer.enumPage.total = res.data.data.total; + this.enumRefer.data = res.data.data.records; + }) + }, closeSubmitDialog() { this.resetAttributeForm(); this.showSubmitDialog = false; @@ -282,31 +335,53 @@ }; this.referToFlag = true; this.$refs.form.resetFields(); + this.dictEnums = []; }, - submitAttribute() { - add(this.attribute).then(res => { - this.$message.success("淇濆瓨鎴愬姛"); - this.showSubmitDialog = false; - this.attribute = {}; - this.$emit('refreshTable'); - }); - + submitAttribute() { + const that = this; + if (that.referInitFlag && that.referEditFlag){ + this.$set(this.attribute,'dictCode',''); + this.$set(this.attribute,'dictKey',''); + this.$set(this.attribute,'dictValue',''); + this.$set(this.attribute,'usingDict',''); + } + if (that.enumInitFlag && that.enumEditFlag){ + this.$set(this.attribute,'referTypeCode',''); + this.$set(this.attribute,'referTypeKey',''); + this.$set(this.attribute,'referTypeValue',''); + this.$set(this.attribute,'referToId',''); + this.$set(this.attribute,'referToName',''); + } + this.$refs.form.validate(function (pass, field) { + if (pass) { + add(that.attribute).then(res => { + that.$message.success("淇濆瓨鎴愬姛"); + that.showSubmitDialog = false; + that.attribute = {}; + that.$emit('refreshTable'); + }); + } else { + that.$message.error('蹇呭~'); + } + }) }, - cancleSubmit() { + cancelSubmit() { this.closeSubmitDialog(); }, closeEnumDialog() { - this.cancleEnum(); - }, - closeReferDialog() { - this.cancleBtm(); + this.cancelEnum(); }, - confirmBtm() { + closeReferDialog() { + this.cancelBtm(); + }, + confirmBtm() { this.attribute.referToId = this.btmRefer.selectItem.oid; this.attribute.referToName = this.btmRefer.selectItem.name; this.btmRefer.show = false; + this.referEditFlag = true; + this.enumEditFlag = false; }, - cancleBtm() { + cancelBtm() { this.btmRefer.selectItem = {}; this.btmRefer.show = false; this.btmRefer.selectRow = ''; @@ -316,8 +391,13 @@ this.attribute.dictCode = this.enumRefer.selectItem.name; this.attribute.dictValue = this.enumRefer.selectItem.label; this.enumRefer.show = false; - }, - cancleEnum() { + getDictionary({code :this.enumRefer.selectItem.name}).then(res => { + this.dictEnums = res.data.data; + }); + this.referEditFlag = false; + this.enumEditFlag = true; + }, + cancelEnum() { this.enumRefer.selectItem = {}; this.enumRefer.show = false; this.enumRefer.selectRow = ''; @@ -335,24 +415,23 @@ this.domain.data = res.data.data; }) this.btmRefer.show = true; - }, // 鍙傜収绫诲瀷鏍戠殑鐐瑰嚮浜嬩欢 nodeClick(data) { // 鍖哄垎涓氬姟绫诲瀷鐨勬煡璇㈠拰閾炬帴绫诲瀷鐨勬煡璇� - if(this.attribute.referTypeKey == 'btmType'){ - btmPage(this.btmRefer.btmPage.currentPage,this.btmRefer.btmPage.pageSize,{domain:data.id}).then(res => { + if (this.attribute.referTypeKey == 'btmType') { + btmPage(this.btmRefer.btmPage.currentPage, this.btmRefer.btmPage.pageSize, { bizDomain: data.id }).then(res => { this.btmRefer.data = res.data.data.records; this.btmRefer.btmPage.total = res.data.data.total; }) } - if(this.attribute.referTypeKey == 'linkType'){ - - } + // if (this.attribute.referTypeKey == 'linkType') { + // + // } }, // 鏋氫妇绫诲瀷杈撳叆妗嗚幏寰楃劍鐐规椂鐨勪簨浠� openEnumConfig() { - getParentList(this.enumRefer.enumPage.currentPage,this.enumRefer.enumPage.pageSize).then(res => { + getParentList(this.enumRefer.enumPage.currentPage, this.enumRefer.enumPage.pageSize).then(res => { this.enumRefer.enumPage.total = res.data.data.total; this.enumRefer.data = res.data.data.records; }) @@ -361,20 +440,20 @@ // 灞炴�х被鍨嬩笅鎷夋閫夋嫨浜嬩欢 typeSelectChange(value) { if (value == 'VTString') { - this.$set(this.attribute,"maxLength",150) + this.$set(this.attribute, "maxLength", 150) } else if (value == 'VTInteger') { - this.$set(this.attribute,"maxLength",50) + this.$set(this.attribute, "maxLength", 50) } else if (value == 'VTBoolean') { - this.$set(this.attribute,"maxLength",5) + this.$set(this.attribute, "maxLength", 5) } else if (value == 'VTDouble') { - this.$set(this.attribute,"maxLength",26) - this.$set(this.attribute,"precision",8) + this.$set(this.attribute, "maxLength", 26) + this.$set(this.attribute, "precision", 8) } else if (value == 'VTLong') { - this.$set(this.attribute,"maxLength",150) + this.$set(this.attribute, "maxLength", 150) } else if (value == 'VTDate' || value == 'VTTime' || value == 'VTDateTime') { - this.$set(this.attribute,"maxLength",6) + this.$set(this.attribute, "maxLength", 6) } else { - this.$set(this.attribute,"maxLength",50) + this.$set(this.attribute, "maxLength", 50) } this.attribute.typeCode = 'attributeType'; this.attribute.typeKey = value; @@ -395,7 +474,7 @@ this.$message.error('灞炴�х被鍨嬫病鎵惧埌鎴栬�呮湭瀹氫箟') }) }, - initAttributeReferTypeList(){ + initAttributeReferTypeList() { getDictionary({ code: 'attributeReferType' }).then(res => { res.data.data.forEach(element => { this.btmRefer.referTypeList.push( @@ -406,32 +485,30 @@ this.$message.error('鍙傜収绫诲瀷娌℃壘鍒版垨鑰呮湭瀹氫箟') }) }, - btmReferClick(row){ + btmReferClick(row) { this.btmRefer.selectItem = row; this.btmRefer.selectRow = row.$index; }, - enumReferClick(row){ + enumReferClick(row) { this.enumRefer.selectItem = row; this.enumRefer.selectRow = row.$index; }, // 鍙傜収鍚嶇О鐐瑰嚮娓呴櫎鏁版嵁 - clearReferTo(){ - this.$delete(this.attribute,'referToId'); - this.$delete(this.attribute,'referToName'); + clearReferTo() { + this.$delete(this.attribute, 'referToId'); + this.$delete(this.attribute, 'referToName'); this.btmRefer.selectItem = {}; this.btmRefer.selectRow = ''; }, handleClick(tab){ // 鍥犱负鍙兘鍙傜収鍜屾灇涓句簩閫変竴銆傛墍浠ュ湪鍒囨崲鐨勬椂鍊欐妸灞炴�х粰娓呯┖銆� - this.$delete(this.attribute,'referTypeCode'); - this.$delete(this.attribute,'referTypeKey'); - this.$delete(this.attribute,'referTypeValue'); - this.$delete(this.attribute,'referToId'); - this.$delete(this.attribute,'referToName'); - this.$delete(this.attribute,'dictCode'); - this.$delete(this.attribute,'dictKey'); - this.$delete(this.attribute,'dictValue'); - this.$delete(this.attribute,'usingDict'); + if (tab.name === 'enumTab'){ + this.enumInitFlag = true; + this.referInitFlag = false; + }else { + this.enumInitFlag = false; + this.referInitFlag = true; + } } } } @@ -449,4 +526,19 @@ .attributeForm>.el-form-item>.el-form-item__content>.el-input>.el-input__inner { width: 200px; } -</style> \ No newline at end of file + +.attributeForm>.el-form-item>.el-form-item__content>.el-select>.el-input>.el-input__inner { + width: 200px; +} +.attributeForm>.el-form-item>.el-form-item__content{ + width :190px; +} + +.referTypeForm > .el-form-item__content > .el-select > .el-input>.el-input__inner { + width: 200px; +} + +.referNameForm > .el-form-item__content > .el-input > .el-input__inner { + width: 200px; +} +</style> -- Gitblit v1.9.3