From ae5807029edabde0b1e1488c090bd830fccf75a7 Mon Sep 17 00:00:00 2001 From: ludc Date: 星期一, 18 九月 2023 16:13:07 +0800 Subject: [PATCH] 代码提交 --- Source/UBCS-WEB/src/views/modeling/Business.vue | 224 ++++++++++++++++++++++++++++++++------------------------ 1 files changed, 128 insertions(+), 96 deletions(-) diff --git a/Source/UBCS-WEB/src/views/modeling/Business.vue b/Source/UBCS-WEB/src/views/modeling/Business.vue index 3b4b64d..fbcd5bd 100644 --- a/Source/UBCS-WEB/src/views/modeling/Business.vue +++ b/Source/UBCS-WEB/src/views/modeling/Business.vue @@ -1,17 +1,21 @@ <template> <el-container> - <el-header> - <el-button type="primary" @click="businessAdd">鏂板</el-button> - <el-button type="primary" @click="businessEdit">淇敼</el-button> - <el-button type="primary" @click="selectFromTable">浠庡凡鏈変腑鑾峰彇</el-button> + <el-header class="businessHeader" style="height: 40px;padding:0 8px"> + <el-button-group> + <el-button type="primary" @click="businessAdd" size="small"> <i class="el-icon-plus"></i> 鏂板</el-button> + <el-button type="primary" @click="businessEdit" size="small"><i class="el-icon-edit"></i> 淇敼</el-button> + <el-button type="primary" @click="selectFromTable" size="small"><i class="el-icon-thumb"></i> + 浠庡凡鏈変腑鑾峰彇</el-button> + </el-button-group> </el-header> <el-container> <el-aside width="240px"> - <basic-container> - <avue-tree id="basic" :data="treeData" :option="treeOption" @node-click="nodeClick"> + <basic-container class="businessTreeContainer"> + <p style="margin-top: 10px;font-weight: 570;font-size: 19px">{{ treeOption.title }}</p> + <avue-tree id="basic" :data="treeData" :option="treeOption" @node-click="nodeClick" class="businessTree"> <span class="el-tree-node__label" slot-scope="{ node, data }"> <span> - <i class="el-icon-star-on"></i> + <i :class="(node || {}).level === 2 ? 'el-icon-star-off' : 'el-icon-folder-opened'"></i> {{ (node || {}).label }} </span> </span> @@ -24,33 +28,40 @@ <basic-container> <p style="margin-top: 10px;font-weight: 570;font-size: 19px">鍩烘湰淇℃伅</p> <el-descriptions class="margin-top" :column="3" :size="size" border> - <el-descriptions-item> + <el-descriptions-item :labelStyle="descriptionOption.labelStyle" + :contentStyle="descriptionOption.contentStyle"> <template slot="label"> - <i class="el-icon-finished"></i> + <i :class="icons.key"></i> 鑻辨枃鍚嶇О </template> {{ obj.id }} </el-descriptions-item> - <el-descriptions-item> + <el-descriptions-item :labelStyle="descriptionOption.labelStyle" + :contentStyle="descriptionOption.contentStyle"> <template slot="label"> - <i class="el-icon-info"></i> + <i :class="icons.name"></i> 涓枃鍚嶇О </template> {{ obj.name }} </el-descriptions-item> <el-descriptions-item> - <template slot="label"> - <i class="el-icon-date"></i> + <template slot="label" :labelStyle="descriptionOption.labelStyle" + :contentStyle="descriptionOption.contentStyle"> + <i :class="icons.tableName"></i> 鏁版嵁搴撹〃鍚� </template> {{ obj.tableName }} </el-descriptions-item> - <el-descriptions-item> + <el-descriptions-item :labelStyle="descriptionOption.labelStyle" + :contentStyle="descriptionOption.contentStyle"> <template slot="label"> - <i class="el-icon-folder-opened"></i> + <i :class="icons.domain"></i> 鎵�灞為鍩� </template> - {{ obj.domain }} + <el-tag v-if="obj.domainText" size="small"> + {{ obj.domainText }} + </el-tag> + <span v-else></span> </el-descriptions-item> <!-- <el-descriptions-item> <template slot="label"> @@ -66,26 +77,32 @@ </template> {{ obj.sss }} </el-descriptions-item> --> - <el-descriptions-item> + <el-descriptions-item :labelStyle="descriptionOption.labelStyle" + :contentStyle="descriptionOption.contentStyle"> <template slot="label"> - <i class="el-icon-s-check"></i> + <i :class="icons.revisionRule"></i> 鐗堟湰瑙勫垯 </template> - {{ obj.versionRule }} + {{ obj.revisionRuleName ? obj.revisionRuleName+ '(' + obj.revisionRuleId + ')' : ''}} </el-descriptions-item> - <el-descriptions-item> + <el-descriptions-item :labelStyle="descriptionOption.labelStyle" + :contentStyle="descriptionOption.contentStyle"> <template slot="label"> - <i class="el-icon-refresh-right"></i> + <i :class="icons.lifeCycle"></i> 鐢熷懡鍛ㄦ湡 </template> - {{ obj.lifeCycleId }} + {{ obj.lifeCycleName ? obj.lifeCycleName + '(' + obj.lifeCycleId + ')' : ''}} </el-descriptions-item> - <el-descriptions-item> + <el-descriptions-item :labelStyle="descriptionOption.labelStyle" + :contentStyle="descriptionOption.contentStyle"> <template slot="label"> - <i class="el-icon-view"></i> + <i :class="icons.view"></i> 瑙嗗浘 </template> - {{ obj.viewFlag }} + <el-tag v-if="obj.viewText" size="small"> + {{ obj.viewText }} + </el-tag> + <span v-else></span> </el-descriptions-item> <!-- <el-descriptions-item> <template slot="label"> @@ -94,9 +111,10 @@ </template> {{ obj.implClass }} </el-descriptions-item> --> - <el-descriptions-item> + <el-descriptions-item :labelStyle="descriptionOption.labelStyle" + :contentStyle="descriptionOption.contentStyle"> <template slot="label"> - <i class="el-icon-chat-line-square"></i> + <i :class="icons.desc"></i> 鎻忚堪 </template> {{ obj.description }} @@ -106,16 +124,24 @@ <!-- 灞炴�у垪琛�--> <basic-container> <p style="margin-top: 10px;font-weight: 570;font-size: 19px">灞炴�у垪琛�</p> - <avue-crud v-model="obj" :data="obj.attributes" :option="loadOption" @row-save="loadSave"></avue-crud> + <avue-crud class="attributeCrud" v-model="obj" :data="obj.attributes" :option="loadOption"> + <template slot="attrDataTypeText" slot-scope="{row}"> + <el-tag>{{ row.attrDataTypeText }}</el-tag> + </template> + </avue-crud> </basic-container> </el-main> <el-dialog :visible="ref.visible" title="浠庢暟鎹簱涓坊鍔�" width="700px" append-to-body @close="dialoghandelfalse"> 閫夋嫨棰嗗煙锛� - <el-select v-model="domain" placeholder="璇烽�夋嫨" @change="refOnLoad"> - <el-option v-for="item in domainOptions" :key="item" :label="item" :value="item"> + <el-select v-model="domain" placeholder="璇烽�夋嫨" @change="refOnLoad" size="small"> + <el-option v-for="item in domainOptions" :key="item.value" :label="item.label" :value="item.value"> </el-option> </el-select> - <avue-crud class="businessCrud" v-model="ref.form" :option="ref.option" :data="ref.data" @selection-change="selectionChange"> + <div class="sep" style="height:7px"> + + </div> + <avue-crud class="businessCrud" ref="businessCrud" v-model="ref.form" :option="ref.option" :data="ref.data" + @selection-change="selectionChange"> </avue-crud> <span slot="footer" class="dialog-footer"> <el-button @click="dialoghandelfalse">鍙� 娑�</el-button> @@ -124,8 +150,9 @@ </el-dialog> </el-container> </el-container> - <business-add ref="btmAdd" :btmType="addOption.btmType" :domainOption="domainOptions"> - </business-add> + <business-add ref="btmAdd" :btmType="addOption.btmType" :domainOption="domainOptions" :icons="icons" + @refreshTable="initTreeOnLoad"> + </business-add> </el-container> </template> <script> @@ -150,39 +177,42 @@ treeOption: { defaultExpandAll: true, title: '涓氬姟绫诲瀷鏍�', + addBtn: false, + menu:false, props: { labelText: '', - label: 'name', + label: 'label', value: 'oid', children: 'childList', } }, - addOption:{ - btmType:{}, + addOption: { + btmType: {}, }, loadOption: { border: true, - height: 466, + height: 478, editBtn: false, addBtn: false, menu: false, highlightCurrentRow: true, - refreshBtn:false, - columnBtn:false, + refreshBtn: false, + columnBtn: false, column: [ { - label: '灞炴�ц嫳鏂囧悕绉�', + label: '鑻辨枃鍚嶇О', prop: 'id', align: 'center' }, { - label: '灞炴�т腑鏂囧悕绉�', + label: '涓枃鍚嶇О', prop: 'name', align: 'center' }, { - label: "灞炴�х被鍨�", - prop: "attrDataType", - align: 'center' + label: "绫诲瀷", + prop: "attrDataTypeText", + align: 'center', + slot: true }, { label: "榛樿鍊�", @@ -196,8 +226,23 @@ } ] }, + descriptionOption: { + labelStyle: 'text-align:center;width:120px', + contentStyle: 'width:240px;text-align:center;word-break;break-all;' + }, domain: null, domainOptions: [], + icons: { + key: 'el-icon-finished', + name: 'el-icon-tickets', + tableName: 'el-icon-date', + domain: 'el-icon-folder-opened', + revisionRule: 'el-icon-s-check', + lifeCycle: 'el-icon-refresh-right', + view: 'el-icon-view', + desc: 'el-icon-chat-line-square', + referType: 'el-icon-search' + }, ref: { // 浠庤〃涓�夋嫨dialog鐘舵�� visible: false, @@ -228,10 +273,7 @@ } ] }, - data: [{ - tableName: '1', - description: '2' - }] + data: [], } } }, @@ -240,42 +282,14 @@ this.initDomainOption(); }, methods: { - //鐢熷懡鍛ㄦ湡瀵硅瘽妗嗗彇娑堢偣鍑讳簨浠� - dialoghandelfalse() { - this.packageLifeBox = false - }, - //鐢熷懡鍛ㄦ湡瀵硅瘽妗嗙‘瀹氱偣鍑讳簨浠� - dialoghandeltrue() { - this.packageLifeBox = false - }, - //閫夋嫨鐢熷懡鍛ㄦ湡瀵硅瘽妗� - handelLife() { - this.packageLifeBox = true - }, - //鐗堟湰瑙勫垯鎵嬪姩杈撳叆鍜岄�夋嫨妗嗙殑鐘舵�佸彇鍙� - handelRules() { - this.rulesFalg = !this.rulesFalg - }, - //鐗堟湰瑙勫垯涓変釜鎸夐挳鐨勬樉绀洪殣钘� - radioChange(val) { - if (val.value == 0) { - this.basicOption.group[1].column[1].display = false; - this.basicOption.group[1].column[2].display = false; - this.basicOption.group[1].column[3].display = false; - } else if (val.value == 1) { - this.basicOption.group[1].column[1].display = true; - this.basicOption.group[1].column[2].display = true; - this.basicOption.group[1].column[3].display = false; - } else if (val.value == 2) { - this.basicOption.group[1].column[1].display = true; - this.basicOption.group[1].column[2].display = true; - this.basicOption.group[1].column[3].display = true; + nodeClick(data,node,leaf) { + if (data.oid) { + getDetail(data.oid).then(res => { + this.obj = res.data.data; + }) + }else{ + this.$message.warning('璇风偣鍑诲瓙鑺傜偣'); } - }, - nodeClick(data) { - getDetail(data.oid).then(res => { - this.obj = res.data.data; - }) }, // 鍩烘湰淇℃伅娣诲姞 basicSave(row, done, loading) { @@ -302,7 +316,6 @@ }) }, selectFromTable() { - console.log('鑾峰彇'); this.ref.visible = true; }, refOnLoad(domain) { @@ -312,7 +325,6 @@ }, initTreeOnLoad() { initTree().then(res => { - console.log('123'); this.treeData = res.data.data; }); }, @@ -323,28 +335,41 @@ }, selectionChange(list) { this.selectionList = list; - console.log(this.selectionList); }, dialoghandelfalse() { this.ref.visible = false; + this.$refs.businessCrud.toggleSelection() this.selectionList = []; this.domain = null; }, dialoghandeltrue() { + if(this.selectionList.length<1){ + this.$message.warning('璇烽�夋嫨鏁版嵁'); + return false; + } saveFromTable(this.selectionList, this.domain).then(res => { this.$message.success('淇濆瓨鎴愬姛'); this.dialoghandelfalse(); this.initTreeOnLoad(); }) }, - businessAdd(){ + businessAdd() { this.$refs.btmAdd.showSubmitDialog = true; - console.log('娣诲姞'); + this.$refs.btmAdd.btmType = {}; + this.ifRefreshBtmAddRefresh(); }, - businessEdit(){ - this.addOption.btmType = this.obj; - this.$refs.addOption.showSubmitDialog = true; - console.log('缂栬緫'); + businessEdit() { + if (!this.obj.oid){ + this.$message.warning("璇烽�夋嫨涓�鏉″彾瀛愯妭鐐圭殑涓氬姟绫诲瀷"); + return; + } + const json = JSON.stringify(this.obj); + this.$refs.btmAdd.btmType =JSON.parse(json); + this.$refs.btmAdd.showSubmitDialog = true; + this.ifRefreshBtmAddRefresh(); + }, + ifRefreshBtmAddRefresh() { + // this.$refs.btmAdd.refreshAttrTable(); } }, } @@ -356,7 +381,14 @@ border-radius: 10px; } -.businessCrud > .el-card > .el-card__body > .avue-crud_menu{ - display: none!important; - } -</style> +.businessCrud>.el-card:nth-of-type(2)>.el-card__body>.avue-crud__menu { + display: none !important; +} + +.attributeCrud>.el-card:nth-of-type(2)>.el-card__body>.avue-crud__menu { + display: none !important; +} + +.businessTreeContainer>.el-card>.el-card__body { + height: 775px; +}</style> -- Gitblit v1.9.3