From a6c049ce564fe10a83b6f1759035a8c2803c6e18 Mon Sep 17 00:00:00 2001
From: haoxuan <haoxuan>
Date: 星期一, 25 九月 2023 15:37:12 +0800
Subject: [PATCH] 看板的 获取任务接口变更, 新任务获取变更,计划时间格式修改
---
src/views/visualization.vue | 195 ++++++++++++++++++++++++++++++------------------
src/api/home/index.js | 12 ++
src/components/AddIssue.vue | 32 +++++--
3 files changed, 154 insertions(+), 85 deletions(-)
diff --git a/src/api/home/index.js b/src/api/home/index.js
index c6eaf32..37cbcae 100644
--- a/src/api/home/index.js
+++ b/src/api/home/index.js
@@ -67,10 +67,10 @@
});
};
// 璁剧疆plc
-//鑾峰彇浠诲姟
+//鑾峰彇浠诲姟?page= +data.page+'&pageSize='+data.pageSize
export const getTaskInfo = (data) => {
return request({
- url: "/v1/task/get?page="+data.page+'&pageSize='+data.pageSize,
+ url: "/v1/task/get",
method: "get",
data,
});
@@ -113,5 +113,13 @@
data,
});
};
+//鑾峰彇鏈换鍔�
+export const getTaskUnStarted = (data) => {
+ return request({
+ url: "/v1/task/get/unStarted?page="+data.page+'&pageSize='+data.pageSize,
+ method: "get",
+ data,
+ });
+};
diff --git a/src/components/AddIssue.vue b/src/components/AddIssue.vue
index 41ab225..bbd2bfa 100644
--- a/src/components/AddIssue.vue
+++ b/src/components/AddIssue.vue
@@ -173,7 +173,8 @@
<img src="../../public/btn1.png" />
</div>
<div class="btn" v-if="showBtn == 1" @click="confirmClick1">
- <img src="../../public/confirm1.png" />
+ <img v-if='taskData&&taskData.canStarted' src="../../public/confirm1.png" />
+ <img v-else src="../../public/confirm2.png" />
</div>
<div class="btn" v-if="showBtn == 2">
<img src="../../public/confirm2.png" />
@@ -222,6 +223,12 @@
return [];
},
},
+ safeProduce:{
+ type: [String],
+ default: () => {
+ return '';
+ },
+ }
},
data() {
return {
@@ -229,17 +236,19 @@
showBtn:1,
num: 0,
timer: null,
- message: "璇风‘璁ょ敓浜у畨鍏紒",
+ message: this.safeProduce,
messageError: "",
resParams: {},
isLoading:false,
};
},
mounted() {
+ this.message=this.safeProduce;
this.getInfo();
},
watch: {
taskData(val) {
+ this.message=this.safeProduce;
this.getInfo();
},
num() {
@@ -266,7 +275,7 @@
confirmClick1() {
this.num = 0;
this.showBtn = 2;
- (this.message = "璇风‘璁ょ敓浜у畨鍏紒"),
+ (this.message = this.safeProduce),
(this.timer = setInterval(() => {
this.num = this.num + 1;
}, 1000));
@@ -326,7 +335,7 @@
formatDate(value) {
if (value) {
const now = value ? new Date(value * 1000) : new Date();
- let time = this.getDateObj(now, "yyyy-MM-dd");
+ let time = this.getDateObj(now, "MM-dd hh:mm");
return time;
} else {
return "";
@@ -368,7 +377,7 @@
clearInterval(this.timer);
// this.num = 30;
// this.showBtn = 2;
- this.message = "璇风‘璁ょ敓浜у畨鍏紒";
+ this.message = this.safeProduce;
this.num = 0;
this.showBtn= 1
@@ -381,7 +390,7 @@
clearInterval(this.timer);
this.num = 30;
this.showBtn = 2;
- this.message = "璇风‘璁ょ敓浜у畨鍏紒";
+ this.message =this.safeProduce;
}
},
shutdown() {
@@ -593,6 +602,7 @@
.gif-box{
width:230px;
margin:0 auto;
+ margin-bottom:5px;
.gif-right{
width:210px;
font-size:14px;
@@ -605,7 +615,7 @@
}
}
.gif{
- width:56px;
+ width:55px;
vertical-align: middle;
float:left;
margin-right:20px;
@@ -613,13 +623,13 @@
width:100%;
}
.yuandian {
- width: 56px;
- height: 56px;
- display: inline-block;
+ width: 55px;
+ height: 55px;
+ float:left;
// background: #15d815;
background:red;
border-radius: 50%;
- margin-top:-5px;
+ // margin-top:-5px;
vertical-align: middle;
}
}
diff --git a/src/views/visualization.vue b/src/views/visualization.vue
index 9c48cd3..554b3db 100644
--- a/src/views/visualization.vue
+++ b/src/views/visualization.vue
@@ -5,26 +5,32 @@
<template v-if="Tasks&&Tasks.length>0">
<div class="left">
<p class="title">
- <span
- class="font set-title"
- style="float: left; margin-right: 15px;"
- @click="cutClick(1)"
- >
- <img style="width:32px;" v-if="activeName == 1" src="../../public/one-blue.png" />
- <img style="width:32px;" v-else src="../../public/one.png" />
- </span>
- <span class="font set-title" style="float: left;margin-right: 15px;" @click="cutClick(2)">
- <img style="width:32px;" v-if="activeName == 2" src="../../public/two-blue.png" />
- <img style="width:32px;" v-else src="../../public/two.png" />
- </span>
- <span
- class="font set-title"
- style="float: left; "
- @click="cutClick(3)"
- >
- <img style="width:32px;" v-if="activeName == 3" src="../../public/one-blue.png" />
- <img style="width:32px;" v-else src="../../public/one.png" />
- </span>
+ <template v-if="Number(ChannelAmount)>1">
+ <span
+ class="font set-title"
+ style="float: left; margin-right: 15px;"
+ @click="cutClick(1)"
+ >
+ <img style="width:32px;" v-if="activeName == 1" src="../../public/one-blue.png" />
+ <span v-else>
+ <img style="width:32px;" src="../../public/one.png" />
+ </span>
+ </span>
+ <span class="font set-title" style="float: left;margin-right: 15px;" @click="cutClick(2)">
+ <img style="width:32px;" v-if="activeName == 2" src="../../public/two-blue.png" />
+ <img style="width:32px;" v-else src="../../public/two.png" />
+ </span>
+ <span
+ class="font set-title"
+ style="float: left;"
+ @click="cutClick(3)"
+ >
+ <img style="width:32px;" v-if="activeName == 3" src="../../public/one-blue.png" />
+ <span v-else>
+ <img style="width:32px;" src="../../public/one.png" />
+ </span>
+ </span>
+ </template>
鐢熶骇绠$悊鐪嬫澘
<span
class="font el-icon-setting set-title"
@@ -416,8 +422,9 @@
</template>
<!-- 2涓换鍔$殑鏃跺�欙紝绗簩涓换鍔′负绌虹殑鏃跺�欐樉绀� -->
<template
- v-if="activeName == 2 &&(!taskData||Object.keys(taskData).length==0||(Tasks.length<2))"
+ v-if="activeName == 2 &&(!taskData||Object.keys(taskData).length==0)"
>
+
<el-empty description="鏆傛棤浠诲姟..."></el-empty>
</template>
</div>
@@ -535,6 +542,7 @@
</div>
</div>
</div>
+
</template>
<!-- 鎺у埗鐨勫脊妗� -->
<AddControl ref="control" :Arr="Arr" />
@@ -542,6 +550,7 @@
<AddIssue
ref="control"
:Arr="Arr"
+ :safeProduce="safeProduce"
:taskData="taskData"
:Order="taskData.Order"
@getSetProductNumber="getTaskInfo"
@@ -559,6 +568,7 @@
startTask,
getProgress,
countdown,
+ getTaskUnStarted,
} from "@/api/home/index"; // 浜х嚎
import Card from "@/components/Card.vue";
import Knowledge from "../components/Knowledge.vue";
@@ -582,6 +592,7 @@
// 鍙充晶瀹屾垚
finishShow:{},
workers:[],
+ TasksCopy:[],
Tasks: [
{
Order: {
@@ -673,7 +684,9 @@
TaskCount:0,
plcStatus:0,
isTipShow:false,
- isFinsh:0,
+ // isFinsh:0,
+ safeProduce:'',
+ ChannelAmount:0,
};
},
mounted() {
@@ -691,15 +704,16 @@
this.getTaskInfo();
},
watch:{
- isFinsh(){
- if(this.isFinsh==this.Tasks.length){
- this.getStartArr()
- }
- }
+ // isFinsh(){
+ // if(this.isFinsh==this.Tasks.length){
+ // this.getStartArr()
+ // }
+ // }
},
methods: {
taskClick(){
if(this.TaskCount>0){
+ this.getStartArr()
this.$refs.control.islook=true
}else{
this.$message.error('鐩墠娌℃湁浠诲姟锛�')
@@ -710,7 +724,13 @@
},
cutClick(val) {
this.activeName = val;
- this.getTaskInfo();
+ if(this.activeName==2){
+ this.Tasks=this.TasksCopy.slice(0,2)
+ }else if(this.activeName==1){
+ this.Tasks=this.TasksCopy.slice(0,1)
+ }else if(this.activeName==3){
+ this.Tasks=this.TasksCopy.slice(1)
+ }
},
reloadPage() {
// window.location.reload();
@@ -764,7 +784,7 @@
formatDate(value) {
if (value) {
const now = value ? new Date(value * 1000) : new Date();
- let time = this.getDateObj(now, "yyyy-MM-dd hh:mm:ss");
+ let time = this.getDateObj(now, "MM-dd hh:mm");
return time;
} else {
return "";
@@ -807,7 +827,7 @@
return d;
},
setInterCard(value, name, i) {
- if (this.Tasks[i].Procedure.procedure[value]!=null) {
+ if (this.TasksCopy[i].Procedure.procedure[value]!=null) {
let height = 200;
let num = 1;
if (this.$refs[name]) {
@@ -815,7 +835,7 @@
num = Math.floor(height / 80);
}
let inputMaterials = JSON.parse(
- JSON.stringify(this.Tasks[i].Procedure.procedure[value])
+ JSON.stringify(this.TasksCopy[i].Procedure.procedure[value])
);
let newDataList = [];
let current = 0;
@@ -836,7 +856,7 @@
}
}
}
- this.Tasks[i][value] = [...newDataList];
+ this.TasksCopy[i][value] = [...newDataList];
}
},
@@ -867,59 +887,67 @@
],
};
this.Tasks = [];
- getTaskInfo({ page: 1, pageSize: this.activeName }).then((res) => {
+ this.TasksCopy=[]
+ getTaskInfo({ }).then((res) => {
if (res.code == 200&&res.data) {
let arr=[]
if(res.data.Tasks){
arr.sort(function(a,b){
- return (a.Position - b.Position)
+ return (a.Channel - b.Channel)
})
}
- this.Tasks = res.data.Tasks ? res.data.Tasks : [];
-
+ this.activeName=1;
+ this.TasksCopy = res.data.Tasks ? res.data.Tasks : [];
+ this.safeProduce=res.data.Prompt.safeProduce?res.data.Prompt.safeProduce:''
+ this.ChannelAmount=res.data.ChannelAmount?res.data.ChannelAmount:1
+ // if(this.ChannelAmount>1 &&this.TasksCopy.length<2){
+ // this.TasksCopy.push(object)
+ // }
this.TaskCount=res.data.TaskCount?res.data.TaskCount:0
- if (this.Tasks.length == 0&&this.TaskCount==0) {
- if (this.activeName == 1) {
- this.Tasks.push(object);
+
+ if (this.TasksCopy.length == 0&&this.TaskCount==0) {
+ if (this.activeName == 1||this.activeName == 3) {
+ this.TasksCopy.push(object);
} else {
- this.Tasks.push(object);
- this.Tasks.push(object);
+ this.TasksCopy.push(object);
+ this.TasksCopy.push(object);
}
}
this.workers=res.data.workers?res.data.workers:[]
- for (let i in this.Tasks) {
- this.Tasks[i].procedureList = [];
- this.Tasks[i].inputMaterials = [];
- this.Tasks[i].outputMaterials = [];
+ for (let i in this.TasksCopy) {
+ this.TasksCopy[i].procedureList = [];
+ this.TasksCopy[i].inputMaterials = [];
+ this.TasksCopy[i].outputMaterials = [];
+ this.TasksCopy[i].finishNumber = 0;
this.finishShow['finishShow&'+i]=false
- this.Tasks[i].Procedure.procedure.workers = this.Tasks[i].Procedure
+ this.TasksCopy[i].Procedure.procedure.workers = this.TasksCopy[i].Procedure
.procedure.workers
- ? this.Tasks[i].Procedure.procedure.workers
+ ? this.TasksCopy[i].Procedure.procedure.workers
: [];
- this.Tasks[i].procedureList.push([
+ this.TasksCopy[i].procedureList.push([
{
name: "宸ュ簭",
- ...this.Tasks[i].Procedure.procedure,
+ ...this.TasksCopy[i].Procedure.procedure,
},
]);
- if (this.Tasks[i].Procedure.ID) {
- startTask({ id: this.Tasks[i].Procedure.ID }).then((res) => {
+ if (this.TasksCopy[i].Procedure.ID) {
+ startTask({ id: this.TasksCopy[i].Procedure.ID }).then((res) => {
if (res.code == 200) {
// res.data.number
- this.Tasks[i].procedureList[0].push({
+ this.TasksCopy[i].procedureList[0].push({
number: res.data.Number,
});
- this.Tasks[i].Arr=res.data.Params ? res.data.Params : []
- this.isFinsh=Number(i)+1
+ // this.TasksCopy[i].Arr=res.data.Params ? res.data.Params : []
+ // this.isFinsh=Number(i)+1
}
});
}
this.setInterCard("inputMaterials", "cardBox1&" + i, i);
this.setInterCard("outputMaterials", "cardBox3&" + i, i);
}
-
+ this.getStartArr()
this.getProgressInfo();
if (!this.procInfoTimer) {
this.procInfoTimer = setInterval(() => {
@@ -927,7 +955,7 @@
}, 3000);
}
}
- if (res.code != 200 || this.Tasks.length == 0) {
+ if (res.code != 200 || this.TasksCopy.length == 0) {
this.getcountdown();
// 鎺у埗閲嶆柊璇锋眰getTaskInfo, 鍙紑鍚竴涓畾鏃跺櫒
if (!this.cutdownTimer) {
@@ -936,30 +964,41 @@
}, 60000);
}
}
+ this.cutClick(1)
});
-
- // this.Tasks.push(object)
- // this.Tasks.push(object)
+ // this.TasksCopy.push(object)
+ // this.TasksCopy.push(object)
},
getStartArr(){
- for (let i in this.Tasks) {
- if (this.Tasks[i].Procedure.Status==1) {
- this.Arr = this.Tasks[i].Arr ?this.Tasks[i].Arr: [];
- this.taskData=this.Tasks[i];
- break;
+ // for (let i in this.TasksCopy) {
+ // if (this.TasksCopy[i].Procedure.Status==1) {
+ // this.Arr = this.TasksCopy[i].Arr ?this.TasksCopy[i].Arr: [];
+ // // this.taskData=this.TasksCopy[i];
+ // break;
+ // }
+ // }
+ getTaskUnStarted({page:1,pageSize:1}).then(res=>{
+ if(res.code==200){
+ this.taskData=res.data.Tasks?res.data.Tasks[0]:{};
+ if (this.taskData.Procedure.ID) {
+ startTask({ id: this.taskData.Procedure.ID }).then((res) => {
+ if (res.code == 200) {
+ this.Arr =res.data.Params ? res.data.Params : []
+ }
+ });
+ }
}
- }
+ })
},
getProgressInfo() {
- for (let i in this.Tasks){
- if(this.Tasks[i].Procedure.ID){
- this.Tasks[i].finishNumber = 0;
+ for (let i in this.TasksCopy){
+ if(this.TasksCopy[i].Procedure.ID){
getProgress({
- position: Number(i),
- procedureId: this.Tasks[i].Procedure.ID,
+ channel: Number(i),
+ procedureId: this.TasksCopy[i].Procedure.ID,
}).then((res) => {
if (res.code == 200) {
- this.Tasks[i].finishNumber = res.data.finishNumber
+ this.TasksCopy[i].finishNumber = res.data.finishNumber
? res.data.finishNumber
: 0;
this.plcStatus=res.data.plcStatus?res.data.plcStatus:0
@@ -979,7 +1018,19 @@
path: "/set",
});
},
-
+ // 鍙充晶鎺у埗
+ controlClick() {
+ if (this.Tasks.length > 0) {
+ for(let i in this.Tasks){
+ if(this.Tasks[i].Procedure.Status==1){
+ this.$refs.control.islook = true;
+ break;
+ }
+ }
+ } else {
+ this.$message.error("褰撳墠璁惧娌℃湁宸ュ簭锛�");
+ }
+ },
// 鍙充晶瀹屾垚
finishClick(i, taskData) {
if (Object.keys(taskData).length > 0 && taskData.Procedure.ID) {
--
Gitblit v1.8.0