2024-05-30 13:57:28 +08:00

2215 lines
72 KiB
Vue
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<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>