zck пре 9 месеци
родитељ
комит
6c64763c2c

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

@@ -710,6 +710,15 @@ export const getPPDelete = (params) => {
   }) 
 }
 
+//印版管理->印版库管理菜单下方客户产品印版管理
+export const getPPkhTab = (params) => {
+  return service({
+    url: '/mes_server/Printing_Plate/PrintDetailTab',
+    method: 'get',
+    params
+  })
+}
+
 
 //电化铝领用记录->左侧菜单
 export const getAETab = (params) => {

+ 18 - 4
src/view/equipment/Inspectionstatistics.vue

@@ -16,10 +16,10 @@
   
         <layout>
           <!--    左侧树侧形结构-->
-          <layout-sider :resize-directions="['right']" :width="190" style="margin-right: 10px;">
-            <div class="JKWTree-tree" style="height: 200px">
+          <layout-sider :resize-directions="['right']" :width="330" style="margin-right: 10px;">
+            <div class="JKWTree-tree" style="height: 200px ">
               <h3>近期设备点检统计</h3>
-              <el-tree :data="treeData"  :props="defaultProps" @node-click="handleNodeClick" @node-expand="handleNodeExpand">
+              <el-tree :data="treeData"   @node-click="handleNodeClick" @node-expand="handleNodeExpand">
               </el-tree>
             </div>
           </layout-sider>
@@ -40,7 +40,7 @@
                         @selection-change="handleSelectionChange">
                <el-table-column  sortable align="center" label="部件编号" prop="部件编号"  width="120" />
                <el-table-column  sortable align="center" label="部件名称" prop="部件名称"  width="130" />
-               <el-table-column   align="center" label="检验项目" prop="检验项目"  width="60" />
+               <el-table-column   align="center" label="检验项目" prop="检验项目"  width="220" />
               <!-- 年月列表 -->
               <el-table-column v-for="date in dateDatas" :key="date" align="center" :label="date" :prop="date" width="80">
                 <template #default="{ row }">
@@ -111,6 +111,20 @@ getTreeData();
   const djtableData = ref('')
   const dateDatas = reactive([])
   const handleNodeClick = async (node) => {
+    // 取消所有节点的颜色
+  const allNodes = document.querySelectorAll('.treecolor .el-tree-node');
+  allNodes.forEach(node => {
+    node.querySelector('.el-tree-node__label').style.color = '';
+  });
+  // 获取点击的节点
+  const clickedNodeId = node['id'];
+  const clickedNode = document.querySelector(`.treecolor .el-tree-node[data-key="${clickedNodeId}"]`);
+  console.log(node)
+
+  if (clickedNode) {
+    // 给当前点击的节点改变颜色
+    clickedNode.querySelector('.el-tree-node__label').style.color = 'red';
+  }
   if(!node.children) {
     const res = await InspectionDetail({machineID: node.fullName})
     if(res.code === 0 && res.data) {

+ 2 - 2
src/view/equipment/maintenance.vue

@@ -715,7 +715,7 @@ const actionMap = {
 
 // 节点点击事件
 const handleNodeClick = async (nodeData) => {
-  if (!nodeData.children) {
+  
     const action = actionMap[nodeData.code];
     if (action) {
       await action(nodeData);
@@ -723,7 +723,7 @@ const handleNodeClick = async (nodeData) => {
     } else {
       console.warn('未知节点类型:', nodeData.code);
     }
-  }
+  
 };
 
 const searchInfo = ref('')

+ 4 - 0
src/view/financial/Costparameter.vue

@@ -403,6 +403,10 @@ console.log(type.value)
 
 //关闭弹窗
 const sbcloseDialog = async () => {
+  //重置machineForm 
+  Object.keys(machineForm).forEach(key => {
+    machineForm[key] = ''; 
+  })
   dialogMachineVisible.value = false
 }
 

+ 16 - 4
src/view/managements/anodizedaluminum.vue

@@ -129,12 +129,12 @@
                 <el-row :gutter="20">
                     <el-col :span="18">
                     <el-form-item label="物料编号">
-                    <el-input v-model="Alumite.物料编号" readonly placeholder="请输入物料编号" />
+                    <el-input v-model="Alumite.物料编号" readonly  />
                     </el-form-item>
                 </el-col>
                 <el-col :span="18">
                     <el-form-item label="物料名称">
-                    <el-input v-model="Alumite.物料名称" readonly placeholder="请输入物料名称" />
+                    <el-input v-model="Alumite.物料名称" readonly  />
                     </el-form-item>
                 </el-col>
                 </el-row>
@@ -148,7 +148,7 @@
                 </el-col>
                 <el-col :span="8">
                     <el-form-item label="供方批次">
-                    <el-input v-model="Alumite.供方批次" readonly placeholder="请输入供方批次" />
+                    <el-input v-model="Alumite.供方批次" readonly  />
                     </el-form-item>
                 </el-col>
                 </el-row>
@@ -182,7 +182,7 @@
                 </el-col>
                 <el-col :span="8">
                     <el-form-item label="单位">
-                    <el-input v-model="Alumite.单位"  readonly placeholder="请输入单位" />
+                    <el-input v-model="Alumite.单位"  readonly  />
                     </el-form-item>
                 </el-col>
                 </el-row>
@@ -379,6 +379,18 @@ const onCountByGdbh = async () => {
 const dhltableData = ref([])
 const nodeclick = ref('') // 选中的节点
 const handleNodeClick = async (node) => {
+  // 取消所有节点的颜色
+  const allNodes = document.querySelectorAll('.treecolor .el-tree-node');
+  allNodes.forEach(node => {
+    node.querySelector('.el-tree-node__label').style.color = '';
+  });
+  // 获取点击的节点
+  const clickedNodeId = node['id'];
+  const clickedNode = document.querySelector(`.treecolor .el-tree-node[data-key="${clickedNodeId}"]`);
+  if (clickedNode) {
+    // 给当前点击的节点改变颜色
+    clickedNode.querySelector('.el-tree-node__label').style.color = 'red';
+  }
   console.log(node); // 打印选中的节点信息
   if(node.children.length != 0){
     nodeclick.value = node.label; // 保存选中的节点信息

+ 47 - 13
src/view/managements/hardversionlibrary.vue

@@ -291,27 +291,43 @@
   import { exportExcelFile } from '@/utils/excel'
   import { useUserStore } from '@/pinia/modules/user'
   import {ElMessage,ElMessageBox} from "element-plus";
-  import {getPPTab,getPPList,getPPEdit,getPPDetail,getPPCode,getPPReceive,getPPDelete} from "@/api/mes/job.js"
+  import {getPPTab,getPPList,getPPEdit,getPPDetail,getPPCode,getPPReceive,getPPDelete,getPPkhTab} from "@/api/mes/job.js"
   const userStore = useUserStore()
   const sys_id='['+userStore.userInfo.userName+'/'+userStore.userInfo.nickName+']'
   defineOptions({name: 'Company'})
-  // =========== 获取左侧树侧形结构 ===========
-  const treeData = ref([])
-  const getTreeData = async () => {
+// =========== 获取左侧树形结构 ===========
+const treeData = ref([])
+
+const getTreeData = async () => {
   try {
-    const res = await getPPTab()
-    if (res.code === 0) {
-      treeData.value = transformData(res.data)
+    // 并行请求两个接口
+    const [res1, res2] = await Promise.all([getPPTab(), getPPkhTab()])
+    
+    if (res1.code === 0 && res2.code === 0) {
+      // 转换PPTab数据
+      const ppData = transformPPData(res1.data)
+      
+      // 转换PPkhTab数据
+      const ppkhData = transformPPKHData(res2.data)
+      
+      // 合并数据,
+      treeData.value = [
+        ...ppData, // MN印版和翌星印版作为独立节点
+        {
+          label: '客户产品印版库',
+          children: ppkhData
+        }
+      ]
     } else {
-      console.error('获取数据失败:', res.msg)
+      console.error('获取数据失败:', res1.msg || res2.msg)
     }
   } catch (error) {
     console.error('请求出错:', error)
   }
 }
 
-// 转换数据格式为el-tree需要的结构
-const transformData = (data) => {
+// 转换PPTab数据格式
+const transformPPData = (data) => {
   return Object.entries(data).map(([key, value]) => {
     const children = Object.entries(value).map(([subKey, subValue]) => {
       return {
@@ -328,13 +344,31 @@ const transformData = (data) => {
       }
     })
     return {
-      label: key,
+      label: key, // "MN印版"或"翌星印版"
       children
     }
   })
 }
-  
-  getTreeData()
+
+// 转换PPkhTab数据格式
+const transformPPKHData = (data) => {
+  return Object.entries(data).map(([customer, products]) => {
+    return {
+      label: customer,
+      children: Object.entries(products).map(([product, plateTypes]) => {
+        return {
+          label: product, 
+          children: plateTypes.map(plateType => ({
+            label: plateType 
+          }))
+        }
+      })
+    }
+  })
+}
+
+// 初始化获取数据
+getTreeData()
   
   const showKH = ref(false)
   const wltableData = ref([])

+ 66 - 8
src/view/yunyin/shengchanguanli/PrintingPlateRequisition.vue

@@ -9,7 +9,7 @@
                 <el-input v-model="searchInfo" placeholder="搜索工单编号" clearable style="width: 200px;margin: 5px"></el-input>
                 <el-button type="primary" class="bt" icon="search" @click="on_search">查询</el-button>
                 <el-button type="primary" class="bt" icon="edit" @click="onout">领出</el-button>
-                <el-button type="primary" class="bt" icon="document" @click="onwithdraw">收回</el-button>
+                <el-button type="primary" class="bt" icon="document" :disabled="!selectedIds" @click="onwithdraw">收回</el-button>
                 <el-button type="primary" class="bt" icon="delete" :disabled="!selectedIds" @click="on_delete">删除</el-button>
                 <el-button type="primary" icon="edit" class="bt"@click=" () => { dialogGxclhc = true;}">工序产量核查</el-button>
                 <el-button type="primary" class="bt" icon="download"  @click="ToExcel" >导出到Excel</el-button>
@@ -45,12 +45,14 @@
                         highlight-current-row="true" @row-dblclick="updateCompanyFunc"
                         @row-click="tableRowClick" :show-overflow-tooltip="true"
                         >
+               >
                <el-table-column  sortable align="center" label="存货编码" prop="存货编码"  width="120" />
                <el-table-column  sortable align="center" label="物料名称" prop="物料名称"  width="120" />
                <el-table-column   align="center" label="印版名称" prop="印版名称"  width="200" />
                <el-table-column   align="center" label="供方批号" prop="供方批号"  width="200" />
                <el-table-column   align="center" label="制造日期" prop="制造日期"  width="110" />
-               <el-table-column   align="center" label="原始印数" prop="原始印数"  width="200" />
+               <el-table-column   align="center" label="当前领用工单" prop="工单编号"  width="130" />
+               <el-table-column   align="center" label="原始印数" prop="原始印数"  width="110" />
                <el-table-column   align="center" label="累计印数" prop="累计印数"  width="110" />
                <el-table-column   align="center" label="考核印数" prop="考核印数"  width="110" />
                <el-table-column   align="center" label="报废日期" prop="报废日期"  width="200" />
@@ -80,12 +82,12 @@
                         @selection-change="wlmxSelectionChange">
                <el-table-column type="selection" width="30" />
                <el-table-column  sortable align="center" label="领用机台" prop="领用机台"  width="120" />
-               <el-table-column  sortable align="center" label="领用日期" prop="领用日期"  width="120" />
-               <el-table-column  sortable align="center" label="退还日期" prop="退还日期"  width="200" />
+               <el-table-column  sortable align="center" label="领用日期" prop="领用日期"  width="180" />
+               <el-table-column  sortable align="center" label="退还日期" prop="退还日期"  width="180" />
                <el-table-column  sortable align="center" label="印数" prop="印数"  width="100" />
                <el-table-column  sortable align="center" label="工单编号" prop="工单编号"  width="100" />
                <el-table-column  sortable align="center" label="成品代号" prop="成品代号"  width="100" />
-               <el-table-column  sortable align="center" label="成品名称" prop="成品名称"  width="100" />
+               <el-table-column  sortable align="center" label="成品名称" prop="成品名称"  width="220" />
               </el-table>
   
               <!-- 分页 -->
@@ -181,6 +183,25 @@
     </template>
   </el-dialog>
 
+  <!-- 退回弹窗 -->
+  <el-dialog
+    v-model="dialogwithdrawVisible"
+    title="印版印数"
+    style="width: 20%; margin: 30vh auto;"
+  >
+    <el-form-item label="印数">
+      <el-input v-model="Plate.印数" placeholder="请输入印数" />
+    </el-form-item>
+
+    <template #footer>
+      <div class="dialog-footer" style="width: 100%;">
+        <el-button @click="rawcloseDialog" style="width: 100px; height: 40px;">关 闭</el-button>
+        <el-button type="primary" @click="rawenterDialog" style="width: 100px; height: 40px;">确 定</el-button>
+      </div>
+    </template>
+  </el-dialog>
+
+
 
   <!-- 工单选择弹窗 -->
   <el-dialog
@@ -248,6 +269,7 @@
   import {getOrderInfo,} from '@/api/mes_api_gty/workOrderVerification'
   import Gxclhc from '@/view/performance/12-orderAccounting/componets/gxclhc.vue'
   import {getPPTab,getPPList,getMachine,getPPgdReceive,getPPCode,getPPReceive,getPPDelete} from "@/api/mes/job.js"
+  import {PrintDetailEdit,} from '@/api/jixiaoguanli/baogong'
   const userStore = useUserStore()
   const sys_id='['+userStore.userInfo.userName+'/'+userStore.userInfo.nickName+']'
   defineOptions({name: 'Company'})
@@ -339,6 +361,7 @@ const transformData = (data) => {
     const Plate = reactive({})
     // 弹窗控制
     const dialogPlateVisible = ref(false)
+    const dialogwithdrawVisible = ref(false)
     const orderSelectDialogVisible = ref(false)
     const machineSelectDialogVisible = ref(false)
 
@@ -361,9 +384,45 @@ const transformData = (data) => {
     }else{
       dialogPlateVisible.value = true;
     }
-    dialogPlateVisible.value = true;
   }
 
+  const onwithdraw = async () => {
+      dialogwithdrawVisible.value = true;
+  }
+
+  // 删除操作
+const rawenterDialog = async () => {
+  try {
+    await ElMessageBox.confirm('确定收回吗', '提示', {
+      confirmButtonText: '确定',
+      cancelButtonText: '取消',
+      type: 'warning'
+    })
+    
+    // 调用收回API,假设是批量删除接口
+    const res = await PrintDetailEdit({ id: selectedIds.value,number:Plate.印数})
+    
+    if (res.code === 0) {
+      ElMessage.success('收回成功')
+      rawcloseDialog()
+      // 清空选中
+      selectedIds.value = []
+    } else {
+      ElMessage.error(res.msg || '收回失败')
+    }
+  } catch (error) {
+    if (error !== 'cancel') {
+      console.error('收回失败:', error)
+      ElMessage.error('收回操作已取消')
+    }
+  }
+}
+
+const rawcloseDialog = () => {
+  Plate.印数 = ''
+  dialogwithdrawVisible.value = false
+}
+
   // 打开工单选择弹窗
 const openOrderSelectDialog = async () => {
   try {
@@ -478,8 +537,7 @@ const dhlenterDialog = () => {
 
 
 const selectedIds = ref('')
-
-// 维修表格选择变化
+// 下方表格选择变化
 const wlmxSelectionChange = (selection) => {
   console.log('维修表格选择变化:', selection)
   selectedIds.value = selection.map(item => item.UniqID).join(',')