Commit facee4fe authored by krysent's avatar krysent

new

parent ed24dcb5
...@@ -39,8 +39,8 @@ function DrawInitForm(props) { ...@@ -39,8 +39,8 @@ function DrawInitForm(props) {
getContainer={false} getContainer={false}
style={{ position: "absolute", transform: "translateX(0)",maxWidth:"100%" }} style={{ position: "absolute", transform: "translateX(0)",maxWidth:"100%" }}
width={props.val == "detail" ? 1000 : props.width} width={props.val == "detail" ? 1000 : props.width}
destroyOnClose={true}
{...props} {...props}
destroyOnClose={true}
> >
{props.val == "only" && props.children} {props.val == "only" && props.children}
{props.val == "only" ? null : props.val == "detail" ? <Details {...detailprops}></Details> : <InitForm {...newProps}></InitForm>} {props.val == "only" ? null : props.val == "detail" ? <Details {...detailprops}></Details> : <InitForm {...newProps}></InitForm>}
......
import React, { useEffect, useRef } from "react"; import React, { useEffect, useRef,useState } from "react";
import { EditableProTable } from "@ant-design/pro-table"; import { EditableProTable } from "@ant-design/pro-table";
import { useUpdate } from 'ahooks'; import { useUpdate } from "ahooks";
const EditTable = ({ const EditTable = ({
columns, columns,
...@@ -11,18 +10,20 @@ const EditTable = ({ ...@@ -11,18 +10,20 @@ const EditTable = ({
recordCreatorProps, recordCreatorProps,
maxLength, maxLength,
linkconfig, linkconfig,
style style,
}) => { }) => {
const update = useUpdate();
const editorFormRef = useRef(); const editorFormRef = useRef();
console.log(columns);
useEffect(()=>{ const [show, setshow] = useState(true);
if(value===undefined){ useEffect(() => {
update() setshow(false);
} setTimeout(() => {
},[value]) setshow(true);
}, 1200);
}, []);
return ( return (
show && (
<EditableProTable <EditableProTable
style={{ ...(style ?? {}) }} style={{ ...(style ?? {}) }}
columns={columns} columns={columns}
...@@ -49,65 +50,71 @@ const EditTable = ({ ...@@ -49,65 +50,71 @@ const EditTable = ({
onValuesChange: async (record, recordList) => { onValuesChange: async (record, recordList) => {
let { urlchangeval } = linkconfig ?? {}; let { urlchangeval } = linkconfig ?? {};
let newvalue = [...recordList]; let newvalue = [...recordList];
if (urlchangeval && record) {//根据url 改变 数据值 if (urlchangeval && record) {
//根据url 改变 数据值
let { params, database, effectresult } = urlchangeval ?? {}, let { params, database, effectresult } = urlchangeval ?? {},
curvaluerow = value && value.length > 0 ? value.filter(it => it[rowKey] == record[rowKey])[0] : {} curvaluerow =
value && value.length > 0
? value.filter((it) => it[rowKey] == record[rowKey])[0]
: {};
//获取除本行之外已修改的value值 //获取除本行之外已修改的value值
newvalue = newvalue.map((it, i) => { newvalue = newvalue.map((it, i) => {
if (!record) return it; if (!record) return it;
if (it[rowKey] == record[rowKey]) { if (it[rowKey] == record[rowKey]) {
let freshvals = {} let freshvals = {};
Object.keys(effectresult).map(its => { Object.keys(effectresult).map((its) => {
// freshvals[its] = value[i][its]; // freshvals[its] = value[i][its];
freshvals[its] = it[its]; freshvals[its] = it[its];
});
})
it = { it = {
...record, ...record,
...freshvals ...freshvals,
} };
} else { } else {
it = value && value.length > 0 ? value.filter(its => its[rowKey] == it[rowKey])[0] : {} it =
value && value.length > 0
? value.filter((its) => its[rowKey] == it[rowKey])[0]
: {};
} }
return it return it;
}); });
//参数获取 //参数获取
let parames = {}; let parames = {};
let ifs = true; let ifs = true;
Object.keys(params).map(it => { Object.keys(params).map((it) => {
if (params[it] == "linked") { if (params[it] == "linked") {
parames[it] = record[it] parames[it] = record[it];
if (record[it] != curvaluerow[it]) { if (record[it] != curvaluerow[it]) {
ifs = false; ifs = false;
} }
} else { } else {
parames[it] = params[it] parames[it] = params[it];
} }
}) });
if (ifs) { if (ifs) {
//值未变化 //值未变化
} else { } else {
let res = await database(parames); let res = await database(parames);
newvalue = newvalue.map((it, i) => { newvalue = newvalue.map((it, i) => {
if (it[rowKey] == record[rowKey]) { if (it[rowKey] == record[rowKey]) {
Object.keys(effectresult).map(items => { Object.keys(effectresult).map((items) => {
let result = res?.data?.data ?? {} let result = res?.data?.data ?? {};
it[items] = result[effectresult[items]]; it[items] = result[effectresult[items]];
}) });
editorFormRef.current?.setRowData?.(i, it) editorFormRef.current?.setRowData?.(i, it);
} else { } else {
} }
return it return it;
}) });
}; }
} }
onChange(newvalue); onChange(newvalue);
}, },
}} }}
maxLength={maxLength ?? 1000} maxLength={maxLength ?? 1000}
/> />
)
); );
}; };
......
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment