From a8ebfcbec49fb628fa2fa1a66bc1950125bc0786 Mon Sep 17 00:00:00 2001
From: yyb <995253665@qq.com>
Date: 星期一, 18 五月 2026 14:51:14 +0800
Subject: [PATCH] 优化设备保养表单:新增保养人选择器,确保保养人必填,加载保养人列表
---
src/pages/sales/salesAccount/index.vue | 80 +++++++++++++++++++++++----------------
1 files changed, 47 insertions(+), 33 deletions(-)
diff --git a/src/pages/sales/salesAccount/index.vue b/src/pages/sales/salesAccount/index.vue
index 250447d..2e1b083 100644
--- a/src/pages/sales/salesAccount/index.vue
+++ b/src/pages/sales/salesAccount/index.vue
@@ -27,7 +27,7 @@
<view v-for="(item, index) in ledgerList"
:key="index">
<view class="ledger-item"
- @click="handleInfo('edit', item)">
+ @click="openOut(item)">
<view class="item-header">
<view class="item-left">
<view class="document-icon">
@@ -67,6 +67,13 @@
<text class="detail-label">绛捐鏃ユ湡</text>
<text class="detail-value">{{ item.executionDate }}</text>
</view>
+ <view class="detail-row">
+ <text class="detail-label">鍙戣揣鐘舵��</text>
+ <u-tag size="mini"
+ :type="getLedgerShippingTagType(item)">{{
+ getLedgerShippingLabel(item)
+ }}</u-tag>
+ </view>
<up-divider></up-divider>
<view class="detail-info">
<view class="detail-row">
@@ -81,18 +88,33 @@
<up-divider></up-divider>
<view class="detail-buttons">
<u-button class="detail-button"
- size="small"
- type="primary"
- @click="openOut(item)">
- 鍙戣揣鐘舵��
- </u-button>
- <u-button class="detail-button"
- size="small"
- type="error"
- plain
- @click.stop="handleDelete(item)">
- 鍒犻櫎
- </u-button>
+ size="small"
+ type="primary"
+ plain
+ :disabled="!canLedgerShip(item)"
+ @click.stop="handleShip(item)">
+ 鍙戣揣
+ </u-button>
+ <!-- <u-button class="detail-button"
+ size="small"
+ type="primary"
+ @click.stop="handleInfo('edit', item)">
+ 缂栬緫
+ </u-button>
+ <u-button class="detail-button"
+ size="small"
+ type="primary"
+ plain
+ @click.stop="openOut(item)">
+ 鍙戣揣鐘舵��
+ </u-button> -->
+ <!-- <u-button class="detail-button"
+ size="small"
+ type="error"
+ plain
+ @click.stop="handleDelete(item)">
+ 鍒犻櫎
+ </u-button> -->
</view>
</view>
</view>
@@ -103,23 +125,26 @@
<text>鏆傛棤閿�鍞彴璐︽暟鎹�</text>
</view>
<!-- 娴姩鎿嶄綔鎸夐挳 -->
- <view class="fab-button"
+ <!-- <view class="fab-button"
@click="handleInfo('add')">
<up-icon name="plus"
size="24"
color="#ffffff"></up-icon>
- </view>
+ </view> -->
</view>
</template>
<script setup>
import { ref } from "vue";
import { onShow } from "@dcloudio/uni-app";
+ import { ledgerListPage, delLedger, productList } from "@/api/salesManagement/salesLedger";
import {
- ledgerListPage,
- delLedger,
- productList,
- } from "@/api/salesManagement/salesLedger";
+ hasShippedProducts,
+ getLedgerShippingLabel,
+ getLedgerShippingTagType,
+ canLedgerShip,
+ executeSalesLedgerShip,
+ } from "@/utils/salesLedgerShip";
import useUserStore from "@/store/modules/user";
import PageHeader from "@/components/PageHeader.vue";
const userStore = useUserStore();
@@ -139,19 +164,7 @@
// 閿�鍞彴璐︽暟鎹�
const ledgerList = ref([]);
- // 鍒ゆ柇鏄惁瀛樺湪宸插彂璐�/鍙戣揣瀹屾垚鐨勪骇鍝�
- const hasShippedProducts = products => {
- if (!products || products.length === 0) return false;
- return products.some(p => {
- const statusStr = (p.shippingStatus ?? "").toString();
- // 鍖呭惈鈥滃彂璐р�濇垨鏈夊彂璐ф棩鏈�/杞︾墝鍙疯涓哄凡鍙戣揣
- return (
- statusStr.includes("鍙戣揣") ||
- !!p.shippingDate ||
- !!p.shippingCarNumber
- );
- });
- };
+ const handleShip = item => executeSalesLedgerShip(item);
// 杩斿洖涓婁竴椤�
const goBack = () => {
@@ -198,7 +211,7 @@
if (hasShippedProducts(products)) {
uni.showToast({
- title: "宸插彂璐�/鍙戣揣瀹屾垚鐨勯攢鍞鍗曚笉鑳藉垹闄�",
+ title: "宸插彂璐с�侀儴鍒嗗彂璐ф垨宸叉湁鍙戣揣璁板綍鐨勯攢鍞鍗曚笉鑳藉垹闄�",
icon: "none",
});
return;
@@ -234,6 +247,7 @@
try {
// 璁剧疆鎿嶄綔绫诲瀷
uni.setStorageSync("operationType", type);
+ uni.removeStorageSync("editData");
// 濡傛灉鏄煡鐪嬫垨缂栬緫鎿嶄綔
if (type !== "add") {
--
Gitblit v1.9.3