| | |
| | | systemType -- 系统类型,正式系统是填production,开发系统为空,开发系统会有一部分的数据模糊化 |
| | | externalDatabase -- 外联库,不使用时默认为false |
| | | lineColor -- 登录页分割线颜色 |
| | | filter -- 页面滤镜,值为'true'时,页面显示为黑白色;当设置为日期时(YYYY-MM-DD),截止到当前日期,页面显示为黑白色 |
| | | filter -- 页面滤镜,值为"true"时,页面显示为黑白色;当设置为日期时(YYYY-MM-DD),截止到当前日期,页面显示为黑白色 |
| | | defaultApp -- 默认应用,系统默认打开某个子应用时需填写应用编码 |
| | | defaultLang -- 打开的子应用语言类型,默认为zh-CN |
| | | WXAppID -- 使用公众号时,绑定的公众号ID |
| | | debugger -- 值为true时开启调试模式,开启后移动端子应用中会有控制台 |
| | | licenseKey -- 许可密钥,在内部网络中使用系统时,会跳过epc验证 |
| | | probation -- 试用期(YYYY-MM-DD),在正式系统中,试用期内调用系统接口的脚本会记录下来 |
| | | probation -- 试用期(YYYY-MM-DD),在正式系统中,试用期内调用系统接口的脚本会记录下来 |
| | | keepPassword -- 记住密码,默认开启,当值为"false"时禁用 |
| | |
| | | { |
| | | "appId": "202108312122504607B107A83F55B40C98CCF", |
| | | "appkey": "20210831212235413F287EC3BF489424496C8", |
| | | "appId": "201912040924165801464FF1788654BC5AC73", |
| | | "appkey": "20191106103859640976D6E924E464D029CF0", |
| | | "mainSystemApi": "http://sso.mk9h.cn/cloud/webapi/dostars", |
| | | "systemType": "", |
| | | "externalDatabase": "false", |
| | | "lineColor": "", |
| | | "filter": "false", |
| | | "defaultApp": "mkindustry", |
| | | "defaultApp": "mk", |
| | | "defaultLang": "zh-CN", |
| | | "WXAppID": "", |
| | | "debugger": false, |
| | | "licenseKey": "7EFE13KIKLILIJB64C12", |
| | | "probation": "2021-12-31", |
| | | "host": "http://demo.mk9h.cn", |
| | | "service": "erp_new/" |
| | | "licenseKey": "", |
| | | "probation": "", |
| | | "keepPassword": "true", |
| | | "host": "http://qingqiumarket.cn", |
| | | "service": "MKWMS/" |
| | | } |
| | |
| | | ] |
| | | })(<Input.Password onPressEnter={(e) => {this.handleSubmit(e, 'username')}} placeholder={this.state.dict['login.password']} prefix={<LockOutlined style={{ color: 'rgba(0,0,0,.25)' }} />} />)} |
| | | </Form.Item> |
| | | <Form.Item style={{marginBottom: '10px'}}> |
| | | {window.GLOB.keepKey ? <Form.Item style={{marginBottom: '10px'}}> |
| | | {getFieldDecorator('remember', { |
| | | valuePropName: 'checked', |
| | | initialValue: remember, |
| | | })( |
| | | <Checkbox onChange={this.rememberChange}>记住密码</Checkbox>)} |
| | | </Form.Item> |
| | | </Form.Item> : <div style={{height: '20px'}}></div>} |
| | | </Form> |
| | | ) |
| | | } |
| | |
| | | GLOB.licenseKey = config.licenseKey || '' |
| | | GLOB.probation = false |
| | | GLOB.watermark = config.watermark !== false |
| | | GLOB.keepKey = config.keepPassword !== 'false' |
| | | |
| | | if (config.externalDatabase !== false && config.externalDatabase !== 'false' && config.externalDatabase !== undefined) { |
| | | GLOB.externalDatabase = config.externalDatabase ? `[${config.externalDatabase}]..` : '' |
| | |
| | | /** |
| | | * @description 单个卡片信息更新 |
| | | */ |
| | | deleteCard = (cell) => { |
| | | deleteCard = (cell, type) => { |
| | | let card = fromJS(this.state.card).toJS() |
| | | let _this = this |
| | | |
| | | confirm({ |
| | | content: '确定删除卡片吗?', |
| | | onOk() { |
| | | card.subMenus = card.subMenus.filter(item => item.uuid !== cell.uuid) |
| | | |
| | | _this.setState({card}) |
| | | _this.props.updateConfig(card) |
| | | }, |
| | | onCancel() {} |
| | | }) |
| | | if (type !== 'direct') { |
| | | confirm({ |
| | | content: '确定删除卡片吗?', |
| | | onOk() { |
| | | card.subMenus = card.subMenus.filter(item => item.uuid !== cell.uuid) |
| | | |
| | | _this.setState({card}) |
| | | _this.props.updateConfig(card) |
| | | }, |
| | | onCancel() {} |
| | | }) |
| | | } else { |
| | | card.subMenus = card.subMenus.filter(item => item.uuid !== cell.uuid) |
| | | |
| | | this.setState({card}) |
| | | this.props.updateConfig(card) |
| | | } |
| | | } |
| | | |
| | | changeStyle = () => { |
| | |
| | | |
| | | let newcard = { |
| | | uuid: Utils.getuuid(), |
| | | setting: { type: 'menu', width: 6, sign: 'icon', icon: 'user', name: '客户', url: '', color: '#ffffff', iconFont: 20, padding: 12, background: '#1890ff', imgWidth: '' }, |
| | | setting: { type: 'menu', width: 6, sign: 'icon', icon: '', name: '', url: '', color: '#ffffff', iconFont: 20, padding: 12, background: '#1890ff', imgWidth: '' }, |
| | | style: { |
| | | paddingTop: '15px', paddingBottom: '15px' |
| | | } |
| | |
| | | if (card.subMenus.length > 0) { |
| | | newcard = fromJS(card.subMenus.slice(-1)[0]).toJS() |
| | | newcard.uuid = Utils.getuuid() |
| | | |
| | | newcard.setting.clearMenu = 'true' |
| | | newcard.setting.icon = '' |
| | | newcard.setting.name = '' |
| | | newcard.setting.MenuNo = '' |
| | | newcard.setting.type = 'menu' |
| | | newcard.setting.copyMenuId = '' |
| | | newcard.setting.linkMenuId = '' |
| | | newcard.setting.linkurl = '' |
| | | newcard.setting.tip = '' |
| | | newcard.setting.url = '' |
| | | } |
| | | |
| | | card.subMenus.push(newcard) |
| | | |
| | | this.setState({card}) |
| | | this.props.updateConfig(card) |
| | | |
| | | setTimeout(() => { |
| | | let node = document.getElementById(newcard.uuid) |
| | | node && node.click() |
| | | }, 200) |
| | | } |
| | | |
| | | move = (item, direction) => { |
| | |
| | | padding: card.setting.padding, |
| | | background: card.setting.background, |
| | | color: card.setting.color, |
| | | borderRadius: card.setting.borderRadius || '15%' |
| | | }} type={card.setting.icon}/> |
| | | borderRadius: card.setting.borderRadius || '15%', |
| | | opacity: !card.setting.icon ? 0 : 1 |
| | | }} type={card.setting.icon || 'cloud'}/> |
| | | {card.setting.tip ? <sup className="am-badge-text"></sup> : null} |
| | | </div> : <div className="menu-sign"> |
| | | <img style={{width: card.setting.imgWidth, height: card.setting.imgWidth, borderRadius: card.setting.borderRadius || '15%'}} src={card.setting.url} alt=""/> |
| | | {card.setting.tip ? <sup className="am-badge-text"></sup> : null} |
| | | </div>} |
| | | <div className="menu-name">{card.setting.name}</div> |
| | | <div className="menu-name" style={{opacity: !card.setting.name ? 0 : 1}}>{card.setting.name || '明科'}</div> |
| | | <RightOutlined className="menu-right" /> |
| | | {!card.setting.name ? <NormalForm title="菜单编辑" width={900} update={this.updateSetting} cancel={() => this.props.deleteElement(card, 'direct')} getForms={this.getSettingForms}> |
| | | <span id={card.uuid}></span> |
| | | </NormalForm> : null} |
| | | </div> |
| | | </Popover> |
| | | </Col> |
| | |
| | | let typeOptions = [] |
| | | |
| | | if (appType === 'mob') { |
| | | // let adapters = sessionStorage.getItem('adapter') |
| | | // if (adapters) { |
| | | // adapters = adapters.split(',') |
| | | // } else { |
| | | // adapters = [] |
| | | // } |
| | | // (adapters.includes('wxmini') ? '(小程序暂不支持)' : '') |
| | | |
| | | typeOptions = [{ |
| | | value: 'range', |
| | | text: '数值(区间)' |
| | |
| | | // value: 'daterange', |
| | | // text: Formdict['model.form.daterange'] |
| | | }] |
| | | |
| | | } else { |
| | | typeOptions = [{ |
| | | value: 'text', |
| | |
| | | <Col span={12}> |
| | | <div className="app-item"> |
| | | <div className="label">网站头像:</div> |
| | | <div className="content">{item.favicon ? <img style={{width: '18px', height: '18px'}} src={item.favicon} alt="" /> : '无'}</div> |
| | | <div className="content">{item.favicon ? <img style={{width: '18px', height: '18px', borderRadius: '4px'}} src={item.favicon} alt="" /> : '无'}</div> |
| | | </div> |
| | | </Col> |
| | | </Row> |
| | |
| | | if (localStorage.getItem(_url + 'remember') === 'false') { |
| | | remember = false |
| | | } |
| | | if (!window.GLOB.keepKey) { |
| | | remember = false |
| | | } |
| | | |
| | | let smsId = '' |
| | | let hasScan = false |
| | |
| | | ] |
| | | })(<Input.Password placeholder={this.props.dict['login.password']} prefix={<LockOutlined style={{ color: 'rgba(0,0,0,.25)' }} />} />)} |
| | | </Form.Item> |
| | | <Form.Item className="minline"> |
| | | {window.GLOB.keepKey ? <Form.Item className="minline"> |
| | | {getFieldDecorator('remember', { |
| | | valuePropName: 'checked', |
| | | initialValue: remember, |
| | | })(<Checkbox onChange={this.rememberChange}>{this.props.dict['login.remember']}</Checkbox>)} |
| | | </Form.Item> |
| | | </Form.Item> : <div style={{height: '30px', float: 'left'}}></div>} |
| | | {this.props.langList && this.props.langList.length > 0 ? <Form.Item className="minline right"> |
| | | {getFieldDecorator('lang', { |
| | | initialValue: this.props.lang, |