wupengfei
6 天以前 33f3506c93c0b84f6abc165e7d22d2bae1c8fcb1
src/views/Home/BatchChange.vue
@@ -111,6 +111,7 @@
  ProTableV2,
  ProFormUpload,
  UploadUserFile,
  XLSXUtils,
} from '@bole-core/components';
import * as insuranceOrderServices from '@/services/api/InsuranceOrder';
import * as insureBatchBillServices from '@/services/api/InsureBatchBill';
@@ -145,26 +146,46 @@
  },
  {
    id: '4',
    enCode: 'occupationType',
    name: '职业类型',
  },
  {
    id: '5',
    enCode: 'occupationCode',
    name: '职业码值',
  },
  {
    id: '6',
    enCode: 'workEnterprise',
    name: '用工单位',
  },
  {
    id: '7',
    enCode: 'workAddress',
    name: '用工地点',
  },
  {
    id: '8',
    enCode: 'workType',
    name: '雇员工种',
  },
  {
    id: '5',
    id: '9',
    enCode: 'gender',
    name: '性别',
  },
  {
    id: '6',
    id: '10',
    enCode: 'age',
    name: '年龄',
  },
  {
    id: '7',
    id: '11',
    enCode: 'birthDay',
    name: '出生日期',
  },
  {
    id: '8',
    id: '12',
    enCode: 'phoneNumber',
    name: '手机号码',
  },
@@ -217,25 +238,39 @@
      url: response.path,
      insurePolicyId: id,
    };
    let checkRes = await insureBatchBillServices.importCheckBatchAddOrSubOrderData(params, {
      getResponse: true,
      responseType: 'blob',
    });
    if (checkRes?.data?.size) {
    let res = await insureBatchBillServices.importBatchAddOrSubOrderData(params);
    if (res?.error.length > 0) {
      Message.tipMessage('存在错误数据,是否导出?')
        .then(() => {
          downloadFile(checkRes.data, `错误人员名单`, 'xlsx');
          XLSXUtils.exportToXLSX({
            workbookDataList: res?.error,
            fileName: '错误人员名单',
            workbookHeaderMap: {
              changeFlag: '批改标志',
              insuranceScheme: '方案代码',
              name: '被保险人姓名',
              certType: '证件类型',
              idNumber: '证件号码',
              age: '年龄',
              phoneNumber: '手机号',
              occupationType: '职业类型',
              occupationCode: '职业码值',
              workEnterprise: '用工单位',
              workAddress: '用工地点',
              workType: '职业/工种',
              gender: '性别',
              birthDay: '出生日期',
              remark: '备注',
            },
          });
        })
        .catch(() => {
          // getList(paginationState.pageIndex);
          state.staffList = _.uniqBy(res.addOrSub, 'idNumber');
          getList();
        });
    } else {
      let res = await insureBatchBillServices.importBatchAddOrSubOrderData(params);
      if (res?.addOrSub?.length) {
        state.staffList = res.addOrSub;
        getList();
      }
    }
    state.staffList = _.uniqBy(res.addOrSub, 'idNumber');
    getList();
  } catch (error) {}
}
async function handleUploadReplace(response: UploadUserFile) {
@@ -244,25 +279,58 @@
      url: response.path,
      insurePolicyId: id,
    };
    let checkRes = await insureBatchBillServices.importCheckBatchUpdateOrderData(params, {
      getResponse: true,
      responseType: 'blob',
    });
    if (checkRes?.data?.size) {
    // let checkRes = await insureBatchBillServices.importCheckBatchUpdateOrderData(params, {
    //   getResponse: true,
    //   responseType: 'blob',
    // });
    // if (checkRes?.data?.size) {
    //   Message.tipMessage('存在错误数据,是否导出?')
    //     .then(() => {
    //       downloadFile(checkRes.data, `错误人员名单`, 'xlsx');
    //     })
    //     .catch(() => {
    //       // getList(paginationState.pageIndex);
    //     });
    // } else {
    //   let res = await insureBatchBillServices.importBatchUpdateOrderData(params);
    //   if (res?.update?.length) {
    //     state.staffList = res.update;
    //     getList();
    //   }
    // }
    let res = await insureBatchBillServices.importBatchUpdateOrderData(params);
    if (res?.error.length > 0) {
      Message.tipMessage('存在错误数据,是否导出?')
        .then(() => {
          downloadFile(checkRes.data, `错误人员名单`, 'xlsx');
          XLSXUtils.exportToXLSX({
            workbookDataList: res?.error,
            fileName: '错误人员名单',
            workbookHeaderMap: {
              orginName: '原被保人姓名',
              orginIdNumber: '原被保人证件号码',
              name: '被保险人姓名',
              certType: '证件类型',
              idNumber: '证件号码',
              phoneNumber: '手机号',
              occupationType: '职业类型',
              occupationCode: '职业码值',
              workEnterprise: '用工单位',
              workAddress: '用工地点',
              workType: '职业/工种',
              gender: '性别',
              age: '年龄',
              birthDay: '出生日期',
              remark: '备注',
            },
          });
        })
        .catch(() => {
          // getList(paginationState.pageIndex);
          state.staffList = _.uniqBy(_.uniqBy(res.update, 'idNumber'), 'orginIdNumber');
          getList();
        });
    } else {
      let res = await insureBatchBillServices.importBatchUpdateOrderData(params);
      if (res?.update?.length) {
        state.staffList = res.update;
        getList();
      }
    }
    state.staffList = _.uniqBy(_.uniqBy(res.update, 'idNumber'), 'orginIdNumber');
    getList();
  } catch (error) {}
}
@@ -298,7 +366,10 @@
      insurancePolicyId: id,
      effectTime: state.form.time,
      addInsStaffList: _addInsStaffList.filter((x) => x.changeFlag.includes('增加')),
      updateInsStaffList: _addInsStaffList.filter((x) => x.changeFlag.includes('替换')),
      updateInsStaffList: _.uniqBy(
        _addInsStaffList.filter((x) => x.changeFlag.includes('替换')),
        'orginIdNumber'
      ),
      delInsStaffList: _addInsStaffList.filter((x) => x.changeFlag.includes('删除')),
    };
    let res = await insureBatchBillServices.addOrUpdateInsureBatchBill(params);