|
|
@@ -5,14 +5,42 @@
|
|
|
<span class="fs-xxxl text mx-2 fw-b">来料检验数据</span>
|
|
|
</div>
|
|
|
<div class="jc-center body-box">
|
|
|
- <Up1Chart/>
|
|
|
+ <div class="body-box d-flex">
|
|
|
+ <div class="item d-flex jc-center flex-column">
|
|
|
+ <div class="location">
|
|
|
+ <div class="circle-hollow">
|
|
|
+ <div class="info">
|
|
|
+ <h2 class="pb-2">{{inQty}}</h2>
|
|
|
+ <p class="fs-xxl pt-2">
|
|
|
+ 已检验批次
|
|
|
+ </p>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="item d-flex jc-center flex-column">
|
|
|
+ <div class="circle-hollow">
|
|
|
+ <div class="info">
|
|
|
+ <h2 class="pb-2">{{outQty}}</h2>
|
|
|
+ <p class="fs-xxl pt-2">
|
|
|
+ 待检验批次
|
|
|
+ </p>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="d-flex pt-2 pl-2 jc-center pb-1 mb-1">
|
|
|
+ <span class="fs-xxxl text mx-2 fw-b">来料不良评审</span>
|
|
|
+ </div>
|
|
|
+ <div class="d-flex jc-center body-box">
|
|
|
+ <dv-scroll-board :config="config" ref="scroll-board" />
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
</template>
|
|
|
|
|
|
<script>
|
|
|
-import Up1Chart from "../../components/warehousechart/up1Chart";
|
|
|
import {mapState} from "vuex";
|
|
|
export default {
|
|
|
computed: {
|
|
|
@@ -21,24 +49,83 @@ export default {
|
|
|
},
|
|
|
data() {
|
|
|
return {
|
|
|
- timing:null,
|
|
|
+ config: {
|
|
|
+ header: ['供方编号','物料编号', '物料名称','批次数量','评审结果'],
|
|
|
+ data: [],
|
|
|
+ rowNum: 10, //表格行数
|
|
|
+ headerHeight: 40,
|
|
|
+ headerBGC: 'rgba(15,19,37,0.1)', //表头
|
|
|
+ oddRowBGC: 'rgba(15,19,37,0.1)', //奇数行
|
|
|
+ evenRowBGC: 'rgba(23,28,51,0.1)', //偶数行
|
|
|
+ columnWidth: [100,250, 100,100,100],
|
|
|
+ align: ['center','center','center'],
|
|
|
+
|
|
|
+ },
|
|
|
+ timing: null,
|
|
|
}
|
|
|
},
|
|
|
- components: {Up1Chart},
|
|
|
mounted() {
|
|
|
- // this.refreshdata();
|
|
|
+ this.refreshdata();
|
|
|
},
|
|
|
beforeDestroy () {
|
|
|
clearInterval(this.timing)
|
|
|
},
|
|
|
methods: {
|
|
|
refreshdata() {
|
|
|
- this.settestdata(); //获取数据
|
|
|
+ this.getdata(); //获取-数据
|
|
|
this.timing = setInterval(() => {
|
|
|
- this.settestdata(); //获取-主题词
|
|
|
+ this.getdata(); //获取--数据
|
|
|
}, 10000);
|
|
|
},
|
|
|
+ async getdata() {
|
|
|
+
|
|
|
+ this.finishQty = 0;
|
|
|
+ this.unfinishQty = 0;
|
|
|
+ this.inQty = 0;
|
|
|
+ this.outQty = 0;
|
|
|
|
|
|
+ //备料完成情况
|
|
|
+ caller = 'KB!WHCHECKDATA';
|
|
|
+ await this.$http.get("kanban/datalist.action?caller="+caller+"&_noc=1&page=1&pageSize=100",{
|
|
|
+ params: {
|
|
|
+ condition: "1=1"
|
|
|
+ }
|
|
|
+ }).then((result) => {
|
|
|
+ let dataList = JSON.parse(result.data.data);
|
|
|
+ if(dataList.length>0){
|
|
|
+ this.inQty = dataList[0].inqty;
|
|
|
+ this.outQty = dataList[0].outqty;
|
|
|
+ }
|
|
|
+ }, (result) => {
|
|
|
+ console.error(result)
|
|
|
+ }
|
|
|
+ );
|
|
|
+
|
|
|
+ var caller = 'KB!WHQCRECHECK';
|
|
|
+ await this.$http.get("kanban/datalist.action?caller=" + caller + "&_noc=1&page=1&pageSize=100", {
|
|
|
+ params: {
|
|
|
+ condition: "1=1" ,
|
|
|
+ }
|
|
|
+ }).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='colorGrass fs-xl'>" + element.ve_code + "</span>");
|
|
|
+ item.push("<span class='colorGrass fs-xl'>" + element.pr_code + "</span>");
|
|
|
+ item.push("<span class='colorGrass fs-xl'>" + element.pr_detail + "</span>");
|
|
|
+ item.push("<span class='colorGrass fs-xl'>" + element.qc_qty + "</span>");
|
|
|
+ item.push("<span class='colorGrass fs-xl'>" + element.qc_result + "</span>");
|
|
|
+ resultList.push(item);
|
|
|
+ }
|
|
|
+ this.config.data = resultList;
|
|
|
+ this.config = { ...this.config };
|
|
|
+ }, (result) => {
|
|
|
+ console.error(result)
|
|
|
+ }
|
|
|
+ );
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
</script>
|
|
|
@@ -61,5 +148,57 @@ $box-width: 100%;
|
|
|
padding-top: 25px;
|
|
|
}
|
|
|
}
|
|
|
+ .text {
|
|
|
+ color: #c3cbde;
|
|
|
+ //font-size: 15px;
|
|
|
+ }
|
|
|
+ .body-box {
|
|
|
+ width: $box-width;
|
|
|
+
|
|
|
+ ::v-deep .dv-scroll-board {
|
|
|
+ height: $box-height - 70px;
|
|
|
+ padding-top: 0px; // 添加这行减少顶部间距
|
|
|
+ .header {
|
|
|
+ font-size: 20px !important;
|
|
|
+ color: #c3cbde !important;
|
|
|
+ }
|
|
|
+
|
|
|
+ .rows {
|
|
|
+ .row-item {
|
|
|
+ font-size: 20px !important;
|
|
|
+ color: #c3cbde !important;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ .item {
|
|
|
+ width: 50%;
|
|
|
+ align-items: center;
|
|
|
+ /*.location{
|
|
|
+ position: absolute;
|
|
|
+ left: 20%;
|
|
|
+ }*/
|
|
|
+ .circle-hollow {
|
|
|
+ width: 170px;
|
|
|
+ height: 170px;
|
|
|
+ border: 3px solid #4ecdc4; /* 边框样式 */
|
|
|
+ border-radius: 50%;
|
|
|
+ background-color: transparent; /* 透明背景 */
|
|
|
+ display: flex;
|
|
|
+ justify-content: center;
|
|
|
+ align-items: center;
|
|
|
+ letter-spacing:2px;
|
|
|
+ flex-direction: column; /* 文字垂直排列 */
|
|
|
+ box-shadow: 0 4px 8px rgba(0,0,0,0.1); /* 阴影效果 */
|
|
|
+ .info{
|
|
|
+ text-align: center;
|
|
|
+ width: 140px;
|
|
|
+ p{
|
|
|
+ border-top: 1px solid #ddd;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
</style>
|