From 8e4e122e294640978016810a4d006a0be203363e Mon Sep 17 00:00:00 2001
From: gaoshp <291585735@qq.com>
Date: 星期五, 14 十一月 2025 20:22:55 +0800
Subject: [PATCH] dupate
---
src/views/mdc/first-workpiece-detail.vue | 188 ++++++++++++++++++++++++++++-------------------
1 files changed, 112 insertions(+), 76 deletions(-)
diff --git a/src/views/mdc/first-workpiece-detail.vue b/src/views/mdc/first-workpiece-detail.vue
index 7f90678..b61d80c 100644
--- a/src/views/mdc/first-workpiece-detail.vue
+++ b/src/views/mdc/first-workpiece-detail.vue
@@ -2,85 +2,46 @@
* @Author: lzhe lzhe@example.com
* @Date: 2024-04-26 09:36:18
* @LastEditors: lzhe lzhe@example.com
- * @LastEditTime: 2024-11-25 14:32:50
+ * @LastEditTime: 2024-12-20 15:06:05
* @FilePath: /smart-web/src/views/mdc/status-record.vue
* @Description: 杩欐槸榛樿璁剧疆,璇疯缃甡customMade`, 鎵撳紑koroFileHeader鏌ョ湅閰嶇疆 杩涜璁剧疆: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
-->
<template>
<el-main style="height: 100%;" class="timeAnalysis">
- <el-card shadow="never" body-style="height: 100%;padding: 0;" style="margin-bottom: 12px;">
- <div class="detailModel" v-for="item in detailModelList">
- <div>
- <div class="">闆朵欢鍚嶇О</div><div><process-charts></process-charts></div>
- </div>
- <div>
- <div>寮�濮嬫椂闂�</div><div><process-charts></process-charts></div>
- </div>
- <div>
- <div>缁撴潫鏃堕棿</div><div><process-charts></process-charts></div>
- </div>
- <div>
- <div>鍔犲伐鏈哄簥</div><div><process-charts></process-charts></div>
- </div>
- <div class="modelBtn">
- <el-button type="primary" @click="goFirstWorkProcess(item)">杩囩▼鍒嗘瀽</el-button>
+ <el-card body-style="height: 100%;padding: 0;" style="margin-bottom: 12px;">
+ <div class="tableOuter">
+ <div class="tableAll">
+ <div class="tableHeader">
+ <span v-for="item in tableHeader" :style="{'width': item.width}"> {{item.title}} </span>
+ </div>
+ <div v-for="(item,index) in tableData" class="tableBody">
+ <span style="width:60px;" v-if="item.id">{{item.index}}</span>
+ <span style="width:80px;" v-if="item.id">{{item.partNo}}</span>
+ <span style="width:80px;" v-if="item.id">{{item.processNo}}</span>
+ <span style="width:60px;" v-if="item.id">{{item.version}}</span>
+ <span style="width:100px;" v-if="item.id">{{item.workstationName}}</span>
+ <span style="width:145px;" v-if="item.id">{{item.startTime}}</span>
+ <span style="width:145px;" v-if="item.id">{{item.endTime}}</span>
+ <span style="width:100px;" v-if="item.id">{{ convertSeconds(item.occupancySecs || 0) }}</span>
+ <span style="width:100px;" v-if="item.id">{{ convertSeconds(item.clampingSecs || 0) }}</span>
+ <span style="width:100px;" v-if="item.id">{{ convertSeconds(item.firstWorkingSecs || 0) }}</span>
+ <span style="width:100px;" v-if="item.id">{{ convertSeconds(item.firstMeasureSecs || 0) }}</span>
+ <span style="width:100px;" v-if="item.id">{{ convertSeconds(item.lastRemoveSecs || 0) }}</span>
+ <span style="width:80px;" v-if="item.id">{{ convertSeconds(item.processingSecs || 0) }}</span>
+ <span style="width:80px;" v-if="item.id">{{ convertSeconds(item.prepareSecs || 0) }}</span>
+ <span style="width:80px;" v-if="item.id">{{ convertSeconds(item.singleProcessSecs || 0) }}</span>
+ <span style="width:60px;" v-if="item.id">{{item.amount}}</span>
+ <!-- 鍥捐〃 -->
+ <el-card v-if="!item.id" shadow="never" body-style="padding: 0;" class="chartsDiv">
+ <process-charts :index="index" :tableData="tableData"></process-charts>
+ <div class="modelBtn">
+ <el-button type="primary" @click="goFirstWorkProcess(item,index)">杩囩▼鍒嗘瀽</el-button>
+ <el-button type="primary" @click="exportBtn(item,index)">杈撳嚭</el-button>
+ </div>
+ </el-card>
+ </div>
</div>
</div>
- </el-card>
- <el-card body-style="height: 100%;padding: 0;" style="margin-bottom: 12px;">
- <el-table :data="tableData" border>
- <el-table-column prop="index" label="搴忓彿" width="60"></el-table-column>
- <el-table-column prop="partNo" label="闆朵欢鍙�" width="80"></el-table-column>
- <el-table-column prop="processNo" label="宸ュ簭鍙�" width="80"></el-table-column>
- <el-table-column prop="version" label="鐗堟" width="60"></el-table-column>
- <el-table-column prop="workstationName" label="鏈哄簥" width="100"></el-table-column>
- <el-table-column prop="startTime" label="寮�鏈烘椂闂�" width="145"></el-table-column>
- <el-table-column prop="endTime" label="缁撴潫鏃堕棿" width="145"></el-table-column>
- <el-table-column prop="occupancySecs" label="鍗犳満鏃堕棿" width="100">
- <template #default="scope">
- {{ convertSeconds(scope.row.occupancySecs || 0) }}
- </template>
- </el-table-column>
- <el-table-column prop="clampingSecs" label="瑁呭す璋冭瘯鏃堕棿" width="100">
- <template #default="scope">
- {{ convertSeconds(scope.row.clampingSecs || 0) }}
- </template>
- </el-table-column>
- <el-table-column prop="firstWorkingSecs" label="棣栦欢鍒囧墛鏃堕棿" width="100">
- <template #default="scope">
- {{ convertSeconds(scope.row.firstWorkingSecs || 0) }}
- </template>
- </el-table-column>
- <el-table-column prop="firstMeasureSecs" label="棣栦欢璁¢噺鏃堕棿" width="100">
- <template #default="scope">
- {{ convertSeconds(scope.row.firstMeasureSecs || 0) }}
- </template>
- </el-table-column>
- <el-table-column prop="lastRemoveSecs" label="鏈欢鎷嗗嵏鏃堕棿" width="100">
- <template #default="scope">
- {{ convertSeconds(scope.row.lastRemoveSecs || 0) }}
- </template>
- </el-table-column>
- <el-table-column prop="processingSecs" label="鍔犲伐鏃堕棿" width="80">
- <template #default="scope">
- {{ convertSeconds(scope.row.processingSecs || 0) }}
- </template>
- </el-table-column>
- <el-table-column prop="prepareSecs" label="鍑嗗鏃堕棿" width="80">
- <template #default="scope">
- {{ convertSeconds(scope.row.prepareSecs || 0) }}
- </template>
- </el-table-column>
- <el-table-column prop="singleProcessSecs" label="鍗曚欢宸ユ椂" width="80">
- <template #default="scope">
- {{ convertSeconds(scope.row.singleProcessSecs || 0) }}
- </template>
- </el-table-column>
- <el-table-column prop="amount" label="鏁伴噺" width="60"></el-table-column>
- </el-table>
- <el-footer>
- <el-button type="primary">杈撳嚭</el-button>
- </el-footer>
</el-card>
</el-main>
</template>
@@ -100,7 +61,25 @@
data() {
return {
detailModelList: [],
- tableData: []
+ tableData: [],
+ tableHeader: [
+ {title:'搴忓彿',width: '60px'},
+ {title:'闆朵欢鍙�',width: '80px'},
+ {title:'宸ュ簭鍙�',width: '80px'},
+ {title:'鐗堟',width: '60px'},
+ {title:'宸ヤ綅',width: '100px'},
+ {title:'寮�濮嬫椂闂�',width: '145px'},
+ {title:'缁撴潫鏃堕棿',width: '145px'},
+ {title:'鍗犳満鏃堕棿',width: '100px'},
+ {title:'瑁呭す璋冭瘯鏃堕棿',width: '100px'},
+ {title:'棣栦欢鍒囧墛鏃堕棿',width: '100px'},
+ {title:'棣栦欢璁¢噺鏃堕棿',width: '100px'},
+ {title:'鏈欢鎷嗗嵏鏃堕棿',width: '100px'},
+ {title:'鍔犲伐鏃堕棿',width: '80px'},
+ {title:'鍑嗗鏃堕棿',width: '80px'},
+ {title:'鍗曚欢宸ユ椂',width: '80px'},
+ {title:'鏁伴噺',width: '60px'}
+ ]
}
},
created() {
@@ -113,6 +92,14 @@
})
},
methods: {
+ exportBtn(item,index) {
+ var id = this.tableData[index - 1].id;
+ this.$HTTP.get(`/api/workinghour/export?id=${id}`).then(res => {
+ if (res.code == 200) {
+ this.$TOOL.downFile(res.data.link,res.data.originalName);
+ }
+ })
+ },
convertSeconds(seconds) { //杞崲鏃堕棿
// 瀹氫箟鏃堕棿鍗曚綅杞崲鍏崇郴
const daysInSeconds = 24 * 60 * 60;
@@ -155,8 +142,9 @@
// 杩斿洖鏍煎紡鍖栧悗鐨勫瓧绗︿覆
return result.join(' ');
},
- goFirstWorkProcess(item) {
- sthis.$router.push({path: `/mdc/first-workpiece-process`,query: {id:item.id}})
+ goFirstWorkProcess(item,index) {
+ var id = this.tableData[index - 1].id;
+ this.$router.push({path: `/mdc/first-workpiece-process`,query: {id}})
},
getTableData() {
this.$HTTP.post(`/api/workinghour/listByIds`, {ids: this.$route.query.ids.split(',')}).then(res => {
@@ -164,7 +152,14 @@
res.data.forEach((item,index)=> {
item.index = index + 1;
})
- this.tableData = res.data;
+ // 浣跨敤 reduce 鏂规硶鏉ユ瀯寤烘柊鐨勬暟缁�
+ var newArray = res.data.reduce((acc, curr) => {
+ acc.push(curr); // 灏嗗綋鍓嶅璞℃坊鍔犲埌绱Н鍣ㄤ腑
+ acc.push({}); // 鍦ㄥ綋鍓嶅璞″悗娣诲姞涓�涓┖瀵硅薄
+ return acc;
+ }, []);
+ this.tableData = newArray;
+ //console.log(this.tableData,111)
}
})
}
@@ -173,6 +168,47 @@
</script>
<style scoped>
+ .tableOuter {
+ width: 100%;
+ overflow: hidden;
+ }
+ .tableAll {
+ overflow-x: scroll;
+ white-space: nowrap;
+ border: 1px solid #e4e7ed;
+ }
+ .tableHeader,.tableBody {
+ width:1470px;
+ border-top: 1px solid #e4e7ed;
+ display: flex;
+ }
+ .tableHeader span {
+ padding: 8px 12px;
+ display: inline-block;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: normal;
+ word-break: break-all;
+ line-height: 23px;
+ color: #909399;
+ font-weight: bold;
+ border-right: 1px solid #e4e7ed;
+ }
+ .tableBody span {
+ padding: 8px 12px;
+ display: inline-block;
+ white-space: normal;
+ word-break: break-all;
+ color: #909399;
+ border-right: 1px solid #e4e7ed;
+ }
+ .chartsDiv {
+ padding-bottom: 12px;
+ width: 100%;
+ padding-top: 12px;
+ padding-left: 12px;
+ padding-right: 12px;
+ }
.detailModel > div {
height: 32px;
display: flex;
--
Gitblit v1.9.3