diff --git a/src/components/Common/CommonHooks/useCommonBase.js b/src/components/Common/CommonHooks/useCommonBase.js index 459ee27..d5a0698 100644 --- a/src/components/Common/CommonHooks/useCommonBase.js +++ b/src/components/Common/CommonHooks/useCommonBase.js @@ -677,7 +677,15 @@ const useCommonBase = props => { globalData?.currentStartWorkMachineTask, currentWorkOrderInfo: globalData?.currentWorkOrderInfo }; - conditonValues[fieldNameFilter] = tempProps[tableName][fieldName]; + if ( + tempProps && + tempProps[tableName] !== undefined && + tempProps[tableName][fieldName] !== undefined + ) { + conditonValues[fieldNameFilter] = tempProps[tableName][fieldName]; + } else { + conditonValues[fieldNameFilter] = ''; // 不存在时给默认值 + } } else if (name === tableName && !commonUtils.isEmpty(record)) { const data = record; conditonValues[fieldNameFilter] = data[fieldName]; diff --git a/src/mes/common/routerComponent/index.js b/src/mes/common/routerComponent/index.js index 168c473..0f37582 100644 --- a/src/mes/common/routerComponent/index.js +++ b/src/mes/common/routerComponent/index.js @@ -9,7 +9,7 @@ import * as commonUtils from "@/utils/utils"; import CommonModelComponent from "@/mes/common/commonModelComponent"; import MachineTasks from "@/mes/scheduledTasks/machineTasks"; import ProcessInstructionBook from "@/mes/scheduledTasks/processInstructionBook"; -import PrenatalReminderInfo from "@/mes/scheduledTasks/prenatalReminderInfo"; +import PrenatalReminderInfo from "@/mes/scheduledTasks/prenatalReminderInfo1"; import ProductionExecMain from "@/mes/productionExec/productionExecMain"; import AbnormalEventReporting from "@/mes/scheduledTasks/abnormalEventReporting"; import RunningStatus from "@/mes/common/RunningStatus"; diff --git a/src/mes/scheduledTasks/prenatalReminderInfo1/assets/1.png b/src/mes/scheduledTasks/prenatalReminderInfo1/assets/1.png new file mode 100644 index 0000000..96f5e9c --- /dev/null +++ b/src/mes/scheduledTasks/prenatalReminderInfo1/assets/1.png diff --git a/src/mes/scheduledTasks/prenatalReminderInfo1/assets/2.png b/src/mes/scheduledTasks/prenatalReminderInfo1/assets/2.png new file mode 100644 index 0000000..3a70a5f --- /dev/null +++ b/src/mes/scheduledTasks/prenatalReminderInfo1/assets/2.png diff --git a/src/mes/scheduledTasks/prenatalReminderInfo1/assets/3.png b/src/mes/scheduledTasks/prenatalReminderInfo1/assets/3.png new file mode 100644 index 0000000..9abecdc --- /dev/null +++ b/src/mes/scheduledTasks/prenatalReminderInfo1/assets/3.png diff --git a/src/mes/scheduledTasks/prenatalReminderInfo1/assets/4.png b/src/mes/scheduledTasks/prenatalReminderInfo1/assets/4.png new file mode 100644 index 0000000..332f81b --- /dev/null +++ b/src/mes/scheduledTasks/prenatalReminderInfo1/assets/4.png diff --git a/src/mes/scheduledTasks/prenatalReminderInfo1/assets/5.png b/src/mes/scheduledTasks/prenatalReminderInfo1/assets/5.png new file mode 100644 index 0000000..5943f69 --- /dev/null +++ b/src/mes/scheduledTasks/prenatalReminderInfo1/assets/5.png diff --git a/src/mes/scheduledTasks/prenatalReminderInfo1/assets/6.png b/src/mes/scheduledTasks/prenatalReminderInfo1/assets/6.png new file mode 100644 index 0000000..9e329c0 --- /dev/null +++ b/src/mes/scheduledTasks/prenatalReminderInfo1/assets/6.png diff --git a/src/mes/scheduledTasks/prenatalReminderInfo1/assets/7.png b/src/mes/scheduledTasks/prenatalReminderInfo1/assets/7.png new file mode 100644 index 0000000..51e33a0 --- /dev/null +++ b/src/mes/scheduledTasks/prenatalReminderInfo1/assets/7.png diff --git a/src/mes/scheduledTasks/prenatalReminderInfo1/index.js b/src/mes/scheduledTasks/prenatalReminderInfo1/index.js new file mode 100644 index 0000000..a849c97 --- /dev/null +++ b/src/mes/scheduledTasks/prenatalReminderInfo1/index.js @@ -0,0 +1,232 @@ +import React, { useEffect } from "react"; +import * as commonUtils from "@/utils/utils"; +import useCommonBase from "@/components/Common/CommonHooks/useCommonBase"; + +import ShowType from "@/components/Common/CommonComponent"; + +import styles from "./index.less"; + +const usePrenatalReminderInfoEvent = props => { + const { formData } = props; + + useEffect( + async () => { + if (commonUtils.isNotEmptyArr(formData)) { + const result = await handleGetData(formData[0]); + const result1 = await handleGetData(formData[1], 1); + const result2 = await handleGetData(formData[2], 2); + props.onSaveState({ + ...result, + ...result1, + ...result2, + slaveConfig: formData[0], + slave1Config: formData[1], + slave2Config: formData[2], + bFinish: true + }); + } + }, + [formData] + ); + + // 获取数据集 + const handleGetData = async (config, index = "") => { + const { app } = props; + const { userinfo = {} } = app; + const globalData = commonUtils.convertStrToObj( + localStorage.xlybusinessglobalData + ); + const { sWorkshopId } = userinfo; + const { currentSelectedMachineTaskDataRow = {} } = globalData; + const { sOrderId } = currentSelectedMachineTaskDataRow; + const conditonValues = props.onGetSqlConditionValues(config); + const addState = + (await props.onGetDataSet({ + name: `slave${index}`, + configData: config, + condition: { + sSqlCondition: { + ...conditonValues, + sWorkshopId, + sOrderId + } + }, + isWait: true + })) || {}; + return addState; + }; + + return { + ...props + }; +}; + +const PrenatalReminderInfo = baseProps => { + const props = usePrenatalReminderInfoEvent(useCommonBase(baseProps)); + const { bFinish } = props; + if (!bFinish) return ""; + + const { app, slaveData, slave1Data, slave2Data, slaveConfig, slave1Config, slave2Config } = props; + + const viewRow1 = commonUtils.isNotEmptyArr(slaveData) ? slaveData[0] : {}; + const viewRow2 = commonUtils.isNotEmptyArr(slave1Data) ? slave1Data[0] : {}; + const viewRow3 = commonUtils.isNotEmptyArr(slave2Data) ? slave2Data[0] : {}; + const viewRow = { ...viewRow1, ...viewRow2, ...viewRow3 }; + const tableName = "slave"; + + const memoListFilter = + slaveConfig?.gdsconfigformslave + .filter(item => item.sControlName?.includes("_")); + console.log('memoListFilter', memoListFilter, slave2Config?.gdsconfigformslave, slaveConfig, slave1Config, slave2Config); + + const leftSize = Math.ceil(memoListFilter.length / 2); + const rightSize = memoListFilter.length - leftSize; + const leftMemoList = memoListFilter.slice(0, leftSize); + const rightMemoList = memoListFilter.slice(leftSize, memoListFilter.length); + + return ( +
+ {[ + "技术评审汇签", + "客户投诉", + "本批生产注意事项", + "不合格报告", + "车间产前提醒" + ].map((title, index) => { + let dataValueNew = ""; + const child = { + sId: commonUtils.createSid(), + sName: `sTempMemo${index}`, + sControlName: "", + bVisible: true, + showName: title + }; + + const memoList = new Array(20) + .fill("") + .map((_, i) => viewRow[`sNoteMemo${i + 1}`]); + + const getMemoValue = (from, to) => { + const tempList = memoList + .slice(from, to) + .filter(item => item !== undefined) + .map((item, i) => `${i + 1}) ${item}`); + return tempList.join("\n"); + }; + + if (title === "客户投诉") { + dataValueNew = getMemoValue(0, 4); + } else if (title === "不合格报告") { + dataValueNew = getMemoValue(4, 8); + } else if (title === "车间产前提醒") { + dataValueNew = viewRow.sMemo; + } else if (title === "本批生产注意事项") { + dataValueNew = getMemoValue(16, 20); + } else if (title === "技术评审汇签") { + const dataValue1 = leftMemoList + .map( + ({ sName, showName }) => `${showName}:${viewRow[sName] || ""}` + ) + .join("\n"); + + const dataValue2 = rightMemoList + .map( + ({ sName, showName }) => `${showName}:${viewRow[sName] || ""}` + ) + .join("\n"); + const showTypeProps1 = { + app, + className: styles.showType, + iColValue: 24, + name: tableName, + record: viewRow, + sId: commonUtils.createSid(), + getSqlDropDownData: props.getSqlDropDownData, + getSqlCondition: props.getSqlCondition, + handleSqlDropDownNewRecord: props.handleSqlDropDownNewRecord, + getFloatNum: props.getFloatNum, + onChange: props.onDataChange, + showConfig: { ...child, costomStyle: styles.hideRightBorder }, + slaveConfig: props[`${tableName}Config`], + formItemLayout: { labelCol: { span: 0 }, wrapperCol: { span: 24 } }, + textArea: true, + enabled: false, + dataValue: dataValue1, + bTable: true, + bViewTable: true, + formRoute: props.formRoute, + getDateFormat: props.getDateFormat + }; + + const showTypeProps2 = { + app, + className: styles.showType, + iColValue: 24, + name: tableName, + record: viewRow, + sId: commonUtils.createSid(), + getSqlDropDownData: props.getSqlDropDownData, + getSqlCondition: props.getSqlCondition, + handleSqlDropDownNewRecord: props.handleSqlDropDownNewRecord, + getFloatNum: props.getFloatNum, + onChange: props.onDataChange, + showConfig: { ...child, costomStyle: styles.hideLeftBorder }, + slaveConfig: props[`${tableName}Config`], + formItemLayout: { labelCol: { span: 0 }, wrapperCol: { span: 24 } }, + textArea: true, + enabled: false, + dataValue: dataValue2, + bTable: true, + bViewTable: true, + formRoute: props.formRoute, + getDateFormat: props.getDateFormat + }; + + return ( +
+
{title}
+
+ + +
+
+ ); + } + const showTypeProps = { + app, + className: styles.showType, + iColValue: 24, + name: tableName, + record: viewRow, + sId: commonUtils.createSid(), + getSqlDropDownData: props.getSqlDropDownData, + getSqlCondition: props.getSqlCondition, + handleSqlDropDownNewRecord: props.handleSqlDropDownNewRecord, + getFloatNum: props.getFloatNum, + onChange: props.onDataChange, + showConfig: child, + slaveConfig: props[`${tableName}Config`], + formItemLayout: { labelCol: { span: 0 }, wrapperCol: { span: 24 } }, + textArea: true, + enabled: false, + dataValue: dataValueNew, + bTable: true, + bViewTable: true, + formRoute: props.formRoute, + getDateFormat: props.getDateFormat + }; + + return ( +
+
{title}
+
+ +
+
+ ); + })} +
+ ); +}; + +export default PrenatalReminderInfo; diff --git a/src/mes/scheduledTasks/prenatalReminderInfo1/index.less b/src/mes/scheduledTasks/prenatalReminderInfo1/index.less new file mode 100644 index 0000000..7694349 --- /dev/null +++ b/src/mes/scheduledTasks/prenatalReminderInfo1/index.less @@ -0,0 +1,149 @@ +@import "~@/mixins.less"; + +.prenatalReminderInfo { + .size(); + // border: 1px solid red; + display: grid; + /* 创建两列,每列宽度自动分配 */ + grid-template-columns: repeat(2, 1fr); + /* 创建三行,每行最小高度为100px,自动扩展 */ + grid-template-rows: repeat(3, minmax(100px, auto)); + /* 设置行列间距均为10px */ + gap: 10px; + + + >div { + display: flex; + flex-direction: column; + padding: 0 10px 10px 10px; + background-color: #FFF; + + .title { + .size(100%, 40px); + .flex(center); + font-size: 20px; + font-weight: bold; + background-color: #FFF; + color: #1890FF; + padding-left: 25px; + } + + .content { + .size(100%, calc(100% - 40px)); + background: #F0F0F0; + + :global { + .ant-input[disabled] { + background: #F0F0F0; + } + + *:not(.ant-form-item-control-input-content) { + padding: 0 !important; + } + } + } + + .content1 { + .size(100%, calc(100% - 40px)); + background: #F0F0F0; + + .flex(); + + :global { + .ant-input[disabled] { + background: #F0F0F0; + } + + *:not(.ant-form-item-control-input-content) { + padding: 0 !important; + } + } + + } + } + + >div:first-child { + grid-column: span 2; + } + + >div:nth-child(1) .title { + background: url(./assets/1.png) no-repeat; + background-position-x: -10px; + } + + >div:nth-child(2) .title { + background: url(./assets/2.png) no-repeat; + background-position-x: -10px; + } + + >div:nth-child(3) .title { + background: url(./assets/3.png) no-repeat; + background-position-x: -10px; + } + + >div:nth-child(4) .title { + background: url(./assets/4.png) no-repeat; + background-position-x: -10px; + } + + >div:nth-child(5) .title { + background: url(./assets/5.png) no-repeat; + background-position-x: -10px; + } + + >div:nth-child(6) .title { + background: url(./assets/6.png) no-repeat; + background-position-x: -10px; + } + + >div:nth-child(7) .title { + background: url(./assets/7.png) no-repeat; + background-position-x: -10px; + } + + .showType { + .size(); + } + + :global { + .ant-form-item-label { + display: none; + } + + .input24 { + .size(); + + .ant-form-item[class*='formItemMargin'], + .ant-form-item-row, + .ant-form-item-control, + .ant-form-item-control-input, + .ant-form-item-control-input-content, + textarea { + .size(); + text-indent: 0; + color: #000; + padding: 10px; + } + + .ant-form-item { + border: 1px solid #AAA; + } + } + } +} + +.hideRightBorder { + :global { + .ant-form-item[class*="formItemMargin"] { + border-right: 0 !important; + } + } +} + +.hideLeftBorder { + :global { + .ant-form-item[class*="formItemMargin"] { + border-left: 0 !important; + } + } +} \ No newline at end of file diff --git a/src/utils/config.js b/src/utils/config.js index f3977c9..cc00b4a 100644 --- a/src/utils/config.js +++ b/src/utils/config.js @@ -6,7 +6,7 @@ export const webSite = { // faceAddress: isDev ? '//192.168.11.22:8080/xlyFace' : '//' + location.host + '/xlyFace', fileAddress: isDev ? '//km5cjx.gnway.cc:43920/xlyReport/' : '//' + location.host + '/xlyReport/', // 接口地址 faceAddress: isDev ? '//km5cjx.gnway.cc:43920/xlyFace' : '//' + location.host + '/xlyFace', - ipAddress: localStorage.ipAddress ? localStorage.ipAddress : isDev ? '//192.168.2.36:8080/xlyEntry/' : '//' + location.host + '/xlyEntry/', + ipAddress: localStorage.ipAddress ? localStorage.ipAddress : isDev ? '//192.168.2.22:9098/xlyEntry/' : '//' + location.host + '/xlyEntry/', interfaceAddress: isDev ? '//km5cjx.gnway.cc:43920/xlyApi/' : '//' + location.host + '/xlyApi/', // 接口地址88 // ipAddress: isDev ? '//ebc.jinjia.com:8091/xlyEntry/' : '//' + location.host + '/xlyEntry/', // interfaceAddress: isDev ? '//ebc.jinjia.com:8091/xlyApi/' : '//' + location.host + '/xlyApi/', // 接口地址