apply-clients 3.0.10-20 → 3.0.10-200

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 (65) hide show
  1. package/.gradle/3.5/file-changes/last-build.bin +0 -0
  2. package/.gradle/3.5/taskHistory/taskHistory.lock +0 -0
  3. package/.gradle/5.2.1/executionHistory/executionHistory.bin +0 -0
  4. package/.gradle/5.2.1/executionHistory/executionHistory.lock +0 -0
  5. package/.gradle/5.2.1/fileChanges/last-build.bin +0 -0
  6. package/.gradle/5.2.1/fileHashes/fileHashes.bin +0 -0
  7. package/.gradle/5.2.1/fileHashes/fileHashes.lock +0 -0
  8. package/.gradle/5.2.1/gc.properties +0 -0
  9. package/.gradle/buildOutputCleanup/built.bin +0 -0
  10. package/.gradle/buildOutputCleanup/cache.properties +2 -0
  11. package/.gradle/buildOutputCleanup/cache.properties.lock +1 -0
  12. package/.gradle/vcs-1/gc.properties +0 -0
  13. package/doc//346/226/260/347/224/250/346/210/267/350/212/261/345/220/215/345/206/214/345/257/274/345/205/245/346/250/241/346/235/277.xls +0 -0
  14. package/gradle/wrapper/gradle-wrapper.jar +0 -0
  15. package/gradle/wrapper/gradle-wrapper.properties +5 -0
  16. package/gradlew +0 -0
  17. package/gradlew.bat +84 -0
  18. package/package.json +5 -4
  19. package/src/apply.js +42 -1
  20. package/src/components/Util.js +26 -22
  21. package/src/components/app_apply/ApplyDownList.vue +21 -8
  22. package/src/components/app_apply/ApplyToDoList.vue +200 -176
  23. package/src/components/app_apply/ApplyUserInfo.vue +3 -3
  24. package/src/components/app_apply/PlaceControler.vue +255 -255
  25. package/src/components/app_apply/ServiceControl.vue +1387 -1387
  26. package/src/components/app_apply/ServiceView.vue +383 -168
  27. package/src/components/image/doc.jpg +0 -0
  28. package/src/components/image/excel.jpg +0 -0
  29. package/src/components/image/pdf.jpg +0 -0
  30. package/src/components/product/BatchFunction/BatchPay.vue +663 -0
  31. package/src/components/product/Function/InstallFunction.vue +9 -9
  32. package/src/components/product/Function/InstallInfoSelect.vue +230 -38
  33. package/src/components/product/Function/Service/FunctionServiceControl.vue +3 -1
  34. package/src/components/product/Function/functions/InstallFee.vue +58 -35
  35. package/src/components/product/Function/functions/StopInstall.vue +13 -1
  36. package/src/components/product/HiddenDangersInProjects/AddHiddenDangers.vue +816 -0
  37. package/src/components/product/HiddenDangersInProjects/HiddenProjectList.vue +270 -0
  38. package/src/components/product/HiddenDangersInProjects/HiddenProjectSchedule.vue +132 -0
  39. package/src/components/product/Process/ExplorationSelect.vue +302 -71
  40. package/src/components/product/Process/ExplorationUser.vue +18 -3
  41. package/src/components/product/Process/Processes/CustomerRecordMessage.vue +736 -201
  42. package/src/components/product/Process/Processes/Service/ApplyChargeSearch.vue +75 -69
  43. package/src/components/product/Process/Processes/Service/ServiceControl.vue +749 -630
  44. package/src/components/product/ProjectManagement/AddProjectSchedule.vue +683 -0
  45. package/src/components/product/ProjectManagement/ProjectList.vue +279 -0
  46. package/src/components/product/ProjectManagement/ProjectSchedule.vue +132 -0
  47. package/src/components/product/ReportForm/PaymentRecord.vue +801 -0
  48. package/src/components/product/ReportForm/PaymentRecordAdd.vue +105 -0
  49. package/src/components/product/ReportForm/PaymentRecordBad.vue +1273 -0
  50. package/src/components/product/ReportForm/PaymentRecordDetailed.vue +472 -0
  51. package/src/components/product/ReportForm/PaymentRecordTooBad.vue +60 -0
  52. package/src/components/product/ReportForm/PaymentReport.vue +532 -0
  53. package/src/components/product/ReportForm/ProjectReport.vue +447 -0
  54. package/src/components/product/ReportForm/SettlementReport.vue +336 -0
  55. package/src/components/product/ReportForm/SummaryReport.vue +451 -0
  56. package/src/components/product/ReportForm/UserReport.vue +402 -0
  57. package/src/components/product/ServiceView.vue +17 -9
  58. package/src/components/product/Supervisory/Service/SupervisoryServiceControl.vue +36 -2
  59. package/src/components/product/Supervisory/SupervisoryControl.vue +30 -6
  60. package/src/components/product/Supervisory/SupervisoryList.vue +249 -34
  61. package/src/components/product/VueUtils/ApplyUpload.vue +310 -0
  62. package/src/components/product/VueUtils/rightview/InstallCardList2.vue +0 -1
  63. package/src/main.js +4 -0
  64. package/success.rar +0 -0
  65. package/doc//350/212/261/345/220/215/345/206/214/345/257/274/345/205/245/346/250/241/346/235/277.xlsx +0 -0
File without changes
File without changes
@@ -0,0 +1,2 @@
1
+ #Tue Jan 26 18:54:07 CST 2021
2
+ gradle.version=3.5
File without changes
@@ -0,0 +1,5 @@
1
+ distributionBase=GRADLE_USER_HOME
2
+ distributionPath=wrapper/dists
3
+ distributionUrl=https\://services.gradle.org/distributions/gradle-5.2.1-bin.zip
4
+ zipStoreBase=GRADLE_USER_HOME
5
+ zipStorePath=wrapper/dists
package/gradlew ADDED
File without changes
package/gradlew.bat ADDED
@@ -0,0 +1,84 @@
1
+ @if "%DEBUG%" == "" @echo off
2
+ @rem ##########################################################################
3
+ @rem
4
+ @rem Gradle startup script for Windows
5
+ @rem
6
+ @rem ##########################################################################
7
+
8
+ @rem Set local scope for the variables with windows NT shell
9
+ if "%OS%"=="Windows_NT" setlocal
10
+
11
+ set DIRNAME=%~dp0
12
+ if "%DIRNAME%" == "" set DIRNAME=.
13
+ set APP_BASE_NAME=%~n0
14
+ set APP_HOME=%DIRNAME%
15
+
16
+ @rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
17
+ set DEFAULT_JVM_OPTS="-Xmx64m"
18
+
19
+ @rem Find java.exe
20
+ if defined JAVA_HOME goto findJavaFromJavaHome
21
+
22
+ set JAVA_EXE=java.exe
23
+ %JAVA_EXE% -version >NUL 2>&1
24
+ if "%ERRORLEVEL%" == "0" goto init
25
+
26
+ echo.
27
+ echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
28
+ echo.
29
+ echo Please set the JAVA_HOME variable in your environment to match the
30
+ echo location of your Java installation.
31
+
32
+ goto fail
33
+
34
+ :findJavaFromJavaHome
35
+ set JAVA_HOME=%JAVA_HOME:"=%
36
+ set JAVA_EXE=%JAVA_HOME%/bin/java.exe
37
+
38
+ if exist "%JAVA_EXE%" goto init
39
+
40
+ echo.
41
+ echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
42
+ echo.
43
+ echo Please set the JAVA_HOME variable in your environment to match the
44
+ echo location of your Java installation.
45
+
46
+ goto fail
47
+
48
+ :init
49
+ @rem Get command-line arguments, handling Windows variants
50
+
51
+ if not "%OS%" == "Windows_NT" goto win9xME_args
52
+
53
+ :win9xME_args
54
+ @rem Slurp the command line arguments.
55
+ set CMD_LINE_ARGS=
56
+ set _SKIP=2
57
+
58
+ :win9xME_args_slurp
59
+ if "x%~1" == "x" goto execute
60
+
61
+ set CMD_LINE_ARGS=%*
62
+
63
+ :execute
64
+ @rem Setup the command line
65
+
66
+ set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
67
+
68
+ @rem Execute Gradle
69
+ "%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS%
70
+
71
+ :end
72
+ @rem End local scope for the variables with windows NT shell
73
+ if "%ERRORLEVEL%"=="0" goto mainEnd
74
+
75
+ :fail
76
+ rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
77
+ rem the _cmd.exe /c_ return code!
78
+ if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1
79
+ exit /b 1
80
+
81
+ :mainEnd
82
+ if "%OS%"=="Windows_NT" endlocal
83
+
84
+ :omega
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "apply-clients",
3
- "version": "3.0.10-20",
3
+ "version": "3.0.10-200",
4
4
  "description": "报建前端模块",
5
5
  "main": "src/index.js",
6
6
  "directories": {
@@ -27,6 +27,7 @@
27
27
  "author": "zx <939981212@qq.com>",
28
28
  "license": "ISC",
29
29
  "dependencies": {
30
+ "ant-design-vue": "^1.7.6",
30
31
  "co": "4.6.0",
31
32
  "less": "^2.7.1",
32
33
  "less-loader": "^2.2.3",
@@ -36,6 +37,7 @@
36
37
  "vue-bubble": "^1.0.3"
37
38
  },
38
39
  "devDependencies": {
40
+ "axios": "0.15.3",
39
41
  "babel-core": "^6.0.0",
40
42
  "babel-loader": "^6.0.0",
41
43
  "babel-plugin-transform-runtime": "^6.0.0",
@@ -92,7 +94,7 @@
92
94
  "system-clients": "3.0.57",
93
95
  "system-phone": "1.1.18",
94
96
  "url-loader": "^0.5.7",
95
- "vue-client": "1.22.19-2",
97
+ "vue-client": "1.23.9-1",
96
98
  "vue-hot-reload-api": "^1.2.0",
97
99
  "vue-html-loader": "^1.0.0",
98
100
  "vue-loader": "^8.2.1",
@@ -106,7 +108,6 @@
106
108
  "webpack-dev-middleware": "^1.4.0",
107
109
  "webpack-hot-middleware": "^2.6.0",
108
110
  "webpack-merge": "^0.8.3",
109
- "weixin-js-sdk": "^1.2.0",
110
- "axios": "0.15.3"
111
+ "weixin-js-sdk": "^1.2.0"
111
112
  }
112
113
  }
package/src/apply.js CHANGED
@@ -24,12 +24,14 @@ export default function () {
24
24
  Vue.component('material-use-list', (resolve) => { require(['./components/product/Process/MaterialUseList'], resolve) })
25
25
  // 预算材料
26
26
  Vue.component('material-message', (resolve) => { require(['./components/product/Process/Processes/CustomerMaterialMessage'], resolve) })
27
- //领取材料
27
+ // 领取材料
28
28
  Vue.component('receive-batch', (resolve) => { require(['./components/product/Process/Processes/ReceiveBatch'], resolve) })
29
29
  // 报建材料记录功能
30
30
  Vue.component('material_recording', (resolve) => { require(['./components/product/Function/functions/material_recording'], resolve) })
31
31
  // 档案tab页
32
32
  Vue.component('record-message', (resolve) => { require(['./components/product/Process/Processes/CustomerRecordMessage'], resolve) })
33
+ // 档案tab页1
34
+ // Vue.component('record-message1', (resolve) => { require(['./components/product/Process/Processes/CustomerRecordMessage1'], resolve) })
33
35
  // 材料tab页
34
36
  Vue.component('material-message', (resolve) => { require(['./components/product/Process/Processes/CustomerMaterialMessage'], resolve) })
35
37
  // 设备tab页
@@ -143,4 +145,43 @@ export default function () {
143
145
  Vue.component('supervisory-service-control', (resolve) => { require(['./components/product/Supervisory/Service/SupervisoryServiceControl'], resolve) })
144
146
  // 汇总查询入口 src/components/product/Statistics/ApplyStatisticsROOT.vue
145
147
  Vue.component('apply-statistics-root', (resolve) => { require(['./components/product/Statistics/ApplyStatisticsROOT'], resolve) })
148
+ // 批量缴费
149
+ Vue.component('batch-pay', (resolve) => { require(['./components/product/BatchFunction/BatchPay'], resolve) })
150
+ // 交费明细报表
151
+ Vue.component('payment-report', (resolve) => { require(['./components/product/ReportForm/PaymentReport'], resolve) })
152
+ // 用户明细报表
153
+ Vue.component('user-report', (resolve) => { require(['./components/product/ReportForm/UserReport'], resolve) })
154
+ // 收费汇总报表
155
+ Vue.component('summary-report', (resolve) => { require(['./components/product/ReportForm/SummaryReport'], resolve) })
156
+ // 市场结算报表
157
+ Vue.component('settlement-report', (resolve) => { require(['./components/product/ReportForm/SettlementReport'], resolve) })
158
+ // 收费汇总报表
159
+ Vue.component('project-report', (resolve) => { require(['./components/product/ReportForm/ProjectReport'], resolve) })
160
+ // 打款记录汇总报表
161
+ Vue.component('payment-record-bad', (resolve) => { require(['./components/product/ReportForm/PaymentRecord'], resolve) })
162
+ // 打款记录明细报表
163
+ Vue.component('payment-record-detailed', (resolve) => { require(['./components/product/ReportForm/PaymentRecordDetailed'], resolve) })
164
+ // 打款记录新增
165
+ Vue.component('payment-record-add', (resolve) => { require(['./components/product/ReportForm/PaymentRecordAdd'], resolve) })
166
+ // 打款记录明细报表
167
+ Vue.component('payment-record', (resolve) => { require(['./components/product/ReportForm/PaymentRecordBad'], resolve) })
168
+ // 打款记录明细卡片
169
+ Vue.component('payment-record-too-bad', (resolve) => { require(['./components/product/ReportForm/PaymentRecordTooBad'], resolve) })
170
+
171
+ Vue.component('apply-upload', (resolve) => { require(['./components/product/VueUtils/ApplyUpload'], resolve) })
172
+
173
+ // 工程项目 添加项目信息
174
+ Vue.component('add-project-schedule', (resolve) => { require(['./components/product/ProjectManagement/AddProjectSchedule'], resolve) })
175
+ // 添加项目信息
176
+ Vue.component('project-schedule', (resolve) => { require(['./components/product/ProjectManagement/ProjectSchedule'], resolve) })
177
+ // 查询
178
+ Vue.component('project-list', (resolve) => { require(['./components/product/ProjectManagement/ProjectList'], resolve) })
179
+
180
+ // 隐患项目 添加项目信息
181
+ Vue.component('add-hidden-schedule', (resolve) => { require(['./components/product/HiddenDangersInProjects/AddHiddenDangers'], resolve) })
182
+ // 添加项目信息
183
+ Vue.component('hidden-project-schedule', (resolve) => { require(['./components/product/HiddenDangersInProjects/HiddenProjectSchedule'], resolve) })
184
+ // 查询
185
+ Vue.component('hidden-project-list', (resolve) => { require(['./components/product/HiddenDangersInProjects/HiddenProjectList'], resolve) })
186
+
146
187
  }
@@ -21,6 +21,10 @@ export function getAttendanceState (item, timeToWork, timeToGo) {
21
21
  }
22
22
  }
23
23
 
24
+ export function isEmpty (str) {
25
+ return str === undefined || str === null || str.toString().trim() === ''
26
+ }
27
+
24
28
  export function toStandardYearMonth () {
25
29
  let dt = new Date()
26
30
  let month = dt.getMonth() + 1
@@ -44,7 +48,7 @@ export function toStartAndEndDateString () {
44
48
  let month = dt.getMonth() + 1
45
49
  // let date = dt.getDate()
46
50
  return [dt.getFullYear() + '-' + (month < 10 ? '0' + month : month) + '-01',
47
- dt.getFullYear() + '-' + (month < 10 ? '0' + month : month) + '-' + (new Date(dt.getFullYear(), month, 0).getDate())]
51
+ dt.getFullYear() + '-' + (month < 10 ? '0' + month : month) + '-' + (new Date(dt.getFullYear(), month, 0).getDate())]
48
52
  // return dt.getFullYear() + '-' + (month < 10 ? '0' + month : month) + '-' + (date < 10 ? '0' + date : date)
49
53
  }
50
54
 
@@ -56,7 +60,7 @@ export function toStandardTimeString () {
56
60
  let min = dt.getMinutes()
57
61
  let sec = dt.getSeconds()
58
62
  return dt.getFullYear() + '-' + (month < 10 ? '0' + month : month) + '-' + (date < 10 ? '0' + date : date) +
59
- ' ' + (hour < 10 ? '0' + hour : hour) + ':' + (min < 10 ? '0' + min : min) + ':' + (sec < 10 ? '0' + sec : sec)
63
+ ' ' + (hour < 10 ? '0' + hour : hour) + ':' + (min < 10 ? '0' + min : min) + ':' + (sec < 10 ? '0' + sec : sec)
60
64
  }
61
65
 
62
66
  export function to3339TimeString () {
@@ -67,7 +71,7 @@ export function to3339TimeString () {
67
71
  let min = dt.getMinutes()
68
72
  let sec = dt.getSeconds()
69
73
  return dt.getFullYear() + '-' + (month < 10 ? '0' + month : month) + '-' + (date < 10 ? '0' + date : date) +
70
- 'T' + (hour < 10 ? '0' + hour : hour) + ':' + (min < 10 ? '0' + min : min) + ':' + (sec < 10 ? '0' + sec : sec)
74
+ 'T' + (hour < 10 ? '0' + hour : hour) + ':' + (min < 10 ? '0' + min : min) + ':' + (sec < 10 ? '0' + sec : sec)
71
75
  }
72
76
 
73
77
  export function parse3339String(strDate) {
@@ -91,11 +95,11 @@ export function guid() {
91
95
  let buf = new Uint16Array(8)
92
96
  window.crypto.getRandomValues(buf)
93
97
  let S4 = function(num) {
94
- let ret = num.toString(16)
95
- while(ret.length < 4){
96
- ret = '0' + ret
97
- }
98
- return ret
98
+ let ret = num.toString(16)
99
+ while(ret.length < 4){
100
+ ret = '0' + ret
101
+ }
102
+ return ret
99
103
  }
100
104
  return (S4(buf[0])+S4(buf[1])+S4(buf[2])+S4(buf[3])+S4(buf[4])+S4(buf[5])+S4(buf[6])+S4(buf[7]))
101
105
  }
@@ -141,16 +145,16 @@ export function isFloat(n){
141
145
 
142
146
  // this will convert all true/false to boolean
143
147
  export function booleanFilter(paper) {
144
- for(let key in paper) {
145
- if(!paper.hasOwnProperty(key))
146
- continue
147
- if(typeof paper[key] == "object" && paper[key] != null) {
148
- booleanFilter(paper[key]);
149
- } else {
150
- if(paper[key] === "true" || paper[key] == "false")
151
- paper[key] = (paper[key] === "true")
152
- }
148
+ for(let key in paper) {
149
+ if(!paper.hasOwnProperty(key))
150
+ continue
151
+ if(typeof paper[key] == "object" && paper[key] != null) {
152
+ booleanFilter(paper[key]);
153
+ } else {
154
+ if(paper[key] === "true" || paper[key] == "false")
155
+ paper[key] = (paper[key] === "true")
153
156
  }
157
+ }
154
158
  }
155
159
  // recursively traverse through each path
156
160
  export function ratifyPics(paper) {
@@ -185,11 +189,11 @@ export function loadscript(type, fileName) {
185
189
  element.setAttribute('async', '')
186
190
  element.setAttribute('defer', '')
187
191
  element.addEventListener('load', function() {
188
- resolve(element)
189
- }, false)
192
+ resolve(element)
193
+ }, false)
190
194
  element.addEventListener('error', function() {
191
- reject(element)
192
- }, false)
195
+ reject(element)
196
+ }, false)
193
197
  document.body.appendChild(element)
194
198
  }
195
199
  })
@@ -227,7 +231,7 @@ export function addDate (date, days) {
227
231
  let min = endDate.getMinutes()
228
232
  let sec = endDate.getSeconds()
229
233
  return endDate.getFullYear() + '-' + (month < 10 ? '0' + month : month) + '-' + (day < 10 ? '0' + day : day) +
230
- ' ' + (hour < 10 ? '0' + hour : hour) + ':' + (min < 10 ? '0' + min : min) + ':' + (sec < 10 ? '0' + sec : sec)
234
+ ' ' + (hour < 10 ? '0' + hour : hour) + ':' + (min < 10 ? '0' + min : min) + ':' + (sec < 10 ? '0' + sec : sec)
231
235
  // return a
232
236
  }
233
237
 
@@ -3,7 +3,7 @@
3
3
  <!--<div class="app-botton" @click="back()">-->
4
4
  <!--<span class="glyphicon glyphicon-menu-left">返回</span>-->
5
5
  <!--</div>-->
6
- <back-page :need-back='true' @flag="back()"></back-page>
6
+ <!-- <back-page :need-back='true' @flag="back()"></back-page>-->
7
7
  <div class="bq-parent">
8
8
  <blockquote style="color: #499edf;border-left-color: #499edf;font-size: 16px">
9
9
  <p>
@@ -19,16 +19,13 @@
19
19
  <div class="panel-body bg-info" style="padding: 10px">
20
20
  <div class="row form-group">
21
21
  <div class="col-sm-12 col-xs-12 col-md-12">
22
- <div class="row" >
22
+ <div class="row" @click="selected(row)">
23
23
  <div :class="{'text-danger': row.f_remindersign}" class="col-sm-12 col-xs-12 col-md-12 padd-div-shu">
24
24
  报建编号: {{row.f_apply_num}}<!--<span v-if="row.f_remindersign">(催单)</span>-->
25
25
  </div>
26
26
  <div class="col-sm-12 col-xs-12 col-md-12 padd-div-shu">
27
27
  用户姓名: {{row.f_user_name}}
28
28
  </div>
29
- <div class="col-sm-12 col-xs-12 col-md-12 padd-div-shu">
30
- 用户类型: {{row.f_user_type}}
31
- </div>
32
29
  <div class="col-sm-12 col-xs-12 col-md-12 padd-div-shu">
33
30
  用户地址: {{row.f_address}}
34
31
  </div>
@@ -48,9 +45,9 @@
48
45
 
49
46
  </div>
50
47
  </div>
51
- <div class="col-sm-12 col-xs-12 col-md-12">
52
- <button type="button" name="button" class="btn btn-primary" style="background-color:#499edf;float: right" @click="selected(row)">查看</button>
53
- </div>
48
+ <!-- <div class="col-sm-12 col-xs-12 col-md-12">-->
49
+ <!-- <button type="button" name="button" class="btn btn-primary" style="background-color:#499edf;float: right" >查看</button>-->
50
+ <!-- </div>-->
54
51
  </div>
55
52
  </div>
56
53
  </div>
@@ -83,6 +80,12 @@
83
80
  },
84
81
  methods: {
85
82
  selected (row) {
83
+ var pardate = {
84
+ _this:this,
85
+ tittle:'已办详情',
86
+ safe:true
87
+ }
88
+ this.$dispatch('gotoson',pardate)
86
89
  row.canedit = false
87
90
  if(this.sourcet == '横屏'){
88
91
  this.$goto('placecontrolerapp', {row: row},'self',this.search)
@@ -140,6 +143,16 @@
140
143
  _this.search()
141
144
  }, 6000000)//60000
142
145
  },
146
+ created(){
147
+ var result = HostApp.readLocalFile('workflow_apply.json')
148
+ if(result.code == 500){
149
+ this.$showMessage('获取流程配置文件失败,请联系系统管理员')
150
+ return
151
+ }
152
+ var data = JSON.parse(result.data)
153
+ console.log('前台存入缓存中的data=>' + JSON.stringify(data))
154
+ Vue.workflow_vue = Vue.prototype.$workflow_vue = data
155
+ }
143
156
  }
144
157
  </script>
145
158