初次提交代码

This commit is contained in:
2026-05-27 14:12:10 +08:00
parent 321aa5b319
commit ca32aa87e7
88 changed files with 19000 additions and 1 deletions

325
src/CONSTANTS.ts Normal file
View File

@@ -0,0 +1,325 @@
// 这里存放项目的常量配置
// oa 正式环境东风
// oa 测试环境 TODO 待建立
// 协议类型常量
export const INVOICE_TYPES = {
NORMAL: 0,
VOID_CURRENT_MONTH: 1,
VOID_REDEEM: 2
}
// 发票类型编码
export const INVOICE_TYPE_CODE = {
[INVOICE_TYPES.NORMAL]: '0',
[INVOICE_TYPES.VOID_CURRENT_MONTH]: '1',
[INVOICE_TYPES.VOID_REDEEM]: '2'
}
export const INVOICE_TYPE_NAME = {
'普通票': INVOICE_TYPES.NORMAL,
'作废当月': INVOICE_TYPES.VOID_CURRENT_MONTH,
'作废红冲': INVOICE_TYPES.VOID_REDEEM
}
export const AGREEMENT_TYPES = {
LARGE: 'large',
INDEPENDENT: 'independent',
LARGE_INDEPENDENT: 'large_independent',
OTHER: 'other'
}
// 协议类型编码
export const AGREEMENT_TYPE_CODE = {
[AGREEMENT_TYPES.LARGE]: '1',
[AGREEMENT_TYPES.INDEPENDENT]: '2',
[AGREEMENT_TYPES.LARGE_INDEPENDENT]: '3',
[AGREEMENT_TYPES.OTHER]: '4'
}
export const AGREEMENT_TYPE_NAME = {
'大协议(客户服务室专用)': AGREEMENT_TYPES.LARGE,//大协议改为大协议(客户服务室专用)
'独立协议': AGREEMENT_TYPES.INDEPENDENT,
'大协议+独立协议(客户服务室专用)': AGREEMENT_TYPES.LARGE_INDEPENDENT,//大协议+独立协议改为大协议+独立协议(客户服务室专用)
'其它': AGREEMENT_TYPES.OTHER
}
// 创建一个从协议类型编码到协议类型名称的映射
export const AGREEMENT_CODE_TO_NAME = Object.fromEntries(
Object.entries(AGREEMENT_TYPE_NAME).map(([name, code]) => [AGREEMENT_TYPE_CODE[code], name])
);
export const AGREEMENT_CODE_TO_TYPE = Object.fromEntries(
Object.entries(AGREEMENT_TYPE_CODE).map(([type, code]) => [code, type])
);
// 字段映射配置
export const FIELD_MAPPINGS = {
purchase_contract_execution_maintenance: {
'数据id': 'data_id',
'发起人': 'initiator',
'合同编号': 'contract_number',
'合同名称': 'contract_name',
'履约发起部门': 'lvyue_faqi_bumen',
'经办人': 'operator',
'相对方': 'xiangduifang',
'是否开口': 'is_open',
'合同总额': 'contract_amount',
'备注': 'remarks',
'履约开始时间': 'performance_start_time',
'合同原件扫描件(盖章版)': 'hetong_yuanjian_saomiaojian_gaizhangban',
'钉钉采购审批单': 'dingding_purchase_approval_file',
'合同附件扫描件': 'contract_attachment_scan',
'创建时间': 'creation_time',
'创建人': 'creator',
'更新时间': 'update_time',
'创建人部门': 'creator_department',
'审批单标题': 'approval_form_title',
'耗时(时:分:秒)': 'time_consumed',
},
'purchase_contract_order_management': {
'数据id': 'data_id',
'采购合同编号': 'purchase_contract_number',
'采购用途': 'purchase_purpose',
'项目编号': 'project_number',
'项目名称': 'project_name',
'关联销售合同编号': 'associated_sales_contract_number',
'合同名称': 'contract_name',
'采购审批单号(请先填写合同编号)': 'purchase_approval_number',
//'采购订单编号(请先填写合同编号)': 'purchase_approval_number',
'合同名称(***请再次确认合同名称***)': 'purchase_contract_name',
// '采购合同名称(***请再次确认合同名称***)': 'purchase_contract_name',
'相对方': 'xiang_dui_fang',
'合同类别(是否开口)': 'he_tong_lei_bie',
'合同总金额(含税)': 'he_tong_zong_jin_e_HanShui',
'剩余金额(含税)': 'sheng_yu_jin_e_HanShui',
'合同剩余金额提醒': 'he_tong_sheng_yu_jin_e_ti_xing',
'本次订单名称': 'ben_ci_ding_dan_ming_cheng',
'本次订单金额(含税)': 'ben_ci_ding_dan_jin_e_HanShui',
'本次订单履约开始时间': 'ben_ci_ding_dan_lu_yue_kai_shi_shi_jian',
'本次订单履约结束时间': 'ben_ci_ding_dan_lu_yue_jie_shu_shi_jian',
'本次订单发起部门': 'ben_ci_ding_dan_fa_qi_bu_men',
'本次订单发起人': 'ben_ci_ding_dan_fa_qi_ren',
'本次订单发起时间': 'ben_ci_ding_dan_fa_qi_shi_jian',
'本次订单文本(多文件请压缩后上传)': 'ben_ci_ding_dan_wen_ben',
'本次订单关联合同附件': 'ben_ci_ding_dan_guan_lian_he_tong_fujian',
'审批编号': 'approval_number',
'创建时间': 'creation_time',
'创建人': 'creator',
'当前负责人': 'current_responsible_person',
'审批结果': 'approval_result',
'审批状态': 'approval_status',
'更新时间': 'update_time',
'创建人部门': 'creator_department',
'审批单标题': 'approval_form_title',
'耗时(时:分:秒)': 'time_consumed'
},
"dingding_oa_invoice_application": {
'数据id': 'dataId',
'开票类型': 'agreementType',
'申请日期': 'applicationDate',
'申请人': 'applicant',
'申请部门': 'applicationDepartment',
'业务组名称': 'xiang_mu_zu_bie',//项目组别改为业务组名称
'预计报销第三方成本(不含税,元)': 'yuJiBaoXiaoDiSanFangChengBenYuan',
'业务开始时间': 'businessStartTime',
'业务结束时间': 'businessEndTime',
'销售合同编号': 'contractNumber',// 因为这里是关联的数据怀疑是 别名 --展示名称前面有销售
'销售合同名称': 'contractName',// 因为这里是关联的数据怀疑是 别名--展示名称前面有销售
'上传合同及相关附件': 'uploadedContractAttachment',
'上传合同及相关附件(含费用清单)': 'uploadedContractAttachment',
'项目编号': 'projectNumber',
'金额是否含税': 'is_tax_inclusive',//是否含税改为金额是否含税
'开票税率': 'invoice_tax_rate',
'是否多项目合并': 'is_multi_project_merge',
'上传费用清单': 'uploadedSealedCostListDa',//上传盖章费用清单(大)改为上传费用清单
'请上传费用清单': 'uploadedSealedCostListDa',//上传盖章费用清单(大)改为上传费用清单
'上传盖章费用清单(独)': 'uploadedSealedCostListDu',//上传盖章费用清单(独)弃用
'付款单位名称': 'customerCompanyName',//客户单位名称改为付款单位名称
'付款单位名称2': 'customerCompanyName',//客户单位名称改为付款单位名称
'付款单位名称3': 'customerCompanyName',//客户单位名称改为付款单位名称
'客户单位名称(其他)': 'customerCompanyNameOther',
'统一社会信用代码': 'tong_yi_she_hui_xin_yong_dai_ma',
'开户行名称': 'bankName',
'银行账号': 'bankAccount',
'付款人': 'payee',//新增付款人
'付款人2': 'payee',//新增付款人
'付款人3': 'payee',//新增付款人
'发票税目': 'invoice_tax_category',
'业务内容(摘要)': 'business_content_du',
'开票金额明细(大)': 'invoice_amount_yuan_da',//开票金额明细(大)
// "开票金额(元,不含税)": 'invoice_amount_yuan_bu_han_shui',//开票金额(元,不含税)
// "付款单位名称2": 'customerCompanyName2',//新增付款单位名称2
// "付款单位名称3": 'customerCompanyName3',//新增付款单位名称3
// "付款人3": 'payee3',//新增付款人3
// "付款人2": 'payee2',//新增付款人2
// "项目名称1": 'projectName1',//新增项目名称1
'开票金额(元,不含税)':'invoice_amount_yuan',
'开票金额(元)独': 'invoice_amount_yuan_du',
'开票金额(元)其他': 'invoice_amount_yuan_other',
'不含税金额(元)独': 'bu_han_shui_jin_e_yuan_du',
'不含税金额(元)独(大写)': 'bu_han_shui_jin_e_yuan_du_da_xie',
'含税金额(元)独': 'han_shui_jin_e_yuan_du',
'含税金额(元)独(大写)': 'han_shui_jin_e_yuan_du_da_xie',
'不含税金额(元)其他': 'bu_han_shui_jin_e_yuan_other',
'不含税金额(元)其他(大写)': 'bu_han_shui_jin_e_yuan_other_da_xie',
'含税金额(元)其他': 'han_shui_jin_e_yuan_other',
'含税金额(元)其他(大写)': 'han_shui_jin_e_yuan_other_da_xie',
'不含税金额(元)多': 'bu_han_shui_jin_e_yuan_duo',
'不含税金额(元)多项': 'bu_han_shui_jin_e_yuan_duo',
'不含税金额(元)多(大写)': 'bu_han_shui_jin_e_yuan_duo_da_xie',
'含税金额(元)多': 'han_shui_jin_e_yuan_duo',
'含税金额(元)多项': 'han_shui_jin_e_yuan_duo',
'含税金额(元)多(大写)': 'han_shui_jin_e_yuan_duo_da_xie',
'不含税金额(元)大': 'bu_han_shui_jin_e_yuan_da',
'含税总金额(元)大': 'han_shui_zong_jin_e_yuan_da',
'不含税金额(元)(大+独)': 'bu_han_shui_jin_e_yuan_da_du',
'不含税金额(元)(大+独)(大写)': 'bu_han_shui_jin_e_yuan_da_du_da_xie',
'含税总金额(元)(大+独)': 'han_shui_zong_jin_e_yuan_da_du',
'含税总金额(元)(大+独)(大写)': 'han_shui_zong_jin_e_yuan_da_du_da_xie',
"不含税金额(元)多家": 'bu_han_shui_jin_e_yuan_duo',//不含税金额(元)多项改为多家
"含税金额(元)多家": 'han_shui_jin_e_yuan_duo',//含税金额(元)多项改为多家
'审批编号': 'approvalNumber',
'创建时间': 'creationTime',
'创建人': 'creator',
'当前负责人': 'currentResponsiblePerson',
'审批结果': 'approvalResult',
'审批状态': 'approvalStatus',
'更新时间': 'updateTime',
'创建人部门': 'creatorDepartment',
'审批单标题': 'approvalFormTitle',
'历史审批人': 'historicalApprovers',
'耗时(时:分:秒)': 'timeConsumed',
'审批记录': 'approvalRecord',
"开票金额明细": 'BigInvoiceAmountList',
'多项目合并开票请添加': 'multiProjectMergeInvoice',//多项目合并开票请添加项目名称改为多项目合并开票请添加
// "多项目合并开票请添加项目名称": 'multiProjectMergeInvoice',
"[\"业务开始时间\",\"业务结束时间\"]": 'businessStartTime-BusinessEndTime',
// 新增字段映射
'开票事由': 'kai_piao_shi_you',
'发票备注栏填写内容': 'fa_piao_bei_zhu_lan_tian_xie_nei_rong',
'票据类型': 'invoiceType',
'发票开具类别': 'invoice_tax_category',//发票开具类别数据库表中发票类目
'是否单合同多家单位开票': 'is_single_contract_multi_customer',//是否单合同多家单位开票
'单合同多家单位开票清单': 'single_contract_multi_customer_invoice_list',//单合同多家单位开票清单
},
"invoice_void_record": {
'数据id': 'dataId',
'所在部门': 'applicationDepartment',
'申请业务组': 'xiang_mu_zu_bie',
'申请日期': 'applicationDate',
'申请人': 'applicant',
'发票号码': 'piao_hao',
'开票日期': 'kai_piao_ri_qi',
'协议类型': 'agreementType',
'作废事由': 'zuo_fei_shi_you',
'作废原因': 'cancelReason',
'发票金额': 'invoice_amount_yuan',
'金额是否含税': 'is_tax_inclusive',
'费用所属时间': 'feeBelongingTime',
'付款单位名称': 'customerCompanyName',
'付款单位纳税人识别号': 'tong_yi_she_hui_xin_yong_dai_ma',
'付款单位开户行': 'bankName',
'付款单位开户账号': 'bankAccount',
'上传作废发票附件': 'uploadedVoidInvoiceAttachment',
'手写签名': 'handwrittenSignatureAttachment',
'项目编号': 'projectNumber',
'备注信息': 'remark'
}
};
export const DATA_ID_FIELD_MAPPINGS = {
purchase_contract_execution_maintenance: 'data_id',
purchase_contract_order_management: 'data_id',
dingding_oa_invoice_application: 'dataId',
invoice_void_record: 'dataId',
}
// 受支持的表配置
export const SUPPORTED_TABLES = {
purchase_contract_execution_maintenance: '采购合同执行维护表',
purchase_contract_order_management: '采购合同订单管理',
dingding_oa_invoice_application: '钉钉OA发票申请表',
invoice_void_record: '发票作废记录表'
};
export const CONSTANTS = {
// 示例配置
// key: 'value'
};
export const XIANGMU_ZUBIE_MAP: {
[key: string]: string
} = {
'运营室': '运营',
'人员招聘项目组': '招聘',
'总务服务项目组': '总务',
'薪酬核算项目组': '薪酬',
'退休衔接服务项目组': '退休衔接',
'计划核定项目组': '统筹-计核',
'老干部服务项目组': '老干部服务',
'社保业务项目组': '统筹-社保',
'医保业务项目组': '统筹-医保',
'统筹支持项目组': '统筹-支持',
'人员入转离项目组': '入转离',
'人才评鉴项目组': '评鉴',
'会务服务项目组': '培训-会务',
'国际化服务项目组': '国际化服务',
'管理咨询项目组': '管理咨询',
'客户服务室': '客户服务',
'福利业务项目组': '福利',
'法务合规中心': '法务',
'数字化与交付项目组': '培训-数交',
'科技培训项目组': '培训-科技',
'经营管理项目组': '培训-经管',
'技能培训项目组': '培训-技能',
'党建培训项目组': '党校-党建',
'数字化室': '数字化',
'武汉站': '武汉站',
'十堰站': '十堰站',
'襄阳站': '襄阳站',
}
export const ABBR_ZUBIE_MAP: {
[key: string]: string
} = {
YY: '运营室',
ZP: '人员招聘项目组',
ZW: '总务服务项目组',
XC: '薪酬核算项目组',
TX: '退休衔接服务项目组',
TC: '统筹支持项目组',
RZL: '人员入转离项目组',
PJ: '人才评鉴项目组',
HW: '会务服务项目组',
GJ: '国际化服务项目组',
GZ: '管理咨询项目组',
KF: '客户服务室',
FL: '福利业务项目组',
FW: '法务合规中心',
SJ: '数字化与交付项目组',
KJ: '科技培训项目组',
JG: '经营管理项目组',
JN: '技能培训项目组',
DJ: '党建培训项目组',
JH: '计划核定项目组',
LGB: '老干部服务项目组'
}
// 新增:票据类型的双向映射(中文 <-> 代码)
export const INVOICE_CODE: Record<string, number> = {
'增值税专用发票': 1,
'增值税普通发票': 2,
};
export const INVOICE_NAME: Record<number, string> = {
1: '增值税专用发票',
2: '增值税普通发票',
};