123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226 |
- import { MockRequest } from '@delon/mock';
- // 项目执行
- const projectImplementationList = ["67", "37", "43", "26", "27", "17", null, "13", null, "12", "35", "34", "0", "64", "66", "30", "56", "41", "42"
- , "60", "63", null, "38", null, "32", null, "33", null, "65", "31", "56", "40", "42", "60", "40", "42", "56", "57", "55", "58", "26", "1", "2", "7", "9", "45", "36",
- "53", "54", "10", "46", "47", "62", "8", "59", "26", "48", "69", "51", "52", "20", "68", "49", "50", "5", "21", "61", "39", "24", "25", "29", "22", "23", "11",
- "28", "44", "6", "3", "4", "11", "39", "26", "18", "44", "15", "14", "16", "19", "5"];
- // 工时
- const workingHourList = [12, 7, 28, 10, 10, 12, 4, 12, 4, 36, 12, 20, 8, 32, 16, 16, 44, 42, 28, 8, 8, 16, 16, 8, 320, 16, 16, 4, 16, 24, 24, 24, 24, 10, 24, 14, 7, 8, 8, 24,
- null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null];
- // 预计成本
- const estimatedCost = [2064, 1204, 4816, 1720, 1720, 2064, 688, 2064, 688, 6192, 2064, 3440, 1376, 5504, 2752, 2752, 7568, 7224, 4816, 1376, 1376, 2752, 2752,
- 1376, 55040, 2752, 2752, 688, 2752, 4128, 4128, 4128, 4128, 1720, 4128, 2408, 1204, 1376, 1376, 4128, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null];
- // 备注
- const memoList = ["假设是共建中心,中心对接;(非共建中心额外增加工时和差旅)", "假设议程2h,会议3h,纪要2h", "伦理计划沟通,timeline沟通,2小时/周,14周;", null, "假设TC会议4h, 会前准备4h, 会后总结2h;如需出差,需另外结算;",
- "假设PMP 起草4h,审阅修订6h,定稿2h", "假设PD审阅PMP 4h", "假设MP 起草6h,审阅修订4h,定稿2h", "假设PD审阅MP 4h",
- "ICF-12h,SD-20h,AD-4h", "假设伦理材料 12h", "EC binder 准备8h;递交12h", null, "遗传资料准备,审阅,签章搜集", "合同起草和审阅12h,沟通和签署12h。",
- "供应商(CRC和招募)选择8h,合同起草,审阅签署8h;", "TMF创建2h, 和更新,3h/周,预估14周", "与申办方沟通/会议/周报:伦理阶段,每周3h,14周;", "CRO内部沟通/会议/周期:伦理阶段,每周2h,预估14周;",
- "DM相关文件-4h, SAP-2h, 验证和分析方案-2h;", "启动会PPT准备和审阅6h,培训2h;", "启动会培训", "会前准备,物资等4h,启动会4h,报告4h;差旅8h;", "会前审阅4h,报告审阅4h;", "本项目合同约定空腹、餐后各5次常规监查,每次32h;",
- "报告审阅+定稿,4小时/次;", "假设onsite 8h,报告4h;差旅8h;", "报告审阅+定稿,4小时/次;", "假设20h/次,8h onsite,8h 差旅,4小时报告+定稿;预估2次;", "假设1供应商(CRC);每周2h,预估10周;如有其它外部供应商,需增加工时;",
- "TMF文档更新,2h/周,预估10周;", "与申办方沟通/会议/周报:临床数据阶段,每周4h,预估9周;", "CRO内部沟通/会议/周报:临床数据阶段,每周4h,预估9周;", "DMR-2h; SAR-2h; Bio-R-2h; CSR-4h;",
- "与申办方沟通/会议/周报:主攻结题阶段,每周4h,预估7周;", "CRO内部沟通/会议/周报:主攻结题阶段,每周2h,预估7周;", "TMF更新并转交申办方,1h/周,预估7周;", null, "打印邮寄", "各方盖章邮寄12h/周;"];
- function setBaseData(): any[] {
- const list: any[] = [];
- for (let i = 0; i < 89;) {
- list.push({
- index: i++,
- contractorId: "1", // 公司
- departId: "0", // 部门
- projectPhaseId: "9",// 项目阶段
- phaseId: "2", // 阶段
- projectImplementationId: projectImplementationList[i - 1],// 项目执行
- roleId: "3", // 角色
- hour: workingHourList[i - 1], // 工时
- unitCost: 172, // 单位人工成本
- estimatedCost: estimatedCost[i - 1], // 预计成本
- memo: memoList[i - 1], // 注释
- sort: i,
- })
- }
- // CSR 0
- // 锁库 1
- // 准备 2
- list.forEach((element, i) => {
- if (i > 18) {
- element.projectPhaseId = "3"
- element.phaseId = "1"
- }
- if (i > 32) {
- element.projectPhaseId = "8"
- element.phaseId = "0"
- }
- if (i > 36) {
- element.projectPhaseId = "7"
- }
- if (i > 39) {
- element.departId = "2"
- element.phaseId = "2"
- element.roleId = null
- element.projectPhaseId = "5"
- }
- if (i > 42) {
- element.phaseId = "1"
- }
- if (i > 54) {
- element.projectPhaseId = "6"
- }
- if (i > 60) {
- element.phaseId = "0"
- }
- if (i > 66) {
- element.departId = "1"
- element.phaseId = "2"
- element.projectPhaseId = "2"
- }
- if (i > 74) {
- element.projectPhaseId = "0"
- element.phaseId = "0"
- }
- if (i > 79) {
- element.projectPhaseId = "1"
- }
- if (i === 0 || i === 1) {
- element.projectPhaseId = "4"
- }
- if (i === 55) {
- element.phaseId = "2"
- }
- if (i === 6 || i === 8) {
- element.roleId = "2"
- }
- if (i === 16 || i === 30 || i === 36 || i === 38) {
- element.roleId = "1"
- }
- if (i === 21 || i === 22 || i === 24 || i === 26) {
- element.roleId = "0"
- }
- })
- return list;
- }
- /**
- * @description: 过手费成本
- * @param {type}
- * @author: 段亚鑫
- */
- const costOverchargeList = ["0", "1", "2", "3", "4", "5", "6"]; // 过手费成本
- const company = ["2", null, "2", null, null, "1", "2"];// 公司
- const contractPartyName = ["上海方达生物技术有限公司", null, "上海方达生物技术有限公司", null, null, "方达医药技术(上海)有限公司", "上海方达生物技术有限公司"];// 公司name
- const hospitalList = ['新郑市人民医院', null, '康贝瑞', null, null, null, '保险'];// 临床中心
- const startDate = ['2019-06-04', null, '2019-08-01', null, null, '2019-01-01'];// 计划开始日期
- const endDate = [null, null, '2020-08-01', null, null, '2020-12-31']; // 计划结束日期
- const numberOfSubjects = [null, null, 52];
- const unitCostList = [null, null, 3200];
- const moneyList = [5000, null, 166400, null, null, 26400, 15600];
- const taxRate = ["6", null, "3", null, null, "0", "6"];
- const costExcludesTaxes = [4716.98, null, 161553.40, null, null, 26400.00, 14716.98];
- function setDisposalCost(): any[] {
- const dataList: any[] = [];
- for (let i = 0; i < 7;) {
- i.toString();
- dataList.push({
- costOverchargeId: costOverchargeList[i++],
- contractPartyId: company[i - 1], // 内存溢出
- contractPartyName: contractPartyName[i - 1],
- clinicalCenter: hospitalList[i - 1],
- startDate: startDate[i - 1],
- endDate: endDate[i - 1],
- numberOfSubjects: numberOfSubjects[i - 1],
- unitCost: unitCostList[i - 1],
- money: moneyList[i - 1],
- tax: taxRate[i - 1],
- costNotTax: costExcludesTaxes[i - 1],
- index: i
- })
- }
- return dataList;
- }
- /**
- * @description: 差旅费用
- * @param {type}
- * @author: 段亚鑫
- */
- const travelExpense = ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13"];
- const wordsFee = ["1000", "100", "200", "2000", "1000", "1000", "1000", "1000", "0", "1000", "1000", "200", "200", "200"];
- const traveExpectedNumber = [1, 6, 2, 2, 8, 2, 1, 1, 0, 4, 1, 0, 2, 0];
- const traveFees = [1000, 600, 400, 4000, 8000, 2000, 1000, 1000, 0, 4000, 1000, 0, 400, 0];
- function setTravelExpense() {
- const data = [];
- for (let i = 0; i < 14;) {
- data.push({
- costType: "01",
- index: i++,
- costId: travelExpense[i - 1],
- singleCost: wordsFee[i - 1],
- estimateFrequency: traveExpectedNumber[i - 1],
- total: traveFees[i - 1]
- })
- }
- return data;
- }
- /**
- * @description: 文件打印和运输费用
- * @param {type}
- * @author: 段亚鑫
- */
- // 伦理打印费 0 修改删除
- // 其他文件 1
- const filePrintCostList = ["0", "1"];
- const singleCostList = ["300", "200"];
- const fileFees = [600, 400];
- function setFilePrintCost() {
- const data = [];
- for (let i = 0; i < 2;) {
- data.push({
- costType: "02",
- index: i++,
- costId: filePrintCostList[i - 1],
- singleCost: singleCostList[i - 1],
- estimateFrequency: 2,
- total: fileFees[i - 1]
- })
- }
- return data;
- }
- /**
- * @description: 固定费用
- * @param {type}
- * @author: 段亚鑫
- */
- const onceFees = ["100", "500"];
- const fixed_FrequencyList = ["10", "2"];
- const fixedFees = [1000, 1000];
- function setOtherFixedFees() {
- const data = [];
- for (let i = 0; i < 2;) {
- data.push({
- costType: "03",
- index: i++,
- costId: filePrintCostList[i - 1],
- singleCost: onceFees[i - 1],
- estimateFrequency: fixed_FrequencyList[i - 1],
- total: fixedFees[i - 1]
- })
- }
- return data;
- }
- export const data = {
- '/baseData/list': () => setBaseData(),
- '/baseData/disposCost': () => setDisposalCost(),
- '/baseData/travelExpense': () => setTravelExpense(),
- "/baseData/filePrintCost": () => setFilePrintCost(),
- "/baseData/otherFixedFees": () => setOtherFixedFees()
- };
|