From 357291a906de883ccf0b29f6113126c6c58af2ca Mon Sep 17 00:00:00 2001
From: ZN <zhang_12370@163.com>
Date: 星期一, 23 三月 2026 17:01:39 +0800
Subject: [PATCH] 禁止提交.vscode配置文件
---
src/pages/basicData/supplierManage/edit.vue | 216 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 216 insertions(+), 0 deletions(-)
diff --git a/src/pages/basicData/supplierManage/edit.vue b/src/pages/basicData/supplierManage/edit.vue
new file mode 100644
index 0000000..c890e88
--- /dev/null
+++ b/src/pages/basicData/supplierManage/edit.vue
@@ -0,0 +1,216 @@
+<template>
+ <view class="account-detail">
+ <PageHeader :title="pageTitle" @back="goBack" />
+ <up-form ref="formRef" :model="form" :rules="rules" label-width="120">
+ <u-cell-group title="渚涘簲鍟嗕俊鎭�" class="form-section">
+ <up-form-item label="渚涘簲鍟嗗悕绉�" prop="supplierName" required>
+ <up-input v-model="form.supplierName" placeholder="璇疯緭鍏�" clearable />
+ </up-form-item>
+ <up-form-item label="绾崇◣浜鸿瘑鍒彿" prop="taxpayerIdentificationNum" required>
+ <up-input v-model="form.taxpayerIdentificationNum" placeholder="璇疯緭鍏�" clearable />
+ </up-form-item>
+ <up-form-item label="鍏徃鍦板潃" prop="companyAddress" required>
+ <up-input v-model="form.companyAddress" placeholder="璇疯緭鍏�" clearable />
+ </up-form-item>
+ <up-form-item label="鍏徃鐢佃瘽" prop="companyPhone" required>
+ <up-input v-model="form.companyPhone" placeholder="璇疯緭鍏�" clearable />
+ </up-form-item>
+ <up-form-item label="寮�鎴疯" prop="bankAccountName" required>
+ <up-input v-model="form.bankAccountName" placeholder="璇疯緭鍏�" clearable />
+ </up-form-item>
+ <up-form-item label="璐﹀彿" prop="bankAccountNum" required>
+ <up-input v-model="form.bankAccountNum" placeholder="璇疯緭鍏�" clearable />
+ </up-form-item>
+ <up-form-item label="鑱旂郴浜�" prop="contactUserName">
+ <up-input v-model="form.contactUserName" placeholder="璇疯緭鍏�" clearable />
+ </up-form-item>
+ <up-form-item label="鑱旂郴鐢佃瘽" prop="contactUserPhone">
+ <up-input v-model="form.contactUserPhone" placeholder="璇疯緭鍏�" clearable />
+ </up-form-item>
+ <up-form-item label="渚涘簲鍟嗙被鍨�" prop="supplierType" required>
+ <up-input
+ v-model="supplierTypeText"
+ placeholder="璇烽�夋嫨"
+ readonly
+ @click="showSupplierTypeSheet = true"
+ />
+ <template #right>
+ <up-icon name="arrow-right" @click="showSupplierTypeSheet = true"></up-icon>
+ </template>
+ </up-form-item>
+ <up-form-item label="鏄惁鐧藉悕鍗�" prop="isWhite" required>
+ <up-input v-model="isWhiteText" placeholder="璇烽�夋嫨" readonly @click="showIsWhiteSheet = true" />
+ <template #right>
+ <up-icon name="arrow-right" @click="showIsWhiteSheet = true"></up-icon>
+ </template>
+ </up-form-item>
+ <up-form-item label="缁存姢浜�" prop="maintainUserName">
+ <up-input v-model="form.maintainUserName" disabled placeholder="鑷姩濉厖" />
+ </up-form-item>
+ <up-form-item label="缁存姢鏃堕棿" prop="maintainTime">
+ <up-input v-model="form.maintainTime" disabled placeholder="鑷姩濉厖" />
+ </up-form-item>
+ </u-cell-group>
+ </up-form>
+ <FooterButtons :loading="loading" confirmText="淇濆瓨" @cancel="goBack" @confirm="handleSubmit" />
+
+ <up-action-sheet
+ :show="showSupplierTypeSheet"
+ title="閫夋嫨渚涘簲鍟嗙被鍨�"
+ :actions="supplierTypeActions"
+ @select="onSelectSupplierType"
+ @close="showSupplierTypeSheet = false"
+ />
+ <up-action-sheet
+ :show="showIsWhiteSheet"
+ title="閫夋嫨鐧藉悕鍗�"
+ :actions="isWhiteActions"
+ @select="onSelectIsWhite"
+ @close="showIsWhiteSheet = false"
+ />
+ </view>
+</template>
+
+<script setup>
+ import { computed, onMounted, ref } from "vue";
+ import { onLoad } from "@dcloudio/uni-app";
+ import FooterButtons from "@/components/FooterButtons.vue";
+ import useUserStore from "@/store/modules/user";
+ import { formatDateToYMD } from "@/utils/ruoyi";
+ import { addSupplier, getSupplier, updateSupplier } from "@/api/basicData/supplierManageFile";
+
+ const userStore = useUserStore();
+ const formRef = ref();
+ const loading = ref(false);
+ const supplierId = ref(undefined);
+
+ const form = ref({
+ supplierName: "",
+ taxpayerIdentificationNum: "",
+ companyAddress: "",
+ companyPhone: "",
+ bankAccountName: "",
+ bankAccountNum: "",
+ contactUserName: "",
+ contactUserPhone: "",
+ maintainUserId: "",
+ maintainUserName: "",
+ maintainTime: "",
+ supplierType: "",
+ isWhite: 0,
+ });
+
+ const rules = {
+ supplierName: [{ required: true, message: "璇疯緭鍏ヤ緵搴斿晢鍚嶇О", trigger: "blur" }],
+ taxpayerIdentificationNum: [{ required: true, message: "璇疯緭鍏ョ撼绋庝汉璇嗗埆鍙�", trigger: "blur" }],
+ companyAddress: [{ required: true, message: "璇疯緭鍏ュ叕鍙稿湴鍧�", trigger: "blur" }],
+ companyPhone: [{ required: true, message: "璇疯緭鍏ュ叕鍙哥數璇�", trigger: "blur" }],
+ bankAccountName: [{ required: true, message: "璇疯緭鍏ュ紑鎴疯", trigger: "blur" }],
+ bankAccountNum: [{ required: true, message: "璇疯緭鍏ヨ处鍙�", trigger: "blur" }],
+ supplierType: [{ required: true, message: "璇烽�夋嫨渚涘簲鍟嗙被鍨�", trigger: "change" }],
+ isWhite: [{ required: true, message: "璇烽�夋嫨鐧藉悕鍗�", trigger: "change" }],
+ };
+
+ const pageTitle = computed(() => {
+ return supplierId.value ? "缂栬緫渚涘簲鍟�" : "鏂板渚涘簲鍟�";
+ });
+
+ const supplierTypeActions = [
+ { name: "鐢�", value: "鐢�" },
+ { name: "涔�", value: "涔�" },
+ { name: "涓�", value: "涓�" },
+ { name: "涓�", value: "涓�" },
+ ];
+ const isWhiteActions = [
+ { name: "鏄�", value: 0 },
+ { name: "鍚�", value: 1 },
+ ];
+
+ const showSupplierTypeSheet = ref(false);
+ const showIsWhiteSheet = ref(false);
+
+ const supplierTypeText = computed(() => form.value.supplierType || "");
+ const isWhiteText = computed(() => {
+ return String(form.value.isWhite) === "0" ? "鏄�" : "鍚�";
+ });
+
+ const onSelectSupplierType = action => {
+ form.value.supplierType = action.value;
+ showSupplierTypeSheet.value = false;
+ };
+
+ const onSelectIsWhite = action => {
+ form.value.isWhite = action.value;
+ showIsWhiteSheet.value = false;
+ };
+
+ const initForAdd = () => {
+ form.value.maintainUserId = userStore.id;
+ form.value.maintainUserName = userStore.nickName;
+ form.value.maintainTime = formatDateToYMD(Date.now());
+ form.value.isWhite = 0;
+ };
+
+ const loadDetail = () => {
+ if (!supplierId.value) return;
+ uni.showLoading({ title: "鍔犺浇涓�...", mask: true });
+ getSupplier(supplierId.value)
+ .then(res => {
+ form.value = { ...form.value, ...(res.data || {}) };
+ })
+ .catch(() => {
+ uni.showToast({ title: "鑾峰彇璇︽儏澶辫触", icon: "error" });
+ })
+ .finally(() => {
+ uni.hideLoading();
+ });
+ };
+
+ const goBack = () => {
+ uni.navigateBack();
+ };
+
+ const handleSubmit = async () => {
+ const valid = await formRef.value.validate().catch(() => false);
+ if (!valid) return;
+ loading.value = true;
+ const action = supplierId.value ? updateSupplier : addSupplier;
+ action({ ...form.value, id: supplierId.value })
+ .then(() => {
+ uni.showToast({ title: "淇濆瓨鎴愬姛", icon: "success" });
+ uni.navigateBack();
+ })
+ .catch(() => {
+ uni.showToast({ title: "淇濆瓨澶辫触", icon: "error" });
+ })
+ .finally(() => {
+ loading.value = false;
+ });
+ };
+
+ onMounted(() => {
+ userStore.getInfo();
+ initForAdd();
+ });
+
+ onLoad(options => {
+ if (options?.id) supplierId.value = options.id;
+ if (supplierId.value) loadDetail();
+ });
+</script>
+
+<style scoped lang="scss">
+ @import "@/styles/procurement-common.scss";
+
+ .account-detail {
+ min-height: 100vh;
+ background: #f8f9fa;
+ padding-bottom: 90px;
+ }
+
+ .form-section {
+ margin: 12px;
+ border-radius: 12px;
+ overflow: hidden;
+ }
+</style>
--
Gitblit v1.9.3