From 6dbbc9c86afa617901ab603c6a82f6621b07bf06 Mon Sep 17 00:00:00 2001
From: hsy <1029150275@qq.com>
Date: 星期三, 26 八月 2026 09:54:13 +0800
Subject: [PATCH] feat(erp): 增加采购与销售订单订金校验逻辑,限制不得超过优惠后总金额 - **采购订单 (`src/views/erp/purchase/order/data.ts`)**: 为 `depositPrice`(支付订金)字段增加双重校验,动态绑定 `max` 属性到 `totalPrice`,并添加动态表单 rules,超出时提示“订金不能大于优惠后金额”。 - **销售订单 (`src/views/erp/sale/order/data.ts`)**: 复用同等防错机制,限制 `depositPrice`(收取订金)输入不能超过优惠后金额,超过时给予相应报错提示。
---
src/views/im/manager/channel/list/components/select.vue | 66 +++++++++++++++++++++++++++++++++
1 files changed, 66 insertions(+), 0 deletions(-)
diff --git a/src/views/im/manager/channel/list/components/select.vue b/src/views/im/manager/channel/list/components/select.vue
new file mode 100644
index 0000000..6195d1c
--- /dev/null
+++ b/src/views/im/manager/channel/list/components/select.vue
@@ -0,0 +1,66 @@
+<script lang="ts" setup>
+import type { ImManagerChannelApi } from '#/api/im/manager/channel';
+
+import { computed, onMounted, ref } from 'vue';
+
+import { Select } from 'ant-design-vue';
+
+import { getSimpleChannelList } from '#/api/im/manager/channel';
+
+defineOptions({ name: 'ImManagerChannelSelect' });
+
+const props = withDefaults(
+ defineProps<{
+ allowClear?: boolean
+ disabled?: boolean
+ modelValue?: number
+ placeholder?: string
+ }>(),
+ {
+ allowClear: true,
+ disabled: false,
+ modelValue: undefined,
+ placeholder: '璇烽�夋嫨棰戦亾',
+ },
+);
+
+const emit = defineEmits<{
+ 'update:modelValue': [value: number | undefined];
+}>();
+
+const loading = ref(false);
+const channelList = ref<ImManagerChannelApi.Channel[]>([]);
+
+const value = computed({
+ get: () => props.modelValue,
+ set: (val) => emit('update:modelValue', val),
+});
+
+const options = computed(() =>
+ channelList.value.map((item) => ({ label: item.name, value: item.id })),
+);
+
+/** 鍔犺浇棰戦亾鍒楄〃 */
+async function loadChannelList() {
+ loading.value = true;
+ try {
+ channelList.value = await getSimpleChannelList();
+ } finally {
+ loading.value = false;
+ }
+}
+
+onMounted(loadChannelList);
+</script>
+
+<template>
+ <Select
+ v-model:value="value"
+ :allow-clear="allowClear"
+ :disabled="disabled"
+ :loading="loading"
+ :options="options"
+ :placeholder="placeholder"
+ class="w-full"
+ />
+</template>
--
Gitblit v1.9.3