liuhairui 4 miesięcy temu
rodzic
commit
83cbafb098

+ 522 - 57
src/view/DecisionSupport/Modelchange.vue

@@ -6,14 +6,9 @@
             <!--          按钮部分-->
             <el-form ref="elSearchFormRef"   class="demo-form-inline" :rules="searchRule" >
               <el-form-item>
-                <el-input v-model="searchInfo" placeholder="搜索工单编号" clearable style="width: 200px;margin: 5px"></el-input>
-                <el-button type="primary" class="bt" icon="download" @click="hzToExcel" >导出到Excel(汇总)</el-button>
-                <el-button type="primary" class="bt" icon="download" @click="mxToExcel" >导出到Excel(明细)</el-button>
+                <!-- <el-input v-model="searchInfo" placeholder="搜索工单编号" clearable style="width: 200px;margin: 5px"></el-input> -->
               </el-form-item>
             </el-form>
-  
-        
-  
           </div>
         </layout-header>
   
@@ -21,60 +16,68 @@
           <!--    左侧树侧形结构-->
           <layout-sider :resize-directions="['right']" :width="190" 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">
+              <h3>换型换版维护</h3>
+              <el-tree :data="treeData"  class="treecolor" :props="defaultProps" @node-click="handleNodeClick" @node-expand="handleNodeExpand">
               </el-tree>
             </div>
           </layout-sider>
   
           <!-- 右侧区域 -->
           <layout-content >
-          <el-main>
-            <div class="gva-table-box">
-              <!-- 表格数据 -->
-              <el-table ref="multipleTable" style="width: 100%;height: 33vh" tooltip-effect="dark"
-                        :row-style="{ height: '25px' }"  :header-cell-style="{ padding: '0px' }"
-                        :cell-style="{ padding: '0px' }" :header-row-style="{ height: '20px' }"
-                        :data="hztableData"  border row-key="ID"
-                        size="small"
-                        :cell-class-name="gxbgCellClass"
-                        highlight-current-row="true" @row-dblclick="updateCompanyFunc"
-                        @row-click="tableRowClick" :show-overflow-tooltip="true"
-                        @selection-change="handleSelectionChange">
-               <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="换型or换版" prop="计划投料"  width="200" />
-               <el-table-column   align="center" label="数量" prop="工序1"  width="200" />
-               <el-table-column   align="center" label="是否签样" prop="工序2"  width="110" />
-               <el-table-column   align="center" label="装换版系数" prop="工序2"  width="110" />
-              </el-table>
-  
-              <!-- 分页 -->
-              <div class="gva-pagination">
-                <el-pagination layout="total" :current-page="page" :page-size="pageSize"
-                 :total="total" @current-change="handleCurrentChange" @size-change="handleSizeChange" />
-              </div>
-            </div>
-
-
             <div class="gva-table-box">
               <!-- 表格数据 -->
-              <el-table ref="multipleTable" style="width: 100%;height: 45vh" tooltip-effect="dark"
-                        :row-style="{ height: '25px' }"  :header-cell-style="{ padding: '0px' }"
-                        :cell-style="{ padding: '0px' }" :header-row-style="{ height: '20px' }"
-                        :data="mxtableData"  border row-key="ID"
+              <el-table ref="multipleTable" style="width: 100%;height: 70vh" tooltip-effect="dark"
+                        :row-style="{ height: '0px' }"  :header-cell-style="{ padding: '0px' }"
+                        :cell-style="{ padding: '5px' }" :header-row-style="{ height: '0px' }"
+                        :data="hxhb_tableData"  border row-key="ID"
                         size="small"
                         :cell-class-name="gxbgCellClass"
                         highlight-current-row="true" @row-dblclick="updateCompanyFunc"
                         @row-click="tableRowClick" :show-overflow-tooltip="true"
                         @selection-change="handleSelectionChange">
-               <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="100" />
+               
+               <el-table-column   align="center" label="工单编号" prop="工单编号"  width="110" />
+			   <el-table-column   align="center" label="机台编号" prop="机台编号"  width="100" />
+               <el-table-column   align="center" label="印件号" prop="印件号"  width="70" />
+               <el-table-column   align="center" label="工序号" prop="工序号"  width="70" />
+               <el-table-column   align="center" label="工序名称" prop="工序名称"  width="150" />
+			   <el-table-column   align="center" label="装版类型" prop="装版类型"  width="80" />
+               <el-table-column   align="center" label="装版总工时" prop="装版总工时"  width="90" />
+               <el-table-column   align="center" label="装版联拼数" prop="装版联拼数"  width="90" />
+			   <el-table-column   align="center" label="系数" prop="系数"  width="60" />
+			   <el-table-column   align="center" label="装版补产工时" prop="装版补产工时"  width="110" />
+			   <el-table-column   align="center" label="班组长确认状态" prop="班组长确认状态"  width="130" />
+			   <el-table-column   align="center" label="统计确认状态" prop="统计确认状态"  width="130" />
+			   <el-table-column   align="center" label="班组长" prop="班组长"  width="140" />
+			   <el-table-column   align="center" label="班组长确认时间" prop="班组长确认时间"  width="160" />
+			   <el-table-column   align="center" label="统计人员" prop="统计人员"  width="160" />
+			   <el-table-column   align="center" label="统计确认时间" prop="统计确认时间"  width="160" />
+			   <el-table-column   align="center" label="上报机台" prop="上报机台"  width="220" />
+			   <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="160" />
+			   <el-table-column   align="center" label="Uniqid" prop="Uniqid"  width="100" />
+			   <el-table-column   align="center" label="关联ID" prop="关联ID"  width="100" />
+			   <el-table-column fixed="right" align="center" label="操作" width="210">
+			     <template #default="scope">
+			       <el-button 
+			         type="primary" 
+			         size="small" 
+			         @click="handleLeaderAudit(scope.row)"
+			         style="margin-right: 5px; padding: 2px 8px; font-size: 12px;"
+			       >
+			         班组长审核
+			       </el-button>
+			       <el-button 
+			         type="success" 
+			         size="small" 
+			         @click="handleStatAudit(scope.row)"
+			         style="padding: 2px 8px; font-size: 12px;"
+			       >
+			         统计员审核
+			       </el-button>
+			     </template>
+			   </el-table-column>
               </el-table>
   
               <!-- 分页 -->
@@ -84,37 +87,475 @@
               </div>
             </div>
   
-          </el-main>
         </layout-content>
         </layout>
       </layout>
     </div>
+	
+	
+	<!-- 班组长审核对话框 -->
+	<el-dialog
+	  v-model="leaderAuditDialog"
+	  title="班组长审核"
+	  width="400px"
+	  @close="closeLeaderAudit"
+	>
+	  <el-form :model="leaderForm" label-width="100px">
+	    <el-form-item label="换版联拼数">
+	      <el-input v-model="leaderForm.换版联拼数" placeholder="请输入换版联拼数" />
+	    </el-form-item>
+	    <el-form-item label="换版总工时">
+	      <el-input v-model="leaderForm.换版总工时" placeholder="请输入换版总工时" />
+	    </el-form-item>
+	    <el-form-item label="换版类型">
+	      <el-select v-model="leaderForm.换版类型" placeholder="请选择换版类型">
+	        <el-option label="装新版" value="装新版" />
+	        <el-option label="装旧版" value="装旧版" />
+	        <el-option label="换版" value="换版" />
+	      </el-select>
+	    </el-form-item>
+	    <el-form-item label="系数">
+	      <el-input v-model="leaderForm.coefficient" placeholder="请输入系数" />
+	    </el-form-item>
+	    <el-form-item label="班组长">
+	      <el-input v-model="leaderForm.leader" disabled />
+	    </el-form-item>
+	    <el-form-item label="Uniqid">
+	      <el-input v-model="leaderForm.Uniqid" disabled />
+	    </el-form-item>
+	  </el-form>
+	  <template #footer>
+	    <span class="dialog-footer">
+	      <el-button @click="closeLeaderAudit">取消</el-button>
+	      <el-button type="primary" @click="submitLeaderAudit">确认</el-button>
+	    </span>
+	  </template>
+	</el-dialog>
+	
+	<!-- 统计员审核对话框 -->
+	<el-dialog
+	  v-model="statAuditDialog"
+	  title="统计员审核"
+	  width="400px"
+	  @close="closeStatAudit"
+	>
+	  <el-form :model="statForm" label-width="100px">
+	    <el-form-item label="装版补产工时">
+	      <el-input v-model="statForm.装版补产工时" placeholder="请输入装版补产工时" />
+	    </el-form-item>
+	    <el-form-item label="统计人员">
+	      <el-input v-model="statForm.statistics" disabled />
+	    </el-form-item>
+	    <el-form-item label="Uniqid">
+	      <el-input v-model="statForm.Uniqid" disabled />
+	    </el-form-item>
+	    <el-form-item label="关联ID">
+      <el-input v-model="statForm.yieldUid" disabled/>
+    </el-form-item>
+	  </el-form>
+	  <template #footer>
+	    <span class="dialog-footer">
+	      <el-button @click="closeStatAudit">取消</el-button>
+	      <el-button type="primary" @click="submitStatAudit">确认</el-button>
+	    </span>
+	  </template>
+	</el-dialog>
+	
+	<!-- 明细数据对话框 -->
+	<el-dialog
+	  v-model="detailDialogVisible"
+	  title="明细详情数据"
+	  width="600px"
+	  @close="closeDetailDialog"
+	>
+	  <div class="detail-form">
+	    <el-row :gutter="20">
+	      <el-col :span="12">
+	        <el-form-item label="工单编号">
+	          <el-input v-model="detailData.工单编号" placeholder="-" disabled/>
+	        </el-form-item>
+	      </el-col>
+	      <el-col :span="12">
+	        <el-form-item label="机台编号">
+	          <el-input v-model="detailData.机台编号" placeholder="-" disabled/>
+	        </el-form-item>
+	      </el-col>
+	      <el-col :span="12">
+	        <el-form-item label="印件号">
+	          <el-input v-model="detailData.印件号" placeholder="-" disabled/>
+	        </el-form-item>
+	      </el-col>
+	      <el-col :span="12">
+	        <el-form-item label="工序号">
+	          <el-input v-model="detailData.工序号" placeholder="-" disabled/>
+	        </el-form-item>
+	      </el-col>
+	      <el-col :span="12">
+	        <el-form-item label="工序名称">
+	          <el-input v-model="detailData.工序名称" placeholder="-" disabled/>
+	        </el-form-item>
+	      </el-col>
+	      <el-col :span="12">
+	        <el-form-item label="装版类型">
+	          <el-input v-model="detailData.装版类型" placeholder="-" disabled/>
+	        </el-form-item>
+	      </el-col>
+	      <el-col :span="12">
+	        <el-form-item label="装版总工时">
+	          <el-input v-model="detailData.装版总工时" placeholder="-" disabled/>
+	        </el-form-item>
+	      </el-col>
+	      <el-col :span="12">
+	        <el-form-item label="装版联拼数">
+	          <el-input v-model="detailData.装版联拼数" placeholder="-" disabled/>
+	        </el-form-item>
+	      </el-col>
+	      <el-col :span="12">
+	        <el-form-item label="班组长确认状态">
+	          <el-input v-model="detailData.班组长确认状态" placeholder="-" disabled />
+	        </el-form-item>
+	      </el-col>
+	      <el-col :span="12">
+	        <el-form-item label="统计确认状态">
+	          <el-input v-model="detailData.统计确认状态" placeholder="-" disabled />
+	        </el-form-item>
+	      </el-col>
+	      <el-col :span="12">
+	        <el-form-item label="系数">
+	          <el-input v-model="detailData.系数" placeholder="-" disabled/>
+	        </el-form-item>
+	      </el-col>
+	      <el-col :span="12">
+	        <el-form-item label="装版补产工时">
+	          <el-input v-model="detailData.装版补产工时" placeholder="-" disabled/>
+	        </el-form-item>
+	      </el-col>
+	      <el-col :span="12">
+	        <el-form-item label="开始时间">
+	          <el-input v-model="detailData.开始时间" placeholder="-" disabled/>
+	        </el-form-item>
+	      </el-col>
+	      <el-col :span="12">
+	        <el-form-item label="结束时间">
+	          <el-input v-model="detailData.结束时间" placeholder="-" disabled/>
+	        </el-form-item>
+	      </el-col>
+	    </el-row>
+	  </div>
+	  <template #footer>
+	    <span class="dialog-footer">
+	      <el-button @click="closeDetailDialog">关闭</el-button>
+	    </span>
+	  </template>
+	</el-dialog>
   </template>
   <script setup>
   // 全量引入格式化工具 请按需保留
   import { Layout, LayoutSider, LayoutContent } from '@arco-design/web-vue';
-  
-  import {ref, reactive} from 'vue'
+  import {
+    Mount_Hours_getTab,
+    getMountList,
+	leaderConfirm,
+	statisticsConfirm,
+  } from "@/api/mes/job";
+  import {ref, reactive, onMounted} from 'vue'
   import { exportExcelFile } from '@/utils/excel'
   import {ElMessage} from "element-plus";
   defineOptions({name: 'Company'})
-  // =========== 获取左侧树侧形结构 ===========
+  import { useUserStore } from '@/pinia/modules/user'
+  const userStore = useUserStore()
+  const sys_id='['+userStore.userInfo.userName+'/'+userStore.userInfo.nickName+']'
   
-
   
+  //响应式数据
+  const searchInfo = ref('')
+  const page = ref(1)
+  const pageSize = ref(10)
+  const total = ref(0)
+  const hxhb_tableData = ref([])
+  const mxtableData = ref([])
   
-
+  // 树结构相关数据
+  const treeData = ref([])
+  const defaultProps = {
+    children: 'children',
+    label: 'label'
+  }
   
-
+  // 审核对话框相关数据
+  const leaderAuditDialog = ref(false)
+  const statAuditDialog = ref(false)
+  const currentRow = ref(null)
+  const leaderForm = reactive({
+    coefficient: '',
+    leader: '',
+    Uniqid: '',
+    换版联拼数: '',
+    换版总工时: '',
+    换版类型: ''
+  })
+  const statForm = reactive({
+    装版补产工时: '',
+    statistics: '',
+    Uniqid: '',
+    yieldUid: ''
+  })
   
-
+  // 明细对话框相关数据
+  const detailDialogVisible = ref(false)
+  const detailData = ref({})
   
-
+  // =========== 获取左侧树结构数据 ===========
+  const getTreeData = async () => {
+    try {
+      const res = await Mount_Hours_getTab()
+      if (res.code === 0 && res.data) {
+        const data = res.data
+        const newTreeData = []
+        
+        // 处理接口返回的数据,构建树结构
+        for (const yearMonth in data) {
+          // 年份月份节点
+          const yearMonthNode = {
+            label: yearMonth,
+            children: []
+          }
+          
+          const workshops = data[yearMonth]
+          for (const workshopName in workshops) {
+            // 车间节点
+            const workshopNode = {
+              label: workshopName,
+              children: []
+            }
+            
+            // 日期节点
+            workshops[workshopName].forEach(date => {
+              workshopNode.children.push({
+                label: date,
+                value: {
+                  yearMonth: yearMonth,
+                  workshop: workshopName,
+                  date: date
+                }
+              })
+            })
+            
+            yearMonthNode.children.push(workshopNode)
+          }
+          
+          newTreeData.push(yearMonthNode)
+        }
+        
+        treeData.value = newTreeData
+      } else {
+        ElMessage.error('获取树结构数据失败')
+      }
+    } catch (error) {
+      console.error('获取树结构数据异常:', error)
+      ElMessage.error('获取树结构数据异常')
+    }
+  }
+  
+  // 加载详情数据
+  const loadDetailData = async (params) => {
+    try {
+      const { date, workshop } = params
+      const res = await getMountList({ day: date, sist: workshop })
+      
+      if (res.code === 0 && res.data) {
+        // 更新表格数据
+        hxhb_tableData.value = res.data
+        total.value = res.data.length
+      } else {
+        hxhb_tableData.value = []
+        total.value = 0
+        ElMessage.warning('暂无数据')
+      }
+    } catch (error) {
+      console.error('获取详情数据异常:', error)
+      ElMessage.error('获取详情数据异常')
+    }
+  }
+  
+  // 节点点击事件
+  const handleNodeClick = (data, node, component) => {
+	 // 取消所有节点的颜色
+	 const allNodes = document.querySelectorAll('.treecolor .el-tree-node');
+	 allNodes.forEach(node => {
+	   node.querySelector('.el-tree-node__label').style.color = '';
+	 });
+	 // 获取点击的节点
+	 console.log(node)
+	 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';
+	 }
+	 
+	  
+    // 只有叶子节点(日期)才执行查询
+    if (!data.children && data.value) {
+      console.log('点击了日期节点:', data.value)
+      // 调用接口获取详情数据
+      loadDetailData(data.value)
+    }
+  }
+  
+  // 节点展开事件
+  const handleNodeExpand = (data, node, component) => {
+    console.log('展开节点:', data)
+  }
   
+  // 表格行点击事件
+  const tableRowClick = (row) => {
+    console.log('表格行点击:', row)
+  }
   
+  // 选择变化事件
+  const handleSelectionChange = (selection) => {
+    console.log('选择变化:', selection)
+  }
   
+  // 分页变化事件
+  const handleCurrentChange = (val) => {
+    page.value = val
+  }
+  
+  const handleSizeChange = (val) => {
+    pageSize.value = val
+    page.value = 1
+  }
   
+  // 双击事件 - 显示明细数据
+  const updateCompanyFunc = (row) => {
+    console.log('双击行:', row)
+    // 设置明细数据
+    detailData.value = { ...row }
+    // 打开明细对话框
+    detailDialogVisible.value = true
+  }
   
+  // 单元格样式类
+  const gxbgCellClass = ({row, column, rowIndex, columnIndex}) => {
+    // 可以根据需要为特定列设置样式
+    if (column.property === '装版类型') {
+      if (row['装版类型'] === '装新版') {
+        return 'new-plate'
+      } else if (row['装版类型'] === '装旧版') {
+        return 'old-plate'
+      }
+    }
+    return ''
+  }
+
+  // 班组长审核处理
+  const handleLeaderAudit = (row) => {
+    currentRow.value = row
+ 
+    leaderForm.换版联拼数 = row['装版联拼数']
+    leaderForm.换版总工时 = row['装版总工时']
+    leaderForm.换版类型 = row['装版类型']
+    leaderForm.coefficient = row['系数']
+    leaderForm.leader = sys_id
+    leaderForm.Uniqid = row['Uniqid']
+    // 打开对话框
+    leaderAuditDialog.value = true
+  }
+
+  // 统计员审核处理
+  const handleStatAudit = (row) => {
+    currentRow.value = row
+    // 初始化表单数据
+    statForm.装版补产工时 = row['装版补产工时']
+    statForm.statistics = sys_id
+    statForm.Uniqid = row['Uniqid']
+    statForm.yieldUid = row['关联ID']
+    // 打开对话框
+    statAuditDialog.value = true
+  }
+
+  // 班组长审核提交
+  const submitLeaderAudit = async () => {
+    try {
+      // 调用实际的班组长审核接口
+      console.log('提交班组长审核参数:', leaderForm)
+      const res = await leaderConfirm(leaderForm)
+      
+      if (res.code === 0) {
+        ElMessage.success('班组长审核成功')
+        
+        // 更新当前行的状态
+        if (currentRow.value) {
+          currentRow.value['班组长确认状态'] = '已确认'
+          currentRow.value['班组长确认时间'] = new Date().toLocaleString()
+          currentRow.value['班组长'] = leaderForm.leader
+          currentRow.value['系数'] = leaderForm.coefficient
+          currentRow.value['装版联拼数'] = leaderForm.换版联拼数
+          currentRow.value['装版总工时'] = leaderForm.换版总工时
+          currentRow.value['装版类型'] = leaderForm.换版类型
+        }
+        
+        // 关闭对话框
+        leaderAuditDialog.value = false
+      } else {
+        ElMessage.error(res.msg || '班组长审核失败')
+      }
+    } catch (error) {
+      console.error('班组长审核失败:', error)
+      ElMessage.error('班组长审核失败')
+    }
+  }
+
+  // 统计员审核提交
+  const submitStatAudit = async () => {
+    try {
+      // 调用实际的统计员审核接口
+      console.log('提交统计员审核参数:', statForm)
+      const res = await statisticsConfirm(statForm)
+      
+      if (res.code === 0) {
+        ElMessage.success('统计员审核成功')
+        
+        // 更新当前行的状态
+        if (currentRow.value) {
+          currentRow.value['统计确认状态'] = '已确认'
+          currentRow.value['统计确认时间'] = new Date().toLocaleString()
+          currentRow.value['统计人员'] = statForm.statistics
+          currentRow.value['装版补产工时'] = statForm.装版补产工时
+        }
+        
+        // 关闭对话框
+        statAuditDialog.value = false
+      } else {
+        ElMessage.error(res.msg || '统计员审核失败')
+      }
+    } catch (error) {
+      console.error('统计员审核失败:', error)
+      ElMessage.error('统计员审核失败')
+    }
+  }
+
+  // 关闭班组长审核对话框
+  const closeLeaderAudit = () => {
+    leaderAuditDialog.value = false
+  }
+
+  // 关闭统计员审核对话框
+  const closeStatAudit = () => {
+    statAuditDialog.value = false
+  }
+
+  // 关闭明细对话框
+  const closeDetailDialog = () => {
+    detailDialogVisible.value = false
+  }
+
+  // 页面挂载时获取数据
+  onMounted(() => {
+    getTreeData()
+  })
   </script>
   
   <style scoped>
@@ -133,6 +574,16 @@
     width: 150px; /* 调整左侧输入框的宽度 */
   }
   
+  /* 明细对话框样式 */
+  .detail-form .el-form-item {
+    margin-bottom: 15px;
+  }
+  
+  .detail-form .el-form-item__label {
+    font-weight: bold;
+    color: #606266;
+  }
+  
   :deep(.hui-plan-usage-lows  div) {
     color: #8c939d !important;
   }
@@ -148,6 +599,10 @@
       flex: 1 0 100%; /* 在小屏幕下变成单列布局 */
       margin-right: 0;
     }
+    
+    .detail-form .el-col {
+      :span: 24;
+    }
   }
   /*:deep(.el-table td .cell) {*/
   /*  line-height: 30px !important;*/
@@ -170,11 +625,21 @@
     flex: 1;
   }
 
-  
   /* 选中某行时的背景色 */
   :deep(.el-table__body tr.current-row) > td {
     background: #ff80ff !important;
   }
+  
+  /* 装版类型样式 */
+  /* :deep(.new-plate) {
+    background-color: #e6f7ff !important;
+    color: #1890ff;
+  }
+  
+  :deep(.old-plate) {
+    background-color: #f6ffed !important;
+    color: #52c41a;
+  } */
   </style>
   <style scoped>
   :deep(.el-table td .cell) {

+ 17 - 1
src/view/performance/chejianbaogong.vue

@@ -1483,6 +1483,18 @@
 						  <el-input v-model="formData3.辅电表" id="辅电表" style="margin-top:0px; margin-bottom: 1px;" @keydown="ent($event, '主电表', '辅电表', 'bzdh')"  placeholder="" />
 						</el-form-item>
 						</el-col>
+						<el-col :span="8">
+						  <el-form-item label="换版类型:" prop="flatFeed" class="mab">
+							<el-radio v-model="formData3.换版类型" label="装新版" @keydown="ent1($event)">装新版</el-radio>
+							<el-radio v-model="formData3.换版类型" label="装旧版" @keydown="ent1($event)">装旧版</el-radio>
+							<el-radio v-model="formData3.换版类型" label="换版" @keydown="ent1($event)" >换版</el-radio>
+						</el-form-item>
+						</el-col>
+						<el-col :span="4">
+							<el-form-item label="换版联拼数:" prop="flatFeed" class="mab">
+							<el-input v-model="formData3.换版联拼数" id="换版联拼数" @keydown="ent1($event)"  style="width: 100px;" />
+							</el-form-item>
+						</el-col>
 					</el-row>
 					 <div style="display: flex;">
 						<div style="width: 248vh;">组员及分配比例</div>
@@ -4493,9 +4505,11 @@ const yinbaninvertSelection = () => {
 	  bom: formData3.value.formattedArray,
 	  ma_start: formData3.value.码开始行,
 	  ma_end: formData3.value.码结束行,
+	  换版类型:formData3.value.换版类型,
+	  sczl_换版联拼数:formData3.value.Gy0_ls + '/' + formData3.value.换版联拼数,
 	}
 	console.log(restoredData)
-  
+  // return;
   //   4.2日产量上报 添加
 	const response = await submitDailyProduction(restoredData);
 	console.log(response)
@@ -5439,6 +5453,8 @@ const yinbaninvertSelection = () => {
 	  主电表:'',
 	  辅电表:'',
 	  formattedArray:'',
+	  换版类型:'',
+	  换版联拼数:'',
   })
   // 自动化生成的字典(可能为空)以及字段
   const formData= ref({

+ 111 - 84
src/view/yunyin/shengchanguanli/shebeiyunxing.vue

@@ -1545,7 +1545,7 @@
 
 
 		<el-dialog v-model="chanliangVisible" destroy-on-close
-		  width="80%" style="height: 94vh;margin-top: 1%;padding: 10px 10px 0px 10px;" :before-close="closechanliangVisible" :title="type2 === 'create' ? '新增' : '修改'">
+		  width="85%" style="height: 94vh;margin-top: 1%;padding: 10px 10px 0px 10px;" :before-close="closechanliangVisible" :title="type2 === 'create' ? '新增' : '修改'">
 		  
 			  <el-row :gutter="24" style="height: 40px;">
 				<el-col :span="6">
@@ -1675,36 +1675,40 @@
 			  <el-row :gutter="24" style="height: 40px;">
 			    <el-col :span="4">
 			      <el-form-item label="制程次品:" prop="flatFeed" class="mab">
-			  				  <el-input v-model="formdata3.value.制程次品" id="制程次品" @keydown="ent1($event)"  style="width: 200px;" />
+					  <el-input v-model="formdata3.value.制程次品" id="制程次品" @keydown="ent1($event)"  style="width: 200px;" />
 			      </el-form-item>
 			    </el-col>
 			    <el-col :span="4">
 			      <el-form-item label="前工序废:" prop="flatFeed" class="mab" >
-			      <el-input v-model="formdata3.value.前工序废" id="前工序废"  @keydown="ent1($event)" style="width: 100px; margin-right: 30px;" />
-			  				  </el-form-item>
+					<el-input v-model="formdata3.value.前工序废" id="前工序废"  @keydown="ent1($event)" style="width: 100px; margin-right: 30px;" />
+				  </el-form-item>
 			    </el-col>
-					<el-col :span="5">
+					<el-col :span="4">
 					  <el-form-item label="来料异常:" prop="flatFeed" class="mab">
 					   <el-input v-model="formdata3.value.来料异常" id="来料异常"  @keydown="ent1($event)" style="width: 200px;" />
 					  </el-form-item>
 					</el-col>
-					<el-col :span="10">
-					  <el-form-item label="换型类型:" prop="flatFeed" class="mab">
-						<el-radio v-model="formdata3.value.换型类型" label="装新版" @keydown="ent1($event)">装新版</el-radio>
-						<el-radio v-model="formdata3.value.换型类型" label="装旧版" @keydown="ent1($event)">装旧版</el-radio>
-						<el-radio v-model="formdata3.value.换型类型" label="换版" @keydown="ent1($event)">换版</el-radio>
-						<el-form-item label="换型数量:" prop="flatFeed" class="mab">
-							<el-input v-model="formdata3.value.换型数量" id="换型数量" @keydown="ent1($event)"  style="width: 150px;" />
+					<el-col :span="8">
+					  <el-form-item label="换版类型:" prop="flatFeed" class="mab">
+						<el-radio v-model="formdata3.value.换版类型" label="装新版" @keydown="ent1($event)"
+						 :readonly="type2 !== 'create'"
+						 :title="type2 === 'create' ? '新增' : 'readonly'">装新版</el-radio>
+						<el-radio v-model="formdata3.value.换版类型" label="装旧版" @keydown="ent1($event)" 
+						:readonly="type2 !== 'create'"
+						:title="type2 === 'create' ? '新增' : 'readonly'">装旧版</el-radio>
+						<el-radio v-model="formdata3.value.换版类型" label="换版" @keydown="ent1($event)" 
+						:readonly="type2 !== 'create'"
+						:title="type2 === 'create' ? '新增' : 'readonly'">换版</el-radio>
 					</el-form-item>
-					  </el-form-item>
-
 					</el-col>
-
-
+					<el-col :span="4">
+						<el-form-item label="换版联拼数:" prop="flatFeed" class="mab">
+							<el-input v-model="formdata3.value.换版联拼数" id="换版联拼数" @keydown="ent1($event)"  style="width: 100px;"  :disabled="type2 !== 'create'"
+  :title="type2 === 'create' ? '新增' : 'disabled'"/>
+						</el-form-item>
+					</el-col>
 			  </el-row>
 
-
-
 			  <el-row :gutter="30" style="height: 40px;">
 			    <el-col :span="5">
 			      <el-form-item label="装版总工时:" prop="flatFeed" class="mab">
@@ -6854,8 +6858,9 @@ for (let i = 1; i <= 10; i++) {
 }
 
 function gytableDatadoubleClick(row, column, event) {
- type2.value="update"
- MachineChanliang(row.UniqId)
+	console.log("双击当日上报产量")
+	 type2.value="update"
+	 MachineChanliang(row.UniqId)
 }
 const uid=ref()
 const _Gd_gdbh=ref()
@@ -6876,6 +6881,7 @@ const qita_jitaidata = async () => {
 	formdata3.value.rq = qita_jitaidata.data.date
 }
 
+
 //获取详细信息
 const MachineChanliang = async(value) => {
 	//打开新增按钮获取
@@ -6887,6 +6893,7 @@ const MachineChanliang = async(value) => {
 		return
 	}
  const response = await MachineChanliangDetail({UniqId:value});
+ console.log('装新版',response)
    if (response.code === 0) {
 	 chanliangVisible.value=true
 	 formdata3.value=response.data
@@ -6895,6 +6902,18 @@ const MachineChanliang = async(value) => {
 	 formdata3.value.sczl_jtbh=JTMC
 	 formdata3.value.yjmc=response.data.印件名称
 	 formdata3.value.rq=date
+	 console.log("formdata3.value.换版类型",formdata3.value.换版类型)
+	 if(formdata3.value.换版类型 === '装新版'){
+		 console.log('装新版')
+		 formdata3.value.换版类型 = '装新版'
+	 }else if(formdata3.value.换版类型 === '装旧版'){
+		 console.log('装旧版')
+		 formdata3.value.换版类型 = '装旧版'
+	 }else if(formdata3.value.换版类型 === '换版'){
+		 console.log('换版')
+		 formdata3.value.换版类型 = '换版'
+	 }
+	 
 	 if (formdata3.value.bzdh === 'A班') {
 	     formdata3.value.starttime = ''; // 清空值
 	     setTimeout(()=>{
@@ -7804,13 +7823,14 @@ const handleFplbClickedit = (nodeData, node, component) => {
  }
  //日报表修改弹窗确定
  const chanliangenterDialog = async () => {
-	console.log(formdata3.value.换型类型)
-	return;
+	// console.log(formdata3.value.换版类型)
+	// return;
+	
 	updateTotal()
-  const jt = formdata3.value.sczl_jtbh
- // 定义一个变量来决定是否应该检查 fpsum2.value < 1
-const shouldCheckLessThanOne = !jt.includes('SY') && !jt.includes('PM');
-const relevantKeys2 = ['组员1', '组员2','组员3','组员4','组员5','组员6','组员7','组员8','组员9',];
+	const jt = formdata3.value.sczl_jtbh
+	 // 定义一个变量来决定是否应该检查 fpsum2.value < 1
+	const shouldCheckLessThanOne = !jt.includes('SY') && !jt.includes('PM');
+	const relevantKeys2 = ['组员1', '组员2','组员3','组员4','组员5','组员6','组员7','组员8','组员9',];
   	const values = relevantKeys2.reduce((acc, key) => {
     const value = parseFloat(formDatas.value[key], 10);
     if (!isNaN(value)) {
@@ -7868,66 +7888,71 @@ const relevantKeys2 = ['组员1', '组员2','组员3','组员4','组员5','组
 	 const rate8=(parseFloat(formdata3.value.组员8['比例'])).toFixed(5)
 	 const rate9=(parseFloat(formdata3.value.组员9['比例'])).toFixed(5)
 	 const rate10=(parseFloat(formdata3.value.组员10['比例'])).toFixed(5)
-   const restoredData = {
-     sczl_gdbh:formdata3.value.工单编号,
-     sczl_yjno:formdata3.value.yjno,
-     sczl_gxh:formdata3.value.gxh,
-     sczl_gxmc: formdata3.value.gxmc,
- 	sczl_bzdh: formdata3.value.bzdh,
- 	sczl_bh1: formdata3.value.组员1['编号'],
- 	sczl_bh2: formdata3.value.组员2['编号'],
- 	sczl_bh3: formdata3.value.组员3['编号'],
- 	sczl_bh4: formdata3.value.组员4['编号'],
- 	sczl_bh5: formdata3.value.组员5['编号'],
- 	sczl_bh6: formdata3.value.组员6['编号'],
- 	sczl_bh7: formdata3.value.组员7['编号'],
- 	sczl_bh8: formdata3.value.组员8['编号'],
- 	sczl_bh9: formdata3.value.组员9['编号'],
- 	sczl_bh10: formdata3.value.组员10['编号'],
- 	// sczl_bh98: formdata3.value.拉料['编号'],
-	sczl_bh98:formdata3.value.拉料['编号'] === '自备' ? '' : formdata3.value.拉料['编号'],
- 	sczl_rate1: rate1,
- 	sczl_rate2: rate2,
- 	sczl_rate3: rate3,
- 	sczl_rate4: rate4,
- 	sczl_rate5: rate5,
- 	sczl_rate6: rate6,
- 	sczl_rate7: rate7,
- 	sczl_rate8: rate8,
- 	sczl_rate9: rate9,
- 	sczl_rate10: rate10,
- 	sczl_jtbh: formdata3.value.sczl_jtbh,
-	开工时间:formdata3.value.starttime,
-	码开始行:formdata3.value.码开始行,
-	码结束行:formdata3.value.码结束行,
-	sys_id:sys_id,
-	sczl_装版工时:formdata3.value.装版工时,
-	sczl_打样工时:formdata3.value.打样工时,
-	sczl_异常类型1:formdata3.value.异常类型,
-	sczl_异常停机工时:formdata3.value.异常总工时,
-	sczl_异常工时1:formdata3.value.异常补时,
-	sczl_保养工时:formdata3.value.保养工时,
-    sczl_dedh:formdata3.value.dedh,
- 	sczl_rq: formdata3.value.rq,
- 	sczl_num: formdata3.value.num,
- 	sczl_cl: formdata3.value.产量,
- 	sczl_zcfp: formdata3.value.制程废品,
- 	sczl_zccp: formdata3.value.制程次品,
- 	sczl_前工序废: formdata3.value.前工序废,
- 	sczl_来料少数: formdata3.value.来料异常,
- 	sczl_ls: formdata3.value.联数,
- 	sczl_ms: formdata3.value.色度数,
- 	sczl_装版总工时: formdata3.value.装版总工时,
- 	sczl_打样总工时: formdata3.value.打样总工时,
- 	sczl_设备运行工时: formdata3.value.通电工时,
- 	码包: formdata3.value.码包,
- 	辅电表: formdata3.value.辅电表,
-	主电表:formdata3.value.主电表,
-   }
-   
+	const restoredData = {
+		sczl_gdbh:formdata3.value.工单编号,
+		sczl_yjno:formdata3.value.yjno,
+		sczl_gxh:formdata3.value.gxh,
+		sczl_gxmc: formdata3.value.gxmc,
+		sczl_bzdh: formdata3.value.bzdh,
+		sczl_bh1: formdata3.value.组员1['编号'],
+		sczl_bh2: formdata3.value.组员2['编号'],
+		sczl_bh3: formdata3.value.组员3['编号'],
+		sczl_bh4: formdata3.value.组员4['编号'],
+		sczl_bh5: formdata3.value.组员5['编号'],
+		sczl_bh6: formdata3.value.组员6['编号'],
+		sczl_bh7: formdata3.value.组员7['编号'],
+		sczl_bh8: formdata3.value.组员8['编号'],
+		sczl_bh9: formdata3.value.组员9['编号'],
+		sczl_bh10: formdata3.value.组员10['编号'],
+		// sczl_bh98: formdata3.value.拉料['编号'],
+		sczl_bh98:formdata3.value.拉料['编号'] === '自备' ? '' : formdata3.value.拉料['编号'],
+		sczl_rate1: rate1,
+		sczl_rate2: rate2,
+		sczl_rate3: rate3,
+		sczl_rate4: rate4,
+		sczl_rate5: rate5,
+		sczl_rate6: rate6,
+		sczl_rate7: rate7,
+		sczl_rate8: rate8,
+		sczl_rate9: rate9,
+		sczl_rate10: rate10,
+		sczl_jtbh: formdata3.value.sczl_jtbh,
+		开工时间:formdata3.value.starttime,
+		码开始行:formdata3.value.码开始行,
+		码结束行:formdata3.value.码结束行,
+		sys_id:sys_id,
+		sczl_装版工时:formdata3.value.装版工时,
+		sczl_打样工时:formdata3.value.打样工时,
+		sczl_异常类型1:formdata3.value.异常类型,
+		sczl_异常停机工时:formdata3.value.异常总工时,
+		sczl_异常工时1:formdata3.value.异常补时,
+		sczl_保养工时:formdata3.value.保养工时,
+		sczl_dedh:formdata3.value.dedh,
+		sczl_rq: formdata3.value.rq,
+		sczl_num: formdata3.value.num,
+		sczl_cl: formdata3.value.产量,
+		sczl_zcfp: formdata3.value.制程废品,
+		sczl_zccp: formdata3.value.制程次品,
+		sczl_前工序废: formdata3.value.前工序废,
+		sczl_来料少数: formdata3.value.来料异常,
+		sczl_ls: formdata3.value.联数,
+		sczl_ms: formdata3.value.色度数,
+		sczl_装版总工时: formdata3.value.装版总工时,
+		sczl_打样总工时: formdata3.value.打样总工时,
+		sczl_设备运行工时: formdata3.value.通电工时,
+		码包: formdata3.value.码包,
+		辅电表: formdata3.value.辅电表,
+		主电表:formdata3.value.主电表,
+		换版类型:formdata3.value.换版类型,
+		sczl_换版联拼数:formdata3.value.联数 + '/' + formdata3.value.换版联拼数,
+	}
+
    if(restoredData.开工时间==undefined){
 	   restoredData.开工时间 = '1900-01-01 00:00:00'
    }
+   
+   console.log('新增数据打印',restoredData);
+   // return;
    const response = await ChanliangAdd(restoredData);
    if (response.code === 0) {
  	  ElMessage({type: 'success',message: '成功'})
@@ -8004,7 +8029,9 @@ const relevantKeys2 = ['组员1', '组员2','组员3','组员4','组员5','组
     码包: formdata3.value.码包,
     辅电表: formdata3.value.辅电表,
 	主电表:formdata3.value.主电表,
-	UniqId:uid.value
+	UniqId:uid.value,
+	换版类型:formdata3.value.换版类型,
+	sczl_换版联拼数:formdata3.value.联数 + '/' + formdata3.value.换版联拼数,
    }
    const response = await MachineChanliangDetailEdit(restoredData);
    if (response.code === 0) {