zouling 2 долоо хоног өмнө
parent
commit
1b07433ac6

+ 19 - 0
gongchangdaping/src/api/record.js

@@ -0,0 +1,19 @@
+// import request from '../utils/axios/index'
+import request from '@/utils/request'
+// 查询陵园预约信息列表
+export function visualization(data) {
+  return request({
+    'url': '/visualization/qc/iqc/list',
+    'method': 'get',
+	'params':data
+  })
+}
+// 文字信息
+export function ipqc(data) {
+  return request({
+    'url': '/visualization/qc/ipqc/list',
+    'method': 'get',
+	'params':data
+  })
+}
+

+ 7 - 7
gongchangdaping/src/api/work.js

@@ -1,22 +1,22 @@
 // import request from '../utils/axios/index'
 import request from '@/utils/request'
-// 生产工单
-export function getReservatList(data) {
+// 生产工单列表
+export function getWorkorderList(data) {
   return request({
-    'url': '/system/reservat/list',
+    'url': '/visualization/pro/workorder/list',
     'method': 'get',
 	'params':data
   })
 }
-// 生产排产
-export function getNewsList(data) {
+// 生产排产:获取甘特图中需要显示的TASK
+export function getlistGanttTaskList(data) {
   return request({
-    'url': '/system/news/list',
+    'url': '/visualization/pro/task/listGanttTaskList',
     'method': 'get',
 	'params':data
   })
 }
-// 设备保养记录
+// 查询设备保养记录列表
 export function getMaintenrecordList(data) {
   return request({
     'url': '/visualization/dv/maintenrecord/list',

+ 1 - 1
gongchangdaping/src/settings.js

@@ -3,7 +3,7 @@ module.exports = {
   // urls: `http://114.99.127.243:52002`,
   // baseurls: `http://114.99.127.243:52002/prod-api`,
   // urls: `https://vue.ruoyi.vip`,
-  urls: `http://10.90.90.201:8080`,
+  urls: `http://10.90.90.30:8080`,
    // baseurls: `https://vue.ruoyi.vip/prod-api`,
    // baseurls: `http://192.168.101.168:8089`,
 

+ 28 - 4
gongchangdaping/src/views/components/table.vue

@@ -11,21 +11,30 @@
       @scroll.passive="handleScroll"
       :style="'width: 100%;background: transparent;max-height:'+tableHeight"
     >
+	<el-table-column
+	      type="index"
+		  label="序号"
+		  align='center'
+	      width="10%">
+	    </el-table-column>
       <el-table-column :cell-style="{ whiteSpace: 'pre-line' }" v-for="(ite,idx) in columns" :key="idx" align='center' :prop="ite.prop" :label="ite.label"
       	:width="ite.width">
       	<template slot-scope="scope" >
-      	           <span v-if="ite.type&&ite.type=='katype'" :class="[scope.row.zt == '1'? 'btn btna' : scope.row.zt == '2'? 'btn btnb'  : '']"  >{{ statusFormat(scope.row.zt,statusOptions)}}</span>
+      	           <span v-if="ite.type&&ite.type=='katype'" :class="[scope.row.zt == 'FINISHED'? 'btn btna' : scope.row.zt == 'PREPARE'? 'btn btnb'  : '']"  >{{ statusFormat(scope.row.zt,statusOptions)}}</span>
 				   <div class="aimgs" v-else-if="ite.type&&ite.type=='img'">
 				   	<img v-if="scope.row[ite.prop]==1"  src="@/assets/images/photo/pic_sjfx_yc1.png" alt="" style="width: 75px;height: 75px;">
 				   	<img v-if="scope.row[ite.prop]==2"  src="@/assets/images/photo/pic_sjfx_yc2.png" alt="" style="width: 75px;height: 75px;">
 				   	<img v-if="scope.row[ite.prop]==3"  src="@/assets/images/photo/pic_sjfx_yc3.png" alt="" style="width: 75px;height: 75px;">
 				   	<img v-if="scope.row[ite.prop]==4"  src="@/assets/images/photo/pic_sjfx_yc4.png" alt="" style="width: 75px;height: 75px;">
-				   </div>
-				   	
+				   </div> 	
 				   	<div v-else-if="ite.type&&ite.type=='hh'">
 				   		<div>{{ scope.row[ite.prop]}}</div>
 				   		<div>{{ scope.row['time']}}</div>
 				   	</div>
+					
+					<!-- <div v-else-if="ite.prop=='xh'">
+						<div>{{index}}</div>
+					</div> -->
       			   <div v-else >{{ scope.row[ite.prop] }}</div>
       	  </template>
       </el-table-column>
@@ -77,6 +86,17 @@ export default {
       lastScrollTime: 0,
     }
   },
+  watch:{
+	  data:{
+		  handler(val){
+			  this.loadData();
+			  if(val&&val.length){
+				  this.startAutoScroll();
+			  }
+		  },
+		  deep:true
+	  }
+  },
   mounted() {
     this.loadData();
     this.startAutoScroll();
@@ -202,6 +222,9 @@ export default {
 ::v-deep  .el-table .current-row > td {
   background-color: transparent !important; /* 或者你想要的颜色 */
 }
+::v-deep {
+	.el-table__empty-block{width: 100% !important;}
+}
 ::v-deep .el-table--enable-row-hover .el-table__body tr:hover{
 	background-color: transparent !important; /* 或者你想要的颜色 */
 }
@@ -214,7 +237,8 @@ export default {
   overflow: hidden;
 }
 ::v-deep .el-table__header{width: 100% !important;height: 100%;}
-::v-deep .el-table__body{width: 100% !important;height: 100%;}
+// ::v-deep .el-table__body{width: 100% !important;height: 100%;}
+::v-deep .el-table__body{width: 100% !important;}
 ::v-deep .el-table .cell{padding: 0 2px !important;word-break: break-word;}
 .btn{min-width: 82px;display: inline-flex;align-items: center;justify-content: center;font-size: 15px;padding: 0 2px;box-sizing: border-box;height: 23px;color: #FFFFFF;border-radius: 12px;
 	&.btna{background: #009944;}

+ 34 - 38
gongchangdaping/src/views/index.vue

@@ -116,51 +116,22 @@ import pieCharts from "./components/piecharts.vue"
 import mixbarCharts from "./components/mixbarcharts.vue"
 import ycmixbarCharts from "./components/ycmixbarcharts.vue"
 import hbarCharts from "./components/hbarcharts.vue"
-import {getMaintenrecordList} from "@/api/work.js"
+import {getWorkorderList,getlistGanttTaskList,getMaintenrecordList,} from "@/api/work.js"
   export default {
 	components:{boxTable,pieCharts,mixbarCharts,ycmixbarCharts,hbarCharts},
     data() {
       return {
 		visibleRows:6,
-		dataList: [
-			{xh: '1',kh: 'ZC',nb: '001',sl: '6500',jq: '05-10',},
-			{xh: '2',kh: 'YTD',nb: '002',sl: '7000',jq: '05-18',},
-			{xh: '3',kh: 'YDIKYDIKYDIKYDIKYDIK',nb: '006',sl: '5000',jq: '05-19',},
-			{xh: '4',kh: 'CH',nb: '009',sl: '10000',jq: '05-24',},
-			{xh: '5',kh: 'KY',nb: '014',sl: '12000',jq: '05-05',},
-			{xh: '6',kh: 'GHJ',nb: '028',sl: '8000',jq: '06-10',},
-			{xh: '7',kh: 'JKN',nb: '029',sl: '6050',jq: '06-12',},
-			{xh: '8',kh: 'YH',nb: '032',sl: '9100',jq: '05-20',},
-			{xh: '9',kh: 'WML',nb: '032',sl: '9100',jq: '05-20',},
-			{xh: '10',kh: 'ZYB',nb: '032',sl: '9100',jq: '05-20',},
-		],
-		columna:[{label:'序号',prop:'xh',width:"15%"},{label:'客户',prop:'kh',width:"20%"},{label:'内编',prop:'nb',width:"20&"},{label:'数量',prop:'sl',width:"20%"},{label:'交期',prop:'jq',width:"20%"},],
+		dataList: [],
+		columna:[{label:'客户',prop:'clientName',width:"20%"},{label:'内编',prop:'productCode',width:"20%"},{label:'数量',prop:'quantity',width:"20%"},{label:'交期',prop:'requestDate',width:"20%"},],
 		
 		visibleRowsb:9,
-		dataListb: [
-			{xh: '1',kh: 'ZC',nb: '001',xb:'2',sl: '6500',wcl:"90%",jq: '05-10',},
-			{xh: '2',kh: 'YTD',nb: '002',xb:'4',sl: '7000',wcl:"80%",jq: '05-18',},
-			{xh: '3',kh: 'YDIK',nb: '006',xb:'5',sl: '5000',wcl:"90%",jq: '05-19',},
-			{xh: '4',kh: 'CH',nb: '009',xb:'2',sl: '10000',wcl:"80%",jq: '05-24',},
-			{xh: '5',kh: 'KY',nb: '014',xb:'1',sl: '12000',wcl:"90%",jq: '06-05',},
-			{xh: '6',kh: 'GHJ',nb: '028',xb:'3',sl: '8000',wcl:"80%",jq: '06-10',},
-			{xh: '7',kh: 'JKN',nb: '029',xb:'4',sl: '6050',wcl:"90%",jq: '05-12',},
-			{xh: '8',kh: 'YH',nb: '032',xb:'5',sl: '9100',wcl:"90%",jq: '05-20',},
-			{xh: '9',kh: 'WML',nb: '032',xb:'2',sl: '9100',wcl:"80%",jq: '06-05',},
-			{xh: '10',kh: 'ZYB',nb: '032',xb:'1',sl: '9100',wcl:"60%",jq: '06-10',},
-		],
-		columnb:[{label:'序号',prop:'xh',width:"10%"},{label:'客户',prop:'kh',width:"15%"},{label:'内编',prop:'nb',width:"15%"},{label:'线别',prop:'xb',width:"15%"},{label:'数量',prop:'sl',width:"15%"},{label:'完成率',prop:'wcl',width:"15%"},{label:'交期',prop:'jq',width:"15%"},],
+		dataListb: [],
+		columnb:[{label:'客户',prop:'clientName',width:"15%"},{label:'内编',prop:'productCode',width:"15%"},{label:'任务名称',prop:'text',width:"15%"},{label:'数量',prop:'quantity',width:"15%"},{label:'完成率',prop:'progress',width:"15%"},{label:'交期',prop:'requestDate',width:"15%"},],
 		visibleRowsc:4,
-		dataListc: [
-			{xh: '1',kh: '1#FCCL覆铜压合机',nb: 'PD-018',sl: '常规',wcl:"许雨林",zt: '1',},
-			{xh: '2',kh: '2#FCCL覆铜压合机',nb: 'PD-019',sl: '常规',wcl:"郑火青",zt: '1',},
-			{xh: '3',kh: '1#分切检查机',nb: 'PD-20',sl: '常规',wcl:"钱方云",zt: '1',},
-			{xh: '4',kh: '2#高精密烤箱',nb: 'PD-22',sl: '常规',wcl:"许雨林",zt: '2',},
-			{xh: '5',kh: '2#分切检查机',nb: 'PD-23',sl: '常规',wcl:"郑火青",zt: '1',},
-			{xh: '6',kh: '3#高精密烤箱',nb: 'PD-25',sl: '常规',wcl:"钱方云",zt: '2',},
-		],
-		statusOptionsc:[{dictValue:1,dictLabel:'运行中'},{dictValue:2,dictLabel:'维护中'}],
-		columnc:[{label:'序号',prop:'xh',width:"10%"},{label:'设备名称',prop:'kh',width:"25%"},{label:'设备编号',prop:'nb',width:"15%"},{label:'保养项目',prop:'sl',width:"10%"},{label:'负责人',prop:'wcl',width:"15%"},{label:'当前状态',prop:'zt',width:"15%",type:"katype"},],
+		dataListc: [],
+		statusOptionsc:[{dictValue:'PREPARE',dictLabel:'维修中'},{dictValue:'FINISHED',dictLabel:'完成'}],
+		columnc:[{label:'设备名称',prop:'machineryName',width:"25%"},{label:'设备编号',prop:'machineryCode',width:"15%"},{label:'保养项目',prop:'planName',width:"10%"},{label:'负责人',prop:'nickName',width:"15%"},{label:'当前状态',prop:'status',width:"15%",type:"katype"},],
 		
 		pieDataa:{data:[{value:4,name:'运行'},{value:0,name:'维护'},{value:0,name:'故障'},{value:4,name:'关机'}],name:"FCCL覆铜压合机",num:4},
 		pieDatab:{data:[{value:9,name:'运行'},{value:2,name:'维护'},{value:1,name:'故障'},{value:3,name:'关机'}],name:"高精密烤箱",num:9},
@@ -183,6 +154,8 @@ import {getMaintenrecordList} from "@/api/work.js"
 	  },
 	  created() {
 	  	this.getList()
+		this.getWorkorderList()
+		this.getlistGanttTaskList()
 	  },
     async mounted() {
 		clearInterval(this.timer);
@@ -204,6 +177,29 @@ import {getMaintenrecordList} from "@/api/work.js"
               this.timer = null; // 防止内存泄漏
             }
         },
+		getWorkorderList(){
+			var params={
+				pageNum:this.pageNum,
+				pageSize:this.pageSize
+			}
+			getWorkorderList(params).then(res=>{
+				if(res.code==200){
+					this.dataList=res.rows
+				}
+			})
+		},
+		getlistGanttTaskList(){
+			var params={
+				pageNum:this.pageNum,
+				pageSize:this.pageSize
+			}
+			getlistGanttTaskList(params).then(res=>{
+				if(res.code==200){
+					if(res.data&&res.data.data)
+					this.dataListb=res.data.data
+				}
+			})
+		},
 		getList(){
 			var params={
 				pageNum:this.pageNum,
@@ -211,7 +207,7 @@ import {getMaintenrecordList} from "@/api/work.js"
 			}
 			getMaintenrecordList(params).then(res=>{
 				if(res.code==200){
-					
+					this.dataListc=res.rows
 				}
 			})
 		}

+ 45 - 6
gongchangdaping/src/views/record.vue

@@ -71,6 +71,8 @@
 
 import boxTable from "./components/table.vue"
 import recordbarChart from "./components/recordbarChart.vue"
+import { visualization, ipqc, } from "@/api/record"
+
 export default {
 	components: {boxTable,recordbarChart},
   data() {
@@ -88,7 +90,7 @@ export default {
 			{xh: '菲马特',kh: '25x520',nb: 'OK ',sl: '1.509',wcl:"0.079/0.093",zt: 'OK',},
 			{xh: 'SKC',kh: '12.5x514',nb: 'OK ',sl: '1.156',wcl:"-0.096/-0.079",zt: 'OK',},
 		],                              
-		columna:[{label:'品名',prop:'xh',width:"10%"},{label:'规格',prop:'kh',width:"15%"},{label:'外观',prop:'nb',width:"10%",type:'hh'},{label:'剥离强度(kgf)',prop:'sl',width:"20%"},{label:'TD/MD(%)',prop:'wcl',width:"20%"},{label:'判定',prop:'zt',width:"10%"}],
+		columna:[{label:'品名',prop:'itemName',width:"10%"},{label:'规格',prop:'specification',width:"15%"},{label:'外观',prop:'appearance',width:"10%",},{label:'剥离强度(kgf)',prop:'peelStrength',width:"20%"},{label:'TD/MD(%)',prop:'TD',width:"20%",type:'td'},{label:'结果',prop:'zcheckResult',width:"10%"}],
 		dataListb: [
 			{xh: 'pwcl051 5y-505',kh: 'GD250519 A101',nb: '27',sl: '27',wcl:"1.056",zt: 'OK',},
 			{xh: 'pwcl051 5y-505',kh: 'GD250519 A101',nb: '26',sl: '26',wcl:"1.086",zt: 'OK',},
@@ -102,7 +104,7 @@ export default {
 			{xh: 'pwcl051 5y-505',kh: 'GD250519 A101',nb: '26',sl: '26',wcl:"1.185",zt: 'OK',},
 			{xh: 'pwcl051 5y-505',kh: 'GD250519 A101',nb: '28',sl: '28',wcl:"2.096",zt: 'OK',},
 		],   					                           
-		columnb:[{label:'型号',prop:'xh',width:"12%"},{label:'批号',prop:'kh',width:"15%"},{label:'厚度(μm)',prop:'nb',width:"13%",type:'hh'},{label:'溢胶量(mm)',prop:'sl',width:"20%"},{label:'剥离强度(kgf)',prop:'wcl',width:"20%"},{label:'判定',prop:'zt',width:"10%"}],
+		columnb:[{label:'型号',prop:'specification',width:"12%"},{label:'批号',prop:'itemBatchCode',width:"15%"},{label:'厚度(μm)',prop:'thickness',width:"13%",},{label:'溢胶量(mm)',prop:'excessGlueVolume',width:"20%"},{label:'剥离强度(kgf)',prop:'peelStrength',width:"20%"},{label:'结果',prop:'checkResult',width:"10%"}],
 		
 		dataListc: [
 			{xh: '1#FCCL覆铜压合机',kh: '1.5',nb: '7.3',sl: '90/111/128/150/160',wcl:"12",zt: '17.8',tf: '8',},
@@ -117,7 +119,7 @@ export default {
 			{xh: '2#FCCL覆铜压合机',kh: '1.7',nb: '7.5 ',sl: '95/111/129/150/160',wcl:"12",zt: '17.9',tf: '8',},
 			{xh: '1#FCCL覆铜压合机',kh: '1.9',nb: '7.4 ',sl: '94/111/126/150/161',wcl:"12",zt: '18.0',tf: '8',},
 		],   						                            
-		columnc:[{label:'机台号',prop:'xh',width:"15%"},{label:'1放',prop:'kh',width:"10%"},{label:'泵速',prop:'nb',width:"10%",type:'hh'},{label:'隧道炉温度',prop:'sl',width:"20%"},{label:'压合张力',prop:'wcl',width:"20%"},{label:'线速',prop:'zt',width:"10%"},{label:'2放',prop:'tf',width:"10%"}],
+		columnc:[{label:'机台号',prop:'workstationName',width:"15%"},{label:'1放',prop:'release1',width:"10%"},{label:'泵速',prop:'pumpSpeed',width:"10%",},{label:'隧道炉温度',prop:'tunnelFurnaceTemperature',width:"20%"},{label:'压合张力',prop:'compressionTension',width:"20%"},{label:'线速',prop:'wireSpeed',width:"10%"},{label:'2放',prop:'release2',width:"10%"}],
 		
 		dataListd: [
 			{xh: 'pwcl051 5y-505',kh: 'GD250519 A101',nb: '27',sl: '0.0566',wcl:"1.056",zt: '0.033/0.045',pd: 'OK',},
@@ -131,13 +133,18 @@ export default {
 			{xh: 'pwcl051 5y-505',kh: 'GD250519 A101',nb: '26',sl: '0.0689',wcl:"1.158",zt: '0.031/0.042',pd: 'OK',},
 			{xh: 'pwcl051 5y-505',kh: 'GD250519 A101',nb: '27',sl: '0.0535',wcl:"1.509",zt: '0',pd: 'OK',},
 		],                              
-		columnd:[{label:'型号',prop:'xh',width:"10%"},{label:'批号',prop:'kh',width:"12%"},{label:'厚度(μm)',prop:'nb',width:"15%",type:'hh'},{label:'溢胶量(mm)',prop:'sl',width:"20%"},{label:'剥离强度(kgf)',prop:'wcl',width:"18%"},{label:'TD/MD',prop:'zt',width:"15%"},{label:'判定',prop:'pd',width:"8%"}],
+		columnd:[{label:'型号',prop:'specification',width:"10%"},{label:'批号',prop:'itemBatchCode',width:"12%"},{label:'厚度(μm)',prop:'thickness',width:"15%",},{label:'溢胶量(mm)',prop:'excessGlueVolume',width:"20%"},{label:'剥离强度(kgf)',prop:'peelStrength',width:"18%"},{label:'TD/MD',prop:'TD',width:"15%",type:'td'},{label:'结果',prop:'checkResult',width:"8%"}],
 		
 		rbarDataa:{data:['黑点','杂质','色差','取样','接头','皱痕','刮痕','缺胶','拉线','制程异常','原料异常','设备异常 ',],bara:[110,135,88,91,50,98,26,30,80,26,53,46],},
 		steplist:[{time:'2025-05-10 17:03',tit:'已到达深圳,正在配送...'},{time:'2025-05-10 06:03',tit:'已到达惠州,发往深圳'},{time:'2025-05-09 14:03',tit:'已到达赣州,发往惠州'},{time:'2025-05-08 17:03',tit:'南昌市 离开处理中心,发往赣州'},]
 	};
   },
- 
+  created() {
+  	this.getList()
+	this.getListFPQC()
+	this.getListPPQC()
+	this.getListFQC()
+  },
   mounted(){
 	  
   },
@@ -148,7 +155,30 @@ export default {
    
   },
   methods:{
-	
+	/** 查询原料列表 */
+	getList() {
+	  visualization().then(response => {
+	    this.dataLista   = response.rows;
+	  });
+	},
+	getListFPQC() {
+		let sngsle ={ipqcType:'FPQC'}
+	  ipqc(sngsle).then(response => {
+	    this.dataListb   = response.rows;
+	  });
+	},
+	getListPPQC() {
+		let sngsle ={ipqcType:'PPQC'}
+	  ipqc(sngsle).then(response => {
+	    this.dataListc   = response.rows;
+	  });
+	},
+	getListFQC() {
+		let sngsle ={ipqcType:'FQC'}
+	  ipqc(sngsle).then(response => {
+	    this.dataListd   = response.rows;
+	  });
+	},
   }
 };
 </script>
@@ -195,5 +225,14 @@ export default {
 ::v-deep .el-pagination.is-background .el-pager li{min-width: 15px;border: 1px solid #07D2FF;background-color: transparent;height: 15px;width: 15px;font-size: 10px;line-height: 1;padding: 0;color: transparent !important;}
 ::v-deep .el-pagination.is-background .el-pager li:not(.disabled).active{background-color: #52FFFF;height: 15px;color: transparent !important;}
 // ::v-deep .el-icon-more{}
+::v-deep .el-table .cell {overflow: hidden;white-space: nowrap;text-overflow: ellipsis;padding: 0 2px !important;word-break: break-all;}
+::v-deep .el-table .cell div{ overflow:hidden;
+  text-overflow: ellipsis;
+  -webkit-line-clamp: 2;
+  display: -webkit-box;
+  -webkit-box-orient: vertical;padding: 0 2px !important;}
+.over{overflow: hidden;white-space: nowrap;text-overflow: ellipsis;}
+.overtwo{word-break: break-all;text-overflow: ellipsis;overflow: hidden;display: -webkit-box;-webkit-line-clamp: 2;-webkit-box-orient: vertical;white-space: normal;}
+
 </style>