ocpview-plus 0.0.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 (195) hide show
  1. package/LICENSE +0 -0
  2. package/README.md +0 -0
  3. package/dist/efviewplus.min.esm.js +99954 -0
  4. package/dist/efviewplus.min.js +142 -0
  5. package/dist/locale/lang.js +1 -0
  6. package/dist/locale/zh-CN.js +1 -0
  7. package/dist/locale/zh-TW.js +1 -0
  8. package/dist/locale/zh-UG.js +1 -0
  9. package/dist/style.css +9 -0
  10. package/dist/styles/efviewplus.css +1 -0
  11. package/package.json +144 -0
  12. package/src/components/base/controlbase.vue +191 -0
  13. package/src/components/base/controlbox.vue +102 -0
  14. package/src/components/base/index.js +3 -0
  15. package/src/components/base/load.js +20 -0
  16. package/src/components/base/probase.js +220 -0
  17. package/src/components/base/size.js +78 -0
  18. package/src/components/billbox/billbox.vue +68 -0
  19. package/src/components/billbox/index.js +2 -0
  20. package/src/components/cascaderbox/cascaderbox.vue +184 -0
  21. package/src/components/cascaderbox/index.js +2 -0
  22. package/src/components/checkbox/checkbox.vue +76 -0
  23. package/src/components/checkbox/checkgroupbox.vue +104 -0
  24. package/src/components/checkbox/index.js +3 -0
  25. package/src/components/colorbox/colorbox.vue +44 -0
  26. package/src/components/colorbox/index.js +2 -0
  27. package/src/components/combobox/combobox.vue +220 -0
  28. package/src/components/combobox/index.js +2 -0
  29. package/src/components/conditionbox/conditionbase.vue +195 -0
  30. package/src/components/conditionbox/conditionbox.vue +63 -0
  31. package/src/components/conditionbox/conditionfilterbox.vue +477 -0
  32. package/src/components/conditionbox/conditionselectorbox.vue +237 -0
  33. package/src/components/conditionbox/index.js +5 -0
  34. package/src/components/conditionbox/queryconditionbox.vue +26 -0
  35. package/src/components/conditionbox/queryconditionboxbase.vue +124 -0
  36. package/src/components/conditionbox/searchconditionbox.vue +114 -0
  37. package/src/components/conditionbox/searchgrid.vue +391 -0
  38. package/src/components/datebox/datebox.vue +129 -0
  39. package/src/components/datebox/daterangebox.vue +155 -0
  40. package/src/components/datebox/index.js +3 -0
  41. package/src/components/form/baseform.vue +677 -0
  42. package/src/components/form/detailsbox.vue +487 -0
  43. package/src/components/form/formbox.vue +29 -0
  44. package/src/components/form/formcardbox.vue +268 -0
  45. package/src/components/form/formcardgroupbox.vue +252 -0
  46. package/src/components/form/formcompro.js +19 -0
  47. package/src/components/form/formdetail.vue +129 -0
  48. package/src/components/form/formdetailtwo.vue +302 -0
  49. package/src/components/form/index.js +8 -0
  50. package/src/components/form/toolanchor.js +46 -0
  51. package/src/components/form/workform.vue +168 -0
  52. package/src/components/grid/basegrid.vue +1061 -0
  53. package/src/components/grid/editgrid.vue +51 -0
  54. package/src/components/grid/editgridbase.vue +947 -0
  55. package/src/components/grid/editgridcard.vue +193 -0
  56. package/src/components/grid/expandrow.vue +137 -0
  57. package/src/components/grid/index.js +6 -0
  58. package/src/components/grid/viewgrid.vue +122 -0
  59. package/src/components/grid/viewgridbase.vue +1284 -0
  60. package/src/components/icon/common-icon.vue +53 -0
  61. package/src/components/icon/eicon.vue +29 -0
  62. package/src/components/icon/icons.vue +42 -0
  63. package/src/components/icon/index.js +2 -0
  64. package/src/components/label/index.js +3 -0
  65. package/src/components/label/showtext.vue +95 -0
  66. package/src/components/load/loadcartoon.vue +228 -0
  67. package/src/components/map/index.js +2 -0
  68. package/src/components/map/mapbox.vue +348 -0
  69. package/src/components/masterplate/appendix.vue +586 -0
  70. package/src/components/masterplate/approval.vue +803 -0
  71. package/src/components/masterplate/base.vue +985 -0
  72. package/src/components/masterplate/billasyncimport.vue +614 -0
  73. package/src/components/masterplate/billconditionbox.vue +224 -0
  74. package/src/components/masterplate/billconditionsbox.vue +427 -0
  75. package/src/components/masterplate/billdetailform.vue +990 -0
  76. package/src/components/masterplate/billimport.vue +263 -0
  77. package/src/components/masterplate/billquerygrid.vue +316 -0
  78. package/src/components/masterplate/billsinglegrid.vue +234 -0
  79. package/src/components/masterplate/birtreport.vue +185 -0
  80. package/src/components/masterplate/detailbtntoolbar.vue +311 -0
  81. package/src/components/masterplate/detailsbox.vue +386 -0
  82. package/src/components/masterplate/editgridcard.vue +222 -0
  83. package/src/components/masterplate/editgridcard2.vue +109 -0
  84. package/src/components/masterplate/formcard.vue +106 -0
  85. package/src/components/masterplate/formcardgroupbox.vue +168 -0
  86. package/src/components/masterplate/formdetailtwo.vue +356 -0
  87. package/src/components/masterplate/gridcolset.vue +227 -0
  88. package/src/components/masterplate/index.js +23 -0
  89. package/src/components/masterplate/layouttemplate.vue +33 -0
  90. package/src/components/masterplate/leftlistrightdetails.vue +474 -0
  91. package/src/components/masterplate/leftlistrightlist.vue +465 -0
  92. package/src/components/masterplate/lefttreerightdetails.vue +619 -0
  93. package/src/components/masterplate/levelreport.vue +510 -0
  94. package/src/components/masterplate/listbtntoolbar.vue +257 -0
  95. package/src/components/masterplate/listdetails.vue +769 -0
  96. package/src/components/masterplate/operlog.vue +272 -0
  97. package/src/components/masterplate/options.vue +110 -0
  98. package/src/components/masterplate/page.vue +102 -0
  99. package/src/components/masterplate/promptmessage.vue +74 -0
  100. package/src/components/masterplate/querybar.vue +490 -0
  101. package/src/components/masterplate/report.vue +357 -0
  102. package/src/components/masterplate/rowbtntoolbar.vue +126 -0
  103. package/src/components/masterplate/simpletree.vue +129 -0
  104. package/src/components/masterplate/simpleviewgrid.vue +144 -0
  105. package/src/components/mychart/bar/bar.vue +202 -0
  106. package/src/components/mychart/basechart.vue +190 -0
  107. package/src/components/mychart/complexmychart/barline.vue +154 -0
  108. package/src/components/mychart/gauge/gauge.vue +83 -0
  109. package/src/components/mychart/index.js +9 -0
  110. package/src/components/mychart/line/line.vue +202 -0
  111. package/src/components/mychart/liquidfill/liquidfill.vue +109 -0
  112. package/src/components/mychart/pie/pie.vue +96 -0
  113. package/src/components/mychart/radar/radar.vue +122 -0
  114. package/src/components/mychart/scatter/scatter.vue +76 -0
  115. package/src/components/numberbox/append.js +11 -0
  116. package/src/components/numberbox/index.js +3 -0
  117. package/src/components/numberbox/numberbox.vue +303 -0
  118. package/src/components/numberbox/numberrangebox.vue +423 -0
  119. package/src/components/picturebox/filebox.vue +365 -0
  120. package/src/components/picturebox/index.js +3 -0
  121. package/src/components/picturebox/picturebox.vue +541 -0
  122. package/src/components/picturebox/uploadbox.vue +164 -0
  123. package/src/components/poptagbox/index.js +2 -0
  124. package/src/components/poptagbox/poptagbox.vue +389 -0
  125. package/src/components/poptextbox/index.js +2 -0
  126. package/src/components/poptextbox/poptextbox.vue +601 -0
  127. package/src/components/radiobox/index.js +2 -0
  128. package/src/components/radiobox/radiogroupbox.vue +76 -0
  129. package/src/components/richtextbox/editor.vue +150 -0
  130. package/src/components/richtextbox/index.js +2 -0
  131. package/src/components/richtextbox/richtextbox.vue +448 -0
  132. package/src/components/textbox/index.js +2 -0
  133. package/src/components/textbox/textbox.vue +98 -0
  134. package/src/components/timebox/index.js +2 -0
  135. package/src/components/timebox/timebox.vue +76 -0
  136. package/src/components/toolbar/ebutton.vue +169 -0
  137. package/src/components/toolbar/index.js +3 -0
  138. package/src/components/toolbar/toolbar.vue +446 -0
  139. package/src/components/tree/basetree.vue +725 -0
  140. package/src/components/tree/index.js +3 -0
  141. package/src/components/tree/treedata.vue +51 -0
  142. package/src/components/tree/treedatabase.vue +189 -0
  143. package/src/components/upload/billimport.vue +233 -0
  144. package/src/components/upload/index.js +2 -0
  145. package/src/components/videobox/index.js +2 -0
  146. package/src/components/videobox/uploadbox.vue +148 -0
  147. package/src/components/videobox/videobox.vue +503 -0
  148. package/src/components/wrichtextbox/editor.vue +219 -0
  149. package/src/components/wrichtextbox/index.js +2 -0
  150. package/src/components/wrichtextbox/wrichtextbox.vue +63 -0
  151. package/src/index.js +215 -0
  152. package/src/locale/format.js +51 -0
  153. package/src/locale/index.js +63 -0
  154. package/src/locale/lang/zh-CN.js +123 -0
  155. package/src/locale/lang/zh-TW.js +114 -0
  156. package/src/locale/lang/zh-UG.js +115 -0
  157. package/src/locale/lang.js +15 -0
  158. package/src/method/case/case.js +1180 -0
  159. package/src/method/config/queryconfig.js +24 -0
  160. package/src/method/const/const.js +815 -0
  161. package/src/method/index.js +8 -0
  162. package/src/static/excel/exportexcel.js +627 -0
  163. package/src/static/iview/coustom.js +463 -0
  164. package/src/store/index.js +19 -0
  165. package/src/store/modules/app.js +53 -0
  166. package/src/styles/README.md +3 -0
  167. package/src/styles/common.less +75 -0
  168. package/src/styles/components/anchor.less +74 -0
  169. package/src/styles/components/approval.less +136 -0
  170. package/src/styles/components/button.less +208 -0
  171. package/src/styles/components/card.less +51 -0
  172. package/src/styles/components/content.less +38 -0
  173. package/src/styles/components/font.less +314 -0
  174. package/src/styles/components/form.less +72 -0
  175. package/src/styles/components/iconfont/fonts/iconfont.less +1376 -0
  176. package/src/styles/components/iconfont/fonts/iconfont.svg +699 -0
  177. package/src/styles/components/iconfont/fonts/iconfont.ttf +0 -0
  178. package/src/styles/components/iconfont/fonts/iconfont.woff +0 -0
  179. package/src/styles/components/iconfont/fonts/iconfont.woff2 +0 -0
  180. package/src/styles/components/index.less +16 -0
  181. package/src/styles/components/input.less +290 -0
  182. package/src/styles/components/modal.less +203 -0
  183. package/src/styles/components/page.less +340 -0
  184. package/src/styles/components/select.less +361 -0
  185. package/src/styles/components/steps.less +367 -0
  186. package/src/styles/components/table.less +544 -0
  187. package/src/styles/components/tabs.less +249 -0
  188. package/src/styles/components/upload.less +83 -0
  189. package/src/styles/custom.less +67 -0
  190. package/src/styles/index.less +6 -0
  191. package/src/styles/pack.less +6 -0
  192. package/src/utils/EfuMessenger.js +155 -0
  193. package/src/utils/assist.js +353 -0
  194. package/src/utils/index.js +1 -0
  195. package/src/utils/random_str.js +10 -0
@@ -0,0 +1,586 @@
1
+ <template>
2
+ <Card :bordered="false" :padding="0" dis-hover>
3
+ <p v-if="showTitle" @click="toggle" style="cursor:pointer;" >
4
+ <Row type="flex" justify="start" align="middle" style="margin-top:14px;margin-bottom:14px">
5
+ <Icon custom='iconfont icon-custom-pack' color="#f3b352" v-show="showGrid" size="14" />
6
+ <Icon v-show="!showGrid" color="#f3b352" custom='iconfont icon-custom-spread' size="14"/>
7
+ <span style="margin-left:10px;font-size: 14px;font-weight:bold" v-text="myConfig.title" />
8
+ </Row>
9
+ </p>
10
+ <div style="padding-left:24px">
11
+ <Divider v-if="showTitle" style="margin-top:0px;margin-bottom:10px;"/>
12
+ <Row v-show="showGrid" type="flex" justify="start" align="middle" :gutter="0" style="margin-bottom:10px;" >
13
+ <Button v-if="loadFlag" customIcon="iconfont icon-custom-fileupload" :disabled="btnReadOnly" @click="editGrid" >上传</Button>
14
+ <Button v-else :loading="true">{{loadingtext}}</Button>
15
+ </Row>
16
+ <Upload v-show="false" id="billiviewUp"
17
+ multiple
18
+ ref="billupload"
19
+ :accept="FileAccept"
20
+ :format="FileFormat"
21
+ :data="headers"
22
+ :show-upload-list="false"
23
+ :on-success="handleSuccess"
24
+ :on-exceeded-size="handleMaxSize"
25
+ :before-upload="handleBeforeUpload"
26
+ :on-format-error="handleFormatError"
27
+ :max-size="fileSize"
28
+ :action="uploadfile">
29
+ <a>上传</a>
30
+ </Upload>
31
+ <div v-show="showGrid">
32
+ <EditGridCardS ref="grid" :config="myConfig"></EditGridCardS>
33
+ </div>
34
+ </div>
35
+ <div ref="photo" v-show="false">
36
+ <li><img :src="imgUrl" :data-original="`${imgUrl}`" style="width: 100%; height: 100%;" /></li>
37
+ </div>
38
+ <Modal :styles="{top:'20px', width:'80%'}" title="文本" v-model="txtPanelFlag" :footer-hide="true">
39
+ <div v-html="textStr"/>
40
+ </Modal>
41
+ <Modal :styles="{top:'20px', width:'80%'}" title="PDF" v-model="pdfFlag" :footer-hide="true">
42
+ <div ref="pdf" style="height:630px"/>
43
+ </Modal>
44
+ </Card>
45
+ </template>
46
+ <script>
47
+ import load from '@/components/base/load';
48
+ import EditGridCardS from './editgridcard2.vue';
49
+ import {embed} from 'pdfobject';
50
+ import $ from 'jquery';
51
+ import Viewer from 'viewerjs';
52
+ import Cookies from 'js-cookie';
53
+ import { resolveComponent } from 'vue';
54
+
55
+ export default {
56
+ name: 'mappendix',
57
+ components:{EditGridCardS},
58
+ mixins: [load],
59
+ data () {
60
+ return {
61
+ myConfig:{
62
+ headStyle:'',
63
+ readOnly: false,
64
+ downfile:'',
65
+ delfile:'',
66
+ pdffile:'/mss-sysconf-boot/downloadPdf?filekey=',
67
+ notdelfile:false,
68
+ showPage:false,
69
+ fileSize:20,
70
+ fileNum:10,
71
+ title:'附件',
72
+ dynamicHeight:true,
73
+ showTitle:true,
74
+ scenetype:'3',
75
+ height:840,
76
+ items:[{
77
+ label:'操作状态',
78
+ name:'modflag',
79
+ type:'ComboBox',
80
+ data:[{ code : 'N', name : '初始'}, { code : 'M', name : '待删除'},
81
+ { code : 'I', name : '新增'}, { code : 'D', name : '删除'}],
82
+ visible:false,
83
+ width:100,
84
+ },{
85
+ label:'文件名称',
86
+ name:'filename',
87
+ type:'TextBox'
88
+ },{
89
+ label:'文件大小',
90
+ name:'filesize',
91
+ render: this.sizeActionRender,
92
+ width:120
93
+ },{
94
+ label:'上传日期',
95
+ name:'ph_timestamp',
96
+ type:'DateBox',
97
+ vtype:'datetime',
98
+ width:200
99
+ },{
100
+ label:'操作',
101
+ key:'action',
102
+ align: 'center',
103
+ render: this.actionRender,
104
+ minWidth:100
105
+ }]
106
+ },
107
+ loadFlag:true,
108
+ billno:'',
109
+ modulecode:'',
110
+ idkey:'',
111
+ showGrid:true,
112
+ uploadfile:'',
113
+ textStr:'',
114
+ imgUrl:'',
115
+ txtPanelFlag:false,
116
+ pdfFlag:false,
117
+ btnReadOnly:false,
118
+ loading:true,
119
+ fileSize:0,
120
+ initData:[],
121
+ rowBtnData:[
122
+ {
123
+ icon:'custom-filedel',
124
+ name:'delFile',
125
+ text:'删除'
126
+ },
127
+ {
128
+ icon:'custom-filedown',
129
+ name:'downFile',
130
+ text:'下载'
131
+ },
132
+ {
133
+ icon:'custom-filesearch',
134
+ name:'searchFile',
135
+ text:'查看'
136
+ },
137
+ {
138
+ icon:'custom-filerecall',
139
+ name:'recall',
140
+ text:'撤回'
141
+ }
142
+ ]
143
+ };
144
+ },
145
+ created() {
146
+ this.myConfig = Object.assign({},this.myConfig, this.config);
147
+
148
+ if (this.myConfig.showTitle !== undefined) {
149
+ this.showTitle = this.myConfig.showTitle;
150
+ }
151
+
152
+ if (!this.myConfig.downfile) {
153
+ this.myConfig.downfile = this.OmdUrl.downfile;
154
+ }
155
+ if (!this.myConfig.delfile) {
156
+ this.myConfig.delfile = this.OmdUrl.delfile;
157
+ }
158
+ if (!this.myConfig.uploadfile) {
159
+ this.myConfig.uploadfile = this.OmdUrl.uploadfile;
160
+ }
161
+ if (!this.myConfig.pdffile) {
162
+ this.myConfig.pdffile = this.OmdUrl.pdffile;
163
+ }
164
+ this.myConfig.showAddBtn = false;
165
+ this.myConfig.showDelBatchBtn = false;
166
+ this.myConfig.generalOrientation = true;
167
+ if (this.myConfig.fileSize !== undefined) {
168
+ this.fileSize = Number(this.myConfig.fileSize) * 1024;
169
+ }
170
+ if (this.myConfig.notdelfile) {
171
+ this.myConfig.items[0].visible = true;
172
+ } else {
173
+ this.myConfig.items[0].visible = false;
174
+ }
175
+
176
+ if (this.myConfig.uploadfile.indexOf('?') != -1) {
177
+ this.uploadfile = this.myConfig.uploadfile + '&token=' + this.getToken();
178
+ } else {
179
+ this.uploadfile = this.myConfig.uploadfile + '?token='+ this.getToken();
180
+ }
181
+ },
182
+ computed:{
183
+ headers () {
184
+ let obj = {};
185
+ if (this.modulecode) {
186
+ obj.billmoduleid = this.modulecode;
187
+ }
188
+ obj.billno = this.billno;
189
+ obj.scenetype = this.myConfig.scenetype;
190
+ obj.usercode = this.getUserCode()
191
+ obj.username = this.getUserName();
192
+ if (this.myConfig.notdelfile) {
193
+ obj.modflag = 'I';
194
+ }
195
+ if (obj.scenetype === '4') {
196
+ obj.idkey = this.idkey;
197
+ }
198
+ return obj;
199
+ },
200
+ FileFormat () {
201
+ if (this.myConfig.fileType) {
202
+ return this.myConfig.fileType;
203
+ } else {
204
+ return [];
205
+ }
206
+ },
207
+ FileAccept () {
208
+ if (this.myConfig.fileType) {
209
+ let str = '';
210
+ this.myConfig.fileType.forEach(e =>{
211
+ str = str + '.' + e + ',';
212
+ });
213
+ return str;
214
+ } else {
215
+ return '';
216
+ }
217
+ }
218
+ },
219
+ props:{
220
+ config: {
221
+ type:Object,
222
+ default:null
223
+ }
224
+ },
225
+ methods: {
226
+ handleFormatError (file) {
227
+ let type = this.myConfig.fileType.join(',');
228
+ this.alert('文件[' + file.name + ']的格式不正确,请上传格式为(' + type + ')的文件');
229
+ this.loadFlag = true;
230
+ },
231
+ toggle () {
232
+ this.showGrid = !this.showGrid;
233
+ },
234
+ setShowGrid(value) {
235
+ this.showGrid = value;
236
+ },
237
+ actionRender (h, params) {
238
+ let btnConfig = {};
239
+ btnConfig.showNum = 4;
240
+ btnConfig.fontStyle = '';
241
+ btnConfig.items = [];
242
+ if (params.row.filekey) {
243
+ let del = this.$Method.copy(this.rowBtnData[0]);
244
+ if (this.myConfig.readOnly) {
245
+ del.readOnly = true;
246
+ }
247
+ btnConfig.items.push(del);
248
+ }
249
+ btnConfig.items.push(this.$Method.copy(this.rowBtnData[1]));
250
+ if (this.isType(params.row.filetype) !== '0') {
251
+ btnConfig.items.push(this.$Method.copy(this.rowBtnData[2]));
252
+ }
253
+ let recall = this.$Method.copy(this.rowBtnData[3]);
254
+ if (this.myConfig.readOnly) {
255
+ recall.readOnly = true;
256
+ }
257
+ if (this.myConfig.notdelfile) {
258
+ if (params.row.modflag === 'N') {
259
+ btnConfig.items.push(recall);
260
+ }
261
+ }
262
+ return h('div', [
263
+ h(resolveComponent('RowBtnToolbar'), {
264
+ config:btnConfig,
265
+ onDoAction:(val) => {
266
+ if (val.name === 'delFile') {
267
+ this.delFile(params);
268
+ }
269
+ if (val.name === 'downFile') {
270
+ this.downFile(params);
271
+ }
272
+ if (val.name === 'searchFile') {
273
+ this.searchFile(params);
274
+ }
275
+ if (val.name === 'recall') {
276
+ this.recall(params);
277
+ }
278
+ }
279
+ })
280
+ ]);
281
+ },
282
+ sizeActionRender(h, params) {
283
+ let fize = Number(params.row.filesize);
284
+ let str = '';
285
+ if (fize<1024 ){
286
+ str = fize +'B';
287
+ }
288
+ if (fize > 1024 && fize < 1048576){
289
+ str =parseFloat(fize/1024).toFixed(2) +'K';
290
+ }
291
+ if (fize > 1048576 && fize < 1073741824){
292
+ str =parseFloat(fize/1048576).toFixed(2) +'M';
293
+ }
294
+ if (fize > 1073741824 ){
295
+ str =parseFloat(fize/1073741824).toFixed(2) +'G';
296
+ }
297
+ return h('span',str);
298
+ },
299
+ downFile(params) {
300
+ let downUrl = this.myConfig.downfile + params.row.filekey + "&ent_id=" + this.getEnt_id() + "&token=" + this.getToken();
301
+ window.open(downUrl);
302
+ },
303
+ delCommon(filekey,notdelfile) {
304
+ let delUrl = this.myConfig.delfile + filekey + "&ent_id=" + this.getEnt_id()+"&notdelfile=" + notdelfile + "&token=" + this.getToken();
305
+ $.ajax({
306
+ type : 'GET',
307
+ url : encodeURI(delUrl),
308
+ async : true,
309
+ dataType : 'json'
310
+ });
311
+ },
312
+ delFile(params) {
313
+ if (!this.checkIsEdit()) {
314
+ return;
315
+ }
316
+ if (!this.myConfig.notdelfile) {
317
+ this.$refs.grid.delRow(params.index);
318
+ this.delCommon(params.row.filekey, 'N');
319
+ } else {
320
+ if (params.row.modflag === 'M') {
321
+ this.alert('当前状态不允许删除');
322
+ return;
323
+ }
324
+ if (params.row.modflag === 'I') {
325
+ this.delCommon(params.row.filekey, 'Y');
326
+ this.$refs.grid.delRow(params.index);
327
+ }
328
+ if (params.row.modflag === 'N') {
329
+ let row = this.$Method.copy(params.row);
330
+ row.modflag = 'M';
331
+ this.$refs.grid.updateRow(params.index, row);
332
+ }
333
+ }
334
+ if (this.myConfig.readOnly) {
335
+ this.setReadOnly(false);
336
+ }
337
+ },
338
+ recall(params) {
339
+ if (params.row.modflag !== 'M') {
340
+ this.alert('当前状态不用撤回');
341
+ return;
342
+ }
343
+ let row = this.$Method.copy(params.row);
344
+ row.modflag = 'N';
345
+ this.$refs.grid.updateRow(params.index, row);
346
+ },
347
+ searchFile(params) {
348
+ if (this.isType(params.row.filetype) === '1') {
349
+ this.showTxt(params);
350
+ }
351
+ if (this.isType(params.row.filetype) === '2') {
352
+ this.showPhoto(params);
353
+ }
354
+ if (this.isType(params.row.filetype) === '3') {
355
+ this.showPdf(params);
356
+ }
357
+ },
358
+ handleSuccess (res) {
359
+ this.getFilesInfo(this.billno,this.modulecode,this.myConfig.notdelfile, this.myConfig.scenetype, this.doInitData);
360
+ this.flag = false;
361
+ if (this.myConfig.scenetype === '4') {
362
+ this.loadFlag = true;
363
+ } else {
364
+ this.hideLoading();
365
+ }
366
+ },
367
+ handleMaxSize (file) {
368
+ this.alert('文件[' + file.name + ']的文件大小不允许超过' + this.myConfig.fileSize + 'M');
369
+ if (this.myConfig.scenetype === '4') {
370
+ this.loadFlag = true;
371
+ } else {
372
+ this.hideLoading();
373
+ }
374
+ },
375
+ isType (filetype) {
376
+ var type = '';
377
+ if (!filetype) {
378
+ filetype = '';
379
+ }
380
+ filetype = filetype.toLowerCase();
381
+ if (filetype === 'log' || filetype === 'xml' || filetype === 'txt') {
382
+ type = '1';
383
+ } else if (filetype === 'bmp' || filetype === 'jpg' || filetype === 'png'
384
+ || filetype === 'gif' || filetype === 'jpeg' || filetype === 'apng'
385
+ || filetype === 'svg') {
386
+ type = '2';
387
+ } else if (filetype === 'pdf') {
388
+ type = '3';
389
+ } else {
390
+ type = '0';
391
+ }
392
+ return type;
393
+ },
394
+ setPro (obj) {
395
+ if (obj) {
396
+ this.myConfig = Object.assign({}, this.myConfig, obj);
397
+ }
398
+ },
399
+ setReadOnly(value) {
400
+ let obj = {};
401
+ obj.readOnly = value;
402
+ this.setPro(obj);
403
+ this.$refs.grid.setReadOnly(true);
404
+ this.setBtnReadOnly(value);
405
+ },
406
+ showTxt(params) {
407
+ let downUrl = this.myConfig.downfile + params.row.filekey + '&token=' + this.getToken() ;
408
+ let htmlObj = $.ajax({
409
+ url : encodeURI(downUrl),
410
+ async : false
411
+ });
412
+ let str = htmlObj.responseText;
413
+ str = str.replace(/\r\n/ig, '<br/>');
414
+ this.textStr =str;
415
+ this.txtPanelFlag = true;
416
+ },
417
+ showPhoto(params) {
418
+ let downUrl = this.myConfig.downfile + params.row.filekey + '&token=' + this.getToken() ;
419
+ this.imgUrl = downUrl;
420
+ this.$nextTick(() => {
421
+ if (this.viewer == undefined) {
422
+ this.viewer = new Viewer(this.$refs.photo, {
423
+ url: "data-original",
424
+ show: function () {
425
+ this.viewer.update();
426
+ },
427
+ });
428
+ }
429
+ this.viewer.show();
430
+ })
431
+
432
+ },
433
+ showPdf(params) {
434
+ let pdfUrl = this.myConfig.pdffile + params.row.filekey + '&token=' + this.getToken();
435
+ //this.pdfSrc = pdfUrl;
436
+ embed(encodeURI(pdfUrl), this.$refs.pdf);
437
+ //pdfObject.embed(encodeURI(pdfUrl), this.$refs.pdf);
438
+ this.pdfFlag = true;
439
+ },
440
+ getChangeData() {
441
+ return this.$refs.grid.getChangeData();
442
+ },
443
+ setData(key,billmoduleid,idkey) {
444
+ if (key) {
445
+ this.billno = key;
446
+ this.modulecode = billmoduleid;
447
+ this.idkey = idkey;
448
+ if(this.myConfig.scenetype === '4') {
449
+ this.getFilesInfoByIdkey(this.idkey,this.doInitData);
450
+ } else {
451
+ this.getFilesInfo(key,this.modulecode,this.myConfig.notdelfile,'3',this.doInitData);
452
+ }
453
+ this.btnReadOnly = false;
454
+ } else {
455
+ this.btnReadOnly = true;
456
+ this.billno = '';
457
+ this.modulecode = '';
458
+ this.idkey = '';
459
+ this.$refs.grid.setData([]);
460
+ }
461
+ },
462
+ setBillno(value) {
463
+ this.billno = value;
464
+ if (this.billno) {
465
+ this.btnReadOnly = true;
466
+ }
467
+ },
468
+ doInitData(data) {
469
+ this.$refs.grid.setData(data);
470
+ },
471
+ clearData() {
472
+ this.billno = '';
473
+ this.$refs.grid.clearData();
474
+ },
475
+ getData() {
476
+ return this.$refs.grid.getData();
477
+ },
478
+ doCommonAllfile (flag) {
479
+ let data = this.$refs.grid.getData();
480
+ if (data.length === 0) {
481
+ return;
482
+ }
483
+ let usercode = Cookies.get('user_code')?Cookies.get('user_code'):0;
484
+ let username = Cookies.get('user_name')?Cookies.get('user_name'):0;
485
+ let filekey = '';
486
+ data.forEach(el => {
487
+ if (flag) {
488
+ filekey = filekey + el.filekey + ",";
489
+ } else {
490
+ if (el.modflag === 'M') {
491
+ filekey = filekey + el.filekey + ",";
492
+ }
493
+ }
494
+
495
+ });
496
+ if (filekey) {
497
+ filekey = filekey.substring(0, filekey.length - 1);
498
+ } else {
499
+ return;
500
+ }
501
+ let delUrl = this.myConfig.delfile + filekey + "&ent_id=" + this.getEnt_id() ;
502
+ let token = this.getToken();
503
+ if (token) {
504
+ delUrl = delUrl + '&token=' + token;
505
+ }
506
+ delUrl = delUrl + '&billno=' + this.billno;
507
+ delUrl = delUrl + '&billmoduleid=' + this.modulecode;
508
+ let notdelfile = 'N';
509
+ if (this.myConfig.notdelfile) {
510
+ notdelfile = 'Y';
511
+ }
512
+ delUrl = delUrl + '&usercode=' + usercode + '&username=' + username + '&notdelfile=' + notdelfile;
513
+ $.ajax({
514
+ type : 'GET',
515
+ url : encodeURI(delUrl),
516
+ async : true,
517
+ dataType : 'json'
518
+ });
519
+ },
520
+ dellAllfile () {
521
+ this.doCommonAllfile(true);
522
+ },
523
+ updateAllfile () {
524
+ this.doCommonAllfile(false);
525
+ },
526
+ handleBeforeUpload () {
527
+ let check = true;
528
+ if (this.$refs.billupload && this.$refs.billupload.fileList) {
529
+ check = this.$refs.billupload.fileList.length < this.myConfig.fileNum;
530
+ if (!check) {
531
+ this.alert('上传的文件数量过多(一次最多允许上传'+this.myConfig.fileNum+'个文件)');
532
+ }
533
+ }
534
+ if (!this.flag) {
535
+ this.flag = true;
536
+ this.loadingtext = '上传中';
537
+ if (this.myConfig.scenetype === '4') {
538
+ this.loadFlag = false;
539
+ } else {
540
+ this.showLoading();
541
+ }
542
+
543
+ }
544
+ return check;
545
+ },
546
+ editGrid () {
547
+ if (this.myConfig.beforeUpload) {
548
+ this.myConfig.beforeUpload();
549
+ }
550
+ if (!this.billno) {
551
+ this.alert('单据主健信息为空,不允许上传');
552
+ return;
553
+ }
554
+ if (this.checkIsEdit()) {
555
+ this.$nextTick(() => {
556
+ this.$refs.billupload.clearFiles();
557
+ });
558
+ if (this.myConfig.readOnly) {
559
+ this.setReadOnly(false);
560
+ }
561
+ document.querySelector('#billiviewUp input').click();
562
+ }
563
+ },
564
+ isChange() {
565
+ return this.$refs.grid.isChange();
566
+ },
567
+ checkIsEdit() {
568
+ let flag = true;
569
+ if (this.myConfig.editObjectBefore) {
570
+ flag = this.myConfig.editObjectBefore(this.myConfig.name);
571
+ }
572
+ return flag;
573
+ },
574
+ setBtnReadOnly(value) {
575
+ if (!value) {
576
+ if (this.billno) {
577
+ this.btnReadOnly = value;
578
+ }
579
+ } else {
580
+ this.btnReadOnly = value;
581
+ }
582
+ }
583
+
584
+ }
585
+ };
586
+ </script>