diff --git a/src/api/TagAPI.ts b/src/api/TagAPI.ts new file mode 100644 index 0000000..bf200fa --- /dev/null +++ b/src/api/TagAPI.ts @@ -0,0 +1,51 @@ +import { axios, type Page, type PageResult } from "timi-web"; +import type { Tag, TagApply, TagBizType } from "@/types/Tag"; + +const BASE_URI = "/gao/tag"; + +async function list(page: Page): Promise> { + return await axios.post(`${BASE_URI}/list`, page); +} + +async function detail(id: string): Promise { + return await axios.post(`${BASE_URI}/detail`, undefined, { + params: { id } + }); +} + +async function create(tag: Tag): Promise { + return await axios.post(`${BASE_URI}/create`, tag); +} + +async function update(tag: Tag): Promise { + return await axios.post(`${BASE_URI}/update`, tag); +} + +async function remove(id: string): Promise { + return await axios.post(`${BASE_URI}/delete`, undefined, { + params: { id } + }); +} + +async function listByBizType(bizType: TagBizType, bizId: string): Promise { + return await axios.get(`${BASE_URI}/list/biz/id`, { + params: { + bizType, + bizId + } + }); +} + +async function apply(req: TagApply): Promise { + return await axios.post(`${BASE_URI}/apply`, req); +} + +export default { + list, + detail, + create, + update, + remove, + listByBizType, + apply +}; diff --git a/src/components/TagSelector.vue b/src/components/TagSelector.vue new file mode 100644 index 0000000..4c890bd --- /dev/null +++ b/src/components/TagSelector.vue @@ -0,0 +1,269 @@ + + + + + diff --git a/src/pages/customer/CustomerDetail.vue b/src/pages/customer/CustomerDetail.vue index c8d06c7..4a695c5 100644 --- a/src/pages/customer/CustomerDetail.vue +++ b/src/pages/customer/CustomerDetail.vue @@ -23,6 +23,12 @@ +