({
- state() {
- return {
- count: 0
- }
- },
- mutations: {
- increment(state: { count: number }) {
- state.count++
- }
- }
-})
-
-
-
-
->>>>>>> 232db255 ('首次提交')
diff --git a/src/views/business/preRegistration/index.vue b/src/views/business/preRegistration/index.vue
index 4cf0d3e..3b9b147 100644
--- a/src/views/business/preRegistration/index.vue
+++ b/src/views/business/preRegistration/index.vue
@@ -16,11 +16,16 @@
required
/>
-
委托人信息
-
+
@@ -42,7 +47,6 @@
-
-
相对方信息
-
+
@@ -80,7 +89,6 @@
-
-
@@ -106,7 +113,6 @@
required
/>
-
@@ -123,7 +129,6 @@
-
提交
@@ -158,6 +163,11 @@ interface FormData {
handler: string;
}
+// 选择的委托人
+const selectedClients = ref([]);
+// 选择的相对方
+const selectedOpponents = ref([]);
+
// 表单数据
const formData = reactive({
preCaseDate: "",
@@ -181,8 +191,10 @@ const deleteClient = (index: number) => {
formData.clients.forEach((client, idx) => {
client.index = idx + 1;
});
+ } else if (formData.opponents.length === 0) {
+ ElMessage.warning("委托方和相对方至少需要存在一个");
} else {
- ElMessage.warning("至少保留一项委托人信息");
+ formData.clients.splice(index, 1);
}
};
@@ -192,10 +204,36 @@ const copyClient = (client: Client) => {
formData.clients.push({ ...client, index: newIndex });
};
+// 处理委托人选择
+const handleClientSelectionChange = (selection: Client[]) => {
+ selectedClients.value = selection;
+};
+
// 批量删除委托人
const batchDeleteClients = () => {
- // 这里需要结合表格的selection功能实现批量删除
- ElMessage.info("批量删除功能待实现");
+ if (selectedClients.value.length === 0) {
+ ElMessage.warning("请选择要删除的委托人");
+ return;
+ }
+
+ // 检查是否删除后还剩至少一个(或相对方存在)
+ if (
+ formData.clients.length - selectedClients.value.length === 0 &&
+ formData.opponents.length === 0
+ ) {
+ ElMessage.warning("委托方和相对方至少需要存在一个");
+ return;
+ }
+
+ // 执行批量删除
+ formData.clients = formData.clients.filter((client) => !selectedClients.value.includes(client));
+ // 更新序号
+ formData.clients.forEach((client, idx) => {
+ client.index = idx + 1;
+ });
+ // 清空选择
+ selectedClients.value = [];
+ ElMessage.success("批量删除成功");
};
// 新增相对方
@@ -212,8 +250,10 @@ const deleteOpponent = (index: number) => {
formData.opponents.forEach((opponent, idx) => {
opponent.index = idx + 1;
});
+ } else if (formData.clients.length === 0) {
+ ElMessage.warning("委托方和相对方至少需要存在一个");
} else {
- ElMessage.warning("至少保留一项相对方信息");
+ formData.opponents.splice(index, 1);
}
};
@@ -223,10 +263,38 @@ const copyOpponent = (opponent: Opponent) => {
formData.opponents.push({ ...opponent, index: newIndex });
};
+// 处理相对方选择
+const handleOpponentSelectionChange = (selection: Opponent[]) => {
+ selectedOpponents.value = selection;
+};
+
// 批量删除相对方
const batchDeleteOpponents = () => {
- // 这里需要结合表格的selection功能实现批量删除
- ElMessage.info("批量删除功能待实现");
+ if (selectedOpponents.value.length === 0) {
+ ElMessage.warning("请选择要删除的相对方");
+ return;
+ }
+
+ // 检查是否删除后还剩至少一个(或委托方存在)
+ if (
+ formData.opponents.length - selectedOpponents.value.length === 0 &&
+ formData.clients.length === 0
+ ) {
+ ElMessage.warning("委托方和相对方至少需要存在一个");
+ return;
+ }
+
+ // 执行批量删除
+ formData.opponents = formData.opponents.filter(
+ (opponent) => !selectedOpponents.value.includes(opponent)
+ );
+ // 更新序号
+ formData.opponents.forEach((opponent, idx) => {
+ opponent.index = idx + 1;
+ });
+ // 清空选择
+ selectedOpponents.value = [];
+ ElMessage.success("批量删除成功");
};
// 提交表单
@@ -237,14 +305,20 @@ const handleSubmit = () => {
return;
}
- // 验证委托人信息
+ // 验证委托方和相对方至少存在一个
+ if (formData.clients.length === 0 && formData.opponents.length === 0) {
+ ElMessage.error("委托方和相对方至少需要存在一个");
+ return;
+ }
+
+ // 验证委托人信息(如果存在)
const invalidClients = formData.clients.filter((client) => !client.name || !client.idNumber);
if (invalidClients.length > 0) {
ElMessage.error("请填写完整的委托人信息");
return;
}
- // 验证相对方信息
+ // 验证相对方信息(如果存在)
const invalidOpponents = formData.opponents.filter(
(opponent) => !opponent.name || !opponent.idNumber
);
diff --git a/tsconfig.json b/tsconfig.json
index 8e1a1fa..4b4ebba 100644
--- a/tsconfig.json
+++ b/tsconfig.json
@@ -1,7 +1,6 @@
{
"compilerOptions": {
"target": "esnext",
-<<<<<<< HEAD
"module": "esnext",
"moduleResolution": "bundler",
"lib": ["esnext", "dom"],
@@ -38,18 +37,4 @@
"uno.config.ts"
],
"exclude": ["node_modules", "dist"]
-=======
- "useDefineForClassFields": true,
- "module": "esnext",
- "moduleResolution": "node",
- "strict": true,
- "jsx": "preserve",
- "sourceMap": true,
- "resolveJsonModule": true,
- "esModuleInterop": true,
- "lib": ["esnext", "dom"]
- },
- "include": ["src/**/*.ts", "src/**/*.d.ts", "src/**/*.tsx", "src/**/*.vue"],
-
->>>>>>> 232db255 ('首次提交')
}
diff --git a/vite.config.ts b/vite.config.ts
index 28951e4..15bca5f 100644
--- a/vite.config.ts
+++ b/vite.config.ts
@@ -1,4 +1,3 @@
-<<<<<<< HEAD
import vue from "@vitejs/plugin-vue";
import { type ConfigEnv, type UserConfig, loadEnv, defineConfig, PluginOption } from "vite";
@@ -238,12 +237,3 @@ export default defineConfig(({ mode }: ConfigEnv): UserConfig => {
},
};
});
-=======
-import { defineConfig } from 'vite'
-import vue from '@vitejs/plugin-vue'
-
-// https://vitejs.dev/config/
-export default defineConfig({
- plugins: [vue()]
-})
->>>>>>> 232db255 ('首次提交')