From 347cd67d89ef45fa013c46967adca369cfa598f8 Mon Sep 17 00:00:00 2001
From: liuyg <376836862@qq.com>
Date: Sat, 28 Aug 2021 14:29:44 +0800
Subject: [PATCH] 许可

---
 src/views/licenseApproval/cancellationOfFiling.vue |  261 +++-----
 src/router/views/index.js                          |   13 
 src/views/licenseApproval/securityTraining.vue     |  122 ++-
 src/views/resource/attachOnce.vue                  |  418 +++++++++++++
 src/views/licenseApproval/securityGuard.vue        |  296 +++++++--
 src/views/licenseApproval/securityPermit.vue       |  123 ++-
 src/views/licenseApproval/crossRegion.vue          |  241 ++++----
 src/api/resource/attachOnce.js                     |   53 +
 src/views/licenseApproval/branchOffice.vue         |  231 ++++---
 9 files changed, 1,182 insertions(+), 576 deletions(-)

diff --git a/src/api/resource/attachOnce.js b/src/api/resource/attachOnce.js
new file mode 100644
index 0000000..45cfeed
--- /dev/null
+++ b/src/api/resource/attachOnce.js
@@ -0,0 +1,53 @@
+import request from '@/router/axios';
+
+export const getList = (current, size, params, cardid, type) => {
+  return request({
+    url: '/api/blade-resource/attach/list',
+    method: 'get',
+    params: {
+      ...params,
+      current,
+      size,
+      cardid,
+      type,
+    }
+  })
+}
+
+export const getDetail = (id) => {
+  return request({
+    url: '/api/blade-resource/attach/detail',
+    method: 'get',
+    params: {
+      id
+    }
+  })
+}
+
+export const remove = (ids) => {
+  return request({
+    url: '/api/blade-resource/attach/remove',
+    method: 'post',
+    params: {
+      ids,
+    }
+  })
+}
+
+
+export const add = (row) => {
+  return request({
+    url: '/api/blade-resource/attach/submit',
+    method: 'post',
+    data: row
+  })
+}
+
+export const update = (row) => {
+  return request({
+    url: '/api/blade-resource/attach/submit',
+    method: 'post',
+    data: row
+  })
+}
+
diff --git a/src/router/views/index.js b/src/router/views/index.js
index a62d88d..de2ce36 100644
--- a/src/router/views/index.js
+++ b/src/router/views/index.js
@@ -439,5 +439,18 @@
             component: () =>
                 import( /* webpackChunkName: "views" */ '@/views/statisticalQueryManagement/securityGuardDetail')
         }]
+    }, {
+        path: '/attachOnce',
+        redirect: '/resource/attachOnce',
+        component: Layout,
+        children: [{
+            path: 'index',
+            name: '附件查看',
+            meta: {
+                i18n: 'index',
+            },
+            component: () =>
+                import( /* webpackChunkName: "views" */ '@/views/resource/attachOnce')
+        }]
     }
 ]
\ No newline at end of file
diff --git a/src/views/licenseApproval/branchOffice.vue b/src/views/licenseApproval/branchOffice.vue
index f583fbe..4169ac7 100644
--- a/src/views/licenseApproval/branchOffice.vue
+++ b/src/views/licenseApproval/branchOffice.vue
@@ -1,8 +1,8 @@
 /*
  * @Author: liu
  * @Date: 2021-08-26 17:00:55 
- * @Last Modified by: mikey.zhaopeng
- * @Last Modified time: 2021-08-26 17:53:40
+ * @Last Modified by: liu
+ * @Last Modified time: 2021-08-28 10:28:39
  */
 
 
@@ -58,6 +58,14 @@
             @click.stop="rowDel(row)"
             >备案审批
           </el-button>
+          <el-button
+            icon="el-icon-edit"
+            :size="size"
+            :type="type"
+            @click.stop="viewLicense(row)"
+            v-if="row.type == '0'"
+            >打印备案证
+          </el-button>
         </template>
         <template class="tdtype" slot-scope="{ row }" slot="type">
           <el-tag class="dtype">
@@ -72,57 +80,6 @@
       </avue-crud>
     </basic-container>
 
-    <!-- <el-dialog
-      :visible.sync="dialogVisible"
-      :before-close="handleClose"
-      :modal-append-to-body="false"
-      width="1005px"
-      top="10vh"
-      class="printstyle"
-    >
-      <div id="licence_box">
-        <div class="licence" id="licence" v-if="dialogVisible">
-          <div class="licence-head">保安服务许可证</div>
-          <div class="head-tid">
-            洪公保服务
-            <span class="fontStyle">{{
-              licenceData.row.organizationcode
-            }}</span>
-            号
-          </div>
-          <div class="licence-main">
-            <div
-              class="l-m-once"
-              v-for="(item, index, key) in licenceData.chiden"
-              :key="key"
-            >
-              <span class="l-m-o-title"> {{ index }}: </span>
-              <span class="l-m-r-once">{{ item }}</span>
-            </div>
-          </div>
-          <div class="licence-bottom">发证机关(南昌市公安局)</div>
-          <div class="l-bottom">
-            发证日期
-            <span class="l-b-t">{{
-              licenceData.row.permitime.slice(0, 4)
-            }}</span
-            >年
-            <span class="l-b-t">{{
-              licenceData.row.permitime.slice(5, 7)
-            }}</span>
-            月
-            <span class="l-b-t">{{
-              licenceData.row.permitime.slice(8, 10)
-            }}</span>
-            日
-          </div>
-        </div>
-      </div>
-
-      <span slot="footer" class="dialog-footer">
-        <el-button type="primary" @click="Print">打 印</el-button>
-      </span>
-    </el-dialog> -->
     <div
       v-if="dialogVisible"
       class="dialogVisibles"
@@ -134,7 +91,7 @@
         ref="licence"
       >
         <div class="licence" id="licence" v-if="dialogVisible">
-          <div class="licence-head">保安服务许可证</div>
+          <div class="licence-head">备案证</div>
           <div class="head-tid">
             洪公保服务
             <span class="fontStyle">{{
@@ -183,7 +140,7 @@
       :modal-append-to-body="false"
     >
       <div class="flots">
-        <span class="f_title">是否通过审批?</span>
+        <span class="f_title">是否通过备案审批?</span>
         <span class="f_body">请输入修改意见:</span>
         <textarea
           name="reworkmes"
@@ -193,8 +150,8 @@
           v-model="textareaShenpi"
         ></textarea>
         <div class="but">
-          <el-button @click="closecc">通过</el-button>
-          <el-button type="primary" @click="subcc">不通过</el-button>
+          <el-button type="danger" @click="subcc">不通过</el-button>
+          <el-button type="primary" @click="closecc">通过</el-button>
         </div>
       </div>
     </el-dialog>
@@ -285,6 +242,8 @@
           {
             label: "法定代表人",
             prop: "representative",
+            searchLabelWidth: 90,
+            search: true,
             width: 82,
             rules: [
               {
@@ -329,6 +288,44 @@
                 trigger: "blur",
               },
             ],
+          },
+          {
+            label: "单位许可证编号",
+            prop: "perid",
+            // labelWidth: 160,
+            // span: 12,
+            hide: true,
+            rules: [
+              {
+                required: true,
+                message: "单位许可证编号",
+                trigger: "blur",
+              },
+            ],
+          },
+          {
+            label: "许可证发证机关",
+            prop: "offices",
+            // labelWidth: 160,
+            // span: 12,
+            hide: true,
+            rules: [
+              {
+                required: true,
+                message: "许可证发证机关",
+                trigger: "blur",
+              },
+            ],
+          },
+          {
+            label: "发证时间",
+            prop: "officetime",
+            // labelWidth: 160,
+            // span: 12,
+            hide: true,
+            type: "date",
+            format: "yyyy-MM-dd",
+            valueFormat: "yyyy-MM-dd",
           },
           {
             label: "注册时间",
@@ -380,30 +377,30 @@
               },
             ],
           },
-          {
-            label: "纳税人识别号",
-            prop: "identificationnumber",
-            hide: true,
-            rules: [
-              {
-                required: true,
-                message: "请输入纳税人识别号",
-                trigger: "blur",
-              },
-            ],
-          },
-          {
-            label: "企业类型",
-            hide: true,
-            prop: "enterprises",
-            rules: [
-              {
-                required: true,
-                message: "请输入企业类型",
-                trigger: "blur",
-              },
-            ],
-          },
+          // {
+          //   label: "纳税人识别号",
+          //   prop: "identificationnumber",
+          //   hide: true,
+          //   rules: [
+          //     {
+          //       required: true,
+          //       message: "请输入纳税人识别号",
+          //       trigger: "blur",
+          //     },
+          //   ],
+          // },
+          // {
+          //   label: "企业类型",
+          //   hide: true,
+          //   prop: "enterprises",
+          //   rules: [
+          //     {
+          //       required: true,
+          //       message: "请输入企业类型",
+          //       trigger: "blur",
+          //     },
+          //   ],
+          // },
           {
             label: "注册地址",
             prop: "address",
@@ -416,18 +413,18 @@
               },
             ],
           },
-          {
-            label: "所属地区",
-            hide: true,
-            prop: "region",
-            rules: [
-              {
-                required: true,
-                message: "请输入所属地区",
-                trigger: "blur",
-              },
-            ],
-          },
+          // {
+          //   label: "所属地区",
+          //   hide: true,
+          //   prop: "region",
+          //   rules: [
+          //     {
+          //       required: true,
+          //       message: "请输入所属地区",
+          //       trigger: "blur",
+          //     },
+          //   ],
+          // },
           {
             label: "登记机关",
             prop: "registration",
@@ -452,33 +449,41 @@
               },
             ],
           },
+          // {
+          //   label: "所属机构",
+          //   prop: "deptid",
+          //   addDisplay: false,
+          //   type: "select",
+          //   hide: true,
+          //   dicUrl: "/api/blade-system/dept/selectIn",
+          //   props: {
+          //     label: "deptname",
+          //     value: "deptid",
+          //   },
+          // },
           {
-            label: "所属机构",
-            prop: "deptid",
-            addDisplay: false,
-            type: "select",
-            hide: true,
-            dicUrl: "/api/blade-system/dept/selectIn",
+            label: "所属辖区",
+            prop: "jurisdiction",
+            type: "tree",
+            dicUrl: "/api/jurisdiction/lazy-trees",
             props: {
-              label: "deptname",
-              value: "deptid",
+              label: "title",
+              value: "id",
             },
+            // labelWidth: 160,
+            // span: 12,
           },
           {
             label: "许可类型",
-            search: true,
+            // search: true,
             hide: true,
             prop: "ptype",
             type: "select",
             searchSpan: 4,
             dicData: [
               {
-                label: "保安服务许可",
-                value: "0",
-              },
-              {
-                label: "保安培训许可",
-                value: "1",
+                label: "设立分公司备案",
+                value: "2",
               },
             ],
           },
@@ -559,11 +564,12 @@
     },
 
     handleCredentials(row) {
+      // console.log(row, "21354");
       this.$router.push({
-        path: "/attach/index",
+        path: "/attachOnce/index",
         // redirect: { name: "foo" },
         // query: { row: row },
-        query: { deptid: row.deptid, type: "0" },
+        query: { deptid: row.cardid, type: "0" },
         // params: { row: row.identificationnumber },
       });
     },
@@ -801,7 +807,7 @@
   width: 960px;
   height: 648px;
   background-color: #fff !important;
-  background-image: url("../../static/img/permit/服务许可背景图.png");
+  background-image: url("/img/permit/服务许可背景图.png");
   background-size: 100% 100%;
   background-repeat: no-repeat;
   box-sizing: border-box;
@@ -872,6 +878,9 @@
   display: flex;
   justify-content: space-between;
   flex-direction: column;
+  span {
+    display: inline-block;
+  }
   .f_title {
     position: absolute;
     top: 15px;
diff --git a/src/views/licenseApproval/cancellationOfFiling.vue b/src/views/licenseApproval/cancellationOfFiling.vue
index 9030f1c..f123d92 100644
--- a/src/views/licenseApproval/cancellationOfFiling.vue
+++ b/src/views/licenseApproval/cancellationOfFiling.vue
@@ -1,8 +1,8 @@
 /*
  * @Author: liu
  * @Date: 2021-08-26 17:00:04 
- * @Last Modified by: mikey.zhaopeng
- * @Last Modified time: 2021-08-26 17:03:44
+ * @Last Modified by: liu
+ * @Last Modified time: 2021-08-28 10:28:44
  */
 
 
@@ -56,15 +56,7 @@
             :type="type"
             @click.stop="rowDel(row)"
             v-if="row.type == '2'"
-            >许可审批
-          </el-button>
-          <el-button
-            icon="el-icon-edit"
-            :size="size"
-            :type="type"
-            @click.stop="viewLicense(row)"
-            v-if="row.type == '0'"
-            >打印许可证
+            >撤销备案审批
           </el-button>
         </template>
         <template class="tdtype" slot-scope="{ row }" slot="type">
@@ -80,110 +72,6 @@
       </avue-crud>
     </basic-container>
 
-    <!-- <el-dialog
-      :visible.sync="dialogVisible"
-      :before-close="handleClose"
-      :modal-append-to-body="false"
-      width="1005px"
-      top="10vh"
-      class="printstyle"
-    >
-      <div id="licence_box">
-        <div class="licence" id="licence" v-if="dialogVisible">
-          <div class="licence-head">保安服务许可证</div>
-          <div class="head-tid">
-            洪公保服务
-            <span class="fontStyle">{{
-              licenceData.row.organizationcode
-            }}</span>
-            号
-          </div>
-          <div class="licence-main">
-            <div
-              class="l-m-once"
-              v-for="(item, index, key) in licenceData.chiden"
-              :key="key"
-            >
-              <span class="l-m-o-title"> {{ index }}: </span>
-              <span class="l-m-r-once">{{ item }}</span>
-            </div>
-          </div>
-          <div class="licence-bottom">发证机关(南昌市公安局)</div>
-          <div class="l-bottom">
-            发证日期
-            <span class="l-b-t">{{
-              licenceData.row.permitime.slice(0, 4)
-            }}</span
-            >年
-            <span class="l-b-t">{{
-              licenceData.row.permitime.slice(5, 7)
-            }}</span>
-            月
-            <span class="l-b-t">{{
-              licenceData.row.permitime.slice(8, 10)
-            }}</span>
-            日
-          </div>
-        </div>
-      </div>
-
-      <span slot="footer" class="dialog-footer">
-        <el-button type="primary" @click="Print">打 印</el-button>
-      </span>
-    </el-dialog> -->
-    <div
-      v-if="dialogVisible"
-      class="dialogVisibles"
-      :class="classStyle == 'print' ? 'printstyle' : ''"
-    >
-      <div
-        id="licence_box"
-        :class="classStyle == 'print' ? 'printstyle' : ''"
-        ref="licence"
-      >
-        <div class="licence" id="licence" v-if="dialogVisible">
-          <div class="licence-head">保安服务许可证</div>
-          <div class="head-tid">
-            洪公保服务
-            <span class="fontStyle">{{
-              licenceData.row.organizationcode
-            }}</span>
-            号
-          </div>
-          <div class="licence-main">
-            <div
-              class="l-m-once"
-              v-for="(item, index, key) in licenceData.chiden"
-              :key="key"
-            >
-              <span class="l-m-o-title"> {{ index }}: </span>
-              <span class="l-m-r-once">{{ item }}</span>
-            </div>
-          </div>
-          <div class="licence-bottom">发证机关(南昌市公安局)</div>
-          <div class="l-bottom">
-            发证日期
-            <span class="l-b-t">{{
-              licenceData.row.permitime.slice(0, 4)
-            }}</span
-            >年
-            <span class="l-b-t">{{
-              licenceData.row.permitime.slice(5, 7)
-            }}</span>
-            月
-            <span class="l-b-t">{{
-              licenceData.row.permitime.slice(8, 10)
-            }}</span>
-            日
-          </div>
-        </div>
-        <span slot="footer" class="dialog-footer no-print PrintBut">
-          <el-button type="primary" @click="Print">打 印</el-button>
-          <el-button type="primary" @click="closePrint"> 取 消 </el-button>
-        </span>
-      </div>
-    </div>
-
     <el-dialog
       title=""
       :visible.sync="dialogVisiblecc"
@@ -191,7 +79,7 @@
       :modal-append-to-body="false"
     >
       <div class="flots">
-        <span class="f_title">是否通过审核?</span>
+        <span class="f_title">是否通过撤销备案审批?</span>
         <span class="f_body">请输入修改意见:</span>
         <textarea
           name="reworkmes"
@@ -201,8 +89,8 @@
           v-model="textareaShenpi"
         ></textarea>
         <div class="but">
-          <el-button @click="closecc">通过</el-button>
-          <el-button type="primary" @click="subcc">不通过</el-button>
+          <el-button type="danger" @click="subcc">不通过</el-button>
+          <el-button type="primary" @click="closecc">通过</el-button>
         </div>
       </div>
     </el-dialog>
@@ -210,7 +98,13 @@
 </template>
 
 <script>
-import { getList, getDetail, add, update, remove } from "@/api/licenseApproval/revoke";
+import {
+  getList,
+  getDetail,
+  add,
+  update,
+  remove,
+} from "@/api/licenseApproval/revoke";
 import { mapGetters } from "vuex";
 
 export default {
@@ -287,6 +181,8 @@
           {
             label: "法定代表人",
             prop: "representative",
+            searchLabelWidth: 90,
+            search: true,
             width: 82,
             rules: [
               {
@@ -382,30 +278,30 @@
               },
             ],
           },
-          {
-            label: "纳税人识别号",
-            prop: "identificationnumber",
-            hide: true,
-            rules: [
-              {
-                required: true,
-                message: "请输入纳税人识别号",
-                trigger: "blur",
-              },
-            ],
-          },
-          {
-            label: "企业类型",
-            hide: true,
-            prop: "enterprises",
-            rules: [
-              {
-                required: true,
-                message: "请输入企业类型",
-                trigger: "blur",
-              },
-            ],
-          },
+          // {
+          //   label: "纳税人识别号",
+          //   prop: "identificationnumber",
+          //   hide: true,
+          //   rules: [
+          //     {
+          //       required: true,
+          //       message: "请输入纳税人识别号",
+          //       trigger: "blur",
+          //     },
+          //   ],
+          // },
+          // {
+          //   label: "企业类型",
+          //   hide: true,
+          //   prop: "enterprises",
+          //   rules: [
+          //     {
+          //       required: true,
+          //       message: "请输入企业类型",
+          //       trigger: "blur",
+          //     },
+          //   ],
+          // },
           {
             label: "注册地址",
             prop: "address",
@@ -418,18 +314,18 @@
               },
             ],
           },
-          {
-            label: "所属地区",
-            hide: true,
-            prop: "region",
-            rules: [
-              {
-                required: true,
-                message: "请输入所属地区",
-                trigger: "blur",
-              },
-            ],
-          },
+          // {
+          //   label: "所属地区",
+          //   hide: true,
+          //   prop: "region",
+          //   rules: [
+          //     {
+          //       required: true,
+          //       message: "请输入所属地区",
+          //       trigger: "blur",
+          //     },
+          //   ],
+          // },
           {
             label: "登记机关",
             prop: "registration",
@@ -454,21 +350,33 @@
               },
             ],
           },
+          // {
+          //   label: "所属机构",
+          //   prop: "deptid",
+          //   addDisplay: false,
+          //   type: "select",
+          //   hide: true,
+          //   dicUrl: "/api/blade-system/dept/selectIn",
+          //   props: {
+          //     label: "deptname",
+          //     value: "deptid",
+          //   },
+          // },
           {
-            label: "所属机构",
-            prop: "deptid",
-            addDisplay: false,
-            type: "select",
-            hide: true,
-            dicUrl: "/api/blade-system/dept/selectIn",
+            label: "所属辖区",
+            prop: "jurisdiction",
+            type: "tree",
+            dicUrl: "/api/jurisdiction/lazy-trees",
             props: {
-              label: "deptname",
-              value: "deptid",
+              label: "title",
+              value: "id",
             },
+            // labelWidth: 160,
+            // span: 12,
           },
           {
             label: "许可类型",
-            search: true,
+            // search: true,
             hide: true,
             prop: "ptype",
             type: "select",
@@ -477,10 +385,6 @@
               {
                 label: "保安服务许可",
                 value: "0",
-              },
-              {
-                label: "保安培训许可",
-                value: "1",
               },
             ],
           },
@@ -529,6 +433,21 @@
               },
             ],
           },
+          {
+            label: "撤销原因",
+            prop: "reason",
+            // labelWidth: 160,
+            // span: 24,
+            hide: true,
+            type: "textarea",
+            rules: [
+              {
+                required: true,
+                message: "请输入撤销原因",
+                trigger: "blur",
+              },
+            ],
+          },
         ],
       },
       data: [],
@@ -562,10 +481,10 @@
 
     handleCredentials(row) {
       this.$router.push({
-        path: "/attach/index",
+        path: "/attachOnce/index",
         // redirect: { name: "foo" },
         // query: { row: row },
-        query: { deptid: row.deptid, type: "0" },
+        query: { deptid: row.cardid, type: "0" },
         // params: { row: row.identificationnumber },
       });
     },
@@ -795,7 +714,7 @@
   width: 960px;
   height: 648px;
   background-color: #fff !important;
-  background-image: url("../../static/img/permit/服务许可背景图.png");
+  background-image: url("/img/permit/服务许可背景图.png");
   background-size: 100% 100%;
   background-repeat: no-repeat;
   box-sizing: border-box;
diff --git a/src/views/licenseApproval/crossRegion.vue b/src/views/licenseApproval/crossRegion.vue
index 5761995..29b43ca 100644
--- a/src/views/licenseApproval/crossRegion.vue
+++ b/src/views/licenseApproval/crossRegion.vue
@@ -1,8 +1,8 @@
 /*
  * @Author:liu
  * @Date: 2021-08-26 16:59:35 
- * @Last Modified by: mikey.zhaopeng
- * @Last Modified time: 2021-08-26 17:09:23
+ * @Last Modified by: liu
+ * @Last Modified time: 2021-08-28 10:28:50
  */
 
 
@@ -56,7 +56,7 @@
             :type="type"
             @click.stop="rowDel(row)"
             v-if="row.type == '2'"
-            >许可审批
+            >备案审批
           </el-button>
           <el-button
             icon="el-icon-edit"
@@ -64,7 +64,7 @@
             :type="type"
             @click.stop="viewLicense(row)"
             v-if="row.type == '0'"
-            >打印许可证
+            >打印备案证
           </el-button>
         </template>
         <template class="tdtype" slot-scope="{ row }" slot="type">
@@ -79,58 +79,6 @@
         </template>
       </avue-crud>
     </basic-container>
-
-    <!-- <el-dialog
-      :visible.sync="dialogVisible"
-      :before-close="handleClose"
-      :modal-append-to-body="false"
-      width="1005px"
-      top="10vh"
-      class="printstyle"
-    >
-      <div id="licence_box">
-        <div class="licence" id="licence" v-if="dialogVisible">
-          <div class="licence-head">保安服务许可证</div>
-          <div class="head-tid">
-            洪公保服务
-            <span class="fontStyle">{{
-              licenceData.row.organizationcode
-            }}</span>
-            号
-          </div>
-          <div class="licence-main">
-            <div
-              class="l-m-once"
-              v-for="(item, index, key) in licenceData.chiden"
-              :key="key"
-            >
-              <span class="l-m-o-title"> {{ index }}: </span>
-              <span class="l-m-r-once">{{ item }}</span>
-            </div>
-          </div>
-          <div class="licence-bottom">发证机关(南昌市公安局)</div>
-          <div class="l-bottom">
-            发证日期
-            <span class="l-b-t">{{
-              licenceData.row.permitime.slice(0, 4)
-            }}</span
-            >年
-            <span class="l-b-t">{{
-              licenceData.row.permitime.slice(5, 7)
-            }}</span>
-            月
-            <span class="l-b-t">{{
-              licenceData.row.permitime.slice(8, 10)
-            }}</span>
-            日
-          </div>
-        </div>
-      </div>
-
-      <span slot="footer" class="dialog-footer">
-        <el-button type="primary" @click="Print">打 印</el-button>
-      </span>
-    </el-dialog> -->
     <div
       v-if="dialogVisible"
       class="dialogVisibles"
@@ -142,7 +90,7 @@
         ref="licence"
       >
         <div class="licence" id="licence" v-if="dialogVisible">
-          <div class="licence-head">保安服务许可证</div>
+          <div class="licence-head">备案证</div>
           <div class="head-tid">
             洪公保服务
             <span class="fontStyle">{{
@@ -183,7 +131,6 @@
         </span>
       </div>
     </div>
-
     <el-dialog
       title=""
       :visible.sync="dialogVisiblecc"
@@ -191,7 +138,7 @@
       :modal-append-to-body="false"
     >
       <div class="flots">
-        <span class="f_title">是否通过审核?</span>
+        <span class="f_title">是否通过备案审批?</span>
         <span class="f_body">请输入修改意见:</span>
         <textarea
           name="reworkmes"
@@ -201,8 +148,8 @@
           v-model="textareaShenpi"
         ></textarea>
         <div class="but">
-          <el-button @click="closecc">通过</el-button>
-          <el-button type="primary" @click="subcc">不通过</el-button>
+          <el-button type="danger" @click="subcc">不通过</el-button>
+          <el-button type="primary" @click="closecc">通过</el-button>
         </div>
       </div>
     </el-dialog>
@@ -210,7 +157,13 @@
 </template>
 
 <script>
-import { getList, getDetail, add, update, remove } from "@/api/licenseApproval/recordk";
+import {
+  getList,
+  getDetail,
+  add,
+  update,
+  remove,
+} from "@/api/licenseApproval/recordk";
 import { mapGetters } from "vuex";
 
 export default {
@@ -287,6 +240,8 @@
           {
             label: "法定代表人",
             prop: "representative",
+            search: true,
+            searchLabelWidth: 90,
             width: 82,
             rules: [
               {
@@ -331,6 +286,44 @@
                 trigger: "blur",
               },
             ],
+          },
+          {
+            label: "单位许可证编号",
+            prop: "perid",
+            // labelWidth: 160,
+            // span: 12,
+            hide: true,
+            rules: [
+              {
+                required: true,
+                message: "单位许可证编号",
+                trigger: "blur",
+              },
+            ],
+          },
+          {
+            label: "许可证发证机关",
+            prop: "offices",
+            // labelWidth: 160,
+            // span: 12,
+            hide: true,
+            rules: [
+              {
+                required: true,
+                message: "许可证发证机关",
+                trigger: "blur",
+              },
+            ],
+          },
+          {
+            label: "发证时间",
+            prop: "officetime",
+            // labelWidth: 160,
+            // span: 12,
+            hide: true,
+            type: "date",
+            format: "yyyy-MM-dd",
+            valueFormat: "yyyy-MM-dd",
           },
           {
             label: "注册时间",
@@ -382,30 +375,30 @@
               },
             ],
           },
-          {
-            label: "纳税人识别号",
-            prop: "identificationnumber",
-            hide: true,
-            rules: [
-              {
-                required: true,
-                message: "请输入纳税人识别号",
-                trigger: "blur",
-              },
-            ],
-          },
-          {
-            label: "企业类型",
-            hide: true,
-            prop: "enterprises",
-            rules: [
-              {
-                required: true,
-                message: "请输入企业类型",
-                trigger: "blur",
-              },
-            ],
-          },
+          // {
+          //   label: "纳税人识别号",
+          //   prop: "identificationnumber",
+          //   hide: true,
+          //   rules: [
+          //     {
+          //       required: true,
+          //       message: "请输入纳税人识别号",
+          //       trigger: "blur",
+          //     },
+          //   ],
+          // },
+          // {
+          //   label: "企业类型",
+          //   hide: true,
+          //   prop: "enterprises",
+          //   rules: [
+          //     {
+          //       required: true,
+          //       message: "请输入企业类型",
+          //       trigger: "blur",
+          //     },
+          //   ],
+          // },
           {
             label: "注册地址",
             prop: "address",
@@ -418,18 +411,18 @@
               },
             ],
           },
-          {
-            label: "所属地区",
-            hide: true,
-            prop: "region",
-            rules: [
-              {
-                required: true,
-                message: "请输入所属地区",
-                trigger: "blur",
-              },
-            ],
-          },
+          // {
+          //   label: "所属地区",
+          //   hide: true,
+          //   prop: "region",
+          //   rules: [
+          //     {
+          //       required: true,
+          //       message: "请输入所属地区",
+          //       trigger: "blur",
+          //     },
+          //   ],
+          // },
           {
             label: "登记机关",
             prop: "registration",
@@ -454,33 +447,41 @@
               },
             ],
           },
-          {
-            label: "所属机构",
-            prop: "deptid",
-            addDisplay: false,
-            type: "select",
-            hide: true,
-            dicUrl: "/api/blade-system/dept/selectIn",
-            props: {
-              label: "deptname",
-              value: "deptid",
-            },
-          },
+          // {
+          //   label: "所属机构",
+          //   prop: "deptid",
+          //   addDisplay: false,
+          //   type: "select",
+          //   hide: true,
+          //   dicUrl: "/api/blade-system/dept/selectIn",
+          //   props: {
+          //     label: "deptname",
+          //     value: "deptid",
+          //   },
+          // },
+          // {
+          //   label: "所属辖区",
+          //   prop: "jurisdiction",
+          //   type: "tree",
+          //   dicUrl: "/api/jurisdiction/lazy-trees",
+          //   props: {
+          //     label: "title",
+          //     value: "id",
+          //   },
+          //   // labelWidth: 160,
+          //   // span: 12,
+          // },
           {
             label: "许可类型",
-            search: true,
+            // search: true,
             hide: true,
             prop: "ptype",
             type: "select",
             searchSpan: 4,
             dicData: [
               {
-                label: "保安服务许可",
-                value: "0",
-              },
-              {
-                label: "保安培训许可",
-                value: "1",
+                label: "设立分公司备案",
+                value: "2",
               },
             ],
           },
@@ -562,10 +563,10 @@
 
     handleCredentials(row) {
       this.$router.push({
-        path: "/attach/index",
+        path: "/attachOnce/index",
         // redirect: { name: "foo" },
         // query: { row: row },
-        query: { deptid: row.deptid, type: "0" },
+        query: { deptid: row.cardid, type: "0" },
         // params: { row: row.identificationnumber },
       });
     },
@@ -795,7 +796,7 @@
   width: 960px;
   height: 648px;
   background-color: #fff !important;
-  background-image: url("../../static/img/permit/服务许可背景图.png");
+  background-image: url("/img/permit/服务许可背景图.png");
   background-size: 100% 100%;
   background-repeat: no-repeat;
   box-sizing: border-box;
diff --git a/src/views/licenseApproval/securityGuard.vue b/src/views/licenseApproval/securityGuard.vue
index 82b91c8..e66fbe1 100644
--- a/src/views/licenseApproval/securityGuard.vue
+++ b/src/views/licenseApproval/securityGuard.vue
@@ -1,8 +1,8 @@
 /*
  * @Author: liu
  * @Date: 2021-08-26 16:57:58 
- * @Last Modified by: mikey.zhaopeng
- * @Last Modified time: 2021-08-26 17:54:06
+ * @Last Modified by: liu
+ * @Last Modified time: 2021-08-28 10:42:08
  */
 
 
@@ -58,6 +58,22 @@
             @click.stop="rowDel(row)"
             >备案审批
           </el-button>
+          <el-button
+            icon="el-icon-edit"
+            :size="size"
+            :type="type"
+            @click.stop="viewLicense(row)"
+            v-if="row.type == '0'"
+            >打印备案证
+          </el-button>
+          <el-button
+            icon="el-icon-edit"
+            :size="size"
+            :type="type"
+            v-show="row.type == 0"
+            @click.stop="viewLicensehuizhi(row)"
+            >回执打印
+          </el-button>
         </template>
         <template class="tdtype" slot-scope="{ row }" slot="type">
           <el-tag class="dtype">
@@ -82,7 +98,7 @@
         ref="licence"
       >
         <div class="licence" id="licence" v-if="dialogVisible">
-          <div class="licence-head">保安服务许可证</div>
+          <div class="licence-head">备案证</div>
           <div class="head-tid">
             洪公保服务
             <span class="fontStyle">{{
@@ -124,6 +140,48 @@
       </div>
     </div>
 
+    <div
+      v-if="dialogVisiblehuizhi"
+      class="dialogVisibles"
+      :class="classStyle == 'print' ? 'printstyle' : ''"
+    >
+      <div
+        id="licence_box"
+        :class="classStyle == 'print' ? 'printstyle' : ''"
+        ref="licencelicencehuizhi"
+      >
+        <div
+          class="licencehuizhi exam-box"
+          id="licencehuizhi"
+          v-if="dialogVisiblehuizhi"
+        >
+          <h3>回执单</h3>
+          <p>
+            南昌市公安局已收到
+            <span>{{ rowData == null ? "" : rowData.enterprisename }}</span>
+            的相关备案申请!
+          </p>
+
+          <div class="examine-bottom">
+            <ul>
+              <li>审批单位:<span>南昌市公安局</span></li>
+              <li>
+                日期:<span>{{
+                  rowData == null ? "" : rowData.examinetime
+                }}</span>
+              </li>
+            </ul>
+          </div>
+        </div>
+        <span slot="footer" class="dialog-footer no-print PrintBut">
+          <el-button type="primary" @click="Printhuizhi">打 印</el-button>
+          <el-button type="primary" @click="closePrinthuizhi">
+            取 消
+          </el-button>
+        </span>
+      </div>
+    </div>
+
     <el-dialog
       title=""
       :visible.sync="dialogVisiblecc"
@@ -131,7 +189,7 @@
       :modal-append-to-body="false"
     >
       <div class="flots">
-        <span class="f_title">是否通过审核?</span>
+        <span class="f_title">是否通过备案审批?</span>
         <span class="f_body">请输入修改意见:</span>
         <textarea
           name="reworkmes"
@@ -141,8 +199,8 @@
           v-model="textareaShenpi"
         ></textarea>
         <div class="but">
-          <el-button @click="closecc">通过</el-button>
-          <el-button type="primary" @click="subcc">不通过</el-button>
+          <el-button type="danger" @click="subcc">不通过</el-button>
+          <el-button type="primary" @click="closecc">通过</el-button>
         </div>
       </div>
     </el-dialog>
@@ -166,6 +224,8 @@
 
       dialogVisiblecc: false, //许可证审核抽屉
       xukezData: {},
+
+      dialogVisiblehuizhi: false, //回执
 
       dialogVisible: false, //许可证抽屉
       licenceData: {
@@ -192,7 +252,7 @@
         searchShow: true,
         searchMenuSpan: 8,
         border: true,
-        menuWidth: 300,
+        menuWidth: 378,
         labelWidth: 130,
         headerAlign: "center",
         align: "center",
@@ -209,7 +269,7 @@
             searchLabelWidth: 80,
             searchSpan: 4,
             overHidden: true,
-            width: 250,
+            width: 200,
             rules: [
               {
                 required: true,
@@ -233,7 +293,9 @@
           {
             label: "法定代表人",
             prop: "representative",
+            search: true,
             width: 82,
+            searchLabelWidth: 90,
             rules: [
               {
                 required: true,
@@ -277,6 +339,44 @@
                 trigger: "blur",
               },
             ],
+          },
+          {
+            label: "单位许可证编号",
+            prop: "perid",
+            // labelWidth: 160,
+            // span: 12,
+            hide: true,
+            rules: [
+              {
+                required: true,
+                message: "单位许可证编号",
+                trigger: "blur",
+              },
+            ],
+          },
+          {
+            label: "许可证发证机关",
+            prop: "offices",
+            // labelWidth: 160,
+            // span: 12,
+            hide: true,
+            rules: [
+              {
+                required: true,
+                message: "许可证发证机关",
+                trigger: "blur",
+              },
+            ],
+          },
+          {
+            label: "发证时间",
+            prop: "officetime",
+            // labelWidth: 160,
+            // span: 12,
+            hide: true,
+            type: "date",
+            format: "yyyy-MM-dd",
+            valueFormat: "yyyy-MM-dd",
           },
           {
             label: "注册时间",
@@ -328,30 +428,30 @@
               },
             ],
           },
-          {
-            label: "纳税人识别号",
-            prop: "identificationnumber",
-            hide: true,
-            rules: [
-              {
-                required: true,
-                message: "请输入纳税人识别号",
-                trigger: "blur",
-              },
-            ],
-          },
-          {
-            label: "企业类型",
-            hide: true,
-            prop: "enterprises",
-            rules: [
-              {
-                required: true,
-                message: "请输入企业类型",
-                trigger: "blur",
-              },
-            ],
-          },
+          // {
+          //   label: "纳税人识别号",
+          //   prop: "identificationnumber",
+          //   hide: true,
+          //   rules: [
+          //     {
+          //       required: true,
+          //       message: "请输入纳税人识别号",
+          //       trigger: "blur",
+          //     },
+          //   ],
+          // },
+          // {
+          //   label: "企业类型",
+          //   hide: true,
+          //   prop: "enterprises",
+          //   rules: [
+          //     {
+          //       required: true,
+          //       message: "请输入企业类型",
+          //       trigger: "blur",
+          //     },
+          //   ],
+          // },
           {
             label: "注册地址",
             prop: "address",
@@ -364,18 +464,18 @@
               },
             ],
           },
-          {
-            label: "所属地区",
-            hide: true,
-            prop: "region",
-            rules: [
-              {
-                required: true,
-                message: "请输入所属地区",
-                trigger: "blur",
-              },
-            ],
-          },
+          // {
+          //   label: "所属地区",
+          //   hide: true,
+          //   prop: "region",
+          //   rules: [
+          //     {
+          //       required: true,
+          //       message: "请输入所属地区",
+          //       trigger: "blur",
+          //     },
+          //   ],
+          // },
           {
             label: "登记机关",
             prop: "registration",
@@ -400,33 +500,41 @@
               },
             ],
           },
+          // {
+          //   label: "所属机构",
+          //   prop: "deptid",
+          //   addDisplay: false,
+          //   type: "select",
+          //   hide: true,
+          //   dicUrl: "/api/blade-system/dept/selectIn",
+          //   props: {
+          //     label: "deptname",
+          //     value: "deptid",
+          //   },
+          // },
           {
-            label: "所属机构",
-            prop: "deptid",
-            addDisplay: false,
-            type: "select",
-            hide: true,
-            dicUrl: "/api/blade-system/dept/selectIn",
+            label: "所属辖区",
+            prop: "jurisdiction",
+            type: "tree",
+            dicUrl: "/api/jurisdiction/lazy-trees",
             props: {
-              label: "deptname",
-              value: "deptid",
+              label: "title",
+              value: "id",
             },
+            // labelWidth: 160,
+            // span: 12,
           },
           {
             label: "许可类型",
-            search: true,
+            // search: true,
             hide: true,
             prop: "ptype",
             type: "select",
             searchSpan: 4,
             dicData: [
               {
-                label: "保安服务许可",
-                value: "0",
-              },
-              {
-                label: "保安培训许可",
-                value: "1",
+                label: "自招保安单位备案",
+                value: "3",
               },
             ],
           },
@@ -445,6 +553,7 @@
             prop: "type",
             addDisplay: false,
             type: "select",
+            width: 80,
             dicData: [
               {
                 label: "通过",
@@ -502,16 +611,19 @@
   //     console.log(this.userInfo.dept_id);
   // },
   methods: {
+    Printhuizhi() {
+      this.$Print(this.$refs.licencehuizhi);
+    },
     Print() {
       this.$Print(this.$refs.licence);
     },
 
     handleCredentials(row) {
       this.$router.push({
-        path: "/attach/index",
+        path: "/attachOnce/index",
         // redirect: { name: "foo" },
         // query: { row: row },
-        query: { deptid: row.deptid, type: "0" },
+        query: { deptid: row.cardid, type: "0" },
         // params: { row: row.identificationnumber },
       });
     },
@@ -568,6 +680,12 @@
       this.textareaShenpi = "";
     },
 
+    viewLicensehuizhi() {
+      this.dialogVisiblehuizhi = true;
+    },
+    closePrinthuizhi() {
+      this.dialogVisiblehuizhi = false;
+    },
     viewLicense(row) {
       //查看许可证
       this.licenceData.row = row;
@@ -741,7 +859,19 @@
   width: 960px;
   height: 648px;
   background-color: #fff !important;
-  background-image: url("../../static/img/permit/服务许可背景图.png");
+  background-image: url("/img/permit/服务许可背景图.png");
+  background-size: 100% 100%;
+  background-repeat: no-repeat;
+  box-sizing: border-box;
+  padding: 10%;
+  color: #000;
+}
+.licencehuizhi {
+  width: 800px;
+  height: 348px;
+  background-color: #fff !important;
+  // background-image: url("../../static/img/permit/服务许可背景图.png");
+  border: 1px solid rgba(#a3a3a3, 0.5);
   background-size: 100% 100%;
   background-repeat: no-repeat;
   box-sizing: border-box;
@@ -812,6 +942,9 @@
   display: flex;
   justify-content: space-between;
   flex-direction: column;
+  span {
+    display: inline-block;
+  }
   .f_title {
     position: absolute;
     top: 15px;
@@ -825,4 +958,43 @@
   align-content: center;
   justify-content: center;
 }
+.exam-box {
+  width: 100%;
+  height: 360px;
+
+  position: relative;
+  padding: 10px;
+  background: #fff !important;
+  color: #000;
+
+  box-sizing: border-box;
+}
+.exam-box h3 {
+  margin: 0;
+  text-align: center;
+  font-size: 28px;
+  letter-spacing: 10px;
+  line-height: 46px;
+}
+
+.exam-box p {
+  text-indent: 2em;
+  font-size: 18px;
+}
+
+.exam-box .examine-bottom {
+  position: absolute;
+  bottom: 10px;
+  right: 10px;
+}
+
+.exam-box li {
+  list-style: none;
+  font-size: 18px;
+  line-height: 32px;
+}
+
+.exam-box span {
+  text-decoration: underline;
+}
 </style>
diff --git a/src/views/licenseApproval/securityPermit.vue b/src/views/licenseApproval/securityPermit.vue
index 534272f..28d6ec8 100644
--- a/src/views/licenseApproval/securityPermit.vue
+++ b/src/views/licenseApproval/securityPermit.vue
@@ -2,8 +2,8 @@
 /*
  * @Author: liu
  * @Date: 2021-08-26 16:22:20 
- * @Last Modified by: mikey.zhaopeng
- * @Last Modified time: 2021-08-26 20:44:35
+ * @Last Modified by: liu
+ * @Last Modified time: 2021-08-28 10:29:07
  */
 
 <template>
@@ -201,8 +201,8 @@
           v-model="textareaShenpi"
         ></textarea>
         <div class="but">
-          <el-button @click="closecc">通过</el-button>
-          <el-button type="primary" @click="subcc">不通过</el-button>
+          <el-button type="danger" @click="subcc">不通过</el-button>
+          <el-button type="primary" @click="closecc">通过</el-button>
         </div>
       </div>
     </el-dialog>
@@ -293,6 +293,8 @@
           {
             label: "法定代表人",
             prop: "representative",
+            search: true,
+            searchLabelWidth: 90,
             width: 82,
             rules: [
               {
@@ -388,30 +390,30 @@
               },
             ],
           },
-          {
-            label: "纳税人识别号",
-            prop: "identificationnumber",
-            hide: true,
-            rules: [
-              {
-                required: true,
-                message: "请输入纳税人识别号",
-                trigger: "blur",
-              },
-            ],
-          },
-          {
-            label: "企业类型",
-            hide: true,
-            prop: "enterprises",
-            rules: [
-              {
-                required: true,
-                message: "请输入企业类型",
-                trigger: "blur",
-              },
-            ],
-          },
+          // {
+          //   label: "纳税人识别号",
+          //   prop: "identificationnumber",
+          //   hide: true,
+          //   rules: [
+          //     {
+          //       required: true,
+          //       message: "请输入纳税人识别号",
+          //       trigger: "blur",
+          //     },
+          //   ],
+          // },
+          // {
+          //   label: "企业类型",
+          //   hide: true,
+          //   prop: "enterprises",
+          //   rules: [
+          //     {
+          //       required: true,
+          //       message: "请输入企业类型",
+          //       trigger: "blur",
+          //     },
+          //   ],
+          // },
           {
             label: "注册地址",
             prop: "address",
@@ -424,18 +426,18 @@
               },
             ],
           },
-          {
-            label: "所属地区",
-            hide: true,
-            prop: "region",
-            rules: [
-              {
-                required: true,
-                message: "请输入所属地区",
-                trigger: "blur",
-              },
-            ],
-          },
+          // {
+          //   label: "所属地区",
+          //   hide: true,
+          //   prop: "region",
+          //   rules: [
+          //     {
+          //       required: true,
+          //       message: "请输入所属地区",
+          //       trigger: "blur",
+          //     },
+          //   ],
+          // },
           {
             label: "登记机关",
             prop: "registration",
@@ -460,21 +462,33 @@
               },
             ],
           },
+          // {
+          //   label: "所属机构",
+          //   prop: "deptid",
+          //   addDisplay: false,
+          //   type: "select",
+          //   hide: true,
+          //   dicUrl: "/api/blade-system/dept/selectIn",
+          //   props: {
+          //     label: "deptname",
+          //     value: "deptid",
+          //   },
+          // },
           {
-            label: "所属机构",
-            prop: "deptid",
-            addDisplay: false,
-            type: "select",
-            hide: true,
-            dicUrl: "/api/blade-system/dept/selectIn",
+            label: "所属辖区",
+            prop: "jurisdiction",
+            type: "tree",
+            dicUrl: "/api/jurisdiction/lazy-trees",
             props: {
-              label: "deptname",
-              value: "deptid",
+              label: "title",
+              value: "id",
             },
+            // labelWidth: 160,
+            // span: 12,
           },
           {
             label: "许可类型",
-            search: true,
+            // search: true,
             hide: true,
             prop: "ptype",
             type: "select",
@@ -483,10 +497,6 @@
               {
                 label: "保安服务许可",
                 value: "0",
-              },
-              {
-                label: "保安培训许可",
-                value: "1",
               },
             ],
           },
@@ -567,11 +577,12 @@
     },
 
     handleCredentials(row) {
+      console.log(row, "21354");
       this.$router.push({
-        path: "/attach/index",
+        path: "/attachOnce/index",
         // redirect: { name: "foo" },
         // query: { row: row },
-        query: { deptid: row.deptid, type: "0" },
+        query: { deptid: row.cardid, type: "0" },
         // params: { row: row.identificationnumber },
       });
     },
@@ -801,7 +812,7 @@
   width: 960px;
   height: 648px;
   background-color: #fff !important;
-  background-image: url("../../static/img/permit/服务许可背景图.png");
+  background-image: url("/img/permit/服务许可背景图.png");
   background-size: 100% 100%;
   background-repeat: no-repeat;
   box-sizing: border-box;
diff --git a/src/views/licenseApproval/securityTraining.vue b/src/views/licenseApproval/securityTraining.vue
index 0a01c34..822dea1 100644
--- a/src/views/licenseApproval/securityTraining.vue
+++ b/src/views/licenseApproval/securityTraining.vue
@@ -1,8 +1,8 @@
 /*
  * @Author: liu
  * @Date: 2021-08-26 16:55:25 
- * @Last Modified by: mikey.zhaopeng
- * @Last Modified time: 2021-08-26 17:12:51
+ * @Last Modified by: liu
+ * @Last Modified time: 2021-08-28 10:29:12
  */
 
 
@@ -201,8 +201,8 @@
           v-model="textareaShenpi"
         ></textarea>
         <div class="but">
-          <el-button @click="closecc">通过</el-button>
-          <el-button type="primary" @click="subcc">不通过</el-button>
+          <el-button type="danger" @click="subcc">不通过</el-button>
+          <el-button type="primary" @click="closecc">通过</el-button>
         </div>
       </div>
     </el-dialog>
@@ -293,7 +293,9 @@
           {
             label: "法定代表人",
             prop: "representative",
+            search: true,
             width: 82,
+            searchLabelWidth: 90,
             rules: [
               {
                 required: true,
@@ -388,30 +390,30 @@
               },
             ],
           },
-          {
-            label: "纳税人识别号",
-            prop: "identificationnumber",
-            hide: true,
-            rules: [
-              {
-                required: true,
-                message: "请输入纳税人识别号",
-                trigger: "blur",
-              },
-            ],
-          },
-          {
-            label: "企业类型",
-            hide: true,
-            prop: "enterprises",
-            rules: [
-              {
-                required: true,
-                message: "请输入企业类型",
-                trigger: "blur",
-              },
-            ],
-          },
+          // {
+          //   label: "纳税人识别号",
+          //   prop: "identificationnumber",
+          //   hide: true,
+          //   rules: [
+          //     {
+          //       required: true,
+          //       message: "请输入纳税人识别号",
+          //       trigger: "blur",
+          //     },
+          //   ],
+          // },
+          // {
+          //   label: "企业类型",
+          //   hide: true,
+          //   prop: "enterprises",
+          //   rules: [
+          //     {
+          //       required: true,
+          //       message: "请输入企业类型",
+          //       trigger: "blur",
+          //     },
+          //   ],
+          // },
           {
             label: "注册地址",
             prop: "address",
@@ -424,18 +426,18 @@
               },
             ],
           },
-          {
-            label: "所属地区",
-            hide: true,
-            prop: "region",
-            rules: [
-              {
-                required: true,
-                message: "请输入所属地区",
-                trigger: "blur",
-              },
-            ],
-          },
+          // {
+          //   label: "所属地区",
+          //   hide: true,
+          //   prop: "region",
+          //   rules: [
+          //     {
+          //       required: true,
+          //       message: "请输入所属地区",
+          //       trigger: "blur",
+          //     },
+          //   ],
+          // },
           {
             label: "登记机关",
             prop: "registration",
@@ -460,30 +462,38 @@
               },
             ],
           },
+          // {
+          //   label: "所属机构",
+          //   prop: "deptid",
+          //   addDisplay: false,
+          //   type: "select",
+          //   hide: true,
+          //   dicUrl: "/api/blade-system/dept/selectIn",
+          //   props: {
+          //     label: "deptname",
+          //     value: "deptid",
+          //   },
+          // },
           {
-            label: "所属机构",
-            prop: "deptid",
-            addDisplay: false,
-            type: "select",
-            hide: true,
-            dicUrl: "/api/blade-system/dept/selectIn",
+            label: "所属辖区",
+            prop: "jurisdiction",
+            type: "tree",
+            dicUrl: "/api/jurisdiction/lazy-trees",
             props: {
-              label: "deptname",
-              value: "deptid",
+              label: "title",
+              value: "id",
             },
+            // labelWidth: 160,
+            // span: 12,
           },
           {
             label: "许可类型",
-            search: true,
+            // search: true,
             hide: true,
             prop: "ptype",
             type: "select",
             searchSpan: 4,
             dicData: [
-              {
-                label: "保安服务许可",
-                value: "0",
-              },
               {
                 label: "保安培训许可",
                 value: "1",
@@ -568,10 +578,10 @@
 
     handleCredentials(row) {
       this.$router.push({
-        path: "/attach/index",
+        path: "/attachOnce/index",
         // redirect: { name: "foo" },
         // query: { row: row },
-        query: { deptid: row.deptid, type: "0" },
+        query: { deptid: row.cardid, type: "0" },
         // params: { row: row.identificationnumber },
       });
     },
@@ -801,7 +811,7 @@
   width: 960px;
   height: 648px;
   background-color: #fff !important;
-  background-image: url("../../static/img/permit/服务许可背景图.png");
+  background-image: url("/img/permit/服务许可背景图.png");
   background-size: 100% 100%;
   background-repeat: no-repeat;
   box-sizing: border-box;
diff --git a/src/views/resource/attachOnce.vue b/src/views/resource/attachOnce.vue
new file mode 100644
index 0000000..23a9051
--- /dev/null
+++ b/src/views/resource/attachOnce.vue
@@ -0,0 +1,418 @@
+<template>
+  <basic-container>
+    <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"
+          @click="handleDownload(scope.row)"
+          >下载
+        </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/attachOnce";
+import { mapGetters } from "vuex";
+import ElImageViewer from "element-ui/packages/image/src/image-viewer";
+
+export default {
+  components: { ElImageViewer },
+  data() {
+    return {
+      form: {},
+      query: {},
+      loading: true,
+      page: {
+        pageSize: 10,
+        currentPage: 1,
+        total: 0,
+      },
+      attachBox: false,
+      selectionList: [],
+      option: {
+        height: "auto",
+        calcHeight: 30,
+        tip: false,
+        searchShow: true,
+        searchMenuSpan: 6,
+        searchShowBtn: false,
+        headerAlign: "center",
+        border: true,
+        index: 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: "deptid",
+            type: "select",
+            dicUrl: "/api/blade-system/dept/selectIn",
+            props: {
+              label: "deptname",
+              value: "deptid",
+            },
+          },
+          {
+            label: "类型",
+            prop: "type",
+            addDisplay: false,
+            width: 80,
+            type: "select",
+            dicData: [
+              {
+                label: "许可审批",
+                value: "0",
+              },
+              {
+                label: "备案",
+                value: "1",
+              },
+              {
+                label: "撤销",
+                value: "2",
+              },
+              {
+                label: "跨区备案",
+                value: "3",
+              },
+            ],
+          },
+        ],
+      },
+      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=",
+          },
+        ],
+      },
+
+      imgSee: false,
+      imgUrl: "",
+    };
+  },
+  created() {
+    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);
+    }
+    var deptid = this.$route.query.deptid;
+    var type = this.$route.query.type;
+    this.attachOption.column[0].action += deptid + "&type=" + type;
+  },
+  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(",");
+    },
+  },
+  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 = {}) {
+      this.loading = true;
+      getList(
+        page.currentPage,
+        page.pageSize,
+        Object.assign(params, this.query),
+        this.$route.query.deptid,
+        this.$route.query.type
+      ).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>

--
Gitblit v1.9.3