diff --git a/package.json b/package.json
index 6ca4f93..e108efa 100755
--- a/package.json
+++ b/package.json
@@ -13,6 +13,7 @@
},
"dependencies": {
"@element-plus/icons-vue": "^2.1.0",
+ "@fancyapps/ui": "^5.0.22",
"@icon-park/vue-next": "^1.4.2",
"@lottiefiles/lottie-player": "^2.0.2",
"@vueuse/core": "^10.1.2",
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 382e913..36473e2 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -8,6 +8,9 @@ dependencies:
'@element-plus/icons-vue':
specifier: ^2.1.0
version: 2.1.0(vue@3.3.4)
+ '@fancyapps/ui':
+ specifier: ^5.0.22
+ version: 5.0.22
'@icon-park/vue-next':
specifier: ^1.4.2
version: 1.4.2(vue@3.3.4)
@@ -1033,6 +1036,10 @@ packages:
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
dev: true
+ /@fancyapps/ui@5.0.22:
+ resolution: {integrity: sha512-44A5/Hm59mn53FqZRyM4HO/R7UWE79UxgNyHmaudSe+HuU5Kl1g6lxR4Ol1QFaqNS97Pbdytlu4SxYsOX1BTxw==}
+ dev: false
+
/@floating-ui/core@1.3.1:
resolution: {integrity: sha512-Bu+AMaXNjrpjh41znzHqaz3r2Nr8hHuHZT6V2LBKMhyMl0FgKA62PNYbqnfgmzOhoWZj70Zecisbo4H1rotP5g==}
dev: false
@@ -3988,7 +3995,7 @@ packages:
lodash-es: 4.17.21
vanilla-jsoneditor: 0.17.8
vue: 3.3.4
- vue-demi: 0.14.5(vue@3.3.4)
+ vue-demi: 0.14.6(vue@3.3.4)
vue-global-config: 0.4.0(vue@3.3.4)
dev: true
@@ -5750,6 +5757,21 @@ packages:
dependencies:
vue: 3.3.4
+ /vue-demi@0.14.6(vue@3.3.4):
+ resolution: {integrity: sha512-8QA7wrYSHKaYgUxDA5ZC24w+eHm3sYCbp0EzcDwKqN3p6HqtTCGR/GVsPyZW92unff4UlcSh++lmqDWN3ZIq4w==}
+ engines: {node: '>=12'}
+ hasBin: true
+ requiresBuild: true
+ peerDependencies:
+ '@vue/composition-api': ^1.0.0-rc.1
+ vue: ^3.0.0-0 || ^2.6.0
+ peerDependenciesMeta:
+ '@vue/composition-api':
+ optional: true
+ dependencies:
+ vue: 3.3.4
+ dev: true
+
/vue-eslint-parser@9.3.1(eslint@8.40.0):
resolution: {integrity: sha512-Clr85iD2XFZ3lJ52/ppmUDG/spxQu6+MAeHXjjyI4I1NUYZ9xmenQp4N0oaHJhrA8OOxltCVxMRfANGa70vU0g==}
engines: {node: ^14.17.0 || >=16.0.0}
@@ -5772,7 +5794,7 @@ packages:
resolution: {integrity: sha512-283vpYOhVHJCpMkjNVEwZdgaAb+Y93zFaXGAWTI378MLoNuwQydjD/BAy1e81QYEmyA+JbxqcmMZVWcM9rbriw==}
dependencies:
eslint-config-vue-global-api: 0.4.1
- vue-demi: 0.14.5(vue@3.3.4)
+ vue-demi: 0.14.6(vue@3.3.4)
transitivePeerDependencies:
- '@vue/composition-api'
- vue
diff --git a/src/api/command.ts b/src/api/command.ts
new file mode 100644
index 0000000..c5c340f
--- /dev/null
+++ b/src/api/command.ts
@@ -0,0 +1,36 @@
+import request from '@/utils/axios';
+
+// 获取口令列表
+export function commandGet(params?: any) {
+ return request({
+ url: '/manager/web3/laboratory',
+ method: 'get',
+ params
+ });
+}
+
+// 新增口令
+export function commandPost(data: any) {
+ return request({
+ url: '/manager/web3/laboratory',
+ method: 'post',
+ data
+ });
+}
+
+// 编辑口令
+export function commandPut(data: any, id: string) {
+ return request({
+ url: `/manager/web3/laboratory/${id}`,
+ method: 'put',
+ data
+ });
+}
+
+// 删除口令
+export function commandDelete(id: string) {
+ return request({
+ url: `/manager/web3/laboratory/${id}`,
+ method: 'delete'
+ });
+}
diff --git a/src/api/workplace/app.ts b/src/api/workplace/app.ts
new file mode 100644
index 0000000..e32856c
--- /dev/null
+++ b/src/api/workplace/app.ts
@@ -0,0 +1,36 @@
+import request from '@/utils/axios';
+
+// 获取应用
+export function appGet(params?: any) {
+ return request({
+ url: '/manager/workplace/app',
+ method: 'get',
+ params
+ });
+}
+
+// 新增应用
+export function appPost(data: any) {
+ return request({
+ url: '/manager/workplace/app',
+ method: 'post',
+ data
+ });
+}
+
+// 编辑应用
+export function appPut(data: any, app_id: string) {
+ return request({
+ url: `/manager/workplace/apps/${app_id}`,
+ method: 'put',
+ data
+ });
+}
+
+// 删除应用
+export function appDelete(app_id: string) {
+ return request({
+ url: `/manager/workplace/apps/${app_id}`,
+ method: 'delete'
+ });
+}
diff --git a/src/api/workplace/banner.ts b/src/api/workplace/banner.ts
new file mode 100644
index 0000000..364c348
--- /dev/null
+++ b/src/api/workplace/banner.ts
@@ -0,0 +1,45 @@
+import request from '@/utils/axios';
+
+// 获取轮播
+export function bannerGet(params?: any) {
+ return request({
+ url: '/manager/workplace/banner',
+ method: 'get',
+ params
+ });
+}
+
+// 新增轮播
+export function bannerPost(data: any) {
+ return request({
+ url: '/manager/workplace/banner',
+ method: 'post',
+ data
+ });
+}
+
+// 编辑轮播
+export function bannerPut(data: any, banner_no: string) {
+ return request({
+ url: `/manager/workplace/banners/${banner_no}`,
+ method: 'put',
+ data
+ });
+}
+
+// 删除轮播
+export function bannerDelete(banner_no: string) {
+ return request({
+ url: `/manager/workplace/banners/${banner_no}`,
+ method: 'delete'
+ });
+}
+
+// 轮播排序
+export function bannerReorderPut(data: any) {
+ return request({
+ url: `/manager/workplace/banner/reorder`,
+ method: 'put',
+ data
+ });
+}
diff --git a/src/api/workplace/category.ts b/src/api/workplace/category.ts
new file mode 100644
index 0000000..d1067fe
--- /dev/null
+++ b/src/api/workplace/category.ts
@@ -0,0 +1,79 @@
+import request from '@/utils/axios';
+
+// 获取分类
+export function categoryGet(params?: any) {
+ return request({
+ url: '/manager/workplace/category',
+ method: 'get',
+ params
+ });
+}
+
+// 新增分类
+export function categoryPost(data: any) {
+ return request({
+ url: '/manager/workplace/category',
+ method: 'post',
+ data
+ });
+}
+
+// 分类编辑
+export function categoryPut(data: any, category_no: string) {
+ return request({
+ url: `/manager/workplace/categorys/${category_no}`,
+ method: 'put',
+ data
+ });
+}
+
+// 删除分类
+export function categoryDelete(category_no: string) {
+ return request({
+ url: `/manager/workplace/categorys/${category_no}`,
+ method: 'delete'
+ });
+}
+
+// 分类排序
+export function categoryReorderPut(data: any) {
+ return request({
+ url: '/manager/workplace/category/reorder',
+ method: 'put',
+ data
+ });
+}
+
+// 分类获取应用
+export function categoryAppGet(category_no: string) {
+ return request({
+ url: `/manager/workplace/categorys/${category_no}/app`,
+ method: 'get'
+ });
+}
+
+// 分类新增应用
+export function categoryAppPost(data: any, category_no: string) {
+ return request({
+ url: `/manager/workplace/categorys/${category_no}/app`,
+ method: 'post',
+ data
+ });
+}
+
+// 分类删除应用
+export function categoryAppDelete(category_no: string, app_id: string) {
+ return request({
+ url: `/manager/workplace/categorys/${category_no}/apps/${app_id}`,
+ method: 'delete'
+ });
+}
+
+// 分类应用排序
+export function categorysAppsReorderPut(data: any, category_no: string) {
+ return request({
+ url: `/manager/workplace/categorys/${category_no}/app/reorder`,
+ method: 'put',
+ data
+ });
+}
diff --git a/src/components/BdMsg/index.vue b/src/components/BdMsg/index.vue
index 462cdfa..87b8e87 100644
--- a/src/components/BdMsg/index.vue
+++ b/src/components/BdMsg/index.vue
@@ -5,13 +5,31 @@
{{ msg['content'] }}
-
+
-
+
-
+
位置标题:{{ msg['title'] }}
@@ -73,6 +91,7 @@
+
+
diff --git a/src/layouts/components/Tabs.vue b/src/layouts/components/Tabs.vue
index 7810bcc..322a617 100755
--- a/src/layouts/components/Tabs.vue
+++ b/src/layouts/components/Tabs.vue
@@ -10,25 +10,6 @@
:class="tabsMenuValue === item.path ? 'chrome-tab_active' : ''"
@click.stop="tabClick(item)"
>
-
diff --git a/src/main.ts b/src/main.ts
index b160f98..3fcd5d0 100755
--- a/src/main.ts
+++ b/src/main.ts
@@ -19,6 +19,7 @@ import 'vue-global-api';
import 'element-plus/dist/index.css';
import 'element-plus/theme-chalk/dark/css-vars.css';
import '@icon-park/vue-next/styles/index.css';
+import '@fancyapps/ui/dist/fancybox/fancybox.css';
import '@/styles/index.scss';
import 'uno.css';
diff --git a/src/menu/modules/setting.ts b/src/menu/modules/setting.ts
index 2dfb78a..9faa330 100644
--- a/src/menu/modules/setting.ts
+++ b/src/menu/modules/setting.ts
@@ -9,7 +9,7 @@ const home: Menu.MenuOptions = {
isHide: false,
isKeepAlive: true,
isLink: '',
- index: 8,
+ index: 9,
title: '设置'
},
children: [
diff --git a/src/menu/modules/tool.ts b/src/menu/modules/tool.ts
index 45c6385..414d1c4 100644
--- a/src/menu/modules/tool.ts
+++ b/src/menu/modules/tool.ts
@@ -9,7 +9,7 @@ const home: Menu.MenuOptions = {
isHide: false,
isKeepAlive: true,
isLink: '',
- index: 7,
+ index: 8,
title: '工具'
},
children: [
@@ -27,6 +27,20 @@ const home: Menu.MenuOptions = {
title: 'APP升级'
}
},
+ {
+ component: '/tool/command',
+ name: 'toolCommand',
+ path: '/tool/command',
+ meta: {
+ icon: 'i-bd-command',
+ isAffix: false,
+ isFull: false,
+ isHide: false,
+ isKeepAlive: true,
+ isLink: '',
+ title: '口令管理'
+ }
+ },
{
component: '/tool/systemrobotmenu',
name: 'toolSystemrobotmenu',
diff --git a/src/menu/modules/workplace.ts b/src/menu/modules/workplace.ts
new file mode 100644
index 0000000..4e73eca
--- /dev/null
+++ b/src/menu/modules/workplace.ts
@@ -0,0 +1,43 @@
+const home: Menu.MenuOptions = {
+ name: 'tool',
+ path: '/workplace',
+ meta: {
+ icon: 'i-bd-all-application',
+ isAffix: false,
+ isFull: false,
+ isHide: false,
+ isKeepAlive: true,
+ isLink: '',
+ index: 7,
+ title: '工作台'
+ },
+ children: [
+ {
+ name: 'workplaceManage',
+ path: '/workplace/manage',
+ meta: {
+ icon: 'i-bd-application',
+ isAffix: false,
+ isFull: false,
+ isHide: false,
+ isKeepAlive: true,
+ isLink: '',
+ title: '应用管理'
+ }
+ },
+ {
+ name: 'workplaceConfiguration',
+ path: '/workplace/configuration',
+ meta: {
+ icon: 'i-bd-setting-config',
+ isAffix: false,
+ isFull: false,
+ isHide: false,
+ isKeepAlive: true,
+ isLink: '',
+ title: '工作台设置'
+ }
+ }
+ ]
+};
+export default home;
diff --git a/src/pages/group/groupblacklist.vue b/src/pages/group/groupblacklist.vue
index 3cadfc8..4688ff3 100644
--- a/src/pages/group/groupblacklist.vue
+++ b/src/pages/group/groupblacklist.vue
@@ -35,8 +35,8 @@
{{ item.formatter(scope.row) }}
-
- {{ scope.row[item.prop] }}
+
+ {{ scope.row[item.prop!] }}
diff --git a/src/pages/group/groupdisablelist.vue b/src/pages/group/groupdisablelist.vue
index 8ec2c08..9c383df 100644
--- a/src/pages/group/groupdisablelist.vue
+++ b/src/pages/group/groupdisablelist.vue
@@ -32,8 +32,8 @@
{{ item.formatter(scope.row) }}
-
- {{ scope.row[item.prop] }}
+
+ {{ scope.row[item.prop!] }}
diff --git a/src/pages/group/grouplist.vue b/src/pages/group/grouplist.vue
index 25a5658..5f426d8 100644
--- a/src/pages/group/grouplist.vue
+++ b/src/pages/group/grouplist.vue
@@ -33,7 +33,7 @@
{{ item.formatter(scope.row) }}
- {{ scope.row[item.prop] }}
+ {{ scope.row[item.prop!] }}
diff --git a/src/pages/group/groupmembers.vue b/src/pages/group/groupmembers.vue
index 7fdd648..5f42ec2 100644
--- a/src/pages/group/groupmembers.vue
+++ b/src/pages/group/groupmembers.vue
@@ -35,8 +35,8 @@
{{ item.formatter(scope.row) }}
-
- {{ scope.row[item.prop] }}
+
+ {{ scope.row[item.prop!] }}
diff --git a/src/pages/message/prohibitwords.vue b/src/pages/message/prohibitwords.vue
index fbba49c..18bda50 100644
--- a/src/pages/message/prohibitwords.vue
+++ b/src/pages/message/prohibitwords.vue
@@ -34,7 +34,7 @@
{{ item.formatter(scope.row) }}
- {{ scope.row[item.prop] }}
+ {{ scope.row[item.prop!] }}
diff --git a/src/pages/message/record.vue b/src/pages/message/record.vue
index d113bc3..5a61aea 100644
--- a/src/pages/message/record.vue
+++ b/src/pages/message/record.vue
@@ -36,7 +36,7 @@
{{ item.formatter(scope.row) }}
- {{ scope.row[item.prop] }}
+ {{ scope.row[item.prop!] }}
diff --git a/src/pages/message/recordpersonal.vue b/src/pages/message/recordpersonal.vue
index 082d0c0..e427016 100644
--- a/src/pages/message/recordpersonal.vue
+++ b/src/pages/message/recordpersonal.vue
@@ -39,7 +39,7 @@
{{ item.formatter(scope.row) }}
- {{ scope.row[item.prop] }}
+ {{ scope.row[item.prop!] }}
@@ -198,8 +198,8 @@ const getUserList = () => {
loadTable.value = true;
messageRecordpersonalGet(queryFrom).then((res: any) => {
loadTable.value = false;
- tableData.value = res.list;
- total.value = res.count;
+ tableData.value = res?.list ? res?.list : [];
+ total.value = res?.count ? res?.count : 0;
});
};
@@ -225,6 +225,7 @@ const msgDel = (data: any) => {
const formData = {
channel_id: route.query.uid,
channel_type: 1,
+ from_uid: route.query.touid,
list
};
messageDelete(formData).then((res: any) => {
diff --git a/src/pages/message/sendmsglist.vue b/src/pages/message/sendmsglist.vue
index 3f5363f..00cdf6d 100644
--- a/src/pages/message/sendmsglist.vue
+++ b/src/pages/message/sendmsglist.vue
@@ -30,7 +30,7 @@
{{ item.formatter(scope.row) }}
- {{ scope.row[item.prop] }}
+ {{ scope.row[item.prop!] }}
diff --git a/src/pages/redpacket/list.vue b/src/pages/redpacket/list.vue
index efcee25..84ce01d 100644
--- a/src/pages/redpacket/list.vue
+++ b/src/pages/redpacket/list.vue
@@ -32,8 +32,8 @@
{{ item.formatter(scope.row) }}
-
- {{ scope.row[item.prop] }}
+
+ {{ scope.row[item.prop!] }}
diff --git a/src/pages/report/group.vue b/src/pages/report/group.vue
index 62819a5..5f3d057 100644
--- a/src/pages/report/group.vue
+++ b/src/pages/report/group.vue
@@ -23,8 +23,8 @@
{{ item.formatter(scope.row) }}
-
- {{ scope.row[item.prop] }}
+
+ {{ scope.row[item.prop!] }}
diff --git a/src/pages/report/user.vue b/src/pages/report/user.vue
index 08492a0..1cf8ff9 100644
--- a/src/pages/report/user.vue
+++ b/src/pages/report/user.vue
@@ -23,8 +23,8 @@
{{ item.formatter(scope.row) }}
-
- {{ scope.row[item.prop] }}
+
+ {{ scope.row[item.prop!] }}
diff --git a/src/pages/tool/appupdate.vue b/src/pages/tool/appupdate.vue
index 209544d..b2a6132 100644
--- a/src/pages/tool/appupdate.vue
+++ b/src/pages/tool/appupdate.vue
@@ -29,8 +29,8 @@
{{ item.formatter(scope.row) }}
-
- {{ scope.row[item.prop] }}
+
+ {{ scope.row[item.prop!] }}
diff --git a/src/pages/tool/command/components/CommandDialog.vue b/src/pages/tool/command/components/CommandDialog.vue
new file mode 100644
index 0000000..c544171
--- /dev/null
+++ b/src/pages/tool/command/components/CommandDialog.vue
@@ -0,0 +1,146 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 取消
+ 保存
+
+
+
+
+
+
+
+
diff --git a/src/pages/tool/command/index.vue b/src/pages/tool/command/index.vue
new file mode 100644
index 0000000..7726f8e
--- /dev/null
+++ b/src/pages/tool/command/index.vue
@@ -0,0 +1,220 @@
+
+
+
+
+
+
+
+
+
+
+
+ 查询
+
+
+ 新增口令
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ item.formatter(scope.row) }}
+
+
+ {{ scope.row[item.prop!] }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+meta:
+ title: 口令管理
+ isAffix: false
+
+
+
+
+
diff --git a/src/pages/tool/systemrobotmenu.vue b/src/pages/tool/systemrobotmenu.vue
index 7cde68f..eea19d6 100644
--- a/src/pages/tool/systemrobotmenu.vue
+++ b/src/pages/tool/systemrobotmenu.vue
@@ -23,8 +23,8 @@
{{ item.formatter(scope.row) }}
-
- {{ scope.row[item.prop] }}
+
+ {{ scope.row[item.prop!] }}
diff --git a/src/pages/user/disablelist.vue b/src/pages/user/disablelist.vue
index 9185acd..2104c6d 100644
--- a/src/pages/user/disablelist.vue
+++ b/src/pages/user/disablelist.vue
@@ -32,8 +32,8 @@
{{ item.formatter(scope.row) }}
-
- {{ scope.row[item.prop] }}
+
+ {{ scope.row[item.prop!] }}
diff --git a/src/pages/user/friends.vue b/src/pages/user/friends.vue
index a833386..4148a25 100644
--- a/src/pages/user/friends.vue
+++ b/src/pages/user/friends.vue
@@ -36,8 +36,8 @@
{{ item.formatter(scope.row) }}
-
- {{ scope.row[item.prop] }}
+
+ {{ scope.row[item.prop!] }}
diff --git a/src/pages/user/userblacklist.vue b/src/pages/user/userblacklist.vue
index 53eaa06..11b2191 100644
--- a/src/pages/user/userblacklist.vue
+++ b/src/pages/user/userblacklist.vue
@@ -35,8 +35,8 @@
{{ item.formatter(scope.row) }}
-
- {{ scope.row[item.prop] }}
+
+ {{ scope.row[item.prop!] }}
diff --git a/src/pages/user/userlist.vue b/src/pages/user/userlist.vue
index 621fd49..41e27bf 100644
--- a/src/pages/user/userlist.vue
+++ b/src/pages/user/userlist.vue
@@ -33,8 +33,8 @@
{{ item.formatter(scope.row) }}
-
- {{ scope.row[item.prop] }}
+
+ {{ scope.row[item.prop!] }}
@@ -81,7 +81,7 @@ const userStore = useUserStore();
const column = reactive
([
{
prop: 'name',
- label: '用户名',
+ label: '昵称',
fixed: 'left',
width: 140
},
@@ -91,6 +91,11 @@ const column = reactive([
fixed: 'left',
width: 120
},
+ {
+ prop: 'username',
+ label: '用户',
+ width: 120
+ },
{
prop: 'avatar',
label: '头像',
diff --git a/src/pages/workplace/configuration/components/AppDialog.vue b/src/pages/workplace/configuration/components/AppDialog.vue
new file mode 100644
index 0000000..d419403
--- /dev/null
+++ b/src/pages/workplace/configuration/components/AppDialog.vue
@@ -0,0 +1,192 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ col.formatter(row) }}
+
+
+ {{ row[col.prop] }}
+
+
+
+
+
+
+
+
+
+
+ 取消
+ 确定
+
+
+
+
+
+
diff --git a/src/pages/workplace/configuration/components/Banner.vue b/src/pages/workplace/configuration/components/Banner.vue
new file mode 100644
index 0000000..0c11773
--- /dev/null
+++ b/src/pages/workplace/configuration/components/Banner.vue
@@ -0,0 +1,265 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ item.formatter(scope.row) }}
+
+
+ {{ scope.row[item.prop!] }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/pages/workplace/configuration/components/BannerDialog.vue b/src/pages/workplace/configuration/components/BannerDialog.vue
new file mode 100644
index 0000000..9147692
--- /dev/null
+++ b/src/pages/workplace/configuration/components/BannerDialog.vue
@@ -0,0 +1,212 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 网页
+ APP
+
+
+
+
+
+
+
+
+
+
+
+ 取消
+ 保存
+
+
+
+
+
+
+
+
diff --git a/src/pages/workplace/configuration/components/CategoryDialog.vue b/src/pages/workplace/configuration/components/CategoryDialog.vue
new file mode 100644
index 0000000..fa025d1
--- /dev/null
+++ b/src/pages/workplace/configuration/components/CategoryDialog.vue
@@ -0,0 +1,133 @@
+
+
+
+
+
+
+
+ 取消
+ 保存
+
+
+
+
+
+
diff --git a/src/pages/workplace/configuration/components/CustomGroup.vue b/src/pages/workplace/configuration/components/CustomGroup.vue
new file mode 100644
index 0000000..8539a6b
--- /dev/null
+++ b/src/pages/workplace/configuration/components/CustomGroup.vue
@@ -0,0 +1,447 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
{{ item.name }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ item.formatter(scope.row) }}
+
+
+ {{ scope.row[item.prop!] }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/pages/workplace/configuration/components/Recommend.vue b/src/pages/workplace/configuration/components/Recommend.vue
new file mode 100644
index 0000000..61dcb71
--- /dev/null
+++ b/src/pages/workplace/configuration/components/Recommend.vue
@@ -0,0 +1,161 @@
+
+
+
+
+
+
+
+
+
+
+
+ 新增推荐应用
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ item.formatter(scope.row) }}
+
+
+ {{ scope.row[item.prop!] }}
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/pages/workplace/configuration/index.vue b/src/pages/workplace/configuration/index.vue
new file mode 100644
index 0000000..8a6696e
--- /dev/null
+++ b/src/pages/workplace/configuration/index.vue
@@ -0,0 +1,41 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+meta:
+ title: 工作台设置
+ isAffix: false
+
+
+
diff --git a/src/pages/workplace/manage/components/Apply.vue b/src/pages/workplace/manage/components/Apply.vue
new file mode 100644
index 0000000..31756c5
--- /dev/null
+++ b/src/pages/workplace/manage/components/Apply.vue
@@ -0,0 +1,230 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 网页
+ APP
+
+
+
+
+
+
+
+
+
+
+ 免费
+ 付费
+
+
+
+
+
+
+
+
+ 取消
+ 保存
+
+
+
+
+
+
+
+
diff --git a/src/pages/workplace/manage/index.vue b/src/pages/workplace/manage/index.vue
new file mode 100644
index 0000000..000a22d
--- /dev/null
+++ b/src/pages/workplace/manage/index.vue
@@ -0,0 +1,256 @@
+
+
+
+
+
+
+
+
+
+
+
+ 查询
+
+
+ 新增应用
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ item.formatter(scope.row) }}
+
+
+ {{ scope.row[item.prop!] }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+meta:
+ title: 应用管理
+ isAffix: false
+
+
+
+
+
diff --git a/src/styles/element.scss b/src/styles/element.scss
index f9173e0..ced6fdb 100755
--- a/src/styles/element.scss
+++ b/src/styles/element.scss
@@ -11,6 +11,7 @@
/* 当前页面最大化 css */
.main-maximize {
+
.aside-split,
.el-aside,
.el-header,
@@ -40,6 +41,7 @@
border-radius: 0;
box-shadow: none;
}
+
.table-search {
padding: 18px 0 0 !important;
margin-bottom: 0 !important;
@@ -52,18 +54,22 @@
flex-direction: column;
align-items: center;
height: 100%;
+
.text {
margin: 20px 0 30px;
font-size: 23px;
font-weight: bold;
color: var(--el-text-color-regular);
}
+
.el-descriptions {
width: 100%;
padding: 40px 0 0;
+
.el-descriptions__title {
font-size: 18px;
}
+
.el-descriptions__label {
width: 200px;
}
@@ -75,6 +81,7 @@
display: flex;
width: 100%;
height: 100%;
+
.table-box {
// 这里减去的是 treeFilter 组件宽度
width: calc(100% - 230px);
@@ -94,8 +101,9 @@
.table-search {
padding: 18px 18px 0;
margin-bottom: 10px;
+
.el-form {
- .el-form-item__content > * {
+ .el-form-item__content>* {
width: 100%;
}
@@ -104,6 +112,7 @@
padding: 0 10px;
}
}
+
.operation {
display: flex;
align-items: center;
@@ -117,9 +126,11 @@
.header-button-lf {
float: left;
}
+
.header-button-ri {
float: right;
}
+
.el-button {
margin-bottom: 15px;
}
@@ -133,6 +144,7 @@
table {
width: 100%;
}
+
.el-table__header th {
height: 45px;
font-size: 15px;
@@ -140,16 +152,18 @@
color: var(--el-text-color-primary);
background: var(--el-fill-color-light);
}
+
.el-table__row {
height: 45px;
font-size: 14px;
+
.el-table__placeholder {
display: inline;
}
}
// 设置 el-table 中 header 文字不换行,并省略
- .el-table__header .el-table__cell > .cell {
+ .el-table__header .el-table__cell>.cell {
white-space: nowrap;
}
@@ -159,6 +173,7 @@
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
+
.table-empty {
line-height: 30px;
}
@@ -186,16 +201,19 @@
height: 40px !important;
font-size: 14px !important;
}
+
.el-table__row {
height: 40px !important;
font-size: 13px !important;
}
}
+
.el-table--large {
.el-table__header th {
height: 50px !important;
font-size: 16px !important;
}
+
.el-table__row {
height: 50px !important;
font-size: 15px !important;
@@ -208,12 +226,14 @@
padding: 16px 20px;
margin-bottom: 0;
border-bottom: 1px solid var(--el-border-color-lighter);
+
span {
font-size: 17px;
line-height: 17px;
color: var(--el-text-color-primary) !important;
}
}
+
.el-drawer__footer {
border-top: 1px solid var(--el-border-color-lighter);
}
@@ -227,8 +247,10 @@
.drawer-multiColumn-form {
display: flex;
flex-wrap: wrap;
+
.el-form-item {
width: 47%;
+
&:nth-child(2n-1) {
margin-right: 5%;
}
@@ -242,6 +264,7 @@
padding: 15px 20px;
margin: 0;
border-bottom: 1px solid var(--el-border-color-lighter);
+
.el-dialog__title {
font-size: 17px;
}
@@ -258,12 +281,47 @@
background: var(--el-fill-color-light);
}
}
+
/* el-menu-item */
.el-menu-item {
height: 48px !important;
line-height: 48px !important;
}
+
/* bu-button*/
.bu-button:focus-visible {
outline: 0;
}
+
+/* bd-tabs */
+.bd-tabs {
+ display: flex;
+ flex-direction: column;
+ height: 100%;
+
+ .el-tabs__header {
+ margin: 0;
+ }
+
+ .el-tabs__nav-wrap {
+ padding: 0 24px;
+
+ &::after {
+ height: 1px;
+ }
+ }
+
+ .el-tabs__item {
+ padding: 0 12px;
+ }
+
+ .el-tabs__content {
+ flex: 1;
+ height: 100% !important;
+ }
+
+ .el-tab-pane {
+ flex: 1;
+ height: 100% !important;
+ }
+}
diff --git a/src/types/global.d.ts b/src/types/global.d.ts
index 5b5e842..80cd52a 100755
--- a/src/types/global.d.ts
+++ b/src/types/global.d.ts
@@ -80,8 +80,8 @@ type ObjToKeyValArray = {
}[keyof T];
declare namespace Column {
interface ColumnOptions {
- prop: string;
- label: string;
+ prop?: string;
+ label?: string;
type?: 'selection' | 'index' | 'expand';
fixed?: true | 'left' | 'right';
width?: string | number;