| | |
| | | import {refreshTabView, modifyTabview} from '@/store/action' |
| | | |
| | | import MainTable from '@/tabviews/zshare/normalTable' |
| | | // import MainAction from '@/tabviews/zshare/actionList' |
| | | // import VerifyCard from '@/tabviews/zshare/verifycard' |
| | | import MainSearch from '@/tabviews/zshare/topSearch' |
| | | import NotFount from '@/components/404' |
| | | import './index.scss' |
| | |
| | | triggerBtn: { |
| | | uuid: new Date().getTime(), |
| | | parentId: key, |
| | | button: item, |
| | | button: {...item, uuid: btnkey}, |
| | | data: null |
| | | } |
| | | }) |
| | |
| | | this.reloadview() |
| | | } |
| | | this.props.refreshTabView('') |
| | | } else if (!is(fromJS(this.props.tabviews), fromJS(nextProps.tabviews))) { |
| | | let selectTab = nextProps.tabviews.filter(tab => tab.selected)[0] |
| | | if (selectTab && selectTab.MenuID === this.props.MenuID) { |
| | | this.setShortcut() |
| | | } |
| | | } |
| | | } |
| | | |
| | |
| | | import {refreshTabView, modifyTabview} from '@/store/action' |
| | | |
| | | import MainTable from '@/tabviews/zshare/normalTable' |
| | | import MainAction from '@/tabviews/zshare/actionList' |
| | | import MainSearch from '@/tabviews/zshare/topSearch' |
| | | import NotFount from '@/components/404' |
| | | import './index.scss' |
| | | |
| | | const SubTable = asyncLoadComponent(() => import('@/tabviews/subtable')) |
| | | const MainAction = asyncComponent(() => import('@/tabviews/zshare/actionList')) |
| | | const SubTabTable = asyncComponent(() => import('@/tabviews/subtabtable')) |
| | | const FormTab = asyncComponent(() => import('@/tabviews/formtab')) |
| | | |
| | |
| | | treevisible: false, // 菜单结构树弹框显示隐藏控制 |
| | | tabBtn: null, // 表单标签按钮 |
| | | tabParam: null, // 表单标签参数 |
| | | refreshtabs: null // 需要刷新的标签集 |
| | | refreshtabs: null, // 需要刷新的标签集 |
| | | triggerBtn: null // 按钮触发 |
| | | } |
| | | |
| | | /** |
| | |
| | | orderBy: '', |
| | | search: '', |
| | | BIDs: {}, |
| | | pickup: false |
| | | pickup: false, |
| | | popAction: false, |
| | | popData: false, |
| | | visible: false, |
| | | treevisible: false, |
| | | tabBtn: null, |
| | | tabParam: null, |
| | | refreshtabs: null, |
| | | triggerBtn: null |
| | | }, () => { |
| | | this.loadconfig() |
| | | }) |
| | |
| | | * @description 表格中,按钮触发事件传递 |
| | | */ |
| | | buttonTrigger = (btn, record) => { |
| | | this.refs.mainButton.actionTrigger(btn, record) |
| | | this.setState({ |
| | | triggerBtn: { |
| | | uuid: new Date().getTime(), |
| | | parentId: this.props.MenuID, |
| | | button: btn, |
| | | data: record |
| | | } |
| | | }) |
| | | } |
| | | |
| | | /** |
| | |
| | | } |
| | | |
| | | render() { |
| | | const { view, setting, searchlist, actions, columns, loadingview, viewlost, pickup, config } = this.state |
| | | const { view, setting, searchlist, actions, columns, loadingview, viewlost, pickup, config, triggerBtn } = this.state |
| | | |
| | | return ( |
| | | <div> |
| | |
| | | } |
| | | {actions && setting.onload !== 'false' ? |
| | | <MainAction |
| | | ref="mainButton" |
| | | BID="" |
| | | type="main" |
| | | menuType="HS" |
| | | setting={setting} |
| | | actions={actions} |
| | | dict={this.state.dict} |
| | | triggerBtn={triggerBtn} |
| | | MenuID={this.props.MenuID} |
| | | logcolumns={this.state.logcolumns} |
| | | ContainerId={this.state.ContainerId} |
| | |
| | | import options from '@/store/options.js' |
| | | |
| | | import SubTable from '@/tabviews/zshare/normalTable' |
| | | // import SubAction from '@/tabviews/zshare/actionList' |
| | | import SubSearch from '@/tabviews/zshare/topSearch' |
| | | import asyncComponent from '@/utils/asyncComponent' |
| | | import asyncLoadComponent from '@/utils/asyncLoadComponent' |
| | | import NotFount from '@/components/404' |
| | | |
| | | import './index.scss' |
| | | |
| | | const SubAction = asyncLoadComponent(() => import('@/tabviews/zshare/actionList')) |
| | | const SubAction = asyncComponent(() => import('@/tabviews/zshare/actionList')) |
| | | const SubTabTable = asyncLoadComponent(() => import('@/tabviews/subtabtable')) |
| | | |
| | | class SubTabViewTable extends Component { |
| | |
| | | pageSize: 10, // 每页数据条数 |
| | | orderBy: '', // 排序 |
| | | search: '', // 搜索条件数组,使用时需分场景处理 |
| | | configMap: {}, // 页面配置信息:下拉、按钮等 |
| | | popAction: false, // 弹框页面,按钮信息 |
| | | popData: false, // 弹框页面,所选的表格数据 |
| | | visible: false, // 弹框显示隐藏控制 |
| | |
| | | pageSize: 10, |
| | | orderBy: '', |
| | | search: '', |
| | | configMap: {} |
| | | triggerBtn: null |
| | | }, () => { |
| | | this.loadconfig() |
| | | }) |
| | |
| | | BID={this.props.BID} |
| | | BData={this.props.BData} |
| | | dict={this.state.dict} |
| | | MenuID={this.props.SupMenuID} |
| | | MenuID={this.props.MenuID} |
| | | permRoles={this.props.permRoles} |
| | | logcolumns={this.state.logcolumns} |
| | | refreshdata={this.refreshbyaction} |
| | |
| | | import Utils from '@/utils/utils.js' |
| | | import options from '@/store/options.js' |
| | | |
| | | import asyncComponent from '@/utils/asyncComponent' |
| | | import SubTable from '@/tabviews/zshare/normalTable' |
| | | import SubAction from '@/tabviews/zshare/actionList' |
| | | import SubSearch from '@/tabviews/zshare/topSearch' |
| | | import NotFount from '@/components/404' |
| | | |
| | | import './index.scss' |
| | | |
| | | const SubAction = asyncComponent(() => import('@/tabviews/zshare/actionList')) |
| | | |
| | | class SubTabModalTable extends Component { |
| | | static propTpyes = { |
| | |
| | | pageSize: 10, // 每页数据条数 |
| | | orderBy: '', // 排序 |
| | | search: '', // 搜索条件数组,使用时需分场景处理 |
| | | configMap: {} // 页面配置信息:下拉、按钮等 |
| | | triggerBtn: null // 按钮触发 |
| | | } |
| | | |
| | | /** |
| | |
| | | pageSize: 10, |
| | | orderBy: '', |
| | | search: '', |
| | | configMap: {} |
| | | triggerBtn: null |
| | | }, () => { |
| | | this.loadconfig() |
| | | }) |
| | |
| | | this.reloadtable() |
| | | } else if (btn.execError === 'view' && type === 'error') { |
| | | this.reloadview() |
| | | } else if (type === 'excelOut') { |
| | | this.handleDefaultExcelout(btn) |
| | | } |
| | | if (type === 'success') { |
| | | this.props.refreshSupView() |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * @description 使用默认存储过程 sPC_Get_TableData 导出excel表格 |
| | | */ |
| | | handleDefaultExcelout = (btn) => { |
| | | const { MenuName } = this.props |
| | | const { arr_field, orderBy, search, setting, config } = this.state |
| | | |
| | | let _arr_labels = [] // 列名称集 |
| | | let _arr_label_field = [] // 列名称字段集 |
| | | |
| | | config.columns.forEach(col => { |
| | | if (col.field) { |
| | | _arr_labels.push(col.label) |
| | | _arr_label_field.push(`${col.field} as ${col.label}`) |
| | | } |
| | | }) |
| | | |
| | | _arr_labels = _arr_labels.join(',') |
| | | _arr_label_field = _arr_label_field.join(',') |
| | | |
| | | let _search = Utils.joinMainSearchkey(search) |
| | | _search = _search ? 'where (' + _search + ')' : '' |
| | | // 获取列表数据 |
| | | let param = { |
| | | func: 'sPC_Get_TableData', |
| | | obj_name: 'data', |
| | | arr_field: _arr_labels, |
| | | BID: this.props.BID, |
| | | appkey: window.GLOB.appkey || '' |
| | | } |
| | | |
| | | let _orderBy = orderBy || setting.order |
| | | let _dataresource = setting.dataresource |
| | | |
| | | if (/\s/.test(_dataresource)) { |
| | | _dataresource = '(' + _dataresource + ') tb' |
| | | } |
| | | |
| | | let LText = `select ${_arr_label_field} from (select ${arr_field} ,ROW_NUMBER() over(order by ${_orderBy}) as rows from ${_dataresource} ${_search}) tmptable order by tmptable.rows` |
| | | |
| | | param.LText = Utils.formatOptions(LText) |
| | | param.timestamp = moment().format('YYYY-MM-DD HH:mm:ss') + '.000' |
| | | param.secretkey = Utils.encrypt(param.LText, param.timestamp) |
| | | param.DateCount = '' |
| | | |
| | | let name = `${MenuName}${moment().format('YYYYMMDDHHmmss')}.xlsx` |
| | | |
| | | Api.getExcelOut(param, name).then(res => { |
| | | if (res && res.status === false) { |
| | | this.refs.subtabButton.execError(res, btn) |
| | | } else { |
| | | this.refs.subtabButton.execSuccess(btn) |
| | | } |
| | | }) |
| | | } |
| | | |
| | | /** |
| | |
| | | * @description 表格中,按钮触发事件传递 |
| | | */ |
| | | buttonTrigger = (btn, record) => { |
| | | this.refs.subtabButton.actionTrigger(btn, record) |
| | | this.setState({ |
| | | triggerBtn: { |
| | | uuid: new Date().getTime(), |
| | | parentId: this.props.MenuID, |
| | | button: btn, |
| | | data: record |
| | | } |
| | | }) |
| | | } |
| | | |
| | | UNSAFE_componentWillMount () { |
| | |
| | | } |
| | | |
| | | render() { |
| | | const { setting, searchlist, actions, columns, loadingview, viewlost } = this.state |
| | | const { setting, searchlist, actions, columns, loadingview, viewlost, triggerBtn } = this.state |
| | | |
| | | return ( |
| | | <div className="subtabtable" id={'subtabtable' + this.props.MenuID}> |
| | |
| | | {actions ? |
| | | <div style={{minHeight: '25px'}}> |
| | | <SubAction |
| | | ref="subtabButton" |
| | | type="subtab" |
| | | triggerBtn={triggerBtn} |
| | | menuType={this.props.menuType} |
| | | setting={setting} |
| | | actions={actions} |
| | |
| | | UNSAFE_componentWillReceiveProps(nextProps) { |
| | | if (nextProps.triggerBtn && !is(fromJS(this.props.triggerBtn), fromJS(nextProps.triggerBtn)) && nextProps.triggerBtn.parentId === this.props.MenuID) { |
| | | if (!this.state.loadingUuid && !this.state.visible && !this.state.running) { |
| | | this.actionTrigger(nextProps.triggerBtn.button, nextProps.triggerBtn.data) |
| | | let _btn = nextProps.triggerBtn.button |
| | | if (!_btn.OpenType) { |
| | | _btn = this.props.actions.filter(item => item.uuid === _btn.uuid)[0] |
| | | } |
| | | if (_btn) { |
| | | this.actionTrigger(_btn, nextProps.triggerBtn.data) |
| | | } |
| | | } |
| | | } |
| | | } |
| | |
| | | const { columns } = this.props |
| | | let _columns = [] |
| | | |
| | | columns.forEach(item => { |
| | | if (item.hidden === 'true') return |
| | | columns.forEach((item, index) => { |
| | | if (item.hidden === true || item.hidden === 'true') return |
| | | |
| | | let cell = { |
| | | align: item.Align, |
| | |
| | | return this.getContent(item, record) |
| | | } |
| | | } |
| | | |
| | | if (item.fixed === true || item.fixed === 'true') { |
| | | if (index < columns.length / 2) { |
| | | cell.fixed = 'left' |
| | | } else { |
| | | cell.fixed = 'right' |
| | | } |
| | | } |
| | | |
| | | _columns.push(cell) |
| | | }) |
| | |
| | | this.setState({ |
| | | loadingview: true |
| | | }) |
| | | |
| | | |
| | | menuParam.push({ |
| | | uuid: MenuID, |
| | |
| | | label: item.label, |
| | | Width: item.Width, |
| | | hidden: item.hidden || false, |
| | | fixed: item.fixed || false, |
| | | sort: item.sort || 0 |
| | | } |
| | | }) |
| | |
| | | top: 92, |
| | | message: errors[0].message, |
| | | duration: 10 |
| | | }) |
| | | this.setState({ |
| | | loading: false |
| | | }) |
| | | return |
| | | } |
| | |
| | | label: item.label, |
| | | Width: item.Width, |
| | | hidden: item.hidden || false, |
| | | fixed: item.fixed || false, |
| | | sort: item.sort || 0 |
| | | } |
| | | }) |
| | |
| | | }) |
| | | } else { |
| | | this.setState({ |
| | | loading: false |
| | | loading: false, |
| | | menuParam: menuParam |
| | | }, () => { |
| | | this.getInitParam() |
| | | }) |
| | | } |
| | | } |
New file |
| | |
| | | import React, {Component} from 'react' |
| | | import PropTypes from 'prop-types' |
| | | import { Form, Row, Col, Button, Input, InputNumber, Radio } from 'antd' |
| | | import './index.scss' |
| | | |
| | | const shortkeycode = { |
| | | 65: 'A', |
| | | 66: 'B', |
| | | 67: 'C', |
| | | 68: 'D', |
| | | 69: 'E', |
| | | 70: 'F', |
| | | 71: 'G', |
| | | 72: 'H', |
| | | 73: 'I', |
| | | 74: 'J', |
| | | 75: 'K', |
| | | 76: 'L', |
| | | 77: 'M', |
| | | 78: 'N', |
| | | 79: 'O', |
| | | 80: 'P', |
| | | 81: 'Q', |
| | | 82: 'R', |
| | | 83: 'S', |
| | | 84: 'T', |
| | | 85: 'U', |
| | | 86: 'V', |
| | | 87: 'W', |
| | | 88: 'X', |
| | | 89: 'Y', |
| | | 90: 'Z' |
| | | } |
| | | |
| | | class UniqueForm extends Component { |
| | | static propTpyes = { |
| | | dict: PropTypes.object, // 字典项 |
| | | columnChange: PropTypes.func // 修改函数 |
| | | } |
| | | |
| | | state = { |
| | | editItem: null, // 编辑元素 |
| | | shortcutOptions: null |
| | | } |
| | | |
| | | UNSAFE_componentWillMount () { |
| | | let keys = ['shift', 'ctrl', 'alt'] |
| | | let _options = [] |
| | | |
| | | keys.forEach(item => { |
| | | let _op = { |
| | | value: item, |
| | | label: item, |
| | | children: [] |
| | | } |
| | | Object.keys(shortkeycode).forEach(key => { |
| | | if (item === 'ctrl' && (key === '67' || key === '86')) return |
| | | if (item === 'alt' && key === '65') return |
| | | |
| | | _op.children.push({ |
| | | value: +key, |
| | | label: shortkeycode[key] |
| | | }) |
| | | }) |
| | | |
| | | _options.push(_op) |
| | | }) |
| | | |
| | | this.setState({ |
| | | shortcutOptions: _options |
| | | }) |
| | | } |
| | | |
| | | edit = (record) => { |
| | | this.setState({ |
| | | editItem: record |
| | | }, () => { |
| | | let item = { |
| | | label: record.label, |
| | | Width: record.Width, |
| | | hidden: record.hidden ? 'true' : 'false', |
| | | fixed: record.fixed ? 'true' : 'false' |
| | | } |
| | | |
| | | this.props.form.setFieldsValue(item) |
| | | }) |
| | | } |
| | | |
| | | |
| | | handleConfirm = () => { |
| | | // 表单提交时检查输入值是否正确 |
| | | this.props.form.validateFieldsAndScroll((err, values) => { |
| | | if (!err) { |
| | | values.uuid = this.state.editItem ? this.state.editItem.uuid : '' |
| | | |
| | | values.hidden = values.hidden === 'true' |
| | | values.fixed = values.fixed === 'true' |
| | | |
| | | this.props.columnChange(values) |
| | | |
| | | this.setState({ |
| | | editItem: null |
| | | }) |
| | | } |
| | | }) |
| | | } |
| | | |
| | | render() { |
| | | const { getFieldDecorator } = this.props.form |
| | | const { editItem } = this.state |
| | | const formItemLayout = { |
| | | labelCol: { |
| | | xs: { span: 24 }, |
| | | sm: { span: 8 } |
| | | }, |
| | | wrapperCol: { |
| | | xs: { span: 24 }, |
| | | sm: { span: 16 } |
| | | } |
| | | } |
| | | |
| | | return ( |
| | | <Form {...formItemLayout} className="verify-form"> |
| | | {editItem ? <Row gutter={24}> |
| | | <Col span={10}> |
| | | <Form.Item label={'名称'}> |
| | | {getFieldDecorator('label', { |
| | | initialValue: '', |
| | | })(<Input placeholder="" autoComplete="off" disabled />)} |
| | | </Form.Item> |
| | | </Col> |
| | | <Col span={10}> |
| | | <Form.Item label={'列宽'}> |
| | | {getFieldDecorator('Width', { |
| | | initialValue: 0 |
| | | })(<InputNumber min={50} max={1200} precision={0} />)} |
| | | </Form.Item> |
| | | </Col> |
| | | <Col span={4} className="add"> |
| | | <Button onClick={this.handleConfirm} type="primary" className="add-row"> |
| | | 确定 |
| | | </Button> |
| | | </Col> |
| | | <Col span={10}> |
| | | <Form.Item label="隐藏"> |
| | | {getFieldDecorator('hidden', { |
| | | initialValue: 'false' |
| | | })( |
| | | <Radio.Group> |
| | | <Radio value="true">是</Radio> |
| | | <Radio value="false">否</Radio> |
| | | </Radio.Group> |
| | | )} |
| | | </Form.Item> |
| | | </Col> |
| | | <Col span={10}> |
| | | <Form.Item label="固定"> |
| | | {getFieldDecorator('fixed', { |
| | | initialValue: 'false' |
| | | })( |
| | | <Radio.Group> |
| | | <Radio value="true">是</Radio> |
| | | <Radio value="false">否</Radio> |
| | | </Radio.Group> |
| | | )} |
| | | </Form.Item> |
| | | </Col> |
| | | </Row> : null} |
| | | {!editItem ? <Row gutter={24} style={{height: '64px', paddingTop: '5px'}}> |
| | | <Col span={24} className="print-tip"> |
| | | <Form.Item label={'提示'}> |
| | | 点击编辑图标,可自定义显示列宽度、是否隐藏、是否固定等设置,点击上下箭头可调整显示列顺序。 |
| | | </Form.Item> |
| | | </Col> |
| | | </Row> : null} |
| | | </Form> |
| | | ) |
| | | } |
| | | } |
| | | |
| | | export default Form.create()(UniqueForm) |
| | |
| | | import PropTypes from 'prop-types' |
| | | import { Form, Tabs, Row, Col, Radio, Table, Icon, Select, notification } from 'antd' |
| | | |
| | | // import Utils from '@/utils/utils.js' |
| | | |
| | | import ActionForm from './actionform' |
| | | import ColumnForm from './columnform' |
| | | import PrintForm from './printform' |
| | | import PrintTypeForm from './printtypeform' |
| | | import './index.scss' |
| | |
| | | printbtns: null, |
| | | colColumns: [ |
| | | { |
| | | title: '字段名', |
| | | dataIndex: 'field', |
| | | width: '35%' |
| | | title: '列名', |
| | | dataIndex: 'label', |
| | | width: '20%' |
| | | }, |
| | | { |
| | | title: '列宽', |
| | | dataIndex: 'Width', |
| | | width: '35%' |
| | | width: '20%' |
| | | }, |
| | | { |
| | | title: '字段名', |
| | | dataIndex: 'field', |
| | | width: '35%' |
| | | title: '隐藏', |
| | | dataIndex: 'hidden', |
| | | width: '20%', |
| | | render: (text, record) => { |
| | | if (record.hidden) return '是' |
| | | return '否' |
| | | } |
| | | }, |
| | | { |
| | | title: '固定', |
| | | dataIndex: 'fixed', |
| | | width: '20%', |
| | | render: (text, record) => { |
| | | if (record.fixed) return '是' |
| | | return '否' |
| | | } |
| | | }, |
| | | { |
| | | title: '操作', |
| | | align: 'center', |
| | | width: '25%', |
| | | width: '20%', |
| | | dataIndex: 'operation', |
| | | render: (text, record) => |
| | | (<div> |
| | | <span className="operation-btn" title="编辑" onClick={() => this.handleEdit(record, 'column')} style={{color: '#1890ff'}}><Icon type="edit" /></span> |
| | | <span className="operation-btn" title="上移" onClick={() => this.handleUpDown(record, 'up')} style={{color: '#1890ff'}}><Icon type="arrow-up" /></span> |
| | | <span className="operation-btn" title="下移" onClick={() => this.handleUpDown(record, 'down')} style={{color: '#ff4d4f'}}><Icon type="arrow-down" /></span> |
| | | <span className="operation-btn" title="状态切换" onClick={() => this.handleStatus(record)} style={{color: '#8E44AD'}}><Icon type="swap" /></span> |
| | | </div>) |
| | | } |
| | | ], |
| | |
| | | |
| | | UNSAFE_componentWillMount() { |
| | | let config = JSON.parse(JSON.stringify(this.props.config)) |
| | | |
| | | |
| | | let _subconfig = { |
| | | label: config.label, |
| | | setting: config.setting, |
| | |
| | | |
| | | config.columns.forEach((item, index) => { |
| | | _subconfig.columns[item.uuid] = { |
| | | label: item.label, |
| | | Width: item.Width, |
| | | hidden: item.hidden, |
| | | fixed: item.fixed, |
| | | sort: index |
| | | } |
| | | }) |
| | |
| | | let _config = JSON.parse(JSON.stringify(this.state.config)) |
| | | let _subconfig = JSON.parse(JSON.stringify(this.state.subconfig)) |
| | | |
| | | _config.action = _config.action.map(item => { |
| | | _config.columns = _config.columns.map((item, index) => { |
| | | if (values.uuid === item.uuid) { |
| | | item = {...item, ...values} |
| | | } |
| | | |
| | | _subconfig.action[item.uuid] = { |
| | | printer: item.printer || '', |
| | | shortcut: item.shortcut |
| | | _subconfig.columns[item.uuid] = { |
| | | label: item.label, |
| | | Width: item.Width, |
| | | hidden: item.hidden, |
| | | fixed: item.fixed, |
| | | sort: index |
| | | } |
| | | |
| | | return item |
| | |
| | | } else if (type === 'printtype') { |
| | | this.printTypeForm.edit(record) |
| | | } else if (type === 'column') { |
| | | this.uniqueForm.edit(record) |
| | | this.columnForm.edit(record) |
| | | } |
| | | |
| | | if (type === 'printtype') return |
| | |
| | | } |
| | | } |
| | | |
| | | handleStatus = (record) => { |
| | | let verify = JSON.parse(JSON.stringify(this.state.verify)) |
| | | record.status = record.status === 'false' ? 'true' : 'false' |
| | | |
| | | verify.scripts = verify.scripts.map(item => { |
| | | if (item.uuid === record.uuid) { |
| | | return record |
| | | } else { |
| | | return item |
| | | } |
| | | }) |
| | | |
| | | this.setState({ |
| | | verify: verify |
| | | }) |
| | | } |
| | | |
| | | handleUpDown = (record, type, direction) => { |
| | | let verify = JSON.parse(JSON.stringify(this.state.verify)) |
| | | handleUpDown = (record, direction) => { |
| | | let _config = JSON.parse(JSON.stringify(this.state.config)) |
| | | let _subconfig = JSON.parse(JSON.stringify(this.state.subconfig)) |
| | | let index = 0 |
| | | |
| | | verify.customverifys = verify.customverifys.filter((item, i) => { |
| | | _config.columns = _config.columns.filter((item, i) => { |
| | | if (item.uuid === record.uuid) { |
| | | index = i |
| | | } |
| | | |
| | | return item.uuid !== record.uuid |
| | | }) |
| | | if ((index === 0 && direction === 'up') || (index === verify.customverifys.length && direction === 'down')) { |
| | | if ((index === 0 && direction === 'up') || (index === _config.columns.length && direction === 'down')) { |
| | | return |
| | | } |
| | | |
| | | if (direction === 'up') { |
| | | verify.customverifys.splice(index - 1, 0, record) |
| | | _config.columns.splice(index - 1, 0, record) |
| | | } else { |
| | | verify.customverifys.splice(index + 1, 0, record) |
| | | _config.columns.splice(index + 1, 0, record) |
| | | } |
| | | |
| | | this.setState({ |
| | | verify: verify |
| | | _config.columns = _config.columns.map((item, index) => { |
| | | _subconfig.columns[item.uuid] = { |
| | | label: item.label, |
| | | Width: item.Width, |
| | | hidden: item.hidden, |
| | | fixed: item.fixed, |
| | | sort: index |
| | | } |
| | | |
| | | return item |
| | | }) |
| | | |
| | | this.setState({ |
| | | config: _config, |
| | | subconfig: _subconfig |
| | | }) |
| | | |
| | | this.props.handleconfig(_config.uuid, _subconfig) |
| | | } |
| | | |
| | | handleConfirm = () => { |
| | |
| | | |
| | | render() { |
| | | const { config } = this.props |
| | | const { actionColumns, printColumns, printTypeColumns, printbtns } = this.state |
| | | const { actionColumns, printColumns, colColumns, printTypeColumns, printbtns } = this.state |
| | | const formItemLayout = { |
| | | labelCol: { |
| | | xs: { span: 24 }, |
| | |
| | | pagination={false} |
| | | /> |
| | | </TabPane> |
| | | {/* <TabPane tab="显示列设置" key="column"> |
| | | <ActionForm |
| | | <TabPane tab="显示列设置" key="column"> |
| | | <ColumnForm |
| | | dict={this.props.dict} |
| | | actionChange={this.actionChange} |
| | | wrappedComponentRef={(inst) => this.actionForm = inst} |
| | | columnChange={this.columnChange} |
| | | wrappedComponentRef={(inst) => this.columnForm = inst} |
| | | /> |
| | | <Table |
| | | bordered |
| | | rowKey="uuid" |
| | | className="custom-table" |
| | | dataSource={this.state.config.action} |
| | | columns={actionColumns} |
| | | dataSource={this.state.config.columns} |
| | | columns={colColumns} |
| | | pagination={false} |
| | | /> |
| | | </TabPane> */} |
| | | </TabPane> |
| | | {printbtns && printbtns.length > 0 ? <TabPane tab="打印设置" key="print"> |
| | | <PrintForm |
| | | dict={this.props.dict} |
| | |
| | | import TransferForm from '@/components/transferform' |
| | | import SourceElement from '@/templates/zshare/dragelement/source' |
| | | import CreateFunc from '@/templates/zshare/createfunc' |
| | | import CreateInterface from '@/templates/zshare/createinterface' |
| | | // import CreateInterface from '@/templates/zshare/createinterface' |
| | | import Source from './source' |
| | | import './index.scss' |
| | | |
| | |
| | | }) |
| | | }} |
| | | footer={[ |
| | | <CreateInterface key="interface" dict={this.state.dict} ref="tableCreatInterface" trigger={this.tableCreatInterface}/>, |
| | | // <CreateInterface key="interface" dict={this.state.dict} ref="tableCreatInterface" trigger={this.tableCreatInterface}/>, |
| | | <CreateFunc key="create" dict={this.state.dict} ref="tableCreatFunc" trigger={this.tableCreatFunc}/>, |
| | | <Button key="cancel" onClick={() => { this.setState({ settingVisible: false }) }}>{this.state.dict['header.cancel']}</Button>, |
| | | <Button key="confirm" type="primary" onClick={this.settingSave}>{this.state.dict['header.confirm']}</Button> |