| | |
| | | <template> |
| | | <page-meta :page-style="(badShow||statistics) ?'overflow: hidden;': ''"/>
|
| | | <view>
|
| | | <view class="content">
|
| | | <view class="tips-label">当前任务需要质检;产出后,请耐心等待质检员检验,并根据检验结果调整产出数据后再报工。</view>
|
| | | <workOrderInfo :orederMessage="info" />
|
| | | <!-- <u-tabs :list="tab" lineColor="#305ED5" :activeStyle="{color:'#305ED5'}" lineWidth="50%" :itemStyle="{width: '50%', boxSizing: 'border-box', height: '88rpx'}" @click="click"></u-tabs> -->
|
| | |
| | | <!-- <img src="@/assets/icon/gongdan_ic_shoudong@2x.png" alt="" /> -->
|
| | | <!-- <img src="@/static/gongdan_ic_shoudong@2x.ong" alt="" /> -->
|
| | | <image src="../../static/gongdan_ic_shoudong@2x.png" class="img28" mode=""></image>
|
| | | <span class="cm">手动录入</span>
|
| | | <span class="cm">手动投料</span>
|
| | | </div>
|
| | | </div>
|
| | |
|
| | |
| | | <span> {{ item.materialName || '墙体砖' }}{{ item.procedureName ? ` | ${item.procedureName}` : ''
|
| | | }}</span>
|
| | | <div class="bg_list_item_num_item_wl_lx">
|
| | | <span class="green" v-if="item.qualityType == 0">合格 / </span>
|
| | | <span class="orange" v-if="item.qualityType == 1">不良 / </span>
|
| | | <span class="red" v-if="item.qualityType == 2">报废 / </span>
|
| | | <span class="green" v-if="item.qualityType == 0">合格<text class="c6" decode>{{split}}</text></span>
|
| | | <span class="orange" v-if="item.qualityType == 1">不良<text class="c6" decode>{{split}}</text></span>
|
| | | <span class="red" v-if="item.qualityType == 2">报废<text class="c6" decode>{{split}}</text></span>
|
| | | <span>{{ item.locationName }}</span>
|
| | | <span>{{ item.batch ? ` / ${item.batch}` : '' }}</span>
|
| | | <span v-if="item.batch"><text class="c6" decode>{{split}}</text>{{ item.batch }}</span>
|
| | | </div>
|
| | | </div>
|
| | | <div class="bg_list_item_num_item_sr">
|
| | |
| | | name: '点检'
|
| | | }
|
| | | ],
|
| | | split: ' / ',
|
| | | form: {
|
| | | time: '',
|
| | | defective: [],
|
| | |
| | | },
|
| | | computed: {
|
| | | expectedSalary() {
|
| | | let { qualified, undesirable } = this.produceFrom
|
| | | if (this.arrType.length === 0) return 0;
|
| | | let temp = this.arrType[this.form.index]
|
| | | // 按件计算
|
| | | if (this.arrType[this.form.index].type == 0) {
|
| | | if (!this.produceFrom.qualified) return 0
|
| | | if (this.arrType[this.form.index].unqualified == 1) { // 是否计入不良品
|
| | | let total = Number(this.produceFrom.qualified) + Number(this.produceFrom.undesirable)
|
| | | return (total * (this.arrType[this.form.index].salary / 100)).toFixed(2) || 0
|
| | | if (temp.type == 0) {
|
| | | if (!qualified) return 0
|
| | | if (temp.unqualified == 1) { // 是否计入不良品
|
| | | let total = Number(qualified) + Number(undesirable)
|
| | | return (total * (temp.salary / 100)).toFixed(2) || 0
|
| | | } else {
|
| | | return (Number(this.produceFrom.qualified) * (this.arrType[this.form.index].salary / 100)).toFixed(
|
| | | return (Number(qualified) * (temp.salary / 100)).toFixed(
|
| | | 2) || 0
|
| | | }
|
| | | } else {
|
| | | if (!this.form.duration) return 0;
|
| | | let h = (this.form.duration / 60 / 60).toFixed(2)
|
| | | return (Number(h) * (this.arrType[this.form.index].salary / 10 / 10)).toFixed(2) || 0
|
| | | return (Number(h) * (temp.salary / 10 / 10)).toFixed(2) || 0
|
| | | }
|
| | | },
|
| | | complianceRate() { |
| | | let { index, duration } = this.form |
| | | let { qualified, undesirable } = this.produceFrom |
| | | if (this.arrType.length === 0) return 0;
|
| | | let temp = this.arrType[index]
|
| | | if (!qualified && !undesirable) return 0;
|
| | | if (!duration) return 0;
|
| | | if (!this.arrType[index].num) return 0;
|
| | | if (!temp.num || !temp.times) return 0; |
| | | // 按件计算
|
| | | // if (infoBox.value.type == 0) {
|
| | | if (this.arrType[index].unqualified == 1) { // 是否计入不良品
|
| | | let a = ((Number(qualified) + Number(undesirable)) / (duration / 3600)).toFixed(2)
|
| | | let b = (this.arrType[index].num / (this.arrType[index].times / 3600)).toFixed(2)
|
| | | if (temp.unqualified == 1) { // 是否计入不良品
|
| | | let a = ((Number(qualified) + Number(undesirable)) / (Number(duration) / 3600)).toFixed(2)
|
| | | let b = (temp.num / (temp.times / 3600)).toFixed(2)
|
| | | return ((Number(a) / Number(b)) * 100).toFixed(2)
|
| | | // let total = (Number(from.qualified) + Number(from.undesirable)) / ((from.duration * 60 * 60) * infoBox.value.num / )
|
| | | // return total * infoBox.value.salary;
|
| | | } else {
|
| | | let a = (qualified / (duration / 3600)).toFixed(2)
|
| | | let b = (this.arrType[index].num / (this.arrType[index].times / 3600)).toFixed(2)
|
| | | let a = (Number(qualified) / (Number(duration) / 3600)).toFixed(2)
|
| | | let b = (temp.num / (temp.times / 3600)).toFixed(2)
|
| | | return ((Number(a) / Number(b)) * 100).toFixed(2)
|
| | | // return Number(from.qualified) * infoBox.value.salary;
|
| | | }
|
| | |
| | | })
|
| | | this.isSubmit = Number(this.produceFrom.qualified) + Number(this.produceFrom.undesirable) <= this
|
| | | .info.planNum; |
| | | console.log(this.isSubmit); |
| | | debugger
|
| | | } |
| | | |
| | | } else {
|
| | |
| | | }
|
| | | })
|
| | | },
|
| | | // => {
|
| | | // // if (!from.duration || from.duration <= 0) {
|
| | | // // return Toast('报工时长不能为空')
|
| | | // // }
|
| | | // let createUnqualifiedDTOList = from.defective.map(item => {
|
| | | // return {
|
| | | // categoryId: item.id,
|
| | | // unQualifiedNum: item.num
|
| | | // }
|
| | | // })
|
| | | // let createWorkorderRecordDTO = {
|
| | | // workorderId: route.query.id,
|
| | | // duration: from.duration ? from.duration : 0,
|
| | | // qualifiedNum: produceFrom.qualified ? produceFrom.qualified : 0,
|
| | | // unQualifiedNum: produceFrom.undesirable ? produceFrom.undesirable : 0
|
| | | // }
|
| | | // // id: route.query.id
|
| | | // comfirmDoneStandard({
|
| | | // createUnqualifiedDTOList,
|
| | | // createWorkorderRecordDTO
|
| | | // }).then(res => {
|
| | | // if (res.code === 200) {
|
| | | // Toast.success({ message: '报工成功', forbidClick: true, duration: 2000 })
|
| | | // setTimeout(() => {
|
| | | // router.go(-2)
|
| | | // }, 2000)
|
| | | // }
|
| | | // })
|
| | | // }
|
| | |
|
| | | jumpdj() {
|
| | | uni.navigateTo({
|
| | | url: `/pages_adjust/pages/spotCheck/spotCheck?id=${this.workorderId}`
|
| | |
| | | padding: 30rpx 0;
|
| | | background: #ffffff;
|
| | | }
|
| | |
|
| | | .bg_list_item_num_item {
|
| | | width: 100%;
|
| | | height: 100%;
|
| | |
| | | padding: 15rpx 0;
|
| | | box-sizing: border-box;
|
| | | justify-content: space-between;
|
| | | border-bottom: 1rpx solid #E5E5E5;
|
| | |
|
| | | &:last-child {
|
| | | border: none;
|
| | | }
|
| | |
|
| | | .bg_list_item_num_item_list {
|
| | | display: flex;
|
| | |
| | | color: #FFFFFF;
|
| | | }
|
| | | }
|
| | | .content { |
| | | height: 100vh; |
| | | background-color: #f7f7f7; |
| | | }
|
| | | </style> |