From ff49da5c8d236c416c88e295de29548e01b9d321 Mon Sep 17 00:00:00 2001 From: fujunling <2984387807@qq.com> Date: 星期五, 26 五月 2023 00:09:28 +0800 Subject: [PATCH] 动态表单 --- Source/UBCS-WEB/src/views/modeling/original.vue | 129 +++++++++++++++++++++++++++++++++---------- 1 files changed, 99 insertions(+), 30 deletions(-) diff --git a/Source/UBCS-WEB/src/views/modeling/original.vue b/Source/UBCS-WEB/src/views/modeling/original.vue index 8597d3e..fe46d55 100644 --- a/Source/UBCS-WEB/src/views/modeling/original.vue +++ b/Source/UBCS-WEB/src/views/modeling/original.vue @@ -4,15 +4,33 @@ <basic-container> <avue-crud v-model="form" :option="option" :data="data" ref="crud" @on-load="onLoad" @row-save="rowSave" @row-update="rowUpdate" :before-open="beforeOpen" @row-del="rowDel" :page.sync="page" - @refresh-change="refreshChange" @row-click="rowClick"> + @refresh-change="refreshChange" @row-click="rowClick" + @selection-change="selectChange"> <template slot-scope="{row,index,type}" slot="selInputForm"> <div style="margin-left: 75px"> <el-input v-model="form.text" :size="size" style="width: 210px" :readonly="true" @focus="selectBtmType" :disabled="referType.disable"></el-input> - <!-- <el-button type="primary" style="margin-left: 10px" @click="addHandle">閫夋嫨</el-button> --> - <!-- <el-button type="info">鍙栨秷</el-button> --> </div> </template> + <template slot="radio" + slot-scope="{row}"> + <el-radio v-model="selectRow" + :label="row.$index"> + </el-radio> + </template> + <template slot="menuLeft"> + <el-button size="small" + plain + type="primary" + icon="el-icon-zoom-in" + @click="applyRangeOpen">鏌ョ湅浣跨敤鑼冨洿 + </el-button> + </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> <el-dialog :visible.sync="referType.display" append-to-body :title="referType.title" width="1000px"> <original-range @rowchange="rowchange"></original-range> <span slot="footer" class="dialog-footer"> @@ -35,10 +53,10 @@ <el-tab-pane label="灞炴�ч」" name="attrTab"> <el-form ref="form" :model="itemData" label-width="80px" style="height: 656px;"> <el-form-item label="灞炴�х紪鐮�"> - <el-input v-model="itemData.key" :disabled="true"></el-input> + <el-input v-model="itemData.id" :disabled="true"></el-input> </el-form-item> <el-form-item label="灞炴�у悕绉�"> - <el-input v-model="itemData.label" :disabled="true"></el-input> + <el-input v-model="itemData.name" :disabled="true"></el-input> </el-form-item> <el-form-item label="灞炴�х被鍨�"> <el-input v-model="itemData.typeValue" :disabled="true"></el-input> @@ -91,10 +109,10 @@ getList, remove, add, - update, getPage + update, getPage, getApplyRange } from "@/api/omd/OmdAttribute"; -import { getDictionary } from "@/api/omd/dict"; +import { getDictionary } from "@/api/omd/enum"; export default { name: "original", @@ -136,26 +154,34 @@ currentPage: 1, total: 100 }, + selectRow: '', data: [ ], option: { height: "550px", - selection: true, headerAlign: 'center', border: true, index: true, rowKey: 'id', tabs: true, - column: [ + highlightCurrentRow: true, + column: [{ + label: '閫夋嫨', + prop: 'radio', + width: 60, + hide: false, + display: false + }, { label: '灞炴�х紪鍙�', - prop: 'key', + prop: 'id', align: 'left', - display: false + display: false, + width: 200 }, { label: '灞炴�у悕绉�', - prop: 'label', + prop: 'name', align: 'left', display: false }, @@ -225,13 +251,13 @@ prop: "index", column: [ { - label: '灞炴�х紪鐮�', - prop: 'key', + label: '灞炴�х紪鍙�', + prop: 'id', align: 'left', }, { label: '灞炴�у悕绉�', - prop: 'label', + prop: 'name', align: 'left', }, { @@ -409,6 +435,36 @@ } ] }, + 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, + } } }, @@ -454,7 +510,6 @@ this.packageLinkBox = false }, selectChange(val) { - console.log(val); this.referType.key = val.value if (val.value == 'businessType'){ this.referType.value = '涓氬姟绫诲瀷' @@ -465,7 +520,6 @@ if(val.value){ this.referType.disable = false } - console.log(this.referType.disable) }, selchange(val) { this.banList = val @@ -475,17 +529,7 @@ this.onLoad(this.pageParent, this.query); }, beforeOpen(done, type) { - if (['view', 'edit'].includes(type)) { - // 鏌ョ湅鍜岀紪杈戦�昏緫 - console.log("缂栬緫") - } else { - //鏂板閫昏緫 - console.log(this.Typelist) - console.log(this.banList) - - console.log("鏂板") - console.log(this.typeSelectList) - } + done(); }, @@ -543,14 +587,39 @@ }) }, rowClick(row) { - this.itemData = row + this.itemData = row; + this.selectRow = row.$index; + } ,selectBtmType(){ this.referType.display = true; this.referType.title = "璇烽�夋嫨" + this.referType.value + }, + applyRangeOpen(){ + if (!this.selectRow){ + this.$message({ + type:"warning", + message: "璇峰厛閫夋嫨灞炴��" + }) + } + var oid = this.data[this.selectRow].oid; + console.log(oid); + getApplyRange(oid).then(res => { + this.applyRange.data = res.data.data; + }) + console.log("success"); + this.applyRange.display = true; + }, + applyRangeClose(){ + this.applyRange.data = []; + this.applyRange.display = false; } }, } </script> -<style lang="scss"></style> +<style lang="scss"> +.applyRangeTable > .el-card:nth-of-type(2) > .el-card__body > .avue-crud__menu{ + display: none !important; +} +</style> -- Gitblit v1.9.3