vue2-client 1.2.99-test → 1.2.101

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 (33) hide show
  1. package/.env +15 -15
  2. package/.eslintrc.js +82 -82
  3. package/CHANGELOG.md +245 -245
  4. package/package.json +92 -92
  5. package/src/base-client/all.js +66 -66
  6. package/src/base-client/components/common/AmapMarker/AmapPointRendering.vue +113 -113
  7. package/src/base-client/components/common/CitySelect/CitySelect.vue +244 -244
  8. package/src/base-client/components/common/CitySelect/index.js +3 -3
  9. package/src/base-client/components/common/CitySelect/index.md +109 -109
  10. package/src/base-client/components/common/CreateQuery/CreateQuery.vue +547 -547
  11. package/src/base-client/components/common/CreateQuery/CreateQueryItem.vue +778 -778
  12. package/src/base-client/components/common/CreateSimpleFormQuery/CreateSimpleFormQuery.vue +310 -310
  13. package/src/base-client/components/common/PersonSetting/PersonSetting.vue +210 -210
  14. package/src/base-client/components/common/PersonSetting/index.js +3 -3
  15. package/src/base-client/components/common/Upload/Upload.vue +157 -157
  16. package/src/base-client/components/common/Upload/index.js +3 -3
  17. package/src/base-client/components/common/XAddForm/XAddForm.vue +349 -349
  18. package/src/base-client/components/common/XAddNativeForm/XAddNativeForm.vue +322 -322
  19. package/src/base-client/components/common/XForm/XForm.vue +268 -268
  20. package/src/base-client/components/common/XForm/XFormItem.vue +371 -371
  21. package/src/base-client/components/common/XFormTable/XFormTable.vue +507 -507
  22. package/src/base-client/components/iot/WebmeterAnalysisView/WebmeterAnalysisView.vue +960 -960
  23. package/src/config/CreateQueryConfig.js +307 -307
  24. package/src/layouts/header/HeaderNotice.vue +164 -158
  25. package/src/layouts/header/InstitutionDetail.vue +177 -176
  26. package/src/pages/system/ticket/index.vue +68 -5
  27. package/src/router/async/router.map.js +60 -60
  28. package/src/services/api/TicketDetailsViewApi.js +3 -1
  29. package/src/services/api/WebmeterAnalysisViewApi.js +24 -24
  30. package/src/services/api/common.js +58 -58
  31. package/src/services/api/manage.js +16 -16
  32. package/src/services/api/restTools.js +24 -24
  33. package/vue.config.js +163 -163
@@ -1,176 +1,177 @@
1
- <template>
2
- <div>
3
- <h2 style="text-align: center">{{ institutionData.f_title }}</h2>
4
- <p>简述: {{ institutionData.f_sketch }}</p>
5
- <p>生效时间: {{ format(institutionData.f_effective_date) }}</p>
6
- <div v-if="showDocument" class="content">
7
- <iframe :src="institutionDocUrl" width="100%" height="100%" frameborder="0"></iframe>
8
- </div>
9
- <!-- 其他附件 -->
10
- <div class="other-file">
11
- <div class="title">其他附件</div>
12
- <div v-for="file in otherFiles" :key="file.id">
13
- <a class="file-item">
14
- <span class="file-action" @click="handlePreviewDoc(file.url)">
15
- <a-icon type="link" />{{ file.name }}
16
- </span>
17
- <span class="file-action" @click="handlePreviewDoc(file.url)">
18
- <a-icon type="eye" />预览
19
- </span>
20
- <a class="file-action" @click="handlePreDowDoc(file)" target="_blank"><a-icon type="download" />下载</a>
21
- </a>
22
- </div>
23
- </div>
24
- <!-- 其他附件预览 -->
25
- <a-modal v-model="previewDocVisible" :footer="null" :dialog-style="{ top: '20px' }" width="97%" :z-index="1001">
26
- <div class="preview-doc-container">
27
- <a-spin size="large" :spinning="previewDocLoading" />
28
- <iframe
29
- v-show="!previewDocLoading"
30
- :src="previewDocUrl"
31
- width="100%"
32
- height="100%"
33
- frameborder="0"
34
- @load="previewDocLoading = false" />
35
- </div>
36
- </a-modal>
37
- </div>
38
- </template>
39
-
40
- <script>
41
- import { Base64 } from 'js-base64'
42
- import { post } from '@vue2-client/services/api/restTools'
43
- import { formatDate } from '@vue2-client/utils/util'
44
-
45
- export default {
46
- name: 'InstitutionDetail',
47
- props: {
48
- institutionId: {
49
- type: Number,
50
- default: undefined
51
- },
52
- affirmInstitution: {
53
- type: Number,
54
- default: undefined
55
- }
56
- },
57
- data () {
58
- return {
59
- institutionDocUrl: undefined,
60
- showDocument: false,
61
- otherFiles: [],
62
- institutionData: {},
63
- previewDocVisible: false,
64
- previewDocUrl: undefined,
65
- previewDocLoading: false
66
- }
67
- },
68
- watch: {
69
- institutionId () {
70
- this.getDetailData()
71
- }
72
- },
73
- mounted () {
74
- this.getDetailData()
75
- },
76
- methods: {
77
- // 获取详情数据
78
- getDetailData () {
79
- if (!this.institutionId) {
80
- return
81
- }
82
- const otherFiles = []
83
- post('/webmeterapi/getInstitutionDetail', {
84
- id: this.institutionId
85
- }).then(res => {
86
- res.files.forEach(item => {
87
- if (item.use_type === '制度文件') {
88
- const institutionDocUrl = previewDocService + encodeURIComponent(Base64.encode(fileServer + item.url))
89
- this.institutionDocUrl = institutionDocUrl
90
- this.showDocument = true
91
- } else {
92
- otherFiles.push(item)
93
- }
94
- })
95
- this.institutionData = res.institution
96
- this.otherFiles = otherFiles
97
- })
98
- },
99
- format (dateStr) {
100
- return formatDate(dateStr, 'yyyy-MM-dd')
101
- },
102
- // 其他附件预览
103
- handlePreviewDoc (url) {
104
- const previewDocUrl = previewDocService + encodeURIComponent(Base64.encode(fileServer + url))
105
- if (this.previewDocUrl != previewDocUrl) {
106
- this.previewDocLoading = true
107
- this.previewDocUrl = previewDocUrl
108
- }
109
- this.previewDocVisible = true
110
- },
111
- // 下载文档
112
- handlePreDowDoc (file) {
113
- const a = document.createElement('a')
114
- a.href = file.url
115
- a.download = file.name
116
- a.click()
117
- },
118
- confirm_institution (item) {
119
- this.institution = item.institution
120
- post('/webmeterapi/affirmInstitution', {
121
- data: {
122
- tobe: [
123
- {
124
- id: item.id,
125
- f_affirm_type: '系统确认'
126
- }
127
- ]
128
- }
129
- }).then(res => {
130
- this.$emit('get_to_be_confirmed')
131
- })
132
- },
133
- }
134
- }
135
- // 文档预览服务 API
136
- const previewDocService = 'http://123.60.214.109:8012/onlinePreview?url='
137
- // 文件服务器地址
138
- const fileServer = 'http://123.60.214.109:8406'
139
- </script>
140
-
141
- <style lang="less" scoped>
142
- .content {
143
- height: 80vh;
144
- img {
145
- max-width: 100%;
146
- }
147
- }
148
- .other-file {
149
- margin: 16px 0;
150
- .title {
151
- margin-bottom: 6px;
152
- }
153
- }
154
- .file-item {
155
- .file-action {
156
- padding: 3px 4px;
157
- color: #1890ff;
158
- &:hover {
159
- background: #e6f7ff;
160
- }
161
- }
162
- .anticon {
163
- margin-right: 3px;
164
- }
165
- }
166
- .file-list-title {
167
- color: rgba(0, 0, 0, 0.85);
168
- font-weight: bold;
169
- font-size: 16px;
170
- margin-bottom: 8px;
171
- }
172
- .preview-doc-container {
173
- height: calc(100vh - 92px);
174
- padding-top: 20px;
175
- }
176
- </style>
1
+ <template>
2
+ <div>
3
+ <h2 style="text-align: center">{{ institutionData.f_title }}</h2>
4
+ <p>简述: {{ institutionData.f_sketch }}</p>
5
+ <p>生效时间: {{ format(institutionData.f_effective_date) }}</p>
6
+ <div v-if="showDocument" class="content">
7
+ <iframe :src="institutionDocUrl" width="100%" height="100%" frameborder="0"></iframe>
8
+ </div>
9
+ <!-- 其他附件 -->
10
+ <div class="other-file">
11
+ <div class="title">其他附件</div>
12
+ <div v-for="file in otherFiles" :key="file.id">
13
+ <a class="file-item">
14
+ <span class="file-action" @click="handlePreviewDoc(file.url)">
15
+ <a-icon type="link" />{{ file.name }}
16
+ </span>
17
+ <span class="file-action" @click="handlePreviewDoc(file.url)">
18
+ <a-icon type="eye" />预览
19
+ </span>
20
+ <a class="file-action" @click="handlePreDowDoc(file)" target="_blank"><a-icon type="download" />下载</a>
21
+ </a>
22
+ </div>
23
+ </div>
24
+ <!-- 其他附件预览 -->
25
+ <a-modal v-model="previewDocVisible" :footer="null" :dialog-style="{ top: '20px' }" width="97%" :z-index="1001">
26
+ <div class="preview-doc-container">
27
+ <a-spin size="large" :spinning="previewDocLoading" />
28
+ <iframe
29
+ v-show="!previewDocLoading"
30
+ :src="previewDocUrl"
31
+ width="100%"
32
+ height="100%"
33
+ frameborder="0"
34
+ @load="previewDocLoading = false" />
35
+ </div>
36
+ </a-modal>
37
+ <a-button type="primary" @click="confirm_institution">确认</a-button>
38
+ </div>
39
+ </template>
40
+
41
+ <script>
42
+ import { Base64 } from 'js-base64'
43
+ import { post } from '@vue2-client/services/api/restTools'
44
+ import { formatDate } from '@vue2-client/utils/util'
45
+
46
+ export default {
47
+ name: 'InstitutionDetail',
48
+ props: {
49
+ institutionId: {
50
+ type: Number,
51
+ default: undefined
52
+ },
53
+ affirmInstitution: {
54
+ type: Number,
55
+ default: undefined
56
+ }
57
+ },
58
+ data () {
59
+ return {
60
+ institutionDocUrl: undefined,
61
+ showDocument: false,
62
+ otherFiles: [],
63
+ institutionData: {},
64
+ previewDocVisible: false,
65
+ previewDocUrl: undefined,
66
+ previewDocLoading: false
67
+ }
68
+ },
69
+ watch: {
70
+ institutionId () {
71
+ this.getDetailData()
72
+ }
73
+ },
74
+ mounted () {
75
+ this.getDetailData()
76
+ },
77
+ methods: {
78
+ // 获取详情数据
79
+ getDetailData () {
80
+ if (!this.institutionId) {
81
+ return
82
+ }
83
+ const otherFiles = []
84
+ post('/webmeterapi/getInstitutionDetail', {
85
+ id: this.institutionId
86
+ }).then(res => {
87
+ res.files.forEach(item => {
88
+ if (item.use_type === '制度文件') {
89
+ const institutionDocUrl = previewDocService + encodeURIComponent(Base64.encode(fileServer + item.url))
90
+ this.institutionDocUrl = institutionDocUrl
91
+ this.showDocument = true
92
+ } else {
93
+ otherFiles.push(item)
94
+ }
95
+ })
96
+ this.institutionData = res.institution
97
+ this.otherFiles = otherFiles
98
+ })
99
+ },
100
+ format (dateStr) {
101
+ return formatDate(dateStr, 'yyyy-MM-dd')
102
+ },
103
+ // 其他附件预览
104
+ handlePreviewDoc (url) {
105
+ const previewDocUrl = previewDocService + encodeURIComponent(Base64.encode(fileServer + url))
106
+ if (this.previewDocUrl != previewDocUrl) {
107
+ this.previewDocLoading = true
108
+ this.previewDocUrl = previewDocUrl
109
+ }
110
+ this.previewDocVisible = true
111
+ },
112
+ // 下载文档
113
+ handlePreDowDoc (file) {
114
+ const a = document.createElement('a')
115
+ a.href = file.url
116
+ a.download = file.name
117
+ a.click()
118
+ },
119
+ confirm_institution () {
120
+ post('/webmeterapi/affirmInstitution', {
121
+ data: {
122
+ tobe: [
123
+ {
124
+ id: this.affirmInstitution,
125
+ f_affirm_type: '系统确认'
126
+ }
127
+ ]
128
+ }
129
+ }).then(res => {
130
+ this.$message.success('确认成功')
131
+ this.$emit('get_to_be_confirmed')
132
+ })
133
+ },
134
+ }
135
+ }
136
+ // 文档预览服务 API
137
+ const previewDocService = 'http://123.60.214.109:8012/onlinePreview?url='
138
+ // 文件服务器地址
139
+ const fileServer = 'http://123.60.214.109:8406'
140
+ </script>
141
+
142
+ <style lang="less" scoped>
143
+ .content {
144
+ height: 80vh;
145
+ img {
146
+ max-width: 100%;
147
+ }
148
+ }
149
+ .other-file {
150
+ margin: 16px 0;
151
+ .title {
152
+ margin-bottom: 6px;
153
+ }
154
+ }
155
+ .file-item {
156
+ .file-action {
157
+ padding: 3px 4px;
158
+ color: #1890ff;
159
+ &:hover {
160
+ background: #e6f7ff;
161
+ }
162
+ }
163
+ .anticon {
164
+ margin-right: 3px;
165
+ }
166
+ }
167
+ .file-list-title {
168
+ color: rgba(0, 0, 0, 0.85);
169
+ font-weight: bold;
170
+ font-size: 16px;
171
+ margin-bottom: 8px;
172
+ }
173
+ .preview-doc-container {
174
+ height: calc(100vh - 92px);
175
+ padding-top: 20px;
176
+ }
177
+ </style>
@@ -120,7 +120,7 @@
120
120
  </a-modal>
121
121
  <a-card v-if="visible">
122
122
  <div style="text-align: right">
123
- <p>欢迎您:{{ currUser.ename }}</p>
123
+ <p>欢迎您!{{ currUser.ename }}</p>
124
124
  </div>
125
125
  <div class="submitTicketTitle">
126
126
  <span>奥枫问题反馈平台</span>
@@ -131,6 +131,19 @@
131
131
  <a-row v-if="tabActiveKey === 'workSubmit'">
132
132
  <a-col :span="18">
133
133
  <a-form :label-col="{ span: 5 }" :wrapper-col="{ span: 12 }">
134
+ <!-- 客户名称选择 -->
135
+ <a-form-item v-if="!currUser.ename" label="客户名称">
136
+ <a-select
137
+ v-model="customerName"
138
+ :options="customerOptions"
139
+ :filter-option="false"
140
+ :default-active-first-option="false"
141
+ placeholder="请搜索客户名称"
142
+ show-search
143
+ @search="onCustomerSearch"
144
+ ></a-select>
145
+ <strong v-show="showCustomerNameAlert" style="color: red">客户名称不能为空!</strong>
146
+ </a-form-item>
134
147
  <!-- 问题类型单选框 -->
135
148
  <a-form-item label="问题类型">
136
149
  <a-radio-group v-model="form.category" v-for="(item,index) in $appdata.getDictionaryList('ticketCategoryMap')" :key="index">
@@ -153,7 +166,7 @@
153
166
  <!-- 图片上传 -->
154
167
  <a-form-item :wrapper-col="{ span: 12 }" label="问题截图">
155
168
  <div class="clearfix">
156
- <a-upload
169
+ <!-- <a-upload
157
170
  name="avatar"
158
171
  list-type="picture-card"
159
172
  :before-upload="beforeUpload"
@@ -167,7 +180,8 @@
167
180
  <a-icon type="plus" />
168
181
  <div class="ant-upload-text">点击上传</div>
169
182
  </div>
170
- </a-upload>
183
+ </a-upload> -->
184
+ <upload :model="uploadModel" @setFiles="setFiles" />
171
185
  <a-modal
172
186
  :visible="previewVisible"
173
187
  :footer="null"
@@ -179,7 +193,7 @@
179
193
  </a-form-item>
180
194
  <!-- 表单底部按钮 -->
181
195
  <a-form-item :wrapper-col="{ span: 12, offset: 5 }">
182
- <a-button type="primary" @click="onSubmit" style="margin-right: 20px" :disabled="showCategoryAlert || showPhoneAlert">
196
+ <a-button type="primary" @click="onSubmit" style="margin-right: 20px" :disabled="showCategoryAlert || showPhoneAlert || !validCustomerName">
183
197
  提交
184
198
  </a-button>
185
199
  </a-form-item>
@@ -278,6 +292,7 @@ export default {
278
292
  // 类别未填写警告信息控制
279
293
  showCategoryAlert: true,
280
294
  showPhoneAlert: true,
295
+ showCustomerNameAlert: true,
281
296
  // 向日葵使用指南可见性
282
297
  sunClientManualVisible: false,
283
298
  // 向日葵使用指南可见性
@@ -292,7 +307,16 @@ export default {
292
307
  phoneNumber: ''
293
308
  },
294
309
  visible: false,
295
- tabActiveKey: 'workSubmit'
310
+ tabActiveKey: 'workSubmit',
311
+ uploadModel,
312
+ customerName: undefined,
313
+ customerOptions: []
314
+ }
315
+ },
316
+ computed: {
317
+ // 检查客户名称是否为空
318
+ validCustomerName () {
319
+ return this.currUser.ename || this.customerName ? true : false
296
320
  }
297
321
  },
298
322
  created () {
@@ -317,6 +341,9 @@ export default {
317
341
  reader.onerror = error => reject(error)
318
342
  })
319
343
  },
344
+ setFiles (fileIds) {
345
+ this.fileList = fileIds
346
+ },
320
347
  // 图像修改检测
321
348
  handleChange ({ fileList }) {
322
349
  this.fileList = fileList.filter((item) => {
@@ -367,6 +394,29 @@ export default {
367
394
  },
368
395
  // 提交按钮逻辑
369
396
  onSubmit () {
397
+ let customerName = this.currUser.ename
398
+ if (!customerName) {
399
+ customerName = this.customerName
400
+ }
401
+ const form = {
402
+ customerName,
403
+ problemType: this.form.category,
404
+ contact: this.form.phone,
405
+ problemDetail: this.form.desc,
406
+ Images: this.fileList
407
+ }
408
+ if (this.form.desc === undefined) {
409
+ form.problemDetail = '该用户没有填写描述信息'
410
+ }
411
+ // console.log(data)
412
+ // if (customerName) return
413
+ post(TicketDetailsViewApi.createTicket, { form }).then((res) => {
414
+ this.serialNumber = res
415
+ this.successVisible = true
416
+ this.$message.success('创建成功')
417
+ })
418
+ },
419
+ onSubmitOld () {
370
420
  // 根据当前日期调用logic获取订单序列号
371
421
  return post(TicketDetailsViewApi.getTicketSerialNumber, {
372
422
  priority: this.data.priority,
@@ -397,6 +447,7 @@ export default {
397
447
  this.form.desc = ''
398
448
  this.showCategoryAlert = true
399
449
  this.showPhoneAlert = true
450
+ this.showCustomerNameAlert = true
400
451
  }, err => {
401
452
  console.log(err)
402
453
  })
@@ -427,6 +478,14 @@ export default {
427
478
  // 切换标签页
428
479
  changeTab (id) {
429
480
  this.tabActiveKey = id
481
+ },
482
+ // 客户名称搜索
483
+ onCustomerSearch (value) {
484
+ post('/webmeterapi/getCustomerBySearch', {
485
+ word: value
486
+ }).then(res => {
487
+ this.customerOptions = res
488
+ })
430
489
  }
431
490
  },
432
491
  watch: {
@@ -438,9 +497,13 @@ export default {
438
497
  'form.phone' (newVal) {
439
498
  const numReg = new RegExp(/^[0-9]+$/)
440
499
  this.showPhoneAlert = !numReg.test(newVal)
500
+ },
501
+ customerName (newVal) {
502
+ this.showCustomerNameAlert = !newVal
441
503
  }
442
504
  }
443
505
  }
506
+ const uploadModel = JSON.parse('{"addOrEdit":"all","resUploadStock":1,"pathKey":"cs","rule":{"type":"string","required":"false"},"isOnlyAddOrEdit":true,"acceptCount":5,"type":"image","accept":[".jpg,.jpeg,.ico,.gif,svg,.webp,.png,.bmp,.pjpeg,"],"stockAlias":"webmeter","fileRootPath":"D:\\\\nginx-resource\\\\resource\\\\","name":"图片","resUploadMode":"server","model":"Images"}')
444
507
  </script>
445
508
 
446
509
  <style scoped>
@@ -1,60 +1,60 @@
1
- // 视图组件
2
- const view = {
3
- tabs: () => import('@vue2-client/layouts/tabs'),
4
- blank: () => import('@vue2-client/layouts/BlankView'),
5
- page: () => import('@vue2-client/layouts/PageView')
6
- }
7
- // 动态路由对象定义
8
- const routerResource = {}
9
- // --------------------------------------基本视图组件--------------------------------------
10
- // 空白视图
11
- routerResource.blank = view.blank
12
- // 单页面视图
13
- routerResource.singlePage = view.blank
14
- // --------------------------------------系统配置--------------------------------------
15
- routerResource.system = view.blank
16
- // 字典管理
17
- routerResource.dictionaryManage = () => import(/* webpackChunkName: "dictionary" */ '@vue2-client/pages/system/dictionary')
18
- // 查询配置管理
19
- routerResource.queryParamsManage = () => import(/* webpackChunkName: "queryParams" */ '@vue2-client/pages/system/queryParams')
20
- // 查询配置生成
21
- routerResource.createQuery = () => import('@vue2-client/pages/CreateQueryPage.vue')
22
- // 系统问题反馈工单
23
- routerResource.submitTicket = () => import(/* webpackChunkName: "submitTicket" */ '@vue2-client/pages/system/ticket')
24
- // --------------------------------------报表组件--------------------------------------
25
- routerResource.reportTable = () => import(/* webpackChunkName: "ReportTableHome" */ '@vue2-client/pages/report/ReportTableHome')
26
- // --------------------------------------资源管理--------------------------------------
27
- routerResource.resourceManageMain = () => import(/* webpackChunkName: "resourceManageMain" */ '@vue2-client/pages/resourceManage/resourceManageMain')
28
-
29
- // 基础路由组件注册
30
- const routerMap = {
31
- login: {
32
- authority: '*',
33
- path: '/login',
34
- component: () => import('@vue2-client/pages/login')
35
- },
36
- root: {
37
- path: '/',
38
- name: '首页',
39
- redirect: '/login',
40
- component: view.tabs
41
- },
42
- exp403: {
43
- authority: '*',
44
- name: 'exp403',
45
- path: '403',
46
- component: () => import('@vue2-client/pages/exception/403')
47
- },
48
- exp404: {
49
- name: 'exp404',
50
- path: '404',
51
- component: () => import('@vue2-client/pages/exception/404')
52
- },
53
- exp500: {
54
- name: 'exp500',
55
- path: '500',
56
- component: () => import('@vue2-client/pages/exception/500')
57
- }
58
- }
59
- Object.assign(routerMap, routerResource)
60
- export default routerMap
1
+ // 视图组件
2
+ const view = {
3
+ tabs: () => import('@vue2-client/layouts/tabs'),
4
+ blank: () => import('@vue2-client/layouts/BlankView'),
5
+ page: () => import('@vue2-client/layouts/PageView')
6
+ }
7
+ // 动态路由对象定义
8
+ const routerResource = {}
9
+ // --------------------------------------基本视图组件--------------------------------------
10
+ // 空白视图
11
+ routerResource.blank = view.blank
12
+ // 单页面视图
13
+ routerResource.singlePage = view.blank
14
+ // --------------------------------------系统配置--------------------------------------
15
+ routerResource.system = view.blank
16
+ // 字典管理
17
+ routerResource.dictionaryManage = () => import(/* webpackChunkName: "dictionary" */ '@vue2-client/pages/system/dictionary')
18
+ // 查询配置管理
19
+ routerResource.queryParamsManage = () => import(/* webpackChunkName: "queryParams" */ '@vue2-client/pages/system/queryParams')
20
+ // 查询配置生成
21
+ routerResource.createQuery = () => import('@vue2-client/pages/CreateQueryPage.vue')
22
+ // 系统问题反馈工单
23
+ routerResource.submitTicket = () => import(/* webpackChunkName: "submitTicket" */ '@vue2-client/pages/system/ticket')
24
+ // --------------------------------------报表组件--------------------------------------
25
+ routerResource.reportTable = () => import(/* webpackChunkName: "ReportTableHome" */ '@vue2-client/pages/report/ReportTableHome')
26
+ // --------------------------------------资源管理--------------------------------------
27
+ routerResource.resourceManageMain = () => import(/* webpackChunkName: "resourceManageMain" */ '@vue2-client/pages/resourceManage/resourceManageMain')
28
+
29
+ // 基础路由组件注册
30
+ const routerMap = {
31
+ login: {
32
+ authority: '*',
33
+ path: '/login',
34
+ component: () => import('@vue2-client/pages/login')
35
+ },
36
+ root: {
37
+ path: '/',
38
+ name: '首页',
39
+ redirect: '/login',
40
+ component: view.tabs
41
+ },
42
+ exp403: {
43
+ authority: '*',
44
+ name: 'exp403',
45
+ path: '403',
46
+ component: () => import('@vue2-client/pages/exception/403')
47
+ },
48
+ exp404: {
49
+ name: 'exp404',
50
+ path: '404',
51
+ component: () => import('@vue2-client/pages/exception/404')
52
+ },
53
+ exp500: {
54
+ name: 'exp500',
55
+ path: '500',
56
+ component: () => import('@vue2-client/pages/exception/500')
57
+ }
58
+ }
59
+ Object.assign(routerMap, routerResource)
60
+ export default routerMap
@@ -32,7 +32,9 @@ const TicketDetailsViewApi = {
32
32
  // 提交用户填写附加信息
33
33
  AddonDescriptionToTicket: '/webmeterapi/AddonDescriptionToTicket',
34
34
  // 获取用户填写附加信息
35
- getAddonDescription: '/webmeterapi/getAddonDescription'
35
+ getAddonDescription: '/webmeterapi/getAddonDescription',
36
+ // 发起售后工单流程
37
+ createTicket: '/webmeterapi/createTicket'
36
38
  }
37
39
 
38
40
  export { TicketDetailsViewApi }