From 7c0581f15f66a12f9c95a719a6617f0bcd5efa7f Mon Sep 17 00:00:00 2001 From: qsh <> Date: Mon, 20 Oct 2025 17:56:22 +0800 Subject: [PATCH] sc --- .env.base | 4 +- src/router/modules/remaining.ts | 41 +- src/views/Clue/Order/Comp/OrderRemark.vue | 52 +- src/views/Clue/Pool/ClueEnroll.vue | 553 +++++++++++++++++++++ src/views/Clue/Pool/Comp/DialogRemark.vue | 6 +- src/views/Clue/Pool/Comp/DialogSuccess.vue | 3 + src/views/Clue/ReceiveInput/index.vue | 31 +- 7 files changed, 640 insertions(+), 50 deletions(-) create mode 100644 src/views/Clue/Pool/ClueEnroll.vue diff --git a/.env.base b/.env.base index c4e5a4a..9c6f2ee 100644 --- a/.env.base +++ b/.env.base @@ -4,9 +4,9 @@ VITE_NODE_ENV=development VITE_DEV=true # 请求路径 -# VITE_BASE_URL='http://47.98.161.246:48080' +VITE_BASE_URL='http://47.98.161.246:48080' # VITE_BASE_URL='http://114.215.207.150:48080' -VITE_BASE_URL='http://localhost:48080' +# VITE_BASE_URL='http://localhost:48080' # 高德地图key密钥 # 1寻驾 diff --git a/src/router/modules/remaining.ts b/src/router/modules/remaining.ts index 6386088..dac7398 100644 --- a/src/router/modules/remaining.ts +++ b/src/router/modules/remaining.ts @@ -58,21 +58,21 @@ const remainingRouter: AppRouteRecordRaw[] = [ meta: { title: '首页', hidden: true - }, - children: [ - { - path: '/index', - component: () => import('@/views/Basic/Menu/index.vue'), - name: 'Home', - meta: { - title: '首页', - icon: 'ep:home-filled', - noTagsView: true, - affix: true - // hidden: true - } - } - ] + } + // ,children: [ + // { + // path: '/index', + // component: () => import('@/views/Basic/Menu/index.vue'), + // name: 'Home', + // meta: { + // title: '首页', + // icon: 'ep:home-filled', + // noTagsView: true, + // affix: true + // // hidden: true + // } + // } + // ] }, { path: '/swagger', @@ -175,6 +175,17 @@ const remainingRouter: AppRouteRecordRaw[] = [ permission: 'clue:receiveInput:index' } }, + { + path: '/clue-enroll/:id', + name: 'ClueEnroll', + component: () => import('@/views/Clue/Pool/ClueEnroll.vue'), + meta: { + title: '学员报名登记', + hidden: true, + noTagsView: true, + permission: 'clue:pool:enroll' + } + }, { path: '/login', component: () => import('@/views/Login/Login.vue'), diff --git a/src/views/Clue/Order/Comp/OrderRemark.vue b/src/views/Clue/Order/Comp/OrderRemark.vue index 86379af..8ca3357 100644 --- a/src/views/Clue/Order/Comp/OrderRemark.vue +++ b/src/views/Clue/Order/Comp/OrderRemark.vue @@ -14,7 +14,7 @@ - + - - - - - - - - - - + + + + + + + + + + + + + + import { getSimpleUserList as getUserOption } from '@/api/system/user' -// import { removeNullField } from '@/utils/index' -import { dateFormatter } from '@/utils/formatTime' +import { getClueRemarkPage } from '@/api/clue/clueRemark' +import { removeNullField } from '@/utils/index' onMounted(() => { getOptions() @@ -149,9 +159,9 @@ const total = ref(0) async function getList() { loading.value = true try { - // const data = await SettleApi.getSchoolSettlePage(removeNullField(searchForm.value)) - // tableList.value = data.list - // total.value = data.total + const data = await getClueRemarkPage(removeNullField(searchForm.value)) + tableList.value = data.list + total.value = data.total } finally { loading.value = false } diff --git a/src/views/Clue/Pool/ClueEnroll.vue b/src/views/Clue/Pool/ClueEnroll.vue new file mode 100644 index 0000000..3c8158d --- /dev/null +++ b/src/views/Clue/Pool/ClueEnroll.vue @@ -0,0 +1,553 @@ + + + + + diff --git a/src/views/Clue/Pool/Comp/DialogRemark.vue b/src/views/Clue/Pool/Comp/DialogRemark.vue index 55976c1..b772e4b 100644 --- a/src/views/Clue/Pool/Comp/DialogRemark.vue +++ b/src/views/Clue/Pool/Comp/DialogRemark.vue @@ -34,6 +34,7 @@ import { getWxGroupSimpleList, getClueRemarkByClueId, reportClue } from '@/api/c import { useUserStore } from '@/store/modules/user' const userStore = useUserStore() +const message = useMessage() const form = ref({ remarkContent: '', @@ -86,8 +87,9 @@ function handleSave() { if (valid) { formLoading.value = true try { - const data = await reportClue(form.value) - message.success(data) + await reportClue(form.value) + message.success('提交报备信息成功') + show.value = false } catch (error) { console.error('提交报备信息失败', error) } finally { diff --git a/src/views/Clue/Pool/Comp/DialogSuccess.vue b/src/views/Clue/Pool/Comp/DialogSuccess.vue index c7156d9..24c25b5 100644 --- a/src/views/Clue/Pool/Comp/DialogSuccess.vue +++ b/src/views/Clue/Pool/Comp/DialogSuccess.vue @@ -413,6 +413,9 @@ const props = defineProps({ }) const prodTotalPrice = computed(() => { + if (appStore.getAppInfo?.instanceType != 2) { + return 0 + } return form.value.signProducts.reduce( (pre, cur) => pre + (cur?.price || 0) * (cur?.signNum || 0), 0 diff --git a/src/views/Clue/ReceiveInput/index.vue b/src/views/Clue/ReceiveInput/index.vue index e1fa3df..beb98ef 100644 --- a/src/views/Clue/ReceiveInput/index.vue +++ b/src/views/Clue/ReceiveInput/index.vue @@ -9,7 +9,7 @@ @@ -31,7 +31,7 @@ /> - + import { getWxGroupSimpleList } from '@/api/clue/clueRemark' +import { getClueRemarkByRemarkId, registerClue } from '@/api/clue/clueRemark' -const remarkContent = ref( - `学员姓名:测试1\n联系方式:1234321\n意向班型:\n意向成交价:\n邀约时间:\n邀约人:仇教练\n备注:` -) +const route = useRoute() +const message = useMessage() const groupOptions = ref([]) const form = ref({ signInfo: '', - group: '' + groupId: '' }) const rules = { signInfo: [{ required: true, message: '请输入接待信息', trigger: 'blur' }], - group: [{ required: true, message: '请选择群聊', trigger: 'change' }] + groupId: [{ required: true, message: '请选择群聊', trigger: 'change' }] } const formRef = ref(null) @@ -73,8 +73,9 @@ const formRef = ref(null) function handleSubmit() { formRef.value.validate((valid) => { if (valid) { - console.log('提交成功', form) - // 在这里处理提交逻辑 + registerClue(form.value).then(() => { + message.success('提交接待信息成功') + }) } else { console.log('表单验证失败') return false @@ -83,8 +84,18 @@ function handleSubmit() { } onMounted(() => { + if (route.params.id && route.params.id != 0) { + // 这里可以调用API获取会议详情数据 + getClueRemarkByRemarkId({ remarkId: route.params.id }).then((response) => { + form.value = response + }) + } else { + // 关闭网页 + window.close() + } + getWxGroupSimpleList().then((response) => { - groupOptions.value = response.data + groupOptions.value = response }) })