提交 0f756667 authored 作者: 徐立's avatar 徐立

优化移动端横屏提示

上级 9e8c0faf
...@@ -15,7 +15,7 @@ import { ...@@ -15,7 +15,7 @@ import {
Select, Select,
Popconfirm, Popconfirm,
Tooltip, Tooltip,
Spin Spin,
} from 'antd'; } from 'antd';
import { connect } from 'dva'; import { connect } from 'dva';
import PageHeaderWrapper from './PageHeaderWrapper'; import PageHeaderWrapper from './PageHeaderWrapper';
...@@ -29,12 +29,12 @@ import ExportCurrentInfo from '../../App/ExportCurrentInfo'; ...@@ -29,12 +29,12 @@ import ExportCurrentInfo from '../../App/ExportCurrentInfo';
import StatisticsInfo from '../../App/StatisticsInfo'; import StatisticsInfo from '../../App/StatisticsInfo';
import ImportUtil from '../../App/ImportUtil'; import ImportUtil from '../../App/ImportUtil';
import SearchInfo from '../../App/SearchInfo'; import SearchInfo from '../../App/SearchInfo';
import {Base16Encode} from "../../Base16/index"; import { Base16Encode } from '../../Base16/index';
import {isEmpty} from 'lodash' import { isEmpty } from 'lodash';
import FilePreview from "@/webPublic/one_stop_public/filePreview"; import FilePreview from '@/webPublic/one_stop_public/filePreview';
import {queryApiActionPath} from "@/webPublic/one_stop_public/utils/queryConfig"; import { queryApiActionPath } from '@/webPublic/one_stop_public/utils/queryConfig';
import UploadCom from "@/webPublic/one_stop_public/libs/UploadCom"; import UploadCom from '@/webPublic/one_stop_public/libs/UploadCom';
const FormItem = Form.Item; const FormItem = Form.Item;
let AllWidth = 0; // 表格总长度 let AllWidth = 0; // 表格总长度
const { RangePicker } = DatePicker; const { RangePicker } = DatePicker;
...@@ -82,37 +82,33 @@ const CreateForm = Form.create()(props => { ...@@ -82,37 +82,33 @@ const CreateForm = Form.create()(props => {
handleModalVisible, handleModalVisible,
formItem, formItem,
getItem, getItem,
isView isView,
} = props; } = props;
//通过回调 //通过回调
const okHandle = () => { const okHandle = () => {
form.validateFields((err, fieldsValue) => { form.validateFields((err, fieldsValue) => {
if (err) return; if (err) return;
if(isView){ if (isView) {
handleModalVisible(); handleModalVisible();
return; return;
} }
formItem.map((item, index) => { formItem.map((item, index) => {
if (item.type.indexOf('DATE') > -1) { if (item.type.indexOf('DATE') > -1) {
for (let d in fieldsValue) { for (let d in fieldsValue) {
if (item.name === d&&fieldsValue[d]) { if (item.name === d && fieldsValue[d]) {
fieldsValue[d] = fieldsValue[d].format('YYYY-MM-DD HH:mm:ss'); fieldsValue[d] = fieldsValue[d].format('YYYY-MM-DD HH:mm:ss');
break break;
} }
} }
}else if (number.includes(item.type)) { } else if (number.includes(item.type)) {
for (let d in fieldsValue) { for (let d in fieldsValue) {
if (item.name === d && fieldsValue[d] == '') {
if (item.name === d&&fieldsValue[d]=="") { fieldsValue[d] = null;
break;
fieldsValue[d]=null }
break
}
} }
} }
}); });
let params = { ...fieldsValue }; let params = { ...fieldsValue };
handleAdd(params, isAdd); handleAdd(params, isAdd);
...@@ -125,28 +121,33 @@ const CreateForm = Form.create()(props => { ...@@ -125,28 +121,33 @@ const CreateForm = Form.create()(props => {
width="700px" width="700px"
maskClosable={false} maskClosable={false}
destroyOnClose destroyOnClose
title={isView?"查看详情":(isAdd ? '新增' : '编辑')} title={isView ? '查看详情' : isAdd ? '新增' : '编辑'}
visible={modalVisible} visible={modalVisible}
footer={isView?null:[ footer={
<Button key="back" onClick={() => handleModalVisible()}> isView
取消 ? null
</Button>, : [
<Button key="submit" type="primary" onClick={okHandle}> <Button key="back" onClick={() => handleModalVisible()}>
确定 取消
</Button> </Button>,
]} <Button key="submit" type="primary" onClick={okHandle}>
确定
</Button>,
]
}
onOk={okHandle} onOk={okHandle}
onCancel={() => handleModalVisible()} onCancel={() => handleModalVisible()}
> >
{formItem.map((item, index) => getItem(false,form, item, isAdd, formData, { span: 5 }, { span: 15 }))} {formItem.map((item, index) =>
getItem(false, form, item, isAdd, formData, { span: 5 }, { span: 15 }),
)}
</Modal> </Modal>
); );
}); });
@connect(({ formList, loading }) => ({ @connect(({ formList, loading }) => ({
formList, loading: loading.models.formList, formList,
loading: loading.models.formList,
})) }))
@Form.create() @Form.create()
class FormList extends React.Component { class FormList extends React.Component {
...@@ -155,59 +156,59 @@ class FormList extends React.Component { ...@@ -155,59 +156,59 @@ class FormList extends React.Component {
list: [], list: [],
pagination: {}, pagination: {},
}, },
selects:[], selects: [],
modalVisible: false, modalVisible: false,
formData: null, formData: null,
formValues: {}, formValues: {},
formItem: [], formItem: [],
objId: this.props.objId || (this.props.location?this.props.location.state.id:null), objId: this.props.objId || (this.props.location ? this.props.location.state.id : null),
isAdd: false, isAdd: false,
querys: [], querys: [],
selectedRows: [], selectedRows: [],
primaryKey: null, primaryKey: null,
options: {}, options: {},
isTable: true, isTable: true,
tableWidth:500, tableWidth: 500,
rights:this.props.rights||[], rights: this.props.rights || [],
columnRights:[], columnRights: [],
isReady:false, isReady: false,
groups:{}, groups: {},
showDiv:'', showDiv: '',
showMobileDiv:'', showMobileDiv: '',
isView:false isView: false,
}; };
columns = []; columns = [];
getOptions = () => { getOptions = () => {
const refIds = [] const refIds = [];
for (var i = 0; i < this.state.formItem.length; i++) { for (var i = 0; i < this.state.formItem.length; i++) {
if (
if (this.state.formItem[i].referenceObjId != null && this.state.options[this.state.formItem[i].id + ''] == null) { this.state.formItem[i].referenceObjId != null &&
refIds.push(datas[t].id) this.state.options[this.state.formItem[i].id + ''] == null
) {
refIds.push(datas[t].id);
} }
} }
if (refIds.length > 0) { if (refIds.length > 0) {
dispatch({ dispatch({
type: 'formList/getBatchOptions', type: 'formList/getBatchOptions',
payload: { ids: refIds }, payload: { ids: refIds },
callback: (options) => { callback: options => {
this.setState({ options: { ...this.state.options, ...options } });
this.setState({ options: { ...this.state.options, ...options } }) },
}
}); });
} }
} };
modify = record => { modify = record => {
// if (this.state.formItem.length < 10) { // if (this.state.formItem.length < 10) {
this.getOptions() this.getOptions();
this.setState({ this.setState({
formData: record, formData: record,
modalVisible: true, modalVisible: true,
isAdd: false, isAdd: false,
isView:false isView: false,
}); });
// } else { // } else {
// router.push({ // router.push({
// pathname: '/admin/ddl/dataObj/formEdit', // pathname: '/admin/ddl/dataObj/formEdit',
...@@ -222,16 +223,15 @@ class FormList extends React.Component { ...@@ -222,16 +223,15 @@ class FormList extends React.Component {
// } // }
}; };
view = record => { view = record => {
// if (this.state.formItem.length < 10) { // if (this.state.formItem.length < 10) {
this.getOptions() this.getOptions();
this.setState({ this.setState({
formData: record, formData: record,
modalVisible: true, modalVisible: true,
isAdd: false, isAdd: false,
isView:true isView: true,
}); });
// } else { // } else {
// router.push({ // router.push({
// pathname: '/admin/ddl/dataObj/formEdit', // pathname: '/admin/ddl/dataObj/formEdit',
...@@ -246,7 +246,7 @@ class FormList extends React.Component { ...@@ -246,7 +246,7 @@ class FormList extends React.Component {
// } // }
}; };
isJSON = (str) => { isJSON = str => {
if (typeof str == 'string') { if (typeof str == 'string') {
try { try {
var obj = JSON.parse(str); var obj = JSON.parse(str);
...@@ -255,14 +255,13 @@ class FormList extends React.Component { ...@@ -255,14 +255,13 @@ class FormList extends React.Component {
} else { } else {
return false; return false;
} }
} catch (e) { } catch (e) {
console.log('error:' + str + '!!!' + e); console.log('error:' + str + '!!!' + e);
return false; return false;
} }
} }
console.log('这不是个字符串') console.log('这不是个字符串');
} };
delete = record => { delete = record => {
//找出主键 //找出主键
...@@ -272,7 +271,7 @@ class FormList extends React.Component { ...@@ -272,7 +271,7 @@ class FormList extends React.Component {
type: 'formList/delete', type: 'formList/delete',
payload: { payload: {
keys: JSON.stringify(Keys), keys: JSON.stringify(Keys),
objId: this.state.objId objId: this.state.objId,
}, },
callback: () => { callback: () => {
this.getPage(); this.getPage();
...@@ -281,14 +280,14 @@ class FormList extends React.Component { ...@@ -281,14 +280,14 @@ class FormList extends React.Component {
}; };
viewProcess = record => { viewProcess = record => {
const {dispatch}= this.props; const { dispatch } = this.props;
dispatch({ dispatch({
type: 'formList/getAppId', type: 'formList/getAppId',
payload: { payload: {
code: record.process_biz_key, code: record.process_biz_key,
}, },
callback: (data) => { callback: data => {
router.push({pathname: '/portal/serviceCentre/getdetail',state: {id:data.id}}) router.push({ pathname: '/portal/serviceCentre/getdetail', state: { id: data.id } });
}, },
}); });
}; };
...@@ -296,73 +295,70 @@ class FormList extends React.Component { ...@@ -296,73 +295,70 @@ class FormList extends React.Component {
/** /**
* 宽度自适应函数 * 宽度自适应函数
*/ */
resize = (e) => { resize = e => {
let scrollWidth = document.documentElement.clientWidth || document.body.clientWidth; //可使宽度 let scrollWidth = document.documentElement.clientWidth || document.body.clientWidth; //可使宽度
let showMobileDiv = scrollWidth-77 let showMobileDiv = scrollWidth - 77;
if(document.querySelector('#previewDiv')){ // 预览模式 if (document.querySelector('#previewDiv')) {
// 预览模式
this.setState({ this.setState({
showMobileDiv:document.querySelector('#previewDiv').clientWidth-77 showMobileDiv: document.querySelector('#previewDiv').clientWidth - 77,
}) });
} else { } else {
this.setState({ this.setState({
showMobileDiv, showMobileDiv,
}) });
} }
console.log(showMobileDiv) console.log(showMobileDiv);
} };
//渲染值 //渲染值
componentDidMount() { componentDidMount() {
const { dispatch, isFormCom, isSelect, callback, valueName } = this.props; const { dispatch, isFormCom, isSelect, callback, valueName } = this.props;
window.addEventListener('resize', this.resize); window.addEventListener('resize', this.resize);
if(this.props.objCode){ if (this.props.objCode) {
const { dispatch, objCode,sql} = this.props; const { dispatch, objCode, sql } = this.props;
if(objCode==1||objCode=="1"){ if (objCode == 1 || objCode == '1') {
this.initColumn(); this.initColumn();
}else{ } else {
dispatch({ dispatch({
type: 'DataObj/findByCode', type: 'DataObj/findByCode',
payload: { objCode:this.props.objCode }, payload: { objCode: this.props.objCode },
callback: dataObj => { callback: dataObj => {
this.setState({ objId: dataObj.id ,isTable: data.isTable},()=>{ this.setState({ objId: dataObj.id, isTable: data.isTable }, () => {
dispatch({ dispatch({
type: 'DataRight/getUserRight', type: 'DataRight/getUserRight',
payload: { objId: this.state.objId }, payload: { objId: this.state.objId },
callback: data => { callback: data => {
if(!this.props.rights){ if (!this.props.rights) {
this.setState({ rights: data }); this.setState({ rights: data });
} }
dispatch({ dispatch({
type: 'DataRight/getUserColumnRight', type: 'DataRight/getUserColumnRight',
payload: { objId: this.state.objId }, payload: { objId: this.state.objId },
callback: data => { callback: data => {
this.setState({ columnRights: data }); this.setState({ columnRights: data });
this.initColumn(); this.initColumn();
} },
}); });
} },
}); });
}); });
}, },
}); });
} }
} else {
}else{
dispatch({ dispatch({
type: 'formList/getObjDetail', type: 'formList/getObjDetail',
payload: { id: this.state.objId }, payload: { id: this.state.objId },
callback: data => { callback: data => {
this.setState({ isTable: data.isTable }); this.setState({ isTable: data.isTable });
} },
}); });
dispatch({ dispatch({
type: 'DataRight/getUserRight', type: 'DataRight/getUserRight',
payload: { objId: this.state.objId }, payload: { objId: this.state.objId },
callback: data => { callback: data => {
if(!this.props.rights){ if (!this.props.rights) {
this.setState({ rights: data }); this.setState({ rights: data });
} }
dispatch({ dispatch({
...@@ -371,188 +367,186 @@ class FormList extends React.Component { ...@@ -371,188 +367,186 @@ class FormList extends React.Component {
callback: data => { callback: data => {
this.setState({ columnRights: data }); this.setState({ columnRights: data });
this.initColumn(); this.initColumn();
} },
}); });
} },
}); });
} }
} }
/** /**
* 移除监听器 * 移除监听器
*/ */
componentWillUnmount(){ componentWillUnmount() {
window.removeEventListener('resize',this.resize); window.removeEventListener('resize', this.resize);
} }
custom=this.props.value?Base16Encode(JSON.stringify(this.props.value)):null custom = this.props.value ? Base16Encode(JSON.stringify(this.props.value)) : null;
componentWillReceiveProps(nextProps){ componentWillReceiveProps(nextProps) {
const b = nextProps.value || {};
const b = nextProps.value||{}
const a = this.props.value || {};
const a = this.props.value||{} const jsonb = JSON.stringify(b);
const jsonb=JSON.stringify(b) const jsona = JSON.stringify(a);
const jsona=JSON.stringify(a)
this.custom = Base16Encode(jsonb);
this.custom=Base16Encode(jsonb) if (jsona != jsonb) {
if(jsona!=jsonb){ let params = {
let params= { pageNo: b.pageNo ? b.pageNo : this.state.data.pagination.current,
pageNo: b.pageNo?b.pageNo:this.state.data.pagination.current, pageSize: b.pageSize ? b.pageSize : this.state.data.pagination.pageSize,
pageSize: b.pageSize?b.pageSize:this.state.data.pagination.pageSize, query: JSON.stringify(this.state.formValues),
query: JSON.stringify(this.state.formValues), };
};
if(nextProps.value.columns!=null&&nextProps.value.columns.length>0){
this.columns=nextProps.value.columns
}
if( nextProps.value.getPage){ if (nextProps.value.columns != null && nextProps.value.columns.length > 0) {
this.getPage(params,null,nextProps.value.getPage); this.columns = nextProps.value.columns;
}else{ }
if(this.state.objId)this.getPage(params)
}
}
const x=nextProps.selects
const y = this.props.selects
if(JSON.stringify(x)!=JSON.stringify(y)){
this.setState({selects:x}) if (nextProps.value.getPage) {
this.getPage(params, null, nextProps.value.getPage);
} else {
if (this.state.objId) this.getPage(params);
}
}
const x = nextProps.selects;
const y = this.props.selects;
if (JSON.stringify(x) != JSON.stringify(y)) {
this.setState({ selects: x });
} }
} }
initColumn = () =>{ initColumn = () => {
const { dispatch, isFormCom, isSelect, callback, valueName } = this.props;
const { dispatch, isFormCom, isSelect, callback, valueName } = this.props;
const {rights,columnRights} = this.state; const { rights, columnRights } = this.state;
if(this.props.value&&this.props.value.columns){ if (this.props.value && this.props.value.columns) {
this.columns=this.props.value.columns this.columns = this.props.value.columns;
this.getPage(); this.getPage();
return return;
} }
if(this.props.objCode==1||this.props.objCode=="1"){ if (this.props.objCode == 1 || this.props.objCode == '1') {
} else {
}else{
dispatch({ dispatch({
type: 'formList/getHead', type: 'formList/getHead',
payload: { dataObjId: this.state.objId }, payload: { dataObjId: this.state.objId },
callback: datas => { callback: datas => {
const querys = [] const querys = [];
const refIds = [] const refIds = [];
const groups ={}; const groups = {};
if (datas) { if (datas) {
this.state.formItem = datas; this.state.formItem = datas;
let i = 0; let i = 0;
for (let t in datas) { for (let t in datas) {
if (datas[t].isPrimaryKey) this.state.primaryKey = datas[t].name; if (datas[t].isPrimaryKey) this.state.primaryKey = datas[t].name;
if(datas[t].isHidden){ if (datas[t].isHidden) {
continue continue;
} }
let column = {}; let column = {};
column.title = datas[t].title; column.title = datas[t].title;
column.dataIndex = datas[t].name; column.dataIndex = datas[t].name;
column.width = datas[t].width; column.width = datas[t].width;
if(i==0) column.fixed='left'; if (i == 0) column.fixed = 'left';
if(columnRights.length>0&&!columnRights.includes(datas[t].id)){ if (columnRights.length > 0 && !columnRights.includes(datas[t].id)) {
continue; continue;
} }
if (data.includes(datas[t].type)) { if (data.includes(datas[t].type)) {
column.render =( val) =>{ column.render = val => {
if(val == null){ if (val == null) {
return val; return val;
} }
if(datas[t].dataFormatStrWeb!=null){ if (datas[t].dataFormatStrWeb != null) {
return moment(val).format(datas[t].dataFormatStrWeb); return moment(val).format(datas[t].dataFormatStrWeb);
}else { } else {
return moment(val).format('YYYY-MM-DD HH:mm:ss'); return moment(val).format('YYYY-MM-DD HH:mm:ss');
} }
} };
}else if(datas[t].name.indexOf("process_status")>-1){ } else if (datas[t].name.indexOf('process_status') > -1) {
column.render=(val)=>val?(val==="0"?"审核通过":"审核未通过"):null column.render = val => (val ? (val === '0' ? '审核通过' : '审核未通过') : null);
}else if(datas[t].extendTypeId&&datas[t].extendTypeId.indexOf("file")>-1){ //特殊处理附件 } else if (datas[t].extendTypeId && datas[t].extendTypeId.indexOf('file') > -1) {
column.render =( val) =>{ //特殊处理附件
if(this.isJSON(val)){ column.render = val => {
if (this.isJSON(val)) {
val = JSON.parse(val); val = JSON.parse(val);
let files = val.files; let files = val.files;
let xx =( <ul> let xx = (
{files.map((f, index2) => { <ul>
return <li key={index2}><FilePreview {files.map((f, index2) => {
path={queryApiActionPath() + f.path} return (
pathName={f.name} <li key={index2}>
/></li> <FilePreview path={queryApiActionPath() + f.path} pathName={f.name} />
} </li>
)} );
})}
</ul> </ul>
) );
return xx; return xx;
}else { } else {
return val; return val;
} }
} };
}else{ } else {
column.render=(val)=>val&&val.length>100? <Tooltip title={val} overlayStyle={{width:1000}}> column.render = val =>
<span style={{width:column.width||200,display:"block", wordBreak:"keep-all",whiteSpace:"nowrap", overflow:"hidden", textOverflow:"ellipsis"}}>{val}</span> val && val.length > 100 ? (
</Tooltip>:val <Tooltip title={val} overlayStyle={{ width: 1000 }}>
<span
style={{
width: column.width || 200,
display: 'block',
wordBreak: 'keep-all',
whiteSpace: 'nowrap',
overflow: 'hidden',
textOverflow: 'ellipsis',
}}
>
{val}
</span>
</Tooltip>
) : (
val
);
} }
this.setState({tableWidth:((datas.length-1)*200)}) this.setState({ tableWidth: (datas.length - 1) * 200 });
this.columns.push(column); this.columns.push(column);
if (datas[t].isShowQuery) { if (datas[t].isShowQuery) {
querys.push(datas[t]) querys.push(datas[t]);
if (datas[t].referenceObjId != null) { if (datas[t].referenceObjId != null) {
refIds.push(datas[t].id) refIds.push(datas[t].id);
} }
if(datas[t].isGroupQuery!=null){ if (datas[t].isGroupQuery != null) {
dispatch({ dispatch({
type: 'formList/getGroupList', type: 'formList/getGroupList',
payload: { columnId: datas[t].id }, payload: { columnId: datas[t].id },
callback: (gourp) => { callback: gourp => {
groups[datas[t].id] = gourp; groups[datas[t].id] = gourp;
this.setState({ groups }) this.setState({ groups });
} },
}); });
} }
} }
i++; i++;
} }
if (querys.length > 0) { if (querys.length > 0) {
this.setState({ querys }) this.setState({ querys });
if (refIds.length > 0) { if (refIds.length > 0) {
dispatch({ dispatch({
type: 'formList/getBatchOptions', type: 'formList/getBatchOptions',
payload: { ids: refIds }, payload: { ids: refIds },
callback: (options) => { callback: options => {
this.setState({ options }) this.setState({ options });
} },
}); });
} }
} }
this.getPage(); this.getPage();
} }
}, },
}); });
} }
};
sqlBs16 = Base16Encode(this.props.sql);
} getPage = (params, values, callPage) => {
sqlBs16=Base16Encode(this.props.sql) if (this.columns == null || this.columns.length == 0) {
getPage = (params, values,callPage) => {
if(this.columns==null||this.columns.length==0){
return; return;
} }
const { dispatch } = this.props; const { dispatch } = this.props;
...@@ -561,62 +555,56 @@ class FormList extends React.Component { ...@@ -561,62 +555,56 @@ class FormList extends React.Component {
if (params == null) { if (params == null) {
params = { params = {
pageNo: pagination.current ? pagination.current : 1, pageNo: pagination.current ? pagination.current : 1,
pageSize: pagination.pageSize ? pagination.pageSize : (this.props.pageSize||10), pageSize: pagination.pageSize ? pagination.pageSize : this.props.pageSize || 10,
query: JSON.stringify(values!=null?values:this.state.formValues), query: JSON.stringify(values != null ? values : this.state.formValues),
}; };
} }
if(this.props.objCode&&(this.props.objCode=="1"||this.props.objCode==1)){ if (this.props.objCode && (this.props.objCode == '1' || this.props.objCode == 1)) {
if(callPage){ if (callPage) {
callPage(params,(data)=>{ callPage(params, data => {
if(!this.state.isReady){ if (!this.state.isReady) {
this.setState({data,isReady:true}) this.setState({ data, isReady: true });
}else{ } else {
this.setState({data}) this.setState({ data });
} }
}) });
}else if(this.props.value&&this.props.value.getPage){ } else if (this.props.value && this.props.value.getPage) {
this.props.value.getPage(params,(data)=>{ this.props.value.getPage(params, data => {
if (!this.state.isReady) {
if(!this.state.isReady){ this.setState({ data, isReady: true });
this.setState({data,isReady:true}) } else {
}else{ this.setState({ data });
this.setState({data})
} }
}) });
} }
} else {
}else{
dispatch({ dispatch({
type: 'formList/fetch', type: 'formList/fetch',
payload: { payload: {
custom:this.custom, custom: this.custom,
...params, ...params,
sql:this.sqlBs16, sql: this.sqlBs16,
dataObjId: this.state.objId, dataObjId: this.state.objId,
}, },
callback:(data)=>{ callback: data => {
if(!this.state.isReady){ if (!this.state.isReady) {
this.setState({data,isReady:true}) this.setState({ data, isReady: true });
}else{ } else {
this.setState({data}) this.setState({ data });
} }
},
}
}); });
} }
}; };
handleStandardTableChange = (pagination, filtersArg, sorter) => { handleStandardTableChange = (pagination, filtersArg, sorter) => {
const filters = Object.keys(filtersArg) const filters = Object.keys(filtersArg).reduce((obj, key) => {
.reduce((obj, key) => { const newObj = { ...obj };
const newObj = { ...obj }; newObj[key] = getValue(filtersArg[key]);
newObj[key] = getValue(filtersArg[key]); return newObj;
return newObj; }, {});
}, {});
const params = { const params = {
pageNo: pagination.current, pageNo: pagination.current,
...@@ -641,7 +629,7 @@ class FormList extends React.Component { ...@@ -641,7 +629,7 @@ class FormList extends React.Component {
objId: this.state.objId, objId: this.state.objId,
isAdd: isAdd, isAdd: isAdd,
isSelf: true, isSelf: true,
isView:false isView: false,
}, },
callback: () => { callback: () => {
message.success('操作成功'); message.success('操作成功');
...@@ -661,14 +649,14 @@ class FormList extends React.Component { ...@@ -661,14 +649,14 @@ class FormList extends React.Component {
}; };
add = () => { add = () => {
// if (this.state.formItem.length < 10) { // if (this.state.formItem.length < 10) {
this.getOptions() this.getOptions();
this.setState({ this.setState({
modalVisible: true, modalVisible: true,
formData: {}, formData: {},
isAdd: true, isAdd: true,
isView:false isView: false,
}); });
// } else { // } else {
// router.push({ // router.push({
// pathname: '/admin/ddl/dataObj/formEdit', // pathname: '/admin/ddl/dataObj/formEdit',
...@@ -678,8 +666,8 @@ class FormList extends React.Component { ...@@ -678,8 +666,8 @@ class FormList extends React.Component {
}; };
handleSelectRows = rows => { handleSelectRows = rows => {
if(this.props.onSelectRow){ if (this.props.onSelectRow) {
this.props.onSelectRow(rows) this.props.onSelectRow(rows);
} }
this.setState({ this.setState({
selectedRows: rows, selectedRows: rows,
...@@ -698,8 +686,7 @@ class FormList extends React.Component { ...@@ -698,8 +686,7 @@ class FormList extends React.Component {
for (let i in columns) { for (let i in columns) {
if (columns[i].isPrimaryKey) { if (columns[i].isPrimaryKey) {
//key //key
Keys[columns[i].name] = selectedRows.map(row => row[columns[i].name]) Keys[columns[i].name] = selectedRows.map(row => row[columns[i].name]).join(',');
.join(',');
} }
} }
this.props.dispatch({ this.props.dispatch({
...@@ -707,7 +694,7 @@ class FormList extends React.Component { ...@@ -707,7 +694,7 @@ class FormList extends React.Component {
payload: { payload: {
keys: JSON.stringify(Keys), keys: JSON.stringify(Keys),
objId: this.state.objId, objId: this.state.objId,
isSelf: true isSelf: true,
}, },
callback: () => { callback: () => {
this.setState({ this.setState({
...@@ -721,26 +708,28 @@ class FormList extends React.Component { ...@@ -721,26 +708,28 @@ class FormList extends React.Component {
goBack = () => { goBack = () => {
router.goBack(); router.goBack();
}; };
handleSearch = (e) => { handleSearch = e => {
e.preventDefault(); e.preventDefault();
const { dispatch, form } = this.props; const { dispatch, form } = this.props;
const {formValues} = this.state; const { formValues } = this.state;
form.validateFields((err, fieldsValue) => { form.validateFields((err, fieldsValue) => {
if (err) return; if (err) return;
const formItem = this.state.formItem;
const formItem = this.state.formItem
formItem.map((item, index) => { formItem.map((item, index) => {
if (item.type.indexOf('DATE') > -1) { if (item.type.indexOf('DATE') > -1) {
for (let d in fieldsValue) { for (let d in fieldsValue) {
if (item.name === d && fieldsValue[d]) { if (item.name === d && fieldsValue[d]) {
if(fieldsValue[d]!=null&&fieldsValue[d].length>0){ if (fieldsValue[d] != null && fieldsValue[d].length > 0) {
fieldsValue[d]=[fieldsValue[d][0].format('YYYY-MM-DD HH:mm:ss'),fieldsValue[d][1].format('YYYY-MM-DD HH:mm:ss')]; fieldsValue[d] = [
}else { fieldsValue[d][0].format('YYYY-MM-DD HH:mm:ss'),
fieldsValue[d]=""; fieldsValue[d][1].format('YYYY-MM-DD HH:mm:ss'),
];
} else {
fieldsValue[d] = '';
} }
} }
} }
...@@ -748,115 +737,137 @@ class FormList extends React.Component { ...@@ -748,115 +737,137 @@ class FormList extends React.Component {
}); });
const values = { const values = {
...this.state.formValues, ...this.state.formValues,
...fieldsValue ...fieldsValue,
}; };
this.setState({ this.setState({
formValues: fieldsValue, formValues: fieldsValue,
}); });
this.getPage(null, values) this.getPage(null, values);
}); });
} };
hanldeHighSearch=(e)=>{ hanldeHighSearch = e => {
const pagination = this.props.formList.data.pagination; const pagination = this.props.formList.data.pagination;
let params = { let params = {
pageNo: pagination.current ? pagination.current : 1, pageNo: pagination.current ? pagination.current : 1,
pageSize: pagination.pageSize ? pagination.pageSize : (this.props.pageSize||10), pageSize: pagination.pageSize ? pagination.pageSize : this.props.pageSize || 10,
...e ...e,
} };
this.setState({formValues:{...e,...this.state.formValues}}) this.setState({ formValues: { ...e, ...this.state.formValues } });
this.getPage(params) this.getPage(params);
} };
handleFormReset = () => { handleFormReset = () => {
const { form, dispatch } = this.props; const { form, dispatch } = this.props;
form.resetFields(); form.resetFields();
this.setState({ this.setState(
formValues: {}, {
}, () => { formValues: {},
this.getPage() },
}); () => {
this.getPage();
} },
getItem = (isQuery,form, item, isAdd, formData, labelCol, wrapperCol) => { );
const {groups,isView} =this.state; };
getItem = (isQuery, form, item, isAdd, formData, labelCol, wrapperCol) => {
const { groups, isView } = this.state;
//如果隐藏的话 就用隐藏域放置 //如果隐藏的话 就用隐藏域放置
if(item.isHidden){ if (item.isHidden) {
return ( return (
<FormItem > <FormItem>
{form.getFieldDecorator(item.name, { {form.getFieldDecorator(item.name, {
initialValue: formData == null ? '' : formData[item.name], initialValue: formData == null ? '' : formData[item.name],
})(<Input type='hidden' placeholder="请输入"/>)} })(<Input type="hidden" placeholder="请输入" />)}
</FormItem> </FormItem>
); );
} }
if (item.isPrimaryKey) { if (item.isPrimaryKey) {
if (isAdd) { if (isAdd) {
return (<></>); return <></>;
} else { } else {
return ( return (
<FormItem labelCol={labelCol} wrapperCol={wrapperCol} label={item.title} key={item.id}> <FormItem labelCol={labelCol} wrapperCol={wrapperCol} label={item.title} key={item.id}>
{form.getFieldDecorator(item.name, { {form.getFieldDecorator(item.name, {
initialValue: formData == null ? '' : formData[item.name], initialValue: formData == null ? '' : formData[item.name],
rules: [{ required: !item.isNull }], rules: [{ required: !item.isNull }],
})(<Input style={{ width: '70%' }} readOnly={!isAdd} placeholder="请输入"/>)} })(<Input style={{ width: '70%' }} readOnly={!isAdd} placeholder="请输入" />)}
</FormItem> </FormItem>
); );
} }
} else if (item.referenceObjId != null) { } else if (item.referenceObjId != null) {
const { options } = this.state const { options } = this.state;
const ops = options[item.id + ''] || [] const ops = options[item.id + ''] || [];
return ( return (
<FormItem labelCol={labelCol} wrapperCol={wrapperCol} label={item.title} key={item.id}> <FormItem labelCol={labelCol} wrapperCol={wrapperCol} label={item.title} key={item.id}>
{form.getFieldDecorator(item.name, { {form.getFieldDecorator(item.name, {
initialValue: formData == null ? '' : formData[item.name], initialValue: formData == null ? '' : formData[item.name],
rules: [{ required: !item.isNull }], rules: [{ required: !item.isNull }],
})(<Select disabled={isView} style={{ width: '70%' }} placeholder="请选择" allowClear> })(
<Select disabled={isView} style={{ width: '70%' }} placeholder="请选择" allowClear>
{ops.map((r) => <Option value={r[item.referenceCodeName]} {ops.map(r => (
key={r[item.referenceCodeName]}>{r[item.referenceNameName]}</Option>)} <Option value={r[item.referenceCodeName]} key={r[item.referenceCodeName]}>
</Select>)} {r[item.referenceNameName]}
</Option>
))}
</Select>,
)}
</FormItem> </FormItem>
); );
}else if(item.name.indexOf("process_status")>-1){ } else if (item.name.indexOf('process_status') > -1) {
return ( return (
<FormItem labelCol={labelCol} wrapperCol={wrapperCol} label={item.title} key={item.id}> <FormItem labelCol={labelCol} wrapperCol={wrapperCol} label={item.title} key={item.id}>
{form.getFieldDecorator(item.name, { {form.getFieldDecorator(item.name, {
initialValue: formData == null ? '' : formData[item.name], initialValue: formData == null ? '' : formData[item.name],
rules: [{ required: !item.isNull }], rules: [{ required: !item.isNull }],
})(<Select disabled={isView} style={{ width: '70%' }} placeholder="请选择" allowClear> })(
<Option value={'0'} key={'0'}>审核通过</Option> <Select disabled={isView} style={{ width: '70%' }} placeholder="请选择" allowClear>
<Option value={'2'} key={'2'}>审核未通过</Option> <Option value={'0'} key={'0'}>
</Select>)} 审核通过
</Option>
<Option value={'2'} key={'2'}>
审核未通过
</Option>
</Select>,
)}
</FormItem> </FormItem>
); );
} else if (item.extendTypeId && item.extendTypeId.indexOf('file') > -1) {
} else if(item.extendTypeId&&item.extendTypeId.indexOf("file")>-1){ //特殊处理附件 如果是查询就 跳过
//特殊处理附件 如果是查询就 跳过 if (isQuery) return;
if(isQuery) return ; return (
return ( <FormItem labelCol={labelCol} wrapperCol={wrapperCol} label={item.title} key={item.id}>
<FormItem labelCol={labelCol} wrapperCol={wrapperCol} label={item.title} key={item.id}> {form.getFieldDecorator(item.name, {
{form.getFieldDecorator(item.name, { initialValue:
initialValue: formData == null ? '' : (formData[item.name]&&this.isJSON(formData[item.name])?JSON.parse(formData[item.name]):null), formData == null
rules: [{ required: !item.isNull }], ? ''
})(<UploadCom disabled={isView} />)} : formData[item.name] && this.isJSON(formData[item.name])
? JSON.parse(formData[item.name])
: null,
rules: [{ required: !item.isNull }],
})(<UploadCom disabled={isView} />)}
</FormItem> </FormItem>
); );
} else if(isQuery&&item.isGroupQuery!=null&&item.isGroupQuery){ //如果是查询 并且是组合查询 } else if (isQuery && item.isGroupQuery != null && item.isGroupQuery) {
//如果是查询 并且是组合查询
const ops = groups[item.id + ''] || [] const ops = groups[item.id + ''] || [];
return ( return (
<FormItem labelCol={labelCol} wrapperCol={wrapperCol} label={item.title} key={item.id}> <FormItem labelCol={labelCol} wrapperCol={wrapperCol} label={item.title} key={item.id}>
{form.getFieldDecorator(item.name, { {form.getFieldDecorator(item.name, {
initialValue: formData == null ? '' : formData[item.name], initialValue: formData == null ? '' : formData[item.name],
rules: [{ required: !item.isNull }], rules: [{ required: !item.isNull }],
})(<Select disabled={isView} style={{ width: '70%' }} placeholder="请选择" allowClear> })(
{ops.map((r) => <Option value={r.value} <Select disabled={isView} style={{ width: '70%' }} placeholder="请选择" allowClear>
key={r.value}>{r.value}</Option>)} {ops.map(r => (
</Select>)} <Option value={r.value} key={r.value}>
{r.value}
</Option>
))}
</Select>,
)}
</FormItem> </FormItem>
); );
} else if (text.indexOf(item.type) > -1) { } else if (text.indexOf(item.type) > -1) {
...@@ -865,52 +876,60 @@ class FormList extends React.Component { ...@@ -865,52 +876,60 @@ class FormList extends React.Component {
{form.getFieldDecorator(item.name, { {form.getFieldDecorator(item.name, {
initialValue: formData == null ? '' : formData[item.name], initialValue: formData == null ? '' : formData[item.name],
rules: [{ required: !item.isNull }], rules: [{ required: !item.isNull }],
})(<Input disabled={isView} style={{ width: '70%' }} placeholder="请输入"/>)} })(<Input disabled={isView} style={{ width: '70%' }} placeholder="请输入" />)}
</FormItem> </FormItem>
); );
} else if (number.indexOf(item.type) > -1) { } else if (number.indexOf(item.type) > -1) {
return ( return (
<FormItem labelCol={labelCol} wrapperCol={wrapperCol} label={item.title} key={item.id}> <FormItem labelCol={labelCol} wrapperCol={wrapperCol} label={item.title} key={item.id}>
{form.getFieldDecorator(item.name, { {form.getFieldDecorator(item.name, {
initialValue: formData == null ? '' : formData[item.name], initialValue: formData == null ? '' : formData[item.name],
rules: [{ required: !item.isNull},(rule, value, callback)=>{ rules: [
var errors=[]; { required: !item.isNull },
var reg=new RegExp(/(^-?[0-9][0-9]*(.[0-9]+)?)$/) (rule, value, callback) => {
if(value!=null&&value!=""&&!reg.test(value)){ var errors = [];
errors.push(new Error("请输入数字"),rule.field); var reg = new RegExp(/(^-?[0-9][0-9]*(.[0-9]+)?)$/);
} if (value != null && value != '' && !reg.test(value)) {
callback(errors) errors.push(new Error('请输入数字'), rule.field);
}
}], callback(errors);
})(<Input disabled={isView} placeholder="请输入"/>)} },
</FormItem> ],
})(<Input disabled={isView} placeholder="请输入" />)}
</FormItem>
); );
} else if (isQuery&&data.indexOf(item.type) > -1) { } else if (isQuery && data.indexOf(item.type) > -1) {
return ( return (
<FormItem labelCol={labelCol} wrapperCol={wrapperCol} label={item.title} key={item.id}> <FormItem labelCol={labelCol} wrapperCol={wrapperCol} label={item.title} key={item.id}>
{form.getFieldDecorator(item.name, { {form.getFieldDecorator(item.name, {
initialValue: formData == null ? null : moment(formData[item.name]), initialValue: formData == null ? null : moment(formData[item.name]),
rules: [{ required: !item.isNull }], rules: [{ required: !item.isNull }],
})( })(
<RangePicker disabled={isView} format={item.dataFormatStrWeb==null?"YYYY-MM-DD HH:mm:ss":item.dataFormatStrWeb} <RangePicker
style={{ width: '95%' }} />)} disabled={isView}
format={item.dataFormatStrWeb == null ? 'YYYY-MM-DD HH:mm:ss' : item.dataFormatStrWeb}
style={{ width: '95%' }}
/>,
)}
</FormItem> </FormItem>
); );
}else if (data.indexOf(item.type) > -1) { } else if (data.indexOf(item.type) > -1) {
return ( return (
<FormItem labelCol={labelCol} wrapperCol={wrapperCol} label={item.title} key={item.id}> <FormItem labelCol={labelCol} wrapperCol={wrapperCol} label={item.title} key={item.id}>
{form.getFieldDecorator(item.name, { {form.getFieldDecorator(item.name, {
initialValue: formData == null ? moment() :(formData[item.name]?moment(formData[item.name]):null), initialValue:
formData == null
? moment()
: formData[item.name]
? moment(formData[item.name])
: null,
rules: [{ required: !item.isNull }], rules: [{ required: !item.isNull }],
})( })(
<DatePicker <DatePicker
format={item.dataFormatStrWeb==null?"YYYY-MM-DD HH:mm:ss":item.dataFormatStrWeb} format={item.dataFormatStrWeb == null ? 'YYYY-MM-DD HH:mm:ss' : item.dataFormatStrWeb}
style={{ width: '100%' }} style={{ width: '100%' }}
placeholder="请输入" placeholder="请输入"
disabled={isView} disabled={isView}
/>, />,
)} )}
</FormItem> </FormItem>
...@@ -921,41 +940,44 @@ class FormList extends React.Component { ...@@ -921,41 +940,44 @@ class FormList extends React.Component {
{form.getFieldDecorator(item.name, { {form.getFieldDecorator(item.name, {
initialValue: formData == null ? '' : formData[item.name], initialValue: formData == null ? '' : formData[item.name],
rules: [{ required: !item.isNull }], rules: [{ required: !item.isNull }],
})(<Input disabled={isView} style={{ width: '70%' }} placeholder="请输入"/>)} })(<Input disabled={isView} style={{ width: '70%' }} placeholder="请输入" />)}
</FormItem> </FormItem>
); );
} }
} };
renderForm() { renderForm() {
const { const { form, get } = this.props;
form,
get,
} = this.props;
const { querys } = this.state const { querys } = this.state;
if (querys.length == 0) { if (querys.length == 0) {
return ''; return '';
} }
return ( return (
<Form layout="inline"> <Form layout="inline">
<Row style={{padding:"15px"}}> <Row style={{ padding: '15px' }}>
{querys.map((item) => {querys.map(item => (
<Col style={{height:58}} span={get==='mobile'?24:8} key={item.id}> <Col style={{ height: 58 }} span={get === 'mobile' ? 24 : 8} key={item.id}>
{this.getItem(true,form, { {this.getItem(
...item, true,
isNull: true form,
}, true)} {
...item,
isNull: true,
},
true,
)}
</Col> </Col>
)} ))}
<Col span={get==='mobile'?24:8} <Col
style={{ span={get === 'mobile' ? 24 : 8}
textAlign:get==='mobile'?'right':'', style={{
paddingRight: get==='mobile'?12:'' textAlign: get === 'mobile' ? 'right' : '',
}} paddingRight: get === 'mobile' ? 12 : '',
> }}
>
<span className={styles.submitButtons}> <span className={styles.submitButtons}>
<Button type="primary" loading={this.props.loading} onClick={this.handleSearch}> <Button type="primary" loading={this.props.loading} onClick={this.handleSearch}>
查询 查询
...@@ -973,17 +995,13 @@ class FormList extends React.Component { ...@@ -973,17 +995,13 @@ class FormList extends React.Component {
); );
} }
render() { render() {
const { const { modalVisible, selectedRows, querys, tableWidth, rights, data, isReady } = this.state;
modalVisible, if (!isReady) {
selectedRows, return (
querys, <div style={{ width: 20, margin: 'auto' }}>
tableWidth, <Spin />
rights , </div>
data, );
isReady,
} = this.state;
if(!isReady){
return <div style={{width:20,margin:"auto"}}><Spin/></div>
} }
const { const {
isFormCom, isFormCom,
...@@ -994,18 +1012,16 @@ class FormList extends React.Component { ...@@ -994,18 +1012,16 @@ class FormList extends React.Component {
notShowBack, notShowBack,
istableCom, // 是否有模板设计器调用 istableCom, // 是否有模板设计器调用
} = this.props; } = this.props;
const { const { showMobileDiv, isView } = this.state;
showMobileDiv,
isView
} = this.state
let scrollWidth = document.documentElement.clientWidth || document.body.clientWidth; //可使宽度 let scrollWidth = document.documentElement.clientWidth || document.body.clientWidth; //可使宽度
let isMobile = scrollWidth < 1200 let isMobile = scrollWidth < 1200;
if(document.querySelector('#previewDiv')){ if (document.querySelector('#previewDiv')) {
isMobile = true isMobile = true;
} }
let showDiv = document.querySelector('#mobelDiv')&&document.querySelector('#mobelDiv')?.parentNode.clientWidth let showDiv =
document.querySelector('#mobelDiv') &&
document.querySelector('#mobelDiv')?.parentNode.clientWidth;
const parentMethods = { const parentMethods = {
handleAdd: this.handleAdd, handleAdd: this.handleAdd,
handleModalVisible: this.handleModalVisible, handleModalVisible: this.handleModalVisible,
...@@ -1013,193 +1029,261 @@ class FormList extends React.Component { ...@@ -1013,193 +1029,261 @@ class FormList extends React.Component {
formItem: this.state.formItem, formItem: this.state.formItem,
isAdd: this.state.isAdd, isAdd: this.state.isAdd,
getItem: this.getItem, getItem: this.getItem,
isView:isView, isView: isView,
}; };
if (
if(!isSelect&&!rights.includes('edit')&&!rights.includes('delete')&&!rights.includes("view")&&!rights.includes("viewProcess")){ !isSelect &&
!rights.includes('edit') &&
}else{ !rights.includes('delete') &&
!rights.includes('view') &&
let width=0; !rights.includes('viewProcess')
if(rights && rights.includes('viewProcess')){ ) {
width=width+75; } else {
let width = 0;
if (rights && rights.includes('viewProcess')) {
width = width + 75;
} }
if(rights && rights.includes('view')){ if (rights && rights.includes('view')) {
width=width+75; width = width + 75;
} }
if(rights && rights.includes('edit')){ if (rights && rights.includes('edit')) {
width=width+40; width = width + 40;
} }
if(rights && rights.includes('delete')){ if (rights && rights.includes('delete')) {
width=width+40; width = width + 40;
} }
const column = { const column = {
title: '操作', title: '操作',
fixed: 'right', fixed: 'right',
width: width, width: width,
render: (text, record) => { render: (text, record) => {
return <Fragment> return (
<div style={{textAlign:'center'}}> <Fragment>
{isSelect ? this.state.selects.includes(record[valueName]) ? <><span>已选择</span><Divider <div style={{ textAlign: 'center' }}>
type="vertical"/></> : <><a {isSelect ? (
onClick={callback.bind(this, record, this.columns)}>选择</a><Divider this.state.selects.includes(record[valueName]) ? (
type="vertical"/></> : ''} <>
{rights && !rights.includes('view') ? '' : <><a <span>已选择</span>
onClick={this.view.bind(this, record)}>查看详情</a><Divider type="vertical"/></>} <Divider type="vertical" />
{rights && !rights.includes('edit') ? '' : <><a </>
onClick={this.modify.bind(this, record)}>编辑</a><Divider type="vertical"/></>} ) : (
{rights&&rights.includes("viewProcess")&&record.process_biz_key?<><a onClick={this.viewProcess.bind(this, record)}>查看流程详情</a><Divider type="vertical"/></>:''} <>
{rights && !rights.includes('delete') ? '' : <> <Popconfirm <a onClick={callback.bind(this, record, this.columns)}>选择</a>
title="确定删除该数据?" <Divider type="vertical" />
onConfirm={this.delete.bind(this, record)} </>
okText="确定" )
cancelText="取消" ) : (
> ''
<a>删除</a> )}
</Popconfirm></>} {rights && !rights.includes('view') ? (
</div> ''
</Fragment> ) : (
} <>
<a onClick={this.view.bind(this, record)}>查看详情</a>
<Divider type="vertical" />
} </>
if(this.columns.length>0&&this.columns[this.columns.length-1].title=="操作"){ )}
this.columns[this.columns.length-1]=column; {rights && !rights.includes('edit') ? (
}else{ ''
) : (
<>
<a onClick={this.modify.bind(this, record)}>编辑</a>
<Divider type="vertical" />
</>
)}
{rights && rights.includes('viewProcess') && record.process_biz_key ? (
<>
<a onClick={this.viewProcess.bind(this, record)}>查看流程详情</a>
<Divider type="vertical" />
</>
) : (
''
)}
{rights && !rights.includes('delete') ? (
''
) : (
<>
{' '}
<Popconfirm
title="确定删除该数据?"
onConfirm={this.delete.bind(this, record)}
okText="确定"
cancelText="取消"
>
<a>删除</a>
</Popconfirm>
</>
)}
</div>
</Fragment>
);
},
};
if (this.columns.length > 0 && this.columns[this.columns.length - 1].title == '操作') {
this.columns[this.columns.length - 1] = column;
} else {
this.columns.push(column); this.columns.push(column);
} }
}
if(this.columns){
/**
* 计算总长度
*/
AllWidth = 0
this.columns = this.columns.map((item,index) => {
if(isEmpty(item)){
return item
}
if(index === this.columns.length-1&&this.columns[this.columns.length-1].title !== '操作'){
AllWidth+=150
item.width = ''
return item
}
let width = item.width?item.width:150
if(!item.width){
item.width = 150
}
AllWidth += width
return item
})
if(!isEmpty(this.columns[this.columns.length-1])
&&this.columns[this.columns.length-1].title === '操作'
){
this.columns[this.columns.length-2].width = ''
AllWidth+=100
}
} }
const xxxx = <><Card bordered={false} bodyStyle={{padding:0}}>
<div className={styles.tableList}>
<div className={styles.tableListForm}>{this.renderForm()}</div>
<div className={styles.tableListOperator}>
{notShowBack ? notShowBack : <Button icon="rollback" type="primary" onClick={this.goBack}>
返回
</Button>}
{rights && !rights.includes('add') ? '' :
<Button icon="plus" type="primary" onClick={this.add}>
新建
</Button>}
{rights && !rights.includes('searchData') ? '' :<SearchInfo hanldeHighSearch={this.hanldeHighSearch} objId = {this.state.objId}/>}
{rights && !rights.includes('importData') ? '' : <ImportUtil objId={this.state.objId}/>} if (this.columns) {
{rights && !rights.includes('exportCurrent') ? '' : <ExportCurrentInfo objId={this.state.objId} /**
query={JSON.stringify(this.state.formValues)} * 计算总长度
custom={this.props.value?Base16Encode(JSON.stringify(this.props.value)):null} */
sql={Base16Encode(this.props.sql)} AllWidth = 0;
/>} this.columns = this.columns.map((item, index) => {
{rights && !rights.includes('exportData') ? '' : <ExportInfo objId={this.state.objId}/>} if (isEmpty(item)) {
{rights && !rights.includes('statistics') ? '' : return item;
<StatisticsInfo objId={this.state.objId}/>} }
{rights && !rights.includes('delete') ? '' : selectedRows.length > 0 && ( if (
<span> index === this.columns.length - 1 &&
<Popconfirm this.columns[this.columns.length - 1].title !== '操作'
title="确定删除该数据?" ) {
onConfirm={this.batchDelete} AllWidth += 150;
okText="确定" item.width = '';
cancelText="取消" return item;
> }
<Button>批量删除</Button></Popconfirm> let width = item.width ? item.width : 150;
</span> if (!item.width) {
)} item.width = 150;
</div> }
{ AllWidth += width;
(!istableCom)||(this.props.value&&this.props.value.columns)? return item;
<StandardTable });
showHeader={this.props.showHeader!=null?this.props.showHeader:true} if (
noSelectRow={this.props.onSelectRow==null&&( rights==null|| !rights.includes('delete')) } !isEmpty(this.columns[this.columns.length - 1]) &&
rowKey="id" this.columns[this.columns.length - 1].title === '操作'
data={data} ) {
isHiddenPage={this.props.isHiddenPage!=null?this.props.isHiddenPage:false} this.columns[this.columns.length - 2].width = '';
columns={this.columns} AllWidth += 100;
scroll={this.props.value&&this.props.value.columns?{}:{ x: AllWidth }} }
selectedRows={selectedRows} }
onSelectRow={this.handleSelectRows} const xxxx = (
onChange={this.handleStandardTableChange} <>
loading={this.props.loading} <Card bordered={false} bodyStyle={{ padding: 0 }}>
/> <div className={styles.tableList}>
: <div className={styles.tableListForm}>{this.renderForm()}</div>
<div <div className={styles.tableListOperator}>
id='mobelDiv' {notShowBack ? (
style={{ notShowBack
overflow:'hidden', ) : (
width: isMobile?showMobileDiv:showDiv, <Button icon="rollback" type="primary" onClick={this.goBack}>
height: '100%' 返回
}} </Button>
> )}
{rights && !rights.includes('add') ? (
''
) : (
<Button icon="plus" type="primary" onClick={this.add}>
新建
</Button>
)}
{rights && !rights.includes('searchData') ? (
''
) : (
<SearchInfo hanldeHighSearch={this.hanldeHighSearch} objId={this.state.objId} />
)}
{rights && !rights.includes('importData') ? (
''
) : (
<ImportUtil objId={this.state.objId} />
)}
{rights && !rights.includes('exportCurrent') ? (
''
) : (
<ExportCurrentInfo
objId={this.state.objId}
query={JSON.stringify(this.state.formValues)}
custom={this.props.value ? Base16Encode(JSON.stringify(this.props.value)) : null}
sql={Base16Encode(this.props.sql)}
/>
)}
{rights && !rights.includes('exportData') ? (
''
) : (
<ExportInfo objId={this.state.objId} />
)}
{rights && !rights.includes('statistics') ? (
''
) : (
<StatisticsInfo objId={this.state.objId} />
)}
{rights && !rights.includes('delete')
? ''
: selectedRows.length > 0 && (
<span>
<Popconfirm
title="确定删除该数据?"
onConfirm={this.batchDelete}
okText="确定"
cancelText="取消"
>
<Button>批量删除</Button>
</Popconfirm>
</span>
)}
</div>
{!istableCom || (this.props.value && this.props.value.columns) ? (
<StandardTable
showHeader={this.props.showHeader != null ? this.props.showHeader : true}
noSelectRow={
this.props.onSelectRow == null && (rights == null || !rights.includes('delete'))
}
rowKey="id"
data={data}
isHiddenPage={this.props.isHiddenPage != null ? this.props.isHiddenPage : false}
columns={this.columns}
scroll={this.props.value && this.props.value.columns ? {} : { x: AllWidth }}
selectedRows={selectedRows}
onSelectRow={this.handleSelectRows}
onChange={this.handleStandardTableChange}
loading={this.props.loading}
/>
) : (
<div <div
> id="mobelDiv"
{ style={{
get==='mobile'? overflow: 'hidden',
<div>手机端,请将手机横屏查看</div> width: isMobile ? showMobileDiv : showDiv,
:null height: '100%',
} }}
{ >
showDiv&&<StandardTable <div>
showHeader={this.props.showHeader!=null?this.props.showHeader:true} {get === 'mobile' ? <div>手机端,请使用浏览器将手机横屏查看</div> : null}
noSelectRow={this.props.onSelectRow==null&&( rights==null|| !rights.includes('delete')) } {showDiv && (
rowKey="id" <StandardTable
data={data} showHeader={this.props.showHeader != null ? this.props.showHeader : true}
columns={this.columns} noSelectRow={
scroll={this.props.value&&this.props.value.columns?{}:{ x: AllWidth }} this.props.onSelectRow == null &&
selectedRows={selectedRows} (rights == null || !rights.includes('delete'))
isHiddenPage={this.props.isHiddenPage!=null?this.props.isHiddenPage:false} }
onSelectRow={this.handleSelectRows} rowKey="id"
onChange={this.handleStandardTableChange} data={data}
loading={this.props.loading} columns={this.columns}
/> scroll={this.props.value && this.props.value.columns ? {} : { x: AllWidth }}
} selectedRows={selectedRows}
isHiddenPage={
this.props.isHiddenPage != null ? this.props.isHiddenPage : false
}
onSelectRow={this.handleSelectRows}
onChange={this.handleStandardTableChange}
loading={this.props.loading}
/>
)}
</div>
</div> </div>
</div> )}
</div>
</Card>
} <CreateForm {...parentMethods} modalVisible={modalVisible} />
</>
);
</div>
</Card>
<CreateForm {...parentMethods} modalVisible={modalVisible}/></>
if (isFormCom) { if (isFormCom) {
return xxxx return xxxx;
} }
return ( return <PageHeaderWrapper title="">{xxxx}</PageHeaderWrapper>;
<PageHeaderWrapper title="">
{xxxx}
</PageHeaderWrapper>
);
} }
} }
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论