Commit 3a4d7e8cca6cb12fbcc6d0b2c672a82bb93be60c

Authored by Min
1 parent c498a31f

1.处理改变dAdvanceReportQty逻辑

src/mes/common/commonModelComponent/index.js
@@ -2219,11 +2219,46 @@ const CommonRepairComponent = props => { @@ -2219,11 +2219,46 @@ const CommonRepairComponent = props => {
2219 tableName, 2219 tableName,
2220 onDataChange: (...args) => { 2220 onDataChange: (...args) => {
2221 const [, sFieldName, value] = args; 2221 const [, sFieldName, value] = args;
2222 - setViewRow(pre => ({  
2223 - ...pre,  
2224 - [sFieldName]: value[sFieldName],  
2225 - ...value  
2226 - })); 2222 + setViewRow(pre => {
  2223 + // 计算总和
  2224 + const sumTotal = (pre.dAdvanceReportQty || 0) + (pre.dAdvanceLockUpFei || 0) + (pre.dAdvanceMadeUpFei || 0) + (pre.iAdvanceLaminatingPaper || 0);
  2225 +
  2226 + // 如果修改的是dAdvanceReportQty
  2227 + if (sFieldName === 'dAdvanceReportQty') {
  2228 + const newReportQty = value.dAdvanceReportQty || 0;
  2229 + // 如果原始值为0,新的总和就是新的dAdvanceReportQty
  2230 + const newSumTotal = pre.dAdvanceReportQty === 0 ? newReportQty : sumTotal;
  2231 +
  2232 + return {
  2233 + ...pre,
  2234 + [sFieldName]: newReportQty,
  2235 + ...value,
  2236 + dAdvanceLockUpFei: pre.dAdvanceLockUpFei,
  2237 + dAdvanceMadeUpFei: pre.dAdvanceMadeUpFei,
  2238 + iAdvanceLaminatingPaper: pre.iAdvanceLaminatingPaper
  2239 + };
  2240 + } else if (['dAdvanceLockUpFei', 'dAdvanceMadeUpFei', 'iAdvanceLaminatingPaper'].includes(sFieldName)) {
  2241 + const newValue = value[sFieldName] || 0;
  2242 + const otherFieldsSum = (sFieldName !== 'dAdvanceLockUpFei' ? pre.dAdvanceLockUpFei : 0) +
  2243 + (sFieldName !== 'dAdvanceMadeUpFei' ? pre.dAdvanceMadeUpFei : 0) +
  2244 + (sFieldName !== 'iAdvanceLaminatingPaper' ? pre.iAdvanceLaminatingPaper : 0);
  2245 + // 计算新的dAdvanceReportQty
  2246 + const newReportQty = sumTotal - newValue - otherFieldsSum;
  2247 +
  2248 + return {
  2249 + ...pre,
  2250 + [sFieldName]: newValue,
  2251 + ...value,
  2252 + dAdvanceReportQty: newReportQty
  2253 + };
  2254 + } else {
  2255 + return {
  2256 + ...pre,
  2257 + [sFieldName]: value[sFieldName],
  2258 + ...value
  2259 + };
  2260 + }
  2261 + });
2227 }, 2262 },
2228 delayComputed: true 2263 delayComputed: true
2229 }; 2264 };