vue2-client 1.12.96 → 1.12.97

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.
@@ -1,130 +1,130 @@
1
- <template>
2
- <div>
3
- <div class="filter-bar">
4
- <a-date-picker v-model="upload_date" placeholder="上传日期" @change="selfSearch" />
5
- <a-select
6
- style="width: 200px;"
7
- v-model="fusetype"
8
- :options="fusetypes"
9
- placeholder="分类"
10
- @change="selfSearch"
11
- allow-clear />
12
- <a-button type="primary" @click="selfSearch">查询</a-button>
13
- </div>
14
- <a-list bordered>
15
- <a-list-item v-for="item in files" :key="item.days">
16
- <div class="file-group">
17
- <h4>{{ item.days }}</h4>
18
- <div class="file-items">
19
- <div v-for="file in item.arrays" :key="file.id" class="file-card">
20
- <img :src="file.f_downloadpath" class="file-image" v-if="file.f_filetype.includes('jpg') || file.f_filetype.includes('png')" />
21
- <p>上传时间: {{ file.f_uploaddate }}</p>
22
- <p>操作员: {{ file.f_username }}</p>
23
- <p>分类: {{ file.fusetype }}</p>
24
- <p>说明: {{ file.fremarks }}</p>
25
- <a :href="file.f_downloadpath" target="_blank">预览</a>
26
- <a-button v-if="isDelete === '1'" @click="delet(file.id)">删除</a-button>
27
- </div>
28
- </div>
29
- </div>
30
- </a-list-item>
31
- </a-list>
32
- </div>
33
- </template>
34
-
35
- <script>
36
- import { post } from '@vue2-client/services/api'
37
- export default {
38
- props: {
39
- currUserInfo: {
40
- type: Object,
41
- default: () => undefined
42
- }
43
- },
44
- data () {
45
- return {
46
- upload_date: null,
47
- fusetype: null,
48
- files: [],
49
- fusetypes: [],
50
- isDelete: '0'
51
- }
52
- },
53
- methods: {
54
- async getfusetypes () {
55
- this.fusetypes = [{ label: '全部', value: '' }]
56
- const res = await post('rs/sql/singleTable_OrderBy', {
57
- data: {
58
- items: 'fusetype',
59
- tablename: 't_files',
60
- condition: `fusetype is not null GROUP BY fusetype`,
61
- orderitem: 'fusetype'
62
- }
63
- })
64
- this.fusetypes.push(...res.map(item => ({ label: item.fusetype, value: item.fusetype })))
65
- console.log('123456', this.fusetypes)
66
- },
67
- async getFiles () {
68
- console.log('999', this.currUserInfo)
69
- if (!this.currUserInfo) return
70
- this.files = []
71
- let condition = `CONVERT(varchar(200),f_blobid) = '${this.currUserInfo.f_userinfo_id}'`
72
- if (this.upload_date) {
73
- condition += ` and CONVERT(VARCHAR(100), f_uploaddate, 23) = '${this.upload_date}'`
74
- }
75
- if (this.fusetype) {
76
- condition += ` and fusetype = '${this.fusetype}'`
77
- }
78
- const res = await post('/api/af-revenue/logic/getAllFiles', { data: { condition } })
79
- console.log('7777', res)
80
- console.log('7777', res.days)
81
- this.files = res.days.map(day => ({
82
- days: day.uploadday,
83
- arrays: res.array.filter(file => file.uploadday === day.uploadday)
84
- }))
85
- },
86
- async delet (fileId) {
87
- await this.$resetdelete('rs/entity/t_files', { id: fileId }, { resolveMsg: '删除成功', rejectMsg: '删除失败' })
88
- this.getFiles()
89
- },
90
- selfSearch () {
91
- this.getFiles()
92
- }
93
- },
94
- mounted () {
95
- if (this.$login.r.includes('上传附件删除')) {
96
- this.isDelete = '1'
97
- }
98
- this.getFiles()
99
- this.getfusetypes()
100
- }
101
- }
102
- </script>
103
-
104
- <style scoped>
105
- .filter-bar {
106
- display: flex;
107
- gap: 10px;
108
- margin-bottom: 15px;
109
- }
110
- .file-group {
111
- margin-bottom: 15px;
112
- }
113
- .file-items {
114
- display: flex;
115
- flex-wrap: wrap;
116
- gap: 10px;
117
- }
118
- .file-card {
119
- border: 1px solid #ddd;
120
- padding: 10px;
121
- border-radius: 5px;
122
- width: 200px;
123
- }
124
- .file-image {
125
- width: 100%; /* 让图片填充整个容器 */
126
- height: 150px; /* 调整高度 */
127
- object-fit: cover; /* 保持图片比例,填充整个区域 */
128
- border-radius: 5px; /* 圆角边框 */
129
- }
130
- </style>
1
+ <template>
2
+ <div>
3
+ <div class="filter-bar">
4
+ <a-date-picker v-model="upload_date" placeholder="上传日期" @change="selfSearch" />
5
+ <a-select
6
+ style="width: 200px;"
7
+ v-model="fusetype"
8
+ :options="fusetypes"
9
+ placeholder="分类"
10
+ @change="selfSearch"
11
+ allow-clear />
12
+ <a-button type="primary" @click="selfSearch">查询</a-button>
13
+ </div>
14
+ <a-list bordered>
15
+ <a-list-item v-for="item in files" :key="item.days">
16
+ <div class="file-group">
17
+ <h4>{{ item.days }}</h4>
18
+ <div class="file-items">
19
+ <div v-for="file in item.arrays" :key="file.id" class="file-card">
20
+ <img :src="file.f_downloadpath" class="file-image" v-if="file.f_filetype.includes('jpg') || file.f_filetype.includes('png')" />
21
+ <p>上传时间: {{ file.f_uploaddate }}</p>
22
+ <p>操作员: {{ file.f_username }}</p>
23
+ <p>分类: {{ file.fusetype }}</p>
24
+ <p>说明: {{ file.fremarks }}</p>
25
+ <a :href="file.f_downloadpath" target="_blank">预览</a>
26
+ <a-button v-if="isDelete === '1'" @click="delet(file.id)">删除</a-button>
27
+ </div>
28
+ </div>
29
+ </div>
30
+ </a-list-item>
31
+ </a-list>
32
+ </div>
33
+ </template>
34
+
35
+ <script>
36
+ import { post } from '@vue2-client/services/api'
37
+ export default {
38
+ props: {
39
+ currUserInfo: {
40
+ type: Object,
41
+ default: () => undefined
42
+ }
43
+ },
44
+ data () {
45
+ return {
46
+ upload_date: null,
47
+ fusetype: null,
48
+ files: [],
49
+ fusetypes: [],
50
+ isDelete: '0'
51
+ }
52
+ },
53
+ methods: {
54
+ async getfusetypes () {
55
+ this.fusetypes = [{ label: '全部', value: '' }]
56
+ const res = await post('/api/af-revenue/singleTable_OrderBy', {
57
+ data: {
58
+ items: 'fusetype',
59
+ tablename: 't_files',
60
+ condition: `fusetype is not null GROUP BY fusetype`,
61
+ orderitem: 'fusetype'
62
+ }
63
+ })
64
+ this.fusetypes.push(...res.map(item => ({ label: item.fusetype, value: item.fusetype })))
65
+ console.log('123456', this.fusetypes)
66
+ },
67
+ async getFiles () {
68
+ console.log('999', this.currUserInfo)
69
+ if (!this.currUserInfo) return
70
+ this.files = []
71
+ let condition = `CONVERT(varchar(200),f_blobid) = '${this.currUserInfo.f_userinfo_id}'`
72
+ if (this.upload_date) {
73
+ condition += ` and CONVERT(VARCHAR(100), f_uploaddate, 23) = '${this.upload_date}'`
74
+ }
75
+ if (this.fusetype) {
76
+ condition += ` and fusetype = '${this.fusetype}'`
77
+ }
78
+ const res = await post('/api/af-revenue/logic/getAllFiles', { data: { condition } })
79
+ console.log('7777', res)
80
+ console.log('7777', res.days)
81
+ this.files = res.days.map(day => ({
82
+ days: day.uploadday,
83
+ arrays: res.array.filter(file => file.uploadday === day.uploadday)
84
+ }))
85
+ },
86
+ async delet (fileId) {
87
+ await this.$resetdelete('rs/entity/t_files', { id: fileId }, { resolveMsg: '删除成功', rejectMsg: '删除失败' })
88
+ this.getFiles()
89
+ },
90
+ selfSearch () {
91
+ this.getFiles()
92
+ }
93
+ },
94
+ mounted () {
95
+ if (this.$login.r.includes('上传附件删除')) {
96
+ this.isDelete = '1'
97
+ }
98
+ this.getFiles()
99
+ this.getfusetypes()
100
+ }
101
+ }
102
+ </script>
103
+
104
+ <style scoped>
105
+ .filter-bar {
106
+ display: flex;
107
+ gap: 10px;
108
+ margin-bottom: 15px;
109
+ }
110
+ .file-group {
111
+ margin-bottom: 15px;
112
+ }
113
+ .file-items {
114
+ display: flex;
115
+ flex-wrap: wrap;
116
+ gap: 10px;
117
+ }
118
+ .file-card {
119
+ border: 1px solid #ddd;
120
+ padding: 10px;
121
+ border-radius: 5px;
122
+ width: 200px;
123
+ }
124
+ .file-image {
125
+ width: 100%; /* 让图片填充整个容器 */
126
+ height: 150px; /* 调整高度 */
127
+ object-fit: cover; /* 保持图片比例,填充整个区域 */
128
+ border-radius: 5px; /* 圆角边框 */
129
+ }
130
+ </style>
@@ -106,7 +106,7 @@ export default {
106
106
  condition: () => this.userInfo?.f_meter_type === '物联网表'
107
107
  },
108
108
  { key: '13', label: '流量计参数查看', permission: '流量计参数查看', component: 'MeterParamRecordQuery' },
109
- { key: '14', label: '异常报警', permission: '异常报警', component: 'MeterParamRecordQuery' },
109
+ { key: '14', label: '异常报警', permission: '异常报警', component: 'UserException' },
110
110
  { key: '15', label: '价格调整', permission: '价格调整', component: 'PriceAdjustments' },
111
111
  { key: '16', label: '附件查看', permission: '附件查看', component: 'uploadFilesHistory' },
112
112
  ],
@@ -1,124 +1,119 @@
1
- const { homePage } = require('../../config')
2
- // 视图组件
3
- const view = {
4
- tabs: () => import('@vue2-client/layouts/tabs'),
5
- blank: () => import('@vue2-client/layouts/BlankView'),
6
- page: () => import('@vue2-client/layouts/PageView'),
7
- // his-web$ceshiGrid?type=GridView&configName=RxPreparedMed
8
- gridView: () => import('@vue2-client/layouts/GridView'),
9
- login: () => import('@vue2-client/pages/login/Login'),
10
- loginv3: () => import('@vue2-client/pages/login/LoginV3')
11
- }
12
- // 动态路由对象定义
13
- const routerResource = {}
14
- // --------------------------------------基本视图组件--------------------------------------
15
- // 空白视图
16
- routerResource.blank = view.blank
17
- // 单页面视图
18
- routerResource.singlePage = view.blank
19
- // 栅格配置视图
20
- routerResource.gridView = view.gridView
21
-
22
- // --------------------------------------仪表盘--------------------------------------
23
- routerResource.dashboard = view.blank
24
- // 工作台
25
- routerResource.workplace = () =>
26
- import('@vue2-client/pages/dashboard/workplace')
27
- // --------------------------------------系统配置--------------------------------------
28
- routerResource.system = view.blank
29
- // 字典管理
30
- routerResource.dictionaryManage = () => import('@vue2-client/pages/system/dictionary')
31
- // 文件管理
32
- routerResource.fileManager = () => import('@vue2-client/pages/system/file')
33
- // 登录日志
34
- routerResource.loginInfor = () => import('@vue2-client/pages/system/monitor/loginInfor')
35
- // 操作日志
36
- routerResource.operLog = () => import('@vue2-client/pages/system/monitor/operLog')
37
- // 系统问题反馈工单
38
- routerResource.submitTicket = () => import('@vue2-client/pages/system/ticket')
39
- // 通用服务评价
40
- routerResource.ServiceReview = () => import('@vue2-client/pages/ServiceReview')
41
- // 系统设置
42
- routerResource.settings = () => import('@vue2-client/pages/system/settings')
43
- // AMIS示例页面
44
- routerResource.amisDemo = () => import('@vue2-client/pages/AMisDemo/AMisDemo')
45
- // 页面编辑器
46
- routerResource.editablePage = () => import('@vue2-client/pages/lowCode/lowCodeEditor.vue')
47
- // 数据检索
48
- routerResource.dynamicStatistics = () => import('@vue2-client/pages/DynamicStatistics')
49
- // 数据检索(新)
50
- routerResource.newDynamicStatistics = () => import('@vue2-client/pages/NewDynamicStatistics')
51
- // 示例页面
52
- routerResource.example = {
53
- path: 'example',
54
- name: '示例主页面',
55
- // component: () => import('@vue2-client/base-client/components/his/XTimeSelect/XTimeSelect.vue'),
56
- // component: () => import('@vue2-client/base-client/components/his/XRadio/XRadio.vue'),
57
- // component: () => import('@vue2-client/base-client/components/his/XList/XList.vue'),
58
- component: () => import('@vue2-client/base-client/components/common/XCollapse/XCollapse.vue'),
59
- // component: () => import('@vue2-client/base-client/components/common/XDataCard/XDataCard.vue'),
60
- // component: () => import('@vue2-client/base-client/components/common/XDescriptions/demo.vue'),
61
- // component: () => import('@vue2-client/base-client/components/common/XAddNativeForm/demo.vue'),
62
- // component: () => import('@vue2-client/base-client/components/common/XFormGroup/demo.vue'),
63
- // component: () => import('@vue2-client/base-client/components/common/XReport/XReportDemo.vue'),
64
- // component: () => import('@vue2-client/base-client/components/common/XFormTable/demo.vue'),
65
- // component: () => import('@vue2-client/base-client/components/common/XDatePicker/demo.vue'),
66
- // component: () => import('@vue2-client/base-client/components/common/XTab/XTabDemo.vue'),
67
- // component: () => import('@vue2-client/base-client/components/common/XRate/demo.vue'),
68
- // component: () => import('@vue2-client/base-client/components/common/XForm/demo.vue'),
69
- // component: () => import('@vue2-client/pages/WorkflowDetail/WorkFlowDemo.vue'),
70
- // component: () => import('@vue2-client/base-client/components/common/XConversation/XConversationDemo.vue'),
71
- // component: () => import('@vue2-client/base-client/components/common/XButtons/XButtonDemo.vue'),
72
- // component: () => import('@vue2-client/base-client/components/common/XLabelSelect/XLabelSelectDemo.vue'),
73
- // component: () => import('@vue2-client/base-client/components/common/XCheckList/XCheckList.vue'),
74
- // component: () => import('@vue2-client/base-client/components/common/XPrint/Demo.vue'),
75
- // component: () => import('@vue2-client/base-client/components/AI/demo.vue'),
76
- // component: () => import('@vue2-client/components/g2Charts/demo.vue'),
77
- // component: () => import('@vue2-client/pages/LogicCallExample/index.vue'),
78
- // component: () => import('@vue2-client/components/FilePreview/FilePreviewDemo.vue'),
79
- // component: () => import('@vue2-client/pages/ReportGrid/index.vue')
80
- }
81
- // routerResource.example = () =>
82
- // import('@vue2-client/pages/Example')
83
- routerResource.XReportView = () => import('@vue2-client/pages/XReportView')
84
-
85
- routerResource.XReportGrid = () => import('@vue2-client/base-client/components/common/XReportGrid/XReportDemo')
86
-
87
- routerResource.XTab = () => import('@vue2-client/base-client/components/common/XTab/XTabDemo')
88
-
89
- // 基础路由组件注册
90
- const routerMap = {
91
- login: {
92
- authority: '*',
93
- path: '/login',
94
- component: process.env.VUE_APP_LOGIN_VERSION === 'V3'
95
- ? view.loginv3 : view.login
96
- },
97
- root: {
98
- path: '/',
99
- name: '首页',
100
- redirect: homePage,
101
- component: process.env.VUE_APP_SINGLE_PAPER === 'TRUE' ? view.blank : view.tabs,
102
- },
103
- exp403: {
104
- authority: '*',
105
- name: 'exp403',
106
- path: '403',
107
- component: () =>
108
- import('@vue2-client/pages/exception/403')
109
- },
110
- exp404: {
111
- name: 'exp404',
112
- path: '404',
113
- component: () =>
114
- import('@vue2-client/pages/exception/404')
115
- },
116
- exp500: {
117
- name: 'exp500',
118
- path: '500',
119
- component: () =>
120
- import('@vue2-client/pages/exception/500')
121
- }
122
- }
123
- Object.assign(routerMap, routerResource)
124
- export default routerMap
1
+ const { homePage } = require('../../config')
2
+ // 视图组件
3
+ const view = {
4
+ tabs: () => import('@vue2-client/layouts/tabs'),
5
+ blank: () => import('@vue2-client/layouts/BlankView'),
6
+ page: () => import('@vue2-client/layouts/PageView'),
7
+ // his-web$ceshiGrid?type=GridView&configName=RxPreparedMed
8
+ gridView: () => import('@vue2-client/layouts/GridView'),
9
+ login: () => import('@vue2-client/pages/login/Login'),
10
+ loginv3: () => import('@vue2-client/pages/login/LoginV3')
11
+ }
12
+ // 动态路由对象定义
13
+ const routerResource = {}
14
+ // --------------------------------------基本视图组件--------------------------------------
15
+ // 空白视图
16
+ routerResource.blank = view.blank
17
+ // 单页面视图
18
+ routerResource.singlePage = view.blank
19
+ // 栅格配置视图
20
+ routerResource.gridView = view.gridView
21
+
22
+ // --------------------------------------仪表盘--------------------------------------
23
+ routerResource.dashboard = view.blank
24
+ // 工作台
25
+ routerResource.workplace = () =>
26
+ import('@vue2-client/pages/dashboard/workplace')
27
+ // --------------------------------------系统配置--------------------------------------
28
+ routerResource.system = view.blank
29
+ // 字典管理
30
+ routerResource.dictionaryManage = () => import('@vue2-client/pages/system/dictionary')
31
+ // 文件管理
32
+ routerResource.fileManager = () => import('@vue2-client/pages/system/file')
33
+ // 登录日志
34
+ routerResource.loginInfor = () => import('@vue2-client/pages/system/monitor/loginInfor')
35
+ // 操作日志
36
+ routerResource.operLog = () => import('@vue2-client/pages/system/monitor/operLog')
37
+ // 系统问题反馈工单
38
+ routerResource.submitTicket = () => import('@vue2-client/pages/system/ticket')
39
+ // 通用服务评价
40
+ routerResource.ServiceReview = () => import('@vue2-client/pages/ServiceReview')
41
+ // 系统设置
42
+ routerResource.settings = () => import('@vue2-client/pages/system/settings')
43
+ // AMIS示例页面
44
+ routerResource.amisDemo = () => import('@vue2-client/pages/AMisDemo/AMisDemo')
45
+ // 页面编辑器
46
+ routerResource.editablePage = () => import('@vue2-client/pages/lowCode/lowCodeEditor.vue')
47
+ // 数据检索
48
+ routerResource.dynamicStatistics = () => import('@vue2-client/pages/DynamicStatistics')
49
+ // 数据检索(新)
50
+ routerResource.newDynamicStatistics = () => import('@vue2-client/pages/NewDynamicStatistics')
51
+ // 示例页面
52
+ routerResource.example = {
53
+ path: 'example',
54
+ name: '示例主页面',
55
+ // component: () => import('@vue2-client/base-client/components/common/XDescriptions/demo.vue'),
56
+ // component: () => import('@vue2-client/base-client/components/common/XAddNativeForm/demo.vue'),
57
+ // component: () => import('@vue2-client/base-client/components/common/XFormGroup/demo.vue'),
58
+ // component: () => import('@vue2-client/base-client/components/common/XReport/XReportDemo.vue'),
59
+ component: () => import('@vue2-client/base-client/components/common/XFormTable/demo.vue'),
60
+ // component: () => import('@vue2-client/base-client/components/common/XDatePicker/demo.vue'),
61
+ // component: () => import('@vue2-client/base-client/components/common/XTab/XTabDemo.vue'),
62
+ // component: () => import('@vue2-client/base-client/components/common/XRate/demo.vue'),
63
+ // component: () => import('@vue2-client/base-client/components/common/XForm/demo.vue'),
64
+ // component: () => import('@vue2-client/pages/WorkflowDetail/WorkFlowDemo.vue'),
65
+ // component: () => import('@vue2-client/base-client/components/common/XConversation/XConversationDemo.vue'),
66
+ // component: () => import('@vue2-client/base-client/components/common/XButtons/XButtonDemo.vue'),
67
+ // component: () => import('@vue2-client/base-client/components/common/XLabelSelect/XLabelSelectDemo.vue'),
68
+ // component: () => import('@vue2-client/base-client/components/common/XCheckList/XCheckList.vue'),
69
+ // component: () => import('@vue2-client/base-client/components/common/XPrint/Demo.vue'),
70
+ // component: () => import('@vue2-client/base-client/components/AI/demo.vue'),
71
+ // component: () => import('@vue2-client/components/g2Charts/demo.vue'),
72
+ // component: () => import('@vue2-client/pages/LogicCallExample/index.vue'),
73
+ // component: () => import('@vue2-client/components/FilePreview/FilePreviewDemo.vue'),
74
+ // component: () => import('@vue2-client/pages/ReportGrid/index.vue'),
75
+ }
76
+ // routerResource.example = () =>
77
+ // import('@vue2-client/pages/Example')
78
+ routerResource.XReportView = () => import('@vue2-client/pages/XReportView')
79
+
80
+ routerResource.XReportGrid = () => import('@vue2-client/base-client/components/common/XReportGrid/XReportDemo')
81
+
82
+ routerResource.XTab = () => import('@vue2-client/base-client/components/common/XTab/XTabDemo')
83
+
84
+ // 基础路由组件注册
85
+ const routerMap = {
86
+ login: {
87
+ authority: '*',
88
+ path: '/login',
89
+ component: process.env.VUE_APP_LOGIN_VERSION === 'V3'
90
+ ? view.loginv3 : view.login
91
+ },
92
+ root: {
93
+ path: '/',
94
+ name: '首页',
95
+ redirect: homePage,
96
+ component: process.env.VUE_APP_SINGLE_PAPER === 'TRUE' ? view.blank : view.tabs,
97
+ },
98
+ exp403: {
99
+ authority: '*',
100
+ name: 'exp403',
101
+ path: '403',
102
+ component: () =>
103
+ import('@vue2-client/pages/exception/403')
104
+ },
105
+ exp404: {
106
+ name: 'exp404',
107
+ path: '404',
108
+ component: () =>
109
+ import('@vue2-client/pages/exception/404')
110
+ },
111
+ exp500: {
112
+ name: 'exp500',
113
+ path: '500',
114
+ component: () =>
115
+ import('@vue2-client/pages/exception/500')
116
+ }
117
+ }
118
+ Object.assign(routerMap, routerResource)
119
+ export default routerMap
@@ -1,15 +0,0 @@
1
- <template>
2
- <x-collapse :query-params-name="openPrescriptionConfig" />
3
- </template>
4
-
5
- <script>
6
- import XCollapse from '@vue2-client/base-client/components/common/XCollapse/XCollapse.vue'
7
- export default {
8
- name: 'Demo',
9
- components: { XCollapse }
10
- }
11
- </script>
12
-
13
- <style scoped>
14
-
15
- </style>