From 6dd965723be9dc245105296198c25a80cfe51b54 Mon Sep 17 00:00:00 2001 From: king <18310653075@163.com> Date: 星期四, 27 四月 2023 10:51:50 +0800 Subject: [PATCH] 2023-04-27 --- src/templates/zshare/modalform/index.jsx | 4 src/views/design/sidemenu/editsecmenu/index.jsx | 1 src/components/header/index.jsx | 6 - src/menu/components/share/actioncomponent/index.scss | 3 src/menu/components/share/markcomponent/index.jsx | 9 ++ src/templates/zshare/formconfig.jsx | 12 +++ src/menu/components/share/actioncomponent/formconfig.jsx | 3 src/menu/datasource/verifycard/settingform/index.jsx | 17 ++++ src/tabviews/custom/components/interfaces/interItem/index.jsx | 31 +++++++ src/views/design/header/editfirstmenu/index.jsx | 1 src/menu/components/share/actioncomponent/index.jsx | 2 src/tabviews/custom/index.jsx | 75 +++++++++++++++++- src/tabviews/custom/components/share/normalTable/index.jsx | 6 + src/components/header/loginform.jsx | 18 +++- src/menu/components/table/normal-table/columns/index.jsx | 5 + src/views/design/sidemenu/editthdmenu/index.jsx | 1 src/menu/sysinterface/index.jsx | 6 src/menu/components/share/markcomponent/markform/index.jsx | 9 ++ 18 files changed, 181 insertions(+), 28 deletions(-) diff --git a/src/components/header/index.jsx b/src/components/header/index.jsx index 94e445b..a58854f 100644 --- a/src/components/header/index.jsx +++ b/src/components/header/index.jsx @@ -439,12 +439,6 @@ setTimeout(() => { Api.getAppVersion() }, 1000) - // Api.genericInterface({ - // func: 's_get_fcc_account_data', - // fcc_date: '2022-03-01', - // search_type: '' - // }).then(res => { - // }) // sessionStorage 璺ㄩ〉闈㈠叡浜� window.addEventListener('storage', (e) => { diff --git a/src/components/header/loginform.jsx b/src/components/header/loginform.jsx index 899741a..45a57c0 100644 --- a/src/components/header/loginform.jsx +++ b/src/components/header/loginform.jsx @@ -17,6 +17,7 @@ remember: false, username: '', password: '', + oripassword: '', delay: +sessionStorage.getItem('mkDelay') } @@ -38,18 +39,25 @@ localStorage.removeItem(_url) } - this.setState({ - remember: _user ? true : false, - username: _user ? _user.username : '', - password: _user ? _user.password : '' - }) + if (_user) { + this.setState({ + remember: true, + username: _user.username, + password: '*********', + oripassword: _user.password + }) + } } handleConfirm = () => { + const { oripassword } = this.state // 琛ㄥ崟鎻愪氦鏃舵鏌ヨ緭鍏ュ�兼槸鍚︽纭� return new Promise((resolve, reject) => { this.props.form.validateFieldsAndScroll((err, values) => { if (!err) { + if (oripassword && values.password === '*********') { + values.password = oripassword + } resolve(values) } else { reject(err) diff --git a/src/menu/components/share/actioncomponent/formconfig.jsx b/src/menu/components/share/actioncomponent/formconfig.jsx index 91acca3..8167d07 100644 --- a/src/menu/components/share/actioncomponent/formconfig.jsx +++ b/src/menu/components/share/actioncomponent/formconfig.jsx @@ -701,6 +701,9 @@ }, { value: 'light', text: '鐏�' + }, { + value: 'system', + text: '绯荤粺' }] }, { diff --git a/src/menu/components/share/actioncomponent/index.jsx b/src/menu/components/share/actioncomponent/index.jsx index f20e126..93e5bd9 100644 --- a/src/menu/components/share/actioncomponent/index.jsx +++ b/src/menu/components/share/actioncomponent/index.jsx @@ -429,6 +429,8 @@ btn.style.borderColor = color[btn.class] } } + } else if (btn.color) { + btn.style = {} } } return btn diff --git a/src/menu/components/share/actioncomponent/index.scss b/src/menu/components/share/actioncomponent/index.scss index 63c17eb..193c640 100644 --- a/src/menu/components/share/actioncomponent/index.scss +++ b/src/menu/components/share/actioncomponent/index.scss @@ -55,5 +55,8 @@ .swiper-light { background-color: #cccccc; } + .swiper-system { + background-color: #1890ff; + } } } \ No newline at end of file diff --git a/src/menu/components/share/markcomponent/index.jsx b/src/menu/components/share/markcomponent/index.jsx index 53a2a73..c188601 100644 --- a/src/menu/components/share/markcomponent/index.jsx +++ b/src/menu/components/share/markcomponent/index.jsx @@ -34,6 +34,15 @@ editable: true, inputType: 'cascader', options: [], + rules: [{ + validator: (rule, value, callback) => { + if (value[1] === 'dynamic' && value[0] === value[2]) { + callback('瀵规瘮瀛楁涓嶅彲鐩稿悓锛�') + } else { + callback() + } + } + }], render: text => { return ( <div>{text[0]} VS {text[2] ? text[2] : '闈欐�佸��'}</div> diff --git a/src/menu/components/share/markcomponent/markform/index.jsx b/src/menu/components/share/markcomponent/markform/index.jsx index f4adc4d..0603b31 100644 --- a/src/menu/components/share/markcomponent/markform/index.jsx +++ b/src/menu/components/share/markcomponent/markform/index.jsx @@ -53,6 +53,15 @@ { required: true, message: '璇烽�夋嫨瀵规瘮瀛楁!' + }, + { + validator: (rule, value, callback) => { + if (value[1] === 'dynamic' && value[0] === value[2]) { + callback('瀵规瘮瀛楁涓嶅彲鐩稿悓锛�') + } else { + callback() + } + } } ] })( diff --git a/src/menu/components/table/normal-table/columns/index.jsx b/src/menu/components/table/normal-table/columns/index.jsx index 917976c..755b5c9 100644 --- a/src/menu/components/table/normal-table/columns/index.jsx +++ b/src/menu/components/table/normal-table/columns/index.jsx @@ -346,7 +346,10 @@ pasteCell = (col, cell, resolve) => { resolve({status: true}) - + if (cell.copyType === 'action') { + cell.eleType = 'button' + } + delete cell.copyType cell.uuid = Utils.getuuid() cell.focus = true diff --git a/src/menu/datasource/verifycard/settingform/index.jsx b/src/menu/datasource/verifycard/settingform/index.jsx index 3295cea..235cd21 100644 --- a/src/menu/datasource/verifycard/settingform/index.jsx +++ b/src/menu/datasource/verifycard/settingform/index.jsx @@ -535,6 +535,23 @@ )} </Form.Item> </Col> : null} + {config.type === 'interface' && setting.supModule && setting.supModule[0] === 'empty' ? <Col span={8}> + <Form.Item label={ + <Tooltip placement="topLeft" title="鍒濆鍖栧姞杞藉皢鍦ㄩ〉闈㈠姞杞藉墠鎵ц銆�"> + <QuestionCircleOutlined className="mk-form-tip" /> + 鍔犺浇鏂瑰紡 + </Tooltip> + }> + {getFieldDecorator('loadlevel', { + initialValue: setting.loadlevel || 'default' + })( + <Radio.Group onChange={(e) => {this.onOptionChange(e.target.value, 'loadlevel')}}> + <Radio value="default">榛樿</Radio> + <Radio value="init">鍒濆鍖�</Radio> + </Radio.Group> + )} + </Form.Item> + </Col> : null} {config.type === 'interface' ? <Col span={8}> <Form.Item label="瀹氭椂鍣�"> {getFieldDecorator('timer', { diff --git a/src/menu/sysinterface/index.jsx b/src/menu/sysinterface/index.jsx index 240fea2..e957516 100644 --- a/src/menu/sysinterface/index.jsx +++ b/src/menu/sysinterface/index.jsx @@ -52,7 +52,6 @@ dataIndex: 'operation', render: (text, record) => (<div style={{textAlign: 'center'}}> - <DataSource config={record} updateConfig={this.update}/> <span onClick={() => this.handleStatus(record)} style={{color: '#8E44AD', cursor: 'pointer', fontSize: '16px', marginRight: '15px'}}><SwapOutlined /></span> <span onClick={() => this.copy(record)} style={{color: '#26C281', cursor: 'pointer', fontSize: '16px', marginRight: '15px'}}><CopyOutlined /></span> <Popconfirm @@ -60,8 +59,9 @@ title="纭畾鍒犻櫎锛�" onConfirm={() => this.deleteScript(record) }> - <span style={{color: '#ff4d4f', cursor: 'pointer', fontSize: '16px'}}><DeleteOutlined /></span> + <span style={{color: '#ff4d4f', cursor: 'pointer', fontSize: '16px', marginRight: '15px'}}><DeleteOutlined /></span> </Popconfirm> + <DataSource config={record} updateConfig={this.update}/> </div>) } ] @@ -253,7 +253,7 @@ return ( <div className="mk-sys-interface" style={{display: 'inline-block'}}> - <Button className="mk-border-green" onClick={this.trigger}><DatabaseOutlined /> 鍏叡鏁版嵁婧�</Button> + <Button className="mk-border-danger" onClick={this.trigger}><DatabaseOutlined /> 鍏叡鏁版嵁婧�</Button> <Modal title="鍏叡鏁版嵁婧�" wrapClassName="interface-controller-modal" diff --git a/src/tabviews/custom/components/interfaces/interItem/index.jsx b/src/tabviews/custom/components/interfaces/interItem/index.jsx index ab62d9b..3ba9519 100644 --- a/src/tabviews/custom/components/interfaces/interItem/index.jsx +++ b/src/tabviews/custom/components/interfaces/interItem/index.jsx @@ -39,9 +39,13 @@ } } - setTimeout(() => { - this.loadData() - }, config.setting.delay) + if (config.setting.onload !== 'false') { + setTimeout(() => { + this.loadData() + }, config.setting.delay) + } else { + MKEmitter.addListener('initFinish', this.initFinish) + } MKEmitter.addListener('reloadData', this.reloadData) MKEmitter.addListener('resetSelectLine', this.resetParentParam) @@ -57,8 +61,21 @@ return } this.timer && this.timer.stop() + MKEmitter.removeListener('initFinish', this.initFinish) MKEmitter.removeListener('reloadData', this.reloadData) MKEmitter.removeListener('resetSelectLine', this.resetParentParam) + } + + initFinish = (MenuID) => { + const { config } = this.props + + if (config.MenuID !== MenuID) return + + if (config.setting.onload === 'false') { + setTimeout(() => { + this.loadData() + }, config.setting.delay) + } } resetParentParam = (MenuID, id) => { @@ -111,6 +128,10 @@ MKEmitter.emit('mkPublicData', config.uuid, _data) MKEmitter.emit('resetSelectLine', config.uuid, _data.$$uuid, _data) + + if (config.setting.loadlevel === 'init') { + MKEmitter.emit('interFinish', config.MenuID, config.uuid) + } } else { this.loading = false this.timer && this.timer.stop() @@ -126,6 +147,10 @@ duration: 10 }) } + + if (config.setting.loadlevel === 'init') { + MKEmitter.emit('interFinish', config.MenuID, config.uuid) + } } } diff --git a/src/tabviews/custom/components/share/normalTable/index.jsx b/src/tabviews/custom/components/share/normalTable/index.jsx index 07adac0..993c4db 100644 --- a/src/tabviews/custom/components/share/normalTable/index.jsx +++ b/src/tabviews/custom/components/share/normalTable/index.jsx @@ -504,6 +504,8 @@ width: item.Width || 120 }) }) + + orderfields = null } if (rowspans.length === 0) { @@ -816,7 +818,9 @@ pickup: false }) - sorter.field = orderfields[sorter.field] || '' + if (orderfields) { + sorter.field = orderfields[sorter.field] || '' + } this.props.refreshdata(pagination, filters, sorter) } diff --git a/src/tabviews/custom/index.jsx b/src/tabviews/custom/index.jsx index 81aec40..ff11815 100644 --- a/src/tabviews/custom/index.jsx +++ b/src/tabviews/custom/index.jsx @@ -70,8 +70,11 @@ data: null, // 鍒楄〃鏁版嵁闆� loading: false, // 鍒楄〃鏁版嵁鍔犺浇涓� visible: false, // 鏍囩椤垫帶鍒� - shortcuts: null // 蹇嵎閿� + shortcuts: null, // 蹇嵎閿� + loadinginter: false } + + stepInter = null /** * @description 鑾峰彇椤甸潰閰嶇疆淇℃伅 @@ -93,6 +96,7 @@ config = window.decodeURIComponent(window.atob(result.LongParam)) config = config.replace(/@mywebsite@\//ig, window.GLOB.baseurl) config = JSON.parse(config) + config.MenuID = MenuID } catch (e) { console.warn('Parse Failure') config = '' @@ -200,7 +204,9 @@ config.$cache = config.cacheLocal === 'true' - config.interfaces = this.formatInterSetting(config.interfaces, regs) + let initInters = [] + + config.interfaces = this.formatInterSetting(config.interfaces, regs, MenuID, initInters) config.components = this.filterComponent(config.components, roleId, window.GLOB.mkActions, balMap, skip, param, MenuID, config.interfaces, popview, config.$cache) // 鑾峰彇涓绘悳绱㈡潯浠� @@ -236,8 +242,17 @@ config.components = this.filterBalcony(config.components, balMap) } + if (initInters.length > 0) { + this.stepInter = { + MenuID: MenuID, + inters: initInters, + params: params + } + } + this.setState({ BID: BID, + loadinginter: this.stepInter !== null, shortcuts: shortcuts.length > 0 ? shortcuts : null, config, mainSearch @@ -251,7 +266,10 @@ ele.innerHTML = config.normalcss document.getElementsByTagName('head')[0].appendChild(ele) } - if (params.length === 0) { + + if (this.stepInter) { + + } else if (params.length === 0) { setTimeout(() => { // 寤舵椂鍔犺浇鐘舵�� this.setState({ loadingview: false @@ -943,13 +961,24 @@ } // 鏍煎紡鍖栭粯璁よ缃� - formatInterSetting = (inters, regs) => { + formatInterSetting = (inters, regs, MenuID, initInters) => { if (!inters) return [] - let interfaces = inters.filter(m => m.status === 'true') + let initlimit = false + let interfaces = inters.filter(m => { + if (m.status !== 'true') return false + + if (m.setting.loadlevel === 'init') { + initlimit = true + initInters.push(m.uuid) + } + + return true + }) let delay = 15 return interfaces.map(inter => { + inter.MenuID = MenuID inter.setting.delay = delay delay += 15 @@ -960,6 +989,10 @@ } else { inter.setting.supModule = '' } + } + + if (initlimit && inter.setting.loadlevel !== 'init') { + inter.setting.onload = 'false' } if (inter.setting.interType !== 'system') return inter @@ -1076,6 +1109,7 @@ } componentDidMount () { + MKEmitter.addListener('interFinish', this.interFinish) MKEmitter.addListener('debugChange', this.debugChange) MKEmitter.addListener('reloadMenuView', this.reloadMenuView) MKEmitter.addListener('resetActiveMenu', this.resetActiveMenu) @@ -1088,6 +1122,7 @@ this.setState = () => { return } + MKEmitter.removeListener('interFinish', this.interFinish) MKEmitter.removeListener('debugChange', this.debugChange) MKEmitter.removeListener('reloadMenuView', this.reloadMenuView) MKEmitter.removeListener('resetActiveMenu', this.resetActiveMenu) @@ -1098,6 +1133,30 @@ this.state.config.interfaces.forEach(m => { window.GLOB.CacheData.delete(m.uuid) }) + } + } + + interFinish = (MenuID, interId) => { + if (!this.stepInter || this.stepInter.MenuID !== MenuID) return + + this.stepInter.inters = this.stepInter.inters.filter(item => item !== interId) + + if (this.stepInter.inters.length === 0) { + this.setState({loadinginter: false}) + + if (this.stepInter.params.length === 0) { + setTimeout(() => { // 寤舵椂鍔犺浇鐘舵�� + this.setState({ + loadingview: false + }) + }, 1000) + } else { + this.loadmaindata(this.stepInter.params) + } + + MKEmitter.emit('initFinish', this.stepInter.MenuID) + + this.stepInter = null } } @@ -1129,6 +1188,8 @@ }) } + this.stepInter = null + this.setState({ BID: '', // 椤甸潰璺宠浆鏃舵惡甯D loadingview: true, // 椤甸潰鍔犺浇涓� @@ -1149,9 +1210,9 @@ } getComponents = () => { - const { config, BID, data, mainSearch } = this.state + const { config, BID, data, mainSearch, loadinginter } = this.state - if (!config || !config.components) return + if (!config || !config.components || loadinginter) return return config.components.map(item => { let style = null diff --git a/src/templates/zshare/formconfig.jsx b/src/templates/zshare/formconfig.jsx index c79c9f0..60ea825 100644 --- a/src/templates/zshare/formconfig.jsx +++ b/src/templates/zshare/formconfig.jsx @@ -3935,6 +3935,18 @@ // }, { type: 'radio', + key: 'pickerMode', + label: '寮圭獥鏍峰紡', + initVal: card.pickerMode || 'default', + required: false, + options: [ + {value: 'default', text: '榛樿'}, + {value: 'board', text: '闈㈡澘'}, + ], + forbid: appType !== 'mob' + }, + { + type: 'radio', key: 'empty', label: '绌哄�奸殣钘�', initVal: card.empty || 'show', diff --git a/src/templates/zshare/modalform/index.jsx b/src/templates/zshare/modalform/index.jsx index 9e82b99..043f984 100644 --- a/src/templates/zshare/modalform/index.jsx +++ b/src/templates/zshare/modalform/index.jsx @@ -21,12 +21,12 @@ const modalTypeOptions = { text: ['initval', 'readonly', 'required', 'hidden', 'readin', 'fieldlength', 'regular', 'interception', 'span', 'labelwidth', 'encryption', 'tooltip', 'extra', 'enter', 'cursor', 'scan', 'splitline', 'placeholder', 'place', 'marginTop', 'marginBottom', 'lenControl', 'inputType'], number: ['initval', 'readonly', 'hidden', 'decimal', 'min', 'max', 'readin', 'span', 'labelwidth', 'tooltip', 'extra', 'enter', 'cursor', 'splitline', 'place', 'marginTop', 'marginBottom'], - select: ['initval', 'readonly', 'required', 'hidden', 'readin', 'resourceType', 'declare', 'setAll', 'linkSubField', 'span', 'labelwidth', 'tooltip', 'extra', 'place', 'emptyText', 'enter', 'splitline', 'dropdown', 'marginTop', 'marginBottom'], + select: ['initval', 'readonly', 'required', 'hidden', 'readin', 'resourceType', 'declare', 'setAll', 'linkSubField', 'span', 'labelwidth', 'tooltip', 'extra', 'place', 'emptyText', 'enter', 'splitline', 'dropdown', 'marginTop', 'marginBottom', 'pickerMode'], checkbox: ['initval', 'readonly', 'required', 'hidden', 'readin', 'resourceType', 'fieldlength', 'span', 'labelwidth', 'tooltip', 'extra', 'place', 'splitline', 'arrange', 'marginTop', 'marginBottom'], radio: ['initval', 'readonly', 'required', 'hidden', 'readin', 'resourceType', 'declare', 'linkSubField', 'span', 'labelwidth', 'tooltip', 'extra', 'place', 'setAll', 'emptyText', 'splitline', 'arrange', 'marginTop', 'marginBottom'], checkcard: ['initval', 'readonly', 'required', 'hidden', 'readin', 'resourceType', 'span', 'labelwidth', 'display', 'tooltip', 'extra', 'place', 'width', 'multiple', 'splitline', 'marginTop', 'marginBottom'], multiselect: ['initval', 'readonly', 'required', 'hidden', 'readin', 'resourceType', 'fieldlength', 'span', 'labelwidth', 'tooltip', 'extra', 'marginTop', 'marginBottom', 'dropdown'], - link: ['initval', 'readonly', 'required', 'hidden', 'readin', 'resourceType', 'declare', 'setAll', 'linkField', 'linkSubField', 'span', 'place', 'labelwidth', 'tooltip', 'extra', 'emptyText', 'enter', 'splitline', 'dropdown', 'marginTop', 'marginBottom'], + link: ['initval', 'readonly', 'required', 'hidden', 'readin', 'resourceType', 'declare', 'setAll', 'linkField', 'linkSubField', 'span', 'place', 'labelwidth', 'tooltip', 'extra', 'emptyText', 'enter', 'splitline', 'dropdown', 'marginTop', 'marginBottom', 'pickerMode'], fileupload: ['readonly', 'required', 'readin', 'fieldlength', 'maxfile', 'fileType', 'span', 'labelwidth', 'tooltip', 'extra', 'compress', 'miniSet', 'splitline', 'marginTop', 'marginBottom', 'maxSize'], switch: ['initval', 'openVal', 'closeVal', 'openText', 'closeText', 'readonly', 'hidden', 'readin', 'span', 'labelwidth', 'tooltip', 'extra', 'splitline', 'marginTop', 'marginBottom'], date: ['initval', 'readonly', 'required', 'hidden', 'readin', 'span', 'labelwidth', 'tooltip', 'extra', 'declareType', 'mode', 'splitline', 'place', 'marginTop', 'marginBottom', 'minDate', 'maxDate', 'precision'], diff --git a/src/views/design/header/editfirstmenu/index.jsx b/src/views/design/header/editfirstmenu/index.jsx index 58bee24..45a5b8d 100644 --- a/src/views/design/header/editfirstmenu/index.jsx +++ b/src/views/design/header/editfirstmenu/index.jsx @@ -141,6 +141,7 @@ onOk() { return Api.getSystemConfig(param).then(res => { if (res.status) { + that.setState({ change: false }) that.props.reload() } else { notification.warning({ diff --git a/src/views/design/sidemenu/editsecmenu/index.jsx b/src/views/design/sidemenu/editsecmenu/index.jsx index ad44fad..57e0cff 100644 --- a/src/views/design/sidemenu/editsecmenu/index.jsx +++ b/src/views/design/sidemenu/editsecmenu/index.jsx @@ -126,6 +126,7 @@ onOk() { return Api.getSystemConfig(param).then(res => { if (res.status) { + that.setState({ change: false }) MKEmitter.emit('mkUpdateMenuList') } else { notification.warning({ diff --git a/src/views/design/sidemenu/editthdmenu/index.jsx b/src/views/design/sidemenu/editthdmenu/index.jsx index 4da6159..7b575a2 100644 --- a/src/views/design/sidemenu/editthdmenu/index.jsx +++ b/src/views/design/sidemenu/editthdmenu/index.jsx @@ -157,6 +157,7 @@ onOk() { return Api.getSystemConfig(param).then(res => { if (res.status) { + that.setState({ change: false }) MKEmitter.emit('mkUpdateMenuList') } else { notification.warning({ -- Gitblit v1.8.0