ocpview-plus 1.3.15 → 1.3.16

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 (213) hide show
  1. package/README.md +55 -43
  2. package/dist/ocpviewplus.min.esm.js +574 -482
  3. package/dist/ocpviewplus.min.js +9 -9
  4. package/dist/style.css +1 -1
  5. package/dist/styles/efviewplus.css +1 -1
  6. package/package.json +146 -146
  7. package/src/components/base/ContractPrintMixins.js +30 -30
  8. package/src/components/base/controlbase.vue +190 -190
  9. package/src/components/base/controlbox.vue +102 -102
  10. package/src/components/base/index.js +2 -2
  11. package/src/components/base/load.js +19 -19
  12. package/src/components/base/probase.js +220 -220
  13. package/src/components/base/size.js +78 -78
  14. package/src/components/billbox/billbox.vue +67 -67
  15. package/src/components/billbox/index.js +1 -1
  16. package/src/components/cascaderbox/cascaderbox.vue +184 -184
  17. package/src/components/cascaderbox/index.js +2 -2
  18. package/src/components/checkbox/checkbox.vue +75 -75
  19. package/src/components/checkbox/checkgroupbox.vue +103 -103
  20. package/src/components/checkbox/index.js +2 -2
  21. package/src/components/colorbox/colorbox.vue +43 -43
  22. package/src/components/colorbox/index.js +1 -1
  23. package/src/components/combobox/combobox.vue +219 -219
  24. package/src/components/combobox/index.js +1 -1
  25. package/src/components/conditionbox/conditionbase.vue +194 -194
  26. package/src/components/conditionbox/conditionbox.vue +62 -62
  27. package/src/components/conditionbox/conditionfilterbox.vue +479 -479
  28. package/src/components/conditionbox/conditionselectorbox.vue +237 -237
  29. package/src/components/conditionbox/index.js +4 -4
  30. package/src/components/conditionbox/queryconditionbox.vue +25 -25
  31. package/src/components/conditionbox/queryconditionboxbase.vue +123 -123
  32. package/src/components/conditionbox/searchconditionbox.vue +113 -113
  33. package/src/components/conditionbox/searchgrid.vue +391 -391
  34. package/src/components/datebox/DateBoxV1.vue +22 -22
  35. package/src/components/datebox/datebox.vue +129 -129
  36. package/src/components/datebox/daterangebox.vue +154 -154
  37. package/src/components/datebox/index.js +5 -5
  38. package/src/components/form/baseform.vue +676 -676
  39. package/src/components/form/detailsbox.vue +487 -487
  40. package/src/components/form/formbox.vue +28 -28
  41. package/src/components/form/formcardbox.vue +267 -267
  42. package/src/components/form/formcardbox2.vue +228 -228
  43. package/src/components/form/formcardgroupbox.vue +251 -251
  44. package/src/components/form/formcompro.js +18 -18
  45. package/src/components/form/formdetail.vue +128 -128
  46. package/src/components/form/formdetailtwo.vue +302 -302
  47. package/src/components/form/index.js +9 -9
  48. package/src/components/form/toolanchor.js +45 -45
  49. package/src/components/form/workform.vue +167 -167
  50. package/src/components/grid/basegrid.vue +1062 -1062
  51. package/src/components/grid/editgrid.vue +51 -51
  52. package/src/components/grid/editgridbase.vue +1062 -1062
  53. package/src/components/grid/editgridcard.vue +193 -193
  54. package/src/components/grid/expandrow.vue +137 -137
  55. package/src/components/grid/index.js +5 -5
  56. package/src/components/grid/viewgrid.vue +121 -121
  57. package/src/components/grid/viewgridbase.vue +1286 -1286
  58. package/src/components/icon/common-icon.vue +53 -53
  59. package/src/components/icon/eicon.vue +28 -28
  60. package/src/components/icon/icons.vue +42 -42
  61. package/src/components/icon/index.js +1 -1
  62. package/src/components/label/index.js +2 -2
  63. package/src/components/label/showtext.vue +94 -94
  64. package/src/components/load/loadcartoon.vue +227 -227
  65. package/src/components/map/index.js +1 -1
  66. package/src/components/map/mapbox.vue +348 -348
  67. package/src/components/masterplate/RewriteBillListDetails/BillInfoPanel.vue +184 -184
  68. package/src/components/masterplate/RewriteBillListDetails/BillInfoPanelEditTable.vue +838 -838
  69. package/src/components/masterplate/RewriteBillListDetails/BillInfoPanelEditTableControlbox.vue +126 -126
  70. package/src/components/masterplate/RewriteBillListDetails/BillInfoPanelEditTableControlboxNumberbox.vue +27 -27
  71. package/src/components/masterplate/RewriteBillListDetails/BillListPanel.vue +126 -126
  72. package/src/components/masterplate/RewriteBillListDetails/BillListPanelQueryBar.vue +280 -280
  73. package/src/components/masterplate/RewriteBillListDetails/BillListPanelTable.vue +346 -346
  74. package/src/components/masterplate/RewriteBillListDetails/index.vue +325 -325
  75. package/src/components/masterplate/RewriteBillListDetails/mixins/useVxeGridEditTypeKeydownEventHook.js +251 -251
  76. package/src/components/masterplate/RewriteListdetails/BillListPanelV2.vue +115 -115
  77. package/src/components/masterplate/RewriteListdetails/BillListPanelV2QueryBar.vue +24 -24
  78. package/src/components/masterplate/RewriteListdetails/BillListPanelV3.vue +121 -121
  79. package/src/components/masterplate/RewriteListdetails/BillListPanelV3QueryBar.vue +275 -275
  80. package/src/components/masterplate/RewriteListdetails/indexV2.vue +320 -320
  81. package/src/components/masterplate/RewriteListdetails/indexV3.vue +331 -331
  82. package/src/components/masterplate/appendix.vue +586 -586
  83. package/src/components/masterplate/approval.vue +863 -863
  84. package/src/components/masterplate/base.vue +1028 -1028
  85. package/src/components/masterplate/billasyncimport.vue +614 -614
  86. package/src/components/masterplate/billconditionbox.vue +223 -223
  87. package/src/components/masterplate/billconditionsbox.vue +427 -427
  88. package/src/components/masterplate/billdetailform.vue +1028 -1028
  89. package/src/components/masterplate/billimport.vue +301 -301
  90. package/src/components/masterplate/billquerygrid.vue +391 -391
  91. package/src/components/masterplate/billsinglegrid.vue +234 -234
  92. package/src/components/masterplate/birtreport.vue +185 -185
  93. package/src/components/masterplate/contractappendix.vue +688 -688
  94. package/src/components/masterplate/detailbtntoolbar.vue +311 -311
  95. package/src/components/masterplate/detailsbox.vue +386 -386
  96. package/src/components/masterplate/editgridcard.vue +292 -292
  97. package/src/components/masterplate/editgridcard2.vue +127 -127
  98. package/src/components/masterplate/formcard.vue +105 -105
  99. package/src/components/masterplate/formcardgroupbox.vue +167 -167
  100. package/src/components/masterplate/formdetailtwo.vue +366 -366
  101. package/src/components/masterplate/gridcolset.vue +226 -226
  102. package/src/components/masterplate/index.js +54 -54
  103. package/src/components/masterplate/layouttemplate.vue +51 -51
  104. package/src/components/masterplate/leftlistrightdetails.vue +581 -581
  105. package/src/components/masterplate/leftlistrightlist.vue +464 -464
  106. package/src/components/masterplate/lefttreerightdetails.vue +636 -636
  107. package/src/components/masterplate/levelreport.vue +510 -510
  108. package/src/components/masterplate/listbtntoolbar.vue +276 -276
  109. package/src/components/masterplate/listdetails.vue +768 -768
  110. package/src/components/masterplate/operlog.vue +272 -272
  111. package/src/components/masterplate/options.vue +110 -110
  112. package/src/components/masterplate/page.vue +102 -102
  113. package/src/components/masterplate/promptmessage.vue +73 -73
  114. package/src/components/masterplate/querybar.vue +490 -490
  115. package/src/components/masterplate/report.vue +357 -357
  116. package/src/components/masterplate/rowbtntoolbar.vue +126 -126
  117. package/src/components/masterplate/simpletree.vue +137 -137
  118. package/src/components/masterplate/simpleviewgrid.vue +144 -144
  119. package/src/components/mychart/bar/bar.vue +201 -201
  120. package/src/components/mychart/basechart.vue +190 -190
  121. package/src/components/mychart/complexmychart/barline.vue +153 -153
  122. package/src/components/mychart/gauge/gauge.vue +82 -82
  123. package/src/components/mychart/index.js +8 -8
  124. package/src/components/mychart/line/line.vue +201 -201
  125. package/src/components/mychart/liquidfill/liquidfill.vue +108 -108
  126. package/src/components/mychart/pie/pie.vue +95 -95
  127. package/src/components/mychart/radar/radar.vue +121 -121
  128. package/src/components/mychart/scatter/scatter.vue +75 -75
  129. package/src/components/numberbox/NumberBoxV1.vue +39 -39
  130. package/src/components/numberbox/append.js +11 -11
  131. package/src/components/numberbox/index.js +4 -4
  132. package/src/components/numberbox/numberbox.vue +302 -302
  133. package/src/components/numberbox/numberrangebox.vue +422 -422
  134. package/src/components/picturebox/filebox.vue +369 -369
  135. package/src/components/picturebox/index.js +2 -2
  136. package/src/components/picturebox/picturebox.vue +541 -541
  137. package/src/components/picturebox/uploadbox.vue +164 -164
  138. package/src/components/poptagbox/index.js +1 -1
  139. package/src/components/poptagbox/poptagbox.vue +388 -388
  140. package/src/components/poptextbox/index.js +1 -1
  141. package/src/components/poptextbox/poptextbox.vue +624 -624
  142. package/src/components/radiobox/index.js +1 -1
  143. package/src/components/radiobox/radiogroupbox.vue +75 -75
  144. package/src/components/richtextbox/editor.vue +150 -150
  145. package/src/components/richtextbox/index.js +1 -1
  146. package/src/components/richtextbox/richtextbox.vue +448 -448
  147. package/src/components/textbox/index.js +1 -1
  148. package/src/components/textbox/textbox.vue +97 -97
  149. package/src/components/timebox/index.js +1 -1
  150. package/src/components/timebox/timebox.vue +75 -75
  151. package/src/components/toolbar/ebutton.vue +169 -169
  152. package/src/components/toolbar/index.js +3 -3
  153. package/src/components/toolbar/toolbar.vue +445 -445
  154. package/src/components/tree/CompatTree.vue +297 -297
  155. package/src/components/tree/basetree.vue +1098 -1098
  156. package/src/components/tree/index.js +2 -2
  157. package/src/components/tree/treedata.vue +53 -53
  158. package/src/components/tree/treedatabase.vue +189 -189
  159. package/src/components/upload/billimport.vue +233 -233
  160. package/src/components/upload/index.js +1 -1
  161. package/src/components/videobox/index.js +1 -1
  162. package/src/components/videobox/uploadbox.vue +148 -148
  163. package/src/components/videobox/videobox.vue +503 -503
  164. package/src/components/wrichtextbox/editor.vue +219 -219
  165. package/src/components/wrichtextbox/index.js +1 -1
  166. package/src/components/wrichtextbox/wrichtextbox.vue +62 -62
  167. package/src/index.js +231 -231
  168. package/src/locale/format.js +51 -51
  169. package/src/locale/index.js +63 -63
  170. package/src/locale/lang/zh-CN.js +123 -123
  171. package/src/locale/lang/zh-TW.js +114 -114
  172. package/src/locale/lang/zh-UG.js +115 -115
  173. package/src/locale/lang.js +15 -15
  174. package/src/method/case/case.js +1274 -1274
  175. package/src/method/config/queryconfig.js +24 -24
  176. package/src/method/const/const.js +815 -815
  177. package/src/method/index.js +7 -7
  178. package/src/plugins/theme/theme-variable.css +114 -114
  179. package/src/plugins/vxeTable/index.js +241 -241
  180. package/src/plugins/vxeTable/renderer/components/TableFilterInput.vue +51 -51
  181. package/src/plugins/vxeTable/renderer/filter.js +32 -32
  182. package/src/static/excel/exportexcel.js +626 -626
  183. package/src/static/iview/coustom.js +462 -462
  184. package/src/store/index.js +18 -18
  185. package/src/store/modules/app.js +53 -53
  186. package/src/styles/README.md +3 -3
  187. package/src/styles/common.less +80 -80
  188. package/src/styles/components/anchor.less +74 -74
  189. package/src/styles/components/approval.less +135 -135
  190. package/src/styles/components/button.less +208 -208
  191. package/src/styles/components/card.less +51 -51
  192. package/src/styles/components/content.less +38 -38
  193. package/src/styles/components/font.less +313 -313
  194. package/src/styles/components/form.less +71 -71
  195. package/src/styles/components/iconfont/fonts/iconfont.less +1384 -1384
  196. package/src/styles/components/iconfont/fonts/iconfont.svg +703 -703
  197. package/src/styles/components/index.less +16 -16
  198. package/src/styles/components/input.less +290 -290
  199. package/src/styles/components/modal.less +203 -203
  200. package/src/styles/components/page.less +340 -340
  201. package/src/styles/components/select.less +361 -361
  202. package/src/styles/components/steps.less +367 -367
  203. package/src/styles/components/table.less +544 -544
  204. package/src/styles/components/tabs.less +249 -249
  205. package/src/styles/components/upload.less +82 -82
  206. package/src/styles/custom.less +67 -67
  207. package/src/styles/index.less +6 -6
  208. package/src/styles/pack.less +6 -6
  209. package/src/utils/EfuMessenger.js +155 -155
  210. package/src/utils/assist.js +353 -353
  211. package/src/utils/index.js +1 -1
  212. package/src/utils/random_str.js +10 -10
  213. package/src/components/masterplate/detailgridbox.vue +0 -386
@@ -1,503 +1,503 @@
1
- <template>
2
- <div v-show="myConfig.visible" ref="preview" :style="divStyle">
3
- <Row type="flex" :justify="rowJustify" align="middle" :gutter="16">
4
- <Col v-for="(item,index) in imgData" :key="'video_' + index" :span="colSpan">
5
- <Badge>
6
- <template #count>
7
- <div style="text-align: center;">
8
- <a v-if="!myConfig.readOnly && (showDelBtn || item.delUrl !== undefined)" href="#" @click.prevent="delFile(index)" style="display:block; height: 50%;">
9
- <Icon type="md-close-circle" color="#ed4014" size="16" />
10
- </a>
11
- <a v-if="showDownBtn && item.url !== undefined" href="#" @click.prevent="downFile(index)" style="display:block; height: 50%;">
12
- <Icon type="md-cloud-download" color="#ed4014" size="16" />
13
- </a>
14
- </div>
15
- </template>
16
- <video :src="item.url" :style="imgStyle" controls="controls">您的浏览器不支持视频</video>
17
- </Badge>
18
- </Col>
19
- <Col :span="colSpan" >
20
- <UploadBox ref="uploadbox" v-show="showUpload" ismultiple :config="myConfig" :readOnly="myConfig.readOnly" @success="handleSuccess" :headers="headers" :style="imgStyle">
21
- <template #btn>
22
- <Row type="flex" justify="center" align="middle" :style="btnStyle" >
23
- <Icon v-if="myConfig.icon" :type="myConfig.icon" :size="myConfig.iconSize" :color="iconColor"></Icon>
24
- <span v-if="myConfig.text">{{myConfig.text}}</span>
25
- </Row>
26
- </template>
27
- </UploadBox>
28
- </Col>
29
- </Row>
30
- <Row v-show="showMemo" type="flex" justify="start" align="middle" :gutter="16">
31
- <Col span='24'>
32
- <ShowText :label="myConfig.memo" contentAlign="left" :class="myConfig.memoClass"></ShowText>
33
- </Col>
34
- </Row>
35
- </div>
36
- </template>
37
- <script>
38
- import Base from '@/components/base/controlbase.vue';
39
- import UploadBox from './uploadbox.vue';
40
- import $ from 'jquery';
41
- export default {
42
- name: 'videobox',
43
- extends: Base,
44
- data () {
45
- return {
46
- myConfig:{
47
- fileNum: 1,
48
- fileSize: 2,
49
- fileType:['mp4','avi'],
50
- icon:'',
51
- iconSize:12,
52
- iconColor:'',
53
- text:'',
54
- imgPath:'',
55
- notdelfile:'N',
56
- downfile:'',
57
- delfile:'',
58
- uploadfile:'',
59
- multiSelect:false,
60
- simpleFlag:false,
61
- childColNum:6,
62
- proName:{
63
- 'billmoduleid':'billmoduleid',
64
- 'billno':'billno'
65
- },
66
- memo:'',
67
- memoClass:''
68
- },
69
- rowJustify:'center',
70
- visible: false,
71
- headers:{
72
- 'billmoduleid':'video',
73
- 'billno':'video'
74
- },
75
- imgData:[],
76
- userInfo:'',
77
- value:'',
78
- fileSize:2048,
79
- showUpload:true,
80
- showDelBtn:true,
81
- showDownBtn:true,
82
- showPreview:true,
83
- uploadFlag:false,
84
- showMemo:false,
85
- prefixCls:'demo-upload',
86
- imgStyle:{},
87
- style: {},
88
- btnStyle:{},
89
- defaultvalue:'',
90
- divStyle:{}
91
- };
92
- },
93
- components:{
94
- UploadBox
95
- },
96
- computed:{
97
- colSpan () {
98
- return this.getSpan();
99
- },
100
- iconColor () {
101
- if (this.myConfig.readOnly) {
102
- return '#e3e5e8';
103
- } else {
104
- return this.myConfig.iconColor;
105
- }
106
- }
107
- } ,
108
- props:{
109
- showStyle: {
110
- type:String,
111
- default:'FormItem'
112
- },
113
- fileKey:{
114
- type:String,
115
- default:''
116
- }
117
- },
118
- methods: {
119
- customInit() {
120
- if (this.myConfig.fileSize) {
121
- this.fileSize = Number(this.myConfig.fileSize) * 1024;
122
- }
123
- if (this.myConfig.showDelBtn !== undefined) {
124
- this.showDelBtn = this.myConfig.showDelBtn;
125
- }
126
- if (this.myConfig.showDownBtn !== undefined) {
127
- this.showDownBtn = this.myConfig.showDownBtn;
128
- }
129
- if (this.myConfig.showPreview !== undefined) {
130
- this.showPreview = this.myConfig.showPreview;
131
- }
132
- if (this.myConfig.headers !== undefined) {
133
- this.headers = Object.assign({},this.headers,this.myConfig.headers);
134
- }
135
-
136
- if (this.myConfig.width) {
137
- this.style.width = (Number(this.myConfig.width) -2) + 'px';
138
- this.btnStyle.width = (Number(this.myConfig.width) -2) + 'px';
139
- } else {
140
- this.style.width = '98%';
141
- this.btnStyle.width = '98%';
142
- }
143
- if (this.myConfig.height) {
144
- this.style.height = this.myConfig.height + 'px';
145
- this.style['line-height'] = this.myConfig.height + 'px';
146
- this.btnStyle.height = (Number(this.myConfig.height) -2) + 'px';
147
- this.btnStyle['line-height'] = (Number(this.myConfig.height) -2) + 'px';
148
-
149
- } else {
150
- this.style.height = '100px';
151
- this.style['line-height'] = '100px';
152
- this.btnStyle.height = '58px';
153
- this.btnStyle['line-height'] = '58px';
154
- }
155
- Object.assign(this.imgStyle , this.style);
156
-
157
- if (this.myConfig.imgWidth) {
158
- this.imgStyle.width = this.myConfig.imgWidth+ 'px';
159
- this.btnStyle.width = this.myConfig.imgWidth+ 'px';
160
- }
161
-
162
- if (this.myConfig.imgHeight) {
163
- this.imgStyle.height = this.myConfig.imgHeight+ 'px';
164
- this.imgStyle['line-height'] = this.myConfig.imgHeight + 'px';
165
- this.btnStyle.height = (Number(this.myConfig.imgHeight) -2) + 'px';
166
- this.btnStyle['line-height'] = (Number(this.myConfig.imgHeight) -2) + 'px';
167
- }
168
- if (this.myConfig.divStyle) {
169
- Object.assign(this.divStyle , this.myConfig.divStyle);
170
- }
171
-
172
-
173
- if (!this.myConfig.simpleFlag) {
174
- if (!this.myConfig.downfile) {
175
- this.myConfig.downfile = this.OmdUrl.downfile;
176
- }
177
- if (!this.myConfig.delfile) {
178
- this.myConfig.delfile = this.OmdUrl.delfile;
179
- }
180
- if (!this.myConfig.uploadfile) {
181
- this.myConfig.uploadfile = this.OmdUrl.uploadfile;
182
- }
183
- let usercode = this.getUserCode();
184
- let username = this.getUserName();
185
- let userInfo = '&usercode=' + usercode + '&username=' + username + '&ent_id=' + this.getEnt_id();
186
- let notdelfile = this.myConfig.notdelfile;
187
- if (this.myConfig.notdelfile !== undefined) {
188
- notdelfile = this.myConfig.notdelfile;
189
- }
190
- if (notdelfile !== 'Y') {
191
- userInfo = userInfo + '&notdelfile=N';
192
- } else {
193
- userInfo = userInfo + '&notdelfile=Y';
194
- }
195
- this.userInfo = encodeURI(userInfo);
196
- } else {
197
- this.userInfo = this.userInfo + '&ent_id=' + this.getEnt_id();
198
- }
199
-
200
- if (this.myConfig.uploadfile.indexOf('uploadFile') !=-1) {
201
- let url = 'ent_id=' + this.getEnt_id() + '&billmoduleid=' + this.headers.billmoduleid;
202
- url = url+'&session='+ JSON.stringify(this.getSession());
203
- if (this.myConfig.uploadfile.indexOf('?') != -1) {
204
- this.myConfig.uploadfile = this.myConfig.uploadfile + '&' + encodeURI(url);
205
- } else {
206
- this.myConfig.uploadfile = this.myConfig.uploadfile + '?' + encodeURI(url);
207
- }
208
- this.headers = {};
209
- } else {
210
- if (this.myConfig.uploadfile.indexOf('?') != -1) {
211
- this.myConfig.uploadfile = this.myConfig.uploadfile + '&' + 'ent_id=' + this.getEnt_id();
212
- } else {
213
- this.myConfig.uploadfile = this.myConfig.uploadfile + '?' + 'ent_id=' + this.getEnt_id();
214
- }
215
- }
216
- if (this.myConfig.memo) {
217
- this.showMemo = true;
218
- } else {
219
- this.showMemo = false;
220
- }
221
- if (!this.myConfig.multiSelect) {
222
- this.initFile();
223
- } else {
224
- this.rowJustify = 'start';
225
- }
226
- },
227
- initFile() {
228
- let value = this.fatherValue;
229
- if (this.fileKey) {
230
- value = this.fileKey;
231
- }
232
- this.imgData = [];
233
- let obj = {};
234
- obj.filename = 'video';
235
- if (value) {
236
- this.value = value;
237
- this.showUpload = false;
238
- obj.fileKey = this.value;
239
- this.addImgData(obj);
240
- } else {
241
- if (this.config.imgPath) {
242
- let obj = {};
243
- obj.filename = 'video';
244
- obj.imgPath = this.config.imgPath;
245
- this.addImgData (obj);
246
- this.showUpload = false;
247
- } else {
248
- this.showUpload = true;
249
- }
250
- }
251
- },
252
- setImgPath() {
253
- this.imgData = [];
254
- if (this.config.imgPath) {
255
- let obj = {};
256
- obj.filename = 'video';
257
- obj.imgPath = this.config.imgPath;
258
- this.addImgData (obj);
259
- this.showUpload = false;
260
- } else {
261
- this.showUpload = true;
262
- }
263
- },
264
- handleRemove () {
265
- this.delFile();
266
- this.$refs.upload.clearFiles();
267
- this.showUpload = true;
268
- },
269
- handleSuccess (obj) {
270
- if (this.myConfig.multiSelect) {
271
- this.refurbish();
272
- } else {
273
- this.imgData = [];
274
- this.addImgData(obj.data[0]);
275
- this.setFatherValue();
276
- this.showUpload = false;
277
- }
278
- if (this.config.onOpenChange) {
279
- this.config.onOpenChange(false);
280
- }
281
- },
282
- refurbish() {
283
- if (this.headers.billno && this.headers.billmoduleid) {
284
- this.getFilesInfo(this.headers.billno,this.headers.billmoduleid,this.myConfig.notdelfile,this.setImgData);
285
- } else {
286
- this.imgData = [];
287
- }
288
- },
289
- addImgData(temp) {
290
- let fileKey = '';
291
- if (temp.fileKey !== undefined) {
292
- fileKey = temp.fileKey;
293
- }
294
- if (temp.filekey !== undefined) {
295
- fileKey = temp.filekey;
296
- }
297
- if (fileKey) {
298
- let obj = {};
299
- if (this.config.customImgPath) {
300
- obj = this.config.customImgPath(temp);
301
- } else {
302
- this.value = fileKey;
303
- if (!this.myConfig.downfile) {
304
- return;
305
- }
306
- obj.downUrl = this.myConfig.downfile + fileKey + this.userInfo;
307
- if (temp.filename) {
308
- obj.title = temp.filename;
309
- } else {
310
- obj.title = '';
311
- }
312
- obj.url = obj.downUrl;
313
- }
314
- obj.filekey = fileKey;
315
- this.imgData.push(obj);
316
- } else {
317
- let obj = {};
318
- if (temp.url !== undefined) {
319
- let list = temp.url.split('/');
320
- this.value = list[list.length - 1];
321
- obj.title = temp.file;
322
- obj.url = temp.url;
323
- obj.downUrl = temp.url;
324
- obj.filekey = this.value;
325
- } else {
326
- obj.title =temp.filename;
327
- obj.url = temp.imgPath;
328
- obj.downUrl = temp.imgPath;
329
- }
330
- this.imgData.push(obj);
331
- }
332
- },
333
- setImgData (data) {
334
- this.imgData = [];
335
- let notdelfile = this.myConfig.notdelfile;
336
- if (this.config.notdelfile !== undefined) {
337
- notdelfile = this.config.notdelfile;
338
- }
339
- let addflag = false;
340
- if (data && data.length > 0) {
341
- data.forEach(el => {
342
- addflag = false;
343
- let obj = {};
344
- Object.assign(obj, el);
345
- if (obj.modflag) {
346
- if (notdelfile === 'Y' && obj.modflag === 'M') {
347
- addflag = true;
348
- }
349
- }
350
- if (!addflag) {
351
- this.imgData.push(obj);
352
- }
353
- });
354
- }
355
- },
356
- delFile(index) {
357
- let delUrl = '';
358
- if (index || index === 0) {
359
- if (this.imgData[index].filekey) {
360
- if (this.myConfig.delfile) {
361
- delUrl = this.myConfig.delfile + this.imgData[index].filekey + this.userInfo;
362
- }
363
- }
364
- if (delUrl) {
365
- if (delUrl.indexOf('deleteFile') !=-1) {
366
- $.ajax({
367
- type : 'POST',
368
- url : encodeURI(delUrl),
369
- async : true,
370
- dataType : 'json'
371
- });
372
- } else {
373
- this.asyncPost(encodeURI(delUrl),'',{},null,null,null,'get');
374
- }
375
- }
376
- if (this.imgData[index].filekey) {
377
- if (this.$refs.uploadbox) {
378
- this.$refs.uploadbox.delFile(this.imgData[index].filekey);
379
- }
380
- }
381
- this.imgData.splice(index,1);
382
- } else {
383
- let self = this;
384
- this.imgData.forEach(el => {
385
- let tempDelUrl = '';
386
- if (self.myConfig.delfile && el.filekey) {
387
- delUrl = self.myConfig.delfile + el.filekey + self.userInfo;
388
- }
389
- if (tempDelUrl) {
390
- if (tempDelUrl.indexOf('deleteFile') !=-1) {
391
- this.asyncPost(encodeURI(el.delUrl),'',null,null,null,null,'post');
392
- } else {
393
- this.asyncPost(encodeURI(el.delUrl),'',{},null,null,null,'get');
394
- }
395
- }
396
- });
397
- this.imgData = [];
398
- }
399
- if (!this.myConfig.multiSelect) {
400
- this.value = '';
401
- this.showUpload = true;
402
- this.setFatherValue();
403
- }
404
-
405
- },
406
- downFile (index) {
407
- window.open(encodeURI(this.imgData[index].url), '_self');
408
- },
409
- valueToFatherValue() {
410
- let para= {};
411
- if (!this.value) {
412
- para.value = '';
413
- } else {
414
- para.value = this.value;
415
- }
416
- return para;
417
- },
418
- setFatherValue() {
419
- let para = this.valueToFatherValue();
420
- para.name = this.myConfig.name;
421
- this.$emit('inputValue', para);
422
- },
423
- watchCustomFatherValue() {
424
- this.initFile();
425
- },
426
- getSpan() {
427
- if (this.myConfig.multiSelect) {
428
- return 24/Number(this.myConfig.childColNum);
429
- } else {
430
- return 24;
431
- }
432
- },
433
- setReadOnly(value) {
434
- let obj = {};
435
- obj.readOnly = value;
436
- if (obj.readOnly === false) {
437
- if (this.config.readOnly !== true) {
438
- this.setPro(obj);
439
- }
440
- } else {
441
- this.setPro(obj);
442
- }
443
- },
444
- checkPara () {
445
- if (this.myConfig.multiSelect) {
446
- if (this.$parent && this.$parent.valueData) {
447
- this.setHeaders(this.$parent.valueData);
448
- }
449
- if (!this.isHeadersOk()) {
450
- if (this.myConfig.paraErrorInfo) {
451
- this.alert(this.myConfig.paraErrorInfo);
452
- return false;
453
- }
454
- }
455
- return true;
456
- } else {
457
- return true;
458
- }
459
- },
460
- setHeaders(data) {
461
- for (let temp in this.headers) {
462
- this.headers[temp] = '';
463
- }
464
- if (data) {
465
- for (let pro in this.myConfig.proName) {
466
- if (data[this.myConfig.proName[pro]]) {
467
- this.headers[pro] = data[this.myConfig.proName[pro]];
468
- } else {
469
- this.headers[pro] = '';
470
- }
471
- }
472
- }
473
-
474
- },
475
- isHeadersOk() {
476
- let flag = true;
477
- for (let pro in this.headers) {
478
- if (!this.headers[pro]) {
479
- flag = false;
480
- break;
481
- }
482
- }
483
- return flag;
484
- },
485
- setProValue(data) {
486
- if (this.myConfig.multiSelect) {
487
- if (data) {
488
- this.setHeaders(data);
489
- if (this.isHeadersOk()) {
490
- this.refurbish();
491
- } else {
492
- this.imgData = [];
493
- }
494
- }
495
-
496
- }
497
- }
498
- },
499
- mounted () {
500
- //this.uploadList = this.$refs.upload.fileList;
501
- }
502
- };
503
- </script>
1
+ <template>
2
+ <div v-show="myConfig.visible" ref="preview" :style="divStyle">
3
+ <Row type="flex" :justify="rowJustify" align="middle" :gutter="16">
4
+ <Col v-for="(item,index) in imgData" :key="'video_' + index" :span="colSpan">
5
+ <Badge>
6
+ <template #count>
7
+ <div style="text-align: center;">
8
+ <a v-if="!myConfig.readOnly && (showDelBtn || item.delUrl !== undefined)" href="#" @click.prevent="delFile(index)" style="display:block; height: 50%;">
9
+ <Icon type="md-close-circle" color="#ed4014" size="16" />
10
+ </a>
11
+ <a v-if="showDownBtn && item.url !== undefined" href="#" @click.prevent="downFile(index)" style="display:block; height: 50%;">
12
+ <Icon type="md-cloud-download" color="#ed4014" size="16" />
13
+ </a>
14
+ </div>
15
+ </template>
16
+ <video :src="item.url" :style="imgStyle" controls="controls">您的浏览器不支持视频</video>
17
+ </Badge>
18
+ </Col>
19
+ <Col :span="colSpan" >
20
+ <UploadBox ref="uploadbox" v-show="showUpload" ismultiple :config="myConfig" :readOnly="myConfig.readOnly" @success="handleSuccess" :headers="headers" :style="imgStyle">
21
+ <template #btn>
22
+ <Row type="flex" justify="center" align="middle" :style="btnStyle" >
23
+ <Icon v-if="myConfig.icon" :type="myConfig.icon" :size="myConfig.iconSize" :color="iconColor"></Icon>
24
+ <span v-if="myConfig.text">{{myConfig.text}}</span>
25
+ </Row>
26
+ </template>
27
+ </UploadBox>
28
+ </Col>
29
+ </Row>
30
+ <Row v-show="showMemo" type="flex" justify="start" align="middle" :gutter="16">
31
+ <Col span='24'>
32
+ <ShowText :label="myConfig.memo" contentAlign="left" :class="myConfig.memoClass"></ShowText>
33
+ </Col>
34
+ </Row>
35
+ </div>
36
+ </template>
37
+ <script>
38
+ import Base from '@/components/base/controlbase.vue';
39
+ import UploadBox from './uploadbox.vue';
40
+ import $ from 'jquery';
41
+ export default {
42
+ name: 'videobox',
43
+ extends: Base,
44
+ data () {
45
+ return {
46
+ myConfig:{
47
+ fileNum: 1,
48
+ fileSize: 2,
49
+ fileType:['mp4','avi'],
50
+ icon:'',
51
+ iconSize:12,
52
+ iconColor:'',
53
+ text:'',
54
+ imgPath:'',
55
+ notdelfile:'N',
56
+ downfile:'',
57
+ delfile:'',
58
+ uploadfile:'',
59
+ multiSelect:false,
60
+ simpleFlag:false,
61
+ childColNum:6,
62
+ proName:{
63
+ 'billmoduleid':'billmoduleid',
64
+ 'billno':'billno'
65
+ },
66
+ memo:'',
67
+ memoClass:''
68
+ },
69
+ rowJustify:'center',
70
+ visible: false,
71
+ headers:{
72
+ 'billmoduleid':'video',
73
+ 'billno':'video'
74
+ },
75
+ imgData:[],
76
+ userInfo:'',
77
+ value:'',
78
+ fileSize:2048,
79
+ showUpload:true,
80
+ showDelBtn:true,
81
+ showDownBtn:true,
82
+ showPreview:true,
83
+ uploadFlag:false,
84
+ showMemo:false,
85
+ prefixCls:'demo-upload',
86
+ imgStyle:{},
87
+ style: {},
88
+ btnStyle:{},
89
+ defaultvalue:'',
90
+ divStyle:{}
91
+ };
92
+ },
93
+ components:{
94
+ UploadBox
95
+ },
96
+ computed:{
97
+ colSpan () {
98
+ return this.getSpan();
99
+ },
100
+ iconColor () {
101
+ if (this.myConfig.readOnly) {
102
+ return '#e3e5e8';
103
+ } else {
104
+ return this.myConfig.iconColor;
105
+ }
106
+ }
107
+ } ,
108
+ props:{
109
+ showStyle: {
110
+ type:String,
111
+ default:'FormItem'
112
+ },
113
+ fileKey:{
114
+ type:String,
115
+ default:''
116
+ }
117
+ },
118
+ methods: {
119
+ customInit() {
120
+ if (this.myConfig.fileSize) {
121
+ this.fileSize = Number(this.myConfig.fileSize) * 1024;
122
+ }
123
+ if (this.myConfig.showDelBtn !== undefined) {
124
+ this.showDelBtn = this.myConfig.showDelBtn;
125
+ }
126
+ if (this.myConfig.showDownBtn !== undefined) {
127
+ this.showDownBtn = this.myConfig.showDownBtn;
128
+ }
129
+ if (this.myConfig.showPreview !== undefined) {
130
+ this.showPreview = this.myConfig.showPreview;
131
+ }
132
+ if (this.myConfig.headers !== undefined) {
133
+ this.headers = Object.assign({},this.headers,this.myConfig.headers);
134
+ }
135
+
136
+ if (this.myConfig.width) {
137
+ this.style.width = (Number(this.myConfig.width) -2) + 'px';
138
+ this.btnStyle.width = (Number(this.myConfig.width) -2) + 'px';
139
+ } else {
140
+ this.style.width = '98%';
141
+ this.btnStyle.width = '98%';
142
+ }
143
+ if (this.myConfig.height) {
144
+ this.style.height = this.myConfig.height + 'px';
145
+ this.style['line-height'] = this.myConfig.height + 'px';
146
+ this.btnStyle.height = (Number(this.myConfig.height) -2) + 'px';
147
+ this.btnStyle['line-height'] = (Number(this.myConfig.height) -2) + 'px';
148
+
149
+ } else {
150
+ this.style.height = '100px';
151
+ this.style['line-height'] = '100px';
152
+ this.btnStyle.height = '58px';
153
+ this.btnStyle['line-height'] = '58px';
154
+ }
155
+ Object.assign(this.imgStyle , this.style);
156
+
157
+ if (this.myConfig.imgWidth) {
158
+ this.imgStyle.width = this.myConfig.imgWidth+ 'px';
159
+ this.btnStyle.width = this.myConfig.imgWidth+ 'px';
160
+ }
161
+
162
+ if (this.myConfig.imgHeight) {
163
+ this.imgStyle.height = this.myConfig.imgHeight+ 'px';
164
+ this.imgStyle['line-height'] = this.myConfig.imgHeight + 'px';
165
+ this.btnStyle.height = (Number(this.myConfig.imgHeight) -2) + 'px';
166
+ this.btnStyle['line-height'] = (Number(this.myConfig.imgHeight) -2) + 'px';
167
+ }
168
+ if (this.myConfig.divStyle) {
169
+ Object.assign(this.divStyle , this.myConfig.divStyle);
170
+ }
171
+
172
+
173
+ if (!this.myConfig.simpleFlag) {
174
+ if (!this.myConfig.downfile) {
175
+ this.myConfig.downfile = this.OmdUrl.downfile;
176
+ }
177
+ if (!this.myConfig.delfile) {
178
+ this.myConfig.delfile = this.OmdUrl.delfile;
179
+ }
180
+ if (!this.myConfig.uploadfile) {
181
+ this.myConfig.uploadfile = this.OmdUrl.uploadfile;
182
+ }
183
+ let usercode = this.getUserCode();
184
+ let username = this.getUserName();
185
+ let userInfo = '&usercode=' + usercode + '&username=' + username + '&ent_id=' + this.getEnt_id();
186
+ let notdelfile = this.myConfig.notdelfile;
187
+ if (this.myConfig.notdelfile !== undefined) {
188
+ notdelfile = this.myConfig.notdelfile;
189
+ }
190
+ if (notdelfile !== 'Y') {
191
+ userInfo = userInfo + '&notdelfile=N';
192
+ } else {
193
+ userInfo = userInfo + '&notdelfile=Y';
194
+ }
195
+ this.userInfo = encodeURI(userInfo);
196
+ } else {
197
+ this.userInfo = this.userInfo + '&ent_id=' + this.getEnt_id();
198
+ }
199
+
200
+ if (this.myConfig.uploadfile.indexOf('uploadFile') !=-1) {
201
+ let url = 'ent_id=' + this.getEnt_id() + '&billmoduleid=' + this.headers.billmoduleid;
202
+ url = url+'&session='+ JSON.stringify(this.getSession());
203
+ if (this.myConfig.uploadfile.indexOf('?') != -1) {
204
+ this.myConfig.uploadfile = this.myConfig.uploadfile + '&' + encodeURI(url);
205
+ } else {
206
+ this.myConfig.uploadfile = this.myConfig.uploadfile + '?' + encodeURI(url);
207
+ }
208
+ this.headers = {};
209
+ } else {
210
+ if (this.myConfig.uploadfile.indexOf('?') != -1) {
211
+ this.myConfig.uploadfile = this.myConfig.uploadfile + '&' + 'ent_id=' + this.getEnt_id();
212
+ } else {
213
+ this.myConfig.uploadfile = this.myConfig.uploadfile + '?' + 'ent_id=' + this.getEnt_id();
214
+ }
215
+ }
216
+ if (this.myConfig.memo) {
217
+ this.showMemo = true;
218
+ } else {
219
+ this.showMemo = false;
220
+ }
221
+ if (!this.myConfig.multiSelect) {
222
+ this.initFile();
223
+ } else {
224
+ this.rowJustify = 'start';
225
+ }
226
+ },
227
+ initFile() {
228
+ let value = this.fatherValue;
229
+ if (this.fileKey) {
230
+ value = this.fileKey;
231
+ }
232
+ this.imgData = [];
233
+ let obj = {};
234
+ obj.filename = 'video';
235
+ if (value) {
236
+ this.value = value;
237
+ this.showUpload = false;
238
+ obj.fileKey = this.value;
239
+ this.addImgData(obj);
240
+ } else {
241
+ if (this.config.imgPath) {
242
+ let obj = {};
243
+ obj.filename = 'video';
244
+ obj.imgPath = this.config.imgPath;
245
+ this.addImgData (obj);
246
+ this.showUpload = false;
247
+ } else {
248
+ this.showUpload = true;
249
+ }
250
+ }
251
+ },
252
+ setImgPath() {
253
+ this.imgData = [];
254
+ if (this.config.imgPath) {
255
+ let obj = {};
256
+ obj.filename = 'video';
257
+ obj.imgPath = this.config.imgPath;
258
+ this.addImgData (obj);
259
+ this.showUpload = false;
260
+ } else {
261
+ this.showUpload = true;
262
+ }
263
+ },
264
+ handleRemove () {
265
+ this.delFile();
266
+ this.$refs.upload.clearFiles();
267
+ this.showUpload = true;
268
+ },
269
+ handleSuccess (obj) {
270
+ if (this.myConfig.multiSelect) {
271
+ this.refurbish();
272
+ } else {
273
+ this.imgData = [];
274
+ this.addImgData(obj.data[0]);
275
+ this.setFatherValue();
276
+ this.showUpload = false;
277
+ }
278
+ if (this.config.onOpenChange) {
279
+ this.config.onOpenChange(false);
280
+ }
281
+ },
282
+ refurbish() {
283
+ if (this.headers.billno && this.headers.billmoduleid) {
284
+ this.getFilesInfo(this.headers.billno,this.headers.billmoduleid,this.myConfig.notdelfile,this.setImgData);
285
+ } else {
286
+ this.imgData = [];
287
+ }
288
+ },
289
+ addImgData(temp) {
290
+ let fileKey = '';
291
+ if (temp.fileKey !== undefined) {
292
+ fileKey = temp.fileKey;
293
+ }
294
+ if (temp.filekey !== undefined) {
295
+ fileKey = temp.filekey;
296
+ }
297
+ if (fileKey) {
298
+ let obj = {};
299
+ if (this.config.customImgPath) {
300
+ obj = this.config.customImgPath(temp);
301
+ } else {
302
+ this.value = fileKey;
303
+ if (!this.myConfig.downfile) {
304
+ return;
305
+ }
306
+ obj.downUrl = this.myConfig.downfile + fileKey + this.userInfo;
307
+ if (temp.filename) {
308
+ obj.title = temp.filename;
309
+ } else {
310
+ obj.title = '';
311
+ }
312
+ obj.url = obj.downUrl;
313
+ }
314
+ obj.filekey = fileKey;
315
+ this.imgData.push(obj);
316
+ } else {
317
+ let obj = {};
318
+ if (temp.url !== undefined) {
319
+ let list = temp.url.split('/');
320
+ this.value = list[list.length - 1];
321
+ obj.title = temp.file;
322
+ obj.url = temp.url;
323
+ obj.downUrl = temp.url;
324
+ obj.filekey = this.value;
325
+ } else {
326
+ obj.title =temp.filename;
327
+ obj.url = temp.imgPath;
328
+ obj.downUrl = temp.imgPath;
329
+ }
330
+ this.imgData.push(obj);
331
+ }
332
+ },
333
+ setImgData (data) {
334
+ this.imgData = [];
335
+ let notdelfile = this.myConfig.notdelfile;
336
+ if (this.config.notdelfile !== undefined) {
337
+ notdelfile = this.config.notdelfile;
338
+ }
339
+ let addflag = false;
340
+ if (data && data.length > 0) {
341
+ data.forEach(el => {
342
+ addflag = false;
343
+ let obj = {};
344
+ Object.assign(obj, el);
345
+ if (obj.modflag) {
346
+ if (notdelfile === 'Y' && obj.modflag === 'M') {
347
+ addflag = true;
348
+ }
349
+ }
350
+ if (!addflag) {
351
+ this.imgData.push(obj);
352
+ }
353
+ });
354
+ }
355
+ },
356
+ delFile(index) {
357
+ let delUrl = '';
358
+ if (index || index === 0) {
359
+ if (this.imgData[index].filekey) {
360
+ if (this.myConfig.delfile) {
361
+ delUrl = this.myConfig.delfile + this.imgData[index].filekey + this.userInfo;
362
+ }
363
+ }
364
+ if (delUrl) {
365
+ if (delUrl.indexOf('deleteFile') !=-1) {
366
+ $.ajax({
367
+ type : 'POST',
368
+ url : encodeURI(delUrl),
369
+ async : true,
370
+ dataType : 'json'
371
+ });
372
+ } else {
373
+ this.asyncPost(encodeURI(delUrl),'',{},null,null,null,'get');
374
+ }
375
+ }
376
+ if (this.imgData[index].filekey) {
377
+ if (this.$refs.uploadbox) {
378
+ this.$refs.uploadbox.delFile(this.imgData[index].filekey);
379
+ }
380
+ }
381
+ this.imgData.splice(index,1);
382
+ } else {
383
+ let self = this;
384
+ this.imgData.forEach(el => {
385
+ let tempDelUrl = '';
386
+ if (self.myConfig.delfile && el.filekey) {
387
+ delUrl = self.myConfig.delfile + el.filekey + self.userInfo;
388
+ }
389
+ if (tempDelUrl) {
390
+ if (tempDelUrl.indexOf('deleteFile') !=-1) {
391
+ this.asyncPost(encodeURI(el.delUrl),'',null,null,null,null,'post');
392
+ } else {
393
+ this.asyncPost(encodeURI(el.delUrl),'',{},null,null,null,'get');
394
+ }
395
+ }
396
+ });
397
+ this.imgData = [];
398
+ }
399
+ if (!this.myConfig.multiSelect) {
400
+ this.value = '';
401
+ this.showUpload = true;
402
+ this.setFatherValue();
403
+ }
404
+
405
+ },
406
+ downFile (index) {
407
+ window.open(encodeURI(this.imgData[index].url), '_self');
408
+ },
409
+ valueToFatherValue() {
410
+ let para= {};
411
+ if (!this.value) {
412
+ para.value = '';
413
+ } else {
414
+ para.value = this.value;
415
+ }
416
+ return para;
417
+ },
418
+ setFatherValue() {
419
+ let para = this.valueToFatherValue();
420
+ para.name = this.myConfig.name;
421
+ this.$emit('inputValue', para);
422
+ },
423
+ watchCustomFatherValue() {
424
+ this.initFile();
425
+ },
426
+ getSpan() {
427
+ if (this.myConfig.multiSelect) {
428
+ return 24/Number(this.myConfig.childColNum);
429
+ } else {
430
+ return 24;
431
+ }
432
+ },
433
+ setReadOnly(value) {
434
+ let obj = {};
435
+ obj.readOnly = value;
436
+ if (obj.readOnly === false) {
437
+ if (this.config.readOnly !== true) {
438
+ this.setPro(obj);
439
+ }
440
+ } else {
441
+ this.setPro(obj);
442
+ }
443
+ },
444
+ checkPara () {
445
+ if (this.myConfig.multiSelect) {
446
+ if (this.$parent && this.$parent.valueData) {
447
+ this.setHeaders(this.$parent.valueData);
448
+ }
449
+ if (!this.isHeadersOk()) {
450
+ if (this.myConfig.paraErrorInfo) {
451
+ this.alert(this.myConfig.paraErrorInfo);
452
+ return false;
453
+ }
454
+ }
455
+ return true;
456
+ } else {
457
+ return true;
458
+ }
459
+ },
460
+ setHeaders(data) {
461
+ for (let temp in this.headers) {
462
+ this.headers[temp] = '';
463
+ }
464
+ if (data) {
465
+ for (let pro in this.myConfig.proName) {
466
+ if (data[this.myConfig.proName[pro]]) {
467
+ this.headers[pro] = data[this.myConfig.proName[pro]];
468
+ } else {
469
+ this.headers[pro] = '';
470
+ }
471
+ }
472
+ }
473
+
474
+ },
475
+ isHeadersOk() {
476
+ let flag = true;
477
+ for (let pro in this.headers) {
478
+ if (!this.headers[pro]) {
479
+ flag = false;
480
+ break;
481
+ }
482
+ }
483
+ return flag;
484
+ },
485
+ setProValue(data) {
486
+ if (this.myConfig.multiSelect) {
487
+ if (data) {
488
+ this.setHeaders(data);
489
+ if (this.isHeadersOk()) {
490
+ this.refurbish();
491
+ } else {
492
+ this.imgData = [];
493
+ }
494
+ }
495
+
496
+ }
497
+ }
498
+ },
499
+ mounted () {
500
+ //this.uploadList = this.$refs.upload.fileList;
501
+ }
502
+ };
503
+ </script>