From c4e67a8942e514b65ab41bb19781d50576c15725 Mon Sep 17 00:00:00 2001
From: liuyg <376836862@qq.com>
Date: Fri, 24 Sep 2021 19:56:52 +0800
Subject: [PATCH] 用户

---
 src/views/securityUnit/index.vue |  513 +++++++++++++++++++++++++++++++++++++++-----------------
 1 files changed, 355 insertions(+), 158 deletions(-)

diff --git a/src/views/securityUnit/index.vue b/src/views/securityUnit/index.vue
index 634a32c..9f6b96c 100644
--- a/src/views/securityUnit/index.vue
+++ b/src/views/securityUnit/index.vue
@@ -1,45 +1,61 @@
 <template>
-  <div class="securityUnit">
-    <avue-crud
-      :option="option"
-      :data="data"
-      :page.sync="page"
-      ref="crudrec"
-      @on-load="onLoad"
-      :table-loading="loading"
-      @row-save="rowSave"
-      @search-change="searchChange"
-      @search-reset="searchReset"
-      @row-update="rowUpdate"
-      @row-del="rowDel"
-      @selection-change="selectionChange"
-      @refresh-change="refreshChange"
-      @row-click="rowClick"
-    >
-      <template slot="menuLeft">
-        <el-button
-          type="primary"
-          icon="el-icon-plus"
-          size="small"
-          plain
-          @click.stop="rowSave"
-          >新增</el-button
-        >
-      </template>
-      <template slot="menuLeft">
-        <el-button
-          type="danger"
-          size="small"
-          plain
-          icon="el-icon-delete"
-          @click="handleDelete"
-          >删 除
-        </el-button>
-      </template>
-    </avue-crud>
-    <div class="lod" v-show="forms != -1">
-      <div class="lod-in">
-        <el-col class="trees" v-if="forms == 0">
+  <basic-container>
+    <div class="securityUnit">
+      <avue-crud
+        :option="option"
+        :data="data"
+        :page.sync="page"
+        ref="crudrec"
+        @on-load="onLoad"
+        :table-loading="loading"
+        @row-save="rowSave"
+        @search-change="searchChange"
+        @search-reset="searchReset"
+        @row-update="rowUpdate"
+        @row-del="rowDel"
+        @selection-change="selectionChange"
+        @refresh-change="refreshChange"
+        @row-click="rowClick"
+      >
+        <template slot-scope="{ type, size, row }" slot="menu">
+          <el-button
+            :size="size"
+            :type="type"
+            @click="handleUploadPage(row)"
+            icon="el-icon-circle-check"
+            >附件上传
+          </el-button>
+        </template>
+        <template slot="menuLeft">
+          <el-button
+            type="primary"
+            icon="el-icon-plus"
+            size="small"
+            plain
+            @click.stop="rowSave"
+            >新增</el-button
+          >
+          <el-button
+            type="danger"
+            size="small"
+            plain
+            icon="el-icon-delete"
+            @click="handleDelete"
+            >删 除
+          </el-button>
+          <el-button
+            type="success"
+            size="small"
+            plain
+            icon="el-icon-upload2"
+            @click="handleImport1"
+            >批量导入
+          </el-button>
+        </template>
+      </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>
@@ -51,46 +67,65 @@
               </basic-container>
             </el-scrollbar>
           </div>
-        </el-col>
-        <avue-form
-          ref="form"
-          v-model="obj0"
-          :option="option0"
-          v-if="forms == 0"
-        >
-          <template slot="menuForm">
-            <el-button type="primary" @click="tip0">下一页</el-button>
-            <el-button type="info" @click="tipover">取消</el-button>
-          </template>
-        </avue-form>
-        <avue-form
-          ref="form"
-          v-model="obj1"
-          :option="option1"
-          v-else-if="forms == 1"
-        >
-          <template slot="menuForm">
-            <el-button type="primary" @click="tip1up1">上一页</el-button>
-            <el-button type="primary" @click="tip1">下一页</el-button>
-            <el-button type="info" @click="tipover">取消</el-button>
-          </template>
-        </avue-form>
-        <avue-form
-          ref="form"
-          v-model="obj2"
-          :option="option2"
-          v-else-if="forms == 2"
-        >
-          <template slot="menuForm">
-            <el-button type="primary" @click="tip2up2">上一页</el-button>
-            <el-button type="primary" @click="tip2">提交</el-button>
-            <el-button type="info" @click="tipover">取消</el-button>
-          </template>
-        </avue-form>
+        </el-col> -->
+          <avue-form
+            ref="form"
+            v-model="obj0"
+            :option="option0"
+            v-if="forms == 0"
+          >
+            <template slot="menuForm">
+              <el-button type="primary" @click="tip0">下一页</el-button>
+              <el-button type="info" @click="tipover">取消</el-button>
+            </template>
+          </avue-form>
+          <avue-form
+            ref="form1"
+            v-model="obj1"
+            :option="option1"
+            v-else-if="forms == 1"
+          >
+            <template slot="menuForm">
+              <el-button type="primary" @click="tip1up1">上一页</el-button>
+              <el-button type="primary" @click="tip1">下一页</el-button>
+              <el-button type="info" @click="tipover">取消</el-button>
+            </template>
+          </avue-form>
+          <avue-form
+            ref="form2"
+            v-model="obj2"
+            :option="option2"
+            v-else-if="forms == 2"
+          >
+            <template slot="menuForm">
+              <el-button type="primary" @click="tip2up2">上一页</el-button>
+              <el-button type="primary" @click="tip2">提交</el-button>
+              <el-button type="info" @click="tipover">取消</el-button>
+            </template>
+          </avue-form>
+        </div>
       </div>
     </div>
-  </div>
-</template> 
+    <el-dialog
+      title="保安单位导入"
+      append-to-body
+      :visible.sync="excelBox1"
+      width="555px"
+    >
+      <avue-form
+        :option="excelOption1"
+        v-model="excelForm1"
+        :upload-after="uploadAfter1"
+      >
+        <template slot="excelTemplate">
+          <el-button type="primary" @click="handleTemplate1">
+            点击下载<i class="el-icon-download el-icon--right"></i>
+          </el-button>
+        </template>
+      </avue-form>
+    </el-dialog>
+  </basic-container>
+</template>
 
 <script>
 import { column, column0, column1, column2 } from "./data";
@@ -103,11 +138,40 @@
   adddata2,
   getDeptLazyTree,
 } from "@/api/securityUnit/securityUnit";
+import { mapGetters } from "vuex";
 export default {
   data() {
     var w = 160,
       s = 12;
     return {
+      excelBox1: false,
+      excelForm1: {},
+      excelOption1: {
+        submitBtn: false,
+        emptyBtn: false,
+        column: [
+          {
+            label: "文件上传",
+            prop: "excelFile",
+            type: "upload",
+            drag: true,
+            loadText: "文件上传中,请稍等",
+            span: 24,
+            propsHttp: {
+              res: "data",
+            },
+            tip: "请上传 .xls,.xlsx 标准格式文件",
+            action: "/api/information/import-informaton",
+          },
+          {
+            label: "模板下载",
+            prop: "excelTemplate",
+            formslot: true,
+            span: 24,
+          },
+        ],
+      },
+
       loading: true, //保安单位基本信息
       selectionList: [],
       page: {
@@ -118,38 +182,61 @@
 
       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,
-                };
-              })
-            );
-          });
-        },
+        title: "我是标题",
+        filterText: "搜索关键字自定义",
+        defaultExpandAll: true,
         addBtn: false,
         menu: false,
         size: "small",
+        formOption: {
+          labelWidth: 100,
+          column: [
+            {
+              label: "自定义项",
+              prop: "label",
+            },
+          ],
+        },
         props: {
           labelText: "标题",
           label: "title",
-          value: "value",
+          value: "id",
           children: "children",
         },
       },
+      // 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: {
-        title: "保安单位基本信息",
+        title0: "保安单位基本信息",
       },
       option0: {
         emptyBtn: false,
@@ -158,7 +245,7 @@
         column: column0,
       },
       obj1: {
-        title: "保安单位出资人员",
+        title1: "保安单位出资人员",
       },
       option1: {
         emptyBtn: false,
@@ -167,7 +254,7 @@
         column: column1,
       },
       obj2: {
-        title: "主要管理人员信息",
+        title2: "主要管理人员信息",
       },
       option2: {
         emptyBtn: false,
@@ -180,18 +267,23 @@
       data0: {},
       data1: {},
       data2: {},
+      b0: {},
+      b1: {},
+      b2: {},
       noshehuibianma: 0,
       nobumen: 0,
 
       query: {},
       data: [],
       option: {
+        index: true,
         addBtn: false,
-        card: true,
+        // card: true,
+        tip: false,
         searchSize: "mini",
         searchMenuSpan: 6,
-        height: 547,
-        menuWidth: 160,
+        height: 583,
+        menuWidth: 220,
         align: "center",
         selection: true,
         column: column,
@@ -199,10 +291,11 @@
     };
   },
   computed: {
+    ...mapGetters(["userInfo"]),
     ids() {
       let ids = [];
       this.selectionList.forEach((ele) => {
-        ids.push(ele.id);
+        ids.push(ele.creditcode);
       });
       return ids.join(",");
     },
@@ -225,6 +318,19 @@
     },
   },
   methods: {
+    handleImport1() {
+      this.excelBox1 = true;
+    },
+    uploadAfter1(res, done, loading, column) {
+      window.console.log(column);
+      this.excelBox1 = false;
+      // this.refreshChange();
+      done();
+    },
+    handleTemplate1() {
+      window.open(`/api/examSubjectChoices/export-template`);
+    },
+
     // handleChangeTABS(column) {
     //   this.typeTABS = column;
     //   // this.$message.success(JSON.stringify(column));
@@ -257,8 +363,15 @@
       //   this.$message.success("页码" + val);
     },
     rowSave(form, done, loading) {
-      console.log("save1");
+      // console.log("save1");
       this.forms = 0;
+      var that = this;
+      //先获取部门接口
+      getDeptLazyTree().then((res) => {
+        var d = res.data.data;
+        that.treeData = d;
+        // console.log(d);
+      });
     },
     searchChange(params, done) {
       this.query = params;
@@ -297,7 +410,7 @@
       })
         .then(() => {
           console.log(row);
-          return remove(row.creditcode);
+          return remove(row.creditcode, row.departmentid);
         })
         .then(() => {
           this.onLoad(this.page);
@@ -315,13 +428,14 @@
         this.$message.warning("请选择至少一条数据");
         return;
       }
-      this.$confirm("确定将选择数据删除?", {
+      this.$confirm("确定批量将选择数据删除?", {
         confirmButtonText: "确定",
         cancelButtonText: "取消",
         type: "warning",
       })
         .then(() => {
-          return remove(this.ids);
+          console.log(this.ids);
+          // return remove(this.ids);
         })
         .then(() => {
           this.onLoad(this.page);
@@ -336,77 +450,144 @@
       this.onLoad(this.page, this.query);
     },
     rowClick(row) {
-      console.log(row);
-      row.identificationnumber; //统一社会信用代码
+      // console.log(row);
+      // row.identificationnumber; //统一社会信用代 码
+      window.localStorage.setItem("danweidata", JSON.stringify(row));
       this.$router.push({
         path: "/securityUnitChild",
         // redirect: { name: "foo" },
-        query: { row: row },
+        query: { rowsecurity: "fromSecurity" },
         // params: { row: row.identificationnumber },
       });
     },
+    //跳转到附近列表页面
+    handleUploadPage(row) {
+      this.$router.push({
+        path: `/resource/attachCopy`,
+        query: {
+          deptId: row.departmentid,
+          enterprisename: row.enterprisename,
+        },
+      });
+    },
     onLoad(page, params = {}) {
+      if (this.userInfo.role_id == "1414840172333842433") {
+        console.log("是公安add jurisdiction");
+        params["jurisdiction"] = this.userInfo.jurisdiction;
+      }
       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;
+        window.localStorage.setItem("danweidataS", JSON.stringify(this.data));
         console.log(this.data);
         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;
-    },
+    // 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.obj0["useid"] = data.id;
+    //   this.obj1["useid"] = data.id;
+    //   this.obj2["useid"] = data.id;
+    //   this.nobumen = 1;
+    // },
     tip0() {
       if (this.panduanmeiyouziduan()) {
         return;
       }
-      var b = {};
+      var d = {};
       for (var k in this.obj0) {
-        if (k != "title") {
-          b[k] = this.obj0[k];
+        for (var i in column0) {
+          if (k == column0[i].prop && k != "title0") {
+            d[k] = this.obj0[k];
+          }
         }
       }
-      this.data0 = b;
+      console.log(d);
+      for (var k in d) {
+        if (d[k] == "" || d[k] == undefined) {
+          console.log(k);
+          this.$message.warning("请检查表单是否填写完整!");
+          return;
+        }
+      }
+      console.log(d, 0);
+      this.data0 = d;
       this.forms = 1;
     },
     tip1() {
       if (this.panduanmeiyouziduan()) {
         return;
       }
-      var b = {};
+      var d = {};
       for (var k in this.obj1) {
-        if (k != "title") {
-          b[k] = this.obj1[k];
+        for (var i in column1) {
+          if (k == column1[i].prop && k != "title1") {
+            d[k] = this.obj1[k];
+          }
         }
       }
-      this.data1 = b;
+      d["capital"] = d["capital2"];
+      delete d["capital2"];
+      // console.log(d);
+      for (var k in d) {
+        if (d[k] == "" || d[k] == undefined) {
+          console.log(k);
+          this.$message.warning("请检查表单是否填写完整!");
+          return;
+        }
+      }
+      console.log(d, 1);
+      this.data1 = d;
       this.forms = 2;
     },
     tip2() {
       if (this.panduanmeiyouziduan()) {
         return;
       }
-      var b = {};
+      var d = {};
       for (var k in this.obj2) {
-        if (k != "title") {
-          b[k] = this.obj2[k];
+        for (var i in column2) {
+          if (k == column2[i].prop && k != "title2") {
+            d[k] = this.obj2[k];
+          }
         }
       }
-      this.data2 = b;
+      console.log(d);
+      d["cardid"] = d["cardid2"];
+      delete d["cardid2"];
+      d["cell"] = d["cell2"];
+      delete d["cell2"];
+      // d["shareholdingratio"] = d["shareholdingratio2"];
+      // delete d["shareholdingratio2"];
+      for (var k in d) {
+        if (d[k] == "" || d[k] == undefined) {
+          console.log(k);
+          this.$message.warning("请检查表单是否填写完整!");
+          return;
+        }
+      }
+      console.log(d, 2);
+      this.data2 = d;
+
+      // this.data0.departmentid = this.data0.useid;
+      // this.data1.departmentid = this.data1.useid;
+      // this.data2.departmentid = this.data2.useid;
+      // delete this.data0.useid;
+      // delete this.data1.useid;
+      // delete this.data2.useid;
+
       adddata(this.data0).then((res) => {
         console.log(res, 0);
       });
@@ -416,8 +597,10 @@
       adddata2(this.data2).then((res) => {
         console.log(res, 2);
       });
-      this.onLoad(this.page, this.query);
-      console.log(this.data0, this.data1, this.data2);
+      var time = setTimeout(() => {
+        this.onLoad(this.page, this.query);
+        console.log(this.data0, this.data1, this.data2, "已刷新");
+      }, 500);
       this.tipover();
     },
     tip1up1() {
@@ -429,13 +612,13 @@
     tipover() {
       this.forms = -1;
       this.obj0 = {
-        title: "保安单位基本信息",
+        title0: "保安单位基本信息",
       };
-      this.obj0 = {
-        title: "保安单位出资人员",
+      this.obj1 = {
+        title1: "保安单位出资人员",
       };
       this.obj2 = {
-        title: "主要管理人员信息",
+        title2: "主要管理人员信息",
       };
       this.data0 = {};
       this.data1 = {};
@@ -449,20 +632,26 @@
         return true;
       }
       if (this.nobumen == 0) {
+        return false;
         this.$message.warning("请选则部门");
-        return true;
       }
       return false;
     },
   },
   watch: {
     haveID() {
-      if (this.haveID > 9000) {
-        //统一社会信用代码判断
-        this.noshehuibianma = 1;
-      } else {
-        this.noshehuibianma = 0;
+      // console.log(this.haveID);
+      if (this.haveID != undefined) {
+        if (this.haveID.length > 5) {
+          //统一社会信用代码判断
+          this.noshehuibianma = 1;
+        } else {
+          this.noshehuibianma = 0;
+        }
       }
+    },
+    havedata() {
+      console.log(this.havedata, "qqqqq");
     },
   },
   mounted() {},
@@ -476,14 +665,14 @@
   //   border: 1px solid #000;
   box-sizing: border-box;
 }
-.el-card__body {
-  padding-bottom: 5px !important;
-}
-.avue-crud__tip,
-.el-tag,
-.el-tag--light {
-  padding: 0 !important;
-}
+// .el-card__body {
+//   padding-bottom: 5px !important;
+// }
+// .avue-crud__tip,
+// .el-tag,
+// .el-tag--light {
+//   padding: 0 !important;
+// }
 
 .lod {
   position: absolute;
@@ -503,13 +692,21 @@
     width: 15%;
     top: 100px;
     left: 0;
-    display: none;
+    // display: none;
   }
   .lod-in {
     width: 70%;
     height: auto;
+    background-color: transparent;
 
     // padding: 10px 0 0 0;
   }
+
+  .el-collapse-item {
+    padding-top: 15px !important;
+  }
 }
-</style>
\ No newline at end of file
+.el-collapse {
+  border-top: 1px solid transparent !important;
+}
+</style>

--
Gitblit v1.9.3