保安服务单位许可和备案申请系统
Administrator
2022-04-11 3a82aab402e8cdee192ab47405f2a01973bd4dab
src/components/cardPopup/cardPopup.vue
@@ -1,57 +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="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 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" 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"
              ></avue-form>
            </el-collapse-item>
            <el-collapse-item title="附件上传/查询" name="2">
              <attach :type="imgType" :opens="opens"></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="!opens"
            >暂存</el-button
          >
          <el-button type="primary" @click="up()" :disabled="!opens">{{
            //canDoIt ? "提交审批" : "已成功提交"
            opens ? "提交审批" : "提交审批"
          }}</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>
@@ -65,12 +95,13 @@
  getListre,
  getListrek,
  getListrev,
  getListrel
} from "@/api/permit/permit";
export default {
  components: {
    attach: attach,
    attach: attach
  },
  props: ["data"],
  props: ["data", "together"],
  data() {
    return {
      htmls: "",
@@ -85,86 +116,122 @@
      page: {
        pageSize: 10,
        currentPage: 1,
        total: 0,
        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(["userInfo", "useWhere", "canDoIt", "yanzhen"]),
    ...mapGetters(["userInfo", "useWhere"])
  },
  watch: {
    useWhere() {
      var d = [];
      // console.log(this.together, "fromWhere");
      for (var i in this.together) {
        if (this.useWhere == this.together[i].fromWhere) {
          this.OnceChouse = true;
          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: {
    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 (this.useWhere == this.data[k].type) {
        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.option.column = d;
          this.onLoad(this.page, {}, this.useWhere, d);
          // //判断是否禁用按钮
          // for (var k in this.canDoIt) {
          //   if (this.canDoIt[k].type == this.type) {
          //     console.log(this.type + "-------" + this.canDoIt[k].opens);
          //     this.opens = this.canDoIt[k].opens;
          //   }
          // }
          // //是否禁用按钮
          // for (var k in d) {
          //   d[k]["disabled"] = !this.opens;
          // }
          console.log("已选择type:" + this.useWhere + "--" + this.name);
          this.onLoad(this.page, {}, n, d);
          console.log("已选择type:" + n + "--" + this.name);
          this.convert();
        }
      }
      if (this.useWhere == "close") {
        this.tipover();
      }
    },
  },
  methods: {
    onLoad(page, params = {}, val, d) {
      params["cardid"] = this.userInfo.Id;
      getList(page.currentPage, page.pageSize, params).then((res) => {
      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) => {
        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) => {
          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) => {
            getListrev(page.currentPage, page.pageSize, params).then(resv => {
              this.data = this.data.concat(resv.data.data.records);
              console.log("已有申请数量:", this.data.length);
              console.log(val);
              this.changeBut(true, d);
              if (this.data.length == 0) {
                console.log("一条数据都没有");
              } else {
                this.data.forEach((item) => {
                  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, "审核通过");
              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, "审核不通过");
                      }
                    }
                  }
                });
              }
                  });
                }
              });
            });
          });
        });
@@ -178,13 +245,15 @@
      this.option.column = d;
      this.active = true;
    },
    convert: function () {
    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() {
@@ -215,15 +284,23 @@
        this.qx();
        this.$message({
          message: "暂存申请成功",
          type: "success",
          type: "success"
        });
      });
    },
    aa(b) {
      console.log(b);
    },
    up() {
    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) {
@@ -236,22 +313,85 @@
      this.data0.ptype = this.type;
      this.data0.cardid = this.$store.getters.userInfo.Id;
      // if (!this.tipover(1, this.data0)) {
      //   console.log("不通过");
      //   return;
      // }
      // console.log(this.tipover(1, this.data0));
      //验证数据
      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);
      });
    },
    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);
@@ -277,10 +417,10 @@
      var d = {};
      this.data0 = d;
      this.active = false;
    },
  },
      this.OnceChouse = false;
    }
  }
};
</script>
<style lang="scss">
</style>
<style lang="scss"></style>