Commit 3a4d7e8cca6cb12fbcc6d0b2c672a82bb93be60c
1 parent
c498a31f
1.处理改变dAdvanceReportQty逻辑
Showing
1 changed file
with
40 additions
and
5 deletions
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 | }; |