vue2-client 1.12.60 → 1.12.62

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.
package/package.json CHANGED
@@ -1,108 +1,108 @@
1
- {
2
- "name": "vue2-client",
3
- "version": "1.12.60",
4
- "private": false,
5
- "scripts": {
6
- "serve": "SET NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service serve --no-eslint",
7
- "serve:gaslink": "SET NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service serve --no-eslint --mode gaslink",
8
- "serve:revenue": "SET NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service serve --no-eslint --mode revenue",
9
- "serve:liuli": "SET NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service serve --no-eslint --mode liuli",
10
- "serve:scada": "SET NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service serve --no-eslint --mode scada",
11
- "serve:iot": "SET NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service serve --no-eslint --mode iot",
12
- "serve:his": "SET NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service serve --no-eslint --mode his",
13
- "mac-serve": "vue-cli-service serve --no-eslint --mode his",
14
- "build": "SET NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service build",
15
- "test:unit": "vue-cli-service test:unit",
16
- "lint": "vue-cli-service lint",
17
- "build:preview": "vue-cli-service build --mode preview",
18
- "lint:nofix": "vue-cli-service lint --no-fix",
19
- "test": "jest"
20
- },
21
- "dependencies": {
22
- "@afwenming123/vue-easy-tree": "^1.0.1",
23
- "@afwenming123/vue-plugin-hiprint": "^0.0.70",
24
- "@amap/amap-jsapi-loader": "^1.0.1",
25
- "@antv/data-set": "^0.11.8",
26
- "@antv/g2plot": "^2.4.31",
27
- "@hufe921/canvas-editor": "^0.9.49",
28
- "@microsoft/fetch-event-source": "^2.0.1",
29
- "@vue/babel-preset-jsx": "^1.4.0",
30
- "animate.css": "^4.1.1",
31
- "ant-design-vue": "^1.7.8",
32
- "axios": "^0.27.2",
33
- "clipboard": "^2.0.11",
34
- "core-js": "^3.33.0",
35
- "crypto-js": "^4.1.1",
36
- "date-fns": "^2.29.3",
37
- "default-passive-events": "^2.0.0",
38
- "dotenv": "^16.3.1",
39
- "echarts": "^5.5.0",
40
- "enquire.js": "^2.1.6",
41
- "file-saver": "^2.0.5",
42
- "highlight.js": "^11.7.0",
43
- "html2canvas": "^1.4.1",
44
- "js-base64": "^3.7.5",
45
- "js-cookie": "^2.2.1",
46
- "jsencrypt": "^3.3.2",
47
- "jspdf": "^2.5.1",
48
- "lodash.clonedeep": "^4.5.0",
49
- "lodash.debounce": "^4",
50
- "lodash.get": "^4.4.2",
51
- "marked": "^4",
52
- "mockjs": "^1.1.0",
53
- "nprogress": "^0.2.0",
54
- "qs": "^6.11.2",
55
- "regenerator-runtime": "^0.14.0",
56
- "videojs-contrib-hls": "^5.15.0",
57
- "viser-vue": "^2.4.8",
58
- "vue": "^2.7.14",
59
- "vue-codemirror": "4.0.6",
60
- "vue-draggable-resizable": "^2",
61
- "vue-i18n": "^8.28.2",
62
- "vue-json-viewer": "^2.2.22",
63
- "vue-router": "^3.6.5",
64
- "vue-video-player": "^5.0.2",
65
- "vue-virtual-scroller": "^1.1.2",
66
- "vuedraggable": "^2.24.3",
67
- "vuex": "^3.6.2",
68
- "xlsx": "0.18.5"
69
- },
70
- "devDependencies": {
71
- "@ant-design/colors": "^7.0.0",
72
- "@babel/core": "^7.22.20",
73
- "@babel/eslint-parser": "^7.22.15",
74
- "@babel/preset-env": "^7.22.20",
75
- "@vue/cli-plugin-babel": "^5.0.8",
76
- "@vue/cli-plugin-eslint": "^5.0.8",
77
- "@vue/cli-service": "^5.0.8",
78
- "@vue/eslint-config-standard": "^8.0.1",
79
- "@vue/test-utils": "^1.3.6",
80
- "@jest/globals": "^29.7.0",
81
- "babel-plugin-transform-remove-console": "^6.9.4",
82
- "compression-webpack-plugin": "^10.0.0",
83
- "css-minimizer-webpack-plugin": "^5.0.1",
84
- "deepmerge": "^4.3.1",
85
- "eslint": "^8.51.0",
86
- "eslint-plugin-vue": "^9.17.0",
87
- "fast-deep-equal": "^3.1.3",
88
- "ignore-loader": "^0.1.2",
89
- "jest": "^29.7.0",
90
- "jest-environment-jsdom": "^29.7.0",
91
- "jest-transform-stub": "^2.0.0",
92
- "less-loader": "^6.2.0",
93
- "script-loader": "^0.7.2",
94
- "style-resources-loader": "^1.5.0",
95
- "vue-cli-plugin-style-resources-loader": "^0.1.5",
96
- "vue-jest": "^4.0.1",
97
- "vue-template-compiler": "^2.7.14",
98
- "webpack": "^5.88.2",
99
- "webpack-theme-color-replacer": "^1.4.7",
100
- "whatwg-fetch": "^3.6.19"
101
- },
102
- "browserslist": [
103
- "> 1%",
104
- "last 2 versions",
105
- "not dead",
106
- "not ie 11"
107
- ]
108
- }
1
+ {
2
+ "name": "vue2-client",
3
+ "version": "1.12.62",
4
+ "private": false,
5
+ "scripts": {
6
+ "serve": "SET NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service serve --no-eslint",
7
+ "serve:gaslink": "SET NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service serve --no-eslint --mode gaslink",
8
+ "serve:revenue": "SET NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service serve --no-eslint --mode revenue",
9
+ "serve:liuli": "SET NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service serve --no-eslint --mode liuli",
10
+ "serve:scada": "SET NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service serve --no-eslint --mode scada",
11
+ "serve:iot": "SET NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service serve --no-eslint --mode iot",
12
+ "serve:his": "SET NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service serve --no-eslint --mode his",
13
+ "mac-serve": "vue-cli-service serve --no-eslint --mode his",
14
+ "build": "SET NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service build",
15
+ "test:unit": "vue-cli-service test:unit",
16
+ "lint": "vue-cli-service lint",
17
+ "build:preview": "vue-cli-service build --mode preview",
18
+ "lint:nofix": "vue-cli-service lint --no-fix",
19
+ "test": "jest"
20
+ },
21
+ "dependencies": {
22
+ "@afwenming123/vue-easy-tree": "^1.0.1",
23
+ "@afwenming123/vue-plugin-hiprint": "^0.0.70",
24
+ "@amap/amap-jsapi-loader": "^1.0.1",
25
+ "@antv/data-set": "^0.11.8",
26
+ "@antv/g2plot": "^2.4.31",
27
+ "@hufe921/canvas-editor": "^0.9.49",
28
+ "@microsoft/fetch-event-source": "^2.0.1",
29
+ "@vue/babel-preset-jsx": "^1.4.0",
30
+ "animate.css": "^4.1.1",
31
+ "ant-design-vue": "^1.7.8",
32
+ "axios": "^0.27.2",
33
+ "clipboard": "^2.0.11",
34
+ "core-js": "^3.33.0",
35
+ "crypto-js": "^4.1.1",
36
+ "date-fns": "^2.29.3",
37
+ "default-passive-events": "^2.0.0",
38
+ "dotenv": "^16.3.1",
39
+ "echarts": "^5.5.0",
40
+ "enquire.js": "^2.1.6",
41
+ "file-saver": "^2.0.5",
42
+ "highlight.js": "^11.7.0",
43
+ "html2canvas": "^1.4.1",
44
+ "js-base64": "^3.7.5",
45
+ "js-cookie": "^2.2.1",
46
+ "jsencrypt": "^3.3.2",
47
+ "jspdf": "^2.5.1",
48
+ "lodash.clonedeep": "^4.5.0",
49
+ "lodash.debounce": "^4",
50
+ "lodash.get": "^4.4.2",
51
+ "marked": "^4",
52
+ "mockjs": "^1.1.0",
53
+ "nprogress": "^0.2.0",
54
+ "qs": "^6.11.2",
55
+ "regenerator-runtime": "^0.14.0",
56
+ "videojs-contrib-hls": "^5.15.0",
57
+ "viser-vue": "^2.4.8",
58
+ "vue": "^2.7.14",
59
+ "vue-codemirror": "4.0.6",
60
+ "vue-draggable-resizable": "^2",
61
+ "vue-i18n": "^8.28.2",
62
+ "vue-json-viewer": "^2.2.22",
63
+ "vue-router": "^3.6.5",
64
+ "vue-video-player": "^5.0.2",
65
+ "vue-virtual-scroller": "^1.1.2",
66
+ "vuedraggable": "^2.24.3",
67
+ "vuex": "^3.6.2",
68
+ "xlsx": "0.18.5"
69
+ },
70
+ "devDependencies": {
71
+ "@ant-design/colors": "^7.0.0",
72
+ "@babel/core": "^7.22.20",
73
+ "@babel/eslint-parser": "^7.22.15",
74
+ "@babel/preset-env": "^7.22.20",
75
+ "@vue/cli-plugin-babel": "^5.0.8",
76
+ "@vue/cli-plugin-eslint": "^5.0.8",
77
+ "@vue/cli-service": "^5.0.8",
78
+ "@vue/eslint-config-standard": "^8.0.1",
79
+ "@vue/test-utils": "^1.3.6",
80
+ "@jest/globals": "^29.7.0",
81
+ "babel-plugin-transform-remove-console": "^6.9.4",
82
+ "compression-webpack-plugin": "^10.0.0",
83
+ "css-minimizer-webpack-plugin": "^5.0.1",
84
+ "deepmerge": "^4.3.1",
85
+ "eslint": "^8.51.0",
86
+ "eslint-plugin-vue": "^9.17.0",
87
+ "fast-deep-equal": "^3.1.3",
88
+ "ignore-loader": "^0.1.2",
89
+ "jest": "^29.7.0",
90
+ "jest-environment-jsdom": "^29.7.0",
91
+ "jest-transform-stub": "^2.0.0",
92
+ "less-loader": "^6.2.0",
93
+ "script-loader": "^0.7.2",
94
+ "style-resources-loader": "^1.5.0",
95
+ "vue-cli-plugin-style-resources-loader": "^0.1.5",
96
+ "vue-jest": "^4.0.1",
97
+ "vue-template-compiler": "^2.7.14",
98
+ "webpack": "^5.88.2",
99
+ "webpack-theme-color-replacer": "^1.4.7",
100
+ "whatwg-fetch": "^3.6.19"
101
+ },
102
+ "browserslist": [
103
+ "> 1%",
104
+ "last 2 versions",
105
+ "not dead",
106
+ "not ie 11"
107
+ ]
108
+ }
@@ -1,175 +1,206 @@
1
- <template>
2
- <div>
3
- <a-collapse
4
- :activeKey="activeKey"
5
- @change="handleChange"
6
- >
7
- <a-collapse-panel
8
- v-for="(panel, panelIndex) in config.showData"
9
- :key="panelIndex.toString()"
10
- :show-arrow="false"
11
- >
12
- <template #header>
13
- <div class="header-content">
14
- <span
15
- class="header-text"
16
- :style="config.titleStyle"
17
- >
18
- {{ panel.title }}
19
- </span>
20
- <span
21
- v-for="(item, headerIndex) in panel.title2 || []"
22
- :key="headerIndex"
23
- class="info-item"
24
- :style="config.title2Style"
25
- >
26
- <span>{{ item.key }}:</span>
27
- <span>{{ item.value }}</span>
28
- </span>
29
- <span
30
- class="time-item"
31
- :style="config.title3Style"
32
- >
33
- {{ panel.title3 }}
34
- </span>
35
- </div>
36
- </template>
37
- <!-- 根据类型显示不同内容 -->
38
- <template v-if="panel.type === 'picture'">
39
- <img :src="panel.configName" alt="图片" style="width: 100%; max-width: 500px;"/>
40
- </template>
41
- <template v-else-if="panel.type === 'cover'">
42
- <x-report
43
- :use-oss-for-img="false"
44
- :config-name="panel.configName"
45
- server-name="af-his"
46
- :show-img-in-cell="true"
47
- :display-only="true"
48
- :edit-mode="false"
49
- :show-save-button="false"
50
- :no-padding="true"
51
- :dont-format="true">
52
- </x-report>
53
- </template>
54
- <template v-else-if="panel.type === 'xlist'">
55
- <x-list :list-data="listData" />
56
- </template>
57
- </a-collapse-panel>
58
- </a-collapse>
59
- </div>
60
- </template>
61
-
62
- <script>
63
- import XList from '@vue2-client/base-client/components/his/XList/XList.vue'
64
- import XReport from '@vue2-client/base-client/components/common/XReportGrid'
65
- import { getConfigByName, runLogic } from '@vue2-client/services/api/common'
66
-
67
- export default {
68
- name: 'XCollapse',
69
- components: {
70
- XReport,
71
- XList
72
- },
73
- inject: ['getConfigByName'],
74
- data () {
75
- return {
76
- activeKey: [],
77
- config: {},
78
- configName: '',
79
- listData: []
80
- }
81
- },
82
- props: {
83
- // json名
84
- queryParamsName: {
85
- type: Object,
86
- default: 'openPrescriptionConfig'
87
- },
88
- },
89
- created () {
90
- this.getData(this.queryParamsName)
91
- window.addEventListener('storage', this.handleStorageChange)
92
- },
93
- beforeDestroy () {
94
- window.removeEventListener('storage', this.handleStorageChange)
95
- },
96
- methods: {
97
- handleStorageChange (event) {
98
- if (event.key === 'watchStorage') {
99
- // 处理 watchStorage 键的变化
100
- console.log('watchStorage changed to:', event.newValue)
101
- // 更新组件状态或其他操作
102
- this.getData(this.configName, event.newValue)
103
- this.$forceUpdate()
104
- }
105
- },
106
- async getData (config, parameter) {
107
- this.configName = config
108
- getConfigByName(config, 'af-his', res => {
109
- this.config = res
110
- runLogic(res.mainLogic, { data: parameter }, 'af-his').then(result => {
111
- console.log(result)
112
- this.config.showData = result
113
- this.activeKey = this.config.showData.map((_, panelIndex) => panelIndex.toString())
114
- this.listData = result.listData
115
- })
116
- })
117
- },
118
- handleChange (keys) {
119
- this.activeKey = keys
120
- },
121
- },
122
- watch: {
123
- queryParamsName: {
124
- handler (newValue) {
125
- this.getData(newValue, null)
126
- },
127
- deep: true
128
- }
129
- }
130
- }
131
- </script>
132
-
133
- <style scoped>
134
- .header-content {
135
- display: flex;
136
- align-items: center;
137
- gap: 24px;
138
- }
139
-
140
- .header-text {
141
- margin-right: 16px;
142
- font-size: 16px;
143
- font-weight: 800; /* 默认加粗 */
144
- }
145
-
146
- .info-item {
147
- display: inline-flex;
148
- align-items: center;
149
- gap: 4px;
150
- font-size: 12px;
151
- color: #888888;
152
- }
153
-
154
- .time-item {
155
- margin-left: auto;
156
- text-align: right;
157
- }
158
-
159
- /* 覆盖 ant-design-vue 的默认样式 */
160
- :deep(.ant-collapse-header) {
161
- align-items: center !important;
162
- }
163
-
164
- :deep(.ant-collapse-header-text) {
165
- flex: 1;
166
- }
167
-
168
- :deep(.ant-collapse-content > .ant-collapse-content-box) {
169
- padding: 0;
170
- }
171
-
172
- :deep(.ant-card-body) {
173
- padding: 8px;
174
- }
175
- </style>
1
+ <template>
2
+ <div>
3
+ <a-collapse
4
+ :activeKey="activeKey"
5
+ @change="handleChange"
6
+ >
7
+ <a-collapse-panel
8
+ v-for="(panel, panelIndex) in config.showData"
9
+ :key="panelIndex.toString()"
10
+ :show-arrow="false"
11
+ >
12
+ <template #header>
13
+ <div class="header-content">
14
+ <span
15
+ class="header-text"
16
+ :style="config.titleStyle"
17
+ >
18
+ {{ panel.title }}
19
+ </span>
20
+ <!-- 当有 title2 数据时显示信息项 -->
21
+ <template v-if="panel.title2 && panel.title2.length">
22
+ <span
23
+ v-for="(item, headerIndex) in panel.title2"
24
+ :key="headerIndex"
25
+ class="info-item"
26
+ :style="config.title2Style"
27
+ >
28
+ <span>{{ item.key }}:</span>
29
+ <span>{{ item.value }}</span>
30
+ </span>
31
+ </template>
32
+ <!-- 当有 title3 数据时显示时间项 -->
33
+ <span
34
+ v-if="panel.title3"
35
+ class="time-item"
36
+ :style="config.title3Style"
37
+ >
38
+ {{ panel.title3 }}
39
+ </span>
40
+ <!-- 修改搜索框的显示条件 -->
41
+ <a-input-search
42
+ v-if="panel.search"
43
+ v-model="searchText[panelIndex]"
44
+ placeholder="请输入搜索内容"
45
+ class="search-input"
46
+ @search="(value) => onSearch(value, panelIndex)"
47
+ @click.stop
48
+ />
49
+ </div>
50
+ </template>
51
+ <!-- 根据类型显示不同内容 -->
52
+ <template v-if="panel.type === 'picture'">
53
+ <img :src="panel.configName" alt="图片" style="width: 100%; max-width: 500px;"/>
54
+ </template>
55
+ <template v-else-if="panel.type === 'cover'">
56
+ <x-report
57
+ :use-oss-for-img="false"
58
+ :config-name="panel.configName"
59
+ server-name="af-his"
60
+ :show-img-in-cell="true"
61
+ :display-only="true"
62
+ :edit-mode="false"
63
+ :show-save-button="false"
64
+ :no-padding="true"
65
+ :dont-format="true">
66
+ </x-report>
67
+ </template>
68
+ </a-collapse-panel>
69
+ </a-collapse>
70
+ </div>
71
+ </template>
72
+
73
+ <script>
74
+ import XReport from '@vue2-client/base-client/components/common/XReportGrid'
75
+ import { getConfigByName, runLogic } from '@vue2-client/services/api/common'
76
+
77
+ export default {
78
+ name: 'XCollapse',
79
+ components: {
80
+ XReport
81
+ },
82
+ inject: ['getConfigByName'],
83
+ data () {
84
+ return {
85
+ activeKey: [],
86
+ config: {},
87
+ configName: '',
88
+ searchText: {}
89
+ }
90
+ },
91
+ props: {
92
+ // json名
93
+ queryParamsName: {
94
+ type: Object,
95
+ default: 'openPrescriptionConfig'
96
+ },
97
+ parameter: {
98
+ type: Object,
99
+ }
100
+ },
101
+ created () {
102
+ this.searchTexts = {} // 初始化对象
103
+
104
+ this.getData(this.queryParamsName)
105
+ window.addEventListener('setItem', (e) => {
106
+ console.log('监听到sessionStorage的变化:', e)
107
+ if (e.key === 'klcf_id') {
108
+ this.newVal = sessionStorage.getItem('klcf_id')
109
+ // 进行业务处理
110
+ console.log('sessionStorage中的值发生了变化:', this.newVal)
111
+ }
112
+ })
113
+ },
114
+ beforeDestroy () {
115
+ window.removeEventListener('setItem', this.handleStorageChange)
116
+ },
117
+ methods: {
118
+ handleStorageChange (e) {
119
+ console.log('监听到sessionStorage的变化:', e)
120
+ if (e.key === 'klcf_id') {
121
+ this.newVal = sessionStorage.getItem('klcf_id')
122
+ // 进行业务处理
123
+ console.log('sessionStorage中的值发生了变化:', this.newVal)
124
+ }
125
+ },
126
+ async getData (config, parameter) {
127
+ this.configName = config
128
+ getConfigByName(config, 'af-his', res => {
129
+ this.config = res
130
+ console.warn(this.config)
131
+ runLogic(res.mainLogic, this.parameter, 'af-his').then(result => {
132
+ this.config.showData = result
133
+ this.activeKey = this.config.showData.map((_, panelIndex) => panelIndex.toString())
134
+ })
135
+ })
136
+ },
137
+ handleChange (keys) {
138
+ this.activeKey = keys
139
+ },
140
+ onSearch (value, panelIndex) {
141
+ console.log('搜索内容:', value, '面板索引:', panelIndex)
142
+ },
143
+ },
144
+ watch: {
145
+ queryParamsName: {
146
+ handler (newValue) {
147
+ this.getData(newValue, null)
148
+ },
149
+ deep: true
150
+ }
151
+ }
152
+ }
153
+ </script>
154
+
155
+ <style scoped>
156
+ .header-content {
157
+ display: flex;
158
+ align-items: center;
159
+ gap: 24px;
160
+ white-space: nowrap;
161
+ overflow: hidden;
162
+ }
163
+
164
+ .header-text {
165
+ margin-right: 16px;
166
+ font-size: 16px;
167
+ font-weight: 800;
168
+ flex-shrink: 0;
169
+ }
170
+
171
+ .info-item {
172
+ display: inline-flex;
173
+ align-items: center;
174
+ gap: 4px;
175
+ font-size: 12px;
176
+ color: #888888;
177
+ flex-shrink: 0;
178
+ }
179
+
180
+ .time-item {
181
+ margin-left: auto;
182
+ text-align: right;
183
+ flex-shrink: 0;
184
+ }
185
+
186
+ /* 覆盖 ant-design-vue 的默认样式 */
187
+ :deep(.ant-collapse-header) {
188
+ align-items: center !important;
189
+ }
190
+
191
+ :deep(.ant-collapse-header-text) {
192
+ flex: 1;
193
+ }
194
+
195
+ :deep(.ant-collapse-content > .ant-collapse-content-box) {
196
+ padding: 0;
197
+ }
198
+
199
+ :deep(.ant-card-body) {
200
+ padding: 8px;
201
+ }
202
+ .search-input {
203
+ margin-left: auto;
204
+ width: 100%;
205
+ }
206
+ </style>
@@ -0,0 +1,15 @@
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>