From 3ca91a731665962918a026f521c556f4745ebf35 Mon Sep 17 00:00:00 2001 From: king <18310653075@163.com> Date: 星期一, 16 十一月 2020 19:20:19 +0800 Subject: [PATCH] 2020-11-16 --- src/utils/utils-datamanage.js | 49 ++++++++++++++++++++++++++++++++++++++++--------- 1 files changed, 40 insertions(+), 9 deletions(-) diff --git a/src/utils/utils-datamanage.js b/src/utils/utils-datamanage.js index 15e098a..a107fdc 100644 --- a/src/utils/utils-datamanage.js +++ b/src/utils/utils-datamanage.js @@ -16,13 +16,13 @@ * @param {Boolean} dataManager 鏁版嵁鏉冮檺 * @return {Object} param */ - static getQueryDataParams (setting, arrFields, search = [], orderBy = '', pageIndex = 1, pageSize = 10, BID, menuType, dataManager) { + static getQueryDataParams (setting, arrFields, search = [], orderBy = '', pageIndex = 1, pageSize = 10, BID, menuType, dataManager, id) { let param = null if (setting.interType === 'system' || (setting.interType === 'inner' && !setting.innerFunc)) { - param = this.getDefaultQueryParam(setting, arrFields, search, orderBy, pageIndex, pageSize, menuType) + param = this.getDefaultQueryParam(setting, arrFields, search, orderBy, pageIndex, pageSize, menuType, id) } else { - param = this.getCustomQueryParam(setting, search, orderBy, pageIndex, pageSize, menuType) + param = this.getCustomQueryParam(setting, search, orderBy, pageIndex, pageSize, menuType, id) } if (BID) { @@ -39,14 +39,16 @@ /** * @description 鑾峰彇鐢ㄦ埛鑷畾涔夊瓨鍌ㄨ繃绋嬩紶鍙� */ - static getCustomQueryParam (setting, search, orderBy, pageIndex, pageSize, menuType) { + static getCustomQueryParam (setting, search, orderBy, pageIndex, pageSize, menuType, id) { let param = Utils.formatCustomMainSearch(search) if (orderBy) { param.OrderCol = orderBy } - if (setting.laypage) { + if (id) { + param.ID = id + } else if (setting.laypage) { param.PageIndex = pageIndex param.PageSize = pageSize } @@ -79,14 +81,14 @@ /** * @description 鑾峰彇绯荤粺瀛樺偍杩囩▼ sPC_Get_TableData 鐨勫弬鏁� */ - static getDefaultQueryParam (setting, arrFields, search, orderBy, pageIndex, pageSize, menuType) { + static getDefaultQueryParam (setting, arrFields, search, orderBy, pageIndex, pageSize, menuType, id) { let param = { func: 'sPC_Get_TableData', obj_name: 'data', arr_field: arrFields, default_sql: setting.execute ? 'true' : 'false' } - + let _dataresource = setting.dataresource let _customScript = '' @@ -99,6 +101,13 @@ let regoptions = null if (setting.queryType === 'statistics' || _customScript) { let allSearch = Utils.getAllSearchOptions(search) + let userName = sessionStorage.getItem('User_Name') || '' + let fullName = sessionStorage.getItem('Full_Name') || '' + + if (sessionStorage.getItem('isEditState') === 'true') { + userName = sessionStorage.getItem('CloudUserName') || '' + fullName = sessionStorage.getItem('CloudFullName') || '' + } regoptions = allSearch.map(item => { return { @@ -107,6 +116,12 @@ } }) regoptions.push({ + reg: new RegExp('@userName@', 'ig'), + value: userName + }, { + reg: new RegExp('@fullName@', 'ig'), + value: fullName + }, { reg: new RegExp('@orderBy@', 'ig'), value: orderBy }, { @@ -124,11 +139,14 @@ regoptions.forEach(item => { _dataresource = _dataresource.replace(item.reg, item.value) }) - } else if (_dataresource) { + } else if (_dataresource && !id) { _search = Utils.joinMainSearchkey(search) if (_search) { _search = 'where ' + _search } + } else if (_dataresource && id) { + _search = Utils.joinMainSearchkey(search) + _search = `where ${_search ? _search + ' AND ' : ''} ${setting.primaryKey || 'ID'}='${id}'` } if (_customScript) { @@ -140,7 +158,7 @@ let LText = '' let DateCount = '' - if (_dataresource && setting.laypage && orderBy) { + if (_dataresource && setting.laypage && orderBy && !id) { LText = ` select top ${pageSize} ${arrFields} from (select ${arrFields} ,ROW_NUMBER() over(order by ${orderBy}) as rows from ${_dataresource} ${_search}) tmptable where rows > ${pageSize * (pageIndex - 1)} order by tmptable.rows ` DateCount = `select count(1) as total from ${_dataresource} ${_search}` } else if (_dataresource && orderBy) { @@ -207,6 +225,13 @@ let regoptions = null if (setting.queryType === 'statistics' || _customScript) { let allSearch = Utils.getAllSearchOptions(search) + let userName = sessionStorage.getItem('User_Name') || '' + let fullName = sessionStorage.getItem('Full_Name') || '' + + if (sessionStorage.getItem('isEditState') === 'true') { + userName = sessionStorage.getItem('CloudUserName') || '' + fullName = sessionStorage.getItem('CloudFullName') || '' + } regoptions = allSearch.map(item => { return { @@ -215,6 +240,12 @@ } }) regoptions.push({ + reg: new RegExp('@userName@', 'ig'), + value: userName + }, { + reg: new RegExp('@fullName@', 'ig'), + value: fullName + }, { reg: new RegExp('@orderBy@', 'ig'), value: orderBy }, { -- Gitblit v1.8.0