You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

156 lines
4.4 KiB

1 year ago
<template>
<view class="">
<uni-popup ref="editPopup" class="nopadpop camera_pop">
<view class="uni-list popuni_list camera_list">
<view class="list_cell uni-flex uni-row space-between">
<view class="title">箱码</view>
<text class="info">{{dataContent.packingNumber}}</text>
</view>
<view class="list_cell uni-flex uni-row space-between">
<view class="title">收货数量</view>
<view class="uni-flex uni-row u-col-center">
<text class="info">{{dataContent.qty}}</text>
<uom :uom="dataContent.uom"></uom>
</view>
</view>
<view class="list_cell uni-flex uni-row space-between">
<view class="title">不合格数量</view>
<view class="uni-flex uni-row u-col-center" style="">
<input class="qty_inspect_input" v-model="dataContent.failedQty" :focus="true" type="number" />
<uom :uom="dataContent.uom"></uom>
</view>
</view>
<view class="list_cell uni-flex uni-row space-between">
<view class="title">报废数量</view>
<view class="uni-flex uni-row u-col-center" style="">
<input class="qty_inspect_input" v-model="dataContent.crackQty" :focus="true" type="number" />
<uom :uom="dataContent.uom"></uom>
</view>
</view>
<view class="list_cell uni-flex uni-row space-between">
<view class="title">不合格原因</view>
<view class="info" style="padding: 0;">
<uni-data-picker :class="disabled===true?'disabled':''" :border="false" placeholder="请选择原因"
popup-title="不合格原因" :localdata="failedReasonArray" v-model="dataContent.failedReason">
</uni-data-picker>
</view>
</view>
<view class="list_cell quality_cell">
<view class="title">检验结果</view>
<view class="check_textarea">
<textarea placeholder="请输入内容" :inputBorder="true" v-model="dataContent.inspectResult"
:disabled="disabled" maxlength="100">
</textarea>
</view>
</view>
<uploadCamera ref="uploadImage" style="margin: 10rpx;" :disabled="disabled"></uploadCamera>
</view>
<view class="pop_btn uni-flex uni-row space-between" v-if="!disabled">
<button class="cancel" @click="back">返回</button>
<button class="save" @click="save">保存</button>
</view>
</uni-popup>
<comMessage ref="comMessage"></comMessage>
</view>
</template>
<script>
import {
getInspectFailedReasonList,
} from '@/common/directory.js';
import comMessage from '@/mycomponents/common/comMessage.vue'
import uploadCamera from '@/pages/inspect/coms/uploadCamera.vue'
import uom from '@/mycomponents/qty/uom.vue'
export default {
components: {
uploadCamera,
comMessage,
uom
},
name: 'receipt_check',
data() {
return {
id: '',
failedReasonIndex: 0,
failedReasonArray: [],
dataContent: {},
failedReasonArray: []
}
},
props: {
// dataContent: {
// type: Object,
// value: null
// },
disabled: {
type: Boolean,
value: true
},
},
methods: {
openEditPopup(item) {
this.failedReasonArray = getInspectFailedReasonList();
//拷贝数据到页面显示,防止修改数据原数据修改
this.dataContent = Object.assign({}, item)
1 year ago
this.$refs['editPopup'].open("bottom");
},
back() {
this.$refs['editPopup'].close();
},
afterSave() {
this.$emit('getInspectResult', this.dataContent)
this.$refs['editPopup'].close();
},
showMessage(message) {
this.$refs.comMessage.showErrorMessage(message, res => {
if (res) {
// this.afterCloseMessage()
}
});
},
save() {
var failedQty = Number(this.dataContent.failedQty);
var crackQty = Number(this.dataContent.crackQty);
var qty = Number(this.dataContent.qty);
if (crackQty + failedQty > qty) {
var total = crackQty + failedQty;
this.showMessage("不合格数[" + failedQty + "]+报废数量[" + crackQty + "]等于[" + total + "]大于收货数量[" +
qty + "]")
return
}
if (failedQty > 0 || crackQty > 0) {
if (this.dataContent.failedReason == null) {
this.showMessage("请选择不合格原因")
return
}
}
this.dataContent.failedQty = failedQty;
this.dataContent.crackQty = crackQty
this.dataContent.goodQty = this.dataContent.handleQty -failedQty-crackQty
1 year ago
this.afterSave()
}
}
}
</script>
<style scoped lang="scss">
.disabled {
pointer-events: none;
}
</style>