From 6dc59277cedc8c995b1c68807e40a6ee5903f0f4 Mon Sep 17 00:00:00 2001 From: zhangwei <1504152376@qq.com> Date: 星期一, 10 三月 2025 17:18:15 +0800 Subject: [PATCH] 送货受理受理成功生成送货安排 --- src/pages/delivergoods/reservation.vue | 323 ++++++++++++++++++++++++++++++++++++++++++++++++----- 1 files changed, 292 insertions(+), 31 deletions(-) diff --git a/src/pages/delivergoods/reservation.vue b/src/pages/delivergoods/reservation.vue index d3b0a52..780b042 100644 --- a/src/pages/delivergoods/reservation.vue +++ b/src/pages/delivergoods/reservation.vue @@ -38,6 +38,50 @@ <up-empty text='鏆傛棤' icon="/static/order.png"> </up-empty> </view> + <up-modal title="閫佽揣瀹夋帓" :show="show7" showCancelButton @confirm="confirmSave" @cancel='cancelModal' + ref='modalArrange' :asyncClose="true"> + <up-form labelPosition="left" :model="arrangeInfo" ref="formRef" labelWidth='140rpx'> + <up-form-item label="閫佽揣鏃ユ湡" prop="deliverTime" required :borderBottom='false' ref="item1" + @click="clickShouTime"> + <!-- <up-input v-model="arrangeInfo.deliverTime" readonly border="none" + placeholder="鐐瑰嚮閫夋嫨宸ヤ綔鏃ユ湡"></up-input> --> + <up-datetime-picker hasInput @confirm='confirmDate' :show="shougHuoshow" v-model="deliverTime" + mode="date" placeholder="鐐瑰嚮閫夋嫨宸ヤ綔鏃ユ湡" :minDate='Number(new Date(minDate))' + @cancel='() => shougHuoshow = false'></up-datetime-picker> + </up-form-item> + <up-form-item label="鎺掑簭" prop="sort" required :borderBottom='false' ref="item1"> + <up-input v-model="arrangeInfo.sort" placeholder="璇疯緭鍏ユ帓搴�" border="none" type="number"> + </up-input> + </up-form-item> + <up-form-item label="鍙告満" prop="driverName" required :borderBottom='false' @click="clickAction('driver')" + ref="item1"> + <up-input v-model="arrangeInfo.driverName" disabled border="none" disabledColor="#ffffff" + placeholder="璇烽�夋嫨鍙告満"></up-input> + </up-form-item> + <up-form-item label="鏀惰揣鍗曚綅" prop="companyName" required :borderBottom='false' ref="item1"> + <up-input v-model="arrangeInfo.companyName" placeholder="璇烽�夋嫨鏀惰揣鍗曚綅" border="none"> + <template #suffix> + <up-button @tap="clickAction" text="鐐瑰嚮閫夋嫨" type="primary" size="mini"></up-button> + </template> + </up-input> + </up-form-item> + <up-form-item label="鑱旂郴浜�" prop="lianxiren" :borderBottom='false' ref="item1"> + <up-input v-model="arrangeInfo.lianxiren" border="none" placeholder="璇疯緭鍏ヨ仈绯讳汉"></up-input> + </up-form-item> + <up-form-item label="鑱旂郴鐢佃瘽" prop="dianhua" required :borderBottom='false' ref="item1"> + <up-input v-model="arrangeInfo.dianhua" border="none" placeholder="璇疯緭鍏ヨ仈绯荤數璇�"></up-input> + </up-form-item> + <up-form-item label="閫佽揣鍦板潃" prop="dizhi" labelPosition='top' required :borderBottom='false' ref="item1"> + <up-input v-model="arrangeInfo.dizhi" border="none" placeholder="璇疯緭鍏ラ�佽揣鍦板潃"></up-input> + </up-form-item> + <up-form-item label="閫佽揣浜嬬敱" prop="remark" labelPosition='top' required :borderBottom='false' ref="item1"> + <up-input v-model="arrangeInfo.remark" border="none" placeholder="璇疯緭鍏ラ�佽揣浜嬬敱"></up-input> + </up-form-item> + </up-form> + </up-modal> + <up-action-sheet :show="showActions" :actions="actions" title="璇烽�夋嫨" @close="showActions = false" + wrapMaxHeight='500px' @select="selectItem"> + </up-action-sheet> </view> </template> @@ -50,6 +94,49 @@ export default { data() { return { + rules: { + 'deliverTime': { + type: 'string', + required: true, + message: '璇烽�夋嫨鏃ユ湡', + trigger: ['blur', 'change'] + }, + 'driverName': { + type: 'string', + required: true, + message: '璇烽�夋嫨鍙告満', + trigger: ['blur', 'change'] + }, + 'companyName': { + type: 'string', + required: true, + message: '璇峰~鍐欏叕鍙�', + trigger: ['blur', 'change'] + }, + 'dianhua': { + type: 'string', + required: true, + message: '璇疯緭鍏ヨ仈绯荤數璇�', + trigger: ['blur', 'change'] + }, + 'dizhi': { + type: 'string', + required: true, + message: '璇疯緭鍏ラ�佽揣鍦板潃', + trigger: ['blur', 'change'] + }, + 'remark': { + type: 'string', + required: true, + message: '璇疯緭鍏ラ�佽揣浜嬬敱', + trigger: ['blur', 'change'] + }, + 'sort': { + required: true, + message: '璇疯緭鍏ユ帓搴�', + trigger: ['blur', 'change'] + }, + }, orderList: [], loadStatus: 'loadmore', pageIndex: 1, @@ -66,10 +153,40 @@ backgroundColor: '#f56c6c' } }], + show7: false, + arrangeInfo: { + deliverTime: this.$util.formatDate(new Date(), null, 1), + driverId: '', + buyerId: null, + dianhua: '', + remark: '', + lianxiren: '', + dizhi: '', + companyName: '', + driverName: '', + deliverTixingId: '', + sort: '1' + }, + shougHuoshow: false, + minDate: this.$util.formatDate(new Date(), null, -7), + maxDate: this.$util.formatDate(new Date(), null, 7), + deliverTime: Number(new Date(this.$util.formatDate(new Date(), null, 1))), + driverList: [], + customerList:[], + showActions: false, + driverName: '', + actions: [] } }, onShow() { this.init() + }, + onLoad() { + this.Getdrivers() + this.getCustomer() + }, + onReady() { + this.$refs.formRef.setRules(this.rules); }, onPullDownRefresh() { this.init() @@ -88,6 +205,82 @@ }, methods: { + Getdrivers() { + this.$api.Getdrivers().then(res => { + if (res.code == 1) { + this.driverList = res.data + } + }) + }, + clickShouTime() { + this.shougHuoshow = !this.shougHuoshow + }, + confirmDate(val) { + console.log(val); + this.arrangeInfo.deliverTime = val + this.shougHuoshow = false + }, + cancelModal() { + this.arrangeInfo = { + deliverTime: this.$util.formatDate(new Date(), null, 1), + driverId: '', + buyerId: null, + dianhua: '', + remark: '', + lianxiren: '', + dizhi: '', + driverName: '', + deliverTixingId: '', + sort:'1' + } + this.show7 = false + this.driverName = '' + this.buyerName = '' + }, + clickAction(val) { + switch (val) { + case 'driver': + this.actions = this.driverList + break + case 'driver7': + this.actions = this.sevenDaysDriver + break + default: + this.actions = this.customerList + break + } + this.selectAc = val + this.showActions = true + uni.hideKeyboard() + }, + getCustomer() { + this.$api.GeCorporateClients().then(res => { + if (res.code == 1) { + this.customerList = res.data + this.customerList.forEach(item => { + item.name = item.companyName + }) + } + }) + }, + selectItem(item) { + if (this.selectAc == 'driver') { + this.arrangeInfo.driverName = item.name + this.arrangeInfo.driverId = item.keyid + } else if (this.selectAc == 'driver7') { + this.deliverKeyID = item.keyid + this.deliverKeyName = item.name + this.init() + } else { + this.buyerName = item.name + this.arrangeInfo.buyerId = item.keyid + this.arrangeInfo.dizhi = item.adder + this.arrangeInfo.dianhua = item.companyPhone + this.arrangeInfo.lianxiren = item.businessManagers + this.arrangeInfo.companyName = item.companyName + } + this.selectAc = '' + }, init() { this.pageIndex = 1 this.pageSize = 30 @@ -96,15 +289,80 @@ this.contentVal = '' this.getList() }, - reservation() { - this.$api.CreatAppointmentDeliver({ - remark: this.contentVal - }).then(res => { - if (res.code == 1) { - this.contentVal = '' - this.init() + confirmSave() { + // if (!this.arrangeInfo.driverId) { + // this.$refs.modalArrange.loading = false + // return this.$util.showToast({ + // title: '璇烽�夋嫨鍙告満锛�' + // }) + // } + console.log(); + this.$refs.formRef.validate().then(res => { + if (this.isEdit) { + this.$api.UpDataDeliverPlans(this.arrangeInfo).then(res => { + if (res.code == 1) { + this.isEdit = false + this.arrangeInfo = { + deliverTime: this.$util.formatDate(new Date(), null, 1), + driverId: '', + buyerId: null, + dianhua: '', + remark: '', + lianxiren: '', + dizhi: '', + deliverTixingId: '', + sort:'1' + } + this.show7 = false + this.driverName = '' + this.buyerName = '' + this.init() + } else { + this.$util.showToast({ + title: res.error + }) + } + this.isLoading = false + }) + return } + this.$api.CreatDeliverPlan(this.arrangeInfo).then(res => { + if (res.code == 1) { + this.arrangeInfo = { + deliverTime: this.$util.formatDate(new Date(), null, 1), + driverId: '', + buyerId: null, + dianhua: '', + remark: '', + lianxiren: '', + dizhi: '', + } + this.show7 = false + this.driverName = '' + this.buyerName = '' + this.init() + } else { + this.$util.showToast({ + title: res.error + }) + } + this.isLoading = false + }) + }).catch(errors => { + this.$refs.modalArrange.loading = false }) + + }, + reservation() { + this.show7 = true + // this.$api.CreatAppointmentDeliver({ + // remark: this.contentVal + // }).then(res => { + // if (res.code == 1) { + // this.contentVal = '' + // this.init() + // } + // }) }, getList() { let data = { @@ -138,30 +396,33 @@ }) }, accept(item) { - let that = this - uni.showModal({ - title: '鎻愮ず', - content: '纭鍙楃悊璇ラ�佽揣鍚楋紵', - success: function(res) { - if (res.confirm) { - // 鎵ц纭鍚庣殑鎿嶄綔 - that.$api.AcceptAppointmentDeliver(item.keyid).then(req => { - if (req.code == 1) { - that.$util.showToast({ - title: '鍙楃悊鎴愬姛锛�' - }) - that.init() - } else { - that.$util.showToast({ - title: req.error - }) - } - }) - } else { - // 鎵ц鍙栨秷鍚庣殑鎿嶄綔 - } - } - }) + this.show7 = true + this.arrangeInfo.remark = item.remark + this.arrangeInfo.deliverTixingId = item.keyid + // let that = this + // uni.showModal({ + // title: '鎻愮ず', + // content: '纭鍙楃悊璇ラ�佽揣鍚楋紵', + // success: function(res) { + // if (res.confirm) { + // // 鎵ц纭鍚庣殑鎿嶄綔 + // that.$api.AcceptAppointmentDeliver(item.keyid).then(req => { + // if (req.code == 1) { + // that.$util.showToast({ + // title: '鍙楃悊鎴愬姛锛�' + // }) + // that.init() + // } else { + // that.$util.showToast({ + // title: req.error + // }) + // } + // }) + // } else { + // // 鎵ц鍙栨秷鍚庣殑鎿嶄綔 + // } + // } + // }) } } } -- Gitblit v1.9.1