zhangxiaoxu
14 小时以前 07e7049fe46931edd6ade7c6871fdccb360a9058
pages/home/home.vue
@@ -9,6 +9,209 @@
         <qiun-data-charts type="pie" :opts="opts" :chartData="chartData" v-if="uchartsData.length > 0" />
         <u-empty mode="data" iconSize="200" textSize="25" width="350" height="350" icon="http://cdn.uviewui.com/uview/empty/data.png" v-if="uchartsData.length == 0"></u-empty>
      </view>
    <view class="huoshiju-box" v-if="compId == '1000278'">
      <!-- 产品当前价格 -->
      <view class="price-group" v-if="coalData && coalData.length > 0">
        <combined-title title="产品当前价格"></combined-title>
        <view class="price-box">
          <div class="price-box-inside">
            <uni-table border stripe emptyText="暂无更多数据" >
              <uni-tr>
                <uni-th width="100" align="center">煤种</uni-th>
                <uni-th width="100" align="center">长协户(元)</uni-th>
                <uni-th width="100" align="center">普通户(元)</uni-th>
              </uni-tr>
              <uni-tr v-for="(item,index) in coalData" :key="index">
                <uni-td align="left">{{item.coalName}}</uni-td>
                <uni-td align="center">{{item.price1}}</uni-td>
                <uni-td align="center">{{item.price2}}</uni-td>
              </uni-tr>
            </uni-table>
<!--            <view class="price-line">
              <view class="name">中煤</view>
              <view class="price"><view class="priceNum">344</view><view class="priceUnit">元</view></view>
            </view>
            <view class="price-line">
              <view class="name">中煤</view>
              <view class="price"><view class="priceNum">344</view><view class="priceUnit">元</view></view>
            </view>
            <view class="price-line">
              <view class="name">中煤</view>
              <view class="price"><view class="priceNum">344</view><view class="priceUnit">元</view></view>
            </view>
            <view class="price-line">
              <view class="name">中煤</view>
              <view class="price"><view class="priceNum">344</view><view class="priceUnit">元</view></view>
            </view>-->
          </div>
        </view>
      </view>
      <!-- 当日收款情况 -->
      <view class="shoukuan-group" v-if="shoukuanJiluTemp && shoukuanJiluTemp.length > 0">
        <view class="currentDay-box">
          <combined-title title="当日收款情况">
          </combined-title>
          <view class="total-box">
            <view class="total1">小计:</view>
            <view class="total2">{{shoukuanToatl}}
              <view class="small">元</view>
            </view>
          </view>
        </view>
        <view class="shoukuan-box">
          <div class="shoukuan-box-inside">
            <view class="shoukuan-main" v-for="(item,index) in shoukuanJilu" :key="index">
              <view class="shoukuan-line shoukuanFirst-line">
                <view class="text1">{{item.customerName || ''}}</view>
              </view>
              <view class="shoukuan-line">
                <view class="name">金额:</view>
                <view class="text1 num">{{item.money || ''}}
                   <view class="small">元</view>
                </view>
              </view>
              <view class="shoukuan-line">
                <view class="name">账套:</view>
                <view class="text1">{{item.ledgerName || ''}}</view>
              </view>
            </view>
            <view class="shouqiIcon" @click="handleShouKuanIsMore">
              <image v-if="!shoukuanIsMore" src="@/static/home/xialaIcon.png"></image>
              <image v-else src="@/static/home/shouqiIcon.png"></image>
            </view>
          </div>
        </view>
      </view>
      <!-- 煤种发运情况 -->
      <view class="shoukuan-group" v-if="coalTongjiTemp && coalTongjiTemp.length > 0">
        <view class="currentDay-box">
          <combined-title title="煤种发运情况">
          </combined-title>
        </view>
        <view class="shoukuan-box">
          <view class="coalFayun-total">
            <view class="total-block">
              <view class="num">{{d2Sum || 0}}</view>
              <view class="name">总计金额(元)</view>
            </view>
            <view class="total-block">
              <view class="num">{{dsumSum || 0}}</view>
              <view class="name">汽运总计(吨)</view>
            </view>
            <view class="total-block">
              <view class="num">{{lyDSumSum || 0}}</view>
              <view class="name">路运总计(吨)</view>
            </view>
            <view class="total-block">
              <view class="num">{{d1Sum || 0}}</view>
              <view class="name">总吨数(吨)</view>
            </view>
          </view>
          <div class="shoukuan-box-inside">
            <view class="shoukuan-main" v-for="(item,index) in coalTongji" :key="index">
              <view class="shoukuan-line shoukuanFirst-line">
                <view class="text1">{{item.coalName}}</view>
              </view>
              <view class="shoukuan-line">
                <view class="name">账套:</view>
                <view class="text1">{{item.ledgerName || ''}}</view>
              </view>
              <view class="coalTongji-box">
                <view class="shoukuan-line">
                  <view class="name">单价:</view>
                  <view class="text1 num">
                    {{item.d3 || 0}}
                    <view class="small">元</view>
                  </view>
                </view>
                <view class="shoukuan-line">
                  <view class="name">金额:</view>
                  <view class="text1 num">
                    {{item.d2 || 0}}
                    <view class="small">元</view>
                  </view>
                </view>
              </view>
              <view class="coalTongji-box marginTop">
                <view class="caol-block">
                  <view class="name">日汽运量(吨)</view>
                  <view class="num">{{item.dSum || 0}}</view>
                </view>
                <view class="caol-block">
                  <view class="name">日路运量(吨)</view>
                  <view class="num">{{item.lyDSum || 0}}</view>
                </view>
                <view class="caol-block">
                  <view class="name">日合计(元)</view>
                  <view class="num">{{item.d1 || 0}}</view>
                </view>
              </view>
            </view>
            <view class="shouqiIcon" @click="handleCoalIsMore">
              <image v-if="!coalShowIsMore" src="@/static/home/xialaIcon.png"></image>
              <image v-else src="@/static/home/shouqiIcon.png"></image>
            </view>
          </div>
        </view>
      </view>
      <!-- 分客户煤种发运情况 -->
      <view class="shoukuan-group" v-if="kehuTongjiTemp && kehuTongjiTemp.length > 0">
        <view class="currentDay-box">
          <combined-title title="分客户煤种发运情况">
          </combined-title>
        </view>
        <view class="shoukuan-box">
          <div class="shoukuan-box-inside">
            <view class="shoukuan-main" v-for="(item,index) in kehuTongji" :key="index">
              <view class="shoukuan-line">
                <view class="name">客户:</view>
                <view class="text1">{{item.customerName}}</view>
              </view>
              <view class="shoukuan-line">
                <view class="name">账套:</view>
                <view class="text1">{{item.ledgerName}}</view>
              </view>
              <view class="coalTongji-box">
                <view class="shoukuan-line kehu-block">
                  <view class="name">车数:</view>
                  <view class="text1 num">{{item.carSize}}</view>
                </view>
                <view class="shoukuan-line kehu-block">
                  <view class="name">煤种:</view>
                  <view class="text1">{{item.coalName}}</view>
                </view>
              </view>
              <view class="coalTongji-box marginTop">
                <view class="caol-block">
                  <view class="name">发运量(吨)</view>
                  <view class="num">{{item.executive || 0}}</view>
                </view>
                <view class="caol-block">
                  <view class="name">单价(元)</view>
                  <view class="num">{{item.coalPrice || 0}}</view>
                </view>
                <view class="caol-block">
                  <view class="name">金额(元)</view>
                  <view class="num">{{item.amount || 0}}</view>
                </view>
              </view>
            </view>
            <view class="shouqiIcon" @click="handlekehuTongjiShowIsMore">
              <image v-if="!kehuTongjiShowIsMore" src="@/static/home/xialaIcon.png"></image>
              <image v-else src="@/static/home/shouqiIcon.png"></image>
            </view>
          </div>
        </view>
      </view>
    </view>
      <!-- 我的申请 -->
      <combined-title title="我的申请" detailsPath="/pages/my-application/my-application" v-if="shenqingMenu"></combined-title>
      <view class="card-group">
@@ -338,6 +541,7 @@
import combinationCard from '@/components/common/combination-card/combination-card.vue';
import { setAccessToken, redirectLogin } from '@/utils/status.js';
import { logout } from '@/api/global.js';
import UText from "../../uni_modules/uview-ui/components/u-text/u-text.vue";
export default {
   name: 'home',
@@ -461,7 +665,23 @@
            pageSize: 2,
            // sort: 'createTime',
            // order: 'desc'
         }
         },
      coalData:[],
      shoukuanJilu:[],
      shoukuanJiluTemp:[],
      shoukuanIsMore:false,  //
      shoukuanToatl:0,
      coalTongji:[], //煤种统计
      coalTongjiTemp:[], //煤种统计
      coalShowIsMore: false,
      kehuTongji:[], //煤种统计
      kehuTongjiTemp:[], //煤种统计
      kehuTongjiShowIsMore: false,
      compId:'',
      d2Sum:0,  //总计金额
      d1Sum:0,  //总计
      lyDSumSum:0,  //路运
      dsumSum:0,  //汽运
      };
   },
   // 监听页面初次渲染完成。注意如果渲染速度快,会在页面进入动画完成前触发
@@ -487,11 +707,74 @@
      this.init();
   },
   components: {
    UText,
      combinedTitle,
      combinationCard
      // popupMenu
   },
  watch: {
    shoukuanIsMore: {
      handler(newVal,oldVal) {
        console.log(newVal,'newVal-------当天收款记录')
        let temp = newVal.toString() || ''
        if(this.shoukuanJiluTemp && this.shoukuanJiluTemp.length > 0) {
          if(temp == 'false') {
            this.shoukuanJilu = this.shoukuanJiluTemp.slice(0,2)
            this.coalShowIsMore = false
          }else if(temp == 'true') {
            this.shoukuanJilu = this.shoukuanJiluTemp
            this.coalShowIsMore = true
          }
        }
      },
      immediate: true,
      deep: true
    },
    coalShowIsMore: {
      handler(newVal,oldVal) {
        console.log(newVal,'newVal-------按煤种统计')
        let temp = newVal.toString() || ''
        if(this.coalTongjiTemp && this.coalTongjiTemp.length > 0) {
          if(temp == 'false') {
            this.coalTongji = this.coalTongjiTemp.slice(0,2)
            this.coalShowIsMore = false
          }else if(temp == 'true') {
            this.coalTongji = this.coalTongjiTemp
            this.coalShowIsMore = true
          }
        }
      },
      immediate: true,
      deep: true
    },
    kehuTongjiShowIsMore: {
      handler(newVal,oldVal) {
        console.log(newVal,'newVal-------按客户发运统计')
        let temp = newVal.toString() || ''
        if(this.kehuTongjiTemp && this.kehuTongjiTemp.length > 0) {
          if(temp == 'false') {
            this.kehuTongji = this.kehuTongjiTemp.slice(0,2)
            this.kehuTongjiShowIsMore = false
          }else if(temp == 'true') {
            this.kehuTongji = this.kehuTongjiTemp
            this.kehuTongjiShowIsMore = true
          }
        }
      },
      immediate: true,
      deep: true
    },
  },
   methods: {
    handleShouKuanIsMore() {  //当日收款情况
      this.shoukuanIsMore = !this.shoukuanIsMore
    },
    handleCoalIsMore() {  //煤种发运情况
      this.coalShowIsMore = !this.coalShowIsMore
    },
    handlekehuTongjiShowIsMore() {  //煤种发运情况
      this.kehuTongjiShowIsMore = !this.kehuTongjiShowIsMore
    },
      watchRouter() {
         console.log('路由跳转');
      },
@@ -501,10 +784,66 @@
         this.todoList(); // 我的待办
         this.doneList(); // 我的已办
         this.xscarshippingdayplan(); // 日计划
      this.currentCoalPrice()  //煤种价格
      this.getSkList()  //当天收款记录
      this.getStatistics1()   //按煤种统计
      this.getStatistics2()   //按客户发运统计
      },
    //煤种价格
    currentCoalPrice() {
      this.$reqGet('currentCoalPrice').then(res => {
        console.log(res.data,'res.data')
        if (res.code == 0) {
           this.coalData = res.data || []
        }
      })
    },
    getSkList() {  //当天收款记录
      this.$reqGet('getSkList').then(res => {
        if (res.code == 0) {
          this.shoukuanJiluTemp = res.data || []
          if(this.shoukuanJiluTemp && this.shoukuanJiluTemp.length > 0) {
            this.shoukuanToatl = this.shoukuanJiluTemp[0]?.money || 0
            if(this.shoukuanJiluTemp.length > 1) {
              this.shoukuanJilu = this.shoukuanJiluTemp.slice(0,2)
              this.shoukuanIsMore = false
            }
          }
        }
      })
    },
    getStatistics1() {  //按煤种统计
      this.$reqGet('getStatistics1').then(res => {
        if (res.code == 0) {
          this.coalTongjiTemp = res.data || []
          if(this.coalTongjiTemp && this.coalTongjiTemp.length > 0){
            this.d2Sum = this.coalTongjiTemp[0]?.d2Sum || 0
            this.d1Sum = this.coalTongjiTemp[0]?.d1Sum || 0
            this.lyDSumSum = this.coalTongjiTemp[0]?.lyDSumSum || 0
            this.dsumSum = this.coalTongjiTemp[0]?.dsumSum || 0
            if(this.coalTongjiTemp.length > 1) {
              this.coalTongji = this.coalTongjiTemp.slice(0,2)
              this.coalShowIsMore = false
            }
          }
        }
      })
    },
    getStatistics2() {  //按客户发运统计
      this.$reqGet('getStatistics2').then(res => {
        if (res.code == 0) {
          this.kehuTongjiTemp = res.data || []
          if(this.kehuTongjiTemp && this.kehuTongjiTemp.length > 0){
            if(this.kehuTongjiTemp.length > 1) {
              this.kehuTongji = this.kehuTongjiTemp.slice(0,2)
              this.kehuTongjiShowIsMore = false
            }
          }
        }
      })
    },
    //代办详情
    daibanDetail(item) {
      console.log(item,'item=====------000000')
      if(item?.actBusiness?.actType == 'Offsetting') {  //收款 actType = ‘Offsetting’
        uni.navigateTo({
          url: `/pages/payment-form-data/payment-form-data?id=${item.tableId}`,
@@ -537,7 +876,9 @@
               uni.setStorageSync('userInfo', res.data.sysUser);
          this.$store.commit('SET_PERMISSIONS',res.data.permissions)
               //uni.setStorageSync('permissions', res.data.permissions);
               this.userId = res.data.sysUser.userId;
               this.userId = res.data.sysUser?.userId;
          this.compId = res.data.sysUser?.compId;
          console.log(this.compId,'this.compId---111')
               this.$nextTick(() => {
                  this.coalbunker();
               });
@@ -871,11 +1212,23 @@
<style lang="scss" scoped>
::v-deep{
  .uni-table-td,.uni-table-th{
    color: #000;
  }
}
::v-deep.home {
   width: 100%;
   display: flex;
   flex-direction: column;
  .marginTop{
    margin-top: 16rpx;
  }
  .small{
    font-size: 20rpx;
    margin-left: 6rpx;
    font-weight: normal;
  }
   // 横向菜单栏
   .utils {
      .utils-container {
@@ -1161,4 +1514,208 @@
      }
   }
}
.huoshiju-box{
  width: 100%;
  display: flex;
  flex-direction: column;
  .price-group{
    width: 100%;
    display: flex;
    flex-direction: column;
    .price-title{
      width: 100%;
      display: flex;
      justify-content: space-between;
      font-size: 32rpx;
    }
    .price-box{
      width: 100%;
      padding: 0 20rpx 20rpx 20rpx;
      box-sizing: border-box;
      .price-box-inside{
        width: 100%;
        display: flex;
        flex-direction: column;
        padding: 30rpx;
        box-sizing: border-box;
        border-radius: 18rpx;
        box-shadow: 0 2rpx 20rpx #e5e5e5, 0 0 1px #e5e5e5, 0 0 1px #e5e5e5;
      }
      .price-line{
        width: 100%;
        display: flex;
        justify-content: space-between;
        height: 60rpx;
        line-height: 60rpx;
        .name{
          font-size: 26rpx;
          color: #606266;
        }
        .price{
          display: flex;
          align-items: baseline;
          .priceNum{
            font-size: 28rpx;
          }
          .priceUnit{
            font-size: 20rpx;
            margin-left: 10rpx;
          }
        }
      }
    }
  }
  .shoukuan-group{
    width: 100%;
    display: flex;
    flex-direction: column;
    .currentDay-box{
      width: 100%;
      position: relative;
      .total-box{
        position: absolute;
        right: 20rpx;
        top: 50%;
        transform: translateY(-50%);
        display: flex;
        align-items: baseline;
        .total1{
          font-size: 22rpx;
        }
        .total2{
          font-size: 32rpx;
          margin-top: 6rpx;
          color: #000;
          font-weight: 540;
          display: flex;
          align-items: baseline;
        }
      }
    }
    .shoukuan-box{
      width: 100%;
      padding: 0 20rpx 20rpx 20rpx;
      box-sizing: border-box;
      .coalFayun-total{
        width: 100%;
        display: flex;
        background: #4b6cfa;
        padding: 20rpx 10rpx;
        box-sizing: border-box;
        border-radius: 16rpx;
        margin-bottom: 20rpx;
        .total-block{
          width: 50%;
          display: flex;
          flex-direction: column;
          justify-content: center;
          align-items: center;
          .num{
            font-size: 32rpx;
            color: #fff;
            font-weight: 540;
            display: flex;
            align-items: baseline;
            height: 38rpx;
          }
          .name{
            font-size: 22rpx;
            color: #fff;
            margin-top: 10rpx;
          }
        }
      }
      .shoukuan-box-inside{
        width: 100%;
        display: flex;
        flex-direction: column;
        padding: 0 40rpx;
        box-sizing: border-box;
        border-radius: 18rpx;
        box-shadow: 0 2rpx 20rpx #e5e5e5, 0 0 1px #e5e5e5, 0 0 1px #e5e5e5;
        transition: all 0.3s;
        .shoukuan-main{
          width: 100%;
          display: flex;
          flex-direction: column;
          border-bottom: 1px solid #e5e5e5;
          padding: 20rpx 0;
          &:nth-last-child(2){
            border-bottom: none;
          }
        }
        .shoukuan-line{
          width: 100%;
          display: flex;
          align-items: baseline;
          height: 60rpx;
          line-height: 60rpx;
          .name{
            font-size: 24rpx;
            color: #606266;
          }
          .text1{
            font-size: 30rpx;
          }
          .num{
            font-size: 32rpx;
            margin-top: 6rpx;
            color: #000;
            font-weight: 540;
            display: flex;
            align-items: baseline;
          }
        }
        .kehu-block{
          width: 33%;
          .text1{
            flex: 1;
            white-space: nowrap;
            overflow: hidden;
            text-overflow: ellipsis;
          }
          &:nth-child(2){
            width: 67%;
          }
        }
        .shoukuanFirst-line{
          font-weight: bolder;
        }
      }
      .coalTongji-box{
        width: 100%;
        display: flex;
        align-items: center;
        .caol-block{
          width: 33.3%;
          display: flex;
          flex-direction: column;
          .name{
            font-size: 22rpx;
            color: #606266;
          }
          .num{
            font-size: 32rpx;
            margin-top: 6rpx;
            color: #000;
            font-weight: 540;
            display: flex;
            align-items: baseline;
          }
        }
      }
    }
    .shouqiIcon{
      width: 100%;
      display: flex;
      justify-content: center;
      transition: all 0.3s;
      image{
        width: 50rpx;
        height: 34rpx;
        margin: 10rpx 0;
      }
    }
  }
}
</style>