|
|
@ -2,30 +2,30 @@ |
|
|
<el-card class="card1" style="margin-bottom: 1vh;"> |
|
|
<el-card class="card1" style="margin-bottom: 1vh;"> |
|
|
<div class="condition"> |
|
|
<div class="condition"> |
|
|
<div class="condition-item1"> |
|
|
<div class="condition-item1"> |
|
|
<el-text size="large">活动名称:</el-text> |
|
|
|
|
|
<el-input v-model="searchForm.activityName" style="width: 10vw" placeholder="请输入活动名称" clearable /> |
|
|
|
|
|
|
|
|
<el-text size="large">{{ t('common.activityName') }}:</el-text> |
|
|
|
|
|
<el-input v-model="searchForm.activityName" style="width: 10vw" :placeholder="t('common.activityNamePlaceholder')" clearable /> |
|
|
</div> |
|
|
</div> |
|
|
<div class="condition-item1"> |
|
|
<div class="condition-item1"> |
|
|
<el-text size="large">业绩归属:</el-text> |
|
|
|
|
|
|
|
|
<el-text size="large">{{ t('common.type') }}:</el-text> |
|
|
<!-- <el-cascader v-model="searchForm.businessBelong" :options="marketOptions" placeholder="请选择所属地区" clearable |
|
|
<!-- <el-cascader v-model="searchForm.businessBelong" :options="marketOptions" placeholder="请选择所属地区" clearable |
|
|
style="width: 10vw" /> --> |
|
|
style="width: 10vw" /> --> |
|
|
<el-select v-model="searchForm.businessBelong" placeholder="请选择业绩归属" style="width: 10vw" clearable> |
|
|
|
|
|
<el-option label="客户归属地" value="客户归属地" /> |
|
|
|
|
|
<el-option label="活动归属地" value="活动归属地" /> |
|
|
|
|
|
|
|
|
<el-select v-model="searchForm.businessBelong" :placeholder="t('common.typePlaceholder')" style="width: 10vw" clearable> |
|
|
|
|
|
<el-option :label="t('common.customerBelong')" value="客户归属地" /> |
|
|
|
|
|
<el-option :label="t('common.activityBelong')" value="活动归属地" /> |
|
|
</el-select> |
|
|
</el-select> |
|
|
</div> |
|
|
</div> |
|
|
<div class="condition-item2"> |
|
|
<div class="condition-item2"> |
|
|
<el-text size="large">开始时间:</el-text> |
|
|
|
|
|
<el-date-picker v-model="searchForm.startTime" type="datetime" placeholder="请选择开始时间" |
|
|
|
|
|
|
|
|
<el-text size="large">{{ t('common.startTime') }}:</el-text> |
|
|
|
|
|
<el-date-picker v-model="searchForm.startTime" type="datetime" :placeholder="t('common.startTime')" |
|
|
format="YYYY-MM-DD HH:mm:ss" :default-time="defaultStartTime" clearable /> |
|
|
format="YYYY-MM-DD HH:mm:ss" :default-time="defaultStartTime" clearable /> |
|
|
</div> |
|
|
</div> |
|
|
<div class="condition-item2"> |
|
|
<div class="condition-item2"> |
|
|
<el-text size="large">结束时间:</el-text> |
|
|
|
|
|
<el-date-picker v-model="searchForm.endTime" type="datetime" placeholder="请选择结束时间" |
|
|
|
|
|
|
|
|
<el-text size="large">{{ t('common.endTime') }}:</el-text> |
|
|
|
|
|
<el-date-picker v-model="searchForm.endTime" type="datetime" :placeholder="t('common.endTime')" |
|
|
format="YYYY-MM-DD HH:mm:ss" :default-time="defaultEndTime" clearable /> |
|
|
format="YYYY-MM-DD HH:mm:ss" :default-time="defaultEndTime" clearable /> |
|
|
</div> |
|
|
</div> |
|
|
<el-button type="primary" @click="getActivity">查询</el-button> |
|
|
|
|
|
<el-button type="success" @click="reset">重置</el-button> |
|
|
|
|
|
|
|
|
<el-button type="primary" @click="getActivity">{{ t('common.search') }}</el-button> |
|
|
|
|
|
<el-button type="success" @click="reset">{{ t('common.reset') }}</el-button> |
|
|
</div> |
|
|
</div> |
|
|
</el-card> |
|
|
</el-card> |
|
|
|
|
|
|
|
|
@ -33,31 +33,31 @@ |
|
|
|
|
|
|
|
|
<el-card class="card2"> |
|
|
<el-card class="card2"> |
|
|
<div class="add-item"> |
|
|
<div class="add-item"> |
|
|
<el-button type="success" @click="showAdd = true">新增活动</el-button> |
|
|
|
|
|
|
|
|
<el-button type="success" @click="showAdd = true">{{ t('common.addActivity') }}</el-button> |
|
|
</div> |
|
|
</div> |
|
|
<div> |
|
|
<div> |
|
|
<el-table :data="tableData" style="width: 82vw;height:70vh;" :row-style="{ height: '50px' }"> |
|
|
<el-table :data="tableData" style="width: 82vw;height:70vh;" :row-style="{ height: '50px' }"> |
|
|
<el-table-column type="index" label="序号" width="100px" fixed="left"> |
|
|
|
|
|
|
|
|
<el-table-column type="index" :label="t('common_list.id')" width="100px" fixed="left"> |
|
|
<template #default="scope"> |
|
|
<template #default="scope"> |
|
|
<span>{{ scope.$index + 1 + (pagination.pageNum - 1) * pagination.pageSize }}</span> |
|
|
<span>{{ scope.$index + 1 + (pagination.pageNum - 1) * pagination.pageSize }}</span> |
|
|
</template> |
|
|
</template> |
|
|
</el-table-column> |
|
|
</el-table-column> |
|
|
<el-table-column prop="activityName" label="活动名称" width="150px" show-overflow-tooltip /> |
|
|
|
|
|
<el-table-column prop="businessBelong" label="业绩归属地" width="150px" /> |
|
|
|
|
|
<el-table-column prop="areaName" label="归属地" width="150px" /> |
|
|
|
|
|
<el-table-column prop="startTime" label="开始时间" width="200px"> |
|
|
|
|
|
|
|
|
<el-table-column prop="activityName" :label="t('common_list.activity')" width="150px" show-overflow-tooltip /> |
|
|
|
|
|
<el-table-column prop="businessBelong" :label="t('common_list.businessBelong')" width="150px" /> |
|
|
|
|
|
<el-table-column prop="areaName" :label="t('common_list.market')" width="150px" /> |
|
|
|
|
|
<el-table-column prop="startTime" :label="t('common_list.startTime')" width="200px"> |
|
|
<template #default="scope"> |
|
|
<template #default="scope"> |
|
|
{{ moment(scope.row.startTime).format('YYYY-MM-DD HH:mm:ss') }} |
|
|
{{ moment(scope.row.startTime).format('YYYY-MM-DD HH:mm:ss') }} |
|
|
</template> |
|
|
</template> |
|
|
</el-table-column> |
|
|
</el-table-column> |
|
|
<el-table-column prop="endTime" label="结束时间" width="200px"> |
|
|
|
|
|
|
|
|
<el-table-column prop="endTime" :label="t('common_list.endTime')" width="200px"> |
|
|
<template #default="scope"> |
|
|
<template #default="scope"> |
|
|
{{ |
|
|
{{ |
|
|
moment(scope.row.endTime).format('YYYY-MM-DD HH:mm:ss') |
|
|
moment(scope.row.endTime).format('YYYY-MM-DD HH:mm:ss') |
|
|
}} |
|
|
}} |
|
|
</template> |
|
|
</template> |
|
|
</el-table-column> |
|
|
</el-table-column> |
|
|
<el-table-column prop="status" label="状态" width="150px"> |
|
|
|
|
|
|
|
|
<el-table-column prop="status" :label="t('common_list.status')" width="150px"> |
|
|
<template #default="scope"> |
|
|
<template #default="scope"> |
|
|
{{ scope.row.status === '0' ? '未开始' : |
|
|
{{ scope.row.status === '0' ? '未开始' : |
|
|
scope.row.status === '1' ? '进行中' : |
|
|
scope.row.status === '1' ? '进行中' : |
|
|
@ -65,10 +65,10 @@ |
|
|
}} |
|
|
}} |
|
|
</template> |
|
|
</template> |
|
|
</el-table-column> |
|
|
</el-table-column> |
|
|
<el-table-column prop="creatorName" label="添加人" width="150px" /> |
|
|
|
|
|
<el-table-column prop="operation" label="操作" width="220px"> |
|
|
|
|
|
|
|
|
<el-table-column prop="creatorName" :label="t('common_list.creator')" width="150px" /> |
|
|
|
|
|
<el-table-column prop="operation" :label="t('common_list.operation')" width="220px"> |
|
|
<template #default="scope"> |
|
|
<template #default="scope"> |
|
|
<el-button type="primary" text @click="editOpen(scope.row)">编辑</el-button> |
|
|
|
|
|
|
|
|
<el-button type="primary" text @click="editOpen(scope.row)">{{ t('common.edit') }}</el-button> |
|
|
<!-- <el-button type="danger" text @click="openDel(scope.row)">删除</el-button> --> |
|
|
<!-- <el-button type="danger" text @click="openDel(scope.row)">删除</el-button> --> |
|
|
</template> |
|
|
</template> |
|
|
</el-table-column> |
|
|
</el-table-column> |
|
|
@ -84,72 +84,72 @@ |
|
|
|
|
|
|
|
|
<el-dialog v-model="showAdd" width="20vw" draggable align-center style="background-color: rgb(243,250,254);"> |
|
|
<el-dialog v-model="showAdd" width="20vw" draggable align-center style="background-color: rgb(243,250,254);"> |
|
|
<div class="add-item"> |
|
|
<div class="add-item"> |
|
|
<el-text size="large">活动名称:</el-text> |
|
|
|
|
|
<el-input v-model="addForm.activityName" style="width: 12vw" placeholder="请输入活动名称" maxlength="200" clearable /> |
|
|
|
|
|
|
|
|
<el-text size="large">{{ t('common_add.activity') }}</el-text> |
|
|
|
|
|
<el-input v-model="addForm.activityName" style="width: 12vw" :placeholder="t('common_add.activityPlaceholder')" maxlength="200" clearable /> |
|
|
</div> |
|
|
</div> |
|
|
<div class="add-item"> |
|
|
<div class="add-item"> |
|
|
<el-text size="large">业绩归属:</el-text> |
|
|
|
|
|
|
|
|
<el-text size="large">{{ t('common_add.businessBelong') }}</el-text> |
|
|
<el-radio-group v-model="addForm.businessBelong" style="width: 12vw"> |
|
|
<el-radio-group v-model="addForm.businessBelong" style="width: 12vw"> |
|
|
<el-radio size="large" value="客户归属地">客户归属地</el-radio> |
|
|
|
|
|
<el-radio size="large" value="活动归属地">活动归属地</el-radio> |
|
|
|
|
|
|
|
|
<el-radio size="large" value="客户归属地">{{ t('common.customerBelong') }}</el-radio> |
|
|
|
|
|
<el-radio size="large" value="活动归属地">{{ t('common.activityBelong') }}</el-radio> |
|
|
</el-radio-group> |
|
|
</el-radio-group> |
|
|
</div> |
|
|
</div> |
|
|
<div class="add-item" v-show="addForm.businessBelong === '活动归属地'"> |
|
|
<div class="add-item" v-show="addForm.businessBelong === '活动归属地'"> |
|
|
<el-text size="large">所属地区:</el-text> |
|
|
|
|
|
<el-cascader v-model="addForm.area" :options="marketOptions" placeholder="请选择所属地区" clearable |
|
|
|
|
|
|
|
|
<el-text size="large">{{ t('common_add.market') }}</el-text> |
|
|
|
|
|
<el-cascader v-model="addForm.area" :options="marketOptions" :placeholder="t('common_add.marketPlaceholder')" clearable |
|
|
style="width: 12vw" /> |
|
|
style="width: 12vw" /> |
|
|
</div> |
|
|
</div> |
|
|
<div class="add-item"> |
|
|
<div class="add-item"> |
|
|
<el-text size="large">开始时间:</el-text> |
|
|
|
|
|
<el-date-picker v-model="addForm.startTime" type="datetime" placeholder="请选择开始时间" |
|
|
|
|
|
|
|
|
<el-text size="large">{{ t('common_add.startTime') }}</el-text> |
|
|
|
|
|
<el-date-picker v-model="addForm.startTime" type="datetime" :placeholder="t('common_add.startTime')" |
|
|
:default-time="defaultStartTime" style="width: 12vw" /> |
|
|
:default-time="defaultStartTime" style="width: 12vw" /> |
|
|
</div> |
|
|
</div> |
|
|
<div class="add-item"> |
|
|
<div class="add-item"> |
|
|
<el-text size="large">结束时间:</el-text> |
|
|
|
|
|
<el-date-picker v-model="addForm.endTime" type="datetime" placeholder="请选择结束时间" |
|
|
|
|
|
|
|
|
<el-text size="large">{{ t('common_add.endTime') }}</el-text> |
|
|
|
|
|
<el-date-picker v-model="addForm.endTime" type="datetime" :placeholder="t('common_add.endTime')" |
|
|
:default-time="defaultEndTime" style="width: 12vw" /> |
|
|
:default-time="defaultEndTime" style="width: 12vw" /> |
|
|
</div> |
|
|
</div> |
|
|
<div style="display: flex; justify-content: center; margin-top: 5vh;"> |
|
|
<div style="display: flex; justify-content: center; margin-top: 5vh;"> |
|
|
<el-button type="primary" @click="hideAdd">取消</el-button> |
|
|
|
|
|
<el-button type="primary" @click="throttleGetActivity">确定</el-button> |
|
|
|
|
|
|
|
|
<el-button type="primary" @click="hideAdd">{{ t('common.cancel') }}</el-button> |
|
|
|
|
|
<el-button type="primary" @click="throttleGetActivity">{{ t('common.confirm') }}</el-button> |
|
|
</div> |
|
|
</div> |
|
|
</el-dialog> |
|
|
</el-dialog> |
|
|
|
|
|
|
|
|
<el-dialog v-model="showEdit" width="20vw" draggable align-center style="background-color: rgb(243,250,254);"> |
|
|
<el-dialog v-model="showEdit" width="20vw" draggable align-center style="background-color: rgb(243,250,254);"> |
|
|
<div class="edit-item"> |
|
|
<div class="edit-item"> |
|
|
<el-text size="large">活动名称:</el-text> |
|
|
|
|
|
<el-input v-model="editForm.activityName" style="width: 12vw" placeholder="请输入活动名称" maxlength="200" clearable /> |
|
|
|
|
|
|
|
|
<el-text size="large">{{ t('common_add.activity') }}</el-text> |
|
|
|
|
|
<el-input v-model="editForm.activityName" style="width: 12vw" :placeholder="t('common_add.activityPlaceholder')" maxlength="200" clearable /> |
|
|
</div> |
|
|
</div> |
|
|
|
|
|
|
|
|
<div class="edit-item"> |
|
|
<div class="edit-item"> |
|
|
<el-text size="large">业绩归属:</el-text> |
|
|
|
|
|
|
|
|
<el-text size="large">{{ t('common_add.businessBelong') }}</el-text> |
|
|
<el-radio-group v-model="editForm.businessBelong" style="width: 12vw"> |
|
|
<el-radio-group v-model="editForm.businessBelong" style="width: 12vw"> |
|
|
<el-radio size="large" value="客户归属地">客户归属地</el-radio> |
|
|
|
|
|
<el-radio size="large" value="活动归属地">活动归属地</el-radio> |
|
|
|
|
|
|
|
|
<el-radio size="large" value="客户归属地">{{ t('common.customerBelong') }}</el-radio> |
|
|
|
|
|
<el-radio size="large" value="活动归属地">{{ t('common.activityBelong') }}</el-radio> |
|
|
</el-radio-group> |
|
|
</el-radio-group> |
|
|
</div> |
|
|
</div> |
|
|
<div class="edit-item" v-show="editForm.businessBelong === '活动归属地'"> |
|
|
<div class="edit-item" v-show="editForm.businessBelong === '活动归属地'"> |
|
|
<el-text size="large">所属地区:</el-text> |
|
|
|
|
|
<el-cascader v-model="editForm.area" :options="marketOptions" placeholder="请选择所属地区" clearable |
|
|
|
|
|
|
|
|
<el-text size="large">{{ t('common_add.market') }}</el-text> |
|
|
|
|
|
<el-cascader v-model="editForm.area" :options="marketOptions" :placeholder="t('common_add.marketPlaceholder')" clearable |
|
|
style="width: 12vw" /> |
|
|
style="width: 12vw" /> |
|
|
</div> |
|
|
</div> |
|
|
<div class="edit-item"> |
|
|
<div class="edit-item"> |
|
|
<el-text size="large">开始时间:</el-text> |
|
|
|
|
|
<el-date-picker v-model="editForm.startTime" type="datetime" placeholder="请选择开始时间" |
|
|
|
|
|
|
|
|
<el-text size="large">{{ t('common_add.startTime') }}</el-text> |
|
|
|
|
|
<el-date-picker v-model="editForm.startTime" type="datetime" :placeholder="t('common_add.startTime')" |
|
|
:default-time="defaultStartTime" style="width: 12vw" /> |
|
|
:default-time="defaultStartTime" style="width: 12vw" /> |
|
|
</div> |
|
|
</div> |
|
|
<div class="edit-item"> |
|
|
<div class="edit-item"> |
|
|
<el-text size="large">结束时间:</el-text> |
|
|
|
|
|
<el-date-picker v-model="editForm.endTime" type="datetime" placeholder="请选择结束时间" |
|
|
|
|
|
|
|
|
<el-text size="large">{{ t('common_add.endTime') }}</el-text> |
|
|
|
|
|
<el-date-picker v-model="editForm.endTime" type="datetime" :placeholder="t('common_add.endTime')" |
|
|
:default-time="defaultEndTime" style="width: 12vw" /> |
|
|
:default-time="defaultEndTime" style="width: 12vw" /> |
|
|
</div> |
|
|
</div> |
|
|
<div style="display: flex; justify-content: center; margin-top: 5vh;"> |
|
|
<div style="display: flex; justify-content: center; margin-top: 5vh;"> |
|
|
<el-button type="primary" @click="hideEdit">取消</el-button> |
|
|
|
|
|
<el-button type="primary" @click="handleEdit">确定</el-button> |
|
|
|
|
|
|
|
|
<el-button type="primary" @click="hideEdit">{{ t('common.cancel') }}</el-button> |
|
|
|
|
|
<el-button type="primary" @click="handleEdit">{{ t('common.confirm') }}</el-button> |
|
|
</div> |
|
|
</div> |
|
|
</el-dialog> |
|
|
</el-dialog> |
|
|
|
|
|
|
|
|
<ConfirmDialog v-model="showDel" message="删除该活动数据" @confirm="handleDel()" @cancel="hideDel" @close="hideDel" /> |
|
|
|
|
|
|
|
|
<ConfirmDialog v-model="showDel" :message="t('common.deleteActivityRecord')" @confirm="handleDel()" @cancel="hideDel" @close="hideDel" /> |
|
|
</template> |
|
|
</template> |
|
|
<script setup> |
|
|
<script setup> |
|
|
import { ElMessage, ElPagination } from 'element-plus'; |
|
|
import { ElMessage, ElPagination } from 'element-plus'; |
|
|
@ -163,6 +163,10 @@ const adminStore = useAdminStore(); |
|
|
const { adminData, menuTree } = storeToRefs(adminStore) |
|
|
const { adminData, menuTree } = storeToRefs(adminStore) |
|
|
import ConfirmDialog from '@/components/dialogs/ConfirmDialog.vue' |
|
|
import ConfirmDialog from '@/components/dialogs/ConfirmDialog.vue' |
|
|
import _ from 'lodash' |
|
|
import _ from 'lodash' |
|
|
|
|
|
// 国际化 |
|
|
|
|
|
import { useI18n } from 'vue-i18n'; |
|
|
|
|
|
const {t} = useI18n(); |
|
|
|
|
|
|
|
|
// 活动名称正则表达式 |
|
|
// 活动名称正则表达式 |
|
|
const activityNameReg = /^[\u4e00-\u9fa5a-zA-Z0-9,。!?、;:“”()‘’《》【】{}——~,.!?:;'--()""\[\]_&+=]+$/; |
|
|
const activityNameReg = /^[\u4e00-\u9fa5a-zA-Z0-9,。!?、;:“”()‘’《》【】{}——~,.!?:;'--()""\[\]_&+=]+$/; |
|
|
// 为什么一定要两个--才能成功????????? |
|
|
// 为什么一定要两个--才能成功????????? |
|
|
@ -194,7 +198,7 @@ const editForm = ref({ |
|
|
const marketOptions = ref([]) |
|
|
const marketOptions = ref([]) |
|
|
const getActivity = async function () { |
|
|
const getActivity = async function () { |
|
|
if (!hasMenuPermission(menuTree.value,permissionMapping.view_activity)) { |
|
|
if (!hasMenuPermission(menuTree.value,permissionMapping.view_activity)) { |
|
|
ElMessage.error('无此权限') |
|
|
|
|
|
|
|
|
ElMessage.error(t('elmessage.noPermission')) |
|
|
return |
|
|
return |
|
|
} |
|
|
} |
|
|
const rechargeActivity = { |
|
|
const rechargeActivity = { |
|
|
@ -224,26 +228,26 @@ const getActivity = async function () { |
|
|
} |
|
|
} |
|
|
const handleAdd = async function () { |
|
|
const handleAdd = async function () { |
|
|
if (!hasMenuPermission(menuTree.value,permissionMapping.add_activity)) { |
|
|
if (!hasMenuPermission(menuTree.value,permissionMapping.add_activity)) { |
|
|
ElMessage.error('无此权限') |
|
|
|
|
|
|
|
|
ElMessage.error(t('elmessage.noPermission')) |
|
|
return |
|
|
return |
|
|
} |
|
|
} |
|
|
const activityName = addForm.value.activityName |
|
|
const activityName = addForm.value.activityName |
|
|
if (!validateActivityName(activityName)) return |
|
|
if (!validateActivityName(activityName)) return |
|
|
|
|
|
|
|
|
if (!addForm.value.businessBelong) { |
|
|
if (!addForm.value.businessBelong) { |
|
|
ElMessage.error('请选择业绩归属') |
|
|
|
|
|
|
|
|
ElMessage.error(t('elmessage.selectBusinessBelong')) |
|
|
return |
|
|
return |
|
|
} |
|
|
} |
|
|
if (addForm.value.businessBelong === '活动归属地' && addForm.value.area.length === 0) { |
|
|
if (addForm.value.businessBelong === '活动归属地' && addForm.value.area.length === 0) { |
|
|
ElMessage.error('请选择所属地区') |
|
|
|
|
|
|
|
|
ElMessage.error(t('elmessage.selectMarket')) |
|
|
return |
|
|
return |
|
|
} |
|
|
} |
|
|
if (!addForm.value.startTime) { |
|
|
if (!addForm.value.startTime) { |
|
|
ElMessage.error('请选择开始时间') |
|
|
|
|
|
|
|
|
ElMessage.error(t('elmessage.selectStartTime')) |
|
|
return |
|
|
return |
|
|
} |
|
|
} |
|
|
if (!addForm.value.endTime) { |
|
|
if (!addForm.value.endTime) { |
|
|
ElMessage.error('请选择结束时间') |
|
|
|
|
|
|
|
|
ElMessage.error(t('elmessage.selectEndTime')) |
|
|
return |
|
|
return |
|
|
} |
|
|
} |
|
|
if (addForm.value.businessBelong === '客户归属地') { |
|
|
if (addForm.value.businessBelong === '客户归属地') { |
|
|
@ -264,7 +268,7 @@ const handleAdd = async function () { |
|
|
data: params |
|
|
data: params |
|
|
}) |
|
|
}) |
|
|
if (res.code === 200) { |
|
|
if (res.code === 200) { |
|
|
ElMessage.success('添加成功') |
|
|
|
|
|
|
|
|
ElMessage.success(t('elmessage.addSuccess')) |
|
|
getActivity() |
|
|
getActivity() |
|
|
hideAdd() |
|
|
hideAdd() |
|
|
addForm.value = { |
|
|
addForm.value = { |
|
|
@ -275,7 +279,7 @@ const handleAdd = async function () { |
|
|
endTime: null, |
|
|
endTime: null, |
|
|
} |
|
|
} |
|
|
} else { |
|
|
} else { |
|
|
ElMessage.error(res.msg || '添加失败') |
|
|
|
|
|
|
|
|
ElMessage.error(res.msg || t('elmessage.addFailed')) |
|
|
return |
|
|
return |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
@ -283,30 +287,30 @@ const handleAdd = async function () { |
|
|
const throttleGetActivity = _.throttle(handleAdd, 5000, { trailing: false }); |
|
|
const throttleGetActivity = _.throttle(handleAdd, 5000, { trailing: false }); |
|
|
const handleEdit = async function () { |
|
|
const handleEdit = async function () { |
|
|
if (!hasMenuPermission(menuTree.value,permissionMapping.edit_activity)) { |
|
|
if (!hasMenuPermission(menuTree.value,permissionMapping.edit_activity)) { |
|
|
ElMessage.error('无此权限') |
|
|
|
|
|
|
|
|
ElMessage.error(t('elmessage.noPermission')) |
|
|
return |
|
|
return |
|
|
} |
|
|
} |
|
|
const activityName = editForm.value.activityName |
|
|
const activityName = editForm.value.activityName |
|
|
if (!validateActivityName(activityName)) return |
|
|
if (!validateActivityName(activityName)) return |
|
|
|
|
|
|
|
|
if (!editForm.value.activityName) { |
|
|
if (!editForm.value.activityName) { |
|
|
ElMessage.error('请输入活动名称') |
|
|
|
|
|
|
|
|
ElMessage.error(t('elmessage.checkActivity')) |
|
|
return |
|
|
return |
|
|
} |
|
|
} |
|
|
if (!editForm.value.businessBelong) { |
|
|
if (!editForm.value.businessBelong) { |
|
|
ElMessage.error('请选择业绩归属') |
|
|
|
|
|
|
|
|
ElMessage.error(t('elmessage.selectBusinessBelong')) |
|
|
return |
|
|
return |
|
|
} |
|
|
} |
|
|
if (editForm.value.businessBelong === '活动归属地' && editForm.value.area.length === 0) { |
|
|
if (editForm.value.businessBelong === '活动归属地' && editForm.value.area.length === 0) { |
|
|
ElMessage.error('请选择所属地区') |
|
|
|
|
|
|
|
|
ElMessage.error(t('elmessage.selectMarket')) |
|
|
return |
|
|
return |
|
|
} |
|
|
} |
|
|
if (!editForm.value.startTime) { |
|
|
if (!editForm.value.startTime) { |
|
|
ElMessage.error('请选择开始时间') |
|
|
|
|
|
|
|
|
ElMessage.error(t('elmessage.selectStartTime')) |
|
|
return |
|
|
return |
|
|
} |
|
|
} |
|
|
if (!editForm.value.endTime) { |
|
|
if (!editForm.value.endTime) { |
|
|
ElMessage.error('请选择结束时间') |
|
|
|
|
|
|
|
|
ElMessage.error(t('elmessage.selectEndTime')) |
|
|
return |
|
|
return |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
@ -329,18 +333,18 @@ const handleEdit = async function () { |
|
|
data: params |
|
|
data: params |
|
|
}) |
|
|
}) |
|
|
if (res.code === 200) { |
|
|
if (res.code === 200) { |
|
|
ElMessage.success('修改成功') |
|
|
|
|
|
|
|
|
ElMessage.success(t('elmessage.editSuccess')) |
|
|
getActivity() |
|
|
getActivity() |
|
|
hideEdit() |
|
|
hideEdit() |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
const handleDel = async function (row) { |
|
|
const handleDel = async function (row) { |
|
|
if (!hasMenuPermission(menuTree.value,permissionMapping.delete_activity)) { |
|
|
if (!hasMenuPermission(menuTree.value,permissionMapping.delete_activity)) { |
|
|
ElMessage.error('无此权限') |
|
|
|
|
|
|
|
|
ElMessage.error(t('elmessage.noPermission')) |
|
|
return |
|
|
return |
|
|
} |
|
|
} |
|
|
if (!currentDelRow.value) { |
|
|
if (!currentDelRow.value) { |
|
|
ElMessage.error('当前选择无数据') |
|
|
|
|
|
|
|
|
ElMessage.error(t('elmessage.currentSelectionEmpty')) |
|
|
return |
|
|
return |
|
|
} |
|
|
} |
|
|
const res = await API({ |
|
|
const res = await API({ |
|
|
@ -350,7 +354,7 @@ const handleDel = async function (row) { |
|
|
} |
|
|
} |
|
|
}) |
|
|
}) |
|
|
if (res.code === 200) { |
|
|
if (res.code === 200) { |
|
|
ElMessage.success('删除成功') |
|
|
|
|
|
|
|
|
ElMessage.success(t('elmessage.deleteSuccess')) |
|
|
getActivity() |
|
|
getActivity() |
|
|
showDel.value = false |
|
|
showDel.value = false |
|
|
} |
|
|
} |
|
|
|