system-phone 3.0.14 → 3.0.16

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.
@@ -6,6 +6,12 @@
6
6
  <div class="badge" v-show="tab.name == '维修派发'">
7
7
  <div class="badge-content">{{ pointNum?pointNum:0 }}</div>
8
8
  </div>
9
+ <div class="badge" v-show="tab.name == '抄表待办'">
10
+ <div class="badge-content">{{ meterNum?meterNum:0 }}</div>
11
+ </div>
12
+ <div class="badge" v-show="tab.name == '信息公告'">
13
+ <div class="badge-content">{{ infoNum?infoNum:0 }}</div>
14
+ </div>
9
15
  <img class="imgs" :src="imgback(tab.name)" alt="">
10
16
  <p></p>
11
17
  <p class="pagesfoot">{{tab.name}}</p>
@@ -35,8 +41,9 @@
35
41
  text: '导航组件this',
36
42
  beforeName: '在线业务',
37
43
  sourcet: '竖屏',
38
- pointNum: null
39
-
44
+ pointNum: null,
45
+ infoNum:null,
46
+ meterNum:null
40
47
  }
41
48
  },
42
49
  ready () {
@@ -112,13 +119,66 @@
112
119
  },
113
120
  getTabs(){
114
121
  this.getRepairNum()
122
+ debugger
123
+ this.getInfoNum()
124
+ this.getmeterNum()
115
125
  for(let funs in Vue.functions){
116
126
  if(Vue.functions[funs].link == 'online-manage'){
117
127
  return Vue.functions[funs].children
118
128
  }
119
129
  }
120
130
  },
131
+ getmeterNum() {
132
+ if (!Vue.android || !Vue.come || !Vue.come == 'tongchuan') {
133
+ return
134
+ }
135
+ window.setInterval( ()=> {
136
+ let val = {
137
+ items:"*",
138
+ tablename:"t_handplan",
139
+ orderitem:"id desc",
140
+ condition:`1=1 and f_inputtor = '${Vue.user.name}' and f_hand_state = '有效' and f_meter_state = '未抄表'`,
141
+ f_orgid:`'${Vue.user.orgid}'`
142
+ }
143
+ let http = new HttpResetClass()
144
+ http.load('POST', `${this.$androidUtil.getProxyUrl()}/rs/sql/tel_singleTable_OrderBy`, {data: val}, {
145
+ resolveMsg: null,
146
+ rejectMsg: null
147
+ }).then((res) => {
148
+ this.meterNum = res.data.length
149
+ debugger
150
+ console.log("this.meterNum的值是:",this.meterNum)
151
+ })
152
+ },10000)
153
+ this.timeOutGetmeterNum()
154
+ },
155
+ getInfoNum() {
156
+ if (!Vue.android || !Vue.come || !Vue.come == 'tongchuan') {
157
+ return
158
+ }
159
+ debugger
160
+ window.setInterval( ()=> {
161
+ let val = {
162
+ items:"*",
163
+ tablename:"T_STOPGAS",
164
+ orderitem:"f_date desc",
165
+ condition:'1=1',
166
+ f_orgstr:`'${Vue.user.orgid}'`
167
+ }
168
+ let http = new HttpResetClass()
169
+ http.load('POST', `${this.$androidUtil.getProxyUrl()}/rs/sql/tel_singleTable_OrderBy`, {data: val}, {
170
+ resolveMsg: null,
171
+ rejectMsg: null
172
+ }).then((res) => {
173
+ this.infoNum = res.data.length
174
+ debugger
175
+ console.log("this.infoNum的值是:",this.infoNum)
176
+ })
177
+ },10000)
178
+ this.timeOutGetInfoNum()
179
+ },
121
180
  getRepairNum() {
181
+ debugger
122
182
  if (!Vue.android || !Vue.come || !Vue.come == 'tongchuan') {
123
183
  return
124
184
  }
@@ -142,6 +202,7 @@
142
202
  this.timeOutGetRepairNum()
143
203
  },
144
204
  timeOutGetRepairNum(){
205
+ debugger
145
206
  let condition = `1 = 1 and f_workorder_type = '报修单' and f_state = null `
146
207
  let val = {
147
208
  condition: {
@@ -158,6 +219,39 @@
158
219
  this.pointNum = res.data.length
159
220
  })
160
221
  },
222
+ timeOutGetInfoNum(){
223
+ debugger
224
+ let val = {
225
+ items:"*",
226
+ tablename:"T_STOPGAS",
227
+ orderitem:"f_date desc",
228
+ condition:'1=1',
229
+ f_orgstr:`'${Vue.user.orgid}'`
230
+ }
231
+ let http = new HttpResetClass()
232
+ http.load('POST', `${this.$androidUtil.getProxyUrl()}/rs/sql/tel_singleTable_OrderBy`, {data: val}, {
233
+ resolveMsg: null,
234
+ rejectMsg: null
235
+ }).then((res) => {
236
+ this.infoNum = res.data.length
237
+ })
238
+ },
239
+ timeOutGetmeterNum(){
240
+ let val = {
241
+ items:"*",
242
+ tablename:"t_handplan",
243
+ orderitem:"id desc",
244
+ condition:`1=1 and f_inputtor = '${Vue.user.name}' and f_hand_state = '有效' and f_meter_state = '未抄表'`,
245
+ f_orgid:`'${Vue.user.orgid}'`
246
+ }
247
+ let http = new HttpResetClass()
248
+ http.load('POST', `${this.$androidUtil.getProxyUrl()}/rs/sql/tel_singleTable_OrderBy`, {data: val}, {
249
+ resolveMsg: null,
250
+ rejectMsg: null
251
+ }).then((res) => {
252
+ this.meterNum = res.data.length
253
+ })
254
+ },
161
255
  imgback(val){
162
256
  return require('../assets/'+val+'.png')
163
257
  },
@@ -1,217 +1,217 @@
1
- <template>
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">
4
- <span class='btn-content' :style="{textOverflow:'ellipsis',overflow: 'hidden'}">{{ resname }}</span>
5
- <span class="caret"></span>
6
- </button>
7
- <tree :model='model' :is-click="false" slot="dropdown-menu" class="dropdown-menu auto" role="menu">
8
- <span partial>
9
- <span class="glyphicon glyphicon-chevron-down" v-show="row.open&&row.data.children.length>0" style="color:balck;"></span>
10
- <span class="glyphicon glyphicon-chevron-right" v-show="!row.open&&row.data.children.length>0" style="color:balck;"></span>
11
- <span class="RightTreeCanSelect" v-if="row.data.hasright" @click.stop="$parent.$parent.$parent.selectclick(row.data)">{{row.data.name}}</span>
12
- <span class="RightTreeCanNotSelect" v-else>{{row.data.name}}</span>
13
- <span class="glyphicon glyphicon-ok " v-if="$parent.$parent.$parent.isSelect(row.data.id)" style="color:balck;"></span>
14
- </span>
15
- </tree>
16
- </dropdown>
17
- <v-select v-if="islist"
18
- placeholder='请选择'
19
- :options='childrenOptions'
20
- @change="selectclick"
21
- :value-single="true"
22
- close-on-select></v-select>
23
- </template>
24
- <script>
25
- import * as ldapHelper from './../util/LdapHelper'
26
- import Vue from 'vue'
27
- export default {
28
- title: '资源树',
29
- props: {
30
- source: {
31
- type: String,
32
- require: true,
33
- default:`tool.getFullTree(this.getRights().where(row.getType() == $organization$))`
34
- },
35
- resid: {
36
- },
37
- islist: {
38
- type: Boolean,
39
- default: false
40
- },
41
- //是否有查看上级的权限
42
- Url:{
43
- type: String,
44
- default:''
45
- }
46
- },
47
- data () {
48
- return {
49
- width:'100%',
50
- resobj:{res:Vue.user.orgs, resids:Vue.user.orgid},
51
- userid: Vue.user.id,
52
- resname:[Vue.user.orgs],
53
- orgnames : [Vue.user.orgs],
54
- orgids : [Vue.user.orgid],
55
- orgobj:[],
56
- model: [
57
-
58
- ],
59
- childrenOptions: []
60
- }
61
- },
62
- methods: {
63
- selectRes () {
64
- let newobj={
65
- "res": [this.resname],
66
- "resids": [this.orgids],
67
- }
68
- this.$emit('re-res', newobj)
69
- },
70
- //点击资源的方法
71
- selectclick (row) {
72
- if(this.orgids.includes(row.id)){
73
- this.orgnames=[]
74
- this.orgids=[]
75
- this.removeResChild(row)
76
- this.orgnames.push(row.name)
77
- this.orgids.push(row.id)
78
- this.orgobj.push(row)
79
- }else{
80
- this.orgnames=[]
81
- this.orgids=[]
82
- this.orgobj=[]
83
- this.addResChild(row)
84
- }
85
- console.log(this.orgnames.join(','))
86
- this.resname = this.orgnames.length > 0 ? this.orgnames.join(','):'请选择'
87
- let newobj={
88
- "res": this.orgnames,
89
- "resids": this.orgids,
90
- "orgobj": this.orgobj,
91
- }
92
- this.$emit('re-res', newobj)
93
- },
94
- addResChild(val){
95
- // if(this.orgids.includes(val.id)){
96
- // this.orgnames.splice(this.orgnames.indexOf(val.name),1)
97
- // this.orgids.splice(this.orgids.indexOf(val.id),1)
98
- // }
99
- this.orgnames.push(val.name)
100
- this.orgids.push(val.id)
101
- this.orgobj.push(val)
102
- if(val.children && val.children.length>0){
103
- Object.keys(val.children).forEach((key) => {
104
- this.addResChild(val.children[key])
105
- })
106
- }
107
- },
108
- removeResChild(val){
109
- this.orgnames.splice(this.orgnames.indexOf(val.name),1)
110
- this.orgids.splice(this.orgids.indexOf(val.id),1)
111
- this.orgobj.splice(this.orgids.indexOf(val),1)
112
- if(val.children && val.children.length>0){
113
- Object.keys(val.children).forEach((key) => {
114
- this.removeResChild(val.children[key])
115
- })
116
- }
117
- },
118
- //检查是否显示对勾
119
- isSelect(val) {
120
- if(this.orgids.includes(val)){
121
- return true
122
- }else{
123
- return false
124
- }
125
- },
126
- //树形结构变成list
127
- treetoList(val) {
128
- for (let value of val) {
129
- this.ergodicList(value)
130
- }
131
- },
132
- //找到跟节点
133
- ergodicList (val) {
134
- val.children.length > 0 ? this.treetoList(val.children) : this.childrenOptions.push({label: val.name, value: val})
135
- },
136
- //处理显示默认值
137
- dealResObj (val) {
138
- try{
139
- var arr=val.res.split(".")
140
- //截取最后一个分公司名字
141
- this.resname=arr[arr.length-1].toString()
142
- this.resid = val.resids
143
- }catch (e){
144
- this.resname='请选择组织'
145
- }
146
- },
147
- judgBoundary(){
148
- //判断是否超出边界,超出移动
149
- if(document.documentElement.offsetWidth< this.$els.dropdown.getBoundingClientRect().right){
150
- this.left = document.documentElement.offsetWidth - this.$els.dropdown.getBoundingClientRect().right - 25
151
- }
152
- }
153
- },
154
- events: {
155
-
156
- },
157
- ready () {
158
- console.log('righttree ready')
159
- if(this.$els.dropdown){
160
- console.log('righttree1')
161
- this.width = this.$els.dropdown.clientWidth * 0.7 +'px'
162
- }
163
- console.log('righttree2')
164
- this.dealResObj (this.resobj)
165
- console.log('righttree3')
166
- var data = {
167
- source: this.source,
168
- userid: this.userid
169
- }
170
- console.log('向资源服务发送请求')
171
- this.$resetpost(`${this.$androidUtil.getProxyUrl()}/rs/search`, data,{
172
- resolveMsg : null ,
173
- rejectMsg : null,
174
- }).then((ret) => {
175
- console.log('向资源服务请求结束')
176
- // 去掉前面的两层节点
177
- ret.data[0].children[0].children.forEach((item) => {
178
- this.model.push(item)
179
- })
180
- // 给资源添加父关系
181
- ldapHelper.procParent(this.model)
182
- if (this.islist) {
183
- this.treetoList(this.model)
184
- }
185
- this.selectRes()
186
- })
187
- },
188
- watch: {
189
- }
190
- }
191
- </script>
192
- <style lang="less">
193
- #res-tree {
194
- .list-group-item {
195
- background-color: #FFF;
196
- color: #000;
197
- padding: 5px 10px;
198
- border:0px;
199
- white-space: nowrap;
200
- }
201
- }
202
- #res-tree .list-group {
203
- width: auto;
204
- min-width: 100%;
205
- }
206
- .hide-text-overflow{
207
- overflow: hidden;
208
- text-overflow: ellipsis
209
- }
210
- .select-style {
211
- border: 0px;
212
- /*border-bottom: 2px solid #C9CCCF;*/
213
- border: 1px solid #93B2D3;
214
- border-radius: 0px;
215
- color: #555;
216
- }
217
- </style>
1
+ <template>
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">
4
+ <span class='btn-content' :style="{textOverflow:'ellipsis',overflow: 'hidden'}">{{ resname }}</span>
5
+ <span class="caret"></span>
6
+ </button>
7
+ <tree :model='model' :is-click="false" slot="dropdown-menu" class="dropdown-menu auto" role="menu">
8
+ <span partial>
9
+ <span class="glyphicon glyphicon-chevron-down" v-show="row.open&&row.data.children.length>0" style="color:balck;"></span>
10
+ <span class="glyphicon glyphicon-chevron-right" v-show="!row.open&&row.data.children.length>0" style="color:balck;"></span>
11
+ <span class="RightTreeCanSelect" v-if="row.data.hasright" @click.stop="$parent.$parent.$parent.selectclick(row.data)">{{row.data.name}}</span>
12
+ <span class="RightTreeCanNotSelect" v-else>{{row.data.name}}</span>
13
+ <span class="glyphicon glyphicon-ok " v-if="$parent.$parent.$parent.isSelect(row.data.id)" style="color:balck;"></span>
14
+ </span>
15
+ </tree>
16
+ </dropdown>
17
+ <v-select v-if="islist"
18
+ placeholder='请选择'
19
+ :options='childrenOptions'
20
+ @change="selectclick"
21
+ :value-single="true"
22
+ close-on-select></v-select>
23
+ </template>
24
+ <script>
25
+ import * as ldapHelper from './../util/LdapHelper'
26
+ import Vue from 'vue'
27
+ export default {
28
+ title: '资源树',
29
+ props: {
30
+ source: {
31
+ type: String,
32
+ require: true,
33
+ default:`tool.getFullTree(this.getRights().where(row.getType() == $organization$))`
34
+ },
35
+ resid: {
36
+ },
37
+ islist: {
38
+ type: Boolean,
39
+ default: false
40
+ },
41
+ //是否有查看上级的权限
42
+ Url:{
43
+ type: String,
44
+ default:''
45
+ }
46
+ },
47
+ data () {
48
+ return {
49
+ width:'100%',
50
+ resobj:{res:Vue.user.orgs, resids:Vue.user.orgid},
51
+ userid: Vue.user.id,
52
+ resname:[Vue.user.orgs],
53
+ orgnames : [Vue.user.orgs],
54
+ orgids : [Vue.user.orgid],
55
+ orgobj:[],
56
+ model: [
57
+
58
+ ],
59
+ childrenOptions: []
60
+ }
61
+ },
62
+ methods: {
63
+ selectRes () {
64
+ let newobj={
65
+ "res": [this.resname],
66
+ "resids": [this.orgids],
67
+ }
68
+ this.$emit('re-res', newobj)
69
+ },
70
+ //点击资源的方法
71
+ selectclick (row) {
72
+ if(this.orgids.includes(row.id)){
73
+ this.orgnames=[]
74
+ this.orgids=[]
75
+ this.removeResChild(row)
76
+ this.orgnames.push(row.name)
77
+ this.orgids.push(row.id)
78
+ this.orgobj.push(row)
79
+ }else{
80
+ this.orgnames=[]
81
+ this.orgids=[]
82
+ this.orgobj=[]
83
+ this.addResChild(row)
84
+ }
85
+ console.log(this.orgnames.join(','))
86
+ this.resname = this.orgnames.length > 0 ? this.orgnames.join(','):'请选择'
87
+ let newobj={
88
+ "res": this.orgnames,
89
+ "resids": this.orgids,
90
+ "orgobj": this.orgobj,
91
+ }
92
+ this.$emit('re-res', newobj)
93
+ },
94
+ addResChild(val){
95
+ // if(this.orgids.includes(val.id)){
96
+ // this.orgnames.splice(this.orgnames.indexOf(val.name),1)
97
+ // this.orgids.splice(this.orgids.indexOf(val.id),1)
98
+ // }
99
+ this.orgnames.push(val.name)
100
+ this.orgids.push(val.id)
101
+ this.orgobj.push(val)
102
+ if(val.children && val.children.length>0){
103
+ Object.keys(val.children).forEach((key) => {
104
+ this.addResChild(val.children[key])
105
+ })
106
+ }
107
+ },
108
+ removeResChild(val){
109
+ this.orgnames.splice(this.orgnames.indexOf(val.name),1)
110
+ this.orgids.splice(this.orgids.indexOf(val.id),1)
111
+ this.orgobj.splice(this.orgids.indexOf(val),1)
112
+ if(val.children && val.children.length>0){
113
+ Object.keys(val.children).forEach((key) => {
114
+ this.removeResChild(val.children[key])
115
+ })
116
+ }
117
+ },
118
+ //检查是否显示对勾
119
+ isSelect(val) {
120
+ if(this.orgids.includes(val)){
121
+ return true
122
+ }else{
123
+ return false
124
+ }
125
+ },
126
+ //树形结构变成list
127
+ treetoList(val) {
128
+ for (let value of val) {
129
+ this.ergodicList(value)
130
+ }
131
+ },
132
+ //找到跟节点
133
+ ergodicList (val) {
134
+ val.children.length > 0 ? this.treetoList(val.children) : this.childrenOptions.push({label: val.name, value: val})
135
+ },
136
+ //处理显示默认值
137
+ dealResObj (val) {
138
+ try{
139
+ var arr=val.res.split(".")
140
+ //截取最后一个分公司名字
141
+ this.resname=arr[arr.length-1].toString()
142
+ this.resid = val.resids
143
+ }catch (e){
144
+ this.resname='请选择组织'
145
+ }
146
+ },
147
+ judgBoundary(){
148
+ //判断是否超出边界,超出移动
149
+ if(document.documentElement.offsetWidth< this.$els.dropdown.getBoundingClientRect().right){
150
+ this.left = document.documentElement.offsetWidth - this.$els.dropdown.getBoundingClientRect().right - 25
151
+ }
152
+ }
153
+ },
154
+ events: {
155
+
156
+ },
157
+ ready () {
158
+ console.log('righttree ready')
159
+ if(this.$els.dropdown){
160
+ console.log('righttree1')
161
+ this.width = this.$els.dropdown.clientWidth * 0.7 +'px'
162
+ }
163
+ console.log('righttree2')
164
+ this.dealResObj (this.resobj)
165
+ console.log('righttree3')
166
+ var data = {
167
+ source: this.source,
168
+ userid: this.userid
169
+ }
170
+ console.log('向资源服务发送请求')
171
+ this.$resetpost(`${this.$androidUtil.getProxyUrl()}/rs/search`, data,{
172
+ resolveMsg : null ,
173
+ rejectMsg : null,
174
+ }).then((ret) => {
175
+ console.log('向资源服务请求结束')
176
+ // 去掉前面的两层节点
177
+ ret.data[0].children[0].children.forEach((item) => {
178
+ this.model.push(item)
179
+ })
180
+ // 给资源添加父关系
181
+ ldapHelper.procParent(this.model)
182
+ if (this.islist) {
183
+ this.treetoList(this.model)
184
+ }
185
+ this.selectRes()
186
+ })
187
+ },
188
+ watch: {
189
+ }
190
+ }
191
+ </script>
192
+ <style lang="less">
193
+ #res-tree {
194
+ .list-group-item {
195
+ background-color: #FFF;
196
+ color: #000;
197
+ padding: 5px 10px;
198
+ border:0px;
199
+ white-space: nowrap;
200
+ }
201
+ }
202
+ #res-tree .list-group {
203
+ width: auto;
204
+ min-width: 100%;
205
+ }
206
+ .hide-text-overflow{
207
+ overflow: hidden;
208
+ text-overflow: ellipsis
209
+ }
210
+ .select-style {
211
+ border: 0px;
212
+ /*border-bottom: 2px solid #C9CCCF;*/
213
+ border: 1px solid #93B2D3;
214
+ border-radius: 0px;
215
+ color: #555;
216
+ }
217
+ </style>