From 25bf481493bcf18fca79e4d250f9c91dedf832e5 Mon Sep 17 00:00:00 2001 From: king <18310653075@163.com> Date: 星期二, 02 四月 2024 15:15:58 +0800 Subject: [PATCH] 2024-04-02 --- src/templates/sharecomponent/actioncomponent/verifyexcelout/index.jsx | 288 +++++++++++++++++++++++++++++++-------------------------- 1 files changed, 157 insertions(+), 131 deletions(-) diff --git a/src/templates/sharecomponent/actioncomponent/verifyexcelout/index.jsx b/src/templates/sharecomponent/actioncomponent/verifyexcelout/index.jsx index fb05456..7362e15 100644 --- a/src/templates/sharecomponent/actioncomponent/verifyexcelout/index.jsx +++ b/src/templates/sharecomponent/actioncomponent/verifyexcelout/index.jsx @@ -67,7 +67,8 @@ inputType: 'select', editable: true, required: false, - width: '12%', + keyCol: true, + width: '8%', render: (text) => { if (text === 'image') { return '鍥剧墖' @@ -84,44 +85,12 @@ ] }, { - title: '鍙栫粷瀵瑰��', - dataIndex: 'abs', - inputType: 'radio', - editable: true, - required: false, - width: '12%', - render: (text, record) => { - if (record.type !== 'number') return '' - - if (text === 'true') { - return '鏄�' - } else { - return '鍚�' - } - }, - options: [ - {value: 'true', text: '鏄�'}, - {value: 'false', text: '鍚�'} - ] - }, - { - title: '灏忔暟浣�', - dataIndex: 'decimal', - inputType: 'number', - min: 0, - max: 18, - editable: true, - required: false, - width: '12%', - render: (text, record) => record.type === 'number' ? text : '' - }, - { title: '瀵煎嚭', dataIndex: 'output', inputType: 'radio', editable: true, required: false, - width: '12%', + width: '10%', render: (text) => { if (text !== 'false') { return '鏄�' @@ -146,6 +115,62 @@ {value: 'false', text: '鍚�'} ] }, + { + title: '鍙栫粷瀵瑰��', + dataIndex: 'abs', + inputType: 'radio', + editable: true, + required: false, + keyVals: ['number'], + width: '10%', + render: (text, record) => { + if (record.type !== 'number') return '' + + if (text === 'true') { + return '鏄�' + } else { + return '鍚�' + } + }, + options: [ + {value: 'true', text: '鏄�'}, + {value: 'false', text: '鍚�'} + ] + }, + { + title: '0鍊煎鍑�', + dataIndex: 'noValue', + inputType: 'radio', + editable: true, + required: false, + keyVals: ['number'], + width: '10%', + render: (text, record) => { + if (record.type !== 'number') return '' + + if (text !== 'false') { + return '鏄�' + } else { + return '鍚�' + } + }, + options: [ + {value: 'true', text: '鏄�'}, + {value: 'false', text: '鍚�'} + ] + }, + { + title: '灏忔暟浣�', + dataIndex: 'decimal', + inputType: 'number', + min: 0, + max: 18, + editable: true, + required: false, + keyVals: ['number'], + width: '12%', + render: (text, record) => record.type === 'number' ? text : '' + } ], scriptsColumns: [ { @@ -202,12 +227,12 @@ dataIndex: 'operation', render: (text, record) => (<div style={{textAlign: 'center'}}> - <span className="operation-btn" title="缂栬緫" onClick={() => this.handleEdit(record, 'scripts')} style={{color: '#1890ff'}}><EditOutlined /></span> - <span className="operation-btn" title="鐘舵�佸垏鎹�" onClick={() => this.handleStatus(record, 'scripts')} style={{color: '#8E44AD'}}><SwapOutlined /></span> + <span className="operation-btn" title="缂栬緫" onClick={() => this.handleEdit(record)} style={{color: '#1890ff'}}><EditOutlined /></span> + <span className="operation-btn" title="鐘舵�佸垏鎹�" onClick={() => this.handleStatus(record)} style={{color: '#8E44AD'}}><SwapOutlined /></span> <Popconfirm overlayClassName="popover-confirm" title="纭畾鍒犻櫎鍚�?" - onConfirm={() => this.handleDelete(record, 'scripts') + onConfirm={() => this.handleDelete(record) }> <span className="operation-btn" style={{color: '#ff4d4f'}}><DeleteOutlined /></span> </Popconfirm> @@ -232,6 +257,7 @@ col.type = col.type || 'text' col.output = col.output || 'true' col.required = col.required || 'false' + col.noValue = col.noValue || 'true' if (!['text', 'image', 'number'].includes(col.type)) { if (/^Decimal/ig.test(col.type)) { @@ -366,14 +392,9 @@ }) } - handleEdit = (record, type) => { - let node = null - - if (type === 'scripts') { - this.scriptsForm.edit(record) - node = document.getElementById('mk-exout-script') - } - + handleEdit = (record) => { + this.scriptsForm.edit(record) + let node = document.getElementById('mk-exout-script') if (node && node.scrollTop) { let inter = Math.ceil(node.scrollTop / 10) @@ -389,26 +410,24 @@ } } - handleStatus = (record, type) => { + handleStatus = (record) => { let verify = JSON.parse(JSON.stringify(this.state.verify)) record.status = record.status === 'false' ? 'true' : 'false' - if (type === 'scripts') { - verify.scripts = verify.scripts.map(item => { - if (item.uuid === record.uuid) { - return record - } else { - return item - } - }) - } + verify.scripts = verify.scripts.map(item => { + if (item.uuid === record.uuid) { + return record + } else { + return item + } + }) this.setState({ verify: verify }) } - columnChange = (values) => { + columnChange = (values, callback) => { let verify = JSON.parse(JSON.stringify(this.state.verify)) let fields = verify.columns.map(item => item.Column) @@ -419,6 +438,8 @@ duration: 5 }) return + } else { + callback() } values.uuid = Utils.getuuid() values.abs = 'false' @@ -431,38 +452,12 @@ }) } - handleDelete = (record, type) => { - const { verify } = this.state + handleDelete = (record) => { + let verify = JSON.parse(JSON.stringify(this.state.verify)) - verify.columns = verify.columns.filter(item => item.uuid !== record.uuid) + verify.scripts = verify.scripts.filter(item => item.uuid !== record.uuid) this.setState({ verify: verify }) - } - - handleUpDown = (record, type, direction) => { - let verify = JSON.parse(JSON.stringify(this.state.verify)) - let index = 0 - - verify.columns = verify.columns.filter((item, i) => { - if (item.uuid === record.uuid) { - index = i - } - - return item.uuid !== record.uuid - }) - if ((index === 0 && direction === 'up') || (index === verify.columns.length && direction === 'down')) { - return - } - - if (direction === 'up') { - verify.columns.splice(index - 1, 0, record) - } else { - verify.columns.splice(index + 1, 0, record) - } - - this.setState({ - verify: verify - }) } showError = (errorType) => { @@ -525,9 +520,36 @@ return } + if (verify.dataType === 'custom') { + if (this.scriptsForm && this.scriptsForm.props.form.getFieldValue('sql') && !/^\s+$/.test(this.scriptsForm.props.form.getFieldValue('sql'))) { + notification.warning({ + top: 92, + message: '瀛樺湪鏈繚瀛樿剼鏈紝璇风偣鍑荤‘瀹氫繚瀛橈紝鎴栫偣鍑诲彇娑堟斁寮冧慨鏀癸紒', + duration: 5 + }) + this.setState({activeKey: 'scripts'}) + return + } + } + if (this.columnRef && this.columnRef.state.editingKey) { + notification.warning({ + top: 92, + message: '瀛楁鏈繚瀛橈紒', + duration: 5 + }) + return + } + if (card.intertype === 'system' && verify.dataType !== 'custom' && verify.columns.length > 0 && config.$c_ds && config.setting.interType === 'system' && config.columns && config.columns.length > 0) { let cols = [] let columns = config.columns.map(c => c.field) + + if (config.subtype === 'dualdatacard' && config.subColumns) { + config.subColumns.forEach(item => { + columns.push(item.field) + }) + } + verify.columns.forEach(col => { if (col.output === 'false' || col.Column === '$Index') return if (!columns.includes(col.Column)) { @@ -571,19 +593,10 @@ loading: false }) reject() - }, verify.scripts) + }, verify.scripts, 'submit') }) }) } else if (activeKey === 'columns') { - if (this.columnRef && this.columnRef.state.editingKey) { - notification.warning({ - top: 92, - message: '瀛楁鏈繚瀛橈紒', - duration: 5 - }) - return - } - if (this.props.card.intertype !== 'system' || verify.dataType !== 'custom') { resolve(verify) } else { @@ -599,18 +612,9 @@ loading: false }) reject() - }, verify.scripts) + }, verify.scripts, 'submit') } } else if (activeKey === 'scripts') { - if (this.scriptsForm && this.scriptsForm.props.form.getFieldValue('sql') && !/^\s+$/.test(this.scriptsForm.props.form.getFieldValue('sql'))) { - notification.warning({ - top: 92, - message: '瀛樺湪鏈繚瀛樿剼鏈紝璇风偣鍑荤‘瀹氫繚瀛橈紝鎴栫偣鍑诲彇娑堟斁寮冧慨鏀癸紒', - duration: 5 - }) - return - } - this.setState({loading: true}) this.sqlverify(() => { // 楠岃瘉鎴愬姛 this.setState({ @@ -622,7 +626,7 @@ loading: false }) reject() - }, verify.scripts) + }, verify.scripts, 'submit') } else { resolve(verify) } @@ -710,6 +714,8 @@ confirm({ content: '閮ㄥ垎瀛楁鍚嶇О涓庢樉绀哄垪涓嶄竴鑷达紝鏄惁鏇存柊锛�', + okText: '鏇存柊', + cancelText: '涓嶆洿鏂�', onOk() { columns = columns.map(item => { let key = item.Column.toLowerCase() @@ -763,6 +769,8 @@ col.type = col.type || 'text' col.output = col.output || 'true' col.required = col.required || 'false' + col.noValue = col.noValue || 'true' + col.Width = col.Width || 20 if (!['text', 'image', 'number'].includes(col.type)) { if (/^Decimal/ig.test(col.type)) { @@ -799,28 +807,32 @@ const { card } = this.props const { activeKey, verify } = this.state - if (card.intertype !== 'system' || verify.dataType !== 'custom') { + if (activeKey === 'setting') { + this.settingForm.handleConfirm().then(res => { + if (card.intertype !== 'system' || verify.dataType !== 'custom') { + this.setState({activeKey: val, verify: {...verify, ...res}}) + } else { + this.setState({ + verify: {...verify, ...res} + }, () => { + this.setState({loading: true}) + this.sqlverify(() => { // 楠岃瘉鎴愬姛 + this.setState({ + activeKey: val, + loading: false + }) + }, () => { // 楠岃瘉澶辫触 + this.setState({ + activeKey: val, + loading: false + }) + }, verify.scripts) + }) + } + }) + } else if (card.intertype !== 'system' || verify.dataType !== 'custom') { this.setState({activeKey: val}) return - } else if (activeKey === 'setting') { - this.settingForm.handleConfirm().then(res => { - this.setState({ - verify: {...verify, ...res} - }, () => { - this.setState({loading: true}) - this.sqlverify(() => { // 楠岃瘉鎴愬姛 - this.setState({ - activeKey: val, - loading: false - }) - }, () => { // 楠岃瘉澶辫触 - this.setState({ - activeKey: val, - loading: false - }) - }, verify.scripts) - }) - }) } else if (activeKey === 'columns') { if (this.columnRef && this.columnRef.state.editingKey) { notification.warning({ @@ -911,7 +923,7 @@ } } - sqlverify = (_resolve, _reject, scripts) => { + sqlverify = (_resolve, _reject, scripts, type) => { const { searches, verify, debugId } = this.state if (verify.dataType !== 'custom') { @@ -933,10 +945,24 @@ this.setState({debugId: _debugId}) _resolve() } else { - _reject() - Modal.error({ - title: result.message - }) + if (type === 'submit') { + Modal.confirm({ + title: result.message, + okText: '鐭ラ亾浜�', + cancelText: '寮哄埗淇濆瓨', + onOk: () => { + _reject() + }, + onCancel() { + _resolve() + } + }) + } else { + _reject() + Modal.error({ + title: result.message + }) + } } }) } -- Gitblit v1.8.0