| | |
| | | res.ErrCode = '-2' |
| | | MKEmitter.emit('reloadTabs') |
| | | } else if (res.message === 'permission deny') { |
| | | res.message = window.GLOB.dict['permission_deny'] || '无当前菜单或按钮的访问权限,请联系管理员!' |
| | | res.ErrMesg = window.GLOB.dict['permission_deny'] || '无当前菜单或按钮的访问权限,请联系管理员!' |
| | | let isBtn = url.indexOf('s_TableData_InUpDe') > -1 |
| | | res.message = window.GLOB.dict['permission_deny'] || `无当前${isBtn ? '按钮' : '菜单'}的访问权限,请联系管理员!` |
| | | res.ErrMesg = res.message |
| | | } |
| | | } |
| | | resolve(res) |
| | |
| | | overflow: hidden; |
| | | } |
| | | .mk-image-preview-img { |
| | | max-width: 100%; |
| | | max-height: 100%; |
| | | max-width: 95%; |
| | | max-height: 95%; |
| | | vertical-align: middle; |
| | | -webkit-transform: scale3d(1, 1, 1); |
| | | transform: scale3d(1, 1, 1); |
| | |
| | | <CopyComponent type="propcard" card={card}/> |
| | | <PasteComponent options={['cardcell']} updateConfig={this.pasteComponent} /> |
| | | <FontColorsOutlined className="style" title="调整样式" onClick={this.changeStyle}/> |
| | | {card.wrap.datatype === 'dynamic' ? <ClockComponent config={card} updateConfig={this.updateComponent}/> : <ClockCircleOutlined style={{color: '#eeeeee', cursor: 'not-allowed'}}/>} |
| | | {card.wrap.datatype !== 'public' ? <ClockComponent config={card} updateConfig={this.updateComponent}/> : <ClockCircleOutlined style={{color: '#eeeeee', cursor: 'not-allowed'}}/>} |
| | | <DeleteOutlined className="close" title="删除组件" onClick={() => this.props.deletecomponent(card.uuid)} /> |
| | | {card.wrap.datatype === 'dynamic' ? <SettingComponent config={card} updateConfig={this.updateComponent} /> : <SettingOutlined style={{color: '#eeeeee', cursor: 'not-allowed'}}/>} |
| | | </div> |
| | |
| | | sm: { span: 16 } |
| | | } |
| | | } |
| | | let hasUp = !['balcony', 'menubar', 'commonbar', 'tabbar', 'invTable'].includes(config.subtype) && (!config.wrap || config.wrap.supType !== 'multi') && MenuType !== 'billPrint' |
| | | |
| | | return ( |
| | | <div className="model-datasource-setting-form-box"> |
| | |
| | | </Radio.Group>)} |
| | | </Form.Item> |
| | | </Col> : null} |
| | | {!['balcony', 'menubar', 'commonbar', 'tabbar', 'invTable'].includes(config.subtype) && (!config.wrap || config.wrap.supType !== 'multi') && MenuType !== 'billPrint' ? <Col span={8}> |
| | | {hasUp ? <Col span={8}> |
| | | <Form.Item label={ |
| | | <Tooltip placement="topLeft" title={'该组件如果受其他组件控制,请选项相应的组件,没有时选“无”。'}> |
| | | <QuestionCircleOutlined className="mk-form-tip" /> |
| | |
| | | })(<InputNumber min={0} max={60000} precision={0} />)} |
| | | </Form.Item> |
| | | </Col> : null} |
| | | {hasUp && setting.supModule && setting.supModule[0] && setting.supModule[0] !== 'empty' ? <Col span={8}> |
| | | <Form.Item label={ |
| | | <Tooltip placement="topLeft" title="未获取到上级主键值的提示文本。"> |
| | | <QuestionCircleOutlined className="mk-form-tip" /> |
| | | 上级空值提示 |
| | | </Tooltip> |
| | | }> |
| | | {getFieldDecorator('supModTip', { |
| | | initialValue: setting.supModTip || '' |
| | | })( |
| | | <Input placeholder={''} autoComplete="off" /> |
| | | )} |
| | | </Form.Item> |
| | | </Col> : null} |
| | | </Row> |
| | | </Form> |
| | | <Modal |
| | |
| | | if (config.setting.supModule && !BID && config.wrap.supKey !== 'false') { |
| | | notification.warning({ |
| | | top: 92, |
| | | message: window.GLOB.dict['sup_key_req'] || '需要上级主键值!', |
| | | message: config.setting.supModTip || window.GLOB.dict['sup_key_req'] || '需要上级主键值!', |
| | | duration: 5 |
| | | }) |
| | | this.setState({ |
| | |
| | | if (config.setting.supModule && !BID && config.wrap.supKey !== 'false') { |
| | | notification.warning({ |
| | | top: 92, |
| | | message: window.GLOB.dict['sup_key_req'] || '需要上级主键值!', |
| | | message: config.setting.supModTip || window.GLOB.dict['sup_key_req'] || '需要上级主键值!', |
| | | duration: 5 |
| | | }) |
| | | this.setState({ |
| | |
| | | MKEmitter.addListener('searchRefresh', this.searchRefresh) |
| | | } |
| | | |
| | | if (config.timer && config.wrap.datatype === 'dynamic') { |
| | | if (config.timer && config.wrap.datatype !== 'public') { |
| | | this.timer = new TimerTask() |
| | | this.timer.init(config.uuid, config.timer, config.timerRepeats, () => {this.loadData('timer')}) |
| | | } |
| | |
| | | setback = () => { |
| | | if (this.mkGraph.canUndo()) { |
| | | this.mkGraph.undo() |
| | | } else { |
| | | message.warning('无可撤销记录!') |
| | | } |
| | | } |
| | | |
| | | setprev = () => { |
| | | if (this.mkGraph.canRedo()) { |
| | | this.mkGraph.redo() |
| | | } else { |
| | | message.warning('无可前进记录!') |
| | | } |
| | | } |
| | | |
| | |
| | | let cells = this.mkGraph.getCells() |
| | | const that = this |
| | | |
| | | if (cells.length === 0) return |
| | | if (cells.length === 0) { |
| | | message.warning('尚未添加元素!') |
| | | return |
| | | } |
| | | |
| | | confirm({ |
| | | title: '确定清空元素吗?', |
| | |
| | | border-right: 1px solid #dfe3e8; |
| | | transition: all 0.2s; |
| | | |
| | | .x6-port { |
| | | display: none; |
| | | } |
| | | .x6-widget-stencil-title { |
| | | display: none; |
| | | } |
| | |
| | | if (config.setting.supModule && !BID) { |
| | | notification.warning({ |
| | | top: 92, |
| | | message: window.GLOB.dict['sup_key_req'] || '需要上级主键值!', |
| | | message: config.setting.supModTip || window.GLOB.dict['sup_key_req'] || '需要上级主键值!', |
| | | duration: 5 |
| | | }) |
| | | this.setState({ |
| | |
| | | if (setting.supModule && !BID) { |
| | | notification.warning({ |
| | | top: 92, |
| | | message: window.GLOB.dict['sup_key_req'] || '需要上级主键值!', |
| | | message: setting.supModTip || window.GLOB.dict['sup_key_req'] || '需要上级主键值!', |
| | | duration: 5 |
| | | }) |
| | | this.setState({ |
| | |
| | | if (setting.supModule && !BID) { |
| | | notification.warning({ |
| | | top: 92, |
| | | message: dict['sup_key_req'] || '需要上级主键值!', |
| | | message: setting.supModTip || dict['sup_key_req'] || '需要上级主键值!', |
| | | duration: 5 |
| | | }) |
| | | |
| | |
| | | if (setting.supModule && !BID && setting.supKey !== 'false') { |
| | | notification.warning({ |
| | | top: 92, |
| | | message: window.GLOB.dict['sup_key_req'] || '需要上级主键值!', |
| | | message: setting.supModTip || window.GLOB.dict['sup_key_req'] || '需要上级主键值!', |
| | | duration: 5 |
| | | }) |
| | | this.setState({ |
| | |
| | | if (setting.supModule && !BID) { |
| | | notification.warning({ |
| | | top: 92, |
| | | message: dict['sup_key_req'] || '需要上级主键值!', |
| | | message: setting.supModTip || dict['sup_key_req'] || '需要上级主键值!', |
| | | duration: 5 |
| | | }) |
| | | } else if (btn.Ot === 'requiredSgl' && data.length !== 1) { |
| | |
| | | if (setting.supModule && !BID) { |
| | | notification.warning({ |
| | | top: 92, |
| | | message: dict['sup_key_req'] || '需要上级主键值!', |
| | | message: setting.supModTip || dict['sup_key_req'] || '需要上级主键值!', |
| | | duration: 5 |
| | | }) |
| | | } else { |
| | |
| | | if (setting.supModule && !BID) { |
| | | notification.warning({ |
| | | top: 92, |
| | | message: '需要上级主键值!', |
| | | message: setting.supModTip || '需要上级主键值!', |
| | | duration: 5 |
| | | }) |
| | | } else if (data.length === 0) { |
| | |
| | | if (setting.supModule && !BID) { |
| | | notification.warning({ |
| | | top: 92, |
| | | message: dict['sup_key_req'] || '需要上级主键值!', |
| | | message: setting.supModTip || dict['sup_key_req'] || '需要上级主键值!', |
| | | duration: 5 |
| | | }) |
| | | return |
| | |
| | | if (setting.supModule && !BID) { |
| | | notification.warning({ |
| | | top: 92, |
| | | message: dict['sup_key_req'] || '需要上级主键值!', |
| | | message: setting.supModTip || dict['sup_key_req'] || '需要上级主键值!', |
| | | duration: 5 |
| | | }) |
| | | return false |
| | |
| | | if (setting.supModule && !BID) { |
| | | notification.warning({ |
| | | top: 92, |
| | | message: window.GLOB.dict['sup_key_req'] || '需要上级主键值!', |
| | | message: setting.supModTip || window.GLOB.dict['sup_key_req'] || '需要上级主键值!', |
| | | duration: 5 |
| | | }) |
| | | _resolve() |
| | |
| | | if (setting.supModule && !BID) { |
| | | notification.warning({ |
| | | top: 92, |
| | | message: dict['sup_key_req'] || '需要上级主键值!', |
| | | message: setting.supModTip || dict['sup_key_req'] || '需要上级主键值!', |
| | | duration: 5 |
| | | }) |
| | | return |
| | |
| | | if (setting.supModule && !BID) { |
| | | notification.warning({ |
| | | top: 92, |
| | | message: dict['sup_key_req'] || '需要上级主键值!', |
| | | message: setting.supModTip || dict['sup_key_req'] || '需要上级主键值!', |
| | | duration: 5 |
| | | }) |
| | | return |
| | |
| | | if (!menu) { |
| | | notification.warning({ |
| | | top: 92, |
| | | message: dict['no_perm'] || '菜单已删除或没有访问权限!', |
| | | message: dict['no_perm'] || `没有${btn.MenuName ? `菜单《${btn.MenuName}》的` : '此菜单的'}访问权限!`, |
| | | duration: 5 |
| | | }) |
| | | return |
| | |
| | | if (!menu) { |
| | | notification.warning({ |
| | | top: 92, |
| | | message: dict['no_perm'] || '菜单已删除或没有访问权限!', |
| | | message: dict['no_perm'] || '没有此菜单的访问权限!', |
| | | duration: 5 |
| | | }) |
| | | return |
| | |
| | | filterSql(script.sql) |
| | | }) |
| | | } |
| | | if (item.setting.supModTip) { |
| | | sql.push(item.setting.supModTip) |
| | | } |
| | | } |
| | | |
| | | if (item.columns) { |
| | |
| | | filterSql(script.sql) |
| | | }) |
| | | } |
| | | if (item.setting.supModTip) { |
| | | sql.push(item.setting.supModTip) |
| | | } |
| | | }) |
| | | } |
| | | |
| | |
| | | ops = ops.map(n => n.replace(/^\s+|\s+$/g, '')) |
| | | menu = menu.map(n => n.replace(/^\s+|\s+$/g, '')) |
| | | |
| | | sql = sql.filter(Boolean) |
| | | sql = sql.filter((n) => { |
| | | if (!n) return false |
| | | if (/^[a-zA-Z_]+$/.test(n)) return false |
| | | |
| | | return true |
| | | }) |
| | | btn = btn.filter(Boolean) |
| | | ops = ops.filter(Boolean) |
| | | menu = menu.filter(Boolean) |
| | |
| | | script.sql = filterSql(script.sql) |
| | | }) |
| | | } |
| | | if (item.setting.supModTip) { |
| | | item.setting.supModTip = replaceTitle(item.setting.supModTip) |
| | | } |
| | | } |
| | | |
| | | if (item.columns) { |
| | |
| | | item.scripts && item.scripts.forEach(script => { |
| | | script.sql = filterSql(script.sql) |
| | | }) |
| | | } |
| | | if (item.setting.supModTip) { |
| | | item.setting.supModTip = replaceTitle(item.setting.supModTip) |
| | | } |
| | | }) |
| | | } |
| | |
| | | script.sql = filterSql(script.sql) |
| | | }) |
| | | } |
| | | if (item.setting.supModTip) { |
| | | item.setting.supModTip = replaceTitle(item.setting.supModTip) |
| | | } |
| | | } |
| | | |
| | | if (item.columns) { |
| | |
| | | script.sql = filterSql(script.sql) |
| | | }) |
| | | } |
| | | if (item.setting.supModTip) { |
| | | item.setting.supModTip = replaceTitle(item.setting.supModTip) |
| | | } |
| | | }) |
| | | } |
| | | |
| | |
| | | border-bottom: 2px solid var(--mk-sys-color); |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: right; |
| | | justify-content: flex-end; |
| | | padding-right: 20vw; |
| | | overflow: hidden; |
| | | |
| | |
| | | MenuID: '1577972969199lei1g0qkvlh4tkc908m', |
| | | MenuNo: 'sModularM', |
| | | MenuName: '系统模块', |
| | | }, { |
| | | src: '', |
| | | PageParam: {OpenType: 'newtab', Template: 'BaseTable'}, |
| | | type: 'BaseTable', |
| | | MenuID: '1578479100252lfbp29v1kafk4s4q4ig', |
| | | MenuNo: 'BDLanguagePacksM', |
| | | MenuName: '语言包', |
| | | // }, { |
| | | // src: '', |
| | | // PageParam: {OpenType: 'newtab', Template: 'BaseTable'}, |
| | | // type: 'BaseTable', |
| | | // MenuID: '1578479100252lfbp29v1kafk4s4q4ig', |
| | | // MenuNo: 'BDLanguagePacksM', |
| | | // MenuName: '语言包', |
| | | }, { |
| | | src: '', |
| | | systems: ['production', 'local', 'SSO', 'cloud'], |