From 6227519a1bd9007aedae11b77b0b3b1851837c38 Mon Sep 17 00:00:00 2001 From: 闫增涛 <1829501689@qq.com> Date: 星期四, 03 七月 2025 14:41:04 +0800 Subject: [PATCH] 仿真测试页面,模型三位投影模块布局1修改 --- src/views/simulation/testSimulation/detail.vue | 292 ++++++++++++++++++++++++++++++++++++++++++++++----------- 1 files changed, 233 insertions(+), 59 deletions(-) diff --git a/src/views/simulation/testSimulation/detail.vue b/src/views/simulation/testSimulation/detail.vue index a2f7589..18e4178 100644 --- a/src/views/simulation/testSimulation/detail.vue +++ b/src/views/simulation/testSimulation/detail.vue @@ -16,13 +16,42 @@ /> </div> <div class="back hover" @click="goBack"> - <el-icon ><ArrowLeftBold /></el-icon>杩斿洖 + <el-icon><ArrowLeftBold /></el-icon>杩斿洖 </div> </div> <div class="flex bodyBox"> <div class="modelBox"></div> + <div class="shadowBox"> <div id="shadowX"> + <div class="title" style="padding: 5px 10px;"> + <el-select + v-model="select_data" + placeholder="璇烽�夋嫨鎶曞奖浣嶇疆" + size="large" + style="width: 200px" + > + <el-option + v-for="item in options" + :key="item.value" + :label="item.label" + :value="item.value" + /> + </el-select> + <img + src="@/assets/images/icon/fullScreen.png" + @click="enlargeXDiv('true')" + v-if="enlargeX" + /> + <img + src="@/assets/images/icon/halfScreen.png" + @click="enlargeXDiv('false')" + v-else + /> + </div> + <div class="shadowX-body"></div> + </div> + <!-- <div id="shadowX"> <div class="title"> <span>X杞存姇褰�</span> <img @@ -69,7 +98,7 @@ /> </div> <div class="shadowZ-body"></div> - </div> + </div> --> </div> </div> <div class="flex operateBox" id="operateBox"> @@ -151,31 +180,39 @@ <el-dialog v-model="reportDialogForm" title="鐢熸垚娴嬭瘯鎶ュ憡" width="500"> <el-form :model="reportInfo"> <el-form-item label="鎶ュ憡鍚嶇О" label-width="100px"> - <el-input v-model="reportInfo.reportName" autocomplete="off" /> + <el-input v-model="reportInfo.TestName" autocomplete="off" /> + </el-form-item> + <el-form-item label="澶囨敞" label-width="100px"> + <el-input + v-model="reportInfo.ModelRemarks" + :rows="2" + type="textarea" + placeholder="璇疯緭鍏�..." + /> </el-form-item> <el-form-item label="娴嬭瘯鏃堕棿" label-width="100px"> - <el-input v-model="reportInfo.testTime" autocomplete="off" disabled/> + <el-input v-model="reportInfo.testTime" autocomplete="off" disabled /> </el-form-item> </el-form> <template #footer> <div class="dialog-footer"> - <el-button @click="reportDialogForm = false">鍚�</el-button> - <el-button type="primary" @click="reportDialogForm = false"> - 鏄� - </el-button> + <el-button @click="backList">鍚�</el-button> + <el-button type="primary" @click="generateTestReport"> 鏄� </el-button> </div> </template> </el-dialog> </template> <script setup lang="ts"> -import { ref, reactive,onMounted } from "vue"; +import { ref, reactive, onMounted, inject } from "vue"; +import { useRoute, useRouter } from "vue-router"; const name = ref("椋炶穬鍣ㄦ暣妯″瀷"); -const reportDialogForm = ref(false) +const reportDialogForm = ref(false); const reportInfo = reactive({ - reportName:'', - testTime: '', -}) + TestName: "", + testTime: "", + ModelRemarks: "", +}); const enlarge = ref(true); const enlargeX = ref(true); const enlargeY = ref(true); @@ -186,20 +223,156 @@ const operate = ref(true); const instructList = ref([]); const logList = ref([]); +const typeInfo = ref(); +const MG: any = inject("MG"); +const toolClass: any = inject("toolClass"); +const route = useRoute(); -const goBack =()=>{ +import { curStoreInfo } from "@/store/index"; +import { ElMessage } from "element-plus"; +import { label } from "three/tsl"; +const seleStore = curStoreInfo(); +const router = useRouter(); +onMounted(() => { + getType(); +}); +const select_data = ref<any>('x'); +const options = reactive<any[]>([ + { + value: "x", + label: "x杞存姇褰�", + }, + { + value: "y", + label: "y杞存姇褰�", + }, + { + value: "z", + label: "z杞存姇褰�", + }, +]); + +//鑾峰彇绫诲瀷 +const getType = async () => { + const type = await MG.dps5.GetTypeByRefCode({ + refCodes: ["TestReport"], + }); + const typeData = toolClass.handleTypeList(type); + console.log(typeData); + + typeInfo.value = typeData[0]; +}; + +const goBack = () => { var time = new Date(Date.now()); - var year = time.getFullYear(); - var month = time.getMonth()+1; - var day = time.getDate(); - var hour = time.getHours(); - var minute = time.getMinutes(); - var second = time.getSeconds(); - reportInfo.testTime = year+'-'+(month<10?'0'+month:month)+'-'+(day<10?'0'+day:day)+' '+(hour<10?'0'+hour:hour)+':'+(minute<10?'0'+minute:minute)+':'+(second<10?'0'+second:second) - reportDialogForm.value = true + var year = time.getFullYear(); + var month = time.getMonth() + 1; + var day = time.getDate(); + var hour = time.getHours(); + var minute = time.getMinutes(); + var second = time.getSeconds(); + reportInfo.testTime = + year + + "-" + + (month < 10 ? "0" + month : month) + + "-" + + (day < 10 ? "0" + day : day) + + " " + + (hour < 10 ? "0" + hour : hour) + + ":" + + (minute < 10 ? "0" + minute : minute) + + ":" + + (second < 10 ? "0" + second : second); + reportDialogForm.value = true; +}; -} +const backList = () => { + router.push({ + path: "/simulation", + }); +}; +const generateTestReport = async () => { + console.log(route.query); + const TestModelField = typeInfo.value.typeLinkList[0].children.find( + (item: any) => item.typeField.refCode === "TestModel" + ); + const TestNameField = typeInfo.value.typeLinkList[0].children.find( + (item: any) => item.typeField.refCode === "TestName" + ); + const ModelRemarksField = typeInfo.value.typeLinkList[0].children.find( + (item: any) => item.typeField.refCode === "ModelRemarks" + ); + + const fieldList = [ + { + baseType: TestModelField.typeField.baseType, + order: TestModelField.order, + link: {}, + linkFiles: [], + addLinkItems: [], + strValue: route.query.id, + typeFieldId: TestModelField.typeField.id, + refCode: TestModelField.typeField.refCode, + sequenceNum: TestModelField.cfg.uuid, + }, + { + baseType: TestNameField.typeField.baseType, + order: TestNameField.order, + link: {}, + linkFiles: [], + addLinkItems: [], + strValue: reportInfo.TestName, + typeFieldId: TestNameField.typeField.id, + refCode: TestNameField.typeField.refCode, + sequenceNum: TestNameField.cfg.uuid, + }, + { + baseType: ModelRemarksField.typeField.baseType, + order: ModelRemarksField.order, + link: {}, + linkFiles: [], + addLinkItems: [], + strValue: reportInfo.ModelRemarks, + typeFieldId: ModelRemarksField.typeField.id, + refCode: ModelRemarksField.typeField.refCode, + sequenceNum: ModelRemarksField.cfg.uuid, + }, + ]; + + console.log(seleStore.testReportChannel, "seleStore.testReportChannel"); + const params = { + accessModule: "", + accessPath: seleStore.testReportChannel.data.idPath, + accessStoreId: seleStore.storeInfo.storeId, + accessRepositoryId: seleStore.storeInfo.repositoryId, + accessItemId: seleStore.testReportChannel.data.id, + sysType: "CmsItem", + linkType: "TestReport", + cmsItemRequest: { + name: reportInfo.TestName, + description: reportInfo.ModelRemarks, + type: "Normal", + state: "Normal", + accessType: "Private", + cmsTypeId: typeInfo.value.id, + cmsItemDataList: fieldList, + linkCmsItemDataIds: [], + linkOrgIds: [1], + linkDepartmentIds: [1], + }, + newProcessInstanceCmsItemRightsPointRequests: [], + }; + const res = await MG.dps5.NewCmsItem(params); + reportDialogForm.value = false; + ElMessage({ + message: "鏂板缓鎴愬姛", + type: "success", + }); + router.push({ + path: "/simulation", + }); +}; const enlargeDiv = (state) => { let divStyle = document.getElementById("myDiv"); @@ -347,7 +520,6 @@ instructContent.value = ""; }; - onMounted(() => { handleResize(); }); @@ -359,41 +531,42 @@ let resizeDom = document.getElementById("resize"); for (let i = 0; i < resizeDom.length; i++) { - // 榧犳爣鎸変笅浜嬩欢 - console.log(1) - resizeDom[i].onmousedown = function (e) { - //棰滆壊鏀瑰彉鎻愰啋 - resizeDom[i].style.background = '#f0f2f5' - var startX = e.clientX - resizeDom[i].left = resizeDom[i].offsetLeft - // 榧犳爣鎷栧姩浜嬩欢 - document.onmousemove = function (e) { - console.log(2) - var endX = e.clientX - var moveLen = resizeDom[i].left + (endX - startX) // 锛坋ndx-startx锛�=绉诲姩鐨勮窛绂汇�俽esize[i].left+绉诲姩鐨勮窛绂�=宸﹁竟鍖哄煙鏈�鍚庣殑瀹藉害 - var maxT = operateDom[i].clientWidth - resizeDom[i].offsetWidth // 瀹瑰櫒瀹藉害 - 宸﹁竟鍖哄煙鐨勫搴� = 鍙宠竟鍖哄煙鐨勫搴� - - if (moveLen < 200) moveLen = 200 // 宸﹁竟鍖哄煙鐨勬渶灏忓搴︿负32px - if (moveLen > maxT - 200) moveLen = maxT - 200 //鍙宠竟鍖哄煙鏈�灏忓搴︿负150px - - resizeDom[i].style.left = moveLen // 璁剧疆宸︿晶鍖哄煙鐨勫搴� - for (let j = 0; j < instructDom.length; j++) { - instructDom[j].style.width = moveLen + 'px' - logDom[j].style.width = operateDom[i].clientWidth - moveLen - 10 + 'px' - } - } - // 榧犳爣鏉惧紑浜嬩欢 - document.onmouseup = function (evt) { - //棰滆壊鎭㈠ - resizeDom[i].style.background = '#f0f2f5' - document.onmousemove = null - document.onmouseup = null - resizeDom[i].releaseCapture && resizeDom[i].releaseCapture() //褰撲綘涓嶅湪闇�瑕佺户缁幏寰楅紶鏍囨秷鎭氨瑕佸簲璇ヨ皟鐢≧eleaseCapture()閲婃斁鎺� - } - resizeDom[i].setCapture && resizeDom[i].setCapture() //璇ュ嚱鏁板湪灞炰簬褰撳墠绾跨▼鐨勬寚瀹氱獥鍙i噷璁剧疆榧犳爣鎹曡幏 - return false + // 榧犳爣鎸変笅浜嬩欢 + console.log(1); + resizeDom[i].onmousedown = function (e) { + //棰滆壊鏀瑰彉鎻愰啋 + resizeDom[i].style.background = "#f0f2f5"; + var startX = e.clientX; + resizeDom[i].left = resizeDom[i].offsetLeft; + // 榧犳爣鎷栧姩浜嬩欢 + document.onmousemove = function (e) { + console.log(2); + var endX = e.clientX; + var moveLen = resizeDom[i].left + (endX - startX); // 锛坋ndx-startx锛�=绉诲姩鐨勮窛绂汇�俽esize[i].left+绉诲姩鐨勮窛绂�=宸﹁竟鍖哄煙鏈�鍚庣殑瀹藉害 + var maxT = operateDom[i].clientWidth - resizeDom[i].offsetWidth; // 瀹瑰櫒瀹藉害 - 宸﹁竟鍖哄煙鐨勫搴� = 鍙宠竟鍖哄煙鐨勫搴� + + if (moveLen < 200) moveLen = 200; // 宸﹁竟鍖哄煙鐨勬渶灏忓搴︿负32px + if (moveLen > maxT - 200) moveLen = maxT - 200; //鍙宠竟鍖哄煙鏈�灏忓搴︿负150px + + resizeDom[i].style.left = moveLen; // 璁剧疆宸︿晶鍖哄煙鐨勫搴� + for (let j = 0; j < instructDom.length; j++) { + instructDom[j].style.width = moveLen + "px"; + logDom[j].style.width = + operateDom[i].clientWidth - moveLen - 10 + "px"; } - } + }; + // 榧犳爣鏉惧紑浜嬩欢 + document.onmouseup = function (evt) { + //棰滆壊鎭㈠ + resizeDom[i].style.background = "#f0f2f5"; + document.onmousemove = null; + document.onmouseup = null; + resizeDom[i].releaseCapture && resizeDom[i].releaseCapture(); //褰撲綘涓嶅湪闇�瑕佺户缁幏寰楅紶鏍囨秷鎭氨瑕佸簲璇ヨ皟鐢≧eleaseCapture()閲婃斁鎺� + }; + resizeDom[i].setCapture && resizeDom[i].setCapture(); //璇ュ嚱鏁板湪灞炰簬褰撳墠绾跨▼鐨勬寚瀹氱獥鍙i噷璁剧疆榧犳爣鎹曡幏 + return false; + }; + } }; </script> @@ -448,7 +621,8 @@ #shadowY, #shadowZ { background: #fff; - height: calc((100% - 6px) / 3); + //height: calc((100% - 6px) / 3); + height: 100%; border: 1px solid #f1f1f1; } } -- Gitblit v1.9.1