From 56baf4c1dc7930d12d50f81e19dcea4a1de7f5f6 Mon Sep 17 00:00:00 2001
From: liuyg <376836862@qq.com>
Date: Fri, 09 Jul 2021 14:02:27 +0800
Subject: [PATCH] 公司信息 新增 加树形

---
 src/views/dispatchChild/data.js      |   18 ++++
 src/views/securityUnit/index.vue     |  103 ++++++++++++++++++++++++-
 src/api/securityUnit/securityUnit.js |   14 +++
 保安服务企业管理.zip                         |    0 
 src/views/dispatch/data.js           |    8 ++
 src/views/securityUnit/data.js       |   92 ++++++++++++++++++++++
 6 files changed, 227 insertions(+), 8 deletions(-)

diff --git a/src/api/securityUnit/securityUnit.js b/src/api/securityUnit/securityUnit.js
index e32fbac..6f1ba0c 100644
--- a/src/api/securityUnit/securityUnit.js
+++ b/src/api/securityUnit/securityUnit.js
@@ -153,4 +153,16 @@
       ids,
     }
   })
-}
\ No newline at end of file
+}
+
+export const getDeptLazyTree = (parentId) => {
+  return request({
+    // url: '/api/blade-system/dept/lazy-trees',
+    url: 'http://192.168.0.104:80/blade-system/dept/lazy-trees',
+    method: 'get',
+    // params: {
+    //   parentId
+    // }
+  })
+}
+
diff --git a/src/views/dispatch/data.js b/src/views/dispatch/data.js
index 85198ad..619e6cd 100644
--- a/src/views/dispatch/data.js
+++ b/src/views/dispatch/data.js
@@ -35,6 +35,8 @@
         prop: "name",
         search: true,
         searchLabelWidth: 110,
+        // span: 12,
+        labelWidth: 110,
     },
     {
         label: "保安公司",
@@ -55,11 +57,14 @@
             message: "请输入所属保安单位",
             trigger: "click"
         }],
+        labelWidth: 110,
+        width: 200,
         // span: 11,
     },
     {
         label: " 联系人",
         prop: "linkman",
+        labelWidth: 110,
         // addDisplay: true,
         // editDisplay: true,
         // viewDisplay: true,
@@ -80,6 +85,7 @@
     {
         label: "联系电话",
         prop: "phone",
+        labelWidth: 110,
         // addDisplay: true,
         // editDisplay: true,
         // viewDisplay: true,
@@ -100,6 +106,7 @@
     {
         label: "详细地址",
         prop: "address",
+        labelWidth: 110,
         // search: true,
         // width: 110,
         // overHidden: true
@@ -107,6 +114,7 @@
     {
         label: "创建时间",
         prop: "createTime",
+        labelWidth: 110,
         // search: true,
         // searchSpan: 4,
         // overHidden: true
diff --git a/src/views/dispatchChild/data.js b/src/views/dispatchChild/data.js
index 5a153d7..742a90d 100644
--- a/src/views/dispatchChild/data.js
+++ b/src/views/dispatchChild/data.js
@@ -29,6 +29,22 @@
     {
         label: "保安公司",
         prop: "tenantId",
+        type: "tree",
+        search: true,
+        dicUrl: "/api/blade-system/tenant/select",
+        props: {
+            label: "tenantName",
+            value: "tenantId"
+        },
+        // hide: !website.tenantMode,
+        // addDisplay: website.tenantMode,
+        // editDisplay: website.tenantMode,
+        // viewDisplay: website.tenantMode,
+        rules: [{
+            required: true,
+            message: "请输入所属保安单位",
+            trigger: "click"
+        }],
         span: 11,
         labelWidth: 130,
         disabled: true,
@@ -107,7 +123,7 @@
         // overHidden: true
     }, {
         label: "派遣单位",
-        prop: "dispatcherUnitId",
+        prop: "dispatcherCompany",
         // search: true,
         // searchSpan: 4,
         // overHidden: true
diff --git a/src/views/securityUnit/data.js b/src/views/securityUnit/data.js
index dd11928..c9bb9d3 100644
--- a/src/views/securityUnit/data.js
+++ b/src/views/securityUnit/data.js
@@ -32,10 +32,35 @@
     //     addDisplay: false
     // },//上面不显示
     {
+        label: "部门",
+        prop: "departmentid",
+        // type: "tree",
+        disabled: true,
+        dicData: [],
+        labelWidth: w,
+        span: s,
+        props: {
+            label: "title",
+        },
+        rules: [
+            {
+                required: true,
+                message: "请选择所属部门",
+                trigger: "click",
+            },
+        ],
+    },
+    {
         label: "企业名称",
         prop: "enterprisename",
         search: true,
         width: 130,
+    },
+    {
+        label: "企业类型",
+        prop: "stats",
+        labelWidth: w,
+        span: s
     },
     {
         label: "法定代表人",
@@ -180,6 +205,7 @@
         prop: "registration",
         // search: true,
         // width: 88,
+        overHidden: true,
     },
 
     {
@@ -230,6 +256,25 @@
         }]
     },
     {
+        label: "部门",
+        prop: "departmentid",
+        // type: "tree",
+        disabled: true,
+        dicData: [],
+        labelWidth: w,
+        span: s,
+        props: {
+            label: "title",
+        },
+        rules: [
+            {
+                required: true,
+                message: "请选择所属部门",
+                trigger: "click",
+            },
+        ],
+    },
+    {
         label: "企业名称",
         prop: "enterprisename",
         labelWidth: w,
@@ -238,6 +283,12 @@
     {
         label: "法定代表人",
         prop: "representative",
+        labelWidth: w,
+        span: s
+    },
+    {
+        label: "企业类型",
+        prop: "stats",
         labelWidth: w,
         span: s
     },
@@ -305,7 +356,8 @@
         label: "登记机关",
         prop: "registration",
         labelWidth: w,
-        span: s
+        span: s,
+        // overHidden: true,
     },
 
     {
@@ -333,6 +385,25 @@
         disabled: true,
         labelWidth: w,
         span: s
+    },
+    {
+        label: "部门",
+        prop: "departmentid",
+        // type: "tree",
+        disabled: true,
+        dicData: [],
+        labelWidth: w,
+        span: s,
+        props: {
+            label: "title",
+        },
+        rules: [
+            {
+                required: true,
+                message: "请选择所属部门",
+                trigger: "click",
+            },
+        ],
     },
     {
         label: "股东",
@@ -396,6 +467,25 @@
         span: s
     },
     {
+        label: "部门",
+        prop: "departmentid",
+        // type: "tree",
+        disabled: true,
+        dicData: [],
+        labelWidth: w,
+        span: s,
+        props: {
+            label: "title",
+        },
+        rules: [
+            {
+                required: true,
+                message: "请选择所属部门",
+                trigger: "click",
+            },
+        ],
+    },
+    {
         label: "姓名",
         prop: "name",
         labelWidth: w,
diff --git a/src/views/securityUnit/index.vue b/src/views/securityUnit/index.vue
index 4f2e0fc..cc2f495 100644
--- a/src/views/securityUnit/index.vue
+++ b/src/views/securityUnit/index.vue
@@ -39,6 +39,19 @@
     </avue-crud>
     <div class="lod" v-show="forms != -1">
       <div class="lod-in">
+        <el-col class="trees" v-if="forms == 0">
+          <div class="box">
+            <el-scrollbar>
+              <basic-container>
+                <avue-tree
+                  :option="treeOption"
+                  :data="treeData"
+                  @node-click="nodeClick"
+                />
+              </basic-container>
+            </el-scrollbar>
+          </div>
+        </el-col>
         <avue-form
           ref="form"
           v-model="obj0"
@@ -88,10 +101,12 @@
   remove,
   adddata1,
   adddata2,
+  getDeptLazyTree,
 } from "@/api/securityUnit/securityUnit";
-
 export default {
   data() {
+    var w = 160,
+      s = 12;
     return {
       loading: true, //保安单位基本信息
       selectionList: [],
@@ -99,6 +114,38 @@
         pageSize: 10,
         currentPage: 1,
         total: 0,
+      },
+
+      treeData: [],
+      treeOption: {
+        nodeKey: "id",
+        lazy: true,
+        treeLoad: function (node, resolve) {
+          // const parentId = node.level === 0 ? 0 : node.data.id;
+          getDeptLazyTree().then((res) => {
+            resolve(
+              res.data.data.map((item) => {
+                console.log({
+                  ...item,
+                  leaf: !item.hasChildren,
+                });
+                return {
+                  ...item,
+                  leaf: !item.hasChildren,
+                };
+              })
+            );
+          });
+        },
+        addBtn: false,
+        menu: false,
+        size: "small",
+        props: {
+          labelText: "标题",
+          label: "title",
+          value: "value",
+          children: "children",
+        },
       },
 
       obj0: {
@@ -133,6 +180,8 @@
       data0: {},
       data1: {},
       data2: {},
+      noshehuibianma: 0,
+      nobumen: 0,
 
       query: {},
       data: [],
@@ -311,7 +360,20 @@
         this.loading = false;
       });
     },
+    nodeClick(data) {
+      // this.treeDeptId = data.id;
+      // this.page.currentPage = 1;
+      // this.onLoad(this.page);
+      // this.$message.success(JSON.stringify(data));
+      this.obj0["departmentid"] = data.title;
+      this.obj1["departmentid"] = data.title;
+      this.obj2["departmentid"] = data.title;
+      this.nobumen = 1;
+    },
     tip0() {
+      if (this.panduanmeiyouziduan()) {
+        return;
+      }
       var b = {};
       for (var k in this.obj0) {
         if (k != "title") {
@@ -322,6 +384,9 @@
       this.forms = 1;
     },
     tip1() {
+      if (this.panduanmeiyouziduan()) {
+        return;
+      }
       var b = {};
       for (var k in this.obj1) {
         if (k != "title") {
@@ -332,6 +397,9 @@
       this.forms = 2;
     },
     tip2() {
+      if (this.panduanmeiyouziduan()) {
+        return;
+      }
       var b = {};
       for (var k in this.obj2) {
         if (k != "title") {
@@ -355,7 +423,7 @@
     tip1up1() {
       this.forms = 0;
     },
-    tip1up2() {
+    tip2up2() {
       this.forms = 1;
     },
     tipover() {
@@ -372,11 +440,29 @@
       this.data0 = {};
       this.data1 = {};
       this.data2 = {};
+      this.noshehuibianma = 0;
+      this.nobumen = 0;
+    },
+    panduanmeiyouziduan() {
+      if (this.noshehuibianma == 0) {
+        this.$message.warning("请输入统一社会信用代码");
+        return true;
+      }
+      if (this.nobumen == 0) {
+        this.$message.warning("请选则部门");
+        return true;
+      }
+      return false;
     },
   },
   watch: {
     haveID() {
-      // console.log(this.haveID);
+      if (this.haveID > 9000) {
+        //统一社会信用代码判断
+        this.noshehuibianma = 1;
+      } else {
+        this.noshehuibianma = 0;
+      }
     },
   },
   mounted() {},
@@ -407,12 +493,19 @@
   height: 100%;
   background-color: rgba($color: #000000, $alpha: 0.5);
   padding: 100px 0 0 0;
-  z-index: 10000 !important;
+  z-index: 50 !important;
   display: flex;
   // align-items: center;
   justify-content: center;
+  .trees {
+    z-index: 51 !important;
+    position: absolute;
+    width: 15%;
+    top: 100px;
+    left: 0;
+  }
   .lod-in {
-    width: 80%;
+    width: 70%;
     height: auto;
     // padding: 10px 0 0 0;
   }
diff --git "a/\344\277\235\345\256\211\346\234\215\345\212\241\344\274\201\344\270\232\347\256\241\347\220\206.zip" "b/\344\277\235\345\256\211\346\234\215\345\212\241\344\274\201\344\270\232\347\256\241\347\220\206.zip"
new file mode 100644
index 0000000..94efbc9
--- /dev/null
+++ "b/\344\277\235\345\256\211\346\234\215\345\212\241\344\274\201\344\270\232\347\256\241\347\220\206.zip"
Binary files differ

--
Gitblit v1.9.3