qingyiay
2023-04-21 1fdf41cc692eb7b208fe647259d4295164280a41
pages/freight-forwarder-page/freightForwarder-index/freightForwarder-index.vue
@@ -2,7 +2,7 @@
   <view class="freightForwarder-index">
      <view class="freightForwarder-index-body">
         <u-empty mode="data" icon="http://cdn.uviewui.com/uview/empty/data.png" textSize="30" iconSize="1000" v-if="orderPlanData.length == 0"></u-empty>
         <card v-for="(item, index) in orderPlanData" :key="index" :name="item.id" @click="cardBodyClick" backgroundType="1">
         <card v-for="(item, index) in orderPlanData" :key="index" :name="item.id" @click="cardBodyClick(item)" backgroundType="1">
            <template v-slot:left>
               <view class="card-left__top">
                  <text>{{ item.carNum }}</text>
@@ -14,29 +14,97 @@
               <view class="right-top">
                  <view class="card-right-top-row">
                     <view>
                        <text>转发剩余:{{ item.carNumSurplusHuodai||'' }}</text>
                        <text>转发剩余:{{ item.carNumSurplusHuodai || 0 }}</text>
                     </view>
                     <view>
                        <text>{{ item.coalName||'' }}</text>
                        <text>{{ item.coalName || '' }}</text>
                     </view>
                  </view>
               </view>
            </template>
            <template v-slot:right-bottom>
               <view class="code">
                  <text>编号:{{ item.orderCode||'' }}</text>
                  <text>编号:{{ item.orderCode || '' }}</text>
               </view>
            </template>
         </card>
      </view>
      <view class="history-numbers">
         <combined-title title="历史提煤单"></combined-title>
         <scroll-view :scroll-top="scrollTop" scroll-y="true" class="scroll-Y" @scrolltolower="historyScrolltolower">
            <uni-table border stripe emptyText="暂无更多数据" :loading="loading">
               <uni-tr>
                  <uni-th width="100" align="center">发运日期</uni-th>
                  <uni-th width="100" align="center">所属单位</uni-th>
                  <uni-th align="center" width="150">煤场名称</uni-th>
                  <uni-th align="center" width="100">煤种名称</uni-th>
                  <uni-th align="center" width="150">订单编号</uni-th>
                  <uni-th align="center" width="100">订单剩余量</uni-th>
                  <uni-th align="center" width="80">提煤单个数</uni-th>
               </uni-tr>
               <uni-tr v-for="(item, index) in historyCoalData" :key="index">
                  <uni-td align="center" @row-click="faYundetail(item)">{{ item.sendDate || '' }}</uni-td>
                  <uni-td align="left" @row-click="faYundetail(item)">{{ item.deptName || '' }}</uni-td>
                  <uni-td align="center" @row-click="faYundetail(item)">{{ item.filedName || '' }}</uni-td>
                  <uni-td align="center" @row-click="faYundetail(item)">{{ item.coalName || '' }}</uni-td>
                  <uni-td align="center" @row-click="faYundetail(item)">{{ item.orderCode || '' }}</uni-td>
                  <uni-td align="center" @row-click="faYundetail(item)">{{ item.carNumSurplus || '' }}</uni-td>
                  <uni-td align="center" @row-click="faYundetail(item)">{{ item.tmCount || '' }}</uni-td>
               </uni-tr>
            </uni-table>
            <view class="more_text" v-if="showMoreData && historyCoalData.length !== 0">没有数据了...</view>
         </scroll-view>
      </view>
   </view>
</template>
<script>
import combinedTitle from '@/components/combined-title/combined-title.vue';
export default {
   props: {
      indexHistoryCoalData: {
         type: Array,
         default: []
      },
      indexHuoDaiOrderPlanData: {
         type: Array,
         default: []
      }
   },
   watch: {
      indexHistoryCoalData: {
         handler(v) {
            this.historyCoalData = v;
         },
         deep: true,
         immediate: true
      },
      indexHuoDaiOrderPlanData: {
         handler(v) {
            this.orderPlanData = v;
         },
         deep: true,
         immediate: true
      }
   },
   components: {
      combinedTitle
   },
   data() {
      return {
         orderPlanData: []
         orderPlanData: [],
         historyCoalData: [],
         // 表格加载状态
         loading: false,
         scrollTop: 0,
         // 每页数据量
         pageSize: 10,
         // 当前页
         pageCurrent: 1,
         // 数据总量
         total: 0,
         // 是否显示更多数据
         showMoreData: false
      };
   },
   onShow() {
@@ -48,23 +116,68 @@
      }
   },
   methods: {
      // 获取历史提煤单
      getJhOrderPlanDataPage() {
         this.loading = true;
         this.$reqGet('getJhOrderPlanDataPage', { current: this.pageCurrent, size: this.pageSize }).then(res => {
            if (res.data.records) {
               if (this.pageCurrent > 1) {
                  this.historyCoalData = this.historyCoalData.concat(res.data.records);
                  this.historyCoalData = this.ArrSet(this.historyCoalData, 'id');
                  this.loading = false;
               } else {
                  this.historyCoalData = res.data.records;
                  this.loading = false;
               }
            }
         });
      },
      // 上拉加载
      historyScrolltolower() {
         if (this.pageCurrent * this.pageSize >= this.total) return (this.showMoreData = true);
         this.pageCurrent++;
         this.getJhOrderPlanDataPage();
      },
      //fix 点击提煤单返回会增加重复数据
      ArrSet(Arr, id) {
         var obj = {};
         const arrays = Arr.reduce((setArr, item) => {
            obj[item[id]] ? '' : (obj[item[id]] = true && setArr.push(item));
            return setArr;
         }, []);
         return arrays;
      },
      init() {
         this.huoDaiList();
         this.getJhOrderPlanDataPage();
      },
      huoDaiList() {
         this.$reqGet('huoDaiList').then(res => {
            this.orderPlanData = res.data;
         });
      },
      cardBodyClick(id) {
      cardBodyClick(item) {
         // let code = null;
         // this.orderPlanData.forEach(item => {
         //    if (item.orderPlanId == id) {
         //       code = item.code;
         //       id = item.orderPlanId;
         //    }
         // });
         uni.navigateTo({
            url: `/pages/customer-page/customer-index/fayunPlanDetails/fayunPlanDetails?orderPlanId=${id}`
            url: `/pages/customer-page/customer-index/fayunPlanDetails/fayunPlanDetails?orderPlanId=${item.orderPlanId}&code=${item.code}`
         });
      },
      // 转发
      forwardClick(value) {
         uni.navigateTo({
            url: `/pages/public-page/forward/forward?orderPlanId=${value.id}&carNumSurplusHuodai=${value.carNumSurplusHuodai}`
            url: `/pages/public-page/forward/forward?orderPlanId=${value.orderPlanId}&carNumSurplusHuodai=${value.carNumSurplusHuodai}&carNum=${value.carNum}`
         });
      },
      // 点击历史提煤单一行获取详情
      faYundetail(v) {
         uni.navigateTo({
            url: `/pages/customer-page/customer-index/fayunPlanDetails/fayunPlanDetails?orderPlanId=${v.id}&cars2=${v.cars2}`
         });
      }
   }
@@ -72,16 +185,25 @@
</script>
<style lang="scss" scoped>
.scroll-Y {
   height: 600rpx;
   margin-bottom: vww(50);
   .more_text {
      color: #999;
      font-size: 24rpx;
      text-align: center;
   }
}
::v-deep.freightForwarder-index {
   width: 94%;
   margin: 0 auto;
   // 主体
   .freightForwarder-index-body {
      margin-bottom: vww(56);
      margin-bottom: vww(10);
      // 卡片样式
      .card-left__top {
         margin-top:vww(26);
         margin-top: vww(26);
         text-align: center;
         color: #ffffff;
         text {