| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164 |
- <template>
- <div id="up2">
- <div class="bg-color-black">
- <div class="d-flex pt-1 pl-2 jc-center">
- <span class="fs-xxl text mx-2 fw-b">当日工序计划进度</span>
- </div>
- <div class="body-box">
- <div class="pt-2 " >
- <BarChart :bardata="bardata" />
- </div>
- <div class="d-flex jc-center fs-xl fw-b rate flex-column mt-2">
- <div class="mt-1">今日待完成紧急订单数:{{finishrate}}</div>
- <div class="mt-1">今日待完成正常订单数:{{finishrate2}}</div>
- <div class="mt-1">今日待完成订单数:{{finishrate3}}</div>
- <div class="mt-1">当日已完成比例:{{finishrate4}}% </div>
- <div class="mt-1">昨日已完成比例:{{finishrate5}}% </div>
- </div>
- </div>
- </div>
- </div>
- </template>
- <script>
- import BarChart from '@/components/prodlinechart/up2Chart'
- import {mapState} from "vuex";
- export default {
- computed: {
- ...mapState(['factory']),
- },
- data() {
- return {
- timing:null,
- bardata : {
- planData:[],
- actData:[],
- yAxis:[],
- max : 1000,
- },
- finishrate:0,
- finishrate2:0,
- finishrate3:0,
- finishrate4:0,
- finishrate5:0,
- }
- },
- components: {BarChart},
- mounted() {
- this.refreshdata();
- },
- beforeDestroy () {
- clearInterval(this.timing)
- },
- methods: {
- refreshdata() {
- this.setdata(); //获取数据
- this.timing = setInterval(() => {
- this.setdata(); //获取-主题词
- }, 10000);
- },
- async setdata() {
- //当前工单
- var caller = 'KB!LongLineLinePlan';
- var licode= sessionStorage.getItem('li_code');
- await this.$http.get("kanban/datalist.action?caller="+caller+"&_noc=1&page=1&pageSize=100",{
- params: {
- condition: " V_OUTLINE='"+licode+"'",
- }
- }).then((result)=>{
- let dataList = JSON.parse(result.data.data);
- if(dataList.length>0){
- let yAxis0 = new Array();
- let series0 = new Array();
- let series1 = new Array();
- var maxnumber=0;
- for (let index = 0; index < dataList.length; index++) {
- const element = dataList[index];
- yAxis0.push(element.v_wccode);
- //计划
- series0.push(element.v_planqty);
- if(element.v_planqty>maxnumber){
- maxnumber= element.v_planqty;
- }
- //实际
- series1.push(element.v_actqty);
- if(element.v_actqty>maxnumber){
- maxnumber= element.v_actqty;
- }
- }
- this.bardata.planData = series0;
- this.bardata.actData = series1;
- this.bardata.yAxis = yAxis0;
- this.bardata.max = Math.ceil(maxnumber*1.2);
- }
- },(result)=>{
- console.error(result)
- }
- );
- this.finishrate = 0;
- this.finishrate2 = 0;
- this.finishrate3 = 0;
- this.finishrate4 = 0;
- this.finishrate5 = 0;
- //比例,用的是总看板的达成比例caller,如果不一样,自行修改caller
- caller = 'KB!TOTALDayMakeRate';
- await this.$http.get("kanban/datalist.action?caller="+caller+"&_noc=1&page=1&pageSize=100",{
- params: {
- condition: "V_OUTLINE='"+licode+"'" ,
- }
- }).then((result) => {
- let dataList = JSON.parse(result.data.data);
- if(dataList.length>0){
- this.finishrate = dataList[0].finishrate;
- this.finishrate2 = dataList[0].finishrate2;
- this.finishrate3 = dataList[0].finishrate3;
- this.finishrate4 = dataList[0].finishrate4;
- this.finishrate5 = dataList[0].finishrate5;
- }
- }, (result) => {
- console.error(result)
- }
- );
- }
- }
- }
- </script>
- <style lang="scss" scoped>
- $box-height: 430px;
- $box-width: 100%;
- #up2 {
- padding: 13px;
- height: $box-height;
- font-size: 40px;
- width: $box-width;
- border-radius: 5px;
- .bg-color-black {
- height: $box-height - 25px;
- //width: $box-width - 10px;
- border-radius: 10px;
- padding: 5px ;
- }
- .text {
- color: #c3cbde;
- font-size: 25px;
- }
- .body-box {
- border-radius: 10px;
- overflow: hidden;
- .rate{
- justify-content: center; /* 水平居中 */
- align-items: center;
- div{
- font-size:22px;
- margin-top:8px;
- }
- }
- }
- }
- </style>
|