From dfb7b774d9934f4f5b3edf1a39bf73be9c90c55d Mon Sep 17 00:00:00 2001 From: king <18310653075@163.com> Date: 星期五, 13 十一月 2020 15:44:57 +0800 Subject: [PATCH] 移出数据表 --- src/components/tabview/index.jsx | 6 ------ /dev/null | 15 --------------- src/components/header/index.jsx | 12 ++++-------- src/components/sidemenu/index.jsx | 3 --- src/tabviews/zshare/normalTable/index.jsx | 2 -- 5 files changed, 4 insertions(+), 34 deletions(-) diff --git a/src/components/header/index.jsx b/src/components/header/index.jsx index 44e3fab..de4333e 100644 --- a/src/components/header/index.jsx +++ b/src/components/header/index.jsx @@ -589,14 +589,10 @@ _permMenus[menu.MenuID] = true let _type = '' - if (menu.LinkUrl) { - if (menu.LinkUrl === 'CommonTable') { - _type = 'CommonTable' - } else if (menu.LinkUrl === 'DataManage') { - _type = 'DataManage' - } else if (iframes.includes(menu.LinkUrl.split('?')[0])) { - _type = 'iframe' - } + if (menu.LinkUrl === 'CommonTable') { + _type = 'CommonTable' + } else if (menu.LinkUrl && iframes.includes(menu.LinkUrl.split('?')[0])) { + _type = 'iframe' } if (_type !== 'iframe') { diff --git a/src/components/sidemenu/index.jsx b/src/components/sidemenu/index.jsx index cc6e57c..b65a490 100644 --- a/src/components/sidemenu/index.jsx +++ b/src/components/sidemenu/index.jsx @@ -123,9 +123,6 @@ if (child.LinkUrl === 'CommonTable') { _tmenu.type = 'CommonTable' - } else if (child.LinkUrl === 'DataManage') { - _tmenu.type = 'DataManage' - _tmenu.forbidden = true } else if (iframes.includes(child.LinkUrl.split('?')[0])) { _tmenu.type = 'iframe' _tmenu.forbidden = true diff --git a/src/components/tabview/index.jsx b/src/components/tabview/index.jsx index 83ef4ff..386daec 100644 --- a/src/components/tabview/index.jsx +++ b/src/components/tabview/index.jsx @@ -24,9 +24,7 @@ const ScriptTable = asyncComponent(() => import('@/tabviews/scriptmanage')) const TabManage = asyncComponent(() => import('@/tabviews/tabmanage')) const Iframe = asyncComponent(() => import('@/tabviews/iframe')) -const DataManage = asyncComponent(() => import('@/tabviews/datamanage')) const RoleManage = asyncComponent(() => import('@/tabviews/rolemanage')) -const TabForm = asyncComponent(() => import('@/tabviews/tabform')) const FormTab = asyncComponent(() => import('@/tabviews/formtab')) let service = '' @@ -114,12 +112,8 @@ return (<ScriptTable MenuNo={view.MenuNo} MenuID={view.MenuID} MenuName={view.MenuName} key={view.MenuID}/>) } else if (view.type === 'TabManage') { return (<TabManage MenuNo={view.MenuNo} MenuID={view.MenuID} MenuName={view.MenuName} key={view.MenuID}/>) - } else if (view.type === 'DataManage') { - return (<DataManage MenuNo={view.MenuNo} MenuID={view.MenuID} MenuName={view.MenuName} key={view.MenuID}/>) } else if (view.type === 'RolePermission') { return (<RoleManage MenuNo={view.MenuNo} MenuID={view.MenuID} MenuName={view.MenuName} key={view.MenuID}/>) - } else if (view.type === 'TabForm') { - return (<TabForm MenuNo={view.MenuNo} MenuID={view.MenuID} MenuName={view.MenuName} key={view.MenuID} param={view.param}/>) } else if (view.type === 'FormTab') { return (<FormTab MenuNo={view.MenuNo} MenuID={view.MenuID} MenuName={view.MenuName} key={view.MenuID} param={view.param}/>) } else if (view.type === 'iframe') { diff --git a/src/tabviews/datamanage/action/index.jsx b/src/tabviews/datamanage/action/index.jsx deleted file mode 100644 index f276410..0000000 --- a/src/tabviews/datamanage/action/index.jsx +++ /dev/null @@ -1,482 +0,0 @@ -import React, {Component} from 'react' -import PropTypes from 'prop-types' -import {connect} from 'react-redux' -import { Button, Affix, Modal, notification } from 'antd' -import MutilForm from '@/components/mutilform' -import {modifyTabview} from '@/store/action' -import Api from '@/api' -import './index.scss' - -const { confirm } = Modal - -class MainAction extends Component { - static propTpyes = { - MenuNo: PropTypes.string, // 鑿滃崟鍙傛暟 - columns: PropTypes.array, // 鏄剧ず鍒楃敤浜庤〃鍗曞垪 - actions: PropTypes.array, // 鎼滅储鏉′欢鍒楄〃 - dict: PropTypes.object, // 瀛楀吀椤� - mainKey: PropTypes.array - } - - state = { - visible: false, // 寮圭獥鏄惁鏄剧ず - formdata: null, // 琛ㄥ崟鏄剧ず鍒楁暟鎹� - tabledata: null, // 鍒楄〃閫夋嫨鏁版嵁 - confirmLoading: false, // 纭涓� - execAction: null, // 鎵ц鎸夐挳灞炴�� - primarykey: null, // 涓婚敭 - bidkey: null, // BID - defaultproc: { // 榛樿娣诲姞銆佷慨鏀广�佸垹闄ゅ瓨鍌ㄨ繃绋� - Add: 'sDataManageAdd', - Update: 'sDataManageUpt', - Delete: 'sDataManageDel' - } - } - - submitaction = (action, datalist, primarykey, bidkey) => { - if (action.Ot === 'requiredSgl' || action.Ot === 'requiredOnce') { // 閫夋嫨鍗曡鎴栧琛宨d鎷兼帴鎵ц - let ids = datalist.map(data => { - return data[primarykey] - }) - let bids = null - if (bidkey) { - bids = datalist.map(data => { - return data[bidkey] || '' - }) - } - return Api.submitInterface({ - func: action.AuditProc || this.state.defaultproc[action.Action], - ID: ids.join(','), // 涓婚敭瀛楁 - BID: bids ? bids.join(',') : '' // BID瀛楁 - }) - } else if (action.Ot === 'required') { // 鍙�夊琛岋紝寰幆鎵ц - let deffers = datalist.map(data => { - return new Promise((resolve, reject) => { - Api.submitInterface({ - func: action.AuditProc || this.state.defaultproc[action.Action], - ID: data[primarykey], // 涓婚敭瀛楁 - BID: data[bidkey] || '' // BID瀛楁 - }).then(res => { - resolve(res) - }) - }) - }) - return Promise.all(deffers) - } else { // 涓嶉�夎 - return Api.submitInterface({ - func: action.AuditProc || this.state.defaultproc[action.Action], - ID: '', // 涓婚敭瀛楁 - BID: '' // BID瀛楁 - }) - } - } - actionTrigger = (item) => { - let _this = this - let datalist = this.props.gettableselected() || [] - - if (item.Action === 'ExportExcel') { - return - // this.submitaction(item, datalist, ID[0], (BID.length === 1 ? BID[0] : '')) - // .then(res => { - // if (Array.isArray(res)) { - // let iserror = false - // res.forEach(result => { - // if (!result.status && !iserror) { - // notification.error({ - // top: 92, - // message: result.message, - // duration: 15 - // }) - // iserror = true - // } - // }) - // if (!iserror) { - // notification.success({ - // top: 92, - // message: _this.props.dict['main.action.confirm.success'] - // }) - - // _this.props.refreshdata(item.ReloadForm) // 鍒锋柊椤甸潰 - // } - // } else { - // if (res.status) { - // notification.success({ - // top: 92, - // message: _this.props.dict['main.action.confirm.success'] - // }) - - // _this.props.refreshdata(item.ReloadForm) // 鍒锋柊椤甸潰 - // } else { - // notification.error({ - // top: 92, - // message: res.message, - // duration: 15 - // }) - // } - // } - // }) - } - - /************* 鏍¢獙鍒楄〃鏁版嵁閫夋嫨鏄惁姝g‘ **************/ - - if ((item.Ot === 'requiredSgl' || item.Ot === 'required' || item.Ot === 'requiredOnce') && datalist.length === 0) { - // 闇�瑕侀�夋嫨琛屾椂锛屾牎楠屾暟鎹� - notification.warning({ - top: 92, - message: this.props.dict['main.action.confirm.selectline'], - duration: 5 - }) - return - } else if (item.Ot === 'requiredSgl' && datalist.length > 1) { - // 闇�瑕侀�夋嫨鍗曡鏃讹紝鏍¢獙鏁版嵁 - notification.warning({ - top: 92, - message: this.props.dict['main.action.confirm.selectSingleLine'], - duration: 5 - }) - return - } - - /************* 鏍¢獙涓婚敭涓嶣ID **************/ - let ID = [] - let BID = [] - if (item.Ot === 'requiredSgl' || item.Ot === 'required' || item.Ot === 'requiredOnce') { - this.props.mainKey.forEach(key => { - if (key.IDField === '1') { - ID.push(key.FieldName) - } else { - BID.push(key.FieldName) - } - }) - - if (ID.length === 0) { // 涓婚敭鏍¢獙 - notification.warning({ - top: 92, - message: this.props.dict['main.action.primarykey.required'], - duration: 5 - }) - return - } else if (ID.length > 1) { - notification.warning({ - top: 92, - message: this.props.dict['main.action.primarykey.repetition'], - duration: 5 - }) - return - } - - if (BID.length > 1) { // BID鏍¢獙 - notification.warning({ - top: 92, - message: this.props.dict['main.action.primarykey.repetitionbid'], - duration: 5 - }) - return - } - } - - /********************* 鎿嶄綔澶勭悊 **********************/ - - if (item.OpenType === 'prompt') { // 纭妗� - confirm({ - title: this.props.dict['main.action.confirm.tip'], - onOk() { - return _this.submitaction(item, datalist, ID[0], (BID.length === 1 ? BID[0] : '')) - .then(res => { - if (Array.isArray(res)) { - let iserror = false - res.forEach(result => { - if (!result.status && !iserror) { - notification.error({ - top: 92, - message: result.message, - duration: 10 - }) - iserror = true - } - }) - if (!iserror) { - notification.success({ - top: 92, - message: _this.props.dict['main.action.confirm.success'], - duration: 2 - }) - - _this.props.refreshdata(item.ReloadForm) // 鍒锋柊椤甸潰 - } - } else { - if (res.status) { - notification.success({ - top: 92, - message: _this.props.dict['main.action.confirm.success'], - duration: 2 - }) - - _this.props.refreshdata(item.ReloadForm) // 鍒锋柊椤甸潰 - } else { - notification.error({ - top: 92, - message: res.message, - duration: 10 - }) - } - } - }) - }, - onCancel() {} - }) - } else if (item.OpenType === 'execproc') { // 鐩存帴鎵ц - this.submitaction(item, datalist, ID[0], (BID.length === 1 ? BID[0] : '')) - .then(res => { - if (Array.isArray(res)) { - let iserror = false - res.forEach(result => { - if (!result.status && !iserror) { - notification.error({ - top: 92, - message: result.message, - duration: 10 - }) - iserror = true - } - }) - if (!iserror) { - notification.success({ - top: 92, - message: this.props.dict['main.action.confirm.success'], - duration: 2 - }) - - this.props.refreshdata(item.ReloadForm) // 鍒锋柊椤甸潰 - } - } else { - if (res.status) { - notification.success({ - top: 92, - message: this.props.dict['main.action.confirm.success'], - duration: 2 - }) - - this.props.refreshdata(item.ReloadForm) // 鍒锋柊椤甸潰 - } else { - notification.error({ - top: 92, - message: res.message, - duration: 10 - }) - } - } - }) - } else if (item.OpenType === 'newpage') { // 鎵撳紑鏂伴〉闈� - let src = '#/' + item.LinkUrl + '?param=' + window.btoa(JSON.stringify({UserId: sessionStorage.getItem('UserID'), ID: datalist[0][ID[0]], BID: BID.length === 1 ? datalist[0][BID[0]] : ''})) - window.open(src) - } else if (item.OpenType === 'pop') { // 妯℃�佹 - this.setState({ - formdata: this.props.columns.map(column => { - column.readonly = false - if (column.ReadOnly.includes(item.MenuID)) { - column.readonly = true - } - return column - }), - visible: true, - execAction: item, - primarykey: ID[0], - bidkey: BID.length === 1 ? BID[0] : '', - tabledata: datalist[0] || '' - }) - } else if (item.OpenType === 'tab') { // 鎵撳紑鏂版爣绛鹃〉 - let menu = { - MenuNo: this.props.MenuNo, - MenuID: item.MenuID, - MenuName: item.MenuName, - type: 'TabForm', - param: { - formdata: this.props.columns.map(column => { - column.readonly = false - if (column.ReadOnly.includes(item.MenuID)) { - column.readonly = true - } - return column - }), - execAction: item, - primarykey: ID[0], - bidkey: BID.length === 1 ? BID[0] : '', - tabledata: datalist[0] || '', - defaultproc: this.state.defaultproc, - dict: this.props.dict - } - } - let tabs = JSON.parse(JSON.stringify(this.props.tabviews)) - let _index = null - let isexit = false - tabs = tabs.map((tab, index) => { - tab.selected = false - if (tab.MenuNo === this.props.MenuNo && tab.MenuID === item.MenuID) { - isexit = true - tab.selected = true - tab.param = menu.param - } else if (tab.MenuNo === this.props.MenuNo && tab.type !== 'TabForm') { - _index = index - menu.MenuName = tab.MenuName + '-' + menu.MenuName - menu.selected = true - } - return tab - }) - if (!isexit) { - tabs.splice(_index + 1, 0, menu) - } - this.props.modifyTabview(tabs) - } else if (item.OpenType === 'blank') { // 褰撳墠椤甸潰璺宠浆 - this.props.switchformview({ - formdata: this.props.columns.map(column => { - column.readonly = false - if (column.ReadOnly.includes(item.MenuID)) { - column.readonly = true - } - return column - }), - execAction: item, - primarykey: ID[0], - bidkey: BID.length === 1 ? BID[0] : '', - tabledata: datalist[0] || '', - defaultproc: this.state.defaultproc - }) - } else { - notification.warning({ - top: 92, - message: this.props.dict['main.action.settingerror'], - duration: 5 - }) - } - } - - getModels = () => { - // 鑾峰彇寮圭獥琛ㄥ崟淇℃伅 - if (!this.state.execAction) return - let cols = +this.state.execAction.FormLineQty - if (![1, 2, 3].includes(cols)) { - cols = 2 - } - return ( - <Modal - wrapClassName='datamanage-action-modal' - title={this.state.execAction.MenuName || ''} - visible={this.state.visible} - width={document.body.clientWidth * this.state.execAction.PopWidth} - onOk={this.handleOk} - confirmLoading={this.state.confirmLoading} - onCancel={this.handleCancel} - > - {this.state.formdata && - <MutilForm - dict={this.props.dict} - formlist={this.state.formdata} - data={this.state.tabledata} - cols={cols} - wrappedComponentRef={(inst) => this.formRef = inst} - />} - </Modal> - ) - } - - handleOk = () => { - this.formRef.handleConfirm().then(res => { - this.setState({ - confirmLoading: true - }) - let values = [] - // 浠庤〃鍗曚腑鑾峰彇濉啓鏁版嵁 - this.props.columns.forEach(column => { - let value = '' - if (res.hasOwnProperty(column.FieldName)) { // 渚濇閫夊彇琛ㄥ崟鍊笺�佸垵濮嬪�� - value = res[column.FieldName] - } else if (column.InitVal) { - value = column.InitVal - } - values.push(value) - }) - - let queryparam = { // 璇锋眰鍙傛暟 - func: this.state.execAction.AuditProc || this.state.defaultproc[this.state.execAction.Action], - ID: (this.state.tabledata && this.state.primarykey) ? this.state.tabledata[this.state.primarykey] : '', // 涓婚敭瀛楁 - BID: (this.state.tabledata && this.state.bidkey) ? this.state.tabledata[this.state.bidkey] : '' // BID瀛楁 - } - // 娣诲姞鍜屼慨鏀硅姹傚弬鏁板瓧娈典笉鍚� - if (this.state.execAction.Action === 'Add') { - queryparam.AddLongText = values.join(',') - } else if (this.state.execAction.Action === 'Update') { - queryparam.UptLongText = values.join(',') - } - - // 鎻愪氦璇锋眰 - Api.submitInterface(queryparam).then(result => { - if (result.status) { - notification.success({ - top: 92, - message: this.props.dict['main.action.confirm.success'], - duration: 2 - }) - this.setState({ - confirmLoading: false, - visible: false - }) - - this.props.refreshdata(this.state.execAction.ReloadForm) // 鍒锋柊椤甸潰 - } else { - this.setState({ - confirmLoading: false - }) - notification.error({ - top: 92, - message: result.message, - duration: 10 - }) - } - }) - }, () => {}) - } - - handleCancel = () => { - // 鍙栨秷 - this.setState({ - confirmLoading: false, - visible: false - }) - this.formRef.handleReset() - } - - render() { - return ( - <Affix offsetTop={48}> - <div className="datamanage-button-list" id={this.props.MenuNo + 'mainaction'}> - {this.props.actions.map((item, index) => { - return ( - <Button - className={'mk-btn ' + item.CssClass + ' mk-' + item.CssClass} - icon={item.Icon} - key={'action' + index} - onClick={() => {this.actionTrigger(item)}} - >{item.MenuName}</Button> - ) - })} - {this.getModels()} - </div> - </Affix> - ) - } -} - -const mapStateToProps = (state) => { - return { - tabviews: state.tabviews - } -} - -const mapDispatchToProps = (dispatch) => { - return { - modifyTabview: (tabviews) => dispatch(modifyTabview(tabviews)) - } -} - -export default connect(mapStateToProps, mapDispatchToProps)(MainAction) \ No newline at end of file diff --git a/src/tabviews/datamanage/action/index.scss b/src/tabviews/datamanage/action/index.scss deleted file mode 100644 index e57aa6f..0000000 --- a/src/tabviews/datamanage/action/index.scss +++ /dev/null @@ -1,43 +0,0 @@ -.datamanage-button-list { - padding: 10px 20px 5px; - background: #ffffff; - button { - margin-right: 15px; - margin-bottom: 10px; - } - .ant-btn > .anticon + span { - margin-left: 5px; - } -} -// 璁剧疆妯℃�佹鏍峰紡锛岃瀹氭渶澶ф渶灏忛珮搴︼紝閲嶇疆婊氬姩鏉� -.datamanage-action-modal { - .ant-modal { - max-width: 95vw; - } - .ant-modal-body { - max-height: calc(100vh - 235px); - min-height: 150px; - overflow-y: auto; - padding-bottom: 35px; - } - .ant-modal-body::-webkit-scrollbar { - width: 10px; - height: 10px; - } - .ant-modal-body::-webkit-scrollbar-thumb { - border-radius: 5px; - box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.13); - background: rgba(0, 0, 0, 0.13); - } - .ant-modal-body::-webkit-scrollbar-track { - box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.05); - border-radius: 3px; - border: 1px solid rgba(0, 0, 0, 0.07); - background: rgba(0, 0, 0, 0); - } - .ant-modal-footer { - .ant-btn { - margin-right: 25px; - } - } -} \ No newline at end of file diff --git a/src/tabviews/datamanage/index.jsx b/src/tabviews/datamanage/index.jsx deleted file mode 100644 index 7fe3090..0000000 --- a/src/tabviews/datamanage/index.jsx +++ /dev/null @@ -1,359 +0,0 @@ -import React, {Component} from 'react' -import PropTypes from 'prop-types' -import { is, fromJS } from 'immutable' -import {connect} from 'react-redux' -import { notification, Button } from 'antd' -import MutilForm from '@/components/mutilform' -import {refreshTabView} from '@/store/action' -import Api from '@/api' -import DataSearch from './search' -import DataAction from './action' -import DataTable from './table' -import Loading from '@/components/loading' -import zhCN from '@/locales/zh-CN/main.js' -import enUS from '@/locales/en-US/main.js' -import './index.scss' - -class DataManage extends Component { - static propTpyes = { - MenuNo: PropTypes.string, // 鑿滃崟鍙傛暟 - MenuID: PropTypes.string // 鑿滃崟Id - } - - state = { - dict: sessionStorage.getItem('lang') !== 'en-US' ? zhCN : enUS, // 鏁版嵁瀛楀吀 - searchlist: null, // 鎼滅储鏉′欢 - searchparam: null, // 鎼滅储鍙傛暟 - actions: null, // 鎸夐挳 - columns: null, // 鏄剧ず鍒� - mainKey: null, // 涓婚敭 - selectable: false, // 琛ㄦ牸鏄惁鍙�� - datafunc: null, // 鑾峰彇鏁版嵁鍙婃樉绀哄垪鐨勫瓨鍌ㄨ繃绋嬪悕绉� - data: null, // 鍒楄〃鏁版嵁 - total: 0, // 鎬绘暟 - loading: true, // 琛ㄦ牸鍔犺浇涓� - confirmloading: false, // 琛ㄥ崟鎻愪氦纭涓� - formparam: null, // 琛ㄥ崟鍙傛暟 - showdetail: false // 鏄惁鏄剧ず璇︽儏鎴栬〃鍗曢〉闈� - } - - async loadconfig () { - // 鍔犺浇鎼滅储鏉′欢鍙婃寜閽俊鎭� - let param = { - func: 's_Get_Page_wheproc', - MenuNo: this.props.MenuNo - } - let result = await Api.commonInterface(param) - if (result.status) { - let newconfig = {} - if (result.sWheredata && result.sWheredata.length > 0) { - newconfig.searchlist = result.sWheredata - } - if (result.sMenusdata && result.sMenusdata.length > 0) { - newconfig.actions = result.sMenusdata.map(action => { - let width = +action.PopWidth - if (width > 100 || !width) { - width = 62 - } - action.PopWidth = width / 100 - return action - }) - } - newconfig.selectable = result.CheckBox !== 'true' - newconfig.datafunc = result.sWhereAction - this.setState(newconfig) - } else { - notification.warning({ - top: 92, - message: result.message, - duration: 5 - }) - } - } - - async loadDbdata (searches, pageIndex = 1, pageSize = 10, orderColumn = '', orderType = '') { - // 鍔犺浇鏄剧ず鍒楀強琛ㄦ牸鏁版嵁 - let param = { - func: this.state.datafunc, - MenuNo: this.props.MenuNo, - PageSize: pageSize, - PageIndex: pageIndex, - SortName: orderColumn, - SortOrder: orderType, - ...searches - } - let result = await Api.commonInterface(param) - if (result.status) { - this.setState({ - columns: result.sGriddata, - data: result.data.map((item, index) => { - item.key = index - return item - }), - mainKey: result.sGriddata.filter(grid => grid.IDField === '1' || grid.IDField === '2'), - total: result.Total, - searchparam: searches, - loading: false - }) - } else { - notification.warning({ - top: 92, - message: result.message, - duration: 5 - }) - this.setState({ - searchparam: searches, - loading: false - }) - } - } - - refreshbysearch = (searches, type) => { - // 鎼滅储鏉′欢鍙樺寲 - if (type === 'reset') { - this.setState({ - columns: null, - data: null, - total: 0 - }) - } else { - this.loadDbdata(searches) - this.setState({ - loading: true, - columns: null - }) - } - } - - refreshbytable = (pagination, filters, sorter) => { - // 琛ㄦ牸鏌ヨ鏉′欢淇敼 - if (sorter.order) { - let _chg = { - ascend: 'asc', - descend: 'desc' - } - sorter.order = _chg[sorter.order] - } - this.loadDbdata(this.state.searchparam, pagination.current, pagination.pageSize, sorter.field, sorter.order) - this.setState({ - loading: true - }) - } - - refreshbyaction = (type) => { - // 鎸夐挳鎿嶄綔鍚庡埛鏂拌〃鏍�,閲嶇疆椤电爜鍙婇�夋嫨椤� - if (type === 'grid') { - this.refs.dataTable.resetTable() - this.loadDbdata(this.state.searchparam) - this.setState({ - loading: true - }) - } else if (type === 'all') { - this.setState({ - searchlist: null, - searchparam: null, - actions: null, - columns: null, - mainKey: null, - selectable: false, - datafunc: null, - data: null, - total: 0 - }) - this.loadconfig() - } - } - - gettableselected = () => { - // 鑾峰彇琛ㄦ牸宸查�夋嫨椤� - let data = [] - this.refs.dataTable.state.selectedRowKeys.forEach(item => { - data.push(this.refs.dataTable.props.data[item]) - }) - return data - } - - switchview = (param) => { - // 鍒囨崲鑷宠鎯呮垨琛ㄥ崟椤甸潰 - let cols = param.execAction.FormLineQty - if (![1, 2, 3].includes(cols)) { - cols = 2 - } - param.cols = cols - this.setState({ - formparam: param, - showdetail: true - }) - } - - handleOk = () => { - // 琛ㄥ崟鎻愪氦 - let _param = this.state.formparam - // 浠庤〃鍗曚腑鑾峰彇濉啓鏁版嵁 - this.formRef.handleConfirm().then(res => { - this.setState({ - confirmloading: true - }) - let values = [] - _param.formdata.forEach(column => { // 渚濇閫夊彇琛ㄥ崟鍊笺�佸垵濮嬪��,鑾峰彇鎻愪氦淇℃伅 - let value = '' - if (res.hasOwnProperty(column.FieldName)) { - value = res[column.FieldName] - } else if (column.InitVal) { - value = column.InitVal - } - values.push(column.FieldName + 'equal\'' + value + '\'') - }) - - let queryparam = { // 璇锋眰鍙傛暟 - func: _param.execAction.AuditProc || _param.defaultproc[_param.execAction.Action], - ID: (_param.tabledata && _param.primarykey) ? _param.tabledata[_param.primarykey] : '', // 涓婚敭瀛楁 - BID: (_param.tabledata && _param.bidkey) ? _param.tabledata[_param.bidkey] : '' // BID瀛楁 - } - // 娣诲姞鍜屼慨鏀硅姹傚弬鏁板瓧娈典笉鍚� - if (_param.execAction.Action === 'Add') { - queryparam.AddLongText = values.join(',') - } else if (_param.execAction.Action === 'Update') { - queryparam.UptLongText = values.join(',') - } - - // 鎻愪氦璇锋眰 - Api.submitInterface(queryparam).then(result => { - if (result.status) { - notification.success({ - top: 92, - message: this.state.dict['main.action.confirm.success'], - duration: 2 - }) - - this.refreshbyaction(_param.execAction.ReloadForm) // 鍒锋柊涓诲垪琛ㄩ〉闈� - - if (_param.execAction.BackPre !== 'false') { // 椤甸潰杩斿洖 - this.handleCancel() - } - } else { - // 閿欒鎻愮ず锛屽彇娑堟彁浜や腑鐘舵�� - notification.error({ - top: 92, - message: result.message, - duration: 10 - }) - this.setState({ - confirmloading: false - }) - } - }) - }, () => {}) - } - - handleCancel = () => { - // 鍏抽棴褰撳墠绐楀彛锛岃繑鍥炲師鍒楄〃椤� - this.setState({ - confirmloading: false, - formparam: null, - showdetail: false - }) - // 鎻愪氦鎴愬姛鎴栬繑鍥炴椂锛屾粴鍔ㄨ嚦椤堕儴 - document.body.scrollTop = 0 - document.documentElement.scrollTop = 0 - } - - UNSAFE_componentWillMount () { - // 缁勪欢鍔犺浇鏃讹紝鑾峰彇鑿滃崟鏁版嵁 - this.loadconfig() - } - - shouldComponentUpdate (nextProps, nextState) { - if (!is(fromJS(this.props.refreshTab), fromJS(nextProps.refreshTab)) && nextProps.refreshTab && this.props.MenuNo === nextProps.refreshTab.MenuNo) { - // 鎺ユ敹鍒板埛鏂板懡浠わ紝涓斿埛鏂颁俊鎭腑鑿滃崟鍙傛暟涓庡綋鍓嶉〉闈㈢浉鍚� - this.props.refreshTabView(null) - this.refreshbyaction(nextProps.refreshTab.ReloadForm) - return false - } else if (!is(fromJS(this.props.refreshTab), fromJS(nextProps.refreshTab)) && !(nextProps.refreshTab && this.props.MenuNo === nextProps.refreshTab.MenuNo)) { - // 鏈帴鏀跺埌鍒锋柊鍛戒护锛屾垨鍒锋柊淇℃伅涓彍鍗曞弬鏁颁笌褰撳墠椤甸潰涓嶅悓 - return false - } else { - return !is(fromJS(this.props), fromJS(nextProps)) || !is(fromJS(this.state), fromJS(nextState)) - } - } - - render() { - return ( - <div className="datamanage"> - {!this.state.searchlist && <Loading />} - <div className={this.state.showdetail ? 'hidden-table' : ''}> - {/* 鎼滅储鏉′欢 */} - {this.state.searchlist && - <DataSearch - refreshdata={this.refreshbysearch} - searchlist={this.state.searchlist} - dict={this.state.dict} - /> - } - {/* 鎸夐挳缁� */} - {this.state.actions && this.state.columns && - <DataAction - MenuNo={this.props.MenuNo} - columns={this.state.columns} - mainKey={this.state.mainKey} - refreshdata={this.refreshbyaction} - switchformview={this.switchview} - gettableselected={this.gettableselected} - actions={this.state.actions} - dict={this.state.dict} - /> - } - {/* 琛ㄦ牸 */} - {this.state.columns && - <DataTable - ref="dataTable" - MenuNo={this.props.MenuNo} - refreshdata={this.refreshbytable} - columns={this.state.columns} - actions={this.state.actions} - data={this.state.data} - selectable={this.state.selectable} - total={this.state.total} - loading={this.state.loading} - dict={this.state.dict} - /> - } - </div> - {/* 璇︽儏鎴栦慨鏀硅〃鍗� */} - {this.state.showdetail && ( - <div className="tabform"> - <MutilForm - dict={this.state.dict} - formlist={this.state.formparam.formdata} - data={this.state.formparam.tabledata} - cols={this.state.formparam.cols} - wrappedComponentRef={(inst) => this.formRef = inst} - /> - <div className="operation"> - <Button type="primary" htmlType="submit" onClick={() => {this.handleOk()}} loading={this.state.confirmloading}> - {this.state.dict['main.confirm']} - </Button> - <Button onClick={() => {this.handleCancel()}}> - {this.state.dict['main.return']} - </Button> - </div> - </div>) - } - </div> - ) - } -} - -const mapStateToProps = (state) => { - return { - refreshTab: state.refreshTab - } -} - -const mapDispatchToProps = (dispatch) => { - return { - refreshTabView: (refreshTab) => dispatch(refreshTabView(refreshTab)) - } -} - -export default connect(mapStateToProps, mapDispatchToProps)(DataManage) \ No newline at end of file diff --git a/src/tabviews/datamanage/index.scss b/src/tabviews/datamanage/index.scss deleted file mode 100644 index e4a05f2..0000000 --- a/src/tabviews/datamanage/index.scss +++ /dev/null @@ -1,27 +0,0 @@ -.datamanage { - min-height: calc(100vh - 94px); - padding-top: 16px; - .hidden-table { - position: absolute; - z-index: -1; - opacity: 0; - } - .tabform { - padding: 25px 25px 120px; - .operation { - text-align: center; - margin: 20px 0; - .ant-btn { - height: 40px; - padding: 0 30px; - font-size: 16px; - } - .ant-btn-primary { - margin-right: 40px; - } - } - } - .datamanage-search + .datamanage-table { - padding-top: 15px; - } -} diff --git a/src/tabviews/datamanage/search/index.jsx b/src/tabviews/datamanage/search/index.jsx deleted file mode 100644 index 65ffeab..0000000 --- a/src/tabviews/datamanage/search/index.jsx +++ /dev/null @@ -1,201 +0,0 @@ -import React, {Component} from 'react' -import PropTypes from 'prop-types' -import { Form, Row, Col, Input, Button, Select, DatePicker, notification } from 'antd' -import moment from 'moment' -import './index.scss' - -// const {MonthPicker, WeekPicker} = DatePicker -// const dateFormat = 'YYYY-MM-DD' -// const weekFormat = 'YYYYMMDD' -// const monthFormat = 'YYYY-MM' - -class MainSearch extends Component { - static propTpyes = { - searchlist: PropTypes.array, // 鎼滅储鏉′欢鍒楄〃 - dict: PropTypes.object // 瀛楀吀椤� - } - - state = { - formats: null, // 浜嬩欢鏍¢獙瑙勫垯 - match: null // 鎼滅储鏉′欢鍖归厤瑙勫垯 - } - - UNSAFE_componentWillMount () { - let formats = {} - let match = {} - this.props.searchlist.forEach(item => { - match[item.FieldName] = item.Op - }) - this.setState({ - formats: formats, - match: match - }) - } - - getFields() { - const { getFieldDecorator } = this.props.form - const fields = [] - this.props.searchlist.forEach((item, index) => { - if (item.Type === 'text' || item.Type === 'string') { // 鏂囨湰鎼滅储 - fields.push( - <Col span={6} key={index}> - <Form.Item label={item.label}> - {getFieldDecorator(item.FieldName, {initialValue: item.InitVal })(<Input placeholder="" autoComplete="off" />)} - </Form.Item> - </Col> - ) - } else if (item.Type === 'select') { // 涓嬫媺鎼滅储 - let initval = item.FromField.filter(field => field.Selected === 'Selected')[0] - if (!initval) { - initval = item.FromField[0] - } - fields.push( - <Col span={6} key={index}> - <Form.Item label={item.label}> - {getFieldDecorator(item.FieldName, {initialValue: initval.IdField })( - <Select - showSearch - filterOption={(input, option) => option.props.children.toLowerCase().indexOf(input.toLowerCase()) >= 0} - > - {item.FromField.map(option => - <Select.Option id={option.IdField} title={option.TextField} key={option.IdField} value={option.IdField}>{option.TextField}</Select.Option> - )} - </Select> - )} - </Form.Item> - </Col> - ) - } else if (item.Type === 'date') { // 鏃堕棿鎼滅储 - let _initval = null - if (item.InitVal) { - _initval = moment().subtract(parseInt(item.InitVal), 'days') - } - fields.push( - <Col span={6} key={index}> - <Form.Item label={item.label}> - {getFieldDecorator(item.FieldName, {initialValue: _initval })( - <DatePicker /> - )} - </Form.Item> - </Col> - ) - // if (item.ID === 'WHE14002009024') { - // fields.push( - // <Col span={6} key={index}> - // <Form.Item label={item.label}> - // {getFieldDecorator(item.FieldName, {initialValue: moment('2019-09-14', dateFormat) })( - // <DatePicker format={dateFormat} /> - // )} - // </Form.Item> - // </Col> - // ) - // } else if (item.ID === 'WHE1400200905') { - // fields.push( - // <Col span={6} key={index}> - // <Form.Item label={item.label}> - // {getFieldDecorator(item.FieldName, {initialValue: moment('2019-09', monthFormat) })( - // <MonthPicker format={monthFormat} /> - // )} - // </Form.Item> - // </Col> - // ) - // } else if (item.ID === 'WHE1400200902') { - // fields.push( - // <Col span={6} key={index}> - // <Form.Item label={item.label}> - // {getFieldDecorator(item.FieldName, {initialValue: moment('20190906', weekFormat) })( - // <WeekPicker /> - // )} - // </Form.Item> - // </Col> - // ) - // } - } - }) - - if (this.props.searchlist.length >= 4) { // 娣诲姞鎼滅储銆侀噸缃寜閽� - fields.push( - <Col span={this.props.searchlist.length % 4 ? 6 : 24} style={{ textAlign: 'right' }} key="actions"> - <Button type="primary" htmlType="submit"> - {this.props.dict['main.search']} - </Button> - <Button style={{ marginLeft: 8 }} onClick={this.handleReset}> - {this.props.dict['main.reset']} - </Button> - </Col> - ) - } else { - fields.push( - <Col span={6} style={{ paddingTop: '4px' }} key="actions"> - <Button type="primary" htmlType="submit"> - {this.props.dict['main.search']} - </Button> - <Button style={{ marginLeft: 8 }} onClick={this.handleReset}> - {this.props.dict['main.reset']} - </Button> - </Col> - ) - } - - return fields - } - - handleSearch = (e) => { - // 鍥炶溅鎴栫偣鍑绘悳绱� - e.preventDefault() - this.props.form.validateFields((err, values) => { - this.getFieldsValues(values) - }) - } - - handleReset = () => { - // 閲嶇疆鎼滅储鏉′欢锛岄�氱煡椤甸潰鍒锋柊 - this.props.form.resetFields() - this.props.refreshdata('', 'reset') - } - - getFieldsValues = (searches) => { - // 鑾峰彇鎼滅储鏉′欢鍊� - let search = {} - Object.keys(searches).forEach(key => { - let val = searches[key] || '' - if (searches[key] && typeof(searches[key]) === 'object') { - val = moment(searches[key]).format('YYYY-MM-DD') - } - search[key] = val - }) - - let valid = true // 鏍¢獙蹇呭~椤� - this.props.searchlist.forEach(item => { - let required = false - if (item.Validate && item.Validate !== '{}') { - try { - required = !!JSON.parse(item.Validate).required - } catch (e) { - console.error('Validate Field parse error') - } - } - if (required && !search[item.FieldName]) { - valid = false - notification.warning({ - top: 92, - message: this.props.dict['form.required.input'] + item.label, - duration: 5 - }) - } - }) - if (valid) { - this.props.refreshdata(search) - } - } - - render() { - return ( - <Form className="ant-advanced-search-form datamanage-search" onSubmit={this.handleSearch}> - <Row gutter={24}>{this.getFields()}</Row> - </Form> - ) - } -} - -export default Form.create()(MainSearch) \ No newline at end of file diff --git a/src/tabviews/datamanage/search/index.scss b/src/tabviews/datamanage/search/index.scss deleted file mode 100644 index 91cf85c..0000000 --- a/src/tabviews/datamanage/search/index.scss +++ /dev/null @@ -1,15 +0,0 @@ -.ant-advanced-search-form.datamanage-search { - padding: 0px 24px 20px; - border-bottom: 1px solid #d9d9d9; - .ant-form-item { - display: flex; - margin-bottom: 10px; - } - .ant-form-item-control-wrapper { - flex: 1; - } - .ant-form-item-label { - width: 100px; - text-overflow: ellipsis; - } -} \ No newline at end of file diff --git a/src/tabviews/datamanage/table/index.jsx b/src/tabviews/datamanage/table/index.jsx deleted file mode 100644 index 823c18a..0000000 --- a/src/tabviews/datamanage/table/index.jsx +++ /dev/null @@ -1,154 +0,0 @@ -import React, {Component} from 'react' -import PropTypes from 'prop-types' -import { Table, message, Affix } from 'antd' -import './index.scss' - -export default class MainTable extends Component { - static propTpyes = { - MenuNo: PropTypes.string, // 鑿滃崟鍙傛暟 - loading: PropTypes.bool, - total: PropTypes.number, - selectable: PropTypes.bool, - dict: PropTypes.object, // 瀛楀吀椤� - columns: PropTypes.array, // 琛ㄦ牸鍒� - actions: PropTypes.any, - data: PropTypes.any - } - - state = { - fixed: false, // 琛ㄦ牸澶撮儴鏄惁鍥哄畾浜庨〉闈笂鏂� - selectedRowKeys: [], - pageIndex: 1, - pageSize: 10, - columns: this.props.columns.map(item => { - let _width = parseInt(item.Width) || 50 - - return { - align: item.Align, - dataIndex: item.FieldName, - title: item.Label, - // fixed: index < 3, - sorter: item.IsSort === 'true', - width: _width, - render: (text) => ( - <div style={{ wordWrap: 'break-word', wordBreak: 'break-word', minWidth: _width + 'px' }}> - {item.Type === 'Image' ? <img width={_width * 0.9} src={text} alt={text}/> : text} - </div> - ) - // onHeaderCell: () => ({style:{textAlign: 'center'}}) - } - }) - } - - copycontent = (e, content) => { - // 琛ㄦ牸涓唴瀹瑰鍒� - e.stopPropagation() - let oInput = document.createElement('input') - oInput.value = content - document.body.appendChild(oInput) - oInput.select() - document.execCommand('Copy') - oInput.className = 'oInput' - oInput.style.display='none' - message.success(this.props.dict['main.copy.success']) - } - - onSelectChange = selectedRowKeys => { - this.setState({ selectedRowKeys }) - } - - changeRow = (record, index) => { - // 鐐瑰嚮鏁磋锛岃Е鍙戝垏鎹紝鍒ゆ柇鏄惁鍙�夛紝杩涜瀵瑰簲鎿嶄綔 - if (!this.props.selectable) return - - let newkeys = JSON.parse(JSON.stringify(this.state.selectedRowKeys)) - - if (newkeys.includes(index)) { - newkeys = newkeys.filter(item => item !== index) - } else { - newkeys.push(index) - } - this.setState({ selectedRowKeys: newkeys }) - } - - changeTable = (pagination, filters, sorter) => { - this.setState({ - pageIndex: pagination.current, - pageSize: pagination.pageSize, - selectedRowKeys: [] - }) - this.props.refreshdata(pagination, filters, sorter) - } - - resetTable = () => { - this.setState({ - pageIndex: 1, - selectedRowKeys: [] - }) - } - - componentDidMount () { - let boxwidth = document.body.clientWidth - 275 - let columnsWidth = this.props.selectable ? 60 : 0 - this.state.columns.forEach(column => { - columnsWidth += column.width - }) - if (boxwidth > columnsWidth) { - this.setState({ - fixed: true - }) - } - } - - render() { - let { selectedRowKeys } = this.state - let rowSelection = null - if (this.props.selectable) { - rowSelection = { - selectedRowKeys, - type: 'checkbox', - onChange: this.onSelectChange - } - } - let offset = 48 - if (this.props.actions && this.props.actions.length > 0) { - offset = 105 - } - return ( - <div className="datamanage-table"> - {this.state.fixed && <Affix offsetTop={offset} className="fix-header"> - <Table - bordered={true} - rowSelection={rowSelection} - size="middle" - columns={this.state.columns} - /> - </Affix>} - <Table - className={this.state.fixed ? 'fixed' : ''} - bordered={true} - rowSelection={rowSelection} - size="middle" - columns={this.state.columns} - dataSource={this.props.data ? this.props.data : []} - loading={this.props.loading} - scroll={{ x: '100%', y: false }} - onRow={(record, index) => { - return { - onClick: () => {this.changeRow(record, index)} - } - }} - onChange={this.changeTable} - pagination={{ - current: this.state.pageIndex, - pageSize: this.state.pageSize, - pageSizeOptions: ['10', '25', '50', '100', '500', '1000'], - showSizeChanger: true, - total: this.props.total, - showTotal: (total, range) => `${range[0]}-${range[1]} ${this.props.dict['main.pagination.of']} ${total} ${this.props.dict['main.pagination.items']}` - }} - /> - </div> - ) - } -} diff --git a/src/tabviews/datamanage/table/index.scss b/src/tabviews/datamanage/table/index.scss deleted file mode 100644 index 17d535f..0000000 --- a/src/tabviews/datamanage/table/index.scss +++ /dev/null @@ -1,86 +0,0 @@ -.datamanage-table { - padding: 0 20px 110px; - table { - max-width: 100%; - width: 100%; - .ant-table-column-title { - white-space: nowrap; - } - .ant-table-selection-column { - width: 60px; - min-width: 60px; - max-width: 60px; - } - .ant-table-tbody > tr.ant-table-row-selected td { - background-color: #c4ebfd; - } - .ant-table-tbody > tr:hover.ant-table-row-selected td { - background-color: #c4ebfd; - } - } - .ant-table-body { - overflow-x: auto!important; - min-height: 90px; - border: 1px solid #e8e8e8; - border-radius: 4px; - border-top: none; - border-bottom: none; - table { - border-left: 0; - .ant-table-thead > tr > th:last-child { - border-right: 0; - } - .ant-table-tbody > tr > td:last-child { - border-right: 0; - } - .ant-table-tbody > tr:nth-of-type(even) { - background-color: #fbfcfd; - } - } - } - .ant-table-body::-webkit-scrollbar { - width: 8px; - height: 10px; - } - ::-webkit-scrollbar-thumb { - border-radius: 5px; - box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.13); - background: rgba(0, 0, 0, 0.13); - } - ::-webkit-scrollbar-track {/*婊氬姩鏉¢噷闈㈣建閬�*/ - box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.05); - border-radius: 3px; - border: 1px solid rgba(0, 0, 0, 0.07); - background: rgba(0, 0, 0, 0); - } - .fix-header { - .ant-table-body { - min-height: unset - } - .ant-table-placeholder { - display: none; - } - .ant-table-wrapper { - display: none; - } - .ant-affix .ant-table-wrapper { - display: block; - } - .ant-table-column-sorter, .anticon-filter { - display: none; - } - .ant-table-middle > .ant-table-content > .ant-table-body > table > .ant-table-thead > tr > th { - padding: 12px 9px; - } - .ant-table-thead > tr > th.ant-table-column-has-actions.ant-table-column-has-sorters { - cursor: default; - } - .ant-table-thead > tr > th.ant-table-column-has-actions.ant-table-column-has-sorters:hover { - background: #fafafa; - } - } - // 琛ㄦ牸娌℃湁妯悜婊氬姩鏉℃椂 - .ant-table-wrapper.fixed .ant-table-body { - min-height: unset; - } -} \ No newline at end of file diff --git a/src/tabviews/tabform/index.jsx b/src/tabviews/tabform/index.jsx deleted file mode 100644 index 9384e7b..0000000 --- a/src/tabviews/tabform/index.jsx +++ /dev/null @@ -1,150 +0,0 @@ -import React, {Component} from 'react' -import PropTypes from 'prop-types' -import {connect} from 'react-redux' -import { is, fromJS } from 'immutable' -import { Button, BackTop, notification } from 'antd' -import {refreshTabView, modifyTabview} from '@/store/action' -import MutilForm from '@/components/mutilform' -import Api from '@/api' -import './index.scss' - -class TabForm extends Component { - static propTpyes = { - MenuNo: PropTypes.string, // 鑿滃崟鍙傛暟 - MenuID: PropTypes.string, // 鑿滃崟Id - param: PropTypes.object // 鑿滃崟鍙傛暟 - } - - state = { - loading: false - } - - handleOk = () => { - - this.formRef.handleConfirm().then(res => { - this.setState({ - loading: true - }) - let values = [] - this.props.param.formdata.forEach(column => { - let value = '' - if (res.hasOwnProperty(column.FieldName)) { // 渚濇閫夊彇琛ㄥ崟鍊笺�佸垵濮嬪�� - value = res[column.FieldName] - } else if (column.InitVal) { - value = column.InitVal - } - values.push(column.FieldName + 'equal\'' + value + '\'') - }) - - let queryparam = { // 璇锋眰鍙傛暟 - func: this.props.param.execAction.AuditProc || this.props.param.defaultproc[this.props.param.execAction.Action], - ID: (this.props.param.tabledata && this.props.param.primarykey) ? this.props.param.tabledata[this.props.param.primarykey] : '', // 涓婚敭瀛楁 - BID: (this.props.param.tabledata && this.props.param.bidkey) ? this.props.param.tabledata[this.props.param.bidkey] : '' // BID瀛楁 - } - // 娣诲姞鍜屼慨鏀硅姹傚弬鏁板瓧娈典笉鍚� - if (this.props.param.execAction.Action === 'Add') { - queryparam.AddLongText = values.join(',') - } else if (this.props.param.execAction.Action === 'Update') { - queryparam.UptLongText = values.join(',') - } - - Api.submitInterface(queryparam).then(result => { - if (result.status) { - notification.success({ - top: 92, - message: this.props.param.dict['main.action.confirm.success'], - duration: 2 - }) - - // 鍒锋柊涓诲垪琛ㄩ〉闈� - this.props.refreshTabView({ - MenuNo: this.props.MenuNo, - ReloadForm: this.props.param.execAction.ReloadForm - }) - - if (this.props.param.execAction.BackPre !== 'false') { // 椤甸潰杩斿洖 - this.handleCancel() - } - } else { - notification.error({ - top: 92, - message: result.message, - duration: 10 - }) - this.setState({ - loading: false - }) - } - }) - }, () => {}) - } - - handleCancel = () => { - // 鍏抽棴褰撳墠绐楀彛锛岃繑鍥炲師鍒楄〃椤� - let tabs = JSON.parse(JSON.stringify(this.props.tabviews)) - tabs = tabs.filter(tab => { - if (tab.MenuNo === this.props.MenuNo && tab.type !== 'TabForm') { - tab.selected = true - } else { - tab.selected = false - } - return tab.MenuID !== this.props.MenuID - }) - this.props.modifyTabview(tabs) - // 鎻愪氦鎴愬姛鎴栬繑鍥炴椂锛屾粴鍔ㄨ嚦椤堕儴 - document.body.scrollTop = 0 - document.documentElement.scrollTop = 0 - } - - shouldComponentUpdate (nextProps, nextState) { - return !is(fromJS(this.state), fromJS(nextState)) - } - - render() { - let cols = +this.props.param.execAction.FormLineQty - if (![1, 2, 3].includes(cols)) { - cols = 2 - } - return ( - <div className="tabform"> - <MutilForm - dict={this.props.param.dict} - formlist={this.props.param.formdata} - data={this.props.param.tabledata} - cols={cols} - wrappedComponentRef={(inst) => this.formRef = inst} - /> - <div className="operation"> - <Button type="primary" htmlType="submit" onClick={() => {this.handleOk()}} loading={this.state.loading}> - {this.props.param.dict['main.confirm']} - </Button> - <Button onClick={() => {this.handleCancel()}}> - {this.props.param.dict['main.return']} - </Button> - </div> - <BackTop> - <div className="ant-back-top"> - <div className="ant-back-top-content"> - <div className="ant-back-top-icon"></div> - </div> - </div> - </BackTop> - </div> - ) - } -} - -const mapStateToProps = (state) => { - return { - tabviews: state.tabviews - } -} - -const mapDispatchToProps = (dispatch) => { - return { - refreshTabView: (refreshTab) => dispatch(refreshTabView(refreshTab)), - modifyTabview: (tabviews) => dispatch(modifyTabview(tabviews)) - } -} - -export default connect(mapStateToProps, mapDispatchToProps)(TabForm) \ No newline at end of file diff --git a/src/tabviews/tabform/index.scss b/src/tabviews/tabform/index.scss deleted file mode 100644 index ebdaef0..0000000 --- a/src/tabviews/tabform/index.scss +++ /dev/null @@ -1,15 +0,0 @@ -.tabform { - padding: 25px 25px 120px; - .operation { - text-align: center; - margin: 20px 0; - .ant-btn { - height: 40px; - padding: 0 30px; - font-size: 16px; - } - .ant-btn-primary { - margin-right: 40px; - } - } -} \ No newline at end of file diff --git a/src/tabviews/zshare/normalTable/index.jsx b/src/tabviews/zshare/normalTable/index.jsx index a8e4994..bde034c 100644 --- a/src/tabviews/zshare/normalTable/index.jsx +++ b/src/tabviews/zshare/normalTable/index.jsx @@ -212,8 +212,6 @@ if (tabmenu.LinkUrl === 'CommonTable') { tabmenu.type = 'CommonTable' - } else if (tabmenu.LinkUrl === 'DataManage') { - tabmenu.type = 'DataManage' } else if (tabmenu.LinkUrl && iframes.includes(tabmenu.LinkUrl.split('?')[0])) { tabmenu.type = 'iframe' } -- Gitblit v1.8.0