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