<template>
<div class="main-contain">
<div class="position">
    <bread-crumb :crumbs="crumbs"></bread-crumb>
</div>
<div class="app-container"  v-loading="loading">
    <div style="justify-content: space-between;margin: 0px 0 12px 0;display: flex;align-items: center;">
    <div>
        <span style="color:red">*</span><span>供应商:</span>
        <el-select v-model="supplier_name" style="width:140px;margin-right:10px;" placeholder="请选择"
        @change="changeTypeName">
        <el-option
            v-for="item in supplyList"
            :key="item.id"
            :label="item.supplier_name"
            :value="item.id">
        </el-option>
        </el-select>
        <span>单据日期:</span>
        <el-date-picker
        size="small"
        v-model="start_time"
        prefix-icon="el-icon-date"
        :editable="false"
        style="width: 196px;"
        type="date"
        placeholder="选择日期时间"
        align="right"
        format="yyyy-MM-dd"
        value-format="yyyy-MM-dd"
        @change="startTimeChange"
        ></el-date-picker>
        <!-- <span>交货日期:</span> -->
        <!-- <el-date-picker
            size="small"
            v-model="end_time"
            prefix-icon="el-icon-date"
            :editable="false"
            style="width: 196px;"
            type="date"
            placeholder="选择日期时间"
            align="right"
            format="yyyy-MM-dd"
            value-format="yyyy-MM-dd"
            @change="endTimeChange"
        ></el-date-picker> -->
        <span>单据编码:{{good_number}}</span>

    </div>
    <div>
        <el-button size="small" type="primary" @click="updateGoodOrder">修改</el-button>
        <el-button size="small" type="primary"  @click="checkGoodOrder">审核</el-button>

       
    </div>
    </div>

   <el-form :rules="tableRules" :model="recordInfo" ref="tableForm">
    <el-table
    :row-style="{ color: '#303133' }"
    :header-cell-style="{
        backgroundColor: 'rgb(245, 247, 250)',
        color: '#606266'
    }"
    :data="recordInfo.tableList"
    :class="signAndWeighBoxPatients"
    border
    style="width: 100%"
    max-height="450"
    >
    <el-table-column align="center" width="200px">
        <template slot="header" slot-scope="scope">
            <span>商品<span style="color: red">*</span></span>
        </template>
        <template slot-scope="scope">
           <el-form-item :prop="'tableList.' + scope.$index + '.name'" :rules='tableRules.name'>
            <el-select v-model="scope.row.name" style="width:160px;" filterable placeholder="请选择" @change="changeName"   @input="changeGoodName(scope.$index)" :disabled="disabled">
                <el-option
                    v-for="(item,index) in tabList"
                    :key="index"
                    :label="item.supply_name"
                    :value="item">
                </el-option>
             </el-select>
           </el-form-item>
        </template>
    </el-table-column>
    <el-table-column  align="center" width="150px">
        <template slot="header" slot-scope="scope">
            <span>商品类别</span>
        </template>
        <template slot-scope="scope">
            <el-input v-model="scope.row.supply_type" style="width:120px" :disabled="true"></el-input>
            <div style="visibility: hidden">/</div>
        </template>
    </el-table-column>
    <el-table-column label="规格&单位" align="center" width="120px">
        <template slot-scope="scope">
            <el-input v-model="scope.row.supply_specification_name" style="width:100px" :disabled="true"></el-input>
            <div style="visibility: hidden">/</div>
        </template>
    </el-table-column>
     <el-table-column label="单位" align="center" width="120px">
        <template slot="header" slot-scope="scope">
            <span>单位<span style="color: red">*</span></span>
        </template>
        <template slot-scope="scope">
          <el-form-item :prop="'tableList.' + scope.$index + '.supply_unit'" :rules='tableRules.supply_unit'>
            <el-select v-model="scope.row.supply_unit" style="width:100px;" filterable placeholder="请选择"  :disabled="disabled">
                    <el-option
                        v-for="(item,index) in scope.row.unitList"
                        :key="index"
                        :label="item.name"
                        :value="item.name">
                    </el-option>
             </el-select>
          </el-form-item>  
        </template>
    </el-table-column>
    <el-table-column label="批号" align="center" width="130px">
         <template slot="header" slot-scope="scope">
            <span>批号<span style="color: red">*</span></span>
        </template>
        <template slot-scope="scope">
           <el-form-item  :prop="'tableList.' + scope.$index + '.supply_batch_number'" :rules='tableRules.supply_batch_number'>
             <el-input v-model="scope.row.supply_batch_number" style="width:80px" :disabled="disabled"></el-input>
          </el-form-item>
        </template>
    </el-table-column>
     <el-table-column label="有效日期" align="center" width="200px">
        <template slot="header" slot-scope="scope">
              <span>有效日期<span style="color: red">*</span></span>
            </template>
            <template slot-scope="scope">
              <el-form-item  :prop="'tableList.' + scope.$index + '.supply_expiry_date'"
                :rules="tableRules.supply_expiry_date">
                <el-date-picker prefix-icon="el-icon-date" style="width:180px" v-model="scope.row.supply_expiry_date"
                                type="date" placeholder="选择日期时间" format="yyyy-MM-dd"
                                value-format="yyyy-MM-dd">
                </el-date-picker>
             </el-form-item>
       </template>
    </el-table-column>
    <el-table-column label="可用库存" align="center" width="100px">
        <template slot-scope="scope">
            <el-input v-model="scope.row.supply_total" style="width:80px" :disabled="true"></el-input>
            <div style="visibility: hidden">/</div>
        </template>
    </el-table-column>
    <el-table-column label="数量" align="center" width="120px">
        <template slot="header" slot-scope="scope">
            <span>数量<span style="color: red">*</span></span>
        </template>
        <template slot-scope="scope">
          <el-form-item  :prop="'tableList.' + scope.$index + '.supply_count'" :rules='tableRules.supply_count'>
             <el-input v-model="scope.row.supply_count" style="width:80px" :disabled="disabled"></el-input>
          </el-form-item>
        </template>
    </el-table-column>

    <el-table-column label="采购单价" align="center" width="120px">
        <template slot-scope="scope">
        <el-input v-model="scope.row.supply_price" style="width:80px" :disabled="disabled"></el-input>
        <div style="visibility: hidden">/</div>
        </template>
    </el-table-column>

    <el-table-column label="采购金额" align="center" width="120px">
        <template slot-scope="scope">
          {{calculate(scope.row.supply_count * scope.row.supply_price)}}
        </template>
    </el-table-column>
    <el-table-column label="生产日期" align="center" width="200px">
         <template slot="header" slot-scope="scope">
            <span>生产日期<span style="color: red">*</span></span>
        </template>
        <template slot-scope="scope">
          <el-form-item  :prop="'tableList.' + scope.$index + '.supply_product_date'"
                :rules="tableRules.supply_product_date">
                <el-date-picker prefix-icon="el-icon-date" style="width: 180px" v-model="scope.row.supply_product_date"
                                type="date" placeholder="选择日期时间" format="yyyy-MM-dd"
                                value-format="yyyy-MM-dd">
                </el-date-picker>
          </el-form-item>
        </template>
    </el-table-column>
    <el-table-column label="生产厂家" align="center" width="200px">
        <template slot-scope="scope">
         <el-select size="small" v-model="scope.row.supply_manufacturer" filterable placeholder="请选择厂家" :disabled="true">
                <el-option
                  v-for="(option, index) in manufactuerList"
                  :key="index"
                  :label="option.manufacturer_name"
                  :value="option.id">
                </el-option>
          </el-select>
          <div style="visibility: hidden">/</div>
        </template>
    </el-table-column>


    <el-table-column label="批准文号" align="center" width="200px">
        <template slot-scope="scope">
        <el-input v-model="scope.row.supply_license_number" style="width:160px" :disabled="true"></el-input>
        <div style="visibility: hidden">/</div>
        </template>
    </el-table-column>

     <el-table-column label="关联采购订单号" align="center" width="200px">
        <template slot-scope="scope">
        <el-input v-model="scope.row.order_number" style="width:160px" :disabled="true"></el-input>
        <div style="visibility: hidden">/</div>
        </template>
    </el-table-column>

    <el-table-column label="备注" align="center" width="200px">
        <template slot-scope="scope">
        <el-input v-model="scope.row.supply_remake" style="width:160px" :disabled="disabled"></el-input>
        <div style="visibility: hidden">/</div>
        </template>
    </el-table-column>

    <el-table-column label="操作" align="center" width="150px" fixed="right" >
        <template slot-scope="scope">
        <el-tooltip class="item" effect="dark" content="新增" placement="top" >
            <el-button
                size="mini"
                type="primary"
                icon="el-icon-circle-plus-outline"
                @click="handleEdit(scope.$index, scope.row)">
            </el-button>
       </el-tooltip>
       <el-tooltip class="item" effect="dark" content="删除" placement="top">
            <el-button
                size="mini"
                type="danger"
                icon="el-icon-delete"
                @click="handleDelete(scope.$index, scope.row)">
            </el-button>
        </el-tooltip>

        </template>
    </el-table-column>
  </el-table>
</el-form>
   <div style="margin-top:10px">
      合计:{{getAllPrice()}} 元
   </div>
   <div style="margin-top:10px">
        <span>优惠率:<el-input style="width:100px" v-model="rate_of_concession"></el-input>%</span>

        <span>优惠金额:<el-input style="width:100px" v-model="discount_amount"></el-input></span>
      
        <span>本次付款:<el-input style="width:100px" v-model="payment"></el-input></span>

        <span>本次欠款:<el-input style="width:100px" v-model="arrearage"></el-input></span>
    </div>
    <!-- <Computed></Computed> -->
</div>

  <!-- <el-dialog
  title="提示"
  :visible.sync="dialogVisible"
  width="30%"
  :before-close="handleClose">
  <span>这是一段信息</span>
  <span slot="footer" class="dialog-footer">
    <el-button @click="dialogVisible = false">取 消</el-button>
    <el-button type="primary" @click="dialogVisible = false">确 定</el-button>
  </span>
  </el-dialog> -->
</div>
</template>

<script>
import Computed from "../../components/Computed/index_1.vue"
import BreadCrumb from "@/xt_pages/components/bread-crumb";
import {uParseTime } from '@/utils/tools'
import {getInitOrder,checkPurchaseOrder,getGoodOrderDetail,updateGoodOrder,getGoodOrderCountList,ModefySupplyWarehousing} from "@/api/supply"
export default {
name: "addPurchaseOrder",
components: {
BreadCrumb,
Computed
},
data() {
return {
    crumbs: [
       { path: false, name: "采购管理" },
       { path: "/supply/good/order/query", name: "编辑供应商" }
    ],
    showTwo:true,
    showOne:false,
    recordInfo: {
      tableList:[],
    },
    keywords: "",
    total: 0,
    multipleSelection: [],
    signAndWeighBoxPatients: "sign-and-weigh-box-patients",
    start_time: "",
    end_time: "",
    page: 1,
    limit: 10,
    goodType: [],
    goodInfo: [],
    org_id:0,
    types:[],
    tyep_name:"",
    form:{
    manufacturer_id:"",
    },
    tabList:[],
    manufactuerList:[],
    currentIndex: 0,
    goodTypeList:[],
    drugTypeList:[],
    supplier_name:"",
    supplyList:[],
    rate_of_concession:"",
    discount_amount:"",
    start_time:"",
    end_time:"",
    tableRules: {
     name: [{ required: true, message: '商品不能为空', trigger: 'blur' }],
     supply_count: [{ required: true, message: '数量不能为空', trigger: 'blur' }],
     supply_batch_number:[{required:true,message:"批号不能为空", trigger: 'blur'}],
     supply_product_date:[{required:true,message:"生产日期不能为空", trigger: 'blur'}],
     supply_expiry_date:[{required:true,message:"有效日期不能为空",trigger: 'blur'}]
   },
   warehousing_id:0,
   number:"",
   loading:false,
   drugList:[],
   goodList:[],
   id:0,
   disabled:false,
   is_check:0,
   dialogVisible:false,
   arrearage:"",
   payment:"",
   good_number:"",
   orderInfo:[],
   showOne:true,
   showTwo:false,
   warese_out_id:0,
  };
},
methods:{

getInitOrder(){
    getInitOrder().then(response=>{
    if(response.data.state == 1){
        var drugList = response.data.data.drugList
        this.manufactuerList = response.data.data.manufactuerList
        this.goodTypeList = response.data.data.goodTypeList
        this.drugTypeList = response.data.data.drugTypeList
        this.supplyList = response.data.data.supplyList
       for(let i=0;i<drugList.length;i++){
          for(let z=0;z<drugList[i].drug_warehouse_info.length;z++){
             if(drugList[i].max_unit == drugList[i].drug_warehouse_info[z].max_unit){
              drugList[i].drug_warehouse_info[z].stock_max_number = drugList[i].drug_warehouse_info[z].stock_max_number * drugList[i].min_number
            }
          }
        for(let j=0;j<this.manufactuerList.length;j++){
            if(drugList[i].manufacturer == this.manufactuerList[j].id){
                drugList[i].manufacturer = this.manufactuerList[j].manufacturer_name
            }
        }
        for(let y=0;y<this.drugTypeList.length;y++){
            if(drugList[i].drug_type == this.drugTypeList[y].value){
            drugList[i].drug_type = this.drugTypeList[y].name
            }
        }
        drugList[i].supply_name =  drugList[i].drug_name + " " + drugList[i].dose +drugList[i].dose_unit+"*"+drugList[i].min_number+ drugList[i].min_unit+"/"+drugList[i].max_unit + " " + drugList[i].manufacturer
        drugList[i].supply_type = drugList[i].drug_type
        drugList[i].supply_specification_name = drugList[i].dose +drugList[i].dose_unit+"*"+drugList[i].min_number+ drugList[i].min_unit+"/"+drugList[i].max_unit
        drugList[i].supply_total = this.getWarehoseInfo(drugList[i].drug_warehouse_info,drugList[i].max_unit,drugList[i].min_unit,drugList[i].min_number)
        drugList[i].supply_count = ""
        drugList[i].supply_total_price = ""
        drugList[i].supply_manufacturer=  drugList[i].manufacturer
        drugList[i].supply_license_number= drugList[i].number
        drugList[i].supply_remake = ""
        drugList[i].type = 1
        drugList[i].supply_price = drugList[i].last_price
        drugList[i].name = drugList[i].drug_name
        if(drugList[i].max_unit != drugList[i].min_unit){
          drugList[i].unitList = [{id:1,name:""},{id:2,name:""}]
        }
        if(drugList[i].max_unit == drugList[i].min_unit){
          drugList[i].unitList = [{id:1,name:""}]
        }
       
        drugList[i].warehouse_info_id = 0
        drugList[i].warehousing_id= 0
        drugList[i].supply_unit = drugList[i].max_unit 
        for(let j=0;j<drugList[i].unitList.length;j++){
          if(drugList[i].max_unit != drugList[i].min_unit){
            drugList[i].unitList[0].name = drugList[i].max_unit
            drugList[i].unitList[1].name = drugList[i].min_unit
          }
          if(drugList[i].max_unit  == drugList[i].min_unit){
            drugList[i].unitList[0].name = drugList[i].max_unit
          }
        }
        this.tabList.push(drugList[i])
        }
        this.drugList = drugList
        var goodList =  response.data.data.goodList
        for(let i=0;i<goodList.length;i++){
        for(let j=0;j<this.manufactuerList.length;j++){
            if(goodList[i].manufacturer == this.manufactuerList[j].id){
                goodList[i].manufacturer = this.manufactuerList[j].manufacturer_name
            }
        }
        for(let y=0;y<this.goodTypeList.length;y++){
            if(goodList[i].good_type_id == this.goodTypeList[y].id){
                goodList[i].good_type_id = this.goodTypeList[y].type_name
            }
        }
        goodList[i].supply_name = goodList[i].good_name + " " + goodList[i].specification_name + " " +goodList[i].manufacturer
        goodList[i].supply_type = goodList[i].good_type_id
        goodList[i].supply_specification_name =goodList[i].specification_name
        goodList[i].supply_price = goodList[i].buy_price
        goodList[i].supply_total = this.getTotalStockCount(goodList[i].good_warehouse_info)
        goodList[i].supply_count = ""
        goodList[i].supply_total_price = ""
        goodList[i].supply_manufacturer = goodList[i].manufacturer
        goodList[i].supply_license_number = ""
        goodList[i].supply_remake = ""
        goodList[i].type = 2
        goodList[i].name = goodList[i].good_name
        goodList[i].unitList =  [{id:1,name:""}]
        goodList[i].supply_unit = goodList[i].packing_unit
        goodList[i].warehouse_info_id = 0
        goodList[i].warehousing_id= 0
        for(let j=0;j<goodList[i].unitList.length;j++){
           goodList[i].unitList[0].name = goodList[i].packing_unit 
        }
        this.tabList.push(goodList[i])
        }
        this.goodList = goodList
    } 
    })
},
changeGoodName(val){
  this.currentIndex = val
},
changeName(val){
  
   for(let i=0;i<this.recordInfo.tableList.length;i++){
    if(this.currentIndex == i){
        this.recordInfo.tableList[i].project_id = val.id
        this.recordInfo.tableList[i].type = val.type
        this.recordInfo.tableList[i].name = val.name
        this.recordInfo.tableList[i].supply_name = val.supply_name
        this.recordInfo.tableList[i].supply_type = val.supply_type
        this.recordInfo.tableList[i].supply_specification_name = val.supply_specification_name
        this.recordInfo.tableList[i].supply_total = val.supply_total
       
        if(val.supply_count == NaN){
           this.recordInfo.tableList[i].supply_count = ""
        }else{
          this.recordInfo.tableList[i].supply_count = val.supply_count?val.supply_count:""
        }

        this.recordInfo.tableList[i].supply_price = val.supply_price?val.supply_price:""
        this.recordInfo.tableList[i].supply_total_price = (val.supply_count * val.supply_price).toFixed(2)
        this.recordInfo.tableList[i].supply_manufacturer = val.supply_manufacturer
        this.recordInfo.tableList[i].supply_license_number = val.supply_license_number
        this.recordInfo.tableList[i].supply_remake = val.supply_remake
        this.recordInfo.tableList[i].is_total = val.is_total
        this.recordInfo.tableList[i].supply_unit = val.supply_unit
        this.recordInfo.tableList[i].unitList = val.unitList
        this.recordInfo.tableList[i].warehouse_info_id = val.warehouse_info_id
        this.recordInfo.tableList[i].warehousing_id = val.warehousing_id
     }
    }
   

},
handleEdit(){
    const tempObj = {}
    tempObj["id"] = 0
    tempObj["name"] = ""
    tempObj['supply_name'] = ""
    tempObj['supply_type'] = ""
    tempObj['supply_specification_name'] = ''
    tempObj['supply_total'] = ""
    tempObj['supply_count'] = ""
    tempObj['supply_price'] = ""
    tempObj['supply_total_price'] = ""
    tempObj['supply_manufacturer'] = ''
    tempObj['supply_license_number'] = ''
    tempObj['supply_remake'] = ''
    tempObj['type'] = 0
    tempObj['is_total'] = 1
    tempObj["project_id"] = 0
    tempObj["supply_unit"] = ""
    tempObj["supply_batch_number"] = ""
    tempObj["supply_product_date"] = ""
    tempObj["order_number"] = ""
    tempObj["supply_expiry_date"] = ""
    tempObj["manufacturer_id"] = ""
    tempObj["warehouse_info_id"] = ""
    tempObj["warehousing_id"]= ""
    this.recordInfo.tableList.push(tempObj)
},
handleDelete: function(index, row) {
  if (this.recordInfo.tableList.length <= 1) {
        this.$message.error('只有一条记录的时候无法删除')
        return
   } else {
        this.recordInfo.tableList.splice(index, 1)
   }
},

changeTypeName(){

},
startTimeChange(){

},
endTimeChange(){

},
search(){

},

getWarehoseInfo(arr,max_unit,min_unit,min_number){
    var total = 0
    var max_str=  ""
    var min_str = ""
    if (arr.length > 0) {
      for(let i=0;i<arr.length;i++){
        total += parseInt(arr[i].stock_max_number+arr[i].stock_min_number)
      }
    }
    if (total < min_number){
        min_str = total + min_unit
    }
    if (total == 0) {
        min_str = ""
        max_str = ""
    }
   if (total >=min_number) {
    if(parseInt(total/min_number)!=0){
        max_str = parseInt(total/min_number) + max_unit
    }
    if(total%min_number!=0){
       min_str = total%min_number + min_unit
    }
  }
 return max_str + min_str
 },
getTotalStockCount(arr){
  var total_count = 0
  for(let i=0;i<arr.length;i++){
    total_count += arr[i].stock_count
  }
  return total_count
},
calculate: function(val) {
    if (isNaN(val)) {
        return "";
    }
    if (val == 0) {
        return "";
    }
    return Math.round(parseFloat(val) * 100) / 100;
  },
getTimes(time) {
    if (time === '') {
    return ''
    }
    return uParseTime(time, '{y}-{m}-{d}')
},

 getAllPrice(){
   var total_price = 0
   for(let i=0;i<this.recordInfo.tableList.length;i++){
      total_price += (this.recordInfo.tableList[i].supply_price * this.recordInfo.tableList[i].supply_count)
   }  
   return total_price.toFixed(2)
 },
 checkPurchaseOrder(id,index){
   this.$confirm('是否审核?', {
    confirmButtonText: '确 定',
    cancelButtonText: '取 消',
    type: 'warning'
    }).then(() => { 
    checkPurchaseOrder(this.id).then(response => {
        if (response.data.state == 1) {
          var info = response.data.data.info
          this.disabled = true
          this.$message.success("审核成功!")
          this.getPurchaseOrderDetail()
        } 
     })
    })
    .catch(() => {
    }) 
  },
  getGoodOrderDetail(){
     
      var id = this.$route.query.id
    getGoodOrderDetail(id).then(response=>{
      if(response.data.state == 1){
        var out = response.data.data.out
        this.is_check = out.is_check
        this.id = out.id
        this.supplier_name = out.supplier_id
        this.rate_of_concession = out.rate_of_concession
        this.discount_amount = out.discount_amount
        this.payment = out.payment
        this.arrearage = out.arrearage
        this.number = out.number
        this.good_number = out.good_number
        this.start_time = this.getTimes(out.document_date)
        var orderInfo = response.data.data.list
        
        var drugList = response.data.data.drugList
        var goodList = response.data.data.goodList
        for(let i=0;i< orderInfo.length;i++){
             
             orderInfo[i].supply_count =  orderInfo[i].count
             orderInfo[i].supply_price =  orderInfo[i].price
             orderInfo[i].supply_remake =  orderInfo[i].remark
             orderInfo[i].type =  orderInfo[i].is_source
             orderInfo[i].project_id =  orderInfo[i].project_id
             orderInfo[i].supply_unit =  orderInfo[i].supply_unit
             orderInfo[i].order_number =  orderInfo[i].order_number
             orderInfo[i].supply_total_price = (orderInfo[i].count * orderInfo[i].price).toFixed(2)
             orderInfo[i].supply_expiry_date = this.getTimes(orderInfo[i].supply_expiry_date)
             orderInfo[i].supply_product_date = this.getTimes(orderInfo[i].supply_product_date)
           if(orderInfo[i].is_source == 1){
            for(let j=0;j<drugList.length;j++){
                if( orderInfo[i].project_id == drugList[j].id){
                  if(drugList[j].max_unit!=drugList[j].min_unit){
                    orderInfo[i].unitList = [{id:1,name:""},{id:2,name:""}]
                    orderInfo[i].unitList[0].name = drugList[j].max_unit
                    orderInfo[i].unitList[1].name = drugList[j].min_unit
                  }
                  if(drugList[j].max_unit ==drugList[j].min_unit){
                    orderInfo[i].unitList = [{id:1,name:""}]
                    orderInfo[i].unitList[0].name = drugList[j].max_unit
                  }
                
                }
             }  
            } 
          if(orderInfo[i].is_source == 2){
            for(let j=0;j<goodList.length;j++){
                if(orderInfo[i].project_id == goodList[j].id){
                    orderInfo[i].unitList = [{id:1,name:""}]
                    orderInfo[i].unitList[0].name = goodList[j].packing_unit
                }
            }  
          } 
        }
      
        this.recordInfo.tableList= []
        this.recordInfo.tableList = orderInfo
       
          console.log("orderINFO23323232",this.recordInfo.tableList)
      }
    })  
  },
  toPrint(){
     var id = this.$route.query.id
     this.$router.push({path:"/purchase/order/print?&id="+id})  
  },
  updateGoodOrder(){ 
   
    if(this.supplier_name == 0 || this.supplier_name == ""){
       this.$message.error("供应商不能为空!")
       this.loading = false
       return false
    } 
    console.log("表哥2323233232",this.recordInfo.tableList)
    for(let i=0;i<this.recordInfo.tableList.length;i++){

        this.recordInfo.tableList[i].supply_count = parseInt(this.recordInfo.tableList[i].supply_count)
        this.recordInfo.tableList[i].supply_price = this.recordInfo.tableList[i].supply_price.toString()
        this.recordInfo.tableList[i].supply_total_price= this.recordInfo.tableList[i].supply_total_price.toString()
        this.recordInfo.tableList[i].supply_total = this.recordInfo.tableList[i].supply_total.toString()
        if(this.recordInfo.tableList[i].id > 0){
          this.recordInfo.tableList[i].type = 1
        }
        if(this.recordInfo.tableList[i].id == 0){
          this.recordInfo.tableList[i].type = 2
        }
        for(let j=0;j<this.manufactuerList.length;j++){
            if(this.recordInfo.tableList[i].supply_manufacturer == this.manufactuerList[j].manufacturer_name){
              this.recordInfo.tableList[i].manufacturer_id = this.manufactuerList[j].id
            }
            if(this.recordInfo.tableList[i].supply_manufacturer == this.manufactuerList[j].id){
              this.recordInfo.tableList[i].supply_manufacturer = this.manufactuerList[j].manufacturer_name
            }

        }
    }
    var start = this.start_time
    this.$refs["tableForm"].validate((valid)=>{
        if(valid){
           this.loading = true
           var warehose_out_id = this.$route.query.id
           var params = {
             "stockIn":this.recordInfo.tableList,
           } 
           console.log("sotckind23232232323232323232",params)
           
           updateGoodOrder(params,this.supplier_name,start,this.arrearage,this.payment,warehose_out_id,this.number,this.rate_of_concession,this.discount_amount,this.good_number).then(response=>{
           if(response.data.state == 1){
             this.loading = false
             this.$message.success("修改成功!")
             
           }
         })
        }
    })
  },
  checkGoodOrder(){
    var id = this.$route.query.id
    var warehousing_id = this.$route.query.warehousing_id
    getGoodOrderCountList(id,warehousing_id).then(response=>{
      if(response.data.state == 1){
        this.$message.success("审核成功!")
        var purcaseOrder = response.data.data.purcaseOrder
        console.log("采购订单",purcaseOrder)
        
        var goodOrder = response.data.data.goodOrder
        console.log("采购单",goodOrder)
        var drugList = response.data.data.drugList
        console.log("druglist23323223",drugList)
        var is_warehouse = 0
        for(let i=0;i<purcaseOrder.length;i++){
          for(let j=0;j<drugList.length;j++){
             if(purcaseOrder[i].is_source == 1){
               if(purcaseOrder[i].supply_unit == drugList[j].max_unit){
                  purcaseOrder[i].count = purcaseOrder[i].count * drugList[j].min_number
               }
             }
          }
        }

        for(let i=0;i<goodOrder.length;i++){
          for(let j=0;j<drugList.length;j++){
            if(goodOrder[i].is_source == 1){
              if(goodOrder[i].supply_unit == drugList[j].max_unit){
                 goodOrder[i].count = goodOrder[i].count * drugList[j].min_number
              }
            }
          }
        }
        
        let objInfo = {}
        if (goodOrder.length >0){
          goodOrder.forEach((item,index)=>{
            let { project_id } = item
            if(!objInfo[project_id]){
              objInfo[project_id] = {
                project_id,
                child:[],
                count:0,
              }
            }
          })
          let newArr = Object.values(objInfo);
        
          for(let i=0;i<goodOrder.length;i++){
            for(let j=0;j<newArr.length;j++){
              if(goodOrder[i].project_id == newArr[j].project_id){
                newArr[j].child.push(goodOrder[i])
              }
            }
          }
          console.log("newAr2332232323",newArr)
        
          for(let i=0;i<newArr.length;i++){
           for(let j=0;j<newArr[i].child.length;j++){
             newArr[i].count += newArr[i].child[j].count
           }
          }

          var arr = []
          var total = 0
          var str = ""
         
          //如果采购单有数据，则需要比较数量
          if(newArr.length > 0){
            for(let i=0;i<purcaseOrder.length;i++){
              for(let j=0;j<newArr.length;j++){
                if(purcaseOrder[i].project_id == newArr[j].project_id){
                    //根据商品ID比较数量大小,把数量不足的商品ID储存,表示采购单的数量未满足采购订单的数据,部分入库
                    if(purcaseOrder[i].count > newArr[j].count){
                      arr.push(purcaseOrder[i].project_id)
                    }
                }
              } 
            }
            //如果total的长度等于 采购单的长度,怎表示该采购订单已经全部生成,全部入库
          
            if(arr.length == 0){
              is_warehouse = 1
              this.ModefySupplyWarehousing(is_warehouse,warehousing_id)
            }
            
            //部分入库
            if(total!=goodOrder.length){
               //修改订购单
               is_warehouse = 3
               this.ModefySupplyWarehousing(is_warehouse,warehousing_id)
            }
          }
        }
      }
    })
  },
  ModefySupplyWarehousing(is_warehouse,warehousing_id){
     var params = {
       is_warehouse:is_warehouse,
       warehousing_id:warehousing_id,
     }
    ModefySupplyWarehousing(params).then(response=>{
      if(response.data.state == 1){
        var msg = response.data.data.msg
      }
    })
  }
},
created(){
    const tempObj = {}
    tempObj["id"] = 0
    tempObj["name"] = ""
    tempObj['supply_name'] = ""
    tempObj['supply_type'] = ""
    tempObj['supply_specification_name'] = ''
    tempObj['supply_total'] = ""
    tempObj['supply_count'] = ""
    tempObj['supply_price'] = ""
    tempObj['supply_total_price'] = ""
    tempObj['supply_manufacturer'] = ''
    tempObj['supply_license_number'] = ''
    tempObj['supply_remake'] = ''
    tempObj['type'] = 0
    tempObj['is_total'] = 1
    tempObj["project_id"] = 0
    tempObj["supply_unit"] = ""
    tempObj["supply_batch_number"] = ""
    tempObj["supply_product_date"] = ""
    tempObj["order_number"] = ""
    tempObj["supply_expiry_date"] = ""
    tempObj["manufacturer_id"] = ""
    tempObj["warehouse_info_id"] = ""
    tempObj["warehousing_id"]= ""
    this.recordInfo.tableList.push(tempObj)
    this.getInitOrder()
    if(parseInt(this.$route.query.id) > 0){
      this.getGoodOrderDetail()
    }
    this.start_time = this.getTimes(new Date())
    this.end_time = this.getTimes(new Date())
}
};
</script>

<style rel="stylesheet/css" lang="scss" scoped>
.information {
border: 1px #dcdfe6 solid;
padding: 30px 20px 30px 20px;

.border {
border-bottom: 1px #dcdfe6 solid;
margin: 0px 0 20px 0;
}
}

.title {
background: #409eff;
height: 44px;
line-height: 44px;
padding: 0 0 0 10px;
color: #fff;
margin: 0 0 10px 0;
}

.edit_separater {
border-top: 1px solid rgb(233, 233, 233);
margin-top: 15px;
margin-bottom: 15px;
}
</style>

<style>
.sign-and-weigh-box .sign-and-weigh-box-patients .cell {
font-size: 12px;
}

.sign-and-weigh-box .sign-and-weigh-box-patients .current-row > td {
background: #6fb5fa;
}

.count {
color: #bd2c00;
}
.el-table td,
.el-table th.is-leaf,
.el-table--border,
.el-table--group {
border-color: #d0d3da;
}
.el-table--border::after,
.el-table--group::after,
.el-table::before {
background-color: #d0d3da;
}
/* .el-table__fixed-right{
  width:150px;
  bottom: 20px;
  height: 100%;
} */
</style>
