import express from 'express' const app = express(); // 使用中间件解析JSON格式的请求体 app.use(express.json()); import Service from './Service.js'; import {copy} from './utils.js'; import {handleBeizhu} from './editor.js'; app.post('/api/transform', (req, res) => { let data = copy(req.body); Service.setQufei([{ "children": [{"children":[{ "key": "1", "利润(%)": "", "名称": "", "备注": "", "工程类型": "", "工程类别": "", "管理费(%)": "" }]}]}]) Service.setQufeiEntry("1") Service.processQingdanmingxi([{ "主材费": "", "人工费": "", "利润": "", "单位": data['dw'], "合价": "", "名称": data['mc'], "备注": "", "序号": "1", "数量": data['sl'], "暂估价": "", "机械费": "", "清单编码": data['bianma'], "管理费": "", "综合人工工日": "", "综合单价": "", "计算规则": "", "设备费": "", "辅材费": "", "项目特征": data['tz'], "操作": "", "材料费": "" }]) let result = copy(data['result']) delete data.result for (let i = 0; i < result.length; i++) { console.log(result[i][0]) console.log(result[i][1]) //console.log(JSON.parse(result[i][2])) let selected = data['fuzhu'][i][0] let selected2=[] for(let j = 0; j < selected.length; j++){ selected2.push(selected[j].charCodeAt(0) - 64) } let fk = data['fuzhu'][i][1] let zk = data['fuzhu'][i][2] let zk2 = [] for(let j = 0;j0){ let detail = handleBeizhu(fk,r[2],selected2,zk2) Service.updateBeizhu(r[2],detail,selected2.map(x=>x.toString().concat('*1'))) } let current = Service.current()[0] current = current['_children'].filter(x=>x['key']==r[2])[0] current = current['dercj'] let shajiang = false for(let j=1;jx['key']==r[2])[0] let dercj = copy(hit['dercj']) for(let j = 1; j < dercj.length; j++){ let bianma = dercj[j][1] if (data['replace'].hasOwnProperty(bianma)){ dercj[j][2] = data['replace'][bianma] } for(let k = 0; k < result[i][3].length;k++){ let old_bianma = result[i][3][k]['bianma'] let new_bianma = result[i][3][k]['new_bianma'] let new_mc = result[i][3][k]['mc'] let new_jg = result[i][3][k]['jg'] if (old_bianma == bianma){ dercj[j][1] = new_bianma dercj[j][2] = new_mc dercj[j][5] = new_jg } } } Service.updateDercj(r[2], dercj) } console.log(data['extra']); if (data['extra'].length >= 4) { Service.danxiangdinge("1", data['n'], data['extra']) } //console.log(Service.cache) res.status(200).send(Service.cache); }); app.listen(3000, () => { console.log('Server is running on port 3000'); });