From 41021633bfee5b5c9c57cb888423f3392c530f98 Mon Sep 17 00:00:00 2001 From: ludc Date: 星期一, 25 三月 2024 18:31:08 +0800 Subject: [PATCH] 业务类型bug修改,集成接口,远程部署等功能修改。 --- Source/UBCS-WEB/src/views/modeling/BusinessAdd.vue | 335 +++++++++++++++++++++++++++++++++---------------------- 1 files changed, 201 insertions(+), 134 deletions(-) diff --git a/Source/UBCS-WEB/src/views/modeling/BusinessAdd.vue b/Source/UBCS-WEB/src/views/modeling/BusinessAdd.vue index 1f42c86..7cfaf5b 100644 --- a/Source/UBCS-WEB/src/views/modeling/BusinessAdd.vue +++ b/Source/UBCS-WEB/src/views/modeling/BusinessAdd.vue @@ -1,89 +1,97 @@ <template> <el-dialog - title="涓氬姟绫诲瀷" + v-loading="loading" :visible.sync="showSubmitDialog" append-to-body - @close="closeSubmitDialog" - width="70%" style="height: 115vh;" + title="涓氬姟绫诲瀷" + top="6vh" + width="70%" + @close="closeSubmitDialog" > - <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 ref="form" :model="btmType" :rules="rules" class="btmTypeForm" inline label-suffix=":" show-message="true" + size="medium" status-icon="true" @resetFields="resetForm"> + <el-form-item label="鑻辨枃鍚嶇О" label-width="100px" prop="id" required="true"> + <el-input v-model="btmType.id" :disabled="false" :prefix-icon="icons.key"></el-input> </el-form-item> <el-form-item label="涓枃鍚嶇О" label-width="100px"> <el-input v-model="btmType.name" :prefix-icon="icons.name"></el-input> </el-form-item> - <el-form-item label="鏁版嵁搴撹〃鍚�" label-width="100px"> + <!-- <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" prop="domain" class="domainSelect"> - <el-select placeholder="璇烽�夋嫨棰嗗煙" v-model="btmType.bizDomain" :prefix-icon="icons.domain"> + </el-form-item> --> + <el-form-item class="domainSelect" label="鎵�灞為鍩�" label-width="100px" prop="domain"> + <el-select v-model="btmType.bizDomain" :prefix-icon="icons.domain" placeholder="璇烽�夋嫨棰嗗煙" @change="domainChange"> <el-option v-for="item in domainOption" - :label="item.label" :value="item.value" :key="item.value"> + :key="item.value" :label="item.label" :value="item.value"> </el-option> </el-select> </el-form-item> <el-form-item label="鐗堟湰瑙勫垯" label-width="100px"> <el-input v-model="btmType.revisionRuleName" :prefix-icon="icons.revisionRule" - class="revisionRule" - @focus="openRevision" - clearable - @clear="clearRevision" :suffix-icon="icons.referType" - placeholder="璇烽�夋嫨锛岀暀绌哄垯涓嶈繘琛岀鐞�"> + class="revisionRule" + clearable + placeholder="璇烽�夋嫨锛岀暀绌哄垯涓嶈繘琛岀鐞�" + @change="ruleChange" + @clear="clearRevision" + @focus="openRevision"> </el-input> </el-form-item> <el-form-item label="鐢熷懡鍛ㄦ湡" label-width="100px"> <el-input v-model="btmType.lifeCycleName" :prefix-icon="icons.lifeCycle" - class="lifeCycle" - @focus="openLifeCycle" - clearable - @clear="clearLifeCycle" :suffix-icon="icons.referType" - placeholder="璇烽�夋嫨锛岀暀绌哄垯涓嶈繘琛岀鐞�"> + class="lifeCycle" + clearable + placeholder="璇烽�夋嫨锛岀暀绌哄垯涓嶈繘琛岀鐞�" + @clear="clearLifeCycle" + @focus="openLifeCycle"> </el-input> </el-form-item> - <div> - <el-form-item label="寮�鍚鍥�" label-width="100px" class="viewFlag"> - <el-switch v-model="btmType.viewFlag" active-color="#13ce66" @change="viewChange"></el-switch> - </el-form-item> - <el-form-item label="瑙嗗浘璇彞" label-width="100px" class="viewInput"> - <el-input v-model="btmType.view" :prefix-icon="icons.view" :disabled="!btmType.viewFlag"></el-input> - </el-form-item> - </div> - <el-form-item label="鎻忚堪" label-width="100px" class="description"> - <el-input v-model="btmType.description" + <!-- <div>--> + <!-- <el-form-item label="寮�鍚鍥�" label-width="100px" class="viewFlag">--> + <!-- <el-switch v-model="btmType.viewFlag" active-color="#13ce66" @change="viewChange"></el-switch>--> + <!-- </el-form-item>--> + <!-- <el-form-item label="瑙嗗浘璇彞" label-width="100px" class="viewInput">--> + <!-- <el-input v-model="btmType.view" :prefix-icon="icons.view" :disabled="!btmType.viewFlag"></el-input>--> + <!-- </el-form-item>--> + <!-- </div>--> + <el-form-item class="description" label="鎻忚堪" label-width="100px"> + <el-input id="descId" + v-model="btmType.description" :prefix-icon="icons.desc" class="descClass" - id="descId" ></el-input> </el-form-item> </el-form> - <avue-crud :option="option" + <avue-crud ref="attrTable" :data="btmType.attributes" - :page.sync="page" - ref="attrTable"> - <template slot-scope="scope" slot="menuLeft"> - <el-button type="danger" - icon="el-icon-plus" + :option="option" + :page.sync="page"> + <template slot="menuLeft" slot-scope="scope"> + <el-button icon="el-icon-plus" size="small" + type="danger" @click="rowAdd()">灞炴�ч�夋嫨 </el-button> </template> <template slot="attrDataTypeText" slot-scope="{row}"> - <el-tag>{{ row.attrDataTypeText }}</el-tag> + <el-tag v-if=" row.attrDataTypeText">{{ row.attrDataTypeText }}</el-tag> + </template> + <template slot="isDefaultAttr" slot-scope="{row}"> + <el-tag v-if="row.isDefaultAttr" type="success">鏄�</el-tag> + <el-tag v-else type="danger">鍚�</el-tag> </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,index)">缂栬緫 + <el-button v-if="!row.$cellEdit" icon="el-icon-edit" size="small" type="text" @click="cellEditClick(row,index)"> + 缂栬緫 </el-button> - <el-button icon="el-icon-delete" size="small" type="text" v-if="!row.$cellEdit" + <el-button v-if="!row.$cellEdit" icon="el-icon-delete" size="small" type="text" @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 v-if="row.$cellEdit" icon="el-icon-check" size="small" type="text" @click="cellEditSave(row,index)"> 淇濆瓨 </el-button> </template> @@ -94,23 +102,23 @@ </div> <!-- 灞炴�ф睜鐨勯�夋嫨 --> - <el-dialog title="灞炴�ф睜" - :visible="attrRef.visible" + <el-dialog :visible="attrRef.visible" append-to-body - @close="closeAttrDialog" + title="灞炴�ф睜" width="80%" + @close="closeAttrDialog" > - <avue-crud class="attrRef" - :option="attrRef.option" + <avue-crud ref="attrRef" + v-loading="attrRef.loading" :data="attrRef.data" + :option="attrRef.option" :page.sync="attrRef.page" - ref="attrRef" + class="attrRef" @on-load="attrRefOnLoad" @search-change="attrRefSearch" - @selection-change="selectionChange" - v-loading="attrRef.loading"> + @selection-change="selectionChange"> <template slot="typeValue" slot-scope="scope"> - <el-tag>{{ scope.row.typeValue }}</el-tag> + <el-tag v-if="scope.row.typeValue">{{ scope.row.typeValue }}</el-tag> </template> </avue-crud> <div slot="footer" class="dialog-footer"> @@ -119,19 +127,19 @@ </div> </el-dialog> <!-- 鐗堟湰瑙勫垯鐨勫弬鐓� --> - <el-dialog title="璇烽�夋嫨鐗堟湰瑙勫垯" - :visible.sync="revisionRef.visible" + <el-dialog :visible.sync="revisionRef.visible" append-to-body + title="璇烽�夋嫨鐗堟湰瑙勫垯" width="80%"> - <avue-crud class="revisionRef" - :option="revisionRef.option" - :data="revisionRef.data" - :page.sync="revisionRef.page" - ref="revisionRef" - @row-click="revisionClick" + <avue-crud ref="revisionRef" v-loading="revisionRef.loading" - @search-change="searchRevisionRule" + :data="revisionRef.data" + :option="revisionRef.option" + :page.sync="revisionRef.page" + class="revisionRef" + @row-click="revisionClick" + @search-change="searchRevisionRule" @search-reset="clearSearchRevisionRule"> <template slot="radio" slot-scope="{row}"> @@ -147,19 +155,19 @@ </el-dialog> <!-- 鐢熷懡鍛ㄦ湡鐨勫弬鐓� --> - <el-dialog title="璇烽�夋嫨鐢熷懡鍛ㄦ湡" - :visible.sync="lifeCycleRef.visible" + <el-dialog :visible.sync="lifeCycleRef.visible" append-to-body + title="璇烽�夋嫨鐢熷懡鍛ㄦ湡" width="80%"> - <avue-crud class="lifeCycleRef" - :option="lifeCycleRef.option" - :data="lifeCycleRef.data" - :page.sync="lifeCycleRef.page" - ref="lifeCycleRef" - @row-click="lifeCycleClick" + <avue-crud ref="lifeCycleRef" v-loading="lifeCycleRef.loading" - @search-change="searchLifeCycle" + :data="lifeCycleRef.data" + :option="lifeCycleRef.option" + :page.sync="lifeCycleRef.page" + class="lifeCycleRef" + @row-click="lifeCycleClick" + @search-change="searchLifeCycle" @search-reset="clearSearchLifeCycle"> <template slot="radio" slot-scope="{row}"> @@ -181,7 +189,7 @@ <script> -import {add, update} from '@/api/omd/btmType'; +import {add, update, defaultRequestHandler} from '@/api/omd/btmType'; import {queryPage} from '@/api/omd/OmdAttribute'; import {getPage} from '@/api/omd/revisionRule'; import {getList} from '@/api/modeling/cycle'; @@ -190,27 +198,24 @@ name: 'BusinessAdd', props: { btmType: { - type: Object + type: Object, + default: {} }, domainOption: { type: Array }, icons: { type: Array - } + }, + type: { + type: String, + }, }, - watch: { - btmType: { - handler(newval, oldval) { - console.log('鐩戝惉', newval, oldval) - }, - deep: true, - immediate: true - } - }, + watch: {}, data() { return { form: {}, + loading: false, showSubmitDialog: false, option: { height: "330px", @@ -224,6 +229,7 @@ editBtn: false, delBtn: false, columnBtn: false, + refreshBtn: false, menuWidth: 150, addBtn: false, highlightCurrentRow: true, @@ -231,13 +237,14 @@ { label: '鑻辨枃鍚嶇О', prop: 'id', - align: 'center' + align: 'center', + disabled: true }, { label: '涓枃鍚嶇О', prop: 'name', align: 'center', cell: true - },{ + }, { label: "绫诲瀷", prop: "attrDataTypeText", align: 'center', @@ -254,6 +261,13 @@ prop: "description", align: 'center', cell: true + }, + { + label: '榛樿瀛楁', + prop: 'isDefaultAttr', + align: 'center', + cell: true, + slot: true } ] }, @@ -283,6 +297,7 @@ prop: 'id', align: 'left', search: true, + disabled: true, width: 230 }, { label: '涓枃鍚嶇О', @@ -355,6 +370,7 @@ { label: '鑻辨枃鍚嶇О', prop: 'id', + disabled: true, search: true }, { @@ -419,6 +435,7 @@ { label: '鑻辨枃鍚嶇О', prop: 'id', + disabled: true, search: true }, { @@ -467,20 +484,73 @@ {required: true, message: '璇烽�夋嫨鎵�灞為鍩�', trigger: 'blur'} ] }, + domainData: [], + ruleData: [], + lifeData: [], + domainFirstSelection: true, + ruleFirstSelection: true, + lifeCycleSelection: true, } }, created() { }, methods: { + getDefaultData(requestType, dataName, selectionName) { + if (this[selectionName]) { + defaultRequestHandler(requestType).then(res => { + this[dataName] = res.data.data; + res.data.data.forEach(item => { + let data = { + id: item.id, + name: item.name, + attrDataType: item.attrDataType, + attrDataTypeText: item.attrDataTypeText, + defaultValue: item.defaultValue, + description: item.description, + attributeLength: item.attributeLength, + referBtmTypeId: item.referTypeCode, + referBtmTypeName: item.referToName, + enumId: item.dictCode, + isDefaultAttr: item.isDefaultAttr + } + if (!this.btmType.attributes) { + this.btmType.attributes = []; + } + this.btmType.attributes.push(data); + }) + this.attrRefOnLoad() + this[selectionName] = false; + }); + } + }, + //鎵�灞為鍩焎hange + domainChange() { + this.getDefaultData('defaultAttr', 'domainData', 'domainFirstSelection'); + }, + //鐗堟湰瑙勫垯change + ruleHandler() { + this.getDefaultData('reVersionRule', 'ruleData', 'ruleFirstSelection'); + }, + //鐢熷懡鍛ㄦ湡change + lifeCycleHandler() { + this.getDefaultData('lifeCycle', 'lifeData', 'lifeCycleSelection'); + }, + //榛樿鍊艰姹� + defaultValueRequest() { + + }, // 鍏抽棴缁勪欢寮圭獥 closeSubmitDialog() { this.showSubmitDialog = false; - this.btmType.attributes = []; - this.btmType = {}; - this.attrRef.selectData = []; - this.attrRef.queryNotIn = null; - this.resetForm(); + //鎵�灞為鍩熺姸鎬侀噸鏂拌祴鍊� + this.domainFirstSelection = true; + //鐗堟湰瑙勫垯鐘舵�侀噸鏂拌祴鍊� + this.ruleFirstSelection = true; + //鐢熷懡鍛ㄦ湡鐘舵�侀噸鏂拌祴鍊� + this.lifeCycleSelection = true; + //閲嶇疆鏍¢獙瑙勫垯 + this.$refs.form.resetFields(); }, // 鍏抽棴灞炴�ф睜鏌ヨ寮圭獥 closeAttrDialog() { @@ -504,12 +574,7 @@ 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(); }); }, // 灞炴�ф睜妫�绱� @@ -553,6 +618,8 @@ this.attrRef.queryNotIn += (item.id + ",") }); this.attrRef.data = []; + this.$refs.attrRef.selectClear(); + this.attrRef.selectData = []; this.closeAttrDialog(); }, // 鍙栨秷灞炴�ф睜鍕鹃�� @@ -562,27 +629,28 @@ }, // 娣诲姞涓氬姟绫诲瀷 submitBtmType() { - console.log(this.btmType); - if (!this.btmType.attributes){ - this.$message.warning("杩樻病鏈変负涓氬姟绫诲瀷閫夋嫨灞炴��"); - return; - }else{ + // console.log(this.btmType); + if (!this.btmType.attributes) { + this.$message.warning("杩樻病鏈変负涓氬姟绫诲瀷閫夋嫨灞炴��"); + return; + } else { let nullFlag = false; - this.btmType.attributes.forEach(item => { - if (!item.name){ - this.$message.warning("绗�" + (item.$index+1) + "琛岀殑涓枃鍚嶇О涓嶈兘涓虹┖"); - nullFlag = true; - return; - } - }) - if (nullFlag){ + this.btmType.attributes.forEach(item => { + if (!item.name) { + this.$message.warning("绗�" + (item.$index + 1) + "琛岀殑涓枃鍚嶇О涓嶈兘涓虹┖"); + nullFlag = true; + return; + } + }) + if (nullFlag) { return; } - } + this.btmType.attributes = this.btmType.attributes.filter(item => !item.isDefaultAttr); add(this.btmType, true).then(res => { + // console.log(res) // 娣诲姞瀹屾垚锛屽洖璋冪埗缁勪欢鐨勫埛鏂� - this.$message.success('淇濆瓨鎴愬姛'); + this.$message.success(res.data.msg); this.cancleSubmitBtmType(); this.$emit('refreshTable'); }) @@ -609,8 +677,7 @@ cell.$cellEdit = true; }, // 鍒楄〃缂栬緫淇濆瓨 - cellEditSave(row,index) { - // console.log("1111111111111111111111") + cellEditSave(row, index) { this.btmType.attributes[index].name = row.name this.btmType.attributes[index].defaultValue = row.defaultValue; this.btmType.attributes[index].description = row.description; @@ -619,22 +686,21 @@ this.$refs.attrTable.refreshTable(); }, // 鎵撳紑鐗堟湰瑙勫垯鍙傜収 - openRevision() { + openRevision() { this.revisionRef.visible = true; this.revisionRuleOnLoad(); }, // 鐗堟湰鍙傜収鍒楄〃鐨勯粯璁ゆ煡璇㈡柟娉� - revisionRuleOnLoad(){ + revisionRuleOnLoad() { this.revisionRef.loading = true; getPage().then(res => { this.revisionRef.data = res.data.data.records; - }); - setTimeout(() => { this.revisionRef.loading = false; - }, 600) - this.$nextTick(() => { - this.$refs.revisionRef.refreshTable(); }); + + // this.$nextTick(() => { + // this.$refs.revisionRef.refreshTable(); + // }); }, // 鎵撳紑鐗堟湰瑙勫垯鍙傜収 openLifeCycle() { @@ -642,14 +708,12 @@ this.lifeCycleOnLoad(); }, // 鐢熷懡鍛ㄦ湡鍒楄〃鐨勯粯璁ゆ煡璇㈡柟娉� - lifeCycleOnLoad(){ + lifeCycleOnLoad() { this.lifeCycleRef.loading = true; getList().then(res => { this.lifeCycleRef.data = res.data.data.records; - }); - setTimeout(() => { this.lifeCycleRef.loading = false; - }, 600) + }); this.$nextTick(() => { this.$refs.lifeCycleRef.refreshTable(); }); @@ -668,7 +732,9 @@ this.btmType.revisionRuleId = this.revisionRef.selectData.id; this.btmType.revisionRuleName = this.revisionRef.selectData.name; this.btmType.inputRevisionFlag = false; + this.ruleHandler() this.cancelRevision(); + }, // 纭閫変腑鐢熷懡鍛ㄦ湡 confirmLifeCycle() { @@ -676,6 +742,7 @@ this.btmType.lifeCycleId = this.lifeCycleRef.selectData.id; this.btmType.lifeCycleName = this.lifeCycleRef.selectData.name; this.cancelLifeCycle(); + this.lifeCycleHandler() }, // 鍙栨秷閫変腑鐗堟湰瑙勫垯 cancelRevision() { @@ -728,16 +795,16 @@ * @param params 鎼滅储妗嗚緭鍏ュ�� {id: '',name: ''} 鐩存帴鑾峰彇灏辫 * @param done 鎵ц瀹屾垚鍚庣殑鍥炶皟 */ - searchRevisionRule(params,done){ + searchRevisionRule(params, done) { let condition = {}; - if (params.id){ - condition['id_like'] = params.id; + if (params.id) { + condition['id_like'] = params.id; } - if (params.name){ - condition['name_like'] = params.name; + if (params.name) { + condition['name_like'] = params.name; } this.revisionRef.loading = true; - getPage(this.revisionRef.page.currentPage,this.revisionRef.page.pageSize,condition).then(res => { + getPage(this.revisionRef.page.currentPage, this.revisionRef.page.pageSize, condition).then(res => { this.revisionRef.data = res.data.data.records; }); setTimeout(() => { @@ -753,16 +820,16 @@ * @param params 鎼滅储妗嗚緭鍏ュ�� * @param done 鎵ц瀹屾垚鍚庣殑鍥炶皟 */ - searchLifeCycle(params,done){ + searchLifeCycle(params, done) { let condition = {}; - if (params.id){ + if (params.id) { condition['id_like'] = params.id; } - if (params.name){ + if (params.name) { condition['name_like'] = params.name; } this.lifeCycleRef.loading = true; - getList(this.lifeCycleRef.page.currentPage,this.lifeCycleRef.page.pageSize,condition).then(res => { + getList(this.lifeCycleRef.page.currentPage, this.lifeCycleRef.page.pageSize, condition).then(res => { this.lifeCycleRef.data = res.data.data.records; }); setTimeout(() => { @@ -774,11 +841,11 @@ }); }, // 鍙栨秷鐗堟湰瑙勫垯鎼滅储 - clearSearchRevisionRule(item){ + clearSearchRevisionRule(item) { this.revisionRuleOnLoad(); }, // 鍙栨秷鐢熷懡鍛ㄦ湡鎼滅储 - clearSearchLifeCycle(item){ + clearSearchLifeCycle(item) { this.lifeCycleOnLoad(); console.log(item); } -- Gitblit v1.9.3