diff --git a/src/api/task.ts b/src/api/task.ts index 25bb3d1..248e461 100644 --- a/src/api/task.ts +++ b/src/api/task.ts @@ -20,6 +20,7 @@ export function apiTaskDelete(params: any) { export function apiTaskList(params: any) { return request.get({ url: '/task_scheduling_plan.task_scheduling_plan/lists', params }) } + //任务日程-详情 export function apiTaskDetails(params: any) { return request.get({ url: '/task_scheduling_plan.task_scheduling_plan/detail', params }) diff --git a/src/api/task_template.ts b/src/api/task_template.ts index 2869ded..96e5706 100644 --- a/src/api/task_template.ts +++ b/src/api/task_template.ts @@ -29,3 +29,8 @@ export function apiTaskTemplateDetail(params: any) { export function apiTaskTypeList(params: any) { return request.get({ url: '/setting.dict.dict_data/lists', params }) } + +// 指定商品 +export function apiGetProductList(params: any) { + return request.get({ url: '/task_template.task_template/getProductList', params }) +} diff --git a/src/views/task_template/dialog_commodity.vue b/src/views/task_template/dialog_commodity.vue new file mode 100644 index 0000000..7d1392e --- /dev/null +++ b/src/views/task_template/dialog_commodity.vue @@ -0,0 +1,93 @@ + + + diff --git a/src/views/task_template/edit_admin.vue b/src/views/task_template/edit_admin.vue index 84f15d8..bccc547 100644 --- a/src/views/task_template/edit_admin.vue +++ b/src/views/task_template/edit_admin.vue @@ -76,6 +76,20 @@ + + + + + + + @@ -212,6 +232,7 @@ import type { PropType } from "vue"; import { dictDataLists } from "@/api/setting/dict"; import taskMap from "./map.vue"; import personnelPopup from "./dialog_index_personnel.vue"; +import dialogCommodity from "./dialog_commodity.vue"; defineProps({ dictData: { type: Object as PropType>, @@ -273,8 +294,11 @@ const formData = reactive({ extend: { task_role: "", // 任务角色 target: "", //目标数量 + product_id: "", //商品id + store_name: "", // 商品名字 }, }); + if (route.query.id) { formData.task_scheduling = route.query.id; } @@ -283,6 +307,19 @@ if (route.query.id) { // datalist.value = res.lists; // }); +// 显示指定商品的任务类型 +const showCommodityTypeList = [ + "town_task_type_marketing_director_9", + "town_task_type_marketing_director_8", + "town_task_type_marketing_director_5", + "town_task_type_marketing_director_4", +]; +const showCommodity = computed(() => { + let flag = false; + if (showCommodityTypeList.includes(formData.type_value)) flag = true; + return flag; +}); + // 显示目标数的任务类型 const showTargetTypeList = [ "town_task_type_marketing_director_9", @@ -329,6 +366,19 @@ const showThree = computed(() => { return flag; }); +// 指定商品弹窗 +const showDialogCommodity = ref(false); +const openCommodity = () => { + showDialogCommodity.value = true; +}; + +const customEventCommodity = (e: any) => { + formData.extend.product_id = e.product_id; + formData.extend.store_name = e.store_name; + formRef.value?.clearValidate("extend.product_id"); + showDialogCommodity.value = false; +}; + // 表单验证 const formRules = reactive({ title: [ @@ -402,6 +452,13 @@ const formRules = reactive({ trigger: ["blur"], }, ], + "extend.product_id": [ + { + required: true, + message: "请选择商品", + trigger: ["blur"], + }, + ], }); // 获取详情