From fe21d23b147ed5cec22b4f76a88840b05495d4ad Mon Sep 17 00:00:00 2001 From: king <18310653075@163.com> Date: 星期六, 18 六月 2022 22:33:59 +0800 Subject: [PATCH] 2022-06-18 --- src/utils/utils.js | 427 ++++++++++++++++++++++++++++++++++------------------- 1 files changed, 274 insertions(+), 153 deletions(-) diff --git a/src/utils/utils.js b/src/utils/utils.js index 1e8e4b5..1f78e17 100644 --- a/src/utils/utils.js +++ b/src/utils/utils.js @@ -248,18 +248,45 @@ item.hidden = item.Hide === 'true' item.required = !item.hidden && item.required === 'true' item.advanced = item.advanced === 'true' + item.$forbid = item.query === 'false' + item.precision = item.precision || 'day' if (item.type === 'date') { // 鏃堕棿鎼滅储 - item.initval = item.initval ? moment().subtract(item.initval, 'days').format('YYYY-MM-DD') : '' + let format = 'YYYY-MM-DD' + if (item.precision === 'day') { + + } else if (item.precision === 'hour') { + format = 'YYYY-MM-DD HH' + } else if (item.precision === 'minute') { + format = 'YYYY-MM-DD HH:mm' + } else if (item.precision === 'second') { + format = 'YYYY-MM-DD HH:mm:ss' + } + + item.initval = item.initval ? moment().subtract(item.initval, 'days').format(format) : '' } else if (item.type === 'datemonth') { item.initval = item.initval ? moment().subtract(item.initval, 'month').format('YYYY-MM') : '' } else if (item.type === 'dateweek') { item.initval = item.initval ? moment().subtract(item.initval * 7, 'days').format('YYYY-MM-DD') : '' } else if (item.type === 'daterange') { - if (item.initval) { + let format = 'YYYY-MM-DD' + if (item.precision === 'day') { + + } else if (item.precision === 'hour') { + format = 'YYYY-MM-DD HH' + } else if (item.precision === 'minute') { + format = 'YYYY-MM-DD HH:mm' + } else if (item.precision === 'second') { + format = 'YYYY-MM-DD HH:mm:ss' + } + if (item.initval === 'week') { + item.initval = [moment().startOf('week').format(format), moment().endOf('week').format(format)].join(',') + } else if (item.initval === 'month') { + item.initval = [moment().startOf('month').format(format), moment().endOf('month').format(format)].join(',') + } else if (item.initval) { try { let _initval = JSON.parse(item.initval) - let _vals = [moment().subtract(_initval[0], 'days').format('YYYY-MM-DD'), moment().subtract(_initval[1], 'days').format('YYYY-MM-DD')] + let _vals = [moment().subtract(_initval[0], 'days').format(format), moment().subtract(_initval[1], 'days').format(format)] item.initval = _vals.join(',') } catch (e) { item.initval = '' @@ -352,7 +379,9 @@ type: cell.type, label: cell.label, value: cell.initval, - required: cell.required + required: cell.required, + precision: cell.precision || 'day', + forbid: cell.$forbid } if (cell.type === 'multiselect' || (cell.type === 'checkcard' && cell.multiple === 'true')) { @@ -392,10 +421,18 @@ let _val = item.value || '' if (_val) { - if (item.match === '<' || item.match === '<=') { - _val = moment(_val, 'YYYY-MM-DD').add(1, 'days').format('YYYY-MM-DD') + ' 00:00:00.000' - } else if (item.match === '>' || item.match === '>=') { - _val = _val + ' 00:00:00.000' + if (item.precision === 'day') { + if (item.match === '<' || item.match === '<=') { + _val = moment(_val, 'YYYY-MM-DD').add(1, 'days').format('YYYY-MM-DD') + ' 00:00:00.000' + } else if (item.match === '>' || item.match === '>=') { + _val = _val + ' 00:00:00.000' + } + } else if (item.precision === 'hour') { + _val = _val + ':00:00.000' + } else if (item.precision === 'minute') { + _val = _val + ':00.000' + } else if (item.precision === 'second') { + _val = _val + '.000' } } @@ -431,8 +468,20 @@ let _endval = '' if (item.value) { let val = item.value.split(',') - _startval = val[0] + ' 00:00:00.000' - _endval = moment(val[1], 'YYYY-MM-DD').add(1, 'days').format('YYYY-MM-DD') + ' 00:00:00.000' + + if (item.precision === 'day') { + _startval = val[0] + ' 00:00:00.000' + _endval = moment(val[1], 'YYYY-MM-DD').add(1, 'days').format('YYYY-MM-DD') + ' 00:00:00.000' + } else if (item.precision === 'hour') { + _startval = val[0] + ':00:00.000' + _endval = val[1] + ':00:00.000' + } else if (item.precision === 'minute') { + _startval = val[0] + ':00.000' + _endval = val[1] + ':00.000' + } else if (item.precision === 'second') { + _startval = val[0] + '.000' + _endval = val[1] + '.000' + } } newsearches[item.key] = _startval @@ -457,59 +506,87 @@ static joinMainSearchkey (searches) { if (!searches || searches.length === 0) return '' - let searchText = '' + let searchText = [] searches.forEach(item => { if (item.forbid || !item.value) return - searchText += (searchText !== '' ? ' AND ' : '') if (item.type === 'text' || item.type === 'select') { // 缁煎悎鎼滅储锛屾枃鏈垨涓嬫媺锛屾墍鏈夊瓧娈垫嫾鎺� - let str = item.match === '=' ? '' : '%' + let str = item.match === 'like' || item.match === 'not like' ? '%' : '' let fields = item.key.split(',').map(field => { return field + ' ' + item.match + ' \'' + str + item.value + str + '\'' }) - searchText += '(' + fields.join(' OR ') + ')' + searchText.push('(' + fields.join(' OR ') + ')') + } else if (item.type === 'checkcard') { + let str = item.match === 'like' || item.match === 'not like' ? '%' : '' + + searchText.push('(' + item.key + ' ' + item.match + ' \'' + str + item.value + str + '\')') } else if (item.type === 'multi') { - searchText += `'${item.value}' ${item.match} '%'+${item.key}+'%'` + searchText.push(`('${item.value}' ${item.match} '%'+${item.key}+'%')`) } else if (item.type === 'date') { let _val = item.value - let timetail = ' 00:00:00.000' + let timetail = '' let _match = item.match if (item.match === '<' || item.match === '<=') { // 鏃堕棿涓�<=鏃讹紝鍖归厤鍚庝竴澶╃殑0鐐癸紝鍖归厤鏂瑰紡涓�< _match = '<' - _val = moment(_val, 'YYYY-MM-DD').add(1, 'days').format('YYYY-MM-DD') - } else if (item.match === '=') { + if (item.precision === 'day') { + _val = moment(_val, 'YYYY-MM-DD').add(1, 'days').format('YYYY-MM-DD') + } + } + if (item.match === '=') { timetail = '' + } else if (item.precision === 'day') { + timetail = ' 00:00:00.000' + } else if (item.precision === 'hour') { + timetail = ':00:00.000' + } else if (item.precision === 'minute') { + timetail = ':00.000' + } else if (item.precision === 'second') { + timetail = '.000' } - searchText += '(' + item.key + ' ' + _match + ' \'' + _val + timetail + '\')' + searchText.push('(' + item.key + ' ' + _match + ' \'' + _val + timetail + '\')') } else if (item.type === 'datemonth') { // 鏈�-杩囨护鏉′欢锛屼粠鏈堝紑濮嬭嚦缁撴潫锛岀粨鏉熸椂闂翠负鏈堟湯鍔犱竴澶╃殑0鐐癸紝鏂瑰紡涓�< let _startval = moment(item.value, 'YYYY-MM').startOf('month').format('YYYY-MM-DD') + ' 00:00:00.000' let _endval = moment(item.value, 'YYYY-MM').endOf('month').add(1, 'days').format('YYYY-MM-DD') + ' 00:00:00.000' - searchText += '(' + item.key + ' >= \'' + _startval + '\' AND ' + item.key + ' < \'' + _endval + '\')' + searchText.push('(' + item.key + ' >= \'' + _startval + '\' AND ' + item.key + ' < \'' + _endval + '\')') } else if (item.type === 'dateweek') { // 鍛�-杩囨护鏉′欢 let _startval = moment(item.value, 'YYYY-MM-DD' ).startOf('week').format('YYYY-MM-DD') + ' 00:00:00.000' let _endval = moment(item.value, 'YYYY-MM-DD').endOf('week').add(1, 'days').format('YYYY-MM-DD') + ' 00:00:00.000' - searchText += '(' + item.key + ' >= \'' + _startval + '\' AND ' + item.key + ' < \'' + _endval + '\')' + searchText.push('(' + item.key + ' >= \'' + _startval + '\' AND ' + item.key + ' < \'' + _endval + '\')') } else if (item.type === 'daterange') { let val = item.value.split(',') - let _startval = val[0] + ' 00:00:00.000' - let _endval = moment(val[1], 'YYYY-MM-DD').add(1, 'days').format('YYYY-MM-DD') + ' 00:00:00.000' + let _startval = '' + let _endval = '' - searchText += '(' + item.key + ' >= \'' + _startval + '\' AND ' + item.key + ' < \'' + _endval + '\')' + if (item.precision === 'day') { + _startval = val[0] + ' 00:00:00.000' + _endval = moment(val[1], 'YYYY-MM-DD').add(1, 'days').format('YYYY-MM-DD') + ' 00:00:00.000' + } else if (item.precision === 'hour') { + _startval = val[0] + ':00:00.000' + _endval = val[1] + ':00:00.000' + } else if (item.precision === 'minute') { + _startval = val[0] + ':00.000' + _endval = val[1] + ':00.000' + } else if (item.precision === 'second') { + _startval = val[0] + '.000' + _endval = val[1] + '.000' + } + + searchText.push('(' + item.key + ' >= \'' + _startval + '\' AND ' + item.key + ' < \'' + _endval + '\')') } else if (item.type === 'range') { let val = item.value.split(',') - searchText += '(' + item.key + ' >= \'' + val[0] + '\' AND ' + item.key + ' < \'' + val[1] + '\')' + searchText.push('(' + item.key + ' >= \'' + val[0] + '\' AND ' + item.key + ' < \'' + val[1] + '\')') } else { - searchText += '(' + item.key + ' ' + item.match + ' \'' + item.value + '\')' + searchText.push('(' + item.key + ' ' + item.match + ' \'' + item.value + '\')') } }) - return searchText + return searchText.join(' AND ') } /** @@ -537,10 +614,24 @@ fieldmap.set(item.key, true) if (item.type === 'date') { - if (['>=', '>'].includes(item.match)) { - item.value = item.value ? item.value + ' 00:00:00.000' : '1970-01-01 00:00:00.000' - } else if (['<=', '<'].includes(item.match)) { - item.value = item.value ? moment(item.value, 'YYYY-MM-DD').add(1, 'days').format('YYYY-MM-DD') + ' 00:00:00.000' : '2050-01-01 00:00:00.000' + if (!item.value) { + if (['>=', '>'].includes(item.match)) { + item.value = '1970-01-01 00:00:00.000' + } else if (['<=', '<'].includes(item.match)) { + item.value = '2050-01-01 00:00:00.000' + } + } else if (search.precision === 'day') { + if (['>=', '>'].includes(item.match)) { + item.value = item.value + ' 00:00:00.000' + } else if (['<=', '<'].includes(item.match)) { + item.value = moment(item.value, 'YYYY-MM-DD').add(1, 'days').format('YYYY-MM-DD') + ' 00:00:00.000' + } + } else if (search.precision === 'hour') { + item.value = item.value + ':00:00.000' + } else if (search.precision === 'minute') { + item.value = item.value + ':00.000' + } else if (search.precision === 'second') { + item.value = item.value + '.000' } options.push(item) @@ -571,11 +662,23 @@ } else if (item.type === 'daterange') { let _startval = '1970-01-01 00:00:00.000' let _endval = '2050-01-01 00:00:00.000' - + if (item.value) { let val = item.value.split(',') - _startval = val[0] + ' 00:00:00.000' - _endval = moment(val[1], 'YYYY-MM-DD').add(1, 'days').format('YYYY-MM-DD') + ' 00:00:00.000' + + if (search.precision === 'day') { + _startval = val[0] + ' 00:00:00.000' + _endval = moment(val[1], 'YYYY-MM-DD').add(1, 'days').format('YYYY-MM-DD') + ' 00:00:00.000' + } else if (search.precision === 'hour') { + _startval = val[0] + ':00:00.000' + _endval = val[1] + ':00:00.000' + } else if (search.precision === 'minute') { + _startval = val[0] + ':00.000' + _endval = val[1] + ':00.000' + } else if (search.precision === 'second') { + _startval = val[0] + '.000' + _endval = val[1] + '.000' + } } let copy = JSON.parse(JSON.stringify(item)) @@ -588,63 +691,6 @@ options.push(copy) } else if (item.type === 'text' || item.type === 'select') { item.key.split(',').forEach(field => { // 缁煎悎鎼滅储锛屾墍瀛楁鎷兼帴 - let cell = JSON.parse(JSON.stringify(item)) - cell.key = field - - options.push(cell) - }) - } else { - options.push(item) - } - }) - - return options - } - - /** - * @description 鑾峰彇鎼滅储鐢ㄤ簬姝e垯鏇挎崲 - * @param {Array} searches 鎼滅储鏉′欢 - * @return {String} searchText 鎷兼帴缁撴灉 - */ - static getRegOptions (searches) { - if (!searches || searches.length === 0) return [] - - let options = [] - let fieldmap = new Map() - searches.forEach(search => { - let item = { - key: search.field, - value: '0' - } - - if (fieldmap.has(item.key)) { - item.key = item.key + '1' - } - - fieldmap.set(item.key, true) - - if (search.type === 'group') { - options.push({ - key: search.field, - value: '0' - }) - options.push({ - key: search.datefield, - value: '0' - }) - options.push({ - key: search.datefield + '1', - value: '0' - }) - options.push(item) - } else if (['datemonth', 'dateweek', 'daterange'].includes(search.type)) { - options.push(item) - options.push({ - key: item.key + '1', - value: '0' - }) - } else if (search.type === 'text' || search.type === 'select') { - item.key.split(',').forEach(field => { let cell = JSON.parse(JSON.stringify(item)) cell.key = field @@ -701,14 +747,16 @@ static getSelectQueryOptions (item) { let arrfield = [item.valueField, item.valueText] - if (item.type === 'link') { - arrfield.push(item.linkField) - } else if (item.type === 'checkcard') { + if (item.type === 'checkcard') { arrfield = item.fields.map(f => f.field) arrfield.push(item.cardValField) if (item.urlField) { arrfield.push(item.urlField) } + } + + if (item.linkField) { + arrfield.push(item.linkField) } if (['select', 'radio', 'link', 'checkcard'].includes(item.type) && item.linkSubField && item.linkSubField.length > 0) { arrfield.push(...item.linkSubField) @@ -729,9 +777,11 @@ arrfield = arrfield.join(',') if (item.orderBy) { - sql = `select ${item.type === 'checkcard' ? 'top 20' : ''} ${arrfield} from (select distinct ${arrfield},${item.orderBy} as orderfield from ${_datasource} ) a order by orderfield ${item.orderType}` + // sql = `select ${item.type === 'checkcard' ? 'top 20' : ''} ${arrfield} from (select distinct ${arrfield},${item.orderBy} as orderfield from ${_datasource} ) a order by orderfield ${item.orderType}` + sql = `select distinct ${arrfield},${item.orderBy} as orderfield from ${_datasource} order by orderfield ${item.orderType}` } else { - sql = `select ${item.type === 'checkcard' ? 'top 20' : ''} ${arrfield} from (select distinct ${arrfield} from ${_datasource}) a` + // sql = `select ${item.type === 'checkcard' ? 'top 20' : ''} ${arrfield} from (select distinct ${arrfield} from ${_datasource}) a` + sql = `select distinct ${arrfield} from ${_datasource}` } if (sessionStorage.getItem('dataM') === 'true') { // 鏁版嵁鏉冮檺 @@ -746,7 +796,7 @@ sql = sql.replace(/@db@/ig, window.GLOB.externalDatabase) } - if ((window.GLOB.systemType !== 'production' && options.sysType !== 'cloud') || window.debugger === true) { + if (window.GLOB.debugger === true || (window.debugger === true && options.sysType !== 'cloud')) { console.info(sql) } @@ -1019,9 +1069,9 @@ _sql = ` /* 绯荤粺鐢熸垚 */ declare @${sheet} table (${declarefields.join(',')},jskey nvarchar(50),BID nvarchar(50) ) - Declare @UserName nvarchar(50),@FullName nvarchar(50),@RoleID nvarchar(512),@departmentcode nvarchar(50),@organization nvarchar(50),@login_city nvarchar(50),@ErrorCode nvarchar(50),@retmsg nvarchar(4000),@tbid Nvarchar(512) + Declare @UserName nvarchar(50),@FullName nvarchar(50),@RoleID nvarchar(512),@mk_departmentcode nvarchar(50),@mk_organization nvarchar(50),@login_city nvarchar(50),@ErrorCode nvarchar(50),@retmsg nvarchar(4000),@tbid Nvarchar(512) - Select @ErrorCode='', @retmsg='', @UserName='${userName}', @FullName='${fullName}', @RoleID='${RoleID}', @departmentcode='${departmentcode}', @organization='${organization}', @login_city='${city}' + Select @ErrorCode='', @retmsg='', @UserName='${userName}', @FullName='${fullName}', @RoleID='${RoleID}', @mk_departmentcode='${departmentcode}', @mk_organization='${organization}', @login_city='${city}' ${_initCustomScript} ` _sqlInsert = `Insert into @${sheet} (${fields},jskey,BID)` @@ -1038,7 +1088,7 @@ aaa: select @ErrorCode as ErrorCode,@retmsg as retmsg` - if ((window.GLOB.systemType !== 'production' && options.sysType !== 'cloud') || window.debugger === true) { + if (window.GLOB.debugger === true || (window.debugger === true && options.sysType !== 'cloud')) { let fsql = ` ${_sql} ${_sqlInsert} @@ -1054,9 +1104,9 @@ _sql = ` /* 绯荤粺鐢熸垚 */ declare @${sheet} table (jskey nvarchar(50)) - Declare @UserName nvarchar(50),@FullName nvarchar(50),@RoleID nvarchar(512),@departmentcode nvarchar(50),@organization nvarchar(50),@login_city nvarchar(50),@ErrorCode nvarchar(50),@retmsg nvarchar(4000),@tbid Nvarchar(512) + Declare @UserName nvarchar(50),@FullName nvarchar(50),@RoleID nvarchar(512),@mk_departmentcode nvarchar(50),@mk_organization nvarchar(50),@login_city nvarchar(50),@ErrorCode nvarchar(50),@retmsg nvarchar(4000),@tbid Nvarchar(512) - Select @ErrorCode='', @retmsg='', @UserName='${userName}', @FullName='${fullName}', @RoleID='${RoleID}', @departmentcode='${departmentcode}', @organization='${organization}', @login_city='${city}' + Select @ErrorCode='', @retmsg='', @UserName='${userName}', @FullName='${fullName}', @RoleID='${RoleID}', @mk_departmentcode='${departmentcode}', @mk_organization='${organization}', @login_city='${city}' ` } @@ -1104,19 +1154,6 @@ database = database ? (database[0] || '') : '' - let getuuid = () => { - let uuid = [] - let timestamp = new Date().getTime() - let _options = '0123456789abcdefghigklmnopqrstuv' - for (let i = 0; i < 19; i++) { - uuid.push(_options.substr(Math.floor(Math.random() * 0x20), 1)) - } - uuid = timestamp + uuid.join('') - return uuid - } - - // let upId = getuuid() - let _initCustomScript = '' // 鍒濆鍖栬剼鏈� let _prevCustomScript = '' // 榛樿sql鍓嶆墽琛岃剼鏈� let _backCustomScript = '' // 榛樿sql鍚庢墽琛岃剼鏈� @@ -1158,13 +1195,7 @@ }) let key = item.$$uuid - let type = 'upt' - if (key === '$new') { - key = getuuid() - type = 'add' - } else if (item.$deleted) { - type = 'del' - } + let type = item.$type || 'upt' vals.push(`'${key}'`) vals.push(`'${type}'`) @@ -1250,9 +1281,9 @@ _sql = ` /* 绯荤粺鐢熸垚 */ declare @${sheet} table (${declarefields.join(',')},jskey nvarchar(50),data_type nvarchar(50),BID nvarchar(50) ) - Declare @UserName nvarchar(50),@FullName nvarchar(50),@RoleID nvarchar(512),@departmentcode nvarchar(50),@organization nvarchar(50),@login_city nvarchar(50),@ErrorCode nvarchar(50),@retmsg nvarchar(4000),@tbid Nvarchar(512) + Declare @UserName nvarchar(50),@FullName nvarchar(50),@RoleID nvarchar(512),@mk_departmentcode nvarchar(50),@mk_organization nvarchar(50),@login_city nvarchar(50),@ErrorCode nvarchar(50),@retmsg nvarchar(4000),@tbid Nvarchar(512) - Select @ErrorCode='', @retmsg='', @UserName='${userName}', @FullName='${fullName}', @RoleID='${RoleID}', @departmentcode='${departmentcode}', @organization='${organization}', @login_city='${city}' + Select @ErrorCode='', @retmsg='', @UserName='${userName}', @FullName='${fullName}', @RoleID='${RoleID}', @mk_departmentcode='${departmentcode}', @mk_organization='${organization}', @login_city='${city}' ${_initCustomScript} ` _sqlInsert = `Insert into @${sheet} (${fields},jskey,data_type,BID)` @@ -1269,7 +1300,7 @@ aaa: select @ErrorCode as ErrorCode,@retmsg as retmsg` - if ((window.GLOB.systemType !== 'production' && options.sysType !== 'cloud') || window.debugger === true) { + if (window.GLOB.debugger === true || (window.debugger === true && options.sysType !== 'cloud')) { let fsql = ` ${_sql} ${_sqlInsert} @@ -1285,9 +1316,9 @@ _sql = ` /* 绯荤粺鐢熸垚 */ declare @${sheet} table (jskey nvarchar(50)) - Declare @UserName nvarchar(50),@FullName nvarchar(50),@RoleID nvarchar(512),@departmentcode nvarchar(50),@organization nvarchar(50),@login_city nvarchar(50),@ErrorCode nvarchar(50),@retmsg nvarchar(4000),@tbid Nvarchar(512) + Declare @UserName nvarchar(50),@FullName nvarchar(50),@RoleID nvarchar(512),@mk_departmentcode nvarchar(50),@mk_organization nvarchar(50),@login_city nvarchar(50),@ErrorCode nvarchar(50),@retmsg nvarchar(4000),@tbid Nvarchar(512) - Select @ErrorCode='', @retmsg='', @UserName='${userName}', @FullName='${fullName}', @RoleID='${RoleID}', @departmentcode='${departmentcode}', @organization='${organization}', @login_city='${city}' + Select @ErrorCode='', @retmsg='', @UserName='${userName}', @FullName='${fullName}', @RoleID='${RoleID}', @mk_departmentcode='${departmentcode}', @mk_organization='${organization}', @login_city='${city}' ` } @@ -1354,7 +1385,7 @@ }) // 闇�瑕佸0鏄庣殑鍙橀噺闆� - let _vars = ['tbid', 'errorcode', 'retmsg', 'billcode', 'bvoucher', 'fibvoucherdate', 'fiyear', 'username', 'fullname', 'modulardetailcode', 'roleid', 'departmentcode', 'organization', 'login_city'] + let _vars = ['tbid', 'errorcode', 'retmsg', 'billcode', 'bvoucher', 'fibvoucherdate', 'fiyear', 'username', 'fullname', 'modulardetailcode', 'roleid', 'mk_departmentcode', 'mk_organization', 'login_city', 'bid'] // 涓婚敭瀛楁 let primaryKey = setting.primaryKey || 'id' @@ -1375,7 +1406,7 @@ if (!_initvars.includes(_key)) { _initvars.push(_key) - if (form.type === 'number') { + if (form.type === 'number' || form.type === 'rate') { let val = form.value if (typeof(val) !== 'number') { val = parseFloat(val) @@ -1384,6 +1415,8 @@ } } _initFormfields.push(`@${_key}=${val}`) + } else if (['date', 'datemonth', 'datetime'].includes(form.type)) { + _initFormfields.push(`@${_key}='${form.value || '1949-10-01'}'`) } else { _initFormfields.push(`@${_key}='${form.value}'`) } @@ -1402,6 +1435,8 @@ _type = 'datetime' } else if (form.type === 'number') { _type = `decimal(18,${form.fieldlen})` + } else if (form.type === 'rate') { + _type = `decimal(18,2)` } _declarefields.push(`@${_key} ${_type}`) @@ -1415,7 +1450,7 @@ } // 娣诲姞鏁版嵁涓瓧娈碉紝琛ㄥ崟鍊间紭鍏�(鎸夐挳涓嶉�夎鎴栧琛屾嫾鎺ユ椂璺宠繃) - if (data && !btn.$forbid && btn.Ot !== 'notRequired' && btn.Ot !== 'requiredOnce') { + if (data && btn.Ot !== 'notRequired' && btn.Ot !== 'requiredOnce') { datavars = {...data, ...datavars} const setField = (col) => { @@ -1426,7 +1461,7 @@ let _val = datavars.hasOwnProperty(_key) ? datavars[_key] : '' if (col.datatype && /^date/ig.test(col.datatype) && !_val) { - _val = '1900-01-01' + _val = '1949-10-01' } _initvars.push(_key) @@ -1476,8 +1511,26 @@ _declarefields = ',' + _declarefields } _sql = `/* 绯荤粺鐢熸垚 */ - Declare @tbid nvarchar(50),@ErrorCode nvarchar(50),@retmsg nvarchar(4000),@BillCode nvarchar(50),@BVoucher nvarchar(50),@FIBVoucherDate nvarchar(50), @FiYear nvarchar(50), @UserName nvarchar(50),@FullName nvarchar(50),@RoleID nvarchar(512),@departmentcode nvarchar(50),@organization nvarchar(50),@login_city nvarchar(50),@ModularDetailCode nvarchar(50)${_declarefields} + Declare @tbid nvarchar(50),@ErrorCode nvarchar(50),@retmsg nvarchar(4000),@BillCode nvarchar(50),@BVoucher nvarchar(50),@FIBVoucherDate nvarchar(50), @FiYear nvarchar(50), @UserName nvarchar(50),@FullName nvarchar(50),@RoleID nvarchar(512),@mk_departmentcode nvarchar(50),@mk_organization nvarchar(50),@login_city nvarchar(50),@bid nvarchar(50),@ModularDetailCode nvarchar(50)${_declarefields} ` + + let userName = sessionStorage.getItem('User_Name') || '' + let fullName = sessionStorage.getItem('Full_Name') || '' + let RoleID = sessionStorage.getItem('role_id') || '' + let departmentcode = sessionStorage.getItem('departmentcode') || '' + let organization = sessionStorage.getItem('organization') || '' + let city = sessionStorage.getItem('city') || '' + + if (sessionStorage.getItem('isEditState') === 'true') { + userName = sessionStorage.getItem('CloudUserName') || '' + fullName = sessionStorage.getItem('CloudFullName') || '' + } + + // 鍒濆鍖栧嚟璇佸強鐢ㄦ埛淇℃伅瀛楁 + _sql += ` + /* 鍑瘉鍙婄敤鎴蜂俊鎭垵濮嬪寲璧嬪�� */ + select @BVoucher='',@FIBVoucherDate='',@FiYear='',@ErrorCode='',@retmsg='',@UserName='${userName}', @FullName='${fullName}', @RoleID='${RoleID}', @mk_departmentcode='${departmentcode}', @mk_organization='${organization}', @login_city='${city}', @BillCode='', @ModularDetailCode='' + ` // 琛ㄥ崟鍙橀噺璧嬪�� if (_initFormfields.length > 0) { @@ -1507,24 +1560,6 @@ if (verify.billcodes) { verify.billcodes = verify.billcodes.filter(item => item.status !== 'false') } - - let userName = sessionStorage.getItem('User_Name') || '' - let fullName = sessionStorage.getItem('Full_Name') || '' - let RoleID = sessionStorage.getItem('role_id') || '' - let departmentcode = sessionStorage.getItem('departmentcode') || '' - let organization = sessionStorage.getItem('organization') || '' - let city = sessionStorage.getItem('city') || '' - - if (sessionStorage.getItem('isEditState') === 'true') { - userName = sessionStorage.getItem('CloudUserName') || '' - fullName = sessionStorage.getItem('CloudFullName') || '' - } - - // 鍒濆鍖栧嚟璇佸強鐢ㄦ埛淇℃伅瀛楁 - _sql += ` - /* 鍑瘉鍙婄敤鎴蜂俊鎭垵濮嬪寲璧嬪�� */ - select @BVoucher='',@FIBVoucherDate='',@FiYear='',@ErrorCode='',@retmsg='',@UserName='${userName}', @FullName='${fullName}', @RoleID='${RoleID}', @departmentcode='${departmentcode}', @organization='${organization}', @login_city='${city}', @BillCode='', @ModularDetailCode='' - ` if (retmsg) { _callbacksql = _sql @@ -1899,9 +1934,15 @@ if (!_arr.includes('submituserid')) { _form.push('submituserid=@userid@') } + if (!_arr.includes('submituser')) { + _form.push('submituser=@username') + } } else { if (!_arr.includes('modifydate')) { _form.push('modifydate=getdate()') + } + if (!_arr.includes('modifyuser')) { + _form.push('modifyuser=@username') } if (!_arr.includes('modifyuserid')) { _form.push('modifyuserid=@userid@') @@ -1950,7 +1991,7 @@ _sql += ` /* 榛樿sql */ - update ${btn.sql} set deleted=1,modifydate=getdate(),modifyuserid=@userid@ where ${primaryKey}${_ID};` + update ${btn.sql} set deleted=1,modifydate=getdate(),modifyuser=@username,modifyuserid=@userid@ where ${primaryKey}${_ID};` } else if (_actionType === 'delete') { // 鐗╃悊鍒犻櫎 let _msg = '' @@ -2006,7 +2047,7 @@ aaa: select @ErrorCode as ErrorCode,@retmsg as retmsg` } - if ((window.GLOB.systemType !== 'production' && options.sysType !== 'cloud') || window.debugger === true) { + if (window.GLOB.debugger === true || (window.debugger === true && options.sysType !== 'cloud')) { // _sql = _sql.replace(/\n\s{8}/ig, '\n') console.info(_sql) } @@ -2018,6 +2059,84 @@ } } else { return _sql + } +} + +/** + * @description 鑾峰彇鏍囪淇℃伅 + */ +export function getMark (marks, record, style = {}) { + let icon = null + let innerStyle = null + let position = null + style = JSON.parse(JSON.stringify(style)) + + marks.some(mark => { + let originVal = record[mark.field[0]] + let contrastVal = '' + let result = false + + if (mark.field[1] === 'static') { + contrastVal = mark.contrastValue + } else { + contrastVal = record[mark.field[2]] + } + + if (originVal === undefined || contrastVal === undefined) return false + + if (mark.match === '=') { + result = originVal === contrastVal + } else if (mark.match === '!=') { + result = originVal !== contrastVal + } else if (mark.match === 'like') { + originVal = originVal + '' + contrastVal = contrastVal + '' + result = originVal.indexOf(contrastVal) > -1 + } else if (mark.match === '>') { + result = parseFloat(originVal) > parseFloat(contrastVal) + } else if (mark.match === '<') { + result = parseFloat(originVal) < parseFloat(contrastVal) + } + + if (!result) return false + + let type = mark.signType[0] + + if (type === 'font') { + style.color = mark.color + innerStyle = {color: mark.color} + } else if (type === 'background') { + style.background = mark.color + if (mark.fontColor) { + style.color = mark.fontColor + innerStyle = {color: mark.fontColor} + } + } else if (type === 'underline') { + style.textDecoration = 'underline' + style.color = mark.color + 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'} + } else if (type.indexOf('icon') > -1) { + icon = mark.signType[mark.signType.length - 1] + innerStyle = {color: mark.color} + if (type === 'iconfront' || mark.signType[1] === 'front') { + position = 'front' + } else { + position = 'back' + } + } + + return true + }) + + return { + style, + icon, + innerStyle, + position } } @@ -2241,6 +2360,8 @@ type = 'datetime=null' } else if (item.type === 'number') { type = `decimal(18,${item.decimal})=0` + } else if (item.type === 'rate') { + type = `decimal(18,2)=0` } else { type = 'nvarchar(50)=\'\'' } @@ -2266,7 +2387,7 @@ form = ` insert into ${param.name} (${field1},createuserid) select ${field2},@UserID - update ${param.name} set ${field3},modifydate=getdate(),modifyuserid=@UserID + update ${param.name} set ${field3},modifydate=getdate(),modifyuser=@username,modifyuserid=@UserID ` } else if (btn.OpenType === 'prompt' || btn.OpenType === 'exec') { form = ` -- Gitblit v1.8.0