2215 lines
72 KiB
Vue
2215 lines
72 KiB
Vue
<template>
|
||
<div class="fullHeight">
|
||
<div class="searchBox whiteBlock">
|
||
<el-form :inline="true" class="demo-form-inline" size="medium">
|
||
<el-form-item :label="$t('message.carManage.carNumber')">
|
||
<el-input
|
||
v-model="carNumber"
|
||
:placeholder="$t('message.deviceManage.placeholder')"
|
||
></el-input>
|
||
</el-form-item>
|
||
<el-form-item :label="$t('message.carManage.isBlack')">
|
||
<el-select
|
||
v-model="isBlack"
|
||
:placeholder="$t('message.carManage.placeholder_select')"
|
||
clearable
|
||
>
|
||
<el-option
|
||
v-for="(item, index) in $t('message.carManage.isBlackArr')"
|
||
:key="item.value"
|
||
:label="item"
|
||
:value="index"
|
||
>
|
||
</el-option>
|
||
</el-select>
|
||
</el-form-item>
|
||
<el-form-item label="车辆下发状态">
|
||
<el-select
|
||
size="medium"
|
||
v-model="tableParameter.sendSuccessStatus"
|
||
placeholder="请选择"
|
||
>
|
||
<el-option
|
||
v-for="(item, index) in sendStatusArr"
|
||
:key="index"
|
||
:label="item.name"
|
||
:value="item.value"
|
||
></el-option>
|
||
</el-select>
|
||
</el-form-item>
|
||
<!-- '车辆类型' -->
|
||
<el-form-item :label="$t('message.carManage.carType')">
|
||
<el-select
|
||
v-model="tableParameter.carModuleType"
|
||
:placeholder="$t('message.carManage.placeholder_select2')"
|
||
clearable
|
||
>
|
||
<el-option :label="$t('message.carManage.all')" value="">
|
||
</el-option>
|
||
<el-option
|
||
v-for="(item, index) in $t('message.carManage.carTypeList')"
|
||
:key="index"
|
||
:label="item.name"
|
||
:value="item.value"
|
||
>
|
||
</el-option>
|
||
</el-select>
|
||
</el-form-item>
|
||
<el-form-item>
|
||
<el-button
|
||
v-permission="{
|
||
key: 'clgl_query',
|
||
menuPath: '/project/carManage/carManage',
|
||
}"
|
||
type="primary"
|
||
plain
|
||
@click="getList"
|
||
>{{ $t("message.deviceManage.query") }}</el-button
|
||
>
|
||
</el-form-item>
|
||
</el-form>
|
||
<el-button
|
||
v-permission="{
|
||
key: 'clgl_refresh',
|
||
menuPath: '/project/carManage/carManage',
|
||
}"
|
||
type="warning"
|
||
size="medium"
|
||
plain
|
||
@click="refresh"
|
||
>{{ $t("message.deviceManage.refresh") }}</el-button
|
||
>
|
||
<el-button
|
||
v-permission="{
|
||
key: 'clgl_add',
|
||
menuPath: '/project/carManage/carManage',
|
||
}"
|
||
type="primary"
|
||
size="medium"
|
||
@click="add"
|
||
>{{ $t("message.deviceManage.add") }}</el-button
|
||
>
|
||
</div>
|
||
<div class="table_wrap whiteBlock">
|
||
<el-table class="tables" :data="List">
|
||
<!-- width="300" -->
|
||
<el-table-column
|
||
prop="enterpriseName"
|
||
align="center"
|
||
label="企业名称"
|
||
show-overflow-tooltip
|
||
></el-table-column>
|
||
<!-- width="100" -->
|
||
<el-table-column
|
||
prop="carNumber"
|
||
align="center"
|
||
:label="$t('message.carManage.carNumber')"
|
||
></el-table-column>
|
||
<!-- <el-table-column
|
||
v-if="COMPANY != 'neimenggu'"
|
||
prop="carColor"
|
||
label="车身颜色"
|
||
align="center"
|
||
></el-table-column> -->
|
||
<!-- width="100" -->
|
||
<el-table-column prop="carTypeName" label="车种类型" align="center">
|
||
</el-table-column>
|
||
<!-- width="80" -->
|
||
<el-table-column
|
||
prop="driverWorkerName"
|
||
:label="$t('message.carManage.driverName')"
|
||
align="center"
|
||
></el-table-column>
|
||
<!-- width="110" -->
|
||
<el-table-column
|
||
prop="driverTelephone"
|
||
:label="$t('message.carManage.driverTelephone')"
|
||
align="center"
|
||
></el-table-column>
|
||
<!-- 黑白名单调控 -->
|
||
<!-- width="90" -->
|
||
<el-table-column
|
||
prop="isBlack"
|
||
:label="$t('message.carManage.isBlack')"
|
||
align="center"
|
||
>
|
||
<template slot-scope="scope">
|
||
<!-- {{ $t('message.carManage.isBlackArr')[scope.row.isBlack] }} -->
|
||
<!-- v-permission="{key: 'clgl_blackWhiteList', menuPath: '/project/carManage/carManage'}" -->
|
||
{{ $t("message.carManage.isBlackArr")[scope.row.isBlack] }}
|
||
<!-- :disabled="
|
||
!editPermission
|
||
? true
|
||
: [2, 3].includes(scope.row.carModuleType)
|
||
? true
|
||
: false
|
||
" -->
|
||
<el-switch
|
||
v-model="scope.row.isBlack"
|
||
active-color="#409EFF"
|
||
:active-value="0"
|
||
inactive-color="#000000"
|
||
:inactive-value="1"
|
||
@change="(e) => blackSwich(e, scope.row)"
|
||
>
|
||
</el-switch>
|
||
</template>
|
||
</el-table-column>
|
||
|
||
<!-- <el-table-column
|
||
width="80"
|
||
align="center"
|
||
:label="$t('message.carManage.carPhotosUrl')"
|
||
>
|
||
<div slot slot-scope="scope">
|
||
<img
|
||
v-if="
|
||
scope.row.carPhotosUrl &&
|
||
JSON.parse(scope.row.carPhotosUrl).length > 0
|
||
"
|
||
:preview="
|
||
JSON.parse(scope.row.carPhotosUrl)[0]
|
||
? $store.state.FILEURL +
|
||
JSON.parse(scope.row.carPhotosUrl)[0].url
|
||
: ''
|
||
"
|
||
:src="
|
||
JSON.parse(scope.row.carPhotosUrl)[0]
|
||
? $store.state.FILEURL +
|
||
JSON.parse(scope.row.carPhotosUrl)[0].url
|
||
: ''
|
||
"
|
||
alt=""
|
||
width="50px"
|
||
height="50px"
|
||
/>
|
||
</div>
|
||
</el-table-column> -->
|
||
<!-- width="150" -->
|
||
<el-table-column
|
||
width="150"
|
||
prop="carModuleType"
|
||
align="center"
|
||
label="车辆类型"
|
||
>
|
||
<template slot-scope="scope">
|
||
<span v-if="scope.row.carModuleType === 1">固定车辆</span>
|
||
<span v-else-if="scope.row.carModuleType === 2">长期车辆</span>
|
||
<span v-else>临时车辆</span>
|
||
</template>
|
||
</el-table-column>
|
||
<!-- width="200" -->
|
||
<el-table-column
|
||
width="210"
|
||
prop="reserveStartTime reserveEndTime"
|
||
align="center"
|
||
label="预约时间"
|
||
>
|
||
<template
|
||
slot-scope="scope"
|
||
v-if="[2, 3].includes(scope.row.carModuleType)"
|
||
>
|
||
<span
|
||
v-if="
|
||
[2, 3].includes(scope.row.carModuleType) &&
|
||
scope.row.reserveStartTime
|
||
"
|
||
>
|
||
<!-- {{
|
||
scope.row.reserveStartTime + " 至 " + scope.row.reserveEndTime
|
||
}} -->
|
||
<span>开始:{{ scope.row.reserveStartTime }}</span
|
||
><br />
|
||
<span>结束:{{ scope.row.reserveEndTime }}</span>
|
||
</span>
|
||
</template>
|
||
</el-table-column>
|
||
<!-- width="110" -->
|
||
<el-table-column
|
||
prop="entryAndExitPermit"
|
||
align="center"
|
||
:label="$t('message.carManage.entryAndExitPermit')"
|
||
>
|
||
<template
|
||
slot-scope="scope"
|
||
v-if="[2, 3].includes(scope.row.carModuleType)"
|
||
>
|
||
<span v-if="scope.row.entryAndExitPermit === 0">单次</span>
|
||
<span v-else-if="scope.row.entryAndExitPermit === 1">多次</span>
|
||
</template>
|
||
</el-table-column>
|
||
<el-table-column width="120" align="center" label="车辆下发状态">
|
||
<template v-slot="{ row }">
|
||
<span
|
||
:class="[
|
||
'valuesColor',
|
||
row.sendSuccessStatus === 1
|
||
? 'green'
|
||
: row.sendSuccessStatus === 2
|
||
? 'red'
|
||
: row.sendSuccessStatus === 3
|
||
? 'yellow'
|
||
: '',
|
||
]"
|
||
>
|
||
{{
|
||
row.sendSuccessStatus === 1
|
||
? "成功"
|
||
: row.sendSuccessStatus === 2
|
||
? "失败"
|
||
: row.sendSuccessStatus === 3
|
||
? "部分成功"
|
||
: ""
|
||
}}</span
|
||
>
|
||
</template>
|
||
</el-table-column>
|
||
<!-- <el-table-column
|
||
width="80"
|
||
align="center"
|
||
label="驾驶证"
|
||
>
|
||
<div slot slot-scope="scope">
|
||
<img
|
||
v-if="
|
||
scope.row.jsz &&
|
||
JSON.parse(scope.row.jsz).length > 0
|
||
"
|
||
:preview="
|
||
JSON.parse(scope.row.jsz)[0]
|
||
? $store.state.FILEURL +
|
||
JSON.parse(scope.row.jsz)[0].url
|
||
: ''
|
||
"
|
||
:src="
|
||
JSON.parse(scope.row.jsz)[0]
|
||
? $store.state.FILEURL +
|
||
JSON.parse(scope.row.jsz)[0].url
|
||
: ''
|
||
"
|
||
alt=""
|
||
width="50px"
|
||
height="50px"
|
||
/>
|
||
</div>
|
||
</el-table-column>
|
||
<el-table-column
|
||
width="80"
|
||
align="center"
|
||
label="行驶证"
|
||
>
|
||
<div slot slot-scope="scope">
|
||
<img
|
||
v-if="
|
||
scope.row.xsz &&
|
||
JSON.parse(scope.row.xsz).length > 0
|
||
"
|
||
:preview="
|
||
JSON.parse(scope.row.xsz)[0]
|
||
? $store.state.FILEURL +
|
||
JSON.parse(scope.row.xsz)[0].url
|
||
: ''
|
||
"
|
||
:src="
|
||
JSON.parse(scope.row.xsz)[0]
|
||
? $store.state.FILEURL +
|
||
JSON.parse(scope.row.xsz)[0].url
|
||
: ''
|
||
"
|
||
alt=""
|
||
width="50px"
|
||
height="50px"
|
||
/>
|
||
</div>
|
||
</el-table-column>
|
||
<el-table-column
|
||
width="80"
|
||
align="center"
|
||
label="交强险"
|
||
>
|
||
<div slot slot-scope="scope">
|
||
<img
|
||
v-if="
|
||
scope.row.jqx &&
|
||
JSON.parse(scope.row.jqx).length > 0
|
||
"
|
||
:preview="
|
||
JSON.parse(scope.row.jqx)[0]
|
||
? $store.state.FILEURL +
|
||
JSON.parse(scope.row.jqx)[0].url
|
||
: ''
|
||
"
|
||
:src="
|
||
JSON.parse(scope.row.jqx)[0]
|
||
? $store.state.FILEURL +
|
||
JSON.parse(scope.row.jqx)[0].url
|
||
: ''
|
||
"
|
||
alt=""
|
||
width="50px"
|
||
height="50px"
|
||
/>
|
||
</div>
|
||
</el-table-column>
|
||
<el-table-column
|
||
width="80"
|
||
align="center"
|
||
label="其他证明"
|
||
>
|
||
<div slot slot-scope="scope">
|
||
<img
|
||
v-if="
|
||
scope.row.otherProve &&
|
||
JSON.parse(scope.row.otherProve).length > 0
|
||
"
|
||
:preview="
|
||
JSON.parse(scope.row.otherProve)[0]
|
||
? $store.state.FILEURL +
|
||
JSON.parse(scope.row.otherProve)[0].url
|
||
: ''
|
||
"
|
||
:src="
|
||
JSON.parse(scope.row.otherProve)[0]
|
||
? $store.state.FILEURL +
|
||
JSON.parse(scope.row.otherProve)[0].url
|
||
: ''
|
||
"
|
||
alt=""
|
||
width="50px"
|
||
height="50px"
|
||
/>
|
||
</div>
|
||
</el-table-column> -->
|
||
<el-table-column
|
||
width="400"
|
||
:label="$t('message.deviceManage.operation')"
|
||
align="center"
|
||
>
|
||
<template slot-scope="scope">
|
||
<div class="tableBtns">
|
||
<!--<div @click="yu(scope.row)" class="operationText"><img src="@/assets/images/yu.png" alt="">{{$t('message.alarmValueSet.yjz')}}
|
||
</div>
|
||
<div @click="bao(scope.row)" class="operationText"><img src="@/assets/images/bao.png" alt="">{{$t('message.alarmValueSet.bjz')}}
|
||
</div>-->
|
||
<div @click="showDetail(scope.row.id)" class="operationText">
|
||
<img
|
||
src="@/assets/images/tableIcon/showReply.png"
|
||
width="15px"
|
||
height="15px"
|
||
/>
|
||
<span>下发详情</span>
|
||
</div>
|
||
<div
|
||
@click="showOtherDetailDialog(scope.row)"
|
||
class="operationText"
|
||
>
|
||
<img
|
||
src="@/assets/images/icon-detail.png"
|
||
width="15px"
|
||
height="15px"
|
||
/>
|
||
<span>查看详情</span>
|
||
</div>
|
||
<div
|
||
v-permission="{
|
||
key: 'clgl_edit',
|
||
menuPath: '/project/carManage/carManage',
|
||
}"
|
||
@click="edit(scope.row)"
|
||
class="operationText"
|
||
>
|
||
<img
|
||
src="@/assets/images/icon-edit.png"
|
||
width="15px"
|
||
height="15px"
|
||
/>
|
||
<span>{{ $t("message.deviceManage.edit") }}</span>
|
||
</div>
|
||
<div
|
||
v-permission="{
|
||
key: 'clgl_delete',
|
||
menuPath: '/project/carManage/carManage',
|
||
}"
|
||
@click="deleteDev(scope.row)"
|
||
class="operationText"
|
||
>
|
||
<img
|
||
src="@/assets/images/icon-delete.png"
|
||
width="15px"
|
||
height="15px"
|
||
/>
|
||
<span>{{ $t("message.deviceManage.delete") }}</span>
|
||
</div>
|
||
</div>
|
||
</template>
|
||
</el-table-column>
|
||
</el-table>
|
||
<el-pagination
|
||
class="pagerBox"
|
||
@size-change="SizeChange"
|
||
@current-change="CurrentChange"
|
||
:current-page="pagInfo.pageNo"
|
||
:page-sizes="$store.state.PAGESIZRS"
|
||
:page-size="pagInfo.pageSize"
|
||
layout="total, sizes, prev, pager, next"
|
||
:total="Number(pagInfo.total)"
|
||
background
|
||
></el-pagination>
|
||
</div>
|
||
<el-dialog
|
||
:modal-append-to-body="false"
|
||
@close="close"
|
||
:title="$t('message.carManage.Popup_title')[Popup.type]"
|
||
:visible.sync="Popup.show"
|
||
width="667px"
|
||
>
|
||
<div class="dialog_content">
|
||
<el-form
|
||
v-show="Popup.type === 'add' || Popup.type === 'edit'"
|
||
size="medium"
|
||
ref="addEditForm"
|
||
:model="addEditForm"
|
||
:rules="addEditRules"
|
||
label-width="120px"
|
||
class="dialogFormBox"
|
||
>
|
||
<!-- 企业 -->
|
||
<el-form-item label="企业" prop="enterpriseId">
|
||
<el-select
|
||
v-model="addEditForm.enterpriseId"
|
||
:placeholder="$t('message.carManage.placeholder_select')"
|
||
>
|
||
<el-option
|
||
v-for="item in enterpriseListData"
|
||
:key="item.enterpriseId"
|
||
:label="item.enterpriseName"
|
||
:value="item.enterpriseId"
|
||
>
|
||
</el-option>
|
||
</el-select>
|
||
</el-form-item>
|
||
<!-- 固定/长期车辆 -->
|
||
<el-form-item label="车辆类型" prop="carModuleType">
|
||
<!-- <el-radio-group v-model="addEditForm.carModuleType" @change="changeForm()"> -->
|
||
<el-radio-group v-model="addEditForm.carModuleType">
|
||
<el-radio :label="1">固定车辆</el-radio>
|
||
<el-radio :label="2">长期车辆</el-radio>
|
||
<el-radio :label="3">临时车辆</el-radio>
|
||
</el-radio-group>
|
||
</el-form-item>
|
||
|
||
<!-- 预约开始时间 -->
|
||
<el-form-item
|
||
:label="$t('message.carManage.reserveStartTime')"
|
||
prop="reserveStartTime"
|
||
:rules="
|
||
[2, 3].includes(addEditForm.carModuleType)
|
||
? reserveStartTimeRule
|
||
: []
|
||
"
|
||
v-if="[2, 3].includes(addEditForm.carModuleType)"
|
||
>
|
||
<el-date-picker
|
||
v-model="addEditForm.reserveStartTime"
|
||
type="datetime"
|
||
value-format="yyyy-MM-dd HH:mm:ss"
|
||
@change="getStratEndTime()"
|
||
:placeholder="$t('message.deviceManage.placeholder')"
|
||
>
|
||
</el-date-picker>
|
||
</el-form-item>
|
||
|
||
<!-- 预约结束时间 -->
|
||
<el-form-item
|
||
:label="$t('message.carManage.reserveEndTime')"
|
||
prop="reserveEndTime"
|
||
:rules="
|
||
[2, 3].includes(addEditForm.carModuleType)
|
||
? reserveEndTimeRule
|
||
: []
|
||
"
|
||
v-if="[2, 3].includes(addEditForm.carModuleType)"
|
||
>
|
||
<el-date-picker
|
||
v-model="addEditForm.reserveEndTime"
|
||
type="datetime"
|
||
value-format="yyyy-MM-dd HH:mm:ss"
|
||
@change="getStratEndTime()"
|
||
:placeholder="$t('message.deviceManage.placeholder')"
|
||
:default-value="new Date()"
|
||
>
|
||
</el-date-picker>
|
||
</el-form-item>
|
||
|
||
<!-- 允许进出次数 -->
|
||
<el-form-item
|
||
:label="$t('message.carManage.entryAndExitPermit')"
|
||
prop="entryAndExitPermit"
|
||
:rules="
|
||
[2, 3].includes(addEditForm.carModuleType) ? isRequireRule : []
|
||
"
|
||
v-if="[2, 3].includes(addEditForm.carModuleType)"
|
||
>
|
||
<el-radio-group v-model="addEditForm.entryAndExitPermit">
|
||
<el-radio :label="0">单次</el-radio>
|
||
<el-radio :label="1">多次</el-radio>
|
||
</el-radio-group>
|
||
</el-form-item>
|
||
|
||
<!-- 车牌号 -->
|
||
<el-form-item
|
||
:label="$t('message.carManage.carNumber')"
|
||
prop="carNumber"
|
||
>
|
||
<el-input
|
||
:maxlength="10"
|
||
v-model="addEditForm.carNumber"
|
||
:placeholder="$t('message.deviceManage.placeholder')"
|
||
></el-input>
|
||
</el-form-item>
|
||
|
||
<!-- 车辆图片 -->
|
||
<el-form-item
|
||
:label="$t('message.carManage.carPhotosUrl')"
|
||
prop="carPhotosUrl"
|
||
>
|
||
<el-upload
|
||
:action="$store.state.UPLOADURL"
|
||
list-type="picture-card"
|
||
multiple
|
||
name="files"
|
||
:file-list="fileList"
|
||
:on-success="handleSuccess"
|
||
:on-remove="handleRemove"
|
||
>
|
||
<i class="el-icon-plus"></i> </el-upload
|
||
><!--:on-preview="handlePictureCardPreview"-->
|
||
<!-- {{showImgUrl}}-->
|
||
</el-form-item>
|
||
<!-- 驾驶证 -->
|
||
<el-form-item
|
||
label="驾驶证"
|
||
prop="jsz"
|
||
v-if="[2, 3].includes(addEditForm.carModuleType)"
|
||
>
|
||
<el-upload
|
||
:action="$store.state.UPLOADURL"
|
||
list-type="picture-card"
|
||
multiple
|
||
name="files"
|
||
:file-list="fileList2"
|
||
:on-success="handleSuccess2"
|
||
:on-remove="handleRemove2"
|
||
>
|
||
<i class="el-icon-plus"></i> </el-upload
|
||
><!--:on-preview="handlePictureCardPreview"-->
|
||
<!-- {{showImgUrl}}-->
|
||
</el-form-item>
|
||
<!-- 行驶证 -->
|
||
<el-form-item
|
||
label="行驶证"
|
||
prop="xsz"
|
||
v-if="[2, 3].includes(addEditForm.carModuleType)"
|
||
>
|
||
<el-upload
|
||
:action="$store.state.UPLOADURL"
|
||
list-type="picture-card"
|
||
multiple
|
||
name="files"
|
||
:file-list="fileList3"
|
||
:on-success="handleSuccess3"
|
||
:on-remove="handleRemove3"
|
||
>
|
||
<i class="el-icon-plus"></i> </el-upload
|
||
><!--:on-preview="handlePictureCardPreview"-->
|
||
<!-- {{showImgUrl}}-->
|
||
</el-form-item>
|
||
<!-- 交强险 -->
|
||
<el-form-item
|
||
label="交强险"
|
||
prop="jqx"
|
||
v-if="[2, 3].includes(addEditForm.carModuleType)"
|
||
>
|
||
<el-upload
|
||
:action="$store.state.UPLOADURL"
|
||
list-type="picture-card"
|
||
multiple
|
||
name="files"
|
||
:file-list="fileList4"
|
||
:on-success="handleSuccess4"
|
||
:on-remove="handleRemove4"
|
||
>
|
||
<i class="el-icon-plus"></i> </el-upload
|
||
><!--:on-preview="handlePictureCardPreview"-->
|
||
<!-- {{showImgUrl}}-->
|
||
</el-form-item>
|
||
<!-- 其他证明 -->
|
||
<el-form-item
|
||
label="其他证明"
|
||
prop="otherProve"
|
||
v-if="[2, 3].includes(addEditForm.carModuleType)"
|
||
>
|
||
<el-upload
|
||
:action="$store.state.UPLOADURL"
|
||
list-type="picture-card"
|
||
multiple
|
||
name="files"
|
||
:file-list="fileList5"
|
||
:on-success="handleSuccess5"
|
||
:on-remove="handleRemove5"
|
||
>
|
||
<i class="el-icon-plus"></i> </el-upload
|
||
><!--:on-preview="handlePictureCardPreview"-->
|
||
<!-- {{showImgUrl}}-->
|
||
</el-form-item>
|
||
<!-- 车身颜色 -->
|
||
<el-form-item
|
||
label="车身颜色"
|
||
prop="carColor"
|
||
v-if="COMPANY != 'neimenggu'"
|
||
>
|
||
<el-select
|
||
v-model="addEditForm.carColor"
|
||
:placeholder="$t('message.carManage.placeholder_select')"
|
||
>
|
||
<el-option
|
||
v-for="item in $t('message.carManage.carColorArr')"
|
||
:key="item.value"
|
||
:label="item"
|
||
:value="item"
|
||
>
|
||
</el-option>
|
||
</el-select>
|
||
</el-form-item>
|
||
|
||
<!-- 车辆类型 -->
|
||
<el-form-item label="车种类型" prop="carType">
|
||
<el-select
|
||
v-model="addEditForm.carType"
|
||
:placeholder="$t('message.carManage.placeholder_select')"
|
||
>
|
||
<el-option
|
||
v-for="(item, index) in carTypeList"
|
||
:key="index"
|
||
:label="item.carTypeName"
|
||
:value="item.id"
|
||
>
|
||
</el-option>
|
||
</el-select>
|
||
</el-form-item>
|
||
|
||
<!-- 司机姓名 -->
|
||
<el-form-item
|
||
:label="$t('message.carManage.driverName')"
|
||
prop="driverWorkerName"
|
||
v-if="COMPANY == 'neimenggu' || addEditForm.carModuleType == 3"
|
||
>
|
||
<el-input
|
||
v-model="addEditForm.driverWorkerName"
|
||
:placeholder="$t('message.deviceManage.placeholder')"
|
||
></el-input>
|
||
</el-form-item>
|
||
|
||
<!-- 司机姓名 -->
|
||
<el-form-item
|
||
:label="$t('message.carManage.driverName')"
|
||
prop="driverWorkerId"
|
||
v-else
|
||
>
|
||
<!-- <el-input v-model="addEditForm.driverName"
|
||
:placeholder="$t('message.deviceManage.placeholder')"></el-input> -->
|
||
<el-select
|
||
v-model="addEditForm.driverWorkerId"
|
||
filterable
|
||
:placeholder="$t('message.deviceManage.placeholder_select')"
|
||
>
|
||
<el-option
|
||
v-for="item in appWorkerList"
|
||
:key="item.id"
|
||
:label="item.workerName"
|
||
:value="item.id"
|
||
>
|
||
</el-option>
|
||
</el-select>
|
||
</el-form-item>
|
||
<!-- 司机身份证号 -->
|
||
<el-form-item
|
||
label="人员身份证号"
|
||
prop="outsideDriverIdCard"
|
||
v-if="addEditForm.carModuleType == 3"
|
||
>
|
||
<el-input
|
||
v-model="addEditForm.outsideDriverIdCard"
|
||
:placeholder="$t('message.deviceManage.placeholder')"
|
||
></el-input>
|
||
</el-form-item>
|
||
<!-- 司机电话 -->
|
||
<el-form-item label="司机电话" prop="driverTelephone">
|
||
<el-input
|
||
type="number"
|
||
v-model="addEditForm.driverTelephone"
|
||
placeholder="请输入"
|
||
></el-input>
|
||
</el-form-item>
|
||
|
||
<!-- <el-form-item :label="$t('message.carManage.driverTelephone')" prop="driverTelephone">
|
||
<el-input v-model="addEditForm.driverTelephone"
|
||
:placeholder="$t('message.deviceManage.placeholder')"></el-input>
|
||
</el-form-item> -->
|
||
<!-- <el-form-item :label="'身份证号码'" prop="idCard">
|
||
<el-input v-model="addEditForm.idCard"
|
||
:placeholder="$t('message.deviceManage.placeholder')"></el-input>
|
||
</el-form-item> -->
|
||
<!-- 是否黑名单 -->
|
||
<el-form-item :label="$t('message.carManage.isBlack')" prop="isBlack">
|
||
<el-radio-group v-model="addEditForm.isBlack">
|
||
<el-radio
|
||
v-for="(i, index) in $t('message.carManage.isBlackArr')"
|
||
:key="i.value"
|
||
:label="index"
|
||
>{{ i }}
|
||
</el-radio>
|
||
</el-radio-group>
|
||
</el-form-item>
|
||
<!-- 报警推送人 -->
|
||
<el-form-item :label="$t('message.deviceManage.alarmPushWorkerId')">
|
||
<el-select
|
||
v-model="addEditForm.alarmPushWorkerId"
|
||
multiple
|
||
filterable
|
||
collapse-tags
|
||
:placeholder="$t('message.deviceManage.placeholder_select')"
|
||
>
|
||
<el-option
|
||
v-for="item in options"
|
||
:key="item.workerId"
|
||
:label="item.workerName"
|
||
:value="item.workerId"
|
||
v-if="item.workerId != ''"
|
||
>
|
||
</el-option>
|
||
</el-select>
|
||
</el-form-item>
|
||
<!-- <div class="dev-content">
|
||
<span class="dev-content-title">车辆相机设备</span>
|
||
<el-checkbox
|
||
:indeterminate="isIndeterminate2"
|
||
v-model="checkAllDev"
|
||
@change="handleCheckAllChange"
|
||
>{{ $t("message.laborMange.checkAll") }}</el-checkbox
|
||
>
|
||
<el-checkbox-group
|
||
key="group1"
|
||
v-model="addEditForm.uDevId"
|
||
@change="handleUDevChange"
|
||
style="margin-top: 5px;"
|
||
>
|
||
<el-checkbox
|
||
v-for="(item, index) in uDevAllList"
|
||
:key="index"
|
||
:label="item.cameraId"
|
||
>
|
||
{{ item.cameraName }}
|
||
</el-checkbox>
|
||
</el-checkbox-group>
|
||
</div> -->
|
||
<div class="dialog-footer">
|
||
<el-button
|
||
class="cancleBtn"
|
||
@click="Popup.show = false"
|
||
icon="el-icon-circle-close"
|
||
size="medium"
|
||
>{{ $t("message.deviceManage.cancel") }}
|
||
</el-button>
|
||
<el-button
|
||
type="primary"
|
||
icon="el-icon-circle-check"
|
||
@click="submit"
|
||
size="medium"
|
||
>{{ $t("message.deviceManage.save") }}
|
||
</el-button>
|
||
</div>
|
||
</el-form>
|
||
</div>
|
||
</el-dialog>
|
||
<!-- 下发详情 -->
|
||
<el-dialog
|
||
:modal-append-to-body="false"
|
||
title="下发详情"
|
||
:close-on-click-modal="false"
|
||
:visible.sync="issueTeamDialog"
|
||
width="740px"
|
||
>
|
||
<div class="dialog_content">
|
||
<div class="table_wrap whiteBlock">
|
||
<el-table class="tables" :data="issuePointList">
|
||
<el-table-column
|
||
type="index"
|
||
width="50"
|
||
align="center"
|
||
:label="$t('message.personnelPosition.beaconManage.table.index')"
|
||
></el-table-column>
|
||
<el-table-column
|
||
prop="detail"
|
||
label="任务名称"
|
||
align="center"
|
||
></el-table-column>
|
||
<el-table-column prop="isSuccess" label="执行结果" align="center">
|
||
<template v-slot="{ row }">{{
|
||
row.isSuccess === 1 ? "成功" : row.isSuccess === 0 ? "失败" : ""
|
||
}}</template>
|
||
</el-table-column>
|
||
|
||
<el-table-column
|
||
:label="
|
||
$t('message.personnelPosition.beaconManage.table.operation')
|
||
"
|
||
align="center"
|
||
width="150"
|
||
>
|
||
<template v-slot="{ row }">
|
||
<div
|
||
class="operationText"
|
||
@click="retryEvent(row.id)"
|
||
v-if="row.isSuccess === 0"
|
||
>
|
||
<span style="color: #5381f6">重试</span>
|
||
</div>
|
||
</template>
|
||
</el-table-column>
|
||
<!-- <div slot="empty">{{$t('message.personnelPosition.empty')}}</div> -->
|
||
</el-table>
|
||
<!-- <el-pagination
|
||
class="pagerBox"
|
||
@size-change="handleSizeChange"
|
||
@current-change="handleCurrentChange"
|
||
:current-page="issuePage.pageNo"
|
||
:page-sizes="$store.state.PAGESIZRS"
|
||
:page-size="issuePage.pageSize"
|
||
layout="total, sizes, prev, pager, next"
|
||
:total="Number(total)"
|
||
background
|
||
></el-pagination> -->
|
||
<!-- <div class="dialog-footer">
|
||
<el-button
|
||
class="cancleBtn"
|
||
@click="issueTeamDialog = false"
|
||
icon="el-icon-circle-close"
|
||
size="medium"
|
||
>{{ $t("message.laborMange.cancel") }}</el-button
|
||
>
|
||
<el-button
|
||
type="primary"
|
||
icon="el-icon-circle-check"
|
||
@click="issueTeamDialog = false"
|
||
size="medium"
|
||
>{{ $t("message.laborMange.confirm") }}</el-button
|
||
>
|
||
</div> -->
|
||
</div>
|
||
</div>
|
||
</el-dialog>
|
||
<!-- <img :preview="showImgUrl" :src="showImgUrl" alt="">-->
|
||
<!-- 其他详情 -->
|
||
<!-- 下发详情 -->
|
||
<el-dialog
|
||
:modal-append-to-body="false"
|
||
title="其他详情"
|
||
:close-on-click-modal="false"
|
||
:visible.sync="showOtherDetail"
|
||
width="850px"
|
||
>
|
||
<!-- <div class="dialogOtherDetail">
|
||
<vue-scroll>
|
||
<div class="innerContainer">
|
||
<div>企业名称:</div>
|
||
<div>车牌号:</div>
|
||
<div>车身颜色:</div>
|
||
<div>车辆类型:</div>
|
||
<div>司机姓名:</div>
|
||
<div>司机电话:</div>
|
||
<div>是否黑名单:</div>
|
||
<div>车辆图片:</div>
|
||
<div>固定/长期/临时车辆:</div>
|
||
<div>预约时间:</div>
|
||
<div>允许进出次数:</div>
|
||
<div>车辆下发状态:</div>
|
||
<div>驾驶证:</div>
|
||
<div>行驶证:</div>
|
||
<div>交强险:</div>
|
||
<div>其他证明:</div>
|
||
</div>
|
||
</vue-scroll>
|
||
</div> -->
|
||
<div style="height: 420px">
|
||
<vue-scroll>
|
||
<div style="width: 800px">
|
||
<!-- 隐患记录 超期整改 -->
|
||
<div class="headerLeft">车辆记录详情</div>
|
||
<div class="detailBox">
|
||
<el-row :gutter="20">
|
||
<el-col :span="12">
|
||
<div class="grid-content">
|
||
<span class="label">企业名称:</span>
|
||
<span class="value">{{ entityDetail.enterpriseName }}</span>
|
||
</div>
|
||
</el-col>
|
||
<el-col :span="12">
|
||
<div class="grid-content">
|
||
<span class="label">车牌号:</span>
|
||
<span class="value">{{ entityDetail.carNumber }}</span>
|
||
</div>
|
||
</el-col>
|
||
</el-row>
|
||
<el-row :gutter="20">
|
||
<el-col :span="12">
|
||
<div class="grid-content">
|
||
<span class="label">车身颜色:</span>
|
||
<span class="value">{{ entityDetail.carColor }}</span>
|
||
</div>
|
||
</el-col>
|
||
<el-col :span="12">
|
||
<div class="grid-content">
|
||
<span class="label">车种类型:</span>
|
||
<span class="value">{{ entityDetail.carTypeName }}</span>
|
||
</div>
|
||
</el-col>
|
||
</el-row>
|
||
<el-row :gutter="20">
|
||
<el-col :span="12">
|
||
<div class="grid-content">
|
||
<span class="label">司机姓名:</span>
|
||
<span class="value">{{
|
||
entityDetail.driverWorkerName
|
||
}}</span>
|
||
</div>
|
||
</el-col>
|
||
<el-col :span="12">
|
||
<div class="grid-content">
|
||
<span class="label">司机电话:</span>
|
||
<span class="value">{{
|
||
entityDetail.driverTelephone
|
||
}}</span>
|
||
</div>
|
||
</el-col>
|
||
</el-row>
|
||
<el-row :gutter="20">
|
||
<el-col :span="12">
|
||
<div class="grid-content">
|
||
<span class="label" style="margin-left: 0px"
|
||
>是否黑名单:</span
|
||
>
|
||
<span class="value">{{
|
||
entityDetail.isBlack === 1 ? "是" : "否"
|
||
}}</span>
|
||
</div>
|
||
</el-col>
|
||
<el-col :span="12">
|
||
<div class="grid-content">
|
||
<span class="label">车辆类型:</span>
|
||
<span class="value" v-if="entityDetail.carModuleType === 1"
|
||
>固定车辆</span
|
||
>
|
||
<span
|
||
class="value"
|
||
v-else-if="entityDetail.carModuleType === 2"
|
||
>长期车辆</span
|
||
>
|
||
<span class="value" v-else>临时车辆</span>
|
||
</div>
|
||
</el-col>
|
||
</el-row>
|
||
<el-row :gutter="20">
|
||
<el-col :span="12">
|
||
<div class="grid-content">
|
||
<span class="label">预约开始时间:</span>
|
||
<span class="value">{{
|
||
entityDetail.reserveStartTime
|
||
}}</span>
|
||
</div>
|
||
</el-col>
|
||
<el-col :span="12">
|
||
<div class="grid-content">
|
||
<span class="label">预约结束时间:</span>
|
||
<span class="value">{{ entityDetail.reserveEndTime }}</span>
|
||
</div>
|
||
</el-col>
|
||
</el-row>
|
||
<el-row :gutter="20">
|
||
<el-col :span="12">
|
||
<div class="grid-content">
|
||
<span class="label">允许进出次数:</span>
|
||
<span
|
||
class="value"
|
||
v-if="entityDetail.entryAndExitPermit === 0"
|
||
>单次</span
|
||
>
|
||
<span
|
||
class="value"
|
||
v-if="entityDetail.entryAndExitPermit === 1"
|
||
>多次</span
|
||
>
|
||
</div>
|
||
</el-col>
|
||
<el-col :span="12">
|
||
<div class="grid-content">
|
||
<span class="label">车辆下发状态:</span>
|
||
<span class="value">
|
||
<span
|
||
:class="[
|
||
'valuesColor',
|
||
entityDetail.sendSuccessStatus === 1
|
||
? 'green'
|
||
: entityDetail.sendSuccessStatus === 2
|
||
? 'red'
|
||
: entityDetail.sendSuccessStatus === 3
|
||
? 'yellow'
|
||
: '',
|
||
]"
|
||
>
|
||
{{
|
||
entityDetail.sendSuccessStatus === 1
|
||
? "成功"
|
||
: entityDetail.sendSuccessStatus === 2
|
||
? "失败"
|
||
: entityDetail.sendSuccessStatus === 3
|
||
? "部分成功"
|
||
: ""
|
||
}}</span
|
||
>
|
||
</span>
|
||
</div>
|
||
</el-col>
|
||
</el-row>
|
||
<el-row :gutter="20">
|
||
<el-col :span="12">
|
||
<div class="grid-content">
|
||
<span class="label">车辆图片:</span>
|
||
<span
|
||
class="value"
|
||
v-if="
|
||
entityDetail.carPhotosUrl &&
|
||
JSON.parse(entityDetail.carPhotosUrl).length > 0
|
||
"
|
||
>
|
||
<img
|
||
v-for="(item, index) in JSON.parse(
|
||
entityDetail.carPhotosUrl
|
||
)"
|
||
:key="index"
|
||
:preview="item ? $store.state.FILEURL + item.url : ''"
|
||
:src="item ? $store.state.FILEURL + item.url : ''"
|
||
alt=""
|
||
width="50px"
|
||
height="50px"
|
||
style="margin-right: 10px"
|
||
/>
|
||
</span>
|
||
</div>
|
||
</el-col>
|
||
<el-col :span="12">
|
||
<div class="grid-content">
|
||
<span class="label">驾驶证:</span>
|
||
<span
|
||
class="value"
|
||
v-if="
|
||
entityDetail.jsz &&
|
||
JSON.parse(entityDetail.jsz).length > 0
|
||
"
|
||
>
|
||
<img
|
||
v-for="(item, index) in JSON.parse(entityDetail.jsz)"
|
||
:key="index"
|
||
:preview="item ? $store.state.FILEURL + item.url : ''"
|
||
:src="item ? $store.state.FILEURL + item.url : ''"
|
||
alt=""
|
||
width="50px"
|
||
height="50px"
|
||
style="margin-right: 10px"
|
||
/>
|
||
</span>
|
||
</div>
|
||
</el-col>
|
||
</el-row>
|
||
<el-row :gutter="20">
|
||
<el-col :span="12">
|
||
<div class="grid-content">
|
||
<span class="label">行驶证:</span>
|
||
<span
|
||
class="value"
|
||
v-if="
|
||
entityDetail.xsz &&
|
||
JSON.parse(entityDetail.xsz).length > 0
|
||
"
|
||
>
|
||
<img
|
||
v-for="(item, index) in JSON.parse(entityDetail.xsz)"
|
||
:key="index"
|
||
:preview="item ? $store.state.FILEURL + item.url : ''"
|
||
:src="item ? $store.state.FILEURL + item.url : ''"
|
||
alt=""
|
||
width="50px"
|
||
height="50px"
|
||
style="margin-right: 10px"
|
||
/>
|
||
</span>
|
||
</div>
|
||
</el-col>
|
||
<el-col :span="12">
|
||
<div class="grid-content">
|
||
<span class="label">交强险:</span>
|
||
<span
|
||
class="value"
|
||
v-if="
|
||
entityDetail.jqx &&
|
||
JSON.parse(entityDetail.jqx).length > 0
|
||
"
|
||
>
|
||
<img
|
||
v-for="(item, index) in JSON.parse(entityDetail.jqx)"
|
||
:key="index"
|
||
:preview="item ? $store.state.FILEURL + item.url : ''"
|
||
:src="item ? $store.state.FILEURL + item.url : ''"
|
||
alt=""
|
||
width="50px"
|
||
height="50px"
|
||
style="margin-right: 10px"
|
||
/>
|
||
</span>
|
||
</div>
|
||
</el-col>
|
||
</el-row>
|
||
<el-row :gutter="20">
|
||
<el-col :span="12">
|
||
<div class="grid-content">
|
||
<span class="label">其他证明:</span>
|
||
<span
|
||
class="value"
|
||
v-if="
|
||
entityDetail.otherProve &&
|
||
JSON.parse(entityDetail.otherProve).length > 0
|
||
"
|
||
>
|
||
<img
|
||
v-for="(item, index) in JSON.parse(
|
||
entityDetail.otherProve
|
||
)"
|
||
:key="index"
|
||
:preview="item ? $store.state.FILEURL + item.url : ''"
|
||
:src="item ? $store.state.FILEURL + item.url : ''"
|
||
alt=""
|
||
width="50px"
|
||
height="50px"
|
||
style="margin-right: 10px"
|
||
/>
|
||
</span>
|
||
</div>
|
||
</el-col>
|
||
<el-col :span="12">
|
||
<div class="grid-content">
|
||
<span class="label">司机身份证号:</span>
|
||
<span class="value">{{
|
||
entityDetail.outsideDriverIdCard
|
||
}}</span>
|
||
</div>
|
||
</el-col>
|
||
</el-row>
|
||
</div>
|
||
</div>
|
||
</vue-scroll>
|
||
</div>
|
||
</el-dialog>
|
||
</div>
|
||
</template>
|
||
<script>
|
||
import { checkPhone } from "@/assets/js/util.js";
|
||
import {
|
||
addCarInfoApi,
|
||
editCarInfoApi,
|
||
deleteCarInfoApi,
|
||
getCarInfoListApi,
|
||
getcarTypeListApi,
|
||
getCarCameraListApi,
|
||
} from "../../../assets/js/api/carManage";
|
||
import { getProjectChilderSystemUserListApi } from "@/assets/js/api/configManage";
|
||
import {
|
||
getWorkerInfoList,
|
||
getEnterpriseInfoList,
|
||
xmglXzHikvisionSyncGetNewestList,
|
||
xmglXzHikvisionSyncRetryAPI,
|
||
} from "@/assets/js/api/laborPerson";
|
||
import store from "@/store";
|
||
import mqtt from "mqtt";
|
||
var client = null;
|
||
const options = {
|
||
connectTimeout: 40000,
|
||
clientId: "mqttjs_" + Math.random().toString(16).substr(2, 8),
|
||
username: "root",
|
||
password: "123456",
|
||
clean: true,
|
||
};
|
||
export default {
|
||
data() {
|
||
var validReserveStartTime = (rule, value, callback) => {
|
||
if (
|
||
this.addEditForm.reserveStartTime === "" ||
|
||
this.addEditForm.reserveStartTime === undefined
|
||
) {
|
||
callback(new Error("必填"));
|
||
} else {
|
||
let startTime = new Date(this.addEditForm.reserveStartTime);
|
||
let endTime = new Date(this.addEditForm.reserveEndTime);
|
||
if (startTime > endTime) {
|
||
callback(new Error("必须小于预约结束时间"));
|
||
} else {
|
||
callback();
|
||
}
|
||
}
|
||
};
|
||
var validReserveEndTime = (rule, value, callback) => {
|
||
if (
|
||
this.addEditForm.reserveEndTime === "" ||
|
||
this.addEditForm.reserveEndTime === undefined
|
||
) {
|
||
callback(new Error("必填"));
|
||
} else {
|
||
let startTime = new Date(this.addEditForm.reserveStartTime);
|
||
let endTime = new Date(this.addEditForm.reserveEndTime);
|
||
if (startTime > endTime) {
|
||
callback(new Error("必须大于预约开始时间"));
|
||
} else {
|
||
callback();
|
||
}
|
||
}
|
||
};
|
||
return {
|
||
sendStatusArr: [
|
||
{ name: "成功", value: 1 },
|
||
{ name: "失败", value: 2 },
|
||
{ name: "部分成功", value: 3 },
|
||
],
|
||
tableParameter: {
|
||
sendSuccessStatus: null,
|
||
carModuleType: null,
|
||
},
|
||
enterpriseListData: [],
|
||
uDevAllList: [],
|
||
isIndeterminate2: false,
|
||
checkAllDev: false,
|
||
isRequireRule: [
|
||
{
|
||
required: true,
|
||
message: this.$t("message.carManage.required"),
|
||
trigger: "blur",
|
||
},
|
||
{
|
||
required: true,
|
||
message: this.$t("message.carManage.required"),
|
||
trigger: "change",
|
||
},
|
||
],
|
||
reserveStartTimeRule: [
|
||
{ required: true, validator: validReserveStartTime, trigger: "blur" },
|
||
{ required: true, validator: validReserveStartTime, trigger: "change" },
|
||
],
|
||
reserveEndTimeRule: [
|
||
{ required: true, validator: validReserveEndTime, trigger: "blur" },
|
||
{ required: true, validator: validReserveEndTime, trigger: "change" },
|
||
],
|
||
startEndTimeArr: [],
|
||
COMPANY: COMPANY,
|
||
fileList: [],
|
||
fileList2: [],
|
||
fileList3: [],
|
||
fileList4: [],
|
||
fileList5: [],
|
||
showImgUrl: "",
|
||
editPermission: false,
|
||
props: {
|
||
multiple: true,
|
||
},
|
||
addEditRules: {
|
||
carModuleType: [
|
||
{
|
||
required: true,
|
||
message: this.$t("message.carManage.required"),
|
||
trigger: "blur",
|
||
},
|
||
{
|
||
required: true,
|
||
message: this.$t("message.carManage.required"),
|
||
trigger: "change",
|
||
},
|
||
],
|
||
startEndTimeArr: [
|
||
// { required: true, validator: validIsCarModuleType1, trigger: "blur" },
|
||
// { required: true, validator: validIsCarModuleType1, trigger: "change" }
|
||
],
|
||
entryAndExitPermit: [
|
||
// { required: true, validator: validIsCarModuleType2, trigger: "blur" },
|
||
// { required: true, validator: validIsCarModuleType2, trigger: "change" }
|
||
],
|
||
carColor: [
|
||
{
|
||
required: true,
|
||
message: this.$t("message.carManage.required"),
|
||
trigger: "blur",
|
||
},
|
||
{
|
||
required: true,
|
||
message: this.$t("message.carManage.required"),
|
||
trigger: "change",
|
||
},
|
||
],
|
||
carNumber: [
|
||
{
|
||
required: true,
|
||
message: this.$t("message.carManage.required"),
|
||
trigger: "blur",
|
||
},
|
||
{
|
||
required: true,
|
||
message: this.$t("message.carManage.required"),
|
||
trigger: "change",
|
||
},
|
||
],
|
||
carType: [
|
||
{
|
||
required: true,
|
||
message: this.$t("message.carManage.required"),
|
||
trigger: "blur",
|
||
},
|
||
{
|
||
required: true,
|
||
message: this.$t("message.carManage.required"),
|
||
trigger: "change",
|
||
},
|
||
],
|
||
driverTelephone: [
|
||
{
|
||
required: true,
|
||
message: this.$t("message.carManage.required"),
|
||
trigger: "blur",
|
||
},
|
||
{
|
||
required: true,
|
||
message: this.$t("message.carManage.required"),
|
||
trigger: "change",
|
||
},
|
||
],
|
||
isBlack: [
|
||
{
|
||
required: true,
|
||
message: this.$t("message.carManage.required"),
|
||
trigger: "blur",
|
||
},
|
||
{
|
||
required: true,
|
||
message: this.$t("message.carManage.required"),
|
||
trigger: "change",
|
||
},
|
||
],
|
||
driverWorkerId: [
|
||
{
|
||
required: true,
|
||
message: this.$t("message.carManage.required"),
|
||
trigger: "change",
|
||
},
|
||
// {required: true, message: this.$t('message.carManage.required'), trigger: "change"}
|
||
],
|
||
driverTelephone: [
|
||
{
|
||
required: true,
|
||
message: this.$t("message.carManage.required"),
|
||
trigger: "blur",
|
||
},
|
||
{
|
||
required: true,
|
||
message: this.$t("message.carManage.required"),
|
||
trigger: "change",
|
||
},
|
||
],
|
||
driverWorkerName: [
|
||
{
|
||
required: true,
|
||
message: this.$t("message.carManage.required"),
|
||
trigger: "blur",
|
||
},
|
||
{
|
||
required: true,
|
||
message: this.$t("message.carManage.required"),
|
||
trigger: "change",
|
||
},
|
||
],
|
||
outsideDriverIdCard: [
|
||
{
|
||
required: true,
|
||
message: "请输入正确的身份证格式",
|
||
trigger: "blur",
|
||
pattern:
|
||
/^\d{6}(18|19|20)?\d{2}(0[1-9]|1[012])(0[1-9]|[12]\d|3[01])\d{3}(\d|X)$/i,
|
||
},
|
||
],
|
||
},
|
||
options: [
|
||
/*{realName: "曾祥万", value: 1},
|
||
{realName: "李先生", value: 2},*/
|
||
],
|
||
addEditForm: {
|
||
// uDevId: [],
|
||
isBlack: 0,
|
||
},
|
||
pagInfo: {
|
||
pageNo: 1, //页数
|
||
pageSize: 10, //条数
|
||
total: 0, //总条数
|
||
},
|
||
List: [
|
||
/*{
|
||
deviceId: "124578",
|
||
deviceName: "扬尘监测1",
|
||
isClosed: 2,
|
||
address: "22",
|
||
createTime: "2019-05-05 16:55:46",
|
||
}*/
|
||
],
|
||
Popup: {
|
||
type: "add",
|
||
show: false,
|
||
},
|
||
carTypeList: [],
|
||
carNumber: "",
|
||
isBlack: "",
|
||
appWorkerList: [],
|
||
issueTeamDialog: false,
|
||
issuePage: {
|
||
pageNo: 1,
|
||
pageSize: 10,
|
||
},
|
||
whoId: "",
|
||
issuePointList: [],
|
||
|
||
showOtherDetail: false,
|
||
entityDetail: {},
|
||
topicName: "topic",
|
||
userId: "",
|
||
};
|
||
},
|
||
beforeDestroy() {
|
||
if (client) {
|
||
client.unsubscribe(this.topicName + this.userId, options);
|
||
client.end();
|
||
}
|
||
client = null;
|
||
},
|
||
mounted() {
|
||
this.userId = this.$store.state.userInfo.userId;
|
||
this.topicName = this.$store.state.userInfo.scope;
|
||
this.getWorkerList();
|
||
this.getList();
|
||
this.getLaborManagementList();
|
||
this.getAppWorkerList();
|
||
this.getUDevList();
|
||
this.getEnterpriseListFn();
|
||
this.getBlackWhiteBoole();
|
||
client = mqtt.connect(mqttUrl, options);
|
||
this.mqttMSG();
|
||
},
|
||
methods: {
|
||
// 监听mqtt下发信息然后刷新列表
|
||
mqttMSG() {
|
||
// mqtt连接 +"/#" +workerId
|
||
client.on("connect", (e) => {
|
||
// console.log('连接成功:', this.topicName + this.userId)
|
||
client.subscribe(this.topicName + this.userId, { qos: 0 }, (error) => {
|
||
if (!error) {
|
||
// console.log('订阅成功123')
|
||
} else {
|
||
console.log("订阅失败");
|
||
}
|
||
});
|
||
});
|
||
// 接收消息处理
|
||
client.on("message", (topic, message) => {
|
||
// console.log(message);
|
||
this.getList();
|
||
});
|
||
// 断开发起重连
|
||
// client.on("reconnect", (error) => {
|
||
// console.log("正在重连:", error);
|
||
// });
|
||
// 链接异常处理
|
||
client.on("error", (error) => {
|
||
console.log("连接失败:", error);
|
||
});
|
||
},
|
||
// 展示下发详情
|
||
async showDetail(id) {
|
||
this.issueTeamDialog = true;
|
||
this.whoId = id;
|
||
this.getNewestList();
|
||
},
|
||
// 展示其他详情
|
||
showOtherDetailDialog(item) {
|
||
this.showOtherDetail = true;
|
||
this.entityDetail = item;
|
||
},
|
||
async getNewestList() {
|
||
const res = await xmglXzHikvisionSyncGetNewestList({
|
||
// pageNo:this.issuePage.pageNo,
|
||
// pageSize:this.issuePage.pageSize,
|
||
whoId: this.whoId,
|
||
});
|
||
console.log(res, "---------------------");
|
||
this.issuePointList = res.result;
|
||
},
|
||
async retryEvent(id) {
|
||
this.$notify({
|
||
title: "正在重试...",
|
||
type: "success",
|
||
duration: 1500,
|
||
});
|
||
const res = await xmglXzHikvisionSyncRetryAPI({
|
||
id: id,
|
||
});
|
||
console.log(res);
|
||
this.getList();
|
||
},
|
||
getBlackWhiteBoole() {
|
||
let clgl = {
|
||
key: "clgl_blackWhiteList",
|
||
menuPath: "/project/carManage/carManage",
|
||
};
|
||
console.log("1111111111111111111111111", this.checkPermission(clgl));
|
||
this.editPermission = this.checkPermission(clgl);
|
||
},
|
||
// 获取企业分级列表
|
||
getEnterpriseListFn() {
|
||
getEnterpriseInfoList({
|
||
projectSn: this.$store.state.projectSn,
|
||
}).then((result) => {
|
||
if (result.success) {
|
||
this.enterpriseListData = result.result;
|
||
}
|
||
});
|
||
},
|
||
// 获取所有相机设备
|
||
getUDevList() {
|
||
getCarCameraListApi({ projectSn: this.$store.state.projectSn }).then(
|
||
(result) => {
|
||
if (result.success) {
|
||
this.uDevAllList = result.result;
|
||
console.log("列表", result);
|
||
}
|
||
}
|
||
);
|
||
},
|
||
handleUDevChange(val) {
|
||
console.log("-------------", val);
|
||
let checkedCount = val.length;
|
||
let allCheckList = [];
|
||
for (let i = 0; i < this.ufaceDevAllList.length; i++) {
|
||
if (!this.ufaceDevAllList[i].disabled) {
|
||
allCheckList.push(this.ufaceDevAllList[i]);
|
||
}
|
||
}
|
||
this.checkAllFaceDev = checkedCount === allCheckList.length;
|
||
this.isIndeterminate2 =
|
||
checkedCount > 0 && checkedCount < allCheckList.length;
|
||
console.log("--------------------------", this.personForm.uDevId);
|
||
},
|
||
handleCheckAllChange(val) {
|
||
if (val) {
|
||
this.addEditForm.uDevId = [];
|
||
this.uDevAllList.forEach((item) => {
|
||
this.addEditForm.uDevId.push(item.id);
|
||
});
|
||
} else {
|
||
// this.uDevAllList = []
|
||
this.addEditForm.uDevId = [];
|
||
}
|
||
this.isIndeterminate2 = false;
|
||
},
|
||
changeForm() {
|
||
if (this.addEditForm.carModuleType === 1) {
|
||
this.addEditForm.reserveStartTime = null;
|
||
this.addEditForm.reserveEndTime = null;
|
||
this.addEditForm.entryAndExitPermit = null;
|
||
this.getStratEndTime();
|
||
}
|
||
if ([2, 3].includes(this.addEditForm.carModuleType)) {
|
||
this.addEditForm.reserveStartTime = "";
|
||
this.addEditForm.reserveEndTime = "";
|
||
this.addEditForm.entryAndExitPermit = "";
|
||
this.getStratEndTime();
|
||
}
|
||
},
|
||
getStratEndTime() {
|
||
console.log("固定长期车辆 " + this.addEditForm.carModuleType);
|
||
console.log("开始时间 " + this.addEditForm.reserveStartTime);
|
||
console.log("结束时间 " + this.addEditForm.reserveEndTime);
|
||
console.log("进出次数类型 " + this.addEditForm.entryAndExitPermit);
|
||
},
|
||
//限制只能输入英文和数字
|
||
// handleInput() {
|
||
// // 使用正则表达式匹配只允许输入英文和数字
|
||
// this.addEditForm.carNumber = this.addEditForm.carNumber.replace(/[^a-zA-Z0-9]/g, '')
|
||
// },
|
||
handle(type, show) {
|
||
//打开弹窗前的统一处理
|
||
this.Popup = {
|
||
type: type,
|
||
show: show,
|
||
};
|
||
},
|
||
add() {
|
||
this.handle("add", true);
|
||
},
|
||
edit(obj) {
|
||
this.addEditForm = JSON.parse(JSON.stringify(obj));
|
||
// this.addEditForm.startEndTimeArr = []
|
||
// this.addEditForm.startEndTimeArr.push(this.addEditForm.reserveStartTime,this.addEditForm.reserveEndTime)
|
||
this.fileList = obj.carPhotosUrl;
|
||
console.log("类型============", obj);
|
||
if (typeof obj.carPhotosUrl === "string") {
|
||
this.addEditForm.carPhotosUrl =
|
||
obj.carPhotosUrl != "" ? JSON.parse(obj.carPhotosUrl) : [];
|
||
this.fileList = this.addEditForm.carPhotosUrl;
|
||
this.fileList.map((file) => {
|
||
console.log("url", file.url);
|
||
file.url = this.$store.state.FILEURL + file.url;
|
||
});
|
||
}
|
||
if (typeof obj.jsz === "string") {
|
||
this.addEditForm.jsz = obj.jsz != "" ? JSON.parse(obj.jsz) : [];
|
||
this.fileList2 = this.addEditForm.jsz;
|
||
this.fileList2.map((file) => {
|
||
console.log("url", file.url);
|
||
file.url = this.$store.state.FILEURL + file.url;
|
||
});
|
||
}
|
||
if (typeof obj.xsz === "string") {
|
||
this.addEditForm.xsz = obj.xsz != "" ? JSON.parse(obj.xsz) : [];
|
||
this.fileList3 = this.addEditForm.xsz;
|
||
this.fileList3.map((file) => {
|
||
console.log("url", file.url);
|
||
file.url = this.$store.state.FILEURL + file.url;
|
||
});
|
||
}
|
||
if (typeof obj.jqx === "string") {
|
||
this.addEditForm.jqx = obj.jqx != "" ? JSON.parse(obj.jqx) : [];
|
||
this.fileList4 = this.addEditForm.jqx;
|
||
this.fileList4.map((file) => {
|
||
console.log("url", file.url);
|
||
file.url = this.$store.state.FILEURL + file.url;
|
||
});
|
||
}
|
||
if (typeof obj.otherProve === "string") {
|
||
this.addEditForm.otherProve =
|
||
obj.otherProve != "" ? JSON.parse(obj.otherProve) : [];
|
||
this.fileList5 = this.addEditForm.otherProve;
|
||
this.fileList5.map((file) => {
|
||
console.log("url", file.url);
|
||
file.url = this.$store.state.FILEURL + file.url;
|
||
});
|
||
}
|
||
if (
|
||
typeof obj.alarmPushWorkerId === "string" &&
|
||
obj.alarmPushWorkerId != ""
|
||
) {
|
||
this.addEditForm.alarmPushWorkerId = obj.alarmPushWorkerId
|
||
.split(",")
|
||
.map(String);
|
||
}
|
||
// if (typeof obj.driverWorkerId === "string" && obj.driverWorkerId != "") {
|
||
// this.addEditForm.driverWorkerId = obj.driverWorkerId
|
||
// .split(",")
|
||
// .map(String);
|
||
// }
|
||
// if(obj.uDevId){
|
||
// this.addEditForm.uDevId = obj.uDevId.split(",")
|
||
// }
|
||
// this.$forceUpdate();
|
||
console.log("编辑", obj, "fileList", this.fileList);
|
||
this.handle("edit", true);
|
||
},
|
||
deleteDev(obj) {
|
||
console.log("删除", obj);
|
||
this.$confirm(
|
||
this.$t("message.personnelPosition.beaconManage.table.confirmText") +
|
||
"【" +
|
||
obj.carNumber +
|
||
"】?",
|
||
this.$t("message.personnelPosition.beaconManage.table.Tips"),
|
||
{
|
||
confirmButtonText: this.$t(
|
||
"message.personnelPosition.confirmButtonText"
|
||
),
|
||
cancelButtonText: this.$t(
|
||
"message.personnelPosition.cancelButtonText"
|
||
),
|
||
type: "warning",
|
||
}
|
||
)
|
||
.then(() => {
|
||
deleteCarInfoApi({ id: obj.id }).then((result) => {
|
||
if (result.success) {
|
||
this.$message.success(result.message);
|
||
this.getList();
|
||
}
|
||
});
|
||
})
|
||
.catch(() => {});
|
||
},
|
||
submit() {
|
||
this.processTheFile();
|
||
this.processTheFile2();
|
||
this.processTheFile3();
|
||
this.processTheFile4();
|
||
this.processTheFile5();
|
||
let params = JSON.parse(JSON.stringify(this.addEditForm));
|
||
// params.startEndTimeArr = []
|
||
// params.startEndTimeArr.push(params.reserveStartTime,params.reserveEndTime)
|
||
// 车辆图片
|
||
var arr = [],
|
||
arr2 = JSON.parse(params.carPhotosUrl);
|
||
if (arr2.length > 0) {
|
||
arr2.forEach((element) => {
|
||
var item = element;
|
||
if (element.url.indexOf("http://") != -1) {
|
||
item.url = element.url.split("/image/")[1];
|
||
}
|
||
arr.push(item);
|
||
});
|
||
}
|
||
params.carPhotosUrl = JSON.stringify(arr);
|
||
// 驾驶证
|
||
var arrJsz = [],
|
||
arrJsz2 = JSON.parse(params.jsz);
|
||
if (arrJsz2.length > 0) {
|
||
arrJsz2.forEach((element) => {
|
||
var item = element;
|
||
if (element.url.indexOf("http://") != -1) {
|
||
item.url = element.url.split("/image/")[1];
|
||
}
|
||
arrJsz.push(item);
|
||
});
|
||
}
|
||
params.jsz = JSON.stringify(arrJsz);
|
||
// 行驶证
|
||
var arrXsz = [],
|
||
arrXsz2 = JSON.parse(params.xsz);
|
||
if (arrXsz2.length > 0) {
|
||
arrXsz2.forEach((element) => {
|
||
var item = element;
|
||
if (element.url.indexOf("http://") != -1) {
|
||
item.url = element.url.split("/image/")[1];
|
||
}
|
||
arrXsz.push(item);
|
||
});
|
||
}
|
||
params.xsz = JSON.stringify(arrXsz);
|
||
// 交强险
|
||
var arrJqx = [],
|
||
arrJqx2 = JSON.parse(params.jqx);
|
||
if (arrJqx2.length > 0) {
|
||
arrJqx2.forEach((element) => {
|
||
var item = element;
|
||
if (element.url.indexOf("http://") != -1) {
|
||
item.url = element.url.split("/image/")[1];
|
||
}
|
||
arrJqx.push(item);
|
||
});
|
||
}
|
||
params.jqx = JSON.stringify(arrJqx);
|
||
// 其他证明
|
||
var arrOther = [],
|
||
arrOther2 = JSON.parse(params.otherProve);
|
||
if (arrOther2.length > 0) {
|
||
arrOther2.forEach((element) => {
|
||
var item = element;
|
||
if (element.url.indexOf("http://") != -1) {
|
||
item.url = element.url.split("/image/")[1];
|
||
}
|
||
arrOther.push(item);
|
||
});
|
||
}
|
||
params.otherProve = JSON.stringify(arrOther);
|
||
params.projectSn = this.$store.state.projectSn;
|
||
if (this.addEditForm.alarmPushWorkerId) {
|
||
params.alarmPushWorkerId = this.addEditForm.alarmPushWorkerId.join(",");
|
||
}
|
||
// if (this.addEditForm.driverWorkerId) {
|
||
// params.driverWorkerId = this.addEditForm.driverWorkerId.join(",");
|
||
// }
|
||
if (this.addEditForm.driverTelephone) {
|
||
if (!checkPhone(this.addEditForm.driverTelephone)) {
|
||
this.$message.error("请输入正确的电话号码格式");
|
||
return;
|
||
}
|
||
}
|
||
// if (this.addEditForm.uDevId.length > 0) {
|
||
// data.uDevId = this.personForm.uDevId.join(",");
|
||
// } else {
|
||
// data.uDevId = "";
|
||
// }
|
||
this.$refs.addEditForm.validate((valid) => {
|
||
if (valid) {
|
||
if (this.Popup.type === "add") {
|
||
// 默认白名单
|
||
// params.isBlack = 0;
|
||
addCarInfoApi(params).then((result) => {
|
||
if (result.success) {
|
||
this.$message.success(result.message);
|
||
this.getList();
|
||
this.Popup.show = false;
|
||
}
|
||
});
|
||
} else if (this.Popup.type === "edit") {
|
||
// this.processTheFile();
|
||
console.log("编辑信息", this.addEditForm);
|
||
|
||
editCarInfoApi(params).then((result) => {
|
||
if (result.success) {
|
||
this.$message.success(result.message);
|
||
this.getList();
|
||
this.Popup.show = false;
|
||
}
|
||
});
|
||
}
|
||
} else {
|
||
return false;
|
||
}
|
||
});
|
||
},
|
||
blackSwich(e, rowObj) {
|
||
console.log(e, rowObj);
|
||
// let params = JSON.parse(JSON.stringify(this.addEditForm));
|
||
// params.projectSn = this.$store.state.projectSn;
|
||
let requestData = {
|
||
...rowObj,
|
||
isBlack: e,
|
||
};
|
||
// if (isBlack === 1) params.isBlack = 0;
|
||
// if (isBlack === 0) params.isBlack = 1;
|
||
editCarInfoApi(requestData).then((result) => {
|
||
if (result.success) {
|
||
this.$message.success(result.message);
|
||
this.getList();
|
||
}
|
||
});
|
||
},
|
||
refresh() {
|
||
this.carNumber = "";
|
||
this.isBlack = "";
|
||
this.tableParameter.sendSuccessStatus = null;
|
||
this.tableParameter.carModuleType = null;
|
||
this.pagInfo.pageNo = 1; //页数
|
||
this.pagInfo.pageSize = 10; //条数
|
||
this.getList();
|
||
},
|
||
getList() {
|
||
getCarInfoListApi({
|
||
pageNo: this.pagInfo.pageNo,
|
||
pageSize: this.pagInfo.pageSize,
|
||
projectSn: this.$store.state.projectSn,
|
||
carNumber: this.carNumber,
|
||
isBlack: this.isBlack,
|
||
sendSuccessStatus: this.tableParameter.sendSuccessStatus,
|
||
carModuleType: this.tableParameter.carModuleType,
|
||
}).then((result) => {
|
||
if (result.success) {
|
||
this.List = result.result.records;
|
||
this.pagInfo.total = result.result.total;
|
||
console.log("列表", result);
|
||
setTimeout(() => {
|
||
this.$previewRefresh();
|
||
}, 100);
|
||
}
|
||
});
|
||
},
|
||
close() {
|
||
this.addEditForm = {
|
||
isBlack: 0,
|
||
};
|
||
this.fileList = [];
|
||
this.fileList2 = [];
|
||
this.fileList3 = [];
|
||
this.fileList4 = [];
|
||
this.fileList5 = [];
|
||
this.$nextTick(() => {
|
||
this.$refs.addEditForm.clearValidate();
|
||
});
|
||
},
|
||
processTheFile() {
|
||
//处理el上传的文件格式(结构)
|
||
this.addEditForm.carPhotosUrl = [];
|
||
this.fileList.map((item) => {
|
||
if (!item.response) {
|
||
this.addEditForm.carPhotosUrl.push(item);
|
||
// console.log('符合的结构', item)
|
||
} else if (item.response) {
|
||
// console.log('不符合的结构', item)
|
||
this.addEditForm.carPhotosUrl.push({
|
||
name: item.response.data[0].filename,
|
||
url: item.response.data[0].imageUrl,
|
||
});
|
||
}
|
||
});
|
||
console.log("处理el上传的结构后", this.addEditForm.carPhotosUrl);
|
||
this.addEditForm.carPhotosUrl = JSON.stringify(
|
||
this.addEditForm.carPhotosUrl
|
||
);
|
||
console.log("转字符串后", this.addEditForm.carPhotosUrl);
|
||
// console.log('处理el上传的结构后转字符串', JSON.stringify(this.registerInfo.licenseFile));
|
||
// console.log('最终要上传的图片', this.registerInfo.licenseFile)
|
||
},
|
||
processTheFile2() {
|
||
//处理el上传的文件格式(结构)
|
||
this.addEditForm.jsz = [];
|
||
this.fileList2.map((item) => {
|
||
if (!item.response) {
|
||
this.addEditForm.jsz.push(item);
|
||
// console.log('符合的结构', item)
|
||
} else if (item.response) {
|
||
// console.log('不符合的结构', item)
|
||
this.addEditForm.jsz.push({
|
||
name: item.response.data[0].filename,
|
||
url: item.response.data[0].imageUrl,
|
||
});
|
||
}
|
||
});
|
||
console.log("处理el上传的结构后", this.addEditForm.jsz);
|
||
this.addEditForm.jsz = JSON.stringify(this.addEditForm.jsz);
|
||
console.log("转字符串后", this.addEditForm.jsz);
|
||
// console.log('处理el上传的结构后转字符串', JSON.stringify(this.registerInfo.licenseFile));
|
||
// console.log('最终要上传的图片', this.registerInfo.licenseFile)
|
||
},
|
||
processTheFile3() {
|
||
//处理el上传的文件格式(结构)
|
||
this.addEditForm.xsz = [];
|
||
this.fileList3.map((item) => {
|
||
if (!item.response) {
|
||
this.addEditForm.xsz.push(item);
|
||
// console.log('符合的结构', item)
|
||
} else if (item.response) {
|
||
// console.log('不符合的结构', item)
|
||
this.addEditForm.xsz.push({
|
||
name: item.response.data[0].filename,
|
||
url: item.response.data[0].imageUrl,
|
||
});
|
||
}
|
||
});
|
||
console.log("处理el上传的结构后", this.addEditForm.xsz);
|
||
this.addEditForm.xsz = JSON.stringify(this.addEditForm.xsz);
|
||
console.log("转字符串后", this.addEditForm.xsz);
|
||
// console.log('处理el上传的结构后转字符串', JSON.stringify(this.registerInfo.licenseFile));
|
||
// console.log('最终要上传的图片', this.registerInfo.licenseFile)
|
||
},
|
||
processTheFile4() {
|
||
//处理el上传的文件格式(结构)
|
||
this.addEditForm.jqx = [];
|
||
this.fileList4.map((item) => {
|
||
if (!item.response) {
|
||
this.addEditForm.jqx.push(item);
|
||
// console.log('符合的结构', item)
|
||
} else if (item.response) {
|
||
// console.log('不符合的结构', item)
|
||
this.addEditForm.jqx.push({
|
||
name: item.response.data[0].filename,
|
||
url: item.response.data[0].imageUrl,
|
||
});
|
||
}
|
||
});
|
||
console.log("处理el上传的结构后", this.addEditForm.jqx);
|
||
this.addEditForm.jqx = JSON.stringify(this.addEditForm.jqx);
|
||
console.log("转字符串后", this.addEditForm.jqx);
|
||
// console.log('处理el上传的结构后转字符串', JSON.stringify(this.registerInfo.licenseFile));
|
||
// console.log('最终要上传的图片', this.registerInfo.licenseFile)
|
||
},
|
||
processTheFile5() {
|
||
//处理el上传的文件格式(结构)
|
||
this.addEditForm.otherProve = [];
|
||
this.fileList5.map((item) => {
|
||
if (!item.response) {
|
||
this.addEditForm.otherProve.push(item);
|
||
// console.log('符合的结构', item)
|
||
} else if (item.response) {
|
||
// console.log('不符合的结构', item)
|
||
this.addEditForm.otherProve.push({
|
||
name: item.response.data[0].filename,
|
||
url: item.response.data[0].imageUrl,
|
||
});
|
||
}
|
||
});
|
||
console.log("处理el上传的结构后", this.addEditForm.otherProve);
|
||
this.addEditForm.otherProve = JSON.stringify(this.addEditForm.otherProve);
|
||
console.log("转字符串后", this.addEditForm.otherProve);
|
||
// console.log('处理el上传的结构后转字符串', JSON.stringify(this.registerInfo.licenseFile));
|
||
// console.log('最终要上传的图片', this.registerInfo.licenseFile)
|
||
},
|
||
handlePictureCardPreview() {
|
||
this.showImgUrl = this.addEditForm.carPhotosUrl[0].url;
|
||
// this.showImgUrl = this.$store.state.FILEURL + this.addEditForm.carPhotosUrl[0].url;
|
||
console.log("handlePictureCardPreview", this.showImgUrl);
|
||
},
|
||
handleSuccess(response, file, fileList) {
|
||
console.log("图片上传成功", fileList);
|
||
this.fileList = fileList;
|
||
},
|
||
handleSuccess2(response, file, fileList) {
|
||
console.log("图片上传成功", fileList);
|
||
this.fileList2 = fileList;
|
||
},
|
||
handleSuccess3(response, file, fileList) {
|
||
console.log("图片上传成功", fileList);
|
||
this.fileList3 = fileList;
|
||
},
|
||
handleSuccess4(response, file, fileList) {
|
||
console.log("图片上传成功", fileList);
|
||
this.fileList4 = fileList;
|
||
},
|
||
handleSuccess5(response, file, fileList) {
|
||
console.log("图片上传成功", fileList);
|
||
this.fileList5 = fileList;
|
||
},
|
||
handleRemove(response, fileList) {
|
||
this.fileList = fileList;
|
||
},
|
||
handleRemove2(response, fileList) {
|
||
this.fileList2 = fileList;
|
||
},
|
||
handleRemove3(response, fileList) {
|
||
this.fileList3 = fileList;
|
||
},
|
||
handleRemove4(response, fileList) {
|
||
this.fileList4 = fileList;
|
||
},
|
||
handleRemove5(response, fileList) {
|
||
this.fileList5 = fileList;
|
||
},
|
||
SizeChange(val) {
|
||
this.pagInfo.pageSize = val;
|
||
this.getList();
|
||
},
|
||
CurrentChange(val) {
|
||
this.pagInfo.pageNo = val;
|
||
this.getList();
|
||
},
|
||
getWorkerList() {
|
||
getcarTypeListApi({ projectSn: this.$store.state.projectSn }).then(
|
||
(result) => {
|
||
this.carTypeList = result.result;
|
||
}
|
||
);
|
||
},
|
||
getLaborManagementList() {
|
||
getProjectChilderSystemUserListApi({
|
||
projectSn: this.$store.state.projectSn,
|
||
}).then((result) => {
|
||
this.options = result.result;
|
||
});
|
||
},
|
||
getAppWorkerList() {
|
||
getWorkerInfoList({
|
||
projectSn: this.$store.state.projectSn,
|
||
pageNo: 1,
|
||
pageSize: -1,
|
||
inserviceType: 1,
|
||
}).then((res) => {
|
||
console.log("查询司机信息的数组", res);
|
||
this.appWorkerList = res.result.records;
|
||
});
|
||
},
|
||
},
|
||
};
|
||
</script>
|
||
|
||
<style lang="scss" scoped>
|
||
.operationText {
|
||
margin-right: 10px;
|
||
}
|
||
.detailBox {
|
||
.grid-content {
|
||
overflow: hidden;
|
||
margin-bottom: 10px;
|
||
.label {
|
||
float: left;
|
||
width: 150px;
|
||
text-align: right;
|
||
}
|
||
.value {
|
||
float: left;
|
||
width: calc(80% - 150px);
|
||
margin-left: 10px;
|
||
// text-overflow: ellipsis;
|
||
// overflow: hidden;
|
||
// white-space: nowrap;
|
||
display: flex;
|
||
flex-wrap: wrap;
|
||
}
|
||
}
|
||
}
|
||
.headerLeft {
|
||
height: 30px;
|
||
background: #ededed;
|
||
font-size: 14px;
|
||
color: #616266;
|
||
line-height: 30px;
|
||
padding: 0 10px;
|
||
margin-bottom: 20px;
|
||
}
|
||
.dialogOtherDetail {
|
||
background-color: darkred;
|
||
height: 550px;
|
||
.innerContainer {
|
||
}
|
||
}
|
||
</style>
|
||
|
||
<style lang="less">
|
||
.tables {
|
||
img {
|
||
cursor: pointer;
|
||
}
|
||
}
|
||
|
||
.tableBtns {
|
||
display: flex;
|
||
justify-content: center;
|
||
}
|
||
|
||
.yj-dialogFormBox {
|
||
width: 462px;
|
||
}
|
||
.el-form-item__content .el-select__tags {
|
||
flex-wrap: nowrap;
|
||
}
|
||
.dev-content {
|
||
display: flex;
|
||
flex-direction: column;
|
||
margin-left: 40px;
|
||
&-title {
|
||
margin-bottom: 10px;
|
||
}
|
||
.el-checkbox {
|
||
margin-right: 15px;
|
||
}
|
||
}
|
||
|
||
.valuesColor {
|
||
color: #fff;
|
||
padding: 3px;
|
||
}
|
||
|
||
.yellow {
|
||
background-color: #fbe000;
|
||
}
|
||
.green {
|
||
background-color: #72cb40;
|
||
}
|
||
.red {
|
||
background-color: #ec373e;
|
||
}
|
||
</style>
|