From c5e5a7580632bc39a9e0c78d548f22a8be5f2019 Mon Sep 17 00:00:00 2001 From: king <18310653075@163.com> Date: 星期三, 18 十月 2023 18:04:51 +0800 Subject: [PATCH] 2023-10-18 --- src/utils/utils.js | 170 ++++++++++++++++++++++++++++++++++++++++++++------------ 1 files changed, 133 insertions(+), 37 deletions(-) diff --git a/src/utils/utils.js b/src/utils/utils.js index f7bd5ee..7da4357 100644 --- a/src/utils/utils.js +++ b/src/utils/utils.js @@ -1,3 +1,4 @@ +import React from 'react' import moment from 'moment' import md5 from 'md5' @@ -1170,6 +1171,7 @@ sql = sql.replace(/\n\s{6}/ig, '\n') if (window.GLOB.debugger === true) { + console.info('%c' + item.logLabel, 'color: blue') console.info(sql) } } else { @@ -1376,6 +1378,7 @@ sql = sql.replace(/\n\s{6}/ig, '\n') if (window.GLOB.debugger === true) { + console.info('%c' + btn.logLabel, 'color: blue') console.info(sql) } } else { @@ -1580,7 +1583,7 @@ Declare @tbid nvarchar(50),@ErrorCode nvarchar(50),@retmsg nvarchar(4000),@BillCode nvarchar(50),@BVoucher nvarchar(50),@FIBVoucherDate nvarchar(50), @FiYear nvarchar(50),@ModularDetailCode nvarchar(50), @UserName nvarchar(50),@FullName nvarchar(50),@RoleID nvarchar(512),@mk_departmentcode nvarchar(512),@mk_organization nvarchar(512),@mk_user_type nvarchar(20),@mk_nation nvarchar(50),@mk_province nvarchar(50),@mk_city nvarchar(50),@mk_district nvarchar(50),@mk_address nvarchar(100),@mk_deleted int,@bid nvarchar(50)${_declarefields} ` - let userName = sessionStorage.getItem('User_Name') || '' + let userName = sessionStorage.getItem('User_Name') || '' let fullName = sessionStorage.getItem('Full_Name') || '' let RoleID = sessionStorage.getItem('role_id') || '' let departmentcode = sessionStorage.getItem('departmentcode') || '' @@ -2115,6 +2118,7 @@ let status = 0 let statusName = '' let detailId = '' + let error = '' if (verify.flowType === 'start') { target = flow.cells.filter(cell => cell.mknode === 'start')[0] @@ -2123,17 +2127,112 @@ detailId = target.id status = target.mkdata.status statusName = target.mkdata.statusName + } else { + error = '宸ヤ綔娴佹棤寮�濮嬭妭鐐�' } } else if (_data.works_flow_param) { - node = JSON.parse(window.decodeURIComponent(window.atob(_data.works_flow_param))) + try { + node = JSON.parse(window.decodeURIComponent(window.atob(_data.works_flow_param))) + } catch (e) { + node = null + } if (node) { let lines = flow.cells.filter(cell => cell.shape === 'edge' && cell.source.cell === node.id) if (verify.flowType === 'reject') { - line = lines.filter(cell => cell.mkdata.flowType === 'reject')[0] + line = lines.filter(cell => cell.mkdata.flowType === 'reject' || cell.mknode === 'startEdge')[0] } else { - line = lines.filter(cell => cell.mkdata.flowType !== 'reject')[0] + let endEdge = null + lines = lines.filter(cell => { + if (cell.mknode === 'endEdge') { + endEdge = cell + return false + } + + return cell.mkdata.flowType !== 'reject' && cell.mknode !== 'startEdge' + }) + + if (lines.length === 0) { + if (!endEdge) { + error = '鏃犲彲鎵ц鐨勬祦绋嬪垎鏀�' + } else { + line = endEdge + } + } else { + let branchKey = verify.flowBranch ? verify.flowBranch.toLowerCase() : '' + + if (!branchKey) { + lines.forEach(line => { + if (line.mkdata.execCondition === 'open') { + error = '鎸夐挳鏈缃祦绋嬫帶鍒跺瓧娈点��' + } + }) + if (!error) { + line = lines[0] + } + } else if (!_data.hasOwnProperty(branchKey)) { + error = '琛屼俊鎭腑鏃犳祦绋嬫帶鍒跺瓧娈点��' + } else { + if (endEdge) { + line = endEdge + } + + let equalLine = null + let gtOrLtLine = [] + let unEqualLine = null + let branchVal = _data[branchKey] + + if (branchVal && typeof(branchVal) === 'string' && !isNaN(branchVal)) { + branchVal = +branchVal + } + + lines.forEach(item => { + if (item.mkdata.execCondition !== 'open') { + line = item + } else { + if (item.mkdata.match === '=') { + if (item.mkdata.matchVal === branchVal + '') { + equalLine = item + } + } else if (item.mkdata.match === '!=') { + if (item.mkdata.matchVal !== branchVal + '') { + unEqualLine = item + } + } else { + if (item.mkdata.match === '<') { + if (item.mkdata.matchVal < branchVal) { + gtOrLtLine.push({...item, dist: Math.abs(item.mkdata.matchVal - branchVal)}) + } + } else if (item.mkdata.match === '>') { + if (item.mkdata.matchVal > branchVal) { + gtOrLtLine.push({...item, dist: Math.abs(item.mkdata.matchVal - branchVal)}) + } + } else if (item.mkdata.match === '<=') { + if (item.mkdata.matchVal <= branchVal) { + gtOrLtLine.push({...item, dist: Math.abs(item.mkdata.matchVal - branchVal)}) + } + } else if (item.mkdata.match === '>=') { + if (item.mkdata.matchVal >= branchVal) { + gtOrLtLine.push({...item, dist: Math.abs(item.mkdata.matchVal - branchVal)}) + } + } + } + } + }) + + if (equalLine) { + line = equalLine + } else if (gtOrLtLine.length > 0) { + gtOrLtLine.sort((a, b) => a.dist - b.dist) + line = gtOrLtLine[0] + } else if (unEqualLine) { + line = unEqualLine + } + } + } } + } else { + error = '琛屼俊鎭腑宸ヤ綔娴佸弬鏁版棤娉曡В鏋�' } if (line) { @@ -2141,7 +2240,11 @@ status = line.mkdata.status statusName = line.mkdata.statusName target = flow.cells.filter(cell => cell.id === line.target.cell)[0] + } else if (!error) { + error = '宸ヤ綔娴佷腑鏃犲搴旀祦绋�' } + } else { + error = '琛屼俊鎭腑鏃犲伐浣滄祦鍙傛暟' } if (verify.flowSql === 'true' && target) { @@ -2158,7 +2261,7 @@ } else { _sql += ` /* 宸ヤ綔娴侀粯璁ql */ - update s_my_works_flow set status=@status@,statusname=@statusname@,modifydate=getdate(),modifyuserid=@userid@,modifyuser=@username,modifystaff=@fullname + update s_my_works_flow set status=@status@,statusname=@statusname@,works_flow_param=@works_flow_param@,works_flow_detail_id=@works_flow_detail_id@,modifydate=getdate(),modifyuserid=@userid@,modifyuser=@username,modifystaff=@fullname where works_flow_id=@ID@ and works_flow_code=@works_flow_code@ and deleted=0 insert into s_my_works_flow_log (works_flow_id,works_flow_code,works_flow_name,works_flow_param,status,statusname,works_flow_detail_id,work_group,work_grade,upid) select @ID@,@works_flow_code@,@works_flow_name@ ,@works_flow_param@,@status@,@statusname@,@works_flow_detail_id@,@work_group@,@work_grade@,@time_id@ @@ -2182,20 +2285,12 @@ ` } } else if (verify.flowSql === 'true') { - target = flow.cells.filter(cell => cell.mknode === 'start')[0] - - if (target) { - detailId = target.id - } - status = 0 statusName = '寮傚父' + _sql += ` /* 宸ヤ綔娴佸紓甯竤ql */ - update s_my_works_flow set status=@status@,statusname=@statusname@,modifydate=getdate(),modifyuserid=@userid@,modifyuser=@username,modifystaff=@fullname - where works_flow_id=@ID@ and works_flow_code=@works_flow_code@ and deleted=0 - insert into s_my_works_flow_log (works_flow_id,works_flow_code,works_flow_name,works_flow_param,status,statusname,works_flow_detail_id,work_group,work_grade,upid) - select @ID@,@works_flow_code@,@works_flow_name@ ,@works_flow_param@,@status@,@statusname@,@works_flow_detail_id@,@work_group@,@work_grade@,@time_id@ + select @ErrorCode='E',@retmsg='${error || '宸ヤ綔娴佹墽琛屽紓甯�'}' goto aaa ` } @@ -2224,7 +2319,8 @@ _sql = _sql.replace(/@works_flow_code@/ig, `'${flow.flow_code}'`) _sql = _sql.replace(/@works_flow_name@/ig, `'${flow.flow_name}'`) if (target) { - let msg = {...target.mkdata, id: target.id} + let label = target.attrs && target.attrs.text && target.attrs.text.text ? target.attrs.text.text : '' + let msg = {...target.mkdata, label: label, id: target.id} _sql = _sql.replace(/@works_flow_param@/ig, `'${window.btoa(window.encodeURIComponent(JSON.stringify(msg)))}'`) } else { _sql = _sql.replace(/@works_flow_param@/ig, `''`) @@ -2281,7 +2377,7 @@ } if (window.GLOB.debugger === true) { - // _sql = _sql.replace(/\n\s{8}/ig, '\n') + console.info('%c' + btn.logLabel, 'color: blue') console.info(_sql) } @@ -2299,10 +2395,7 @@ * @description 鑾峰彇鏍囪淇℃伅 */ export function getMark (marks, record, style = {}) { - let icon = null - let innerStyle = null - let position = null - let signType = '' + let res = {} style = JSON.parse(JSON.stringify(style)) marks.some(mark => { @@ -2339,42 +2432,45 @@ if (type === 'font') { style.color = mark.color - innerStyle = {color: mark.color} - signType = ' sign-font' + res.innerStyle = {color: mark.color} + res.signType = ' sign-font' } else if (type === 'background') { style.backgroundColor = mark.color if (mark.fontColor) { style.color = mark.fontColor - innerStyle = {color: mark.fontColor} + res.innerStyle = {color: mark.fontColor} } } else if (type === 'underline') { style.textDecoration = 'underline' style.color = mark.color - innerStyle = {color: mark.color, textDecoration: 'underline'} + res.innerStyle = {color: mark.color, textDecoration: 'underline'} } else if (type === 'line-through') { style.textDecoration = 'line-through' style.color = mark.color - innerStyle = {color: mark.color, textDecoration: 'line-through'} + res.innerStyle = {color: mark.color, textDecoration: 'line-through'} } else if (type.indexOf('icon') > -1) { - icon = mark.signType[mark.signType.length - 1] - innerStyle = {color: mark.color} + res.icon = mark.signType[mark.signType.length - 1] + res.innerStyle = {color: mark.color} if (type === 'iconfront' || mark.signType[1] === 'front') { - position = 'front' + res.position = 'front' } else { - position = 'back' + res.position = 'back' } + } else if (type === 'indent') { + style.color = mark.color + res.space = Array(mark.signType[1] + 1).join(' ') + } else if (type === 'pointfront') { + res.position = 'front' + res.point = <span style={{display: 'inline-block', marginRight: '3px', width: '8px', height: '8px', borderRadius: '14px', background: mark.color, verticalAlign: 'middle'}}></span> + } else if (type === 'pointback') { + res.position = 'back' + res.point = <span style={{display: 'inline-block', marginLeft: '3px', width: '8px', height: '8px', borderRadius: '14px', background: mark.color, verticalAlign: 'middle'}}></span> } return true }) - return { - style, - icon, - innerStyle, - position, - signType - } + return res } /** -- Gitblit v1.8.0