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,81 +1,81 @@
1
- <template>
2
- <div id="TabBar" class="tab-bar flex-row">
3
- <div style="text-align: center;width:{{shuclass}}" @click="didClickedItem(tab.link,tab.name,$index)" v-for="tab in tabs" :class="{active: ($index == actives)}">
4
- <div class="row">
5
- <img class="butt" :src="imgback(tab.name,'选中')" v-if="$index == actives">
6
- <img class="butt" :src="imgback(tab.name,'未选中')" v-if="$index != actives">
7
- <p class="navimagesfoot" style="padding-top:5px">{{tab.name}}</p>
8
- </div>
9
- </div>
10
- </div>
11
- </template>
12
-
13
- <script>
14
- import * as Util from '../Util'
15
- import Vue from 'vue'
16
- export default {
17
- title: "TabBar",
18
- props: {
19
-
20
- },
21
- data: function () {
22
- return {
23
- actives:0,
24
- shuclass:'100%',
25
- tabs: Vue.functions,
26
- // tabs:[{link:'attend-manage',name:'待办工单'},{link:'modify-pass-word',name:'已办工单'},{link:'repair-first',name:'工单上传'}]
27
- }
28
- },
29
- methods: {
30
- didClickedItem(link,name,tag) {
31
- this.actives = tag
32
- var data = {
33
- link:link,
34
- name:name,
35
- tag:tag
36
- }
37
- this.$emit('select-item', data);
38
- },
39
- imgback(val,flag){
40
- return require('../assets/'+ val+ flag +'.png')
41
- },
42
- },
43
- ready () {
44
- this.actives = 0
45
- var number = this.tabs.length
46
- var number1 = 100/number
47
- this.shuclass = number1 +'%'
48
- this.didClickedItem(this.tabs[0].link,this.tabs[0].name,0)
49
- },
50
- }
51
- </script>
52
-
53
- <style scoped>
54
- .tab-bar {
55
- background-color: white;
56
- height: 10%;
57
- border: 0 solid rgb(210, 210, 210);
58
- border-top-width: 1px;
59
- position: fixed;
60
- margin: auto;
61
- bottom: 0;
62
- width: 100%;
63
- }
64
-
65
- .tab-bar-item {
66
- height: 54px;
67
- }
68
-
69
- .active {
70
- color: #1E90FF;
71
- }
72
-
73
- i {
74
- font-size: 25px;
75
- }
76
- .navimagesfoot{
77
- font-size: 10px;
78
- /* font-family: "Pingfhs";*/
79
- }
80
- .butt {margin-left: 20%; margin-right: 20%; margin-top: 10%; width: 25px; border-radius: 5%; text-align: center;align-items:center;}
81
- </style>
1
+ <template>
2
+ <div id="TabBar" class="tab-bar flex-row">
3
+ <div style="text-align: center;width:{{shuclass}}" @click="didClickedItem(tab.link,tab.name,$index)" v-for="tab in tabs" :class="{active: ($index == actives)}">
4
+ <div class="row">
5
+ <img class="butt" :src="imgback(tab.name,'选中')" v-if="$index == actives">
6
+ <img class="butt" :src="imgback(tab.name,'未选中')" v-if="$index != actives">
7
+ <p class="navimagesfoot" style="padding-top:5px">{{tab.name}}</p>
8
+ </div>
9
+ </div>
10
+ </div>
11
+ </template>
12
+
13
+ <script>
14
+ import * as Util from '../Util'
15
+ import Vue from 'vue'
16
+ export default {
17
+ title: "TabBar",
18
+ props: {
19
+
20
+ },
21
+ data: function () {
22
+ return {
23
+ actives:0,
24
+ shuclass:'100%',
25
+ tabs: Vue.functions,
26
+ // tabs:[{link:'attend-manage',name:'待办工单'},{link:'modify-pass-word',name:'已办工单'},{link:'repair-first',name:'工单上传'}]
27
+ }
28
+ },
29
+ methods: {
30
+ didClickedItem(link,name,tag) {
31
+ this.actives = tag
32
+ var data = {
33
+ link:link,
34
+ name:name,
35
+ tag:tag
36
+ }
37
+ this.$emit('select-item', data);
38
+ },
39
+ imgback(val,flag){
40
+ return require('../assets/'+ val+ flag +'.png')
41
+ },
42
+ },
43
+ ready () {
44
+ this.actives = 0
45
+ var number = this.tabs.length
46
+ var number1 = 100/number
47
+ this.shuclass = number1 +'%'
48
+ this.didClickedItem(this.tabs[0].link,this.tabs[0].name,0)
49
+ },
50
+ }
51
+ </script>
52
+
53
+ <style scoped>
54
+ .tab-bar {
55
+ background-color: white;
56
+ height: 10%;
57
+ border: 0 solid rgb(210, 210, 210);
58
+ border-top-width: 1px;
59
+ position: fixed;
60
+ margin: auto;
61
+ bottom: 0;
62
+ width: 100%;
63
+ }
64
+
65
+ .tab-bar-item {
66
+ height: 54px;
67
+ }
68
+
69
+ .active {
70
+ color: #1E90FF;
71
+ }
72
+
73
+ i {
74
+ font-size: 25px;
75
+ }
76
+ .navimagesfoot{
77
+ font-size: 10px;
78
+ /* font-family: "Pingfhs";*/
79
+ }
80
+ .butt {margin-left: 20%; margin-right: 20%; margin-top: 10%; width: 25px; border-radius: 5%; text-align: center;align-items:center;}
81
+ </style>
@@ -1,14 +1,14 @@
1
- <template>
2
- <div>
3
- <h1>Hello Test {{msg}}</h1>
4
- </div>
5
- </template>
6
- <script>
7
- export default {
8
- title: "test",
9
- props: ['msg'],
10
- data () {
11
- return {}
12
- }
13
- }
14
- </script>
1
+ <template>
2
+ <div>
3
+ <h1>Hello Test {{msg}}</h1>
4
+ </div>
5
+ </template>
6
+ <script>
7
+ export default {
8
+ title: "test",
9
+ props: ['msg'],
10
+ data () {
11
+ return {}
12
+ }
13
+ }
14
+ </script>
@@ -35,8 +35,8 @@
35
35
  </dropdown>
36
36
  </div>
37
37
  <div class="app-header-guanbishengyin" style="line-height: 25px" @click='mute()'>
38
- <img v-if="f_voiceSwitch" src="../assets/jingyin3.png" style="height: 20px; width: 20px;"/>
39
- <img v-if="!f_voiceSwitch" src="../assets/yinliang.png" style="height: 20px; width: 20px;"/>
38
+ <img v-if="!f_voiceSwitch" src="../assets/jingyin3.png" style="height: 20px; width: 20px;"/>
39
+ <img v-if="f_voiceSwitch" src="../assets/yinliang.png" style="height: 20px; width: 20px;"/>
40
40
  </div>
41
41
  </div>
42
42
  </template>
@@ -72,6 +72,29 @@
72
72
  default: true
73
73
  }
74
74
  },
75
+ ready(){
76
+ let isShow = this.$appdata.getSingleValue('计划提醒弹窗') || false
77
+ if (isShow){
78
+ let criteria = {
79
+ items: '*',
80
+ tablename: 't_check_plan',
81
+ condition: `1=1`,
82
+ orderitem: 'id'
83
+ }
84
+ let result = HostApp._executeTask({'type':'sql', 'data':{'alias': 'safe_singleTable_OrderBy', 'criteria': criteria}})
85
+ if(result.code == 200){
86
+ result.data.rows.forEach(item=>{
87
+ if (new Date(item.f_end_time) <= new Date() && new Date(item.f_end_time) >= new Date(new Date()).setDate(new Date().getDate()-(this.$appdata.getSingleValue('计划提醒日期') || '7'))){
88
+ HostApp.notify2("提醒:",`计划名称:${item.f_plan_name},计划结束时间:${item.f_end_time},请及时安排安检!`,"true")
89
+ }
90
+ })
91
+ }
92
+ }
93
+ //首次进入默认开启播放
94
+ HostApp.setPreference('f_voiceSwitch','true')
95
+ //是否开启无限制响铃(单值参数配 -1 代表开启无限制响铃)
96
+ HostApp.setPreference('loop',this.$appdata.getSingleValue('loop') || '3')
97
+ },
75
98
  methods: {
76
99
  // 新增工单
77
100
  newadd(){
@@ -93,10 +116,10 @@
93
116
  HostApp.mute()
94
117
  switch (HostApp.getPreference('f_voiceSwitch').data){
95
118
  case 'true' : HostApp.setPreference('f_voiceSwitch','false')
96
- this.f_voiceSwitch= true
119
+ this.f_voiceSwitch= false
97
120
  break
98
121
  case 'false' : HostApp.setPreference('f_voiceSwitch','true')
99
- this.f_voiceSwitch= false
122
+ this.f_voiceSwitch= true
100
123
  break
101
124
  default : HostApp.setPreference('f_voiceSwitch','true')
102
125
  }
@@ -1,194 +1,194 @@
1
- <template>
2
- <div class="nav-bgcolor">
3
- <div class="auto">
4
- <div class="row nav-bgcolor" >
5
- <div class="col-xs-6 manbiankuang" v-for="tab in tabs" @click="gotopage(tab.link,tab.name)">
6
- <img class="imgs" :src="imgback(tab.name)">
7
- <p></p>
8
- <p class="pagesfoot">{{tab.name}}</p>
9
- <!--<p class="pagesfoot">{{tab.name}}&nbsp;{{tab.icon}}</p>-->
10
- <p></p>
11
- </div>
12
- </div>
13
- <!--<div class="row" style="overflow:auto;">-->
14
- <!--<repair-first v-show="componentName == 'repair-first'" worktype="报修单" :sourcet="sourcet" tabname="维修待办" v-on:changesum="changesum"></repair-first>-->
15
- <!--<zhihuan-first v-show="componentName == 'zhihuan-first'" worktype="置换通气单" :sourcet="sourcet" tabname="置换待办" v-on:changesum="changesum"></zhihuan-first>-->
16
- <!--</div>-->
17
- </div>
18
- </div>
19
- </template>
20
-
21
- <script scoped>
22
- import Vue from 'vue'
23
- import * as Util from '../Util'
24
- export default {
25
- title: '上传工作导航',
26
- data () {
27
- return {
28
- titleName:'上传工作',
29
- isMenu:true,
30
- tabs: this.getTabs(),
31
- text: '导航组件this',
32
- beforeName:'上传工作',
33
- componentName:'upload-manage',
34
- sourcet:'竖屏'
35
- }
36
- },
37
- ready () {
38
- // this.getModelSum()
39
- },
40
-
41
- methods: {
42
- // 查询本地所有需要上传得任务
43
- getModelSum(){
44
- for(var i = 0;i<this.tabs.length;i++){
45
- if(this.tabs[i].link == 'zhiup-load' ){
46
- this.getZhihuan()
47
- }
48
- if(this.tabs[i].link == 'weiup-load' ){
49
- this.getRepair()
50
- }
51
- if(this.tabs[i].link == 'upload-page' ){
52
- this.getSafeCheck()
53
- }
54
- }
55
-
56
- },
57
- getRepair(){
58
- var _this = this;
59
- this.timeoutRepair = window.setInterval(function() {
60
- let result = _this.$androidUtil.path({'alias':'notUpload','data': {f_workorder_type: '报修单'}})
61
- if (result.code === 200) {
62
- console.log('查询得到的代办2' + JSON.stringify(result))
63
- var crv = {
64
- title: '维修上传',
65
- sum: result.data.length
66
- }
67
- _this.changesum(crv)
68
- }
69
- }, 6000)
70
- },
71
- getSafeCheck(){
72
- var _this = this;
73
- this.timeoutRepair = window.setInterval(function() {
74
- let result = _this.$androidUtil.path({'alias':'safecheckNotUpload','data': {}})
75
- if (result.code === 200) {
76
- console.log('查询得到的安检上传' + JSON.stringify(result))
77
- var crv = {
78
- title: '安检上传',
79
- sum: result.data.length
80
- }
81
- _this.changesum(crv)
82
- }
83
- }, 6000)
84
- },
85
- getZhihuan(){
86
- var _this = this;
87
- this.timeoutZhihuan = window.setInterval(function() {
88
- let result = _this.$androidUtil.path({'alias':'notUpload','data': {f_workorder_type: '置换通气单'}})
89
- if (result.code === 200) {
90
- console.log('查询得到的代办2' + JSON.stringify(result))
91
- var crv = {
92
- title: '置换上传',
93
- sum: result.data.length
94
- }
95
- _this.changesum(crv)
96
- }
97
- }, 6000)
98
- },
99
- changesum(titdata){
100
- for(var i = 0;i<this.tabs.length;i++){
101
- if(this.tabs[i].name == titdata.title){
102
- this.tabs[i].icon = titdata.sum + '单'
103
- console.log(JSON.stringify(this.tabs[i].icon))
104
- return
105
- }
106
- }
107
- },
108
- getTabs(){
109
- for(let funs in Vue.functions){
110
- if(Vue.functions[funs].link == 'upload-manage'){
111
- return Vue.functions[funs].children
112
- }
113
- }
114
- },
115
- imgback(val){
116
- return require('../assets/'+val+'.png')
117
- },
118
- // 返回主界面
119
- back(){
120
- this.titleName = '主界面'
121
- this.isMenu = true
122
-
123
- },
124
- gotopage(param,title) {
125
- console.log('进入子组件')
126
- var prpdata = {
127
- _this:this,
128
- title:title,
129
- safe:false
130
- }
131
- this.$dispatch('gotoson',prpdata)
132
- this.$goto(param,{sourcet:'竖屏',tabname:title})
133
- },
134
- mute () {
135
- HostApp.mute()
136
- }
137
- },
138
- }
139
- </script>
140
- <style lang="less">
141
- .tab-befor-img {
142
- content: '';
143
- background-size: 30px;
144
- display: inline-block;
145
- margin-right: 8px;
146
- height: 30px;
147
- width: 30px;
148
- vertical-align: -35%;
149
- }
150
- .pageskuang{
151
- vertical-align:middle;
152
- display:table-cell;
153
- width: 32%;
154
- top:-50%;
155
- margin-top: 1%;
156
- margin-left: 1%;
157
- border:1px solid #e3e3e3;
158
- text-align: center;
159
- background-color: #ffffff;
160
- }
161
- .pgesfoot{
162
- font-size: 14px;
163
- color: #666666;
164
- /* font-family: "Pingfhs";*/
165
- }
166
- .imgs{
167
- width: 35px;
168
- margin-top: 15px;
169
- }
170
- .pages-bgcolor{
171
- text-align: center;
172
- background-color: #f0f0ef;
173
- }
174
- img[src=""],img:not([src]){
175
- opacity: 0;
176
- border:none;
177
- visibility: hidden;
178
- max-width: none;
179
- }
180
-
181
- .manbiankuang{
182
- width: 44%;
183
- margin-top: 15px;
184
- margin-left: 4%;
185
- border:1px solid #e3e3e3;
186
- border-radius:10px 10px 10px 10px;
187
- text-align: center;
188
- background-color: #ffffff;
189
- }
190
-
191
- .nav-bgcolor{
192
- background-color: #ffffff;
193
- }
194
- </style>
1
+ <template>
2
+ <div class="nav-bgcolor">
3
+ <div class="auto">
4
+ <div class="row nav-bgcolor" >
5
+ <div class="col-xs-6 manbiankuang" v-for="tab in tabs" @click="gotopage(tab.link,tab.name)">
6
+ <img class="imgs" :src="imgback(tab.name)">
7
+ <p></p>
8
+ <p class="pagesfoot">{{tab.name}}</p>
9
+ <!--<p class="pagesfoot">{{tab.name}}&nbsp;{{tab.icon}}</p>-->
10
+ <p></p>
11
+ </div>
12
+ </div>
13
+ <!--<div class="row" style="overflow:auto;">-->
14
+ <!--<repair-first v-show="componentName == 'repair-first'" worktype="报修单" :sourcet="sourcet" tabname="维修待办" v-on:changesum="changesum"></repair-first>-->
15
+ <!--<zhihuan-first v-show="componentName == 'zhihuan-first'" worktype="置换通气单" :sourcet="sourcet" tabname="置换待办" v-on:changesum="changesum"></zhihuan-first>-->
16
+ <!--</div>-->
17
+ </div>
18
+ </div>
19
+ </template>
20
+
21
+ <script scoped>
22
+ import Vue from 'vue'
23
+ import * as Util from '../Util'
24
+ export default {
25
+ title: '上传工作导航',
26
+ data () {
27
+ return {
28
+ titleName:'上传工作',
29
+ isMenu:true,
30
+ tabs: this.getTabs(),
31
+ text: '导航组件this',
32
+ beforeName:'上传工作',
33
+ componentName:'upload-manage',
34
+ sourcet:'竖屏'
35
+ }
36
+ },
37
+ ready () {
38
+ // this.getModelSum()
39
+ },
40
+
41
+ methods: {
42
+ // 查询本地所有需要上传得任务
43
+ getModelSum(){
44
+ for(var i = 0;i<this.tabs.length;i++){
45
+ if(this.tabs[i].link == 'zhiup-load' ){
46
+ this.getZhihuan()
47
+ }
48
+ if(this.tabs[i].link == 'weiup-load' ){
49
+ this.getRepair()
50
+ }
51
+ if(this.tabs[i].link == 'upload-page' ){
52
+ this.getSafeCheck()
53
+ }
54
+ }
55
+
56
+ },
57
+ getRepair(){
58
+ var _this = this;
59
+ this.timeoutRepair = window.setInterval(function() {
60
+ let result = _this.$androidUtil.path({'alias':'notUpload','data': {f_workorder_type: '报修单'}})
61
+ if (result.code === 200) {
62
+ console.log('查询得到的代办2' + JSON.stringify(result))
63
+ var crv = {
64
+ title: '维修上传',
65
+ sum: result.data.length
66
+ }
67
+ _this.changesum(crv)
68
+ }
69
+ }, 6000)
70
+ },
71
+ getSafeCheck(){
72
+ var _this = this;
73
+ this.timeoutRepair = window.setInterval(function() {
74
+ let result = _this.$androidUtil.path({'alias':'safecheckNotUpload','data': {}})
75
+ if (result.code === 200) {
76
+ console.log('查询得到的安检上传' + JSON.stringify(result))
77
+ var crv = {
78
+ title: '安检上传',
79
+ sum: result.data.length
80
+ }
81
+ _this.changesum(crv)
82
+ }
83
+ }, 6000)
84
+ },
85
+ getZhihuan(){
86
+ var _this = this;
87
+ this.timeoutZhihuan = window.setInterval(function() {
88
+ let result = _this.$androidUtil.path({'alias':'notUpload','data': {f_workorder_type: '置换通气单'}})
89
+ if (result.code === 200) {
90
+ console.log('查询得到的代办2' + JSON.stringify(result))
91
+ var crv = {
92
+ title: '置换上传',
93
+ sum: result.data.length
94
+ }
95
+ _this.changesum(crv)
96
+ }
97
+ }, 6000)
98
+ },
99
+ changesum(titdata){
100
+ for(var i = 0;i<this.tabs.length;i++){
101
+ if(this.tabs[i].name == titdata.title){
102
+ this.tabs[i].icon = titdata.sum + '单'
103
+ console.log(JSON.stringify(this.tabs[i].icon))
104
+ return
105
+ }
106
+ }
107
+ },
108
+ getTabs(){
109
+ for(let funs in Vue.functions){
110
+ if(Vue.functions[funs].link == 'upload-manage'){
111
+ return Vue.functions[funs].children
112
+ }
113
+ }
114
+ },
115
+ imgback(val){
116
+ return require('../assets/'+val+'.png')
117
+ },
118
+ // 返回主界面
119
+ back(){
120
+ this.titleName = '主界面'
121
+ this.isMenu = true
122
+
123
+ },
124
+ gotopage(param,title) {
125
+ console.log('进入子组件')
126
+ var prpdata = {
127
+ _this:this,
128
+ title:title,
129
+ safe:false
130
+ }
131
+ this.$dispatch('gotoson',prpdata)
132
+ this.$goto(param,{sourcet:'竖屏',tabname:title})
133
+ },
134
+ mute () {
135
+ HostApp.mute()
136
+ }
137
+ },
138
+ }
139
+ </script>
140
+ <style lang="less">
141
+ .tab-befor-img {
142
+ content: '';
143
+ background-size: 30px;
144
+ display: inline-block;
145
+ margin-right: 8px;
146
+ height: 30px;
147
+ width: 30px;
148
+ vertical-align: -35%;
149
+ }
150
+ .pageskuang{
151
+ vertical-align:middle;
152
+ display:table-cell;
153
+ width: 32%;
154
+ top:-50%;
155
+ margin-top: 1%;
156
+ margin-left: 1%;
157
+ border:1px solid #e3e3e3;
158
+ text-align: center;
159
+ background-color: #ffffff;
160
+ }
161
+ .pgesfoot{
162
+ font-size: 14px;
163
+ color: #666666;
164
+ /* font-family: "Pingfhs";*/
165
+ }
166
+ .imgs{
167
+ width: 35px;
168
+ margin-top: 15px;
169
+ }
170
+ .pages-bgcolor{
171
+ text-align: center;
172
+ background-color: #f0f0ef;
173
+ }
174
+ img[src=""],img:not([src]){
175
+ opacity: 0;
176
+ border:none;
177
+ visibility: hidden;
178
+ max-width: none;
179
+ }
180
+
181
+ .manbiankuang{
182
+ width: 44%;
183
+ margin-top: 15px;
184
+ margin-left: 4%;
185
+ border:1px solid #e3e3e3;
186
+ border-radius:10px 10px 10px 10px;
187
+ text-align: center;
188
+ background-color: #ffffff;
189
+ }
190
+
191
+ .nav-bgcolor{
192
+ background-color: #ffffff;
193
+ }
194
+ </style>