From 11f614080f28818e6627794b9f802d6a399579f4 Mon Sep 17 00:00:00 2001
From: hao <1836460075@qq.com>
Date: 星期五, 30 五月 2025 16:23:03 +0800
Subject: [PATCH] 退换料确认
---
pages/QC/THL/THLQR.vue | 252 ++++++++++++++++++++++++++++++++++++++++++++++++++
pages.json | 8 +
store/index.js | 4
3 files changed, 262 insertions(+), 2 deletions(-)
diff --git a/pages.json b/pages.json
index 22a0dea..7c19216 100644
--- a/pages.json
+++ b/pages.json
@@ -479,6 +479,14 @@
"navigationBarTitleText": "鍥剧墖鏂囦欢棰勮",
"enablePullDownRefresh": false
}
+ },
+ {
+ "path" : "pages/QC/THL/THLQR",
+ "style" :
+ {
+ "navigationBarTitleText" : "閫�鎹㈡枡纭",
+ "enablePullDownRefresh": false
+ }
}
diff --git a/pages/QC/THL/THLQR.vue b/pages/QC/THL/THLQR.vue
new file mode 100644
index 0000000..ec0d077
--- /dev/null
+++ b/pages/QC/THL/THLQR.vue
@@ -0,0 +1,252 @@
+<template>
+ <view class="page">
+ <!-- 琛ㄥ崟鍖哄煙 -->
+ <view class="form-container">
+ <form :modelValue="formData">
+ <view class="form-group">
+ <label class="form-label">閫�鎹㈡枡鍗曞彿:</label>
+ <superwei-combox
+ :candidates="docList"
+ placeholder="璇烽�夋嫨"
+ v-model="formData.docNo"
+ @select="onDocChange"
+ class="form-input"
+ />
+ </view>
+ <view class="form-group">
+ <label class="form-label">鐢熶骇宸ュ崟:</label>
+ <input class="form-input" type="text" v-model="formData.moNo" disabled />
+ </view>
+ <view class="form-group">
+ <label class="form-label">閫�琛ユ枡绫诲瀷:</label>
+ <input class="form-input" type="text" v-model="formData.type" disabled />
+ </view>
+ <view class="form-group">
+ <label class="form-label">浜у搧缂栫爜:</label>
+ <input class="form-input" type="text" v-model="formData.productCode" disabled />
+ </view>
+ <view class="form-group">
+ <label class="form-label">閮ㄩ棬鍚嶇О:</label>
+ <input class="form-input" type="text" v-model="formData.deptName" disabled />
+ </view>
+ <view class="form-group">
+ <label class="form-label">鍒涘缓鏃堕棿:</label>
+ <input class="form-input" type="text" v-model="formData.createTime" disabled />
+ </view>
+ </form>
+ </view>
+
+ <!-- 鏄庣粏琛ㄦ牸 -->
+ <view class="list-container">
+ <uni-table border stripe emptyText="鏆傛棤鏄庣粏鏁版嵁">
+ <uni-tr>
+ <uni-th align="center">搴忓彿</uni-th>
+ <uni-th align="center">鐗╂枡</uni-th>
+ <uni-th align="center">瑙勬牸</uni-th>
+ <uni-th align="center">鐢宠鏁伴噺</uni-th>
+ <uni-th align="center">閫�鏂欏師鍥�</uni-th>
+ </uni-tr>
+ <uni-tr v-for="(item, index) in detailList" :key="index">
+ <uni-td align="center">{{ index + 1 }}</uni-td>
+ <uni-td align="center">{{ item.material }}</uni-td>
+ <uni-td align="center">{{ item.spec }}</uni-td>
+ <uni-td align="center">{{ item.qty }}</uni-td>
+ <uni-td align="center">
+ <input class="form-input" type="text" v-model="item.reason" />
+ </uni-td>
+ </uni-tr>
+ </uni-table>
+ </view>
+
+ <!-- 瀹℃牳鎸夐挳 -->
+ <view class="plus-button">
+ <button type="warn" @click="confirmReview">纭瀹℃牳</button>
+ <button type="default" @click="rejectReview" style="margin-left: 10px;">椹冲洖</button>
+ </view>
+
+ </view>
+</template>
+
+<script>
+export default {
+ data() {
+ return {
+ docList: [],
+ formData: {
+ docNo: '',
+ moNo: '',
+ type: '',
+ productCode: '',
+ deptName: '',
+ createTime: ''
+ },
+ detailList: [],
+ readonlyFields: [
+ { label: '鐢熶骇宸ュ崟:', field: 'moNo' },
+ { label: '閫�琛ユ枡绫诲瀷:', field: 'type' },
+ { label: '浜у搧缂栫爜:', field: 'productCode' },
+ { label: '閮ㄩ棬鍚嶇О:', field: 'deptName' },
+ { label: '鍒涘缓鏃堕棿:', field: 'createTime' }
+ ]
+ };
+ },
+ methods: {
+ onDocChange(selectedDoc) {
+
+ this.formData.docNo = selectedDoc;
+
+ // 鏍规嵁 docNo 鑾峰彇琛ㄥご鏁版嵁
+ this.$post({
+ url: "/RetMat/GetHeader",
+ data: { docNo: selectedDoc }
+ }).then(res => {
+ if (res.status === 0) {
+ this.formData = {
+ ...this.formData,
+ moNo: res.data.mono,
+ type: res.data.type,
+ productCode: res.data.productcode,
+ deptName: res.data.deptname,
+ createTime: res.data.createtime
+ };
+ } else {
+ uni.showToast({ title: '鑾峰彇琛ㄥご澶辫触', icon: 'none' });
+ }
+ });
+
+ // 鑾峰彇鏄庣粏鏁版嵁
+ this.$post({
+ url: "/RetMat/GetList",
+ data: { docNo: selectedDoc }
+ }).then(res => {
+ if (res.status === 0) {
+ this.detailList = res.data.map(item => ({
+ material: item.material,
+ spec: item.spec,
+ qty: item.qty,
+ reason: item.reason || '',
+ ItemId: item.itemid
+ }));
+ } else {
+ uni.showToast({ title: '鑾峰彇鏄庣粏澶辫触', icon: 'none' });
+ }
+ });
+ }
+,
+ confirmReview() {
+ if (!this.formData.docNo) {
+ uni.showToast({ title: '璇峰厛閫夋嫨閫�鎹㈡枡鍗曞彿', icon: 'none' });
+ return;
+ }
+ const dataToSave = {
+ docNo: this.formData.docNo,
+ user: this.$loginInfo.account,
+ items: this.detailList.map(item => ({
+ material: "",
+ ItemId: item.ItemId,
+ Reason: item.reason
+ }))
+
+ };
+console.log(dataToSave);
+ this.$post({
+ url: "/RetMat/SaveReview",
+ data: dataToSave
+ }).then(res => {
+ if (res.status === 0) {
+ uni.showToast({ title: '瀹℃牳鎴愬姛', icon: 'success' });
+ } else {
+ uni.showToast({ title: res.message, icon: 'none' });
+ }
+ });
+},
+
+ rejectReview() {
+ if (!this.formData.docNo) {
+ uni.showToast({ title: '璇峰厛閫夋嫨閫�鎹㈡枡鍗曞彿', icon: 'none' });
+ return;
+ }
+
+ uni.showModal({
+ title: '纭椹冲洖',
+ content: '鏄惁纭椹冲洖璇ラ��鎹㈡枡鐢宠锛�',
+ success: res => {
+ if (res.confirm) {
+ const dataToReject = {
+ docNo: this.formData.docNo,
+ user: this.$loginInfo.account,
+ items: this.detailList.map(item => ({
+ material: item.material,
+ reason: item.reason,
+ itemId: item.ItemId
+ }))
+ };
+
+ this.$post({
+ url: "/RetMat/Reject",
+ data: dataToReject
+ }).then(res => {
+ if (res.status === 0) {
+ uni.showToast({ title: '椹冲洖鎴愬姛', icon: 'success' });
+ this.formData = {};
+ this.detailList = [];
+ } else {
+ uni.showToast({ title: res.message, icon: 'none' });
+ }
+ });
+ }
+ }
+ });
+ }
+
+
+
+
+ },
+ onLoad() {
+ this.$post({ url: "/RetMat/GetAllDocs" }).then(res => {
+ //this.docList = res.data;
+ this.docList = res.data.map(item => item.thL_NO);
+ });
+ }
+};
+</script>
+
+<style>
+.page {
+ padding: 10px;
+}
+.form-container {
+ padding: 12px;
+}
+.form-row {
+ display: flex;
+ align-items: center;
+ margin-bottom: 10px;
+}
+.form-group {
+ display: flex;
+ align-items: center;
+ border-bottom: 1px solid #c9c9c9;
+}
+.form-label {
+ margin-bottom: 0;
+ padding: 5px;
+}
+.form-input {
+ flex: 1;
+ margin-bottom: 0;
+ padding: 5px;
+}
+.list-container {
+ padding: 10px;
+ height: 60vh;
+ overflow-y: auto;
+}
+.plus-button {
+ display: flex;
+ justify-content: center;
+ margin: 20px 0;
+}
+
+</style>
diff --git a/store/index.js b/store/index.js
index 933e405..9f9ed02 100644
--- a/store/index.js
+++ b/store/index.js
@@ -10,8 +10,8 @@
networkFlag:'鍐呯綉',
serverURLInt:'http://192.168.11.251:10055',//鏈嶅姟鍣ㄤ綋妫� 10.0.1.104:10054
serverURL:'http://localhost:10055',//鏈湴璋冭瘯鍦板潃
- //serverAPI:'http://localhost:5184/api',//褰撳墠姝e湪浣跨敤鐨勬湇鍔″櫒,榛樿涓哄缃� localhost
- serverAPI:'http://192.168.1.22:10055/api',//褰撳墠姝e湪浣跨敤鐨勬湇鍔″櫒,榛樿涓哄缃� 10054涓烘寮廇PI
+ // serverAPI:'http://localhost:5184/api',//褰撳墠姝e湪浣跨敤鐨勬湇鍔″櫒,榛樿涓哄缃� localhost
+ serverAPI:'http://192.168.1.22:10054/api',//褰撳墠姝e湪浣跨敤鐨勬湇鍔″櫒,榛樿涓哄缃� 10054涓烘寮廇PI
//serverAPI:'http://192.168.1.104:10055/api',//褰撳墠姝e湪浣跨敤鐨勬湇鍔″櫒,榛樿涓哄缃� 10055涓烘祴璇旳PI
}
},
--
Gitblit v1.9.3