From c2ee2b74bd587fdad8e9e276beb3c792f56f5b6c Mon Sep 17 00:00:00 2001 From: lihang <lihang@vci-tech.com> Date: 星期三, 05 七月 2023 16:33:55 +0800 Subject: [PATCH] 业务类型和元数据相关的修正 --- Source/UBCS-WEB/src/views/modeling/original.vue | 855 ++++++++++++++++++++++---------------------------------- 1 files changed, 336 insertions(+), 519 deletions(-) diff --git a/Source/UBCS-WEB/src/views/modeling/original.vue b/Source/UBCS-WEB/src/views/modeling/original.vue index 8a35740..6588c67 100644 --- a/Source/UBCS-WEB/src/views/modeling/original.vue +++ b/Source/UBCS-WEB/src/views/modeling/original.vue @@ -1,549 +1,366 @@ <template> - <basic-container> - <avue-crud v-model="form" :option="option" :data="data" ref="crud" :before-open="beforeOpen" @on-load="onLoad" @row-save="rowSave" @row-update="rowUpdate" @row-del="rowDel" :page.sync="page"> - <template slot-scope="{row,index,type}" slot="hideboxForm"> - <avue-form :option="option.codomainoption"></avue-form> - <div v-if="tablefalge"> - <el-input style="width: 140px;margin-left: 300px"></el-input> - <el-button style="margin-left: 15px" type="primary">鎼滅储</el-button> - <el-table - ref="multipleTable" - :data="tableData" - tooltip-effect="dark" - style="width: 100%" - max-height="510" - @selection-change="handleSelectionChange"> - <el-table-column - type="selection" - width="55"> - </el-table-column> - - <el-table-column - prop="name" - label="涓氬姟绫诲瀷鍚�" - > - </el-table-column> - <el-table-column - prop="label" - label="鏍囩" - show-overflow-tooltip> - </el-table-column> - <el-table-column - prop="father" - label="鐖剁被" - show-overflow-tooltip> - </el-table-column> - <el-table-column - prop="rules" - label="鐗堟湰瑙勫垯" - show-overflow-tooltip> - </el-table-column> - <el-table-column - prop="cycle" - label="鐢熷懡鍛ㄦ湡" - show-overflow-tooltip> - </el-table-column> - </el-table> - <el-button style="margin-left: 320px;margin-top: 13px" type="primary">纭畾</el-button> - <el-button>鍙栨秷</el-button> - </div> - <div v-if="!tablefalge"> - <el-input style="width: 140px;margin-left: 300px"></el-input> - <el-button style="margin-left: 15px" type="primary">鎼滅储</el-button> - <el-table - :data="tableDatas" - stripe - style="width: 100%"> - <el-table-column - type="selection" - width="55"> - </el-table-column> - <el-table-column - prop="name" - label="閾炬帴绫诲瀷"> - </el-table-column> - </el-table> - <el-button style="margin-left: 320px;margin-top: 13px" type="primary">纭畾</el-button> - <el-button>鍙栨秷</el-button> - </div> - -<!-- <div v-if="tablefalge">--> -<!-- <el-button style="margin-left: 320px;margin-top: 13px" type="primary">纭畾</el-button>--> -<!-- <el-button>鍙栨秷</el-button>--> -<!-- </div>--> - </template> - - </avue-crud> - - - </basic-container> + <el-container> + <el-main> + <basic-container> + <avue-crud v-model="form" ref="crud" :option="option" :data="data" @on-load="onLoad" :page.sync="page" + @refresh-change="refreshChange" @row-click="rowClick"> + <template slot="radio" slot-scope="{row}"> + <el-radio v-model="selectRow" :label="row.$index"> + </el-radio> + </template> + <template slot="menu" slot-scope="{row,index}"> + <el-button icon="el-icon-edit" size="small" type="text" @click="updateSave(row,index)">缂栬緫</el-button> + <el-button icon="el-icon-delete" size="small" type="text" @click="deleteSave(row,index)">鍒犻櫎</el-button> + </template> + <template slot="menuLeft"> + <el-button size="small" type="primary" icon="el-icon-plus" @click="addSave">鏂� 澧� + </el-button> + <el-button size="small" plain type="primary" icon="el-icon-zoom-in" @click="applyRangeOpen">鏌ョ湅浣跨敤鑼冨洿 + </el-button> + <el-input placeholder="鎸夊睘鎬ц嫳鏂囧悕绉版煡璇�" v-model="searchId" clearable prefix-icon="el-icon-search" class="attrSearch" + size="small" @change="doSearch" type="text"></el-input> + <el-button size="small" plain type="primary" icon="el-icon-search" @click="doSearch"> 鎼滅储</el-button> + </template> + <template slot="typeValue" slot-scope="{row}"> + <el-tag>{{ row.typeValue }}</el-tag> + </template> + </avue-crud> + <!-- <el-dialog :visible.sync="applyRange.display" append-to-body :title="applyRange.title" width="600px" + @close="applyRangeClose"> + <avue-crud v-model="applyRange.model" :option="applyRange.option" :data="applyRange.data" class="applyRangeTable" + ></avue-crud> + </el-dialog> --> + <Versionpackage :rangeData="applyRangeData" ref="applyRange"></Versionpackage> + </basic-container> + </el-main> + <el-aside> + <basic-container class="itemForm"> + <el-descriptions class="margin-top" :column="1" size="medium" border title="灞炴�ч」"> + <el-descriptions-item> + <template slot="label"> + 灞炴�х紪鍙� + </template> + {{ itemForm.itemData.id }} + </el-descriptions-item> + <el-descriptions-item> + <template slot="label"> + 灞炴�у悕绉� + </template> + {{ itemForm.itemData.name }} + </el-descriptions-item> + <el-descriptions-item> + <template slot="label"> + 灞炴�х被鍨� + </template> + {{ itemForm.itemData.typeValue }} + </el-descriptions-item> + <el-descriptions-item> + <template slot="label"> + 鏍囩 + </template> + {{ itemForm.itemData.hashtag }} + </el-descriptions-item> + <el-descriptions-item> + <template slot="label"> + 榛樿鍊� + </template> + {{ itemForm.itemData.defaultValue }} + </el-descriptions-item> + <el-descriptions-item> + <template slot="label"> + 鍏佽涓虹┖ + </template> + {{ itemForm.itemData.nullable }} + </el-descriptions-item> + <el-descriptions-item> + <template slot="label"> + 闀垮害 + </template> + {{ itemForm.itemData.maxLength }} + </el-descriptions-item> + <el-descriptions-item> + <template slot="label"> + 鎻忚堪 + </template> + {{ itemForm.itemData.description }} + </el-descriptions-item> + </el-descriptions> + <div style="height:15px"></div> + <el-descriptions class="margin-top" :column="1" size="medium" border title="灞炴�ч厤缃�"></el-descriptions> + <el-tabs v-model="itemForm.activeName" @tab-click="handleClick" stretch="true" style="height:235px"> + <el-tab-pane label="鍙傜収" name="referTab"> + <el-descriptions class="margin-top" :column="1" size="medium" border> + <el-descriptions-item> + <template slot="label"> + 浣跨敤鍙傜収 + </template> + {{ itemForm.itemData.referTypeValue ? '鏄�' : '鍚�' }} + </el-descriptions-item> + <el-descriptions-item> + <template slot="label"> + 鍙傜収绫诲瀷 + </template> + {{ itemForm.itemData.referTypeValue }} + </el-descriptions-item> + <el-descriptions-item> + <template slot="label"> + 鍙傜収鍚嶇О + </template> + {{ itemForm.itemData.referToName }} + </el-descriptions-item> + </el-descriptions> + </el-tab-pane> + <el-tab-pane label="鏋氫妇" name="enumTab"> + <el-descriptions class="margin-top" :column="1" :size="small" border> + <el-descriptions-item> + <template slot="label"> + 浣跨敤鏋氫妇 + </template> + {{ itemForm.itemData.usingDict ? '鏄�' : '鍚�' }} + </el-descriptions-item> + <el-descriptions-item> + <template slot="label"> + 鏋氫妇绫诲瀷 + </template> + {{ itemForm.itemData.dictValue }} + </el-descriptions-item> + </el-descriptions> + </el-tab-pane> + </el-tabs> + </basic-container> + </el-aside> + <originalAdd ref="originalAdd" @refreshTable="refreshChange" :attribute="editAttribute"></originalAdd> + </el-container> </template> <script> +import { + getList, + remove, + add, + update, getPage, getApplyRange +} from "@/api/omd/OmdAttribute"; +import Versionpackage from "./Versionpackage.vue"; +import {getDictionary} from "@/api/omd/enum"; + export default { - name: "passwords.vue", + name: "original", data() { return { - tablefalge:false, - tableDatas: [ { - name: 'input', - }, { - name: 'checkbox', - }, { - name: 'switch', - }], - tableData: [{ - name: 'abc', - label: '瀹㈡埛', - father:'瀹㈡埛', - rules:'瑙勫垯', - cycle:'cba' - }, - { - name: 'abc', - label: '瀹㈡埛', - father:'瀹㈡埛', - rules:'瑙勫垯', - cycle:'cba' - }, - { - name: 'abc', - label: '瀹㈡埛', - father:'瀹㈡埛', - rules:'瑙勫垯', - cycle:'cba' - }, - { - name: 'abc', - label: '瀹㈡埛', - father:'瀹㈡埛', - rules:'瑙勫垯', - cycle:'cba' - }, - { - name: 'abc', - label: '瀹㈡埛', - father:'瀹㈡埛', - rules:'瑙勫垯', - cycle:'cba' - }, - { - name: 'abc', - label: '瀹㈡埛', - father:'瀹㈡埛', - rules:'瑙勫垯', - cycle:'cba' - }, - { - name: 'abc', - label: '瀹㈡埛', - father:'瀹㈡埛', - rules:'瑙勫垯', - cycle:'cba' - }, - { - name: 'abc', - label: '瀹㈡埛', - father:'瀹㈡埛', - rules:'瑙勫垯', - cycle:'cba' - }, { - name: 'abc', - label: '瀹㈡埛', - father:'瀹㈡埛', - rules:'瑙勫垯', - cycle:'cba' - }, - - { - name: 'abc', - label: '瀹㈡埛', - father:'瀹㈡埛', - rules:'瑙勫垯', - cycle:'cba' - },], - form:{}, page: { pageSize: 10, currentPage: 1, total: 100 }, - appflage:true, - data: [ - { - name:"a", - prop:"VTstring", - admin:"榛樿", - desc:"娴嬭瘯A" - }, - { - name:"b", - prop:"VTstring", - admin:"榛樿", - desc:"娴嬭瘯B" - }, - { - name:"c", - prop:"VTstring", - admin:"榛樿", - desc:"娴嬭瘯C" - }, - { - name:"d", - prop:"VTstring", - admin:"榛樿", - desc:"娴嬭瘯D" - } - ], - option:{ - selection: true, - dialogType:'drawer', - headerAlign: 'center', + selectRow: "", + data: [], + form: {}, + attribute: { + nullable: true + }, + editAttribute: {}, + applyRangeData: [], + option: { + height: "550px", + headerAlign: "center", border: true, index: true, - rowKey:'id', + rowKey: "id", tabs: true, - codomainoption:{ - submitBtn: false, - emptyBtn: false, - column: [ - { - placeholder:"璇烽�夋嫨鍊煎煙", - span:24, - label: '鍊煎煙', - prop: 'select', - type:"select", - value:0, - change:this.selectChange, - dicData:[ - { - label:"涓氬姟绫诲瀷", - value:0 - }, - { - label:"閾炬帴绫诲瀷", - value:1 - }, - ]}, - { - label: "閫夋嫨鐗堟湰", - prop:"banben", - type:'select', - display:false, - dicData: [ - { - label: '褰撳墠鐗堟湰娆�', - value:0 - }, - { - label: '鏈�鏂扮増鏈', - value:1 - } - ] - } - ] + stripe: true, + indexFixed: false, + menuWidth: 150, + highlightCurrentRow: true, + addBtn: false, + editBtn: false, + delBtn: false, + columnBtn:false, + column: [{ + label: "閫夋嫨", + prop: "radio", + width: 60, + hide: false, + display: false + }, { + label: "灞炴�х紪鍙�", + prop: "id", + align: "left", + display: false, + width: 200, + required: true + }, { + label: "灞炴�у悕绉�", + prop: "name", + align: "left", + display: false + }, { + label: "鏍囩", + prop: "hashtag", + // hide: true, + display: false + }, { + label: "鏄惁浣跨敤鏋氫妇", + prop: "usingDict", + type: "switch", + hide: true, + labelWidth: 132, + display: false, + dicData: [{ + label: "鏄�", + value: "true" + }, { + label: "鍚�", + value: "false" + }] + }, { + label: "灞炴�х被鍨�", + prop: "typeValue", + display: false, + // hide: true + }, { + label: "榛樿鍊�", + prop: "defaultValue", + display: false + }, { + label: "鍏佽涓虹┖", + prop: "nullable", + type: "switch", + display: false, + hide: true, + labelWidth: 132, + dicData: [{ + label: "鍚�", + value: "false" + }, { + label: "鏄�", + value: "true" + }] + }, { + label: "闀垮害", + prop: "maxLength", + hide: true, + display: false + }, { + label: "鎻忚堪", + prop: "description", + type: "textarea", + display: false }, - column:[ - { - label: '灞炴�у悕', - prop: 'name', - align: 'left', - display:false - }, - { - label: '鏍囩', - prop: 'tag', - hide:true, - display: false - }, - { - label: '鏄惁浣跨敤鏋氫妇', - prop: 'isnot', - type: 'switch', - hide:true, - labelWidth: 132, - display: false, - dicData:[{ - label:'鏄�', - value:0 - },{ - label:'鍚�', - value:1 - }] - }, - { - label: '灞炴�х被鍨�', - prop: 'prop', - type:"select", - display: false, - dicData:[ - { - label:"娴嬭瘯1", - value:0 - }, - { - label:"娴嬭瘯2", - value:1 - }, - { - label:"娴嬭瘯3", - value:2 - } - ] - }, - { - label: '榛樿鍊�', - prop: 'admin', - display: false - }, - { - label: '鍏佽涓虹┖', - prop: 'isDefault', - type: 'switch', - display: false, - hide:true, - labelWidth: 132, - dicData:[{ - label:'涓嶅厑璁�', - value:0 - },{ - label:'鍏佽', - value:1 - }] - }, - { - label: "闀垮害", - prop: "length", - hide: true, - display: false - }, - { - label: '鎻忚堪', - prop: 'desc', - type:"textarea", - display: false - }, - ], - group:[ - { - label: '灞炴�ч」', - prop:"index", - column: [ - { - label: '灞炴�у悕', - prop: 'name', - align: 'left', - }, - { - label: '鏍囩', - prop: 'tag', - hide:true - }, - { - label: '灞炴�х被鍨�', - prop: 'prop', - type:"select", - dicData:[ - { - label:"娴嬭瘯1", - value:0 - }, - { - label:"娴嬭瘯2", - value:1 - }, - { - label:"娴嬭瘯3", - value:2 - } - ] - }, - { - label: '榛樿鍊�', - prop: 'admin', - }, - { - label: '鍏佽涓虹┖', - prop: 'isDefault', - type: 'switch', - hide:true, - labelWidth: 132, - dicData:[{ - label:'涓嶅厑璁�', - value:0 - },{ - label:'鍏佽', - value:1 - }] - }, - { - label: "闀垮害", - prop: "length", - hide: true - }, - { - label: '鎻忚堪', - prop: 'desc', - type:"textarea" - }, - ] - }, - { - label: '鍊煎煙', - column:[ - { - prop: 'hidebox', - formsolt:true, - hide: true, - span:24, - }, - ] - }, - { - label: '鏋氫妇', - column: [ - { - label: '鏄惁浣跨敤鏋氫妇', - prop: 'isnot', - type: 'switch', - hide:true, - labelWidth: 132, - span:8, - dicData:[{ - label:'鏄�', - value:0 - },{ - label:'鍚�', - value:1 - }] - }, - { - prop:'text', - type:'input', - placeholder:'璇疯緭鍏ュ唴瀹�', - hide:true, - display:false - }, - { - prop: 'enumerationSelect', - type: 'select', - placeholder: '璇烽�夋嫨', - hide: true, - span:12, - dicData: [ - { - label: 'a', - value: 0 - }, - { - label: 'b', - value: 1 - }, - { - label: 'c', - value: 2 - } - ] - }, - { - label: '鎻忚堪', - prop: 'endesc', - type:"textarea", - labelWidth: 132, - }, - ] - } ] }, - - } + itemForm: { + itemData: {}, + activeName: "referTab", + enumInitFlag:false, + referInitFlag: false, + form: {} + }, + searchId: '', + }; }, - - created() { }, - methods:{ - selectChange(val){ - console.log(val) - this.tablefalge=!this.tablefalge - if(val.value == 0){ - this.tablefalge=true - this.option.codomainoption.column[1].display=false - }else if(val.value == null || val.value == 1){ - this.tablefalge=false; - this.option.codomainoption.column[1].display=true + methods: { + refreshChange() { + this.onLoad(this.pageParent, this.query); + }, + addSave() { + this.$refs.originalAdd.showSubmitDialog = true; + this.$refs.originalAdd.attribute = {}; + }, + updateSave(row,index) { + this.selectRow = index; + var json = JSON.stringify(row); + this.editAttribute = JSON.parse(json); + this.editAttribute.nullable = row.nullable == 'true' ? true : false; + this.$refs.originalAdd.attribute = this.editAttribute; + this.$refs.originalAdd.showSubmitDialog = true; + this.checkUsingReferDict(row); + this.$refs.originalAdd.activeName = this.itemForm.activeName; + this.$refs.originalAdd.enumInitFlag = this.itemForm.enumInitFlag; + this.$refs.originalAdd.referInitFlag = this.itemForm.referInitFlag; + this.refreshChange() + }, + deleteSave(row,index) { + console.log(row); + remove(row.oid).then(res => { + this.$message.success("鍒犻櫎鎴愬姛"); + }); + this.refreshChange(); + }, + onLoad(page, params = {}) { + this.loading = true; + getPage(this.page.currentPage, this.page.pageSize, Object.assign(params, this.query)).then(res => { + const data = res.data.data; + this.page.total = data.total; + this.data = data.records; + this.loading = false; + this.data = res.data.data.records; + this.itemData = this.data[0]; + }); + }, + rowClick(row) { + this.itemForm.itemData = row; + this.selectRow = row.$index; + this.attribute = row; + this.checkUsingReferDict(row); + }, + checkUsingReferDict(row){ + if (row.referToId !== null && row.referToId !== ""){ + this.itemForm.activeName = 'referTab'; + this.itemForm.referInitFlag = true; + this.itemForm.enumInitFlag = false; + }else if (row.usingDict === 'true'){ + this.itemForm.activeName = 'enumTab'; + this.itemForm.referInitFlag = false; + this.itemForm.enumInitFlag = true; + getDictionary({code: row.dictCode}).then(res => { + this.editAttribute.dictValue = res.data.data[0].label; + this.itemForm.itemData.dictValue = this.editAttribute.dictValue; + this.$refs.originalAdd.dictEnums = res.data.data; + }) + }else { + this.itemForm.activeName = 'referTab'; + this.itemForm.referInitFlag = true; + this.itemForm.enumInitFlag = false; } }, - beforeOpen (done, type) { - if (['view', 'edit'].includes(type)) { - // 鏌ョ湅鍜岀紪杈戦�昏緫 - console.log("缂栬緫") - } else { - //鏂板閫昏緫 - this.tablefalge=false - console.log(this.tablefalge) - console.log("鏂板") - } - done(); - + selectBtmType() { + this.referType.display = true; + this.referType.title = "璇烽�夋嫨" + this.referType.value; + }, + applyRangeOpen() { + if (!this.selectRow && this.selectRow != 0) { + this.$message({ + type: "warning", + message: "璇峰厛閫夋嫨灞炴��" + }); } - // rowDel(row){ - // this.$confirm("纭畾灏嗛�夋嫨鏁版嵁鍒犻櫎?", { - // confirmButtonText: "纭畾", - // cancelButtonText: "鍙栨秷", - // type: "warning" - // }) - // .then(() => { - // return getremove(row.id); - // }) - // .then(() => { - // this.$message({ - // type: "success", - // message: "鎿嶄綔鎴愬姛!" - // }); - // this.onLoad(); - // }); - // }, - // rowSave(row,done){ - // getadd(row).then(()=>{ - // this.$message({ - // type: "success", - // message: "鎿嶄綔鎴愬姛!" - // }); - // done(row) - // this.onLoad() - // }).catch((res)=>{ - // this.$message({ - // type: "success", - // message:res - // }); - // }) - // }, - // rowUpdate(row,index,done){ - // getupdata(row).then(()=>{ - // this.onLoad() - // this.$message({ - // type: "success", - // message: "淇敼鎴愬姛!" - // }); - // done(row) - // }) - // }, - // onLoad(page, params = {}) { - // // this.loading = true; - // // getPage(this.page.currentPage, this.page.pageSize, Object.assign(params, this.query)).then(res => { - // // // const data = res.data.data; - // // // this.page.total = data.total; - // // // this.data = data.records; - // // // this.loading = false; - // // // this.selectionClear(); - // // this.data=res.data.data.records - // // }) - // } - } + var oid = this.data[this.selectRow].oid; + getApplyRange(oid).then(res => { + this.applyRangeData = res.data.data; + this.$refs.applyRange.rangeData = this.applyRangeData; + this.$refs.applyRange.showDialog = true; + }); + }, + doSearch(){ + var params = {"id_like":this.searchId}; + this.onLoad(this.page,params); + } + }, + components: { Versionpackage } } </script> <style lang="scss"> +.applyRangeTable>.el-card:nth-of-type(2)>.el-card__body>.avue-crud__menu { + display: none !important; +} +.attrSearch { + width:201px; +} +.attrSearch > .el-input__inner { + width: 200px; +} </style> -- Gitblit v1.9.3