From 80367ddf4383493729420bb62aa8c8ebb9616dd9 Mon Sep 17 00:00:00 2001
From: zouyu <2723363702@qq.com>
Date: 星期日, 04 一月 2026 16:54:04 +0800
Subject: [PATCH] 代码调整9

---
 src/views/contractor/evaluateTemplate/Form.vue |  104 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 104 insertions(+), 0 deletions(-)

diff --git a/src/views/contractor/evaluateTemplate/Form.vue b/src/views/contractor/evaluateTemplate/Form.vue
new file mode 100644
index 0000000..d92f435
--- /dev/null
+++ b/src/views/contractor/evaluateTemplate/Form.vue
@@ -0,0 +1,104 @@
+<template>
+  <el-form :model="form" label-width="100px" :rules="formRules" ref="formRef">
+    <el-form-item label="妯℃澘绫诲瀷" prop="incomeType">
+      <el-select
+          v-model="form.incomeType"
+          placeholder="璇烽�夋嫨"
+          clearable
+      >
+        <el-option :label="item.label" :value="item.value" v-for="(item,index) in income_types" :key="index" />
+      </el-select>
+    </el-form-item>
+    <el-form-item label="妯℃澘鍚嶇О" prop="customerName">
+      <el-input v-model="form.customerName" placeholder="璇疯緭鍏�" />
+    </el-form-item>
+    <el-form-item label="妯℃澘缂栧彿" prop="incomeDescribed">
+      <el-input v-model="form.incomeDescribed" placeholder="璇疯緭鍏�" />
+    </el-form-item>
+    <el-form-item label="鐗堟湰鍙�" prop="invoiceNumber">
+      <el-input v-model="form.invoiceNumber" placeholder="璇疯緭鍏�" />
+    </el-form-item>
+    <el-form-item label="澶囨敞" prop="note">
+      <el-input
+          v-model="form.note"
+          placeholder="澶囨敞"
+      />
+    </el-form-item>
+
+  </el-form>
+</template>
+
+<script setup>
+import useFormData from "@/hooks/useFormData";
+import { getAccountIncome } from "@/api/financialManagement/revenueManagement";
+import {ref} from "vue";
+const { proxy } = getCurrentInstance();
+
+
+defineOptions({
+  name: "鏂板鏀跺叆",
+});
+const income_types  = ref([
+  { label: "缁煎悎璇勪环", value: "缁煎悎璇勪环" },
+  { label: "瀹夊叏鐢熶骇璇勪环", value: "瀹夊叏鐢熶骇璇勪环" },
+  { label: "灞ョ害鑳藉姏璇勪环", value: "灞ョ害鑳藉姏璇勪环" },
+  { label: "璧勮川鍚堣璇勪环", value: "璧勮川鍚堣璇勪环" },
+  { label: "鐗圭璁惧缁翠繚璇勪环", value: "鐗圭璁惧缁翠繚璇勪环" },
+  { label: "宸ョ▼鏂藉伐瀹夊叏璇勪环", value: "宸ョ▼鏂藉伐瀹夊叏璇勪环" }
+]);
+const { payment_methods } = proxy.useDict("payment_methods");
+const formRef = ref(null);
+const formRules = {
+  customerName: [{ required: true, trigger: "blur", message: "璇疯緭鍏�" }],
+  incomeMoney: [{ required: true, trigger: "blur", message: "璇疯緭鍏�" }],
+  incomeDescribed: [{ required: true, trigger: "blur", message: "璇疯緭鍏�" }],
+  incomeDate: [{ required: true, trigger: "change", message: "璇烽�夋嫨" }],
+  incomeType: [{ required: true, trigger: "change", message: "璇烽�夋嫨" }],
+  incomeMethod: [{ required: true, trigger: "change", message: "璇烽�夋嫨" }],
+}
+
+const { form, resetForm } = useFormData({
+  incomeDate: undefined, // 鏀跺叆鏃ユ湡
+  incomeType: undefined, // 鏀跺叆绫诲瀷
+  customerName: undefined, // 瀹㈡埛鍚嶇О
+  incomeMoney: undefined, // 鏀跺叆閲戦
+  incomeDescribed: undefined, // 鏀跺叆鎻忚堪
+  incomeMethod: undefined, // 鏀舵鏂瑰紡
+  invoiceNumber: undefined, // 鍙戠エ鍙风爜
+  note: undefined, // 澶囨敞
+});
+
+const loadForm = async (id) => {
+  const { code, data } = await getAccountIncome(id);
+  if (code == 200) {
+    form.incomeDate = data.incomeDate;
+    form.incomeType = data.incomeType;
+    form.customerName = data.customerName;
+    form.incomeMoney = data.incomeMoney;
+    form.incomeDescribed = data.incomeDescribed;
+    form.incomeMethod = data.incomeMethod;
+    form.invoiceNumber = data.invoiceNumber;
+    form.note = data.note;
+  }
+};
+
+// 娓呴櫎琛ㄥ崟鏍¢獙鐘舵��
+const clearValidate = () => {
+  formRef.value?.clearValidate();
+};
+
+// 閲嶇疆琛ㄥ崟鏁版嵁鍜屾牎楠岀姸鎬�
+const resetFormAndValidate = () => {
+  resetForm();
+  clearValidate();
+};
+
+defineExpose({
+  form,
+  loadForm,
+  resetForm,
+  clearValidate,
+  resetFormAndValidate,
+  formRef,
+});
+</script>

--
Gitblit v1.9.3