water_sh/pages/maintenance/index.js

261 lines
5.0 KiB
JavaScript
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/maintenance/index.js
var myRequest = require("../../utils/api.js");
Page({
/**
* 页面的初始数据
*/
data: {
desc:'',
show:false,
orderId:'',
accessory:[
],
searchValue:'',
accessorySearchList:'',
faultImg:[],
accessoryList:[
],
autosize:{
minHeight: 70
},
},
/**
* 生命周期函数--监听页面加载
*/
onLoad(options) {
let info = JSON.parse(options.item)
console.log(info)
this.setData({
orderId :info.orderId
})
let device = info.device
this.getdeviceParts(device.id)
},
getdeviceParts(deviceVersion){
let that =this;
myRequest.myRequest('deviceParts/list/'+deviceVersion,{
},'get').then(res=>{
this.setData({
accessory:res.data,
accessorySearchList:res.data
})
})
},
onClose(){
this.setData({
show:false,
searchValue:''
})
},
delAccessory(e){
console.log(e)
let index = e.currentTarget.dataset.index
let accessoryList = this.data.accessoryList
accessoryList.splice(index,1)
this.setData({
accessoryList
})
},
searchList(e){
console.log(e.detail)
let accessory = []
let list =this.data.accessorySearchList
if(e.detail){
accessory = list.filter(item=>{
return item.partsName.indexOf(e.detail)!=-1
})
}else{
accessory = list
}
this.setData({
accessory
})
},
saveComplete(){
console.log(this.data.accessoryList)
if(this.data.desc==''){
wx.showToast({
title: '请输入维修事项',
icon:'none'
})
return
}
if(this.data.faultImg.length<3){
wx.showToast({
title: '请上传维修图片不少于3张',
icon:'none'
})
return
}
let parts = this.data.accessoryList.map(item=>{
return {
partsId:item.partsId,
quantity:item.num,
price:item.price
}
})
let img= this.data.faultImg.map(item=>{
return item.url
})
let parma = {
parts,
desc:this.data.desc,
img
}
let orderId = this.data.orderId
myRequest.myRequest('deviceRepairOrder/supporter/complete/'+this.data.orderId,parma,'post').then(res=>{
wx.showToast({
title: '提交成功',
icon:'none'
})
setTimeout(() => {
wx.navigateBack({
delta: 1,
success: function (e) {
var page = getCurrentPages().pop();
if (page == undefined || page == null) return;
page.onLoad({id:orderId}); // 刷新数据
}
});
}, 1000);
})
},
onChangeDesc(e){
this.setData({
desc:e.detail
})
},
selectItem(e){
let data = e.currentTarget.dataset.item
console.log(data)
let accessoryList = this.data.accessoryList
accessoryList.push({
name:data.partsName,
type:data.partsModel,
price:data.price,
partsId:data.partsId,
num:'1'
})
this.setData({accessoryList,show:false,searchValue:''})
},
onChangeNum(e){
console.log(e.currentTarget.dataset.index)
let index = e.currentTarget.dataset.index
let accessoryList =this.data.accessoryList
accessoryList[index].num = e.detail
this.setData({
accessoryList
})
},
addAccessory(){
this.setData({
show:true
})
},
bindDel(e){
console.log(e)
let faultImg= this.data.faultImg
let delList = faultImg.splice(e.detail.index,1)
myRequest.myRequest('wx/oss/'+delList[0].ossId,{
},'delete').then(res=>{
this.setData({faultImg})
})
},
uploadFile(url) {
return new Promise((resolve, reject) => {
myRequest.updateImg({
file: url
}).then(res => {
resolve(res)
})
})
},
afterRead(event) {
const {
file
} = event.detail;
let that = this;
let upload = []
file.forEach(element => {
upload.push(this.uploadFile(element.url))
})
Promise.all(upload).then(res => {
let faultImg = that.data.faultImg
faultImg=[...faultImg,...res]
that.setData({
faultImg
});
})
},
onChange(){},
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady() {
},
/**
* 生命周期函数--监听页面显示
*/
onShow() {
},
clickCell(){
},
/**
* 生命周期函数--监听页面隐藏
*/
onHide() {
},
/**
* 生命周期函数--监听页面卸载
*/
onUnload() {
},
/**
* 页面相关事件处理函数--监听用户下拉动作
*/
onPullDownRefresh() {
},
/**
* 页面上拉触底事件的处理函数
*/
onReachBottom() {
},
/**
* 用户点击右上角分享
*/
onShareAppMessage() {
}
})