You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
184 lines
5.3 KiB
184 lines
5.3 KiB
<template> |
|
<view class="page-css"> |
|
<u-form |
|
labelPosition="left" |
|
labelWidth="130" |
|
:model="orderForm" |
|
:rules="rules" |
|
ref="orderForm" |
|
> |
|
<view class="" @click="clickCalendar"> |
|
<u-form-item label="交货日期:" prop="deliveryDate" borderBottom ref="item1" :required="true" @click="showCalendar = true"> |
|
<view class="" @click="clickCalendar" style="display: flex;width: 100%;"> |
|
<u-input v-model="orderForm.deliveryDate" placeholder="请选择交货日期" |
|
style="pointer-events: none;width: 90%;" :border="false" @click="showCalendar = true"></u-input> |
|
</view> |
|
<u-calendar v-model="showCalendar" mode="date" @change="changeCalendar" max-date='2255-12-31'></u-calendar> |
|
</u-form-item> |
|
</view> |
|
|
|
<u-form-item label="运输地址:" prop="transportationAddress" borderBottom ref="item1" :required="true"> |
|
<u-input v-model="orderForm.transportationAddress" :border="true" placeholder="请输入运输地址" |
|
type="textarea" :height="120" /> |
|
</u-form-item> |
|
<u-form-item label="商品信息:" prop="" borderBottom ref="item1" :required="true"> |
|
<view class="product_info"> |
|
<view v-if="selectedArr.length != 0"> |
|
<view class="product_info_item" v-for="item in selectedArr" :key="item.id"> |
|
<view class="">{{item.name}}</view> |
|
<view class="">{{item.addNum}}</view> |
|
|
|
</view> |
|
</view> |
|
<view class="" > |
|
<u-button style="width: 100%;height: 70rpx;margin-top: 30rpx; " type="primary" @click="handleAdd">{{selectedArr.length == 0 ? '增加' : '修改'}}</u-button> |
|
</view> |
|
</view> |
|
</u-form-item> |
|
</u-form> |
|
<u-button class="item-bottom" type="primary" @click="formSubmit()"> |
|
提交 |
|
</u-button> |
|
</view> |
|
</template> |
|
|
|
<script> |
|
export default{ |
|
data(){ |
|
return{ |
|
orderForm:{ |
|
deliveryDate:'', |
|
transportationAddress:'' |
|
}, |
|
rules:{ |
|
deliveryDate: [{ |
|
type: "string", |
|
required: true, |
|
message: "请选择交货日期", |
|
trigger: ["blur", "change"], |
|
}], |
|
transportationAddress: [{ |
|
type: "string", |
|
required: true, |
|
message: "请输入运输地址", |
|
trigger: ["blur", "change"], |
|
}], |
|
}, |
|
showCalendar:false, |
|
selectedArr:[], |
|
userInfo:{} |
|
} |
|
}, |
|
onReady() { |
|
this.$refs.orderForm.setRules(this.rules); |
|
}, |
|
onBackPress(){ |
|
uni.switchTab({ |
|
url:'/pages/home/index' |
|
}) |
|
return true; // 阻止默认返回行为 |
|
}, |
|
onLoad(option) { |
|
console.log('option--------------------',option) |
|
if(JSON.stringify(option) != '{}'){ |
|
this.selectedArr = option.selectArr ? JSON.parse(option.selectArr) :[], |
|
this.orderForm = { |
|
deliveryDate:option.date ? option.date : '', |
|
transportationAddress:option.address ? option.address : '' |
|
} |
|
} |
|
console.log('selectedArr---------------',this.selectedArr) |
|
}, |
|
mounted() { |
|
this.userInfo = uni.getStorageSync("userinfo") |
|
}, |
|
methods:{ |
|
clickCalendar(){ |
|
console.log('ces111111111111111111111') |
|
this.showCalendar = true |
|
}, |
|
changeCalendar(value){ |
|
console.log('value------------------',value) |
|
this.orderForm.deliveryDate = value.result |
|
}, |
|
handleAdd(){ |
|
if(this.selectedArr.length != 0){ |
|
console.log('form---------------------------',this.orderForm) |
|
uni.navigateTo({ |
|
url:'/pages/commodity/commodity?selectArr=' + JSON.stringify(this.selectedArr) + '&date='+ this.orderForm.deliveryDate + '&address=' + this.orderForm.transportationAddress |
|
}) |
|
}else{ |
|
uni.navigateTo({ |
|
url:'/pages/commodity/commodity?date=' + this.orderForm.deliveryDate + '&address=' + this.orderForm.transportationAddress |
|
}) |
|
} |
|
|
|
}, |
|
formSubmit(){ |
|
this.$nextTick(() => { |
|
this.$refs.orderForm.validate(valid => { |
|
console.log('valid-----------------',valid) |
|
if(valid){ |
|
console.log('orderForm--------------',this.orderForm) |
|
console.log('sele================',this.selectedArr) |
|
if(this.selectedArr.length == 0){ |
|
uni.showToast({ title: "请选择商品", icon: "none" }); |
|
} |
|
let list = [] |
|
this.selectedArr.map(item =>{ |
|
list.push({ |
|
"commodityId": item.id, //--物料ID |
|
"commodityCode": item.code, // --物料编号 |
|
"commodityName": item.name, //--物料名称 |
|
"commodityCount": item.addNum, // --物料数量 |
|
"unit": item.specifications |
|
}) |
|
}) |
|
let query = { |
|
deliveryDate:this.orderForm.deliveryDate, |
|
transportationAddress:this.orderForm.transportationAddress, |
|
detailList:list, |
|
createUser:this.userInfo.user_id |
|
} |
|
console.log('query-----------------------',query) |
|
this.$u.api.addOrder(query).then(res => { |
|
console.log('res----------------',res) |
|
if(res.code == 200){ |
|
// uni.navigateBack() |
|
uni.switchTab({ |
|
url:'/pages/home/index' |
|
}) |
|
} |
|
}) |
|
} |
|
|
|
}) |
|
}) |
|
|
|
}, |
|
} |
|
} |
|
</script> |
|
|
|
<style lang="scss" scoped> |
|
.page-css{ |
|
|
|
.product_info{ |
|
width: 100%; |
|
.product_info_item{ |
|
width: 100%; |
|
display: flex; |
|
padding: 5rpx 20rpx; |
|
background: #fff; |
|
justify-content: space-between; |
|
align-items: center; |
|
border-radius: 10rpx; |
|
margin-bottom: 10rpx; |
|
} |
|
} |
|
|
|
.item-bottom{ |
|
margin-top: 50rpx; |
|
} |
|
} |
|
</style> |