From 2591e298a3fd1332ad0ca33059f6ba0b7d426f51 Mon Sep 17 00:00:00 2001 From: pengwei <2071057782@qq.com> Date: 星期四, 20 三月 2025 10:08:00 +0800 Subject: [PATCH] 最新代码提交 --- 项目代码/client/src/views/tts/TheCurrentJob/Startjob.vue | 700 ++++++++++++++++++++++++++++++++++++++++++---------------- 1 files changed, 508 insertions(+), 192 deletions(-) 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 10aad1e..7c7dd51 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,14 +1,14 @@ <template> <div class="Startjob"> <div class="rect"> - <div class="rect-top"> + <div class="rect-top" style="position: relative"> <img src="@/assets/TheCurrentJob/left.png" alt="" /> <img style="margin-left: -1.5rem; margin-right: 4rem" src="@/assets/TheCurrentJob/left1.png" alt="" /> - <span>寮�濮嬩綔涓氾紙鏈烘锛�</span> + <span>寮�濮嬩綔涓氾紙{{ title }}锛�</span> <img style="margin-right: -1.5rem; margin-left: 4rem" src="@/assets/TheCurrentJob/right1.png" @@ -17,116 +17,115 @@ <img src="@/assets/TheCurrentJob/right.png" alt="" /> </div> <div class="rect-center"> - <div style="display: flex; justify-content: space-between"> - <div class="rect-item1"> - <div> - <img src="@/assets/TheCurrentJob/icon/icon.png" alt="" /> - <span style="color: rgba(26, 201, 255, 1); font-size: 0.88rem" - >浠诲姟浣滀笟淇℃伅</span + <div class="rect-item1"> + <div style="margin-top: 0.5rem"> + <img src="@/assets/TheCurrentJob/icon/icon.png" alt="" /> + <span style="color: rgba(26, 201, 255, 1); font-size: 1.5rem" + >浠诲姟浣滀笟淇℃伅</span + > + </div> + <div style="height: 100%; width: 100%"> + <div style="width: 100%; padding-left: 1rem"> + <div + style=" + color: #1ac2f7; + font-size: 1rem; + display: flex; + margin-top: 0.5rem; + " > - </div> - <div style="height: 100%; width: 100%"> - <div style="width: 100%"> + <span style="width: 6rem; text-align: right; display: block" + >浠诲姟鍚嶇О锛�</span + ><span>{{ info.takename }}</span> + </div> + <div + style=" + color: #1ac2f7; + font-size: 1rem; + display: flex; + margin-top: 0.4rem; + " + > + <span style="width: 6rem; text-align: right; display: block" + >鎶�鏈憳锛�</span + ><span>{{ info.jishuyuan }}</span> + </div> + <div + style=" + color: #1ac2f7; + font-size: 1rem; + display: flex; + margin-top: 0.4rem; + " + > + <span style="width: 6rem; text-align: right; display: block" + >妫�淇伐鍘傦細</span + ><span>{{ info.gonzhang }}</span> + </div> + <div + style=" + color: #1ac2f7; + font-size: 1rem; + display: flex; + margin-top: 0.4rem; + " + > + <span style="width: 6rem; text-align: right; display: block" + >璐ㄦ鍛橈細</span + ><span>{{ info.zhijianyuan }}</span> + </div> + <div + style=" + color: #1ac2f7; + font-size: 1rem; + display: flex; + margin-top: 0.4rem; + " + > + <span style="width: 6rem; text-align: right; display: block" + >鍔涚煩浣滀笟鍛橈細</span + ><span>{{ info.lijuzouyeyuan }}</span> + </div> + <div + style=" + color: #1ac2f7; + font-size: 1rem; + display: flex; + margin-top: 0.4rem; + " + > + <span style="width: 6rem; text-align: right; display: block" + >杈呭姪鍛橈細</span + ><span>{{ info.fuzyuan }}</span> + </div> + <div + style=" + position: absolute; + color: #1ac2f7; + font-size: 1rem; + display: flex; + margin-top: 0.4rem; + " + > + <span style="width: 6rem; text-align: right; display: block" + >浠诲姟璇︽儏锛�</span + > + <span + @click="showDetail(!contentShow1)" + style="color: #1ac2f7; font-size: 0.88rem; cursor: pointer" + >鏌ョ湅</span + > <div + v-if="contentShow1" style=" - color: #1ac2f7; - font-size: 0.81rem; - display: flex; - margin-top: 0.4rem; + position: relative; + top: 1.5rem; + left: -3rem; + width: 49rem; " > - <span style="width: 6rem; text-align: right; display: block" - >浠诲姟鍚嶇О锛�</span - ><span>杞悜鏋�</span> - </div> - <div - style=" - color: #1ac2f7; - font-size: 0.81rem; - display: flex; - margin-top: 0.4rem; - " - > - <span style="width: 6rem; text-align: right; display: block" - >鎶�鏈憳锛�</span - ><span>寮犱笁</span> - </div> - <div - style=" - color: #1ac2f7; - font-size: 0.81rem; - display: flex; - margin-top: 0.4rem; - " - > - <span style="width: 6rem; text-align: right; display: block" - >妫�淇伐鍘傦細</span - ><span>鏉庡洓</span> - </div> - <div - style=" - color: #1ac2f7; - font-size: 0.81rem; - display: flex; - margin-top: 0.4rem; - " - > - <span style="width: 6rem; text-align: right; display: block" - >璐ㄦ鍛橈細</span - ><span>涓冧竷</span> - </div> - <div - style=" - color: #1ac2f7; - font-size: 0.81rem; - display: flex; - margin-top: 0.4rem; - " - > - <span style="width: 6rem; text-align: right; display: block" - >鍔涚煩浣滀笟鍛橈細</span - ><span>鐜嬩簲</span> - </div> - <div - style=" - color: #1ac2f7; - font-size: 0.81rem; - display: flex; - margin-top: 0.4rem; - " - > - <span style="width: 6rem; text-align: right; display: block" - >杈呭姪鍛橈細</span - ><span>灏忓垬</span> - </div> - <div - style=" - color: #1ac2f7; - font-size: 0.81rem; - display: flex; - margin-top: 0.4rem; - " - > - <span style="width: 6rem; text-align: right; display: block" - >浠诲姟璇︽儏锛�</span - > - <span - style="color: #1ac2f7; font-size: 0.88rem; cursor: pointer" - >鏌ョ湅</span - > - <!-- <el-popover placement="bottom" :width="600" trigger="click"> - <template #reference> - <span - style=" - color: #1ac2f7; - font-size: 0.88rem; - cursor: pointer; - " - >鏌ョ湅</span - ></template - > <el-table - :data="gridData" + :data="taskData" width="100%" :header-cell-style="{ color: '#fff', @@ -138,37 +137,39 @@ background: '#1373A8', }" > - <el-table-column property="date" label="杞﹀瀷" /> - <el-table-column property="name" label="杞︾粍" /> - <el-table-column property="address" label="鑲¢亾" /> - <el-table-column property="address" label="杞﹀帰鍙蜂綅缃�" /> - <el-table-column property="address" label="杞悜鏋朵綅缃�" /> - <el-table-column property="address" label="妫�淇彮缁�" /> + <el-table-column property="trainKind" label="杞﹀瀷" /> + <el-table-column property="trainNum" label="杞︾粍" /> + <el-table-column property="track" label="鑲¢亾" /> + <el-table-column property="coachNum" label="杞﹀帰鍙蜂綅缃�" /> + <el-table-column property="bogie" label="杞悜鏋朵綅缃�" /> + <el-table-column property="processDept" label="妫�淇彮缁�" /> </el-table> - </el-popover> --> </div> </div> </div> </div> - <div class="rect-item2"> - <div> - <span style="color: rgba(26, 200, 254, 1); font-size: 0.75rem" - >宸ヨ壓椤圭偣/姝ラ鍏�<span style="font-size: 1rem; font-weight: bold" - >23</span - > - </span> - <span - style=" - margin-left: 1rem; - color: rgba(26, 200, 254, 1); - font-size: 0.75rem; - " - >褰撳墠浣滀笟椤圭偣/姝ラ<span - style="font-size: 1rem; font-weight: bold" - >3</span - > - </span> - </div> + </div> + <div class="rect-item2"> + <div> + <span style="color: rgba(26, 200, 254, 1); font-size: 1.2rem" + >宸ヨ壓椤圭偣/姝ラ鍏�<span + style="font-size: 1.5rem; font-weight: bold" + >{{ sunNUm }}</span + > + </span> + <span + style=" + margin-left: 1rem; + color: rgba(26, 200, 254, 1); + font-size: 1.2rem; + " + >褰撳墠浣滀笟椤圭偣/姝ラ<span + style="font-size: 1.5rem; font-weight: bold" + >{{ obj.setpNum }}</span + > + </span> + </div> + <div style="position: absolute; width: 47rem; height: 2.5rem"> <el-table style="margin-top: 0.88rem" :data="gridData" @@ -185,103 +186,397 @@ }" > <el-table-column - property="date" + property="craftsStep" label="宸ヨ壓椤圭偣/姝ラ" min-width="30%" > <template #default="scope"> <span - style="color: #1ac2f7; font-size: 0.88rem" - ></span></template - ></el-table-column> + @click="showDetail1(!contentShow)" + style=" + color: #1ac2f7; + font-size: 0.88rem; + cursor: pointer; + text-decoration: underline; + " + >{{ scope.row.craftsStep }} + </span></template + ></el-table-column + > <el-table-column - property="name" + property="craftContent" label="宸ヨ壓鍐呭" min-width="70%" - /> + > + <template #default="scope"> + <span + @click="true" + style=" + color: #ffffff; + font-size: 0.88rem; + display: -webkit-box; /* 璁剧疆涓篧ebKit鍐呮牳鐨勫脊鎬х洅瀛愭ā鍨� */ + -webkit-box-orient: vertical; /* 鍨傜洿鎺掑垪 */ + -webkit-line-clamp: 2; /* 闄愬埗鏄剧ず涓よ */ + overflow: hidden; /* 闅愯棌瓒呭嚭鑼冨洿鐨勫唴瀹� */ + text-overflow: ellipsis; /* 浣跨敤鐪佺暐鍙� */ + " + >{{ scope.row.craftContent }}</span + ></template + ></el-table-column + > </el-table> + <div class="consten" v-if="contentShow"> + <el-table + :data="gridData" + width="100%" + :header-cell-style="{ + height: '1.61rem', + color: '#fff', + background: '#0A5B91', + fontSize: '0.88rem', + }" + :cell-style="{ + color: '#fff', + background: '#147BAF', + }" + > + <el-table-column + property="craftsStep" + label="宸ヨ壓鍐呭" + min-width="30%" + > + <template #default="scope"> + <span @click="true" style="color: #fff; font-size: 0.88rem" + >{{ scope.row.craftContent }} + </span></template + ></el-table-column + > + <el-table-column + property="craftsStep" + label="宸ュ叿" + min-width="10%" + > + <template #default="scope"> + <span style="color: #ffffff">{{ + scope.row.tools + }}</span></template + ></el-table-column + > + <el-table-column + property="craftsStep" + label="鐗╂枡" + min-width="10%" + > + <template #default="scope"> + <span style="color: #ffffff">{{ + scope.row.material + }}</span></template + ></el-table-column + > + </el-table> + </div> </div> </div> <div class="rect-item3"> - <div> + <div style="overflow: hidden"> <img src="@/assets/TheCurrentJob/icon/icon.png" alt="" /> <span style="color: rgba(26, 201, 255, 1); font-size: 0.88rem" >鍔涚煩鍊兼樉绀�</span > + + <el-scrollbar> + <div + style=" + display: flex; + justify-content: center; + flex-direction: column; + padding-left: 1.5rem; + padding-top: 0.5rem; + padding-bottom: 1.5rem; + box-sizing: border-box; + " + > + <span + style="color: #ffffff; font-size: 1rem; margin: 0.5rem 0" + v-for="(item, index) in Torque" + :key="item.id" + >{{ + index + 1 + "銆�" + item.torqueSize + " " + "N*m" + }}</span + > + </div> + </el-scrollbar> </div> </div> </div> - <div class="rect-content"> - <div - style=" - display: flex; - justify-content: center; - align-items: center; - width: 21.31rem; - height: 26.88rem; - background-color: rgba(25, 189, 241, 0.1); - color: rgba(16, 16, 16, 1); - font-size: 0.75rem; - border: 0.06rem solid rgba(26, 200, 254, 1); - " - > - <span style="color: rgba(26, 194, 247, 1); font-size: 1.25rem" - >鐖嗙偢鍥炬樉绀�</span - > - </div> + <div + ref="screenDom" + style=" + margin: 0 auto; + display: flex; + justify-content: center; + align-items: center; + z-index: 999; + position: absolute; + top: 42%; + left: 15%; + " + > + <model-gltf + :width="400" + :height="400" + :backgroundAlpha="0" + :backgroundColor="'#000000'" + src="ThreeModel/test.gltf" + :controlsOptions="{ + enableZoom, + }" + /> </div> - <div style=" display: flex; justify-content: center; align-items: center; - margin-top: 4.25rem; + margin-top: 30rem; " > <el-button + :disabled="obj.setpNum == 1" + @click="Previous(false)" type="primary" - style=" - width: 5rem; - height: 1.88rem; - background-color: rgba(164, 173, 179, 1); - color: rgba(255, 255, 255, 1); - font-size: 0.88rem; - " + :style="{ + width: '5rem', + height: '1.88rem', + background: + obj.setpNum == 1 + ? 'rgba(164, 173, 179, 1)' + : 'rgba(26, 194, 247, 1)', + color: 'rgba(255, 255, 255, 1)', + fontSize: '0.88rem;', + }" >涓婁竴姝�</el-button > <el-button + :disabled="obj.setpNum == sunNUm" + @click="Next(false)" type="primary" - style=" - width: 5rem; - height: 1.88rem; - background-color: rgba(26, 194, 247, 1); - color: rgba(255, 255, 255, 1); - font-size: 0.88rem; - " + :style="{ + width: '5rem', + height: '1.88rem', + background: + obj.setpNum != sunNUm + ? 'rgba(26, 194, 247, 1)' + : 'rgba(164, 173, 179, 1)', + color: ' rgba(255, 255, 255, 1)', + fontSize: '0.88rem', + }" >涓嬩竴姝�</el-button > <el-button + :disabled="obj.setpNum != sunNUm" + @click="Completee" type="primary" - style=" - height: 1.88rem; - width: 5rem; - background-color: rgba(164, 173, 179, 1); - color: rgba(255, 255, 255, 1); - font-size: 0.88rem; - " + :style="{ + height: '1.88rem', + width: '5rem', + background: + obj.setpNum == sunNUm + ? 'rgba(26, 194, 247, 1)' + : 'rgba(164, 173, 179, 1)', + color: 'rgba(255, 255, 255, 1)', + fontSize: '0.88rem', + }" >瀹屾垚浣滀笟</el-button > </div> </div> + + <!-- 寮哄埗璺宠浆纭妗� --> + <el-dialog v-model="centerDialogVisible" title="纭" width="300" center> + <span> 褰撳墠浠诲姟鏈畬鎴愶紝鏄惁寮哄埗璺宠浆鍒颁笅涓�姝ワ紵 </span> + <template #footer> + <div class="dialog-footer"> + <el-button style="width: 5rem" @click="centerDialogVisible = false" + >鍙栨秷</el-button + > + <el-button style="width: 5rem" type="primary" @click="Next(true)"> + 纭 + </el-button> + </div> + </template> + </el-dialog> </div> </template> <script setup> import { ref, onMounted } from "vue"; +import { + GetScreenData, + GetPre, + GetNext, + Complete, + GetTorque, + ChangeStatus, +} 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"; +const router = useRouter(); const gridData = ref([]); +const contentShow = ref(false); +const contentShow1 = ref(false); +const info = ref({}); +info.value = history.state?.info ? JSON.parse(history.state?.info) : {}; +const title = ref(""); +title.value = history.state?.title ? history.state?.title : "鏈烘"; +const enableZoom = ref(false); +const obj = ref({}); +const sunNUm = ref(0); +const Torque = ref(""); +const showDetail1 = (va1) => { + contentShow1.value = false; + contentShow.value = va1; +}; +const showDetail = (va1) => { + contentShow1.value = va1; + contentShow.value = false; + checko(); +}; +const taskData = ref([]); +const centerDialogVisible = ref(false); +const from = ref({ + group: "", + takeid: "", + setnum: 0, +}); +const flag = ref(false); +//涓婁竴姝� +const Previous = (val) => { + from.value.group = info.value.grouptype; + from.value.takeid = info.value.njtakeid; + from.value.setnum = obj.value.setpNum; + flag.value = val; + console.log(from.value, info.value); + GetPre(from.value, flag.value).then((res) => { + gridData.value = [res.data.nex]; + obj.value = res.data.nex; + queryData.value.setnum = obj.value.setpNum; + GetTorque(queryData.value).then((res) => { + Torque.value = res.data; + }); + }); +}; +//涓嬩竴姝� +const Next = (val) => { + console.log(obj.value); + from.value.group = info.value.grouptype; + from.value.takeid = info.value.njtakeid; + from.value.setnum = obj.value.setpNum; + flag.value = val; + + GetNext(from.value, flag.value).then((res) => { + if (res.message == "娌℃湁瀹屾垚褰撳墠姝ラ") { + gridData.value = res.data.nowdate; + obj.value = res.data.nowdate[0]; + if (res.data.nowdate[0].setpNum == obj.value.setpNum) { + centerDialogVisible.value = true; + return; + } + return; + } + centerDialogVisible.value = false; + gridData.value = [res.data.nex]; + obj.value = res.data.nex; + + queryData.value.setnum = obj.value.setpNum; + GetTorque(queryData.value).then((res) => { + Torque.value = res.data; + }); + }); +}; +//瀹屾垚 +const Completee = () => { + from.value.gruops = info.value.grouptype; + from.value.id = info.value.njtakeid; + from.value.creater = info.value.creater; + console.log(from.value, info.value); + + ChangeStatus(from.value).then((res) => { + ElMessage({ + message: "鎿嶄綔瀹屾垚", + type: "success", + }); + router.push("/Thecurrentjob"); + }); +}; +//鏌ョ湅鏁版嵁 +const checko = () => { + console.log(info.value); + GetPageData({ + page: 1, + rows: 10, + total: 100, + tableName: "", + sort: "", + order: "", + wheres: "", + export: true, + value: "", + filter: [ + { + name: "njtaskid", + value: info.value.njtakeid, + displayType: "String", + }, + ], + }).then((res) => { + console.log(res); + taskData.value = res.rows; + }); +}; +const queryData = ref({ + grop: info.value.grouptype, + takeid: info.value.njtakeid, + setnum: "", +}); +const initData = () => { + GetScreenData({ + group: info.value.grouptype, + takeid: info.value.njtakeid, + }).then((res) => { + if (res.message == "杩斿洖宸ヨ壓琛ㄤ腑鐨勭涓�鏉�") { + gridData.value = res.data.proNoe; + obj.value = res.data.proNoe[0]; + sunNUm.value = res.data.maxproce; + queryData.value.setnum = obj.value.setpNum; + GetTorque(queryData.value).then((res) => { + Torque.value = res.data; + }); + return; + } + gridData.value = res.data.maxpro; + sunNUm.value = res.data.maxproce; + obj.value = res.data.maxpro[0]; + queryData.value.setnum = obj.value.setpNum; + GetTorque(queryData.value).then((res) => { + Torque.value = res.data; + }); + }); +}; + +onMounted(() => { + initData(); +}); </script> <style lang="scss" scoped> +* { + padding: 0; + margin: 0; + box-sizing: border-box; +} + .Startjob { width: 100%; height: 100%; @@ -297,6 +592,8 @@ padding: 0.2rem; box-sizing: border-box; background-color: rgba(0, 0, 0, 0.3); + overflow: hidden; + .rect { display: flex; flex-direction: column; @@ -304,6 +601,7 @@ height: 100%; border: 0.1rem solid #02cde6; box-shadow: 0rem 0rem 0.3rem #02cde6; + .rect-top { display: flex; justify-content: center; @@ -312,48 +610,61 @@ height: 3rem; background: #051d3f; text-align: center; + img { width: 3.75rem; height: 2.81rem; } + span { color: rgba(26, 194, 247, 1); font-size: 1.25rem; } } + .rect-center { display: flex; justify-content: space-between; - width: 100%; + width: 170vh; + margin: 0 auto; padding: 0.8rem 2.15rem; box-sizing: border-box; + .rect-item1 { display: flex; flex-direction: column; - width: 11.31rem; - height: 12.38rem; + width: 14.31rem; + height: 15.38rem; background-image: url("../../../assets/TheCurrentJob/bg.png"); background-repeat: no-repeat; background-size: 100% 100%; padding: 0.28rem 0.28rem; box-sizing: border-box; } + .rect-item2 { width: 49.88rem; - height: 12.38rem; + height: 15.38rem; border: 0.1rem solid #02cde6; padding: 0.69rem 1.44rem; - margin-left: 6rem; + .el-table :deep(.el-table__header th) { border: solid 1px #1ac0f6; color: white; } + + .consten { + position: relative; + top: 0; + z-index: 999; + } } + .rect-item3 { display: flex; flex-direction: column; width: 11.31rem; - height: 12.38rem; + height: 15.38rem; background-image: url("../../../assets/TheCurrentJob/bg.png"); background-repeat: no-repeat; background-size: 100% 100%; @@ -361,6 +672,7 @@ box-sizing: border-box; } } + .rect-content { display: flex; justify-content: space-between; @@ -370,6 +682,7 @@ } } } + // .el-table :deep(.el-table__header th) { // border-bottom: solid 1px #1ac2f7; // color: white; @@ -378,14 +691,17 @@ border: solid 1px #1ac2f7; color: white; } + .el-table :deep(.el-table__empty-block) { background-color: #137aaf; color: #1ac2f7; } -// .el-table :deep(.el-table__body-wrapper) { -// background-color: #1ac2f7; -// } -// .el-popper :deep(.el-popper) { -// background-color: #ad2525; -// } + +.el-table :deep(.el-table__body-wrapper) { + background-color: #1ac2f7; +} + +:deep(.el-popper) { + background-color: #ad2525; +} </style> -- Gitblit v1.9.3