<template>
<div class="associated-order">
     <h1 class="title">
       {{$t('关联订单')}}-{{orderDetails.orderNo}}
     </h1>
  <el-divider></el-divider>
  <orde-details-form  :details ="orderDetails" ></orde-details-form>
  <el-divider></el-divider>
  <el-form inline label-width="100px">
    <el-form-item :label="$t('订单号')"><div class="content">
      <el-input v-model.trim="params.relateOrderNo"></el-input>
    </div></el-form-item>
    <el-form-item><div class="content">
      <el-button @click="getList">{{$t('查询')}}</el-button>
    </div></el-form-item>
  </el-form>
  <el-divider></el-divider>
   <div style="display: flex;align-items: center;">
     <h1 class="title">
       {{$t('已加入关联订单列表')}}
     </h1>
       <div style="flex: 1;margin-left: 20px;">
         <el-button :disabled="multipleSelection.length === 0" type="primary" @click="batchGuanlianOrderByOrderId(multipleSelection.map(e =>({orderId:orderId,relateOrderId:e.orderId})))" >{{$t('批量移出')}}</el-button>
       </div>
     <div>
        <el-button type="primary" @click="$router.push(`/order/add-associated-order/${orderId}`)">{{$t('添加关联订单')}}</el-button>
     </div>
   </div>
   <el-table :data="list"  @selection-change="handleSelectionChange" >
     <el-table-column
       type="selection"
       width="55">
     </el-table-column>
     <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('货物数据')">
       <template v-slot="{row}">
        <div>
          {{row.orderBackVO.costVO.totalNum}}{{$t('箱')}}
        </div>
         <div>
          {{row.orderBackVO.costVO.totalVolume}}m³
        </div>
         <div>
          {{row.orderBackVO.costVO.totalWeight}}KG
        </div>
       </template>
     </el-table-column>
     <el-table-column :label="$t('入仓时间')" prop="orderBackVO.rucangTime">
       <template v-slot="{row}">
         {{parseTime(row.orderBackVO.rucangTime)}}
       </template>
     </el-table-column>
     <el-table-column :label="$t('状态')" prop="status" >
       <template v-slot:default="scope">
         <dict-tag :value="scope.row.orderBackVO.status" :type="DICT_TYPE.ORDER_STATUS" ></dict-tag>
       </template>
     </el-table-column>
     <el-table-column :label="$t('操作人')" prop="creator">
       <template v-slot="{row}">
         {{(userList.find( i => row.creator == i.id) || {}).nickname}}
       </template>
     </el-table-column>
     <el-table-column :label="$t('操作时间')">
       <template v-slot="{row}">
         {{parseTime(row.createTime)}}
       </template>
     </el-table-column>
     <el-table-column :label="$t('操作')">
       <template v-slot:default='scope'>
         <el-button type="text"  @click ="guanlianOrderByOrderId(scope.row.relateOrderId)">
           {{$t('移出')}}
         </el-button>
       </template>
     </el-table-column>
   </el-table>
  <pagination v-show="total > 0" :total="total" :page.sync="params.page" :limit.sync="params.rows"
              @pagination="getList" />
</div>
</template>

<script>
//关联订单
import ordeDetailsForm from "@/views/ecw/order/components/ordeDetailsForm";
import {getOrder} from "@/api/ecw/order";
import {
  deleteBatchGuanlianOrderByOrderId,
  deleteGuanlianOrderByOrderId,
  guanlianList,
} from "@/api/ecw/associatedOrder";
import {getDictDatas,DICT_TYPE} from '@/utils/dict'
import Template from "@/views/cms/template";
import {listSimpleUsers} from "@/api/system/user";
export default {
  name: "associatedOrder",
  props:{
    orderId:[String,Boolean]
  },
  components:{
    Template,
    ordeDetailsForm
  },
  computed:{
    check(){
      let flag = true;
      if(this.list.length === 1 && this.list[0].status === 5){
         flag = false
      }else {

      }
    }
  },
  data(){
    return {
      orderDetails:{},
      params:{
        orderId:undefined,
        relateOrderNo:undefined,
        page:1,
        rows:10
      },
      list:[],
      DICT_TYPE,
      getDictDatas,
      multipleSelection:[],
      userList:[],
      total:0,
    }
  },
  created() {
    this.params.orderId = this.orderId;
    this.getList();
    getOrder(this.orderId).then( r =>{
      if(r.code === 0){
        this.orderDetails = r.data;
      }
    })
    listSimpleUsers().then(r => this.userList = r.data)
  },
  methods:{
    getList(){
      guanlianList(this.params).then(r => {
        if(r.code === 0){
          this.list = r.data.list;
          this.total = r.data.total;
        }
      })
    },
    guanlianOrderByOrderId(id){
      deleteGuanlianOrderByOrderId({orderId:this.orderId,relateOrderId:id}).then(r =>{
        if(r.code === 0){
          this.getList()
          this.$message.success(this.$t('操作成功'));
        }
      })
    },
    batchGuanlianOrderByOrderId(val){
      deleteBatchGuanlianOrderByOrderId(val).then(r => {
        this.getList()
        this.$message.success(this.$t('操作成功'));
        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>
