From d1dfb8a1d604a803799c313e399e02bcff03170e Mon Sep 17 00:00:00 2001
From: shuishen <1109946754@qq.com>
Date: Fri, 17 Sep 2021 15:22:33 +0800
Subject: [PATCH] Merge branch 'master' of http://s16s652780.51mypc.cn:49896/r/zhba_regulatory

---
 src/views/securityGuardManagement/dispatchChildoperable.vue      |  576 ++++++++++---------------
 src/api/dispatch/dispatch.js                                     |   20 
 src/views/securityGuardManagement/dispatchChildoperable copy.vue |  677 +++++++++++++++++++++++++++++
 src/views/management/peopleDetails.vue                           |   24 
 src/views/securityCompany/companyDetails.vue                     |   81 ++-
 5 files changed, 993 insertions(+), 385 deletions(-)

diff --git a/src/api/dispatch/dispatch.js b/src/api/dispatch/dispatch.js
index c055db0..69e40b6 100644
--- a/src/api/dispatch/dispatch.js
+++ b/src/api/dispatch/dispatch.js
@@ -12,6 +12,17 @@
   })
 }
 
+
+export const getDispatcherUnitByDeptId = (deptId) => {
+  return request({
+    url: '/api/dispatcherUnit/page-tree',
+    method: 'get',
+    params: {
+      deptId
+    }
+  })
+}
+
 export const adddata = (row) => {
   return request({
     url: '/api/dispatcherUnit/submit',
@@ -28,6 +39,15 @@
   })
 }
 
+
+export const overDispatcher = (row) => {
+  return request({
+    url: '/api/dispatcher/over-dispatcher',
+    method: 'post',
+    data: row
+  })
+}
+
 export const remove = (ids) => {
   return request({
     url: '/api/dispatcherUnit/remove',
diff --git a/src/views/management/peopleDetails.vue b/src/views/management/peopleDetails.vue
index 6a94116..0ee59df 100644
--- a/src/views/management/peopleDetails.vue
+++ b/src/views/management/peopleDetails.vue
@@ -2,7 +2,7 @@
  * @Author: Morpheus
  * @Date: 2021-07-05 16:31:54
  * @Last Modified by: liu
- * @Last Modified time: 2021-09-10 16:56:14
+ * @Last Modified time: 2021-09-16 16:51:30
  * menu-name 保安详细资料
  */
 <template>
@@ -40,15 +40,13 @@
                 </el-row>
                 <el-row>
                   <el-col span="12">
-                    <el-col span="12">
-                      <el-form-item label="电子邮箱">
-                        <el-input
-                          disabled="true"
-                          v-model="form.emails"
-                          autocomplete="off"
-                        ></el-input>
-                      </el-form-item>
-                    </el-col>
+                    <el-form-item label="电子邮箱">
+                      <el-input
+                        disabled="true"
+                        v-model="form.email"
+                        autocomplete="off"
+                      ></el-input>
+                    </el-form-item>
                   </el-col>
                   <el-col span="12">
                     <el-form-item label="联系方式">
@@ -86,7 +84,7 @@
                     <el-form-item label="籍贯">
                       <el-input
                         disabled="true"
-                        v-model="form.nativePlace"
+                        v-model="form.nativeplace"
                         autocomplete="off"
                       ></el-input>
                     </el-form-item>
@@ -124,7 +122,7 @@
                 </el-row>
 
                 <el-row>
-                  <el-col span="12">
+                  <!-- <el-col span="12">
                     <el-form-item label="所属角色">
                       <el-input
                         disabled="true"
@@ -132,7 +130,7 @@
                         autocomplete="off"
                       ></el-input>
                     </el-form-item>
-                  </el-col>
+                  </el-col> -->
                   <el-col span="12">
                     <el-form-item label="所属公司">
                       <el-input
diff --git a/src/views/securityCompany/companyDetails.vue b/src/views/securityCompany/companyDetails.vue
index 3287df5..8070b1f 100644
--- a/src/views/securityCompany/companyDetails.vue
+++ b/src/views/securityCompany/companyDetails.vue
@@ -2,7 +2,7 @@
  * @Author: Morpheus
  * @Date: 2021-07-05 16:31:54
  * @Last Modified by: liu
- * @Last Modified time: 2021-09-14 15:22:25
+ * @Last Modified time: 2021-09-17 15:15:53
  * menu-name 保安公司详细资料
  */
 <template>
@@ -262,6 +262,7 @@
                 @search-reset="investorSearchReset"
                 @current-change="investorCurrentChange"
                 @size-change="investorSizeChange"
+                @refresh-change="investorSizerefresh"
               >
               </avue-crud>
             </el-tab-pane>
@@ -280,6 +281,7 @@
                 @search-reset="manageSearchReset"
                 @current-change="manageCurrentChange"
                 @size-change="manageSizeChange"
+                @refresh-change="manageSizerefresh"
               >
               </avue-crud>
             </el-tab-pane>
@@ -362,6 +364,8 @@
     // enclosure: enclosure,
   },
   data() {
+    var w = 160,
+      s = 12;
     return {
       businessLicenseUrl: "",
       licenceUrl: "",
@@ -398,46 +402,66 @@
 
         column: [
           {
-            label: "投资人姓名",
+            label: "id",
+            prop: "id",
+            hide: true,
+            addDisplay: false,
+            editDisplay: false,
+          },
+          {
+            label: "股东",
             prop: "shareholder",
-            slot: true,
-            display: false,
+            searchLabelWidth: 55,
+            search: true,
+            labelWidth: w,
+            span: s,
           },
           {
-            label: "投资比例",
+            label: "持股比例(%)",
             prop: "shareholdingratio",
-            slot: true,
-            display: false,
-            formatter: function (row, value) {
-              return (value = value + "%");
-            },
+            labelWidth: w,
+            span: s,
           },
+          //  {
+          //     label: "最终受益股份",
+          //     prop: "beneficial",
+          // },
           {
-            label: "出资金额",
+            label: "出资金额(万元)",
             prop: "capital",
-            slot: true,
-            display: false,
-            formatter: function (row, value) {
-              return (value = value + "万元");
-            },
+            labelWidth: w,
+            span: s,
           },
           {
-            label: "投资时间",
+            label: "出资时间",
             prop: "capitaltime",
-            slot: true,
-            display: false,
+            type: "date",
+            format: "yyyy-MM-dd hh:mm:ss",
+            valueFormat: "timestamp",
+            labelWidth: w,
+            span: s,
           },
           {
-            label: "身份证号",
+            label: "身份证",
             prop: "cardid",
-            slot: true,
-            display: false,
+            labelWidth: w,
+            span: s,
+            search: true,
           },
           {
             label: "联系电话",
             prop: "cell",
-            slot: true,
-            display: false,
+            labelWidth: w,
+            span: s,
+          },
+          {
+            label: "统一社会信用代码",
+            prop: "creditcode",
+            hide: true,
+            addDisplay: false,
+            editDisplay: false,
+            labelWidth: w,
+            span: s,
           },
         ],
       },
@@ -638,9 +662,12 @@
         });
       });
     },
-
+    investorSizerefresh() {
+      this.investorOnLoad(this.investorPage, this.investorQuery);
+    },
     investorOnLoad(page, params = {}) {
       this.investorLoading = true;
+      console.log(this.form, "form");
       getInvestorList(
         page.currentPage,
         page.pageSize,
@@ -680,7 +707,9 @@
     investorSizeChange(pageSize) {
       this.investorPage.pageSize = pageSize;
     },
-
+    manageSizerefresh() {
+      this.manageOnLoad(this.managePage, this.manageQuery);
+    },
     manageOnLoad(page, params = {}) {
       this.manageLoading = true;
       getManageList(
diff --git a/src/views/securityGuardManagement/dispatchChildoperable copy.vue b/src/views/securityGuardManagement/dispatchChildoperable copy.vue
new file mode 100644
index 0000000..dfa2ab1
--- /dev/null
+++ b/src/views/securityGuardManagement/dispatchChildoperable copy.vue
@@ -0,0 +1,677 @@
+<template>
+  <div class="dispatchChildoperable">
+    <basic-container>
+      <avue-crud
+        :option="option1"
+        :data="data1"
+        :page.sync="page1"
+        ref="crudrec1"
+        :table-loading="loading1"
+        @row-save="rowSave1"
+        @search-change="searchChange1"
+        @search-reset="searchReset1"
+        @row-update="rowUpdate1"
+        @row-del="rowDel1"
+        @selection-change="selectionChange1"
+        @refresh-change="refreshChange1"
+      >
+      </avue-crud>
+    </basic-container>
+  </div>
+</template> 
+
+<script>
+import {
+  // getdata,
+  // adddata,
+  // update,
+  // remove,
+  getdata1,
+  adddata1,
+  update1,
+  remove1,
+} from "@/api/dispatch/dispatch";
+import { getDept } from "@/api/system/dept";
+
+export default {
+  data() {
+    return {
+      // typeTABS: {}, //标签页
+      // optionTABS: {
+      //   column: [
+      //     {
+      //       // icon: "el-icon-info",
+      //       label: "派遣服务公司详情",
+      //       prop: "tab1",
+      //     },
+      //     {
+      //       // icon: "el-icon-info",
+      //       label: "派遣记录",
+      //       prop: "tab2",
+      //     },
+      //     // {
+      //     //   icon: "el-icon-info",
+      //     //   label: "选项卡3",
+      //     //   prop: "tab3",
+      //     // },
+      //   ],
+      // },
+
+      // id: "", //记录归属id
+      // //基本信息
+      // //保安单位信息表单
+      // obj0: {
+      //   // title: "我是头部标题",
+      // },
+      // option0: {
+      //   emptyBtn: false,
+      //   submitBtn: false,
+      //   gutter: 30,
+      //   column: column,
+      // },
+      // loading: true, //派遣服务公司登记
+      // selectionList: [],
+      // page: {
+      //   pageSize: 10,
+      //   currentPage: 1,
+      //   total: 0,
+      // },
+      // query: {},
+      // data: [],
+      // option: {
+      //   card: true,
+      //   searchSize: "mini",
+      //   searchMenuSpan: 6,
+      //   height: 547,
+      //   menuWidth: 160,
+      //   align: "center",
+      //   selection: true,
+      //   column: column,
+      // },
+      deptCategory: "",
+      deptId: "",
+
+      loading1: true, //派遣记录
+      selectionList1: [],
+      page1: {
+        pageSize: 10,
+        currentPage: 1,
+        total: 0,
+      },
+      query1: {},
+      data1: [],
+      option1: {
+        // card: true,
+        tip: false,
+        index: true,
+
+        addBtn: false,
+        menu: false,
+        searchShowBtn: false,
+        selection: true,
+        // searchSize: "mini",
+        searchMenuSpan: 8,
+        height: 600,
+        cellBtn: false,
+        // addBtn: false,
+        // menuWidth: 160,
+        align: "center",
+        // selection: true,
+        column: [
+          // 派遣服务公司登记
+          // {
+          //     label: "id",
+          //     prop: "id",
+          //     // search: true,
+          //     // searchSpan: 4,
+          //     // overHidden: true,
+          //     // hide: true,
+          //     // editDisplay: false,
+          //     // addDisplay: false
+          // },
+          {
+            label: "保安公司",
+            prop: "deptId",
+            labelWidth: 120,
+            searchLabelWidth: 75,
+            searchSpan: 4,
+            dicUrl:
+              "/api/blade-system/dept/security_lazy-tree?parentId=1413470343230877697",
+            props: {
+              label: "title",
+              value: "id",
+            },
+            search: true,
+            overHidden: true,
+            type: "tree",
+            rules: [
+              {
+                required: true,
+                message: "请输入保安公司",
+                trigger: "blur",
+              },
+            ],
+          },
+          {
+            label: "派遣单位",
+            prop: "dispatcherCompany",
+            addDisplay: false,
+            editDisplay: false,
+          },
+          {
+            label: "派遣单位",
+            prop: "dispatcherUnitId",
+            labelWidth: 120,
+            searchLabelWidth: 75,
+            dicUrl: "/api/dispatcherUnit/page-tree",
+            props: {
+              label: "name",
+              value: "id",
+            },
+            hide: true,
+            searchSpan: 4,
+            search: true,
+            overHidden: true,
+            type: "tree",
+            rules: [
+              {
+                required: true,
+                message: "请输入保安公司",
+                trigger: "blur",
+              },
+            ],
+          },
+          {
+            label: "保安人名称",
+            prop: "securityName",
+            search: true,
+            searchSpan: 4,
+            labelWidth: 120,
+            searchLabelWidth: 90,
+            // overHidden: true
+            rules: [
+              {
+                required: true,
+                message: "请输入保安人名称",
+                trigger: "click",
+              },
+            ],
+          },
+          {
+            label: "身份证",
+            prop: "idCardNo",
+            labelWidth: 120,
+            overHidden: true,
+            rules: [
+              {
+                required: true,
+                message: "请输入身份证",
+                trigger: "click",
+              },
+            ],
+            // search: true,
+            // searchSpan: 4,
+            // overHidden: true
+          },
+          // {
+          //     label: "派遣人",
+          //     prop: "dispatcher",
+          //     // search: true,
+          //     // searchSpan: 4,
+          //     // overHidden: true
+          // },
+
+          {
+            label: "派遣时间",
+            prop: "dispatchertime",
+            type: "date",
+            format: "yyyy-MM-dd hh:mm:ss",
+            valueFormat: "yyyy-MM-dd hh:mm:ss",
+            labelWidth: 120,
+            searchLabelWidth: 110,
+            searchSpan: 4,
+            // search: true,
+            overHidden: true,
+            rules: [
+              {
+                required: true,
+                message: "请输入派遣时间",
+                trigger: "click",
+              },
+            ],
+            // overHidden: true
+          },
+          {
+            label: "结束时间",
+            prop: "endTime",
+            type: "date",
+            format: "yyyy-MM-dd hh:mm:ss",
+            valueFormat: "yyyy-MM-dd hh:mm:ss",
+            labelWidth: 120,
+            overHidden: true,
+            rules: [
+              {
+                required: true,
+                message: "请输入结束时间",
+                trigger: "click",
+              },
+            ],
+            // search: true,
+            // searchSpan: 5,
+            // overHidden: true
+          },
+          {
+            label: "派遣地址",
+            prop: "dispatcheraddress",
+            labelWidth: 120,
+            rules: [
+              {
+                required: true,
+                message: "请输入派遣地址",
+                trigger: "click",
+              },
+            ],
+            // search: true,
+            // searchSpan: 4,
+            // overHidden: true
+          },
+          // {
+          //     label: "派遣单位",
+          //     // prop: "dispatcherCompany",
+          //     prop: "tenantName",
+          //     type: "tree",
+          //     dicUrl: "/api/blade-system/dept/lazy-tree?parentId=0",
+          //     props: {
+          //         label: "title",
+          //         value: "id"
+          //     },
+          //     // hide: !website.tenantMode,
+          //     // addDisplay: website.tenantMode,
+          //     // editDisplay: website.tenantMode,
+          //     // viewDisplay: website.tenantMode,
+          //     rules: [{
+          //         required: true,
+          //         message: "请输入派遣单位",
+          //         trigger: "click"
+          //     }],
+          // search: true,
+          // searchSpan: 4,
+          // overHidden: true
+          // },
+        ],
+      },
+    };
+  },
+  computed: {
+    // ids() {
+    //   let ids = [];
+    //   this.selectionList.forEach((ele) => {
+    //     ids.push(ele.id);
+    //   });
+    //   return ids.join(",");
+    // },
+    ids1() {
+      let ids1 = [];
+      this.selectionList1.forEach((ele) => {
+        ids1.push(ele.id);
+      });
+      return ids1.join(",");
+    },
+  },
+  methods: {
+    handleChangeTABS(column) {
+      this.typeTABS = column;
+      if (column.prop == "tab1") {
+        this.loading1 = false;
+        // this.onLoad(this.page);
+      } else if (column.prop == "tab2") {
+        // this.loading = false;
+        console.log(document.getElementsByClassName("el-card__body")[0]);
+        this.onLoad1(this.page1); //第二个表格不会自动执行
+      }
+      // this.$message.success(JSON.stringify(column));
+    },
+    //派遣服务公司登记
+    // sizeChange(val) {
+    //   this.page1.currentPage = 1;
+    //   this.page1.pageSize = val;
+    //   // this.getData();
+    //   this.onLoad(this.page, this.query);
+    //   //   this.$message.success("行数" + val);
+    // },
+    // currentChange(val) {
+    //   this.page1.currentPage = val;
+    //   // this.getData();
+    //   this.onLoad(this.page, this.query);
+    //   //   this.$message.success("页码" + val);
+    // },
+    // rowSave(form, done, loading) {
+    //   var that = this;
+    //   var form = this.data[0];
+    //   delete form.id;
+    //   for (var k = 0; k < 13; k++) {
+    //     adddata(form).then(
+    //       (res) => {
+    //         this.onLoad(this.page);
+    //         this.$message({
+    //           type: "success",
+    //           message: "操作成功!",
+    //         });
+    //         done();
+    //       },
+    //       (error) => {
+    //         window.console.log(error);
+    //         loading();
+    //       }
+    //     );
+    //   }
+    // },
+    // searchChange(params, done) {
+    //   this.query = params;
+    //   this.page.currentPage = 1;
+    //   this.onLoad(this.page, params);
+    //   done();
+    // },
+    // searchReset() {
+    //   this.query = {};
+    //   this.onLoad(this.page);
+    // },
+    // rowUpdate(row, index, done, loading) {
+    //   console.log(row);
+    //   update(row).then(
+    //     () => {
+    //       this.onLoad(this.page);
+    //       this.$message({
+    //         type: "success",
+    //         message: "操作成功!",
+    //       });
+    //       done();
+    //     },
+    //     (error) => {
+    //       window.console.log(error);
+    //       loading();
+    //     }
+    //   );
+    // },
+    // rowDel(row) {
+    //   this.$confirm("确定将选择数据删除?", {
+    //     confirmButtonText: "确定",
+    //     cancelButtonText: "取消",
+    //     type: "warning",
+    //   })
+    //     .then(() => {
+    //       return remove(row.id);
+    //     })
+    //     .then(() => {
+    //       this.onLoad(this.page);
+    //       this.$message({
+    //         type: "success",
+    //         message: "操作成功!",
+    //       });
+    //     });
+    // },
+    // selectionChange(list) {
+    //   this.selectionList = list;
+    // },
+    // handleDelete() {
+    //   if (this.selectionList.length === 0) {
+    //     this.$message.warning("请选择至少一条数据");
+    //     return;
+    //   }
+    //   this.$confirm("确定将选择数据删除?", {
+    //     confirmButtonText: "确定",
+    //     cancelButtonText: "取消",
+    //     type: "warning",
+    //   })
+    //     .then(() => {
+    //       return remove(this.ids);
+    //     })
+    //     .then(() => {
+    //       this.onLoad(this.page);
+    //       this.$message({
+    //         type: "success",
+    //         message: "操作成功!",
+    //       });
+    //       this.$refs.crudrec.toggleSelection();
+    //     });
+    // },
+    // refreshChange() {
+    //   this.onLoad(this.page, this.query);
+    // },
+    // onLoad(page, params = {}) {
+    //   this.loading = true;
+    //   getdata(
+    //     page.currentPage,
+    //     page.pageSize,
+    //     Object.assign(params, this.query)
+    //   ).then((res) => {
+    //     // console.log(res);
+    //     const data = res.data.data;
+    //     this.page.total = data.total;
+    //     this.data = data.records;
+    //     console.log(this.data);
+    //     this.loading = false;
+    //   });
+    // },
+    //派遣服务公司登记
+
+    //派遣记录
+    sizeChange1(val) {
+      this.page1.currentPage = 1;
+      this.page1.pageSize = val;
+      // this.getData();
+      this.onLoad1(this.page1, this.query1);
+      //   this.$message.success("行数" + val);
+    },
+    currentChange1(val) {
+      this.page1.currentPage = val;
+      // this.getData();
+      this.onLoad1(this.page1, this.query1);
+      //   this.$message.success("页码" + val);
+    },
+    rowSave1(form, done, loading) {
+      // var that = this;
+      // var form = this.data1[0];
+      // delete form.id;
+      // for (var k = 0; k < 13; k++) {
+      // form["deptId"] = form.tenantName;
+      // form["tenantName"] = form.$tenantName;
+      // form["dispatcherUnitId"] = this.id;
+      // console.log(form);
+
+      adddata1(form).then(
+        (res) => {
+          this.onLoad1(this.page1);
+          this.$message({
+            type: "success",
+            message: "操作成功!",
+          });
+          done();
+        },
+        (error) => {
+          window.console.log(error);
+          loading();
+        }
+      );
+      // }
+    },
+    searchChange1(params, done) {
+      this.query1 = params;
+      this.page1.currentPage = 1;
+      this.onLoad1(this.page1, params);
+      done();
+    },
+    searchReset1() {
+      this.query = {};
+      this.onLoad1(this.page1);
+    },
+    rowUpdate1(row, index, done, loading) {
+      // row["deptId"] = row.tenantName;
+      // row["tenantName"] = row.$tenantName;
+      // row["dispatcherUnitId"] = this.id;
+      // console.log(row, "row");
+      update1(row).then(
+        () => {
+          this.onLoad1(this.page1);
+          this.$message({
+            type: "success",
+            message: "操作成功!",
+          });
+          done();
+        },
+        (error) => {
+          window.console.log(error);
+          loading();
+        }
+      );
+    },
+    rowDel1(row) {
+      this.$confirm("确定将选择数据删除?", {
+        confirmButtonText: "确定",
+        cancelButtonText: "取消",
+        type: "warning",
+      })
+        .then(() => {
+          return remove1(row.id);
+        })
+        .then(() => {
+          this.onLoad1(this.page1);
+          this.$message({
+            type: "success",
+            message: "操作成功!",
+          });
+        });
+    },
+    selectionChange1(list) {
+      this.selectionList1 = list;
+      // console.log(this.selectionList1.length);
+    },
+    handleDelete1() {
+      console.log(this.selectionList1);
+      if (this.selectionList1.length === 0) {
+        this.$message.warning("请选择至少一条数据");
+        return;
+      }
+      this.$confirm("确定将选择数据删除?", {
+        confirmButtonText: "确定",
+        cancelButtonText: "取消",
+        type: "warning",
+      })
+        .then(() => {
+          return remove1(this.ids1);
+        })
+        .then(() => {
+          this.onLoad1(this.page1);
+          this.$message({
+            type: "success",
+            message: "操作成功!",
+          });
+          this.$refs.crudrec1.toggleSelection();
+        });
+    },
+    refreshChange1() {
+      // console.log(4534)
+      this.onLoad1(this.page1, this.query1);
+    },
+
+    //
+    onLoad1(page, params = {}) {
+      this.loading1 = true;
+      // params["cardid"] = this.cardid;
+      // params["name"] = this.name;
+      // params["dispatcherCompany"] = this.dispatcherCompany;
+      // params["dispatcherUnitId"] = this.id;
+      // console.log(params, "get");
+      // console.log(page);
+      getdata1(
+        page.currentPage,
+        page.pageSize,
+        Object.assign(params, this.query)
+      ).then((res) => {
+        // console.log(res);
+        const data = res.data.data;
+        this.page1.total = data.total;
+        this.data1 = data.records;
+        console.log(this.data1, 1);
+        this.loading1 = false;
+      });
+    },
+    //派遣记录
+    // saveLock(name, val) {
+    //   localStorage.setItem(name, val);
+    // },
+    // readLock(name) {
+    //   return localStorage.getItem(name);
+    // },
+  },
+  mounted() {
+    this.onLoad1(this.page1, this.query1);
+    //去掉缓存
+    // this.typeTABS = this.optionTABS.column[0];
+    // var row = {};
+    // if (this.readLock("paqiandata") != null) {
+    //   row = JSON.parse(this.readLock("paqiandata"));
+    //   this.obj0.name = row.name;
+    //   for (var k in row) {
+    //     this.obj0[k] = row[k];
+    //   }
+    //   console.log(this.obj0, 11111111);
+    //   this.id = row.id;
+    //   if (this.readLock("paqiandataS") != null) {
+    //     var b = JSON.parse(this.readLock("paqiandataS"));
+    //     var i = 0;
+    //     for (var k in b) {
+    //       if (b[k].name == row.name) {
+    //         i = 1;
+    //       }
+    //     }
+    //     if (i == 1) {
+    //       // console.log("存在");
+    //     } else {
+    //       // console.log("已删除");
+    //       this.obj0 = {};
+    //       this.obj0.name = row.name + " 该派遣单位已删除";
+    //       window.localStorage.removeItem("paqiandata");
+    //       this.id = 1244241;
+    //     }
+    //   }
+    // } else {
+    //   // console.log("no");
+    //   this.obj0.name = " 未选择派遣单位";
+    // }
+  },
+  // onLoad(page, params = {}) {
+  //   this.deptId = JSON.parse(
+  //       window.localStorage.getItem("saber-userInfo")
+  //     ).content.dept_id;
+
+  //     //获取当前用户部门信息,判断是否为公安,如果是公安,则只能查看公告信息
+  //     var that = this;
+  //     getDept(this.deptId).then((res) => {
+  //       var deptCategory = res.data.data.deptCategory;
+  //       deptCategory == 1
+  //         ? (that.deptCategory = true)
+  //         : (that.deptCategory = false);
+
+  //       if (that.deptCategory) {
+  //         params["deptId"] = this.deptId;
+  //       }
+  //       let values = {
+  //         ...params,
+  //       };
+  //    })
+  // }
+};
+</script>
+
+<style lang="scss" scoped>
+.dispatch {
+  width: 100%;
+  height: 100%;
+  //   border: 1px solid #000;
+  box-sizing: border-box;
+}
+.el-collapse-item {
+  padding-top: 15px !important;
+}
+</style>
\ No newline at end of file
diff --git a/src/views/securityGuardManagement/dispatchChildoperable.vue b/src/views/securityGuardManagement/dispatchChildoperable.vue
index dfa2ab1..d771e66 100644
--- a/src/views/securityGuardManagement/dispatchChildoperable.vue
+++ b/src/views/securityGuardManagement/dispatchChildoperable.vue
@@ -1,12 +1,14 @@
 <template>
-  <div class="dispatchChildoperable">
-    <basic-container>
+  <basic-container>
+    <div class="dispatchChildoperable">
       <avue-crud
         :option="option1"
         :data="data1"
         :page.sync="page1"
         ref="crudrec1"
+        v-model="form"
         :table-loading="loading1"
+        :before-open="beforeOpen"
         @row-save="rowSave1"
         @search-change="searchChange1"
         @search-reset="searchReset1"
@@ -16,78 +18,25 @@
         @refresh-change="refreshChange1"
       >
       </avue-crud>
-    </basic-container>
-  </div>
+    </div>
+  </basic-container>
 </template> 
 
 <script>
 import {
-  // getdata,
-  // adddata,
-  // update,
-  // remove,
   getdata1,
   adddata1,
   update1,
   remove1,
+  getDispatcherUnitByDeptId,
+  overDispatcher,
 } from "@/api/dispatch/dispatch";
-import { getDept } from "@/api/system/dept";
+import { update, getListByDeptId } from "@/api/system/user";
+import { mapState } from "vuex";
 
 export default {
   data() {
     return {
-      // typeTABS: {}, //标签页
-      // optionTABS: {
-      //   column: [
-      //     {
-      //       // icon: "el-icon-info",
-      //       label: "派遣服务公司详情",
-      //       prop: "tab1",
-      //     },
-      //     {
-      //       // icon: "el-icon-info",
-      //       label: "派遣记录",
-      //       prop: "tab2",
-      //     },
-      //     // {
-      //     //   icon: "el-icon-info",
-      //     //   label: "选项卡3",
-      //     //   prop: "tab3",
-      //     // },
-      //   ],
-      // },
-
-      // id: "", //记录归属id
-      // //基本信息
-      // //保安单位信息表单
-      // obj0: {
-      //   // title: "我是头部标题",
-      // },
-      // option0: {
-      //   emptyBtn: false,
-      //   submitBtn: false,
-      //   gutter: 30,
-      //   column: column,
-      // },
-      // loading: true, //派遣服务公司登记
-      // selectionList: [],
-      // page: {
-      //   pageSize: 10,
-      //   currentPage: 1,
-      //   total: 0,
-      // },
-      // query: {},
-      // data: [],
-      // option: {
-      //   card: true,
-      //   searchSize: "mini",
-      //   searchMenuSpan: 6,
-      //   height: 547,
-      //   menuWidth: 160,
-      //   align: "center",
-      //   selection: true,
-      //   column: column,
-      // },
       deptCategory: "",
       deptId: "",
 
@@ -98,52 +47,54 @@
         currentPage: 1,
         total: 0,
       },
+      form: {},
       query1: {},
       data1: [],
       option1: {
         // card: true,
         tip: false,
         index: true,
-
+        // menu: false,
         addBtn: false,
         menu: false,
-        searchShowBtn: false,
-        selection: true,
-        // searchSize: "mini",
+        searchSize: "mini",
         searchMenuSpan: 8,
-        height: 600,
+        height: 623,
         cellBtn: false,
+        delBtnText: "结束派遣",
+        editBtnText: "变更派遣",
         // addBtn: false,
         // menuWidth: 160,
         align: "center",
-        // selection: true,
+        selection: true,
         column: [
-          // 派遣服务公司登记
-          // {
-          //     label: "id",
-          //     prop: "id",
-          //     // search: true,
-          //     // searchSpan: 4,
-          //     // overHidden: true,
-          //     // hide: true,
-          //     // editDisplay: false,
-          //     // addDisplay: false
           // },
+          {
+            label: "派遣单位",
+            prop: "dispatcherCompany",
+            // addDisplay: false,
+            // editDisplay: false,
+            // search: true,
+            // labelWidth: 120,
+            // searchSpan: 4,
+            minWidth: 210,
+            addDisplay: false,
+            editDisplay: false,
+          },
           {
             label: "保安公司",
             prop: "deptId",
+            search: true,
             labelWidth: 120,
-            searchLabelWidth: 75,
+            type: "tree",
             searchSpan: 4,
-            dicUrl:
-              "/api/blade-system/dept/security_lazy-tree?parentId=1413470343230877697",
+            cascaderItem: ["userIds"],
             props: {
               label: "title",
               value: "id",
             },
-            search: true,
-            overHidden: true,
-            type: "tree",
+            width: 180,
+            dicUrl: `/api/blade-system/dept/security_lazy-tree?parentId=1413470343230877697`,
             rules: [
               {
                 required: true,
@@ -154,16 +105,10 @@
           },
           {
             label: "派遣单位",
-            prop: "dispatcherCompany",
-            addDisplay: false,
-            editDisplay: false,
-          },
-          {
-            label: "派遣单位",
             prop: "dispatcherUnitId",
             labelWidth: 120,
-            searchLabelWidth: 75,
-            dicUrl: "/api/dispatcherUnit/page-tree",
+            searchLabelWidth: 80,
+            // dicUrl: "/api/dispatcherUnit/page-tree?deptId={{key}}",
             props: {
               label: "name",
               value: "id",
@@ -176,32 +121,66 @@
             rules: [
               {
                 required: true,
-                message: "请输入保安公司",
+                message: "请输入派遣单位",
                 trigger: "blur",
               },
             ],
           },
           {
-            label: "保安人名称",
-            prop: "securityName",
-            search: true,
-            searchSpan: 4,
+            label: "保安员",
+            prop: "userIds",
+            type: "tree",
+            width: 70,
             labelWidth: 120,
-            searchLabelWidth: 90,
-            // overHidden: true
+            searchSpan: 3,
+            search: true,
+            hide: true,
+            props: {
+              label: "realName",
+              value: "id",
+            },
+            // dicUrl: `/api/blade-user/page-security-units?dispatch=1&deptId={{key}}`,
+            dicUrl: `/api/blade-user/page-security-units?status=1&deptId={{key}}`,
+            dicData: [],
             rules: [
               {
                 required: true,
-                message: "请输入保安人名称",
-                trigger: "click",
+                message: "请选择保安",
+                trigger: "blur",
               },
             ],
           },
+          {
+            label: "保安员",
+            prop: "securityName",
+            type: "tree",
+            width: 70,
+            labelWidth: 120,
+            addDisplay: false,
+            editDisplay: false,
+            // hide: true,
+            // props: {
+            //   label: "realName",
+            //   value: "id",
+            // },
+            // dicUrl: `/api/blade-user/page-security-units?dispatch=1&deptId={{key}}`,
+            dicData: [],
+            rules: [
+              {
+                required: true,
+                message: "请选择保安",
+                trigger: "blur",
+              },
+            ],
+          },
+
           {
             label: "身份证",
             prop: "idCardNo",
             labelWidth: 120,
             overHidden: true,
+            addDisplay: false,
+            editDisplay: false,
             rules: [
               {
                 required: true,
@@ -222,14 +201,13 @@
           // },
 
           {
-            label: "派遣时间",
+            label: "开始时间",
             prop: "dispatchertime",
             type: "date",
-            format: "yyyy-MM-dd hh:mm:ss",
-            valueFormat: "yyyy-MM-dd hh:mm:ss",
+            format: "yyyy-MM-dd",
+            valueFormat: "yyyy-MM-dd",
             labelWidth: 120,
-            searchLabelWidth: 110,
-            searchSpan: 4,
+            searchSpan: 5,
             // search: true,
             overHidden: true,
             rules: [
@@ -245,8 +223,8 @@
             label: "结束时间",
             prop: "endTime",
             type: "date",
-            format: "yyyy-MM-dd hh:mm:ss",
-            valueFormat: "yyyy-MM-dd hh:mm:ss",
+            format: "yyyy-MM-dd",
+            valueFormat: "yyyy-MM-dd",
             labelWidth: 120,
             overHidden: true,
             rules: [
@@ -257,8 +235,30 @@
               },
             ],
             // search: true,
-            // searchSpan: 5,
+            // searchSpan: 4,
             // overHidden: true
+          },
+          {
+            label: "派遣时间",
+            prop: "releaseTimeRange",
+            type: "date",
+            format: "yyyy-MM-dd",
+            valueFormat: "yyyy-MM-dd",
+            searchValue: [this.getStartTime(), this.getEndTime()],
+            searchRange: true,
+            searchSpan: 5,
+            hide: true,
+            addDisplay: false,
+            editDisplay: false,
+            viewDisplay: false,
+            search: true,
+            rules: [
+              {
+                required: true,
+                message: "请输入时间",
+                trigger: "blur",
+              },
+            ],
           },
           {
             label: "派遣地址",
@@ -275,40 +275,24 @@
             // searchSpan: 4,
             // overHidden: true
           },
-          // {
-          //     label: "派遣单位",
-          //     // prop: "dispatcherCompany",
-          //     prop: "tenantName",
-          //     type: "tree",
-          //     dicUrl: "/api/blade-system/dept/lazy-tree?parentId=0",
-          //     props: {
-          //         label: "title",
-          //         value: "id"
-          //     },
-          //     // hide: !website.tenantMode,
-          //     // addDisplay: website.tenantMode,
-          //     // editDisplay: website.tenantMode,
-          //     // viewDisplay: website.tenantMode,
-          //     rules: [{
-          //         required: true,
-          //         message: "请输入派遣单位",
-          //         trigger: "click"
-          //     }],
-          // search: true,
-          // searchSpan: 4,
-          // overHidden: true
-          // },
         ],
       },
     };
   },
+  created() {
+    if (this.userInfo.role_name == "保安公司管理员") {
+      console.log("保安公司管理员登入");
+      const deptColumn = this.findObject(this.option1.column, "deptId");
+      deptColumn.search = false;
+    } else {
+      const deptColumn = this.findObject(
+        this.option1.column,
+        "dispatcherUnitId"
+      );
+      deptColumn.search = false;
+    }
+  },
   computed: {
-    // ids() {
-    //   let ids = [];
-    //   this.selectionList.forEach((ele) => {
-    //     ids.push(ele.id);
-    //   });
-    //   return ids.join(",");
     // },
     ids1() {
       let ids1 = [];
@@ -317,7 +301,14 @@
       });
       return ids1.join(",");
     },
+    ...mapState({
+      userInfo: (state) => state.user.userInfo,
+    }),
+    deps() {
+      return this.form.deptId;
+    },
   },
+
   methods: {
     handleChangeTABS(column) {
       this.typeTABS = column;
@@ -331,129 +322,6 @@
       }
       // this.$message.success(JSON.stringify(column));
     },
-    //派遣服务公司登记
-    // sizeChange(val) {
-    //   this.page1.currentPage = 1;
-    //   this.page1.pageSize = val;
-    //   // this.getData();
-    //   this.onLoad(this.page, this.query);
-    //   //   this.$message.success("行数" + val);
-    // },
-    // currentChange(val) {
-    //   this.page1.currentPage = val;
-    //   // this.getData();
-    //   this.onLoad(this.page, this.query);
-    //   //   this.$message.success("页码" + val);
-    // },
-    // rowSave(form, done, loading) {
-    //   var that = this;
-    //   var form = this.data[0];
-    //   delete form.id;
-    //   for (var k = 0; k < 13; k++) {
-    //     adddata(form).then(
-    //       (res) => {
-    //         this.onLoad(this.page);
-    //         this.$message({
-    //           type: "success",
-    //           message: "操作成功!",
-    //         });
-    //         done();
-    //       },
-    //       (error) => {
-    //         window.console.log(error);
-    //         loading();
-    //       }
-    //     );
-    //   }
-    // },
-    // searchChange(params, done) {
-    //   this.query = params;
-    //   this.page.currentPage = 1;
-    //   this.onLoad(this.page, params);
-    //   done();
-    // },
-    // searchReset() {
-    //   this.query = {};
-    //   this.onLoad(this.page);
-    // },
-    // rowUpdate(row, index, done, loading) {
-    //   console.log(row);
-    //   update(row).then(
-    //     () => {
-    //       this.onLoad(this.page);
-    //       this.$message({
-    //         type: "success",
-    //         message: "操作成功!",
-    //       });
-    //       done();
-    //     },
-    //     (error) => {
-    //       window.console.log(error);
-    //       loading();
-    //     }
-    //   );
-    // },
-    // rowDel(row) {
-    //   this.$confirm("确定将选择数据删除?", {
-    //     confirmButtonText: "确定",
-    //     cancelButtonText: "取消",
-    //     type: "warning",
-    //   })
-    //     .then(() => {
-    //       return remove(row.id);
-    //     })
-    //     .then(() => {
-    //       this.onLoad(this.page);
-    //       this.$message({
-    //         type: "success",
-    //         message: "操作成功!",
-    //       });
-    //     });
-    // },
-    // selectionChange(list) {
-    //   this.selectionList = list;
-    // },
-    // handleDelete() {
-    //   if (this.selectionList.length === 0) {
-    //     this.$message.warning("请选择至少一条数据");
-    //     return;
-    //   }
-    //   this.$confirm("确定将选择数据删除?", {
-    //     confirmButtonText: "确定",
-    //     cancelButtonText: "取消",
-    //     type: "warning",
-    //   })
-    //     .then(() => {
-    //       return remove(this.ids);
-    //     })
-    //     .then(() => {
-    //       this.onLoad(this.page);
-    //       this.$message({
-    //         type: "success",
-    //         message: "操作成功!",
-    //       });
-    //       this.$refs.crudrec.toggleSelection();
-    //     });
-    // },
-    // refreshChange() {
-    //   this.onLoad(this.page, this.query);
-    // },
-    // onLoad(page, params = {}) {
-    //   this.loading = true;
-    //   getdata(
-    //     page.currentPage,
-    //     page.pageSize,
-    //     Object.assign(params, this.query)
-    //   ).then((res) => {
-    //     // console.log(res);
-    //     const data = res.data.data;
-    //     this.page.total = data.total;
-    //     this.data = data.records;
-    //     console.log(this.data);
-    //     this.loading = false;
-    //   });
-    // },
-    //派遣服务公司登记
 
     //派遣记录
     sizeChange1(val) {
@@ -461,23 +329,17 @@
       this.page1.pageSize = val;
       // this.getData();
       this.onLoad1(this.page1, this.query1);
-      //   this.$message.success("行数" + val);
     },
     currentChange1(val) {
       this.page1.currentPage = val;
       // this.getData();
       this.onLoad1(this.page1, this.query1);
-      //   this.$message.success("页码" + val);
     },
     rowSave1(form, done, loading) {
-      // var that = this;
-      // var form = this.data1[0];
-      // delete form.id;
-      // for (var k = 0; k < 13; k++) {
-      // form["deptId"] = form.tenantName;
-      // form["tenantName"] = form.$tenantName;
-      // form["dispatcherUnitId"] = this.id;
-      // console.log(form);
+      // if(this.userInfo.role_name=="保安公司管理员"){
+      //   const userColumn = this.findObject(this.option1.column, "userIds");
+      //   userColumn.dicUrl = "/api/blade-user/page-security-units?deptId="+this.userInfo.dept_id;
+      // }
 
       adddata1(form).then(
         (res) => {
@@ -506,10 +368,10 @@
       this.onLoad1(this.page1);
     },
     rowUpdate1(row, index, done, loading) {
-      // row["deptId"] = row.tenantName;
-      // row["tenantName"] = row.$tenantName;
-      // row["dispatcherUnitId"] = this.id;
-      // console.log(row, "row");
+      // if(this.userInfo.role_name=="保安公司管理员"){
+      //   const userColumn = this.findObject(this.option1.column, "userIds");
+      //   userColumn.dicUrl = "/api/blade-user/page-security-units?deptId="+this.userInfo.dept_id;
+      // }
       update1(row).then(
         () => {
           this.onLoad1(this.page1);
@@ -526,13 +388,13 @@
       );
     },
     rowDel1(row) {
-      this.$confirm("确定将选择数据删除?", {
+      this.$confirm("确定结束当前派遣?", {
         confirmButtonText: "确定",
         cancelButtonText: "取消",
         type: "warning",
       })
         .then(() => {
-          return remove1(row.id);
+          return overDispatcher(row);
         })
         .then(() => {
           this.onLoad1(this.page1);
@@ -574,93 +436,115 @@
       this.onLoad1(this.page1, this.query1);
     },
 
+    beforeOpen(done, type) {
+      this.initFlag = true;
+      done();
+    },
+
+    getStartTime() {
+      if (
+        this.$route.query.startTime != undefined &&
+        this.$route.query.startTime != null &&
+        this.$route.query.startTime != ""
+      ) {
+        return this.$route.query.startTime;
+      }
+      return "";
+    },
+    getEndTime() {
+      if (
+        this.$route.query.endTime != undefined &&
+        this.$route.query.endTime != null &&
+        this.$route.query.endTime != ""
+      ) {
+        return this.$route.query.endTime;
+      }
+      return "";
+    },
     //
     onLoad1(page, params = {}) {
       this.loading1 = true;
-      // params["cardid"] = this.cardid;
-      // params["name"] = this.name;
-      // params["dispatcherCompany"] = this.dispatcherCompany;
-      // params["dispatcherUnitId"] = this.id;
-      // console.log(params, "get");
-      // console.log(page);
+      var values;
+      //默认查询已派遣的,派遣结束,未派遣的不显示
+      params["dispatch"] = 0;
+      const { releaseTimeRange } = this.query1;
+      if (releaseTimeRange) {
+        values = {
+          ...params,
+          beginTime: releaseTimeRange[0],
+          overTime: releaseTimeRange[1],
+          ...this.query,
+        };
+        values.releaseTimeRange = null;
+      } else {
+        values = {
+          ...params,
+          ...this.query,
+        };
+      }
+
+      if (this.userInfo.role_name == "保安公司管理员") {
+        const deptColumn = this.findObject(this.option1.column, "deptId");
+        deptColumn.disabled = true;
+        // deptColumn.search = false; //会报错
+        deptColumn.value = this.userInfo.dept_id;
+        this.initData(2);
+      } else {
+        this.initData(1);
+      }
+
       getdata1(
         page.currentPage,
         page.pageSize,
-        Object.assign(params, this.query)
+        // Object.assign(params, this.query)
+        values
       ).then((res) => {
-        // console.log(res);
         const data = res.data.data;
         this.page1.total = data.total;
         this.data1 = data.records;
-        console.log(this.data1, 1);
         this.loading1 = false;
+        // this.$nextTick(() => this.$refs.crudrec1.dicInit("cascader"));
+        console.log(this.form, 111111);
       });
     },
-    //派遣记录
-    // saveLock(name, val) {
-    //   localStorage.setItem(name, val);
-    // },
-    // readLock(name) {
-    //   return localStorage.getItem(name);
-    // },
+    initData(type) {
+      var that = this;
+      if (type == 1) {
+        getDispatcherUnitByDeptId(null).then((res) => {
+          const dispatcherUnitIdColumn = that.findObject(
+            this.option1.column,
+            "dispatcherUnitId"
+          );
+          // console.log(res.data.data, 111);
+          dispatcherUnitIdColumn.dicData = res.data.data;
+        });
+      }
+      if (type == 2) {
+        getDispatcherUnitByDeptId(that.userInfo.dept_id).then((res) => {
+          const dispatcherUnitIdColumn = that.findObject(
+            this.option1.column,
+            "dispatcherUnitId"
+          );
+          dispatcherUnitIdColumn.dicData = res.data.data;
+        });
+        getListByDeptId(that.userInfo.dept_id, 1).then((res) => {
+          const userIdsColumn = that.findObject(this.option1.column, "userIds");
+          userIdsColumn.dicData = res.data.data;
+        });
+      }
+    },
   },
+  //  watch: {
+  //   // "form.deptId"() {
+  //   //   this.initData();
+  //   // }
+  //   deps(){
+  //     console.log(this.deps,5646646)
+  //   }
+  // },
   mounted() {
     this.onLoad1(this.page1, this.query1);
-    //去掉缓存
-    // this.typeTABS = this.optionTABS.column[0];
-    // var row = {};
-    // if (this.readLock("paqiandata") != null) {
-    //   row = JSON.parse(this.readLock("paqiandata"));
-    //   this.obj0.name = row.name;
-    //   for (var k in row) {
-    //     this.obj0[k] = row[k];
-    //   }
-    //   console.log(this.obj0, 11111111);
-    //   this.id = row.id;
-    //   if (this.readLock("paqiandataS") != null) {
-    //     var b = JSON.parse(this.readLock("paqiandataS"));
-    //     var i = 0;
-    //     for (var k in b) {
-    //       if (b[k].name == row.name) {
-    //         i = 1;
-    //       }
-    //     }
-    //     if (i == 1) {
-    //       // console.log("存在");
-    //     } else {
-    //       // console.log("已删除");
-    //       this.obj0 = {};
-    //       this.obj0.name = row.name + " 该派遣单位已删除";
-    //       window.localStorage.removeItem("paqiandata");
-    //       this.id = 1244241;
-    //     }
-    //   }
-    // } else {
-    //   // console.log("no");
-    //   this.obj0.name = " 未选择派遣单位";
-    // }
   },
-  // onLoad(page, params = {}) {
-  //   this.deptId = JSON.parse(
-  //       window.localStorage.getItem("saber-userInfo")
-  //     ).content.dept_id;
-
-  //     //获取当前用户部门信息,判断是否为公安,如果是公安,则只能查看公告信息
-  //     var that = this;
-  //     getDept(this.deptId).then((res) => {
-  //       var deptCategory = res.data.data.deptCategory;
-  //       deptCategory == 1
-  //         ? (that.deptCategory = true)
-  //         : (that.deptCategory = false);
-
-  //       if (that.deptCategory) {
-  //         params["deptId"] = this.deptId;
-  //       }
-  //       let values = {
-  //         ...params,
-  //       };
-  //    })
-  // }
 };
 </script>
 

--
Gitblit v1.9.3