index.vue 19.1 KB
Newer Older
Marcus's avatar
Marcus committed
1 2
<template>
  <div class="app-container">
黄卓's avatar
黄卓 committed
3
    <h2>{{ title }}-{{ order.orderNo }}</h2>
Marcus's avatar
Marcus committed
4 5 6

    <order-base-info :order="order"></order-base-info>

7
    <div style="margin-top: 20px;display: none">
dcy's avatar
dcy committed
8 9
      <span>{{$t('储位')}}{{ ($refs.area ? $refs.area.selected : []).join(',') }}</span>
      <el-button type="primary" size="mini" @click="areaVisible = true" style="margin-left: 15px">{{$t('选择')}}</el-button>
Marcus's avatar
Marcus committed
10
    </div>
Marcus's avatar
Marcus committed
11

dcy's avatar
dcy committed
12
    <h2>{{$t('货物信息')}}</h2>
Marcus's avatar
Marcus committed
13
    <el-table
14
      v-if="order.orderItemVOList && order.orderItemVOList.length > 0 && orderItemList && orderItemList.length > 0"
Marcus's avatar
Marcus committed
15
      :data="order.orderItemVOList || []"
Marcus's avatar
Marcus committed
16 17
      style="width: 100%">
      <el-table-column
Marcus's avatar
Marcus committed
18 19
        type="index"
        width="50"
dcy's avatar
dcy committed
20
        :label="$t('序号')">
Marcus's avatar
Marcus committed
21 22
      </el-table-column>
      <el-table-column
Marcus's avatar
Marcus committed
23
        prop="prodTitleZh"
dcy's avatar
dcy committed
24
        :label="$t('品名')">
25 26 27 28
        <template v-slot="{row}">
          {{ row.prodTitleZh }}<br>
          {{ row.prodTitleEn }}
        </template>
Marcus's avatar
Marcus committed
29 30
      </el-table-column>
      <el-table-column
dcy's avatar
dcy committed
31
        :label="$t('填单货物属性')">
Marcus's avatar
Marcus committed
32
        <template v-slot="{row}">
dcy's avatar
dcy committed
33
          <span v-if="row.isWarehouseInAdd">{{$t('非填单货物信息')}}</span>
Marcus's avatar
Marcus committed
34
          <template v-else>
dcy's avatar
dcy committed
35 36 37 38
            {{$t('品牌')}}{{ [$t('无牌'), $t('有牌'), $t('中性')][row.brandType] }}<br>
            {{$t('箱数')}}{{ row.num }}<br>
            {{$t('体积')}}{{ row.volume }}<br>
            {{$t('重量')}}{{ row.weight }}Kg
39
          </template>
Marcus's avatar
Marcus committed
40
        </template>
Marcus's avatar
Marcus committed
41 42
      </el-table-column>
      <el-table-column
dcy's avatar
dcy committed
43
        :label="$t('入库货物属性')">
Marcus's avatar
Marcus committed
44
        <template v-slot="{row}">
Marcus's avatar
Marcus committed
45
          <template v-if="row.warehouseInInfoVO">
46
            {{$t('品牌')}}{{ row.brandName }}<br>
dcy's avatar
dcy committed
47 48 49
            {{$t('箱数')}}{{ row.warehouseInInfoVO.cartonsNum }}<br>
            {{$t('体积')}}{{ row.warehouseInInfoVO.volume }}<br>
            {{$t('重量')}}{{ row.warehouseInInfoVO.weight }}Kg
Marcus's avatar
Marcus committed
50
          </template>
dcy's avatar
dcy committed
51
          <span v-else>{{$t('暂无入仓信息')}}</span>
Marcus's avatar
Marcus committed
52
        </template>
Marcus's avatar
Marcus committed
53 54
      </el-table-column>
      <el-table-column
Marcus's avatar
Marcus committed
55 56
        prop="expressNo"
        v-slot="{row}"
dcy's avatar
dcy committed
57
        :label="$t('快递单号')">
58
        {{ row.expressNo || (row.warehouseInInfoVO ? row.warehouseInInfoVO.expressNo : '') }}
Marcus's avatar
Marcus committed
59 60
      </el-table-column>
      <el-table-column
Marcus's avatar
Marcus committed
61
        prop="createTime"
dcy's avatar
dcy committed
62
        :label="$t('最后操作时间')">
Marcus's avatar
Marcus committed
63
        <template v-slot="{row}">
64
          {{ parseTime(row.updateTime) }}
Marcus's avatar
Marcus committed
65
        </template>
Marcus's avatar
Marcus committed
66 67
      </el-table-column>
      <el-table-column
Marcus's avatar
Marcus committed
68 69
        prop="diffType"
        v-slot="{row}"
dcy's avatar
dcy committed
70
        :label="$t('状态')">
71 72 73 74 75 76 77
        <dict-tag
          v-if="row.warehouseInInfoVO && row.warehouseInInfoVO.diffType"
          :type="DICT_TYPE.ORDER_WAREHOUSE_IN_STATUS"
          :value="row.warehouseInInfoVO.diffType"
          class="red"
          :class="{green: row.warehouseInInfoVO.diffType === 4}"
        />
78
        <span :class="{red: row.itemStatus === 3}" v-else>{{ row.itemStatus === 3 ? ($t('少了') + row.num + $t('箱')) : $t('待入仓') }}</span>
79
        <span class="red" v-if="row.warehouseInInfoVO && row.warehouseInInfoVO.cartonsNumDiff">{{ row.warehouseInInfoVO.cartonsNumDiff }}{{$t('箱')}}</span>
Marcus's avatar
Marcus committed
80 81 82
      </el-table-column>
      <el-table-column
        prop="address"
dcy's avatar
dcy committed
83
        :label="$t('操作')">
Marcus's avatar
Marcus committed
84
        <template v-slot="{ row, column, $index }">
85 86
          <warehouse
            v-if="isEdit"
Marcus's avatar
Marcus committed
87
            :edit="true"
88 89 90 91 92
            :order-item-a="order.orderItemVOList[$index]"
            :order-item-b="orderItemList[$index]"
            :title="$t('修改')"
            :order="order"
            @close="getList"></warehouse>
93 94 95 96
          <template v-else-if="
          wareItem(row.orderItemId)
           && wareItem(row.orderItemId).orderWarehouseInBackItemDoList
           && wareItem(row.orderItemId).orderWarehouseInBackItemDoList.length > 0">
97
<!--            <template v-if="!order.parentOrderId">-->
98
            <warehouse
Marcus's avatar
Marcus committed
99
              v-if="!isEdit"
100 101 102 103 104
              :order-item-a="order.orderItemVOList[$index]"
              :order-item-b="orderItemList[$index]"
              :title="$t('追加')"
              :order="order"
              @close="getList"></warehouse>
105
              <el-button size="mini" type="text" @click="handleWarehousingReturn(row)">{{$t('退仓')}}</el-button>
106
<!--            </template>-->
Marcus's avatar
Marcus committed
107
          </template>
108 109 110 111 112 113 114
          <warehouse
            v-else
            :order-item-a="order.orderItemVOList[$index]"
            :order-item-b="orderItemList[$index]"
            :title="$t('入仓')"
            :order="order"
            @close="getList"></warehouse>
Marcus's avatar
Marcus committed
115 116 117 118
        </template>
      </el-table-column>
    </el-table>

119 120 121 122 123 124 125 126 127 128 129
    <el-card v-if="order.parentOrderId" style="margin-top: 20px">
      <div slot="header" class="clearfix">
        <span style="font-size: 18px">{{$t('标签箱号')}}</span>
      </div>

      <div v-for="(item, index) in label.orderLabelDtoList" :key="index" style="margin-bottom: 10px">
        <el-input-number v-model="item.start" controls-position="right"></el-input-number> -
        <el-input-number v-model="item.end" controls-position="right"></el-input-number>
        <el-button icon="el-icon-minus" circle v-show="index !== 0" @click="label.orderLabelDtoList.splice(index, 1)" style="margin-left: 10px"></el-button>
        <el-button icon="el-icon-plus" circle @click="handleLabelAdd(index)"></el-button>
      </div>
130 131 132
      <div style="text-align: center">
        <el-button type="primary" @click="handleLabelSubmit">{{$t('修改箱号')}}</el-button>
      </div>
133 134
    </el-card>

dcy's avatar
dcy committed
135
    <h2 v-if="orderSpecialNeeds.length > 0">{{$t('特殊需求')}}</h2>
Marcus's avatar
Marcus committed
136 137
    <el-form ref="form" :model="form" label-width="200px">
      <el-form-item :label="$i18n.locale === 'en_US' ? item.labelEn : item.label" v-for="(item, index) in orderSpecialNeeds" :key="item.value" style="width: 600px">
138 139 140 141 142 143 144 145 146
        <el-input-number v-model="form.orderSpecialNeedReceivableReqVoList[index].receivableMoney" type="number" :min="0" step-strictly :placeholder="$t('请输入') + ($i18n.locale === 'en_US' ? item.labelEn : item.label)"></el-input-number>
        <el-select v-model="form.orderSpecialNeedReceivableReqVoList[index].receivableMoneyCurrency" :placeholder="$t('请选择')" style="width: 100px">
          <el-option
            v-for="item in currencyList"
            :key="item.id"
            :label="$i18n.locale === 'en_US' ? item.titleEn : item.titleZh"
            :value="item.id">
          </el-option>
        </el-select>
Marcus's avatar
Marcus committed
147 148
      </el-form-item>

dcy's avatar
dcy committed
149
      <h2>{{$t('订单数据')}}</h2>
150
      <el-form-item :label="$t('总方数')" style="width: 380px">
dcy's avatar
dcy committed
151
        <el-input v-model="form.sumVolume" :placeholder="$t('请输入总方数')" readonly>
152 153 154
          <span slot="append"></span>
        </el-input>
      </el-form-item>
155
      <el-form-item :label="$t('总重量')" style="width: 380px">
dcy's avatar
dcy committed
156
        <el-input v-model="form.sumWeight" :placeholder="$t('请输入总重量')" readonly>
157 158 159
          <span slot="append">kg</span>
        </el-input>
      </el-form-item>
160 161 162 163 164 165

      <el-card style="margin-top: 15px;">
        <div slot="header" class="clearfix">
          <span style="font-size: 18px">{{$t('入仓影像')}}</span>
        </div>
        <div>
166
          <image-and-video-upload readonly :fileSize="50" :isShowTip="true" :value="form.urls" ></image-and-video-upload>
167 168
        </div>
      </el-card>
Marcus's avatar
Marcus committed
169
      <div style="text-align: center;margin-top: 15px" v-if="!(order.status !== 3 && isEdit)">
dcy's avatar
dcy committed
170 171
        <el-button @click="escapeBol = true;" type="primary">{{$t('转异')}}</el-button>
        <el-button type="primary" @click="finishVisible = true">{{$t('完成入仓')}}</el-button>
172
      </div>
Marcus's avatar
Marcus committed
173
    </el-form>
黄卓's avatar
黄卓 committed
174

175
    <warehouse-area-dialog ref="area" :visible.sync="areaVisible" v-model="form.orderLocationCreateReqVOList"
176
                           :order-id="orderId" :warehouse-id="warehouseId" :is-editing="isEdit"></warehouse-area-dialog>
黄卓's avatar
黄卓 committed
177

Marcus's avatar
Marcus committed
178 179
<!--  完成入仓  -->
    <el-dialog
dcy's avatar
dcy committed
180
      :title="$t('确认入仓')"
Marcus's avatar
Marcus committed
181 182
      :visible.sync="finishVisible"
      width="300px">
dcy's avatar
dcy committed
183
      <div style="text-align: center">{{$t('在完成入仓前,您还可以')}}</div>
Marcus's avatar
Marcus committed
184
      <div style="text-align: center;padding: 15px 0">
185
<!--        <el-button type="info" @click="areaVisible = true">{{$t('选择储位')}}</el-button>-->
dcy's avatar
dcy committed
186
        <el-button type="info" @click="isShowPrintTag = true">{{$t('打印标签')}}</el-button>
Marcus's avatar
Marcus committed
187 188
      </div>
      <div style="text-align: center">
dcy's avatar
dcy committed
189
        <el-button type="primary" @click="handleSubmit()">{{$t('确 定')}}</el-button>
Marcus's avatar
Marcus committed
190 191
      </div>
    </el-dialog>
dcy's avatar
dcy committed
192
    <el-dialog :title="order.orderNo + $t('订单转异')" center :visible.sync="escapeBol">
193 194
      <el-form label-position="top" label-width="200" ref="exceptionForm" :model="form" :rules="exceptionRules">
        <el-form-item :label="$t('原因类型')" prop="manualExceptionType">
dcy's avatar
dcy committed
195 196
          <dict-selector v-model="form.manualExceptionType" form-type="checkbox" :type="DICT_TYPE.MANUAL_EXCEPTION_TYPE" multiple ></dict-selector>
        </el-form-item>
197
        <el-form-item :label="$t('附件')">
dcy's avatar
dcy committed
198 199
          <image-upload v-model="form.exceptionUrls"></image-upload>
        </el-form-item>
dcy's avatar
dcy committed
200
        <el-form-item :label="$t('详细信息')">
dcy's avatar
dcy committed
201 202 203 204
          <el-input v-model="form.descZh" type="textarea"></el-input>
        </el-form-item>
      </el-form>
      <span slot="footer" class="dialog-footer">
205
        <el-button  type="primary" @click="handleException">{{$t('确认并完成入仓')}}</el-button>
dcy's avatar
dcy committed
206
        <el-button @click="escapeBol = false">{{$t('取消')}}</el-button>
dcy's avatar
dcy committed
207 208
      </span>
    </el-dialog>
黄卓's avatar
黄卓 committed
209

210 211 212
    <print-tag v-if="isShowPrintTag" :order-id="orderId" @close="isShowPrintTag = false"></print-tag>

    <print-warehouse-receipt v-if="isShowPrint" :order-id="orderId" @close="isShowPrint = false" />
Marcus's avatar
Marcus committed
213 214 215 216 217
  </div>
</template>

<script>
import {getCurrencyList} from "@/api/ecw/currency"
Marcus's avatar
Marcus committed
218
import {
219
  getLabelByOrder, getLabelWaitInByOrder,
Marcus's avatar
Marcus committed
220 221
  getOrder,
  getOrderWarehouseIn,
黄卓's avatar
黄卓 committed
222
  getSpecialListByOrderId, listByOrderId,
黄卓's avatar
黄卓 committed
223
  orderWarehouseInFinish, orderWarehouseInUpdateLabel,
224
  rollbackDelete, warehousePictureList
黄卓's avatar
黄卓 committed
225
} from '@/api/ecw/order'
黄卓's avatar
黄卓 committed
226 227
import orderBaseInfo from "@/components/OrderBaseInfo"
import WarehouseAreaDialog from '@/components/WarehouseAreaDialog'
Marcus's avatar
Marcus committed
228
import {DICT_TYPE} from "@/utils/dict"
Marcus's avatar
Marcus committed
229
import PrintTag from "@/views/ecw/order/components/PrintTag"
230
import PrintWarehouseReceipt from "@/views/ecw/order/components/PrintWarehouseReceipt"
dcy's avatar
dcy committed
231
import imageUpload from "@/components/ImageUpload";
Marcus's avatar
Marcus committed
232
import {parseTime} from "@/utils/ruoyi"
233
import ImageAndVideoUpload from '@/components/ImageAndVideoUpload'
Marcus's avatar
Marcus committed
234
import Warehouse from "@/views/ecw/order/warehousing/components/Warehouse"
Marcus's avatar
Marcus committed
235 236
export default {
  name: "Warehousing",
Marcus's avatar
Marcus committed
237 238

  components: {
黄卓's avatar
黄卓 committed
239
    orderBaseInfo,
黄卓's avatar
黄卓 committed
240
    WarehouseAreaDialog,
241
    PrintTag,
dcy's avatar
dcy committed
242
    PrintWarehouseReceipt,
黄卓's avatar
黄卓 committed
243
    imageUpload,
244
    ImageAndVideoUpload,
Marcus's avatar
Marcus committed
245
    Warehouse
Marcus's avatar
Marcus committed
246 247
  },

Marcus's avatar
Marcus committed
248
  mounted() {
黄卓's avatar
黄卓 committed
249
    if(this.$route.query.id){
250
      this.orderId = parseInt(this.$route.query.id || undefined)
251
      this.getOrderItemList()
Marcus's avatar
Marcus committed
252
      getSpecialListByOrderId(this.orderId).then(r => this.specialList = r.data)
253 254 255 256 257 258 259 260

      Promise.all([
        this.getOrder(),
        listByOrderId({ orderId: this.orderId }).then(r => {
          this.form.orderLocationCreateReqVOList = r.data
        })
      ]).then(() => {
        // 等待仓库id和已选的储位后初始化储位信息
261 262 263 264
        this.$nextTick(() => {
          this.$refs.area.updateArea()
        })
      })
黄卓's avatar
黄卓 committed
265
    }
Marcus's avatar
Marcus committed
266 267
    getCurrencyList().then(res => this.currencyList = res.data)
  },
黄卓's avatar
黄卓 committed
268

Marcus's avatar
Marcus committed
269 270
  data() {
    return {
Marcus's avatar
Marcus committed
271
      parseTime,
Marcus's avatar
Marcus committed
272
      DICT_TYPE,
黄卓's avatar
黄卓 committed
273
      areaVisible: false,
Marcus's avatar
Marcus committed
274
      finishVisible: false,
黄卓's avatar
黄卓 committed
275
      warehousingVisible: false,
Marcus's avatar
Marcus committed
276
      form: {
黄卓's avatar
黄卓 committed
277
        orderSpecialNeedReceivableReqVoList: [],
dcy's avatar
dcy committed
278 279 280
        orderLocationCreateReqVOList: [],
        exceptionUrls:[],
        descZh:'',
281
        manualExceptionType:[],
282 283 284
        urls: [],
        sumVolume: '',
        sumWeight: '',
Marcus's avatar
Marcus committed
285 286
      },
      currencyList:[],
黄卓's avatar
黄卓 committed
287
      order: {},
Marcus's avatar
Marcus committed
288
      orderId: undefined,
Marcus's avatar
Marcus committed
289
      orderItemList: [],
Marcus's avatar
Marcus committed
290
      specialList: [],
Marcus's avatar
Marcus committed
291
      warehousing: undefined,
292
      isShowPrintTag: false,
dcy's avatar
dcy committed
293 294
      isShowPrint: false,
      escapeBol:false,
黄卓's avatar
黄卓 committed
295 296 297 298 299 300 301 302 303

      label: {
        "orderId": 0,
        "orderLabelDtoList": [
          {
            "end": 0,
            "start": 0
          }
        ]
304 305 306 307 308 309 310 311 312 313 314 315 316
      },
      exceptionRules: {
        manualExceptionType: [
          { required: true, message: '请勾选原因类型', trigger: 'change' },
          {
            validator: (rule, value, callback) => {
              if (value.length <= 0) {
                callback(new Error('请勾选原因类型'))
              }
              callback()
            }, trigger: 'change'
          }
        ]
黄卓's avatar
黄卓 committed
317
      }
黄卓's avatar
黄卓 committed
318 319 320 321
    }
  },

  methods: {
322 323 324 325
    getOrderItemList(){
      this.orderItemList = []
      return getOrderWarehouseIn(this.orderId).then(r => this.orderItemList = r.data)
    },
Marcus's avatar
Marcus committed
326 327
    getList(){
      this.getOrder()
328
      this.getOrderItemList()
Marcus's avatar
Marcus committed
329
    },
330 331 332 333 334 335 336 337
    getWarehousePictureList(){
      return warehousePictureList({
        bizId: this.order.orderId,
        type: 1
      }).then(r =>{
        this.form.urls = r.data.map(i =>i.url)
      })
    },
黄卓's avatar
黄卓 committed
338 339 340 341 342 343 344 345 346 347
    include(){
      return (state, arr) => {
        return arr.indexOf(state) > -1
      }
    },
    exclude(){
      return (state, arr) => {
        return arr.indexOf(state) == -1
      }
    },
348 349 350 351 352 353 354 355 356 357
    handleLabelSubmit(){
      orderWarehouseInUpdateLabel({
        ...this.label,
        orderId: this.orderId
      }).then(r => {
        if (r.code === 0){
          this.$message.success(r.msg || this.$t('修改标签箱号成功'))
        }
      })
    },
358 359 360 361

    // 箱号标签回显
    getLabelByOrder(){
      getLabelByOrder(this.orderId).then(r => {
362
        if (r.code === 0 && !! r.data && r.data.length > 0) {
363
          this.label.orderLabelDtoList = r.data
364 365 366 367 368 369 370 371
        } else {
          // 没有历史数据,查默认值
          getLabelWaitInByOrder(this.orderId).then(r => {
            console.log(r)
            if (r.code === 0 && !! r.data) {
              this.label.orderLabelDtoList = [r.data]
            }
          })
黄卓's avatar
黄卓 committed
372 373 374 375 376 377 378 379 380
        }
      })
    },
    handleLabelAdd(index){
      this.label.orderLabelDtoList.splice(index + 1, 0, {
        "end": '',
        "start": ''
      })
    },
381
    getTowSum(){
382 383 384 385 386 387 388 389
      // let sumVolume = 0
      // let sumWeight = 0
      // this.order.orderItemVOList.forEach(e => {
      //   if (e?.warehouseInInfoVO?.volume) sumVolume += e.warehouseInInfoVO.volume
      //   if (e?.warehouseInInfoVO?.weight) sumWeight += e.warehouseInInfoVO.weight
      // })
      this.form.sumVolume = this.order.sumVolume// || sumVolume
      this.form.sumWeight = this.order.sumWeight// || sumWeight
390 391
    },
    getOrder(){
392
      return getOrder(this.orderId).then(r => {
393 394
        this.order = r.data
        this.getTowSum()
395 396
      }).then(() => {
        this.getLabelByOrder()
397
        this.getWarehousePictureList()
398 399
      })
    },
400 401 402 403 404 405 406 407 408
    specialHas0(){
      let result = false
      this.form.orderSpecialNeedReceivableReqVoList.forEach(e => {
        if (e.receivableMoney === '0' || e.receivableMoney === ''){
          result = true
        }
      })
      return result
    },
409 410 411 412
    handleException() {
      this.$refs.exceptionForm.validate((valid) => {
        if (valid) {
          this.handleSubmit()
413 414
        } else {
          this.$message.warning('请勾选原因类型')
415 416 417
        }
      })
    },
418 419
    async handleSubmit() {
      if (this.specialHas0()) {
dcy's avatar
dcy committed
420 421 422
        const confirm = await this.$confirm(this.$t('有特需费用为0或未填写,请问是否继续?'), this.$t('注意'), {
          confirmButtonText: this.$t('继续'),
          cancelButtonText: this.$t('取消'),
423 424 425 426 427 428
          type: 'warning'
        })
        if (confirm !== 'confirm'){
          return
        }
      }
429
      let form = {
Marcus's avatar
Marcus committed
430
        orderSpecialNeedReceivableReqVoList: this.form.orderSpecialNeedReceivableReqVoList,
431
        "orderLocationCreateReqVOList": this.form.orderLocationCreateReqVOList,
黄卓's avatar
黄卓 committed
432
        "orderId": this.order.orderId,
Marcus's avatar
Marcus committed
433
        // urls: this.form.urls,
434
        sumVolume: this.form.sumVolume,
435 436
        sumWeight: this.form.sumWeight,
        isAppend: this.isAdd
dcy's avatar
dcy committed
437
      }
438 439 440 441 442 443

      // 标签箱号
      if (this.order.parentOrderId) {
        form.labelList = this.label.orderLabelDtoList || []
      }

444
      if (this.escapeBol) {
445
        form.exceptionUrls = this.form.exceptionUrls.length !== 0 ? this.form.exceptionUrls?.split(',') : []
446
        form.descZh = this.form.descZh;
447
        form.manualExceptionType = this.form.manualExceptionType.join(',')
448
      }
449
      orderWarehouseInFinish(form).then(r => {
Marcus's avatar
Marcus committed
450
        if (r.code === 0) {
dcy's avatar
dcy committed
451
          this.escapeBol = false;
452
          this.finishVisible = false
dcy's avatar
dcy committed
453
          const message = !r.data ? this.$t('该订单已成功入仓,是否打印?') : `<h3>${this.$t('货物已入仓,存在异常')}</h3>${this.$t('该订单已成功入仓,是否打印?')}`
Marcus's avatar
Marcus committed
454
          this.$confirm(
455
            message,
dcy's avatar
dcy committed
456
            this.$t('货物已入仓'),
Marcus's avatar
Marcus committed
457
            {
dcy's avatar
dcy committed
458 459
              confirmButtonText: this.$t(''),
              cancelButtonText: this.$t(''),
460
              dangerouslyUseHTMLString: true
Marcus's avatar
Marcus committed
461
            }
462
          ).then(() => {
463
            this.isShowPrint = true
464
          }).catch(() => {
Marcus's avatar
Marcus committed
465
            // this.$store.dispatch('tagsView/delVisitedView')
dcy's avatar
dcy committed
466
            this.$message.success(this.$t('入仓成功'))
467
            this.$tab.closePage()
Marcus's avatar
Marcus committed
468 469
          })
        }
Marcus's avatar
Marcus committed
470 471
      })
    },
Marcus's avatar
Marcus committed
472
    handleWarehousingReturn(item){
dcy's avatar
dcy committed
473 474 475
      this.$confirm(item.prodTitleZh + this.$t('退仓后不可恢复,是否确认退仓?'), this.$t('确定要退仓?'), {
        confirmButtonText: this.$t('确定'),
        cancelButtonText: this.$t('取消'),
Marcus's avatar
Marcus committed
476 477
        type: 'warning'
      }).then(() => {
Marcus's avatar
Marcus committed
478
        rollbackDelete({
Marcus's avatar
Marcus committed
479
          "orderId": item.orderId,
Marcus's avatar
Marcus committed
480
          "orderItemId": item.orderItemId
Marcus's avatar
Marcus committed
481 482 483
        }).then(() => {
          this.$message({
            type: 'success',
dcy's avatar
dcy committed
484
            message: this.$t('货物退仓成功!')
Marcus's avatar
Marcus committed
485
          });
Marcus's avatar
Marcus committed
486

487
          this.getOrderItemList()
488
          this.getOrder()
Marcus's avatar
Marcus committed
489 490
        })

黄卓's avatar
黄卓 committed
491
      }).catch(e => {
Marcus's avatar
Marcus committed
492
      });
Marcus's avatar
Marcus committed
493
    }
Marcus's avatar
Marcus committed
494 495 496
  },

  watch: {
Marcus's avatar
Marcus committed
497 498
    orderSpecialNeeds(val){
      val.forEach(e => {
499
        this.form.orderSpecialNeedReceivableReqVoList.push({
Marcus's avatar
Marcus committed
500
          "id": e.id,
501 502
          "receivableMoney": e.transFee || '',
          "receivableMoneyCurrency": e.transCurrency || 3
Marcus's avatar
Marcus committed
503 504 505 506 507 508
        })
      })
    }
  },

  computed: {
509 510 511 512 513 514
    // 根据orderItemId获取入仓item
    wareItem(){
      return orderItemId => {
        return this.orderItemList.find(item => item.orderItemId == orderItemId)
      }
    },
515 516 517
    isAdd() {
      return this.$route.path === "/order/warehousing-add"
    },
黄卓's avatar
黄卓 committed
518
    isEdit() {
519
      return this.$route.path === "/order/warehousing-update"
黄卓's avatar
黄卓 committed
520 521
    },
    title() {
Marcus's avatar
Marcus committed
522
      return this.$i18n.locale === 'en_US' ? this.$route.meta.titleEn : this.$route.name
黄卓's avatar
黄卓 committed
523
    },
Marcus's avatar
Marcus committed
524 525 526 527 528 529 530 531
    orderSpecialNeedsDict() {
      return this.$store.state.dict.dictDatas.order_special_needs
    },
    orderSpecialNeeds(){
      const result = []
      this.specialList.forEach(e => {
        const t = this.orderSpecialNeedsDict.find(f => f.value === e.advanceType)
        if(t) {
Marcus's avatar
Marcus committed
532
          result.push({...e, label: t.label, labelEn: t.labelEn})
Marcus's avatar
Marcus committed
533 534 535
        }
      })
      return result
536
    },
Marcus's avatar
Marcus committed
537 538
    warehouseId(){
      return this.order?.logisticsInfoDto?.startWarehouseId
Marcus's avatar
Marcus committed
539
    }
Marcus's avatar
Marcus committed
540 541 542 543
  }
}
</script>

Marcus's avatar
Marcus committed
544 545 546 547 548 549 550 551
<style scoped lang="scss">
@import "src/assets/styles/element-variables";
.red{
  color: $--color-danger;
}
.green{
  color: $--color-success;
}
Marcus's avatar
Marcus committed
552
</style>