From 6bb5ac166f1ec6a1daeb56689fa2bc21035da9f4 Mon Sep 17 00:00:00 2001
From: liuyg <376836862@qq.com>
Date: Tue, 17 Aug 2021 15:34:25 +0800
Subject: [PATCH] 整体更改

---
 src/components/crossRegion/data.js                           |  299 ++
 src/components/securityGuard/data.js                         |  299 ++
 src/components/crossRegion/crossRegion.vue                   |  222 ++
 src/components/examineCard/examineCard.vue                   |  125 +
 src/components/securityTraining/data.js                      |  299 ++
 vue.config.js                                                |    5 
 src/components/securityPermit/data.js                        |  266 ++
 src/router/views/index.js                                    |  206 
 src/api/recordOur/securityTraining.js                        |   30 
 src/components/securityTraining/securityTraining.vue         |  199 +
 src/components/securityGuard/securityGuard.vue               |  192 +
 src/api/recordOur/cancellationOfFiling.js                    |   30 
 src/views/home/index.vue                                     | 1396 +++----------
 src/store/modules/dict.js                                    |   24 
 src/api/recordOur/crossRegion.js                             |   30 
 src/components/securityPermit/securityPermit.vue             |  244 ++
 src/components/cancellationOfFiling/cancellationOfFiling.vue |  183 +
 src/views/home/index1.vue                                    | 1274 ++++++++++++
 src/api/recordOur/securityGuard.js                           |   30 
 src/components/cancellationOfFiling/data.js                  |  312 ++
 src/components/Approval/Approval.vue                         |  214 ++
 src/store/getters.js                                         |    3 
 src/components/attach/attach.vue                             |  417 +++
 23 files changed, 5,111 insertions(+), 1,188 deletions(-)

diff --git a/src/api/recordOur/cancellationOfFiling.js b/src/api/recordOur/cancellationOfFiling.js
new file mode 100644
index 0000000..1e89c63
--- /dev/null
+++ b/src/api/recordOur/cancellationOfFiling.js
@@ -0,0 +1,30 @@
+import request from '@/router/axios';
+
+
+export const add = (row) => {
+    return request({
+        url: '/api/revoke/save',
+        method: 'post',
+        data: row
+    })
+}
+
+export const adds = (row) => {
+    return request({
+        url: '/api/revoke/revokesave',
+        method: 'post',
+        data: row
+    })
+}
+
+
+export const selectIn = (cardid, ptype) => {
+    return request({
+        url: '/api/revoke/selectIn',
+        method: 'post',
+        params: {
+            cardid,
+            ptype
+        }
+    })
+}
\ No newline at end of file
diff --git a/src/api/recordOur/crossRegion.js b/src/api/recordOur/crossRegion.js
new file mode 100644
index 0000000..e30707c
--- /dev/null
+++ b/src/api/recordOur/crossRegion.js
@@ -0,0 +1,30 @@
+import request from '@/router/axios';
+
+
+export const add = (row) => {
+    return request({
+        url: '/api/recordk/save',
+        method: 'post',
+        data: row
+    })
+}
+
+export const adds = (row) => {
+    return request({
+        url: '/api/recordk/recorkstorage',
+        method: 'post',
+        data: row
+    })
+}
+
+
+export const selectIn = (cardid, ptype) => {
+    return request({
+        url: '/api/recordk/selectIn',
+        method: 'post',
+        params: {
+            cardid,
+            ptype
+        }
+    })
+}
\ No newline at end of file
diff --git a/src/api/recordOur/securityGuard.js b/src/api/recordOur/securityGuard.js
new file mode 100644
index 0000000..26cef21
--- /dev/null
+++ b/src/api/recordOur/securityGuard.js
@@ -0,0 +1,30 @@
+import request from '@/router/axios';
+
+
+export const add = (row) => {
+    return request({
+        url: '/api/record/save',
+        method: 'post',
+        data: row
+    })
+}
+
+export const adds = (row) => {
+    return request({
+        url: '/api/record/rocordsave',
+        method: 'post',
+        data: row
+    })
+}
+
+
+export const selectIn = (cardid, ptype) => {
+    return request({
+        url: '/api/record/selectIn',
+        method: 'post',
+        params: {
+            cardid,
+            ptype
+        }
+    })
+}
\ No newline at end of file
diff --git a/src/api/recordOur/securityTraining.js b/src/api/recordOur/securityTraining.js
new file mode 100644
index 0000000..26cef21
--- /dev/null
+++ b/src/api/recordOur/securityTraining.js
@@ -0,0 +1,30 @@
+import request from '@/router/axios';
+
+
+export const add = (row) => {
+    return request({
+        url: '/api/record/save',
+        method: 'post',
+        data: row
+    })
+}
+
+export const adds = (row) => {
+    return request({
+        url: '/api/record/rocordsave',
+        method: 'post',
+        data: row
+    })
+}
+
+
+export const selectIn = (cardid, ptype) => {
+    return request({
+        url: '/api/record/selectIn',
+        method: 'post',
+        params: {
+            cardid,
+            ptype
+        }
+    })
+}
\ No newline at end of file
diff --git a/src/components/Approval/Approval.vue b/src/components/Approval/Approval.vue
new file mode 100644
index 0000000..2ee2e9f
--- /dev/null
+++ b/src/components/Approval/Approval.vue
@@ -0,0 +1,214 @@
+<template>
+  <div v-if="ApprovalShow">
+    <slot name="close"></slot>
+    <basic-container class="Approval">
+      <avue-crud
+        :option="option1"
+        :table-loading="loading"
+        :data="data"
+        :page.sync="page"
+        :permission="permissionList"
+        :before-open="beforeOpen"
+        v-model="form"
+        ref="crud"
+        @row-update="rowUpdate"
+        @row-save="rowSave"
+        @row-del="rowDel"
+        @search-change="searchChange"
+        @search-reset="searchReset"
+        @selection-change="selectionChange"
+        @current-change="currentChange"
+        @size-change="sizeChange"
+        @refresh-change="refreshChange"
+        @on-load="onLoad"
+        :row-style="rowStyle"
+      >
+        <template class="tdtype" slot-scope="{ row }" slot="type">
+          <el-tag class="dtype">
+            {{
+              row.type == "0" ? "通过" : row.type == "1" ? "不通过" : "待审核"
+            }}
+            <i class="gz" v-if="row.type == '0'"></i>
+            <i class="yj" v-if="row.type == '1'"></i>
+            <i class="zc" v-if="row.type == '2'"></i>
+          </el-tag>
+        </template>
+      </avue-crud>
+    </basic-container>
+  </div>
+</template>
+
+<script>
+import {
+  getDetail,
+  getList,
+  getListre,
+  getListrek,
+  getListrev,
+} from "@/api/permit/permit";
+import { mapGetters } from "vuex";
+export default {
+  props: {
+    visible: {
+      type: Boolean,
+      default: false,
+    },
+  },
+  computed: {
+    ...mapGetters(["ApprovalShow", "userInfo"]),
+  },
+  data() {
+    return {
+      data: [],
+      query: {},
+      loading: false,
+      page: {
+        pageSize: 10,
+        currentPage: 1,
+        total: 0,
+      },
+      option1: {
+        delBtn: false,
+        editBtn: false,
+        addBtn: false,
+        height: "auto",
+        calcHeight: 260,
+        tip: false,
+        searchShow: true,
+        searchMenuSpan: 8,
+        labelWidth: 130,
+        headerAlign: "center",
+        align: "center",
+        border: true,
+        index: true,
+        viewBtn: true,
+        selection: true,
+        dialogClickModal: false,
+        column: [
+          {
+            label: "企业名称",
+            prop: "enterprisename",
+            labelWidth: 160,
+            span: 12,
+            rules: [
+              {
+                required: true,
+                message: "请输入企业名称",
+                trigger: "blur",
+              },
+            ],
+          },
+          {
+            label: "许可类型",
+            prop: "ptype",
+            type: "select",
+            dicData: [
+              {
+                label: "保安服务公司许可申请",
+                value: "0",
+              },
+              {
+                label: "自招保安单位备案",
+                value: "1",
+              },
+              {
+                label: "保安培训公司备案",
+                value: "2",
+              },
+              {
+                label: "跨区域经营备案",
+                value: "3",
+              },
+              {
+                label: "自招保安单位备案撤销",
+                value: "6",
+              },
+            ],
+          },
+          {
+            label: "审批意见",
+            prop: "approve",
+          },
+          {
+            label: "提交时间",
+            prop: "permitime",
+            addDisplay: false,
+            type: "date",
+            format: "yyyy-MM-dd HH:mm:ss",
+            valueFormat: "yyyy-MM-dd HH:mm:ss",
+          },
+          {
+            label: "审核状态",
+            prop: "type",
+            addDisplay: false,
+            type: "select",
+            dicData: [
+              {
+                label: "通过",
+                value: "0",
+              },
+              {
+                label: "不通过",
+                value: "1",
+              },
+              {
+                label: "待审核",
+                value: "2",
+              },
+            ],
+          },
+        ],
+      },
+    };
+  },
+  methods: {
+    beforeOpen(done, type) {
+      if (["edit", "view"].includes(type)) {
+        getDetail(this.form.id).then((res) => {
+          this.form = res.data.data;
+        });
+      }
+      done();
+    },
+    onLoad(page, params = {}) {
+      this.loading = true;
+      //   console.log(this.userInfo);
+      params["cardid"] = this.userInfo.Id;
+      getList(
+        page.currentPage,
+        page.pageSize,
+        Object.assign(params, this.query)
+      ).then((res) => {
+        const data = res.data.data;
+        this.page.total = data.total;
+        this.data = data.records;
+        this.loading = false;
+        getListre(
+          page.currentPage,
+          page.pageSize,
+          Object.assign(params, this.query)
+        ).then((ress) => {
+          this.data = this.data.concat(ress.data.data.records);
+        });
+        getListrek(
+          page.currentPage,
+          page.pageSize,
+          Object.assign(params, this.query)
+        ).then((resk) => {
+          this.data = this.data.concat(resk.data.data.records);
+        });
+        getListrev(
+          page.currentPage,
+          page.pageSize,
+          Object.assign(params, this.query)
+        ).then((resv) => {
+          this.data = this.data.concat(resv.data.data.records);
+        });
+      });
+    },
+  },
+};
+</script>
+
+<style>
+</style>
\ No newline at end of file
diff --git a/src/components/attach/attach.vue b/src/components/attach/attach.vue
new file mode 100644
index 0000000..78a6786
--- /dev/null
+++ b/src/components/attach/attach.vue
@@ -0,0 +1,417 @@
+<template>
+  <basic-container class="hasButTwo">
+    <avue-crud
+      :option="option"
+      :table-loading="loading"
+      :data="data"
+      :page.sync="page"
+      :permission="permissionList"
+      :before-open="beforeOpen"
+      v-model="form"
+      ref="crud"
+      @row-del="rowDel"
+      @search-change="searchChange"
+      @search-reset="searchReset"
+      @selection-change="selectionChange"
+      @current-change="currentChange"
+      @size-change="sizeChange"
+      @refresh-change="refreshChange"
+      @on-load="onLoad"
+    >
+      <template slot="menuLeft">
+        <el-button
+          type="primary"
+          size="small"
+          plain
+          icon="el-icon-upload2"
+          @click="handleUpload"
+          >上 传
+        </el-button>
+        <el-button
+          type="danger"
+          size="small"
+          icon="el-icon-delete"
+          plain
+          @click="handleDelete"
+          >删 除
+        </el-button>
+      </template>
+      <template slot-scope="scope" slot="menu">
+        <el-button
+          type="text"
+          icon="el-icon-download"
+          size="small"
+          v-if="permission.attach_download"
+          @click="handleDownload(scope.row)"
+          >下载222
+        </el-button>
+        <el-button
+          type="text"
+          icon="el-icon-picture-outline-round"
+          size="small"
+          v-show="!fileFormat(scope.row)"
+          @click="seeImages(scope.row)"
+          >预览
+        </el-button>
+      </template>
+      <template slot-scope="{ row }" slot="attachSize">
+        <el-tag>{{ `${row.attachSize} KB` }}</el-tag>
+      </template>
+    </avue-crud>
+    <el-dialog
+      title="附件管理"
+      append-to-body
+      :visible.sync="attachBox"
+      width="555px"
+    >
+      <avue-form
+        ref="form"
+        :option="attachOption"
+        v-model="attachForm"
+        :upload-after="uploadAfter"
+      >
+      </avue-form>
+    </el-dialog>
+
+    <el-dialog
+      title="预览"
+      append-to-body
+      :visible.sync="imgSee"
+      class="see-img-box"
+    >
+      <div class="img" :style="{ background: imgUrl }"></div>
+    </el-dialog>
+  </basic-container>
+</template>
+
+<script>
+import { getList, getDetail, remove } from "@/api/resource/attach";
+import { mapGetters } from "vuex";
+
+export default {
+  props: ["type"],
+  data() {
+    var type = this.type;
+    var deptid = this.$route.query.deptId;
+    var cardid = this.$store.getters.userInfo.Id;
+    return {
+      form: {},
+      query: {},
+      putParam: "",
+      loading: false,
+      page: {
+        pageSize: 10,
+        currentPage: 1,
+        total: 0,
+      },
+      attachBox: false,
+      selectionList: [],
+      option: {
+        height: "auto",
+        calcHeight: 30,
+        tip: false,
+        searchShow: true,
+        menu: false,
+        height: 323,
+        searchMenuSpan: 6,
+        border: false,
+        index: true,
+        stripe: true,
+        viewBtn: true,
+        selection: true,
+        dialogClickModal: false,
+        column: [
+          {
+            label: "附件地址",
+            prop: "link",
+            rules: [
+              {
+                required: true,
+                message: "请输入附件地址",
+                trigger: "blur",
+              },
+            ],
+          },
+          {
+            label: "附件域名",
+            prop: "domain",
+            search: true,
+            rules: [
+              {
+                required: true,
+                message: "请输入附件域名",
+                trigger: "blur",
+              },
+            ],
+          },
+          {
+            label: "附件名称",
+            prop: "name",
+            search: true,
+            rules: [
+              {
+                required: true,
+                message: "请输入附件名称",
+                trigger: "blur",
+              },
+            ],
+          },
+          {
+            label: "附件原名",
+            prop: "originalName",
+            search: true,
+            rules: [
+              {
+                required: true,
+                message: "请输入附件原名",
+                trigger: "blur",
+              },
+            ],
+          },
+          {
+            label: "附件拓展名",
+            prop: "extension",
+            rules: [
+              {
+                required: true,
+                message: "请输入附件拓展名",
+                trigger: "blur",
+              },
+            ],
+          },
+          {
+            label: "附件大小",
+            prop: "attachSize",
+            slot: true,
+            rules: [
+              {
+                required: true,
+                message: "请输入附件大小",
+                trigger: "blur",
+              },
+            ],
+          },
+          {
+            label: "预览",
+            prop: "link",
+            slot: true,
+            dataType: "string",
+            type: "img",
+          },
+        ],
+      },
+      data: [],
+      attachForm: {},
+      attachOption: {
+        submitBtn: false,
+        emptyBtn: false,
+        column: [
+          //   {
+          //     label: "附件上传",
+          //     prop: "attachFile",
+          //     type: "upload",
+          //     drag: true,
+          //     loadText: "模板上传中,请稍等",
+          //     span: 24,
+          //     propsHttp: {
+          //       res: "data",
+          //     },
+          //     action:
+          //     "/api/blade-resource/oss/endpoint/put-file-attach?deptid=&type=0"
+          //     //   "/api/blade-resource/oss/endpoint/put-file-attach?type=" +
+          //     //   type +
+          //     //   "&deptid=" +
+          //     //   deptid,
+          //   },
+          {
+            label: "拖拽上传",
+            prop: "imgUrl5",
+            type: "upload",
+            span: 12,
+            drag: true,
+            propsHttp: {
+              res: "data",
+            },
+            tip: "只能上传jpg/png文件,且不超过500kb",
+            action:
+              "/api/blade-resource/oss/endpoint/put-file-attach?deptid=&type=" +
+              type +
+              "&cardid=" +
+              cardid,
+          },
+        ],
+      },
+      imgSee: false,
+      imgUrl: "",
+    };
+  },
+  computed: {
+    ...mapGetters(["permission"]),
+    permissionList() {
+      return {
+        addBtn: false,
+        editBtn: false,
+        viewBtn: false,
+        delBtn: this.vaildData(this.permission.attach_delete, false),
+      };
+    },
+    ids() {
+      let ids = [];
+      this.selectionList.forEach((ele) => {
+        ids.push(ele.id);
+      });
+      return ids.join(",");
+    },
+  },
+  mounted() {
+    var flag = false,
+      i = 0,
+      ind = null;
+    this.$store.state.tags.tagList.forEach((item, index) => {
+      if (item.label == "附件上传") {
+        if (flag == false) {
+          ind = index;
+          flag = true;
+        }
+        i++;
+      }
+    });
+    if (i > 1) {
+      this.$store.state.tags.tagList.splice(ind, 1);
+    }
+  },
+  methods: {
+    handleUpload() {
+      this.attachBox = true;
+    },
+    uploadAfter(res, done, loading, column) {
+      window.console.log(column);
+      this.attachBox = false;
+      this.refreshChange();
+      done();
+    },
+    handleDownload(row) {
+      window.open(`${row.link}`);
+    },
+    rowDel(row) {
+      this.$confirm("确定将选择数据删除?", {
+        confirmButtonText: "确定",
+        cancelButtonText: "取消",
+        type: "warning",
+      })
+        .then(() => {
+          return remove(row.id);
+        })
+        .then(() => {
+          this.onLoad(this.page);
+          this.$message({
+            type: "success",
+            message: "操作成功!",
+          });
+        });
+    },
+    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.crud.toggleSelection();
+        });
+    },
+    beforeOpen(done, type) {
+      if (["edit", "view"].includes(type)) {
+        getDetail(this.form.id).then((res) => {
+          this.form = res.data.data;
+        });
+      }
+      done();
+    },
+    searchReset() {
+      this.query = {};
+      this.onLoad(this.page);
+    },
+    searchChange(params, done) {
+      this.query = params;
+      this.page.currentPage = 1;
+      this.onLoad(this.page, params);
+      done();
+    },
+    selectionChange(list) {
+      this.selectionList = list;
+    },
+    selectionClear() {
+      this.selectionList = [];
+      this.$refs.crud.toggleSelection();
+    },
+    currentChange(currentPage) {
+      this.page.currentPage = currentPage;
+    },
+    sizeChange(pageSize) {
+      this.page.pageSize = pageSize;
+    },
+    refreshChange() {
+      this.onLoad(this.page, this.query);
+    },
+    onLoad(page, params = {}) {
+      params.type = this.type;
+      params.deptid = "";
+      params.cardid = this.$store.getters.userInfo.Id;
+      this.loading = true;
+      getList(
+        page.currentPage,
+        page.pageSize,
+        Object.assign(params, this.query)
+      ).then((res) => {
+        const data = res.data.data;
+        this.page.total = data.total;
+        this.data = data.records;
+        this.loading = false;
+        this.selectionClear();
+      });
+    },
+
+    seeImages(row) {
+      this.imgUrl = "";
+      this.imgUrl = "url(" + row.link + ") center center / contain no-repeat";
+
+      this.imgSee = true;
+    },
+
+    fileFormat(row) {
+      var index = row.link.lastIndexOf(".");
+      var ext = row.link.substr(index + 1);
+
+      return (
+        [
+          "png",
+          "jpg",
+          "jpeg",
+          "bmp",
+          "gif",
+          "webp",
+          "psd",
+          "svg",
+          "tiff",
+        ].indexOf(ext.toLowerCase()) == -1
+      );
+    },
+  },
+};
+</script>
+
+<style>
+</style>
diff --git a/src/components/cancellationOfFiling/cancellationOfFiling.vue b/src/components/cancellationOfFiling/cancellationOfFiling.vue
new file mode 100644
index 0000000..463bcd2
--- /dev/null
+++ b/src/components/cancellationOfFiling/cancellationOfFiling.vue
@@ -0,0 +1,183 @@
+<template>
+  <div v-if="useWhere == 4" class="securityPermit">
+    <slot name="close"></slot>
+    <div class="heards">自招保安单位备案撤销</div>
+    <basic-container>
+      <div v-show="forms == 1" class="first-box-outer">
+        <div class="handling-guideline">
+          <h2 class="hand-title">自招保安单位备案撤销办理指南</h2>
+          <div class="hand-content">
+            <p><label>审批依据:</label></p>
+            <p>
+              1、《保安服务管理条例》(中华人民共和国国务院令第564号);<br />
+            </p>
+            <p>
+              <label>申请条件:</label
+              >自行招用保安员的单位不再招用保安员进行保安服务的,应当自停止保安服务之日起30日内到备案的公安机关撤销备案。
+            </p>
+            <p><label>申请材料:</label></p>
+            <p>
+              1、《自行招用保安员单位撤销备案申请》(扫描或拍照上传)<br />
+              2、单位法人资格证明(扫描或拍照上传)<br />
+              3、法定代表人有效身份证(双面扫描或拍照上传)<br />
+            </p>
+            <p><label>责任事项:</label></p>
+            <p>
+              1、受理阶段责任:在政务服务办事平台上公示依法应当提交的材料进行受理;材料不齐全或不符合法定形式的,一次性告知需要补正的内容。不符合申报条件,说明不予受理的理由<br />
+              2、审核阶段责任:对服务对象提交材料的规范性进行审核;提出审核意见<br />
+              3、决定阶段责任:作出决定。<br />
+            </p>
+
+            <p><label>法定周期:</label>区、市20个工作日</p>
+            <p><label>承诺时限:</label>区、市20个工作日</p>
+
+            <p><label>受理部门:</label>市级公安机关</p>
+
+            <p><label>审批机关::</label>区级公安机关</p>
+          </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="type"></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">暂存</el-button>
+          <el-button type="primary" @click="up()">提交审批</el-button>
+          <el-button type="info" @click="qx">取消</el-button>
+        </div>
+      </div>
+    </basic-container>
+  </div>
+</template>
+
+<script>
+import { mapGetters } from "vuex";
+import { add, adds, selectIn } from "@/api/recordOur/cancellationOfFiling";
+import { column } from "./data.js";
+import attach from "@/components/attach/attach";
+export default {
+  components: {
+    attach: attach,
+  },
+  props: ["type"],
+  data() {
+    return {
+      forms: 1,
+      data0: {},
+      obj0: {
+        // title0: "保安服务公司许可证审批",
+      },
+      option: {
+        emptyBtn: false,
+        submitBtn: false,
+        gutter: 50,
+        column: column,
+      },
+      activeNames: ["1"],
+    };
+  },
+  computed: {
+    ...mapGetters(["useWhere"]),
+  },
+  watch: {
+    useWhere() {
+      if (this.useWhere == 4) {
+        this.convert();
+      }
+    },
+  },
+  methods: {
+    convert: function () {
+      var caridid = this.$store.getters.userInfo.Id;
+      selectIn(caridid).then((res) => {
+        var d = res.data.data;
+        for (var k in d) {
+          this.obj0[k.toLowerCase()] = d[k];
+        }
+      });
+    },
+    tip0() {
+      this.forms = 2;
+    },
+    qx() {
+      this.tipover();
+      this.$store.commit("changeuseWhere", "close");
+    },
+    tip1up1() {
+      this.forms = 1;
+    },
+    tip1() {
+      //暂存申请
+      var d = {};
+      for (var k in this.obj0) {
+        for (var i in this.option.column) {
+          if (k == this.option.column[i].prop && k != "title0") {
+            d[k] = this.obj0[k];
+          }
+        }
+      }
+      console.log(d);
+      this.data0 = d;
+      this.data0.cardid = this.$store.getters.userInfo.Id;
+      this.data0.ptype = this.type;
+      adds(this.data0).then(() => {
+        this.qx();
+        this.$message({
+          message: "暂存申请成功",
+          type: "success",
+        });
+      });
+    },
+    up() {
+      //提交申请
+      var d = {};
+      for (var k in this.obj0) {
+        for (var i in this.option.column) {
+          if (k == this.option.column[i].prop && k != "title0") {
+            d[k] = this.obj0[k];
+          }
+        }
+      }
+      this.data0 = d;
+      this.data0.ptype = this.type;
+      this.data0.cardid = this.$store.getters.userInfo.Id;
+      add(this.data0).then(() => {
+        this.qx();
+        this.$message({
+          message: "提交申请成功",
+          type: "success",
+        });
+      });
+    },
+    tipover() {
+      this.forms = 1;
+      this.obj0 = {
+        // title0: "保安单位基本信息",
+      };
+      var d = {};
+      this.data0 = d;
+    },
+  },
+};
+</script>
+
+<style lang="scss">
+</style>
\ No newline at end of file
diff --git a/src/components/cancellationOfFiling/data.js b/src/components/cancellationOfFiling/data.js
new file mode 100644
index 0000000..3b0a8e6
--- /dev/null
+++ b/src/components/cancellationOfFiling/data.js
@@ -0,0 +1,312 @@
+export var column = [
+    {
+        label: "",
+        labelWidth: 20,
+        type: "title",
+        prop: "title0",
+        span: 24,
+        styles: {
+            fontSize: "24px",
+        },
+    },
+    {
+        label: "统一社会信用代码",
+        prop: "creditcode",
+        labelWidth: 160,
+        span: 12,
+        rules: [
+            {
+                required: true,
+                message: "请输入社会信用代码",
+                trigger: "blur",
+            },
+        ],
+    },
+    {
+        label: "辖区",
+        prop: "jurisdiction",
+        // type: "tree",
+        // disabled: true,
+        type: "tree",
+        dicUrl: "/api/jurisdiction/lazy-trees",
+        props: {
+            label: "title",
+            value: "id",
+        },
+        labelWidth: 160,
+        span: 12,
+    },
+    {
+        label: "企业类型",
+        prop: "ptype",
+        hide: true,
+        display: false,
+    },
+    {
+        label: "所属单位",
+        prop: "deptid",
+        hide: true,
+        display: false,
+    },
+    {
+        label: "企业名称",
+        prop: "enterprisename",
+        labelWidth: 160,
+        span: 12,
+        rules: [
+            {
+                required: true,
+                message: "请输入企业名称",
+                trigger: "blur",
+            },
+        ],
+    },
+    {
+        label: "法定代表人",
+        prop: "representative",
+        labelWidth: 160,
+        span: 12,
+        rules: [
+            {
+                required: true,
+                message: "请输入法定代表人",
+                trigger: "blur",
+            },
+        ],
+    },
+    {
+        label: "法定代表人电话",
+        prop: "representativecell",
+        labelWidth: 160,
+        span: 12,
+        rules: [
+            {
+                required: true,
+                message: "法定代表人电话",
+                trigger: "blur",
+            },
+        ],
+    },
+    {
+        label: "联系人",
+        prop: "contacts",
+        labelWidth: 160,
+        span: 12,
+        rules: [
+            {
+                required: true,
+                message: "联系人",
+                trigger: "blur",
+            },
+        ],
+    },
+    {
+        label: "联系人电话",
+        prop: "contactscell",
+        labelWidth: 160,
+        span: 12,
+        rules: [
+            {
+                required: true,
+                message: "联系人电话",
+                trigger: "blur",
+            },
+        ],
+    },
+    {
+        label: "单位许可证编号",
+        prop: "perid",
+        labelWidth: 160,
+        span: 12,
+        rules: [
+            {
+                required: true,
+                message: "单位许可证编号",
+                trigger: "blur",
+            },
+        ],
+    }, {
+        label: "许可证发证机关",
+        prop: "offices",
+        labelWidth: 160,
+        span: 12,
+        rules: [
+            {
+                required: true,
+                message: "许可证发证机关",
+                trigger: "blur",
+            },
+        ],
+    }, {
+        label: "发证时间",
+        prop: "officetime",
+        labelWidth: 160,
+        span: 12,
+        type: "date",
+        format: "yyyy-MM-dd",
+        valueFormat: "yyyy-MM-dd",
+    },
+    {
+        label: "注册时间",
+        prop: "establishtime",
+        labelWidth: 160,
+        span: 12,
+        type: "date",
+        format: "yyyy-MM-dd",
+        valueFormat: "yyyy-MM-dd",
+    },
+    {
+        label: "注册资本(万元人民币)",
+        prop: "registeredcapital",
+        labelWidth: 160,
+        span: 12,
+        rules: [
+            {
+                required: true,
+                message: "请输入注册资本",
+                trigger: "blur",
+            },
+        ],
+    },
+    // {
+    //   label: "实缴资本(万元人民币)",
+    //   prop: "capital",
+    //   labelWidth: 160,
+    //   span: 12,
+    //   rules: [{
+    //     required: true,
+    //     message: "请输入实缴资本",
+    //     trigger: "blur"
+    //   }]
+    // },
+    {
+        label: "组织机构代码",
+        prop: "organizationcode",
+        labelWidth: 160,
+        span: 12,
+        rules: [
+            {
+                required: true,
+                message: "请输入组织机构代码",
+                trigger: "blur",
+            },
+        ],
+    },
+    {
+        label: "工商注册号",
+        prop: "registrationnumber",
+
+        labelWidth: 160,
+        span: 12,
+        rules: [
+            {
+                required: true,
+                message: "请输入工商注册号",
+                trigger: "blur",
+            },
+        ],
+    },
+    // {
+    //   label: "纳税人识别号",
+    //   prop: "identificationnumber",
+    //   labelWidth: 160,
+    //   span: 12,
+    //   rules: [{
+    //     required: true,
+    //     message: "请输入纳税人识别号",
+    //     trigger: "blur"
+    //   }]
+    // },
+    {
+        label: "注册地址",
+        prop: "address",
+        labelWidth: 160,
+        span: 12,
+        rules: [
+            {
+                required: true,
+                message: "请输入注册地址",
+                trigger: "blur",
+            },
+        ],
+    },
+    {
+        label: "经营范围",
+        prop: "business",
+        labelWidth: 160,
+        span: 12,
+        rules: [
+            {
+                required: true,
+                message: "请输入经营范围",
+                trigger: "blur",
+            },
+        ],
+    },
+    {
+        label: "所属地区",
+        prop: "region",
+        labelWidth: 160,
+        span: 12,
+        rules: [
+            {
+                required: true,
+                message: "请输入所属地区",
+                trigger: "blur",
+            },
+        ],
+    },
+    {
+        label: "登记机关",
+        prop: "registration",
+        labelWidth: 160,
+        span: 12,
+        rules: [
+            {
+                required: true,
+                message: "请输入登记机关",
+                trigger: "blur",
+            },
+        ],
+        // overHidden: true,
+    },
+    {
+        label: "所属行业",
+        prop: "industry",
+        labelWidth: 160,
+        span: 12,
+        rules: [
+            {
+                required: true,
+                message: "请输入所属行业",
+                trigger: "blur",
+            },
+        ],
+    }, {
+        label: "撤销原因",
+        prop: "reason",
+        labelWidth: 160,
+        span: 24,
+        type: 'textarea',
+        rules: [
+            {
+                required: true,
+                message: "请输入撤销原因",
+                trigger: "blur",
+            },
+        ],
+    },
+    // {
+    //     label: "拖拽上传",
+    //     prop: "imgUrl5",
+    //     type: "upload",
+    //     span: 12,
+    //     drag: true,
+    //     propsHttp: {
+    //         res: "data",
+    //     },
+    //     tip: "只能上传jpg/png文件,且不超过500kb",
+    //     action:
+    //         "/api/blade-resource/oss/endpoint/put-file-attach?deptid=&type=0",
+    // },
+]
\ No newline at end of file
diff --git a/src/components/crossRegion/crossRegion.vue b/src/components/crossRegion/crossRegion.vue
new file mode 100644
index 0000000..091ffc8
--- /dev/null
+++ b/src/components/crossRegion/crossRegion.vue
@@ -0,0 +1,222 @@
+<template>
+  <div v-if="useWhere == 1" class="securityPermit">
+    <slot name="close"></slot>
+    <div class="heards">跨区域经营备案</div>
+    <basic-container>
+      <div v-show="forms == 1" class="first-box-outer">
+        <div class="handling-guideline">
+          <h2 class="hand-title">跨区域经营备案办理指南</h2>
+          <div class="hand-content">
+            <p><label>审批依据:</label></p>
+            <p>1、《保安服务管理条例》(国务院令第564号);<br /></p>
+            <p>
+              <label>申请条件:</label
+              >自然人、法人和其他组织。自然人需要有完全民事行为能力,年满18周岁且不具有精神疾病。
+            </p>
+            <p>
+              <label>受理条件:</label>
+              【予以批准的条件】 1、是依法设立的保安服务公司
+              2、有公安机关核发的《保安服务许可证》和工商部门的《工商营业执照》<br />
+              【不予批准的条件】
+              申请人不符合以上条件,或者不能提供足以证明符合条件的相关证明材料<br />
+            </p>
+            <p><label>申请材料:</label></p>
+            <p>
+              1、保安服务公司跨省级行政区域经营服务登记备案表<br />
+              2、保安服务许可证<br />
+              3、工商营业执照<br />
+              4、保安服务公司法定代表人身份证<br />
+              5、跨区域经营项目负责人身份证<br />
+              6、跨区域经营项目负责人基本情况表<br />
+              7、派驻保安员身份证<br />
+              8、派驻保安员的保安员证<br />
+              9、跨区域经营服务的保安服务合同<br />
+              10、保安公司安全管理制度<br />
+            </p>
+
+            <p>
+              <label>申请材料形式标准:</label>
+            </p>
+            <p>
+              1、申请人提交的申请材料齐全且符合法定形式<br />
+              2、申请表用黑色签字笔或钢笔书写,并保证表格内容真实无误<br />
+            </p>
+
+            <p><label>法定周期:</label>区、市30个工作日</p>
+            <p><label>承诺时限:</label>区、市14个工作日</p>
+
+            <p><label>受理部门:</label>市级公安机关</p>
+
+            <p><label>审批机关::</label>区级公安机关</p>
+
+            <!-- <p>
+              <label
+                >申请设立或增设从事武装守护押运业务的保安服务公司还需另外提供以下材料:</label
+              >
+            </p> -->
+
+            <!-- <p>
+              1、1000万元人民币以上注册资本。<br />
+
+              2、出资属国有独资或者国有资本占注册资本总额51%以上的有效证明文件原件及复印件。<br />
+
+              3、符合国家或者行业标准的专用运输车辆以及通信、报警设备的材料。<br />
+
+              4、枪支安全管理制度和保管设施情况的材料。<br />
+            </p>
+
+            <p><label>法定周期:</label>区、市20个工作日</p>
+            <p><label>承诺时限:</label>区、市20个工作日</p>
+
+            <p><label>受理部门:</label>市级公安机关</p>
+
+            <p><label>审批机关::</label>区级公安机关</p>
+
+            <p><label>审批机关::</label>公安部</p> -->
+          </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="type"></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">暂存</el-button>
+          <el-button type="primary" @click="up()">提交审批</el-button>
+          <el-button type="info" @click="qx">取消</el-button>
+        </div>
+      </div>
+    </basic-container>
+  </div>
+</template>
+
+<script>
+import { mapGetters } from "vuex";
+import { add, adds, selectIn } from "@/api/recordOur/crossRegion";
+import { column } from "./data.js";
+import attach from "@/components/attach/attach";
+export default {
+  components: {
+    attach: attach,
+  },
+  props: ["type"],
+  data() {
+    return {
+      forms: 1,
+      data0: {},
+      obj0: {
+        // title0: "保安服务公司许可证审批",
+      },
+      option: {
+        emptyBtn: false,
+        submitBtn: false,
+        gutter: 50,
+        column: column,
+      },
+      activeNames: ["1"],
+    };
+  },
+  computed: {
+    ...mapGetters(["useWhere"]),
+  },
+  watch: {
+    useWhere() {
+      if (this.useWhere == 1) {
+        this.convert();
+      }
+    },
+  },
+  methods: {
+    convert: function () {
+      var caridid = this.$store.getters.userInfo.Id;
+      selectIn(caridid).then((res) => {
+        var d = res.data.data;
+        for (var k in d) {
+          this.obj0[k.toLowerCase()] = d[k];
+        }
+      });
+    },
+    tip0() {
+      this.forms = 2;
+    },
+    qx() {
+      this.tipover();
+      this.$store.commit("changeuseWhere", "close");
+    },
+    tip1up1() {
+      this.forms = 1;
+    },
+    tip1() {
+      //暂存申请
+      var d = {};
+      for (var k in this.obj0) {
+        for (var i in this.option.column) {
+          if (k == this.option.column[i].prop && k != "title0") {
+            d[k] = this.obj0[k];
+          }
+        }
+      }
+      console.log(d);
+      this.data0 = d;
+      this.data0.cardid = this.$store.getters.userInfo.Id;
+      this.data0.ptype = this.type;
+      adds(this.data0).then(() => {
+        this.qx();
+        this.$message({
+          message: "暂存申请成功",
+          type: "success",
+        });
+      });
+    },
+    up() {
+      //提交申请
+      var d = {};
+      for (var k in this.obj0) {
+        for (var i in this.option.column) {
+          if (k == this.option.column[i].prop && k != "title0") {
+            d[k] = this.obj0[k];
+          }
+        }
+      }
+      this.data0 = d;
+      this.data0.ptype = this.type;
+      this.data0.cardid = this.$store.getters.userInfo.Id;
+      add(this.data0).then(() => {
+        this.qx();
+        this.$message({
+          message: "提交申请成功",
+          type: "success",
+        });
+      });
+    },
+    tipover() {
+      this.forms = 1;
+      this.obj0 = {
+        // title0: "保安单位基本信息",
+      };
+      var d = {};
+      this.data0 = d;
+    },
+  },
+};
+</script>
+
+<style lang="scss">
+</style>
\ No newline at end of file
diff --git a/src/components/crossRegion/data.js b/src/components/crossRegion/data.js
new file mode 100644
index 0000000..0e17a04
--- /dev/null
+++ b/src/components/crossRegion/data.js
@@ -0,0 +1,299 @@
+export var column = [
+    {
+        label: "",
+        labelWidth: 20,
+        type: "title",
+        prop: "title0",
+        span: 24,
+        styles: {
+            fontSize: "24px",
+        },
+    },
+    {
+        label: "统一社会信用代码",
+        prop: "creditcode",
+        labelWidth: 160,
+        span: 12,
+        rules: [
+            {
+                required: true,
+                message: "请输入社会信用代码",
+                trigger: "blur",
+            },
+        ],
+    },
+    {
+        label: "辖区",
+        prop: "jurisdiction",
+        // type: "tree",
+        // disabled: true,
+        type: "tree",
+        dicUrl: "/api/jurisdiction/lazy-trees",
+        props: {
+            label: "title",
+            value: "id",
+        },
+        labelWidth: 160,
+        span: 12,
+    },
+    {
+        label: "企业类型",
+        prop: "ptype",
+        hide: true,
+        display: false,
+    },
+    {
+        label: "所属单位",
+        prop: "deptid",
+        hide: true,
+        display: false,
+    },
+    {
+        label: "企业名称",
+        prop: "enterprisename",
+        labelWidth: 160,
+        span: 12,
+        rules: [
+            {
+                required: true,
+                message: "请输入企业名称",
+                trigger: "blur",
+            },
+        ],
+    },
+    {
+        label: "法定代表人",
+        prop: "representative",
+        labelWidth: 160,
+        span: 12,
+        rules: [
+            {
+                required: true,
+                message: "请输入法定代表人",
+                trigger: "blur",
+            },
+        ],
+    },
+    {
+        label: "法定代表人电话",
+        prop: "representativecell",
+        labelWidth: 160,
+        span: 12,
+        rules: [
+            {
+                required: true,
+                message: "法定代表人电话",
+                trigger: "blur",
+            },
+        ],
+    },
+    {
+        label: "联系人",
+        prop: "contacts",
+        labelWidth: 160,
+        span: 12,
+        rules: [
+            {
+                required: true,
+                message: "联系人",
+                trigger: "blur",
+            },
+        ],
+    },
+    {
+        label: "联系人电话",
+        prop: "contactscell",
+        labelWidth: 160,
+        span: 12,
+        rules: [
+            {
+                required: true,
+                message: "联系人电话",
+                trigger: "blur",
+            },
+        ],
+    },
+    {
+        label: "单位许可证编号",
+        prop: "perid",
+        labelWidth: 160,
+        span: 12,
+        rules: [
+            {
+                required: true,
+                message: "单位许可证编号",
+                trigger: "blur",
+            },
+        ],
+    }, {
+        label: "许可证发证机关",
+        prop: "offices",
+        labelWidth: 160,
+        span: 12,
+        rules: [
+            {
+                required: true,
+                message: "许可证发证机关",
+                trigger: "blur",
+            },
+        ],
+    }, {
+        label: "发证时间",
+        prop: "officetime",
+        labelWidth: 160,
+        span: 12,
+        type: "date",
+        format: "yyyy-MM-dd",
+        valueFormat: "yyyy-MM-dd",
+    },
+    {
+        label: "注册时间",
+        prop: "establishtime",
+        labelWidth: 160,
+        span: 12,
+        type: "date",
+        format: "yyyy-MM-dd",
+        valueFormat: "yyyy-MM-dd",
+    },
+    {
+        label: "注册资本(万元人民币)",
+        prop: "registeredcapital",
+        labelWidth: 160,
+        span: 12,
+        rules: [
+            {
+                required: true,
+                message: "请输入注册资本",
+                trigger: "blur",
+            },
+        ],
+    },
+    // {
+    //   label: "实缴资本(万元人民币)",
+    //   prop: "capital",
+    //   labelWidth: 160,
+    //   span: 12,
+    //   rules: [{
+    //     required: true,
+    //     message: "请输入实缴资本",
+    //     trigger: "blur"
+    //   }]
+    // },
+    {
+        label: "组织机构代码",
+        prop: "organizationcode",
+        labelWidth: 160,
+        span: 12,
+        rules: [
+            {
+                required: true,
+                message: "请输入组织机构代码",
+                trigger: "blur",
+            },
+        ],
+    },
+    {
+        label: "工商注册号",
+        prop: "registrationnumber",
+
+        labelWidth: 160,
+        span: 12,
+        rules: [
+            {
+                required: true,
+                message: "请输入工商注册号",
+                trigger: "blur",
+            },
+        ],
+    },
+    // {
+    //   label: "纳税人识别号",
+    //   prop: "identificationnumber",
+    //   labelWidth: 160,
+    //   span: 12,
+    //   rules: [{
+    //     required: true,
+    //     message: "请输入纳税人识别号",
+    //     trigger: "blur"
+    //   }]
+    // },
+    {
+        label: "注册地址",
+        prop: "address",
+        labelWidth: 160,
+        span: 12,
+        rules: [
+            {
+                required: true,
+                message: "请输入注册地址",
+                trigger: "blur",
+            },
+        ],
+    },
+    {
+        label: "经营范围",
+        prop: "business",
+        labelWidth: 160,
+        span: 12,
+        rules: [
+            {
+                required: true,
+                message: "请输入经营范围",
+                trigger: "blur",
+            },
+        ],
+    },
+    {
+        label: "所属地区",
+        prop: "region",
+        labelWidth: 160,
+        span: 12,
+        rules: [
+            {
+                required: true,
+                message: "请输入所属地区",
+                trigger: "blur",
+            },
+        ],
+    },
+    {
+        label: "登记机关",
+        prop: "registration",
+        labelWidth: 160,
+        span: 12,
+        rules: [
+            {
+                required: true,
+                message: "请输入登记机关",
+                trigger: "blur",
+            },
+        ],
+        // overHidden: true,
+    },
+    {
+        label: "所属行业",
+        prop: "industry",
+        labelWidth: 160,
+        span: 12,
+        rules: [
+            {
+                required: true,
+                message: "请输入所属行业",
+                trigger: "blur",
+            },
+        ],
+    },
+    // {
+    //     label: "拖拽上传",
+    //     prop: "imgUrl5",
+    //     type: "upload",
+    //     span: 12,
+    //     drag: true,
+    //     propsHttp: {
+    //         res: "data",
+    //     },
+    //     tip: "只能上传jpg/png文件,且不超过500kb",
+    //     action:
+    //         "/api/blade-resource/oss/endpoint/put-file-attach?deptid=&type=0",
+    // },
+]
\ No newline at end of file
diff --git a/src/components/examineCard/examineCard.vue b/src/components/examineCard/examineCard.vue
new file mode 100644
index 0000000..235d2da
--- /dev/null
+++ b/src/components/examineCard/examineCard.vue
@@ -0,0 +1,125 @@
+<template>
+  <div
+    class="card animation-target"
+    :style="{ backgroundImage: data.topUrl }"
+    @click="opens"
+  >
+    <div class="floatCard">
+      <el-button type="primary" class="floatCard_buts" round v-show="handle"
+        >点击办理</el-button
+      >
+      <el-button type="success" class="floatCard_butsd" round v-show="!handle"
+        >您已成功办理,点击可查询进度</el-button
+      >
+    </div>
+    <div class="title">{{ data.menuName }}</div>
+    <img :src="data.topUrl" alt="" />
+  </div>
+</template>
+
+<script>
+import { mapGetters } from "vuex";
+export default {
+  props: ["data", "ind"],
+  data() {
+    return {};
+  },
+  computed: {
+    ...mapGetters(["handle"]),
+  },
+  methods: {
+    opens() {
+      var d = this.handle ? "open" : "openLook";
+      this.$emit("open", this.ind, d);
+    },
+  },
+};
+</script>
+
+<style lang="scss" scoped>
+.card {
+  position: relative;
+  float: left;
+  width: 21%;
+  height: 236px;
+  padding: 0 10px;
+  margin-bottom: 15px;
+  margin-right: 35px;
+  border-radius: 5px;
+  background-size: 100% 85%;
+  overflow: hidden;
+  background-repeat: no-repeat;
+  // background-image: url(/img/permit/服务许可背景图.jpg);
+  border: 1px solid rgba($color: #000000, $alpha: 0.1);
+  border-top: 0px solid rgba($color: #000000, $alpha: 0.3);
+  &:hover {
+    box-shadow: 0px 5px 15px rgba($color: #000000, $alpha: 0.3);
+    cursor: pointer;
+  }
+  .title {
+    width: 100%;
+    height: 35px;
+    position: absolute;
+    top: 176px;
+    left: 0;
+  }
+}
+.floatCard {
+  opacity: 0;
+  position: absolute;
+  width: 100%;
+  height: 100%;
+  left: 0;
+  top: 0;
+  background-color: rgba($color: #fff, $alpha: 0.6);
+  .floatCard_buts {
+    width: 110px;
+    height: 40px;
+    position: relative;
+    left: calc(50% - 55px);
+    top: calc(50% - 20px);
+  }
+  .floatCard_butsd {
+    width: 250px;
+    height: 40px;
+    position: relative;
+    left: calc(50% - 125px);
+    top: calc(50% - 20px);
+  }
+}
+.animation-target {
+  animation: animationA 400ms linear both;
+  &:hover {
+    animation: animation 400ms linear both;
+    .floatCard {
+      animation: floatCardanimation 200ms linear both;
+    }
+  }
+}
+
+@keyframes animationA {
+  0% {
+    top: -15px;
+  }
+  100% {
+    top: 0px;
+  }
+}
+
+@keyframes animation {
+  0% {
+    top: 0px;
+  }
+  100% {
+    top: -15px;
+  }
+}
+@keyframes floatCardanimation {
+  0% {
+    opacity: 0;
+  }
+  100% {
+    opacity: 1;
+  }
+}
+</style>
\ No newline at end of file
diff --git a/src/components/securityGuard/data.js b/src/components/securityGuard/data.js
new file mode 100644
index 0000000..0e17a04
--- /dev/null
+++ b/src/components/securityGuard/data.js
@@ -0,0 +1,299 @@
+export var column = [
+    {
+        label: "",
+        labelWidth: 20,
+        type: "title",
+        prop: "title0",
+        span: 24,
+        styles: {
+            fontSize: "24px",
+        },
+    },
+    {
+        label: "统一社会信用代码",
+        prop: "creditcode",
+        labelWidth: 160,
+        span: 12,
+        rules: [
+            {
+                required: true,
+                message: "请输入社会信用代码",
+                trigger: "blur",
+            },
+        ],
+    },
+    {
+        label: "辖区",
+        prop: "jurisdiction",
+        // type: "tree",
+        // disabled: true,
+        type: "tree",
+        dicUrl: "/api/jurisdiction/lazy-trees",
+        props: {
+            label: "title",
+            value: "id",
+        },
+        labelWidth: 160,
+        span: 12,
+    },
+    {
+        label: "企业类型",
+        prop: "ptype",
+        hide: true,
+        display: false,
+    },
+    {
+        label: "所属单位",
+        prop: "deptid",
+        hide: true,
+        display: false,
+    },
+    {
+        label: "企业名称",
+        prop: "enterprisename",
+        labelWidth: 160,
+        span: 12,
+        rules: [
+            {
+                required: true,
+                message: "请输入企业名称",
+                trigger: "blur",
+            },
+        ],
+    },
+    {
+        label: "法定代表人",
+        prop: "representative",
+        labelWidth: 160,
+        span: 12,
+        rules: [
+            {
+                required: true,
+                message: "请输入法定代表人",
+                trigger: "blur",
+            },
+        ],
+    },
+    {
+        label: "法定代表人电话",
+        prop: "representativecell",
+        labelWidth: 160,
+        span: 12,
+        rules: [
+            {
+                required: true,
+                message: "法定代表人电话",
+                trigger: "blur",
+            },
+        ],
+    },
+    {
+        label: "联系人",
+        prop: "contacts",
+        labelWidth: 160,
+        span: 12,
+        rules: [
+            {
+                required: true,
+                message: "联系人",
+                trigger: "blur",
+            },
+        ],
+    },
+    {
+        label: "联系人电话",
+        prop: "contactscell",
+        labelWidth: 160,
+        span: 12,
+        rules: [
+            {
+                required: true,
+                message: "联系人电话",
+                trigger: "blur",
+            },
+        ],
+    },
+    {
+        label: "单位许可证编号",
+        prop: "perid",
+        labelWidth: 160,
+        span: 12,
+        rules: [
+            {
+                required: true,
+                message: "单位许可证编号",
+                trigger: "blur",
+            },
+        ],
+    }, {
+        label: "许可证发证机关",
+        prop: "offices",
+        labelWidth: 160,
+        span: 12,
+        rules: [
+            {
+                required: true,
+                message: "许可证发证机关",
+                trigger: "blur",
+            },
+        ],
+    }, {
+        label: "发证时间",
+        prop: "officetime",
+        labelWidth: 160,
+        span: 12,
+        type: "date",
+        format: "yyyy-MM-dd",
+        valueFormat: "yyyy-MM-dd",
+    },
+    {
+        label: "注册时间",
+        prop: "establishtime",
+        labelWidth: 160,
+        span: 12,
+        type: "date",
+        format: "yyyy-MM-dd",
+        valueFormat: "yyyy-MM-dd",
+    },
+    {
+        label: "注册资本(万元人民币)",
+        prop: "registeredcapital",
+        labelWidth: 160,
+        span: 12,
+        rules: [
+            {
+                required: true,
+                message: "请输入注册资本",
+                trigger: "blur",
+            },
+        ],
+    },
+    // {
+    //   label: "实缴资本(万元人民币)",
+    //   prop: "capital",
+    //   labelWidth: 160,
+    //   span: 12,
+    //   rules: [{
+    //     required: true,
+    //     message: "请输入实缴资本",
+    //     trigger: "blur"
+    //   }]
+    // },
+    {
+        label: "组织机构代码",
+        prop: "organizationcode",
+        labelWidth: 160,
+        span: 12,
+        rules: [
+            {
+                required: true,
+                message: "请输入组织机构代码",
+                trigger: "blur",
+            },
+        ],
+    },
+    {
+        label: "工商注册号",
+        prop: "registrationnumber",
+
+        labelWidth: 160,
+        span: 12,
+        rules: [
+            {
+                required: true,
+                message: "请输入工商注册号",
+                trigger: "blur",
+            },
+        ],
+    },
+    // {
+    //   label: "纳税人识别号",
+    //   prop: "identificationnumber",
+    //   labelWidth: 160,
+    //   span: 12,
+    //   rules: [{
+    //     required: true,
+    //     message: "请输入纳税人识别号",
+    //     trigger: "blur"
+    //   }]
+    // },
+    {
+        label: "注册地址",
+        prop: "address",
+        labelWidth: 160,
+        span: 12,
+        rules: [
+            {
+                required: true,
+                message: "请输入注册地址",
+                trigger: "blur",
+            },
+        ],
+    },
+    {
+        label: "经营范围",
+        prop: "business",
+        labelWidth: 160,
+        span: 12,
+        rules: [
+            {
+                required: true,
+                message: "请输入经营范围",
+                trigger: "blur",
+            },
+        ],
+    },
+    {
+        label: "所属地区",
+        prop: "region",
+        labelWidth: 160,
+        span: 12,
+        rules: [
+            {
+                required: true,
+                message: "请输入所属地区",
+                trigger: "blur",
+            },
+        ],
+    },
+    {
+        label: "登记机关",
+        prop: "registration",
+        labelWidth: 160,
+        span: 12,
+        rules: [
+            {
+                required: true,
+                message: "请输入登记机关",
+                trigger: "blur",
+            },
+        ],
+        // overHidden: true,
+    },
+    {
+        label: "所属行业",
+        prop: "industry",
+        labelWidth: 160,
+        span: 12,
+        rules: [
+            {
+                required: true,
+                message: "请输入所属行业",
+                trigger: "blur",
+            },
+        ],
+    },
+    // {
+    //     label: "拖拽上传",
+    //     prop: "imgUrl5",
+    //     type: "upload",
+    //     span: 12,
+    //     drag: true,
+    //     propsHttp: {
+    //         res: "data",
+    //     },
+    //     tip: "只能上传jpg/png文件,且不超过500kb",
+    //     action:
+    //         "/api/blade-resource/oss/endpoint/put-file-attach?deptid=&type=0",
+    // },
+]
\ No newline at end of file
diff --git a/src/components/securityGuard/securityGuard.vue b/src/components/securityGuard/securityGuard.vue
new file mode 100644
index 0000000..f89912e
--- /dev/null
+++ b/src/components/securityGuard/securityGuard.vue
@@ -0,0 +1,192 @@
+<template>
+  <div v-if="useWhere == 2" class="securityPermit">
+    <slot name="close"></slot>
+    <div class="heards">自招保安单位备案</div>
+    <basic-container>
+      <div v-show="forms == 1" class="first-box-outer">
+        <div class="handling-guideline">
+          <h2 class="hand-title">自招保安单位备案办理指南</h2>
+          <div class="hand-content">
+            <p><label>审批依据:</label></p>
+            <p>
+              1、《保安服务管理条例》(国务院令第564号);<br />
+              2、《公安机关实施保安服务管理条例办法》(公安部第112号令);<br />
+            </p>
+            <p>
+              <label>申请条件:</label
+              >自然人、法人和其他组织。自然人需要有完全民事行为能力,年满18周岁且不具有精神疾病。
+            </p>
+            <p>
+              <label>受理条件:</label>
+              【予以批准的条件】 1、应当具有法人资格;
+              2、有符合本条例规定条件的保安员;
+              3、有健全的保安服务管理制度、岗位责任制度和保安员管理制度。<br />
+              【不予批准的条件】
+              申请人不符合以上条件,或者不能提供足以证明符合条件的相关证明材料<br />
+            </p>
+            <p><label>申请材料:</label></p>
+            <p>
+              1、自行招用保安员单位登记备案表<br />
+              2、企业法人营业执照<br />
+              3、法定代表人身份证<br />
+              4、保安服务分管负责人身份证<br />
+              5、自行招用保安员身份证<br />
+              6、自行招用保安员的保安员证<br />
+              7、保安服务管理制度、岗位责任制度、保安员管理制度材料<br />
+              8、自行招用保安员的在岗培训法律、保安专业知识和技能情况<br />
+            </p>
+            <p><label>法定周期:</label>区、市30个工作日</p>
+            <p><label>承诺时限:</label>区、市14个工作日</p>
+
+            <p><label>受理部门:</label>市级公安机关</p>
+
+            <p><label>审批机关::</label>区级公安机关</p>
+          </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="type"></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">暂存</el-button>
+          <el-button type="primary" @click="up()">提交审批</el-button>
+          <el-button type="info" @click="qx">取消</el-button>
+        </div>
+      </div>
+    </basic-container>
+  </div>
+</template>
+
+<script>
+import { mapGetters } from "vuex";
+import { add, adds, selectIn } from "@/api/recordOur/securityGuard";
+import { column } from "./data.js";
+import attach from "@/components/attach/attach";
+export default {
+  components: {
+    attach: attach,
+  },
+  props: ["type"],
+  data() {
+    return {
+      forms: 1,
+      data0: {},
+      obj0: {
+        // title0: "保安服务公司许可证审批",
+      },
+      option: {
+        emptyBtn: false,
+        submitBtn: false,
+        gutter: 50,
+        column: column,
+      },
+      activeNames: ["1"],
+    };
+  },
+  computed: {
+    ...mapGetters(["useWhere"]),
+  },
+  watch: {
+    useWhere() {
+      if (this.useWhere == 2) {
+        this.convert();
+      }
+    },
+  },
+  methods: {
+    convert: function () {
+      var caridid = this.$store.getters.userInfo.Id;
+      selectIn(caridid).then((res) => {
+        var d = res.data.data;
+        for (var k in d) {
+          this.obj0[k.toLowerCase()] = d[k];
+        }
+      });
+    },
+    tip0() {
+      this.forms = 2;
+    },
+    qx() {
+      this.tipover();
+      this.$store.commit("changeuseWhere", "close");
+    },
+    tip1up1() {
+      this.forms = 1;
+    },
+    tip1() {
+      //暂存申请
+      var d = {};
+      for (var k in this.obj0) {
+        for (var i in this.option.column) {
+          if (k == this.option.column[i].prop && k != "title0") {
+            d[k] = this.obj0[k];
+          }
+        }
+      }
+      console.log(d);
+      this.data0 = d;
+      this.data0.cardid = this.$store.getters.userInfo.Id;
+      this.data0.ptype = this.type;
+      //   this.data0.deptid = this.$store.getters.userInfo.dept_id;
+      adds(this.data0).then(() => {
+        this.qx();
+        this.$message({
+          message: "暂存申请成功",
+          type: "success",
+        });
+      });
+    },
+    up() {
+      //提交申请
+      var d = {};
+      for (var k in this.obj0) {
+        for (var i in this.option.column) {
+          if (k == this.option.column[i].prop && k != "title0") {
+            d[k] = this.obj0[k];
+          }
+        }
+      }
+      this.data0 = d;
+      //   this.data0.ptype = this.$refs.name.value;
+      this.data0.cardid = this.$store.getters.userInfo.Id;
+      this.data0.ptype = this.type;
+      add(this.data0).then(() => {
+        this.qx();
+        this.$message({
+          message: "提交申请成功",
+          type: "success",
+        });
+      });
+    },
+    tipover() {
+      this.forms = 1;
+      this.obj0 = {
+        // title0: "保安单位基本信息",
+      };
+      var d = {};
+      this.data0 = d;
+    },
+  },
+};
+</script>
+
+<style lang="scss">
+</style>
\ No newline at end of file
diff --git a/src/components/securityPermit/data.js b/src/components/securityPermit/data.js
new file mode 100644
index 0000000..29430b0
--- /dev/null
+++ b/src/components/securityPermit/data.js
@@ -0,0 +1,266 @@
+export var column = [
+    {
+        label: "",
+        labelWidth: 20,
+        type: "title",
+        prop: "title0",
+        span: 24,
+        styles: {
+            fontSize: "24px",
+        },
+    },
+    {
+        label: "统一社会信用代码",
+        prop: "creditcode",
+        labelWidth: 160,
+        span: 12,
+        rules: [
+            {
+                required: true,
+                message: "请输入社会信用代码",
+                trigger: "blur",
+            },
+        ],
+    },
+    {
+        label: "辖区",
+        prop: "jurisdiction",
+        // type: "tree",
+        // disabled: true,
+        type: "tree",
+        dicUrl: "/api/jurisdiction/lazy-trees",
+        props: {
+            label: "title",
+            value: "id",
+        },
+        labelWidth: 160,
+        span: 12,
+    },
+    {
+        label: "企业类型",
+        prop: "ptype",
+        hide: true,
+        display: false,
+    },
+    {
+        label: "所属单位",
+        prop: "deptid",
+        hide: true,
+        display: false,
+    },
+    {
+        label: "企业名称",
+        prop: "enterprisename",
+        labelWidth: 160,
+        span: 12,
+        rules: [
+            {
+                required: true,
+                message: "请输入企业名称",
+                trigger: "blur",
+            },
+        ],
+    },
+    {
+        label: "法定代表人",
+        prop: "representative",
+        labelWidth: 160,
+        span: 12,
+        rules: [
+            {
+                required: true,
+                message: "请输入法定代表人",
+                trigger: "blur",
+            },
+        ],
+    },
+    {
+        label: "法定代表人电话",
+        prop: "representativecell",
+        labelWidth: 160,
+        span: 12,
+        rules: [
+            {
+                required: true,
+                message: "法定代表人电话",
+                trigger: "blur",
+            },
+        ],
+    },
+    {
+        label: "联系人",
+        prop: "contacts",
+        labelWidth: 160,
+        span: 12,
+        rules: [
+            {
+                required: true,
+                message: "联系人",
+                trigger: "blur",
+            },
+        ],
+    },
+    {
+        label: "联系人电话",
+        prop: "contactscell",
+        labelWidth: 160,
+        span: 12,
+        rules: [
+            {
+                required: true,
+                message: "联系人电话",
+                trigger: "blur",
+            },
+        ],
+    },
+    {
+        label: "注册时间",
+        prop: "establishtime",
+        labelWidth: 160,
+        span: 12,
+        type: "date",
+        format: "yyyy-MM-dd",
+        valueFormat: "timestamp",
+    },
+    {
+        label: "注册资本(万元人民币)",
+        prop: "registeredcapital",
+        labelWidth: 160,
+        span: 12,
+        rules: [
+            {
+                required: true,
+                message: "请输入注册资本",
+                trigger: "blur",
+            },
+        ],
+    },
+    // {
+    //   label: "实缴资本(万元人民币)",
+    //   prop: "capital",
+    //   labelWidth: 160,
+    //   span: 12,
+    //   rules: [{
+    //     required: true,
+    //     message: "请输入实缴资本",
+    //     trigger: "blur"
+    //   }]
+    // },
+    {
+        label: "组织机构代码",
+        prop: "organizationcode",
+        labelWidth: 160,
+        span: 12,
+        rules: [
+            {
+                required: true,
+                message: "请输入组织机构代码",
+                trigger: "blur",
+            },
+        ],
+    },
+    {
+        label: "工商注册号",
+        prop: "registrationnumber",
+
+        labelWidth: 160,
+        span: 12,
+        rules: [
+            {
+                required: true,
+                message: "请输入工商注册号",
+                trigger: "blur",
+            },
+        ],
+    },
+    // {
+    //   label: "纳税人识别号",
+    //   prop: "identificationnumber",
+    //   labelWidth: 160,
+    //   span: 12,
+    //   rules: [{
+    //     required: true,
+    //     message: "请输入纳税人识别号",
+    //     trigger: "blur"
+    //   }]
+    // },
+    {
+        label: "注册地址",
+        prop: "address",
+        labelWidth: 160,
+        span: 12,
+        rules: [
+            {
+                required: true,
+                message: "请输入注册地址",
+                trigger: "blur",
+            },
+        ],
+    },
+    {
+        label: "经营范围",
+        prop: "business",
+        labelWidth: 160,
+        span: 12,
+        rules: [
+            {
+                required: true,
+                message: "请输入经营范围",
+                trigger: "blur",
+            },
+        ],
+    },
+    {
+        label: "所属地区",
+        prop: "region",
+        labelWidth: 160,
+        span: 12,
+        rules: [
+            {
+                required: true,
+                message: "请输入所属地区",
+                trigger: "blur",
+            },
+        ],
+    },
+    {
+        label: "登记机关",
+        prop: "registration",
+        labelWidth: 160,
+        span: 12,
+        rules: [
+            {
+                required: true,
+                message: "请输入登记机关",
+                trigger: "blur",
+            },
+        ],
+        // overHidden: true,
+    },
+    {
+        label: "所属行业",
+        prop: "industry",
+        labelWidth: 160,
+        span: 12,
+        rules: [
+            {
+                required: true,
+                message: "请输入所属行业",
+                trigger: "blur",
+            },
+        ],
+    },
+    // {
+    //     label: "拖拽上传",
+    //     prop: "imgUrl5",
+    //     type: "upload",
+    //     span: 12,
+    //     drag: true,
+    //     propsHttp: {
+    //         res: "data",
+    //     },
+    //     tip: "只能上传jpg/png文件,且不超过500kb",
+    //     action:
+    //         "/api/blade-resource/oss/endpoint/put-file-attach?deptid=&type=0",
+    // },
+]
\ No newline at end of file
diff --git a/src/components/securityPermit/securityPermit.vue b/src/components/securityPermit/securityPermit.vue
new file mode 100644
index 0000000..f8a5e47
--- /dev/null
+++ b/src/components/securityPermit/securityPermit.vue
@@ -0,0 +1,244 @@
+<template>
+  <div>
+    <!-- 遮罩只需要放一个在这里 所有页面通用 -->
+    <div class="zhezhao" v-show="showZhezhao"></div>
+    <div v-if="useWhere == 0" class="securityPermit">
+      <slot name="close"></slot>
+      <div class="heards">保安服务公司许可办理</div>
+      <basic-container>
+        <div v-show="forms == 1" class="first-box-outer">
+          <div class="handling-guideline">
+            <h2 class="hand-title">保安服务公司许可办理指南</h2>
+            <div class="hand-content">
+              <p><label>审批依据:</label></p>
+              <p>
+                1、《保安服务管理条例》(中华人民共和国国务院令第564号);<br />
+
+                2、《公安机关实施保安服务管理条例办法》(中华人民共和国公安部令
+                第 112 号);<br />
+
+                3、关于印发《宁夏回族自治区保安服务公司许可备案实施细则(试行)》和《宁夏回族自治区保安培训机构管理办法实施细则(试行)》的通知(宁公通〔2017〕61号);<br />
+              </p>
+              <p>
+                <label>申请条件:</label
+                >自然人、法人和其他组织。自然人需要有完全民事行为能力,年满18周岁且不具有精神疾病。
+              </p>
+              <p><label>申请材料:</label></p>
+              <p>
+                1、《申请设立保安服务公司行政许可审批表》。<br />
+                2、设立保安服务公司申请书<br />
+                3、设立保安服务公司可行性分析报告<br />
+
+                4、保安服务从业单位法定代表人(主要负责人)登记表<br />
+                5、保安服务公司章程<br />
+                6、注册资本认缴金额证明。<br />
+                7、拟任的法定代表人、主要管理人员应提供下列材料:<br />
+                ①有效身份证件;②保安师资格证书原件及复印件;③个人简历及5年以上军队、公安、安全、审判、检察、司法行政或者治保安卫、保安经营管理工作经验证明。<br />
+                8、专业技术人员名单,法律、行政法规有资格要求的资格证明。<br />
+                9、拟设保安服务公司住所的所有权或使用权有效证明文件和提供保安服务所需的有关设备、交通工具等材料并附彩色照片。<br />
+                10、组织机构和保安服务管理制度、岗位责任制度、保安员管理制度材料。<br />
+                11、工商行政管理部门核发的企业名称预先核准通知书。<br />
+              </p>
+
+              <p>
+                <label
+                  >申请设立中外合资、中外合作或者外资独资保安服务公司除以上1-11项内容外还需另外提供以下材料:</label
+                >
+              </p>
+
+              <p>
+                1、中外合资、中外合作合同原件及复印件。<br />
+
+                2、外方的资信证明和注册登记文件原件及复印件。<br />
+
+                3、境外法定代表人、主要管理人员所属国家或者地区无被刑事处罚记录证明(原居住地警察机构出具并经公证机关公证)。<br />
+
+                4、境外法定代表人、主要管理人员5年以上保安经营管理工作经验证明。<br />
+              </p>
+
+              <p><label>法定周期:</label>区、市20个工作日</p>
+              <p><label>承诺时限:</label>区、市20个工作日</p>
+
+              <p><label>受理部门:</label>市级公安机关</p>
+
+              <p><label>审批机关::</label>区级公安机关</p>
+
+              <!-- <p>
+                <label
+                  >申请设立或增设从事武装守护押运业务的保安服务公司还需另外提供以下材料:</label
+                >
+              </p>
+
+              <p>
+                1、1000万元人民币以上注册资本。<br />
+
+                2、出资属国有独资或者国有资本占注册资本总额51%以上的有效证明文件原件及复印件。<br />
+
+                3、符合国家或者行业标准的专用运输车辆以及通信、报警设备的材料。<br />
+
+                4、枪支安全管理制度和保管设施情况的材料。<br />
+              </p>
+
+              <p><label>法定周期:</label>区、市20个工作日</p>
+              <p><label>承诺时限:</label>区、市20个工作日</p>
+
+              <p><label>受理部门:</label>市级公安机关</p>
+
+              <p><label>审批机关::</label>区级公安机关</p>
+
+              <p><label>审批机关::</label>公安部</p> -->
+            </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="type"></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">暂存</el-button>
+            <el-button type="primary" @click="up()">提交审批</el-button>
+            <el-button type="info" @click="qx">取消</el-button>
+          </div>
+        </div>
+      </basic-container>
+    </div>
+  </div>
+</template>
+
+<script>
+import { mapGetters } from "vuex";
+import { add, adds, selectIn } from "@/api/permit/permit";
+import { column } from "./data.js";
+import attach from "@/components/attach/attach";
+export default {
+  components: {
+    attach: attach,
+  },
+  props: ["type"],
+  data() {
+    return {
+      showZhezhao: false,
+      forms: 1,
+
+      data0: {},
+      obj0: {
+        // title0: "保安服务公司许可证审批",
+      },
+      option: {
+        emptyBtn: false,
+        submitBtn: false,
+        gutter: 50,
+        column: column,
+      },
+      activeNames: ["1"],
+    };
+  },
+  computed: {
+    ...mapGetters(["useWhere"]),
+  },
+  watch: {
+    useWhere() {
+      if (this.useWhere == 0) {
+        this.convert();
+      }
+      if (this.useWhere == "close") {
+        this.showZhezhao = false;
+      } else {
+        this.showZhezhao = true;
+      }
+    },
+  },
+  methods: {
+    convert: function () {
+      var caridid = this.$store.getters.userInfo.Id;
+      selectIn(caridid).then((res) => {
+        var d = res.data.data;
+        for (var k in d) {
+          this.obj0[k.toLowerCase()] = d[k];
+        }
+      });
+    },
+    tip0() {
+      this.forms = 2;
+    },
+    qx() {
+      this.tipover();
+      this.$store.commit("changeuseWhere", "close");
+    },
+    tip1up1() {
+      this.forms = 1;
+    },
+    tip1() {
+      //暂存申请
+      var d = {};
+      for (var k in this.obj0) {
+        for (var i in this.option.column) {
+          if (k == this.option.column[i].prop && k != "title0") {
+            d[k] = this.obj0[k];
+          }
+        }
+      }
+      console.log(d);
+      this.data0 = d;
+      this.data0.cardid = this.$store.getters.userInfo.Id;
+      this.data0.ptype = this.type;
+      adds(this.data0).then(() => {
+        this.qx();
+        this.$message({
+          message: "暂存申请成功",
+          type: "success",
+        });
+      });
+    },
+    up() {
+      //提交申请
+      var d = {};
+      for (var k in this.obj0) {
+        for (var i in this.option.column) {
+          if (k == this.option.column[i].prop && k != "title0") {
+            d[k] = this.obj0[k];
+          }
+        }
+      }
+      this.data0 = d;
+      this.data0.ptype = this.type;
+      this.data0.cardid = this.$store.getters.userInfo.Id;
+      add(this.data0).then(() => {
+        this.qx();
+        this.$message({
+          message: "提交申请成功",
+          type: "success",
+        });
+      });
+    },
+    tipover() {
+      this.forms = 1;
+      this.obj0 = {
+        // title0: "保安单位基本信息",
+      };
+      var d = {};
+      this.data0 = d;
+    },
+  },
+};
+</script>
+
+<style lang="scss">
+</style>
\ No newline at end of file
diff --git a/src/components/securityTraining/data.js b/src/components/securityTraining/data.js
new file mode 100644
index 0000000..0e17a04
--- /dev/null
+++ b/src/components/securityTraining/data.js
@@ -0,0 +1,299 @@
+export var column = [
+    {
+        label: "",
+        labelWidth: 20,
+        type: "title",
+        prop: "title0",
+        span: 24,
+        styles: {
+            fontSize: "24px",
+        },
+    },
+    {
+        label: "统一社会信用代码",
+        prop: "creditcode",
+        labelWidth: 160,
+        span: 12,
+        rules: [
+            {
+                required: true,
+                message: "请输入社会信用代码",
+                trigger: "blur",
+            },
+        ],
+    },
+    {
+        label: "辖区",
+        prop: "jurisdiction",
+        // type: "tree",
+        // disabled: true,
+        type: "tree",
+        dicUrl: "/api/jurisdiction/lazy-trees",
+        props: {
+            label: "title",
+            value: "id",
+        },
+        labelWidth: 160,
+        span: 12,
+    },
+    {
+        label: "企业类型",
+        prop: "ptype",
+        hide: true,
+        display: false,
+    },
+    {
+        label: "所属单位",
+        prop: "deptid",
+        hide: true,
+        display: false,
+    },
+    {
+        label: "企业名称",
+        prop: "enterprisename",
+        labelWidth: 160,
+        span: 12,
+        rules: [
+            {
+                required: true,
+                message: "请输入企业名称",
+                trigger: "blur",
+            },
+        ],
+    },
+    {
+        label: "法定代表人",
+        prop: "representative",
+        labelWidth: 160,
+        span: 12,
+        rules: [
+            {
+                required: true,
+                message: "请输入法定代表人",
+                trigger: "blur",
+            },
+        ],
+    },
+    {
+        label: "法定代表人电话",
+        prop: "representativecell",
+        labelWidth: 160,
+        span: 12,
+        rules: [
+            {
+                required: true,
+                message: "法定代表人电话",
+                trigger: "blur",
+            },
+        ],
+    },
+    {
+        label: "联系人",
+        prop: "contacts",
+        labelWidth: 160,
+        span: 12,
+        rules: [
+            {
+                required: true,
+                message: "联系人",
+                trigger: "blur",
+            },
+        ],
+    },
+    {
+        label: "联系人电话",
+        prop: "contactscell",
+        labelWidth: 160,
+        span: 12,
+        rules: [
+            {
+                required: true,
+                message: "联系人电话",
+                trigger: "blur",
+            },
+        ],
+    },
+    {
+        label: "单位许可证编号",
+        prop: "perid",
+        labelWidth: 160,
+        span: 12,
+        rules: [
+            {
+                required: true,
+                message: "单位许可证编号",
+                trigger: "blur",
+            },
+        ],
+    }, {
+        label: "许可证发证机关",
+        prop: "offices",
+        labelWidth: 160,
+        span: 12,
+        rules: [
+            {
+                required: true,
+                message: "许可证发证机关",
+                trigger: "blur",
+            },
+        ],
+    }, {
+        label: "发证时间",
+        prop: "officetime",
+        labelWidth: 160,
+        span: 12,
+        type: "date",
+        format: "yyyy-MM-dd",
+        valueFormat: "yyyy-MM-dd",
+    },
+    {
+        label: "注册时间",
+        prop: "establishtime",
+        labelWidth: 160,
+        span: 12,
+        type: "date",
+        format: "yyyy-MM-dd",
+        valueFormat: "yyyy-MM-dd",
+    },
+    {
+        label: "注册资本(万元人民币)",
+        prop: "registeredcapital",
+        labelWidth: 160,
+        span: 12,
+        rules: [
+            {
+                required: true,
+                message: "请输入注册资本",
+                trigger: "blur",
+            },
+        ],
+    },
+    // {
+    //   label: "实缴资本(万元人民币)",
+    //   prop: "capital",
+    //   labelWidth: 160,
+    //   span: 12,
+    //   rules: [{
+    //     required: true,
+    //     message: "请输入实缴资本",
+    //     trigger: "blur"
+    //   }]
+    // },
+    {
+        label: "组织机构代码",
+        prop: "organizationcode",
+        labelWidth: 160,
+        span: 12,
+        rules: [
+            {
+                required: true,
+                message: "请输入组织机构代码",
+                trigger: "blur",
+            },
+        ],
+    },
+    {
+        label: "工商注册号",
+        prop: "registrationnumber",
+
+        labelWidth: 160,
+        span: 12,
+        rules: [
+            {
+                required: true,
+                message: "请输入工商注册号",
+                trigger: "blur",
+            },
+        ],
+    },
+    // {
+    //   label: "纳税人识别号",
+    //   prop: "identificationnumber",
+    //   labelWidth: 160,
+    //   span: 12,
+    //   rules: [{
+    //     required: true,
+    //     message: "请输入纳税人识别号",
+    //     trigger: "blur"
+    //   }]
+    // },
+    {
+        label: "注册地址",
+        prop: "address",
+        labelWidth: 160,
+        span: 12,
+        rules: [
+            {
+                required: true,
+                message: "请输入注册地址",
+                trigger: "blur",
+            },
+        ],
+    },
+    {
+        label: "经营范围",
+        prop: "business",
+        labelWidth: 160,
+        span: 12,
+        rules: [
+            {
+                required: true,
+                message: "请输入经营范围",
+                trigger: "blur",
+            },
+        ],
+    },
+    {
+        label: "所属地区",
+        prop: "region",
+        labelWidth: 160,
+        span: 12,
+        rules: [
+            {
+                required: true,
+                message: "请输入所属地区",
+                trigger: "blur",
+            },
+        ],
+    },
+    {
+        label: "登记机关",
+        prop: "registration",
+        labelWidth: 160,
+        span: 12,
+        rules: [
+            {
+                required: true,
+                message: "请输入登记机关",
+                trigger: "blur",
+            },
+        ],
+        // overHidden: true,
+    },
+    {
+        label: "所属行业",
+        prop: "industry",
+        labelWidth: 160,
+        span: 12,
+        rules: [
+            {
+                required: true,
+                message: "请输入所属行业",
+                trigger: "blur",
+            },
+        ],
+    },
+    // {
+    //     label: "拖拽上传",
+    //     prop: "imgUrl5",
+    //     type: "upload",
+    //     span: 12,
+    //     drag: true,
+    //     propsHttp: {
+    //         res: "data",
+    //     },
+    //     tip: "只能上传jpg/png文件,且不超过500kb",
+    //     action:
+    //         "/api/blade-resource/oss/endpoint/put-file-attach?deptid=&type=0",
+    // },
+]
\ No newline at end of file
diff --git a/src/components/securityTraining/securityTraining.vue b/src/components/securityTraining/securityTraining.vue
new file mode 100644
index 0000000..3687e5e
--- /dev/null
+++ b/src/components/securityTraining/securityTraining.vue
@@ -0,0 +1,199 @@
+<template>
+  <div v-if="useWhere == 3" class="securityPermit">
+    <slot name="close"></slot>
+    <div class="heards">保安培训公司备案</div>
+    <basic-container>
+      <div v-show="forms == 1" class="first-box-outer">
+        <div class="handling-guideline">
+          <h2 class="hand-title">保安培训公司备案办理指南</h2>
+          <div class="hand-content">
+            <p><label>审批依据:</label></p>
+            <p>
+              1、《保安培训机构管理办法》(公安部令第85号);<br />
+
+              2、《公安机关是是保安服务管理条例办法》(公安部第112号令);<br />
+
+              3、《公安机关是是保安服务管理条例办法》(公安部第112号令);<br />
+              3、《保安服务管理条例》(国务院令第564号)第三十二条;<br />
+              3、《保安服务管理条例》(国务院令第564号)第三十三条;<br />
+            </p>
+            <p>
+              <label>申请条件:</label
+              >自然人、法人和其他组织。自然人需要有完全民事行为能力,年满18周岁且不具有精神疾病。
+            </p>
+            <p>
+              <label>受理条件:</label>
+              【予以批准的条件】1、是依法设立的保安服务公司或者依法设立的具有法人资格的学校、职业培训机构;2、保安培训师资力量,其中保安专业师资人员应当具有大学本科以上学历或者1
+              0年以上治安保卫管理工作经历;3、有保安培训所需的场所、设施教学条件。4、申请人、投资人、法定代表人、管理人员及师资人员没有故意犯罪记录和精神病史;5、主要负责人应当具有政法机关、军队或者教育培训的工作经历。<br />
+              【不予以批准的条件】
+              申请人不符合以上条件,或者不能提供足以证明符合条件的相关证明材料。<br />
+            </p>
+            <p><label>申请材料:</label></p>
+            <p>
+              1、《保安培训单位申请设立审批表》。<br />
+              2、设立申请书,应当载明申请人基本情况、拟设立培训单位名称、培训目标、培训规模、培训内容、培训条件和内部管理制度等。<br />
+              3、保安培训单位法人资格材料<br />
+
+              4、申请人、法定代表人和校长(院长)等主要管理人员身份证<br />
+              5、师资人员的学历证书(其中保安专业师资人员应当具有大学本科以上学历),教师花名册(含工作单位、住址、职称、专兼职、拟任课程),与教师签订的聘用合同<br />
+              6、申请人、法定代表人和校长(院长)等主要管理人员基本情况登记表<br />
+              7、培训场所所有权证明,租赁培训场所的,
+              提交场所所有权和租赁合同,训练场地、图书室、阅览室、教学设施和实习仪器设备的材料;<br />
+              8、内部管理制度(含教学计划、选用教材及教学、
+              师资、学员、卫生、安全管理制度)<br />
+              9、委托代理人申办的,须附具委托书和代理人身份证复印件<br />
+            </p>
+
+            <p><label>法定周期:</label>区、市30个工作日</p>
+            <p><label>承诺时限:</label>区、市20个工作日</p>
+
+            <p><label>受理部门:</label>市级公安机关</p>
+
+            <p><label>审批机关::</label>区级公安机关</p>
+          </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="type"></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">暂存</el-button>
+          <el-button type="primary" @click="up()">提交审批</el-button>
+          <el-button type="info" @click="qx">取消</el-button>
+        </div>
+      </div>
+    </basic-container>
+  </div>
+</template>
+
+<script>
+import { mapGetters } from "vuex";
+import { add, adds, selectIn } from "@/api/recordOur/securityTraining";
+import { column } from "./data.js";
+import attach from "@/components/attach/attach";
+export default {
+  components: {
+    attach: attach,
+  },
+  props: ["type"],
+  data() {
+    return {
+      forms: 1,
+      data0: {},
+      obj0: {
+        // title0: "保安服务公司许可证审批",
+      },
+      option: {
+        emptyBtn: false,
+        submitBtn: false,
+        gutter: 50,
+        column: column,
+      },
+      activeNames: ["1"],
+    };
+  },
+  computed: {
+    ...mapGetters(["useWhere"]),
+  },
+  watch: {
+    useWhere() {
+      if (this.useWhere == 3) {
+        this.convert();
+      }
+    },
+  },
+  methods: {
+    convert: function () {
+      var caridid = this.$store.getters.userInfo.Id;
+      selectIn(caridid).then((res) => {
+        var d = res.data.data;
+        for (var k in d) {
+          this.obj0[k.toLowerCase()] = d[k];
+        }
+      });
+    },
+    tip0() {
+      this.forms = 2;
+    },
+    qx() {
+      this.tipover();
+      this.$store.commit("changeuseWhere", "close");
+    },
+    tip1up1() {
+      this.forms = 1;
+    },
+    tip1() {
+      //暂存申请
+      var d = {};
+      for (var k in this.obj0) {
+        for (var i in this.option.column) {
+          if (k == this.option.column[i].prop && k != "title0") {
+            d[k] = this.obj0[k];
+          }
+        }
+      }
+      console.log(d);
+      this.data0 = d;
+      this.data0.cardid = this.$store.getters.userInfo.Id;
+      this.data0.ptype = this.type;
+      adds(this.data0).then(() => {
+        this.qx();
+        this.$message({
+          message: "暂存申请成功",
+          type: "success",
+        });
+      });
+    },
+    up() {
+      //提交申请
+      var d = {};
+      for (var k in this.obj0) {
+        for (var i in this.option.column) {
+          if (k == this.option.column[i].prop && k != "title0") {
+            d[k] = this.obj0[k];
+          }
+        }
+      }
+      this.data0 = d;
+      this.data0.ptype = this.type;
+      this.data0.cardid = this.$store.getters.userInfo.Id;
+      add(this.data0).then(() => {
+        this.qx();
+        this.$message({
+          message: "提交申请成功",
+          type: "success",
+        });
+      });
+    },
+    tipover() {
+      this.forms = 1;
+      this.obj0 = {
+        // title0: "保安单位基本信息",
+      };
+      var d = {};
+      this.data0 = d;
+    },
+  },
+};
+</script>
+
+<style lang="scss">
+</style>
\ No newline at end of file
diff --git a/src/router/views/index.js b/src/router/views/index.js
index 6722a1c..c2aa00e 100644
--- a/src/router/views/index.js
+++ b/src/router/views/index.js
@@ -31,69 +31,69 @@
     //     import( /* webpackChunkName: "views" */ '@/views/wel/dashboard')
     // }]
   },
-//   {
-//   path: '/wel',
-//   component: Layout,
-//   redirect: '/wel/index',
-//   children: [{
-//     path: 'index',
-//     name: '申办许可申请',
-//     meta: {
-//       i18n: 'dashboard'
-//     },
-//     component: () =>
-//       import( /* webpackChunkName: "views" */ '@/views/permit/permit')
-//   }, {
-//     path: 'dashboard',
-//     name: '控制台',
-//     meta: {
-//       i18n: 'dashboard',
-//       menu: false,
-//     },
-//     component: () =>
-//       import( /* webpackChunkName: "views" */ '@/views/wel/dashboard')
-//   }]
-// },
-{
-  path: '/test',
-  component: Layout,
-  redirect: '/test/index',
-  children: [{
-    path: 'index',
-    name: '测试页',
-    meta: {
-      i18n: 'test'
-    },
-    component: () =>
-      import( /* webpackChunkName: "views" */ '@/views/util/test')
-  }]
-}, {
-  path: '/dict-horizontal',
-  component: Layout,
-  redirect: '/dict-horizontal/index',
-  children: [{
-    path: 'index',
-    name: '字典管理',
-    meta: {
-      i18n: 'dict'
-    },
-    component: () =>
-      import( /* webpackChunkName: "views" */ '@/views/util/demo/dict-horizontal')
-  }]
-}, {
-  path: '/dict-vertical',
-  component: Layout,
-  redirect: '/dict-vertical/index',
-  children: [{
-    path: 'index',
-    name: '字典管理',
-    meta: {
-      i18n: 'dict'
-    },
-    component: () =>
-      import( /* webpackChunkName: "views" */ '@/views/util/demo/dict-vertical')
-  }]
-},
+  //   {
+  //   path: '/wel',
+  //   component: Layout,
+  //   redirect: '/wel/index',
+  //   children: [{
+  //     path: 'index',
+  //     name: '申办许可申请',
+  //     meta: {
+  //       i18n: 'dashboard'
+  //     },
+  //     component: () =>
+  //       import( /* webpackChunkName: "views" */ '@/views/permit/permit')
+  //   }, {
+  //     path: 'dashboard',
+  //     name: '控制台',
+  //     meta: {
+  //       i18n: 'dashboard',
+  //       menu: false,
+  //     },
+  //     component: () =>
+  //       import( /* webpackChunkName: "views" */ '@/views/wel/dashboard')
+  //   }]
+  // },
+  {
+    path: '/test',
+    component: Layout,
+    redirect: '/test/index',
+    children: [{
+      path: 'index',
+      name: '测试页',
+      meta: {
+        i18n: 'test'
+      },
+      component: () =>
+        import( /* webpackChunkName: "views" */ '@/views/util/test')
+    }]
+  }, {
+    path: '/dict-horizontal',
+    component: Layout,
+    redirect: '/dict-horizontal/index',
+    children: [{
+      path: 'index',
+      name: '字典管理',
+      meta: {
+        i18n: 'dict'
+      },
+      component: () =>
+        import( /* webpackChunkName: "views" */ '@/views/util/demo/dict-horizontal')
+    }]
+  }, {
+    path: '/dict-vertical',
+    component: Layout,
+    redirect: '/dict-vertical/index',
+    children: [{
+      path: 'index',
+      name: '字典管理',
+      meta: {
+        i18n: 'dict'
+      },
+      component: () =>
+        import( /* webpackChunkName: "views" */ '@/views/util/demo/dict-vertical')
+    }]
+  },
   {
     path: '/attach',
     redirect: '/resource/attach',
@@ -109,45 +109,45 @@
     }]
   },
   {
-  path: '/info',
-  component: Layout,
-  redirect: '/info/index',
-  children: [{
-    path: 'index',
-    name: '个人信息',
-    meta: {
-      i18n: 'info'
-    },
-    component: () =>
-      import( /* webpackChunkName: "views" */ '@/views/system/userinfo')
-  }]
-}, {
-  path: '/work/process/leave',
-  component: Layout,
-  redirect: '/work/process/leave/form',
-  children: [{
-    path: 'form/:processDefinitionId',
-    name: '请假流程',
-    meta: {
-      i18n: 'work'
-    },
-    component: () =>
-      import( /* webpackChunkName: "views" */ '@/views/work/process/leave/form')
+    path: '/info',
+    component: Layout,
+    redirect: '/info/index',
+    children: [{
+      path: 'index',
+      name: '个人信息',
+      meta: {
+        i18n: 'info'
+      },
+      component: () =>
+        import( /* webpackChunkName: "views" */ '@/views/system/userinfo')
+    }]
   }, {
-    path: 'handle/:taskId/:processInstanceId/:businessId',
-    name: '处理请假流程',
-    meta: {
-      i18n: 'work'
-    },
-    component: () =>
-      import( /* webpackChunkName: "views" */ '@/views/work/process/leave/handle')
-  }, {
-    path: 'detail/:processInstanceId/:businessId',
-    name: '请假流程详情',
-    meta: {
-      i18n: 'work'
-    },
-    component: () =>
-      import( /* webpackChunkName: "views" */ '@/views/work/process/leave/detail')
+    path: '/work/process/leave',
+    component: Layout,
+    redirect: '/work/process/leave/form',
+    children: [{
+      path: 'form/:processDefinitionId',
+      name: '请假流程',
+      meta: {
+        i18n: 'work'
+      },
+      component: () =>
+        import( /* webpackChunkName: "views" */ '@/views/work/process/leave/form')
+    }, {
+      path: 'handle/:taskId/:processInstanceId/:businessId',
+      name: '处理请假流程',
+      meta: {
+        i18n: 'work'
+      },
+      component: () =>
+        import( /* webpackChunkName: "views" */ '@/views/work/process/leave/handle')
+    }, {
+      path: 'detail/:processInstanceId/:businessId',
+      name: '请假流程详情',
+      meta: {
+        i18n: 'work'
+      },
+      component: () =>
+        import( /* webpackChunkName: "views" */ '@/views/work/process/leave/detail')
+    }]
   }]
-}]
diff --git a/src/store/getters.js b/src/store/getters.js
index e6fcd6f..35044c1 100644
--- a/src/store/getters.js
+++ b/src/store/getters.js
@@ -25,5 +25,8 @@
   logsLen: state => state.logs.logsList.length || 0,
   logsFlag: (state, getters) => getters.logsLen === 0,
   flowRoutes: state => state.dict.flowRoutes,
+  ApprovalShow: state => state.dict.ApprovalShow,
+  useWhere: state => state.dict.useWhere,
+  handle: state => state.dict.handle,
 }
 export default getters
diff --git a/src/store/modules/dict.js b/src/store/modules/dict.js
index 837dbe6..b84998c 100644
--- a/src/store/modules/dict.js
+++ b/src/store/modules/dict.js
@@ -1,15 +1,18 @@
-import {getStore, setStore} from '@/util/store'
+import { getStore, setStore } from '@/util/store'
 
-import {getDictionary} from '@/api/system/dict'
+import { getDictionary } from '@/api/system/dict'
 
 const dict = {
   state: {
-    flowRoutes: getStore({name: 'flowRoutes'}) || {},
+    flowRoutes: getStore({ name: 'flowRoutes' }) || {},
+    ApprovalShow: false,
+    useWhere: 'close',
+    handle: true,
   },
   actions: {
-    FlowRoutes({commit}) {
+    FlowRoutes({ commit }) {
       return new Promise((resolve, reject) => {
-        getDictionary({code: 'flow'}).then(res => {
+        getDictionary({ code: 'flow' }).then(res => {
           commit('SET_FLOW_ROUTES', res.data.data);
           resolve();
         }).catch(error => {
@@ -26,8 +29,17 @@
           routeValue: item.remark,
         };
       });
-      setStore({name: 'flowRoutes', content: state.flowRoutes})
+      setStore({ name: 'flowRoutes', content: state.flowRoutes })
     },
+    doitApprovalShow: (state, data) => {
+      state.ApprovalShow = data
+    },
+    changeuseWhere: (state, data) => {
+      state.useWhere = data
+    },
+    changehandle: (state, data) => {
+      state.handle = data
+    }
   }
 
 };
diff --git a/src/views/home/index.vue b/src/views/home/index.vue
index 614b75b..8799f7b 100644
--- a/src/views/home/index.vue
+++ b/src/views/home/index.vue
@@ -1,1136 +1,378 @@
 <template>
-  <div style="width: 100%;height: 100%; background: #ccc;">
-    <div style="background-color: #25aff3;width: 100%;height: 50px;">
-      <span
-        style="display: inline-block;color: #ffffff;font-size: 24px;line-height: 50px;margin-left: 5px;">服务许可审批备案系统</span>
-      <div
-        style="display: block;float: right;height: 50px;padding-right: 52px;color: #fff;line-height: 50px;cursor: pointer;position: relative;">
-        <img src="http://nx.baibaodun.cn:80/assets/images/username-person.png"
-             style="display: inline-block;vertical-align: middle">
-        <i
-          style="font-style: normal;color: #ffffff;font-size: 16px;line-height: 50px;display: inline-block;margin: 0; padding-left: 4px">{{userName}}</i>
-        <a style="margin-left: 15px;color: #ffffff;font-size: 16px;line-height: 50px" @click="logout">退出登录</a>
+  <div id="examine">
+    <div class="examine_heard">
+      服务许可审批备案系统
+      <div class="e_h_right">
+        <img
+          src="http://nx.baibaodun.cn:80/assets/images/username-person.png"
+          alt=""
+        />
+        <span>
+          {{ userName }}
+        </span>
+        <div @click="logout">退出登录</div>
       </div>
     </div>
-    <div style="position: relative;
-    width: 100%;
-    height: 100%;background:#eff2fa">
-      <div class="header">
-        <h2 style="text-align: center;margin: 0;padding-top: 20px;">保安相关申请流程</h2>
-        <button
-          style="border:1px solid red;border-radius:3px; position: absolute;right: 16%;top: 30px;height:25px;width: 140px;text-align:center"
-          @click="ss">
-          审批进度查询
-        </button>
+    <div class="examine_body">
+      <div class="title">
+        <h2>保安相关申请流程</h2>
+        <button @click="openApproval">审批进度查询</button>
       </div>
-
-      <div class="main">
-        <div v-for="(item, index) in menuData"
-             :key="index"
-             class='item-box'>
-
-          <div class='box-top'
-               :style="{ background: item.topUrl }"
-               @click="targetClick(item)">
-
-            <div class='img-box'>
-              <img :src="item.centerUrl"
-                   alt="">
-            </div>
-
-          </div>
-
-          <div class="box-bottom">
-            {{ item.menuName }}
-          </div>
-
-        </div>
+      <div class="b_main">
+        <!-- 卡片 -->
+        <examineCard
+          v-for="(item, index) in dataCard"
+          :key="index"
+          :data="item"
+          :ind="index"
+          @open="openMain"
+          v-show="showCard"
+        ></examineCard>
       </div>
     </div>
-    <div class="detail-box" v-show="onit">
-      <span class="layui-layer-setwin">
-        <a class="layui-layer-ico layui-layer-close layui-layer-close1" href="javascript:;" id="close"></a>
+    <!-- 审批进度查询 -->
+    <Approval class="Approval">
+      <span slot="close">
+        <i class="el-icon-close ApprovalClose" @click="ApprovalClose"></i>
       </span>
-      <div class="layui-layer-title" style="height: 40px;line-height:40px;">保安服务公司许可证</div>
-      <span class="layui-layer-setwin"><a class="layui-layer-ico layui-layer-close layui-layer-close1"
-                                          href="javascript:;" @click="js_method"></a></span>
-      <div id="" class="layui-layer-content" style="height: 298px;">
-        <div class="radio-custom radio-primary">
-          <label for="sponsorlicenseType1">
-            <input id="sponsorlicenseType1" type="radio" value="0" name="sponsorlicenseType" ref="name"
-                   checked="">保安服务公司设立许可</label>
-          <div class="handling-guideline"><p>材料说明:普通保安服务公司是指申请服务范围为:门卫、巡逻、守护、随身护卫、安全检查、安全技术防范、安全风险评估、区域秩序维护的公司。</p>
-          </div>
-        </div>
-        <div class="radio-custom radio-primary">
-          <label for="sponsorlicenseType2"><input id="sponsorlicenseType2" type="radio" value="1" ref="name"
-                                                  name="sponsorlicenseType">保安培训公司设立许可</label>
-          <div class="handling-guideline"><p>
-            国务院《保安服务管理条例》(2009年国务院令第564号)第九条:申请设立保安服务公司,应当向所在地设区的市级人民政府公安机关提交申请书以及能够证明其符合本条例第八条规定条件的材料。</p>
-          </div>
-        </div>
-      </div>
-      <div class="layui-layer-btn" style="margin-left: 260px">
-        <button class="layui-layer-btn0" @click="onNext"
-                style="position: absolute;width: 95px; border: 1px solid #2673e5;background: rgb(46, 141, 237);border-radius: 4px;width: 100px;height: 38px;">
-          确认
-        </button>
-      </div>
-
-    </div>
-
-    <div class="lod" v-if="forms != 0">
-      <div class="lod-in">
-        <div v-show="forms == 1" class="first-box-outer">
-          <div class="first-box-title" style="">设立保安服务公司行政许可证
-          </div>
-          <div class="first-box-content">
-            <div class="handling-guideline">
-              <h2 class="hand-title">保安服务公司许可办理指南</h2>
-              <div class="hand-content">
-                <p><label>审批依据:</label></p>
-                <p>
-                  1、《保安服务管理条例》(中华人民共和国国务院令第564号);<br>
-
-                  2、《公安机关实施保安服务管理条例办法》(中华人民共和国公安部令 第 112 号);<br>
-
-                  3、关于印发《宁夏回族自治区保安服务公司许可备案实施细则(试行)》和《宁夏回族自治区保安培训机构管理办法实施细则(试行)》的通知(宁公通〔2017〕61号);<br>
-
-                </p>
-                <p><label>申请条件:</label>自然人、法人和其他组织。自然人需要有完全民事行为能力,年满18周岁且不具有精神疾病。 </p>
-                <p><label>申请材料:</label></p>
-                <p>
-                  1、《申请设立保安服务公司行政许可审批表》。<br>
-                  2、设立保安服务公司申请书<br>
-                  3、设立保安服务公司可行性分析报告<br>
-
-                  4、保安服务从业单位法定代表人(主要负责人)登记表<br>
-                  5、保安服务公司章程<br>
-                  6、注册资本认缴金额证明。<br>
-                  7、拟任的法定代表人、主要管理人员应提供下列材料:<br>
-                  ①有效身份证件;②保安师资格证书原件及复印件;③个人简历及5年以上军队、公安、安全、审判、检察、司法行政或者治保安卫、保安经营管理工作经验证明。<br>
-                  8、专业技术人员名单,法律、行政法规有资格要求的资格证明。<br>
-                  9、拟设保安服务公司住所的所有权或使用权有效证明文件和提供保安服务所需的有关设备、交通工具等材料并附彩色照片。<br>
-                  10、组织机构和保安服务管理制度、岗位责任制度、保安员管理制度材料。<br>
-                  11、工商行政管理部门核发的企业名称预先核准通知书。<br>
-                </p>
-
-
-                <p><label>申请设立中外合资、中外合作或者外资独资保安服务公司除以上1-11项内容外还需另外提供以下材料:</label></p>
-
-                <p>
-                  1、中外合资、中外合作合同原件及复印件。<br>
-
-                  2、外方的资信证明和注册登记文件原件及复印件。<br>
-
-                  3、境外法定代表人、主要管理人员所属国家或者地区无被刑事处罚记录证明(原居住地警察机构出具并经公证机关公证)。<br>
-
-                  4、境外法定代表人、主要管理人员5年以上保安经营管理工作经验证明。<br>
-                </p>
-
-                <p><label>法定周期:</label>区、市20个工作日</p>
-                <p><label>承诺时限:</label>区、市20个工作日</p>
-
-                <p><label>受理部门:</label>市级公安机关</p>
-
-                <p><label>审批机关::</label>区级公安机关</p>
-
-
-                <p><label>申请设立或增设从事武装守护押运业务的保安服务公司还需另外提供以下材料:</label></p>
-
-                <p>
-                  1、1000万元人民币以上注册资本。<br>
-
-                  2、出资属国有独资或者国有资本占注册资本总额51%以上的有效证明文件原件及复印件。<br>
-
-                  3、符合国家或者行业标准的专用运输车辆以及通信、报警设备的材料。<br>
-
-                  4、枪支安全管理制度和保管设施情况的材料。<br>
-                </p>
-
-
-                <p><label>法定周期:</label>区、市20个工作日</p>
-                <p><label>承诺时限:</label>区、市20个工作日</p>
-
-                <p><label>受理部门:</label>市级公安机关</p>
-
-                <p><label>审批机关::</label>区级公安机关</p>
-
-                <p><label>审批机关::</label>公安部</p>
-
-
-              </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>
-        <div v-show="forms == 2" class="first-box-outer">
-          <avue-form
-            ref="form1"
-            v-model="obj0"
-            :option="option">
-            <template slot="menuForm">
-              <el-button type="primary" @click="tip1up1">上一页</el-button>
-              <el-button type="primary" @click="tip1">暂存</el-button>
-              <el-button type="primary" @click="up()">提交审批</el-button>
-              <el-button type="info" @click="tipover">取消</el-button>
-            </template>
-          </avue-form>
-        </div>
-      </div>
-    </div>
-
-    <div class="lod" v-show="onits">
-      <div class="lod-in">
-        <div class="first-box-outers">
-          <div class="first-box-titles">审批进度
-            <a  style="margin-left: 1120px;font-size: 18px" href="javascript:;" @click="js_methods">X</a>
-          </div>
-          <div class="first-box-content">
-            <avue-crud :option="option1"
-                       :table-loading="loading"
-                       :data="data"
-                       :page.sync="page"
-                       :permission="permissionList"
-                       :before-open="beforeOpen"
-                       v-model="form"
-                       ref="crud"
-                       @row-update="rowUpdate"
-                       @row-save="rowSave"
-                       @row-del="rowDel"
-                       @search-change="searchChange"
-                       @search-reset="searchReset"
-                       @selection-change="selectionChange"
-                       @current-change="currentChange"
-                       @size-change="sizeChange"
-                       @refresh-change="refreshChange"
-                       @on-load="onLoad"
-                       :row-style="rowStyle"
-            >
-              <template class="tdtype" slot-scope="{ row }" slot="type">
-                <el-tag class="dtype">
-                  {{
-                    row.type == "0" ? "通过" : row.type == "1" ? "不通过" : "待审核"
-                  }}
-                  <i class="gz" v-if="row.type == '0' "></i>
-                  <i class="yj" v-if="row.type == '1' "></i>
-                  <i class="zc" v-if="row.type == '2' "></i>
-                </el-tag>
-              </template>
-            </avue-crud>
-
-          </div>
-
-        </div>
-      </div>
-    </div>
+    </Approval>
+    <!-- 保安服务公司许可申请 -->
+    <securityPermit class="securityPermit" :type="dataCard[0].type">
+      <span slot="close">
+        <i class="el-icon-close ApprovalClose" @click="openClose"> </i>
+      </span>
+    </securityPermit>
+    <!-- 跨区域经营备案 -->
+    <crossRegion class="crossRegion" :type="dataCard[1].type">
+      <span slot="close">
+        <i class="el-icon-close ApprovalClose" @click="openClose"> </i>
+      </span>
+    </crossRegion>
+    <!-- 自招保安单位备案 -->
+    <securityGuard class="securityGuard" :type="dataCard[2].type">
+      <span slot="close">
+        <i class="el-icon-close ApprovalClose" @click="openClose"> </i>
+      </span>
+    </securityGuard>
+    <!-- 保安培训公司备案 -->
+    <securityTraining class="securityTraining" :type="dataCard[3].type">
+      <span slot="close">
+        <i class="el-icon-close ApprovalClose" @click="openClose"> </i>
+      </span>
+    </securityTraining>
+    <!-- 自招保安单位备案撤销 -->
+    <cancellationOfFiling class="cancellationOfFiling" :type="dataCard[4].type">
+      <span slot="close">
+        <i class="el-icon-close ApprovalClose" @click="openClose"> </i>
+      </span>
+    </cancellationOfFiling>
   </div>
 </template>
 
 <script>
+import examineCard from "@/components/examineCard/examineCard.vue"; //卡片
+import Approval from "@/components/Approval/Approval.vue"; //审批进度查询
+import securityPermit from "@/components/securityPermit/securityPermit.vue"; // 保安服务公司许可申请
+import crossRegion from "@/components/crossRegion/crossRegion.vue"; // 跨区域经营备案
+import securityGuard from "@/components/securityGuard/securityGuard.vue"; // 自招保安单位备案
+import securityTraining from "@/components/securityTraining/securityTraining.vue"; // 保安培训公司备案
+import cancellationOfFiling from "@/components/cancellationOfFiling/cancellationOfFiling.vue"; // 自招保安单位备案撤销
 import {
-  add,
-  adds,
   getDetail,
   getList,
   getListre,
   getListrek,
   getListrev,
-  remove,
-  selectIn,
-  update
-} from "@/api/permit/permit"
-import {mapGetters} from "vuex";
-import {resetRouter} from '@/router/router'
+} from "@/api/permit/permit";
+import { mapGetters } from "vuex";
+import { resetRouter } from "@/router/router";
 
 export default {
-  data() {
-    return {
-      query: {},
-      loading: true,
-      page: {
-        pageSize: 10,
-        currentPage: 1,
-        total: 0
-      },
-      obj0: {
-        title0: "保安服务公司许可证审批",
-      },
-      // option0: {
-      //   emptyBtn: false,
-      //   submitBtn: false,
-      //   gutter: 30,
-      //   column: column0,
-      // },
-      option: {
-        emptyBtn: false,
-        submitBtn: false,
-        gutter: 50,
-        column: [
-          {
-            label: "",
-            labelWidth: 20,
-            type: 'title',
-            prop: "title0",
-            span: 24,
-            styles: {
-              fontSize: '24px'
-            }
-          },
-          {
-            label: "统一社会信用代码",
-            prop: "creditcode",
-            labelWidth: 160,
-            span: 12,
-            rules: [{
-              required: true,
-              message: "请输入社会信用代码",
-              trigger: "blur"
-            }]
-          },
-          {
-            label: "辖区",
-            prop: "jurisdiction",
-            // type: "tree",
-            // disabled: true,
-            type: "tree",
-            dicUrl: "/api/jurisdiction/lazy-trees",
-            props: {
-              label: "title",
-              value: "id"
-            },
-            labelWidth: 160,
-            span: 12,
-          },
-          {
-            label: "企业类型",
-            prop: "ptype",
-            hide: true,
-            display: false,
-          },
-          {
-            label: "所属单位",
-            prop: "deptid",
-            hide: true,
-            display: false,
-          },
-          {
-            label: "企业名称",
-            prop: "enterprisename",
-            labelWidth: 160,
-            span: 12,
-            rules: [{
-              required: true,
-              message: "请输入企业名称",
-              trigger: "blur"
-            }]
-          },
-          {
-            label: "法定代表人",
-            prop: "representative",
-            labelWidth: 160,
-            span: 12,
-            rules: [{
-              required: true,
-              message: "请输入法定代表人",
-              trigger: "blur"
-            }]
-          },
-          {
-            label: "法定代表人电话",
-            prop: "representativecell",
-            labelWidth: 160,
-            span: 12,
-            rules: [{
-              required: true,
-              message: "法定代表人电话",
-              trigger: "blur"
-            }]
-          },
-          {
-            label: "联系人",
-            prop: "contacts",
-            labelWidth: 160,
-            span: 12,
-            rules: [{
-              required: true,
-              message: "联系人",
-              trigger: "blur"
-            }]
-          },
-          {
-            label: "联系人电话",
-            prop: "contactscell",
-            labelWidth: 160,
-            span: 12,
-            rules: [{
-              required: true,
-              message: "联系人电话",
-              trigger: "blur"
-            }]
-          },
-          {
-            label: "成立日期",
-            prop: "establishtime",
-            labelWidth: 160,
-            span: 12,
-            type: "date",
-            format: "yyyy-MM-dd",
-            valueFormat: "timestamp",
-          },
-          {
-            label: "注册资本(万元人民币)",
-            prop: "registeredcapital",
-            labelWidth: 160,
-            span: 12,
-            rules: [{
-              required: true,
-              message: "请输入注册资本",
-              trigger: "blur"
-            }]
-          },
-          // {
-          //   label: "实缴资本(万元人民币)",
-          //   prop: "capital",
-          //   labelWidth: 160,
-          //   span: 12,
-          //   rules: [{
-          //     required: true,
-          //     message: "请输入实缴资本",
-          //     trigger: "blur"
-          //   }]
-          // },
-          {
-            label: "组织机构代码",
-            prop: "organizationcode",
-            labelWidth: 160,
-            span: 12,
-            rules: [{
-              required: true,
-              message: "请输入组织机构代码",
-              trigger: "blur"
-            }]
-          },
-          {
-            label: "工商注册号",
-            prop: "registrationnumber",
-
-            labelWidth: 160,
-            span: 12,
-            rules: [{
-              required: true,
-              message: "请输入工商注册号",
-              trigger: "blur"
-            }]
-          },
-          // {
-          //   label: "纳税人识别号",
-          //   prop: "identificationnumber",
-          //   labelWidth: 160,
-          //   span: 12,
-          //   rules: [{
-          //     required: true,
-          //     message: "请输入纳税人识别号",
-          //     trigger: "blur"
-          //   }]
-          // },
-          {
-            label: "注册地址",
-            prop: "address",
-            labelWidth: 160,
-            span: 12,
-            rules: [{
-              required: true,
-              message: "请输入注册地址",
-              trigger: "blur"
-            }]
-          },
-          {
-            label: "经营范围",
-            prop: "business",
-            labelWidth: 160,
-            span: 12,
-            rules: [{
-              required: true,
-              message: "请输入经营范围",
-              trigger: "blur"
-            }]
-          },
-          {
-            label: "所属地区",
-            prop: "region",
-            labelWidth: 160,
-            span: 12,
-            rules: [{
-              required: true,
-              message: "请输入所属地区",
-              trigger: "blur"
-            }]
-          },
-          {
-            label: "登记机关",
-            prop: "registration",
-            labelWidth: 160,
-            span: 12,
-            rules: [{
-              required: true,
-              message: "请输入登记机关",
-              trigger: "blur"
-            }]
-            // overHidden: true,
-          },
-          {
-            label: "所属行业",
-            prop: "industry",
-            labelWidth: 160,
-            span: 12,
-            rules: [{
-              required: true,
-              message: "请输入所属行业",
-              trigger: "blur"
-            }]
-          },
-          {
-            label: '拖拽上传',
-            prop: 'imgUrl5',
-            type: 'upload',
-            span: 12,
-            drag: true,
-            propsHttp: {
-              res: 'data'
-            },
-            tip: '只能上传jpg/png文件,且不超过500kb',
-            action: '/api/blade-resource/oss/endpoint/put-file-attach?deptid=&type=0'
-          },
-        ]
-      },
-      option1: {
-        delBtn: false,
-        editBtn: false,
-        addBtn: false,
-        height: 'auto',
-        calcHeight: 260,
-        tip: false,
-        searchShow: true,
-        searchMenuSpan: 8,
-        labelWidth: 130,
-        headerAlign: 'center',
-        align: 'center',
-        border: true,
-        index: true,
-        viewBtn: true,
-        selection: true,
-        dialogClickModal: false,
-        column: [
-          {
-            label: "企业名称",
-            prop: "enterprisename",
-            labelWidth: 160,
-            span: 12,
-            rules: [{
-              required: true,
-              message: "请输入企业名称",
-              trigger: "blur"
-            }]
-          },
-          {
-            label: "许可类型",
-            prop: "ptype",
-            type: "select",
-            dicData: [
-              {
-                label: "保安服务公司许可",
-                value: '0'
-              },
-              {
-                label: "保安培训公司许可",
-                value: '1'
-              },
-              {
-                label: "保安服务公司备案",
-                value: '2'
-              },
-              {
-                label: "跨区域备案",
-                value: '3'
-              },
-              {
-                label: "备案撤销",
-                value: '4'
-              },
-            ],
-          },
-          {
-            label: "审批意见",
-            prop: "reason",
-
-          },
-          {
-            label: "提交时间",
-            prop: "permitime",
-            addDisplay: false,
-            type: "date",
-            format: "yyyy-MM-dd HH:mm:ss",
-            valueFormat: "yyyy-MM-dd HH:mm:ss",
-          },
-          {
-            label: "审核状态",
-            prop: "type",
-            addDisplay: false,
-            type: "select",
-            dicData: [
-              {
-                label: "通过",
-                value: '0'
-              },
-              {
-                label: "不通过",
-                value: '1'
-              },
-              {
-                label: "待审核",
-                value: '2'
-              }
-            ],
-          },
-
-        ]
-      },
-      data0: {},
-      forms: 0,
-      onit: false,
-      onits: false,
-      menuData: [
-        {
-          menuName: '保安服务公司许可',
-          centerUrl: '/img/logo.png',
-          topUrl: 'url(/img/permit/服务许可背景图.jpg)',
-          targetUrl: 'per'
-        },
-        {
-          menuName: '保安服务公司备案',
-          centerUrl: '/img/logo.png',
-          topUrl: 'url(/img/permit/服务许可背景图.jpg)'
-        },
-        {
-          menuName: '自招保安单位备案撤销',
-          centerUrl: '/img/logo.png',
-          topUrl: 'url(/img/permit/服务许可背景图.jpg)'
-        },
-        {
-          menuName: '跨区域经营备案',
-          centerUrl: '/img/logo.png',
-          topUrl: 'url(/img/permit/服务许可背景图.jpg)'
-        },
-      ],
-      userName:''
-    }
+  components: {
+    examineCard: examineCard,
+    Approval: Approval,
+    securityPermit: securityPermit,
+    crossRegion: crossRegion,
+    securityGuard: securityGuard,
+    securityTraining: securityTraining,
+    cancellationOfFiling: cancellationOfFiling,
   },
   computed: {
     ...mapGetters(["userInfo"]),
   },
+  data() {
+    return {
+      userName: "",
+      showCard: false,
+      zhezao: false,
+      data: [],
+      dataCard: [
+        {
+          menuName: "保安服务公司许可申请",
+          centerUrl: "/img/logo.png",
+          topUrl: "url(/img/permit/服务许可背景图.jpg)",
+          targetUrl: "per",
+          type: 0,
+        },
+        {
+          menuName: "跨区域经营备案",
+          centerUrl: "/img/logo.png",
+          topUrl: "url(/img/permit/服务许可背景图.jpg)",
+          type: 3,
+        },
+        {
+          menuName: "自招保安单位备案",
+          centerUrl: "/img/logo.png",
+          topUrl: "url(/img/permit/服务许可背景图.jpg)",
+          type: 1,
+        },
+        {
+          menuName: "保安培训公司备案",
+          centerUrl: "/img/logo.png",
+          topUrl: "url(/img/permit/服务许可背景图.jpg)",
+          type: 2,
+        },
+        {
+          menuName: "自招保安单位备案撤销",
+          centerUrl: "/img/logo.png",
+          topUrl: "url(/img/permit/服务许可背景图.jpg)",
+          type: 6,
+        },
+      ],
+    };
+  },
+  computed: {
+    ...mapGetters(["userInfo", "ApprovalShow", "useWhere"]),
+  },
   created() {
-    this.convert();
     this.cc();
+    var page = {
+      pageSize: 10,
+      currentPage: 1,
+      total: 0,
+    };
+    this.onLoad(page);
   },
   methods: {
-    cc: function(){
-      this.userName =this.$store.getters.userInfo.user_name
-    },
-    convert: function () {
-      var caridid = this.$store.getters.userInfo.Id;
-      selectIn(caridid).then(res => {
-        this.option.column[1].value = res.data.data.creditCode
-        this.option.column[2].value = res.data.data.jurisdiction
-        this.option.column[3].value = res.data.data.enterpriseName
-        this.option.column[4].value = res.data.data.representative
-        this.option.column[5].value = res.data.data.representativecell
-        this.option.column[6].value = res.data.data.contacts
-        this.option.column[7].value = res.data.data.contactscell
-        this.option.column[8].value = res.data.data.establishTime
-        this.option.column[9].value = res.data.data.registeredCapital
-        this.option.column[10].value = res.data.data.capital
-        this.option.column[11].value = res.data.data.organizationCode
-        this.option.column[12].value = res.data.data.identificationNumber
-        this.option.column[13].value = res.data.data.enterprises
-        this.option.column[14].value = res.data.data.address
-        this.option.column[15].value = res.data.data.business
-        this.option.column[16].value = res.data.data.region
-        this.option.column[17].value = res.data.data.registration
-        this.option.column[18].value = res.data.data.industry
-      })
-    },
-    ss() {
-      this.onits = true;
-      //this.$router.push({path: '/homespi'});
-    },
-    onNext() {
-      this.forms = 1;
-      this.onit = false;
-    },
-    targetClick(item) {
-      var url = item.targetUrl
-      if (url == "per") {
-        this.onit = true;
-      }
-    },
-    tip0() {
-      this.forms = 2;
-    },
-    qx(){
-      this.forms = 0;
-    },
-    up() {
-      var d = {};
-      for (var k in this.obj0) {
-        for (var i in this.option.column) {
-          if (k == this.option.column[i].prop && k != "title0") {
-            d[k] = this.obj0[k];
-          }
-        }
-      }
-      this.data0 = d;
-      this.data0.ptype = this.$refs.name.value
-      this.data0.cardid = this.$store.getters.userInfo.Id
-      add(this.data0).then(() => {
-        this.tipover();
-      });
-    },
-    tip1() {
-      var d = {};
-      for (var k in this.obj0) {
-        for (var i in this.option.column) {
-          if (k == this.option.column[i].prop && k != "title0") {
-            d[k] = this.obj0[k];
-          }
-        }
-      }
-      this.data0 = d;
-      this.data0.ptype = this.$refs.name.value
-      this.data0.deptid = this.$store.getters.userInfo.dept_id
-      adds(this.data0).then(() => {
-        this.tipover();
-       });
-    },
-    tip1up1() {
-      this.forms = 1;
-    },
     onLoad(page, params = {}) {
-      this.loading = true;
-      getList(page.currentPage, page.pageSize, Object.assign(params, this.query)).then(res => {
+      params["cardid"] = this.userInfo.Id;
+      getList(page.currentPage, page.pageSize, params).then((res) => {
         const data = res.data.data;
-        this.page.total = data.total;
         this.data = data.records;
-        this.loading = false;
-        getListre(page.currentPage, page.pageSize, Object.assign(params, this.query)).then(ress => {
-          this.data = this.data.concat(ress.data.data.records)
-        });
-        getListrek(page.currentPage, page.pageSize, Object.assign(params, this.query)).then(resk => {
-          this.data = this.data.concat(resk.data.data.records)
-        });
-        getListrev(page.currentPage, page.pageSize, Object.assign(params, this.query)).then(resv => {
-          this.data = this.data.concat(resv.data.data.records)
-        });
-      });
-    },
-    rowUpdate(row, index, done, loading) {
-      update(row).then(() => {
-        this.onLoad(this.page);
-        this.$message({
-          type: "success",
-          message: "操作成功!"
-        });
-        done();
-      }, error => {
-        loading();
-        console.log(error);
-      });
-    }
-    ,
-    rowDel(row) {
-      this.$confirm("确定将选择数据删除?", {
-        confirmButtonText: "确定",
-        cancelButtonText: "取消",
-        type: "warning"
-      })
-        .then(() => {
-          return remove(row.id);
-        })
-        .then(() => {
-          this.onLoad(this.page);
-          this.$message({
-            type: "success",
-            message: "操作成功!"
+        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);
+              console.log(this.data.length);
+              if (this.data.length >= 1) {
+                // this.$store.commit("changehandle", false);
+              } else {
+                // this.$store.commit("changehandle", true);
+              }
+              this.showCard = true;
+              this.data.forEach((item) => {
+                for (const key in this.dataCard) {
+                  if (this.dataCard[key].type == item.ptype) {
+                    console.log(this.dataCard[key].menuName);
+                  }
+                }
+              });
+            });
           });
         });
+      });
     },
-    beforeOpen(done, type) {
-      if (["edit", "view"].includes(type)) {
-        getDetail(this.form.id).then(res => {
-          this.form = res.data.data;
-        });
-      }
-      done();
+    cc: function () {
+      this.userName = this.userInfo.user_name;
     },
-    tipover() {
-      this.forms = 0;
-      this.obj0 = {
-        title0: "保安单位基本信息",
-      };
-      this.data0 = {};
+    openApproval() {
+      this.$store.commit("doitApprovalShow", true);
     },
-    js_method() {
-      this.onit = false;
+    ApprovalClose() {
+      this.$store.commit("doitApprovalShow", false);
     },
-    js_methods() {
-      this.onits = false;
+    openClose() {
+      this.$store.commit("changeuseWhere", "close");
     },
     logout() {
       this.$confirm(this.$t("logoutTip"), this.$t("tip"), {
         confirmButtonText: this.$t("submitText"),
         cancelButtonText: this.$t("cancelText"),
-        type: "warning"
+        type: "warning",
       }).then(() => {
         this.$store.dispatch("LogOut").then(() => {
           resetRouter();
-          this.$router.push({path: "/login"});
+          this.$router.push({ path: "/login" });
         });
       });
-    }
-  }
-}
+    },
+    openMain(val, goon) {
+      this.zhezao = true;
+      if (goon == "openLook") {
+        this.$store.commit("doitApprovalShow", true);
+        return;
+      }
+      if (val == 0) {
+        //保安服务公司许可
+        console.log(this.dataCard[val].menuName);
+        this.$store.commit("changeuseWhere", val);
+      } else if (val == 1) {
+        //跨区域经营备案
+        this.$store.commit("changeuseWhere", val);
+        console.log(this.dataCard[val].menuName);
+      } else if (val == 2) {
+        //自招保安单位备案
+        this.$store.commit("changeuseWhere", val);
+        console.log(this.dataCard[val].menuName);
+      } else if (val == 3) {
+        //保安培训公司备案
+        this.$store.commit("changeuseWhere", val);
+        console.log(this.dataCard[val].menuName);
+      } else if (val == 4) {
+        //自招保安单位备案撤销
+        this.$store.commit("changeuseWhere", val);
+        console.log(this.dataCard[val].menuName);
+      }
+    },
+  },
+};
 </script>
 
-<style lang="scss" scoped>
-.dtype {
-  width: 80px;
-}
-
-.dx {
-  position: absolute;
-  top: 50%;
-  margin-top: -5px;
-  margin-left: 6px;
-  width: 10px;
-  height: 10px;
-  border-radius: 30%;
-  background: #DFDFDF;
-}
-
-.zc {
-  position: absolute;
-  top: 50%;
-  margin-top: -5px;
-  margin-left: 6px;
-  width: 10px;
-  height: 10px;
-  border-radius: 30%;
-  background: #29C093;
-}
-
-.yj {
-  position: absolute;
-  top: 50%;
-  margin-top: -5px;
-  margin-left: 6px;
-  width: 10px;
-  height: 10px;
-  border-radius: 30%;
-  background: #F34A4A;
-}
-
-.gz {
-  position: absolute;
-  top: 50%;
-  margin-top: -5px;
-  margin-left: 6px;
-  width: 10px;
-  height: 10px;
-  border-radius: 30%;
-  background: #F48F57;
-}
-
-.el-tag {
-  display: inline-block;
-  width: 80px;
-  /*padding-right: 40px !important;*/
-
-}
-
-.layui-layer-setwin {
-  position: absolute;
-  right: 15px;
-  right: 0;
-  top: 15px;
-  font-size: 0;
-  line-height: initial;
-
-  .layui-layer-close1 {
-    color: #fff;
-    background: url(/img/permit/close-btn.png) no-repeat;
-    padding-right: 10px;
-  }
-
-  a {
-    position: relative;
-    width: 16px;
-    height: 16px;
-    margin-left: 10px;
-    font-size: 12px;
-    _overflow: hidden;
-    display: inline-block;
-  }
-}
-
-.close {
-  position: absolute;
-  right: 20px;
-  top: 5px;
-}
-
-.hand-next {
-  text-align: center;
-  padding: 15px 0;
-}
-
-.first-box-outers {
-  position: fixed;
-  pointer-events: auto;
-  z-index: 999;
+<style lang="scss">
+#examine {
   width: 100%;
-  height: 80%;
-  top: 120px;
-  left: 340px;
-  background-color: #fff;
-  box-shadow: 1px 1px 50px rgba(0, 0, 0, .3);
-  border-radius: 2px;
-
-  max-height: 790px;
-  max-width: 1240px;
-
-  .first-box-titles {
-    padding: 0 80px 0 20px;
-    height: 42px;
-    line-height: 42px;
-    overflow: hidden;
-    border-radius: 2px 2px 0 0;
-    text-overflow: ellipsis;
-    white-space: nowrap;
-    margin: 0;
+  height: 100%;
+  overflow: hidden;
+  box-sizing: border-box;
+  .examine_heard {
+    background-color: #25aff3;
     width: 100%;
-
-  }
-
-  .first-box-content {
-    height: calc(100% - 42px);
-  }
-
-}
-
-.first-box-outer {
-  position: fixed;
-  pointer-events: auto;
-  z-index: 999;
-  width: 100%;
-  height: 90%;
-  top: 30px;
-  left: 340px;
-  background-color: #fff;
-  box-shadow: 1px 1px 50px rgba(0, 0, 0, .3);
-  border-radius: 2px;
-
-  max-height: 790px;
-  max-width: 1240px;
-
-  .first-box-title {
-    padding: 0 80px 0 20px;
-    height: 42px;
-    line-height: 42px;
-    overflow: hidden;
-    border-radius: 2px 2px 0 0;
-    text-overflow: ellipsis;
-    white-space: nowrap;
-    margin: 0;
-
-  }
-
-  .first-box-content {
-    height: calc(100% - 42px);
-    overflow-y: auto;
-
-    .handling-guideline {
-      .hand-title {
-        text-align: center;
-        font-size: 20px;
+    padding-left: 30px;
+    box-sizing: border-box;
+    height: 50px;
+    color: #ffffff;
+    font-size: 24px;
+    line-height: 50px;
+    .e_h_right {
+      float: right;
+      margin-right: 20px;
+      img {
+        display: inline-block;
+        vertical-align: middle;
+      }
+      span {
+        font-style: normal;
+        color: #ffffff;
+        font-size: 16px;
         line-height: 50px;
-        font-weight: 600;
+        display: inline-block;
+        margin: 0;
+        padding-left: 4px;
       }
-
-      .hand-content {
-        width: 1000px;
-        padding: 30px;
-        margin: 0 auto;
-        margin-bottom: 0px;
-        background: #f9f9f9;
-        margin-bottom: 15px;
-
-        p {
-          font-size: 14px;
-          line-height: 28px;
-
-          label {
-            font-weight: bold;
-          }
-        }
+      div {
+        display: inline;
+        margin-left: 15px;
+        color: #ffffff;
+        font-size: 16px;
+        line-height: 50px;
       }
-    }
-
-  }
-
-}
-
-.layui-layer-setwin {
-  position: absolute;
-  right: 15px;
-  right: 0;
-  top: 15px;
-  font-size: 0;
-  line-height: initial;
-}
-
-.detail-box {
-  position: fixed;
-  top: 0;
-  left: 0;
-  right: 0;
-  bottom: 50px;
-  margin: auto;
-  width: 600px;
-  height: 420px;
-  background: #fff;
-
-  .radio-custom {
-    position: relative;
-
-    input {
-      position: absolute;
-      top: 4px;
-      left: 0px;
     }
   }
-
-}
-
-.radio-custom {
-  margin-top: 15px;
-}
-
-.layui-layer-title {
-  background: #2575eb;
-  color: #fff;
-  border: none;
-  font-size: 16px;
-  text-align: center;
-}
-
-.radio-custom label {
-  min-height: 22px;
-  line-height: 22px;
-  margin-bottom: 0;
-  font-weight: 300;
-  cursor: pointer;
-  display: inline-block;
-  vertical-align: middle;
-  position: relative;
-  padding-left: 30px;
-  margin-left: 25px;
-  color: black;
-  font-weight: 700;
-}
-
-.radio-custom .handling-guideline {
-  margin-left: 50px;
-  margin-right: 25px;
-  margin-top: 5px;
-}
-
-//#barcon {
-//  position: fixed;
-//  top: calc(50% - 200px);
-//  left: calc(50% - 200px);
-//  z-index: 10;
-//  //top: 0;
-//  width: 400px;
-//  height: 400px;
-//  background-color: red;
-//}
-.main {
-  width: 80%;
-  display: flex;
-  flex-wrap: wrap;
-  justify-content: start;
-  position: absolute;
-  top: 20%;
-  right: 0;
-  left: 0;
-  bottom: auto;
-  margin: auto;
-
-  .item-box {
-    width: calc(25% - 12px);
-    height: 280px;
-    position: relative;
-    margin: 6px;
-    background: rgb(255, 255, 255);
-    border-radius: 10px;
-
-    .box-top {
-      position: absolute;
-      top: 0px;
-      left: 0px;
-      width: calc(100%);
-      height: calc(100% - 36px);
-      border-radius: 10px 10px 0 0;
-
-      .img-box {
-        position: absolute;
-        top: 0;
-        left: 0;
-        right: 0;
-        bottom: 0;
-        margin: auto;
-        width: 36px;
-        height: 36px;
-        border-radius: 50%;
-        background: rgba(17, 17, 17, 0.568);
-
-        img {
-          position: absolute;
-          top: 0;
-          left: 0;
-          right: 0;
-          bottom: 0;
-          margin: auto;
-          width: 24px;
-          height: 24px;
-        }
-      }
-    }
-
-    .box-bottom {
-      position: absolute;
-      bottom: 0;
-      left: 0;
+  .examine_body {
+    width: 100%;
+    height: calc(100% - 50px);
+    .title {
       width: 100%;
-      height: 36px;
-      line-height: 36px;
-      text-align: center;
-      background: white;
-      border-radius: 0 0 10px 10px;
+      height: 200px;
+      // border: 1px solid red;
+      display: flex;
+      align-items: center;
+      padding-bottom: 120px;
+      box-sizing: border-box;
+      justify-content: center;
+      button {
+        position: relative;
+        left: 30%;
+        border: 1px solid rgba($color: #000000, $alpha: 0.3);
+        border-radius: 5px;
+        height: 25px;
+        width: 140px;
+        text-align: center;
+        background-color: #fff;
+      }
+    }
+    .b_main {
+      width: 100%;
+      height: calc(100% - 220px);
+      // border: 1px solid red;
+      padding: 0 10%;
+      box-sizing: border-box;
+    }
+  }
+  .zhezhao {
+    width: 100%;
+    height: 100%;
+    position: fixed;
+    top: 0;
+    left: 0;
+    background-color: rgba($color: #000000, $alpha: 0.2);
+  }
+  .Approval,
+  .securityPermit {
+    position: absolute;
+    top: calc(10%);
+    left: calc(50% - 621px);
+    width: 1243px;
+    // height: 766px;
+  }
+  .ApprovalClose {
+    position: absolute;
+    top: 17px;
+    font-size: 20px;
+    right: 11px;
+    z-index: 10;
+    &:hover {
+      color: red;
     }
   }
 }
-</style>
+
+//弹窗样式
+.heards {
+  margin: 0 auto;
+  width: calc(100% - 10px);
+  height: 40px;
+  position: relative;
+  top: 10px;
+  color: #fff;
+  border-radius: 10px 10px 0 0;
+  text-align: center;
+  line-height: 40px;
+  left: 0;
+  background-color: #25aff3;
+}
+.first-box-outer {
+  width: 100%;
+  max-height: 682px;
+  overflow: scroll;
+  .f-b-o-in {
+    width: 100%;
+    height: 620px;
+    overflow: scroll;
+  }
+}
+.handling-guideline {
+  width: 85%;
+  padding: 10px;
+  margin: 0 auto;
+  background-color: rgba($color: #a1a1a1, $alpha: 0.3);
+}
+.hand-next {
+  margin-top: 15px;
+  width: 100%;
+  display: flex;
+  justify-content: center;
+}
+</style>
\ No newline at end of file
diff --git a/src/views/home/index1.vue b/src/views/home/index1.vue
new file mode 100644
index 0000000..2101a40
--- /dev/null
+++ b/src/views/home/index1.vue
@@ -0,0 +1,1274 @@
+<template>
+  <div style="width: 100%; height: 100%; background: #ccc">
+    <div style="background-color: #25aff3; width: 100%; height: 50px">
+      <span
+        style="
+          display: inline-block;
+          color: #ffffff;
+          font-size: 24px;
+          line-height: 50px;
+          margin-left: 5px;
+        "
+        >服务许可审批备案系统</span
+      >
+      <div
+        style="
+          display: block;
+          float: right;
+          height: 50px;
+          padding-right: 52px;
+          color: #fff;
+          line-height: 50px;
+          cursor: pointer;
+          position: relative;
+        "
+      >
+        <img
+          src="http://nx.baibaodun.cn:80/assets/images/username-person.png"
+          style="display: inline-block; vertical-align: middle"
+        />
+        <i
+          style="
+            font-style: normal;
+            color: #ffffff;
+            font-size: 16px;
+            line-height: 50px;
+            display: inline-block;
+            margin: 0;
+            padding-left: 4px;
+          "
+          >{{ userName }}</i
+        >
+        <a
+          style="
+            margin-left: 15px;
+            color: #ffffff;
+            font-size: 16px;
+            line-height: 50px;
+          "
+          @click="logout"
+          >退出登录</a
+        >
+      </div>
+    </div>
+    <div
+      style="position: relative; width: 100%; height: 100%; background: #eff2fa"
+    >
+      <div class="header">
+        <h2 style="text-align: center; margin: 0; padding-top: 20px">
+          保安相关申请流程
+        </h2>
+        <button
+          style="
+            border: 1px solid red;
+            border-radius: 3px;
+            position: absolute;
+            right: 16%;
+            top: 30px;
+            height: 25px;
+            width: 140px;
+            text-align: center;
+          "
+          @click="ss"
+        >
+          审批进度查询
+        </button>
+      </div>
+
+      <div class="main">
+        <div v-for="(item, index) in menuData" :key="index" class="item-box">
+          <div
+            class="box-top"
+            :style="{ background: item.topUrl }"
+            @click="targetClick(item)"
+          >
+            <div class="img-box">
+              <img :src="item.centerUrl" alt="" />
+            </div>
+          </div>
+
+          <div class="box-bottom">
+            {{ item.menuName }}
+          </div>
+        </div>
+      </div>
+    </div>
+    <div class="detail-box" v-show="onit">
+      <span class="layui-layer-setwin">
+        <a
+          class="layui-layer-ico layui-layer-close layui-layer-close1"
+          href="javascript:;"
+          id="close"
+        ></a>
+      </span>
+      <div class="layui-layer-title" style="height: 40px; line-height: 40px">
+        保安服务公司许可证
+      </div>
+      <span class="layui-layer-setwin"
+        ><a
+          class="layui-layer-ico layui-layer-close layui-layer-close1"
+          href="javascript:;"
+          @click="js_method"
+        ></a
+      ></span>
+      <div id="" class="layui-layer-content" style="height: 298px">
+        <div class="radio-custom radio-primary">
+          <label for="sponsorlicenseType1">
+            <input
+              id="sponsorlicenseType1"
+              type="radio"
+              value="0"
+              name="sponsorlicenseType"
+              ref="name"
+              checked=""
+            />保安服务公司设立许可</label
+          >
+          <div class="handling-guideline">
+            <p>
+              材料说明:普通保安服务公司是指申请服务范围为:门卫、巡逻、守护、随身护卫、安全检查、安全技术防范、安全风险评估、区域秩序维护的公司。
+            </p>
+          </div>
+        </div>
+        <div class="radio-custom radio-primary">
+          <label for="sponsorlicenseType2"
+            ><input
+              id="sponsorlicenseType2"
+              type="radio"
+              value="1"
+              ref="name"
+              name="sponsorlicenseType"
+            />保安培训公司设立许可</label
+          >
+          <div class="handling-guideline">
+            <p>
+              国务院《保安服务管理条例》(2009年国务院令第564号)第九条:申请设立保安服务公司,应当向所在地设区的市级人民政府公安机关提交申请书以及能够证明其符合本条例第八条规定条件的材料。
+            </p>
+          </div>
+        </div>
+      </div>
+      <div class="layui-layer-btn" style="margin-left: 260px">
+        <button
+          class="layui-layer-btn0"
+          @click="onNext"
+          style="
+            position: absolute;
+            width: 95px;
+            border: 1px solid #2673e5;
+            background: rgb(46, 141, 237);
+            border-radius: 4px;
+            width: 100px;
+            height: 38px;
+          "
+        >
+          确认
+        </button>
+      </div>
+    </div>
+
+    <div class="lod" v-if="forms != 0">
+      <div class="lod-in">
+        <div v-show="forms == 1" class="first-box-outer">
+          <div class="first-box-title" style="">设立保安服务公司行政许可证</div>
+          <div class="first-box-content">
+            <div class="handling-guideline">
+              <h2 class="hand-title">保安服务公司许可办理指南</h2>
+              <div class="hand-content">
+                <p><label>审批依据:</label></p>
+                <p>
+                  1、《保安服务管理条例》(中华人民共和国国务院令第564号);<br />
+
+                  2、《公安机关实施保安服务管理条例办法》(中华人民共和国公安部令
+                  第 112 号);<br />
+
+                  3、关于印发《宁夏回族自治区保安服务公司许可备案实施细则(试行)》和《宁夏回族自治区保安培训机构管理办法实施细则(试行)》的通知(宁公通〔2017〕61号);<br />
+                </p>
+                <p>
+                  <label>申请条件:</label
+                  >自然人、法人和其他组织。自然人需要有完全民事行为能力,年满18周岁且不具有精神疾病。
+                </p>
+                <p><label>申请材料:</label></p>
+                <p>
+                  1、《申请设立保安服务公司行政许可审批表》。<br />
+                  2、设立保安服务公司申请书<br />
+                  3、设立保安服务公司可行性分析报告<br />
+
+                  4、保安服务从业单位法定代表人(主要负责人)登记表<br />
+                  5、保安服务公司章程<br />
+                  6、注册资本认缴金额证明。<br />
+                  7、拟任的法定代表人、主要管理人员应提供下列材料:<br />
+                  ①有效身份证件;②保安师资格证书原件及复印件;③个人简历及5年以上军队、公安、安全、审判、检察、司法行政或者治保安卫、保安经营管理工作经验证明。<br />
+                  8、专业技术人员名单,法律、行政法规有资格要求的资格证明。<br />
+                  9、拟设保安服务公司住所的所有权或使用权有效证明文件和提供保安服务所需的有关设备、交通工具等材料并附彩色照片。<br />
+                  10、组织机构和保安服务管理制度、岗位责任制度、保安员管理制度材料。<br />
+                  11、工商行政管理部门核发的企业名称预先核准通知书。<br />
+                </p>
+
+                <p>
+                  <label
+                    >申请设立中外合资、中外合作或者外资独资保安服务公司除以上1-11项内容外还需另外提供以下材料:</label
+                  >
+                </p>
+
+                <p>
+                  1、中外合资、中外合作合同原件及复印件。<br />
+
+                  2、外方的资信证明和注册登记文件原件及复印件。<br />
+
+                  3、境外法定代表人、主要管理人员所属国家或者地区无被刑事处罚记录证明(原居住地警察机构出具并经公证机关公证)。<br />
+
+                  4、境外法定代表人、主要管理人员5年以上保安经营管理工作经验证明。<br />
+                </p>
+
+                <p><label>法定周期:</label>区、市20个工作日</p>
+                <p><label>承诺时限:</label>区、市20个工作日</p>
+
+                <p><label>受理部门:</label>市级公安机关</p>
+
+                <p><label>审批机关::</label>区级公安机关</p>
+
+                <p>
+                  <label
+                    >申请设立或增设从事武装守护押运业务的保安服务公司还需另外提供以下材料:</label
+                  >
+                </p>
+
+                <p>
+                  1、1000万元人民币以上注册资本。<br />
+
+                  2、出资属国有独资或者国有资本占注册资本总额51%以上的有效证明文件原件及复印件。<br />
+
+                  3、符合国家或者行业标准的专用运输车辆以及通信、报警设备的材料。<br />
+
+                  4、枪支安全管理制度和保管设施情况的材料。<br />
+                </p>
+
+                <p><label>法定周期:</label>区、市20个工作日</p>
+                <p><label>承诺时限:</label>区、市20个工作日</p>
+
+                <p><label>受理部门:</label>市级公安机关</p>
+
+                <p><label>审批机关::</label>区级公安机关</p>
+
+                <p><label>审批机关::</label>公安部</p>
+              </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>
+        <div v-show="forms == 2" class="first-box-outer">
+          <avue-form ref="form1" v-model="obj0" :option="option">
+            <template slot="menuForm">
+              <el-button type="primary" @click="tip1up1">上一页</el-button>
+              <el-button type="primary" @click="tip1">暂存</el-button>
+              <el-button type="primary" @click="up()">提交审批</el-button>
+              <el-button type="info" @click="tipover">取消</el-button>
+            </template>
+          </avue-form>
+        </div>
+      </div>
+    </div>
+
+    <div class="lod" v-show="onits">
+      <div class="lod-in">
+        <div class="first-box-outers">
+          <div class="first-box-titles">
+            审批进度
+            <a
+              style="margin-left: 1120px; font-size: 18px"
+              href="javascript:;"
+              @click="js_methods"
+              >X</a
+            >
+          </div>
+          <div class="first-box-content">
+            <avue-crud
+              :option="option1"
+              :table-loading="loading"
+              :data="data"
+              :page.sync="page"
+              :permission="permissionList"
+              :before-open="beforeOpen"
+              v-model="form"
+              ref="crud"
+              @row-update="rowUpdate"
+              @row-save="rowSave"
+              @row-del="rowDel"
+              @search-change="searchChange"
+              @search-reset="searchReset"
+              @selection-change="selectionChange"
+              @current-change="currentChange"
+              @size-change="sizeChange"
+              @refresh-change="refreshChange"
+              @on-load="onLoad"
+              :row-style="rowStyle"
+            >
+              <template class="tdtype" slot-scope="{ row }" slot="type">
+                <el-tag class="dtype">
+                  {{
+                    row.type == "0"
+                      ? "通过"
+                      : row.type == "1"
+                      ? "不通过"
+                      : "待审核"
+                  }}
+                  <i class="gz" v-if="row.type == '0'"></i>
+                  <i class="yj" v-if="row.type == '1'"></i>
+                  <i class="zc" v-if="row.type == '2'"></i>
+                </el-tag>
+              </template>
+            </avue-crud>
+          </div>
+        </div>
+      </div>
+    </div>
+  </div>
+</template>
+
+<script>
+import {
+  add,
+  adds,
+  getDetail,
+  getList,
+  getListre,
+  getListrek,
+  getListrev,
+  remove,
+  selectIn,
+  update,
+} from "@/api/permit/permit";
+import { mapGetters } from "vuex";
+import { resetRouter } from "@/router/router";
+
+export default {
+  data() {
+    return {
+      query: {},
+      loading: true,
+      page: {
+        pageSize: 10,
+        currentPage: 1,
+        total: 0,
+      },
+      obj0: {
+        title0: "保安服务公司许可证审批",
+      },
+      // option0: {
+      //   emptyBtn: false,
+      //   submitBtn: false,
+      //   gutter: 30,
+      //   column: column0,
+      // },
+      option: {
+        emptyBtn: false,
+        submitBtn: false,
+        gutter: 50,
+        column: [
+          {
+            label: "",
+            labelWidth: 20,
+            type: "title",
+            prop: "title0",
+            span: 24,
+            styles: {
+              fontSize: "24px",
+            },
+          },
+          {
+            label: "统一社会信用代码",
+            prop: "creditcode",
+            labelWidth: 160,
+            span: 12,
+            rules: [
+              {
+                required: true,
+                message: "请输入社会信用代码",
+                trigger: "blur",
+              },
+            ],
+          },
+          {
+            label: "辖区",
+            prop: "jurisdiction",
+            // type: "tree",
+            // disabled: true,
+            type: "tree",
+            dicUrl: "/api/jurisdiction/lazy-trees",
+            props: {
+              label: "title",
+              value: "id",
+            },
+            labelWidth: 160,
+            span: 12,
+          },
+          {
+            label: "企业类型",
+            prop: "ptype",
+            hide: true,
+            display: false,
+          },
+          {
+            label: "所属单位",
+            prop: "deptid",
+            hide: true,
+            display: false,
+          },
+          {
+            label: "企业名称",
+            prop: "enterprisename",
+            labelWidth: 160,
+            span: 12,
+            rules: [
+              {
+                required: true,
+                message: "请输入企业名称",
+                trigger: "blur",
+              },
+            ],
+          },
+          {
+            label: "法定代表人",
+            prop: "representative",
+            labelWidth: 160,
+            span: 12,
+            rules: [
+              {
+                required: true,
+                message: "请输入法定代表人",
+                trigger: "blur",
+              },
+            ],
+          },
+          {
+            label: "法定代表人电话",
+            prop: "representativecell",
+            labelWidth: 160,
+            span: 12,
+            rules: [
+              {
+                required: true,
+                message: "法定代表人电话",
+                trigger: "blur",
+              },
+            ],
+          },
+          {
+            label: "联系人",
+            prop: "contacts",
+            labelWidth: 160,
+            span: 12,
+            rules: [
+              {
+                required: true,
+                message: "联系人",
+                trigger: "blur",
+              },
+            ],
+          },
+          {
+            label: "联系人电话",
+            prop: "contactscell",
+            labelWidth: 160,
+            span: 12,
+            rules: [
+              {
+                required: true,
+                message: "联系人电话",
+                trigger: "blur",
+              },
+            ],
+          },
+          {
+            label: "成立日期",
+            prop: "establishtime",
+            labelWidth: 160,
+            span: 12,
+            type: "date",
+            format: "yyyy-MM-dd",
+            valueFormat: "timestamp",
+          },
+          {
+            label: "注册资本(万元人民币)",
+            prop: "registeredcapital",
+            labelWidth: 160,
+            span: 12,
+            rules: [
+              {
+                required: true,
+                message: "请输入注册资本",
+                trigger: "blur",
+              },
+            ],
+          },
+          // {
+          //   label: "实缴资本(万元人民币)",
+          //   prop: "capital",
+          //   labelWidth: 160,
+          //   span: 12,
+          //   rules: [{
+          //     required: true,
+          //     message: "请输入实缴资本",
+          //     trigger: "blur"
+          //   }]
+          // },
+          {
+            label: "组织机构代码",
+            prop: "organizationcode",
+            labelWidth: 160,
+            span: 12,
+            rules: [
+              {
+                required: true,
+                message: "请输入组织机构代码",
+                trigger: "blur",
+              },
+            ],
+          },
+          {
+            label: "工商注册号",
+            prop: "registrationnumber",
+
+            labelWidth: 160,
+            span: 12,
+            rules: [
+              {
+                required: true,
+                message: "请输入工商注册号",
+                trigger: "blur",
+              },
+            ],
+          },
+          // {
+          //   label: "纳税人识别号",
+          //   prop: "identificationnumber",
+          //   labelWidth: 160,
+          //   span: 12,
+          //   rules: [{
+          //     required: true,
+          //     message: "请输入纳税人识别号",
+          //     trigger: "blur"
+          //   }]
+          // },
+          {
+            label: "注册地址",
+            prop: "address",
+            labelWidth: 160,
+            span: 12,
+            rules: [
+              {
+                required: true,
+                message: "请输入注册地址",
+                trigger: "blur",
+              },
+            ],
+          },
+          {
+            label: "经营范围",
+            prop: "business",
+            labelWidth: 160,
+            span: 12,
+            rules: [
+              {
+                required: true,
+                message: "请输入经营范围",
+                trigger: "blur",
+              },
+            ],
+          },
+          {
+            label: "所属地区",
+            prop: "region",
+            labelWidth: 160,
+            span: 12,
+            rules: [
+              {
+                required: true,
+                message: "请输入所属地区",
+                trigger: "blur",
+              },
+            ],
+          },
+          {
+            label: "登记机关",
+            prop: "registration",
+            labelWidth: 160,
+            span: 12,
+            rules: [
+              {
+                required: true,
+                message: "请输入登记机关",
+                trigger: "blur",
+              },
+            ],
+            // overHidden: true,
+          },
+          {
+            label: "所属行业",
+            prop: "industry",
+            labelWidth: 160,
+            span: 12,
+            rules: [
+              {
+                required: true,
+                message: "请输入所属行业",
+                trigger: "blur",
+              },
+            ],
+          },
+          {
+            label: "拖拽上传",
+            prop: "imgUrl5",
+            type: "upload",
+            span: 12,
+            drag: true,
+            propsHttp: {
+              res: "data",
+            },
+            tip: "只能上传jpg/png文件,且不超过500kb",
+            action:
+              "/api/blade-resource/oss/endpoint/put-file-attach?deptid=&type=0",
+          },
+        ],
+      },
+      option1: {
+        delBtn: false,
+        editBtn: false,
+        addBtn: false,
+        height: "auto",
+        calcHeight: 260,
+        tip: false,
+        searchShow: true,
+        searchMenuSpan: 8,
+        labelWidth: 130,
+        headerAlign: "center",
+        align: "center",
+        border: true,
+        index: true,
+        viewBtn: true,
+        selection: true,
+        dialogClickModal: false,
+        column: [
+          {
+            label: "企业名称",
+            prop: "enterprisename",
+            labelWidth: 160,
+            span: 12,
+            rules: [
+              {
+                required: true,
+                message: "请输入企业名称",
+                trigger: "blur",
+              },
+            ],
+          },
+          {
+            label: "许可类型",
+            prop: "ptype",
+            type: "select",
+            dicData: [
+              {
+                label: "保安服务公司许可",
+                value: "0",
+              },
+              {
+                label: "保安培训公司许可",
+                value: "1",
+              },
+              {
+                label: "保安服务公司备案",
+                value: "2",
+              },
+              {
+                label: "跨区域备案",
+                value: "3",
+              },
+              {
+                label: "备案撤销",
+                value: "4",
+              },
+            ],
+          },
+          {
+            label: "审批意见",
+            prop: "reason",
+          },
+          {
+            label: "提交时间",
+            prop: "permitime",
+            addDisplay: false,
+            type: "date",
+            format: "yyyy-MM-dd HH:mm:ss",
+            valueFormat: "yyyy-MM-dd HH:mm:ss",
+          },
+          {
+            label: "审核状态",
+            prop: "type",
+            addDisplay: false,
+            type: "select",
+            dicData: [
+              {
+                label: "通过",
+                value: "0",
+              },
+              {
+                label: "不通过",
+                value: "1",
+              },
+              {
+                label: "待审核",
+                value: "2",
+              },
+            ],
+          },
+        ],
+      },
+      data0: {},
+      forms: 0,
+      onit: false,
+      onits: false,
+      menuData: [
+        {
+          menuName: "保安服务公司许可",
+          centerUrl: "/img/logo.png",
+          topUrl: "url(/img/permit/服务许可背景图.jpg)",
+          targetUrl: "per",
+        },
+        {
+          menuName: "保安服务公司备案",
+          centerUrl: "/img/logo.png",
+          topUrl: "url(/img/permit/服务许可背景图.jpg)",
+        },
+        {
+          menuName: "自招保安单位备案撤销",
+          centerUrl: "/img/logo.png",
+          topUrl: "url(/img/permit/服务许可背景图.jpg)",
+        },
+        {
+          menuName: "跨区域经营备案",
+          centerUrl: "/img/logo.png",
+          topUrl: "url(/img/permit/服务许可背景图.jpg)",
+        },
+      ],
+      userName: "",
+    };
+  },
+  computed: {
+    ...mapGetters(["userInfo"]),
+  },
+  created() {
+    this.convert();
+    this.cc();
+  },
+  methods: {
+    cc: function () {
+      this.userName = this.$store.getters.userInfo.user_name;
+    },
+    convert: function () {
+      var caridid = this.$store.getters.userInfo.Id;
+      selectIn(caridid).then((res) => {
+        this.option.column[1].value = res.data.data.creditCode;
+        this.option.column[2].value = res.data.data.jurisdiction;
+        this.option.column[3].value = res.data.data.enterpriseName;
+        this.option.column[4].value = res.data.data.representative;
+        this.option.column[5].value = res.data.data.representativecell;
+        this.option.column[6].value = res.data.data.contacts;
+        this.option.column[7].value = res.data.data.contactscell;
+        this.option.column[8].value = res.data.data.establishTime;
+        this.option.column[9].value = res.data.data.registeredCapital;
+        this.option.column[10].value = res.data.data.capital;
+        this.option.column[11].value = res.data.data.organizationCode;
+        this.option.column[12].value = res.data.data.identificationNumber;
+        this.option.column[13].value = res.data.data.enterprises;
+        this.option.column[14].value = res.data.data.address;
+        this.option.column[15].value = res.data.data.business;
+        this.option.column[16].value = res.data.data.region;
+        this.option.column[17].value = res.data.data.registration;
+        this.option.column[18].value = res.data.data.industry;
+      });
+    },
+    ss() {
+      this.onits = true;
+      //this.$router.push({path: '/homespi'});
+    },
+    onNext() {
+      this.forms = 1;
+      this.onit = false;
+    },
+    targetClick(item) {
+      var url = item.targetUrl;
+      if (url == "per") {
+        this.onit = true;
+      }
+    },
+    tip0() {
+      this.forms = 2;
+    },
+    qx() {
+      this.forms = 0;
+    },
+    up() {
+      var d = {};
+      for (var k in this.obj0) {
+        for (var i in this.option.column) {
+          if (k == this.option.column[i].prop && k != "title0") {
+            d[k] = this.obj0[k];
+          }
+        }
+      }
+      this.data0 = d;
+      this.data0.ptype = this.$refs.name.value;
+      this.data0.cardid = this.$store.getters.userInfo.Id;
+      add(this.data0).then(() => {
+        this.tipover();
+      });
+    },
+    tip1() {
+      var d = {};
+      for (var k in this.obj0) {
+        for (var i in this.option.column) {
+          if (k == this.option.column[i].prop && k != "title0") {
+            d[k] = this.obj0[k];
+          }
+        }
+      }
+      this.data0 = d;
+      this.data0.ptype = this.$refs.name.value;
+      this.data0.deptid = this.$store.getters.userInfo.dept_id;
+      adds(this.data0).then(() => {
+        this.tipover();
+      });
+    },
+    tip1up1() {
+      this.forms = 1;
+    },
+    onLoad(page, params = {}) {
+      this.loading = true;
+      getList(
+        page.currentPage,
+        page.pageSize,
+        Object.assign(params, this.query)
+      ).then((res) => {
+        const data = res.data.data;
+        this.page.total = data.total;
+        this.data = data.records;
+        this.loading = false;
+        getListre(
+          page.currentPage,
+          page.pageSize,
+          Object.assign(params, this.query)
+        ).then((ress) => {
+          this.data = this.data.concat(ress.data.data.records);
+        });
+        getListrek(
+          page.currentPage,
+          page.pageSize,
+          Object.assign(params, this.query)
+        ).then((resk) => {
+          this.data = this.data.concat(resk.data.data.records);
+        });
+        getListrev(
+          page.currentPage,
+          page.pageSize,
+          Object.assign(params, this.query)
+        ).then((resv) => {
+          this.data = this.data.concat(resv.data.data.records);
+        });
+      });
+    },
+    rowUpdate(row, index, done, loading) {
+      update(row).then(
+        () => {
+          this.onLoad(this.page);
+          this.$message({
+            type: "success",
+            message: "操作成功!",
+          });
+          done();
+        },
+        (error) => {
+          loading();
+          console.log(error);
+        }
+      );
+    },
+    rowDel(row) {
+      this.$confirm("确定将选择数据删除?", {
+        confirmButtonText: "确定",
+        cancelButtonText: "取消",
+        type: "warning",
+      })
+        .then(() => {
+          return remove(row.id);
+        })
+        .then(() => {
+          this.onLoad(this.page);
+          this.$message({
+            type: "success",
+            message: "操作成功!",
+          });
+        });
+    },
+    beforeOpen(done, type) {
+      if (["edit", "view"].includes(type)) {
+        getDetail(this.form.id).then((res) => {
+          this.form = res.data.data;
+        });
+      }
+      done();
+    },
+    tipover() {
+      this.forms = 0;
+      this.obj0 = {
+        title0: "保安单位基本信息",
+      };
+      this.data0 = {};
+    },
+    js_method() {
+      // this.onit = false;
+      this.onNext();
+    },
+    js_methods() {
+      this.onits = false;
+    },
+    logout() {
+      this.$confirm(this.$t("logoutTip"), this.$t("tip"), {
+        confirmButtonText: this.$t("submitText"),
+        cancelButtonText: this.$t("cancelText"),
+        type: "warning",
+      }).then(() => {
+        this.$store.dispatch("LogOut").then(() => {
+          resetRouter();
+          this.$router.push({ path: "/login" });
+        });
+      });
+    },
+  },
+};
+</script>
+
+<style lang="scss" scoped>
+.dtype {
+  width: 80px;
+}
+
+.dx {
+  position: absolute;
+  top: 50%;
+  margin-top: -5px;
+  margin-left: 6px;
+  width: 10px;
+  height: 10px;
+  border-radius: 30%;
+  background: #dfdfdf;
+}
+
+.zc {
+  position: absolute;
+  top: 50%;
+  margin-top: -5px;
+  margin-left: 6px;
+  width: 10px;
+  height: 10px;
+  border-radius: 30%;
+  background: #29c093;
+}
+
+.yj {
+  position: absolute;
+  top: 50%;
+  margin-top: -5px;
+  margin-left: 6px;
+  width: 10px;
+  height: 10px;
+  border-radius: 30%;
+  background: #f34a4a;
+}
+
+.gz {
+  position: absolute;
+  top: 50%;
+  margin-top: -5px;
+  margin-left: 6px;
+  width: 10px;
+  height: 10px;
+  border-radius: 30%;
+  background: #f48f57;
+}
+
+.el-tag {
+  display: inline-block;
+  width: 80px;
+  /*padding-right: 40px !important;*/
+}
+
+.layui-layer-setwin {
+  position: absolute;
+  right: 15px;
+  right: 0;
+  top: 15px;
+  font-size: 0;
+  line-height: initial;
+
+  .layui-layer-close1 {
+    color: #fff;
+    background: url(/img/permit/close-btn.png) no-repeat;
+    padding-right: 10px;
+  }
+
+  a {
+    position: relative;
+    width: 16px;
+    height: 16px;
+    margin-left: 10px;
+    font-size: 12px;
+    _overflow: hidden;
+    display: inline-block;
+  }
+}
+
+.close {
+  position: absolute;
+  right: 20px;
+  top: 5px;
+}
+
+.hand-next {
+  text-align: center;
+  padding: 15px 0;
+}
+
+.first-box-outers {
+  position: fixed;
+  pointer-events: auto;
+  z-index: 999;
+  width: 100%;
+  height: 80%;
+  top: 120px;
+  left: 340px;
+  background-color: #fff;
+  box-shadow: 1px 1px 50px rgba(0, 0, 0, 0.3);
+  border-radius: 2px;
+
+  max-height: 790px;
+  max-width: 1240px;
+
+  .first-box-titles {
+    padding: 0 80px 0 20px;
+    height: 42px;
+    line-height: 42px;
+    overflow: hidden;
+    border-radius: 2px 2px 0 0;
+    text-overflow: ellipsis;
+    white-space: nowrap;
+    margin: 0;
+    width: 100%;
+  }
+
+  .first-box-content {
+    height: calc(100% - 42px);
+  }
+}
+
+.first-box-outer {
+  position: fixed;
+  pointer-events: auto;
+  z-index: 999;
+  width: 100%;
+  height: 90%;
+  top: 30px;
+  left: 340px;
+  background-color: #fff;
+  box-shadow: 1px 1px 50px rgba(0, 0, 0, 0.3);
+  border-radius: 2px;
+
+  max-height: 790px;
+  max-width: 1240px;
+
+  .first-box-title {
+    padding: 0 80px 0 20px;
+    height: 42px;
+    line-height: 42px;
+    overflow: hidden;
+    border-radius: 2px 2px 0 0;
+    text-overflow: ellipsis;
+    white-space: nowrap;
+    margin: 0;
+  }
+
+  .first-box-content {
+    height: calc(100% - 42px);
+    overflow-y: auto;
+
+    .handling-guideline {
+      .hand-title {
+        text-align: center;
+        font-size: 20px;
+        line-height: 50px;
+        font-weight: 600;
+      }
+
+      .hand-content {
+        width: 1000px;
+        padding: 30px;
+        margin: 0 auto;
+        margin-bottom: 0px;
+        background: #f9f9f9;
+        margin-bottom: 15px;
+
+        p {
+          font-size: 14px;
+          line-height: 28px;
+
+          label {
+            font-weight: bold;
+          }
+        }
+      }
+    }
+  }
+}
+
+.layui-layer-setwin {
+  position: absolute;
+  right: 15px;
+  right: 0;
+  top: 15px;
+  font-size: 0;
+  line-height: initial;
+}
+
+.detail-box {
+  position: fixed;
+  top: 0;
+  left: 0;
+  right: 0;
+  bottom: 50px;
+  margin: auto;
+  width: 600px;
+  height: 420px;
+  background: #fff;
+
+  .radio-custom {
+    position: relative;
+
+    input {
+      position: absolute;
+      top: 4px;
+      left: 0px;
+    }
+  }
+}
+
+.radio-custom {
+  margin-top: 15px;
+}
+
+.layui-layer-title {
+  background: #2575eb;
+  color: #fff;
+  border: none;
+  font-size: 16px;
+  text-align: center;
+}
+
+.radio-custom label {
+  min-height: 22px;
+  line-height: 22px;
+  margin-bottom: 0;
+  font-weight: 300;
+  cursor: pointer;
+  display: inline-block;
+  vertical-align: middle;
+  position: relative;
+  padding-left: 30px;
+  margin-left: 25px;
+  color: black;
+  font-weight: 700;
+}
+
+.radio-custom .handling-guideline {
+  margin-left: 50px;
+  margin-right: 25px;
+  margin-top: 5px;
+}
+
+//#barcon {
+//  position: fixed;
+//  top: calc(50% - 200px);
+//  left: calc(50% - 200px);
+//  z-index: 10;
+//  //top: 0;
+//  width: 400px;
+//  height: 400px;
+//  background-color: red;
+//}
+.main {
+  width: 80%;
+  display: flex;
+  flex-wrap: wrap;
+  justify-content: start;
+  position: absolute;
+  top: 20%;
+  right: 0;
+  left: 0;
+  bottom: auto;
+  margin: auto;
+
+  .item-box {
+    width: calc(25% - 12px);
+    height: 280px;
+    position: relative;
+    margin: 6px;
+    background: rgb(255, 255, 255);
+    border-radius: 10px;
+
+    .box-top {
+      position: absolute;
+      top: 0px;
+      left: 0px;
+      width: calc(100%);
+      height: calc(100% - 36px);
+      border-radius: 10px 10px 0 0;
+
+      .img-box {
+        position: absolute;
+        top: 0;
+        left: 0;
+        right: 0;
+        bottom: 0;
+        margin: auto;
+        width: 36px;
+        height: 36px;
+        border-radius: 50%;
+        background: rgba(17, 17, 17, 0.568);
+
+        img {
+          position: absolute;
+          top: 0;
+          left: 0;
+          right: 0;
+          bottom: 0;
+          margin: auto;
+          width: 24px;
+          height: 24px;
+        }
+      }
+    }
+
+    .box-bottom {
+      position: absolute;
+      bottom: 0;
+      left: 0;
+      width: 100%;
+      height: 36px;
+      line-height: 36px;
+      text-align: center;
+      background: white;
+      border-radius: 0 0 10px 10px;
+    }
+  }
+}
+</style>
diff --git a/vue.config.js b/vue.config.js
index 1742295..5e5adef 100644
--- a/vue.config.js
+++ b/vue.config.js
@@ -26,9 +26,10 @@
     proxy: {
       '/api': {
         //本地服务接口地址
-        target: 'http://localhost:81',
+        // target: 'http://localhost:81',
         //远程演示服务地址,可用于直接启动项目
-        //target: 'https://saber.bladex.vip/api',
+        // target: 'https://saber.bladex.vip/api',
+        target: 'http://192.168.0.109:81',
         ws: true,
         pathRewrite: {
           '^/api': '/'

--
Gitblit v1.9.3