[问题修复](pet_门口门禁):

- 门口门禁bug修复
pet_门口门禁
huangyuxuan 2025-02-08 16:20:10 +08:00
parent b1f28ac155
commit 24329ea878
6 changed files with 145 additions and 111 deletions

View File

@ -38,6 +38,12 @@
<el-table-column type="index" label="序号" width="50" align="center"/>
<el-table-column prop="MOTORCADE_NAME" label="车队名称"/>
<el-table-column prop="RELEVANT_UNIT_NAME" label="相关方单位名称"/>
<el-table-column
prop="CREATE_TIME"
label="申请时间"
align="center"
:formatter="(row) => formatCreateTime(row.CREATE_TIME)"
/>
<el-table-column label="审核状态" align="center" width="120">
<template slot-scope="{row}">
{{ getType(row.IS_AUDIT) }}
@ -46,7 +52,9 @@
<el-table-column label="操作" align="left" width="300">
<template slot-scope="{row}">
<el-button type="primary" icon="el-icon-view" size="mini" @click="detail(row)"></el-button>
<el-button v-if="checkButton(row)" type="success" icon="el-icon-check" size="mini" @click="approve(row)"></el-button>
<el-button v-if="checkButton(row)" type="success" icon="el-icon-check" size="mini" @click="approve(row)">
审核
</el-button>
</template>
</el-table-column>
</el-table>
@ -142,10 +150,12 @@
<script>
import Pagination from '@/components/Pagination' // el-pagination
import { requestFN } from '@/utils/request'
import {requestFN} from '@/utils/request'
import SendUtil from './sendUtil.vue'
import dayjs from 'dayjs'; // 使 moment
export default {
components: { SendUtil, Pagination },
components: {SendUtil, Pagination},
data() {
return {
listQuery: {
@ -185,11 +195,15 @@ export default {
this.getList()
},
methods: {
formatCreateTime(time) {
if (!time) return '--'; //
return dayjs(time).format('YYYY-MM-DD HH:mm:ss'); //
},
checkButton(row) {
console.log('---------------------')
console.log('row.IS_AUDIT:', row.IS_AUDIT) //
console.log('this.IS_POLICE:', this.IS_POLICE) //
if (row.IS_AUDIT === '1' && this.IS_POLICE === '1') {
if (row.IS_AUDIT === '1' && this.IS_POLICE === '1') {
return true
} else {
return false
@ -204,13 +218,13 @@ export default {
this.$refs.sendUtil.init(row)
},
getType(AUDIT_TYPE) {
if (AUDIT_TYPE === '1'){
if (AUDIT_TYPE === '1') {
return '待审核'
}else if (AUDIT_TYPE === '2'){
} else if (AUDIT_TYPE === '2') {
return '审核通过'
}else if (AUDIT_TYPE === '0'){
} else if (AUDIT_TYPE === '0') {
return '审核驳回'
}else {
} else {
return '待申请'
}
},

View File

@ -189,6 +189,7 @@
<!-- 车辆所属部门下拉框 -->
<el-form-item label="车辆所属部门" prop="VEHICLE_DEPARTMENT_ID">
<SelectTree
:key="editForm.VEHICLE_DEPARTMENT_ID"
ref="selectTree_edit"
:clearable="true"
:options="treeData"
@ -625,19 +626,11 @@ export default {
if (data.result === 'success') {
this.editForm.LICENCE_NO = data.pd.LICENCE_NO //
this.editForm.OLD_LICENCE_NO = data.pd.LICENCE_NO //
this.editForm.USER_ID = data.pd.USER_ID //
this.editForm.USER_ID = data.pd.QC_USER_NAME //
this.editForm.VEHICLE_DEPARTMENT_ID = data.pd.QC_DEPT_NAME
this.editForm.LICENCE_TYPE = String(data.pd.LICENCE_TYPE) //
this.editForm.VEHICLE_TYPE = String(data.pd.VEHICLE_TYPE) //
this.editForm.VEHICLE_BELONG_TYPE = data.pd.VEHICLE_BELONG_TYPE === undefined ? '' : data.pd.VEHICLE_BELONG_TYPE //
if ('VEHICLE_DEPARTMENT_ID' in data.pd) { // id
const node = {}
node.id = data.pd.VEHICLE_DEPARTMENT_ID
// this.$refs.selectTree_edit.clearHandle() //
this.editForm.VEHICLE_DEPARTMENT_ID = data.pd.VEHICLE_DEPARTMENT_ID
this.$nextTick(() => { // 使
this.$refs.selectTree_edit.handleNodeClick(node)
})
}
} else {
this.$message({
message: '数据回显失败',
@ -787,11 +780,9 @@ export default {
})
},
resetSearch() {
this.searchForm = {
LICENCE_NO: '' //
}
this.searchForm.LICENCE_NO = ''
this.$refs.selectTree_Search1.clearHandle() //
this.$refs.selectTree_Search2.clearHandle()
this.searchForm.USER_NAME = ''
},
addUserList(DEPARTMENT_ID) {
// this.getUserList(DEPARTMENT_ID)

View File

@ -201,13 +201,14 @@
<el-form-item label="车辆所属部门" prop="VEHICLE_DEPARTMENT_ID">
<SelectTree
ref="selectTree_edit"
:clearable="true"
:clearable="false"
:options="treeData"
:props="defaultProps"
v-model="editForm.VEHICLE_DEPARTMENT_ID"
placeholder="请选择车辆所属部门"
style="width: 300px"
@change="updateUserList"/>
@change="updateUserList"
/>
</el-form-item>
<!-- 车辆责任人下拉框 -->
<el-form-item label="车辆责任人" prop="USER_ID">
@ -599,18 +600,12 @@ export default {
this.editForm.LICENCE_NO = data.pd.LICENCE_NO //
this.editForm.OLD_LICENCE_NO = data.pd.LICENCE_NO //
this.editForm.USER_ID = data.pd.USER_ID //
this.editForm.VEHICLE_DEPARTMENT_ID = data.pd.VEHICLE_DEPARTMENT_ID
this.editForm.LICENCE_TYPE = String(data.pd.LICENCE_TYPE) //
this.editForm.VEHICLE_TYPE = String(data.pd.VEHICLE_TYPE) //
this.editForm.VEHICLE_BELONG_TYPE = data.pd.VEHICLE_BELONG_TYPE === undefined ? '' : data.pd.VEHICLE_BELONG_TYPE //
if ('VEHICLE_DEPARTMENT_ID' in data.pd) { // id
const node = {}
node.id = data.pd.VEHICLE_DEPARTMENT_ID
// this.$refs.selectTree_edit.clearHandle() //
this.editForm.VEHICLE_DEPARTMENT_ID = data.pd.VEHICLE_DEPARTMENT_ID
this.$nextTick(() => { // 使
this.$refs.selectTree_edit.handleNodeClick(node)
})
}
console.log('------------------')
console.log(this.editForm)
} else {
this.$message({
message: '数据回显失败',
@ -622,6 +617,7 @@ export default {
},
editDialogCancelBtn() {
this.editDialogVisible = false
this.$refs["editForm"].resetFields()
},
// ()
showDetail(VEHICLE_ID) {
@ -738,11 +734,9 @@ export default {
},
resetSearch() {
this.searchForm = {
LICENCE_NO: '' //
}
this.searchForm.LICENCE_NO = ''
this.$refs.selectTree_Search1.clearHandle() //
this.$refs.selectTree_Search2.clearHandle()
this.searchForm.USER_NAME = ''
},
addUserList(DEPARTMENT_ID) {
// this.getUserList(DEPARTMENT_ID)
@ -764,7 +758,7 @@ export default {
}
).then((data) => {
console.info(data)
this.userList = data.userList
this.userList = data.xgfUserList
}).catch((e) => {
// this.listLoading = false
})

View File

@ -738,11 +738,9 @@ export default {
},
resetSearch() {
this.searchForm = {
LICENCE_NO: '' //
}
this.searchForm.LICENCE_NO = ''
this.$refs.selectTree_Search1.clearHandle() //
this.$refs.selectTree_Search2.clearHandle()
this.searchForm.USER_NAME = ''
},
addUserList(DEPARTMENT_ID) {
// this.getUserList(DEPARTMENT_ID)

View File

@ -76,6 +76,7 @@ import waves from '@/directive/waves' // waves directive
import WriteSign from '@/components/WriteSign'
import SelectTree from '@/components/SelectTree'
import safetyFlowChart from '../../../hiddenUtil/safetyFlowChart'
import 'element-ui/lib/theme-chalk/index.css';
export default {
components: { Pagination, WriteSign, safetyFlowChart, SelectTree },
directives: { waves },
@ -175,22 +176,34 @@ export default {
},
//
deleteSingleDataDeleteBtn(VIOLATION_ID) {
requestFN(
'/breakRulesRecord/deleteRecord',
{
'VIOLATION_ID': VIOLATION_ID
}
).then((data) => {
if (data.result == 'error') {
this.$message({
message: '违规记录清除失败',
type: 'error'
})
return false
} else {
this.$refs.vehicleViolationTable.clearSelection() //
this.getList() //
}
console.log('1111111111111111111111111111111111111111111')
this.$confirm('确定要删除这条违规记录吗?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
requestFN(
'/breakRulesRecord/deleteRecord',
{
'VIOLATION_ID': VIOLATION_ID
}
).then((data) => {
if (data.result == 'error') {
this.$message({
message: '违规记录清除失败',
type: 'error'
})
return false
} else {
this.$refs.vehicleViolationTable.clearSelection() //
this.getList() //
}
})
}).catch(() => {
this.$message({
type: 'info',
message: '已取消删除'
})
})
}
}

View File

@ -5,7 +5,7 @@
<el-row>
<el-col :span="4">
<el-form-item label="车牌号">
<el-input v-model="searchFrom.LICENCE_NO" placeholder="请输入车牌号..." />
<el-input v-model="searchFrom.LICENCE_NO" placeholder="请输入车牌号..."/>
</el-form-item>
</el-col>
<el-col :span="4">
@ -61,9 +61,14 @@
type="selection"
width="55"
align="center"/>
<el-table-column type="index" label="序号" width="50" align="center" />
<el-table-column prop="CORPINFO_NAME" label="分公司名称" align="center" />
<el-table-column prop="LICENCE_NO" label="车牌号" align="center" />
<el-table-column type="index" label="序号" width="50" align="center"/>
<el-table-column
prop="CORPINFO_NAME"
label="分公司名称"
align="center"
:formatter="(row) => formatCorpInfoName(row)"
/>
<el-table-column prop="LICENCE_NO" label="车牌号" align="center"/>
<el-table-column label="车牌类型" align="center" width="120">
<template slot-scope="{row}">
{{ translateLicenceType(row.LICENCE_TYPE) }}
@ -74,10 +79,21 @@
{{ translateVehicleType(row.VEHICLE_TYPE) }}
</template>
</el-table-column>
<el-table-column prop="VEHICLE_DEPARTMENT_NAME" label="车辆所属部门" align="center" />
<el-table-column prop="USER_NAME" label="车辆责任人" align="center" width="120" />
<el-table-column prop="VIOLATION_COUNT" label="违规次数" align="center" />
<!-- <el-table-column prop="ISEXIST" label="是否存在" align="center" />-->
<el-table-column
prop="VEHICLE_DEPARTMENT_NAME"
label="车辆所属部门"
align="center"
:formatter="(row) => formatDepartmentName(row)"
/>
<el-table-column
prop="USER_NAME"
label="车辆责任人"
align="center"
width="120"
:formatter="(row) => formatUserName(row)"
/>
<el-table-column prop="VIOLATION_COUNT" label="违规次数" align="center"/>
<!-- <el-table-column prop="ISEXIST" label="是否存在" align="center" />-->
<el-table-column label="操作" align="center" width="480">
<template slot-scope="{row}">
@ -89,28 +105,32 @@
<div>
<el-button type="primary" icon="el-icon-plus" @click="openAddDialogAddBtn"></el-button>
</div>
<pagination :total="total" :page.sync="listQuery.page" :limit.sync="listQuery.limit" @pagination="getPageList" />
<pagination :total="total" :page.sync="listQuery.page" :limit.sync="listQuery.limit" @pagination="getPageList"/>
</div>
<!-- 添加车辆违规信息 -->
<el-dialog :visible.sync="addDialogVisible" title="添加车辆违规信息" width="600px">
<el-form v-if="addDialogVisible" ref="addForm" :rules="addFormRules" :model="addForm" label-width="170px" style="padding:0 20px; width: 500px;">
<el-form v-if="addDialogVisible" ref="addForm" :rules="addFormRules" :model="addForm" label-width="170px"
style="padding:0 20px; width: 500px;">
<el-form-item label="车牌号" label-width="110px" prop="LICENCE_NO">
<el-input v-model="addForm.LICENCE_NO" :autosize="{ minRows: 1}" type="text" maxlength="300" placeholder="这里输入车牌号..." @blur="goCheckLicenceNo()"/>
<el-input v-model="addForm.LICENCE_NO" :autosize="{ minRows: 1}" type="text" maxlength="300"
placeholder="这里输入车牌号..." @blur="goCheckLicenceNo()"/>
</el-form-item>
<!-- 白牌蓝牌黄牌绿牌黑牌 下拉框-->
<el-form-item label="车牌类型" label-width="110px" prop="LICENCE_TYPE">
<el-select v-model="addForm.LICENCE_TYPE" label-width="110px">
<el-option v-for="item in licenceTypeList" :key="item.ID" :label="item.NAME" :value="item.ID" />
<el-option v-for="item in licenceTypeList" :key="item.ID" :label="item.NAME" :value="item.ID"/>
</el-select>
</el-form-item>
<!-- 货车轿车大巴客车 下拉框-->
<el-form-item label="车辆类型" label-width="110px" prop="VEHICLE_TYPE">
<el-select v-model="addForm.VEHICLE_TYPE" label-width="110px">
<el-option v-for="item in vehicleTypeList" :key="item.ID" :label="item.NAME" :value="item.ID" />
<el-option v-for="item in vehicleTypeList" :key="item.ID" :label="item.NAME" :value="item.ID"/>
</el-select>
</el-form-item>
<el-form-item label="违规时间" label-width="110px" prop="VIOLATIONTIME">
<el-date-picker id="VIOLATIONTIME" ref="VIOLATIONTIME" v-model="addForm.VIOLATIONTIME" value-format="yyyy-MM-dd HH:mm:ss" format="yyyy-MM-dd HH:mm:ss" style="width: 100%" type="datetime" placeholder="请选择" />
<el-date-picker id="VIOLATIONTIME" ref="VIOLATIONTIME" v-model="addForm.VIOLATIONTIME"
value-format="yyyy-MM-dd HH:mm:ss" format="yyyy-MM-dd HH:mm:ss" style="width: 100%"
type="datetime" placeholder="请选择"/>
</el-form-item>
<!-- 违规类型0-未按规定车道行驶1-违规停车 下拉框-->
<el-form-item label="违规类型" label-width="110px" prop="VIOLATION_TYPE">
@ -124,7 +144,8 @@
style="width: 300px"/>
</el-form-item>
<el-form-item label="违规区域" label-width="110px" prop="LOCATION">
<el-input :rows="3" v-model="addForm.LOCATION" type="textarea" placeholder="违规区域需明确车辆在港口内的具体违规位置如某一口门附近、某一码头区域、某一仓库通道等..."/>
<el-input :rows="3" v-model="addForm.LOCATION" type="textarea"
placeholder="违规区域需明确车辆在港口内的具体违规位置如某一口门附近、某一码头区域、某一仓库通道等..."/>
</el-form-item>
<el-form-item label="违规图片" label-width="110px" prop="FFILE">
<el-upload
@ -140,14 +161,14 @@
accept=".jpg,.jpeg,.png"
class="avatar-uploader"
list-type="picture-card">
<i class="el-icon-plus" />
<i class="el-icon-plus"/>
</el-upload>
<span class="red-tip">* 最多只能上传四张图片</span>
<el-dialog :visible.sync="dialogImageVisible">
<img :src="dialogImageUrl" width="100%" alt="">
</el-dialog>
</el-form-item>
<el-form-item label="违规说明" label-width="110px" prop="DESCRIBE_MESSAGE" >
<el-form-item label="违规说明" label-width="110px" prop="DESCRIBE_MESSAGE">
<el-input :rows="3" v-model="addForm.DESCRIBE_MESSAGE" type="textarea" placeholder="请在此处输入违规说明..."/>
</el-form-item>
</el-form>
@ -160,15 +181,16 @@
</template>
<script>
import Pagination from '@/components/Pagination' // el-pagination
import { requestFN } from '@/utils/request'
import {requestFN} from '@/utils/request'
import waves from '@/directive/waves' // waves directive
import WriteSign from '@/components/WriteSign'
import SelectTree from '@/components/SelectTree'
import safetyFlowChart from '../../../hiddenUtil/safetyFlowChart'
import { upload } from '@/utils/upload'
import {upload} from '@/utils/upload'
export default {
components: { Pagination, WriteSign, safetyFlowChart, SelectTree },
directives: { waves },
components: {Pagination, WriteSign, safetyFlowChart, SelectTree},
directives: {waves},
data() {
return {
ISCHECK: false,
@ -224,43 +246,49 @@ export default {
//
addFormRules: {
LICENCE_NO: [
{ required: true, message: '车牌号不能为空', trigger: 'blur' },
{ pattern: /^([京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领A-Z]{1}[A-Z]{1}[A-Z0-9]{4}[A-Z0-9挂学警港澳]{1})$/, message: '请填写正确的车牌号', trigger: 'blur' }
{required: true, message: '车牌号不能为空', trigger: 'blur'},
{
pattern: /^([京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领A-Z]{1}[A-Z]{1}[A-Z0-9]{4}[A-Z0-9挂学警港澳]{1})$/,
message: '请填写正确的车牌号',
trigger: 'blur'
}
],
VIOLATION_TYPE: [{ required: true, message: '请选择违规类型', trigger: 'blur' }],
FFILE: [{ required: true, validator: (rule, value, callback) => {
VIOLATION_TYPE: [{required: true, message: '请选择违规类型', trigger: 'blur'}],
FFILE: [{
required: true, validator: (rule, value, callback) => {
if (value.length === 0) {
callback(new Error('违规图片不能为空'));
} else {
callback();
}
}, trigger: 'blur' }],
LOCATION: [{ required: true, message: '违规区域不能为空', trigger: 'blur' }],
VIOLATIONTIME: [{ required: true, message: '违规时间不能为空', trigger: 'blur' }],
LICENCE_TYPE: [{ required: true, message: '请选择车牌类型', trigger: 'blur' }],
VEHICLE_TYPE: [{ required: true, message: '请选择车辆类型', trigger: 'blur' }]
}, trigger: 'blur'
}],
LOCATION: [{required: true, message: '违规区域不能为空', trigger: 'blur'}],
VIOLATIONTIME: [{required: true, message: '违规时间不能为空', trigger: 'blur'}],
LICENCE_TYPE: [{required: true, message: '请选择车牌类型', trigger: 'blur'}],
VEHICLE_TYPE: [{required: true, message: '请选择车辆类型', trigger: 'blur'}]
},
//
violationTypeList: [
// { ID: '', NAME: '' },
{ ID: '0', NAME: '未按规定车道行驶' },
{ ID: '1', NAME: '违规停车' }
{ID: '0', NAME: '未按规定车道行驶'},
{ID: '1', NAME: '违规停车'}
],
//
vehicleTypeList: [
// { ID: '', NAME: '' },
{ ID: '0', NAME: '货车' },
{ ID: '1', NAME: '轿车' },
{ ID: '2', NAME: '大巴客车' }
{ID: '0', NAME: '货车'},
{ID: '1', NAME: '轿车'},
{ID: '2', NAME: '大巴客车'}
],
//
licenceTypeList: [
// { ID: '', NAME: '' },
{ ID: '0', NAME: '白牌' },
{ ID: '1', NAME: '蓝牌' },
{ ID: '2', NAME: '黄牌' },
{ ID: '3', NAME: '绿牌' },
{ ID: '4', NAME: '黑牌' }
{ID: '0', NAME: '白牌'},
{ID: '1', NAME: '蓝牌'},
{ID: '2', NAME: '黄牌'},
{ID: '3', NAME: '绿牌'},
{ID: '4', NAME: '黑牌'}
],
//
oneselfDefaultProps: {
@ -282,23 +310,19 @@ export default {
this.getPageList() //
},
methods: {
formatCorpInfoName(row) {
return row.CORPINFO_NAME || row.RELEVANT_UNIT_NAME || '--';
},
formatDepartmentName(row) {
return row.VEHICLE_DEPARTMENT_NAME || row.DEPT_NAME || '--';
},
formatUserName(row) {
return row.USER_NAME || row.U_NAME || '--';
},
// ID
getRowKey(row) {
return row.VEHICLE_ID
},
//
// getDict: function() {
// requestFN(
// '/dictionaries/listSelectTree',
// {
// DICTIONARIES_ID: '60e6481d96e44a5390ff5c347c4d1ffe' //
// }
// ).then((data) => {
// this.inspectionTypeList = JSON.parse(data.zTreeNodes)
// }).catch((e) => {
//
// })
// },
//
getDepartmentTreeData() {
requestFN(