From 71b872aa44de6266a344646d0e535895620d57a7 Mon Sep 17 00:00:00 2001 From: king <18310653075@163.com> Date: 星期日, 05 一月 2020 22:45:06 +0800 Subject: [PATCH] 2020-01-05 --- src/api/index.js | 6 - src/tabviews/subtable/index.jsx | 4 src/tabviews/commontable/mainTable/index.scss | 5 + src/tabviews/commontable/mainTable/index.jsx | 14 ++++ src/templates/comtableconfig/index.jsx | 39 +++++++++++- src/tabviews/tableshare/fileupload/index.jsx | 15 ++-- src/templates/subtableconfig/index.jsx | 4 src/utils/utils.js | 19 ++++-- src/tabviews/tableshare/actionList/index.jsx | 73 ++++++++++++++--------- 9 files changed, 123 insertions(+), 56 deletions(-) diff --git a/src/api/index.js b/src/api/index.js index 9d6ecac..0a4e201 100644 --- a/src/api/index.js +++ b/src/api/index.js @@ -255,11 +255,7 @@ /** * @description 鏂囦欢涓婁紶 */ - getFileUpload (file) { - const param = new FormData() - param.append('file', file) - param.append('RootPath', 'Content/images/upload/') - + getFileUpload (param) { return axios({ url: '/zh-CN/Home/Upload', data: param diff --git a/src/tabviews/commontable/mainTable/index.jsx b/src/tabviews/commontable/mainTable/index.jsx index 049989f..3bcf3b9 100644 --- a/src/tabviews/commontable/mainTable/index.jsx +++ b/src/tabviews/commontable/mainTable/index.jsx @@ -124,6 +124,20 @@ </div> </div> ) + } else if (item.type === 'picture') { + let photos = '' + if (item.field && record.hasOwnProperty(item.field)) { + photos = record[item.field].split(',') + } else { + photos = '' + } + return ( + <div className="picture-col" style={{ minWidth: (item.Width || 120) + 'px' }}> + {photos && photos.map((url, i) => { + return <img key={`${i}`} src={url} alt=""/> + })} + </div> + ) } else if (item.type === 'action') { return ( <div className={item.style} style={{ minWidth: (item.Width || 120) + 'px' }}> diff --git a/src/tabviews/commontable/mainTable/index.scss b/src/tabviews/commontable/mainTable/index.scss index c4d549d..93f37b9 100644 --- a/src/tabviews/commontable/mainTable/index.scss +++ b/src/tabviews/commontable/mainTable/index.scss @@ -49,6 +49,11 @@ word-wrap: break-word; word-break: break-word; } + .picture-col { + img { + max-width: 100%; + } + } } .ant-table-tbody > tr > td.ant-table-column-has-actions { position: relative; diff --git a/src/tabviews/subtable/index.jsx b/src/tabviews/subtable/index.jsx index 1923161..03dd628 100644 --- a/src/tabviews/subtable/index.jsx +++ b/src/tabviews/subtable/index.jsx @@ -358,12 +358,12 @@ let LText = `select top ${pageSize} ${arr_field} from (select ${arr_field} ,ROW_NUMBER() over(order by ${orderBy}) as rows from ${_dataresource} ${_search}) tmptable where rows > ${pageSize * (pageIndex - 1)} order by tmptable.rows` let DateCount = `select count(1) as total from ${_dataresource} ${_search}` - console.log(LText) + param.LText = Utils.formatOptions(LText) param.timestamp = moment().format('YYYY-MM-DD HH:mm:ss') + '.000' param.secretkey = Utils.encrypt(param.LText, param.timestamp) param.DateCount = Utils.formatOptions(DateCount) - console.log(param) + return param } diff --git a/src/tabviews/tableshare/actionList/index.jsx b/src/tabviews/tableshare/actionList/index.jsx index 2acdec2..eca17b6 100644 --- a/src/tabviews/tableshare/actionList/index.jsx +++ b/src/tabviews/tableshare/actionList/index.jsx @@ -122,6 +122,7 @@ */ execSubmit = (btn, data, _resolve, formdata) => { const { setting } = this.props + if (btn.intertype === 'inner') { // 浣跨敤鍐呴儴鎺ュ彛鏃讹紝鍐呴儴鍑芥暟鍜屾暟鎹簮涓嶅彲鍚屾椂涓虹┖, 浣跨敤绯荤粺鍑芥暟鏃讹紝绫诲瀷涓嶅彲涓虹┖ if (!btn.innerFunc && (!btn.sql || (btn.sql && !btn.sqlType))) { @@ -141,6 +142,10 @@ BID: this.props.BID } + if (setting.primaryKey) { + param[setting.primaryKey] = (data[0] && data[0][setting.primaryKey]) || '' + } + if (btn.OpenType === 'prompt' || btn.OpenType === 'exec') { // 鏄惁寮规鎴栫洿鎺ユ墽琛� let ID = '' if (btn.Ot === 'notRequired') { @@ -152,7 +157,9 @@ ID = ids.join(',') } - param.ID = ID + if (setting.primaryKey) { + param[setting.primaryKey] = ID + } if (btn.innerFunc) { param.func = btn.innerFunc @@ -168,21 +175,16 @@ formdata.forEach(_data => { param[_data.key] = _data.value }) - if (setting.primaryKey) { - if (!param.hasOwnProperty(setting.primaryKey) && data[0] && data[0][setting.primaryKey]) { - param[setting.primaryKey] = data[0][setting.primaryKey] - } - } - if (!param.hasOwnProperty('ID') && setting.primaryKey && data[0] && data[0][setting.primaryKey]) { - param.ID = data[0][setting.primaryKey] - } + } else if (btn.sql && btn.sqlType === 'insert') { - param.ID = Utils.getguid() + if (setting.primaryKey) { + param[setting.primaryKey] = Utils.getguid() + } + param.LText = Utils.formatOptions(Utils.getSysDefaultSql(btn, setting, formdata)) // 鏁版嵁婧� param.timestamp = moment().format('YYYY-MM-DD HH:mm:ss') + '.000' param.secretkey = Utils.encrypt(param.LText, param.timestamp) } else if (btn.sql) { - param.ID = data[0][setting.primaryKey] param.LText = Utils.formatOptions(Utils.getSysDefaultSql(btn, setting, formdata)) // 鏁版嵁婧� param.timestamp = moment().format('YYYY-MM-DD HH:mm:ss') + '.000' param.secretkey = Utils.encrypt(param.LText, param.timestamp) @@ -205,8 +207,11 @@ BID: this.props.BID } + if (setting.primaryKey) { + param[setting.primaryKey] = cell[setting.primaryKey] || '' + } + if (btn.OpenType === 'prompt' || btn.OpenType === 'exec') { // 鏄惁寮规鎴栫洿鎺ユ墽琛� - param.ID = cell[setting.primaryKey] if (btn.innerFunc) { param.func = btn.innerFunc @@ -222,14 +227,11 @@ formdata.forEach(_data => { param[_data.key] = _data.value }) - if (!param.hasOwnProperty(setting.primaryKey) && cell[setting.primaryKey]) { + + } else if (btn.sql) { + if (setting.primaryKey) { param[setting.primaryKey] = cell[setting.primaryKey] } - if (!param.hasOwnProperty('ID') && cell[setting.primaryKey]) { - param.ID = cell[setting.primaryKey] - } - } else if (btn.sql) { - param.ID = cell[setting.primaryKey] param.LText = Utils.formatOptions(Utils.getSysDefaultSql(btn, setting, formdata)) // 鏁版嵁婧� param.timestamp = moment().format('YYYY-MM-DD HH:mm:ss') + '.000' param.secretkey = Utils.encrypt(param.LText, param.timestamp) @@ -268,7 +270,6 @@ } else if (btn.intertype === 'outer') { /** *********************璋冪敤澶栭儴鎺ュ彛************************* */ let param = { - ID: '', BID: this.props.BID } @@ -282,11 +283,11 @@ // 鑾峰彇id if (btn.Ot === 'notRequired') { - } else if (btn.Ot === 'requiredSgl') { - param.ID = data[0][setting.primaryKey] - } else if (btn.Ot === 'requiredOnce') { + } else if (btn.Ot === 'requiredSgl' && setting.primaryKey) { + param[setting.primaryKey] = data[0][setting.primaryKey] + } else if (btn.Ot === 'requiredOnce' && setting.primaryKey) { let ids = data.map(d => { return d[setting.primaryKey]}) - param.ID = ids.join(',') + param[setting.primaryKey] = ids.join(',') } new Promise(resolve => { @@ -368,7 +369,9 @@ BID: this.props.BID, func: btn.innerFunc } - _param.ID = cell[setting.primaryKey] + if (setting.primaryKey) { + _param[setting.primaryKey] = cell[setting.primaryKey] + } return new Promise(resolve => { Api.genericInterface(_param).then(res => { resolve(res) @@ -398,10 +401,14 @@ }) } else { let params = data.map(cell => { - return { + let _cell = { BID: this.props.BID, - ID: cell[setting.primaryKey] } + if (setting.primaryKey) { + _cell[setting.primaryKey] = cell[setting.primaryKey] + } + + return _cell }) resolve(params) } @@ -510,18 +517,26 @@ * 5銆侀�氱煡涓诲垪琛ㄥ埛鏂� */ execSuccess = (btn, res) => { - if (btn.OpenType === 'excelOut') { + if (btn.OpenType === 'excelOut') { // 瀵煎嚭excel this.setState({ loadingUuid: '' }) - } else if (res && res.ErrCode === 'S') { + } else if (res && res.ErrCode === 'S') { // 鎵ц鎴愬姛 notification.success({ top: 92, message: res.ErrMesg || this.props.dict['main.action.confirm.success'], duration: 2 }) - } else if (res && res.ErrCode === '-1') { + } else if (res && res.ErrCode === '-1') { // 瀹屾垚鍚庝笉鎻愮ず + } else if (res.Relogin === 'true') { // 鍒囨崲鐢ㄦ埛鍔熻兘 + sessionStorage.setItem('UserID', res.UserID) + sessionStorage.setItem('SessionUid', Utils.getuuid()) + sessionStorage.setItem('LoginUID', res.LoginUID) + sessionStorage.setItem('User_Name', res.UserName) + + window.location.reload() + return } if (btn.OpenType === 'pop' && btn.setting && btn.setting.finish !== 'unclose') { diff --git a/src/tabviews/tableshare/fileupload/index.jsx b/src/tabviews/tableshare/fileupload/index.jsx index e9c02bd..682498f 100644 --- a/src/tabviews/tableshare/fileupload/index.jsx +++ b/src/tabviews/tableshare/fileupload/index.jsx @@ -57,24 +57,25 @@ } } - shardupload = (file, shardSize, shardCount, i) => { + shardupload = (file, shardSize, shardCount, i, fileList) => { let start = i * shardSize let end = Math.min(file.size, start + shardSize) let form = new FormData() - form.append('data', file.slice(start, end)) //slice鏂规硶鐢ㄤ簬鍒囧嚭鏂囦欢鐨勪竴閮ㄥ垎 + form.append('file', file.slice(start, end)) //slice鏂规硶鐢ㄤ簬鍒囧嚭鏂囦欢鐨勪竴閮ㄥ垎 + form.append('RootPath', 'Content/images/upload/') form.append('name', file.name) form.append('total', shardCount) form.append('index', i + 1) if (i < shardCount) { i++ - Api.getFileUpload(file).then(res => { + Api.getFileUpload(form).then(res => { if (res) { this.setState({ percent: Math.floor(100 * (i / shardCount)) }) - this.shardupload(file, shardSize, shardCount, i) + this.shardupload(file, shardSize, shardCount, i, fileList) } }) } else { @@ -92,8 +93,8 @@ } beforeUpload = (file, fileList) => { - let shardSize = 200 * 1024 * 1024 - // console.log(file) + let shardSize = 2 * 1024 * 1024 + // let shardSize = 3 * 1024 if (file.size > shardSize) { this.setState({ @@ -101,7 +102,7 @@ percent: 0 }) let shardCount = Math.ceil(file.size / shardSize) - this.shardupload(file, shardSize, shardCount, 0) + this.shardupload(file, shardSize, shardCount, 0, fileList) return false } else { return true diff --git a/src/templates/comtableconfig/index.jsx b/src/templates/comtableconfig/index.jsx index 187031b..ae698a1 100644 --- a/src/templates/comtableconfig/index.jsx +++ b/src/templates/comtableconfig/index.jsx @@ -69,7 +69,8 @@ delActions: [], // 鍒犻櫎鎸夐挳鍒楄〃 funcLoading: false, // 瀛樺偍杩囩▼鍒涘缓涓� showColumnName: false, // 鏄剧ず鍒楀瓧娈靛悕鎺у埗 - tabviews: [] // 鎵�鏈夋爣绛鹃〉 + tabviews: [], // 鎵�鏈夋爣绛鹃〉 + profileVisible: false // 楠岃瘉淇℃伅妯℃�佹 } /** @@ -1320,7 +1321,7 @@ fields: fields, menuNo: menu.MenuNo } - newLText = Utils.formatOptions(Utils.getfunc(_param, btn, menu, _config.columns)) + newLText = Utils.formatOptions(Utils.getfunc(_param, btn, menu, _config)) DelText = Utils.formatOptions(Utils.dropfunc(_param.funcName)) resolve(true) } else { @@ -1339,7 +1340,7 @@ fields: '', menuNo: menu.MenuNo } - newLText = Utils.formatOptions(Utils.getfunc(_param, btn, menu, _config.columns)) + newLText = Utils.formatOptions(Utils.getfunc(_param, btn, menu, _config)) DelText = Utils.formatOptions(Utils.dropfunc(_param.funcName)) resolve(true) } @@ -1834,10 +1835,19 @@ }) } + /** + * @description 楠岃瘉淇℃伅閰嶇疆 + */ profileAction = (element) => { - console.log(element) + // this.setState({ + // profileVisible: true, + // card: element + // }) } + /** + * @description 涓夌骇鑿滃崟鍒囨崲妯℃澘 + */ changeTemplate = () => { this.props.handleConfig('template') } @@ -3019,6 +3029,27 @@ <Empty /> } </Modal> + {/* 鎸夐挳浣跨敤绯荤粺瀛樺偍杩囩▼鏃讹紝楠岃瘉淇℃伅妯℃�佹 */} + <Modal + wrapClassName="common-table-fields-modal" + title={'楠岃瘉淇℃伅'} + visible={this.state.profileVisible} + width={'65vw'} + style={{minWidth: '900px', maxWidth: '1200px'}} + cancelText={this.state.dict['header.close']} + onOk={this.addFieldSubmit} + onCancel={() => { // 鍙栨秷娣诲姞 + this.setState({ + tableVisible: false, + addType: '' + }) + }} + destroyOnClose + > + {this.state.addType && this.state.fields.length > 0 ? + <EditCard data={this.state.fields} ref="searchcard" type={this.state.addType} dict={this.state.dict} /> : null + } + </Modal> {/* 璁剧疆鍏ㄥ眬閰嶇疆鍙婂垪琛ㄦ暟鎹簮 */} <Modal title={this.state.dict['header.edit']} diff --git a/src/templates/subtableconfig/index.jsx b/src/templates/subtableconfig/index.jsx index 5729634..93775e0 100644 --- a/src/templates/subtableconfig/index.jsx +++ b/src/templates/subtableconfig/index.jsx @@ -1151,7 +1151,7 @@ fields: fields, menuNo: _config.tabNo } - newLText = Utils.formatOptions(Utils.getfunc(_param, btn, {MenuID: _config.uuid, MenuName: _config.tabName}, _config.columns)) + newLText = Utils.formatOptions(Utils.getfunc(_param, btn, {MenuID: _config.uuid, MenuName: _config.tabName}, _config)) DelText = Utils.formatOptions(Utils.dropfunc(_param.funcName)) resolve(true) } else { @@ -1170,7 +1170,7 @@ fields: '', menuNo: _config.tabNo } - newLText = Utils.formatOptions(Utils.getfunc(_param, btn, {MenuID: _config.uuid, MenuName: _config.tabName}, _config.columns)) + newLText = Utils.formatOptions(Utils.getfunc(_param, btn, {MenuID: _config.uuid, MenuName: _config.tabName}, _config)) DelText = Utils.formatOptions(Utils.dropfunc(_param.funcName)) resolve(true) } diff --git a/src/utils/utils.js b/src/utils/utils.js index 4d06275..e4b03b9 100644 --- a/src/utils/utils.js +++ b/src/utils/utils.js @@ -426,7 +426,7 @@ let _datasource = item.dataSource let sql = '' - if (/\s/.test(_datasource)) { + if (/\s/.test(_datasource)) { // 鎷兼帴鍒悕 _datasource = '(' + _datasource + ') tb' } @@ -449,6 +449,7 @@ * @return {String} table 琛ㄥ悕 */ static getSysDefaultSql (btn, setting, formdata) { + let primaryKey = setting.primaryKey || 'id' let _sql = '' if (btn.OpenType === 'pop' && btn.sqlType === 'insert') { let keys = [] @@ -476,11 +477,11 @@ } }) _form = _form.join(',') - _sql = `update ${btn.sql} set ${_form},modifydate=getdate(),modifyuserid=@userid where ${setting.primaryKey}=@id` + _sql = `update ${btn.sql} set ${_form},modifydate=getdate(),modifyuserid=@userid where ${primaryKey}=@${primaryKey}` } else if ((btn.OpenType === 'prompt' || btn.OpenType === 'exec') && btn.sqlType === 'LogicDelete') { // 閫昏緫鍒犻櫎 - _sql = `update ${btn.sql} set deleted=1,modifydate=getdate(),modifyuserid=@userid where ${setting.primaryKey}=@id` + _sql = `update ${btn.sql} set deleted=1,modifydate=getdate(),modifyuserid=@userid where ${primaryKey}=@${primaryKey}` } else if ((btn.OpenType === 'prompt' || btn.OpenType === 'exec') && btn.sqlType === 'delete') { - _sql = `insert into snote (remark,createuserid) select '鍒犻櫎琛�:${btn.sql} 鏁版嵁: id='+@id,@userid delete ${btn.sql} where ${setting.primaryKey}=@id` + _sql = `insert into snote (remark,createuserid) select '鍒犻櫎琛�:${btn.sql} 鏁版嵁: ${primaryKey}='+@${primaryKey},@userid delete ${btn.sql} where ${primaryKey}=@${primaryKey}` } return _sql @@ -502,6 +503,7 @@ let form = '' let formParam = '' let _columns = [] + let primaryKey = config.setting.primaryKey || 'ID' if (config.search && config.search.length > 0) { let _fields = new Map() @@ -543,7 +545,7 @@ let Ltext = `create proc ${param.innerFunc} ( /*${menu.MenuName}*/ @BID nvarchar(50)='', - @ID nvarchar(50)='',${formParam} + @${primaryKey} nvarchar(50)='',${formParam} @PageIndex nvarchar(50)='', @PageSize nvarchar(50)='', @OrderCol nvarchar(50)='', @@ -625,9 +627,12 @@ * @description 鍒涘缓瀛樺偍杩囩▼ * @return {String} */ - static getfunc (param, btn, menu, columns) { + static getfunc (param, btn, menu, config) { + console.log(menu) let form = '' let formParam = '' + let columns = config.columns + let primaryKey = config.setting.primaryKey || 'ID' if (param.fields && param.fields.length > 0) { let _fields = [] @@ -691,7 +696,7 @@ let Ltext = `create proc ${param.funcName} ( /*${menu.MenuName} ${btn.label}*/ @BID nvarchar(50)='', - @ID nvarchar(50)='',${formParam} + @${primaryKey} nvarchar(50)='',${formParam} @sEPTMenuNo nvarchar(50)='${param.menuNo}', @lang nvarchar(50)='', @debug nvarchar(50)='', -- Gitblit v1.8.0