zhengyiming
5 天以前 11f6322ff10f1065fd4fce0cdb558dd8fda21dbb
src/views/Home/Home.vue
@@ -53,6 +53,13 @@
          </QueryFilterItem>
        </template>
        <template #btn>
          <el-button
            @click="handleDownloadOccupationType()"
            type="primary"
            style="margin-right: 10px"
            link
            >职业类型对照表</el-button
          >
          <el-button @click="handleDownload()" type="primary" style="margin-right: 10px" link
            >模板下载</el-button
          >
@@ -87,8 +94,9 @@
            class="box-item"
            effect="dark"
            :content="row.auditRemark"
            placement="top-start"
            placement="top"
            v-if="row.auditStatus === InsurancePolicyAuditStatusEnum.Reject && row.auditRemark"
            popper-class="max-width-popper"
          >
            <div style="display: inline-flex; align-items: center; color: inherit">
              {{ InsurancePolicyAuditStatusEnumText[row.auditStatus] }}
@@ -138,6 +146,9 @@
  InsurancePolicyAuditStatusEnumText,
  InsurancePolicyAuditStatusEnum,
  InsurancePolicyProductIdNumberEnum,
  InsurancePolicyListPayStatusEnum,
  InsurancePolicyListPayStatusEnumText,
  InsuranceOccupationTypeTempPath,
} from '@/constants';
import dayjs from 'dayjs';
import _ from 'lodash';
@@ -166,8 +177,7 @@
    },
    extraProps: {
      hide: (row: API.GetInsurancePageOutput) =>
        row.productIdNumber === InsurancePolicyProductIdNumberEnum.SJB ||
        row.status !== InsurancePolicyStatusEnum.Effecting,
        row.productOnline || row.status !== InsurancePolicyStatusEnum.Effecting,
    },
  },
  {
@@ -180,7 +190,6 @@
    },
    extraProps: {
      hide: (row: API.GetInsurancePageOutput) =>
        row.productIdNumber === InsurancePolicyProductIdNumberEnum.SJB ||
        row.auditStatus !== InsurancePolicyAuditStatusEnum.Pass ||
        row.status !== InsurancePolicyStatusEnum.WaitEffect,
    },
@@ -194,9 +203,47 @@
      onClick: (role) => handleDownloadInsureFile(role),
    },
    extraProps: {
      hide: (row: API.GetInsurancePageOutput) => !row.insureBillUrl,
      hide: (row: API.GetInsurancePageOutput) => row.productOnline || !row.insureBillUrl,
    },
  },
  {
    data: {
      enCode: 'payBtn',
      name: '支付',
    },
    emits: {
      onClick: (role) => handlePay(role),
    },
    extraProps: {
      hide: (row: API.GetInsurancePageOutput) =>
        row.payStatus != InsurancePolicyListPayStatusEnum.WaitPay,
    },
  },
  {
    data: {
      enCode: 'stampFilesBtn',
      name: '保单下载',
    },
    emits: {
      onClick: (role) => handleGoStampFiles(role),
    },
    extraProps: {
      hide: (row: API.GetInsurancePageOutput) => !(row.productOnline && row.anyPayComplete),
    },
  },
  {
    data: {
      enCode: 'downloadInvoiceBtn',
      name: '发票下载',
    },
    emits: {
      onClick: (role) => handleGoDownloadInvoice(role),
    },
    extraProps: {
      hide: (row: API.GetInsurancePageOutput) => !(row.productOnline && row.anyPayComplete),
    },
  },
  // {
  //   data: {
  //     enCode: 'standarEndoBtn',
@@ -260,6 +307,7 @@
        formatter: (row: API.GetInsurancePageOutput) =>
          row.amount == null ? '' : toThousand(row.amount),
      },
      payStatus: { type: 'enum', valueEnum: InsurancePolicyListPayStatusEnumText },
    },
  }
);
@@ -386,6 +434,10 @@
  } catch (error) {}
}
function handleDownloadOccupationType() {
  downloadFileByUrl(InsuranceOccupationTypeTempPath, '职业类型对照表');
}
function handleDownload() {
  downloadFileByUrl(InsuranceOrderTempPath, '保单导入模板');
}
@@ -489,4 +541,36 @@
    // }
  } catch (error) {}
}
async function handleGoStampFiles(row: API.GetInsurancePageOutput) {
  try {
    router.push({
      name: 'InsurancePolicyStampFiles',
      params: {
        id: row.id,
      },
    });
  } catch (error) {}
}
function handlePay(row: API.GetInsurancePageOutput) {
  router.push({
    name: 'InsurePayDetail',
    params: {
      id: row.id,
    },
  });
}
async function handleGoDownloadInvoice(row: API.GetInsurancePageOutput) {
  try {
    await insuranceOrderServices.getInvoiceId({ id: row.id });
    router.push({
      name: 'InsureDownloadInvoice',
      params: {
        id: row.id,
      },
    });
  } catch (error) {}
}
</script>