Merge remote-tracking branch 'yudao/dev' into dev
						commit
						3ddba81e24
					
				
										
											Binary file not shown.
										
									
								
							| 
		 After Width: | Height: | Size: 15 KiB  | 
| 
						 | 
				
			
			@ -202,6 +202,12 @@ _前端基于 crmeb uniapp 经过授权重构,优化代码实现,接入芋
 | 
			
		|||
 | 
			
		||||
演示地址:<https://doc.iocoder.cn/erp-preview/>
 | 
			
		||||
 | 
			
		||||
### CRM 系统
 | 
			
		||||
 | 
			
		||||

 | 
			
		||||
 | 
			
		||||
演示地址:<https://doc.iocoder.cn/crm-preview/>
 | 
			
		||||
 | 
			
		||||
## 🐷 演示图
 | 
			
		||||
 | 
			
		||||
### 系统功能
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -38,3 +38,8 @@ export const getFilePresignedUrl = (path: string) => {
 | 
			
		|||
export const createFile = (data: any) => {
 | 
			
		||||
  return request.post({ url: '/infra/file/create', data })
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// 上传文件
 | 
			
		||||
export const updateFile = (data: any) => {
 | 
			
		||||
  return request.upload({ url: '/infra/file/upload', data })
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,8 +1,6 @@
 | 
			
		|||
import { getAccessToken, getTenantId } from '@/utils/auth'
 | 
			
		||||
import * as FileApi from '@/api/infra/file'
 | 
			
		||||
import CryptoJS from 'crypto-js'
 | 
			
		||||
import { UploadRawFile, UploadRequestOptions } from 'element-plus/es/components/upload/src/upload'
 | 
			
		||||
import { ajaxUpload } from 'element-plus/es/components/upload/src/ajax'
 | 
			
		||||
import axios from 'axios'
 | 
			
		||||
 | 
			
		||||
export const useUpload = () => {
 | 
			
		||||
| 
						 | 
				
			
			@ -26,11 +24,21 @@ export const useUpload = () => {
 | 
			
		|||
        return { data: presignedInfo.url }
 | 
			
		||||
      })
 | 
			
		||||
    } else {
 | 
			
		||||
      // 模式二:后端上传(需要增加后端身份认证请求头)
 | 
			
		||||
      options.headers['Authorization'] = 'Bearer ' + getAccessToken()
 | 
			
		||||
      options.headers['tenant-id'] = getTenantId()
 | 
			
		||||
      // 使用 ElUpload 的上传方法
 | 
			
		||||
      return ajaxUpload(options)
 | 
			
		||||
      // 模式二:后端上传
 | 
			
		||||
      // 重写 el-upload httpRequest 文件上传成功会走成功的钩子,失败走失败的钩子
 | 
			
		||||
      return new Promise((resolve, reject) => {
 | 
			
		||||
        FileApi.updateFile({ file: options.file })
 | 
			
		||||
          .then((res) => {
 | 
			
		||||
            if (res.code === 0) {
 | 
			
		||||
              resolve(res)
 | 
			
		||||
            } else {
 | 
			
		||||
              reject(res)
 | 
			
		||||
            }
 | 
			
		||||
          })
 | 
			
		||||
          .catch((res) => {
 | 
			
		||||
            reject(res)
 | 
			
		||||
          })
 | 
			
		||||
      })
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,5 @@
 | 
			
		|||
import dayjs from 'dayjs'
 | 
			
		||||
import type { TableColumnCtx } from 'element-plus'
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * 日期快捷选项适用于 el-date-picker
 | 
			
		||||
| 
						 | 
				
			
			@ -68,10 +69,7 @@ export function formatDate(date: Date, format?: string): string {
 | 
			
		|||
    return ''
 | 
			
		||||
  }
 | 
			
		||||
  // 日期存在,则进行格式化
 | 
			
		||||
  if (format === undefined) {
 | 
			
		||||
    format = 'YYYY-MM-DD HH:mm:ss'
 | 
			
		||||
  }
 | 
			
		||||
  return dayjs(date).format(format)
 | 
			
		||||
  return date ? dayjs(date).format(format ?? 'YYYY-MM-DD HH:mm:ss') : ''
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
| 
						 | 
				
			
			@ -171,7 +169,7 @@ export function formatAxis(param: Date): string {
 | 
			
		|||
 * @param ms 毫秒
 | 
			
		||||
 * @returns {string} 字符串
 | 
			
		||||
 */
 | 
			
		||||
export function formatPast2(ms) {
 | 
			
		||||
export function formatPast2(ms: number): string {
 | 
			
		||||
  const day = Math.floor(ms / (24 * 60 * 60 * 1000))
 | 
			
		||||
  const hour = Math.floor(ms / (60 * 60 * 1000) - day * 24)
 | 
			
		||||
  const minute = Math.floor(ms / (60 * 1000) - day * 24 * 60 - hour * 60)
 | 
			
		||||
| 
						 | 
				
			
			@ -199,12 +197,8 @@ export function formatPast2(ms) {
 | 
			
		|||
 * @param column 字段
 | 
			
		||||
 * @param cellValue 字段值
 | 
			
		||||
 */
 | 
			
		||||
// @ts-ignore
 | 
			
		||||
export const dateFormatter = (row, column, cellValue): string => {
 | 
			
		||||
  if (!cellValue) {
 | 
			
		||||
    return ''
 | 
			
		||||
  }
 | 
			
		||||
  return formatDate(cellValue)
 | 
			
		||||
export function dateFormatter(_row: any, _column: TableColumnCtx<any>, cellValue: any): string {
 | 
			
		||||
  return cellValue ? formatDate(cellValue) : ''
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
| 
						 | 
				
			
			@ -214,12 +208,8 @@ export const dateFormatter = (row, column, cellValue): string => {
 | 
			
		|||
 * @param column 字段
 | 
			
		||||
 * @param cellValue 字段值
 | 
			
		||||
 */
 | 
			
		||||
// @ts-ignore
 | 
			
		||||
export const dateFormatter2 = (row, column, cellValue) => {
 | 
			
		||||
  if (!cellValue) {
 | 
			
		||||
    return
 | 
			
		||||
  }
 | 
			
		||||
  return formatDate(cellValue, 'YYYY-MM-DD')
 | 
			
		||||
export function dateFormatter2(_row: any, _column: TableColumnCtx<any>, cellValue: any): string {
 | 
			
		||||
  return cellValue ? formatDate(cellValue, 'YYYY-MM-DD') : ''
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
| 
						 | 
				
			
			@ -227,7 +217,7 @@ export const dateFormatter2 = (row, column, cellValue) => {
 | 
			
		|||
 * @param param 传入日期
 | 
			
		||||
 * @returns 带时间00:00:00的日期
 | 
			
		||||
 */
 | 
			
		||||
export function beginOfDay(param: Date) {
 | 
			
		||||
export function beginOfDay(param: Date): Date {
 | 
			
		||||
  return new Date(param.getFullYear(), param.getMonth(), param.getDate(), 0, 0, 0)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -236,7 +226,7 @@ export function beginOfDay(param: Date) {
 | 
			
		|||
 * @param param 传入日期
 | 
			
		||||
 * @returns 带时间23:59:59的日期
 | 
			
		||||
 */
 | 
			
		||||
export function endOfDay(param: Date) {
 | 
			
		||||
export function endOfDay(param: Date): Date {
 | 
			
		||||
  return new Date(param.getFullYear(), param.getMonth(), param.getDate(), 23, 59, 59)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -245,7 +235,7 @@ export function endOfDay(param: Date) {
 | 
			
		|||
 * @param param1 日期1
 | 
			
		||||
 * @param param2 日期2
 | 
			
		||||
 */
 | 
			
		||||
export function betweenDay(param1: Date, param2: Date) {
 | 
			
		||||
export function betweenDay(param1: Date, param2: Date): number {
 | 
			
		||||
  param1 = convertDate(param1)
 | 
			
		||||
  param2 = convertDate(param2)
 | 
			
		||||
  // 计算差值
 | 
			
		||||
| 
						 | 
				
			
			@ -257,7 +247,7 @@ export function betweenDay(param1: Date, param2: Date) {
 | 
			
		|||
 * @param param1 日期
 | 
			
		||||
 * @param param2 添加的时间
 | 
			
		||||
 */
 | 
			
		||||
export function addTime(param1: Date, param2: number) {
 | 
			
		||||
export function addTime(param1: Date, param2: number): Date {
 | 
			
		||||
  param1 = convertDate(param1)
 | 
			
		||||
  return new Date(param1.getTime() + param2)
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -266,7 +256,7 @@ export function addTime(param1: Date, param2: number) {
 | 
			
		|||
 * 日期转换
 | 
			
		||||
 * @param param 日期
 | 
			
		||||
 */
 | 
			
		||||
export function convertDate(param: Date | string) {
 | 
			
		||||
export function convertDate(param: Date | string): Date {
 | 
			
		||||
  if (typeof param === 'string') {
 | 
			
		||||
    return new Date(param)
 | 
			
		||||
  }
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,6 @@
 | 
			
		|||
<template>
 | 
			
		||||
  <doc-alert title="工作流手册" url="https://doc.iocoder.cn/bpm/" />
 | 
			
		||||
 | 
			
		||||
  <ContentWrap>
 | 
			
		||||
    <el-table v-loading="loading" :data="list">
 | 
			
		||||
      <el-table-column label="定义编号" align="center" prop="id" width="400" />
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,6 @@
 | 
			
		|||
<template>
 | 
			
		||||
  <doc-alert title="工作流手册" url="https://doc.iocoder.cn/bpm/" />
 | 
			
		||||
 | 
			
		||||
  <ContentWrap>
 | 
			
		||||
    <!-- 搜索工作栏 -->
 | 
			
		||||
    <el-form
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,6 @@
 | 
			
		|||
<template>
 | 
			
		||||
  <doc-alert title="工作流手册" url="https://doc.iocoder.cn/bpm/" />
 | 
			
		||||
 | 
			
		||||
  <ContentWrap>
 | 
			
		||||
    <!-- 搜索工作栏 -->
 | 
			
		||||
    <el-form
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,6 @@
 | 
			
		|||
<template>
 | 
			
		||||
  <doc-alert title="工作流手册" url="https://doc.iocoder.cn/bpm/" />
 | 
			
		||||
 | 
			
		||||
  <ContentWrap>
 | 
			
		||||
    <!-- 搜索工作栏 -->
 | 
			
		||||
    <el-form
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,6 @@
 | 
			
		|||
<template>
 | 
			
		||||
  <doc-alert title="工作流手册" url="https://doc.iocoder.cn/bpm/" />
 | 
			
		||||
 | 
			
		||||
  <ContentWrap>
 | 
			
		||||
    <!-- 搜索工作栏 -->
 | 
			
		||||
    <el-form
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,6 @@
 | 
			
		|||
<template>
 | 
			
		||||
  <doc-alert title="工作流手册" url="https://doc.iocoder.cn/bpm/" />
 | 
			
		||||
 | 
			
		||||
  <ContentWrap>
 | 
			
		||||
    <!-- 搜索工作栏 -->
 | 
			
		||||
    <el-form
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,6 @@
 | 
			
		|||
<template>
 | 
			
		||||
  <doc-alert title="工作流手册" url="https://doc.iocoder.cn/bpm/" />
 | 
			
		||||
 | 
			
		||||
  <ContentWrap>
 | 
			
		||||
    <!-- 搜索工作栏 -->
 | 
			
		||||
    <el-form
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,6 @@
 | 
			
		|||
<template>
 | 
			
		||||
  <doc-alert title="工作流手册" url="https://doc.iocoder.cn/bpm/" />
 | 
			
		||||
 | 
			
		||||
  <ContentWrap>
 | 
			
		||||
    <!-- 搜索工作栏 -->
 | 
			
		||||
    <el-form
 | 
			
		||||
| 
						 | 
				
			
			@ -75,7 +77,7 @@
 | 
			
		|||
      :total="total"
 | 
			
		||||
      @pagination="getList"
 | 
			
		||||
    />
 | 
			
		||||
    <TaskCCDialogForm  ref="taskCCDialogForm"/>
 | 
			
		||||
    <TaskCCDialogForm ref="taskCCDialogForm" />
 | 
			
		||||
  </ContentWrap>
 | 
			
		||||
</template>
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,6 @@
 | 
			
		|||
<template>
 | 
			
		||||
  <doc-alert title="【通用】跟进记录、待办事项" url="https://doc.iocoder.cn/crm/follow-up/" />
 | 
			
		||||
 | 
			
		||||
  <el-row :gutter="20">
 | 
			
		||||
    <el-col :span="4" class="min-w-[200px]">
 | 
			
		||||
      <div class="side-item-list">
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,7 @@
 | 
			
		|||
<template>
 | 
			
		||||
  <doc-alert title="【商机】商机管理、商机状态" url="https://doc.iocoder.cn/crm/business/" />
 | 
			
		||||
  <doc-alert title="【通用】数据权限" url="https://doc.iocoder.cn/crm/permission/" />
 | 
			
		||||
 | 
			
		||||
  <ContentWrap>
 | 
			
		||||
    <!-- 搜索工作栏 -->
 | 
			
		||||
    <el-form
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,7 @@
 | 
			
		|||
<template>
 | 
			
		||||
  <doc-alert title="【商机】商机管理、商机状态" url="https://doc.iocoder.cn/crm/business/" />
 | 
			
		||||
  <doc-alert title="【通用】数据权限" url="https://doc.iocoder.cn/crm/permission/" />
 | 
			
		||||
 | 
			
		||||
  <ContentWrap>
 | 
			
		||||
    <!-- 搜索工作栏 -->
 | 
			
		||||
    <el-form
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,7 @@
 | 
			
		|||
<template>
 | 
			
		||||
  <doc-alert title="【线索】线索管理" url="https://doc.iocoder.cn/crm/clue/" />
 | 
			
		||||
  <doc-alert title="【通用】数据权限" url="https://doc.iocoder.cn/crm/permission/" />
 | 
			
		||||
 | 
			
		||||
  <ContentWrap>
 | 
			
		||||
    <!-- 搜索工作栏 -->
 | 
			
		||||
    <el-form
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,7 @@
 | 
			
		|||
<template>
 | 
			
		||||
  <doc-alert title="【客户】客户管理、公海客户" url="https://doc.iocoder.cn/crm/customer/" />
 | 
			
		||||
  <doc-alert title="【通用】数据权限" url="https://doc.iocoder.cn/crm/permission/" />
 | 
			
		||||
 | 
			
		||||
  <ContentWrap>
 | 
			
		||||
    <!-- 搜索工作栏 -->
 | 
			
		||||
    <el-form
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,7 @@
 | 
			
		|||
<template>
 | 
			
		||||
  <doc-alert title="【合同】合同管理、合同提醒" url="https://doc.iocoder.cn/crm/contract/" />
 | 
			
		||||
  <doc-alert title="【通用】数据权限" url="https://doc.iocoder.cn/crm/permission/" />
 | 
			
		||||
 | 
			
		||||
  <ContentWrap>
 | 
			
		||||
    <el-form
 | 
			
		||||
      ref="formRef"
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,7 @@
 | 
			
		|||
<template>
 | 
			
		||||
  <doc-alert title="【合同】合同管理、合同提醒" url="https://doc.iocoder.cn/crm/contract/" />
 | 
			
		||||
  <doc-alert title="【通用】数据权限" url="https://doc.iocoder.cn/crm/permission/" />
 | 
			
		||||
 | 
			
		||||
  <ContentWrap>
 | 
			
		||||
    <!-- 搜索工作栏 -->
 | 
			
		||||
    <el-form
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,7 @@
 | 
			
		|||
<template>
 | 
			
		||||
  <doc-alert title="【客户】客户管理、公海客户" url="https://doc.iocoder.cn/crm/customer/" />
 | 
			
		||||
  <doc-alert title="【通用】数据权限" url="https://doc.iocoder.cn/crm/permission/" />
 | 
			
		||||
 | 
			
		||||
  <ContentWrap>
 | 
			
		||||
    <!-- 搜索工作栏 -->
 | 
			
		||||
    <el-form
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,7 @@
 | 
			
		|||
<template>
 | 
			
		||||
  <doc-alert title="【客户】客户管理、公海客户" url="https://doc.iocoder.cn/crm/customer/" />
 | 
			
		||||
  <doc-alert title="【通用】数据权限" url="https://doc.iocoder.cn/crm/permission/" />
 | 
			
		||||
 | 
			
		||||
  <!-- 列表 -->
 | 
			
		||||
  <ContentWrap>
 | 
			
		||||
    <el-tabs>
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,7 @@
 | 
			
		|||
<template>
 | 
			
		||||
  <doc-alert title="【客户】客户管理、公海客户" url="https://doc.iocoder.cn/crm/customer/" />
 | 
			
		||||
  <doc-alert title="【通用】数据权限" url="https://doc.iocoder.cn/crm/permission/" />
 | 
			
		||||
 | 
			
		||||
  <ContentWrap>
 | 
			
		||||
    <!-- 搜索工作栏 -->
 | 
			
		||||
    <el-form
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,7 @@
 | 
			
		|||
<template>
 | 
			
		||||
  <doc-alert title="【客户】客户管理、公海客户" url="https://doc.iocoder.cn/crm/customer/" />
 | 
			
		||||
  <doc-alert title="【通用】数据权限" url="https://doc.iocoder.cn/crm/permission/" />
 | 
			
		||||
 | 
			
		||||
  <ContentWrap>
 | 
			
		||||
    <el-form
 | 
			
		||||
      ref="formRef"
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,6 @@
 | 
			
		|||
<template>
 | 
			
		||||
  <doc-alert title="【产品】产品管理、产品分类" url="https://doc.iocoder.cn/crm/product/" />
 | 
			
		||||
 | 
			
		||||
  <ContentWrap>
 | 
			
		||||
    <!-- 搜索工作栏 -->
 | 
			
		||||
    <el-form
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,6 @@
 | 
			
		|||
<template>
 | 
			
		||||
  <doc-alert title="【产品】产品管理、产品分类" url="https://doc.iocoder.cn/crm/product/" />
 | 
			
		||||
 | 
			
		||||
  <ContentWrap>
 | 
			
		||||
    <!-- 搜索工作栏 -->
 | 
			
		||||
    <el-form
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -186,6 +186,8 @@ const open = async (
 | 
			
		|||
    formLoading.value = true
 | 
			
		||||
    try {
 | 
			
		||||
      formData.value = await ReceivableApi.getReceivable(id)
 | 
			
		||||
      await handleCustomerChange(formData.value.customerId)
 | 
			
		||||
      formData.value.contractId = formData.value.contract.id
 | 
			
		||||
    } finally {
 | 
			
		||||
      formLoading.value = false
 | 
			
		||||
    }
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,7 @@
 | 
			
		|||
<template>
 | 
			
		||||
  <doc-alert title="【回款】回款管理、回款计划" url="https://doc.iocoder.cn/crm/receivable/" />
 | 
			
		||||
  <doc-alert title="【通用】数据权限" url="https://doc.iocoder.cn/crm/permission/" />
 | 
			
		||||
 | 
			
		||||
  <ContentWrap>
 | 
			
		||||
    <!-- 搜索工作栏 -->
 | 
			
		||||
    <el-form
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,7 @@
 | 
			
		|||
<template>
 | 
			
		||||
  <doc-alert title="【回款】回款管理、回款计划" url="https://doc.iocoder.cn/crm/receivable/" />
 | 
			
		||||
  <doc-alert title="【通用】数据权限" url="https://doc.iocoder.cn/crm/permission/" />
 | 
			
		||||
 | 
			
		||||
  <ContentWrap>
 | 
			
		||||
    <!-- 搜索工作栏 -->
 | 
			
		||||
    <el-form
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,9 @@
 | 
			
		|||
<template>
 | 
			
		||||
  <doc-alert
 | 
			
		||||
    title="【财务】采购付款、销售收款"
 | 
			
		||||
    url="https://doc.iocoder.cn/sale/finance-payment-receipt/"
 | 
			
		||||
  />
 | 
			
		||||
 | 
			
		||||
  <ContentWrap>
 | 
			
		||||
    <!-- 搜索工作栏 -->
 | 
			
		||||
    <el-form
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,9 @@
 | 
			
		|||
<template>
 | 
			
		||||
  <doc-alert
 | 
			
		||||
    title="【财务】采购付款、销售收款"
 | 
			
		||||
    url="https://doc.iocoder.cn/sale/finance-payment-receipt/"
 | 
			
		||||
  />
 | 
			
		||||
 | 
			
		||||
  <ContentWrap>
 | 
			
		||||
    <!-- 搜索工作栏 -->
 | 
			
		||||
    <el-form
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,9 @@
 | 
			
		|||
<template>
 | 
			
		||||
  <doc-alert
 | 
			
		||||
    title="【财务】采购付款、销售收款"
 | 
			
		||||
    url="https://doc.iocoder.cn/sale/finance-payment-receipt/"
 | 
			
		||||
  />
 | 
			
		||||
 | 
			
		||||
  <ContentWrap>
 | 
			
		||||
    <!-- 搜索工作栏 -->
 | 
			
		||||
    <el-form
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,6 @@
 | 
			
		|||
<template>
 | 
			
		||||
  <doc-alert title="ERP 手册(功能开启)" url="https://doc.iocoder.cn/erp/build/" />
 | 
			
		||||
 | 
			
		||||
  <div class="flex flex-col">
 | 
			
		||||
    <!-- 销售/采购的全局统计 -->
 | 
			
		||||
    <el-row :gutter="16" class="row">
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,6 @@
 | 
			
		|||
<template>
 | 
			
		||||
  <doc-alert title="【产品】产品信息、分类、单位" url="https://doc.iocoder.cn/erp/product/" />
 | 
			
		||||
 | 
			
		||||
  <ContentWrap>
 | 
			
		||||
    <!-- 搜索工作栏 -->
 | 
			
		||||
    <el-form
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,5 +1,7 @@
 | 
			
		|||
<!-- ERP 产品列表 -->
 | 
			
		||||
<template>
 | 
			
		||||
  <doc-alert title="【产品】产品信息、分类、单位" url="https://doc.iocoder.cn/erp/product/" />
 | 
			
		||||
 | 
			
		||||
  <ContentWrap>
 | 
			
		||||
    <!-- 搜索工作栏 -->
 | 
			
		||||
    <el-form
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,6 @@
 | 
			
		|||
<template>
 | 
			
		||||
  <doc-alert title="【产品】产品信息、分类、单位" url="https://doc.iocoder.cn/erp/product/" />
 | 
			
		||||
 | 
			
		||||
  <ContentWrap>
 | 
			
		||||
    <!-- 搜索工作栏 -->
 | 
			
		||||
    <el-form
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,6 @@
 | 
			
		|||
<template>
 | 
			
		||||
  <doc-alert title="【采购】采购订单、入库、退货" url="https://doc.iocoder.cn/erp/purchase/" />
 | 
			
		||||
 | 
			
		||||
  <ContentWrap>
 | 
			
		||||
    <!-- 搜索工作栏 -->
 | 
			
		||||
    <el-form
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,6 @@
 | 
			
		|||
<template>
 | 
			
		||||
  <doc-alert title="【采购】采购订单、入库、退货" url="https://doc.iocoder.cn/erp/purchase/" />
 | 
			
		||||
 | 
			
		||||
  <ContentWrap>
 | 
			
		||||
    <!-- 搜索工作栏 -->
 | 
			
		||||
    <el-form
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,6 @@
 | 
			
		|||
<template>
 | 
			
		||||
  <doc-alert title="【采购】采购订单、入库、退货" url="https://doc.iocoder.cn/erp/purchase/" />
 | 
			
		||||
 | 
			
		||||
  <ContentWrap>
 | 
			
		||||
    <!-- 搜索工作栏 -->
 | 
			
		||||
    <el-form
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,6 @@
 | 
			
		|||
<template>
 | 
			
		||||
  <doc-alert title="【采购】采购订单、入库、退货" url="https://doc.iocoder.cn/erp/purchase/" />
 | 
			
		||||
 | 
			
		||||
  <ContentWrap>
 | 
			
		||||
    <!-- 搜索工作栏 -->
 | 
			
		||||
    <el-form
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,6 @@
 | 
			
		|||
<template>
 | 
			
		||||
  <doc-alert title="【销售】销售订单、出库、退货" url="https://doc.iocoder.cn/erp/sale/" />
 | 
			
		||||
 | 
			
		||||
  <ContentWrap>
 | 
			
		||||
    <!-- 搜索工作栏 -->
 | 
			
		||||
    <el-form
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,6 @@
 | 
			
		|||
<template>
 | 
			
		||||
  <doc-alert title="【销售】销售订单、出库、退货" url="https://doc.iocoder.cn/erp/sale/" />
 | 
			
		||||
 | 
			
		||||
  <ContentWrap>
 | 
			
		||||
    <!-- 搜索工作栏 -->
 | 
			
		||||
    <el-form
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,6 @@
 | 
			
		|||
<template>
 | 
			
		||||
  <doc-alert title="【销售】销售订单、出库、退货" url="https://doc.iocoder.cn/erp/sale/" />
 | 
			
		||||
 | 
			
		||||
  <ContentWrap>
 | 
			
		||||
    <!-- 搜索工作栏 -->
 | 
			
		||||
    <el-form
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,6 @@
 | 
			
		|||
<template>
 | 
			
		||||
  <doc-alert title="【销售】销售订单、出库、退货" url="https://doc.iocoder.cn/erp/sale/" />
 | 
			
		||||
 | 
			
		||||
  <ContentWrap>
 | 
			
		||||
    <!-- 搜索工作栏 -->
 | 
			
		||||
    <el-form
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,9 @@
 | 
			
		|||
<template>
 | 
			
		||||
  <doc-alert
 | 
			
		||||
    title="【库存】库存调拨、库存盘点"
 | 
			
		||||
    url="https://doc.iocoder.cn/erp/stock-move-check/"
 | 
			
		||||
  />
 | 
			
		||||
 | 
			
		||||
  <ContentWrap>
 | 
			
		||||
    <!-- 搜索工作栏 -->
 | 
			
		||||
    <el-form
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,6 @@
 | 
			
		|||
<template>
 | 
			
		||||
  <doc-alert title="【库存】其它入库、其它出库" url="https://doc.iocoder.cn/erp/stock-in-out/" />
 | 
			
		||||
 | 
			
		||||
  <ContentWrap>
 | 
			
		||||
    <!-- 搜索工作栏 -->
 | 
			
		||||
    <el-form
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,9 @@
 | 
			
		|||
<template>
 | 
			
		||||
  <doc-alert
 | 
			
		||||
    title="【库存】库存调拨、库存盘点"
 | 
			
		||||
    url="https://doc.iocoder.cn/erp/stock-move-check/"
 | 
			
		||||
  />
 | 
			
		||||
 | 
			
		||||
  <ContentWrap>
 | 
			
		||||
    <!-- 搜索工作栏 -->
 | 
			
		||||
    <el-form
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,6 @@
 | 
			
		|||
<template>
 | 
			
		||||
  <doc-alert title="【库存】其它入库、其它出库" url="https://doc.iocoder.cn/erp/stock-in-out/" />
 | 
			
		||||
 | 
			
		||||
  <ContentWrap>
 | 
			
		||||
    <!-- 搜索工作栏 -->
 | 
			
		||||
    <el-form
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,5 +1,7 @@
 | 
			
		|||
<!-- ERP 产品库存明细列表 -->
 | 
			
		||||
<template>
 | 
			
		||||
  <doc-alert title="【库存】产品库存、库存明细" url="https://doc.iocoder.cn/erp/stock/" />
 | 
			
		||||
 | 
			
		||||
  <ContentWrap>
 | 
			
		||||
    <!-- 搜索工作栏 -->
 | 
			
		||||
    <el-form
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,5 +1,7 @@
 | 
			
		|||
<!-- ERP 产品库存列表 -->
 | 
			
		||||
<template>
 | 
			
		||||
  <doc-alert title="【库存】产品库存、库存明细" url="https://doc.iocoder.cn/erp/stock/" />
 | 
			
		||||
 | 
			
		||||
  <ContentWrap>
 | 
			
		||||
    <!-- 搜索工作栏 -->
 | 
			
		||||
    <el-form
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,5 +1,7 @@
 | 
			
		|||
<!-- ERP 仓库列表 -->
 | 
			
		||||
<template>
 | 
			
		||||
  <doc-alert title="【库存】产品库存、库存明细" url="https://doc.iocoder.cn/erp/stock/" />
 | 
			
		||||
 | 
			
		||||
  <ContentWrap>
 | 
			
		||||
    <!-- 搜索工作栏 -->
 | 
			
		||||
    <el-form
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,6 @@
 | 
			
		|||
<template>
 | 
			
		||||
  <doc-alert title="WebSocket 实时通信" url="https://doc.iocoder.cn/websocket/" />
 | 
			
		||||
 | 
			
		||||
  <div class="flex">
 | 
			
		||||
    <!-- 左侧:建立连接、发送消息 -->
 | 
			
		||||
    <el-card :gutter="12" class="w-1/2" shadow="always">
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,6 @@
 | 
			
		|||
<template>
 | 
			
		||||
  <doc-alert title="商城手册(功能开启)" url="https://doc.iocoder.cn/mall/build/" />
 | 
			
		||||
 | 
			
		||||
  <div class="flex flex-col">
 | 
			
		||||
    <!-- 数据对照 -->
 | 
			
		||||
    <el-row :gutter="16" class="row">
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,6 @@
 | 
			
		|||
<template>
 | 
			
		||||
  <doc-alert title="商城手册(功能开启)" url="https://doc.iocoder.cn/mall/build/" />
 | 
			
		||||
 | 
			
		||||
  <!-- 搜索工作栏 -->
 | 
			
		||||
  <ContentWrap>
 | 
			
		||||
    <el-form
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,6 @@
 | 
			
		|||
<template>
 | 
			
		||||
  <doc-alert title="【商品】商品分类" url="https://doc.iocoder.cn/mall/product-category/" />
 | 
			
		||||
 | 
			
		||||
  <!-- 搜索工作栏 -->
 | 
			
		||||
  <ContentWrap>
 | 
			
		||||
    <el-form
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,6 @@
 | 
			
		|||
<template>
 | 
			
		||||
  <doc-alert title="【商品】商品评价" url="https://doc.iocoder.cn/mall/product-comment/" />
 | 
			
		||||
 | 
			
		||||
  <ContentWrap>
 | 
			
		||||
    <!-- 搜索工作栏 -->
 | 
			
		||||
    <el-form
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,6 @@
 | 
			
		|||
<template>
 | 
			
		||||
  <doc-alert title="【商品】商品属性" url="https://doc.iocoder.cn/mall/product-property/" />
 | 
			
		||||
 | 
			
		||||
  <!-- 搜索工作栏 -->
 | 
			
		||||
  <ContentWrap>
 | 
			
		||||
    <el-form
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,5 +1,7 @@
 | 
			
		|||
<!-- 商品中心 - 商品列表  -->
 | 
			
		||||
<template>
 | 
			
		||||
  <doc-alert title="【商品】商品 SPU 与 SKU" url="https://doc.iocoder.cn/mall/product-spu-sku/" />
 | 
			
		||||
 | 
			
		||||
  <!-- 搜索工作栏 -->
 | 
			
		||||
  <ContentWrap>
 | 
			
		||||
    <el-form
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,6 @@
 | 
			
		|||
<template>
 | 
			
		||||
  <doc-alert title="【营销】内容管理" url="https://doc.iocoder.cn/mall/promotion-content/" />
 | 
			
		||||
 | 
			
		||||
  <Dialog v-model="dialogVisible" :title="dialogTitle">
 | 
			
		||||
    <el-form
 | 
			
		||||
      ref="formRef"
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,6 @@
 | 
			
		|||
<template>
 | 
			
		||||
  <doc-alert title="【营销】内容管理" url="https://doc.iocoder.cn/mall/promotion-content/" />
 | 
			
		||||
 | 
			
		||||
  <ContentWrap>
 | 
			
		||||
    <!-- 搜索工作栏 -->
 | 
			
		||||
    <el-form
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,6 @@
 | 
			
		|||
<template>
 | 
			
		||||
  <doc-alert title="【营销】内容管理" url="https://doc.iocoder.cn/mall/promotion-content/" />
 | 
			
		||||
 | 
			
		||||
  <ContentWrap>
 | 
			
		||||
    <!-- 搜索工作栏 -->
 | 
			
		||||
    <el-form
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,6 @@
 | 
			
		|||
<template>
 | 
			
		||||
  <doc-alert title="【营销】砍价活动" url="https://doc.iocoder.cn/mall/promotion-bargain/" />
 | 
			
		||||
 | 
			
		||||
  <ContentWrap>
 | 
			
		||||
    <!-- 搜索工作栏 -->
 | 
			
		||||
    <el-form
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,6 @@
 | 
			
		|||
<template>
 | 
			
		||||
  <doc-alert title="【营销】砍价活动" url="https://doc.iocoder.cn/mall/promotion-bargain/" />
 | 
			
		||||
 | 
			
		||||
  <ContentWrap>
 | 
			
		||||
    <!-- 搜索工作栏 -->
 | 
			
		||||
    <el-form
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,6 @@
 | 
			
		|||
<template>
 | 
			
		||||
  <doc-alert title="【营销】拼团活动" url="https://doc.iocoder.cn/mall/promotion-combination/" />
 | 
			
		||||
 | 
			
		||||
  <ContentWrap>
 | 
			
		||||
    <!-- 搜索工作栏 -->
 | 
			
		||||
    <el-form
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,6 @@
 | 
			
		|||
<template>
 | 
			
		||||
  <doc-alert title="【营销】拼团活动" url="https://doc.iocoder.cn/mall/promotion-combination/" />
 | 
			
		||||
 | 
			
		||||
  <!-- 统计信息展示 -->
 | 
			
		||||
  <el-row :gutter="12">
 | 
			
		||||
    <el-col :span="6">
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,5 +1,5 @@
 | 
			
		|||
<template>
 | 
			
		||||
  <doc-alert title="功能开启" url="https://doc.iocoder.cn/mall/build/" />
 | 
			
		||||
  <doc-alert title="【营销】优惠劵" url="https://doc.iocoder.cn/mall/promotion-coupon/" />
 | 
			
		||||
 | 
			
		||||
  <!-- 搜索工作栏 -->
 | 
			
		||||
  <ContentWrap>
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,5 +1,5 @@
 | 
			
		|||
<template>
 | 
			
		||||
  <doc-alert title="功能开启" url="https://doc.iocoder.cn/mall/build/" />
 | 
			
		||||
  <doc-alert title="【营销】优惠劵" url="https://doc.iocoder.cn/mall/promotion-coupon/" />
 | 
			
		||||
 | 
			
		||||
  <!-- 搜索工作栏 -->
 | 
			
		||||
  <ContentWrap>
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,6 @@
 | 
			
		|||
<template>
 | 
			
		||||
  <doc-alert title="【营销】限时折扣" url="https://doc.iocoder.cn/mall/promotion-discount/" />
 | 
			
		||||
 | 
			
		||||
  <ContentWrap>
 | 
			
		||||
    <!-- 搜索工作栏 -->
 | 
			
		||||
    <el-form
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,6 @@
 | 
			
		|||
<template>
 | 
			
		||||
  <doc-alert title="【营销】商城装修" url="https://doc.iocoder.cn/mall/diy/" />
 | 
			
		||||
 | 
			
		||||
  <ContentWrap>
 | 
			
		||||
    <!-- 搜索工作栏 -->
 | 
			
		||||
    <el-form
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,6 @@
 | 
			
		|||
<template>
 | 
			
		||||
  <doc-alert title="【营销】商城装修" url="https://doc.iocoder.cn/mall/diy/" />
 | 
			
		||||
 | 
			
		||||
  <ContentWrap>
 | 
			
		||||
    <!-- 搜索工作栏 -->
 | 
			
		||||
    <el-form
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,6 @@
 | 
			
		|||
<template>
 | 
			
		||||
  <doc-alert title="【营销】满减送" url="https://doc.iocoder.cn/mall/promotion-record/" />
 | 
			
		||||
 | 
			
		||||
  <!-- 搜索工作栏 -->
 | 
			
		||||
  <ContentWrap>
 | 
			
		||||
    <el-form
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,6 @@
 | 
			
		|||
<template>
 | 
			
		||||
  <doc-alert title="【营销】秒杀活动" url="https://doc.iocoder.cn/mall/promotion-seckill/" />
 | 
			
		||||
 | 
			
		||||
  <ContentWrap>
 | 
			
		||||
    <!-- 搜索工作栏 -->
 | 
			
		||||
    <el-form
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,5 +1,5 @@
 | 
			
		|||
<template>
 | 
			
		||||
  <doc-alert title="功能开启" url="https://doc.iocoder.cn/mall/build/" />
 | 
			
		||||
  <doc-alert title="【营销】秒杀活动" url="https://doc.iocoder.cn/mall/promotion-seckill/" />
 | 
			
		||||
 | 
			
		||||
  <!-- 搜索工作栏 -->
 | 
			
		||||
  <ContentWrap>
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,6 @@
 | 
			
		|||
<template>
 | 
			
		||||
  <doc-alert title="【统计】会员、商品、交易统计" url="https://doc.iocoder.cn/mall/statistics/" />
 | 
			
		||||
 | 
			
		||||
  <div class="flex flex-col">
 | 
			
		||||
    <el-row :gutter="16" class="summary">
 | 
			
		||||
      <el-col :sm="6" :xs="12" v-loading="loading">
 | 
			
		||||
| 
						 | 
				
			
			@ -269,8 +271,9 @@ const getMemberSexStatisticsList = async () => {
 | 
			
		|||
  const dictDataList = getIntDictOptions(DICT_TYPE.SYSTEM_USER_SEX)
 | 
			
		||||
  dictDataList.push({ label: '未知', value: null } as any)
 | 
			
		||||
  sexChartOptions.series![0].data = dictDataList.map((dictData: DictDataType) => {
 | 
			
		||||
    const userCount = list.find((item: MemberSexStatisticsRespVO) => item.sex === dictData.value)
 | 
			
		||||
      ?.userCount
 | 
			
		||||
    const userCount = list.find(
 | 
			
		||||
      (item: MemberSexStatisticsRespVO) => item.sex === dictData.value
 | 
			
		||||
    )?.userCount
 | 
			
		||||
    return {
 | 
			
		||||
      name: dictData.label,
 | 
			
		||||
      value: userCount || 0
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,6 @@
 | 
			
		|||
<template>
 | 
			
		||||
  <doc-alert title="【统计】会员、商品、交易统计" url="https://doc.iocoder.cn/mall/statistics/" />
 | 
			
		||||
 | 
			
		||||
  <!-- 商品概览 -->
 | 
			
		||||
  <ProductSummary />
 | 
			
		||||
  <!-- 商品排行 -->
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,6 @@
 | 
			
		|||
<template>
 | 
			
		||||
  <doc-alert title="【统计】会员、商品、交易统计" url="https://doc.iocoder.cn/mall/statistics/" />
 | 
			
		||||
 | 
			
		||||
  <div class="flex flex-col">
 | 
			
		||||
    <el-row :gutter="16" class="summary">
 | 
			
		||||
      <el-col :sm="6" :xs="12">
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,6 @@
 | 
			
		|||
<template>
 | 
			
		||||
  <doc-alert title="【交易】售后退款" url="https://doc.iocoder.cn/mall/trade-aftersale/" />
 | 
			
		||||
 | 
			
		||||
  <!-- 搜索 -->
 | 
			
		||||
  <ContentWrap>
 | 
			
		||||
    <el-form ref="queryFormRef" :inline="true" :model="queryParams" label-width="68px">
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,6 @@
 | 
			
		|||
<template>
 | 
			
		||||
  <doc-alert title="【交易】分销返佣" url="https://doc.iocoder.cn/mall/trade-brokerage/" />
 | 
			
		||||
 | 
			
		||||
  <ContentWrap>
 | 
			
		||||
    <!-- 搜索工作栏 -->
 | 
			
		||||
    <el-form
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,6 @@
 | 
			
		|||
<template>
 | 
			
		||||
  <doc-alert title="【交易】分销返佣" url="https://doc.iocoder.cn/mall/trade-brokerage/" />
 | 
			
		||||
 | 
			
		||||
  <ContentWrap>
 | 
			
		||||
    <!-- 搜索工作栏 -->
 | 
			
		||||
    <el-form
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,6 @@
 | 
			
		|||
<template>
 | 
			
		||||
  <doc-alert title="【交易】分销返佣" url="https://doc.iocoder.cn/mall/trade-brokerage/" />
 | 
			
		||||
 | 
			
		||||
  <ContentWrap>
 | 
			
		||||
    <!-- 搜索工作栏 -->
 | 
			
		||||
    <el-form
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,7 @@
 | 
			
		|||
<template>
 | 
			
		||||
  <doc-alert title="【交易】交易订单" url="https://doc.iocoder.cn/mall/trade-order/" />
 | 
			
		||||
  <doc-alert title="【交易】购物车" url="https://doc.iocoder.cn/mall/trade-cart/" />
 | 
			
		||||
 | 
			
		||||
  <ContentWrap>
 | 
			
		||||
    <el-form
 | 
			
		||||
      ref="formRef"
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,6 @@
 | 
			
		|||
<template>
 | 
			
		||||
  <doc-alert title="【交易】快递发货" url="https://doc.iocoder.cn/mall/trade-delivery-express/" />
 | 
			
		||||
 | 
			
		||||
  <!-- 搜索工作栏 -->
 | 
			
		||||
  <ContentWrap>
 | 
			
		||||
    <el-form
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,6 @@
 | 
			
		|||
<template>
 | 
			
		||||
  <doc-alert title="【交易】快递发货" url="https://doc.iocoder.cn/mall/trade-delivery-express/" />
 | 
			
		||||
 | 
			
		||||
  <!-- 搜索工作栏 -->
 | 
			
		||||
  <ContentWrap>
 | 
			
		||||
    <el-form
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,7 @@
 | 
			
		|||
<template>
 | 
			
		||||
  <doc-alert title="【交易】交易订单" url="https://doc.iocoder.cn/mall/trade-order/" />
 | 
			
		||||
  <doc-alert title="【交易】购物车" url="https://doc.iocoder.cn/mall/trade-cart/" />
 | 
			
		||||
 | 
			
		||||
  <!-- 搜索 -->
 | 
			
		||||
  <ContentWrap>
 | 
			
		||||
    <el-form
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,6 @@
 | 
			
		|||
<template>
 | 
			
		||||
  <doc-alert title="【交易】快递发货" url="https://doc.iocoder.cn/mall/trade-delivery-express/" />
 | 
			
		||||
 | 
			
		||||
  <!-- 搜索工作栏 -->
 | 
			
		||||
  <ContentWrap>
 | 
			
		||||
    <el-form ref="queryFormRef" :inline="true" :model="queryParams" class="-mb-15px">
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,7 @@
 | 
			
		|||
<template>
 | 
			
		||||
  <doc-alert title="【交易】交易订单" url="https://doc.iocoder.cn/mall/trade-order/" />
 | 
			
		||||
  <doc-alert title="【交易】购物车" url="https://doc.iocoder.cn/mall/trade-cart/" />
 | 
			
		||||
 | 
			
		||||
  <!-- 搜索 -->
 | 
			
		||||
  <ContentWrap>
 | 
			
		||||
    <el-form
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,6 @@
 | 
			
		|||
<template>
 | 
			
		||||
  <doc-alert title="会员手册(功能开启)" url="https://doc.iocoder.cn/member/build/" />
 | 
			
		||||
 | 
			
		||||
  <ContentWrap>
 | 
			
		||||
    <el-form
 | 
			
		||||
      ref="formRef"
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,6 @@
 | 
			
		|||
<template>
 | 
			
		||||
  <doc-alert title="会员用户、标签、分组" url="https://doc.iocoder.cn/member/user/" />
 | 
			
		||||
 | 
			
		||||
  <ContentWrap>
 | 
			
		||||
    <!-- 搜索工作栏 -->
 | 
			
		||||
    <el-form
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,6 @@
 | 
			
		|||
<template>
 | 
			
		||||
  <doc-alert title="会员等级、积分、签到" url="https://doc.iocoder.cn/member/level/" />
 | 
			
		||||
 | 
			
		||||
  <ContentWrap>
 | 
			
		||||
    <!-- 搜索工作栏 -->
 | 
			
		||||
    <el-form
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,6 @@
 | 
			
		|||
<template>
 | 
			
		||||
  <doc-alert title="会员等级、积分、签到" url="https://doc.iocoder.cn/member/level/" />
 | 
			
		||||
 | 
			
		||||
  <ContentWrap>
 | 
			
		||||
    <!-- 搜索工作栏 -->
 | 
			
		||||
    <el-form
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,6 +1,8 @@
 | 
			
		|||
<template>
 | 
			
		||||
  <doc-alert title="会员等级、积分、签到" url="https://doc.iocoder.cn/member/level/" />
 | 
			
		||||
 | 
			
		||||
  <!-- 搜索工作栏 -->
 | 
			
		||||
  <ContentWrap>
 | 
			
		||||
    <!-- 搜索工作栏 -->
 | 
			
		||||
    <el-button
 | 
			
		||||
      type="primary"
 | 
			
		||||
      plain
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,6 @@
 | 
			
		|||
<template>
 | 
			
		||||
  <doc-alert title="会员等级、积分、签到" url="https://doc.iocoder.cn/member/level/" />
 | 
			
		||||
 | 
			
		||||
  <ContentWrap>
 | 
			
		||||
    <!-- 搜索工作栏 -->
 | 
			
		||||
    <el-form
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,6 @@
 | 
			
		|||
<template>
 | 
			
		||||
  <doc-alert title="会员用户、标签、分组" url="https://doc.iocoder.cn/member/user/" />
 | 
			
		||||
 | 
			
		||||
  <ContentWrap>
 | 
			
		||||
    <!-- 搜索工作栏 -->
 | 
			
		||||
    <el-form
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,6 @@
 | 
			
		|||
<template>
 | 
			
		||||
  <doc-alert title="会员用户、标签、分组" url="https://doc.iocoder.cn/member/user/" />
 | 
			
		||||
 | 
			
		||||
  <ContentWrap>
 | 
			
		||||
    <!-- 搜索工作栏 -->
 | 
			
		||||
    <el-form
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue