system-clients 3.1.89-9 → 3.1.89-xianyang

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 (132) hide show
  1. package/package.json +2 -2
  2. package/src/components/Main.vue +547 -589
  3. package/src/components/equipment/EquipmentManage.vue +3 -0
  4. package/src/components/equipment/QCAdd.vue +333 -0
  5. package/src/components/equipment/QCList.vue +230 -0
  6. package/src/components/equipment/QCManage.vue +150 -0
  7. package/src/components/parammanage/ParamManage.vue +2 -2
  8. package/src/components/parammanage/ParamPage.vue +4 -4
  9. package/src/components/parammanage/SinglePage.vue +2 -2
  10. package/src/components/server/Login.vue +56 -103
  11. package/src/components/server/ModifyPw.vue +4 -5
  12. package/src/components/server/ResSelect.vue +5 -1
  13. package/src/components/server/ResSelectGroup.vue +159 -174
  14. package/src/components/server/RightTree.vue +207 -236
  15. package/src/plugins/EncryptUtil.js +53 -0
  16. package/src/plugins/GetLoginInfoService.js +3 -0
  17. package/src/plugins/validation.js +1 -1
  18. package/src/system.js +7 -5
  19. package/.gradle/3.5/file-changes/last-build.bin +0 -0
  20. package/.gradle/3.5/taskHistory/taskHistory.lock +0 -0
  21. package/.gradle/3.5.1/file-changes/last-build.bin +0 -0
  22. package/.gradle/3.5.1/taskHistory/taskHistory.lock +0 -0
  23. package/.gradle/5.2.1/gc.properties +0 -0
  24. package/.gradle/buildOutputCleanup/built.bin +0 -0
  25. package/.gradle/buildOutputCleanup/cache.properties +0 -2
  26. package/.gradle/buildOutputCleanup/cache.properties.lock +0 -1
  27. package/.gradle/vcs-1/gc.properties +0 -0
  28. package/src/components/server/ImageVieweTest.vue +0 -56
  29. package/src/components/server/ImageViewer.vue +0 -350
  30. package/src/styles/fonts/PINGFANG LIGHT.TTF +0 -0
  31. package/src/styles/fonts/PingFangSC-Regular.ttf +0 -0
  32. package/src/styles/fonts/glyphicons-halflings-regular.eot +0 -0
  33. package/src/styles/fonts/glyphicons-halflings-regular.svg +0 -288
  34. package/src/styles/fonts/glyphicons-halflings-regular.ttf +0 -0
  35. package/src/styles/fonts/glyphicons-halflings-regular.woff +0 -0
  36. package/src/styles/fonts/glyphicons-halflings-regular.woff2 +0 -0
  37. package/src/styles/fonts/pingfang-bold.ttf +0 -0
  38. package/src/styles/fonts/pingfang-medium.ttf +0 -0
  39. package/src/styles/fonts/pingfang-regular.ttf +0 -0
  40. package/src/styles/fonts/trendstrends.ttf +0 -0
  41. package/src/styles/fonts//346/261/211/344/273/252/350/217/261/345/277/203/344/275/223/347/256/200.ttf +0 -0
  42. package/src/styles/less/.csscomb.json +0 -304
  43. package/src/styles/less/.csslintrc +0 -19
  44. package/src/styles/less/alerts.less +0 -73
  45. package/src/styles/less/aofeng/animate.min.css +0 -11
  46. package/src/styles/less/aofeng/expandcss.less +0 -569
  47. package/src/styles/less/aofeng/standard.less +0 -2121
  48. package/src/styles/less/aofeng/themeOne/BinaryTemplate.less +0 -686
  49. package/src/styles/less/aofeng/themeOne/loginStyle.less +0 -1586
  50. package/src/styles/less/aofeng/themeOne/systemStyle.less +0 -2650
  51. package/src/styles/less/aofeng/themeOne.less +0 -17
  52. package/src/styles/less/aofeng/themeTwo/newStyle1.less +0 -415
  53. package/src/styles/less/aofeng/themeTwo.less +0 -3
  54. package/src/styles/less/badges.less +0 -66
  55. package/src/styles/less/bootstrap.less +0 -66
  56. package/src/styles/less/breadcrumbs.less +0 -26
  57. package/src/styles/less/button-groups.less +0 -247
  58. package/src/styles/less/buttons.less +0 -172
  59. package/src/styles/less/carousel.less +0 -269
  60. package/src/styles/less/close.less +0 -34
  61. package/src/styles/less/code.less +0 -69
  62. package/src/styles/less/component-animations.less +0 -33
  63. package/src/styles/less/dropdowns.less +0 -216
  64. package/src/styles/less/fonts-list.less +0 -25
  65. package/src/styles/less/forms.less +0 -626
  66. package/src/styles/less/glyphicons.less +0 -305
  67. package/src/styles/less/grid.less +0 -84
  68. package/src/styles/less/input-groups.less +0 -167
  69. package/src/styles/less/jumbotron.less +0 -52
  70. package/src/styles/less/labels.less +0 -64
  71. package/src/styles/less/list-group.less +0 -141
  72. package/src/styles/less/manageStyle/manageChile.less +0 -180
  73. package/src/styles/less/manageStyle/manageStyle/manageChile.less +0 -180
  74. package/src/styles/less/manageStyle/manageStyle/manageStyle.less +0 -1102
  75. package/src/styles/less/manageStyle/manageStyle/safeStyle.less +0 -498
  76. package/src/styles/less/manageStyle/manageStyle.less +0 -1102
  77. package/src/styles/less/manageStyle/safeStyle.less +0 -498
  78. package/src/styles/less/media.less +0 -66
  79. package/src/styles/less/mixins/alerts.less +0 -14
  80. package/src/styles/less/mixins/background-variant.less +0 -9
  81. package/src/styles/less/mixins/border-radius.less +0 -18
  82. package/src/styles/less/mixins/buttons.less +0 -69
  83. package/src/styles/less/mixins/center-block.less +0 -7
  84. package/src/styles/less/mixins/clearfix.less +0 -22
  85. package/src/styles/less/mixins/forms.less +0 -90
  86. package/src/styles/less/mixins/gradients.less +0 -59
  87. package/src/styles/less/mixins/grid-framework.less +0 -92
  88. package/src/styles/less/mixins/grid.less +0 -122
  89. package/src/styles/less/mixins/hide-text.less +0 -21
  90. package/src/styles/less/mixins/image.less +0 -33
  91. package/src/styles/less/mixins/labels.less +0 -12
  92. package/src/styles/less/mixins/list-group.less +0 -30
  93. package/src/styles/less/mixins/nav-divider.less +0 -10
  94. package/src/styles/less/mixins/nav-vertical-align.less +0 -9
  95. package/src/styles/less/mixins/opacity.less +0 -8
  96. package/src/styles/less/mixins/pagination.less +0 -24
  97. package/src/styles/less/mixins/panels.less +0 -24
  98. package/src/styles/less/mixins/progress-bar.less +0 -10
  99. package/src/styles/less/mixins/reset-filter.less +0 -8
  100. package/src/styles/less/mixins/reset-text.less +0 -18
  101. package/src/styles/less/mixins/resize.less +0 -6
  102. package/src/styles/less/mixins/responsive-visibility.less +0 -15
  103. package/src/styles/less/mixins/size.less +0 -10
  104. package/src/styles/less/mixins/tab-focus.less +0 -9
  105. package/src/styles/less/mixins/table-row.less +0 -44
  106. package/src/styles/less/mixins/text-emphasis.less +0 -9
  107. package/src/styles/less/mixins/text-overflow.less +0 -8
  108. package/src/styles/less/mixins/vendor-prefixes.less +0 -227
  109. package/src/styles/less/mixins.less +0 -40
  110. package/src/styles/less/modals.less +0 -151
  111. package/src/styles/less/navbar.less +0 -660
  112. package/src/styles/less/navs.less +0 -285
  113. package/src/styles/less/normalize.less +0 -424
  114. package/src/styles/less/pager.less +0 -76
  115. package/src/styles/less/pagination.less +0 -89
  116. package/src/styles/less/panels.less +0 -275
  117. package/src/styles/less/popovers.less +0 -131
  118. package/src/styles/less/print.less +0 -101
  119. package/src/styles/less/progress-bars.less +0 -87
  120. package/src/styles/less/responsive-embed.less +0 -35
  121. package/src/styles/less/responsive-utilities.less +0 -194
  122. package/src/styles/less/scaffolding.less +0 -161
  123. package/src/styles/less/stand.less +0 -207
  124. package/src/styles/less/tables.less +0 -262
  125. package/src/styles/less/theme.less +0 -291
  126. package/src/styles/less/thumbnails.less +0 -36
  127. package/src/styles/less/tooltip.less +0 -102
  128. package/src/styles/less/type.less +0 -303
  129. package/src/styles/less/utilities.less +0 -55
  130. package/src/styles/less/variables.less +0 -896
  131. package/src/styles/less/wells.less +0 -29
  132. package/static/logo.png +0 -0
@@ -1,6 +1,6 @@
1
1
  <template>
2
2
  <dropdown :model='model' class="auto" id="res-tree" v-if="!islist" v-el:dropdown :style="{width:width}">
3
- <button type="button" class="btn btn-default dropdown-toggle select-style" data-toggle="dropdown">
3
+ <button type="button" class="btn btn-default dropdown-toggle select-style" data-toggle="dropdown" style="min-width: 100%;">
4
4
  <span class='btn-content' :style="{textOverflow:'ellipsis',overflow: 'hidden'}">{{ orgnames }}</span>
5
5
  <span class="caret"></span>
6
6
  </button>
@@ -31,156 +31,148 @@
31
31
  close-on-select></v-select>
32
32
  </template>
33
33
  <script>
34
- import Vue from 'vue';
35
- import co from 'co'
36
- import { PagedList, HttpResetClass } from 'vue-client'
37
- import * as ldapHelper from '../../util/LdapHelper'
38
- let saveGen = function * (self) {
39
- //获取分公司树
40
- let data = {
41
- source: self.source,
42
- userid: self.userid
43
- }
44
- // if(self.$treeorg==null || (self.$treeorg!=null&&self.$treeorg.length==0)){
45
- let http = new HttpResetClass()
46
- let ret = yield http.load('POST', `${self.Url}/rs/search`, data, {resolveMsg: null, rejectMsg: null})
47
- // 去掉前面的两层节点
48
- ret.data[0].children[0].children.forEach((item) => {
49
- self.model.push(item)
50
- })
51
- Vue.$treeorg = Vue.prototype.$treeorg = self.model;
52
- // }
53
- //if(self.$treeorg!=null){
54
- // self.model = self.$treeorg;
55
- //}
56
- // 给资源添加父关系
57
- ldapHelper.procParent(self.model)
58
- // 树转列
59
- // if (self.islist) {
60
- // self.treetoList(self.model)
61
- // }
62
- if(self.initresid.length>0){
63
- if(self.initresid[0] == ''){
64
- self.initresid[0] = self.$login.f.orgid;
34
+ import Vue from 'vue';
35
+ import co from 'co'
36
+ import { PagedList, HttpResetClass } from 'vue-client'
37
+ import * as ldapHelper from '../../util/LdapHelper'
38
+ let saveGen = function * (self) {
39
+ //获取分公司树
40
+ let data = {
41
+ source: self.source,
42
+ userid: self.userid
65
43
  }
66
- }else{
67
- self.initresid = [];
68
- self.initresid[0] = self.$login.f.orgid;
69
- }
70
- if(self.initresid&&self.initresid.length>0){
71
- self.isselect = false;
72
- self.initTreetoList(self.model)
73
- self.initregion(self.childrenOptions)
74
- self.childrenOptions.forEach((item) => {
75
- if(item.id == null && item.value !=null ){
44
+ // if(self.$treeorg==null || (self.$treeorg!=null&&self.$treeorg.length==0)){
45
+ let http = new HttpResetClass()
46
+ let ret = yield http.load('POST', `${self.Url}/rs/search`, data, {resolveMsg: null, rejectMsg: null})
47
+ // 去掉前面的两层节点
48
+ ret.data[0].children[0].children.forEach((item) => {
49
+ self.model.push(item)
50
+ })
51
+ Vue.$treeorg = Vue.prototype.$treeorg = self.model;
52
+ // }
53
+ //if(self.$treeorg!=null){
54
+ // self.model = self.$treeorg;
55
+ //}
56
+ // 给资源添加父关系
57
+ ldapHelper.procParent(self.model)
58
+ // 树转列
59
+ if (self.islist) {
60
+ self.treetoList(self.model)
61
+ }
62
+ if(self.initresid&&self.initresid.length>0){
63
+ self.isselect = false;
64
+ self.initTreetoList(self.model)
65
+ self.initregion(self.childrenOptions)
66
+ self.childrenOptions.forEach((item) => {
67
+ if(item.id == null && item.value !=null ){
76
68
  item = item.value
77
69
  }
78
70
  if(item.id==self.initresid[0]){
79
71
  //默认加载如果已选中的和传入参数相等会取消选择,这种操作不应该被允许
80
72
  if(self.orgids==item.id){
81
- self.initdataone(item);
82
73
  return;
83
74
  }
84
- self.selectclick(item);
75
+ self.selectclick(item)
85
76
  self.isselect = true;
86
77
  return;
87
78
  }
88
79
  })
89
- //如果没有找到公司,说明是选择的是大区
90
- if(!self.isselect){
91
- self.childrenregionOption.forEach((item) => {
92
- if(item.id == null && item.value !=null ){
93
- item = item.value;
80
+ //如果没有找到公司,说明是选择的是大区
81
+ if(!self.isselect){
82
+ self.childrenregionOption.forEach((item) => {
83
+ if(item.id == null && item.value !=null ){
84
+ item = item.value
94
85
  }
95
86
  if(item.id==self.initresid[0]){
96
87
  //默认加载如果已选中的和传入参数相等会取消选择,这种操作不应该被允许
97
88
  if(self.orgids==item.id){
98
- self.initdataone(item);
99
89
  return;
100
90
  }
101
- self.selectclick(item);
91
+ self.selectclick(item)
102
92
  return;
103
93
  }
104
94
  })
105
- }
106
- }
107
- //self.selectRes()
108
- }
109
- export default {
110
- title: '资源树',
111
- props: {
112
- searchText:'',
113
- strsign:'',
114
- source: {
115
- type: String,
116
- require: true,
117
- default:`tool.getFullTree(this.getRights().where(row.getType() == $organization$))`
118
- },
119
- //资源初始化数据
120
- initresid: {
121
- type: Array,
122
- default() { return [] },
123
- },
124
- resid: {
125
- },
126
- islist: {
127
- type: Boolean,
128
- default: false
129
- },
130
- //是否有查看上级的权限
131
- Url:{
132
- type: String,
133
- default:''
134
- },
135
- width:{
136
- type:String,
137
- default:'60%'
138
- }
139
- },
140
- data () {
141
- return {
142
- resobj:{res:this.$login.f.orgs, resids:this.$login.f.orgid},
143
- userid: this.$login.f.id,
144
- resname:[this.$login.f.orgs],
145
- orgnames : "请选择",
146
- //单选点击 返回所有子
147
- orgids : null,
148
- orgobj:null,
149
- model: [
95
+ }
96
+
150
97
 
151
- ],
152
- childrenOptions: [],
153
- childrenregionOption:[],
154
- isselect: false
155
98
  }
156
- },
157
- methods: {
158
- selectRes () {
159
- let newobj={
160
- "res": [this.resname],
161
- "resids": [this.orgids],
162
- }
163
- this.$emit('re-res', newobj)
164
- },
165
- //树形结构变成list
166
- initTreetoList(val) {
167
- for (let value of val) {
168
- this.initErgodicList(value)
99
+ self.selectRes()
100
+ }
101
+ export default {
102
+ title: '资源树',
103
+ props: {
104
+ searchText:'',
105
+ strsign:'',
106
+ source: {
107
+ type: String,
108
+ require: true,
109
+ default:`tool.getFullTree(this.getRights().where(row.getType() == $organization$))`
110
+ },
111
+ //资源初始化数据
112
+ initresid: {
113
+ type: Array,
114
+ default() { return [] },
115
+ },
116
+ resid: {
117
+ },
118
+ islist: {
119
+ type: Boolean,
120
+ default: false
121
+ },
122
+ //是否有查看上级的权限
123
+ Url:{
124
+ type: String,
125
+ default:''
126
+ },
127
+ width:{
128
+ type:String,
129
+ default:'60%'
169
130
  }
170
131
  },
171
- //找到跟节点
172
- initErgodicList (val) {
173
- if(val.children.length > 0){
174
- this.childrenOptions.push(val)
175
- this.treetoList(val.children)
176
- }else{
177
- this.childrenOptions.push(val)
132
+ data () {
133
+ return {
134
+ resobj:{res:this.$login.f.orgs, resids:this.$login.f.orgid},
135
+ userid: this.$login.f.id,
136
+ resname:[this.$login.f.orgs],
137
+ orgnames : "请选择",
138
+ //单选点击 返回所有子
139
+ orgids : null,
140
+ orgobj:null,
141
+ model: [
142
+
143
+ ],
144
+ childrenOptions: [],
145
+ childrenregionOption:[],
146
+ isselect: false
178
147
  }
179
148
  },
180
- initregion(val){
181
- if(val ==null ) return;
182
- val.forEach((item)=>{
183
- if(item.name != null){
149
+ methods: {
150
+ selectRes () {
151
+ let newobj={
152
+ "res": [this.resname],
153
+ "resids": [this.orgids],
154
+ }
155
+ this.$emit('re-res', newobj)
156
+ },
157
+ //树形结构变成list
158
+ initTreetoList(val) {
159
+ for (let value of val) {
160
+ this.initErgodicList(value)
161
+ }
162
+ },
163
+ //找到跟节点
164
+ initErgodicList (val) {
165
+ if(val.children.length > 0){
166
+ this.childrenOptions.push(val)
167
+ this.treetoList(val.children)
168
+ }else{
169
+ this.childrenOptions.push(val)
170
+ }
171
+ },
172
+ initregion(val){
173
+ if(val ==null ) return;
174
+ val.forEach((item)=>{
175
+ if(item.name != null){
184
176
  if(item.name.includes("公司")){
185
177
  return;
186
178
  }else{
@@ -193,50 +185,29 @@ export default {
193
185
  }
194
186
  })
195
187
 
196
- },
197
- async buluer (val) {
198
- this.strsign=val
199
- await new Promise(resolve => {
200
- this.$nextTick(() => {
201
- resolve()
202
- })
188
+ },
189
+ async buluer (val) {
190
+ this.strsign=val
191
+ await new Promise(resolve => {
192
+ this.$nextTick(() => {
193
+ resolve()
203
194
  })
204
- },
205
- //点击资源的方法
206
- selectclick (row) {
207
- if(this.orgids==row.id){
208
- //取消点击
209
- this.orgnames="请选择"
210
- this.orgids=null
211
- this.orgobj=null
212
- let newobj={
213
- "res": [],
214
- "resids": [],
215
- "orgobj": [],
216
- }
217
- this.$emit('re-res', newobj)
218
- }else{
219
- //点中点击
220
- this.orgnames=row.name
221
- this.orgids=row.id
222
- this.orgobj=row
223
- let objs=[]
224
- let objids=[]
225
- let objnames=[]
226
- this.addResChild(row,objs)
227
- objs.forEach((item) => {
228
- objids.push(item.id)
229
- objnames.push(item.name)
230
- })
231
- let newobj={
232
- "res": objnames,
233
- "resids": objids,
234
- "orgobj": objs,
235
- }
236
- this.$emit('re-res', newobj)
195
+ })
196
+ },
197
+ //点击资源的方法
198
+ selectclick (row) {
199
+ if(this.orgids==row.id){
200
+ //取消点击
201
+ this.orgnames="请选择"
202
+ this.orgids=null
203
+ this.orgobj=null
204
+ let newobj={
205
+ "res": [],
206
+ "resids": [],
207
+ "orgobj": [],
237
208
  }
238
- },
239
- initdataone(row){
209
+ this.$emit('re-res', newobj)
210
+ }else{
240
211
  //点中点击
241
212
  this.orgnames=row.name
242
213
  this.orgids=row.id
@@ -255,54 +226,55 @@ export default {
255
226
  "orgobj": objs,
256
227
  }
257
228
  this.$emit('re-res', newobj)
258
- },
259
- addResChild(val,objs){
260
- objs.push(val)
261
- if(val.children && val.children.length>0){
262
- Object.keys(val.children).forEach((key) => {
263
- this.addResChild(val.children[key],objs)
264
- })
265
- }
266
- return objs
267
- },
268
- //检查是否显示对勾
269
- isSelect(val) {
270
- if(this.orgids==val){
271
- return true
272
- }else{
273
- return false
274
- }
275
- },
276
- //树形结构变成list
277
- treetoList(val) {
278
- for (let value of val) {
279
- this.ergodicList(value)
280
- }
281
- },
282
- //找到跟节点
283
- ergodicList (val) {
284
- val.children.length > 0 ? this.treetoList(val.children) : this.childrenOptions.push({label: val.name, value: val})
285
- },
286
- //处理显示默认值
287
- dealResObj (val) {
288
- try{
289
- var arr=val.res.split(".")
290
- //截取最后一个分公司名字
291
- this.resname=arr[arr.length-1].toString()
292
- this.orgnames=arr[arr.length-1].toString()
293
- this.resid = val.resids
294
- this.orgids = val.resids
295
- }catch (e){
296
- this.resname='请选择组织'
297
- }
298
- },
299
- judgBoundary(){
300
- //判断是否超出边界,超出移动
301
- if(document.documentElement.offsetWidth< this.$els.dropdown.getBoundingClientRect().right){
302
- this.left = document.documentElement.offsetWidth - this.$els.dropdown.getBoundingClientRect().right - 25
303
- }
304
229
  }
305
230
  },
231
+ addResChild(val,objs){
232
+ objs.push(val)
233
+ if(val.children && val.children.length>0){
234
+ Object.keys(val.children).forEach((key) => {
235
+ this.addResChild(val.children[key],objs)
236
+ })
237
+ }
238
+ return objs
239
+ },
240
+ //检查是否显示对勾
241
+ isSelect(val) {
242
+ if(this.orgids==val){
243
+ return true
244
+ }else{
245
+ return false
246
+ }
247
+ },
248
+ //树形结构变成list
249
+ treetoList(val) {
250
+ for (let value of val) {
251
+ this.ergodicList(value)
252
+ }
253
+ },
254
+ //找到跟节点
255
+ ergodicList (val) {
256
+ val.children.length > 0 ? this.treetoList(val.children) : this.childrenOptions.push({label: val.name, value: val})
257
+ },
258
+ //处理显示默认值
259
+ dealResObj (val) {
260
+ try{
261
+ var arr=val.res.split(".")
262
+ //截取最后一个分公司名字
263
+ this.resname=arr[arr.length-1].toString()
264
+ this.orgnames=arr[arr.length-1].toString()
265
+ this.resid = val.resids
266
+ this.orgids = val.resids
267
+ }catch (e){
268
+ this.resname='请选择组织'
269
+ }
270
+ },
271
+ judgBoundary(){
272
+ //判断是否超出边界,超出移动
273
+ if(document.documentElement.offsetWidth< this.$els.dropdown.getBoundingClientRect().right){
274
+ this.left = document.documentElement.offsetWidth - this.$els.dropdown.getBoundingClientRect().right - 25
275
+ }
276
+ }
277
+ },
306
278
  events: {
307
279
 
308
280
  },
@@ -313,31 +285,30 @@ export default {
313
285
  },
314
286
  watch: {
315
287
  }
316
- }
288
+ }
317
289
  </script>
318
290
  <style lang="less">
319
- #res-tree {
320
- .list-group-item {
321
- background-color: #FFF;
322
- color: #000;
323
- padding: 5px 10px;
324
- border:0px;
325
- white-space: nowrap;
291
+ #res-tree {
292
+ .list-group-item {
293
+ background-color: #FFF;
294
+ color: #000;
295
+ padding: 5px 10px;
296
+ border:0px;
297
+ white-space: nowrap;
298
+ }
299
+ }
300
+ #res-tree .list-group {
301
+ width: auto;
302
+ min-width: 100%;
303
+ }
304
+ .hide-text-overflow{
305
+ overflow: hidden;
306
+ text-overflow: ellipsis
307
+ }
308
+ .select-style {
309
+ /*border-bottom: 2px solid #C9CCCF;*/
310
+ border: 1px solid #93B2D3 !important;
311
+ border-radius: 0px !important;
312
+ color: #555;
326
313
  }
327
- }
328
- #res-tree .list-group {
329
- width: auto;
330
- min-width: 100%;
331
- }
332
- .hide-text-overflow{
333
- overflow: hidden;
334
- text-overflow: ellipsis
335
- }
336
- .select-style {
337
- border: 0px;
338
- /*border-bottom: 2px solid #C9CCCF;*/
339
- border: 1px solid #93B2D3;
340
- border-radius: 0px;
341
- color: #555;
342
- }
343
314
  </style>
@@ -0,0 +1,53 @@
1
+ import AesEncryptJS from "crypto-js"
2
+ import RsaEncryptJS from 'jsencrypt'
3
+
4
+ export default {
5
+ /**
6
+ * AES加密
7
+ * @param word
8
+ * @returns {*}
9
+ */
10
+ AESEncrypt(word, encryKey){
11
+ var key = AesEncryptJS.enc.Utf8.parse(encryKey);
12
+ var srcs = AesEncryptJS.enc.Utf8.parse(word);
13
+ var encrypted = AesEncryptJS.AES.encrypt(srcs, key, {mode:AesEncryptJS.mode.ECB,padding: AesEncryptJS.pad.Pkcs7});
14
+ return encrypted.toString();
15
+ },
16
+ /**
17
+ * AES解密
18
+ * @param word
19
+ * @returns {*}
20
+ */
21
+ AESDecrypt(word, encryKey){
22
+ var key = AesEncryptJS.enc.Utf8.parse(encryKey);
23
+ var decrypt = AesEncryptJS.AES.decrypt(word, key, {mode:AesEncryptJS.mode.ECB,padding: AesEncryptJS.pad.Pkcs7});
24
+ var ret = AesEncryptJS.enc.Utf8.stringify(decrypt).toString();
25
+ try{
26
+ return JSON.parse(ret) ;
27
+ }catch (e){
28
+ return ret
29
+ }
30
+ },
31
+ /**
32
+ * RSA加密
33
+ * @param word
34
+ * @returns {*}
35
+ */
36
+ RSAEncrypt(word){
37
+ let encrypt = new RsaEncryptJS();
38
+ encrypt.setPublicKey('MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCqPvovSfXcwBbW8cKMCgwqNpsYuzF8RPAPFb7LGsnVo44JhM/xxzDyzoYtdfNmtbIuKVi9PzIsyp6rg+09gbuI6UGwBZ5DWBDBMqv5MPdOF5dCQkB2Bbr5yPfURPENypUz+pBFBg41d+BC+rwRiXELwKy7Y9caD/MtJyHydj8OUwIDAQAB');
39
+ let resdata = encrypt.encrypt(word);
40
+ return resdata.toString();
41
+ },
42
+ /**
43
+ * RSA解密
44
+ * @param word
45
+ * @returns {*}
46
+ */
47
+ RSADecrypt(word){
48
+ let encrypt = new RsaEncryptJS();
49
+ encrypt.setPrivateKey('MIICdwIBADANBgkqhkiG9w0BAQEFAASCAmEwggJdAgEAAoGBAKo++i9J9dzAFtbxwowKDCo2mxi7MXxE8A8VvssaydWjjgmEz/HHMPLOhi1182a1si4pWL0/MizKnquD7T2Bu4jpQbAFnkNYEMEyq/kw904Xl0JCQHYFuvnI99RE8Q3KlTP6kEUGDjV34EL6vBGJcQvArLtj1xoP8y0nIfJ2Pw5TAgMBAAECgYAGGB8IllMwxceLhjf6n1l0IWRH7FuHIUieoZ6k0p6rASHSgWiYNRMxfecbtX8zDAoG0QAWNi7rn40ygpR5gS1fWDAKhmnhKgQIT6wW0VmD4hraaeyP78iy8BLhlvblri2nCPIhDH5+l96v7D47ZZi3ZSOzcj89s1eS/k7/N4peEQJBAPEtGGJY+lBoCxQMhGyzuzDmgcS1Un1ZE2pt+XNCVl2b+T8fxWJH3tRRR8wOY5uvtPiK1HM/IjT0T5qwQeH8Yk0CQQC0tcv3d/bDb7bOe9QzUFDQkUSpTdPWAgMX2OVPxjdq3Sls9oA5+fGNYEy0OgyqTjde0b4iRzlD1O0OhLqPSUMfAkEAh5FIvqezdRU2/PsYSR4yoAdCdLdT+h/jGRVefhqQ/6eYUJJkWp15tTFHQX3pIe9/s6IeT/XyHYAjaxmevxAmlQJBAKSdhvQjf9KAjZKDEsa7vyJ/coCXuQUWSCMNHbcR5aGfXgE4e45UtUoIE1eKGcd6AM6LWhx3rR6xdFDpb9je8BkCQB0SpevGfOQkMk5i8xkEt9eeYP0fi8nv6eOUcK96EXbzs4jV2SAoQJ9oJegPtPROHbhIvVUmNQTbuP10Yjg59+8=');
50
+ let resdata = encrypt.decrypt(word);
51
+ return JSON.parse(resdata.toString()) ;
52
+ },
53
+ }
@@ -1,6 +1,7 @@
1
1
  import Vue from 'vue'
2
2
  import JSEncrypt from 'jsencrypt'
3
3
  import {HttpResetClass} from 'vue-client'
4
+ import cryptJS from './EncryptUtil'
4
5
 
5
6
  let loginGen = async function (name, password) {
6
7
  let data = {name: name, password: password}
@@ -203,6 +204,7 @@ let GetLoginInfoService = {
203
204
  afterLogin: [],
204
205
  //验证码开关
205
206
  Verification: true,
207
+ SinglePageToken: {},
206
208
  install (Vue, options) {
207
209
  // 给vue增添对话框显示方法
208
210
  Vue.$login = Vue.prototype.$login = GetLoginInfoService
@@ -218,6 +220,7 @@ let GetLoginInfoService = {
218
220
  * @param password
219
221
  */
220
222
  login (name, password) {
223
+ Vue.$login.SinglePageToken = cryptJS.AESEncrypt(JSON.stringify({name: name, password: password}), "3KMKqvgwR8ULbR8Z")
221
224
  return loginGen(name, password)
222
225
  },
223
226
 
@@ -3,5 +3,5 @@ import Validator from 'vue-validator'
3
3
  Vue.use(Validator)
4
4
  //密码强度验证器(必须为为大小写字母、阿拉伯数字、字符)
5
5
  Vue.validator('strongpassword', function (val) {
6
- return /^(?:(?=.*[a-zA-Z])(?=.*[0-9])(?=.*[^A-Za-z0-9])).*$/.test(val)
6
+ return /^(?:(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9])(?=.*[^A-Za-z0-9])).*$/.test(val)
7
7
  });
package/src/system.js CHANGED
@@ -26,11 +26,15 @@ import ResSelectGroup from './components/server/ResSelectGroup'
26
26
  //资源选择测试
27
27
  import TestResSelect from './components/server/TestResSelect'
28
28
  import RoleSelector from "./components/server/RoleSelector";
29
- export default function (val) {
29
+ export default function (val,version) {
30
30
  //验证码开关赋值
31
31
  if(val!=null){
32
32
  GetLoginInfoService.Verification=val
33
33
  }
34
+ //版本号赋值
35
+ if(val!=null){
36
+ GetLoginInfoService.version=version
37
+ }
34
38
  Vue.use(GetLoginInfoService)
35
39
  Vue.use(GetAppDataService)
36
40
  Vue.use(HeatGetLoginInfoService)
@@ -75,13 +79,11 @@ export default function (val) {
75
79
  Vue.component('phone-manage', (resolve) => { require(['./components/equipment/PhoneManage'], resolve) })
76
80
  // pos端控制
77
81
  Vue.component('pos-manage', (resolve) => { require(['./components/equipment/PosManage'], resolve) })
82
+ // pos端控制
83
+ Vue.component('qc-manage', (resolve) => { require(['./components/equipment/QCManage'], resolve) })
78
84
 
79
85
  // 材料字典
80
86
  Vue.component('material-data', (resolve) => { require(['./components/materialManage/materialData.vue'], resolve) })
81
87
  Vue.component('material-data-list', (resolve) => { require(['./components/materialManage/materialList.vue'], resolve) })
82
- // 图片查看器
83
- Vue.component('image-viewer', (resolve) => { require(['./components/server/ImageViewer'], resolve) })
84
- // 测试图片查看器
85
- Vue.component('image-viewer-test', (resolve) => { require(['./components/server/ImageVieweTest'], resolve) })
86
88
 
87
89
  }
File without changes
File without changes
@@ -1,2 +0,0 @@
1
- #Fri Mar 13 10:30:51 GMT+08:00 2020
2
- gradle.version=3.5
File without changes