@tmagic/form 1.0.0-beta.12 → 1.0.0-beta.13

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 (59) hide show
  1. package/coverage/clover.xml +1349 -0
  2. package/coverage/coverage-final.json +37 -0
  3. package/coverage/lcov-report/base.css +224 -0
  4. package/coverage/lcov-report/block-navigation.js +87 -0
  5. package/coverage/lcov-report/favicon.png +0 -0
  6. package/coverage/lcov-report/index.html +176 -0
  7. package/coverage/lcov-report/prettify.css +1 -0
  8. package/coverage/lcov-report/prettify.js +2 -0
  9. package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  10. package/coverage/lcov-report/sorter.js +196 -0
  11. package/coverage/lcov-report/src/Form.vue.html +676 -0
  12. package/coverage/lcov-report/src/FormDialog.vue.html +583 -0
  13. package/coverage/lcov-report/src/containers/Container.vue.html +913 -0
  14. package/coverage/lcov-report/src/containers/Fieldset.vue.html +499 -0
  15. package/coverage/lcov-report/src/containers/GroupList.vue.html +541 -0
  16. package/coverage/lcov-report/src/containers/GroupListItem.vue.html +562 -0
  17. package/coverage/lcov-report/src/containers/Panel.vue.html +403 -0
  18. package/coverage/lcov-report/src/containers/Row.vue.html +289 -0
  19. package/coverage/lcov-report/src/containers/Step.vue.html +331 -0
  20. package/coverage/lcov-report/src/containers/Table.vue.html +1963 -0
  21. package/coverage/lcov-report/src/containers/Tabs.vue.html +625 -0
  22. package/coverage/lcov-report/src/containers/index.html +236 -0
  23. package/coverage/lcov-report/src/fields/Cascader.vue.html +526 -0
  24. package/coverage/lcov-report/src/fields/Checkbox.vue.html +286 -0
  25. package/coverage/lcov-report/src/fields/CheckboxGroup.vue.html +217 -0
  26. package/coverage/lcov-report/src/fields/ColorPicker.vue.html +199 -0
  27. package/coverage/lcov-report/src/fields/Date.vue.html +238 -0
  28. package/coverage/lcov-report/src/fields/DateTime.vue.html +262 -0
  29. package/coverage/lcov-report/src/fields/Daterange.vue.html +310 -0
  30. package/coverage/lcov-report/src/fields/Display.vue.html +187 -0
  31. package/coverage/lcov-report/src/fields/DynamicField.vue.html +412 -0
  32. package/coverage/lcov-report/src/fields/Hidden.vue.html +172 -0
  33. package/coverage/lcov-report/src/fields/Link.vue.html +421 -0
  34. package/coverage/lcov-report/src/fields/Number.vue.html +244 -0
  35. package/coverage/lcov-report/src/fields/RadioGroup.vue.html +184 -0
  36. package/coverage/lcov-report/src/fields/Select.vue.html +1267 -0
  37. package/coverage/lcov-report/src/fields/Switch.vue.html +280 -0
  38. package/coverage/lcov-report/src/fields/Text.vue.html +487 -0
  39. package/coverage/lcov-report/src/fields/Textarea.vue.html +271 -0
  40. package/coverage/lcov-report/src/fields/Time.vue.html +229 -0
  41. package/coverage/lcov-report/src/fields/index.html +371 -0
  42. package/coverage/lcov-report/src/index.html +146 -0
  43. package/coverage/lcov-report/src/index.ts.html +466 -0
  44. package/coverage/lcov-report/src/theme/index.html +116 -0
  45. package/coverage/lcov-report/src/theme/index.scss.html +112 -0
  46. package/coverage/lcov-report/src/utils/config.ts.html +166 -0
  47. package/coverage/lcov-report/src/utils/createForm.ts.html +160 -0
  48. package/coverage/lcov-report/src/utils/fieldProps.ts.html +202 -0
  49. package/coverage/lcov-report/src/utils/form.ts.html +895 -0
  50. package/coverage/lcov-report/src/utils/index.html +176 -0
  51. package/coverage/lcov-report/src/utils/useAddField.ts.html +205 -0
  52. package/coverage/lcov.info +3034 -0
  53. package/dist/style.css +2 -2
  54. package/dist/tmagic-form.es.js.map +1 -1
  55. package/dist/tmagic-form.umd.js +1 -2
  56. package/dist/tmagic-form.umd.js.map +1 -1
  57. package/package.json +15 -6
  58. package/tsconfig.json +0 -9
  59. package/vite.config.ts +0 -27
@@ -0,0 +1,1963 @@
1
+
2
+ <!doctype html>
3
+ <html lang="en">
4
+
5
+ <head>
6
+ <title>Code coverage report for src/containers/Table.vue</title>
7
+ <meta charset="utf-8" />
8
+ <link rel="stylesheet" href="../../prettify.css" />
9
+ <link rel="stylesheet" href="../../base.css" />
10
+ <link rel="shortcut icon" type="image/x-icon" href="../../favicon.png" />
11
+ <meta name="viewport" content="width=device-width, initial-scale=1" />
12
+ <style type='text/css'>
13
+ .coverage-summary .sorter {
14
+ background-image: url(../../sort-arrow-sprite.png);
15
+ }
16
+ </style>
17
+ </head>
18
+
19
+ <body>
20
+ <div class='wrapper'>
21
+ <div class='pad1'>
22
+ <h1><a href="../../index.html">All files</a> / <a href="index.html">src/containers</a> Table.vue</h1>
23
+ <div class='clearfix'>
24
+
25
+ <div class='fl pad1y space-right2'>
26
+ <span class="strong">4.69% </span>
27
+ <span class="quiet">Statements</span>
28
+ <span class='fraction'>10/213</span>
29
+ </div>
30
+
31
+
32
+ <div class='fl pad1y space-right2'>
33
+ <span class="strong">0% </span>
34
+ <span class="quiet">Branches</span>
35
+ <span class='fraction'>0/156</span>
36
+ </div>
37
+
38
+
39
+ <div class='fl pad1y space-right2'>
40
+ <span class="strong">0% </span>
41
+ <span class="quiet">Functions</span>
42
+ <span class='fraction'>0/53</span>
43
+ </div>
44
+
45
+
46
+ <div class='fl pad1y space-right2'>
47
+ <span class="strong">5.15% </span>
48
+ <span class="quiet">Lines</span>
49
+ <span class='fraction'>10/194</span>
50
+ </div>
51
+
52
+
53
+ </div>
54
+ <p class="quiet">
55
+ Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
56
+ </p>
57
+ <template id="filterTemplate">
58
+ <div class="quiet">
59
+ Filter:
60
+ <input oninput="onInput()" type="search" id="fileSearch">
61
+ </div>
62
+ </template>
63
+ </div>
64
+ <div class='status-line low'></div>
65
+ <pre><table class="coverage">
66
+ <tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
67
+ <a name='L2'></a><a href='#L2'>2</a>
68
+ <a name='L3'></a><a href='#L3'>3</a>
69
+ <a name='L4'></a><a href='#L4'>4</a>
70
+ <a name='L5'></a><a href='#L5'>5</a>
71
+ <a name='L6'></a><a href='#L6'>6</a>
72
+ <a name='L7'></a><a href='#L7'>7</a>
73
+ <a name='L8'></a><a href='#L8'>8</a>
74
+ <a name='L9'></a><a href='#L9'>9</a>
75
+ <a name='L10'></a><a href='#L10'>10</a>
76
+ <a name='L11'></a><a href='#L11'>11</a>
77
+ <a name='L12'></a><a href='#L12'>12</a>
78
+ <a name='L13'></a><a href='#L13'>13</a>
79
+ <a name='L14'></a><a href='#L14'>14</a>
80
+ <a name='L15'></a><a href='#L15'>15</a>
81
+ <a name='L16'></a><a href='#L16'>16</a>
82
+ <a name='L17'></a><a href='#L17'>17</a>
83
+ <a name='L18'></a><a href='#L18'>18</a>
84
+ <a name='L19'></a><a href='#L19'>19</a>
85
+ <a name='L20'></a><a href='#L20'>20</a>
86
+ <a name='L21'></a><a href='#L21'>21</a>
87
+ <a name='L22'></a><a href='#L22'>22</a>
88
+ <a name='L23'></a><a href='#L23'>23</a>
89
+ <a name='L24'></a><a href='#L24'>24</a>
90
+ <a name='L25'></a><a href='#L25'>25</a>
91
+ <a name='L26'></a><a href='#L26'>26</a>
92
+ <a name='L27'></a><a href='#L27'>27</a>
93
+ <a name='L28'></a><a href='#L28'>28</a>
94
+ <a name='L29'></a><a href='#L29'>29</a>
95
+ <a name='L30'></a><a href='#L30'>30</a>
96
+ <a name='L31'></a><a href='#L31'>31</a>
97
+ <a name='L32'></a><a href='#L32'>32</a>
98
+ <a name='L33'></a><a href='#L33'>33</a>
99
+ <a name='L34'></a><a href='#L34'>34</a>
100
+ <a name='L35'></a><a href='#L35'>35</a>
101
+ <a name='L36'></a><a href='#L36'>36</a>
102
+ <a name='L37'></a><a href='#L37'>37</a>
103
+ <a name='L38'></a><a href='#L38'>38</a>
104
+ <a name='L39'></a><a href='#L39'>39</a>
105
+ <a name='L40'></a><a href='#L40'>40</a>
106
+ <a name='L41'></a><a href='#L41'>41</a>
107
+ <a name='L42'></a><a href='#L42'>42</a>
108
+ <a name='L43'></a><a href='#L43'>43</a>
109
+ <a name='L44'></a><a href='#L44'>44</a>
110
+ <a name='L45'></a><a href='#L45'>45</a>
111
+ <a name='L46'></a><a href='#L46'>46</a>
112
+ <a name='L47'></a><a href='#L47'>47</a>
113
+ <a name='L48'></a><a href='#L48'>48</a>
114
+ <a name='L49'></a><a href='#L49'>49</a>
115
+ <a name='L50'></a><a href='#L50'>50</a>
116
+ <a name='L51'></a><a href='#L51'>51</a>
117
+ <a name='L52'></a><a href='#L52'>52</a>
118
+ <a name='L53'></a><a href='#L53'>53</a>
119
+ <a name='L54'></a><a href='#L54'>54</a>
120
+ <a name='L55'></a><a href='#L55'>55</a>
121
+ <a name='L56'></a><a href='#L56'>56</a>
122
+ <a name='L57'></a><a href='#L57'>57</a>
123
+ <a name='L58'></a><a href='#L58'>58</a>
124
+ <a name='L59'></a><a href='#L59'>59</a>
125
+ <a name='L60'></a><a href='#L60'>60</a>
126
+ <a name='L61'></a><a href='#L61'>61</a>
127
+ <a name='L62'></a><a href='#L62'>62</a>
128
+ <a name='L63'></a><a href='#L63'>63</a>
129
+ <a name='L64'></a><a href='#L64'>64</a>
130
+ <a name='L65'></a><a href='#L65'>65</a>
131
+ <a name='L66'></a><a href='#L66'>66</a>
132
+ <a name='L67'></a><a href='#L67'>67</a>
133
+ <a name='L68'></a><a href='#L68'>68</a>
134
+ <a name='L69'></a><a href='#L69'>69</a>
135
+ <a name='L70'></a><a href='#L70'>70</a>
136
+ <a name='L71'></a><a href='#L71'>71</a>
137
+ <a name='L72'></a><a href='#L72'>72</a>
138
+ <a name='L73'></a><a href='#L73'>73</a>
139
+ <a name='L74'></a><a href='#L74'>74</a>
140
+ <a name='L75'></a><a href='#L75'>75</a>
141
+ <a name='L76'></a><a href='#L76'>76</a>
142
+ <a name='L77'></a><a href='#L77'>77</a>
143
+ <a name='L78'></a><a href='#L78'>78</a>
144
+ <a name='L79'></a><a href='#L79'>79</a>
145
+ <a name='L80'></a><a href='#L80'>80</a>
146
+ <a name='L81'></a><a href='#L81'>81</a>
147
+ <a name='L82'></a><a href='#L82'>82</a>
148
+ <a name='L83'></a><a href='#L83'>83</a>
149
+ <a name='L84'></a><a href='#L84'>84</a>
150
+ <a name='L85'></a><a href='#L85'>85</a>
151
+ <a name='L86'></a><a href='#L86'>86</a>
152
+ <a name='L87'></a><a href='#L87'>87</a>
153
+ <a name='L88'></a><a href='#L88'>88</a>
154
+ <a name='L89'></a><a href='#L89'>89</a>
155
+ <a name='L90'></a><a href='#L90'>90</a>
156
+ <a name='L91'></a><a href='#L91'>91</a>
157
+ <a name='L92'></a><a href='#L92'>92</a>
158
+ <a name='L93'></a><a href='#L93'>93</a>
159
+ <a name='L94'></a><a href='#L94'>94</a>
160
+ <a name='L95'></a><a href='#L95'>95</a>
161
+ <a name='L96'></a><a href='#L96'>96</a>
162
+ <a name='L97'></a><a href='#L97'>97</a>
163
+ <a name='L98'></a><a href='#L98'>98</a>
164
+ <a name='L99'></a><a href='#L99'>99</a>
165
+ <a name='L100'></a><a href='#L100'>100</a>
166
+ <a name='L101'></a><a href='#L101'>101</a>
167
+ <a name='L102'></a><a href='#L102'>102</a>
168
+ <a name='L103'></a><a href='#L103'>103</a>
169
+ <a name='L104'></a><a href='#L104'>104</a>
170
+ <a name='L105'></a><a href='#L105'>105</a>
171
+ <a name='L106'></a><a href='#L106'>106</a>
172
+ <a name='L107'></a><a href='#L107'>107</a>
173
+ <a name='L108'></a><a href='#L108'>108</a>
174
+ <a name='L109'></a><a href='#L109'>109</a>
175
+ <a name='L110'></a><a href='#L110'>110</a>
176
+ <a name='L111'></a><a href='#L111'>111</a>
177
+ <a name='L112'></a><a href='#L112'>112</a>
178
+ <a name='L113'></a><a href='#L113'>113</a>
179
+ <a name='L114'></a><a href='#L114'>114</a>
180
+ <a name='L115'></a><a href='#L115'>115</a>
181
+ <a name='L116'></a><a href='#L116'>116</a>
182
+ <a name='L117'></a><a href='#L117'>117</a>
183
+ <a name='L118'></a><a href='#L118'>118</a>
184
+ <a name='L119'></a><a href='#L119'>119</a>
185
+ <a name='L120'></a><a href='#L120'>120</a>
186
+ <a name='L121'></a><a href='#L121'>121</a>
187
+ <a name='L122'></a><a href='#L122'>122</a>
188
+ <a name='L123'></a><a href='#L123'>123</a>
189
+ <a name='L124'></a><a href='#L124'>124</a>
190
+ <a name='L125'></a><a href='#L125'>125</a>
191
+ <a name='L126'></a><a href='#L126'>126</a>
192
+ <a name='L127'></a><a href='#L127'>127</a>
193
+ <a name='L128'></a><a href='#L128'>128</a>
194
+ <a name='L129'></a><a href='#L129'>129</a>
195
+ <a name='L130'></a><a href='#L130'>130</a>
196
+ <a name='L131'></a><a href='#L131'>131</a>
197
+ <a name='L132'></a><a href='#L132'>132</a>
198
+ <a name='L133'></a><a href='#L133'>133</a>
199
+ <a name='L134'></a><a href='#L134'>134</a>
200
+ <a name='L135'></a><a href='#L135'>135</a>
201
+ <a name='L136'></a><a href='#L136'>136</a>
202
+ <a name='L137'></a><a href='#L137'>137</a>
203
+ <a name='L138'></a><a href='#L138'>138</a>
204
+ <a name='L139'></a><a href='#L139'>139</a>
205
+ <a name='L140'></a><a href='#L140'>140</a>
206
+ <a name='L141'></a><a href='#L141'>141</a>
207
+ <a name='L142'></a><a href='#L142'>142</a>
208
+ <a name='L143'></a><a href='#L143'>143</a>
209
+ <a name='L144'></a><a href='#L144'>144</a>
210
+ <a name='L145'></a><a href='#L145'>145</a>
211
+ <a name='L146'></a><a href='#L146'>146</a>
212
+ <a name='L147'></a><a href='#L147'>147</a>
213
+ <a name='L148'></a><a href='#L148'>148</a>
214
+ <a name='L149'></a><a href='#L149'>149</a>
215
+ <a name='L150'></a><a href='#L150'>150</a>
216
+ <a name='L151'></a><a href='#L151'>151</a>
217
+ <a name='L152'></a><a href='#L152'>152</a>
218
+ <a name='L153'></a><a href='#L153'>153</a>
219
+ <a name='L154'></a><a href='#L154'>154</a>
220
+ <a name='L155'></a><a href='#L155'>155</a>
221
+ <a name='L156'></a><a href='#L156'>156</a>
222
+ <a name='L157'></a><a href='#L157'>157</a>
223
+ <a name='L158'></a><a href='#L158'>158</a>
224
+ <a name='L159'></a><a href='#L159'>159</a>
225
+ <a name='L160'></a><a href='#L160'>160</a>
226
+ <a name='L161'></a><a href='#L161'>161</a>
227
+ <a name='L162'></a><a href='#L162'>162</a>
228
+ <a name='L163'></a><a href='#L163'>163</a>
229
+ <a name='L164'></a><a href='#L164'>164</a>
230
+ <a name='L165'></a><a href='#L165'>165</a>
231
+ <a name='L166'></a><a href='#L166'>166</a>
232
+ <a name='L167'></a><a href='#L167'>167</a>
233
+ <a name='L168'></a><a href='#L168'>168</a>
234
+ <a name='L169'></a><a href='#L169'>169</a>
235
+ <a name='L170'></a><a href='#L170'>170</a>
236
+ <a name='L171'></a><a href='#L171'>171</a>
237
+ <a name='L172'></a><a href='#L172'>172</a>
238
+ <a name='L173'></a><a href='#L173'>173</a>
239
+ <a name='L174'></a><a href='#L174'>174</a>
240
+ <a name='L175'></a><a href='#L175'>175</a>
241
+ <a name='L176'></a><a href='#L176'>176</a>
242
+ <a name='L177'></a><a href='#L177'>177</a>
243
+ <a name='L178'></a><a href='#L178'>178</a>
244
+ <a name='L179'></a><a href='#L179'>179</a>
245
+ <a name='L180'></a><a href='#L180'>180</a>
246
+ <a name='L181'></a><a href='#L181'>181</a>
247
+ <a name='L182'></a><a href='#L182'>182</a>
248
+ <a name='L183'></a><a href='#L183'>183</a>
249
+ <a name='L184'></a><a href='#L184'>184</a>
250
+ <a name='L185'></a><a href='#L185'>185</a>
251
+ <a name='L186'></a><a href='#L186'>186</a>
252
+ <a name='L187'></a><a href='#L187'>187</a>
253
+ <a name='L188'></a><a href='#L188'>188</a>
254
+ <a name='L189'></a><a href='#L189'>189</a>
255
+ <a name='L190'></a><a href='#L190'>190</a>
256
+ <a name='L191'></a><a href='#L191'>191</a>
257
+ <a name='L192'></a><a href='#L192'>192</a>
258
+ <a name='L193'></a><a href='#L193'>193</a>
259
+ <a name='L194'></a><a href='#L194'>194</a>
260
+ <a name='L195'></a><a href='#L195'>195</a>
261
+ <a name='L196'></a><a href='#L196'>196</a>
262
+ <a name='L197'></a><a href='#L197'>197</a>
263
+ <a name='L198'></a><a href='#L198'>198</a>
264
+ <a name='L199'></a><a href='#L199'>199</a>
265
+ <a name='L200'></a><a href='#L200'>200</a>
266
+ <a name='L201'></a><a href='#L201'>201</a>
267
+ <a name='L202'></a><a href='#L202'>202</a>
268
+ <a name='L203'></a><a href='#L203'>203</a>
269
+ <a name='L204'></a><a href='#L204'>204</a>
270
+ <a name='L205'></a><a href='#L205'>205</a>
271
+ <a name='L206'></a><a href='#L206'>206</a>
272
+ <a name='L207'></a><a href='#L207'>207</a>
273
+ <a name='L208'></a><a href='#L208'>208</a>
274
+ <a name='L209'></a><a href='#L209'>209</a>
275
+ <a name='L210'></a><a href='#L210'>210</a>
276
+ <a name='L211'></a><a href='#L211'>211</a>
277
+ <a name='L212'></a><a href='#L212'>212</a>
278
+ <a name='L213'></a><a href='#L213'>213</a>
279
+ <a name='L214'></a><a href='#L214'>214</a>
280
+ <a name='L215'></a><a href='#L215'>215</a>
281
+ <a name='L216'></a><a href='#L216'>216</a>
282
+ <a name='L217'></a><a href='#L217'>217</a>
283
+ <a name='L218'></a><a href='#L218'>218</a>
284
+ <a name='L219'></a><a href='#L219'>219</a>
285
+ <a name='L220'></a><a href='#L220'>220</a>
286
+ <a name='L221'></a><a href='#L221'>221</a>
287
+ <a name='L222'></a><a href='#L222'>222</a>
288
+ <a name='L223'></a><a href='#L223'>223</a>
289
+ <a name='L224'></a><a href='#L224'>224</a>
290
+ <a name='L225'></a><a href='#L225'>225</a>
291
+ <a name='L226'></a><a href='#L226'>226</a>
292
+ <a name='L227'></a><a href='#L227'>227</a>
293
+ <a name='L228'></a><a href='#L228'>228</a>
294
+ <a name='L229'></a><a href='#L229'>229</a>
295
+ <a name='L230'></a><a href='#L230'>230</a>
296
+ <a name='L231'></a><a href='#L231'>231</a>
297
+ <a name='L232'></a><a href='#L232'>232</a>
298
+ <a name='L233'></a><a href='#L233'>233</a>
299
+ <a name='L234'></a><a href='#L234'>234</a>
300
+ <a name='L235'></a><a href='#L235'>235</a>
301
+ <a name='L236'></a><a href='#L236'>236</a>
302
+ <a name='L237'></a><a href='#L237'>237</a>
303
+ <a name='L238'></a><a href='#L238'>238</a>
304
+ <a name='L239'></a><a href='#L239'>239</a>
305
+ <a name='L240'></a><a href='#L240'>240</a>
306
+ <a name='L241'></a><a href='#L241'>241</a>
307
+ <a name='L242'></a><a href='#L242'>242</a>
308
+ <a name='L243'></a><a href='#L243'>243</a>
309
+ <a name='L244'></a><a href='#L244'>244</a>
310
+ <a name='L245'></a><a href='#L245'>245</a>
311
+ <a name='L246'></a><a href='#L246'>246</a>
312
+ <a name='L247'></a><a href='#L247'>247</a>
313
+ <a name='L248'></a><a href='#L248'>248</a>
314
+ <a name='L249'></a><a href='#L249'>249</a>
315
+ <a name='L250'></a><a href='#L250'>250</a>
316
+ <a name='L251'></a><a href='#L251'>251</a>
317
+ <a name='L252'></a><a href='#L252'>252</a>
318
+ <a name='L253'></a><a href='#L253'>253</a>
319
+ <a name='L254'></a><a href='#L254'>254</a>
320
+ <a name='L255'></a><a href='#L255'>255</a>
321
+ <a name='L256'></a><a href='#L256'>256</a>
322
+ <a name='L257'></a><a href='#L257'>257</a>
323
+ <a name='L258'></a><a href='#L258'>258</a>
324
+ <a name='L259'></a><a href='#L259'>259</a>
325
+ <a name='L260'></a><a href='#L260'>260</a>
326
+ <a name='L261'></a><a href='#L261'>261</a>
327
+ <a name='L262'></a><a href='#L262'>262</a>
328
+ <a name='L263'></a><a href='#L263'>263</a>
329
+ <a name='L264'></a><a href='#L264'>264</a>
330
+ <a name='L265'></a><a href='#L265'>265</a>
331
+ <a name='L266'></a><a href='#L266'>266</a>
332
+ <a name='L267'></a><a href='#L267'>267</a>
333
+ <a name='L268'></a><a href='#L268'>268</a>
334
+ <a name='L269'></a><a href='#L269'>269</a>
335
+ <a name='L270'></a><a href='#L270'>270</a>
336
+ <a name='L271'></a><a href='#L271'>271</a>
337
+ <a name='L272'></a><a href='#L272'>272</a>
338
+ <a name='L273'></a><a href='#L273'>273</a>
339
+ <a name='L274'></a><a href='#L274'>274</a>
340
+ <a name='L275'></a><a href='#L275'>275</a>
341
+ <a name='L276'></a><a href='#L276'>276</a>
342
+ <a name='L277'></a><a href='#L277'>277</a>
343
+ <a name='L278'></a><a href='#L278'>278</a>
344
+ <a name='L279'></a><a href='#L279'>279</a>
345
+ <a name='L280'></a><a href='#L280'>280</a>
346
+ <a name='L281'></a><a href='#L281'>281</a>
347
+ <a name='L282'></a><a href='#L282'>282</a>
348
+ <a name='L283'></a><a href='#L283'>283</a>
349
+ <a name='L284'></a><a href='#L284'>284</a>
350
+ <a name='L285'></a><a href='#L285'>285</a>
351
+ <a name='L286'></a><a href='#L286'>286</a>
352
+ <a name='L287'></a><a href='#L287'>287</a>
353
+ <a name='L288'></a><a href='#L288'>288</a>
354
+ <a name='L289'></a><a href='#L289'>289</a>
355
+ <a name='L290'></a><a href='#L290'>290</a>
356
+ <a name='L291'></a><a href='#L291'>291</a>
357
+ <a name='L292'></a><a href='#L292'>292</a>
358
+ <a name='L293'></a><a href='#L293'>293</a>
359
+ <a name='L294'></a><a href='#L294'>294</a>
360
+ <a name='L295'></a><a href='#L295'>295</a>
361
+ <a name='L296'></a><a href='#L296'>296</a>
362
+ <a name='L297'></a><a href='#L297'>297</a>
363
+ <a name='L298'></a><a href='#L298'>298</a>
364
+ <a name='L299'></a><a href='#L299'>299</a>
365
+ <a name='L300'></a><a href='#L300'>300</a>
366
+ <a name='L301'></a><a href='#L301'>301</a>
367
+ <a name='L302'></a><a href='#L302'>302</a>
368
+ <a name='L303'></a><a href='#L303'>303</a>
369
+ <a name='L304'></a><a href='#L304'>304</a>
370
+ <a name='L305'></a><a href='#L305'>305</a>
371
+ <a name='L306'></a><a href='#L306'>306</a>
372
+ <a name='L307'></a><a href='#L307'>307</a>
373
+ <a name='L308'></a><a href='#L308'>308</a>
374
+ <a name='L309'></a><a href='#L309'>309</a>
375
+ <a name='L310'></a><a href='#L310'>310</a>
376
+ <a name='L311'></a><a href='#L311'>311</a>
377
+ <a name='L312'></a><a href='#L312'>312</a>
378
+ <a name='L313'></a><a href='#L313'>313</a>
379
+ <a name='L314'></a><a href='#L314'>314</a>
380
+ <a name='L315'></a><a href='#L315'>315</a>
381
+ <a name='L316'></a><a href='#L316'>316</a>
382
+ <a name='L317'></a><a href='#L317'>317</a>
383
+ <a name='L318'></a><a href='#L318'>318</a>
384
+ <a name='L319'></a><a href='#L319'>319</a>
385
+ <a name='L320'></a><a href='#L320'>320</a>
386
+ <a name='L321'></a><a href='#L321'>321</a>
387
+ <a name='L322'></a><a href='#L322'>322</a>
388
+ <a name='L323'></a><a href='#L323'>323</a>
389
+ <a name='L324'></a><a href='#L324'>324</a>
390
+ <a name='L325'></a><a href='#L325'>325</a>
391
+ <a name='L326'></a><a href='#L326'>326</a>
392
+ <a name='L327'></a><a href='#L327'>327</a>
393
+ <a name='L328'></a><a href='#L328'>328</a>
394
+ <a name='L329'></a><a href='#L329'>329</a>
395
+ <a name='L330'></a><a href='#L330'>330</a>
396
+ <a name='L331'></a><a href='#L331'>331</a>
397
+ <a name='L332'></a><a href='#L332'>332</a>
398
+ <a name='L333'></a><a href='#L333'>333</a>
399
+ <a name='L334'></a><a href='#L334'>334</a>
400
+ <a name='L335'></a><a href='#L335'>335</a>
401
+ <a name='L336'></a><a href='#L336'>336</a>
402
+ <a name='L337'></a><a href='#L337'>337</a>
403
+ <a name='L338'></a><a href='#L338'>338</a>
404
+ <a name='L339'></a><a href='#L339'>339</a>
405
+ <a name='L340'></a><a href='#L340'>340</a>
406
+ <a name='L341'></a><a href='#L341'>341</a>
407
+ <a name='L342'></a><a href='#L342'>342</a>
408
+ <a name='L343'></a><a href='#L343'>343</a>
409
+ <a name='L344'></a><a href='#L344'>344</a>
410
+ <a name='L345'></a><a href='#L345'>345</a>
411
+ <a name='L346'></a><a href='#L346'>346</a>
412
+ <a name='L347'></a><a href='#L347'>347</a>
413
+ <a name='L348'></a><a href='#L348'>348</a>
414
+ <a name='L349'></a><a href='#L349'>349</a>
415
+ <a name='L350'></a><a href='#L350'>350</a>
416
+ <a name='L351'></a><a href='#L351'>351</a>
417
+ <a name='L352'></a><a href='#L352'>352</a>
418
+ <a name='L353'></a><a href='#L353'>353</a>
419
+ <a name='L354'></a><a href='#L354'>354</a>
420
+ <a name='L355'></a><a href='#L355'>355</a>
421
+ <a name='L356'></a><a href='#L356'>356</a>
422
+ <a name='L357'></a><a href='#L357'>357</a>
423
+ <a name='L358'></a><a href='#L358'>358</a>
424
+ <a name='L359'></a><a href='#L359'>359</a>
425
+ <a name='L360'></a><a href='#L360'>360</a>
426
+ <a name='L361'></a><a href='#L361'>361</a>
427
+ <a name='L362'></a><a href='#L362'>362</a>
428
+ <a name='L363'></a><a href='#L363'>363</a>
429
+ <a name='L364'></a><a href='#L364'>364</a>
430
+ <a name='L365'></a><a href='#L365'>365</a>
431
+ <a name='L366'></a><a href='#L366'>366</a>
432
+ <a name='L367'></a><a href='#L367'>367</a>
433
+ <a name='L368'></a><a href='#L368'>368</a>
434
+ <a name='L369'></a><a href='#L369'>369</a>
435
+ <a name='L370'></a><a href='#L370'>370</a>
436
+ <a name='L371'></a><a href='#L371'>371</a>
437
+ <a name='L372'></a><a href='#L372'>372</a>
438
+ <a name='L373'></a><a href='#L373'>373</a>
439
+ <a name='L374'></a><a href='#L374'>374</a>
440
+ <a name='L375'></a><a href='#L375'>375</a>
441
+ <a name='L376'></a><a href='#L376'>376</a>
442
+ <a name='L377'></a><a href='#L377'>377</a>
443
+ <a name='L378'></a><a href='#L378'>378</a>
444
+ <a name='L379'></a><a href='#L379'>379</a>
445
+ <a name='L380'></a><a href='#L380'>380</a>
446
+ <a name='L381'></a><a href='#L381'>381</a>
447
+ <a name='L382'></a><a href='#L382'>382</a>
448
+ <a name='L383'></a><a href='#L383'>383</a>
449
+ <a name='L384'></a><a href='#L384'>384</a>
450
+ <a name='L385'></a><a href='#L385'>385</a>
451
+ <a name='L386'></a><a href='#L386'>386</a>
452
+ <a name='L387'></a><a href='#L387'>387</a>
453
+ <a name='L388'></a><a href='#L388'>388</a>
454
+ <a name='L389'></a><a href='#L389'>389</a>
455
+ <a name='L390'></a><a href='#L390'>390</a>
456
+ <a name='L391'></a><a href='#L391'>391</a>
457
+ <a name='L392'></a><a href='#L392'>392</a>
458
+ <a name='L393'></a><a href='#L393'>393</a>
459
+ <a name='L394'></a><a href='#L394'>394</a>
460
+ <a name='L395'></a><a href='#L395'>395</a>
461
+ <a name='L396'></a><a href='#L396'>396</a>
462
+ <a name='L397'></a><a href='#L397'>397</a>
463
+ <a name='L398'></a><a href='#L398'>398</a>
464
+ <a name='L399'></a><a href='#L399'>399</a>
465
+ <a name='L400'></a><a href='#L400'>400</a>
466
+ <a name='L401'></a><a href='#L401'>401</a>
467
+ <a name='L402'></a><a href='#L402'>402</a>
468
+ <a name='L403'></a><a href='#L403'>403</a>
469
+ <a name='L404'></a><a href='#L404'>404</a>
470
+ <a name='L405'></a><a href='#L405'>405</a>
471
+ <a name='L406'></a><a href='#L406'>406</a>
472
+ <a name='L407'></a><a href='#L407'>407</a>
473
+ <a name='L408'></a><a href='#L408'>408</a>
474
+ <a name='L409'></a><a href='#L409'>409</a>
475
+ <a name='L410'></a><a href='#L410'>410</a>
476
+ <a name='L411'></a><a href='#L411'>411</a>
477
+ <a name='L412'></a><a href='#L412'>412</a>
478
+ <a name='L413'></a><a href='#L413'>413</a>
479
+ <a name='L414'></a><a href='#L414'>414</a>
480
+ <a name='L415'></a><a href='#L415'>415</a>
481
+ <a name='L416'></a><a href='#L416'>416</a>
482
+ <a name='L417'></a><a href='#L417'>417</a>
483
+ <a name='L418'></a><a href='#L418'>418</a>
484
+ <a name='L419'></a><a href='#L419'>419</a>
485
+ <a name='L420'></a><a href='#L420'>420</a>
486
+ <a name='L421'></a><a href='#L421'>421</a>
487
+ <a name='L422'></a><a href='#L422'>422</a>
488
+ <a name='L423'></a><a href='#L423'>423</a>
489
+ <a name='L424'></a><a href='#L424'>424</a>
490
+ <a name='L425'></a><a href='#L425'>425</a>
491
+ <a name='L426'></a><a href='#L426'>426</a>
492
+ <a name='L427'></a><a href='#L427'>427</a>
493
+ <a name='L428'></a><a href='#L428'>428</a>
494
+ <a name='L429'></a><a href='#L429'>429</a>
495
+ <a name='L430'></a><a href='#L430'>430</a>
496
+ <a name='L431'></a><a href='#L431'>431</a>
497
+ <a name='L432'></a><a href='#L432'>432</a>
498
+ <a name='L433'></a><a href='#L433'>433</a>
499
+ <a name='L434'></a><a href='#L434'>434</a>
500
+ <a name='L435'></a><a href='#L435'>435</a>
501
+ <a name='L436'></a><a href='#L436'>436</a>
502
+ <a name='L437'></a><a href='#L437'>437</a>
503
+ <a name='L438'></a><a href='#L438'>438</a>
504
+ <a name='L439'></a><a href='#L439'>439</a>
505
+ <a name='L440'></a><a href='#L440'>440</a>
506
+ <a name='L441'></a><a href='#L441'>441</a>
507
+ <a name='L442'></a><a href='#L442'>442</a>
508
+ <a name='L443'></a><a href='#L443'>443</a>
509
+ <a name='L444'></a><a href='#L444'>444</a>
510
+ <a name='L445'></a><a href='#L445'>445</a>
511
+ <a name='L446'></a><a href='#L446'>446</a>
512
+ <a name='L447'></a><a href='#L447'>447</a>
513
+ <a name='L448'></a><a href='#L448'>448</a>
514
+ <a name='L449'></a><a href='#L449'>449</a>
515
+ <a name='L450'></a><a href='#L450'>450</a>
516
+ <a name='L451'></a><a href='#L451'>451</a>
517
+ <a name='L452'></a><a href='#L452'>452</a>
518
+ <a name='L453'></a><a href='#L453'>453</a>
519
+ <a name='L454'></a><a href='#L454'>454</a>
520
+ <a name='L455'></a><a href='#L455'>455</a>
521
+ <a name='L456'></a><a href='#L456'>456</a>
522
+ <a name='L457'></a><a href='#L457'>457</a>
523
+ <a name='L458'></a><a href='#L458'>458</a>
524
+ <a name='L459'></a><a href='#L459'>459</a>
525
+ <a name='L460'></a><a href='#L460'>460</a>
526
+ <a name='L461'></a><a href='#L461'>461</a>
527
+ <a name='L462'></a><a href='#L462'>462</a>
528
+ <a name='L463'></a><a href='#L463'>463</a>
529
+ <a name='L464'></a><a href='#L464'>464</a>
530
+ <a name='L465'></a><a href='#L465'>465</a>
531
+ <a name='L466'></a><a href='#L466'>466</a>
532
+ <a name='L467'></a><a href='#L467'>467</a>
533
+ <a name='L468'></a><a href='#L468'>468</a>
534
+ <a name='L469'></a><a href='#L469'>469</a>
535
+ <a name='L470'></a><a href='#L470'>470</a>
536
+ <a name='L471'></a><a href='#L471'>471</a>
537
+ <a name='L472'></a><a href='#L472'>472</a>
538
+ <a name='L473'></a><a href='#L473'>473</a>
539
+ <a name='L474'></a><a href='#L474'>474</a>
540
+ <a name='L475'></a><a href='#L475'>475</a>
541
+ <a name='L476'></a><a href='#L476'>476</a>
542
+ <a name='L477'></a><a href='#L477'>477</a>
543
+ <a name='L478'></a><a href='#L478'>478</a>
544
+ <a name='L479'></a><a href='#L479'>479</a>
545
+ <a name='L480'></a><a href='#L480'>480</a>
546
+ <a name='L481'></a><a href='#L481'>481</a>
547
+ <a name='L482'></a><a href='#L482'>482</a>
548
+ <a name='L483'></a><a href='#L483'>483</a>
549
+ <a name='L484'></a><a href='#L484'>484</a>
550
+ <a name='L485'></a><a href='#L485'>485</a>
551
+ <a name='L486'></a><a href='#L486'>486</a>
552
+ <a name='L487'></a><a href='#L487'>487</a>
553
+ <a name='L488'></a><a href='#L488'>488</a>
554
+ <a name='L489'></a><a href='#L489'>489</a>
555
+ <a name='L490'></a><a href='#L490'>490</a>
556
+ <a name='L491'></a><a href='#L491'>491</a>
557
+ <a name='L492'></a><a href='#L492'>492</a>
558
+ <a name='L493'></a><a href='#L493'>493</a>
559
+ <a name='L494'></a><a href='#L494'>494</a>
560
+ <a name='L495'></a><a href='#L495'>495</a>
561
+ <a name='L496'></a><a href='#L496'>496</a>
562
+ <a name='L497'></a><a href='#L497'>497</a>
563
+ <a name='L498'></a><a href='#L498'>498</a>
564
+ <a name='L499'></a><a href='#L499'>499</a>
565
+ <a name='L500'></a><a href='#L500'>500</a>
566
+ <a name='L501'></a><a href='#L501'>501</a>
567
+ <a name='L502'></a><a href='#L502'>502</a>
568
+ <a name='L503'></a><a href='#L503'>503</a>
569
+ <a name='L504'></a><a href='#L504'>504</a>
570
+ <a name='L505'></a><a href='#L505'>505</a>
571
+ <a name='L506'></a><a href='#L506'>506</a>
572
+ <a name='L507'></a><a href='#L507'>507</a>
573
+ <a name='L508'></a><a href='#L508'>508</a>
574
+ <a name='L509'></a><a href='#L509'>509</a>
575
+ <a name='L510'></a><a href='#L510'>510</a>
576
+ <a name='L511'></a><a href='#L511'>511</a>
577
+ <a name='L512'></a><a href='#L512'>512</a>
578
+ <a name='L513'></a><a href='#L513'>513</a>
579
+ <a name='L514'></a><a href='#L514'>514</a>
580
+ <a name='L515'></a><a href='#L515'>515</a>
581
+ <a name='L516'></a><a href='#L516'>516</a>
582
+ <a name='L517'></a><a href='#L517'>517</a>
583
+ <a name='L518'></a><a href='#L518'>518</a>
584
+ <a name='L519'></a><a href='#L519'>519</a>
585
+ <a name='L520'></a><a href='#L520'>520</a>
586
+ <a name='L521'></a><a href='#L521'>521</a>
587
+ <a name='L522'></a><a href='#L522'>522</a>
588
+ <a name='L523'></a><a href='#L523'>523</a>
589
+ <a name='L524'></a><a href='#L524'>524</a>
590
+ <a name='L525'></a><a href='#L525'>525</a>
591
+ <a name='L526'></a><a href='#L526'>526</a>
592
+ <a name='L527'></a><a href='#L527'>527</a>
593
+ <a name='L528'></a><a href='#L528'>528</a>
594
+ <a name='L529'></a><a href='#L529'>529</a>
595
+ <a name='L530'></a><a href='#L530'>530</a>
596
+ <a name='L531'></a><a href='#L531'>531</a>
597
+ <a name='L532'></a><a href='#L532'>532</a>
598
+ <a name='L533'></a><a href='#L533'>533</a>
599
+ <a name='L534'></a><a href='#L534'>534</a>
600
+ <a name='L535'></a><a href='#L535'>535</a>
601
+ <a name='L536'></a><a href='#L536'>536</a>
602
+ <a name='L537'></a><a href='#L537'>537</a>
603
+ <a name='L538'></a><a href='#L538'>538</a>
604
+ <a name='L539'></a><a href='#L539'>539</a>
605
+ <a name='L540'></a><a href='#L540'>540</a>
606
+ <a name='L541'></a><a href='#L541'>541</a>
607
+ <a name='L542'></a><a href='#L542'>542</a>
608
+ <a name='L543'></a><a href='#L543'>543</a>
609
+ <a name='L544'></a><a href='#L544'>544</a>
610
+ <a name='L545'></a><a href='#L545'>545</a>
611
+ <a name='L546'></a><a href='#L546'>546</a>
612
+ <a name='L547'></a><a href='#L547'>547</a>
613
+ <a name='L548'></a><a href='#L548'>548</a>
614
+ <a name='L549'></a><a href='#L549'>549</a>
615
+ <a name='L550'></a><a href='#L550'>550</a>
616
+ <a name='L551'></a><a href='#L551'>551</a>
617
+ <a name='L552'></a><a href='#L552'>552</a>
618
+ <a name='L553'></a><a href='#L553'>553</a>
619
+ <a name='L554'></a><a href='#L554'>554</a>
620
+ <a name='L555'></a><a href='#L555'>555</a>
621
+ <a name='L556'></a><a href='#L556'>556</a>
622
+ <a name='L557'></a><a href='#L557'>557</a>
623
+ <a name='L558'></a><a href='#L558'>558</a>
624
+ <a name='L559'></a><a href='#L559'>559</a>
625
+ <a name='L560'></a><a href='#L560'>560</a>
626
+ <a name='L561'></a><a href='#L561'>561</a>
627
+ <a name='L562'></a><a href='#L562'>562</a>
628
+ <a name='L563'></a><a href='#L563'>563</a>
629
+ <a name='L564'></a><a href='#L564'>564</a>
630
+ <a name='L565'></a><a href='#L565'>565</a>
631
+ <a name='L566'></a><a href='#L566'>566</a>
632
+ <a name='L567'></a><a href='#L567'>567</a>
633
+ <a name='L568'></a><a href='#L568'>568</a>
634
+ <a name='L569'></a><a href='#L569'>569</a>
635
+ <a name='L570'></a><a href='#L570'>570</a>
636
+ <a name='L571'></a><a href='#L571'>571</a>
637
+ <a name='L572'></a><a href='#L572'>572</a>
638
+ <a name='L573'></a><a href='#L573'>573</a>
639
+ <a name='L574'></a><a href='#L574'>574</a>
640
+ <a name='L575'></a><a href='#L575'>575</a>
641
+ <a name='L576'></a><a href='#L576'>576</a>
642
+ <a name='L577'></a><a href='#L577'>577</a>
643
+ <a name='L578'></a><a href='#L578'>578</a>
644
+ <a name='L579'></a><a href='#L579'>579</a>
645
+ <a name='L580'></a><a href='#L580'>580</a>
646
+ <a name='L581'></a><a href='#L581'>581</a>
647
+ <a name='L582'></a><a href='#L582'>582</a>
648
+ <a name='L583'></a><a href='#L583'>583</a>
649
+ <a name='L584'></a><a href='#L584'>584</a>
650
+ <a name='L585'></a><a href='#L585'>585</a>
651
+ <a name='L586'></a><a href='#L586'>586</a>
652
+ <a name='L587'></a><a href='#L587'>587</a>
653
+ <a name='L588'></a><a href='#L588'>588</a>
654
+ <a name='L589'></a><a href='#L589'>589</a>
655
+ <a name='L590'></a><a href='#L590'>590</a>
656
+ <a name='L591'></a><a href='#L591'>591</a>
657
+ <a name='L592'></a><a href='#L592'>592</a>
658
+ <a name='L593'></a><a href='#L593'>593</a>
659
+ <a name='L594'></a><a href='#L594'>594</a>
660
+ <a name='L595'></a><a href='#L595'>595</a>
661
+ <a name='L596'></a><a href='#L596'>596</a>
662
+ <a name='L597'></a><a href='#L597'>597</a>
663
+ <a name='L598'></a><a href='#L598'>598</a>
664
+ <a name='L599'></a><a href='#L599'>599</a>
665
+ <a name='L600'></a><a href='#L600'>600</a>
666
+ <a name='L601'></a><a href='#L601'>601</a>
667
+ <a name='L602'></a><a href='#L602'>602</a>
668
+ <a name='L603'></a><a href='#L603'>603</a>
669
+ <a name='L604'></a><a href='#L604'>604</a>
670
+ <a name='L605'></a><a href='#L605'>605</a>
671
+ <a name='L606'></a><a href='#L606'>606</a>
672
+ <a name='L607'></a><a href='#L607'>607</a>
673
+ <a name='L608'></a><a href='#L608'>608</a>
674
+ <a name='L609'></a><a href='#L609'>609</a>
675
+ <a name='L610'></a><a href='#L610'>610</a>
676
+ <a name='L611'></a><a href='#L611'>611</a>
677
+ <a name='L612'></a><a href='#L612'>612</a>
678
+ <a name='L613'></a><a href='#L613'>613</a>
679
+ <a name='L614'></a><a href='#L614'>614</a>
680
+ <a name='L615'></a><a href='#L615'>615</a>
681
+ <a name='L616'></a><a href='#L616'>616</a>
682
+ <a name='L617'></a><a href='#L617'>617</a>
683
+ <a name='L618'></a><a href='#L618'>618</a>
684
+ <a name='L619'></a><a href='#L619'>619</a>
685
+ <a name='L620'></a><a href='#L620'>620</a>
686
+ <a name='L621'></a><a href='#L621'>621</a>
687
+ <a name='L622'></a><a href='#L622'>622</a>
688
+ <a name='L623'></a><a href='#L623'>623</a>
689
+ <a name='L624'></a><a href='#L624'>624</a>
690
+ <a name='L625'></a><a href='#L625'>625</a>
691
+ <a name='L626'></a><a href='#L626'>626</a>
692
+ <a name='L627'></a><a href='#L627'>627</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
693
+ <span class="cline-any cline-neutral">&nbsp;</span>
694
+ <span class="cline-any cline-neutral">&nbsp;</span>
695
+ <span class="cline-any cline-neutral">&nbsp;</span>
696
+ <span class="cline-any cline-neutral">&nbsp;</span>
697
+ <span class="cline-any cline-neutral">&nbsp;</span>
698
+ <span class="cline-any cline-neutral">&nbsp;</span>
699
+ <span class="cline-any cline-neutral">&nbsp;</span>
700
+ <span class="cline-any cline-neutral">&nbsp;</span>
701
+ <span class="cline-any cline-neutral">&nbsp;</span>
702
+ <span class="cline-any cline-neutral">&nbsp;</span>
703
+ <span class="cline-any cline-neutral">&nbsp;</span>
704
+ <span class="cline-any cline-neutral">&nbsp;</span>
705
+ <span class="cline-any cline-neutral">&nbsp;</span>
706
+ <span class="cline-any cline-neutral">&nbsp;</span>
707
+ <span class="cline-any cline-neutral">&nbsp;</span>
708
+ <span class="cline-any cline-neutral">&nbsp;</span>
709
+ <span class="cline-any cline-neutral">&nbsp;</span>
710
+ <span class="cline-any cline-neutral">&nbsp;</span>
711
+ <span class="cline-any cline-neutral">&nbsp;</span>
712
+ <span class="cline-any cline-neutral">&nbsp;</span>
713
+ <span class="cline-any cline-neutral">&nbsp;</span>
714
+ <span class="cline-any cline-neutral">&nbsp;</span>
715
+ <span class="cline-any cline-neutral">&nbsp;</span>
716
+ <span class="cline-any cline-neutral">&nbsp;</span>
717
+ <span class="cline-any cline-neutral">&nbsp;</span>
718
+ <span class="cline-any cline-neutral">&nbsp;</span>
719
+ <span class="cline-any cline-neutral">&nbsp;</span>
720
+ <span class="cline-any cline-neutral">&nbsp;</span>
721
+ <span class="cline-any cline-neutral">&nbsp;</span>
722
+ <span class="cline-any cline-neutral">&nbsp;</span>
723
+ <span class="cline-any cline-neutral">&nbsp;</span>
724
+ <span class="cline-any cline-neutral">&nbsp;</span>
725
+ <span class="cline-any cline-neutral">&nbsp;</span>
726
+ <span class="cline-any cline-neutral">&nbsp;</span>
727
+ <span class="cline-any cline-neutral">&nbsp;</span>
728
+ <span class="cline-any cline-neutral">&nbsp;</span>
729
+ <span class="cline-any cline-neutral">&nbsp;</span>
730
+ <span class="cline-any cline-neutral">&nbsp;</span>
731
+ <span class="cline-any cline-neutral">&nbsp;</span>
732
+ <span class="cline-any cline-neutral">&nbsp;</span>
733
+ <span class="cline-any cline-neutral">&nbsp;</span>
734
+ <span class="cline-any cline-neutral">&nbsp;</span>
735
+ <span class="cline-any cline-neutral">&nbsp;</span>
736
+ <span class="cline-any cline-neutral">&nbsp;</span>
737
+ <span class="cline-any cline-neutral">&nbsp;</span>
738
+ <span class="cline-any cline-neutral">&nbsp;</span>
739
+ <span class="cline-any cline-neutral">&nbsp;</span>
740
+ <span class="cline-any cline-neutral">&nbsp;</span>
741
+ <span class="cline-any cline-neutral">&nbsp;</span>
742
+ <span class="cline-any cline-neutral">&nbsp;</span>
743
+ <span class="cline-any cline-neutral">&nbsp;</span>
744
+ <span class="cline-any cline-neutral">&nbsp;</span>
745
+ <span class="cline-any cline-neutral">&nbsp;</span>
746
+ <span class="cline-any cline-neutral">&nbsp;</span>
747
+ <span class="cline-any cline-neutral">&nbsp;</span>
748
+ <span class="cline-any cline-neutral">&nbsp;</span>
749
+ <span class="cline-any cline-neutral">&nbsp;</span>
750
+ <span class="cline-any cline-neutral">&nbsp;</span>
751
+ <span class="cline-any cline-neutral">&nbsp;</span>
752
+ <span class="cline-any cline-neutral">&nbsp;</span>
753
+ <span class="cline-any cline-neutral">&nbsp;</span>
754
+ <span class="cline-any cline-neutral">&nbsp;</span>
755
+ <span class="cline-any cline-neutral">&nbsp;</span>
756
+ <span class="cline-any cline-neutral">&nbsp;</span>
757
+ <span class="cline-any cline-neutral">&nbsp;</span>
758
+ <span class="cline-any cline-neutral">&nbsp;</span>
759
+ <span class="cline-any cline-neutral">&nbsp;</span>
760
+ <span class="cline-any cline-neutral">&nbsp;</span>
761
+ <span class="cline-any cline-neutral">&nbsp;</span>
762
+ <span class="cline-any cline-neutral">&nbsp;</span>
763
+ <span class="cline-any cline-neutral">&nbsp;</span>
764
+ <span class="cline-any cline-neutral">&nbsp;</span>
765
+ <span class="cline-any cline-neutral">&nbsp;</span>
766
+ <span class="cline-any cline-neutral">&nbsp;</span>
767
+ <span class="cline-any cline-neutral">&nbsp;</span>
768
+ <span class="cline-any cline-neutral">&nbsp;</span>
769
+ <span class="cline-any cline-neutral">&nbsp;</span>
770
+ <span class="cline-any cline-neutral">&nbsp;</span>
771
+ <span class="cline-any cline-neutral">&nbsp;</span>
772
+ <span class="cline-any cline-neutral">&nbsp;</span>
773
+ <span class="cline-any cline-neutral">&nbsp;</span>
774
+ <span class="cline-any cline-neutral">&nbsp;</span>
775
+ <span class="cline-any cline-neutral">&nbsp;</span>
776
+ <span class="cline-any cline-neutral">&nbsp;</span>
777
+ <span class="cline-any cline-neutral">&nbsp;</span>
778
+ <span class="cline-any cline-neutral">&nbsp;</span>
779
+ <span class="cline-any cline-neutral">&nbsp;</span>
780
+ <span class="cline-any cline-neutral">&nbsp;</span>
781
+ <span class="cline-any cline-neutral">&nbsp;</span>
782
+ <span class="cline-any cline-neutral">&nbsp;</span>
783
+ <span class="cline-any cline-neutral">&nbsp;</span>
784
+ <span class="cline-any cline-neutral">&nbsp;</span>
785
+ <span class="cline-any cline-neutral">&nbsp;</span>
786
+ <span class="cline-any cline-neutral">&nbsp;</span>
787
+ <span class="cline-any cline-neutral">&nbsp;</span>
788
+ <span class="cline-any cline-neutral">&nbsp;</span>
789
+ <span class="cline-any cline-neutral">&nbsp;</span>
790
+ <span class="cline-any cline-neutral">&nbsp;</span>
791
+ <span class="cline-any cline-neutral">&nbsp;</span>
792
+ <span class="cline-any cline-neutral">&nbsp;</span>
793
+ <span class="cline-any cline-neutral">&nbsp;</span>
794
+ <span class="cline-any cline-neutral">&nbsp;</span>
795
+ <span class="cline-any cline-neutral">&nbsp;</span>
796
+ <span class="cline-any cline-neutral">&nbsp;</span>
797
+ <span class="cline-any cline-neutral">&nbsp;</span>
798
+ <span class="cline-any cline-neutral">&nbsp;</span>
799
+ <span class="cline-any cline-neutral">&nbsp;</span>
800
+ <span class="cline-any cline-neutral">&nbsp;</span>
801
+ <span class="cline-any cline-neutral">&nbsp;</span>
802
+ <span class="cline-any cline-neutral">&nbsp;</span>
803
+ <span class="cline-any cline-neutral">&nbsp;</span>
804
+ <span class="cline-any cline-neutral">&nbsp;</span>
805
+ <span class="cline-any cline-neutral">&nbsp;</span>
806
+ <span class="cline-any cline-neutral">&nbsp;</span>
807
+ <span class="cline-any cline-neutral">&nbsp;</span>
808
+ <span class="cline-any cline-neutral">&nbsp;</span>
809
+ <span class="cline-any cline-neutral">&nbsp;</span>
810
+ <span class="cline-any cline-neutral">&nbsp;</span>
811
+ <span class="cline-any cline-neutral">&nbsp;</span>
812
+ <span class="cline-any cline-neutral">&nbsp;</span>
813
+ <span class="cline-any cline-neutral">&nbsp;</span>
814
+ <span class="cline-any cline-neutral">&nbsp;</span>
815
+ <span class="cline-any cline-neutral">&nbsp;</span>
816
+ <span class="cline-any cline-neutral">&nbsp;</span>
817
+ <span class="cline-any cline-neutral">&nbsp;</span>
818
+ <span class="cline-any cline-neutral">&nbsp;</span>
819
+ <span class="cline-any cline-neutral">&nbsp;</span>
820
+ <span class="cline-any cline-neutral">&nbsp;</span>
821
+ <span class="cline-any cline-neutral">&nbsp;</span>
822
+ <span class="cline-any cline-neutral">&nbsp;</span>
823
+ <span class="cline-any cline-neutral">&nbsp;</span>
824
+ <span class="cline-any cline-neutral">&nbsp;</span>
825
+ <span class="cline-any cline-neutral">&nbsp;</span>
826
+ <span class="cline-any cline-neutral">&nbsp;</span>
827
+ <span class="cline-any cline-neutral">&nbsp;</span>
828
+ <span class="cline-any cline-neutral">&nbsp;</span>
829
+ <span class="cline-any cline-neutral">&nbsp;</span>
830
+ <span class="cline-any cline-neutral">&nbsp;</span>
831
+ <span class="cline-any cline-neutral">&nbsp;</span>
832
+ <span class="cline-any cline-neutral">&nbsp;</span>
833
+ <span class="cline-any cline-neutral">&nbsp;</span>
834
+ <span class="cline-any cline-neutral">&nbsp;</span>
835
+ <span class="cline-any cline-neutral">&nbsp;</span>
836
+ <span class="cline-any cline-neutral">&nbsp;</span>
837
+ <span class="cline-any cline-neutral">&nbsp;</span>
838
+ <span class="cline-any cline-yes">17x</span>
839
+ <span class="cline-any cline-yes">17x</span>
840
+ <span class="cline-any cline-yes">17x</span>
841
+ <span class="cline-any cline-yes">17x</span>
842
+ <span class="cline-any cline-yes">17x</span>
843
+ <span class="cline-any cline-neutral">&nbsp;</span>
844
+ <span class="cline-any cline-yes">17x</span>
845
+ <span class="cline-any cline-neutral">&nbsp;</span>
846
+ <span class="cline-any cline-neutral">&nbsp;</span>
847
+ <span class="cline-any cline-yes">17x</span>
848
+ <span class="cline-any cline-neutral">&nbsp;</span>
849
+ <span class="cline-any cline-neutral">&nbsp;</span>
850
+ <span class="cline-any cline-neutral">&nbsp;</span>
851
+ <span class="cline-any cline-neutral">&nbsp;</span>
852
+ <span class="cline-any cline-neutral">&nbsp;</span>
853
+ <span class="cline-any cline-neutral">&nbsp;</span>
854
+ <span class="cline-any cline-neutral">&nbsp;</span>
855
+ <span class="cline-any cline-neutral">&nbsp;</span>
856
+ <span class="cline-any cline-neutral">&nbsp;</span>
857
+ <span class="cline-any cline-neutral">&nbsp;</span>
858
+ <span class="cline-any cline-neutral">&nbsp;</span>
859
+ <span class="cline-any cline-neutral">&nbsp;</span>
860
+ <span class="cline-any cline-neutral">&nbsp;</span>
861
+ <span class="cline-any cline-neutral">&nbsp;</span>
862
+ <span class="cline-any cline-neutral">&nbsp;</span>
863
+ <span class="cline-any cline-neutral">&nbsp;</span>
864
+ <span class="cline-any cline-neutral">&nbsp;</span>
865
+ <span class="cline-any cline-neutral">&nbsp;</span>
866
+ <span class="cline-any cline-yes">17x</span>
867
+ <span class="cline-any cline-yes">17x</span>
868
+ <span class="cline-any cline-neutral">&nbsp;</span>
869
+ <span class="cline-any cline-yes">17x</span>
870
+ <span class="cline-any cline-neutral">&nbsp;</span>
871
+ <span class="cline-any cline-neutral">&nbsp;</span>
872
+ <span class="cline-any cline-neutral">&nbsp;</span>
873
+ <span class="cline-any cline-neutral">&nbsp;</span>
874
+ <span class="cline-any cline-neutral">&nbsp;</span>
875
+ <span class="cline-any cline-neutral">&nbsp;</span>
876
+ <span class="cline-any cline-neutral">&nbsp;</span>
877
+ <span class="cline-any cline-neutral">&nbsp;</span>
878
+ <span class="cline-any cline-neutral">&nbsp;</span>
879
+ <span class="cline-any cline-neutral">&nbsp;</span>
880
+ <span class="cline-any cline-neutral">&nbsp;</span>
881
+ <span class="cline-any cline-no">&nbsp;</span>
882
+ <span class="cline-any cline-neutral">&nbsp;</span>
883
+ <span class="cline-any cline-neutral">&nbsp;</span>
884
+ <span class="cline-any cline-neutral">&nbsp;</span>
885
+ <span class="cline-any cline-neutral">&nbsp;</span>
886
+ <span class="cline-any cline-neutral">&nbsp;</span>
887
+ <span class="cline-any cline-no">&nbsp;</span>
888
+ <span class="cline-any cline-neutral">&nbsp;</span>
889
+ <span class="cline-any cline-neutral">&nbsp;</span>
890
+ <span class="cline-any cline-neutral">&nbsp;</span>
891
+ <span class="cline-any cline-neutral">&nbsp;</span>
892
+ <span class="cline-any cline-neutral">&nbsp;</span>
893
+ <span class="cline-any cline-neutral">&nbsp;</span>
894
+ <span class="cline-any cline-neutral">&nbsp;</span>
895
+ <span class="cline-any cline-neutral">&nbsp;</span>
896
+ <span class="cline-any cline-neutral">&nbsp;</span>
897
+ <span class="cline-any cline-neutral">&nbsp;</span>
898
+ <span class="cline-any cline-neutral">&nbsp;</span>
899
+ <span class="cline-any cline-neutral">&nbsp;</span>
900
+ <span class="cline-any cline-neutral">&nbsp;</span>
901
+ <span class="cline-any cline-neutral">&nbsp;</span>
902
+ <span class="cline-any cline-neutral">&nbsp;</span>
903
+ <span class="cline-any cline-neutral">&nbsp;</span>
904
+ <span class="cline-any cline-neutral">&nbsp;</span>
905
+ <span class="cline-any cline-neutral">&nbsp;</span>
906
+ <span class="cline-any cline-neutral">&nbsp;</span>
907
+ <span class="cline-any cline-neutral">&nbsp;</span>
908
+ <span class="cline-any cline-neutral">&nbsp;</span>
909
+ <span class="cline-any cline-neutral">&nbsp;</span>
910
+ <span class="cline-any cline-neutral">&nbsp;</span>
911
+ <span class="cline-any cline-neutral">&nbsp;</span>
912
+ <span class="cline-any cline-neutral">&nbsp;</span>
913
+ <span class="cline-any cline-neutral">&nbsp;</span>
914
+ <span class="cline-any cline-neutral">&nbsp;</span>
915
+ <span class="cline-any cline-neutral">&nbsp;</span>
916
+ <span class="cline-any cline-neutral">&nbsp;</span>
917
+ <span class="cline-any cline-neutral">&nbsp;</span>
918
+ <span class="cline-any cline-neutral">&nbsp;</span>
919
+ <span class="cline-any cline-neutral">&nbsp;</span>
920
+ <span class="cline-any cline-neutral">&nbsp;</span>
921
+ <span class="cline-any cline-neutral">&nbsp;</span>
922
+ <span class="cline-any cline-no">&nbsp;</span>
923
+ <span class="cline-any cline-no">&nbsp;</span>
924
+ <span class="cline-any cline-no">&nbsp;</span>
925
+ <span class="cline-any cline-neutral">&nbsp;</span>
926
+ <span class="cline-any cline-no">&nbsp;</span>
927
+ <span class="cline-any cline-no">&nbsp;</span>
928
+ <span class="cline-any cline-no">&nbsp;</span>
929
+ <span class="cline-any cline-neutral">&nbsp;</span>
930
+ <span class="cline-any cline-no">&nbsp;</span>
931
+ <span class="cline-any cline-no">&nbsp;</span>
932
+ <span class="cline-any cline-no">&nbsp;</span>
933
+ <span class="cline-any cline-no">&nbsp;</span>
934
+ <span class="cline-any cline-neutral">&nbsp;</span>
935
+ <span class="cline-any cline-no">&nbsp;</span>
936
+ <span class="cline-any cline-neutral">&nbsp;</span>
937
+ <span class="cline-any cline-no">&nbsp;</span>
938
+ <span class="cline-any cline-no">&nbsp;</span>
939
+ <span class="cline-any cline-no">&nbsp;</span>
940
+ <span class="cline-any cline-no">&nbsp;</span>
941
+ <span class="cline-any cline-no">&nbsp;</span>
942
+ <span class="cline-any cline-neutral">&nbsp;</span>
943
+ <span class="cline-any cline-neutral">&nbsp;</span>
944
+ <span class="cline-any cline-neutral">&nbsp;</span>
945
+ <span class="cline-any cline-no">&nbsp;</span>
946
+ <span class="cline-any cline-no">&nbsp;</span>
947
+ <span class="cline-any cline-no">&nbsp;</span>
948
+ <span class="cline-any cline-neutral">&nbsp;</span>
949
+ <span class="cline-any cline-neutral">&nbsp;</span>
950
+ <span class="cline-any cline-no">&nbsp;</span>
951
+ <span class="cline-any cline-no">&nbsp;</span>
952
+ <span class="cline-any cline-neutral">&nbsp;</span>
953
+ <span class="cline-any cline-neutral">&nbsp;</span>
954
+ <span class="cline-any cline-neutral">&nbsp;</span>
955
+ <span class="cline-any cline-neutral">&nbsp;</span>
956
+ <span class="cline-any cline-no">&nbsp;</span>
957
+ <span class="cline-any cline-no">&nbsp;</span>
958
+ <span class="cline-any cline-no">&nbsp;</span>
959
+ <span class="cline-any cline-neutral">&nbsp;</span>
960
+ <span class="cline-any cline-neutral">&nbsp;</span>
961
+ <span class="cline-any cline-no">&nbsp;</span>
962
+ <span class="cline-any cline-neutral">&nbsp;</span>
963
+ <span class="cline-any cline-neutral">&nbsp;</span>
964
+ <span class="cline-any cline-no">&nbsp;</span>
965
+ <span class="cline-any cline-no">&nbsp;</span>
966
+ <span class="cline-any cline-no">&nbsp;</span>
967
+ <span class="cline-any cline-neutral">&nbsp;</span>
968
+ <span class="cline-any cline-no">&nbsp;</span>
969
+ <span class="cline-any cline-no">&nbsp;</span>
970
+ <span class="cline-any cline-no">&nbsp;</span>
971
+ <span class="cline-any cline-no">&nbsp;</span>
972
+ <span class="cline-any cline-no">&nbsp;</span>
973
+ <span class="cline-any cline-no">&nbsp;</span>
974
+ <span class="cline-any cline-no">&nbsp;</span>
975
+ <span class="cline-any cline-no">&nbsp;</span>
976
+ <span class="cline-any cline-no">&nbsp;</span>
977
+ <span class="cline-any cline-no">&nbsp;</span>
978
+ <span class="cline-any cline-no">&nbsp;</span>
979
+ <span class="cline-any cline-no">&nbsp;</span>
980
+ <span class="cline-any cline-no">&nbsp;</span>
981
+ <span class="cline-any cline-no">&nbsp;</span>
982
+ <span class="cline-any cline-no">&nbsp;</span>
983
+ <span class="cline-any cline-no">&nbsp;</span>
984
+ <span class="cline-any cline-neutral">&nbsp;</span>
985
+ <span class="cline-any cline-neutral">&nbsp;</span>
986
+ <span class="cline-any cline-neutral">&nbsp;</span>
987
+ <span class="cline-any cline-neutral">&nbsp;</span>
988
+ <span class="cline-any cline-neutral">&nbsp;</span>
989
+ <span class="cline-any cline-neutral">&nbsp;</span>
990
+ <span class="cline-any cline-neutral">&nbsp;</span>
991
+ <span class="cline-any cline-neutral">&nbsp;</span>
992
+ <span class="cline-any cline-no">&nbsp;</span>
993
+ <span class="cline-any cline-no">&nbsp;</span>
994
+ <span class="cline-any cline-no">&nbsp;</span>
995
+ <span class="cline-any cline-no">&nbsp;</span>
996
+ <span class="cline-any cline-neutral">&nbsp;</span>
997
+ <span class="cline-any cline-neutral">&nbsp;</span>
998
+ <span class="cline-any cline-no">&nbsp;</span>
999
+ <span class="cline-any cline-no">&nbsp;</span>
1000
+ <span class="cline-any cline-no">&nbsp;</span>
1001
+ <span class="cline-any cline-no">&nbsp;</span>
1002
+ <span class="cline-any cline-no">&nbsp;</span>
1003
+ <span class="cline-any cline-no">&nbsp;</span>
1004
+ <span class="cline-any cline-neutral">&nbsp;</span>
1005
+ <span class="cline-any cline-no">&nbsp;</span>
1006
+ <span class="cline-any cline-no">&nbsp;</span>
1007
+ <span class="cline-any cline-no">&nbsp;</span>
1008
+ <span class="cline-any cline-neutral">&nbsp;</span>
1009
+ <span class="cline-any cline-no">&nbsp;</span>
1010
+ <span class="cline-any cline-no">&nbsp;</span>
1011
+ <span class="cline-any cline-no">&nbsp;</span>
1012
+ <span class="cline-any cline-no">&nbsp;</span>
1013
+ <span class="cline-any cline-no">&nbsp;</span>
1014
+ <span class="cline-any cline-neutral">&nbsp;</span>
1015
+ <span class="cline-any cline-neutral">&nbsp;</span>
1016
+ <span class="cline-any cline-no">&nbsp;</span>
1017
+ <span class="cline-any cline-neutral">&nbsp;</span>
1018
+ <span class="cline-any cline-neutral">&nbsp;</span>
1019
+ <span class="cline-any cline-no">&nbsp;</span>
1020
+ <span class="cline-any cline-neutral">&nbsp;</span>
1021
+ <span class="cline-any cline-no">&nbsp;</span>
1022
+ <span class="cline-any cline-neutral">&nbsp;</span>
1023
+ <span class="cline-any cline-no">&nbsp;</span>
1024
+ <span class="cline-any cline-no">&nbsp;</span>
1025
+ <span class="cline-any cline-no">&nbsp;</span>
1026
+ <span class="cline-any cline-neutral">&nbsp;</span>
1027
+ <span class="cline-any cline-neutral">&nbsp;</span>
1028
+ <span class="cline-any cline-no">&nbsp;</span>
1029
+ <span class="cline-any cline-no">&nbsp;</span>
1030
+ <span class="cline-any cline-neutral">&nbsp;</span>
1031
+ <span class="cline-any cline-neutral">&nbsp;</span>
1032
+ <span class="cline-any cline-neutral">&nbsp;</span>
1033
+ <span class="cline-any cline-no">&nbsp;</span>
1034
+ <span class="cline-any cline-no">&nbsp;</span>
1035
+ <span class="cline-any cline-neutral">&nbsp;</span>
1036
+ <span class="cline-any cline-neutral">&nbsp;</span>
1037
+ <span class="cline-any cline-no">&nbsp;</span>
1038
+ <span class="cline-any cline-neutral">&nbsp;</span>
1039
+ <span class="cline-any cline-neutral">&nbsp;</span>
1040
+ <span class="cline-any cline-neutral">&nbsp;</span>
1041
+ <span class="cline-any cline-neutral">&nbsp;</span>
1042
+ <span class="cline-any cline-neutral">&nbsp;</span>
1043
+ <span class="cline-any cline-no">&nbsp;</span>
1044
+ <span class="cline-any cline-no">&nbsp;</span>
1045
+ <span class="cline-any cline-neutral">&nbsp;</span>
1046
+ <span class="cline-any cline-neutral">&nbsp;</span>
1047
+ <span class="cline-any cline-no">&nbsp;</span>
1048
+ <span class="cline-any cline-no">&nbsp;</span>
1049
+ <span class="cline-any cline-neutral">&nbsp;</span>
1050
+ <span class="cline-any cline-neutral">&nbsp;</span>
1051
+ <span class="cline-any cline-no">&nbsp;</span>
1052
+ <span class="cline-any cline-no">&nbsp;</span>
1053
+ <span class="cline-any cline-no">&nbsp;</span>
1054
+ <span class="cline-any cline-neutral">&nbsp;</span>
1055
+ <span class="cline-any cline-no">&nbsp;</span>
1056
+ <span class="cline-any cline-neutral">&nbsp;</span>
1057
+ <span class="cline-any cline-neutral">&nbsp;</span>
1058
+ <span class="cline-any cline-no">&nbsp;</span>
1059
+ <span class="cline-any cline-neutral">&nbsp;</span>
1060
+ <span class="cline-any cline-neutral">&nbsp;</span>
1061
+ <span class="cline-any cline-neutral">&nbsp;</span>
1062
+ <span class="cline-any cline-no">&nbsp;</span>
1063
+ <span class="cline-any cline-no">&nbsp;</span>
1064
+ <span class="cline-any cline-no">&nbsp;</span>
1065
+ <span class="cline-any cline-neutral">&nbsp;</span>
1066
+ <span class="cline-any cline-neutral">&nbsp;</span>
1067
+ <span class="cline-any cline-no">&nbsp;</span>
1068
+ <span class="cline-any cline-no">&nbsp;</span>
1069
+ <span class="cline-any cline-neutral">&nbsp;</span>
1070
+ <span class="cline-any cline-neutral">&nbsp;</span>
1071
+ <span class="cline-any cline-no">&nbsp;</span>
1072
+ <span class="cline-any cline-no">&nbsp;</span>
1073
+ <span class="cline-any cline-neutral">&nbsp;</span>
1074
+ <span class="cline-any cline-neutral">&nbsp;</span>
1075
+ <span class="cline-any cline-neutral">&nbsp;</span>
1076
+ <span class="cline-any cline-no">&nbsp;</span>
1077
+ <span class="cline-any cline-neutral">&nbsp;</span>
1078
+ <span class="cline-any cline-neutral">&nbsp;</span>
1079
+ <span class="cline-any cline-neutral">&nbsp;</span>
1080
+ <span class="cline-any cline-neutral">&nbsp;</span>
1081
+ <span class="cline-any cline-neutral">&nbsp;</span>
1082
+ <span class="cline-any cline-neutral">&nbsp;</span>
1083
+ <span class="cline-any cline-neutral">&nbsp;</span>
1084
+ <span class="cline-any cline-neutral">&nbsp;</span>
1085
+ <span class="cline-any cline-neutral">&nbsp;</span>
1086
+ <span class="cline-any cline-neutral">&nbsp;</span>
1087
+ <span class="cline-any cline-neutral">&nbsp;</span>
1088
+ <span class="cline-any cline-neutral">&nbsp;</span>
1089
+ <span class="cline-any cline-neutral">&nbsp;</span>
1090
+ <span class="cline-any cline-neutral">&nbsp;</span>
1091
+ <span class="cline-any cline-neutral">&nbsp;</span>
1092
+ <span class="cline-any cline-neutral">&nbsp;</span>
1093
+ <span class="cline-any cline-neutral">&nbsp;</span>
1094
+ <span class="cline-any cline-no">&nbsp;</span>
1095
+ <span class="cline-any cline-neutral">&nbsp;</span>
1096
+ <span class="cline-any cline-no">&nbsp;</span>
1097
+ <span class="cline-any cline-neutral">&nbsp;</span>
1098
+ <span class="cline-any cline-neutral">&nbsp;</span>
1099
+ <span class="cline-any cline-neutral">&nbsp;</span>
1100
+ <span class="cline-any cline-no">&nbsp;</span>
1101
+ <span class="cline-any cline-no">&nbsp;</span>
1102
+ <span class="cline-any cline-neutral">&nbsp;</span>
1103
+ <span class="cline-any cline-no">&nbsp;</span>
1104
+ <span class="cline-any cline-no">&nbsp;</span>
1105
+ <span class="cline-any cline-neutral">&nbsp;</span>
1106
+ <span class="cline-any cline-neutral">&nbsp;</span>
1107
+ <span class="cline-any cline-neutral">&nbsp;</span>
1108
+ <span class="cline-any cline-neutral">&nbsp;</span>
1109
+ <span class="cline-any cline-neutral">&nbsp;</span>
1110
+ <span class="cline-any cline-no">&nbsp;</span>
1111
+ <span class="cline-any cline-neutral">&nbsp;</span>
1112
+ <span class="cline-any cline-neutral">&nbsp;</span>
1113
+ <span class="cline-any cline-no">&nbsp;</span>
1114
+ <span class="cline-any cline-no">&nbsp;</span>
1115
+ <span class="cline-any cline-neutral">&nbsp;</span>
1116
+ <span class="cline-any cline-no">&nbsp;</span>
1117
+ <span class="cline-any cline-neutral">&nbsp;</span>
1118
+ <span class="cline-any cline-neutral">&nbsp;</span>
1119
+ <span class="cline-any cline-no">&nbsp;</span>
1120
+ <span class="cline-any cline-no">&nbsp;</span>
1121
+ <span class="cline-any cline-neutral">&nbsp;</span>
1122
+ <span class="cline-any cline-neutral">&nbsp;</span>
1123
+ <span class="cline-any cline-neutral">&nbsp;</span>
1124
+ <span class="cline-any cline-neutral">&nbsp;</span>
1125
+ <span class="cline-any cline-no">&nbsp;</span>
1126
+ <span class="cline-any cline-neutral">&nbsp;</span>
1127
+ <span class="cline-any cline-neutral">&nbsp;</span>
1128
+ <span class="cline-any cline-neutral">&nbsp;</span>
1129
+ <span class="cline-any cline-neutral">&nbsp;</span>
1130
+ <span class="cline-any cline-neutral">&nbsp;</span>
1131
+ <span class="cline-any cline-no">&nbsp;</span>
1132
+ <span class="cline-any cline-neutral">&nbsp;</span>
1133
+ <span class="cline-any cline-neutral">&nbsp;</span>
1134
+ <span class="cline-any cline-neutral">&nbsp;</span>
1135
+ <span class="cline-any cline-no">&nbsp;</span>
1136
+ <span class="cline-any cline-no">&nbsp;</span>
1137
+ <span class="cline-any cline-neutral">&nbsp;</span>
1138
+ <span class="cline-any cline-neutral">&nbsp;</span>
1139
+ <span class="cline-any cline-neutral">&nbsp;</span>
1140
+ <span class="cline-any cline-neutral">&nbsp;</span>
1141
+ <span class="cline-any cline-neutral">&nbsp;</span>
1142
+ <span class="cline-any cline-neutral">&nbsp;</span>
1143
+ <span class="cline-any cline-neutral">&nbsp;</span>
1144
+ <span class="cline-any cline-neutral">&nbsp;</span>
1145
+ <span class="cline-any cline-no">&nbsp;</span>
1146
+ <span class="cline-any cline-neutral">&nbsp;</span>
1147
+ <span class="cline-any cline-neutral">&nbsp;</span>
1148
+ <span class="cline-any cline-neutral">&nbsp;</span>
1149
+ <span class="cline-any cline-neutral">&nbsp;</span>
1150
+ <span class="cline-any cline-neutral">&nbsp;</span>
1151
+ <span class="cline-any cline-no">&nbsp;</span>
1152
+ <span class="cline-any cline-no">&nbsp;</span>
1153
+ <span class="cline-any cline-neutral">&nbsp;</span>
1154
+ <span class="cline-any cline-neutral">&nbsp;</span>
1155
+ <span class="cline-any cline-neutral">&nbsp;</span>
1156
+ <span class="cline-any cline-no">&nbsp;</span>
1157
+ <span class="cline-any cline-no">&nbsp;</span>
1158
+ <span class="cline-any cline-no">&nbsp;</span>
1159
+ <span class="cline-any cline-neutral">&nbsp;</span>
1160
+ <span class="cline-any cline-no">&nbsp;</span>
1161
+ <span class="cline-any cline-no">&nbsp;</span>
1162
+ <span class="cline-any cline-no">&nbsp;</span>
1163
+ <span class="cline-any cline-neutral">&nbsp;</span>
1164
+ <span class="cline-any cline-neutral">&nbsp;</span>
1165
+ <span class="cline-any cline-neutral">&nbsp;</span>
1166
+ <span class="cline-any cline-neutral">&nbsp;</span>
1167
+ <span class="cline-any cline-no">&nbsp;</span>
1168
+ <span class="cline-any cline-neutral">&nbsp;</span>
1169
+ <span class="cline-any cline-neutral">&nbsp;</span>
1170
+ <span class="cline-any cline-neutral">&nbsp;</span>
1171
+ <span class="cline-any cline-no">&nbsp;</span>
1172
+ <span class="cline-any cline-no">&nbsp;</span>
1173
+ <span class="cline-any cline-no">&nbsp;</span>
1174
+ <span class="cline-any cline-neutral">&nbsp;</span>
1175
+ <span class="cline-any cline-neutral">&nbsp;</span>
1176
+ <span class="cline-any cline-neutral">&nbsp;</span>
1177
+ <span class="cline-any cline-no">&nbsp;</span>
1178
+ <span class="cline-any cline-no">&nbsp;</span>
1179
+ <span class="cline-any cline-neutral">&nbsp;</span>
1180
+ <span class="cline-any cline-neutral">&nbsp;</span>
1181
+ <span class="cline-any cline-no">&nbsp;</span>
1182
+ <span class="cline-any cline-no">&nbsp;</span>
1183
+ <span class="cline-any cline-neutral">&nbsp;</span>
1184
+ <span class="cline-any cline-neutral">&nbsp;</span>
1185
+ <span class="cline-any cline-neutral">&nbsp;</span>
1186
+ <span class="cline-any cline-neutral">&nbsp;</span>
1187
+ <span class="cline-any cline-no">&nbsp;</span>
1188
+ <span class="cline-any cline-no">&nbsp;</span>
1189
+ <span class="cline-any cline-neutral">&nbsp;</span>
1190
+ <span class="cline-any cline-neutral">&nbsp;</span>
1191
+ <span class="cline-any cline-neutral">&nbsp;</span>
1192
+ <span class="cline-any cline-no">&nbsp;</span>
1193
+ <span class="cline-any cline-neutral">&nbsp;</span>
1194
+ <span class="cline-any cline-neutral">&nbsp;</span>
1195
+ <span class="cline-any cline-no">&nbsp;</span>
1196
+ <span class="cline-any cline-no">&nbsp;</span>
1197
+ <span class="cline-any cline-no">&nbsp;</span>
1198
+ <span class="cline-any cline-neutral">&nbsp;</span>
1199
+ <span class="cline-any cline-neutral">&nbsp;</span>
1200
+ <span class="cline-any cline-neutral">&nbsp;</span>
1201
+ <span class="cline-any cline-neutral">&nbsp;</span>
1202
+ <span class="cline-any cline-no">&nbsp;</span>
1203
+ <span class="cline-any cline-no">&nbsp;</span>
1204
+ <span class="cline-any cline-neutral">&nbsp;</span>
1205
+ <span class="cline-any cline-neutral">&nbsp;</span>
1206
+ <span class="cline-any cline-no">&nbsp;</span>
1207
+ <span class="cline-any cline-no">&nbsp;</span>
1208
+ <span class="cline-any cline-neutral">&nbsp;</span>
1209
+ <span class="cline-any cline-neutral">&nbsp;</span>
1210
+ <span class="cline-any cline-neutral">&nbsp;</span>
1211
+ <span class="cline-any cline-neutral">&nbsp;</span>
1212
+ <span class="cline-any cline-no">&nbsp;</span>
1213
+ <span class="cline-any cline-no">&nbsp;</span>
1214
+ <span class="cline-any cline-neutral">&nbsp;</span>
1215
+ <span class="cline-any cline-neutral">&nbsp;</span>
1216
+ <span class="cline-any cline-neutral">&nbsp;</span>
1217
+ <span class="cline-any cline-no">&nbsp;</span>
1218
+ <span class="cline-any cline-neutral">&nbsp;</span>
1219
+ <span class="cline-any cline-neutral">&nbsp;</span>
1220
+ <span class="cline-any cline-no">&nbsp;</span>
1221
+ <span class="cline-any cline-no">&nbsp;</span>
1222
+ <span class="cline-any cline-no">&nbsp;</span>
1223
+ <span class="cline-any cline-neutral">&nbsp;</span>
1224
+ <span class="cline-any cline-neutral">&nbsp;</span>
1225
+ <span class="cline-any cline-neutral">&nbsp;</span>
1226
+ <span class="cline-any cline-neutral">&nbsp;</span>
1227
+ <span class="cline-any cline-neutral">&nbsp;</span>
1228
+ <span class="cline-any cline-no">&nbsp;</span>
1229
+ <span class="cline-any cline-no">&nbsp;</span>
1230
+ <span class="cline-any cline-no">&nbsp;</span>
1231
+ <span class="cline-any cline-neutral">&nbsp;</span>
1232
+ <span class="cline-any cline-no">&nbsp;</span>
1233
+ <span class="cline-any cline-neutral">&nbsp;</span>
1234
+ <span class="cline-any cline-neutral">&nbsp;</span>
1235
+ <span class="cline-any cline-neutral">&nbsp;</span>
1236
+ <span class="cline-any cline-no">&nbsp;</span>
1237
+ <span class="cline-any cline-no">&nbsp;</span>
1238
+ <span class="cline-any cline-no">&nbsp;</span>
1239
+ <span class="cline-any cline-neutral">&nbsp;</span>
1240
+ <span class="cline-any cline-neutral">&nbsp;</span>
1241
+ <span class="cline-any cline-neutral">&nbsp;</span>
1242
+ <span class="cline-any cline-no">&nbsp;</span>
1243
+ <span class="cline-any cline-no">&nbsp;</span>
1244
+ <span class="cline-any cline-neutral">&nbsp;</span>
1245
+ <span class="cline-any cline-no">&nbsp;</span>
1246
+ <span class="cline-any cline-no">&nbsp;</span>
1247
+ <span class="cline-any cline-no">&nbsp;</span>
1248
+ <span class="cline-any cline-no">&nbsp;</span>
1249
+ <span class="cline-any cline-no">&nbsp;</span>
1250
+ <span class="cline-any cline-no">&nbsp;</span>
1251
+ <span class="cline-any cline-no">&nbsp;</span>
1252
+ <span class="cline-any cline-no">&nbsp;</span>
1253
+ <span class="cline-any cline-no">&nbsp;</span>
1254
+ <span class="cline-any cline-neutral">&nbsp;</span>
1255
+ <span class="cline-any cline-neutral">&nbsp;</span>
1256
+ <span class="cline-any cline-no">&nbsp;</span>
1257
+ <span class="cline-any cline-no">&nbsp;</span>
1258
+ <span class="cline-any cline-neutral">&nbsp;</span>
1259
+ <span class="cline-any cline-neutral">&nbsp;</span>
1260
+ <span class="cline-any cline-neutral">&nbsp;</span>
1261
+ <span class="cline-any cline-no">&nbsp;</span>
1262
+ <span class="cline-any cline-neutral">&nbsp;</span>
1263
+ <span class="cline-any cline-no">&nbsp;</span>
1264
+ <span class="cline-any cline-neutral">&nbsp;</span>
1265
+ <span class="cline-any cline-neutral">&nbsp;</span>
1266
+ <span class="cline-any cline-neutral">&nbsp;</span>
1267
+ <span class="cline-any cline-no">&nbsp;</span>
1268
+ <span class="cline-any cline-neutral">&nbsp;</span>
1269
+ <span class="cline-any cline-neutral">&nbsp;</span>
1270
+ <span class="cline-any cline-neutral">&nbsp;</span>
1271
+ <span class="cline-any cline-no">&nbsp;</span>
1272
+ <span class="cline-any cline-neutral">&nbsp;</span>
1273
+ <span class="cline-any cline-neutral">&nbsp;</span>
1274
+ <span class="cline-any cline-neutral">&nbsp;</span>
1275
+ <span class="cline-any cline-no">&nbsp;</span>
1276
+ <span class="cline-any cline-no">&nbsp;</span>
1277
+ <span class="cline-any cline-no">&nbsp;</span>
1278
+ <span class="cline-any cline-no">&nbsp;</span>
1279
+ <span class="cline-any cline-no">&nbsp;</span>
1280
+ <span class="cline-any cline-neutral">&nbsp;</span>
1281
+ <span class="cline-any cline-neutral">&nbsp;</span>
1282
+ <span class="cline-any cline-neutral">&nbsp;</span>
1283
+ <span class="cline-any cline-no">&nbsp;</span>
1284
+ <span class="cline-any cline-no">&nbsp;</span>
1285
+ <span class="cline-any cline-no">&nbsp;</span>
1286
+ <span class="cline-any cline-no">&nbsp;</span>
1287
+ <span class="cline-any cline-neutral">&nbsp;</span>
1288
+ <span class="cline-any cline-neutral">&nbsp;</span>
1289
+ <span class="cline-any cline-no">&nbsp;</span>
1290
+ <span class="cline-any cline-no">&nbsp;</span>
1291
+ <span class="cline-any cline-no">&nbsp;</span>
1292
+ <span class="cline-any cline-neutral">&nbsp;</span>
1293
+ <span class="cline-any cline-neutral">&nbsp;</span>
1294
+ <span class="cline-any cline-neutral">&nbsp;</span>
1295
+ <span class="cline-any cline-neutral">&nbsp;</span>
1296
+ <span class="cline-any cline-neutral">&nbsp;</span>
1297
+ <span class="cline-any cline-neutral">&nbsp;</span>
1298
+ <span class="cline-any cline-neutral">&nbsp;</span>
1299
+ <span class="cline-any cline-neutral">&nbsp;</span>
1300
+ <span class="cline-any cline-neutral">&nbsp;</span>
1301
+ <span class="cline-any cline-no">&nbsp;</span>
1302
+ <span class="cline-any cline-no">&nbsp;</span>
1303
+ <span class="cline-any cline-no">&nbsp;</span>
1304
+ <span class="cline-any cline-neutral">&nbsp;</span>
1305
+ <span class="cline-any cline-no">&nbsp;</span>
1306
+ <span class="cline-any cline-no">&nbsp;</span>
1307
+ <span class="cline-any cline-neutral">&nbsp;</span>
1308
+ <span class="cline-any cline-neutral">&nbsp;</span>
1309
+ <span class="cline-any cline-neutral">&nbsp;</span>
1310
+ <span class="cline-any cline-neutral">&nbsp;</span>
1311
+ <span class="cline-any cline-no">&nbsp;</span>
1312
+ <span class="cline-any cline-no">&nbsp;</span>
1313
+ <span class="cline-any cline-neutral">&nbsp;</span>
1314
+ <span class="cline-any cline-neutral">&nbsp;</span>
1315
+ <span class="cline-any cline-neutral">&nbsp;</span>
1316
+ <span class="cline-any cline-neutral">&nbsp;</span>
1317
+ <span class="cline-any cline-neutral">&nbsp;</span>
1318
+ <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">&lt;template&gt;
1319
+ &lt;div ref="mTable" class="m-fields-table" :class="{ 'm-fields-table-item-extra': config.itemExtra }"&gt;
1320
+ &lt;span v-if="config.extra" style="color: rgba(0, 0, 0, 0.45)" v-html="config.extra"&gt;&lt;/span&gt;
1321
+ &lt;div class="el-form-item__content"&gt;
1322
+ &lt;el-tooltip content="拖拽可排序" placement="left-start" :disabled="config.dropSort !== true"&gt;
1323
+ &lt;el-table
1324
+ v-if="model[modelName]"
1325
+ ref="elTable"
1326
+ style="width: 100%"
1327
+ :data="model[modelName]"
1328
+ :border="config.border"
1329
+ :max-height="config.maxHeight"
1330
+ :default-expand-all="true"
1331
+ :key="updateKey"
1332
+ @select="selectHandle"
1333
+ @sort-change="sortChange"
1334
+ &gt;
1335
+ &lt;el-table-column v-if="config.itemExtra" :fixed="'left'" width="30" type="expand"&gt;
1336
+ &lt;template v-slot="scope"&gt;
1337
+ &lt;span v-html="itemExtra(config.itemExtra, scope.$index)" class="m-form-tip"&gt;&lt;/span&gt;
1338
+ &lt;/template&gt;
1339
+ &lt;/el-table-column&gt;
1340
+ &nbsp;
1341
+ &lt;el-table-column label="操作" width="60" :fixed="config.fixed === false ? undefined : 'left'"&gt;
1342
+ &lt;template v-slot="scope"&gt;
1343
+ &lt;el-button
1344
+ v-show="showDelete(scope.$index + 1 + pagecontext * pagesize - 1)"
1345
+ style="color: #f56c6c"
1346
+ type="text"
1347
+ :icon="Delete"
1348
+ @click="removeHandler(scope.$index + 1 + pagecontext * pagesize - 1)"
1349
+ &gt;&lt;/el-button&gt;
1350
+ &lt;/template&gt;
1351
+ &lt;/el-table-column&gt;
1352
+ &nbsp;
1353
+ &lt;el-table-column v-if="sort &amp;&amp; model[modelName] &amp;&amp; model[modelName].length &gt; 1" label="排序" width="60"&gt;
1354
+ &lt;template v-slot="scope"&gt;
1355
+ &lt;el-tooltip
1356
+ content="点击上移,双击置顶"
1357
+ placement="top"
1358
+ v-if="scope.$index + 1 + pagecontext * pagesize - 1 !== 0"
1359
+ &gt;
1360
+ &lt;el-button
1361
+ plain
1362
+ size="small"
1363
+ :icon="ArrowUp"
1364
+ type="text"
1365
+ @click="upHandler(scope.$index + 1 + pagecontext * pagesize - 1)"
1366
+ @dblclick="topHandler(scope.$index + 1 + pagecontext * pagesize - 1)"
1367
+ &gt;&lt;/el-button&gt;
1368
+ &lt;/el-tooltip&gt;
1369
+ &lt;el-tooltip
1370
+ content="点击下移,双击置底"
1371
+ placement="top"
1372
+ v-if="scope.$index + 1 + pagecontext * pagesize - 1 !== model[modelName].length - 1"
1373
+ &gt;
1374
+ &lt;el-button
1375
+ plain
1376
+ size="small"
1377
+ :icon="ArrowDown"
1378
+ type="text"
1379
+ @click="downHandler(scope.$index + 1 + pagecontext * pagesize - 1)"
1380
+ @dblclick="bottomHandler(scope.$index + 1 + pagecontext * pagesize - 1)"
1381
+ &gt;&lt;/el-button&gt;
1382
+ &lt;/el-tooltip&gt;
1383
+ &lt;/template&gt;
1384
+ &lt;/el-table-column&gt;
1385
+ &nbsp;
1386
+ &lt;el-table-column
1387
+ v-if="selection"
1388
+ align="center"
1389
+ header-align="center"
1390
+ type="selection"
1391
+ width="45"
1392
+ &gt;&lt;/el-table-column&gt;
1393
+ &nbsp;
1394
+ &lt;el-table-column width="60" label="序号"&gt;
1395
+ &lt;template v-slot="scope"&gt;{{ scope.$index + 1 + pagecontext * pagesize }}&lt;/template&gt;
1396
+ &lt;/el-table-column&gt;
1397
+ &nbsp;
1398
+ &lt;template v-for="(column, index) in config.items"&gt;
1399
+ &lt;el-table-column
1400
+ v-if="column.type !== 'hidden' &amp;&amp; display(column.display)"
1401
+ :prop="column.name"
1402
+ :width="column.width"
1403
+ :label="column.label"
1404
+ :sortable="column.sortable"
1405
+ :sort-orders="['ascending', 'descending']"
1406
+ :key="column[mForm?.keyProp || '__key'] ?? index"
1407
+ :class-name="config.dropSort === true ? 'el-table__column--dropable' : ''"
1408
+ &gt;
1409
+ &lt;template #default="scope"&gt;
1410
+ &lt;m-form-container
1411
+ v-if="scope.$index &gt; -1"
1412
+ labelWidth="0"
1413
+ :prop="getProp(scope.$index)"
1414
+ :rules="column.rules"
1415
+ :config="makeConfig(column)"
1416
+ :model="scope.row"
1417
+ :size="size"
1418
+ @change="$emit('change', model[modelName])"
1419
+ &gt;&lt;/m-form-container&gt;
1420
+ &lt;/template&gt;
1421
+ &lt;/el-table-column&gt;
1422
+ &lt;/template&gt;
1423
+ &lt;/el-table&gt;
1424
+ &lt;/el-tooltip&gt;
1425
+ &lt;slot&gt;&lt;/slot&gt;
1426
+ &lt;el-button v-if="addable" size="small" type="primary" plain @click="newHandler()"&gt;添加&lt;/el-button&gt; &amp;nbsp;
1427
+ &lt;el-button :icon="Grid" size="small" @click="toggleMode" v-if="enableToggleMode &amp;&amp; !isFullscreen"
1428
+ &gt;展开配置&lt;/el-button
1429
+ &gt;
1430
+ &lt;el-button :icon="FullScreen" size="small" @click="toggleFullscreen" v-if="config.enableFullscreen !== false"&gt;
1431
+ {{ isFullscreen ? '退出全屏' : '全屏编辑' }}
1432
+ &lt;/el-button&gt;
1433
+ &lt;el-upload
1434
+ v-if="importable"
1435
+ ref="excelBtn"
1436
+ action="/noop"
1437
+ :on-change="excelHandler"
1438
+ :auto-upload="false"
1439
+ style="display: inline-block"
1440
+ &gt;
1441
+ &lt;el-button size="small" type="success" plain&gt;导入EXCEL&lt;/el-button&gt; &lt;/el-upload
1442
+ &gt;&amp;nbsp;
1443
+ &lt;el-button v-if="importable" size="small" type="warning" plain @click="clearHandler()"&gt;清空&lt;/el-button&gt;
1444
+ &lt;/div&gt;
1445
+ &nbsp;
1446
+ &lt;div class="bottom" style="text-align: right"&gt;
1447
+ &lt;el-pagination
1448
+ layout="total, sizes, prev, pager, next, jumper"
1449
+ :hide-on-single-page="model[modelName].length &lt; pagesize"
1450
+ :current-page="pagecontext + 1"
1451
+ :page-sizes="[pagesize, 60, 120, 300]"
1452
+ :page-size="pagesize"
1453
+ :total="model[modelName].length"
1454
+ @size-change="handleSizeChange"
1455
+ @current-change="handleCurrentChange"
1456
+ &gt;
1457
+ &lt;/el-pagination&gt;
1458
+ &lt;/div&gt;
1459
+ &lt;/div&gt;
1460
+ &lt;/template&gt;
1461
+ &nbsp;
1462
+ &lt;script lang="ts"&gt;
1463
+ /* eslint-disable no-param-reassign */
1464
+ import { computed, defineComponent, inject, onMounted, PropType, ref, toRefs } from 'vue';
1465
+ import { ArrowDown, ArrowUp, Delete, FullScreen, Grid } from '@element-plus/icons';
1466
+ import { ElMessage, ElTable, ElUpload } from 'element-plus';
1467
+ import { cloneDeep } from 'lodash-es';
1468
+ import Sortable, { SortableEvent } from 'sortablejs';
1469
+ &nbsp;
1470
+ import { asyncLoadJs, sleep } from '@tmagic/utils';
1471
+ &nbsp;
1472
+ import { ColumnConfig, FormState, SortProp, TableConfig } from '../schema';
1473
+ import { display, initValue } from '../utils/form';
1474
+ &nbsp;
1475
+ export type UploadStatus = 'ready' | 'uploading' | 'success' | 'fail';
1476
+ &nbsp;
1477
+ export interface ElFile extends File {
1478
+ uid: number;
1479
+ }
1480
+ &nbsp;
1481
+ export type UploadFile = {
1482
+ name: string;
1483
+ percentage?: number;
1484
+ status: UploadStatus;
1485
+ size: number;
1486
+ response?: unknown;
1487
+ uid: number;
1488
+ url?: string;
1489
+ raw: ElFile;
1490
+ };
1491
+ &nbsp;
1492
+ let loadedAMapJS = false; // 是否加载完js
1493
+ let firstLoadingAMapJS = true; // 否是第一次请求
1494
+ &nbsp;
1495
+ export default defineComponent({
1496
+ name: 'm-form-table',
1497
+ &nbsp;
1498
+ props: {
1499
+ name: {
1500
+ type: String,
1501
+ required: true,
1502
+ },
1503
+ &nbsp;
1504
+ model: {
1505
+ type: Object,
1506
+ required: true,
1507
+ default: <span class="fstat-no" title="function not covered" >() =&gt; <span class="cstat-no" title="statement not covered" >(</span>{</span>}),
1508
+ },
1509
+ &nbsp;
1510
+ config: {
1511
+ type: Object as PropType&lt;TableConfig&gt;,
1512
+ required: true,
1513
+ default: <span class="fstat-no" title="function not covered" >() =&gt; <span class="cstat-no" title="statement not covered" >(</span>{</span>}),
1514
+ },
1515
+ &nbsp;
1516
+ prop: {
1517
+ type: String,
1518
+ },
1519
+ &nbsp;
1520
+ labelWidth: {
1521
+ type: String,
1522
+ },
1523
+ &nbsp;
1524
+ sort: {
1525
+ type: Boolean,
1526
+ default: false,
1527
+ },
1528
+ &nbsp;
1529
+ sortKey: {
1530
+ type: String,
1531
+ default: '',
1532
+ },
1533
+ &nbsp;
1534
+ text: {
1535
+ type: String,
1536
+ },
1537
+ &nbsp;
1538
+ size: String,
1539
+ &nbsp;
1540
+ enableToggleMode: {
1541
+ type: Boolean,
1542
+ default: true,
1543
+ },
1544
+ },
1545
+ &nbsp;
1546
+ emits: ['change', 'select'],
1547
+ &nbsp;
1548
+ <span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" > setup(</span></span>props, { emit<span class="cstat-no" title="statement not covered" > })</span> {
1549
+ let timer: NodeJS.Timeout | null = <span class="cstat-no" title="statement not covered" >null;</span>
1550
+ const mForm = <span class="cstat-no" title="statement not covered" >inject&lt;FormState | undefined&gt;('</span>mForm');
1551
+ &nbsp;
1552
+ const elTable = <span class="cstat-no" title="statement not covered" >ref&lt;InstanceType&lt;typeof ElTable&gt;&gt;();</span>
1553
+ const excelBtn = <span class="cstat-no" title="statement not covered" >ref&lt;InstanceType&lt;typeof ElUpload&gt;&gt;();</span>
1554
+ const mTable = <span class="cstat-no" title="statement not covered" >ref&lt;HTMLDivElement&gt;();</span>
1555
+ &nbsp;
1556
+ const pagesize = <span class="cstat-no" title="statement not covered" >ref(1</span>0);
1557
+ const pagecontext = <span class="cstat-no" title="statement not covered" >ref(0</span>);
1558
+ const updateKey = <span class="cstat-no" title="statement not covered" >ref(1</span>);
1559
+ const isFullscreen = <span class="cstat-no" title="statement not covered" >ref(f</span>alse);
1560
+ &nbsp;
1561
+ const modelName = <span class="cstat-no" title="statement not covered" >computed(<span class="fstat-no" title="function not covered" >(</span>) =&gt; <span class="cstat-no" title="statement not covered" >p</span>rops.</span>name || props.config.name || '');
1562
+ &nbsp;
1563
+ const sortChange = <span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" >({</span> prop<span class="cstat-no" title="statement not covered" >, o</span>rder<span class="cstat-no" title="statement not covered" > }: SortProp)</span> =&gt; {</span>
1564
+ <span class="cstat-no" title="statement not covered" > if (order === 'ascending') {</span>
1565
+ <span class="cstat-no" title="statement not covered" > props.</span>model[modelName.value] = props.model[modelName.value].sort(<span class="fstat-no" title="function not covered" >(a</span>: any, b: any) =&gt; <span class="cstat-no" title="statement not covered" >a[</span>prop] - b[prop]);
1566
+ } else <span class="cstat-no" title="statement not covered" ><span class="missing-if-branch" title="if path not taken" >I</span>if (order === 'descending') {</span>
1567
+ <span class="cstat-no" title="statement not covered" > props.</span>model[modelName.value] = props.model[modelName.value].sort(<span class="fstat-no" title="function not covered" >(a</span>: any, b: any) =&gt; <span class="cstat-no" title="statement not covered" >b[</span>prop] - a[prop]);
1568
+ }
1569
+ };
1570
+ &nbsp;
1571
+ const foreUpdate = <span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" >() =&gt; {</span></span>
1572
+ <span class="cstat-no" title="statement not covered" > updateKey.</span>value += 1;
1573
+ <span class="cstat-no" title="statement not covered" > setTimeout(<span class="fstat-no" title="function not covered" ></span>() =&gt; <span class="cstat-no" title="statement not covered" >r</span>owDrop(</span>));
1574
+ };
1575
+ &nbsp;
1576
+ const swapArray = <span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" >(i</span>ndex1: number, index2: number) =&gt; {</span>
1577
+ [<span class="cstat-no" title="statement not covered" >props.</span>model[modelName.value][index1]] = props.model[modelName.value].splice(
1578
+ index2,
1579
+ 1,
1580
+ props.model[modelName.value][index1],
1581
+ );
1582
+ <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (props.sortKey) {</span>
1583
+ <span class="cstat-no" title="statement not covered" > for (let i = <span class="cstat-no" title="statement not covered" >props.model[modelName.value].length - 1, v</span> = <span class="cstat-no" title="statement not covered" >0; i</span> &gt;= 0; i--, v++) {</span>
1584
+ <span class="cstat-no" title="statement not covered" > props.</span>model[modelName.value][v][props.sortKey] = i;
1585
+ }
1586
+ }
1587
+ <span class="cstat-no" title="statement not covered" > mForm?</span>.$emit('field-change', props.prop, props.model[modelName.value]);
1588
+ };
1589
+ &nbsp;
1590
+ const rowDrop = <span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" >() =&gt; {</span></span>
1591
+ const tableEl = <span class="cstat-no" title="statement not covered" >elTable.value?.$el;</span>
1592
+ <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (tableEl?.querySelectorAll('.el-table__body &gt; tbody')) {</span>
1593
+ // eslint-disable-next-line prefer-destructuring
1594
+ const el = <span class="cstat-no" title="statement not covered" >tableEl.</span>querySelectorAll('.el-table__body &gt; tbody')[0];
1595
+ const sortable = <span class="cstat-no" title="statement not covered" >Sortable.c</span>reate(el, {
1596
+ onEnd: <span class="fstat-no" title="function not covered" >({</span> newIndex<span class="cstat-no" title="statement not covered" >, o</span>ldIndex<span class="cstat-no" title="statement not covered" > }: SortableEvent)</span> =&gt; {
1597
+ <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (typeof newIndex === 'undefined') <span class="cstat-no" title="statement not covered" >return;</span></span>
1598
+ <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (typeof oldIndex === 'undefined') <span class="cstat-no" title="statement not covered" >return;</span></span>
1599
+ <span class="cstat-no" title="statement not covered" > swapArray(</span>newIndex, oldIndex);
1600
+ <span class="cstat-no" title="statement not covered" > emit(</span>'change', props.model[modelName.value]);
1601
+ <span class="cstat-no" title="statement not covered" > foreUpdate();</span>
1602
+ <span class="cstat-no" title="statement not covered" > sortable.</span>destroy();
1603
+ <span class="cstat-no" title="statement not covered" > mForm?</span>.$emit('field-change', props.prop, props.model[modelName.value]);
1604
+ <span class="cstat-no" title="statement not covered" > sleep(1</span>000).then(<span class="fstat-no" title="function not covered" >() =&gt; {</span>
1605
+ const eltrs = <span class="cstat-no" title="statement not covered" >tableEl.</span>querySelectorAll('.el-table__body &gt; tbody &gt; tr');
1606
+ <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (eltrs?.[newIndex]) {</span>
1607
+ <span class="cstat-no" title="statement not covered" > eltrs[</span>newIndex].style.backgroundColor = 'rgba(243, 89, 59, 0.2)';
1608
+ <span class="cstat-no" title="statement not covered" > sleep(1</span>000).then(<span class="fstat-no" title="function not covered" >() =&gt; {</span>
1609
+ <span class="cstat-no" title="statement not covered" > eltrs[</span>newIndex].style.backgroundColor = '';
1610
+ });
1611
+ }
1612
+ });
1613
+ },
1614
+ });
1615
+ }
1616
+ };
1617
+ &nbsp;
1618
+ const newHandler = <span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" >async (r</span>ow?: any<span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" >) =&gt; {</span></span></span>
1619
+ <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (props.config.max &amp;&amp; props.model[modelName.value].length &gt;= props.config.max) {</span>
1620
+ <span class="cstat-no" title="statement not covered" > ElMessage.e</span>rror(`最多新增配置不能超过${props.config.max}条`);
1621
+ <span class="cstat-no" title="statement not covered" > return;</span>
1622
+ }
1623
+ &nbsp;
1624
+ const <span class="cstat-no" title="statement not covered" >columns </span>= props.config.items;
1625
+ const <span class="cstat-no" title="statement not covered" >enumValues </span>= props.config.enum || [];
1626
+ let <span class="cstat-no" title="statement not covered" >enumV </span>= [];
1627
+ const { <span class="cstat-no" title="statement not covered" >length </span>} = props.model[modelName.value];
1628
+ const <span class="cstat-no" title="statement not covered" >key </span>= props.config.key || 'id';
1629
+ let <span class="cstat-no" title="statement not covered" >inputs:</span> any = {};
1630
+ &nbsp;
1631
+ if (<span class="cstat-no" title="statement not covered" ><span class="missing-if-branch" title="if path not taken" >I</span>enumValues.</span>length) {
1632
+ <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (length &gt;= enumValues.length) {</span>
1633
+ <span class="cstat-no" title="statement not covered" > return;</span>
1634
+ }
1635
+ <span class="cstat-no" title="statement not covered" > enumV </span>= enumValues.filter(<span class="fstat-no" title="function not covered" >(i</span>tem) =&gt; {
1636
+ let i = <span class="cstat-no" title="statement not covered" >0;</span>
1637
+ <span class="cstat-no" title="statement not covered" > for (; i &lt; length; i++) {</span>
1638
+ <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (item[key] === props.model[modelName.value][i][key]) {</span>
1639
+ <span class="cstat-no" title="statement not covered" > break;</span>
1640
+ }
1641
+ }
1642
+ <span class="cstat-no" title="statement not covered" > return i</span> === length;
1643
+ });
1644
+ &nbsp;
1645
+ <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (enumV.length &gt; 0) {</span>
1646
+ // eslint-disable-next-line prefer-destructuring
1647
+ <span class="cstat-no" title="statement not covered" > inputs </span>= enumV[0];
1648
+ }
1649
+ } else if (<span class="cstat-no" title="statement not covered" ><span class="missing-if-branch" title="if path not taken" >I</span>Array.</span>isArray(row)) {
1650
+ <span class="cstat-no" title="statement not covered" > columns.</span>forEach(<span class="fstat-no" title="function not covered" >(c</span>olumn, index) =&gt; {
1651
+ <span class="cstat-no" title="statement not covered" > column.</span>name &amp;&amp; (inputs[column.name] = row[index]);
1652
+ });
1653
+ } else {
1654
+ if (<span class="cstat-no" title="statement not covered" ><span class="missing-if-branch" title="if path not taken" >I</span>typeof p</span>rops.config.defaultAdd === 'function') {
1655
+ <span class="cstat-no" title="statement not covered" > inputs </span>= <span class="cstat-no" title="statement not covered" >await p</span>rops.config.defaultAdd(mForm, {
1656
+ model: props.model[modelName.value],
1657
+ formValue: mForm?.values,
1658
+ });
1659
+ } else <span class="cstat-no" title="statement not covered" ><span class="missing-if-branch" title="if path not taken" >I</span>if (props.config.defaultAdd) {</span>
1660
+ <span class="cstat-no" title="statement not covered" > inputs </span>= props.config.defaultAdd;
1661
+ }
1662
+ &nbsp;
1663
+ <span class="cstat-no" title="statement not covered" > inputs </span>= <span class="cstat-no" title="statement not covered" >await i</span>nitValue(mForm, {
1664
+ config: columns,
1665
+ initValues: inputs,
1666
+ });
1667
+ }
1668
+ &nbsp;
1669
+ <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (props.sortKey &amp;&amp; length) {</span>
1670
+ <span class="cstat-no" title="statement not covered" > inputs[</span>props.sortKey] = props.model[modelName.value][length - 1][props.sortKey] - 1;
1671
+ }
1672
+ &nbsp;
1673
+ <span class="cstat-no" title="statement not covered" > props.</span>model[modelName.value].push(inputs);
1674
+ <span class="cstat-no" title="statement not covered" > emit(</span>'change', props.model[modelName.value]);
1675
+ };
1676
+ &nbsp;
1677
+ <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (!loadedAMapJS &amp;&amp; firstLoadingAMapJS &amp;&amp; !(globalThis as any).XLSX) {</span>
1678
+ <span class="cstat-no" title="statement not covered" > firstLoadingAMapJS </span>= false; // 马上置为false 只让第一个created组件去请求js
1679
+ <span class="cstat-no" title="statement not covered" > asyncLoadJs('</span>https://cdn.bootcdn.net/ajax/libs/xlsx/0.17.0/xlsx.full.min.js')
1680
+ .then(<span class="fstat-no" title="function not covered" >() =&gt; {</span>
1681
+ <span class="cstat-no" title="statement not covered" > loadedAMapJS </span>= true;
1682
+ })
1683
+ .catch(<span class="fstat-no" title="function not covered" >() =&gt; {</span>
1684
+ <span class="cstat-no" title="statement not covered" > firstLoadingAMapJS </span>= true; // 出错置为true 下次进来还是能重新请求js
1685
+ });
1686
+ }
1687
+ &nbsp;
1688
+ <span class="cstat-no" title="statement not covered" > onMounted(<span class="fstat-no" title="function not covered" >(</span>) =&gt; {</span>
1689
+ <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (props.config.defautSort) {</span>
1690
+ <span class="cstat-no" title="statement not covered" > sortChange(</span>props.config.defautSort);
1691
+ }
1692
+ &nbsp;
1693
+ <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (props.sort &amp;&amp; props.sortKey) {</span>
1694
+ <span class="cstat-no" title="statement not covered" > props.</span>model[modelName.value].sort(<span class="fstat-no" title="function not covered" >(a</span>: any, b: any) =&gt; <span class="cstat-no" title="statement not covered" >b[</span>props.sortKey] - a[props.sortKey]);
1695
+ }
1696
+ &nbsp;
1697
+ <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (props.config.dropSort) {</span>
1698
+ <span class="cstat-no" title="statement not covered" > rowDrop();</span>
1699
+ }
1700
+ });
1701
+ &nbsp;
1702
+ <span class="cstat-no" title="statement not covered" > return {</span>
1703
+ mForm,
1704
+ pagesize,
1705
+ pagecontext,
1706
+ foreUpdate,
1707
+ isFullscreen,
1708
+ elTable,
1709
+ mTable,
1710
+ excelBtn,
1711
+ modelName,
1712
+ updateKey,
1713
+ ArrowDown,
1714
+ ArrowUp,
1715
+ Delete,
1716
+ FullScreen,
1717
+ Grid,
1718
+ &nbsp;
1719
+ data: computed(<span class="fstat-no" title="function not covered" >() =&gt;</span>
1720
+ <span class="cstat-no" title="statement not covered" > props.</span>model[modelName.value].filter(
1721
+ <span class="fstat-no" title="function not covered" > (i</span>tem: any, index: number) =&gt;
1722
+ <span class="cstat-no" title="statement not covered" > index </span>&gt;= pagecontext.value * pagesize.value &amp;&amp; index + 1 &lt;= (pagecontext.value + 1) * pagesize.value,
1723
+ ),
1724
+ ),
1725
+ addable: computed(<span class="fstat-no" title="function not covered" >() =&gt; {</span>
1726
+ <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (!props.model[modelName.value].length) {</span>
1727
+ <span class="cstat-no" title="statement not covered" > return t</span>rue;
1728
+ }
1729
+ <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (typeof props.config.addable === 'function') {</span>
1730
+ <span class="cstat-no" title="statement not covered" > return p</span>rops.config.addable(mForm, {
1731
+ model: props.model[modelName.value],
1732
+ formValue: mForm?.values,
1733
+ prop: props.prop,
1734
+ });
1735
+ }
1736
+ <span class="cstat-no" title="statement not covered" > return t</span>ypeof props.config.addable === 'undefined' ? true : props.config.addable;
1737
+ }),
1738
+ selection: computed(<span class="fstat-no" title="function not covered" >() =&gt; {</span>
1739
+ <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (typeof props.config.selection === 'function') {</span>
1740
+ <span class="cstat-no" title="statement not covered" > return p</span>rops.config.selection(mForm, { model: props.model[modelName.value] });
1741
+ }
1742
+ <span class="cstat-no" title="statement not covered" > return p</span>rops.config.selection;
1743
+ }),
1744
+ importable: computed(<span class="fstat-no" title="function not covered" >() =&gt; {</span>
1745
+ <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (typeof props.config.importable === 'function') {</span>
1746
+ <span class="cstat-no" title="statement not covered" > return p</span>rops.config.importable(mForm, {
1747
+ formValue: mForm?.values,
1748
+ model: props.model[modelName.value],
1749
+ });
1750
+ }
1751
+ <span class="cstat-no" title="statement not covered" > return t</span>ypeof props.config.importable === 'undefined' ? false : props.config.importable;
1752
+ }),
1753
+ &nbsp;
1754
+ sortChange,
1755
+ &nbsp;
1756
+ <span class="fstat-no" title="function not covered" > display(</span>fuc: any) {
1757
+ <span class="cstat-no" title="statement not covered" > return d</span>isplay(mForm, fuc, props);
1758
+ },
1759
+ &nbsp;
1760
+ <span class="fstat-no" title="function not covered" > itemExtra(</span>fuc: any, index: number) {
1761
+ <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (typeof fuc === 'function') {</span>
1762
+ <span class="cstat-no" title="statement not covered" > return f</span>uc(mForm, {
1763
+ values: mForm?.initValues,
1764
+ model: props.model,
1765
+ formValue: mForm ? mForm.values : props.model,
1766
+ prop: props.prop,
1767
+ index,
1768
+ });
1769
+ }
1770
+ &nbsp;
1771
+ <span class="cstat-no" title="statement not covered" > return f</span>uc;
1772
+ },
1773
+ &nbsp;
1774
+ newHandler,
1775
+ &nbsp;
1776
+ <span class="fstat-no" title="function not covered" > removeHandler(</span>index: number) {
1777
+ <span class="cstat-no" title="statement not covered" > props.</span>model[modelName.value].splice(index, 1);
1778
+ <span class="cstat-no" title="statement not covered" > emit(</span>'change', props.model[modelName.value]);
1779
+ },
1780
+ &nbsp;
1781
+ <span class="fstat-no" title="function not covered" > selectHandle(</span>selection: any, row: any) {
1782
+ <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (typeof props.config.selection === 'string' &amp;&amp; props.config.selection === 'single') {</span>
1783
+ <span class="cstat-no" title="statement not covered" > elTable.</span>value?.clearSelection();
1784
+ <span class="cstat-no" title="statement not covered" > elTable.</span>value?.toggleRowSelection(row, true);
1785
+ }
1786
+ <span class="cstat-no" title="statement not covered" > emit(</span>'select', selection, row);
1787
+ <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (typeof props.config.onSelect === 'function') {</span>
1788
+ <span class="cstat-no" title="statement not covered" > props.</span>config.onSelect(mForm, { selection, row });
1789
+ }
1790
+ },
1791
+ &nbsp;
1792
+ <span class="fstat-no" title="function not covered" > toggleRowSelection(</span>row: any, selected: boolean) {
1793
+ <span class="cstat-no" title="statement not covered" > elTable.</span>value?.toggleRowSelection.call(elTable.value, row, selected);
1794
+ },
1795
+ &nbsp;
1796
+ <span class="fstat-no" title="function not covered" > makeConfig(</span>config: ColumnConfig) {
1797
+ const newConfig = <span class="cstat-no" title="statement not covered" >cloneDeep(c</span>onfig);
1798
+ <span class="cstat-no" title="statement not covered" > delete n</span>ewConfig.display;
1799
+ <span class="cstat-no" title="statement not covered" > return n</span>ewConfig;
1800
+ },
1801
+ &nbsp;
1802
+ <span class="fstat-no" title="function not covered" > upHandler(</span>index: number) {
1803
+ <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (timer) {</span>
1804
+ <span class="cstat-no" title="statement not covered" > clearTimeout(</span>timer);
1805
+ }
1806
+ &nbsp;
1807
+ <span class="cstat-no" title="statement not covered" > timer </span>= setTimeout(<span class="fstat-no" title="function not covered" >() =&gt; {</span>
1808
+ <span class="cstat-no" title="statement not covered" > swapArray(</span>index, index - 1);
1809
+ }, 300);
1810
+ },
1811
+ &nbsp;
1812
+ <span class="fstat-no" title="function not covered" > topHandler(</span>index: number) {
1813
+ <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (timer) {</span>
1814
+ <span class="cstat-no" title="statement not covered" > clearTimeout(</span>timer);
1815
+ }
1816
+ &nbsp;
1817
+ // 首先判断当前元素需要上移几个位置,置底移动到数组的第一位
1818
+ const moveNum = <span class="cstat-no" title="statement not covered" >index;</span>
1819
+ &nbsp;
1820
+ // 循环出需要一个一个上移的次数
1821
+ <span class="cstat-no" title="statement not covered" > for (let i = <span class="cstat-no" title="statement not covered" >0; i</span> &lt; moveNum; i++) {</span>
1822
+ <span class="cstat-no" title="statement not covered" > swapArray(</span>index, index - 1);
1823
+ <span class="cstat-no" title="statement not covered" > index </span>-= 1;
1824
+ }
1825
+ },
1826
+ &nbsp;
1827
+ <span class="fstat-no" title="function not covered" > downHandler(</span>index: number) {
1828
+ <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (timer) {</span>
1829
+ <span class="cstat-no" title="statement not covered" > clearTimeout(</span>timer);
1830
+ }
1831
+ &nbsp;
1832
+ <span class="cstat-no" title="statement not covered" > timer </span>= setTimeout(<span class="fstat-no" title="function not covered" >() =&gt; {</span>
1833
+ <span class="cstat-no" title="statement not covered" > swapArray(</span>index, index + 1);
1834
+ }, 300);
1835
+ },
1836
+ &nbsp;
1837
+ <span class="fstat-no" title="function not covered" > bottomHandler(</span>index: number) {
1838
+ <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (timer) {</span>
1839
+ <span class="cstat-no" title="statement not covered" > clearTimeout(</span>timer);
1840
+ }
1841
+ &nbsp;
1842
+ // 首先判断当前元素需要上移几个位置,置底移动到数组的第一位
1843
+ const moveNum = <span class="cstat-no" title="statement not covered" >props.model[modelName.value].length - 1 - index;</span>
1844
+ &nbsp;
1845
+ // 循环出需要一个一个上移的次数
1846
+ <span class="cstat-no" title="statement not covered" > for (let i = <span class="cstat-no" title="statement not covered" >0; i</span> &lt; moveNum; i++) {</span>
1847
+ <span class="cstat-no" title="statement not covered" > swapArray(</span>index, index + 1);
1848
+ <span class="cstat-no" title="statement not covered" > index </span>+= 1;
1849
+ }
1850
+ },
1851
+ &nbsp;
1852
+ // 希望支持单行可控制是否显示删除按钮,不会影响现有逻辑
1853
+ <span class="fstat-no" title="function not covered" > showDelete(</span>index: number) {
1854
+ const deleteFunc = <span class="cstat-no" title="statement not covered" >props.config.delete;</span>
1855
+ <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (deleteFunc &amp;&amp; typeof deleteFunc === 'function') {</span>
1856
+ <span class="cstat-no" title="statement not covered" > return d</span>eleteFunc(props.model[modelName.value], index, mForm?.values);
1857
+ }
1858
+ <span class="cstat-no" title="statement not covered" > return t</span>rue;
1859
+ },
1860
+ &nbsp;
1861
+ clearHandler<span class="fstat-no" title="function not covered" >() {</span>
1862
+ const len = <span class="cstat-no" title="statement not covered" >props.model[modelName.value].length;</span>
1863
+ <span class="cstat-no" title="statement not covered" > props.</span>model[modelName.value].splice(0, len);
1864
+ <span class="cstat-no" title="statement not covered" > mForm?</span>.$emit('field-change', props.prop, props.model[modelName.value]);
1865
+ },
1866
+ &nbsp;
1867
+ <span class="fstat-no" title="function not covered" > excelHandler(</span>file: UploadFile) {
1868
+ <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (!file || !file.raw) {</span>
1869
+ <span class="cstat-no" title="statement not covered" > return f</span>alse;
1870
+ }
1871
+ const reader = <span class="cstat-no" title="statement not covered" >new F</span>ileReader();
1872
+ <span class="cstat-no" title="statement not covered" > reader.</span>onload = <span class="fstat-no" title="function not covered" >() =&gt; {</span>
1873
+ const data = <span class="cstat-no" title="statement not covered" >reader.result;</span>
1874
+ const pdata = (<span class="cstat-no" title="statement not covered" >globalThis as any).</span>XLSX.read(data, { type: 'array' });
1875
+ <span class="cstat-no" title="statement not covered" > pdata.</span>SheetNames.forEach(<span class="fstat-no" title="function not covered" >(s</span>heetName: string) =&gt; {
1876
+ const arr = (<span class="cstat-no" title="statement not covered" >globalThis as any).</span>XLSX.utils.sheet_to_json(pdata.Sheets[sheetName], { header: 1 });
1877
+ <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (arr?.[0]) {</span>
1878
+ <span class="cstat-no" title="statement not covered" > arr.</span>forEach(<span class="fstat-no" title="function not covered" >(r</span>ow: any) =&gt; {
1879
+ <span class="cstat-no" title="statement not covered" > newHandler(</span>row);
1880
+ });
1881
+ }
1882
+ <span class="cstat-no" title="statement not covered" > setTimeout(<span class="fstat-no" title="function not covered" ></span>() =&gt; {</span>
1883
+ <span class="cstat-no" title="statement not covered" > excelBtn.</span>value?.clearFiles();
1884
+ }, 300);
1885
+ });
1886
+ };
1887
+ <span class="cstat-no" title="statement not covered" > reader.</span>readAsArrayBuffer(file.raw);
1888
+ &nbsp;
1889
+ <span class="cstat-no" title="statement not covered" > return f</span>alse;
1890
+ },
1891
+ &nbsp;
1892
+ <span class="fstat-no" title="function not covered" > handleSizeChange(</span>val: number) {
1893
+ <span class="cstat-no" title="statement not covered" > pagesize.</span>value = val;
1894
+ },
1895
+ &nbsp;
1896
+ <span class="fstat-no" title="function not covered" > handleCurrentChange(</span>val: number) {
1897
+ <span class="cstat-no" title="statement not covered" > pagecontext.</span>value = val - 1;
1898
+ },
1899
+ &nbsp;
1900
+ <span class="fstat-no" title="function not covered" > toggleMode(</span>) {
1901
+ const calcLabelWidth = <span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" >(l</span>abel: string) =&gt; {</span>
1902
+ <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (!label) <span class="cstat-no" title="statement not covered" >return '</span></span>0px';
1903
+ const zhLength = <span class="cstat-no" title="statement not covered" >label.match(/[^\x00-\xff]/g)?.length || 0;</span>
1904
+ const chLength = <span class="cstat-no" title="statement not covered" >label.length - zhLength;</span>
1905
+ <span class="cstat-no" title="statement not covered" > return `</span>${Math.max(chLength * 8 + zhLength * 20, 80)}px`;
1906
+ };
1907
+ &nbsp;
1908
+ // 切换为groupList的形式
1909
+ <span class="cstat-no" title="statement not covered" > props.</span>config.type = 'groupList';
1910
+ <span class="cstat-no" title="statement not covered" > props.</span>config.enableToggleMode = true;
1911
+ <span class="cstat-no" title="statement not covered" > props.</span>config.tableItems = props.config.items;
1912
+ <span class="cstat-no" title="statement not covered" > props.</span>config.items =
1913
+ props.config.groupItems ||
1914
+ props.config.items.map(<span class="fstat-no" title="function not covered" >(i</span>tem: any) =&gt; {
1915
+ const text = <span class="cstat-no" title="statement not covered" >item.text || item.label;</span>
1916
+ const labelWidth = <span class="cstat-no" title="statement not covered" >calcLabelWidth(t</span>ext);
1917
+ <span class="cstat-no" title="statement not covered" > return {</span>
1918
+ ...item,
1919
+ text,
1920
+ labelWidth,
1921
+ span: item.span || 12,
1922
+ };
1923
+ });
1924
+ },
1925
+ &nbsp;
1926
+ toggleFullscreen<span class="fstat-no" title="function not covered" >() {</span>
1927
+ <span class="cstat-no" title="statement not covered" > if (isFullscreen.value) {</span>
1928
+ <span class="cstat-no" title="statement not covered" > mTable.</span>value?.classList.remove('fixed');
1929
+ <span class="cstat-no" title="statement not covered" > isFullscreen.</span>value = false;
1930
+ } else {
1931
+ <span class="cstat-no" title="statement not covered" > mTable.</span>value?.classList.add('fixed');
1932
+ <span class="cstat-no" title="statement not covered" > isFullscreen.</span>value = true;
1933
+ }
1934
+ },
1935
+ &nbsp;
1936
+ <span class="fstat-no" title="function not covered" > getProp(</span>index: number) {
1937
+ const { prop } = <span class="cstat-no" title="statement not covered" >toRefs(props);</span>
1938
+ <span class="cstat-no" title="statement not covered" > return `</span>${prop.value}${prop.value ? '.' : ''}${index + 1 + pagecontext.value * pagesize.value - 1}`;
1939
+ },
1940
+ };
1941
+ },
1942
+ });
1943
+ &lt;/script&gt;
1944
+ &nbsp;</pre></td></tr></table></pre>
1945
+
1946
+ <div class='push'></div><!-- for sticky footer -->
1947
+ </div><!-- /wrapper -->
1948
+ <div class='footer quiet pad2 space-top1 center small'>
1949
+ Code coverage generated by
1950
+ <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
1951
+ at Fri Apr 22 2022 12:15:00 GMT+0800 (China Standard Time)
1952
+ </div>
1953
+ <script src="../../prettify.js"></script>
1954
+ <script>
1955
+ window.onload = function () {
1956
+ prettyPrint();
1957
+ };
1958
+ </script>
1959
+ <script src="../../sorter.js"></script>
1960
+ <script src="../../block-navigation.js"></script>
1961
+ </body>
1962
+ </html>
1963
+