瀏覽代碼

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

曹鹤洋 1 年之前
父節點
當前提交
199b07883a

+ 1 - 0
package.json

@@ -18,6 +18,7 @@
         "@wangeditor/editor-for-vue": "^5.1.12",
         "axios": "^1.4.0",
         "core-js": "^3.31.1",
+        "dayjs": "^1.11.10",
         "echarts": "^5.4.3",
         "element-plus": "^2.4.4",
         "highlight.js": "^11.8.0",

+ 8 - 0
src/api/jixiaoguanli/baogong.js

@@ -100,3 +100,11 @@ export const PrintDetailEdit = (params) => {
     params
   })
 }
+export const chanliangEdit = (data) => {
+  return service({
+    url:'/mes_server/facility/chanliangEdit',
+    method: 'post',
+    data
+  })
+}
+

+ 16 - 0
src/api/jixiaoguanli/jitairibaobiao.js

@@ -710,6 +710,22 @@ export const  ComplaintRecord= (params) => {
 	params
   })
 }
+//当日上报产量详情
+export const  MachineChanliangDetail= (params) => {
+  return service({
+    url:'/mes_server/facility/MachineChanliangDetail',
+    method: 'get',
+	params
+  })
+}
+//日产量修改
+export const chanliangEdit = (data) => {
+  return service({
+    url:'/mes_server/facility/chanliangEdit',
+    method: 'post',
+    data
+  })
+}
 //关联工资核算
 //设备点检->左侧菜单栏
 export const  relatedTab= (params) => {

+ 5 - 1
src/view/job/processSheet/processSheet.vue

@@ -130,7 +130,7 @@
 	import { getDictFunc, formatDate, formatBoolean, filterDict, ReturnArrImg, onDownloadFile } from '@/utils/format'
 	import { ElMessage, ElMessageBox } from 'element-plus'
 	import { ref, reactive } from 'vue'
-  import {hiprint} from "vue-plugin-hiprint";
+  // import {hiprint} from "vue-plugin-hiprint";
 	const workData = ref({
 		Gd_gdbh:'',
 		maobao:'',
@@ -229,6 +229,8 @@
     }
   }
   const getDocument = async() => {
+    console.log(111111)
+
     const getDocumentInfos = await getDocumentInfo({
       order:workData.value.Gd_gdbh,
       mabao:workData.value.mabao,
@@ -239,7 +241,9 @@
       string:data.value,
       num:workData.value.num
     })
+
     if (getDocumentInfos.code === 0) {
+
       console.log(getDocumentInfos.data)
     }
   }

+ 6 - 4
src/view/performance/Dayreports.vue

@@ -128,7 +128,7 @@
 			     </el-col>
 			     <el-col :span="18">
 			       <el-form-item label="产品名称:" prop="perTenThousand" class="mab" label-width="150">
-					 <el-input v-model="formData.Gd_cpmc" id="产品名称"   :clearable="true" />
+					 <el-input v-model="formData.Gd_cpmc" id="产品名称"  @keydown="ent1($event)"  :clearable="true" />
 			       </el-form-item>
 			     </el-col>
 				 
@@ -141,7 +141,7 @@
 					</el-col>
 					<el-col :span="18">
 					  <el-form-item label="印件名称:" prop="perTenThousand" class="mab" label-width="150">
-					  <el-input v-model="formData.yj_yjmc" id="印件名称"   :clearable="true" />
+					  <el-input v-model="formData.yj_yjmc" id="印件名称" @keydown="ent1($event)"  :clearable="true" />
 					  </el-form-item>
 					</el-col>
 				</el-row>
@@ -1906,8 +1906,10 @@ function doubleClick(row, column, event) {
   	 GetInfo(table.value)
   }else{
 	  // GetInfo(table.value)
-	  console.log(['table_type'])
-	  console.log('此数据不展示详细信息')
+	  ElMessage({
+	    type: 'error',
+	    message: '此工单不展示详细数据', 
+	  })	
   }  
 }
 // 单击表格操作

+ 482 - 19
src/view/performance/chejianbaogong.vue

@@ -8,7 +8,7 @@
 			<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="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>
@@ -174,18 +174,18 @@
                           <el-table-column align="left" label="制程废品" prop="制程废品" width="100" />
                           <el-table-column align="left" label="制程次品" prop="制程次品" width="100" />
                           <el-table-column align="left" label="前工序废" prop="前工序废" width="100" />
-						  <el-table-column align="left" label="来料异常" prop="来料异常"  width="100"/>
-						  <el-table-column align="left" label="装版工时" prop="装版工时" width="100" />
-						  <el-table-column align="left" label="保养工时" prop="保养工时" width="100" />
-						  <el-table-column align="left" label="打样工时" prop="打样工时" width="100"/>
-						  <el-table-column align="left" label="异常停机工时" prop="异常停机工时"  width="120"/>
-						  <el-table-column align="left" label="通电工时" prop="通电工时" width="100"/>
-						  <el-table-column align="left" label="码开始行" prop="码开始行" width="100" />
-						  <el-table-column align="left" label="码结束行" prop="码结束行" width="100" />
-						  <el-table-column align="left" label="码包" prop="码包" width="100" />
-						  <el-table-column align="left" label="主电表" prop="主电表"  width="100"/>
-						  <el-table-column align="left" label="辅电表" prop="辅电表" width="100" />
-						  <el-table-column align="left" label="色度数" prop="色度数" width="100" />
+						              <el-table-column align="left" label="来料异常" prop="来料异常"  width="100"/>
+				            		  <el-table-column align="left" label="装版工时" prop="装版工时" width="100" />
+                          <el-table-column align="left" label="保养工时" prop="保养工时" width="100" />
+                          <el-table-column align="left" label="打样工时" prop="打样工时" width="100"/>
+                          <el-table-column align="left" label="异常停机工时" prop="异常停机工时"  width="120"/>
+                          <el-table-column align="left" label="通电工时" prop="通电工时" width="100"/>
+                          <el-table-column align="left" label="码开始行" prop="码开始行" width="100" />
+                          <el-table-column align="left" label="码结束行" prop="码结束行" width="100" />
+                          <el-table-column align="left" label="码包" prop="码包" width="100" />
+                          <el-table-column align="left" label="主电表" prop="主电表"  width="100"/>
+                          <el-table-column align="left" label="辅电表" prop="辅电表" width="100" />
+                          <el-table-column align="left" label="色度数" prop="色度数" width="100" />
                         </el-table>
                         </el-tab-pane>
 
@@ -1839,6 +1839,307 @@
 		  </template>
 		</el-dialog>
 
+
+
+          <el-dialog
+              v-model="bzchanliangVisible"
+              title="班组产量修改"
+              destroy-on-close
+              width="160vh"
+              style="height: 60vh;"
+          >
+            <el-row :gutter="24" style="margin-top=0px; margin-bottom: 1px;">
+              <el-col :span="4" style="margin-top=0px; margin-bottom: 1px;">
+                <el-form-item label="工单编号" prop="id" style="margin-top=0px; margin-bottom: 0px;">
+                  <el-input style="margin-top=0px; margin-bottom: 1px;" v-model="dbformData.order" id="工单编号" disabled @keydown="ent($event, 'rate10', '工单编号', '产品名称')"  placeholder="" />
+                </el-form-item>
+              </el-col>
+
+              <el-col :span="10" style="margin-top=0px; margin-bottom: 1px;">
+                <el-form-item label="产品名称" prop="id" style="margin-top=0px; margin-bottom: 1px;">
+                  <el-input v-model="dbformData.product_name" id="产品名称" style="margin-top=0px; margin-bottom: 1px;" disabled @keydown="ent($event, '工单编号', '产品名称', '工序名称')"  placeholder="" />
+                </el-form-item>
+              </el-col>
+              <el-col :span="10" style="margin-top=0px; margin-bottom: 1px;">
+                <el-form-item label="工序名称" prop="id" style="margin-top=0px; margin-bottom: 1px;">
+                  <el-input v-model="dbformData.gxmc" id="工序名称" style="margin-top=0px; margin-bottom: 1px;" disabled @keydown="ent($event, '产品名称', '工序名称', '印件号')"  placeholder="" />
+                </el-form-item>
+              </el-col>
+
+            </el-row>
+
+            <el-row :gutter="24" style="margin-top=0px; margin-bottom: 1px;">
+              <el-col :span="4" style="margin-top=0px; margin-bottom: 1px;">
+                <el-form-item label="印件号" prop="id" style="margin-top=0px; margin-bottom: 1px;">
+                  <el-input v-model="dbformData.yjno" style="margin-top=0px; margin-bottom: 1px;" id="印件号" disabled @keydown="ent($event, '工序名称', '印件号', '印件名称')"  placeholder="" />
+                </el-form-item>
+              </el-col>
+
+              <el-col :span="10" style="margin-top=0px; margin-bottom: 1px;">
+                <el-form-item label="印件名称" prop="id" style="margin-top=0px; margin-bottom: 1px;">
+                  <el-input v-model="dbformData.yj_name" id="印件名称" style="margin-top=0px; margin-bottom: 1px;" disabled @keydown="ent($event, '印件号', '印件名称', '工艺名称')"  placeholder="" />
+                </el-form-item>
+              </el-col>
+              <el-col :span="8" style="margin-top=0px; margin-bottom: 1px;">
+                <el-form-item label="工艺名称" prop="id" style="margin-top=0px; margin-bottom: 1px;">
+                  <el-input v-model="dbformData.gy_name" id="工艺名称" style="margin-top=0px; margin-bottom: 1px;" disabled @keydown="ent($event, '印件名称', '工艺名称', 'gxh')"  placeholder="" />
+                </el-form-item>
+              </el-col>
+              <el-col :span="2" style="margin-top=0px; margin-bottom: 1px;">
+                <el-form-item label="" prop="id" style="margin-top=0px; margin-bottom: 1px;">
+                  <el-input v-model="dbformData.gxh" id="gxh" style="margin-top=0px; margin-bottom: 1px;" disabled @keydown="ent($event, '工艺名称', 'gxh', '日期')"  placeholder="" />
+                </el-form-item>
+              </el-col>
+            </el-row>
+
+
+
+            <el-row :gutter="24" style="margin-top=0px; margin-bottom: 1px;">
+              <el-col :span="1" style="margin-top=0px; margin-bottom: 1px;">
+              </el-col>
+              <el-col :span="5" style="margin-top=0px; margin-bottom: 1px;">
+                <el-form-item label="日期" prop="id" style="margin-top=0px; margin-bottom: 1px;">
+                  <el-input v-model="dbformData.日期" id="日期" style="margin-top=0px; margin-bottom: 1px;" @keydown="ent($event, 'gxh', '日期', '流程标牌')"  placeholder="" />
+                </el-form-item>
+              </el-col>
+
+              <el-col :span="5" style="margin-top=0px; margin-bottom: 1px;">
+                <el-form-item label="流程标牌" prop="id" style="margin-top=0px; margin-bottom: 1px;">
+                  <el-input v-model="dbformData.流程标牌" id="流程标牌" style="margin-top=0px; margin-bottom: 1px;" @keydown="ent($event, '日期', '流程标牌', '上机时间')"  placeholder="" />
+                </el-form-item>
+              </el-col>
+              <el-col :span="5" style="margin-top=0px; margin-bottom: 1px;">
+                <el-form-item label="上机时间" prop="id" style="margin-top=0px; margin-bottom: 1px;">
+                  <el-input v-model="dbformData.上机时间" id="上机时间" disabled style="margin-top=0px; margin-bottom: 1px;" @keydown="ent($event, '流程标牌', '上机时间', '下机时间')"  placeholder="" />
+                </el-form-item>
+              </el-col>
+              <el-col :span="5" style="margin-top=0px; margin-bottom: 1px;">
+                <el-form-item label="下机时间" prop="" style="margin-top=0px; margin-bottom: 1px;">
+                  <el-input v-model="dbformData.下机时间" style="margin-top=0px; margin-bottom: 1px;" id="下机时间" disabled @keydown="ent($event, '上机时间', '下机时间', '产量')"  placeholder="" />
+                </el-form-item>
+              </el-col>
+              <el-col :span="3">
+              </el-col>
+            </el-row>
+
+
+
+            <el-row :gutter="24" style="margin-top=0px; margin-bottom: 1px;">
+              <el-col :span="1" style="margin-top=0px; margin-bottom: 1px;">
+              </el-col>
+              <el-col :span="4" style="margin-top=0px; margin-bottom: 1px;">
+                <el-form-item label="产量" prop="id" style="margin-top=0px; margin-bottom: 1px;">
+                  <el-input v-model="dbformData.产量" id="产量" style="margin-top=0px; margin-bottom: 1px;" @keydown="ent($event, '下机时间', '产量', '制程废品')"  placeholder="" />
+                </el-form-item>
+              </el-col>
+              <el-col :span="4" style="margin-top=0px; margin-bottom: 1px;">
+                <el-form-item label="制程废品" prop="id" style="margin-top=0px; margin-bottom: 1px;">
+                  <el-input v-model="dbformData.制程废品" id="制程废品" style="margin-top=0px; margin-bottom: 1px;" @keydown="ent($event, '产量', '制程废品', '制程次品')"  placeholder="" />
+                </el-form-item>
+              </el-col>
+              <el-col :span="3" style="margin-top=0px; margin-bottom: 1px;">
+                <el-form-item label="制程次品" prop="id" style="margin-top=0px; margin-bottom: 1px;">
+                  <el-input v-model="dbformData.制程次品" id="制程次品" style="margin-top=0px; margin-bottom: 1px;" @keydown="ent($event, '制程废品', '制程次品', '前工序废')"  placeholder="" />
+                </el-form-item>
+              </el-col>
+              <el-col :span="3" style="margin-top=0px; margin-bottom: 1px;">
+                <el-form-item label="前工序废" prop="" style="margin-top=0px; margin-bottom: 1px;">
+                  <el-input v-model="dbformData.前工序废" id="前工序废" style="margin-top=0px; margin-bottom: 1px;" @keydown="ent($event, '制程次品', '前工序废', '来料异常')"  placeholder="" />
+                </el-form-item>
+              </el-col>
+              <el-col :span="3" style="margin-top=0px; margin-bottom: 1px;">
+                <el-form-item label="来料异常" prop="" style="margin-top=0px; margin-bottom: 1px;">
+                  <el-input v-model="dbformData.来料异常" id="来料异常" style="margin-top=0px; margin-bottom: 1px;" @keydown="ent($event, '前工序废', '来料异常', '联数')"  placeholder="" />
+                </el-form-item>
+              </el-col>
+              <el-col :span="3" style="margin-top=0px; margin-bottom: 1px;">
+                <el-form-item label="联数" prop="" style="margin-top=0px; margin-bottom: 1px;">
+                  <el-input v-model="dbformData.联数" id="联数" style="margin-top=0px; margin-bottom: 1px;" @keydown="ent($event, '来料异常', '联数', '墨色')"   placeholder="" />
+                </el-form-item>
+              </el-col>
+              <el-col :span="3" style="margin-top=0px; margin-bottom: 1px;">
+                <el-form-item label="墨色" prop="" style="margin-top=0px; margin-bottom: 1px;">
+                  <el-input v-model="dbformData.墨色" id="墨色" style="margin-top=0px; margin-bottom: 1px;" @keydown="ent($event, '联数', '墨色', '装版总时长')"   placeholder="" />
+                </el-form-item>
+              </el-col>
+            </el-row>
+
+
+            <el-row :gutter="20" style="margin-top=0px; margin-bottom: 1px;">
+              <el-col :span="4" style="margin-top=0px; margin-bottom: 1px;">
+                <el-form-item label="装版总时长" prop="id" style="margin-top=0px; margin-bottom: 1px;">
+                  <el-input v-model="dbformData.装版总时长" id="装版总时长" style="margin-top=0px; margin-bottom: 1px;" @keydown="ent($event, '墨色', '装版总时长', '打样总工时')"   placeholder="" />
+                </el-form-item>
+              </el-col>
+              <el-col :span="4" style="margin-top=0px; margin-bottom: 1px;">
+                <el-form-item label="打样总工时" prop="id" style="margin-top=0px; margin-bottom: 1px;">
+                  <el-input v-model="dbformData.打样总工时" style="margin-top=0px; margin-bottom: 1px;" id="打样总工时"  @keydown="ent($event, '装版总时长', '打样总工时', '通电工时')"  placeholder="" />
+                </el-form-item>
+              </el-col>
+              <el-col :span="4" style="margin-top=0px; margin-bottom: 1px;">
+                <el-form-item label="通电工时" prop="id" style="margin-top=0px; margin-bottom: 1px;">
+                  <el-input v-model="dbformData.通电工时" style="margin-top=0px; margin-bottom: 1px;" id="通电工时"  @keydown="ent($event, '打样总工时', '通电工时', '定额代号')"  placeholder="" />
+                </el-form-item>
+              </el-col>
+            </el-row>
+
+
+            <el-row :gutter="20" style="margin-top=0px; margin-bottom: 1vh;">
+              <el-col :span="4" style="margin-top=0px; margin-bottom: 1px;">
+                <el-form-item label="定额代号" prop="id" style="margin-top=0px; margin-bottom: 1px;">
+                  <el-input v-model="dbformData.定额代号" id="定额代号" style="margin-top=0px; margin-bottom: 1px;" @keydown="ent($event, '通电工时', '定额代号', '码包')"  placeholder="" />
+                </el-form-item>
+              </el-col>
+              <el-col :span="8" style="margin-top=0px; margin-bottom: 1px;">
+              </el-col>
+              <el-col :span="4" style="margin-top=0px; margin-bottom: 1px;">
+                <el-form-item label="码包" prop="id" style="margin-top=0px; margin-bottom: 1px;">
+                  <el-input v-model="dbformData.码包" style="margin-top=0px; margin-bottom: 1px;" id="码包"  @keydown="ent($event, '定额代号', '码包', '主电表')"  placeholder="" />
+                </el-form-item>
+              </el-col>
+              <el-col :span="4" style="margin-top=0px; margin-bottom: 1px;">
+                <el-form-item label="主电表" prop="id" style="margin-top=0px; margin-bottom: 1px;">
+                  <el-input v-model="dbformData.主电表" style="margin-top=0px; margin-bottom: 1px;" id="主电表"  @keydown="ent($event, '码包', '主电表', '辅电表')"  placeholder="" />
+                </el-form-item>
+              </el-col>
+              <el-col :span="4" style="margin-top=0px; margin-bottom: 1px;">
+                <el-form-item label="辅电表" prop="id" style="margin-top=0px; margin-bottom: 1px;">
+                  <el-input v-model="dbformData.辅电表" id="辅电表" style="margin-top=0px; margin-bottom: 1px;" @keydown="ent($event, '主电表', '辅电表', 'bzdh')"  placeholder="" />
+                </el-form-item>
+              </el-col>
+            </el-row>
+            <div style="display: flex;">
+              <div style="width: 131vh;">组员及分配比例</div>
+              <div style="width: 13vh;">特殊组员</div>
+              <div>拉料人员</div>
+            </div>
+            <el-row :gutter="10" style="margin-top: 1vh;">
+              <el-col :span="2">
+                <el-input v-model="BZMC" id="bzdh" disabled @keydown="ent($event, '辅电表', 'bzdh', 'bh1')"  />
+              </el-col>
+              <el-col :span="2">
+                <el-input v-model="dbformData.sczl_bh1" id="bh1" disabled @keydown="ent($event, 'bzdh', 'bh1', 'bh2')" @keyup.enter.native="getygsubmit($event, '1')"  placeholder="" />
+              </el-col>
+              <el-col :span="2">
+                <el-input v-model="dbformData.sczl_bh2" id="bh2" disabled @keydown="ent($event, 'bh1', 'bh2', 'bh3')" @keyup.enter.native="getygsubmit($event, '2')"  placeholder="" />
+              </el-col>
+              <el-col :span="2">
+                <el-input v-model="dbformData.sczl_bh3" id="bh3" disabled @keydown="ent($event, 'bh2', 'bh3', 'bh4')" @keyup.enter.native="getygsubmit($event, '3')"  placeholder="" />
+              </el-col>
+              <el-col :span="2">
+                <el-input v-model="dbformData.sczl_bh4" id="bh4" disabled @keydown="ent($event, 'bh3', 'bh4', 'bh5')" @keyup.enter.native="getygsubmit($event, '4')"  placeholder="" />
+              </el-col>
+              <el-col :span="2">
+                <el-input v-model="dbformData.sczl_bh5" id="bh5" disabled @keydown="ent($event, 'bh4', 'bh5', 'bh6')" @keyup.enter.native="getygsubmit($event, '5')"  placeholder="" />
+              </el-col>
+              <el-col :span="2">
+                <el-input v-model="dbformData.sczl_bh6" id="bh6" disabled @keydown="ent($event, 'bh5', 'bh6', 'bh7')" @keyup.enter.native="getygsubmit($event, '6')"  placeholder="" />
+              </el-col>
+              <el-col :span="2">
+                <el-input v-model="dbformData.sczl_bh7" id="bh7" disabled @keydown="ent($event, 'bh6', 'bh7', 'bh8')" @keyup.enter.native="getygsubmit($event, '7')"  placeholder="" />
+              </el-col>
+              <el-col :span="2">
+                <el-input v-model="dbformData.sczl_bh8" id="bh8" disabled @keydown="ent($event, 'bh7', 'bh8', 'bh9')" @keyup.enter.native="getygsubmit($event, '8')"  placeholder="" />
+              </el-col>
+              <el-col :span="2">
+                <el-input v-model="dbformData.sczl_bh9" id="bh9" disabled @keydown="ent($event, 'bh8', 'bh9', 'bh10')" @keyup.enter.native="getygsubmit($event, '9')"  placeholder="" />
+              </el-col>
+              <el-col :span="2">
+                <el-input v-model="dbformData.sczl_bh10" id="bh10" disabled @keydown="ent($event, 'bh9', 'bh10', 'bh11')" @keyup.enter.native="getygsubmit($event, '10')"  placeholder="" />
+              </el-col>
+              <el-col :span="2">
+                <el-input v-model="dbformData.sczl_bh11" id="bh11"  @keydown="ents($event, 'bh10', 'bh11', 'name1')" @keyup.enter.native="getlaliaoyg($event)"  placeholder="" />
+              </el-col>
+            </el-row>
+
+
+
+            <el-row :gutter="10" style="margin-top: 10px;">
+              <el-col :span="2">
+
+              </el-col>
+              <el-col :span="2">
+                <el-input v-model="dbformData.sczl_name1" id="name1" disabled @keydown="ent($event, 'bh11', 'name1', 'name2')"   placeholder="" />
+              </el-col>
+              <el-col :span="2">
+                <el-input v-model="dbformData.sczl_name2" id="name2" disabled @keydown="ent($event, 'name1', 'name2', 'name3')"   placeholder="" />
+              </el-col>
+              <el-col :span="2">
+                <el-input v-model="dbformData.sczl_name3" id="name3" disabled @keydown="ent($event, 'name2', 'name3', 'name4')"  placeholder="" />
+              </el-col>
+              <el-col :span="2">
+                <el-input v-model="dbformData.sczl_name4" id="name4" disabled @keydown="ent($event, 'name3', 'name4', 'name5')"  placeholder="" />
+              </el-col>
+              <el-col :span="2">
+                <el-input v-model="dbformData.sczl_name5" id="name5" disabled @keydown="ent($event, 'name4', 'name5', 'name6')"  placeholder="" />
+              </el-col>
+              <el-col :span="2">
+                <el-input v-model="dbformData.sczl_name6" id="name6" disabled @keydown="ent($event, 'name5', 'name6', 'name7')"  placeholder="" />
+              </el-col>
+              <el-col :span="2">
+                <el-input v-model="dbformData.sczl_name7" id="name7" disabled @keydown="ent($event, 'name6', 'name7', 'name8')"  placeholder="" />
+              </el-col>
+              <el-col :span="2">
+                <el-input v-model="dbformData.sczl_name8" id="name8" disabled @keydown="ent($event, 'name7', 'name8', 'name9')"  placeholder="" />
+              </el-col>
+              <el-col :span="2">
+                <el-input v-model="dbformData.sczl_name9" id="name9" disabled @keydown="ent($event, 'name8', 'name9', 'name10')"  placeholder="" />
+              </el-col>
+              <el-col :span="2">
+                <el-input v-model="dbformData.sczl_name10" id="name10" disabled @keydown="ent($event, 'name9', 'name10', 'name11')"  placeholder="" />
+              </el-col>
+              <el-col :span="2">
+                <el-input v-model="dbformData.sczl_name11" id="name11"  @keydown="ent($event, 'name10', 'name11', 'rate1')"  placeholder="" />
+              </el-col>
+            </el-row>
+
+            <el-row :gutter="10" style="margin-top: 10px;">
+              <el-col :span="2">
+
+              </el-col>
+              <el-col :span="2">
+                <el-input v-model="dbformData.sczl_rate1" id="rate1" disabled @keydown="ent($event, 'name11', 'rate1', 'rate2')"   placeholder="" />
+              </el-col>
+              <el-col :span="2">
+                <el-input v-model="dbformData.sczl_rate2" id="rate2" disabled @keydown="ent($event, 'rate1', 'rate2', 'rate3')"   placeholder="" />
+              </el-col>
+              <el-col :span="2">
+                <el-input v-model="dbformData.sczl_rate3" id="rate3" disabled @keydown="ent($event, 'rate2', 'rate3', 'rate4')"   placeholder="" />
+              </el-col>
+              <el-col :span="2">
+                <el-input v-model="dbformData.sczl_rate4" id="rate4" disabled @keydown="ent($event, 'rate3', 'rate4', 'rate5')"  placeholder="" />
+              </el-col>
+              <el-col :span="2">
+                <el-input v-model="dbformData.sczl_rate5" id="rate5" disabled @keydown="ent($event, 'rate4', 'rate5', 'rate6')"  placeholder="" />
+              </el-col>
+              <el-col :span="2">
+                <el-input v-model="dbformData.sczl_rate6" id="rate6" disabled @keydown="ent($event, 'rate5', 'rate6', 'rate7')"  placeholder="" />
+              </el-col>
+              <el-col :span="2">
+                <el-input v-model="dbformData.sczl_rate7" id="rate7" disabled @keydown="ent($event, 'rate6', 'rate7', 'rate8')"  placeholder="" />
+              </el-col>
+              <el-col :span="2">
+                <el-input v-model="dbformData.sczl_rate8" id="rate8" disabled @keydown="ent($event, 'rate7', 'rate8', 'rate9')"  placeholder="" />
+              </el-col>
+              <el-col :span="2">
+                <el-input v-model="dbformData.sczl_rate9" id="rate9" disabled @keydown="ent($event, 'rate8', 'rate9', 'rate10')"  placeholder="" />
+              </el-col>
+              <el-col :span="2">
+                <el-input v-model="dbformData.sczl_rate10" id="rate10" disabled @keydown="ent($event, 'rate9', 'rate10', '工单编号')"  placeholder="" />
+              </el-col>
+              <el-col :span="2">
+              </el-col>
+            </el-row>
+            <!-- </el-scrollbar> -->
+            <template #footer>
+              <div class="dialog-footer">
+                <el-button @click="bzcloseDialog">取 消</el-button>
+                <el-button type="primary" @click="bzchanliangenterDialog">确 定</el-button>
+              </div>
+            </template>
+          </el-dialog>
+
+
 		<Shebeizhuangtai
 		  v-if="dialogSbyxgl"
 		  v-model="dialogSbyxgl"
@@ -1887,7 +2188,8 @@ import {
   remodelDataEdit,
   remodelDataDel,
   PrintDetailAdd,
-  PrintDetailEdit
+  PrintDetailEdit,
+  chanliangEdit
 } from '@/api/jixiaoguanli/baogong'
 
 import {
@@ -1946,6 +2248,7 @@ const treeData=ref([])
 const huanxingtreeData=ref([])
 const huanxingselectData = ref([])
 const huanxingData = ref({})
+const dbformData=ref({})
 const huanxingstatus=ref(false)
 const zhichengtreeData=ref([{
 	label: '首件与过程确认'
@@ -2098,7 +2401,7 @@ const FacilityProduction = async (addr) => {
       formData.value.产品名称 = response.data.产品名称;
       formData.value.班组Id=response.data.班组Id
       formData.value.machine=JTMC
-      formData.value.状态='生产'
+      formData.value.状态=response.data.状态
       formData.value.定额代号=response.data.定额代号
       formData.value.addr=addr
       BZMC.value=response.data.班组编号
@@ -2172,6 +2475,154 @@ const FacilityWorklist = async () => {
   }
 }
 
+const bzcloseDialog = async () => {
+  bzchanliangVisible.value=false
+}
+const ybupdateCompanyFunc = async (row) => {
+  console.log(currentBz.value)
+  dbformData.value = {};
+  if(currentBz.value){
+    let sczl_bhkey = ''
+    let sczl_namekey = ''
+    let percentagekey = ''
+    if (currentBz.value[9]) {
+      for (let i = 1; i <= 10; i++) {
+        sczl_bhkey = `sczl_bh${i}`
+        sczl_namekey = `sczl_name${i}`
+        percentagekey = `sczl_rate${i}`
+        dbformData.value[sczl_bhkey] = '';
+        dbformData.value[sczl_namekey] = '';
+        dbformData.value[percentagekey] = '';
+      }
+      dbformData.value.code10 = currentBz.value[9].split(' ')[0];
+      dbformData.value.name10 = currentBz.value[9].split(' ')[1]
+      dbformData.value.percentage10 = parseFloat(currentBz.value[9].split(' ')[2].split('(')[1].split(')')[0])/100
+      for (let i = 1; i <= Math.min(Object.keys(currentBz.value).length - 4, 6); i++) {
+        sczl_bhkey = `sczl_bh${i}`
+        sczl_namekey = `sczl_name${i}`
+        percentagekey = `sczl_rate${i}`
+        dbformData.value[sczl_bhkey] = currentBz.value[i - 1].split(' ')[0];
+        dbformData.value[sczl_namekey] = currentBz.value[i - 1].split(' ')[1];
+        if(isNaN(parseFloat(currentBz.value[i - 1].split(' ')[2].split('(')[1].split(')')[0]))){
+          dbformData.value[percentagekey] = currentBz.value[i - 1].split(' ')[2].split('(')[1].split(')')[0];
+        }else{
+          dbformData.value[percentagekey] = parseFloat(currentBz.value[i - 1].split(' ')[2].split('(')[1].split(')')[0])/100;
+        }
+      }
+    } else {
+      for (let i = 1; i <= 10; i++) {
+        sczl_bhkey = `sczl_bh${i}`
+        sczl_namekey = `sczl_name${i}`
+        percentagekey = `sczl_rate${i}`
+        dbformData.value[sczl_bhkey] = '';
+        dbformData.value[sczl_namekey] = '';
+        dbformData.value[percentagekey] = '';
+      }
+      for (let i = 1; i <= Math.min(Object.keys(currentBz.value).length - 3, 6); i++) {
+        sczl_bhkey = `sczl_bh${i}`
+        sczl_namekey = `sczl_name${i}`
+        percentagekey = `sczl_rate${i}`
+        dbformData.value[sczl_bhkey] = currentBz.value[i - 1].split(' ')[0];
+        dbformData.value[sczl_namekey] = currentBz.value[i - 1].split(' ')[1];
+        if(isNaN(parseFloat(currentBz.value[i - 1].split(' ')[2].split('(')[1].split(')')[0]))){
+          dbformData.value[percentagekey] = currentBz.value[i - 1].split(' ')[2].split('(')[1].split(')')[0];
+        }else{
+          dbformData.value[percentagekey] = parseFloat(currentBz.value[i - 1].split(' ')[2].split('(')[1].split(')')[0])/100;
+        }
+      }
+    }
+  }
+  console.log(row)
+  dbformData.value.order=row.工单编号
+  dbformData.value.product_name=row.产品名称
+  dbformData.value.gxmc=row.gxmc
+  dbformData.value.yjno=row.yjno
+  dbformData.value.yj_name=row.产品名称
+  dbformData.value.gy_name=row.gxmc
+  dbformData.value.gxh=row.gxmc.split('-')[0]
+  dbformData.value.日期=row.sj1.split(' ')[0]
+  dbformData.value.流程标牌=row.标牌号
+  dbformData.value.上机时间=row.sj1
+  dbformData.value.下机时间=row.sj2
+  dbformData.value.下机时间=row.sj2
+  dbformData.value.产量=row.产量
+  dbformData.value.制程废品=row.制程废品
+  dbformData.value.制程次品=row.制程次品
+  dbformData.value.前工序废=row.前工序废
+  dbformData.value.来料异常=row.来料异常
+  dbformData.value.联数=row.ls
+  dbformData.value.墨色=row.色度
+  dbformData.value.装版总时长=row.装版工时
+  dbformData.value.打样总工时=row.打样工时
+  dbformData.value.通电工时=row.通电工时
+  dbformData.value.定额代号=row.dedh
+  dbformData.value.码包=row.码包
+  dbformData.value.主电表=row.主电表
+  dbformData.value.辅电表=row.辅电表
+  dbformData.value.sczl_bh11=row.拉料
+  dbformData.value.sczl_name11=row.拉料姓名
+  dbformData.value.UniqId=row.UniqId
+  bzchanliangVisible.value=true
+}
+const chanliangEdits = async() => {
+  const response = await chanliangEdit({
+    sczl_num: dbformData.value.流程标牌,
+    sczl_rq: `${dbformData.value.日期} 00:00:00`,
+    sczl_cl: dbformData.value.产量,
+    sczl_zcfp:dbformData.value.制程废品,
+    sczl_zccp:dbformData.value.制程次品,
+    sczl_前工序废:dbformData.value.前工序废,
+    sczl_来料少数:dbformData.value.来料异常,
+    sczl_ls:dbformData.value.联数,
+    sczl_ms:dbformData.value.墨色,
+    sczl_装版总工时:dbformData.value.装版总时长,
+    sczl_打样总工时:dbformData.value.打样总工时,
+    sczl_设备运行工时:dbformData.value.通电工时,
+    sczl_dedh:dbformData.value.定额代号,
+    码包:dbformData.value.码包,
+    主电表:dbformData.value.主电表,
+    辅电表:dbformData.value.辅电表,
+    sczl_bh98:dbformData.value.sczl_bh11,
+    UniqId:dbformData.value.UniqId
+  })
+  if (response.code === 0) {
+    bzchanliangVisible.value=false
+    FacilityProduction()
+    ElMessage({
+      type: 'success',
+      message: '成功'
+    })
+  }
+}
+const gyupdateCompanyFunc = async (row) => {
+  ElMessageBox.confirm('确定切换班组吗?', '提示', {
+    confirmButtonText: '确定',
+    cancelButtonText: '取消',
+    type: 'warning'
+  }).then(() => {
+    SetMachineTeams(row)
+  })
+}
+const SetMachineTeams = async(row) => {
+  const res = await setMachineTeam({
+    machine: JTMC.split("#")[0],
+    order: formData.value.工单编号,
+    yjno: formData.value.印件号,
+    gy_name:formData.value.工序名称,
+    sczl_bzdh:row.班组号,
+    status:'生产',
+    production_now:0,
+    production_all:0,
+    team_id:row.ID
+  })
+  if (res.code === 0) {
+    FacilityProduction()
+    ElMessage({
+      type: 'success',
+      message: '成功'
+    })
+  }
+}
 const clickybupdate = async (row) => {
   formData.value.班组Id=row.ID
   BZMC.value=row.班组号
@@ -2263,7 +2714,7 @@ const FacilityDetail = async () => {
     }else{
       formData.value.上机时间=currentDate.split('-')[0]+'-'+response.data[0]['生产时间段'].split('>')[1]+':00'
     }
-    console.log(formData.value.上机时间)
+    console.log(response.data)
     CLMXData.splice(0, CLMXData.length, ...Object.values(response.data));
 	formData.value.production_now=response.data[0].产量
 	formData.value.production_all=response.data.total.产量
@@ -2297,6 +2748,12 @@ const getxunchayg = async (value) => {
     xunchaData.value.sczl_name=response.data.ygxm
   }
 }
+const getlaliaoyg = async (value) => {
+  const response = await getYg({sczl_bh:dbformData.value.sczl_bh11});
+  if (response.code === 0) {
+    dbformData.value.sczl_name11=response.data.ygxm
+  }
+}
 //获取员工信息
 const GetYg = async (value,inputName) => {
   const response = await getYg({sczl_bh:value});
@@ -2740,6 +3197,7 @@ const onzhicheng = async () => {
 
 const chanliangselectData = reactive([])
 const chanliangVisible = ref(false)
+const bzchanliangVisible = ref(false)
 const huanxingVisible = ref(false)
 const xunchaVisible = ref(false)
 //客诉记录
@@ -2774,8 +3232,10 @@ const complaintshandle = (val, row) => {
 };
 //设置机台状态
 function onstatus() {
-	dialogSbyxgl.value=true
-	 SetMachineStatus()
+  FacilityProduction().then(()=>{
+    dialogSbyxgl.value=true
+  })
+	 // SetMachineStatus()
 	 // ReportProduceInfo()
 }
 function onClear() {
@@ -3008,7 +3468,7 @@ const GetMachineMac = async (addr) => {
   if (response.code === 0) {
     if(response.data===null){
       JTMC = 'MQ07#';
-      CJMC='模车间';
+      CJMC='模车间';
       FacilityProduction(addr);
     }else{
       // 将接口返回的数据添加到树型结构中
@@ -3166,6 +3626,9 @@ const ReportInfo = async () => {
 const chanliangenterDialog = async () => {
  SubmitDailyProduction()
 }
+const bzchanliangenterDialog = async () => {
+  chanliangEdits()
+}
 //日报表上传
 const SubmitDailyProduction = async () => {
 

+ 17 - 8
src/view/yunyin/shengchanguanli/chengpinrucang.vue

@@ -69,7 +69,7 @@
             </div>
           </div>
           <!-- 弹出框 -->
-          <el-dialog v-model="dialogFormVisible" :before-close="closeDialog" :title="type === 'create' ? '添加' : '修改'"
+          <el-dialog v-model="dialogFormVisible" :before-close="closeDialog" :title="type === 'create' ? '添加' : '详情'"
             destroy-on-close width="1200px">
             <!-- <el-scrollbar height="500px"> -->
             <el-form :model="formData" label-position="left" ref="elFormRef" :rules="rule">
@@ -146,7 +146,7 @@
 			<el-row :gutter="20">
 			 <el-col :span="4">
 			   <el-form-item label="产品编号" prop="id">
-				 <el-input v-model="formData.jjcp_cpdh" id="产品编号"  @keydown="ent($event, 'jjcp_cpmc', '产品编号', '成品名称')" @keyup.enter.native="getSLsubmit" :clearable="true" placeholder="" />
+				 <el-input v-model="formData.成品编码" id="产品编号"  @keydown="ent($event, 'jjcp_cpmc', '产品编号', '成品名称')" @keyup.enter.native="getSLsubmit" :clearable="true" placeholder="" />
 			   </el-form-item>
 			 </el-col>
 			 <el-col :span="10">
@@ -165,7 +165,14 @@
 			  <el-row :gutter="20">
 			   <el-col :span="4">
 			     <el-form-item label="首末版" prop="id">
-			  	 <el-input v-model="formData.jjcp_smb"  id="首末版"  @keydown="ent($event, '客户料号', '首末版', '入仓时间')" :clearable="true" placeholder="" />
+				 <el-select v-model="formData.jjcp_smb" placeholder="" style="width: 190px;" id="首末版"
+				            @keydown="ent($event, '客户料号', '首末版', '入仓时间')"
+				 >
+				   <el-option label="首 版" value="首 版"></el-option>
+				   <el-option label="末 板" value="末 板"></el-option>
+				   <el-option label="首末板" value="首末板"></el-option>
+				 </el-select>
+			  	 <!-- <el-input v-model="formData.jjcp_smb"  id="首末版"  @keydown="ent($event, '客户料号', '首末版', '入仓时间')" :clearable="true" placeholder="" /> -->
 			     </el-form-item>
 			   </el-col>
 			   <el-col :span="4">
@@ -601,6 +608,7 @@ const ADD=ref('0')
 function onAdd() {
 	 GetInfo(lastCellValue)
 	ADD.value='新增'
+	type.value='create'
 	console.log(ADD.value)
 	dialogFormVisible.value = true
 	// Productionadd()
@@ -861,7 +869,7 @@ const updateDetailData = async() => {
    UniqId: lastCellValue, 
    Sys_id:'[1035/刘晓庆]',
    入仓类型:formData.value.入仓类型,
-   仓库编号:formData.value.入仓类型,
+   仓库编号:formData.value.仓库编号,
    仓库名称:formData.value.仓库名称,
    jjcp_num:formData.value.jjcp_num,
    jjcp_gdbh:formData.value.jjcp_gdbh,
@@ -896,6 +904,7 @@ const updateDetailData = async() => {
 	 		 })
 	 }
 	 dialogFormVisible.value = false
+	 getTableData()
   	 
   }else{
   	  // const response = await productionedit(restoredData);
@@ -951,10 +960,10 @@ let lastCellValue=ref()
 // 双击表格操作
 function doubleClick(row, column, event) {
   type.value = 'update';
-  		  lastCellValue= row['UniqId'];
-  		 console.log(lastCellValue)
-  	    table.value=lastCellValue
-  	 	 dialogFormVisible.value = true
+	  lastCellValue= row['UniqId'];
+	 console.log(lastCellValue)
+	table.value=lastCellValue
+	 dialogFormVisible.value = true
   		// dialogSelectVisible.value = true
   GetInfo(table.value)
   // dialogFormVisible.value = true

+ 82 - 64
src/view/yunyin/shengchanguanli/gongdanshengchan.vue

@@ -154,12 +154,13 @@
                         :data="paichengData" row-key="ID"
                         :cell-class-name="cjzcCellClass"
               >
-<!--                highlight-current-row="true"-->
+                <!--                highlight-current-row="true"-->
                 <template v-for="(item, idx) in paichengColumns">
                   <el-table-column #default="{ row, column, $index }" align="left" :label="item.label" :width="item.width" >
-                    <div v-if="['优先次序', '生产工时', '辅助工时', '班次安排', '排单备注','最早开工时间', '计划开工时间'].includes(item.prop)">
-                      <el-input v-model="row[item.prop]" :clearable="false"
+                    <div v-if="['优先次序', '小时产能', '生产工时', '辅助工时', '班次安排', '排单备注','最早开工时间', '计划开工时间'].includes(item.prop)">
+                      <el-input v-model="row[item.prop]"
                                 :id="`input${idx}${$index}`"
+                                @blur="handleBlur(item['label'], item)"
                                 @keyup="handleKeyDown($event, idx, $index, item.prop)"
                       />
                       <!--                      <el-date-picker v-model="row[item.prop]" v-if="['最早开工时间', '计划开工时间'].includes(item.prop)" type="datetime" :clearable="false"-->
@@ -452,6 +453,7 @@ import {createCompany, deleteCompany, deleteCompanyByIds, updateCompany, findCom
 import { getDictFunc, formatDate, formatBoolean, filterDict, ReturnArrImg, onDownloadFile } from '@/utils/format'
 import { ElMessage, ElMessageBox } from 'element-plus'
 import { ref, reactive } from 'vue'
+import dayjs from 'dayjs'
 import {
   DataList,
   getProduct,
@@ -1224,9 +1226,9 @@ const paichengColumns = ref(
     [
       { label: '优先次序', prop: '优先次序', width: '105' },
       { label: '工单编号', prop: '工单编号', width: '100' },
-      // { label: '印件名称', prop: '印件名称', width: '220' },
-      { label: '印件名称', prop: '印件名称', width: '100' },
-      { label: '接货数', prop: '接货数', width: '105' },
+      // { label: '印件名称', prop: '印件名称', width: '200' },
+      { label: '接货数', prop: '计划接货数', width: '90' },
+      { label: '已完成', prop: '已完成', width: '90' },
       { label: '小时产能', prop: '小时产能', width: '100' },
       { label: '生产工时', prop: '生产工时', width: '100' },
       { label: '辅助工时', prop: '辅助工时', width: '100' },
@@ -1237,67 +1239,73 @@ const paichengColumns = ref(
       { label: '计划完工时间', prop: '计划完工时间', width: '180' },
       { label: '销售订单号', prop: '销售订单号', width: '120' },
       { label: '印件/工序', prop: '印件/工序', width: '110' },
-    ]
-)
+    ])
+
+const handleDataSortAndSettingDate = () => {
+  paichengData.value.sort((a, b) => {
+    const priorityA = parseFloat(a['优先次序']);
+    const priorityB = parseFloat(b['优先次序']);
+    // 将空白值放在最后
+    if (isNaN(priorityA)) return 1;
+    if (isNaN(priorityB)) return -1;
+    // 按优先次序升序排序
+    return priorityA - priorityB;
+  });
+
+  paichengData.value.map((item, index) => {
+    console.log(Math.round(((item['计划接货数'] ?? 0) - Number(item['已完成'] ?? 0)) / item['小时产能']).toFixed(1))
+
+
+    if(item['小时产能'] !== '' && item['小时产能'] !== 0){
+      item['生产工时'] = Math.round(((item['计划接货数'] ?? 0) - Number(item['已完成'] ?? 0)) / item['小时产能']).toFixed(1);
+    }
+    if(item['生产工时'] === 'Infinity' || item['生产工时'] === '-Infinity'){
+      item['生产工时'] = 0;
+    }
+
+    let hour = parseFloat(item['生产工时']) + parseFloat(item['辅助工时'])
+    if ( ((Math.floor(hour) * 10) % 10) !== 5) {
+      hour = Math.round(hour)
+    }
+    const sec = hour * 3600
+    const startTime = dayjs(item['计划开工时间']).unix()
+    item['计划完工时间'] = dayjs((startTime + sec) * 1000).format('YYYY-MM-DD HH:mm:ss')
+    if (index > 0) {
+      item['计划开工时间'] = paichengData.value[index-1]['计划完工时间']
+      hour = parseFloat(item['生产工时']) + parseFloat(item['辅助工时'])
+      if ( ((Math.floor(hour) * 10) % 10) !== 5) {
+        hour = Math.round(hour)
+      }
+      const sec = hour * 3600
+      const startTime = dayjs(item['计划开工时间']).unix()
+      item['计划完工时间'] = dayjs((startTime + sec) * 1000).format('YYYY-MM-DD HH:mm:ss')
+    }
+  })
+}
+
+const handleBlur = (name, item) => {
+  console.log(name)
+  console.log(item)
+  if (name === '优先次序' || name === '计划开工时间' || name === '生产工时' || name === '辅助工时' || name === '最早开工时间') {
+    handleDataSortAndSettingDate()
+  }
+  if (name === '小时产能') {
+    // console.log(item)
+    // item['生产工时'] = Math.round( ( (item['计划接货数'] ?? 0) - Number(item['已完成'] ?? 0) ) / item['小时产能'] ).toFixed(1)
+    // console.log(item['计划接货数'])
+    // console.log(item['已完成'])
+    // console.log(item['生产工时'])
+    handleDataSortAndSettingDate()
+  }
+}
 const handleKeyDown = (event, x, y, prop) => {
-  console.log(event)
   const currentElement = document.getElementById(`input${x}${y}`);
   if (currentElement === null && currentElement === undefined) return
   let move = 0
   switch (event.keyCode) {
     case 13: // Enter
       if (x === 0 && y === +y) {
-        console.log("排序前的值");
-        console.log(paichengData.value);
-
-        paichengData.value.sort((a, b) => {
-          const priorityA = parseFloat(a['优先次序']);
-          const priorityB = parseFloat(b['优先次序']);
-          // 将空白值放在最后
-          if (isNaN(priorityA)) return 1;
-          if (isNaN(priorityB)) return -1;
-          // 按优先次序升序排序
-          return priorityA - priorityB;
-        });
-        console.log("排序后的值");
-        console.log(paichengData.value);
-
-        // 封装时间格式化函数
-        function formatTimestamp(timestamp) {
-          const date = new Date(timestamp * 1000);
-          const year = date.getFullYear();
-          const month = (date.getMonth() + 1).toString().padStart(2, '0');
-          const day = date.getDate().toString().padStart(2, '0');
-          const hours = date.getHours().toString().padStart(2, '0');
-          const minutes = date.getMinutes().toString().padStart(2, '0');
-          const seconds = date.getSeconds().toString().padStart(2, '0');
-          const formattedDate = `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`;
-          return formattedDate;
-        }
-        // 获取第一行数据
-        const firstRow = paichengData.value[+y];
-        console.log(firstRow)
-        // 初始化上一行的计划完工时间为第一行的计划开工时间
-        let prevCompletionTime = new Date(firstRow['计划开工时间']).getTime() / 1000;
-        // 遍历每一行数据
-        paichengData.value.forEach(row => {
-          const roundedValue = (Math.floor(row['生产工时'] * 10) % 10 === 5) ? row['生产工时'] : Math.round(row['生产工时']);
-          const result = parseFloat(roundedValue) + parseFloat(row['辅助工时']);
-          const resultTimestamp = result * 3600;
-          // 计算【计划开工时间】最终时间戳,使用上一行的计划完工时间
-          const finalTimestamp = prevCompletionTime + resultTimestamp;
-          // 将计划完工时间赋值到当前行
-          row['计划完工时间'] = formatTimestamp(finalTimestamp);
-          // row['计划开工时间'] =formatTimestamp(finalTimestamp);
-          // 更新上一行的计划完工时间为当前行的计划完工时间
-          prevCompletionTime = finalTimestamp;
-
-          console.log("=============================");
-          console.log("x是 y是 生产工时 + 辅助工时 * 3600 + 计划开工时间 = 时间戳↓↓↓↓↓↓↓↓↓");
-          console.log(`x是 ${x}  Y是 ${y} --- ${roundedValue} + ${row['辅助工时']} * 3600 + ${new Date(row['计划开工时间']).getTime() / 1000} = ${finalTimestamp}`);
-          console.log("=============================");
-
-        });
+            handleDataSortAndSettingDate()
       }
       const nextInputElement = document.getElementById(`input${x}${y + 1}`);
       if (nextInputElement) {
@@ -1356,11 +1364,12 @@ const pd_gdprintonClick = () => {
 }
 
 //车间设备排程【按钮】
-const oncjsbpcClick = () => {
+const oncjsbpcClick = async () => {
   cjsbpcformData['sbdh'] = _machine.value;
   paichengData.value = [];
-  _EquipmentSchedulingdata();
-  _ScheduleSelectiondata();
+   _EquipmentSchedulingdata();
+   _ScheduleSelectiondata();
+
   cjsbpclist.value = true;
 };
 //调用班次选择列表接口
@@ -1404,6 +1413,11 @@ const _EquipmentSchedulingdata = async ()=>{
     console.log(EquipmentSchedulingdata)
     if (EquipmentSchedulingdata.code === 0) {
       paichengData.value = EquipmentSchedulingdata.data
+      paichengData.value.map((item, index) => {
+        item['优先次序'] = 50 + index
+      })
+
+      handleDataSortAndSettingDate()
     }
   } catch (error) {
     console.error(error);
@@ -1432,6 +1446,10 @@ const oneditpcClick = async () => {
   // console.log(EquipmentSchedulingEdit_edit)
   if (EquipmentSchedulingEdit_edit.code === 0) {
     ElMessage({ type: 'success', message: '更新成功' });
+    console.log(_machine.value)
+    const zhubiao = await MachineWorkOrderList({ machine:_machine.value})
+    chejianData.value = zhubiao.data['排程'];
+    chejianfuData.value = zhubiao.data['制程'];
     cjsbpclist.value = false;
   } else {
     ElMessage({ type: 'error', message: '更新失败' });
@@ -1525,7 +1543,7 @@ const gxztgzzCellClass = ({row, column, rowIndex, columnIndex}) =>{
 }
 //车间设备制程排序背景
 const cjzcCellClass = ({row, column, rowIndex, columnIndex}) =>{
-  if (column.label === '优先次序' || column.label === '生产工时' || column.label === '辅助工时' || column.label === '班次安排' || column.label === '排单备注' || column.label === '最早开工时间'  || column.label === '计划开工时间') {
+  if (column.label === '小时产能' || column.label === '优先次序' || column.label === '生产工时' || column.label === '辅助工时' || column.label === '班次安排' || column.label === '排单备注' || column.label === '最早开工时间'  || column.label === '计划开工时间') {
     return 'background-color-column-fen';
   }
   if (row) {

+ 2 - 2
src/view/yunyin/shengchanguanli/gongdanziliao.vue

@@ -1696,11 +1696,11 @@ const gd_clearFormData = () => {
 //新增工单资料按钮
 const addgd_onclick = () => {
   gd_clearFormData();
-  add_gdscgdformData['重点工单'] = '打样工单';
+  add_gdscgdformData['重点工单'] = '';
   add_gdscgdformData['订单数量'] = 0;
   add_gdscgdformData['平张投料'] = 0;
   add_gdscgdformData['万小张'] = 0;
-  add_gdscgdformData['单位'] = "张";
+  add_gdscgdformData['单位'] = "张";
   add_gdscgdformData['投料大箱'] = 0;
   add_gdscgdformData['码源数量'] = 0;
   add_gdscgdformData['开单日期'] = currentDate;

+ 594 - 16
src/view/yunyin/shengchanguanli/shebeiyunxing.vue

@@ -4,14 +4,14 @@
 	    <header>
 			<el-button type="primary" @click="onBZ">班组维护</el-button>
 			<el-button type="primary" @click="onzhicheng"  >制程检验</el-button>
-			<el-button type="primary" @click="onDel">删除</el-button>
+			<!-- <el-button type="primary" @click="onDel">删除</el-button> -->
 			<el-button type="primary" @click="onxuncha">管理巡查</el-button>
 			<el-button type="primary" @click="ondianjian">设备点检</el-button>
 			<el-button type="primary" @click="onyinban">印版领退</el-button>
-			<el-button type="primary" @click="onstatus" >设置机台状态</el-button>
+			<!-- <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>
+			<!-- <el-button type="primary" @click="onClear2" >换型清场</el-button> -->
 		</header>
     <el-container>
       <el-aside width="200px">
@@ -991,7 +991,7 @@
 					                :row-style="{ height: '20px' }"
 					                :cell-style="{ padding: '0px' }" :header-row-style="{ height: '20px' }"
 					                :header-cell-style="{ padding: '0px' }"
-					                highlight-current-row="true"
+					                highlight-current-row="true" @row-dblclick="gytableDatadoubleClick"
 					                style="width: 100%;height: 400px" border tooltip-effect="dark" :data="gytableData" row-key="ID" @selection-change="handleSelectionChange">
 					        <el-table-column type="selection" width="55" />
 					        <!-- <el-table-column align="left" label="选择" prop="工单编号"  width="100"/> -->
@@ -1444,6 +1444,344 @@
 		  </div>
 		</el-dialog>
 		
+		<el-dialog
+		  v-model="chanliangVisible"
+		  title="日产量上报"
+		  destroy-on-close
+		  width="60%"
+		  style="height: 110vh;"
+		>
+		  <el-row :gutter="24">
+		    <el-col :span="6">
+		      <el-form-item label="工单编号:" prop="flatFeed" class="mab">
+		       <el-input v-model="formdata3.value.工单编号" id="工单编号" @blur="getCPMCsubmit()" @keydown="ent1($event)"  :clearable="true" />
+		      </el-form-item>
+		    </el-col>
+		    <el-col :span="18">
+		      <el-form-item label="产品名称:" prop="perTenThousand" class="mab" label-width="150">
+		  	  <el-input v-model="formdata3.value.cpmc" id="产品名称"   :clearable="true" />
+		      </el-form-item>
+		    </el-col>		  				 
+		  </el-row>
+		
+			<el-row :gutter="24">
+				<el-col :span="6">
+				  <el-form-item label="印件号:" prop="flatFeed" class="mab">
+				  <el-input v-model="formdata3.value.yjno" id="印件号" @focus="yjnoHandleFocus()" @blur="getYJMCsubmit()" @keydown="ent1($event)" :clearable="true" />
+				  </el-form-item>
+				</el-col>
+				<el-col :span="18">
+				  <el-form-item label="印件名称:" prop="perTenThousand" class="mab" label-width="150">
+				  <el-input v-model="formdata3.value.cpmc" id="印件名称"   :clearable="true" />
+				  </el-form-item>
+				</el-col>
+			</el-row>
+			
+			<el-row :gutter="24">
+			  <el-col :span="14">
+			    <el-form-item label="工序名称:" prop="flatFeed" class="mab">
+			    <el-input v-model="formdata3.value.gxmc" id="工序名称" @focus="gxmcHandleFocus()" @blur="getGXsubmit()" @keydown="ent1($event)" :clearable="true" style="width: 350px;"  />
+			    <el-input v-model="formdata3.value.gxh" id="工序号" :readonly=true :clearable="true" style="width: 50px; margin-left: 10px;" />
+			    </el-form-item>
+			  </el-col>
+			  <el-col :span="10">
+			    <el-form-item label="工艺名称:" prop="perTenThousand" class="mab">
+			  	  <el-input v-model="formdata3.value.gymc" id="工艺名称" :readonly=true :clearable="true" style="width: 200px;" />
+			    </el-form-item>
+			  </el-col>
+			</el-row>
+			
+			<el-row :gutter="24">
+			  <el-col :span="6">
+			    <el-form-item label="日期:" prop="flatFeed" class="mab">
+					<el-input type="date" max="9999-12-31" v-model="formdata3.sczl_rq" id="日期" @focus="rqHandleFocus()" @keydown="ent1($event)" :clearable="true" style="width: 200px;" />		  				  
+			    </el-form-item>
+			  </el-col>
+			  <el-col :span="8">
+			    <el-form-item label="机器:" prop="flatFeed" class="mab">
+			    <el-input v-model="formdata3.value.sczl_jtbh"  id="机器"  @keydown="ent1($event)" @blur="getJtbhsubmit()" :clearable="true" style="width: 100px;" />		  				  
+			    </el-form-item>
+			  </el-col>
+				<el-col :span="5" style="margin-top=0px; margin-bottom: 1px;">
+				<el-form-item label="流程单号" prop="id" style="margin-top=0px; margin-bottom: 1px;">
+					<el-input v-model="formdata3.value.num" id="流程单号" style="margin-top=0px; margin-bottom: 1px;" @keydown="ent($event, '日期', '流程标牌', '上机时间')"  placeholder="" />
+				</el-form-item>
+				</el-col>
+			</el-row>
+		
+		
+		
+			  <el-row :gutter="24">
+			    <el-col :span="6">
+			      <el-form-item label="墨色:" prop="flatFeed" class="mab">
+			  				  <el-input v-model="formdata3.value.色度数" id="墨色" @keydown="ent1($event)" :clearable="true" style="width: 200px;" />		  				  
+			      </el-form-item>
+			    </el-col>
+			    <el-col :span="8">
+			      <el-form-item label="加工联数:" prop="flatFeed" class="mab" >
+			      <el-input v-model="formdata3.value.sczl_ls" id="加工联数"  @keydown="ent1($event)" :clearable="true" style="width: 100px; margin-right: 30px;" />		  				  
+			      <el-input v-model="mult1" id="mult1"  @keydown="ent1($event)" @blur="mult()" style="width: 50px;" />X
+			      <el-input v-model="mult2" id="mult2"  @keydown="ent1($event)" @blur="mult()" style="width: 60px;" />
+			  				  </el-form-item>
+			    </el-col>
+				<el-col :span="5">
+				  <el-form-item label="产量:" prop="flatFeed" class="mab">
+				   <el-input v-model="formdata3.value.产量" id="产量"  @keydown="ent1($event)" :clearable="true" style="width: 200px;" />		  				  
+				  </el-form-item>
+				</el-col>
+				<el-col :span="5">
+				  <el-form-item label="制程废品:" prop="flatFeed" class="mab">
+				  <el-input v-model="formdata3.value制程废品" id="制程废品"  @keydown="ent1($event)" :clearable="true" style="width: 200px;" />		  				  
+				  </el-form-item>
+				</el-col>
+			  </el-row>
+			  
+			  
+			  <el-row :gutter="24">
+			    <el-col :span="4">
+			      <el-form-item label="制程次品:" prop="flatFeed" class="mab">
+			  				  <el-input v-model="formdata3.value.制程次品" id="制程次品" @keydown="ent1($event)" :clearable="true" style="width: 200px;" />		  				  
+			      </el-form-item>
+			    </el-col>
+			    <el-col :span="4">
+			      <el-form-item label="前工序废:" prop="flatFeed" class="mab" >
+			      <el-input v-model="formdata3.value.前工序废" id="前工序废"  @keydown="ent1($event)" :clearable="true" style="width: 100px; margin-right: 30px;" />		  				  
+			  				  </el-form-item>
+			    </el-col>
+					<el-col :span="5">
+					  <el-form-item label="来料异常:" prop="flatFeed" class="mab">
+					   <el-input v-model="formdata3.value.来料异常" id="来料异常"  @keydown="ent1($event)" :clearable="true" style="width: 200px;" />		  				  
+					  </el-form-item>
+					</el-col>
+					<el-col :span="10">
+					  <el-form-item label="换型类型:" prop="flatFeed" class="mab">
+					  <el-input v-model="formdata3.value.换型类型" id="换型类型"  @keydown="ent1($event)" :clearable="true" style="width: 200px;" />		  				  
+					  </el-form-item>
+					</el-col>
+			  </el-row>
+			  
+			  
+			  <el-row :gutter="30">
+			    <el-col :span="5">
+			      <el-form-item label="装版总工时:" prop="flatFeed" class="mab">
+			  				  <el-input v-model="formdata3.value.装版总工时" id="装版总工时" @keydown="ent1($event)" :clearable="true" style="width: 200px;" />		  				  
+			      </el-form-item>
+			    </el-col>
+			    <el-col :span="5">
+			      <el-form-item label="装版补产工时:" prop="flatFeed" class="mab" >
+			      <el-input v-model="formdata3.value.装版补产工时" id="装版补产工时"  @keydown="ent1($event)" :clearable="true" style="width: 100px; margin-right: 30px;" />		  				  
+			  				  </el-form-item>
+			    </el-col>
+				<el-col :span="5">
+				  <el-form-item label="打样总工时:" prop="flatFeed" class="mab">
+				   <el-input v-model="formdata3.value.打样总工时" id="打样总工时"  @keydown="ent1($event)" :clearable="true" style="width: 200px;" />		  				  
+				  </el-form-item>
+				</el-col>
+				<el-col :span="5">
+				  <el-form-item label="打样补产工时:" prop="flatFeed" class="mab">
+				  <el-input v-model="formdata3.value.打样补产工时" id="打样补产工时"  @keydown="ent1($event)" :clearable="true" style="width: 200px;" />		  				  
+				  </el-form-item>
+				</el-col>
+				<el-col :span="4">
+				  <el-form-item label="保养工时:" prop="flatFeed" class="mab">
+				  <el-input v-model="formdata3.value.保养工时" id="保养工时"  @keydown="ent1($event)" :clearable="true" style="width: 200px;" />		  				  
+				  </el-form-item>
+				</el-col>
+			  </el-row>
+			  
+			  
+			  <el-row :gutter="24">
+			    <el-col :span="6">
+			      <el-form-item label="异常总工时:" prop="flatFeed" class="mab">
+			  		<el-input v-model="formdata3.value.异常总工时" id="异常总工时" style="margin-top=0px; margin-bottom: 1px;" @keydown="ent($event, '日期', '流程标牌', '上机时间')"  placeholder="" />
+			      </el-form-item>
+			    </el-col>
+			    <el-col :span="8">
+			      <el-form-item label="异常类型:" prop="flatFeed" class="mab">
+			      <el-input v-model="formdata3.value.异常类型"  id="异常类型"  @keydown="ent1($event)" @blur="getJtbhsubmit()" :clearable="true" style="width: 100px;" />		  				  
+			      </el-form-item>
+			    </el-col>
+			  	<el-col :span="5" style="margin-top=0px; margin-bottom: 1px;">
+			  	<el-form-item label="异常补贴工时" prop="id" style="margin-top=0px; margin-bottom: 1px;">
+			  		<el-input v-model="formdata3.value.异常补时" id="异常补贴工时" style="margin-top=0px; margin-bottom: 1px;" @keydown="ent($event, '日期', '流程标牌', '上机时间')"  placeholder="" />
+			  	</el-form-item>
+			  	</el-col>
+			  </el-row>
+			  
+			  
+			  <el-row :gutter="24">
+			    <el-col :span="8">
+			      <el-form-item label="通电时间:" prop="flatFeed" class="mab">
+			      <el-input v-model="formdata3.value.通电时间"  id="通电时间"  @keydown="ent1($event)" @blur="getJtbhsubmit()" :clearable="true" style="width: 100px;" />		  				  
+			      </el-form-item>
+			    </el-col>
+			  	<el-col :span="5" style="margin-top=0px; margin-bottom: 1px;">
+			  	<el-form-item label="定额代号" prop="id" style="margin-top=0px; margin-bottom: 1px;">
+			  		<el-input v-model="formdata3.value.dedh" id="定额代号" style="margin-top=0px; margin-bottom: 1px;" @keydown="ent($event, '日期', '流程标牌', '上机时间')"  placeholder="" />
+			  	</el-form-item>
+			  	</el-col>
+			  </el-row>
+			  
+			  
+			  <el-row :gutter="24">
+			    <el-col :span="4">
+			      <el-form-item label="码开始行:" prop="flatFeed" class="mab">
+			  				  <el-input v-model="formdata3.value.码开始行" id="码开始行" @keydown="ent1($event)" :clearable="true" style="width: 200px;" />		  				  
+			      </el-form-item>
+			    </el-col>
+			    <el-col :span="4">
+			      <el-form-item label="码结束行:" prop="flatFeed" class="mab" >
+			      <el-input v-model="formdata3.value.码结束行" id="码结束行"  @keydown="ent1($event)" :clearable="true" style="width: 100px; margin-right: 30px;" />		  				  
+			  				  </el-form-item>
+			    </el-col>
+				<el-col :span="5">
+				  <el-form-item label="主电表:" prop="flatFeed" class="mab">
+				   <el-input v-model="formdata3.value.主电表" id="主电表"  @keydown="ent1($event)" :clearable="true" style="width: 200px;" />		  				  
+				  </el-form-item>
+				</el-col>
+				<el-col :span="10">
+				  <el-form-item label="辅电表:" prop="flatFeed" class="mab">
+				  <el-input v-model="formdata3.value.辅电表" id="辅电表"  @keydown="ent1($event)" :clearable="true" style="width: 200px;" />		  				  
+				  </el-form-item>
+				</el-col>
+			  </el-row>
+
+		  <div style="display: flex;">
+			  <div style="width: 131vh;">组员及分配比例</div>
+			  <div style="width: 13vh;">特殊组员</div>
+			  <div>拉料人员</div>
+		  </div>
+		  
+		  
+		    <el-row :gutter="10" style="margin-top: 1vh;">
+		  		  	 <el-col :span="2">
+		  		  	   <el-input v-model="formdata3.value.bzdh" id="bzdh"  @keydown="ent($event, '辅电表', 'bzdh', 'bh1')"  placeholder="ZI00401" />
+		  		  	 </el-col>
+		  		     <el-col :span="2">
+		  		       <el-input v-model="formdata3.value.组员1['编号']" id="bh1"  @keydown="ent($event, 'bzdh', 'bh1', 'bh2')" @keyup.enter.native="getygsubmit($event, '1')"  placeholder="" />
+		  		     </el-col>
+		  		     <el-col :span="2">
+		  		       <el-input v-model="formdata3.value.组员2['编号']" id="bh2"  @keydown="ent($event, 'bh1', 'bh2', 'bh3')" @keyup.enter.native="getygsubmit($event, '2')"  placeholder="" />
+		  		     </el-col>
+		  		     <el-col :span="2">
+		  		       <el-input v-model="formdata3.value.组员3['编号']" id="bh3"  @keydown="ent($event, 'bh2', 'bh3', 'bh4')" @keyup.enter.native="getygsubmit($event, '3')"  placeholder="" />
+		  		     </el-col>
+		  		     <el-col :span="2">
+		  		       <el-input v-model="formdata3.value.组员4['编号']" id="bh4"  @keydown="ent($event, 'bh3', 'bh4', 'bh5')" @keyup.enter.native="getygsubmit($event, '4')"  placeholder="" />
+		  		     </el-col>
+		  		     <el-col :span="2">
+		  		       <el-input v-model="formdata3.value.组员5['编号']" id="bh5"  @keydown="ent($event, 'bh4', 'bh5', 'bh6')" @keyup.enter.native="getygsubmit($event, '5')"  placeholder="" />
+		  		     </el-col>
+		  			<el-col :span="2">
+		  			  <el-input v-model="formdata3.value.组员6['编号']" id="bh6"  @keydown="ent($event, 'bh5', 'bh6', 'bh7')" @keyup.enter.native="getygsubmit($event, '6')"  placeholder="" />
+		  			</el-col>
+		  			<el-col :span="2">
+		  			  <el-input v-model="formdata3.value.组员7['编号']" id="bh7"  @keydown="ent($event, 'bh6', 'bh7', 'bh8')" @keyup.enter.native="getygsubmit($event, '7')"  placeholder="" />
+		  			</el-col>
+		  			<el-col :span="2">
+		  			  <el-input v-model="formdata3.value.组员8['编号']" id="bh8"  @keydown="ent($event, 'bh7', 'bh8', 'bh9')" @keyup.enter.native="getygsubmit($event, '8')"  placeholder="" />
+		  			</el-col>
+		  			<el-col :span="2">
+		  			  <el-input v-model="formdata3.value.组员9['编号']" id="bh9"  @keydown="ent($event, 'bh8', 'bh9', 'bh10')" @keyup.enter.native="getygsubmit($event, '9')"  placeholder="" />
+		  			</el-col>
+		  			<el-col :span="2">
+		  			  <el-input v-model="formdata3.value.组员10['编号']" id="bh10"  @keydown="ent($event, 'bh9', 'bh10', 'bh11')" @keyup.enter.native="getygsubmit($event, '10')"  placeholder="" />
+		  			</el-col>
+		  			<el-col :span="2">
+		  			  <el-input v-model="formdata3.value.拉料['编号']"  @keydown="ent($event, 'bh10', 'bh11', 'name1')" @keyup.enter.native="getygsubmit($event, '11')"  placeholder="" />
+		  			</el-col>
+		  		   </el-row>
+		  		
+		  		
+		  		
+		  		  <el-row :gutter="10" style="margin-top: 10px;">
+		  		  	 <el-col :span="2">
+		  		
+		  		  	 </el-col>
+		  		     <el-col :span="2">
+		  		       <el-input v-model="formdata3.value.组员1['姓名']" id="name1"  @keydown="ent($event, 'bh11', 'name1', 'name2')"   placeholder="" />
+		  		     </el-col>
+		  		     <el-col :span="2">
+		  		       <el-input v-model="formdata3.value.组员2['姓名']" id="name2"  @keydown="ent($event, 'name1', 'name2', 'name3')"   placeholder="" />
+		  		     </el-col>
+		  		     <el-col :span="2">
+		  		       <el-input v-model="formdata3.value.组员3['姓名']" id="name3"  @keydown="ent($event, 'name2', 'name3', 'name4')"  placeholder="" />
+		  		     </el-col>
+		  		     <el-col :span="2">
+		  		       <el-input v-model="formdata3.value.组员4['姓名']" id="name4"  @keydown="ent($event, 'name3', 'name4', 'name5')"  placeholder="" />
+		  		     </el-col>
+		  		     <el-col :span="2">
+		  		       <el-input v-model="formdata3.value.组员5['姓名']" id="name5"  @keydown="ent($event, 'name4', 'name5', 'name6')"  placeholder="" />
+		  		     </el-col>
+		  			<el-col :span="2">
+		  			  <el-input v-model="formdata3.value.组员6['姓名']" id="name6"  @keydown="ent($event, 'name5', 'name6', 'name7')"  placeholder="" />
+		  			</el-col>
+		  			<el-col :span="2">
+		  			  <el-input v-model="formdata3.value.组员7['姓名']" id="name7"  @keydown="ent($event, 'name6', 'name7', 'name8')"  placeholder="" />
+		  			</el-col>
+		  			<el-col :span="2">
+		  			  <el-input v-model="formdata3.value.组员8['姓名']" id="name8"  @keydown="ent($event, 'name7', 'name8', 'name9')"  placeholder="" />
+		  			</el-col>
+		  			<el-col :span="2">
+		  			  <el-input v-model="formdata3.value.组员9['姓名']" id="name9"  @keydown="ent($event, 'name8', 'name9', 'name10')"  placeholder="" />
+		  			</el-col>
+		  			<el-col :span="2">
+		  			  <el-input v-model="formdata3.value.组员10['姓名']" id="name10"  @keydown="ent($event, 'name9', 'name10', 'name11')"  placeholder="" />
+		  			</el-col>
+		  			<el-col :span="2">
+		  			  <el-input v-model="formdata3.value.拉料['姓名']" id="name11"  @keydown="ent($event, 'name10', 'name11', 'rate1')"  placeholder="" />
+		  			</el-col>
+		  		   </el-row>
+		  		
+		  		  <el-row :gutter="10" style="margin-top: 10px;">
+		  		  	 <el-col :span="2">
+		  		
+		  		  	 </el-col>
+		  		     <el-col :span="2">
+		  		       <el-input v-model="formdata3.value.组员1['比例']" id="rate1"  @keydown="ent($event, 'name11', 'rate1', 'rate2')"   placeholder="" />
+		  		     </el-col>
+		  		     <el-col :span="2">
+		  		       <el-input v-model="formdata3.value.组员2['比例']" id="rate2"  @keydown="ent($event, 'rate1', 'rate2', 'rate3')"   placeholder="" />
+		  		     </el-col>
+		  		     <el-col :span="2">
+		  		       <el-input v-model="formdata3.value.组员3['比例']" id="rate3"  @keydown="ent($event, 'rate2', 'rate3', 'rate4')"   placeholder="" />
+		  		     </el-col>
+		  		     <el-col :span="2">
+		  		       <el-input v-model="formdata3.value.组员4['比例']" id="rate4"  @keydown="ent($event, 'rate3', 'rate4', 'rate5')"  placeholder="" />
+		  		     </el-col>
+		  		     <el-col :span="2">
+		  		       <el-input v-model="formdata3.value.组员5['比例']" id="rate5"  @keydown="ent($event, 'rate4', 'rate5', 'rate6')"  placeholder="" />
+		  		     </el-col>
+		  			<el-col :span="2">
+		  			  <el-input v-model="formdata3.value.组员6['比例']" id="rate6"  @keydown="ent($event, 'rate5', 'rate6', 'rate7')"  placeholder="" />
+		  			</el-col>
+		  			<el-col :span="2">
+		  			  <el-input v-model="formdata3.value.组员7['比例']" id="rate7"  @keydown="ent($event, 'rate6', 'rate7', 'rate8')"  placeholder="" />
+		  			</el-col>
+		  			<el-col :span="2">
+		  			  <el-input v-model="formdata3.value.组员8['比例']" id="rate8"  @keydown="ent($event, 'rate7', 'rate8', 'rate9')"  placeholder="" />
+		  			</el-col>
+		  			<el-col :span="2">
+		  			  <el-input v-model="formdata3.value.组员9['比例']" id="rate9"  @keydown="ent($event, 'rate8', 'rate9', 'rate10')"  placeholder="" />
+		  			</el-col>
+		  			<el-col :span="2">
+		  			  <el-input v-model="formdata3.value.组员10['比例']" id="rate10"  @keydown="ent($event, 'rate9', 'rate10', '工单编号')"  placeholder="" />
+		  			</el-col>
+		  			<el-col :span="2">
+		  			</el-col>
+		  		   </el-row>
+		
+		
+		  <!-- </el-scrollbar> -->
+		  <template #footer>
+		    <div class="dialog-footer">
+		      <el-button @click="closeDialog">取 消</el-button>
+		      <el-button type="primary" @click="chanliangenterDialog">确 定</el-button>
+		    </div>
+		  </template>
+		</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">
@@ -1508,7 +1846,10 @@ import {
    MachineDetailList,
    ComplaintRecord,
    remodelGetTab,
-   ModelChangeRecord
+   ModelChangeRecord,
+   MachineChanliangDetail,
+   chanliangEdit,
+   productionGdmc,
 } from '@/api/jixiaoguanli/jitairibaobiao'
 
 import {
@@ -1661,6 +2002,7 @@ const GetdialogSbyxgl = async () => {
 //   return require(`@/assets/${status}.png`);
 // }
 const classbz=ref([])
+const GDBH=ref()
 //当前生产订单
 const FacilityProduction = async () => {
   const response = await facilityProduction({machine:JTMC});
@@ -1729,8 +2071,8 @@ const FacilityWorklist = async () => {
 //检验记录
 const InspectionRecord = async () => {
 	console.log(formData.value.班组)
-  // const response = await inspectionRecord({machine:JTMC,Gd_gdbh:formData.value.工单编号,team:formData.value.班组});
-  const response = await inspectionRecord({machine:'JY01#',Gd_gdbh:'2311114',team:'A班'});
+  const response = await inspectionRecord({machine:JTMC,Gd_gdbh:formData.value.工单编号,team:BZMC.value});
+  // const response = await inspectionRecord({machine:'JY01#',Gd_gdbh:'2311114',team:'A班'});
   // const response = await inspectionRecord({machine:'JY01#',Gd_gdbh:'2312191',team:'A班'});
   console.log(response)
   if(response.code==0){
@@ -1780,7 +2122,7 @@ const FacilityDetail = async () => {
 	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: formData.value.工单编号, team: BZMC.value });
   // const response = await facilityDetail({ machine: JTMC, Gd_gdbh: '2311114', team:'A班' });
   if (response.code === 0) {
 	console.log('123123')
@@ -1798,7 +2140,7 @@ const getygsubmit = (event, inputName) => {
 		  let combinedString = 'sczl_bh' + inputName;
 		   console.log(combinedString)
 		  //  let variableName = 'sczl_gdbh'+inputName;
-		   let variableValue = eval('formData3.value.' + combinedString);
+		   let variableValue = eval('formdata3.value.' + combinedString);
 		   console.log(variableValue)
 		   GetYg(variableValue,inputName)  
 }
@@ -2044,10 +2386,20 @@ const Complaints = async() => {
 	// console.log(sbzyData[0].产品代号)
 	// console.log(sbzyData[0].产品代号)
     // const res = await ComplaintRecord({productCode :cpcode.value})
-	const res = await ComplaintRecord({productCode :'100601011'})
+	if(finishedcode.value==null){
+	ElMessage({
+	  type: 'error',
+	  message: '请先选择产品', 
+	})
+	return
+	}
+	const res = await ComplaintRecord({productCode :finishedcode.value})
     if (res.code === 0) {			
 		if(res.data==null){
-			console.log('暂无客诉记录')
+		ElMessage({
+		  type: 'error',
+		  message: '此产品暂无客诉记录', 
+		})	
 		}else{
 			complaintsData.splice(0, complaintsData.length, ...res.data);
 			console.log(complaintsData);
@@ -2078,7 +2430,8 @@ function onClear() {
 	 RemodelGetTab()
 }
 function onClear2() {
-	console.log(formData.value.class)
+	console.log(formData.value.工单编号)
+	console.log(BZMC)
 }
 const RemodelGetTab = async() => {
   const response = await remodelGetTab()
@@ -2175,6 +2528,7 @@ function ondianjian() {
 }
 
 const onyinban = async() => {
+	console.log(formData.value.productCodes)
 	const res = await facilityPrintGetTab({productCode:formData.value.productCode})
 	if(res.code===0){
 		yinbantreeData.value=[{
@@ -2246,7 +2600,7 @@ const facilityPrintDetailItem = async (value) => {
   try {
     // 调用接口获取巡检项目数据
     // const response = await facilityPrintDetail({ workOrder: formData.value.工单编号,code:value,productCode:productCode.value });
-	const response = await facilityPrintDetail({ workOrder: '2312165',code:'0521',productCode:'104601001' });
+	const response = await facilityPrintDetail({ workOrder: formData.value.工单编号,code:value,productCode:formData.value.productCode });
     // 检查接口返回的状态码
     if (response.code === 0) {
      console.log(response)
@@ -2288,6 +2642,8 @@ const yinbanNodeClick = (node, check, nodeData) => {
     // 点击的是子节点,或者没有子节点
     // 执行相应的子节点单击事件处理逻辑
      facilityPrintDetailItem(node.code)
+	 // console.log()
+	 
   }
 };
 const xunchaNodeClick = (node, check, nodeData) => {
@@ -2297,7 +2653,11 @@ const xunchaNodeClick = (node, check, nodeData) => {
 }
 
 const fieldInspectionRecord = async () => {
-	const response = await FieldInspectionRecord({ workOrder: '2311114',team:'A班',start:'2024-01-19 08:30:00' });
+	let time = new Date();
+	time.setDate(time.getDate() - 0); // 今天的前N天的日期,N自定义
+	time= `${time.getFullYear()}-${time.getMonth() + 1}-${time.getDate()}`;
+	console.log(time+' 08:30:00')
+	const response = await FieldInspectionRecord({ workOrder: formData.value.工单编号,team:BZMC.value,start:time+' 08:30:00' });
 	if (response.code === 0) {
 		xunchaselectData.value=response.data
 	}
@@ -2613,8 +2973,221 @@ const BZhandle = (val, row) => {
   }
 };
 
-	
-
+const chanliangVisible = ref(false)
+const formdata3=reactive([])
+function gytableDatadoubleClick(row, column, event) {
+ console.log(row)
+ MachineChanliang(row.UniqId)
+ 
+}
+//获取详细信息
+const MachineChanliang = async(value) => {
+ const response = await MachineChanliangDetail({UniqId:value});
+   if (response.code === 0) {
+     console.log(response)
+	 chanliangVisible.value=true
+	 formdata3.value=response.data
+	 const pattern = /-(.*?)〖(.*?)$/;
+	 const matches = formdata3.value.gxmc.match(pattern);
+	 formdata3.value.gymc=matches[1]
+	 console.log(formdata3.value.拉料['姓名'])
+   }
+ }
+ const yjnoArr = ref([0])
+ const yjnoHandleFocus = () =>{
+ 	if(yjnoArr.value[0] == 0){
+ 		 formdata3.value.yjno = 1;
+ 	}else{
+ 		 formdata3.value.yjno = yjnoArr.value[0];
+ 	}
+ }
+ const gxmc = ref('')
+ //工单编号回车事件
+ const getCPMCsubmit = () => {
+ 	if(formdata3.value.工单编号!=''){
+ 		productionGdmc({gdbh:formdata3.value.工单编号}).then(response=>{
+ 		  if (response.code === 0) {
+ 			  formdata3.value.cpmc = response.data.Gd_cpmc
+ 			  yjnoArr.value = response.data.yjno;
+ 			  
+ 			  document.getElementById('产品名称').style.color = 'red';
+ 			}else{
+ 				formdata3.value.工单编号 = '';
+ 				formdata3.value.cpmc = '';
+ 				gxmc.value = '';
+ 				document.getElementById('产品名称').style.color = 'black';
+ 			}
+ 		});
+ 	}else{
+ 		ElMessage({
+ 		  type: 'error',
+ 		  message: '请注意, 工单编号输入空置, 除非有特殊需要!'
+ 		})
+ 		
+ 		gxmc.value = '';
+ 		document.getElementById('产品名称').style.color = 'black';
+ 	}
+ }
+ //印件号失去焦点事件
+ const getYJMCsubmit = () => {
+  if(formdata3.value.工单编号!='' && formdata3.value.yjno!=''){
+  	//获取印件名称
+ 	productionYjmc({gdbh:formdata3.value.工单编号,yjno:formdata3.value.yjno}).then(response=>{
+  	  if (response.code === 0) {
+  		  formData.value.yj_yjmc = response.data.yj_yjmc
+  		  gxmc.value = response.data.gxmc
+ 		  formData.value.sczl_gxmc = gxmc.value.sczl_gxmc;
+ 		  setColorReadonly('印件名称')
+ 		  
+  		}else{
+  			ElMessage({
+  			  type: 'error',
+  			  message: '印件编号不存在, 将恢复默认值, 请仔细确认数据准确性!'
+  			})
+  			formData.value.sczl_yjno = yjnoArr.value[0];
+  			formData.value.yj_yjmc = '';
+ 			gxmc.value = '';
+  		}
+  	});
+  }else{
+  	ElMessage({
+  	  type: 'error',
+  	  message: '印件编号不存在, 将恢复默认值, 请仔细确认数据准确性!'
+  	})
+ 	formData.value.sczl_yjno = yjnoArr.value[0];
+ 	formData.value.yj_yjmc = '';
+ 	gxmc.value = '';
+  }
+ }
+ //日报表修改弹窗确定
+ const chanliangenterDialog = async () => {
+  SubmitDailyProduction()
+ }
+ //日报表上传
+ const SubmitDailyProduction = async () => {
+ 
+   const restoredData = {
+  //    sczl_gdbh:formData3.value.order,
+  //    sczl_yjno:formData3.value.yjno,
+  //    sczl_gxh:formData3.value.gxh,
+  //    sczl_gxmc: formData3.value.gxmc,
+ 	// sczl_bzdh: formData3.value.sczl_bzdh,
+ 	// sczl_bh1: formData3.value.sczl_bh1,
+ 	// sczl_bh2: formData3.value.sczl_bh2,
+ 	// sczl_bh3: formData3.value.sczl_bh3,
+ 	// sczl_bh4: formData3.value.sczl_bh4,
+ 	// sczl_bh5: formData3.value.sczl_bh5,
+ 	// sczl_bh6: formData3.value.sczl_bh6,
+ 	// sczl_bh7: formData3.value.sczl_bh7,
+ 	// sczl_bh8: formData3.value.sczl_bh8,
+ 	// sczl_bh9: formData3.value.sczl_bh9,
+ 	// sczl_bh10: formData3.value.sczl_bh10,
+ 	// sczl_bh98:formData3.value.sczl_bh11,
+ 	// sczl_rate1: formData3.value.sczl_rate1,
+ 	// sczl_rate2: formData3.value.sczl_rate2,
+ 	// sczl_rate3: formData3.value.sczl_rate3,
+ 	// sczl_rate4: formData3.value.sczl_rate4,
+ 	// sczl_rate5: formData3.value.sczl_rate5,
+ 	// sczl_rate6: formData3.value.sczl_rate6,
+ 	// sczl_rate7: formData3.value.sczl_rate7,
+ 	// sczl_rate8: formData3.value.sczl_rate8,
+ 	// sczl_rate9: formData3.value.sczl_rate9,
+ 	// sczl_rate10: formData3.value.sczl_rate10,
+ 	// sczl_jtbh: formData3.value.sczl_jtbh,
+ 	sczl_rq: formdata3.value.日期,
+ 	sczl_num: formdata3.value.sczl_num,
+ 	// sczl_rq: formData3.value.sczl_rq,
+ 	sczl_cl: formdata3.value.产量,
+ 	sczl_zcfp: formdata3.value.制程废品,
+ 	sczl_zccp: formdata3.value.制程次品,
+ 	sczl_前工序废: formdata3.value.前工序废,
+ 	sczl_来料少数: formdata3.value.来料异常,
+ 	sczl_ls: formdata3.value.联数,
+ 	sczl_ms: formdata3.value.色度数,
+ 	sczl_装版总工时: formdata3.value.sczl_装版总工时,
+ 	sczl_打样总工时: formdata3.value.打样总工时,
+ 	sczl_设备运行工时: formdata3.value.sczl_设备运行工时,
+ 	码包: formdata3.value.码包,
+ 	辅电表: formdata3.value.辅电表,
+ 	sczl_bh98: formdata3.value.拉料['编号'],
+ 	UniqId: formdata3.value.UniqId,
+ 	// bom: formData3.value.formattedArray
+   }
+   console.log(restoredData)
+   // console.log(formData3.value.formattedArray)
+   const response = await chanliangEdit(restoredData);
+   console.log(response)
+   if (response.code === 0) {
+ 	  ElMessage({
+ 	    type: 'success',
+ 	    message: '成功'
+ 	  })
+       FacilityDetail()
+       chanliangVisible.value=false
+   }
+ }
+ const ent1 = (event) => {
+   const inputs = document.getElementsByTagName('input');
+   const currentIndex = Array.from(inputs).indexOf(event.target);
+   
+   if (event.keyCode === 13 || event.keyCode === 40) { // Enter 或向下箭头
+     for (let i = currentIndex + 1; i < inputs.length; i++) {
+       if (!inputs[i].readOnly) {
+ 		  nextTick(()=>{
+ 			  inputs[i].focus();
+ 			  inputs[i].select();
+ 		  })
+         break;
+       }
+     }
+   } else if (event.keyCode === 38) { // 向上箭头
+     for (let i = currentIndex - 1; i >= 0; i--) {
+       if (!inputs[i].readOnly) {
+         nextTick(()=>{
+         	inputs[i].focus();
+ 			inputs[i].select();
+         })
+         break;
+       }
+     }
+   } else if (event.keyCode === 8) { // 删除箭头
+     if (event.target.selectionStart === 0) {
+       for (let i = currentIndex - 1; i >= 0; i--) {
+         if (!inputs[i].readOnly) {
+           nextTick(()=>{
+           	inputs[i].focus();
+ 			inputs[i].setSelectionRange(0, 0);
+           })
+           break;
+         }
+       }
+     }
+   } else if (event.keyCode === 37) { // 向左箭头
+     if (event.target.selectionStart === 0) {
+       for (let i = currentIndex - 1; i >= 0; i--) {
+         if (!inputs[i].readOnly) {
+           nextTick(()=>{
+           	inputs[i].focus();
+ 			inputs[i].select();
+           })
+           break;
+         }
+       }
+     }
+   } else if (event.keyCode === 39) { // 向右箭头
+     if (event.target.selectionStart === event.target.value.length) {
+       for (let i = currentIndex + 1; i < inputs.length; i++) {
+         if (!inputs[i].readOnly) {
+           nextTick(()=>{
+           	inputs[i].focus();
+ 			inputs[i].select();
+           })
+           break;
+         }
+       }
+     }
+   }
+ }
 // ============== 表格控制部分结束 ===============
 
 // 获取需要的字典 可能为空 按需保留
@@ -2630,6 +3203,7 @@ const multipleSelection = ref([])
 // 多选
 const handleSelectionChange = (val) => {
     multipleSelection.value = val
+	console.log(val)
 }
 
 // 删除行
@@ -2688,6 +3262,7 @@ const updateCompanyFunc = async(row) => {
     }
 }
 const cpcode=ref('')
+const finishedcode=ref()
 const yjupdateCompanyFunc = async(row) => {
     const res = await facilityProcedure({ Gd_gdbh: row['工单编号|质量信息'].substring(0, 7) })
 	console.log(res)
@@ -2697,6 +3272,9 @@ const yjupdateCompanyFunc = async(row) => {
 	console.log(row)
 	cpcode.value=row.产品代号
     console.log(cpcode)
+	// console.log(row.产品代号)
+	finishedcode.value=row.产品代号
+	console.log(finishedcode.value)
 }
 
 // 删除行