Commit 79ee33de653db7cf93d2cd14cfbd0322631dc102

Authored by Min
1 parent 499f04f9

1.产前提醒按照设定完成功能

src/mes/scheduledTasks/prenatalReminderInfo1/index.js
1 import React, { useEffect } from "react"; 1 import React, { useEffect } from "react";
2 import * as commonUtils from "@/utils/utils"; 2 import * as commonUtils from "@/utils/utils";
3 import useCommonBase from "@/components/Common/CommonHooks/useCommonBase"; 3 import useCommonBase from "@/components/Common/CommonHooks/useCommonBase";
4 -  
5 import ShowType from "@/components/Common/CommonComponent"; 4 import ShowType from "@/components/Common/CommonComponent";
6 -  
7 import styles from "./index.less"; 5 import styles from "./index.less";
8 6
9 -const usePrenatalReminderInfoEvent = props => {  
10 - const { formData } = props; 7 +const usePrenatalReminderInfoEvent = function(props) {
  8 + const formData = props.formData;
11 9
12 useEffect( 10 useEffect(
13 - async () => { 11 + async function() {
14 if (commonUtils.isNotEmptyArr(formData)) { 12 if (commonUtils.isNotEmptyArr(formData)) {
15 const result = await handleGetData(formData[0]); 13 const result = await handleGetData(formData[0]);
16 const result1 = await handleGetData(formData[1], 1); 14 const result1 = await handleGetData(formData[1], 1);
@@ -29,20 +27,18 @@ const usePrenatalReminderInfoEvent = props => { @@ -29,20 +27,18 @@ const usePrenatalReminderInfoEvent = props => {
29 [formData] 27 [formData]
30 ); 28 );
31 29
32 - // 获取数据集  
33 - const handleGetData = async (config, index = "") => {  
34 - const { app } = props;  
35 - const { userinfo = {} } = app;  
36 - const globalData = commonUtils.convertStrToObj(  
37 - localStorage.xlybusinessglobalData  
38 - );  
39 - const { sWorkshopId } = userinfo;  
40 - const { currentSelectedMachineTaskDataRow = {} } = globalData;  
41 - const { sOrderId } = currentSelectedMachineTaskDataRow; 30 + const handleGetData = async function(config, index) {
  31 + if (index === undefined) index = "";
  32 + const app = props.app;
  33 + const userinfo = app.userinfo || {};
  34 + const globalData = commonUtils.convertStrToObj(localStorage.xlybusinessglobalData);
  35 + const sWorkshopId = userinfo.sWorkshopId;
  36 + const currentSelectedMachineTaskDataRow = globalData.currentSelectedMachineTaskDataRow || {};
  37 + const sOrderId = currentSelectedMachineTaskDataRow.sOrderId;
42 const conditonValues = props.onGetSqlConditionValues(config); 38 const conditonValues = props.onGetSqlConditionValues(config);
43 const addState = 39 const addState =
44 (await props.onGetDataSet({ 40 (await props.onGetDataSet({
45 - name: `slave${index}`, 41 + name: "slave" + index,
46 configData: config, 42 configData: config,
47 condition: { 43 condition: {
48 sSqlCondition: { 44 sSqlCondition: {
@@ -56,17 +52,19 @@ const usePrenatalReminderInfoEvent = props => { @@ -56,17 +52,19 @@ const usePrenatalReminderInfoEvent = props => {
56 return addState; 52 return addState;
57 }; 53 };
58 54
59 - return {  
60 - ...props  
61 - }; 55 + return { ...props };
62 }; 56 };
63 57
64 -const PrenatalReminderInfo = baseProps => { 58 +const PrenatalReminderInfo = function(baseProps) {
65 const props = usePrenatalReminderInfoEvent(useCommonBase(baseProps)); 59 const props = usePrenatalReminderInfoEvent(useCommonBase(baseProps));
66 - const { bFinish } = props; 60 + const bFinish = props.bFinish;
67 if (!bFinish) return ""; 61 if (!bFinish) return "";
68 62
69 - const { app, slaveData, slave1Data, slave2Data, slaveConfig, slave1Config, slave2Config } = props; 63 + const app = props.app;
  64 + const slaveData = props.slaveData;
  65 + const slave1Data = props.slave1Data;
  66 + const slave2Data = props.slave2Data;
  67 + const slaveConfig = props.slaveConfig;
70 68
71 const viewRow1 = commonUtils.isNotEmptyArr(slaveData) ? slaveData[0] : {}; 69 const viewRow1 = commonUtils.isNotEmptyArr(slaveData) ? slaveData[0] : {};
72 const viewRow2 = commonUtils.isNotEmptyArr(slave1Data) ? slave1Data[0] : {}; 70 const viewRow2 = commonUtils.isNotEmptyArr(slave1Data) ? slave1Data[0] : {};
@@ -74,159 +72,60 @@ const PrenatalReminderInfo = baseProps => { @@ -74,159 +72,60 @@ const PrenatalReminderInfo = baseProps => {
74 const viewRow = { ...viewRow1, ...viewRow2, ...viewRow3 }; 72 const viewRow = { ...viewRow1, ...viewRow2, ...viewRow3 };
75 const tableName = "slave"; 73 const tableName = "slave";
76 74
77 - const memoListFilter =  
78 - slaveConfig?.gdsconfigformslave  
79 - .filter(item => item.sControlName?.includes("_"));  
80 - console.log('memoListFilter', memoListFilter, slave2Config?.gdsconfigformslave, slaveConfig, slave1Config, slave2Config);  
81 -  
82 - const leftSize = Math.ceil(memoListFilter.length / 2);  
83 - const rightSize = memoListFilter.length - leftSize;  
84 - const leftMemoList = memoListFilter.slice(0, leftSize);  
85 - const rightMemoList = memoListFilter.slice(leftSize, memoListFilter.length);  
86 -  
87 - return (  
88 - <div className={styles.prenatalReminderInfo}>  
89 - {[  
90 - "技术评审汇签",  
91 - "客户投诉",  
92 - "本批生产注意事项",  
93 - "不合格报告",  
94 - "车间产前提醒"  
95 - ].map((title, index) => {  
96 - let dataValueNew = "";  
97 - const child = {  
98 - sId: commonUtils.createSid(),  
99 - sName: `sTempMemo${index}`,  
100 - sControlName: "",  
101 - bVisible: true,  
102 - showName: title  
103 - };  
104 -  
105 - const memoList = new Array(20)  
106 - .fill("")  
107 - .map((_, i) => viewRow[`sNoteMemo${i + 1}`]);  
108 -  
109 - const getMemoValue = (from, to) => {  
110 - const tempList = memoList  
111 - .slice(from, to)  
112 - .filter(item => item !== undefined)  
113 - .map((item, i) => `${i + 1}) ${item}`);  
114 - return tempList.join("\n");  
115 - };  
116 -  
117 - if (title === "客户投诉") {  
118 - dataValueNew = getMemoValue(0, 4);  
119 - } else if (title === "不合格报告") {  
120 - dataValueNew = getMemoValue(4, 8);  
121 - } else if (title === "车间产前提醒") {  
122 - dataValueNew = viewRow.sMemo;  
123 - } else if (title === "本批生产注意事项") {  
124 - dataValueNew = getMemoValue(16, 20);  
125 - } else if (title === "技术评审汇签") {  
126 - const dataValue1 = leftMemoList  
127 - .map(  
128 - ({ sName, showName }) => `${showName}:${viewRow[sName] || ""}`  
129 - )  
130 - .join("\n");  
131 -  
132 - const dataValue2 = rightMemoList  
133 - .map(  
134 - ({ sName, showName }) => `${showName}:${viewRow[sName] || ""}`  
135 - )  
136 - .join("\n");  
137 - const showTypeProps1 = {  
138 - app,  
139 - className: styles.showType,  
140 - iColValue: 24,  
141 - name: tableName,  
142 - record: viewRow,  
143 - sId: commonUtils.createSid(),  
144 - getSqlDropDownData: props.getSqlDropDownData,  
145 - getSqlCondition: props.getSqlCondition,  
146 - handleSqlDropDownNewRecord: props.handleSqlDropDownNewRecord,  
147 - getFloatNum: props.getFloatNum,  
148 - onChange: props.onDataChange,  
149 - showConfig: { ...child, costomStyle: styles.hideRightBorder },  
150 - slaveConfig: props[`${tableName}Config`],  
151 - formItemLayout: { labelCol: { span: 0 }, wrapperCol: { span: 24 } },  
152 - textArea: true,  
153 - enabled: false,  
154 - dataValue: dataValue1,  
155 - bTable: true,  
156 - bViewTable: true,  
157 - formRoute: props.formRoute,  
158 - getDateFormat: props.getDateFormat  
159 - };  
160 -  
161 - const showTypeProps2 = {  
162 - app,  
163 - className: styles.showType,  
164 - iColValue: 24,  
165 - name: tableName,  
166 - record: viewRow,  
167 - sId: commonUtils.createSid(),  
168 - getSqlDropDownData: props.getSqlDropDownData,  
169 - getSqlCondition: props.getSqlCondition,  
170 - handleSqlDropDownNewRecord: props.handleSqlDropDownNewRecord,  
171 - getFloatNum: props.getFloatNum,  
172 - onChange: props.onDataChange,  
173 - showConfig: { ...child, costomStyle: styles.hideLeftBorder },  
174 - slaveConfig: props[`${tableName}Config`],  
175 - formItemLayout: { labelCol: { span: 0 }, wrapperCol: { span: 24 } },  
176 - textArea: true,  
177 - enabled: false,  
178 - dataValue: dataValue2,  
179 - bTable: true,  
180 - bViewTable: true,  
181 - formRoute: props.formRoute,  
182 - getDateFormat: props.getDateFormat  
183 - };  
184 -  
185 - return (  
186 - <div>  
187 - <div className={styles.title}>{title}</div>  
188 - <div className={styles.content1}>  
189 - <ShowType {...showTypeProps1} />  
190 - <ShowType {...showTypeProps2} />  
191 - </div>  
192 - </div>  
193 - );  
194 - }  
195 - const showTypeProps = {  
196 - app,  
197 - className: styles.showType,  
198 - iColValue: 24,  
199 - name: tableName,  
200 - record: viewRow,  
201 - sId: commonUtils.createSid(),  
202 - getSqlDropDownData: props.getSqlDropDownData,  
203 - getSqlCondition: props.getSqlCondition,  
204 - handleSqlDropDownNewRecord: props.handleSqlDropDownNewRecord,  
205 - getFloatNum: props.getFloatNum,  
206 - onChange: props.onDataChange,  
207 - showConfig: child,  
208 - slaveConfig: props[`${tableName}Config`],  
209 - formItemLayout: { labelCol: { span: 0 }, wrapperCol: { span: 24 } },  
210 - textArea: true,  
211 - enabled: false,  
212 - dataValue: dataValueNew,  
213 - bTable: true,  
214 - bViewTable: true,  
215 - formRoute: props.formRoute,  
216 - getDateFormat: props.getDateFormat  
217 - }; 75 + const gdsconfigformslave = slaveConfig ? (slaveConfig.gdsconfigformslave || []) : [];
  76 + const memoListFilter = gdsconfigformslave.filter(function(item) {
  77 + return item && item.sControlName && item.sControlName.includes("_") && item.bVisible;
  78 + });
  79 +
  80 + const renderItems = [];
  81 +
  82 + memoListFilter.forEach(function(item, index) {
  83 + const title = item.showName;
  84 + console.log('nihaoaoaoao ', title, item);
  85 + const dataValueNew = viewRow[item.sName] || "";
  86 + const child = {
  87 + sId: commonUtils.createSid(),
  88 + sName: item.sName,
  89 + sControlName: item.sControlName,
  90 + bVisible: true,
  91 + showName: title
  92 + };
  93 + const showTypeProps = {
  94 + app: app,
  95 + className: styles.showType,
  96 + iColValue: item.iColValue || 24,
  97 + name: tableName,
  98 + record: viewRow,
  99 + sId: commonUtils.createSid(),
  100 + getSqlDropDownData: props.getSqlDropDownData,
  101 + getSqlCondition: props.getSqlCondition,
  102 + handleSqlDropDownNewRecord: props.handleSqlDropDownNewRecord,
  103 + getFloatNum: props.getFloatNum,
  104 + onChange: props.onDataChange,
  105 + showConfig: child,
  106 + slaveConfig: props[tableName + "Config"],
  107 + formItemLayout: { labelCol: { span: 0 }, wrapperCol: { span: 24 } },
  108 + textArea: true,
  109 + enabled: false,
  110 + dataValue: dataValueNew,
  111 + bTable: true,
  112 + bViewTable: true,
  113 + formRoute: props.formRoute,
  114 + getDateFormat: props.getDateFormat
  115 + };
  116 +
  117 + const key = item.iIncrement !== undefined ? item.iIncrement : index;
  118 + renderItems.push(
  119 + React.createElement("div", { key: key },
  120 + React.createElement("div", { className: styles.title }, title),
  121 + React.createElement("div", { className: styles.content },
  122 + React.createElement(ShowType, showTypeProps)
  123 + )
  124 + )
  125 + );
  126 + });
218 127
219 - return (  
220 - <div>  
221 - <div className={styles.title}>{title}</div>  
222 - <div className={styles.content}>  
223 - <ShowType {...showTypeProps} />  
224 - </div>  
225 - </div>  
226 - );  
227 - })}  
228 - </div>  
229 - ); 128 + return React.createElement("div", { className: styles.prenatalReminderInfo }, renderItems);
230 }; 129 };
231 130
232 export default PrenatalReminderInfo; 131 export default PrenatalReminderInfo;
src/mes/scheduledTasks/prenatalReminderInfo1/index.less
@@ -2,13 +2,10 @@ @@ -2,13 +2,10 @@
2 2
3 .prenatalReminderInfo { 3 .prenatalReminderInfo {
4 .size(); 4 .size();
5 - // border: 1px solid red;  
6 display: grid; 5 display: grid;
7 - /* 创建两列,每列宽度自动分配 */  
8 - grid-template-columns: repeat(2, 1fr);  
9 - /* 创建三行,每行最小高度为100px,自动扩展 */  
10 - grid-template-rows: repeat(3, minmax(100px, auto));  
11 - /* 设置行列间距均为10px */ 6 + /* 创建单列布局,每行占满整行 */
  7 + grid-template-columns: 1fr;
  8 + /* 设置行间距为10px */
12 gap: 10px; 9 gap: 10px;
13 10
14 11
@@ -62,10 +59,6 @@ @@ -62,10 +59,6 @@
62 } 59 }
63 } 60 }
64 61
65 - >div:first-child {  
66 - grid-column: span 2;  
67 - }  
68 -  
69 >div:nth-child(1) .title { 62 >div:nth-child(1) .title {
70 background: url(./assets/1.png) no-repeat; 63 background: url(./assets/1.png) no-repeat;
71 background-position-x: -10px; 64 background-position-x: -10px;