Commit 4233cf858ab75090558179cdb50891b4120e8f1a
1 parent
ab773b3c
新增commonsubbill
Showing
4 changed files
with
145 additions
and
19 deletions
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 => { |
| 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 => { |
| 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 => { |
| 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 => { |
| 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 => { |
| 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 => { |
| 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 => { |
| 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 => { |
| 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 => { |
| 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 => { |
| 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) => { |
| 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) => { |
| 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 => { |
| 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 => { |
| 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 => { |
| 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 => { |
| 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 => { |
| 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 => { |
| 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]; | ... | ... |