wk
2024-11-22 f2dd92deb176ad39b18805d5d2721fad0974a278
pages/customer-page/customer-my/faYunstatistics/faYunstatistics.vue
@@ -13,6 +13,10 @@
                     <view class="content-container">{{ totalTon}}</view>
                     <view class="content-num">发运吨数</view>
                  </view>
                  <view class="content-text">
                     <view class="content-container">{{ tmNum}}</view>
                     <view class="content-num">发运件数</view>
                  </view>
               </view>
            </view>
         </view>
@@ -49,20 +53,25 @@
                                            cur.clean=cur.clean||0
                                            return prev + cur.clean;
                                        }, 0)).toFixed(2)}}吨
                         {{Number(item.taskCoalList
                                        .reduce((prev, cur) => {
                                            cur.productQuantity=cur.productQuantity||0
                                            return prev + cur.productQuantity;
                                        }, 0))}}件
                     </view>
                  </view>
                  <view class="card-main"
                     v-for="(value, i) in item.taskCoalList"
                     :key="i"
                     @click="faYunDetail(value.id)">
                     @click="faYunDetail(value.id,value)">
                     <view class="first-line">
                        <view class="main-information">
                           <view class="sign">装</view>
                           <view class="filedname">
                              <text
                                 v-if="value.orderType == '外销' || value.orderType == '内销' || value.orderType == '转出'">{{ value.deptName || '' }}</text>
                                 v-if="value.orderType == '外销' || value.orderType == '内销' || value.orderType == '外销退' || value.orderType == '转出'">{{ value.deptName || '' }}</text>
                              <text
                                 v-else-if="value.orderType == '外购' || value.orderType == '内购' || value.orderType == '转入'">{{ value.customerName || '' }}</text>
                                 v-else-if="value.orderType == '外购' || value.orderType == '内购' || value.orderType == '外购退' || value.orderType == '转入'">{{ value.customerName || '' }}</text>
                           </view>
                        </view>
                        <view class="main-divider"></view>
@@ -73,15 +82,15 @@
                           <view class="sign">卸</view>
                           <view class="filedname">
                              <text
                                 v-if="value.orderType == '外销' || value.orderType == '内销' || value.orderType == '转出'">{{ value.customerName || '' }}</text>
                                 v-if="value.orderType == '外销' || value.orderType == '内销' || value.orderType == '外销退' || value.orderType == '转出'">{{ value.customerName || '' }}</text>
                              <text
                                 v-else-if="value.orderType == '外购' || value.orderType == '内购' || value.orderType == '转入'">{{ value.deptName || '' }}</text>
                                 v-else-if="value.orderType == '外购' || value.orderType == '内购' || value.orderType == '外购退' || value.orderType == '转入'">{{ value.filedName || '' }}</text>
                           </view>
                        </view>
                     </view>
                     <view class="second-line">
                        <view class="coal-name">
                           <view class="">{{ value.coalName }}</view>
                           <view class="productName">{{ value.productNames || value.productName }}</view>
                           <view class="black-bar"></view>
                           <view class="coal-type"
                              v-if="value.orderType">{{ value.orderType }}</view>
@@ -91,7 +100,7 @@
                     </view>
                     <view class="third-line">
                        <view class="carnum-icon">
                           <image src="https://mx.jzeg.cn:9096/appimg/image/banner/carNO.png"
                           <image src="https://wrzs.czjlchem.com:9090/appimg/image/banner/carNO.png"
                              mode="widthFix"></image>
                        </view>
                        <view class="carnum-text">{{ value.carNo || '' }}</view>
@@ -134,7 +143,7 @@
                     </view>
                  </view>
                  <view class="filter-body">
                     <view class="condition-name">煤种</view>
                     <view class="condition-name">产品</view>
                     <view class="filter-name">
                        <view class="filter-button"
                           v-for="(item, index) in coalList"
@@ -175,7 +184,7 @@
                           v-for="(item, index) in customerList"
                           :key="index"
                           @click="filterCondition(2, index, item.condition)">
                           <u-button :text="item.condition"
                           <u-button :text="item.name"
                              :type="item.active ? 'primary' : ''"
                              size="small"></u-button>
                        </view>
@@ -184,9 +193,9 @@
                     </view> -->
                     </view>
                  </view>
                  <view class="filter-body"
                  <!-- <view class="filter-body"
                     v-if="roleType == 1">
                     <view class="condition-name">货代</view>
                     <view class="condition-name">承运商</view>
                     <view class="filter-name">
                        <view class="filter-button"
                           v-for="(item, index) in forwarderList"
@@ -195,18 +204,9 @@
                           <u-button :text="item.condition"
                              :type="item.active ? 'primary' : ''"></u-button>
                        </view>
                        <!-- <view class="toggle-button">
                        <u-button
                           :text="forwarderShow < forwarderTotal ? '查看更多' : '收起'"
                           type="primary"
                           size="small"
                           @click="toggle(3)"
                           v-if="forwarderTotal > 3"
                        ></u-button>
                     </view> -->
                     </view>
                  </view>
                  <view class="filter-body"
                  </view> -->
                  <!-- <view class="filter-body"
                     v-if="roleType != 3">
                     <view class="condition-name">车队</view>
                     <view class="filter-name">
@@ -218,12 +218,8 @@
                              :type="item.active ? 'primary' : ''"
                              size="small"></u-button>
                        </view>
                        <!-- <view class="toggle-button">
                        <u-button :text="fleetShow < fleetTotal ? '查看更多' : '收起'" type="primary" size="small" @click="toggle(4)" v-if="fleetTotal > 3"></u-button>
                     </view> -->
                     </view>
                  </view>
                  <view class="filter-body">
                  </view> -->
                  <view class="filter-body" v-if="false">
                     <view class="condition-name">矿场</view>
                     <view class="filter-name">
                        <view class="filter-button"
@@ -330,7 +326,7 @@
            // 点击右箭头详情弹窗
            faYunDetailobj: {},
            modalShow: false,
            coalStatus: ['领取', '预约', '签到', '入场', '称皮', '称毛', '离场', '入磅房', '出磅房', '入煤仓', '出煤仓', '放空', '作废', '入场申请',
            coalStatus: ['领取', '预约', '签到', '入场', '称皮', '称毛', '离场', '入磅房', '出磅房', '入仓库', '出仓库', '放空', '作废', '入场申请',
               '进入场院', '异常审核中', '返回加减吨', '超时', '打印中', '打印中', '填写'
            ]
         };
@@ -429,6 +425,7 @@
            this.$reqGet('getTmTaskCoalData', { startTime: this.first, endTime: this.last }).then(res => {
               this.filterList = this.taskList = res.data;
               if (this.filterList.length != 0) {
                  let customerTemp;
                  this.totalLength = this.filterList.map(v => v.taskCoalList.length).reduce((x, y) => x + y);
                  this.totalTon = this.filterList.map(v =>
                     v.taskCoalList.reduce((prev, cur) => {
@@ -441,6 +438,20 @@
                     let yy = new BigNumber(y)
                     return xx.plus(yy).toNumber().toFixed(2)
                  }, new BigNumber(0));
                  customerTemp = res.data.map(item=>item.taskCoalList.map(val=>{
                     return {
                        name:val.customerName,
                        active:false
                     }
                  })).flat(Infinity);
                  console.log(customerTemp,'')
                  if(customerTemp.length){
                        let obj = {};
                     this.customerList = customerTemp.reduce(function (item, next) {
                     obj[next.name] ? '' : obj[next.name] = true && item.push(next)
                     return item
                  }, [])
                  }
               } else {
                  this.totalLength = 0;
                  this.totalTon = 0;
@@ -482,9 +493,9 @@
               }
            };
            let conditionMapping = {
               coalName: this.coalList.filter(v => v.active == true).map(item => item.condition),
               productName: this.coalList.filter(v => v.active == true).map(item => item.condition),
               orderType: this.typeList.filter(v => v.active == true).map(item => item.condition),
               customerName: this.customerList.filter(v => v.active == true).map(item => item.condition),
               customerName: this.customerList.filter(v => v.active == true).map(item => item.name), //客户筛选条件前端自己做 所以是name
               xsUser2Name: this.forwarderList.filter(v => v.active == true).map(item => item.condition),
               fleetName: this.fleetList.filter(v => v.active == true).map(item => item.condition),
               filedName: this.filedList.filter(v => v.active == true).map(item => item.condition),
@@ -492,7 +503,7 @@
            };
            const mapping = {
               coalName: validateFn('coalName'),
               productName: validateFn('productName'),
               orderType: validateFn('orderType'),
               customerName: validateFn('customerName'),
               xsUser2Name: validateFn('xsUser2Name'),
@@ -554,12 +565,15 @@
            this.filedList.forEach(v => {
               v.active = false;
            });
        this.getTmTaskCoalData()
         },
         confirm(e) {
            console.log(e, '日期选择');
            this.first = e.range.before;
            this.last = e.range.after;
            this.conditinonShow = false;
        this.$nextTick(() => {
          this.$refs.calendar.close()
        })
         },
         opencalendar() {
            this.$refs.calendar.open();
@@ -633,9 +647,16 @@
            }
         },
         // 跳转发运详情
         faYunDetail(takeCoalId) {
         faYunDetail(takeCoalId,value) {
            console.log(takeCoalId,'tackle')
            uni.navigateTo({
               url: `/pages/public-page/faYunstatisticsDetails/faYunstatisticsDetails?id=${takeCoalId}`
               url: `/pages/public-page/faYunstatisticsDetails/faYunstatisticsDetails?id=${takeCoalId}&orderType=${value.orderType}`,
               success(res) {
                  console.log(res);
                  },
                  fail(err) {
                  console.log(err,'跳转不过去');
                  }
            });
         },
         // 打开筛选条件弹窗
@@ -677,7 +698,36 @@
         },
         carNoTotal() {
            return this.carNoList.length;
         }
         },
         //发运件数
         tmNum(){
            console.log(this.filterList,'result')
            if( !this.filterList.length){
               return  0
            }else{
               const result =   this.filterList.map(v =>
                  v.taskCoalList.reduce((prev, cur) => {
                     let  cleanvalue
                     if(!cur.isWeight){
                       cleanvalue = Number(cur.productQuantity)  || 0
                     }else{
                       cleanvalue = 0;
                     }
                     return cleanvalue + prev
                  }, 0)
               );
               if(result.length){
               return  result.reduce((x, y) => {
                     let xx = new BigNumber(x)
                     let yy = new BigNumber(y)
                     return xx.plus(yy).toNumber()
                  }, new BigNumber(0));;
               }else{
                  return 0;
               }
            }
         },
      },
      watch: {
         dateselect(newV, old) {
@@ -842,7 +892,7 @@
            padding: 0 vww(5);
            @include flex .date-text {
               width: 330rpx;
               width: 360rpx;
               height: 40rpx;
               font-size: 28rpx;
               font-weight: 400;
@@ -929,7 +979,7 @@
                           height: vww(28);
                           line-height: vww(28);
                           text-align: center;
                           background: url('https://mx.jzeg.cn:9096/appimg/image/banner/blueblock.png') no-repeat;
                           background: url('https://wrzs.czjlchem.com:9090/appimg/image/banner/blueblock.png') no-repeat;
                           background-size: contain;
                           font-size: 30rpx;
                           font-weight: 400;
@@ -986,7 +1036,7 @@
                           // display: flex;
                           // justify-content: center;
                           // align-items: center;
                           background: url('https://mx.jzeg.cn:9096/appimg/image/banner/redblock.png') no-repeat;
                           background: url('https://wrzs.czjlchem.com:9090/appimg/image/banner/redblock.png') no-repeat;
                           background-size: contain;
                           font-size: 30rpx;
                           font-weight: 400;
@@ -1014,11 +1064,18 @@
                        flex-grow: 1;
                        height: 30rpx;
                        font-size: 30rpx;
                        width: 50%;
                        font-weight: 300;
                        color: #515151;
                        position: relative;
                        display: flex;
                        align-items: center;
                        .productName{
                           width: 50%;
                              white-space: nowrap;
                           overflow: hidden;
                           text-overflow: ellipsis;
                        }
                        .black-bar {
                           width: 2rpx;
@@ -1200,4 +1257,4 @@
      //    }
      // }
   }
</style>
</style>