mutexOrder.vue 5.14 KB
Newer Older
dcy's avatar
dcy committed
1 2 3
<template>
  <div class="associated-order">
    <h1 class="title">
dcy's avatar
dcy committed
4
      {{$t('互斥订单')}}-{{orderDetails.orderNo}}
dcy's avatar
dcy committed
5 6 7 8 9
    </h1>
    <el-divider></el-divider>
    <orde-details-form  :details ="orderDetails" ></orde-details-form>
    <el-divider></el-divider>
    <el-form inline label-width="100px">
dcy's avatar
dcy committed
10
      <el-form-item :label="$t('订单号')"><div class="content">
dcy's avatar
dcy committed
11
        <el-input v-model.trim="params.mutualOrderNo"></el-input>
dcy's avatar
dcy committed
12 13
      </div></el-form-item>
      <el-form-item><div class="content">
dcy's avatar
dcy committed
14
        <el-button @click="getList">{{$t('查询')}}</el-button>
dcy's avatar
dcy committed
15 16 17 18 19
      </div></el-form-item>
    </el-form>
    <el-divider></el-divider>
    <div style="display: flex;align-items: center;">
      <h1 class="title">
dcy's avatar
dcy committed
20
        {{$t('已加入互斥订单列表')}}
dcy's avatar
dcy committed
21 22
      </h1>
      <div style="flex: 1;margin-left: 20px;">
邓春圆's avatar
邓春圆 committed
23
        <el-button :disabled="multipleSelection.length === 0" type="primary" @click="batchGuanlianOrderByOrderId(multipleSelection.map(e =>({orderId:orderId,mutualOrderId:e.mutualOrderId})))" >{{$t('批量移出')}}</el-button>
dcy's avatar
dcy committed
24 25
      </div>
      <div>
dcy's avatar
dcy committed
26
        <el-button type="primary" @click="$router.push('/order/not-mutex-order/'+ orderId)" >{{$t('添加互斥订单')}}</el-button>
dcy's avatar
dcy committed
27 28 29 30 31 32 33
      </div>
    </div>
    <el-table :data="list"  @selection-change="handleSelectionChange" >
      <el-table-column
        type="selection"
        width="55">
      </el-table-column>
dcy's avatar
dcy committed
34 35 36 37
      <el-table-column type="index" :label="$t('序号')"></el-table-column>
      <el-table-column :label="$t('订单号')" prop="orderBackVO.orderNo"></el-table-column>
      <el-table-column :label="$t('唛头')" prop="orderBackVO.marks"></el-table-column>
      <el-table-column :label="$t('货物数据')">
38 39
        <template v-slot="{row}">
          <div>
dcy's avatar
dcy committed
40
            {{row.orderBackVO.costVO.totalNum}}{{$t('')}}
41 42 43 44 45
          </div>
          <div>
            {{row.orderBackVO.costVO.totalVolume}}
          </div>
          <div>
46
            {{row.orderBackVO.costVO.totalWeight}}KG
47 48 49
          </div>
          </template>
      </el-table-column>
dcy's avatar
dcy committed
50
      <el-table-column :label="$t('入仓时间')">
51 52 53 54
        <template v-slot="{row}">
          {{parseTime(row.orderBackVO.rucangTime)}}
        </template>
      </el-table-column>
dcy's avatar
dcy committed
55
      <el-table-column :label="$t('状态')" prop="status" >
dcy's avatar
dcy committed
56
        <template v-slot:default="scope">
邓春圆's avatar
邓春圆 committed
57
          {{scope.row.orderBackVO.statusMsg}}
dcy's avatar
dcy committed
58 59
        </template>
      </el-table-column>
dcy's avatar
dcy committed
60
      <el-table-column :label="$t('操作人')">
dcy's avatar
dcy committed
61 62 63 64
        <template v-slot="{row}">
          {{userList.find( i => row.creator == i.id).nickname}}
        </template>
      </el-table-column>
dcy's avatar
dcy committed
65
      <el-table-column :label="$t('操作时间')" prop="createTime">
66 67 68 69
        <template v-slot="{row}">{{
            parseTime(row.orderBackVO.createTime)
          }}</template>
      </el-table-column>
dcy's avatar
dcy committed
70
      <el-table-column :label="$t('操作')">
71 72
        <template v-slot='{row}'>
          <el-button type="text"  @click ="guanlianOrderByOrderId(row)">
dcy's avatar
dcy committed
73
            {{$t('移出')}}
dcy's avatar
dcy committed
74 75 76 77
          </el-button>
        </template>
      </el-table-column>
    </el-table>
dcy's avatar
dcy committed
78 79
    <pagination v-show="total > 0" :total="total" :page.sync="params.page" :limit.sync="params.rows"
                @pagination="getList" />
dcy's avatar
dcy committed
80 81 82 83 84 85 86 87 88 89 90 91 92
  </div>
</template>

<script>
//关联订单
import ordeDetailsForm from "@/views/ecw/order/components/ordeDetailsForm";
import {getOrder} from "@/api/ecw/order";
import {
  deleteBatchGuanlianOrderByOrderId,
  deleteGuanlianOrderByOrderId,
  guanlianList,
} from "@/api/ecw/mutexOrder";
import {getDictDatas,DICT_TYPE} from '@/utils/dict'
93
import Template from "@/views/cms/template";
dcy's avatar
dcy committed
94
import {listSimpleUsers} from "@/api/system/user";
dcy's avatar
dcy committed
95 96 97 98 99 100
export default {
  name: "mutexOrder",
  props:{
    orderId:[String,Boolean]
  },
  components:{
101
    Template,
dcy's avatar
dcy committed
102 103 104 105 106 107 108
    ordeDetailsForm
  },
  data(){
    return {
      orderDetails:{},
      params:{
        orderId:undefined,
dcy's avatar
dcy committed
109 110
        page:1,
        rows:10,
dcy's avatar
dcy committed
111
      },
dcy's avatar
dcy committed
112
      total:0,
dcy's avatar
dcy committed
113 114 115
      list:[],
      DICT_TYPE,
      getDictDatas,
dcy's avatar
dcy committed
116 117
      multipleSelection:[],
      userList:[]
dcy's avatar
dcy committed
118 119 120 121 122 123 124 125 126 127
    }
  },
  created() {
    this.params.orderId = this.orderId;
    this.getList();
    getOrder(this.orderId).then( r =>{
      if(r.code === 0){
        this.orderDetails = r.data;
      }
    })
dcy's avatar
dcy committed
128
    listSimpleUsers().then(r => this.userList = r.data)
dcy's avatar
dcy committed
129 130 131 132 133
  },
  methods:{
    getList(){
      guanlianList(this.params).then(r => {
        if(r.code === 0){
dcy's avatar
dcy committed
134 135
          this.list = r.data.list;
          this.total = r.data.total;
dcy's avatar
dcy committed
136 137 138
        }
      })
    },
139 140
    guanlianOrderByOrderId(row){
      deleteGuanlianOrderByOrderId({orderId:this.orderId,mutualOrderId:row.mutualOrderId}).then(r =>{
dcy's avatar
dcy committed
141 142
        if(r.code === 0){
          this.getList()
dcy's avatar
dcy committed
143
          this.$message.success(this.$t('操作成功'));
dcy's avatar
dcy committed
144 145 146 147 148 149
        }
      })
    },
    batchGuanlianOrderByOrderId(val){
      deleteBatchGuanlianOrderByOrderId(val).then(r => {
        this.getList()
dcy's avatar
dcy committed
150
        this.$message.success(this.$t('操作成功'));
dcy's avatar
dcy committed
151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171
        this.multipleSelection = []
      })
    },
    handleSelectionChange(val) {
      this.multipleSelection = val;
    }
  },

}
</script>

<style scoped lang="scss">
.associated-order{
  padding: 20px;
  box-sizing: border-box;
  .title{
    font-size: 30px;
    font-weight: 600;
  }
}
</style>