394 lines
12 KiB
JavaScript
394 lines
12 KiB
JavaScript
let util = require('../../../utils/util')
|
|
let apiArr = require('../../../api/partner')
|
|
let apiArr2 = require('../../../api/water_filter')
|
|
Page({
|
|
|
|
/**
|
|
* 页面的初始数据
|
|
*/
|
|
data: {
|
|
fileList: [],
|
|
fileList2: [],
|
|
device_code: "",
|
|
customer_name: "",
|
|
customer_phone: "",
|
|
region: "",
|
|
address: "",
|
|
deviceList: [],
|
|
fault_desc: "",
|
|
page_num: 1,
|
|
page_size: 50,
|
|
show: false,
|
|
currentDeviceInfo: {
|
|
region:"",
|
|
address:"",
|
|
},
|
|
formatter(type, value) {
|
|
if (type === 'year') {
|
|
return `${value}年`;
|
|
}
|
|
if (type === 'month') {
|
|
return `${value}月`;
|
|
}
|
|
if (type === 'day') {
|
|
return `${value}日`;
|
|
}
|
|
return value;
|
|
},
|
|
show2: false,
|
|
cityList: [],
|
|
areaList: [],
|
|
businessList: [],
|
|
newAreaList: [], // 默认展示 市区
|
|
newBusiness: [], // 默认展示 县/区
|
|
confirmCity: '',
|
|
confirmArea: '',
|
|
confirmBusiness: '',
|
|
deviceInfo:{
|
|
customer_name:"",
|
|
customer_phone:"",
|
|
device_code:"",
|
|
address:"",
|
|
region:""
|
|
}
|
|
},
|
|
onClose2() {
|
|
this.setData({
|
|
show2: false
|
|
})
|
|
},
|
|
headerAreaClick() {
|
|
this.setData({
|
|
show2: true
|
|
})
|
|
},
|
|
bindChange(e) {
|
|
const { value } = e.detail;
|
|
const { cityList, areaList, businessList } = this.data;
|
|
// 每次切换时,根据当前点击的省过滤出所属市区,并且试试变化县/区
|
|
let newArea = areaList.filter((item) => item.city_id === cityList[value[0]].city_id);
|
|
let newbus = businessList.filter((item) => item.area_id === newArea[value[1]].area_id);
|
|
this.setData({
|
|
newAreaList: newArea,
|
|
newBusiness: newbus,
|
|
confirmCity: cityList[value[0]],
|
|
confirmArea: newArea[value[1]],
|
|
confirmBusiness: newbus[value[2]],
|
|
})
|
|
|
|
},
|
|
onOk() {
|
|
const { confirmCity, confirmArea, confirmBusiness } = this.data;
|
|
console.log(confirmCity, confirmArea, confirmBusiness);
|
|
this.setData({
|
|
show2: false,
|
|
"currentDeviceInfo.region": `${confirmCity.name}${confirmArea.area_name}${confirmBusiness.business_name}`,
|
|
})
|
|
},
|
|
|
|
getSSQ() {
|
|
let that = this
|
|
util.postUrl2(apiArr2.city, {}, res => {
|
|
util.postUrl2(apiArr2.area, {}, res1 => {
|
|
util.postUrl2(apiArr2.business, {}, res2 => {
|
|
wx.hideLoading();
|
|
// 省列表来自 res
|
|
let cityList = res.data.data.rows;
|
|
// 市列表来自 res1
|
|
let areaList = res1.data.data.rows;
|
|
// 区列表来自 res2
|
|
let businessList = res2.data.data.rows;
|
|
|
|
// 处理市列表,将衡水市放到最后
|
|
let hengshuiIndex = areaList.findIndex(item => item.name === '衡水市');
|
|
console.log(hengshuiIndex, 'hengshuiIndex');
|
|
if (hengshuiIndex !== -1) {
|
|
const hengshui = areaList.splice(hengshuiIndex, 1)[0];
|
|
areaList.push(hengshui);
|
|
}
|
|
|
|
console.log(businessList);
|
|
// 处理区列表,将衡水市的桃城区放到最后一个
|
|
let taochengIndex = businessList.findIndex(item => item.business_name === '桃城区');
|
|
if (taochengIndex !== -1) {
|
|
const taocheng = businessList.splice(taochengIndex, 1)[0];
|
|
businessList.unshift(taocheng);
|
|
}
|
|
|
|
|
|
// 默认展示第一条数据的省、市和区
|
|
let newArea = res1.data.data.rows.filter((item) => {
|
|
return item.city_id === res.data.data.rows[0].city_id
|
|
});
|
|
let newbus = res2.data.data.rows.filter((item) => {
|
|
return item.area_id === res1.data.data.rows[0].area_id
|
|
});
|
|
|
|
// 正确存储数据
|
|
wx.setStorageSync('cityList', cityList)
|
|
wx.setStorageSync('areaList', areaList)
|
|
wx.setStorageSync('businessList', businessList)
|
|
|
|
this.setData({
|
|
cityList: cityList,
|
|
areaList: areaList,
|
|
businessList: businessList,
|
|
newAreaList: newArea, // 默认展示市
|
|
newBusiness: newbus, // 默认展示区
|
|
confirmCity: cityList[0],
|
|
confirmArea: newArea[0],
|
|
confirmBusiness: newbus[0],
|
|
})
|
|
})
|
|
})
|
|
})
|
|
},
|
|
changeShow1() {
|
|
let that = this
|
|
// wx.navigateTo({
|
|
// url: '/packages/partner/pages/chooseRepairDevice/chooseRepairDevice',
|
|
// })
|
|
that.setData({
|
|
show:true
|
|
})
|
|
},
|
|
getDeviceList() {
|
|
let that = this
|
|
util.postUrl(apiArr2.masterDeviceList, {
|
|
page_num: that.data.page_num,
|
|
page_size: that.data.page_size,
|
|
info_id:wx.getStorageSync('info_id')
|
|
}, res => {
|
|
that.setData({
|
|
deviceList: res.rows
|
|
})
|
|
})
|
|
},
|
|
|
|
changeAddress(e){
|
|
console.log(e);
|
|
let that = this
|
|
that.setData({
|
|
"currentDeviceInfo.address":e.detail.value
|
|
})
|
|
},
|
|
|
|
updateFault_desc(e) {
|
|
let that = this
|
|
that.setData({
|
|
fault_desc: e.detail.value
|
|
})
|
|
},
|
|
|
|
confirmPackage(e) {
|
|
let that = this
|
|
that.setData({
|
|
show: false,
|
|
// currentDeviceInfo: e.detail.value,
|
|
device_code: e.detail.value.device_code
|
|
})
|
|
},
|
|
onClose() {
|
|
let that = this
|
|
that.setData({
|
|
show: false
|
|
})
|
|
},
|
|
|
|
beforeRead(e) {
|
|
let that = this
|
|
wx.showLoading({
|
|
title: '上传中',
|
|
mask: true,
|
|
})
|
|
util.uploadFileUrl(e.detail.file.url, (res) => {
|
|
wx.hideLoading()
|
|
let datas = JSON.parse(res)
|
|
console.log(datas.data);
|
|
let url = util.img_url + datas.data.path
|
|
let fileList = that.data.fileList
|
|
let fileList2 = that.data.fileList2
|
|
let obj = {
|
|
url: url,
|
|
name: 'avatar'
|
|
}
|
|
let obj2 = {
|
|
url: datas.data.path,
|
|
name: 'avatar'
|
|
}
|
|
fileList.push(obj)
|
|
fileList2.push(obj2)
|
|
that.setData({
|
|
fileList,
|
|
fileList2
|
|
})
|
|
})
|
|
},
|
|
deleteImg(e) {
|
|
console.log(e);
|
|
let that = this
|
|
let fileList = that.data.fileList
|
|
let fileList2 = that.data.fileList2
|
|
fileList.splice(e.detail.index, 1)
|
|
fileList2.splice(e.detail.index, 1)
|
|
that.setData({
|
|
fileList,
|
|
fileList2
|
|
})
|
|
},
|
|
changeCustomerPhone(e){
|
|
let that = this
|
|
that.setData({
|
|
customer_phone: e.detail.value
|
|
})
|
|
if(e.detail.value.length == 11){
|
|
that.searchCustomer(e.detail.value)
|
|
}
|
|
},
|
|
searchCustomer(e) {
|
|
let that = this
|
|
util.postUrl(apiArr.phoneSearch, {
|
|
phone: e
|
|
}, res => {
|
|
console.log(res);
|
|
if (res.row.length == 1) {
|
|
that.setData({
|
|
customer_name: res.row[0].name,
|
|
address: res.row[0].address,
|
|
customer_id: res.row[0].info_id,
|
|
area:res.row[0].region,
|
|
address:res.row[0].address,
|
|
customer_phone:res.row[0].phone,
|
|
})
|
|
} else {
|
|
that.setData({
|
|
customer_name: '',
|
|
address: '',
|
|
customer_id: 0
|
|
})
|
|
}
|
|
})
|
|
},
|
|
submit() {
|
|
let that = this
|
|
|
|
|
|
if (!that.data.deviceInfo.device_code) {
|
|
return wx.showToast({
|
|
title: '请选择维修设备',
|
|
icon: "none"
|
|
})
|
|
}
|
|
if (!that.data.fault_desc) {
|
|
return wx.showToast({
|
|
title: '请填写故障描述',
|
|
icon: "none"
|
|
})
|
|
}
|
|
|
|
if (!that.data.fileList.length) {
|
|
return wx.showToast({
|
|
title: '请上传故障图片',
|
|
icon: "none"
|
|
})
|
|
}
|
|
util.postUrl(apiArr.createRepairOrder, {
|
|
device_code: that.data.deviceInfo.device_code,
|
|
appointment_time: '',
|
|
fault_desc: that.data.fault_desc,
|
|
fault_imgs: that.data.fileList2[0].url,
|
|
info_id:wx.getStorageSync('info_id')
|
|
}, res => {
|
|
wx.showToast({
|
|
title: '创建成功!',
|
|
icon: "none"
|
|
})
|
|
setTimeout(() => {
|
|
wx.navigateBack({
|
|
delta: 1
|
|
})
|
|
}, 1500)
|
|
})
|
|
},
|
|
/**
|
|
* 生命周期函数--监听页面加载
|
|
*/
|
|
onLoad(options) {
|
|
let that = this
|
|
that.getDeviceList()
|
|
if (wx.getStorageSync('cityList') && wx.getStorageSync('areaList') && wx.getStorageSync('businessList')) {
|
|
let res = wx.getStorageSync('cityList')
|
|
let res1 = wx.getStorageSync('areaList')
|
|
let res2 = wx.getStorageSync('businessList')
|
|
console.log(res1);
|
|
// 默认展示第一条数据 的市区 和 城区
|
|
let newArea = res1.filter((item) => {
|
|
return item.city_id === res[0].city_id
|
|
});
|
|
let newbus = res2.filter((item) => {
|
|
return item.area_id === res1[0].area_id
|
|
});
|
|
this.setData({
|
|
cityList: res,
|
|
areaList: res1,
|
|
businessList: res2,
|
|
newAreaList: newArea, // 默认展示 市区
|
|
newBusiness: newbus, // 默认展示 县/区
|
|
confirmCity: res1[0],
|
|
confirmArea: newArea[0],
|
|
confirmBusiness: newbus[0],
|
|
})
|
|
} else {
|
|
that.getSSQ()
|
|
}
|
|
},
|
|
|
|
/**
|
|
* 生命周期函数--监听页面初次渲染完成
|
|
*/
|
|
onReady() {
|
|
|
|
},
|
|
|
|
/**
|
|
* 生命周期函数--监听页面显示
|
|
*/
|
|
onShow() {
|
|
|
|
},
|
|
|
|
/**
|
|
* 生命周期函数--监听页面隐藏
|
|
*/
|
|
onHide() {
|
|
|
|
},
|
|
|
|
/**
|
|
* 生命周期函数--监听页面卸载
|
|
*/
|
|
onUnload() {
|
|
|
|
},
|
|
|
|
/**
|
|
* 页面相关事件处理函数--监听用户下拉动作
|
|
*/
|
|
onPullDownRefresh() {
|
|
|
|
},
|
|
|
|
/**
|
|
* 页面上拉触底事件的处理函数
|
|
*/
|
|
onReachBottom() {
|
|
|
|
},
|
|
|
|
/**
|
|
* 用户点击右上角分享
|
|
*/
|
|
onShareAppMessage() {
|
|
|
|
}
|
|
}) |