From 9d8be8e7580ef577def96c852288a5a95eab4ea3 Mon Sep 17 00:00:00 2001 From: ludc Date: 星期二, 11 七月 2023 19:22:53 +0800 Subject: [PATCH] 代码整合,前端代码打包 --- Source/UBCS-WEB/src/views/modeling/BusinessAdd.vue | 135 ++++++++++++++++++++++++++++++++------------- 1 files changed, 96 insertions(+), 39 deletions(-) diff --git a/Source/UBCS-WEB/src/views/modeling/BusinessAdd.vue b/Source/UBCS-WEB/src/views/modeling/BusinessAdd.vue index 92098e3..e8abccc 100644 --- a/Source/UBCS-WEB/src/views/modeling/BusinessAdd.vue +++ b/Source/UBCS-WEB/src/views/modeling/BusinessAdd.vue @@ -1,5 +1,5 @@ <template> - <el-dialog + <el-dialog title="涓氬姟绫诲瀷" :visible.sync="showSubmitDialog" append-to-body @@ -7,9 +7,8 @@ width="70%" style="height: 115vh;" > - <el-form ref="form" :model="btmType" show-message="true" inline size="medium" label-suffix=":" class="btmTypeForm"> - - <el-form-item label="鑻辨枃鍚嶇О" label-width="100px" required="true"> + <el-form ref="form" :model="btmType" show-message="true" inline size="medium" label-suffix=":" class="btmTypeForm" :rules="rules" @resetFields="resetForm" status-icon="true"> + <el-form-item label="鑻辨枃鍚嶇О" label-width="100px" required="true" prop="id"> <el-input v-model="btmType.id" :prefix-icon="icons.key"></el-input> </el-form-item> <el-form-item label="涓枃鍚嶇О" label-width="100px"> @@ -18,7 +17,7 @@ <el-form-item label="鏁版嵁搴撹〃鍚�" label-width="100px"> <el-input v-model="btmType.tableName" :prefix-icon="icons.tableName"></el-input> </el-form-item> - <el-form-item label="鎵�灞為鍩�" label-width="100px"> + <el-form-item label="鎵�灞為鍩�" label-width="100px" prop="domain"> <el-select v-model="btmType.domain" :prefix-icon="icons.domain"> <el-option v-for="item in domainOption" :label="item.label" :value="item.value" :key="item.value"></el-option> @@ -44,26 +43,28 @@ </el-form-item> </div> <el-form-item label="鎻忚堪" label-width="100px" class="description"> - <el-input v-model="btmType.description" - :prefix-icon="icons.desc" + <el-input v-model="btmType.description" + :prefix-icon="icons.desc" class="descClass" id="descId" ></el-input> </el-form-item> </el-form> - <avue-crud :option="option" - :data="btmType.attributes" - :page.sync="page" - ref="attrTable" - @cell-mouse-enter="cellEditClick" - @cell-mouse-leave="cellEditSave"> + <avue-crud :option="option" + :data="btmType.attributes" + :page.sync="page" + ref="attrTable"> <template slot-scope="scope" slot="menuLeft"> <el-button type="danger" icon="el-icon-plus" size="small" @click="rowAdd()">灞炴�ч�夋嫨</el-button> </template> - + <template slot="menu" slot-scope="{row,index}"> + <el-button icon="el-icon-edit" size="small" type="text" v-if="!row.$cellEdit" @click="cellEditClick(row)">缂栬緫</el-button> + <el-button icon="el-icon-delete" size="small" type="text" v-if="!row.$cellEdit" @click="removeFormAttrTable(row,index)">绉婚櫎</el-button> + <el-button icon="el-icon-check" size="small" type="text" v-if="row.$cellEdit" @click="cellEditSave(row,index)">淇濆瓨</el-button> + </template> </avue-crud> <div slot="footer" class="dialog-footer"> <el-button type="primary" @click="submitBtmType">纭畾</el-button> @@ -77,16 +78,17 @@ @close="closeAttrDialog" width="80%" > - <avue-crud class="attrRef" - :option="attrRef.option" - :data="attrRef.data" + <avue-crud class="attrRef" + :option="attrRef.option" + :data="attrRef.data" :page.sync="attrRef.page" ref="attrRef" @on-load="attrRefOnLoad" @search-change="attrRefSearch" - @selection-change="selectionChange"> - <template slot="name" slot-scope="scope" > - <el-tag>{{scope}}</el-tag> + @selection-change="selectionChange" + v-loading="attrRef.loading"> + <template slot="typeValue" slot-scope="scope" > + <el-tag>{{scope.row.typeValue}}</el-tag> </template> </avue-crud> <div slot="footer" class="dialog-footer"> @@ -99,7 +101,7 @@ :visible.sync="revisionRef.visible" append-to-body width="80%"> - + <avue-crud class="revisionRef" :option="revisionRef.option" :data="revisionRef.data" @@ -140,19 +142,31 @@ type: Array } }, + watch:{ + btmType:{ + handler(newval,oldval){ + console.log('鐩戝惉',newval,oldval) + }, + deep:true, + immediate:true + } + }, data() { return { form: {}, showSubmitDialog : false, option: { height: "330px", - selection: true, + selection: false, headerAlign: 'center', border: true, index: true, rowKey: 'id', tabs: true, - menu: false, + menu: true, + editBtn: false, + delBtn: false, + menuWidth: 150, addBtn:false, highlightCurrentRow: true, column: [ @@ -192,6 +206,7 @@ currentPage:1, pageSize:10, }, + loading: false, key: null, option:{ height: 360, @@ -204,22 +219,24 @@ reserveSelection: true, searchMenuSpan:8, highlightCurrentRow: true, + rowKey: 'id', column: [ { label: '鑻辨枃鍚嶇О', - prop: 'key', + prop: 'id', align: 'left', search: true, width: 230 }, { label: '涓枃鍚嶇О', - prop: 'label', + prop: 'name', align: 'center', }, { label: "绫诲瀷", prop: "typeValue", - align: 'center' + align: 'center', + slot: true, }, { label: "榛樿鍊�", @@ -250,7 +267,7 @@ ] }, data: [], - queryNotIn: null + queryNotIn: '' }, revisionRef: { visible: false, @@ -315,6 +332,16 @@ ] }, }, + rules: { + id: [ + { required: true, message: '璇疯緭鍏ヤ笟鍔$被鍨嬬紪鍙�', trigger: 'blur' }, + { pattern: /^[A-Za-z]+$/, message: '涓氬姟绫诲瀷缂栧彿鍙兘涓鸿嫳鏂�', trigger: 'blur' }, + { min: 2, max: 20, message: '闀垮害鍦�2鍒�20涓瓧绗�', trigger: 'blur' } + ], + domain: [ + { required: true, message: '璇烽�夋嫨鎵�灞為鍩�', trigger: 'blur' } + ] + }, } }, created() { @@ -328,33 +355,52 @@ this.btmType = {}; this.attrRef.selectData = []; this.attrRef.queryNotIn = null; + this.resetForm(); }, // 鍏抽棴灞炴�ф睜鏌ヨ寮圭獥 closeAttrDialog(){ this.attrRef.visible = false; }, - // 娣诲姞 - rowAdd(){ + // 灞炴�ч�夋嫨娣诲姞 + async rowAdd() { + await this.attrRefOnLoad(); this.attrRef.visible = true; - this.attrRefOnLoad(); }, // 灞炴�ф睜鍔犺浇 attrRefOnLoad(){ + if (this.attrRef.queryNotIn != ''){ + this.attrRef.queryNotIn = ''; + this.btmType.attributes.forEach(item => { + this.attrRef.queryNotIn += (item.id + ",") + }) + } + this.attrRef.loading = true; queryPage(this.attrRef.key,this.attrRef.queryNotIn,this.attrRef.page.currentPage, this.attrRef.page.pageSize).then(res => { const data = res.data.data; this.attrRef.page.total = data.total; this.attrRef.data = data.records; }); + setTimeout(() => { + this.attrRef.loading = false; + },600) this.$nextTick(() => { this.$refs.attrRef.refreshTable(); }); }, // 灞炴�ф睜妫�绱� attrRefSearch(form,done){ - this.attrRef.key = form.key; + this.attrRef.key = form.id; this.attrRefOnLoad(); done(); this.attrRef.key = null; + }, + // 浠庡睘鎬ф睜涓Щ闄� + removeFormAttrTable(row,index){ + this.btmType.attributes.splice(index,1); + this.attrRef.queryNotIn = ""; + this.btmType.attributes.forEach(item => { + this.attrRef.queryNotIn += (item.id + ",") + }) }, // 灞炴�ф睜鍕鹃�変簨浠� selectionChange(list){ @@ -362,21 +408,27 @@ }, // 纭灞炴�ф睜鍕鹃�� confirmSelectAttr(){ - this.btmType.attributes = []; - this.attrRef.queryNotIn = ""; + if(!this.btmType.attributes) { + this.btmType.attributes = []; + } this.attrRef.selectData.forEach(item => { this.btmType.attributes.push({ - id: item.key, - name: item.label, + id: item.id, + name: item.name, typeValue: item.typeValue, typeKey: item.typeValue, - attrDataType : item.typeValue, + attrDataType : item.typeKey, defaultValue: item.defaultValue, description: item.description, - attributeLength: item.maxLength + attributeLength: item.maxLength, + referBtmTypeId: item.referTypeCode, + referBtmTypeName: item.referToName, + enumId: item.dictCode, + // enumName: item, }); - this.attrRef.queryNotIn += (item.key + ",") + this.attrRef.queryNotIn += (item.id + ",") }); + this.attrRef.data = []; this.closeAttrDialog(); }, // 鍙栨秷灞炴�ф睜鍕鹃�� @@ -406,12 +458,13 @@ this.$refs.attrTable.refreshTable(); }) }, - // + // viewChange(){ }, // 鍒楄〃缂栬緫 cellEditClick(cell){ + console.log(cell); cell.$cellEdit = true; }, // 鍒楄〃缂栬緫淇濆瓨 @@ -465,6 +518,10 @@ this.$delete(this.btmType,'revisionRuleId'); this.$delete(this.btmType,'revisionRuleName'); this.$delete(this.btmType,'inputRevisionFlag'); + }, + resetForm(){ + this.btmType = {}; + this.$refs.form.resetFields(); } } } -- Gitblit v1.9.3