From aed7f0e9be4e88a4ed632f9ca7aca05fa1e7f6b8 Mon Sep 17 00:00:00 2001 From: ludc Date: 星期四, 12 九月 2024 17:44:21 +0800 Subject: [PATCH] UI上下文导出树查询和导出接口 --- Source/plt-web/plt-web-ui/src/views/modelingMenu/modeling/attributePool/index.vue | 141 +++++++++++++++++++++++++++------------------- 1 files changed, 82 insertions(+), 59 deletions(-) diff --git a/Source/plt-web/plt-web-ui/src/views/modelingMenu/modeling/attributePool/index.vue b/Source/plt-web/plt-web-ui/src/views/modelingMenu/modeling/attributePool/index.vue index c2cb92a..ad7dfe9 100644 --- a/Source/plt-web/plt-web-ui/src/views/modelingMenu/modeling/attributePool/index.vue +++ b/Source/plt-web/plt-web-ui/src/views/modelingMenu/modeling/attributePool/index.vue @@ -306,7 +306,7 @@ </el-form-item> - <el-form-item :label="form.enumSwitch ? '鏋氫妇閫夋嫨锛�' : '娣诲姞鏋氫妇鍊硷細'" prop="enumSwitch"> + <el-form-item :label="form.enumSwitch ? '鏋氫妇閫夋嫨锛�' : '娣诲姞鍊煎煙锛�'" prop="enumSwitch"> <el-select v-if="form.enumSwitch" v-model="form.enumId" placeholder="璇烽�夋嫨鏋氫妇绫诲瀷" @change="enumSelectChange"> <el-option v-for="(item,index) in attributeDataTypePickList" :key="index" :label="item.key" @@ -320,8 +320,8 @@ <el-button size="mini" @click="enumAddHandler"> = </el-button> </div> </el-form-item> - <el-form-item label="褰撳墠鏋氫妇鍊硷細" prop="rangeValue"> - <textarea v-model="form.rangeValue" + <el-form-item :label="form.enumSwitch ? '褰撳墠鏋氫妇鍊硷細' : '褰撳墠鍊煎煙锛�'" prop="rangeValue"> + <textarea v-model="form.rangeValue" :readonly="form.enumSwitch" style="width: 330px; height: 80px; border: 1px solid #DCDFE6; overflow: auto; text-align: left;resize: none;"> </textarea> </el-form-item> @@ -336,7 +336,7 @@ </el-form-item> - <el-form-item :label="form.enumSwitch ? '鏋氫妇閫夋嫨锛�' : '娣诲姞鏋氫妇鍊硷細'" prop="enumSwitch"> + <el-form-item :label="form.enumSwitch ? '鏋氫妇閫夋嫨锛�' : '娣诲姞鍊煎煙锛�'" prop="enumSwitch"> <el-select v-if="form.enumSwitch" v-model="form.enumId" placeholder="璇烽�夋嫨鏋氫妇绫诲瀷" @change="enumSelectChange"> <el-option v-for="(item,index) in attributeDataTypePickList" :key="index" :label="item.key" @@ -347,17 +347,17 @@ </el-form-item> <el-form-item v-if="!form.enumSwitch" label="杩愮畻绗︼細"> <div> - <el-button size="mini" @click="operationHandler('>')"> > </el-button> - <el-button size="mini" @click="operationHandler('<')"> < </el-button> - <el-button size="mini" @click="operationHandler('>=')"> >= </el-button> - <el-button size="mini" @click="operationHandler('<=')"> <= </el-button> - <el-button size="mini" @click="operationHandler('=')"> = </el-button> - <el-button size="mini" @click="operationHandler('!=')"> != </el-button> - <el-button size="mini" @click="operationHandler('()')"> () </el-button> + <el-button size="mini" @click="operationHandler('>')"> ></el-button> + <el-button size="mini" @click="operationHandler('<')"> <</el-button> + <el-button size="mini" @click="operationHandler('>=')"> >=</el-button> + <el-button size="mini" @click="operationHandler('<=')"> <=</el-button> + <el-button size="mini" @click="operationHandler('=')"> =</el-button> + <el-button size="mini" @click="operationHandler('!=')"> !=</el-button> + <el-button size="mini" @click="operationHandler('()')"> ()</el-button> </div> </el-form-item> - <el-form-item label="褰撳墠鏋氫妇鍊硷細" prop="rangeValue"> - <textarea v-model="form.rangeValue" + <el-form-item :label="form.enumSwitch ? '褰撳墠鏋氫妇鍊硷細' : '褰撳墠鍊煎煙锛�'" prop="rangeValue"> + <textarea v-model="form.rangeValue" :readonly="form.enumSwitch" style="width: 330px; height: 80px; border: 1px solid #DCDFE6; overflow: auto; text-align: left;resize: none;"> </textarea> </el-form-item> @@ -365,22 +365,22 @@ <!-- VTDouble --> <div v-if="form.attributeDataType === 'VTDouble'" class="right"> <h3>鍊煎煙</h3> - <el-form-item label="娣诲姞鏋氫妇鍊硷細" prop="enumAddValue"> + <el-form-item :label="form.enumSwitch ? '鏋氫妇閫夋嫨锛�' : '娣诲姞鍊煎煙锛�'" prop="enumAddValue"> <el-input v-model="form.enumAddValue"> </el-input> </el-form-item> <el-form-item label="杩愮畻绗︼細"> <div> - <el-button size="mini" @click="operationHandler('>')"> > </el-button> - <el-button size="mini" @click="operationHandler('<')"> < </el-button> - <el-button size="mini" @click="operationHandler('>=')"> >= </el-button> - <el-button size="mini" @click="operationHandler('<=')"> <= </el-button> - <el-button size="mini" @click="operationHandler('=')"> = </el-button> - <el-button size="mini" @click="operationHandler('!=')"> != </el-button> - <el-button size="mini" @click="operationHandler('()')"> () </el-button> + <el-button size="mini" @click="operationHandler('>')"> ></el-button> + <el-button size="mini" @click="operationHandler('<')"> <</el-button> + <el-button size="mini" @click="operationHandler('>=')"> >=</el-button> + <el-button size="mini" @click="operationHandler('<=')"> <=</el-button> + <el-button size="mini" @click="operationHandler('=')"> =</el-button> + <el-button size="mini" @click="operationHandler('!=')"> !=</el-button> + <el-button size="mini" @click="operationHandler('()')"> ()</el-button> </div> </el-form-item> - <el-form-item label="褰撳墠鏋氫妇鍊硷細" prop="rangeValue"> + <el-form-item :label="form.enumSwitch ? '褰撳墠鏋氫妇鍊硷細' : '褰撳墠鍊煎煙锛�'" prop="rangeValue"> <textarea v-model="form.rangeValue" style="width: 330px; height: 80px; border: 1px solid #DCDFE6; overflow: auto; text-align: left;resize: none;"> </textarea> @@ -458,7 +458,7 @@ append-to-body="true" class="avue-dialog" title="鏌ョ湅浣跨敤鑼冨洿" - width="70%" + width="60%" > <avue-crud ref="checkViewCrud" @@ -479,7 +479,7 @@ getUsedAttributeList, getEnumMapByType, deleteAttributes, - download, + exportAttributes, downloadAttributeTemplate, getBizTypes, getAllLtName, @@ -649,6 +649,7 @@ ], upFileType: ['xls', 'xlsx'], fileUrl: 'api/attributeController/importAttributes', + lastIndex: null } }, computed: { @@ -682,7 +683,13 @@ this.form.attributeDataType === 'VTFilePath'; }, rangeOptionValue() { - return this.form.rangeValue.split('\n') + let values = this.form.rangeValue.split('\n'); + + // 澶勭悊姣忎釜鍊硷紝鍘婚櫎绛夊彿鍓嶇殑閮ㄥ垎锛屽彧淇濈暀绛夊彿鍚庣殑閮ㄥ垎 + return values.map(value => { + let parts = value.split('='); + return parts.length > 1 ? parts[1].trim() : value.trim(); + }); } }, methods: { @@ -726,7 +733,17 @@ // 鐐瑰嚮琛� rowClickHandler(row) { - this.$refs.userCrud.toggleRowSelection(row); + func.rowClickHandler( + row, + this.$refs.userCrud, + this.lastIndex, + (newIndex) => { + this.lastIndex = newIndex; + }, + () => { + this.selectList = []; + } + ); }, // 鏉℃暟 @@ -907,16 +924,16 @@ enumSelectChange(val) { const list = this.attributeDataTypePickList.find(item => item.key === val).values; this.form.rangeValue = list.join('\n'); - this.form.defaultValue = list[0]; + this.form.defaultValue = this.rangeOptionValue[0]; }, // 浣跨敤鏋氫妇switch婊戝潡change浜嬩欢 switchEnumChange(status) { if (status) { this.form.enumId = this.attributeDataTypePickList[0].key; - this.form.defaultValue = this.attributeDataTypePickList[0].values[0]; const list = this.attributeDataTypePickList[0].values; this.form.rangeValue = list.join('\n'); + this.form.defaultValue = this.rangeOptionValue[0]; } else { this.form.defaultValue = ""; this.form.rangeValue = ""; @@ -1200,38 +1217,44 @@ linkTypeName: "", rangeValue: "" }; - if (this.dialogTitle === 'add') { - this.form.range = this.form.rangeValue.replace(/\n/g, ';'); - if (this.form.attributeSelectType === 'business') { - this.form.btmTypeId = this.form.referValue; - } else { - this.form.linkTypeName = this.form.referValue; - } - addAttribute(this.form).then(res => { - if (res.data.code === 200) { - this.$message.success(res.data.msg); - this.getTableList(); - this.form = form; - this.addVisible = false; + this.$refs.form.validate((valid) => { + if (valid) { + if (this.dialogTitle === 'add') { + this.form.range = this.form.rangeValue.replace(/\n/g, ';'); + if (this.form.attributeSelectType === 'business') { + this.form.btmTypeId = this.form.referValue; + } else { + this.form.linkTypeName = this.form.referValue; + } + addAttribute(this.form).then(res => { + if (res.data.code === 200) { + this.$message.success(res.data.obj); + this.getTableList(); + this.form = form; + this.addVisible = false; + } + }) } - }) - } - if (this.dialogTitle === 'edit') { - this.form.range = this.form.rangeValue.replace(/\n/g, ';'); - if (this.form.attributeSelectType === 'business') { - this.form.btmTypeId = this.form.referValue; - } else { - this.form.linkTypeName = this.form.referValue; - } - updateAttribute(this.form).then(res => { - if (res.data.code === 200) { - this.$message.success(res.data.obj); - this.getTableList(); - this.form = form; - this.addVisible = false; + if (this.dialogTitle === 'edit') { + this.form.range = this.form.rangeValue.replace(/\n/g, ';'); + if (this.form.attributeSelectType === 'business') { + this.form.btmTypeId = this.form.referValue; + } else { + this.form.linkTypeName = this.form.referValue; + } + updateAttribute(this.form).then(res => { + if (res.data.code === 200) { + this.$message.success(res.data.obj); + this.getTableList(); + this.form = form; + this.addVisible = false; + } + }) } - }) - } + } else { + return false; + } + }); }, // 瀵煎叆 @@ -1247,7 +1270,7 @@ } let attrNames = this.selectList.map(item => item.id).join(','); - download({attrNames: attrNames}).then(res => { + exportAttributes({attrNames: attrNames}).then(res => { func.downloadFileByBlobHandler(res); this.$message.success('瀵煎嚭鎴愬姛'); }).catch(err => { -- Gitblit v1.9.3