소스 검색

冲突解决

曹鹤洋 1 년 전
부모
커밋
c141b5c83d

+ 9 - 9
src/api/yunyin/yunying.js

@@ -92,21 +92,21 @@ export const setProductStatus = (data) => {
     })
 }
 //8.1获取产品工艺数量
-export const getGyTotal = (data) => {
+export const getGyTotal = (params) => {
     return service({
         url: '/mes_server/product/getGyTotal',
         method: 'get',
+        params
+    })
+}
+// 8.2产品工艺复制(数据库不支持插入数据)
+export const copyProductGy = (data) => {
+    return service({
+        url: '/mes_server/product/copyProductGy',
+        method: 'post',
         data
     })
 }
-//8.2产品工艺复制(数据库不支持插入数据)
-// export const copyProductGy = (data) => {
-//     return service({
-//         url: '/mes_server/product/copyProductGy',
-//         method: 'post',
-//         data
-//     })
-// }
 //9.工艺方案更名
 export const editGyName = (data) => {
     return service({

BIN
src/assets/保养.png


BIN
src/assets/待单.png


BIN
src/assets/待料.png


BIN
src/assets/打样.png


BIN
src/assets/测试.png


BIN
src/assets/生产.png


BIN
src/assets/维修.png


BIN
src/assets/装版.png


+ 1 - 1
src/view/dashboard/dashboardCharts/echartsLine.vue

@@ -128,7 +128,7 @@ onUnmounted(() => {
   .dashboard-line {
     background-color: #fff;
     height: 360px;
-    width: 90%;
+    width: 80%;
   }
   .dashboard-line-title {
     font-weight: 600;

+ 1 - 0
src/view/dashboard/dashboardTable/dashboardTable.vue

@@ -66,6 +66,7 @@ getindex()
         display: flex;
         justify-content: space-between;
         margin-top: 10px;
+		width: 80%;
         .key-box{
           justify-content: center;
         }

+ 100 - 133
src/view/dashboard/index.vue

@@ -1,68 +1,36 @@
 <template>
   <div class="page">
     <div class="gva-card-box">
-      <div class="gva-card gva-top-card">
-        <div class="gva-top-card-left">
-          <el-row class="my-8 w-[500px] flex">
-            <el-col
-              :span="8"
-              :xs="24"
-              :sm="6"
-            >
-              <div class="flex items-center">
-				  <el-icon class="dashboard-icon">
-					<comment />
-				  </el-icon>
-                <label :for="id">计划中工单数:{{labelValue1}}</label>
-              </div>
-            </el-col>
-            <el-col
-              :span="8"
-              :xs="24"
-              :sm="6"
-            >
-              <div class="flex items-center">
-				  <el-icon class="dashboard-icon">
-				   <comment />
-				  </el-icon>
-                <label  :for="id">排程中工单数: {{labelValue2 }}</label>
-              </div>
-            </el-col>
-            <el-col
-              :span="8"
-              :xs="24"
-              :sm="6"
-            >
-              <div class="flex items-center">
-				  <el-icon class="dashboard-icon">
-				   <comment />
-				  </el-icon>
-                <label :for="id">制程中工单数:{{ labelValue3 }}</label>
-              </div>
-            </el-col>
-            <el-col
-              :span="8"
-              :xs="24"
-              :sm="6"
-            >
-              <div class="flex items-center">
-				  <el-icon class="dashboard-icon">
-				   <comment />
-				  </el-icon>
-                <label :for="id">已完工工单数:{{labelValue4 }}</label>
-              </div>
-            </el-col>
-          </el-row>
+        <div class="gva-card gva-top-card">
+          <div class="gva-top-card-content flex items-center">
+            <div class="dashboard-item">
+              <el-icon class="dashboard-icon">
+                <comment />
+              </el-icon>
+              <label :for="id" class="label-text">计划中工单数: {{ labelValue1 }}</label>
+            </div>
+            <div class="dashboard-item">
+              <el-icon class="dashboard-icon">
+                <comment />
+              </el-icon>
+              <label :for="id" class="label-text">排程中工单数: {{ labelValue2 }}</label>
+            </div>
+            <div class="dashboard-item">
+              <el-icon class="dashboard-icon">
+                <comment />
+              </el-icon>
+              <label :for="id" class="label-text">制程中工单数: {{ labelValue3 }}</label>
+            </div>
+            <div class="dashboard-item">
+              <el-icon class="dashboard-icon">
+                <comment />
+              </el-icon>
+              <label :for="id" class="label-text">已完工工单数: {{ labelValue4 }}</label>
+            </div>
+          </div>
+          <img src="@/assets/dashboard.png" class="gva-top-card-right" alt>
         </div>
-
-		
-        <img
-          src="@/assets/dashboard.png"
-          class="gva-top-card-right"
-          alt
-        >
       </div>
-    </div>
     <div class="gva-card-box">
       <div class="gva-card quick-entrance">
         <div class="gva-card-title">快捷入口</div>
@@ -94,26 +62,26 @@
       </div>
     </div>
     <div class="gva-card-box">
-      <div class="gva-card">
-        <div class="gva-card-title">数据统计</div>
-        <div class="p-4">
-          <el-row :gutter="20">
-            <el-col
-              :xs="24"
-              :sm="18"
-            >
-              <echarts-line />
-            </el-col>
-            <el-col
-              :xs="24"
-              :sm="6"
-            >
-              <dashboard-table />
-            </el-col>
-          </el-row>
+        <div class="gva-card">
+          <div class="gva-card-title">数据统计</div>
+          <div class="p-4">
+            <el-row :gutter="20">
+              <el-col
+                :xs="24"
+                :sm="16" 
+              >
+                <echarts-line />
+              </el-col>
+              <el-col
+                :xs="24"
+                :sm="8" 
+              >
+                <dashboard-table />
+              </el-col>
+            </el-row>
+          </div>
         </div>
       </div>
-    </div>
   </div>
 </template>
 
@@ -203,64 +171,63 @@ const toTarget = (name) => {
 
 <style lang="scss" scoped>
 .page {
-    @apply p-0;
-    .gva-card-box{
-      @apply p-4;
-      &+.gva-card-box{
-        @apply pt-0;
-      }
-    }
-    .gva-card {
-      @apply box-border bg-white rounded h-auto px-6 py-8 overflow-hidden shadow-sm;
-      .gva-card-title{
-        @apply pb-5 border-t-0 border-l-0 border-r-0 border-b border-solid border-gray-100;
-      }
+  @apply p-0;
+}
+.gva-card-box {
+  @apply p-4;
+  & + .gva-card-box {
+    @apply pt-0;
+  }
+}
+.gva-card {
+  @apply box-border bg-white rounded h-auto px-6 py-8 overflow-hidden shadow-sm;
+  .gva-card-title {
+    @apply pb-5 border-t-0 border-l-0 border-r-0 border-b border-solid border-gray-100;
+  }
+}
+.gva-top-card {
+  @apply h-72 flex items-center justify-between text-gray-500;
+}
+.gva-top-card-content {
+  display: flex; /* 使用Flex布局 */
+}
+.dashboard-item {
+  display: flex; /* 每个dashboard-item内部也使用Flex布局 */
+  align-items: center; /* 垂直居中对齐 */
+  margin-right: 20px; /* 调整元素之间的间距 */
+  font-size: 18px; /* 设置字体大小为18px */
+}
+.dashboard-icon {
+  @apply text-xl mr-2 text-blue-400;
+}
+.label-text {
+  @apply ml-2;
+}
+.gva-top-card-right {
+  height: 600px;
+  width: 600px;
+  margin-top: 28px;
+}
+::v-deep(.el-card__header) {
+  @apply p-0 border-gray-200;
+}
+.card-header {
+  @apply pb-5 border-b border-solid border-gray-200 border-t-0 border-l-0 border-r-0;
+}
+.quick-entrance-items {
+  @apply flex items-center justify-center text-center text-gray-800;
+  .quick-entrance-item {
+    @apply px-8 py-6 flex items-center flex-col transition-all duration-100 ease-in-out rounded-lg cursor-pointer;
+    &:hover {
+      @apply shadow-lg;
     }
-    .gva-top-card {
-        @apply h-72 flex items-center justify-between text-gray-500;
-        &-left {
-          @apply h-full flex flex-col w-auto;
-            &-title {
-              @apply text-3xl text-gray-600;
-            }
-            &-dot {
-              @apply mt-4 text-gray-600 text-lg;
-            }
-            &-item{
-              +.gva-top-card-left-item{
-				 
-                margin-top: 24px;
-              }
-              margin-top: 14px;
-            }
-        }
-        &-right {
-            height: 600px;
-            width: 600px;
-            margin-top: 28px;
-        }
+    &-icon {
+      @apply flex items-center h-16 w-16 rounded-lg justify-center mx-0 my-auto text-2xl;
     }
-     ::v-deep(.el-card__header){
-          @apply p-0  border-gray-200;
-        }
-        .card-header{
-          @apply pb-5 border-b border-solid border-gray-200 border-t-0 border-l-0 border-r-0;
-        }
-    .quick-entrance-items {
-      @apply flex items-center justify-center text-center text-gray-800;
-        .quick-entrance-item {
-          @apply px-8 py-6 flex items-center flex-col transition-all duration-100 ease-in-out rounded-lg cursor-pointer;
-          &:hover{
-            @apply shadow-lg;
-          }
-            &-icon {
-              @apply flex items-center h-16 w-16 rounded-lg justify-center mx-0 my-auto text-2xl;
-            }
-            p {
-                @apply mt-2.5;
-            }
-        }
+    p {
+      @apply mt-2.5;
     }
+  }
 }
 // .dashboard-icon {
 //   @apply flex items-center text-xl mr-2 text-blue-400;

+ 38 - 20
src/view/job/processSheet/processSheet.vue

@@ -98,10 +98,10 @@
 	             <div id="liucheng">
 	                 <fieldset class="newlabel">
 	                 <table width="100%" border="1" class="new_craft" id="new_craft">
-	             	   <caption>工艺</caption>	  
+	             	   <caption>工艺</caption>
 	             		  <tr>
 							  <td width="40%">上次<span style="color: red">{{department}}</span>工艺更新时间:<span style="color: red">{{update}}</span></td>
-							  <td> 
+							  <td>
 							      <input type="button" style="margin-left: 1px;" value="增加工艺" @click="addInput"/>
 							  </td>
 						  </tr>
@@ -150,7 +150,8 @@
 	const shuang = ref(false)
 	const update = ref()
 	const data = ref()
-	const gyData = ref([])
+  const peijian = ref(0)
+  const gyData = ref([])
 	const selectedPaper = ref([])
 	const selectedPeijian = ref([])
 	const datas = ref([])
@@ -182,7 +183,7 @@
 				  console.log(getDocumentDatas.data.paper.length)
 				  selectedPaper.value=getDocumentDatas.data.paper
 				  selectedPeijian.value=getDocumentDatas.data.peijian
-				  
+
 			  }else{
 				  dan.value=true
 				  shuang.value=false
@@ -191,6 +192,7 @@
 			  }
 			  workData.value.num=getDocumentDatas.data.paper[0].bom_计划用量;
 			  if(getDocumentDatas.data.peijian){
+          peijian.value=getDocumentDatas.data.peijian[0]['id']
 				  const getHistory = async() => {
 				    const getDocumentHistorys = await getDocumentHistory({
 						order:workData.value.Gd_gdbh,
@@ -200,36 +202,52 @@
 							update.value=getDocumentHistorys.data.update
 							gyData.value=getDocumentHistorys.data.data.map((item)=>({
 								gy:item
-							}))			  	  
+							}))
 				    }
 				  }
 				  getHistory()
 			  }
-			  
+
 		  }
 		}
 		getDocument()
-		
+
 	}
 	const addInput = () => {
 	 gyData.value.push({gy:''})
 	}
 	const sendClick = () => {
-		const saveDocument = async() => {
-			datas.value = gyData.value.map((item)=>(item.gy))
-			data.value= datas.value.join(",")
-		  const saveDocumentDatas = await saveDocumentData({order:2109722,data:data.value,peijian:0})
-		  if (saveDocumentDatas.code === 0) {
-		  	  console.log(saveDocumentDatas)
-		  }
-		}
 		saveDocument()
 	}
+  const saveDocument = async() => {
+    datas.value = gyData.value.map((item)=>(item.gy))
+    data.value= datas.value.join(",")
+    const saveDocumentDatas = await saveDocumentData({order:workData.value.Gd_gdbh,data:data.value,peijian:peijian.value})
+    if (saveDocumentDatas.code === 0) {
+      getDocument()
+    }
+  }
+  const getDocument = async() => {
+    const getDocumentInfos = await getDocumentInfo({
+      order:workData.value.Gd_gdbh,
+      mabao:workData.value.mabao,
+      version:workData.value.version,
+      start_liucheng:workData.value.start_liucheng,
+      tldx:workData.value.tldx,
+      remark:workData.value.remark,
+      string:data.value,
+      num:workData.value.num
+    })
+    if (getDocumentInfos.code === 0) {
+      console.log(getDocumentInfos.data)
+    }
+  }
 	const selectpPaper = (event) => {
 		 workData.value.num=event.target.value
 	}
-	
+
 	const selectPeijian = async(event) => {
+    peijian.value=event.target.value
 		 const getDocumentHistoryss = await getDocumentHistory({
 		 	order:workData.value.Gd_gdbh,
 		 	peijian:event.target.value})
@@ -239,10 +257,10 @@
 		 		update.value=getDocumentHistoryss.data.update
 		 		gyData.value=getDocumentHistoryss.data.data.map((item)=>({
 		 			gy:item
-		 		}))			  	  
+		 		}))
 		 }
 	}
-	
+
 </script>
 
 <style>
@@ -287,7 +305,7 @@
 	    position: fixed;
 	}
 	#daima table{
-	
+
 	}
 	.firm  ul,.product  ul,.tag ul{
 	    width:100%;
@@ -358,4 +376,4 @@
 	.msg{ font-size: 13px; }
 	.onError{ color: red; }
 	.onSuccess{ color: green; }
-</style>
+</style>

+ 129 - 65
src/view/performance/chejianbaogong.vue

@@ -2,16 +2,16 @@
   <div>
 	<header>
 		<div style="height: 50px;">
-			<el-button type="primary" @click="onBZ" >班组维护</el-button>
-			<el-button type="primary" @click="onchanliang"  v-if="zdtreeType === true" >日产量上报</el-button>
-			<el-button type="primary" @click="onOver" >完工</el-button>
-			<el-button type="primary" @click="onzhicheng"  >制程检验</el-button>
-			<el-button type="primary" @click="ondianjian"  >设备点检</el-button>
-			<el-button type="primary" @click="onxuncha" >管理巡查</el-button>
-			<el-button type="primary" @click="onstatus" >设置机台状态</el-button>
-			<el-button type="primary" @click="onyinban">印版领退</el-button>
-			<el-button type="primary" @click="onClear" >换型清场</el-button>
-			<el-button type="primary" @click="oncomplaints" >客诉记录</el-button>
+			<el-button type="primary" size="large" @click="onBZ" >班组维护</el-button>
+			<el-button type="primary" size="large" @click="onchanliang"  v-if="zdtreeType === true" >日产量上报</el-button>
+			<el-button type="primary" size="large" @click="onOver" >完工</el-button>
+			<el-button type="primary" size="large" @click="onzhicheng"  >制程检验</el-button>
+			<el-button type="primary" size="large" @click="ondianjian"  >设备点检</el-button>
+			<el-button type="primary" size="large" @click="onxuncha" >管理巡查</el-button>
+			<el-button type="primary" size="large" @click="onstatus" >设置机台状态</el-button>
+			<el-button type="primary" size="large" @click="onyinban">印版领退</el-button>
+			<el-button type="primary" size="large" @click="onClear" >换型清场</el-button>
+			<el-button type="primary" size="large" @click="oncomplaints" >客诉记录</el-button>
 		</div>
 		</header>
 
@@ -130,13 +130,13 @@
 
                         <el-tab-pane label="班组人员及分配比例" @click="showTable('工艺资料')" name="second">
                           <el-table ref="multipleTable"
-                                    highlight-current-row="true"
                                     :show-overflow-tooltip="true"
                                     :row-style="{ height: '20px' }"
                                     :cell-style="{ padding: '0px' }" :header-row-style="{ height: '20px' }"
                                     :header-cell-style="{ padding: '0px' }"
                                     @row-dblclick="gyupdateCompanyFunc"
                                     :row-class-name="rowClassStyle"
+                                    :cell-class-name="bzryplanUsageCellClass"
                                     style="width: 100%;height: 400px" border tooltip-effect="dark" :data="FPData" row-key="ID" @selection-change="handleSelectionChange"
                                     @row-click="clickybupdate">
                            <el-table-column type="selection" label="选择" width="55" />
@@ -1348,7 +1348,7 @@
 		    </el-col>
 			<el-col :span="4" style="margin-top=0px; margin-bottom: 0px;">
 			  <el-form-item label="工号 " prop="id" style="margin-top=0px; margin-bottom: 0px;">
-			    <el-input v-model="xunchaData.sczl_bh"  @keyup.enter.native="getygsubmit($event, '11')"  placeholder="" style="margin-top=0px; margin-bottom: 0px;"/>
+			    <el-input v-model="xunchaData.sczl_bh"  @keyup.enter.native="getxunchayg($event)"  placeholder="" style="margin-top=0px; margin-bottom: 0px;"/>
 			  </el-form-item>
 			</el-col>
 			<el-col :span="4" style="margin-top=0px; margin-bottom: 0px;">
@@ -1858,6 +1858,10 @@ import {
   getCompanyList
 } from '@/api/company'
 
+import {
+  EquipmentSchedulingEdit,
+} from "@/api/yunyin/yunying";
+
 import {
   ProcessInspectionRecordsItemAdd,
   AdditionalInspectionRecordAdd,
@@ -2076,6 +2080,7 @@ const FacilityProduction = async () => {
 		formData.value.班组Id=response.data.班组Id
 		formData.value.machine=JTMC
 		formData.value.状态=response.data.状态
+    formData.value.定额代号=response.data.定额代号
 		BZMC.value=response.data.班组编号
 	       // 填充sczl_bh和sczl_name字段
 		   let sczl_bhkey=''
@@ -2147,6 +2152,7 @@ const FacilityWorklist = async () => {
 }
 //检验记录
 const InspectionRecord = async () => {
+  JYData=[]
   const response = await inspectionRecord({machine:JTMC,Gd_gdbh:formData.value.工单编号,team:BZMC.value});
   if(response.code==0){
 	 // 提取 inspectiontime 作为列名
@@ -2190,6 +2196,12 @@ const FacilityDetail = async () => {
   formData.value.production_all=0
   const response = await facilityDetail({ machine: JTMC, Gd_gdbh: formData.value.工单编号, team:BZMC.value });
   if (response.code === 0) {
+    if(response.data === null){
+      formData.value.上机时间=currentDate+' 08:30:00'
+    }else{
+      formData.value.上机时间=currentDate.split('-')[0]+'-'+response.data[0]['生产时间段'].split('>')[1]+':00'
+    }
+    console.log(formData.value.上机时间)
     CLMXData.splice(0, CLMXData.length, ...Object.values(response.data));
 	formData.value.production_now=response.data[0].产量
 	formData.value.production_all=response.data.total.产量
@@ -2205,6 +2217,13 @@ const getygsubmit = (event, inputName) => {
 		   // console.log(variableValue)
 		   GetYg(variableValue,inputName)
 }
+
+const getxunchayg = async (value) => {
+  const response = await getYg({sczl_bh:xunchaData.value.sczl_bh});
+  if (response.code === 0) {
+    xunchaData.value.sczl_name=response.data.ygxm
+  }
+}
 //获取员工信息
 const GetYg = async (value,inputName) => {
   const response = await getYg({sczl_bh:value});
@@ -2487,28 +2506,32 @@ function onstatus() {
 }
 function onClear() {
 	huanxingVisible.value=true
-	 RemodelGetTab()
+	RemodelGetTab()
 }
 const RemodelGetTab = async() => {
   const response = await remodelGetTab()
   let arr=[]
   if (response.code === 0) {
-	  for(let key in response.data){
-		  if(response.data[key][0]){
-			  let children =[]
-			  for (let i = 0; i < response.data[key].length; i++) {
-				  children.push({label:response.data[key][i],machine:key})
-			  }
-			  arr.push({
-				  label:key,
-				  children:children
-			  })
-			  console.log(response.data[key].length)
-		  }else{
-			 arr.push({label:key})
-		  }
-	  }
-	  huanxingtreeData.value=arr
+	  // for(let key in response.data){
+		//   if(response.data[key][0]){
+		// 	  let children =[]
+		// 	  for (let i = 0; i < response.data[key].length; i++) {
+		// 		  children.push({label:response.data[key][i],machine:key})
+		// 	  }
+		// 	  arr.push({
+		// 		  label:key,
+		// 		  children:children
+		// 	  })
+		// 	  console.log(response.data[key].length)
+		//   }else{
+		// 	 arr.push({label:key})
+		//   }
+	  // }
+	  // huanxingtreeData.value=arr
+    huanxingtreeData.value=[{label:JTMC,children:response.data[JTMC].map(item=>({
+        label:item,
+        machine:JTMC
+      }))}]
   }
 }
 //设置机台状态
@@ -2690,35 +2713,13 @@ const FieldInspectionRecord = async () => {
   }
 }
 //获取机台编号
-const GetMachineMac = async () => {
-	var xmlhttp = null;
-	var res;
-	if (window.XMLHttpRequest) {
-		xmlhttp = new XMLHttpRequest();
-	} else if (window.ActiveXObject) {
-		xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
-	}
-	// 2. 设置回调函数
-	xmlhttp.onreadystatechange = function() {
-		if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
-			res = eval('('+xmlhttp.response+')');
-			let result = ''
-			  for (let i = 0; i < res.macAddress.length; i++) {
-				if (i % 2 === 0 && i !== 0) {
-				  result += '-' // 根据实际需求修改分隔符
-				}
-				result += res.macAddress[i]
-			  }
-		}
-	}
-	// 3. 打开一个连接http://10.10.4.42/
-	xmlhttp.open("get", "http://127.0.0.1:8090/init")
-	// 5. 发送
-	xmlhttp.send();
+const GetMachineMac = async (addr) => {
+  console.log(addr);
+  const response = await getMachineMac({ addr: addr });
   // const response = await getMachineMac({ addr: '68-ED-A4-26-5D-5E' });
   // const response = await getMachineMac({ addr: '68-ED-A4-26-5D-90' });
   // const response = await getMachineMac({ addr: '68-ED-A4-26-5E-50' });
-  const response = await getMachineMac({ addr: '68-ED-A4-26-60-CC' });
+  // const response = await getMachineMac({ addr: '68-ED-A4-26-60-CC' });
   // const response = await getMachineMac({ addr: '68-ED-A4-26-5F-8E' });
   // const response = await getMachineMac({ addr: '68-ED-A4-26-60-C8' });
   // const response = await getMachineMac({ addr: '40-62-31-21-4E-15' });
@@ -2726,7 +2727,6 @@ const GetMachineMac = async () => {
   // const response = await getMachineMac({ addr: '68-ED-A4-26-60-E5' });
   // const response = await getMachineMac({ addr: '68-ED-A4-26-5E-4E' });
   // const response = await getMachineMac({ addr: '68-ED-A4-26-60-D1' });
-  console.log(response);
   if (response.code === 0) {
     // 将接口返回的数据添加到树型结构中
     let newNode = {
@@ -2745,7 +2745,34 @@ const GetMachineMac = async () => {
     FacilityProduction();
   }
 }
-GetMachineMac()
+const GetAddr =  () => {
+  var xmlhttp = null;
+  var res;
+  if (window.XMLHttpRequest) {
+    xmlhttp = new XMLHttpRequest();
+  } else if (window.ActiveXObject) {
+    xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
+  }
+  // 2. 设置回调函数
+  xmlhttp.onreadystatechange = function() {
+    if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
+      res = eval('('+xmlhttp.response+')');
+      let result = ''
+      for (let i = 0; i < res.macAddress.length; i++) {
+        if (i % 2 === 0 && i !== 0) {
+          result += '-' // 根据实际需求修改分隔符
+        }
+        result += res.macAddress[i]
+      }
+      GetMachineMac(result)
+    }
+  }
+  // 3. 打开一个连接http://10.10.4.42/
+  xmlhttp.open("get", "http://127.0.0.1:8090/init")
+  // 5. 发送
+  xmlhttp.send();
+}
+GetAddr()
 //提交巡查记录
 const SubmitPatrolRecord = async () => {
 	console.log(JTMC.split("#")[0])
@@ -2775,8 +2802,21 @@ function onchanliang() {
 	 console.log(JTMC.split("#")[0]); // 通过value属性获取ref对象的值,然后再调用split方法
 	ReportInfo()
 }
+
+// 获取当前日期
+const today = new Date();
+const year = today.getFullYear();
+const month = String(today.getMonth() + 1).padStart(2, '0'); // 月份从 0 开始,需要补零
+const day = String(today.getDate()).padStart(2, '0');
+const hours = String(today.getHours()).padStart(2, '0');
+const minutes = String(today.getMinutes()).padStart(2, '0');
+const seconds = String(today.getSeconds()).padStart(2, '0');
+const currentDate = `${year}-${month}-${day}`;
+const currentTime = `${year}-${month}-${day} ${hours}:${minutes}`;
+const currenttime = `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`;
 //日产量详情获取
 const ReportInfo = async () => {
+
   const response = await reportInfo({ machine: JTMC.split("#")[0] });
   if (response.code === 0) {
     const { order_info, class: classInfo } = response.data;
@@ -2788,6 +2828,11 @@ const ReportInfo = async () => {
       product_name: order_info.product_name,
       yj_name: order_info.yj_name,
       gy_name: order_info.gy_name,
+      日期:currentDate,
+      下机时间:currenttime,
+      上机时间:formData.value.上机时间,
+      装版总时长:0,
+      定额代号:formData.value.定额代号,
       sczl_jtbh: classInfo.sczl_jtbh.split('#')[0],
       sczl_bzdh: classInfo.sczl_bzdh,
       sys_id: classInfo.sys_id,
@@ -3121,10 +3166,10 @@ const FacilityTeam = async (value) => {
     const updatedData = response.data.map(item => {
       return { ...item, JTMC: value }; // 添加 JTMC 属性
     });
-
+    FPData.splice(0, FPData.length, ...updatedData)
     // 将更新后的数据添加到 bzData 数组
     bzData.push(...updatedData);
-	FPData.push(...updatedData)
+	// FPData.push(...updatedData)
 	console.log(FPData)
   }
 };
@@ -3487,15 +3532,31 @@ const setMachineTeams = async(row) => {
 			team_id:formData.value.班组Id
 			})
     if (res.code === 0) {
-		FacilityProduction()
-
-		ElMessage({
+      EquipmentSchedulingEdits(row)
+      ElMessage({
 		        type: 'success',
 		        message: '成功'
 		    })
     }
 }
 
+const EquipmentSchedulingEdits = async(row) => {
+  console.log(row)
+  const res = await EquipmentSchedulingEdit([{
+    capacity:row.工序产能,
+    ProductionHours:row.计划工时,
+    AuxiliaryHours:row.装版时数,
+    shift:row.班组,
+    remark:row.排产备注,
+    start:row.最早开工时间,
+    projectTime:currentTime,
+    UniqId:row.UniqId
+  }])
+  if (res.code === 0) {
+    FacilityProduction()
+  }
+}
+
 // 删除行
 const deleteCompanyFunc = async (row) => {
     const res = await deleteCompany({ ID: row.ID })
@@ -3637,13 +3698,16 @@ const enterDialog = async () => {
 }
 
 const sbzyqdplanUsageCellClass = ({row, column, rowIndex, columnIndex}) =>{
-  // console.log(formData.value['工单编号'])
-  // console.log(row['工单编号|质量信息'].split('|')[0])
   if(formData.value['工单编号'] === row['工单编号|质量信息'].split('|')[0]){
-    console.log(123)
     return 'back-color-row';
   }
 }
+const bzryplanUsageCellClass = ({row, column, rowIndex, columnIndex}) =>{
+  if(formData.value['班组Id'] === row.ID){
+    return 'back-color-row';
+  }
+}
+
 </script>
 
 <style scoped>

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


+ 5 - 3
src/view/yunyin/shengchanguanli/components/addGongYi.vue

@@ -242,9 +242,11 @@ const getGxshList = async ()=>{
 }
 //点击工序损耗列表数据
 const gxshselectHandle = async (node)=>{
-  form['shdh'] = node.value
-  form['工序损耗名称'] = node.label2
-  gxshdisplay.value = false
+  if(node.label2){
+    form['shdh'] = node.value
+    form['工序损耗名称'] = node.label2
+    gxshdisplay.value = false
+  }
 }
 const selectHandle = async (node)=>{
   if (node.children && node.children.length> 0) return

+ 6 - 1
src/view/yunyin/shengchanguanli/components/print.vue

@@ -2604,6 +2604,7 @@ const jsondata = {
 }
 hiprint.init()
 const hiprintTemplate = new hiprint.PrintTemplate({ template: jsondata })
+const _gdlx = ref('')
 const cp_print_handleConfirm = async () => {
   let params = {};
   //2310707
@@ -2616,6 +2617,8 @@ const cp_print_handleConfirm = async () => {
   //调用打印接口【打印作业通知单】
   const print_PrintJobOrder = await PrintJobOrder(params);
   console.log(print_PrintJobOrder)
+  _gdlx.value =  '★' +print_PrintJobOrder.data['工单类型']
+
   if(print_PrintJobOrder.data === null){
     ElMessage({type: 'error',message: print_PrintJobOrder.msg})
   }
@@ -2629,7 +2632,9 @@ const cp_print_handleConfirm = async () => {
   const seconds = String(today.getSeconds()).padStart(2, '0');
   const currentDate = `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`;
   const printdata  = {
-    "minong": "https://shangbiaopic.11467.com/13/85/13855845.jpg",
+    // "minong": "https://shangbiaopic.11467.com/13/85/13855845.jpg",
+    "minong": "https://www.zjminong.com/static/web/images/logo.png?v=v2",
+    "ztlx":_gdlx.value,
     "printcode":print_PrintJobOrder.data['生产批次号'],
     "dysj":currentDate,
     "scpch":print_PrintJobOrder.data['生产批次号'],

+ 12 - 4
src/view/yunyin/shengchanguanli/gongdanshengchan.vue

@@ -140,7 +140,7 @@
                 </el-form-item>
 
                 <el-form-item label="" prop="" style="margin-left: 25px;">
-                  <el-button type="" icon="edit" disabled @click="oneditpcClick">更新排程</el-button>
+                  <el-button type="" icon="edit"  @click="oneditpcClick">更新排程</el-button>
                 </el-form-item>
               </div>
 
@@ -477,6 +477,7 @@ import {
   getOrderProcessLeft,
   getOrderProcessRight,
   gdzl_MachineList,
+  EquipmentSchedulingEdit,
   MachineTeamEdit
 } from "@/api/yunyin/yunying";
 
@@ -1358,6 +1359,7 @@ const pd_gdprintonClick = () => {
 //车间设备排程【按钮】
 const oncjsbpcClick = () => {
   cjsbpcformData['sbdh'] = _machine.value;
+  paichengData.value = [];
   _EquipmentSchedulingdata();
   _ScheduleSelectiondata();
   cjsbpclist.value = true;
@@ -1420,14 +1422,20 @@ const oneditpcClick = async () => {
       AuxiliaryHours: item.辅助工时,
       shift: item.班次安排,
       remark: item.排单备注,
-      start: item.计划开工时间,
-      projectTime: item.计划工时间,
+      start: item.最早开工时间,
+      projectTime: item.计划工时间,
       UniqId: item.UniqId
     };
   });
   console.log(formattedData)
-  // const EquipmentSchedulingEdit_edit = await EquipmentSchedulingEdit(formattedData);
+  const EquipmentSchedulingEdit_edit = await EquipmentSchedulingEdit(formattedData);
   // console.log(EquipmentSchedulingEdit_edit)
+  if (EquipmentSchedulingEdit_edit.code === 0) {
+    ElMessage({ type: 'success', message: '更新成功' });
+    cjsbpclist.value = false;
+  } else {
+    ElMessage({ type: 'error', message: '更新失败' });
+  }
   // cjsbpclist.value = true;
 };
 //车间设备制程【退出】

+ 4 - 38
src/view/yunyin/shengchanguanli/gongdanziliao.vue

@@ -2037,13 +2037,11 @@ const addgdyj_onclick = () => {
     ElMessage({type: 'warning',message: '请选择具体的工单后,再操作此功能' })
   }else{
     gdyj_clearFormData();
-    // console.log(yjzuidahaoma.value)
     add_gdyjdialogFormVisible.value = true
   }
 }
 //印件新增确定
 const add_gdyjenterDialog =  async  () => {
-  // console.log(add_yjzlformdata)
   if(add_yjzlformdata['yjno'] === ''){
     ElMessage({type: 'warning',message: '印件号不能为空'})
     return false;
@@ -2072,7 +2070,6 @@ const add_gdyjenterDialog =  async  () => {
     yj_zzmc2: add_yjzlformdata['zzmc2'],
     yj_zzmc3: add_yjzlformdata['zzmc3'],
     yj_zzmc4: add_yjzlformdata['zzmc4'],
-
     yj_tlgg: add_yjzlformdata['tlgg'],
     yj_klgg: add_yjzlformdata['klgg'],
     Yj_核算规格: add_yjzlformdata['hsgg'],
@@ -2082,11 +2079,8 @@ const add_gdyjenterDialog =  async  () => {
     yj_ls: add_yjzlformdata['ls'],
     yj_desc: add_yjzlformdata['desc'],
     Sys_id  : "[1031/谭鸿忠]",
-    // 万小张: add_yjzlformdata['万小张'],
   };
-  // console.log(formattedData)
   const PrintDetailAdd_add = await PrintDetailAdd(formattedData);
-  // console.log(PrintDetailAdd_add)
   if(PrintDetailAdd_add.code === 0) {
     ElMessage({type: 'success',message: '添加成功'})
     add_gdyjdialogFormVisible.value = false
@@ -2108,7 +2102,6 @@ const handleTreeData = (treeData) => {
         label:`${item.物料代码} ${item.物料名称}`,
         物料代码:item.物料代码,
         物料名称:item.物料名称
-
       }))
     }))
   }))
@@ -2117,7 +2110,7 @@ const handleTreeData = (treeData) => {
 
 //印件新增【纸张】树状图
 const handleTreeDatas = (treeData) => {
-  console.log(treeData)
+  // console.log(treeData)
   const data = Object.keys(treeData).map((key)=>({
     label:key,
     children: Object.keys(treeData[key]).map((keys)=>({
@@ -2131,7 +2124,6 @@ const handleTreeDatas = (treeData) => {
           物料名称:item.物料名称
         }))
       }))
-
     }))
   }))
   return data
@@ -2219,23 +2211,6 @@ const addgdgy_onclick = () => {
     addGongYiRef.value.open(_Gd_gdbh.value, gongxu)
   }
 }
-// //新增工艺资料确定
-// const add_gdgyenterDialog = async () => {
-//   console.log(1)
-//   // const formattedData = {
-//   //   Yj_Gdbh: _Gd_gdbh.value,
-//   //   yj_Yjno: add_gdgyformData['yjno'],
-//   //   yj_Yjdh: add_gdgyformData['yjdh'],
-//   // };
-//   // console.log(formattedData)
-//   // const ProcessDetailAdd_add = await ProcessDetailAdd(formattedData);
-//   // console.log(ProcessDetailAdd_add)
-//   // add_gdgydialogFormVisible.value = false
-// }
-//新增工艺资料取消
-// const add_gdgycloseDialog = () => {
-//   add_gdgydialogFormVisible.value = false
-// }
 
 
 // =========== 查改U8工单 ===========
@@ -2318,8 +2293,6 @@ const oncgugdcloneclick = () => {
   cgugdlist.value = false;
 };
 
-
-
 // =========== 工艺流程调整 ===========
 const gylctztableColumns = ref(
     [
@@ -2369,10 +2342,7 @@ const gylctztableData = ref([]);
 const oneditgylctzclick = () => {
   if(_Gd_gdbh.value == null){
     gylctzlist.value = false;
-    ElMessage({
-      type: 'warning',
-      message: '请选择具体的工单后,再操作此功能'
-    })
+    ElMessage({type: 'warning',message: '请选择具体的工单后,再操作此功能'})
   }else{
     gylctzformData['gdbh'] = _Gd_gdbh.value;
     _ProcessFlow();
@@ -2479,7 +2449,6 @@ const _ReferenceWorkOrder = async ()=>{
       const schemes = ReferenceWorkOrder_data.data || [];
       // 直接将数组作为工艺方案数组
       gdzlfjxxformData.cpgyfans = schemes;
-
       if (gdzlfjxxformData.cpgyfans.length > 0) {
         gdzlfjxxformData.cpgyfan = [gdzlfjxxformData.cpgyfans[0]];
       }
@@ -2529,16 +2498,13 @@ const gxclhsformData = reactive({
 const oneditgxclhsclick = () => {
   if(_Gd_gdbh.value == null){
     gxclhslist.value = false;
-    ElMessage({
-      type: 'warning',
-      message: '请选择具体的工单后,再操作此功能'
-    })
+    ElMessage({type: 'warning',message: '请选择具体的工单后,再操作此功能'})
   }else{
     gxclhsformData['gdbh'] = _Gd_gdbh.value;
     gxclhslist.value = true;
   }
 };
-//工序产量核算【确定】
+//工序产量核算【确定】(未完成)
 const gxclhshandleConfirm = async () => {
   console.log(gxclhsformData['gdbh'])
   // const  = await ({:gxclhsformData['gdbh']});

+ 365 - 39
src/view/yunyin/shengchanguanli/shebeiyunxing.vue

@@ -11,13 +11,14 @@
 			<el-button type="primary" @click="onstatus" >设置机台状态</el-button>
 			<el-button type="primary" @click="oncomplaints" >客诉记录</el-button>
 			<el-button type="primary" @click="onClear" >换型清场</el-button>
+			<el-button type="primary" @click="onClear2" >换型清场</el-button>
 		</header>
     <el-container>
       <el-aside width="200px">
         <div class="JKWTree-tree">
 
           <h3  >设备运行跟踪</h3>
-          <el-tree :data="treeData" :props="defaultProps" @node-click="handleNodeClick"></el-tree>
+          <el-tree :data="treeData"  :props="defaultProps" @node-click="handleNodeClick"></el-tree>
         </div>
 
       </el-aside>
@@ -1156,13 +1157,13 @@
 		  v-model="huanxingVisible"
 		  title="换型清场"
 		  destroy-on-close
-		  width="1100px"
-		  style="height: 78%;"
+		  width="145vh"
+		  style="height: 78vh;"
 		>
 		  <div style="display: flex;">
 		    <div style="flex: 0.1;">
-		      <el-aside width="180px" style="margin: 0;">
-		        <div class="JKWTree-tree" style="height: 55vh; border-right: 1px solid #ebeef5;">		          
+		      <el-aside width="26vh" style="margin: 0;">
+		        <div class="JKWTree-tree" style="height: 60vh; border-right: 1px solid #ebeef5;">
 		          <el-tree :data="huanxingtreeData" :props="defaultProps" highlight-current="true"
 		            @node-click="huanxingNodeClick"></el-tree>
 		        </div>
@@ -1170,19 +1171,164 @@
 		    </div>
 		    <div v-if="huanxingstatus" style="flex: 0; margin: 0;">
 		      <el-tabs v-model="activNames" type="card" @tab-click="handleClick">
-		        <el-tab-pane label="换型清场明细信息"  @click="showTable('换型清场明细信息')"  name="first">
-		          
+		        <el-tab-pane label="换型清场明细信息" @click="showTable('换型清场明细信息')"  name="first">
+					<div style="width:110vh">
+						<el-descriptions :column="9" border>
+						  <el-descriptions-item :span="9">
+							  <el-row :gutter="24" style="margin-bottom: 0px;margin-top: 0px;">
+							    <el-col :span="6" style="margin-bottom: 0px;margin-top: 0px;">
+							      <el-form-item label="日期:" prop="id" style="margin-top=0px; margin-bottom: 0px;">
+									<el-input v-model="huanxingData.日期"  placeholder="" style="margin-top=0px; margin-bottom: 0px;"/>
+							      </el-form-item>
+							    </el-col>
+								<el-col :span="2" style="margin-bottom: 0px;margin-top: 0px;">
+		
+								</el-col>
+							    <el-col :span="6" style="margin-bottom: 0px;margin-top: 0px;">
+									<el-form-item label="机台编号:" prop="id" style="margin-top=0px; margin-bottom: 0px;">
+									 <el-input v-model="huanxingData.机台编号"  placeholder="" style="margin-top=0px; margin-bottom: 0px;"/>
+									</el-form-item>
+							    </el-col>
+								<el-col :span="1" style="margin-bottom: 0px;margin-top: 0px;">
+		
+								</el-col>
+							    <el-col :span="6" style="margin-bottom: 0px;margin-top: 0px;">
+							      <el-form-item label="班组:" prop="id" style="margin-top=0px; margin-bottom: 0px;">
+									<el-input v-model="huanxingData.班组"  placeholder="" style="margin-top=0px; margin-bottom: 0px;"/>
+							      </el-form-item>
+							    </el-col>
+							  </el-row>
+						  </el-descriptions-item>
+						  <el-descriptions-item label="清场原因 从" :span="9">
+						    <el-row :gutter="24" style="margin-bottom: 0px;margin-top: 0px;">
+						      <el-col :span="8" style="margin-bottom: 0px;margin-top: 0px;">
+						        <el-form-item label="工单编号:" prop="id" style="margin-bottom: 0px;margin-top: 0px;">
+						          <el-input v-model="huanxingData.工单编号A"  placeholder="" style="margin-bottom: 0px;margin-top: 0px;"/>
+						        </el-form-item>
+						      </el-col>
+						      <el-col :span="16" style="margin-bottom: 0px;margin-top: 0px;">
+						        <el-form-item label="印件名称:" prop="id" style="margin-bottom: 0px;margin-top: 0px;">
+						          <el-input v-model="huanxingData.印件名称A"  placeholder="" style="margin-bottom: 0px;margin-top: 0px;"/>
+						        </el-form-item>
+						      </el-col>
+						    </el-row>
+							<el-row :gutter="24" style="margin-bottom: 0px;margin-top: 0px;">
+							  <el-col :span="12" style="margin-bottom: 0px;margin-top: 0px;">
+							    <el-form-item label="印件工序:" prop="id" style="margin-bottom: 0px;margin-top: 0px;">
+							      <el-input v-model="huanxingData.印件工序A"  placeholder="" style="margin-bottom: 0px;margin-top: 0px;"/>
+							    </el-form-item>
+							  </el-col>
+							  <el-col :span="6" style="margin-bottom: 0px;margin-top: 0px;">
+							  </el-col>
+							  <el-col :span="6" style="margin-bottom: 0px;margin-top: 0px;">
+							    <el-form-item label="码包号" prop="id" style="margin-bottom: 0px;margin-top: 0px;">
+							      <el-input v-model="huanxingData.码包号A"  placeholder="" style="margin-bottom: 0px;margin-top: 0px;"/>
+							    </el-form-item>
+							  </el-col>
+							</el-row>
+						  </el-descriptions-item>
+						  <el-descriptions-item label="清场原因 到" :span="9">
+						    <el-row :gutter="24" style="margin-bottom: 0px;margin-top: 0px;">
+						      <el-col :span="8" style="margin-bottom: 0px;margin-top: 0px;">
+						        <el-form-item label="工单编号:" prop="id" style="margin-bottom: 0px;margin-top: 0px;">
+						          <el-input v-model="huanxingData.工单编号B"  placeholder="" style="margin-bottom: 0px;margin-top: 0px;"/>
+						        </el-form-item>
+						      </el-col>
+						      <el-col :span="16" style="margin-bottom: 0px;margin-top: 0px;">
+						        <el-form-item label="印件名称:" prop="id" style="margin-bottom: 0px;margin-top: 0px;">
+						          <el-input v-model="huanxingData.印件名称B"  placeholder="" style="margin-bottom: 0px;margin-top: 0px;"/>
+						        </el-form-item>
+						      </el-col>
+						    </el-row>
+						    <el-row :gutter="24" style="margin-bottom: 0px;margin-top: 0px;">
+						      <el-col :span="12" style="margin-bottom: 0px;margin-top: 0px;">
+						        <el-form-item label="印件工序:" prop="id" style="margin-bottom: 0px;margin-top: 0px;">
+						          <el-input v-model="huanxingData.印件工序B"  placeholder="" style="margin-bottom: 0px;margin-top: 0px;"/>
+						        </el-form-item>
+						      </el-col>
+						      <el-col :span="6" style="margin-bottom: 0px;margin-top: 0px;">
+						      </el-col>
+						      <el-col :span="6" style="margin-bottom: 0px;margin-top: 0px;">
+						        <el-form-item label="码包号" prop="id" style="margin-bottom: 0px;margin-top: 0px;">
+						          <el-input v-model="huanxingData.码包B"  placeholder="" style="margin-bottom: 0px;margin-top: 0px;"/>
+						        </el-form-item>
+						      </el-col>
+						    </el-row>
+						  </el-descriptions-item>
+						  <el-descriptions-item label="清场确认项目" :span="9">
+		
+							  <el-row :gutter="24" style="margin-bottom: 0px;margin-top: 0px;">
+							    <el-col :span="12" style="margin-bottom: 0px;margin-top: 0px;">
+							      <el-form-item label="菲林_标样_签样品_留样品" prop="id" style="margin-bottom: 0px;margin-top: 0px;">
+							        <el-checkbox v-model="huanxingData.项目1"></el-checkbox>
+							      </el-form-item>
+							    </el-col>
+							    <el-col :span="12" style="margin-bottom: 0px;margin-top: 0px;">
+							      <el-form-item label="版材_纸张_电化铝_油墨" prop="id" style="margin-bottom: 0px;margin-top: 0px;">
+							        <el-checkbox v-model="huanxingData.项目2"></el-checkbox>
+							      </el-form-item>
+							    </el-col>
+							  </el-row>
+		
+							  <el-row :gutter="24" style="margin-bottom: 0px;margin-top: 0px;">
+							    <el-col :span="12" style="margin-bottom: 0px;margin-top: 0px;">
+							      <el-form-item label="过版纸_废品_次品" prop="id" style="margin-bottom: 0px;margin-top: 0px;">
+							        <el-checkbox v-model="huanxingData.项目3"></el-checkbox>
+							      </el-form-item>
+							    </el-col>
+							    <el-col :span="12" style="margin-bottom: 0px;margin-top: 0px;">
+							      <el-form-item label="半成品_成品_零头" prop="id" style="margin-bottom: 0px;margin-top: 0px;">
+							        <el-checkbox v-model="huanxingData.项目4"></el-checkbox>
+							      </el-form-item>
+							    </el-col>
+							  </el-row>
+		
+		
+							  <el-row :gutter="24" style="margin-bottom: 0px;margin-top: 0px;">
+							    <el-col :span="12" style="margin-bottom: 0px;margin-top: 0px;">
+							      <el-form-item label="操作台桌面_抽屉_地面" prop="id" style="margin-bottom: 0px;margin-top: 0px;">
+							        <el-checkbox v-model="huanxingData.项目5"></el-checkbox>
+							      </el-form-item>
+							    </el-col>
+							  </el-row>
+		
+		
+						  </el-descriptions-item>
+						  <el-descriptions-item label="清场确认人" :span="9">
+							  <el-row :gutter="24" style="margin-bottom: 0px;margin-top: 0px;">
+							    <el-col :span="12" style="margin-bottom: 0px;margin-top: 0px;">
+							      <el-form-item label="机长签字" prop="id" style="margin-bottom: 0px;margin-top: 0px;">
+							        <el-input v-model="huanxingData.机长"  placeholder="" style="margin-bottom: 0px;margin-top: 0px;"/>
+							      </el-form-item>
+							    </el-col>
+							  </el-row>
+							  <el-row :gutter="24" style="margin-bottom: 0px;margin-top: 0px;">
+							    <el-col :span="12" style="margin-bottom: 0px;margin-top: 0px;">
+							      <el-form-item label="带班主管签字" prop="id" style="margin-bottom: 0px;margin-top: 0px;">
+							        <el-input v-model="huanxingData.班长"  placeholder="" style="margin-bottom: 0px;margin-top: 0px;"/>
+							      </el-form-item>
+							    </el-col>
+							    <el-col :span="12" style="margin-bottom: 0px;margin-top: 0px;">
+							      <el-form-item label="质量巡查员签字" prop="id" style="margin-bottom: 0px;margin-top: 0px;">
+							        <el-input v-model="huanxingData.质量巡查员"  placeholder="" style="margin-bottom: 0px;margin-top: 0px;"/>
+							      </el-form-item>
+							    </el-col>
+							  </el-row>
+						  </el-descriptions-item>
+						</el-descriptions>
+					</div>
+		
 		        </el-tab-pane>
-		      
-		        <el-tab-pane label="当前设备换型记录" style="width: 110%;"  @click="showTable('当前设备换型记录')"  name="second">
+		
+		        <el-tab-pane label="当前设备换型记录"  @click="showTable('当前设备换型记录')"  name="second">
 		          <el-table
 		            tooltip-effect="dark"
 		            :data="huanxingselectData"
-		            row-key="ID" 
+		            row-key="ID"
 		            highlight-current-row="true"
 		          	:show-overflow-tooltip="true"
 		            border  @row-click="dianjianhandle"
-		            style="width:30%; height:50vh;"
+		            style="width:115vh; height:50vh;"
 		            @row-dblclick="handleSelectClick"
 		            :row-class-name="rowClassName"
 		          >
@@ -1298,10 +1444,20 @@
 		  </div>
 		</el-dialog>
 		
+		<el-dialog v-model="MachineVisible" :before-close="closeMachineVisible" :title="type === '0' ? '新增' : '机台状态显示'"
+		  destroy-on-close width="80%" style="height: 100%;">
+		  <div class="button-container">
+		    <button v-for="(item, index) in machineData" :key="index" class="custom-button" @click="handleButtonClick(item.设备编号)">
+		      <img :src="`/src/assets/${item.状态}.png`" :alt="altText" style="max-width: 100%; height: auto;"/>
+		      <span style="margin-top: 8px;">{{ item.设备编号 + ' - ' + item.设备名称 }}</span>
+		    </button>
+		  </div>
+		</el-dialog>
+		
 		<Shebeizhuangtai
 		  v-if="dialogSbyxgl"
 		  v-model="dialogSbyxgl"
-		  title="【01.30 08:30】【JY01#--海德堡对开八色平版胶印机(JY08-01)】【2311116-->钻石(荷花)盒包装纸】【01--胶印】"
+		  :title="titinfo"
 		  :formData="formData"
 		/>
 		
@@ -1313,7 +1469,6 @@
 
 
 
-
   </div>
 </template>
 
@@ -1365,6 +1520,7 @@ import { getDictFunc, formatDate, formatBoolean, filterDict, ReturnArrImg, onDow
 import { ElMessage, ElMessageBox } from 'element-plus'
 import { ref, reactive } from 'vue'
 
+
 defineOptions({
     name: 'Company'
 })
@@ -1376,6 +1532,7 @@ const yinbantreeData=ref([])
 let  dianjiantreeData;
 let JTMC=ref()
 let date=ref()
+let titinfo=ref()
 let JTMCOn=ref()
 let dateOn=ref()
 const  activName  = ref('first')
@@ -1389,15 +1546,16 @@ const handleNodeClick = (nodeData,node) => {
   //存放当前节点的nodeId
    if (nodeData.level === 1) {
         console.log(node.label); // 第一级节点
+		CJMC.value=node.label
+		MachinelList()
+		// MachineVisible.value=true
       } else if (nodeData.level === 2) {
         console.log(node.label); // 第二级节点
 		JTMC=node.label.split("-")[0]
 		JTMCOn.value=true
 		dateOn.value=false
 		FacilityProduction()
-		FacilityWorklist()
-		
-		
+		FacilityWorklist()		
 		// FacilityTeam(JTMC)
 		// console.log('123')
 		// console.log(JTMC)
@@ -1419,27 +1577,124 @@ const handleNodeClick = (nodeData,node) => {
           console.log(node.label); // 第三级节点
 	   }      
 }
+const MachineVisible = ref(false)
+const machineData = reactive([])
+
+const MachinelList = async () => {
+  const response = await MachineDetailList({workshop:CJMC.value});
+  if (response.code === 0) {
+	machineData.splice(0, machineData.length, ...response.data);
+	console.log(machineData)
+	// return require(`@/assets/${machineData.状态}.png`);
+	
+	MachineVisible.value=true
+  }
+}
+
+//设置机台状态
+function handleButtonClick(deviceId) {
+	 console.log(deviceId);
+	 MachineVisible.value=false
+	 // dialogSbyxgl.value=true
+	 JTMC=deviceId.split("-")[0]
+	 JTMCOn.value=true
+	 dateOn.value=false
+	 console.log(JTMC)
+	 GetdialogSbyxgl()
+	 
+	 // GetdialogSbyxgl(deviceId)
+	 
+}
+const GetdialogSbyxgl = async () => {
+    const response = await facilityProduction({machine:JTMC});
+    if (response.code === 0) {
+    	console.log(response)
+    	// 填充formData对象的基本字段
+    	 //    formData.value.工单编号 = response.data.工单编号;
+    	 //    formData.value.印件编号 = response.data.印件号;
+    	 //    formData.value.工序名称 = response.data.工序名称;
+    	 //    formData.value.产品名称 = response.data.产品名称;
+    		// formData.value.班组 = response.data.班组编号;
+    		formData.value.工单编号 = response.data.工单编号;
+    		formData.value.印件号 = response.data.印件号;
+    		formData.value.工序号 = response.data.工序名称.substring(0,2);
+    		formData.value.工序名称 = response.data.工序名称;
+    		formData.value.产品名称 = response.data.产品名称;
+    		formData.value.班组Id=response.data.班组Id
+    		formData.value.machine=JTMC
+    		formData.value.状态=response.data.状态
+			let time = new Date();
+			time.setDate(time.getDate() - 0); // 今天的前N天的日期,N自定义
+			titinfo = `${time.getFullYear()}-${time.getMonth() + 1}-${time.getDate()}`;
+			titinfo+='【'+response.data.工单编号+response.data.产品名称+'】'+response.data.工序名称
+    		let sczl_bhkey=''
+    		let sczl_namekey=''
+    		if (response.data.班组成员) {
+    		  for (let i = 0; i < Math.min(Object.keys(response.data.班组成员).length, 6); i++) {
+    						 sczl_bhkey=`sczl_bh${i+1}`
+    						 sczl_namekey=`sczl_name${i+1}`
+    		    formData.value[sczl_bhkey] = response.data.班组成员[i]['编号'];
+    		    formData.value[sczl_namekey] = response.data.班组成员[i]['姓名'];
+    			console.log(response.data.班组成员[i]['编号'])
+    			classbz.value[i]=response.data.班组成员[i]['编号']
+    		  }
+    		}
+    		formData.value.class=classbz.value.join(',')
+    		console.log(formData.value.class)
+    		formData.value.JTMC=JTMC
+    		const responses = await MachineDetailList({workshop:'胶印车间'});
+    		if(responses.code===0){
+    				   responses.data.map(item=>{
+    					   if(item.设备编号==JTMC){
+    						   formData.value.status=item.状态
+    					   }
+    				   })
+    		}
+    		// console.log(formData.value.工单编号)
+    		
+    }
+    FacilityWorklist()
+	onstatus()
+}
+
+// const getImagePath = async (machineData.状态) => {
+//   return require(`@/assets/${status}.png`);
+// }
+const classbz=ref([])
 //当前生产订单
 const FacilityProduction = async () => {
   const response = await facilityProduction({machine:JTMC});
   if (response.code === 0) {
 	console.log(response)
 	// 填充formData对象的基本字段
-	    formData.value.工单编号 = response.data.工单编号;
-	    formData.value.印件编号 = response.data.印件号;
-	    formData.value.工序名称 = response.data.工序名称;
-	    formData.value.产品名称 = response.data.产品名称;
-		formData.value.班组 = response.data.班组编号;
+	 //    formData.value.工单编号 = response.data.工单编号;
+	 //    formData.value.印件编号 = response.data.印件号;
+	 //    formData.value.工序名称 = response.data.工序名称;
+	 //    formData.value.产品名称 = response.data.产品名称;
+		// formData.value.班组 = response.data.班组编号;
+		formData.value.工单编号 = response.data.工单编号;
+		formData.value.印件号 = response.data.印件号;
+		formData.value.工序号 = response.data.工序名称.substring(0,2);
+		formData.value.工序名称 = response.data.工序名称;
+		formData.value.产品名称 = response.data.产品名称;
+		formData.value.班组Id=response.data.班组Id
+		formData.value.machine=JTMC
+		formData.value.状态=response.data.状态
+		
 		let sczl_bhkey=''
 		let sczl_namekey=''
 		if (response.data.班组成员) {
-		  for (let i = 1; i <= Math.min(Object.keys(response.data.班组成员).length, 6); i++) {
-						 sczl_bhkey=`sczl_bh${i}`
-						 sczl_namekey=`sczl_name${i}`
+		  for (let i = 0; i < Math.min(Object.keys(response.data.班组成员).length, 6); i++) {
+						 sczl_bhkey=`sczl_bh${i+1}`
+						 sczl_namekey=`sczl_name${i+1}`
 		    formData.value[sczl_bhkey] = response.data.班组成员[i]['编号'];
 		    formData.value[sczl_namekey] = response.data.班组成员[i]['姓名'];
+			console.log(response.data.班组成员[i]['编号'])
+			classbz.value[i]=response.data.班组成员[i]['编号']
 		  }
 		}
+		formData.value.class=classbz.value.join(',')
+		console.log(formData.value.class)
 		formData.value.JTMC=JTMC
 		const responses = await MachineDetailList({workshop:'胶印车间'});
 		if(responses.code===0){
@@ -1522,6 +1777,8 @@ const FacilityDetail = async () => {
 	console.log(formData.value.工单编号)
 	console.log('123123')
 	console.log(formData.value.班组)
+	formData.value.production_now=0
+	formData.value.production_all=0
   // const response = await facilityDetail({ machine: JTMC, Gd_gdbh: formData.value.工单编号, team: formData.value.班组 });
    const response = await facilityDetail({ machine: 'JY01#', Gd_gdbh: '2312191', team: 'A班' });
   // const response = await facilityDetail({ machine: JTMC, Gd_gdbh: '2311114', team:'A班' });
@@ -1529,6 +1786,8 @@ const FacilityDetail = async () => {
 	console.log('123123')
     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.产量
   }
 };
 //员工编号回车事件
@@ -1585,6 +1844,8 @@ const pageSize = ref(10)
 const tableData = ref([])
 const searchInfo = ref({})
 const xunchaVisible = ref(false)
+
+
 const xunchatreeData=ref([{label: '现场巡查记录',} ])
 
 // 重置
@@ -1753,20 +2014,21 @@ function onstatus() {
 	 // ReportProduceInfo()
 }
 
+
 //设置机台状态
 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:'',
-  });
-  if (response.code === 0) {
-  }
+  // 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) {
+  // }
 }
 
 //客诉记录
@@ -1815,6 +2077,9 @@ function onClear() {
 	huanxingVisible.value=true
 	 RemodelGetTab()
 }
+function onClear2() {
+	console.log(formData.value.class)
+}
 const RemodelGetTab = async() => {
   const response = await remodelGetTab()
   let arr=[]
@@ -1839,12 +2104,46 @@ const RemodelGetTab = async() => {
 }
 
 const huanxingNodeClick = (node) => {
+  //存放当前节点的nodeId
   //存放当前节点的nodeId
   if(node.machine){
-	  huanxingstatus.value=true
-	  modelChangeRecord(node.machine)
+  	  // console.log(node.label.split('/')[1])
+  	  huanxingstatus.value=true
+  	  remodelDetail(node.label.split('/')[1])
+  	  modelChangeRecord(node.machine)
   }else{
-	  console.log('2')
+  	  console.log('2')
+  }
+}
+const remodelDetail = async (val) => {
+  const response = await RemodelDetail({UniqId:val});
+  if (response.code === 0) {
+	huanxingData.value=response.data
+	if(response.data.项目1==1){
+		huanxingData.value.项目1=true
+	}else{
+		huanxingData.value.项目1=false
+	}
+	if(response.data.项目2==1){
+		huanxingData.value.项目2=true
+	}else{
+		huanxingData.value.项目2=false
+	}
+	if(response.data.项目3==1){
+		huanxingData.value.项目3=true
+	}else{
+		huanxingData.value.项目3=false
+	}
+	if(response.data.项目4==1){
+		huanxingData.value.项目4=true
+	}else{
+		huanxingData.value.项目4=false
+	}
+	if(response.data.项目5==1){
+		huanxingData.value.项目5=true
+	}else{
+		huanxingData.value.项目5=false
+	}
   }
 }
 const modelChangeRecord = async (val) => {
@@ -2542,6 +2841,33 @@ const enterDialog = async () => {
 </script>
 
 <style>
+	/* .button-container {
+	  display: flex;
+	  flex-wrap: wrap;
+	} */
+	
+	.button-container {
+	  display: flex;
+	  flex-wrap: wrap;
+	  justify-content: flex-start; /* Align buttons from left to right */
+	}
+	
+	.custom-button {
+	  display: flex;
+	  flex-direction: column;
+	  align-items: center;
+	  text-align: center; /* Center the text horizontally */
+	  flex: 0 0 150px; /* Set the width of each button */
+	  height: 170px; /* Allow the height to adjust based on content */
+	  margin: 7px; /* Set spacing between buttons */
+	}
+	
+	.custom-button img {
+	  max-width: 100%; /* Ensure the image doesn't exceed the button width */
+	}
+
+
+
 .JKWTree-container {
   display: flex;
 }

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