Commit 1c53d366f4d55d37432c3d7bf0f51a3ee34c09d4

Authored by zhangzzzz
1 parent 96b0de66

切换树节点时,设置成品工序默认值;

src/components/QuickQuote/index.jsx
... ... @@ -164,37 +164,76 @@ const QuickQuoteEvent = props => {
164 164 }, [masterConfig]);
165 165  
166 166 // 切换树节点时,设置后道参数默认值
167   - const { slaveData = [] } = state;
  167 + const { slaveData = [], masterData = {} } = state;
168 168 useEffect(() => {
169 169 if (!slaveData.length) return;
170 170 const bNotInit = slaveData.some(item => item.sBackProcessData);
171   - if (bNotInit) return;
172   -
173   - const { downAbleConfigs = [] } = state;
174   - const downAbleConfigsNew = downAbleConfigs.filter(item => item.sDefaultProcessId);
175   - if (!downAbleConfigsNew.length) return;
176   -
177   - const slaveDataNew = slaveData.map(item => {
178   - let sBackProcessData = [];
179   - downAbleConfigsNew.forEach(({ sChineseDropDown: sChineseDropDownStr, sDefaultProcessId, sName }) => {
180   - const sChineseDropDown = commonUtils.convertStrToObj(sChineseDropDownStr, []);
181   - const defaultProcess = sChineseDropDown.find(item => item.sId === sDefaultProcessId);
182   - const name = `slaveDown${item.sBoxModel}`;
183   - const sFieldName = sName;
184   - const changeValue = { [sFieldName]: defaultProcess.sId };
185   - const dropDownData = sChineseDropDown;
186   - const slaveDataReturn = onDataChange(name, sFieldName, changeValue, item.sId, dropDownData, true);
187   - sBackProcessData = [...sBackProcessData, ...slaveDataReturn.sBackProcessData];
188   - });
189   - return {
190   - ...item,
191   - sBackProcessData,
192   - };
193   - });
  171 + if (!bNotInit) {
  172 + const { downAbleConfigs = [] } = state;
  173 + const downAbleConfigsNew = downAbleConfigs.filter(item => item.sDefaultProcessId);
  174 + if (downAbleConfigsNew.length) {
  175 + const slaveDataNew = slaveData.map(item => {
  176 + let sBackProcessData = [];
  177 + downAbleConfigsNew.forEach(({ sChineseDropDown: sChineseDropDownStr, sDefaultProcessId, sName }) => {
  178 + const sChineseDropDown = commonUtils.convertStrToObj(sChineseDropDownStr, []);
  179 + const defaultProcess = sChineseDropDown.find(item => item.sId === sDefaultProcessId);
  180 + const name = `slaveDown${item.sBoxModel}`;
  181 + const sFieldName = sName;
  182 + const changeValue = { [sFieldName]: defaultProcess.sId };
  183 + const dropDownData = sChineseDropDown;
  184 + const slaveDataReturn = onDataChange(name, sFieldName, changeValue, item.sId, dropDownData, true);
  185 + sBackProcessData = [...sBackProcessData, ...slaveDataReturn.sBackProcessData];
  186 + });
  187 + return {
  188 + ...item,
  189 + sBackProcessData,
  190 + };
  191 + });
194 192  
195   - setState(pre => {
196   - return { ...pre, slaveData: slaveDataNew };
197   - });
  193 + setState(pre => {
  194 + return { ...pre, slaveData: slaveDataNew };
  195 + });
  196 + }
  197 + }
  198 +
  199 + const bNotInit1 = !!masterData.cpProcessName;
  200 + if (!bNotInit1) {
  201 + const { finishedConfigs = [] } = state;
  202 + const finishedConfigsNew = finishedConfigs.filter(item => item.sDefaultProcessId);
  203 + if (finishedConfigsNew.length) {
  204 + let [cpProcessNameList, productProcessInfo] = [[], []];
  205 + finishedConfigsNew.forEach(({ sChineseDropDown: sChineseDropDownStr, sDefaultProcessId, sName }) => {
  206 + const sChineseDropDown = commonUtils.convertStrToObj(sChineseDropDownStr, []);
  207 + const defaultProcess = sChineseDropDown.find(item => item.sId === sDefaultProcessId);
  208 + const name = "finished";
  209 + const sFieldName = sName;
  210 + const changeValue = { [sFieldName]: defaultProcess.sId };
  211 + const dropDownData = sChineseDropDown;
  212 + const { cpProcessName: cpProcessNameNew, productProcessInfo: productProcessInfoNew } = onDataChange(
  213 + name,
  214 + sFieldName,
  215 + changeValue,
  216 + masterData.sId,
  217 + dropDownData,
  218 + true
  219 + );
  220 + cpProcessNameNew.split(",").forEach((item, index) => {
  221 + if (!cpProcessNameList.includes(item)) {
  222 + cpProcessNameList.push(item);
  223 + productProcessInfo.push(productProcessInfoNew[index]);
  224 + }
  225 + });
  226 + });
  227 + setState(pre => ({
  228 + ...pre,
  229 + masterData: {
  230 + ...masterData,
  231 + cpProcessName: cpProcessNameList.join(","),
  232 + productProcessInfo,
  233 + },
  234 + }));
  235 + }
  236 + }
198 237 }, [slaveData.map(item => item.sId).toString()]);
199 238  
200 239 addState.onBackClick = () => {
... ... @@ -457,6 +496,9 @@ const QuickQuoteEvent = props => {
457 496 const masterDataNew = { ...masterData, cpProcessName, productProcessInfo };
458 497 masterDataNew.handleType = masterDataNew.handleType || "update";
459 498 masterDataNew.sId = masterDataNew.sId || commonUtils.createSid();
  499 + if (isWait) {
  500 + return masterDataNew;
  501 + }
460 502 setState(pre => ({ ...pre, masterData: masterDataNew, ...extraState }));
461 503 }
462 504 };
... ... @@ -1207,7 +1249,7 @@ const TreeComponent = props => {
1207 1249 const downAbleConfigs = await getSqlDropDownData({ ...showDownConfig });
1208 1250  
1209 1251 props.setState(pre => {
1210   - const { slaveData = [], slaveConfig, manyData = [] } = pre;
  1252 + const { slaveData = [], slaveConfig, manyData = [], masterData = {} } = pre;
1211 1253 const addState = {};
1212 1254 const defaultData = commonFunc.getDefaultData(slaveConfig, { tree: selectedNode });
1213 1255 const slaveDataNew = slaveData.filter(item => item.sTreeNodeName === selectedNode.showName);
... ... @@ -1242,6 +1284,9 @@ const TreeComponent = props => {
1242 1284 ...(sPackPath ? { sPackPath } : {}),
1243 1285 };
1244 1286 });
  1287 + delete masterData.cpProcessName;
  1288 + delete masterData.productProcessInfo;
  1289 + addState.masterData = masterData;
1245 1290 addState.extraParts = {};
1246 1291 addState.calcPriceFinished = false;
1247 1292 addState.backendParamsConfig = [];
... ... @@ -1818,10 +1863,7 @@ const BoxComponent = props => {
1818 1863  
1819 1864 props.setState(pre => ({
1820 1865 ...pre,
1821   - backendParamsConfig: commonUtils.convertStrToObj(
1822   - sBackProcessData.find(item => item[showConfig.sName])?.sParamConfig,
1823   - []
1824   - ),
  1866 + backendParamsConfig: commonUtils.convertStrToObj(sBackProcessData.find(item => item[showConfig.sName])?.sParamConfig, []),
1825 1867 backendConfig: { sParentFieldsName: showConfig.sName, sBoxModel: boxModel },
1826 1868 }));
1827 1869 },
... ... @@ -1921,7 +1963,7 @@ const BoxComponent = props => {
1921 1963 ).toFixed(2)
1922 1964 ),
1923 1965 dWlcd: dWlcd,
1924   - dWlkd: dWlkd,
  1966 + dWlkd: dWlkd,
1925 1967 dMachineQty: Math.floor(dProductQty / dSinglePQty),
1926 1968 dSinglePQty: dSinglePQty,
1927 1969 dMaterialsKQty: dMaterialsKQty,
... ... @@ -2192,12 +2234,20 @@ const BoxComponent = props => {
2192 2234 height: "290px",
2193 2235 backgroundColor: "#fff",
2194 2236 borderRight: "1px solid #ccc",
2195   - position:'relative'
  2237 + position: "relative",
2196 2238 }}
2197 2239 >
2198   - <div style={{position:'absolute',left:'50%',top:'50%',transform:' translate(-50%, -50%)',width:'100%',height:'200px'}}>
2199   - <DynamicSVG {...svgProps} />
2200   -
  2240 + <div
  2241 + style={{
  2242 + position: "absolute",
  2243 + left: "50%",
  2244 + top: "50%",
  2245 + transform: " translate(-50%, -50%)",
  2246 + width: "100%",
  2247 + height: "200px",
  2248 + }}
  2249 + >
  2250 + <DynamicSVG {...svgProps} />
2201 2251 </div>
2202 2252 </div>
2203 2253 ) : (
... ...