This commit is contained in:
ccy 2025-11-22 08:58:37 +08:00
parent 57ba65c3d5
commit 3641bac5f8
5 changed files with 112 additions and 52 deletions

View File

@ -22,7 +22,7 @@ import TableModal from '../../components/Table/TableModal';
import CombinationModal from '../../components/Combination/CombinationModal' import CombinationModal from '../../components/Combination/CombinationModal'
import { get, set } from 'lodash' import { get, set } from 'lodash'
const TabPane = Tabs.TabPane; const TabPane = Tabs.TabPane;
let clickQuery = "";
class EditBaseComponent extends ComponentBase { class EditBaseComponent extends ComponentBase {
constructor(props) { constructor(props) {
super(props); super(props);
@ -568,28 +568,29 @@ params【字段名称显示】
设置表头字段的文字提示 设置表头字段的文字提示
params字段名称显示 params字段名称显示
*/ */
setRowFieldTooltip = (editCode, params) => { setRowFieldTooltip = (editCode, params) => {
const detailColumnConfig = this.getEditConfig({ editCode }); const detailColumnConfig = this.getEditConfig({ editCode });
const cols = detailColumnConfig ? detailColumnConfig.columns : []; const cols = detailColumnConfig ? detailColumnConfig.columns : [];
Object.keys(params).forEach((n) => { Object.keys(params).forEach((n) => {
const temps = cols.filter(t => t.field === n); const temps = cols.filter(t => t.field === n);
if (temps && temps.length) {debugger if (temps && temps.length) {
var temp=temps[0].label; debugger
temps[0].label = <Tooltip title= {params[n]}> var temp = temps[0].label;
<span>{temp}</span> temps[0].label = <Tooltip title={params[n]}>
</Tooltip> <span>{temp}</span>
} </Tooltip>
}); }
this.setEditConfig({ });
editConfig: { columns: cols }, this.setEditConfig({
editCode, editConfig: { columns: cols },
}); editCode,
} });
}
/* /*
设置表头字段的可见性 设置表头字段的可见性
params字段名称=是否可编辑 params字段名称=是否可编辑
*/ */
setRowFieldDisable = (editCode, params) => { setRowFieldDisable = (editCode, params) => {
const detailColumnConfig = this.getEditConfig({ editCode }); const detailColumnConfig = this.getEditConfig({ editCode });
const cols = detailColumnConfig ? detailColumnConfig.columns : []; const cols = detailColumnConfig ? detailColumnConfig.columns : [];
@ -2880,6 +2881,7 @@ params【字段属性】=值
} }
type:0-行按钮 1-按钮 2-右侧按钮 type:0-行按钮 1-按钮 2-右侧按钮
*/ */
getRenderBtn(params) { getRenderBtn(params) {
const { editCode, editConfig, record, btnConfig, type, parentId, parentRecord } = params ? params : {}; const { editCode, editConfig, record, btnConfig, type, parentId, parentRecord } = params ? params : {};
const isRow = record; const isRow = record;
@ -2937,8 +2939,13 @@ params【字段属性】=值
if (!content && btnParam) { if (!content && btnParam) {
const that = this; const that = this;
const clickKey = btnConfig.code ? btnConfig.code : btnConfig.id; const clickKey = btnConfig.code ? btnConfig.code : btnConfig.id;
const regClick = async function () { const regClick = async function () {
const ids = getIds(); const ids = getIds();
if (btnConfig.customParams.indexOf('reset') > -1) {
clickQuery = guid();
}
let isError = false; let isError = false;
if (!ids && !isRow && btnConfig.checkSelected) { if (!ids && !isRow && btnConfig.checkSelected) {
message.error('请选择记录'); message.error('请选择记录');
@ -3028,8 +3035,7 @@ params【字段属性】=值
} }
} }
tempData.clearQuery = clickQuery;
btnParam.content = <FormPage formCode={btnConfig.formCode} data={tempData} />; btnParam.content = <FormPage formCode={btnConfig.formCode} data={tempData} />;
btnParam.click = () => { return regClick() }; btnParam.click = () => { return regClick() };
showData.close = () => { showData.close = () => {

View File

@ -1646,6 +1646,7 @@ class EditComponent extends EditBaseComponent {
saveHeadRecord: (values, onComplete) => { return this.saveHeadRecord(values, onComplete); }, saveHeadRecord: (values, onComplete) => { return this.saveHeadRecord(values, onComplete); },
saveRowRecord: (params) => { this.saveRowRecord(params); }, saveRowRecord: (params) => { this.saveRowRecord(params); },
getSelectedRecords: () => { return this.getEditSelectedRecord({ editCode, parentId }); }, getSelectedRecords: () => { return this.getEditSelectedRecord({ editCode, parentId }); },
getSelectedKeys: () => { return this.getEditSelectedKeys({ editCode, parentId }); },
btnCustomParams: getCustomParams(btnCustomParams), btnCustomParams: getCustomParams(btnCustomParams),
pageTableCustomParams: getCustomParams(editConfig.customParams), pageTableCustomParams: getCustomParams(editConfig.customParams),
}); });
@ -1724,6 +1725,7 @@ class EditComponent extends EditBaseComponent {
this.addOtherLog({ formCode, formId, title, data, extData }); this.addOtherLog({ formCode, formId, title, data, extData });
}, },
editCode: editConfig.editCode, editCode: editConfig.editCode,
getSelectedKeys: () => { return this.getEditSelectedKeys({ editCode, parentId }); },
getSelectedRecords: () => { return this.getEditSelectedRecord({ editCode, parentId }); }, getSelectedRecords: () => { return this.getEditSelectedRecord({ editCode, parentId }); },
emptyEditSelectedKeys: () => { return this.emptyEditSelectedKeys({ editCode, parentId }); }, emptyEditSelectedKeys: () => { return this.emptyEditSelectedKeys({ editCode, parentId }); },
data: this.props.data, data: this.props.data,
@ -1775,6 +1777,7 @@ class EditComponent extends EditBaseComponent {
formId: (editConfig.formId ? editConfig.formId : (editConfig.formData ? editConfig.formData.ID : this.props.formId)), formId: (editConfig.formId ? editConfig.formId : (editConfig.formData ? editConfig.formData.ID : this.props.formId)),
formCode: editConfig.formCode ? editConfig.formCode : (editConfig.formData ? editConfig.formData.CODE : this.props.formCode), formCode: editConfig.formCode ? editConfig.formCode : (editConfig.formData ? editConfig.formData.CODE : this.props.formCode),
getSelectedRecords: () => { return this.getEditSelectedRecord({ editCode, parentId }); }, getSelectedRecords: () => { return this.getEditSelectedRecord({ editCode, parentId }); },
getSelectedKeys: () => { return this.getEditSelectedKeys({ editCode, parentId }); },
data: this.props.data, data: this.props.data,
stateData: this.state.data, stateData: this.state.data,
btnCustomParams: getCustomParams(btnCustomParams), btnCustomParams: getCustomParams(btnCustomParams),
@ -1899,7 +1902,7 @@ class EditComponent extends EditBaseComponent {
setFieldEditable: (field, editable) => { this.setFieldEditable(field, editable, this); }, setFieldEditable: (field, editable) => { this.setFieldEditable(field, editable, this); },
pageCode: editConfig.editPage.CODE, pageCode: editConfig.editPage.CODE,
stateData: this.state.data, stateData: this.state.data,
enums:this.props.app.enums, enums: this.props.app.enums,
setFieldVisible: (field, visible) => { this.setFieldVisible(field, visible, this) }, setFieldVisible: (field, visible) => { this.setFieldVisible(field, visible, this) },
setFieldVisibleByBatch: (list) => { this.setFieldVisibleByBatch(list, this); }, setFieldVisibleByBatch: (list) => { this.setFieldVisibleByBatch(list, this); },
setState: (data, callback) => { setState: (data, callback) => {

View File

@ -49,6 +49,15 @@ class ListPage extends React.Component {
} }
} }
componentWillReceiveProps(nextProps) {
const prevFlag = (this.props && (this.props.clearQuery || (this.props.data && this.props.data.clearQuery))) || false
const nextFlag = (nextProps && (nextProps.clearQuery || (nextProps.data && nextProps.data.clearQuery))) || false
if (nextFlag && nextFlag !== prevFlag) {
this.refOfSearch && this.refOfSearch.resetQuery && this.refOfSearch.resetQuery()
this.loadData({ rules: [], groups: [] })
}
}
loadData = (params) => { loadData = (params) => {
if (this.state.loadDataFunc) { if (this.state.loadDataFunc) {
if (!this.state.loadDataFunc.length) { if (!this.state.loadDataFunc.length) {

View File

@ -3,6 +3,7 @@ import React from 'react'
import { connect } from 'dva' import { connect } from 'dva'
// 组件库 // 组件库
import { Tabs } from 'antd' import { Tabs } from 'antd'
import storage from '../utils/storage'
import AdvanceSearch from './AdvanceSearch' import AdvanceSearch from './AdvanceSearch'
import SearchGroupField from './SearchGroupField' import SearchGroupField from './SearchGroupField'
import EditTabPane from './EditTabPane' import EditTabPane from './EditTabPane'
@ -186,6 +187,30 @@ class Search extends React.Component {
}) })
} }
resetQuery = () => {
const { filterList } = this.state
if (Array.isArray(filterList)) {
filterList.forEach(item => {
const key = item && item.SHARE_KEY
if (key) {
this.props.dispatch({
type: 'search/setShareData',
payload: { key, data: [] }
})
storage('session').removeItem(key)
}
})
}
Object.keys(this.refsOfField || {}).forEach((id) => {
const inst = this.refsOfField[id]
inst && inst.setState && inst.setState({ data: {} })
})
Object.keys(this.refsOfGroup || {}).forEach((id) => {
const inst = this.refsOfGroup[id]
inst && inst.setState && inst.setState({ data: {} })
})
}
renderTabBar = (props, DefaultTabBar) => { renderTabBar = (props, DefaultTabBar) => {
const { filterList } = this.state const { filterList } = this.state
if (filterList.length <= 1) { if (filterList.length <= 1) {

View File

@ -1,40 +1,57 @@
import { message } from "antd/lib/index"; import { message } from "antd/lib/index";
import { getPropertyData, extendInclude, extendRule, getDataFieldValue, setDataFieldValue, initFilter, guid } from "../../utils/common"; import { getPropertyData, extendInclude, extendRule, initFilterGroup, extendGroupRule,getDataFieldValue, setDataFieldValue, initFilter, guid } from "../../utils/common";
import moment from 'moment'; import moment from 'moment';
import FormPage from '../../components/FormPage'; import FormPage from '../../components/FormPage';
import ListPage from '../../components/Table/ListPage'; import ListPage from '../../components/Table/ListPage';
import { Button, Row, Col, Form, Input, Select, Upload, Icon, Modal, Spin,Table } from 'antd'; import { Button, Row, Col, Form, Input, Select, Upload, Icon, Modal, Spin, Table } from 'antd';
/** /**
* @return {string} * @return {string}
*/ */
// 编辑 // 编辑
export default { export default {
btnSaveNotice: ({params,row,loadData, pageCode,close, record, dispatch,colInfo,login, stateData, clearSelectedRowKeys, saveRowRecord,setFieldValueByBatch, getSelectedRecords }) => { btnSaveNotice: ({ params, row, loadData, pageCode, close, record, dispatch, colInfo, login, stateData, getSelectedRowKeys, clearSelectedRowKeys, saveRowRecord, setFieldValueByBatch, getSelectedRecords }) => {
let DetailCheck = getSelectedRecords(); let selectedKeys = getSelectedRowKeys();
if (DetailCheck && DetailCheck.length > 0) { let filter = initFilter();
let temps = []; let filterGroup = initFilterGroup(false);
DetailCheck.map((item,index)=>{ selectedKeys.forEach((item) => {
let tmpData = { extendGroupRule(filterGroup, "ID", 1, item);
ID:item.ID, })
NUM:index+1, filter.FilterGroup = filterGroup;
CHECKCONTENT: item.CHECKCONTENT, dispatch({
Nav_ListCheckQuestion: item.Nav_ListCheckQuestion, type: 'app/getDataByPost',
} url: 'SK/CheckContents/Entities',
temps.push(tmpData); payload: filter,
}); onlyData: false,
onComplete: (re) => {
if (re && re.IsSuccessful) {
message.success("执行成功");
clearSelectedRowKeys();
let DetailCheck=re.Data;
if (DetailCheck && DetailCheck.length > 0) {
let temps = [];
DetailCheck.map((item, index) => {
let tmpData = {
ID: item.ID,
NUM: index + 1,
CHECKCONTENT: item.CHECKCONTENT,
Nav_ListCheckQuestion: item.Nav_ListCheckQuestion,
}
temps.push(tmpData);
});
if(!temps||temps.length==0){ if (!temps || temps.length == 0) {
message.error('请选择要导入的内容'); message.error('请选择要导入的内容');
}else } else {
{ login.tempContents = temps
login.tempContents=temps clearSelectedRowKeys();
clearSelectedRowKeys(); }
// loadData(); }
// close(); else {
message.error('请选择要导入的内容');
}
}
} }
} });
else{
message.error('请选择要导入的内容');
}
}, },
} }