Merge branch 'refs/heads/hyx_门口门禁' into pet_门口门禁

pet_门口门禁
huangyuxuan 2025-01-14 11:22:12 +08:00
commit 3b2ae7e74c
48 changed files with 7850 additions and 4 deletions
src/views
freightVehicles
carInfoManagement
dangerousCar
filingAudit
ordinaryCar
publicAuidt
longtermvehicle
mkmjManagement
temporaryAccess

View File

@ -0,0 +1,509 @@
<template>
<div class="app-container">
<div class="filter-container">
<el-form ref="form" v-model="form">
<el-row>
<el-col :span="5">
<el-form-item label="车牌号:">
<el-input v-model="form.LICENCE_NO" placeholder="搜索" class="filter-item" style="width: 200px;"/>
</el-form-item>
</el-col>
<el-col :span="4">
<el-button v-waves class="filter-item" type="primary" icon="el-icon-search" @click="getQuery"></el-button>
<el-button v-waves class="filter-item" type="success" icon="el-icon-refresh" @click="reset"></el-button>
</el-col>
</el-row>
</el-form>
</div>
<el-table
v-loading="listLoading"
ref="multipleTable"
:data="varList"
:row-key="getRowKey"
:header-cell-style="{
'font-weight': 'bold',
'color': '#000'
}"
tooltip-effect="dark"
border
fit
highlight-current-row
>
<el-table-column
:reserve-selection="true"
type="selection"
width="55"
align="center"/>
<el-table-column type="index" label="序号" width="50" align="center" />
<el-table-column prop="LICENCE_NO" label="车牌号"/>
<el-table-column prop="CONTACT" label="联系人姓名"/>
<el-table-column prop="PHONE" label="联系人电话"/>
<el-table-column prop="LICENCE_TYPE" label="车牌类型"/>
<el-table-column prop="VEHICLE_TYPE" label="车辆类型"/>
</el-table>
<div class="page-btn-group">
<div/>
<div/>
<pagination :total="total" :page.sync="listQuery.page" :limit.sync="listQuery.limit" @pagination="getList" />
</div>
<el-dialog :visible.sync="addDialogVisible" title="添加车辆信息" width="600px">
<el-form v-if="addDialogVisible" ref="addForm" :model="addForm" label-width="170px" style="padding:0 20px; width: 500px;">
<el-form-item :rules="[{required: true}]" label="车牌号" prop="LICENCE_NO">
<el-input v-model="addForm.LICENCE_NO" type="text" maxlength="300" placeholder="这里输入车牌号..." @blur="goCheckLicenceNoAdd()"/>
</el-form-item>
<!-- 白牌蓝牌黄牌绿牌黑牌 下拉框-->
<el-form-item :rules="[{required: true}]" label="车牌类型" prop="LICENCE_TYPE">
<SelectTree
ref="selectTree_add2"
:clearable="false"
:options="licenceTypeList"
:props="vehicleDefaultProps"
v-model="addForm.LICENCE_TYPE"
placeholder="请选择车牌类型"
style="width: 300px"/>
</el-form-item>
<!-- 货车轿车大巴客车 下拉框-->
<el-form-item :rules="[{required: true}]" label="车辆类型" prop="VEHICLE_TYPE">
<SelectTree
ref="selectTree_add3"
:clearable="false"
:options="vehicleTypeList"
:props="vehicleDefaultProps"
v-model="addForm.VEHICLE_TYPE"
placeholder="请选择车辆类型"
style="width: 300px"/>
</el-form-item>
<!--是否为危化车辆-->
<el-form-item :rules="[{required: true}]" label="是否为危化车辆" prop="IS_DANGEROUS_CAR">
<SelectTree
ref="selectTree_add4"
:clearable="false"
:options="DANGEROUS_CAR_LIST"
:props="vehicleDefaultProps"
v-model="addForm.IS_DANGEROUS_CAR"
placeholder="请选择是否危化车辆"
style="width: 300px"/>
</el-form-item>
<el-form-item label="负责人" :rules="[{ required: true, message: '请填写负责人姓名', trigger: 'blur' }]">
<el-input v-model="addForm.CONTACT" type="text" maxlength="300" placeholder="这里输入负责人名称..."/>
</el-form-item>
<el-form-item label="负责人手机号" :rules="[{ required: true, message: '请填写负责人手机号', trigger: 'blur' }]">
<el-input v-model="addForm.PHONE" type="text" maxlength="300" placeholder="这里输入负责人手机号..."/>
</el-form-item>
<el-form-item label="排放标准" :rules="[{ required: true, message: '请填写排放标准', trigger: 'blur' }]">
<el-input v-model="addForm.EMISSION_STANDARDS" type="text" maxlength="300" placeholder="这里输入排放标准..."/>
</el-form-item>
<!-- 驾驶证上传 -->
<el-form-item label="驾驶证" :rules="[{ required: true, message: '请上传驾驶证', trigger: 'blur' }]">
<el-upload
action="http://127.0.0.1:8199/mkmj/management/fileUpload"
:on-success="handleDrivingLicenseSuccess"
:before-upload="beforeUpload"
:limit="1">
<el-button type="primary">点击上传</el-button>
</el-upload>
</el-form-item>
<el-form-item label="绿本" :rules="[{ required: true, message: '请上传绿本', trigger: 'blur' }]">
<el-upload
action="http://127.0.0.1:8199/mkmj/management/fileUpload"
:on-success="handleGreenBookSuccess"
:before-upload="beforeUpload"
:limit="1">
<el-button type="primary">点击上传</el-button>
</el-upload>
</el-form-item>
<el-form-item label="环保随车清单" :rules="[{ required: true, message: '请上传环保随车清单', trigger: 'blur' }]">
<el-upload
action="http://127.0.0.1:8199/mkmj/management/fileUpload"
:on-success="handleEcoFriendlyChecklistSuccess"
:before-upload="beforeUpload"
:limit="1">
<el-button type="primary">点击上传</el-button>
</el-upload>
</el-form-item>
<el-form-item label="出厂合格证" :rules="[{ required: true, message: '请上传出厂合格证', trigger: 'blur' }]">
<el-upload
action="http://127.0.0.1:8199/mkmj/management/fileUpload"
:on-success="handleFactoryCertificateSuccess"
:before-upload="beforeUpload"
:limit="1">
<el-button type="primary">点击上传</el-button>
</el-upload>
</el-form-item>
<el-form-item label="环保信息截图" :rules="[{ required: true, message: '请上传环保信息截图', trigger: 'blur' }]">
<el-upload
action="http://127.0.0.1:8199/mkmj/management/fileUpload"
:on-success="handleEnvironmentalScreenshotsSuccess"
:before-upload="beforeUpload"
:limit="1">
<el-button type="primary">点击上传</el-button>
</el-upload>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click="addDialogCancelBtn"> </el-button>
<el-button type="primary" @click="addDialogConfirmBtn"> </el-button>
</div>
</el-dialog>
<!--编辑-->
<el-dialog :visible.sync="editDialogVisible" title="编辑车辆信息" width="600px">
<el-form v-if="editDialogVisible" ref="editForm" :model="addForm" label-width="170px" style="padding:0 20px; width: 500px;">
<el-form-item label="车牌号" prop="LICENCE_NO">
<el-input v-model="addForm.LICENCE_NO" type="text" maxlength="300" placeholder="这里输入车牌号..." @blur="goCheckLicenceNoAdd()"/>
</el-form-item>
<!-- 白牌蓝牌黄牌绿牌黑牌 下拉框-->
<el-form-item label="车牌类型" prop="LICENCE_TYPE">
<SelectTree
ref="selectTree_edit2"
:clearable="false"
:options="licenceTypeList"
:props="vehicleDefaultProps"
v-model="addForm.LICENCE_TYPE"
placeholder="请选择车牌类型"
style="width: 300px"/>
</el-form-item>
<!-- 货车轿车大巴客车 下拉框-->
<el-form-item label="车辆类型" prop="VEHICLE_TYPE">
<SelectTree
ref="selectTree_edit3"
:clearable="false"
:options="vehicleTypeList"
:props="vehicleDefaultProps"
v-model="addForm.VEHICLE_TYPE"
placeholder="请选择车辆类型"
style="width: 300px"/>
</el-form-item>
<!--是否为危化车辆-->
<el-form-item label="是否为危化车辆" prop="IS_DANGEROUS_CAR">
<SelectTree
ref="selectTree_edit4"
:clearable="false"
:options="DANGEROUS_CAR_LIST"
:props="vehicleDefaultProps"
v-model="addForm.IS_DANGEROUS_CAR"
placeholder="请选择是否危化车辆"
style="width: 300px"/>
</el-form-item>
<el-form-item label="负责人">
<el-input v-model="addForm.CONTACT" type="text" maxlength="300" placeholder="这里输入负责人名称..."/>
</el-form-item>
<el-form-item label="负责人手机号">
<el-input v-model="addForm.PHONE" type="text" maxlength="300" placeholder="这里输入负责人手机号..."/>
</el-form-item>
<el-form-item label="排放标准">
<el-input v-model="addForm.EMISSION_STANDARDS" type="text" maxlength="300" placeholder="这里输入排放标准..."/>
</el-form-item>
<!-- 驾驶证上传 -->
<el-form-item label="驾驶证">
<el-upload
action="http://127.0.0.1:8199/mkmj/management/fileUpload"
:on-success="handleDrivingLicenseSuccess"
:before-upload="beforeUpload"
:limit="1">
<el-button type="primary">点击上传</el-button>
</el-upload>
</el-form-item>
<el-form-item label="绿本">
<el-upload
action="http://127.0.0.1:8199/mkmj/management/fileUpload"
:on-success="handleGreenBookSuccess"
:before-upload="beforeUpload"
:limit="1">
<el-button type="primary">点击上传</el-button>
</el-upload>
</el-form-item>
<el-form-item label="环保随车清单">
<el-upload
action="http://127.0.0.1:8199/mkmj/management/fileUpload"
:on-success="handleEcoFriendlyChecklistSuccess"
:before-upload="beforeUpload"
:limit="1">
<el-button type="primary">点击上传</el-button>
</el-upload>
</el-form-item>
<el-form-item label="出厂合格证">
<el-upload
action="http://127.0.0.1:8199/mkmj/management/fileUpload"
:on-success="handleFactoryCertificateSuccess"
:before-upload="beforeUpload"
:limit="1">
<el-button type="primary">点击上传</el-button>
</el-upload>
</el-form-item>
<el-form-item label="环保信息截图">
<el-upload
action="http://127.0.0.1:8199/mkmj/management/fileUpload"
:on-success="handleEnvironmentalScreenshotsSuccess"
:before-upload="beforeUpload"
:limit="1">
<el-button type="primary">点击上传</el-button>
</el-upload>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click="editDialogCancelBtn"> </el-button>
<el-button type="primary" @click="editDialogConfirmBtn"> </el-button>
</div>
</el-dialog>
<flow-step ref="flowStep" append-to-body @refresh="getList"/>
</div>
</template>
<script>
import Pagination from '@/components/Pagination' // el-pagination
import { requestFN } from '@/utils/request'
import SelectTree from '@/components/SelectTree'
export default{
components: { Pagination, SelectTree},
data() {
return {
listQuery: {
page: 1,
limit: 10
},
areaList: [], //
placeList: [],
listLoading: true,
varList: [],
total: 0,
title: '',
isShow: false,
addDialogVisible: false,
editDialogVisible: false,
addForm: {
VEHICLE_ID: '',
LICENCE_NO: '',
LICENCE_TYPE: '',
VEHICLE_TYPE: '',
CONTACT: '',
PHONE: '',
EMISSION_STANDARDS: '',
IS_DANGEROUS_CAR: '',
DRIVING_LICENSE: '',
GREEN_BOOK: '',
ECO_FRIENDLY_CHECKLIST: '',
FACTORY_CERTIFICATE: '',
ENVIRONMENTAL_SCREENSHOTS: '',
CORPINFO_ID: JSON.parse(sessionStorage.getItem('user')).CORPINFO_ID,
MOTORCADE_ID: this.$parent.MOTORCADE_ID
},
form: {
MOTORCADE_NAME: '',
PHONE: '',
ID_CARD: '',
CORPINFO_NAME: '',
DEPARTMENT_NAME: '',
VISIT_START_TIME: '',
VISIT_END_TIME: '',
DOOR_NAME: '',
TEMPORARY_TYPE: '2',
CORPINFO_ID: JSON.parse(sessionStorage.getItem('user')).CORPINFO_ID,
MOTORCADE_ID: this.$parent.MOTORCADE_ID
},
//
licenceTypeList: [
{ ID: '0', NAME: '白牌' },
{ ID: '1', NAME: '蓝牌' },
{ ID: '2', NAME: '黄牌' },
{ ID: '3', NAME: '绿牌' },
{ ID: '4', NAME: '黑牌' }
],
//
vehicleTypeList: [
// { ID: '', NAME: '' },
{ ID: '0', NAME: '货车' },
{ ID: '1', NAME: '轿车' },
{ ID: '2', NAME: '大巴客车' }
],
DANGEROUS_CAR_LIST: [
{ ID: '0', NAME: '否' },
{ ID: '1', NAME: '是' },
],
//
vehicleDefaultProps: {
value: 'ID',
label: 'NAME',
children: 'nodes'
}
}
},
async created() {
this.getList()
},
methods: {
//
getQuery() {
this.$refs.multipleTable.clearSelection()
this.getList()
},
//
reset() {
this.form = {
USER_NAME: '',
PHONE: '',
ID_CARD: '',
CORPINFO_NAME: '',
DEPARTMENT_NAME: '',
VISIT_START_TIME: '',
VISIT_END_TIME: '',
DOOR_NAME: ''
}
this.getList()
},
//
getList() {
this.listLoading = true
requestFN(
'/mkmjManagement/getAllCarInfoList?showCount=' + this.listQuery.limit + '&currentPage=' + this.listQuery.page, this.form
).then((data) => {
console.log(data)
this.listLoading = false
this.varList = data.carInfoList
this.total = data.page.totalResult
this.hasButton()
this.pd = data.pd
}).catch((e) => {
this.listLoading = false
})
},
goCheckLicenceNoAdd() {
if (this.addForm.LICENCE_NO) {
const regex = /^([京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领A-Z]{1}[A-Z]{1}[A-Z0-9]{4}[A-Z0-9挂学警港澳]{1})$/
const result = regex.test(this.addForm.LICENCE_NO)
if (result) {
console.log('格式校验通过')
requestFN(
'/mkmj/management/goCheckLicenceNo',
{
'LICENCE_NO': this.addForm.LICENCE_NO
}
).then((data) => {
if (data.result === 'success') {
this.$message.success('验证通过')
this.ISCHECK = true
} else {
this.$message.error('车牌号已存在,请重新输入')
this.ISCHECK = false
}
}).catch((e) => {
console.info(e)
this.listLoading = false
this.ISCHECK = false
})
} else {
this.$message.success('车牌号不规范')
this.ISCHECK = false
}
}
},
//
openAddDialogAddBtn() {
this.addDialogVisible = true
this.reSetAddDialog()
this.ISCHECK = false
},
reSetAddDialog() {
this.addForm.VEHICLE_ID = '',
this.addForm.LICENCE_NO = '',
this.addForm.LICENCE_TYPE = '',
this.addForm.VEHICLE_TYPE = '',
this.addForm.CONTACT = '',
this.addForm.PHONE = '',
this.addForm.EMISSION_STANDARDS = '',
this.addForm.IS_DANGEROUS_CAR = '',
this.addForm.DRIVING_LICENSE = '',
this.addForm.GREEN_BOOK = '',
this.addForm.ECO_FRIENDLY_CHECKLIST = '',
this.addForm.FACTORY_CERTIFICATE = '',
this.addForm.ENVIRONMENTAL_SCREENSHOTS = ''
},
handleDrivingLicenseSuccess(response, file) {
this.addForm.DRIVING_LICENSE = response.uploadPath;
},
handleGreenBookSuccess(response, file) {
this.addForm.GREEN_BOOK = response.uploadPath;
},
handleEcoFriendlyChecklistSuccess(response, file) {
this.addForm.ECO_FRIENDLY_CHECKLIST = response.uploadPath;
},
handleFactoryCertificateSuccess(response, file) {
this.addForm.FACTORY_CERTIFICATE = response.uploadPath;
},
handleEnvironmentalScreenshotsSuccess(response, file) {
this.addForm.ENVIRONMENTAL_SCREENSHOTS = response.uploadPath;
},
beforeUpload(file) {
//
const isLt2M = file.size / 1024 / 1024 < 2;
if (!isLt2M) {
this.$message.error('上传文件大小不能超过 2MB!');
}
return isLt2M;
},
addDialogCancelBtn() {
this.addDialogVisible = false;
},
addDialogConfirmBtn() {
requestFN(
'/mkmj/management/carInfoMaintenance' ,
this.addForm
).then((data) => {
this.addDialogVisible = false
this.reSetAddDialog()
this.getList()
}).catch((e) => {
this.addDialogVisible = false
})
},
goDelete(row){
this.$confirm('确定要删除吗?', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
requestFN(
'/mkmj/management/deleteCarInfo',
{
VEHICLE_ID : row.VEHICLE_ID
}
).then((data) => {
this.listLoading = false
this.getList()
}).catch((e) => {
this.listLoading = false
})
}).catch(() => {
})
},
goEdit(row){
this.addForm.VEHICLE_ID = row.VEHICLE_ID
this.editDialogVisible = true
},
editDialogCancelBtn(){
this.editDialogVisible = false
},
editDialogConfirmBtn(){
requestFN(
'/mkmj/management/carInfoMaintenance' ,
this.addForm
).then((data) => {
this.editDialogVisible = false
this.reSetAddDialog()
this.getList()
}).catch((e) => {
this.editDialogVisible = false
})
}
}
}
</script>

View File

@ -0,0 +1,121 @@
<template>
<div class="app-container">
<el-form label-width="90px">
<el-row>
<el-col :span="4">
<el-form-item label="分公司名称">
<el-input v-model="searchForm.CORP_NAME" placeholder="分公司名称"/>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label-width="10px">
<el-button v-waves class="filter-item" type="primary" icon="el-icon-search" @click="getQuery">
搜索
</el-button>
<el-button v-waves class="filter-item" type="success" icon="el-icon-refresh" @click="goKeyReset">
重置
</el-button>
</el-form-item>
</el-col>
</el-row>
</el-form>
<el-table
v-loading="listLoading"
ref="multipleTable"
:data="varList"
:row-key="getRowKey"
:header-cell-style="{
'font-weight': 'bold',
'color': '#000'
}"
tooltip-effect="dark"
border
fit
highlight-current-row
>
<el-table-column type="index" label="序号" width="50" align="center" />
<el-table-column prop="CORP_NAME" label="分公司名称" />
<el-table-column prop="SOCIAL_CODE" label="统一社会信用代码" />
<el-table-column prop="COMPANY_AREA" label="所属地区" />
<el-table-column prop="STATE" label="企业状态" />
<el-table-column prop="USER_COUNT" label="企业人数" />
<el-table-column label="操作" align="left" width="110">
<template slot-scope="{row}">
<el-button type="success" icon="el-icon-view" size="mini" @click="handleEdit(row)"></el-button>
</template>
</el-table-column>
</el-table>
<div class="page-btn-group">
<div>
</div>
<pagination :total="total" :page.sync="listQuery.page" :limit.sync="listQuery.limit" @pagination="getList" />
</div>
</div>
</template>
<script>
import SelectTree from '@/components/SelectTree'
import Pagination from '@/components/Pagination' // el-pagination
import { requestFN } from '@/utils/request'
import waves from '@/directive/waves' // waves directive
export default {
components: {Pagination, SelectTree },
directives: { waves },
data() {
return {
listLoading: true,
CORPINFO_ID: '',
listQuery: {
page: 1,
limit: 20
},
searchForm: {
CORP_NAME: ''
},
total: 0,
varList: []
}
},
created() {
this.getList()
},
methods: {
getRowKey(row) {
return row.CORPINFO_ID
},
//
getQuery() {
this.getList()
},
//
getList() {
this.listLoading = true
requestFN(
'/mkmjManagement/getXgfCorpList?showCount=' + this.listQuery.limit + '&currentPage=' + this.listQuery.page,
{
...this.searchForm
}
).then((data) => {
this.listLoading = false
this.varList = data.corpList
this.total = data.page.totalResult
}).catch((e) => {
this.listLoading = false
})
},
//
handleEdit(row) {
console.log('--------------------------')
console.log(row.CORPINFO_ID)
this.$parent.activeName = 'List'
this.$parent.CORPINFO_ID = row.CORPINFO_ID
},
goKeyReset() {
this.searchForm = {
CORP_NAME: ''
}
this.getList()
}
}
}
</script>

View File

@ -0,0 +1,137 @@
<template>
<div class="app-container">
<div class="filter-container">
<el-form ref="form" v-model="form">
<el-row>
<el-col :span="5">
<el-form-item label="车队名称:">
<el-input v-model="form.MOTORCADE_NAME" placeholder="搜索" class="filter-item" style="width: 200px;"/>
</el-form-item>
</el-col>
<el-col :span="4">
<el-button v-waves class="filter-item" type="primary" icon="el-icon-search" @click="getQuery"></el-button>
<el-button v-waves class="filter-item" type="success" icon="el-icon-refresh" @click="reset"></el-button>
</el-col>
</el-row>
</el-form>
</div>
<el-table
v-loading="listLoading"
ref="multipleTable"
:data="varList"
:row-key="getRowKey"
:header-cell-style="{
'font-weight': 'bold',
'color': '#000'
}"
tooltip-effect="dark"
border
fit
highlight-current-row
>
<el-table-column
:reserve-selection="true"
type="selection"
width="55"
align="center"/>
<el-table-column type="index" label="序号" width="50" align="center" />
<el-table-column prop="MOTORCADE_NAME" label="车队名称"/>
<el-table-column label="操作" align="left" width="200">
<template slot-scope="{row}">
<el-button type="primary" icon="el-icon-view" size="mini" @click="carMaintenance(row)"></el-button>
</template>
</el-table-column>
</el-table>
<div class="page-btn-group">
<div/><div/>
<pagination :total="total" :page.sync="listQuery.page" :limit.sync="listQuery.limit" @pagination="getList" />
</div>
<flow-step ref="flowStep" append-to-body @refresh="getList"/>
</div>
</template>
<script>
import Pagination from '@/components/Pagination' // el-pagination
import { requestFN } from '@/utils/request'
export default{
components: { Pagination },
data() {
return {
listQuery: {
page: 1,
limit: 10
},
areaList: [], //
placeList: [],
listLoading: true,
varList: [],
total: 0,
title: '',
isShow: false,
form: {
MOTORCADE_NAME: '',
PHONE: '',
ID_CARD: '',
CORPINFO_NAME: '',
DEPARTMENT_NAME: '',
VISIT_START_TIME: '',
VISIT_END_TIME: '',
DOOR_NAME: '',
CORPINFO_ID: this.$parent.CORPINFO_ID
}
}
},
created(e) {
this.getList()
},
methods: {
//
getQuery() {
this.$refs.multipleTable.clearSelection()
this.getList()
},
//
reset() {
this.form = {
USER_NAME: '',
PHONE: '',
ID_CARD: '',
CORPINFO_NAME: '',
DEPARTMENT_NAME: '',
VISIT_START_TIME: '',
VISIT_END_TIME: '',
DOOR_NAME: ''
}
this.getList()
},
//
getList() {
this.listLoading = true
requestFN(
'/mkmjManagement/getAllMotorcadeList?showCount=' + this.listQuery.limit + '&currentPage=' + this.listQuery.page, this.form
).then((data) => {
console.log(data)
this.listLoading = false
this.varList = data.varList
this.total = data.page.totalResult
this.hasButton()
this.pd = data.pd
}).catch((e) => {
this.listLoading = false
})
},
carMaintenance(row) {
console.log('---------------------------------')
console.log(row)
this.$parent.MOTORCADE_ID = row.MOTORCADE_ID
this.$parent.activeName = 'CarList'
},
getAuditInfo(row) {
this.$refs.flowStep.init(row)
}
}
}
</script>

View File

@ -0,0 +1,30 @@
<template>
<div>
<CorpList v-show="activeName==='CorpList'" ref="CorpList" />
<List v-if="activeName==='List'" />
<CarList v-if="activeName==='CarList'"/>
</div>
</template>
<script>
import List from './components/list'
import CarList from "./components/carList";
import CorpList from "./components/corpList";
export default {
components: {
CorpList: CorpList,
List: List,
CarList: CarList
},
data() {
return {
activeName: 'CorpList',
USER_ID: ''
}
}
}
</script>
<style scoped>
</style>

View File

@ -0,0 +1,121 @@
<template>
<div class="app-container">
<el-form label-width="90px">
<el-row>
<el-col :span="4">
<el-form-item label="分公司名称">
<el-input v-model="searchForm.CORP_NAME" placeholder="分公司名称"/>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label-width="10px">
<el-button v-waves class="filter-item" type="primary" icon="el-icon-search" @click="getQuery">
搜索
</el-button>
<el-button v-waves class="filter-item" type="success" icon="el-icon-refresh" @click="goKeyReset">
重置
</el-button>
</el-form-item>
</el-col>
</el-row>
</el-form>
<el-table
v-loading="listLoading"
ref="multipleTable"
:data="varList"
:row-key="getRowKey"
:header-cell-style="{
'font-weight': 'bold',
'color': '#000'
}"
tooltip-effect="dark"
border
fit
highlight-current-row
>
<el-table-column type="index" label="序号" width="50" align="center" />
<el-table-column prop="CORP_NAME" label="分公司名称" />
<el-table-column prop="SOCIAL_CODE" label="统一社会信用代码" />
<el-table-column prop="COMPANY_AREA" label="所属地区" />
<el-table-column prop="STATE" label="企业状态" />
<el-table-column prop="USER_COUNT" label="企业人数" />
<el-table-column label="操作" align="left" width="110">
<template slot-scope="{row}">
<el-button type="success" icon="el-icon-view" size="mini" @click="handleEdit(row)"></el-button>
</template>
</el-table-column>
</el-table>
<div class="page-btn-group">
<div>
</div>
<pagination :total="total" :page.sync="listQuery.page" :limit.sync="listQuery.limit" @pagination="getList" />
</div>
</div>
</template>
<script>
import SelectTree from '@/components/SelectTree'
import Pagination from '@/components/Pagination' // el-pagination
import { requestFN } from '@/utils/request'
import waves from '@/directive/waves' // waves directive
export default {
components: {Pagination, SelectTree },
directives: { waves },
data() {
return {
listLoading: true,
CORPINFO_ID: '',
listQuery: {
page: 1,
limit: 20
},
searchForm: {
CORP_NAME: ''
},
total: 0,
varList: []
}
},
created() {
this.getList()
},
methods: {
getRowKey(row) {
return row.CORPINFO_ID
},
//
getQuery() {
this.getList()
},
//
getList() {
this.listLoading = true
requestFN(
'/mkmjManagement/getXgfCorpList?showCount=' + this.listQuery.limit + '&currentPage=' + this.listQuery.page,
{
...this.searchForm
}
).then((data) => {
this.listLoading = false
this.varList = data.corpList
this.total = data.page.totalResult
}).catch((e) => {
this.listLoading = false
})
},
//
handleEdit(row) {
console.log('--------------------------')
console.log(row.CORPINFO_ID)
this.$parent.activeName = 'List'
this.$parent.CORPINFO_ID = row.CORPINFO_ID
},
goKeyReset() {
this.searchForm = {
CORP_NAME: ''
}
this.getList()
}
}
}
</script>

View File

@ -0,0 +1,128 @@
<template>
<div class="app-container">
<div class="filter-container">
<el-form ref="form" v-model="form">
<el-row>
<el-col :span="5">
<el-form-item label="车牌号:">
<el-input v-model="form.LICENCE_NO" placeholder="搜索" class="filter-item" style="width: 200px;"/>
</el-form-item>
</el-col>
<el-col :span="4">
<el-button v-waves class="filter-item" type="primary" icon="el-icon-search" @click="getQuery"></el-button>
<el-button v-waves class="filter-item" type="success" icon="el-icon-refresh" @click="reset"></el-button>
</el-col>
</el-row>
</el-form>
</div>
<el-table
v-loading="listLoading"
ref="multipleTable"
:data="varList"
:row-key="getRowKey"
:header-cell-style="{
'font-weight': 'bold',
'color': '#000'
}"
tooltip-effect="dark"
border
fit
highlight-current-row
>
<el-table-column
:reserve-selection="true"
type="selection"
width="55"
align="center"/>
<el-table-column type="index" label="序号" width="50" align="center" />
<el-table-column prop="LICENCE_NO" label="车牌号"/>
<el-table-column prop="LICENCE_TYPE" label="车牌类型"/>
<el-table-column prop="VEHICLE_TYPE" label="车辆类型"/>
<el-table-column prop="vehicle_arrival_barrier" label="车辆入港闸口"/>
<el-table-column prop="vehicle_arrival_time" label="车辆入港时间"/>
<el-table-column prop="vehicle_departure_barrier" label="车辆离岗闸口"/>
<el-table-column prop="vehicle_departure_time" label="车辆离岗时间"/>
</el-table>
<div class="page-btn-group">
<div/><div/>
<pagination :total="total" :page.sync="listQuery.page" :limit.sync="listQuery.limit" @pagination="getList" />
</div>
</div>
</template>
<script>
import Pagination from '@/components/Pagination' // el-pagination
import { requestFN } from '@/utils/request'
export default{
components: { Pagination },
data() {
return {
listQuery: {
page: 1,
limit: 10
},
areaList: [], //
placeList: [],
listLoading: true,
varList: [],
total: 0,
title: '',
isShow: false,
form: {
LICENCE_NO: '',
PHONE: '',
ID_CARD: '',
CORPINFO_NAME: '',
DEPARTMENT_NAME: '',
VISIT_START_TIME: '',
VISIT_END_TIME: '',
DOOR_NAME: '',
IS_DANGEROUS_CAR: '1',
CORPINFO_ID: this.$parent.CORPINFO_ID
}
}
},
created() {
this.getList()
},
methods: {
//
getQuery() {
this.$refs.multipleTable.clearSelection()
this.getList()
},
//
reset() {
this.form = {
USER_NAME: '',
PHONE: '',
ID_CARD: '',
CORPINFO_NAME: '',
DEPARTMENT_NAME: '',
VISIT_START_TIME: '',
VISIT_END_TIME: '',
DOOR_NAME: ''
}
this.getList()
},
//
getList() {
this.listLoading = true
requestFN(
'/mkmjManagement/getCarExitRecords?showCount=' + this.listQuery.limit + '&currentPage=' + this.listQuery.page, this.form
).then((data) => {
console.log(data)
this.listLoading = false
this.varList = data.recordList
this.total = data.page.totalResult
this.hasButton()
this.pd = data.pd
}).catch((e) => {
this.listLoading = false
})
}
}
}
</script>

View File

@ -0,0 +1,27 @@
<template>
<div>
<CorpList v-show="activeName==='CorpList'" ref="CorpList" />
<List v-if="activeName==='List'" />
</div>
</template>
<script>
import List from './components/list'
import CorpList from "./components/corpList";
export default {
components: {
CorpList: CorpList,
List: List
},
data() {
return {
activeName: 'CorpList',
USER_ID: ''
}
}
}
</script>
<style scoped>
</style>

View File

@ -0,0 +1,229 @@
<template>
<div class="app-container">
<div class="filter-container">
<el-form ref="form" v-model="form">
<el-row>
<el-col :span="5">
<el-form-item label="车队名称:">
<el-input v-model="form.LICENCE_NO" placeholder="搜索" class="filter-item" style="width: 200px;"/>
</el-form-item>
</el-col>
<el-col :span="4">
<el-button v-waves class="filter-item" type="primary" icon="el-icon-search" @click="getQuery">
</el-button>
<el-button v-waves class="filter-item" type="success" icon="el-icon-refresh" @click="reset"></el-button>
</el-col>
</el-row>
</el-form>
</div>
<el-table
v-loading="listLoading"
ref="multipleTable"
:data="varList"
:row-key="getRowKey"
:header-cell-style="{
'font-weight': 'bold',
'color': '#000'
}"
tooltip-effect="dark"
border
fit
highlight-current-row
>
<el-table-column
:reserve-selection="true"
type="selection"
width="55"
align="center"/>
<el-table-column type="index" label="序号" width="50" align="center"/>
<el-table-column prop="MOTORCADE_NAME" label="车队名称"/>
<el-table-column label="审核状态" align="center" width="120">
<template slot-scope="{row}">
{{ getType(row.IS_AUDIT) }}
</template>
</el-table-column>
<el-table-column label="操作" align="left" width="300">
<template slot-scope="{row}">
<el-button type="success" icon="el-icon-view" size="mini" @click="detail(row)"></el-button>
<el-button v-if="row.IS_AUDIT === '0' || row.IS_AUDIT == null" type="success" icon="el-icon-view" size="mini"
@click="approve(row)">审核
</el-button>
</template>
</el-table-column>
</el-table>
<div class="page-btn-group">
<div/>
<div/>
<pagination :total="total" :page.sync="listQuery.page" :limit.sync="listQuery.limit" @pagination="getList"/>
</div>
<send-util ref="sendUtil" append-to-body @refresh="getList"/>
<el-dialog
title="车队详情"
:visible.sync="dialogVisible"
width="50%"
:before-close="handleClose">
<el-tabs v-model="activeTab">
<el-tab-pane label="智能口门管理系统账号申请单" name="application">
<div v-if="fileList && fileList[0] && fileList[0].REQUISITION_FILE">
<img :src="config.fileUrl + fileList[0].REQUISITION_FILE" style="max-width: 100%;">
</div>
<div v-else>
暂无数据
</div>
</el-tab-pane>
<el-tab-pane label="智能口门管理系统使用承诺书" name="commitment">
<div v-if="fileList && fileList[0] && fileList[0].COMMITMENT_FILE">
<img :src="config.fileUrl + fileList[0].COMMITMENT_FILE" style="max-width: 100%;">
</div>
<div v-else>
暂无数据
</div>
</el-tab-pane>
<el-tab-pane label="营业执照" name="businessLicense">
<div v-if="fileList && fileList[0] && fileList[0].LICENSE_FILE">
<img :src="config.fileUrl + fileList[0].LICENSE_FILE" style="max-width: 100%;">
</div>
<div v-else>
暂无数据
</div>
</el-tab-pane>
<el-tab-pane label="道路运输经营许可证" name="transportLicense">
<div v-if="fileList && fileList[0] && fileList[0].TRANSPORT_PERMIT_FILE">
<img :src="config.fileUrl + fileList[0].TRANSPORT_PERMIT_FILE" style="max-width: 100%;">
</div>
<div v-else>
暂无数据
</div>
</el-tab-pane>
<el-tab-pane label="危险化学品经营许可证" name="chemicalLicense">
<div v-if="fileList && fileList[0] && fileList[0].HAZARDOUS_CHEMICALS_FILE">
<img :src="config.fileUrl + fileList[0].HAZARDOUS_CHEMICALS_FILE" style="max-width: 100%;">
</div>
<div v-else>
暂无数据
</div>
</el-tab-pane>
</el-tabs>
<span slot="footer" class="dialog-footer">
<el-button @click="dialogVisible = false">关闭</el-button>
</span>
</el-dialog>
</div>
</template>
<script>
import Pagination from '@/components/Pagination' // el-pagination
import {requestFN} from '@/utils/request'
import SendUtil from './sendUtil.vue'
export default {
components: {SendUtil, Pagination},
data() {
return {
listQuery: {
page: 1,
limit: 10
},
config: config,
areaList: [], //
placeList: [],
listLoading: true,
varList: [],
total: 0,
title: '',
isShow: false,
fileList: [],
detailData: {}, //
dialogVisible: false, //
activeTab: 'application', //
form: {
LICENCE_NO: '',
PHONE: '',
ID_CARD: '',
MOTORCADE_ID: '',
CORPINFO_NAME: '',
DEPARTMENT_NAME: '',
VISIT_START_TIME: '',
VISIT_END_TIME: '',
DOOR_NAME: '',
IS_DANGEROUS_CAR: '1',
CORPINFO_ID: JSON.parse(sessionStorage.getItem('user')).CORPINFO_ID
}
}
},
created() {
this.getList()
},
methods: {
detail(row) {
this.form.MOTORCADE_ID = row.MOTORCADE_ID
this.getFileList()
this.dialogVisible = true; //
},
approve(row) {
this.$refs.sendUtil.init(row)
},
getType(AUDIT_TYPE) {
if (AUDIT_TYPE === '0' || AUDIT_TYPE == null) {
return '待审核'
} else if (AUDIT_TYPE === '1') {
return '审核通过'
}
},
//
getQuery() {
this.$refs.multipleTable.clearSelection()
this.getList()
},
//
reset() {
this.form = {
USER_NAME: '',
PHONE: '',
ID_CARD: '',
CORPINFO_NAME: '',
DEPARTMENT_NAME: '',
VISIT_START_TIME: '',
VISIT_END_TIME: '',
DOOR_NAME: ''
}
this.getList()
},
handleClose(done) {
this.dialogVisible = false;
done();
},
//
getList() {
this.listLoading = true
requestFN(
'/mkmjManagement/getAllFilingList?showCount=' + this.listQuery.limit + '&currentPage=' + this.listQuery.page, this.form
).then((data) => {
console.log(data)
this.listLoading = false
this.varList = data.filingList
this.total = data.page.totalResult
this.hasButton()
this.pd = data.pd
}).catch((e) => {
this.listLoading = false
})
},
getFileList() {
requestFN(
'/mkmjManagement/getAllFilingList?showCount=' + this.listQuery.limit + '&currentPage=' + this.listQuery.page, this.form
).then((data) => {
console.log(data)
console.log(config.fileUrl)
this.fileList = data.filingList
this.form.MOTORCADE_ID = ''
})
},
getRowKey() {
}
}
}
</script>

View File

@ -0,0 +1,182 @@
<template>
<div>
<el-dialog
v-loading="loading"
:visible.sync="visible"
:append-to-body="appendToBody"
:before-close="beforeClose"
title="审批"
width="1200px"
destroy-on-close>
<el-form ref="form" :model="form" :rules="rules" label-width="200px" label-position="right" type="flex">
<el-row :gutter="12">
<el-col :span="12">
<el-form-item prop="STATUS" label="是否通过: ">
<el-select v-model="form.STATUS" filterable style="width: 300px" placeholder="请选择" @change="handleStatusChange">
<el-option label="是" value="1"/>
<el-option label="否" value="2"/>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col v-if="form.STATUS === '2'" :span="24">
<el-form-item v-if="form.STATUS === '2'" prop="OPINION" label="打回原因:">
<el-input v-model="form.OPINION" :rows="2" type="textarea" placeholder="填写审批意见"/>
</el-form-item>
</el-col>
</el-row>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click="handleClose"> </el-button>
<el-button type="primary" @click="sendMessage"> </el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import vueQr from 'vue-qr'
import Treeselect from '@riophae/vue-treeselect'
import uploadFile from '../../../util/uploadFile/index.vue'
import { requestFN } from '@/utils/request'
export default {
components: { uploadFile, Treeselect, vueQr },
props: {
appendToBody: {
type: Boolean,
default: false
}
},
data() {
return {
VEHICLE_ID: '',
visible: false,
loading: false,
form: {
AUDITOR_ID: '',
CORPINFO_ID: '',
STATUS: null,
APPOINT_CORP_ID: '',
APPOINT_CORP_NAME: '',
APPOINT_DEPARTMENT_ID: null,
APPOINT_DEPARTMENT_NAME: '',
APPOINT_USER_ID: null,
APPOINT_USER_NAME: '',
OPINION: '',
APPOINT_ANNEX: [],
user: '',
tm: new Date().getTime(),
list: [],
isShow: true,
info: {},
BACK_NAME: '',
BACK_STEP: ''
},
rules: {
STATUS: [
{ required: true, message: '请选择是否通过', trigger: 'change' }
],
OPINION: [
{ required: true, message: '请填写打回原因', trigger: 'change' }
]
},
heirloom: {},
normalizer(node) {
return {
id: node.id,
label: node.name,
children: node.nodes
}
},
corpList: [], //
personList: [], //
departmentTree: [],
peopleList: [],
corpFlag: false,
menu: {
department: '',
user: '',
uploadFile: '',
limitFlag: ''
},
step: 0,
list: [],
ACCESS_AUDIT_ID: ''
}
},
methods: {
async init(e) {
console.log(e)
this.loading = true
this.visible = true
this.FILING_APPLICATION_ID = e.FILING_APPLICATION_ID
this.loading = false
},
beforeClose() {
this.handleClose()
},
handleClose() {
this.form = {
STATUS: '',
APPOINT_DEPARTMENT_ID: null,
APPOINT_DEPARTMENT_NAME: '',
APPOINT_USER_ID: '',
APPOINT_USER_NAME: '',
OPINION: '',
user: '',
list: [],
tm: new Date().getTime()
}
this.visible = false
},
goDetail() {
this.$parent.activeName = 'List'
},
sendMessage() {
requestFN(
'/mkmjManagement/filingAudit',
{
AUDITOR: JSON.parse(sessionStorage.getItem('user')).USER_ID,
FILING_APPLICATION_ID: this.FILING_APPLICATION_ID,
IS_AUDIT: this.form.STATUS,
REMARK: this.form.OPINION
}
).then((data) => {
this.visible = false
this.$emit('refresh', '')
}).catch((e) => {
this.loading = false
})
},
handleStatusChange(){
this.getCorpList()
},
getCorpList(){
requestFN(
'/mkmjManagement/getCorpList'
).then((data) => {
this.corpList = data.corpList
}).catch((e) => {
this.loading = false
})
},
handleCompanyChange(corpId){
this.getAuditorList(corpId);
},
getAuditorList(corpId) {
//
requestFN('/mkmjManagement/getPersonList',
{ CORPINFO_ID: corpId }
).then(response => {
this.personList = response.personList;
});
}
}
}
</script>
<style lang="scss" scoped>
</style>

View File

@ -0,0 +1,24 @@
<template>
<div>
<List v-show="activeName==='List'" ref="list" />
</div>
</template>
<script>
import List from './components/list'
export default {
components: {
List: List
},
data() {
return {
activeName: 'List',
USER_ID: ''
}
}
}
</script>
<style scoped>
</style>

View File

@ -0,0 +1,3 @@
<template>
<router-view />
</template>

View File

@ -0,0 +1,121 @@
<template>
<div class="app-container">
<el-form label-width="90px">
<el-row>
<el-col :span="4">
<el-form-item label="分公司名称">
<el-input v-model="searchForm.CORP_NAME" placeholder="分公司名称"/>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label-width="10px">
<el-button v-waves class="filter-item" type="primary" icon="el-icon-search" @click="getQuery">
搜索
</el-button>
<el-button v-waves class="filter-item" type="success" icon="el-icon-refresh" @click="goKeyReset">
重置
</el-button>
</el-form-item>
</el-col>
</el-row>
</el-form>
<el-table
v-loading="listLoading"
ref="multipleTable"
:data="varList"
:row-key="getRowKey"
:header-cell-style="{
'font-weight': 'bold',
'color': '#000'
}"
tooltip-effect="dark"
border
fit
highlight-current-row
>
<el-table-column type="index" label="序号" width="50" align="center" />
<el-table-column prop="CORP_NAME" label="分公司名称" />
<el-table-column prop="SOCIAL_CODE" label="统一社会信用代码" />
<el-table-column prop="COMPANY_AREA" label="所属地区" />
<el-table-column prop="STATE" label="企业状态" />
<el-table-column prop="USER_COUNT" label="企业人数" />
<el-table-column label="操作" align="left" width="110">
<template slot-scope="{row}">
<el-button type="success" icon="el-icon-view" size="mini" @click="handleEdit(row)"></el-button>
</template>
</el-table-column>
</el-table>
<div class="page-btn-group">
<div>
</div>
<pagination :total="total" :page.sync="listQuery.page" :limit.sync="listQuery.limit" @pagination="getList" />
</div>
</div>
</template>
<script>
import SelectTree from '@/components/SelectTree'
import Pagination from '@/components/Pagination' // el-pagination
import { requestFN } from '@/utils/request'
import waves from '@/directive/waves' // waves directive
export default {
components: {Pagination, SelectTree },
directives: { waves },
data() {
return {
listLoading: true,
CORPINFO_ID: '',
listQuery: {
page: 1,
limit: 20
},
searchForm: {
CORP_NAME: ''
},
total: 0,
varList: []
}
},
created() {
this.getList()
},
methods: {
getRowKey(row) {
return row.CORPINFO_ID
},
//
getQuery() {
this.getList()
},
//
getList() {
this.listLoading = true
requestFN(
'/mkmjManagement/getXgfCorpList?showCount=' + this.listQuery.limit + '&currentPage=' + this.listQuery.page,
{
...this.searchForm
}
).then((data) => {
this.listLoading = false
this.varList = data.corpList
this.total = data.page.totalResult
}).catch((e) => {
this.listLoading = false
})
},
//
handleEdit(row) {
console.log('--------------------------')
console.log(row.CORPINFO_ID)
this.$parent.activeName = 'List'
this.$parent.CORPINFO_ID = row.CORPINFO_ID
},
goKeyReset() {
this.searchForm = {
CORP_NAME: ''
}
this.getList()
}
}
}
</script>

View File

@ -0,0 +1,128 @@
<template>
<div class="app-container">
<div class="filter-container">
<el-form ref="form" v-model="form">
<el-row>
<el-col :span="5">
<el-form-item label="车牌号:">
<el-input v-model="form.LICENCE_NO" placeholder="搜索" class="filter-item" style="width: 200px;"/>
</el-form-item>
</el-col>
<el-col :span="4">
<el-button v-waves class="filter-item" type="primary" icon="el-icon-search" @click="getQuery"></el-button>
<el-button v-waves class="filter-item" type="success" icon="el-icon-refresh" @click="reset"></el-button>
</el-col>
</el-row>
</el-form>
</div>
<el-table
v-loading="listLoading"
ref="multipleTable"
:data="varList"
:row-key="getRowKey"
:header-cell-style="{
'font-weight': 'bold',
'color': '#000'
}"
tooltip-effect="dark"
border
fit
highlight-current-row
>
<el-table-column
:reserve-selection="true"
type="selection"
width="55"
align="center"/>
<el-table-column type="index" label="序号" width="50" align="center" />
<el-table-column prop="LICENCE_NO" label="车牌号"/>
<el-table-column prop="LICENCE_TYPE" label="车牌类型"/>
<el-table-column prop="VEHICLE_TYPE" label="车辆类型"/>
<el-table-column prop="vehicle_arrival_barrier" label="车辆入港闸口"/>
<el-table-column prop="vehicle_arrival_time" label="车辆入港时间"/>
<el-table-column prop="vehicle_departure_barrier" label="车辆离岗闸口"/>
<el-table-column prop="vehicle_departure_time" label="车辆离岗时间"/>
</el-table>
<div class="page-btn-group">
<div/><div/>
<pagination :total="total" :page.sync="listQuery.page" :limit.sync="listQuery.limit" @pagination="getList" />
</div>
</div>
</template>
<script>
import Pagination from '@/components/Pagination' // el-pagination
import { requestFN } from '@/utils/request'
export default{
components: { Pagination },
data() {
return {
listQuery: {
page: 1,
limit: 10
},
areaList: [], //
placeList: [],
listLoading: true,
varList: [],
total: 0,
title: '',
isShow: false,
form: {
LICENCE_NO: '',
PHONE: '',
ID_CARD: '',
CORPINFO_NAME: '',
DEPARTMENT_NAME: '',
VISIT_START_TIME: '',
VISIT_END_TIME: '',
DOOR_NAME: '',
IS_DANGEROUS_CAR: '0',
CORPINFO_ID: this.$parent.CORPINFO_ID
}
}
},
created() {
this.getList()
},
methods: {
//
getQuery() {
this.$refs.multipleTable.clearSelection()
this.getList()
},
//
reset() {
this.form = {
USER_NAME: '',
PHONE: '',
ID_CARD: '',
CORPINFO_NAME: '',
DEPARTMENT_NAME: '',
VISIT_START_TIME: '',
VISIT_END_TIME: '',
DOOR_NAME: ''
}
this.getList()
},
//
getList() {
this.listLoading = true
requestFN(
'/mkmjManagement/getCarExitRecords?showCount=' + this.listQuery.limit + '&currentPage=' + this.listQuery.page, this.form
).then((data) => {
console.log(data)
this.listLoading = false
this.varList = data.recordList
this.total = data.page.totalResult
this.hasButton()
this.pd = data.pd
}).catch((e) => {
this.listLoading = false
})
}
}
}
</script>

View File

@ -0,0 +1,27 @@
<template>
<div>
<CorpList v-show="activeName==='CorpList'" ref="CorpList" />
<List v-if="activeName==='List'" />
</div>
</template>
<script>
import List from './components/list'
import CorpList from "./components/corpList";
export default {
components: {
CorpList: CorpList,
List: List
},
data() {
return {
activeName: 'CorpList',
USER_ID: ''
}
}
}
</script>
<style scoped>
</style>

View File

@ -0,0 +1,172 @@
<template>
<div class="app-container">
<div class="filter-container">
<el-form ref="form" v-model="form">
<el-row>
<el-col :span="5">
<el-form-item label="车牌号:">
<el-input v-model="form.LICENCE_NO" placeholder="搜索" class="filter-item" style="width: 200px;"/>
</el-form-item>
</el-col>
<el-col :span="4">
<el-button v-waves class="filter-item" type="primary" icon="el-icon-search" @click="getQuery"></el-button>
<el-button v-waves class="filter-item" type="success" icon="el-icon-refresh" @click="reset"></el-button>
</el-col>
</el-row>
</el-form>
</div>
<el-table
v-loading="listLoading"
ref="multipleTable"
:data="varList"
:row-key="getRowKey"
:header-cell-style="{
'font-weight': 'bold',
'color': '#000'
}"
tooltip-effect="dark"
border
fit
highlight-current-row
>
<el-table-column
:reserve-selection="true"
type="selection"
width="55"
align="center"/>
<el-table-column type="index" label="序号" width="50" align="center" />
<el-table-column prop="LICENCE_NO" label="车牌号"/>
<el-table-column prop="LICENCE_TYPE" label="车牌类型"/>
<el-table-column prop="VEHICLE_TYPE" label="车辆类型"/>
<el-table-column prop="CONTACT" label="联系人"/>
<el-table-column prop="PHONE" label="联系人电话"/>
<el-table-column label="审核状态" align="center" width="120">
<template slot-scope="{row}">
{{ getType(row.IS_AUDIT) }}
</template>
</el-table-column>
<el-table-column label="操作" align="left" width="110">
<template slot-scope="{row}">
<el-button v-if="checkButton(row)" type="success" icon="el-icon-view" size="mini" @click="approve(row)"></el-button>
</template>
</el-table-column>
</el-table>
<div class="page-btn-group">
<div/><div/>
<pagination :total="total" :page.sync="listQuery.page" :limit.sync="listQuery.limit" @pagination="getList" />
</div>
<send-util ref="sendUtil" append-to-body @refresh="getList"/>
</div>
</template>
<script>
import Pagination from '@/components/Pagination' // el-pagination
import { requestFN } from '@/utils/request'
import SendUtil from './sendUtil.vue'
export default{
components: { SendUtil, Pagination },
data() {
return {
listQuery: {
page: 1,
limit: 10
},
IS_POLICE: '',
areaList: [], //
placeList: [],
listLoading: true,
varList: [],
total: 0,
title: '',
isShow: false,
form: {
LICENCE_NO: '',
PHONE: '',
ID_CARD: '',
CORPINFO_NAME: '',
DEPARTMENT_NAME: '',
VISIT_START_TIME: '',
VISIT_END_TIME: '',
DOOR_NAME: '',
IS_DANGEROUS_CAR: '1',
CORPINFO_ID: JSON.parse(sessionStorage.getItem('user')).CORPINFO_ID
}
}
},
created() {
this.getList()
this.getPermissions()
},
methods: {
checkButton(row){
console.log('---------------------')
console.log('row.IS_AUDIT:', row.IS_AUDIT); //
console.log('this.IS_POLICE:', this.IS_POLICE); //
if (row.IS_AUDIT === '0' && this.IS_POLICE === '1'){
return true
}else {
return false
}
},
approve(row) {
this.$refs.sendUtil.init(row)
},
getType(AUDIT_TYPE) {
if (AUDIT_TYPE === '0') {
return '待交警支队审核'
} else if (AUDIT_TYPE === '1') {
return '待分公司审核'
} else if (AUDIT_TYPE === '2') {
return '审核通过'
} else if (AUDIT_TYPE === '3') {
return '审核驳回'
}
},
//
getQuery() {
this.$refs.multipleTable.clearSelection()
this.getList()
},
//
reset() {
this.form = {
USER_NAME: '',
PHONE: '',
ID_CARD: '',
CORPINFO_NAME: '',
DEPARTMENT_NAME: '',
VISIT_START_TIME: '',
VISIT_END_TIME: '',
DOOR_NAME: ''
}
this.getList()
},
//
getList() {
this.listLoading = true
requestFN(
'/mkmjManagement/freightVehiclesAudit?showCount=' + this.listQuery.limit + '&currentPage=' + this.listQuery.page, this.form
).then((data) => {
console.log(data)
this.listLoading = false
this.varList = data.varList
this.total = data.page.totalResult
this.hasButton()
this.pd = data.pd
}).catch((e) => {
this.listLoading = false
})
},
getPermissions(){
requestFN(
'/mkmjManagement/getPermissions'
).then((data) => {
this.IS_POLICE = data.pageData.IS_POLICE
console.log('IS_POLICE:', this.IS_POLICE)
})
}
}
}
</script>

View File

@ -0,0 +1,211 @@
<template>
<div>
<el-dialog
v-loading="loading"
:visible.sync="visible"
:append-to-body="appendToBody"
:before-close="beforeClose"
title="审批"
width="1200px"
destroy-on-close>
<el-form ref="form" :model="form" :rules="rules" label-width="200px" label-position="right" type="flex">
<el-row :gutter="12">
<el-col :span="12">
<el-form-item prop="STATUS" label="是否通过: ">
<el-select v-model="form.STATUS" filterable style="width: 300px" placeholder="请选择" @change="handleStatusChange">
<el-option label="是" value="1"/>
<el-option label="否" value="3"/>
</el-select>
</el-form-item>
</el-col>
</el-row>
<!-- 审核人公司及审核人联动下拉框 -->
<el-row v-if="form.STATUS === '1'" :gutter="12">
<el-col :span="12">
<el-form-item prop="COMPANY" label="审核人公司: ">
<el-select v-model="form.CORPINFO_ID" filterable style="width: 300px" placeholder="请选择审核人公司" @change="handleCompanyChange">
<el-option
v-for="company in corpList"
:key="company.CORPINFO_ID"
:label="company.CORP_NAME"
:value="company.CORPINFO_ID"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item prop="AUDITOR" label="审核人: ">
<el-select v-model="form.AUDITOR_ID" filterable style="width: 300px" placeholder="请选择审核人">
<el-option
v-for="auditor in personList"
:key="auditor.USER_ID"
:label="auditor.USERNAME"
:value="auditor.USER_ID"
/>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col v-if="form.STATUS === '3'" :span="24">
<el-form-item v-if="form.STATUS === '3'" prop="OPINION" label="打回原因:">
<el-input v-model="form.OPINION" :rows="2" type="textarea" placeholder="填写审批意见"/>
</el-form-item>
</el-col>
</el-row>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click="handleClose"> </el-button>
<el-button type="primary" @click="sendMessage"> </el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import vueQr from 'vue-qr'
import Treeselect from '@riophae/vue-treeselect'
import uploadFile from '../../../util/uploadFile/index.vue'
import { requestFN } from '@/utils/request'
export default {
components: { uploadFile, Treeselect, vueQr },
props: {
appendToBody: {
type: Boolean,
default: false
}
},
data() {
return {
VEHICLE_ID: '',
visible: false,
loading: false,
form: {
AUDITOR_ID: '',
CORPINFO_ID: '',
STATUS: null,
APPOINT_CORP_ID: '',
APPOINT_CORP_NAME: '',
APPOINT_DEPARTMENT_ID: null,
APPOINT_DEPARTMENT_NAME: '',
APPOINT_USER_ID: null,
APPOINT_USER_NAME: '',
OPINION: '',
APPOINT_ANNEX: [],
user: '',
tm: new Date().getTime(),
list: [],
isShow: true,
info: {},
BACK_NAME: '',
BACK_STEP: ''
},
rules: {
STATUS: [
{ required: true, message: '请选择是否通过', trigger: 'change' }
],
OPINION: [
{ required: true, message: '请填写打回原因', trigger: 'change' }
]
},
heirloom: {},
normalizer(node) {
return {
id: node.id,
label: node.name,
children: node.nodes
}
},
corpList: [], //
personList: [], //
departmentTree: [],
peopleList: [],
corpFlag: false,
menu: {
department: '',
user: '',
uploadFile: '',
limitFlag: ''
},
step: 0,
list: [],
ACCESS_AUDIT_ID: ''
}
},
methods: {
async init(e) {
console.log(e)
this.loading = true
this.visible = true
this.VEHICLE_ID = e.VEHICLE_ID
this.loading = false
},
beforeClose() {
this.handleClose()
},
handleClose() {
this.form = {
STATUS: '',
APPOINT_DEPARTMENT_ID: null,
APPOINT_DEPARTMENT_NAME: '',
APPOINT_USER_ID: '',
APPOINT_USER_NAME: '',
OPINION: '',
user: '',
list: [],
tm: new Date().getTime()
}
this.visible = false
},
goDetail() {
this.$parent.activeName = 'List'
},
sendMessage() {
requestFN(
'/mkmjManagement/motorcadeAudit',
{
AUDITOR: JSON.parse(sessionStorage.getItem('user')).USER_ID,
VEHICLE_ID: this.VEHICLE_ID,
IS_AUDIT: this.form.STATUS,
REMARK: this.form.OPINION,
QY_AUDITOR: this.form.AUDITOR_ID
}
).then((data) => {
this.visible = false
this.$emit('refresh', '')
}).catch((e) => {
this.loading = false
})
},
handleStatusChange(){
this.getCorpList()
},
getCorpList(){
requestFN(
'/mkmjManagement/getCorpList'
).then((data) => {
this.corpList = data.corpList
}).catch((e) => {
this.loading = false
})
},
handleCompanyChange(corpId){
this.getAuditorList(corpId);
},
getAuditorList(corpId) {
//
requestFN('/mkmjManagement/getPersonList',
{ CORPINFO_ID: corpId }
).then(response => {
this.personList = response.personList;
});
}
}
}
</script>
<style lang="scss" scoped>
</style>

View File

@ -0,0 +1,24 @@
<template>
<div>
<List v-show="activeName==='List'" ref="list" />
</div>
</template>
<script>
import List from './components/list'
export default {
components: {
List: List
},
data() {
return {
activeName: 'List',
USER_ID: ''
}
}
}
</script>
<style scoped>
</style>

View File

@ -0,0 +1,117 @@
<template>
<div class="app-container">
<el-form label-width="90px">
<el-row>
<el-col :span="4">
<el-form-item label="分公司名称">
<el-input v-model="searchForm.CORP_NAME" placeholder="分公司名称"/>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label-width="10px">
<el-button v-waves class="filter-item" type="primary" icon="el-icon-search" @click="getQuery">
搜索
</el-button>
<el-button v-waves class="filter-item" type="success" icon="el-icon-refresh" @click="goKeyReset">
重置
</el-button>
</el-form-item>
</el-col>
</el-row>
</el-form>
<el-table
v-loading="listLoading"
ref="multipleTable"
:data="varList"
:row-key="getRowKey"
:header-cell-style="{
'font-weight': 'bold',
'color': '#000'
}"
tooltip-effect="dark"
border
fit
highlight-current-row
>
<el-table-column type="index" label="序号" width="50" align="center" />
<el-table-column prop="NAME" label="部门名称" />
<el-table-column prop="DEPT_TYPE_NAME" label="部门类型" />
<el-table-column prop="USER_COUNT" label="部门人数" />
<el-table-column label="操作" align="left" width="110">
<template slot-scope="{row}">
<el-button type="success" icon="el-icon-view" size="mini" @click="handleEdit(row)"></el-button>
</template>
</el-table-column>
</el-table>
<div class="page-btn-group">
<div>
</div>
<pagination :total="total" :page.sync="listQuery.page" :limit.sync="listQuery.limit" @pagination="getList" />
</div>
</div>
</template>
<script>
import SelectTree from '@/components/SelectTree'
import Pagination from '@/components/Pagination' // el-pagination
import { requestFN } from '@/utils/request'
import waves from '@/directive/waves' // waves directive
export default {
components: {Pagination, SelectTree },
directives: { waves },
data() {
return {
listLoading: true,
listQuery: {
page: 1,
limit: 20
},
searchForm: {
CORP_NAME: ''
},
total: 0,
varList: []
}
},
created() {
this.getList()
},
methods: {
getRowKey(row) {
return row.CORPINFO_ID
},
//
getQuery() {
this.getList()
},
//
getList() {
this.listLoading = true
requestFN(
'/mkmjManagement/getJgDepartmentList?showCount=' + this.listQuery.limit + '&currentPage=' + this.listQuery.page,
{
...this.searchForm
}
).then((data) => {
this.listLoading = false
this.varList = data.deptList
this.total = data.page.totalResult
}).catch((e) => {
this.listLoading = false
})
},
//
handleEdit(row) {
console.log('--------------------------')
this.$parent.activeName = 'CarView'
this.$parent.CORPINFO_ID = row.CORPINFO_ID
},
goKeyReset() {
this.searchForm = {
CORP_NAME: ''
}
this.getList()
}
}
}
</script>

View File

@ -0,0 +1,922 @@
<template>
<div class="icons-container">
<el-container>
<el-aside width="200px" style="background-color:#fff">
<div class="filter-btn-group">
<el-tree
v-loading="treeLoading"
ref="tree"
:data="treeData"
:props="defaultProps"
:filter-node-method="filterNode"
class="filter-tree"
@node-click="handleNodeClick"/>
</div>
</el-aside>
<el-main>
<el-form label-width="60px">
<el-row>
<el-col :span="2">
<el-form-item label-width="0px">
<el-button v-show="DEPARTMENT_ID != '0'" icon="el-icon-arrow-left" @click="goReturn()"></el-button>
</el-form-item>
</el-col>
<el-col :span="3">
<el-form-item label="车牌号">
<el-input v-model="searchForm.LICENCE_NO" placeholder="请输入车牌号..." />
</el-form-item>
</el-col>
<el-col :span="4" class="m-l-10">
<el-form-item label="车辆类型" prop="VEHICLE_TYPE" label-width="100px">
<SelectTree
ref="selectTree_Search1"
:clearable="false"
:options="vehicleTypeList"
:props="vehicleDefaultProps"
v-model="searchForm.VEHICLE_TYPE"
placeholder="请选择车辆类型"/>
</el-form-item>
</el-col>
<el-col :span="4" class="m-l-10">
<el-form-item label="车辆所属部门" prop="VEHICLE_DEPARTMENT_ID" label-width="100px">
<SelectTree
ref="selectTree_Search2"
:clearable="false"
:options="treeData"
:props="defaultProps"
v-model="searchForm.VEHICLE_DEPARTMENT_ID"
placeholder="请选择车辆所属部门"/>
</el-form-item>
</el-col>
<el-col :span="4" class="m-l-10">
<el-form-item label="车辆责任人" label-width="100px">
<el-input v-model="searchForm.USER_NAME" placeholder="请输入车辆责任人..." />
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label-width="10px">
<el-button v-waves type="primary" icon="el-icon-search" @click="getQuery">
搜索
</el-button>
<el-button v-waves type="success" icon="el-icon-refresh" @click="goKeyReset">
重置
</el-button>
</el-form-item>
</el-col>
</el-row>
</el-form>
<el-table
v-loading="listLoading"
ref="vehicleMessageTable"
:data="varList"
:row-key="getRowKey"
:header-cell-style="{
'font-weight': 'bold',
'color': '#000'
}"
tooltip-effect="dark"
border
fit
highlight-current-row
>
<el-table-column
:reserve-selection="true"
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 label="车牌类型" align="center">
<template slot-scope="{row}">
{{ translateLicenceType(row.LICENCE_TYPE) }}
</template>
</el-table-column>
<el-table-column label="车辆类型" align="center">
<template slot-scope="{row}">
{{ translateVehicleType(row.VEHICLE_TYPE) }}
</template>
</el-table-column>
<el-table-column prop="DEPARTMENT_NAME" label="车辆所属部门" align="center" />
<el-table-column prop="USER_NAME" label="车辆责任人" align="center"/>
<el-table-column label="操作" align="center" width="480">
<template slot-scope="{row}">
<el-button type="warning" icon="el-icon-more" size="mini" @click="vehicleInOutRecordBtn(row.LICENCE_NO)"></el-button>
<el-button icon="el-icon-view" size="mini" @click="showDetail(row.VEHICLE_ID)"></el-button>
<el-button type="primary" icon="el-icon-edit" size="mini" @click="openEditDialogEditBtn(row.VEHICLE_ID)"></el-button>
<el-button type="danger" icon="el-icon-delete" size="mini" @click="deleteSingleDataDeleteBtn(row.VEHICLE_ID, row.USER_ID, row.EMPLOYEE_VEHICLE_USER_ID)">删除</el-button>
</template>
</el-table-column>
</el-table>
<div class="page-btn-group">
<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" />
</div>
<!-- 添加车辆信息 -->
<el-dialog :visible.sync="addDialogVisible" title="添加车辆信息" width="600px">
<el-form v-if="addDialogVisible" ref="addForm" :model="addForm" label-width="170px" style="padding:0 20px; width: 500px;">
<el-form-item :rules="[{required: true}]" label="车牌号">
<el-input v-model="addForm.LICENCE_NO" :autosize="{ minRows: 1}" type="text" maxlength="300" placeholder="这里输入车牌号..." @blur="goCheckLicenceNoAdd()"/>
</el-form-item>
<!-- 白牌蓝牌黄牌绿牌黑牌 下拉框-->
<el-form-item :rules="[{required: true}]" label="车牌类型" prop="LICENCE_TYPE">
<SelectTree
ref="selectTree_add2"
:clearable="false"
:options="licenceTypeList"
:props="vehicleDefaultProps"
v-model="addForm.LICENCE_TYPE"
placeholder="请选择车牌类型"
style="width: 300px"/>
</el-form-item>
<!-- 货车轿车大巴客车 下拉框-->
<el-form-item :rules="[{required: true}]" label="车辆类型" prop="VEHICLE_TYPE">
<SelectTree
ref="selectTree_add3"
:clearable="false"
:options="vehicleTypeList"
:props="vehicleDefaultProps"
v-model="addForm.VEHICLE_TYPE"
placeholder="请选择车辆类型"
style="width: 300px"/>
</el-form-item>
<!-- 员工车辆单位车辆外部车辆 下拉框 -->
<el-form-item :rules="[{required: true}]" label="车辆所属类型" prop="VEHICLE_BELONG_TYPE">
<SelectTree
ref="selectTree_add4"
:clearable="false"
:options="vehicleBelongTypeList"
:props="vehicleDefaultProps"
v-model="addForm.VEHICLE_BELONG_TYPE"
placeholder="请选择车辆所属类型"
style="width: 300px"/>
</el-form-item>
<!-- 车辆所属部门下拉框 -->
<el-form-item :rules="[{required: true}]" label="车辆所属部门" prop="VEHICLE_DEPARTMENT_ID">
<SelectTree
ref="selectTree_add1"
:clearable="false"
:options="treeData"
:props="defaultProps"
v-model="addForm.VEHICLE_DEPARTMENT_ID"
placeholder="请选择车辆所属部门"
style="width: 300px"
@change="addUserList"/>
</el-form-item>
<!-- 车辆责任人下拉框 -->
<el-form-item :rules="[{required: true}]" label="车辆责任人" prop="USER_ID">
<el-select :value="addForm.USER_ID" clearable placeholder="请选择" @visible-change="$forceUpdate()" @change="userIdAddChange">
<el-option v-for="item in userList" :key="item.USER_ID" :label="item.NAME" :value="item.USER_ID"/>
</el-select>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click="addDialogCancelBtn"> </el-button>
<el-button type="primary" @click="addDialogConfirmBtn"> </el-button>
</div>
</el-dialog>
<el-dialog :visible.sync="editDialogVisible" title="修改" width="600px">
<el-form ref="editForm" :model="editForm" label-width="170px" style="width: 500px;">
<el-form-item :rules="[{required: true}]" label="车牌号">
<el-input v-model="editForm.LICENCE_NO" :autosize="{ minRows: 1}" type="text" maxlength="300" placeholder="这里输入车牌号..." @blur="goCheckLicenceNoUpdate()"/>
</el-form-item>
<el-form-item label="车牌类型" prop="LICENCE_TYPE">
<el-select :value="editForm.LICENCE_TYPE" clearable placeholder="请选择" @visible-change="$forceUpdate()">
<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="车辆类型" prop="VEHICLE_TYPE">
<el-select :value="editForm.VEHICLE_TYPE" clearable placeholder="请选择" @visible-change="$forceUpdate()">
<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="车辆所属类型" prop="VEHICLE_BELONG_TYPE">
<el-select :value="editForm.VEHICLE_BELONG_TYPE" clearable placeholder="请选择" @visible-change="$forceUpdate()">
<el-option v-for="item in vehicleBelongTypeList" :key="item.ID" :label="item.NAME" :value="item.ID" />
</el-select>
</el-form-item>
<!-- 车辆所属部门下拉框 -->
<el-form-item label="车辆所属部门" prop="VEHICLE_DEPARTMENT_ID">
<SelectTree
ref="selectTree_edit"
:clearable="true"
:options="treeData"
:props="defaultProps"
v-model="editForm.VEHICLE_DEPARTMENT_ID"
placeholder="请选择车辆所属部门"
style="width: 300px"
@change="updateUserList"/>
</el-form-item>
<!-- 车辆责任人下拉框 -->
<el-form-item label="车辆责任人" prop="USER_ID">
<el-select :value="editForm.USER_ID" clearable placeholder="请选择" @visible-change="$forceUpdate()" @change="userIdUpdateChange">
<el-option v-for="item in userList" :key="item.USER_ID" :label="item.NAME" :value="item.USER_ID" />
</el-select>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click="editDialogCancelBtn"> </el-button>
<el-button type="primary" @click="editDialogConfirmBtn"> </el-button>
</div>
</el-dialog>
<el-dialog :visible.sync="detailDialogVisible" title="详情" width="600px">
<el-form ref="form" :model="detailForm" label-width="170px" style="width: 500px;">
<el-form-item label="车牌号">
<el-input v-model="detailForm.LICENCE_NO" :disabled="true" :autosize="{ minRows: 1}" type="text" maxlength="300"/>
</el-form-item>
<el-form-item label="车牌类型">
<el-input v-model="detailForm.LICENCE_TYPE" :disabled="true" :autosize="{ minRows: 1}" type="text" maxlength="300"/>
</el-form-item>
<el-form-item label="车辆类型">
<el-input v-model="detailForm.VEHICLE_TYPE" :disabled="true" :autosize="{ minRows: 1}" type="text" maxlength="300"/>
</el-form-item>
<el-form-item label="车辆所属类型">
<el-input v-model="detailForm.VEHICLE_BELONG_TYPE" :disabled="true" :autosize="{ minRows: 1}" type="text" maxlength="300"/>
</el-form-item>
<el-form-item label="车辆所属部门">
<el-input v-model="detailForm.VEHICLE_DEPARTMENT_ID" :disabled="true" :autosize="{ minRows: 1}" type="text" maxlength="300"/>
</el-form-item>
<el-form-item label="车辆责任人">
<el-input v-model="detailForm.USER_ID" :disabled="true" :autosize="{ minRows: 1}" type="text" maxlength="300"/>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click="detailDialogReturnBtn"></el-button>
</div>
</el-dialog>
</el-main>
</el-container>
<div class="heightt"/>
</div>
</template>
<script>
import SelectTree from '@/components/SelectTree'
import Pagination from '@/components/Pagination' // el-pagination
import { requestFN } from '@/utils/request'
import waves from '@/directive/waves' // waves directive
export default {
components: { Pagination, SelectTree },
directives: { waves },
data() {
return {
config: config,
treeLoading: false,
listLoading: true,
add: true,
del: true,
edit: true,
readonly: true,
listQuery: {
page: 1,
limit: 20
},
total: 0,
defaultProps: {
value: 'id',
children: 'nodes',
label: 'name'
},
treeData: [],
//
loginUserCorpInfoId: '', //
CORPINFO_ID: '', // id
DEPARTMENT_ID: '', // ID
KEYWORDS: '',
loginUserId: '', // ID
//
licenceTypeList: [
// { ID: '', NAME: '' },
{ ID: '0', NAME: '白牌' },
{ ID: '1', NAME: '蓝牌' },
{ ID: '2', NAME: '黄牌' },
{ ID: '3', NAME: '绿牌' },
{ ID: '4', NAME: '黑牌' }
],
//
vehicleTypeList: [
// { ID: '', NAME: '' },
{ ID: '0', NAME: '货车' },
{ ID: '1', NAME: '轿车' },
{ ID: '2', NAME: '大巴客车' }
],
//
vehicleBelongTypeList: [
// { ID: '', NAME: '' },
{ ID: '0', NAME: '员工车辆' },
{ ID: '1', NAME: '单位车辆' }
// { ID: '2', NAME: '' }
],
//
vehicleDefaultProps: {
value: 'ID',
label: 'NAME',
children: 'nodes'
},
departmentTreeData: [],
// inspectionTypeList: [], //
//
varList: [],
//
searchForm: {
DEPARTMENT_ID: '',
VEHICLE_ID: '', // ID()
LICENCE_NO: '', //
VEHICLE_TYPE: '', //
VEHICLE_DEPARTMENT_ID: '' // ID
},
//
addForm: {
LICENCE_NO: '', //
VEHICLE_DEPARTMENT_ID: '', // id
VEHICLE_DEPARTMENT_NAME: '', //
USER_ID: '', //
LICENCE_TYPE: '', //
VEHICLE_TYPE: '', //
VEHICLE_BELONG_TYPE: '', //
EMPLOYEE_VEHICLE_USER_ID: '', // id
EMPLOYEE_VEHICLE_USER_NAME: '', //
DEPARTMENT_NAME: '', //
DEPARTMENT_ID: '',
USER_NAME: '' //
},
//
editForm: {
VEHICLE_ID: '', // id()
LICENCE_NO: '', //
OLD_LICENCE_NO: '', //
USER_ID: '', //
USER_NAME: '', //
LICENCE_TYPE: '', //
VEHICLE_TYPE: '', //
VEHICLE_BELONG_TYPE: '', //
DEPARTMENT_NAME: '', //
EMPLOYEE_VEHICLE_USER_ID: '', //
EMPLOYEE_VEHICLE_USER_NAME: '', //
VEHICLE_DEPARTMENT_ID: '', //
VEHICLE_DEPARTMENT_NAME: '' //
},
//
detailForm: {
LICENCE_NO: '', //
VEHICLE_BELONG_TYPE: '', //
VEHICLE_DEPARTMENT_ID: '', //
USER_ID: '', // id
EMPLOYEE_VEHICLE_USER_ID: '', //
LICENCE_TYPE: null, //
VEHICLE_TYPE: null //
},
addDialogVisible: false, //
editDialogVisible: false, //
detailDialogVisible: false, //
userList: [], //
selectTree_edit: []
}
},
created() {
//
this.getLoginUserInfo() //
this.CORPINFO_ID = this.$parent.CORPINFO_ID
this.updateBranchName(this.CORPINFO_ID)
this.getPageList() //
},
methods: {
//
filterNode(value, data) {
if (!value) return true
return data.name.indexOf(value) !== -1
},
handleNodeClick(node, data, value) {
this.searchForm.VEHICLE_DEPARTMENT_ID = node.id
this.getPageList(node.id)
},
updateBranchName(ID) {
requestFN(
'/department/listTreeCorpInfo',
// '/department/listTree',
{
CORPINFO_ID: ID
}
).then((data) => {
this.treeData = JSON.parse(data.zTreeNodes)
}).catch((e) => {
})
},
goReturn() {
this.$parent.activeName = 'List'
},
//
getRowKey(row) {
return row.VEHICLE_ID
},
translateLicenceType(id) {
for (var i = 0; i < this.licenceTypeList.length; i++) {
if (this.licenceTypeList[i].ID == id) return this.licenceTypeList[i].NAME
}
},
translateVehicleType(id) {
for (var i = 0; i < this.vehicleTypeList.length; i++) {
if (this.vehicleTypeList[i].ID == id) return this.vehicleTypeList[i].NAME
}
},
translateVehicleBelongType(id) {
for (var i = 0; i < this.vehicleBelongTypeList.length; i++) {
if (this.vehicleBelongTypeList[i].ID == id) return this.vehicleBelongTypeList[i].NAME
}
},
getLoginUserInfo() { //
return new Promise((resolve) => {
requestFN(
'/user/goEditMyInfo',
{}
).then((data) => {
console.info(data.pd)
this.loginUserId = data.pd.USER_ID
// this.loginUserName = data.pd.NAME
this.loginUserCorpInfoId = data.pd.CORPINFO_ID
// this.loginUserDepartmentName = data.pd.DEPARTMENT_NAME
resolve('ok')
}).catch((e) => {
})
})
},
//
getQuery() {
this.$refs.vehicleMessageTable.clearSelection() //
this.getPageList()
},
goKeyReset() {
this.resetSearch()
this.getQuery()
},
//
getPageList() {
console.log('22222222222222222222222222222')
this.listLoading = true
requestFN(
'vehiclemessage/getPageList?showCount=' + this.listQuery.limit + '&currentPage=' + this.listQuery.page,
{
...this.searchForm,
'CORPINFO_ID': this.CORPINFO_ID,
CAR_FROM: 0
}
).then((data) => {
this.listLoading = false
this.varList = data.varList
this.total = data.page.totalResult
// this.hasButton()
this.pd = data.pd
}).catch((e) => {
this.listLoading = false
})
},
//
openAddDialogAddBtn() {
this.addDialogVisible = true
this.reSetAddDialog()
this.ISCHECK = false
},
//
addDialogCancelBtn() {
this.addDialogVisible = false
},
//
detailDialogReturnBtn() {
this.detailDialogVisible = false
},
//
reSetAddDialog() {
this.addForm.LICENCE_NO = ''
this.addForm.USER_ID = ''
this.addForm.VEHICLE_DEPARTMENT_ID = ''
this.addForm.LICENCE_TYPE = ''
this.addForm.VEHICLE_TYPE = ''
this.addForm.VEHICLE_BELONG_TYPE = ''
this.addForm.EMPLOYEE_VEHICLE_USER_ID = ''
this.userList = []
this.addForm.DEPARTMENT_NAME = ''
this.addForm.DEPARTMENT_ID = ''
},
//
addDialogConfirmBtn() {
if (this.addForm.LICENCE_NO !== null && this.addForm.LICENCE_NO === '') {
this.$message({
message: '车牌号不能为空',
type: 'error'
})
return false
}
if (this.addForm.LICENCE_TYPE !== null && this.addForm.LICENCE_TYPE === '') {
this.$message({
message: '请选择车牌类型',
type: 'error'
})
return false
}
if (this.addForm.VEHICLE_TYPE !== null && this.addForm.VEHICLE_TYPE === '') {
this.$message({
message: '请选择车辆类型',
type: 'error'
})
return false
}
if (this.addForm.VEHICLE_BELONG_TYPE !== null && this.addForm.VEHICLE_BELONG_TYPE === '') {
this.$message({
message: '请选择车辆所属类型',
type: 'error'
})
return false
}
if (this.addForm.VEHICLE_DEPARTMENT_ID !== null && this.addForm.VEHICLE_DEPARTMENT_ID === '') {
this.$message({
message: '请选择车辆所属部门',
type: 'error'
})
return false
}
if (this.addForm.USER_ID !== null && this.addForm.USER_ID === '') {
this.$message({
message: '请选择车辆责任人',
type: 'error'
})
return false
}
if (this.addForm.VEHICLE_BELONG_TYPE === '0') {
this.addForm.EMPLOYEE_VEHICLE_USER_ID = this.addForm.USER_ID // id
this.addForm.EMPLOYEE_VEHICLE_USER_NAME = this.addForm.USER_NAME //
} else {
this.addForm.EMPLOYEE_VEHICLE_USER_ID = '' // id
this.addForm.EMPLOYEE_VEHICLE_USER_NAME = '' //
}
this.addRequest()
},
addRequest() {
requestFN(
'vehiclemessage/addVehicleMessage',
{
...this.addForm,
'CORPINFO_ID': this.CORPINFO_ID
}
).then((data) => {
if (data.result === 'fail') {
this.$message({
message: data.msg,
type: 'error'
})
} else {
this.$message.success('车辆信息添加成功')
this.getPageList() //
this.addDialogVisible = false
}
}).catch((e) => {
})
},
//
openEditDialogEditBtn(VEHICLE_ID) {
this.editForm = {
VEHICLE_ID: VEHICLE_ID, // id()
LICENCE_NO: '', //
OLD_LICENCE_NO: '', //
USER_ID: '', //
EMPLOYEE_VEHICLE_USER_ID: '', //
VEHICLE_DEPARTMENT_ID: '' //
}
this.userList = []
this.editDialogVisible = true
//
requestFN(
'vehiclemessage/updateShowVehicleMessage',
{
VEHICLE_ID: VEHICLE_ID
}
).then((data) => {
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.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: '数据回显失败',
type: 'error'
})
}
}).catch((e) => {
})
},
editDialogCancelBtn() {
this.editDialogVisible = false
},
// ()
showDetail(VEHICLE_ID) {
this.detailForm = {
LICENCE_NO: '', //
VEHICLE_DEPARTMENT_ID: '', //
VEHICLE_BELONG_TYPE: '', //
USER_ID: '', //
EMPLOYEE_VEHICLE_USER_ID: '', //
LICENCE_TYPE: null, //
VEHICLE_TYPE: null //
}
this.detailDialogVisible = true
//
requestFN(
'vehiclemessage/detailVehicleMessage',
{
VEHICLE_ID: VEHICLE_ID
}
).then((data) => {
if (data.result === 'success') {
this.detailForm.LICENCE_NO = data.pd.LICENCE_NO //
this.detailForm.VEHICLE_DEPARTMENT_ID = data.pd.DEPARTMENT_NAME //
this.detailForm.LICENCE_TYPE = this.translateLicenceType(data.pd.LICENCE_TYPE) //
this.detailForm.VEHICLE_TYPE = this.translateVehicleType(data.pd.VEHICLE_TYPE) //
this.detailForm.VEHICLE_BELONG_TYPE = data.pd.VEHICLE_BELONG_TYPE === undefined ? '' : this.translateVehicleBelongType(data.pd.VEHICLE_BELONG_TYPE)
this.detailForm.USER_ID = data.pd.USER_NAME //
} else {
this.$message({
message: '数据回显失败',
type: 'error'
})
}
}).catch((e) => {
})
},
//
editDialogConfirmBtn() {
this.$refs.editForm.validate(valid => {
if (valid) {
const loading = this.$loading({
lock: true,
text: '数据保存中...',
spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.7)'
})
this.listLoading = true
requestFN(
'vehiclemessage/updateVehicleMessage',
{
...this.editForm
}
).then((data) => {
if (data.result === 'success') {
this.$message({
message: '修改成功',
type: 'success'
})
} else {
this.$message({
message: data.msg,
type: 'success'
})
}
this.listLoading = false
loading.close()
this.editDialogVisible = false
this.getQuery()
}).catch((e) => {
this.listLoading = false
loading.close()
})
} else {
return false
}
})
},
//
deleteSingleDataDeleteBtn(id, USER_ID, EMPLOYEE_VEHICLE_USER_ID) {
this.$confirm('确定要删除吗?', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.listLoading = true
requestFN(
'vehiclemessage/deleteVehicleMessage',
{
VEHICLE_ID: id,
USER_ID: USER_ID,
EMPLOYEE_VEHICLE_USER_ID: EMPLOYEE_VEHICLE_USER_ID
}
).then((data) => {
if (data.result === 'success') {
this.$message({
message: '删除成功',
type: 'success'
})
} else {
this.$message({
message: data.msg,
type: 'success'
})
}
this.listLoading = false
this.varList = []
this.listQuery.page = 1
this.getPageList()
}).catch((e) => {
this.listLoading = false
})
}).catch(() => {
})
},
resetSearch() {
this.searchForm = {
LICENCE_NO: '' //
}
this.$refs.selectTree_Search1.clearHandle() //
this.$refs.selectTree_Search2.clearHandle()
},
addUserList(DEPARTMENT_ID) {
// this.getUserList(DEPARTMENT_ID)
this.customGetUserList(DEPARTMENT_ID)
this.handleDepartmentAddChange(DEPARTMENT_ID)
},
updateUserList(DEPARTMENT_ID) {
this.getUserList(DEPARTMENT_ID)
this.handleDepartmentUpdateChange(DEPARTMENT_ID)
},
getUserList(DEPARTMENT_ID) { //
this.userList = []
console.info(DEPARTMENT_ID)
requestFN(
'/user/listAll',
{
DEPARTMENT_ID: DEPARTMENT_ID,
tm: new Date().getTime()
}
).then((data) => {
console.info(data)
this.userList = data.userList
}).catch((e) => {
// this.listLoading = false
})
},
customGetUserList(DEPARTMENT_ID) { //
this.userList = []
requestFN(
'vehiclemessage/selectTreeByDepartmentId',
{
DEPARTMENT_ID: DEPARTMENT_ID,
tm: new Date().getTime()
}
).then((data) => {
this.userList = data.list
}).catch((e) => {
// this.listLoading = false
})
},
//
userIdAddChange(event) {
this.addForm.USER_ID = event
this.handleUserAddChange(event)
},
//
employeeUserIdAddChange(event) {
this.addForm.EMPLOYEE_VEHICLE_USER_ID = event
this.handleEmployeeUserAddChange(event)
},
//
userIdUpdateChange(event) {
this.editForm.USER_ID = event
this.handleUserUpdateChange(event)
},
handleDepartmentAddChange(value) {
this.addForm.VEHICLE_DEPARTMENT_NAME = this.findLabelByValue(this.treeData, value)
},
handleDepartmentUpdateChange(value) {
this.editForm.VEHICLE_DEPARTMENT_NAME = this.findLabelByValue(this.treeData, value)
},
findLabelByValue(tree, value) {
for (const node of tree) {
if (node.id === value) {
return node.name
}
if (node.nodes && node.nodes.length > 0) {
const result = this.findLabelByValue(node.nodes, value)
if (result) {
return result
}
}
}
return ''
},
handleUserAddChange(value) {
const selectedUser = this.userList.find(user => user.USER_ID === value)
if (selectedUser) {
this.addForm.USER_NAME = selectedUser.NAME
} else {
this.addForm.USER_NAME = ''
}
},
handleEmployeeUserAddChange(value) {
const selectedUser = this.userList.find(user => user.USER_ID === value)
if (selectedUser) {
this.addForm.EMPLOYEE_VEHICLE_USER_NAME = selectedUser.NAME
} else {
this.addForm.EMPLOYEE_VEHICLE_USER_NAME = ''
}
},
handleUserUpdateChange(value) {
const selectedUser = this.userList.find(user => user.USER_ID === value)
if (selectedUser) {
this.editForm.USER_NAME = selectedUser.NAME
} else {
this.editForm.USER_NAME = ''
}
},
goCheckLicenceNoAdd() {
if (this.addForm.LICENCE_NO) {
const regex = /^([京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领A-Z]{1}[A-Z]{1}[A-Z0-9]{4}[A-Z0-9挂学警港澳]{1})$/
const result = regex.test(this.addForm.LICENCE_NO)
if (result) {
console.log('格式校验通过')
requestFN(
'vehiclemessage/goCheckLicenceNo',
{
'LICENCE_NO': this.addForm.LICENCE_NO
}
).then((data) => {
if (data.result === 'success') {
this.$message.success('验证通过')
this.ISCHECK = true
} else {
this.$message.error('车牌号已存在,请重新输入')
this.ISCHECK = false
}
}).catch((e) => {
console.info(e)
this.listLoading = false
this.ISCHECK = false
})
} else {
this.$message.success('车牌号不规范')
this.ISCHECK = false
}
}
},
goCheckLicenceNoUpdate() {
if (this.editForm.LICENCE_NO) {
if (this.editForm.LICENCE_NO !== this.editForm.OLD_LICENCE_NO) {
const regex = /^([京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领A-Z]{1}[A-Z]{1}[A-Z0-9]{4}[A-Z0-9挂学警港澳]{1})$/
const result = regex.test(this.editForm.LICENCE_NO)
if (result) {
console.log('格式校验通过')
requestFN(
'vehiclemessage/goCheckLicenceNo',
{
'LICENCE_NO': this.editForm.LICENCE_NO
}
).then((data) => {
if (data.result === 'success') {
this.$message.success('验证通过')
this.ISCHECK = true
} else {
this.$message.error('车牌号已存在,请重新输入')
this.ISCHECK = false
}
}).catch((e) => {
console.info(e)
this.listLoading = false
this.ISCHECK = false
})
} else {
this.$message.success('车牌号不规范')
this.ISCHECK = false
}
}
}
},
//
vehicleInOutRecordBtn(LICENCE_NO) {
this.$parent.activeName = 'Record'
this.$parent.LICENCE_NO = LICENCE_NO
}
}
}
</script>
<style>
.m-l-10 {
margin-left: 10px;
}
.q-f-w-v-200{
width: 200px;
}
</style>

View File

@ -0,0 +1,205 @@
<template>
<div class="app-container">
<el-form label-width="100px">
<el-row>
<el-col :span="2">
<el-form-item label-width="0px">
<el-button icon="el-icon-arrow-left" @click="goReturn()"></el-button>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="口门名称:" label-width="110px">
<el-input v-model="searchForm.KEYWORDS" style="width:206px" placeholder="请输入内容"/>
</el-form-item>
</el-col>
<el-col :span="5">
<el-form-item label="口门状态" label-width="110px">
<el-select v-model="searchForm.GATE_STATUS" placeholder="请选择">
<el-option v-for="(item,index) in StatusList" :key="index" :label="item.label" :value="item.value"/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="5">
<el-form-item label="所属区域" label-width="110px">
<el-select v-model="searchForm.REGION_BIANMA" placeholder="请选择">
<el-option v-for="(item,index) in RegionList" :key="index" :label="item.NAME" :value="item.BIANMA"/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label-width="10px">
<el-button v-waves type="primary" icon="el-icon-search" @click="getQuery">
搜索
</el-button>
<el-button v-waves type="success" icon="el-icon-refresh" @click="goKeyReset">
重置
</el-button>
</el-form-item>
</el-col>
</el-row>
</el-form>
<el-table
v-loading="listLoading"
ref="queryTable"
:data="varList"
:cell-style="getPlateColor"
:row-key="getRowKey"
:header-cell-style="{
'font-weight': 'bold',
'color': '#000'
}"
tooltip-effect="dark"
border
fit
highlight-current-row
>
<el-table-column
:reserve-selection="true"
type="selection"
width="55"
align="center"/>
<el-table-column type="index" label="序号" width="50" align="center" />
<el-table-column prop="REGION_NAME" label="区域" width="100px" align="center"/>
<el-table-column prop="AREA_NAME" label="口门名称" width="100px" align="center"/>
<el-table-column prop="AREA_LEVEL_NAME" label="口门级别" width="100px" align="center"/>
<el-table-column prop="vehicle_plate_number" label="车牌号" width="100px" align="center"/>
<!-- <el-table-column prop="vehicle_category_name" label="车辆类型" width="150px" align="center"/>-->
<el-table-column prop="VEHICLE_TYPE_NAME" label="车辆类型" width="150px" align="center"/>
<!-- <el-table-column prop="vehicle_filing_method" label="车辆所属类型" width="100px" align="center"/>-->
<el-table-column prop="VEHICLE_BELONG_TYPE_NAME" label="车辆所属类型" width="100px" align="center"/>
<el-table-column prop="vehicle_arrival_status" label="车辆在港状态" width="100px" align="center"/>
<el-table-column prop="VEHICLE_DEPARTMENT_NAME" label="车辆所属部门" align="center"/>
<!-- <el-table-column prop="vehicle_filing_info_recording_org" label="车辆所属部门" align="center"/>-->
<el-table-column prop="USER_NAME" label="车辆责任人" width="150ox" align="center"/>
<!-- <el-table-column prop="vehicle_contact_name" label="车辆联系人" width="150ox" align="center"/>-->
<!-- <el-table-column prop="vehicle_contact_phone_number" label="联系人手机号" width="120px" align="center"/>-->
<el-table-column prop="vehicle_arrival_barrier" label="入港闸口" align="center"/>
<el-table-column prop="vehicle_arrival_time" label="入港时间" align="center"/>
<el-table-column prop="vehicle_departure_barrier" label="离港闸口" align="center"/>
<el-table-column prop="vehicle_departure_time" label="离港时间" align="center"/>
</el-table>
<div class="page-btn-group">
<!-- <div>-->
<!-- <el-button plain type="info" @click="returnBtn"></el-button>-->
<!-- </div>-->
<pagination :total="total" :page.sync="listQuery.page" :limit.sync="listQuery.limit" @pagination="getPageList" />
</div>
</div>
</template>
<script>
import Pagination from '@/components/Pagination' // el-pagination
import { requestFN } from '@/utils/request'
import waves from '@/directive/waves' // waves directive
import safetyFlowChart from '../../../hiddenUtil/safetyFlowChart'
export default {
components: { Pagination, safetyFlowChart },
directives: { waves },
data() {
return {
listLoading: true,
add: false,
del: false,
edit: false,
listQuery: {
page: 1,
limit: 20
},
total: 0,
KEYWORDS: '',
//
varList: [],
//
searchForm: {
LICENCE_NO: '', //
KEYWORDS: '',
GATE_STATUS: '',
REGION_BIANMA: ''
},
RegionList: [],
StatusList: [
{ value: '0', label: '停用' },
{ value: '1', label: '正常' },
{ value: '2', label: '暂时关闭' }
]
}
},
created() {
this.getDict()
this.searchForm.LICENCE_NO = this.$parent.LICENCE_NO
this.getPageList() //
},
methods: {
getRowKey(row) {
return row.id_sequence
},
//
getQuery() {
this.$refs.queryTable.clearSelection() //
this.getPageList()
},
resetSearch() {
this.searchForm.KEYWORDS = ''
this.searchForm.GATE_STATUS = ''
this.searchForm.REGION_BIANMA = ''
},
goKeyReset() {
this.resetSearch()
this.getQuery()
},
//
getPageList() {
this.listLoading = true
requestFN(
'/vehiclemessage/getInOutPageList?showCount=' + this.listQuery.limit + '&currentPage=' + this.listQuery.page,
{
...this.searchForm
}
).then((data) => {
this.listLoading = false
this.varList = data.varList
this.total = data.page.totalResult
// this.hasButton()
}).catch((e) => {
this.listLoading = false
})
},
//
returnBtn() {
this.$parent.activeName = 'List'
},
getPlateColor(row, column, rowIndex, columnIndex) {
if (row.column.label === '车牌号') {
const colorMap = {
蓝牌: 'background-color: blue;color: white',
黄牌: 'background-color: yellow;color: black',
新能源: 'background-color: green;color: white',
白牌: 'background-color: gray;color: black',
黑牌: 'background-color: black;color: white',
其他: 'background-color: white;color: black',
default: 'background-color: white;color: black'
}
// const plateColor = row.row.vehicle_plate_color || 'default'
const plateColor = row.row.LICENCE_TYPE_NAME || 'default'
const backgroundColorAndColor = colorMap[plateColor] || colorMap.default
return backgroundColorAndColor
}
},
goReturn() {
this.$parent.activeName = 'CarView'
},
getDict() {
requestFN(
'dictionaries/getLevels',
{
DICTIONARIES_ID: '1c73fa2717f2835165104aee234caefe'
}
).then((data) => {
this.RegionList = data.list
})
.catch((e) => {
this.listLoading = false
})
},
}
}
</script>

View File

@ -0,0 +1,36 @@
<template>
<div>
<IndexList v-show="activeName==='List'" ref="list" />
<CarView v-if="activeName==='CarView'" />
<Record v-if="activeName==='Record'" />
</div>
</template>
<script>
import IndexList from './components/List'
import CarView from "./components/car_view";
import Record from "./components/record";
export default {
components: {
CarView: CarView,
IndexList: IndexList,
Record: Record
},
data() {
return {
activeName: 'List'
}
},
watch: {
activeName(newValue, oldValue) {
if (newValue == 'List') {
this.$refs.list.getQuery()
}
}
}
}
</script>
<style scoped>
</style>

View File

@ -110,7 +110,7 @@
</el-table>
<div class="page-btn-group">
<div>
<el-button type="primary" icon="el-icon-plus" @click="openAddDialogAddBtn"></el-button>
<!-- <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" />
</div>
@ -500,7 +500,8 @@ export default {
'vehiclemessage/getPageList?showCount=' + this.listQuery.limit + '&currentPage=' + this.listQuery.page,
{
...this.searchForm,
'CORPINFO_ID': this.CORPINFO_ID
'CORPINFO_ID': this.CORPINFO_ID,
CAR_FROM: 1
}
).then((data) => {
this.listLoading = false

View File

@ -2,7 +2,6 @@
<div>
<IndexList v-show="activeName=='IndexList'" ref="list" />
<IndexView v-if="activeName=='IndexView'" />
<!-- <List v-show="activeName==='List'" />-->
<Record v-if="activeName==='Record'" />
</div>
</template>
@ -10,7 +9,6 @@
<script>
import IndexList from './components/indexList'
import IndexView from './components/index_view'
// import List from './components/list'
import Record from './components/record'
export default {
components: {

View File

@ -0,0 +1,119 @@
<template>
<div class="app-container">
<el-form label-width="90px">
<el-row>
<el-col :span="4">
<el-form-item label="分公司名称">
<el-input v-model="searchForm.CORP_NAME" placeholder="分公司名称"/>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label-width="10px">
<el-button v-waves class="filter-item" type="primary" icon="el-icon-search" @click="getQuery">
搜索
</el-button>
<el-button v-waves class="filter-item" type="success" icon="el-icon-refresh" @click="goKeyReset">
重置
</el-button>
</el-form-item>
</el-col>
</el-row>
</el-form>
<el-table
v-loading="listLoading"
ref="multipleTable"
:data="varList"
:row-key="getRowKey"
:header-cell-style="{
'font-weight': 'bold',
'color': '#000'
}"
tooltip-effect="dark"
border
fit
highlight-current-row
>
<el-table-column type="index" label="序号" width="50" align="center" />
<el-table-column prop="CORP_NAME" label="分公司名称" />
<el-table-column prop="SOCIAL_CODE" label="统一社会信用代码" />
<el-table-column prop="COMPANY_AREA" label="所属地区" />
<el-table-column prop="STATE" label="企业状态" />
<el-table-column prop="USER_COUNT" label="企业人数" />
<el-table-column label="操作" align="left" width="110">
<template slot-scope="{row}">
<el-button type="success" icon="el-icon-view" size="mini" @click="handleEdit(row)"></el-button>
</template>
</el-table-column>
</el-table>
<div class="page-btn-group">
<div>
</div>
<pagination :total="total" :page.sync="listQuery.page" :limit.sync="listQuery.limit" @pagination="getList" />
</div>
</div>
</template>
<script>
import SelectTree from '@/components/SelectTree'
import Pagination from '@/components/Pagination' // el-pagination
import { requestFN } from '@/utils/request'
import waves from '@/directive/waves' // waves directive
export default {
components: {Pagination, SelectTree },
directives: { waves },
data() {
return {
listLoading: true,
listQuery: {
page: 1,
limit: 20
},
searchForm: {
CORP_NAME: ''
},
total: 0,
varList: []
}
},
created() {
this.getList()
},
methods: {
getRowKey(row) {
return row.CORPINFO_ID
},
//
getQuery() {
this.getList()
},
//
getList() {
this.listLoading = true
requestFN(
'/mkmjManagement/getXgfCorpList?showCount=' + this.listQuery.limit + '&currentPage=' + this.listQuery.page,
{
...this.searchForm
}
).then((data) => {
this.listLoading = false
this.varList = data.corpList
this.total = data.page.totalResult
}).catch((e) => {
this.listLoading = false
})
},
//
handleEdit(row) {
console.log('--------------------------')
this.$parent.activeName = 'CarView'
this.$parent.CORPINFO_ID = row.CORPINFO_ID
},
goKeyReset() {
this.searchForm = {
CORP_NAME: ''
}
this.getList()
}
}
}
</script>

View File

@ -0,0 +1,922 @@
<template>
<div class="icons-container">
<el-container>
<el-aside width="200px" style="background-color:#fff">
<div class="filter-btn-group">
<el-tree
v-loading="treeLoading"
ref="tree"
:data="treeData"
:props="defaultProps"
:filter-node-method="filterNode"
class="filter-tree"
@node-click="handleNodeClick"/>
</div>
</el-aside>
<el-main>
<el-form label-width="60px">
<el-row>
<el-col :span="2">
<el-form-item label-width="0px">
<el-button v-show="DEPARTMENT_ID != '0'" icon="el-icon-arrow-left" @click="goReturn()"></el-button>
</el-form-item>
</el-col>
<el-col :span="3">
<el-form-item label="车牌号">
<el-input v-model="searchForm.LICENCE_NO" placeholder="请输入车牌号..." />
</el-form-item>
</el-col>
<el-col :span="4" class="m-l-10">
<el-form-item label="车辆类型" prop="VEHICLE_TYPE" label-width="100px">
<SelectTree
ref="selectTree_Search1"
:clearable="false"
:options="vehicleTypeList"
:props="vehicleDefaultProps"
v-model="searchForm.VEHICLE_TYPE"
placeholder="请选择车辆类型"/>
</el-form-item>
</el-col>
<el-col :span="4" class="m-l-10">
<el-form-item label="车辆所属部门" prop="VEHICLE_DEPARTMENT_ID" label-width="100px">
<SelectTree
ref="selectTree_Search2"
:clearable="false"
:options="treeData"
:props="defaultProps"
v-model="searchForm.VEHICLE_DEPARTMENT_ID"
placeholder="请选择车辆所属部门"/>
</el-form-item>
</el-col>
<el-col :span="4" class="m-l-10">
<el-form-item label="车辆责任人" label-width="100px">
<el-input v-model="searchForm.USER_NAME" placeholder="请输入车辆责任人..." />
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label-width="10px">
<el-button v-waves type="primary" icon="el-icon-search" @click="getQuery">
搜索
</el-button>
<el-button v-waves type="success" icon="el-icon-refresh" @click="goKeyReset">
重置
</el-button>
</el-form-item>
</el-col>
</el-row>
</el-form>
<el-table
v-loading="listLoading"
ref="vehicleMessageTable"
:data="varList"
:row-key="getRowKey"
:header-cell-style="{
'font-weight': 'bold',
'color': '#000'
}"
tooltip-effect="dark"
border
fit
highlight-current-row
>
<el-table-column
:reserve-selection="true"
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 label="车牌类型" align="center">
<template slot-scope="{row}">
{{ translateLicenceType(row.LICENCE_TYPE) }}
</template>
</el-table-column>
<el-table-column label="车辆类型" align="center">
<template slot-scope="{row}">
{{ translateVehicleType(row.VEHICLE_TYPE) }}
</template>
</el-table-column>
<el-table-column prop="DEPARTMENT_NAME" label="车辆所属部门" align="center" />
<el-table-column prop="USER_NAME" label="车辆责任人" align="center"/>
<el-table-column label="操作" align="center" width="480">
<template slot-scope="{row}">
<el-button type="warning" icon="el-icon-more" size="mini" @click="vehicleInOutRecordBtn(row.LICENCE_NO)"></el-button>
<el-button icon="el-icon-view" size="mini" @click="showDetail(row.VEHICLE_ID)"></el-button>
<el-button type="primary" icon="el-icon-edit" size="mini" @click="openEditDialogEditBtn(row.VEHICLE_ID)"></el-button>
<el-button type="danger" icon="el-icon-delete" size="mini" @click="deleteSingleDataDeleteBtn(row.VEHICLE_ID, row.USER_ID, row.EMPLOYEE_VEHICLE_USER_ID)">删除</el-button>
</template>
</el-table-column>
</el-table>
<div class="page-btn-group">
<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" />
</div>
<!-- 添加车辆信息 -->
<el-dialog :visible.sync="addDialogVisible" title="添加车辆信息" width="600px">
<el-form v-if="addDialogVisible" ref="addForm" :model="addForm" label-width="170px" style="padding:0 20px; width: 500px;">
<el-form-item :rules="[{required: true}]" label="车牌号">
<el-input v-model="addForm.LICENCE_NO" :autosize="{ minRows: 1}" type="text" maxlength="300" placeholder="这里输入车牌号..." @blur="goCheckLicenceNoAdd()"/>
</el-form-item>
<!-- 白牌蓝牌黄牌绿牌黑牌 下拉框-->
<el-form-item :rules="[{required: true}]" label="车牌类型" prop="LICENCE_TYPE">
<SelectTree
ref="selectTree_add2"
:clearable="false"
:options="licenceTypeList"
:props="vehicleDefaultProps"
v-model="addForm.LICENCE_TYPE"
placeholder="请选择车牌类型"
style="width: 300px"/>
</el-form-item>
<!-- 货车轿车大巴客车 下拉框-->
<el-form-item :rules="[{required: true}]" label="车辆类型" prop="VEHICLE_TYPE">
<SelectTree
ref="selectTree_add3"
:clearable="false"
:options="vehicleTypeList"
:props="vehicleDefaultProps"
v-model="addForm.VEHICLE_TYPE"
placeholder="请选择车辆类型"
style="width: 300px"/>
</el-form-item>
<!-- 员工车辆单位车辆外部车辆 下拉框 -->
<el-form-item :rules="[{required: true}]" label="车辆所属类型" prop="VEHICLE_BELONG_TYPE">
<SelectTree
ref="selectTree_add4"
:clearable="false"
:options="vehicleBelongTypeList"
:props="vehicleDefaultProps"
v-model="addForm.VEHICLE_BELONG_TYPE"
placeholder="请选择车辆所属类型"
style="width: 300px"/>
</el-form-item>
<!-- 车辆所属部门下拉框 -->
<el-form-item :rules="[{required: true}]" label="车辆所属部门" prop="VEHICLE_DEPARTMENT_ID">
<SelectTree
ref="selectTree_add1"
:clearable="false"
:options="treeData"
:props="defaultProps"
v-model="addForm.VEHICLE_DEPARTMENT_ID"
placeholder="请选择车辆所属部门"
style="width: 300px"
@change="addUserList"/>
</el-form-item>
<!-- 车辆责任人下拉框 -->
<el-form-item :rules="[{required: true}]" label="车辆责任人" prop="USER_ID">
<el-select :value="addForm.USER_ID" clearable placeholder="请选择" @visible-change="$forceUpdate()" @change="userIdAddChange">
<el-option v-for="item in userList" :key="item.USER_ID" :label="item.NAME" :value="item.USER_ID"/>
</el-select>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click="addDialogCancelBtn"> </el-button>
<el-button type="primary" @click="addDialogConfirmBtn"> </el-button>
</div>
</el-dialog>
<el-dialog :visible.sync="editDialogVisible" title="修改" width="600px">
<el-form ref="editForm" :model="editForm" label-width="170px" style="width: 500px;">
<el-form-item :rules="[{required: true}]" label="车牌号">
<el-input v-model="editForm.LICENCE_NO" :autosize="{ minRows: 1}" type="text" maxlength="300" placeholder="这里输入车牌号..." @blur="goCheckLicenceNoUpdate()"/>
</el-form-item>
<el-form-item label="车牌类型" prop="LICENCE_TYPE">
<el-select :value="editForm.LICENCE_TYPE" clearable placeholder="请选择" @visible-change="$forceUpdate()">
<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="车辆类型" prop="VEHICLE_TYPE">
<el-select :value="editForm.VEHICLE_TYPE" clearable placeholder="请选择" @visible-change="$forceUpdate()">
<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="车辆所属类型" prop="VEHICLE_BELONG_TYPE">
<el-select :value="editForm.VEHICLE_BELONG_TYPE" clearable placeholder="请选择" @visible-change="$forceUpdate()">
<el-option v-for="item in vehicleBelongTypeList" :key="item.ID" :label="item.NAME" :value="item.ID" />
</el-select>
</el-form-item>
<!-- 车辆所属部门下拉框 -->
<el-form-item label="车辆所属部门" prop="VEHICLE_DEPARTMENT_ID">
<SelectTree
ref="selectTree_edit"
:clearable="true"
:options="treeData"
:props="defaultProps"
v-model="editForm.VEHICLE_DEPARTMENT_ID"
placeholder="请选择车辆所属部门"
style="width: 300px"
@change="updateUserList"/>
</el-form-item>
<!-- 车辆责任人下拉框 -->
<el-form-item label="车辆责任人" prop="USER_ID">
<el-select :value="editForm.USER_ID" clearable placeholder="请选择" @visible-change="$forceUpdate()" @change="userIdUpdateChange">
<el-option v-for="item in userList" :key="item.USER_ID" :label="item.NAME" :value="item.USER_ID" />
</el-select>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click="editDialogCancelBtn"> </el-button>
<el-button type="primary" @click="editDialogConfirmBtn"> </el-button>
</div>
</el-dialog>
<el-dialog :visible.sync="detailDialogVisible" title="详情" width="600px">
<el-form ref="form" :model="detailForm" label-width="170px" style="width: 500px;">
<el-form-item label="车牌号">
<el-input v-model="detailForm.LICENCE_NO" :disabled="true" :autosize="{ minRows: 1}" type="text" maxlength="300"/>
</el-form-item>
<el-form-item label="车牌类型">
<el-input v-model="detailForm.LICENCE_TYPE" :disabled="true" :autosize="{ minRows: 1}" type="text" maxlength="300"/>
</el-form-item>
<el-form-item label="车辆类型">
<el-input v-model="detailForm.VEHICLE_TYPE" :disabled="true" :autosize="{ minRows: 1}" type="text" maxlength="300"/>
</el-form-item>
<el-form-item label="车辆所属类型">
<el-input v-model="detailForm.VEHICLE_BELONG_TYPE" :disabled="true" :autosize="{ minRows: 1}" type="text" maxlength="300"/>
</el-form-item>
<el-form-item label="车辆所属部门">
<el-input v-model="detailForm.VEHICLE_DEPARTMENT_ID" :disabled="true" :autosize="{ minRows: 1}" type="text" maxlength="300"/>
</el-form-item>
<el-form-item label="车辆责任人">
<el-input v-model="detailForm.USER_ID" :disabled="true" :autosize="{ minRows: 1}" type="text" maxlength="300"/>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click="detailDialogReturnBtn"></el-button>
</div>
</el-dialog>
</el-main>
</el-container>
<div class="heightt"/>
</div>
</template>
<script>
import SelectTree from '@/components/SelectTree'
import Pagination from '@/components/Pagination' // el-pagination
import { requestFN } from '@/utils/request'
import waves from '@/directive/waves' // waves directive
export default {
components: { Pagination, SelectTree },
directives: { waves },
data() {
return {
config: config,
treeLoading: false,
listLoading: true,
add: true,
del: true,
edit: true,
readonly: true,
listQuery: {
page: 1,
limit: 20
},
total: 0,
defaultProps: {
value: 'id',
children: 'nodes',
label: 'name'
},
treeData: [],
//
loginUserCorpInfoId: '', //
CORPINFO_ID: '', // id
DEPARTMENT_ID: '', // ID
KEYWORDS: '',
loginUserId: '', // ID
//
licenceTypeList: [
// { ID: '', NAME: '' },
{ ID: '0', NAME: '白牌' },
{ ID: '1', NAME: '蓝牌' },
{ ID: '2', NAME: '黄牌' },
{ ID: '3', NAME: '绿牌' },
{ ID: '4', NAME: '黑牌' }
],
//
vehicleTypeList: [
// { ID: '', NAME: '' },
{ ID: '0', NAME: '货车' },
{ ID: '1', NAME: '轿车' },
{ ID: '2', NAME: '大巴客车' }
],
//
vehicleBelongTypeList: [
// { ID: '', NAME: '' },
{ ID: '0', NAME: '员工车辆' },
{ ID: '1', NAME: '单位车辆' }
// { ID: '2', NAME: '' }
],
//
vehicleDefaultProps: {
value: 'ID',
label: 'NAME',
children: 'nodes'
},
departmentTreeData: [],
// inspectionTypeList: [], //
//
varList: [],
//
searchForm: {
DEPARTMENT_ID: '',
VEHICLE_ID: '', // ID()
LICENCE_NO: '', //
VEHICLE_TYPE: '', //
VEHICLE_DEPARTMENT_ID: '' // ID
},
//
addForm: {
LICENCE_NO: '', //
VEHICLE_DEPARTMENT_ID: '', // id
VEHICLE_DEPARTMENT_NAME: '', //
USER_ID: '', //
LICENCE_TYPE: '', //
VEHICLE_TYPE: '', //
VEHICLE_BELONG_TYPE: '', //
EMPLOYEE_VEHICLE_USER_ID: '', // id
EMPLOYEE_VEHICLE_USER_NAME: '', //
DEPARTMENT_NAME: '', //
DEPARTMENT_ID: '',
USER_NAME: '' //
},
//
editForm: {
VEHICLE_ID: '', // id()
LICENCE_NO: '', //
OLD_LICENCE_NO: '', //
USER_ID: '', //
USER_NAME: '', //
LICENCE_TYPE: '', //
VEHICLE_TYPE: '', //
VEHICLE_BELONG_TYPE: '', //
DEPARTMENT_NAME: '', //
EMPLOYEE_VEHICLE_USER_ID: '', //
EMPLOYEE_VEHICLE_USER_NAME: '', //
VEHICLE_DEPARTMENT_ID: '', //
VEHICLE_DEPARTMENT_NAME: '' //
},
//
detailForm: {
LICENCE_NO: '', //
VEHICLE_BELONG_TYPE: '', //
VEHICLE_DEPARTMENT_ID: '', //
USER_ID: '', // id
EMPLOYEE_VEHICLE_USER_ID: '', //
LICENCE_TYPE: null, //
VEHICLE_TYPE: null //
},
addDialogVisible: false, //
editDialogVisible: false, //
detailDialogVisible: false, //
userList: [], //
selectTree_edit: []
}
},
created() {
//
this.getLoginUserInfo() //
this.CORPINFO_ID = this.$parent.CORPINFO_ID
this.updateBranchName(this.CORPINFO_ID)
this.getPageList() //
},
methods: {
//
filterNode(value, data) {
if (!value) return true
return data.name.indexOf(value) !== -1
},
handleNodeClick(node, data, value) {
this.searchForm.VEHICLE_DEPARTMENT_ID = node.id
this.getPageList(node.id)
},
updateBranchName(ID) {
requestFN(
'/department/listTreeCorpInfo',
// '/department/listTree',
{
CORPINFO_ID: ID
}
).then((data) => {
this.treeData = JSON.parse(data.zTreeNodes)
}).catch((e) => {
})
},
goReturn() {
this.$parent.activeName = 'List'
},
//
getRowKey(row) {
return row.VEHICLE_ID
},
translateLicenceType(id) {
for (var i = 0; i < this.licenceTypeList.length; i++) {
if (this.licenceTypeList[i].ID == id) return this.licenceTypeList[i].NAME
}
},
translateVehicleType(id) {
for (var i = 0; i < this.vehicleTypeList.length; i++) {
if (this.vehicleTypeList[i].ID == id) return this.vehicleTypeList[i].NAME
}
},
translateVehicleBelongType(id) {
for (var i = 0; i < this.vehicleBelongTypeList.length; i++) {
if (this.vehicleBelongTypeList[i].ID == id) return this.vehicleBelongTypeList[i].NAME
}
},
getLoginUserInfo() { //
return new Promise((resolve) => {
requestFN(
'/user/goEditMyInfo',
{}
).then((data) => {
console.info(data.pd)
this.loginUserId = data.pd.USER_ID
// this.loginUserName = data.pd.NAME
this.loginUserCorpInfoId = data.pd.CORPINFO_ID
// this.loginUserDepartmentName = data.pd.DEPARTMENT_NAME
resolve('ok')
}).catch((e) => {
})
})
},
//
getQuery() {
this.$refs.vehicleMessageTable.clearSelection() //
this.getPageList()
},
goKeyReset() {
this.resetSearch()
this.getQuery()
},
//
getPageList() {
console.log('22222222222222222222222222222')
this.listLoading = true
requestFN(
'vehiclemessage/getPageList?showCount=' + this.listQuery.limit + '&currentPage=' + this.listQuery.page,
{
...this.searchForm,
'CORPINFO_ID': this.CORPINFO_ID,
CAR_FROM: 2
}
).then((data) => {
this.listLoading = false
this.varList = data.varList
this.total = data.page.totalResult
// this.hasButton()
this.pd = data.pd
}).catch((e) => {
this.listLoading = false
})
},
//
openAddDialogAddBtn() {
this.addDialogVisible = true
this.reSetAddDialog()
this.ISCHECK = false
},
//
addDialogCancelBtn() {
this.addDialogVisible = false
},
//
detailDialogReturnBtn() {
this.detailDialogVisible = false
},
//
reSetAddDialog() {
this.addForm.LICENCE_NO = ''
this.addForm.USER_ID = ''
this.addForm.VEHICLE_DEPARTMENT_ID = ''
this.addForm.LICENCE_TYPE = ''
this.addForm.VEHICLE_TYPE = ''
this.addForm.VEHICLE_BELONG_TYPE = ''
this.addForm.EMPLOYEE_VEHICLE_USER_ID = ''
this.userList = []
this.addForm.DEPARTMENT_NAME = ''
this.addForm.DEPARTMENT_ID = ''
},
//
addDialogConfirmBtn() {
if (this.addForm.LICENCE_NO !== null && this.addForm.LICENCE_NO === '') {
this.$message({
message: '车牌号不能为空',
type: 'error'
})
return false
}
if (this.addForm.LICENCE_TYPE !== null && this.addForm.LICENCE_TYPE === '') {
this.$message({
message: '请选择车牌类型',
type: 'error'
})
return false
}
if (this.addForm.VEHICLE_TYPE !== null && this.addForm.VEHICLE_TYPE === '') {
this.$message({
message: '请选择车辆类型',
type: 'error'
})
return false
}
if (this.addForm.VEHICLE_BELONG_TYPE !== null && this.addForm.VEHICLE_BELONG_TYPE === '') {
this.$message({
message: '请选择车辆所属类型',
type: 'error'
})
return false
}
if (this.addForm.VEHICLE_DEPARTMENT_ID !== null && this.addForm.VEHICLE_DEPARTMENT_ID === '') {
this.$message({
message: '请选择车辆所属部门',
type: 'error'
})
return false
}
if (this.addForm.USER_ID !== null && this.addForm.USER_ID === '') {
this.$message({
message: '请选择车辆责任人',
type: 'error'
})
return false
}
if (this.addForm.VEHICLE_BELONG_TYPE === '0') {
this.addForm.EMPLOYEE_VEHICLE_USER_ID = this.addForm.USER_ID // id
this.addForm.EMPLOYEE_VEHICLE_USER_NAME = this.addForm.USER_NAME //
} else {
this.addForm.EMPLOYEE_VEHICLE_USER_ID = '' // id
this.addForm.EMPLOYEE_VEHICLE_USER_NAME = '' //
}
this.addRequest()
},
addRequest() {
requestFN(
'vehiclemessage/addVehicleMessage',
{
...this.addForm,
'CORPINFO_ID': this.CORPINFO_ID
}
).then((data) => {
if (data.result === 'fail') {
this.$message({
message: data.msg,
type: 'error'
})
} else {
this.$message.success('车辆信息添加成功')
this.getPageList() //
this.addDialogVisible = false
}
}).catch((e) => {
})
},
//
openEditDialogEditBtn(VEHICLE_ID) {
this.editForm = {
VEHICLE_ID: VEHICLE_ID, // id()
LICENCE_NO: '', //
OLD_LICENCE_NO: '', //
USER_ID: '', //
EMPLOYEE_VEHICLE_USER_ID: '', //
VEHICLE_DEPARTMENT_ID: '' //
}
this.userList = []
this.editDialogVisible = true
//
requestFN(
'vehiclemessage/updateShowVehicleMessage',
{
VEHICLE_ID: VEHICLE_ID
}
).then((data) => {
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.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: '数据回显失败',
type: 'error'
})
}
}).catch((e) => {
})
},
editDialogCancelBtn() {
this.editDialogVisible = false
},
// ()
showDetail(VEHICLE_ID) {
this.detailForm = {
LICENCE_NO: '', //
VEHICLE_DEPARTMENT_ID: '', //
VEHICLE_BELONG_TYPE: '', //
USER_ID: '', //
EMPLOYEE_VEHICLE_USER_ID: '', //
LICENCE_TYPE: null, //
VEHICLE_TYPE: null //
}
this.detailDialogVisible = true
//
requestFN(
'vehiclemessage/detailVehicleMessage',
{
VEHICLE_ID: VEHICLE_ID
}
).then((data) => {
if (data.result === 'success') {
this.detailForm.LICENCE_NO = data.pd.LICENCE_NO //
this.detailForm.VEHICLE_DEPARTMENT_ID = data.pd.DEPARTMENT_NAME //
this.detailForm.LICENCE_TYPE = this.translateLicenceType(data.pd.LICENCE_TYPE) //
this.detailForm.VEHICLE_TYPE = this.translateVehicleType(data.pd.VEHICLE_TYPE) //
this.detailForm.VEHICLE_BELONG_TYPE = data.pd.VEHICLE_BELONG_TYPE === undefined ? '' : this.translateVehicleBelongType(data.pd.VEHICLE_BELONG_TYPE)
this.detailForm.USER_ID = data.pd.USER_NAME //
} else {
this.$message({
message: '数据回显失败',
type: 'error'
})
}
}).catch((e) => {
})
},
//
editDialogConfirmBtn() {
this.$refs.editForm.validate(valid => {
if (valid) {
const loading = this.$loading({
lock: true,
text: '数据保存中...',
spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.7)'
})
this.listLoading = true
requestFN(
'vehiclemessage/updateVehicleMessage',
{
...this.editForm
}
).then((data) => {
if (data.result === 'success') {
this.$message({
message: '修改成功',
type: 'success'
})
} else {
this.$message({
message: data.msg,
type: 'success'
})
}
this.listLoading = false
loading.close()
this.editDialogVisible = false
this.getQuery()
}).catch((e) => {
this.listLoading = false
loading.close()
})
} else {
return false
}
})
},
//
deleteSingleDataDeleteBtn(id, USER_ID, EMPLOYEE_VEHICLE_USER_ID) {
this.$confirm('确定要删除吗?', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.listLoading = true
requestFN(
'vehiclemessage/deleteVehicleMessage',
{
VEHICLE_ID: id,
USER_ID: USER_ID,
EMPLOYEE_VEHICLE_USER_ID: EMPLOYEE_VEHICLE_USER_ID
}
).then((data) => {
if (data.result === 'success') {
this.$message({
message: '删除成功',
type: 'success'
})
} else {
this.$message({
message: data.msg,
type: 'success'
})
}
this.listLoading = false
this.varList = []
this.listQuery.page = 1
this.getPageList()
}).catch((e) => {
this.listLoading = false
})
}).catch(() => {
})
},
resetSearch() {
this.searchForm = {
LICENCE_NO: '' //
}
this.$refs.selectTree_Search1.clearHandle() //
this.$refs.selectTree_Search2.clearHandle()
},
addUserList(DEPARTMENT_ID) {
// this.getUserList(DEPARTMENT_ID)
this.customGetUserList(DEPARTMENT_ID)
this.handleDepartmentAddChange(DEPARTMENT_ID)
},
updateUserList(DEPARTMENT_ID) {
this.getUserList(DEPARTMENT_ID)
this.handleDepartmentUpdateChange(DEPARTMENT_ID)
},
getUserList(DEPARTMENT_ID) { //
this.userList = []
console.info(DEPARTMENT_ID)
requestFN(
'/user/listAll',
{
DEPARTMENT_ID: DEPARTMENT_ID,
tm: new Date().getTime()
}
).then((data) => {
console.info(data)
this.userList = data.userList
}).catch((e) => {
// this.listLoading = false
})
},
customGetUserList(DEPARTMENT_ID) { //
this.userList = []
requestFN(
'vehiclemessage/selectTreeByDepartmentId',
{
DEPARTMENT_ID: DEPARTMENT_ID,
tm: new Date().getTime()
}
).then((data) => {
this.userList = data.list
}).catch((e) => {
// this.listLoading = false
})
},
//
userIdAddChange(event) {
this.addForm.USER_ID = event
this.handleUserAddChange(event)
},
//
employeeUserIdAddChange(event) {
this.addForm.EMPLOYEE_VEHICLE_USER_ID = event
this.handleEmployeeUserAddChange(event)
},
//
userIdUpdateChange(event) {
this.editForm.USER_ID = event
this.handleUserUpdateChange(event)
},
handleDepartmentAddChange(value) {
this.addForm.VEHICLE_DEPARTMENT_NAME = this.findLabelByValue(this.treeData, value)
},
handleDepartmentUpdateChange(value) {
this.editForm.VEHICLE_DEPARTMENT_NAME = this.findLabelByValue(this.treeData, value)
},
findLabelByValue(tree, value) {
for (const node of tree) {
if (node.id === value) {
return node.name
}
if (node.nodes && node.nodes.length > 0) {
const result = this.findLabelByValue(node.nodes, value)
if (result) {
return result
}
}
}
return ''
},
handleUserAddChange(value) {
const selectedUser = this.userList.find(user => user.USER_ID === value)
if (selectedUser) {
this.addForm.USER_NAME = selectedUser.NAME
} else {
this.addForm.USER_NAME = ''
}
},
handleEmployeeUserAddChange(value) {
const selectedUser = this.userList.find(user => user.USER_ID === value)
if (selectedUser) {
this.addForm.EMPLOYEE_VEHICLE_USER_NAME = selectedUser.NAME
} else {
this.addForm.EMPLOYEE_VEHICLE_USER_NAME = ''
}
},
handleUserUpdateChange(value) {
const selectedUser = this.userList.find(user => user.USER_ID === value)
if (selectedUser) {
this.editForm.USER_NAME = selectedUser.NAME
} else {
this.editForm.USER_NAME = ''
}
},
goCheckLicenceNoAdd() {
if (this.addForm.LICENCE_NO) {
const regex = /^([京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领A-Z]{1}[A-Z]{1}[A-Z0-9]{4}[A-Z0-9挂学警港澳]{1})$/
const result = regex.test(this.addForm.LICENCE_NO)
if (result) {
console.log('格式校验通过')
requestFN(
'vehiclemessage/goCheckLicenceNo',
{
'LICENCE_NO': this.addForm.LICENCE_NO
}
).then((data) => {
if (data.result === 'success') {
this.$message.success('验证通过')
this.ISCHECK = true
} else {
this.$message.error('车牌号已存在,请重新输入')
this.ISCHECK = false
}
}).catch((e) => {
console.info(e)
this.listLoading = false
this.ISCHECK = false
})
} else {
this.$message.success('车牌号不规范')
this.ISCHECK = false
}
}
},
goCheckLicenceNoUpdate() {
if (this.editForm.LICENCE_NO) {
if (this.editForm.LICENCE_NO !== this.editForm.OLD_LICENCE_NO) {
const regex = /^([京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领A-Z]{1}[A-Z]{1}[A-Z0-9]{4}[A-Z0-9挂学警港澳]{1})$/
const result = regex.test(this.editForm.LICENCE_NO)
if (result) {
console.log('格式校验通过')
requestFN(
'vehiclemessage/goCheckLicenceNo',
{
'LICENCE_NO': this.editForm.LICENCE_NO
}
).then((data) => {
if (data.result === 'success') {
this.$message.success('验证通过')
this.ISCHECK = true
} else {
this.$message.error('车牌号已存在,请重新输入')
this.ISCHECK = false
}
}).catch((e) => {
console.info(e)
this.listLoading = false
this.ISCHECK = false
})
} else {
this.$message.success('车牌号不规范')
this.ISCHECK = false
}
}
}
},
//
vehicleInOutRecordBtn(LICENCE_NO) {
this.$parent.activeName = 'Record'
this.$parent.LICENCE_NO = LICENCE_NO
}
}
}
</script>
<style>
.m-l-10 {
margin-left: 10px;
}
.q-f-w-v-200{
width: 200px;
}
</style>

View File

@ -0,0 +1,197 @@
<template>
<div class="app-container">
<el-form label-width="100px">
<el-row>
<el-col :span="2">
<el-form-item label-width="0px">
<el-button icon="el-icon-arrow-left" @click="goReturn()"></el-button>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="口门名称:" label-width="110px">
<el-input v-model="searchForm.KEYWORDS" style="width:206px" placeholder="请输入内容"/>
</el-form-item>
</el-col>
<el-col :span="5">
<el-form-item label="口门状态" label-width="110px">
<el-select v-model="searchForm.GATE_STATUS" placeholder="请选择">
<el-option v-for="(item,index) in StatusList" :key="index" :label="item.label" :value="item.value"/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="5">
<el-form-item label="所属区域" label-width="110px">
<el-select v-model="searchForm.REGION_BIANMA" placeholder="请选择">
<el-option v-for="(item,index) in RegionList" :key="index" :label="item.NAME" :value="item.BIANMA"/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label-width="10px">
<el-button v-waves type="primary" icon="el-icon-search" @click="getQuery">
搜索
</el-button>
<el-button v-waves type="success" icon="el-icon-refresh" @click="goKeyReset">
重置
</el-button>
</el-form-item>
</el-col>
</el-row>
</el-form>
<el-table
v-loading="listLoading"
ref="queryTable"
:data="varList"
:cell-style="getPlateColor"
:row-key="getRowKey"
:header-cell-style="{
'font-weight': 'bold',
'color': '#000'
}"
tooltip-effect="dark"
border
fit
highlight-current-row
>
<el-table-column
:reserve-selection="true"
type="selection"
width="55"
align="center"/>
<el-table-column type="index" label="序号" width="50" align="center" />
<el-table-column prop="REGION_NAME" label="区域" width="100px" align="center"/>
<el-table-column prop="AREA_NAME" label="口门名称" width="100px" align="center"/>
<el-table-column prop="AREA_LEVEL_NAME" label="口门级别" width="100px" align="center"/>
<el-table-column prop="vehicle_plate_number" label="车牌号" width="100px" align="center"/>
<el-table-column prop="VEHICLE_TYPE_NAME" label="车辆类型" width="150px" align="center"/>
<el-table-column prop="VEHICLE_BELONG_TYPE_NAME" label="车辆所属类型" width="100px" align="center"/>
<el-table-column prop="vehicle_arrival_status" label="车辆在港状态" width="100px" align="center"/>
<el-table-column prop="VEHICLE_DEPARTMENT_NAME" label="车辆所属部门" align="center"/>
<el-table-column prop="USER_NAME" label="车辆责任人" width="150ox" align="center"/>
<el-table-column prop="vehicle_arrival_barrier" label="入港闸口" align="center"/>
<el-table-column prop="vehicle_arrival_time" label="入港时间" align="center"/>
<el-table-column prop="vehicle_departure_barrier" label="离港闸口" align="center"/>
<el-table-column prop="vehicle_departure_time" label="离港时间" align="center"/>
</el-table>
<div class="page-btn-group">
<pagination :total="total" :page.sync="listQuery.page" :limit.sync="listQuery.limit" @pagination="getPageList" />
</div>
</div>
</template>
<script>
import Pagination from '@/components/Pagination' // el-pagination
import { requestFN } from '@/utils/request'
import waves from '@/directive/waves' // waves directive
import safetyFlowChart from '../../../hiddenUtil/safetyFlowChart'
export default {
components: { Pagination, safetyFlowChart },
directives: { waves },
data() {
return {
listLoading: true,
add: false,
del: false,
edit: false,
listQuery: {
page: 1,
limit: 20
},
total: 0,
KEYWORDS: '',
//
varList: [],
//
searchForm: {
LICENCE_NO: '', //
KEYWORDS: '',
GATE_STATUS: '',
REGION_BIANMA: ''
},
RegionList: [],
StatusList: [
{ value: '0', label: '停用' },
{ value: '1', label: '正常' },
{ value: '2', label: '暂时关闭' }
]
}
},
created() {
this.getDict()
this.searchForm.LICENCE_NO = this.$parent.LICENCE_NO
this.getPageList() //
},
methods: {
getRowKey(row) {
return row.id_sequence
},
//
getQuery() {
this.$refs.queryTable.clearSelection() //
this.getPageList()
},
resetSearch() {
this.searchForm.KEYWORDS = ''
this.searchForm.GATE_STATUS = ''
this.searchForm.REGION_BIANMA = ''
},
goKeyReset() {
this.resetSearch()
this.getQuery()
},
//
getPageList() {
this.listLoading = true
requestFN(
'/vehiclemessage/getInOutPageList?showCount=' + this.listQuery.limit + '&currentPage=' + this.listQuery.page,
{
...this.searchForm
}
).then((data) => {
this.listLoading = false
this.varList = data.varList
this.total = data.page.totalResult
// this.hasButton()
}).catch((e) => {
this.listLoading = false
})
},
//
returnBtn() {
this.$parent.activeName = 'List'
},
getPlateColor(row, column, rowIndex, columnIndex) {
if (row.column.label === '车牌号') {
const colorMap = {
蓝牌: 'background-color: blue;color: white',
黄牌: 'background-color: yellow;color: black',
新能源: 'background-color: green;color: white',
白牌: 'background-color: gray;color: black',
黑牌: 'background-color: black;color: white',
其他: 'background-color: white;color: black',
default: 'background-color: white;color: black'
}
// const plateColor = row.row.vehicle_plate_color || 'default'
const plateColor = row.row.LICENCE_TYPE_NAME || 'default'
const backgroundColorAndColor = colorMap[plateColor] || colorMap.default
return backgroundColorAndColor
}
},
goReturn() {
this.$parent.activeName = 'CarView'
},
getDict() {
requestFN(
'dictionaries/getLevels',
{
DICTIONARIES_ID: '1c73fa2717f2835165104aee234caefe'
}
).then((data) => {
this.RegionList = data.list
})
.catch((e) => {
this.listLoading = false
})
},
}
}
</script>

View File

@ -0,0 +1,36 @@
<template>
<div>
<IndexList v-show="activeName==='List'" ref="list" />
<CarView v-if="activeName==='CarView'" />
<Record v-if="activeName==='Record'" />
</div>
</template>
<script>
import IndexList from './components/List'
import CarView from "./components/car_view";
import Record from "./components/record";
export default {
components: {
CarView: CarView,
IndexList: IndexList,
Record: Record
},
data() {
return {
activeName: 'List'
}
},
watch: {
activeName(newValue, oldValue) {
if (newValue == 'List') {
this.$refs.list.getQuery()
}
}
}
}
</script>
<style scoped>
</style>

View File

@ -0,0 +1,120 @@
<template>
<div class="app-container">
<el-form label-width="90px">
<el-row>
<el-col :span="4">
<el-form-item label="分公司名称">
<el-input v-model="searchForm.CORP_NAME" placeholder="分公司名称"/>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label-width="10px">
<el-button v-waves class="filter-item" type="primary" icon="el-icon-search" @click="getQuery">
搜索
</el-button>
<el-button v-waves class="filter-item" type="success" icon="el-icon-refresh" @click="goKeyReset">
重置
</el-button>
</el-form-item>
</el-col>
</el-row>
</el-form>
<el-table
v-loading="listLoading"
ref="multipleTable"
:data="varList"
:row-key="getRowKey"
:header-cell-style="{
'font-weight': 'bold',
'color': '#000'
}"
tooltip-effect="dark"
border
fit
highlight-current-row
>
<el-table-column type="index" label="序号" width="50" align="center" />
<el-table-column prop="CORP_NAME" label="分公司名称" />
<el-table-column prop="SOCIAL_CODE" label="统一社会信用代码" />
<el-table-column prop="COMPANY_AREA" label="所属地区" />
<el-table-column prop="STATE" label="企业状态" />
<el-table-column prop="USER_COUNT" label="企业人数" />
<el-table-column label="操作" align="left" width="110">
<template slot-scope="{row}">
<el-button type="success" icon="el-icon-view" size="mini" @click="handleEdit(row)"></el-button>
</template>
</el-table-column>
</el-table>
<div class="page-btn-group">
<div>
</div>
<pagination :total="total" :page.sync="listQuery.page" :limit.sync="listQuery.limit" @pagination="getList" />
</div>
</div>
</template>
<script>
import SelectTree from '@/components/SelectTree'
import Pagination from '@/components/Pagination' // el-pagination
import { requestFN } from '@/utils/request'
import waves from '@/directive/waves' // waves directive
export default {
components: {Pagination, SelectTree },
directives: { waves },
data() {
return {
listLoading: true,
listQuery: {
page: 1,
limit: 20
},
searchForm: {
CORP_NAME: ''
},
total: 0,
varList: []
}
},
created() {
this.getList()
},
methods: {
getRowKey(row) {
return row.CORPINFO_ID
},
//
getQuery() {
this.getList()
},
//
getList() {
this.listLoading = true
requestFN(
'/mkmjManagement/getXgfCorpList?showCount=' + this.listQuery.limit + '&currentPage=' + this.listQuery.page,
{
...this.searchForm,
TYPE: 1
}
).then((data) => {
this.listLoading = false
this.varList = data.corpList
this.total = data.page.totalResult
}).catch((e) => {
this.listLoading = false
})
},
//
handleEdit(row) {
console.log('--------------------------')
this.$parent.activeName = 'CarView'
this.$parent.CORPINFO_ID = row.CORPINFO_ID
},
goKeyReset() {
this.searchForm = {
CORP_NAME: ''
}
this.getList()
}
}
}
</script>

View File

@ -0,0 +1,922 @@
<template>
<div class="icons-container">
<el-container>
<el-aside width="200px" style="background-color:#fff">
<div class="filter-btn-group">
<el-tree
v-loading="treeLoading"
ref="tree"
:data="treeData"
:props="defaultProps"
:filter-node-method="filterNode"
class="filter-tree"
@node-click="handleNodeClick"/>
</div>
</el-aside>
<el-main>
<el-form label-width="60px">
<el-row>
<el-col :span="2">
<el-form-item label-width="0px">
<el-button v-show="DEPARTMENT_ID != '0'" icon="el-icon-arrow-left" @click="goReturn()"></el-button>
</el-form-item>
</el-col>
<el-col :span="3">
<el-form-item label="车牌号">
<el-input v-model="searchForm.LICENCE_NO" placeholder="请输入车牌号..." />
</el-form-item>
</el-col>
<el-col :span="4" class="m-l-10">
<el-form-item label="车辆类型" prop="VEHICLE_TYPE" label-width="100px">
<SelectTree
ref="selectTree_Search1"
:clearable="false"
:options="vehicleTypeList"
:props="vehicleDefaultProps"
v-model="searchForm.VEHICLE_TYPE"
placeholder="请选择车辆类型"/>
</el-form-item>
</el-col>
<el-col :span="4" class="m-l-10">
<el-form-item label="车辆所属部门" prop="VEHICLE_DEPARTMENT_ID" label-width="100px">
<SelectTree
ref="selectTree_Search2"
:clearable="false"
:options="treeData"
:props="defaultProps"
v-model="searchForm.VEHICLE_DEPARTMENT_ID"
placeholder="请选择车辆所属部门"/>
</el-form-item>
</el-col>
<el-col :span="4" class="m-l-10">
<el-form-item label="车辆责任人" label-width="100px">
<el-input v-model="searchForm.USER_NAME" placeholder="请输入车辆责任人..." />
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label-width="10px">
<el-button v-waves type="primary" icon="el-icon-search" @click="getQuery">
搜索
</el-button>
<el-button v-waves type="success" icon="el-icon-refresh" @click="goKeyReset">
重置
</el-button>
</el-form-item>
</el-col>
</el-row>
</el-form>
<el-table
v-loading="listLoading"
ref="vehicleMessageTable"
:data="varList"
:row-key="getRowKey"
:header-cell-style="{
'font-weight': 'bold',
'color': '#000'
}"
tooltip-effect="dark"
border
fit
highlight-current-row
>
<el-table-column
:reserve-selection="true"
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 label="车牌类型" align="center">
<template slot-scope="{row}">
{{ translateLicenceType(row.LICENCE_TYPE) }}
</template>
</el-table-column>
<el-table-column label="车辆类型" align="center">
<template slot-scope="{row}">
{{ translateVehicleType(row.VEHICLE_TYPE) }}
</template>
</el-table-column>
<el-table-column prop="DEPARTMENT_NAME" label="车辆所属部门" align="center" />
<el-table-column prop="USER_NAME" label="车辆责任人" align="center"/>
<el-table-column label="操作" align="center" width="480">
<template slot-scope="{row}">
<el-button type="warning" icon="el-icon-more" size="mini" @click="vehicleInOutRecordBtn(row.LICENCE_NO)"></el-button>
<el-button icon="el-icon-view" size="mini" @click="showDetail(row.VEHICLE_ID)"></el-button>
<el-button type="primary" icon="el-icon-edit" size="mini" @click="openEditDialogEditBtn(row.VEHICLE_ID)"></el-button>
<el-button type="danger" icon="el-icon-delete" size="mini" @click="deleteSingleDataDeleteBtn(row.VEHICLE_ID, row.USER_ID, row.EMPLOYEE_VEHICLE_USER_ID)">删除</el-button>
</template>
</el-table-column>
</el-table>
<div class="page-btn-group">
<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" />
</div>
<!-- 添加车辆信息 -->
<el-dialog :visible.sync="addDialogVisible" title="添加车辆信息" width="600px">
<el-form v-if="addDialogVisible" ref="addForm" :model="addForm" label-width="170px" style="padding:0 20px; width: 500px;">
<el-form-item :rules="[{required: true}]" label="车牌号">
<el-input v-model="addForm.LICENCE_NO" :autosize="{ minRows: 1}" type="text" maxlength="300" placeholder="这里输入车牌号..." @blur="goCheckLicenceNoAdd()"/>
</el-form-item>
<!-- 白牌蓝牌黄牌绿牌黑牌 下拉框-->
<el-form-item :rules="[{required: true}]" label="车牌类型" prop="LICENCE_TYPE">
<SelectTree
ref="selectTree_add2"
:clearable="false"
:options="licenceTypeList"
:props="vehicleDefaultProps"
v-model="addForm.LICENCE_TYPE"
placeholder="请选择车牌类型"
style="width: 300px"/>
</el-form-item>
<!-- 货车轿车大巴客车 下拉框-->
<el-form-item :rules="[{required: true}]" label="车辆类型" prop="VEHICLE_TYPE">
<SelectTree
ref="selectTree_add3"
:clearable="false"
:options="vehicleTypeList"
:props="vehicleDefaultProps"
v-model="addForm.VEHICLE_TYPE"
placeholder="请选择车辆类型"
style="width: 300px"/>
</el-form-item>
<!-- 员工车辆单位车辆外部车辆 下拉框 -->
<el-form-item :rules="[{required: true}]" label="车辆所属类型" prop="VEHICLE_BELONG_TYPE">
<SelectTree
ref="selectTree_add4"
:clearable="false"
:options="vehicleBelongTypeList"
:props="vehicleDefaultProps"
v-model="addForm.VEHICLE_BELONG_TYPE"
placeholder="请选择车辆所属类型"
style="width: 300px"/>
</el-form-item>
<!-- 车辆所属部门下拉框 -->
<el-form-item :rules="[{required: true}]" label="车辆所属部门" prop="VEHICLE_DEPARTMENT_ID">
<SelectTree
ref="selectTree_add1"
:clearable="false"
:options="treeData"
:props="defaultProps"
v-model="addForm.VEHICLE_DEPARTMENT_ID"
placeholder="请选择车辆所属部门"
style="width: 300px"
@change="addUserList"/>
</el-form-item>
<!-- 车辆责任人下拉框 -->
<el-form-item :rules="[{required: true}]" label="车辆责任人" prop="USER_ID">
<el-select :value="addForm.USER_ID" clearable placeholder="请选择" @visible-change="$forceUpdate()" @change="userIdAddChange">
<el-option v-for="item in userList" :key="item.USER_ID" :label="item.NAME" :value="item.USER_ID"/>
</el-select>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click="addDialogCancelBtn"> </el-button>
<el-button type="primary" @click="addDialogConfirmBtn"> </el-button>
</div>
</el-dialog>
<el-dialog :visible.sync="editDialogVisible" title="修改" width="600px">
<el-form ref="editForm" :model="editForm" label-width="170px" style="width: 500px;">
<el-form-item :rules="[{required: true}]" label="车牌号">
<el-input v-model="editForm.LICENCE_NO" :autosize="{ minRows: 1}" type="text" maxlength="300" placeholder="这里输入车牌号..." @blur="goCheckLicenceNoUpdate()"/>
</el-form-item>
<el-form-item label="车牌类型" prop="LICENCE_TYPE">
<el-select :value="editForm.LICENCE_TYPE" clearable placeholder="请选择" @visible-change="$forceUpdate()">
<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="车辆类型" prop="VEHICLE_TYPE">
<el-select :value="editForm.VEHICLE_TYPE" clearable placeholder="请选择" @visible-change="$forceUpdate()">
<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="车辆所属类型" prop="VEHICLE_BELONG_TYPE">
<el-select :value="editForm.VEHICLE_BELONG_TYPE" clearable placeholder="请选择" @visible-change="$forceUpdate()">
<el-option v-for="item in vehicleBelongTypeList" :key="item.ID" :label="item.NAME" :value="item.ID" />
</el-select>
</el-form-item>
<!-- 车辆所属部门下拉框 -->
<el-form-item label="车辆所属部门" prop="VEHICLE_DEPARTMENT_ID">
<SelectTree
ref="selectTree_edit"
:clearable="true"
:options="treeData"
:props="defaultProps"
v-model="editForm.VEHICLE_DEPARTMENT_ID"
placeholder="请选择车辆所属部门"
style="width: 300px"
@change="updateUserList"/>
</el-form-item>
<!-- 车辆责任人下拉框 -->
<el-form-item label="车辆责任人" prop="USER_ID">
<el-select :value="editForm.USER_ID" clearable placeholder="请选择" @visible-change="$forceUpdate()" @change="userIdUpdateChange">
<el-option v-for="item in userList" :key="item.USER_ID" :label="item.NAME" :value="item.USER_ID" />
</el-select>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click="editDialogCancelBtn"> </el-button>
<el-button type="primary" @click="editDialogConfirmBtn"> </el-button>
</div>
</el-dialog>
<el-dialog :visible.sync="detailDialogVisible" title="详情" width="600px">
<el-form ref="form" :model="detailForm" label-width="170px" style="width: 500px;">
<el-form-item label="车牌号">
<el-input v-model="detailForm.LICENCE_NO" :disabled="true" :autosize="{ minRows: 1}" type="text" maxlength="300"/>
</el-form-item>
<el-form-item label="车牌类型">
<el-input v-model="detailForm.LICENCE_TYPE" :disabled="true" :autosize="{ minRows: 1}" type="text" maxlength="300"/>
</el-form-item>
<el-form-item label="车辆类型">
<el-input v-model="detailForm.VEHICLE_TYPE" :disabled="true" :autosize="{ minRows: 1}" type="text" maxlength="300"/>
</el-form-item>
<el-form-item label="车辆所属类型">
<el-input v-model="detailForm.VEHICLE_BELONG_TYPE" :disabled="true" :autosize="{ minRows: 1}" type="text" maxlength="300"/>
</el-form-item>
<el-form-item label="车辆所属部门">
<el-input v-model="detailForm.VEHICLE_DEPARTMENT_ID" :disabled="true" :autosize="{ minRows: 1}" type="text" maxlength="300"/>
</el-form-item>
<el-form-item label="车辆责任人">
<el-input v-model="detailForm.USER_ID" :disabled="true" :autosize="{ minRows: 1}" type="text" maxlength="300"/>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click="detailDialogReturnBtn"></el-button>
</div>
</el-dialog>
</el-main>
</el-container>
<div class="heightt"/>
</div>
</template>
<script>
import SelectTree from '@/components/SelectTree'
import Pagination from '@/components/Pagination' // el-pagination
import { requestFN } from '@/utils/request'
import waves from '@/directive/waves' // waves directive
export default {
components: { Pagination, SelectTree },
directives: { waves },
data() {
return {
config: config,
treeLoading: false,
listLoading: true,
add: true,
del: true,
edit: true,
readonly: true,
listQuery: {
page: 1,
limit: 20
},
total: 0,
defaultProps: {
value: 'id',
children: 'nodes',
label: 'name'
},
treeData: [],
//
loginUserCorpInfoId: '', //
CORPINFO_ID: '', // id
DEPARTMENT_ID: '', // ID
KEYWORDS: '',
loginUserId: '', // ID
//
licenceTypeList: [
// { ID: '', NAME: '' },
{ ID: '0', NAME: '白牌' },
{ ID: '1', NAME: '蓝牌' },
{ ID: '2', NAME: '黄牌' },
{ ID: '3', NAME: '绿牌' },
{ ID: '4', NAME: '黑牌' }
],
//
vehicleTypeList: [
// { ID: '', NAME: '' },
{ ID: '0', NAME: '货车' },
{ ID: '1', NAME: '轿车' },
{ ID: '2', NAME: '大巴客车' }
],
//
vehicleBelongTypeList: [
// { ID: '', NAME: '' },
{ ID: '0', NAME: '员工车辆' },
{ ID: '1', NAME: '单位车辆' }
// { ID: '2', NAME: '' }
],
//
vehicleDefaultProps: {
value: 'ID',
label: 'NAME',
children: 'nodes'
},
departmentTreeData: [],
// inspectionTypeList: [], //
//
varList: [],
//
searchForm: {
DEPARTMENT_ID: '',
VEHICLE_ID: '', // ID()
LICENCE_NO: '', //
VEHICLE_TYPE: '', //
VEHICLE_DEPARTMENT_ID: '' // ID
},
//
addForm: {
LICENCE_NO: '', //
VEHICLE_DEPARTMENT_ID: '', // id
VEHICLE_DEPARTMENT_NAME: '', //
USER_ID: '', //
LICENCE_TYPE: '', //
VEHICLE_TYPE: '', //
VEHICLE_BELONG_TYPE: '', //
EMPLOYEE_VEHICLE_USER_ID: '', // id
EMPLOYEE_VEHICLE_USER_NAME: '', //
DEPARTMENT_NAME: '', //
DEPARTMENT_ID: '',
USER_NAME: '' //
},
//
editForm: {
VEHICLE_ID: '', // id()
LICENCE_NO: '', //
OLD_LICENCE_NO: '', //
USER_ID: '', //
USER_NAME: '', //
LICENCE_TYPE: '', //
VEHICLE_TYPE: '', //
VEHICLE_BELONG_TYPE: '', //
DEPARTMENT_NAME: '', //
EMPLOYEE_VEHICLE_USER_ID: '', //
EMPLOYEE_VEHICLE_USER_NAME: '', //
VEHICLE_DEPARTMENT_ID: '', //
VEHICLE_DEPARTMENT_NAME: '' //
},
//
detailForm: {
LICENCE_NO: '', //
VEHICLE_BELONG_TYPE: '', //
VEHICLE_DEPARTMENT_ID: '', //
USER_ID: '', // id
EMPLOYEE_VEHICLE_USER_ID: '', //
LICENCE_TYPE: null, //
VEHICLE_TYPE: null //
},
addDialogVisible: false, //
editDialogVisible: false, //
detailDialogVisible: false, //
userList: [], //
selectTree_edit: []
}
},
created() {
//
this.getLoginUserInfo() //
this.CORPINFO_ID = this.$parent.CORPINFO_ID
this.updateBranchName(this.CORPINFO_ID)
this.getPageList() //
},
methods: {
//
filterNode(value, data) {
if (!value) return true
return data.name.indexOf(value) !== -1
},
handleNodeClick(node, data, value) {
this.searchForm.VEHICLE_DEPARTMENT_ID = node.id
this.getPageList(node.id)
},
updateBranchName(ID) {
requestFN(
'/department/listTreeCorpInfo',
// '/department/listTree',
{
CORPINFO_ID: ID
}
).then((data) => {
this.treeData = JSON.parse(data.zTreeNodes)
}).catch((e) => {
})
},
goReturn() {
this.$parent.activeName = 'List'
},
//
getRowKey(row) {
return row.VEHICLE_ID
},
translateLicenceType(id) {
for (var i = 0; i < this.licenceTypeList.length; i++) {
if (this.licenceTypeList[i].ID == id) return this.licenceTypeList[i].NAME
}
},
translateVehicleType(id) {
for (var i = 0; i < this.vehicleTypeList.length; i++) {
if (this.vehicleTypeList[i].ID == id) return this.vehicleTypeList[i].NAME
}
},
translateVehicleBelongType(id) {
for (var i = 0; i < this.vehicleBelongTypeList.length; i++) {
if (this.vehicleBelongTypeList[i].ID == id) return this.vehicleBelongTypeList[i].NAME
}
},
getLoginUserInfo() { //
return new Promise((resolve) => {
requestFN(
'/user/goEditMyInfo',
{}
).then((data) => {
console.info(data.pd)
this.loginUserId = data.pd.USER_ID
// this.loginUserName = data.pd.NAME
this.loginUserCorpInfoId = data.pd.CORPINFO_ID
// this.loginUserDepartmentName = data.pd.DEPARTMENT_NAME
resolve('ok')
}).catch((e) => {
})
})
},
//
getQuery() {
this.$refs.vehicleMessageTable.clearSelection() //
this.getPageList()
},
goKeyReset() {
this.resetSearch()
this.getQuery()
},
//
getPageList() {
console.log('22222222222222222222222222222')
this.listLoading = true
requestFN(
'vehiclemessage/getPageList?showCount=' + this.listQuery.limit + '&currentPage=' + this.listQuery.page,
{
...this.searchForm,
'CORPINFO_ID': this.CORPINFO_ID,
CAR_FROM: 2
}
).then((data) => {
this.listLoading = false
this.varList = data.varList
this.total = data.page.totalResult
// this.hasButton()
this.pd = data.pd
}).catch((e) => {
this.listLoading = false
})
},
//
openAddDialogAddBtn() {
this.addDialogVisible = true
this.reSetAddDialog()
this.ISCHECK = false
},
//
addDialogCancelBtn() {
this.addDialogVisible = false
},
//
detailDialogReturnBtn() {
this.detailDialogVisible = false
},
//
reSetAddDialog() {
this.addForm.LICENCE_NO = ''
this.addForm.USER_ID = ''
this.addForm.VEHICLE_DEPARTMENT_ID = ''
this.addForm.LICENCE_TYPE = ''
this.addForm.VEHICLE_TYPE = ''
this.addForm.VEHICLE_BELONG_TYPE = ''
this.addForm.EMPLOYEE_VEHICLE_USER_ID = ''
this.userList = []
this.addForm.DEPARTMENT_NAME = ''
this.addForm.DEPARTMENT_ID = ''
},
//
addDialogConfirmBtn() {
if (this.addForm.LICENCE_NO !== null && this.addForm.LICENCE_NO === '') {
this.$message({
message: '车牌号不能为空',
type: 'error'
})
return false
}
if (this.addForm.LICENCE_TYPE !== null && this.addForm.LICENCE_TYPE === '') {
this.$message({
message: '请选择车牌类型',
type: 'error'
})
return false
}
if (this.addForm.VEHICLE_TYPE !== null && this.addForm.VEHICLE_TYPE === '') {
this.$message({
message: '请选择车辆类型',
type: 'error'
})
return false
}
if (this.addForm.VEHICLE_BELONG_TYPE !== null && this.addForm.VEHICLE_BELONG_TYPE === '') {
this.$message({
message: '请选择车辆所属类型',
type: 'error'
})
return false
}
if (this.addForm.VEHICLE_DEPARTMENT_ID !== null && this.addForm.VEHICLE_DEPARTMENT_ID === '') {
this.$message({
message: '请选择车辆所属部门',
type: 'error'
})
return false
}
if (this.addForm.USER_ID !== null && this.addForm.USER_ID === '') {
this.$message({
message: '请选择车辆责任人',
type: 'error'
})
return false
}
if (this.addForm.VEHICLE_BELONG_TYPE === '0') {
this.addForm.EMPLOYEE_VEHICLE_USER_ID = this.addForm.USER_ID // id
this.addForm.EMPLOYEE_VEHICLE_USER_NAME = this.addForm.USER_NAME //
} else {
this.addForm.EMPLOYEE_VEHICLE_USER_ID = '' // id
this.addForm.EMPLOYEE_VEHICLE_USER_NAME = '' //
}
this.addRequest()
},
addRequest() {
requestFN(
'vehiclemessage/addVehicleMessage',
{
...this.addForm,
'CORPINFO_ID': this.CORPINFO_ID
}
).then((data) => {
if (data.result === 'fail') {
this.$message({
message: data.msg,
type: 'error'
})
} else {
this.$message.success('车辆信息添加成功')
this.getPageList() //
this.addDialogVisible = false
}
}).catch((e) => {
})
},
//
openEditDialogEditBtn(VEHICLE_ID) {
this.editForm = {
VEHICLE_ID: VEHICLE_ID, // id()
LICENCE_NO: '', //
OLD_LICENCE_NO: '', //
USER_ID: '', //
EMPLOYEE_VEHICLE_USER_ID: '', //
VEHICLE_DEPARTMENT_ID: '' //
}
this.userList = []
this.editDialogVisible = true
//
requestFN(
'vehiclemessage/updateShowVehicleMessage',
{
VEHICLE_ID: VEHICLE_ID
}
).then((data) => {
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.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: '数据回显失败',
type: 'error'
})
}
}).catch((e) => {
})
},
editDialogCancelBtn() {
this.editDialogVisible = false
},
// ()
showDetail(VEHICLE_ID) {
this.detailForm = {
LICENCE_NO: '', //
VEHICLE_DEPARTMENT_ID: '', //
VEHICLE_BELONG_TYPE: '', //
USER_ID: '', //
EMPLOYEE_VEHICLE_USER_ID: '', //
LICENCE_TYPE: null, //
VEHICLE_TYPE: null //
}
this.detailDialogVisible = true
//
requestFN(
'vehiclemessage/detailVehicleMessage',
{
VEHICLE_ID: VEHICLE_ID
}
).then((data) => {
if (data.result === 'success') {
this.detailForm.LICENCE_NO = data.pd.LICENCE_NO //
this.detailForm.VEHICLE_DEPARTMENT_ID = data.pd.DEPARTMENT_NAME //
this.detailForm.LICENCE_TYPE = this.translateLicenceType(data.pd.LICENCE_TYPE) //
this.detailForm.VEHICLE_TYPE = this.translateVehicleType(data.pd.VEHICLE_TYPE) //
this.detailForm.VEHICLE_BELONG_TYPE = data.pd.VEHICLE_BELONG_TYPE === undefined ? '' : this.translateVehicleBelongType(data.pd.VEHICLE_BELONG_TYPE)
this.detailForm.USER_ID = data.pd.USER_NAME //
} else {
this.$message({
message: '数据回显失败',
type: 'error'
})
}
}).catch((e) => {
})
},
//
editDialogConfirmBtn() {
this.$refs.editForm.validate(valid => {
if (valid) {
const loading = this.$loading({
lock: true,
text: '数据保存中...',
spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.7)'
})
this.listLoading = true
requestFN(
'vehiclemessage/updateVehicleMessage',
{
...this.editForm
}
).then((data) => {
if (data.result === 'success') {
this.$message({
message: '修改成功',
type: 'success'
})
} else {
this.$message({
message: data.msg,
type: 'success'
})
}
this.listLoading = false
loading.close()
this.editDialogVisible = false
this.getQuery()
}).catch((e) => {
this.listLoading = false
loading.close()
})
} else {
return false
}
})
},
//
deleteSingleDataDeleteBtn(id, USER_ID, EMPLOYEE_VEHICLE_USER_ID) {
this.$confirm('确定要删除吗?', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.listLoading = true
requestFN(
'vehiclemessage/deleteVehicleMessage',
{
VEHICLE_ID: id,
USER_ID: USER_ID,
EMPLOYEE_VEHICLE_USER_ID: EMPLOYEE_VEHICLE_USER_ID
}
).then((data) => {
if (data.result === 'success') {
this.$message({
message: '删除成功',
type: 'success'
})
} else {
this.$message({
message: data.msg,
type: 'success'
})
}
this.listLoading = false
this.varList = []
this.listQuery.page = 1
this.getPageList()
}).catch((e) => {
this.listLoading = false
})
}).catch(() => {
})
},
resetSearch() {
this.searchForm = {
LICENCE_NO: '' //
}
this.$refs.selectTree_Search1.clearHandle() //
this.$refs.selectTree_Search2.clearHandle()
},
addUserList(DEPARTMENT_ID) {
// this.getUserList(DEPARTMENT_ID)
this.customGetUserList(DEPARTMENT_ID)
this.handleDepartmentAddChange(DEPARTMENT_ID)
},
updateUserList(DEPARTMENT_ID) {
this.getUserList(DEPARTMENT_ID)
this.handleDepartmentUpdateChange(DEPARTMENT_ID)
},
getUserList(DEPARTMENT_ID) { //
this.userList = []
console.info(DEPARTMENT_ID)
requestFN(
'/user/listAll',
{
DEPARTMENT_ID: DEPARTMENT_ID,
tm: new Date().getTime()
}
).then((data) => {
console.info(data)
this.userList = data.userList
}).catch((e) => {
// this.listLoading = false
})
},
customGetUserList(DEPARTMENT_ID) { //
this.userList = []
requestFN(
'vehiclemessage/selectTreeByDepartmentId',
{
DEPARTMENT_ID: DEPARTMENT_ID,
tm: new Date().getTime()
}
).then((data) => {
this.userList = data.list
}).catch((e) => {
// this.listLoading = false
})
},
//
userIdAddChange(event) {
this.addForm.USER_ID = event
this.handleUserAddChange(event)
},
//
employeeUserIdAddChange(event) {
this.addForm.EMPLOYEE_VEHICLE_USER_ID = event
this.handleEmployeeUserAddChange(event)
},
//
userIdUpdateChange(event) {
this.editForm.USER_ID = event
this.handleUserUpdateChange(event)
},
handleDepartmentAddChange(value) {
this.addForm.VEHICLE_DEPARTMENT_NAME = this.findLabelByValue(this.treeData, value)
},
handleDepartmentUpdateChange(value) {
this.editForm.VEHICLE_DEPARTMENT_NAME = this.findLabelByValue(this.treeData, value)
},
findLabelByValue(tree, value) {
for (const node of tree) {
if (node.id === value) {
return node.name
}
if (node.nodes && node.nodes.length > 0) {
const result = this.findLabelByValue(node.nodes, value)
if (result) {
return result
}
}
}
return ''
},
handleUserAddChange(value) {
const selectedUser = this.userList.find(user => user.USER_ID === value)
if (selectedUser) {
this.addForm.USER_NAME = selectedUser.NAME
} else {
this.addForm.USER_NAME = ''
}
},
handleEmployeeUserAddChange(value) {
const selectedUser = this.userList.find(user => user.USER_ID === value)
if (selectedUser) {
this.addForm.EMPLOYEE_VEHICLE_USER_NAME = selectedUser.NAME
} else {
this.addForm.EMPLOYEE_VEHICLE_USER_NAME = ''
}
},
handleUserUpdateChange(value) {
const selectedUser = this.userList.find(user => user.USER_ID === value)
if (selectedUser) {
this.editForm.USER_NAME = selectedUser.NAME
} else {
this.editForm.USER_NAME = ''
}
},
goCheckLicenceNoAdd() {
if (this.addForm.LICENCE_NO) {
const regex = /^([京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领A-Z]{1}[A-Z]{1}[A-Z0-9]{4}[A-Z0-9挂学警港澳]{1})$/
const result = regex.test(this.addForm.LICENCE_NO)
if (result) {
console.log('格式校验通过')
requestFN(
'vehiclemessage/goCheckLicenceNo',
{
'LICENCE_NO': this.addForm.LICENCE_NO
}
).then((data) => {
if (data.result === 'success') {
this.$message.success('验证通过')
this.ISCHECK = true
} else {
this.$message.error('车牌号已存在,请重新输入')
this.ISCHECK = false
}
}).catch((e) => {
console.info(e)
this.listLoading = false
this.ISCHECK = false
})
} else {
this.$message.success('车牌号不规范')
this.ISCHECK = false
}
}
},
goCheckLicenceNoUpdate() {
if (this.editForm.LICENCE_NO) {
if (this.editForm.LICENCE_NO !== this.editForm.OLD_LICENCE_NO) {
const regex = /^([京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领A-Z]{1}[A-Z]{1}[A-Z0-9]{4}[A-Z0-9挂学警港澳]{1})$/
const result = regex.test(this.editForm.LICENCE_NO)
if (result) {
console.log('格式校验通过')
requestFN(
'vehiclemessage/goCheckLicenceNo',
{
'LICENCE_NO': this.editForm.LICENCE_NO
}
).then((data) => {
if (data.result === 'success') {
this.$message.success('验证通过')
this.ISCHECK = true
} else {
this.$message.error('车牌号已存在,请重新输入')
this.ISCHECK = false
}
}).catch((e) => {
console.info(e)
this.listLoading = false
this.ISCHECK = false
})
} else {
this.$message.success('车牌号不规范')
this.ISCHECK = false
}
}
}
},
//
vehicleInOutRecordBtn(LICENCE_NO) {
this.$parent.activeName = 'Record'
this.$parent.LICENCE_NO = LICENCE_NO
}
}
}
</script>
<style>
.m-l-10 {
margin-left: 10px;
}
.q-f-w-v-200{
width: 200px;
}
</style>

View File

@ -0,0 +1,205 @@
<template>
<div class="app-container">
<el-form label-width="100px">
<el-row>
<el-col :span="2">
<el-form-item label-width="0px">
<el-button icon="el-icon-arrow-left" @click="goReturn()"></el-button>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="口门名称:" label-width="110px">
<el-input v-model="searchForm.KEYWORDS" style="width:206px" placeholder="请输入内容"/>
</el-form-item>
</el-col>
<el-col :span="5">
<el-form-item label="口门状态" label-width="110px">
<el-select v-model="searchForm.GATE_STATUS" placeholder="请选择">
<el-option v-for="(item,index) in StatusList" :key="index" :label="item.label" :value="item.value"/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="5">
<el-form-item label="所属区域" label-width="110px">
<el-select v-model="searchForm.REGION_BIANMA" placeholder="请选择">
<el-option v-for="(item,index) in RegionList" :key="index" :label="item.NAME" :value="item.BIANMA"/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label-width="10px">
<el-button v-waves type="primary" icon="el-icon-search" @click="getQuery">
搜索
</el-button>
<el-button v-waves type="success" icon="el-icon-refresh" @click="goKeyReset">
重置
</el-button>
</el-form-item>
</el-col>
</el-row>
</el-form>
<el-table
v-loading="listLoading"
ref="queryTable"
:data="varList"
:cell-style="getPlateColor"
:row-key="getRowKey"
:header-cell-style="{
'font-weight': 'bold',
'color': '#000'
}"
tooltip-effect="dark"
border
fit
highlight-current-row
>
<el-table-column
:reserve-selection="true"
type="selection"
width="55"
align="center"/>
<el-table-column type="index" label="序号" width="50" align="center" />
<el-table-column prop="REGION_NAME" label="区域" width="100px" align="center"/>
<el-table-column prop="AREA_NAME" label="口门名称" width="100px" align="center"/>
<el-table-column prop="AREA_LEVEL_NAME" label="口门级别" width="100px" align="center"/>
<el-table-column prop="vehicle_plate_number" label="车牌号" width="100px" align="center"/>
<!-- <el-table-column prop="vehicle_category_name" label="车辆类型" width="150px" align="center"/>-->
<el-table-column prop="VEHICLE_TYPE_NAME" label="车辆类型" width="150px" align="center"/>
<!-- <el-table-column prop="vehicle_filing_method" label="车辆所属类型" width="100px" align="center"/>-->
<el-table-column prop="VEHICLE_BELONG_TYPE_NAME" label="车辆所属类型" width="100px" align="center"/>
<el-table-column prop="vehicle_arrival_status" label="车辆在港状态" width="100px" align="center"/>
<el-table-column prop="VEHICLE_DEPARTMENT_NAME" label="车辆所属部门" align="center"/>
<!-- <el-table-column prop="vehicle_filing_info_recording_org" label="车辆所属部门" align="center"/>-->
<el-table-column prop="USER_NAME" label="车辆责任人" width="150ox" align="center"/>
<!-- <el-table-column prop="vehicle_contact_name" label="车辆联系人" width="150ox" align="center"/>-->
<!-- <el-table-column prop="vehicle_contact_phone_number" label="联系人手机号" width="120px" align="center"/>-->
<el-table-column prop="vehicle_arrival_barrier" label="入港闸口" align="center"/>
<el-table-column prop="vehicle_arrival_time" label="入港时间" align="center"/>
<el-table-column prop="vehicle_departure_barrier" label="离港闸口" align="center"/>
<el-table-column prop="vehicle_departure_time" label="离港时间" align="center"/>
</el-table>
<div class="page-btn-group">
<!-- <div>-->
<!-- <el-button plain type="info" @click="returnBtn"></el-button>-->
<!-- </div>-->
<pagination :total="total" :page.sync="listQuery.page" :limit.sync="listQuery.limit" @pagination="getPageList" />
</div>
</div>
</template>
<script>
import Pagination from '@/components/Pagination' // el-pagination
import { requestFN } from '@/utils/request'
import waves from '@/directive/waves' // waves directive
import safetyFlowChart from '../../../hiddenUtil/safetyFlowChart'
export default {
components: { Pagination, safetyFlowChart },
directives: { waves },
data() {
return {
listLoading: true,
add: false,
del: false,
edit: false,
listQuery: {
page: 1,
limit: 20
},
total: 0,
KEYWORDS: '',
//
varList: [],
//
searchForm: {
LICENCE_NO: '', //
KEYWORDS: '',
GATE_STATUS: '',
REGION_BIANMA: ''
},
RegionList: [],
StatusList: [
{ value: '0', label: '停用' },
{ value: '1', label: '正常' },
{ value: '2', label: '暂时关闭' }
]
}
},
created() {
this.getDict()
this.searchForm.LICENCE_NO = this.$parent.LICENCE_NO
this.getPageList() //
},
methods: {
getRowKey(row) {
return row.id_sequence
},
//
getQuery() {
this.$refs.queryTable.clearSelection() //
this.getPageList()
},
resetSearch() {
this.searchForm.KEYWORDS = ''
this.searchForm.GATE_STATUS = ''
this.searchForm.REGION_BIANMA = ''
},
goKeyReset() {
this.resetSearch()
this.getQuery()
},
//
getPageList() {
this.listLoading = true
requestFN(
'/vehiclemessage/getInOutPageList?showCount=' + this.listQuery.limit + '&currentPage=' + this.listQuery.page,
{
...this.searchForm
}
).then((data) => {
this.listLoading = false
this.varList = data.varList
this.total = data.page.totalResult
// this.hasButton()
}).catch((e) => {
this.listLoading = false
})
},
//
returnBtn() {
this.$parent.activeName = 'List'
},
getPlateColor(row, column, rowIndex, columnIndex) {
if (row.column.label === '车牌号') {
const colorMap = {
蓝牌: 'background-color: blue;color: white',
黄牌: 'background-color: yellow;color: black',
新能源: 'background-color: green;color: white',
白牌: 'background-color: gray;color: black',
黑牌: 'background-color: black;color: white',
其他: 'background-color: white;color: black',
default: 'background-color: white;color: black'
}
// const plateColor = row.row.vehicle_plate_color || 'default'
const plateColor = row.row.LICENCE_TYPE_NAME || 'default'
const backgroundColorAndColor = colorMap[plateColor] || colorMap.default
return backgroundColorAndColor
}
},
goReturn() {
this.$parent.activeName = 'CarView'
},
getDict() {
requestFN(
'dictionaries/getLevels',
{
DICTIONARIES_ID: '1c73fa2717f2835165104aee234caefe'
}
).then((data) => {
this.RegionList = data.list
})
.catch((e) => {
this.listLoading = false
})
},
}
}
</script>

View File

@ -0,0 +1,36 @@
<template>
<div>
<IndexList v-show="activeName==='List'" ref="list" />
<CarView v-if="activeName==='CarView'" />
<Record v-if="activeName==='Record'" />
</div>
</template>
<script>
import IndexList from './components/List'
import CarView from "./components/car_view";
import Record from "./components/record";
export default {
components: {
CarView: CarView,
IndexList: IndexList,
Record: Record
},
data() {
return {
activeName: 'List'
}
},
watch: {
activeName(newValue, oldValue) {
if (newValue == 'List') {
this.$refs.list.getQuery()
}
}
}
}
</script>
<style scoped>
</style>

View File

@ -0,0 +1,163 @@
<template>
<div class="app-container">
<div class="filter-container">
<el-form ref="form" v-model="form">
<el-col :span="5">
<el-form-item label="人员名称:">
<el-input v-model="form.USER_NAME" placeholder="搜索" class="filter-item" style="width: 200px;"/>
</el-form-item>
</el-col>
<el-col :span="5">
<el-form-item label="企业名称:">
<el-input v-model="form.CORPINFO_NAME" placeholder="搜索" class="filter-item" style="width: 200px;"/>
</el-form-item>
</el-col>
<el-col :span="5">
<el-form-item label="部门名称:">
<el-input v-model="form.DEPARTMENT_NAME" placeholder="搜索" class="filter-item" style="width: 200px;"/>
</el-form-item>
</el-col>
<el-col :span="4">
<el-button v-waves class="filter-item" type="primary" icon="el-icon-search" @click="getQuery"></el-button>
<el-button v-waves class="filter-item" type="success" icon="el-icon-refresh" @click="reset"></el-button>
</el-col>
</el-form>
</div>
<el-table
v-loading="listLoading"
ref="multipleTable"
:data="varList"
:row-key="getRowKey"
:header-cell-style="{
'font-weight': 'bold',
'color': '#000'
}"
tooltip-effect="dark"
border
fit
highlight-current-row
>
<el-table-column
:reserve-selection="true"
type="selection"
width="55"
align="center"/>
<el-table-column type="index" label="序号" width="50" align="center" />
<el-table-column prop="NAME" label="姓名"/>
<el-table-column prop="PHONE" label="手机号"/>
<el-table-column prop="CORPINFO_NAME" label="企业名称"/>
<el-table-column prop="DEPARTMENT_NAME" label="部门名称"/>
<el-table-column label="来源" align="center" width="120">
<template slot-scope="{row}">
{{ getUserType(row.USER_TYPE) }}
</template>
</el-table-column>
<el-table-column label="操作" align="left" width="110">
<template slot-scope="{row}">
<el-button type="primary" icon="el-icon-view" size="mini" @click="getAuditInfo(row)"></el-button>
</template>
</el-table-column>
</el-table>
<div class="page-btn-group">
<div/><div/>
<pagination :total="total" :page.sync="listQuery.page" :limit.sync="listQuery.limit" @pagination="getList" />
</div>
</div>
</template>
<script>
import Pagination from '@/components/Pagination' // el-pagination
import { requestFN } from '@/utils/request'
import waves from '@/directive/waves' // waves directive
export default{
components: { Pagination },
directives: { waves },
data() {
return {
listQuery: {
page: 1,
limit: 10
},
areaList: [], //
placeList: [],
listLoading: true,
varList: [],
typeList: [
{ ID: '0', NAME: '监管端' },
{ ID: '1', NAME: '企业端' },
{ ID: '2', NAME: '相关方端' }
],
total: 0,
title: '',
isShow: false,
form: {
USER_NAME: '',
CORPINFO_NAME: '',
DEPARTMENT_NAME: '',
USER_TYPE: 0
}
}
},
created() {
console.log('=====================')
console.log(this.form)
console.log('=====================')
this.getList()
},
methods: {
getRowKey(row) {
return row.USER_ID
},
getUserType(USER_TYPE) {
if (USER_TYPE === '0') {
return '监管端'
} else if (USER_TYPE === '1') {
return '企业端'
} else if (USER_TYPE === '2') {
return '相关方端'
}
},
//
getQuery() {
this.$refs.multipleTable.clearSelection()
this.getList()
},
//
reset() {
this.form = {
USER_NAME: '',
PHONE: '',
ID_CARD: '',
CORPINFO_NAME: '',
DEPARTMENT_NAME: '',
VISIT_START_TIME: '',
VISIT_END_TIME: '',
DOOR_NAME: ''
}
this.getList()
},
//
getList() {
this.listLoading = true
requestFN(
'/mkmjManagement/personManagementList?showCount=' + this.listQuery.limit + '&currentPage=' + this.listQuery.page, this.form
).then((data) => {
console.log(data)
this.listLoading = false
this.varList = data.personManagementList
this.total = data.page.totalResult
this.hasButton()
}).catch((e) => {
this.listLoading = false
})
},
getAuditInfo(ROW) {
console.log(ROW)
this.$parent.activeName = 'recordsList'
this.$parent.USER_ID = ROW.USER_ID
}
}
}
</script>

View File

@ -0,0 +1,131 @@
<template>
<div class="app-container">
<el-table
v-loading="listLoading"
ref="multipleTable"
:data="varList"
:row-key="getRowKey"
:header-cell-style="{
'font-weight': 'bold',
'color': '#000'
}"
tooltip-effect="dark"
border
fit
highlight-current-row
>
<el-table-column
:reserve-selection="true"
type="selection"
width="55"
align="center"/>
<el-table-column type="index" label="序号" width="50" align="center" />
<el-table-column prop="NAME" label="姓名"/>
<el-table-column prop="PHONE" label="手机号"/>
<el-table-column prop="cardNumber" label="证件号码"/>
<el-table-column prop="channelName" label="口门名称"/>
<el-table-column prop="departmentName" label="部门名称"/>
<el-table-column prop="inOrOut" label="进出状态"/>
<el-table-column prop="personCode" label="人员编号"/>
<el-table-column prop="personType" label="人员身份"/>
<el-table-column prop="personType" label="人员身份"/>
<el-table-column prop="regionName" label="区域名称"/>
<el-table-column prop="reportTime" label="上报时间"/>
</el-table>
<div class="page-btn-group">
<div/><div/>
<pagination :total="total" :page.sync="listQuery.page" :limit.sync="listQuery.limit" @pagination="getList" />
</div>
<div class="ui-foot">
<el-button type="primary" @click="goBack"> </el-button>
</div>
</div>
</template>
<script>
import Pagination from '@/components/Pagination' // el-pagination
import { requestFN } from '@/utils/request'
import waves from '@/directive/waves' // waves directive
export default{
components: { Pagination },
directives: { waves },
data() {
return {
listQuery: {
page: 1,
limit: 10
},
areaList: [], //
placeList: [],
listLoading: true,
varList: [],
typeList: [
{ ID: '0', NAME: '监管端' },
{ ID: '1', NAME: '企业端' },
{ ID: '2', NAME: '相关方端' }
],
total: 0,
title: '',
isShow: false,
USER_ID: this.$parent.USER_ID,
form: {
USER_NAME: '',
CORPINFO_NAME: '',
DEPARTMENT_NAME: '',
USER_TYPE: ''
}
}
},
created() {
this.getList()
},
methods: {
getRowKey(row) {
return row.USER_ID
},
//
getQuery() {
this.$refs.multipleTable.clearSelection()
this.getList()
},
//
reset() {
this.form = {
USER_NAME: '',
PHONE: '',
ID_CARD: '',
CORPINFO_NAME: '',
DEPARTMENT_NAME: '',
VISIT_START_TIME: '',
VISIT_END_TIME: '',
DOOR_NAME: ''
}
this.getList()
},
//
getList() {
this.listLoading = true
requestFN(
'/mkmjManagement/checkEntryAndExitRecords?showCount=' + this.listQuery.limit + '&currentPage=' + this.listQuery.page,
{
USER_ID: this.USER_ID
}
).then((data) => {
console.log(data)
this.listLoading = false
this.varList = data.recordList
this.total = data.page.totalResult
this.hasButton()
}).catch((e) => {
this.listLoading = false
})
},
goBack() {
this.$parent.activeName = 'List'
}
}
}
</script>

View File

@ -0,0 +1,24 @@
<template>
<component :is="activeName" />
</template>
<script>
import List from './components/list.vue'
import recordsList from './components/recordsList.vue'
export default {
components: {
List: List,
recordsList: recordsList
},
data() {
return {
activeName: 'List',
USER_ID: ''
}
}
}
</script>
<style scoped>
</style>

View File

@ -0,0 +1,163 @@
<template>
<div class="app-container">
<div class="filter-container">
<el-form ref="form" v-model="form">
<el-col :span="5">
<el-form-item label="人员名称:">
<el-input v-model="form.USER_NAME" placeholder="搜索" class="filter-item" style="width: 200px;"/>
</el-form-item>
</el-col>
<el-col :span="5">
<el-form-item label="企业名称:">
<el-input v-model="form.CORPINFO_NAME" placeholder="搜索" class="filter-item" style="width: 200px;"/>
</el-form-item>
</el-col>
<el-col :span="5">
<el-form-item label="部门名称:">
<el-input v-model="form.DEPARTMENT_NAME" placeholder="搜索" class="filter-item" style="width: 200px;"/>
</el-form-item>
</el-col>
<el-col :span="4">
<el-button v-waves class="filter-item" type="primary" icon="el-icon-search" @click="getQuery"></el-button>
<el-button v-waves class="filter-item" type="success" icon="el-icon-refresh" @click="reset"></el-button>
</el-col>
</el-form>
</div>
<el-table
v-loading="listLoading"
ref="multipleTable"
:data="varList"
:row-key="getRowKey"
:header-cell-style="{
'font-weight': 'bold',
'color': '#000'
}"
tooltip-effect="dark"
border
fit
highlight-current-row
>
<el-table-column
:reserve-selection="true"
type="selection"
width="55"
align="center"/>
<el-table-column type="index" label="序号" width="50" align="center" />
<el-table-column prop="NAME" label="姓名"/>
<el-table-column prop="PHONE" label="手机号"/>
<el-table-column prop="CORPINFO_NAME" label="企业名称"/>
<el-table-column prop="DEPARTMENT_NAME" label="部门名称"/>
<el-table-column label="来源" align="center" width="120">
<template slot-scope="{row}">
{{ getUserType(row.USER_TYPE) }}
</template>
</el-table-column>
<el-table-column label="操作" align="left" width="110">
<template slot-scope="{row}">
<el-button type="primary" icon="el-icon-view" size="mini" @click="getAuditInfo(row)"></el-button>
</template>
</el-table-column>
</el-table>
<div class="page-btn-group">
<div/><div/>
<pagination :total="total" :page.sync="listQuery.page" :limit.sync="listQuery.limit" @pagination="getList" />
</div>
</div>
</template>
<script>
import Pagination from '@/components/Pagination' // el-pagination
import { requestFN } from '@/utils/request'
import waves from '@/directive/waves' // waves directive
export default{
components: { Pagination },
directives: { waves },
data() {
return {
listQuery: {
page: 1,
limit: 10
},
areaList: [], //
placeList: [],
listLoading: true,
varList: [],
typeList: [
{ ID: '0', NAME: '监管端' },
{ ID: '1', NAME: '企业端' },
{ ID: '2', NAME: '相关方端' }
],
total: 0,
title: '',
isShow: false,
form: {
USER_NAME: '',
CORPINFO_NAME: '',
DEPARTMENT_NAME: '',
USER_TYPE: 1
}
}
},
created() {
console.log('=====================')
console.log(this.form)
console.log('=====================')
this.getList()
},
methods: {
getRowKey(row) {
return row.USER_ID
},
getUserType(USER_TYPE) {
if (USER_TYPE === '0') {
return '监管端'
} else if (USER_TYPE === '1') {
return '企业端'
} else if (USER_TYPE === '2') {
return '相关方端'
}
},
//
getQuery() {
this.$refs.multipleTable.clearSelection()
this.getList()
},
//
reset() {
this.form = {
USER_NAME: '',
PHONE: '',
ID_CARD: '',
CORPINFO_NAME: '',
DEPARTMENT_NAME: '',
VISIT_START_TIME: '',
VISIT_END_TIME: '',
DOOR_NAME: ''
}
this.getList()
},
//
getList() {
this.listLoading = true
requestFN(
'/mkmjManagement/personManagementList?showCount=' + this.listQuery.limit + '&currentPage=' + this.listQuery.page, this.form
).then((data) => {
console.log(data)
this.listLoading = false
this.varList = data.personManagementList
this.total = data.page.totalResult
this.hasButton()
}).catch((e) => {
this.listLoading = false
})
},
getAuditInfo(ROW) {
console.log(ROW)
this.$parent.activeName = 'recordsList'
this.$parent.USER_ID = ROW.USER_ID
}
}
}
</script>

View File

@ -0,0 +1,131 @@
<template>
<div class="app-container">
<el-table
v-loading="listLoading"
ref="multipleTable"
:data="varList"
:row-key="getRowKey"
:header-cell-style="{
'font-weight': 'bold',
'color': '#000'
}"
tooltip-effect="dark"
border
fit
highlight-current-row
>
<el-table-column
:reserve-selection="true"
type="selection"
width="55"
align="center"/>
<el-table-column type="index" label="序号" width="50" align="center" />
<el-table-column prop="NAME" label="姓名"/>
<el-table-column prop="PHONE" label="手机号"/>
<el-table-column prop="cardNumber" label="证件号码"/>
<el-table-column prop="channelName" label="口门名称"/>
<el-table-column prop="departmentName" label="部门名称"/>
<el-table-column prop="inOrOut" label="进出状态"/>
<el-table-column prop="personCode" label="人员编号"/>
<el-table-column prop="personType" label="人员身份"/>
<el-table-column prop="personType" label="人员身份"/>
<el-table-column prop="regionName" label="区域名称"/>
<el-table-column prop="reportTime" label="上报时间"/>
</el-table>
<div class="page-btn-group">
<div/><div/>
<pagination :total="total" :page.sync="listQuery.page" :limit.sync="listQuery.limit" @pagination="getList" />
</div>
<div class="ui-foot">
<el-button type="primary" @click="goBack"> </el-button>
</div>
</div>
</template>
<script>
import Pagination from '@/components/Pagination' // el-pagination
import { requestFN } from '@/utils/request'
import waves from '@/directive/waves' // waves directive
export default{
components: { Pagination },
directives: { waves },
data() {
return {
listQuery: {
page: 1,
limit: 10
},
areaList: [], //
placeList: [],
listLoading: true,
varList: [],
typeList: [
{ ID: '0', NAME: '监管端' },
{ ID: '1', NAME: '企业端' },
{ ID: '2', NAME: '相关方端' }
],
total: 0,
title: '',
isShow: false,
USER_ID: this.$parent.USER_ID,
form: {
USER_NAME: '',
CORPINFO_NAME: '',
DEPARTMENT_NAME: '',
USER_TYPE: ''
}
}
},
created() {
this.getList()
},
methods: {
getRowKey(row) {
return row.USER_ID
},
//
getQuery() {
this.$refs.multipleTable.clearSelection()
this.getList()
},
//
reset() {
this.form = {
USER_NAME: '',
PHONE: '',
ID_CARD: '',
CORPINFO_NAME: '',
DEPARTMENT_NAME: '',
VISIT_START_TIME: '',
VISIT_END_TIME: '',
DOOR_NAME: ''
}
this.getList()
},
//
getList() {
this.listLoading = true
requestFN(
'/mkmjManagement/checkEntryAndExitRecords?showCount=' + this.listQuery.limit + '&currentPage=' + this.listQuery.page,
{
USER_ID: this.USER_ID
}
).then((data) => {
console.log(data)
this.listLoading = false
this.varList = data.recordList
this.total = data.page.totalResult
this.hasButton()
}).catch((e) => {
this.listLoading = false
})
},
goBack() {
this.$parent.activeName = 'List'
}
}
}
</script>

View File

@ -0,0 +1,24 @@
<template>
<component :is="activeName" />
</template>
<script>
import List from './components/list.vue'
import recordsList from './components/recordsList.vue'
export default {
components: {
List: List,
recordsList: recordsList
},
data() {
return {
activeName: 'List',
USER_ID: ''
}
}
}
</script>
<style scoped>
</style>

View File

@ -0,0 +1,163 @@
<template>
<div class="app-container">
<div class="filter-container">
<el-form ref="form" v-model="form">
<el-col :span="5">
<el-form-item label="人员名称:">
<el-input v-model="form.USER_NAME" placeholder="搜索" class="filter-item" style="width: 200px;"/>
</el-form-item>
</el-col>
<el-col :span="5">
<el-form-item label="企业名称:">
<el-input v-model="form.CORPINFO_NAME" placeholder="搜索" class="filter-item" style="width: 200px;"/>
</el-form-item>
</el-col>
<el-col :span="5">
<el-form-item label="部门名称:">
<el-input v-model="form.DEPARTMENT_NAME" placeholder="搜索" class="filter-item" style="width: 200px;"/>
</el-form-item>
</el-col>
<el-col :span="4">
<el-button v-waves class="filter-item" type="primary" icon="el-icon-search" @click="getQuery"></el-button>
<el-button v-waves class="filter-item" type="success" icon="el-icon-refresh" @click="reset"></el-button>
</el-col>
</el-form>
</div>
<el-table
v-loading="listLoading"
ref="multipleTable"
:data="varList"
:row-key="getRowKey"
:header-cell-style="{
'font-weight': 'bold',
'color': '#000'
}"
tooltip-effect="dark"
border
fit
highlight-current-row
>
<el-table-column
:reserve-selection="true"
type="selection"
width="55"
align="center"/>
<el-table-column type="index" label="序号" width="50" align="center" />
<el-table-column prop="NAME" label="姓名"/>
<el-table-column prop="PHONE" label="手机号"/>
<el-table-column prop="CORPINFO_NAME" label="企业名称"/>
<el-table-column prop="DEPARTMENT_NAME" label="部门名称"/>
<el-table-column label="来源" align="center" width="120">
<template slot-scope="{row}">
{{ getUserType(row.USER_TYPE) }}
</template>
</el-table-column>
<el-table-column label="操作" align="left" width="110">
<template slot-scope="{row}">
<el-button type="primary" icon="el-icon-view" size="mini" @click="getAuditInfo(row)"></el-button>
</template>
</el-table-column>
</el-table>
<div class="page-btn-group">
<div/><div/>
<pagination :total="total" :page.sync="listQuery.page" :limit.sync="listQuery.limit" @pagination="getList" />
</div>
</div>
</template>
<script>
import Pagination from '@/components/Pagination' // el-pagination
import { requestFN } from '@/utils/request'
import waves from '@/directive/waves' // waves directive
export default{
components: { Pagination },
directives: { waves },
data() {
return {
listQuery: {
page: 1,
limit: 10
},
areaList: [], //
placeList: [],
listLoading: true,
varList: [],
typeList: [
{ ID: '0', NAME: '监管端' },
{ ID: '1', NAME: '企业端' },
{ ID: '2', NAME: '相关方端' }
],
total: 0,
title: '',
isShow: false,
form: {
USER_NAME: '',
CORPINFO_NAME: '',
DEPARTMENT_NAME: '',
USER_TYPE: 2
}
}
},
created() {
console.log('=====================')
console.log(this.form)
console.log('=====================')
this.getList()
},
methods: {
getRowKey(row) {
return row.USER_ID
},
getUserType(USER_TYPE) {
if (USER_TYPE === '0') {
return '监管端'
} else if (USER_TYPE === '1') {
return '企业端'
} else if (USER_TYPE === '2') {
return '相关方端'
}
},
//
getQuery() {
this.$refs.multipleTable.clearSelection()
this.getList()
},
//
reset() {
this.form = {
USER_NAME: '',
PHONE: '',
ID_CARD: '',
CORPINFO_NAME: '',
DEPARTMENT_NAME: '',
VISIT_START_TIME: '',
VISIT_END_TIME: '',
DOOR_NAME: ''
}
this.getList()
},
//
getList() {
this.listLoading = true
requestFN(
'/mkmjManagement/personManagementList?showCount=' + this.listQuery.limit + '&currentPage=' + this.listQuery.page, this.form
).then((data) => {
console.log(data)
this.listLoading = false
this.varList = data.personManagementList
this.total = data.page.totalResult
this.hasButton()
}).catch((e) => {
this.listLoading = false
})
},
getAuditInfo(ROW) {
console.log(ROW)
this.$parent.activeName = 'recordsList'
this.$parent.USER_ID = ROW.USER_ID
}
}
}
</script>

View File

@ -0,0 +1,131 @@
<template>
<div class="app-container">
<el-table
v-loading="listLoading"
ref="multipleTable"
:data="varList"
:row-key="getRowKey"
:header-cell-style="{
'font-weight': 'bold',
'color': '#000'
}"
tooltip-effect="dark"
border
fit
highlight-current-row
>
<el-table-column
:reserve-selection="true"
type="selection"
width="55"
align="center"/>
<el-table-column type="index" label="序号" width="50" align="center" />
<el-table-column prop="NAME" label="姓名"/>
<el-table-column prop="PHONE" label="手机号"/>
<el-table-column prop="cardNumber" label="证件号码"/>
<el-table-column prop="channelName" label="口门名称"/>
<el-table-column prop="departmentName" label="部门名称"/>
<el-table-column prop="inOrOut" label="进出状态"/>
<el-table-column prop="personCode" label="人员编号"/>
<el-table-column prop="personType" label="人员身份"/>
<el-table-column prop="personType" label="人员身份"/>
<el-table-column prop="regionName" label="区域名称"/>
<el-table-column prop="reportTime" label="上报时间"/>
</el-table>
<div class="page-btn-group">
<div/><div/>
<pagination :total="total" :page.sync="listQuery.page" :limit.sync="listQuery.limit" @pagination="getList" />
</div>
<div class="ui-foot">
<el-button type="primary" @click="goBack"> </el-button>
</div>
</div>
</template>
<script>
import Pagination from '@/components/Pagination' // el-pagination
import { requestFN } from '@/utils/request'
import waves from '@/directive/waves' // waves directive
export default{
components: { Pagination },
directives: { waves },
data() {
return {
listQuery: {
page: 1,
limit: 10
},
areaList: [], //
placeList: [],
listLoading: true,
varList: [],
typeList: [
{ ID: '0', NAME: '监管端' },
{ ID: '1', NAME: '企业端' },
{ ID: '2', NAME: '相关方端' }
],
total: 0,
title: '',
isShow: false,
USER_ID: this.$parent.USER_ID,
form: {
USER_NAME: '',
CORPINFO_NAME: '',
DEPARTMENT_NAME: '',
USER_TYPE: ''
}
}
},
created() {
this.getList()
},
methods: {
getRowKey(row) {
return row.USER_ID
},
//
getQuery() {
this.$refs.multipleTable.clearSelection()
this.getList()
},
//
reset() {
this.form = {
USER_NAME: '',
PHONE: '',
ID_CARD: '',
CORPINFO_NAME: '',
DEPARTMENT_NAME: '',
VISIT_START_TIME: '',
VISIT_END_TIME: '',
DOOR_NAME: ''
}
this.getList()
},
//
getList() {
this.listLoading = true
requestFN(
'/mkmjManagement/checkEntryAndExitRecords?showCount=' + this.listQuery.limit + '&currentPage=' + this.listQuery.page,
{
USER_ID: this.USER_ID
}
).then((data) => {
console.log(data)
this.listLoading = false
this.varList = data.recordList
this.total = data.page.totalResult
this.hasButton()
}).catch((e) => {
this.listLoading = false
})
},
goBack() {
this.$parent.activeName = 'List'
}
}
}
</script>

View File

@ -0,0 +1,24 @@
<template>
<component :is="activeName" />
</template>
<script>
import List from './components/list.vue'
import recordsList from './components/recordsList.vue'
export default {
components: {
List: List,
recordsList: recordsList
},
data() {
return {
activeName: 'List',
USER_ID: ''
}
}
}
</script>
<style scoped>
</style>

View File

@ -0,0 +1,163 @@
<template>
<div class="app-container">
<div class="filter-container">
<el-form ref="form" v-model="form">
<el-col :span="5">
<el-form-item label="人员名称:">
<el-input v-model="form.USER_NAME" placeholder="搜索" class="filter-item" style="width: 200px;"/>
</el-form-item>
</el-col>
<el-col :span="5">
<el-form-item label="企业名称:">
<el-input v-model="form.CORPINFO_NAME" placeholder="搜索" class="filter-item" style="width: 200px;"/>
</el-form-item>
</el-col>
<el-col :span="5">
<el-form-item label="部门名称:">
<el-input v-model="form.DEPARTMENT_NAME" placeholder="搜索" class="filter-item" style="width: 200px;"/>
</el-form-item>
</el-col>
<el-col :span="4">
<el-button v-waves class="filter-item" type="primary" icon="el-icon-search" @click="getQuery"></el-button>
<el-button v-waves class="filter-item" type="success" icon="el-icon-refresh" @click="reset"></el-button>
</el-col>
</el-form>
</div>
<el-table
v-loading="listLoading"
ref="multipleTable"
:data="varList"
:row-key="getRowKey"
:header-cell-style="{
'font-weight': 'bold',
'color': '#000'
}"
tooltip-effect="dark"
border
fit
highlight-current-row
>
<el-table-column
:reserve-selection="true"
type="selection"
width="55"
align="center"/>
<el-table-column type="index" label="序号" width="50" align="center" />
<el-table-column prop="NAME" label="姓名"/>
<el-table-column prop="PHONE" label="手机号"/>
<el-table-column prop="CORPINFO_NAME" label="企业名称"/>
<el-table-column prop="DEPARTMENT_NAME" label="部门名称"/>
<el-table-column label="来源" align="center" width="120">
<template slot-scope="{row}">
{{ getUserType(row.USER_TYPE) }}
</template>
</el-table-column>
<el-table-column label="操作" align="left" width="110">
<template slot-scope="{row}">
<el-button type="primary" icon="el-icon-view" size="mini" @click="getAuditInfo(row)"></el-button>
</template>
</el-table-column>
</el-table>
<div class="page-btn-group">
<div/><div/>
<pagination :total="total" :page.sync="listQuery.page" :limit.sync="listQuery.limit" @pagination="getList" />
</div>
</div>
</template>
<script>
import Pagination from '@/components/Pagination' // el-pagination
import { requestFN } from '@/utils/request'
import waves from '@/directive/waves' // waves directive
export default{
components: { Pagination },
directives: { waves },
data() {
return {
listQuery: {
page: 1,
limit: 10
},
areaList: [], //
placeList: [],
listLoading: true,
varList: [],
typeList: [
{ ID: '0', NAME: '监管端' },
{ ID: '1', NAME: '企业端' },
{ ID: '2', NAME: '相关方端' }
],
total: 0,
title: '',
isShow: false,
form: {
USER_NAME: '',
CORPINFO_NAME: '',
DEPARTMENT_NAME: '',
USER_TYPE: 2
}
}
},
created() {
console.log('=====================')
console.log(this.form)
console.log('=====================')
this.getList()
},
methods: {
getRowKey(row) {
return row.USER_ID
},
getUserType(USER_TYPE) {
if (USER_TYPE === '0') {
return '监管端'
} else if (USER_TYPE === '1') {
return '企业端'
} else if (USER_TYPE === '2') {
return '相关方端'
}
},
//
getQuery() {
this.$refs.multipleTable.clearSelection()
this.getList()
},
//
reset() {
this.form = {
USER_NAME: '',
PHONE: '',
ID_CARD: '',
CORPINFO_NAME: '',
DEPARTMENT_NAME: '',
VISIT_START_TIME: '',
VISIT_END_TIME: '',
DOOR_NAME: ''
}
this.getList()
},
//
getList() {
this.listLoading = true
requestFN(
'/mkmjManagement/zgPersonList?showCount=' + this.listQuery.limit + '&currentPage=' + this.listQuery.page, this.form
).then((data) => {
console.log(data)
this.listLoading = false
this.varList = data.getZgPersonList
this.total = data.page.totalResult
this.hasButton()
}).catch((e) => {
this.listLoading = false
})
},
getAuditInfo(ROW) {
console.log(ROW)
this.$parent.activeName = 'recordsList'
this.$parent.USER_ID = ROW.USER_ID
}
}
}
</script>

View File

@ -0,0 +1,131 @@
<template>
<div class="app-container">
<el-table
v-loading="listLoading"
ref="multipleTable"
:data="varList"
:row-key="getRowKey"
:header-cell-style="{
'font-weight': 'bold',
'color': '#000'
}"
tooltip-effect="dark"
border
fit
highlight-current-row
>
<el-table-column
:reserve-selection="true"
type="selection"
width="55"
align="center"/>
<el-table-column type="index" label="序号" width="50" align="center" />
<el-table-column prop="NAME" label="姓名"/>
<el-table-column prop="PHONE" label="手机号"/>
<el-table-column prop="cardNumber" label="证件号码"/>
<el-table-column prop="channelName" label="口门名称"/>
<el-table-column prop="departmentName" label="部门名称"/>
<el-table-column prop="inOrOut" label="进出状态"/>
<el-table-column prop="personCode" label="人员编号"/>
<el-table-column prop="personType" label="人员身份"/>
<el-table-column prop="personType" label="人员身份"/>
<el-table-column prop="regionName" label="区域名称"/>
<el-table-column prop="reportTime" label="上报时间"/>
</el-table>
<div class="page-btn-group">
<div/><div/>
<pagination :total="total" :page.sync="listQuery.page" :limit.sync="listQuery.limit" @pagination="getList" />
</div>
<div class="ui-foot">
<el-button type="primary" @click="goBack"> </el-button>
</div>
</div>
</template>
<script>
import Pagination from '@/components/Pagination' // el-pagination
import { requestFN } from '@/utils/request'
import waves from '@/directive/waves' // waves directive
export default{
components: { Pagination },
directives: { waves },
data() {
return {
listQuery: {
page: 1,
limit: 10
},
areaList: [], //
placeList: [],
listLoading: true,
varList: [],
typeList: [
{ ID: '0', NAME: '监管端' },
{ ID: '1', NAME: '企业端' },
{ ID: '2', NAME: '相关方端' }
],
total: 0,
title: '',
isShow: false,
USER_ID: this.$parent.USER_ID,
form: {
USER_NAME: '',
CORPINFO_NAME: '',
DEPARTMENT_NAME: '',
USER_TYPE: ''
}
}
},
created() {
this.getList()
},
methods: {
getRowKey(row) {
return row.USER_ID
},
//
getQuery() {
this.$refs.multipleTable.clearSelection()
this.getList()
},
//
reset() {
this.form = {
USER_NAME: '',
PHONE: '',
ID_CARD: '',
CORPINFO_NAME: '',
DEPARTMENT_NAME: '',
VISIT_START_TIME: '',
VISIT_END_TIME: '',
DOOR_NAME: ''
}
this.getList()
},
//
getList() {
this.listLoading = true
requestFN(
'/mkmjManagement/checkEntryAndExitRecords?showCount=' + this.listQuery.limit + '&currentPage=' + this.listQuery.page,
{
USER_ID: this.USER_ID
}
).then((data) => {
console.log(data)
this.listLoading = false
this.varList = data.recordList
this.total = data.page.totalResult
this.hasButton()
}).catch((e) => {
this.listLoading = false
})
},
goBack() {
this.$parent.activeName = 'List'
}
}
}
</script>

View File

@ -0,0 +1,24 @@
<template>
<component :is="activeName" />
</template>
<script>
import List from './components/list.vue'
import recordsList from './components/recordsList.vue'
export default {
components: {
List: List,
recordsList: recordsList
},
data() {
return {
activeName: 'List',
USER_ID: ''
}
}
}
</script>
<style scoped>
</style>

View File

@ -0,0 +1,176 @@
<template>
<div class="app-container">
<div class="filter-container">
<el-form ref="form" v-model="form">
<el-row>
<el-col :span="5">
<el-form-item label="访问人姓名:">
<el-input v-model="form.USER_NAME" placeholder="搜索" class="filter-item" style="width: 200px;"/>
</el-form-item>
</el-col>
<el-col :span="4">
<el-button v-waves class="filter-item" type="primary" icon="el-icon-search" @click="getQuery"></el-button>
<el-button v-waves class="filter-item" type="success" icon="el-icon-refresh" @click="reset"></el-button>
</el-col>
</el-row>
</el-form>
</div>
<el-table
v-loading="listLoading"
ref="multipleTable"
:data="varList"
:row-key="getRowKey"
:header-cell-style="{
'font-weight': 'bold',
'color': '#000'
}"
tooltip-effect="dark"
border
fit
highlight-current-row
>
<el-table-column
:reserve-selection="true"
type="selection"
width="55"
align="center"/>
<el-table-column type="index" label="序号" width="50" align="center" />
<el-table-column prop="USER_NAME" label="访问人姓名"/>
<el-table-column prop="PHONE" label="手机号"/>
<el-table-column prop="CORPINFO_NAME" label="企业名称"/>
<el-table-column prop="DEPARTMENT_NAME" label="部门名称"/>
<el-table-column prop="CAR_NO" label="车牌号"/>
<el-table-column label="车牌类型" align="center" width="120">
<template slot-scope="{row}">
{{ getCarPlantType(row.CAR_PLANT_TYPE) }}
</template>
</el-table-column>
<el-table-column label="车辆类型" align="center" width="120">
<template slot-scope="{row}">
{{ getCarType(row.CAR_TYPE) }}
</template>
</el-table-column>
<el-table-column prop="VISIT_START_TIME" label="访问起始时间"/>
<el-table-column prop="VISIT_END_TIME" label="访问结束时间"/>
<el-table-column prop="DOOR_NAME" label="访问口门名称"/>
<el-table-column label="操作" align="left" width="110">
<template slot-scope="{row}">
<el-button v-if="showFirstButton(row.FIRST_AUDIT_USER_ID,row.AUDIT_TYPE)" type="success" icon="el-icon-view" size="mini" @click="approve(row)"></el-button>
</template>
</el-table-column>
</el-table>
<div class="page-btn-group">
<div/><div/>
<pagination :total="total" :page.sync="listQuery.page" :limit.sync="listQuery.limit" @pagination="getList" />
</div>
<send-util ref="sendUtil" append-to-body @refresh="getList"/>
</div>
</template>
<script>
import Pagination from '@/components/Pagination' // el-pagination
import { requestFN } from '@/utils/request'
import SendUtil from '../../person/components/sendUtil.vue'
export default{
components: { SendUtil, Pagination },
data() {
return {
listQuery: {
page: 1,
limit: 10
},
areaList: [], //
placeList: [],
listLoading: true,
varList: [],
total: 0,
title: '',
isShow: false,
form: {
USER_NAME: '',
PHONE: '',
ID_CARD: '',
CORPINFO_NAME: '',
DEPARTMENT_NAME: '',
VISIT_START_TIME: '',
VISIT_END_TIME: '',
DOOR_NAME: '',
TEMPORARY_TYPE: '2'
}
}
},
created() {
this.getList()
},
methods: {
//
getCarPlantType(CAR_PLANT_TYPE) {
if (CAR_PLANT_TYPE === '0') {
return '白牌'
} else if (CAR_PLANT_TYPE === '1') {
return '蓝牌'
} else if (CAR_PLANT_TYPE === '2') {
return '黄牌'
} else if (CAR_PLANT_TYPE === '3') {
return '绿牌'
} else if (CAR_PLANT_TYPE === '4') {
return '黑牌'
}
},
getCarType(CAR_TYPE) {
if (CAR_TYPE === '0') {
return '货车'
} else if (CAR_TYPE === '1') {
return '轿车'
} else if (CAR_TYPE === '2') {
return '大巴客车'
}
},
//
showFirstButton(FIRST_AUDIT_USER_ID, AUDIT_TYPE) {
return FIRST_AUDIT_USER_ID === JSON.parse(sessionStorage.getItem('user')).USER_ID && AUDIT_TYPE === '1'
},
//
getQuery() {
this.$refs.multipleTable.clearSelection()
this.getList()
},
//
reset() {
this.form = {
USER_NAME: '',
PHONE: '',
ID_CARD: '',
CORPINFO_NAME: '',
DEPARTMENT_NAME: '',
VISIT_START_TIME: '',
VISIT_END_TIME: '',
DOOR_NAME: ''
}
this.getList()
},
//
getList() {
this.listLoading = true
requestFN(
'/temporary/access/getAccessList?showCount=' + this.listQuery.limit + '&currentPage=' + this.listQuery.page, this.form
).then((data) => {
console.log(data)
this.listLoading = false
this.varList = data.varList
this.total = data.page.totalResult
this.hasButton()
this.pd = data.pd
}).catch((e) => {
this.listLoading = false
})
},
approve(row) {
this.$refs.sendUtil.init(row)
}
}
}
</script>

View File

@ -0,0 +1,22 @@
<template>
<component :is="activeName" />
</template>
<script>
import List from './components/list'
export default {
components: {
List: List
},
data() {
return {
activeName: 'List',
USER_ID: ''
}
}
}
</script>
<style scoped>
</style>

View File

@ -0,0 +1,167 @@
<template>
<div class="app-container">
<div class="filter-container">
<el-form ref="form" v-model="form">
<el-row>
<el-col :span="5">
<el-form-item label="访问人姓名:">
<el-input v-model="form.USER_NAME" placeholder="搜索" class="filter-item" style="width: 200px;"/>
</el-form-item>
</el-col>
<el-col :span="4">
<el-button v-waves class="filter-item" type="primary" icon="el-icon-search" @click="getQuery"></el-button>
<el-button v-waves class="filter-item" type="success" icon="el-icon-refresh" @click="reset"></el-button>
</el-col>
</el-row>
</el-form>
</div>
<el-table
v-loading="listLoading"
ref="multipleTable"
:data="varList"
:row-key="getRowKey"
:header-cell-style="{
'font-weight': 'bold',
'color': '#000'
}"
tooltip-effect="dark"
border
fit
highlight-current-row
>
<el-table-column
:reserve-selection="true"
type="selection"
width="55"
align="center"/>
<el-table-column type="index" label="序号" width="50" align="center" />
<el-table-column prop="USER_NAME" label="访问人姓名"/>
<el-table-column prop="PHONE" label="手机号"/>
<el-table-column prop="ID_CARD" label="身份证号"/>
<el-table-column prop="CORPINFO_NAME" label="企业名称"/>
<el-table-column prop="DEPARTMENT_NAME" label="部门名称"/>
<el-table-column prop="VISIT_START_TIME" label="访问起始时间"/>
<el-table-column prop="VISIT_END_TIME" label="访问结束时间"/>
<el-table-column prop="DOOR_NAME" label="访问口门名称"/>
<el-table-column label="审核状态" align="center" width="120">
<template slot-scope="{row}">
{{ getType(row.AUDIT_TYPE) }}
</template>
</el-table-column>
<el-table-column label="操作" align="left" width="110">
<template slot-scope="{row}">
<el-button v-if="showFirstButton(row.FIRST_AUDIT_USER_ID,row.AUDIT_TYPE)" type="success" icon="el-icon-view" size="mini" @click="approve(row)"></el-button>
<!-- <el-button v-if="showSecondButton(row.SECOND_AUDIT_USER_ID,row.AUDIT_TYPE)" type="success" icon="el-icon-view" size="mini" @click="approve(row)"></el-button>-->
</template>
</el-table-column>
</el-table>
<div class="page-btn-group">
<div/><div/>
<pagination :total="total" :page.sync="listQuery.page" :limit.sync="listQuery.limit" @pagination="getList" />
</div>
<send-util ref="sendUtil" append-to-body @refresh="getList"/>
</div>
</template>
<script>
import Pagination from '@/components/Pagination' // el-pagination
import { requestFN } from '@/utils/request'
import SendUtil from '../components/sendUtil.vue'
import waves from '@/directive/waves' // waves directive
export default{
components: { SendUtil, Pagination },
directives: { waves },
data() {
return {
listQuery: {
page: 1,
limit: 10
},
areaList: [], //
placeList: [],
listLoading: true,
varList: [],
total: 0,
title: '',
isShow: false,
form: {
USER_NAME: '',
PHONE: '',
ID_CARD: '',
CORPINFO_NAME: '',
DEPARTMENT_NAME: '',
VISIT_START_TIME: '',
VISIT_END_TIME: '',
DOOR_NAME: '',
TEMPORARY_TYPE: '1'
},
TEMPORARY_ID: ''
}
},
created() {
this.getList()
},
methods: {
getRowKey(row) {
return row.TEMPORARY_ID
},
//
getType(AUDIT_TYPE) {
if (AUDIT_TYPE === '0') {
return '不通过'
} else if (AUDIT_TYPE === '1') {
return '审核中'
} else if (AUDIT_TYPE === '2') {
return '通过'
}
},
//
showFirstButton(FIRST_AUDIT_USER_ID, AUDIT_TYPE) {
return FIRST_AUDIT_USER_ID === JSON.parse(sessionStorage.getItem('user')).USER_ID && AUDIT_TYPE === '1'
},
// showSecondButton(SECOND_AUDIT_USER_ID, AUDIT_TYPE) {
// return SECOND_AUDIT_USER_ID === JSON.parse(sessionStorage.getItem('user')).USER_ID && AUDIT_TYPE === 2
// },
//
getQuery() {
this.$refs.multipleTable.clearSelection()
this.getList()
},
//
reset() {
this.form = {
USER_NAME: '',
PHONE: '',
ID_CARD: '',
CORPINFO_NAME: '',
DEPARTMENT_NAME: '',
VISIT_START_TIME: '',
VISIT_END_TIME: '',
DOOR_NAME: ''
}
this.getList()
},
//
getList() {
this.listLoading = true
requestFN(
'/temporary/access/getAccessList?showCount=' + this.listQuery.limit + '&currentPage=' + this.listQuery.page, this.form
).then((data) => {
console.log(data)
this.listLoading = false
this.varList = data.varList
this.total = data.page.totalResult
this.hasButton()
this.pd = data.pd
}).catch((e) => {
this.listLoading = false
})
},
approve(row) {
this.$refs.sendUtil.init(row)
}
}
}
</script>

View File

@ -0,0 +1,152 @@
<template>
<div>
<el-dialog
v-loading="loading"
:visible.sync="visible"
:append-to-body="appendToBody"
:before-close="beforeClose"
title="审批"
width="1200px"
destroy-on-close>
<el-form ref="form" :model="form" :rules="rules" label-width="200px" label-position="right" type="flex">
<el-row :gutter="12">
<el-col :span="12">
<el-form-item prop="STATUS" label="是否通过: ">
<el-select v-model="form.STATUS" filterable style="width: 300px" placeholder="请选择" @change="clearInfo">
<el-option label="是" value="1"/>
<el-option label="否" value="0"/>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col v-if="form.STATUS === '0'" :span="24">
<el-form-item v-if="form.STATUS === '0'" prop="OPINION" label="打回原因:">
<el-input v-model="form.OPINION" :rows="2" type="textarea" placeholder="填写审批意见"/>
</el-form-item>
</el-col>
</el-row>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click="handleClose"> </el-button>
<el-button type="primary" @click="sendMessage"> </el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import vueQr from 'vue-qr'
import Treeselect from '@riophae/vue-treeselect'
import uploadFile from '../../../util/uploadFile/index.vue'
import { requestFN } from '@/utils/request'
export default {
components: { uploadFile, Treeselect, vueQr },
props: {
appendToBody: {
type: Boolean,
default: false
}
},
data() {
return {
visible: false,
loading: false,
form: {
STATUS: null,
APPOINT_CORP_ID: '',
APPOINT_CORP_NAME: '',
APPOINT_DEPARTMENT_ID: null,
APPOINT_DEPARTMENT_NAME: '',
APPOINT_USER_ID: null,
APPOINT_USER_NAME: '',
OPINION: '',
APPOINT_ANNEX: [],
user: '',
tm: new Date().getTime(),
list: [],
isShow: true,
info: {},
BACK_NAME: '',
BACK_STEP: ''
},
rules: {
STATUS: [
{ required: true, message: '请选择是否通过', trigger: 'change' }
],
OPINION: [
{ required: true, message: '请填写打回原因', trigger: 'change' }
]
},
heirloom: {},
normalizer(node) {
return {
id: node.id,
label: node.name,
children: node.nodes
}
},
departmentTree: [],
peopleList: [],
corpFlag: false,
menu: {
department: '',
user: '',
uploadFile: '',
limitFlag: ''
},
step: 0,
list: [],
ACCESS_AUDIT_ID: ''
}
},
methods: {
async init(e) {
this.loading = true
this.visible = true
this.ACCESS_AUDIT_ID = e.ACCESS_AUDIT_ID
console.log(this.ACCESS_AUDIT_ID)
console.log(e.ACCESS_AUDIT_ID)
this.loading = false
},
handleClose() {
this.form = {
STATUS: '',
APPOINT_DEPARTMENT_ID: null,
APPOINT_DEPARTMENT_NAME: '',
APPOINT_USER_ID: '',
APPOINT_USER_NAME: '',
OPINION: '',
user: '',
list: [],
tm: new Date().getTime()
}
this.visible = false
},
goDetail() {
this.$parent.activeName = 'List'
},
sendMessage() {
requestFN(
'/temporary/access/audit',
{
FIRST_AUDIT_USER_ID: JSON.parse(sessionStorage.getItem('user')).USER_ID,
STATUS: this.form.STATUS,
ACCESS_AUDIT_ID: this.ACCESS_AUDIT_ID,
REASON: this.form.OPINION
}
).then((data) => {
this.visible = false
this.$emit('refresh', '')
}).catch((e) => {
this.loading = false
})
}
}
}
</script>
<style lang="scss" scoped>
</style>

View File

@ -0,0 +1,27 @@
<template>
<div>
<List v-show="activeName==='List'" ref="list" />
<SendUtil v-if="activeName==='SendUtil'" />
</div>
</template>
<script>
import List from './components/list'
import SendUtil from './components/sendUtil.vue'
export default {
components: {
List: List,
SendUtil: SendUtil
},
data() {
return {
activeName: 'List',
USER_ID: ''
}
}
}
</script>
<style scoped>
</style>