소스 검색

Merge branch 'master' of https://git.7in6.com/Minong/mes-admin-backend-ui

tty 1 년 전
부모
커밋
5cf5576873

파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 911 - 397
src/api/jixiaoguanli/jitairibaobiao.js


+ 8 - 0
src/api/mes_api_gty/myapi.js

@@ -99,4 +99,12 @@ export const getOrderVerificationTable = (params) => {
     params
   })
 }
+//定额代号
+export const  getDedh= (params) => {
+  return service({
+    url:'/mes_server/packaging_count_document/getDedh',
+    method: 'get',
+    params
+  })
+}
 

+ 8 - 1
src/api/mes_api_gty/otherDocuments.js

@@ -73,7 +73,14 @@ export const getOtherInfo = (params) => {
     params
   })
 }
-
+// 获取员工姓名
+export const getYg = (params) => {
+  return service({
+    url: '/mes_server/packaging_count_document/getYg',
+    method: 'get',
+    params
+  })
+}
 // 拉料计件产量维护修改
 export const updateData = (data) => {
   return service({

+ 25 - 1
src/api/yunyin/yunying.js

@@ -451,6 +451,30 @@ export const ProductCodeList  = (params) => {
         params
     })
 }
+//新增工单->工单添加
+export const WorkOrderAdd  = (data) => {
+    return service({
+        url: '/mes_server/work_order/WorkOrderAdd',
+        method: 'post',
+        data
+    })
+}
+//打印作业通知单->工单印件及工序列表
+export const PrintCodeList  = (params) => {
+    return service({
+        url: '/mes_server/work_order/PrintCodeList',
+        method: 'get',
+        params
+    })
+}
+//打印作业通知单->工艺编号获取
+export const ProcessCodeList  = (params) => {
+    return service({
+        url: '/mes_server/work_order/ProcessCodeList',
+        method: 'get',
+        params
+    })
+}
 
 
 /**工单生产排单(排产管理)*/
@@ -712,4 +736,4 @@ export const getOrderProcessRight = (params) => {
         method: 'get',
         params
     })
-}
+}

+ 6 - 2
src/view/performance/06-packingDocuments/index.vue

@@ -222,7 +222,7 @@
                   width="100"
                 >
                   <template #default="{ row }">
-                    <el-input v-model="row.sczl_dedh" />
+                    <el-input v-model="row.sczl_dedh" @keyup.enter.native="getDedhsubmit" />
                   </template>
                 </el-table-column>
               </el-table>
@@ -361,7 +361,7 @@ import { Layout, LayoutContent, LayoutHeader, LayoutSider } from '@arco-design/w
 import { ElMessage, ElMessageBox, dayjs } from 'element-plus'
 // import { Download, Search, Delete } from '@element-plus/icons-vue'
 import { reactive, ref } from 'vue'
-import { getGxMc, getInfo, getLocate, getPackingSideTable, getPackingTable, updatePackingTable, getYg, DeletePackingTable, addPackingTable } from '@/api/mes_api_gty/myapi'
+import { getGxMc, getInfo, getLocate, getPackingSideTable, getPackingTable, updatePackingTable, getYg, DeletePackingTable, addPackingTable,getDedh } from '@/api/mes_api_gty/myapi'
 
 defineOptions({
   name: '06PackingDocuments',
@@ -712,6 +712,8 @@ const addDetailData = async() => {
       message: '新增成功',
     })
     dialogFormVisible.value = false
+	getTableData()
+	getSideData()
   }
 }
 
@@ -757,6 +759,8 @@ const enterDialog = () => {
     addDetailData()
   }
 }
+//定额代号回车事件
+const getDedhsubmit = () => {
 
 let formElements
 const moveFocus = (event) => {

+ 0 - 3
src/view/performance/07-otherDocuments/index.vue

@@ -422,9 +422,6 @@ const getTableData = async() => {
       tableData.splice(0, tableData.length, ...response.data.rows)
       setCurrent(tableData[0])
     }
-  } catch (e) {
-    console.log(e)
-  }
 }
 
 // 分页设置

+ 264 - 16
src/view/performance/09-workOrderVerification/componets/shebeizhuangtai.vue

@@ -42,6 +42,7 @@
           <el-button
             class="btn-right"
             style="background: #5B79D7;"
+			@click="prevClick"
           >
             上一班次
           </el-button>
@@ -52,6 +53,7 @@
 
           <el-button
             class="btn-right"
+			@click="nextClick"
             style="background: #5B79D7;"
           >
             下一班次
@@ -115,7 +117,7 @@ export default {
 }
 // 机台数据详情
 import service from '@/utils/request'
-export const getMachineDetail = (params) => {
+const getMachineDetail = (params) => {
   return service({
     url: '/mes_server/facility/MachineDetail',
     method: 'get',
@@ -123,6 +125,15 @@ export const getMachineDetail = (params) => {
   })
 }
 
+const setMachineStatus = (data) => {
+  return service({
+    url:'/mes_server/reporting_work/setMachineStatus',
+    method: 'post',
+    data
+  })
+}
+
+
 </script>
 
 <script setup>
@@ -133,7 +144,7 @@ import { GridComponent, LegendComponent, TitleComponent, TooltipComponent } from
 import VChart, { THEME_KEY } from 'vue-echarts'
 import { defineEmits, defineProps, provide, ref } from 'vue'
 
-const props = defineProps(['modelValue', 'title'])
+const props = defineProps(['modelValue', 'title','formData'])
 const emits = defineEmits(['update:modelValue'])
 
 use([
@@ -148,13 +159,240 @@ use([
   LegendComponent,
 ])
 // provide(THEME_KEY, 'dark')
-
+const currentFrequency = ref()
+const timeDifference=ref([0,0,0,0,0,0,0,0])
+const timeRow=ref([])
+const timeData=ref([])
 const activeBtn = ref(null)
-const handleBtnActive = (e) => {
-  activeBtn.value = e.target.innerText
+const handleBtnActive = async(e) => {
+  if(activeBtn.value == e.target.innerText){
+	  console.log(props.formData)
+  }else{
+	  const response = await setMachineStatus({
+		  machine:props.formData.machine.split('#')[0],
+		  order:props.formData.工单编号,
+		  yjno:props.formData.印件号,
+		  gy_name:props.formData.工序名称.split('【')[0],
+		  class:props.formData.class,
+		  status:e.target.innerText,
+		  production_now:props.formData.production_now,
+		  production_all:props.formData.production_all
+	  });
+	  if(response.code === 0){
+		  activeBtn.value = e.target.innerText
+	  }
+  }
 }
 
-const currentFrequency = ref('2023-01-02 08:30')
+const prevClick = async() => {
+	if(currentFrequency.value.split(' ')[1].substring(0,2)=='08'){
+		let previousDay = new Date(currentFrequency.value); // 创建一个表示当前时间的Date对象
+		previousDay.setDate(previousDay.getDate() - 1); // 将日期设置为前一天
+		let year = previousDay.getFullYear();
+		let month = previousDay.getMonth() + 1;
+		let day = previousDay.getDate();
+		currentFrequency.value=`${year}-${month}-${day} 20:30:00`
+		console.log(currentFrequency.value); // 输出前一天日期
+	}else{
+		let now = currentFrequency.value.split(' ')[0]
+		currentFrequency.value=`${now} 08:30:00`
+	}
+	GetMachineDetail()
+}
+
+const nextClick = async() => {
+	if(currentFrequency.value.split(' ')[1].substring(0,2)=='20'){
+		let nextDay = new Date(currentFrequency.value); // 创建一个表示当前时间的Date对象
+		nextDay.setDate(nextDay.getDate() + 1); // 将日期设置为后一天
+		let year = nextDay.getFullYear();
+		let month = nextDay.getMonth() + 1;
+		let day = nextDay.getDate();
+		currentFrequency.value=`${year}-${month}-${day} 08:30:00`
+	}else{
+		let now = currentFrequency.value.split(' ')[0]
+		currentFrequency.value=`${now} 20:30:00`
+	}
+	GetMachineDetail()
+}
+
+
+const GetMachineDetail = async() => {
+	timeDifference.value=[0,0,0,0,0,0,0,0]
+	timeRow.value=[]
+	timeData.value=[]
+	const data = []
+	for (let i = 510; i <= 1230; i++) { // 08:30 到 20:30 的分钟数范围
+	  const hours = Math.floor(i / 60)
+	  const minutes = i % 60
+	  const time = (hours < 10 ? '0' + hours : hours) + ':' + (minutes < 10 ? '0' + minutes : minutes)
+	  data.push([time, 0])
+	}
+	const response = await getMachineDetail({machine:props.formData.machine,start:currentFrequency.value});
+	if (response.code === 0) {
+		  response.data.timeDifference.map(item=>{
+			  switch(item.状态) {
+			  case '维修':
+			  timeDifference.value[1]=item.时间?item.时间:0;
+			  break;
+			  case '保养':
+			  timeDifference.value[2]=item.时间?item.时间:0;
+			  break;
+			  case '测试':
+			  timeDifference.value[3]=item.时间?item.时间:0;
+			  break;
+			  case '打样':
+			  timeDifference.value[4]=item.时间?item.时间:0;
+			  break;
+			  case '待料':
+			  timeDifference.value[5]=item.时间?item.时间:0;
+			  break;
+			  case '装版':
+			  timeDifference.value[6]=item.时间?item.时间:0;
+			  break;
+			  case '生产':
+			  timeDifference.value[7]=item.时间?item.时间:0;
+			  break;
+			  case '':
+			  timeDifference.value[0]=item.时间?item.时间:0;
+			  break;
+			  default:
+			  }
+		  })
+		  response.data.row.map(item=>{
+			  data.map(items=>{
+				  if(item.时间.split(' ')[1]==items[0]){
+					  items[1]=item.产能
+				  }
+				  return items
+			  })
+		  })
+		  option1.value = {
+		    xAxis: {
+		      data: ['待单', '维修', '保养', '测试', '打样', '待料', '装版', '生产'],
+		    },
+		    yAxis: {
+		      name: '状态时长(小时)',
+		      nameLocation: 'end',
+		      nameGap: 5,
+		      nameTextStyle: {
+		        align: 'left',
+		        verticalAlign: 'bottom',
+		      },
+		    },
+		    grid: {
+		      left: '8%',
+		      right: '2%',
+		      top: '22%',
+		      bottom: '15%',
+		    },
+		    series: {
+		      type: 'bar',
+		      label: {
+		        show: true,
+		        position: 'top',
+		      },
+		      data: timeDifference.value,
+		    },
+		    textStyle: {
+		      fontWeight: 'bolder',
+		      fontSize: 16,
+		  
+		    },
+		  }
+		  option2.value={
+			  xAxis: {
+				type: 'category',
+				axisLabel: {
+				  interval: 59, // 控制显示的刻度标签间隔,每小时一个
+				},
+			  },
+			  yAxis: {
+				name: '实时产量',
+				nameLocation: 'end',
+				nameGap: 5,
+				nameTextStyle: {
+				  align: 'left',
+				  verticalAlign: 'bottom',
+				}
+			  },
+			  grid: {
+				left: '8%',
+				right: '2%',
+				top: '22%',
+				bottom: '15%',
+			  },
+			  tooltip: {
+				trigger: 'axis'
+			  },
+			  series: {
+				name: '速度',
+				type: 'line',
+				data: data,
+			  },
+			  textStyle: {
+				fontWeight: 'bolder',
+				fontSize: 16,
+			  },
+			}
+			response.data.首件.map(item=>{
+				timeData.value.push([item.split(' ')[1].substring(0,5),'首件与过程'])
+			})
+			response.data.自检.map(item=>{
+				timeData.value.push([item.split(' ')[1].substring(0,5),'机台检验'])
+			})
+			response.data.IPQC.map(item=>{
+				timeData.value.push([item.split(' ')[1].substring(0,5),'IPQC检验'])
+			})
+			option3.value = {
+			  xAxis: {
+			    // type: 'value',
+			    data: xAxisData,
+			    axisLabel: {
+			      interval: 59, // 控制显示的刻度标签间隔,每小时一个
+			    },
+			  },
+			  yAxis: {
+			    name: '检验时间',
+			    nameLocation: 'end',
+			    nameGap: 5,
+			    nameTextStyle: {
+			      align: 'left',
+			      verticalAlign: 'bottom'
+			    },
+			    axisLine: {
+			      show: true,
+			    },
+			    data: ['IPQC检验', '机台检验', '首件与过程'],
+			  },
+			  tooltip: {
+			    trigger: 'item'
+			  },
+			  grid: {
+			    left: '8%',
+			    right: '2%',
+			    top: '22%',
+			    bottom: '15%',
+			  },
+			  series: {
+			    type: 'scatter',
+			    symbol: 'arrow',
+			    symbolSize: 20,
+			    label: {
+			      show: true,
+			      position: 'right',
+			      formatter: '{@value}' // 点旁边显示label,这里使用name: '横坐标'这样写也可以,鼠标移入出现提示。
+			    },
+			    data: timeData.value,
+			  },
+			  textStyle: {
+			    fontWeight: 'bolder',
+			    fontSize: 16,
+			  },
+			}
+	}
+}
+
+
 
 const option1 = ref({
   xAxis: {
@@ -181,9 +419,7 @@ const option1 = ref({
       show: true,
       position: 'top',
     },
-    data: [
-      0, 0, 0, 0, 0, 0, 2.39, 19.36,
-    ],
+    data: timeDifference.value,
   },
   textStyle: {
     fontWeight: 'bolder',
@@ -198,8 +434,25 @@ for (let i = 510; i <= 1230; i++) { // 08:30 到 20:30 的分钟数范围
   const hours = Math.floor(i / 60)
   const minutes = i % 60
   const time = (hours < 10 ? '0' + hours : hours) + ':' + (minutes < 10 ? '0' + minutes : minutes)
-  data.push([time, Math.random() * 1000])
+  data.push([time, 0])
+}
+const Worklist = async () => {
+	let now = new Date();
+	let year = now.getFullYear();
+	let month = now.getMonth() + 1;
+	let day = now.getDate();
+	let hour = now.getHours();
+	let minute = now.getMinutes();
+	let second = now.getSeconds();
+	if(hour>=20){
+		currentFrequency.value=`${year}-${month}-${day} 20:30:00`
+	}else{
+		currentFrequency.value=`${year}-${month}-${day} 08:30:00`
+	}
+	activeBtn.value=props.formData['status']
+	GetMachineDetail()
 }
+Worklist()
 const xAxisData = data.map(item => item?.[0])
 
 const option2 = ref({
@@ -277,12 +530,7 @@ const option3 = ref({
       position: 'right',
       formatter: '{@value}' // 点旁边显示label,这里使用name: '横坐标'这样写也可以,鼠标移入出现提示。
     },
-    data: [
-      ['08:30', 'IPQC检验'],
-      ['10:30', 'IPQC检验'],
-      ['11:30', '机台检验'],
-      ['17:30', '机台检验'],
-    ],
+    data: timeData.value,
   },
   textStyle: {
     fontWeight: 'bolder',

+ 296 - 180
src/view/performance/Dayreportattached.vue

@@ -14,22 +14,25 @@
         <el-main>
           <!-- 按钮区域 -->
           <div class="gva-table-box">
-            <div class="gva-btn-list">
-              <el-row :span="6">
-                <el-input v-model="searchInfo" placeholder="输入工单编号或产品名称" />
-              </el-row>
-              <el-button type="primary" :icon="Search" @click="onSearch">搜索</el-button>
-              <el-button type="primary"  @click="onAdd">新增</el-button>
-			  <el-button type="primary"  @click="onDel">删除</el-button>
+            <el-form-item>
+              <el-input v-model="searchInfo" placeholder="输入工单编号或产品名称" style="width: 180px;"  />
+              <el-button type="primary" class="search" icon="search" @click="onSearch"></el-button>
+              <el-button type="primary" class="bt" icon="plus" @click="onAdd">新增</el-button>
+			  <el-button type="primary" class="bt" icon="delete"  @click="onDel">删除</el-button>
               <div style="margin-left: auto;">
-                <el-button type="primary" :icon="Download" @click="exportExcel">导出到Excel</el-button>
+                <el-button type="primary" class="bt" icon="download" @click="exportExcel">导出到Excel</el-button>
               </div>
-            </div>
+            </el-form-item>
             <!-- 数据展示 -->
-            <el-table ref="multipleTable" style="width: 100%" tooltip-effect="dark" :data="tableData" row-key="ID"
-              highlight-current-row="true" border @selection-change="handleSelectionChange" @row-click="Click"
+            <el-table ref="multipleTable" style="width: 100%" 
+			tooltip-effect="dark" :data="tableData" row-key="ID"
+              highlight-current-row="true" border 
+			  :row-style="{ height: '0px' }"
+			  :header-row-style="{ height: '20px' }"
+			  :header-cell-style="{ padding: '0px' }"
+			  @selection-change="handleSelectionChange" @row-click="Click"
 			  :show-overflow-tooltip="true" @row-dblclick="doubleClick">
-              <el-table-column type="selection" width="55" />
+              <!-- <el-table-column type="selection" width="55" /> -->
               <el-table-column align="left" label="生产日期" prop="sczl_rq" width="120"/>
               <el-table-column align="left" label="设备编号" prop="sczl_jtbh" width="120"/>
               <el-table-column align="left" label="设备名称" prop="sczl_sbmc" width="340"/>
@@ -49,66 +52,48 @@
             </div>
           </div>
           <!-- 弹出框 -->
-          <el-dialog v-model="dialogFormVisible" :before-close="closeDialog" :title="type === 'create' ? '添加' : '修改'"
-            destroy-on-close width="1200px">
+          <el-dialog v-model="dialogFormVisible" :before-close="closeDialog" :title="type === 'create' ? '新增' : '修改'"
+            destroy-on-close width="700px">
             <!-- <el-scrollbar height="500px"> -->
-            <el-form :model="formData" label-position="left" ref="elFormRef" :rules="rule">
+            <el-form :model="formData" label-position="right" ref="elFormRef" :rules="rule" label-width="80px">
 
-              <el-row :gutter="20">
-
-                <el-col :span="6">
-                  <el-form-item label="日期" prop="name">
-                    <el-row :gutter="20">
-                      <el-col :span="12">
-                        <el-input v-model="formData.sczl_rq" id="日期"  @keydown="ent($event, '备注', '日期', '机器')" :clearable="true" placeholder="ZT01733" />
-                      </el-col>
-                    </el-row>
+              <el-row :gutter="24">
+                <el-col :span="8">
+                  <el-form-item label="日期" prop="name" class="mab">
+                        <el-input v-model="formData.sczl_rq" type="date" max="9999-12-31" id="日期" @focus="rqHandleFocus()" @keydown="ent($event, '备注', '日期', '机器')" placeholder="" />
                   </el-form-item>
                 </el-col>
               </el-row>
 
-              <el-row :gutter="20">            
-                <el-col :span="8">
-                  <el-row :gutter="20">
-                    <el-col :span="14">
-                      <el-form-item label="机器" prop="id">
-                        <el-input v-model="formData.sczl_jtbh" id="机器"  @keydown="ent($event, '日期', '机器', '设备名称')" @keyup.enter.native="getJTsubmit" :clearable="true" placeholder="0.00" />
-                      </el-form-item>
-                    </el-col>
-                    <el-col :span="10">                     
-                        <el-input v-model="formData.设备名称" id="设备名称"  @keydown="ent($event, '机器', '设备名称', '组别')" :clearable="true" placeholder="是" />
-                    </el-col>
-                  </el-row>
-                </el-col>
+              <el-row :gutter="24">
+				<el-col :span="8">
+				  <el-form-item label="机器" prop="id" class="mab">
+					<el-input v-model="formData.sczl_jtbh" id="机器"  @keydown="ent($event, '日期', '机器', '组别')" @blur="getJTsubmit()" style="width: 200px; " placeholder="" />
+				  </el-form-item>
+				</el-col>
+				<el-col :span="16">                     
+					<el-input v-model="formData.设备名称" id="设备名称" :readonly=true style="width: 400px;" placeholder="" />
+				</el-col>
               </el-row>
 			  
-			  <el-row :gutter="20">
-			
-			    <el-col :span="8">
-			      <el-row :gutter="20">
-			        <el-col :span="14">
-			          <el-form-item label="组别" prop="id">
-			            <el-input v-model="formData.sczl_bzdh" id="组别"  @keydown="ent($event, '设备名称', '组别', '通电时间')" :clearable="true" placeholder="0.00" />
-			          </el-form-item>
-			        </el-col>
-			        <el-col :span="10">
-			            <el-form-item label="通电时间" prop="id">
-			            <el-input v-model="formData.sczl_设备运行工时" id="通电时间"  @keydown="ent($event, '组别', '通电时间', '备注')" :clearable="true" placeholder="是" />
-			            </el-form-item>
-			        </el-col>
-			      </el-row>
-			    </el-col>
+			  <el-row :gutter="24">
+				<el-col :span="6">
+				  <el-form-item label="组别" prop="id" class="mab">
+					<el-input v-model="formData.sczl_bzdh" id="组别"  @keydown="ent($event, '机器', '组别', '通电时间')" @blur="getBzsubmit()" style="width: 120px;" placeholder="" />
+				  </el-form-item>
+				</el-col>
+				<el-col :span="8">
+					<el-form-item label="通电时间" prop="id" label-width="133px" class="mab">
+					<el-input v-model="formData.sczl_设备运行工时" id="通电时间"  @keydown="ent($event, '组别', '通电时间', '备注')" style="width: 200px;" placeholder="" />
+					</el-form-item>
+				</el-col>
 			  </el-row>
 			  
-			  <el-row :gutter="20">			 
-			    <el-col :span="8">
-			      <el-row :gutter="20">
-			        <el-col :span="14">
-			        <el-form-item label="备注" prop="id" style="margin-top: 10px;">
-			          <el-input v-model="formData.sczl_desc" id="备注"  @keydown="ent($event, '通电时间', '备注', '日期')" :clearable="true" placeholder="" />
+			  <el-row :gutter="24">			 
+			    <el-col :span="21">
+			        <el-form-item label="备注" prop="id" class="mab">
+			          <el-input type="textarea" rows="3" cols="50" v-model="formData.sczl_desc" id="备注"  @keydown="ent($event, '通电时间', '备注', '日期')" :clearable="true" placeholder="" />
 			        </el-form-item>
-			        </el-col>
-			      </el-row>
 			    </el-col>
 			  </el-row>
 			  
@@ -123,20 +108,25 @@
           </el-dialog>
 
           
-		  <el-dialog
-		    v-model="GetjtbhVisible"
-		    title="选择"
-		    destroy-on-close
-		    width="600px"
-		  			>		     
-		       <el-aside width="250px">
-		         <div class="JKWTree-tree">		          
-		           <el-tree :data="GetJTtreeData" :props="defaultProps" highlight-current="true"
-		             @node-click="GetMachineDedhhandleNodeClick" @node-dblclick="handleNodeDoubleClick"></el-tree>
-		         </div>
-		       </el-aside>		       
+		  <el-dialog v-model="GetjtbhVisible" title="选择"
+		    destroy-on-close width="600px" >
+					<el-input v-model="searchGetjtbh" placeholder=""  style="width: 400px;"></el-input>
+					<el-button type="primary" icon="search" @click="GetjtbhSubmit" class="search"></el-button>
+
+		           <el-tree :data="GetJTtreeData" :props="defaultProps"
+					 highlight-current="true" style="width: 500px;"
+		             @node-click="GetMachineDedhhandleNodeClick"
+					 @node-dblclick="handleNodeDoubleClick"
+					 ></el-tree>     
+		  </el-dialog>
+		  <el-dialog v-model="BzVisible" title="选择" destroy-on-close width="200px" >
+		    <el-table tooltip-effect="dark" :data="selectDataBz" row-key="ID"
+		      highlight-current-row="true" border style="width:100%"
+		      @row-dblclick="SelectClickBz"
+		    >
+		      <el-table-column prop="sczl_bzdh" label="班组" width="150" />			        	 
+		    </el-table>
 		  </el-dialog>
-		  
         </el-main>
       </el-container>
     </el-container>
@@ -172,8 +162,6 @@ const treeData = reactive([]);
 const getTabdata = async () => {
     //接口调用函数
     const response  = await getproductionaddCount();
-	console.log(response)
-	
 	
 	const transformedData = response.data.map(item => ({
 	      label: `${item.date.replace(/-/g, '.')}【单据数: ${item.counts}张】`,
@@ -199,10 +187,21 @@ const formData = ref({
              sczl_jtbh: '',
              设备名称: '',
              sczl_bzdh: '',
-             sczl_设备运行工时: '',
+             sczl_设备运行工时: '0.00',
              sczl_desc: '',
 			 sys_id:'[1002/郑小丽]',
 })
+const initFormData = () => {
+	formData.value = {
+		 sczl_rq: '',
+		 sczl_jtbh: '',
+		 设备名称: '',
+		 sczl_bzdh: '',
+		 sczl_设备运行工时: '0.00',
+		 sczl_desc: '',
+		 sys_id:'[1002/郑小丽]',
+	};
+}
 
 // 验证规则
 const rule = reactive({
@@ -218,6 +217,7 @@ const total = ref(0)
 const page = ref(1)
 const limit = ref(10)
 const searchInfo = ref('')
+const searchGetjtbh = ref('')
 const params = {
   date: '',
   sys_id: '',
@@ -283,9 +283,8 @@ const handleSelectionChange = (val) => {
   	// ScrapFactor.type=val[lenth-1].sczl_检验类别
   	// console.log(ScrapFactor)
   	lastCellValue=val[lenth-1].UniqId
-  	console.log(val)
+  	
   	val.splice(0, val.length);  // 清空 val 数组	
-  	console.log(lastCellValue)
   }
 }
 
@@ -350,35 +349,84 @@ const closeDialog = () => {
     image: '',
     name: '',
   }
+}
+
+const rqHandleFocus = () =>{
+	if(formData.value.sczl_rq==''){
+		formData.value.sczl_rq = new Date().toISOString().split('T')[0]
+	}
+}
+
+const enterDialog1 = (event) => {
+	if (event.keyCode === 13 || event.keyCode === 40) { // Enter 或向下箭头
+		//弹窗提示确认
+		ElMessageBox.confirm('数据存盘?', '提示', {
+		  confirmButtonText: '确定',
+		  cancelButtonText: '取消',
+		  type: 'warning'
+		}).then(() => {
+			enterDialog()
+		})
+	}else if (event.keyCode === 39) { // 向右箭头
+		//弹窗提示确认
+		ElMessageBox.confirm('数据存盘?', '提示', {
+		  confirmButtonText: '确定',
+		  cancelButtonText: '取消',
+		  type: 'warning'
+		}).then(() => {
+			enterDialog()
+		})
+	}
+	
 }
 // 弹窗确定
 const enterDialog = async () => {
-	
-	
-  updateDetailData()
-  // elFormRef.value?.validate(async (valid) => {
-  //   if (!valid) return
-  //   let res
-  //   switch (type.value) {
-  //     case 'create':
-  //       res = await createCompany(formData.value)
-  //       break
-  //     case 'update':
-  //       res = await updateCompany(formData.value)
-  //       break
-  //     default:
-  //       res = await createCompany(formData.value)
-  //       break
-  //   }
-  //   if (res.code === 0) {
-  //     ElMessage({
-  //       type: 'success',
-  //       message: '创建/更改成功'
-  //     })
-  //     closeDialog()
-  //     getTableData()
-  //   }
-  // })
+	//弹窗提示确认
+	ElMessageBox.confirm('数据存盘?', '提示', {
+	  confirmButtonText: '确定',
+	  cancelButtonText: '取消',
+	  type: 'warning'
+	}).then(() => {
+		
+		if(formData.value.sczl_rq==''){
+			ElMessage({
+				type: 'error',
+				message: '请填写日期'
+			});
+			document.getElementById('日期').focus()
+			document.getElementById('日期').select()
+			return;
+		}
+		if(formData.value.sczl_jtbh==''){
+			ElMessage({
+				type: 'error',
+				message: '请选择机器'
+			});
+			document.getElementById('机器').focus()
+			document.getElementById('机器').select()
+			return;
+		}
+		if(formData.value.sczl_bzdh==''){
+			ElMessage({
+				type: 'error',
+				message: '请选择班组'
+			});
+			document.getElementById('组别').focus()
+			document.getElementById('组别').select()
+			return;
+		}
+		if(formData.value.sczl_设备运行工时==''){
+			ElMessage({
+				type: 'error',
+				message: '请填写通电时间'
+			});
+			document.getElementById('通电时间').focus()
+			document.getElementById('通电时间').select()
+			return;
+		}
+	  updateDetailData()
+	});
+
 }
 let table=ref(5);
 let lastCellValue=ref()
@@ -386,7 +434,6 @@ let lastCellValue=ref()
 function doubleClick(row, column, event) {
   type.value = 'update';
   		  lastCellValue= row['UniqId'];
-    		 console.log(lastCellValue)
   table.value=lastCellValue
   	 dialogFormVisible.value = true
 	 
@@ -395,73 +442,120 @@ function doubleClick(row, column, event) {
 // 单击表格操作
 function Click(row, column, event) {
   lastCellValue= row['UniqId'];
-  console.log(lastCellValue)
 }
 //获取详细信息
 const AddgetInfo = async (value) => {
   const response = await addgetInfo({UniqId:value});
-  console.log(response) 
   if (response.code === 0) {
 	formData.value=response.data[0];
   }
-}
+}
+
 //机台回车事件
 const getJTsubmit = (event, inputName) => {
-	  GetJtbh()
+	  addgetJtbh({sys_mc:''}).then(response=>{
+		  if(response.code==0){
+			var flag = 0;
+			for (const arr of response.data[0]['使用部门']) {
+				if(!flag){
+					for (const arr1 of response.data[0][arr]) {
+						if(arr1['jtbh'] == formData.value.sczl_jtbh){
+							flag = 1
+							break;
+						}
+					}
+				}else{
+					break;
+				}
+			}
+			if(!flag){
+				// 遍历接口返回的数据,构建父子关系
+				GetJTtreeData.splice(0, GetJTtreeData.length);
+				response.data.forEach(item => {
+				  const departments = item["使用部门"];
+				  departments.forEach(department => {
+				    const departmentData = {
+				      label: department,
+				      value: department,
+				      children: item[department].map(device => {
+				        return {
+				          label: device["jtbh"]+'/'+device["设备名称"],
+				          value: device["jtbh"]
+				        };
+				      })
+				    };
+				    GetJTtreeData.push(departmentData);
+				  });
+				});
+				  GetjtbhVisible.value=true
+			}
+			  return
+		  	 
+		  	   
+		  }
+	  })
+}
+const GetjtbhSubmit = () =>{
+	addgetJtbh({sys_mc:searchGetjtbh.value}).then(response=>{
+			  if(response.code==0){
+				// 遍历接口返回的数据,构建父子关系
+				GetJTtreeData.splice(0, GetJTtreeData.length);
+				response.data.forEach(item => {
+				  const departments = item["使用部门"];
+				  departments.forEach(department => {
+					const departmentData = {
+					  label: department,
+					  value: department,
+					  children: item[department].map(device => {
+						return {
+						  label: device["jtbh"]+'/'+device["设备名称"],
+						  value: device["jtbh"]
+						};
+					  })
+					};
+					GetJTtreeData.push(departmentData);
+				  });
+				});
+			  }
+	})
 }
 const GetjtbhVisible = ref(false)
-let GetJTtreeData = reactive([]);
-//获取机台
-const GetJtbh = async () => {
-  const response = await addgetJtbh({sys_mc:''});
-  if(response.code==0){
-	  // 遍历接口返回的数据,构建父子关系
-	GetJTtreeData.splice(0, GetJTtreeData.length);
-	response.data.forEach(item => {
-	  const departments = item["使用部门"];
-	  departments.forEach(department => {
-	    const departmentData = {
-	      label: department,
-	      value: department,
-	      children: item[department].map(device => {
-	        return {
-	          label: device["jtbh"]+'/'+device["设备名称"],
-	          value: device["jtbh"]
-	        };
-	      })
-	    };
-	    GetJTtreeData.push(departmentData);
-	  });
-	});
-		
-		
-		// 将父子关系转换为数组
-		// const transformedData = Object.values(treeData);
-		// console.log(transformedData)
-		// GetJTtreeData = transformedData;
-	  // JTBHselectData.splice(0, selectData.length, ...response.data)
-	  GetjtbhVisible.value=true
-	   
-  }
-  console.log(response)
-}
+let GetJTtreeData = reactive([]);
 const GetMachineDedhhandleNodeClick = (node,check,nodeData) => {
-  if (node.children) {
-       // 点击的是父节点
-       // 执行相应的父节点单击事件处理逻辑
-	   console.log('2222')
-     } else {
+  if (!node.children){
        // 点击的是子节点
        // 执行相应的子节点单击事件处理逻辑
-       console.log('11111');
-	   console.log(node.label)
 	   const splitIndex = node.label.indexOf('/');
 	   formData.value.sczl_jtbh = node.label.substring(0, splitIndex);
 	   formData.value.设备名称 = node.label.substring(splitIndex + 1);
 	    GetjtbhVisible.value=false
      }
+}
+
+//班组失去焦点事件
+const getBzsubmit = () => {
+	//弹出选择
+	const data = [{'sczl_bzdh':'A班'},{'sczl_bzdh':'B班'}]
+	selectDataBz.splice(0, selectDataBz.length, ...data)
+	if(!GetjtbhVisible.value){
+		BzVisible.value=true
+	}
+	
+			
+}
+
+//班组选择
+const selectDataBz = reactive([])
+const BzVisible = ref(false)
+const SelectClickBz = (row, column, event) => {
+  const {sczl_bzdh } = row
+
+	formData.value.sczl_bzdh=row.sczl_bzdh
+
+  BzVisible.value = false
 }
 
+
 // 更新数据
 const updateDetailData = async() => {
   const restoredData = {
@@ -474,15 +568,10 @@ const updateDetailData = async() => {
 	sys_id:'[1002/郑小丽]',
   }
  if(ADD.value=='新增'){
-	 // console.log('新增')
-	 console.log('新增')
-	 console.log(ADD.value)
-	 console.log(restoredData)
 	 const response = await reportadd(restoredData);
 	 // ADD.value='1'
 	 // console.log(ADD.value)
 	 ADD.value='0'
-	 console.log(response)
 	 if(response.code==0){
 	 		 ElMessage({
 	 		   type: 'success',
@@ -492,9 +581,6 @@ const updateDetailData = async() => {
 	 dialogFormVisible.value = false
  }else{
 	 const response = await addedit(restoredData);
-	 console.log('修改')
-	  console.log(ADD.value)
-	  console.log(response)
 	  if(response.code==0){
 	 ElMessage({
 	   type: 'success',
@@ -502,47 +588,52 @@ const updateDetailData = async() => {
 	 })
 	  }
 	  dialogFormVisible.value = false
-	 // ADD.value='0'
-	 // console.log(ADD.value)
  }
- //  console.log(restoredData)
- //    console.log(lastCellValue)
- //    formData.value.UniqId=lastCellValue
- //    console.log(formData)
-	// restoredData.UniqId='10'
- //   // const response = await addedit(restoredData);
- //  // console.log(FormData)
- //  console.log(response)
 }
 //键盘 input框跳转
 const ent = (event,id1,id2,id3) => {
 
   if (event.keyCode === 13 || event.keyCode === 40) { // Enter 或向下箭头
-    if(id3!=''){
-      document.getElementById(id3).focus()
+    if(id3!=''){
+		if(id2=='备注'){
+			document.getElementById(id3).focus()
+			document.getElementById(id3).select();
+			enterDialog1()
+		}else{
+			document.getElementById(id3).focus()
+			document.getElementById(id3).select()
+		}
     }
   } else if (event.keyCode === 38) { // 向上箭头
     if(id1!=''){
       document.getElementById(id1).focus()
+      document.getElementById(id1).select()
     }
   }else if (event.keyCode === 8) { // 删除箭头
     if(id1!='' && document.getElementById(id2).value==''){
       document.getElementById(id1).focus()
+      document.getElementById(id1).setSelectionRange(0, 0)
     }
-    console.log(document.getElementById(id2).value)
   }else if (event.keyCode === 37) { // 向左箭头
     if(id1!='' && document.getElementById(id2).selectionStart==0){
       document.getElementById(id1).focus()
+      document.getElementById(id1).select()
     }
   }else if (event.keyCode === 39) { // 向右箭头
     if(id3!='' && document.getElementById(id2).selectionStart == document.getElementById(id2).value.length){
-      document.getElementById(id3).focus()
+      if(id2=='备注'){
+      	document.getElementById(id3).focus()
+      	document.getElementById(id3).select()
+      	enterDialog1()
+      }else{
+      	document.getElementById(id3).focus()
+      	document.getElementById(id3).select()
+      }
     }
   }
 }
 const AddDel = async (value) => {
   const response = await adddel({UniqId:'0'});
-  console.log(response) 
   if (response.code === 0) {
 	 ElMessage({
 	   type: 'success',
@@ -552,10 +643,10 @@ const AddDel = async (value) => {
 }
 const ADD=ref('0')
 //新增
-function onAdd() {
-	AddgetInfo(lastCellValue)
-	ADD.value='新增'
-	console.log(ADD.value)
+const onAdd = () => {
+	type.value = 'create'
+	ADD.value='新增'
+	initFormData()
 	dialogFormVisible.value = true
 	// Productionadd()
 }
@@ -563,7 +654,6 @@ function onAdd() {
 const Reportadd = async () => {
   const response = await reportadd();
   if (response.code === 0) {
-	console.log(333)
   }
   getTableData()
 }
@@ -608,4 +698,30 @@ onMounted(async () => {
   background: #ff80ff !important;
   /* 背景颜色 */
 }
+</style>
+<style scoped>
+:deep(.el-table td .cell) {
+  line-height: 20px !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;
+}
 </style>

+ 79 - 53
src/view/performance/Dayreports.vue

@@ -14,64 +14,65 @@
         <el-main>
           <!-- 按钮区域 -->
           <div class="gva-table-box">
-            <div class="gva-btn-list">
-              <el-row :span="6">
-                <el-input v-model="positionvalue" placeholder="输入工单编号或产品名称" />
-              </el-row>
-              <el-button type="primary" :icon="Search" @click="onSearch">搜索</el-button>
-			  <el-button type="primary"  @click="onCountByGdbh">切换显示方式</el-button>
-			  <el-button type="primary" @click="onAdd">新增</el-button>
-              <el-button type="primary" @click="onDel">删除</el-button>
+            <el-form-item>
+			  <el-input v-model="positionvalue" placeholder="输入工单编号或产品名称" style="width: 180px;" />
+              <el-button type="primary" class="search" icon="search" @click="onSearch"></el-button>
+			  <el-button type="primary" class="bt" icon="copy-document" @click="onCountByGdbh">切换显示方式</el-button>
+			  <el-button type="primary" class="bt" icon="plus" @click="onAdd">新增</el-button>
+              <el-button type="primary" class="bt" icon="delete" @click="onDel">删除</el-button>
               <div style="margin-left: auto;">
-                <el-button type="primary" :icon="Download" @click="exportExcel">导出到Excel</el-button>
+                <el-button type="primary" class="bt" icon="download" @click="exportExcel">导出到Excel</el-button>
               </div>
-            </div>
+            </el-form-item>
             <!-- 数据展示 -->
             <el-table ref="multipleTable" style="width: 100%" tooltip-effect="dark" :data="tableData" row-key="ID"
-              highlight-current-row="true" border 
+              highlight-current-row="true" border 
+			  :row-style="{ height: '0px' }"
+			  :header-row-style="{ height: '20px' }"
+			  :header-cell-style="{ padding: '0px' }"
 			  :show-overflow-tooltip="true" @row-click="Click"
 			  @selection-change="handleSelectionChange" @row-dblclick="doubleClick">
-              <el-table-column type="selection" width="55" />
-              <el-table-column align="left" label="工单编号" prop="sczl_gdbh" width="120"/>
-              <el-table-column align="left" label="产品名称" prop="Gd_cpmc"  width="340"/>
+              <!-- <el-table-column type="selection" width="55" /> -->
+              <el-table-column fixed align="left" label="工单编号" prop="sczl_gdbh" width="90"/>
+              <el-table-column fixed align="left" label="产品名称" prop="Gd_cpmc"  width="250"/>
               <el-table-column align="left" label="印件及工序" prop="jyno_gxmc"  width="120"/>
-              <el-table-column align="left" label="生产日期" prop="sczl_rq"  width="120"/>
-              <el-table-column align="left" label="机台" prop="sczl_jtbh"  width="120"/>
-              <el-table-column align="left" label="班组" prop="sczl_bzdh"  width="120"/>
-              <el-table-column align="left" label="流程单" prop="sczl_num"  width="120"/>
-              <el-table-column align="left" label="车头产量" prop="sczl_cl"  width="120"/>
-              <el-table-column align="left" label="色度数" prop="sczl_ms" width="120" />
-			  <el-table-column align="left" label="制程废" prop="sczl_zcfp" width="120" />
-			  <el-table-column align="left" label="次品" prop="sczl_zccp"  width="120"/>
-			  <el-table-column align="left" label="来料异常" prop="incomingerror"  width="120"/>
-			  <el-table-column align="left" label="装版工时" prop="sczl_装版工时"  width="120"/>
-			  <el-table-column align="left" label="保养工时" prop="sczl_保养工时"  width="120"/>
-			  <el-table-column align="left" label="打样工时" prop="sczl_打样工时"  width="120"/>
+              <el-table-column align="left" label="生产日期" prop="sczl_rq"  width="100"/>
+              <el-table-column align="left" label="机台" prop="sczl_jtbh"  width="80"/>
+              <el-table-column align="left" label="班组" prop="sczl_bzdh"  width="60"/>
+              <el-table-column align="left" label="流程单" prop="sczl_num"  width="80"/>
+              <el-table-column align="left" label="车头产量" prop="sczl_cl"  width="100"/>
+              <el-table-column align="left" label="色度数" prop="sczl_ms" width="80" />
+			  <el-table-column align="left" label="制程废" prop="sczl_zcfp" width="80" />
+			  <el-table-column align="left" label="次品" prop="sczl_zccp"  width="80"/>
+			  <el-table-column align="left" label="来料异常" prop="incomingerror"  width="90"/>
+			  <el-table-column align="left" label="装版工时" prop="sczl_装版工时"  width="90"/>
+			  <el-table-column align="left" label="保养工时" prop="sczl_保养工时"  width="90"/>
+			  <el-table-column align="left" label="打样工时" prop="sczl_打样工时"  width="90"/>
 			  <el-table-column align="left" label="异常停机工时" prop="sczl_异常停机工时"  width="120"/>
 			  <el-table-column align="left" label="设备运行工时" prop="sczl_设备运行工时"  width="120"/>
-			  <el-table-column align="left" label="组员编号1" prop="sczl_bh1" width="120"/>
-			  <el-table-column align="left" label="组员姓名1" prop="name1"  width="120"/>
-			  <el-table-column align="left" label="组员编号2" prop="sczl_bh2"  width="120"/>
-			  <el-table-column align="left" label="组员姓名2" prop="name1" width="120" />
-			  <el-table-column align="left" label="组员编号3" prop="sczl_bh3"  width="120"/>
-			  <el-table-column align="left" label="组员姓名3" prop="name3" width="120"/>
-			  <el-table-column align="left" label="组员编号4" prop="sczl_bh4" width="120"/>
-			  <el-table-column align="left" label="组员姓名4" prop="name4"width="120" />
-			  <el-table-column align="left" label="组员编号5" prop="sczl_bh5" width="120"/>
-			  <el-table-column align="left" label="组员姓名5" prop="name5" width="120"/>
-			  <el-table-column align="left" label="组员编号6" prop="sczl_bh6"width="120" />
-			  <el-table-column align="left" label="组员姓名6" prop="name6" width="120"/> 
+			  <el-table-column align="left" label="组员编号1" prop="sczl_bh1" width="100"/>
+			  <el-table-column align="left" label="组员姓名1" prop="name1"  width="100"/>
+			  <el-table-column align="left" label="组员编号2" prop="sczl_bh2"  width="100"/>
+			  <el-table-column align="left" label="组员姓名2" prop="name1" width="100" />
+			  <el-table-column align="left" label="组员编号3" prop="sczl_bh3"  width="100"/>
+			  <el-table-column align="left" label="组员姓名3" prop="name3" width="100"/>
+			  <el-table-column align="left" label="组员编号4" prop="sczl_bh4" width="100"/>
+			  <el-table-column align="left" label="组员姓名4" prop="name4"width="100" />
+			  <el-table-column align="left" label="组员编号5" prop="sczl_bh5" width="100"/>
+			  <el-table-column align="left" label="组员姓名5" prop="name5" width="100"/>
+			  <el-table-column align="left" label="组员编号6" prop="sczl_bh6"width="100" />
+			  <el-table-column align="left" label="组员姓名6" prop="name6" width="100"/> 
 			  <el-table-column align="left" label="拆片联拼系数" prop="拆片联拼系数" width="120"/>
-			  <el-table-column align="left" label="拆片条小盒系数" prop="拆片条小盒系数" width="120"/>
-			  <el-table-column align="left" label="工价系数" prop="sczl_工价系数" width="160"/>
-			  <el-table-column align="left" label="日定额" prop="日定额" width="120"/>
-			  <el-table-column align="left" label="千件工价" prop="piecesprice " width="120"/>
-			  <el-table-column align="left" label="补产标准" prop="addstandards " width="120"/>
+			  <el-table-column align="left" label="拆片条小盒系数" prop="拆片条小盒系数" width="130"/>
+			  <el-table-column align="left" label="工价系数" prop="sczl_工价系数" width="100"/>
+			  <el-table-column align="left" label="日定额" prop="日定额" width="80"/>
+			  <el-table-column align="left" label="千件工价" prop="piecesprice " width="100"/>
+			  <el-table-column align="left" label="补产标准" prop="addstandards " width="100"/>
 			  <el-table-column align="left" label="创建用户" prop="sys_id" width="120"/>
               <el-table-column align="left" label="创建时间" prop="sys_rq" width="160"/>
               <el-table-column align="left" label="修改时间" prop="mod_rq" width="160"/>
-              <el-table-column align="left" label="UNIQID" prop="UniqId" width="160"/>
-			  <el-table-column align="left" label="table_type" prop="table_type" width="120"/>
+              <el-table-column align="left" label="UNIQID" prop="UniqId" width="100"/>
+			  <!-- <el-table-column align="left" label="table_type"  prop="table_type" width="120"/> -->
 			<tbody>
 			  <tr v-for="row in filteredRows" :key="row.sczl_gdbh">
 				<td>{{ row.sczl_gdbh }}</td>
@@ -696,7 +697,8 @@ const handleCurrentChange = (val) => {
       break
     default:
       break
-  }
+  }
+ 
 }
 
 //定位
@@ -706,7 +708,7 @@ const GetLocate = async () => {
     page: page.value.toString(), limit: limit.value.toString(),
   })
   if (response.code === 0) {
-	 
+	 console.log(response)
     const processedData = response.data.rows.map(item => {
       return {
         ...item,
@@ -732,8 +734,10 @@ const handleNodeClick = (node,check) => {
   //存放当前节点的nodeId
  if (node.params) {
    params.date = node.params.date;
-   params.sys_id = node.params.sys_id;
-   total.value = node.params.total;
+   params.sys_id = node.params.sys_id;
+   params.type = 'getTableData'
+   total.value = node.params.total;
+   page.value = 1
    getTableData();
  }
 }
@@ -1858,7 +1862,6 @@ function Click(row, column, event) {
 //获取详细信息
 const GetInfo = async (value) => {
   const response = await productionInfo({UniqId:value});
-  console.log(response) 
   if (response.code === 0) {
 	formData.value=response.data;
   }
@@ -1895,12 +1898,35 @@ onMounted(async () => {
 .JKWTree-content {
   flex: 1;
 }
-.mab{
-  margin-bottom: 5px;
-}
 /* 选中某行时的背景色*/
 .el-table__body tr.current-row>td {
   background: #ff80ff !important;
   /* 背景颜色 */
 }
+</style>
+<style scoped>
+:deep(.el-table td .cell) {
+  line-height: 20px !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;
+}
 </style>

+ 59 - 52
src/view/performance/chejianbaogong.vue

@@ -1424,6 +1424,7 @@
 		  v-if="dialogSbyxgl"
 		  v-model="dialogSbyxgl"
 		  title="【01.30 08:30】【JY01#--海德堡对开八色平版胶印机(JY08-01)】【2311116-->钻石(荷花)盒包装纸】【01--胶印】"
+		  :formData="formData"
 		/>
 		
         </el-main>
@@ -1473,7 +1474,8 @@ import {
   setMachineStatus,
   fieldInspectionRecord,
   InspectionItemAdd,
-  ProcessInspectionRecordsItem
+  ProcessInspectionRecordsItem,
+  MachineDetailList
 } from '@/api/jixiaoguanli/jitairibaobiao'
 
 import {
@@ -1585,6 +1587,7 @@ const handleNodeClick = (nodeData,node) => {
 //   sczl_name12: [],
 
 // });
+const classbz=ref([])
 const FacilityProduction = async () => {
   const response = await facilityProduction({machine:JTMC});
   if (response.code === 0) {
@@ -1593,6 +1596,7 @@ const FacilityProduction = async () => {
 		formData.value.工序号 = response.data.工序名称.substring(0,2);
 	    formData.value.工序名称 = response.data.工序名称;
 	    formData.value.产品名称 = response.data.产品名称;
+		formData.value.machine=JTMC
 		BZMC.value=response.data.班组编号
 	       // 填充sczl_bh和sczl_name字段
 		   let sczl_bhkey=''
@@ -1603,8 +1607,10 @@ const FacilityProduction = async () => {
 				 sczl_namekey=`sczl_name${i}`
 		       formData.value[sczl_bhkey] = response.data.班组成员[i]['编号'];
 		       formData.value[sczl_namekey] = response.data.班组成员[i]['姓名'];
+			   classbz.value[i-1]=response.data.班组成员[i]['编号']
 		     }
 		   }
+		   formData.value.class=classbz.value.join(',')
 	   //      for (let i = 1; i <= 10; i++) {
 	   //        if (response.data.班组成员) {
 				// // formData.value.['sczl_bh12'] = response.data.班组成员[i]['编号'];
@@ -1623,15 +1629,19 @@ const FacilityProduction = async () => {
 				// // console.log(sczl_name)
 	   //        }
 	   //      }
-		// console.log(formData.value)
+	   const responses = await MachineDetailList({workshop:CJMC});
+	   if(responses.code===0){
+		   responses.data.map(item=>{
+			   if(item.设备编号==JTMC){
+				   formData.value.status=item.状态
+			   }
+		   })
+	   }
 		FacilityWorklist()
 		FacilityTeam(JTMC)
 	    InspectionRecord()
 	    FacilityDetail()
-	        // 输出填充后的formData对象
-	        // console.log(formData.value);
   }
-  // getTableData()
 }
 //设备工作清单
 const FacilityWorklist = async () => {
@@ -1643,9 +1653,7 @@ const FacilityWorklist = async () => {
 }
 //检验记录
 const InspectionRecord = async () => {
-	console.log(formData.value.班组)
   const response = await inspectionRecord({machine:'JY01#',Gd_gdbh:'2312191',team:'A班'});
-  // console.log(response)
   if(response.code==0){
 	 // 提取 inspectiontime 作为列名
 	        // Extract inspectiontime as columnNames
@@ -1686,8 +1694,9 @@ const InspectionRecord = async () => {
 const FacilityDetail = async () => {
   const response = await facilityDetail({ machine: JTMC, Gd_gdbh: '2311114', team:'A班' });
   if (response.code === 0) {
-    console.log(response);
     CLMXData.splice(0, CLMXData.length, ...Object.values(response.data));
+	formData.value.production_now=response.data[0].产量
+	formData.value.production_all=response.data.total.产量
   }
 };
 //员工编号回车事件
@@ -1891,20 +1900,18 @@ function onstatus() {
 }
 //设置机台状态
 const SetMachineStatus = async () => {
-  const response = await setMachineStatus({
-	  machine:'JY03',
-	  gy_name:'02-胶印〖白、黑、哑油【预干】、NT光油',
-	  order:'2311114',
-	  yjno:'1',
-	  class:'ZM00545,ZM01351,ZM01170',
-	  status:'维修',
-	  production_now:'',
-	  production_all:'',
-  });
-  console.log(response) 
-  if (response.code === 0) {
-	// console.log(response) 
-  }
+  // const response = await setMachineStatus({
+	 //  machine:'JY03',
+	 //  gy_name:'02-胶印〖白、黑、哑油【预干】、NT光油',
+	 //  order:'2311114',
+	 //  yjno:'1',
+	 //  class:'ZM00545,ZM01351,ZM01170',
+	 //  status:'维修',
+	 //  production_now:'',
+	 //  production_all:'',
+  // });
+  // if (response.code === 0) {
+  // }
 }
 //提交巡查记录
 function onxuncha() {
@@ -1999,7 +2006,7 @@ const GetMachineMac = async () => {
       ]
     };
     treeData.value.push(newNode);
-	CJMC=newNode.label.substring(0,2)
+	CJMC=newNode.label
     JTMC = newNode.children[0].label;
     FacilityProduction();
   }
@@ -2457,35 +2464,35 @@ const formData3= ref({
 })
 // 自动化生成的字典(可能为空)以及字段
 const formData= ref({
-	工单编号:'',
-	印件号:'',
-	工序名称:'',
-	产品名称:'',
-	sczl_bh1:'',
-	sczl_bh2:'',
-	sczl_bh3:'',
-	sczl_bh4:'',
-	sczl_bh5:'',
-	sczl_bh6:'',
-	sczl_bh7:'',
-	sczl_bh8:'',
-	sczl_bh9:'',
-	sczl_bh10:'',
-	sczl_name1:'',
-	sczl_name2:'',
-	sczl_name3:'',
-	sczl_name4:'',
-	sczl_name5:'',
-	sczl_name6:'',
-	sczl_name7:'',
-	sczl_name8:'',
-	sczl_name9:'',
-	sczl_name10:'',
-	班组:'',
-	order:'',
-	yjno:'',
-	product_name:'',
-	gxmc:'',
+	// 工单编号:'',
+	// 印件号:'',
+	// 工序名称:'',
+	// 产品名称:'',
+	// sczl_bh1:'',
+	// sczl_bh2:'',
+	// sczl_bh3:'',
+	// sczl_bh4:'',
+	// sczl_bh5:'',
+	// sczl_bh6:'',
+	// sczl_bh7:'',
+	// sczl_bh8:'',
+	// sczl_bh9:'',
+	// sczl_bh10:'',
+	// sczl_name1:'',
+	// sczl_name2:'',
+	// sczl_name3:'',
+	// sczl_name4:'',
+	// sczl_name5:'',
+	// sczl_name6:'',
+	// sczl_name7:'',
+	// sczl_name8:'',
+	// sczl_name9:'',
+	// sczl_name10:'',
+	// 班组:'',
+	// order:'',
+	// yjno:'',
+	// product_name:'',
+	// gxmc:'',
 })
 const formDatasData= reactive([])
 

+ 3 - 3
src/view/yunyin/shengchanguanli/gongdanshengchan.vue

@@ -318,7 +318,7 @@
                 <el-table ref="multipleTable" :show-overflow-tooltip="true" :row-style="{ height: '20px' }"
                           :cell-style="{ padding: '0px' }" :header-row-style="{ height: '20px' }"
                           :header-cell-style="{ padding: '0px' }" highlight-current-row="true"
-                          style="width: 100%;height: 50vh" border tooltip-effect="dark" :data="gytableData" row-key="ID" @selection-change="handleSelectionChange">
+                          style="width: 100%;height: 45vh" border tooltip-effect="dark" :data="gytableData" row-key="ID" @selection-change="handleSelectionChange">
                   <el-table-column align="left" label="工单编号" prop="工单编号"  width="90"/>
                   <el-table-column align="left" label="重点工序" prop="重点工序"  width="90"/>
                   <el-table-column align="left" label="印件工序及名称" prop="印件工序及名称"  width="500"/>
@@ -341,7 +341,7 @@
                           :cell-style="{ padding: '0px' }" :header-row-style="{ height: '20px' }"
                           :header-cell-style="{ padding: '0px' }" :show-overflow-tooltip="true"
                           :highlight-current-row="true"
-                          style="width: 100%;height: 50vh" border tooltip-effect="dark" :data="yjtableData" row-key="ID" @selection-change="handleSelectionChange">
+                          style="width: 100%;height: 45vh" border tooltip-effect="dark" :data="yjtableData" row-key="ID" @selection-change="handleSelectionChange">
                   <el-table-column align="left" label="工单编号" prop="工单编号"  width="90"/>
                   <el-table-column align="left" label="印件号" prop="印件号"  width="70"/>
                   <el-table-column align="left" label="印件代号" prop="印件代号"  width="100"/>
@@ -369,7 +369,7 @@
                         :cell-style="{ padding: '0px' }" :header-row-style="{ height: '20px' }"
                         :header-cell-style="{ padding: '0px' }" :highlight-current-row="true"
                         :cell-class-name="pczc_planUsageCellClass"
-                        style="width: 100%;height: 50vh" border tooltip-effect="dark" :data="bottomData" row-key="ID" @selection-change="handleSelectionChange">
+                        style="width: 100%;height: 45vh" border tooltip-effect="dark" :data="bottomData" row-key="ID" @selection-change="handleSelectionChange">
                 <template v-for="item in bottomTableF[currentNode]">
                   <el-table-column :align="item.align" :label="item.title" :prop="item.prop" :width="item.width" />
                 </template>

파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 278 - 102
src/view/yunyin/shengchanguanli/gongdanziliao.vue


이 변경점에서 너무 많은 파일들이 변경되어 몇몇 파일들은 표시되지 않았습니다.