From c5a07dba94694d13f0a78e051dfa26c3522933ee Mon Sep 17 00:00:00 2001 From: king <18310653075@163.com> Date: 星期五, 15 十一月 2024 18:10:02 +0800 Subject: [PATCH] 2024-11-15 --- src/templates/zshare/verifycard/index.jsx | 209 +++++++++++++++++++++++++++++---------------------- 1 files changed, 119 insertions(+), 90 deletions(-) diff --git a/src/templates/zshare/verifycard/index.jsx b/src/templates/zshare/verifycard/index.jsx index 1b7d9be..d674655 100644 --- a/src/templates/zshare/verifycard/index.jsx +++ b/src/templates/zshare/verifycard/index.jsx @@ -44,7 +44,8 @@ emailCodes: [], // 閭妯℃澘 verify: {}, fields: [], - usefulfields: '', + formfields: '', + colfields: '', defaultsql: '', // 榛樿Sql orderModular: [], orderModularDetail: [], @@ -85,7 +86,7 @@ title: '楠岃瘉绫诲瀷', dataIndex: 'verifyType', width: '14%', - render: (text, record) => record.verifyType === 'logic' ? '閫昏緫楠岃瘉' : '鐗╃悊楠岃瘉', + render: (text) => text === 'logic' ? '閫昏緫楠岃瘉' : '鐗╃悊楠岃瘉', inputType: 'select', editable: true, options: [ @@ -123,7 +124,7 @@ record.field.split(',').forEach((_field, index) => { let _key = _field.toLowerCase() - _fieldValue.push(`${_key}=${_key === 'bid' ? '@BID@' : ''}`) + _fieldValue.push(`${_key}=${_key === 'bid' ? '@BID@' : `''`}`) _value.push(`${_labels[index] || ''}锛歺xx`) }) @@ -640,20 +641,19 @@ _verify.uniques = _verify.uniques || [] _verify.contrasts = _verify.contrasts || [] _verify.accountdate = _verify.accountdate || 'false' - _verify.accountfield = _verify.accountfield || '' - _verify.voucherdate = _verify.voucherdate || '' _verify.customverifys = _verify.customverifys || [] _verify.billcodes = _verify.billcodes || [] _verify.voucher = _verify.voucher || {enabled: false} _verify.scripts = _verify.scripts || [] _verify.cbScripts = _verify.cbScripts || [] - if (window.GLOB.process) { + if (window.GLOB.process && card.intertype !== 'inner') { _verify.workFlow = _verify.workFlow || 'false' _verify.flowType = _verify.flowType || (card.sqlType === 'insert' ? 'start' : 'approval') _verify.flowSql = _verify.flowSql || 'true' } else { delete _verify.workFlow + delete _verify.flowRemark delete _verify.flowType delete _verify.flowSql } @@ -663,20 +663,20 @@ _verify.printTempId = '' } - if (window.GLOB.funcs && window.GLOB.funcs.length > 0) { - window.GLOB.funcs.forEach(m => { - let reg = new RegExp(`\\/\\*\\$ex@${m.func_code}-begin\\*\\/[\\s\\S]+\\/\\*@ex\\$-end\\*\\/`, 'ig') - _verify.customverifys.forEach(item => { - item.sql = item.sql.replace(reg, `$ex@${m.func_code}@ex$`) - }) - _verify.scripts.forEach(item => { - item.sql = item.sql.replace(reg, `$ex@${m.func_code}@ex$`) - }) - _verify.cbScripts.forEach(item => { - item.sql = item.sql.replace(reg, `$ex@${m.func_code}@ex$`) - }) - }) - } + // if (window.GLOB.funcs && window.GLOB.funcs.length > 0) { + // window.GLOB.funcs.forEach(m => { + // let reg = new RegExp(`\\/\\*\\$ex@${m.func_code}-begin\\*\\/[\\s\\S]+\\/\\*@ex\\$-end\\*\\/`, 'ig') + // _verify.customverifys.forEach(item => { + // item.sql = item.sql.replace(reg, `$ex@${m.func_code}@ex$`) + // }) + // _verify.scripts.forEach(item => { + // item.sql = item.sql.replace(reg, `$ex@${m.func_code}@ex$`) + // }) + // _verify.cbScripts.forEach(item => { + // item.sql = item.sql.replace(reg, `$ex@${m.func_code}@ex$`) + // }) + // }) + // } _verify.customverifys.forEach((item, i) => { item.$index = i + 1 @@ -695,11 +695,19 @@ activeKey = 'cbScripts' } + let oriVerify = fromJS(_verify).toJS() + + if (_verify.wxAppId) { + if (!window.GLOB.WXApps || window.GLOB.WXApps.filter(app => app.appType === 'public').length === 0) { + delete _verify.wxAppId + } + } + this.setState({ activeKey: activeKey, verifyInter: verifyInter, verify: _verify, - oriVerify: fromJS(_verify).toJS() + oriVerify: oriVerify }) if (card.intertype === 'inner') return @@ -715,15 +723,12 @@ _fields = card.modal.fields || [] } - let _usefulfields = ['UserName', 'FullName', 'RoleID', 'mk_departmentcode', 'mk_organization', 'mk_user_type', 'mk_nation', 'mk_province', 'mk_city', 'mk_district', 'mk_address', 'BillCode', 'BVoucher', 'FIBVoucherDate', 'FiYear', 'ModularDetailCode', 'tbid', 'mk_deleted'] - let _declare = ['@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)', '@ErrorCode nvarchar(50)', '@retmsg nvarchar(4000)', '@BillCode nvarchar(50)', '@BVoucher nvarchar(50)', '@FIBVoucherDate nvarchar(50)', '@FiYear nvarchar(50)', '@ModularDetailCode nvarchar(50)', '@bid nvarchar(50)', '@tbid nvarchar(50)', '@mk_deleted int'] - let _select = ['@UserName=\'\'', '@FullName=\'\'', '@RoleID=\'\'', '@mk_departmentcode=\'\'', '@mk_organization=\'\'', '@mk_user_type=\'\'', '@mk_nation=\'\'', '@mk_province=\'\'', '@mk_city=\'\'', '@mk_district=\'\'', '@mk_address=\'\'', '@ErrorCode=\'\'', '@retmsg=\'\'', '@BillCode=\'\'', '@BVoucher=\'\'', '@FIBVoucherDate=\'\'', '@FiYear=\'\'', '@ModularDetailCode=\'\'', '@bid=\'\'', '@mk_deleted=1'] - let fieldArr = _usefulfields.map(_f => _f.toLowerCase()) - let hasBid = false - - _usefulfields = [] + let sysfields = ['UserName', 'FullName', 'RoleID', 'mk_departmentcode', 'mk_organization', 'mk_user_type', 'mk_nation', 'mk_province', 'mk_city', 'mk_district', 'mk_address', 'BillCode', 'BVoucher', 'FIBVoucherDate', 'FiYear', 'ModularDetailCode', 'tbid', 'mk_deleted', 'bid', 'mk_submit_type'] + let _declare = ['@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)', '@ErrorCode nvarchar(50)', '@retmsg nvarchar(4000)', '@BillCode nvarchar(50)', '@BVoucher nvarchar(50)', '@FIBVoucherDate nvarchar(50)', '@FiYear nvarchar(50)', '@ModularDetailCode nvarchar(50)', '@bid nvarchar(50)', '@tbid nvarchar(50)', '@mk_deleted int', '@mk_submit_type nvarchar(50)'] + let _select = ['@UserName=\'\'', '@FullName=\'\'', '@RoleID=\'\'', '@mk_departmentcode=\'\'', '@mk_organization=\'\'', '@mk_user_type=\'\'', '@mk_nation=\'\'', '@mk_province=\'\'', '@mk_city=\'\'', '@mk_district=\'\'', '@mk_address=\'\'', '@ErrorCode=\'\'', '@retmsg=\'\'', '@BillCode=\'\'', '@BVoucher=\'\'', '@FIBVoucherDate=\'\'', '@FiYear=\'\'', '@ModularDetailCode=\'\'', '@bid=\'\'', '@mk_deleted=1', '@mk_submit_type=\'\''] - fieldArr.push('bid') + let fieldArr = sysfields.map(_f => _f.toLowerCase()) + let hasBid = false let verIndex = _fields.findIndex(item => item.type === 'vercode') if (verIndex > -1) { @@ -746,17 +751,19 @@ }) } + let formfields = [] _fields = _fields.filter(_f => _f.field) _fields.forEach(_f => { - if (_f.field.toLowerCase() === 'bid') { + let key = _f.field.toLowerCase() + if (key === 'bid') { hasBid = true } - if (fieldArr.includes(_f.field.toLowerCase())) return + if (fieldArr.includes(key)) return - fieldArr.push(_f.field.toLowerCase()) + fieldArr.push(key) - _usefulfields.push(_f.field) + formfields.push(_f.field) let _fieldlen = _f.fieldlength || 50 @@ -775,16 +782,18 @@ _select.push(`@${_f.field}='1949-10-01'`) } else if (_f.type === 'number') { _type = `decimal(18,${_fieldlen})` - _select.push(`@${_f.field}=0`) + _select.push(`@${_f.field}=1`) } else if (_f.declare === 'decimal') { _type = `decimal(18,${_f.decimal || 0})` - _select.push(`@${_f.field}=0`) + _select.push(`@${_f.field}=1`) } else if (_f.type === 'rate') { _type = `decimal(18,2)` - _select.push(`@${_f.field}=0`) + _select.push(`@${_f.field}=1`) } else { _select.push(`@${_f.field}=''`) } + + if (['appkey'].includes(key)) return _declare.push(`@${_f.field} ${_type}`) }) @@ -799,6 +808,7 @@ let unionFields = fromJS(_fields).toJS() let formArr = _fields.map(_f => _f.field.toLowerCase()) + let colfields = [] if (card.Ot !== 'notRequired' && columns) { columns.forEach(_f => { if (!_f.field) return @@ -813,40 +823,45 @@ if (fieldArr.includes(key)) return fieldArr.push(key) - _usefulfields.push(_f.field) + colfields.push(_f.field) if (_f.datatype) { // 鑷畾涔夊瓧娈� - if (/decimal/ig.test(_f.datatype)) { - _select.push(`@${_f.field}=0`) + if (/decimal|int/ig.test(_f.datatype)) { + _select.push(`@${_f.field}=1`) + } else if (/date/ig.test(_f.datatype)) { + _select.push(`@${_f.field}='1949-10-01'`) } else { _select.push(`@${_f.field}=''`) } + if (['appkey'].includes(key)) return + _declare.push(`@${_f.field} ${_f.datatype}`) - return - } - - let _fieldlen = _f.fieldlength || 50 - - if (_fieldlen > 4000) { - _fieldlen = 'max' - } - - let _type = `nvarchar(${_fieldlen})` - - if (_f.type === 'number') { - _type = `decimal(18,${_f.decimal ? _f.decimal : 0})` - } else if (_f.type === 'picture' || _f.type === 'textarea') { - _type = `nvarchar(${_fieldlen})` - } - - if (_f.type === 'number') { - _select.push(`@${_f.field}=0`) } else { - _select.push(`@${_f.field}=''`) - } + let _fieldlen = _f.fieldlength || 50 + + if (_fieldlen > 4000) { + _fieldlen = 'max' + } + + let _type = `nvarchar(${_fieldlen})` + + if (_f.type === 'number') { + _type = `decimal(18,${_f.decimal ? _f.decimal : 0})` + } else if (_f.type === 'picture' || _f.type === 'textarea') { + _type = `nvarchar(${_fieldlen})` + } + + if (_f.type === 'number') { + _select.push(`@${_f.field}=1`) + } else { + _select.push(`@${_f.field}=''`) + } + + if (['appkey'].includes(key)) return - _declare.push(`@${_f.field} ${_type}`) + _declare.push(`@${_f.field} ${_type}`) + } }) } @@ -1033,7 +1048,8 @@ columnsFields: _columns, initsql: _sql, defaultsql: _defaultsql, - usefulfields: _usefulfields.join(', '), + formfields: formfields.join(', '), + colfields: colfields.join(', '), uniqueColumns: this.state.uniqueColumns.map(col => { if (col.dataIndex === 'field') { col.options = uniqueFields @@ -1157,7 +1173,6 @@ } orderSql = (record) => { - let _ModularDetailCode = '' let _lpline = '' if (record.TypeCharOne === 'Lp') { if (record.linkField.toLowerCase() === 'bid') { @@ -1165,17 +1180,20 @@ } else { _lpline = `set @ModularDetailCode= 'Lp'+ right('${record.mark || this.props.card.uuid}'+@${record.linkField.toLowerCase()},48)` } - _ModularDetailCode = '@ModularDetailCode' } else if (record.TypeCharOne === 'BN') { - _ModularDetailCode = `'${record.TypeCharOne}'` + if (record.linkField.toLowerCase() === 'bid') { + _lpline = `set @ModularDetailCode= 'BN'+ right(@BID@,48)` + } else { + _lpline = `set @ModularDetailCode= 'BN'+ right(@${record.linkField.toLowerCase()},48)` + } } else { - _ModularDetailCode = `'${record.ModularDetailCode}'` + _lpline = `set @ModularDetailCode= right('${record.ModularDetailCode}',50)` } let sql = `select @BillCode='', @${record.field}='', @ModularDetailCode='' ${_lpline} exec s_get_BillCode - @ModularDetailCode=${_ModularDetailCode}, + @ModularDetailCode=@ModularDetailCode, @Type=${record.Type}, @TypeCharOne='${record.TypeCharOne}', @TypeCharTwo ='${record.TypeCharTwo}', @@ -1261,7 +1279,7 @@ verify.scripts.push(values) } - if (/@bvoucher(\s|\))/ig.test(values.sql)) { + if (/@bvoucher(\s|\))/ig.test(values.sql) && !/s_BVoucher_Create/ig.test(values.sql)) { if (verify.voucher && verify.voucher.enabled) { } else if (card.Ot !== 'notRequired' && columns) { @@ -1561,7 +1579,7 @@ // 琛ㄥ崟鎻愪氦鏃舵鏌ヨ緭鍏ュ�兼槸鍚︽纭� return new Promise((resolve, reject) => { - if ((card.sqlType === 'custom' || verify.default === 'false') && verify.scripts.length === 0) { + if ((card.sqlType === 'custom' || verify.default === 'false') && !(verify.workFlow === 'true' && verify.flowSql === 'true') && verify.scripts.length === 0) { notification.warning({ top: 92, message: '涓嶆墽琛岄粯璁ql鏃讹紝蹇呴』璁剧疆鑷畾涔夎剼鏈紒', @@ -1583,20 +1601,20 @@ msg = '鑷畾涔夎剼鏈�' } - if (window.GLOB.funcs && window.GLOB.funcs.length > 0) { - window.GLOB.funcs.forEach(m => { - let reg = new RegExp('\\$ex@' + m.func_code + '@ex\\$', 'ig') - verify.customverifys.forEach(item => { - item.sql = item.sql.replace(reg, `/*$ex@${m.func_code}-begin*/\n${m.key_sql}\n/*@ex$-end*/`) - }) - verify.scripts.forEach(item => { - item.sql = item.sql.replace(reg, `/*$ex@${m.func_code}-begin*/\n${m.key_sql}\n/*@ex$-end*/`) - }) - verify.cbScripts.forEach(item => { - item.sql = item.sql.replace(reg, `/*$ex@${m.func_code}-begin*/\n${m.key_sql}\n/*@ex$-end*/`) - }) - }) - } + // if (window.GLOB.funcs && window.GLOB.funcs.length > 0) { + // window.GLOB.funcs.forEach(m => { + // let reg = new RegExp('\\$ex@' + m.func_code + '@ex\\$', 'ig') + // verify.customverifys.forEach(item => { + // item.sql = item.sql.replace(reg, `/*$ex@${m.func_code}-begin*/\n${m.key_sql}\n/*@ex$-end*/`) + // }) + // verify.scripts.forEach(item => { + // item.sql = item.sql.replace(reg, `/*$ex@${m.func_code}-begin*/\n${m.key_sql}\n/*@ex$-end*/`) + // }) + // verify.cbScripts.forEach(item => { + // item.sql = item.sql.replace(reg, `/*$ex@${m.func_code}-begin*/\n${m.key_sql}\n/*@ex$-end*/`) + // }) + // }) + // } delete verify.limitInvalid delete verify.limitText @@ -1664,7 +1682,7 @@ render() { const { card, columns } = this.props - const { activeKey, verifyInter, verify, fields, uniqueFields, uniqueColumns, unionFields, onceUniqueColumns, columnsFields, contrastColumns, customColumns, orderColumns, scriptsColumns, cbScriptsColumns, orderModular, orderModularDetail, voucher, voucherDetail, notes, emailCodes, appType } = this.state + const { activeKey, verifyInter, verify, fields, uniqueFields, uniqueColumns, unionFields, onceUniqueColumns, columnsFields, contrastColumns, customColumns, orderColumns, scriptsColumns, cbScriptsColumns, orderModular, orderModularDetail, voucher, voucherDetail, notes, emailCodes, appType, formfields, colfields } = this.state const formItemLayout = { labelCol: { xs: { span: 24 }, @@ -1686,7 +1704,7 @@ {verify.default === 'false' ? <span className="count-tip"><ExclamationOutlined style={{color: 'orange'}}/></span> : null} </span> } key="base"> - <BaseForm card={card} appType={appType} columns={columns} unionFields={unionFields} verify={verify} notes={notes} emailCodes={emailCodes} onChange={(verify) => this.setState({verify})} wrappedComponentRef={(inst) => this.baseForm = inst}/> + <BaseForm card={card} appType={appType} fields={fields} columns={columns} unionFields={unionFields} verify={verify} notes={notes} emailCodes={emailCodes} onChange={(verify) => this.setState({verify})} wrappedComponentRef={(inst) => this.baseForm = inst}/> </TabPane> : null} {verifyInter === 'system' ? <TabPane tab={ <span> @@ -1706,7 +1724,8 @@ <CustomForm btn={this.props.card} initsql={this.state.initsql} - usefulfields={this.state.usefulfields} + formfields={formfields} + colfields={colfields} customChange={this.customChange} wrappedComponentRef={(inst) => this.customForm = inst} /> @@ -1775,10 +1794,15 @@ type="fullscreen" btn={this.props.card} initsql={this.state.initsql} + workFlow={verify.workFlow} + flowRemark={verify.flowRemark} + flowType={verify.flowType} + flowSql={verify.flowSql} customScripts={verify.scripts} useDefaultSql={verify.default !== 'false'} defaultsql={this.state.defaultsql} - usefulfields={this.state.usefulfields} + formfields={formfields} + colfields={colfields} systemScripts={this.state.systemScripts} scriptsChange={this.scriptsChange} wrappedComponentRef={(inst) => this.scriptsFullForm = inst} @@ -1788,11 +1812,14 @@ btn={this.props.card} initsql={this.state.initsql} workFlow={verify.workFlow} + flowRemark={verify.flowRemark} flowType={verify.flowType} + flowSql={verify.flowSql} customScripts={verify.scripts} useDefaultSql={verify.default !== 'false'} defaultsql={this.state.defaultsql} - usefulfields={this.state.usefulfields} + formfields={formfields} + colfields={colfields} systemScripts={this.state.systemScripts} scriptsChange={this.scriptsChange} wrappedComponentRef={(inst) => this.scriptsForm = inst} @@ -1817,7 +1844,8 @@ btn={this.props.card} initsql={this.state.initsql} customScripts={verify.cbScripts} - usefulfields={this.state.usefulfields} + formfields={formfields} + colfields={colfields} systemScripts={this.state.systemScripts} scriptsChange={this.cbScriptsChange} wrappedComponentRef={(inst) => this.cbscriptsFullForm = inst} @@ -1827,7 +1855,8 @@ btn={this.props.card} initsql={this.state.initsql} customScripts={verify.cbScripts} - usefulfields={this.state.usefulfields} + formfields={formfields} + colfields={colfields} systemScripts={this.state.systemScripts} scriptsChange={this.cbScriptsChange} wrappedComponentRef={(inst) => this.cbscriptsForm = inst} -- Gitblit v1.8.0