|
|
@@ -12,7 +12,7 @@
|
|
|
<layout-sider :resize-directions="['right']" :width="190" style="margin-right: 10px;">
|
|
|
<div class="JKWTree-tree treecolor">
|
|
|
<h3>出货月份选择</h3>
|
|
|
- <el-tree :data="treeData" :props="defaultProps" @node-click="handleNodeClick"></el-tree>
|
|
|
+ <el-tree class="treecolor" :data="treeData" :props="defaultProps" node-key="id" highlight-current @node-click="handleNodeClick"></el-tree>
|
|
|
</div>
|
|
|
</layout-sider>
|
|
|
|
|
|
@@ -21,7 +21,7 @@
|
|
|
<el-main>
|
|
|
<div class="gva-table-box">
|
|
|
<!-- 表格数据 -->
|
|
|
- <el-table ref="multipleTable" style="width: 100%; height: 40vh" tooltip-effect="dark",
|
|
|
+ <el-table ref="multipleTable" style="width: 100%; height: 40vh" tooltip-effect="dark"
|
|
|
:row-style="{ height: '25px' }" :header-cell-style="{ padding: '0px' }"
|
|
|
:cell-style="{ padding: '0px' }" :header-row-style="{ height: '20px' }"
|
|
|
:data="tableData" border row-key="ID"
|
|
|
@@ -48,7 +48,7 @@
|
|
|
/>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column sortable align="center" label="核批日期" prop="核批日期" width="140">
|
|
|
+ <el-table-column sortable align="center" label="产前样核批" prop="核批日期" width="140">
|
|
|
<template #default="{ row }">
|
|
|
<el-date-picker
|
|
|
v-model="row.核批日期"
|
|
|
@@ -170,6 +170,7 @@
|
|
|
yearMap[year] = [];
|
|
|
}
|
|
|
yearMap[year].push({
|
|
|
+ id: dateStr,
|
|
|
label: `${month}月`,
|
|
|
value: dateStr
|
|
|
});
|
|
|
@@ -204,22 +205,6 @@
|
|
|
|
|
|
// 处理节点点击
|
|
|
const handleNodeClick = async (node) => {
|
|
|
- // 重置所有节点颜色
|
|
|
- document.querySelectorAll('.treecolor .el-tree-node').forEach(treeNode => {
|
|
|
- const label = treeNode.querySelector('.el-tree-node__label');
|
|
|
- if (label) {
|
|
|
- label.style.color = '';
|
|
|
- }
|
|
|
- });
|
|
|
-
|
|
|
- // 获取当前点击的节点并设置颜色
|
|
|
- const clickedNode = document.querySelector(`.treecolor .el-tree-node[data-key="${node['$treeNodeId']}"]`);
|
|
|
- if (clickedNode) {
|
|
|
- const label = clickedNode.querySelector('.el-tree-node__label');
|
|
|
- if (label) {
|
|
|
- label.style.color = 'red';
|
|
|
- }
|
|
|
- }
|
|
|
|
|
|
// 只有叶子节点(包含value属性)才触发数据加载
|
|
|
if (node.value) {
|
|
|
@@ -229,40 +214,44 @@
|
|
|
}
|
|
|
|
|
|
// 获取工单数据
|
|
|
- const getWorkOrderData = async (rq) => {
|
|
|
- try {
|
|
|
- const response = await getWorkOrdersByMonth({ rq: rq });
|
|
|
- if (response.code === 0) {
|
|
|
- // 格式化日期为月日格式
|
|
|
- const formatDate = (dateStr) => {
|
|
|
- if (!dateStr) return '';
|
|
|
- const date = new Date(dateStr);
|
|
|
- return `${date.getMonth() + 1}月${date.getDate()}日`;
|
|
|
- };
|
|
|
-
|
|
|
- // 处理数据
|
|
|
- const formattedData = response.data.map((item, index) => ({
|
|
|
- ID: index + 1,
|
|
|
- ...item,
|
|
|
- '下单日期': formatDate(item['下单日期']),
|
|
|
- '货期': formatDate(item['货期']),
|
|
|
- '面料入库时间': formatDate(item['面料入库时间']),
|
|
|
- '开裁日期': formatDate(item['开裁日期']),
|
|
|
- '上车位日期': formatDate(item['上车位日期']),
|
|
|
- '车位完成日期': formatDate(item['车位完成日期']),
|
|
|
- '后道完成日期': formatDate(item['后道完成日期'])
|
|
|
- }));
|
|
|
-
|
|
|
- tableData.splice(0, tableData.length, ...formattedData);
|
|
|
- total.value = formattedData.length;
|
|
|
- } else {
|
|
|
- ElMessage.error('获取工单数据失败');
|
|
|
- }
|
|
|
- } catch (error) {
|
|
|
- console.error('获取工单数据失败:', error);
|
|
|
+const getWorkOrderData = async (rq) => {
|
|
|
+ try {
|
|
|
+ const response = await getWorkOrdersByMonth({ rq: rq });
|
|
|
+ if (response.code === 0) {
|
|
|
+ const formatDate = (dateStr) => {
|
|
|
+ if (!dateStr) return '';
|
|
|
+ const date = new Date(dateStr);
|
|
|
+ return `${date.getMonth() + 1}月${date.getDate()}日`;
|
|
|
+ };
|
|
|
+
|
|
|
+ // 按货期字符串排序(YYYY-MM-DD格式可以直接字符串排序)
|
|
|
+ const sortedData = [...response.data].sort((a, b) => {
|
|
|
+ return a['货期'].localeCompare(b['货期']);
|
|
|
+ });
|
|
|
+
|
|
|
+ // 处理数据
|
|
|
+ const formattedData = sortedData.map((item, index) => ({
|
|
|
+ ID: index + 1,
|
|
|
+ ...item,
|
|
|
+ '下单日期': formatDate(item['下单日期']),
|
|
|
+ '货期': formatDate(item['货期']),
|
|
|
+ '面料入库时间': formatDate(item['面料入库时间']),
|
|
|
+ '开裁日期': formatDate(item['开裁日期']),
|
|
|
+ '上车位日期': formatDate(item['上车位日期']),
|
|
|
+ '车位完成日期': formatDate(item['车位完成日期']),
|
|
|
+ '后道完成日期': formatDate(item['后道完成日期'])
|
|
|
+ }));
|
|
|
+
|
|
|
+ tableData.splice(0, tableData.length, ...formattedData);
|
|
|
+ total.value = formattedData.length;
|
|
|
+ } else {
|
|
|
ElMessage.error('获取工单数据失败');
|
|
|
}
|
|
|
+ } catch (error) {
|
|
|
+ console.error('获取工单数据失败:', error);
|
|
|
+ ElMessage.error('获取工单数据失败');
|
|
|
}
|
|
|
+}
|
|
|
|
|
|
// 表格行点击
|
|
|
const tableRowClick = async (row) => {
|
|
|
@@ -498,7 +487,7 @@
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
- const formattedDate = row.辅料入库时间 ? row.辅料入库时间 : getTodayYmd();
|
|
|
+ const formattedDate = row.辅料计划入库时间 ? row.辅料计划入库时间 : getTodayYmd();
|
|
|
const operator = userStore.userInfo.nickName;
|
|
|
|
|
|
const response = await AccessoriesInboundTime({
|
|
|
@@ -752,7 +741,10 @@
|
|
|
:deep(.el-table td .cell) {
|
|
|
line-height: 20px !important;
|
|
|
}
|
|
|
-
|
|
|
+/* 点击的树节点变红*/
|
|
|
+.treecolor :deep(.el-tree-node.is-current > .el-tree-node__content .el-tree-node__label) {
|
|
|
+ color: red !important;
|
|
|
+}
|
|
|
/* 响应式设计 */
|
|
|
@media (max-width: 1200px) {
|
|
|
.cert-wrapper {
|