123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259 |
- 'use strict';
- /**
- *
- *
- * @author Mai
- * @date
- * @version
- */
- const parseInfo = ['deal_info', 'construction_unit', 'tech_param', 'decimal', 'precision', 'deal_param', 'display', 'pay_account', 'shenpi', 'bid_info', 'ledger_check', 'fun_rela', 'over_range_check'];
- const arrayInfo = ['chapter'];
- const defaultInfo = {
- // 合同信息
- deal_info: {
- buildName: '', // 建设项目名称
- dealCode: '', // 合同编号
- dealName: '', // 合同名称
- projectType: '', // 工程类别
- dealType: '', // 合同类别
- finalCode: '', // 结算书编号
- budgetApprovalCode: '', // 概算批复编号
- },
- // 参建单位
- construction_unit: {
- // 建设
- build: {
- company: '', // 单位名称
- corporation: '', // 法人代表
- date: '', // 签订日期
- },
- // 代建
- sub_build: {
- company: '',
- corporation: '',
- date: '',
- },
- // 承包
- contract1: {
- company: '',
- corporation: '',
- date: '',
- management: '',
- },
- contract2: {
- company: '',
- corporation: '',
- date: '',
- },
- // 监理
- supervision1: {
- company: '',
- corporation: '',
- date: '',
- },
- supervision2: {
- company: '',
- corporation: '',
- date: '',
- },
- // 检测
- detect: {
- company: '',
- corporation: '',
- date: '',
- },
- // 审计
- audit: {
- company: '',
- corporation: '',
- date: '',
- }
- },
- // 技术参数
- tech_param: {
- loadLevel: 0, // 公路等级
- loadLength: 0, // 长度
- startPeg: '', // 起始桩号
- endPeg: '', // 终止桩号
- laneCount: 0, // 车道数
- dealPeriod: '', // 合同工期
- startDate: '', // 开工日期
- planEndDate: '', // 计划完工日期
- realStartDate: '', // 实际开工日期
- realEndDate: '', // 实际完工日期
- structureScale: '', // 构造物规模
- mainContent: '', // 主要工作内容
- },
- // 中标信息
- bid_info: {
- controlPrice: 0, // 业主控制价
- bidPrice: 0, // 中标价
- bidStartDate: '', // 开标日期
- bidType: '公开招标', // 招标方式
- dealCalcType: '单价合同', // 合同计价方式
- bidYuPrice: 0, // 招标清单预算
- },
- // 小数位数
- decimal: {
- up: 2,
- qty: 3,
- tp: 0,
- pay: false,
- payTp: 0,
- extra: false,
- extraTp: 0,
- },
- precision: {
- t: { unit: 't', value: 3 },
- km: { unit: 'km', value: 3 },
- m: { unit: 'm', value: 3 },
- m2: { unit: 'm2', value: 2 },
- m3: { unit: 'm3', value: 2 },
- kg: { unit: 'kg', value: 2 },
- ge: { unit: '个', value: 0 },
- tai: { unit: '台', value: 0 },
- tao: { unit: '套', value: 0 },
- ke: { unit: '棵', value: 0 },
- zu: { unit: '组', value: 0 },
- xitong: { unit: '系统', value: 0 },
- other: { value: 3 },
- },
- // 合同参数
- deal_param: {
- contractPrice: 0, // 签约合同价
- zanLiePrice: 0, // 暂列金额
- startAdvance: 0, // 开工预付款
- materialAdvance: 0, // 材料预付款
- safeAdvance: 0, // 安全生产预付款
- dustAdvance: 0, // 扬尘污染预付款
- },
- // 显示设置
- display: {
- ledger: {
- deal: false,
- dgnQty: false,
- clQty: false,
- ancillaryGcl: false,
- },
- exMemo: true,
- thousandth: false,
- stage: {
- realComplete: false,
- correct: true,
- priceDiff: false,
- },
- dayMode: false,
- },
- chapter: [
- {code: '100', name: '总则'},
- {code: '200', name: '路基'},
- {code: '300', name: '路面'},
- {code: '400', name: '桥梁、涵洞'},
- {code: '500', name: '隧道'},
- {code: '600', name: '安全设施及预埋管线'},
- {code: '700', name: '绿化及环境保护'},
- {code: '800', name: '机电工程'},
- {code: '900', name: '房建工程'},
- {code: '1000', name: '收费系统'},
- {code: '1100', name: '通信系统'},
- {code: '1200', name: '消防系统'},
- {code: '1300', name: '供配电及照明系统'},
- ],
- // 付款账号
- pay_account: {
- project: { // 工程款
- name: '', // 开户名称
- bank: '', // 开户银行
- account: '', // 开户账号
- rate: '', // 分账划拨比例
- contact: '', // 联系人
- phone: '', // 联系电话
- num: '', // 行号
- },
- worker: { // 农民工
- name: '',
- bank: '',
- account: '',
- rate: '',
- contact: '',
- phone: '',
- num: '',
- },
- },
- shenpi: {
- advance: 1,
- ledger: 1,
- revise: 1,
- stage: 1,
- settle: 1,
- change: 1,
- material: 1,
- phasePay: 1,
- },
- ledger_check: {
- same_code: true,
- sibling: true,
- over: true,
- banMinusChangeBills: true,
- },
- fun_rela: {
- hintOver: true,
- repel: false,
- stage_change: {
- minusNoValue: true,
- },
- sum_load: {
- ignoreParent: false,
- },
- stage_rela: {
- show: false,
- },
- },
- over_range_check: {
- field: 'tz', // 'deal', 'both',
- percent: 100,
- billsWithPos: 'pos', // 'bills', 'both',
- },
- };
- const gclDefaultInfo = (function () {
- const result = JSON.parse(JSON.stringify(defaultInfo));
- result.display.ledger.deal = true;
- result.over_range_check = { field: 'deal', percent: 100, billsWithPos: 'bills'};
- return result;
- })(defaultInfo);
- const tzDefaultInfo = (function () {
- const result = JSON.parse(JSON.stringify(defaultInfo));
- result.over_range_check = { field: 'tz', percent: 100, billsWithPos: 'both'};
- return result;
- })(defaultInfo);
- const paymentDefaultInfo = (function () {
- const result = {};
- result.deal_info = JSON.parse(JSON.stringify(defaultInfo.deal_info));
- result.construction_unit = JSON.parse(JSON.stringify(defaultInfo.construction_unit));
- result.tech_param = JSON.parse(JSON.stringify(defaultInfo.tech_param));
- result.pay_account = JSON.parse(JSON.stringify(defaultInfo.pay_account));
- return result;
- })(defaultInfo);
- const transOverRangeCheck = function(helper, check) {
- const result = {};
- result.coe = helper.div(check.percent, 100);
- result.checkTz = check.field === 'tz' || check.field === 'both';
- result.checkDeal = check.field === 'deal' || check.field === 'both';
- result.hasPosCheckBills = check.billsWithPos === 'bills' || check.billsWithPos === 'both';
- result.hasPosCheckPos = check.billsWithPos === 'pos' || check.billsWithPos === 'both';
- return result;
- };
- module.exports = {
- parseInfo,
- arrayInfo,
- defaultInfo,
- gclDefaultInfo,
- tzDefaultInfo,
- paymentDefaultInfo,
- transOverRangeCheck,
- };
|