sasp-admin 0.2.57

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 (141) hide show
  1. package/index.js +227 -0
  2. package/package.json +19 -0
  3. package/router.js +83 -0
  4. package/src/assets/font/iconfont.css +1346 -0
  5. package/src/assets/font/iconfont.eot +0 -0
  6. package/src/assets/font/iconfont.js +1 -0
  7. package/src/assets/font/iconfont.svg +827 -0
  8. package/src/assets/font/iconfont.ttf +0 -0
  9. package/src/assets/font/iconfont.woff +0 -0
  10. package/src/assets/images/loading-bar.gif +0 -0
  11. package/src/assets/js/adminInstall.js +36 -0
  12. package/src/assets/js/api/apiAdmin.js +613 -0
  13. package/src/assets/js/global/dataGlobal.js +260 -0
  14. package/src/assets/js/global/logGlobal.js +22 -0
  15. package/src/assets/js/global/paramGlobal.js +67 -0
  16. package/src/assets/js/global/resGlobal.js +91 -0
  17. package/src/assets/js/global/userGlobal.js +283 -0
  18. package/src/components/complexViewRendering.vue +601 -0
  19. package/src/components/ifmLink.vue +71 -0
  20. package/src/components/public/data/plDataCascader.vue +85 -0
  21. package/src/components/public/data/plDataRadio.vue +73 -0
  22. package/src/components/public/data/plDataRadioGroup.vue +70 -0
  23. package/src/components/public/data/plDataSelect.vue +856 -0
  24. package/src/components/public/data/plDatePicker.vue +159 -0
  25. package/src/components/public/org/bg.png +0 -0
  26. package/src/components/public/org/sysOrgPosUserSelect.vue +1237 -0
  27. package/src/components/public/org/sysOrgPosUserSelectDark.vue +1402 -0
  28. package/src/components/public/org/sysOrgPosUserSelectNew.vue +1527 -0
  29. package/src/components/public/upload/images/compress.png +0 -0
  30. package/src/components/public/upload/images/emipty.png +0 -0
  31. package/src/components/public/upload/images/excel.png +0 -0
  32. package/src/components/public/upload/images/file.png +0 -0
  33. package/src/components/public/upload/images/pdf.png +0 -0
  34. package/src/components/public/upload/images/powerpoint.png +0 -0
  35. package/src/components/public/upload/images/project.png +0 -0
  36. package/src/components/public/upload/images/sound.png +0 -0
  37. package/src/components/public/upload/images/txt.png +0 -0
  38. package/src/components/public/upload/images/video.png +0 -0
  39. package/src/components/public/upload/images/visio.png +0 -0
  40. package/src/components/public/upload/images/word.png +0 -0
  41. package/src/components/public/upload/plImage.vue +287 -0
  42. package/src/components/public/upload/plImgUpload.vue +137 -0
  43. package/src/components/public/upload/plUpload.vue +1124 -0
  44. package/src/components/public/upload/uploadImg.js +8 -0
  45. package/src/main.js +0 -0
  46. package/src/views/VueMenuView.vue +143 -0
  47. package/src/views/cloudMenuView.vue +125 -0
  48. package/src/views/complex/config/complex.vue +501 -0
  49. package/src/views/complex/config/complexSetting.vue +1250 -0
  50. package/src/views/complex/rendering/complexShow.vue +16 -0
  51. package/src/views/data/dataManage.vue +560 -0
  52. package/src/views/data/sysData.vue +292 -0
  53. package/src/views/event/eventManager/vueEventDiy.vue +1184 -0
  54. package/src/views/event/eventManager/vueEventMain.vue +108 -0
  55. package/src/views/event/eventManager/vueEventSys.vue +296 -0
  56. package/src/views/event/js/apiEvent.js +22 -0
  57. package/src/views/fileLog/fileDownloadLog.vue +437 -0
  58. package/src/views/initData/initData.vue +4316 -0
  59. package/src/views/log/dblog/logdbDevelop.vue +306 -0
  60. package/src/views/log/dblog/logdbEnt.vue +331 -0
  61. package/src/views/log/dblog/logdbGov.vue +395 -0
  62. package/src/views/log/error/logError.vue +553 -0
  63. package/src/views/log/loginlog/logManageDevOrSup.vue +357 -0
  64. package/src/views/log/loginlog/logManageEnt.vue +343 -0
  65. package/src/views/log/loginlog/logManageGov.vue +328 -0
  66. package/src/views/log/sms/logSms.vue +308 -0
  67. package/src/views/menu/component/menuManageComponent.vue +2402 -0
  68. package/src/views/menu/component/menuModule.vue +449 -0
  69. package/src/views/menu/menuLocal.vue +223 -0
  70. package/src/views/menu/menuManage.vue +1135 -0
  71. package/src/views/menu/tenantMenuManage.vue +1132 -0
  72. package/src/views/menuRouter/cview/cviewShow.vue +18 -0
  73. package/src/views/menuRouter/cviewMenuRouter.vue +183 -0
  74. package/src/views/menuRouter/menuView.vue +132 -0
  75. package/src/views/menuRouter/urlMenuRouter.vue +160 -0
  76. package/src/views/org/entOrgTree.vue +1050 -0
  77. package/src/views/org/ownerMenu/ownerMenuTree.vue +269 -0
  78. package/src/views/org/safeValidate/safeValidate.vue +469 -0
  79. package/src/views/org/sysEntOrgUserDetail.vue +3390 -0
  80. package/src/views/org/sysOrgDimension.vue +832 -0
  81. package/src/views/org/sysOrgPosUserDetail.vue +1648 -0
  82. package/src/views/org/sysOrgPosUserTree.vue +1101 -0
  83. package/src/views/org/sysOrgTree.vue +864 -0
  84. package/src/views/param/sysParam.vue +987 -0
  85. package/src/views/preview/pdfViewer.vue +82 -0
  86. package/src/views/resources/js/resourcesCommon.js +137 -0
  87. package/src/views/resources/resRouter/resView.vue +161 -0
  88. package/src/views/resources/resourcesTabs.vue +82 -0
  89. package/src/views/resources/tabs/comp/pageResPreview.vue +309 -0
  90. package/src/views/resources/tabs/comp/pageResRegister.vue +1120 -0
  91. package/src/views/resources/tabs/dataResources.vue +843 -0
  92. package/src/views/resources/tabs/pageResources.vue +970 -0
  93. package/src/views/role/allowMenu.vue +148 -0
  94. package/src/views/role/authRole/authRole.vue +427 -0
  95. package/src/views/role/authRole/component/allocateSetting.vue +1056 -0
  96. package/src/views/role/authRole/component/authSetting.vue +1196 -0
  97. package/src/views/role/commonRole/commonRole.vue +677 -0
  98. package/src/views/role/commonRole/compoment/allocateRoleMenuSetting.vue +335 -0
  99. package/src/views/role/commonRole/compoment/authLinkMenuTree.vue +55 -0
  100. package/src/views/role/commonRole/compoment/authSettingNew.vue +190 -0
  101. package/src/views/role/commonRole/compoment/commonSetting.vue +1576 -0
  102. package/src/views/role/commonRole/compoment/commonSettingAdjust.vue +584 -0
  103. package/src/views/role/commonRole/compoment/commonSettingNew.vue +572 -0
  104. package/src/views/role/commonRole/compoment/roleMenuPower.vue +226 -0
  105. package/src/views/role/commonRole/compoment/roleMenuPowerSetting.vue +69 -0
  106. package/src/views/role/commonRole/compoment/roleMenuSetting.vue +365 -0
  107. package/src/views/role/commonRole/compoment/roleSourceSetting.vue +229 -0
  108. package/src/views/role/commonRole/tenantCommonRole.vue +768 -0
  109. package/src/views/role/role.vue +135 -0
  110. package/src/views/role/roleMenuOption.vue +898 -0
  111. package/src/views/role/roleSynchroRemind.vue +399 -0
  112. package/src/views/role/sysRole.vue +1525 -0
  113. package/src/views/role/viewMenuOptDetail.vue +182 -0
  114. package/src/views/sms/sendSms.vue +164 -0
  115. package/src/views/station/orgStation.vue +561 -0
  116. package/src/views/tenant/appContentManager.vue +938 -0
  117. package/src/views/tenant/appManager.vue +642 -0
  118. package/src/views/tenant/tenantRoleManager.vue +670 -0
  119. package/src/views/tenant/tenantUserManager.vue +615 -0
  120. package/src/views/threeinone/compoment/safeCascadeSelect.vue +327 -0
  121. package/src/views/threeinone/init/safeInitRegion.vue +203 -0
  122. package/src/views/threeinone/safeManager.vue +927 -0
  123. package/src/views/threeinone/safeMenuManage.vue +565 -0
  124. package/src/views/threeinone/safeOrgSpv.vue +364 -0
  125. package/src/views/threeinone/safeSpv/safeSpvLeftTree.vue +109 -0
  126. package/src/views/threeinone/safeSpv/safeSpvMain.vue +335 -0
  127. package/src/views/threeinone/safeSpvEconView.vue +569 -0
  128. package/src/views/threeinone/safeValidateRegion.vue +328 -0
  129. package/src/views/urlResource/urlResource.vue +856 -0
  130. package/src/views/user/empowerUser/empowerEntUserManage.vue +415 -0
  131. package/src/views/user/empowerUser/empowerOrgTree.vue +167 -0
  132. package/src/views/user/empowerUser/empowerUserList.vue +633 -0
  133. package/src/views/user/empowerUser/empowerUserListMenuDeatil.vue +656 -0
  134. package/src/views/user/empowerUser/empowerUserListViewMenuTree.vue +257 -0
  135. package/src/views/user/empowerUser/empowerUserManage.vue +99 -0
  136. package/src/views/user/stationUserManage.vue +934 -0
  137. package/src/views/user/userManage.vue +737 -0
  138. package/src/views/user/userMangement.vue +938 -0
  139. package/src/views/user/viewMenu/viewMenu.vue +113 -0
  140. package/src/views/versionupdatetool/versionUpdateTool.vue +225 -0
  141. package/src/views/versionupdatetool/versioninfomation/verisonInfomationManagement.vue +68 -0
@@ -0,0 +1,287 @@
1
+ <template>
2
+ <div class="avatar-uploader-container">
3
+ <p class="avater-uploader-title" v-if="!!title && !imageUrl">{{title}}</p>
4
+ <el-upload
5
+ class="avatar-uploader"
6
+ :action="actionUrl"
7
+ :accept="acceptFileType"
8
+ :disabled="isDisabled"
9
+ :show-file-list="false"
10
+ :http-request="onUpload" :style="imgStyls">
11
+ <img v-if="!!imageUrl" :src="imageUrl" :style="{'width':imgWidth+'px','height':imgHeight+'px'}" :onerror="defaultImg" class="avatar">
12
+ <i v-else class="el-icon-plus avatar-uploader-icon"></i>
13
+ </el-upload>
14
+ </div>
15
+ </template>
16
+
17
+ <script>
18
+ const operate = {
19
+ isLtSize(size, maxSize, unit){
20
+ const conversion = {
21
+ KB(size){
22
+ return (size / 1024);
23
+ },
24
+ MB(size){
25
+ return (size / 1024 / 1024);
26
+ },
27
+ GB(size){
28
+ return (size / 1024 / 1024 / 1024)
29
+ }
30
+ };
31
+ const converSize = conversion[unit](size);
32
+ return converSize < maxSize;
33
+ },
34
+ async getImgInfo(vm){
35
+ const res = await vm.axios.post(vm.api.baseUploadUrl+'viewFile', {fkId: vm.fkid});
36
+ if(!res || !res.data || res.data.constructor !== Array || res.data.length <= 0) return [];
37
+ return res.data;
38
+ }
39
+ };
40
+
41
+ export default {
42
+ name: "plImage",
43
+ props: {
44
+ imgWidth: {
45
+ type: Number,
46
+ default: 80
47
+ },
48
+ imgHeight: {
49
+ type: Number,
50
+ default: 80
51
+ },
52
+ title: {
53
+ type: String,
54
+ default: ''
55
+ },
56
+ maxSize: {
57
+ type: Number,
58
+ default: 5
59
+ },
60
+ unit: {
61
+ type: String,
62
+ default: 'MB'
63
+ },
64
+ fkid: {
65
+ type: String,
66
+ required: true
67
+ },
68
+ isDisabled:{
69
+ type:Boolean,
70
+ default:false
71
+ },
72
+ plFileType: {// 逗号分隔的文件类型,.doc,.jpg。。
73
+ type: String,
74
+ default: ""
75
+ },
76
+ onUploadSuccess:{
77
+ type:Function,
78
+ default:null
79
+ },
80
+ beforeUploadMethod:{
81
+ type:Function,
82
+ default:null
83
+ }
84
+ },
85
+ data() {
86
+ return {
87
+ imageUrl: '',
88
+ actionUrl: this.api.upload.uploadFile,
89
+ defaultImg:'this.src="'+require('./images/emipty.png')+'"',
90
+ acceptFileType: "", // 允许上传的文件类型
91
+ };
92
+ },
93
+ computed: {
94
+ imgStyls(){
95
+ return {
96
+ width: this.imgWidth+'px',
97
+ height: this.imgHeight+'px'
98
+ }
99
+ }
100
+ },
101
+
102
+ watch:{
103
+ fkid(){
104
+ this.initImageData();
105
+ }
106
+ },
107
+
108
+ created(){
109
+ this.initImageData();
110
+ },
111
+ methods: {
112
+ initImageData(){
113
+ const vm = this;
114
+ vm.imageUrl = '';
115
+ vm.acceptFileType = ""; // 允许上传的文件类型
116
+ vm.initSetting();
117
+
118
+ operate.getImgInfo(this).then(data => {
119
+ if(data.length > 0){
120
+ vm.imageUrl = vm.api.baseUploadUrl+'downloadFile?id='+data[0].id;
121
+ }
122
+ });
123
+ },
124
+ initSetting(){
125
+ if(!this.plFileType || this.plFileType == 'all'){
126
+ this.acceptFileType = ".jpg,.png,.gif";
127
+ }else if(this.plFileType.indexOf(".") != 0){
128
+ this.acceptFileType = "." + this.plFileType;
129
+ }else{
130
+ this.acceptFileType = this.plFileType;
131
+ }
132
+ },
133
+
134
+ beforeUpload(type, size, file) {
135
+ const vm = this;
136
+ if (this.acceptFileType) { // 判断上传类型
137
+ let fileSuffix = file.name.substring(file.name.lastIndexOf("."), file.name.length);
138
+ if (this.acceptFileType.indexOf(fileSuffix) == -1) {
139
+ this.$message.error('不支持' + fileSuffix + '文件类型!');
140
+ this.fileTypeValid = false;
141
+ return false;
142
+ }
143
+ }
144
+
145
+ const isLt = operate.isLtSize(size, vm.maxSize, vm.unit);
146
+
147
+ if (!isLt){
148
+ vm.$message.error('上传图片大小不能超过 ' + vm.maxSize + vm.unit + '!');
149
+ return false;
150
+ }
151
+
152
+ /*
153
+ ** 删除之前上传的图片
154
+ */
155
+ operate.getImgInfo(this).then(data => {
156
+ if(data.length > 0){
157
+ let ids = [];
158
+ data.forEach(item => {
159
+ ids.push(item.id)
160
+ });
161
+ vm.axios.defaults.headers={
162
+ 'Content-Type': 'application/x-www-form-urlencoded',
163
+ common: {
164
+ Authorization: (this.USER_GLOBAL.getLoginToken() || ""),
165
+ a:1,
166
+ b:2,
167
+ abc:123
168
+ }
169
+ };
170
+ vm.axios.post(vm.api.upload.deleteFilesById, {ids: ids.join(',')});
171
+ }
172
+ });
173
+
174
+ return true;
175
+ },
176
+ onUpload(item){
177
+ const file = item.file;
178
+ const action = item.action;
179
+ const vm = this;
180
+ let value = this.beforeFileUpload(file);
181
+ if(!value){
182
+ return;
183
+ }
184
+ if(this.beforeUpload(file.type, file.size,file)){
185
+ //组装参数
186
+ let formData = new FormData();
187
+ formData.append('file', file);
188
+ formData.append('fkId', vm.fkid);
189
+
190
+ //创建axios实例
191
+ vm.axios.defaults.headers=null;
192
+ const axiosInstance = vm.axios.create({
193
+ baseURL: vm.axios.defaults.baseURL,
194
+ timeout: 60000,
195
+ headers: {
196
+ 'Content-Type': 'multipart/form-data',
197
+ Authorization: (this.USER_GLOBAL.getLoginToken() || "")
198
+ },
199
+ transformRequest: [
200
+ function (data) {
201
+ return data;
202
+ }
203
+ ],
204
+ maxContentLength: 10000
205
+ });
206
+
207
+ //上传文件
208
+ axiosInstance.post(action, formData).then((res) =>{
209
+ vm.axios.defaults.headers={
210
+ 'Content-Type': 'application/x-www-form-urlencoded',
211
+ common: {
212
+ Authorization: (localStorage["Authorization" + (window.projectSuffix || "")] || ""),
213
+ a:1,
214
+ b:2,
215
+ abc:123
216
+ }
217
+ };
218
+ if(res&&res.data&&res.data.upload){
219
+ // 上传成功回调
220
+ vm.onUploadSuccess && vm.onUploadSuccess(file);
221
+ this.imageUrl = this.api.baseUploadUrl + "downloadFile?id=" + res.data.upload.id;
222
+ }
223
+ }).catch(() => {
224
+ vm.axios.defaults.headers={
225
+ 'Content-Type': 'application/x-www-form-urlencoded',
226
+ common: {
227
+ Authorization: (localStorage["Authorization" + (window.projectSuffix || "")] || ""),
228
+ a:1,
229
+ b:2,
230
+ abc:123
231
+ }
232
+ };
233
+ vm.$message.error('上传失败!');
234
+ });
235
+ }
236
+ },
237
+ beforeFileUpload(file){
238
+ if(this.beforeUploadMethod){
239
+ return this.beforeUploadMethod(file);
240
+ }
241
+ return true;
242
+ }
243
+ }
244
+ }
245
+ </script>
246
+
247
+ <style lang="scss">
248
+ .avatar-uploader-container{
249
+ display: inline-block;
250
+
251
+ .avater-uploader-title{
252
+ padding: 5px 0 2px 0;
253
+ text-align: center;
254
+ }
255
+
256
+ .avatar-uploader{
257
+ border: 1px dashed #d9d9d9;
258
+ border-radius: 6px;
259
+ cursor: pointer;
260
+ position: relative;
261
+ overflow: hidden;
262
+
263
+ &:hover{
264
+ border-color: #409EFF;
265
+ }
266
+
267
+ .avatar {
268
+ display: block;
269
+ }
270
+
271
+ .avatar-uploader-icon {
272
+ font-size: 28px;
273
+ color: #8c939d;
274
+ width: 80px;
275
+ height: 80px;
276
+ line-height: 80px;
277
+ text-align: center;
278
+ position: absolute;
279
+ top: 0;
280
+ left: 0;
281
+ right: 0;
282
+ bottom: 0;
283
+ margin: auto;
284
+ }
285
+ }
286
+ }
287
+ </style>
@@ -0,0 +1,137 @@
1
+ <template>
2
+ <div>
3
+ <el-upload
4
+ drag
5
+ :file-list="fileList"
6
+ :action="uploadUrl"
7
+ :disabled="isDisabled"
8
+ :before-remove="beforeRemove"
9
+ :before-upload="beforeUpload"
10
+ :on-success="onSuccess"
11
+ :on-preview="onPreview"
12
+ list-type="picture-card"
13
+ :http-request="uploadFileMethod"
14
+ multiple>
15
+ <i class="el-icon-plus"></i>
16
+ </el-upload>
17
+ <el-dialog :close-on-click-modal=false :visible.sync="dialogVisible">
18
+ <img width="100%" :src="dialogImageUrl" :onerror="defaultImg">
19
+ </el-dialog>
20
+ </div>
21
+ </template>
22
+
23
+ <script>
24
+ export default {
25
+ name: "pl-img-upload",
26
+ props: ["fkId", "fkType"],
27
+ data() {
28
+ return {
29
+ isDisabled: false,
30
+ fileFkId: "",
31
+ defaultImg:'this.src="'+require('./images/emipty.png')+'"',
32
+ uploadUrl: "",
33
+ fileList: []
34
+ }
35
+ },
36
+
37
+ watch: {
38
+ fkId() {
39
+ this.initUpload();
40
+ },
41
+ fkType() {
42
+ this.initUpload();
43
+ }
44
+ },
45
+
46
+ created() {
47
+ this.initUpload();
48
+ },
49
+
50
+ methods: {
51
+ uploadFileMethod(item){ // 复写原来的上传方法,去除原生的OPTIONS预检请求,系统不支持OPTIONS请求
52
+ let vm = this;
53
+ let formData = new FormData();
54
+ formData.append("file",item.file);
55
+ formData.append("fkId",vm.fileFkId);
56
+ //创建axios实例
57
+ const axiosInstance = vm.axios.create({
58
+ baseURL: vm.uploadUrl,
59
+ timeout: 1000,
60
+ headers: {'Content-Type': 'multipart/form-data'},
61
+ transformRequest: [
62
+ function (data) {
63
+ return data;
64
+ }
65
+ ],
66
+ maxContentLength: 10000
67
+ });
68
+ //上传文件
69
+ axiosInstance.post(vm.uploadUrl, formData);
70
+ },
71
+ initUpload() {
72
+ let vm = this;
73
+ vm.fileFkId = (vm.fkId || "") + "_" + (vm.fkType || "");
74
+ vm.isDisabled = false;
75
+ if (!vm.fkId) {
76
+ vm.$message("使用附件功能请传入fkId");
77
+ vm.isDisabled = true;
78
+ vm.fileList = [];
79
+ return;
80
+ }
81
+ vm.uploadUrl = vm.api.baseUploadUrl + "upload";
82
+ vm.initFiles();
83
+ },
84
+ onPreview(file) {
85
+ location.href = file.downloadUrl;
86
+ },
87
+ onSuccess() {
88
+ this.$message("附件上传成功");
89
+ this.initFiles();
90
+ },
91
+ initFiles() {
92
+ let vm = this;
93
+ vm.axios.post(vm.api.baseUploadUrl + "find?fkId=" + vm.fileFkId).then(function (response) {
94
+ let arrFile = response.data;
95
+ arrFile.forEach(function (file) {
96
+ file.downloadUrl = vm.api.baseUploadUrl + "downloadFile?id=" + file.id;
97
+ if (file.extension === "jpg" || file.extension === "jpeg" || file.extension === "png") {
98
+ file.url = file.downloadUrl;
99
+ }
100
+ });
101
+ vm.fileList = arrFile;
102
+ });
103
+ },
104
+ beforeUpload(file) {
105
+ const isLt2M = file.size / 1024 / 1024 < 2;
106
+ if (!isLt2M) {
107
+ this.$message.error('上传附件大小不能超过 2MB!');
108
+ }
109
+ return true;
110
+ },
111
+ beforeRemove(file) {
112
+ let vm = this;
113
+ vm.$confirm('是否确定删除此附件?', '警告', {
114
+ confirmButtonText: '确定',
115
+ cancelButtonText: '取消',
116
+ }).then(function () {
117
+ vm.axios.post(vm.api.baseUploadUrl + "delete", {"ids": file.id}).then(function () {
118
+ vm.$message("附件删除成功!");
119
+ vm.initFiles();
120
+ });
121
+ }).catch(function () {
122
+ vm.$message({
123
+ type: 'info',
124
+ message: '已取消删除'
125
+ });
126
+ });
127
+ return false;
128
+ }
129
+ }
130
+ }
131
+ </script>
132
+
133
+ <style scoped>
134
+ .upload-info-message {
135
+ color: red;
136
+ }
137
+ </style>