339 lines
7.0 KiB
JavaScript
339 lines
7.0 KiB
JavaScript
|
// dispatcher/pages/record/add/add.js
|
||
|
import { uploadImage } from '../../../../utils/util.js'
|
||
|
const app = getApp()
|
||
|
Page({
|
||
|
|
||
|
/**
|
||
|
* 页面的初始数据
|
||
|
*/
|
||
|
data: {
|
||
|
scrollTop: 0,
|
||
|
rootUrl: app.AppService.apiConfig.configurl,
|
||
|
typeArr: [
|
||
|
{
|
||
|
data_id: '',
|
||
|
data_name: '请选择产品类型'
|
||
|
},
|
||
|
{
|
||
|
data_id: 'type-00',
|
||
|
data_name: '散装'
|
||
|
},
|
||
|
{
|
||
|
data_id: 'type-01',
|
||
|
data_name: '袋装'
|
||
|
}
|
||
|
],
|
||
|
typeIndex: 0,
|
||
|
varietyArr: [
|
||
|
{
|
||
|
data_id: '',
|
||
|
data_name: '请选择品种'
|
||
|
}
|
||
|
],
|
||
|
varietyIndex: 0,
|
||
|
driverArr: [
|
||
|
{
|
||
|
data_id: '',
|
||
|
data_name: '请选择司机'
|
||
|
}
|
||
|
],
|
||
|
driverIndex: 0,
|
||
|
supplierId: '',
|
||
|
supplierDetail: {
|
||
|
data_id: '',
|
||
|
data_man: '',
|
||
|
data_name: '',
|
||
|
data_phone: '',
|
||
|
data_address: ''
|
||
|
},
|
||
|
siteId: '',
|
||
|
siteDetail: {
|
||
|
data_id: '',
|
||
|
data_man: '',
|
||
|
data_name: '',
|
||
|
data_phone: '',
|
||
|
data_address: ''
|
||
|
},
|
||
|
deliveryDetail: {
|
||
|
driver_id: '',
|
||
|
product_type: '',
|
||
|
variety_num: '',
|
||
|
order_ton: '',
|
||
|
supplier_id: '',
|
||
|
site_id: '',
|
||
|
order_receipt: []
|
||
|
}
|
||
|
},
|
||
|
|
||
|
/**
|
||
|
* 生命周期函数--监听页面加载
|
||
|
*/
|
||
|
onLoad: function (options) {
|
||
|
this.getVarietyList()
|
||
|
this.getDriverList()
|
||
|
},
|
||
|
|
||
|
/**
|
||
|
* 生命周期函数--监听页面初次渲染完成
|
||
|
*/
|
||
|
onReady: function () {
|
||
|
|
||
|
},
|
||
|
|
||
|
/**
|
||
|
* 生命周期函数--监听页面显示
|
||
|
*/
|
||
|
onShow: function () {
|
||
|
let deliveryDetail = this.data.deliveryDetail
|
||
|
deliveryDetail.supplier_id = this.data.supplierId
|
||
|
deliveryDetail.site_id = this.data.siteId
|
||
|
this.setData({
|
||
|
deliveryDetail
|
||
|
})
|
||
|
},
|
||
|
|
||
|
/**
|
||
|
* 生命周期函数--监听页面隐藏
|
||
|
*/
|
||
|
onHide: function () {
|
||
|
|
||
|
},
|
||
|
|
||
|
/**
|
||
|
* 生命周期函数--监听页面卸载
|
||
|
*/
|
||
|
onUnload: function () {
|
||
|
|
||
|
},
|
||
|
|
||
|
// 选择产品类型
|
||
|
bindTypeChange: function (e) {
|
||
|
const deliveryDetail = this.data.deliveryDetail
|
||
|
const typeIndex = e.detail.value
|
||
|
deliveryDetail.product_type = this.data.typeArr[typeIndex].data_id
|
||
|
this.setData({
|
||
|
typeIndex,
|
||
|
deliveryDetail
|
||
|
})
|
||
|
},
|
||
|
|
||
|
// 选择品种
|
||
|
bindVarietyChange: function (e) {
|
||
|
const deliveryDetail = this.data.deliveryDetail
|
||
|
const varietyIndex = e.detail.value
|
||
|
deliveryDetail.variety_num = this.data.varietyArr[varietyIndex].data_name
|
||
|
this.setData({
|
||
|
varietyIndex,
|
||
|
deliveryDetail
|
||
|
})
|
||
|
},
|
||
|
|
||
|
// 选择司机
|
||
|
bindDriverChange: function (e) {
|
||
|
const deliveryDetail = this.data.deliveryDetail
|
||
|
const driverIndex = e.detail.value
|
||
|
deliveryDetail.driver_id = this.data.driverArr[driverIndex].data_id
|
||
|
this.setData({
|
||
|
driverIndex,
|
||
|
deliveryDetail
|
||
|
})
|
||
|
},
|
||
|
|
||
|
// 改变数量
|
||
|
bindChangeNum: function (e) {
|
||
|
const deliveryDetail = this.data.deliveryDetail
|
||
|
deliveryDetail.order_ton = e.detail.value
|
||
|
this.setData({
|
||
|
deliveryDetail
|
||
|
})
|
||
|
},
|
||
|
|
||
|
// 获取品种列表
|
||
|
getVarietyList: function () {
|
||
|
const url = '/mobile/get_data'
|
||
|
app.AppService.appRequest(url, 'POST', {
|
||
|
data_type: 'data-01',
|
||
|
page: 1,
|
||
|
page_len: 100,
|
||
|
}, (res) => {
|
||
|
const data = res.data.result || []
|
||
|
let varietyArr = this.data.varietyArr
|
||
|
varietyArr = varietyArr.concat(data)
|
||
|
this.setData({
|
||
|
varietyArr
|
||
|
})
|
||
|
})
|
||
|
},
|
||
|
|
||
|
// 获取司机列表
|
||
|
getDriverList: function () {
|
||
|
const url = '/mobile/get_data'
|
||
|
app.AppService.appRequest(url, 'POST', {
|
||
|
data_type: 'data-00',
|
||
|
page: 1,
|
||
|
page_len: 1000,
|
||
|
}, (res) => {
|
||
|
const data = res.data.result || []
|
||
|
let driverArr = this.data.driverArr
|
||
|
driverArr = driverArr.concat(data)
|
||
|
this.setData({
|
||
|
driverArr
|
||
|
})
|
||
|
})
|
||
|
},
|
||
|
|
||
|
//展示图片
|
||
|
previewImage: function (e) {
|
||
|
wx.previewImage({
|
||
|
current: '', // 当前显示图片的http链接
|
||
|
urls: [e.target.dataset.url] // 需要预览的图片http链接列表
|
||
|
})
|
||
|
},
|
||
|
|
||
|
//上传图片
|
||
|
upload: function (e) {
|
||
|
const count = 5 - this.data.deliveryDetail.order_receipt.length
|
||
|
uploadImage('', count).then((res) => {
|
||
|
const deliveryDetail = this.data.deliveryDetail
|
||
|
deliveryDetail.order_receipt = deliveryDetail.order_receipt.concat(res)
|
||
|
this.setData({
|
||
|
deliveryDetail
|
||
|
})
|
||
|
})
|
||
|
},
|
||
|
|
||
|
// 删除图片
|
||
|
delImg: function (e) {
|
||
|
const index = e.currentTarget.dataset.index
|
||
|
const type = e.currentTarget.dataset.type || 'order_receipt'
|
||
|
const deliveryDetail = this.data.deliveryDetail
|
||
|
let nowList = [] //新数据
|
||
|
let oldList = deliveryDetail[type] //原数据
|
||
|
|
||
|
for (let i = 0; i < oldList.length; i++) {
|
||
|
if (i == index) {
|
||
|
continue;
|
||
|
} else {
|
||
|
nowList.push(oldList[i])
|
||
|
}
|
||
|
}
|
||
|
deliveryDetail[type] = nowList
|
||
|
this.setData({
|
||
|
deliveryDetail
|
||
|
})
|
||
|
},
|
||
|
|
||
|
// 下单
|
||
|
submit: function () {
|
||
|
const data = this.data.deliveryDetail
|
||
|
let url = '/mobile/create_delivery'
|
||
|
if (!data.product_type) {
|
||
|
wx.showToast({
|
||
|
title: '请选择产品类型',
|
||
|
icon: 'none'
|
||
|
})
|
||
|
return
|
||
|
}
|
||
|
if (!data.variety_num) {
|
||
|
wx.showToast({
|
||
|
title: '请选择品种',
|
||
|
icon: 'none'
|
||
|
})
|
||
|
return
|
||
|
}
|
||
|
if (!data.order_ton) {
|
||
|
wx.showToast({
|
||
|
title: '请输入数量',
|
||
|
icon: 'none'
|
||
|
})
|
||
|
return
|
||
|
}
|
||
|
if (!data.supplier_id) {
|
||
|
wx.showToast({
|
||
|
title: '请选择供应商',
|
||
|
icon: 'none'
|
||
|
})
|
||
|
return
|
||
|
}
|
||
|
if (!data.site_id) {
|
||
|
wx.showToast({
|
||
|
title: '请选择工地',
|
||
|
icon: 'none'
|
||
|
})
|
||
|
return
|
||
|
}
|
||
|
|
||
|
if (!data.driver_id) {
|
||
|
wx.showToast({
|
||
|
title: '请选择司机',
|
||
|
icon: 'none'
|
||
|
})
|
||
|
return
|
||
|
}
|
||
|
|
||
|
app.AppService.appRequest(url, 'POST', data, (res) => {
|
||
|
const id = res.data.delivery_id
|
||
|
// 重置页面选项
|
||
|
this.setData({
|
||
|
typeIndex: 0,
|
||
|
varietyIndex: 0,
|
||
|
driverIndex: 0,
|
||
|
supplierId: '',
|
||
|
supplierDetail: {
|
||
|
data_id: '',
|
||
|
data_man: '',
|
||
|
data_name: '',
|
||
|
data_phone: '',
|
||
|
data_address: ''
|
||
|
},
|
||
|
siteId: '',
|
||
|
siteDetail: {
|
||
|
data_id: '',
|
||
|
data_man: '',
|
||
|
data_name: '',
|
||
|
data_phone: '',
|
||
|
data_address: ''
|
||
|
},
|
||
|
deliveryDetail: {
|
||
|
driver_id: '',
|
||
|
product_type: '',
|
||
|
variety_num: '',
|
||
|
order_ton: '',
|
||
|
supplier_id: '',
|
||
|
site_id: '',
|
||
|
order_receipt: []
|
||
|
}
|
||
|
})
|
||
|
wx.navigateTo({
|
||
|
url: `/dispatcher/pages/record/addResult/addResult?id=${id}`
|
||
|
})
|
||
|
this.setData({
|
||
|
scrollTop: 0
|
||
|
})
|
||
|
})
|
||
|
},
|
||
|
|
||
|
// 跳转页面
|
||
|
navigateTo: function (e) {
|
||
|
const url = e.currentTarget.dataset.url
|
||
|
wx.navigateTo({
|
||
|
url: url,
|
||
|
})
|
||
|
},
|
||
|
|
||
|
/**
|
||
|
* 页面相关事件处理函数--监听用户下拉动作
|
||
|
*/
|
||
|
onPullDownRefresh: function () {
|
||
|
|
||
|
},
|
||
|
|
||
|
/**
|
||
|
* 页面上拉触底事件的处理函数
|
||
|
*/
|
||
|
onReachBottom: function () {
|
||
|
|
||
|
},
|
||
|
|
||
|
|
||
|
})
|