| | |
| | | import zhCN from '@/locales/zh-CN/main.js' |
| | | import enUS from '@/locales/en-US/main.js' |
| | | import Utils from '@/utils/utils.js' |
| | | import asyncComponent from '@/utils/asyncLoadComponent' |
| | | import asyncComponent from '@/utils/asyncComponent' |
| | | import asyncLoadComponent from '@/utils/asyncLoadComponent' |
| | | import {refreshTabView, modifyTabview} from '@/store/action' |
| | | |
| | | import MainTable from './mainTable' |
| | | import VerifyCard from '@/tabviews/tableshare/verifycard' |
| | | import MainAction from '@/tabviews/tableshare/actionList' |
| | | import MainSearch from '@/tabviews/tableshare/topSearch' |
| | | import SubTable from '@/tabviews/subtable' |
| | | import NotFount from '@/components/404' |
| | | import './index.scss' |
| | | |
| | | const SubTabTable = asyncComponent(() => import('@/tabviews/subtabtable')) |
| | | const FormTab = asyncComponent(() => import('@/tabviews/formtab')) |
| | | const MainAction = asyncComponent(() => import('@/tabviews/tableshare/actionList')) |
| | | const SubTable = asyncLoadComponent(() => import('@/tabviews/subtable')) |
| | | const SubTabTable = asyncLoadComponent(() => import('@/tabviews/subtabtable')) |
| | | const FormTab = asyncLoadComponent(() => import('@/tabviews/formtab')) |
| | | |
| | | const { TabPane } = Tabs |
| | | const { TreeNode } = Tree |
| | | const { Paragraph } = Typography |
| | |
| | | /> : null |
| | | } |
| | | {actions && setting.onload !== 'false' ? |
| | | <MainAction |
| | | ref="mainButton" |
| | | BID="" |
| | | type="main" |
| | | menuType="main" |
| | | setting={setting} |
| | | actions={actions} |
| | | dict={this.state.dict} |
| | | MenuID={this.props.MenuID} |
| | | logcolumns={this.state.logcolumns} |
| | | ContainerId={this.state.ContainerId} |
| | | refreshdata={this.refreshbyaction} |
| | | triggerPopview={this.triggerPopview} |
| | | getexceloutparam={this.getexceloutparam} |
| | | gettableselected={this.gettableselected} |
| | | /> : null |
| | | <div style={{minHeight: '45px'}}> |
| | | <MainAction |
| | | ref="mainButton" |
| | | BID="" |
| | | type="main" |
| | | menuType="main" |
| | | setting={setting} |
| | | actions={actions} |
| | | dict={this.state.dict} |
| | | MenuID={this.props.MenuID} |
| | | logcolumns={this.state.logcolumns} |
| | | ContainerId={this.state.ContainerId} |
| | | refreshdata={this.refreshbyaction} |
| | | triggerPopview={this.triggerPopview} |
| | | getexceloutparam={this.getexceloutparam} |
| | | gettableselected={this.gettableselected} |
| | | /> |
| | | </div> : null |
| | | } |
| | | {columns && setting.onload !== 'false' ? |
| | | <div className="main-table-box"> |
| | |
| | | .main-pickup { |
| | | position: absolute; |
| | | right: 20px; |
| | | top: -25px; |
| | | top: -22px; |
| | | z-index: 1; |
| | | } |
| | | .custom-control { |
| | | position: absolute; |
| | | z-index: 1; |
| | | right: 20px; |
| | | top: -55px; |
| | | top: -50px; |
| | | font-size: 16px; |
| | | padding: 3px; |
| | | cursor: pointer; |
| | |
| | | import enUS from '@/locales/en-US/main.js' |
| | | import Utils from '@/utils/utils.js' |
| | | import options from '@/store/options.js' |
| | | import asyncComponent from '@/utils/asyncLoadComponent' |
| | | |
| | | import FormGroup from './formgroup' |
| | | import FormAction from './actionList' |
| | | import SubTable from '@/tabviews/subtable' |
| | | import NotFount from '@/components/404' |
| | | import {refreshTabView, modifyTabview} from '@/store/action' |
| | | import './index.scss' |
| | | |
| | | const { TabPane } = Tabs |
| | | const SubTable = asyncComponent(() => import('@/tabviews/subtable')) |
| | | |
| | | class NormalTable extends Component { |
| | | static propTpyes = { |
| | | // MenuNo: PropTypes.string, // 菜单参数 |
| | | // MenuName: PropTypes.string, // 菜单参数 |
| | | MenuID: PropTypes.string, // 菜单Id |
| | | param: PropTypes.any, // 主表传递参数 |
| | | refresh: PropTypes.any // 刷新主表页面 |
| | |
| | | import enUS from '@/locales/en-US/main.js' |
| | | import Utils from '@/utils/utils.js' |
| | | import options from '@/store/options.js' |
| | | import asyncComponent from '@/utils/asyncLoadComponent' |
| | | import asyncComponent from '@/utils/asyncComponent' |
| | | import asyncLoadComponent from '@/utils/asyncLoadComponent' |
| | | import {refreshTabView, modifyTabview} from '@/store/action' |
| | | |
| | | import MainTable from '@/tabviews/commontable/mainTable' |
| | | import MainAction from '@/tabviews/tableshare/actionList' |
| | | import MainSearch from '@/tabviews/tableshare/topSearch' |
| | | import SubTable from '@/tabviews/subtable' |
| | | import NotFount from '@/components/404' |
| | | import './index.scss' |
| | | |
| | | const MainAction = asyncComponent(() => import('@/tabviews/tableshare/actionList')) |
| | | const SubTable = asyncLoadComponent(() => import('@/tabviews/subtable')) |
| | | const SubTabTable = asyncComponent(() => import('@/tabviews/subtabtable')) |
| | | const FormTab = asyncComponent(() => import('@/tabviews/formtab')) |
| | | |
| | | const { TabPane } = Tabs |
| | | const { TreeNode } = Tree |
| | | const { Paragraph } = Typography |
| | |
| | | import React, {Component} from 'react' |
| | | import PropTypes from 'prop-types' |
| | | import { is, fromJS } from 'immutable' |
| | | import { Card, Col, Row, Icon } from 'antd' |
| | | // import Api from '@/api' |
| | | import { Card, Col, Row, Icon, Menu, notification, Spin, Input } from 'antd' |
| | | |
| | | import Api from '@/api' |
| | | import zhCN from '@/locales/zh-CN/role.js' |
| | | import enUS from '@/locales/en-US/role.js' |
| | | import './index.scss' |
| | | |
| | | const { Search } = Input |
| | | |
| | | export default class RoleManage extends Component { |
| | | static propTpyes = { |
| | |
| | | } |
| | | |
| | | state = { |
| | | dict: sessionStorage.getItem('lang') !== 'en-US' ? zhCN : enUS |
| | | dict: sessionStorage.getItem('lang') !== 'en-US' ? zhCN : enUS, |
| | | loadingview: true, |
| | | roleList: null, |
| | | primarykey: '' |
| | | } |
| | | |
| | | getRoleList = async () => { |
| | | let param = { |
| | | func: 's_rolemenu_get_list' |
| | | } |
| | | let result = await Api.getSystemConfig(param) |
| | | |
| | | if (result.status) { |
| | | this.setState({ |
| | | roleList: result.data |
| | | }) |
| | | } else { |
| | | this.setState({ |
| | | loadingview: false |
| | | }) |
| | | notification.warning({ |
| | | top: 92, |
| | | message: result.message, |
| | | duration: 10 |
| | | }) |
| | | } |
| | | } |
| | | |
| | | getMenuList = async () => { |
| | | let param = { |
| | | func: 's_rolemenu_get_FstMenu' |
| | | } |
| | | let result = await Api.getSystemConfig(param) |
| | | |
| | | if (result.status) { |
| | | |
| | | } else { |
| | | this.setState({ |
| | | loadingview: false |
| | | }) |
| | | notification.warning({ |
| | | top: 92, |
| | | message: result.message, |
| | | duration: 10 |
| | | }) |
| | | } |
| | | } |
| | | |
| | | changeRole = () => { |
| | | |
| | | } |
| | | |
| | | UNSAFE_componentWillMount () { |
| | | |
| | | this.getRoleList() |
| | | this.getMenuList() |
| | | } |
| | | |
| | | shouldComponentUpdate (nextProps, nextState) { |
| | |
| | | } |
| | | |
| | | render() { |
| | | const { roleList, loadingview, primarykey } = this.state |
| | | |
| | | let _roleList = [] |
| | | |
| | | if (roleList && roleList.length > 0) { |
| | | _roleList = roleList.filter(role => role.RoleName.toLowerCase().indexOf(primarykey.toLowerCase()) >= 0) |
| | | } |
| | | |
| | | return ( |
| | | <div className="rolemanage"> |
| | | {loadingview && <Spin size="large" />} |
| | | <Row gutter={16}> |
| | | <Col span={6}> |
| | | <Card |
| | | title={<span className="role-title"><Icon type="bank" /> {this.state.dict['role.title']}</span>} |
| | | bordered={false}> |
| | | Card content |
| | | className="role-list" |
| | | title={ |
| | | <span className="role-title"> |
| | | <Icon type="bank" /> |
| | | <span className="title">{this.state.dict['role.title']}</span> |
| | | <Search placeholder="" onSearch={value => this.setState({primarykey: value})} /> |
| | | </span> |
| | | } |
| | | bordered={false} |
| | | > |
| | | <Menu |
| | | onClick={this.handleClick} |
| | | mode="inline" |
| | | > |
| | | {_roleList.map((role, index) => |
| | | <Menu.Item key={index} onClick={() => this.changeRole(role)}>{role.RoleName}</Menu.Item> |
| | | )} |
| | | </Menu> |
| | | </Card> |
| | | </Col> |
| | | <Col span={18}> |
| | |
| | | position: relative; |
| | | background: #fafafa; |
| | | padding: 15px; |
| | | .role-title { |
| | | color: #36c6d3; |
| | | |
| | | .role-list { |
| | | min-height: calc(100vh - 125px); |
| | | .ant-card-head { |
| | | padding: 0 10px; |
| | | .role-title { |
| | | display: inline-block; |
| | | width: 100%; |
| | | color: #36c6d3; |
| | | .anticon-bank { |
| | | margin-right: 5px; |
| | | } |
| | | .ant-input-affix-wrapper { |
| | | width: calc(100% - 140px); |
| | | max-width: 130px; |
| | | margin-top: -2px; |
| | | float: right; |
| | | input { |
| | | border-radius: 20px; |
| | | height: 30px; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | .ant-card-body { |
| | | padding: 0px; |
| | | .ant-menu-inline { |
| | | border-right: 0; |
| | | margin-top: 2px; |
| | | } |
| | | } |
| | | } |
| | | > .ant-spin { |
| | | position: fixed; |
| | | left: calc(50vw - 22px); |
| | | top: calc(50vh - 70px); |
| | | z-index: 1; |
| | | } |
| | | } |
| | |
| | | import moment from 'moment' |
| | | import Api from '@/api' |
| | | import SubTable from './subTable' |
| | | import SubAction from '@/tabviews/tableshare/actionList' |
| | | import SubSearch from '@/tabviews/tableshare/topSearch' |
| | | import asyncComponent from '@/utils/asyncLoadComponent' |
| | | import asyncLoadComponent from '@/utils/asyncLoadComponent' |
| | | import asyncComponent from '@/utils/asyncComponent' |
| | | import NotFount from '@/components/404' |
| | | import zhCN from '@/locales/zh-CN/main.js' |
| | | import enUS from '@/locales/en-US/main.js' |
| | |
| | | import options from '@/store/options.js' |
| | | import './index.scss' |
| | | |
| | | const SubTabTable = asyncComponent(() => import('@/tabviews/subtabtable')) |
| | | const SubTabTable = asyncLoadComponent(() => import('@/tabviews/subtabtable')) |
| | | const SubAction = asyncComponent(() => import('@/tabviews/tableshare/actionList')) |
| | | |
| | | class SubTabViewTable extends Component { |
| | | static propTpyes = { |
| | |
| | | dict={this.state.dict} |
| | | /> : null |
| | | } |
| | | {actions && |
| | | <SubAction |
| | | ref="subButton" |
| | | type="sub" |
| | | menuType={this.props.menuType} |
| | | setting={setting} |
| | | actions={actions} |
| | | Tab={this.props.Tab} |
| | | BID={this.props.BID} |
| | | BData={this.props.BData} |
| | | dict={this.state.dict} |
| | | MenuID={this.props.SupMenuID} |
| | | logcolumns={this.state.logcolumns} |
| | | ContainerId={this.props.ContainerId} |
| | | refreshdata={this.refreshbyaction} |
| | | triggerPopview={this.triggerPopview} |
| | | getexceloutparam={this.getexceloutparam} |
| | | gettableselected={this.gettableselected} |
| | | /> |
| | | {actions ? |
| | | <div style={{minHeight: '45px'}}> |
| | | <SubAction |
| | | ref="subButton" |
| | | type="sub" |
| | | menuType={this.props.menuType} |
| | | setting={setting} |
| | | actions={actions} |
| | | Tab={this.props.Tab} |
| | | BID={this.props.BID} |
| | | BData={this.props.BData} |
| | | dict={this.state.dict} |
| | | MenuID={this.props.SupMenuID} |
| | | logcolumns={this.state.logcolumns} |
| | | ContainerId={this.props.ContainerId} |
| | | refreshdata={this.refreshbyaction} |
| | | triggerPopview={this.triggerPopview} |
| | | getexceloutparam={this.getexceloutparam} |
| | | gettableselected={this.gettableselected} |
| | | /> |
| | | </div> : null |
| | | } |
| | | {columns ? |
| | | <div className="subtable-box"> |
| | |
| | | .subtable-pickup { |
| | | position: absolute; |
| | | right: 5px; |
| | | top: -25px; |
| | | top: -22px; |
| | | z-index: 10; |
| | | } |
| | | } |
| | |
| | | import { notification, Spin} from 'antd' |
| | | import moment from 'moment' |
| | | import Api from '@/api' |
| | | import asyncComponent from '@/utils/asyncComponent' |
| | | import SubTable from '@/tabviews/subtable/subTable' |
| | | import SubAction from '@/tabviews/tableshare/actionList' |
| | | import SubSearch from '@/tabviews/tableshare/topSearch' |
| | | import NotFount from '@/components/404' |
| | | import zhCN from '@/locales/zh-CN/main.js' |
| | |
| | | import Utils from '@/utils/utils.js' |
| | | import options from '@/store/options.js' |
| | | import './index.scss' |
| | | |
| | | const SubAction = asyncComponent(() => import('@/tabviews/tableshare/actionList')) |
| | | |
| | | class SubTabModalTable extends Component { |
| | | static propTpyes = { |
| | |
| | | dict={this.state.dict} |
| | | /> : null |
| | | } |
| | | {actions && |
| | | <SubAction |
| | | ref="subtabButton" |
| | | type="subtab" |
| | | menuType={this.props.menuType} |
| | | setting={setting} |
| | | actions={actions} |
| | | BID={this.props.BID} |
| | | BData={this.props.BData} |
| | | dict={this.state.dict} |
| | | MenuID={this.props.SupMenuID} |
| | | ContainerId={this.props.ContainerId} |
| | | refreshdata={this.refreshbyaction} |
| | | gettableselected={this.gettableselected} |
| | | /> |
| | | {actions ? |
| | | <div style={{minHeight: '45px'}}> |
| | | <SubAction |
| | | ref="subtabButton" |
| | | type="subtab" |
| | | menuType={this.props.menuType} |
| | | setting={setting} |
| | | actions={actions} |
| | | BID={this.props.BID} |
| | | BData={this.props.BData} |
| | | dict={this.state.dict} |
| | | MenuID={this.props.SupMenuID} |
| | | ContainerId={this.props.ContainerId} |
| | | refreshdata={this.refreshbyaction} |
| | | gettableselected={this.gettableselected} |
| | | /> |
| | | </div> : null |
| | | } |
| | | {columns && |
| | | <SubTable |
| | |
| | | delete res.status |
| | | |
| | | // 使用处理后的数据调用外部接口 |
| | | let keys = Object.keys(res) // 提交外部接口前,添加BID |
| | | if (keys.filter(key => key.toLowerCase() === 'bid').length === 0) { |
| | | res.BID = this.props.BID |
| | | } |
| | | |
| | | resolve(res) |
| | | } else { |
| | | this.execError(res, btn) |
| | |
| | | delete res.status |
| | | |
| | | // 使用处理后的数据调用外部接口 |
| | | let keys = Object.keys(res) // 提交外部接口前,添加BID |
| | | if (keys.filter(key => key.toLowerCase() === 'bid').length === 0) { |
| | | res.BID = this.props.BID |
| | | } |
| | | |
| | | resolve(res) |
| | | } else { |
| | | this.execError(res, btn) |
| | |
| | | delete res.status |
| | | |
| | | // 使用处理后的数据调用外部接口 |
| | | let keys = Object.keys(res) // 提交外部接口前,添加BID |
| | | if (keys.filter(key => key.toLowerCase() === 'bid').length === 0) { |
| | | res.BID = this.props.BID |
| | | } |
| | | resolve(res) |
| | | } else { |
| | | this.execError(res, btn) |
| | |
| | | import './index.scss' |
| | | |
| | | const LoginForm = asyncComponent(() => import('./loginform')) |
| | | const Action = asyncComponent(() => import('@/tabviews/tableshare/actionList')) |
| | | const iszhCN = !localStorage.getItem('lang') || localStorage.getItem('lang') === 'zh-CN' |
| | | |
| | | class Login extends Component { |
| | |
| | | ICP: window.GLOB.icp || 'ICP备案: 京ICP备12007830号', |
| | | bgColor: window.GLOB.bgColor || '#000000', |
| | | lineColor: window.GLOB.lineColor || '#1890ff', |
| | | website: window.GLOB.website || (!window.GLOB.copyRight && 'http://minkesoft.com') |
| | | website: window.GLOB.website || (!window.GLOB.copyRight && 'http://minkesoft.com'), |
| | | loaded: false |
| | | } |
| | | |
| | | changelang (item) { |
| | |
| | | localStorage.setItem('AuthCode', box) |
| | | |
| | | this.setState({ |
| | | auth: true |
| | | auth: true, |
| | | loaded: true |
| | | }) |
| | | } else { |
| | | localStorage.removeItem('AuthCode') |
| | |
| | | } |
| | | |
| | | render () { |
| | | |
| | | return ( |
| | | <div className="login-container" style={{backgroundImage: 'url(' + this.state.bgImage + ')', backgroundColor: this.state.bgColor}}> |
| | | <div className="logo" style={{borderColor: this.state.lineColor}}> |
| | |
| | | } |
| | | <p dangerouslySetInnerHTML={{ __html: this.state.ICP.replace(/\s/ig, ' ') }}></p> |
| | | </div> |
| | | {this.state.loaded ? <div style={{position: 'fixed', bottom: '-1000px'}}><Action setting={{}} actions={[]} /></div> : null } |
| | | </div> |
| | | ) |
| | | } |