manage-client-xy 3.2.0 → 3.2.2

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/.cursorrules ADDED
@@ -0,0 +1,80 @@
1
+ {
2
+ "rules": {
3
+ "javascript": {
4
+ "formatter": "prettier",
5
+ "formatOnSave": true,
6
+ "defaultFormatter": "prettier",
7
+ "validate": true,
8
+ "lintOnSave": true,
9
+ "lintCommand": "eslint --fix"
10
+ },
11
+ "vue": {
12
+ "formatter": "prettier",
13
+ "formatOnSave": true,
14
+ "defaultFormatter": "prettier",
15
+ "validate": true
16
+ },
17
+ "less": {
18
+ "formatter": "prettier",
19
+ "formatOnSave": true
20
+ },
21
+ "html": {
22
+ "formatter": "prettier",
23
+ "formatOnSave": true
24
+ },
25
+ "files": {
26
+ "exclude": {
27
+ "**/node_modules": true,
28
+ "**/dist": true,
29
+ "**/build": true,
30
+ "**/.git": true,
31
+ "**/coverage": true,
32
+ "**/lib": true,
33
+ "**/*.min.js": true,
34
+ "**/*.map": true,
35
+ "**/yarn-error.log": true,
36
+ "**/hs_err_pid*.log": true
37
+ }
38
+ },
39
+ "search": {
40
+ "exclude": {
41
+ "**/node_modules": true,
42
+ "**/dist": true,
43
+ "**/build": true,
44
+ "**/.git": true,
45
+ "**/coverage": true,
46
+ "**/lib": true,
47
+ "**/*.min.js": true,
48
+ "**/*.map": true
49
+ }
50
+ },
51
+ "editor": {
52
+ "tabSize": 2,
53
+ "insertSpaces": true,
54
+ "trimTrailingWhitespace": true,
55
+ "insertFinalNewline": true,
56
+ "rulers": [100],
57
+ "wordWrap": "off"
58
+ },
59
+ "terminal": {
60
+ "defaultProfile": "PowerShell",
61
+ "integrated": {
62
+ "shell": {
63
+ "windows": "C:\\WINDOWS\\System32\\WindowsPowerShell\\v1.0\\powershell.exe"
64
+ }
65
+ }
66
+ },
67
+ "git": {
68
+ "enabled": true,
69
+ "autofetch": true
70
+ },
71
+ "path-intellisense": {
72
+ "autoTriggerNextSuggestion": true,
73
+ "exclude": {
74
+ "**/node_modules": true,
75
+ "**/dist": true,
76
+ "**/build": true
77
+ }
78
+ }
79
+ }
80
+ }
@@ -11,28 +11,22 @@ var compiler = webpack(config)
11
11
  // Define HTTP proxies to your custom API backend
12
12
  // https://github.com/chimurai/http-proxy-middleware
13
13
  // var bendi = 'http://127.0.0.1:8089/manage', fuwu = 'http://36.103.224.217:6300/'
14
- var bendi = 'http://127.0.0.1:9019/'
15
- ,fuwu ='http://172.16.16.163:8300/'
14
+ var bendi = 'http://192.168.13.135:8300/'
15
+ , fuwu = 'http://192.168.13.135:8300/'
16
16
  // ,fuwu = 'http://172.16.16.163:8300/'
17
17
  var proxyTable = {
18
-
19
- // '/rs/logic/exportfile': {
20
- // target: 'http://127.0.0.1:9014/'
21
- // },
22
- '/rs/sql/cancelAccountQuery': {
23
- target: 'http://127.0.0.1:9019/'
24
- },
25
- '/rs/sql/cancelAccountQuery/': {
26
- target: 'http://127.0.0.1:9019/'
18
+ '/resource': {
19
+ target: 'http://192.168.13.135:31577/'
27
20
  },
28
- '/rs/sql/GMHgasQuery/': {
21
+
22
+ '/rs/logic/exportfile': {
29
23
  target: bendi
30
24
  },
31
25
  '/files': {
32
26
  target: fuwu
33
27
  },
34
28
  '/rs/sql': {
35
- target: fuwu
29
+ target: bendi
36
30
  },
37
31
  // 查找资源服务数据
38
32
  '/rs/search': {
@@ -46,7 +40,7 @@ var proxyTable = {
46
40
  '/rs/logic/getInitData': {
47
41
  target: fuwu
48
42
  },
49
- '/rs/logic/getSaleInitData':{
43
+ '/rs/logic/getSaleInitData': {
50
44
  target: fuwu
51
45
  },
52
46
  // 用户登录服务地址
@@ -75,7 +69,7 @@ var proxyTable = {
75
69
  target: fuwu
76
70
  },
77
71
  '/rs/report': {
78
- target: fuwu
72
+ target: bendi
79
73
  },
80
74
  '/rs/vue': {
81
75
  target: fuwu
@@ -83,11 +77,11 @@ var proxyTable = {
83
77
  '/rs/file': {
84
78
  target: fuwu
85
79
  },
86
- '/rs/logic/SumSettleFileImport':{
80
+ '/rs/logic/SumSettleFileImport': {
87
81
  target: 'http://127.0.0.1:8087'
88
82
  },
89
83
  '/rs': {
90
- target: fuwu
84
+ target: fuwu
91
85
  }
92
86
  }
93
87
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "manage-client-xy",
3
- "version": "3.2.00",
3
+ "version": "3.2.2",
4
4
  "description": "经营管控模块前台组件",
5
5
  "main": "src/index.js",
6
6
  "directories": {
@@ -0,0 +1,254 @@
1
+ <template>
2
+ <div>
3
+ <modal :show.sync="show" v-ref:modal backdrop="false">
4
+ <header slot="modal-header" class="modal-header">
5
+ <h4 class="modal-title">附件查看</h4>
6
+ </header>
7
+ <article slot="modal-body" class="modal-body">
8
+ <div v-if="loading" class="loading-container">
9
+ <div class="loading-spinner"></div>
10
+ <p>加载中...</p>
11
+ </div>
12
+ <div v-if="!loading && error" class="error-container">
13
+ <p>{{ error }}</p>
14
+ </div>
15
+ <div v-if="!loading && !error && (!attachments || attachments.length === 0)" class="no-data-container">
16
+ <p>暂无附件</p>
17
+ </div>
18
+ <div v-if="!loading && !error && attachments && attachments.length > 0" class="attachments-list">
19
+ <div class="showList col-sm-12" style="padding: 10px;margin-top: 10px">
20
+ <div class="col-sm-6" style="padding:10px 10px 0px 10px;height: auto;box-sizing: border-box"
21
+ v-for="attachment in attachments" track-by="id">
22
+ <div class="showData">
23
+ <div class="left">
24
+ <img v-if="isImageFile(attachment)" :src="attachment.f_downloadpath || '#'" />
25
+ <div v-else class="file-icon">
26
+ <i class="glyphicon" :class="getFileIconClass(attachment)"></i>
27
+ </div>
28
+ </div>
29
+ <div class="right">
30
+ <ul class="buttonList top">
31
+ <li v-if="['jpg','jpeg','png','gif','bmp'].includes(attachment.f_filetype.toLowerCase())">
32
+ <a target="_blank" :href="attachment.f_downloadpath">预览</a>
33
+ </li>
34
+ <li>
35
+ <a href="javascript:void(0)" @click="downloadAttachment(attachment)">下载</a>
36
+ </li>
37
+ </ul>
38
+ </div>
39
+ </div>
40
+ </div>
41
+ </div>
42
+ </div>
43
+ </article>
44
+ <footer slot="modal-footer" class="modal-footer">
45
+ <button class="button_clear button_spacing" @click="close">关闭</button>
46
+ </footer>
47
+ </modal>
48
+ </div>
49
+ </template>
50
+
51
+ <script>
52
+ import { HttpResetClass } from 'vue-client'
53
+
54
+ export default {
55
+ props: {
56
+ businessId: {
57
+ type: [String, Number],
58
+ required: true
59
+ },
60
+ tableName: {
61
+ type: String,
62
+ required: true
63
+ }
64
+ },
65
+ data() {
66
+ return {
67
+ show: true,
68
+ loading: true,
69
+ error: null,
70
+ attachments: []
71
+ }
72
+ },
73
+ created() {
74
+ this.fetchAttachments()
75
+ },
76
+ methods: {
77
+ fetchAttachments() {
78
+ this.loading = true
79
+ this.error = null
80
+
81
+ try {
82
+ if(!this.businessId || !this.tableName){
83
+ this.error = '业务ID和表名不能为空'
84
+ this.loading = false
85
+ return
86
+ }
87
+ const HttpReset = new HttpResetClass()
88
+ HttpReset.load('POST', 'rs/sql/singleTable_OrderBy', {
89
+ data: {
90
+ items: 'id,F_DOWNLOADPATH,f_filename,f_filetype',
91
+ condition: `F_TABLE_NAME='${this.tableName}' and F_BUSINESSID = '${this.businessId}'`,
92
+ tablename: 't_files',
93
+ orderitem: 'id'
94
+ }
95
+ },{rejectMsg:null,resolveMsg:null}).then((response) => {
96
+ this.attachments = response.data || []
97
+ // 处理文件路径,确保完整URL
98
+ this.attachments.forEach(item => {
99
+ if (item.f_downloadpath && !item.f_downloadpath.startsWith('http')) {
100
+ let temp = item.f_downloadpath
101
+ let URL = temp.substring(temp.lastIndexOf(":\\") + 2)
102
+ // 将反斜杠替换为正斜杠
103
+ URL = URL.replace(/\\/g, '/')
104
+ item.f_downloadpath = "http://" + location.host + "/" + URL
105
+ } else {
106
+ item.f_downloadpath = item.f_downloadpath
107
+ }
108
+ })
109
+ this.loading = false
110
+ }).catch((error) => {
111
+ this.error = '获取附件失败:' + (error.message || '未知错误')
112
+ this.loading = false
113
+ })
114
+
115
+ } catch (error) {
116
+ this.error = '获取附件失败:' + (error.message || '未知错误')
117
+ this.loading = false
118
+ }
119
+ },
120
+ previewAttachment(attachment) {
121
+ // 根据附件类型处理预览
122
+ alert('预览附件:' + attachment.fileName)
123
+ },
124
+ downloadAttachment(attachment) {
125
+ this.$downFileR(attachment.f_downloadpath,attachment.f_filename,true)
126
+ },
127
+ close() {
128
+ this.show = false
129
+ this.$emit('close')
130
+ },
131
+ isImageFile(file) {
132
+ const imageExtensions = ['jpg', 'jpeg', 'png', 'gif', 'bmp'];
133
+ const fileExt = file.f_filetype.toLowerCase();
134
+ return imageExtensions.indexOf(fileExt) !== -1;
135
+ },
136
+ getFileIconClass(file) {
137
+ const fileType = file.f_filetype.toLowerCase();
138
+
139
+ if (fileType === 'pdf') {
140
+ return 'glyphicon-file text-danger';
141
+ } else if (['doc', 'docx'].indexOf(fileType) !== -1) {
142
+ return 'glyphicon-file text-primary';
143
+ } else if (['xls', 'xlsx'].indexOf(fileType) !== -1) {
144
+ return 'glyphicon-file text-success';
145
+ } else {
146
+ return 'glyphicon-file';
147
+ }
148
+ }
149
+ }
150
+ }
151
+ </script>
152
+
153
+ <style scoped>
154
+ .loading-container, .error-container, .no-data-container {
155
+ text-align: center;
156
+ padding: 30px;
157
+ }
158
+
159
+ .loading-spinner {
160
+ display: inline-block;
161
+ width: 40px;
162
+ height: 40px;
163
+ border: 4px solid #f3f3f3;
164
+ border-top: 4px solid #3498db;
165
+ border-radius: 50%;
166
+ animation: spin 1s linear infinite;
167
+ margin-bottom: 10px;
168
+ }
169
+
170
+ @keyframes spin {
171
+ 0% { transform: rotate(0deg); }
172
+ 100% { transform: rotate(360deg); }
173
+ }
174
+
175
+ .attachments-list {
176
+ width: 100%;
177
+ }
178
+
179
+ .showData {
180
+ height: auto;
181
+ position: relative;
182
+ padding-bottom: 7px;
183
+ border-bottom: solid 1px #c1c1c1;
184
+ font-family: "微软雅黑";
185
+ }
186
+
187
+ .showData .left {
188
+ height: 180px;
189
+ width: 210px;
190
+ background-color: rgb(240, 240, 240);
191
+ overflow: hidden;
192
+ line-height: 180px;
193
+ text-align: center;
194
+ }
195
+
196
+ .showData .left img {
197
+ width: 100%;
198
+ height: auto;
199
+ }
200
+
201
+ .showData .right {
202
+ position: absolute;
203
+ top: 0px;
204
+ left: 220px;
205
+ right: 0px;
206
+ height: 180px;
207
+ }
208
+
209
+ .showData .right .top {
210
+ height: 30px;
211
+ line-height: 30px;
212
+ color: rgb(98, 98, 98);
213
+ }
214
+
215
+ .showData .right ul {
216
+ height: 20px;
217
+ padding: 0px;
218
+ margin: 0px;
219
+ font-size: 0px;
220
+ }
221
+
222
+ .showData .right ul li {
223
+ display: inline-block;
224
+ height: 20px;
225
+ list-style: none;
226
+ font-size: 16px;
227
+ line-height: 20px;
228
+ color: #FFFFFF;
229
+ background-color: #5bb85d;
230
+ padding: 0px 7px;
231
+ margin-right: 10px;
232
+ cursor: pointer;
233
+ }
234
+
235
+ .showData .right ul li:hover {
236
+ background-color: rgb(80, 150, 80);
237
+ }
238
+
239
+ .showData .right ul li:active {
240
+ background-color: rgb(150, 200, 150);
241
+ }
242
+
243
+ .showData .right ul li a {
244
+ width: 100%;
245
+ height: 100%;
246
+ text-decoration: none;
247
+ color: #FFFFFF;
248
+ }
249
+
250
+ .file-icon {
251
+ font-size: 60px;
252
+ color: #999;
253
+ }
254
+ </style>
@@ -238,6 +238,9 @@
238
238
  <th>
239
239
  <nobr>公司</nobr>
240
240
  </th>
241
+ <th>
242
+ <nobr>附件查看</nobr>
243
+ </th>
241
244
  </tr>
242
245
  </template>
243
246
  <template partial='body'>
@@ -318,6 +321,9 @@
318
321
  <td style="text-align: center;">
319
322
  <nobr>{{ row.f_orgname }}</nobr>
320
323
  </td>
324
+ <td style="text-align: center;">
325
+ <button class="button_search button_spacing width-60" @click.stop="$parent.$parent.$parent.view(row)">查看</button>
326
+ </td>
321
327
  </template>
322
328
  <template partial='foot'></template>
323
329
  </data-grid>
@@ -366,6 +372,9 @@
366
372
  <div v-if="show">
367
373
  <user-info-detail-manage :f_userinfo_id="rowdata.f_userinfo_id" @cancel-main="cancel"></user-info-detail-manage>
368
374
  </div>
375
+ <div v-if="showAttachment">
376
+ <attachment-viewer :business-id="currentRow && currentRow.id" table-name="t_changetables" @close="closeAttachment"></attachment-viewer>
377
+ </div>
369
378
  </div>
370
379
  </div>
371
380
  </template>
@@ -374,6 +383,7 @@
374
383
  import {HttpResetClass, PagedList} from 'vue-client'
375
384
  import defaultPrint from '../config/DefaultPrint'
376
385
  import exportConfig from '../config/exportConfig'
386
+ import AttachmentViewer from './AttachmentViewer.vue'
377
387
 
378
388
  let readySomething = async function (self) {
379
389
 
@@ -385,6 +395,9 @@ let readySomething = async function (self) {
385
395
  self.sumsmodel = self.$refs.paged.$refs.grid.model.sums
386
396
  }
387
397
  export default {
398
+ components: {
399
+ AttachmentViewer
400
+ },
388
401
  data () {
389
402
  return {
390
403
  data: {},
@@ -407,6 +420,8 @@ export default {
407
420
  residentialArea: [],
408
421
  area: [],
409
422
  show: false,
423
+ showAttachment: false,
424
+ currentRow: null,
410
425
  rowdata: {},
411
426
  thead: '',
412
427
  tfoot: '',
@@ -422,6 +437,13 @@ export default {
422
437
  readySomething(this)
423
438
  },
424
439
  methods: {
440
+ view(row) {
441
+ this.currentRow = row;
442
+ this.showAttachment = true;
443
+ },
444
+ closeAttachment() {
445
+ this.showAttachment = false;
446
+ },
425
447
  async getaddress () {
426
448
  console.log('开始获取小区')
427
449
  let HttpReset = new HttpResetClass()
@@ -402,7 +402,10 @@
402
402
  <nobr>三阶单价</nobr>
403
403
  </th>
404
404
  <th>
405
- <nobr>三阶气费</nobr>
405
+ <nobr>三阶气费</nobr>
406
+ </th>
407
+ <th>
408
+ <nobr>附件查看</nobr>
406
409
  </th>
407
410
  </tr>
408
411
  </template>
@@ -533,7 +536,10 @@
533
536
  <nobr>{{row.f_stair3price}}</nobr>
534
537
  </td>
535
538
  <td style="text-align: center;">
536
- <nobr>{{row.f_stair3fee}}</nobr>
539
+ <nobr>{{row.f_stair3fee}}</nobr>
540
+ </td>
541
+ <td style="text-align: center;">
542
+ <button class="button_search button_spacing width-60" @click.stop="$parent.$parent.$parent.view(row)">查看</button>
537
543
  </td>
538
544
  </template>
539
545
  <template partial='foot'></template>
@@ -602,6 +608,9 @@
602
608
  <div v-if="show">
603
609
  <user-info-detail-manage :f_userinfo_id="rowdata.f_userinfo_id" @cancel-main="cancel"></user-info-detail-manage>
604
610
  </div>
611
+ <div v-if="showAttachment">
612
+ <attachment-viewer :business-id="currentRow && currentRow.id" table-name="t_sellinggas" @close="closeAttachment"></attachment-viewer>
613
+ </div>
605
614
  </div>
606
615
  </div>
607
616
  </template>
@@ -610,6 +619,7 @@
610
619
  import {HttpResetClass, PagedList} from 'vue-client'
611
620
  import exportConfig from '../config/exportConfig'
612
621
  import * as Util from '../../../Util'
622
+ import AttachmentViewer from './AttachmentViewer.vue'
613
623
 
614
624
  let readySomething = async function (self) {
615
625
  self.$refs.paged.$refs.cri.model.startDate = self.$login.toStandardDateString() + ' 00:00:00'
@@ -621,6 +631,9 @@
621
631
  self.sumsmodel = self.$refs.paged.$refs.grid.model.sums
622
632
  }
623
633
  export default {
634
+ components: {
635
+ AttachmentViewer
636
+ },
624
637
  data() {
625
638
  return {
626
639
 
@@ -634,6 +647,8 @@
634
647
  jurisdiction:this.$login.r,
635
648
  data: {},
636
649
  show:false,
650
+ showAttachment: false,
651
+ currentRow: null,
637
652
  rowdata:{},
638
653
  initres: {
639
654
  org:[this.$login.f.orgid],
@@ -860,8 +875,14 @@
860
875
  async updateParams() {
861
876
  await this.$MagLoadParams.loadParam(this.f_filialeid)
862
877
  this.initParams()
863
- }
864
-
878
+ },
879
+ view(row) {
880
+ this.currentRow = row;
881
+ this.showAttachment = true;
882
+ },
883
+ closeAttachment() {
884
+ this.showAttachment = false;
885
+ },
865
886
  },
866
887
  events:{
867
888
  'getidcard'(IdCard){
@@ -950,3 +971,6 @@
950
971
  }
951
972
  }
952
973
  </script>
974
+
975
+ <style scoped>
976
+ </style>
@@ -123,6 +123,9 @@
123
123
  <th>
124
124
  <nobr>公司</nobr>
125
125
  </th>
126
+ <th>
127
+ <nobr>附件查看</nobr>
128
+ </th>
126
129
  </tr>
127
130
  </template>
128
131
  <template partial='body'>
@@ -160,6 +163,9 @@
160
163
  <td style="text-align: center;">
161
164
  <nobr>{{row.f_orgname}}</nobr>
162
165
  </td>
166
+ <td style="text-align: center;">
167
+ <button class="button_search button_spacing width-60" @click.stop="$parent.$parent.$parent.view(row)">查看</button>
168
+ </td>
163
169
  </template>
164
170
  <template partial='foot'></template>
165
171
  </data-grid>
@@ -178,6 +184,9 @@
178
184
  <div v-if="show">
179
185
  <user-info-detail-manage :f_userinfo_id="rowdata.f_userinfo_id" @cancel-main="cancel"></user-info-detail-manage>
180
186
  </div>
187
+ <div v-if="showAttachment">
188
+ <attachment-viewer :business-id="currentRow && currentRow.id" table-name="t_disable" @close="closeAttachment"></attachment-viewer>
189
+ </div>
181
190
  </div>
182
191
  </div>
183
192
  </template>
@@ -186,6 +195,7 @@
186
195
  import {HttpResetClass, PagedList} from 'vue-client'
187
196
  import defaultPrint from '../config/DefaultPrint'
188
197
  import exportConfig from '../config/exportConfig'
198
+ import AttachmentViewer from './AttachmentViewer.vue'
189
199
 
190
200
  let readySomething = async function (self) {
191
201
  self.$refs.paged.$refs.cri.model.startDate = self.$login.toStandardDateString()
@@ -197,6 +207,9 @@ import {HttpResetClass, PagedList} from 'vue-client'
197
207
  self.sumsmodel = self.$refs.paged.$refs.grid.model.sums
198
208
  }
199
209
  export default {
210
+ components: {
211
+ AttachmentViewer
212
+ },
200
213
  data() {
201
214
  return {
202
215
  data: {},
@@ -206,6 +219,8 @@ import {HttpResetClass, PagedList} from 'vue-client'
206
219
  bodyData: ["f_userinfo_id", "f_user_name", "f_operator", "f_operate_date", "f_state", "f_comments", "f_othereason", "f_sendsuccess"],
207
220
  orgCondtionStr: '',
208
221
  show:false,
222
+ showAttachment: false,
223
+ currentRow: null,
209
224
  rowdata:{},
210
225
  modelval: [],
211
226
  printshow: false,
@@ -338,6 +353,13 @@ import {HttpResetClass, PagedList} from 'vue-client'
338
353
  })
339
354
  this.modelval = sortModel
340
355
  console.log('选择的打印的字段', this.modelval)
356
+ },
357
+ view(row) {
358
+ this.currentRow = row;
359
+ this.showAttachment = true;
360
+ },
361
+ closeAttachment() {
362
+ this.showAttachment = false;
341
363
  }
342
364
  },
343
365
  watch: {
@@ -117,6 +117,9 @@
117
117
  <th>
118
118
  <nobr>公司</nobr>
119
119
  </th>
120
+ <th>
121
+ <nobr>附件查看</nobr>
122
+ </th>
120
123
  </tr>
121
124
  </template>
122
125
  <template partial='body'>
@@ -151,6 +154,9 @@
151
154
  <td style="text-align: center;">
152
155
  <nobr>{{row.f_orgname}}</nobr>
153
156
  </td>
157
+ <td style="text-align: center;">
158
+ <button class="button_search button_spacing width-60" @click.stop="$parent.$parent.$parent.view(row)">查看</button>
159
+ </td>
154
160
  </template>
155
161
  <template partial='foot'></template>
156
162
  </data-grid>
@@ -169,6 +175,9 @@
169
175
  <div v-if="show">
170
176
  <user-info-detail-manage :f_userinfo_id="rowdata.f_userinfo_id" @cancel-main="cancel"></user-info-detail-manage>
171
177
  </div>
178
+ <div v-if="showAttachment">
179
+ <attachment-viewer :business-id="currentRow && currentRow.id" table-name="t_enable" @close="closeAttachment"></attachment-viewer>
180
+ </div>
172
181
  </div>
173
182
  </div>
174
183
  </template>
@@ -177,6 +186,7 @@
177
186
  import {HttpResetClass, PagedList} from 'vue-client'
178
187
  import defaultPrint from '../config/DefaultPrint'
179
188
  import exportConfig from '../config/exportConfig'
189
+ import AttachmentViewer from './AttachmentViewer.vue'
180
190
 
181
191
  let readySomething = async function (self) {
182
192
  self.$refs.paged.$refs.cri.model.startDate = self.$login.toStandardDateString()
@@ -187,6 +197,9 @@ import {HttpResetClass, PagedList} from 'vue-client'
187
197
  self.sumsmodel = self.$refs.paged.$refs.grid.model.sums
188
198
  }
189
199
  export default {
200
+ components: {
201
+ AttachmentViewer
202
+ },
190
203
  data() {
191
204
  return {
192
205
  data: {},
@@ -208,6 +221,8 @@ import {HttpResetClass, PagedList} from 'vue-client'
208
221
  residentialArea:[],
209
222
  area:[],
210
223
  show:false,
224
+ showAttachment: false,
225
+ currentRow: null,
211
226
  rowdata:{},
212
227
  thead: '',
213
228
  tfoot: '',
@@ -284,6 +299,13 @@ import {HttpResetClass, PagedList} from 'vue-client'
284
299
  val.model = this.model.model
285
300
  this.$dispatch('deal-msg', val)
286
301
  },
302
+ view(row) {
303
+ this.currentRow = row;
304
+ this.showAttachment = true;
305
+ },
306
+ closeAttachment() {
307
+ this.showAttachment = false;
308
+ },
287
309
  hidden() {
288
310
  this.criteriaShow = !this.criteriaShow
289
311
  },