Ver Fonte

项目商机新增部门筛选

qymljy há 1 ano atrás
pai
commit
442b0af4aa
1 ficheiros alterados com 77 adições e 2 exclusões
  1. 77 2
      src/HDrpManagement/projectChange/index.vue

+ 77 - 2
src/HDrpManagement/projectChange/index.vue

@@ -127,6 +127,10 @@
             </el-option>
           </el-select>
         </div>
+        <div class="mt-10">
+          <label class="search__label">部门:</label>
+          <el-cascader class="inline-16" ref="selectdep" size="small" v-model="depment" :options="deplist" :props="{emitPath:true,expandTrigger:'hover',checkStrictly:true,label:'label',value:'departmentid',children:'children'}"  @change="selectDep"  clearable></el-cascader>
+        </div>
         <div class="mt-10">
           <label class="search__label" >创建日期:</label>
           <el-date-picker
@@ -280,8 +284,16 @@ export default {
         brandname:"",
         tradefield:"",
         tag:[],
-        reportstatus:''
+        reportstatus:'',
+        departmentid:''
+      },
+      depmentParam:{
+        "id": 20230620102004,
+        "content": {
+        }
       },
+      depment:'',
+      deplist:[],
     }
   },
   created () {
@@ -447,12 +459,75 @@ export default {
         }
       }
       this.queryData(this.tabName)
-    }
+    },
+    /*可选部门*/
+    async departmentrtment() {
+      const res = await this.$api.requested(this.depmentParam)
+      this.deplist = this.createMenu(res.data.dep)
+    },
+    createMenu (array) {
+      var that = this
+      let arr = []
+      function convertToElementTree(node) {
+        // 新节点
+        if (node.subdep.length === 0){
+          var elNode = {
+            label: node["depname"],
+            parentid:node['parentid'],
+            parentname:node['parentname'],
+            departmentid:node["departmentid"],
+            value:node["departmentid"],
+            remarks:node["remarks"],
+            isused:node["isused"],
+            changedate:node['changedate'],
+            changeby:node['changeby'],
+            createdate:node['createdate'],
+            createby:node['createby'],
+            depno:node['depno'],
+            disabled:that.pageOnlyRead,
+          }
+        }else {
+          var elNode = {
+            label: node["depname"],
+            parentid:node['parentid'],
+            parentname:node['parentname'],
+            departmentid:node["departmentid"],
+            value:node["departmentid"],
+            remarks:node["remarks"],
+            isused:node["isused"],
+            changedate:node['changedate'],
+            changeby:node['changeby'],
+            createdate:node['createdate'],
+            createby:node['createby'],
+            depno:node['depno'],
+            disabled:that.pageOnlyRead,
+            children: []
+          }
+        }
+        if (node.subdep && node.subdep.length > 0) {
+          // 如果存在子节点
+          for (var index = 0; index < node.subdep.length; index++) {
+            // 遍历子节点, 把每个子节点看做一颗独立的树, 传入递归构造子树, 并把结果放回到新node的children中
+            elNode.children.push(convertToElementTree(node.subdep[index]));
+          }
+        }
+        return elNode;
+      }
+      array.forEach((element) => {
+        arr.push(convertToElementTree(element))
+      });
+      return arr
+    },
+    selectDep(val) {
+      this.selectParam.departmentid = val[val.length -1]
+      this.selectChange()
+    },
   },
   mounted () {
     this.queryBrand()
     this.queryTradefield()
     this.querytemplet()
+    this.departmentrtment()
   }
 }
 </script>