@@ -1,11 +1,34 @@ | |||
<!-- | |||
* @Date: 2021-11-29 11:14:13 | |||
* @LastEditors: JinxChen | |||
* @LastEditTime: 2022-08-06 16:05:38 | |||
* @FilePath: \telpoAdminTemplate\README.md | |||
* @LastEditTime: 2022-08-08 11:10:32 | |||
* @FilePath: \TelpoUserManageAdmin\README.md | |||
* @description: | |||
--> | |||
##TELPO_ADMIN_TELMALATE | |||
##TELPO_USER_MANAGE_ADMIN | |||
## Project setup | |||
``` | |||
npm install | |||
``` | |||
### Compiles and hot-reloads for development | |||
``` | |||
npm run dev | |||
``` | |||
### Compiles and minifies for production | |||
``` | |||
npm run build | |||
``` | |||
### Lints and fixes files | |||
``` | |||
npm run lint | |||
``` | |||
### Customize configuration | |||
See [Configuration Reference](https://cli.vuejs.org/config/). | |||
## 版本号管理 | |||
- 版本格式:主版本号.次版本号.修订号 | |||
1.主版本号:当你做了不兼容的 API 修改( 一般项目发生重大功能改变) | |||
@@ -34,4 +57,12 @@ fix | |||
##备注 | |||
- 此项目仅仅集成了一些element-admin的功能,具体可前往官网查看 | |||
- 官网地址 https://panjiachen.gitee.io/vue-element-admin-site/zh/guide/ | |||
- 官网地址 https://panjiachen.gitee.io/vue-element-admin-site/zh/guide/ | |||
##项目 | |||
## v1.0.0 | |||
`2022.8.8` | |||
feat | |||
- 增加 收单系统,众筹拼单系统,消息管理和系统管理路由配置 |
@@ -38,7 +38,7 @@ export default { | |||
const script = document.createElement("script"); | |||
script.src = "//cdn.jsdelivr.net/npm/eruda"; | |||
document.body.appendChild(script); | |||
script.onload = function(eruda) { | |||
script.onload = function() { | |||
eruda.init(); | |||
}; | |||
} | |||
@@ -1,14 +1,14 @@ | |||
<!-- | |||
* @Date: 2021-11-30 17:19:51 | |||
* @LastEditors: JinxChen | |||
* @LastEditTime: 2022-08-06 15:58:24 | |||
* @FilePath: \telpoAdminTemplate\src\components\TTable\TTable.vue | |||
* @LastEditTime: 2022-08-08 16:11:03 | |||
* @FilePath: \TelpoUserManageAdmin\src\components\TTable\TTable.vue | |||
* @description: 封装通用的table组件 | |||
--> | |||
<template> | |||
<div class="app-container"> | |||
<!-- 表格 --> | |||
<el-table :data="tableData" border fit highlight-current-row @sort-change="sortChange" > | |||
<el-table :data="tableData" border fit highlight-current-row @sort-change="sortChange" :height="400" > | |||
<template v-for="column in columns"> | |||
<!-- 标题 --> | |||
<el-table-column | |||
@@ -1,8 +1,8 @@ | |||
<!-- | |||
* @Date: 2021-11-29 11:20:35 | |||
* @LastEditors: JinxChen | |||
* @LastEditTime: 2022-08-06 10:29:09 | |||
* @FilePath: \telpoAdminTemplate\src\layout\components\Sidebar\Logo.vue | |||
* @LastEditTime: 2022-08-08 10:55:55 | |||
* @FilePath: \TelpoUserManageAdmin\src\layout\components\Sidebar\Logo.vue | |||
* @description: | |||
--> | |||
<template> | |||
@@ -31,7 +31,7 @@ export default { | |||
}, | |||
data() { | |||
return { | |||
title: '天波后台管理模板', | |||
title: '用户运营管理系统', | |||
logo: require('@/assets/telpo.png') | |||
} | |||
} | |||
@@ -1,5 +1,12 @@ | |||
<!-- | |||
* @Date: 2022-08-06 16:22:32 | |||
* @LastEditors: JinxChen | |||
* @LastEditTime: 2022-08-08 16:53:58 | |||
* @FilePath: \TelpoUserManageAdmin\src\layout\components\TagsView\ScrollPane.vue | |||
* @description: | |||
--> | |||
<template> | |||
<el-scrollbar ref="scrollContainer" :vertical="false" class="scroll-container" @wheel.native.prevent="handleScroll"> | |||
<el-scrollbar ref="scrollContainer" :vertical="true" class="scroll-container" @wheel.native.prevent="handleScroll"> | |||
<slot /> | |||
</el-scrollbar> | |||
</template> | |||
@@ -87,7 +94,7 @@ export default { | |||
bottom: 0px; | |||
} | |||
.el-scrollbar__wrap { | |||
height: 49px; | |||
height: 65px; | |||
} | |||
} | |||
} | |||
@@ -205,7 +205,6 @@ export default { | |||
border-bottom: 1px solid #d8dce5; | |||
box-shadow: 0 1px 3px 0 rgba(0, 0, 0, .12), 0 0 3px 0 rgba(0, 0, 0, .04); | |||
.tags-view-wrapper { | |||
margin-left: 25px; | |||
.tags-view-item { | |||
display: inline-block; | |||
position: relative; | |||
@@ -218,7 +217,7 @@ export default { | |||
padding: 0 8px; | |||
font-size: 12px; | |||
margin-left: 5px; | |||
margin-top: 4px; | |||
margin-top: 5px; | |||
margin-bottom: 10px; | |||
border-radius: 5px; | |||
&:first-of-type { | |||
@@ -228,9 +227,9 @@ export default { | |||
margin-right: 15px; | |||
} | |||
&.active { | |||
background-color: #42b983; | |||
background-color: /* #42b983 */#409EFF; | |||
color: #fff; | |||
border-color: #42b983; | |||
border-color: /* #42b983 */#409EFF; | |||
&::before { | |||
content: ''; | |||
background: #fff; | |||
@@ -61,13 +61,193 @@ export const constantRoutes = [{ | |||
component: () => import('@/views/dashboard/index'), | |||
meta: { | |||
title: '首页', | |||
icon: 'dashboard', | |||
icon: 'el-icon-s-home', | |||
affix: true | |||
} | |||
}] | |||
}, | |||
// 禁入区域管理 | |||
// 收单系统 todo | |||
{ | |||
path: '/collection-order-system', | |||
component: Layout, | |||
redirect: 'collection-order-system/collection-order-list', | |||
name: 'collection-order-system', | |||
meta: { | |||
title: '收单系统', | |||
icon: 'el-icon-s-help' | |||
}, | |||
children: [ | |||
{ | |||
path: '/collection-order-list', | |||
name: 'collection-order-list', | |||
component: () => import('@/views/collection-order-system/main/collection-order-list/index'), | |||
meta: { | |||
title: '收单系统', //收单列表 | |||
icon: 'el-icon-s-order' | |||
} | |||
}, | |||
] | |||
}, | |||
// 众筹拼单系统 | |||
{ | |||
path: 'crowd-funding-otrder-system', | |||
component: Layout, | |||
redirect: 'crowd-funding-otrder-system/package-manage', | |||
name: 'crowd-funding-otrder-system', | |||
meta: { | |||
title: '众筹拼单系统', | |||
icon: 'el-icon-s-help' | |||
}, | |||
children: [ | |||
{ | |||
path: '/package-manage', | |||
name: 'package-manage', | |||
component: () => import('@/views/crowd-funding-otrder-system/main/package-manage/index'), | |||
meta: { | |||
title: '套餐管理', | |||
icon: 'el-icon-burger' | |||
} | |||
}, | |||
{ | |||
path: '/crowd-funding-otrder-manage', | |||
name: 'crowd-funding-otrder-manage', | |||
component: () => import('@/views/crowd-funding-otrder-system/main/crowd-funding-otrder-manage/index'), | |||
meta: { | |||
title: '拼单管理', | |||
icon: 'el-icon-c-scale-to-original' | |||
} | |||
}, | |||
{ | |||
path: '/participants-manage', | |||
name: 'participants-manage', | |||
component: () => import('@/views/crowd-funding-otrder-system/main/participants-manage/index'), | |||
meta: { | |||
title: '参与人管理', | |||
icon: 'el-icon-s-custom' | |||
} | |||
}, | |||
{ | |||
path: '/order-fulfillment', | |||
name: 'order-fulfillment', | |||
component: () => import('@/views/crowd-funding-otrder-system/main/order-fulfillment/index'), | |||
meta: { | |||
title: '订单执行', | |||
icon: 'el-icon-s-ticket' | |||
} | |||
}, | |||
{ | |||
path: '/customer-statistics', | |||
name: 'customer-statistics', | |||
component: () => import('@/views/crowd-funding-otrder-system/main/customer-statistics/index'), | |||
meta: { | |||
title: '客户统计', | |||
icon: 'el-icon-s-data' | |||
} | |||
}, | |||
{ | |||
path: '/rules-setting', | |||
name: 'rules-setting', | |||
component: () => import('@/views/crowd-funding-otrder-system/main/rules-setting/index'), | |||
meta: { | |||
title: '规则设置', | |||
icon: 'el-icon-s-unfold' | |||
} | |||
}, | |||
] | |||
}, | |||
// 公众号消息管理 | |||
{ | |||
path: 'message-manage', | |||
component: Layout, | |||
redirect: 'message-manage/wechat-fans', | |||
name: 'message-manage', | |||
meta: { | |||
title: '消息管理', | |||
icon: 'el-icon-message-solid' | |||
}, | |||
children: [ | |||
{ | |||
path: '/wechat-fans', | |||
name: 'wechat-fans', | |||
component: () => import('@/views/message-manage/main/wechat-fans/index'), | |||
meta: { | |||
title: '公众号粉丝', | |||
icon: 'el-icon-user-solid' | |||
} | |||
}, | |||
{ | |||
path: '/add-articles', | |||
name: 'add-articles', | |||
component: () => import('@/views/message-manage/main/add-articles/index'), | |||
meta: { | |||
title: '添加文章', | |||
icon: 'el-icon-edit' | |||
} | |||
}, | |||
{ | |||
path: '/add-mass', | |||
name: 'add-mass', | |||
component: () => import('@/views/message-manage/main/add-mass/index'), | |||
meta: { | |||
title: '添加群发', | |||
icon: 'el-icon-s-promotion' | |||
} | |||
}, | |||
{ | |||
path: '/mass-list', | |||
name: 'mass-list', | |||
component: () => import('@/views/message-manage/main/mass-list/index'), | |||
meta: { | |||
title: '群发列表', | |||
icon: 'el-icon-document' | |||
} | |||
}, | |||
{ | |||
path: '/unsubscribe-list', | |||
name: 'unsubscribe-list', | |||
component: () => import('@/views/message-manage/main/unsubscribe-list/index'), | |||
meta: { | |||
title: '退订列表', | |||
icon: 'el-icon-notebook-2' | |||
} | |||
}, | |||
] | |||
}, | |||
// 系统管理 todo | |||
{ | |||
path: '/system-manage', | |||
component: Layout, | |||
redirect: 'system-manage/system-setting', | |||
name: 'system-manage', | |||
meta: { | |||
title: '系统管理', | |||
icon: 'el-icon-s-tools' | |||
}, | |||
children: [ | |||
{ | |||
path: '/system-setting', | |||
name: 'system-setting', | |||
component: () => import('@/views/system-manage/main/system-setting/index'), | |||
meta: { | |||
title: '系统管理', //系统设置 | |||
icon: 'el-icon-s-tools' | |||
} | |||
}, | |||
] | |||
}, | |||
// 测试,例子 | |||
/* { | |||
path: '/off-limits-manage', | |||
component: Layout, | |||
redirect: '/off-limits-manage/off-limits-type', | |||
@@ -87,8 +267,7 @@ export const constantRoutes = [{ | |||
} | |||
}, | |||
] | |||
}, | |||
}, */ | |||
// 404 page must be placed at the end !!! | |||
{ | |||
path: '*', | |||
@@ -7,7 +7,7 @@ | |||
*/ | |||
module.exports = { | |||
title: '天波后台管理模板', | |||
title: '用户运营管理系统', | |||
/** | |||
* @type {boolean} true | false | |||
@@ -14,7 +14,9 @@ | |||
.el-upload__input { | |||
display: none; | |||
} | |||
.el-radio { | |||
margin-right: 15px; | |||
} | |||
// to fixed https://github.com/ElemeFE/element/issues/2461 | |||
.el-dialog { | |||
@@ -58,11 +58,25 @@ div:focus { | |||
height: 0; | |||
} | |||
} | |||
// main-container global css | |||
.app-container { | |||
padding: 20px 20px; | |||
padding: 20px; | |||
} | |||
// main-container global css | |||
.home-container { | |||
position: relative; | |||
margin: 60px 20px 0 20px; | |||
padding: 10px 0; | |||
border: 1px solid #d8dce5; | |||
box-shadow: 0 1px 3px 0 rgba(0, 0, 0, .12), 0 0 3px 0 rgba(0, 0, 0, .04); | |||
.top-container { | |||
padding: 30px 0 0 0px; | |||
display: inline-block; | |||
padding: 0 20px 0 20px; | |||
span { | |||
font-size: 14px; | |||
} | |||
} | |||
.main-container { | |||
width: 100%; | |||
} | |||
.top-input-container { | |||
padding-left: 10px; | |||
@@ -7,7 +7,7 @@ | |||
*/ | |||
import defaultSettings from '@/settings' | |||
const title = defaultSettings.title || '天波后台管理模板' | |||
const title = defaultSettings.title || '用户运营管理系统' | |||
export default function getPageTitle(pageTitle) { | |||
if (pageTitle) { | |||
@@ -1,8 +1,8 @@ | |||
/* | |||
* @Date: 2021-11-30 15:09:25 | |||
* @LastEditors: JinxChen | |||
* @LastEditTime: 2022-02-14 22:33:51 | |||
* @FilePath: \GpsCardAdmin\src\utils\model.js | |||
* @LastEditTime: 2022-08-08 11:10:59 | |||
* @FilePath: \TelpoUserManageAdmin\src\utils\model.js | |||
* @description: 版本号 | |||
*/ | |||
export const VersionModel = '1.2.4'; | |||
export const VersionModel = '1.0.0'; |
@@ -0,0 +1,38 @@ | |||
<!-- | |||
* @Date: 2022-08-08 10:47:18 | |||
* @LastEditors: JinxChen | |||
* @LastEditTime: 2022-08-08 16:07:14 | |||
* @FilePath: \TelpoUserManageAdmin\src\views\collection-order-system\main\collection-order-list\index.vue | |||
* @description: 收单列表 | |||
--> | |||
<template> | |||
<div class="app-container"> | |||
<!-- 顶部内容 --> | |||
<div class="top-container"> | |||
<TopMenu :buttonList="buttonList"/> | |||
</div> | |||
</div> | |||
</template> | |||
<script> | |||
import TopMenu from "@/components/TopMenu/index"; | |||
export default { | |||
name: 'collection-order-list', | |||
components: { TopMenu }, | |||
data(){ | |||
return { | |||
buttonList: [], // 头部按钮,例子: {name: '添加', type: 'primary', icon: 'el-icon-circle-plus', click: () => { this.AddDialog();}} | |||
} | |||
}, | |||
mounted() {}, | |||
created() {}, | |||
methods: { | |||
} | |||
} | |||
</script> | |||
<style scoped lang="scss"> | |||
</style> |
@@ -0,0 +1,31 @@ | |||
<!-- | |||
* @Date: 2022-08-08 10:43:28 | |||
* @LastEditors: JinxChen | |||
* @LastEditTime: 2022-08-08 10:43:40 | |||
* @FilePath: \TelpoUserManageAdmin\src\views\collection-order-system\main\index.vue | |||
* @description: 收单系统 | |||
--> | |||
<template> | |||
<div style="padding:30px;"> | |||
<el-alert :closable="false" title="menu 1"> | |||
<router-view /> | |||
</el-alert> | |||
</div> | |||
</template> | |||
<script> | |||
export default { | |||
name:'', | |||
data(){ | |||
return { | |||
} | |||
} | |||
} | |||
</script> | |||
<style scoped> | |||
</style> |
@@ -0,0 +1,37 @@ | |||
<!-- | |||
* @Date: 2022-08-08 09:28:25 | |||
* @LastEditors: JinxChen | |||
* @LastEditTime: 2022-08-08 16:07:22 | |||
* @FilePath: \TelpoUserManageAdmin\src\views\crowd-funding-otrder-system\main\crowd-funding-otrder-manage\index.vue | |||
* @description: 拼单管理 | |||
--> | |||
<template> | |||
<div class="app-container"> | |||
<!-- 顶部内容 --> | |||
<div class="top-container"> | |||
<TopMenu :buttonList="buttonList"/> | |||
</div> | |||
</div> | |||
</template> | |||
<script> | |||
import TopMenu from "@/components/TopMenu/index"; | |||
export default { | |||
name: 'vue-template', | |||
components: { TopMenu }, | |||
data(){ | |||
return { | |||
buttonList: [], // 头部按钮,例子: {name: '添加', type: 'primary', icon: 'el-icon-circle-plus', click: () => { this.AddDialog();}} | |||
} | |||
}, | |||
mounted() {}, | |||
created() {}, | |||
methods: { | |||
} | |||
} | |||
</script> | |||
<style scoped lang="scss"> | |||
</style> |
@@ -0,0 +1,37 @@ | |||
<!-- | |||
* @Date: 2022-08-08 09:28:25 | |||
* @LastEditors: JinxChen | |||
* @LastEditTime: 2022-08-08 16:07:29 | |||
* @FilePath: \TelpoUserManageAdmin\src\views\crowd-funding-otrder-system\main\customer-statistics\index.vue | |||
* @description: 客户统计 | |||
--> | |||
<template> | |||
<div class="app-container"> | |||
<!-- 顶部内容 --> | |||
<div class="top-container"> | |||
<TopMenu :buttonList="buttonList"/> | |||
</div> | |||
</div> | |||
</template> | |||
<script> | |||
import TopMenu from "@/components/TopMenu/index"; | |||
export default { | |||
name: 'customer-statistics', | |||
components: { TopMenu }, | |||
data(){ | |||
return { | |||
buttonList: [], // 头部按钮,例子: {name: '添加', type: 'primary', icon: 'el-icon-circle-plus', click: () => { this.AddDialog();}} | |||
} | |||
}, | |||
mounted() {}, | |||
created() {}, | |||
methods: { | |||
} | |||
} | |||
</script> | |||
<style scoped lang="scss"> | |||
</style> |
@@ -0,0 +1,30 @@ | |||
<!-- | |||
* @Date: 2022-08-08 09:59:56 | |||
* @LastEditors: JinxChen | |||
* @LastEditTime: 2022-08-08 10:00:17 | |||
* @FilePath: \TelpoUserManageAdmin\src\views\crowd-funding-otrder-system\main\index.vue | |||
* @description: 众筹拼单系统 | |||
--> | |||
<template> | |||
<div style="padding:30px;"> | |||
<el-alert :closable="false" title="menu 1"> | |||
<router-view /> | |||
</el-alert> | |||
</div> | |||
</template> | |||
<script> | |||
export default { | |||
name:'', | |||
data(){ | |||
return { | |||
} | |||
} | |||
} | |||
</script> | |||
<style scoped> | |||
</style> |
@@ -0,0 +1,37 @@ | |||
<!-- | |||
* @Date: 2022-08-08 09:28:25 | |||
* @LastEditors: JinxChen | |||
* @LastEditTime: 2022-08-08 16:07:37 | |||
* @FilePath: \TelpoUserManageAdmin\src\views\crowd-funding-otrder-system\main\order-fulfillment\index.vue | |||
* @description: 订单执行 | |||
--> | |||
<template> | |||
<div class="app-container"> | |||
<!-- 顶部内容 --> | |||
<div class="top-container"> | |||
<TopMenu :buttonList="buttonList"/> | |||
</div> | |||
</div> | |||
</template> | |||
<script> | |||
import TopMenu from "@/components/TopMenu/index"; | |||
export default { | |||
name: 'order-fulfillment', | |||
components: { TopMenu }, | |||
data(){ | |||
return { | |||
buttonList: [], // 头部按钮,例子: {name: '添加', type: 'primary', icon: 'el-icon-circle-plus', click: () => { this.AddDialog();}} | |||
} | |||
}, | |||
mounted() {}, | |||
created() {}, | |||
methods: { | |||
} | |||
} | |||
</script> | |||
<style scoped lang="scss"> | |||
</style> |
@@ -0,0 +1,37 @@ | |||
<!-- | |||
* @Date: 2022-08-08 09:28:25 | |||
* @LastEditors: JinxChen | |||
* @LastEditTime: 2022-08-08 16:07:43 | |||
* @FilePath: \TelpoUserManageAdmin\src\views\crowd-funding-otrder-system\main\package-manage\index.vue | |||
* @description: 套餐管理 | |||
--> | |||
<template> | |||
<div class="app-container"> | |||
<!-- 顶部内容 --> | |||
<div class="top-container"> | |||
<TopMenu :buttonList="buttonList"/> | |||
</div> | |||
</div> | |||
</template> | |||
<script> | |||
import TopMenu from "@/components/TopMenu/index"; | |||
export default { | |||
name: 'package-manage', | |||
components: { TopMenu }, | |||
data(){ | |||
return { | |||
buttonList: [], // 头部按钮,例子: {name: '添加', type: 'primary', icon: 'el-icon-circle-plus', click: () => { this.AddDialog();}} | |||
} | |||
}, | |||
mounted() {}, | |||
created() {}, | |||
methods: { | |||
} | |||
} | |||
</script> | |||
<style scoped lang="scss"> | |||
</style> |
@@ -0,0 +1,37 @@ | |||
<!-- | |||
* @Date: 2022-08-08 09:28:25 | |||
* @LastEditors: JinxChen | |||
* @LastEditTime: 2022-08-08 16:07:48 | |||
* @FilePath: \TelpoUserManageAdmin\src\views\crowd-funding-otrder-system\main\participants-manage\index.vue | |||
* @description: 参与人管理 | |||
--> | |||
<template> | |||
<div class="app-container"> | |||
<!-- 顶部内容 --> | |||
<div class="top-container"> | |||
<TopMenu :buttonList="buttonList"/> | |||
</div> | |||
</div> | |||
</template> | |||
<script> | |||
import TopMenu from "@/components/TopMenu/index"; | |||
export default { | |||
name: 'participants-manage', | |||
components: { TopMenu }, | |||
data(){ | |||
return { | |||
buttonList: [], // 头部按钮,例子: {name: '添加', type: 'primary', icon: 'el-icon-circle-plus', click: () => { this.AddDialog();}} | |||
} | |||
}, | |||
mounted() {}, | |||
created() {}, | |||
methods: { | |||
} | |||
} | |||
</script> | |||
<style scoped lang="scss"> | |||
</style> |
@@ -0,0 +1,37 @@ | |||
<!-- | |||
* @Date: 2022-08-08 09:28:25 | |||
* @LastEditors: JinxChen | |||
* @LastEditTime: 2022-08-08 16:07:54 | |||
* @FilePath: \TelpoUserManageAdmin\src\views\crowd-funding-otrder-system\main\rules-setting\index.vue | |||
* @description: 规则设置 | |||
--> | |||
<template> | |||
<div class="app-container"> | |||
<!-- 顶部内容 --> | |||
<div class="top-container"> | |||
<TopMenu :buttonList="buttonList"/> | |||
</div> | |||
</div> | |||
</template> | |||
<script> | |||
import TopMenu from "@/components/TopMenu/index"; | |||
export default { | |||
name: 'rules-setting', | |||
components: { TopMenu }, | |||
data(){ | |||
return { | |||
buttonList: [], // 头部按钮,例子: {name: '添加', type: 'primary', icon: 'el-icon-circle-plus', click: () => { this.AddDialog();}} | |||
} | |||
}, | |||
mounted() {}, | |||
created() {}, | |||
methods: { | |||
} | |||
} | |||
</script> | |||
<style scoped lang="scss"> | |||
</style> |
@@ -7,7 +7,7 @@ | |||
--> | |||
<template> | |||
<div class="dashboard-container"> | |||
<div class="dashboard-text">欢迎来到天波后台管理模板</div> | |||
<div class="dashboard-text">欢迎来到用户运营管理系统</div> | |||
</div> | |||
</template> | |||
@@ -0,0 +1,38 @@ | |||
<!-- | |||
* @Date: 2022-08-08 10:09:45 | |||
* @LastEditors: JinxChen | |||
* @LastEditTime: 2022-08-08 16:08:00 | |||
* @FilePath: \TelpoUserManageAdmin\src\views\message-manage\main\add-articles\index.vue | |||
* @description: 添加文章 | |||
--> | |||
<template> | |||
<div class="app-container"> | |||
<!-- 顶部内容 --> | |||
<div class="top-container"> | |||
<TopMenu :buttonList="buttonList"/> | |||
</div> | |||
</div> | |||
</template> | |||
<script> | |||
import TopMenu from "@/components/TopMenu/index"; | |||
export default { | |||
name: 'wechat-fans', | |||
components: { TopMenu }, | |||
data(){ | |||
return { | |||
buttonList: [], // 头部按钮,例子: {name: '添加', type: 'primary', icon: 'el-icon-circle-plus', click: () => { this.AddDialog();}} | |||
} | |||
}, | |||
mounted() {}, | |||
created() {}, | |||
methods: { | |||
} | |||
} | |||
</script> | |||
<style scoped lang="scss"> | |||
</style> |
@@ -0,0 +1,38 @@ | |||
<!-- | |||
* @Date: 2022-08-08 10:09:47 | |||
* @LastEditors: JinxChen | |||
* @LastEditTime: 2022-08-08 16:08:07 | |||
* @FilePath: \TelpoUserManageAdmin\src\views\message-manage\main\add-mass\index.vue | |||
* @description: 添加群发 | |||
--> | |||
<template> | |||
<div class="app-container"> | |||
<!-- 顶部内容 --> | |||
<div class="top-container"> | |||
<TopMenu :buttonList="buttonList"/> | |||
</div> | |||
</div> | |||
</template> | |||
<script> | |||
import TopMenu from "@/components/TopMenu/index"; | |||
export default { | |||
name: 'add-mass', | |||
components: { TopMenu }, | |||
data(){ | |||
return { | |||
buttonList: [], // 头部按钮,例子: {name: '添加', type: 'primary', icon: 'el-icon-circle-plus', click: () => { this.AddDialog();}} | |||
} | |||
}, | |||
mounted() {}, | |||
created() {}, | |||
methods: { | |||
} | |||
} | |||
</script> | |||
<style scoped lang="scss"> | |||
</style> |
@@ -0,0 +1,30 @@ | |||
<!-- | |||
* @Date: 2022-08-08 09:59:56 | |||
* @LastEditors: JinxChen | |||
* @LastEditTime: 2022-08-08 10:08:19 | |||
* @FilePath: \TelpoUserManageAdmin\src\views\message-manage\main\index.vue | |||
* @description: 公众号消息管理 | |||
--> | |||
<template> | |||
<div style="padding:30px;"> | |||
<el-alert :closable="false" title="menu 1"> | |||
<router-view /> | |||
</el-alert> | |||
</div> | |||
</template> | |||
<script> | |||
export default { | |||
name:'', | |||
data(){ | |||
return { | |||
} | |||
} | |||
} | |||
</script> | |||
<style scoped> | |||
</style> |
@@ -0,0 +1,38 @@ | |||
<!-- | |||
* @Date: 2022-08-08 10:09:50 | |||
* @LastEditors: JinxChen | |||
* @LastEditTime: 2022-08-08 16:08:15 | |||
* @FilePath: \TelpoUserManageAdmin\src\views\message-manage\main\mass-list\index.vue | |||
* @description: 群发列表 | |||
--> | |||
<template> | |||
<div class="app-container"> | |||
<!-- 顶部内容 --> | |||
<div class="top-container"> | |||
<TopMenu :buttonList="buttonList"/> | |||
</div> | |||
</div> | |||
</template> | |||
<script> | |||
import TopMenu from "@/components/TopMenu/index"; | |||
export default { | |||
name: 'mass-list', | |||
components: { TopMenu }, | |||
data(){ | |||
return { | |||
buttonList: [], // 头部按钮,例子: {name: '添加', type: 'primary', icon: 'el-icon-circle-plus', click: () => { this.AddDialog();}} | |||
} | |||
}, | |||
mounted() {}, | |||
created() {}, | |||
methods: { | |||
} | |||
} | |||
</script> | |||
<style scoped lang="scss"> | |||
</style> |
@@ -0,0 +1,38 @@ | |||
<!-- | |||
* @Date: 2022-08-08 10:09:53 | |||
* @LastEditors: JinxChen | |||
* @LastEditTime: 2022-08-08 16:08:20 | |||
* @FilePath: \TelpoUserManageAdmin\src\views\message-manage\main\unsubscribe-list\index.vue | |||
* @description: 退订列表 | |||
--> | |||
<template> | |||
<div class="app-container"> | |||
<!-- 顶部内容 --> | |||
<div class="top-container"> | |||
<TopMenu :buttonList="buttonList"/> | |||
</div> | |||
</div> | |||
</template> | |||
<script> | |||
import TopMenu from "@/components/TopMenu/index"; | |||
export default { | |||
name: 'unsubscribe-list', | |||
components: { TopMenu }, | |||
data(){ | |||
return { | |||
buttonList: [], // 头部按钮,例子: {name: '添加', type: 'primary', icon: 'el-icon-circle-plus', click: () => { this.AddDialog();}} | |||
} | |||
}, | |||
mounted() {}, | |||
created() {}, | |||
methods: { | |||
} | |||
} | |||
</script> | |||
<style scoped lang="scss"> | |||
</style> |
@@ -0,0 +1,146 @@ | |||
<!-- | |||
* @Date: 2022-08-08 10:08:58 | |||
* @LastEditors: JinxChen | |||
* @LastEditTime: 2022-08-08 16:11:42 | |||
* @FilePath: \TelpoUserManageAdmin\src\views\message-manage\main\wechat-fans\index.vue | |||
* @description: 公众号粉丝 | |||
--> | |||
<template> | |||
<div class="home-container"> | |||
<!-- 顶部内容 --> | |||
<div class="top-container"> | |||
<!-- <TopMenu :buttonList="buttonList"/> --> | |||
<span >会员类型:</span> | |||
<el-radio-group v-model="searchParams.radioValue" @change="onRadio"> | |||
<el-radio :label="item.label" v-for="(item, index) in radioArray" :key="index">{{item.value}}</el-radio> | |||
</el-radio-group> | |||
<!-- 选择省份 --> | |||
<el-select v-model="searchParams.selectValue" filterable placeholder="请选择省份" class="select" @change="onSelect"> | |||
<el-option | |||
v-for="(item, index) in provinceOptions" | |||
:key="index" | |||
:label="item.label" | |||
:value="item.value"> | |||
</el-option> | |||
</el-select> | |||
<!-- 搜索 --> | |||
<el-input :placeholder="placeholder" v-model="searchParams.inputValue" class="search-input"/> | |||
<el-button icon="el-icon-search" @click="onSearch" type="primary" class="search-btn">搜索</el-button> | |||
</div> | |||
<TTable | |||
:tableData="dataList" | |||
:columns="columns" | |||
></TTable> | |||
<!-- 分页 --> | |||
<pagination | |||
v-show="total > 0" | |||
ref="pages" | |||
:total="total" | |||
:page.sync="page" | |||
:limit.sync="limit" | |||
/> | |||
</div> | |||
</template> | |||
<script> | |||
/* import TopMenu from "@/components/TopMenu/index"; */ | |||
import TTable from "@/components/TTable/TTable"; | |||
import Pagination from "@/components/Pagination"; | |||
export default { | |||
name: 'add-articles', | |||
/* components: { TopMenu }, */ | |||
components: { TTable, Pagination }, | |||
data(){ | |||
return { | |||
// 头部按钮,例子: {name: '添加', type: 'primary', icon: 'el-icon-circle-plus', click: () => { this.AddDialog();}} | |||
buttonList: [], | |||
//搜索的参数 | |||
searchParams: { | |||
radioValue: 0, | |||
selectValue: '全部省份', | |||
inputValue: '' | |||
}, | |||
// 单选框数组 | |||
radioArray: [ | |||
{ label: 0, value: '全部' }, | |||
{ label: 1, value: '访客' }, | |||
{ label: 2, value: '粉丝' }, | |||
{ label: 3, value: '会员' }, | |||
], | |||
// 省份 | |||
provinceOptions: [ | |||
{ label: '全部省份', value: '全部省份' }, | |||
{ label: '北京', value: '北京' }, | |||
{ label: '上海', value: '上海' }, | |||
{ label: '广东', value: '广东' }, | |||
{ label: '深圳', value: '深圳' }, | |||
], | |||
// placeholder | |||
placeholder: '请输入姓名,昵称或者手机号码搜索', | |||
// 表格数据 | |||
dataList: [ | |||
{ nickName: 'wqwr', userName: 'wwfq', phone: '18277426712', area: '广东省', cardNumber: '11', wxAccount: '18277426712', antAccount: '18277426712' }, | |||
{ nickName: 'wqwr', userName: 'wwfq', phone: '18277426712', area: '广东省', cardNumber: '11', wxAccount: '18277426712', antAccount: '18277426712' }, | |||
{ nickName: 'wqwr', userName: 'wwfq', phone: '18277426712', area: '广东省', cardNumber: '11', wxAccount: '18277426712', antAccount: '18277426712' }, | |||
], | |||
// 表格columns | |||
columns: [ | |||
{ prop: "nickName", title: "昵称", fixed: 'left' }, | |||
{ prop: "userName", title: "姓名"}, | |||
{ prop: "phone", title: "手机号码" }, | |||
{ prop: "area", title: "地区" }, | |||
{ prop: "cardNumber", title: "卡号" }, | |||
{ prop: "wxAccount", title: "微信账号" }, | |||
{ prop: "antAccount", title: "支付宝账号" }, | |||
], | |||
// 表格总条据 | |||
total: 1, | |||
// 第几页 | |||
page: 1, | |||
// 多少条 | |||
limit: 10, | |||
} | |||
}, | |||
mounted() {}, | |||
created() {}, | |||
methods: { | |||
// 选中的radio发生变化 | |||
onRadio(value) { | |||
if(value) { | |||
this.searchParams.radioValue = value; | |||
} | |||
}, | |||
// 选中的select发生变化 | |||
onSelect(value) { | |||
if(value) { | |||
this.searchParams.selectValue = value; | |||
console.log(this.searchParams.selectValue); | |||
} | |||
}, | |||
// 搜索 | |||
onSearch() { | |||
console.log("searchParams", this.searchParams); | |||
}, | |||
// 获取表格数据 | |||
getList() { | |||
} | |||
} | |||
} | |||
</script> | |||
<style scoped lang="scss"> | |||
.select { | |||
padding-left: 20px; | |||
width: 250px | |||
} | |||
.search-input { | |||
width: 350px; | |||
margin-left: 20px; | |||
} | |||
.search-btn { | |||
margin-left: 20px; | |||
width: 100px; | |||
} | |||
</style> |
@@ -0,0 +1,31 @@ | |||
<!-- | |||
* @Date: 2022-08-08 10:14:16 | |||
* @LastEditors: JinxChen | |||
* @LastEditTime: 2022-08-08 10:14:33 | |||
* @FilePath: \TelpoUserManageAdmin\src\views\system-manage\main\index.vue | |||
* @description: 系统管理 | |||
--> | |||
<template> | |||
<div style="padding:30px;"> | |||
<el-alert :closable="false" title="menu 1"> | |||
<router-view /> | |||
</el-alert> | |||
</div> | |||
</template> | |||
<script> | |||
export default { | |||
name:'', | |||
data(){ | |||
return { | |||
} | |||
} | |||
} | |||
</script> | |||
<style scoped> | |||
</style> |
@@ -0,0 +1,39 @@ | |||
<!-- | |||
* @Date: 2022-08-08 10:48:01 | |||
* @LastEditors: JinxChen | |||
* @LastEditTime: 2022-08-08 16:08:28 | |||
* @FilePath: \TelpoUserManageAdmin\src\views\system-manage\main\system-setting\index.vue | |||
* @description: 系统设置 | |||
--> | |||
<template> | |||
<div class="app-container"> | |||
<!-- 顶部内容 --> | |||
<div class="top-container"> | |||
<TopMenu :buttonList="buttonList"/> | |||
</div> | |||
</div> | |||
</template> | |||
<script> | |||
import TopMenu from "@/components/TopMenu/index"; | |||
export default { | |||
name: 'system-setting', | |||
components: { TopMenu }, | |||
data(){ | |||
return { | |||
buttonList: [], // 头部按钮,例子: {name: '添加', type: 'primary', icon: 'el-icon-circle-plus', click: () => { this.AddDialog();}} | |||
} | |||
}, | |||
mounted() {}, | |||
created() {}, | |||
methods: { | |||
} | |||
} | |||
</script> | |||
<style scoped lang="scss"> | |||
</style> |
@@ -0,0 +1,37 @@ | |||
<!-- | |||
* @Date: 2022-08-08 09:28:25 | |||
* @LastEditors: JinxChen | |||
* @LastEditTime: 2022-08-08 16:08:32 | |||
* @FilePath: \TelpoUserManageAdmin\src\views\vue-template.vue | |||
* @description: | |||
--> | |||
<template> | |||
<div class="app-container"> | |||
<!-- 顶部内容 --> | |||
<div class="top-container"> | |||
<TopMenu :buttonList="buttonList"/> | |||
</div> | |||
</div> | |||
</template> | |||
<script> | |||
import TopMenu from "@/components/TopMenu/index"; | |||
export default { | |||
name: 'vue-template', | |||
components: { TopMenu }, | |||
data(){ | |||
return { | |||
buttonList: [], // 头部按钮,例子: {name: '添加', type: 'primary', icon: 'el-icon-circle-plus', click: () => { this.AddDialog();}} | |||
} | |||
}, | |||
mounted() {}, | |||
created() {}, | |||
methods: { | |||
} | |||
} | |||
</script> | |||
<style scoped lang="scss"> | |||
</style> |
@@ -6,7 +6,7 @@ function resolve(dir) { | |||
return path.join(__dirname, dir) | |||
} | |||
const name = defaultSettings.title || '天波后台管理模板' // page title | |||
const name = defaultSettings.title || '用户运营管理系统' // page title | |||
// If your port is set to 80, | |||
// use administrator privileges to execute the command line. | |||