<template>
  <!-- 添加或修改项目信息对话框 -->
  <el-drawer v-model="visible" size="80%" direction="rtl" :close-on-press-escape="false">
    <div class="page-container form-container">
      <div class="form-btns-container">
        <span class="title-label"><el-icon>
            <Document />
          </el-icon>
          报工详情</span>
        <el-button type="primary" icon="Check" style="margin-right: 10px" @click="handleSave">保 存
        </el-button>
        <el-button icon="Close" @click="handleCancel">取 消
        </el-button>
      </div>
      <!-- 主表 -->
      <el-form ref="dayworkItemRef" class="master-container" :model="form" :rules="rules" :show-message="true">
        <el-row :gutter="20">
          <el-col :span="7">
            <el-form-item label="开始时间：" prop="startTime">
              <el-date-picker v-model="form.startTime" :disabled="!editStatus" type="datetime"
                value-format="YYYY-MM-DD HH:mm:ss " :clearable="false" :editable="false" placeholder="请选择开始时间"
                @change="handleTotalTime" />
            </el-form-item>
          </el-col>
          <el-col :span="9">
            <el-form-item label="工序名称：" prop="processId" label-width="90px">
              <el-select-v2 v-model="form.processId" clearable :disabled="true" :options="processList"
                placeholder="请选择工序" style="width: 220px" />
                <el-button type="success"  style="margin-left: 10px" 
          @click="handleViewProcess">工艺路线
        </el-button>
            </el-form-item>
          </el-col>
          <el-col :span="8">
            <el-form-item label="生产状态：" prop="status" align="center">
              <el-select v-model="form.status" placeholder="请选择生产状态" :disabled="true" style="width: 220px"
                @change="handleChangeStatus">
                <el-option v-for="dict in dynamicOptions" :key="dict.value" :label="dict.label"
                  :value="dict.value"></el-option>
              </el-select>
            </el-form-item>
          </el-col>
        </el-row>
        <el-row :gutter="20">
          <el-col :span="7">
            <el-form-item label="结束时间：" prop="endTime">
              <el-date-picker v-model="form.endTime" :disabled="!editStatus" type="datetime"
                value-format="YYYY-MM-DD HH:mm:ss " :editable="false" :clearable="false" placeholder="请选择结束时间"
                @change="handleTotalTime" />
            </el-form-item>
          </el-col>
          <el-col :span="9">
            <el-form-item label="操作者:" prop="nickName" label-width="82px">
              <el-input v-model.trim="form.nickName" placeholder="请输入操作者" readonly :clearable="true"
                style="width: 220px; margin-left: 8px">
                <template #append>
                  <el-button icon="Search" @click="handleSelectUserSingle" v-if="editStatus" />
                </template>
              </el-input>
            </el-form-item>
          </el-col>
          <el-col :span="8">
            <el-form-item label="投产量：" prop="prodNum" label-width="82px">
              <el-input-number v-model.trim="form.prodNum" :precision="0" controls-position="right"
                style="width: 220px" />
            </el-form-item>
          </el-col>
        </el-row>
        <el-row :gutter="20">
          <el-col :span="7">
            <el-form-item label="总工时：" prop="workingHoursTime" label-width="82px">
              <el-input v-model.trim="workingHoursTime" :disabled="true" style="width: 220px; margin-left: 0px" />
            </el-form-item>
          </el-col>
          <el-col :span="9">
            <el-form-item label="合格数：" prop="qualifiedNum" label-width="90px" style="padding-right: 0px">
              <el-input-number v-model.trim="form.qualifiedNum" :disabled="!editStatus" :precision="0"
                controls-position="right" style="width: 220px" />
            </el-form-item>
          </el-col>
          <el-col :span="10">
            <el-form-item label="载具：" prop="carrierIds" label-width="82px">
              <el-select v-model="form.carrierIds" multiple
            filterable remote reserve-keyword placeholder="请选择载具" value-key="value" style="width: 300px;"
            :remote-method="(arg) => remoteCarriers(arg, form.carrierList)" :loading="loadingCarrier"
            @change="(arg) => handleCarrierChange(arg)">
            <el-option v-for="item in form.carriers" :key="item.value" :label="item.label" :value="item.value" />
          </el-select>
          <el-popover placement="top-start" effect="dark" trigger="hover"
                                    content="修改载具仅修改最新当前载具，无法修改绑定历史记录。">
                                    <template #reference>
                                        <el-icon>
                                            <QuestionFilled />
                                        </el-icon>
                                    </template>
                                </el-popover>
            </el-form-item>
          </el-col>
        </el-row>
      </el-form>
      <!-- 搜索区域 -->
      <el-form class="list-search-container" :inline="true">
        <el-form-item class="section-title" label="废品信息" />
        <el-form-item>
          <el-button type="primary" icon="Plus" v-if="editStatus" @click="handleAddReject">新增
          </el-button>
        </el-form-item>
      </el-form>
      <!-- 列表区 -->
      <div class="el-table-container">
        <el-table ref="dayworkItemRejectTable" v-loading="loading" row-key="id" :data="form.groupRejectList"
          height="100%">
          <el-table-column type="index" label="行号" width="60" align="center">
            <template #default="scope">
              {{ scope.$index + 1 }}
            </template>
          </el-table-column>
          <el-table-column prop="type" label="分选检查类型" align="center" width="150px">
            <template #default="scope">
              <el-select v-model="scope.row.type" :disabled="!editStatus" placeholder="请选择分选检查类型"
                @change="(arg) => handleChangeType(scope.row, arg)">
                <el-option v-for="cause in sort_standard_type" :key="cause.value" :label="cause.label"
                  :value="cause.value"></el-option>
              </el-select>
            </template>
          </el-table-column>
          <el-table-column prop="sortStandard" label="分选检查标准" align="center" width="300px">
            <template #default="scope">
              <el-select v-model="scope.row.sortStandard" :disabled="!editStatus" placeholder="请选择分选检查标准">
                <el-option v-for="cause in scope.row.standardList" :key="cause.value" :label="cause.label"
                  :value="cause.value"></el-option>
              </el-select>
            </template>
          </el-table-column>
          <el-table-column prop="reason" label="检查结果" align="center">
            <template #default="scope">
              <el-input v-model.trim="scope.row.reason" placeholder="请输入检查结果" :disabled="!editStatus" :clearable="true"
                style="margin-left: 8px;" />
            </template>
          </el-table-column>
          <el-table-column label="废品数量" width="130px" prop="rejectNum" align="center">
            <template #default="scope">
              <el-input-number v-model.trim="scope.row.rejectNum" placeholder="废品数量" :disabled="!editStatus"
                :precision="0" :min="0" controls-position="right" />
            </template>
          </el-table-column>

          <el-table-column fixed="right" label="操作" align="center" width="80px">
            <template #default="scope">
              <el-button link type="danger" icon="Delete" :disabled="!editStatus"
                @click="handleDeleteReject(scope.row)">删除
              </el-button>
            </template>
          </el-table-column>
        </el-table>
      </div>
      <!-- 搜索人员弹窗 -->
      <dialog-person ref="dialogPersonRef" :single-selected="handleGetUser" />
            <!-- 查看工艺路线单 -->
            <dialog-process-detail ref="dialogProcessDetailRef" />
    </div>
  </el-drawer>
</template>
<script setup>
import {
  getProcessList,
  getDayworkItemRejectList,
  getDayworkItemOriginalRejectList,
  updateDayworkItemInfoMax,
  getEquipmentInfo,
  getIsFirstOrder,
} from "@/api/business/daywork.js";
import { getListNotInspectionList } from "@/api/business/lot";
import { listInspectionInstruction } from "@/api/business/productInspectionInstruction.js";
import { ref } from "vue";

const { proxy } = getCurrentInstance();
import dialogPerson from "./person.vue"
import dialogProcessDetail from "./DialogProcessDetail.vue"
const emit = defineEmits(["handleSaveSuccess"]);
/** 字典 */
const { daywork_status_edit } = proxy.useDict("daywork_status_edit");
const { daywork_status_first } = proxy.useDict("daywork_status_first");
const { daywork_status_second } = proxy.useDict("daywork_status_second");
const { sort_standard_type } = proxy.useDict("sort_standard_type");
const detailInfo = ref({});
const loading = ref(false);
const loadingCarrier = ref(false);
const processList = ref([]);
const lotId = ref(null);
const equipmentList = ref([]);
const carriers = ref([]);
const isFirst = ref(true); //是否为首序
const visible = ref(false);
const editStatus = ref(false);
const currentDept = ref(false);
const rejectAmount = ref(0);
const dynamicOptions = ref([]);
const workingHoursTime = ref("");
const maxQuailifiedNum = ref(0);
const sortProductInspection = ref([])
const detailsRow = {
  id: null,
  type: null,
  rejectNum: "",
  checkResult: "",
  checkStandard: ""
};
const validateWorkingHours = (rule, value, callback) => {
  if (form.value.workHoursTimestamp < 0) {
    callback(new Error("结束时间应晚于开始时间"));
  } else {
    callback();
  }
};
const validateQualifiedNum = (rule, value, callback) => {
  const max = maxQuailifiedNum.value;
  if (value < 0) {
    callback(new Error("合格数量应大于/等于0"));
  } else {
    callback();
  }

};
const validateEndTime = (rule, value, callback) => {
  if (form.value.status > 1) {
    if (form.value.endTime == null) {
      callback(new Error("结束时间不能为空"));
    } else {
      callback();
    }
  } else {
    if (form.value.endTime != null) {
      callback(new Error("该状态结束时间应为空"));
    } else {
      callback();
    }
  }
};
const validateStartTime = (rule, value, callback) => {
  if (form.value.status > 1) {
    if (form.value.startTime == null) {
      callback(new Error("开始时间不能为空"));
    } else {
      callback();
    }
  } else {
    callback();
  }
};
const data = reactive({
  form: {
    groupRejectList: [],
    nickName: "",
    processId: "",
    processAlias: "",
    prodNum: 0,
    qualifiedNum: 0,
    rejectNum: 0,
    startTime: "",
    endTime: "",
    workingHours: 0,
    status: "",
    workHoursTimestamp: 0,
  },
  rules: {
    // prodNum: [
    //   { required: true, message: "投产量不能为空", trigger: "blur" },
    //   { validator: validateprodNum, trigger: "blur" },
    // ],
    startTime: [{ validator: validateStartTime, trigger: "blur" }],
    endTime: [{ validator: validateEndTime, trigger: "blur" }],
    workingHoursTime: [{ validator: validateWorkingHours, trigger: "change" }],
    qualifiedNum: [
      { required: true, message: "合格数量不能为空", trigger: "blur" },
      { validator: validateQualifiedNum, trigger: "blur" },
    ],
  },
});

const { form, rules } = toRefs(data);
/***********************  方法区  ****************************/
/** 打开抽屉 */
const open = (row) => {
  reset();
  loading.value = true;
  if (row.id) {
    //查询是否为首序
    getIsFirstOrder(row.dayworkId).then((res) => {
      isFirst.value = res.data.isFirstOrder;
    });
    lotId.value = row.lotId;
    //页面操作是编辑还是删除
    console.log("row", row);
    detailInfo.value = proxy.deepClone(row);
    console.log(detailInfo.value);
    //是否是当前工序
    currentDept.value = row.currentDept;
    form.value.id = row.id;
    form.value.startTime = row.startTime;
    form.value.endTime = row.endTime;
    workingHoursTime.value = row.workingHours;
    form.value.nickName = row.nickName;
    form.value.status = row.status;
    editStatus.value = row.status < 2 ? false : true
    form.value.processId = row.processId;
    form.value.deptId = row.deptId
    form.value.productId = row.productId
    form.value.technologyVersion = row.technologyVersion
    form.value.productionPlanNo = row.productionPlanNo;
    form.value.productDescription = row.productDescription;
    form.value.lotCode = row.lotCode;
    form.value.productionPlanDetailId = row.productionPlanDetailId;
    if (form.value.status == 0 || form.value.status == 1) {
      dynamicOptions.value = daywork_status_first.value;
    } else if (form.value.status == 2 || form.value.status == 3) {
      dynamicOptions.value = daywork_status_edit.value;
    } else {
      dynamicOptions.value = daywork_status_second.value;
    }
    form.value.qualifiedNum = row.qualifiedNum;
    //合格数最大能修改数值
    maxQuailifiedNum.value = row.maxQuailifiedNum;
    form.value.workHoursTimestamp = 0;
    form.value.prodNum = row.prodNum;
    // technologicalProcessId: row.technologicalProcessId
    getProcessList({
      technologicalProcessId: row.technologicalProcessId,
      isAmend: row.isAmend,
      isWasteRecycling: row.isWasteRecycling,
      lotId: row.lotId,
    }).then((res) => {
      processList.value = res.data;
      for (let i = 0; i < processList.value.length; i++) {
        if (processList.value[i].label === row.processAlias.trim()) {
          form.value.processId = processList.value[i].value;
        }
      }
    });

    //查询该工序的分选标准
    listInspectionInstruction({ productId: form.value.productId, processId: form.value.processId, technologyVersion: form.value.technologyVersion }).then(res => {
      if (res.code == 200) {
        sortProductInspection.value = res.rows;
        //查询废品原因
        handleQueryReject()
      }
    })
    getNowCarriers(detailInfo.value)
    loading.value = false;
    visible.value = true;
  }
};
function getCarriers() {
  getListNotInspectionList({ isAbandoned: 0, pageSize: 200 }).then((res) => {
    if (res.code === 200) {
      carriers.value.push(
        ...res.rows.map((v) => ({ value: v.id, label: v.code }))
      );
      carriers.value.push(...form.value.carriers);
      console.log(carriers.value);
    }
  });
}
function getNowCarriers(data) {
  form.value.carriers =
        data.carrierList && data.carrierList.length > 0
          ? data.carrierList.map((v) => ({
            value: v.carrierId,
            label: v.carrierCode,
          }))
          : [];

      const carriers = data.carrierList && data.carrierList.length > 0
        ? data.carrierList.map((v) => ({
          id: v.carrierId,
          code: v.carrierCode,
        }))
        : []
        const carrierIds =   data.carrierList && data.carrierList.length > 0
          ? data.carrierList.map((v) => (
             v.carrierId
          ))
          : [];
      form.value.carrierIds = carrierIds.filter(v => carriers.some(e => e.id == v));
      carriers.value = data.carrierList && data.carrierList.length > 0
        ? data.carrierList.map((v) => ({
          id: v.carrierId,
          code: v.carrierCode,
        }))
        : []
      form.value.carrierList = data.carrierList && data.carrierList.length > 0
        ? data.carrierList.map((v) => ({
          id: v.carrierId,
          code: v.carrierCode,
        }))
        : []
      console.log(carriers.value)
      // getCarriers()
  
}
function remoteCarriers(queryString, choiced) {
  console.log(choiced)
  loadingCarrier.value = true;
  getListNotInspectionList({
    isAbandoned: 0,
    pageSize: 200,
    code: queryString != "" ? queryString : null,
  }).then((res) => {
    if (res.code === 200) {
      form.value.carriers = res.rows.map((v) => ({
        value: v.id,
        label: v.code,
        category: v.categoryId,
      }));
      // console.log(form.value.carriers.length)
      // console.log(carriers.value,"data")

      if(choiced.length>0 &&choiced[0].id != undefined) {
        choiced =  choiced.map((v) => ({
        value:v.id,
        label:v.code
      }));
      }

      let distinctList = []
      choiced.forEach(item => {
          if(!form.value.carriers.some(v => v.value == item.value) ){
            distinctList.push(item)
          }
      });
      console.log(distinctList)
      form.value.carriers.push(
        ...distinctList
          // .filter((v) => !carriers.value.map((e) => e.value).includes(v.id))
      );
      
      console.log( form.value.carrierList)
    } else {
      form.value.carriers = [];
      form.value.carriers.push(...choiced);
    }
    console.log(res.rows)
    // console.log(carriers.value)
    // console.log(form.value.carriers)
    loadingCarrier.value = false;
  });
}

function handleCarrierChange(arg) {
  console.log(from.value.carrierIds)
  console.log(form.value.carriers)
  console.log(carriers.value)
  form.value.carriers = form.value.carrierList
    .filter((v) => arg.includes(v.value))
    .map((v) => ({ value: v.id, label: v.code }));

    form.value.carrierList = form.value.carrierList
    .filter((v) => arg.includes(v.value));
}
//查看工艺路线
function handleViewProcess() {
  proxy.$refs.dialogProcessDetailRef.open(detailInfo.value)
}
//操作者人员带回
function handleGetUser(selection) {
 form.value.nickName = selection.nickName;
 form.value.userId = selection.userId;
 form.value.userName = selection.userName;
}
function handleSelectUserSingle(){
  proxy.$refs.dialogPersonRef.open(detailInfo.value.deptId)
}
/**
 * 对话框关闭 事件
 */
function close() {
  reset();
  visible.value = false;
}

/** 表单重置 */
function reset() {
  form.value = {
    groupRejectList: [],
    nickName: "",
    processId: null,
    processAlias: "",
    prodNum: 0,
    qualifiedNum: 0,
    rejectNum: 0,
    startTime: "",
    endTime: "",
    workingHours: 0,
  };
  proxy.resetForm("dayworkItemRef");
}

/** 提交按钮 */
const handleSave = () => {
  proxy.$refs["dayworkItemRef"].validate((valid) => {
    if (valid) {
      console.log(form.value.groupRejectList)
      rejectAmount.value = 0;
      var reasonList = [];
      var flag = true;
      //判断工序是否是尾序
      var lastProcess = false;
      if (
        form.value.processId ==
        processList.value[processList.value.length - 1].value
      ) {
        lastProcess = true;
      }
      if (lastProcess) {
        if (form.value.status > 3) {
          flag = false;
          proxy.$modal.msgError("尾序不能选择该状态");
        }
      }
      //判断这个item是否能选择工序已完成
      if (detailInfo.value.processFinish && form.value.status == 3) {
        flag = false;
        proxy.$modal.msgError("该道序状态已有工序已完成");
      }
      for (let i = 0; i < form.value.groupRejectList.length; i++) {
        rejectAmount.value += form.value.groupRejectList[i].rejectNum;
        if (form.value.groupRejectList[i].rejectNum <= 0) {
          flag = false;
          proxy.$modal.msgError("第" + (i + 1) + "废品数应大于0");
          return;
        }
        if (!form.value.groupRejectList[i].sortStandard) {
          flag = false;
          proxy.$modal.msgError("第" + (i + 1) + "行分选检查标准不能为空");

          return;
        }
        if (reasonList.indexOf(form.value.groupRejectList[i].sortStandard) >= 0) {
          flag = false;
          proxy.$modal.msgError(
            "第" +
            (i + 1) +
            "行分选检查标准与" +
            (reasonList.indexOf(form.value.groupRejectList[i].sortStandard) + 1) +
            "行相同"
          );
          return;
        }
        reasonList.push(form.value.groupRejectList[i].sortStandard);
      }
      if (rejectAmount.value > form.value.prodNum) {
        flag = false;
        proxy.$modal.msgError(
          "废品总数不能超过投产数，当前废品总数为" + rejectAmount.value
        );
      }
      form.value.workingHours = form.value.workHoursTimestamp;
      //设备id和code
      for (let i = 0; i < equipmentList.value.length; i++) {
        if (form.value.equipmentDetailId == equipmentList.value[i].value) {
          form.value.equipmentDetailCode = equipmentList.value[i].label;
        }
      }
      if (flag) {

        if (form.value.groupRejectList.length > 0) {
          form.value.rejectNum = 0
          form.value.groupRejectList.forEach(item => {
            item.deptId = detailInfo.value.deptId
            item.inspectionInstructionId = item.sortStandard
            let checkStandard = item.standardList.filter(info => info.value == item.sortStandard)[0]
            console.log(checkStandard)
            item.checkStandard = checkStandard.label
            item.processId = detailInfo.value.processId
            //计算废品总数
            form.value.rejectNum += item.rejectNum
          });
        }
        console.log("rejectList", form.value.groupRejectList)
        form.value.dayworkId = detailInfo.value.dayworkId;

        //同工序的所有合格数
        form.value.temporaryProcessQualifiedNum =
          detailInfo.value.totalQuailifiedNum + form.value.qualifiedNum;
        //如果状态从工序已完成改成结束报工，传给后端一个标记，如果为true，则删除中间表对应的数据
        if (detailInfo.value.status == 3 && form.value.status == 2) {
          form.value.dayworkId = detailInfo.value.dayworkId;
          form.value.flag = true;
        }
        let data = form.value;
        data.lotId = lotId.value;

        const max = maxQuailifiedNum.value;
        let sunm =
          detailInfo.value.totalQuailifiedNum + form.value.qualifiedNum; //计算总合格数
        let num = sunm - form.value.prodNum; //多出来的数量
        let percent = (sunm / form.value.prodNum) * 100; //合格率
        percent = Math.ceil(percent * 100) / 100; //只入不舍
        //判断是否超过投产量
        if (sunm > form.value.prodNum) {
          //判断是否为首序
          if (isFirst.value) {
            // 弹出确认对话框
            proxy.$modal
              .confirm(
                "合格数为投产量" +
                percent +
                "%,超出投产量" +
                num +
                "。 是否继续保存！"
              )
              .then(function () {
                updateDayworkItem();
              })
              .then(() => {
                return;
              })
              .catch(() => {
                return;
              });
          } else {
            if (form.value.qualifiedNum <= max) {
              updateDayworkItem();
            } else {
              proxy.$modal.msgError(
                "合格数不能超过投产量的103%,最大合格数为" + max
              );
            }
          }
        } else {
          updateDayworkItem();
        }
      }
    }
  });
};

//页面提交方法
function updateDayworkItem() {
  updateDayworkItemInfoMax(form.value).then((res) => {
    if (res.code == 200) {
      proxy.$modal.msgSuccess("保存成功！");
      visible.value = false;
      emit("handleSaveSuccess");
    } else {
      proxy.$modal.msgError("保存失败！");
    }
  });
}

//删除废弃信息
function handleDeleteReject(row) {
  form.value.groupRejectList.splice(form.value.groupRejectList.indexOf(row), 1);
}
//查询废品信息
function handleQueryReject() {
  getDayworkItemOriginalRejectList({ dayworkItemId: detailInfo.value.id }).then(
    (response) => {
      if (response.code == 200) {
        for (let i = 0; i < response.data.length; i++) {
          response.data[i].rejectNum = parseInt(response.data[i].rejectNum);
          response.data[i].type = response.data[i].type + '';
          if (sortProductInspection.value.length > 0) {
            response.data[i].standardList = sortProductInspection.value.filter(item => response.data[i].type == item.type).map(item => {
              return { value: item.inspectionInstructionId, label: item.standard }
            })
            response.data[i].sortStandard = response.data[i].standardList.filter(item => response.data[i].checkStandard == item.label)[0].value
            console.log(response.data[i].sortStandard)
          }
        }
        form.value.groupRejectList = response.data;
      }
    }
  );
}

//添加废弃信息
function handleAddReject() {
  const newDetail = JSON.parse(JSON.stringify(detailsRow));
  newDetail.rejectNum = 0;
  newDetail.dayworkId = detailInfo.value.dayworkId;
  newDetail.dayworkItemId = detailInfo.value.id;
  newDetail.lotId = detailInfo.value.lotId;
  form.value.groupRejectList.push(newDetail);
}

//计算总工时
function handleTotalTime() {
  if (form.value.endTime == null) {
    workingHoursTime.value = "0小时0分钟0秒";
    form.value.workHoursTimestamp = 0;
  } else {
    form.value.workHoursTimestamp =
      new Date(form.value.endTime) - new Date(form.value.startTime);
    let seconds = Math.floor((form.value.workHoursTimestamp / 1000) % 60);
    let minutes = Math.floor(
      (form.value.workHoursTimestamp / (1000 * 60)) % 60
    );
    let hours = Math.floor(form.value.workHoursTimestamp / (1000 * 60 * 60));
    let time = `${hours}小时${minutes}分钟${seconds}秒`;
    workingHoursTime.value = time;
  }
}

//当生产状态为未开始、生产中时，结束时间为空，合格数为0，废弃信息为空
function handleChangeStatus() {
  if (form.value.status == 1) {
    form.value.endTime = null;
    workingHoursTime.value = "0小时0分钟0秒";
    form.value.workingHours = 0;
    form.value.groupRejectList = [];
    form.value.qualifiedNum = 0;
  }
  if (form.value.status == 0) {
    form.value.endTime = null;
    form.value.startTime = null;
    workingHoursTime.value = "0小时0分钟0秒";
    form.value.workingHours = 0;
    form.value.groupRejectList = [];
    form.value.qualifiedNum = 0;
    form.value.equipmentDetailId = null;
    form.value.equipmentDetailCode = null;
  }
}

function handleChangeType(row, arg) {
  row.checkStandard = null
  if (sortProductInspection.value.length > 0) {
    row.standardList = sortProductInspection.value.filter(item => row.type == item.type).map(item => {
      return { value: item.inspectionInstructionId, label: item.standard }
    })
    row.sortStandard = row.standardList.filter(item => row.checkStandard == item.label)[0]
  }
}

/** 取消按钮 */
const handleCancel = () => {
  visible.value = false;
  reset();
};

/** 暴露给父组件的方法 */
defineExpose({
  open,
});
</script>
<style scoped>
.el-select-v2__placeholder {
  display: flex !important;
}
</style>
