<template>
  <el-form ref="form" :model="form" :rules="rules">
    <ele-pro-table
      ref="table"
      :needPage="false"
      :columns="columns"
      :toolkit="[]"
      :datasource="form.datasource"
      cache-key="systemRoleTable17"
      class="time-form"
    >
      <!-- 表头工具栏 -->
      <template v-slot:toolbar>
        <div class="headbox" :style="{justifyContent: returnType!=1&&sendId? 'space-between':'flex-end'}">
          <el-button
            size="small"
            type="primary"
            icon="el-icon-plus"
            class="ele-btn-icon"
            @click="handlAdd"
            v-show="returnType!=1&&sendId">新增
          </el-button>
          <div class="pricebox">
            <span class="amount">总金额{{ totalAmount }}元</span>
            <!--            <span>优惠总金额：</span>-->
            <!--            <el-input-->
            <!--              v-model="payAmount"-->
            <!--              style="width: 150px"-->
            <!--              placeholder="请输入"-->
            <!--            >-->
            <!--              &lt;!&ndash; @input="discountInput" &ndash;&gt;-->

            <!--              <template slot="append">元</template>-->
            <!--            </el-input-->
            <!--            >-->
          </div>
        </div>
      </template>
      <!--   发货总重   -->
      <template v-slot:sendTotalWeight="scope">
        <el-form-item
          style="margin-bottom: 20px"
          :prop="'datasource.' + scope.$index + '.sendTotalWeight'"
          :rules="[
            { required: pricingWay==2&&[3,1].includes(returnSourceType), message: '请输入数字', trigger: 'blur' }
          ]"
        >
          <el-input v-model="scope.row.sendTotalWeight" @blur="changeSendTotalWeight(scope.$index)"
                    :disabled="returnSourceType==2"
                    style="width: 60%; margin-right: 10px">

          </el-input>
          <el-button
            size="small"
            type="primary"
            v-if="[3,1].includes(returnSourceType)"
            @click.native="(e)=>handleOutBound(e,scope.row,scope.$index)">选择
          </el-button>
        </el-form-item>
      </template>

      <!--        3. 按重量 发货总重必填

                   按数量 发货总重不必填

                   如果选择的订单是受托：
                   按重量 收货总重必填且可以选择
                   按数量 收货总重不必填且可以选择
                   如果不是收货总重置灰

                   -->
      <!--        1. 按重量 发货总重必填
             按数量 发货总重不必填
              如果选择的订单是受托：
             按重量 收货总重必填且可以选择
             按数量 收货总重不必填且可以选择
             如果不是收货总重置灰
               -->

      <!--        2. 按重量/按数量 发货总重置灰
                   按重量 收货总必填     -->
      <!--   收货总重   -->
      <template v-slot:receiveTotalWeight="scope">
        <el-form-item
          style="margin-bottom: 20px"
          :prop="'datasource.' + scope.$index + '.receiveTotalWeight'"
          :rules="[
            { required: (entrustedCode||returnSourceType==2)&&pricingWay==2, message: '请输入数字', trigger: 'blur' }
          ]"
        >
          <el-input v-model="scope.row.receiveTotalWeight" :disabled="[3,1].includes(returnSourceType)&&!entrustedCode"
                    @blur="changeReceiveTotalWeight(scope.$index)"
                    style="width: 60%; margin-right: 10px">

          </el-input>
          <el-button
            size="small"
            type="primary"
            v-if="entrustedCode||returnSourceType==2"
            @click.native="(e)=>handleInnerBound(e,scope.row,scope.$index)">选择
          </el-button>
        </el-form-item>
      </template>
      <template v-slot:technicalDrawings="{ row, $index }">
        <el-form-item
          style="margin-bottom: 20px"
          :prop="'datasource.' + $index + '.technicalDrawings'"
        >
          <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>
        </el-form-item>
      </template>
      <template v-slot:returnReason="{ row, $index }">
        <el-form-item
          style="margin-bottom: 20px"
          :prop="'datasource.' + $index + '.returnReason'"
        >
          <el-input
            clearable
            v-model="row.returnReason"
            type="textarea"
            placeholder="请输入"
          />
        </el-form-item>
      </template>
      <template v-slot:remark="{ row, $index }">
        <el-form-item
          style="margin-bottom: 20px"
          :prop="'datasource.' + $index + '.remark'"
        >
          <el-input
            clearable
            v-model="row.remark"
            type="textarea"
            placeholder="请输入"
          />
        </el-form-item>
      </template>
      <template v-slot:returnType="{ row, $index }">
        <el-form-item
          style="margin-bottom: 20px"
          :prop="'datasource.' + $index + '.returnType'"
        >
          <DictSelection
            dictName="退货类型"
            clearable
            v-model="row.returnType"
          />
        </el-form-item>
      </template>
      <template v-slot:totalCount="scope">
        <el-form-item
          style="margin-bottom: 20px"
          :prop="'datasource.' + scope.$index + '.totalCount'"
          :rules="[
            { required: true, message: '请输入数字', trigger: 'blur' },
            { validator: validateTotalCount(scope.row), trigger: 'blur' }
          ]"
        >
          <el-input
            v-model="scope.row.totalCount"
            @input="(val) => changeNum(val, scope.$index)"
          ></el-input>
        </el-form-item>
      </template>
      <!--      <template v-slot:singlePrice="{ row, $index }">-->
      <!--        <el-form-item-->
      <!--          style="margin-bottom: 20px"-->
      <!--          :prop="'datasource.' + $index + '.singlePrice'"-->
      <!--        >-->
      <!--          <el-input-->
      <!--            type="number"-->
      <!--            clearable-->
      <!--            v-model="row.singlePrice"-->
      <!--            @input="(val) => changeNumSinglePrice(val, $index)"-->
      <!--            placeholder="请输入"-->
      <!--          />-->
      <!--        </el-form-item>-->
      <!--      </template>-->

      <template v-slot:totalPrice="{ row, $index }">
        <el-form-item
          v-if="returnSourceType==2"
          style="margin-bottom: 20px"
          :prop="'datasource.' + $index + '.totalPrice'"
        >
          <el-input
            type="number"
            clearable
            v-model="row.totalPrice"
            @input="(val) => changeTotalPrice(val, $index)"
            placeholder="请输入"
          />
        </el-form-item>
        <span v-else>{{ row.totalPrice }}</span>
      </template>
      <template v-slot:headerTotalCount="{ column }">
        <span class="is-required">{{ column.label }}</span>
      </template>

      <template v-slot:headerSendTotalWeight="{ column }">
        <span :class="{'is-required':pricingWay==2&&[3,1].includes(returnSourceType)}">{{ column.label }}</span>
      </template>
      <template v-slot:headerReceiveTotalWeight="{ column }">
        <span :class="{'is-required':(entrustedCode||returnSourceType==2)&&pricingWay==2}">{{ column.label }}</span>
      </template>
      <!-- 操作列 -->

      <template v-slot:action="{$index }">
        <el-popconfirm
          v-if="returnType!=1"
          class="ele-action"
          title="确定要删除吗？"
          @confirm="remove($index)"
        >
          <template v-slot:reference>
            <el-link type="danger" :underline="false" icon="el-icon-delete">
              删除
            </el-link>
          </template>
        </el-popconfirm>
      </template>
    </ele-pro-table>

    <product-list
      ref="productListRef"
      :orderId="sendId"
      type="send"
      @changeParent="changeParent"
    ></product-list>
    <!--出库详情-->
    <outbound-details-dialog v-if="outboundDetailsDialogFlag" ref="outboundDetailsDialogRef"
                             :outboundDetailsDialogFlag.sync="outboundDetailsDialogFlag"
                             @saveDate="saveDate"></outbound-details-dialog>
    <!--入库详情-->
    <innertboundDetailsDialog v-if="innerboundDetailsDialogFlag" ref="innerboundDetailsDialogRef"
                              :innerboundDetailsDialogFlag.sync="innerboundDetailsDialogFlag"
                              @saveDate="saveInnerDate"></innertboundDetailsDialog>
  </el-form>
</template>
<script>
import {numberReg} from 'ele-admin';
import dictMixins from '@/mixins/dictMixins';
// import productList from './product-list.vue';
import productList from '@/views/saleManage/saleOrder/invoice/components/product-list.vue';
import {getFile} from "@/api/system/file";
import outboundDetailsDialog from "@/views/purchasingManage/purchaseOrder/invoice/components/outboundDetailsDialog.vue";
import innertboundDetailsDialog
  from "@/views/purchasingManage/purchaseOrder/returnGoods/components/innerboundDetailsDialog.vue";

export default {
  mixins: [dictMixins],
  props: {
    sendId: String,
    pricingWay: [Number, String],
    returnSourceType: [Number, String],
    entrustedCode: [Number, String],
    sendNo: [Number, String],
    returnType: {
      default: ''
    }
  },

  components: {
    innertboundDetailsDialog, outboundDetailsDialog,
    productList
  },
  data() {
    const defaultForm = {
      key: null,
      endTime: '',
      isFirst: 0,
      name: '',
      startTime: '',
      workHour: '',
      technicalDrawings: []
    };
    return {
      payAmount: '',
      outboundDetailsDialogFlag: false,
      innerboundDetailsDialogFlag: false,
      numberReg,
      defaultForm,
      form: {
        datasource: []
      },
      rules: {},
      oldSendTotalWeightList: [],
      columns: [
        {
          width: 45,
          type: 'index',
          columnKey: 'index',
          align: 'center',
          fixed: 'left'
        },
        {
          width: 200,
          prop: 'productName',
          label: '名称',
          slot: 'productName',
          align: "center"
        },
        {
          width: 120,
          prop: 'productCode',
          label: '编码',
          slot: 'productCode',
          align: "center"
        },
        {
          width: 200,
          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: 120,
          prop: 'imgCode',
          align: 'center',
          label: '图号/件号',
          showOverflowTooltip: true
        },
        {
          width: 120,
          prop: 'produceType',
          align: 'center',
          label: '生产类型',
          showOverflowTooltip: true
        },
        {
          width: 120,
          prop: 'approvalNumber',
          align: 'center',
          label: '批准文号',
          showOverflowTooltip: true
        },
        {
          width: 120,
          prop: 'packingSpecification',
          align: 'center',
          label: '包装规格',
          showOverflowTooltip: true
        },
        {
          width: 200,
          prop: 'customerMark',
          label: '客户代号',
          slot: 'customerMark',
          align: "center"
        },
        {
          width: 200,
          prop: 'warehouseName',
          label: '仓库名称',
          slot: 'warehouseName',
          align: "center"
        },
        // {
        //   width: 100,
        //   prop: 'warehouseNum',
        //   label: '库存',
        //   slot: 'warehouseNum'
        // },
        {
          width: 120,
          prop: 'totalCount',
          label: '退货数量',
          slot: 'totalCount',
          headerSlot: 'headerTotalCount',
          align: "center"
        },
        {
          width: 120,
          prop: 'sendTotalCount',
          label: '发货数量',
          slot: 'sendTotalCount',
          align: "center"
        },
        {
          width: 80,
          prop: 'measuringUnit',
          label: '计量单位',
          slot: 'measuringUnit',
          align: "center"
        },
        {
          width: 120,
          prop: 'singleWeight',
          label: '单重',
          slot: 'singleWeight',
          align: "center"
        },
        {
          width: 200,
          prop: 'receiveTotalWeight',
          label: '收货总重',
          slot: 'receiveTotalWeight',
          align: "center",
          headerSlot: 'headerReceiveTotalWeight'
        },
        {
          width: 200,
          prop: 'sendTotalWeight',
          label: '发货总重',
          slot: 'sendTotalWeight',
          align: "center",
          headerSlot: 'headerSendTotalWeight'
        },
        {
          width: 100,
          prop: 'increaseTotalWeight',
          label: '增重重量',
          slot: 'increaseTotalWeight',
          align: "center"
        },
        {
          width: 100,
          prop: 'singlePrice',
          label: '单价',
          slot: 'singlePrice',
          align: "center"
        },
        {
          width: 100,
          prop: 'discountSinglePrice',
          label: '折让单价',
          slot: 'discountSinglePrice',
          align: "center",
          formatter: (_row, _column, cellValue) => {
            return _row.discountSinglePrice
              ? Number(_row.discountSinglePrice).toFixed(2)
              : '';
          }
        },
        {
          width: 140,
          prop: 'totalPrice',
          label: '合计',
          slot: 'totalPrice',
          align: "center"
        },
        {
          width: 120,
          prop: 'discountTotalPrice',
          label: '折让合计',
          slot: 'discountTotalPrice',
          align: "center",
          formatter: (_row, _column, cellValue) => {
            return _row.discountTotalPrice
              ? Number(_row.discountTotalPrice).toFixed(2)
              : '';
          }
        },
        {
          width: 200,
          prop: 'returnReason',
          label: '退货原因',
          slot: 'returnReason',
          align: "center"
        },
        // {
        //   width: 140,
        //   prop: 'returnType',
        //   label: '退货类型',
        //   slot: 'returnType'
        // },

        // {
        //   width: 80,
        //   prop: 'deliveryDays',
        //   label: '交期(天)',
        //   slot: 'deliveryDays'
        // },
        // {
        //   width: 200,
        //   prop: 'guaranteePeriod',
        //   label: '质保期',
        //   slot: 'guaranteePeriod'
        // },

        //  {
        //   width: 130,
        //   prop: 'technicalAnswerName',
        //   label: '技术答疑人',
        //   slot: 'technicalAnswerName'
        // },
        // {
        //   width: 220,
        //   prop: 'technicalParams',
        //   label: '技术参数',
        //   slot: 'technicalParams'
        // },
        // {
        //   width:240,
        //   prop: 'technicalDrawings',
        //   label: '技术图纸',
        //   slot: 'technicalDrawings'
        // },
        {
          width: 220,
          prop: 'remark',
          label: '备注',
          slot: 'remark',
          align: "center"
        },
        {
          columnKey: 'action',
          label: '操作',
          width: 120,
          align: 'center',
          resizable: false,
          slot: 'action',
          fixed: 'right',
          showOverflowTooltip: true,

        }
      ]
    };
  },
  computed: {
    totalAmount() {
      return this.$store.state.returnGoods.allcountAmount;
    }
  },
  mounted() {
    console.log(this.entrustedCode);
  },
  methods: {
    downloadFile(file) {
      getFile({objectName: file.storePath}, file.name);
    },
    //修改单价
    changeNumSinglePrice(val, index) {
      if (!val) {
        this.$set(this.form.datasource[index], 'singlePrice', 0)
        this.$set(this.form.datasource[index], 'discountSinglePrice', 0)
      } else {
        this.$set(this.form.datasource[index], 'discountSinglePrice', val)
      }
      let totalCount = this.form.datasource[index].totalCount
      this.changeNum(totalCount, index)
    },
    //修改合计
    changeTotalPrice(val, index) {
      if (!val) {
        this.$set(this.form.datasource[index], 'totalPrice', 0)
        this.$set(this.form.datasource[index], 'discountTotalPrice', 0)
      } else {
        this.$set(this.form.datasource[index], 'discountTotalPrice', val)
      }
      this.gettotalAmount()
    },
    //修改数量更新合计/总重
    changeNum(val, index) {
      this.curIndex = index
      if (this.pricingWay == 2) {
        if (val != this.form.datasource[index].sendTotalCount) {
          this.$set(this.form.datasource[index], 'receiveTotalWeight', '')
          this.$set(this.form.datasource[index], 'sendTotalWeight', '')
          this.$set(this.form.datasource[index], 'increaseTotalWeight', '')
          this.getWeightPrice()
        } else {
          let find = this.oldSendTotalWeightList.find(key => key.productCode == this.form.datasource[index].productCode) || {}
          this.$set(this.form.datasource[index], 'sendTotalWeight', find.oldSendTotalWeight)
          this.$set(this.form.datasource[index], 'receiveTotalWeight', find.oldReceiveTotalWeight)

          this.setIcreaseTotalWeight()
        }
      } else {
        if (val != this.form.datasource[index].sendTotalCount) {
          this.$set(this.form.datasource[index], 'receiveTotalWeight', '')
          this.$set(this.form.datasource[index], 'sendTotalWeight', '')
          this.$set(this.form.datasource[index], 'increaseTotalWeight', '')
        } else {
          let find = this.oldSendTotalWeightList.find(key => key.productCode == this.form.datasource[index].productCode) || {}
          this.$set(this.form.datasource[index], 'sendTotalWeight', find.oldSendTotalWeight)
          this.$set(this.form.datasource[index], 'receiveTotalWeight', find.oldReceiveTotalWeight)
          this.setIcreaseTotalWeight()
        }

        this.$set(this.form.datasource[index], 'totalPrice', (Number(this.form.datasource[index].singlePrice) * val).toFixed(2));
        this.$set(this.form.datasource[index], 'discountTotalPrice', (Number(this.form.datasource[index].discountSinglePrice) * val).toFixed(2));

        this.$store.commit('returnGoods/setIsDefaultPayableAmount', false);
        this.gettotalAmount();
      }
    },
    getWeightPrice() {

      let increaseTotalWeight = this.form.datasource[this.curIndex].increaseTotalWeight
      let singlePrice = this.form.datasource[this.curIndex].singlePrice
      let discountSinglePrice = this.form.datasource[this.curIndex].discountSinglePrice
      this.$set(this.form.datasource[this.curIndex], 'totalPrice', (Number(increaseTotalWeight) * Number(singlePrice)).toFixed(2));
      this.$set(this.form.datasource[this.curIndex], 'discountTotalPrice', (Number(discountSinglePrice) * Number(increaseTotalWeight)).toFixed(2));
      this.gettotalAmount();
    },

    //出库单详情
    handleOutBound(e, rows, index) {
      console.log(rows);
      this.curIndex = index
      this.outboundDetailsDialogFlag = true
      this.$nextTick(() => {
        let row = {
          sendNo: this.entrustedCode||this.sendNo,
          productCode: rows.productCode
        }
        this.$refs.outboundDetailsDialogRef.init(row)
      })
    },
    //选择退货信息回调
    saveDate(data = []) {
      let totalWeight = data.reduce((num, row) => {
        num += Number(row.weight)
        return num
      }, 0)
      this.$set(this.form.datasource[this.curIndex], 'sendTotalWeight', totalWeight);
      this.setIcreaseTotalWeight()
    },

    //入库单详情
    handleInnerBound(e, rows, index) {
      this.curIndex = index
      this.innerboundDetailsDialogFlag = true
      this.$nextTick(() => {
        let row = {
          sendNo: this.entrustedCode,
          productCode: rows.productCode
        }
        this.$refs.innerboundDetailsDialogRef.init(row)
      })
    },
    //选择入库单信息
    saveInnerDate(data = []) {
      let totalWeight = data.reduce((num, row) => {
        num += Number(row.weight)
        return num
      }, 0)
      this.$set(this.form.datasource[this.curIndex], 'receiveTotalWeight', totalWeight);
      if (this.returnSourceType == 2) this.$set(this.form.datasource[this.curIndex], 'sendTotalWeight', totalWeight);
      this.setIcreaseTotalWeight()
    },
    //修改发货总重
    changeSendTotalWeight(index) {
      this.curIndex = index
      this.setIcreaseTotalWeight()
    },
    //修改收货总重
    changeReceiveTotalWeight(index) {
      this.curIndex = index
      if (this.returnSourceType == 2) this.form.datasource[this.curIndex].sendTotalWeight = this.form.datasource[this.curIndex].receiveTotalWeight
      this.setIcreaseTotalWeight()

    },
    //设置增重总重
    setIcreaseTotalWeight() {
      let sendTotalWeight = Number(this.form.datasource[this.curIndex].sendTotalWeight)
      let receiveTotalWeight = Number(this.form.datasource[this.curIndex].receiveTotalWeight)
      // if (this.entrustedCode) {
      if (this.pricingWay == 2) {
        if (isNaN(receiveTotalWeight) || isNaN(sendTotalWeight)) {
          return this.$set(this.form.datasource[this.curIndex], 'increaseTotalWeight', '');
        } else {
          this.$set(this.form.datasource[this.curIndex], 'increaseTotalWeight', (sendTotalWeight - receiveTotalWeight).toFixed(2));
        }
      } else {
        this.$set(this.form.datasource[this.curIndex], 'increaseTotalWeight', (sendTotalWeight - receiveTotalWeight).toFixed(2));
      }
      // } else {
      //   this.$set(this.form.datasource[this.curIndex], 'increaseTotalWeight', sendTotalWeight);
      // }
      if (this.pricingWay == 2) {
        this.getWeightPrice()
      }
      this.$refs.table.reload()
    },
    //获取订单总金额
    gettotalAmount() {
      let productData = this.form.datasource;
      if (productData.length) {
        let sum = productData
          .reduce((sum, item) => {
            return sum + Number(item.totalPrice);
          }, 0)
          .toFixed(2);
        this.payAmount = productData.reduce((sum, item) => {
          return sum + Number(item.discountTotalPrice);
        }, 0).toFixed(2)
        this.$emit('update:payAmount', this.payAmount)
        this.$store.commit('returnGoods/setAllcountAmount', sum);
      } else {
        this.$store.commit('returnGoods/setAllcountAmount', 0);
      }
    },
    //选择产品回调
    async changeParent(obj, idx) {
      console.log(obj, '9999');
      obj.sendTotalCount = obj.totalCount;
      obj.sendProductId = obj.id;
      obj.id = '';

      // if (obj.warehouseId) {
      //   obj['warehouseNum'] = await getWarehouseOutStock({
      //     warehouseId: obj.warehouseId,
      //     code: obj.productCode
      //   });
      // }
      this.$set(this.form.datasource, this.form.datasource.length, obj);
    },
    validateTotalCount(row) {
      return (rule, value, callback) => {
        if (isNaN(value) || Number(value) <= 0) {
          this.$message.error('请输入大于0的数');
          callback(new Error('请输入大于0的数字'));
        } else if (Number(value) > row.sendTotalCount) {
          this.$message.error('输入的数字不能大于最大发货值');
          callback(new Error('输入的数字不能大于最大发货值'));
        } else {
          callback();
        }
      };
    },
    getTotalCount(row) {
      let num = 0;
      this.form.datasource
        .filter((item) => item.warehouseId == row.warehouseId)
        .forEach((item) => {
          num += Number(item.totalCount);
        });

      return num;
    },
    // 返回列表数据
    getTableValue() {
      let comitDatasource = this.form.datasource;
      if (comitDatasource.length === 0) return [];
      comitDatasource.forEach((v) => {
        v.totalCount = Number(v.totalCount);
        v.technicalDrawings = Array.isArray(v.technicalDrawings)
          ? v.technicalDrawings
          : [];
      });
      return {productList: comitDatasource, payAmount: this.payAmount};
    },
    getPrice() {
      return [this.allPrice];
    },

    //修改回显
    putTableValue(data) {
      if (data) {
        data.forEach((v) => {
          v.returnReason = v.returnReason || '';
          v.returnType = v.returnType || '';
          v.sendTotalCount = v.totalCount;
          v.sendProductId = v.sendProductId || v.id;
        });
        this.oldSendTotalWeightList = data.map(item => {
          return {
            productCode: item.productCode,
            oldSendTotalWeight: item.sendTotalWeight,
            oldReceiveTotalWeight: item.receiveTotalWeight
          }
        })
        this.form.datasource = data;
        // this.form.datasource.forEach(async (v, index) => {
        //   if (v.warehouseId) {
        //     this.$set(
        //       this.form.datasource[index],
        //       'warehouseNum',
        //       await getWarehouseOutStock({
        //         warehouseId: v.warehouseId,
        //         code: v.productCode
        //       })
        //     );
        //   }
        // });
        this.gettotalAmount();
      }
    },

    remove(index) {
      this.form.datasource.splice(index, 1);
      this.setSort();
      this.gettotalAmount();
    },
    // 清空表格
    restTable() {
      this.form.datasource = [];
    },
    // 重新排序
    setSort() {
      this.form.datasource.forEach((n, index) => {
        n.key = index + 1;
      });
    },
    // 添加
    handlAdd() {
      if (!this.sendId) return this.$message.error('请先选择订单');
      this.$refs.productListRef.open(this.form.datasource);
    },

    validateForm(callback) {
      //开始表单校验
      this.$refs.form.validate((valid) => {
        callback(valid);
      });
    }
  }
};
</script>
<style lang="scss" scoped>
.headbox {
  display: flex;
  justify-content: space-between;
  align-items: center;

  .amount {
    font-size: 14px;
    font-weight: bold;
    padding-right: 30px;
  }
}

.time-form .el-form-item {
  margin-bottom: 0 !important;
}

::v-deep .period {
  display: flex;

  .borderleftnone {
    .el-input--medium .el-input__inner {
      border-top-right-radius: 0;
      border-bottom-right-radius: 0;
    }
  }

  .borderrightnone {
    .el-input--medium .el-input__inner {
      border-top-left-radius: 0;
      border-bottom-left-radius: 0;
    }
  }
}

::v-deep .time-form tbody > tr:hover > td {
  background-color: transparent !important;
}

::v-deep .time-form .el-table tr {
  background-color: #ffffff;
}

.pricebox {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  font-weight: bold;
}
</style>
