vue2-client 1.6.63-single → 1.7.1

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 (127) hide show
  1. package/.env +15 -15
  2. package/CHANGELOG.md +6 -0
  3. package/Components.md +60 -0
  4. package/index.js +39 -30
  5. package/package.json +4 -2
  6. package/src/base-client/components/common/AddressSearchCombobox/AddressSearchCombobox.vue +1 -1
  7. package/src/base-client/components/common/CitySelect/CitySelect.vue +247 -247
  8. package/src/base-client/components/common/CreateQuery/CreateQuery.vue +669 -669
  9. package/src/base-client/components/common/CreateQuery/CreateQueryItem.vue +735 -735
  10. package/src/base-client/components/common/CreateSimpleFormQuery/CreateSimpleFormQuery.vue +466 -460
  11. package/src/base-client/components/common/CreateSimpleFormQuery/CreateSimpleFormQueryItem.vue +510 -510
  12. package/src/base-client/components/common/FormGroupEdit/FormGroupEdit.vue +144 -138
  13. package/src/base-client/components/common/FormGroupQuery/FormGroupQuery.vue +165 -165
  14. package/src/base-client/components/common/JSONToTree/jsontotree.vue +275 -275
  15. package/src/base-client/components/common/Upload/Upload.vue +3 -3
  16. package/src/base-client/components/common/XAddForm/XAddForm.vue +72 -72
  17. package/src/base-client/components/common/XAddNativeForm/XAddNativeForm.vue +365 -365
  18. package/src/base-client/components/common/XAddNativeForm/index.md +96 -56
  19. package/src/base-client/components/common/XCard/XCard.vue +64 -64
  20. package/src/base-client/components/common/XDataDrawer/XDataDrawer.vue +180 -0
  21. package/src/base-client/components/common/XDataDrawer/index.js +3 -0
  22. package/src/base-client/components/common/XDataDrawer/index.md +41 -0
  23. package/src/base-client/components/common/XForm/XForm.vue +178 -178
  24. package/src/base-client/components/common/XForm/XFormItem.vue +521 -521
  25. package/src/base-client/components/common/XForm/XTreeSelect.vue +184 -184
  26. package/src/base-client/components/common/XFormCol/XFormCol.vue +38 -38
  27. package/src/base-client/components/common/XFormTable/XFormTable.vue +356 -348
  28. package/src/base-client/components/common/XFormTable/index.md +97 -97
  29. package/src/base-client/components/common/XImportExcel/XImportExcel.vue +1 -1
  30. package/src/base-client/components/common/XTable/XTable.vue +519 -519
  31. package/src/base-client/components/common/XTreeOne/XTreeOne.vue +111 -111
  32. package/src/base-client/components/system/DictionaryDetailsView/DictionaryDetailsView.vue +1 -1
  33. package/src/base-client/components/system/QueryParamsDetailsView/QueryParamsDetailsView.vue +1 -1
  34. package/src/base-client/components/ticket/TicketDetailsView/TicketDetailsView.vue +1 -1
  35. package/src/base-client/components/ticket/TicketDetailsView/index.md +29 -29
  36. package/src/base-client/components/ticket/TicketDetailsView/part/TicketDetailsFlow.vue +260 -260
  37. package/src/base-client/components/ticket/TicketSubmitSuccessView/TicketSubmitSuccessView.vue +1 -1
  38. package/src/base-client/components/ticket/TicketSubmitSuccessView/index.md +29 -29
  39. package/src/base-client/plugins/AppData.js +76 -76
  40. package/src/base-client/plugins/GetLoginInfoService.js +179 -179
  41. package/src/base-client/plugins/PagedList.js +177 -177
  42. package/src/base-client/plugins/compatible/LoginServiceOA.js +20 -20
  43. package/src/base-client/plugins/i18n-extend.js +32 -32
  44. package/src/components/Ellipsis/Ellipsis.vue +65 -65
  45. package/src/components/Ellipsis/index.md +38 -38
  46. package/src/components/NumberInfo/index.md +43 -43
  47. package/src/components/STable/README.md +341 -341
  48. package/src/components/STable/index.js +318 -318
  49. package/src/components/Trend/index.md +45 -45
  50. package/src/components/checkbox/ColorCheckbox.vue +157 -157
  51. package/src/components/checkbox/ImgCheckbox.vue +163 -163
  52. package/src/components/exception/ExceptionPage.vue +70 -70
  53. package/src/components/form/FormRow.vue +52 -52
  54. package/src/components/index.js +36 -36
  55. package/src/components/menu/SideMenu.vue +62 -62
  56. package/src/components/menu/menu.js +273 -273
  57. package/src/components/page/header/index.less +40 -40
  58. package/src/components/setting/Setting.vue +235 -235
  59. package/src/components/table/StandardTable.vue +141 -141
  60. package/src/components/table/advance/ActionColumns.vue +158 -158
  61. package/src/components/table/advance/SearchArea.vue +355 -355
  62. package/src/components/tool/AStepItem.vue +60 -60
  63. package/src/components/tool/AvatarList.vue +68 -68
  64. package/src/components/tool/Drawer.vue +142 -142
  65. package/src/components/tool/TagSelect.vue +83 -83
  66. package/src/components/transition/PageToggleTransition.vue +97 -97
  67. package/src/config/CreateQueryConfig.js +307 -307
  68. package/src/config/default/admin.config.js +18 -18
  69. package/src/config/default/setting.config.js +48 -48
  70. package/src/config/replacer/resolve.config.js +67 -67
  71. package/src/layouts/CommonLayout.vue +42 -42
  72. package/src/layouts/ComponentLayoutOne.vue +47 -47
  73. package/src/layouts/PageLayout.vue +151 -151
  74. package/src/layouts/SinglePageView.vue +116 -116
  75. package/src/layouts/footer/PageFooter.vue +49 -49
  76. package/src/layouts/header/AdminHeader.vue +134 -134
  77. package/src/layouts/header/HeaderAvatar.vue +64 -64
  78. package/src/layouts/header/HeaderNotice.vue +1 -1
  79. package/src/layouts/header/HeaderSearch.vue +67 -67
  80. package/src/layouts/header/InstitutionDetail.vue +2 -2
  81. package/src/layouts/header/index.less +92 -92
  82. package/src/layouts/tabs/TabsHead.vue +190 -190
  83. package/src/layouts/tabs/TabsView.vue +379 -379
  84. package/src/mock/goods/index.js +108 -108
  85. package/src/pages/CreateQueryPage.vue +2 -2
  86. package/src/pages/login/Login.vue +369 -369
  87. package/src/pages/report/ReportTable.js +124 -124
  88. package/src/pages/report/ReportTableHome.vue +1 -1
  89. package/src/pages/resourceManage/orgListManage.vue +98 -98
  90. package/src/pages/system/dictionary/index.vue +1 -1
  91. package/src/pages/system/file/index.vue +3 -3
  92. package/src/pages/system/monitor/loginInfor/index.vue +1 -1
  93. package/src/pages/system/monitor/operLog/index.vue +1 -1
  94. package/src/pages/system/settings/index.vue +126 -126
  95. package/src/pages/system/settings/modifyPassword.vue +109 -109
  96. package/src/router/async/config.async.js +28 -28
  97. package/src/router/async/router.map.js +66 -74
  98. package/src/router/guards.js +153 -153
  99. package/src/router/index.js +27 -27
  100. package/src/services/api/DictionaryDetailsViewApi.js +1 -1
  101. package/src/services/api/LogDetailsViewApi.js +3 -3
  102. package/src/services/api/QueryParamsDetailsViewApi.js +1 -1
  103. package/src/services/api/TicketDetailsViewApi.js +15 -15
  104. package/src/services/api/cas.js +79 -79
  105. package/src/services/api/common.js +18 -13
  106. package/src/services/api/commonTempTable.js +3 -3
  107. package/src/services/api/index.js +17 -17
  108. package/src/services/api/logininfor/index.js +1 -1
  109. package/src/services/api/manage.js +2 -2
  110. package/src/services/apiService.js +14 -14
  111. package/src/services/user.js +67 -67
  112. package/src/store/modules/index.js +4 -4
  113. package/src/theme/default/nprogress.less +76 -76
  114. package/src/theme/default/style.less +58 -58
  115. package/src/utils/EncryptUtil.js +53 -53
  116. package/src/utils/colors.js +107 -107
  117. package/src/utils/excel/Blob.js +180 -180
  118. package/src/utils/excel/Export2Excel.js +141 -141
  119. package/src/utils/formatter.js +68 -68
  120. package/src/utils/i18n.js +80 -80
  121. package/src/utils/login.js +138 -138
  122. package/src/utils/map-utils.js +37 -37
  123. package/src/utils/theme-color-replacer-extend.js +91 -91
  124. package/src/utils/themeUtil.js +100 -100
  125. package/src/utils/util.js +230 -230
  126. package/vue.config.js +106 -106
  127. package/src/pages/system/queryParams/index.vue +0 -43
@@ -1,138 +1,144 @@
1
- <template>
2
- <a-drawer
3
- title="选择参数组"
4
- placement="right"
5
- :width="isMobile ? screenWidth : screenWidth * 0.85"
6
- :visible="visible"
7
- @close="onClose"
8
- >
9
- <x-add-form
10
- ref="xAddForm"
11
- @onSubmit="onAddOrEditSubmit"/>
12
- <a-list
13
- :grid="{gutter: 24, lg: 4, md: 3, sm: 1, xs: 1}"
14
- :dataSource="columnJson.groups"
15
- >
16
- <a-list-item slot="renderItem" slot-scope="item">
17
- <a-card :hoverable="true" @click="toEdit(item)">
18
- <a-card-meta >
19
- <div style="margin-bottom: 3px" slot="title">{{ item.group }}</div>
20
- <a-icon type="tags" slot="avatar" :style="{ fontSize:'2em' }"/>
21
- <div class="meta-content" slot="description">{{ item.describe }}</div>
22
- </a-card-meta>
23
- </a-card>
24
- </a-list-item>
25
- </a-list>
26
- </a-drawer>
27
- </template>
28
-
29
- <script>
30
- import { mapState } from 'vuex'
31
- import XAddForm from '@vue2-client/base-client/components/common/XAddForm/XAddForm'
32
- import { commonApi, post } from '@vue2-client/services/api'
33
-
34
- export default {
35
- name: 'FormGroupEdit',
36
- components: {
37
- XAddForm
38
- },
39
- data () {
40
- return {
41
- // 页面宽度
42
- screenWidth: document.documentElement.clientWidth,
43
- columnJson: {},
44
- formObj: {
45
- groupName: '',
46
- formJson: []
47
- }
48
- }
49
- },
50
- mounted () {
51
- this.initView()
52
- },
53
- computed: {
54
- ...mapState('setting', ['isMobile'])
55
- },
56
- props: {
57
- visible: {
58
- type: Boolean,
59
- default: false
60
- },
61
- modifyModelData: {
62
- type: Object,
63
- default: () => {
64
- return {}
65
- }
66
- }
67
- },
68
- watch: {
69
- visible (rel) {
70
- if (rel) {
71
- this.initView()
72
- }
73
- }
74
- },
75
- methods: {
76
- // 初始化组件
77
- initView () {
78
- this.$emit('getColumnJson', val => {
79
- this.columnJson = val
80
- })
81
- },
82
- toEdit (item) {
83
- post(commonApi.getColumnsJson, { queryObject: item }).then(res => {
84
- this.formObj = res
85
- const modifyModelData = { data: this.modifyModelData[res.groupName] }
86
- this.$refs.xAddForm.init({
87
- businessType: '修改',
88
- title: '参数项',
89
- formItems: res.formJson,
90
- serviceName: res.serviceName,
91
- modifyModelData: modifyModelData
92
- })
93
- })
94
- },
95
- onClose () {
96
- this.$emit('update:visible', false)
97
- },
98
- onAddOrEditSubmit (res, callback) {
99
- const requestParameters = {
100
- paramsJson: {}
101
- }
102
- requestParameters.paramsJson[this.formObj.groupName] = {}
103
- for (const key of Object.keys(res.realForm)) {
104
- requestParameters.paramsJson[this.formObj.groupName][key] = res.realForm[key]
105
- }
106
- this.$emit('onSubmit', requestParameters, result => {
107
- if (result) {
108
- this.$message.success('提交成功!')
109
- } else {
110
- this.$message.error('提交失败!')
111
- }
112
- callback()
113
- })
114
- }
115
- }
116
- }
117
- </script>
118
- <style lang="less" scoped>
119
- .card-avatar {
120
- width: 48px;
121
- height: 48px;
122
- border-radius: 48px;
123
- }
124
- .new-btn{
125
- border-radius: 2px;
126
- width: 100%;
127
- height: 187px;
128
- }
129
- .meta-content{
130
- position: relative;
131
- overflow: hidden;
132
- text-overflow: ellipsis;
133
- display: -webkit-box;
134
- height: 64px;
135
- -webkit-line-clamp: 3;
136
- -webkit-box-orient: vertical;
137
- }
138
- </style>
1
+ <template>
2
+ <a-drawer
3
+ title="选择参数组"
4
+ placement="right"
5
+ :width="isMobile ? screenWidth : screenWidth * 0.85"
6
+ :visible="visible"
7
+ @close="onClose"
8
+ >
9
+ <x-add-form
10
+ ref="xAddForm"
11
+ @onSubmit="onAddOrEditSubmit"/>
12
+ <a-list
13
+ :grid="{gutter: 24, lg: 4, md: 3, sm: 1, xs: 1}"
14
+ :dataSource="columnJson.groups"
15
+ >
16
+ <a-list-item slot="renderItem" slot-scope="item">
17
+ <a-card :hoverable="true" @click="toEdit(item)">
18
+ <a-card-meta >
19
+ <div style="margin-bottom: 3px" slot="title">{{ item.group }}</div>
20
+ <a-icon type="tags" slot="avatar" :style="{ fontSize:'2em' }"/>
21
+ <div class="meta-content" slot="description">{{ item.describe }}</div>
22
+ </a-card-meta>
23
+ </a-card>
24
+ </a-list-item>
25
+ </a-list>
26
+ </a-drawer>
27
+ </template>
28
+
29
+ <script>
30
+ import { mapState } from 'vuex'
31
+ import XAddForm from '@vue2-client/base-client/components/common/XAddForm/XAddForm'
32
+ import { post } from '@vue2-client/services/api'
33
+ import { getConfigUrl } from '@vue2-client/services/api/common'
34
+
35
+ export default {
36
+ name: 'FormGroupEdit',
37
+ components: {
38
+ XAddForm
39
+ },
40
+ data () {
41
+ return {
42
+ // 页面宽度
43
+ screenWidth: document.documentElement.clientWidth,
44
+ columnJson: {},
45
+ formObj: {
46
+ groupName: '',
47
+ formJson: []
48
+ }
49
+ }
50
+ },
51
+ mounted () {
52
+ this.initView()
53
+ },
54
+ computed: {
55
+ ...mapState('setting', ['isMobile'])
56
+ },
57
+ props: {
58
+ visible: {
59
+ type: Boolean,
60
+ default: false
61
+ },
62
+ serviceName: {
63
+ type: String,
64
+ default: undefined
65
+ },
66
+ modifyModelData: {
67
+ type: Object,
68
+ default: () => {
69
+ return {}
70
+ }
71
+ }
72
+ },
73
+ watch: {
74
+ visible (rel) {
75
+ if (rel) {
76
+ this.initView()
77
+ }
78
+ }
79
+ },
80
+ methods: {
81
+ // 初始化组件
82
+ initView () {
83
+ this.$emit('getColumnJson', val => {
84
+ this.columnJson = val
85
+ })
86
+ },
87
+ toEdit (item) {
88
+ const url = getConfigUrl(this.serviceName)
89
+ post(url, { queryObject: item }).then(res => {
90
+ this.formObj = res
91
+ const modifyModelData = { data: this.modifyModelData[res.groupName] }
92
+ this.$refs.xAddForm.init({
93
+ businessType: '修改',
94
+ title: '参数项',
95
+ formItems: res.formJson,
96
+ serviceName: res.serviceName,
97
+ modifyModelData: modifyModelData
98
+ })
99
+ })
100
+ },
101
+ onClose () {
102
+ this.$emit('update:visible', false)
103
+ },
104
+ onAddOrEditSubmit (res, callback) {
105
+ const requestParameters = {
106
+ paramsJson: {}
107
+ }
108
+ requestParameters.paramsJson[this.formObj.groupName] = {}
109
+ for (const key of Object.keys(res.realForm)) {
110
+ requestParameters.paramsJson[this.formObj.groupName][key] = res.realForm[key]
111
+ }
112
+ this.$emit('onSubmit', requestParameters, result => {
113
+ if (result) {
114
+ this.$message.success('提交成功!')
115
+ } else {
116
+ this.$message.error('提交失败!')
117
+ }
118
+ callback()
119
+ })
120
+ }
121
+ }
122
+ }
123
+ </script>
124
+ <style lang="less" scoped>
125
+ .card-avatar {
126
+ width: 48px;
127
+ height: 48px;
128
+ border-radius: 48px;
129
+ }
130
+ .new-btn{
131
+ border-radius: 2px;
132
+ width: 100%;
133
+ height: 187px;
134
+ }
135
+ .meta-content{
136
+ position: relative;
137
+ overflow: hidden;
138
+ text-overflow: ellipsis;
139
+ display: -webkit-box;
140
+ height: 64px;
141
+ -webkit-line-clamp: 3;
142
+ -webkit-box-orient: vertical;
143
+ }
144
+ </style>
@@ -1,165 +1,165 @@
1
- <template>
2
- <a-drawer
3
- :visible="visible"
4
- :width="isMobile ? screenWidth : screenWidth * 0.85"
5
- placement="right"
6
- title="表单参数组配置"
7
- @close="onClose"
8
- >
9
- <create-simple-form-query
10
- :to-edit-json="editItem()"
11
- :visible.sync="createQueryVisible"
12
- @saveSimpleFormQueryParams="saveQueryParams"
13
- />
14
- <a-list
15
- :dataSource="columnJsonCopy()"
16
- :grid="{gutter: 24, lg: 4, md: 3, sm: 1, xs: 1}"
17
- >
18
- <a-list-item slot="renderItem" slot-scope="item, index">
19
- <template v-if="item.type">
20
- <a-button class="new-btn" type="dashed" @click="toCreateQuery">
21
- <a-icon type="plus" />新增参数组
22
- </a-button>
23
- </template>
24
- <template v-else>
25
- <a-card :hoverable="true">
26
- <a-card-meta >
27
- <div slot="title" style="margin-bottom: 3px">{{ item.group }}</div>
28
- <a-icon slot="avatar" :style="{ fontSize:'2em' }" type="tags"/>
29
- <div slot="description" class="meta-content">{{ item.describe }}</div>
30
- </a-card-meta>
31
- <a slot="actions" @click="toEditQuery(index)">编辑</a>
32
- <a slot="actions" @click="toDelete(index)">删除</a>
33
- </a-card>
34
- </template>
35
- </a-list-item>
36
- </a-list>
37
- </a-drawer>
38
- </template>
39
-
40
- <script>
41
- import { mapState } from 'vuex'
42
- import CreateSimpleFormQuery from '@vue2-client/base-client/components/common/CreateSimpleFormQuery'
43
-
44
- export default {
45
- name: 'FormGroupQuery',
46
- components: {
47
- CreateSimpleFormQuery
48
- },
49
- data () {
50
- return {
51
- // 页面宽度
52
- screenWidth: document.documentElement.clientWidth,
53
- // 是否显示生成查询配置抽屉
54
- createQueryVisible: false,
55
- targetIndex: 0,
56
- columnJson: {},
57
- editIndex: -1
58
- }
59
- },
60
- mounted () {
61
- this.initView()
62
- },
63
- computed: {
64
- ...mapState('setting', ['isMobile'])
65
- },
66
- props: {
67
- visible: {
68
- type: Boolean,
69
- default: false
70
- }
71
- },
72
- watch: {
73
- visible (rel) {
74
- if (rel) {
75
- this.initView()
76
- }
77
- }
78
- },
79
- methods: {
80
- // 初始化组件
81
- initView () {
82
- this.editIndex = -1
83
- this.$emit('getColumnJson', val => {
84
- this.columnJson = val
85
- })
86
- },
87
- toCreateQuery () {
88
- this.editIndex = -1
89
- this.createQueryVisible = true
90
- },
91
- toEditQuery (index) {
92
- this.editIndex = index
93
- this.createQueryVisible = true
94
- },
95
- toDelete (index) {
96
- const _this = this
97
- this.$confirm({
98
- title: '您确定要删除该参数组?',
99
- content: '删除的参数组无法恢复',
100
- okText: '确定',
101
- okType: 'danger',
102
- cancelText: '取消',
103
- onOk () {
104
- _this.columnJson.groups.splice(index, 1)
105
- _this.$emit('saveQueryParams', _this.columnJson)
106
- }
107
- })
108
- },
109
- onClose () {
110
- this.$emit('update:visible', false)
111
- },
112
- // 存储查询配置信息
113
- saveQueryParams (source) {
114
- if (!this.columnJson.groups) {
115
- this.columnJson.groups = []
116
- }
117
- if (this.editIndex !== -1) {
118
- this.columnJson.groups[this.editIndex] = source
119
- } else {
120
- this.columnJson.groups.push(source)
121
- }
122
- this.$emit('saveQueryParams', this.columnJson)
123
- this.createQueryVisible = false
124
- },
125
- columnJsonCopy () {
126
- let groups
127
- if (this.columnJson.groups) {
128
- groups = JSON.parse(JSON.stringify(this.columnJson.groups))
129
- } else {
130
- groups = []
131
- }
132
- groups.push({ type: 'add' })
133
- return groups
134
- },
135
- editItem () {
136
- if (this.editIndex !== -1) {
137
- return JSON.parse(JSON.stringify(this.columnJson.groups[this.editIndex]))
138
- } else {
139
- return {}
140
- }
141
- }
142
- }
143
- }
144
- </script>
145
- <style lang="less" scoped>
146
- .card-avatar {
147
- width: 48px;
148
- height: 48px;
149
- border-radius: 48px;
150
- }
151
- .new-btn{
152
- border-radius: 2px;
153
- width: 100%;
154
- height: 187px;
155
- }
156
- .meta-content{
157
- position: relative;
158
- overflow: hidden;
159
- text-overflow: ellipsis;
160
- display: -webkit-box;
161
- height: 64px;
162
- -webkit-line-clamp: 3;
163
- -webkit-box-orient: vertical;
164
- }
165
- </style>
1
+ <template>
2
+ <a-drawer
3
+ :visible="visible"
4
+ :width="isMobile ? screenWidth : screenWidth * 0.85"
5
+ placement="right"
6
+ title="表单参数组配置"
7
+ @close="onClose"
8
+ >
9
+ <create-simple-form-query
10
+ :to-edit-json="editItem()"
11
+ :visible.sync="createQueryVisible"
12
+ @saveSimpleFormQueryParams="saveQueryParams"
13
+ />
14
+ <a-list
15
+ :dataSource="columnJsonCopy()"
16
+ :grid="{gutter: 24, lg: 4, md: 3, sm: 1, xs: 1}"
17
+ >
18
+ <a-list-item slot="renderItem" slot-scope="item, index">
19
+ <template v-if="item.type">
20
+ <a-button class="new-btn" type="dashed" @click="toCreateQuery">
21
+ <a-icon type="plus" />新增参数组
22
+ </a-button>
23
+ </template>
24
+ <template v-else>
25
+ <a-card :hoverable="true">
26
+ <a-card-meta >
27
+ <div slot="title" style="margin-bottom: 3px">{{ item.group }}</div>
28
+ <a-icon slot="avatar" :style="{ fontSize:'2em' }" type="tags"/>
29
+ <div slot="description" class="meta-content">{{ item.describe }}</div>
30
+ </a-card-meta>
31
+ <a slot="actions" @click="toEditQuery(index)">编辑</a>
32
+ <a slot="actions" @click="toDelete(index)">删除</a>
33
+ </a-card>
34
+ </template>
35
+ </a-list-item>
36
+ </a-list>
37
+ </a-drawer>
38
+ </template>
39
+
40
+ <script>
41
+ import { mapState } from 'vuex'
42
+ import CreateSimpleFormQuery from '@vue2-client/base-client/components/common/CreateSimpleFormQuery'
43
+
44
+ export default {
45
+ name: 'FormGroupQuery',
46
+ components: {
47
+ CreateSimpleFormQuery
48
+ },
49
+ data () {
50
+ return {
51
+ // 页面宽度
52
+ screenWidth: document.documentElement.clientWidth,
53
+ // 是否显示生成查询配置抽屉
54
+ createQueryVisible: false,
55
+ targetIndex: 0,
56
+ columnJson: {},
57
+ editIndex: -1
58
+ }
59
+ },
60
+ mounted () {
61
+ this.initView()
62
+ },
63
+ computed: {
64
+ ...mapState('setting', ['isMobile'])
65
+ },
66
+ props: {
67
+ visible: {
68
+ type: Boolean,
69
+ default: false
70
+ }
71
+ },
72
+ watch: {
73
+ visible (rel) {
74
+ if (rel) {
75
+ this.initView()
76
+ }
77
+ }
78
+ },
79
+ methods: {
80
+ // 初始化组件
81
+ initView () {
82
+ this.editIndex = -1
83
+ this.$emit('getColumnJson', val => {
84
+ this.columnJson = val
85
+ })
86
+ },
87
+ toCreateQuery () {
88
+ this.editIndex = -1
89
+ this.createQueryVisible = true
90
+ },
91
+ toEditQuery (index) {
92
+ this.editIndex = index
93
+ this.createQueryVisible = true
94
+ },
95
+ toDelete (index) {
96
+ const _this = this
97
+ this.$confirm({
98
+ title: '您确定要删除该参数组?',
99
+ content: '删除的参数组无法恢复',
100
+ okText: '确定',
101
+ okType: 'danger',
102
+ cancelText: '取消',
103
+ onOk () {
104
+ _this.columnJson.groups.splice(index, 1)
105
+ _this.$emit('saveQueryParams', _this.columnJson)
106
+ }
107
+ })
108
+ },
109
+ onClose () {
110
+ this.$emit('update:visible', false)
111
+ },
112
+ // 存储查询配置信息
113
+ saveQueryParams (source) {
114
+ if (!this.columnJson.groups) {
115
+ this.columnJson.groups = []
116
+ }
117
+ if (this.editIndex !== -1) {
118
+ this.columnJson.groups[this.editIndex] = source
119
+ } else {
120
+ this.columnJson.groups.push(source)
121
+ }
122
+ this.$emit('saveQueryParams', this.columnJson)
123
+ this.createQueryVisible = false
124
+ },
125
+ columnJsonCopy () {
126
+ let groups
127
+ if (this.columnJson.groups) {
128
+ groups = JSON.parse(JSON.stringify(this.columnJson.groups))
129
+ } else {
130
+ groups = []
131
+ }
132
+ groups.push({ type: 'add' })
133
+ return groups
134
+ },
135
+ editItem () {
136
+ if (this.editIndex !== -1) {
137
+ return JSON.parse(JSON.stringify(this.columnJson.groups[this.editIndex]))
138
+ } else {
139
+ return {}
140
+ }
141
+ }
142
+ }
143
+ }
144
+ </script>
145
+ <style lang="less" scoped>
146
+ .card-avatar {
147
+ width: 48px;
148
+ height: 48px;
149
+ border-radius: 48px;
150
+ }
151
+ .new-btn{
152
+ border-radius: 2px;
153
+ width: 100%;
154
+ height: 187px;
155
+ }
156
+ .meta-content{
157
+ position: relative;
158
+ overflow: hidden;
159
+ text-overflow: ellipsis;
160
+ display: -webkit-box;
161
+ height: 64px;
162
+ -webkit-line-clamp: 3;
163
+ -webkit-box-orient: vertical;
164
+ }
165
+ </style>