From 2d43a1df3f5ba42710e6d21c27d1e13bdb8dfd56 Mon Sep 17 00:00:00 2001 From: zhangwei <1504152376@qq.com> Date: 星期一, 24 三月 2025 09:23:08 +0800 Subject: [PATCH] - --- src/pages/delivergoods/arrange.vue | 228 +++++++++++++++++++++++++++++++++++++++++--------------- 1 files changed, 166 insertions(+), 62 deletions(-) diff --git a/src/pages/delivergoods/arrange.vue b/src/pages/delivergoods/arrange.vue index a17a80e..017afe0 100644 --- a/src/pages/delivergoods/arrange.vue +++ b/src/pages/delivergoods/arrange.vue @@ -21,17 +21,28 @@ <view class="coreshop-ff chuany-bradius20"> <view class="chuany-font26"> <view class="chuany-flex chuany-justify-between"> - <text class="chuany-width7">{{index+1}}</text> + <text class="chuany-width6">{{index+1}}</text> <view class="chuany-width15"> - {{$util.formatDate(item.createTime,'riqi')}} + {{$util.formatDate(item.deliverTime,'riqi')}} </view> - <view class="chuany-width73"> - <u-text size='14' :text="item.remark" lines="1"> + <view :class="item.deliveredstatus !== 'Delivered'?'chuany-width67':'chuany-width79'" + @click='goDetail(item)'> + <u-text size='14' :text="item.companyName" lines="1"> + <!-- <u-text size='14' :text="item.remark||item.companyName" lines="1"> --> </u-text> </view> - <view class="chuany-width5"> - <up-icon name="edit-pen" @click='editOrder(item)'></up-icon> - </view> + <template v-if="item.deliveredstatus !== 'Delivered'"> + <view class="chuany-width6 chuany-paddingright-10" @tap.stop='editOrder(item)'> + <up-icon name="edit-pen" size='18'></up-icon> + </view> + <view class="chuany-width6" @tap.stop='UndoDeliverPlans(item)'> + <up-icon name="reload" size='19'></up-icon> + </view> + </template> + <!-- <view class="chuany-width6" v-else> + <u-text size='14' type="" text="" lines="1"> + </u-text> + </view> --> </view> </view> </view> @@ -42,28 +53,41 @@ <up-empty text='鏆傛棤' icon="/static/order.png"> </up-empty> </view> - <up-modal title="閫佽揣瀹夋帓" :show="show7" showCancelButton @confirm="confirmSave" @cancel='cancelModal' - :asyncClose="true"> + <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> + disabled disabledColor='#FFF' mode="date" placeholder="鐐瑰嚮閫夋嫨宸ヤ綔鏃ユ湡" + :minDate='Number(new Date(minDate))' @cancel='() => shougHuoshow = false'></up-datetime-picker> </up-form-item> - <up-form-item label="鍙告満" prop="driverId" required :borderBottom='false' @click="clickAction('driver')" + <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="driverName" disabled border="none" disabledColor="#ffffff" + <up-input v-model="arrangeInfo.driverName" disabled border="none" disabledColor="#ffffff" placeholder="璇烽�夋嫨鍙告満"></up-input> </up-form-item> - <up-form-item label="鏀惰揣鍗曚綅" prop="buyerId" required :borderBottom='false' ref="item1"> - <up-input v-model="buyerName" placeholder="璇烽�夋嫨鏀惰揣鍗曚綅" border="none"> + <up-form-item label="鏀惰揣鍗曚綅" prop="companyName" labelPosition='top' required :borderBottom='false' + ref="item1" v-if='show7'> + <!-- <tem-selects-fan placeholder="璇烽�夋嫨鏀惰揣鍗曚綅" :data="customerList" :clearable='true' + :value="arrangeInfo.companyName" :value-type="valueType" :filterable='true' :searchType='1' + @input='selectChange'></tem-selects-fan> --> + <!-- <form-select class="form_select" ref="formSelect1" :search="true" :icon="true" + :placeholder="optionPlaceholder" :selectedId="optionId" :localdata="optionModel" + @change="changeOption" @clear="clearOption"></form-select> --> + <tem-select ref="formSelect" placeholder="璇烽�夋嫨鏀惰揣鍗曚綅" :selectedId="arrangeInfo.buyerId" :value='arrangeInfo.companyName' :search='true' + :localdata="customerList" @change="selectChange"></tem-select> + <!-- <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-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> @@ -71,18 +95,18 @@ <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" required :borderBottom='false' ref="item1"> + <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" required :borderBottom='false' ref="item1"> - <up-textarea v-model="arrangeInfo.remark" border="none" placeholder="璇疯緭鍏ラ�佽揣浜嬬敱"></up-textarea> + <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> - <fui-date-picker range :show="datePickerShow" :value="getFirstDayOfMonth()" type="3" zIndex="10000" + <fui-date-picker :show="datePickerShow" :value="getFirstDayOfMonth()" type="3" zIndex="10000" @change="changePicker" :minDate='minDate' :maxDate='maxDate' @cancel="clickTime"></fui-date-picker> <up-action-sheet :show="showActions" :actions="actions" title="璇烽�夋嫨" @close="showActions = false" - @select="selectItem"> + wrapMaxHeight='500px' @select="selectItem"> </up-action-sheet> </view> </template> @@ -96,14 +120,17 @@ export default { data() { return { + valueType: { + label: 'companyName', + value: 'keyid' + }, datePickerShow: false, shougHuoshow: false, - workTime: '', + workTime: this.$util.formatDate(new Date()), orderList: [], loadStatus: 'loadmore', pageIndex: 1, - pageSize: 20, - contentVal: '', + pageSize: 30, customerList: [], isEdit: false, editItem: {}, @@ -119,11 +146,14 @@ arrangeInfo: { deliverTime: this.$util.formatDate(new Date(), null, 1), driverId: '', - buyerId: '', + buyerId: null, dianhua: '', remark: '', lianxiren: '', dizhi: '', + companyName: '', + driverName: '', + sort: '1' }, rules: { 'deliverTime': { @@ -132,32 +162,40 @@ message: '璇烽�夋嫨鏃ユ湡', trigger: ['blur', 'change'] }, - 'arrangeInfo.driverId': { + 'driverName': { type: 'string', - max: 1, required: true, message: '璇烽�夋嫨鍙告満', trigger: ['blur', 'change'] }, - 'arrangeInfo.dianhua': { + 'companyName': { type: 'string', - max: 1, + required: true, + message: '璇烽�夋嫨鎴栧~鍐欓�佽揣鍗曚綅', + trigger: ['blur', 'change'] + }, + 'dianhua': { + type: 'string', required: true, message: '璇疯緭鍏ヨ仈绯荤數璇�', trigger: ['blur', 'change'] }, - 'arrangeInfo.dizhi': { + 'dizhi': { type: 'string', - max: 1, required: true, message: '璇疯緭鍏ラ�佽揣鍦板潃', trigger: ['blur', 'change'] }, - 'arrangeInfo.remark': { + 'remark': { type: 'string', - max: 1, required: true, message: '璇疯緭鍏ラ�佽揣浜嬬敱', + trigger: ['blur', 'change'] + }, + 'sort': { + type: 'number', + required: true, + message: '璇疯緭鍏ユ帓搴�', trigger: ['blur', 'change'] }, }, @@ -165,8 +203,8 @@ switchVal: false, driverList: [], buyerName: '', - timeStart: '', - timeEnd: '', + timeStart: new Date(), + timeEnd: new Date(), sevenDaysDriver: [], deliverKeyID: '', deliverKeyName: '' @@ -183,20 +221,28 @@ this.getCustomer() this.GetDriversOfWithin7days() }, + onMounted() { + this.$refs.formRef.setRules(this.rules); + }, onReachBottom() { if (this.loadStatus != 'nomore') { this.getList() } }, onPullDownRefresh() { - this.startDate = '' - this.endDate = '' - this.workTime = '' + this.timeStart = new Date() + this.timeEnd = new Date() + this.workTime = this.$util.formatDate(new Date()) this.deliverKeyName = '' this.init() uni.stopPullDownRefresh(); }, methods: { + goDetail(item) { + uni.navigateTo({ + url: `/pages/delivergoods/arrangedetail?KeyId=${item.keyid}` + }); + }, GetDriversOfWithin7days() { this.$api.GetDriversOfWithin7days().then(res => { if (res.code == 1) { @@ -205,16 +251,16 @@ }) }, changePicker(val) { - console.log(val); - this.workTime = val.startDate.result + '鑷�' + val.endDate.result - this.timeStart = new Date(val.startDate.result) //宸ヤ綔寮�濮嬫椂闂� - this.timeEnd = new Date(val.endDate.result) + console.log(val, '-=-=鈥�'); + this.workTime = val.result + this.timeStart = new Date(val.result) //宸ヤ綔寮�濮嬫椂闂� + this.timeEnd = new Date(val.result) this.datePickerShow = !this.datePickerShow - this.getList() + this.init() }, confirmDate(val) { console.log(val); - this.arrangeInfo.deliverTime = val + this.arrangeInfo.deliverTime = this.$util.formatDate(val.value) this.shougHuoshow = false }, getCustomer() { @@ -223,13 +269,15 @@ this.customerList = res.data this.customerList.forEach(item => { item.name = item.companyName + item.title = item.companyName + item.id = item.keyid }) } }) }, selectItem(item) { if (this.selectAc == 'driver') { - this.driverName = item.name + this.arrangeInfo.driverName = item.name this.arrangeInfo.driverId = item.keyid } else if (this.selectAc == 'driver7') { this.deliverKeyID = item.keyid @@ -241,8 +289,22 @@ this.arrangeInfo.dizhi = item.adder this.arrangeInfo.dianhua = item.companyPhone this.arrangeInfo.lianxiren = item.businessManagers + this.arrangeInfo.companyName = item.companyName } this.selectAc = '' + }, + selectChange(item) { + console.log(item,'hhhhh'); + if (typeof item == 'object') { + 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 + } else { + this.arrangeInfo.companyName = item + } }, getFirstDayOfMonth() { var currentDate = new Date(); @@ -274,21 +336,51 @@ editOrder(item) { this.isEdit = true this.arrangeInfo = { - deliverTime: this.$util.formatDate(new Date(), null, 1), + deliverTime: this.$util.formatDate(item.deliverTime), driverId: item.driverId, buyerId: item.buyerId, dianhua: item.dianhua, remark: item.remark, lianxiren: item.lianxiren, dizhi: item.dizhi, - keyid: item.keyid + keyid: item.keyid, + companyName: item.companyName, + sort: item.sort, + driverName: item.driver.name || '' } this.show7 = true - this.driverName = item.driver.name - let obj = this.customerList.find(ite => { - return ite.keyid == item.buyerId + this.driverName = item.driver && item.driver.name + // let obj = this.customerList.find(ite => { + // return ite.keyid == item.buyerId + // }) + // this.buyerName = obj.companyName + }, + UndoDeliverPlans(item) { + let that = this + uni.showModal({ + title: '鎻愮ず', + content: '纭鎾ら攢璇ヨ鍗曞悧锛�', + success: function(res) { + if (res.confirm) { + // 鎵ц纭鍚庣殑鎿嶄綔 + that.$api.UndoDeliverPlans(item.keyid).then(res => { + if (res.code == 1) { + that.$util.showToast({ + title: '鎾ら攢鎴愬姛锛�' + }) + that.init() + } else { + that.$util.showToast({ + title: res.error + }) + } + }) + } else { + // 鎵ц鍙栨秷鍚庣殑鎿嶄綔 + } + } }) - this.buyerName = obj.companyName + }, delOrder(item) { let that = this @@ -320,13 +412,20 @@ }, init() { this.pageIndex = 1 - this.pageSize = 20 + this.pageSize = 30 this.loadStatus = 'loadmore' this.orderList = [] - this.contentVal = '' + console.log(this.orderList); this.getList() }, 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 => { @@ -335,11 +434,14 @@ this.arrangeInfo = { deliverTime: this.$util.formatDate(new Date(), null, 1), driverId: '', - buyerId: '', + buyerId: null, dianhua: '', remark: '', lianxiren: '', dizhi: '', + companyName: '', + driverName: '', + sort: '1' } this.show7 = false this.driverName = '' @@ -359,11 +461,14 @@ this.arrangeInfo = { deliverTime: this.$util.formatDate(new Date(), null, 1), driverId: '', - buyerId: '', + buyerId: null, dianhua: '', remark: '', lianxiren: '', dizhi: '', + companyName: '', + driverName: '', + sort: '1' } this.show7 = false this.driverName = '' @@ -376,6 +481,8 @@ } this.isLoading = false }) + }).catch(errors => { + this.$refs.modalArrange.loading = false }) }, @@ -383,11 +490,14 @@ this.arrangeInfo = { deliverTime: this.$util.formatDate(new Date(), null, 1), driverId: '', - buyerId: '', + buyerId: null, dianhua: '', remark: '', lianxiren: '', dizhi: '', + companyName: '', + driverName: '', + sort: '1' } this.show7 = false this.driverName = '' @@ -464,12 +574,6 @@ } } }) - }, - actionClick(item, e) { - console.log(e); - if (e.index == 0) { - this.contentVal = item.remark - } } } } -- Gitblit v1.9.1