zck 5 달 전
부모
커밋
34349c3287

+ 31 - 0
src/api/mes/job.js

@@ -825,6 +825,37 @@ export const delfujian = (data) => {
     data
   })
 }
+
+//附件资料左侧菜单(日期格式)
+export const OrderMenuList = (params) => {
+  return service({
+    url: '/mes_server/work_order/OrderMenuList',
+    method: 'get',
+    params
+  })
+}
+
+//Bom资料操作日志左侧菜单
+export const OrderBomLog = (params) => {
+  return service({
+    url: '/mes_server/work_order/OrderBomLog',
+    method: 'get',
+    params
+  })
+}
+
+
+//Bom资料操作变更日志记录查询
+export const GetBomEditLog = (params) => {
+  return service({
+    url: '/mes_server/work_order/GetBomEditLog',
+    method: 'get',
+    params
+  })
+}
+
+
+
 //入库、出库、退还更新
 export const rApictedit = (data) => {
   return service({

+ 238 - 0
src/view/material/Bomlog.vue

@@ -0,0 +1,238 @@
+<template>
+  <!-- <div> -->
+	<el-form ref="elSearchFormRef"  class="demo-form-inline">
+		<el-form-item>
+			<el-input v-model="searchInfo"  placeholder="搜索订单编号" style="width: 180px;" ></el-input>
+			<el-button type="primary" icon="search" @click="onSubmit" title="搜索"  ></el-button>
+		</el-form-item>
+	</el-form>	  
+
+					<!-- 左侧树状图区域 -->
+	<el-container>
+		<layout-sider :resize-directions="['right']" :width="220" style="margin-right: 10px;" >
+			<div class="JKWTree-tree" style="height: 70vh;" >
+				<h3>BOM资料变更日志管理</h3>
+				<el-tree :data="treeData" class="treecolor" highlight-current @node-click="handleNodeClick" />
+			</div>
+		</layout-sider>
+	<el-container>
+			
+<!-- 右侧内容区域 -->
+<layout-content >
+
+          <el-main>
+            <el-tabs v-model="activeName" @tab-click="handleClick">
+			  <el-tab-pane label="BOM资料日志" name="first">
+			    <el-table ref="multipleTable"
+			      :row-style="{ height: '30px' }"
+			      :cell-style="{ padding: '0px' }"
+			      :header-row-style="{ height: '30px' }"
+			      :header-cell-style="{ padding: '0px' }"
+			      :show-overflow-tooltip="true"
+			      :cell-class-name="planUsageCellClass"
+			      highlight-current-row="true"
+			      @row-dblclick="ExcelShow"
+			      style="width: 100%;height: 68vh"
+			      border tooltip-effect="dark"
+			      :data="jstableData"
+			      row-key="ID"
+			      @selection-change="fjSelectionChange">
+			  
+			      <el-table-column align="left" label="订单编号" prop="订单编号" width="115"/>
+			      <el-table-column align="left" label="物料名称" prop="物料名称" width="200"/>
+			      <el-table-column align="left" label="字段" prop="字段" width="130"/>
+			      <el-table-column align="left" label="修改前数据" prop="修改前数据" width="160"/>
+			      <el-table-column align="left" label="修改后数据" prop="修改后数据" width="160"/>
+			      <el-table-column align="left" label="修改人" prop="修改人" width="160"/>
+				  <el-table-column align="left" label="修改时间" prop="修改时间" width="160"/>
+			    </el-table>
+			  </el-tab-pane>
+              <!-- 分页 -->
+					<div class="gva-pagination">
+						<el-pagination
+							@size-change="handleSizeChange"
+							@current-change="handleCurrentChange"
+							:current-page="page"
+							:page-sizes="[10, 30, 50, 100]"
+							:page-size="pageSize"
+							layout="total, sizes, prev, pager, next, jumper"
+							:total="total">
+						</el-pagination>
+					</div>
+            </el-tabs>
+        </el-main>
+    </layout-content>
+</el-container>
+</el-container>
+	<luckyexcelPage ref="luckyexcelPageRef" />
+</template>
+
+<script>
+//点击按钮显示下方表格
+export default {
+  data() {
+    return {
+      currentTable: '', // 当前展示的表格
+      activeName: 'first',
+      _ddhval:'',
+	   size: '',
+	  add_gddialogFormVisible: true,
+    };
+  }
+};
+</script>
+<script setup> 
+import { Layout, LayoutSider, LayoutContent } from '@arco-design/web-vue';
+import { ElMessage, ElMessageBox,ElUpload, ElButton,ElLoading } from 'element-plus'
+import { ref, reactive, computed, nextTick, watch,onMounted,onBeforeUnmount } from 'vue'
+import {OrderBomLog,GetBomEditLog} from '@/api/mes/job'
+import axios from 'axios';
+import luckyexcelPage from '@/view/yunyin/shengchanguanli/components/luckyexcel.vue'
+const luckyexcelPageRef = ref()
+// 分页相关的响应式变量
+const page = ref(1)
+  const total = ref(0)
+  const pageSize = ref(50)
+
+const treeData = reactive([]);
+//左侧菜单栏数据
+  const getTabdata = async () => {
+  try {
+    const response = await OrderBomLog();
+    console.log(response);
+    
+    // 对年份进行降序排序(新的年份在前)
+    const sortedYears = Object.entries(response.data).sort(([yearA], [yearB]) => {
+      return parseInt(yearB) - parseInt(yearA); // 降序排列
+    });
+    
+    const transformedData = sortedYears.map(([year, months]) => {
+      // 一级节点:年份
+      const yearNode = {
+        label: `${year}年`,
+        children: []
+      };
+      
+      // 对月份进行降序排序(新的月份在前)
+      const sortedMonths = Object.entries(months).sort(([monthA], [monthB]) => {
+        return parseInt(monthB) - parseInt(monthA); // 降序排列
+      });
+      
+      // 遍历月份数据
+      sortedMonths.forEach(([month, dates]) => {
+        // 二级节点:月份
+        const monthNode = {
+          label: `${month}月`,
+          children: []
+        };
+        
+        // 对日期进行降序排序(新的日期在前)
+        const sortedDates = dates.sort((a, b) => {
+          return new Date(b) - new Date(a); // 降序排列
+        });
+        
+        // 三级节点:日期
+        sortedDates.forEach(date => {
+          // 从日期字符串中提取日期(如从 "2024-12-31" 中提取 "31")
+          const day = date.split('-')[2];
+          const dayNode = {
+            label: `${day}号`,
+            params: {
+              date: date,
+              year: year,
+              month: month,
+              day: day
+            }
+          };
+          monthNode.children.push(dayNode);
+        });
+        
+        yearNode.children.push(monthNode);
+      });
+      
+      return yearNode;
+    });
+    
+    treeData.splice(0, treeData.length, ...transformedData);
+    
+  } catch (error) {
+    console.error('获取树形数据失败:', error);
+  }
+};
+getTabdata();
+
+//获取表格数据
+const jstableData = reactive([])
+const ddtableData = reactive([])
+const noderq = ref('')
+const handleNodeClick = (node) => {
+	  // 取消所有节点的颜色
+	  const allNodes = document.querySelectorAll('.treecolor .el-tree-node');
+  allNodes.forEach(node => {
+    node.querySelector('.el-tree-node__label').style.color = '';
+  });
+  // 获取点击的节点
+  const clickedNodeId = node['$treeNodeId'];
+  const clickedNode = document.querySelector(`.treecolor .el-tree-node[data-key="${clickedNodeId}"]`);
+  if (clickedNode) {
+    // 给当前点击的节点改变颜色
+    clickedNode.querySelector('.el-tree-node__label').style.color = 'red';
+  }
+    if (!node.children) {
+		console.log(node)
+		noderq.value = node.params.date
+		getfjtable();
+	}
+};
+
+const getfjtable = async () => {
+	const jsOrderAttachments = await GetBomEditLog({order:'',page:page.value,limit:pageSize.value,sys_rq:noderq.value})
+    if (jsOrderAttachments.code === 0 ) {
+        jstableData.splice(0,jsOrderAttachments.data.list.length,...jsOrderAttachments.data.list);
+        total.value = jsOrderAttachments.data.total;
+    }
+}
+// const showPdf = async (row) => {
+// 	luckyexcelPageRef.value.open(row)
+// };
+
+const searchInfo = ref('')
+const serachlist = async () => {
+	const jssearchlist = await GetBomEditLog({order:searchInfo.value,page:page.value,limit:pageSize.value,})
+    if (jssearchlist.code === 0 && ddsearchlist.code === 0) {
+        jstableData.splice(0,jssearchlist.data.length,...jssearchlist.data.list);
+    }
+}
+const onSubmit = () => {
+	serachlist();
+}
+
+
+  // 分页
+  const handleCurrentChange = (val) => {
+	page.value = val;
+	if(searchInfo.value){
+		serachlist();
+	}else{
+		getfjtable();
+	}
+  };
+  
+  // 修改页面容量 点击多少条/页
+  const handleSizeChange = (val) => {
+	pageSize.value = val;
+	if(searchInfo.value){
+		serachlist();
+	}else{
+		getfjtable();
+	}
+  };
+</script>
+
+
+<style scoped>
+/* 选中某行时的背景色 */
+:deep(.el-table__body tr.current-row) > td {
+  background: #ff80ff !important;
+}
+</style>

+ 175 - 11
src/view/material/technological.vue

@@ -1,6 +1,25 @@
 <template>
+  <!-- <div> -->
+	<el-form ref="elSearchFormRef"  class="demo-form-inline">
+		<el-form-item>
+			<el-input v-model="searchInfo"  placeholder="搜索订单编号" style="width: 180px;" ></el-input>
+			<el-button type="primary" icon="search" @click="onSubmit" title="搜索"  ></el-button>
+		</el-form-item>
+	</el-form>	  
+
+					<!-- 左侧树状图区域 -->
+	<el-container>
+		<layout-sider :resize-directions="['right']" :width="220" style="margin-right: 10px;" >
+			<div class="JKWTree-tree" style="height: 70vh;" >
+				<h3>附件版本变更日志管理</h3>
+				<el-tree :data="treeData" class="treecolor" highlight-current @node-click="handleNodeClick" />
+			</div>
+		</layout-sider>
+	<el-container>
+			
 <!-- 右侧内容区域 -->
 <layout-content >
+
           <el-main>
             <el-tabs v-model="activeName" @tab-click="handleClick">
 			  <el-tab-pane label="技术附件" name="first">
@@ -36,7 +55,42 @@
 			      </el-table-column>
 			    </el-table>
 			  </el-tab-pane>
-              <!-- 分页 --> 
+
+			  <!-- 订单资料附件 -->
+			  <el-tab-pane label="订单资料附件" name="second">
+			    <el-table ref="multipleTable"
+			      :row-style="{ height: '30px' }"
+			      :cell-style="{ padding: '0px' }"
+			      :header-row-style="{ height: '30px' }"
+			      :header-cell-style="{ padding: '0px' }"
+			      :show-overflow-tooltip="true"
+			      :cell-class-name="planUsageCellClass"
+			      highlight-current-row="true"
+			      @row-dblclick="ExcelShow"
+			      style="width: 100%;height: 72vh"
+			      border tooltip-effect="dark"
+			      :data="ddtableData"
+			      row-key="ID"
+			      @selection-change="fjSelectionChange">
+			  
+			      <el-table-column align="left" label="关联编号" prop="关联编号" width="115"/>
+			      <el-table-column align="left" label="附件备注" prop="附件备注" width="110"/>
+			      <el-table-column align="left" label="文件类型" prop="附件类型" width="100"/>
+			      <el-table-column align="left" label="版本号" prop="version" width="80"/>
+			      <el-table-column align="left" label="建档用户" prop="sys_id" width="160"/>
+			      <el-table-column align="left" label="建档时间" prop="sys_rq" width="160"/>
+			      
+			      <!-- 操作列,新增修改和删除按钮 -->
+			      <el-table-column align="left" label="操作" width="230" fixed="right">
+			        <template #default="scope">
+			          <!-- PDF预览按钮 -->
+			          <el-button type="success" size="small" :data="ddtableData" @click="showPdf(scope.row)">PDF预览</el-button>
+			          <!-- 删除按钮 -->
+			        </template>
+			      </el-table-column>
+			    </el-table>
+			  </el-tab-pane>
+              <!-- 分页
 					<div class="gva-pagination">
 						<el-pagination
 							@size-change="handleSizeChange"
@@ -47,10 +101,12 @@
 							layout="total, sizes, prev, pager, next, jumper"
 							:total="total">
 						</el-pagination>
-					</div>
+					</div> -->
             </el-tabs>
         </el-main>
     </layout-content>
+</el-container>
+</el-container>
 	<luckyexcelPage ref="luckyexcelPageRef" />
 </template>
 
@@ -72,7 +128,7 @@ export default {
 import { Layout, LayoutSider, LayoutContent } from '@arco-design/web-vue';
 import { ElMessage, ElMessageBox,ElUpload, ElButton,ElLoading } from 'element-plus'
 import { ref, reactive, computed, nextTick, watch,onMounted,onBeforeUnmount } from 'vue'
-import {OrderAttachments} from '@/api/mes/job'
+import {OrderAttachments,OrderMenuList} from '@/api/mes/job'
 import axios from 'axios';
 import luckyexcelPage from '@/view/yunyin/shengchanguanli/components/luckyexcel.vue'
 const luckyexcelPageRef = ref()
@@ -81,32 +137,140 @@ const page = ref(1)
   const total = ref(0)
   const pageSize = ref(50)
 
+const treeData = reactive([]);
+//左侧菜单栏数据
+  const getTabdata = async () => {
+  try {
+    const response = await OrderMenuList();
+    console.log(response);
+    
+    // 对年份进行降序排序(新的年份在前)
+    const sortedYears = Object.entries(response.data).sort(([yearA], [yearB]) => {
+      return parseInt(yearB) - parseInt(yearA); // 降序排列
+    });
+    
+    const transformedData = sortedYears.map(([year, months]) => {
+      // 一级节点:年份
+      const yearNode = {
+        label: `${year}年`,
+        children: []
+      };
+      
+      // 对月份进行降序排序(新的月份在前)
+      const sortedMonths = Object.entries(months).sort(([monthA], [monthB]) => {
+        return parseInt(monthB) - parseInt(monthA); // 降序排列
+      });
+      
+      // 遍历月份数据
+      sortedMonths.forEach(([month, dates]) => {
+        // 二级节点:月份
+        const monthNode = {
+          label: `${month}月`,
+          children: []
+        };
+        
+        // 对日期进行降序排序(新的日期在前)
+        const sortedDates = dates.sort((a, b) => {
+          return new Date(b) - new Date(a); // 降序排列
+        });
+        
+        // 三级节点:日期
+        sortedDates.forEach(date => {
+          // 从日期字符串中提取日期(如从 "2024-12-31" 中提取 "31")
+          const day = date.split('-')[2];
+          const dayNode = {
+            label: `${day}号`,
+            params: {
+              date: date,
+              year: year,
+              month: month,
+              day: day
+            }
+          };
+          monthNode.children.push(dayNode);
+        });
+        
+        yearNode.children.push(monthNode);
+      });
+      
+      return yearNode;
+    });
+    
+    treeData.splice(0, treeData.length, ...transformedData);
+    
+  } catch (error) {
+    console.error('获取树形数据失败:', error);
+  }
+};
+getTabdata();
+
 //获取表格数据
 const jstableData = reactive([])
+const ddtableData = reactive([])
+const noderq = ref('')
+const handleNodeClick = (node) => {
+	  // 取消所有节点的颜色
+	  const allNodes = document.querySelectorAll('.treecolor .el-tree-node');
+  allNodes.forEach(node => {
+    node.querySelector('.el-tree-node__label').style.color = '';
+  });
+  // 获取点击的节点
+  const clickedNodeId = node['$treeNodeId'];
+  const clickedNode = document.querySelector(`.treecolor .el-tree-node[data-key="${clickedNodeId}"]`);
+  if (clickedNode) {
+    // 给当前点击的节点改变颜色
+    clickedNode.querySelector('.el-tree-node__label').style.color = 'red';
+  }
+    if (!node.children) {
+		console.log(node)
+		noderq.value = node.params.date
+		getfjtable();
+	}
+};
 
-const getjsfjtable = async () => {
-	const jsOrderAttachments = await OrderAttachments({order:'',desc:'',page:page.value,limit:pageSize.value})
-    if (jsOrderAttachments.code === 0) {
-        console.log(jsOrderAttachments.data.list.length)
+const getfjtable = async () => {
+	const jsOrderAttachments = await OrderAttachments({order:'',desc:'技术附件',sys_rq:noderq.value})
+	const ddOrderAttachments = await OrderAttachments({order:'',desc:'订单资料附件',sys_rq:noderq.value})
+    if (jsOrderAttachments.code === 0 && ddOrderAttachments.code === 0) {
         jstableData.splice(0,jsOrderAttachments.data.list.length,...jsOrderAttachments.data.list);
-        total.value = jsOrderAttachments.data.total;
+        ddtableData.splice(0,ddOrderAttachments.data.list.length,...ddOrderAttachments.data.list);
     }
 }
-getjsfjtable();
 const showPdf = async (row) => {
 	luckyexcelPageRef.value.open(row)
 };
 
+const searchInfo = ref('')
+const serachlist = async () => {
+	const jssearchlist = await OrderAttachments({order:searchInfo.value,page:page.value,limit:pageSize.value,desc:'技术附件'})
+	const ddsearchlist = await OrderAttachments({order:searchInfo.value,page:page.value,limit:pageSize.value,desc:'订单资料附件'})
+    if (jssearchlist.code === 0 && ddsearchlist.code === 0) {
+        jstableData.splice(0,jssearchlist.data.length,...jssearchlist.data.list);
+        ddtableData.splice(0,ddsearchlist.data.length,...ddsearchlist.data.list);
+    }
+}
+const onSubmit = () => {
+	serachlist();
+}
+
 
   // 分页
   const handleCurrentChange = (val) => {
 	page.value = val;
-	getjsfjtable();
+	getfjtable();
   };
   
   // 修改页面容量 点击多少条/页
   const handleSizeChange = (val) => {
 	pageSize.value = val;
-	getjsfjtable();
+	getfjtable();
   };
 </script>
+
+
+<style scoped>
+/* 选中某行时的背景色 */
+:deep(.el-table__body tr.current-row) > td {
+  background: #ff80ff !important;
+}
+</style>

+ 474 - 0
src/view/performance/QualityAssessment/orderstatus.vue

@@ -0,0 +1,474 @@
+<template>
+	<h3>工单生产批次信息查询</h3>
+	
+	<div
+	  style="
+	    width: 60%; 
+	    height: 470px; 
+	    position: fixed; 
+	    left: 25%; 
+	    padding: 20px; 
+	    border-radius: 8px; 
+	    background-color: #fff; 
+	    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.1);">
+	  <div style="margin-top: 10px;">
+	    <!-- 提示信息 -->
+	    <hr>
+	    <p style="font-size: 14px; color: red; margin: 10px 0;">搜索栏目为空,则从最近2周完工的工单中选择</p>
+	    <p style="font-size: 14px; color: red; margin: 10px 0;">否则,以栏目值为关键字,从工单编号、产品名称、客户名称中选择</p>
+	    <hr>
+	    
+	    <!-- 输入框和按钮 -->
+	    <div style="display: flex; align-items: center; margin-top: 10px;">
+	      <el-input v-model="searchInfolcd" placeholder="Enter回车搜索工单编号" @keydown="Enterkeysearch" id="searchInfo" style="height: 40px;flex: 1;"></el-input>
+	      <el-button type="primary" title="搜索"  icon="el-icon-search" style="width: 70px;height: 40px;font-size: 18px;"  @click="onSubmitlcd" >搜索</el-button>
+						<el-button type="primary" title="查看"  icon="el-icon-search" style="width: 110px;height: 40px;font-size: 18px;"  @click="onstatsuclick" >查看流程单</el-button>
+	    </div>
+	    
+	    <!-- 表格展示区域 -->
+	    <div class="gva-table-box" style="margin-top: 15px;">
+	      <el-table 
+							ref="multipleTable"
+							style="width: 100%; height: 30vh; verflow: auto;" 
+							:row-style="{ height: '20px' }"  :header-cell-style="{ padding: '0px' }"
+							:cell-style="{ padding: '0px' }" :header-row-style="{ height: '20px' }"
+							:data="tableDatalcd" 
+							:border="true" 
+							:tooltip-effect="'dark'"
+							row-key="ID"
+							highlight-current-row
+							@row-click="tableRowClicklcd"
+							@row-dblclick="updateCompanyFunclcd"
+							@selection-change="handleSelectionChange">
+			<el-table-column align="left"  label="工单编号" 	  width="115"	prop="Gd_gdbh" />
+			<el-table-column align="left"  label="行号" 	  width="60"	prop="行号" />
+			<el-table-column align="left"  label="工序名称" 	 	prop="Gd_cpmc"  />
+	        <!-- <el-table-column prop="工单" label="工单编号-行号-工序名称" align="left" sortable show-overflow-tooltipmin-width="300"/> -->
+	      </el-table>
+	    </div>
+	  </div>
+	</div>
+	<!-- 机台生产日报表维护弹窗 -->
+	<el-dialog v-model="popdialog" title="机台生产日报表维护" destroy-on-close width="90%" style="height: 92%; margin-left: 5%; margin-top: 1%;">
+	  <div>
+	    <!-- 顶层布局 -->
+	    <layout>
+	      <!-- 顶部的搜索区域 -->
+	      <layout-header>
+	        <el-form ref="elSearchFormRef" class="demo-form-inline" :rules="searchRule">
+	          <!-- 添加按钮 -->
+			  <el-button type="primary" icon="edit" style="color: white;margin-left: 20px;"   @click="ontuicclick"  class="bt" title="退出">退出</el-button>
+	        </el-form>
+	      </layout-header>
+	
+	      <!-- 左右布局 -->
+	      <layout style="height: calc(100% - 50px); display: flex;">
+	        <!-- 左侧树形区域 -->
+	        <layout-sider style="width: 140px; margin-right: 10px; overflow: hidden;height: 584px;">
+	          <div class="JKWTree-tree" style="height: 100%; max-height: 100vh; overflow-y: auto;">
+	            <h3></h3>
+	            <el-tree
+	              :data="treeDatalcd"
+	              node-key="num"
+	              highlight-current
+	              :props="defaultProps"
+	              @node-click="handleNodeClicklcd"
+	            />
+	          </div>
+	        </layout-sider>
+	
+	
+	        <!-- 右侧表格区域 -->
+	        <layout-content style="flex: 1; overflow: auto;">
+	          <el-main>
+				 <div style="width: 100%; font-family: Arial, sans-serif; font-size: 14px;">
+					 <div style="display: flex; justify-content: space-between; margin-bottom: 10px;">
+					   <p style="flex: 0.4; margin: 0;">工单编号:<span style="color: red;">{{ _GetorderDetail['Gd_gdbh'] }}</span></p>
+					   <p style="flex: 0.3; margin: 0;">产品代号:<span style="color: red;">{{ _GetorderDetail['Gd_cpdh'] }}</span></p>
+					   <p style="flex: 1; margin: 0;">产品名称:<span style="color: red;">{{ _GetorderDetail['Gd_cpmc'] }}</span></p>
+					 </div>
+					 <div style="display: flex; justify-content: space-between; margin-bottom: 10px;">
+					   <p style="flex: 0.4; margin: 0;">订单数量:<span style="color: red;">{{ _GetorderDetail['订单数量'] }}</span></p>
+					   <p style="flex: 0.3; margin: 0;">实际投料:<span style="color: red;">{{ _GetorderDetail['实际投料'] }}</span></p>
+					   <p style="flex: 1; margin: 0;">
+						 单位:<span style="color: red;">{{ _GetorderDetail['计量单位'] }}</span> 
+						 目标合格率:<span style="color: red;">{{ _GetorderDetail['投料率'] }}</span>
+					   </p>
+					 </div>
+				   </div>
+				  
+				  <el-tabs v-model="activeName" @tab-click="handleClick">
+						<el-tab-pane label="工艺及生产班组"  @click="showTable('工艺及生产班组')"  name="first">
+						  <el-table tooltip-effect="dark" :data="lcdtableData" row-key="ID"
+						    highlight-current-row="true"
+						    :row-style="{ height: '0px' }" :header-cell-style="{ padding: '0px' }"
+						    :cell-style="{ padding: '0px' }" :header-row-style="{ height: '0px' }"
+						    border :show-overflow-tooltip="true" :cell-class-name="planUsageCellClass"
+						    style="width: 100%;height: 56vh" ref="tablesczl_gxmc"
+						    @row-dblclick="gyscbzSelectClick">
+						    <el-table-column align="left"  label="流程单号" 	  width="81"	prop="流程单号" />
+						    <el-table-column align="left"  label="工序号" 	  width="68"	prop="工序号" />
+						    <el-table-column align="left"  label="工序名称" 	  width="240"	prop="工序名称"  />
+						    <el-table-column align="left"  label="生产日期" 	  width="120"	prop="生产日期"  />
+						    <el-table-column align="left"  label="机台编号" 	  width="81"	prop="机台编号"  />
+						    <el-table-column align="left"  label="班组人员01"  width="105"  :formatter="(row) => `${row.sczl_bh1 || ''} ${row.name1 || ''}`"/>
+						    <el-table-column align="left"  label="班组人员02"  width="105"  :formatter="(row) => `${row.sczl_bh2 || ''} ${row.name2 || ''}`"/>
+						    <el-table-column align="left"  label="班组人员03"  width="105"  :formatter="(row) => `${row.sczl_bh3 || ''} ${row.name3 || ''}`"/>
+						    <el-table-column align="left"  label="班组人员04"  width="105"  :formatter="(row) => `${row.sczl_bh4 || ''} ${row.name4 || ''}`"/>
+						    <el-table-column align="left"  label="班组人员05"  width="105"  :formatter="(row) => `${row.sczl_bh5 || ''} ${row.name5 || ''}`"/>
+						    <el-table-column align="left"  label="班组人员06"  width="105"  :formatter="(row) => `${row.sczl_bh6 || ''} ${row.name6 || ''}`"/>
+						    <el-table-column align="left"  label="班组人员07"  width="105"  :formatter="(row) => `${row.sczl_bh7 || ''} ${row.name7 || ''}`"/>
+						    <el-table-column align="left"  label="班组人员08"  width="105"  :formatter="(row) => `${row.sczl_bh8 || ''} ${row.name8 || ''}`"/>
+						    <el-table-column align="left"  label="班组人员09"  width="105"  :formatter="(row) => `${row.sczl_bh9 || ''} ${row.name9 || ''}`"/>
+						    <el-table-column align="left"  label="班组人员10"  width="105"  :formatter="(row) => `${row.sczl_bh10 || ''} ${row.name10 || ''}`"/>
+						  </el-table>
+						</el-tab-pane>
+
+						<el-tab-pane label="制程检验记录"  @click="showTable('制程检验记录')"  name="second">
+						  <el-table tooltip-effect="dark" :data="zcjyjltableData" row-key="ID"
+						    highlight-current-row="true"
+						    :row-style="{ height: '0px' }" :header-cell-style="{ padding: '0px' }"
+						    :cell-style="{ padding: '0px' }" :header-row-style="{ height: '0px' }"
+						    border :show-overflow-tooltip="true" :cell-class-name="planUsageCellClass"
+						    style="width: 100%;height: 65vh" ref="tablzcycjl_gxmc"
+						    @row-dblclick="zcycjlSelectClick">
+						    <el-table-column align="left"  label="流程单号" width="100"	prop="流程单号" />
+						    <el-table-column align="left"  label="工序名称" width="260"	prop="工序名称" />
+						    <el-table-column align="left"  label="班组编号" width="100"	prop="班组编号"  />
+						    <el-table-column align="left"  label="类别"  width="160"	prop="类别"  />
+						    <el-table-column align="left"  label="检验项目" width="160"	prop="检验项目"  />
+						    <el-table-column align="left"  label="检验结果" width="160"	prop="检验结果"  />
+						    <el-table-column align="left"  label="项目备注" width="160"	prop="项目备注"  />
+						    <el-table-column align="left"  label="修改标准" width="160"	prop="修改标准"  />
+						  </el-table>
+						</el-tab-pane>
+						
+						<el-tab-pane label="制程异常记录"  @click="showTable('制程异常记录')"  name="third">
+						  <el-table tooltip-effect="dark" :data="zcycjltableData" row-key="ID"
+						    highlight-current-row="true"
+						    :row-style="{ height: '0px' }" :header-cell-style="{ padding: '0px' }"
+						    :cell-style="{ padding: '0px' }" :header-row-style="{ height: '0px' }"
+						    border :show-overflow-tooltip="true" :cell-class-name="planUsageCellClass"
+						    style="width: 100%;height: 65vh" ref="tablzcycjl_gxmc"
+						    @row-dblclick="zcycjlSelectClick">
+						    <el-table-column align="left"  label="流程单号" 	  width="100"	prop="流程单号" />
+						    <el-table-column align="left"  label="数量" 	  	  width="100"	prop="数量" />
+						    <el-table-column align="left"  label="异常备注" 	  width="400"	prop="缺陷备注"  />
+						    <el-table-column align="left"  label="用户" 	  	  width="160"	prop="用户"  />
+						  </el-table>
+						</el-tab-pane>
+	
+				  </el-tabs>
+	          </el-main>
+	        </layout-content>
+	      </layout>
+	    </layout>
+	  </div>
+	</el-dialog>
+
+	
+</template>
+<script>
+//点击按钮显示下方表格
+export default {
+  data() {
+    return {
+      currentTable: '', // 当前展示的表格
+      activeName: 'first',
+	  _GetorderDetail:'',
+    };
+  },
+  methods: {
+    
+  }
+};
+</script>
+<script setup>
+// import {
+//   getDepartment,
+//   getMachineInfo
+// } from '@/api/mes/job'
+// import {
+//   createCompany,
+//   deleteCompany,
+//   deleteCompanyByIds,
+//   updateCompany,
+//   findCompany,
+//   getCompanyList
+// } from '@/api/company'
+// 全量引入格式化工具 请按需保留
+import { ElMessage, ElMessageBox } from 'element-plus'
+import { ref, reactive } from 'vue'
+// import {
+//   StaGetOrderList,
+//   StaGetList,
+//   StaProcessList,
+//   StaGetOrderDetail,
+//   StaProcessAnomaly,
+//   StaProcessInspection,
+// } from '@/api/mes/job'
+//获取当前登录用户信息
+import { useUserStore } from '@/pinia/modules/user'
+const userStore = useUserStore()
+const sys_id='['+userStore.userInfo.userName+'/'+userStore.userInfo.nickName+']'
+
+defineOptions({
+    name: 'Company'
+})
+
+// //进入页面默认光标加载
+// setTimeout(() => {
+// 	const inputElement = document.getElementById('searchInfo');
+// 	if (inputElement) {
+// 		inputElement.focus();		
+// 	}
+// }, 100);
+			
+// /*
+// 	工单生产批次信息查询
+// */
+// const scpconlist = ref(false);
+// const scpconClick = async () => {
+//   console.log(formData.value.工单编号)
+//   searchInfolcd.value = formData.value.工单编号
+//   scpconlist.value = true;
+//   tableDatalcd.splice(0,tableDatalcd.length,...[]);//表格数据
+//   onSubmitlcd()//调用接口
+// }
+// //进入页面默认光标加载
+// setTimeout(() => {
+// 	const inputElement = document.getElementById('searchInfo');
+// 	if (inputElement) {
+// 		inputElement.focus();		
+// 	}
+// }, 100);
+			
+// //搜索
+// const searchInfolcd = ref('');
+// const tableDatalcd = reactive([])
+// //查询按钮
+// const onSubmitlcd = () => {
+//   _StaGetOrderList()
+// };
+// //搜索回车
+// const Enterkeysearch = (event) => {
+//    if (event.key === 'Enter') {
+//       _StaGetOrderList();
+//     }
+// };
+// //调用接口
+// const _StaGetOrderList = async (node) => {
+//   const StaGetOrderListdata = await StaGetOrderList({search:searchInfolcd.value});
+//   console.log(StaGetOrderListdata)
+// 	if (StaGetOrderListdata.data === null) {
+// 	  ElMessage({
+// 		type: 'warning',
+// 		message: '未搜索具体查询条件',
+// 		customClass: 'custom-message', // 添加自定义类名
+// 		duration: 3000 // 可选:设置消息显示的持续时间(单位:毫秒)
+// 	  });
+// 	}
+//   tableDatalcd.splice(0,tableDatalcd.length,...StaGetOrderListdata.data);//表格数据
+// };
+
+// // 树形节点属性映射
+// const treeDatalcd = reactive([]);
+// const defaultProps = {
+//   label: '流程单',
+//   children: 'children',
+// };
+// //全局调用工单编号、印件号
+// const _Gd_gdbhlcd = ref(null)
+// const _Gd_yjnolcd = ref(null)
+// const _GetorderDetail = ref(null)
+
+
+// /*
+// 	弹窗页面
+// */
+// const popdialog = ref(false);
+// const currentRow = ref('');
+// // 获取当前行数据
+// const tableRowClicklcd = (row) => {
+//   currentRow.value = row; // 保存当前选中行
+// };
+
+// // 按钮点击逻辑
+// const onstatsuclick  = async () => {
+// 	console.log(currentRow)
+//   if (!currentRow.value) {
+// 	ElMessage({
+// 	  type: "warning",
+// 	  message: "请先点击选择一行数据",
+// 	});
+// 	return;
+//   }
+//   await updateCompanyFunclcd(currentRow.value);
+// };
+// //双击
+// const updateCompanyFunclcd = async (row) => {
+// 	console.log("双击",row)
+// 	_Gd_gdbhlcd.value = row['Gd_gdbh']
+// 	_Gd_yjnolcd.value =row['行号']
+	
+// 	const StaGetOrderDetaildata = await StaGetOrderDetail({ gdbh: row['Gd_gdbh'], yjno: row['行号'] });
+// 	let resultData = StaGetOrderDetaildata.data;
+// 	// 遍历对象,将 null 值替换为空字符串
+// 	Object.keys(resultData).forEach((key) => {
+// 	  if (resultData[key] === null) {
+// 	    resultData[key] = '';
+// 	  }
+// 	});
+// 	_GetorderDetail.value = resultData;
+// 	// console.log("_GetorderDetail.value", _GetorderDetail.value);
+// 	_StaGetList(row)
+// }
+
+// //左侧树形节点点击事件
+// const handleNodeClicklcd = (node) => {
+//   _StaProcessList(node['num'])
+//   _StaProcessInspection(node['num'])
+//   _StaProcessAnomaly(node['num'])
+// };
+
+// //获取左侧菜单栏
+// const _StaGetList = async (row) => {
+//   const StaGetListdata = await StaGetList({gdbh:row['Gd_gdbh'],yjno:row['行号']});
+//   console.log(StaGetListdata.msg)
+//   if(StaGetListdata.msg === '成功'){
+// 	  treeDatalcd.splice(0, treeDatalcd.length, ...StaGetListdata.data);
+// 	  popdialog.value = true
+//   }else{
+// 	  console.log(StaGetListdata.msg)
+// 	  ElMessage({type: 'warning',message: StaGetListdata.msg})
+//   }
+// };
+
+// //工艺及生产班组
+// const lcdtableData = reactive([])
+// const _StaProcessList = async (node) => {
+//   const StaProcessListdata = await StaProcessList({gdbh:_Gd_gdbhlcd.value,yjno:_Gd_yjnolcd.value,num:node});
+//   if(StaProcessListdata.code === 0){
+// 	lcdtableData.splice(0,lcdtableData.length,...StaProcessListdata.data);
+//   }else{
+// 	lcdtableData.splice(0,lcdtableData.length,...[]);
+//   }
+// };
+
+// //制程异常记录
+// const zcjyjltableData = reactive([])
+// const _StaProcessInspection = async (node) => {
+//   const StaProcessInspectiondata = await StaProcessInspection({gdbh:_Gd_gdbhlcd.value,yjno:_Gd_yjnolcd.value,num:node});
+//   if(StaProcessInspectiondata.code === 0){
+// 	zcjyjltableData.splice(0,zcjyjltableData.length,...StaProcessInspectiondata.data);
+//   }else{
+// 	zcjyjltableData.splice(0,zcjyjltableData.length,...[]);
+//   }
+// };
+
+// //制程异常记录
+// const zcycjltableData = reactive([])
+// const _StaProcessAnomaly = async (node) => {
+//   const StaProcessAnomalydata = await StaProcessAnomaly({gdbh:_Gd_gdbhlcd.value,yjno:_Gd_yjnolcd.value,num:node});
+//   if(StaProcessAnomalydata.code === 0){
+// 	zcycjltableData.splice(0,zcycjltableData.length,...StaProcessAnomalydata.data);
+//   }else{
+// 	zcycjltableData.splice(0,zcycjltableData.length,...[]);
+//   }
+// };
+
+// //退出按钮
+// const ontuicclick = async () => {
+//   popdialog.value = false
+// };
+
+// //退出按钮
+// const ontuicclicks = async () => {
+//   scpconlist.value = false
+// };
+
+
+
+
+</script>
+
+
+<style scoped>
+	:deep(.plan-usage-low div) {
+		color: red !important;
+	}
+
+	.JKWTree-container {
+		display: flex;
+	}
+
+	.JKWTree-tree {
+		width: 100%;
+		background-color: #fff;
+		/*background-color: rgba(241, 224, 224, 0.99);*/
+		padding: 10px;
+		margin-right: 20px;
+	}
+
+	.JKWTree-tree h3 {
+		font-size: 15px;
+		font-weight: 700;
+		margin: 10px 0;
+	}
+
+	.JKWTree-content {
+		flex: 1;
+	}
+
+
+	:deep(.el-table__body .warning-row) {
+		background: #FFFF80 !important;
+	}
+
+	/* 选中某行时的背景色 */
+	:deep(.el-table__body tr.current-row)>td {
+		background: #ff80ff !important;
+	}
+
+	:deep(.el-table .bg-yellow) {
+		background: yellow;
+	}
+</style>
+<style scoped>
+	:deep(.el-table td .cell) {
+		line-height: 25px !important;
+	}
+
+	:deep(.el-tabs__header) {
+		margin-bottom: 0;
+	}
+	
+
+	.search {
+		margin-left: 0px !important;
+		margin-right: 10px !important;
+	}
+
+	.bt {
+		margin-left: 2px !important;
+		padding: 3px !important;
+		font-size: 12px;
+
+	}
+
+	.el-tabs__header {
+		margin: 0px !important;
+	}
+
+	.gva-table-box {
+		padding: 0px !important;
+	}
+
+	.mab {
+		margin-bottom: 5px;
+	}
+	/* tree组件背景高亮 */
+	:deep(.el-tree-node:focus > .el-tree-node__content){
+			background: #ff80ff !important;
+		}
+</style>

+ 2 - 2
src/view/performance/baozhuangbaogong.vue

@@ -681,8 +681,8 @@ const showPdf = async (row) => {
 			const searchValue = add_searchInfo.value.split('-')[0];
 			const jsOrderAttachments = await OrderAttachments({order:searchValue,desc:'技术附件'})
 			const ddOrderAttachments = await OrderAttachments({order:searchValue,desc:'订单资料附件'})
-			jstableData.splice(0,jsOrderAttachments.data.length,...jsOrderAttachments.data);
-			ddtableData.splice(0,ddOrderAttachments.data.length,...ddOrderAttachments.data);
+			jstableData.splice(0,jsOrderAttachments.data.list.length,...jsOrderAttachments.data.list);
+			ddtableData.splice(0,ddOrderAttachments.data.list.length,...ddOrderAttachments.data.list);
 			
 			_yskskh.value = getSpotLists.data.list //颜色、款式、款号
 			_serial.value = String(getSpotLists.data.serial) //流水号

+ 2 - 2
src/view/performance/caiqiebaogong.vue

@@ -541,8 +541,8 @@ const add_onSubmit = async ()=>{
 	const searchValue = add_searchInfo.value.split('-')[0];
 	const jsOrderAttachments = await OrderAttachments({order:searchValue,desc:'技术附件'})
 	const ddOrderAttachments = await OrderAttachments({order:searchValue,desc:'订单资料附件'})
-	jstableData.splice(0,jsOrderAttachments.data.length,...jsOrderAttachments.data);
-	ddtableData.splice(0,ddOrderAttachments.data.length,...ddOrderAttachments.data);
+	jstableData.splice(0,jsOrderAttachments.data.list.length,...jsOrderAttachments.data.list);
+	ddtableData.splice(0,ddOrderAttachments.data.list.length,...ddOrderAttachments.data.list);
 	_list.value = getSpotLists.data.list
 	_UniqId.value = getSpotLists.data.list.UniqId
 	

+ 2 - 2
src/view/performance/chafengbaogong.vue

@@ -677,8 +677,8 @@ const showPdf = async (row) => {
 			const searchValue = add_searchInfo.value.split('-')[0];
 			const jsOrderAttachments = await OrderAttachments({order:searchValue,desc:'技术附件'})
 			const ddOrderAttachments = await OrderAttachments({order:searchValue,desc:'订单资料附件'})
-			jstableData.splice(0,jsOrderAttachments.data.length,...jsOrderAttachments.data);
-			ddtableData.splice(0,ddOrderAttachments.data.length,...ddOrderAttachments.data);
+			jstableData.splice(0,jsOrderAttachments.data.list.length,...jsOrderAttachments.data.list);
+			ddtableData.splice(0,ddOrderAttachments.data.list.length,...ddOrderAttachments.data.list);
 			
 			_yskskh.value = getSpotLists.data.list //颜色、款式、款号
 			_serial.value = String(getSpotLists.data.serial) //流水号

+ 2 - 2
src/view/performance/datangbaogong.vue

@@ -483,8 +483,8 @@ const add_onSubmit = async ()=>{
 	 const searchValue = add_searchInfo.value.split('-')[0];
 	 const jsOrderAttachments = await OrderAttachments({order:searchValue,desc:'技术附件'})
 	 const ddOrderAttachments = await OrderAttachments({order:searchValue,desc:'订单资料附件'})
-	 jstableData.splice(0,jsOrderAttachments.data.length,...jsOrderAttachments.data);
-	 ddtableData.splice(0,ddOrderAttachments.data.length,...ddOrderAttachments.data);
+	 jstableData.splice(0,jsOrderAttachments.data.list.length,...jsOrderAttachments.data.list);
+	 ddtableData.splice(0,ddOrderAttachments.data.list.length,...ddOrderAttachments.data.list);
 	 
 }
 

+ 2 - 2
src/view/performance/houdaoshougong.vue

@@ -487,8 +487,8 @@ const add_onSubmit = async ()=>{
 	 const searchValue = add_searchInfo.value.split('-')[0];
 	 const jsOrderAttachments = await OrderAttachments({order:searchValue,desc:'技术附件'})
 	 const ddOrderAttachments = await OrderAttachments({order:searchValue,desc:'订单资料附件'})
-	 jstableData.splice(0,jsOrderAttachments.data.length,...jsOrderAttachments.data);
-	 ddtableData.splice(0,ddOrderAttachments.data.length,...ddOrderAttachments.data);
+	 jstableData.splice(0,jsOrderAttachments.data.list.length,...jsOrderAttachments.data.list);
+	 ddtableData.splice(0,ddOrderAttachments.data.list.length,...ddOrderAttachments.data.list);
 	 
 }
 

+ 2 - 2
src/view/performance/zongjianbaogong.vue

@@ -681,8 +681,8 @@ const showPdf = async (row) => {
 			const searchValue = add_searchInfo.value.split('-')[0];
 			const jsOrderAttachments = await OrderAttachments({order:searchValue,desc:'技术附件'})
 			const ddOrderAttachments = await OrderAttachments({order:searchValue,desc:'订单资料附件'})
-			jstableData.splice(0,jsOrderAttachments.data.length,...jsOrderAttachments.data);
-			ddtableData.splice(0,ddOrderAttachments.data.length,...ddOrderAttachments.data);
+			jstableData.splice(0,jsOrderAttachments.data.list.length,...jsOrderAttachments.data.list);
+			ddtableData.splice(0,ddOrderAttachments.data.list.length,...ddOrderAttachments.data.list);
 			
 			_yskskh.value = getSpotLists.data.list //颜色、款式、款号
 			_serial.value = String(getSpotLists.data.serial) //流水号

+ 2 - 0
src/view/yunyin/shengchanguanli/chengpinrucang.vue

@@ -79,6 +79,8 @@
                <el-table-column  sortable align="center" label="订单编号" prop="订单编号"  width="120" />
                <el-table-column  sortable align="center" label="子订单编号" prop="子订单编号"  width="160" />
                <el-table-column  sortable align="center" label="PO号" prop="生产款号"  width="200" />
+               <el-table-column  sortable align="center" label="颜色" prop="颜色"  width="160" />
+               <el-table-column  sortable align="center" label="颜色备注" prop="颜色备注"  width="200" />
                <el-table-column   align="center" label="本月总检完工数量" prop="入仓数量"  width="150" />
                <el-table-column   align="center" label="累计总检完工数量" prop="累计入仓数量"  width="150" />
                <el-table-column   align="center" label="裁剪数量" prop="裁剪数量"  width="100" />