From e0a31f7013898540948f4d4d86ade1a5414b44d4 Mon Sep 17 00:00:00 2001 From: pengwei <2071057782@qq.com> Date: 星期四, 20 三月 2025 17:32:42 +0800 Subject: [PATCH] 优化数据大屏页面 --- 项目代码/client/src/utils/index.js | 2 项目代码/client/package.json | 2 项目代码/client/src/views/tts/TheCurrentJob/Startjob.vue | 263 ++++++++++++++++++++++++++++++++++++++++--- 项目代码/client/package-lock.json | 20 ++ 项目代码/client/src/api/newapi/Thecurrentjob.js | 3 项目代码/client/src/views/tts/CraftCenter/Craftcenter.vue | 65 ++++++---- 项目代码/client/dist.7z | 0 7 files changed, 309 insertions(+), 46 deletions(-) diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/client/dist.7z" "b/\351\241\271\347\233\256\344\273\243\347\240\201/client/dist.7z" index 7a2aef6..5e6238a 100644 --- "a/\351\241\271\347\233\256\344\273\243\347\240\201/client/dist.7z" +++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/client/dist.7z" Binary files differ diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/client/package-lock.json" "b/\351\241\271\347\233\256\344\273\243\347\240\201/client/package-lock.json" index f953880..889b8b7 100644 --- "a/\351\241\271\347\233\256\344\273\243\347\240\201/client/package-lock.json" +++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/client/package-lock.json" @@ -17,6 +17,8 @@ "element-plus": "^2.9.6", "pinia": "^2.3.0", "scss": "^0.2.4", + "three": "^0.174.0", + "three-orbit-controls": "^82.1.0", "vue": "^3.5.13", "vue-3d-model": "2.0.0-alpha.4", "vue-chartjs": "^5.3.2", @@ -8145,9 +8147,15 @@ } }, "node_modules/three": { - "version": "0.141.0", - "resolved": "https://registry.npmmirror.com/three/-/three-0.141.0.tgz", - "integrity": "sha512-JaSDAPWuk4RTzG5BYRQm8YZbERUxTfTDVouWgHMisS2to4E5fotMS9F2zPFNOIJyEFTTQDDKPpsgZVThKU3pXA==", + "version": "0.174.0", + "resolved": "https://registry.npmmirror.com/three/-/three-0.174.0.tgz", + "integrity": "sha512-p+WG3W6Ov74alh3geCMkGK9NWuT62ee21cV3jEnun201zodVF4tCE5aZa2U122/mkLRmhJJUQmLLW1BH00uQJQ==", + "license": "MIT" + }, + "node_modules/three-orbit-controls": { + "version": "82.1.0", + "resolved": "https://registry.npmmirror.com/three-orbit-controls/-/three-orbit-controls-82.1.0.tgz", + "integrity": "sha512-hIWxGoHqIbeq0S2lA14m9VRzo7SamKKVJ9mKMT/rdh0Qa3nV5Umvhlx4zsHl0Y6jLKVZhjatJfeD/K08Tr/g4A==", "license": "MIT" }, "node_modules/through": { @@ -8824,6 +8832,12 @@ "vue": ">=3.0.0" } }, + "node_modules/vue-3d-model/node_modules/three": { + "version": "0.141.0", + "resolved": "https://registry.npmmirror.com/three/-/three-0.141.0.tgz", + "integrity": "sha512-JaSDAPWuk4RTzG5BYRQm8YZbERUxTfTDVouWgHMisS2to4E5fotMS9F2zPFNOIJyEFTTQDDKPpsgZVThKU3pXA==", + "license": "MIT" + }, "node_modules/vue-chartjs": { "version": "5.3.2", "resolved": "https://registry.npmmirror.com/vue-chartjs/-/vue-chartjs-5.3.2.tgz", diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/client/package.json" "b/\351\241\271\347\233\256\344\273\243\347\240\201/client/package.json" index 3e6cff4..f398f33 100644 --- "a/\351\241\271\347\233\256\344\273\243\347\240\201/client/package.json" +++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/client/package.json" @@ -18,6 +18,8 @@ "element-plus": "^2.9.6", "pinia": "^2.3.0", "scss": "^0.2.4", + "three": "^0.174.0", + "three-orbit-controls": "^82.1.0", "vue": "^3.5.13", "vue-3d-model": "2.0.0-alpha.4", "vue-chartjs": "^5.3.2", diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/client/src/api/newapi/Thecurrentjob.js" "b/\351\241\271\347\233\256\344\273\243\347\240\201/client/src/api/newapi/Thecurrentjob.js" index dc25265..a67e21f 100644 --- "a/\351\241\271\347\233\256\344\273\243\347\240\201/client/src/api/newapi/Thecurrentjob.js" +++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/client/src/api/newapi/Thecurrentjob.js" @@ -26,3 +26,6 @@ //鑾峰彇鍔涚煩鍊� export const GetTorque = (data) => http.post(`/api/TorqueOp/Checkvalue`, data) + +//娣诲姞鎵姏鍊� +export const AddTorque = (data) => http.post(`/api/TorqueOp/AddData`, data) diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/client/src/utils/index.js" "b/\351\241\271\347\233\256\344\273\243\347\240\201/client/src/utils/index.js" index 540d4eb..83bc025 100644 --- "a/\351\241\271\347\233\256\344\273\243\347\240\201/client/src/utils/index.js" +++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/client/src/utils/index.js" @@ -1,7 +1,7 @@ import { dayjs } from "element-plus"; // import XLSX from "xlsx"; //瀵煎叆xlsx -export const baseUrl = "http://192.168.0.80:5000/" +export const baseUrl = "http://115.159.85.185:9098/" // http://115.159.85.185:9091/ // http://192.168.0.80:5000/ // 115.159.85.185:9091 diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/client/src/views/tts/CraftCenter/Craftcenter.vue" "b/\351\241\271\347\233\256\344\273\243\347\240\201/client/src/views/tts/CraftCenter/Craftcenter.vue" index 27e58a9..ad852c4 100644 --- "a/\351\241\271\347\233\256\344\273\243\347\240\201/client/src/views/tts/CraftCenter/Craftcenter.vue" +++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/client/src/views/tts/CraftCenter/Craftcenter.vue" @@ -446,13 +446,13 @@ </el-select> </el-form-item ></el-col> <el-col :span="8" - ><el-form-item prop="sort"> + ><el-form-item prop="setnum"> <template #label> <span style="font-size: 0.88rem; color: black">鎺掑簭</span> </template> <el-input size="small" - v-model="form.setpNum" + v-model.number="form.setnum" placeholder="璇疯緭鍏�" style="height: 2rem" /> </el-form-item @@ -461,9 +461,6 @@ ><el-form-item prop="tools"> <template #label> <div style="display: flex; align-items: center"> - <span style="display: flex; color: red; margin-right: 0.25rem" - >*</span - > <span style="font-size: 0.88rem; color: black">宸ュ叿</span> </div> </template> @@ -484,6 +481,20 @@ :label="item.toolName" :value="item" /> </el-select></el-form-item + ></el-col> + </el-row> + <el-row :gutter="10"> + <el-col :span="8" + ><el-form-item prop="nodal"> + <template #label> + <span style="font-size: 0.88rem; color: black">搴忓彿</span> + </template> + <el-input + size="small" + v-model.number="form.nodal" + placeholder="璇疯緭鍏�" + style="height: 2rem" + /> </el-form-item ></el-col> </el-row> <!-- <el-row> @@ -560,9 +571,6 @@ <el-form-item prop="checkList"> <template #label> <div style="display: flex; align-items: center"> - <span style="display: flex; color: red; margin-right: 0.25rem" - >*</span - > <span style="font-size: 0.88rem; color: black">閫夋嫨濂楃瓛</span> </div> </template> @@ -770,24 +778,24 @@ craftstype: [ { required: true, message: "璇烽�夋嫨宸ヨ壓绫诲瀷", trigger: "change" }, ], - nodal: [{ required: true, message: "璇烽�夋嫨鑺傜偣", trigger: "change" }], craftsStep: [{ required: true, message: "璇疯緭鍏ュ伐鑹烘楠�", trigger: "blur" }], craftContent: [ { required: true, message: "璇疯緭鍏ュ伐鑹哄唴瀹�", trigger: "blur" }, ], - sleeveNum: [{ required: true, message: "璇疯緭鍏ュ绛掓暟閲�", trigger: "blur" }], + nodal: [{ required: true, message: "璇疯緭鍏ュ簭鍙�", trigger: "blur" }], + setnum: [{ required: true, message: "璇疯緭鍏ユ帓搴忓彿", trigger: "blur" }], }); +// isinvolved: "", //鏄惁娑夊強 //鏂板宸ヨ壓/缂栬緫宸ヨ壓琛ㄥ崟鏁版嵁 const form = ref({ craftstype: "", //宸ヨ壓绫诲瀷锛堢粍锛� - nodal: 0, //鑺傜偣 + nodal: null, //鑺傜偣 craftsStep: "", //宸ヨ壓姝ラ craftContent: "", //宸ヨ壓鍐呭 sleeveNum: "", //濂楃瓛鏁伴噺 tools: "", //宸ュ叿 - isinvolved: "", //鏄惁娑夊強 - setpNum: "", + setnum: null, torqueOne: 0, torqueOneQuantity: 0, articleOne: "", @@ -802,6 +810,7 @@ : "", createDate: formatTime(new Date()), }); + const props = { multiple: true }; const userName = ref(""); @@ -914,25 +923,33 @@ const addprocess = async (formEl) => { userName.value = JSON.parse(localStorage.getItem("user")).userName; let string = ""; - if (tools.value.length == 0) { - ElMessage({ - message: "璇烽�夋嫨宸ュ叿", - type: "warning", - }); - return; - } + // if (tools.value.length == 0) { + // ElMessage({ + // message: "璇烽�夋嫨宸ュ叿", + // type: "warning", + // }); + // return; + // } string = tools.value .map((item) => { return item.toolName; }) .join(","); - if (checkList.value.length == 0) { + // if (checkList.value.length == 0) { + // ElMessage({ + // message: "璇烽�夋嫨濂楃瓛", + // type: "warning", + // }); + // return; + // } + if (form.value.nodal == 0) { ElMessage({ - message: "璇烽�夋嫨濂楃瓛", + message: "搴忓彿鏈�灏忎负1", type: "warning", }); return; } + form.value.articleOneid = checkList.value[0].id; form.value.articleOne = checkList.value[0].num; form.value.articleTowid = checkList.value[1].id; @@ -941,7 +958,7 @@ form.value.tools = string; form.value.craftstype = title.value; form.value.torqueOneQuantity = tools.value.length; - form.value.id = form.value.craftID ? form.value.craftID : ""; + form.value.id = form.value.craftID ? form.value.craftID : 0; console.log(form.value); if (!formEl) return; @@ -997,7 +1014,7 @@ //鍒嗛〉璇锋眰鍙傛暟 const pageQuery = ref({ page: 1, //褰撳墠椤甸潰 - rows: 10, //姣忛〉鏄剧ず鏉℃暟 + rows: 100, //姣忛〉鏄剧ず鏉℃暟 order: "desc", //鎺掑簭鏂瑰紡 sort: "", //鎺掑簭瀛楁 wheres: "", //鏉′欢鏌ヨ diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/client/src/views/tts/TheCurrentJob/Startjob.vue" "b/\351\241\271\347\233\256\344\273\243\347\240\201/client/src/views/tts/TheCurrentJob/Startjob.vue" index 7c7dd51..4ef70a6 100644 --- "a/\351\241\271\347\233\256\344\273\243\347\240\201/client/src/views/tts/TheCurrentJob/Startjob.vue" +++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/client/src/views/tts/TheCurrentJob/Startjob.vue" @@ -1,7 +1,7 @@ <template> <div class="Startjob"> - <div class="rect"> - <div class="rect-top" style="position: relative"> + <div class="rect" style="position: relative"> + <div class="rect-top"> <img src="@/assets/TheCurrentJob/left.png" alt="" /> <img style="margin-left: -1.5rem; margin-right: 4rem" @@ -111,6 +111,7 @@ >浠诲姟璇︽儏锛�</span > <span + ref="spanHide1" @click="showDetail(!contentShow1)" style="color: #1ac2f7; font-size: 0.88rem; cursor: pointer" >鏌ョ湅</span @@ -192,6 +193,7 @@ > <template #default="scope"> <span + ref="spanHide" @click="showDetail1(!contentShow)" style=" color: #1ac2f7; @@ -277,27 +279,27 @@ </div> </div> </div> - <div class="rect-item3"> - <div style="overflow: hidden"> + <div class="rect-item3" style="position: relative"> + <div style="overflow: hidden; padding-bottom: 1rem"> <img src="@/assets/TheCurrentJob/icon/icon.png" alt="" /> <span style="color: rgba(26, 201, 255, 1); font-size: 0.88rem" >鍔涚煩鍊兼樉绀�</span > - - <el-scrollbar> + <el-scrollbar ref="scrollbarRef" height="130rpx"> <div + ref="innerRef" style=" display: flex; justify-content: center; flex-direction: column; padding-left: 1.5rem; padding-top: 0.5rem; - padding-bottom: 1.5rem; + padding-bottom: 1rem; box-sizing: border-box; " > <span - style="color: #ffffff; font-size: 1rem; margin: 0.5rem 0" + style="color: #ffffff; font-size: 1rem; margin: 0.4rem 0" v-for="(item, index) in Torque" :key="item.id" >{{ @@ -305,7 +307,44 @@ }}</span > </div> + <el-input + v-if="isTorque" + v-model.number="torqueFrom.torqueSize" + style="font-size: 0.75rem; height: 2rem" + placeholder="璇疯緭鍏ユ壄鍔涘��" + /> + <!-- @blur="addTorque" --> </el-scrollbar> + </div> + <div + style=" + position: absolute; + bottom: -2.3rem; + left: -0.1rem; + width: 100%; + " + > + <el-button + v-if="!isTorque" + type="primary" + style="font-size: 0.75rem; width: 100%; height: 2rem" + @click="showTorque" + >鎵嬪姩妯℃嫙鎵姏鍊�</el-button + > + <div v-else style="display: flex; justify-content: space-between"> + <el-button + type="primary" + style="font-size: 0.75rem; width: 100%; height: 2rem" + @click="addTorque" + >纭</el-button + > + <el-button + type="primary" + style="font-size: 0.75rem; width: 100%; height: 2rem" + @click="isTorque = false" + >鍙栨秷</el-button + > + </div> </div> </div> </div> @@ -316,13 +355,14 @@ display: flex; justify-content: center; align-items: center; - z-index: 999; position: absolute; - top: 42%; - left: 15%; + top: 33%; + left: 50%; + transform: translateX(-50%); " > - <model-gltf + <div ref="container" style="width: 100%; height: 100%"></div> + <!-- <model-gltf :width="400" :height="400" :backgroundAlpha="0" @@ -331,14 +371,17 @@ :controlsOptions="{ enableZoom, }" - /> + /> --> </div> <div style=" display: flex; justify-content: center; align-items: center; - margin-top: 30rem; + position: absolute; + bottom: 5%; + left: 50%; + transform: translateX(-50%); " > <el-button @@ -409,7 +452,7 @@ </div> </template> <script setup> -import { ref, onMounted } from "vue"; +import { ref, onMounted, nextTick } from "vue"; import { GetScreenData, GetPre, @@ -417,11 +460,20 @@ Complete, GetTorque, ChangeStatus, + AddTorque, //娣诲姞鎵姏鍊兼帴鍙� } from "@/api/newapi/Thecurrentjob"; import { GetPageData } from "@/api/newapi/NjTask"; import { useRouter } from "vue-router"; import { ElMessage, ElMessageBox } from "element-plus"; import { ModelCollada, ModelGltf } from "vue-3d-model"; +import { formatTime } from "@/utils/index.js"; +import * as THREE from "three"; +import { OrbitControls } from "three/examples/jsm/controls/OrbitControls"; +import { GLTFLoader } from "three/examples/jsm/loaders/GLTFLoader"; //gltf + +const container = ref(null); + +let scene, camera, renderer, controls; const router = useRouter(); const gridData = ref([]); @@ -451,7 +503,26 @@ takeid: "", setnum: 0, }); + +//鎵姏鍊� +const torqueFrom = ref({ + creater: JSON.parse(localStorage.getItem("user")).userName, //褰撳墠鐧婚檰浜� + createDate: formatTime(new Date()), //褰撳墠鏃堕棿 + modifier: JSON.parse(localStorage.getItem("user")).userName, + modifyDate: formatTime(new Date()), + id: 0, + deviceCode: "", //璁惧缂栧彿 + takeId: "", //浠诲姟id + groupOp: "", //鐝粍 + processSte: 0, //褰撳墠姝ラ + torqueSize: null, //杈撳叆鐨勬壄鍔涘�� +}); + +const isTorque = ref(false); const flag = ref(false); + +const innerRef = ref(); +const scrollbarRef = ref(); //涓婁竴姝� const Previous = (val) => { from.value.group = info.value.grouptype; @@ -513,7 +584,6 @@ }; //鏌ョ湅鏁版嵁 const checko = () => { - console.log(info.value); GetPageData({ page: 1, rows: 10, @@ -532,7 +602,6 @@ }, ], }).then((res) => { - console.log(res); taskData.value = res.rows; }); }; @@ -542,6 +611,7 @@ setnum: "", }); const initData = () => { + console.log(obj.value); GetScreenData({ group: info.value.grouptype, takeid: info.value.njtakeid, @@ -566,8 +636,165 @@ }); }; +const showModel = () => { + scene = new THREE.Scene(); + console.log("model", window.innerWidth, window.innerHeight); + + // 鍒涘缓鐩告満 (瑙嗚锛屽楂樻瘮锛岃繎瑁佸壀闈紝杩滆鍓潰) + camera = new THREE.PerspectiveCamera(75, 1, 0.1, 1000); + + // 鍒涘缓娓叉煋鍣� + renderer = new THREE.WebGLRenderer({ + antialias: true, + alpha: true, + }); + renderer.setSize(400, 400); // 璁剧疆娓叉煋鍣ㄧ殑澶у皬 + container.value.appendChild(renderer.domElement); + scene.background = null; + // 鍔犺浇GLTF妯″瀷 + const loader = new GLTFLoader(); + loader.load( + "ThreeModel/test.gltf", + (gltf) => { + const model = gltf.scene; + + // 璁$畻妯″瀷鐨勮竟鐣屾骞惰幏鍙栦腑蹇冪偣 + const box = new THREE.Box3().setFromObject(model); + const center = box.getCenter(new THREE.Vector3()); + + // 鍒涘缓涓�涓┖瀵硅薄浣滀负鐖惰妭鐐癸紝灏嗗潗鏍囪酱鍜屾ā鍨嬫坊鍔犲埌杩欎釜鐖惰妭鐐� + const parent = new THREE.Object3D(); + scene.add(parent); + + // 灏嗘ā鍨嬬殑浣嶇疆璁剧疆涓烘ā鍨嬬殑杈圭晫妗嗙殑涓績锛岀‘淇濆畠灞呬腑 + model.position.sub(center); // 璁╂ā鍨嬬殑涓績涓庣埗鑺傜偣瀵归綈 + + // 灏嗗潗鏍囪酱鍔╂墜娣诲姞鍒扮埗鑺傜偣 + // const axesHelper = new THREE.AxesHelper(100); // 杞寸殑闀垮害涓�100 x,y,z鐨勯鑹插垎鍒负锛堢孩鑹诧紝缁胯壊锛岃摑鑹诧級 + // parent.add(axesHelper); // 灏嗗潗鏍囪酱娣诲姞鍒扮埗鑺傜偣 + + // 灏嗘ā鍨嬫坊鍔犲埌鐖惰妭鐐� + parent.add(model); + + // 纭繚妯″瀷鐨勫ぇ灏忛�傚綋锛屽彲浠ヨ皟鏁存ā鍨嬬殑澶у皬 + model.scale.set(1, 1, 1); // 濡傛灉闇�瑕佺殑璇濆彲浠ョ缉鏀炬ā鍨� + }, + undefined, + (error) => { + console.error("妯″瀷鍔犺浇澶辫触", error); + } + ); + + const metalMaterial = new THREE.MeshStandardMaterial({ + color: 0xaaaaaa, + metalness: 1, + roughness: 0.2, + }); + + const sphereGeometry = new THREE.SphereGeometry(1, 32, 32); + const metalSphere = new THREE.Mesh(sphereGeometry, metalMaterial); + scene.add(metalSphere); + + // 鍒涘缓鐏厜 + const light = new THREE.AmbientLight(0xffffff); // 鐜鍏夋槸涓�绉嶅叏灞�鎬х殑鍏夋簮锛屽潎鍖�鍦扮収浜暣涓満鏅紝骞朵笖涓嶄細鏈夐槾褰辨晥鏋� + scene.add(light); + + const directionalLight = new THREE.DirectionalLight(0xffffff, 3); //杩欐浠g爜鍒涘缓浜嗕竴涓櫧鑹层�佸己搴︿负 1 鐨勫钩琛屽厜婧� + directionalLight.position.set(300, 300, 300).normalize(); //骞跺皢鍏朵綅缃缃湪 (300, 300, 300)銆傜劧鍚庯紝閫氳繃 normalize() 鏂规硶锛岀‘淇濆钩琛屽厜婧愮殑鍏夌嚎浠ヤ竴涓爣鍑嗙殑鏂瑰悜鐓у皠 + scene.add(directionalLight); + + // 璁剧疆鐩告満鍒濆浣嶇疆锛坸,y,z锛� + camera.position.set(100, 100, 50); // 璁剧疆鐩告満浣嶇疆锛岀‘淇濆彲浠ョ湅鍒版ā鍨� + + // 鍒涘缓 OrbitControls 瀹炰緥 + controls = new OrbitControls(camera, renderer.domElement); + controls.enableZoom = false; + controls.enablePan = false; + controls.enableDamping = true; // 鍚敤闃诲凹鏁堟灉 + controls.dampingFactor = 0.25; // 闃诲凹绯绘暟 + controls.screenSpacePanning = false; // 绂佺敤灞忓箷绌洪棿骞崇Щ + controls.maxPolarAngle = Math.PI / 2; // 闄愬埗鐩告満鍨傜洿鏃嬭浆鐨勮搴︼紝闃叉缈昏浆 + controls.target.set(0, 0, 0); // 纭繚鐩告満濮嬬粓鍥寸粫鍦烘櫙涓績锛堟ā鍨嬩綅缃級 + controls.minDistance = 2; // 鏈�灏忚窛绂伙紝闃叉缂╁緱澶繎 + controls.maxDistance = 500; // 鏈�澶ц窛绂伙紝闃叉缂╁緱澶繙 + + // 娓叉煋寰幆 + function animate() { + requestAnimationFrame(animate); + + // 鏇存柊鎺у埗鍣� + controls.update(); // 鍙湁鍦ㄥ惎鐢ㄩ樆灏肩殑鏃跺�欓渶瑕佽皟鐢ㄦ鍑芥暟 + + // 娓叉煋鍦烘櫙 + renderer.render(scene, camera); + } + + animate(); + + // 鍝嶅簲绐楀彛澶у皬鍙樺寲; + window.addEventListener("resize", onWindowResize, false); + + function onWindowResize() { + console.log(window.innerWidth, window.innerHeight); + + camera.aspect = window.innerWidth / window.innerHeight; + camera.updateProjectionMatrix(); + renderer.setSize(window.innerWidth / 2, window.innerHeight / 2); + } +}; +const spanHide = ref(); +const spanHide1 = ref(); +const handleClickOutside = () => { + if (spanHide.value && !spanHide.value.contains(event.target)) { + contentShow.value = false; + } + if (spanHide1.value && !spanHide1.value.contains(event.target)) { + contentShow1.value = false; + } +}; +const showTorque = () => { + isTorque.value = true; + nextTick(() => { + if (innerRef.value.clientHeight > 150) { + scrollbarRef.value.setScrollTop(innerRef.value.clientHeight); + } + }); +}; +//娣诲姞鎵姏鍊� +const addTorque = () => { + torqueFrom.value.processSte = Torque.value[0].processSte; + torqueFrom.value.takeId = Torque.value[0].takeId; + torqueFrom.value.groupOp = Torque.value[0].groupOp; + if ( + torqueFrom.value.torqueSize == null || + torqueFrom.value.torqueSize == "" || + torqueFrom.value.torqueSize == 0 + ) { + ElMessage({ + message: "璇疯緭鍏ュ姏鐭╁��", + type: "warning", + }); + return; + } + + AddTorque(torqueFrom.value) + .then((res) => { + console.log("娣诲姞鎴愬姛", res); + ElMessage({ + message: "娣诲姞鎴愬姛", + type: "success", + }); + isTorque.value = false; + initData(); + }) + .catch((error) => { + console.error("娣诲姞澶辫触", error); + }); +}; onMounted(() => { + document.addEventListener("click", handleClickOutside); initData(); + showModel(); }); </script> <style lang="scss" scoped> @@ -625,7 +852,7 @@ .rect-center { display: flex; justify-content: space-between; - width: 170vh; + width: 80%; margin: 0 auto; padding: 0.8rem 2.15rem; box-sizing: border-box; -- Gitblit v1.9.3