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