From f3167f8371d19d0ea8fe7d0e7af5517ff0b08cd2 Mon Sep 17 00:00:00 2001 From: king <18310653075@163.com> Date: 星期三, 07 四月 2021 23:25:29 +0800 Subject: [PATCH] 2021-04-07 --- src/tabviews/commontable/index.jsx | 71 ++++++++++++++++++----------------- 1 files changed, 36 insertions(+), 35 deletions(-) diff --git a/src/tabviews/commontable/index.jsx b/src/tabviews/commontable/index.jsx index 73a85b8..ce0938e 100644 --- a/src/tabviews/commontable/index.jsx +++ b/src/tabviews/commontable/index.jsx @@ -179,14 +179,8 @@ // 瀛楁鏉冮檺榛戝悕鍗� 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.toLowerCase() === 'bid') { - item.initval = param.BID - } else if (param.data && param.data[item.field]) { - item.initval = param.data[item.field] - } + if (['text', 'select', 'link'].includes(item.type) && param && param.$searchkey === item.field) { + item.initval = param.$searchval } if (!item.blacklist || item.blacklist.length === 0) return item @@ -213,6 +207,7 @@ config.setting.laypage = config.setting.laypage !== 'false' // 鏄惁鍒嗛〉锛岃浆涓篵oolean 缁熶竴鏍煎紡 config.setting.execute = config.setting.default !== 'false' // 榛樿sql鏄惁鎵ц锛岃浆涓篵oolean 缁熶竴鏍煎紡 config.setting.customScript = '' // 鑷畾涔夎剼鏈� + config.setting.dataresource = config.setting.dataresource || '' if (config.setting.interType === 'system' || (config.setting.interType === 'custom' && config.setting.requestMode === 'system')) { if (config.setting.scripts && config.setting.scripts.length > 0) { @@ -228,8 +223,6 @@ if (!config.setting.execute) { // 榛樿sql 涓嶆墽琛屾椂 缃┖ config.setting.dataresource = '' - } else { - config.setting.dataresource = config.setting.dataresource || '' } if (/\s/.test(config.setting.dataresource)) { config.setting.dataresource = '(' + config.setting.dataresource + ') tb' @@ -243,6 +236,15 @@ } else { config.setting.dataresource = config.setting.dataresource.replace(/@\$|\$@/ig, '') config.setting.customScript = config.setting.customScript.replace(/@\$|\$@/ig, '') + } + if (config.urlFields) { + let _param = param || {} + config.urlFields.forEach(field => { + let reg = new RegExp('@' + field + '@', 'ig') + let val = `'${_param[field] || ''}'` + config.setting.dataresource = config.setting.dataresource.replace(reg, val) + config.setting.customScript = config.setting.customScript.replace(reg, val) + }) } } @@ -288,6 +290,13 @@ if (col.field) { _arrField.push(col.field) + if (col.linkmenu && col.linkmenu.length > 0) { + let menu_id = col.linkmenu.slice(-1)[0] + col.linkThdMenu = permMenus.filter(m => m.MenuID === menu_id)[0] || '' + } else { + col.linkThdMenu = '' + } + col.nameField && _arrField.push(col.nameField) // 閾炬帴鍚嶅瓧娈� if (col.Hide !== 'true' && col.type === 'number' && col.sum === 'true') { statFields.push(col) @@ -305,13 +314,6 @@ // 鐢熸垚鏄剧ず鍒楋紝澶勭悊鍚堝苟鍒椾腑鐨勫瓧娈� config.columns.forEach((col, index) => { if (_hideCol.includes(col.uuid)) return - - if (col.linkmenu && col.linkmenu.length > 0) { - let menu_id = col.linkmenu.slice(-1)[0] - col.linkThdMenu = permMenus.filter(m => m.MenuID === menu_id)[0] || '' - } else { - col.linkThdMenu = '' - } col.sort = index @@ -363,7 +365,7 @@ actions: _actions, columns: _columns, arr_field: _arrField.join(','), - BID: param && param.BID ? param.BID : '', + BID: param && param.$BID ? param.$BID : '', search: Utils.initMainSearch(config.search), // 鎼滅储鏉′欢鍒濆鍖栵紙鍚湁鏃堕棿鏍煎紡锛岄渶瑕佽浆鍖栵級 hasReqFields }, () => { @@ -489,7 +491,7 @@ Api.genericInterface(param).then(res => { if (res.status) { - if (res.mk_ex_invoke === 'false') { + if (res.mk_ex_invoke === 'false' || res.mk_ex_invoke === false) { this.loadmaindata() } else { this.customOuterRequest(res) @@ -537,7 +539,7 @@ param[key] = result[key] }) - Api.directRequest(url, setting.method, param).then(res => { + Api.directRequest(url, setting.method, param, setting.cross).then(res => { if (typeof(res) !== 'object' || Array.isArray(res)) { let error = '鏈煡鐨勮繑鍥炵粨鏋滐紒' @@ -715,8 +717,9 @@ let result = await Api.genericInterface(param) if (result.status) { let data = fromJS(this.state.data).toJS() + let selectedData = fromJS(this.state.selectedData).toJS() if (result.data && result.data[0]) { - let _data = result.data[0] + let _data = result.data[0] || {} if (absFields.length) { absFields.forEach(field => { @@ -726,18 +729,23 @@ _data[field] = Math.abs(_data[field]) }) } + _data.$$uuid = _data[setting.primaryKey] || '' + _data.$$BID = BID || '' try { data = data.map(item => { - if (item[setting.primaryKey] === _data[setting.primaryKey]) { + if (item.$$uuid === _data.$$uuid) { _data.key = item.key - _data.$$uuid = _data[setting.primaryKey] || '' - _data.$$BID = BID || '' - return _data } else { return item } + }) + selectedData = selectedData.map(item => { + if (_data.$$uuid === item.$$uuid) { + return _data + } + return item }) } catch { console.warn('鏁版嵁鏌ヨ閿欒') @@ -745,7 +753,8 @@ } this.setState({ - data: data, + data, + selectedData, loading: false }) } else { @@ -994,19 +1003,11 @@ } UNSAFE_componentWillReceiveProps(nextProps) { - if (!is(fromJS(this.props.tabviews), fromJS(nextProps.tabviews))) { + if (!is(fromJS(this.props.tabviews), fromJS(nextProps.tabviews))) { let selectTab = nextProps.tabviews.filter(tab => tab.selected)[0] if (selectTab && selectTab.MenuID === this.props.MenuID) { this.setShortcut() } - } else if (nextProps.param && !is(fromJS(this.props.param), fromJS(nextProps.param))) { - let search = this.state.search.map(item => { - if (item.type === 'text' && item.key === nextProps.param.searchkey) { - item.value = nextProps.param.searchval - } - return item - }) - this.refreshbysearch(search) } } -- Gitblit v1.8.0