From 8d3ebc610d048289f8ca4d8bc86ac11208a60fef Mon Sep 17 00:00:00 2001
From: zhou zhou <3272660260@qq.com>
Date: 星期四, 29 一月 2026 19:47:27 +0800
Subject: [PATCH] #
---
pages/inspect/bad.vue | 336 +++++++++++++++++++++++++++++++++++---------------------
1 files changed, 210 insertions(+), 126 deletions(-)
diff --git a/pages/inspect/bad.vue b/pages/inspect/bad.vue
index cbf4133..f03e526 100644
--- a/pages/inspect/bad.vue
+++ b/pages/inspect/bad.vue
@@ -3,33 +3,57 @@
<form>
<view class="cu-form-group margin-top">
<view class="title">鎵樼洏鐮�</view>
- <input placeholder="璇锋壂鎻忔墭鐩樼爜" v-model="container" focus></input>
- <text class='cuIcon-search text-blue' </text>
+ <input
+ placeholder="璇锋壂鎻忔墭鐩樼爜"
+ v-model="container"
+ focus
+ />
</view>
- <view class="cu-form-group ">
+ <view class="cu-form-group">
<view class="title">鐗╂枡鏍囩</view>
- <input placeholder="璇锋壂鎻忕墿鏂欐爣绛�" v-model="barcode"></input>
- <text class='cuIcon-search text-blue' @click="search"></text>
+ <input
+ placeholder="璇锋壂鎻忕墿鏂欐爣绛�"
+ v-model="barcode"
+ />
+ <text
+ class="cuIcon-search text-blue"
+ @click="search"
+ ></text>
</view>
</form>
+ <view class="flex solid-bottom padding-sm justify-between">
+ <view class="text-blue">鐗╂枡绉嶇被:{{ list.length }}</view>
+ <view class="text-red">閿佸畾鏁伴噺:{{ allCount }}</view>
+ </view>
+ <view
+ class="flex solid-bottom padding-sm justify-between"
+ v-if="list.length"
+ >
+ <view class="text-blue">搴撲綅鍙�:{{ list[0].locCode }}</view>
+ </view>
- <view class="cu-list det menu sm-border padding">
- <block v-for="(item, index) in list" :key="index">
+ <view
+ class="cu-list det menu sm-border padding"
+ style="padding-bottom: 60px"
+ >
+ <block
+ v-for="(item, index) in list"
+ :key="index"
+ >
<view class="cu-bar bg-white solid-bottom margin-top-sm">
<view class="action">
<!-- <view class="index">
{{index+1}}
</view> -->
<view class="text-blue">
- {{`${item.maktx}`}}
+ {{ `${item.maktx}` }}
</view>
</view>
- <view class="action">
- <view class='cu-tag radius bg-red'>涓嶅悎鏍�</view>
- </view>
-
+ <!-- <view class="action">
+ <view class="cu-tag radius bg-red">涓嶅悎鏍�</view>
+ </view> -->
<!-- <view class="action" v-if="!isconfirm">
<text @click="remove(index)" class="cuIcon-close text-red" style="font-size: 24px;"></text>
@@ -41,7 +65,15 @@
<text class="text-black">鐗╂枡缂栫爜:</text>
</view>
<view class="action">
- <text class="text-grey ">{{item.maktxCode}}</text>
+ <text class="text-grey">{{ item.matnrCode }}</text>
+ </view>
+ </view>
+ <view class="cu-item">
+ <view class="content">
+ <text class="text-black">璁″垝璺熻釜鍙�:</text>
+ </view>
+ <view class="action">
+ <text class="text-grey">{{ item.platWorkCode }}</text>
</view>
</view>
@@ -50,17 +82,16 @@
<text class="text-black">鍗曞彿:</text>
</view>
<view class="action">
- <text class="text-grey ">{{item.asnCode}}</text>
+ <text class="text-grey">{{ item.asnCode }}</text>
</view>
</view>
-
<view class="cu-item">
<view class="content">
<text class="text-black">渚涘簲鍟嗘壒娆�:</text>
</view>
<view class="action">
- <text class="text-grey ">{{item.splrBatch}}</text>
+ <text class="text-grey">{{ item.splrBatch }}</text>
</view>
</view>
@@ -69,151 +100,204 @@
<text class="text-black">搴撳瓨鍗曚綅:</text>
</view>
<view class="action">
- <text class="text-grey ">{{item.stockUnit}}</text>
+ <text class="text-grey">{{ item.stockUnit }}</text>
</view>
</view>
-
- <view class="cu-item">
+ <!-- <view class="cu-item">
<view class="content">
<view class="cu-form-group padding-lr-0">
<view class="title text-blue">鏁伴噺:</view>
- <input class="text-right" type="number" placeholder="璇疯緭鍏ユ暟閲�" v-model="item.receiptQty"
- focus></input>
+ <input
+ class="text-right"
+ type="number"
+ placeholder="璇疯緭鍏ユ暟閲�"
+ v-model="item.receiptQty"
+ focus
+ />
</view>
</view>
- </view>
+ </view> -->
<view class="margin-top-sm flex">
- <uni-data-checkbox mode="tag" v-model="item.status" :localdata="types"></uni-data-checkbox>
+ <uni-data-checkbox
+ mode="tag"
+ v-model="item.status"
+ :localdata="types"
+ ></uni-data-checkbox>
</view>
</block>
</view>
<view class="cu-bar btn-group foot">
- <button class="cu-btn text-blue line-blue shadow" @click="clear">娓呯┖</button>
- <button class="cu-btn bg-blue shadow-blur" @click="confirm">涓婇攣</button>
+ <button
+ v-if="hasButtonPermission('reset')"
+ class="cu-btn text-blue line-blue shadow"
+ @click="clear"
+ >
+ 娓呯┖
+ </button>
+ <button
+ v-if="hasButtonPermission('submit')"
+ class="cu-btn bg-blue shadow-blur"
+ @click="confirm"
+ >
+ 涓婇攣
+ </button>
</view>
+ <ConfirmModal
+ :visible="showModal"
+ @update:visible="showModal = $event"
+ icon="check"
+ title="涓婇攣纭"
+ message="鏄惁纭畾涓婇攣锛�"
+ cancelText="涓嶉渶瑕�"
+ confirmText="纭畾"
+ :isconfirm="isconfirm"
+ @cancel="handleNo"
+ @confirm="handleYes"
+ ></ConfirmModal>
</view>
</template>
<script>
- import {
- request
- } from '../../common/request.js'
+import { request } from '../../common/request.js'
+import ConfirmModal from '../../components/confirm-modal/confirm-modal.vue'
- export default {
- data() {
- return {
- barcode: '',
- container: '',
- list: [],
- range: [],
- isconfirm: false,
- types: [{
- text: '寰呰繑淇�',
- value: 1
- },
- {
- text: '寰呮姤搴�',
- value: 2
- },
- {
- text: '闄嶇骇浣跨敤',
- value: 3
- },
- {
- text: '寰呭畾',
- value: 4
- },
- ],
- }
+export default {
+ components: {
+ ConfirmModal
+ },
+ data() {
+ return {
+ barcode: '',
+ container: '',
+ list: [],
+ range: [],
+ isconfirm: false,
+ types: [
+ {
+ text: '姝e父',
+ value: 1
+ },
+ {
+ text: '閿佸畾',
+ value: 0
+ }
+ ],
+ showModal: false,
+ buttonPermissions: [] // 鎸夐挳鏉冮檺鍒楄〃
+ }
+ },
+ computed: {
+ allCount() {
+ return this.list.reduce(
+ (acc, row) => (row.status == 0 ? acc + 1 : acc),
+ 0
+ )
+ }
+ },
+ mounted() {
+ this.buttonPermissions = uni.getStorageSync('buttonPermissions') || []
+ },
+ methods: {
+ // 妫�鏌ユ寜閽潈闄�
+ hasButtonPermission(route) {
+ return this.buttonPermissions.includes(route)
},
- computed: {
-
+ handleNo() {
+ this.showModal = false
},
- mounted() {},
- methods: {
- async search() {
- const {
- code,
- data,
- msg
- } = await request('/defect/' + this.barcode, {}, "post")
+ async handleYes() {
+ this.isconfirm = true
+ try {
+ const { code, data, msg } = await request(
+ '/other/inspectConfirm',
+ {
+ matnrList: this.list
+ },
+ 'post'
+ )
if (code === 200) {
- const find = this.list.find(el => el.id === data.id);
- !find && this.list.push(data)
+ uni.showToast({
+ title: '鎻愪氦鎴愬姛'
+ })
+ this.list = []
+ this.barcode = ''
+ this.container = ''
} else {
uni.showToast({
title: msg,
- icon: "none",
+ icon: 'none',
position: 'top'
})
}
- // this.list = [{
- // id: 1,
- // maktx: '鎷夋潌绠�',
- // maktxCode: '312312312',
- // asnCode: 'asn123412',
- // splrBatch: '3123123',
- // stockUnit: '涓�',
- // receiptQty: null
- // }]
- },
- async confirm() {
- // const {
- // code,
- // data,
- // msg
- // } = await request('/waitPakin/unbind', {
- // items: this.list,
- // barcode: this.container
- // })
- // if (code === 200) {
- // uni.showToast({
- // title: '鎻愪氦鎴愬姛'
- // })
- // this.list = []
- // this.barcode = ''
- // this.isconfirm = false
- // } else {
- // uni.showToast({
- // title: msg,
- // icon: "none",
- // position: 'top'
- // })
- // }
-
- },
-
+ } finally {
+ this.showModal = false
+ this.isconfirm = false
+ }
+ },
+ // 鍏抽棴AGV纭寮圭獥
+ closeModal() {
+ this.showModal = false
+ },
+ async search() {
+ const { code, data, msg } = await request(
+ '/other/inspectList',
+ {
+ containerNo: this.container,
+ matnrCode: this.barcode
+ },
+ 'post'
+ )
+ if (code === 200) {
+ this.list = data
+ } else {
+ uni.showToast({
+ title: msg,
+ icon: 'none',
+ position: 'top'
+ })
+ }
+ },
+ async confirm() {
+ if (this.allCount == 0) {
+ uni.showToast({
+ title: '娌℃湁閿佸畾鐨勬槑缁�',
+ icon: 'none',
+ position: 'top'
+ })
+ return
+ }
+ this.showModal = true
}
}
+}
</script>
<style>
- .index {
- border: 1px solid #e54d42;
- color: #e54d42;
- border-radius: 50%;
- display: block;
- width: 50rpx;
- height: 50rpx;
- line-height: 48rpx;
- text-align: center;
- margin-right: 20rpx;
- font-size: 30rpx;
- }
+.index {
+ border: 1px solid #e54d42;
+ color: #e54d42;
+ border-radius: 50%;
+ display: block;
+ width: 50rpx;
+ height: 50rpx;
+ line-height: 48rpx;
+ text-align: center;
+ margin-right: 20rpx;
+ font-size: 30rpx;
+}
- .text-blue {
- color: #0081ff !important;
+.text-blue {
+ color: #0081ff !important;
+}
- }
-
- .item {
- position: relative;
- display: flex;
- min-height: 80upx;
- align-items: center;
- }
-</style>
\ No newline at end of file
+.item {
+ position: relative;
+ display: flex;
+ min-height: 80upx;
+ align-items: center;
+}
+</style>
--
Gitblit v1.9.1