| | |
| | | |
| | | <template> |
| | | <div class="home"> |
| | | <!-- --> |
| | | <template v-if="Object.keys(taskData).length > 0 && taskData.Procedure.ID"> |
| | | <div class="left"> |
| | | <p class="title"> |
| | |
| | | <el-progress |
| | | define-back-color="#133EAF" |
| | | color="#09E5ED" |
| | | text-color="#fff" |
| | | :text-inside="true" |
| | | :stroke-width="30" |
| | | :percentage="finishPercent" |
| | | :percentage="taskData.Order?parseInt(finishNumber/taskData.Order.amount*100):0" |
| | | ></el-progress> |
| | | </el-descriptions-item> |
| | | <!-- <el-descriptions-item label="合格率" style="width: 100%"> |
| | | <el-progress |
| | | define-back-color="#007101" |
| | | color="#00CC66" |
| | | text-color="#fff" |
| | | :text-inside="true" |
| | | :stroke-width="30" |
| | | :percentage="passrate" |
| | |
| | | </div> |
| | | <div class="card_top-3"> |
| | | <span class="card-top-r-t" |
| | | >完成进度:{{ finishPercent || 0 }}</span |
| | | >完成进度:{{ taskData.Order?parseInt(finishNumber/taskData.Order.amount*100):0}}</span |
| | | > |
| | | <span class="card-top-r-b"> |
| | | <el-progress |
| | | define-back-color="#133EAF" |
| | | color="#09E5ED" |
| | | text-color="#fff" |
| | | :text-inside="true" |
| | | :stroke-width="10" |
| | | :percentage="finishPercent" |
| | | :percentage="taskData.Order?parseInt(finishNumber/taskData.Order.amount*100):0" |
| | | :show-text="false" |
| | | ></el-progress> |
| | | </span> |
| | |
| | | </span> |
| | | </div> |
| | | <div class="right-top-m-btn"> |
| | | <el-button type="primary" @click="controlClick"> 控制</el-button> |
| | | <!-- <el-button type="primary" @click="controlClick"> 控制</el-button> --> |
| | | </div> |
| | | <div class="right_dutyLst"> |
| | | <div class="right-small-title">当前值班</div> |
| | |
| | | </div> |
| | | </div> |
| | | </template> |
| | | <!-- --> |
| | | <template v-else> |
| | | <div class="home-img-box"> |
| | | <div class="bg-title"> |
| | |
| | | <img src="../../public/yuan.png" /> |
| | | <div class="btn-img"> |
| | | <div class="font_size_16" style="line-height: 5; margin-top: 18%"> |
| | | 暂无任务,休息一下吧... |
| | | <span v-if="showCountDown">距离任务开始时间:{{countDownHour}}时 {{countDownMinute}}分</span> |
| | | <span v-else>暂无任务,休息一下吧...</span> |
| | | </div> |
| | | <el-button type="primary" @click="reloadPage">刷新任务</el-button> |
| | | </div> |
| | |
| | | </div> |
| | | </template> |
| | | <!-- 控制的弹框 --> |
| | | <AddControl ref="control" :id="taskData.Procedure.ID" /> |
| | | <AddControl ref="control" :Arr="Arr" /> |
| | | <!-- 控制的弹框 --> |
| | | <AddIssue ref="control" :Arr="Arr" :taskData="taskData" :Order="taskData.Order" @getSetProductNumber="getTaskInfo" /> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | |
| | | import { |
| | | getTaskInfo, |
| | | finishTask, |
| | |
| | | saveMiniDict, |
| | | startTask, |
| | | getProgress, |
| | | countdown, |
| | | } from "@/api/home/index"; // 产线 |
| | | import Card from "@/components/Card.vue"; |
| | | import Knowledge from "../components/Knowledge.vue"; |
| | | import AddControl from "../components/AddControl.vue"; |
| | | import AddIssue from "../components/AddIssue.vue"; |
| | | export default { |
| | | components: { |
| | | Card, |
| | | Knowledge, |
| | | AddControl, |
| | | AddIssue, |
| | | }, |
| | | data() { |
| | | return { |
| | |
| | | passrate: 30, //合格率 |
| | | production: 25, //生产中 |
| | | finishNumber: 0, |
| | | finishPercent: 0, |
| | | formatTime2:'', |
| | | formatTime3:'', |
| | | // 右侧完成 |
| | |
| | | }, |
| | | }, |
| | | }, |
| | | totalNumber:0, |
| | | showCountDown:false, |
| | | countDownHour:0, |
| | | countDownMinute:0, |
| | | Arr:[], |
| | | }; |
| | | }, |
| | | mounted() { |
| | |
| | | // this.passrate = this.getRandomNumber(1, 100); |
| | | // this.production = this.getRandomNumber(1, 100); |
| | | // }, 3000); |
| | | this.getDate3() |
| | | this.getDate2() |
| | | setInterval(()=>{ |
| | | this.getDate3() |
| | | this.getDate2() |
| | | },5000) |
| | | this.getTaskInfo(); |
| | | setInterval(() => { |
| | | this.getProgressInfo(); |
| | | }, 60000); |
| | | }, |
| | | |
| | | methods: { |
| | | |
| | | reloadPage() { |
| | | // window.location.reload(); |
| | | this.getTaskInfo(); |
| | | }, |
| | | getcountdown(){ |
| | | countdown().then((res) => { |
| | | if (res.code == 200) { |
| | | this.showCountDown=res.data.ShowCountDown?res.data.ShowCountDown:false; |
| | | this.countDownHour=res.data.CountDownHour?res.data.CountDownHour:0 |
| | | this.countDownMinute=res.data.CountDownMinute?res.data.CountDownMinute:0 |
| | | } |
| | | }); |
| | | }, |
| | | getProgressInfo() { |
| | | getProgress().then((res) => { |
| | | if (res.code == 200) { |
| | | this.finishNumber = res.data.finishNumber ? res.data.finishNumber : 0; |
| | | this.finishPercent = res.data.finishPercent |
| | | ? res.data.finishPercent |
| | | : 0; |
| | | |
| | | } |
| | | }); |
| | | }, |
| | |
| | | ...this.taskData.Procedure.procedure, |
| | | }, |
| | | ]); |
| | | |
| | | |
| | | if (this.taskData.Procedure.ID) { |
| | | startTask({ id: this.taskData.Procedure.ID }).then((res) => { |
| | | if (res.code == 200) { |
| | |
| | | number: res.data.Number, |
| | | name: "工艺", |
| | | }); |
| | | this.Arr=res.data.Params?res.data.Params:[]; |
| | | } |
| | | }); |
| | | this.getProgressInfo(); |
| | | setInterval(() => { |
| | | this.getProgressInfo(); |
| | | }, 6000); |
| | | } |
| | | console.log(this.procedureList, "===1111procedureList"); |
| | | // setTimeout(() => { |
| | |
| | | // this.setInterCard('procedureList','cardBox2') |
| | | this.setInterCard("outputMaterials", "cardBox3"); |
| | | // }, 5000); |
| | | } |
| | | if(res.code!=200||!this.taskData.Procedure.ID){ |
| | | this.getcountdown(); |
| | | setInterval(() => { |
| | | this.getcountdown(); |
| | | }, 60000); |
| | | } |
| | | }); |
| | | }, |
| | |
| | | } |
| | | .right_dutyLst { |
| | | width: calc(100% - 20px); |
| | | height: 270px; |
| | | // height: 270px; |
| | | height: 310px; |
| | | border-radius: 4px; |
| | | line-height: 30px; |
| | | overflow: hidden; |