From f3d4db769ba9b51b799d981511a710fd443d0e08 Mon Sep 17 00:00:00 2001 From: king <18310653075@163.com> Date: 星期一, 21 四月 2025 12:18:03 +0800 Subject: [PATCH] Merge branch 'master' into positec --- src/menu/components/table/base-table/index.jsx | 85 +++++++++++++++++++++--------------------- 1 files changed, 43 insertions(+), 42 deletions(-) diff --git a/src/menu/components/table/base-table/index.jsx b/src/menu/components/table/base-table/index.jsx index 70765a7..fe42ea2 100644 --- a/src/menu/components/table/base-table/index.jsx +++ b/src/menu/components/table/base-table/index.jsx @@ -60,8 +60,8 @@ columns: [], cols: [ { origin: true, uuid: Utils.getuuid(), Align: 'left', label: 'label1', field: '', Hide: 'false', type: 'text', Width: 120 }, - { origin: true, uuid: Utils.getuuid(), Align: 'left', label: 'label2', field: '', Hide: 'false', IsSort: 'true', type: 'text', Width: 120 }, - { origin: true, uuid: Utils.getuuid(), Align: 'left', label: 'label3', field: '', Hide: 'false', IsSort: 'true', type: 'text', Width: 120 }, + { origin: true, uuid: Utils.getuuid(), Align: 'left', label: 'label2', field: '', Hide: 'false', IsSort: 'false', type: 'text', Width: 120 }, + { origin: true, uuid: Utils.getuuid(), Align: 'left', label: 'label3', field: '', Hide: 'false', IsSort: 'false', type: 'text', Width: 120 }, ], scripts: [], isNew: true @@ -99,39 +99,6 @@ MKEmitter.removeListener('completeSave', this.completeSave) } - // updateFix = (card) => { - // let fixs = {} - - // card.cols.forEach(col => { - // if (!col.field) return - // if (col.postfix || col.prefix) { - // fixs[col.field] = col - // } - // }) - - // card.cols.forEach(col => { - // if (col.type === 'custom') { - // col.elements.forEach(cell => { - // if (cell.datatype === 'dynamic') { - // cell.height = '' - // cell.innerHeight = 'auto' - - // if (fixs[cell.field]) { - // if (!cell.prefix && fixs[cell.field].prefix) { - // cell.prefix = fixs[cell.field].prefix - // } - // if (!cell.postfix && fixs[cell.field].postfix) { - // cell.postfix = fixs[cell.field].postfix - // } - // } - // } - // }) - // } - // }) - - // return card - // } - completeSave = () => { const { card } = this.state @@ -142,7 +109,9 @@ item.cols = item.cols.filter(a => !a.origin) delete item.isNew - this.setState({card: item}, () => { MKEmitter.emit('revert') }) + this.setState({card: null}, () => { + this.setState({card: item}) + }) } } @@ -177,6 +146,10 @@ if (card.errors.length === 0) { card.$tables = getTables(card) } + + delete card.$c_ds + delete card.$c_ac + delete card.$c_cl } this.setState({ @@ -250,14 +223,19 @@ getWrapForms = () => { const { wrap, action, columns, cols } = this.state.card - let _actions = [...action] + let _actions = [] cols.forEach(col => { - if (col.type !== 'action') return - _actions.push(...col.elements) + if (col.type === 'custom') { + col.elements.forEach(cell => { + if (cell.eleType !== 'button') return + + _actions.push(cell) + }) + } }) - return getWrapForm(wrap, _actions, columns) + return getWrapForm(wrap, _actions, columns, action) } updateWrap = (res) => { @@ -273,6 +251,8 @@ res.drawerPlacement = card.wrap.drawerPlacement || 'right' res.searchRatio = card.wrap.searchRatio || 6 res.searchLwidth = card.wrap.searchLwidth !== undefined ? card.wrap.searchLwidth : 33.3 + res.borderRadius = card.wrap.borderRadius || 0 + res.resetContrl = card.wrap.resetContrl || 'init' this.updateComponent({...card, wrap: res}) } @@ -283,12 +263,23 @@ config.cols.forEach(col => { if (!col.field) return if (['text', 'picture', 'video', 'textarea'].includes(col.type)) { + let datatype = `Nvarchar(${col.fieldlength || 50})` + let type = 'text' + + if (col.type === 'text') { + if (col.textFormat === 'YYYY-MM-DD') { + datatype = 'date' + } else if (col.textFormat === 'YYYY-MM-DD HH:mm:ss') { + datatype = 'datetime' + } + } + config.columns.push({ - datatype: `Nvarchar(${col.fieldlength || 50})`, + datatype: datatype, field: col.field, fieldlength: col.fieldlength || 50, label: col.label, - type: 'text', + type: type, uuid: col.uuid }) } else if (col.type === 'link') { @@ -332,6 +323,14 @@ config.absFields = null } + if (!config.setting.primaryKey && config.columns.length > 0) { + config.columns.forEach(col => { + if (col.field.toLowerCase() === 'id') { + config.setting.primaryKey = col.field + } + }) + } + this.updateComponent(config) } @@ -346,6 +345,8 @@ const { card } = this.state let options = ['action', 'search', 'form', 'cols'] + if (!card) return null + return ( <div className="menu-base-table-edit-box" style={card.style} id={card.uuid}> <Popover overlayClassName="mk-popover-control-wrap" mouseLeaveDelay={0.2} mouseEnterDelay={0.2} content={ -- Gitblit v1.8.0