From 977e6195d7d6a48769563cf90bfc307fb2ef6f2d Mon Sep 17 00:00:00 2001 From: king <18310653075@163.com> Date: 星期二, 14 十一月 2023 22:29:32 +0800 Subject: [PATCH] Merge branch 'master' into positec --- src/templates/zshare/modalform/index.jsx | 6 src/menu/components/table/edit-table/columns/tableIn/index.jsx | 2 src/tabviews/custom/components/editor/braft-editor/index.jsx | 6 src/tabviews/zshare/actionList/popupbutton/index.jsx | 8 src/menu/components/form/dragtitle/options.jsx | 2 src/utils/utils-custom.js | 65 ++++ src/menu/components/card/cardcellcomponent/dragaction/action.jsx | 2 src/tabviews/custom/components/share/normalTable/index.scss | 8 src/tabviews/zshare/actionList/excelInbutton/index.jsx | 8 src/menu/components/form/formaction/index.jsx | 2 src/templates/sharecomponent/actioncomponent/verifyexcelin/customscript/index.jsx | 6 src/tabviews/zshare/mutilform/mkInput/index.jsx | 2 src/tabviews/zshare/mutilform/mkVercode/index.jsx | 4 src/tabviews/zshare/mutilform/mkNumberInput/index.jsx | 4 src/tabviews/zshare/actionList/normalbutton/index.jsx | 12 src/tabviews/custom/components/table/normal-table/index.scss | 13 src/templates/sharecomponent/actioncomponent/verifyexcelin/index.jsx | 2 src/tabviews/custom/components/card/data-card/index.jsx | 10 src/assets/css/main.scss | 4 src/templates/zshare/verifycard/fullScripts/index.scss | 1 src/menu/components/form/formaction/formconfig.jsx | 22 + src/tabviews/custom/components/card/prop-card/index.jsx | 6 src/menu/components/card/double-data-card/options.jsx | 13 src/menu/components/card/cardcellcomponent/index.jsx | 43 ++- src/menu/components/card/data-card/options.jsx | 13 src/menu/components/share/actioncomponent/formconfig.jsx | 6 src/tabviews/custom/components/table/normal-table/index.jsx | 36 +- src/templates/sharecomponent/actioncomponent/verifyexcelout/columnform/index.jsx | 2 src/tabviews/zshare/mutilform/mkPopSelect/index.jsx | 5 src/tabviews/zshare/mutilform/index.jsx | 83 +++++ src/tabviews/custom/index.jsx | 4 src/templates/sharecomponent/searchcomponent/searchform/index.jsx | 4 src/tabviews/custom/components/chart/antv-bar-line/index.jsx | 12 src/tabviews/custom/components/table/base-table/index.jsx | 30 +- src/tabviews/custom/components/card/double-data-card/index.scss | 17 + src/templates/sharecomponent/actioncomponent/verifyexcelout/customscript/index.jsx | 11 src/templates/sharecomponent/actioncomponent/verifyexcelin/columnform/index.jsx | 2 src/tabviews/custom/components/card/double-data-card/index.jsx | 10 src/templates/zshare/verifycard/callbackcustomscript/index.jsx | 61 ++- src/menu/components/form/formaction/actionform/index.jsx | 10 src/templates/sharecomponent/actioncomponent/verifyexcelin/uniqueform/index.jsx | 3 src/menu/datasource/verifycard/customscript/index.jsx | 9 src/templates/zshare/verifycard/fullScripts/index.jsx | 8 src/menu/components/form/simple-form/options.jsx | 10 src/tabviews/zshare/actionList/exceloutbutton/index.jsx | 8 src/menu/components/chart/antv-bar/index.jsx | 11 src/tabviews/zshare/mutilform/mkSelect/index.jsx | 5 src/tabviews/custom/components/form/simple-form/index.jsx | 65 +++ src/tabviews/custom/components/card/data-card/index.scss | 17 + src/utils/utils.js | 62 ++- src/tabviews/custom/components/form/tab-form/index.jsx | 6 src/tabviews/custom/components/table/base-table/index.scss | 13 src/templates/zshare/verifycard/index.jsx | 20 + src/menu/components/share/actioncomponent/index.jsx | 2 src/tabviews/custom/components/form/step-form/index.jsx | 6 src/menu/components/table/edit-table/columns/tableIn/customscript/index.jsx | 8 src/utils/option.js | 7 57 files changed, 595 insertions(+), 222 deletions(-) diff --git a/src/assets/css/main.scss b/src/assets/css/main.scss index 0bab428..f18da84 100644 --- a/src/assets/css/main.scss +++ b/src/assets/css/main.scss @@ -737,6 +737,10 @@ .ant-col.ant-col-0 { display: inline-block; } +.mk-cell-btn.ant-col-0 { + width: auto; + float: left; +} .ant-dropdown { .ant-dropdown-menu-item:hover, .ant-dropdown-menu-submenu-title:hover { diff --git a/src/menu/components/card/cardcellcomponent/dragaction/action.jsx b/src/menu/components/card/cardcellcomponent/dragaction/action.jsx index 14b00e5..47cdb5d 100644 --- a/src/menu/components/card/cardcellcomponent/dragaction/action.jsx +++ b/src/menu/components/card/cardcellcomponent/dragaction/action.jsx @@ -79,7 +79,7 @@ _style_ = {float: 'right'} } - let className = card.width || '' + let className = card.width || 0 if (card.hidden === 'true') { className += ' mk-hidden' } diff --git a/src/menu/components/card/cardcellcomponent/index.jsx b/src/menu/components/card/cardcellcomponent/index.jsx index 3495c10..aeb7c5c 100644 --- a/src/menu/components/card/cardcellcomponent/index.jsx +++ b/src/menu/components/card/cardcellcomponent/index.jsx @@ -311,7 +311,7 @@ } } - let modules = MenuUtils.getSubModules(window.GLOB.customMenu.components, cards.uuid, supId) + let modules = MenuUtils.getSubModules(window.GLOB.customMenu.components, cards.uuid, supId, true) if (cards.subtype === 'basetable') { this.setState({ @@ -449,21 +449,36 @@ res.style = {} } } else if (res.class !== cell.class || res.show !== cell.show || !res.style) { - let cl = res.class.replace('border-', '') - let style = {} - if (res.class === 'default') { - style.color = 'rgba(0, 0, 0, 0.65)' - style.backgroundColor = '#fff' - style.borderColor = '#d9d9d9' - } else if (res.class.indexOf('border') > -1) { - style.color = color[cl] - style.backgroundColor = '#fff' - style.borderColor = color[cl] + if (res.class) { + let cl = res.class.replace('border-', '') + let style = {} + if (res.class === 'default') { + style.color = 'rgba(0, 0, 0, 0.65)' + style.backgroundColor = '#fff' + style.borderColor = '#d9d9d9' + } else if (res.class.indexOf('border') > -1) { + style.color = color[cl] + style.backgroundColor = '#fff' + style.borderColor = color[cl] + } else { + style.color = '#ffffff' + style.backgroundColor = color[cl] + } + res.style = {...res.style, ...style} } else { - style.color = '#ffffff' - style.backgroundColor = color[cl] + res.style = res.style || {} } - res.style = {...res.style, ...style} + } + + if (res.width === 0 && cell.width !== 0) { + res.style = res.style || {} + + res.style.paddingLeft = '15px' + res.style.paddingRight = '15px' + res.style.marginRight = '15px' + res.style.width = 'auto' + + delete res.style.marginLeft } res.updateTime = moment().format('YYYY-MM-DD HH:mm') diff --git a/src/menu/components/card/data-card/options.jsx b/src/menu/components/card/data-card/options.jsx index 818913d..0c0bf4f 100644 --- a/src/menu/components/card/data-card/options.jsx +++ b/src/menu/components/card/data-card/options.jsx @@ -607,6 +607,19 @@ forbid: !!appType || isprint }, { + type: 'radio', + field: 'shifting', + label: '鎸夐挳鍋忕Щ', + initval: wrap.shifting || 'false', + tooltip: '鍚敤鏃讹紝宸ュ叿鏍忔寜閽皢鏄剧ず鍦ㄦ爣棰樻爮鍙充笂瑙掋��', + required: false, + options: [ + {value: 'true', label: '鍚敤'}, + {value: 'false', label: '绂佺敤'}, + ], + forbid: !!appType || subtype !== 'datacard' || isprint + }, + { type: 'multiselect', field: 'blacklist', label: '榛戝悕鍗�', diff --git a/src/menu/components/card/double-data-card/options.jsx b/src/menu/components/card/double-data-card/options.jsx index 1941d17..942b421 100644 --- a/src/menu/components/card/double-data-card/options.jsx +++ b/src/menu/components/card/double-data-card/options.jsx @@ -251,6 +251,19 @@ forbid: !!appType || isprint }, { + type: 'radio', + field: 'shifting', + label: '鎸夐挳鍋忕Щ', + initval: wrap.shifting || 'false', + tooltip: '鍚敤鏃讹紝宸ュ叿鏍忔寜閽皢鏄剧ず鍦ㄦ爣棰樻爮鍙充笂瑙掋��', + required: false, + options: [ + {value: 'true', label: '鍚敤'}, + {value: 'false', label: '绂佺敤'}, + ], + forbid: !!appType || isprint + }, + { type: 'multiselect', field: 'blacklist', label: '榛戝悕鍗�', diff --git a/src/menu/components/chart/antv-bar/index.jsx b/src/menu/components/chart/antv-bar/index.jsx index 332e3ab..ad556b3 100644 --- a/src/menu/components/chart/antv-bar/index.jsx +++ b/src/menu/components/chart/antv-bar/index.jsx @@ -550,7 +550,8 @@ }) } - if (!plot.legend || plot.legend === 'hidden') { + let noLegend = !plot.legend || plot.legend === 'hidden' + if (noLegend) { chart.legend(false) } else { chart.legend({ @@ -643,7 +644,9 @@ } view1.axis('value', yc) - // view1.legend(false) + if (!noLegend) { + view1.legend(false) + } if (plot.mutilBar !== 'stack') { let _chart = view1 @@ -770,7 +773,9 @@ view2.data(dv.rows) - // view2.legend(false) + if (!noLegend) { + view2.legend(false) + } fields.forEach(item => { if (item.chartType === 'bar' && !Bar_axis.length) { diff --git a/src/menu/components/form/dragtitle/options.jsx b/src/menu/components/form/dragtitle/options.jsx index 5ffecf1..485faea 100644 --- a/src/menu/components/form/dragtitle/options.jsx +++ b/src/menu/components/form/dragtitle/options.jsx @@ -51,7 +51,7 @@ { type: 'select', field: 'focus', - label: '鐒︾偣', + label: '鍒濆鐒︾偣', initval: group.setting.focus || '', required: false, options: fields diff --git a/src/menu/components/form/formaction/actionform/index.jsx b/src/menu/components/form/formaction/actionform/index.jsx index 41ed2a2..69ca082 100644 --- a/src/menu/components/form/formaction/actionform/index.jsx +++ b/src/menu/components/form/formaction/actionform/index.jsx @@ -58,9 +58,11 @@ shows = ['typeName', 'label'] } else { shows = ['typeName', 'label', 'intertype', 'Ot', 'execSuccess', 'syncComponent', 'anchors', 'linkmenu', 'output', 'reload', 'preButton'] // 閫夐」鍒楄〃 - + + if (this.record.execSuccess === 'never') { + shows.push('resetForms') + } if (this.record.intertype === 'custom') { - shows.pop() shows.push('procMode', 'interface', 'callbackType', 'proInterface', 'method', 'cross', 'stringify', 'ContentType', 'outerBlacklist') if (this.record.procMode === 'system') { shows.push('sql', 'sqlType') @@ -282,6 +284,7 @@ })( <Select showSearch + mode={item.mode || ''} filterOption={(input, option) => option.props.children.toLowerCase().indexOf(input.toLowerCase()) >= 0} onChange={(value) => {this.optionChange(item.key, value)}} getPopupContainer={() => document.getElementById('winter')} @@ -380,6 +383,9 @@ if (values.outerBlacklist) { values.outerBlacklist = values.outerBlacklist.replace(/\s/ig, '') } + if (values.resetForms && values.resetForms.length === 0) { + values.resetForms = null + } resolve(values) } else { reject(err) diff --git a/src/menu/components/form/formaction/formconfig.jsx b/src/menu/components/form/formaction/formconfig.jsx index 978be6e..f6800ae 100644 --- a/src/menu/components/form/formaction/formconfig.jsx +++ b/src/menu/components/form/formaction/formconfig.jsx @@ -4,7 +4,7 @@ * @param {*} type 鎸夐挳绫诲瀷锛岀敤浜庡尯鍒嗗彲閫夌殑鎵撳紑鏂瑰紡 */ -export function getActionForm (card, functip, tableName, usefulFields, modules, anchors, uuid) { +export function getActionForm (card, functip, tableName, usefulFields, modules, anchors, uuid, fields) { const appType = sessionStorage.getItem('appType') let viewType = sessionStorage.getItem('editMenuType') // 寮圭獥 popview let _type = '鎻愪氦' @@ -122,6 +122,16 @@ text: '鍒锋柊婧愮粍浠�' }) } + + let resets = [] + fields.forEach(item => { + if (item.type !== 'text' && item.type !== 'number') return + + resets.push({ + value: item.field, + text: item.label + }) + }) return [ { @@ -476,6 +486,16 @@ options: linkButtons }, { + type: 'select', + key: 'resetForms', + label: '閲嶇疆琛ㄥ崟', + tooltip: '鎸夐挳鎵ц鎴愬姛鍚庨渶瑕侀噸缃殑琛ㄥ崟锛岃〃鍗曚細鎭㈠榛樿鍊煎苟鑱氱劍銆�', + initVal: card.resetForms || [], + required: false, + mode: 'multiple', + options: resets + }, + { type: 'radio', key: 'reload', label: '涓婁竴椤�', diff --git a/src/menu/components/form/formaction/index.jsx b/src/menu/components/form/formaction/index.jsx index f1f8127..dc697e0 100644 --- a/src/menu/components/form/formaction/index.jsx +++ b/src/menu/components/form/formaction/index.jsx @@ -110,7 +110,7 @@ this.setState({ visible: true, card: card, - formlist: getActionForm(card, functip, config.setting.tableName, usefulFields, modules, anchors, group.uuid) + formlist: getActionForm(card, functip, config.setting.tableName, usefulFields, modules, anchors, group.uuid, group.fields) }) } diff --git a/src/menu/components/form/simple-form/options.jsx b/src/menu/components/form/simple-form/options.jsx index 04b22fb..b9108ff 100644 --- a/src/menu/components/form/simple-form/options.jsx +++ b/src/menu/components/form/simple-form/options.jsx @@ -125,12 +125,20 @@ { type: 'select', field: 'focus', - label: '鐒︾偣', + label: '鍒濆鐒︾偣', initval: wrap.focus || '', required: false, options: fields }, { + type: 'select', + field: 'refocus', + label: '鍒锋柊鐒︾偣', + initval: wrap.refocus || '', + required: false, + options: fields + }, + { type: 'radio', field: 'cache', label: '閫夐」鏌ヨ', diff --git a/src/menu/components/share/actioncomponent/formconfig.jsx b/src/menu/components/share/actioncomponent/formconfig.jsx index 7456bc4..a785c1e 100644 --- a/src/menu/components/share/actioncomponent/formconfig.jsx +++ b/src/menu/components/share/actioncomponent/formconfig.jsx @@ -753,12 +753,12 @@ { type: 'number', key: 'width', - min: 1, + min: 0, max: 24, precision: 0, label: '瀹藉害', - initVal: card.width || 12, - tooltip: '鏍呮牸甯冨眬锛屾瘡琛岀瓑鍒嗕负24鍒椼��', + initVal: card.width || (card.width === 0 ? 0 : 12), + tooltip: '鏍呮牸甯冨眬锛屾瘡琛岀瓑鍒嗕负24鍒椼�備负 0 鏃跺搴﹁嚜閫傚簲銆�', forbid: type !== 'card', required: true }, diff --git a/src/menu/components/share/actioncomponent/index.jsx b/src/menu/components/share/actioncomponent/index.jsx index e33d65e..0109542 100644 --- a/src/menu/components/share/actioncomponent/index.jsx +++ b/src/menu/components/share/actioncomponent/index.jsx @@ -207,7 +207,7 @@ } } - let modules = MenuUtils.getSubModules(window.GLOB.customMenu.components, config.uuid, supId) + let modules = MenuUtils.getSubModules(window.GLOB.customMenu.components, config.uuid, supId, config.subtype !== 'basetable') if (config.subtype === 'basetable') { delete card.eleType // 鍖哄垎鎸夐挳浣嶇疆 diff --git a/src/menu/components/table/edit-table/columns/tableIn/customscript/index.jsx b/src/menu/components/table/edit-table/columns/tableIn/customscript/index.jsx index ed62fd1..acfbe1f 100644 --- a/src/menu/components/table/edit-table/columns/tableIn/customscript/index.jsx +++ b/src/menu/components/table/edit-table/columns/tableIn/customscript/index.jsx @@ -6,7 +6,7 @@ import Api from '@/api' import { checkSQL } from '@/utils/utils-custom.js' import CodeMirror from '@/templates/zshare/codemirror' -import './index.scss' +// import './index.scss' class CustomForm extends Component { static propTpyes = { @@ -316,7 +316,7 @@ </Select> </Form.Item> </Col> : null} - <Col span={5} style={{paddingTop: '3px', whiteSpace: 'nowrap'}}> + <Col span={5} className="add" style={{paddingTop: '3px', whiteSpace: 'nowrap'}}> <Button onClick={this.handleConfirm} loading={this.state.loading} className="mk-green" style={{marginBottom: 15, marginLeft: 15}}> {type === 'fullscreen' && !editItem ? '娣诲姞' : '淇濆瓨'} </Button> @@ -324,10 +324,10 @@ 鍙栨秷 </Button> </Col> - <Col span={3} style={{paddingTop: '12px', fontSize: '12px', whiteSpace: 'nowrap'}}> + {!type ? <Col span={3} style={{paddingTop: '12px', fontSize: '12px', whiteSpace: 'nowrap'}}> 寮哄埗淇濆瓨锛� <Switch checked={skip} size="small" onChange={() => this.setState({skip: !skip})}/> - </Col> + </Col> : null} <Col span={24} className="sql"> <Form.Item label="sql"> {getFieldDecorator('sql', { diff --git a/src/menu/components/table/edit-table/columns/tableIn/index.jsx b/src/menu/components/table/edit-table/columns/tableIn/index.jsx index ff8d86f..5908fa2 100644 --- a/src/menu/components/table/edit-table/columns/tableIn/index.jsx +++ b/src/menu/components/table/edit-table/columns/tableIn/index.jsx @@ -616,7 +616,7 @@ </span> } key="scripts"> <FullScripts - verify={verify} + scripts={verify.scripts} getScriptsFullForm={() => this.scriptsFullForm} getScriptsForm={() => this.scriptsForm} handleStatus={this.handleStatus} diff --git a/src/menu/datasource/verifycard/customscript/index.jsx b/src/menu/datasource/verifycard/customscript/index.jsx index e1f4766..a9c6aef 100644 --- a/src/menu/datasource/verifycard/customscript/index.jsx +++ b/src/menu/datasource/verifycard/customscript/index.jsx @@ -45,9 +45,16 @@ getSearchField = (searches) => { let _usefulFields = [] searches.forEach(item => { - if (['dateweek', 'datemonth'].includes(item.type)) { + if (item.type === 'dateweek') { _usefulFields.push(item.key) _usefulFields.push(item.key + '1') + } else if (item.type === 'datemonth') { + if (item.match === '=') { + _usefulFields.push(item.key) + } else { + _usefulFields.push(item.key) + _usefulFields.push(item.key + '1') + } } else if (item.type === 'daterange') { let _skey = item.key let _ekey = item.key + '1' diff --git a/src/tabviews/custom/components/card/data-card/index.jsx b/src/tabviews/custom/components/card/data-card/index.jsx index 55ada26..1e3d074 100644 --- a/src/tabviews/custom/components/card/data-card/index.jsx +++ b/src/tabviews/custom/components/card/data-card/index.jsx @@ -38,7 +38,7 @@ loading: false, card: null, data: [], - total: null, + total: 0, precards: [], nextcards: [], selected: 'false', @@ -135,6 +135,12 @@ _config.wrap.layout = (_config.wrap.layout || 'grid') + '-layout float-' + (_config.wrap.cardFloat || 'left') _config.wrap.wrapClass = `${_config.wrap.selStyle} ${_config.wrap.cardType || ''} ${_config.wrap.scale}` + + if (_config.wrap.shifting === 'true') { + _config.wrap.shifting = 'shifting' + } else { + _config.wrap.shifting = '' + } let pageOptions = ['10', '25', '50', '100', '500', '1000'] @@ -1178,7 +1184,7 @@ } return ( - <div className="custom-data-card-box" id={'anchor' + config.uuid} style={config.style}> + <div className={'custom-data-card-box ' + config.wrap.shifting} id={'anchor' + config.uuid} style={config.style}> {loading ? <div className="loading-mask"> {data.length ? <div className="ant-spin-blur"></div> : null} diff --git a/src/tabviews/custom/components/card/data-card/index.scss b/src/tabviews/custom/components/card/data-card/index.scss index e56de99..b2def5d 100644 --- a/src/tabviews/custom/components/card/data-card/index.scss +++ b/src/tabviews/custom/components/card/data-card/index.scss @@ -251,6 +251,23 @@ } } } +.custom-data-card-box.shifting { + .normal-header:not(.header-search) + .toolbar-button { + position: absolute; + top: 0px; + right: 0px; + z-index: 1; + button { + margin-bottom: 0px!important; + } + } + .normal-header:not(.header-search) + .toolbar-button + .pickup-wrap{ + position: relative; + button { + position: relative; + } + } +} .custom-data-card-box::-webkit-scrollbar { width: 7px; height: 7px; diff --git a/src/tabviews/custom/components/card/double-data-card/index.jsx b/src/tabviews/custom/components/card/double-data-card/index.jsx index a7f73d6..e65fe19 100644 --- a/src/tabviews/custom/components/card/double-data-card/index.jsx +++ b/src/tabviews/custom/components/card/double-data-card/index.jsx @@ -36,7 +36,7 @@ loading: false, // 鏁版嵁鍔犺浇鐘舵�� card: null, // 鍗$墖璁剧疆 data: [], // 鏁版嵁 - total: null, + total: 0, precards: [], nextcards: [], selected: 'false', @@ -129,6 +129,12 @@ _config.wrap.wrapClass = `${_config.wrap.selStyle} ${_config.wrap.cardType || ''}` + if (_config.wrap.shifting === 'true') { + _config.wrap.shifting = 'shifting' + } else { + _config.wrap.shifting = '' + } + let wrapStyle = null let subcard = fromJS(_card).toJS() let subconfig = fromJS(_config).toJS() @@ -1135,7 +1141,7 @@ } return ( - <div className="double-data-card-box" id={'anchor' + config.uuid} style={config.style}> + <div className={'double-data-card-box ' + config.wrap.shifting} id={'anchor' + config.uuid} style={config.style}> {loading ? <div className="loading-mask"> {data.length ? <div className="ant-spin-blur"></div> : null} diff --git a/src/tabviews/custom/components/card/double-data-card/index.scss b/src/tabviews/custom/components/card/double-data-card/index.scss index bb3872a..4d27218 100644 --- a/src/tabviews/custom/components/card/double-data-card/index.scss +++ b/src/tabviews/custom/components/card/double-data-card/index.scss @@ -305,6 +305,23 @@ background: rgba(0, 0, 0, 0); } } +.double-data-card-box.shifting { + .normal-header:not(.header-search) + .toolbar-button { + position: absolute; + top: 0px; + right: 0px; + z-index: 1; + button { + margin-bottom: 0px!important; + } + } + .normal-header:not(.header-search) + .toolbar-button + .pickup-wrap{ + position: relative; + button { + position: relative; + } + } +} .double-data-card-box::-webkit-scrollbar { width: 7px; height: 7px; diff --git a/src/tabviews/custom/components/card/prop-card/index.jsx b/src/tabviews/custom/components/card/prop-card/index.jsx index c4d2b1c..93ab97e 100644 --- a/src/tabviews/custom/components/card/prop-card/index.jsx +++ b/src/tabviews/custom/components/card/prop-card/index.jsx @@ -131,16 +131,14 @@ MKEmitter.addListener('queryModuleParam', this.queryModuleParam) MKEmitter.addListener('refreshByButtonResult', this.refreshByButtonResult) - if (config.setting.useMSearch) { - MKEmitter.addListener('searchRefresh', this.searchRefresh) - } - if (config.setting.sync === 'true') { MKEmitter.addListener('transferSyncData', this.transferSyncData) } if (config.wrap.datatype === 'public') { MKEmitter.addListener('mkPublicData', this.mkPublicData) + } else if (config.setting.useMSearch) { + MKEmitter.addListener('searchRefresh', this.searchRefresh) } if (config.timer && config.wrap.datatype === 'dynamic') { diff --git a/src/tabviews/custom/components/chart/antv-bar-line/index.jsx b/src/tabviews/custom/components/chart/antv-bar-line/index.jsx index 46c4260..cfe93bc 100644 --- a/src/tabviews/custom/components/chart/antv-bar-line/index.jsx +++ b/src/tabviews/custom/components/chart/antv-bar-line/index.jsx @@ -1187,7 +1187,8 @@ }) } - if (!plot.legend || plot.legend === 'hidden') { + let noLegend = !plot.legend || plot.legend === 'hidden' + if (noLegend) { chart.legend(false) } else { chart.legend({ @@ -1273,7 +1274,9 @@ view1.scale('value', c) view1.axis('value', plot.$yc) - // view1.legend(false) + if (!noLegend) { + view1.legend(false) + } let colorIndex = 0 @@ -1407,7 +1410,10 @@ } view2.data(dv.rows) - // view2.legend(false) + + if (!noLegend) { + view2.legend(false) + } plot.customs.forEach(item => { if (item.chartType === 'bar' && !plot.Bar_axis) { diff --git a/src/tabviews/custom/components/editor/braft-editor/index.jsx b/src/tabviews/custom/components/editor/braft-editor/index.jsx index 163424a..ccb80cd 100644 --- a/src/tabviews/custom/components/editor/braft-editor/index.jsx +++ b/src/tabviews/custom/components/editor/braft-editor/index.jsx @@ -72,16 +72,14 @@ MKEmitter.addListener('reloadData', this.reloadData) MKEmitter.addListener('resetSelectLine', this.resetParentParam) - if (config.setting.useMSearch) { - MKEmitter.addListener('searchRefresh', this.searchRefresh) - } - if (config.setting.sync === 'true') { MKEmitter.addListener('transferSyncData', this.transferSyncData) } if (config.wrap.datatype === 'public') { MKEmitter.addListener('mkPublicData', this.mkPublicData) + } else if (config.setting.useMSearch) { + MKEmitter.addListener('searchRefresh', this.searchRefresh) } this.initExec() diff --git a/src/tabviews/custom/components/form/simple-form/index.jsx b/src/tabviews/custom/components/form/simple-form/index.jsx index 3a87da3..ebb2f97 100644 --- a/src/tabviews/custom/components/form/simple-form/index.jsx +++ b/src/tabviews/custom/components/form/simple-form/index.jsx @@ -92,16 +92,14 @@ MKEmitter.addListener('resetSelectLine', this.resetParentParam) MKEmitter.addListener('refreshByButtonResult', this.refreshByButtonResult) - if (config.setting.useMSearch) { - MKEmitter.addListener('searchRefresh', this.searchRefresh) - } - if (config.setting.sync === 'true') { MKEmitter.addListener('transferSyncData', this.transferSyncData) } if (config.wrap.datatype === 'public') { MKEmitter.addListener('mkPublicData', this.mkPublicData) + } else if (config.setting.useMSearch) { + MKEmitter.addListener('searchRefresh', this.searchRefresh) } this.initExec() @@ -178,11 +176,39 @@ } reloadData = (menuId, id) => { - const { config } = this.state + const { config, group } = this.state if (config.uuid !== menuId) return - this.loadData() + if (id === 'focus-refresh' && config.wrap.refocus) { + let _group = fromJS(group).toJS() + _group.setting.focus = config.wrap.refocus + + if (config.wrap.datatype === 'static') { + this.setState({ + data: null, + group: _group + }, () => { + this.setState({data: {$$empty: true}}) + }) + } else { + this.setState({ + group: _group + }, () => { + this.loadData(true) + }) + } + } else if (id === 'focus-nofresh' && config.wrap.refocus) { + let formId = '' + group.fields.forEach(item => { + if (item.field === config.wrap.refocus) { + formId = item.uuid + } + }) + MKEmitter.emit('mkFC', 'focus', formId) + } else { + this.loadData() + } } /** @@ -199,6 +225,14 @@ if ((position === 'mainline' || position === 'popclose') && config.setting.supModule && BID) { MKEmitter.emit('reloadData', config.setting.supModule, BID) } else if (position === 'grid' && config.wrap.datatype === 'static') { + if (config.wrap.refocus && group.setting.focus === config.wrap.refocus) { + let _group = fromJS(group).toJS() + _group.setting.focus = config.wrap.focus + + this.setState({ + group: _group + }) + } this.setState({ data: null }, () => { @@ -255,8 +289,17 @@ } } - async loadData () { - const { config, BID } = this.state + async loadData (refocus) { + const { config, BID, group } = this.state + + if (config.wrap.refocus && !refocus && group.setting.focus === config.wrap.refocus) { + let _group = fromJS(group).toJS() + _group.setting.focus = config.wrap.focus + + this.setState({ + group: _group + }) + } if (config.wrap.datatype === 'public') { MKEmitter.emit('reloadData', config.wrap.publicId) @@ -340,12 +383,12 @@ } } - mkFormSubmit = (btnId, callback) => { + mkFormSubmit = (btnId, callback, formId) => { const { group } = this.state if (group.uuid !== btnId) return - this.formRef.handleConfirm().then(res => { + this.formRef.handleConfirm(formId).then(res => { MKEmitter.emit('triggerFormSubmit', {menuId: btnId, form: res}) }, () => { callback && callback() @@ -389,7 +432,7 @@ data={data} action={group} unload={config.setting.supModule && !BID} - inputSubmit={() => this.mkFormSubmit(group.uuid)} + inputSubmit={(id) => this.mkFormSubmit(group.uuid, null, id)} wrappedComponentRef={(inst) => this.formRef = inst} /> : null} {data ? <div className={'mk-form-action ' + (group.$button || '')}> diff --git a/src/tabviews/custom/components/form/step-form/index.jsx b/src/tabviews/custom/components/form/step-form/index.jsx index dca74c9..442829d 100644 --- a/src/tabviews/custom/components/form/step-form/index.jsx +++ b/src/tabviews/custom/components/form/step-form/index.jsx @@ -133,16 +133,14 @@ MKEmitter.addListener('resetSelectLine', this.resetParentParam) MKEmitter.addListener('refreshByButtonResult', this.refreshByButtonResult) - if (config.setting.useMSearch) { - MKEmitter.addListener('searchRefresh', this.searchRefresh) - } - if (config.setting.sync === 'true') { MKEmitter.addListener('transferSyncData', this.transferSyncData) } if (config.wrap.datatype === 'public') { MKEmitter.addListener('mkPublicData', this.mkPublicData) + } else if (config.setting.useMSearch) { + MKEmitter.addListener('searchRefresh', this.searchRefresh) } this.initExec() diff --git a/src/tabviews/custom/components/form/tab-form/index.jsx b/src/tabviews/custom/components/form/tab-form/index.jsx index 6e921bb..7dd140a 100644 --- a/src/tabviews/custom/components/form/tab-form/index.jsx +++ b/src/tabviews/custom/components/form/tab-form/index.jsx @@ -107,16 +107,14 @@ MKEmitter.addListener('resetSelectLine', this.resetParentParam) MKEmitter.addListener('refreshByButtonResult', this.refreshByButtonResult) - if (config.setting.useMSearch) { - MKEmitter.addListener('searchRefresh', this.searchRefresh) - } - if (config.setting.sync === 'true') { MKEmitter.addListener('transferSyncData', this.transferSyncData) } if (config.wrap.datatype === 'public') { MKEmitter.addListener('mkPublicData', this.mkPublicData) + } else if (config.setting.useMSearch) { + MKEmitter.addListener('searchRefresh', this.searchRefresh) } this.initExec() diff --git a/src/tabviews/custom/components/share/normalTable/index.scss b/src/tabviews/custom/components/share/normalTable/index.scss index 12ad8fd..3bf6756 100644 --- a/src/tabviews/custom/components/share/normalTable/index.scss +++ b/src/tabviews/custom/components/share/normalTable/index.scss @@ -1,11 +1,19 @@ .normal-custom-table { position: relative; padding: 0px; + min-height: 40px; --mk-table-border-color: #e8e8e8; --mk-table-color: rgba(0, 0, 0, 0.65); --mk-table-font-size: 14px; --mk-table-font-weight: normal; + .main-pickup { + position: absolute; + right: 5px; + top: -22px; + z-index: 2; + } + .normal-table-footer { padding: 10px 0px; color: rgba(0, 0, 0, 0.65); diff --git a/src/tabviews/custom/components/table/base-table/index.jsx b/src/tabviews/custom/components/table/base-table/index.jsx index 538a792..0693483 100644 --- a/src/tabviews/custom/components/table/base-table/index.jsx +++ b/src/tabviews/custom/components/table/base-table/index.jsx @@ -653,22 +653,20 @@ columns={config.columns} selectedData={selectedData} /> : <div style={{height: '25px'}}></div>} - <div className="main-table-box"> - <MainTable - data={data} - setting={setting} - columns={columns} - MenuID={config.uuid} - fields={config.columns} - total={this.state.total} - autoMatic={config.autoMatic} - lineMarks={config.lineMarks} - loading={this.state.loading} - refreshdata={this.refreshbytable} - statFValue={this.state.statFValue} - chgSelectData={(selects) => this.setState({selectedData: selects})} - /> - </div> + <MainTable + data={data} + setting={setting} + columns={columns} + MenuID={config.uuid} + fields={config.columns} + total={this.state.total} + autoMatic={config.autoMatic} + lineMarks={config.lineMarks} + loading={this.state.loading} + refreshdata={this.refreshbytable} + statFValue={this.state.statFValue} + chgSelectData={(selects) => this.setState({selectedData: selects})} + /> </div> ) } diff --git a/src/tabviews/custom/components/table/base-table/index.scss b/src/tabviews/custom/components/table/base-table/index.scss index bc4f7bc..b04c6bc 100644 --- a/src/tabviews/custom/components/table/base-table/index.scss +++ b/src/tabviews/custom/components/table/base-table/index.scss @@ -12,17 +12,4 @@ .button-list.toolbar-button { padding-right: 60px; } - .main-table-box { - position: relative; - min-height: 40px; - .main-pickup { - position: absolute; - right: 5px; - top: -22px; - z-index: 2; - } - >.async-spin { - line-height: 150px!important; - } - } } \ No newline at end of file diff --git a/src/tabviews/custom/components/table/normal-table/index.jsx b/src/tabviews/custom/components/table/normal-table/index.jsx index 136a42c..a1492a3 100644 --- a/src/tabviews/custom/components/table/normal-table/index.jsx +++ b/src/tabviews/custom/components/table/normal-table/index.jsx @@ -835,7 +835,7 @@ } let content = <> - {config.search && config.search.length ? + {config.search.length ? <MainSearch BID={BID} config={config} refreshdata={this.refreshbysearch}/> : null } {actions.length > 0 ? <MainAction @@ -845,24 +845,22 @@ BData={BData} columns={config.columns} selectedData={selectedData} - /> : <div className="mk-action-space" style={{height: '25px'}}></div>} - <div className={'main-table-box ' + (!actions || actions.length === 0 ? 'no-action' : '')}> - <MainTable - setting={setting} - columns={columns} - MenuID={config.uuid} - allSearch={allSearch} - data={this.state.data} - fields={config.columns} - total={this.state.total} - colsCtrls={config.colsCtrls} - lineMarks={config.lineMarks} - loading={this.state.loading} - refreshdata={this.refreshbytable} - statFValue={this.state.statFValue} - chgSelectData={(selects) => this.setState({selectedData: selects})} - /> - </div> + /> : (setting.tableType || config.search.length > 0 ? <div className="mk-action-space" style={{height: '25px'}}></div> : null)} + <MainTable + setting={setting} + columns={columns} + MenuID={config.uuid} + allSearch={allSearch} + data={this.state.data} + fields={config.columns} + total={this.state.total} + colsCtrls={config.colsCtrls} + lineMarks={config.lineMarks} + loading={this.state.loading} + refreshdata={this.refreshbytable} + statFValue={this.state.statFValue} + chgSelectData={(selects) => this.setState({selectedData: selects})} + /> </> return ( diff --git a/src/tabviews/custom/components/table/normal-table/index.scss b/src/tabviews/custom/components/table/normal-table/index.scss index 5f5f0da..30ecedf 100644 --- a/src/tabviews/custom/components/table/normal-table/index.scss +++ b/src/tabviews/custom/components/table/normal-table/index.scss @@ -12,19 +12,6 @@ .button-list.toolbar-button { padding-right: 60px; } - .main-table-box { - position: relative; - min-height: 40px; - .main-pickup { - position: absolute; - right: 5px; - top: -22px; - z-index: 2; - } - >.async-spin { - line-height: 150px!important; - } - } .ant-collapse { background-color: transparent; border-radius: 0px; diff --git a/src/tabviews/custom/index.jsx b/src/tabviews/custom/index.jsx index 0bfd2d0..6e6ddab 100644 --- a/src/tabviews/custom/index.jsx +++ b/src/tabviews/custom/index.jsx @@ -554,6 +554,7 @@ item.wrap.datatype = 'static' } else { item.setting = {...inter.setting} + item.$searchId = inter.$searchId } } } @@ -1050,9 +1051,6 @@ component.components = this.formatSetting(component.components, params, null, regs, balMap) return component } else if (component.wrap && component.wrap.datatype === 'public') { - component.setting.useMSearch = false - component.setting.sync = 'false' - return component } else if (component.wrap && component.wrap.datatype === 'static') { component.format = '' diff --git a/src/tabviews/zshare/actionList/excelInbutton/index.jsx b/src/tabviews/zshare/actionList/excelInbutton/index.jsx index 02b4f08..df4b7d4 100644 --- a/src/tabviews/zshare/actionList/excelInbutton/index.jsx +++ b/src/tabviews/zshare/actionList/excelInbutton/index.jsx @@ -199,9 +199,15 @@ if (btn.syncComponentId === 'multiComponent') { btn.syncComponentIds.forEach((id, i) => { setTimeout(() => { - MKEmitter.emit('reloadData', id) + if (/\$focus/.test(id)) { + MKEmitter.emit('reloadData', id.split('$')[0], id.split('$')[1]) + } else { + MKEmitter.emit('reloadData', id) + } }, 20 * i) }) + } else if (/\$focus/.test(btn.syncComponentId)) { + MKEmitter.emit('reloadData', btn.syncComponentId.split('$')[0], btn.syncComponentId.split('$')[1]) } else { MKEmitter.emit('reloadData', btn.syncComponentId) } diff --git a/src/tabviews/zshare/actionList/exceloutbutton/index.jsx b/src/tabviews/zshare/actionList/exceloutbutton/index.jsx index 7e032ca..1667d62 100644 --- a/src/tabviews/zshare/actionList/exceloutbutton/index.jsx +++ b/src/tabviews/zshare/actionList/exceloutbutton/index.jsx @@ -891,9 +891,15 @@ if (btn.syncComponentId === 'multiComponent') { btn.syncComponentIds.forEach((id, i) => { setTimeout(() => { - MKEmitter.emit('reloadData', id) + if (/\$focus/.test(id)) { + MKEmitter.emit('reloadData', id.split('$')[0], id.split('$')[1]) + } else { + MKEmitter.emit('reloadData', id) + } }, 20 * i) }) + } else if (/\$focus/.test(btn.syncComponentId)) { + MKEmitter.emit('reloadData', btn.syncComponentId.split('$')[0], btn.syncComponentId.split('$')[1]) } else { MKEmitter.emit('reloadData', btn.syncComponentId) } diff --git a/src/tabviews/zshare/actionList/normalbutton/index.jsx b/src/tabviews/zshare/actionList/normalbutton/index.jsx index 9de05d4..d6c0450 100644 --- a/src/tabviews/zshare/actionList/normalbutton/index.jsx +++ b/src/tabviews/zshare/actionList/normalbutton/index.jsx @@ -2176,6 +2176,10 @@ const { btn } = this.props const { autoMatic } = this.state + if (btn.resetForms) { + MKEmitter.emit('resetForms', btn.uuid) + } + if (this.preCallback) { this.setState({ loading: false, @@ -2294,9 +2298,15 @@ if (btn.syncComponentId === 'multiComponent') { btn.syncComponentIds.forEach((id, i) => { setTimeout(() => { - MKEmitter.emit('reloadData', id) + if (/\$focus/.test(id)) { + MKEmitter.emit('reloadData', id.split('$')[0], id.split('$')[1]) + } else { + MKEmitter.emit('reloadData', id) + } }, 20 * i) }) + } else if (/\$focus/.test(btn.syncComponentId)) { + MKEmitter.emit('reloadData', btn.syncComponentId.split('$')[0], btn.syncComponentId.split('$')[1]) } else { MKEmitter.emit('reloadData', btn.syncComponentId) } diff --git a/src/tabviews/zshare/actionList/popupbutton/index.jsx b/src/tabviews/zshare/actionList/popupbutton/index.jsx index 5153d82..a92a711 100644 --- a/src/tabviews/zshare/actionList/popupbutton/index.jsx +++ b/src/tabviews/zshare/actionList/popupbutton/index.jsx @@ -215,9 +215,15 @@ if (btn.syncComponentId === 'multiComponent') { btn.syncComponentIds.forEach((id, i) => { setTimeout(() => { - MKEmitter.emit('reloadData', id) + if (/\$focus/.test(id)) { + MKEmitter.emit('reloadData', id.split('$')[0], id.split('$')[1]) + } else { + MKEmitter.emit('reloadData', id) + } }, 20 * i) }) + } else if (/\$focus/.test(btn.syncComponentId)) { + MKEmitter.emit('reloadData', btn.syncComponentId.split('$')[0], btn.syncComponentId.split('$')[1]) } else { MKEmitter.emit('reloadData', btn.syncComponentId) } diff --git a/src/tabviews/zshare/mutilform/index.jsx b/src/tabviews/zshare/mutilform/index.jsx index 6c41ab4..7902af2 100644 --- a/src/tabviews/zshare/mutilform/index.jsx +++ b/src/tabviews/zshare/mutilform/index.jsx @@ -46,10 +46,12 @@ ID: '', send_type: '', timestamp: '', - n_id: '' + n_id: '', + focusId: '' } record = {} + submitId = '' componentDidMount () { const { action, unload } = this.props @@ -279,7 +281,7 @@ } if (item.type === 'number') { - if (isNaN(item.initval)) { + if (isNaN(item.initval) || item.initval === '') { item.initval = 0 } } else if (['select', 'link', 'radio', 'checkbox', 'checkcard', 'multiselect', 'cascader'].includes(item.type) && item.resourceType === '1') { @@ -634,17 +636,19 @@ } record[item.field] = item.initval + item.orgval = item.initval if (linkFields[item.field]) { item.linkFields = linkFields[item.field] } if (item.enter === 'tab' || item.enter === 'sub') { - if (fieldMap.has(item.tabField)) { + item.tabUuid = '' + if (item.tabField && fieldMap.has(item.tabField)) { item.tabUuid = fieldMap.get(item.tabField).uuid } else if (item.enter === 'tab') { item.enter = 'false' - } else if (item.enter === 'sub') { + } else if (item.enter === 'sub' && ['text', 'number'].includes(item.type)) { item.tabUuid = item.uuid } } @@ -681,13 +685,16 @@ this.record = record let ID = this.props.data ? this.props.data.$$uuid || '' : '' + let focusItem = null - this.setState({ formlist, ID }, () => { + if (action.setting.focus && fieldMap.has(action.setting.focus)) { + focusItem = fieldMap.get(action.setting.focus) + } + + this.setState({ formlist, ID, focusId: focusItem ? focusItem.uuid : '' }, () => { if (unload) return - if (action.setting && action.setting.focus && fieldMap.has(action.setting.focus)) { - let focusItem = fieldMap.get(action.setting.focus) - + if (focusItem) { if (focusItem.type === 'text' || focusItem.type === 'number') { setTimeout(() => { MKEmitter.emit('mkFC', 'focus', focusItem.uuid) @@ -713,6 +720,62 @@ } } }) + + if (action.subButton && action.subButton.resetForms) { + MKEmitter.addListener('resetForms', this.resetForms) + } + } + + componentWillUnmount () { + this.setState = () => { + return + } + MKEmitter.removeListener('resetForms', this.resetForms) + } + + resetForms = (id) => { + const { action } = this.props + const { focusId } = this.state + + if (id !== action.uuid) return + + let formlist = fromJS(this.state.formlist).toJS() + let resetForms = action.subButton.resetForms || [] + + formlist = formlist.map(item => { + if (item.type !== 'text' && item.type !== 'number') return item + + if (resetForms.includes(item.field)) { + item.initval = item.orgval + this.record[item.field] = item.orgval + } + + return item + }) + + let _list = fromJS(formlist).toJS().map(item => { + if (item.type !== 'text' && item.type !== 'number') return item + + if (resetForms.includes(item.field) && !item.hidden) { + item.hidden = true + } + + return item + }) + + this.setState({ + formlist: _list + }, () => { + this.setState({ + formlist + }) + }) + + if (focusId || this.submitId) { + setTimeout(() => { + MKEmitter.emit('mkFC', 'focus', this.submitId || focusId) + }, 50) + } } getFormData = (deForms) => { @@ -1229,7 +1292,7 @@ return fields } - handleConfirm = () => { + handleConfirm = (formId) => { const { formlist, send_type, timestamp, n_id } = this.state // 琛ㄥ崟鎻愪氦鏃舵鏌ヨ緭鍏ュ�兼槸鍚︽纭� @@ -1327,6 +1390,8 @@ forms.push(_item) }) + this.submitId = formId || '' + resolve(forms) }) }) diff --git a/src/tabviews/zshare/mutilform/mkInput/index.jsx b/src/tabviews/zshare/mutilform/mkInput/index.jsx index 2092679..cad739c 100644 --- a/src/tabviews/zshare/mutilform/mkInput/index.jsx +++ b/src/tabviews/zshare/mutilform/mkInput/index.jsx @@ -123,7 +123,7 @@ MKEmitter.emit('mkFC', 'focus', config.tabUuid) } else { MKEmitter.emit('mkFC', 'focus', config.tabUuid) - this.props.onSubmit() + this.props.onSubmit(config.tabUuid) } } diff --git a/src/tabviews/zshare/mutilform/mkNumberInput/index.jsx b/src/tabviews/zshare/mutilform/mkNumberInput/index.jsx index 47a1840..9e80af9 100644 --- a/src/tabviews/zshare/mutilform/mkNumberInput/index.jsx +++ b/src/tabviews/zshare/mutilform/mkNumberInput/index.jsx @@ -40,7 +40,7 @@ if (type === 'focus') { let node = document.getElementById(uuid) - node.select() + node && node.select() } else if (type === 'input') { this.setState({value}) this.props.onChange(value, true) @@ -71,7 +71,7 @@ MKEmitter.emit('mkFC', 'focus', config.tabUuid) } else { MKEmitter.emit('mkFC', 'focus', config.tabUuid) - this.props.onSubmit() + this.props.onSubmit(config.tabUuid) } } diff --git a/src/tabviews/zshare/mutilform/mkPopSelect/index.jsx b/src/tabviews/zshare/mutilform/mkPopSelect/index.jsx index 320dceb..c9bc1d6 100644 --- a/src/tabviews/zshare/mutilform/mkPopSelect/index.jsx +++ b/src/tabviews/zshare/mutilform/mkPopSelect/index.jsx @@ -265,12 +265,13 @@ if (config.enter === 'tab') { MKEmitter.emit('mkFC', 'focus', config.tabUuid) } else if (config.enter === 'sub') { + config.tabUuid && MKEmitter.emit('mkFC', 'focus', config.tabUuid) if (config.subFields) { setTimeout(() => { - this.props.onSubmit() + this.props.onSubmit(config.tabUuid) }, 1000) } else { - this.props.onSubmit() + this.props.onSubmit(config.tabUuid) } } }) diff --git a/src/tabviews/zshare/mutilform/mkSelect/index.jsx b/src/tabviews/zshare/mutilform/mkSelect/index.jsx index c8af8d3..6f94b5d 100644 --- a/src/tabviews/zshare/mutilform/mkSelect/index.jsx +++ b/src/tabviews/zshare/mutilform/mkSelect/index.jsx @@ -149,12 +149,13 @@ if (config.enter === 'tab') { MKEmitter.emit('mkFC', 'focus', config.tabUuid) } else if (config.enter === 'sub') { + config.tabUuid && MKEmitter.emit('mkFC', 'focus', config.tabUuid) if (config.linkFields || config.subFields || config.controlFields) { setTimeout(() => { - this.props.onSubmit() + this.props.onSubmit(config.tabUuid) }, 1000) } else { - this.props.onSubmit() + this.props.onSubmit(config.tabUuid) } } }) diff --git a/src/tabviews/zshare/mutilform/mkVercode/index.jsx b/src/tabviews/zshare/mutilform/mkVercode/index.jsx index c0569d0..7f6eff9 100644 --- a/src/tabviews/zshare/mutilform/mkVercode/index.jsx +++ b/src/tabviews/zshare/mutilform/mkVercode/index.jsx @@ -55,8 +55,8 @@ if (config.enter === 'tab') { MKEmitter.emit('mkFC', 'focus', config.tabUuid) } else { - MKEmitter.emit('mkFC', 'focus', config.tabUuid) - this.props.onSubmit() + config.tabUuid && MKEmitter.emit('mkFC', 'focus', config.tabUuid) + this.props.onSubmit(config.tabUuid) } } diff --git a/src/templates/sharecomponent/actioncomponent/verifyexcelin/columnform/index.jsx b/src/templates/sharecomponent/actioncomponent/verifyexcelin/columnform/index.jsx index c9bbe28..afb9c56 100644 --- a/src/templates/sharecomponent/actioncomponent/verifyexcelin/columnform/index.jsx +++ b/src/templates/sharecomponent/actioncomponent/verifyexcelin/columnform/index.jsx @@ -1,7 +1,7 @@ import React, {Component} from 'react' import PropTypes from 'prop-types' import { Form, Row, Col, Select, Button, Input, InputNumber, Radio } from 'antd' -import './index.scss' +// import './index.scss' class ExcelInColumn extends Component { static propTpyes = { diff --git a/src/templates/sharecomponent/actioncomponent/verifyexcelin/customscript/index.jsx b/src/templates/sharecomponent/actioncomponent/verifyexcelin/customscript/index.jsx index ab0f6ad..97b1812 100644 --- a/src/templates/sharecomponent/actioncomponent/verifyexcelin/customscript/index.jsx +++ b/src/templates/sharecomponent/actioncomponent/verifyexcelin/customscript/index.jsx @@ -7,7 +7,7 @@ import Api from '@/api' import { checkSQL } from '@/utils/utils-custom.js' import CodeMirror from '@/templates/zshare/codemirror' -import './index.scss' +// import './index.scss' class CustomForm extends Component { static propTpyes = { @@ -341,10 +341,10 @@ 鍙栨秷 </Button> </Col> - <Col span={3} style={{paddingTop: '15px', fontSize: '12px', whiteSpace: 'nowrap'}}> + {!type ? <Col span={3} style={{paddingTop: '15px', fontSize: '12px', whiteSpace: 'nowrap'}}> 寮哄埗淇濆瓨锛� <Switch checked={skip} size="small" onChange={() => this.setState({skip: !skip})}/> - </Col> + </Col> : null} <Col span={24} className="sql"> <Form.Item label="sql"> {getFieldDecorator('sql', { diff --git a/src/templates/sharecomponent/actioncomponent/verifyexcelin/index.jsx b/src/templates/sharecomponent/actioncomponent/verifyexcelin/index.jsx index c4708cd..180710c 100644 --- a/src/templates/sharecomponent/actioncomponent/verifyexcelin/index.jsx +++ b/src/templates/sharecomponent/actioncomponent/verifyexcelin/index.jsx @@ -925,7 +925,7 @@ </span> } key="scripts" id="mk-exin-script"> <FullScripts - verify={verify} + scripts={verify.scripts} getScriptsFullForm={() => this.scriptsFullForm} getScriptsForm={() => this.scriptsForm} handleStatus={this.handleStatus} diff --git a/src/templates/sharecomponent/actioncomponent/verifyexcelin/uniqueform/index.jsx b/src/templates/sharecomponent/actioncomponent/verifyexcelin/uniqueform/index.jsx index 365f6b0..485f8b1 100644 --- a/src/templates/sharecomponent/actioncomponent/verifyexcelin/uniqueform/index.jsx +++ b/src/templates/sharecomponent/actioncomponent/verifyexcelin/uniqueform/index.jsx @@ -1,8 +1,7 @@ import React, {Component} from 'react' import PropTypes from 'prop-types' import { Form, Row, Col, Select, Button } from 'antd' -import './index.scss' - +// import './index.scss' class UniqueForm extends Component { static propTpyes = { diff --git a/src/templates/sharecomponent/actioncomponent/verifyexcelout/columnform/index.jsx b/src/templates/sharecomponent/actioncomponent/verifyexcelout/columnform/index.jsx index 76d36ee..9d9f0e3 100644 --- a/src/templates/sharecomponent/actioncomponent/verifyexcelout/columnform/index.jsx +++ b/src/templates/sharecomponent/actioncomponent/verifyexcelout/columnform/index.jsx @@ -1,7 +1,7 @@ import React, {Component} from 'react' import PropTypes from 'prop-types' import { Form, Row, Col, Button, Input, InputNumber, Radio } from 'antd' -import './index.scss' +// import './index.scss' class ExcelOutColumn extends Component { static propTpyes = { diff --git a/src/templates/sharecomponent/actioncomponent/verifyexcelout/customscript/index.jsx b/src/templates/sharecomponent/actioncomponent/verifyexcelout/customscript/index.jsx index 2ac2c12..adf4197 100644 --- a/src/templates/sharecomponent/actioncomponent/verifyexcelout/customscript/index.jsx +++ b/src/templates/sharecomponent/actioncomponent/verifyexcelout/customscript/index.jsx @@ -9,7 +9,7 @@ import Utils from '@/utils/utils.js' import { checkSQL } from '@/utils/utils-custom.js' import CodeMirror from '@/templates/zshare/codemirror' -import './index.scss' +// import './index.scss' class CustomForm extends Component { static propTpyes = { @@ -96,9 +96,16 @@ _usefulFields.push(item.field) _usefulFields.push(item.datefield) _usefulFields.push(item.datefield + '1') - } else if (['dateweek', 'datemonth'].includes(item.type)) { + } else if (item.type === 'dateweek') { _usefulFields.push(item.field) _usefulFields.push(item.field + '1') + } else if (item.type === 'datemonth') { + if (item.match === '=') { + _usefulFields.push(item.field) + } else { + _usefulFields.push(item.field) + _usefulFields.push(item.field + '1') + } } else if (item.type === 'daterange') { let _skey = item.field let _ekey = item.field + '1' diff --git a/src/templates/sharecomponent/searchcomponent/searchform/index.jsx b/src/templates/sharecomponent/searchcomponent/searchform/index.jsx index 5dbb18b..6bfcbce 100644 --- a/src/templates/sharecomponent/searchcomponent/searchform/index.jsx +++ b/src/templates/sharecomponent/searchcomponent/searchform/index.jsx @@ -252,6 +252,7 @@ reTypes.initval = 'text' } + reTooltip.match = '' if (type === 'text') { reOptions.match = matchReg.class1 } else if (type === 'multiselect') { @@ -263,7 +264,8 @@ } else if (type === 'date') { reOptions.match = matchReg.class4 } else if (type === 'datemonth') { - reOptions.match = matchReg.class5 + reTooltip.match = '鍖归厤妯″紡涓� between 鏃讹紝鎼滅储鏉′欢涓哄ぇ浜庢湀鍒濆皬浜庢湀鏈紝鍖归厤妯″紡涓� = 鏃讹紝鎼滅储鏉′欢涓虹瓑浜庡綋鍓嶆湀锛圷YYY-MM锛夈��' + reOptions.match = matchReg.class6 } else if (type === 'dateweek' || type === 'daterange' || type === 'range') { reOptions.match = matchReg.class5 } else if (type === 'checkcard') { diff --git a/src/templates/zshare/modalform/index.jsx b/src/templates/zshare/modalform/index.jsx index 7ae6d40..ffe236a 100644 --- a/src/templates/zshare/modalform/index.jsx +++ b/src/templates/zshare/modalform/index.jsx @@ -289,6 +289,10 @@ if (this.record.interception === 'func') { shows.push('func') } + } else if (type === 'popSelect') { + if (this.record.enter === 'tab' || this.record.enter === 'sub') { + shows.push('tabField') + } } if (['multiselect', 'select', 'link', 'radio', 'checkbox', 'checkcard', 'cascader'].includes(type)) { @@ -383,7 +387,7 @@ if (value === 'text' || value === 'number') { this.record.enter = 'sub' _fieldval.enter = 'sub' - } else if (value === 'select' || value === 'link') { + } else if (['select', 'link', 'popSelect', 'vercode'].includes(value)) { _fieldval.enter = 'false' } diff --git a/src/templates/zshare/verifycard/callbackcustomscript/index.jsx b/src/templates/zshare/verifycard/callbackcustomscript/index.jsx index 347e92c..abf3307 100644 --- a/src/templates/zshare/verifycard/callbackcustomscript/index.jsx +++ b/src/templates/zshare/verifycard/callbackcustomscript/index.jsx @@ -1,6 +1,6 @@ import React, {Component} from 'react' import PropTypes from 'prop-types' -import { Form, Row, Col, Button, Modal, Tooltip, Radio, Select, Switch } from 'antd' +import { Form, Row, Col, Button, Modal, Tooltip, Radio, Select, Switch, notification } from 'antd' import { QuestionCircleOutlined } from '@ant-design/icons' import Api from '@/api' @@ -29,18 +29,39 @@ editItem: record }) - this.props.form.setFieldsValue({ - sql: record.sql, - position: record.position || 'back' - }) + if (this.props.type) { + this.props.form.setFieldsValue({ + sql: record.sql + }) + } else { + this.props.form.setFieldsValue({ + sql: record.sql, + position: record.position || 'back' + }) + } } handleConfirm = () => { + const { type } = this.props const { editItem, skip } = this.state // 琛ㄥ崟鎻愪氦鏃舵鏌ヨ緭鍏ュ�兼槸鍚︽纭� this.props.form.validateFieldsAndScroll((err, values) => { + if (type === 'fullscreen' && err) { + notification.warning({ + top: 92, + message: '璇疯緭鍏ql!', + duration: 5 + }) + return + } + if (!err) { values.uuid = editItem ? editItem.uuid : '' + values.position = values.position || (editItem ? editItem.position : 'front') + + if (type === 'fullscreen' && editItem) { + values.status = editItem.status || 'true' + } let pass = checkSQL(values.sql, 'customscript') @@ -166,9 +187,9 @@ } render() { - const { usefulfields, systemScripts, btn } = this.props + const { usefulfields, systemScripts, btn, type } = this.props const { getFieldDecorator } = this.props.form - const { skip } = this.state + const { editItem, skip } = this.state const formItemLayout = { labelCol: { xs: { span: 24 }, @@ -185,25 +206,25 @@ return ( <Form {...formItemLayout} className="verify-form verify-custom-callback-scripts" id="verify-custom-callback-scripts"> <Row gutter={24}> - <Col span={8}> + {!type ? <Col span={8}> <Form.Item label={'琛ㄥ悕'} style={{whiteSpace: 'nowrap', margin: 0}}> {btn.cbTable} </Form.Item> - </Col> - <Col span={10}> + </Col> : null} + {!type ? <Col span={10}> <Form.Item label={'鎶ラ敊瀛楁'} style={{margin: 0, whiteSpace: 'nowrap'}}> ErrorCode锛堝鍔犲悗缂�NT琛ㄧず鏁版嵁涓嶅洖婊氾紝濡侲NT銆丯NT銆丗NT銆丯MNT銆丆NT銆�-2NT锛�, retmsg </Form.Item> - </Col> - <Col span={24} className="sqlfield"> + </Col> : null} + {!type ? <Col span={24} className="sqlfield"> <Form.Item label={'鍙敤瀛楁'}> <Tooltip mouseLeaveDelay={0.3} mouseEnterDelay={0.3} placement="top" title={'鍏叡鍊硷紝璇锋寜鐓xxx@鏍煎紡浣跨敤銆�'}><span style={{color: '#1890ff'}}>BID, ID, LoginUID, SessionUid, UserID, Appkey, time_id, typename</span></Tooltip>, <Tooltip mouseLeaveDelay={0.3} mouseEnterDelay={0.3} placement="top" title={'绯荤粺鍙橀噺锛岀郴缁熶細瀹氫箟鍙橀噺骞惰祴鍊笺��'}><span style={{color: '#fa8c16'}}>UserName, FullName, RoleID, mk_departmentcode, mk_organization, mk_user_type, mk_nation, mk_province, mk_city, mk_district, mk_address, mk_deleted</span></Tooltip>, <Tooltip mouseLeaveDelay={0.3} mouseEnterDelay={0.3} placement="top" title={'绯荤粺鍙橀噺锛岀郴缁熶細瀹氫箟鍙橀噺骞跺湪鍗曞彿鐢熸垚鎴栧垱寤哄嚟璇佹椂浣跨敤銆�'}><span style={{color: '#13c2c2'}}>BillCode, BVoucher, FIBVoucherDate, FiYear, ModularDetailCode</span></Tooltip> {usefulfields ? <span>, {usefulfields}</span> : ''} </Form.Item> - </Col> - <Col span={8} style={{whiteSpace: 'nowrap'}}> + </Col> : null} + {!type ? <Col span={8} style={{whiteSpace: 'nowrap'}}> <Form.Item style={{marginBottom: 0}} label={ <Tooltip placement="bottomLeft" title={'鑷畾涔夎剼鏈笌榛樿sql浣嶇疆鍏崇郴銆�'}> <QuestionCircleOutlined className="mk-form-tip" /> @@ -219,8 +240,8 @@ </Radio.Group> )} </Form.Item> - </Col> - <Col span={8}> + </Col> : null} + {!type ? <Col span={8}> <Form.Item label={'蹇嵎娣诲姞'} style={{marginBottom: 0}}> <Select allowClear @@ -235,19 +256,19 @@ )} </Select> </Form.Item> - </Col> + </Col> : null} <Col span={5} className="add" style={{whiteSpace: 'nowrap'}}> <Button onClick={this.handleConfirm} loading={this.state.loading} className="mk-green" style={{marginBottom: 15, marginLeft: 40}}> - 淇濆瓨 + {type === 'fullscreen' && !editItem ? '娣诲姞' : '淇濆瓨'} </Button> <Button onClick={this.handleCancel} style={{marginBottom: 15, marginLeft: 10}}> 鍙栨秷 </Button> </Col> - <Col span={3} style={{paddingTop: '15px', fontSize: '12px', whiteSpace: 'nowrap'}}> + {!type ? <Col span={3} style={{paddingTop: '15px', fontSize: '12px', whiteSpace: 'nowrap'}}> 寮哄埗淇濆瓨锛� <Switch checked={skip} size="small" onChange={() => this.setState({skip: !skip})}/> - </Col> + </Col> : null} <Col span={24} className="sql"> <Form.Item label="sql"> {getFieldDecorator('sql', { diff --git a/src/templates/zshare/verifycard/fullScripts/index.jsx b/src/templates/zshare/verifycard/fullScripts/index.jsx index 116fdbb..0fee3ee 100644 --- a/src/templates/zshare/verifycard/fullScripts/index.jsx +++ b/src/templates/zshare/verifycard/fullScripts/index.jsx @@ -10,7 +10,7 @@ class fullScripts extends Component { static propTpyes = { - verify: PropTypes.object, + scripts: PropTypes.array, getScriptsForm: PropTypes.func } @@ -41,9 +41,11 @@ } render() { - const { verify, children } = this.props + const { scripts, children } = this.props const { visible, scriptId } = this.state + if (scripts.length === 0) return null + return ( <> <BorderOutlined className="full-scripts" onClick={this.trigger}/> @@ -57,7 +59,7 @@ > <img className="unfull-scripts" src={MinView} onClick={() => this.setState({visible: false, scriptId: ''})} alt=""/> <div className="script-table-wrap"> - {verify.scripts.map(item => { + {scripts.map(item => { let title = item.sql.match(/^\s*\/\*.+\*\//) title = title && title[0] ? title[0] : '' let _text = title ? item.sql.replace(title, '') : item.sql diff --git a/src/templates/zshare/verifycard/fullScripts/index.scss b/src/templates/zshare/verifycard/fullScripts/index.scss index 4cdba1c..03122a1 100644 --- a/src/templates/zshare/verifycard/fullScripts/index.scss +++ b/src/templates/zshare/verifycard/fullScripts/index.scss @@ -116,6 +116,7 @@ position: absolute; top: 10px; z-index: 1; + padding-top: 0px!important; .ant-btn { height: 28px; } diff --git a/src/templates/zshare/verifycard/index.jsx b/src/templates/zshare/verifycard/index.jsx index 6949347..2dcdd58 100644 --- a/src/templates/zshare/verifycard/index.jsx +++ b/src/templates/zshare/verifycard/index.jsx @@ -1660,7 +1660,7 @@ </span> } key="scripts" id="mk-normal-script"> <FullScripts - verify={verify} + scripts={verify.scripts} getScriptsFullForm={() => this.scriptsFullForm} getScriptsForm={() => this.scriptsForm} handleStatus={this.handleStatus} @@ -1698,6 +1698,24 @@ {verify.cbScripts.length ? <span className="count-tip">{verify.cbScripts.length}</span> : null} </span> } key="cbScripts" id="mk-callback-script"> + <FullScripts + scripts={verify.cbScripts} + getScriptsFullForm={() => this.cbscriptsFullForm} + getScriptsForm={() => this.cbscriptsForm} + handleStatus={(item) => this.handleStatus(item, 'cbscripts')} + handleDelete={(item) => this.handleDelete(item, 'cbscripts')} + > + <CallBackCustomScript + type="fullscreen" + btn={this.props.card} + initsql={this.state.initsql} + customScripts={verify.cbScripts} + usefulfields={this.state.usefulfields} + systemScripts={this.state.systemScripts} + scriptsChange={this.cbScriptsChange} + wrappedComponentRef={(inst) => this.cbscriptsFullForm = inst} + /> + </FullScripts> <CallBackCustomScript btn={this.props.card} initsql={this.state.initsql} diff --git a/src/utils/option.js b/src/utils/option.js index 1652359..6d71ffd 100644 --- a/src/utils/option.js +++ b/src/utils/option.js @@ -242,6 +242,13 @@ class5: [{ value: 'between', text: 'between' + }], + class6: [{ + value: 'between', + text: 'between' + }, { + value: '=', + text: '=' }] } diff --git a/src/utils/utils-custom.js b/src/utils/utils-custom.js index 350ccc7..44a9750 100644 --- a/src/utils/utils-custom.js +++ b/src/utils/utils-custom.js @@ -6,7 +6,7 @@ * @description 鑾峰彇涓嬬骇妯″潡 * @return {String} selfId 褰撳墠缁勪欢id */ - static getSubModules (components, selfId, supId) { + static getSubModules (components, selfId, supId, has) { let modules = [] components.forEach(item => { if (item.uuid === selfId || item.type === 'navbar') { @@ -17,6 +17,17 @@ label: item.name, disabled: supId === item.uuid }) + + if (item.type === 'form' && item.subtype === 'simpleform' && item.wrap.refocus && supId !== item.uuid) { + modules.push({ + value: item.uuid + '$focus-refresh', + label: item.name + '锛堝埛鏂�-鑱氱劍锛�', + }) + modules.push({ + value: item.uuid + '$focus-nofresh', + label: item.name + '锛堜笉鍒锋柊-鑱氱劍锛�', + }) + } } else if (item.type === 'tabs') { if (item.subtype === 'tabletabs') { item.subtabs.forEach(tab => { @@ -38,7 +49,7 @@ type: 'tab', value: f_tab.uuid, label: f_tab.label, - children: this.getSubModules(f_tab.components, selfId, supId) + children: this.getSubModules(f_tab.components, selfId, supId, has) } if (subItem.children.length === 0) { @@ -672,11 +683,23 @@ } if (btn.syncComponent && btn.syncComponent[0] === 'multiComponent' && btn.syncComponents) { btn.syncComponents = btn.syncComponents.map(m => { - m.syncComId = m.syncComId.map(n => md5(commonId + n)) + m.syncComId = m.syncComId.map(n => { + if (/\$focus/.test(n)) { + return md5(commonId + n.split('$')[0]) + '$' + n.split('$')[1] + } + + return md5(commonId + n) + }) return m }) } else if (btn.syncComponent && btn.syncComponent.length > 0) { - btn.syncComponent = btn.syncComponent.map(m => md5(commonId + m)) + btn.syncComponent = btn.syncComponent.map(m => { + if (/\$focus/.test(m)) { + return md5(commonId + m.split('$')[0]) + '$' + m.split('$')[1] + } + + return md5(commonId + m) + }) } } @@ -984,7 +1007,11 @@ if (item.type === 'date') { value = '1949-10-01 00:00:00.000' } else if (item.type === 'datemonth') { - value = '1949-10-01 00:00:00.000,1949-10-02 00:00:00.000' + if (item.match === '=') { + value = '1949-10' + } else { + value = '1949-10-01 00:00:00.000,1949-10-02 00:00:00.000' + } } else if (item.type === 'dateweek') { value = '1949-10-01 00:00:00.000,1949-10-02 00:00:00.000' } else if (item.type === 'daterange') { @@ -1036,9 +1063,16 @@ searchText.push(`('${item.value}' ${item.match} '%'+${item.key}+'%')`) } else if (item.type === 'date') { searchText.push('(' + item.key + ' ' + item.match + ' \'' + item.value + '\')') - } else if (item.type === 'datemonth' || item.type === 'dateweek' || item.type === 'range') { + } else if (item.type === 'dateweek' || item.type === 'range') { let val = item.value.split(',') searchText.push('(' + item.key + ' >= \'' + val[0] + '\' AND ' + item.key + ' < \'' + val[1] + '\')') + } else if (item.type === 'datemonth') { + if (item.match === '=') { + searchText.push('(' + item.key + ' = \'' + item.value + '\')') + } else { + let val = item.value.split(',') + searchText.push('(' + item.key + ' >= \'' + val[0] + '\' AND ' + item.key + ' < \'' + val[1] + '\')') + } } else if (item.type === 'daterange') { let val = item.value.split(',') @@ -1081,7 +1115,8 @@ value: `'${item.value}'` }) } - } else if (['dateweek', 'datemonth', 'range'].includes(item.type)) { + + } else if (['dateweek', 'range'].includes(item.type)) { let val = item.value.split(',') options.push({ reg: new RegExp('@' + item.key + '@', 'ig'), @@ -1090,6 +1125,22 @@ reg: new RegExp('@' + item.key + '1@', 'ig'), value: `'${val[1]}'` }) + } else if (item.type === 'datemonth') { + if (item.match === '=') { + options.push({ + reg: new RegExp('@' + item.key + '@', 'ig'), + value: `'${item.value}'` + }) + } else { + let val = item.value.split(',') + options.push({ + reg: new RegExp('@' + item.key + '@', 'ig'), + value: `'${val[0]}'` + }, { + reg: new RegExp('@' + item.key + '1@', 'ig'), + value: `'${val[1]}'` + }) + } } else if (item.type === 'daterange') { let val = item.value.split(',') let _skey = item.key diff --git a/src/utils/utils.js b/src/utils/utils.js index f2d3e00..7c45ab0 100644 --- a/src/utils/utils.js +++ b/src/utils/utils.js @@ -469,17 +469,21 @@ newsearches[item.key] = _val } } else if (item.type === 'datemonth') { - // 鏈�-杩囨护鏉′欢锛屼粠鏈堝紑濮嬭嚦缁撴潫 - let _startval = '' - let _endval = '' - - if (item.value) { - _startval = moment(item.value, 'YYYY-MM').startOf('month').format('YYYY-MM-DD') + ' 00:00:00.000' - _endval = moment(item.value, 'YYYY-MM').endOf('month').add(1, 'days').format('YYYY-MM-DD') + ' 00:00:00.000' + if (item.match === '=') { + newsearches[item.key] = item.value + } else { + // 鏈�-杩囨护鏉′欢锛屼粠鏈堝紑濮嬭嚦缁撴潫 + let _startval = '' + let _endval = '' + + if (item.value) { + _startval = moment(item.value, 'YYYY-MM').startOf('month').format('YYYY-MM-DD') + ' 00:00:00.000' + _endval = moment(item.value, 'YYYY-MM').endOf('month').add(1, 'days').format('YYYY-MM-DD') + ' 00:00:00.000' + } + + newsearches[item.key] = _startval + newsearches[item.key + '1'] = _endval } - - newsearches[item.key] = _startval - newsearches[item.key + '1'] = _endval } else if (item.type === 'dateweek') { let _startval = '' let _endval = '' @@ -583,10 +587,14 @@ searchText.push('(' + item.key + ' ' + _match + ' \'' + _val + timetail + '\')') } else if (item.type === 'datemonth') { // 鏈�-杩囨护鏉′欢锛屼粠鏈堝紑濮嬭嚦缁撴潫锛岀粨鏉熸椂闂翠负鏈堟湯鍔犱竴澶╃殑0鐐癸紝鏂瑰紡涓�< - let _startval = moment(item.value, 'YYYY-MM').startOf('month').format('YYYY-MM-DD') + ' 00:00:00.000' - let _endval = moment(item.value, 'YYYY-MM').endOf('month').add(1, 'days').format('YYYY-MM-DD') + ' 00:00:00.000' - - searchText.push('(' + item.key + ' >= \'' + _startval + '\' AND ' + item.key + ' < \'' + _endval + '\')') + if (item.match === '=') { + searchText.push('(' + item.key + ' = \'' + item.value + '\')') + } else { + let _startval = moment(item.value, 'YYYY-MM').startOf('month').format('YYYY-MM-DD') + ' 00:00:00.000' + let _endval = moment(item.value, 'YYYY-MM').endOf('month').add(1, 'days').format('YYYY-MM-DD') + ' 00:00:00.000' + + searchText.push('(' + item.key + ' >= \'' + _startval + '\' AND ' + item.key + ' < \'' + _endval + '\')') + } } else if (item.type === 'dateweek') { // 鍛�-杩囨护鏉′欢 let _startval = moment(item.value, 'YYYY-MM-DD' ).startOf('week').format('YYYY-MM-DD') + ' 00:00:00.000' let _endval = moment(item.value, 'YYYY-MM-DD').endOf('week').add(1, 'days').format('YYYY-MM-DD') + ' 00:00:00.000' @@ -679,17 +687,21 @@ options.push(item) } else if (item.type === 'datemonth') { - let _startval = item.value ? moment(item.value, 'YYYY-MM').startOf('month').format('YYYY-MM-DD') + ' 00:00:00.000' : '1970-01-01 00:00:00.000' - let _endval = item.value ? moment(item.value, 'YYYY-MM').endOf('month').add(1, 'days').format('YYYY-MM-DD') + ' 00:00:00.000' : '2050-01-01 00:00:00.000' - - let copy = JSON.parse(JSON.stringify(item)) - copy.key = copy.key + '1' - copy.value = _endval - - item.value = _startval - - options.push(item) - options.push(copy) + if (item.match === '=') { + options.push(item) + } else { + let _startval = item.value ? moment(item.value, 'YYYY-MM').startOf('month').format('YYYY-MM-DD') + ' 00:00:00.000' : '1970-01-01 00:00:00.000' + let _endval = item.value ? moment(item.value, 'YYYY-MM').endOf('month').add(1, 'days').format('YYYY-MM-DD') + ' 00:00:00.000' : '2050-01-01 00:00:00.000' + + let copy = JSON.parse(JSON.stringify(item)) + copy.key = copy.key + '1' + copy.value = _endval + + item.value = _startval + + options.push(item) + options.push(copy) + } } else if (item.type === 'dateweek') { let _startval = item.value ? moment(item.value, 'YYYY-MM-DD').startOf('week').format('YYYY-MM-DD') + ' 00:00:00.000' : '1970-01-01 00:00:00.000' let _endval = item.value ? moment(item.value, 'YYYY-MM-DD').endOf('week').add(1, 'days').format('YYYY-MM-DD') + ' 00:00:00.000' : '2050-01-01 00:00:00.000' -- Gitblit v1.8.0