|
|
@@ -0,0 +1,583 @@
|
|
|
+<template>
|
|
|
+ <view>
|
|
|
+ <view class="title_box rx-bc">
|
|
|
+ <view class="name">报工信息2: ({{list.length || 0}})个</view>
|
|
|
+ </view>
|
|
|
+
|
|
|
+
|
|
|
+ <view class="material " v-for="(it, idx) in list" :key="idx">
|
|
|
+
|
|
|
+
|
|
|
+ <view class="content_table">
|
|
|
+
|
|
|
+ <view class="item rx-sc">
|
|
|
+ <view class="rx">
|
|
|
+ <view class="lable lable190 rx-cc ">
|
|
|
+
|
|
|
+ <view class="round">{{idx + 1}}</view>物料编码
|
|
|
+ </view>
|
|
|
+ <view class="content rx-sc">
|
|
|
+ <view>{{it.code}}</view>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+
|
|
|
+ <view class="item rx-sc">
|
|
|
+ <view class="rx">
|
|
|
+ <view class="lable lable150 rx-cc ">名称</view>
|
|
|
+ <view class="content rx-sc">
|
|
|
+ <view>{{it.name}}</view>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+
|
|
|
+ <view class="item rx-sc">
|
|
|
+ <view class="rx">
|
|
|
+ <view class="lable lable150 rx-cc ">型号</view>
|
|
|
+ <view class="content rx-sc">
|
|
|
+ <view>{{it.modelType}}</view>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ <view class="item rx-sc">
|
|
|
+ <view class="rx ww50 ">
|
|
|
+ <view class="lable lable150 rx-cc ">物料代号</view>
|
|
|
+ <view class="content content_num">
|
|
|
+ <view v-if='isDetails'>{{it.extInfo.materielCode }}</view>
|
|
|
+ <input class="uni-input" v-else v-model="it.extInfo.materielCode"></input>
|
|
|
+
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+
|
|
|
+ <view class="rx ww50">
|
|
|
+ <view class="lable lable150 rx-cc ">客户代号</view>
|
|
|
+ <view class="content content_num">
|
|
|
+ <view v-if='isDetails'>{{it.extInfo.clientCode }}</view>
|
|
|
+ <input class="uni-input" v-else v-model="it.extInfo.clientCode"></input>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+
|
|
|
+ </view>
|
|
|
+
|
|
|
+
|
|
|
+ <view class="item rx-sc">
|
|
|
+ <view class="rx ww50 ">
|
|
|
+ <view class="lable lable150 rx-cc ">刻码</view>
|
|
|
+ <view class="content content_num ">
|
|
|
+ <view v-if='isDetails'>{{it.extInfo.engrave }}</view>
|
|
|
+ <input class="uni-input" v-else v-model="it.extInfo.engrave"></input>
|
|
|
+
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+
|
|
|
+ <view class="rx ww50">
|
|
|
+ <view class="lable lable150 rx-cc ">位置</view>
|
|
|
+ <view class="content content_num">
|
|
|
+ <view v-if='isDetails'>{{it.extInfo.position }}</view>
|
|
|
+ <input class="uni-input" v-else v-model="it.extInfo.position"></input>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+
|
|
|
+ </view>
|
|
|
+
|
|
|
+ <view class="item rx-sc">
|
|
|
+ <view class="rx ww50">
|
|
|
+ <view class="lable lable150 rx-cc ">设备</view>
|
|
|
+ <view class="content ">
|
|
|
+ <view>{{it.deviceName || it.extInfo.deviceName}}</view>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+
|
|
|
+ <view class="rx ww50">
|
|
|
+ <view class="lable lable150 rx-cc ">炉次号</view>
|
|
|
+ <view class="content ">
|
|
|
+ <view>{{it.extInfo.heatNumber }}</view>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+
|
|
|
+ </view>
|
|
|
+
|
|
|
+ <view class="item rx-sc">
|
|
|
+
|
|
|
+ <view class="rx ww50">
|
|
|
+ <view class="lable lable150 rx-cc ">投料数量</view>
|
|
|
+ <view class="content content_num ">
|
|
|
+ <view style="color:#157A2C;">{{it.feedQuantity }}</view>
|
|
|
+ </view>
|
|
|
+
|
|
|
+ </view>
|
|
|
+
|
|
|
+ <view class="rx ww50">
|
|
|
+ <view class="lable lable150 rx-cc ">投料类型</view>
|
|
|
+ <view class="content rx-sc" style="color:#157A2C;">
|
|
|
+ <view>批量投料</view>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+
|
|
|
+ </view>
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ </view>
|
|
|
+
|
|
|
+
|
|
|
+ <view class="content_table2">
|
|
|
+ <view class="head row rx-sc">
|
|
|
+ <view class="item ww25" style="font-size: 20rpx;">
|
|
|
+ 合格品数量
|
|
|
+ </view>
|
|
|
+ <view class="item ww25">报工总重量/{{it.extInfo.weightUnit}} </view>
|
|
|
+
|
|
|
+ <view class="item ww30 rx-bc">
|
|
|
+ <text>处置</text>
|
|
|
+
|
|
|
+ </view>
|
|
|
+ <view class="item ww20 ">
|
|
|
+ 取样 </view>
|
|
|
+ </view>
|
|
|
+
|
|
|
+
|
|
|
+ <view class="table">
|
|
|
+ <view class="tr row rx-sc" v-for="(yy, yyIdx) in it.extInfo.batchReportInfo">
|
|
|
+ <view class="item ww25 content_num">
|
|
|
+ <view >{{yy.allFeedQuantity }}</view>
|
|
|
+ </view>
|
|
|
+ <view class="item ww25 content_num">
|
|
|
+ <view v-if='isDetails'>{{yy.allReportWeight }}</view>
|
|
|
+ <input class="uni-input" v-else v-model="yy.allReportWeight" type='digit'></input>
|
|
|
+ </view>
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ <view class="item ww30" v-if='isDetails'>
|
|
|
+ {{it.extInfo.taskName}}
|
|
|
+ </view>
|
|
|
+
|
|
|
+ <view class="item ww30" v-else>
|
|
|
+ <zxz-uni-data-select :localdata="stepsList" v-model="yy.taskId" dataValue='taskId'
|
|
|
+ format='{taskTypeName}' dataKey="taskId" filterable
|
|
|
+ @change=" e => yy.taskName = e.taskTypeName" :clear='false'></zxz-uni-data-select>
|
|
|
+ </view>
|
|
|
+
|
|
|
+ <view class="item ww20">
|
|
|
+
|
|
|
+ </view>
|
|
|
+
|
|
|
+
|
|
|
+ </view>
|
|
|
+
|
|
|
+ </view>
|
|
|
+
|
|
|
+ </view>
|
|
|
+
|
|
|
+
|
|
|
+ </view>
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ </view>
|
|
|
+</template>
|
|
|
+
|
|
|
+<script>
|
|
|
+ import {
|
|
|
+ getTaskInstanceList
|
|
|
+ } from '@/api/pda/workOrder.js'
|
|
|
+
|
|
|
+
|
|
|
+ export default {
|
|
|
+ props: {
|
|
|
+ item: {
|
|
|
+ type: Object,
|
|
|
+ default: () => {}
|
|
|
+ },
|
|
|
+
|
|
|
+ list: {
|
|
|
+ type: Array,
|
|
|
+ default: () => []
|
|
|
+ },
|
|
|
+
|
|
|
+ isDetails: {
|
|
|
+ type: Boolean,
|
|
|
+ default: false
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ },
|
|
|
+
|
|
|
+ watch: {
|
|
|
+
|
|
|
+ },
|
|
|
+
|
|
|
+
|
|
|
+ data() {
|
|
|
+ return {
|
|
|
+ taskTypeName: null,
|
|
|
+ isFirstTask: null,
|
|
|
+
|
|
|
+ stepsList: [],
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ }
|
|
|
+ },
|
|
|
+ created() {
|
|
|
+ this.taskTypeName = this.item.currentTaskDiagram.taskTypeName
|
|
|
+ this.isFirstTask = this.item.currentTaskDiagram.isFirstTask
|
|
|
+ this.getSteps()
|
|
|
+
|
|
|
+
|
|
|
+ },
|
|
|
+ methods: {
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ getSteps() {
|
|
|
+
|
|
|
+ getTaskInstanceList(this.item.workOrderId).then(res => {
|
|
|
+ this.stepsList = res
|
|
|
+ })
|
|
|
+ },
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ }
|
|
|
+ }
|
|
|
+</script>
|
|
|
+
|
|
|
+<style lang="scss" scoped>
|
|
|
+ .title_box {
|
|
|
+ margin-top: 20rpx;
|
|
|
+
|
|
|
+ .name {
|
|
|
+ font-size: 28rpx;
|
|
|
+ font-style: normal;
|
|
|
+ font-weight: 400;
|
|
|
+ color: $theme-color;
|
|
|
+ padding-left: 20rpx;
|
|
|
+
|
|
|
+ position: relative;
|
|
|
+
|
|
|
+ &:before {
|
|
|
+ position: absolute;
|
|
|
+ content: '';
|
|
|
+ left: 0rpx;
|
|
|
+ top: 0rpx;
|
|
|
+ bottom: 0rpx;
|
|
|
+ width: 4rpx;
|
|
|
+ height: 28rpx;
|
|
|
+ background: $theme-color;
|
|
|
+ margin: auto;
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ .btn_box {
|
|
|
+
|
|
|
+ .btn {
|
|
|
+ padding: 0 18rpx;
|
|
|
+ height: 50rpx;
|
|
|
+ line-height: 50rpx;
|
|
|
+ background: $theme-color;
|
|
|
+ font-size: 26rpx;
|
|
|
+ font-style: normal;
|
|
|
+ font-weight: 400;
|
|
|
+ font-size: 24rpx;
|
|
|
+ color: #fff;
|
|
|
+ border-radius: 4rpx;
|
|
|
+ margin-left: 24rpx;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ .material {
|
|
|
+ margin-top: 16rpx;
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ .content_table {
|
|
|
+ width: 100%;
|
|
|
+ border: 2rpx solid $border-color;
|
|
|
+
|
|
|
+ .item {
|
|
|
+ display: flex;
|
|
|
+ border-bottom: 2rpx solid $border-color;
|
|
|
+
|
|
|
+
|
|
|
+ .lable {
|
|
|
+ width: 132rpx;
|
|
|
+ text-align: center;
|
|
|
+ background-color: #F7F9FA;
|
|
|
+ font-size: 26rpx;
|
|
|
+ border-right: 2rpx solid $border-color;
|
|
|
+ flex-shrink: 0;
|
|
|
+ }
|
|
|
+
|
|
|
+ .lable150 {
|
|
|
+ width: 156rpx !important;
|
|
|
+ font-size: 24rpx;
|
|
|
+ }
|
|
|
+
|
|
|
+ .lable190 {
|
|
|
+ width: 190rpx !important;
|
|
|
+ font-size: 24rpx;
|
|
|
+ }
|
|
|
+
|
|
|
+ .ww80 {
|
|
|
+ width: 80rpx;
|
|
|
+ }
|
|
|
+
|
|
|
+ .content {
|
|
|
+ width: 500rpx;
|
|
|
+ min-height: 64rpx;
|
|
|
+ font-size: 28rpx;
|
|
|
+ line-height: 28rpx;
|
|
|
+ font-style: normal;
|
|
|
+ font-weight: 400;
|
|
|
+ padding: 18rpx 8rpx;
|
|
|
+ box-sizing: border-box;
|
|
|
+ word-wrap: break-word;
|
|
|
+ flex-grow: 1 !important;
|
|
|
+
|
|
|
+
|
|
|
+ .unit {
|
|
|
+ padding: 0 4rpx;
|
|
|
+ font-size: 24rpx;
|
|
|
+ color: #404446;
|
|
|
+ }
|
|
|
+
|
|
|
+ .penalize {
|
|
|
+ width: 160rpx;
|
|
|
+ line-height: 60rpx;
|
|
|
+ background: $theme-color;
|
|
|
+ font-size: 24rpx;
|
|
|
+ text-align: center;
|
|
|
+ color: #fff;
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ .content_H {
|
|
|
+ min-height: 92rpx;
|
|
|
+ }
|
|
|
+
|
|
|
+ .pd4 {
|
|
|
+ padding: 4rpx 8rpx;
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ &:last-child {
|
|
|
+ border-bottom: none;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ .ww55 {
|
|
|
+ width: 55%;
|
|
|
+ }
|
|
|
+
|
|
|
+ .ww50 {
|
|
|
+ width: 50%;
|
|
|
+ }
|
|
|
+
|
|
|
+ .ww45 {
|
|
|
+ width: 45%;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ .content_table2 {
|
|
|
+ width: 100%;
|
|
|
+ // margin-top: 16rpx;
|
|
|
+
|
|
|
+
|
|
|
+ .row {
|
|
|
+ width: 100%;
|
|
|
+
|
|
|
+
|
|
|
+ .item {
|
|
|
+
|
|
|
+ color: #404446;
|
|
|
+ font-size: 28rpx;
|
|
|
+ padding-left: 12rpx;
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ .color157 {
|
|
|
+ color: $theme-color;
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ .ww30 {
|
|
|
+ width: 30%;
|
|
|
+ }
|
|
|
+
|
|
|
+ .ww20 {
|
|
|
+ width: 20%;
|
|
|
+ }
|
|
|
+
|
|
|
+ .ww15 {
|
|
|
+ width: 15%;
|
|
|
+ }
|
|
|
+
|
|
|
+ .ww25 {
|
|
|
+ width: 25%;
|
|
|
+ }
|
|
|
+
|
|
|
+ .ww50 {
|
|
|
+ width: 50%;
|
|
|
+ }
|
|
|
+
|
|
|
+ .ww10 {
|
|
|
+ width: 10%;
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ .ww40 {
|
|
|
+ width: 40%;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ .head {
|
|
|
+ height: 64rpx;
|
|
|
+ background: #F7F9FA;
|
|
|
+ border-top: 2rpx solid #E3E5E5;
|
|
|
+ border-left: 2rpx solid #E3E5E5;
|
|
|
+
|
|
|
+ .item {
|
|
|
+ height: 64rpx;
|
|
|
+ line-height: 64rpx;
|
|
|
+ border-right: 2rpx solid #E3E5E5;
|
|
|
+ box-sizing: border-box;
|
|
|
+ font-size: 22rpx;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ .tr {
|
|
|
+ border-top: 2rpx solid #E3E5E5;
|
|
|
+ border-left: 2rpx solid #E3E5E5;
|
|
|
+
|
|
|
+
|
|
|
+ .item {
|
|
|
+ font-size: 24rpx;
|
|
|
+ min-height: 74rpx;
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+ border-right: 2rpx solid #E3E5E5;
|
|
|
+ box-sizing: border-box;
|
|
|
+ white-space: normal;
|
|
|
+ word-break: break-all;
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ &:last-child {
|
|
|
+ border-bottom: 2rpx solid #E3E5E5;
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ .numerate {
|
|
|
+ font-size: 22rpx;
|
|
|
+ color: $theme-color;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ .content_num {
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+ padding: 0 4rpx;
|
|
|
+
|
|
|
+ /deep/ .uni-input-input {
|
|
|
+ border: 2rpx solid #F0F8F2;
|
|
|
+ background: #F0F8F2;
|
|
|
+ color: $theme-color;
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ .round {
|
|
|
+ width: 32rpx;
|
|
|
+ height: 32rpx;
|
|
|
+ line-height: 32rpx;
|
|
|
+ text-align: center;
|
|
|
+ border-radius: 50%;
|
|
|
+ background: $theme-color;
|
|
|
+ font-size: 24rpx;
|
|
|
+ font-style: normal;
|
|
|
+ font-weight: 400;
|
|
|
+ color: #fff;
|
|
|
+ margin-right: 18rpx;
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ .popup_box {
|
|
|
+ width: 94vw;
|
|
|
+ padding: 16rpx 12rpx;
|
|
|
+ box-sizing: border-box;
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ .operate_box {
|
|
|
+ margin-top: 32rpx;
|
|
|
+ padding: 10rpx 100rpx;
|
|
|
+
|
|
|
+ /deep/ .u-button {
|
|
|
+ width: 160rpx;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ .formula_box {
|
|
|
+ font-size: 24rpx;
|
|
|
+ font-style: normal;
|
|
|
+ font-weight: 400;
|
|
|
+ margin-top: 12rpx;
|
|
|
+ }
|
|
|
+
|
|
|
+ .reportWeight {
|
|
|
+ font-size: 24rpx;
|
|
|
+ font-style: normal;
|
|
|
+ font-weight: 400;
|
|
|
+ margin-top: 30rpx;
|
|
|
+
|
|
|
+ text {
|
|
|
+ color: $theme-color;
|
|
|
+ }
|
|
|
+ }
|
|
|
+</style>
|