<template>
  <div class="app-container">
    <div v-show="!isShowDetail && !isShowExamine && !isShowReturnForm">
      <!-- 筛选条件 -->
      <div class="screen-container">
        <Collapse :screen-form="screenForm">
          <template #right_btn>
            <el-button size="mini" @click="resetScreenForm">清空</el-button>
            <el-button size="mini" type="primary" @click="submitScreenForm">搜索</el-button>
          </template>
          <template #left_btn>
            <el-radio-group v-model="screenForm.status" @change="getList()" size="mini">
              <el-radio-button label="">全部</el-radio-button>
              <el-radio-button v-for="(item, index) in statusList" :key="index" :label="item.value">{{
                item.label
              }}</el-radio-button>
            </el-radio-group>
          </template>
          <template #search>
            <el-form ref="screenForm" :model="screenForm" label-width="120px" size="mini" label-position="left">
              <el-row :gutter="20">
                <el-col :xs="24" :sm="12" :lg="6">
                  <el-form-item label="发货单号" prop="orderNum">
                    <el-input v-model="screenForm.orderNum" placeholder="请输入发货单号（多个单号请用逗号隔开）" />
                  </el-form-item>
                </el-col>
                <el-col :xs="24" :sm="12" :lg="6">
                  <el-form-item label="订单号" prop="mainOrderId">
                    <el-input v-model="screenForm.mainOrderId" placeholder="请输入订单号" />
                  </el-form-item>
                </el-col>
                <el-col :xs="24" :sm="12" :lg="6">
                  <el-form-item label="经销商名称" prop="jxsName">
                    <el-input v-model="screenForm.jxsName" placeholder="请输入经销商名称" />
                  </el-form-item>
                </el-col>
                <el-col :xs="24" :sm="12" :lg="6">
                  <el-form-item label="经销商编号" prop="jxsNum">
                    <el-input v-model="screenForm.jxsNum" placeholder="请输入规格型号" />
                  </el-form-item>
                </el-col>
                <el-col :xs="24" :sm="12" :lg="6">
                  <el-form-item label="产品名称" prop="chName">
                    <el-input v-model="screenForm.chName" placeholder="请输入产品名称" />
                  </el-form-item>
                </el-col>
                <el-col :xs="24" :sm="12" :lg="6">
                  <el-form-item label="物料编码" prop="chNum">
                    <el-input v-model="screenForm.chNum" placeholder="请输入物料编码" />
                  </el-form-item>
                </el-col>
                <el-col :xs="24" :sm="12" :lg="6">
                  <el-form-item label="规格型号" prop="model">
                    <el-input v-model="screenForm.model" placeholder="请输入规格型号" />
                  </el-form-item>
                </el-col>
                <el-col :xs="24" :sm="12" :lg="6">
                  <el-form-item label="仓库" prop="warehouse">
                    <el-select
                      v-model="screenForm.warehouse"
                      placeholder="请选择仓库"
                      filterable
                      clearable
                      multiple
                      collapse-tags
                      style="width: 100%"
                    >
                      <el-option
                        v-for="(item, index) in warehouseList"
                        :key="index"
                        :label="item.name"
                        :value="item.id"
                      />
                    </el-select>
                  </el-form-item>
                </el-col>
                <el-col :xs="24" :sm="12" :lg="6">
                  <el-form-item label="单据日期" prop="date">
                    <el-date-picker
                      v-model="screenForm.date"
                      type="datetimerange"
                      range-separator="至"
                      style="width: 100%"
                      value-format="yyyy-MM-dd HH:mm:ss"
                      start-placeholder="开始日期"
                      end-placeholder="结束日期"
                    />
                  </el-form-item>
                </el-col>
                <el-col :xs="24" :sm="12" :lg="6">
                  <el-form-item label="审核日期" prop="approval">
                    <el-date-picker
                      v-model="screenForm.approval"
                      type="datetimerange"
                      range-separator="至"
                      style="width: 100%"
                      value-format="yyyy-MM-dd HH:mm:ss"
                      start-placeholder="开始日期"
                      end-placeholder="结束日期"
                    />
                  </el-form-item>
                </el-col>
                <!-- <el-col :xs="24" :sm="12" :lg="6">
                  <el-form-item label="打印时间排序" prop="printDesc">
                    <el-select v-model="screenForm.printDesc" clearable filterable>
                      <el-option label="默认" :value="null"> </el-option>
                      <el-option label="倒序" :value="1"> </el-option>
                    </el-select>
                  </el-form-item>
                </el-col> -->
                <el-col :xs="24" :sm="12" :lg="6">
                  <el-form-item label="打印日期" prop="printTime">
                    <el-date-picker
                      v-model="screenForm.printTime"
                      type="datetimerange"
                      range-separator="至"
                      style="width: 100%"
                      value-format="yyyy-MM-dd HH:mm:ss"
                      start-placeholder="开始日期"
                      end-placeholder="结束日期"
                    />
                  </el-form-item>
                </el-col>
                <el-col :xs="24" :sm="12" :lg="6">
                  <el-form-item label="出库单号" prop="id">
                    <el-input v-model="screenForm.id" placeholder="请输入出库单号（多个单号请用逗号隔开）" />
                  </el-form-item>
                </el-col>
                <el-col :xs="24" :sm="12" :lg="6">
                  <el-form-item label="金蝶推送状态" prop="syncStatus">
                    <el-select v-model="screenForm.syncStatus" clearable filterable>
                      <el-option label="未推送" :value="0" />
                      <el-option label="推送成功" :value="1" />
                      <el-option label="失败推送" :value="-1" />
                    </el-select>
                  </el-form-item>
                </el-col>
                <el-col :xs="24" :sm="12" :lg="6">
                  <el-form-item label="存货类别" prop="categoryId">
                    <el-select v-model="screenForm.categoryId" filterable clearable placeholder="请选择">
                      <el-option v-for="item in categoryList" :key="item.id" :label="item.name" :value="item.id">
                      </el-option>
                    </el-select>
                  </el-form-item>
                </el-col>
              </el-row>
            </el-form>
          </template>
        </Collapse>
      </div>

      <div class="mymain-container">
        <div class="btn-group clearfix">
          <div class="fl">
            <el-button
              v-if="$checkBtnRole('refund', $route.meta.roles)"
              size="mini"
              type="primary"
              icon="el-icon-plus"
              @click="toReturnForm()"
              >退货申请</el-button
            >
            <el-button
              v-if="$checkBtnRole('examine', $route.meta.roles)"
              size="mini"
              type="warning"
              icon="el-icon-finished"
              :disabled="multipleSelection.length < 1"
              @click="batchExamine"
              >批量审批</el-button
            >
          </div>
          <div class="fr">
            <ExportButton :ex-url="'sale/order/exportChuku'" :ex-params="exParams" />
          </div>
        </div>
        <div class="table">
          <el-table
            v-loading="listLoading"
            :data="dataList"
            element-loading-text="Loading"
            border
            fit
            :row-style="rowClass"
            show-summary
            :summary-method="$getSummaries"
            @selection-change="handleSelectionChange"
          >
            <el-table-column align="center" type="selection" width="55" fixed="left" />
            <el-table-column
              align="left"
              label="金蝶推送状态"
              prop="syncStatus"
              min-width="130"
              show-overflow-tooltip
              sortable
            >
              <template slot-scope="scope">
                {{ scope.row.syncStatus == 0 ? '未推送' : scope.row.syncStatus == 1 ? '推送成功' : '失败推送' }}
              </template>
            </el-table-column>
            <el-table-column
              align="left"
              label="状态"
              prop="examineStatus"
              min-width="100"
              show-overflow-tooltip
              sortable
            >
              <template slot-scope="scope">
                {{ scope.row.examineStatus | statusFilter }}
              </template>
            </el-table-column>
            <el-table-column
              align="left"
              label="打印时间"
              prop="printTime"
              min-width="100"
              show-overflow-tooltip
              sortable
            />
            <el-table-column
              align="left"
              label="订单类型"
              prop="orderType"
              min-width="100"
              show-overflow-tooltip
              sortable
            >
              <template slot-scope="scope">
                {{ scope.row.orderType | orderTypeFilter }}
              </template>
            </el-table-column>
            <!-- <el-table-column
              align="left"
              label="发票号"
              prop="billReceipt"
              min-width="250"
              show-overflow-tooltip
              sortable
            >
              <template slot-scope="scope">
                {{ scope.row.billReceipt }}
              </template>
            </el-table-column> -->
            <el-table-column align="left" label="销售出库单号" prop="id" min-width="140" show-overflow-tooltip sortable>
              <template slot-scope="scope">
                <CopyButton :copy-text="scope.row.id" />
                <span>{{ scope.row.id }}</span>
              </template>
            </el-table-column>
            <el-table-column
              align="left"
              label="发货单号"
              prop="orderNo"
              min-width="130"
              show-overflow-tooltip
              sortable
            >
              <template slot-scope="scope">
                <CopyButton :copy-text="scope.row.orderNo" />
                <span>{{ scope.row.orderNo }}</span>
              </template>
            </el-table-column>
            <el-table-column align="left" label="订单号" prop="orderNo" min-width="140" show-overflow-tooltip sortable>
              <template slot-scope="scope">
                <CopyButton
                  :copy-text="
                    scope.row.orderType === 'TRADE' ||
                    scope.row.orderType === 'HOME' ||
                    scope.row.orderType === 'REQUISITION_TRADE' ||
                    scope.row.orderType === 'REQUISITION_HOME'
                      ? scope.row.enginOrderNo
                      : scope.row.mainOrderId
                  "
                />
                <span>{{
                  scope.row.orderType === 'TRADE' ||
                  scope.row.orderType === 'HOME' ||
                  scope.row.orderType === 'REQUISITION_TRADE' ||
                  scope.row.orderType === 'REQUISITION_HOME'
                    ? scope.row.enginOrderNo
                    : scope.row.mainOrderId
                }}</span>
              </template>
            </el-table-column>
            <el-table-column
              align="left"
              label="仓库"
              prop="correspondName"
              min-width="100"
              show-overflow-tooltip
              sortable
            />
            <el-table-column
              align="left"
              label="经销商编码"
              prop="customerNumber"
              min-width="120"
              show-overflow-tooltip
              sortable
            >
              <template slot-scope="scope">
                <CopyButton :copy-text="scope.row.customerNumber" />
                <span>{{ scope.row.customerNumber }}</span>
              </template>
            </el-table-column>
            <el-table-column
              align="left"
              label="经销商名称"
              prop="customerName"
              min-width="250"
              show-overflow-tooltip
              sortable
            >
              <template slot-scope="scope">
                <CopyButton :copy-text="scope.row.customerName" />
                <span>{{ scope.row.customerName }}</span>
              </template>
            </el-table-column>
            <el-table-column
              align="left"
              label="物料编码"
              prop="materialCode"
              min-width="120"
              show-overflow-tooltip
              sortable
            >
              <template slot-scope="scope">
                <CopyButton :copy-text="scope.row.materialCode" />
                <span>{{ scope.row.materialCode }}</span>
              </template>
            </el-table-column>
            <el-table-column
              align="left"
              label="产品编码"
              prop="materialOldNumber"
              min-width="140"
              show-overflow-tooltip
              sortable
            >
              <template slot-scope="scope">
                <CopyButton :copy-text="scope.row.materialOldNumber" />
                <span>{{ scope.row.materialOldNumber }}</span>
              </template>
            </el-table-column>
            <el-table-column
              align="left"
              label="产品名称"
              prop="materialName"
              min-width="160"
              show-overflow-tooltip
              sortable
            >
              <template slot-scope="scope">
                <CopyButton :copy-text="scope.row.materialName" />
                <span>{{ scope.row.materialName }}</span>
              </template>
            </el-table-column>
            <el-table-column
              align="left"
              label="规格型号"
              prop="specification"
              min-width="350"
              show-overflow-tooltip
              sortable
            >
              <template slot-scope="scope">
                <CopyButton :copy-text="scope.row.specification" />
                <span>{{ scope.row.specification }}</span>
              </template>
            </el-table-column>
            <el-table-column align="left" label="单位" prop="unit" min-width="100" show-overflow-tooltip sortable />
            <el-table-column
              align="left"
              label="制单人"
              prop="createBy"
              min-width="100"
              show-overflow-tooltip
              sortable
            />
            <el-table-column
              align="left"
              label="审核时间"
              prop="approvalTime"
              min-width="150"
              show-overflow-tooltip
              sortable
            />

            <el-table-column
              align="right"
              label="数量"
              prop="refundableQty"
              min-width="100"
              show-overflow-tooltip
              sortable
            />
            <el-table-column
              align="left"
              label="金蝶部门"
              prop="k3OrgName"
              min-width="120"
              show-overflow-tooltip
              sortable
            />
            <el-table-column
              align="left"
              label="钱包"
              prop="customerWalletName"
              min-width="100"
              show-overflow-tooltip
              sortable
            />
            <!-- <el-table-column align="right" label="单价" prop="price" min-width="100" show-overflow-tooltip
              sortable>
              <template slot-scope="scope">
                {{ scope.row.price | numToFixed }}
              </template>
            </el-table-column> -->
            <!-- <el-table-column align="right" label="订单金额" prop="payAmount" min-width="100" show-overflow-tooltip
              sortable>
              <template slot-scope="scope">
                {{ scope.row.payAmount | numToFixed }}
              </template>
            </el-table-column> -->
            <!-- <el-table-column align="left" label="订单备注" prop="headerRemark" min-width="160" show-overflow-tooltip
              sortable></el-table-column> -->
            <!-- <el-table-column align="left" label="发货申请备注" prop="remark" min-width="160" show-overflow-tooltip
              sortable></el-table-column> -->
            <!-- <el-table-column align="left" label="表体备注" prop="invoiceRemark" min-width="160" show-overflow-tooltip
              sortable></el-table-column> -->
            <!-- <el-table-column align="left" label="业务员" prop="serviceName" min-width="100" show-overflow-tooltip
              sortable></el-table-column> -->
            <!-- <el-table-column align="left" label="表头业务员" prop="k3ServiceName" min-width="100" show-overflow-tooltip
              sortable></el-table-column> -->

            <el-table-column align="center" label="操作" width="120" fixed="right">
              <template slot-scope="scope">
                <el-button type="text" @click="toDetail(scope.row)">详情</el-button>
                <el-button
                  v-if="scope.row.type === 2 && scope.row.examineStatus !== 'OK'"
                  type="text"
                  @click="toDetail(scope.row), (edit = true)"
                  >编辑</el-button
                >
                <el-button
                  v-if="$checkBtnRole('examine', $route.meta.roles) && scope.row.examineStatus === 'WAIT'"
                  type="text"
                  @click="toExamine(scope.row)"
                  >审批</el-button
                >
                <el-popconfirm
                  v-if="$checkBtnRole('examine', $route.meta.roles) && scope.row.examineStatus === 'OK'"
                  style="margin-left: 10px"
                  title="确定弃审吗？"
                  @onConfirm="handleAbandon(scope.row.id)"
                >
                  <el-button slot="reference" type="text">弃审</el-button>
                </el-popconfirm>
              </template>
            </el-table-column>
          </el-table>
        </div>
      </div>
      <div class="pagination clearfix">
        <div class="fr">
          <el-pagination
            :current-page="currentPage"
            :page-sizes="[10, 20, 30, 50, 100]"
            :page-size="10"
            layout="total, sizes, prev, pager, next, jumper"
            :total="listTotal"
            @size-change="handleSizeChange"
            @current-change="handleCurrentChange"
          />
        </div>
      </div>
    </div>

    <ExamineDialog :is-show.sync="isShowExamineDialog" :examine-form.sync="examineForm" />

    <SalesDetail v-if="isShowDetail" :list-item="queryItem" :edit="edit" @backListFormDetail="backList" />
    <SalesExamine v-if="isShowExamine" :list-item="queryItem" @backListFormExamine="backList" />
    <SalesReturnForm v-if="isShowReturnForm" :list-item="queryItem" @backListFormDetail="backList" />
  </div>
</template>

<script>
import { abandonData, examineBatch, examineJudge, getList, getWarehouseList, getListOrderNo } from '@/api/supply/sales'
import SalesDetail from '@/views/supply/sales/components/sales_detail'
import SalesExamine from '@/views/supply/sales/components/sales_examine'
import SalesReturnForm from '@/views/supply/sales/components/sales_return_form'
import ExamineDialog from '@/components/Common/examine-dialog'
import { getCategoryList } from '@/api/common'
import { getNoRebateWalletList } from '@/api/policy_list'

let that
export default {
  components: {
    SalesDetail,
    SalesExamine,
    SalesReturnForm,
    ExamineDialog
  },
  filters: {
    statusFilter(val) {
      if (that.statusList.length) {
        const obj = that.statusList.find(o => o.value == val)
        return obj ? obj.label : ''
      }
      return ''
    },
    orderTypeFilter(val) {
      if (that.orderTypeList.length) {
        const obj = that.orderTypeList.find(o => o.value == val)
        return obj ? obj.label : ''
      }
      return ''
    },
    billStatusFilter(val) {
      const MAP = {
        1: '已开票',
        0: '未开票'
      }
      return MAP[val]
    }
  },
  data() {
    return {
      currentPage: 1, // 当前页码
      pageSize: 10, // 每页数量
      listTotal: 0, // 列表总数
      dataList: null, // 列表数据
      listLoading: false, // 列表加载loading
      screenForm: {
        // 筛选表单数据
        orderNum: '',
        jxsName: '',
        jxsNum: '',
        chName: '',
        chNum: '',
        model: '',
        warehouse: [],
        date: '',
        status: '',
        mainOrderId: '',
        approval: '',
        printTime: '',
        printDesc: null,
        syncStatus: '',
        id: '',
        categoryId: ''
      },
      statusList: [
        { label: '已保存', value: 'SAVE' },
        { label: '待审核', value: 'WAIT' },
        { label: '审核通过', value: 'OK' }
        // { label: '审核驳回', value: 'FAIL' },,
      ],
      orderTypeList: [
        { label: '商用', value: 'TRADE' },
        { label: '家用', value: 'HOME' },
        { label: '零售单', value: 'RETAIL' },
        { label: '销售政策单', value: 'RETAIL_POLICY' },
        { label: '置换单家用', value: 'PERMU_HOME' },
        { label: '置换商用', value: 'PERMU_TRADE' },
        { label: '置换零售', value: 'PERMU_RETAIL' },
        { label: '置换销售政策单', value: 'PERMU_RETAIL_POLICY' },
        { label: '调拨单零售', value: 'REQUISITION_RETAIL' },
        { label: '调拨单销售政策', value: 'REQUISITION_RETAIL_POLICY' },
        { label: '调拨单商用', value: 'REQUISITION_TRADE' },
        { label: '调拨单家用', value: 'REQUISITION_HOME' }
      ],
      warehouseList: [],
      centerDialogVisible: false,
      cid: '',
      isCollapse: true,
      queryItem: {},
      isShowDetail: false,
      isShowExamine: false,
      isShowReturnForm: false,
      value1: '',
      qty: '',
      edit: false,
      choiceDate: '',
      selectRow: [],
      categoryList: [],
      multipleSelection: [],
      isShowExamineDialog: false,
      examineForm: {
        status: '',
        remark: ''
      },
      setDisabled: {
        disabledDate: time => {
          if (this.choiceDate) {
            const res = 13 * 24 * 3600 * 1000
            const minTime = this.choiceDate - res
            const maxTime = this.choiceDate + res
            return time.getTime() < minTime || time.getTime() > maxTime
          }
        },
        onPick: ({ maxDate, minDate }) => {
          this.choiceDate = minDate.getTime()
          if (maxDate) this.choiceDate = ''
        }
      }
    }
  },

  computed: {
    exParams() {
      return {
        examineStatus: this.screenForm.status,
        orderNo: this.screenForm.orderNum.replace(/，/gi, ','),
        customerName: this.screenForm.jxsName,
        customerNumber: this.screenForm.jxsNum,
        materialName: this.screenForm.chName,
        materialNumber: this.screenForm.chNum,
        specification: this.screenForm.model,
        correspondId: this.screenForm.warehouse.join(','),
        startTime: this.screenForm.date ? this.screenForm.date[0] : '',
        endTime: this.screenForm.date ? this.screenForm.date[1] : '',
        syncStatus: this.screenForm.syncStatus,
        categoryId: this.screenForm.categoryId,
        approvalStartTime: this.screenForm.approval ? this.screenForm.approval[0] : '',
        approvalEndTime: this.screenForm.approval ? this.screenForm.approval[1] : '',
        printStartTime: this.screenForm.printTime ? this.screenForm.printTime[0] : '',
        printEndTime: this.screenForm.printTime ? this.screenForm.printTime[1] : '',
        mainOrderId: this.screenForm.mainOrderId,
        printTimeDesc: this.screenForm.printDesc,
        id: this.screenForm.id.replace(/，/gi, ',')
      }
    }
  },

  watch: {
    multipleSelection(data) {
      // 监听选中状态
      this.selectRow = []
      if (data.length > 0) {
        data.forEach((item, index) => {
          this.selectRow.push(item.id)
        })
      }
    }
  },

  beforeCreate() {
    that = this
  },

  created() {
    this.getWarehouseList()
    this.getList()
    this.getCategoryList()
  },

  methods: {
    // 查询列表
    getList() {
      this.listLoading = true
      const params = {
        pageNum: this.currentPage,
        pageSize: this.pageSize,
        examineStatus: this.screenForm.status,
        orderNo: this.screenForm.orderNum.replace(/，/gi, ','),
        customerName: this.screenForm.jxsName,
        customerNumber: this.screenForm.jxsNum,
        materialName: this.screenForm.chName,
        materialNumber: this.screenForm.chNum,
        specification: this.screenForm.model,
        correspondId: this.screenForm.warehouse.join(','),
        syncStatus: this.screenForm.syncStatus,
        categoryId: this.screenForm.categoryId,

        startTime: this.screenForm.date ? this.screenForm.date[0] : '',
        endTime: this.screenForm.date ? this.screenForm.date[1] : '',
        approvalStartTime: this.screenForm.approval ? this.screenForm.approval[0] : '',
        approvalEndTime: this.screenForm.approval ? this.screenForm.approval[1] : '',
        mainOrderId: this.screenForm.mainOrderId,
        printStartTime: this.screenForm.printTime ? this.screenForm.printTime[0] : '',
        printEndTime: this.screenForm.printTime ? this.screenForm.printTime[1] : '',
        printTimeDesc: this.screenForm.printDesc,
        id: this.screenForm.id.replace(/，/gi, ',')
      }
      getList(params).then(res => {
        res.data.records.forEach(item => {
          item.sums1 = ['refundableQty']
          item.sums2 = ['price', 'payAmount']
        })
        this.dataList = res.data.records
        this.listTotal = res.data.total
        this.listLoading = false
      })
    },

    // 获取仓库列表
    getWarehouseList() {
      getWarehouseList({
        pageNum: 1,
        pageSize: -1
      }).then(res => {
        this.warehouseList = res.data.records
      })
    },
    // 获取存货类别列表
    getCategoryList() {
      getCategoryList({
        pageNum: 1,
        pageSize: -1,
        keyword: ''
      }).then(res => {
        this.categoryList = res.data.records
        console.log(this.categoryList)
      })
      // getNoRebateWalletList({
      //   walletName: ''
      // }).then(res => {
      //   console.log(res)
      //   this.NoRebateWalletList = res.data
      // })
    },
    updateReceipt() {
      if (!this.value1) {
        this.$errorMsg('请选择时间')

      }
      // updateReceipt({
      // startTime:this.value1[0],
      // endTime:this.value1[1]
      // }).then(res=>{
      //    this.getList();
      //   this.$successMsg("已更新");
      //    this.value1 = ''
      // })
    },
    // 提交筛选表单
    submitScreenForm() {
      this.currentPage = 1
      this.getList()
      if (this.screenForm.orderNum) {
        getListOrderNo({
          orderNo: this.screenForm.orderNum.replace(/，/gi, ',')
        }).then(res => {
          if (res.data) {
            this.$confirm(res.data, '提示', {
              confirmButtonText: '确定',
              showCancelButton: false
            })
          }
        })
      }
    },

    // 重置筛选表单
    resetScreenForm() {
      this.$refs.screenForm.resetFields()
      this.currentPage = 1
      this.getList()
    },

    // 更改每页数量
    handleSizeChange(val) {
      this.pageSize = val
      this.currentPage = 1
      this.getList()
    },

    // 更改当前页
    handleCurrentChange(val) {
      this.currentPage = val
      this.getList()
    },

    // 判断是否可以审批
    async examineJudge(item) {
      // 获取页面模版
      const result = await new Promise((resolve, reject) => {
        examineJudge({ id: item.id })
          .then(res => {
            resolve(res.code == 200)
          })
          .catch(res => {
            resolve(0)
          })
      })
      return result
    },

    // 进入表单
    toReturnForm(item) {
      this.queryItem = item
      this.isShowReturnForm = true
    },

    // 进入详情
    toDetail(item) {
      this.queryItem = item
      this.isShowDetail = true
    },

    // 进入审批
    async toExamine(item) {
      const canExamine = await this.examineJudge(item)
      if (!canExamine) {
        return false
      }
      this.queryItem = item
      this.isShowExamine = true
    },

    backList() {
      this.queryItem = {}
      this.isShowDetail = false
      this.isShowExamine = false
      this.isShowReturnForm = false
    },

    handleSelectionChange(val) {
      this.multipleSelection = val
      if (val) {
        this.selections = val
      } else {
        this.selections = []
      }
    },

    rowClass({ row, rowIndex }) {
      if (this.selectRow.includes(row.id)) {
        return { 'background-color': '#ecf5ff' }
      }
    },

    // 打开 批量审批
    batchExamine() {
      this.isShowExamineDialog = true
    },

    // 提交 批量审批
    submitExamineForm() {
      const ids = this.multipleSelection.map(item => {
        return item.id
      })
      examineBatch({
        ids: ids.join(','),
        examineStatus: this.examineForm.status,
        approvalRemark: this.examineForm.remark
      }).then(res => {
        this.isShowExamineDialog = false
        this.getList()
        this.$successMsg('修改成功')
      })
    },

    // 弃审
    handleAbandon(id) {
      abandonData({ id }).then(res => {
        this.$successMsg()
        this.getList()
      })
    }
  }
}
</script>

<style lang="scss" scoped></style>
