Эх сурвалжийг харах

王帅-数据项选择修改

ws 1 жил өмнө
parent
commit
735aea8669

+ 55 - 23
chuanyi_client2/src/components/HeaderMain/index.vue

@@ -503,28 +503,26 @@
               ></el-input>
             </el-form-item>
           </el-col>
-          <el-col :span="6">
             <el-select
-              v-model="queryParams.needItemStr"
-              multiple
-              placeholder="请选择"
+                    v-model="queryParams.needItemStr"
+                    multiple
+                    collapse-tags
+                    placeholder="请选择"
             >
-              <el-option
-                v-for="item in DriverItemData"
-                :key="item.id"
-                :label="item.itemName"
-                :value="item.itemName"
-              >
-              </el-option>
+                <el-option
+                        v-for="item in DriverItemData"
+                        :key="item.id"
+                        :label="item.itemName"
+                        :value="item.itemName"
+                >
+                </el-option>
             </el-select>
             <el-button
-              type="primary"
-              size="mini"
-              style="margin-left: 20px"
-              @click="query"
-              >复合筛选</el-button
-            >
-          </el-col>
+                    type="primary"
+                    size="mini"
+                    style="margin-left: 15px;"
+                    @click="query"
+            >复合筛选</el-button>
         </el-row>
       </el-form>
       <div
@@ -551,6 +549,7 @@
                     : 'height: 100%; overflow: auto;'
                 "
               >
+                  <!--                  :show-checkbox="hasLeavesFlag == 1 ? false : true"-->
                 <el-tree
                   class="cy-item-tree"
                   ref="itemTree"
@@ -561,8 +560,8 @@
                   node-key="id"
                   :filter-node-method="filterItemEvent"
                   @node-click="handleItemNodeClick"
-                  :show-checkbox="hasLeavesFlag == 1 ? false : true"
                   :check-on-click-node="true"
+                  :show-checkbox="true"
                   :highlight-current="true"
                   :default-expand-all="itemDataExpandAll"
                 >
@@ -1104,10 +1103,24 @@ export default {
   methods: {
     query() {
       this.queryParams.nextItemStr = this.filterItemData;
-      this.queryParams.needItemStr = JSON.stringify(
-        this.queryParams.needItemStr
-      );
-      getCompositeScreen(this.queryParams).then((res) => {
+        // if (this.filterItemData) {
+        //     this.queryParams.needItemStr = JSON.stringify(
+        //         this.queryParams.needItemStr
+        //     );
+        // }
+        let params = this.queryParams;
+        params.needItemStr = JSON.stringify(this.queryParams.needItemStr)
+        const treeArr = this.$refs.itemTree.getCheckedNodes();
+        let seTreeArr = []
+        if (treeArr.length > 0) {
+            for (let i = 0; i < treeArr.length; i++) {
+                if (treeArr[i].label.indexOf(this.queryParams.nextItemStr) != -1) {
+                    seTreeArr.push(treeArr[i].label)
+                }
+            }
+        }
+        params.nextItemStr = JSON.stringify(seTreeArr)
+      getCompositeScreen(params).then((res) => {
         console.log(res);
         if (res.code === 200) {
           this.chooiseItemData = res.data;
@@ -1139,10 +1152,18 @@ export default {
             this.isSelectAllItem = false;
             this.isSelectAllItemData = false;
             this.leavesChooseList = [];
+            this.queryParams.needItemStr = [];
             this.$refs.itemTree.setCheckedKeys([]);
+              this.$refs.itemTree.setCheckedNodes([]);
             // this.$refs.chooseItemTree.setCheckedNodes([])
             console.log(this.chooseItemDataListByTree);
           });
+          if (!res.data || res.data.length === 0) {
+              this.$message({
+                  message: '没有筛选出符合条件的数据项,请重新筛选',
+                  type: 'warning'
+              });
+          }
         }
       });
     },
@@ -2346,12 +2367,16 @@ export default {
       if (arr.length == 0) {
         arr = chooseChannelNameList;
       } else {
+          let status = false;
         for (let i in chooseChannelNameList) {
           let flag = false;
           for (let j in arr) {
             let tName = arr[j].label ? arr[j].label : arr[j].itemName;
             if (chooseChannelNameList[i].label == tName) {
               flag = true;
+              if (!status) {
+                  status = true;
+              }
               break;
             }
           }
@@ -2359,6 +2384,13 @@ export default {
             arr.push(chooseChannelNameList[i]);
           }
         }
+        if (status) {
+            //
+            this.$message({
+                message: '请注意,选择的数据项中含有重复的项',
+                type: 'warning'
+            });
+        }
       }
       this.handleCheckAllChange(false);
       this.$nextTick(() => {