From 4c70d9f0656bbec48fa619f2ec9aa0ee12fca2c1 Mon Sep 17 00:00:00 2001 From: wu <731351411@qq.com> Date: 星期一, 04 十二月 2023 09:04:51 +0800 Subject: [PATCH] Merge branch 'master' of http://10.153.19.25:10101/r/CanadaMes --- CanadaMes-ui/src/views/Electrical/Parameter2.vue | 218 ++++++++++++++++++++++++++++++++++++++++++----------- 1 files changed, 171 insertions(+), 47 deletions(-) diff --git a/CanadaMes-ui/src/views/Electrical/Parameter2.vue b/CanadaMes-ui/src/views/Electrical/Parameter2.vue index 8856286..bfb3046 100644 --- a/CanadaMes-ui/src/views/Electrical/Parameter2.vue +++ b/CanadaMes-ui/src/views/Electrical/Parameter2.vue @@ -7,8 +7,8 @@ }}</router-link> <router-link to="/Electrical/Action" tag="el-button" type="text" active-class="blue-button">{{ $t('Action') }}</router-link> - <router-link to="/Electrical/Parameter" tag="el-button" type="text" active-class="blue-button">{{ $t('Parameter') - }}</router-link> + <!-- <router-link to="/Electrical/Parameter" tag="el-button" type="text" active-class="blue-button">{{ $t('Parameter') + }}</router-link> --> <router-link to="/Electrical/Sign" tag="el-button" type="text" active-class="blue-button">{{ $t('Sign') }}</router-link> <router-link to="/Electrical/Servomanual" tag="el-button" type="text" active-class="blue-button">{{ $t('Servo Manual') @@ -16,7 +16,7 @@ </el-breadcrumb> <el-breadcrumb separator-class="el-icon-arrow-right" class="el-breadcrumb"> - <router-link to="/Electrical/Servomanualone" tag="el-button" type="text" active-class="blue-button">{{ $t('Servomanualone') + <router-link to="/Electrical/Servomanualone" tag="el-button" type="text" @click="closeSocket()" active-class="blue-button">{{ $t('Servomanualone') }}</router-link> <router-link to="/Electrical/Parameter1" tag="el-button" type="text" active-class="blue-button">{{ $t('Parameter1') }}</router-link> @@ -24,13 +24,25 @@ }}</router-link> <router-link to="/Electrical/Positioning1" tag="el-button" type="text" active-class="blue-button">{{ $t('Positioning1') }}</router-link> - <router-link to="/Electrical/Positioning2" tag="el-button" type="text" active-class="blue-button">{{ $t('Positioning2') + <router-link to="/Electrical/Positioning2" tag="el-button" type="text" active-class="blue-button">{{ $t('Positioning2') }}</router-link> + <router-link to="/Electrical/ManualonePosition" tag="el-button" type="text" active-class="blue-button">{{ + $t('ManualonePosition') + }}</router-link> + <router-link to="/Electrical/ManualonePosition2" tag="el-button" type="text" active-class="blue-button">{{ + $t('ManualonePosition2') + }}</router-link> + <router-link to="/Electrical/AutomaticParameterSetting" tag="el-button" type="text" active-class="blue-button">{{ + $t('AutomaticParameterSetting') + }}</router-link> + <router-link to="/Electrical/ManualJog" tag="el-button" type="text" active-class="blue-button">{{ + $t('ManualJog') + }}</router-link> </el-breadcrumb> <el-row :gutter="40"> <el-col :span="6" v-for="(dataGroup, groupIndex) in jsonData" :key="groupIndex" style="margin-bottom: -20px;"> - <el-card class="json-block" style="width:260px;margin-bottom: 2px;"> + <el-card class="json-block" style="width:300px;margin-bottom: 2px;"> <div class="button-row" style="display: flex; justify-content: space-between;"> <div v-for="(item, itemIndex) in dataGroup" :key="itemIndex"> <span v-if="item.title" :name="item.title.name" class="action-button" >{{ item.title.name }}</span> @@ -39,16 +51,27 @@ <div class="button-row" style="display: flex; justify-content: space-between;"> <div v-for="(item, itemIndex) in dataGroup" :key="itemIndex"> - <el-button v-if="item.button" :name="item.button.name" v-model="item.button.value" class="action-button" + <el-button v-if="item.button && language==='en-US'" :name="item.button.name" v-model="item.button.value" class="action-button" @click="updateButtonValue(dataGroup, itemIndex);submitDataToBackend(item.button.name)" - :class="{ 'green-button': item.button.value === 0 && item.button.name !== '娓呴櫎ID','red-button': item.button.value === 2 && item.button.name !== '娓呴櫎ID' ,'yellow-button': item.button.value === 1 && item.button.name !== '娓呴櫎ID' }">{{ item.button.name }}</el-button> - </div> + :class="{ 'green-button': (item.button.value === 0 && item.button.name !== 'Clear ID' ) ,'red-button': item.button.value === 2 && (item.button.name !== 'Clear ID' ) ,'yellow-button': item.button.value === 1 && (item.button.name !== 'Clear ID' ) }">{{ item.button.name }}</el-button> + + + <el-button v-if="item.button && language==='zh-CN'" :name="item.button.name" v-model="item.button.value" class="action-button" + @click="updateButtonValue(dataGroup, itemIndex);submitDataToBackend(item.button.name)" + :class="{ 'green-button': (item.button.value === 0 && item.button.name !== '娓呴櫎ID' ) ,'red-button': item.button.value === 2 && (item.button.name !== '娓呴櫎ID' ) ,'yellow-button': item.button.value === 1 && (item.button.name !== '娓呴櫎ID' ) }">{{ item.button.name }}</el-button> + +</div> </div> <div v-for="(item, itemIndex) in dataGroup" :key="itemIndex" class="item-container"> <div class="item-row"> - <span class="name" style="width:150px;">{{ item.name }}</span> - <el-input v-if="item.type === '0'" v-model="item.value" readonly="readonly" style="width:400px;" class="input-box"></el-input> + + <span class="name" v-if="groupIndex === 13" style="width:250px;">{{ item.name }}</span> + <span class="name" v-else style="width:150px;">{{ item.name }}</span> + <el-input v-if="item.type === '0'" v-model="item.value" readonly="readonly" style="width:400px;" class="input-box"></el-input> + + + </div> </div> @@ -63,6 +86,10 @@ import LanguageMixin from '../../lang/LanguageMixin' import data from '../../configuration/parameter2' let socket; + + // window.onload=function(){ + // console.log("44"); + // } export default { destroyed() { socket.close(); @@ -72,45 +99,86 @@ data() { return { jsonData: data , + inputValue: '', + language:this.$i18n.locale, // 鍔犺浇鏁翠釜data.json鏂囦欢浣滀负jsonData } }, - created () { - this.initWebSocket(); - // console.log('jsonData:', this.jsonData); - + + activated(){ + + this.initWebSocket (); + this.filteredData(); + const language = this.$i18n.locale; + console.log(language); + if (language === 'en-US') { + this.replaceChineseWithEnglish(); + } + this.$forceUpdate(); }, + + + computed: { + + +}, + + + methods: { - updateButtonValue(dataGroup, itemIndex) { - // 灏嗗綋鍓嶆寜閽殑鍊艰涓�1 + filteredData() { + return this.jsonData.map(item => { + const filteredValue = item.map(obj => { + if (typeof obj.button !== 'undefined' && typeof obj.button.value !== 'undefined') { + obj.button.value = obj.button.value.toString().replace(/[^a-zA-Z0-9]/g, ''); + } else if (typeof obj.value !== 'undefined') { + obj.value = obj.value.toString().replace(/[^a-zA-Z0-9]/g, ''); + } + return obj; + }); + return filteredValue; + }); + }, + updateButtonValue(dataGroup, itemIndex) { + if (dataGroup[itemIndex].button.value === 1) { + // 濡傛灉褰撳墠鎸夐挳鐨勫�兼槸 0锛屽皢鍏惰涓� 1 + this.$set(dataGroup[itemIndex].button, 'value', 0); + } else { + // 鍚﹀垯灏嗗叾璁句负 0 this.$set(dataGroup[itemIndex].button, 'value', 1); - - - // 灏嗗叾浠栨寜閽殑鍊煎叏閮ㄨ涓�0 - + } }, submitDataToBackend(currentButtonName) { - if (currentButtonName === '娓呴櫎ID') { - const inputData = this.jsonData.map(dataGroup => { - return dataGroup.map(item => { - if (item.type === '3') { - return { value: item.button.value }; - } - return null; - }); - }); - const values = inputData.flat().filter(item => item !== null).map(item => item.value); - const jsonObject = { data: values }; + + + if (currentButtonName === '娓呴櫎ID' || currentButtonName === 'Clear ID' ) { + const data2 = []; + const resetButtonValues = this.jsonData.map(item => { + const buttonItem = item.find(subItem => subItem.button && ['娓呴櫎ID', 'Clear ID'].includes(subItem.button.name)); + + + return buttonItem ? buttonItem.button.value : null; + }).filter(value => value !== null); + + // 灏嗗緱鍒扮殑鍊兼坊鍔犲埌 data 鏁扮粍涓� + data2.push(resetButtonValues.flat()); - // 鎻愪氦鏁版嵁鍒板悗绔� - const jsonString = JSON.stringify(jsonObject); - console.log('Type涓�3鐨剉alue:', jsonString); - socket?.send(jsonString); - window.location.reload(); - } + // 鍦� data2 鏁扮粍鍓嶉潰娣诲姞涓や釜绌烘暟缁� + + + // 鍒涘缓 jsonObject2 瀵硅薄锛屽苟娣诲姞 data2 灞炴�� + const jsonObject2 = { data: data2 }; + + // 鎻愪氦鏁版嵁鍒板悗绔� + const jsonString2 = JSON.stringify(jsonObject2); + console.log('鎵�鏈塗ype涓�0鐨剉alue:', jsonString2); + socket?.send(jsonString2); + + +} }, initWebSocket () { @@ -143,13 +211,13 @@ let obj = JSON.parse(msg.data); const jsonData2 = this.jsonData; - + // console.log(jsonData2); // 濡傛灉榧犳爣涓嶅湪杈撳叆妗嗗唴锛屾洿鏂拌緭鍏ユ鐨勫�� // this.submitDataToBackend() const parms = obj.params; // const xiaoche = obj.params[3]; - // console.log(parms); + // console.log(obj); //娓呴櫎id for (let i = 0; i < jsonData2.length; i++) { let arr = jsonData2[i]; @@ -157,23 +225,45 @@ let obj = arr[j]; if (obj.type === '3') { obj.button.value = parms[0][i]; + // console.log(obj.button.value); } } } //ID - for (let i = 0; i < jsonData2.length; i++) { +const specialChars = /[^\w\s]/g; // 姝e垯琛ㄨ揪寮忓尮閰嶉潪瀛楁瘝銆佹暟瀛椼�佷笅鍒掔嚎鍜岀┖鏍肩殑瀛楃 + +for (let i = 0; i < jsonData2.length; i++) { let arr = jsonData2[i]; for (let j = 0; j < arr.length; j++) { let obj = arr[j]; - if (obj.type === '0') { - obj.value = parms[1][i]; - } - } - + if (obj.type === '0') { + if (parms[1] && parms[1][i]) { + obj.value = parms[1][i].replace(specialChars, ''); + // console.log(obj.value); + } + if (obj.name === 'ID2') { + obj.value = parms[1][7].replace(specialChars, ''); // 灏咺D2瀵瑰簲鐨勫�艰祴涓簆arms[1][6] + } + + if (obj.name === 'A02ID') { + obj.value = parms[1][8].replace(specialChars, ''); // 灏咺D2瀵瑰簲鐨勫�艰祴涓簆arms[1][6] + } + if (obj.name === 'B01ID') { + obj.value = parms[1][9].replace(specialChars, ''); // 灏咺D2瀵瑰簲鐨勫�艰祴涓簆arms[1][6] + } + if (obj.name === 'B02ID') { + obj.value = parms[1][10].replace(specialChars, ''); // 灏咺D2瀵瑰簲鐨勫�艰祴涓簆arms[1][6] + } + + } + + } +} + //鎵嬪姩鐘舵�� for (let i = 0; i < jsonData2.length; i++) { let arr = jsonData2[i]; @@ -187,10 +277,19 @@ } //鎵弿鏋壂鐮佺殑ID + jsonData2.forEach((item) => { item.forEach((subItem) => { if (subItem.read === 66) { - subItem.value = parms[3][0]; + subItem.value = parms[3][0].replace(specialChars, ''); + } + }); +}); + +jsonData2.forEach((item) => { + item.forEach((subItem) => { + if (subItem.read === 666) { + subItem.value = parms[3][1].replace(specialChars, ''); } }); }); @@ -235,10 +334,35 @@ socket.onerror = function () { console.log("websocket鍙戠敓浜嗛敊璇�"); }; - + + this.$router.afterEach(function(){ + socket.close(); + }) } }, + replaceChineseWithEnglish() { + + + const nameMap= this.$t('langParameter2') + this.jsonData = this.jsonData.map((item) => { +return item.map((obj) => { +if (obj.name) { + const newName = nameMap[obj.name] || obj.name; + return { ...obj, name: newName }; +} else if (obj.button && obj.button.name) { + const newName = nameMap[obj.button.name] || obj.button.name; + return { ...obj, button: { ...obj.button, name: newName } }; +} else { + return obj; +} +}); +}); + + +// console.log(this.jsonData) + +}, send () { -- Gitblit v1.8.0