weightDeal.vue 12.7 KB
Newer Older
我在何方's avatar
我在何方 committed
1 2 3 4
<template>
  <div class="app-container">
    <!-- 搜索工作栏 -->
    <el-card>
我在何方's avatar
我在何方 committed
5
        <div slot="header" class="card-title">{{$t('查看')}}</div>
我在何方's avatar
我在何方 committed
6
        <el-descriptions :column="4">
7 8 9
            <el-descriptions-item :label="$t('订单号')">
                {{orderData.orderNo||''}}
            </el-descriptions-item>
我在何方's avatar
我在何方 committed
10 11
            <el-descriptions-item :label="$t('唛头')">
                {{orderData.marks?orderData.marks:$t('')}}
我在何方's avatar
我在何方 committed
12
            </el-descriptions-item>
我在何方's avatar
我在何方 committed
13
            <el-descriptions-item :label="$t('已到箱数/总箱数')">
我在何方's avatar
我在何方 committed
14 15
                {{orderData.sumNum||0}}/{{orderData.costVO?orderData.costVO.totalNum:0}}
            </el-descriptions-item>
我在何方's avatar
我在何方 committed
16
            <el-descriptions-item :label="$t('订单状态')">
我在何方's avatar
我在何方 committed
17 18
              <dict-tag :type="DICT_TYPE.ORDER_STATUS" :value="orderData.status" />
            </el-descriptions-item>
我在何方's avatar
我在何方 committed
19 20
            <el-descriptions-item :label="$t('送货日期')">
              <span>{{orderData.deliveryDate||$t('')}}</span>
我在何方's avatar
我在何方 committed
21
            </el-descriptions-item>
22
            <el-descriptions-item :label="$t('运输方式')" :span="2">
我在何方's avatar
我在何方 committed
23
                <dict-tag :type="DICT_TYPE.ECW_TRANSPORT_TYPE" :value="orderData.transportId" />
24
                <span v-if="getDictData(DICT_TYPE.ECW_TRANSPORT_TYPE, orderData.transportId).cssClass == 'channel'" style="margin-left:10px">{{$t('出货渠道')}}:{{orderData.channelName}}</span>
我在何方's avatar
我在何方 committed
25
              </el-descriptions-item>
我在何方's avatar
我在何方 committed
26
             <el-descriptions-item :label="$t('始发地')" :span="2">
我在何方's avatar
我在何方 committed
27
                 {{orderData.logisticsInfoDto?orderData.logisticsInfoDto.startTitleZh:$t('')}}
28
             </el-descriptions-item>
我在何方's avatar
我在何方 committed
29
             <el-descriptions-item :label="$t('目的地')">
我在何方's avatar
我在何方 committed
30
                {{orderData.logisticsInfoDto?orderData.logisticsInfoDto.destTitleZh:$t('')}}
31
             </el-descriptions-item>
我在何方's avatar
我在何方 committed
32 33
        </el-descriptions>
        <el-descriptions :column="4">
我在何方's avatar
我在何方 committed
34 35
            <el-descriptions-item :label="$t('发货人')">
                {{orderData.consignorVO?orderData.consignorVO.name||$t(''):$t('')}}
我在何方's avatar
我在何方 committed
36
            </el-descriptions-item>
我在何方's avatar
我在何方 committed
37 38
            <el-descriptions-item :label="$t('发货公司')">
                {{orderData.consignorVO?orderData.consignorVO.company||$t(''):$t('')}}
我在何方's avatar
我在何方 committed
39
            </el-descriptions-item>
我在何方's avatar
我在何方 committed
40
            <el-descriptions-item :label="$t('发货电话')">
我在何方's avatar
我在何方 committed
41
                {{orderData.consignorVO?((orderData.consignorVO.countryCode?checkCode(orderData.consignorVO.countryCode):'')+orderData.consignorVO.phone)||$t(''):$t('')}}
我在何方's avatar
我在何方 committed
42 43 44
            </el-descriptions-item>
          </el-descriptions>
          <el-descriptions :column="4">
我在何方's avatar
我在何方 committed
45 46
            <el-descriptions-item :label="$t('收货人')">
                {{orderData.consigneeVO?orderData.consigneeVO.name||$t(''):$t('')}}
我在何方's avatar
我在何方 committed
47
            </el-descriptions-item>
我在何方's avatar
我在何方 committed
48 49
            <el-descriptions-item :label="$t('收货公司')">
                {{orderData.consigneeVO?orderData.consigneeVO.company||$t(''):$t('')}}
我在何方's avatar
我在何方 committed
50
            </el-descriptions-item>
我在何方's avatar
我在何方 committed
51
            <el-descriptions-item :label="$t('收货电话')">
我在何方's avatar
我在何方 committed
52
                {{orderData.consigneeVO?((orderData.consigneeVO.countryCode?checkCode(orderData.consigneeVO.countryCode):'')+orderData.consigneeVO.phone)||$t(''):$t('')}}
我在何方's avatar
我在何方 committed
53 54
            </el-descriptions-item>
        </el-descriptions>
我在何方's avatar
我在何方 committed
55 56 57 58 59 60 61
        <el-descriptions :column="4">
            <el-descriptions-item :label="$t('仓库实测')">
              <span style="margin-right:10px">{{(orderData.sumNum||0)+$t('')}}</span>
              <span style="margin-right:10px">{{(orderData.sumVolume||0)+''}}</span>
              <span style="margin-right:10px">{{(orderData.sumWeight||0)+'kg  '}}</span>
              <span>{{(orderData.sumQuantity||0) +$t('')}}</span>
            </el-descriptions-item>
我在何方's avatar
我在何方 committed
62
            <el-descriptions-item :label="$t('收费数据')">
我在何方's avatar
我在何方 committed
63 64 65 66 67 68
              <span style="margin-right:10px">{{(orderData.sumNum||0)+$t('')}}</span>
              <span style="margin-right:10px">{{(orderData.wvolume||0)+''}}</span>
              <span style="margin-right:10px">{{(orderData.vweight||0)+'kg  '}}</span>
              <span>{{(orderData.sumQuantity||0) +$t('')}}</span>
            </el-descriptions-item>
        </el-descriptions>
我在何方's avatar
我在何方 committed
69 70 71
    </el-card>
    <el-card class="card">
      <!-- 列表 -->
我在何方's avatar
我在何方 committed
72
      <div slot="header" class="card-title">{{$t('货物信息')}}</div>
我在何方's avatar
我在何方 committed
73
      <el-table v-loading="loading" border :data="orderData.orderItemVOList" :summary-method="getSummaries" show-summary>
我在何方's avatar
我在何方 committed
74
        <el-table-column :label="$t('序号')" align="center" prop="id" type="index">
我在何方's avatar
我在何方 committed
75 76 77 78
          <template slot-scope="scope">
              <span>{{scope.$index + 1}}</span>
          </template>
        </el-table-column>
我在何方's avatar
我在何方 committed
79
        <el-table-column :label="$t('品名')">
我在何方's avatar
我在何方 committed
80 81 82 83 84
          <template slot-scope="scope">
            <p>{{scope.row.prodTitleEn||''}}</p>
            <p>{{scope.row.prodTitleZh||''}}</p>
          </template>
          </el-table-column>
我在何方's avatar
我在何方 committed
85
          <el-table-column :label="$t('填单货物信息')">
我在何方's avatar
我在何方 committed
86
            <template slot-scope="scope">
我在何方's avatar
我在何方 committed
87 88 89 90
              <p>{{$t('品牌')}}<dict-tag :value="scope.row.brandType" :type="DICT_TYPE.ECW_IS_BRAND" /></p>
              <p>{{$t('箱数')}}{{scope.row.num||0}}</p>
              <p>{{$t('体积')}}{{scope.row.volume||0}}CBM</p>
              <p>{{$t('重量')}}{{scope.row.weight||0}}KG</p>
我在何方's avatar
我在何方 committed
91 92
            </template>
            </el-table-column>
我在何方's avatar
我在何方 committed
93
            <el-table-column :label="$t('入库货物属性')">
我在何方's avatar
我在何方 committed
94
              <template slot-scope="scope">
我在何方's avatar
我在何方 committed
95
                 <p>{{$t('箱规')}}{{scope.row.warehouseInInfoVO?scope.row.warehouseInInfoVO.boxGauge:0}}</p>
96
                 <p>{{$t('品牌')}}
我在何方's avatar
我在何方 committed
97
                   <span v-if="scope.row.brandName">{{scope.row.brandName}}</span>
98
                   <dict-tag v-else :type="DICT_TYPE.ECW_IS_BRAND" :value="scope.row.feeType" />
99 100
                  </p>
                <!-- <p>{{$t('品牌')}}<dict-tag :type="DICT_TYPE.ECW_IS_BRAND" :value="scope.row.feeType" /></p> -->
我在何方's avatar
我在何方 committed
101 102 103
                  <p>{{$t('箱数')}}{{scope.row.warehouseInInfoVO?scope.row.warehouseInInfoVO.cartonsNum:0}}&nbsp;&nbsp;</p>
                  <p>{{$t('体积')}}{{scope.row.warehouseInInfoVO?scope.row.warehouseInInfoVO.volume:0}}CBM&nbsp;&nbsp;</p>
                  <p>{{$t('重量')}}{{scope.row.warehouseInInfoVO?scope.row.warehouseInInfoVO.weight:0}}KG
我在何方's avatar
我在何方 committed
104 105 106
                </p>
              </template>
         </el-table-column>
我在何方's avatar
我在何方 committed
107
        <el-table-column :label="$t('重货方数')"  v-if="type=='order_heavy_cargo_exception'">
我在何方's avatar
我在何方 committed
108
          <template slot-scope="scope">
109
            <span>{{scope.row.chargeVolume||0}}CBM</span>
110 111
          </template>
        </el-table-column>
112
        <el-table-column :label="$t('泡货方数')" v-if="type!='order_heavy_cargo_exception'">
113
          <template slot-scope="scope">
114
            <span>{{scope.row.chargeVolume||0}}CBM</span>
115 116 117 118
          </template>
        </el-table-column>
        <el-table-column :label="$t('重货重量')"  v-if="type=='order_heavy_cargo_exception'">
          <template slot-scope="scope">
119
            <span>{{scope.row.chargeWeight ||0}}KG</span>
120 121 122 123
          </template>
        </el-table-column>
        <el-table-column :label="$t('泡货重量')" v-if="type!='order_heavy_cargo_exception'" >
          <template slot-scope="scope">
124
            <span>{{scope.row.chargeWeight ||0}}KG</span>
我在何方's avatar
我在何方 committed
125 126
          </template>
        </el-table-column>
我在何方's avatar
我在何方 committed
127
        <el-table-column :label="$t('最后操作时间')" scope="handlerTime" />
我在何方's avatar
我在何方 committed
128 129
      </el-table>

130
    </el-card>
我在何方's avatar
我在何方 committed
131
    <el-card v-if="list.orderExceptionStatus==2">
132 133 134 135 136 137
      <div slot="header" class="card-title">{{$t('处理结果')}}</div>
      <el-descriptions :column="1">
          <el-descriptions-item :label="$t('处理时间')">
              {{parseTime(handlerParams.handlerTime)}}
          </el-descriptions-item>
          <el-descriptions-item :label="$t('处理结果')">
我在何方's avatar
我在何方 committed
138 139 140
              <span v-if="handlerParams.handlerResult=='general_cargo'">{{$t('设为普货')}}</span>
              <span v-else-if="handlerParams.handlerResult=='process'">{{$t('设为已处理')}}</span>
              <span v-else>{{$t('设为半抛')}}</span>
141 142 143 144 145
          </el-descriptions-item>
          <el-descriptions-item :label="$t('备注')">
            {{handlerParams.handlerRemark||"无"}}
          </el-descriptions-item>
      </el-descriptions>
我在何方's avatar
我在何方 committed
146 147
    </el-card>
      <div slot="footer" class="dialog-footer">
148
        <div v-if="list.orderExceptionStatus!=2">
我在何方's avatar
我在何方 committed
149 150
          <el-button  type="primary" @click="submit('general_cargo')">{{$t('设为普货')}}</el-button>
          <el-button plain type="primary" @click="submit('process')">{{$t('设为已处理')}}</el-button>
我在何方's avatar
我在何方 committed
151
          <el-button v-if="type!='order_heavy_cargo_exception'" plain type="primary" @click="submit('half_throw')">{{$t('设为半抛')}}</el-button>
我在何方's avatar
我在何方 committed
152
        </div>
153 154 155
        <div v-else>
          <el-button plain type="primary" @click="$store.dispatch('tagsView/delCurrentView')">{{$t('返回')}}</el-button>
        </div>
我在何方's avatar
我在何方 committed
156
      </div>
157
      <el-form v-if="list.orderExceptionStatus!=2"  :model="handlerParams" ref="queryForms" size="small" label-width="50px" class="card">
我在何方's avatar
我在何方 committed
158 159 160 161 162
        <el-form-item :label="$t('备注')+':'" size="medium">
          <el-input style="width: 500px;"  type="textarea" v-model="handlerParams.orderExceptionHandlerRemark"  />
        </el-form-item>
      </el-form>

我在何方's avatar
我在何方 committed
163 164 165 166
  </div>
</template>

<script>
167
import {getExceptionById,handlerExceptionByExceptionId,getOrderExcptionResult} from "@/api/ecw/orderException"
我在何方's avatar
我在何方 committed
168 169
import {DICT_TYPE} from  '@/utils/dict'
import {getOrder} from '@/api/ecw/order'
我在何方's avatar
我在何方 committed
170
import {getProductBrankPage} from '@/api/ecw/productBrank'
171
import {getDictData, getDictDatas} from  '@/utils/dict'
我在何方's avatar
我在何方 committed
172 173 174 175 176 177 178 179 180 181 182 183 184

export default {
  name: "WeightDeal",
  components: {

  },
  data() {
    return {
      // 遮罩层
      loading: false,
      orderData:{},
      list: {},
      orderId:0,
我在何方's avatar
我在何方 committed
185
      type:'',
我在何方's avatar
我在何方 committed
186 187 188 189
      branklist:[],
      handlerParams:{
        orderExceptionHandlerRemark:''
      }
我在何方's avatar
我在何方 committed
190 191 192 193 194 195
    };
  },
  created() {
    if(this.$route.query.id){
      this.id = this.$route.query.id
      this.getList()
196 197 198
    }
    if(this.$route.query.type){
      this.type = this.$route.query.type
我在何方's avatar
我在何方 committed
199
    }
我在何方's avatar
我在何方 committed
200 201 202
    getProductBrankPage({pageNo:1,pageSize:500}).then((data)=>{
      this.branklist=data.data.list
    })
我在何方's avatar
我在何方 committed
203
  },
204 205 206 207 208
  computed:{
      getDictData(){
          return (type, value) => getDictData(type, value) || {}
      },
  },
我在何方's avatar
我在何方 committed
209 210 211 212 213 214 215 216
  methods: {
    /** 查询列表 */
    getList() {
      this.loading = true;
      // 执行查询
      getExceptionById(this.id).then(response => {
        this.list = response.data;
        this.loading = false;
我在何方's avatar
我在何方 committed
217 218 219
        if(this.list.orderExceptionStatus==2){
          this.getOrderExcptionResult()
        }
我在何方's avatar
我在何方 committed
220 221 222
        this.getOrders()
      });
    },
我在何方's avatar
我在何方 committed
223 224 225 226
    getBrand(id){
      var brank = this.branklist.find(item=>item.id==id)
      return brank.titleZh||''
    },
227 228 229 230 231 232 233 234
    //获取异常结果
    getOrderExcptionResult(){
      getOrderExcptionResult({orderExceptionId:this.id}).then(res=>{
        this.handlerParams = res.data.list[0]
        console.log(this.handlerParams)
      })

    },
我在何方's avatar
我在何方 committed
235 236 237 238 239 240
    checkCode(data){
      if(data.indexOf('+')==-1){
      	return '+'+data
      }
      return data
    },
我在何方's avatar
我在何方 committed
241 242 243 244 245 246 247 248 249 250
    getOrders(){
      getOrder(this.list.orderId).then(response => {
        this.orderData = response.data
      });
    },
    getSummaries(){
      const sums = [];
      if(!this.orderData || !this.orderData.list ||ths.orderData.length==0){
        return sums
      }
我在何方's avatar
我在何方 committed
251
      sums[0] = this.$t('小计')
我在何方's avatar
我在何方 committed
252 253 254 255 256 257 258 259 260 261 262 263 264 265 266
      var orderSum = 0
      var orderV = 0
      var orderW = 0
      var leviteSum = 0
      var leviteV = 0
      var leviteW = 0
      this.orderData.list.forEach((column, index) => {
          orderSum += column.orderSum
          orderV += column.volume
          orderW += column.weight
          leviteSum += column.orderSum
          leviteV += column.volume
          leviteW += column.weight
      });
      sums[1] = ''
我在何方's avatar
我在何方 committed
267 268
      sums[2] = this.$t('下单统计:')+ orderSum+this.$t('')+ orderV +'' + orderW + ' kg'
      sums[3] = this.$t('入仓统计:')+ leviteSum+this.$t('')+ leviteV +'' + leviteW + ' kg'
我在何方's avatar
我在何方 committed
269 270 271 272 273
      sums[4] = ''
      sums[5] = ''
      return sums;
    },
    submit(result){
我在何方's avatar
我在何方 committed
274
      handlerExceptionByExceptionId({orderExceptionId:this.list.id,orderExceptionHandlerResult:result,orderExceptionHandlerRemark:this.handlerParams.orderExceptionHandlerRemark}).then(res=>{
我在何方's avatar
我在何方 committed
275
          this.$modal.msgSuccess(this.$t("提交成功"));
我在何方's avatar
我在何方 committed
276
          this.$store.dispatch('tagsView/delCurrentView')
我在何方's avatar
我在何方 committed
277 278 279 280 281 282
      })
    }
  }
}
</script>
<style scoped>
我在何方's avatar
我在何方 committed
283 284 285
  .dialog-footer{
      margin-top: 10px;
  }
我在何方's avatar
我在何方 committed
286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303
  .filelist{
    display: flex;
    flex-wrap: wrap;
    align-items: center;
  }
  .filelist span{
    width: 48%;
    margin-right: 2%;
    color: #1E98D7;
  }
  .card-title{
      font-size: 18px;
      font-weight: bold;
      margin-top: 10px;
  }
  .card{
    margin-top: 20px;
  }
我在何方's avatar
我在何方 committed
304 305 306 307
  p{
    text-align: left;
     margin: 0 !important;
  }
我在何方's avatar
我在何方 committed
308
</style>