This commit is contained in:
jiangjunhong 2025-04-28 11:21:39 +08:00
parent ea723f36a6
commit 6a95d919a2
12 changed files with 12 additions and 173 deletions

View File

@ -72,9 +72,6 @@ export {};
'__ctx' extends keyof __VLS_PickNotAny<K, {}> ? K extends { __ctx?: infer Ctx } ? Ctx : never : any
, T extends (props: any, ctx: infer Ctx) => any ? Ctx : any
>>;
type __VLS_OmitStringIndex<T> = {
[K in keyof T as string extends K ? never : K]: T[K];
};
type __VLS_UseTemplateRef<T> = Readonly<import('vue').ShallowRef<T | null>>;
function __VLS_getVForSourceType<T extends number | string | any[] | Iterable<any>>(source: T): [
@ -116,6 +113,6 @@ export {};
: (_: {} & Record<string, unknown>, ctx?: any) => { __ctx?: { attrs?: any, expose?: any, slots?: any, emit?: any, props?: {} & Record<string, unknown> } };
function __VLS_functionalComponentArgsRest<T extends (...args: any) => any>(t: T): 2 extends Parameters<T>['length'] ? [any] : [];
function __VLS_asFunctionalElement<T>(tag: T, endTag?: T): (attrs: T & Record<string, unknown>) => void;
function __VLS_asFunctionalSlot<S>(slot: S): (props: NonNullable<S> extends (props: infer P) => any ? P : {}) => void;
function __VLS_asFunctionalSlot<S>(slot: S): S extends () => infer R ? (props: {}) => R : NonNullable<S>;
function __VLS_tryAsConstant<const T>(t: T): T;
}

View File

@ -1,6 +1,6 @@
import { defineStore } from 'pinia'
import { ImportLevelApi, type ImportLevelVO } from '@/api/crm/config/Importlevel'
import { ChannelApi, type ChannelVO } from '@/api/crm/config/channel'
import { ChannelApi, type ChannelVO } from '@/api/crm/data/upload/channel'
import { FollowStatusApi, type FollowStatusVO } from '@/api/crm/config/followstatus'
import { CustomerSourceApi } from '@/api/crm/config/customersource'
import { CustomerTypeApi } from '@/api/crm/config/customertype'

View File

@ -25,6 +25,7 @@ declare module 'vue' {
BoundaryEventTimer: typeof import('./../components/bpmnProcessDesigner/package/penal/custom-config/components/BoundaryEventTimer.vue')['default']
CallActivity: typeof import('./../components/bpmnProcessDesigner/package/penal/task/task-components/CallActivity.vue')['default']
CardTitle: typeof import('./../components/Card/src/CardTitle.vue')['default']
Channel: typeof import('../api/crm/data/upload/channelndex.ts')['default']
Circulate: typeof import('./../api/crm/circulate/index.ts')['default']
ColorInput: typeof import('./../components/ColorInput/index.vue')['default']
ComponentContainer: typeof import('./../components/DiyEditor/components/ComponentContainer.vue')['default']

View File

@ -1,159 +0,0 @@
<template>
<ContentWrap>
<!-- 搜索工作栏 -->
<el-form
class="-mb-15px"
:model="queryParams"
ref="queryFormRef"
:inline="true"
label-width="68px"
>
<el-form-item label="渠道类型" prop="type">
<el-select v-model="queryParams.type" placeholder="请选择" clearable class="!w-240px">
<el-option
v-for="dict in getIntDictOptions(DICT_TYPE.CRM_CHANNEL_TYPE)"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
<el-form-item label="渠道名称" prop="name">
<el-input
v-model="queryParams.name"
placeholder="请输入渠道名称"
clearable
class="!w-240px"
/>
</el-form-item>
<el-form-item>
<el-button @click="handleQuery"><Icon icon="ep:search" class="mr-5px" /> 搜索</el-button>
<el-button @click="resetQuery"><Icon icon="ep:refresh" class="mr-5px" /> 重置</el-button>
<el-button
type="primary"
plain
@click="openForm('create')"
v-hasPermi="['crm:config-channel:create']"
>
<Icon icon="ep:plus" class="mr-5px" /> 新增
</el-button>
</el-form-item>
</el-form>
</ContentWrap>
<!-- 列表 -->
<ContentWrap>
<el-table v-loading="loading" :data="list" :stripe="true" :show-overflow-tooltip="true">
<el-table-column label="序号" align="center" width="60" type="index" />
<el-table-column label="渠道类型" align="left" width="120" prop="type" >
<template #default="scope">
<dict-tag :type="DICT_TYPE.CRM_CHANNEL_TYPE" :value="scope.row.type" />
</template>
</el-table-column>
<el-table-column label="渠道名称" align="left" width="120" prop="name" />
<el-table-column label="备注" align="left" min-width="120" prop="remark" />
<el-table-column label="操作" align="left" width="120px">
<template #default="scope">
<el-button
link
type="primary"
@click="openForm('update', scope.row.id)"
v-hasPermi="['crm:config-channel:update']"
>
编辑
</el-button>
<el-button
link
type="danger"
@click="handleDelete(scope.row.id)"
v-hasPermi="['crm:config-channel:delete']"
>
删除
</el-button>
</template>
</el-table-column>
</el-table>
<!-- 分页 -->
<Pagination
:total="total"
v-model:page="queryParams.pageNo"
v-model:limit="queryParams.pageSize"
@pagination="getList"
/>
</ContentWrap>
<!-- 表单弹窗添加/修改 -->
<ChannelForm ref="formRef" @success="getList" />
</template>
<script setup lang="ts">
import { DICT_TYPE, getIntDictOptions } from '@/utils/dict'
import { ChannelApi, ChannelVO } from '@/api/crm/config/channel'
import ChannelForm from './ChannelForm.vue'
/** 渠道管理 列表 */
defineOptions({ name: 'Channel' })
const message = useMessage() //
const { t } = useI18n() //
const loading = ref(true) //
const list = ref<ChannelVO[]>([]) //
const total = ref(0) //
const queryParams = reactive({
pageNo: 1,
pageSize: 15,
type: undefined,
name: undefined
})
const queryFormRef = ref() //
/** 查询列表 */
const getList = async () => {
loading.value = true
try {
const data = await ChannelApi.getChannelPage(queryParams)
list.value = data.list
total.value = data.total
} finally {
loading.value = false
}
}
/** 搜索按钮操作 */
const handleQuery = () => {
queryParams.pageNo = 1
getList()
}
/** 重置按钮操作 */
const resetQuery = () => {
queryFormRef.value.resetFields()
handleQuery()
}
/** 添加/修改操作 */
const formRef = ref()
const openForm = (type: string, id?: number) => {
formRef.value.open(type, id)
}
/** 删除按钮操作 */
const handleDelete = async (id: number) => {
try {
//
await message.delConfirm()
//
await ChannelApi.deleteChannel(id)
message.success(t('common.delSuccess'))
//
await getList()
} catch {}
}
/** 初始化 **/
onMounted(() => {
getList()
})
</script>

View File

@ -228,7 +228,7 @@ import { dateFormatter } from '@/utils/formatTime'
import { buildTree } from '@/utils/tree'
import { handlePrevNext } from '@/utils/crm'
import {CustomerSourceApi} from '@/api/crm/config/customersource'
import {ChannelApi,ChannelVO} from '@/api/crm/config/channel'
import {ChannelApi,ChannelVO} from '@/api/crm/data/upload/channel'
import {CustomerInforApi, CustomerInforVO} from '@/api/crm/customer/customer'
import CustomerDetail from '@/views/crm/components/Customer/Detail.vue'
import AllocateForm from '@/views/crm/components/Allocate/AllocateForm.vue'

View File

@ -89,7 +89,7 @@
<script setup lang="ts">
import { dateFormatter } from '@/utils/formatTime'
import { DataContrastApi, DataContrastVO } from '@/api/crm/data/networkpush/datacontrast'
import { ChannelApi, ChannelVO } from '@/api/crm/config/channel'
import { ChannelApi, ChannelVO } from '@/api/crm/data/upload/channel'
/** 撞库数据 列表 */
defineOptions({ name: 'DataContrast' })

View File

@ -105,7 +105,7 @@
<script setup lang="ts">
import { dateFormatter } from '@/utils/formatTime'
import { RawDataApi, RawDataVO } from '@/api/crm/data/networkpush/rawdata'
import { ChannelApi } from '@/api/crm/config/channel'
import { ChannelApi } from '@/api/crm/data/upload/channel'
/** 原始数据 列表 */
defineOptions({ name: 'RawData' })

View File

@ -32,7 +32,7 @@
</template>
<script setup lang="ts">
import { DICT_TYPE, getIntDictOptions } from '@/utils/dict'
import { ChannelApi, ChannelVO } from '@/api/crm/config/channel'
import { ChannelApi, ChannelVO } from '@/api/crm/data/upload/channel'
/** 渠道管理 表单 */
defineOptions({ name: 'ChannelForm' })

View File

@ -88,10 +88,10 @@
<script setup lang="ts">
import { DICT_TYPE, getIntDictOptions } from '@/utils/dict'
import { ChannelApi, ChannelVO } from '@/api/crm/config/channel'
import ChannelForm from './ChannelForm.vue'
import { ChannelApi, ChannelVO } from '@/api/crm/data/upload/channel'
import ChannelForm from '@/views/crm/data/upload/channel/ChannelForm.vue'
/** 渠道管理 列表 */
/** 渠道管理 列表 */
defineOptions({ name: 'Channel' })
const message = useMessage() //

View File

@ -136,7 +136,7 @@ import { useCrmStore } from '@/store/modules/crm'
import { storeToRefs } from 'pinia'
import { getAccessToken, getTenantId } from '@/utils/auth'
import download from '@/utils/download'
import { ChannelVO } from '@/api/crm/config/channel'
import { ChannelVO } from '@/api/crm/data/upload/channel'
import {UploadRecordApi} from '@/api/crm/data/upload/record'
import { CrmCustomerDataBelongEnum } from '@/utils/constants'

View File

@ -175,7 +175,7 @@ import { buildTree } from '@/utils/tree'
import UploadForm from './UploadForm.vue'
import { onMounted } from 'vue'
import { OpenSeaApi, OpenSeaVO } from '@/api/crm/opensea'
import { ChannelApi, ChannelVO } from '@/api/crm/config/channel'
import { ChannelApi, ChannelVO } from '@/api/crm/data/upload/channel'
import {CustomerSourceApi} from '@/api/crm/config/customersource'
import * as UserApi from '@/api/system/user'
import { useCrmStore } from '@/store/modules/crm'