hd-idevvue3 3.0.0 → 3.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (230) hide show
  1. package/.env.development +5 -0
  2. package/.env.production +5 -0
  3. package/README.md +22 -191
  4. package/dist/assets/index.774ef40e.css +1 -0
  5. package/dist/hd-idevvue3.mjs +45697 -0
  6. package/dist/hd-idevvue3.umd.js +153 -0
  7. package/index.html +1 -0
  8. package/npminstall-debug.log +10 -2
  9. package/package.json +35 -40
  10. package/pnpm-lock.yaml +2631 -0
  11. package/src/App.vue +15 -0
  12. package/src/assets/sound/notify.wav +0 -0
  13. package/src/demo/demo.vue +43 -0
  14. package/src/demo/dropdemo.vue +43 -0
  15. package/src/demo/extsets.vue +107 -0
  16. package/src/demo/formedit.vue +145 -0
  17. package/src/demo/hightquery.vue +169 -0
  18. package/src/demo/inlineedit.vue +88 -0
  19. package/src/demo/selfdrop.vue +41 -0
  20. package/src/demo//350/241/214/345/206/205/347/272/247/350/201/224.txt +2 -0
  21. package/src/directive/el-dragDialog/drag.js +124 -0
  22. package/src/directive/el-dragDialog/index.js +13 -0
  23. package/src/errorLog.js +16 -0
  24. package/src/hdcom/BigGrid.js +173 -0
  25. package/src/hdcom/BillShow.vue +90 -0
  26. package/src/hdcom/BillUpload.vue +253 -0
  27. package/src/hdcom/BtnRight.vue +98 -0
  28. package/src/hdcom/ErrHint.vue +30 -0
  29. package/src/hdcom/ExtendColumn.vue +108 -0
  30. package/src/hdcom/ExtendCommon.js +29 -0
  31. package/src/hdcom/ExtendForm.vue +114 -0
  32. package/src/hdcom/FacePicUpload.vue +71 -0
  33. package/src/hdcom/FaceRecTest.vue +104 -0
  34. package/src/hdcom/GridChart.vue +194 -0
  35. package/src/hdcom/GridExField.vue +281 -0
  36. package/src/hdcom/GridShow.vue +238 -0
  37. package/src/hdcom/HdAside.vue +178 -0
  38. package/src/hdcom/HdBtn.vue +113 -0
  39. package/src/hdcom/HdButton.vue +137 -0
  40. package/src/hdcom/HdComFaceRec.vue +58 -0
  41. package/src/hdcom/HdComGrid.vue +776 -0
  42. package/src/hdcom/HdComQuery.vue +273 -0
  43. package/src/hdcom/HdComQueryDetail.vue +161 -0
  44. package/src/hdcom/HdComSortDetail.vue +155 -0
  45. package/src/hdcom/HdDatePicker.vue +78 -0
  46. package/src/hdcom/HdDialog.vue +63 -0
  47. package/src/hdcom/HdDrop.vue +163 -0
  48. package/src/hdcom/HdFileUpload.vue +148 -0
  49. package/src/hdcom/HdFilterBox.vue +90 -0
  50. package/src/hdcom/HdFooter.vue +149 -0
  51. package/src/hdcom/HdForm.vue +278 -0
  52. package/src/hdcom/HdFormBtn.vue +89 -0
  53. package/src/hdcom/HdFormItem.vue +35 -0
  54. package/src/hdcom/HdGctosGrid +0 -0
  55. package/src/hdcom/HdGrid.vue +825 -0
  56. package/src/hdcom/HdGridEditBtn.vue +44 -0
  57. package/src/hdcom/HdGridExt.js +219 -0
  58. package/src/hdcom/HdGridSel.vue +223 -0
  59. package/src/hdcom/HdHeader.vue +148 -0
  60. package/src/hdcom/HdHotKey.vue +81 -0
  61. package/src/hdcom/HdInputHint.vue +49 -0
  62. package/src/hdcom/HdMain.vue +43 -0
  63. package/src/hdcom/HdMessage.vue +192 -0
  64. package/src/hdcom/HdNum.vue +69 -0
  65. package/src/hdcom/HdPopSel.vue +58 -0
  66. package/src/hdcom/HdRightMenu.vue +61 -0
  67. package/src/hdcom/HdSel/SelGridFieldcod.vue +36 -0
  68. package/src/hdcom/HdTableColumn.vue +334 -0
  69. package/src/hdcom/HdTempSave.vue +140 -0
  70. package/src/hdcom/HdTree.vue +86 -0
  71. package/src/hdcom/HdTreeTable/eval.js +34 -0
  72. package/src/hdcom/HdTreeTable/index.vue +174 -0
  73. package/src/hdcom/ImportExcel.vue +143 -0
  74. package/src/hdcom/index.js +80 -0
  75. package/src/idev.common.js +72 -0
  76. package/src/index.js +14 -0
  77. package/src/utils/HdQuery.js +54 -0
  78. package/src/utils/comutils.js +98 -0
  79. package/src/utils/utils.js +105 -0
  80. package/src/vendor/Blob.js +179 -0
  81. package/src/vendor/Export2Excel.js +220 -0
  82. package/src/vendor/Export2Zip.js +22 -0
  83. package/src/views/layout/AppMain.vue +32 -0
  84. package/src/views/layout/HdLayout.vue +78 -0
  85. package/src/views/layout/header/ElasticSearch.vue +225 -0
  86. package/src/views/layout/header/HZRecorder.js +231 -0
  87. package/src/views/layout/header/HeaderSearch.vue +198 -0
  88. package/src/views/layout/header/Levelbar.vue +49 -0
  89. package/src/views/layout/header/MainHeader.vue +271 -0
  90. package/src/views/layout/header/Navbar.vue +105 -0
  91. package/src/views/layout/header/ScrollPane.vue +81 -0
  92. package/src/views/layout/header/TagsView.vue +210 -0
  93. package/src/views/layout/header/VocRec.vue +97 -0
  94. package/src/views/layout/header/changepswform.vue +96 -0
  95. package/src/views/layout/index.js +12 -0
  96. package/src/views/layout/menu/Hamburger.vue +45 -0
  97. package/src/views/layout/menu/HdMenu.vue +167 -0
  98. package/src/views/layout/menu/css/menu.css +288 -0
  99. package/src/views/layout/menu/index.vue +25 -0
  100. package/src/views/privilege/commsg/commsg.vue +78 -0
  101. package/src/views/privilege/commsg/commsgOrgn.vue +42 -0
  102. package/src/views/privilege/commsg/commsgRole.vue +149 -0
  103. package/src/views/privilege/commsg/commsgform.vue +160 -0
  104. package/src/views/privilege/commsg/commsgiframe.vue +33 -0
  105. package/src/views/privilege/commsg/commsgto.vue +120 -0
  106. package/src/views/privilege/commsg/commsgtoform.vue +108 -0
  107. package/src/views/privilege/commsg/commsgtrans.vue +155 -0
  108. package/src/views/privilege/exfield/comexcolumn.vue +71 -0
  109. package/src/views/privilege/exfield/comexcolumnform.vue +101 -0
  110. package/src/views/privilege/exfield/comexfield.vue +31 -0
  111. package/src/views/privilege/exfield/comexfieldform.vue +94 -0
  112. package/src/views/privilege/exfield/comexfieldsub.vue +72 -0
  113. package/src/views/privilege/index.js +42 -0
  114. package/src/views/privilege/menu/comMenu.vue +41 -0
  115. package/src/views/privilege/menu/menu.vue +133 -0
  116. package/src/views/privilege/menu/menuinfo.vue +56 -0
  117. package/src/views/privilege/menu/rolelist.vue +47 -0
  118. package/src/views/privilege/menu/userlist.vue +49 -0
  119. package/src/views/privilege/mobile/authmobileupdate.vue +69 -0
  120. package/src/views/privilege/mobile/authmobileupdateform.vue +90 -0
  121. package/src/views/privilege/orgDept/authOrgn.vue +96 -0
  122. package/src/views/privilege/orgDept/authorgnform.vue +145 -0
  123. package/src/views/privilege/orgDept/orgDept.vue +37 -0
  124. package/src/views/privilege/orgDept/orgTree.vue +88 -0
  125. package/src/views/privilege/orgDept/orgnselect.vue +134 -0
  126. package/src/views/privilege/personDept/authuser.vue +123 -0
  127. package/src/views/privilege/personDept/authuserform.vue +154 -0
  128. package/src/views/privilege/personDept/facerec.vue +117 -0
  129. package/src/views/privilege/personDept/orgncascader.vue +125 -0
  130. package/src/views/privilege/personDept/personDept.vue +31 -0
  131. package/src/views/privilege/quartz/comquartzjob.vue +65 -0
  132. package/src/views/privilege/quartz/comquartzjobform.vue +99 -0
  133. package/src/views/privilege/quartz/comquartzlog.vue +59 -0
  134. package/src/views/privilege/role/btnRole.vue +117 -0
  135. package/src/views/privilege/role/menuRole.vue +64 -0
  136. package/src/views/privilege/role/orgnRole.vue +56 -0
  137. package/src/views/privilege/role/role.vue +67 -0
  138. package/src/views/privilege/role/rolelist.vue +67 -0
  139. package/src/views/privilege/role/roleselect.vue +57 -0
  140. package/src/views/privilege/search/comsearch.vue +105 -0
  141. package/src/views/privilege/search/menu.vue +52 -0
  142. package/src/views/privilege/syscode/syscode.vue +103 -0
  143. package/src/views/privilege/syscode/sysfield.vue +66 -0
  144. package/src/views/privilege/syscode/sysfieldframe.vue +30 -0
  145. package/src/views/privilege/syslog/menulog.vue +52 -0
  146. package/src/views/privilege/syslog/syslog.vue +115 -0
  147. package/src/views/privilege/syslog/syslogconfig.vue +61 -0
  148. package/src/views/privilege/syslog/syslogform.vue +83 -0
  149. package/src/views/privilege/syslog/syslogframe.vue +26 -0
  150. package/src/views/privilege/userRole/userRole.vue +122 -0
  151. package/src/views/privilege.zip +0 -0
  152. package/vite.config.js +93 -0
  153. package/.babelrc +0 -17
  154. package/.editorconfig +0 -14
  155. package/.eslintignore +0 -3
  156. package/.npminstall.done +0 -1
  157. package/.postcssrc.js +0 -8
  158. package/LICENSE +0 -21
  159. package/Listening +0 -28
  160. package/build/build.js +0 -70
  161. package/build/check-versions.js +0 -45
  162. package/build/config.js +0 -81
  163. package/build/dev-client.js +0 -9
  164. package/build/dev-server.js +0 -93
  165. package/build/utils.js +0 -78
  166. package/build/vue-loader.conf.js +0 -12
  167. package/build/webpack.common.js +0 -37
  168. package/build/webpack.component.js +0 -36
  169. package/build/webpack.prod.conf.js +0 -38
  170. package/components.json +0 -8
  171. package/conf.js +0 -42
  172. package/config/dev.env.js +0 -6
  173. package/config/index.js +0 -43
  174. package/config/prod.env.js +0 -6
  175. package/config/sit.env.js +0 -6
  176. package/favicon.ico +0 -0
  177. package/jsdoc-vue.js +0 -12
  178. package/lib/0.index.js +0 -12573
  179. package/lib/1.index.js +0 -6
  180. package/lib/2.index.js +0 -2
  181. package/lib/idev.common.js +0 -1
  182. package/lib/idv8.common.js +0 -1
  183. package/lib/index.js +0 -49170
  184. package/lib/js/ErrHint.js +0 -1
  185. package/lib/js/HdAside.js +0 -1
  186. package/lib/js/HdBtn.js +0 -1
  187. package/lib/js/HdButton.js +0 -1
  188. package/lib/js/HdComFaceRec.js +0 -1
  189. package/lib/js/HdComGrid.js +0 -1
  190. package/lib/js/HdDatePicker.js +0 -1
  191. package/lib/js/HdDialog.js +0 -1
  192. package/lib/js/HdDrop.js +0 -1
  193. package/lib/js/HdFileUpload.js +0 -1
  194. package/lib/js/HdFooter.js +0 -1
  195. package/lib/js/HdForm.js +0 -1
  196. package/lib/js/HdFormBtn.js +0 -1
  197. package/lib/js/HdFormItem.js +0 -1
  198. package/lib/js/HdGrid.js +0 -1
  199. package/lib/js/HdGridEditBtn.js +0 -1
  200. package/lib/js/HdGridSel.js +0 -1
  201. package/lib/js/HdHeader.js +0 -1
  202. package/lib/js/HdHotkey.js +0 -1
  203. package/lib/js/HdLayout.js +0 -1
  204. package/lib/js/HdMain.js +0 -1
  205. package/lib/js/HdMessage.js +0 -1
  206. package/lib/js/HdNum.js +0 -1
  207. package/lib/js/HdPopSel.js +0 -1
  208. package/lib/js/HdSearch.js +0 -1
  209. package/lib/js/HdTableColumn.js +0 -1
  210. package/lib/js/HdTempSave.js +0 -1
  211. package/lib/js/HdTree.js +0 -1
  212. package/lib/js/HdTreeTable.js +0 -1
  213. package/lib/js/authmobileupdate.js +0 -1
  214. package/lib/js/comexfield.js +0 -1
  215. package/lib/js/commsg.js +0 -1
  216. package/lib/js/commsgto.js +0 -1
  217. package/lib/js/comquartzjob.js +0 -1
  218. package/lib/js/comquartzlog.js +0 -1
  219. package/lib/js/comsearch.js +0 -1
  220. package/lib/js/menu.js +0 -1
  221. package/lib/js/menuinfo.js +0 -1
  222. package/lib/js/orgDept.js +0 -1
  223. package/lib/js/orgTree.js +0 -1
  224. package/lib/js/personDept.js +0 -1
  225. package/lib/js/role.js +0 -1
  226. package/lib/js/sysfieldframe.js +0 -1
  227. package/lib/js/syslog.js +0 -1
  228. package/lib/js/syslogframe.js +0 -1
  229. package/lib/js/userRole.js +0 -1
  230. package/ytgvue.rar +0 -0
@@ -0,0 +1,56 @@
1
+ <template>
2
+ <div style="height: 100%;">
3
+ <el-button @click="saveOrgnTree" class="filter-item" size="mini" type="success">{{$t('保存')}}</el-button>
4
+ <hd-tree :data="hdTree" height="100%" node-key="id" ref="orgnTree" show-checkbox
5
+ style="height: 100%" v-loading="listLoading"></hd-tree>
6
+ </div>
7
+ </template>
8
+ <script>
9
+
10
+ export default {
11
+ name: 'orgnRole',
12
+ data: function () {
13
+ return {
14
+ hdTree: [],
15
+ listLoading: false
16
+ }
17
+ },
18
+ mounted() {
19
+ this.doQuery()
20
+ },
21
+ methods: {
22
+ doQuery() {
23
+ this.listLoading = true
24
+ this.$http.get(`../webresources/login/privilege/AuthRole/findOrgnByRoleAndPrivilege?roleId=${this.roleId}&privilegeId=${this.menuId}`).then(response => {
25
+ const data = response.data
26
+ this.hdTree = data
27
+ this.listLoading = false
28
+ })
29
+ },
30
+ saveOrgnTree() {
31
+ const os = this.$refs.orgnTree.getCheckedNodes(false)
32
+ let orgIds = ''
33
+ for (let i = 0; i < os.length; i++) {
34
+ orgIds = orgIds + os[i].id + ','
35
+ }
36
+ this.$http.post(`../webresources/login/privilege/AuthRole/vue/updateRoleOrgn/${this.roleId}/${this.menuId}`, {ids: orgIds}).then(response => {
37
+ const data = response.data
38
+ this.$message({
39
+ type: data.code == '-1' ? 'error' : 'success',
40
+ message: data.message
41
+ })
42
+ })
43
+ }
44
+ },
45
+ props: ['roleId', 'menuId'],
46
+ watch: {
47
+ // 都有值才适合查询
48
+ roleId: function (newVal) {
49
+ this.doQuery()
50
+ },
51
+ menuId: function (newVal) {
52
+ this.doQuery()
53
+ }
54
+ }
55
+ }
56
+ </script>
@@ -0,0 +1,67 @@
1
+ <template>
2
+ <el-container>
3
+ <el-aside width="40%">
4
+ <rolelist @selRoleId="selRoleId"></rolelist>
5
+ </el-aside>
6
+ <el-main>
7
+ <el-tabs v-model="activeName">
8
+ <el-tab-pane :label="$t('菜单')" name="menu">
9
+ <menuRole :roleId="roleId" v-if="activeName=='menu'&&roleId"></menuRole>
10
+ </el-tab-pane>
11
+ <el-tab-pane :label="$t('数据')" name="data">
12
+ <el-container v-if="activeName=='data'">
13
+ <el-aside width="30%">
14
+ <comMenu @selMenu="selMenu"></comMenu>
15
+ </el-aside>
16
+ <el-main>
17
+ <orgnRole :roleId="roleId" :menuId="menu.id" v-if="roleId&&menu.url"></orgnRole>
18
+ </el-main>
19
+ </el-container>
20
+ </el-tab-pane>
21
+ <el-tab-pane :label="$t('按钮')" name="btn">
22
+ <el-container v-if="activeName=='btn'">
23
+ <el-aside width="30%">
24
+ <comMenu @selMenu="selMenu"></comMenu>
25
+ </el-aside>
26
+ <el-main>
27
+ <btnRole :roleId="roleId" :menu="menu" v-if="roleId&&menu.url" :imFromPro="imFromPro"></btnRole>
28
+ </el-main>
29
+ </el-container>
30
+ </el-tab-pane>
31
+ </el-tabs>
32
+ </el-main>
33
+ </el-container>
34
+ </template>
35
+ <script>
36
+ import btnRole from './btnRole'
37
+ import rolelist from './rolelist'
38
+ import menuRole from './menuRole'
39
+ import orgnRole from './orgnRole'
40
+ import comMenu from '../menu/comMenu'
41
+
42
+ export default {
43
+ components: {
44
+ orgnRole, rolelist, menuRole, btnRole, comMenu
45
+ },
46
+ name: 'role',
47
+ data() {
48
+ return {
49
+ roleId: null,
50
+ menu: {},
51
+ activeName: 'menu'
52
+ }
53
+ },
54
+ props: ['imFromPro'], // imFromPro:import不能来自node_module,需要项目传入
55
+ mounted() {
56
+ this.$route.meta.btnRoleCheck = true // 按钮权限,开启注册
57
+ },
58
+ methods: {
59
+ selRoleId(roleId) {
60
+ this.roleId = roleId
61
+ },
62
+ selMenu(menu) {
63
+ this.menu = menu
64
+ }
65
+ }
66
+ }
67
+ </script>
@@ -0,0 +1,67 @@
1
+ <template>
2
+ <hd-com-grid ref="grid" :hdQuery="hdQuery" @row-click="selRow" url="/webresources/login/privilege/AuthRole/vue">
3
+ <div class="filter-container" slot="query">
4
+ <el-input @keyup.enter.native="doQuery" style="width: 120px;" class="filter-item" :placeholder="$t('名称')"
5
+ v-model="hdQuery.query.anyQuery">
6
+ </el-input>
7
+ <orgnselect style="width:150px;display: inline-block" :txtVal.sync="hdQuery.query.orgnName"
8
+ :idVal.sync="hdQuery.query.orgnId" class="filter-item" :placeholder="$t('选择部门')"></orgnselect>
9
+ <el-button @click="doQuery" keyType="query" class="filter-item">{{$t('搜索')}}</el-button>
10
+ <el-button class="filter-item" type="primary" @click="$refs.grid.doEdit('')" keyType="add">{{$t('增加')}}</el-button>
11
+ </div>
12
+ <el-table-column width="90" align="center" label="操作" fixed="right">
13
+ <template slot-scope="scope">
14
+ <hd-btn icon="el-icon-edit" hint="编辑" @click="$refs.grid.doEdit(scope.row)" v-if="!scope.row.isEdit">{{$t('编辑')}}</hd-btn>
15
+ <hd-btn icon="el-icon-delete" hint="删除" @click="$refs.grid.doRemove(scope.row)" v-if="!scope.row.isEdit">{{$t('删除')}}
16
+ </hd-btn>
17
+ <hd-btn hint="撤销" @click.stop="$refs.grid.doCancel(scope.row)" v-if="scope.row.isEdit">
18
+ <svg-icon icon-class="undo"/>
19
+ </hd-btn>
20
+ <hd-btn icon="el-icon-check" hint="保存" @click.stop="$refs.grid.doSave(scope.row)" v-if="scope.row.isEdit">
21
+ {{$t('保存')}}
22
+ </hd-btn>
23
+ </template>
24
+ </el-table-column>
25
+ <el-table-column width="120px" align="left" header-align="center" label="名称" prop="name" sortable
26
+ :rules="$r(1,0,50)">
27
+ </el-table-column>
28
+ <el-table-column width="170px" align="left" header-align="center" label="所属部门" prop="orgnStr" noEdit>
29
+ </el-table-column>
30
+ <el-table-column width="150px" align="left" header-align="center" label="描述" prop="description">
31
+ </el-table-column>
32
+ <el-table-column width="100px" align="center" label="管理员" prop="isAdmin" input="el-switch"
33
+ v-if="$store.state.user.isAdmin"
34
+ :inputProp='{activeValue:"1", inactiveValue:"0"}' :inputFormat='$ckFt' sortable>
35
+ </el-table-column>
36
+ </hd-com-grid>
37
+ </template>
38
+ <script>
39
+
40
+ import btnRole from './btnRole'
41
+ import orgnselect from '../orgDept/orgnselect'
42
+
43
+ export default {
44
+ components: {
45
+ btnRole,
46
+ orgnselect
47
+ },
48
+ name: 'rolelist',
49
+ data: function () {
50
+ return {
51
+ hdQuery: new HdQuery(this)
52
+ }
53
+ },
54
+ props: {},
55
+ mounted() {
56
+
57
+ },
58
+ methods: {
59
+ doQuery() {
60
+ this.$refs.grid.doQuery()
61
+ },
62
+ selRow(row) {
63
+ this.$emit('selRoleId', row.roleId)
64
+ }
65
+ }
66
+ }
67
+ </script>
@@ -0,0 +1,57 @@
1
+ <template>
2
+ <!--开发示例:pop选择的-->
3
+ <div>
4
+ <hd-grid-sel :txtVal="txtVal" :idVal="idVal" placeholder="请点击选角色" height="50vh" :hdQuery="hdQuery"
5
+ url="/webresources/login/privilege/AuthRole/find" @rowClick="doClick"
6
+ :beforeQuery="beforeQuery" visualScroll>
7
+ <el-table-column width="130px" align="left" header-align="center" label="角色名称" prop="name" sortable>
8
+ </el-table-column>
9
+ <el-table-column width="130px" align="left" header-align="center" label="创建部门" prop="orgnStr" sortable>
10
+ </el-table-column>
11
+ </hd-grid-sel>
12
+ </div>
13
+ </template>
14
+
15
+ <script>
16
+
17
+ export default {
18
+ name: 'selship',
19
+ components: {},
20
+ data() {
21
+ return {
22
+
23
+ hdQuery: new HdQuery(this)
24
+ }
25
+ },
26
+ mounted() {
27
+
28
+ },
29
+ props: { idVal: String, txtVal: String }, // 设置value为props属性-必须
30
+ // watch: {
31
+ // popAnyQuery: function () {
32
+ // clearTimeout(this.timeout);
33
+ // this.timeout = setTimeout(() => {
34
+ // //doQuery
35
+ // }, 500);
36
+ // }
37
+ // },
38
+ methods: {
39
+ beforeQuery(val) {
40
+ this.hdQuery.query.anyQuery = val
41
+ },
42
+ doClick(row) {
43
+ this.$emit('update:txtVal', row.name)
44
+ this.$emit('update:idVal', row.roleId)
45
+ this.$emit('onSelItem', { data: row }) // 主页面调用弹窗时添加
46
+ }
47
+ },
48
+ watch: {}
49
+ }
50
+ </script>
51
+
52
+ <style>
53
+
54
+ .el-popper {
55
+ z-index: 3000 !important;
56
+ }
57
+ </style>
@@ -0,0 +1,105 @@
1
+ <template>
2
+ <el-container>
3
+ <el-aside style="border-right: 1px solid #eee" width="260px">
4
+ <hd-tree :data="menuData" @node-click="handleNodeClick" node-key="id"></hd-tree>
5
+ </el-aside>
6
+ <el-main>
7
+ <hd-com-grid ref="grid" :hdQuery="hdQuery" url="/webresources/login/com/ComSearch">
8
+ <div class="filter-container" slot="query">
9
+ <el-input @keyup.enter.native="$refs.grid.doQuery()" style="width: 200px;" class="filter-item"
10
+ :placeholder="$t('名称')"
11
+ v-model="hdQuery.query.name">
12
+ </el-input>
13
+ <el-button class="filter-item" @click="$refs.grid.doQuery()" icon="search" type="primary" ref="q" keyType="query">{{$t('搜索')}}
14
+ </el-button>
15
+ <el-button class="filter-item" type="primary" @click="doAdd()" icon="edit" ref="a" keyType="add">{{$t('新增')}}
16
+ </el-button>
17
+ <el-button class="filter-item" @click="$refs.grid.doRemoveAll()" type="danger" ref="d" keyType="del">{{$t('删除')}}
18
+ </el-button>
19
+ </div>
20
+ <el-table-column width="90px" align="center" label="操作" fixed="right">
21
+ <template slot-scope="scope">
22
+ <HdGridEditBtn style="display: inline;" :row="scope.row" gridRef="grid"></HdGridEditBtn>
23
+ <hd-btn icon="el-icon-refresh" hint="刷新" @click.stop="doRefresh(scope.row)" v-if="!scope.row.isEdit"></hd-btn>
24
+ </template>
25
+ </el-table-column>
26
+
27
+ <el-table-column width="100px" align="center" label="索引名称" prop="indexName" sortable :rules="$r(0,0,30)" noEdit >
28
+ </el-table-column>
29
+ <el-table-column width="120px" align="center" label="索引CODE" prop="searchCode" sortable :rules="$r(0,0,50)" >
30
+ </el-table-column>
31
+ <el-table-column width="120px" align="center" label="索引菜单" :inputFormat="(v,r)=>r.menuName" prop="menuId" sortable noEdit>
32
+ </el-table-column>
33
+ <el-table-column width="330px" align="center" label="索引实体" prop="entityName" sortable :rules="$r(0,0,255)" >
34
+ </el-table-column>
35
+ <el-table-column width="140px" align="center" label="上次刷新时间" :inputProp="$date" prop="flushTim" sortable noEdit>
36
+ </el-table-column>
37
+ </hd-com-grid>
38
+ </el-main>
39
+ </el-container>
40
+ </template>
41
+ <script>
42
+
43
+ export default {
44
+ name: 'comsearch',
45
+ components: {},
46
+ data() {
47
+ return {
48
+ hdQuery: new HdQuery(this),
49
+ menuData: [],
50
+ selData: {},
51
+ }
52
+ },
53
+
54
+ mounted() {
55
+ this.doMenuQuery();
56
+ },
57
+ methods: {
58
+ doAdd() {
59
+ if(!this.selData.children || this.selData.children.length > 0) {
60
+ this.$message({
61
+ type: 'error',
62
+ message: this.$t('只能添加到节点菜单')
63
+ });
64
+ return;
65
+ }
66
+ let rowData = {};
67
+ rowData.menuId = this.selData.id;
68
+ rowData.menuName = this.selData.text;
69
+ rowData.indexName = 'default';
70
+ this.$refs.grid.doEdit('', rowData);
71
+ },
72
+ doMenuQuery() {
73
+ this.$http.post('/webresources/login/privilege/AuthPrivilege/getAllTree/1/0').then(response => {
74
+ console.log('menuData', response.data)
75
+ this.menuData = response.data
76
+ })
77
+ },
78
+ handleNodeClick(obj) {
79
+ this.selData = obj;
80
+ this.doListQuery()
81
+ },
82
+ doListQuery() {
83
+ this.hdQuery.query.menuId = this.selData.id
84
+ if(this.selData.id === '-1') {
85
+ this.hdQuery.query.menuId = null
86
+ }
87
+ this.$refs.grid.doQuery();
88
+ },
89
+ doRefresh(obj) { // 刷新数据
90
+ const loading = this.$loading({
91
+ text : this.$t('正在生成索引,您可能需要一盏茶的时间请耐心等待...')
92
+ })
93
+ this.$http.post(`/webresources/login/com/ComSearch/flush/${obj.searchId}`).then(response => {
94
+ loading.close();
95
+ this.$message({
96
+ type: 'success',
97
+ message: this.$t(`刷新完成,共{num}条数据`, {'num':response.data.data}),
98
+ });
99
+ }, error=>{
100
+ loading.close();
101
+ })
102
+ },
103
+ }
104
+ }
105
+ </script>
@@ -0,0 +1,52 @@
1
+ <template>
2
+ <div style="height: 100%;">
3
+ <el-button class="filter-item" type="success" @click="save" size="mini">{{$t('保存')}}</el-button>
4
+ <hd-tree :data="hdTree" v-loading="listLoading" node-key="id" ref="menuTree"
5
+ show-checkbox style="height:calc(100% - 30px)"></hd-tree>
6
+ </div>
7
+ </template>
8
+ <script>
9
+
10
+ export default {
11
+ components: {},
12
+ name: 'menuSearch',
13
+ data: function() {
14
+ return {
15
+ hdTree: [],
16
+ listLoading: false
17
+ }
18
+ },
19
+ mounted() { // 因为外层通过v-if控制
20
+ this.doQuery()
21
+ },
22
+ methods: {
23
+ doQuery() {
24
+ this.listLoading = true
25
+
26
+ this.$http.get(`/webresources/login/privilege/SysLogConfigVue/menuConfig`).then(response => {
27
+ const data = response.data
28
+ this.hdTree = data
29
+ this.listLoading = false
30
+ })
31
+ },
32
+ save() {
33
+ const os = this.$refs.menuTree.getCheckedNodes()
34
+ let privilegeIds = ''
35
+ for (let i = 0; i < os.length; i++) {
36
+ if (os[i].id == -1) { // 总根节点不处理
37
+ continue
38
+ }
39
+ privilegeIds = privilegeIds + os[i].id + ','
40
+ }
41
+ this.$http.post(`/webresources/login/privilege/SysLogConfigVue/saveMenuConfig`, {privilegeIds: privilegeIds}).then(response => {
42
+ const data = response.data
43
+ this.$message({
44
+ type: data.code == '-1' ? 'error' : 'success',
45
+ message: data.message
46
+ })
47
+ })
48
+ }
49
+ },
50
+ watch: {}
51
+ }
52
+ </script>
@@ -0,0 +1,103 @@
1
+ <template>
2
+ <el-container>
3
+ <el-main>
4
+ <hd-com-grid :exField="exField" :hdQuery="hdQuery" :row-class-name="tableRowClassName" :stripe="false"
5
+ noCopy="codeId" ref="grid" url="/webresources/login/privilege/SysCode/vue" visualScroll>
6
+ <div class="filter-container" slot="query">
7
+ <el-input :placeholder="$t('名称、代码')" @keyup.enter.native="$refs.grid.doQuery()"
8
+ class="filter-item"
9
+ style="width: 200px;float:right;" suffix-icon="el-icon-search"
10
+ v-model="hdQuery.query.anyQuery">
11
+ </el-input>
12
+ <el-button @click="doAdd" class="filter-item" keyType="add"  type="primary">{{$t('新增')}}
13
+ </el-button>
14
+ <el-button @click="$refs.grid.doCopy()" class="filter-item" keyType="copy" type="primary">{{$t('复制')}}
15
+ </el-button>
16
+ <el-button @click="$refs.grid.doRemoveAll()" class="filter-item" keyType="del" type="danger">{{$t('删除')}}
17
+ </el-button>
18
+ <el-button @click="$refs.grid.doSaveAll()" class="filter-item" keyType="save" type="danger">{{$t('保存')}}
19
+ </el-button>
20
+ </div>
21
+ <el-table-column align="center" fixed="right" label="操作" width="60px">
22
+ <template slot-scope="scope">
23
+ <HdGridEditBtn :row="scope.row" gridRef="grid"></HdGridEditBtn>
24
+ </template>
25
+ </el-table-column>
26
+ <el-table-column :rules="$r(1,0,36)" align="left" header-align="center" label="代码" prop="code" sortable
27
+ width="120px">
28
+ </el-table-column>
29
+ <el-table-column :rules="$r(1,0,50)" align="left" header-align="center" label="名称" prop="name" sortable
30
+ width="120px">
31
+ </el-table-column>
32
+ <el-table-column align="left" header-align="center" label="英文名" prop="enName" sortable width="120px">
33
+ </el-table-column>
34
+ <el-table-column :rules="$r(0,0,100000,'number')" align="left" header-align="center" input="HdNum" label="排序号"
35
+ prop="sorter"
36
+ sortable>
37
+ </el-table-column>
38
+ <el-table-column :inputFormat='$ckFt' :inputProp='{activeValue:"1", inactiveValue:"0"}' align="center"
39
+ input="el-switch" label="系统"
40
+ prop="sysMark" sortable>
41
+ </el-table-column>
42
+ <el-table-column :inputFormat='$ckFt' :inputProp='{activeValue:"1", inactiveValue:"0"}' align="center"
43
+ input="el-switch" label="废弃"
44
+ prop="abandonedMark" sortable>
45
+ </el-table-column>
46
+ <el-table-column align="left" header-align="center" label="备注/描述" prop="description" sortable width="150px">
47
+ </el-table-column>
48
+ </hd-com-grid>
49
+ </el-main>
50
+ </el-container>
51
+ </template>
52
+ <script>
53
+
54
+
55
+ export default {
56
+ name: 'syscode',
57
+ components: {},
58
+ data() {
59
+ return {
60
+ hdQuery: new HdQuery(this),
61
+ exField: {
62
+ open: true,
63
+ table: 'SYS_CODE',
64
+ columnList: ['CUSTOM_EX1', 'CUSTOM_EX2', 'CUSTOM_EX3', 'CUSTOM_EX4', 'CUSTOM_EX5'],
65
+ gridCode: 'syscodeGrid'
66
+ },
67
+ }
68
+ },
69
+ // mounted() {//页面加载后执行
70
+ // this.doQuery()
71
+ // },
72
+ props: {},
73
+ methods: {
74
+ tableRowClassName({row, rowIndex}) {//stripe必须改为false
75
+ if (row.abandonedMark == '1') {
76
+ return 'gray-row';
77
+ }
78
+ },
79
+ querycode(row) {
80
+ this.hdQuery.query.fieldCod = row.fieldCod
81
+ this.$refs.grid.doQuery()
82
+ },
83
+ doAdd() {
84
+ if (!this.hdQuery.query.fieldCod) {
85
+ this.$message({
86
+ type: 'error',
87
+ message: this.$t('未选择数据')
88
+ })
89
+ return false
90
+ }
91
+ this.$refs.grid.doEdit('')
92
+ }
93
+ },
94
+ computed: {// 给外层v-model赋值
95
+ }
96
+ }
97
+ </script>
98
+ <style rel="stylesheet/scss" lang="scss" scoped>
99
+ :deep(.gray-row) { //deep必须有
100
+ background: #DCDCDC;
101
+ }
102
+
103
+ </style>
@@ -0,0 +1,66 @@
1
+ <template>
2
+ <el-container>
3
+ <el-main>
4
+ <hd-com-grid ref="grid" :hdQuery="hdQuery"
5
+ url="/webresources/login/privilege/SysField/vue"
6
+ @row-click="rowClick"  recHide :defaultSort="{}">
7
+ <div class="filter-container" slot="query">
8
+ <el-input @keyup.enter.native="$refs.grid.doQuery()" suffix-icon="el-icon-search"
9
+ style="width: 200px;float:right;"
10
+ class="filter-item" :placeholder="$t('名称、代码')" v-model="hdQuery.query.anyQuery">
11
+ </el-input>
12
+ <el-button class="filter-item" @click="$refs.grid.doEdit('')" type="primary" keyType="add">{{$t('新增')}}</el-button>
13
+ <el-button class="filter-item" @click="$refs.grid.doRemoveAll()" type="danger" keyType="del">{{$t('删除')}}</el-button>
14
+ </div>
15
+ <el-table-column width="60px" align="center" label="操作" fixed="right">
16
+ <template slot-scope="scope">
17
+ <hd-btn icon="el-icon-edit" hint="编辑" @click.stop="$refs.grid.doEdit(scope.row)" v-if="!scope.row.isEdit">
18
+ {{$t('编辑')}}
19
+ </hd-btn>
20
+ <hd-btn hint="撤销" @click.stop="$refs.grid.doCancel(scope.row,scope.$index)" v-if="scope.row.isEdit">
21
+ <svg-icon icon-class="undo"/>
22
+ </hd-btn>
23
+ <hd-btn icon="el-icon-check" hint="保存" @click.stop="$refs.grid.doSave(scope.row)" v-if="scope.row.isEdit">
24
+ {{$t('保存')}}
25
+ </hd-btn>
26
+ <hd-btn icon="el-icon-delete" hint="删除" @click.stop="$refs.grid.doRemove(scope.row)"
27
+ v-if="!scope.row.isEdit">
28
+ {{$t('删除')}}
29
+ </hd-btn>
30
+ </template>
31
+ </el-table-column>
32
+ <el-table-column width="120px" align="left" header-align="center" label="名称" prop="fieldName" sortable
33
+ :rules="$r(1,0,36)">
34
+ </el-table-column>
35
+ <el-table-column width="150px" align="left" header-align="center" label="代码" prop="fieldCod" sortable
36
+ :rules="$r(1,0,50)">
37
+ </el-table-column>
38
+
39
+ </hd-com-grid>
40
+ </el-main>
41
+ </el-container>
42
+ </template>
43
+ <script>
44
+
45
+ export default {
46
+ name:'sysfield',
47
+ components: {},
48
+ data() {
49
+ return {
50
+ hdQuery: new HdQuery(this)
51
+ }
52
+ },
53
+ props: {},
54
+ mounted() {
55
+
56
+ },
57
+ methods: {
58
+ rowClick(row) {
59
+ this.$emit('row-click', row)
60
+ }
61
+ },
62
+ computed: {// 给外层v-model赋值
63
+
64
+ }
65
+ }
66
+ </script>
@@ -0,0 +1,30 @@
1
+ <template>
2
+ <el-container>
3
+ <el-aside width="460px">
4
+ <sysfield ref="sysfield" @row-click="rowClick"></sysfield>
5
+ </el-aside>
6
+ <el-main>
7
+ <syscode ref="syscode"></syscode>
8
+ </el-main>
9
+
10
+ </el-container>
11
+ </template>
12
+ <script>
13
+ import syscode from './syscode'
14
+ import sysfield from './sysfield'
15
+
16
+ export default {
17
+ components: {
18
+ syscode, sysfield
19
+ },
20
+ data() {
21
+ return {}
22
+ },
23
+ methods: {
24
+ rowClick(row) {
25
+ this.$refs['syscode'].querycode(row)
26
+ }
27
+ }
28
+ }
29
+
30
+ </script>
@@ -0,0 +1,52 @@
1
+ <template>
2
+ <div style="height: 100%;">
3
+ <el-button class="filter-item" type="success" @click="save" size="mini">{{$t('保存')}}</el-button>
4
+ <hd-tree :data="hdTree" v-loading="listLoading" node-key="id" ref="menuTree"
5
+ show-checkbox style="height:calc(100% - 30px)"></hd-tree>
6
+ </div>
7
+ </template>
8
+ <script>
9
+
10
+ export default {
11
+ components: {},
12
+ name: 'menuRole',
13
+ data: function() {
14
+ return {
15
+ hdTree: [],
16
+ listLoading: false
17
+ }
18
+ },
19
+ mounted() { // 因为外层通过v-if控制
20
+ this.doQuery()
21
+ },
22
+ methods: {
23
+ doQuery() {
24
+ this.listLoading = true
25
+
26
+ this.$http.get(`/webresources/login/privilege/SysLogConfigVue/menuConfig`).then(response => {
27
+ const data = response.data
28
+ this.hdTree = data
29
+ this.listLoading = false
30
+ })
31
+ },
32
+ save() {
33
+ const os = this.$refs.menuTree.getCheckedNodes()
34
+ let privilegeIds = ''
35
+ for (let i = 0; i < os.length; i++) {
36
+ if (os[i].id == -1) { // 总根节点不处理
37
+ continue
38
+ }
39
+ privilegeIds = privilegeIds + os[i].id + ','
40
+ }
41
+ this.$http.post(`/webresources/login/privilege/SysLogConfigVue/saveMenuConfig`, {privilegeIds: privilegeIds}).then(response => {
42
+ const data = response.data
43
+ this.$message({
44
+ type: data.code == '-1' ? 'error' : 'success',
45
+ message: data.message
46
+ })
47
+ })
48
+ }
49
+ },
50
+ watch: {}
51
+ }
52
+ </script>