hd-idevvue3 3.0.2 → 3.0.4

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 (147) hide show
  1. package/dist/assets/index.9c127719.css +1 -0
  2. package/dist/hd-idevvue3.mjs +3521 -3305
  3. package/dist/hd-idevvue3.umd.js +29 -29
  4. package/npminstall-debug.log +2 -10
  5. package/package.json +4 -2
  6. package/pnpm-lock.yaml +37 -4
  7. package/src/App.vue +11 -15
  8. package/src/assets/sound/notify.wav +0 -0
  9. package/src/demo/demo.vue +9 -10
  10. package/src/demo/dropdemo.vue +42 -43
  11. package/src/demo/extsets.vue +140 -39
  12. package/src/demo/formedit.vue +157 -145
  13. package/src/demo/hightquery.vue +263 -66
  14. package/src/demo/inlineedit.vue +129 -35
  15. package/src/demo/selfdrop.vue +32 -15
  16. package/src/directive/el-dragDialog/drag.js +13 -13
  17. package/src/directive/el-dragDialog/index.js +13 -13
  18. package/src/errorLog.js +3 -3
  19. package/src/hdcom/BigGrid.js +54 -48
  20. package/src/hdcom/BillShow.vue +84 -63
  21. package/src/hdcom/BillUpload.vue +144 -86
  22. package/src/hdcom/BtnRight.vue +26 -23
  23. package/src/hdcom/ErrHint.vue +36 -24
  24. package/src/hdcom/ExtendColumn.vue +97 -90
  25. package/src/hdcom/ExtendCommon.js +24 -13
  26. package/src/hdcom/ExtendForm.vue +107 -80
  27. package/src/hdcom/FacePicUpload.vue +59 -50
  28. package/src/hdcom/FaceRecTest.vue +87 -77
  29. package/src/hdcom/GridChart.vue +175 -162
  30. package/src/hdcom/GridExField.vue +328 -234
  31. package/src/hdcom/GridShow.vue +89 -39
  32. package/src/hdcom/HdAside.vue +192 -145
  33. package/src/hdcom/HdBtn.vue +44 -32
  34. package/src/hdcom/HdButton.vue +141 -117
  35. package/src/hdcom/HdComFaceRec.vue +80 -32
  36. package/src/hdcom/HdComGrid.vue +329 -229
  37. package/src/hdcom/HdComQuery.vue +179 -90
  38. package/src/hdcom/HdComQueryDetail.vue +159 -115
  39. package/src/hdcom/HdComSortDetail.vue +136 -130
  40. package/src/hdcom/HdDatePicker.vue +32 -16
  41. package/src/hdcom/HdDialog.vue +62 -44
  42. package/src/hdcom/HdDrop.vue +163 -138
  43. package/src/hdcom/HdFileUpload.vue +138 -119
  44. package/src/hdcom/HdFilterBox.vue +62 -62
  45. package/src/hdcom/HdFooter.vue +152 -119
  46. package/src/hdcom/HdForm.vue +276 -203
  47. package/src/hdcom/HdFormBtn.vue +81 -39
  48. package/src/hdcom/HdFormItem.vue +14 -10
  49. package/src/hdcom/HdGrid.vue +353 -156
  50. package/src/hdcom/HdGridEditBtn.vue +34 -20
  51. package/src/hdcom/HdGridExt.js +78 -47
  52. package/src/hdcom/HdGridSel.vue +227 -193
  53. package/src/hdcom/HdHeader.vue +149 -117
  54. package/src/hdcom/HdHotKey.vue +70 -67
  55. package/src/hdcom/HdInputHint.vue +40 -36
  56. package/src/hdcom/HdMain.vue +25 -27
  57. package/src/hdcom/HdMessage.vue +180 -171
  58. package/src/hdcom/HdNum.vue +67 -57
  59. package/src/hdcom/HdPopSel.vue +46 -24
  60. package/src/hdcom/HdRightMenu.vue +63 -61
  61. package/src/hdcom/HdSel/SelGridFieldcod.vue +46 -28
  62. package/src/hdcom/HdTableColumn.vue +156 -109
  63. package/src/hdcom/HdTempSave.vue +138 -116
  64. package/src/hdcom/HdTree.vue +89 -72
  65. package/src/hdcom/HdTreeTable/eval.js +8 -3
  66. package/src/hdcom/HdTreeTable/index.vue +229 -174
  67. package/src/hdcom/ImportExcel.vue +69 -34
  68. package/src/hdcom/index.js +39 -44
  69. package/src/idev.common.js +54 -47
  70. package/src/index.js +3 -6
  71. package/src/utils/HdQuery.js +25 -14
  72. package/src/utils/comutils.js +50 -28
  73. package/src/utils/gogocodeTransfer.js +59 -0
  74. package/src/utils/utils.js +30 -19
  75. package/src/vendor/Blob.js +187 -179
  76. package/src/vendor/Export2Excel.js +231 -220
  77. package/src/vendor/Export2Zip.js +25 -22
  78. package/src/views/layout/AppMain.vue +34 -32
  79. package/src/views/layout/HdLayout.vue +64 -52
  80. package/src/views/layout/header/ElasticSearch.vue +196 -159
  81. package/src/views/layout/header/HZRecorder.js +163 -135
  82. package/src/views/layout/header/HeaderSearch.vue +165 -145
  83. package/src/views/layout/header/Levelbar.vue +55 -49
  84. package/src/views/layout/header/MainHeader.vue +233 -189
  85. package/src/views/layout/header/Navbar.vue +74 -78
  86. package/src/views/layout/header/ScrollPane.vue +103 -81
  87. package/src/views/layout/header/TagsView.vue +169 -164
  88. package/src/views/layout/header/VocRec.vue +86 -78
  89. package/src/views/layout/header/changepswform.vue +98 -64
  90. package/src/views/layout/index.js +5 -7
  91. package/src/views/layout/menu/Hamburger.vue +63 -45
  92. package/src/views/layout/menu/HdMenu.vue +155 -118
  93. package/src/views/layout/menu/index.vue +21 -19
  94. package/src/views/privilege/commsg/commsg.vue +115 -41
  95. package/src/views/privilege/commsg/commsgOrgn.vue +40 -31
  96. package/src/views/privilege/commsg/commsgRole.vue +180 -109
  97. package/src/views/privilege/commsg/commsgform.vue +125 -101
  98. package/src/views/privilege/commsg/commsgiframe.vue +30 -23
  99. package/src/views/privilege/commsg/commsgto.vue +163 -84
  100. package/src/views/privilege/commsg/commsgtoform.vue +64 -58
  101. package/src/views/privilege/commsg/commsgtrans.vue +187 -115
  102. package/src/views/privilege/exfield/comexcolumn.vue +133 -43
  103. package/src/views/privilege/exfield/comexcolumnform.vue +85 -58
  104. package/src/views/privilege/exfield/comexfield.vue +15 -17
  105. package/src/views/privilege/exfield/comexfieldform.vue +71 -53
  106. package/src/views/privilege/exfield/comexfieldsub.vue +137 -46
  107. package/src/views/privilege/index.js +19 -20
  108. package/src/views/privilege/menu/comMenu.vue +49 -41
  109. package/src/views/privilege/menu/menu.vue +166 -49
  110. package/src/views/privilege/menu/menuinfo.vue +41 -34
  111. package/src/views/privilege/menu/rolelist.vue +78 -33
  112. package/src/views/privilege/menu/userlist.vue +76 -33
  113. package/src/views/privilege/mobile/authmobileupdate.vue +119 -43
  114. package/src/views/privilege/mobile/authmobileupdateform.vue +76 -46
  115. package/src/views/privilege/orgDept/authOrgn.vue +157 -65
  116. package/src/views/privilege/orgDept/authorgnform.vue +50 -38
  117. package/src/views/privilege/orgDept/orgDept.vue +38 -37
  118. package/src/views/privilege/orgDept/orgTree.vue +99 -88
  119. package/src/views/privilege/orgDept/orgnselect.vue +132 -111
  120. package/src/views/privilege/personDept/authuser.vue +197 -91
  121. package/src/views/privilege/personDept/authuserform.vue +123 -71
  122. package/src/views/privilege/personDept/facerec.vue +128 -83
  123. package/src/views/privilege/personDept/orgncascader.vue +134 -115
  124. package/src/views/privilege/personDept/personDept.vue +9 -7
  125. package/src/views/privilege/quartz/comquartzjob.vue +123 -38
  126. package/src/views/privilege/quartz/comquartzjobform.vue +67 -51
  127. package/src/views/privilege/quartz/comquartzlog.vue +116 -32
  128. package/src/views/privilege/role/btnRole.vue +123 -67
  129. package/src/views/privilege/role/menuRole.vue +65 -45
  130. package/src/views/privilege/role/orgnRole.vue +63 -41
  131. package/src/views/privilege/role/role.vue +26 -9
  132. package/src/views/privilege/role/rolelist.vue +114 -45
  133. package/src/views/privilege/role/roleselect.vue +34 -17
  134. package/src/views/privilege/search/comsearch.vue +164 -73
  135. package/src/views/privilege/search/menu.vue +38 -22
  136. package/src/views/privilege/syscode/syscode.vue +157 -69
  137. package/src/views/privilege/syscode/sysfield.vue +96 -43
  138. package/src/views/privilege/syscode/sysfieldframe.vue +30 -30
  139. package/src/views/privilege/syslog/menulog.vue +38 -22
  140. package/src/views/privilege/syslog/syslog.vue +145 -78
  141. package/src/views/privilege/syslog/syslogconfig.vue +91 -24
  142. package/src/views/privilege/syslog/syslogform.vue +45 -43
  143. package/src/views/privilege/syslog/syslogframe.vue +26 -26
  144. package/src/views/privilege/userRole/userRole.vue +187 -89
  145. package/vite.config.js +7 -0
  146. package/dist/assets/index.774ef40e.css +0 -1
  147. package/src/views/privilege.zip +0 -0
@@ -1,26 +1,51 @@
1
1
  <template>
2
- <div :style="{width: '100%',height:height}" class="hdgrid" ref="grid">
2
+ <div :style="{ width: '100%', height: height }" class="hdgrid" ref="grid">
3
3
  <div v-show="queryShow">
4
4
  <slot name="query"></slot>
5
5
  </div>
6
- <div style="height: 0px;" v-if="!noSets">
7
- <el-dropdown @command="extSets"
8
- style="float:right;height:0;width:20px;position: relative;right:0px;text-align: center;z-index: 100;cursor:pointer;font-size: 25px">
6
+ <div style="height: 0px" v-if="!noSets">
7
+ <el-dropdown
8
+ @command="extSets"
9
+ style="
10
+ float: right;
11
+ height: 0;
12
+ width: 20px;
13
+ position: relative;
14
+ right: 0px;
15
+ text-align: center;
16
+ z-index: 100;
17
+ cursor: pointer;
18
+ font-size: 25px;
19
+ "
20
+ >
9
21
  <span class="el-dropdown-link">
10
- <i :style="{'font-size':'13px', color: isGridCustom ? 'red !important': ''}" class="fa fa-cogs"></i>
22
+ <i
23
+ :style="{
24
+ 'font-size': '13px',
25
+ color: isGridCustom ? 'red !important' : '',
26
+ }"
27
+ class="fa fa-cogs"
28
+ ></i>
11
29
  </span>
12
30
  <el-dropdown-menu slot="dropdown">
13
- <el-dropdown-item command="gridSets">{{$t('自定义展示')}}</el-dropdown-item>
14
- <el-dropdown-item command="pageExcel">{{$t('导出当页excel')}}
31
+ <el-dropdown-item command="gridSets">{{
32
+ $t('自定义展示')
33
+ }}</el-dropdown-item>
34
+ <el-dropdown-item command="pageExcel"
35
+ >{{ $t('导出当页excel') }}
15
36
  </el-dropdown-item>
16
37
  <el-dropdown-item :disabled="excelAllExporting" command="allExcel">
17
- {{excelAllExporting ? $t('正在导出') : $t('导出全部excel') }}
38
+ {{ excelAllExporting ? $t('正在导出') : $t('导出全部excel') }}
18
39
  </el-dropdown-item>
19
40
  <el-dropdown-item :disabled="pdfAllExporting" command="allPdf">
20
- {{pdfAllExporting ? $t('正在生成') : $t('pdf打印') }}
41
+ {{ pdfAllExporting ? $t('正在生成') : $t('pdf打印') }}
21
42
  </el-dropdown-item>
22
- <el-dropdown-item command="queryToggle">{{queryShow ? $t('隐藏查询区') : $t('显示查询区')}}</el-dropdown-item>
23
- <el-dropdown-item command="exFieldSets" v-if="exField.open">{{$t('添加扩展字段')}}</el-dropdown-item>
43
+ <el-dropdown-item command="queryToggle">{{
44
+ queryShow ? $t('隐藏查询区') : $t('显示查询区')
45
+ }}</el-dropdown-item>
46
+ <el-dropdown-item command="exFieldSets" v-if="exField.open">{{
47
+ $t('添加扩展字段')
48
+ }}</el-dropdown-item>
24
49
  <slot name="extSets"></slot>
25
50
  </el-dropdown-menu>
26
51
  </el-dropdown>
@@ -29,39 +54,88 @@
29
54
  <!--</el-button>-->
30
55
  </div>
31
56
 
32
- <el-table :data="hdResultComRows" :default-sort="defaultSort" :row-class-name="rowClassName"
33
- :stripe="$attrs.stripe==undefined?true:$attrs.stripe" @row-click="myrowClick"
34
- @row-dblclick="myrowDblClick" @row-contextmenu="myrowContextmenu" @selection-change="myselectionChange"
35
- @sort-change="dodefaultSort" border element-loading-text="加载中..." height="100%" highlight-current-row
36
- ref="ingrid" v-bind="$attrs" v-if="gridCanReload" v-on="$listeners" @filter-change="filterChange">
37
-
57
+ <el-table
58
+ :data="hdResultComRows"
59
+ :default-sort="defaultSort"
60
+ :row-class-name="rowClassName"
61
+ :stripe="$attrs.stripe == undefined ? true : $attrs.stripe"
62
+ @row-click="myrowClick"
63
+ @row-dblclick="myrowDblClick"
64
+ @row-contextmenu="myrowContextmenu"
65
+ @selection-change="myselectionChange"
66
+ @sort-change="dodefaultSort"
67
+ border
68
+ element-loading-text="加载中..."
69
+ height="100%"
70
+ highlight-current-row
71
+ ref="ingrid"
72
+ v-bind="$attrs"
73
+ v-if="gridCanReload"
74
+ v-on="$listeners"
75
+ @filter-change="filterChange"
76
+ >
38
77
  <template v-if="!visualScroll">
39
- <ExTableColumn :showOverflowTooltip="false" align="center" class-name="backFF" noEdit noSlot type="selection"
40
- v-if="!ckHide" width="30" @click.native="selectClick"></ExTableColumn>
41
- <ex-table-column :showOverflowTooltip="false" align="center" noEdit noSlot type="index" v-if="!indexHide"
42
- width="40">
78
+ <ExTableColumn
79
+ :showOverflowTooltip="false"
80
+ align="center"
81
+ class-name="backFF"
82
+ noEdit
83
+ noSlot
84
+ type="selection"
85
+ v-if="!ckHide"
86
+ width="30"
87
+ @click.native="selectClick"
88
+ ></ExTableColumn>
89
+ <ex-table-column
90
+ :showOverflowTooltip="false"
91
+ align="center"
92
+ noEdit
93
+ noSlot
94
+ type="index"
95
+ v-if="!indexHide"
96
+ width="40"
97
+ >
43
98
  <template slot="header" slot-scope="scope">
44
99
  <span>#</span>
45
100
  </template>
46
101
  </ex-table-column>
47
102
  </template>
48
103
  <template v-else>
49
- <ex-table-column :showOverflowTooltip="true" align="center" class-name="checkBox" noEdit noSlot v-if="!ckHide"
50
- width="30">
104
+ <ex-table-column
105
+ :showOverflowTooltip="true"
106
+ align="center"
107
+ class-name="checkBox"
108
+ noEdit
109
+ noSlot
110
+ v-if="!ckHide"
111
+ width="30"
112
+ >
51
113
  <template slot="header" slot-scope="scope">
52
- <el-checkbox :indeterminate="isSubChecked" :value="isAllChecked" @change="checkAllChange" />
114
+ <el-checkbox
115
+ :indeterminate="isSubChecked"
116
+ :model-value="isAllChecked"
117
+ @change="checkAllChange"
118
+ />
53
119
  </template>
54
120
  <template slot-scope="scope">
55
121
  <el-checkbox v-model="scope.row._isCK" />
56
122
  </template>
57
123
  </ex-table-column>
58
- <ex-table-column :index="getIndex" :showOverflowTooltip="true" align="center" noEdit noSlot type="index"
59
- v-if="!indexHide" width="40">
124
+ <ex-table-column
125
+ :index="getIndex"
126
+ :showOverflowTooltip="true"
127
+ align="center"
128
+ noEdit
129
+ noSlot
130
+ type="index"
131
+ v-if="!indexHide"
132
+ width="40"
133
+ >
60
134
  <template slot="header" slot-scope="scope">
61
135
  <span>#</span>
62
136
  </template>
63
137
  <template slot-scope="scope">
64
- {{scope.$index + startIndex + 1}}
138
+ {{ scope.$index + startIndex + 1 }}
65
139
  </template>
66
140
  </ex-table-column>
67
141
  </template>
@@ -75,48 +149,126 @@
75
149
  </template>
76
150
 
77
151
  <template v-if="!recHide">
78
-
79
- <el-table-column align="left" header-align="center" label="创建人" noEdit prop="recNam" sortable width="auto">
152
+ <el-table-column
153
+ align="left"
154
+ header-align="center"
155
+ label="创建人"
156
+ noEdit
157
+ prop="recNam"
158
+ sortable
159
+ width="auto"
160
+ >
80
161
  </el-table-column>
81
- <el-table-column :inputProp="$date" align="center" input="el-date-picker" label="创建时间" noEdit prop="recTim"
82
- sortable width="135px">
162
+ <el-table-column
163
+ :inputProp="$date"
164
+ align="center"
165
+ input="el-date-picker"
166
+ label="创建时间"
167
+ noEdit
168
+ prop="recTim"
169
+ sortable
170
+ width="135px"
171
+ >
83
172
  </el-table-column>
84
- <el-table-column align="left" header-align="center" label="更新人" noEdit prop="updNam" sortable width="auto">
173
+ <el-table-column
174
+ align="left"
175
+ header-align="center"
176
+ label="更新人"
177
+ noEdit
178
+ prop="updNam"
179
+ sortable
180
+ width="auto"
181
+ >
85
182
  </el-table-column>
86
- <el-table-column :inputProp="$date" align="center" input="el-date-picker" label="更新时间" noEdit prop="updTim"
87
- sortable width="135px">
183
+ <el-table-column
184
+ :inputProp="$date"
185
+ align="center"
186
+ input="el-date-picker"
187
+ label="更新时间"
188
+ noEdit
189
+ prop="updTim"
190
+ sortable
191
+ width="135px"
192
+ >
88
193
  </el-table-column>
89
194
  </template>
90
195
  </el-table>
91
196
  <!--虚拟滚动条支持1w条 -->
92
- <div class="pagination-container" ref="pagecon" style="height:26px;overflow: hidden"
93
- v-if="!pageHide || showBtnTool">
94
- <div style="float:left" v-if="showBtnTool">
197
+ <div
198
+ class="pagination-container"
199
+ ref="pagecon"
200
+ style="height: 26px; overflow: hidden"
201
+ v-if="!pageHide || showBtnTool"
202
+ >
203
+ <div style="float: left" v-if="showBtnTool">
95
204
  <slot name="btnTool">
96
- <hd-btn icon="el-icon-plus" hint="增加" @click="doAdd" vid="doAdd" class="hdBtnTool" v-if="!addHide"
97
- keyType="add"></hd-btn>
98
- <hd-btn icon="el-icon-minus" hint="删除" @click="doRemove" class="hdBtnTool" v-if="!delHide" keyType="del">
205
+ <hd-btn
206
+ icon="el-icon-plus"
207
+ hint="增加"
208
+ @click="doAdd"
209
+ vid="doAdd"
210
+ class="hdBtnTool"
211
+ v-if="!addHide"
212
+ keyType="add"
213
+ ></hd-btn>
214
+ <hd-btn
215
+ icon="el-icon-minus"
216
+ hint="删除"
217
+ @click="doRemove"
218
+ class="hdBtnTool"
219
+ v-if="!delHide"
220
+ keyType="del"
221
+ >
99
222
  </hd-btn>
100
- <hd-btn icon="el-icon-check" hint="保存" @click="doSave" class="hdBtnTool" v-if="!saveHide" keyType="save">
223
+ <hd-btn
224
+ icon="el-icon-check"
225
+ hint="保存"
226
+ @click="doSave"
227
+ class="hdBtnTool"
228
+ v-if="!saveHide"
229
+ keyType="save"
230
+ >
101
231
  </hd-btn>
102
232
  </slot>
103
233
  <!-- <hd-btn icon="el-icon-copy-document" hint="复制" @click="doCopy" class="hdBtnTool" style="color:#409EFF;"-->
104
234
  <!-- v-if="!copyHide" keyType="copy"></hd-btn>-->
105
235
  </div>
106
- <el-pagination :current-page.sync="hdQuery.page" :page-size="hdQuery.rows" :page-sizes="pageSizeArray"
107
- :total="hdResult.total" @current-change="hdQuery.doCurPageChange" @size-change="rowSizeChg"
108
- layout=" total, slot, prev, pager, next,sizes" small style="float:right" v-if="!pageHide">
236
+ <el-pagination
237
+ :current-page.sync="hdQuery.page"
238
+ :page-size="hdQuery.rows"
239
+ :page-sizes="pageSizeArray"
240
+ :total="hdResult.total"
241
+ @current-change="hdQuery.doCurPageChange"
242
+ @size-change="rowSizeChg"
243
+ layout=" total, slot, prev, pager, next,sizes"
244
+ small
245
+ style="float: right"
246
+ v-if="!pageHide"
247
+ >
109
248
  </el-pagination>
110
249
  </div>
111
250
  <GridShow @save-ok="gridShow()" ref="gridShow" v-if="gridShowIs"></GridShow>
112
- <GridExField :columnList="exField.columnList" :gridCode="exField.gridCode" :table="exField.table"
113
- @save-ok="exFieldShow()" ref="exFieldShow" v-if="exField.open && exFieldShowIs"></GridExField>
251
+ <GridExField
252
+ :columnList="exField.columnList"
253
+ :gridCode="exField.gridCode"
254
+ :table="exField.table"
255
+ @save-ok="exFieldShow()"
256
+ ref="exFieldShow"
257
+ v-if="exField.open && exFieldShowIs"
258
+ ></GridExField>
114
259
  <!-- <GridExFieldBak @save-ok="exFieldShow()" ref="exFieldShow" v-if="exField.open && exFieldShowIs" :table="exField.table"
115
- :columnList="exField.columnList" :gridCode="exField.gridCode"></GridExFieldBak>
116
- -->
260
+ :columnList="exField.columnList" :gridCode="exField.gridCode"></GridExFieldBak>
261
+ -->
117
262
  <!-- <PdfShow :gening="pdfAllExporting" @close="pdfShowIs=false" ref="pdfshow" v-if="pdfShowIs"></PdfShow> -->
118
- <hd-right-menu ref="rightMenu" @do-add="doAdd" @do-update="doUpdateOne" @do-remove="doRemoveOne"
119
- @do-copy="doCopyOne" v-if="rightMenuOpen" v-show="rightMenuVisable">
263
+ <hd-right-menu
264
+ ref="rightMenu"
265
+ @do-add="doAdd"
266
+ @do-update="doUpdateOne"
267
+ @do-remove="doRemoveOne"
268
+ @do-copy="doCopyOne"
269
+ v-if="rightMenuOpen"
270
+ v-show="rightMenuVisable"
271
+ >
120
272
  <template slot="rightMenu">
121
273
  <slot name="rightMenu"></slot>
122
274
  </template>
@@ -132,10 +284,10 @@ import GridShow from './GridShow'
132
284
  import GridExField from './GridExField'
133
285
  import HdGridExt from './HdGridExt.js'
134
286
  // import PdfShow from './PdfShow'
135
- import BigGrid from "./BigGrid.js";
136
- import ExtendColumn from "./ExtendColumn";
287
+ import BigGrid from './BigGrid.js'
288
+ import ExtendColumn from './ExtendColumn'
137
289
  import HdBtn from './HdBtn'
138
- import HdRightMenu from "./HdRightMenu";
290
+ import HdRightMenu from './HdRightMenu'
139
291
 
140
292
  /**
141
293
  * 通常不需要直接调用,HdComGrid中已经封装
@@ -152,14 +304,14 @@ export default {
152
304
  chiCol: [], // 存在嵌套列时
153
305
  colThis: [], // column this对象
154
306
  menuId: '',
155
- gridId: '',//唯一标识
307
+ gridId: '', //唯一标识
156
308
  queryShow: true,
157
309
  excelAllExporting: false, // true为正在导出的loading
158
310
  pdfAllExporting: false,
159
311
  gridShowIs: false,
160
312
  exFieldShowIs: false,
161
- pdfShowIs: false,//pdf组件是否显示,因为不常用直接v-if
162
- gridCanReload: true,// 组件失效重新生成用的,相当于局部刷新
313
+ pdfShowIs: false, //pdf组件是否显示,因为不常用直接v-if
314
+ gridCanReload: true, // 组件失效重新生成用的,相当于局部刷新
163
315
  isGridCustom: false,
164
316
  exFieldRows: [],
165
317
  rightMenuVisable: false,
@@ -193,27 +345,31 @@ export default {
193
345
  hdAllResult: Object, // 可能是列表数据,或者导出的excel数据
194
346
  hdQuery: {
195
347
  type: Object,
196
- default: function () { // updTimFirst是因为会触发HdQuery的排序及查询,默认不让查询
348
+ default: function () {
349
+ // updTimFirst是因为会触发HdQuery的排序及查询,默认不让查询
197
350
  return {}
198
- }
351
+ },
199
352
  },
200
353
  height: {
201
354
  type: String,
202
- default: function () { // 默认空对象,防止出错
355
+ default: function () {
356
+ // 默认空对象,防止出错
203
357
  return '100%'
204
- }
358
+ },
205
359
  },
206
- noSets: {// 是否显示自定义列和导出excel,默认显示
360
+ noSets: {
361
+ // 是否显示自定义列和导出excel,默认显示
207
362
  type: Boolean,
208
363
  default: function () {
209
364
  return false
210
- }
365
+ },
211
366
  },
212
367
  defaultSort: {
213
368
  type: Object,
214
- default: function () { // updTimFirst是因为会触发HdQuery的排序及查询,默认不让查询
369
+ default: function () {
370
+ // updTimFirst是因为会触发HdQuery的排序及查询,默认不让查询
215
371
  return { prop: 'updTim', order: 'descending' }
216
- }
372
+ },
217
373
  },
218
374
  pageHide: Boolean,
219
375
  ckHide: Boolean, // 是否显示checkbox默认显示
@@ -221,8 +377,8 @@ export default {
221
377
  recHide: Boolean, // 是否显示创建人 默认显示
222
378
  rowClassName: Function,
223
379
  noExcelExport: [Array], // 导出excel时不处理的字段
224
- excelPropHeader: Boolean,// 导出excel是否包含属性头,默认false,导入excel如果需要模板,可以开启,并且会导出所有属性
225
- visualScroll: Boolean,//启动虚拟滚动条,默认false
380
+ excelPropHeader: Boolean, // 导出excel是否包含属性头,默认false,导入excel如果需要模板,可以开启,并且会导出所有属性
381
+ visualScroll: Boolean, //启动虚拟滚动条,默认false
226
382
  pageSizes: [Array],
227
383
  exField: {
228
384
  type: Object,
@@ -230,31 +386,37 @@ export default {
230
386
  return {
231
387
  open: false,
232
388
  table: null,
233
- columnList: null
389
+ columnList: null,
234
390
  }
235
- }
391
+ },
236
392
  },
237
393
  excelFormatter: Function,
238
- addHide: Boolean,//隐藏grid列表底部的按钮工具栏里的增加按钮
239
- delHide: Boolean,//隐藏grid列表底部的按钮工具栏里的删除按钮
240
- saveHide: Boolean,//隐藏grid列表底部的按钮工具栏里的保存按钮
241
- copyHide: Boolean,//隐藏grid列表底部的按钮工具栏里的复制按钮
394
+ addHide: Boolean, //隐藏grid列表底部的按钮工具栏里的增加按钮
395
+ delHide: Boolean, //隐藏grid列表底部的按钮工具栏里的删除按钮
396
+ saveHide: Boolean, //隐藏grid列表底部的按钮工具栏里的保存按钮
397
+ copyHide: Boolean, //隐藏grid列表底部的按钮工具栏里的复制按钮
242
398
  hdBtnTool: {
243
399
  type: Boolean,
244
- default: true
245
- },//显示、隐藏grid列表底部的整个按钮工具栏
400
+ default: true,
401
+ }, //显示、隐藏grid列表底部的整个按钮工具栏
246
402
  rightMenuOpen: {
247
403
  type: Boolean,
248
- default: false
249
- }
404
+ default: false,
405
+ },
250
406
  },
251
407
  created() {
252
408
  //自定义列表展示:vue界面的组件名+parent的组件(调用该组件的组件名+上级组件(如el-main)
253
409
  //当vue界面是菜单入口时_componentTag是undefined,此时name替代(name自动注入)
254
410
  if (this.$parent.$vnode.context.$options._componentTag) {
255
- this.gridId = this.$parent.$vnode.context.$options._componentTag + '_' + this.$parent.$parent.$options._componentTag
411
+ this.gridId =
412
+ this.$parent.$vnode.context.$options._componentTag +
413
+ '_' +
414
+ this.$parent.$parent.$options._componentTag
256
415
  } else {
257
- this.gridId = this.$parent.$vnode.context.$options.name + '_' + this.$parent.$parent.$options._componentTag
416
+ this.gridId =
417
+ this.$parent.$vnode.context.$options.name +
418
+ '_' +
419
+ this.$parent.$parent.$options._componentTag
258
420
  }
259
421
  },
260
422
  mounted() {
@@ -266,19 +428,21 @@ export default {
266
428
  } else {
267
429
  // this.rowSizeChg(100)
268
430
  }
269
- if (this.pageHide) { // 无分页时
431
+ if (this.pageHide) {
432
+ // 无分页时
270
433
  this.hdQuery.page = null
271
434
  this.hdQuery.rows = 2000
272
435
  console.log('隐藏分页展示数据,最多展现2000条')
273
436
  }
274
437
  if (this.visualScroll) {
275
- this.initVisual();
438
+ this.initVisual()
276
439
  }
277
440
  // this.disCol.push(1)
278
441
  if (this.exField.gridCode) {
279
- this.initExFieldRows();
442
+ this.initExFieldRows()
280
443
  }
281
- this.$nextTick(function () { // 等渲染完成后执行
444
+ this.$nextTick(function () {
445
+ // 等渲染完成后执行
282
446
  if (!this.noSets) {
283
447
  this.gridShow(true)
284
448
  }
@@ -307,7 +471,8 @@ export default {
307
471
  this.$emit('sel-ok', 'doCopyOne', this.rightMenuRow)
308
472
  },
309
473
  gridShow(notReload) {
310
- if (!notReload) { //首次不刷新组件.自定义组件,避免再次查询(分页事件)
474
+ if (!notReload) {
475
+ //首次不刷新组件.自定义组件,避免再次查询(分页事件)
311
476
  this.gridCanReload = false
312
477
  // this.isFirstSort = true
313
478
  }
@@ -315,20 +480,28 @@ export default {
315
480
  this.gridCanReload = true
316
481
  this.$nextTick(function () {
317
482
  if (!notReload && this.visualScroll) {
318
- this.initVisual();
319
- this.initTableHeight();
483
+ this.initVisual()
484
+ this.initTableHeight()
320
485
  }
321
- this.oriCol = this.$refs.ingrid.store.states._columns;// 此处是未进行展示控制的原始数据
486
+ this.oriCol = this.$refs.ingrid.store.states._columns // 此处是未进行展示控制的原始数据
322
487
  this.menuId = this.$route.name
323
- const url = '/webresources/login/com/ComGridShow/find?menuId=' + this.menuId + '&gridId=' + this.gridId
324
- this.$http.post(url).then(response => {
325
- this.isGridCustom = response.data.length != 0;
488
+ const url =
489
+ '/webresources/login/com/ComGridShow/find?menuId=' +
490
+ this.menuId +
491
+ '&gridId=' +
492
+ this.gridId
493
+ this.$http.post(url).then((response) => {
494
+ this.isGridCustom = response.data.length != 0
326
495
  this.disCol = this.gridCompute(this.oriCol, response.data)
327
496
 
497
+ this.$refs.ingrid.store.states._columns = this.disCol.filter(
498
+ (v) => v.showFlg != '0'
499
+ )
328
500
 
329
- this.$refs.ingrid.store.states._columns = this.disCol.filter(v => v.showFlg != '0')
330
-
331
- console.log('显示序列条数', this.$refs.ingrid.store.states._columns.length);
501
+ console.log(
502
+ '显示序列条数',
503
+ this.$refs.ingrid.store.states._columns.length
504
+ )
332
505
  // console.log(JSON.stringify(this.$refs.ingrid.store.states._columns));
333
506
  this.$refs.ingrid.store.updateColumns()
334
507
  this.$nextTick(function () {
@@ -342,7 +515,7 @@ export default {
342
515
  })
343
516
  },
344
517
  exFieldShow() {
345
- window.location.reload();
518
+ window.location.reload()
346
519
  // console.log(this.$store.state.app.selectedView)
347
520
  // this.$nextTick(()=>{
348
521
  // this.$store.dispatch('refreshView', this.$store.state.app.selectedView);
@@ -357,27 +530,31 @@ export default {
357
530
  exFieldSets() {
358
531
  this.exFieldShowIs = true
359
532
  this.$nextTick(() => {
360
- this.$refs.exFieldShow.show();
533
+ this.$refs.exFieldShow.show()
361
534
  })
362
535
  },
363
- gridCompute(oriCol, setCol) { // 全部设置展示
364
- let result = [];
365
- const lastResult = [];
536
+ gridCompute(oriCol, setCol) {
537
+ // 全部设置展示
538
+ let result = []
539
+ const lastResult = []
366
540
  for (let i = 0; i < oriCol.length; i++) {
367
541
  const oneOri = oriCol[i]
368
- oneOri.showFlg = '1'// 默认展示
542
+ oneOri.showFlg = '1' // 默认展示
369
543
  oneOri._ori_label = oneOri.label
370
544
  oneOri.label = oneOri._ori_label
371
545
  let isFind = false
372
- if (oneOri && !oneOri.property) { // 没有prop的默认显示,checkbox和index
373
- if (oneOri.fixed == 'right') { // 隐藏行按钮,单独,否则无法控制
546
+ if (oneOri && !oneOri.property) {
547
+ // 没有prop的默认显示,checkbox和index
548
+ if (oneOri.fixed == 'right') {
549
+ // 隐藏行按钮,单独,否则无法控制
374
550
  result.push(oriCol[i])
375
551
  } else {
376
552
  result.push(oneOri)
377
553
  }
378
554
  continue
379
555
  }
380
- for (let j = 0; j < setCol.length; j++) { // 后来新增的
556
+ for (let j = 0; j < setCol.length; j++) {
557
+ // 后来新增的
381
558
  if (oneOri.property == setCol[j].property) {
382
559
  isFind = true
383
560
  break
@@ -389,11 +566,13 @@ export default {
389
566
  }
390
567
  for (let i = 0; i < setCol.length; i++) {
391
568
  const oneSet = setCol[i]
392
- if (result.some(v => {
393
- return v.property == oneSet.property
394
- })) {
569
+ if (
570
+ result.some((v) => {
571
+ return v.property == oneSet.property
572
+ })
573
+ ) {
395
574
  console.log('已经重复' + oneSet.property)
396
- continue;
575
+ continue
397
576
  }
398
577
  for (let j = 0; j < oriCol.length; j++) {
399
578
  const oneOri = oriCol[j]
@@ -401,7 +580,8 @@ export default {
401
580
  this.$set(oneOri, 'fixed', 'left')
402
581
  this.$set(oneOri, 'className', 'checkBox backFF')
403
582
  }
404
- if (oneOri.type == 'selection' || oneOri.type == 'index') {//ck和index都要居左
583
+ if (oneOri.type == 'selection' || oneOri.type == 'index') {
584
+ //ck和index都要居左
405
585
  this.$set(oneOri, 'fixed', 'left')
406
586
  this.$set(oneOri, 'className', 'backFF')
407
587
  }
@@ -418,7 +598,7 @@ export default {
418
598
  }
419
599
  }
420
600
  }
421
- result = [...result, ...lastResult];
601
+ result = [...result, ...lastResult]
422
602
  return result
423
603
  },
424
604
  extSets(command) {
@@ -449,9 +629,10 @@ export default {
449
629
  return null
450
630
  },
451
631
  myselectionChange(select) {
452
- if (this.hdQuery) { //
632
+ if (this.hdQuery) {
633
+ //
453
634
  this.hdQuery.selObj = select
454
- }//selection-change事件会触发2次,加个第3参数区分是el-table的还是hdgrid的
635
+ } //selection-change事件会触发2次,加个第3参数区分是el-table的还是hdgrid的
455
636
  this.$emit('selection-change', select, true)
456
637
  },
457
638
  // selectRow(select, row) {
@@ -471,8 +652,8 @@ export default {
471
652
  // },
472
653
  myrowClick(row, column, event) {
473
654
  if (event.shiftKey) {
474
- let index1 = this.hdResult.rows.indexOf(this.hdQuery.selRow);
475
- let index2 = this.hdResult.rows.indexOf(row);
655
+ let index1 = this.hdResult.rows.indexOf(this.hdQuery.selRow)
656
+ let index2 = this.hdResult.rows.indexOf(row)
476
657
 
477
658
  this.selectRowCube(index1, index2, false)
478
659
  } else {
@@ -487,7 +668,7 @@ export default {
487
668
  return
488
669
  }
489
670
  if (this.$route.path.indexOf('privilege') == 1) {
490
- return;
671
+ return
491
672
  }
492
673
  this.$emit('sel-ok', 'doUpdateOne', row)
493
674
  if (this.hdQuery) {
@@ -519,7 +700,6 @@ export default {
519
700
  if (this.rightMenuOpen) {
520
701
  let menu = this.$refs.rightMenu.$el
521
702
 
522
-
523
703
  // if (event.clientX > 900) {
524
704
  // menu.style.left = event.clientX - 265 + 'px'
525
705
  // } else {
@@ -536,7 +716,6 @@ export default {
536
716
  // console.log(menu,event)
537
717
  this.rightMenuVisable = true // 显示模态窗口,跳出自定义菜单栏
538
718
  }
539
-
540
719
  },
541
720
 
542
721
  foo() {
@@ -572,7 +751,11 @@ export default {
572
751
  // }
573
752
  // 列表会默认执行此方法,所以需要防止排序调用doquery
574
753
  if (hasAddData) {
575
- this.$confirm(this.$t('存在未保存数据,是否继续?'), this.$t('提示'), {}).then(() => {
754
+ this.$confirm(
755
+ this.$t('存在未保存数据,是否继续?'),
756
+ this.$t('提示'),
757
+ {}
758
+ ).then(() => {
576
759
  this.hdQuery.doSort(val, false)
577
760
  })
578
761
  } else {
@@ -597,7 +780,7 @@ export default {
597
780
  res = call
598
781
  })
599
782
  this.excelAllExporting = true
600
- res.then(response => {
783
+ res.then((response) => {
601
784
  this.excelExport(response.data.rows)
602
785
  this.excelAllExporting = false
603
786
  // this.downloadLoading = false
@@ -606,11 +789,12 @@ export default {
606
789
  doAllPdf() {
607
790
  let res = null
608
791
  this.pdfShowIs = true
609
- this.$emit('allExcel', function (call) {//pdf也是这名字allExcel
792
+ this.$emit('allExcel', function (call) {
793
+ //pdf也是这名字allExcel
610
794
  res = call
611
795
  })
612
796
  this.pdfAllExporting = true
613
- res.then(response => {
797
+ res.then((response) => {
614
798
  this.pdfExport(response.data.rows)
615
799
  this.pdfAllExporting = false
616
800
  // this.downloadLoading = false
@@ -620,7 +804,7 @@ export default {
620
804
  for (let i = 0; i < this.colThis.length; i++) {
621
805
  const one = this.colThis[i]
622
806
  if (one.$attrs.prop == prop) {
623
- return one.getValueByPath//支持多级prop如果有inutFormat会使用inputFormt
807
+ return one.getValueByPath //支持多级prop如果有inutFormat会使用inputFormt
624
808
  }
625
809
  }
626
810
  },
@@ -630,61 +814,71 @@ export default {
630
814
  },
631
815
  getCkRows() {
632
816
  if (this.visualScroll) {
633
- return this.hdResult.rows.filter(v => v._isCK == true)
817
+ return this.hdResult.rows.filter((v) => v._isCK == true)
634
818
  } else {
635
819
  return this.hdQuery.selObj
636
820
  }
637
-
638
821
  },
639
822
  initExFieldRows() {
640
- let hdFielddQuery = new HdQuery(this);
641
- hdFielddQuery.query.gridCode = this.exField.gridCode;
642
- hdFielddQuery.sort = 'sortNo';
643
- hdFielddQuery.order = 'asc';
644
- this.$http.post(`/webresources/login/tech/ComExField/detail/find`, hdFielddQuery).then(response => {
645
- this.exFieldRows = response.data.rows
646
- this.exFieldRows.forEach(row => {
647
- row.fieldName = row.columnName.toLowerCase().replace(/\_+[a-zA-Z]/g,
648
- (str, index) => index ? str.substr(-1).toUpperCase() : str
649
- )
650
- })
651
- this.$nextTick(function () {
652
- this.$refs.ingrid.doLayout()
823
+ let hdFielddQuery = new HdQuery(this)
824
+ hdFielddQuery.query.gridCode = this.exField.gridCode
825
+ hdFielddQuery.sort = 'sortNo'
826
+ hdFielddQuery.order = 'asc'
827
+ this.$http
828
+ .post(`/webresources/login/tech/ComExField/detail/find`, hdFielddQuery)
829
+ .then((response) => {
830
+ this.exFieldRows = response.data.rows
831
+ this.exFieldRows.forEach((row) => {
832
+ row.fieldName = row.columnName
833
+ .toLowerCase()
834
+ .replace(/\_+[a-zA-Z]/g, (str, index) =>
835
+ index ? str.substr(-1).toUpperCase() : str
836
+ )
837
+ })
838
+ this.$nextTick(function () {
839
+ this.$refs.ingrid.doLayout()
840
+ })
653
841
  })
654
- })
655
842
  },
656
843
  filterChange(filters) {
657
844
  // this.hdResult.filterValue.
658
- this.hdResult.filters = Object.assign(this.hdResult.filters || {}, filters);
845
+ this.hdResult.filters = Object.assign(
846
+ this.hdResult.filters || {},
847
+ filters
848
+ )
659
849
 
660
850
  this.filterHdResult()
661
851
  },
662
852
  filterHdResult() {
663
- let keys = Object.keys(this.hdResult.filters || {});
853
+ let keys = Object.keys(this.hdResult.filters || {})
664
854
  // console.log(this.$refs.ingrid.store.states._columns, this.hdResult.filters)
665
855
  this.hdResult.rows = this.hdResult._rows.filter((row) => {
666
-
667
- return !keys.some(value => {
668
- let prop = (this.$refs.ingrid.store.states._columns.find(v => {
669
- return v.id == value
670
- }) || '').property
856
+ return !keys.some((value) => {
857
+ let prop = (
858
+ this.$refs.ingrid.store.states._columns.find((v) => {
859
+ return v.id == value
860
+ }) || ''
861
+ ).property
671
862
  // console.log(value, prop, row[prop], this.hdResult.filters[value])
672
- return this.hdResult.filters[value].length > 0 && this.hdResult.filters[value].indexOf(row[prop]) == -1
673
- });
674
- });
863
+ return (
864
+ this.hdResult.filters[value].length > 0 &&
865
+ this.hdResult.filters[value].indexOf(row[prop]) == -1
866
+ )
867
+ })
868
+ })
675
869
  },
676
870
 
677
871
  selectPart(e, isUnSelect) {
678
- let index1 = this.hdResult.rows.indexOf(this.hdQuery.selRow);
679
- let index2 = this.hdResult.rows.indexOf(this.rightMenuRow);
872
+ let index1 = this.hdResult.rows.indexOf(this.hdQuery.selRow)
873
+ let index2 = this.hdResult.rows.indexOf(this.rightMenuRow)
680
874
 
681
875
  this.selectRowCube(index1, index2, isUnSelect)
682
876
  },
683
877
  selectRowCube(index1, index2, isUnSelect) {
684
878
  if (index1 > index2) {
685
- let tmpIndex = index1;
686
- index1 = index2;
687
- index2 = tmpIndex;
879
+ let tmpIndex = index1
880
+ index1 = index2
881
+ index2 = tmpIndex
688
882
  }
689
883
  this.hdResult.rows.forEach((v, i) => {
690
884
  if (i >= index1 && i <= index2) {
@@ -695,7 +889,7 @@ export default {
695
889
 
696
890
  unSelectPart(e) {
697
891
  this.selectPart(e, true)
698
- }
892
+ },
699
893
  },
700
894
  computed: {
701
895
  hdResultComRows() {
@@ -707,20 +901,23 @@ export default {
707
901
  },
708
902
  pageSizeArray() {
709
903
  if (this.pageSizes == null) {
710
- return this.visualScroll ? [20, 50, 100, 200, 500, 1000, 2000] : [20, 50, 100, 200, 500];
904
+ return this.visualScroll
905
+ ? [20, 50, 100, 200, 500, 1000, 2000]
906
+ : [20, 50, 100, 200, 500]
711
907
  } else {
712
- return this.pageSizes;
908
+ return this.pageSizes
713
909
  }
714
910
  },
715
911
  showBtnTool() {
716
- return this.hdBtnTool && this.$route.path.indexOf('privilege') != 1;
912
+ return this.hdBtnTool && this.$route.path.indexOf('privilege') != 1
717
913
  },
718
914
  },
719
915
 
720
- watch: {}
916
+ watch: {},
721
917
  }
722
918
  </script>
723
- <style rel="stylesheet/scss" lang="scss" scoped>
919
+
920
+ <style lang="scss" rel="stylesheet/scss" scoped>
724
921
  .hdgrid {
725
922
  display: flex;
726
923
  flex-direction: column;