From 3a82aab402e8cdee192ab47405f2a01973bd4dab Mon Sep 17 00:00:00 2001
From: Administrator <admin>
Date: Mon, 11 Apr 2022 11:46:25 +0800
Subject: [PATCH] 文件存储地址修改

---
 src/components/cardPopup/cardPopup.vue |  393 ++++++++++++++++++++++++++++++++++++++++++++-----------
 1 files changed, 314 insertions(+), 79 deletions(-)

diff --git a/src/components/cardPopup/cardPopup.vue b/src/components/cardPopup/cardPopup.vue
index 3318e41..22a64d1 100644
--- a/src/components/cardPopup/cardPopup.vue
+++ b/src/components/cardPopup/cardPopup.vue
@@ -1,55 +1,87 @@
 <template>
-  <div v-if="see && useWhere != 'close'" class="securityPermit">
-    <slot name="close"></slot>
-    <div class="heards">{{ name }}</div>
-    <basic-container>
-      <div v-show="forms == 1" class="first-box-outer">
-        <div class="handling-guideline">
-          <h2 class="hand-title">{{ name }}办理指南</h2>
-          <div
-            class="hand-content"
-            ref="handcontent"
-            id="handcontent"
-            v-html="htmls"
-          >
-            <!-- ### -->
-            {{ htmls }}
+  <div class="once">
+    <div v-if="OnceChouse && useWhere != 'close'" class="OnceChouse">
+      <slot name="close"></slot>
+      <div class="heards"></div>
+      <basic-container>
+        <div v-for="(item, index) in cardData" :key="index">
+          <!-- <div class="chouseHide"> -->
+          <el-radio v-model="choseType" :label="item.type">{{
+            item.menuName
+          }}</el-radio>
+          <div class="choseTitle">{{ item.datas.msg }}</div>
+          <!-- </div> -->
+        </div>
+        <div class="hand-next">
+          <el-button type="primary" @click="tipchose">确认</el-button>
+          <!-- <el-button type="primary" @click="qx">取消</el-button> -->
+        </div>
+      </basic-container>
+    </div>
+    <div
+      v-if="see && useWhere != 'close' && !OnceChouse"
+      class="securityPermit"
+    >
+      <slot name="close"></slot>
+      <div class="heards">{{ name }}</div>
+      <basic-container>
+        <div v-show="forms == 1" class="first-box-outer">
+          <div class="f-b-o-in">
+            <div class="handling-guideline">
+              <h2 class="hand-title">{{ name }}办理指南</h2>
+              <div
+                class="hand-content"
+                ref="handcontent"
+                id="handcontent"
+                v-html="htmls"
+              >
+                <!-- ### -->
+                {{ htmls }}
+              </div>
+            </div>
+          </div>
+          <div class="hand-next">
+            <el-button type="primary" @click="tip0">下一步</el-button>
+            <el-button type="primary" @click="qx">取消</el-button>
           </div>
         </div>
-        <div class="hand-next">
-          <el-button type="primary" @click="tip0">下一步</el-button>
-          <el-button type="primary" @click="qx">取消</el-button>
-        </div>
-      </div>
-      <div v-show="forms == 2" class="first-box-outer">
-        <div class="f-b-o-in">
-          <el-collapse v-model="activeNames" @change="handleChange">
-            <el-collapse-item title="公司基本信息" name="1">
-              <avue-form
-                ref="form1"
-                v-model="obj0"
-                :option="option"
-              ></avue-form>
-            </el-collapse-item>
-            <el-collapse-item title="附件上传/查询" name="2">
-              <attach :type="imgType"></attach>
-            </el-collapse-item>
-          </el-collapse>
-        </div>
+        <div v-show="forms == 2" class="first-box-outer">
+          <div class="f-b-o-in" v-if="active">
+            <el-collapse v-model="activeNames" @change="handleChange">
+              <el-collapse-item title="公司基本信息" name="1">
+                <avue-form
+                  ref="form1"
+                  v-model="obj0"
+                  :option="option"
+                  @submit="submit"
+                  class="cardButs"
+                ></avue-form>
+              </el-collapse-item>
+              <el-collapse-item title="附件上传/查询" name="2">
+                <attach
+                  :type="imgType"
+                  :ptype="type"
+                  :opens="opens"
+                  :enclosure="enclosure"
+                ></attach>
+              </el-collapse-item>
+            </el-collapse>
+          </div>
 
-        <div class="hand-next">
-          <el-button type="primary" @click="tip1up1">上一页</el-button>
-          <el-button type="primary" @click="tip1" :disabled="!canDoIt"
-            >暂存</el-button
-          >
-          <el-button type="primary" @click="up()" :disabled="!canDoIt">{{
-            //canDoIt ? "提交审批" : "已成功提交"
-            canDoIt ? "提交审批" : "提交审批"
-          }}</el-button>
-          <el-button type="info" @click="qx">取消</el-button>
+          <div class="hand-next">
+            <el-button type="primary" @click="tip1up1">上一页</el-button>
+            <el-button type="primary" @click="tip1" :disabled="!opens"
+              >暂存</el-button
+            >
+            <el-button type="primary" @click="up()" :disabled="!opens">{{
+              //canDoIt ? "提交审批" : "已成功提交"
+              opens ? "提交审批" : "提交审批"
+            }}</el-button>
+            <el-button type="info" @click="qx">取消</el-button>
+          </div>
         </div>
-      </div>
-    </basic-container>
+      </basic-container>
+    </div>
   </div>
 </template>
 
@@ -57,11 +89,19 @@
 import { mapGetters } from "vuex";
 import { add, adds, selectIn } from "@/api/recordOur/outCardPopup";
 import attach from "@/components/attach/attach";
+import {
+  // getDetail,
+  getList,
+  getListre,
+  getListrek,
+  getListrev,
+  getListrel
+} from "@/api/permit/permit";
 export default {
   components: {
-    attach: attach,
+    attach: attach
   },
-  props: ["data"],
+  props: ["data", "together"],
   data() {
     return {
       htmls: "",
@@ -73,52 +113,147 @@
       forms: 1,
       data0: {},
       obj0: {},
+      page: {
+        pageSize: 10,
+        currentPage: 1,
+        total: 0
+      },
       option: {
         emptyBtn: false,
-        submitBtn: false,
+        submitBtn: true,
         gutter: 50,
-        column: [],
+        column: []
       },
       activeNames: ["1", "2"],
+      opens: true,
+      active: false,
+
+      OnceChouse: false, //选择武装押运或者保安服务许可
+      cardData: [],
+      choseType: "",
+      overtime: {
+        overtimef: "",
+        overtimec: ""
+      },
+      enclosure: [] //附件上传 基础数据
     };
   },
   computed: {
-    ...mapGetters(["useWhere", "canDoIt"]),
+    ...mapGetters(["userInfo", "useWhere"])
   },
   watch: {
     useWhere() {
-      // console.log(this.canDoIt, "canDoIt");
-      for (var k in this.data) {
-        if (this.useWhere == this.data[k].type) {
-          this.see = true;
-          this.type = this.data[k].type;
-          this.imgType = this.data[k].imgType;
-          this.htmls = this.data[k].datas.htmls;
+      var d = [];
+      // console.log(this.together, "fromWhere");
+      for (var i in this.together) {
+        if (this.useWhere == this.together[i].fromWhere) {
+          this.OnceChouse = true;
 
-          this.apiName = this.data[k].datas.apiName;
-          this.name = this.data[k].menuName;
-          var d = this.data[k].datas.column;
-          for (var k in d) {
-            d[k]["disabled"] = !this.canDoIt;
-          }
-          this.option.column = d;
-          console.log("已选择type:" + this.useWhere + "--" + this.name);
-          this.convert();
+          d.push(this.together[i]);
+          // console.log("选择");
         }
       }
+      if (this.OnceChouse) {
+        this.choseType = this.useWhere;
+        for (var k in this.data) {
+          if (this.data[k].type == this.useWhere) {
+            d.unshift(this.data[k]);
+          }
+        }
+        this.cardData = d;
+        console.log(this.cardData);
+      } else {
+        this.openS();
+      }
+
       if (this.useWhere == "close") {
         this.tipover();
       }
-    },
+    }
   },
   methods: {
-    convert: function () {
+    tipchose() {
+      this.OnceChouse = false;
+      this.openS(this.choseType, this.cardData);
+    },
+    openS(chose, datas) {
+      var n = chose || this.useWhere;
+      this.data = datas || this.data;
+      for (var k in this.data) {
+        if (n == this.data[k].type) {
+          this.see = true;
+          this.type = this.data[k].type;
+          this.enclosure = this.data[k].enclosure;
+          this.overtime = this.data[k].overtime;
+          this.imgType = this.data[k].imgType;
+          this.htmls = this.data[k].datas.htmls;
+          this.apiName = this.data[k].datas.apiName;
+          this.name = this.data[k].menuName;
+          var d = this.data[k].datas.column;
+          this.onLoad(this.page, {}, n, d);
+          console.log("已选择type:" + n + "--" + this.name);
+          this.convert();
+        }
+      }
+    },
+    onLoad(page, params = {}, val, d) {
+      params["cardid"] = this.userInfo.Id;
+      getList(page.currentPage, page.pageSize, params).then(res => {
+        const data = res.data.data;
+        this.data = data.records;
+        getListre(page.currentPage, page.pageSize, params).then(ress => {
+          this.data = this.data.concat(ress.data.data.records);
+          getListrek(page.currentPage, page.pageSize, params).then(resk => {
+            this.data = this.data.concat(resk.data.data.records);
+            getListrev(page.currentPage, page.pageSize, params).then(resv => {
+              this.data = this.data.concat(resv.data.data.records);
+              getListrel(page.currentPage, page.pageSize, params).then(resl => {
+                this.data = this.data.concat(resl.data.data.records);
+                // console.log("已有申请数量:", this.data.length);
+                // console.log(val, "当前type");
+                if (this.data.kservicetime) {
+                  this.data.kservicetime.split(",");
+                }
+                this.changeBut(true, d);
+                if (this.data.length == 0) {
+                  // console.log("一条数据都没有");
+                } else {
+                  this.data.forEach(item => {
+                    // console.log(item.ptype);
+                    if (item.ptype == val) {
+                      if (item.type == 0 || item.type == 2) {
+                        this.changeBut(false, d);
+                        // console.log(item, "有数据未审核或者审核通过");
+                      } else {
+                        this.changeBut(true, d);
+                        // console.log(item, "审核不通过");
+                      }
+                    }
+                  });
+                }
+              });
+            });
+          });
+        });
+      });
+    },
+    changeBut(val, d) {
+      this.opens = val;
+      for (var k in d) {
+        d[k]["disabled"] = !this.opens;
+      }
+      this.option.column = d;
+      this.active = true;
+    },
+    convert: function() {
       var caridid = this.$store.getters.userInfo.Id;
-      selectIn(this.apiName[2], caridid, this.type).then((res) => {
+      selectIn(this.apiName[2], caridid, this.type).then(res => {
         var d = res.data.data;
+        // console.log(d, "d");
         for (var k in d) {
           this.obj0[k.toLowerCase()] = d[k];
         }
+        // console.log(this.obj0, "obj0");
       });
     },
     tip0() {
@@ -149,12 +284,23 @@
         this.qx();
         this.$message({
           message: "暂存申请成功",
-          type: "success",
+          type: "success"
         });
       });
     },
-    up() {
+    aa(b) {
+      console.log(b);
+    },
+    submit() {
+      this.up(0);
+    },
+    up(val = 1) {
       //提交申请
+      // this.submit();
+      if (val == 1) {
+        this.$refs.form1.submit(); //解决点击提交不能显示那个字段输入错误的问题
+        return;
+      }
       var d = {};
       for (var k in this.obj0) {
         for (var i in this.option.column) {
@@ -166,26 +312,115 @@
       this.data0 = d;
       this.data0.ptype = this.type;
       this.data0.cardid = this.$store.getters.userInfo.Id;
+
+      //验证数据
+      var commin = true;
+      var a = this.data0;
+      for (var k in a) {
+        if (k == "representativecell" || k == "contactscell") {
+          //电话验证
+          if (!yanzhengphons.test(a[k])) {
+            // console.log(a[k], k);
+            commin = false;
+            console.log(1);
+            break;
+          }
+          // } else if (k == "creditcode" || k == "registeredcapital") {
+        } else if (k == "registeredcapital") {
+          //数字验证
+          if (!yanzhengnumbers.test(a[k])) {
+            // console.log(a[k], k);
+            commin = false;
+            console.log(2);
+            break;
+          }
+        } else if (k == "address" || k == "business") {
+          //跳过验证
+          continue;
+        } else {
+          //空值验证
+          // if (a[k] == "" && k != "ptype" && k != "creditcode") {
+          //   console.log(a[k], k);
+          //   commin = false;
+          //   console.log(3);
+          //   break;
+          // }
+        }
+      }
+      if (!commin) {
+        this.$message({
+          message: "请检查输入数据是否正确!",
+          type: "warning"
+        });
+
+        return;
+      }
+      a["overtime"] = this.getNowTime(this.overtime.overtimec);
+      // console.log(a);
+      // return;
+      // console.log(typeof this.data0.kservicetime);
+      if (
+        this.data0.kservicetime &&
+        typeof this.data0.kservicetime != "string"
+      ) {
+        this.data0.kservicetime = this.data0.kservicetime.join(",");
+      }
+      // console.log(this.apiName[0], this.data0);
+      // return;
       add(this.apiName[0], this.data0).then(() => {
         this.qx();
         this.$message({
           message: "提交申请成功",
-          type: "success",
+          type: "success"
         });
         this.$store.commit("changecanDoIt", false);
       });
     },
-    tipover() {
+    getNowTime(form) {
+      var DaysToAdd = form;
+      var now = new Date();
+      var newdate = new Date();
+      var newtimems = newdate.getTime() + DaysToAdd * 24 * 60 * 60 * 1000;
+      newdate.setTime(newtimems);
+      //只得到年月日的
+      var time =
+        newdate.getFullYear() +
+        "-" +
+        (newdate.getMonth() + 1) +
+        "-" +
+        newdate.getDate();
+      //得到具体时间
+      return time;
+    },
+    tipover(a, b) {
+      if (a == 1) {
+        console.log(b);
+        var number = false,
+          reg = /^[0-9]+.?[0-9]*$/;
+        for (var k in b) {
+          if (k == "creditcode") {
+            if (reg.test(b[k])) {
+              number = true;
+            } else {
+              number = false;
+            }
+          } else {
+            continue;
+          }
+        }
+        return number;
+      }
       this.forms = 1;
       this.obj0 = {
         // title0: "保安单位基本信息",
       };
       var d = {};
       this.data0 = d;
-    },
-  },
+      this.active = false;
+      this.OnceChouse = false;
+    }
+  }
 };
 </script>
 
-<style lang="scss">
-</style>
\ No newline at end of file
+<style lang="scss"></style>

--
Gitblit v1.9.3