2025-06-19 17:33:18 +08:00

1107 lines
33 KiB
TypeScript
Raw Permalink 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.

// pages/handoverVehicle/procurementDeliveryEdit/procurementDeliveryEdit.ts
import { getAction, upload, putAction, postAction } from '../../../api/base';
const dayjs = require('dayjs');
var QQMapWX = require('../../../utils/qqmap-wx-jssdk.min.js');
// 实例化API核心类
var qqmapsdk = new QQMapWX({
key: 'KDEBZ-EV5KH-XN5DU-WYZGD-SN3YK-WZBZI'
});
Page({
/**
* 页面的初始数据
*/
data: {
showBox: {
base: true,
vehicle: true,
check: true
},
showSelect: {
projectSelectShow: false,
contractSelectShow: false,
vehicleTypeSelectShow: false,
templateSelectShow: false,
yesOrNoSelectShow: false,
timeSelectShow: false,
userSelectShow: false
} as any,
projectOptionsList: [],
projectPickerIndex: -1,
contractList: [],
contractPickerIndex: -1,
vehicleTypeOptions: [],
vehicleTypeIndex: -1,
vehicleBrandOptions: [],
vehicleBrandIndex: -1,
templateOptions: [],
templateIndex: -1,
userList: [],
checkUserPickerIndex: -1,
acceptUserPickerIndex: -1,
yesOrNoOptions: [
{
text: '是',
value: 1
},
{
text: '否',
value: 0
}
],
requireObj: {
id: '',
// projectId: '',
contractId: '',
// vehicleType: '',
// templateId: '',
vehicleList: [] as any,
// projectList: [] as any,
sentVehicleUser: '',
checkUserId: '',
// acceptUserId: '',
checkTime: '',
// checkAddress: '',
checkStatus: ''
},
params: {
id: '',
checkType: '1',
projectId: '',
projectName: '',
contractId: '',
vehicleType: '',
templateId: '',
vehicleList: [],
projectList: [],
sentVehicleUser: '',
checkUserId: '',
acceptUserId: '',
checkTime: '',
checkAddress: '',
checkStatus: '',
ckeckUrl: '',
ckeckUrlList: [] as any,
ensureUrl: '',
ensureUrlList: [] as any,
otherUrl: '',
otherUrlList: [] as any
} as any,
changeProjectIndex: -1,
changeVehicleIndex: -1,
changeVehicleBrandIndex: -1,
checkTimeTamp: new Date().getTime(),
registrationTimeTamp: new Date().getTime(),
loading: false,
uploading: false,
ischangeAddress: false
},
showBoxInf(e: any) {
console.log(e);
let data: any = { ...this.data };
let { fieldname } = e.currentTarget.dataset;
// let detail = e.detail;
data.showBox[fieldname] = !data.showBox[fieldname];
this.setData(data);
},
pickerChange(event: any) {
//下拉框切换是否展示
let { fieldindex, fieldname } = event.currentTarget.dataset;
let data: any = { ...this.data };
if (fieldname == 'yesOrNoSelectShow') {
data.changeProjectIndex = fieldindex;
} else if (fieldname === 'timeSelectShow') {
if (!data.params.checkTime) {
data.checkTimeTamp = new Date().getTime();
}
} else if (fieldname === 'vehicleTypeSelectShow') {
data.changeVehicleIndex = fieldindex;
} else if (fieldname === 'vehicleBrandSelectShow') {
data.changeVehicleBrandIndex = fieldindex;
}
data.showSelect[fieldname] = true;
this.setData(data);
},
hidePicker() {
let showSelect = this.data.showSelect;
showSelect = {
projectSelectShow: false,
contractSelectShow: false,
vehicleTypeSelectShow: false,
templateSelectShow: false,
yesOrNoSelectShow: false,
timeSelectShow: false
};
this.setData({
showSelect: showSelect
});
},
pickerConfirm(event: any) {
console.log(event);
//下拉框点击确认
let { fieldname, fieldindex } = event.currentTarget.dataset;
let detail = event.detail;
let data: any = { ...this.data };
if (fieldname === 'vehicleTypeId') {
data.params.vehicleList[this.data.changeVehicleIndex].vehicleType =
detail.value.value;
data.params.vehicleList[
this.data.changeVehicleIndex
].vehicleType_dictText = detail.value.text;
this.getContractOptions(detail.value.value);
} else if (fieldname === 'vehicleBrand') {
data.params.vehicleList[this.data.changeVehicleBrandIndex].vehicleBrand =
detail.value.value;
data.params.vehicleList[
this.data.changeVehicleBrandIndex
].vehicleBrand_dictText = detail.value.text;
} else if (fieldname === 'projectId') {
data.params[fieldname] = detail.value.value;
data[fieldindex] = detail.index;
data.params.contractId = '';
this.getContractOptions(detail.value.value);
} else if (fieldname === 'vehicleType') {
// data.params.projectId = detail.value.projectId;
data.params[fieldname] = detail.value.value;
data[fieldindex] = detail.index;
data.params.templateId = '';
data.templateIndex = -1;
this.getvehicleCheckTemplate(detail.value.value);
data.params.projectList = [];
// if (data.params.projectId) {
// delete data.requireObj.projectId;
// } else {
// data.requireObj.projectId = '此项为必填项';
// }
// if (data.params.director) {
// delete data.requireObj.director;
// } else {
// data.requireObj.director = '此项为必填项';
// }
} else if (fieldname === 'templateId') {
data.params[fieldname] = detail.value.value;
data[fieldindex] = detail.index;
this.getTemplateProject(detail.value.value);
} else if (fieldname === 'checkStatus') {
console.log(data.params.projectList);
let index = data.changeProjectIndex;
data.params.projectList[index][fieldname] = detail.value.value;
// data[fieldindex] = detail.index;
console.log(data.params.projectList);
} else if (fieldname === 'registrationTime') {
console.log(data.params.registrationTime);
data.params[fieldname] = dayjs(new Date(detail)).format('YYYY-MM-DD');
// data[fieldindex] = detail.index;
console.log(data.params[fieldname]);
} else if (fieldname === 'checkTime') {
console.log(data.params.checkTime);
data.params[fieldname] = dayjs(new Date(detail)).format('YYYY-MM-DD');
// data[fieldindex] = detail.index;
console.log(data.params[fieldname]);
} else {
data.params[fieldname] = detail.value.value;
data[fieldindex] = detail.index;
}
if (fieldname !== 'checkStatus') {
if (fieldname == 'vehicleBrand' || fieldname === 'vehicleTypeId') {
} else {
if (data.params[fieldname]) {
// delete data.requireObj[fieldname];
data.requireObj[fieldname] = '';
} else {
data.requireObj[fieldname] = '此项为必填项';
}
}
}
console.log(this.data);
this.setData(data);
this.hidePicker();
},
changeAddress(e: any) {
if (this.data.ischangeAddress) {
return;
}
let that = this;
let { params, requireObj } = this.data;
let addressErr = e.currentTarget.dataset.fieldkey;
let address = addressErr == '0' ? this.data.params.checkAddress : '';
this.setData({
ischangeAddress: true
});
if (!address) {
wx.getLocation({
// type: 'wgs84',
type: 'gcj02', // wgs84 返回 gps 坐标gcj02 返回可用于 wx.openLocation 的坐标
isHighAccuracy: true, // 开启高精度定位
success(res) {
console.log('getLocation', res);
wx.chooseLocation({
latitude: res.latitude,
longitude: res.longitude,
success: function (data) {
console.log('chooseLocation', data);
params.checkAddress = data.address;
// if (data.address) {
// requireObj.checkAddress = '';
// } else {
// requireObj.checkAddress = '此项为必填项';
// }
console.log(params);
that.setData({
params: params,
requireObj: requireObj,
ischangeAddress: false
});
},
fail(err: any) {
console.log('chooseLocation', err);
},
complete: function () {
that.setData({
ischangeAddress: false
});
}
});
},
fail(err: any) {
console.log('getLocation', err);
wx.showToast({
title: '小程序版本不支持获取定位信息,请检查是否开启定位权限!',
icon: 'none'
});
}
});
} else {
// var _this = this;
qqmapsdk.search({
keyword: this.data.params.checkAddress,
success: function (res: any) {
console.log('qqmapsdk.search', res);
if (res.status == 0) {
//成功后的回调
console.log(res);
if (res.data.length == 0) {
that.changeAddress({
currentTarget: {
dataset: { fieldkey: '1' }
}
});
return;
}
// var res = res.result;
// _this.setData({
// signInAddress: res.result.address
// });
// _this.getCheckStatus();
wx.chooseLocation({
latitude: res.data[0].location.lat,
longitude: res.data[0].location.lng,
success: function (data) {
console.log('chooseLocation', data);
params.checkAddress = data.address;
// if (data.address) {
// requireObj.checkAddress = '';
// } else {
// requireObj.checkAddress = '此项为必填项';
// }
console.log(params);
that.setData({
params: params,
requireObj: requireObj,
ischangeAddress: false
});
},
fail(err: any) {
console.log('chooseLocation', err);
},
complete: function () {
that.setData({
ischangeAddress: false
});
}
});
} else {
// 位置信息获取失败
wx.showToast({
title: '位置信息获取失败',
icon: 'none'
});
}
},
fail(err: any) {
console.log('getLocation', err);
wx.showToast({
title: '小程序版本不支持获取定位信息,请检查是否开启定位权限!',
icon: 'none'
});
}
});
}
},
getProjectOptions() {
getAction('api/projects/list').then((res: any) => {
if (res.code == 200) {
let arr = [] as any;
res.result.forEach((item: any, index: number) => {
arr.push({
text: item.projectName,
value: item.id
});
if (
this.data.params.projectId != '' &&
this.data.params.projectId == item.id
) {
this.setData({
projectPickerIndex: index
});
this.getContractOptions(item.id);
}
});
this.setData({
projectOptionsList: arr
});
} else {
wx.showToast({
title: res.message,
icon: 'none'
});
}
});
},
getContractOptions(projectId: string) {
let params = {
contractType: 4,
projectId: projectId
};
getAction('api/contract/list', params).then((res: any) => {
if (res.code == 200) {
let arr = [] as any;
res.result.forEach((item: any, index: number) => {
arr.push({
text: item.name,
value: item.id
});
if (
this.data.params.contractId != '' &&
this.data.params.contractId == item.id
) {
this.setData({
contractPickerIndex: index
});
}
});
if (arr.length == 0) {
arr.push({
text: '当前所选项目无合同数据',
value: ''
});
}
this.setData({
contractList: arr
});
} else {
wx.showToast({
title: res.message,
icon: 'none'
});
}
});
},
getDictOptions(dictCode: string) {
getAction('api/sys/dict/getDictItems/' + dictCode).then((res: any) => {
if (res.code == 200) {
if (dictCode == 'contract_type') {
this.setData({
contractList: res.result,
contractPickerIndex: -1
});
if (this.data.params.contractId != '') {
let i = res.result.findIndex(
(x: any) => x.value == this.data.params.contractId
);
if (i == -1) {
return;
}
this.setData({
contractPickerIndex: i
});
}
} else if (dictCode == 'vehicle_type') {
this.setData({
vehicleTypeOptions: res.result,
vehicleTypeIndex: -1
// checkStatus: res.result[0]
});
if (this.data.params.vehicleType != '') {
let i = res.result.findIndex(
(x: any) => x.value == this.data.params.vehicleType
);
if (i == -1) {
return;
}
this.setData({
vehicleTypeIndex: i
});
this.getvehicleCheckTemplate(res.result[i].value);
}
} else if (dictCode == 'vehicle_brand') {
this.setData({
vehicleBrandOptions: res.result,
vehicleBrandIndex: -1
// checkStatus: res.result[0]
});
}
} else {
wx.showToast({
title: res.message,
icon: 'none'
});
}
});
},
// 交车模板
getvehicleCheckTemplate(vehicleType: string) {
let params = {
name: '',
vehicleType: vehicleType,
checkType: 1 //验收模板类型1采购交车2租赁交车3租赁收车
};
getAction('api/vehicleCheckTemplate/list', params).then((res: any) => {
if (res.code == 200) {
let arr = [] as any;
res.result.forEach((item: any, index: number) => {
arr.push({
text: item.name,
value: item.id
});
if (
this.data.params.templateId != '' &&
this.data.params.templateId == item.id
) {
this.setData({
templateIndex: index
});
// this.getTemplateProject(item.id);
}
});
if (arr.length == 0) {
arr.push({
text: '当前所选车辆种类无交车模板数据',
value: ''
});
}
this.setData({
templateOptions: arr
// templateIndex: -1
});
} else {
wx.showToast({
title: res.message,
icon: 'none'
});
}
});
},
// 交车模板项目
getTemplateProject(templateId: string) {
let params = {
templateId: templateId
};
getAction('api/vehicleCheckTemplateProject/list', params).then(
(res: any) => {
if (res.code == 200) {
let data: any = { ...this.data };
data.requireObj.projectList = [];
res.result.forEach((item: any, index: number) => {
item.templateProjectId = item.id;
item.id = '';
data.requireObj.projectList.push({ checkStatus: '' });
});
data.params.projectList = res.result;
this.setData(data);
console.log(this.data.params);
} else {
wx.showToast({
title: res.message,
icon: 'none'
});
}
}
);
},
// 获取维保员
getByRoleCode() {
let params = {
// roleCode: ''
};
getAction('api/user/getByRoleCode', params).then((res: any) => {
if (res.code == 200) {
// let data: any = { ...this.data };
// data.params.userList = res.result;
// this.setData(data);
// console.log(this.data.params);
let arr = [] as any;
res.result.forEach((item: any, index: number) => {
arr.push({
text: item.realname,
value: item.id
});
if (
this.data.params.checkUserId != '' &&
this.data.params.checkUserId == item.id
) {
this.setData({
checkUserPickerIndex: index
});
}
if (
this.data.params.acceptUserId != '' &&
this.data.params.acceptUserId == item.id
) {
this.setData({
acceptUserPickerIndex: index
});
}
});
this.setData({
userList: arr
});
} else {
wx.showToast({
title: res.message,
icon: 'none'
});
}
});
},
checkStatusOnChange(e: any) {
let index = e.currentTarget.dataset.pindex;
let data: any = { ...this.data };
data.params.projectList[index].checkStatus = e.detail;
this.setData(data);
},
getInput(e: any) {
console.log(e);
let { fieldname, fieldindex, fieldkey } = e.currentTarget.dataset;
let detail = e.detail;
let data: any = { ...this.data };
// if(detail.value.length > 32) {
// if(data.requireObj[fieldname] != undefined) {
// data.requireObj[fieldname] = '输入长度不得超过32个字符';
// this.setData(data);
// }
// return
// }
if (fieldname == 'projectList') {
// data.params.projectList[fieldindex].remark = detail.value;
data.params[fieldname][fieldindex][fieldkey] = detail.value;
if (data.params[fieldname][fieldindex][fieldkey]) {
// delete data.requireObj[fieldname];
// data.requireObj[fieldname][fieldindex].remark = '';
} else {
// data.requireObj[fieldname][fieldindex].remark = this.checkStr(data.params[fieldname][fieldindex][fieldkey]);
}
} else if (fieldname == 'vehicleList') {
data.params[fieldname][fieldindex][fieldkey] = detail.value;
if (data.params[fieldname][fieldindex][fieldkey]) {
// delete data.requireObj[fieldname];
data.requireObj[fieldname][fieldindex][fieldkey] = '';
} else {
data.requireObj[fieldname][fieldindex][fieldkey] = '此项为必填项';
}
} else if (fieldname == 'remark') {
data.params[fieldname] = detail.value;
// if (data.params[fieldname]) {
// data.requireObj[fieldname] = this.checkStr(data.params[fieldname]);
// }
} else {
data.params[fieldname] = detail.value;
if (data.params[fieldname]) {
// delete data.requireObj[fieldname];
data.requireObj[fieldname] = '';
} else {
data.requireObj[fieldname] = '此项为必填项';
}
}
this.setData(data);
},
clearVal(e: any) {
let { fieldname, fieldindex, fieldkey } = e.currentTarget.dataset;
let data: any = { ...this.data };
if (fieldname == 'projectList') {
data.params.projectList[fieldindex][fieldkey] = '';
} else if (fieldname == 'vehicleList') {
data.params[fieldname][fieldindex][fieldkey] = '';
} else {
data.params[fieldname] = '';
}
this.setData(data);
},
addRow(e: any) {
console.log(123);
let { fieldname } = e.currentTarget.dataset;
let data: any = { ...this.data };
if (fieldname == 'vehicleList') {
data.params[fieldname].push({
vehicleModel: '',
frameNumber: '',
plateNumber: '',
vehicleType: '',
vehicleBrand: ''
});
data.requireObj[fieldname].push({
vehicleModel: '',
frameNumber: '',
plateNumber: '',
vehicleType: '',
vehicleBrand: ''
});
} else if (fieldname == 'projectList') {
data.params[fieldname].push({
name: '',
content: '',
checkStatus: '1',
remark: ''
});
}
this.setData(data);
},
delRow(e: any) {
let { fieldname, fieldindex } = e.currentTarget.dataset;
let data: any = { ...this.data };
if (fieldname == 'vehicleList') {
let arr = data.params[fieldname],
value = data.params[fieldname][fieldindex];
let newSet = new Set(arr);
newSet.delete(value);
let newArr = [...newSet];
data.params[fieldname] = newArr;
let arr2 = data.requireObj[fieldname],
value2 = data.requireObj[fieldname][fieldindex];
let newSet2 = new Set(arr2);
newSet.delete(value2);
let newArr2 = [...newSet2];
data.requireObj[fieldname] = newArr2;
} else if (fieldname == 'projectList') {
data.params[fieldname].splice(fieldindex, 1);
}
this.setData(data);
console.log(data);
},
radioOnChange(e: any) {
console.log(e);
let { fieldname, fieldindex } = e.currentTarget.dataset;
let data: any = { ...this.data };
if (fieldname == 'projectList') {
data.params.projectList[fieldindex].checkStatus = e.detail;
} else {
data.params[fieldname] = e.detail;
}
if (data.params[fieldname]) {
// delete data.requireObj[fieldname];
data.requireObj[fieldname] = '';
} else {
data.requireObj[fieldname] = '此项为必填项';
}
this.setData(data);
},
// 上传
afterRead(e: any) {
console.log(e);
let { fieldname } = e.currentTarget.dataset;
const file = e.detail;
let option = {
name: 'file',
filePath: e.detail.file.url
};
this.setData({
uploading: true
});
upload('api/vehicleCheck/upload', option).then((res: any) => {
this.setData({
uploading: false
});
let tempData = JSON.parse(res.data);
if (tempData.code == 200) {
let otherPhotoFile: any = this.data.params[fieldname + 'List'];
otherPhotoFile.push({ ...file, url: tempData.result.fileUrl });
let data: any = this.data;
let urls = '' as any;
otherPhotoFile.forEach((p: any) => {
urls += p.url + ',';
});
urls = urls.slice(0, -1);
data.params[fieldname] = urls;
data.params[fieldname + 'List'] = otherPhotoFile;
console.log(data.params);
this.setData(data);
} else {
wx.showToast({
title: '上传失败,请重试',
icon: 'none'
});
}
});
},
deletePhoto(e: any) {
let { fieldname } = e.currentTarget.dataset;
let otherPhotoFile = this.data.params[fieldname + 'List'];
let index = e.detail.index;
otherPhotoFile.splice(index, 1);
let data: any = this.data;
let urls = '' as any;
otherPhotoFile.forEach((p: any) => {
urls += p.url + ',';
});
urls = urls.slice(0, -1);
data.params[fieldname] = urls;
data.params[fieldname + 'List'] = otherPhotoFile;
this.setData(data);
},
checkStr(str: string) {
let returnStr = '';
let spaceRegex = /^\S*$/;
let regex = /[!@#$%^&*?><|\\\\]/;
let tooLong = str.length > 32;
if (!spaceRegex.test(str)) {
returnStr = '不支持含有空格';
} else if (regex.test(str)) {
returnStr = '不支持特殊字符';
} else if (tooLong) {
returnStr = '输入长度不得超过32个字符';
} else {
returnStr = '';
}
return returnStr;
},
isStepReady() {
//校验基础信息
let isAllReady = true;
let temp: any = this.data.requireObj;
let params: any = this.data.params;
for (let key in temp) {
if (key == 'id') {
continue;
}
if (key == 'vehicleList') {
params[key].forEach((item: any, index: number) => {
if (item.vehicleModel == '' || item.vehicleModel === undefined) {
isAllReady = false;
temp['vehicleList'][index].vehicleModel = '此项为必填项';
} else {
temp['vehicleList'][index].vehicleModel = this.checkStr(
item.vehicleModel
);
}
if (item.frameNumber == '' || item.frameNumber === undefined) {
isAllReady = false;
temp['vehicleList'][index].frameNumber = '此项为必填项';
} else {
temp['vehicleList'][index].frameNumber = this.checkStr(
item.frameNumber
);
}
let regex =
/(^[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领A-Z]{1}[A-Z]{1}[A-Z0-9]{4}[A-Z0-9挂学警港澳]{1}$)|(^[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领A-Z]{1}[A-Z]{1}[A-Z0-9]{5}[A-Z0-9挂学警港澳]{1}$)/;
if (item.plateNumber == '' || item.plateNumber === undefined) {
isAllReady = false;
temp['vehicleList'][index].plateNumber = '此项为必填项';
} else if (!regex.test(item.plateNumber)) {
isAllReady = false;
temp['vehicleList'][index].plateNumber = '请输入正确的车牌号';
} else {
temp['vehicleList'][index].plateNumber = this.checkStr(
item.plateNumber
);
}
if (item.vehicleBrand == '' || item.vehicleBrand === undefined) {
isAllReady = false;
temp['vehicleList'][index].vehicleBrand = '此项为必填项';
} else {
temp['vehicleList'][index].vehicleBrand = this.checkStr(
item.vehicleBrand
);
}
if (item.vehicleType == '' || item.vehicleType === undefined) {
isAllReady = false;
temp['vehicleList'][index].vehicleType = '此项为必填项';
} else {
temp['vehicleList'][index].vehicleType = this.checkStr(
item.vehicleType
);
}
if (
temp['vehicleList'][index].frameNumber ||
temp['vehicleList'][index].vehicleModel
) {
isAllReady = false;
}
});
} else if (key == 'projectList') {
params[key].forEach((item: any, index: number) => {
if (item.checkStatus === '' || item.checkStatus === undefined) {
isAllReady = false;
temp['projectList'][index].checkStatus = '此项为必填项';
}
});
} else if (key == 'checkTime') {
// let timeRegex =
// /^(?:19|20)[0-9][0-9]-(?:(?:0[1-9])|(?:1[0-2]))-(?:(?:[0-2][1-9])|(?:[1-3][0-1])) (?:(?:[0-2][0-3])|(?:[0-1][0-9])):[0-5][0-9]$/ as any;
let timeRegex =
/^(?:19|20)[0-9][0-9]-(?:(?:0[1-9])|(?:1[0-2]))-(?:(?:[0-2][1-9])|(?:[1-3][0-1]))$/ as any;
if (!timeRegex.test(params[key])) {
isAllReady = false;
temp[key] = '请填写正确的时间';
}
// temp[key] = temp[key] ? temp[key] : '请填写正确的时间';
} else if (key == 'checkAddress') {
temp[key] = params[key] ? '' : '此项为必填项';
if (temp[key]) {
isAllReady = false;
}
} else if (!params[key]) {
isAllReady = false;
temp[key] = temp[key] ? temp[key] : '此项为必填项';
} else {
temp[key] = this.checkStr(params[key]);
if (temp[key]) {
isAllReady = false;
}
}
}
this.setData({
requireObj: temp
});
console.log(temp, isAllReady);
return isAllReady;
},
formSubmit(e: any) {
let btnStatus = e.currentTarget.dataset.status;
if (this.data.uploading) {
wx.showToast({
title: '文件上传中,请稍后',
icon: 'none'
});
return;
}
if (this.data.loading) {
wx.showToast({
title: '信息保存中,请勿重复提交',
icon: 'none'
});
return;
}
if (!this.isStepReady()) {
wx.showToast({
title: '请填写完整对应信息',
icon: 'none'
});
// 验证是否非空
return;
}
// if (
// !this.data.params.vehicleList ||
// this.data.params.vehicleList.length == 0
// ) {
// wx.showToast({
// title: '无车辆信息,请增加车辆信息',
// icon: 'none'
// });
// return;
// }
if (this.data.params.projectList.length > 0) {
let res = this.data.params.projectList.some((item: any) => {
return item.content === '' || item.name === '';
});
if (res) {
wx.showToast({
title: '验收信息中,验收项目与验收内容不能为空',
icon: 'none'
});
return;
}
}
// 验证非必填
if (this.data.params.remark) {
let msg = this.checkStr(this.data.params.remark);
if (msg) {
wx.showToast({
title: '验收结论:' + msg,
icon: 'none'
});
return;
}
}
let params = this.data.params;
params.status = btnStatus; // 状态0待提交1已提交
wx.showLoading({
title: '保存中'
});
this.setData({
loading: true
});
if (this.data.params.id) {
putAction('api/vehicleCheck/edit', this.data.params).then((res: any) => {
wx.hideLoading();
this.setData({
loading: false
});
if (res.code == 200) {
wx.showToast({
title: '保存成功',
icon: 'success'
});
wx.navigateBack({
delta: 2
});
} else {
this.setData({
loading: false
});
wx.showToast({
title: res.message,
icon: 'none'
});
}
});
} else {
postAction('api/vehicleCheck/add', this.data.params).then((res: any) => {
wx.hideLoading();
this.setData({
loading: false
});
if (res.code == 200) {
wx.showToast({
title: '保存成功',
icon: 'success'
});
wx.navigateBack({
delta: 1
});
} else {
this.setData({
loading: false
});
wx.showToast({
title: res.message,
icon: 'none'
});
}
});
}
},
/**
* 生命周期函数--监听页面加载
*/
onLoad() {
// 接收传参
const eventChannel = this.getOpenerEventChannel();
eventChannel &&
eventChannel.on &&
eventChannel.on('eventName', (data: any) => {
console.log('接收参数', data);
data.ckeckUrlList = [];
data.ensureUrlList = [];
data.otherUrlList = [];
if (data.ckeckUrl) {
for (let i = 0; i < data.ckeckUrl.split(',').length; i++) {
let pic = data.ckeckUrl.split(',')[i];
data.ckeckUrlList.push({
url: pic,
name: ''
});
}
}
if (data.ensureUrl) {
for (let i = 0; i < data.ensureUrl.split(',').length; i++) {
let pic = data.ensureUrl.split(',')[i];
data.ensureUrlList.push({
url: pic,
name: ''
});
}
}
if (data.otherUrl) {
for (let i = 0; i < data.otherUrl.split(',').length; i++) {
let pic = data.otherUrl.split(',')[i];
data.otherUrlList.push({
url: pic,
name: ''
});
}
}
if (data.vehicleList) {
for (let i = 0; i < data.vehicleList.length; i++) {
this.data.requireObj.vehicleList.push({
vehicleModel: '',
frameNumber: '',
plateNumber: '',
vehicleType: '',
vehicleBrand: ''
});
}
}
// if (data.projectList) {
// for (let i = 0; i < data.projectList.length; i++) {
// this.data.requireObj.projectList.push({
// checkStatus: ''
// });
// }
// }
this.setData({
params: !data.isAdd ? data : this.data.params,
checkTimeTamp: !data.isAdd
? new Date(data.checkTime).getTime()
: this.data.checkTimeTamp
});
this.getProjectOptions();
this.getDictOptions('vehicle_brand');
this.getDictOptions('vehicle_type');
this.getByRoleCode();
});
},
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady() {
// this.getProjectOptions()
// this.getDictOptions('contract_type')
// this.getDictOptions('vehicle_type')
},
/**
* 生命周期函数--监听页面显示
*/
onShow() {},
/**
* 生命周期函数--监听页面隐藏
*/
onHide() {},
/**
* 生命周期函数--监听页面卸载
*/
onUnload() {},
/**
* 页面相关事件处理函数--监听用户下拉动作
*/
onPullDownRefresh() {},
/**
* 页面上拉触底事件的处理函数
*/
onReachBottom() {},
/**
* 用户点击右上角分享
*/
onShareAppMessage() {}
});