zhangxiaoxu123
2022-07-29 55dc1d1d1561075a0ccff79d8d6ac1b901e55527
pages/jihua/jihua.vue
@@ -1,394 +1,394 @@
<template>
   <view class="jihua-wrap">
      <view class="qiehuan-box">
         <u-tabs :list="tabList" @click="tabClick"></u-tabs>
      </view>
      <view class="jihua-main">
         <view class="shaixuan-box">
            <u-radio-group v-model="radioValue" @change="groupChange">
               <u-radio style="margin-right: 30rpx;" shape="square" label="全部" name="全部"></u-radio>
               <u-radio style="margin-right: 30rpx;" shape="square" label="已设置的计划" name="已设置的计划"></u-radio>
               <!-- <u-radio shape="square" label="未设置的计划" name="未设置的计划"></u-radio> -->
            </u-radio-group>
         </view>
         <div class="main-inside">
            <view v-if="isTomJihua == '全部'">
               <view class="main-block-box" v-for="(item,index) in fyData" :key="item.id">
                  <view class="jihua-main-line">
                     <view class="name">客户名称:{{item.customerName || ''}}</view>
                  </view>
                  <view class="jihua-main-line">
                     <view class="main-flex">
                        <view>煤种:{{ item.coalName || ''}}</view>
                        <view>剩余量:{{ item.executiveSurplus || ''}}</view>
                     </view>
                  </view>
                  <view class="jihua-main-line">
                     <view class="main-flex">
                        <view class="carNum-box">
                           <view>计划车数:</view>
                           <u--input
                               placeholder="请输入发运车数"
                               border="surround"
                               v-model="item.numPlan"
                               @change="inputChange"
                             ></u--input>
                        </view>
                        <view>实际发车数:{{item.numReal || ''}}</view>
                     </view>
                  </view>
               </view>
               <u-button class="xiugai-btn" type="primary" text="提交" @click="dataFormSubmit"></u-button>
            </view>
            <view v-if="isTomJihua == '已设置的计划'">
               <view class="main-block-box" v-for="(item,index) in fyData" :key="item.id">
                  <view class="jihua-main-line">
                     <view class="name">客户名称:{{item.customerName || ''}}</view>
                  </view>
                  <view class="jihua-main-line">
                     <view class="main-flex">
                        <view>煤种:{{item.order.coalName || ''}}</view>
                        <view>剩余量:{{item.order.executiveSurplus || ''}}</view>
                     </view>
                  </view>
                  <view class="jihua-main-line">
                     <view class="main-flex">
                        <view class="carNum-box">
                           <view>计划车数:</view>
                           <u--input placeholder="请输入发运车数" border="surround" v-model="item.numPlan"
                              @change="inputTotalChange(item)"></u--input>
                        </view>
                        <view>实际发车数:{{item.order.numReal || ''}}</view>
                     </view>
                  </view>
               </view>
               <u-button class="xiugai-btn" type="primary" text="修改" @click="getOrderCarNum"></u-button>
            </view>
             <!-- <u-empty
                v-if="fyData.length == 0"
                mode="data"
                icon=""
             >
            </u-empty> -->
         </div>
      </view>
      <!-- 菜单栏 -->
      <popup-menu @menuShow="menushow" ref="menuRef"></popup-menu>
   </view>
</template>
<script>
   import popupMenu from '@/components/common/popup-menu/popup-menu.vue';
   export default {
      components: {
         popupMenu
      },
      data() {
         return {
            radioValue: '全部',
            tabList: [{
               name: '今日发运计划'
            }, {
               name: '明日发运计划'
            }],
            carValue: 0,
            fyData: [],
            fyData2: [],
            info: {
               shippingDate: this.todayDate()
            },
            isTomJihua: '全部',
            editRow:'', //修改行的行
            menuShow:false,
         }
      },
      onShow() {
         if(this.menuShow == true){
            this.$refs.menuRef.menuClick()
         }
         this.init()
      },
      // 点击导航栏菜单后
      onNavigationBarButtonTap(e) {
         // console.log(e);
         this.$refs.menuRef.menuClick()
      },
      methods: {
         init() {
            this.fyList()
         },
         menushow(e){
            this.menuShow = e;
         },
         dataFormSubmit() { //提交订单
            this.fyData.forEach(e => {
               e.shippingDate = this.info.shippingDate
               if (e.planId && !e.numPlan) {
                  e.numPlan = -1; //删除设置为空的计划
               }
               let orderId = e.id;
               e.id = e.planId;
               e.orderId = orderId;
            })
            this.$reqPost('addObj', this.fyData).then(res => {
               this.$u.toast('添加成功')
               this.fyList()
            })
         },
         getOrderCarNum() { //修改
            this.$reqPost('setCarNums',this.editRow).then(res => {
               this.$u.toast('修改成功')
               this.xscarshippingdayplan()
            })
         },
         groupChange(n) {
            console.log(n, 'n================')
            this.isTomJihua = n
            if (n == '已设置的计划') {
               this.xscarshippingdayplan()
            } else {
               this.fyList()
            }
         },
         todayDate() {
            let yes = new Date().getTime()
            let date = new Date(yes)
            let y = date.getFullYear()
            let m = date.getMonth() + 1
            m = m < 10 ? ('0' + m) : m
            let d = date.getDate()
            d = d < 10 ? ('0' + d) : d
            const time = y + '-' + m + '-' + d
            console.log('todayDate---------', time)
            return time
         },
         tomorrowDate() {
          let yes = new Date().getTime() + 60 * 24 * 60 * 1000
            let date = new Date(yes)
            let y = date.getFullYear()
            let m = date.getMonth() + 1
            m = m < 10 ? ('0' + m) : m
            let d = date.getDate()
            d = d < 10 ? ('0' + d) : d
            const time = y + '-' + m + '-' + d
            console.log('tomorrowDate---------222', time)
            return time
         },
         fyList() { //列表查询
            uni.showLoading({
               title: '正在加载...'
            });
            let compId = uni.getStorageSync('userInfo').compId
            let params = {
               current: 1,
               size: 100,
               status: 2,
               trainType: 1,
               compId: compId
            }
            this.$reqGet('fyList', params).then(res => {
               if (res.code == 0) {
                  this.xscarshippingdayplan(res.data);
               }
            })
         },
         xscarshippingdayplan(allList) { //已经设置的
          console.log(allList,'allList==========')
            let params = {
               current: 1,
               size: 50,
               shippingDate: this.info.shippingDate
            }
            this.$reqGet('xscarshippingdayplan', params).then(res => {
               if (res.code == 0) {
                  if(!allList) {
                     this.fyData = res.data.records
                     console.log(this.fyData,'this.fyData=========11111111')
                  }else {
                     let l = res.data.records
                     allList.forEach(e => {
                        l.forEach(ee => {
                           if (e.id == ee.orderId) {
                              e.numPlan = ee.numPlan;
                              e.numReal = ee.numReal;
                              e.planId = ee.id;
                              if (ee.carNums != null) {
                                 e.carNums = ee.carNums;
                              }
                           }
                        })
                     })
                     this.fyData = allList;
                     console.log(this.fyData,'this.fyData=========22222222')
                  }
                  console.log(this.fyData,'this.fyData=========333333333')
                  uni.hideLoading();
               }
            }).catch(e => {
               uni.hideLoading();
            })
         },
         tabClick(item) { //切换今日和明日
            console.log(item, 'item==========')
            if (item.index == 1) {
               this.info.shippingDate = this.tomorrowDate()
               if (this.isTomJihua == '已设置的计划') {
                  this.xscarshippingdayplan()
               } else {
                  this.fyList()
               }
            } else {
               this.info.shippingDate = this.todayDate()
               if (this.isTomJihua == '已设置的计划') {
                  this.xscarshippingdayplan()
               } else {
                  this.fyList()
               }
            }
         },
         inputChange(val) {
               console.log(val)
         },
         inputTotalChange(val) {
            console.log(val,'val2=======val2')
            this.editRow = val
         }
      }
   }
</script>
<style lang="scss" scoped>
   ::v-deep {
      .u-tabs__wrapper__nav {
         padding-left: vww(75.5)
      }
      .u-radio__text {
         span {
            font-size: vww(14);
         }
      }
      .u-radio{
         margin-right: vww(10);
      }
      .u-radio__text{
         font-size: vww(14)!important;
      }
      .u-input {
         height: vww(16);
         width: vww(100);
      }
      .u-radio-group--row {
         height: 100%;
         width: 100%;
         display: flex;
         justify-content: right;
      }
      .u-radio__icon-wrap {
         width: vww(14) !important;
         height: vww(14) !important;
         ;
      }
   }
   .qiehuan-box {
      position: sticky;
      top: 0;
      left: 0;
      right: 0;
      width: 100%;
      z-index: 1;
      background-color: #fff;
   }
   .jihua-wrap {
      width: 100%;
      height: 100%;
      overflow-y: auto;
      display: flex;
      flex-direction: column;
      .xiugai-btn {
         position: absolute;
         left: 50%;
         bottom: vww(20);
         width: vww(200);
         transform: translateX(-50%);
         border-radius: vww(20);
      }
   }
   .jihua-main {
      display: flex;
      flex-direction: column;
      width: 100%;
      padding: vww(0) vww(10) vww(70) vww(10);
      box-sizing: border-box;
      .main-inside {
         width: 100%;
         height: calc(100% - vww(44));
      }
      .shaixuan-box {
         height: vww(40);
         position: sticky;
         top: vww(44);
         left: 0;
         right: 0;
         width: 100%;
         z-index: 1;
         background-color: #fff;
      }
      .main-block-box {
         box-shadow: 0px 0px 8px 0px rgba(216,218,238,0.80);
         height: vww(120);
         padding: vww(10);
         box-sizing: border-box;
         margin-top: vww(12);
         border-radius: vww(8);
            &:first-child{
            margin-top: vww(5);
         }
         .jihua-main-line {
            width: 100%;
            display: flex;
            view {
               font-size: vww(14);
            }
            .name {
               font-weight: 600 !important;
            }
            .main-flex {
               width: 100%;
               display: flex;
               justify-content: space-between;
                    view{
                  font-size: vww(14);
                  line-height: vww(32);
               }
               .carNum-box {
                  display: flex;
                        view {
                           font-size: vww(14);
                            line-height: vww(32);
                        }
               }
            }
         }
      }
   }
</style>
<template>
   <view class="jihua-wrap">
      <view class="qiehuan-box">
         <u-tabs :list="tabList" @click="tabClick"></u-tabs>
      </view>
      <view class="jihua-main">
         <view class="shaixuan-box">
            <u-radio-group v-model="radioValue" @change="groupChange">
               <u-radio style="margin-right: 30rpx;" shape="square" label="全部" name="全部"></u-radio>
               <u-radio style="margin-right: 30rpx;" shape="square" label="已设置的计划" name="已设置的计划"></u-radio>
               <!-- <u-radio shape="square" label="未设置的计划" name="未设置的计划"></u-radio> -->
            </u-radio-group>
         </view>
         <div class="main-inside">
            <view v-if="isTomJihua == '全部'">
               <view class="main-block-box" v-for="(item,index) in fyData" :key="item.id">
                  <view class="jihua-main-line">
                     <view class="name">客户名称:{{item.customerName || ''}}</view>
                  </view>
                  <view class="jihua-main-line">
                     <view class="main-flex">
                        <view>煤种:{{ item.coalName || ''}}</view>
                        <view>剩余量:{{ item.executiveSurplus || ''}}</view>
                     </view>
                  </view>
                  <view class="jihua-main-line">
                     <view class="main-flex">
                        <view class="carNum-box">
                           <view>计划车数:</view>
                           <u--input
                               placeholder="请输入发运车数"
                               border="surround"
                               v-model="item.numPlan"
                               @change="inputChange"
                             ></u--input>
                        </view>
                        <view>实际发车数:{{item.numReal || ''}}</view>
                     </view>
                  </view>
               </view>
               <u-button class="xiugai-btn" type="primary" text="提交" @click="dataFormSubmit"></u-button>
            </view>
            <view v-if="isTomJihua == '已设置的计划'">
               <view class="main-block-box" v-for="(item,index) in fyData" :key="item.id">
                  <view class="jihua-main-line">
                     <view class="name">客户名称:{{item.customerName || ''}}</view>
                  </view>
                  <view class="jihua-main-line">
                     <view class="main-flex">
                        <view>煤种:{{item.order.coalName || ''}}</view>
                        <view>剩余量:{{item.order.executiveSurplus || ''}}</view>
                     </view>
                  </view>
                  <view class="jihua-main-line">
                     <view class="main-flex">
                        <view class="carNum-box">
                           <view>计划车数:</view>
                           <u--input placeholder="请输入发运车数" border="surround" v-model="item.numPlan"
                              @change="inputTotalChange(item)"></u--input>
                        </view>
                        <view>实际发车数:{{item.order.numReal || ''}}</view>
                     </view>
                  </view>
               </view>
               <u-button class="xiugai-btn" type="primary" text="修改" @click="getOrderCarNum"></u-button>
            </view>
             <!-- <u-empty
                v-if="fyData.length == 0"
                mode="data"
                icon=""
             >
            </u-empty> -->
         </div>
      </view>
      <!-- 菜单栏 -->
      <popup-menu @menuShow="menushow" ref="menuRef"></popup-menu>
   </view>
</template>
<script>
   import popupMenu from '@/components/common/popup-menu/popup-menu.vue';
   export default {
      components: {
         popupMenu
      },
      data() {
         return {
            radioValue: '全部',
            tabList: [{
               name: '今日发运计划'
            }, {
               name: '明日发运计划'
            }],
            carValue: 0,
            fyData: [],
            fyData2: [],
            info: {
               shippingDate: this.todayDate()
            },
            isTomJihua: '全部',
            editRow:'', //修改行的行
            menuShow:false,
         }
      },
      onShow() {
         if(this.menuShow == true){
            this.$refs.menuRef.menuClick()
         }
         this.init()
      },
      // 点击导航栏菜单后
      onNavigationBarButtonTap(e) {
         // console.log(e);
         this.$refs.menuRef.menuClick()
      },
      methods: {
         init() {
            this.fyList()
         },
         menushow(e){
            this.menuShow = e;
         },
         dataFormSubmit() { //提交订单
            this.fyData.forEach(e => {
               e.shippingDate = this.info.shippingDate
               if (e.planId && !e.numPlan) {
                  e.numPlan = -1; //删除设置为空的计划
               }
               let orderId = e.id;
               e.id = e.planId;
               e.orderId = orderId;
            })
            this.$reqPost('addObj', this.fyData).then(res => {
               this.$u.toast('添加成功')
               this.fyList()
            })
         },
         getOrderCarNum() { //修改
            this.$reqPost('setCarNums',this.editRow).then(res => {
               this.$u.toast('修改成功')
               this.xscarshippingdayplan()
            })
         },
         groupChange(n) {
            console.log(n, 'n================')
            this.isTomJihua = n
            if (n == '已设置的计划') {
               this.xscarshippingdayplan()
            } else {
               this.fyList()
            }
         },
         todayDate() {
            let yes = new Date().getTime()
            let date = new Date(yes)
            let y = date.getFullYear()
            let m = date.getMonth() + 1
            m = m < 10 ? ('0' + m) : m
            let d = date.getDate()
            d = d < 10 ? ('0' + d) : d
            const time = y + '-' + m + '-' + d
            console.log('todayDate---------', time)
            return time
         },
         tomorrowDate() {
          let yes = new Date().getTime() + 60 * 24 * 60 * 1000
            let date = new Date(yes)
            let y = date.getFullYear()
            let m = date.getMonth() + 1
            m = m < 10 ? ('0' + m) : m
            let d = date.getDate()
            d = d < 10 ? ('0' + d) : d
            const time = y + '-' + m + '-' + d
            console.log('tomorrowDate---------222', time)
            return time
         },
         fyList() { //列表查询
            uni.showLoading({
               title: '正在加载...'
            });
            let compId = uni.getStorageSync('userInfo').compId
            let params = {
               current: 1,
               size: 100,
               status: 2,
               trainType: 1,
               compId: compId
            }
            this.$reqGet('fyList', params).then(res => {
               if (res.code == 0) {
                  this.xscarshippingdayplan(res.data);
               }
            })
         },
         xscarshippingdayplan(allList) { //已经设置的
          console.log(allList,'allList==========')
            let params = {
               current: 1,
               size: 50,
               shippingDate: this.info.shippingDate
            }
            this.$reqGet('xscarshippingdayplan', params).then(res => {
               if (res.code == 0) {
                  if(!allList) {
                     this.fyData = res.data.records
                     console.log(this.fyData,'this.fyData=========11111111')
                  }else {
                     let l = res.data.records
                     allList.forEach(e => {
                        l.forEach(ee => {
                           if (e.id == ee.orderId) {
                              e.numPlan = ee.numPlan;
                              e.numReal = ee.numReal;
                              e.planId = ee.id;
                              if (ee.carNums != null) {
                                 e.carNums = ee.carNums;
                              }
                           }
                        })
                     })
                     this.fyData = allList;
                     console.log(this.fyData,'this.fyData=========22222222')
                  }
                  console.log(this.fyData,'this.fyData=========333333333')
                  uni.hideLoading();
               }
            }).catch(e => {
               uni.hideLoading();
            })
         },
         tabClick(item) { //切换今日和明日
            console.log(item, 'item==========')
            if (item.index == 1) {
               this.info.shippingDate = this.tomorrowDate()
               if (this.isTomJihua == '已设置的计划') {
                  this.xscarshippingdayplan()
               } else {
                  this.fyList()
               }
            } else {
               this.info.shippingDate = this.todayDate()
               if (this.isTomJihua == '已设置的计划') {
                  this.xscarshippingdayplan()
               } else {
                  this.fyList()
               }
            }
         },
         inputChange(val) {
               console.log(val)
         },
         inputTotalChange(val) {
            console.log(val,'val2=======val2')
            this.editRow = val
         }
      }
   }
</script>
<style lang="scss" scoped>
   ::v-deep {
      .u-tabs__wrapper__nav {
         padding-left: vww(75.5)
      }
      .u-radio__text {
         span {
            font-size: vww(14);
         }
      }
      .u-radio{
         margin-right: vww(10);
      }
      .u-radio__text{
         font-size: vww(14)!important;
      }
      .u-input {
         height: vww(16);
         width: vww(100);
      }
      .u-radio-group--row {
         height: 100%;
         width: 100%;
         display: flex;
         justify-content: right;
      }
      .u-radio__icon-wrap {
         width: vww(14) !important;
         height: vww(14) !important;
         ;
      }
   }
   .qiehuan-box {
      position: sticky;
      top: 0;
      left: 0;
      right: 0;
      width: 100%;
      z-index: 1;
      background-color: #fff;
   }
   .jihua-wrap {
      width: 100%;
      height: 100%;
      overflow-y: auto;
      display: flex;
      flex-direction: column;
      .xiugai-btn {
         position: fixed;
         left: 50%;
         bottom: vww(20);
         width: vww(200);
         transform: translateX(-50%);
         border-radius: vww(20);
      }
   }
   .jihua-main {
      display: flex;
      flex-direction: column;
      width: 100%;
      padding: vww(0) vww(10) vww(70) vww(10);
      box-sizing: border-box;
      .main-inside {
         width: 100%;
         height: calc(100% - vww(44));
      }
      .shaixuan-box {
         height: vww(40);
         position: sticky;
         top: vww(44);
         left: 0;
         right: 0;
         width: 100%;
         z-index: 1;
         background-color: #fff;
      }
      .main-block-box {
         box-shadow: 0px 0px 8px 0px rgba(216,218,238,0.80);
         height: vww(120);
         padding: vww(10);
         box-sizing: border-box;
         margin-top: vww(12);
         border-radius: vww(8);
            &:first-child{
            margin-top: vww(5);
         }
         .jihua-main-line {
            width: 100%;
            display: flex;
            view {
               font-size: vww(14);
            }
            .name {
               font-weight: 600 !important;
            }
            .main-flex {
               width: 100%;
               display: flex;
               justify-content: space-between;
                    view{
                  font-size: vww(14);
                  line-height: vww(32);
               }
               .carNum-box {
                  display: flex;
                        view {
                           font-size: vww(14);
                            line-height: vww(32);
                        }
               }
            }
         }
      }
   }
</style>