Commit 10df095b2717590ea21b1a79a4ee8059636ebdea

Authored by chenxt
1 parent 5ca73950

弹窗复制到

src/components/Common/CommonHooks/useCommonBase.js
... ... @@ -2724,7 +2724,6 @@ const useCommonBase = props => {
2724 2724 } = params;
2725 2725 const { sControlName = "", sInstruct } = config;
2726 2726 const sControlLowerName = sControlName.toLowerCase();
2727   -
2728 2727 // 调用指令集
2729 2728 if (sInstruct) {
2730 2729 handleExecInstructSet({
... ... @@ -3055,10 +3054,97 @@ const useCommonBase = props => {
3055 3054 };
3056 3055  
3057 3056 // 复制到
3058   - const handleCopyTo = ({ tableName, config, record }) => {
3059   - const { sActiveId, sActiveName } = config;
3060   - };
  3057 + const handleCopyTo = async (nextProps, name, sActiveId) => {
  3058 + /* 待用数据声明 */
  3059 + const {
  3060 + masterConfig,
  3061 + masterData,
  3062 + slaveData,
  3063 + controlData,
  3064 + materialsData,
  3065 + processData,
  3066 + packData,
  3067 + app,
  3068 + token,
  3069 + sModelsId,
  3070 + formRoute,
  3071 + slaveSelectedRowKeys,
  3072 + } = props;
  3073 + console.log("🚀 ~ handleCopyTo ~ props:", props, nextProps)
  3074 + const { sActiveName } = nextProps.config;
  3075 + let sParentConditions = {};
  3076 + props.onOpenCommonModal({
  3077 + type: "commonModal",
  3078 + sActiveId,
  3079 + sActiveName,
  3080 + sParentConditions,
  3081 + parentProps: nextProps,
  3082 + onOk: data => {
  3083 + window.debugger && console.log("=====onOk");
  3084 + },
  3085 + onCancel: () => {
  3086 + window.debugger && console.log("=====onCancel");
  3087 + }
  3088 + });
  3089 + return
  3090 + // 从表有sCopyToCondition则不能复制,并提示
  3091 + if (commonUtils.isNotEmptyArr(slaveData) && name.includes('.')) {
  3092 + const sCopyToConditionIndex = slaveData.findIndex(item => item.sCopyToCondition);
  3093 + if (sCopyToConditionIndex !== -1) {
  3094 + message.warning(slaveData[sCopyToConditionIndex].sCopyToCondition);
  3095 + return;
  3096 + }
  3097 + }
  3098 +
  3099 + const copyTo = {};
  3100 + // const copyToConfig = masterConfig.gdsconfigformslave.filter(item => item.sControlName.includes(name));
  3101 + copyTo.name = name;
  3102 + copyTo.config = copyToConfig;
  3103 + copyTo.masterData = masterData;
  3104 + copyTo.slaveData = slaveData;
  3105 + copyTo.controlData = controlData;
  3106 + copyTo.materialsData = materialsData;
  3107 + copyTo.processData = processData;
  3108 + copyTo.packData = packData;
  3109 + copyTo.srcFormRoute = formRoute;
  3110 +
  3111 + // 部分红冲,需要将选中的从表数据带过去
  3112 + if (name.includes('Portion')) {
  3113 + if (commonUtils.isEmptyArr(slaveSelectedRowKeys)) {
  3114 + message.warning('请选择至少一条从表数据');
  3115 + return;
  3116 + }
  3117 + const filterSlaveData = slaveData.filter(item => slaveSelectedRowKeys.includes(item.sId));
  3118 + copyTo.slaveData = filterSlaveData;
  3119 + }
  3120 + if (sModelsId === '12710101116943091653680' && name === 'BtnCopyTo.alumite') {
  3121 + if (commonUtils.isEmptyArr(slaveSelectedRowKeys)) {
  3122 + message.warning('请选择至少一条从表数据');
  3123 + return;
  3124 + }
  3125 + }
  3126 +
  3127 +
  3128 + const tbSuffix = '';
  3129 + let sId = '';
  3130 + if (!commonUtils.isEmpty(slaveData)) {
  3131 + sId = slaveData[0].sId;
  3132 + } else {
  3133 + sId = masterData.sId;
  3134 + }
3061 3135  
  3136 + const dataUrl = `${commonConfig.server_host}bill/billCopyToCheck/?sModelsId=${sModelsId}&sActiveId=${sActiveId}&tbSuffix=${tbSuffix}&sName=${formRoute}`;
  3137 + const values = { sSlaveId: sId };
  3138 + const dataReturn = (await commonServices.postValueService(token, values, dataUrl)).data;
  3139 + if (dataReturn.code === 1) {
  3140 + if (dataReturn.dataset.rows.length > 0) {
  3141 + console.log(dataReturn, 'dataReturn');
  3142 +
  3143 + } else {
  3144 +
  3145 + }
  3146 + }
  3147 + };
3062 3148 // 合并config配置和所有sButtonEnabled配置
3063 3149 const handleMergeTableConfig = tableConfig => {
3064 3150 const { sRulesJsonTotal } = state;
... ... @@ -3338,7 +3424,7 @@ const useCommonBase = props => {
3338 3424 const { data } = await commonServices.postValueService(token, value, url);
3339 3425 if (data.code === 1) {
3340 3426 /* 数据删除成功 */
3341   -
  3427 +
3342 3428 if (sModelsType !== 'commonOeeBill') {
3343 3429 handleDelDataSuccess(props);
3344 3430 } else {
... ... @@ -3351,7 +3437,7 @@ const useCommonBase = props => {
3351 3437 };
3352 3438 /* 数据删除成功跳转到新路由即pane */
3353 3439 const handleDelDataSuccess = (props) => {
3354   -
  3440 +
3355 3441 };
3356 3442  
3357 3443 const returnProps = {
... ...
src/components/Common/CommonTable/index.js
... ... @@ -4376,10 +4376,12 @@ class CommonTableRc extends React.Component {
4376 4376 search = false;
4377 4377 }
4378 4378 }
  4379 + console.log(props, 'props.data');
  4380 +
4379 4381 if (
4380 4382 column.dataIndex === "spicture" ||
4381 4383 column.dataIndex === "tableLastEmpty" ||
4382   - props.data?.some(item =>
  4384 + props?.data?.some(item =>
4383 4385 item.costomEnabledList?.includes(column.dataIndex)
4384 4386 )
4385 4387 ) {
... ... @@ -4808,6 +4810,7 @@ class CommonTableRc extends React.Component {
4808 4810 tableData: props.data
4809 4811 })
4810 4812 : props.tableBtnsConfig || [];
  4813 + console.log(tableBtnsConfig, typeof props.tableBtnsConfig === "function", 'tableBtnsConfig');
4811 4814  
4812 4815 return (
4813 4816 <div
... ... @@ -4817,7 +4820,8 @@ class CommonTableRc extends React.Component {
4817 4820 }}
4818 4821 >
4819 4822 {tableBtnsConfig.map(config => {
4820   - const { showName, btnBgColor, sColor, sDefault: str } = config;
  4823 + if (!config) return
  4824 + const { showName, btnBgColor, sColor, sDefault: str, sControlName } = config;
4821 4825 const disabled = props.getBtnDisabled({
4822 4826 str,
4823 4827 defaultValue: false,
... ... @@ -4859,6 +4863,11 @@ class CommonTableRc extends React.Component {
4859 4863  
4860 4864 const { [this.rowKey]: rowKeyId } = record;
4861 4865 const { selectedRowKeys = [] } = props;
  4866 + if (sControlName.includes('BtnTableCopyTo.ActProduceReport')) {
  4867 + const copyToConfig = props?.config?.gdsconfigformslave.filter(x=>x.sControlName.includes('BtnTableCopyTo.ActProduceReport'))
  4868 + props.onCopyTo(props.name, config.sActiveId, config, copyToConfig, record)
  4869 + return
  4870 + }
4862 4871 if (selectedRowKeys.includes(rowKeyId)) {
4863 4872 onTempTableBtnClick();
4864 4873 } else {
... ... @@ -4867,7 +4876,7 @@ class CommonTableRc extends React.Component {
4867 4876 [`${props.name}SelectedRowKeys`]: [rowKeyId]
4868 4877 },
4869 4878 nextProps => {
4870   -
  4879 +
4871 4880 onTempTableBtnClick(nextProps);
4872 4881 }
4873 4882 );
... ... @@ -12206,7 +12215,7 @@ const useGetTableBtnOprSetting = props =&gt; {
12206 12215 // sDefault =
12207 12216 const btnList = gdsconfigformslave.filter(item => item.bVisible && item.sControlName.includes('Btn'))
12208 12217 sDefault = btnList?.map(item => {
12209   - return getButtonName(item.sControlName.toLowerCase())
  12218 + return getButtonName(item.sControlName.toLowerCase())
12210 12219 }).join(',')
12211 12220 }
12212 12221 // sDefault = sDefault + ',materials'
... ...
src/mes/common/commonModelComponent/index.js
... ... @@ -401,6 +401,7 @@ const useCommonModelEvent = props =&gt; {
401 401 if (commonUtils.isEmptyObject(copyTo)) return;
402 402  
403 403 const { masterConfig, sModelsId, masterData } = props;
  404 + const { btnConfig = {}, copyToConfig = [], record = {} } = props?.parentProps || {}
404 405 if (masterData && masterData.sBillNo) return
405 406 let masterDataCopyTo = {};
406 407 for (const key in copyTo) {
... ... @@ -417,15 +418,52 @@ const useCommonModelEvent = props =&gt; {
417 418 sFormId: sModelsId,
418 419 ...masterDataCopyTo
419 420 };
420   - props.onSaveState({ masterData: masterDataNew, enabled: true });
  421 + const addState = {}; // 始终初始化为对象
  422 + // if (Array.isArray(copyToConfig) && copyToConfig.length > 0) {
  423 + // copyToConfig.forEach(item => {
  424 + // if (item?.sControlName) {
  425 + // const name = item.sControlName.split('.').pop();
  426 + // if (name && name.includes('slave')) {
  427 + // addState[`${name}Data`] = {
  428 + // ...commonFunc.getDefaultData(`${name}Config`),
  429 + // handleType: "add",
  430 + // sId: commonUtils.createSid(),
  431 + // sFormId: sModelsId,
  432 + // ...commonFunc.getAssignFieldValue(item.sAssignField, record)
  433 + // };
  434 + // }
  435 + // }
  436 + // });
  437 + // }
  438 + props.onSaveState({ masterData: masterDataNew, enabled: true, ...addState });
421 439 },
422 440 [props.bFinish]
423 441 );
424 442 const { gdsconfigformslave } = props?.slaveConfig || {}
425   - const copyConfig = gdsconfigformslave?.filter(x => x.sControlName.includes('BtnCopyTo'))
426 443 useEffect(() => {
  444 + const { btnConfig = {}, copyToConfig = [], record = {} } = props?.parentProps || {}
  445 + if (!props.masterData) return
  446 + if (!copyToConfig) return
  447 + const addState = {}; // 始终初始化为对象
  448 + if (Array.isArray(copyToConfig) && copyToConfig.length > 0) {
  449 + copyToConfig.forEach(item => {
  450 + if (item?.sControlName) {
  451 + const nameList = item.sControlName.split('.');
  452 + if (nameList && nameList.length > 2) {
  453 + const name = nameList.pop()
  454 + addState[`${name}Data`] = [{
  455 + ...commonFunc.getDefaultData(`${name}Config`),
  456 + handleType: "add",
  457 + sId: commonUtils.createSid(),
  458 + ...commonFunc.getAssignFieldValue(item.sAssignField, record)
  459 + }];
  460 + }
  461 + }
  462 + });
  463 + }
  464 + props.onSaveState({ ...addState });
427 465  
428   - }, [])
  466 + }, [props.masterData])
429 467  
430 468 // 如果是表单类型,并且主表数据为空,默认为编辑状态
431 469 // useEffect(
... ... @@ -470,12 +508,12 @@ const useCommonModelEvent = props =&gt; {
470 508  
471 509 // 获取数据集
472 510 const handleGetData = async (tableList = [], isWait, bInit) => {
  511 + const { btnConfig = {}, copyToConfig = [], record = {} } = props?.parentProps || {}
473 512 let addState = {};
  513 + let copy = {}
474 514 for (let i = 0; i < tableList.length; i++) {
475 515 const tableName = tableList[i];
476 516 const config = formData.find(item => item.sGrd === tableName);
477   - console.log(config, 'config');
478   -
479 517 if (!config || tableName.includes("FirstlineSelected")) continue;
480 518 const conditonValues = props.onGetSqlConditionValues(config);
481 519 let { [`${tableName}Filter`]: bFilter } = props;
... ... @@ -652,7 +690,22 @@ const useCommonModelEvent = props =&gt; {
652 690 }
653 691 }
654 692 }
655   - addState = { ...addState, ...result };
  693 + // if (copyToConfig && copyToConfig.length) {
  694 + // copyToConfig.forEach(item => {
  695 + // const name = item.sControlName.split('.').pop()
  696 + // if (name === tableName) {
  697 + // const data = commonFunc.getAssignFieldValue(item.sAssignField, record)
  698 + // copy[`${tableName}Data`] = {
  699 + // ...commonFunc.getDefaultData(name + 'Config'),
  700 + // handleType: "add",
  701 + // sId: commonUtils.createSid(),
  702 + // sFormId: sModelsId,
  703 + // ...data
  704 + // }
  705 + // }
  706 + // })
  707 + // }
  708 + addState = { ...addState, ...result, ...copy };
656 709  
657 710 if (tableName === "tableS0" && props.sSReserve1) {
658 711 addState.sSReserve1 = undefined;
... ... @@ -1193,7 +1246,6 @@ const CommonModel = baseProps =&gt; {
1193 1246 ? useCommonModelEvent(baseProps)
1194 1247 : useCommonModelEvent(useCommonBase(baseProps));
1195 1248 const { bFinish } = props;
1196   -
1197 1249 if (!bFinish) return "";
1198 1250  
1199 1251 const { tabConfig = [] } = props;
... ...
src/mes/common/commonOperationBarComponent/MesToolbar.js
... ... @@ -5,21 +5,25 @@ import * as commonUtils from &quot;@/utils/utils&quot;;
5 5 const ToolbarFun = (props) => {
6 6 const { btnConfig, bMesBill } = props;
7 7 const currentMesPane = commonUtils.getAppData("currentMesPane");
8   - const { sModelType } = currentMesPane;
9   -
10   - if (!["/indexPage/commonList", "/indexPage/commonBill", "/indexMes/processReport"].includes(sModelType) && !bMesBill) {
  8 + const { sModelType = '' } = currentMesPane;
  9 + const { sControlName } = btnConfig;
  10 + const btnName = sControlName.replace('BtnLeft.', '').replace('BtnRight.', '').toLowerCase();
  11 + if ((btnName.includes('btnscanface')) && !bMesBill) {
  12 + handleScanFace(props);
  13 + return true
  14 + } else if (!["/indexPage/commonList", "/indexPage/commonBill"].includes(sModelType) && !bMesBill) {
11 15 return false;
12 16 }
13 17  
14   - const { sControlName } = btnConfig;
15   - const btnName = sControlName.replace('BtnLeft.', '').replace('BtnRight.', '').toLowerCase();
  18 + // const { sControlName } = btnConfig;
  19 + // const btnName = sControlName.replace('BtnLeft.', '').replace('BtnRight.', '').toLowerCase();
16 20 if (btnName === 'btnadd') {
17 21 handleAdd(props);
18 22 } else if (btnName === 'btnsave') {
19 23 handleSave(props);
20 24 } else if (btnName === 'btnupd') {
21 25 props.onSaveState({ enabled: true });
22   - } else if (btnName === 'btnscanface' || btnName === 'btnscanface1') {
  26 + } else if (btnName.includes('btnscanface')) {
23 27 handleScanFace(props);
24 28 } else if (btnName === 'btncancel') {
25 29 props.onCancel()
... ... @@ -96,8 +100,6 @@ const handleSave = (props) =&gt; {
96 100 ])
97 101 },
98 102 inscallback: () => {
99   - console.log(1111, 'footer');
100   -
101 103 props.onSaveState({
102 104 currentId: props.masterData.sId, enabled: false
103 105 });
... ...
src/mes/scheduledTasks/machineTasks/index.js
1 1 /*
2   - * @Author: Sakura
  2 + * @Author: Sakura
3 3 * @LastEditors: Sakura
4   - * @Date: 2024-02-28 9:55:04
5   - * @Description: 计划任务 ---- 机台任务
6   - */
  4 + * @Date: 2024-02-28 9:55:04
  5 + * @Description: 计划任务 ---- 机台任务
  6 + */
  7 +/* eslint-disable */
7 8 import React, { useEffect, useRef, useState } from "react";
8 9 import moment from "moment";
9 10 import {
... ... @@ -250,11 +251,9 @@ const useInfoEvent = props =&gt; {
250 251 plcMachinedata: record
251 252 };
252 253  
253   - const url = `${
254   - commonConfig.server_host
255   - }oee/doUpdateStatus/${doWorkState}?sModelsId=${sModelsId}&sMachineId=${
256   - record.sMachineId
257   - }`;
  254 + const url = `${commonConfig.server_host
  255 + }oee/doUpdateStatus/${doWorkState}?sModelsId=${sModelsId}&sMachineId=${record.sMachineId
  256 + }`;
258 257 const returnData = (await commonServices.postValueService(
259 258 app.token,
260 259 value,
... ... @@ -344,7 +343,7 @@ const useInfoEvent = props =&gt; {
344 343 const handleTableBtnClick = async item => {
345 344 const { tableName, index, record, tableData, config, iFlag } = item;
346 345 const { showName, sControlName } = config;
347   -
  346 +
348 347 if (sControlName === 'BtnProductionReporting') {
349 348 props.onTableBtnClick(item);
350 349 return;
... ... @@ -445,13 +444,11 @@ const useInfoEvent = props =&gt; {
445 444 const { app } = props;
446 445 const { sId } = item.record;
447 446 const { token } = app;
448   - const url = `${
449   - commonConfig.server_host
450   - }oee/updateProductionplan/${sId}/${iFlag}${
451   - pauseValue
  447 + const url = `${commonConfig.server_host
  448 + }oee/updateProductionplan/${sId}/${iFlag}${pauseValue
452 449 ? `?sWorkOrderChangeMemo=${encodeURIComponent(pauseValue)}`
453 450 : ""
454   - }`;
  451 + }`;
455 452 const dataReturn = (await commonServices.getService(token, url)).data;
456 453 if (dataReturn.code === 1) {
457 454 handleRefresh();
... ... @@ -497,6 +494,7 @@ const MachineTasks = baseProps =&gt; {
497 494 slave2Column,
498 495 slave2Data = []
499 496 } = props;
  497 + console.log("🚀 ~ MachineTasks ~ props:", props)
500 498  
501 499 const bStartWork = commonUtils.getAppData("userinfo", "bStartWork");
502 500  
... ... @@ -512,24 +510,46 @@ const MachineTasks = baseProps =&gt; {
512 510 slave0Config?.gdsconfigformslave?.find(
513 511 item => item.sControlName === "BtnTableCopyTo.pauseWork"
514 512 ) || {};
515   -
  513 + // 产量上报按钮
  514 + const actProduceReportConfig = slave0Config?.gdsconfigformslave?.find(
  515 + item => item.sControlName === 'BtnTableCopyTo.ActProduceReport'
  516 + ) || {};
  517 + const copytoConfig = slave0Config?.gdsconfigformslave?.find(
  518 + item => item.sControlName === "BtnTableCopyTo"
  519 + ) || {};
516 520 // 表格业务
517 521 const [sSrcNo, setSSrcNo] = useState("");
518 522 const tableBtnsConfig = slave0Config?.gdsconfigformslave?.filter(
519   - item => item.sControlName === "BtnProductionReporting"
520   - ) || [];
  523 + item => item.sControlName === "BtnProductionReporting"
  524 + ) || [];
  525 + const handleCopyTo = async (name, sActiveId, btnConfig, copyToConfig, record) => {
  526 + let sParentConditions = {};
  527 + const { sActiveName } = btnConfig;
  528 + props.onOpenCommonModal({
  529 + type: "commonModal",
  530 + sActiveId,
  531 + title: sActiveName,
  532 + sParentConditions,
  533 + parentProps: { ...props, btnConfig, copyToConfig, record },
  534 + onOk: data => {
  535 + window.debugger && console.log("=====onOk");
  536 + },
  537 + onCancel: () => {
  538 + window.debugger && console.log("=====onCancel");
  539 + }
  540 + });
  541 + }
521 542 // 顶部表格配置
522 543 const tableProps = {
523 544 ...commonBusiness.getTableTypes("slave0", props),
524 545 // data: [{ sId: "123" }],
525 546 tableProps: {
526   - onChange: () => {},
  547 + onChange: () => { },
527 548 loading: isTableLoading
528 549 },
529 550 tableBtnsConfig: params => {
530 551 const { record, index } = params;
531   - const { iStar } = record;
532   -
  552 + const { iStar, bManual } = record;
533 553 let showName, btnBgColor, sDefault;
534 554 if (iStar === 1) {
535 555 showName = "暂停";
... ... @@ -547,17 +567,20 @@ const MachineTasks = baseProps =&gt; {
547 567 sDefault = "${false}";
548 568 }
549 569  
  570 + const outPut = bManual ? [actProduceReportConfig] : [{ showName, btnBgColor, sDefault, startWorkConfig, pauseWorkConfig },
  571 + { showName: "完工", btnBgColor: "#1890FF", sDefault }]
550 572 return [
551   - { showName, btnBgColor, sDefault, startWorkConfig, pauseWorkConfig },
552   - { showName: "完工", btnBgColor: "#1890FF", sDefault },
553   - ...tableBtnsConfig
  573 + ...outPut,
  574 + ...tableBtnsConfig,
  575 +
554 576 ];
555 577 },
556 578 onTableBtnClick: item => {
557 579 props.onTableBtnClick(item);
558 580 },
559 581 tableBtnsWidth: "280px",
560   - fixedHeight: "335px"
  582 + fixedHeight: "335px",
  583 + onCopyTo: handleCopyTo
561 584 };
562 585 // 全部按钮事件
563 586 const tableAll = () => {
... ...