1737 lines
55 KiB
Vue
1737 lines
55 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>
|
|
<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">
|
|
<el-table-column
|
|
prop="enterpriseName"
|
|
align="center"
|
|
label="企业名称"
|
|
show-overflow-tooltip
|
|
></el-table-column>
|
|
<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="$t('message.carManage.carColor')"
|
|
align="center"
|
|
></el-table-column>
|
|
<el-table-column
|
|
prop="carTypeName"
|
|
:label="$t('message.carManage.carType')"
|
|
align="center"
|
|
>
|
|
</el-table-column>
|
|
<el-table-column
|
|
prop="driverWorkerName"
|
|
:label="$t('message.carManage.driverName')"
|
|
align="center"
|
|
></el-table-column>
|
|
<el-table-column
|
|
prop="driverTelephone"
|
|
:label="$t('message.carManage.driverTelephone')"
|
|
align="center"
|
|
></el-table-column>
|
|
<!-- 黑白名单调控 -->
|
|
<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] }}
|
|
<el-switch
|
|
v-model="scope.row.isBlack"
|
|
active-color="#409EFF"
|
|
:active-value="0"
|
|
inactive-color="#000000"
|
|
:inactive-value="1"
|
|
:disabled="
|
|
!editPermission
|
|
? true
|
|
: [2,3].includes(scope.row.carModuleType)
|
|
? true
|
|
: false
|
|
"
|
|
@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>
|
|
|
|
<el-table-column
|
|
prop="carModuleType"
|
|
align="center"
|
|
label="固定/临时/外来车辆"
|
|
width="180"
|
|
>
|
|
<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>
|
|
|
|
<el-table-column
|
|
prop="reserveStartTime reserveEndTime"
|
|
align="center"
|
|
label="预约时间"
|
|
show-overflow-tooltip
|
|
>
|
|
<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>
|
|
</template>
|
|
</el-table-column>
|
|
|
|
<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 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
|
|
:label="$t('message.deviceManage.operation')"
|
|
align="center"
|
|
width="280px"
|
|
>
|
|
<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
|
|
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="$t('message.carManage.carModuleType')"
|
|
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"
|
|
:limit="1"
|
|
: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"
|
|
:limit="1"
|
|
: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"
|
|
:limit="1"
|
|
: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"
|
|
:limit="1"
|
|
: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"
|
|
:limit="1"
|
|
: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="$t('message.carManage.carColor')"
|
|
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="$t('message.carManage.carType')" 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="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
|
|
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 ? "成功" : "失败"
|
|
}}</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="">-->
|
|
</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";
|
|
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,
|
|
},
|
|
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",
|
|
},
|
|
],
|
|
},
|
|
options: [
|
|
/*{realName: "曾祥万", value: 1},
|
|
{realName: "李先生", value: 2},*/
|
|
],
|
|
addEditForm: {
|
|
// uDevId: [],
|
|
},
|
|
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: [],
|
|
};
|
|
},
|
|
mounted() {
|
|
this.getWorkerList();
|
|
this.getList();
|
|
this.getLaborManagementList();
|
|
this.getAppWorkerList();
|
|
this.getUDevList();
|
|
this.getEnterpriseListFn();
|
|
this.getBlackWhiteBoole();
|
|
},
|
|
methods: {
|
|
// 展示下发详情
|
|
async showDetail(id) {
|
|
this.issueTeamDialog = true;
|
|
this.whoId = id;
|
|
this.getNewestList();
|
|
},
|
|
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) {
|
|
const res = await xmglXzHikvisionSyncRetryAPI({
|
|
id: id,
|
|
});
|
|
console.log(res);
|
|
},
|
|
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();
|
|
}
|
|
});
|
|
} 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.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
|
|
}).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 = {};
|
|
this.fileList = [];
|
|
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="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>
|