vue2-client 1.18.36 → 1.18.37

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (95) hide show
  1. package/.eslintrc.js +90 -90
  2. package/Components.md +60 -60
  3. package/docs/index.md +30 -30
  4. package/index.js +31 -31
  5. package/jest-transform-stub.js +8 -8
  6. package/jest.setup.js +7 -7
  7. package/package.json +1 -1
  8. package/src/assets/img/querySlotDemo.svg +15 -15
  9. package/src/base-client/components/common/AmapMarker/AmapPointRendering.vue +120 -120
  10. package/src/base-client/components/common/CitySelect/index.js +3 -3
  11. package/src/base-client/components/common/CitySelect/index.md +109 -109
  12. package/src/base-client/components/common/CreateQuery/CreateQuery.vue +669 -669
  13. package/src/base-client/components/common/CreateQuery/index.js +3 -3
  14. package/src/base-client/components/common/CreateQuery/index.md +42 -42
  15. package/src/base-client/components/common/CreateSimpleFormQuery/index.js +3 -3
  16. package/src/base-client/components/common/CreateSimpleFormQuery/index.md +42 -42
  17. package/src/base-client/components/common/FormGroupEdit/index.js +3 -3
  18. package/src/base-client/components/common/FormGroupEdit/index.md +43 -43
  19. package/src/base-client/components/common/FormGroupQuery/FormGroupQuery.vue +166 -166
  20. package/src/base-client/components/common/FormGroupQuery/index.js +3 -3
  21. package/src/base-client/components/common/FormGroupQuery/index.md +43 -43
  22. package/src/base-client/components/common/JSONToTree/jsontotree.vue +271 -271
  23. package/src/base-client/components/common/PersonSetting/PersonSetting.vue +208 -208
  24. package/src/base-client/components/common/PersonSetting/index.js +3 -3
  25. package/src/base-client/components/common/Tree/Tree.vue +149 -149
  26. package/src/base-client/components/common/Tree/index.js +2 -2
  27. package/src/base-client/components/common/Upload/index.js +3 -3
  28. package/src/base-client/components/common/XAddNativeForm/index.md +146 -146
  29. package/src/base-client/components/common/XCard/XCard.vue +64 -64
  30. package/src/base-client/components/common/XDataDrawer/XDataDrawer.vue +180 -180
  31. package/src/base-client/components/common/XDataDrawer/index.js +3 -3
  32. package/src/base-client/components/common/XDataDrawer/index.md +41 -41
  33. package/src/base-client/components/common/XDescriptions/XDescriptions.vue +174 -174
  34. package/src/base-client/components/common/XDescriptions/index.js +3 -3
  35. package/src/base-client/components/common/XDescriptions/index.md +322 -322
  36. package/src/base-client/components/common/XForm/index.md +178 -178
  37. package/src/base-client/components/common/XFormTable/demo.vue +125 -125
  38. package/src/base-client/components/common/XSimpleDescriptions/XSimpleDescriptions.vue +166 -166
  39. package/src/base-client/components/common/XStepView/XStepView.vue +252 -252
  40. package/src/base-client/components/common/XStepView/index.js +3 -3
  41. package/src/base-client/components/common/XStepView/index.md +31 -31
  42. package/src/base-client/components/common/XTable/XTable.vue +1715 -1715
  43. package/src/base-client/components/common/XTable/XTableWrapper.vue +759 -756
  44. package/src/base-client/components/common/XTable/index.md +255 -255
  45. package/src/base-client/components/system/DictionaryDetailsView/DictionaryDetailsView.vue +232 -232
  46. package/src/base-client/plugins/Config.js +19 -19
  47. package/src/base-client/plugins/tabs-page-plugin.js +39 -39
  48. package/src/components/Charts/Bar.vue +62 -62
  49. package/src/components/Charts/ChartCard.vue +134 -134
  50. package/src/components/Charts/Liquid.vue +67 -67
  51. package/src/components/Charts/MiniArea.vue +39 -39
  52. package/src/components/Charts/MiniBar.vue +39 -39
  53. package/src/components/Charts/MiniProgress.vue +75 -75
  54. package/src/components/Charts/MiniSmoothArea.vue +40 -40
  55. package/src/components/Charts/Radar.vue +68 -68
  56. package/src/components/Charts/RankList.vue +77 -77
  57. package/src/components/Charts/TagCloud.vue +113 -113
  58. package/src/components/Charts/TransferBar.vue +64 -64
  59. package/src/components/Charts/Trend.vue +82 -82
  60. package/src/components/Charts/chart.less +12 -12
  61. package/src/components/Charts/smooth.area.less +13 -13
  62. package/src/components/NumberInfo/NumberInfo.vue +54 -54
  63. package/src/components/NumberInfo/index.js +3 -3
  64. package/src/components/NumberInfo/index.less +54 -54
  65. package/src/components/NumberInfo/index.md +43 -43
  66. package/src/components/card/ChartCard.vue +79 -79
  67. package/src/components/chart/Bar.vue +60 -60
  68. package/src/components/chart/MiniArea.vue +67 -67
  69. package/src/components/chart/MiniBar.vue +59 -59
  70. package/src/components/chart/MiniProgress.vue +57 -57
  71. package/src/components/chart/Radar.vue +80 -80
  72. package/src/components/chart/RankingList.vue +60 -60
  73. package/src/components/chart/Trend.vue +79 -79
  74. package/src/components/chart/index.less +9 -9
  75. package/src/components/checkbox/ColorCheckbox.vue +157 -157
  76. package/src/components/input/IInput.vue +66 -66
  77. package/src/components/menu/SideMenu.vue +75 -75
  78. package/src/components/menu/menu.js +273 -273
  79. package/src/components/tool/AStepItem.vue +60 -60
  80. package/src/config/CreateQueryConfig.js +325 -325
  81. package/src/layouts/CommonLayout.vue +56 -56
  82. package/src/layouts/header/HeaderNotice.vue +177 -177
  83. package/src/lib.js +1 -1
  84. package/src/mock/extend/index.js +84 -84
  85. package/src/mock/goods/index.js +108 -108
  86. package/src/pages/XTreeOneProExample/index.vue +67 -67
  87. package/src/pages/dashboard/workplace/WorkPlace.vue +141 -141
  88. package/src/pages/system/dictionary/index.vue +44 -44
  89. package/src/pages/system/monitor/loginInfor/index.vue +37 -37
  90. package/src/pages/system/monitor/operLog/index.vue +37 -37
  91. package/src/services/api/cas.js +79 -79
  92. package/src/store/modules/setting.js +119 -119
  93. package/src/utils/authority-utils.js +85 -85
  94. package/src/utils/errorCode.js +6 -6
  95. package//350/277/201/347/247/273/346/227/245/345/277/227.md +15 -15
@@ -1,108 +1,108 @@
1
- import Mock from 'mockjs'
2
- import '@vue2-client/mock/extend'
3
- import { parseUrlParams } from '@vue2-client/utils/request'
4
-
5
- const current = new Date().getTime()
6
-
7
- const goodsList = Mock.mock({
8
- 'list|100': [{
9
- 'id|+1': 0,
10
- name: '@GOODS',
11
- orderId: `${current}-@integer(1,100)`,
12
- 'status|1-4': 1,
13
- send: '@BOOLEAN',
14
- sendTime: '@DATETIME',
15
- orderDate: '@DATE',
16
- auditTime: '@TIME'
17
- }]
18
- })
19
-
20
- Mock.mock(RegExp(`${process.env.VUE_APP_API_BASE_URL}/goods` + '.*'), 'get', ({ url }) => {
21
- const params = parseUrlParams(decodeURI(url))
22
- let { page, pageSize } = params
23
- // eslint-disable-next-line no-eval
24
- page = eval(page) - 1 || 0
25
- // eslint-disable-next-line no-eval
26
- pageSize = eval(pageSize) || 10
27
- delete params.page
28
- delete params.pageSize
29
- let result = goodsList.list.filter(item => {
30
- for (const [key, value] of Object.entries(params)) {
31
- if (item[key] !== value) {
32
- return false
33
- }
34
- }
35
- return true
36
- })
37
- const total = result.length
38
- if ((page) * pageSize > total) {
39
- result = []
40
- } else {
41
- result = result.slice(page * pageSize, (page + 1) * pageSize)
42
- }
43
- return {
44
- code: 0,
45
- message: 'success',
46
- data: {
47
- page: page + 1,
48
- pageSize,
49
- total,
50
- list: result
51
- }
52
- }
53
- })
54
-
55
- const columnsConfig = [
56
- {
57
- title: '商品名称',
58
- dataIndex: 'name',
59
- searchAble: true
60
- },
61
- {
62
- title: '订单号',
63
- dataIndex: 'orderId'
64
- },
65
- {
66
- searchAble: true,
67
- dataIndex: 'status',
68
- dataType: 'select',
69
- slots: { title: 'statusTitle' },
70
- scopedSlots: { customRender: 'status' },
71
- search: {
72
- selectOptions: [
73
- { title: '已下单', value: 1 },
74
- { title: '已付款', value: 2 },
75
- { title: '已审核', value: 3 }
76
- // {title: '已发货', value: 4}
77
- ]
78
- }
79
- },
80
- {
81
- title: '发货',
82
- searchAble: true,
83
- dataIndex: 'send',
84
- dataType: 'boolean',
85
- scopedSlots: { customRender: 'send' }
86
- },
87
- {
88
- title: '发货时间',
89
- dataIndex: 'sendTime',
90
- dataType: 'datetime'
91
- },
92
- {
93
- title: '下单日期',
94
- searchAble: true,
95
- dataIndex: 'orderDate',
96
- dataType: 'date',
97
- visible: false
98
- },
99
- {
100
- title: '审核时间',
101
- dataIndex: 'auditTime',
102
- dataType: 'time'
103
- }
104
- ]
105
-
106
- Mock.mock(`${process.env.VUE_APP_API_BASE_URL}/columns`, 'get', () => {
107
- return columnsConfig
108
- })
1
+ import Mock from 'mockjs'
2
+ import '@vue2-client/mock/extend'
3
+ import { parseUrlParams } from '@vue2-client/utils/request'
4
+
5
+ const current = new Date().getTime()
6
+
7
+ const goodsList = Mock.mock({
8
+ 'list|100': [{
9
+ 'id|+1': 0,
10
+ name: '@GOODS',
11
+ orderId: `${current}-@integer(1,100)`,
12
+ 'status|1-4': 1,
13
+ send: '@BOOLEAN',
14
+ sendTime: '@DATETIME',
15
+ orderDate: '@DATE',
16
+ auditTime: '@TIME'
17
+ }]
18
+ })
19
+
20
+ Mock.mock(RegExp(`${process.env.VUE_APP_API_BASE_URL}/goods` + '.*'), 'get', ({ url }) => {
21
+ const params = parseUrlParams(decodeURI(url))
22
+ let { page, pageSize } = params
23
+ // eslint-disable-next-line no-eval
24
+ page = eval(page) - 1 || 0
25
+ // eslint-disable-next-line no-eval
26
+ pageSize = eval(pageSize) || 10
27
+ delete params.page
28
+ delete params.pageSize
29
+ let result = goodsList.list.filter(item => {
30
+ for (const [key, value] of Object.entries(params)) {
31
+ if (item[key] !== value) {
32
+ return false
33
+ }
34
+ }
35
+ return true
36
+ })
37
+ const total = result.length
38
+ if ((page) * pageSize > total) {
39
+ result = []
40
+ } else {
41
+ result = result.slice(page * pageSize, (page + 1) * pageSize)
42
+ }
43
+ return {
44
+ code: 0,
45
+ message: 'success',
46
+ data: {
47
+ page: page + 1,
48
+ pageSize,
49
+ total,
50
+ list: result
51
+ }
52
+ }
53
+ })
54
+
55
+ const columnsConfig = [
56
+ {
57
+ title: '商品名称',
58
+ dataIndex: 'name',
59
+ searchAble: true
60
+ },
61
+ {
62
+ title: '订单号',
63
+ dataIndex: 'orderId'
64
+ },
65
+ {
66
+ searchAble: true,
67
+ dataIndex: 'status',
68
+ dataType: 'select',
69
+ slots: { title: 'statusTitle' },
70
+ scopedSlots: { customRender: 'status' },
71
+ search: {
72
+ selectOptions: [
73
+ { title: '已下单', value: 1 },
74
+ { title: '已付款', value: 2 },
75
+ { title: '已审核', value: 3 }
76
+ // {title: '已发货', value: 4}
77
+ ]
78
+ }
79
+ },
80
+ {
81
+ title: '发货',
82
+ searchAble: true,
83
+ dataIndex: 'send',
84
+ dataType: 'boolean',
85
+ scopedSlots: { customRender: 'send' }
86
+ },
87
+ {
88
+ title: '发货时间',
89
+ dataIndex: 'sendTime',
90
+ dataType: 'datetime'
91
+ },
92
+ {
93
+ title: '下单日期',
94
+ searchAble: true,
95
+ dataIndex: 'orderDate',
96
+ dataType: 'date',
97
+ visible: false
98
+ },
99
+ {
100
+ title: '审核时间',
101
+ dataIndex: 'auditTime',
102
+ dataType: 'time'
103
+ }
104
+ ]
105
+
106
+ Mock.mock(`${process.env.VUE_APP_API_BASE_URL}/columns`, 'get', () => {
107
+ return columnsConfig
108
+ })
@@ -1,67 +1,67 @@
1
- <template>
2
- <x-tree-view ref="xTreeView" @itemChecked="itemChecked">
3
- <x-add-native-form ref="nativeForm" />
4
- </x-tree-view>
5
- </template>
6
-
7
- <script>
8
-
9
- import XTreeView from '@vue2-client/base-client/components/layout/XTreeView'
10
- import { mapState } from 'vuex'
11
- import XAddNativeForm from '@vue2-client/base-client/components/common/XAddNativeForm/XAddNativeForm.vue'
12
- import { getConfigByName } from '@vue2-client/services/api/common'
13
-
14
- export default {
15
- components: {
16
- XAddNativeForm,
17
- XTreeView,
18
- },
19
- data () {
20
- return {
21
- currentItem: undefined,
22
- }
23
- },
24
- computed: {
25
- ...mapState('account', { currUser: 'user' }),
26
- ...mapState('setting', ['isMobile'])
27
- },
28
- mounted () {
29
- this.initView()
30
- },
31
- methods: {
32
- // 初始化组件
33
- initView () {
34
- this.$refs.xTreeView.init({
35
- configName: 'templateTreeConfig',
36
- serviceName: 'af-his',
37
- env: 'dev',
38
- })
39
- },
40
- itemChecked (node) {
41
- this.currentItem = node
42
- if (node.type === 'all' || node.type === 'folder') {
43
- this.$refs.nativeForm.close()
44
- return
45
- }
46
- getConfigByName('编辑模板数据Form', 'af-his', (res) => {
47
- this.$refs.nativeForm.init({
48
- serviceName: 'af-his',
49
- formItems: res.formJson,
50
- showSubmitBtn: false,
51
- title: '收费',
52
- businessType: '新增',
53
- getDataParams: {
54
- content: {
55
- pms_patient_id: 1,
56
- template_id: node.id
57
- }
58
- }
59
- })
60
- })
61
- }
62
- }
63
- }
64
- </script>
65
-
66
- <style>
67
- </style>
1
+ <template>
2
+ <x-tree-view ref="xTreeView" @itemChecked="itemChecked">
3
+ <x-add-native-form ref="nativeForm" />
4
+ </x-tree-view>
5
+ </template>
6
+
7
+ <script>
8
+
9
+ import XTreeView from '@vue2-client/base-client/components/layout/XTreeView'
10
+ import { mapState } from 'vuex'
11
+ import XAddNativeForm from '@vue2-client/base-client/components/common/XAddNativeForm/XAddNativeForm.vue'
12
+ import { getConfigByName } from '@vue2-client/services/api/common'
13
+
14
+ export default {
15
+ components: {
16
+ XAddNativeForm,
17
+ XTreeView,
18
+ },
19
+ data () {
20
+ return {
21
+ currentItem: undefined,
22
+ }
23
+ },
24
+ computed: {
25
+ ...mapState('account', { currUser: 'user' }),
26
+ ...mapState('setting', ['isMobile'])
27
+ },
28
+ mounted () {
29
+ this.initView()
30
+ },
31
+ methods: {
32
+ // 初始化组件
33
+ initView () {
34
+ this.$refs.xTreeView.init({
35
+ configName: 'templateTreeConfig',
36
+ serviceName: 'af-his',
37
+ env: 'dev',
38
+ })
39
+ },
40
+ itemChecked (node) {
41
+ this.currentItem = node
42
+ if (node.type === 'all' || node.type === 'folder') {
43
+ this.$refs.nativeForm.close()
44
+ return
45
+ }
46
+ getConfigByName('编辑模板数据Form', 'af-his', (res) => {
47
+ this.$refs.nativeForm.init({
48
+ serviceName: 'af-his',
49
+ formItems: res.formJson,
50
+ showSubmitBtn: false,
51
+ title: '收费',
52
+ businessType: '新增',
53
+ getDataParams: {
54
+ content: {
55
+ pms_patient_id: 1,
56
+ template_id: node.id
57
+ }
58
+ }
59
+ })
60
+ })
61
+ }
62
+ }
63
+ }
64
+ </script>
65
+
66
+ <style>
67
+ </style>
@@ -1,141 +1,141 @@
1
- <template>
2
- <page-layout :avatar="currUser.avatar">
3
- <div slot="headerContent">
4
- <div class="title">{{ welcome.timeFix[lang] }},{{ currUser.name }},{{ welcome.message[lang] }}</div>
5
- <div>{{ currUser.position[lang] }}</div>
6
- </div>
7
- <template slot="extra">
8
- <head-info class="split-right" :title="$t('project')" content="56"/>
9
- <head-info class="split-right" :title="$t('ranking')" content="8/24"/>
10
- <head-info class="split-right" :title="$t('visit')" content="2,223"/>
11
- </template>
12
- <template>
13
- <a-row style="margin: 0 -12px">
14
- <a-col
15
- style="padding: 0 12px"
16
- :xl="16"
17
- :lg="24"
18
- :md="24"
19
- :sm="24"
20
- :xs="24">
21
- <a-card
22
- class="project-list"
23
- :loading="loading"
24
- style="margin-bottom: 24px;"
25
- :bordered="false"
26
- :title="$t('progress')"
27
- :body-style="{padding: 0}">
28
- <a slot="extra">{{ $t('all') }}</a>
29
- <div>
30
- <a-card-grid :key="i" v-for="(item, i) in projects">
31
- <a-card :bordered="false" :body-style="{padding: 0}">
32
- <a-card-meta :description="item.desc">
33
- <div slot="title" class="card-title">
34
- <a-avatar size="small" :src="item.logo" />
35
- <span>Alipay</span>
36
- </div>
37
- </a-card-meta>
38
- <div class="project-item">
39
- <a class="group" href="/#/">科学搬砖组</a>
40
- <span class="datetime">9小时前</span>
41
- </div>
42
- </a-card>
43
- </a-card-grid>
44
- </div>
45
- </a-card>
46
- <a-card :loading="loading" :title="$t('dynamic')" :bordered="false">
47
- <a-list>
48
- <a-list-item :key="index" v-for="(item, index) in activities">
49
- <a-list-item-meta>
50
- <a-avatar slot="avatar" :src="item.user.avatar" />
51
- <div slot="title" v-html="item.template" />
52
- <div slot="description">9小时前</div>
53
- </a-list-item-meta>
54
- </a-list-item>
55
- </a-list>
56
- </a-card>
57
- </a-col>
58
- <a-col
59
- style="padding: 0 12px"
60
- :xl="8"
61
- :lg="24"
62
- :md="24"
63
- :sm="24"
64
- :xs="24">
65
- <a-card :title="$t('access')" style="margin-bottom: 24px" :bordered="false" :body-style="{padding: 0}">
66
- <div class="item-group">
67
- <a>操作一</a>
68
- <a>操作二</a>
69
- <a>操作三</a>
70
- <a>操作四</a>
71
- <a>操作五</a>
72
- <a>操作六</a>
73
- <a-button size="small" type="primary" ghost icon="plus">{{ $t('add') }}</a-button>
74
- </div>
75
- </a-card>
76
- <a-card :loading="loading" :title="`XX ${$t('degree')}`" style="margin-bottom: 24px" :bordered="false" :body-style="{padding: 0}">
77
- <div style="min-height: 400px;">
78
- <radar />
79
- </div>
80
- </a-card>
81
- <a-card :loading="loading" :title="$t('team')" :bordered="false">
82
- <div class="members">
83
- <a-row>
84
- <a-col :span="12" v-for="(item, index) in teams" :key="index">
85
- <a>
86
- <a-avatar size="small" :src="item.avatar" />
87
- <span class="member">{{ item.name }}</span>
88
- </a>
89
- </a-col>
90
- </a-row>
91
- </div>
92
- </a-card>
93
- </a-col>
94
- </a-row>
95
- </template>
96
- </page-layout>
97
- </template>
98
-
99
- <script>
100
- import PageLayout from '@vue2-client/layouts/PageLayout'
101
- import HeadInfo from '@vue2-client/components/tool/HeadInfo'
102
- import Radar from '@vue2-client/components/chart/Radar'
103
- import { mapState } from 'vuex'
104
- import { teams } from '@vue2-client/mock/common'
105
- import { projectArr } from '@vue2-client/mock/project'
106
- import { welcome } from '@vue2-client/mock/user/current'
107
- import { activities } from '@vue2-client/mock/common/activityData'
108
-
109
- export default {
110
- name: 'WorkPlace',
111
- components: { Radar, HeadInfo, PageLayout },
112
- i18n: require('./i18n'),
113
- data () {
114
- return {
115
- projects: [],
116
- loading: true,
117
- activities: [],
118
- teams: [],
119
- welcome: {
120
- timeFix: '',
121
- message: ''
122
- }
123
- }
124
- },
125
- computed: {
126
- ...mapState('account', { currUser: 'user' }),
127
- ...mapState('setting', ['lang'])
128
- },
129
- created () {
130
- this.activities = activities
131
- this.welcome = welcome
132
- this.teams = teams
133
- this.projects = projectArr
134
- this.loading = false
135
- }
136
- }
137
- </script>
138
-
139
- <style lang="less">
140
- @import "index";
141
- </style>
1
+ <template>
2
+ <page-layout :avatar="currUser.avatar">
3
+ <div slot="headerContent">
4
+ <div class="title">{{ welcome.timeFix[lang] }},{{ currUser.name }},{{ welcome.message[lang] }}</div>
5
+ <div>{{ currUser.position[lang] }}</div>
6
+ </div>
7
+ <template slot="extra">
8
+ <head-info class="split-right" :title="$t('project')" content="56"/>
9
+ <head-info class="split-right" :title="$t('ranking')" content="8/24"/>
10
+ <head-info class="split-right" :title="$t('visit')" content="2,223"/>
11
+ </template>
12
+ <template>
13
+ <a-row style="margin: 0 -12px">
14
+ <a-col
15
+ style="padding: 0 12px"
16
+ :xl="16"
17
+ :lg="24"
18
+ :md="24"
19
+ :sm="24"
20
+ :xs="24">
21
+ <a-card
22
+ class="project-list"
23
+ :loading="loading"
24
+ style="margin-bottom: 24px;"
25
+ :bordered="false"
26
+ :title="$t('progress')"
27
+ :body-style="{padding: 0}">
28
+ <a slot="extra">{{ $t('all') }}</a>
29
+ <div>
30
+ <a-card-grid :key="i" v-for="(item, i) in projects">
31
+ <a-card :bordered="false" :body-style="{padding: 0}">
32
+ <a-card-meta :description="item.desc">
33
+ <div slot="title" class="card-title">
34
+ <a-avatar size="small" :src="item.logo" />
35
+ <span>Alipay</span>
36
+ </div>
37
+ </a-card-meta>
38
+ <div class="project-item">
39
+ <a class="group" href="/#/">科学搬砖组</a>
40
+ <span class="datetime">9小时前</span>
41
+ </div>
42
+ </a-card>
43
+ </a-card-grid>
44
+ </div>
45
+ </a-card>
46
+ <a-card :loading="loading" :title="$t('dynamic')" :bordered="false">
47
+ <a-list>
48
+ <a-list-item :key="index" v-for="(item, index) in activities">
49
+ <a-list-item-meta>
50
+ <a-avatar slot="avatar" :src="item.user.avatar" />
51
+ <div slot="title" v-html="item.template" />
52
+ <div slot="description">9小时前</div>
53
+ </a-list-item-meta>
54
+ </a-list-item>
55
+ </a-list>
56
+ </a-card>
57
+ </a-col>
58
+ <a-col
59
+ style="padding: 0 12px"
60
+ :xl="8"
61
+ :lg="24"
62
+ :md="24"
63
+ :sm="24"
64
+ :xs="24">
65
+ <a-card :title="$t('access')" style="margin-bottom: 24px" :bordered="false" :body-style="{padding: 0}">
66
+ <div class="item-group">
67
+ <a>操作一</a>
68
+ <a>操作二</a>
69
+ <a>操作三</a>
70
+ <a>操作四</a>
71
+ <a>操作五</a>
72
+ <a>操作六</a>
73
+ <a-button size="small" type="primary" ghost icon="plus">{{ $t('add') }}</a-button>
74
+ </div>
75
+ </a-card>
76
+ <a-card :loading="loading" :title="`XX ${$t('degree')}`" style="margin-bottom: 24px" :bordered="false" :body-style="{padding: 0}">
77
+ <div style="min-height: 400px;">
78
+ <radar />
79
+ </div>
80
+ </a-card>
81
+ <a-card :loading="loading" :title="$t('team')" :bordered="false">
82
+ <div class="members">
83
+ <a-row>
84
+ <a-col :span="12" v-for="(item, index) in teams" :key="index">
85
+ <a>
86
+ <a-avatar size="small" :src="item.avatar" />
87
+ <span class="member">{{ item.name }}</span>
88
+ </a>
89
+ </a-col>
90
+ </a-row>
91
+ </div>
92
+ </a-card>
93
+ </a-col>
94
+ </a-row>
95
+ </template>
96
+ </page-layout>
97
+ </template>
98
+
99
+ <script>
100
+ import PageLayout from '@vue2-client/layouts/PageLayout'
101
+ import HeadInfo from '@vue2-client/components/tool/HeadInfo'
102
+ import Radar from '@vue2-client/components/chart/Radar'
103
+ import { mapState } from 'vuex'
104
+ import { teams } from '@vue2-client/mock/common'
105
+ import { projectArr } from '@vue2-client/mock/project'
106
+ import { welcome } from '@vue2-client/mock/user/current'
107
+ import { activities } from '@vue2-client/mock/common/activityData'
108
+
109
+ export default {
110
+ name: 'WorkPlace',
111
+ components: { Radar, HeadInfo, PageLayout },
112
+ i18n: require('./i18n'),
113
+ data () {
114
+ return {
115
+ projects: [],
116
+ loading: true,
117
+ activities: [],
118
+ teams: [],
119
+ welcome: {
120
+ timeFix: '',
121
+ message: ''
122
+ }
123
+ }
124
+ },
125
+ computed: {
126
+ ...mapState('account', { currUser: 'user' }),
127
+ ...mapState('setting', ['lang'])
128
+ },
129
+ created () {
130
+ this.activities = activities
131
+ this.welcome = welcome
132
+ this.teams = teams
133
+ this.projects = projectArr
134
+ this.loading = false
135
+ }
136
+ }
137
+ </script>
138
+
139
+ <style lang="less">
140
+ @import "index";
141
+ </style>