内蒙古车辆模块字段修改、编辑bug修复

This commit is contained in:
jxj_yjl 2023-04-13 18:25:47 +08:00
parent 95c5b63a14
commit 4d94ec4ec0
5 changed files with 622 additions and 485 deletions

View File

@ -1,4 +1,4 @@
var COMPANY = ''; //通用
// var COMPANY = ''; //通用
// var COMPANY='zhongjian'; //中建,和沃尔对接的插件版用这个企业
// var COMPANY='hezhan'; //合展-宿迁
// var COMPANY='nanchang'; //南昌地铁、衢州
@ -9,6 +9,7 @@ var COMPANY = ''; //通用
// COMPANY = 'xingxuan'
// COMPANY = 'hengtong'//瑞士恒通
// COMPANY = 'yunlian'//云联万物
COMPANY = 'neimenggu'//内蒙古项目
@ -21,7 +22,7 @@ var PROJECT = {
}
var PROJECT_TYPE = PROJECT.online_zjsj
var PROJECT_TYPE = PROJECT.local_test
var headerShow = true; // 是否显示头部
var tabsShow = true; // 是否显示tabs

View File

@ -80,9 +80,9 @@ if (process.env.NODE_ENV == 'development') {
// axios.defaults.baseURL = 'http://192.168.34.221:12346' //郭圣雄本地
// axios.defaults.baseURL = 'http://192.168.34.221:12350' //金林湾本地
// axios.defaults.baseURL = 'http://192.168.34.122:8070' //彭洁本地
axios.defaults.baseURL = 'http://192.168.34.221:8070' //郭圣雄本地
// axios.defaults.baseURL = 'http://192.168.34.221:8070' //郭圣雄本地
// axios.defaults.baseURL = 'http://101.43.164.214:11111' //百色线上
// axios.defaults.baseURL = 'http://101.43.164.214:12345/#/'//内蒙古线上
axios.defaults.baseURL = 'http://101.43.164.214:12345/'//内蒙古线上
// axios.defaults.baseURL = 'http://121.196.214.246/api/'//金林湾线上新
} else if (process.env.NODE_ENV == 'debug') {

View File

@ -89,6 +89,8 @@ export default new Vuex.Store({
// FILEURL: 'http://182.90.224.147:100/image/',//演示平台
// UPLOADURL: 'http://116.169.63.183:7070/upload/image',//三江集团
// FILEURL: 'http://116.169.63.183:7070/image/',//三江集团
// UPLOADURL: 'http://101.43.164.214:12345/upload/image',//内蒙古
// FILEURL: 'http://101.43.164.214:12345/image/',//内蒙古
ACCOUNTTYPE: [
"系统管理员",

View File

@ -25,7 +25,7 @@ export default {
},
data() {
// return { modelReport }
const list = new Array(6).fill(0).map((item, index) => new Array(3).fill(0).map(() => (index === 3 ? 0 : 1)))
const list = new Array(6).fill(0).map((item, index) => new Array(3).fill(0).map(() => (index === 3 ? 1 : 1)))
return {
list
}

View File

@ -1,51 +1,112 @@
<template>
<div class="fullHeight">
<div class="searchBox whiteBlock">
<el-form
:inline="true"
class="demo-form-inline"
size="medium"
>
<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-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-select
v-model="isBlack"
:placeholder="$t('message.carManage.placeholder_select')"
clearable
>
<el-option
v-for="(item,index) in $t('message.carManage.isBlackArr')"
v-for="(item, index) in $t('message.carManage.isBlackArr')"
:key="item.value"
:label="item"
:value="index">
:value="index"
>
</el-option>
</el-select>
</el-form-item>
<el-form-item>
<el-button type="primary" plain @click="getList">{{$t('message.deviceManage.query')}}</el-button>
<el-button type="primary" plain @click="getList">{{
$t('message.deviceManage.query')
}}</el-button>
</el-form-item>
</el-form>
<el-button type="warning" size="medium" plain @click="refresh">{{$t('message.deviceManage.refresh')}}</el-button>
<el-button type="primary" size="medium" @click="add">{{$t('message.deviceManage.add')}}</el-button>
<el-button type="warning" size="medium" plain @click="refresh">{{
$t('message.deviceManage.refresh')
}}</el-button>
<el-button 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="carNumber" align="center" :label="$t('message.carManage.carNumber')"
<el-table-column
prop="carNumber"
align="center"
:label="$t('message.carManage.carNumber')"
></el-table-column>
<el-table-column 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
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]}}</template>
<el-table-column
prop="driverName"
: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]
}}</template>
</el-table-column>
<el-table-column width="80" align="center" :label="$t('message.carManage.carPhotosUrl')">
<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">
<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 :label="$t('message.deviceManage.operation')" align="center">
<el-table-column
: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')}}
@ -53,12 +114,20 @@
<div @click="bao(scope.row)" class="operationText"><img src="@/assets/images/bao.png" alt="">{{$t('message.alarmValueSet.bjz')}}
</div>-->
<div @click="edit(scope.row)" class="operationText">
<img src="@/assets/images/icon-edit.png" width="15px" height="15px"/>
<span>{{$t('message.deviceManage.edit')}}</span>
<img
src="@/assets/images/icon-edit.png"
width="15px"
height="15px"
/>
<span>{{ $t('message.deviceManage.edit') }}</span>
</div>
<div @click="deleteDev(scope.row)" class="operationText">
<img src="@/assets/images/icon-delete.png" width="15px" height="15px"/>
<span>{{$t('message.deviceManage.delete')}}</span>
<img
src="@/assets/images/icon-delete.png"
width="15px"
height="15px"
/>
<span>{{ $t('message.deviceManage.delete') }}</span>
</div>
</div>
</template>
@ -76,18 +145,36 @@
background
></el-pagination>
</div>
<el-dialog :modal-append-to-body="false" @close="close" :title="$t('message.carManage.Popup_title')[Popup.type]"
<el-dialog
:modal-append-to-body="false"
@close="close"
:title="$t('message.carManage.Popup_title')[Popup.type]"
:visible.sync="Popup.show"
width="667px">
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="$t('message.carManage.carNumber')" prop="carNumber">
<el-input v-model="addEditForm.carNumber"
:placeholder="$t('message.deviceManage.placeholder')"></el-input>
<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="$t('message.carManage.carNumber')"
prop="carNumber"
>
<el-input
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-form-item
:label="$t('message.carManage.carPhotosUrl')"
prop="carPhotosUrl"
>
<el-upload
:action="$store.state.UPLOADURL"
list-type="picture-card"
@ -96,52 +183,86 @@
:limit="1"
:file-list="fileList"
:on-success="handleSuccess"
:on-remove="handleRemove">
<i class="el-icon-plus"></i>
</el-upload><!--:on-preview="handlePictureCardPreview"-->
:on-remove="handleRemove"
>
<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">
<el-select v-model="addEditForm.carColor"
:placeholder="$t('message.carManage.placeholder_select')">
<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">
: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-select
v-model="addEditForm.carType"
:placeholder="$t('message.carManage.placeholder_select')"
>
<el-option
v-for="(item,index) in carTypeList"
v-for="(item, index) in carTypeList"
:key="index"
:label="item.carTypeName"
:value="item.id">
:value="item.id"
>
</el-option>
</el-select>
</el-form-item>
<!-- 司机姓名 -->
<el-form-item :label="$t('message.carManage.driverName')" prop="driverWorkerId">
<el-form-item
:label="$t('message.carManage.driverName')"
prop="driverName"
v-if="COMPANY == 'neimenggu'"
>
<el-input
v-model="addEditForm.driverName"
: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 multiple
<el-select
v-model="addEditForm.driverWorkerId"
filterable
multiple
collapse-tags
:placeholder="$t('message.deviceManage.placeholder_select')" @change="changeDriverFn">
:placeholder="$t('message.deviceManage.placeholder_select')"
@change="changeDriverFn"
>
<el-option
v-for="item in appWorkerList"
:key="item.id"
:label="item.workerName"
:value="item.id">
:value="item.id"
>
</el-option>
</el-select>
</el-form-item>
<!-- 司机电话 -->
<el-form-item label="司机电话" prop="driverTelephone">
<el-input v-model="addEditForm.driverTelephone" placeholder="请输入"></el-input>
<el-input
v-model="addEditForm.driverTelephone"
placeholder="请输入"
></el-input>
</el-form-item>
<!-- <el-form-item :label="$t('message.carManage.driverTelephone')" prop="driverTelephone">
@ -155,21 +276,28 @@
<!-- 是否黑名单 -->
<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
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"
<el-select
v-model="addEditForm.alarmPushWorkerId"
multiple
collapse-tags
:placeholder="$t('message.deviceManage.placeholder_select')">
<el-option v-if="item.workerId!=''"
:placeholder="$t('message.deviceManage.placeholder_select')"
>
<el-option
v-if="item.workerId != ''"
v-for="item in options"
:key="item.workerId"
:label="item.workerName"
:value="item.workerId">
:value="item.workerId"
>
</el-option>
</el-select>
</el-form-item>
@ -179,14 +307,14 @@
@click="Popup.show = false"
icon="el-icon-circle-close"
size="medium"
>{{$t('message.deviceManage.cancel')}}
>{{ $t('message.deviceManage.cancel') }}
</el-button>
<el-button
type="primary"
icon="el-icon-circle-check"
@click="submit"
size="medium"
>{{$t('message.deviceManage.save')}}
>{{ $t('message.deviceManage.save') }}
</el-button>
</div>
</el-form>
@ -196,19 +324,19 @@
</div>
</template>
<script>
import {
import {
addCarInfoApi,
editCarInfoApi,
deleteCarInfoApi,
getCarInfoListApi,getcarTypeListApi
} from '../../../assets/js/api/carManage'
import {
getCarInfoListApi, getcarTypeListApi
} from '../../../assets/js/api/carManage'
import {
getProjectChilderSystemUserListApi
} from "@/assets/js/api/configManage";
import {
} from "@/assets/js/api/configManage";
import {
selectAppWorkerListApi
} from "@/assets/js/api/laborPerson";
export default {
} from "@/assets/js/api/laborPerson";
export default {
mounted() {
this.getWorkerList()
this.getList();
@ -217,6 +345,7 @@
},
data() {
return {
COMPANY: COMPANY,
fileList: [],
showImgUrl: '',
props: {
@ -224,32 +353,36 @@
},
addEditRules: {
carColor: [
{required: true, message: this.$t('message.carManage.required'), trigger: "blur"},
{required: true, message: this.$t('message.carManage.required'), trigger: "change"}
{ 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"}
{ 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"}
{ 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"}
{ 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"}
{ 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: "blur"},
driverWorkerId: [
{ 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"}
driverTelephone: [
{ required: true, message: this.$t('message.carManage.required'), trigger: "blur" },
{ required: true, message: this.$t('message.carManage.required'), trigger: "change" }
],
driverName: [
{ required: true, message: this.$t('message.carManage.required'), trigger: "blur" },
{ required: true, message: this.$t('message.carManage.required'), trigger: "change" }
],
},
options: [
@ -275,14 +408,14 @@
type: 'add',
show: false
},
carTypeList:[],
carNumber:'',
carTypeList: [],
carNumber: '',
isBlack: '',
appWorkerList:[]
appWorkerList: []
}
},
methods: {
changeDriverFn(){
changeDriverFn() {
// let arr1=[],arr2=[]
// for (let index = 0; index < this.appWorkerList.length; index++) {
// const element = this.appWorkerList[index];
@ -307,8 +440,9 @@
edit(obj) {
this.addEditForm = JSON.parse(JSON.stringify(obj));
this.fileList = obj.carPhotosUrl;
console.log('类型============', obj);
if (typeof obj.carPhotosUrl === 'string') {
this.addEditForm.carPhotosUrl = JSON.parse(obj.carPhotosUrl);
this.addEditForm.carPhotosUrl = obj.carPhotosUrl != "" ? JSON.parse(obj.carPhotosUrl) : [];
this.fileList = this.addEditForm.carPhotosUrl;
this.fileList.map((file) => {
console.log('url', file.url);
@ -332,7 +466,7 @@
cancelButtonText: this.$t('message.personnelPosition.cancelButtonText'),
type: "warning",
}).then(() => {
deleteCarInfoApi({id: obj.id}).then(result => {
deleteCarInfoApi({ id: obj.id }).then(result => {
if (result.success) {
this.$message.success(result.message);
this.getList();
@ -344,22 +478,22 @@
submit() {
this.processTheFile();
let params = JSON.parse(JSON.stringify(this.addEditForm));
var arr = [],arr2=JSON.parse(params.carPhotosUrl)
if(arr2.length>0){
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]
var item = element
if (element.url.indexOf('http://') != -1) {
item.url = element.url.split('/image/')[1]
}
arr.push(item)
});
}
params.carPhotosUrl=JSON.stringify(arr)
params.carPhotosUrl = JSON.stringify(arr)
params.projectSn = this.$store.state.projectSn;
if(this.addEditForm.alarmPushWorkerId){
if (this.addEditForm.alarmPushWorkerId) {
params.alarmPushWorkerId = this.addEditForm.alarmPushWorkerId.join(',');
}
if(this.addEditForm.driverWorkerId){
if (this.addEditForm.driverWorkerId) {
params.driverWorkerId = this.addEditForm.driverWorkerId.join(',');
}
this.$refs.addEditForm.validate((valid) => {
@ -388,8 +522,8 @@
});
},
refresh() {
this.carNumber=''
this.isBlack=''
this.carNumber = ''
this.isBlack = ''
this.pagInfo.pageNo = 1;//
this.pagInfo.pageSize = 10;//
this.getList();
@ -399,8 +533,8 @@
pageNo: this.pagInfo.pageNo,
pageSize: this.pagInfo.pageSize,
projectSn: this.$store.state.projectSn,
carNumber:this.carNumber,
isBlack:this.isBlack
carNumber: this.carNumber,
isBlack: this.isBlack
}).then(result => {
if (result.success) {
this.List = result.result.records;
@ -460,40 +594,40 @@
this.getList();
},
getWorkerList() {
getcarTypeListApi({projectSn: this.$store.state.projectSn}).then(result => {
getcarTypeListApi({ projectSn: this.$store.state.projectSn }).then(result => {
this.carTypeList = result.result;
})
},
getLaborManagementList() {
getProjectChilderSystemUserListApi({projectSn: this.$store.state.projectSn}).then(result => {
getProjectChilderSystemUserListApi({ projectSn: this.$store.state.projectSn }).then(result => {
this.options = result.result;
})
},
getAppWorkerList() {
selectAppWorkerListApi({projectSn: this.$store.state.projectSn,personType:1,inserviceType:1}).then(result => {
console.log('查询司机信息的数组',result)
selectAppWorkerListApi({ projectSn: this.$store.state.projectSn, personType: 1, inserviceType: 1 }).then(result => {
console.log('查询司机信息的数组', result)
this.appWorkerList = result.result;
})
},
}
}
}
</script>
<style lang="less">
.tables {
.tables {
img {
cursor: pointer;
}
}
}
.tableBtns {
.tableBtns {
display: flex;
justify-content: center;
}
}
.yj-dialogFormBox {
.yj-dialogFormBox {
width: 462px;
}
.el-form-item__content .el-select__tags{
flex-wrap: nowrap
}
}
.el-form-item__content .el-select__tags {
flex-wrap: nowrap;
}
</style>