From 7db3ee6e84714a868e0b57a61a033d050b1a61fc Mon Sep 17 00:00:00 2001 From: xiejun <xj@2023> Date: 星期一, 18 九月 2023 21:06:30 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- Source/UBCS-WEB/src/views/modeling/original.vue | 486 +++++++++++++++++++++++++++-------------------------- 1 files changed, 249 insertions(+), 237 deletions(-) diff --git a/Source/UBCS-WEB/src/views/modeling/original.vue b/Source/UBCS-WEB/src/views/modeling/original.vue index 9757875..349cb2f 100644 --- a/Source/UBCS-WEB/src/views/modeling/original.vue +++ b/Source/UBCS-WEB/src/views/modeling/original.vue @@ -1,102 +1,94 @@ -<template> + <template> <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"> - <el-button icon="el-icon-edit" size="small" type="text" @click="updateSave">缂栬緫</el-button> - <el-button icon="el-icon-delete" size="small" type="text" @click="deleteSave">鍒犻櫎</el-button> + <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="menuLeft"> - <el-button size="small" - type="primary" - icon="el-icon-plus" - @click="addSave">鏂� 澧� + <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 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" + <!-- <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> + </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-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> + {{ 'true' == 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-tab-pane label="鍙傜収" name="referTab"> <el-descriptions class="margin-top" :column="1" size="medium" border> <el-descriptions-item> <template slot="label"> @@ -130,14 +122,14 @@ <template slot="label"> 鏋氫妇绫诲瀷 </template> - {{ itemForm.itemData.dictCode }} + {{ itemForm.itemData.dictValue }} </el-descriptions-item> </el-descriptions> </el-tab-pane> </el-tabs> </basic-container> </el-aside> - <originalAdd ref="originalAdd" :attribute="attribute" @refreshTable="refreshChange"></originalAdd> + <originalAdd ref="originalAdd" @refreshTable="refreshChange" :attribute="editAttribute"></originalAdd> </el-container> </template> @@ -148,173 +140,163 @@ add, update, getPage, getApplyRange } from "@/api/omd/OmdAttribute"; +import Versionpackage from "./Versionpackage.vue"; +import {getDictionary} from "@/api/omd/enum"; export default { name: "original", data() { - return { + return { page: { pageSize: 10, currentPage: 1, total: 100 }, - selectRow: '', + selectRow: "", data: [], - form:{}, + form: {}, attribute: { nullable: true }, + editAttribute: {}, + applyRangeData: [], option: { - height: "550px", - headerAlign: 'center', + height: "auto", + calcHeight:20, + headerAlign: "center", border: true, index: true, - rowKey: 'id', + rowKey: "id", tabs: true, - stripe:true, + stripe: true, indexFixed: false, menuWidth: 150, highlightCurrentRow: true, - addBtn:false, - editBtn:false, - delBtn:false, + 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: "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: '灞炴�у悕绉�', - 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 - }, + 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 + }, ] }, - applyRange: { - model: "", - title: "搴旂敤鐨勪笟鍔$被鍨�", - option: { - height: 360, - addBtn: false, - refreshBtn: false, - columnBtn: false, - menu: false, - border: true, - reserveSelection: true, - searchMenuSpan:8, - searchShowBtn: false, - highlightCurrentRow: true, - column: [ - { - label: '涓氬姟绫诲瀷缂栧彿', - prop: 'id', - align: 'left', - }, - { - label: '涓氬姟绫诲瀷鍚嶇О', - prop: 'name', - align: 'left', - }, - ] - }, - data: [], - display: false, - }, - itemForm:{ + itemForm: { itemData: {}, - activeName: 'referTab', - form:{} - } - } + activeName: "referTab", + enumInitFlag:false, + referInitFlag: false, + form: {} + }, + searchId: '', + }; }, created() { - }, methods: { refreshChange() { this.onLoad(this.pageParent, this.query); }, - addSave(){ + addSave() { this.$refs.originalAdd.showSubmitDialog = true; - this.$refs.originalAdd.attribute = {}; + const newAttr = {}; + newAttr.nullable = true; + this.$refs.originalAdd.attribute = newAttr; }, - updateSave(){ + 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.$refs.originalAdd.attribute = this.attribute; + 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(){ - remove(this.itemForm.itemData).then(res => { - this.$message.success("鍒犻櫎鎴愬姛"); - }) + deleteSave(row,index) { + this.$confirm("鍒犻櫎鍏冩暟鎹皢鏃犳硶琚仮澶�, 鏄惁缁х画?", "鎻愮ず", { + iconClass: 'el-icon-question', + confirmButtonText: "纭畾", + cancelButtonText: "鍙栨秷", + showClose: true, + type: "warning" + }).then(() => { + remove(row.oid).then(res => { + this.$message.success("鍒犻櫎鎴愬姛"); + this.refreshChange(); + }); + }); }, onLoad(page, params = {}) { this.loading = true; @@ -323,42 +305,72 @@ this.page.total = data.total; this.data = data.records; this.loading = false; - this.data = res.data.data.records + this.data = res.data.data.records; this.itemData = this.data[0]; - }) + }); }, rowClick(row) { this.itemForm.itemData = row; this.selectRow = row.$index; this.attribute = row; - } - ,selectBtmType(){ - this.referType.display = true; - this.referType.title = "璇烽�夋嫨" + this.referType.value + this.checkUsingReferDict(row); }, - applyRangeOpen(){ - if (!this.selectRow){ - this.$message({ - type:"warning", - message: "璇峰厛閫夋嫨灞炴��" - }) - } - var oid = this.data[this.selectRow].oid; - getApplyRange(oid).then(res => { - this.applyRange.data = res.data.data; + 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; }) - this.applyRange.display = true; + }else { + this.itemForm.activeName = 'referTab'; + this.itemForm.referInitFlag = true; + this.itemForm.enumInitFlag = false; + } }, - applyRangeClose(){ - this.applyRange.data = []; - this.applyRange.display = false; + selectBtmType() { + this.referType.display = true; + this.referType.title = "璇烽�夋嫨" + this.referType.value; + }, + applyRangeOpen() { + if (!this.selectRow && this.selectRow != 0) { + this.$message({ + type: "warning", + message: "璇峰厛閫夋嫨灞炴��" + }); + } + 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; +.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