From 8d66ff34fae5b048a6b7923cc75d34f13a08be9d Mon Sep 17 00:00:00 2001 From: king <18310653075@163.com> Date: 星期二, 02 八月 2022 11:42:43 +0800 Subject: [PATCH] Merge branch 'develop' --- src/views/mobdesign/index.jsx | 107 +++++++++++++++++++++++++---------------------------- 1 files changed, 51 insertions(+), 56 deletions(-) diff --git a/src/views/mobdesign/index.jsx b/src/views/mobdesign/index.jsx index f2fdb32..f22b547 100644 --- a/src/views/mobdesign/index.jsx +++ b/src/views/mobdesign/index.jsx @@ -1,5 +1,4 @@ import React, { Component } from 'react' -import { connect } from 'react-redux' import { DndProvider } from 'react-dnd' import { withRouter } from 'react-router' import { is, fromJS } from 'immutable' @@ -56,6 +55,8 @@ window.GLOB.urlFields = [] // url鍙橀噺 window.GLOB.customMenu = null // 淇濆瓨鑿滃崟淇℃伅 +const memberLevel = Utils.getMemberLevel() + class MobDesign extends Component { state = { localedict: sessionStorage.getItem('lang') !== 'en-US' ? antdZhCN : antdEnUS, @@ -75,11 +76,12 @@ comloading: false, adapters: [], viewType: 'menu', - eyeopen: false + eyeopen: false, + modalStatus: false // 寮圭獥鏄惁寮�鍚紝鍒ゆ柇ctrl+s鏄惁鍙敤 } UNSAFE_componentWillMount() { - if (this.props.memberLevel < 30) return + if (memberLevel < 30) return try { let param = JSON.parse(window.decodeURIComponent(window.atob(this.props.match.params.param))) @@ -149,12 +151,13 @@ } componentDidMount () { - if (this.props.memberLevel < 30) { + if (memberLevel < 30) { document.getElementById('mk-mob-design-view').innerHTML = '<div style="text-align: center; font-size: 30px; margin-top: 40vh; height: 100vh; background: #fff;">鏈簲鐢ㄦ病鏈塒C绔〉闈㈢殑缂栬緫鏉冮檺锛岃鑱旂郴绠$悊鍛橈紒</div>' return } - MKEmitter.addListener('changeEditMenu', this.changeEditMenu) + MKEmitter.addListener('modalStatus', this.modalStatus) MKEmitter.addListener('triggerMenuSave', this.submitConfig) + MKEmitter.addListener('changeEditMenu', this.changeEditMenu) MKEmitter.addListener('submitComponentStyle', this.updateComponentStyle) MKEmitter.addListener('updateCustomComponent', this.updateCustomComponent) setTimeout(() => { @@ -183,6 +186,15 @@ let _shortcut = `${preKey}+${keyCode}` if (_shortcut === 'ctrl+83') { + if (this.state.modalStatus) { + notification.warning({ + top: 92, + message: '璇蜂繚瀛�' + this.state.modalStatus, + duration: 5 + }) + return false + } + let node = document.getElementById('save-modal-config') if (!node) { node = document.getElementById('save-config') @@ -203,10 +215,15 @@ this.setState = () => { return } - MKEmitter.removeListener('changeEditMenu', this.changeEditMenu) + MKEmitter.removeListener('modalStatus', this.modalStatus) MKEmitter.removeListener('triggerMenuSave', this.submitConfig) + MKEmitter.removeListener('changeEditMenu', this.changeEditMenu) MKEmitter.removeListener('submitComponentStyle', this.updateComponentStyle) MKEmitter.removeListener('updateCustomComponent', this.updateCustomComponent) + } + + modalStatus = (val) => { + this.setState({modalStatus: val}) } getSmStemp = () => { @@ -994,12 +1011,14 @@ } }) } else if (item.type === 'form') { - m.children = item.subcards.map(m => { - return { - key: m.uuid, - title: m.setting.title - } - }) + if (item.subtype !== 'simpleform') { + m.children = item.subcards.map(m => { + return { + key: m.uuid, + title: m.setting.title + } + }) + } } else if (item.type === 'table' && item.subtype === 'normaltable') { item.action && item.action.forEach(btn => { if (btn.hidden === 'true') return @@ -1326,6 +1345,19 @@ if (adapters.includes('wxmini')) { config = this.getMiniStyle(config) + + if (config.statusBarbgColor && !config.statusBarHexColor && /^rgba/ig.test(config.statusBarbgColor)) { + let hexify = (color) => { + let values = color.replace(/rgba?\(/, '').replace(/\)/, '').replace(/[\s+]/g, '').split(',') + let a = parseFloat(values[3] || 1) + let r = Math.floor(a * parseInt(values[0]) + (1 - a) * 255) + let g = Math.floor(a * parseInt(values[1]) + (1 - a) * 255) + let b = Math.floor(a * parseInt(values[2]) + (1 - a) * 255) + + return '#' + ('0' + r.toString(16)).slice(-2) + ('0' + g.toString(16)).slice(-2) + ('0' + b.toString(16)).slice(-2) + } + config.statusBarHexColor = hexify(config.statusBarbgColor) + } } let subMenus = this.getSubMenus() @@ -1540,7 +1572,7 @@ } MKEmitter.emit('completeSave') }) - }, 300) + }, 300 + (+sessionStorage.getItem('mkDelay'))) } getRoleFields = () => { @@ -1615,42 +1647,15 @@ if (!item.wrap.field) { error = `鎼滅储鏉′欢銆�${item.name}銆嬫湭璁剧疆鎼滅储瀛楁锛乣 } - } else if (item.subtype === 'propcard' && item.subcards.length === 0) { - error = `缁勪欢銆�${item.name}銆嬩腑鍗$墖涓嶅彲涓虹┖锛乣 - return - } else if (item.type === 'login' && !item.wrap.linkmenu && item.wrap.link !== 'menu') { - error = '鐧诲綍缁勪欢鏈缃叧鑱旇彍鍗曪紒' - return } - if (item.wrap && item.wrap.pagestyle === 'slide') { + if (item.wrap && item.wrap.pagestyle === 'slide' && item.pageable && item.setting.laypage !== 'false') { swipes.push(item.name) } - if (['voucher'].includes(item.subtype)) return - if (['propcard', 'brafteditor', 'sandbox', 'tabbar', 'stepform', 'tabform'].includes(item.subtype) && item.wrap.datatype === 'static') return - if (['balcony'].includes(item.type) && item.wrap.datatype === 'static') return - if (['menubar'].includes(item.type) && item.wrap.datatype !== 'dynamic') return - - if (item.setting) { - if (item.setting.interType === 'system' && item.setting.execute !== 'false' && !item.setting.dataresource) { - error = `缁勪欢銆�${item.name}銆嬫湭璁剧疆鏁版嵁婧愶紒` - } else if (item.setting.interType === 'system' && item.setting.execute === 'false' && item.scripts.length === 0) { - error = `缁勪欢銆�${item.name}銆嬫湭璁剧疆鏁版嵁婧愶紒` - } else if (!item.setting.primaryKey) { - error = `缁勪欢銆�${item.name}銆嬫湭璁剧疆涓婚敭锛乣 - } else if (!item.setting.supModule && !['navbar', 'balcony', 'menubar'].includes(item.type)) { - error = `缁勪欢銆�${item.name}銆嬫湭璁剧疆涓婄骇缁勪欢锛乣 - } - } - if (item.type === 'bar' || item.type === 'line' || item.type === 'pie') { - if (!item.plot.Xaxis) { - error = `缁勪欢銆�${item.name}銆嬪浘琛ㄥ瓧娈靛皻鏈缃紒` - } - } else if (item.type === 'dashboard' && !item.plot.valueField) { - error = `缁勪欢銆�${item.name}銆嬫樉绀哄�煎皻鏈缃紒` - } else if (item.type === 'scatter' && (!item.plot.Xaxis || !item.plot.Yaxis || !item.plot.gender)) { - error = `缁勪欢銆�${item.name}銆嬪潗鏍囪酱灏氭湭璁剧疆锛乣 - } + item.errors && item.errors.forEach(err => { + if (err.level !== 0 || error) return + error = `缁勪欢銆�${item.name}銆�${err.detail}` + }) }) } @@ -1985,14 +1990,4 @@ } } -const mapStateToProps = (state) => { - return { - memberLevel: state.memberLevel - } -} - -const mapDispatchToProps = () => { - return {} -} - -export default withRouter(connect(mapStateToProps, mapDispatchToProps)(MobDesign)) \ No newline at end of file +export default withRouter(MobDesign) \ No newline at end of file -- Gitblit v1.8.0