hd-idevvue3 3.0.0 → 3.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (226) hide show
  1. package/README.md +22 -191
  2. package/dist/index.html +17 -0
  3. package/package.json +13 -9
  4. package/pnpm-lock.yaml +5593 -0
  5. package/src/App.vue +15 -0
  6. package/src/assets/sound/notify.wav +0 -0
  7. package/src/demo/demo.vue +43 -0
  8. package/src/demo/dropdemo.vue +43 -0
  9. package/src/demo/extsets.vue +107 -0
  10. package/src/demo/formedit.vue +145 -0
  11. package/src/demo/hightquery.vue +169 -0
  12. package/src/demo/inlineedit.vue +88 -0
  13. package/src/demo/selfdrop.vue +41 -0
  14. package/src/demo//350/241/214/345/206/205/347/272/247/350/201/224.txt +2 -0
  15. package/src/directive/el-dragDialog/drag.js +124 -0
  16. package/src/directive/el-dragDialog/index.js +13 -0
  17. package/src/errorLog.js +14 -0
  18. package/src/hdcom/BigGrid.js +173 -0
  19. package/src/hdcom/BillShow.vue +90 -0
  20. package/src/hdcom/BillUpload.vue +253 -0
  21. package/src/hdcom/BtnRight.vue +98 -0
  22. package/src/hdcom/ErrHint.vue +30 -0
  23. package/src/hdcom/ExtendColumn.vue +108 -0
  24. package/src/hdcom/ExtendCommon.js +29 -0
  25. package/src/hdcom/ExtendForm.vue +114 -0
  26. package/src/hdcom/FacePicUpload.vue +71 -0
  27. package/src/hdcom/FaceRecTest.vue +104 -0
  28. package/src/hdcom/GridChart.vue +194 -0
  29. package/src/hdcom/GridExField.vue +281 -0
  30. package/src/hdcom/GridShow.vue +238 -0
  31. package/src/hdcom/HdAside.vue +178 -0
  32. package/src/hdcom/HdBtn.vue +113 -0
  33. package/src/hdcom/HdButton.vue +137 -0
  34. package/src/hdcom/HdComFaceRec.vue +58 -0
  35. package/src/hdcom/HdComGrid.vue +776 -0
  36. package/src/hdcom/HdComQuery.vue +273 -0
  37. package/src/hdcom/HdComQueryDetail.vue +161 -0
  38. package/src/hdcom/HdComSortDetail.vue +155 -0
  39. package/src/hdcom/HdDatePicker.vue +78 -0
  40. package/src/hdcom/HdDialog.vue +63 -0
  41. package/src/hdcom/HdDrop.vue +163 -0
  42. package/src/hdcom/HdFileUpload.vue +148 -0
  43. package/src/hdcom/HdFilterBox.vue +90 -0
  44. package/src/hdcom/HdFooter.vue +149 -0
  45. package/src/hdcom/HdForm.vue +278 -0
  46. package/src/hdcom/HdFormBtn.vue +89 -0
  47. package/src/hdcom/HdFormItem.vue +35 -0
  48. package/src/hdcom/HdGctosGrid +0 -0
  49. package/src/hdcom/HdGrid.vue +825 -0
  50. package/src/hdcom/HdGridEditBtn.vue +44 -0
  51. package/src/hdcom/HdGridExt.js +219 -0
  52. package/src/hdcom/HdGridSel.vue +223 -0
  53. package/src/hdcom/HdHeader.vue +148 -0
  54. package/src/hdcom/HdHotKey.vue +81 -0
  55. package/src/hdcom/HdInputHint.vue +49 -0
  56. package/src/hdcom/HdMain.vue +43 -0
  57. package/src/hdcom/HdMessage.vue +192 -0
  58. package/src/hdcom/HdNum.vue +69 -0
  59. package/src/hdcom/HdPopSel.vue +58 -0
  60. package/src/hdcom/HdRightMenu.vue +61 -0
  61. package/src/hdcom/HdSel/SelGridFieldcod.vue +36 -0
  62. package/src/hdcom/HdTableColumn.vue +334 -0
  63. package/src/hdcom/HdTempSave.vue +140 -0
  64. package/src/hdcom/HdTree.vue +86 -0
  65. package/src/hdcom/HdTreeTable/eval.js +32 -0
  66. package/src/hdcom/HdTreeTable/index.vue +174 -0
  67. package/src/hdcom/ImportExcel.vue +143 -0
  68. package/src/hdcom/PdfShow.vue +266 -0
  69. package/src/hdcom/index.js +80 -0
  70. package/src/idev.common.js +72 -0
  71. package/src/index.js +13 -0
  72. package/src/utils/HdQuery.js +54 -0
  73. package/src/utils/comutils.js +98 -0
  74. package/src/utils/utils.js +105 -0
  75. package/src/vendor/Blob.js +179 -0
  76. package/src/vendor/Export2Excel.js +220 -0
  77. package/src/vendor/Export2Zip.js +22 -0
  78. package/src/views/layout/AppMain.vue +32 -0
  79. package/src/views/layout/HdLayout.vue +78 -0
  80. package/src/views/layout/header/ElasticSearch.vue +225 -0
  81. package/src/views/layout/header/HZRecorder.js +231 -0
  82. package/src/views/layout/header/HeaderSearch.vue +198 -0
  83. package/src/views/layout/header/Levelbar.vue +49 -0
  84. package/src/views/layout/header/MainHeader.vue +271 -0
  85. package/src/views/layout/header/Navbar.vue +105 -0
  86. package/src/views/layout/header/ScrollPane.vue +81 -0
  87. package/src/views/layout/header/TagsView.vue +210 -0
  88. package/src/views/layout/header/VocRec.vue +97 -0
  89. package/src/views/layout/header/changepswform.vue +96 -0
  90. package/src/views/layout/index.js +12 -0
  91. package/src/views/layout/menu/Hamburger.vue +45 -0
  92. package/src/views/layout/menu/HdMenu.vue +167 -0
  93. package/src/views/layout/menu/css/menu.css +288 -0
  94. package/src/views/layout/menu/index.vue +25 -0
  95. package/src/views/privilege/commsg/commsg.vue +78 -0
  96. package/src/views/privilege/commsg/commsgOrgn.vue +42 -0
  97. package/src/views/privilege/commsg/commsgRole.vue +149 -0
  98. package/src/views/privilege/commsg/commsgform.vue +160 -0
  99. package/src/views/privilege/commsg/commsgiframe.vue +33 -0
  100. package/src/views/privilege/commsg/commsgto.vue +120 -0
  101. package/src/views/privilege/commsg/commsgtoform.vue +108 -0
  102. package/src/views/privilege/commsg/commsgtrans.vue +155 -0
  103. package/src/views/privilege/exfield/comexcolumn.vue +71 -0
  104. package/src/views/privilege/exfield/comexcolumnform.vue +101 -0
  105. package/src/views/privilege/exfield/comexfield.vue +31 -0
  106. package/src/views/privilege/exfield/comexfieldform.vue +94 -0
  107. package/src/views/privilege/exfield/comexfieldsub.vue +72 -0
  108. package/src/views/privilege/index.js +42 -0
  109. package/src/views/privilege/menu/comMenu.vue +41 -0
  110. package/src/views/privilege/menu/menu.vue +133 -0
  111. package/src/views/privilege/menu/menuinfo.vue +56 -0
  112. package/src/views/privilege/menu/rolelist.vue +47 -0
  113. package/src/views/privilege/menu/userlist.vue +49 -0
  114. package/src/views/privilege/mobile/authmobileupdate.vue +69 -0
  115. package/src/views/privilege/mobile/authmobileupdateform.vue +90 -0
  116. package/src/views/privilege/orgDept/authOrgn.vue +96 -0
  117. package/src/views/privilege/orgDept/authorgnform.vue +145 -0
  118. package/src/views/privilege/orgDept/orgDept.vue +37 -0
  119. package/src/views/privilege/orgDept/orgTree.vue +88 -0
  120. package/src/views/privilege/orgDept/orgnselect.vue +134 -0
  121. package/src/views/privilege/personDept/authuser.vue +123 -0
  122. package/src/views/privilege/personDept/authuserform.vue +154 -0
  123. package/src/views/privilege/personDept/facerec.vue +117 -0
  124. package/src/views/privilege/personDept/orgncascader.vue +125 -0
  125. package/src/views/privilege/personDept/personDept.vue +31 -0
  126. package/src/views/privilege/quartz/comquartzjob.vue +65 -0
  127. package/src/views/privilege/quartz/comquartzjobform.vue +99 -0
  128. package/src/views/privilege/quartz/comquartzlog.vue +59 -0
  129. package/src/views/privilege/role/btnRole.vue +117 -0
  130. package/src/views/privilege/role/menuRole.vue +64 -0
  131. package/src/views/privilege/role/orgnRole.vue +56 -0
  132. package/src/views/privilege/role/role.vue +67 -0
  133. package/src/views/privilege/role/rolelist.vue +67 -0
  134. package/src/views/privilege/role/roleselect.vue +57 -0
  135. package/src/views/privilege/search/comsearch.vue +105 -0
  136. package/src/views/privilege/search/menu.vue +52 -0
  137. package/src/views/privilege/syscode/syscode.vue +103 -0
  138. package/src/views/privilege/syscode/sysfield.vue +66 -0
  139. package/src/views/privilege/syscode/sysfieldframe.vue +30 -0
  140. package/src/views/privilege/syslog/menulog.vue +52 -0
  141. package/src/views/privilege/syslog/syslog.vue +115 -0
  142. package/src/views/privilege/syslog/syslogconfig.vue +61 -0
  143. package/src/views/privilege/syslog/syslogform.vue +83 -0
  144. package/src/views/privilege/syslog/syslogframe.vue +26 -0
  145. package/src/views/privilege/userRole/userRole.vue +122 -0
  146. package/src/views/privilege.zip +0 -0
  147. package/vite.config.js +118 -0
  148. package/.babelrc +0 -17
  149. package/.editorconfig +0 -14
  150. package/.eslintignore +0 -3
  151. package/.npminstall.done +0 -1
  152. package/.postcssrc.js +0 -8
  153. package/LICENSE +0 -21
  154. package/Listening +0 -28
  155. package/build/build.js +0 -70
  156. package/build/check-versions.js +0 -45
  157. package/build/config.js +0 -81
  158. package/build/dev-client.js +0 -9
  159. package/build/dev-server.js +0 -93
  160. package/build/utils.js +0 -78
  161. package/build/vue-loader.conf.js +0 -12
  162. package/build/webpack.common.js +0 -37
  163. package/build/webpack.component.js +0 -36
  164. package/build/webpack.prod.conf.js +0 -38
  165. package/components.json +0 -8
  166. package/conf.js +0 -42
  167. package/config/dev.env.js +0 -6
  168. package/config/index.js +0 -43
  169. package/config/prod.env.js +0 -6
  170. package/config/sit.env.js +0 -6
  171. package/favicon.ico +0 -0
  172. package/jsdoc-vue.js +0 -12
  173. package/lib/0.index.js +0 -12573
  174. package/lib/1.index.js +0 -6
  175. package/lib/2.index.js +0 -2
  176. package/lib/idev.common.js +0 -1
  177. package/lib/idv8.common.js +0 -1
  178. package/lib/index.js +0 -49170
  179. package/lib/js/ErrHint.js +0 -1
  180. package/lib/js/HdAside.js +0 -1
  181. package/lib/js/HdBtn.js +0 -1
  182. package/lib/js/HdButton.js +0 -1
  183. package/lib/js/HdComFaceRec.js +0 -1
  184. package/lib/js/HdComGrid.js +0 -1
  185. package/lib/js/HdDatePicker.js +0 -1
  186. package/lib/js/HdDialog.js +0 -1
  187. package/lib/js/HdDrop.js +0 -1
  188. package/lib/js/HdFileUpload.js +0 -1
  189. package/lib/js/HdFooter.js +0 -1
  190. package/lib/js/HdForm.js +0 -1
  191. package/lib/js/HdFormBtn.js +0 -1
  192. package/lib/js/HdFormItem.js +0 -1
  193. package/lib/js/HdGrid.js +0 -1
  194. package/lib/js/HdGridEditBtn.js +0 -1
  195. package/lib/js/HdGridSel.js +0 -1
  196. package/lib/js/HdHeader.js +0 -1
  197. package/lib/js/HdHotkey.js +0 -1
  198. package/lib/js/HdLayout.js +0 -1
  199. package/lib/js/HdMain.js +0 -1
  200. package/lib/js/HdMessage.js +0 -1
  201. package/lib/js/HdNum.js +0 -1
  202. package/lib/js/HdPopSel.js +0 -1
  203. package/lib/js/HdSearch.js +0 -1
  204. package/lib/js/HdTableColumn.js +0 -1
  205. package/lib/js/HdTempSave.js +0 -1
  206. package/lib/js/HdTree.js +0 -1
  207. package/lib/js/HdTreeTable.js +0 -1
  208. package/lib/js/authmobileupdate.js +0 -1
  209. package/lib/js/comexfield.js +0 -1
  210. package/lib/js/commsg.js +0 -1
  211. package/lib/js/commsgto.js +0 -1
  212. package/lib/js/comquartzjob.js +0 -1
  213. package/lib/js/comquartzlog.js +0 -1
  214. package/lib/js/comsearch.js +0 -1
  215. package/lib/js/menu.js +0 -1
  216. package/lib/js/menuinfo.js +0 -1
  217. package/lib/js/orgDept.js +0 -1
  218. package/lib/js/orgTree.js +0 -1
  219. package/lib/js/personDept.js +0 -1
  220. package/lib/js/role.js +0 -1
  221. package/lib/js/sysfieldframe.js +0 -1
  222. package/lib/js/syslog.js +0 -1
  223. package/lib/js/syslogframe.js +0 -1
  224. package/lib/js/userRole.js +0 -1
  225. package/npminstall-debug.log +0 -200
  226. package/ytgvue.rar +0 -0
@@ -0,0 +1,42 @@
1
+ import sysfieldframe from './syscode/sysfieldframe'
2
+ import menu from './menu/menu'
3
+ import menuinfo from './menu/menuinfo'
4
+ import userRole from './userRole/userRole'
5
+ import role from './role/role'
6
+ import orgDept from './orgDept/orgDept'
7
+ import personDept from './personDept/personDept'
8
+ import orgTree from './orgDept/orgTree.vue'
9
+ import commsg from './commsg/commsg.vue'
10
+ import commsgto from './commsg/commsgto.vue'
11
+ import syslog from './syslog/syslog.vue'
12
+ import syslogframe from './syslog/syslogframe.vue'
13
+ import comquartzlog from './quartz/comquartzlog.vue'
14
+ import comquartzjob from './quartz/comquartzjob.vue'
15
+ import comsearch from './search/comsearch.vue'
16
+ import authmobileupdate from './mobile/authmobileupdate.vue'
17
+ import comexfield from './exfield/comexfieldsub.vue'
18
+ import comexcolumn from './exfield/comexcolumn.vue'
19
+
20
+ export default {
21
+ install(Vue) {
22
+ Vue.component('PrivilegeSyscode', sysfieldframe)
23
+ Vue.component('PrivilegeMenu', menu)
24
+ Vue.component('MenuInfo', menuinfo)
25
+ Vue.component('PrivilegeRole', role)
26
+ Vue.component('PrivilegeOrgDept', orgDept)
27
+ Vue.component('PrivilegePersonDept', personDept)
28
+ Vue.component('PrivilegeUserRole', userRole)
29
+ Vue.component('PrivilegeComMsg', commsg)
30
+ Vue.component('PrivilegeComMsgTo', commsgto)
31
+ // Vue.component('orgTree', orgTree) // 树组件
32
+ Vue.component('SysLog', syslog) // 日志
33
+ Vue.component('SysLogConfig', syslogframe) // 日志设置
34
+ Vue.component('QuartzLog', comquartzlog) //
35
+ Vue.component('QuartzJob', comquartzjob) //
36
+ Vue.component('Search', comsearch) //
37
+ Vue.component('AuthMobileUpdate', authmobileupdate) //
38
+ Vue.component('ComExField', comexfield) //
39
+ Vue.component('ComExColumn', comexcolumn) //
40
+ }
41
+ }
42
+
@@ -0,0 +1,41 @@
1
+ <template>
2
+
3
+ <hd-tree :data="hdTree" v-loading="listLoading" node-key="id" ref="menuTree" style="height: 100%"
4
+ @node-click="selMenu"></hd-tree>
5
+
6
+ </template>
7
+ <script>
8
+
9
+ import btnRole from '../role/btnRole'
10
+ import rolelist from '../role/rolelist'
11
+
12
+ export default {
13
+ components: {
14
+ rolelist, btnRole
15
+ },
16
+ name: 'comMenu',
17
+ data: function() {
18
+ return {
19
+ hdTree: [],
20
+ listLoading: false
21
+ }
22
+ },
23
+ mounted() {
24
+ this.doQuery()
25
+ },
26
+ methods: {
27
+ doQuery() { // 有权限的菜单树
28
+ this.listLoading = true
29
+
30
+ this.$http.get(`../webresources/login/privilege/AuthRole/findtreeforrole`).then(response => {
31
+ const data = response.data
32
+ this.hdTree = data
33
+ this.listLoading = false
34
+ })
35
+ },
36
+ selMenu(node) {
37
+ this.$emit('selMenu', node)
38
+ }
39
+ }
40
+ }
41
+ </script>
@@ -0,0 +1,133 @@
1
+ <template>
2
+ <el-container>
3
+ <!--快捷键-->
4
+ <!--<hd-hot-key :keyMap="['alt','e']" btnRef="add"></hd-hot-key>-->
5
+ <!--<hd-hot-key :keyMap="['alt','d']" btnRef="del"></hd-hot-key>-->
6
+ <el-aside width="260px" style="border-right: 1px solid #eee">
7
+ <hd-tree :data="data" @node-click="handleNodeClick" node-key="id"></hd-tree>
8
+ </el-aside>
9
+ <el-main>
10
+
11
+ <hd-com-grid ref="grid" :hdQuery="hdQuery" url="/webresources/login/privilegeVue" :validate="validate"
12
+ :findUrl="findUrl" :findoneUrl="findoneUrl">
13
+ <div class="filter-container" slot="query">
14
+ <el-button class="filter-item" @click="doEdit()"  type="primary" ref="add" keyType="add">{{$t('新增')}}
15
+ </el-button>
16
+ <el-button class="filter-item" @click="$refs.grid.doRemoveAll()" type="danger" ref="del"
17
+ keyType="del">{{$t('删除')}}
18
+ </el-button>
19
+ </div>
20
+ <el-table-column width="60px" align="center" label="操作" fixed="right">
21
+ <template slot-scope="scope">
22
+ <hd-btn icon="el-icon-edit" hint="编辑" @click.stop="doEdit(scope.row)" v-if="!scope.row.isEdit"></hd-btn>
23
+ <hd-btn icon="el-icon-check" hint="保存" @click.stop="$refs.grid.doSave(scope.row)" v-if="scope.row.isEdit">
24
+ </hd-btn>
25
+ <!--hd-btn不能写icon-->
26
+ <hd-btn hint="撤销" @click.stop="$refs.grid.doCancel(scope.row,scope.$index)" v-if="scope.row.isEdit">
27
+ <svg-icon icon-class="undo"/>
28
+ </hd-btn>
29
+ <hd-btn icon="el-icon-delete" hint="删除" @click.stop="$refs.grid.doRemove(scope.row)"
30
+ v-if="!scope.row.isEdit">
31
+ </hd-btn>
32
+ </template>
33
+ </el-table-column>
34
+ <el-table-column width="100px" align="left" header-align="center" label="权限名" prop="text" :rules="$r(1,0,50)"
35
+ sortable>
36
+ </el-table-column>
37
+ <el-table-column width="100px" align="left" header-align="center" label="英文名" prop="enText" sortable>
38
+ </el-table-column>
39
+ <el-table-column width="400px" align="left" header-align="center" label="URL" prop="url" sortable>
40
+ </el-table-column>
41
+ <el-table-column width="60px" align="right" header-align="center" label="排序" prop="sorter" sortable>
42
+ <template slot-scope="scope">
43
+ <el-input type="number" v-model.numebr="scope.row.sorter" v-if="scope.row.isEdit"></el-input>
44
+ <span v-else>{{scope.row.sorter}}</span>
45
+ </template>
46
+ </el-table-column>
47
+ <el-table-column align="center" label="使用" prop="state" sortable>
48
+ <template slot-scope="scope">
49
+ <el-switch v-model="scope.row.state" v-if="scope.row.isEdit" active-value="open"
50
+ inactive-value="closed"></el-switch>
51
+ <span v-else>{{scope.row.state == 'open' ? '√' : '×'}}</span>
52
+ </template>
53
+ </el-table-column>
54
+ <el-table-column width="100px" align="center" label="tab打开" prop="openType" sortable>
55
+ <template slot-scope="scope">
56
+ <!--easyui版本为0 tab 1 iframe 2 window-->
57
+ <el-switch v-model="scope.row.openType" v-if="scope.row.isEdit" active-value="0"
58
+ inactive-value="2"></el-switch>
59
+ <span v-else>{{scope.row.openType == '0' ? '√' : '×'}}</span>
60
+ </template>
61
+ </el-table-column>
62
+ <el-table-column align="left" header-align="center" label="图标" prop="iconCls" width="100px">
63
+ <template slot-scope="scope">
64
+ <el-input type="text" v-model="scope.row.iconCls" v-if="scope.row.isEdit"></el-input>
65
+ <span v-else>{{scope.row.iconCls}}</span>
66
+ </template>
67
+ </el-table-column>
68
+ <el-table-column width="200px" align="left" header-align="center" label="备注" prop="description" sortable>
69
+ <template slot-scope="scope">
70
+ <el-input type="text" v-model="scope.row.description" v-if="scope.row.isEdit"></el-input>
71
+ <span v-else>{{scope.row.description}}</span>
72
+ </template>
73
+ </el-table-column>
74
+ </hd-com-grid>
75
+ </el-main>
76
+ </el-container>
77
+ </template>
78
+ <script>
79
+
80
+ export default {
81
+ data() {
82
+ return {
83
+ data: [],
84
+ parentId: '', // 选中的树节点
85
+ hdQuery: new HdQuery(this)
86
+
87
+ }
88
+ },
89
+ mounted() {
90
+ this.doQuery()
91
+ // this.$refs.grid.doEdit = function () { 重写doEdit
92
+ // console.info(this.$options.name)
93
+ // }
94
+ },
95
+ methods: {
96
+ doQuery() {
97
+ this.$http.post('/webresources/login/privilege/AuthPrivilege/getAllTree').then(response => {
98
+ this.data = response.data
99
+ })
100
+ },
101
+ doListQuery() {
102
+ this.hdQuery.query.parentId = this.parentId
103
+ this.$refs.grid.doQuery()
104
+ },
105
+ handleNodeClick(obj) {
106
+ this.parentId = obj.id
107
+ this.doListQuery()
108
+ },
109
+ doEdit(row) {
110
+ if (!row && !this.parentId) { // 新增
111
+ this.$message({
112
+ type: 'error',
113
+ message: this.$t('未选择数据')
114
+ })
115
+ return false
116
+ }
117
+ // 调用父组件的
118
+ this.$refs.grid.doEdit(row)
119
+ }
120
+ },
121
+ computed: {// 给外层v-model赋值
122
+ validate() {
123
+ return { text: [{ message: this.$t('权限名必填'), required: true }, { max: 50, message: this.$t('名称长度不能超过50个字符') }] }
124
+ },
125
+ findUrl() { // 因为查询的路径和默认的不一致,如果代码生成器生成其实不需要写
126
+ return '/webresources/login/privilege/AuthPrivilege/find'
127
+ },
128
+ findoneUrl() { // 需要关联节点,所以需要写url,普通列表也不需要写
129
+ return '/webresources/login/privilegeVue/findone?parentId=' + this.parentId
130
+ }
131
+ }
132
+ }
133
+ </script>
@@ -0,0 +1,56 @@
1
+ <template>
2
+ <el-container>
3
+ <el-aside style="border-right: 1px solid #eee" width="260px">
4
+ <hd-tree :data="data" @node-click="handleNodeClick" node-key="id"></hd-tree>
5
+ </el-aside>
6
+ <el-main>
7
+ <el-tabs v-model="activeTab">
8
+ <el-tab-pane :label="$t('角色')" name="role">
9
+ <rolelist ref="rolelist"></rolelist>
10
+ </el-tab-pane>
11
+ <el-tab-pane :label="$t('用户')" name="user">
12
+ <userlist ref="userlist"></userlist>
13
+ </el-tab-pane>
14
+ </el-tabs>
15
+ </el-main>
16
+ </el-container>
17
+ </template>
18
+ <script>
19
+
20
+ import userlist from "./userlist";
21
+ import rolelist from "./rolelist";
22
+
23
+ export default {
24
+ components: {
25
+ rolelist,
26
+ userlist},
27
+ data() {
28
+ return {
29
+ data: [],
30
+ hdQuery: new HdQuery(this),
31
+ activeTab: 'role'
32
+ }
33
+ },
34
+ mounted() {
35
+ this.doQuery()
36
+ },
37
+ methods: {
38
+ doQuery() {
39
+ this.$http.post('/webresources/login/privilege/AuthPrivilege/getAllTree').then(response => {
40
+ this.data = response.data
41
+ })
42
+ },
43
+ handleNodeClick(obj) {
44
+ if(!obj.url) {
45
+ this.$refs.userlist.query('xxx');
46
+ return;
47
+ }
48
+ if(this.activeTab === 'role') {
49
+ this.$refs.rolelist.query(obj.id);
50
+ } else if(this.activeTab === 'user') {
51
+ this.$refs.userlist.query(obj.id);
52
+ }
53
+ },
54
+ },
55
+ }
56
+ </script>
@@ -0,0 +1,47 @@
1
+ <template>
2
+ <hd-com-grid ref="grid" :hdQuery="hdQuery" findUrl="/webresources/login/privilege/AuthPrivilege/role/find" notInit>
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.name">
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
+ </div>
11
+ <el-table-column width="120px" align="left" header-align="center" label="名称" prop="name" sortable>
12
+ </el-table-column>
13
+ <el-table-column width="170px" align="left" header-align="center" label="所属部门" prop="orgnStr" noEdit>
14
+ </el-table-column>
15
+ <el-table-column width="150px" align="left" header-align="center" label="描述" prop="description">
16
+ </el-table-column>
17
+ <el-table-column width="100px" align="center" label="管理员" prop="isAdmin" input="el-switch"
18
+ v-if="$store.state.user.isAdmin"
19
+ :inputProp='{activeValue:"1", inactiveValue:"0"}' :inputFormat='$ckFt' sortable>
20
+ </el-table-column>
21
+ </hd-com-grid>
22
+ </template>
23
+ <script>
24
+ import orgnselect from '../orgDept/orgnselect'
25
+ export default {
26
+ name: 'rolelist',
27
+ components: {
28
+ orgnselect
29
+ },
30
+ data: function () {
31
+ return {
32
+ hdQuery: new HdQuery(this)
33
+ }
34
+ },
35
+ mounted() {
36
+ },
37
+ methods: {
38
+ query(p) {
39
+ this.hdQuery.query.privilegeId = p;
40
+ this.doQuery();
41
+ },
42
+ doQuery() {
43
+ this.$refs.grid.doQuery()
44
+ },
45
+ }
46
+ }
47
+ </script>
@@ -0,0 +1,49 @@
1
+ <template>
2
+ <hd-com-grid ref="grid" :hdQuery="hdQuery" findUrl="/webresources/login/privilege/AuthPrivilege/user/find" notInit>
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.name">
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
+ </div>
11
+ <el-table-column align="left" header-align="center" label="姓名" prop="name" sortable width="100px">
12
+ </el-table-column>
13
+ <el-table-column align="left" header-align="center" label="账号" prop="account" sortable width="100px">
14
+ </el-table-column>
15
+ <!-- <el-table-column :input="require('../orgDept/orgnselect').default" :inputFormat="(result, row)=>row.orgnName" align="left" header-align="center" label="部门" prop="orgnId"
16
+ sortable width="180px">-->
17
+ </el-table-column>
18
+ <el-table-column align="center" label="账号过期日期" prop="accountPassDate" sortable width="auto">
19
+ </el-table-column>
20
+ <el-table-column align="center" label="密码修改时间" prop="pwModifyTim" sortable width="auto">
21
+ </el-table-column>
22
+ </hd-com-grid>
23
+ </template>
24
+ <script>
25
+ import orgnselect from '../orgDept/orgnselect'
26
+
27
+ export default {
28
+ name: 'userlist',
29
+ components: {
30
+ orgnselect
31
+ },
32
+ data: function () {
33
+ return {
34
+ hdQuery: new HdQuery(this)
35
+ }
36
+ },
37
+ mounted() {
38
+ },
39
+ methods: {
40
+ query(p) {
41
+ this.hdQuery.query.privilegeId = p;
42
+ this.doQuery();
43
+ },
44
+ doQuery() {
45
+ this.$refs.grid.doQuery()
46
+ },
47
+ }
48
+ }
49
+ </script>
@@ -0,0 +1,69 @@
1
+ <template>
2
+ <el-container>
3
+ <el-main>
4
+
5
+ <hd-com-grid :defaultSort="{prop: 'versionNo', order: 'descending'}" :hdQuery="hdQuery" ref="grid"
6
+ url="/webresources/login/mobile/AuthMobileUpdate">
7
+ <div class="filter-container" slot="query">
8
+ <el-input @keyup.enter.native="doQuery" class="filter-item" :placeholder="$t('名称')" style="width: 200px;"
9
+ v-model="hdQuery.query.anyQuery">
10
+ </el-input>
11
+ <el-button @click="$refs.grid.doQuery()" class="filter-item" icon="search" keyType="query"
12
+ type="primary">{{$t('搜索')}}
13
+ </el-button>
14
+ <el-button @click="doEdit('')" class="filter-item" icon="edit" keyType="add" 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
+ </div>
19
+ <el-table-column align="center" fixed="right" label="操作" width="100px">
20
+ <template slot-scope="scope">
21
+ <hd-btn @click.stop="doEdit(scope.row.updateId)" hint="编辑" icon="el-icon-edit"></hd-btn>
22
+ <hd-btn @click.stop="$refs.grid.doRemove(scope.row)" hint="删除" icon="el-icon-delete"></hd-btn>
23
+ <hd-btn @click.stop="upload(scope.row)" hint="apk管理" icon="el-icon-upload"></hd-btn>
24
+ </template>
25
+ </el-table-column>
26
+ <el-table-column align="center" label="版本号" prop="versionNo" sortable width="100px">
27
+ </el-table-column>
28
+ <el-table-column align="center" label="更新信息" prop="updateMsg" sortable width="200px">
29
+ </el-table-column>
30
+ <el-table-column align="center" label="备注" prop="remark" sortable width="200px">
31
+ </el-table-column>
32
+
33
+ <el-table-column align="center" label="强制升级" prop="isMust" sortable width="100px">
34
+ </el-table-column>
35
+ </hd-com-grid>
36
+ </el-main>
37
+ <authmobileupdateform @save-ok="saveOk" ref="authmobileupdateform"></authmobileupdateform>
38
+ <HdFileUpload :multiple="false" accept="apk" limit="1" ref="upload"></HdFileUpload>
39
+ </el-container>
40
+ </template>
41
+ <script>
42
+ import authmobileupdateform from './authmobileupdateform'
43
+
44
+ export default {
45
+ name: 'authmobileupdate',
46
+ components: {authmobileupdateform},
47
+ data() {
48
+ return {
49
+ hdQuery: new HdQuery(this),
50
+ }
51
+ },
52
+
53
+ mounted() {
54
+
55
+ },
56
+ methods: {
57
+ saveOk(row) { // 增加或编辑
58
+ this.$refs.grid.doQuery()
59
+ this.upload(row)
60
+ },
61
+ doEdit(updateId) { // 增加或编辑
62
+ this.$refs['authmobileupdateform'].show(updateId)
63
+ },
64
+ upload(row) {
65
+ this.$refs['upload'].open("AuthMobileUpdate", row.updateId, true)
66
+ }
67
+ }
68
+ }
69
+ </script>
@@ -0,0 +1,90 @@
1
+ <template>
2
+ <el-dialog :visible.sync="visible" title="编辑" width='60%'>
3
+ <el-form :model="hdform" label-width="100px" ref="hdform">
4
+ <el-row>
5
+ <el-col :span="8" :xs="16">
6
+ <el-form-item :rules="$r(1,0,36)" label="版本号" prop="versionNo">
7
+ <el-input :clearable="false" type="text" v-model="hdform.versionNo">
8
+ <hd-btn hint="版本号使用字符串排序,请确保版本号是最大的,并且上传的apk的版本号必须和本版号一致" icon="el-icon-question" slot="suffix"></hd-btn>
9
+ </el-input>
10
+ </el-form-item>
11
+ </el-col>
12
+ <el-col :span="8" :xs="16">
13
+ <el-form-item :rules="$r(0,0,1)" label="强制升级" prop="isMust">
14
+ <el-switch active-value="1" inactive-value="0" v-model="hdform.isMust"></el-switch>
15
+ </el-form-item>
16
+ </el-col>
17
+ <el-col :span="22" :xs="22">
18
+ <el-form-item :rules="$r(0,0,2048)" label="更新信息(提示用户)" prop="updateMsg">
19
+ <el-input :rows="6" type="textarea" v-model="hdform.updateMsg"></el-input>
20
+ </el-form-item>
21
+ </el-col>
22
+ <!--<el-col :span="8" :xs="16">-->
23
+ <!--<el-form-item :rules="$r(0,0,1)" label="强制升级" prop="isMust">-->
24
+ <!--<el-switch active-value="1" inactive-value="0" v-model="hdform.isMust"></el-switch>-->
25
+ <!--</el-form-item>-->
26
+ <!--</el-col>-->
27
+ <el-col :span="22" :xs="22">
28
+ <el-form-item :rules="$r(0,0,512)" label="备注" prop="remark">
29
+ <el-input :rows="6" type="textarea" v-model="hdform.remark"></el-input>
30
+ </el-form-item>
31
+ </el-col>
32
+ </el-row>
33
+ </el-form>
34
+ <div class="dialog-footer" slot="footer">
35
+ <el-button @click="visible = false">{{$t('取 消')}}</el-button>
36
+ <el-button :loading="loading" @click="submit" type="primary"> {{$t('确 定')}}</el-button>
37
+ </div>
38
+ </el-dialog>
39
+
40
+ </template>
41
+
42
+ <script>
43
+ export default {
44
+ name: 'authmobileupdateform',
45
+ data() {
46
+ return {
47
+ hdform: {},
48
+ visible: false,
49
+ tsLoading: false,
50
+ loading: false
51
+
52
+ }
53
+ },
54
+ methods: {
55
+ show(updateId) { // 换为本表主键
56
+ //弹窗重复使用时,清除校验项目
57
+ if (this.$refs['hdform'])
58
+ this.$refs['hdform'].resetFields()
59
+ this.visible = true
60
+ this.$http.get('/webresources/login/mobile/AuthMobileUpdate/findone?updateId=' + updateId).then(response => {
61
+ const data = response.data
62
+ this.hdform = data
63
+ })
64
+ },
65
+
66
+ submit() {
67
+ // console.debug(this.hdform)
68
+ this.$refs['hdform'].validate((valid) => {
69
+ if (!valid) {
70
+ return false;
71
+ }
72
+ this.loading = true
73
+ this.$http.post('/webresources/login/mobile/AuthMobileUpdate/saveone', this.hdform).then(response => {
74
+ this.loading = false
75
+ const data = response.data
76
+ this.$message({
77
+ type: 'success',
78
+ message: this.$t('保存成功,请上传app')
79
+ })
80
+ this.$emit('save-ok', data.data) // 主页面调用弹窗时添加
81
+ this.visible = false
82
+ }).catch(() => {
83
+ this.loading = false
84
+ })
85
+ })
86
+ }
87
+ }
88
+ }
89
+ </script>
90
+
@@ -0,0 +1,96 @@
1
+ <template>
2
+ <el-container>
3
+ <el-main>
4
+
5
+ <hd-com-grid ref="grid" :hdQuery="hdQuery" url="/webresources/login/privilege/AuthOrgn" :removeUrl="removeUrl"
6
+ :defaultSort="{prop: 'sorter', order: 'ascending'}" readForm genChart>
7
+ <div class="filter-container" slot="query">
8
+ <el-input @keyup.enter.native="$refs.grid.doQuery()" style="width: 200px;" class="filter-item"
9
+ :placeholder="$t('名称')"
10
+ v-model="hdQuery.query.anyQuery">
11
+ </el-input>
12
+ <el-button @click="$refs.grid.doQuery()" keyType="query">{{$t('搜索')}}</el-button>
13
+ <el-button class="filter-item" @click="doEdit('')" type="primary" keyType="add">{{$t('新增')}}
14
+ </el-button>
15
+ <el-button class="filter-item" @click="$refs.grid.doRemoveAll()" type="danger" keyType="del">{{$t('删除')}}
16
+ </el-button>
17
+ </div>
18
+ <el-table-column width="100px" align="center" label="操作" fixed="right">
19
+ <template slot-scope="scope">
20
+ <hd-btn icon="el-icon-edit" hint="编辑" @click.stop="doEdit(scope.row)"></hd-btn>
21
+ <hd-btn icon="el-icon-delete" hint="删除" @click.stop="doRemove(scope.row)"></hd-btn>
22
+ </template>
23
+ </el-table-column>
24
+
25
+ <el-table-column width="170px" align="left" header-align="center" label="名称" prop="name" sortable>
26
+ </el-table-column>
27
+ <el-table-column width="170px" align="left" header-align="center" label="编码" prop="orgnCod" sortable>
28
+ </el-table-column>
29
+ <el-table-column width="100px" align="left" header-align="center" label="英文名" prop="enName" sortable>
30
+ </el-table-column>
31
+ <el-table-column width="120px" align="left" header-align="center" label="简称" prop="shortNam" sortable>
32
+ </el-table-column>
33
+
34
+ <el-table-column width="100px" align="left" header-align="center" label="类型" prop="orgnTyp" sortable
35
+ input="hd-drop" :inputProp="{field:'ORGN_TYP'}" :inputFormat="(d,row)=>row.orgnTypStr">
36
+ </el-table-column>
37
+ <el-table-column width="150px" align="left" header-align="center" label="描述" prop="description" sortable>
38
+ </el-table-column>
39
+ <el-table-column width="60px" align="left" header-align="center" label="排序" prop="sorter" chartNum sortable>
40
+ </el-table-column>
41
+
42
+ </hd-com-grid>
43
+ </el-main>
44
+ <authorgnform ref="authorgnform" @change="change" :hdQuery="hdQuery"></authorgnform>
45
+ </el-container>
46
+ </template>
47
+ <script>
48
+ import authorgnform from './authorgnform'
49
+
50
+ export default {
51
+ name: 'authOrgn',
52
+ components: {authorgnform},
53
+ data() {
54
+ return {
55
+ removeUrl: '',
56
+ parentId: '',
57
+ hdQuery: new HdQuery(this)
58
+ }
59
+ },
60
+ mounted() {
61
+
62
+ },
63
+ methods: {
64
+ queryOrg(parentId) {
65
+ this.parentId = parentId
66
+ this.hdQuery.query.parentId = parentId
67
+ this.$refs.grid.doQuery()
68
+ },
69
+
70
+ doEdit(row) { // 增加或编辑
71
+ if (!row && !this.parentId) { // 新增
72
+ this.$message({
73
+ type: 'error',
74
+ message: this.$t('未选择数据')
75
+ })
76
+ return false
77
+ }
78
+ this.$refs['authorgnform'].show(row, this.parentId)
79
+ },
80
+ doRemove(row) {
81
+ // 为了兼容easyui,不能传对象到后台删除
82
+ this.removeUrl = '/webresources/login/privilege/AuthOrgn/remove?orgnId=' + row.orgnId
83
+ this.$refs.grid.doRemove(row).then(() => {
84
+ this.$emit('change', {
85
+ type: 'remove',
86
+ parentId: this.parentId,
87
+ data: {id: row.orgnId}
88
+ })
89
+ })
90
+ },
91
+ change: function (data) {
92
+ this.$emit('change', data)
93
+ }
94
+ }
95
+ }
96
+ </script>