From f36141f3075edf9d41928d64f759ad6bd1b1ac60 Mon Sep 17 00:00:00 2001 From: king <18310653075@163.com> Date: 星期二, 14 七月 2020 17:43:34 +0800 Subject: [PATCH] 2020-07-14 --- src/tabviews/commontable/index.jsx | 141 ++++++++--------------------------------------- 1 files changed, 24 insertions(+), 117 deletions(-) diff --git a/src/tabviews/commontable/index.jsx b/src/tabviews/commontable/index.jsx index 7a1935c..eb32253 100644 --- a/src/tabviews/commontable/index.jsx +++ b/src/tabviews/commontable/index.jsx @@ -220,32 +220,41 @@ let chartId = config.charts[0] ? config.charts[0].uuid : '' // 瀛楁鏉冮檺榛戝悕鍗� - config.search = config.search.filter(item => { - if (!item.blacklist || item.blacklist.length === 0) return true + config.search = config.search.map(item => { + item.oriInitval = item.initval + if (['text', 'select', 'link'].includes(item.type) && param) { + if (param.searchkey === item.field) { + item.initval = param.searchval + } else if (param.BID && item.field === 'BID') { + item.initval = param.BID + } + } + + if (!item.blacklist || item.blacklist.length === 0) return item let _black = item.blacklist.filter(v => { return this.props.permRoles.indexOf(v) !== -1 }) if (_black.length > 0) { - return false - } else { - return true + item.Hide = 'true' } + + return item }) - config.columns = config.columns.filter(col => { - if (!col.field || !col.blacklist || col.blacklist.length === 0 || config.setting.primaryKey === col.field) return true + config.columns = config.columns.map(col => { + if (!col.field || !col.blacklist || col.blacklist.length === 0 || config.setting.primaryKey === col.field) return col let _black = col.blacklist.filter(v => { return this.props.permRoles.indexOf(v) !== -1 }) if (_black.length > 0) { - return false - } else { - return true + col.Hide = 'true' } + + return col }) // 鏍囪涓婚〉闈紝鐢ㄤ簬鎸夐挳鍥哄畾鍙婅〃鍗曟寕杞借缃� @@ -334,7 +343,7 @@ col.sort = index if (col.type === 'colspan' && col.sublist) { - let _col = JSON.parse(JSON.stringify(col)) + let _col = fromJS(col).toJS() let subColumn = [] _col.sublist.forEach(sub => { if (colMap.has(sub)) { @@ -355,10 +364,7 @@ let valid = true // 鎼滅储鏉′欢蹇呭~楠岃瘉, 鍒濆鎼滅储鏉′欢, 濡傞�氳繃涓婄骇閫忚锛屽啓鍏ユ悳绱㈡潯浠� let initSearch = config.search.map(item => { - let _item = JSON.parse(JSON.stringify(item)) - if (_item.type === 'text' && param && param.searchkey === _item.field) { - _item.initval = param.searchval - } + let _item = fromJS(item).toJS() if (_item.required === 'true' && !_item.initval) { valid = false @@ -396,7 +402,6 @@ arr_field: _arrField.join(','), search: Utils.initMainSearch(initSearch) // 鎼滅储鏉′欢鍒濆鍖栵紙鍚湁鏃堕棿鏍煎紡锛岄渶瑕佽浆鍖栵級 }, () => { - this.improveSearch() if (config.setting.onload !== 'false' && valid) { // 鍒濆鍖栧彲鍔犺浇 this.loadmaindata() } @@ -509,107 +514,6 @@ }) }) } - } - - /** - * @description 鎼滅储鏉′欢涓嬫媺閫夐」棰勫姞杞� - */ - improveSearch = () => { - let searchlist = JSON.parse(JSON.stringify(this.state.searchlist)) - let deffers = [] - searchlist.forEach(item => { - if (item.type !== 'multiselect' && item.type !== 'select' && item.type !== 'link') return - if (item.setAll === 'true') { - item.options.unshift({ - key: Utils.getuuid(), - Value: '', - Text: this.state.dict['main.all'] - }) - } - - if (item.resourceType === '1' && item.dataSource) { - let _option = Utils.getSelectQueryOptions(item) - let _sql = Utils.formatOptions(_option.sql) - let isSSO = item.database === 'sso' - - let param = { - func: 'sPC_Get_SelectedList', - LText: _sql, - obj_name: 'data', - arr_field: _option.field - } - - if (this.state.BID) { - param.BID = this.state.BID - } - - if (this.props.dataManager) { // 鏁版嵁鏉冮檺 - param.LText = param.LText.replace(/\$@/ig, '/*') - param.LText = param.LText.replace(/@\$/ig, '*/') - } else { - param.LText = param.LText.replace(/@\$|\$@/ig, '') - } - - param.timestamp = moment().format('YYYY-MM-DD HH:mm:ss') + '.000' - param.secretkey = Utils.encrypt(param.LText, param.timestamp) - - if (this.props.menuType === 'HS') { // 浜戠鏁版嵁楠岃瘉 - param.open_key = Utils.encrypt(param.secretkey, param.timestamp, true) - } - - let defer = new Promise(resolve => { - Api.getSystemCacheConfig(param, isSSO).then(res => { - res.search = item - resolve(res) - }) - }) - deffers.push(defer) - } else if (item.resourceType === '1' && !item.dataSource) { - notification.warning({ - top: 92, - message: item.label + ': ' + this.state.dict['main.datasource.settingerror'], - duration: 5 - }) - } - }) - - if (deffers.length === 0) { - this.setState({searchlist: JSON.parse(JSON.stringify(searchlist))}) - return - } - - Promise.all(deffers).then(result => { - result.forEach(res => { - if (res.status) { - searchlist = searchlist.map(item => { - if (item.uuid === res.search.uuid) { - res.data.forEach(cell => { - let _item = { - key: Utils.getuuid(), - Value: cell[res.search.valueField], - Text: cell[res.search.valueText] - } - - if (res.search.type === 'link') { - _item.parentId = cell[res.search.linkField] - } - - item.options.push(_item) - }) - } - return item - }) - } else { - notification.warning({ - top: 92, - message: res.search.label + ':' + res.message, - duration: 5 - }) - } - }) - - this.setState({searchlist}) - }) } /** @@ -1133,8 +1037,11 @@ {loadingview && <Spin size="large" />} {searchlist && searchlist.length > 0 ? <MainSearch + BID={BID} dict={this.state.dict} searchlist={searchlist} + menuType={this.props.menuType} + dataManager={this.props.dataManager} refreshdata={this.refreshbysearch} /> : null } -- Gitblit v1.8.0