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 | 2219 | tableName, |
| 2220 | 2220 | onDataChange: (...args) => { |
| 2221 | 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 | 2263 | delayComputed: true |
| 2229 | 2264 | }; | ... | ... |