Pārlūkot izejas kodu

部分功能优化

Lexie 1 gadu atpakaļ
vecāks
revīzija
2812f48ba5

+ 84 - 29
src/view/job/related/related.vue

@@ -28,7 +28,8 @@
 					<el-button type="primary" class="bt" icon="" @click="oncopy">组员复制</el-button>
 					<el-button type="primary" class="bt" icon="edit" @click="onrelevancy">关联工资设置</el-button>
 					<div style="margin-left: auto;">
-						<el-button type="primary" class="bt" icon="download" @click="exportExcel">导出到Excel</el-button>
+						<el-button type="primary" class="bt" icon="download" @click="exportExcel">导出到Excel(汇总)</el-button>
+						<el-button type="primary" class="bt" icon="download" @click="exportExcel2">导出到Excel(明细)</el-button>
 					</div>
 				</el-form-item>
             </el-form>
@@ -42,18 +43,15 @@
 				:show-overflow-tooltip="true" @row-click="ontable" 
 				@selection-change="handleSelectionChange" @row-dblclick="doubleClick">
               <!-- <el-table-column type="selection" width="55" /> -->
-			  <el-table-column align="left" sortable label="员工编号" prop="员工编号" width="105"/>
-              <el-table-column align="left" sortable label="员工姓名" prop="员工姓名" width="105"/>
-			  <el-table-column align="left" sortable label="职称职务" prop="职称职务" width="150"/>
-			  <el-table-column align="left" sortable label="所在部门" prop="所在部门" width="150"/>
-			  <el-table-column align="left" sortable label="日期" prop="日期" width="105"/>
-			  <el-table-column align="left" sortable label="关联系数" prop="关联系数" width="105"/>
-              <el-table-column align="left" sortable label="关联人数" prop="关联人数" width="105"/>
-              <el-table-column align="left" sortable label="关联计件工资" prop="关联计件工资" width="135"/>
-              <el-table-column align="left" sortable label="关联加班工资" prop="关联加班工资" width="135"/>
-			  <el-table-column align="left" sortable label="关联定额补差" prop="关联定额补差" width="135"/>
-              <el-table-column align="left" sortable label="关联计时工资" prop="关联计时工资" width="135"/>
-              <el-table-column align="left" sortable label="关联工资合计" prop="关联工资合计" width="135"/>
+			  <el-table-column
+			    v-for="column in tableCols1"
+			    :key="column.prop"
+			    :prop="column.prop"
+			    :label="column.label"
+			    :width="column.width"
+			    show-overflow-tooltip="true"
+			  				sortable
+			  /> 
             </el-table>
             <!-- 分页 -->
             <!-- <div class="gva-pagination">
@@ -75,18 +73,15 @@
 			  @selection-change="handleSelectionChange" 
 			  :show-overflow-tooltip="true" @row-dblclick="doubleClick">
 		      <el-table-column type="selection" width="55" />
-		  	  <el-table-column align="left" sortable label="日期" prop="日期" width="105"/>
-		      <el-table-column align="left" sortable label="员工编号" prop="员工编号" width="105"/>
-		      <el-table-column align="left" sortable label="员工姓名" prop="员工姓名" width="105"/>
-		      <el-table-column align="left" sortable label="职称职务" prop="职称职务" width="150"/>
-		      <el-table-column align="left" sortable label="所在部门" prop="所在部门" width="150"/>
-		      <el-table-column align="left" sortable label="被关联员工" prop="被关联员工" width="120"/>
-		      <el-table-column align="left" sortable label="被关联姓名" prop="被关联姓名" width="120"/>
-			  <el-table-column align="left" sortable label="权重" prop="权重" width="77"/>
-			  <el-table-column align="left" sortable label="计件工资" prop="计件工资" width="105"/>
-			  <el-table-column align="left" sortable label="加班工资" prop="加班工资" width="105"/>
-			  <el-table-column align="left" sortable label="定额补差" prop="定额补差" width="105"/>
-			  <el-table-column align="left" sortable label="计时工资" prop="计时工资" width="105"/>
+		  	  <el-table-column
+		  	    v-for="column in tableCols2"
+		  	    :key="column.prop"
+		  	    :prop="column.prop"
+		  	    :label="column.label"
+		  	    :width="column.width"
+		  	    show-overflow-tooltip="true"
+		  	  				sortable
+		  	  />
 		    </el-table>
 		    <!-- 分页 -->
 		    <!-- <div class="gva-pagination">
@@ -346,14 +341,41 @@ import { Search, Refresh, Download } from '@element-plus/icons-vue'
 import { ref, reactive, onMounted, onBeforeMount, nextTick } from 'vue'
 import { getPackingSideTable, getPackingTable } from '@/api/mes_api_gty/myapi'
 import { Value } from 'sass'
-import { Layout, LayoutContent, LayoutHeader, LayoutSider } from '@arco-design/web-vue'
+import { Layout, LayoutContent, LayoutHeader, LayoutSider } from '@arco-design/web-vue'
+import * as XLSX from "xlsx";
 import { useUserStore } from '@/pinia/modules/user'
 const userStore = useUserStore() 
 const sys_id='['+userStore.userInfo.userName+'/'+userStore.userInfo.nickName+']'
 defineOptions({
   name: '06-packingDocuments'
 })
-
+const tableCols1 = [
+  { label: '员工编号', prop: '员工编号', width: '105' },
+  { label: '员工姓名', prop: '员工姓名', width: '105' },
+  { label: '职称职务', prop: '职称职务', width: '120' },
+  { label: '所在部门', prop: '所在部门', width: '105' },
+  { label: '日期', prop: '日期', width: '105' },
+  { label: '关联系数', prop: '关联系数', width: '105' },
+  { label: '关联人数', prop: '关联人数', width: '135' },
+  { label: '关联计件工资', prop: '关联计件工资', width: '135' },
+  { label: '关联加班工资', prop: '关联加班工资', width: '135' },
+  { label: '关联定额补差', prop: '关联定额补差', width: '130' },
+  { label: '关联计时工资', prop: '关联计时工资', width: '130' },
+  { label: '关联工资合计', prop: '关联工资合计', width: '130' },
+]
+const tableCols2 = [
+  { label: '日期', prop: '日期', width: '105' },
+  { label: '员工编号', prop: '员工编号', width: '105' },
+  { label: '员工姓名', prop: '员工姓名', width: '150' },
+  { label: '所在部门', prop: '所在部门', width: '150' },
+  { label: '被关联员工', prop: '被关联员工', width: '125' },
+  { label: '被关联姓名', prop: '被关联姓名', width: '125' },
+  { label: '权重', prop: '权重', width: '105' },
+  { label: '计件工资', prop: '计件工资', width: '105' },
+  { label: '加班工资', prop: '加班工资', width: '105' },
+  { label: '定额补差', prop: '定额补差', width: '105' },
+  { label: '计时工资', prop: '计时工资', width: '105' },
+]
 // 侧边栏数据请求
 const treeData = reactive([]);
 
@@ -969,9 +991,42 @@ function doubleClick(row, column, event) {
 }
 
 // 导出excel
-function exportExcel() {
-  console.log('导出到excel');
+function exportExcel() {
+	if(tableData.length<1){
+		ElMessage({
+		  type: 'error',
+		  message: '请确认上方表格内是否存在内容'
+		})
+	}else{
+		exportExcelFile(tableData,tableCols1)
+	}
+ 
+}
+function exportExcel2() {
+ 
+ if(tableData2.length<1){
+ 	ElMessage({
+ 	  type: 'error',
+ 	  message: '请确认下方表格内是否存在内容'
+ 	})
+ }else{
+ 	exportExcelFile(tableData2,tableCols2)
+ }
 }
+const exportExcelFile = (tableData, tableCols) => {
+  const data = tableData.map(row => {
+    const rowData = {};
+    tableCols.forEach(column => {
+      rowData[column.label] = row[column.prop];
+    });
+    return rowData;
+  });
+
+  const worksheet = XLSX.utils.json_to_sheet(data);
+  const workbook = XLSX.utils.book_new();
+  XLSX.utils.book_append_sheet(workbook, worksheet, 'Sheet1');
+  XLSX.writeFile(workbook, 'exported_table.xlsx');
+};
 
 // 生命周期钩子
 onMounted(async () => {

+ 2 - 16
src/view/login/index.vue

@@ -309,26 +309,12 @@ const GetAddr = () => {
 // GetAddr();
 
 
-// const GetMachineMac = async (addr) => {
-// 	const response = await getMachineMac({ addr: '68-ED-A4-26-5F-37' });
-// 	console.log(response)
-// 	if (response.code === 0) {
-// 		cosole.log(response.data['设备编号'])
-// 		// userStore.LoginIn2({
-// 		//   username: response.data['设备编号'],
-// 		//   password: "123456",
-// 		//   captcha: "443188",
-// 		//   captchaId: "0FZfnUtAOrdXvTETkJRc",
-// 		//   openCaptcha: false,
-// 		// });
-// 	}
-// 	// console.log(loginFormData2)
-// }
+
 
 
 
 userStore.LoginIn2({
-	   username: "admin",
+	   username: "JY01#",
 	   password: "123456",
 	   captcha: "443188",
 	   captchaId: "0FZfnUtAOrdXvTETkJRc",

+ 16 - 2
src/view/performance/14-overTimePayVerification/index.vue

@@ -463,10 +463,24 @@ const onSearch = () => {
 
 // 导出excel
 function exportExcel() {
- exportExcelFile(tableData1,tableCols1)
+ if(tableData1.length<1){
+ 	ElMessage({
+ 	  type: 'error',
+ 	  message: '请确认上方表格内是否存在内容'
+ 	})
+ }else{
+ 	exportExcelFile(tableData1,tableCols1)
+ }
 }
 function exportExcel2() {
- exportExcelFile(tableData2,tableCols2)
+ if(tableData2.length<1){
+ 	ElMessage({
+ 	  type: 'error',
+ 	  message: '请确认上方表格内是否存在内容'
+ 	})
+ }else{
+ 	exportExcelFile(tableData2,tableCols2)
+ }
 }
 const exportExcelFile = (tableData, tableCols) => {
   const data = tableData.map(row => {

+ 27 - 26
src/view/performance/chejianbaogong.vue

@@ -28,7 +28,7 @@
         <el-main>
 
 
-<div class="gva-search-box" style="overflow: hidden; padding: 0; display: flex;"  >
+<div class="gva-search-box" style="overflow: hidden; padding: 0; display: flex;">
 			<div style="flex: 1; border: 0px magenta solid; margin: 0; padding: 0; margin-left: 20px; margin-top: 20px;">
 <!--						  <el-form-item label="工单编号" prop="name">-->
 <!--							<el-row :gutter="24">-->
@@ -42,8 +42,8 @@
 <!--						  </el-form-item>-->
               <el-row :gutter="20">
                 <el-col :span="6">
-                  <el-form-item label="机台号" prop="id" >
-                    <el-input v-model="formData.机台号" placeholder="" />
+                  <el-form-item label="机台号" prop="id">
+                    <el-input v-model="formData.机台号"  placeholder="" />
                   </el-form-item>
                 </el-col>
                 <el-col :span="6">
@@ -322,15 +322,15 @@
           </el-dialog>
 
           <el-dialog v-model="detailShow"
-		   fullscreen 
+		   fullscreen
 		   style="font-size: 50px;font-weight: bold;" lock-scroll :before-close="closeDetailShow" title="机台班组维护" destroy-on-close>
             <div>
 			<el-table ref="multipleTable"
                         :row-style="{ height: '20px' }"
-                        :cell-style="cellStyle"
+                        :cell-style="{ padding: '0px' }" :header-row-style="{ height: '20px' }"
                         :header-cell-style="{ padding: '0px' }"
                         :show-overflow-tooltip="true"
-                        :cell-class-name="bzryplanUsageCellClass"						
+                        :cell-class-name="bzryplanUsageCellClass"
                         @row-click="BZhandle"
                         style="width: 100%;height: 250px;margin-top: 0px;" border tooltip-effect="dark"
 						:data="bzData" row-key="ID" @selection-change="BZSelectionChange">
@@ -3304,19 +3304,20 @@ const RemodelGetTab = async() => {
   }
 }
 //设置机台状态
-const SetMachineStatus = async () => {
-  // const response = await setMachineStatus({
-	 //  machine:'JY03',
-	 //  gy_name:'02-胶印〖白、黑、哑油【预干】、NT光油',
-	 //  order:'2311114',
-	 //  yjno:'1',
-	 //  class:'ZM00545,ZM01351,ZM01170',
-	 //  status:'维修',
-	 //  production_now:'',
-	 //  production_all:'',
-  // });
-  // if (response.code === 0) {
-  // }
+const SetMachineStatus = async (row) => {
+   const response = await setMachineStatus({
+	 machine: JTMC.split("#")[0],
+	 order:row['工单编号|质量信息'].split('|')[0],
+	 yjno:'1',
+	 gy_name:row['工序名称'],
+	 sczl_bzdh:BZMC.value,
+	 status:'生产',
+	 production_now:0,
+	 production_all:0,
+	 class:'ZM00361,ZM00743,ZM01269,ZM02842'
+  });
+  if (response.code === 0) {
+  }
 }
 //提交巡查记录
 function onxuncha() {
@@ -3400,7 +3401,7 @@ const zhichengDialog = async () => {
 			item.result='不检测'
 			item.item=item.检验项目
 			item.instrument=item.检测方法
-			item.standard=item.相关标准
+			item.standard=''
 			delete item.notjc
 			delete item.zc
 			delete item.yc
@@ -3608,7 +3609,7 @@ const ReportInfo = async () => {
       上机时间:formData.value.上机时间,
       装版总时长:0,
       定额代号:formData.value.定额代号,
-      sczl_jtbh: JTMC,
+      sczl_jtbh: JTMC.split("#")[0],
       sczl_bzdh: classInfo.sczl_bzdh,
       sys_id: classInfo.sys_id,
       sys_rq: classInfo.sys_rq,
@@ -4493,7 +4494,8 @@ const yjupdateCompanyFunc = async(row) => {
 
 const setMachineTeams = async(row) => {
 	console.log(row.UniqId)
-    const res = await setMachineTeam({
+	 console.log(row)
+    const res = await setMachineTeam({		   
 			machine: JTMC.split("#")[0],
 			order:row['工单编号|质量信息'].split('|')[0],
 			yjno:row['印件资料'].split('-')[0],
@@ -4505,7 +4507,7 @@ const setMachineTeams = async(row) => {
 			team_id:formData.value.班组Id
 			})
     if (res.code === 0) {
-      EquipmentSchedulingEdits(row)
+      // EquipmentSchedulingEdits(row)
 	  MachineWorkOrderEdits(row)
       ElMessage({
 		        type: 'success',
@@ -4519,7 +4521,7 @@ const MachineWorkOrderEdits = async(row) => {
 			machine: JTMC,
 			})
     if (res.code === 0) {
-
+    SetMachineStatus(row)
     }
 }
 
@@ -4729,9 +4731,8 @@ const bzryplanUsageCellClass = ({row, column, rowIndex, columnIndex}) =>{
      background-color:white}
 	 .bt {
 	   height: 5vh;
-	   width: 15vh;
+	   width: 14vh;
 	   font-size:2vh;
-	   
 	 }
 	  .gva-table-box{
 	   font-size: 15px;

+ 24 - 12
src/view/performance/yuangongrigongzi.vue

@@ -376,18 +376,18 @@ const tableCols2 = [
   { label: '日期', prop: 'sczl_rq', width: '105' },
   { label: '工单编号', prop: 'sczl_gdbh', width: '105' },
   { label: '产品名称', prop: 'Gd_cpmc', width: '120' },
-  { label: '印件及工序', prop: 'sczl_type', width: '105' },
+  { label: '印件及工序', prop: 'sczl_type', width: '120' },
   { label: '机台编号', prop: 'sczl_jtbh', width: '105' },
-  { label: '班组车头产量', prop: '班组车头产量', width: '105' },
+  { label: '班组车头产量', prop: '班组车头产量', width: '135' },
   { label: '班组换算产量', prop: '班组换算产量', width: '135' },
   { label: '工序难度系数', prop: '工序难度系数', width: '135' },
-  { label: '个人计件工资', prop: '个人计件工资', width: '105' },
-  { label: '个人加班工资', prop: '个人加班工资', width: '105' },
+  { label: '个人计件工资', prop: '个人计件工资', width: '135' },
+  { label: '个人加班工资', prop: '个人加班工资', width: '135' },
   { label: '装版工时', prop: '装版工时', width: '120' },
   { label: '保养工时', prop: '保养工时', width: '105' },
   { label: '打样工时', prop: '打样工时', width: '105' },
-  { label: '异常停机工时', prop: '异常停机工时', width: '105' },
-  { label: '车头产量占用机时', prop: '车头产量占用机时', width: '135' },
+  { label: '异常停机工时', prop: '异常停机工时', width: '145' },
+  { label: '车头产量占用机时', prop: '车头产量占用机时', width: '175' },
   { label: '日定额', prop: '日定额', width: '135' },
   { label: '达标定额', prop: '达标定额', width: '105' },
   { label: '千件工价', prop: '千件工价', width: '105' },
@@ -744,13 +744,25 @@ function doubleClick(row, column, event) {
 
 // 导出excel
 
-function exportExcel() {
-
- exportExcelFile(tableData,tableCols1)
+function exportExcel() {
+ if(tableData.length<1){
+ 	ElMessage({
+ 	  type: 'error',
+ 	  message: '请确认上方表格内是否存在内容'
+ 	})
+ }else{
+ 	exportExcelFile(tableData,tableCols1)
+ }
 };
-function exportExcel2() {
-
- exportExcelFile(tableData2,tableCols2)
+function exportExcel2() {
+if(tableData2.length<1){
+		ElMessage({
+		  type: 'error',
+		  message: '请确认上方表格内是否存在内容'
+		})
+	}else{
+		exportExcelFile(tableData2,tableCols2)
+	}
 };
 const exportExcelFile = (tableData, tableCols) => {
   const data = tableData.map(row => {