Commit 7fb3580dd43431633384b2aa4da0368ae4d3122d

Authored by zhangzzzz
1 parent d1d2f468

优化英文版样式、文字;

src/components/Common/CommonInstructSet.js
@@ -11,6 +11,7 @@ import * as commonBusiness from "@/components/Common/commonBusiness"; @@ -11,6 +11,7 @@ import * as commonBusiness from "@/components/Common/commonBusiness";
11 import FaceDetect from "@/components/FaceDetect"; 11 import FaceDetect from "@/components/FaceDetect";
12 import ShowType from "@/components/Common/CommonComponent"; 12 import ShowType from "@/components/Common/CommonComponent";
13 13
  14 +let globalProps = {};
14 let step = 1; // 步骤计数 15 let step = 1; // 步骤计数
15 let exesqlTodo = []; // 最后需要一起执行的sql 16 let exesqlTodo = []; // 最后需要一起执行的sql
16 let saveDataTodo = []; // 最后需要一起保存的数据 17 let saveDataTodo = []; // 最后需要一起保存的数据
@@ -80,14 +81,17 @@ const showMsg = value => { @@ -80,14 +81,17 @@ const showMsg = value => {
80 params.content = value; 81 params.content = value;
81 } 82 }
82 83
  84 + const InstructionSetErrMsg = commonFunc.showLocalMessage(globalProps, 'InstructionSetErrMsg', '指令集错误信息');
  85 + const InstructionSetInfoMsg = commonFunc.showLocalMessage(globalProps, 'InstructionSetInfoMsg', '指令集提示信息');
  86 + const knew = commonFunc.showLocalMessage(globalProps, 'knew', '知道了');
83 const { type, content } = params; 87 const { type, content } = params;
84 - const title = type === "error" ? "指令集错误信息" : "指令集提示信息"; 88 + const title = type === "error" ? InstructionSetErrMsg : InstructionSetInfoMsg;
85 89
86 Modal[type]({ 90 Modal[type]({
87 width: 1000, 91 width: 1000,
88 title: title, 92 title: title,
89 content: <div>{content}</div>, 93 content: <div>{content}</div>,
90 - okText: "知道了" 94 + okText: knew
91 }); 95 });
92 }; 96 };
93 97
@@ -103,13 +107,13 @@ const instructCheck = props =&gt; { @@ -103,13 +107,13 @@ const instructCheck = props =&gt; {
103 } 107 }
104 108
105 if (!btnConfig) { 109 if (!btnConfig) {
106 - showMsg("没有找到按钮配置!"); 110 + showMsg("Button configuration not found!");
107 return false; 111 return false;
108 } 112 }
109 113
110 const { sInstruct: sInstructStr } = btnConfig; 114 const { sInstruct: sInstructStr } = btnConfig;
111 if (!sInstructStr) { 115 if (!sInstructStr) {
112 - showMsg("指令集未配置!"); 116 + showMsg("Instruction set not configured!");
113 return false; 117 return false;
114 } 118 }
115 119
@@ -120,8 +124,8 @@ const instructCheck = props =&gt; { @@ -120,8 +124,8 @@ const instructCheck = props =&gt; {
120 type: "error", 124 type: "error",
121 content: ( 125 content: (
122 <div> 126 <div>
123 - <div>指令集格式错误!</div>  
124 - <div>错误指令集内容:</div> 127 + <div>Instruction set format error!</div>
  128 + <div>Error instruction set content:</div>
125 <div>{sInstructStr}</div> 129 <div>{sInstructStr}</div>
126 </div> 130 </div>
127 ) 131 )
@@ -229,6 +233,8 @@ const instructSetInit = async props =&gt; { @@ -229,6 +233,8 @@ const instructSetInit = async props =&gt; {
229 233
230 if (!sInstruct) return; 234 if (!sInstruct) return;
231 235
  236 + globalProps = props;
  237 +
232 // 添加额外数据 238 // 添加额外数据
233 addExtraData(props); 239 addExtraData(props);
234 240
@@ -477,13 +483,13 @@ const handleCopy = (props, instruct) =&gt; { @@ -477,13 +483,13 @@ const handleCopy = (props, instruct) =&gt; {
477 // content: "error", 483 // content: "error",
478 content: ( 484 content: (
479 <div> 485 <div>
480 - <div>{`【${srcDataset}】数据源为空`}</div> 486 + <div>{`[${srcDataset}] data source is empty`}</div>
481 <div>请检查该复制指令集:</div> 487 <div>请检查该复制指令集:</div>
482 <div>{JSON.stringify(instruct)}</div> 488 <div>{JSON.stringify(instruct)}</div>
483 </div> 489 </div>
484 ) 490 )
485 }); 491 });
486 - throw new Error(`【${srcDataset}】数据源为空`); 492 + throw new Error(`[${srcDataset}] data source is empty`);
487 } 493 }
488 494
489 // 获取赋值后的数据 495 // 获取赋值后的数据
@@ -549,25 +555,25 @@ const handleAddNew = (props, instruct) =&gt; { @@ -549,25 +555,25 @@ const handleAddNew = (props, instruct) =&gt; {
549 type: "error", 555 type: "error",
550 content: ( 556 content: (
551 <div> 557 <div>
552 - <div>被新增的数据集desDataset不能为空!</div>  
553 - <div>请检查该新增指令集:</div> 558 + <div>The newly added dataset desDataset cannot be empty!</div>
  559 + <div>Please check the newly added instruction set:</div>
554 <div>{JSON.stringify(instruct)}</div> 560 <div>{JSON.stringify(instruct)}</div>
555 </div> 561 </div>
556 ) 562 )
557 }); 563 });
558 - throw new Error("被新增的数据集desDataset不能为空!"); 564 + throw new Error("The newly added dataset desDataset cannot be empty!");
559 } else if (desDataset.includes("@") || desDataset.includes(",")) { 565 } else if (desDataset.includes("@") || desDataset.includes(",")) {
560 showMsg({ 566 showMsg({
561 type: "error", 567 type: "error",
562 content: ( 568 content: (
563 <div> 569 <div>
564 - <div>被新增的数据集desDataset不支持@或,写法!</div>  
565 - <div>请检查该新增指令集:</div> 570 + <div>The newly added dataset desDataset does not support @ or ,!</div>
  571 + <div>Please check the newly added instruction set:</div>
566 <div>{JSON.stringify(instruct)}</div> 572 <div>{JSON.stringify(instruct)}</div>
567 </div> 573 </div>
568 ) 574 )
569 }); 575 });
570 - throw new Error("被新增的数据集desDataset不支持@或,写法!"); 576 + throw new Error("The newly added dataset desDataset does not support @ or ,!");
571 } 577 }
572 578
573 const { 579 const {
@@ -908,14 +914,14 @@ const handleMesSave = (props, instruct) =&gt; { @@ -908,14 +914,14 @@ const handleMesSave = (props, instruct) =&gt; {
908 content: ( 914 content: (
909 <div> 915 <div>
910 <div> 916 <div>
911 - 保存指令集data中的tablename和srcDataset为必填项,请检查该指令集配置! 917 + The tablename and srcDataset fields in the save instruction set data are required. Please check the instruction set configuration!
912 </div> 918 </div>
913 <div>{JSON.stringify(instruct)}</div> 919 <div>{JSON.stringify(instruct)}</div>
914 </div> 920 </div>
915 ) 921 )
916 }); 922 });
917 throw new Error( 923 throw new Error(
918 - "保存指令集data中的tablename和srcDataset为必填项,请检查该指令集配置!" 924 + "The tablename and srcDataset fields in the save instruction set data are required. Please check the instruction set configuration!"
919 ); 925 );
920 } 926 }
921 const { 927 const {
@@ -1004,12 +1010,12 @@ const handleMesSaveAll = async (props, onSucess) =&gt; { @@ -1004,12 +1010,12 @@ const handleMesSaveAll = async (props, onSucess) =&gt; {
1004 type: "error", 1010 type: "error",
1005 content: ( 1011 content: (
1006 <div> 1012 <div>
1007 - <div>save接口报错!</div>  
1008 - <div>请求地址:</div> 1013 + <div>Save interface error!</div>
  1014 + <div>Request address:</div>
1009 <div>{dataUrl}</div> 1015 <div>{dataUrl}</div>
1010 - <div>传入参数:</div> 1016 + <div>Pass in parameters:</div>
1011 <div>{JSON.stringify(values)}</div> 1017 <div>{JSON.stringify(values)}</div>
1012 - <div>报错信息</div> 1018 + <div>Error message</div>
1013 <div>{JSON.stringify(dataReturn)}</div> 1019 <div>{JSON.stringify(dataReturn)}</div>
1014 </div> 1020 </div>
1015 ) 1021 )
@@ -1190,12 +1196,12 @@ const handleSendMsgAll = async props =&gt; { @@ -1190,12 +1196,12 @@ const handleSendMsgAll = async props =&gt; {
1190 type: "error", 1196 type: "error",
1191 content: ( 1197 content: (
1192 <div> 1198 <div>
1193 - <div>sendmsg接口报错!</div>  
1194 - <div>请求地址:</div> 1199 + <div>The sendmsg interface reports an error!</div>
  1200 + <div>Request address:</div>
1195 <div>{dataUrl}</div> 1201 <div>{dataUrl}</div>
1196 - <div>传入参数:</div> 1202 + <div>Pass in parameters:</div>
1197 <div>{JSON.stringify(values)}</div> 1203 <div>{JSON.stringify(values)}</div>
1198 - <div>报错信息</div> 1204 + <div>Error message</div>
1199 <div>{JSON.stringify(dataReturn)}</div> 1205 <div>{JSON.stringify(dataReturn)}</div>
1200 </div> 1206 </div>
1201 ) 1207 )
@@ -1231,13 +1237,13 @@ const handlePrint = (props, instruct) =&gt; { @@ -1231,13 +1237,13 @@ const handlePrint = (props, instruct) =&gt; {
1231 type: "error", 1237 type: "error",
1232 content: ( 1238 content: (
1233 <div> 1239 <div>
1234 - <div>报表名称不能为空!</div>  
1235 - <div>请检查打印报表指令集:</div> 1240 + <div>Report name cannot be empty!</div>
  1241 + <div>Please check the print report instruction set:</div>
1236 <div>{JSON.stringify(instruct)}</div> 1242 <div>{JSON.stringify(instruct)}</div>
1237 </div> 1243 </div>
1238 ) 1244 )
1239 }); 1245 });
1240 - throw new Error("打印报表名称不能为空!"); 1246 + throw new Error("The print report name cannot be empty!");
1241 } 1247 }
1242 1248
1243 const dataUrl = `${ 1249 const dataUrl = `${
@@ -1557,13 +1563,13 @@ const handleOpenSql = async (props, instruct) =&gt; { @@ -1557,13 +1563,13 @@ const handleOpenSql = async (props, instruct) =&gt; {
1557 type: "error", 1563 type: "error",
1558 content: ( 1564 content: (
1559 <div> 1565 <div>
1560 - <div>{`获取${dataNameList[index]}数据集数据为空!`}</div>  
1561 - <div>错误指令集内容:</div> 1566 + <div>{`The data of ${dataNameList[index]} dataset is empty!`}</div>
  1567 + <div>Error instruction set content:</div>
1562 <div>{JSON.stringify(instruct)}</div> 1568 <div>{JSON.stringify(instruct)}</div>
1563 </div> 1569 </div>
1564 ) 1570 )
1565 }); 1571 });
1566 - throw new Error(`获取${dataNameList[index]}数据集数据为空!`); 1572 + throw new Error(`The data of ${dataNameList[index]} dataset is empty!`);
1567 } 1573 }
1568 srcDatasetRow = { 1574 srcDatasetRow = {
1569 ...srcDatasetRow, 1575 ...srcDatasetRow,
@@ -1647,12 +1653,12 @@ const handleGetSqlValue = async (props, data, srcDatasetRow = {}) =&gt; { @@ -1647,12 +1653,12 @@ const handleGetSqlValue = async (props, data, srcDatasetRow = {}) =&gt; {
1647 type: "error", 1653 type: "error",
1648 content: ( 1654 content: (
1649 <div> 1655 <div>
1650 - <div>opensql查询接口报错!</div>  
1651 - <div>请求地址:</div> 1656 + <div>opensql Query interface error!</div>
  1657 + <div>Request address:</div>
1652 <div>{dataUrl}</div> 1658 <div>{dataUrl}</div>
1653 - <div>传入参数:</div> 1659 + <div>Pass in parameters:</div>
1654 <div>{JSON.stringify(values)}</div> 1660 <div>{JSON.stringify(values)}</div>
1655 - <div>报错信息</div> 1661 + <div>Error message:</div>
1656 <div>{JSON.stringify(dataReturn)}</div> 1662 <div>{JSON.stringify(dataReturn)}</div>
1657 </div> 1663 </div>
1658 ) 1664 )
@@ -1682,13 +1688,13 @@ const handleExeSql = (props, instruct) =&gt; { @@ -1682,13 +1688,13 @@ const handleExeSql = (props, instruct) =&gt; {
1682 type: "error", 1688 type: "error",
1683 content: ( 1689 content: (
1684 <div> 1690 <div>
1685 - <div>{`获取${srcDataset}数据集数据为空!`}</div>  
1686 - <div>错误指令集内容:</div> 1691 + <div>{`The ${srcDataset} dataset data is empty!`}</div>
  1692 + <div>Error instruction set content:</div>
1687 <div>{JSON.stringify(instruct)}</div> 1693 <div>{JSON.stringify(instruct)}</div>
1688 </div> 1694 </div>
1689 ) 1695 )
1690 }); 1696 });
1691 - throw new Error(`获取${srcDataset}数据集数据为空!`); 1697 + throw new Error(`The ${srcDataset} dataset data is empty!!`);
1692 } 1698 }
1693 1699
1694 result.push({ 1700 result.push({
@@ -1716,13 +1722,13 @@ const handleProcedure = async (props, instruct) =&gt; { @@ -1716,13 +1722,13 @@ const handleProcedure = async (props, instruct) =&gt; {
1716 type: "error", 1722 type: "error",
1717 content: ( 1723 content: (
1718 <div> 1724 <div>
1719 - <div>存储过程配置为空!</div>  
1720 - <div>请检查该指令集:</div> 1725 + <div>The stored procedure configuration is empty!</div>
  1726 + <div>Please check this instruction set:</div>
1721 <div>{JSON.stringify(instruct)}</div> 1727 <div>{JSON.stringify(instruct)}</div>
1722 </div> 1728 </div>
1723 ) 1729 )
1724 }); 1730 });
1725 - throw new Error("存储过程配置为空!"); 1731 + throw new Error("The stored procedure configuration is empty!");
1726 } 1732 }
1727 1733
1728 if (bValidateList.length) { 1734 if (bValidateList.length) {
@@ -1821,13 +1827,13 @@ const handleChangeTab = (props, instruct) =&gt; { @@ -1821,13 +1827,13 @@ const handleChangeTab = (props, instruct) =&gt; {
1821 type: "error", 1827 type: "error",
1822 content: ( 1828 content: (
1823 <div> 1829 <div>
1824 - <div>跳转tab页指令未配置tabName!</div>  
1825 - <div>请检查该指令集:</div> 1830 + <div>The jump tab page instruction is not configured with tabName!</div>
  1831 + <div>Please check this instruction set:</div>
1826 <div>{JSON.stringify(instruct)}</div> 1832 <div>{JSON.stringify(instruct)}</div>
1827 </div> 1833 </div>
1828 ) 1834 )
1829 }); 1835 });
1830 - throw new Error("跳转tab页指令未配置tabName!"); 1836 + throw new Error("The jump tab page instruction is not configured with tabName!");
1831 } 1837 }
1832 changeTabName = tabName; 1838 changeTabName = tabName;
1833 return {}; 1839 return {};
@@ -1841,13 +1847,13 @@ const handleChangePage = (props, instruct) =&gt; { @@ -1841,13 +1847,13 @@ const handleChangePage = (props, instruct) =&gt; {
1841 type: "error", 1847 type: "error",
1842 content: ( 1848 content: (
1843 <div> 1849 <div>
1844 - <div>跳转跳转页面指令未配置pagePath!</div>  
1845 - <div>请检查该指令集:</div> 1850 + <div>The jump page instruction is not configured with pagePath!</div>
  1851 + <div>Please check this instruction set:</div>
1846 <div>{JSON.stringify(instruct)}</div> 1852 <div>{JSON.stringify(instruct)}</div>
1847 </div> 1853 </div>
1848 ) 1854 )
1849 }); 1855 });
1850 - throw new Error("跳转跳转页面指令未配置pagePath!"); 1856 + throw new Error("The jump page instruction is not configured with pagePath!");
1851 } 1857 }
1852 changePagePath = pagePath; 1858 changePagePath = pagePath;
1853 return {}; 1859 return {};
@@ -1862,13 +1868,13 @@ const handlePoprepair = async (props, instruct) =&gt; { @@ -1862,13 +1868,13 @@ const handlePoprepair = async (props, instruct) =&gt; {
1862 type: "error", 1868 type: "error",
1863 content: ( 1869 content: (
1864 <div> 1870 <div>
1865 - <div>跳转弹窗修改字段指令未配置title/fieldNames!</div>  
1866 - <div>请检查该指令集:</div> 1871 + <div>The jump pop-up window to modify the field instruction is not configured with title/fieldNames!</div>
  1872 + <div>Please check this instruction set:</div>
1867 <div>{JSON.stringify(instruct)}</div> 1873 <div>{JSON.stringify(instruct)}</div>
1868 </div> 1874 </div>
1869 ) 1875 )
1870 }); 1876 });
1871 - throw new Error("跳转弹窗修改字段指令未配置title/fieldNames!"); 1877 + throw new Error("The jump pop-up window to modify the field instruction is not configured with title/fieldNames!");
1872 } 1878 }
1873 1879
1874 const { tableLineParams = {} } = props; 1880 const { tableLineParams = {} } = props;
@@ -1906,14 +1912,14 @@ const handlePoprepair = async (props, instruct) =&gt; { @@ -1906,14 +1912,14 @@ const handlePoprepair = async (props, instruct) =&gt; {
1906 content: ( 1912 content: (
1907 <div> 1913 <div>
1908 <div 1914 <div
1909 - >{`未找到字段集合【${fieldNames}】对应的配置,请确认配置是否正确!`}</div>  
1910 - <div>请检查该指令集:</div> 1915 + >{`The configuration corresponding to the field set [${fieldNames}] was not found. Please confirm whether the configuration is correct!`}</div>
  1916 + <div>Please check this instruction set:</div>
1911 <div>{JSON.stringify(instruct)}</div> 1917 <div>{JSON.stringify(instruct)}</div>
1912 </div> 1918 </div>
1913 ) 1919 )
1914 }); 1920 });
1915 throw new Error( 1921 throw new Error(
1916 - `未找到字段集合【${fieldNames}】对应的配置,请确认配置是否正确!` 1922 + `The configuration corresponding to the field set [${fieldNames}] was not found. Please confirm whether the configuration is correct!`
1917 ); 1923 );
1918 } 1924 }
1919 1925
@@ -2057,12 +2063,12 @@ const handleExeSqlAll = async (props, onSucess) =&gt; { @@ -2057,12 +2063,12 @@ const handleExeSqlAll = async (props, onSucess) =&gt; {
2057 type: "error", 2063 type: "error",
2058 content: ( 2064 content: (
2059 <div> 2065 <div>
2060 - <div>exesql接口报错!</div>  
2061 - <div>请求地址:</div> 2066 + <div>exesql interface reports an error!</div>
  2067 + <div>Request address:</div>
2062 <div>{dataUrl}</div> 2068 <div>{dataUrl}</div>
2063 - <div>传入参数:</div> 2069 + <div>Pass in parameters:</div>
2064 <div>{JSON.stringify(values)}</div> 2070 <div>{JSON.stringify(values)}</div>
2065 - <div>报错信息</div> 2071 + <div>Error message:</div>
2066 <div>{JSON.stringify(dataReturn)}</div> 2072 <div>{JSON.stringify(dataReturn)}</div>
2067 </div> 2073 </div>
2068 ) 2074 )
@@ -2078,13 +2084,13 @@ const handleRefreshConfig = (props, instruct) =&gt; { @@ -2078,13 +2084,13 @@ const handleRefreshConfig = (props, instruct) =&gt; {
2078 type: "error", 2084 type: "error",
2079 content: ( 2085 content: (
2080 <div> 2086 <div>
2081 - <div>未配置srcDataset或srcDataset!</div>  
2082 - <div>请检查该指令集:</div> 2087 + <div>srcDataset or srcDataset not configured!</div>
  2088 + <div>Please check this instruction set:</div>
2083 <div>{JSON.stringify(instruct)}</div> 2089 <div>{JSON.stringify(instruct)}</div>
2084 </div> 2090 </div>
2085 ) 2091 )
2086 }); 2092 });
2087 - throw new Error("未配置srcDataset或srcDataset!"); 2093 + throw new Error("srcDataset or srcDataset not configured!");
2088 } 2094 }
2089 2095
2090 const { 2096 const {
@@ -2361,19 +2367,19 @@ const handleComputeData = (props, str, datasetList) =&gt; { @@ -2361,19 +2367,19 @@ const handleComputeData = (props, str, datasetList) =&gt; {
2361 type: "error", 2367 type: "error",
2362 content: ( 2368 content: (
2363 <div> 2369 <div>
2364 - <div>赋值运算错误!</div>  
2365 - <div>请检查赋值运算语法!</div>  
2366 - <div>赋值运算内容:</div> 2370 + <div>Assignment operation error!</div>
  2371 + <div>Please check the assignment syntax!</div>
  2372 + <div>Assignment operation content:</div>
2367 <div>{str}</div> 2373 <div>{str}</div>
2368 - <div>赋值运算被替代后的结果:</div> 2374 + <div>The result after the assignment operation is replaced:</div>
2369 <div>{JSON.stringify(strNew)}</div> 2375 <div>{JSON.stringify(strNew)}</div>
2370 - <div>赋值运算可能用到的数据集:</div> 2376 + <div>The data sets that may be used for the assignment operation are:</div>
2371 <div>{JSON.stringify(tempData)}</div> 2377 <div>{JSON.stringify(tempData)}</div>
2372 </div> 2378 </div>
2373 ) 2379 )
2374 }); 2380 });
2375 window.debugger && console.log("=====err", { str, strNew, error }); 2381 window.debugger && console.log("=====err", { str, strNew, error });
2376 - throw new Error("js运算错误"); 2382 + throw new Error("js operation error");
2377 } 2383 }
2378 return result; 2384 return result;
2379 }; 2385 };
@@ -2687,13 +2693,13 @@ const utils = { @@ -2687,13 +2693,13 @@ const utils = {
2687 type: "error", 2693 type: "error",
2688 content: ( 2694 content: (
2689 <div> 2695 <div>
2690 - <div>数据集的赋值字段sValue不能为空!</div>  
2691 - <div>请检查该指令集:</div> 2696 + <div>The assigned field sValue of the dataset cannot be empty!</div>
  2697 + <div>Please check this instruction set:</div>
2692 <div>{JSON.stringify(instruct)}</div> 2698 <div>{JSON.stringify(instruct)}</div>
2693 </div> 2699 </div>
2694 ) 2700 )
2695 }); 2701 });
2696 - throw new Error("数据集的赋值字段sValue不能为空!"); 2702 + throw new Error("The assigned field sValue of the dataset cannot be empty!");
2697 } 2703 }
2698 2704
2699 const { 2705 const {
@@ -2710,15 +2716,15 @@ const utils = { @@ -2710,15 +2716,15 @@ const utils = {
2710 type: "error", 2716 type: "error",
2711 content: ( 2717 content: (
2712 <div> 2718 <div>
2713 - <div>{`${targetDataset}】数据源为空`}</div>  
2714 - <div>过滤出的数据集为:</div> 2719 + <div>{`${targetDataset}] data source is empty`}</div>
  2720 + <div>The filtered data sets are:</div>
2715 <div>{JSON.stringify(dataObj)}</div> 2721 <div>{JSON.stringify(dataObj)}</div>
2716 - <div>请检查该指令集:</div> 2722 + <div>Please check this instruction set:</div>
2717 <div>{JSON.stringify(instruct)}</div> 2723 <div>{JSON.stringify(instruct)}</div>
2718 </div> 2724 </div>
2719 ) 2725 )
2720 }); 2726 });
2721 - throw new Error(`${targetDataset}】数据源为空`); 2727 + throw new Error(`${targetDataset}] data source is empty`);
2722 } 2728 }
2723 2729
2724 // const tableDataOld = props[`${targetDataset}Data`] || []; 2730 // const tableDataOld = props[`${targetDataset}Data`] || [];
@@ -2897,23 +2903,23 @@ const utils = { @@ -2897,23 +2903,23 @@ const utils = {
2897 type: "error", 2903 type: "error",
2898 content: ( 2904 content: (
2899 <div> 2905 <div>
2900 - <div>conditon条件运算错误!</div>  
2901 - <div>1、请检查condition语法!</div>  
2902 - <div>2、请检查ccondition用到的数据集是否在dataset中正确配置!</div>  
2903 - <div>conditon所在指令集:</div> 2906 + <div>Condition operation error!</div>
  2907 + <div>1. Please check the condition syntax!</div>
  2908 + <div>2. Please check whether the dataset used by ccondition is correctly configured in dataset!</div>
  2909 + <div>Instruction set where condition is located:</div>
2904 <div>{JSON.stringify(instruct)}</div> 2910 <div>{JSON.stringify(instruct)}</div>
2905 - <div>conditon内容:</div> 2911 + <div>condition content:</div>
2906 <div>{condition}</div> 2912 <div>{condition}</div>
2907 - <div>condition被替代后的结果:</div> 2913 + <div>The result after condition is replaced:</div>
2908 <div>{JSON.stringify(conditionNew)}</div> 2914 <div>{JSON.stringify(conditionNew)}</div>
2909 - <div>condition可能用到的数据集:</div> 2915 + <div>The data set that condition may use is:</div>
2910 <div>{JSON.stringify(tempData)}</div> 2916 <div>{JSON.stringify(tempData)}</div>
2911 </div> 2917 </div>
2912 ) 2918 )
2913 }); 2919 });
2914 window.debugger && 2920 window.debugger &&
2915 console.log("=====err", { tempData, condition, conditionNew, error }); 2921 console.log("=====err", { tempData, condition, conditionNew, error });
2916 - throw new Error("js运算错误"); 2922 + throw new Error("js operation error");
2917 } 2923 }
2918 2924
2919 return bMatch; 2925 return bMatch;
@@ -3017,9 +3023,9 @@ const utils = { @@ -3017,9 +3023,9 @@ const utils = {
3017 if (oTabs.length === 0) { 3023 if (oTabs.length === 0) {
3018 showMsg({ 3024 showMsg({
3019 type: "error", 3025 type: "error",
3020 - content: <div>{`未找到tab页面【${changeTabName}】`}</div> 3026 + content: <div>{`Tab page [${changeTabName}] not found`}</div>
3021 }); 3027 });
3022 - throw new error(`未找到tab页面【${changeTabName}】`); 3028 + throw new error(`Tab page [${changeTabName}] not found`);
3023 } else if (oTabs.length === 1) { 3029 } else if (oTabs.length === 1) {
3024 oTab = oTabs[0]; 3030 oTab = oTabs[0];
3025 } else if (oTabs.length > 1) { 3031 } else if (oTabs.length > 1) {
@@ -3034,9 +3040,9 @@ const utils = { @@ -3034,9 +3040,9 @@ const utils = {
3034 if (!oTab) { 3040 if (!oTab) {
3035 showMsg({ 3041 showMsg({
3036 type: "error", 3042 type: "error",
3037 - content: <div>{`未找到tab页面【${changeTabName}】`}</div> 3043 + content: <div>{`Tab page [${changeTabName}] not found`}</div>
3038 }); 3044 });
3039 - throw new error(`未找到tab页面【${changeTabName}】`); 3045 + throw new error(`Tab page [${changeTabName}] not found`);
3040 } 3046 }
3041 3047
3042 oTab.click(); 3048 oTab.click();
@@ -3192,13 +3198,13 @@ const utils = { @@ -3192,13 +3198,13 @@ const utils = {
3192 type: "error", 3198 type: "error",
3193 content: ( 3199 content: (
3194 <div> 3200 <div>
3195 - <div>js运算错误!</div>  
3196 - <div>请检查js运算语法!</div>  
3197 - <div>js运算内容:</div> 3201 + <div>js operation error!</div>
  3202 + <div>Please check the js operation syntax!</div>
  3203 + <div>js operation content:</div>
3198 <div>{stringValue}</div> 3204 <div>{stringValue}</div>
3199 - <div>赋值运算被替代后的结果:</div> 3205 + <div>The result after the assignment operation is replaced:</div>
3200 <div>{JSON.stringify(strNew)}</div> 3206 <div>{JSON.stringify(strNew)}</div>
3201 - <div>请联系开发人员或用window.debuggerValue功能调试!</div> 3207 + <div>Please contact the developer or use the window.debuggerValue function to debug!</div>
3202 </div> 3208 </div>
3203 ) 3209 )
3204 }); 3210 });
src/components/Common/CommonTable/index.js
@@ -11456,7 +11456,7 @@ class CommonTableRc extends React.Component { @@ -11456,7 +11456,7 @@ class CommonTableRc extends React.Component {
11456 {officePreviewVisible && <OfficePreview {...officePreviewProps} />} 11456 {officePreviewVisible && <OfficePreview {...officePreviewProps} />}
11457 {labelColorModalVisible && ( 11457 {labelColorModalVisible && (
11458 <Modal 11458 <Modal
11459 - title="标牌颜色" 11459 + title={commonFunc.showLocalMessage(this.props, 'signColor', '标牌颜色')}
11460 open={labelColorModalVisible} 11460 open={labelColorModalVisible}
11461 width={600} 11461 width={600}
11462 height={320} 11462 height={320}
@@ -11468,7 +11468,7 @@ class CommonTableRc extends React.Component { @@ -11468,7 +11468,7 @@ class CommonTableRc extends React.Component {
11468 )} 11468 )}
11469 > 11469 >
11470 <div className={styles.labelColorModal}> 11470 <div className={styles.labelColorModal}>
11471 - {"白粉青蓝橙绿黄红".split("").map((item, index) => { 11471 + {commonFunc.showLocalMessage(this.props, 'eightColors', '白,粉,青,蓝,橙,绿,黄,红').split(",").map((item, index) => {
11472 return ( 11472 return (
11473 <div> 11473 <div>
11474 <div 11474 <div
src/lang/en-lang.less
1 :global { 1 :global {
2 html[lang="sEnglish"] { 2 html[lang="sEnglish"] {
  3 +
  4 + #global-mouse-tooltip {
  5 + position: fixed;
  6 + background: rgba(0, 0, 0, 0.75);
  7 + color: #fff;
  8 + padding: 4px 8px;
  9 + border-radius: 2px;
  10 + font-size: 14px;
  11 + // pointer-events: none;
  12 + z-index: 9999;
  13 + white-space: nowrap;
  14 + left: '0';
  15 + top: '0';
  16 + opacity: '0';
  17 + transition: opacity 0.2s;
  18 + box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
  19 + }
  20 +
  21 + .ant-tabs-tab {
  22 + flex-shrink: 0;
  23 + }
  24 +
  25 + .ant-tabs-tab-btn {
  26 + font-size: 12px;
  27 + display: -webkit-box;
  28 + /*! autoprefixer: ignore next */
  29 + -webkit-box-orient: vertical;
  30 + -webkit-line-clamp: 2;
  31 + /* 只保留 2 行 */
  32 + overflow: hidden;
  33 + text-overflow: ellipsis;
  34 + /* 兜底 */
  35 + white-space: normal;
  36 + /* 覆盖 antd 默认 nowrap */
  37 + width: 120px;
  38 + /* 按需调整,决定何时断行 */
  39 + line-height: 1;
  40 + }
  41 +
  42 +
  43 + .ant-table-header table {
  44 +
  45 + .th-div,
  46 + th div:not([class]) {
  47 + display: -webkit-box;
  48 + /*! autoprefixer: ignore next */
  49 + -webkit-box-orient: vertical;
  50 + -webkit-line-clamp: 1;
  51 + /* 只保留 2 行 */
  52 + overflow: hidden;
  53 + text-overflow: ellipsis;
  54 + /* 兜底 */
  55 + white-space: normal;
  56 + word-break: break-all;
  57 + /* 覆盖 antd 默认 nowrap */
  58 + // width: 120px;
  59 + /* 按需调整,决定何时断行 */
  60 + line-height: 1.2;
  61 + }
  62 + }
  63 +
  64 + .ant-form-item-label {
  65 + display: flex;
  66 + align-items: center;
  67 + padding: 0 6px 0 16px;
  68 +
  69 + label {
  70 + // padding: 3px;
  71 + height: auto;
  72 + font-size: 14px !important;
  73 + display: -webkit-box;
  74 + /*! autoprefixer: ignore next */
  75 + -webkit-box-orient: vertical;
  76 + -webkit-line-clamp: 2;
  77 + /* 只保留 2 行 */
  78 + overflow: hidden;
  79 + text-overflow: ellipsis;
  80 + /* 兜底 */
  81 + white-space: normal;
  82 + /* 覆盖 antd 默认 nowrap */
  83 + // width: 120px;
  84 + /* 按需调整,决定何时断行 */
  85 + line-height: 1.2;
  86 + }
  87 + }
  88 +
  89 + .mesShowType .ant-form-item-label {
  90 + padding: 0 0 0 10px;
  91 + label {
  92 + font-size: 18px !important;
  93 + }
  94 + }
  95 +
  96 +
  97 + .ant-table-column-title {
  98 + overflow: initial;
  99 + }
  100 +
  101 + .react-grid-item .ant-form-item-label>label {
  102 + &::before {
  103 + display: none;
  104 + }
  105 +
  106 + &::after {
  107 + display: none;
  108 + }
  109 +
  110 + display: flex;
  111 + justify-content: center;
  112 +
  113 + .xly-grid-label {
  114 + height: auto !important;
  115 + font-size: 10px !important;
  116 + display: -webkit-box;
  117 + /*! autoprefixer: ignore next */
  118 + -webkit-box-orient: vertical;
  119 + -webkit-line-clamp: 2;
  120 + overflow: hidden;
  121 + text-overflow: ellipsis;
  122 + white-space: normal !important;
  123 + line-height: 1.2;
  124 +
  125 + &::after {
  126 + content: ':';
  127 + position: relative;
  128 + top: -0.5px;
  129 + margin: 0 8px 0 2px;
  130 + }
  131 + }
  132 + }
  133 +
  134 + .react-grid-item .ant-form-item-label>label.ant-form-item-required:not(.ant-form-item-required-mark-optional) {
  135 + .xly-grid-label {
  136 + &::before {
  137 + display: inline-block;
  138 + margin-right: 4px;
  139 + color: #ff4d4f;
  140 + font-size: 12px;
  141 + font-family: SimSun, sans-serif;
  142 + line-height: 1;
  143 + content: '*';
  144 + }
  145 + }
  146 + }
  147 +
3 th[width="40"] { 148 th[width="40"] {
4 .th-div { 149 .th-div {
5 width: 32px; 150 width: 32px;
src/mes/common/commonModelComponent/index.js
@@ -2460,6 +2460,13 @@ const CommonParamsModalComponent = props =&gt; { @@ -2460,6 +2460,13 @@ const CommonParamsModalComponent = props =&gt; {
2460 } 2460 }
2461 }; 2461 };
2462 2462
  2463 + const confirm = commonFunc.showLocalMessage(props, 'confirm', '确认');
  2464 + const BtnFirst = commonFunc.showLocalMessage(props, 'BtnFirst', '首条');
  2465 + const BtnPrior = commonFunc.showLocalMessage(props, 'BtnPrior', '上一条');
  2466 + const BtnNext = commonFunc.showLocalMessage(props, 'BtnNext', '下一条');
  2467 + const BtnLast = commonFunc.showLocalMessage(props, 'BtnLast', '末条');
  2468 + const workParam = commonFunc.showLocalMessage(props, "workParam", "工单参数");
  2469 +
2463 return props[modalName] ? ( 2470 return props[modalName] ? (
2464 <Modal 2471 <Modal
2465 width="80%" 2472 width="80%"
@@ -2477,7 +2484,7 @@ const CommonParamsModalComponent = props =&gt; { @@ -2477,7 +2484,7 @@ const CommonParamsModalComponent = props =&gt; {
2477 props.onSaveState({ [modalName]: false }); 2484 props.onSaveState({ [modalName]: false });
2478 }} 2485 }}
2479 > 2486 >
2480 - 确定 2487 + {confirm}
2481 </Button> 2488 </Button>
2482 } 2489 }
2483 > 2490 >
@@ -2490,7 +2497,7 @@ const CommonParamsModalComponent = props =&gt; { @@ -2490,7 +2497,7 @@ const CommonParamsModalComponent = props =&gt; {
2490 handleBtnParamPage("first"); 2497 handleBtnParamPage("first");
2491 }} 2498 }}
2492 > 2499 >
2493 - 首条 2500 + {BtnFirst}
2494 </Button> 2501 </Button>
2495 <Button 2502 <Button
2496 type="primary" 2503 type="primary"
@@ -2499,7 +2506,7 @@ const CommonParamsModalComponent = props =&gt; { @@ -2499,7 +2506,7 @@ const CommonParamsModalComponent = props =&gt; {
2499 handleBtnParamPage("before"); 2506 handleBtnParamPage("before");
2500 }} 2507 }}
2501 > 2508 >
2502 - 上一条 2509 + {BtnPrior}
2503 </Button> 2510 </Button>
2504 <Button 2511 <Button
2505 type="primary" 2512 type="primary"
@@ -2508,7 +2515,7 @@ const CommonParamsModalComponent = props =&gt; { @@ -2508,7 +2515,7 @@ const CommonParamsModalComponent = props =&gt; {
2508 handleBtnParamPage("next"); 2515 handleBtnParamPage("next");
2509 }} 2516 }}
2510 > 2517 >
2511 - 下一条 2518 + {BtnNext}
2512 </Button> 2519 </Button>
2513 <Button 2520 <Button
2514 type="primary" 2521 type="primary"
@@ -2517,7 +2524,7 @@ const CommonParamsModalComponent = props =&gt; { @@ -2517,7 +2524,7 @@ const CommonParamsModalComponent = props =&gt; {
2517 handleBtnParamPage("last"); 2524 handleBtnParamPage("last");
2518 }} 2525 }}
2519 > 2526 >
2520 - 末条 2527 + {BtnLast}
2521 </Button> 2528 </Button>
2522 </Space> 2529 </Space>
2523 {[""].map(() => { 2530 {[""].map(() => {
@@ -2528,7 +2535,7 @@ const CommonParamsModalComponent = props =&gt; { @@ -2528,7 +2535,7 @@ const CommonParamsModalComponent = props =&gt; {
2528 sParamData: [ 2535 sParamData: [
2529 { 2536 {
2530 sParamType: "sWorkOrder", 2537 sParamType: "sWorkOrder",
2531 - sParamName: "工单参数" 2538 + sParamName: workParam
2532 } 2539 }
2533 ], 2540 ],
2534 tableName: "process", 2541 tableName: "process",
src/mes/common/inputMultiModalComponent/index.js
@@ -70,6 +70,9 @@ const InputMultiModalComponent = props =&gt; { @@ -70,6 +70,9 @@ const InputMultiModalComponent = props =&gt; {
70 props.onCancel(); 70 props.onCancel();
71 }; 71 };
72 72
  73 + const BtnCancel = commonFunc.showLocalMessage(props, 'BtnCancel', '取消');
  74 + const confirm = commonFunc.showLocalMessage(props, 'confirm', '确认');
  75 +
73 return ( 76 return (
74 <Modal 77 <Modal
75 width={600} 78 width={600}
@@ -81,10 +84,10 @@ const InputMultiModalComponent = props =&gt; { @@ -81,10 +84,10 @@ const InputMultiModalComponent = props =&gt; {
81 footer={ 84 footer={
82 <Space> 85 <Space>
83 <Button size="large" onClick={() => props.onCancel()}> 86 <Button size="large" onClick={() => props.onCancel()}>
84 - 取消 87 + {BtnCancel}
85 </Button> 88 </Button>
86 <Button type="primary" size="large" onClick={onOk}> 89 <Button type="primary" size="large" onClick={onOk}>
87 - 确定 90 + {confirm}
88 </Button> 91 </Button>
89 </Space> 92 </Space>
90 } 93 }
src/mes/common/siderInfoComponent/index.js
@@ -446,7 +446,7 @@ const WorkOrderTypeComponent = () =&gt; { @@ -446,7 +446,7 @@ const WorkOrderTypeComponent = () =&gt; {
446 flex={"160px"} 446 flex={"160px"}
447 className={styles.productionTitle} 447 className={styles.productionTitle}
448 > 448 >
449 - {productionSchedule} 449 + <span title={productionSchedule}>{productionSchedule}</span>
450 {/* <Button 450 {/* <Button
451 type="link" 451 type="link"
452 icon={<LeftOutlined />} 452 icon={<LeftOutlined />}
@@ -492,7 +492,7 @@ const WorkOrderTypeComponent = () =&gt; { @@ -492,7 +492,7 @@ const WorkOrderTypeComponent = () =&gt; {
492 flex={"160px"} 492 flex={"160px"}
493 className={styles.productionTitle} 493 className={styles.productionTitle}
494 > 494 >
495 - {specialFocus} 495 + <span title={specialFocus}>{specialFocus}</span>
496 </Col> 496 </Col>
497 <Col 497 <Col
498 flex={1} 498 flex={1}
@@ -525,7 +525,7 @@ const WorkOrderTypeComponent = () =&gt; { @@ -525,7 +525,7 @@ const WorkOrderTypeComponent = () =&gt; {
525 flex={"160px"} 525 flex={"160px"}
526 className={styles.productionTitle} 526 className={styles.productionTitle}
527 > 527 >
528 - {config.showName}: 528 + <span title={config.showName}>{config.showName}:</span>
529 </Col> 529 </Col>
530 <Col 530 <Col
531 flex={1} 531 flex={1}
src/mes/indexMes/index.js
@@ -106,12 +106,11 @@ const OpenModalEditPwd = props =&gt; { @@ -106,12 +106,11 @@ const OpenModalEditPwd = props =&gt; {
106 const oldPassword = commonFunc.showLocalMessage(props, 'oldPassword', '请输入原密码'); 106 const oldPassword = commonFunc.showLocalMessage(props, 'oldPassword', '请输入原密码');
107 const newPassword = commonFunc.showLocalMessage(props, 'newPassword', '请输入新密码'); 107 const newPassword = commonFunc.showLocalMessage(props, 'newPassword', '请输入新密码');
108 const passswordAgain = commonFunc.showLocalMessage(props, 'passswordAgain', '请再次输入密码'); 108 const passswordAgain = commonFunc.showLocalMessage(props, 'passswordAgain', '请再次输入密码');
109 - const ModifyPassword = commonFunc.showLocalMessage(props, 'ModifyPassword','修改密码');/* 修改 */ 109 + const ModifyPassword = commonFunc.showLocalMessage(props, 'ModifyPassword', '修改密码');/* 修改 */
110 // 确认修改密码 110 // 确认修改密码
111 const handleOk = () => { 111 const handleOk = () => {
112 - const url = `${  
113 - commonConfig.server_host  
114 - }sftlogininfo/updatePasswordUserName/update?sModelsId=${100}`; 112 + const url = `${commonConfig.server_host
  113 + }sftlogininfo/updatePasswordUserName/update?sModelsId=${100}`;
115 props.dispatch({ 114 props.dispatch({
116 type: "app/editPwd", 115 type: "app/editPwd",
117 payload: { 116 payload: {
@@ -369,6 +368,9 @@ const useIndexMesEvent = props =&gt; { @@ -369,6 +368,9 @@ const useIndexMesEvent = props =&gt; {
369 const { userinfo } = props.app; 368 const { userinfo } = props.app;
370 const { sLanguage } = userinfo; 369 const { sLanguage } = userinfo;
371 document.querySelector('html').setAttribute('lang', sLanguage); 370 document.querySelector('html').setAttribute('lang', sLanguage);
  371 + return () => {
  372 + document.querySelector('html').setAttribute('lang', 'en');
  373 + }
372 }, []); 374 }, []);
373 375
374 return { 376 return {
@@ -427,9 +429,8 @@ const IndexMes = baseProps =&gt; { @@ -427,9 +429,8 @@ const IndexMes = baseProps =&gt; {
427 token, 429 token,
428 sModelsId 430 sModelsId
429 ) => { 431 ) => {
430 - const url = `${  
431 - commonConfig.server_host  
432 - }procedureCall/doGenericProcedureCall?sModelsId=${sModelsId}`; 432 + const url = `${commonConfig.server_host
  433 + }procedureCall/doGenericProcedureCall?sModelsId=${sModelsId}`;
433 const returnData = (await commonServices.postValueService( 434 const returnData = (await commonServices.postValueService(
434 token, 435 token,
435 value, 436 value,
@@ -446,16 +447,16 @@ const IndexMes = baseProps =&gt; { @@ -446,16 +447,16 @@ const IndexMes = baseProps =&gt; {
446 }; 447 };
447 const currentLanguage = props?.app?.userinfo?.sLanguage || 'zhCN'; // 默认为中文 448 const currentLanguage = props?.app?.userinfo?.sLanguage || 'zhCN'; // 默认为中文
448 const getLocale = () => { 449 const getLocale = () => {
449 - switch(currentLanguage) { 450 + switch (currentLanguage) {
450 case 'sEnglish': 451 case 'sEnglish':
451 return enUS; 452 return enUS;
452 case 'sBig5': 453 case 'sBig5':
453 return zhTW; 454 return zhTW;
454 default: 455 default:
455 - {  
456 - moment.locale('zh-cn');  
457 - return zhCN;  
458 - } 456 + {
  457 + moment.locale('zh-cn');
  458 + return zhCN;
  459 + }
459 } 460 }
460 }; 461 };
461 const bExsitLogin = commonFunc.showLocalMessage(props, 'bExsitLogin', '是否退出登录'); 462 const bExsitLogin = commonFunc.showLocalMessage(props, 'bExsitLogin', '是否退出登录');
@@ -482,7 +483,7 @@ const IndexMes = baseProps =&gt; { @@ -482,7 +483,7 @@ const IndexMes = baseProps =&gt; {
482 {logoutShow && ( 483 {logoutShow && (
483 <DraggableConfirmModal 484 <DraggableConfirmModal
484 btnShow={false} 485 btnShow={false}
485 - title ={FriendlyReminder} 486 + title={FriendlyReminder}
486 content={bExsitLogin} 487 content={bExsitLogin}
487 props={props} 488 props={props}
488 onOk={() => { 489 onOk={() => {
@@ -510,7 +511,7 @@ const HeaderConponent = () =&gt; { @@ -510,7 +511,7 @@ const HeaderConponent = () =&gt; {
510 511
511 const sLanguage = userinfo.sLanguage; 512 const sLanguage = userinfo.sLanguage;
512 let weekday = ["日", "一", "二", "三", "四", "五", "六"]; 513 let weekday = ["日", "一", "二", "三", "四", "五", "六"];
513 - const sunTitle = sLanguage ==='sChinese' ? '星期' : ''; 514 + const sunTitle = sLanguage === 'sChinese' ? '星期' : '';
514 const [time, setTime] = useState("0000-00-00 00:00:00"); 515 const [time, setTime] = useState("0000-00-00 00:00:00");
515 const { logout } = useContext(myContext); 516 const { logout } = useContext(myContext);
516 useEffect(() => { 517 useEffect(() => {
@@ -532,8 +533,8 @@ const HeaderConponent = () =&gt; { @@ -532,8 +533,8 @@ const HeaderConponent = () =&gt; {
532 533
533 534
534 const logoTitle = commonFunc.showLocalMessage(props, 'EBC-MES', '小羚羊生产执行系统'); 535 const logoTitle = commonFunc.showLocalMessage(props, 'EBC-MES', '小羚羊生产执行系统');
535 - const account= commonFunc.showLocalMessage(props, 'account', '账号');  
536 - const machine= commonFunc.showLocalMessage(props, 'machine', '机台'); 536 + const account = commonFunc.showLocalMessage(props, 'account', '账号');
  537 + const machine = commonFunc.showLocalMessage(props, 'machine', '机台');
537 const classGroup = commonFunc.showLocalMessage(props, 'classGroup', '班组'); 538 const classGroup = commonFunc.showLocalMessage(props, 'classGroup', '班组');
538 const dayShift = commonFunc.showLocalMessage(props, 'dayShift', '白班'); 539 const dayShift = commonFunc.showLocalMessage(props, 'dayShift', '白班');
539 const nightShift = commonFunc.showLocalMessage(props, 'nightShift', '夜班'); 540 const nightShift = commonFunc.showLocalMessage(props, 'nightShift', '夜班');
@@ -577,16 +578,16 @@ const HeaderConponent = () =&gt; { @@ -577,16 +578,16 @@ const HeaderConponent = () =&gt; {
577 578
578 579
579 580
580 - const [ isModalOpen, setIsModalOpen ] = useState(false);  
581 - const objRef = useRef({});  
582 - const handleCancel = () => setIsModalOpen(false);  
583 - window.$wkcFullStatus = (item , is) =>{  
584 - objRef.current = {  
585 - ...objRef.current,  
586 - ...item  
587 - }  
588 - setIsModalOpen(is); 581 + const [isModalOpen, setIsModalOpen] = useState(false);
  582 + const objRef = useRef({});
  583 + const handleCancel = () => setIsModalOpen(false);
  584 + window.$wkcFullStatus = (item, is) => {
  585 + objRef.current = {
  586 + ...objRef.current,
  587 + ...item
589 } 588 }
  589 + setIsModalOpen(is);
  590 + }
590 591
591 592
592 593
@@ -626,20 +627,20 @@ const HeaderConponent = () =&gt; { @@ -626,20 +627,20 @@ const HeaderConponent = () =&gt; {
626 <div className="logout" onClick={logout} /> 627 <div className="logout" onClick={logout} />
627 </div> 628 </div>
628 629
629 - <Modal  
630 - title="Basic Modal"  
631 - open={isModalOpen}  
632 - width={'100vw'}  
633 - height={'100vh'}  
634 - onCancel={handleCancel}  
635 - footer={null}  
636 - mask={false}  
637 - closable={false}  
638 - destroyOnClose={true}  
639 - maskClosable={false}  
640 - wrapClassName={ styles.ztwwwww }>  
641 - <MachineMessageComponent e={objRef.current} shutDown={handleCancel} props ={props} />  
642 - </Modal> 630 + <Modal
  631 + title="Basic Modal"
  632 + open={isModalOpen}
  633 + width={'100vw'}
  634 + height={'100vh'}
  635 + onCancel={handleCancel}
  636 + footer={null}
  637 + mask={false}
  638 + closable={false}
  639 + destroyOnClose={true}
  640 + maskClosable={false}
  641 + wrapClassName={styles.ztwwwww}>
  642 + <MachineMessageComponent e={objRef.current} shutDown={handleCancel} props={props} />
  643 + </Modal>
643 644
644 </div> 645 </div>
645 ); 646 );
@@ -647,41 +648,41 @@ const HeaderConponent = () =&gt; { @@ -647,41 +648,41 @@ const HeaderConponent = () =&gt; {
647 648
648 649
649 // 停机状态栏 650 // 停机状态栏
650 -const MachineMessageComponent = ({ e , shutDown, props }) => {  
651 - const value = e.item?.props?.value || {};  
652 - const { current: startTime } = useRef(moment().format("YYYY-MM-DD HH:mm:ss"));  
653 - const { backgroundColor, conent2, fontSize } = value;  
654 - const [currentTime, setCurrentTime] = useState("");  
655 - const [diffHours, setDiffHours] = useState(0);  
656 - const [diffMins, setDiffMins] = useState(0);  
657 - const [diffSecs, setDiffSecs] = useState(0);  
658 - useEffect(() => {  
659 - const getTime = () => {  
660 - const currentTimeNew = moment().format("YYYY-MM-DD HH:mm:ss");  
661 - setCurrentTime(currentTimeNew);  
662 -  
663 - const duration = moment.duration(  
664 - moment(currentTimeNew).diff(moment(startTime))  
665 - );  
666 - const hours = duration.asHours().toString().split(".")[0];  
667 - const minutes = (duration.asMinutes() % 60).toString().split(".")[0];  
668 - const seconds = duration.asSeconds() % 60;  
669 -  
670 - setDiffHours(hours<=9? `0${hours}`: hours);  
671 - setDiffMins(minutes<=9? `0${minutes}`: minutes );  
672 - setDiffSecs(seconds<=9? `0${seconds}`: seconds);  
673 - }; 651 +const MachineMessageComponent = ({ e, shutDown, props }) => {
  652 + const value = e.item?.props?.value || {};
  653 + const { current: startTime } = useRef(moment().format("YYYY-MM-DD HH:mm:ss"));
  654 + const { backgroundColor, conent2, fontSize } = value;
  655 + const [currentTime, setCurrentTime] = useState("");
  656 + const [diffHours, setDiffHours] = useState(0);
  657 + const [diffMins, setDiffMins] = useState(0);
  658 + const [diffSecs, setDiffSecs] = useState(0);
  659 + useEffect(() => {
  660 + const getTime = () => {
  661 + const currentTimeNew = moment().format("YYYY-MM-DD HH:mm:ss");
  662 + setCurrentTime(currentTimeNew);
  663 +
  664 + const duration = moment.duration(
  665 + moment(currentTimeNew).diff(moment(startTime))
  666 + );
  667 + const hours = duration.asHours().toString().split(".")[0];
  668 + const minutes = (duration.asMinutes() % 60).toString().split(".")[0];
  669 + const seconds = duration.asSeconds() % 60;
  670 +
  671 + setDiffHours(hours <= 9 ? `0${hours}` : hours);
  672 + setDiffMins(minutes <= 9 ? `0${minutes}` : minutes);
  673 + setDiffSecs(seconds <= 9 ? `0${seconds}` : seconds);
  674 + };
674 675
  676 + getTime();
  677 + const timer = setInterval(() => {
  678 + console.log('定时器状态')
675 getTime(); 679 getTime();
676 - const timer = setInterval(() => {  
677 - console.log('定时器状态')  
678 - getTime();  
679 - }, 1000); 680 + }, 1000);
680 681
681 - return () => {  
682 - clearInterval(timer);  
683 - };  
684 - }, []); 682 + return () => {
  683 + clearInterval(timer);
  684 + };
  685 + }, []);
685 686
686 const FriendlyReminder = commonFunc.showLocalMessage(props, 'FriendlyReminder', '温馨提示'); 687 const FriendlyReminder = commonFunc.showLocalMessage(props, 'FriendlyReminder', '温馨提示');
687 const BtnSure = commonFunc.showLocalMessage(props, 'BtnSure', '确认'); 688 const BtnSure = commonFunc.showLocalMessage(props, 'BtnSure', '确认');
@@ -703,108 +704,108 @@ const MachineMessageComponent = ({ e , shutDown, props }) =&gt; { @@ -703,108 +704,108 @@ const MachineMessageComponent = ({ e , shutDown, props }) =&gt; {
703 const about = commonFunc.showLocalMessage(props, 'about', '约:'); 704 const about = commonFunc.showLocalMessage(props, 'about', '约:');
704 705
705 const handleMenuClose = () => { 706 const handleMenuClose = () => {
706 - Modal.confirm({  
707 - title: FriendlyReminder,  
708 - content: <div>{confirmState}</div>,  
709 - okText: BtnSure,  
710 - cancelText: BtnCancel,  
711 - zIndex: 2000,  
712 - onOk() {  
713 - shutDown()  
714 - },  
715 - onCancel() {}  
716 - });  
717 - }; 707 + Modal.confirm({
  708 + title: FriendlyReminder,
  709 + content: <div>{confirmState}</div>,
  710 + okText: BtnSure,
  711 + cancelText: BtnCancel,
  712 + zIndex: 2000,
  713 + onOk() {
  714 + shutDown()
  715 + },
  716 + onCancel() { }
  717 + });
  718 + };
718 719
719 720
720 - const isMinMax = useRef('max');  
721 - const draggleRef = useRef(null);  
722 - const [bounds, setBounds] = useState({ left: 0, top: 0, bottom: 0, right: 0 });  
723 - const onStart = (_event, uiData) => {  
724 - const { clientWidth, clientHeight } = window.document.documentElement;  
725 - const targetRect = draggleRef.current?.getBoundingClientRect();  
726 - if (!targetRect) {  
727 - return;  
728 - }  
729 - setBounds({  
730 - left: -targetRect.left + uiData.x,  
731 - right: clientWidth - (targetRect.right - uiData.x),  
732 - top: -targetRect.top + uiData.y,  
733 - bottom: clientHeight - (targetRect.bottom - uiData.y),  
734 - });  
735 - }; 721 + const isMinMax = useRef('max');
  722 + const draggleRef = useRef(null);
  723 + const [bounds, setBounds] = useState({ left: 0, top: 0, bottom: 0, right: 0 });
  724 + const onStart = (_event, uiData) => {
  725 + const { clientWidth, clientHeight } = window.document.documentElement;
  726 + const targetRect = draggleRef.current?.getBoundingClientRect();
  727 + if (!targetRect) {
  728 + return;
  729 + }
  730 + setBounds({
  731 + left: -targetRect.left + uiData.x,
  732 + right: clientWidth - (targetRect.right - uiData.x),
  733 + top: -targetRect.top + uiData.y,
  734 + bottom: clientHeight - (targetRect.bottom - uiData.y),
  735 + });
  736 + };
736 737
737 738
738 - return (  
739 - <div className={`${styles.modalBoxStyle} ${isMinMax.current}`}>  
740 -  
741 - {  
742 - isMinMax.current == 'min'?  
743 - <Draggable defaultPosition={{ x: document.body.clientWidth-400-30, y: 70 }} bounds={bounds} onStart={(event, uiData) => onStart(event, uiData)}>  
744 - <div ref={draggleRef} className={styles.maxBoxViews} style={{ '--bgColor' : backgroundColor }}>  
745 - <div className="mixbox" onDoubleClick={()=>isMinMax.current = 'max'}>  
746 - <h2>{conent2}</h2>  
747 - <div className="p">{beginTime} {startTime}</div>  
748 - <div className="p">{downtimeDuration}{diffHours}{second} {diffMins}{min} {diffSecs}{second}</div>  
749 - <div className="btn">  
750 - <Button size="large" type="primary" className={styles.btnWg} onClick={()=>isMinMax.current = 'max'} > 最大化 </Button>  
751 - <Button size="large" type="primary" className={styles.btnWg} onClick={handleMenuClose} > 退出 </Button>  
752 - </div>  
753 - </div>  
754 - </div>  
755 - </Draggable>  
756 - :  
757 - <div className={styles.machineStatusContent} style={{ backgroundColor }}>  
758 - <div className="conent1">{equipmentShutdown}</div>  
759 - <div className="conent2" style={fontSize ? { fontSize } : {}}>  
760 - {conent2}  
761 - </div>  
762 - <div className="conent3">  
763 - {DowntimeStartTime}  
764 - {startTime}  
765 - </div>  
766 - <div className="conent4">  
767 - {sct}  
768 - {currentTime}  
769 - </div>  
770 - <div className="conent5">  
771 - {cdd}  
772 - <span className="conent6">  
773 - {about}  
774 - {diffHours}{hour} {diffMins}{min} {diffSecs}{second}  
775 - </span>  
776 - </div>  
777 - <div className="conent7">  
778 - <Button size="large" type="primary" className={styles.btnWg} onClick={()=>isMinMax.current = 'min'} > {minimize} </Button>  
779 - <Button size="large" type="primary" className={styles.btnWg} onClick={handleMenuClose} > {ExitLogin} </Button>  
780 - </div> 739 + return (
  740 + <div className={`${styles.modalBoxStyle} ${isMinMax.current}`}>
  741 +
  742 + {
  743 + isMinMax.current == 'min' ?
  744 + <Draggable defaultPosition={{ x: document.body.clientWidth - 400 - 30, y: 70 }} bounds={bounds} onStart={(event, uiData) => onStart(event, uiData)}>
  745 + <div ref={draggleRef} className={styles.maxBoxViews} style={{ '--bgColor': backgroundColor }}>
  746 + <div className="mixbox" onDoubleClick={() => isMinMax.current = 'max'}>
  747 + <h2>{conent2}</h2>
  748 + <div className="p">{beginTime} {startTime}</div>
  749 + <div className="p">{downtimeDuration}{diffHours}{second} {diffMins}{min} {diffSecs}{second}</div>
  750 + <div className="btn">
  751 + <Button size="large" type="primary" className={styles.btnWg} onClick={() => isMinMax.current = 'max'} > 最大化 </Button>
  752 + <Button size="large" type="primary" className={styles.btnWg} onClick={handleMenuClose} > 退出 </Button>
781 </div> 753 </div>
782 - } 754 + </div>
  755 + </div>
  756 + </Draggable>
  757 + :
  758 + <div className={styles.machineStatusContent} style={{ backgroundColor }}>
  759 + <div className="conent1">{equipmentShutdown}</div>
  760 + <div className="conent2" style={fontSize ? { fontSize } : {}}>
  761 + {conent2}
  762 + </div>
  763 + <div className="conent3">
  764 + {DowntimeStartTime}
  765 + {startTime}
  766 + </div>
  767 + <div className="conent4">
  768 + {sct}
  769 + {currentTime}
  770 + </div>
  771 + <div className="conent5">
  772 + {cdd}
  773 + <span className="conent6">
  774 + {about}
  775 + {diffHours}{hour} {diffMins}{min} {diffSecs}{second}
  776 + </span>
  777 + </div>
  778 + <div className="conent7">
  779 + <Button size="large" type="primary" className={styles.btnWg} onClick={() => isMinMax.current = 'min'} > {minimize} </Button>
  780 + <Button size="large" type="primary" className={styles.btnWg} onClick={handleMenuClose} > {ExitLogin} </Button>
  781 + </div>
  782 + </div>
  783 + }
783 784
784 - </div>  
785 - ); 785 + </div>
  786 + );
786 }; 787 };
787 788
788 789
789 790
790 791
791 - // 左侧侧边栏 792 +// 左侧侧边栏
792 const SiderComponent = () => { 793 const SiderComponent = () => {
793 const { dispatch, hooksProps, props, ...rest } = useContext(myContext); 794 const { dispatch, hooksProps, props, ...rest } = useContext(myContext);
794 const { currentContent, menuMap } = hooksProps; 795 const { currentContent, menuMap } = hooksProps;
795 796
796 - const teamInformation= commonFunc.showLocalMessage(props, 'teamInformation', '班组信息'); 797 + const teamInformation = commonFunc.showLocalMessage(props, 'teamInformation', '班组信息');
797 798
798 799
799 - const scheduledTask= commonFunc.showLocalMessage(props, 'scheduledTask', '计划任务'); 800 + const scheduledTask = commonFunc.showLocalMessage(props, 'scheduledTask', '计划任务');
800 801
801 - const productionExecution= commonFunc.showLocalMessage(props, 'productionExecution', '生产执行'); 802 + const productionExecution = commonFunc.showLocalMessage(props, 'productionExecution', '生产执行');
802 803
803 - const maintenanceRepair= commonFunc.showLocalMessage(props, 'maintenanceRepair', '维修保养'); 804 + const maintenanceRepair = commonFunc.showLocalMessage(props, 'maintenanceRepair', '维修保养');
804 805
805 - const queryTracing= commonFunc.showLocalMessage(props, 'queryTracing', '查询追踪'); 806 + const queryTracing = commonFunc.showLocalMessage(props, 'queryTracing', '查询追踪');
806 807
807 - const operationGuide= commonFunc.showLocalMessage(props, 'teamInformation', '操作指南'); 808 + const operationGuide = commonFunc.showLocalMessage(props, 'teamInformation', '操作指南');
808 809
809 const menuList = [ 810 const menuList = [
810 { 811 {
@@ -984,9 +985,8 @@ const SystemFunComponent = () =&gt; { @@ -984,9 +985,8 @@ const SystemFunComponent = () =&gt; {
984 value.iFlag = iFlag; 985 value.iFlag = iFlag;
985 } 986 }
986 987
987 - const url = `${  
988 - commonConfig.server_host  
989 - }procedureCall/doGenericProcedureCall?sModelsId=${sModelsId}`; 988 + const url = `${commonConfig.server_host
  989 + }procedureCall/doGenericProcedureCall?sModelsId=${sModelsId}`;
990 const returnData = (await commonServices.postValueService( 990 const returnData = (await commonServices.postValueService(
991 token, 991 token,
992 value, 992 value,
@@ -1003,7 +1003,7 @@ const SystemFunComponent = () =&gt; { @@ -1003,7 +1003,7 @@ const SystemFunComponent = () =&gt; {
1003 onOk() { 1003 onOk() {
1004 handleProcedureCall(params, 1); 1004 handleProcedureCall(params, 1);
1005 }, 1005 },
1006 - onCancel() {} 1006 + onCancel() { }
1007 }); 1007 });
1008 } else if (code === -8) { 1008 } else if (code === -8) {
1009 Modal.info({ 1009 Modal.info({
@@ -1060,9 +1060,8 @@ const SystemFunComponent = () =&gt; { @@ -1060,9 +1060,8 @@ const SystemFunComponent = () =&gt; {
1060 value.iFlag = iFlag; 1060 value.iFlag = iFlag;
1061 } 1061 }
1062 1062
1063 - const url = `${  
1064 - commonConfig.server_host  
1065 - }procedureCall/doGenericProcedureCall?sModelsId=${sModelsId}`; 1063 + const url = `${commonConfig.server_host
  1064 + }procedureCall/doGenericProcedureCall?sModelsId=${sModelsId}`;
1066 const returnData = (await commonServices.postValueService( 1065 const returnData = (await commonServices.postValueService(
1067 token, 1066 token,
1068 value, 1067 value,
@@ -1079,7 +1078,7 @@ const SystemFunComponent = () =&gt; { @@ -1079,7 +1078,7 @@ const SystemFunComponent = () =&gt; {
1079 onOk() { 1078 onOk() {
1080 handleProcedureCall1(params, 1); 1079 handleProcedureCall1(params, 1);
1081 }, 1080 },
1082 - onCancel() {} 1081 + onCancel() { }
1083 }); 1082 });
1084 } else if (code === -8) { 1083 } else if (code === -8) {
1085 Modal.info({ 1084 Modal.info({
@@ -1137,14 +1136,14 @@ const SystemFunComponent = () =&gt; { @@ -1137,14 +1136,14 @@ const SystemFunComponent = () =&gt; {
1137 1136
1138 const getSystemFunContent = () => { 1137 const getSystemFunContent = () => {
1139 const userinfo = commonUtils.getAppData("userinfo"); 1138 const userinfo = commonUtils.getAppData("userinfo");
1140 - const ModifyPassword = commonFunc.showLocalMessage(props, 'ModifyPassword','修改密码');/* 修改密码 */ 1139 + const ModifyPassword = commonFunc.showLocalMessage(props, 'ModifyPassword', '修改密码');/* 修改密码 */
1141 const faceCollection = commonFunc.showLocalMessage(props, 'faceCollection', '人脸采集'); 1140 const faceCollection = commonFunc.showLocalMessage(props, 'faceCollection', '人脸采集');
1142 const moreFunctions = commonFunc.showLocalMessage(props, 'moreFunctions', '更多功能'); 1141 const moreFunctions = commonFunc.showLocalMessage(props, 'moreFunctions', '更多功能');
1143 const Logout = commonFunc.showLocalMessage(props, 'Logout', '退出登录'); 1142 const Logout = commonFunc.showLocalMessage(props, 'Logout', '退出登录');
1144 - const shutDown= commonFunc.showLocalMessage(props, 'shutDown', '关机');  
1145 - const resetDailyReport= commonFunc.showLocalMessage(props, 'resetDailyReport', '关机');  
1146 - const switchToManual= commonFunc.showLocalMessage(props, 'switchToManual', '切换手动');  
1147 - const SwitchAuto= commonFunc.showLocalMessage(props, 'SwitchAuto', '切换自动'); 1143 + const shutDown = commonFunc.showLocalMessage(props, 'shutDown', '关机');
  1144 + const resetDailyReport = commonFunc.showLocalMessage(props, 'resetDailyReport', '关机');
  1145 + const switchToManual = commonFunc.showLocalMessage(props, 'switchToManual', '切换手动');
  1146 + const SwitchAuto = commonFunc.showLocalMessage(props, 'SwitchAuto', '切换自动');
1148 1147
1149 1148
1150 const { bPlcSd } = userinfo; 1149 const { bPlcSd } = userinfo;
src/mes/scheduledTasks/machineTasks/index.js
@@ -374,7 +374,7 @@ @@ -374,7 +374,7 @@
374 const result = await new Promise(resolve => { 374 const result = await new Promise(resolve => {
375 Modal.confirm({ 375 Modal.confirm({
376 title: FriendlyReminder, 376 title: FriendlyReminder,
377 - content: <div>请选择要变更的状态</div>, 377 + content: <div>{sLanguage === "sEnglish" ? "Please select the status you want to change" : "请选择要变更的状态"}</div>,
378 okText: finishConstruction, 378 okText: finishConstruction,
379 cancelText: pause, 379 cancelText: pause,
380 onOk() { 380 onOk() {