Commit cddd259c46e59ef33005b387e101a09e775ccbe1

Authored by 陈鑫涛
2 parents 1ba48b0f 4fddb986

Merge branch 'main' of http://git.xlyprint.cn/zhangz/xlyUmi into main

src/components/Common/CommonComponent/index.js
... ... @@ -135,7 +135,7 @@ export default class CommonComponent extends Component {
135 135 const selectInputNode = currentNode.querySelector("input[class*='ant-select-selection-search-input']");
136 136 const antInput = currentNode.querySelector("input[class*='ant-input']");
137 137 const oInput = selectInputNode || antInput;
138   - if (oInput) {
  138 + if (oInput && !this.props.noDebounce) {
139 139 oInput.addEventListener("compositionstart", () => {
140 140 this.chineseInputting = true;
141 141 });
... ...
src/components/Manufacture/ProcessCardPackTableTreeNew/index.js
... ... @@ -844,6 +844,13 @@ const ProcessCardPackTableTreeNewEvent = props => {
844 844 dispatchFunc(name, "onDataChange", ["name", "sFieldName", "changeValue", "sId", "dropDownData"], args);
845 845 };
846 846 returnProps.onDataChange = handleTableChange;
  847 + // 行选择事件
  848 + const handleTableSelectRowChange = (...args) => {
  849 + const [name0] = args;
  850 + const name = name0.includes("materials") ? "materials" : name0;
  851 + dispatchFunc(name, "onTableSelectRowChange", ["name", "selectedRowKeys"], args);
  852 + };
  853 + returnProps.onTableSelectRowChange = handleTableSelectRowChange;
847 854  
848 855 // 各种超链接点击
849 856 const handleViewChoose = (...args) => {
... ... @@ -2746,6 +2753,10 @@ const controlProps = props => {
2746 2753 packData,
2747 2754 });
2748 2755 };
  2756 + returnProps.onTableSelectRowChange = async ({ name, selectedRowKeys }) => {
  2757 + const addState = await props.onTableSelectRowChange(name, selectedRowKeys, true);
  2758 + props.onSaveState({ addState, processSelectedRowKeys: []});
  2759 + }
2749 2760 returnProps.onViewChoose = ({ sName, record }) => {
2750 2761 const { sId } = record; /* 控制表主键 */
2751 2762 const { enabled, slaveData } = props;
... ...
src/components/Manufacture/WorkOrderPackTableTreeNew/index.js
... ... @@ -1294,6 +1294,13 @@ const WorkOrderPackTableTreeNewEvent = props => {
1294 1294 };
1295 1295 returnProps.onDataChange = handleTableChange;
1296 1296  
  1297 + const handleTableSelectRowChange = (...args) => {
  1298 + const [name0] = args;
  1299 + const name = name0.includes("materials") ? "materials" : name0;
  1300 + dispatchFunc(name, "onTableSelectRowChange", ["name", "selectedRowKeys"], args);
  1301 + };
  1302 + returnProps.onTableSelectRowChange = handleTableSelectRowChange;
  1303 +
1297 1304 // 各种超链接点击
1298 1305 const handleViewChoose = (...args) => {
1299 1306 const [name0] = args;
... ... @@ -3419,6 +3426,10 @@ const controlProps = props => {
3419 3426 packData,
3420 3427 });
3421 3428 };
  3429 + returnProps.onTableSelectRowChange = async ({ name, selectedRowKeys }) => {
  3430 + const addState = await props.onTableSelectRowChange(name, selectedRowKeys, true);
  3431 + props.onSaveState({ addState, processSelectedRowKeys: []});
  3432 + }
3422 3433 returnProps.onViewChoose = ({ name, sName, record }) => {
3423 3434 const { sId } = record; /* 控制表主键 */
3424 3435 const { enabled, slaveData } = props;
... ...
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 = () => {
... ... @@ -459,6 +498,9 @@ const QuickQuoteEvent = props => {
459 498 const masterDataNew = { ...masterData, cpProcessName, productProcessInfo };
460 499 masterDataNew.handleType = masterDataNew.handleType || "update";
461 500 masterDataNew.sId = masterDataNew.sId || commonUtils.createSid();
  501 + if (isWait) {
  502 + return masterDataNew;
  503 + }
462 504 setState(pre => ({ ...pre, masterData: masterDataNew, ...extraState }));
463 505 }
464 506 };
... ... @@ -1210,7 +1252,7 @@ const TreeComponent = props => {
1210 1252 const downAbleConfigs = await getSqlDropDownData({ ...showDownConfig });
1211 1253  
1212 1254 props.setState(pre => {
1213   - const { slaveData = [], slaveConfig, manyData = [] } = pre;
  1255 + const { slaveData = [], slaveConfig, manyData = [], masterData = {} } = pre;
1214 1256 const addState = {};
1215 1257 const defaultData = commonFunc.getDefaultData(slaveConfig, { tree: selectedNode });
1216 1258 const slaveDataNew = slaveData.filter(item => item.sTreeNodeName === selectedNode.showName);
... ... @@ -1245,6 +1287,9 @@ const TreeComponent = props => {
1245 1287 ...(sPackPath ? { sPackPath } : {}),
1246 1288 };
1247 1289 });
  1290 + delete masterData.cpProcessName;
  1291 + delete masterData.productProcessInfo;
  1292 + addState.masterData = masterData;
1248 1293 addState.extraParts = {};
1249 1294 addState.calcPriceFinished = false;
1250 1295 addState.backendParamsConfig = [];
... ... @@ -1821,10 +1866,7 @@ const BoxComponent = props => {
1821 1866  
1822 1867 props.setState(pre => ({
1823 1868 ...pre,
1824   - backendParamsConfig: commonUtils.convertStrToObj(
1825   - sBackProcessData.find(item => item[showConfig.sName])?.sParamConfig,
1826   - []
1827   - ),
  1869 + backendParamsConfig: commonUtils.convertStrToObj(sBackProcessData.find(item => item[showConfig.sName])?.sParamConfig, []),
1828 1870 backendConfig: { sParentFieldsName: showConfig.sName, sBoxModel: boxModel },
1829 1871 }));
1830 1872 },
... ... @@ -1924,7 +1966,7 @@ const BoxComponent = props => {
1924 1966 ).toFixed(2)
1925 1967 ),
1926 1968 dWlcd: dWlcd,
1927   - dWlkd: dWlkd,
  1969 + dWlkd: dWlkd,
1928 1970 dMachineQty: Math.floor(dProductQty / dSinglePQty),
1929 1971 dSinglePQty: dSinglePQty,
1930 1972 dMaterialsKQty: dMaterialsKQty,
... ... @@ -2195,12 +2237,20 @@ const BoxComponent = props => {
2195 2237 height: "290px",
2196 2238 backgroundColor: "#fff",
2197 2239 borderRight: "1px solid #ccc",
2198   - position:'relative'
  2240 + position: "relative",
2199 2241 }}
2200 2242 >
2201   - <div style={{position:'absolute',left:'50%',top:'50%',transform:' translate(-50%, -50%)',width:'100%',height:'200px'}}>
2202   - <DynamicSVG {...svgProps} />
2203   -
  2243 + <div
  2244 + style={{
  2245 + position: "absolute",
  2246 + left: "50%",
  2247 + top: "50%",
  2248 + transform: " translate(-50%, -50%)",
  2249 + width: "100%",
  2250 + height: "200px",
  2251 + }}
  2252 + >
  2253 + <DynamicSVG {...svgProps} />
2204 2254 </div>
2205 2255 </div>
2206 2256 ) : (
... ...
src/components/QuoQuotation/QuotationPackTableTree/QuotationPackTableTree.js
... ... @@ -1806,6 +1806,7 @@ class QuotationPackTableTree extends Component {
1806 1806 treeSelectedKeys = selectedRowKeys; /* 把树形选中节点赋值给表格部件选中节点 */
1807 1807 addState.treeSelectedKeys = treeSelectedKeys;
1808 1808 }
  1809 + addState.processSelectedRowKeys = []; /* 部件选中时 清空工序的选中 */
1809 1810 }
1810 1811 this.props.onSaveState(addState);
1811 1812 } else if (name === 'materials' || name === 'process') {
... ...