From ab701df859cd79ae036f8cc86268137d2c8da8ee Mon Sep 17 00:00:00 2001
From: guanqb <18720758508@163.com>
Date: Thu, 22 Feb 2024 18:00:56 +0800
Subject: [PATCH] 消防自查导出、消防自查和场所检查增加场所类别字段
---
src/views/publicSecurity/positionManage/TransactRegist.vue | 501 +++++++++++++++++++++++++++++++++++--------------------
1 files changed, 321 insertions(+), 180 deletions(-)
diff --git a/src/views/publicSecurity/positionManage/TransactRegist.vue b/src/views/publicSecurity/positionManage/TransactRegist.vue
index a8aa635..d888c4d 100644
--- a/src/views/publicSecurity/positionManage/TransactRegist.vue
+++ b/src/views/publicSecurity/positionManage/TransactRegist.vue
@@ -7,21 +7,42 @@
@refresh-change="refreshChange" @on-load="onLoad">
<template slot-scope="{row, size}" slot="menu">
- <el-button type="text" :size="size" icon="el-icon-view" v-if="permission.place_view" plain
+ <!-- <el-button type="text" :size="size" icon="el-icon-view" v-if="permission.place_view" plain
@click="lookDetail(row, 0)">查 看
- </el-button>
- <el-button type="text" :size="size" icon="el-icon-s-check" v-if="permission.place_check && row.status == 1"
- plain @click="goAudit(row)">审 核
- </el-button>
+ </el-button> -->
<el-button type="text" :size="size" icon="el-icon-delete" v-if="permission.place_del" plain
@click="rowDel(row)">删 除
</el-button>
+ <el-button type="text" :size="size" icon="el-icon-s-check" plain @click="goAudit(row)"
+ v-if="row.confirmFlag == 1" :disabled="row.confirmFlag != 1">审 核
+ </el-button>
</template>
- <template slot="status" slot-scope="{row, size}">
- <el-tag :size="size" :type="showStatus(row.status).type">
- {{ showStatus(row.status).text }}
+ <template slot="confirmFlag" slot-scope="{row, size}">
+ <el-tag :size="size" :type="showStatus(row.confirmFlag).type">
+ {{ showStatus(row.confirmFlag).text }}
</el-tag>
+ </template>
+
+ <template slot="menuLeft">
+ <el-button type="warning" size="small" plain icon="el-icon-download" @click="handleExport">导出
+ </el-button>
+ </template>
+
+ <template slot-scope="{row, size}" slot="phoneNumber">
+ <el-button :size="size" type="text" @click="showStringDispose(row, 'phoneNumberflag')"
+ v-text="textDispose(row, 'phoneNumberflag', 'phoneNumber')">
+ </el-button>
+ </template>
+ <template slot-scope="{row, size}" slot="transactionObjectTel">
+ <el-button :size="size" type="text" @click="showStringDispose(row, 'transactionObjectTelflag')"
+ v-text="textDispose(row, 'transactionObjectTelflag', 'transactionObjectTel')">
+ </el-button>
+ </template>
+ <template slot-scope="{row, size}" slot="idCard">
+ <el-button :size="size" type="text" @click="showStringDispose(row, 'idCardflag')"
+ v-text="textDispose(row, 'idCardflag', 'idCard')">
+ </el-button>
</template>
</avue-crud>
@@ -34,21 +55,7 @@
<el-dialog :visible.sync="visible" append-to-body destroy-on-close title="审核" width="30%"
custom-class="flow-design-dialog" :before-close="handleClose">
- <el-form ref="auditForm" :model="auditForm" :rules="auditRules">
- <el-form-item label="审核结论:" prop="status">
- <el-radio-group v-model="auditForm.status">
- <el-radio :label="2">通过</el-radio>
- <el-radio :label="3">不通过</el-radio>
- </el-radio-group>
- </el-form-item>
- <el-form-item label="不通过原因:" prop="remark" v-if="auditForm.status == 3">
- <el-input type="textarea" v-model="auditForm.remark"></el-input>
- </el-form-item>
- </el-form>
- <div style="display:flex;justify-content:center">
- <el-button @click="submitAudit" size="small" type="primary">保 存</el-button>
- <el-button @click="cancelAudit" size="small">取 消</el-button>
- </div>
+ <audit-base @handleSubmit="submitAudit"></audit-base>
</el-dialog>
</basic-container>
</template>
@@ -56,11 +63,26 @@
<script>
import {
getList,
+ getDetail,
removeTask,
update,
add,
-} from "@/api/task/task"
-
+} from "@/api/task/labelReporting"
+import NProgress from 'nprogress'
+import 'nprogress/nprogress.css'
+import Qs from "qs"
+import {
+ exportBlob
+} from "@/api/common"
+import {
+ getToken
+} from '@/util/auth'
+import {
+ downloadXls
+} from "@/util/util"
+import {
+ dateNow
+} from "@/util/date"
import {
mapGetters
} from "vuex"
@@ -92,7 +114,6 @@
status: [{ required: true, message: "必填" }],
remark: [{ required: true, message: "必填" }],
},
- auditForm: {},
visible: false,
taskType: 0,
curRow: {},
@@ -123,136 +144,219 @@
border: true,
//stripe:true,
index: true,
- // viewBtn: true,
+ viewBtn: true,
+ addBtn: false,
editBtn: false,
delBtn: false,
+ refreshBtn: false,
+ searchShowBtn: false,
+ columnBtn: false,
selection: true,
dialogClickModal: false,
- column: [{
- span: 12,
- label: "社区",
- prop: "communityName",
- searchSpan: 4,
- searchLabelWidth: 46,
- search: true,
- hide: true,
- align: 'center'
- },
- {
- width: 110,
- span: 12,
- label: "场所负责人",
- prop: "realName",
- searchSpan: 4,
- searchLabelWidth: 100,
- search: true,
- align: 'center'
- }, {
- width: 120,
- span: 12,
- label: "联系方式",
- prop: "phone",
- searchSpan: 4,
- search: true,
- rules: [{
- validator: validatorPhone,
- trigger: 'blur'
- }],
- align: 'center'
- }, {
- overHidee: true,
- span: 12,
- label: "地址",
- prop: "addressName",
- searchSpan: 4,
- // search: true,
- rules: [{
- required: true,
- message: "请输入地址",
- trigger: "blur",
- },],
- align: 'center'
- }, {
- width: 110,
- label: "所属街道",
- // hide: true,
- // search: true,
- parent: false,
- searchSpan: 4,
- prop: "streetCode",
- type: "tree",
- dicUrl: "/api/blade-system/region/getTownTree",
- props: {
- label: "name",
- value: "id"
+ column: [
+ {
+ width: 110,
+ span: 12,
+ label: "场所名称",
+ prop: "districtName",
+ searchSpan: 4,
+ searchLabelWidth: 100,
+ search: true,
+ align: 'center',
+ labelWidth: 110,
},
- rules: [{
- required: true,
- message: "请选择所属街道",
- trigger: "blur",
- },],
- align: 'center'
- }, {
- width: 156,
- // hide: true,
- parent: false,
- searchSpan: 4,
- label: "所属社区",
- prop: "neiCode",
- // search: false,
- type: "tree",
- dicUrl: "/api/blade-system/region/tree",
- props: {
- label: "name",
- value: "id",
+ {
+ span: 12,
+ label: "场所地址",
+ prop: "localtion",
+ searchSpan: 4,
+ minWidth: 220,
+ overHidden: true,
+ // search: true,
+ rules: [{
+ required: true,
+ message: "请输入地址",
+ trigger: "blur",
+ },],
+ align: 'center',
+ labelWidth: 110,
},
- rules: [{
- required: true,
- message: "请选择所属社区",
- trigger: "blur",
- },],
- align: 'center'
- },
- {
- label: "阵地类型",
- prop: "frontType",
- dicUrl: "/api/blade-system/dict-biz/tree?code=frontType",
- props: {
- label: "title",
- value: "key",
+ {
+ label: "阵地类型",
+ prop: "frontType",
+ dicUrl: "/api/blade-system/dict-biz/tree?code=frontType",
+ props: {
+ label: "title",
+ value: "key",
+ },
+ type: 'select',
+ search: true,
+ searchSpan: 4,
+ align: 'center',
+ width: 120,
+ labelWidth: 110,
},
- // type: 'select',
- // search: true,
- align: 'center',
- width: 120,
- },
- {
- width: 100,
- addDisplay: false,
- editDisplay: false,
- viewDisplay: false,
- label: '审核状态',
- prop: 'status',
- type: 'radio',
- slot: true,
- dicData: [{
- label: '待审核',
- value: 1
+ {
+ width: 110,
+ span: 12,
+ label: "场所负责人",
+ prop: "owner",
+ searchSpan: 4,
+ searchLabelWidth: 110,
+ search: true,
+ align: 'center',
+ labelWidth: 110,
}, {
- label: '已审核',
- value: 2
+ width: 120,
+ span: 12,
+ label: "联系方式",
+ prop: "phoneNumber",
+ searchSpan: 4,
+ search: true,
+ searchLabelWidth: 96,
+ rules: [{
+ validator: validatorPhone,
+ trigger: 'blur'
+ }],
+ align: 'center',
+ slot: true,
+ labelWidth: 110,
+ },
+ {
+ width: 110,
+ span: 12,
+ label: "交易对象",
+ prop: "transactionObject",
+ searchSpan: 4,
+ searchLabelWidth: 96,
+ search: true,
+ align: 'center',
+ labelWidth: 110,
+ },
+ {
+ width: 110,
+ span: 12,
+ label: "交易对象电话",
+ prop: "transactionObjectTel",
+ searchSpan: 4,
+ searchLabelWidth: 120,
+ searchPlaceholder: '请输入交易电话',
+ search: true,
+ align: 'center',
+ labelWidth: 110,
+ slot: true
+ },
+ {
+ width: 160,
+ span: 12,
+ label: "身份证号",
+ prop: "idCard",
+ searchSpan: 4,
+ searchLabelWidth: 100,
+ search: true,
+ align: 'center',
+ labelWidth: 110,
+ },
+ {
+ width: 110,
+ span: 12,
+ label: "交易数量",
+ prop: "goodsNums",
+ align: 'center',
+ labelWidth: 110,
+ },
+ {
+ width: 110,
+ span: 12,
+ label: "交易金额",
+ prop: "transactionMoney",
+ align: 'center',
+ labelWidth: 110,
+ },
+ {
+ width: 110,
+ span: 12,
+ label: "交易过程",
+ prop: "transactionProcess",
+ align: 'center',
+ labelWidth: 110,
+ },
+ {
+ width: 140,
+ span: 12,
+ label: "发生时间",
+ prop: "createTime",
+ align: 'center',
+ labelWidth: 110,
+ },
+ {
+ width: 110,
+ label: "所属街道",
+ // hide: true,
+ // search: true,
+ parent: false,
+ searchSpan: 4,
+ prop: "streetName",
+ align: 'center',
+ labelWidth: 110,
}, {
- label: '未通过',
- value: 3
+ width: 156,
+ parent: false,
+ searchSpan: 4,
+ label: "所属社区",
+ prop: "communityName",
+ align: 'center',
+ labelWidth: 110,
+ },
+ {
+ width: 100,
+ addDisplay: false,
+ editDisplay: false,
+ viewDisplay: false,
+ label: '审核状态',
+ prop: 'confirmFlag',
+ type: 'radio',
+ slot: true,
+ dicData: [{
+ label: '待审核',
+ value: 1
+ }, {
+ label: '已审核',
+ value: 2
+ }, {
+ label: '未通过',
+ value: 3
+ }, {
+ label: '待接收',
+ value: 4
+ }],
+ align: 'center',
+ labelWidth: 110,
}, {
- label: '待接收',
- value: 4
- }],
- align: 'center'
- }],
+ width: 110,
+ label: '物品图片',
+ prop: 'goodsImageUrls',
+ fileType: 'img',
+ type: "upload",
+ listType: "picture-card",
+ dataType: "string",
+ disabled: true,
+ span: 12,
+ labelWidth: 110,
+ }, {
+ width: 110,
+ label: '身份证照片',
+ prop: 'imageUrls',
+ fileType: 'img',
+ type: "upload",
+ listType: "picture-card",
+ dataType: "string",
+ disabled: true,
+ span: 12,
+ labelWidth: 110,
+ },],
},
data: [],
-
auditBasePopup: false,
}
},
@@ -315,9 +419,48 @@
return tags
}
+ },
+
+ textDispose () {
+ return (row, flag, type) => {
+ if (row[flag] || row[type] == null) {
+ return row[type]
+ } else {
+ if (type == 'idCardflag') {
+ return row[type].replace(/^(.{6})(?:\d+)(.{4})$/, "$1******$2")
+ } else {
+ return row[type].replace(/^(.{3})(?:\d+)(.{4})$/, "$1****$2")
+ }
+ }
+ }
}
},
methods: {
+ showStringDispose (row, type) {
+ row[type] = !row[type]
+ },
+
+ handleExport () {
+ this.$confirm("是否导出交易登记数据?", "提示", {
+ confirmButtonText: "确定",
+ cancelButtonText: "取消",
+ type: "warning"
+ }).then(() => {
+ NProgress.start()
+ var data = {
+ ...this.query
+ }
+ // data.isNine = 1
+ data = Qs.stringify(data)
+ exportBlob(
+ `/api/blade-taskLabelReportingEvent/taskLabelReportingEvent/export-taskLabelReportingEvent?${this.website.tokenHeader}=${getToken()}&` + data
+ ).then(res => {
+ console.log('exportBlob', res)
+ downloadXls(res.data, `交易登记${dateNow()}.xlsx`)
+ NProgress.done()
+ })
+ })
+ },
// 弹窗关闭回调
handleClose () {
this.cancelAudit()
@@ -326,23 +469,21 @@
// 取消审核
cancelAudit () {
this.visible = false
- this.auditForm = {}
- this.$refs.auditForm.resetFields()
},
// 确认提交审核
- submitAudit () {
- this.$refs.auditForm.validate((valid) => {
- if (valid) {
- applyTaskExamine(Object.assign(this.auditParams, this.auditForm)).then(res => {
- if (res.data.code == 200) {
- this.$message.warning("审核成功")
- this.onLoad(this.page)
- this.cancelAudit()
- }
- })
- } else {
- return false
+ submitAudit (form) {
+ let auditForm = {
+ status: form.status == '1' ? '2' : '3',
+ remark: form.confirmNotion,
+ reportType: 5
+ }
+
+ applyTaskExamine(Object.assign(this.auditParams, auditForm)).then(res => {
+ if (res.data.code == 200) {
+ this.$message.warning("审核成功")
+ this.onLoad(this.page)
+ this.cancelAudit()
}
})
},
@@ -350,10 +491,9 @@
// 审核按钮
goAudit (row) {
this.auditParams = {
- id: row.id,
- reportType: row.reportType
+ id: row.taskId,
+ reportType: 5
}
- console.log('this.auditParams', this.auditParams)
this.visible = true
},
@@ -537,25 +677,11 @@
},
beforeOpen (done, type) {
- if (["edit", "view"].includes(type)) {
- // getPlace(this.form.id).then((res) => {
- // this.form = res.data.data
- // if (this.form.imageUrls.length) {
- // this.form.imageUrls = this.form.imageUrls.split(",").filter(item => item != '').map(item => website
- // .minioUrl + item).join(',')
- // }
- // if (this.form.placePoiLabelVOList.length) {
- // let lebelTwo = this.form.placePoiLabelVOList.find(item => {
- // return item.type == 2
- // })
- // if (lebelTwo) this.form.label = String(lebelTwo.poiCode)
- // let lebelThree = this.form.placePoiLabelVOList.find(item => {
- // return item.type == 3
- // })
- // if (lebelThree) this.form.smallLabel = String(lebelThree.poiCode)
- // }
- // done()
- // })
+ if (["edit"].includes(type)) {
+ getDetail(this.form.id).then((res) => {
+ this.form = res.data.data
+ done()
+ })
} else {
done()
}
@@ -596,6 +722,9 @@
this.page.total = data.total
this.data = data.records
this.data.forEach(item => {
+ this.$set(item, 'phoneNumberflag', false)
+ this.$set(item, 'transactionObjectTelflag', false)
+ this.$set(item, 'idCardflag', false)
if (item.imageUrls && item.imageUrls != '' && item.imageUrls != null && item.imageUrls.length) {
var urls = []
var names = item.imageUrls.split(",").filter(item => item != '')
@@ -603,6 +732,14 @@
urls.push(website.minioUrl + name)
})
item.imageUrls = urls.join(",")
+ }
+ if (item.goodsImageUrls && item.goodsImageUrls != '' && item.goodsImageUrls != null && item.goodsImageUrls.length) {
+ var urls = []
+ var names = item.goodsImageUrls.split(",").filter(item => item != '')
+ names.forEach(name => {
+ urls.push(website.minioUrl + name)
+ })
+ item.goodsImageUrls = urls.join(",")
}
})
this.loading = false
@@ -618,6 +755,10 @@
padding: 0 !important;
}
+:deep(.el-button--text) {
+ border: 0 !important;
+}
+
.avue-upload__icon {
line-height: 6;
}
--
Gitblit v1.9.3