Browse Source

员工关联核算

Lexie 1 year ago
parent
commit
7ab5386782

+ 57 - 1
src/api/jixiaoguanli/jitairibaobiao.js

@@ -404,6 +404,22 @@ export const  dailygetAllList= (params) => {
 	params
   })
 }
+//每日工资统计
+export const  statistics= (params) => {
+  return service({
+    url:'/mes_server/employee_daily_salary/statistics',
+    method: 'get',
+	params
+  })
+}
+//月度计时工资调整
+export const  wageAdjustment= (params) => {
+  return service({
+    url:'/mes_server/employee_daily_salary/wageAdjustment',
+    method: 'get',
+	params
+  })
+}
 //员工计件明细
 export const  getPieceDetail= (params) => {
   return service({
@@ -607,7 +623,7 @@ export const  relatedList= (params) => {
 	params
   })
 }
-//关联工资核算上侧列表
+//定位
 export const  relatedsearch= (params) => {
   return service({
     url:'/mes_server/related_salary_accounting/search',
@@ -615,6 +631,22 @@ export const  relatedsearch= (params) => {
 	params
   })
 }
+//关联工资核算下侧列表
+export const  relatedAllList= (params) => {
+  return service({
+    url:'/mes_server/related_salary_accounting/getAllList',
+    method: 'get',
+	params
+  })
+}
+//关联工资设置
+export const  setting= (params) => {
+  return service({
+    url:'/mes_server/related_salary_accounting/setting',
+    method: 'get',
+	params
+  })
+}
 
 //车间报工
 //获取机台生产信息
@@ -672,4 +704,28 @@ export const submitDailyProduction = (params) => {
     method: 'post',
     params
   })
+}
+//提交巡查记录
+export const submitPatrolRecord = (params) => {
+  return service({
+    url:'/mes_server/reporting_work/submitPatrolRecord',
+    method: 'post',
+    params
+  })
+}
+//设置机台状态
+export const setMachineStatus = (params) => {
+  return service({
+    url:'/mes_server/reporting_work/setMachineStatus',
+    method: 'post',
+    params
+  })
+}
+//获取机台编号
+export const getMachineMac = (params) => {
+  return service({
+    url:'/mes_server/reporting_work/getMachineMac',
+    method: 'get',
+    params
+  })
 }

File diff suppressed because it is too large
+ 452 - 472
src/view/job/related/related.vue


+ 295 - 40
src/view/performance/chejianbaogong.vue

@@ -2,11 +2,16 @@
   <div>
     
 	<header>
-			<el-button type="primary" @click="onBZ">班组维护</el-button>
-			<el-button type="primary" @click="onDel">删除</el-button>
-			<el-button type="primary" @click="onOver">完工</el-button>
-			<el-button type="primary" @click="ondianjian">设备点检</el-button>
-			<el-button type="primary" @click="onchanliang">日产量上报</el-button>
+		<div style="height: 90px;">
+			<el-button type="primary" @click="onBZ" style="height: 70px;width: 75px;">班组维护</el-button>
+			<el-button type="primary" @click="onDel" style="height: 70px;width: 75px;">删除</el-button>
+			<el-button type="primary" @click="onOver" style="height: 70px;width: 75px;">完工</el-button>
+			<el-button type="primary" @click="ondianjian" style="height: 70px;width: 75px;" >设备点检</el-button>
+			<el-button type="primary" @click="onchanliang"  v-if="zdtreeType === true" style="height: 70px;width: 75px;">日产量上报</el-button>
+			<el-button type="primary" @click="onxuncha" style="height: 70px;width: 75px;">管理巡查</el-button>
+			<el-button type="primary" @click="onstatus" style="height: 70px;width: 75px;">设置机台状态</el-button>
+		</div>
+			
 		</header>
 		
 		
@@ -26,7 +31,7 @@
           
 <div class="gva-search-box" style="overflow: hidden; padding: 0; display: flex;">
 
-			<div style="flex: 1; border: 1px magenta solid; margin: 0; padding: 0;">
+			<div style="flex: 1; border: 0px magenta solid; margin: 0; padding: 0; margin-left: 20px; margin-top: 20px;">
 			
 						  <el-row :gutter="20">
 							<el-col :span="6">
@@ -47,7 +52,7 @@
 						  <el-row :gutter="20">
 							<el-col :span="4">
 							 <el-form-item label="印件编号" prop="id">
-							   <el-input v-model="formData.印件号" :clearable="true" placeholder="2023.12.14" />
+							   <el-input v-model="formData.印件号" :clearable="true" placeholder="2023.12.14" />
 							 </el-form-item>
 							</el-col>
 						  <el-col :span="6">
@@ -136,7 +141,7 @@
 			                                 		                    
 			</div>
                     
-	<div style="flex: 1; border: 1px lawngreen solid; margin: 0; padding: 0; overflow: hidden;">
+	<div style="flex: 1; border: 0px lawngreen solid; margin: 0; padding: 0; overflow: hidden;">
 
 	 <el-table
 	   tooltip-effect="dark"
@@ -176,9 +181,9 @@
                 </template>
               </el-popover>
             </div>
-            <el-tabs v-model="activeName" type="card" @tab-click="handleClick">
+            <el-tabs v-model="activeName" type="card" @tab-click="duohandleClick"   >
             
-                        <el-tab-pane label="设备作业清单"  @click="showTable('印件资料')"  name="first">
+                        <el-tab-pane label="设备作业清单"  @click="showTable('印件资料')"   name="first">
                           <el-table ref="multipleTable"
                                     :show-overflow-tooltip="true"
                                     highlight-current-row="true"
@@ -229,7 +234,7 @@
                           </el-table>
                         </el-tab-pane>
             
-                        <el-tab-pane label="当班产量明细" @click="showTable('印版资料')" name="third">
+                        <el-tab-pane label="当班产量明细" @click="showsTable('印版资料')" name="third">
                         <el-table ref="multipleTable"
                                   highlight-current-row="true"
                                   :show-overflow-tooltip="true"
@@ -1118,8 +1123,163 @@
              </template>
 		</el-dialog>
 		
+		<el-dialog
+		  v-model="xunchaVisible"
+		  title="选择"
+		  destroy-on-close
+		  width="1300px"
+		  style="height: 110%;"
+		>
+		  <el-row :gutter="0">
+		    <el-col :span="4">
+		      <el-form-item label="工单编号" prop="id">
+		        <el-input v-model="formData.order" :clearable="true" placeholder="2023.12.14" />
+		      </el-form-item>
+		    </el-col>
+
+		    <el-col :span="10">
+		      <el-row :gutter="20">
+		        <el-col :span="5">
+		          <el-input v-model="formData.product_name" :clearable="true" placeholder="ZT01733" />
+		        </el-col>
+		      </el-row>
+		    </el-col>
+			
+			<el-col :span="4">
+			  <el-form-item label="流程单" prop="id">
+			    <el-input v-model="formData.sczl_gdbh" :clearable="true" placeholder="2023.12.14" />
+			  </el-form-item>
+			</el-col>
+		  </el-row>
+		  
+		  <el-row :gutter="0">
+		    <el-col :span="4">
+		      <el-form-item label="印件编号" prop="id">
+		        <el-input v-model="formData.yjno" :clearable="true" placeholder="2023.12.14" />
+		      </el-form-item>
+		    </el-col>
+		    <el-col :span="10">
+		      <el-row :gutter="20">
+		        <el-col :span="5">
+		          <el-input v-model="formData.gxmc" :clearable="true" placeholder="ZT01733" />
+		        </el-col>
+		      </el-row>
+		    </el-col>
+			<el-col :span="4">
+			  <el-form-item label="工号" prop="id">
+			    <el-input v-model="formData3.sczl_bh11"  @keyup.enter.native="getygsubmit($event, '11')" :clearable="true" placeholder="2023.12.14" />
+			  </el-form-item>
+			</el-col>
+			<el-col :span="4">
+			  <el-form-item label="姓名" prop="id">
+			    <el-input v-model="formData3.sczl_name11" :clearable="true" placeholder="2023.12.14" />
+			  </el-form-item>
+			</el-col>
+		  </el-row>
+		
+		
+		<el-row :gutter="0">
+		  <el-col :span="4">
+		    <el-form-item label="检验备注" prop="id">
+		      <el-input v-model="formData.sczl_gdbh" :clearable="true" placeholder="2023.12.14" />
+		    </el-form-item>
+		  </el-col>
+		  
+					
+		</el-row>
+		
+		  <div style="display: flex;">
+		    <div style="flex: 1;">
+		      <el-aside width="250px" style="margin: 0;">
+		        <div class="JKWTree-tree" style="height: 100%; border-right: 1px solid #ebeef5;">		          
+		          <el-tree :data="xunchatreeData" :props="defaultProps" highlight-current="true"
+		            @node-click="xunchaNodeClick" @node-dblclick="handleNodeDoubleClick"></el-tree>
+		        </div>
+		      </el-aside>
+		    </div>
+		    <div style="flex: 1; margin: 0;">
+		      <el-table
+		        tooltip-effect="dark"
+		        :data="xunchaselectData"
+		        row-key="ID"
+		        highlight-current-row="true"
+		        border  @row-click="dianjianhandle"
+		        style="width:40%; height:100px;"
+		        @row-dblclick="handleSelectClick"
+		        :row-class-name="rowClassName"
+		      >
+		        <el-table-column
+		          prop="检验项目"
+		          label="工单编号"
+		          width="180"
+		        />
+		        <el-table-column
+		          prop="点检方法"
+		          label="印件号"
+		          width="180"
+		        />
+				<el-table-column
+				  prop="检验项目"
+				  label="工序名称"
+				  width="180"
+				/>
+				<el-table-column
+				  prop="点检方法"
+				  label="流程单号"
+				  width="180"
+				/>
+				<el-table-column
+				  prop="检验项目"
+				  label="设备编号"
+				  width="180"
+				/>
+				<el-table-column
+				  prop="点检方法"
+				  label="班组编号"
+				  width="180"
+				/>
+				<el-table-column
+				  prop="检验项目"
+				  label="检验备注"
+				  width="180"
+				/>
+				<el-table-column
+				  prop="点检方法"
+				  label="现场管理人员"
+				  width="180"
+				/>
+				<el-table-column
+				  prop="检验项目"
+				  label="提交时间"
+				  width="180"
+				/>
+				<el-table-column
+				  prop="点检方法"
+				  label="开工时间"
+				  width="180"
+				/>
+				<el-table-column
+				  prop="检验项目"
+				  label="分钟差数"
+				  width="180"
+				/>
+				<el-table-column
+				  prop="点检方法"
+				  label="归属时段"
+				  width="180"
+				/>
+		      </el-table>			  
+		    </div>
+		  </div>
+		  
+		  <template #footer>
+		    <div class="dialog-footer">
+		      <el-button @click="closeDialog">关 闭</el-button>
+		      <el-button type="primary" @click="xunjianerDialog">提 交</el-button>
+		    </div>
+		  </template>
+		</el-dialog>
         </el-main>
-
       </el-container>
     </el-container>
 
@@ -1130,7 +1290,9 @@
   </div>
 </template>
 
+
 <script setup>
+	
 import {
   createCompany,
   deleteCompany,
@@ -1158,7 +1320,10 @@ import {
   submitDailyProduction,
   facilityDetail,
   inspectionRecord,
-  getYg
+  getYg,
+  submitPatrolRecord,
+  getMachineMac,
+  setMachineStatus
 } from '@/api/jixiaoguanli/jitairibaobiao'
 
 import {
@@ -1173,18 +1338,12 @@ import { ref, reactive } from 'vue'
 defineOptions({
     name: 'Company'
 })
+const xunchatreeData=ref([{label: '现场巡查记录',} ])
 let checked1=ref(false)
 let checked2=ref(false)
 let checked3=ref(false)
 const detailData = reactive([])
 const treeData=ref([
-	{
-	  label: '胶印车间',
-	  level: 1 ,
-	  children: [{
-	    label: 'JY01# 【海德堡对开八色平板胶印机】',
-	    level: 2,
-		}]}
 ])
 let  dianjiantreeData;
 let JTMC=ref()
@@ -1195,21 +1354,25 @@ let JYData = reactive([])
 
 const handleNodeClick = (nodeData,node) => {
   //存放当前节点的nodeId
-   if (nodeData.level === 1) {
-        console.log(node.label); // 第一级节点
-      } else if (nodeData.level === 2) {
-        console.log(node.label); // 第二级节点
-		JTMC=node.label.split("【")[0]
-		FacilityProduction()
-		FacilityWorklist()
-		FacilityTeam(JTMC)
-		// InspectionRecord()
-		// FacilityDetail()
-		// ReportProduceInfo()
-		console.log(JTMC)
-      } else if (nodeData.level === 3) {
-        console.log(node.label); // 第三级节点
-	   }  
+  //  if (nodeData.level === 1) {
+  //       console.log(node.label); // 第一级节点
+  //     } else if (nodeData.level === 2) {
+  //       console.log(node.label); // 第二级节点
+		// JTMC=node.label.split("【")[0]
+		// FacilityProduction()
+		// FacilityWorklist()
+		// FacilityTeam(JTMC)
+		// // InspectionRecord()
+		// // FacilityDetail()
+		// // ReportProduceInfo()
+		// console.log(JTMC)
+  //     } else if (nodeData.level === 3) {
+  //       console.log(node.label); // 第三级节点
+	 //   }  
+	 JTMC=node.label.split("【")[0]
+	 FacilityProduction()
+	 FacilityWorklist()
+	 FacilityTeam(JTMC)
 		 // console.log(node.label)
 }
 //当前生产订单
@@ -1218,10 +1381,11 @@ const FacilityProduction = async () => {
   if (response.code === 0) {
 	console.log(response)
 	// 填充formData对象的基本字段
-	    formData.value.工单编号 = response.data.工单编号;
-	    formData.value.印件编号 = response.data.印件编号;
-	    formData.value.工序名称 = response.data.工序名称;
-	    formData.value.产品名称 = response.data.产品名称;
+	console.log(response.data[0].工单编号)
+	    formData.value.工单编号 = response.data[0].工单编号;
+	    formData.value.印件号 = response.data[0].印件号;
+	    formData.value.工序名称 = response.data[0].工序名称;
+	    formData.value.产品名称 = response.data[0].产品名称;
 		// console.log()
 	    formData.value.班组 = response.data.班组;
 	       // 填充sczl_bh和sczl_name字段
@@ -1243,6 +1407,7 @@ const FacilityProduction = async () => {
 				// console.log(sczl_name)
 	          }
 	        }
+		console.log(formData.value)
 	    InspectionRecord()
 	    FacilityDetail()
 	        // 输出填充后的formData对象
@@ -1495,6 +1660,86 @@ function ondianjian() {
 }
 const chanliangselectData = reactive([])
 const chanliangVisible = ref(false)
+const xunchaVisible = ref(false)
+
+//设置机台状态
+function onstatus() {
+	 SetMachineStatus()
+	 // 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:'',
+  });
+  console.log(response) 
+  if (response.code === 0) {
+	console.log(response) 
+  }
+}
+//提交巡查记录
+function onxuncha() {
+	 
+	 ReportProduceInfo()
+}
+//巡检弹窗确定
+const xunjianerDialog = async () => {
+   SubmitPatrolRecord()
+}
+//获取机台生产信息
+const ReportProduceInfo = async (value,inputName) => {
+  const response = await reportProduceInfo({machine:JTMC.split("#")[0]});
+  console.log(response) 
+  if (response.code === 0) {
+	formData.value.order=response.data.order
+	formData.value.yjno=response.data.yjno
+	formData.value.product_name=response.data.product_name
+	formData.value.gxmc=response.data.gxmc
+    xunchaVisible.value=true 
+  }
+}
+//获取机台编号
+const GetMachineMac = async () => {
+  const response = await getMachineMac({addr:'68-ED-A4-26-5F-37'});
+  console.log(response) 
+  if (response.code === 0) {
+	  // 将接口返回的数据添加到树型结构中
+	     // 将接口返回的数据添加到树型结构中
+	     let newNode = {
+	       label: response.data["设备编号"],
+	       children: []
+	     };
+	     
+	     treeData.value.push(newNode);
+  }
+}
+GetMachineMac()
+//提交巡查记录
+const SubmitPatrolRecord = async () => {
+  const response = await submitPatrolRecord({
+	  type:'现场巡查记录',
+	  machine:'JY01',
+	  order:'2311114',
+	  yjno:'1',
+	  process:'45',
+	  no:'ZM00215',
+	  name:'吴鹏飞',
+	  remark:'',
+  });
+  console.log(response) 
+  if (response.code === 0) {
+	console.log(response) 
+  }
+}
+
+
 //日产量上报
 function onchanliang() {
 	 console.log(JTMC.split("#")[0]); // 通过value属性获取ref对象的值,然后再调用split方法
@@ -1556,6 +1801,8 @@ const ReportInfo = async () => {
   }
   // getTableData()
 }
+
+
 //日报表弹窗确定
 const chanliangenterDialog = async () => {
  SubmitDailyProduction()
@@ -1861,7 +2108,7 @@ const formData3= ref({
 // 自动化生成的字典(可能为空)以及字段
 const formData= ref({
 	工单编号:'',
-	印件号:'',
+	印件号:'',
 	工序名称:'',
 	产品名称:'',
 	sczl_bh1:'',
@@ -1885,6 +2132,10 @@ const formData= ref({
 	sczl_name9:'',
 	sczl_name10:'',
 	班组:'',
+	order:'',
+	yjno:'',
+	product_name:'',
+	gxmc:'',
 })
 const formDatasData= reactive([])
 
@@ -1960,6 +2211,10 @@ const multipleSelection = ref([])
 const handleSelectionChange = (val) => {
     multipleSelection.value = val
 }
+const zdtreeType = ref(false)
+const showsTable = (val,tab) => {
+	zdtreeType.value=true
+}
 
 // 删除行
 const deleteRow = (row) => {

Some files were not shown because too many files changed in this diff