zhangwei
2025-03-10 6dc59277cedc8c995b1c68807e40a6ee5903f0f4
src/pages/delivergoods/arrange.vue
@@ -17,20 +17,21 @@
   </up-sticky>
   <view class="c-p-b-100">
      <view class="c-p-l-20 c-p-r-20" v-if="orderList&&orderList.length>0">
         <view class="listrecord c-p-t-20" v-for="(item,index) in orderList" :key="item.keyid" @click='goDetail(item)'>
         <view class="listrecord c-p-t-20" v-for="(item,index) in orderList" :key="item.keyid"
            @click='goDetail(item)'>
            <view class="coreshop-ff chuany-bradius20">
               <view class="chuany-font26">
                  <view class="chuany-flex chuany-justify-between">
                     <text class="chuany-width7">{{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">
                        <u-text size='14' :text="item.remark||item.companyName" lines="1">
                        </u-text>
                     </view>
                     <view class="chuany-width5" @tap.stop='editOrder(item)'>
                        <up-icon name="edit-pen" ></up-icon>
                        <up-icon name="edit-pen"></up-icon>
                     </view>
                  </view>
               </view>
@@ -43,7 +44,7 @@
         </up-empty>
      </view>
      <up-modal title="送货安排" :show="show7" showCancelButton @confirm="confirmSave" @cancel='cancelModal'
         :asyncClose="true">
         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">
@@ -53,12 +54,17 @@
                  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-form-item label="收货单位" prop="companyName" labelPosition='top' 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>
@@ -71,18 +77,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"
         @change="changePicker" :minDate='minDate' :maxDate='maxDate' @cancel="clickTime"></fui-date-picker>
      <up-action-sheet :show="showActions" :actions="actions" title="请选择" @close="showActions = false" wrapMaxHeight='500px'
         @select="selectItem">
      <up-action-sheet :show="showActions" :actions="actions" title="请选择" @close="showActions = false"
         wrapMaxHeight='500px' @select="selectItem">
      </up-action-sheet>
   </view>
</template>
@@ -98,12 +104,11 @@
         return {
            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,12 +124,15 @@
            arrangeInfo: {
               deliverTime: this.$util.formatDate(new Date(), null, 1),
               driverId: '',
               buyerId: '',
               buyerId: null,
               dianhua: '',
               remark: '',
               lianxiren: '',
               dizhi: '',
               companyName:''
               companyName: '',
               driverName: '',
               deliverTixingId: '',
               sort: '1'
            },
            rules: {
               'deliverTime': {
@@ -133,32 +141,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: 'string',
                  required: true,
                  message: '请输入排序',
                  trigger: ['blur', 'change']
               },
            },
@@ -166,8 +182,8 @@
            switchVal: false,
            driverList: [],
            buyerName: '',
            timeStart: '',
            timeEnd: '',
            timeStart: new Date(),
            timeEnd: new Date(),
            sevenDaysDriver: [],
            deliverKeyID: '',
            deliverKeyName: ''
@@ -184,21 +200,24 @@
         this.getCustomer()
         this.GetDriversOfWithin7days()
      },
      onMounted() {
         this.$refs.formRef.setRules(this.rules);
      },
      onReachBottom() {
         if (this.loadStatus != 'nomore') {
            this.getList()
         }
      },
      onPullDownRefresh() {
         this.startDate = ''
         this.endDate = ''
         this.timeStart = ''
         this.timeEnd = ''
         this.workTime = ''
         this.deliverKeyName = ''
         this.init()
         uni.stopPullDownRefresh();
      },
      methods: {
         goDetail(item){
         goDetail(item) {
            uni.navigateTo({
               url: `/pages/delivergoods/arrangedetail?KeyId=${item.keyid}`
            });
@@ -211,12 +230,11 @@
            })
         },
         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)
            this.datePickerShow = !this.datePickerShow
            this.getList()
            this.init()
         },
         confirmDate(val) {
            console.log(val);
@@ -289,10 +307,11 @@
               lianxiren: item.lianxiren,
               dizhi: item.dizhi,
               keyid: item.keyid,
               companyName:item.companyName
               companyName: item.companyName,
               sort: item.sort
            }
            this.show7 = true
            this.driverName = item.driver.name
            this.driverName = item.driver && item.driver.name
            // let obj = this.customerList.find(ite => {
            //    return ite.keyid == item.buyerId
            // })
@@ -328,13 +347,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 => {
@@ -343,11 +369,12 @@
                        this.arrangeInfo = {
                           deliverTime: this.$util.formatDate(new Date(), null, 1),
                           driverId: '',
                           buyerId: '',
                           buyerId: null,
                           dianhua: '',
                           remark: '',
                           lianxiren: '',
                           dizhi: '',
                           sort: '1'
                        }
                        this.show7 = false
                        this.driverName = ''
@@ -367,11 +394,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 = ''
@@ -384,6 +414,8 @@
                  }
                  this.isLoading = false
               })
            }).catch(errors => {
               this.$refs.modalArrange.loading = false
            })
         },
@@ -391,11 +423,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 = ''
@@ -472,12 +507,6 @@
                  }
               }
            })
         },
         actionClick(item, e) {
            console.log(e);
            if (e.index == 0) {
               this.contentVal = item.remark
            }
         }
      }
   }