From 8bc25357d5742f07710baa7a6f1d6ac4023da3ac Mon Sep 17 00:00:00 2001 From: wangting <wangting@vci-tech.com> Date: 星期三, 25 十二月 2024 12:00:55 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- Source/plt-web/plt-web-ui/src/views/modelingMenu/ui/formDefine/components/formDialog.vue | 100 +++++++++++++++++++++++++++++-------------------- 1 files changed, 59 insertions(+), 41 deletions(-) diff --git a/Source/plt-web/plt-web-ui/src/views/modelingMenu/ui/formDefine/components/formDialog.vue b/Source/plt-web/plt-web-ui/src/views/modelingMenu/ui/formDefine/components/formDialog.vue index 142890e..eeeb527 100644 --- a/Source/plt-web/plt-web-ui/src/views/modelingMenu/ui/formDefine/components/formDialog.vue +++ b/Source/plt-web/plt-web-ui/src/views/modelingMenu/ui/formDefine/components/formDialog.vue @@ -35,7 +35,7 @@ <span style="display: flex;align-items: center; margin-right: 5px;"> <p class="tableTopLabel">鏌ヨ妯℃澘鍚嶇О锛�</p> - <el-select v-model="form.itemQtName" placeholder="璇烽�夋嫨鏌ヨ妯℃澘" size="mini"> + <el-select v-model="topForm.itemQtName" placeholder="璇烽�夋嫨鏌ヨ妯℃澘" size="mini"> <el-option v-for="(item,index) in searchQtNameList" :key="index" :label="item.qtName" :value="item.qtName"></el-option> </el-select> @@ -76,29 +76,28 @@ type="primary"></el-button> </div> <el-input - v-if="item.itemType === 'textarea' || item.itemType === 'richtext' || item.itemType === 'webeditor'" - v-model="item.value" - :placeholder="item.text"> + v-if="item.itemType === 'textarea' || item.itemType === 'richtext' || item.itemType === 'webeditor'" + v-model="item.value" + :placeholder="item.text"> </el-input> - <el-input-number size="mini" v-if="item.itemType === 'number'" v-model="item.value" :max="99999" - :min="1"></el-input-number> + <el-input-number v-if="item.itemType === 'number'" v-model="item.value" :max="99999" :min="1" + size="mini"></el-input-number> <el-input v-if="item.itemType === 'password'" v-model="input" placeholder="璇疯緭鍏ュ瘑鐮�" show-password></el-input> <el-radio v-if="item.itemType === 'radio'" v-model="item.value"></el-radio> <el-checkbox v-if="item.itemType === 'checkbox'" v-model="item.value"></el-checkbox> - <el-select v-if="item.itemType === 'select' || item.itemType === 'multiselect'" + <el-select v-if="item.itemType === 'select' || item.itemType === 'multiselect'" v-model="item.value" :disabled="false" placeholder="璇烽�夋嫨" size="mini"> </el-select> <el-date-picker - class="formItemMargin" v-if="item.itemType === 'date' || item.itemType === 'datetime'" v-model="item.value" :placeholder="item.itemType === 'date' ? '璇烽�夋嫨鏃ユ湡' : '璇烽�夋嫨鏃ユ湡鏃堕棿'" + class="formItemMargin" type="date"> </el-date-picker> <el-time-select - class="formItemMargin" v-if="item.itemType === 'time'" v-model="item.value" :picker-options="{ @@ -106,6 +105,7 @@ step: '00:15', end: '18:30' }" + class="formItemMargin" placeholder="閫夋嫨鏃堕棿"> </el-time-select> <el-button v-if="item.itemType === 'file'" @@ -140,15 +140,20 @@ <basic-container> <div style="height: 660px; overflow-y: auto;padding-right: 10px"> <h3>璁剧疆</h3> + <h4 style="color: red">灞炴�ц缃俊鎭悗闇�鍗曞嚮鍙充笅瑙掑簲鐢ㄦ寜閽繘琛屽簲鐢�</h4> <el-form ref="form" :model="form" :rules="rules" label-position="left" label-width="85px"> <el-row style="border-bottom: 1px solid #878585;padding-bottom: 10px"> <el-col :span="24"> <el-form-item label="浣跨敤瀛楁"> <div style="display: flex;align-items: center"> <el-input v-model="form.text" :readonly="true" placeholder="璇疯緭鍏ヤ娇鐢ㄥ瓧娈�" size="mini"></el-input> - <el-checkbox v-model="form.itemIsEditable" true-label="1" false-label="0" style="margin-left: 5px; margin-right: 5px">鍙 + <el-checkbox v-model="form.itemIsEditable" false-label="0" + style="margin-left: 5px; margin-right: 5px" + true-label="1">鍙 </el-checkbox> - <el-checkbox v-model="form.itemIsRequired" true-label="1" false-label="0" style="margin-left: 5px;margin-right: 0px">蹇呭~ + <el-checkbox v-model="form.itemIsRequired" false-label="0" + style="margin-left: 5px;margin-right: 0px" + true-label="1">蹇呭~ </el-checkbox> </div> </el-form-item> @@ -405,6 +410,7 @@ </el-container> <!-- 娣诲姞鑷畾涔夌粍浠� --> + <el-dialog v-dialogDrag v-loading="customLoading" @@ -608,7 +614,8 @@ :show-header="false" border stripe - style="width: 100%"> + style="width: 100%" + @row-click="customOptionTableClick"> <el-table-column align="center" label="鍚嶇О" @@ -631,7 +638,9 @@ <el-button plain size="mini" style="margin-right: 5px" type="success" @click="optionAddClickHandler('dialog')">娣诲姞 </el-button> - <el-button plain size="mini" style="margin-left: 5px" type="danger">鍒犻櫎</el-button> + <el-button plain size="mini" style="margin-left: 5px" type="danger" + @click="optionDeleteClickHandler('dialog')">鍒犻櫎 + </el-button> </div> </el-form-item> </el-col> @@ -730,8 +739,8 @@ :placeholder="item.text"> </el-input> - <el-input-number size="mini" v-if="item.itemType === 'number'" v-model="item.value" :max="99999" - :min="1"></el-input-number> + <el-input-number v-if="item.itemType === 'number'" v-model="item.value" :max="99999" :min="1" + size="mini"></el-input-number> <el-input v-if="item.itemType === 'password'" v-model="input" placeholder="璇疯緭鍏ュ瘑鐮�" show-password></el-input> <el-radio v-if="item.itemType === 'radio'" v-model="item.value"></el-radio> @@ -787,7 +796,7 @@ <avue-tree :key="refresh" ref="authTree" v-model="treeAuthForm" :data="treeAuthData" :option="treeAuthOption" @check-change="treeAuthCheckChange"> <span slot-scope="{ node, data }" class="el-tree-node__label"> - <span style="font-size: 15px"> + <span> <i class="el-icon-s-promotion"></i> {{ (node || {}).label }} </span> @@ -805,10 +814,9 @@ <script> import {getObjTypeQTs, getTreeAttributes, savePortalVI, refPersonOrgTree} from "@/api/UI/formDefine/api"; +import {gridAttribute} from "@/api/modeling/attributePool/api"; import func from "@/util/func"; import basicOption from "@/util/basic-option"; -import {gridAttribute} from "@/api/modeling/attributePool/api"; -import {getSysModelTreeMenuByPID} from "@/api/systemModel/mangeModel/api"; export default { name: "formDialog", @@ -845,7 +853,6 @@ children: 'childNodes', }, treeLoad: (node, resolve) => { - // console.log(node); const params = { 'conditionMap[dataType]': node.data.data, 'conditionMap[parentId]': node.data.data, @@ -1020,6 +1027,7 @@ ], form: {}, topForm: { + itemQtName: '', columnNumber: 8, showColumn: '3', viName: '', @@ -1046,7 +1054,11 @@ children: 'children', }, }, - treeData: [] + treeData: [], + optionRow: {}, + customOptionRow: {}, + optionCurrentIndex: 0, + customOptionCurrentIndex: 0 } }, computed: { @@ -1054,7 +1066,6 @@ const types = ['radio', 'checkbox', 'select']; return types.includes(this.form.itemType); // 灞曠ず }, - itemStyleTypeStatus() { const types = ['hidden', 'webeditor', 'radio', 'checkbox']; return !types.includes(this.form.itemType); // 涓嶅睍绀� @@ -1111,9 +1122,11 @@ text: data.text, oid: data.oid, itemType: 'text', - itemName: data.data.name + itemName: data.data.name, + itemCols: "1", + itemIsEditable: "0", + itemIsRequired: "0", } - console.log(data); const isDuplicate = this.formList.some(item => item.text === data.text); if (isDuplicate) { @@ -1128,10 +1141,8 @@ this.activeItem = item; this.activeItemIndex = index; this.form = {...item}; - console.log(item); - - // console.log(item,index); this.topForm.position = index += 1; + // this.$forceUpdate(); }, // 璁剧疆鏄剧ず琛屾暟 @@ -1199,7 +1210,7 @@ this.$message.error('璇烽�夋嫨涓�鏉℃暟鎹繘琛屽垹闄�'); return; } - this.formList = this.formList.filter(item => item.text != this.activeItem.text); + this.formList = this.formList.filter(item => item.text !== this.activeItem.text); this.activeItem = {}; this.form = {}; }, @@ -1233,7 +1244,11 @@ // 閫夐」琛ㄦ牸琛岀偣鍑� optionTableClick(row) { - console.log(row); + this.optionRow = row; + }, + + customOptionTableClick(row) { + this.customOptionRow = row; }, // 閫夐」娣诲姞 @@ -1264,15 +1279,20 @@ const params = { key: optionObj.optionName, - value: optionObj.optionValue + value: optionObj.optionValue, + index: val === 'dialog' ? this.customOptionCurrentIndex++ : this.optionCurrentIndex++ }; itemKeyValueList.push(params); }, // 閫夐」鍒犻櫎 - optionDeleteClickHandler() { - + optionDeleteClickHandler(val) { + if (val === 'dialog') { + this.customForm.itemKeyValueList.splice(this.customOptionRow.index, 1); + } else { + this.form.itemKeyValueList.splice(this.optionRow.index, 1); + } }, // 娣诲姞鑷畾涔夌粍浠� @@ -1293,7 +1313,7 @@ this.formList = this.formList.map(item => { return { ...item, - itemField: item.text // 灏唅temField璧嬪�间负text锛屽洜涓哄繕璁扮埗缁勪欢涓轰粈涔堝湪缂栬緫鍥炲~鏃舵妸itemField璧嬪�间负text浜� + itemField: item.text // 灏唅temField閲嶆柊璧嬪�间负text锛屽洜涓哄繕璁板綋鏃跺湪鐖剁粍浠剁紪杈戝洖濉柟娉曢噷涓轰粈涔堟妸itemField璧嬪�间负text浜� }; }); const params = { @@ -1305,7 +1325,7 @@ viType: 1, // 瑙嗗浘绫诲瀷 viTypeText: "琛ㄥ崟", // 瑙嗗浘涓枃鍚嶇О prm: { - formQtName: '', // 鏌ヨ妯℃澘鍚嶇О + formQtName: this.topForm.itemQtName, // 鏌ヨ妯℃澘鍚嶇О showCols: this.topForm.showColumn, prmItemList: this.formList }, @@ -1315,6 +1335,7 @@ this.$message.success(res.data.obj); this.visible = false; this.closeDialog(); + this.$emit('updataTable'); } }) // this.visible = false; @@ -1328,9 +1349,7 @@ } if (!this.form.text) { this.$message.error('璇峰湪鍙充晶閫夋嫨鏁版嵁鍚庤繘琛屾搷浣滐紒'); - return; } - }, // 鑷畾涔夌粍浠朵慨鏀规樉绀虹被鍨� @@ -1406,7 +1425,6 @@ this.$message.error('璇烽�夋嫨涓�鏉℃暟鎹繘琛屼繚瀛�'); return; } - // console.log(this.customAttrRow) this.customForm.text = this.customAttrRow.id; this.customAttrVisible = false; }, @@ -1417,6 +1435,7 @@ this.$message.error('璇锋坊鍔犱竴鏉℃暟鎹繘琛屼繚瀛橈紒'); return; } + this.formList = this.formList.map(item => item.text === this.form.text ? this.form : item ); @@ -1477,13 +1496,11 @@ return `${key}=${oids.join(',')}`; // 鐢� , 杩炴帴鍚屼竴绫诲瀷鐨� oid }).join('&&'); // 鏈�鍚庣敤 && 杩炴帴涓嶅悓绫诲瀷 - // console.log(resultString); if (this.authType === 'attr') { this.customForm.itemRight = resultString; } else { this.form.itemRight = resultString; } - // this.form.itemRight = resultString; this.authDialogClose(); } @@ -1525,8 +1542,9 @@ font-size: 14px } -.formItemMargin{ - margin: 10px 0 10px 0; -} +//.formItemMargin { +// margin: 10px 0 10px 0; +//} </style> + -- Gitblit v1.9.3