|
@@ -2,27 +2,45 @@
|
|
|
<div id="up4">
|
|
|
<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>
|
|
|
+ <span class="fs-xxxl text mx-2 fw-b">人员管理</span>
|
|
|
</div>
|
|
|
- <div class="up">
|
|
|
- <div class="d-flex pt-2 pl-2">
|
|
|
- <div class="d-flex">
|
|
|
- <span class="fs-xl text mx-2">不良现象TOP5</span>
|
|
|
- <dv-decoration-3 class="dv-dec-3" />
|
|
|
+ <div class="d-flex body-box">
|
|
|
+ <div class="item fs-xxxl">
|
|
|
+ <p class="ml-3 colorText fw-b ">拉长</p>
|
|
|
+ <div class="dv-dig-flop ml-1 mt-2 pl-3 ">
|
|
|
+ <div class = 'ai-center d-flex w-80' >
|
|
|
+ <p>{{ upitem.v_leadname }}</p>
|
|
|
+ </div>
|
|
|
+ <img :src="imgSrc1" class="responsive-img">
|
|
|
</div>
|
|
|
</div>
|
|
|
- <div >
|
|
|
- <BadChart />
|
|
|
+ <div class="item fs-xxxl">
|
|
|
+ <p class="ml-3 colorText fw-b ">出勤人数</p>
|
|
|
+ <div class="dv-dig-flop ml-1 mt-2 pl-3 responsive-img3 ai-center d-flex jc-center">
|
|
|
+ <p>{{ upitem.v_cqmancount }}人</p>
|
|
|
+<!-- <div class = 'ai-center d-flex'>
|
|
|
+ <p>{{ upitem.v_cqmancount }}人</p>
|
|
|
+ </div>-->
|
|
|
+<!-- <img src="../../assets/mancount.png" class="responsive-img2">-->
|
|
|
+ </div>
|
|
|
</div>
|
|
|
- </div>
|
|
|
- <div class="down">
|
|
|
- <div class="d-flex pt-2 pl-2">
|
|
|
- <div class="d-flex">
|
|
|
- <span class="fs-xl text mx-2">线体当日累计产量统计</span>
|
|
|
+ <div class="item fs-xxxl">
|
|
|
+ <p class="ml-3 fw-b fs-xl">IPQC</p>
|
|
|
+ <div class="dv-dig-flop ml-1 mt-2 pl-3 ">
|
|
|
+ <div class = 'ai-center d-flex w-80'>
|
|
|
+ <p>{{ upitem.v_quaname }}</p>
|
|
|
+ </div>
|
|
|
+ <img :src="imgSrc2" class="responsive-img">
|
|
|
</div>
|
|
|
</div>
|
|
|
- <div class="d-flex jc-center body-box">
|
|
|
- <dv-scroll-board class="dv-scr-board" :config="config" ref="scroll-board" />
|
|
|
+ <div class="item fs-xxxl">
|
|
|
+ <p class="ml-3 colorText fw-b ">PE</p>
|
|
|
+ <div class="dv-dig-flop ml-1 mt-2 pl-3 ">
|
|
|
+ <div class = 'ai-center d-flex w-80'>
|
|
|
+ <p>{{ upitem.v_engineername }}</p>
|
|
|
+ </div>
|
|
|
+ <img :src="imgSrc3" class="responsive-img"> <!--//imgSrc1-->
|
|
|
+ </div>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
@@ -30,78 +48,78 @@
|
|
|
</template>
|
|
|
|
|
|
<script>
|
|
|
-import BadChart from '@/components/zxshopechart/up4Chart'
|
|
|
-import {mapState} from "vuex";
|
|
|
+
|
|
|
export default {
|
|
|
- computed: {
|
|
|
- ...mapState(['factory']),
|
|
|
- },
|
|
|
data() {
|
|
|
return {
|
|
|
- config: {
|
|
|
- header: ['线别', '产出', '不良','良率%','计划数','达成率%'],
|
|
|
- data: [],
|
|
|
- rowNum: 5, //表格行数
|
|
|
- headerHeight: 35,
|
|
|
- headerBGC: '#0f1325', //表头
|
|
|
- oddRowBGC: '#0f1325', //奇数行
|
|
|
- evenRowBGC: '#171c33', //偶数行
|
|
|
- columnWidth: [120,110,110,110,110,120],
|
|
|
- align: ['center']
|
|
|
- },
|
|
|
timing:null,
|
|
|
+ upitem:{},
|
|
|
+ imgSrc1:'',
|
|
|
+ imgSrc2:'',
|
|
|
+ imgSrc3:'',
|
|
|
}
|
|
|
},
|
|
|
- components: {
|
|
|
- BadChart
|
|
|
- },
|
|
|
+ components: {},
|
|
|
mounted() {
|
|
|
- this.refreshdata()
|
|
|
+ this.refreshdata();
|
|
|
},
|
|
|
beforeDestroy () {
|
|
|
clearInterval(this.timing)
|
|
|
},
|
|
|
methods: {
|
|
|
refreshdata() {
|
|
|
- this.getdata(); //获取-数据
|
|
|
+ this.settestdata(); //获取数据
|
|
|
this.timing = setInterval(() => {
|
|
|
- this.getdata(); //获取--数据
|
|
|
- }, 10000);
|
|
|
+ this.settestdata(); //获取-主题词
|
|
|
+ }, 30000);
|
|
|
},
|
|
|
-
|
|
|
- async getdata() {
|
|
|
- var caller = 'KB!UpLinePLANTOUTPUT';
|
|
|
- await this.$http.get("kanban/datalist.action?caller="+caller+"&_noc=1&page=1&pageSize=100", {
|
|
|
+ async settestdata() {
|
|
|
+ //人员管理
|
|
|
+ var caller = 'KB!LineManInfo';
|
|
|
+ await this.$http.get("kanban/datalist.action?caller="+caller+"&_noc=1&page=1&pageSize=100",{
|
|
|
params: {
|
|
|
- condition:"V_OUTLINE='"+sessionStorage.getItem('ul_code')+"'"
|
|
|
+ condition: "V_OUTLINE='"+sessionStorage.getItem('ul_code')+"'" ,
|
|
|
}
|
|
|
- })
|
|
|
- .then((result)=>{
|
|
|
- let dataList = JSON.parse(result.data.data);
|
|
|
- let resultList = new Array();
|
|
|
- for (let index = 0; index < dataList.length; index++) {
|
|
|
- const element = dataList[index];
|
|
|
- let item = new Array();
|
|
|
- item.push("<span class='fs-md'>"+ element.linecode +"</span>");
|
|
|
- item.push("<span class='colorGrass fs-md'>"+element.value+"</span>");
|
|
|
- item.push("<span class='colorGrass fs-md'>"+element.ngqty+"</span>");
|
|
|
- if(element.okrate<98) { //98%
|
|
|
- item.push("<span class='colorRed fs-md'>" + element.okrate + "</span>");
|
|
|
- }else {
|
|
|
- item.push("<span class='colorGrass fs-md'>" + element.okrate + "</span>");
|
|
|
- }
|
|
|
- item.push("<span class='colorGrass fs-md'>"+element.planqty+"</span>");
|
|
|
- item.push("<span class='colorGrass fs-md'>"+element.getrate+"</span>");
|
|
|
- resultList.push(item);
|
|
|
- }
|
|
|
- const scrollBoard = this.$refs['scroll-board'];
|
|
|
- //刷新数据
|
|
|
- scrollBoard.updateRows(resultList);
|
|
|
- },(result)=>{
|
|
|
- console.error(result)
|
|
|
+ }).then((result)=>{
|
|
|
+ let dataList = JSON.parse(result.data.data);
|
|
|
+ if(dataList.length>0) {
|
|
|
+ this.upitem = dataList[0];
|
|
|
+ if(null != this.upitem.v_leadimageurl && '' != this.upitem.v_leadimageurl ) {
|
|
|
+ this.fetchImage('imgSrc1',this.upitem.v_leadimageurl);
|
|
|
+ //this.imgSrc1 = this.$http.defaults.baseURL+"/kanban/download.action?path=D:/PROJECT2/uas-system/out/artifacts/postattach/U001/b2ebddde15d94de680dc6405540f7cb0.png&_noc=1";
|
|
|
}
|
|
|
- );
|
|
|
- }
|
|
|
+ if(null != this.upitem.v_quaimageurl && '' != this.upitem.v_quaimageurl) {
|
|
|
+ this.fetchImage('imgSrc2',this.upitem.v_quaimageurl);
|
|
|
+ }
|
|
|
+ if(null != this.upitem.v_engineerimageurl && '' != this.upitem.v_engineerimageurl) {
|
|
|
+ this.fetchImage('imgSrc3',this.upitem.v_engineerimageurl);
|
|
|
+ }
|
|
|
+ }else{
|
|
|
+ this.upitem ={},
|
|
|
+ this.imgSrc1 ='';
|
|
|
+ this.imgSrc2 ='';
|
|
|
+ this.imgSrc3 ='';
|
|
|
+ }
|
|
|
+ },(result)=>{
|
|
|
+ console.error(result)
|
|
|
+ }
|
|
|
+ );
|
|
|
+ },
|
|
|
+
|
|
|
+ async fetchImage(param,url) {
|
|
|
+ try {
|
|
|
+ // 假设你已经有了token,并且知道图片的URL
|
|
|
+ let response = await this.$httpImg.get("/kanban/download.action?path="+url+"&_noc=1");
|
|
|
+ if (response.status === 200) {
|
|
|
+ // 创建一个URL,并且使用这个URL作为img的src
|
|
|
+ this[param] = URL.createObjectURL(new Blob([response.data]));
|
|
|
+ }else{
|
|
|
+ this[param] = '';
|
|
|
+ }
|
|
|
+ } catch (error) {
|
|
|
+ console.error('Error fetching image:', error);
|
|
|
+ }
|
|
|
+ },
|
|
|
}
|
|
|
}
|
|
|
</script>
|
|
@@ -112,7 +130,7 @@ $box-width: 100%;
|
|
|
#up4 {
|
|
|
padding: 13px;
|
|
|
height: $box-height;
|
|
|
- font-size: 32px;
|
|
|
+ // font-size: 32px;
|
|
|
width: $box-width;
|
|
|
border-radius: 5px;
|
|
|
.bg-color-black {
|
|
@@ -120,25 +138,45 @@ $box-width: 100%;
|
|
|
border-radius: 10px;
|
|
|
padding: 5px;
|
|
|
}
|
|
|
- .dv-dec-3 {
|
|
|
- position: relative;
|
|
|
- width: 100px;
|
|
|
- height: 20px;
|
|
|
- top: -3px;
|
|
|
- }
|
|
|
- .up {
|
|
|
- height: 200px;
|
|
|
- .text {
|
|
|
- color: #FFE900;
|
|
|
- }
|
|
|
- }
|
|
|
- .down{
|
|
|
- height: 200px;
|
|
|
- ::v-deep .dv-scroll-board .header{
|
|
|
- font-size: 19px;
|
|
|
- }
|
|
|
- .dv-scroll-board {
|
|
|
- height: 200px;
|
|
|
+ .body-box {
|
|
|
+ display: flex;
|
|
|
+ flex-wrap: wrap;
|
|
|
+ margin-bottom: 7px;
|
|
|
+ .item {
|
|
|
+ border-radius: 6px;
|
|
|
+ padding-top: 8px;
|
|
|
+ margin-top: 8px;
|
|
|
+ width: 50%;
|
|
|
+ height: 175px;
|
|
|
+ .dv-dig-flop {
|
|
|
+ width: 100%;
|
|
|
+ // height: 30px;
|
|
|
+ // font-size: 20px;
|
|
|
+ color: #3de7c9;
|
|
|
+ display: flex;
|
|
|
+ // align-items: center;
|
|
|
+ }
|
|
|
+ .w-80{
|
|
|
+ width : 80px;
|
|
|
+ }
|
|
|
+ .responsive-img {
|
|
|
+ width: 150px; /* 或者指定宽度,如 300px */
|
|
|
+ height: 150px; /* 保持图片的宽高比 */
|
|
|
+ //display: block;
|
|
|
+ margin-left: 20px;
|
|
|
+ //margin-right: 0;
|
|
|
+ }
|
|
|
+ .responsive-img2 {
|
|
|
+ width: 70px; /* 或者指定宽度,如 300px */
|
|
|
+ height: 80px; /* 保持图片的宽高比 */
|
|
|
+ //display: block;
|
|
|
+ margin-left: 20px;
|
|
|
+ //margin-right: 0;
|
|
|
+ }
|
|
|
+ .responsive-img3{
|
|
|
+ width: 300px; /* 或者指定宽度,如 300px */
|
|
|
+ height: 150px;
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
|