526 lines
13 KiB
TypeScript
526 lines
13 KiB
TypeScript
// pages/vehicleMaintenance/maintainRecord/maintainRecord.ts
|
|
import { getAction } from '../../../api/base';
|
|
|
|
Page({
|
|
/**
|
|
* 页面的初始数据
|
|
*/
|
|
data: {
|
|
startDate: '',
|
|
endDate: '',
|
|
startDateTmp: '',
|
|
endDateTmp: '',
|
|
selectDate: 'startDate',
|
|
showDateSelect: false,
|
|
dateList: {
|
|
years: [2023, 2024, 2025],
|
|
months: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12],
|
|
date: [
|
|
1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
|
|
21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31
|
|
]
|
|
},
|
|
dateValue: [0, 0, 0],
|
|
|
|
projectOptions: [
|
|
{
|
|
id: '',
|
|
projectName: '全部'
|
|
}
|
|
] as any,
|
|
selectProjectIndex: 0,
|
|
selectProject: {} as any,
|
|
|
|
tabList: [] as any,
|
|
active: 0,
|
|
showMoreSearch: false,
|
|
plateNumberOrOrderNo: '',
|
|
|
|
repairShopsOptions: [] as any,
|
|
|
|
flowStatus: -1,
|
|
current: 1,
|
|
isLast: false,
|
|
loading: false,
|
|
recordList: []
|
|
},
|
|
toSearch() {},
|
|
// 切换显示 更多条件
|
|
filterShow() {
|
|
this.setData({
|
|
showMoreSearch: true
|
|
});
|
|
},
|
|
filterHide() {
|
|
this.setData({
|
|
showMoreSearch: false
|
|
});
|
|
},
|
|
|
|
// 日期相关--------------
|
|
showDate(e: any) {
|
|
// selectDate
|
|
let clickDate = null as any;
|
|
if (e.currentTarget.dataset.key == 'startDate') {
|
|
clickDate = this.data.startDate;
|
|
} else {
|
|
clickDate = this.data.endDate;
|
|
}
|
|
let y = this.data.dateList.years.findIndex(
|
|
(x: number) => x == Number(clickDate.split('-')[0])
|
|
);
|
|
let m = this.data.dateList.months.findIndex(
|
|
(x: number) => x == Number(clickDate.split('-')[1])
|
|
);
|
|
let d = this.data.dateList.date.findIndex(
|
|
(x: number) => x == Number(clickDate.split('-')[2])
|
|
);
|
|
// console.log(this.data.startDate.split('-'))
|
|
console.log([y, m, d]);
|
|
this.setData({
|
|
showDateSelect: true,
|
|
selectDate: e.currentTarget.dataset.key,
|
|
|
|
startDateTmp: this.data.startDate,
|
|
endDateTmp: this.data.endDate,
|
|
dateValue: [y, m, d]
|
|
});
|
|
},
|
|
hideDate() {
|
|
this.setData({
|
|
showDateSelect: false
|
|
});
|
|
},
|
|
changeSelectDate(e: any) {
|
|
this.setData({
|
|
selectDate: e.currentTarget.dataset.key
|
|
});
|
|
},
|
|
selectDate(e: any) {
|
|
console.log(e.detail.value);
|
|
let y: string | number = this.data.dateList.years[e.detail.value[0]];
|
|
let m: string | number = this.data.dateList.months[e.detail.value[1]];
|
|
let d: string | number = this.data.dateList.date[e.detail.value[2]];
|
|
y = y < 10 ? '0' + y : y;
|
|
m = m < 10 ? '0' + m : m;
|
|
d = d < 10 ? '0' + d : d;
|
|
if (this.data.selectDate == 'startDate') {
|
|
this.setData({
|
|
startDateTmp: `${y}-${m}-${d}`
|
|
});
|
|
} else {
|
|
this.setData({
|
|
endDateTmp: `${y}-${m}-${d}`
|
|
});
|
|
}
|
|
},
|
|
changeDate(e: any) {
|
|
console.log(
|
|
new Date(this.data.startDateTmp).getTime(),
|
|
new Date(this.data.endDateTmp).getTime()
|
|
);
|
|
if (
|
|
new Date(this.data.startDateTmp).getTime() >
|
|
new Date(this.data.endDateTmp).getTime()
|
|
) {
|
|
wx.showToast({
|
|
title: '结束时间不能早于开始时间',
|
|
icon: 'none'
|
|
});
|
|
return;
|
|
}
|
|
this.setData({
|
|
startDate: this.data.startDateTmp,
|
|
endDate: this.data.endDateTmp,
|
|
showDateSelect: false
|
|
});
|
|
},
|
|
|
|
// 日期初始化
|
|
initDate() {
|
|
let year = new Date().getFullYear();
|
|
let mon =
|
|
new Date().getMonth() + 1 < 10
|
|
? '0' + (new Date().getMonth() + 1)
|
|
: new Date().getMonth() + 1;
|
|
let day =
|
|
new Date().getDate() < 10
|
|
? '0' + new Date().getDate()
|
|
: new Date().getDate();
|
|
let years = [];
|
|
for (let i = -3; i < 6; i++) {
|
|
years.push(year + i);
|
|
}
|
|
this.setData({
|
|
dateList: {
|
|
years: years,
|
|
months: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12],
|
|
date: [
|
|
1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
|
|
21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31
|
|
]
|
|
},
|
|
dateValue: [0, 0, 0],
|
|
|
|
startDate: `${year}-${mon}-${day}`,
|
|
endDate: `${year}-${mon}-${day}`,
|
|
startDateTmp: `${year}-${mon}-${day}`,
|
|
endDateTmp: `${year}-${mon}-${day}`
|
|
});
|
|
},
|
|
// 日期相关--------------end
|
|
// 项目选择--------------
|
|
getProjectOptions() {
|
|
getAction('api/vehicles/repair/queryProjects').then((res: any) => {
|
|
if (res.code == 200) {
|
|
let tmpArr = [
|
|
{
|
|
id: '',
|
|
projectName: '全部'
|
|
}
|
|
];
|
|
// res.result.unshift();
|
|
res.result.forEach((item: any) => {
|
|
tmpArr.push({
|
|
id: item.projectId,
|
|
projectName: item.projectName
|
|
});
|
|
});
|
|
this.setData({
|
|
projectOptions: tmpArr,
|
|
selectProjectIndex: 0,
|
|
selectProject: tmpArr[0]
|
|
});
|
|
} else {
|
|
wx.showToast({
|
|
title: res.message,
|
|
icon: 'none'
|
|
});
|
|
}
|
|
});
|
|
},
|
|
bindPickerProject(e: any) {
|
|
console.log(e);
|
|
let index = Number(e.detail.value);
|
|
this.setData({
|
|
selectProject: this.data.projectOptions[index],
|
|
selectProjectIndex: index
|
|
});
|
|
},
|
|
// 项目选择--------------end
|
|
// 维修厂选择---------
|
|
getRepairShops() {
|
|
getAction('api/vehicles/repair/getRepairShop').then((res: any) => {
|
|
if (res.code == 200) {
|
|
res.result.forEach((item: any) => {
|
|
item.check = false;
|
|
});
|
|
this.setData({
|
|
repairShopsOptions: res.result
|
|
});
|
|
} else {
|
|
wx.showToast({
|
|
title: res.message,
|
|
icon: 'none'
|
|
});
|
|
}
|
|
});
|
|
},
|
|
checkRepairShop(e: any) {
|
|
let tmpArr = this.data.repairShopsOptions;
|
|
let index = e.currentTarget.dataset.index;
|
|
tmpArr.forEach((item: any, i: number) => {
|
|
if (i == index) {
|
|
item.check = true;
|
|
} else {
|
|
item.check = false;
|
|
}
|
|
});
|
|
// tmpArr[index].check = !tmpArr[index].check
|
|
this.setData({
|
|
repairShopsOptions: tmpArr
|
|
});
|
|
},
|
|
// 维修厂选择---------
|
|
tabOnChange(e: any) {
|
|
console.log(e);
|
|
this.setData({
|
|
current: 1,
|
|
isLast: false,
|
|
recordList: [],
|
|
plateNumberOrOrderNo: this.data.plateNumberOrOrderNo,
|
|
active: e.detail.index,
|
|
flowStatus: this.data.tabList[e.detail.index].flowStatus
|
|
});
|
|
this.getList();
|
|
},
|
|
getTabList() {
|
|
let tmpArr = this.data.repairShopsOptions.filter((x: any) => x.check);
|
|
let repairShop = tmpArr[0] ? tmpArr[0].repairShop : '';
|
|
let parms = {
|
|
plateNumberOrOrderNo: this.data.plateNumberOrOrderNo,
|
|
projectId: this.data.selectProject.id,
|
|
repairShop: repairShop
|
|
};
|
|
getAction('api/vehicles/upkeepBill/getUpkeepPageStatic', parms).then(
|
|
(res: any) => {
|
|
if (res.code == 200) {
|
|
this.setData({
|
|
tabList: res.result
|
|
});
|
|
} else {
|
|
wx.showToast({
|
|
title: res.message,
|
|
icon: 'none'
|
|
});
|
|
}
|
|
}
|
|
);
|
|
},
|
|
restList() {
|
|
let tmpArr = this.data.repairShopsOptions;
|
|
tmpArr.forEach((item: any) => {
|
|
item.check = false;
|
|
});
|
|
this.initDate();
|
|
this.setData({
|
|
current: 1,
|
|
isLast: false,
|
|
recordList: [],
|
|
plateNumberOrOrderNo: '',
|
|
selectProject: this.data.projectOptions[0],
|
|
selectProjectIndex: 0,
|
|
repairShopsOptions: tmpArr
|
|
});
|
|
this.getTabList();
|
|
this.getList();
|
|
},
|
|
changePlateNumberOrOrderNo(e: any) {
|
|
console.log(e.detail.value);
|
|
this.setData({
|
|
current: 1,
|
|
isLast: false,
|
|
recordList: [],
|
|
plateNumberOrOrderNo: e.detail.value
|
|
});
|
|
this.getTabList();
|
|
this.getList();
|
|
},
|
|
getListByMoreParms() {
|
|
this.setData({
|
|
current: 1,
|
|
isLast: false,
|
|
recordList: [],
|
|
showMoreSearch: false
|
|
});
|
|
this.getTabList();
|
|
this.getList();
|
|
},
|
|
getList() {
|
|
let parms: any;
|
|
// if (this.data.showMoreSearch) {
|
|
let tmpArr = this.data.repairShopsOptions.filter((x: any) => x.check);
|
|
let repairShop = tmpArr[0] ? tmpArr[0].repairShop : '';
|
|
parms = {
|
|
// startDate: this.data.startDate,
|
|
// endDate: this.data.endDate,
|
|
plateNumberOrOrderNo: this.data.plateNumberOrOrderNo,
|
|
projectId: this.data.selectProject.id,
|
|
repairShop: repairShop,
|
|
flowStatus: this.data.flowStatus,
|
|
pageNo: this.data.current,
|
|
pageSize: 10
|
|
};
|
|
// } else {
|
|
// parms = {
|
|
// plateNumberOrOrderNo: this.data.plateNumberOrOrderNo,
|
|
// flowStatus: this.data.flowStatus,
|
|
// pageNo: this.data.current,
|
|
// pageSize: 10
|
|
// };
|
|
// }
|
|
this.setData({
|
|
loading: true
|
|
});
|
|
wx.showLoading({
|
|
title: '加载中',
|
|
icon: 'none'
|
|
});
|
|
getAction('api/vehicles/upkeepBill/list', parms)
|
|
.then((res: any) => {
|
|
this.setData({
|
|
loading: false
|
|
});
|
|
wx.hideLoading();
|
|
if (res.code == 200) {
|
|
let tmpArr = this.data.recordList.concat(res.result.records);
|
|
this.setData({
|
|
listTotal: res.result.total,
|
|
recordList: tmpArr
|
|
});
|
|
if (res.result.total == tmpArr.length) {
|
|
// tmpArr 目前只是调试流程用
|
|
this.setData({
|
|
isLast: true
|
|
});
|
|
}
|
|
// if (1) {
|
|
// this.setData({
|
|
// // isLast: true,
|
|
// listTotal: res.result.total,
|
|
// recordList: res.result.records //之后放出来
|
|
// });
|
|
// }
|
|
console.log('查询结果', res);
|
|
} else {
|
|
wx.showToast({
|
|
title: res.message,
|
|
icon: 'none'
|
|
});
|
|
}
|
|
})
|
|
.catch((err: any) => {
|
|
this.setData({
|
|
loading: false
|
|
});
|
|
wx.showToast({
|
|
title: err.message,
|
|
icon: 'none'
|
|
});
|
|
});
|
|
},
|
|
// 跳转到对应的维修详情页
|
|
toDetailPage(e: any) {
|
|
wx.setStorageSync('selectMaintain', e.currentTarget.dataset.inf);
|
|
let url = '';
|
|
switch (e.currentTarget.dataset.inf.flowStatus) {
|
|
case 2:
|
|
url = '../UpkeepBillSend/UpkeepBillSend';
|
|
break;
|
|
case 3:
|
|
url = '../UpkeepBillSend/UpkeepBillSend';
|
|
break;
|
|
case 4:
|
|
url = '../UpkeepBillCheck/UpkeepBillCheck';
|
|
break;
|
|
case 5:
|
|
url = '../UpkeepBillCheck/UpkeepBillCheck';
|
|
break;
|
|
case 6:
|
|
url = '../UpkeepBillProcedure/UpkeepBillProcedure';
|
|
break;
|
|
case 7:
|
|
url = '../UpkeepBillProcedure/UpkeepBillProcedure';
|
|
break;
|
|
case 8:
|
|
url = '../UpkeepBillResult/UpkeepBillResult';
|
|
break;
|
|
case 9:
|
|
url = '../UpkeepBillResult/UpkeepBillResult';
|
|
break;
|
|
case 10:
|
|
url = '../UpkeepBillCheck/UpkeepBillCheck';
|
|
break;
|
|
}
|
|
let that = this;
|
|
wx.navigateTo({
|
|
url: url,
|
|
events: {
|
|
// 编辑过后刷新页面
|
|
refresh: function () {
|
|
console.log('动了');
|
|
that.initDate();
|
|
that.restList();
|
|
}
|
|
},
|
|
fail: e => {
|
|
console.log(e);
|
|
}
|
|
});
|
|
},
|
|
lower(e: any) {
|
|
console.log(e.detail.direction == 'bottom');
|
|
// return
|
|
if (this.data.isLast) {
|
|
wx.showToast({
|
|
title: '已经是最后一页',
|
|
icon: 'none'
|
|
});
|
|
return;
|
|
}
|
|
if (e.detail.direction == 'bottom' && !this.data.loading) {
|
|
// this.data.current += 1
|
|
this.setData({
|
|
loading: true,
|
|
current: (this.data.current += 1)
|
|
});
|
|
this.getList();
|
|
}
|
|
},
|
|
|
|
/**
|
|
* 生命周期函数--监听页面加载
|
|
*/
|
|
onLoad() {
|
|
this.initDate();
|
|
this.restList();
|
|
},
|
|
|
|
/**
|
|
* 生命周期函数--监听页面初次渲染完成
|
|
*/
|
|
onReady() {
|
|
this.initDate();
|
|
this.getProjectOptions();
|
|
this.getRepairShops();
|
|
},
|
|
|
|
/**
|
|
* 生命周期函数--监听页面显示
|
|
*/
|
|
onShow() {
|
|
// this.getTabList();
|
|
// this.getList();
|
|
// this.restList();
|
|
},
|
|
|
|
/**
|
|
* 生命周期函数--监听页面隐藏
|
|
*/
|
|
onHide() {},
|
|
|
|
/**
|
|
* 生命周期函数--监听页面卸载
|
|
*/
|
|
onUnload() {
|
|
console.log(getApp().EventChannel);
|
|
getApp().EventChannel = null;
|
|
},
|
|
|
|
/**
|
|
* 页面相关事件处理函数--监听用户下拉动作
|
|
*/
|
|
onPullDownRefresh() {
|
|
// this.setData({
|
|
// current: 1,
|
|
// isLast: false,
|
|
// recordList: [],
|
|
// });
|
|
this.getTabList();
|
|
// this.getList();
|
|
this.restList();
|
|
// 手动控制回弹
|
|
wx.stopPullDownRefresh();
|
|
},
|
|
|
|
/**
|
|
* 页面上拉触底事件的处理函数
|
|
*/
|
|
onReachBottom() {},
|
|
|
|
/**
|
|
* 用户点击右上角分享
|
|
*/
|
|
onShareAppMessage() {}
|
|
});
|