Commit 4233cf858ab75090558179cdb50891b4120e8f1a

Authored by chenxt
1 parent ab773b3c

新增commonsubbill

src/components/Common/CommonHooks/useCommonBase.js
... ... @@ -58,14 +58,17 @@ const useCommonBase = props => {
58 58 const { sModelsId, app } = state;
59 59 const isChoosePlate = sModelsId !== '12710101117087374661080'
60 60 const formData = await handleGetModelConfig({ sModelsId });
61   - const addState = {};
  61 + let addState = {};
62 62 let pageRoute = props.sModelType;
63 63 // 如果是弹窗且没有pageLayout,则认为是commonBill
64 64 if (commonUtils.isNotEmptyObject(props.parentProps) && formData.length && !formData[0].gdsconfigformslave.some(item => item.sControlName === 'pageLayout')) {
65 65 pageRoute = '/indexPage/commonBill';
66 66 }
  67 + if (formData.length && formData[0]?.sName.includes('/indexPage/commonSubBill')) {
  68 + pageRoute = formData[0]?.sName
  69 + }
67 70  
68   - if (formData.length && !props.currentContent && ['/indexPage/commonList', '/indexPage/commonBill'].includes(pageRoute) && !formData[0].gdsconfigformslave.some(item => item.sControlName === 'pageLayout')) {
  71 + if (formData.length && !props.currentContent && ['/indexPage/commonList', '/indexPage/commonBill', '/indexPage/commonSubBill'].includes(pageRoute) && !formData[0].gdsconfigformslave.some(item => item.sControlName === 'pageLayout')) {
69 72 if (pageRoute === '/indexPage/commonList') {
70 73 formData[0].sGrd = isChoosePlate ? 'slave' : formData[0].sGrd;
71 74 formData[0].gdsconfigformslave.push({
... ... @@ -98,6 +101,84 @@ const useCommonBase = props => {
98 101 })
99 102 addState.bMesBill = true;
100 103 addState.copyTo = { master: { maxBillNo: 'sBillNo' } };
  104 + } else if (pageRoute === '/indexPage/commonSubBill') {
  105 + const { sLanguage } = app.userinfo;
  106 + const [tableList, tabConfig] = [[], []];
  107 + let addState1 = {}
  108 + const filterData = formData.filter(item => item.bGrd && item.sTbName !== 'sysbillcheckresult' && item.bGrdVisible);
  109 + if (commonUtils.isNotEmptyArr(filterData) && filterData.length > 1 && filterData.length === 2) {
  110 + const slaveChildConfig = filterData[1];
  111 + const slaveChildColumn = commonFunc.getHeaderConfig(slaveChildConfig);
  112 + // handleGetOneMemoData('slaveChild', slaveChildConfig);
  113 + const slaveChildPageSize = commonUtils.isNotEmptyObject(slaveChildConfig) && commonUtils.isNotEmptyNumber(slaveChildConfig.iPageSize) && slaveChildConfig.iPageSize !== 0 ?
  114 + slaveChildConfig.iPageSize : commonConfig.pageSize;
  115 + addState1 = {
  116 + slaveChildConfig,
  117 + slaveChildColumn,
  118 + slaveChildPageSize,
  119 + };
  120 + } else if (commonUtils.isNotEmptyArr(filterData) && filterData.length > 2) {
  121 + const slaveChildConfig = commonUtils.isNotEmptyArr(formData.filter(item => item.bGrd && item.sTbName !== 'sysbillcheckresult' && item.bGrdVisible && commonUtils.isNotEmptyObject(item.sChildTableName))) ?
  122 + formData.filter(item => item.bGrd && item.sTbName !== 'sysbillcheckresult' && item.bGrdVisible && commonUtils.isNotEmptyObject(item.sChildTableName))[0] : {};
  123 +
  124 + const slaveChildColumn = commonUtils.isNotEmptyObject(slaveChildConfig) ? commonFunc.getHeaderConfig(slaveChildConfig) : [];
  125 + // handleGetOneMemoData('slaveChild', slaveChildConfig);
  126 + const slaveChildPageSize = commonUtils.isNotEmptyObject(slaveChildConfig) && commonUtils.isNotEmptyNumber(slaveChildConfig.iPageSize) && slaveChildConfig.iPageSize !== 0 ?
  127 + slaveChildConfig.iPageSize : commonConfig.pageSize;
  128 + addState1 = {
  129 + slaveChildConfig,
  130 + slaveChildColumn,
  131 + slaveChildPageSize,
  132 + };
  133 +
  134 + // eslint-disable-next-line no-unused-vars
  135 + const addState2 = {};
  136 + const memoDataList = [];
  137 + const slaveInfoList = [];
  138 + let slaveIndex = 0;
  139 + formData.forEach((item, index) => {
  140 + if (index >= 2 && commonUtils.isNotEmptyObject(item) && item.bGrd && item.bGrdVisible && commonUtils.isEmptyObject(item.sChildTableName)) {
  141 + addState1[`slave${slaveIndex}Config`] = item;
  142 + config[`slave${slaveIndex}Config`] = item;
  143 + addState1[`slave${slaveIndex}Column`] = commonFunc.getHeaderConfig(item);
  144 + memoDataList.push({
  145 + name: `slave${slaveIndex}`,
  146 + config: item,
  147 + });
  148 + slaveInfoList.push(`slave${slaveIndex}`);
  149 + // eslint-disable-next-line no-plusplus
  150 + slaveIndex++;
  151 + }
  152 + });
  153 + addState1.slaveInfoList = slaveInfoList;
  154 + }
  155 + formData.forEach((item, index) => {
  156 + if (index === 0) {
  157 + item.sGrd = isChoosePlate ? 'master' : item.sGrd;
  158 + tableList.push('master');
  159 + tabConfig.push({ "configList": [{ "sName": "master", "showType": "form", "bHideTitle": true, "defaultEnabled": true }], "mode": "advanced", "height": "auto", "width": "100%" });
  160 + } else {
  161 + const tablename = `slave${index - 2 < 0 ? '' : index - 2}`;
  162 + if (item.bGrd && item.sTbName !== 'sysbillcheckresult' && item.bGrdVisible && index - 2 === 0) {
  163 + return
  164 + }
  165 + item.sGrd = isChoosePlate ? tablename : item.sGrd;
  166 + tableList.push(tablename);
  167 + if (!tabConfig[1]) {
  168 + tabConfig.push({ "configList": [], "mode": "advanced" });
  169 + }
  170 + tabConfig[1].configList.push({ "sName": tablename, "sTabName": item[sLanguage], "showType": "table", "defaultEnabled": true, "bHideTitle": true });
  171 + }
  172 + });
  173 + formData[0].gdsconfigformslave.push({
  174 + sId: commonUtils.createSid(),
  175 + sControlName: 'pageLayout',
  176 + sDefault: JSON.stringify([tableList, tabConfig]),
  177 + })
  178 +
  179 + addState.bMesSubBill = true;
  180 + // addState.copyTo = { master: { maxBillNo: 'sBillNo' } };
  181 + addState = { ...addState, ...addState1 };
101 182 }
102 183 }
103 184  
... ... @@ -195,7 +276,7 @@ const useCommonBase = props =&gt; {
195 276 })
196 277 } else if (bFilterName !== undefined && bFilterCondition !== undefined && bFilterValue !== undefined) {
197 278 const currentValue = masterData[bFilterName];
198   - flag = handleCompareValues(currentValue, bFilterValue, bFilterCondition);
  279 + // flag = handleCompareValues(currentValue, bFilterValue, bFilterCondition);
199 280 }
200 281 if (!flag) {
201 282 break;
... ... @@ -379,20 +460,22 @@ const useCommonBase = props =&gt; {
379 460 if (commonUtils.isNotEmptyObject(props.parentProps)) {
380 461 pageRoute = '/indexPage/commonBill';
381 462 }
382   - if (name === 'master' && pageRoute.includes('indexPage/commonBill')) {
  463 + if (name === 'master' && ['/indexPage/commonBill', 'indexPage/commonSubBill'].includes(pageRoute)) {
383 464 // condition.sId = configDataId
384 465 condition.pageNum = ''
385 466 condition.pageSize = ''
386 467 delete condition.sSqlCondition
387 468 }
388   - if (name.includes('slave') && pageRoute.includes('indexPage/commonBill')) {
  469 +
  470 + if (name.includes('slave') && ['/indexPage/commonBill', '/indexPage/commonSubBill'].includes(pageRoute)) {
389 471 delete condition.sId
390 472 condition.sSqlCondition = {
391 473 sParentId: condition.sSqlCondition.sParentId
392 474 }
  475 +
393 476 }
394 477 // 只有弹窗没有不查询
395   - if (name === 'master' && (sId === '' || !sId) && props.parentProps && pageRoute.includes('indexPage/commonBill')) return
  478 + if (name === 'master' && (sId === '' || !sId) && props.parentProps && ['/indexPage/commonBill', '/indexPage/commonSubBill'].includes(pageRoute)) return
396 479 const dataUrl = `${commonConfig.server_host
397 480 }business/getBusinessDataByFormcustomId/${configDataId}?sModelsId=${sModelsId}&sName=${formSrcRoute}`;
398 481  
... ... @@ -432,13 +515,16 @@ const useCommonBase = props =&gt; {
432 515 const filterConditionNew = commonUtils.isNotEmptyObject(filterCondition)
433 516 ? filterCondition.filter(item => item.bFilterType !== "tree")
434 517 : "";
  518 + // 如果state中存在slaveChildConfig 那么就是commonSubBill
  519 + const slaveChild = state?.formData?.find(x => x.sId === state?.slaveChildConfig?.sId)
  520 + const names = slaveChild && slaveChild.sGrd === name ? 'slaveChild' : name
435 521 const addState = {
436   - [`${name}Data`]: returnData,
437   - [`${name}TotalData`]: totalData,
  522 + [`${names}Data`]: returnData,
  523 + [`${names}TotalData`]: totalData,
438 524 // [`${name}Pagination`]: returnPagination,
439   - [`${name}FilterCondition`]: filterConditionNew,
440   - [`${name}OrderBy`]: orderBy,
441   - [`${name}SelectedRowKeys`]: tableSelectedRowKeys,
  525 + [`${names}FilterCondition`]: filterConditionNew,
  526 + [`${names}OrderBy`]: orderBy,
  527 + [`${names}SelectedRowKeys`]: tableSelectedRowKeys,
442 528 menuChildData,
443 529 pageLoading: false,
444 530 iPageSize,
... ... @@ -452,19 +538,21 @@ const useCommonBase = props =&gt; {
452 538  
453 539 // 添加动态列数据
454 540 if (commonUtils.isNotEmptyArr(columnConfig)) {
455   - addState[`${name}ColumnConfig`] = columnConfig;
  541 + addState[`${names}ColumnConfig`] = columnConfig;
456 542 }
457 543  
458 544 const slaveSelectedData = [];
459   - addState[`${name}SelectedData`] = slaveSelectedData;
  545 + addState[`${names}SelectedData`] = slaveSelectedData;
460 546 /* 如果获取数据集时候 删除数据集有数据 则清空 */
461 547 if (commonUtils.isNotEmptyArr(tableDelData)) {
462   - addState[`${name}DelData`] = [];
  548 + addState[`${names}DelData`] = [];
463 549 }
  550 +
464 551 if (isWait) {
465 552 return addState;
466 553 }
467 554 {
  555 +
468 556 handleSaveState(addState);
469 557 }
470 558 } else {
... ... @@ -2788,7 +2876,6 @@ const useCommonBase = props =&gt; {
2788 2876 const { sControlName = "", sInstruct } = config;
2789 2877 const sControlLowerName = sControlName.toLowerCase();
2790 2878 // 调用指令集
2791   - console.log(sInstruct, 'sInstruct');
2792 2879 if (sInstruct) {
2793 2880 handleExecInstructSet({
2794 2881 ...props,
... ... @@ -3481,7 +3568,6 @@ const useCommonBase = props =&gt; {
3481 3568 handleOkDel(props);
3482 3569 };
3483 3570 const handleBtnChoose = async (name, sControlName, chooseConfig, recordIndex, tableName) => {
3484   - console.log("🚀 ~ handleBtnChoose ~ chooseConfig:", name, sControlName, chooseConfig, recordIndex, tableName)
3485 3571 return
3486 3572 const { token } = props;
3487 3573 const url = `${commonConfig.server_host}/gdsmodule/getGdsmoduleById/${chooseConfig.sActiveId}?sModelsId=${chooseConfig.sActiveId}`;
... ...
src/mes/common/commonModelComponent/index.js
... ... @@ -282,6 +282,7 @@ const useCommonModelEvent = props =&gt; {
282 282 // 特殊情况下处理下页面布局
283 283 pageLayout = handleGetFilterPageLayout(pageLayout);
284 284 const [tableList, tabConfig] = pageLayout;
  285 + console.log("🚀 ~ useCommonModelEvent ~ tabConfig:", tabConfig, pageLayoutConfig, pageLayout)
285 286 const colunmData = handleGetColumnData(tableList, true);
286 287 let result = {};
287 288 if (!noGetData && sModelsId === '17211911815017669983448000') {
... ... @@ -1906,10 +1907,12 @@ const CommonModel = baseProps =&gt; {
1906 1907 };
1907 1908  
1908 1909 const CommonModelComponent = props => {
1909   - const { tabConfig = [], level, modelStyle, app, bMesBill, enabled, masterData, sModelsType } = props;
  1910 + const { tabConfig = [], level, modelStyle, app, bMesBill, enabled, masterData, sModelsType, formData } = props;
1910 1911 const { userinfo } = app;
1911 1912 const sLanguage = userinfo.sLanguage;
  1913 + const pageRoute = formData?.[0]?.sName
1912 1914 const getComponent = (config, index = 0) => {
  1915 + console.log("🚀 ~ getComponent ~ config:", config, props)
1913 1916 const {
1914 1917 sName,
1915 1918 sTabName,
... ... @@ -1940,6 +1943,30 @@ const CommonModelComponent = props =&gt; {
1940 1943 } else if (showType === "costom") {
1941 1944 return <RouterComponent {...props} sModelType={sName} />;
1942 1945 } else {
  1946 + if (pageRoute.includes('commonSubBill')) {
  1947 + let componentProps = {
  1948 + ...props,
  1949 + showType, // 展示类型(表单/表格)
  1950 + enabled: !bMesBill ? defaultEnabled : enabled, // 是否可编辑
  1951 + sTabName, // 标题名称
  1952 + sName, // 配置对应的sGrd
  1953 + bHideTitle, //隐藏标题
  1954 + tableBtnsConfig, // 表格按钮配置
  1955 + bFirstComponent: level === 0 && index === -1
  1956 + };
  1957 + console.log("🚀 ~ getComponent ~ componentProps:", componentProps)
  1958 + const commonDivHeight = useComputedCommonDivHeight(componentProps);
  1959 + return (
  1960 + <div
  1961 + className="commonDiv"
  1962 + style={{ height: commonDivHeight }}
  1963 + key={sName}
  1964 + >
  1965 + <CommonViewTableComponent {...componentProps} />
  1966 + {/* <CommonTableComponent {...componentProps} /> */}
  1967 + </div>
  1968 + );
  1969 + }
1943 1970 let componentProps = {
1944 1971 ...props,
1945 1972 showType, // 展示类型(表单/表格)
... ... @@ -2352,6 +2379,7 @@ const CommonViewTableComponent = props =&gt; {
2352 2379 const { masterData, sModelsType, app } = props
2353 2380 const { bCheck = false } = masterData || {}
2354 2381 const imgSrc = commonBusiness.handleAddIcon(masterData, sModelsType, app);
  2382 +
2355 2383 return (
2356 2384 <>
2357 2385 {sName === "master" ? (
... ...
src/mes/common/commonOperationBarComponent/MesToolbar.js
... ... @@ -11,6 +11,7 @@ const ToolbarFun = async (props) =&gt; {
11 11 const { sModelType = '' } = currentMesPane;
12 12 const { sControlName, sButtonParam } = btnConfig;
13 13 const btnName = sControlName.replace('BtnLeft.', '').replace('BtnRight.', '').toLowerCase();
  14 + console.log("🚀 ~ ToolbarFun ~ btnName:", btnName)
14 15 if ((btnName.includes('btnscanface')) && !bMesBill) {
15 16 handleScanFace(props);
16 17 return true
... ... @@ -326,6 +327,8 @@ const ToolbarFun = async (props) =&gt; {
326 327 handleForceComplete(props, btnName);
327 328 }
328 329 }
  330 + } else if (btnName.includes('tmpinfobysql')) {
  331 + return false
329 332 }
330 333  
331 334  
... ...
src/mes/common/commonOperationBarComponent/index.js
... ... @@ -92,10 +92,14 @@ const useCommonOperationBarComponentEvent = props =&gt; {
92 92  
93 93 const delayedOvertime = commonFunc.showLocalMessage(props, 'delayedOvertime', '延迟加班');
94 94 const cancelDelayedOvertime = commonFunc.showLocalMessage(props, 'cancelDelayedOvertime', '取消延迟加班');
  95 + console.log(333333);
  96 +
95 97 // 走工具栏功能逻辑
96 98 if (await MesToolbar({ ...props, btnConfig: config })) {
97 99 return;
98 100 }
  101 + console.log(222222);
  102 +
99 103 // 自定义按钮事件
100 104 if (
101 105 costomPageFun({
... ... @@ -106,6 +110,7 @@ const useCommonOperationBarComponentEvent = props =&gt; {
106 110 })
107 111 )
108 112 return;
  113 + console.log(1111111);
109 114  
110 115 // 通用按钮处理
111 116 const { showName = "", sActiveKey = "" } = config;
... ... @@ -305,6 +310,7 @@ const useCommonOperationBarComponentEvent = props =&gt; {
305 310 }
306 311  
307 312 // 弹窗
  313 +
308 314 if (sActiveId) {
309 315 handleOpenCommonModal(config, btnLeftConfig);
310 316 }
... ... @@ -557,7 +563,10 @@ const useCommonOperationBarComponentEvent = props =&gt; {
557 563 const copyTo = await handleGetCopyTo(config, btnLeftConfig);
558 564 // // 获取sqlCondition值
559 565 const sParentConditions = props.getSqlCondition(config);
  566 + const { slaveSelectedRowKeys, slaveData, formData } = props
  567 + const record = slaveData.find(item => slaveSelectedRowKeys?.includes(item.sId) || slaveSelectedRowKeys.includes(item.sSlaveId));
560 568  
  569 +// !formData[0].gdsconfigformslave.some(item => item.sControlName === 'pageLayout')
561 570 // // 弹窗展示
562 571 props.onOpenCommonModal({
563 572 type: "commonModal",
... ... @@ -566,7 +575,7 @@ const useCommonOperationBarComponentEvent = props =&gt; {
566 575 copyTo,
567 576 sModelType: '/indexPage/commonBill',
568 577 sParentConditions,
569   - parentProps: props,
  578 + parentProps: {...props, record },
570 579 onOk: data => {
571 580 console.log("=====onOk", data);
572 581 },
... ... @@ -590,7 +599,7 @@ const useCommonOperationBarComponentEvent = props =&gt; {
590 599 const sControlName = commonUtils.isNotEmptyObject(config?.sControlName) ? config?.sControlName : 'BtnCopyTo.TmpInfoBySql';
591 600 const selectedRowKeys = props[sName + 'SelectedRowKeys']?.[0] || ''
592 601 const slaveSelectedData = props[sName + 'Data'] || []
593   - const sRowData = slaveSelectedData.filter(x => x.sId === selectedRowKeys)
  602 + const sRowData = slaveSelectedData.filter(x => x.sId === selectedRowKeys || x.sSlaveId === selectedRowKeys)
594 603 /* 塞原始数据 */
595 604 if (commonUtils.isNotEmptyArr(slaveSelectedData)) {
596 605 copyTo.masterData = slaveSelectedData[0];
... ...