From 6d097af3cba466b13be52c80ca6cd11088401290 Mon Sep 17 00:00:00 2001 From: pan <1029559041@qq.com> Date: Thu, 5 Nov 2020 03:41:41 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0HAZOP=E5=88=86=E6=9E=90?= =?UTF-8?q?=E5=8F=AF=E8=83=BD=E6=80=A7=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- routes/project/hazop.js | 111 +++++++++++++++++++++++++++++++++++--- routes/project/prepare.js | 2 +- 2 files changed, 104 insertions(+), 9 deletions(-) diff --git a/routes/project/hazop.js b/routes/project/hazop.js index 6ec64e4..759623d 100644 --- a/routes/project/hazop.js +++ b/routes/project/hazop.js @@ -15,6 +15,7 @@ router.get('/analyse/:id', function (req, res, next) { t:/\d{3}/ }] }) + sst.si.push({t:`${Mock.Random.word()}${Mock.Random.word()}`}) var data=Mock.mock({ ...mock.ok(`HAZOP分析获取节点${req.params.id}数据成功`), @@ -23,7 +24,7 @@ router.get('/analyse/:id', function (req, res, next) { sst, sheetData:{ row:function (){ - let rowCount=20 + let rowCount=50 let colCount=18 let rows=Array.from(new Array(rowCount).keys()) let cols=Array.from(new Array(colCount).keys()) @@ -34,13 +35,22 @@ router.get('/analyse/:id', function (req, res, next) { c:[] } for(let col in cols){ + col=String.fromCharCode(+col+"A".charCodeAt()) rows[row].c.push({ - r:`${String.fromCharCode(+col+"A".charCodeAt())}${+row+1}`, - s:1, - t:'s', - v:Mock.Random.integer(0,sst.si.length-1) - }) - } + r: `${col}${+row + 1}`, + s: 1, + t: 's', + v: (function (col) { + switch (col) { + case 'C': + return sst.si.length - 1 + default: + return Mock.Random.integer(0, sst.si.length - 2) + } + })(col) + } + ) + } } return rows } @@ -55,13 +65,98 @@ router.get('/analyse/:id', function (req, res, next) { res.json(data) }) +//获取当前项目使用矩阵 +router.get('/analyse/matrix/:name', function (req, res, next) { + var data=Mock.mock({ + ...mock.ok('获取矩阵详情成功'), + ...{ + body:{ + id:()=>Mock.Random.natural(1,1000), + "useProjectId|0-2":[/\d{3}/], + info:{ + name:`matrix${Mock.Random.natural(5,8)}`, + desc:`matrix${Mock.Random.natural(5,8)}`, + x:()=>Mock.Random.natural(5,8), + y:()=>Mock.Random.natural(5,8), + explain:()=>Mock.Random.sentence(3, 5) + }, + severity:function (){ + const severity=[] + for(let i in Array.from(new Array(this.info.y).keys())){ + severity.push({ + //等级 + level:Mock.Random.natural(1,9), + //严重程度 + severity:Mock.Random.natural(1,9), + //人员 + personnel:Mock.Random.word(), + //财产 + property:Mock.Random.word(), + //环境 + environment:Mock.Random.word(), + //声誉 + prestige:Mock.Random.word() + }) + } + return severity + }, + possibility:function (){ + const possibility=[] + for(let i in Array.from(new Array(this.info.x).keys())){ + possibility.push({ + //等级 + level:Mock.Random.natural(1,this.info.x), + //概率值 + probability:Mock.Random.natural(1,100)/100, + //描述 + desc:Mock.Random.sentence(3, 5) + }) + } + return possibility + }, + 'level|3-5':[{ + id:/\d{3}/, + //Code + code:/\d{1}/, + //颜色 + color:()=>Mock.Random.color(), + //描述 + desc:()=>Mock.Random.sentence(3, 5), + //风险等级 + level:/\d{1}/, + //应采取措施 + measure:()=>Mock.Random.sentence(3, 5), + //实施期限 + date:()=>Mock.Random.sentence(3, 5), + //备注 + note:()=>Mock.Random.sentence(3, 5) + }], + matrix:function (){ + const matrix=[] + for(let i in Array.from(new Array(this.info.y).keys())){ + const child=[] + for(let j in Array.from(new Array(this.info.x).keys())){ + child.push(this.level[Mock.Random.natural(0,this.level.length-1)]) + } + matrix.push(child) + } + return matrix + } + + + } + } + }) + res.json(data) +}) + route.addContextMenu(router,'analyse/:id','HAZOP分析') //HAZOP偏差知识库 router.get('/analyse/repository/:know', function (req, res, next) { var data=mock.page(req,`查询${req.params.know}知识库成功`,{ //选项值 - key: ()=>Mock.Random.integer(1,5), + key: ()=>Mock.Random.word(), //描述 value: ()=>Mock.Random.word() }) diff --git a/routes/project/prepare.js b/routes/project/prepare.js index fc21634..043d41e 100644 --- a/routes/project/prepare.js +++ b/routes/project/prepare.js @@ -26,7 +26,7 @@ router.get('/hdivide', function (req, res, next) { router.get('/hdivide/node', function (req, res, next) { var data=mock.page(req,'获取HAOZP节点划分成功',{ //节点 - id:/\d{3}/, + id:666, //节点 node:()=>Mock.Random.word(), //节点编号