<template>
  <div>
    <el-form ref="form" :model="form" label-width="130px">
      <headerTitle title="收货信息"></headerTitle>
      <el-row :gutter="20">
        <el-col :span="12">
          <el-form-item
            label="选择订单："
            prop="orderNo"
            style="margin-bottom: 22px"
          >
            {{ form.orderNo }}
          </el-form-item>
        </el-col>
        <el-col :span="12">
          <el-form-item
            label="客户名称："
            prop="contactName"
            style="margin-bottom: 22px"
          >
            {{ form.contactName }}
          </el-form-item>
        </el-col>
      </el-row>
      <el-row :gutter="20">
        <el-col :span="12">
          <el-form-item
            label="计价方式："
            style="margin-bottom: 22px">
            {{ form.pricingWay == 1 ? '按数量计费' : '按重量计费' }}
          </el-form-item>
        </el-col>
        <el-col :span="12">
          <el-form-item
            label="客户联系人："
            prop="linkName"
            style="margin-bottom: 22px"
          >
            {{ form.linkName }}
          </el-form-item>
        </el-col>
      </el-row>
      <el-row :gutter="20">
        <el-col :span="12">
          <el-form-item label="车辆号：" prop="carNo" style="margin-bottom: 22px">
            {{ form.carNo }}
          </el-form-item>
        </el-col>
        <el-col :span="12">
          <el-form-item
            label="客户电话："
            prop="linkPhone"
            style="margin-bottom: 22px"
          >
            {{ form.linkPhone }}
          </el-form-item>
        </el-col>
      </el-row>
      <el-row :gutter="20">

        <el-col :span="12">
          <el-form-item
            label="送货单号："
            prop="sendNoteNo"
            style="margin-bottom: 22px"
          >
            {{ form.sendNoteNo }}
          </el-form-item>
        </el-col>
        <el-col :span="12">
          <el-form-item prop="files" label="附件：">
            <div v-if="form.files && form.files?.length">
              <el-link
                v-for="link in form.files"
                :key="link.id"
                type="primary"
                :underline="false"
                @click="downloadFile(link)">
                {{ link.name }}
              </el-link>
            </div>
          </el-form-item>
        </el-col>
      </el-row>
    </el-form>

    <headerTitle title="产品清单"></headerTitle>
    <ele-pro-table
      ref="table"
      :needPage="false"
      :columns="competAnalysisListcolumns"
      :toolkit="[]"
      :datasource="detailData.productList"
      row-key="id"
    >
      <!-- <template v-slot:toolbar>
        <div class="headbox">
        <span class="amount">总计：{{detailData.totalAmount}}元</span>
        <span class="amount">应付金额：{{detailData.payAmount}}元</span>
      </div>
      </template> -->
      <template v-slot:technicalDrawings="{ row }">
        <div v-if="row.technicalDrawings && row.technicalDrawings?.length">
          <el-link
            v-for="link in row.technicalDrawings"
            :key="link.id"
            type="primary"
            :underline="false"
            @click="downloadFile(link)"
          >
            {{ link.name }}
          </el-link
          >
        </div>
      </template>
    </ele-pro-table>
  </div>
</template>

<script>
import {getFile} from '@/api/system/file';
import {getPSaleEntrustedReceiveDetailAPI} from '@/api/bpm/components/saleManage/entrustedReceive';


export default {
  props: {
    businessId: {
      default: ''
    }
  },
  data() {
    return {
      detailId: '',
      form: {},
      detailData: {},
      competAnalysisListcolumns: [
        {
          width: 45,
          type: 'index',
          columnKey: 'index',
          align: 'center',
          fixed: 'left'
        },
        {
          minWidth: 140,
          prop: 'productName',
          label: '名称',
          slot: 'productName',
          align: "center"
        },
        {
          minWidth: 120,
          prop: 'productCode',
          label: '编码',
          slot: 'productCode',
          align: "center"
        },
        {
          minWidth: 100,
          prop: 'productCategoryName',
          label: '类型',
          slot: 'productCategoryName',
          align: "center"
        },
        {
          width: 160,
          prop: 'productBrand',
          label: '牌号',
          slot: 'productBrand',
          align: "center"
        },
        {
          width: 120,
          prop: 'modelType',
          label: '型号',
          slot: 'modelType',
          align: "center"
        },
        {
          width: 120,
          prop: 'specification',
          label: '规格',
          slot: 'specification',
          align: "center"
        },
        {
          width: 200,
          prop: 'customerMark',
          label: '客户代号',
          slot: 'customerMark',
          align: "center"
        },
        {
          width: 200,
          prop: 'warehouseName',
          label: '仓库名称',
          slot: 'warehouseName',
          align: "center"
        },

        {
          width: 110,
          prop: 'orderTotalCount',
          label: '订单总数量',
          slot: 'orderTotalCount',
          align: "center"
        },
        {
          width: 120,
          prop: 'totalCount',
          label: '本次收货数量',
          slot: 'totalCount',
          headerSlot: 'headerTotalCount',
          align: "center"
        },
        {
          width: 100,
          prop: 'receiveTotalCount',
          label: '已收货总数',
          slot: 'receiveTotalCount',
          align: "center"
        },
        {
          width: 120,
          prop: 'measuringUnit',
          label: '计量单位',
          slot: 'measuringUnit',
          align: "center"
        },
        {
          width: 120,
          prop: 'singleWeight',
          label: '单重',
          slot: 'singleWeight',
          align: "center"
        },
        {
          width: 100,
          prop: 'receiveTotalWeight',
          label: '收货总重',
          slot: 'receiveTotalWeight',
          align: "center"
        },
        {
          width: 100,
          prop: 'weightUnit',
          label: '重量单位',
          slot: 'weightUnit',
          align: "center"
        },
        {
          width: 160,
          prop: 'singlePrice',
          label: '单价',
          slot: 'singlePrice',
          align: "center"
        },
        {
          width: 100,
          prop: 'discountSinglePrice',
          label: '折让单价',
          slot: 'discountSinglePrice',
          align: "center"
        },

        {
          width: 120,
          prop: 'totalPrice',
          label: '合计',
          slot: 'totalPrice',
          formatter: (_row, _column, cellValue) => {
            return _row.totalPrice + '元';
          },
          align: "center"
        },
        {
          width: 100,
          prop: 'discountTotalPrice',
          label: '折让合计',
          slot: 'discountTotalPrice',
          align: "center"
        },
        {
          width: 120,
          prop: 'deliveryDays',
          label: '交期(天)',
          slot: 'deliveryDays',
          align: "center"
        },
        {
          width: 200,
          prop: 'guaranteePeriod',
          label: '质保期',
          slot: 'guaranteePeriod',
          formatter: (_row, _column, cellValue) => {
            return (_row.guaranteePeriod || '') + _row.guaranteePeriodUnitName;
          },
          align: "center"
        },
        // {
        //   width: 120,
        //   prop: 'guaranteePeriodUnitCode',
        //   label: '',
        //   slot: 'guaranteePeriodUnitCode'
        // },
        {
          width: 120,
          prop: 'technicalAnswerName',
          label: '技术答疑人',
          slot: 'technicalAnswerName',
          align: "center"
        },
        {
          width: 220,
          prop: 'technicalParams',
          label: '技术参数',
          slot: 'technicalParams',
          align: "center"
        },
        {
          width: 240,
          prop: 'technicalDrawings',
          label: '技术图纸',
          slot: 'technicalDrawings',
          formatter: (_row, _column, cellValue) => {
            return (_row.guaranteePeriod || '') + _row.guaranteePeriodUnitName;
          },
          align: "center"
        },
        {
          width: 220,
          prop: 'remark',
          label: '备注',
          slot: 'remark',
          align: "center"
        }
      ]
    };
  },
  created() {
    this.getDetailData(this.businessId);
  },
  methods: {
    downloadFile(file) {
      getFile({objectName: file.storePath}, file.name);
    },
    async getDetailData(id) {
      this.loading = true;
      const data = await getPSaleEntrustedReceiveDetailAPI(id);
      this.loading = false;
      if (data) {
        this.form = data;
        this.form.pricingWay = data?.saleOrder?.pricingWay
        this.detailData = data;
      }
    },
    getTableValue() {
      return Promise.resolve(this.form)
    }
  }
};
</script>

<style scoped lang="scss">
.ele-dialog-form {
  .el-form-item {
    margin-bottom: 10px;
  }
}

.headbox {
  display: flex;
  justify-content: flex-start;
  align-items: center;

  .amount {
    font-size: 14px;
    font-weight: bold;
    margin-right: 20px;
  }
}
</style>
