From e705ef7b15c04307d6f37b388564dedfaeef4a55 Mon Sep 17 00:00:00 2001
From: 张诺 <zhang_12370@163.com>
Date: 星期二, 21 四月 2026 15:27:09 +0800
Subject: [PATCH] 阳光彩印web 生产报工的机台展示
---
src/views/qualityManagement/metricBinding/index.vue | 117 ++++++++++++++++++++++++++++++++++++++++------------------
1 files changed, 81 insertions(+), 36 deletions(-)
diff --git a/src/views/qualityManagement/metricBinding/index.vue b/src/views/qualityManagement/metricBinding/index.vue
index ac67474..0509961 100644
--- a/src/views/qualityManagement/metricBinding/index.vue
+++ b/src/views/qualityManagement/metricBinding/index.vue
@@ -1,7 +1,14 @@
<template>
<div class="app-container metric-binding">
- <!-- 宸︿晶锛氭娴嬫爣鍑嗗垪琛紙鍙锛� -->
- <div class="left-panel">
+ <el-tabs v-model="activeTab" @tab-change="handleTabChange" class="metric-tabs">
+ <el-tab-pane label="鍘熸潗鏂欐楠�" name="0" />
+ <el-tab-pane label="杩囩▼妫�楠�" name="1" />
+ <el-tab-pane label="鍑哄巶妫�楠�" name="2" />
+ </el-tabs>
+ <el-row :gutter="16" class="metric-binding-row">
+ <!-- 宸︿晶锛氭娴嬫爣鍑嗗垪琛� -->
+ <el-col :xs="24" :sm="24" :md="12" :lg="14" :xl="14" class="left-col">
+ <div class="panel left-panel">
<PIMTable
rowKey="id"
:column="standardColumns"
@@ -41,21 +48,6 @@
@clear="handleQuery"
/>
</template>
- <template #inspectTypeHeader>
- <el-select
- v-model="searchForm.inspectType"
- placeholder="绫诲埆"
- clearable
- size="small"
- style="width: 120px"
- @change="handleQuery"
- @clear="handleQuery"
- >
- <el-option label="鍘熸潗鏂欐楠�" value="0" />
- <el-option label="杩囩▼妫�楠�" value="1" />
- <el-option label="鍑哄巶妫�楠�" value="2" />
- </el-select>
- </template>
<template #stateHeader>
<el-select
v-model="searchForm.state"
@@ -72,10 +64,12 @@
</el-select>
</template>
</PIMTable>
- </div>
+ </div>
+ </el-col>
- <!-- 鍙充晶锛氱粦瀹氬垪琛� -->
- <div class="right-panel">
+ <!-- 鍙充晶锛氱粦瀹氬垪琛� -->
+ <el-col :xs="24" :sm="24" :md="12" :lg="10" :xl="10" class="right-col">
+ <div class="panel right-panel">
<div class="right-header">
<div class="title">缁戝畾鍏崇郴</div>
<div class="desc" v-if="currentStandard">
@@ -108,7 +102,9 @@
</template>
</el-table-column>
</el-table>
- </div>
+ </div>
+ </el-col>
+ </el-row>
<!-- 娣诲姞缁戝畾寮规 -->
<el-dialog
@@ -161,6 +157,9 @@
const { proxy } = getCurrentInstance()
+// 绫诲埆 Tab锛�0=鍘熸潗鏂欙紝1=杩囩▼锛�2=鍑哄巶锛�
+const activeTab = ref('0')
+
// 宸︿晶鏍囧噯鍒楄〃锛氭暣琛屽唴瀹瑰眳涓紙閰嶅悎鏍峰紡锛�
const rowClassNameCenter = () => 'row-center'
@@ -203,7 +202,6 @@
{
label: '绫诲埆',
prop: 'inspectType',
- headerSlot: 'inspectTypeHeader',
align: 'center',
dataType: 'tag',
formatData: (val) => {
@@ -245,6 +243,18 @@
// }
// }
])
+
+const handleTabChange = () => {
+ searchForm.value.standardNo = ''
+ searchForm.value.standardName = ''
+ searchForm.value.state = ''
+ searchForm.value.inspectType = activeTab.value
+ page.current = 1
+ currentStandard.value = null
+ bindingTableData.value = []
+ bindingSelectedRows.value = []
+ getStandardList()
+}
const currentStandard = ref(null)
@@ -375,15 +385,21 @@
}
const handleUnbind = async (row) => {
- if (!row?.id) return
+ const id = row?.id ?? row?.qualityTestStandardBindingId
+ if (id == null || id === '') return
try {
await ElMessageBox.confirm('纭鍒犻櫎璇ョ粦瀹氾紵', '鎻愮ず', { type: 'warning' })
} catch {
return
}
- await qualityTestStandardBindingDel([row.qualityTestStandardBindingId])
- proxy.$message.success('鍒犻櫎鎴愬姛')
- loadBindingList()
+ try {
+ await qualityTestStandardBindingDel([id])
+ proxy.$message.success('鍒犻櫎鎴愬姛')
+ loadBindingList()
+ } catch (err) {
+ console.error('鍒犻櫎缁戝畾澶辫触:', err)
+ proxy.$message?.error(err?.message || '鍒犻櫎澶辫触')
+ }
}
const handleBatchUnbind = async () => {
@@ -391,18 +407,30 @@
proxy.$message.warning('璇烽�夋嫨鏁版嵁')
return
}
- const ids = bindingSelectedRows.value.map((i) => i.qualityTestStandardBindingId)
+ const ids = bindingSelectedRows.value
+ .map((i) => i?.id ?? i?.qualityTestStandardBindingId)
+ .filter((id) => id != null && id !== '')
+ if (!ids.length) {
+ proxy.$message.warning('閫変腑鏁版嵁缂哄皯鏈夋晥 id')
+ return
+ }
try {
await ElMessageBox.confirm('閫変腑鐨勫唴瀹瑰皢琚垹闄わ紝鏄惁纭鍒犻櫎锛�', '鍒犻櫎鎻愮ず', { type: 'warning' })
} catch {
return
}
- await qualityTestStandardBindingDel(ids)
- proxy.$message.success('鍒犻櫎鎴愬姛')
- loadBindingList()
+ try {
+ await qualityTestStandardBindingDel(ids)
+ proxy.$message.success('鍒犻櫎鎴愬姛')
+ loadBindingList()
+ } catch (err) {
+ console.error('鎵归噺鍒犻櫎缁戝畾澶辫触:', err)
+ proxy.$message?.error(err?.message || '鍒犻櫎澶辫触')
+ }
}
onMounted(() => {
+ searchForm.value.inspectType = activeTab.value
getStandardList()
getProcessList()
})
@@ -410,16 +438,33 @@
<style scoped>
.metric-binding {
- display: flex;
- gap: 16px;
+ padding: 0;
+}
+
+.metric-tabs {
+ margin: 10px;
+}
+
+.metric-binding-row {
+ width: 100%;
+}
+
+.metric-binding-row .left-col,
+.metric-binding-row .right-col {
+ margin-bottom: 16px;
+}
+
+.metric-binding-row .panel {
+ background: #ffffff;
+ padding: 16px;
+ box-sizing: border-box;
+ height: 100%;
+ min-height: 400px;
}
.left-panel,
.right-panel {
- flex: 1;
- background: #ffffff;
- padding: 16px;
- box-sizing: border-box;
+ height: 100%;
}
.toolbar {
--
Gitblit v1.9.3