system-phone 3.0.49 → 3.1.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 (134) hide show
  1. package/.gradle/buildOutputCleanup/cache.properties +2 -2
  2. package/SystemPhone.iml +8 -8
  3. package/build/dev-server.js +141 -141
  4. package/build/webpack.base.conf.js +82 -82
  5. package/build.gradle +27 -27
  6. package/gradle/wrapper/gradle-wrapper.properties +5 -5
  7. package/gradlew +183 -183
  8. package/gradlew.bat +100 -100
  9. package/index.html +21 -21
  10. package/package.json +1 -1
  11. package/src/App.vue +25 -25
  12. package/src/Util.js +415 -415
  13. package/src/assets/images//346/211/223/345/215/241.png +0 -0
  14. package/src/assets//344/277/235/351/231/251/347/231/273/350/256/260.png +0 -0
  15. package/src/assets//345/210/240/351/231/244/347/205/247/347/211/207.png +0 -0
  16. package/src/assets//345/215/217/345/212/251/345/256/211/346/243/200.png +0 -0
  17. package/src/assets//345/215/241/350/241/250/346/212/204/350/241/250/345/276/205/345/212/236.png +0 -0
  18. package/src/assets//345/233/236/350/256/277.png +0 -0
  19. package/src/assets//345/234/260/345/235/200/345/217/230/346/233/264.png +0 -0
  20. package/src/assets//345/242/236/345/200/274/345/276/205/345/212/236.png +0 -0
  21. package/src/assets//345/244/226/351/203/250/345/256/211/346/243/200/344/270/212/344/274/240.png +0 -0
  22. package/src/assets//345/244/226/351/203/250/345/256/211/346/243/200/344/273/243/345/212/236.png +0 -0
  23. package/src/assets//345/244/226/351/203/250/345/256/211/346/243/200/345/267/262/345/212/236.png +0 -0
  24. package/src/assets//345/244/226/351/203/250/345/256/211/346/243/200/345/276/205/345/212/236.png +0 -0
  25. package/src/assets//345/244/226/351/203/250/351/233/206/344/270/255/345/256/211/346/243/200.png +0 -0
  26. package/src/assets//345/256/211/346/243/200/345/216/206/345/217/262/346/237/245/347/234/213.png +0 -0
  27. package/src/assets//345/256/211/346/243/200/347/256/241/347/220/206/346/234/252/351/200/211/344/270/255.png +0 -0
  28. package/src/assets//345/256/211/346/243/200/347/256/241/347/220/206/351/200/211/344/270/255.png +0 -0
  29. package/src/assets//345/256/211/346/243/200/350/275/254/345/215/225/345/256/241/346/240/270.png +0 -0
  30. package/src/assets//345/267/245/345/215/225/345/244/215/346/243/200.png +0 -0
  31. package/src/assets//345/267/245/345/225/206/345/256/211/346/243/200.png +0 -0
  32. package/src/assets//345/276/205/345/212/236/347/273/237/350/256/241.png +0 -0
  33. package/src/assets//346/212/204/350/241/250/351/207/215/344/274/240.png +0 -0
  34. package/src/assets//346/212/245/345/273/272/344/273/243/345/212/236.png +0 -0
  35. package/src/assets//346/226/275/345/260/201.png +0 -0
  36. package/src/assets//346/226/275/345/260/201/347/256/241/347/220/206.png +0 -0
  37. package/src/assets//346/260/221/347/224/250/345/256/211/346/243/200.png +0 -0
  38. package/src/assets//347/205/247/347/211/207/345/210/240/351/231/244.png +0 -0
  39. package/src/assets//347/211/251/350/201/224/347/275/221/350/241/250.png +0 -0
  40. package/src/assets//347/224/250/346/210/267/345/273/272/346/241/243.png +0 -0
  41. package/src/assets//347/224/250/346/210/267/350/256/260/345/275/225.png +0 -0
  42. package/src/assets//347/273/264/344/277/256/345/234/250/347/272/277/346/237/245/350/257/242.png +0 -0
  43. package/src/assets//347/273/264/344/277/256/347/231/273/350/256/260.png +0 -0
  44. package/src/assets//347/273/264/344/277/256/350/256/260/345/275/225.png +0 -0
  45. package/src/assets//350/256/241/345/210/222/345/256/211/346/243/200.png +0 -0
  46. package/src/assets//350/256/241/345/210/222/347/273/237/350/256/241.png +0 -0
  47. package/src/assets//351/200/232/346/260/224/346/211/223/345/216/213/347/225/231/345/272/225.png +0 -0
  48. package/src/assets//351/223/205/345/260/201/347/256/241/347/220/206.png +0 -0
  49. package/src/assets//351/230/200/346/216/247/347/256/241/347/220/206.png +0 -0
  50. package/src/assets//351/235/236/345/261/205/346/260/221/345/256/211/346/243/200.png +0 -0
  51. package/src/assets//351/235/236/346/260/221/347/224/250/345/256/211/346/243/200.png +0 -0
  52. package/src/assets//351/242/204/347/272/246/345/256/211/346/243/200/345/276/205/345/212/236.png +0 -0
  53. package/src/assets//351/246/226/351/241/265/345/244/247/345/233/276.png +0 -0
  54. package/src/components/AloneLoadParams.vue +26 -26
  55. package/src/components/AlreadyService.vue +193 -193
  56. package/src/components/AttendManage.vue +120 -1
  57. package/src/components/LoadAppdata.vue +38 -38
  58. package/src/components/LoginApp.vue +732 -724
  59. package/src/components/LoginAppNew.vue +587 -587
  60. package/src/components/LoginAppV4.vue +716 -0
  61. package/src/components/ModifyPassWord.vue +216 -216
  62. package/src/components/NavBottom.vue +117 -117
  63. package/src/components/NavBottomV.vue +141 -141
  64. package/src/components/NavBottomVVV.vue +185 -185
  65. package/src/components/OnlineManage.vue +1 -1
  66. package/src/components/PhoneAllInfo.vue +68 -68
  67. package/src/components/PhoneChangemeterInfo.vue +116 -116
  68. package/src/components/PhoneImageInfo.vue +102 -0
  69. package/src/components/PhoneInfoTable.vue +39 -39
  70. package/src/components/PhoneMeterInfo.vue +132 -132
  71. package/src/components/PhoneRepairInfo.vue +146 -146
  72. package/src/components/PhoneSafeInfo.vue +4 -4
  73. package/src/components/PhoneSellInfo.vue +148 -123
  74. package/src/components/PhoneSellInfoLite.vue +112 -112
  75. package/src/components/PhoneUser.vue +202 -202
  76. package/src/components/PhoneUserDetil.vue +70 -70
  77. package/src/components/PhoneUserFind.vue +138 -138
  78. package/src/components/SystemSetUp.vue +332 -308
  79. package/src/components/TabBarPhone.vue +81 -81
  80. package/src/components/Test.vue +14 -14
  81. package/src/components/ToolsPage.vue +27 -4
  82. package/src/components/UploadManage.vue +194 -194
  83. package/src/components/gaomi/NavBottomV.vue +223 -223
  84. package/src/components/gaomi/NavBottomVVVV.vue +210 -210
  85. package/src/components/gaomi/Scroller.vue +63 -63
  86. package/src/components/gaomi/SystemSetUp.vue +186 -186
  87. package/src/components/gaomi/ToolsPage.vue +168 -168
  88. package/src/components/idea/feedBack.vue +150 -150
  89. package/src/components/idea/feedbackAdd.vue +366 -366
  90. package/src/components/info/ConfigInfo.vue +122 -122
  91. package/src/components/info/FindUserInfo.vue +157 -157
  92. package/src/components/info/InfoTable.vue +37 -37
  93. package/src/components/iot/InstructMessage.vue +313 -313
  94. package/src/components/iot/IotBaseInfo.vue +97 -97
  95. package/src/components/iot/IotMeterInfo.vue +77 -77
  96. package/src/components/iot/iotMonitoringMain.vue +501 -501
  97. package/src/components/online/ApplyOnline.vue +581 -581
  98. package/src/components/online/BJZhongRan/ApplyOnline.vue +600 -600
  99. package/src/components/screen/ChargeContentPage.vue +656 -656
  100. package/src/components/screen/ContentPage.vue +611 -611
  101. package/src/components/screen/GongdanContentPage.vue +149 -149
  102. package/src/components/screen/ListCountItem.vue +93 -93
  103. package/src/components/screen/ModuleTitle.vue +48 -48
  104. package/src/components/screen/SafeOrderContentPage.vue +440 -440
  105. package/src/components/screen/SecurityCheckItem.vue +50 -50
  106. package/src/components/screen/TotalItem.vue +76 -76
  107. package/src/components/screen/TotalUserNumber.vue +77 -77
  108. package/src/components/screen/WorkOrderItem.vue +51 -51
  109. package/src/components/screen/WorkOrderRightDownItem.vue +103 -103
  110. package/src/components/screen/WorkOrderRightItem.vue +115 -115
  111. package/src/components/userinfo/paymentQuery.vue +189 -189
  112. package/src/components/userinfo/queryFile.vue +190 -190
  113. package/src/components/wasm.vue +18 -18
  114. package/src/expandcssAndroid.less +521 -521
  115. package/src/filiale/yulinyuchuan/AlreadyService.vue +194 -0
  116. package/src/filiale/yulinyuchuan/AttendManage.vue +537 -0
  117. package/src/filiale/yulinyuchuan/LoginApp.vue +741 -0
  118. package/src/filiale/yulinyuchuan/OnlineManage.vue +256 -0
  119. package/src/filiale/yulinyuchuan/SystemSetUp.vue +332 -0
  120. package/src/filiale/yulinyuchuan/UploadManage.vue +195 -0
  121. package/src/filiale/yulinyuchuan/systemphonegrid.js +9 -0
  122. package/src/index.js +9 -9
  123. package/src/main.js +38 -38
  124. package/src/plugins/const.js +404 -404
  125. package/src/plugins/vue-py.js +37 -37
  126. package/src/stores/AppData.js +79 -63
  127. package/src/systemphone-gaomi.js +105 -105
  128. package/src/systemphone.js +60 -58
  129. package/src/systemphonegrid.js +15 -40
  130. package/src/util/LdapHelper.js +75 -75
  131. package/static/const.js +404 -404
  132. package/static/layui/font/iconfont.svg +554 -554
  133. package/static/vue-py.js +37 -37
  134. package/static/wasm_exec.js +465 -465
@@ -1,216 +1,216 @@
1
- <template>
2
- <!--<div class="app-botton" @click="back()">-->
3
- <!--<span class="glyphicon glyphicon-menu-left">返回</span>-->
4
- <!--</div>-->
5
- <div class="auto">
6
- <div class="row app-row">
7
- <div class="col-xs-4">
8
- <img src="../assets/姓名.png" style="width: 20px;margin-bottom: 5px" alt="">
9
- <span class="text-left font">账号</span>
10
- </div>
11
- <div class="col-xs-8 input-font">
12
- <input type="text" class="search_input input-font" v-model="model.ename" readonly/>
13
- </div>
14
- </div>
15
- <div class="row app-row">
16
- <div class="col-xs-4" style="margin-top: 8px">
17
- <img src="../assets/原始密码.png" style="width: 20px;margin-bottom: 5px" alt="">
18
- <span class="text-left font">原始密码</span>
19
- </div>
20
- <div class="col-xs-8">
21
- <input type="password" id="oldpassword" class="search_input input-font" v-model="model.oldpassword"
22
- placeholder="请输入原始密码"/>
23
- </div>
24
- </div>
25
- <div class="row app-row">
26
- <div class="col-xs-4" style="margin-top: 8px">
27
- <img src="../assets/密码.png" style="width: 20px;margin-bottom: 5px">
28
- <span class="text-left font">新密码</span>
29
- </div>
30
- <div class="col-xs-8">
31
- <input type="password" id="newpassword1" class="search_input input-font" v-model="model.password"
32
- :placeholder="weakPassword?'需要包含大小写字母符号数字':'请输入新密码'"/>
33
- </div>
34
- </div>
35
- <div class="row app-row">
36
- <div class="col-xs-4" style="margin-top: 8px">
37
- <img src="../assets/密码.png" style="width: 20px;margin-bottom: 5px" alt="">
38
- <span class="text-left font">确认密码</span>
39
- </div>
40
- <div class="col-xs-8">
41
- <input type="password" id="newpassword2" class="search_input input-font" v-model="model.newpassword"
42
- placeholder="请重新输入新密码"/>
43
- </div>
44
- </div>
45
- <div class="row app-row">
46
- <div class="col-xs-4" style="margin-top: 8px">
47
- <img src="../assets/选中.png" style="width: 20px;margin-bottom: 5px" alt="" v-if="showpass" @click="showoff()">
48
- <img src="../assets/未选.png" style="width: 20px;margin-bottom: 5px" alt="" v-if="!showpass" @click="showon()">
49
- <span class="text-left font">显示密码</span>
50
- </div>
51
- </div>
52
- <div class="row app-row text-center">
53
- <button type="button" class="btn btn-lg btn-font btn-color" style="width: 45%;" @click="save()">提交</button>
54
- </div>
55
- </div>
56
- </template>
57
- <script>
58
- import Vue from 'vue'
59
-
60
- let asyncCheck = async function (self, url) {
61
- try {
62
- let that = self
63
- let user = {
64
- ename: that.model.ename,
65
- newpassword: that.model.password,
66
- affirmpassword: that.model.newpassword,
67
- password: that.model.oldpassword
68
- }
69
- let res = await Vue.resetpost(`${url}/rs/user/modifypwd`, {data: user}, {resolveMsg: null, rejectMsg: null})
70
- console.log("手机端验证登陆原始密码")
71
- console.log(res.data)
72
- if ((JSON.stringify(res.data).startsWith("{") || JSON.stringify(res.data).startsWith("[")) && res.data.code && res.data.msg) {
73
- if (res.data.code === 200) {
74
- that.$showMessage('修改密码成功!')
75
- if (that.sourse == 'login') {
76
- that.$emit('success', that.model.password)
77
- return
78
- }
79
- that.$back()
80
- } else {
81
- that.$showMessage('修改密码失败,请重新输入!' + res.data.msg)
82
- console.log(res.data)
83
- return
84
- }
85
- } else {
86
- if(res.data){
87
- that.$showMessage('修改密码成功!')
88
- if(that.sourse == 'login'){
89
- that.$emit('success',that.model.password)
90
- return
91
- }
92
- that.$back()
93
- }else {
94
- that.$showMessage('修改密码失败,请重新输入!')
95
- console.log(res.data)
96
- return
97
- }
98
- }
99
- } catch (error) {
100
- if (error.status == 500) {
101
- that.$showMessage('网络异常,请检查手机网络!')
102
- } else {
103
- throw error
104
- }
105
- }
106
- }
107
-
108
- export default {
109
- title: '修改密码',
110
- data() {
111
- return {
112
- model: {
113
- user: Vue.user.name,
114
- userid: Vue.user.id,
115
- ename: Vue.user.ename,
116
- oldpassword: '',
117
- password: '',
118
- newpassword: ''
119
- },
120
- showpass: false
121
- }
122
- },
123
- props: {
124
- sourse: '',
125
- weakPassword: false
126
- },
127
- ready() {
128
-
129
- },
130
- methods: {
131
- back() {
132
- let _this = this
133
- this.$showMessage('所填写内容将不可恢复!', ['confirm', 'cancel']).then((res) => {
134
- if (res === 'confirm') {
135
- _this.$back()
136
- }
137
- })
138
- },
139
- // showpass(){
140
- // console.log('1')
141
- // document.getElementById("oldpassword").type = "text"
142
- // },
143
- showon() {
144
- this.showpass = true
145
- document.getElementById("oldpassword").type = "text"
146
- document.getElementById("newpassword1").type = "text"
147
- document.getElementById("newpassword2").type = "text"
148
- },
149
- showoff() {
150
- this.showpass = false
151
- document.getElementById("oldpassword").type = "password"
152
- document.getElementById("newpassword1").type = "password"
153
- document.getElementById("newpassword2").type = "password"
154
- },
155
- save() {
156
- // 先对新密码和确认密码是否一致
157
- if (this.model.password != this.model.newpassword) {
158
- this.$showMessage('两次输入密码不一致!')
159
- return
160
- }
161
- if (this.weakPassword && this.model.password && !(/^(?:(?=.*[a-zA-Z])(?=.*[0-9])(?=.*[^A-Za-z0-9])).*$/.test(this.model.password))) {
162
- this.$showMessage('新密码必须包含大小写字母、数字、符号!')
163
- return
164
- }
165
- // 检验原始密码是否符合 并修改密码
166
- asyncCheck(this, this.$androidUtil.getProxyUrl())
167
- }
168
- }
169
- }
170
- </script>
171
- <style>
172
- .search_input {
173
- border: 0;
174
- outline: none;
175
- }
176
-
177
- .app-row {
178
- background-color: white;
179
- padding: 10px 10px 0 10px;
180
- border-bottom: 1px solid rgba(235, 235, 235, 0.5);
181
- }
182
-
183
- .font {
184
- font: 15px PingFang-SC-Medium;
185
- }
186
-
187
- .btn-font {
188
- font: 600 16px PingFang-SC-Bold;
189
- color: #499EDF;
190
- }
191
-
192
- .btn-color {
193
- background-color: #FFFFFF;
194
- border-radius: 10px;
195
- border: 1px solid #499EDF;
196
- }
197
-
198
- .input-font {
199
- font: 15px PingFang-SC-Medium;
200
- color: #333333;
201
- }
202
-
203
- .app-botton {
204
- position: fixed;
205
- background: #87b2dd;
206
- color: #FFF;
207
- padding: 8px;
208
- text-align: center;
209
- font-size: 1.2em;
210
- z-index: 10;
211
- opacity: 0.5;
212
- bottom: 50px;
213
- margin-top: -10px;
214
- height: 40px;
215
- }
216
- </style>
1
+ <template>
2
+ <!--<div class="app-botton" @click="back()">-->
3
+ <!--<span class="glyphicon glyphicon-menu-left">返回</span>-->
4
+ <!--</div>-->
5
+ <div class="auto">
6
+ <div class="row app-row">
7
+ <div class="col-xs-4">
8
+ <img src="../assets/姓名.png" style="width: 20px;margin-bottom: 5px" alt="">
9
+ <span class="text-left font">账号</span>
10
+ </div>
11
+ <div class="col-xs-8 input-font">
12
+ <input type="text" class="search_input input-font" v-model="model.ename" readonly/>
13
+ </div>
14
+ </div>
15
+ <div class="row app-row">
16
+ <div class="col-xs-4" style="margin-top: 8px">
17
+ <img src="../assets/原始密码.png" style="width: 20px;margin-bottom: 5px" alt="">
18
+ <span class="text-left font">原始密码</span>
19
+ </div>
20
+ <div class="col-xs-8">
21
+ <input type="password" id="oldpassword" class="search_input input-font" v-model="model.oldpassword"
22
+ placeholder="请输入原始密码"/>
23
+ </div>
24
+ </div>
25
+ <div class="row app-row">
26
+ <div class="col-xs-4" style="margin-top: 8px">
27
+ <img src="../assets/密码.png" style="width: 20px;margin-bottom: 5px">
28
+ <span class="text-left font">新密码</span>
29
+ </div>
30
+ <div class="col-xs-8">
31
+ <input type="password" id="newpassword1" class="search_input input-font" v-model="model.password"
32
+ :placeholder="weakPassword?'需要包含大小写字母符号数字':'请输入新密码'"/>
33
+ </div>
34
+ </div>
35
+ <div class="row app-row">
36
+ <div class="col-xs-4" style="margin-top: 8px">
37
+ <img src="../assets/密码.png" style="width: 20px;margin-bottom: 5px" alt="">
38
+ <span class="text-left font">确认密码</span>
39
+ </div>
40
+ <div class="col-xs-8">
41
+ <input type="password" id="newpassword2" class="search_input input-font" v-model="model.newpassword"
42
+ placeholder="请重新输入新密码"/>
43
+ </div>
44
+ </div>
45
+ <div class="row app-row">
46
+ <div class="col-xs-4" style="margin-top: 8px">
47
+ <img src="../assets/选中.png" style="width: 20px;margin-bottom: 5px" alt="" v-if="showpass" @click="showoff()">
48
+ <img src="../assets/未选.png" style="width: 20px;margin-bottom: 5px" alt="" v-if="!showpass" @click="showon()">
49
+ <span class="text-left font">显示密码</span>
50
+ </div>
51
+ </div>
52
+ <div class="row app-row text-center">
53
+ <button type="button" class="btn btn-lg btn-font btn-color" style="width: 45%;" @click="save()">提交</button>
54
+ </div>
55
+ </div>
56
+ </template>
57
+ <script>
58
+ import Vue from 'vue'
59
+
60
+ let asyncCheck = async function (self, url) {
61
+ try {
62
+ let that = self
63
+ let user = {
64
+ ename: that.model.ename,
65
+ newpassword: that.model.password,
66
+ affirmpassword: that.model.newpassword,
67
+ password: that.model.oldpassword
68
+ }
69
+ let res = await Vue.resetpost(`${url}/rs/user/modifypwd`, {data: user}, {resolveMsg: null, rejectMsg: null})
70
+ console.log("手机端验证登陆原始密码")
71
+ console.log(res.data)
72
+ if ((JSON.stringify(res.data).startsWith("{") || JSON.stringify(res.data).startsWith("[")) && res.data.code && res.data.msg) {
73
+ if (res.data.code === 200) {
74
+ that.$showMessage('修改密码成功!')
75
+ if (that.sourse == 'login') {
76
+ that.$emit('success', that.model.password)
77
+ return
78
+ }
79
+ that.$back()
80
+ } else {
81
+ that.$showMessage('修改密码失败,请重新输入!' + res.data.msg)
82
+ console.log(res.data)
83
+ return
84
+ }
85
+ } else {
86
+ if(res.data){
87
+ that.$showMessage('修改密码成功!')
88
+ if(that.sourse == 'login'){
89
+ that.$emit('success',that.model.password)
90
+ return
91
+ }
92
+ that.$back()
93
+ }else {
94
+ that.$showMessage('修改密码失败,请重新输入!')
95
+ console.log(res.data)
96
+ return
97
+ }
98
+ }
99
+ } catch (error) {
100
+ if (error.status == 500) {
101
+ that.$showMessage('网络异常,请检查手机网络!')
102
+ } else {
103
+ throw error
104
+ }
105
+ }
106
+ }
107
+
108
+ export default {
109
+ title: '修改密码',
110
+ data() {
111
+ return {
112
+ model: {
113
+ user: Vue.user.name,
114
+ userid: Vue.user.id,
115
+ ename: Vue.user.ename,
116
+ oldpassword: '',
117
+ password: '',
118
+ newpassword: ''
119
+ },
120
+ showpass: false
121
+ }
122
+ },
123
+ props: {
124
+ sourse: '',
125
+ weakPassword: false
126
+ },
127
+ ready() {
128
+
129
+ },
130
+ methods: {
131
+ back() {
132
+ let _this = this
133
+ this.$showMessage('所填写内容将不可恢复!', ['confirm', 'cancel']).then((res) => {
134
+ if (res === 'confirm') {
135
+ _this.$back()
136
+ }
137
+ })
138
+ },
139
+ // showpass(){
140
+ // console.log('1')
141
+ // document.getElementById("oldpassword").type = "text"
142
+ // },
143
+ showon() {
144
+ this.showpass = true
145
+ document.getElementById("oldpassword").type = "text"
146
+ document.getElementById("newpassword1").type = "text"
147
+ document.getElementById("newpassword2").type = "text"
148
+ },
149
+ showoff() {
150
+ this.showpass = false
151
+ document.getElementById("oldpassword").type = "password"
152
+ document.getElementById("newpassword1").type = "password"
153
+ document.getElementById("newpassword2").type = "password"
154
+ },
155
+ save() {
156
+ // 先对新密码和确认密码是否一致
157
+ if (this.model.password != this.model.newpassword) {
158
+ this.$showMessage('两次输入密码不一致!')
159
+ return
160
+ }
161
+ if (this.weakPassword && this.model.password && !(/^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?!.*(123|321|abc|cba))[a-zA-Z\d!@#$%^&*()_+-=<>?]{8,16}$/.test(this.model.password))) {
162
+ this.$showMessage("密码必须是8~16位数字与大小字母外加特殊字符的组合,并且不能出现类似'123','abc'等连贯数字或者字母")
163
+ return
164
+ }
165
+ // 检验原始密码是否符合 并修改密码
166
+ asyncCheck(this, this.$androidUtil.getProxyUrl())
167
+ }
168
+ }
169
+ }
170
+ </script>
171
+ <style>
172
+ .search_input {
173
+ border: 0;
174
+ outline: none;
175
+ }
176
+
177
+ .app-row {
178
+ background-color: white;
179
+ padding: 10px 10px 0 10px;
180
+ border-bottom: 1px solid rgba(235, 235, 235, 0.5);
181
+ }
182
+
183
+ .font {
184
+ font: 15px PingFang-SC-Medium;
185
+ }
186
+
187
+ .btn-font {
188
+ font: 600 16px PingFang-SC-Bold;
189
+ color: #499EDF;
190
+ }
191
+
192
+ .btn-color {
193
+ background-color: #FFFFFF;
194
+ border-radius: 10px;
195
+ border: 1px solid #499EDF;
196
+ }
197
+
198
+ .input-font {
199
+ font: 15px PingFang-SC-Medium;
200
+ color: #333333;
201
+ }
202
+
203
+ .app-botton {
204
+ position: fixed;
205
+ background: #87b2dd;
206
+ color: #FFF;
207
+ padding: 8px;
208
+ text-align: center;
209
+ font-size: 1.2em;
210
+ z-index: 10;
211
+ opacity: 0.5;
212
+ bottom: 50px;
213
+ margin-top: -10px;
214
+ height: 40px;
215
+ }
216
+ </style>
@@ -1,117 +1,117 @@
1
- <template>
2
- <div class="no-close row android-repair-order">
3
- <div :class="[fullpage ? 'menu-hide' : 'col-sm-3 col-xs-3']" >
4
- <ul class="nav nav-tabs">
5
- <li>
6
- <p style="padding-left: 15px; color: white; font-weight: 550">
7
- 登录人:{{loginInfo.name}}
8
- </p>
9
- <!--({{loginInfo.id}})-->
10
- </li>
11
- <li v-for="tab in tabs" @click="tabSelect(tab.link)" :class="{active: tab.link === componentName}">
12
- <a href="#" class="tab-befor-img">
13
- <img :src="getImg(tab.icon)" style="height: 30px;width:30px;">
14
- {{tab.name}}</a>
15
- </li>
16
- <li @click="mute()">
17
- <a href="#" class="repair-mute-class" >
18
- <img src="../assets/guanbishengyin.png" style="height: 30px;width:30px;border-width:0">关闭声音</a>
19
- </li>
20
- </ul>
21
- </div>
22
- <div :class="[fullpage ? 'col-sm-12 col-xs-12' : 'col-sm-9 col-xs-9']" style="overflow: auto;">
23
- <!--<route v-ref:route></route>-->
24
- <repair-first v-if="componentName === 'repair-first'"></repair-first>
25
- <completed-repair v-if="componentName === 'completed-repair'"></completed-repair>
26
- <up-load v-if="componentName === 'up-load'"></up-load>
27
- <check-page v-if="componentName === 'check-page'"></check-page>
28
- <readmeter-home v-if="componentName === 'readmeter-home'"></readmeter-home>
29
- <repair-send v-if="componentName === 'repair-send'"></repair-send>
30
- </div>
31
- </div>
32
- </template>
33
-
34
- <script scoped>
35
- import Vue from 'vue'
36
- import * as Util from '../Util'
37
- export default {
38
- title: '底部导航',
39
- data () {
40
- return {
41
- componentName: 'repair-first',
42
- tabs: Util.f.functions,
43
- text: '导航组件this',
44
- fullpage: false,
45
- loginInfo: {}
46
- }
47
- },
48
- ready () {
49
- this.loginInfo = Object.assign({}, this.loginInfo, Vue.user)
50
- console.log(this.loginInfo, 'loginINfo')
51
- // this.$refs.route.init('repair-first')
52
- },
53
- methods: {
54
- // 选择tab
55
- tabSelect (name) {
56
- this.componentName = name
57
- // this.$refs.route.init(name)
58
- if (name !== 'text-chat-pane') {
59
- this.notified('false')
60
- } else {
61
- this.notified('true')
62
- }
63
- },
64
- notified (stopped) {
65
- console.log('txtServiceStopped invoked$')
66
- if (this.$androidUtil.isAndroid) {
67
- HostApp.setPreference('txtServiceStopped', stopped)
68
- HostApp.setPreference('msgCount', '0')
69
- }
70
- },
71
- mute () {
72
- if(navigator.userAgent.match('iPad') || navigator.userAgent.match('iPhone')){
73
- window.prompt("mute","")
74
- }else{
75
- HostApp.mute()
76
- }
77
- },
78
- getImg (param) {
79
- return require(`../assets/${param}.png`)
80
- }
81
- },
82
- events: {
83
- showFullPage () {
84
- this.fullpage = true
85
- },
86
- hideFullPage () {
87
- this.fullpage = false
88
- }
89
- }
90
- }
91
- </script>
92
- <style lang="less">
93
- .tab-befor-img {
94
- margin: 3px 0;
95
- content: '';
96
- background-size: 30px;
97
- display: inline-block;
98
- margin-right: 8px;
99
- height: 30px;
100
- width: 100%;
101
- vertical-align: -35%;
102
- }
103
- img[src=""],img:not([src]){
104
- opacity: 0;
105
- border:none;
106
- visibility: hidden;
107
- max-width: none;
108
- }
109
- /* .repair-mute-class {
110
- &::before {
111
- .tab-befor-img("../assets/guanbishengyin.png")
112
- }
113
- }*/
114
- .menu-hide {
115
- display: none;
116
- }
117
- </style>
1
+ <template>
2
+ <div class="no-close row android-repair-order">
3
+ <div :class="[fullpage ? 'menu-hide' : 'col-sm-3 col-xs-3']" >
4
+ <ul class="nav nav-tabs">
5
+ <li>
6
+ <p style="padding-left: 15px; color: white; font-weight: 550">
7
+ 登录人:{{loginInfo.name}}
8
+ </p>
9
+ <!--({{loginInfo.id}})-->
10
+ </li>
11
+ <li v-for="tab in tabs" @click="tabSelect(tab.link)" :class="{active: tab.link === componentName}">
12
+ <a href="#" class="tab-befor-img">
13
+ <img :src="getImg(tab.icon)" style="height: 30px;width:30px;">
14
+ {{tab.name}}</a>
15
+ </li>
16
+ <li @click="mute()">
17
+ <a href="#" class="repair-mute-class" >
18
+ <img src="../assets/guanbishengyin.png" style="height: 30px;width:30px;border-width:0">关闭声音</a>
19
+ </li>
20
+ </ul>
21
+ </div>
22
+ <div :class="[fullpage ? 'col-sm-12 col-xs-12' : 'col-sm-9 col-xs-9']" style="overflow: auto;">
23
+ <!--<route v-ref:route></route>-->
24
+ <repair-first v-if="componentName === 'repair-first'"></repair-first>
25
+ <completed-repair v-if="componentName === 'completed-repair'"></completed-repair>
26
+ <up-load v-if="componentName === 'up-load'"></up-load>
27
+ <check-page v-if="componentName === 'check-page'"></check-page>
28
+ <readmeter-home v-if="componentName === 'readmeter-home'"></readmeter-home>
29
+ <repair-send v-if="componentName === 'repair-send'"></repair-send>
30
+ </div>
31
+ </div>
32
+ </template>
33
+
34
+ <script scoped>
35
+ import Vue from 'vue'
36
+ import * as Util from '../Util'
37
+ export default {
38
+ title: '底部导航',
39
+ data () {
40
+ return {
41
+ componentName: 'repair-first',
42
+ tabs: Util.f.functions,
43
+ text: '导航组件this',
44
+ fullpage: false,
45
+ loginInfo: {}
46
+ }
47
+ },
48
+ ready () {
49
+ this.loginInfo = Object.assign({}, this.loginInfo, Vue.user)
50
+ console.log(this.loginInfo, 'loginINfo')
51
+ // this.$refs.route.init('repair-first')
52
+ },
53
+ methods: {
54
+ // 选择tab
55
+ tabSelect (name) {
56
+ this.componentName = name
57
+ // this.$refs.route.init(name)
58
+ if (name !== 'text-chat-pane') {
59
+ this.notified('false')
60
+ } else {
61
+ this.notified('true')
62
+ }
63
+ },
64
+ notified (stopped) {
65
+ console.log('txtServiceStopped invoked$')
66
+ if (this.$androidUtil.isAndroid) {
67
+ HostApp.setPreference('txtServiceStopped', stopped)
68
+ HostApp.setPreference('msgCount', '0')
69
+ }
70
+ },
71
+ mute () {
72
+ if(navigator.userAgent.match('iPad') || navigator.userAgent.match('iPhone')){
73
+ window.prompt("mute","")
74
+ }else{
75
+ HostApp.mute()
76
+ }
77
+ },
78
+ getImg (param) {
79
+ return require(`../assets/${param}.png`)
80
+ }
81
+ },
82
+ events: {
83
+ showFullPage () {
84
+ this.fullpage = true
85
+ },
86
+ hideFullPage () {
87
+ this.fullpage = false
88
+ }
89
+ }
90
+ }
91
+ </script>
92
+ <style lang="less">
93
+ .tab-befor-img {
94
+ margin: 3px 0;
95
+ content: '';
96
+ background-size: 30px;
97
+ display: inline-block;
98
+ margin-right: 8px;
99
+ height: 30px;
100
+ width: 100%;
101
+ vertical-align: -35%;
102
+ }
103
+ img[src=""],img:not([src]){
104
+ opacity: 0;
105
+ border:none;
106
+ visibility: hidden;
107
+ max-width: none;
108
+ }
109
+ /* .repair-mute-class {
110
+ &::before {
111
+ .tab-befor-img("../assets/guanbishengyin.png")
112
+ }
113
+ }*/
114
+ .menu-hide {
115
+ display: none;
116
+ }
117
+ </style>