From 5e2aafeede13d337380f736567caf74f49713be7 Mon Sep 17 00:00:00 2001
From: linwe <872216996@qq.com>
Date: Fri, 09 Aug 2024 14:38:32 +0800
Subject: [PATCH] 代码优化
---
src/views/publicSecurity/bailReporting.vue | 236 +++++++++++++++++++++++++++++++++++++++++++++--------------
1 files changed, 180 insertions(+), 56 deletions(-)
diff --git a/src/views/publicSecurity/bailReporting.vue b/src/views/publicSecurity/bailReporting.vue
index 77390bb..320caaf 100644
--- a/src/views/publicSecurity/bailReporting.vue
+++ b/src/views/publicSecurity/bailReporting.vue
@@ -4,16 +4,28 @@
v-model="form" :permission="permissionList" @row-update="rowUpdate" @row-save="rowSave" :before-open="beforeOpen"
@search-change="searchChange" @search-reset="searchReset" @selection-change="selectionChange"
@current-change="currentChange" @size-change="sizeChange" @refresh-change="refreshChange" @on-load="onLoad">
- <template slot-scope="scope" slot="menu">
- <el-button type="text" size="small" icon="el-icon-view" plain @click="lookDetail(scope.row,0)">查 看
+ <template slot-scope="{row, size, index}" slot="menu">
+ <el-button :size="size" type="text" icon="el-icon-view" v-if="permission.bail_view" plain
+ @click="lookDetail(row, 0)">查 看
</el-button>
- <el-button type="text" size="small" icon="el-icon-s-check" v-if="scope.row.status == 1" plain
- @click="lookDetail(scope.row,1)">审 核
+ <el-button :size="size" type="text" icon="el-icon-s-check" v-if="row.status == 1 && permission.bail_check" plain
+ @click="lookDetail(row, 1)">审 核
</el-button>
- <el-button type="text" size="small" icon="el-icon-delete" plain @click="rowDel(scope.row)">删 除
+ <el-button :size="size" type="text" icon="el-icon-delete" v-if="permission.bail_del" plain
+ @click="rowDel(row)">删 除
</el-button>
</template>
+ <template slot="status" slot-scope="{row, size}">
+ <el-tag :size="size" :type="showStatus(row.status).type">
+ {{ showStatus(row.status).text }}
+ </el-tag>
+ </template>
+ <template slot-scope="{row, size}" slot="phone">
+ <el-button :size="size" type="text" @click="showStringDispose(row, 'phoneflag')"
+ v-text="textDispose(row, 'phoneflag', 'phone')">
+ </el-button>
+ </template>
</avue-crud>
<el-dialog class="place-info-box audit-info-box" title="" append-to-body :visible.sync="auditBasePopup" width="60%">
@@ -24,7 +36,7 @@
<script>
import {
- getList,
+ getBailReportingPage,
removeTask,
update,
add,
@@ -46,6 +58,19 @@
export default {
data() {
+
+ //手机号格式校验
+ let validatorPhone = function(rule, value, callback) {
+ if (value) {
+ if (!/^1[3456789]\d{9}$/.test(value)) {
+ callback(new Error('手机号格式有误!'))
+ } else {
+ callback()
+ }
+ }
+ callback()
+ }
+
return {
curRow: {},
roleBox: false,
@@ -62,13 +87,16 @@
datetime: "",
selectionList: [],
option: {
+ labelWidth: 96,
+ searchLabelWidth: 96,
+ searchShow: true,
+ searchMenuSpan: 3,
+ menuWidth: 210,
+ header: false,
height: "auto",
calcHeight: 54,
dialogWidth: 950,
tip: false,
- searchShow: true,
- searchMenuSpan: 3,
- menuWidth: 280,
border: true,
// menu: false,
//stripe:true,
@@ -78,11 +106,63 @@
editBtn: false,
selection: true,
dialogClickModal: false,
+ header: false,
column: [{
- label: "所属街道",
- // hide: true,
+ label: "申请时间",
+ prop: "dateRange",
+ type: "daterange",
+ format: "yyyy-MM-dd",
+ valueFormat: "yyyy-MM-dd",
+ searchRange: true,
+ startPlaceholder: '开始日期',
+ endPlaceholder: '结束日期',
+ align: 'center',
+ search: true,
+ hide: true,
+ searchSpan: 5,
+ searchLabelWidth: 76,
+ },
+ {
+ span: 12,
+ label: "小区名称",
+ prop: "districtName",
+ searchSpan: 4,
+ searchLabelWidth: 76,
+ search: true,
+ hide: true,
+ },
+ {
+ width: 100,
+ span: 12,
+ label: "姓名",
+ prop: "realName",
+ searchSpan: 3,
+ searchLabelWidth: 66,
+ search: true,
+ }, {
+ width: 120,
+ span: 12,
+ label: "联系方式",
+ prop: "phone",
searchSpan: 4,
search: true,
+ slot: true,
+ rules: [{
+ validator: validatorPhone,
+ trigger: 'blur'
+ }],
+ }, {
+ span: 12,
+ label: "外出事由",
+ prop: "applyName",
+ searchSpan: 4,
+ search: true,
+ },
+ {
+ width: 110,
+ label: "所属街道",
+ search: true,
+ searchSpan: 4,
parent: false,
prop: "streetCode",
type: "tree",
@@ -96,31 +176,36 @@
message: "请选择所属街道",
trigger: "blur",
}, ],
- }, {
- // hide: true,
+ },
+ {
+ searchLabelWidth: 80,
parent: false,
- searchSpan: 4,
label: "所属社区",
prop: "neiCode",
search: true,
+ searchSpan: 4,
+ width: 120,
type: "tree",
- dicUrl: "/api/blade-system/region/tree",
+ dicUrl: "/api/blade-system/region/treeToCommunity",
props: {
label: "name",
value: "id",
},
- cascader: ["gridId"],
+ cascader: ["gridCode"],
rules: [{
required: true,
message: "请选择所属社区",
trigger: "blur",
}, ],
}, {
+ width: 220,
+ overHidden: true,
label: "小区",
prop: "aoiCode",
searchSpan: 4,
type: 'tree',
- search: true,
+ searchLabelWidth: 66,
+ // search: true,
parent: false,
dicUrl: `/api/blade-district/district/getDistrictTree`,
props: {
@@ -129,9 +214,6 @@
},
// defaultExpandedKeys: ["361102003"],
span: 12,
- labelWidth: 120,
- // width: 220,
- // overHidden: true,
rules: [{
required: true,
message: "请选择小区",
@@ -142,24 +224,31 @@
// hide: true,
},
{
- span: 12,
- label: "名称",
- prop: "name",
+ width: 144,
+ label: "出发时间",
+ prop: "startTimes",
searchSpan: 4,
- search: true,
- }, {
- span: 12,
- label: "电话",
- prop: "phone",
- searchSpan: 4,
- search: true,
},
{
- label: "创建时间",
+ width: 144,
+ label: "到达时间",
+ prop: "reachTime",
+ searchSpan: 4,
+ },
+ {
+ width: 144,
+ label: "返程时间",
+ prop: "returnTime",
+ searchSpan: 4,
+ },
+ {
+ width: 144,
+ label: "申请时间",
prop: "createTime",
searchSpan: 4,
},
{
+ width: 100,
addDisplay: false,
editDisplay: false,
viewDisplay: false,
@@ -178,26 +267,8 @@
value: 3
}]
},
- {
- addDisplay: false,
- editDisplay: false,
- viewDisplay: false,
- label: '类型',
- prop: 'reportType',
- type: 'radio',
- slot: true,
- // search: true,
- dicData: [{
- label: '取保候审',
- value: 1
- }, ]
- },
- {
- span: 12,
- label: "地址",
- prop: "addressName",
- searchSpan: 4,
- },
+
+
],
},
data: [],
@@ -221,11 +292,14 @@
computed: {
...mapGetters(["permission", "userInfo"]),
permissionList() {
+
+ console.log("permission===>", this.permission)
+
return {
- addBtn: this.vaildData(this.permission.place_add, true),
- viewBtn: this.vaildData(this.permission.place_view, true),
- delBtn: this.vaildData(this.permission.place_delete, true),
- editBtn: this.vaildData(this.permission.place_edit, true),
+ addBtn: this.vaildData(this.permission.bail_add, false),
+ viewBtn: this.vaildData(this.permission.bail_view, true),
+ delBtn: this.vaildData(this.permission.bail_del, true),
+ // editBtn: this.vaildData(this.permission.place_edit, true),
}
},
ids() {
@@ -235,8 +309,51 @@
})
return ids.join(",")
},
+
+ showStatus() {
+ return (data) => {
+ let tags = {}
+
+ if (data == 1) {
+ tags = {
+ type: 'warning',
+ text: '待审核'
+ }
+ } else if (data == 2) {
+ tags = {
+ type: 'success',
+ text: '已审核'
+ }
+ } else if (data == 3) {
+ tags = {
+ type: 'danger',
+ text: '未通过'
+ }
+ }
+
+ return tags
+ }
+ },
+
+ textDispose() {
+ return (row, flag, type) => {
+ if (row[flag] || row[type] == null) {
+ return row[type]
+ } else {
+ if (type == 'principalIdCard') {
+ 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]
+ },
+
colseDetail() {
this.auditBasePopup = false
this.onLoad(this.page)
@@ -345,6 +462,12 @@
searchChange(params, done) {
this.query = params
this.page.currentPage = 1
+ let dateRange = params.dateRange
+ if (params.dateRange) {
+ params.startTime = dateRange[0] + " 00:00:00"
+ params.endTime = dateRange[1] + " 23:59:59"
+ delete params.dateRange
+ }
this.onLoad(this.page, params)
done()
},
@@ -404,11 +527,12 @@
}
values.reportType = 1
this.loading = true
- getList(page.currentPage, page.pageSize, values).then((res) => {
+ getBailReportingPage(page.currentPage, page.pageSize, values).then((res) => {
const data = res.data.data
this.page.total = data.total
this.data = data.records
this.data.forEach(item => {
+ this.$set(item, 'phoneflag', false)
if (item.imageUrls && item.imageUrls != '' && item.imageUrls != null && item.imageUrls.length) {
var urls = []
var names = item.imageUrls.split(",").filter(item => item != '')
--
Gitblit v1.9.3