safecheck-client 3.0.34-6 → 3.0.34-61

Sign up to get free protection for your applications and to get access to all the features.
Files changed (135) hide show
  1. package/docs/FormPrint.md +18 -18
  2. package/docs/GridTree.md +47 -47
  3. package/docs/PrintFile.md +38 -38
  4. package/docs/tree.md +40 -40
  5. package/package.json +1 -1
  6. package/src/App-/345/215/225/351/241/265/351/235/242/346/211/223/345/214/205/347/224/250.vue +55 -0
  7. package/src/assets/123.png +0 -0
  8. package/src/assets/f8632d3c8c4c1cb68e99da754cab1a7.png +0 -0
  9. package/src/components/LoadData.vue +62 -0
  10. package/src/components/NewDefectList/DefectListNew.vue +617 -616
  11. package/src/components/android/AddGas.vue +147 -147
  12. package/src/components/android/AndroidDefectDeal.vue +1 -0
  13. package/src/components/android/AreaPlan.vue +566 -566
  14. package/src/components/android/AreaSelect.vue +208 -0
  15. package/src/components/android/BuildingSelect.vue +217 -0
  16. package/src/components/android/CheckPlanSelect.vue +248 -0
  17. package/src/components/android/CheckerMonthly.vue +84 -84
  18. package/src/components/android/LcheckUnplan.vue +108 -108
  19. package/src/components/android/PaperFeedback.vue +33 -0
  20. package/src/components/android/QRCode/QRCodeBinding.vue +300 -0
  21. package/src/components/android/QRCode/QRCodePage.vue +212 -0
  22. package/src/components/android/SafecheckDevices.vue +2 -2
  23. package/src/components/android/SafecheckOrderV.vue +8 -12
  24. package/src/components/android/SwitchValve.vue +323 -323
  25. package/src/components/android/examples/SafeListExamples.vue +96 -0
  26. package/src/components/android/examples/UserExamples.vue +130 -0
  27. package/src/components/checkerphonestate/Checker.vue +32 -32
  28. package/src/components/checkerphonestate/CheckerState.vue +97 -97
  29. package/src/components/defects/AddDefectModal.vue +120 -120
  30. package/src/components/defects/AddDevice.vue +95 -95
  31. package/src/components/defects/DevicesSeting.vue +106 -106
  32. package/src/components/metterfiles/AddUserfiles.vue +246 -246
  33. package/src/components/metterfiles/MetterFiles.vue +104 -104
  34. package/src/components/notice/NoticeQuery.vue +76 -76
  35. package/src/components/paper/RepairVerifyForm.vue +76 -76
  36. package/src/components/phonestate/DailyTraffic.vue +57 -57
  37. package/src/components/phonestate/LastKnownState.vue +74 -74
  38. package/src/components/rongcheng/AddPlanItem.vue +4 -0
  39. package/src/components/rongcheng/AspiratedUserInfo.vue +1 -1
  40. package/src/components/rongcheng/CheckSearchUser.vue +40 -14
  41. package/src/components/rongcheng/PaperStatem.vue +6 -1
  42. package/src/components/rongcheng/PhoneDevicesInfo.vue +16 -1
  43. package/src/components/rongcheng/PhoneUpUserinfo.vue +0 -92
  44. package/src/components/rongcheng/SafecheckOrderV.vue +12 -3
  45. package/src/components/rongcheng/SafecheckOrderVCli.vue +9 -0
  46. package/src/components/task/RepairAnnual.vue +79 -79
  47. package/src/components/task/RepairAnnualDetail.vue +49 -49
  48. package/src/components/task/RepairMonthly.vue +91 -91
  49. package/src/components/task/TaskAnnual.vue +77 -77
  50. package/src/components/task/TaskAnnualDetail.vue +47 -47
  51. package/src/components/task/TaskMonthly.vue +89 -89
  52. package/src/components/userfile/UserfileChange.vue +277 -277
  53. package/src/filiale/baiyin/android/AndroidDefectDeal.vue +4 -4
  54. package/src/filiale/baiyin/android/SafecheckOrderV.vue +2785 -0
  55. package/src/filiale/baiyin/android.js +1 -0
  56. package/src/filiale/baiyin/pc/CheckSearchUser.vue +2 -2
  57. package/src/filiale/baiyin/pc/DefectListNew.vue +3 -3
  58. package/src/filiale/baiyin/pc/PaperList.vue +7 -7
  59. package/src/filiale/baiyin/pc/checkUserList.vue +771 -771
  60. package/src/filiale/baiyin/pc.js +21 -21
  61. package/src/filiale/bayan/android/SafecheckOrderV.vue +52 -29
  62. package/src/filiale/bayan/pc/PaperList.vue +1 -0
  63. package/src/filiale/fugou/pc/CheckBookSearchUser.vue +35 -15
  64. package/src/filiale/huaran/android/SafecheckOrderV.vue +2803 -0
  65. package/src/filiale/huaran/android.js +12 -0
  66. package/src/filiale/huaran/pc/CheckBook.vue +313 -0
  67. package/src/filiale/huaran/pc/CheckBookAll.vue +69 -0
  68. package/src/filiale/huaran/pc/CheckBookArea.vue +170 -0
  69. package/src/filiale/huaran/pc/CheckBookCompany.vue +166 -0
  70. package/src/filiale/huaran/pc/CheckBookDetails.vue +196 -0
  71. package/src/filiale/huaran/pc/CheckBookEntry.vue +61 -0
  72. package/src/filiale/huaran/pc/CheckBookList.vue +386 -0
  73. package/src/filiale/huaran/pc/CheckBookSearchArea.vue +564 -0
  74. package/src/filiale/huaran/pc/CheckBookSearchUnit.vue +229 -0
  75. package/src/filiale/huaran/pc/CheckBookSearchUser.vue +604 -0
  76. package/src/filiale/huaran/pc/CheckBookUser.vue +112 -0
  77. package/src/filiale/huaran/pc/PaperList.vue +822 -0
  78. package/src/filiale/huaran/pc/PlanManage.vue +887 -0
  79. package/src/filiale/huaran/pc/checkPlanList.vue +419 -0
  80. package/src/filiale/huaran/pc/checkUserList.vue +867 -0
  81. package/src/filiale/huaran/pc.js +27 -0
  82. package/src/filiale/jiaxian/android/AddPlanItem.vue +447 -0
  83. package/src/filiale/jiaxian/android/PhoneUpUserinfo.vue +1229 -0
  84. package/src/filiale/jiaxian/android/SafecheckDevices.vue +6 -6
  85. package/src/filiale/jiaxian/android/SafecheckOrderV.vue +2807 -0
  86. package/src/filiale/jiaxian/android/SafecheckUserInfo.vue +784 -0
  87. package/src/filiale/jiaxian/android.js +4 -0
  88. package/src/filiale/kelai/pc/CheckPlanAreaList.vue +15 -7
  89. package/src/filiale/ruihua/android/SafecheckOrderV.vue +2747 -0
  90. package/src/filiale/ruihua/android/SafecheckUserInfo.vue +804 -0
  91. package/src/filiale/ruihua/android.js +11 -0
  92. package/src/filiale/shanxian/pc/checkUserList.vue +700 -700
  93. package/src/filiale/siyang/pc/CheckBookSearchArea.vue +645 -0
  94. package/src/filiale/siyang/pc/CheckPlanAreaList.vue +512 -0
  95. package/src/filiale/siyang/pc/CheckSearchUser.vue +982 -0
  96. package/src/filiale/siyang/pc/HiddenSituation.vue +167 -0
  97. package/src/filiale/siyang/pc/checkPlanList.vue +367 -0
  98. package/src/filiale/siyang/pc/checkUserList.vue +22 -18
  99. package/src/filiale/siyang/pc.js +5 -0
  100. package/src/filiale/tongchuan/android/Select.vue +421 -0
  101. package/src/filiale/tongchuan/android.js +1 -0
  102. package/src/filiale/tongchuan/pc/CheckPlanCountChartArea.vue +3 -1
  103. package/src/filiale/tongchuan/pc/DefectPaperWeiXiu.vue +6 -2
  104. package/src/filiale/tongchuan/pc/HiddenSituation.vue +3 -1
  105. package/src/filiale/tongchuan/pc/NewCheckpaper.vue +13 -22
  106. package/src/filiale/tongchuan/pc/PaperDefectMain.vue +1060 -1060
  107. package/src/filiale/tongchuan/pc/SelectCheckPlan.vue +5 -2
  108. package/src/filiale/tongchuan/utils/EventListener.js +29 -0
  109. package/src/filiale/tongchuan/utils/coerceBoolean.js +7 -0
  110. package/src/filiale/weinan/android/SafecheckDevices.vue +1 -1
  111. package/src/filiale/weinan/android/SafecheckOrderV.vue +1 -1
  112. package/src/filiale/weinan/pc/CheckBookSearchUserList.vue +735 -722
  113. package/src/filiale/weinan/pc/CheckDetail.vue +278 -278
  114. package/src/filiale/weinan/pc/DefectListNew.vue +617 -617
  115. package/src/filiale/weinan/pc/DefectMainNew.vue +63 -63
  116. package/src/filiale/weinan/pc/DefectPaperNew.vue +31 -0
  117. package/src/filiale/weinan/pc/DeviceChange.vue +1088 -0
  118. package/src/filiale/weinan/pc/checkUserList.vue +712 -776
  119. package/src/filiale/weinan/pc.js +47 -46
  120. package/src/filiale/wuan/android/SafecheckOrderV.vue +1 -0
  121. package/src/filiale/wuan/android/SafecheckUserInfo.vue +4 -0
  122. package/src/filiale/yangchunboneng/android/CurrentCreate.vue +1192 -1192
  123. package/src/filiale/yangchunboneng/android/DailyworkloadQuery.vue +472 -472
  124. package/src/filiale/yangchunboneng/android/safeHistoryLook.vue +473 -473
  125. package/src/filiale/yangchunboneng/pc/CheckBookSearchUser.vue +13 -11
  126. package/src/filiale/yangchunboneng/pc/CheckBookUser.vue +6 -6
  127. package/src/filiale/yangchunboneng/pc/CheckSearchUser.vue +10 -10
  128. package/src/filiale/yangchunboneng/pc/DefectPaperNew.vue +10 -10
  129. package/src/filiale/yangchunboneng/pc/PaperDefectMain.vue +6 -6
  130. package/src/filiale/yangchunboneng/pc/PaperList.vue +6 -6
  131. package/src/filiale/yuansheng/android/SafecheckDevices.vue +11 -1
  132. package/src/filiale/yuansheng/pc/NewCheckpaper.vue +10 -2
  133. package/src/main-/345/215/225/351/241/265/351/235/242/346/211/223/345/214/205/347/224/250.js +24 -0
  134. package/src/safecheck-android.js +7 -0
  135. package/src/safecheck-page.js +10 -0
@@ -1,323 +1,323 @@
1
- <style scoped>
2
- .app-row {
3
- background-color: white;
4
- padding: 10px 10px 0 10px;
5
- border-bottom: 1px solid rgba(235, 235, 235, 0.5);
6
- }
7
- .search_input {
8
- border: 0;
9
- outline: none;
10
- }
11
- .font{
12
- font: 15px PingFang-SC-Medium;
13
- color: #666666;
14
- }
15
- .input-font{
16
- font: 15px PingFang-SC-Medium;
17
- color: #333333;
18
- }
19
- .btn-font{
20
- font:600 16px PingFang-SC-Bold;
21
- color: #499EDF;
22
- }
23
- .btn-color{
24
- background-color: #FFFFFF;
25
- border-radius: 10px ;
26
- border: 1px solid #499EDF;
27
- }
28
- .app-text {
29
- font-size: 12px;
30
- }
31
- .panel-self{
32
- border-radius: 10px;
33
- border:1px solid #499EDF;
34
- background-color: #F8F8F8;
35
- }
36
- </style>
37
-
38
- <template>
39
- <div class="auto">
40
- <criteria-paged :model="model" v-ref:paged>
41
- <criteria partial='criteria' @condition-changed='$parent.selfSearch' v-ref:cri>
42
- <div partial>
43
- <p align="center" style="color: maroon" v-if="!$parent.$parent.isHaveJiBiao">只限物联网表进行开关阀操作</p>
44
- <p align="center" style="color: maroon" v-if="$parent.$parent.isHaveJiBiao">只限物联网表和机表进行操作</p>
45
- <form>
46
- <div class="row app-row">
47
- <div class="col-xs-4">
48
- <img src="../../assets/用户ID.png" style="width: 20px;margin-bottom: 5px" alt="">
49
- <label for="f_userinfo_code" class="font text-left">用户编号:</label>
50
- </div>
51
- <div class="col-xs-8" >
52
- <input id="f_userinfo_code" class="search_input input-font" v-model="$parent.$parent.f_userinfo_code" />
53
- </div>
54
- </div>
55
- <div class="row app-row">
56
- <div class="col-xs-4">
57
- <img src="../../assets/用户ID.png" style="width: 20px;margin-bottom: 5px" alt="">
58
- <label for="f_meternumber" class="font text-left">用户表号:</label>
59
- </div>
60
- <div class="col-xs-8" >
61
- <input id="f_meternumber" class="search_input input-font" v-model="$parent.$parent.f_meternumber" />
62
- </div>
63
- </div>
64
- <div class="row app-row" v-if="$parent.$parent.isHaveJiBiao">
65
- <div class="col-xs-4">
66
- <img src="../../assets/用户类型.png" style="width: 20px;margin-bottom: 5px" alt="">
67
- <label for="f_meternumber" class="font text-left">气表类型:</label>
68
- </div>
69
- <div class="col-xs-8" >
70
- <v-select
71
- class="input-font"
72
- placeholder='请选择气表类型'
73
- :value.sync="$parent.$parent.f_meter_type"
74
- v-model="$parent.$parent.f_meter_type"
75
- :options='$parent.$parent.meterTypeOptions'
76
- close-on-select
77
- clear-button>
78
- </v-select>
79
- </div>
80
- </div>
81
- <div class="row text-center" style="margin-top: 20px;">
82
- <button type="button" class="btn btn-lg btn-font btn-color" style="width: 45%;" @click="search">查询</button>
83
- </div>
84
- <div style="height:30px;"></div>
85
- </form>
86
- </div>
87
- </criteria>
88
- <list :model="model" partial='list'>
89
- <div partial>
90
- <div class="auto app-text" style="margin-top: 5px;">
91
- <div class="panel" style="padding: 10px 10px 5px 10px;">
92
- <div class="panel-body panel-self">
93
- <div class="col-xs-12">
94
- <p class="panel-title col-xs-5 text-left font" style="float: left"><b>用户编号:</b></p>
95
- <p class="panel-title col-xs-7 text-left input-font" >{{ row.f_userinfo_code }}</p>
96
- </div>
97
- <div class="col-xs-12">
98
- <p class="panel-title col-xs-5 text-left font" style="float: left"><b>用户名称:</b></p>
99
- <p class="panel-title col-xs-7 text-left input-font" >{{ row.f_user_name }}</p>
100
- </div>
101
- <div class="col-xs-12">
102
- <p class="panel-title col-xs-5 text-left font"><b>用户类型:</b></p>
103
- <p class="panel-title col-xs-7 text-left input-font">{{ row.f_user_type }}
104
- </p>
105
- </div>
106
- <div class="col-xs-12">
107
- <p class="panel-title col-xs-5 text-left font"><b>用户电话:</b></p>
108
- <p class="panel-title col-xs-7 text-left input-font" >{{ row.f_user_phone }}
109
- </p>
110
- </div>
111
- <div class="col-xs-12">
112
- <p class="panel-title text-left font" style="float: left"><b>用户地址:</b></p>
113
- <p class="panel-title col-xs-7 text-left input-font" >{{ row.f_address }}</p>
114
- </div>
115
- <div class="col-xs-12">
116
- <p class="panel-title col-xs-5 text-left font"><b>燃气表号:</b></p>
117
- <p class="panel-title col-xs-7 text-left input-font">{{ row.f_meternumber }}</p>
118
- </div>
119
- <div class="col-xs-12">
120
- <p class="panel-title col-xs-5 text-left font"><b>左右表:</b></p>
121
- <p class="panel-title col-xs-7 text-left input-font">{{ row.f_aroundmeter }}</p>
122
- </div>
123
- <div class="col-xs-12">
124
- <p class="panel-title col-xs-5 text-left font"><b>气表品牌:</b></p>
125
- <p class="panel-title col-xs-7 text-left input-font">{{ row.f_meter_brand }}</p>
126
- </div>
127
- <div class="col-xs-12">
128
- <p class="panel-title col-xs-5 text-left font"><b>气表类型:</b></p>
129
- <p class="panel-title col-xs-7 text-left input-font">{{ row.f_meter_type }}</p>
130
- </div>
131
- <div class="col-xs-12">
132
- <p class="panel-title col-xs-5 text-left font"><b>累计气量:</b></p>
133
- <p class="panel-title col-xs-7 text-left input-font">{{ row.f_meter_base }}</p>
134
- </div>
135
- <div class="col-xs-12">
136
- <p class="panel-title col-xs-5 text-left font"><b>预存余额:</b></p>
137
- <p class="panel-title col-xs-7 text-left input-font">{{ row.f_balance_amount }}</p>
138
- </div>
139
- <div class="col-xs-12">
140
- <p class="panel-title col-xs-5 text-left font"><b>碱电电压:</b></p>
141
- <p class="panel-title col-xs-7 text-left input-font">{{ row.f_batteryLevel2 }}</p>
142
- </div>
143
- <div class="col-xs-6" v-if="row.f_meter_type == '物联网表'">
144
- <p class="panel-title col-xs-5 text-left font"><b>阀门状态</b></p>
145
- <p class="panel-title col-xs-7 text-left input-font">{{ row.f_valve_state }}</p>
146
- </div>
147
- <div class="col-xs-6" v-if="row.f_meter_type == '物联网表'">
148
- <button class="btn btn-font btn-color" type="button" style="width: 28%;padding: 2px 5px;" v-if="row.f_valve_state == '关阀'" @click="$parent.$parent.$parent.openvalve(row)">开阀</button>
149
- <button class="btn btn-font btn-color" type="button" style="width: 28%;padding: 2px 5px;" v-if="row.f_valve_state == '开阀'" @click="$parent.$parent.$parent.clonevalve(row)">关阀</button>
150
- <button class="btn btn-font btn-color" type="button" style="width: 28%;padding: 2px 5px;" v-if="row.f_meter_brand.includes('西美')" @click="$parent.$parent.$parent.clearBarrier(row)">清除障碍</button>
151
- </div>
152
- <div class="col-xs-6" v-if="row.f_meter_type == '机表'">
153
- <button class="btn btn-font btn-color" type="button" style="width: 50%;padding: 2px 5px;" @click="$parent.$parent.$parent.goVindicate(row)">档案维护</button>
154
- </div>
155
- </div>
156
- </div>
157
- </div>
158
- </div>
159
- </list>
160
- </criteria-paged>
161
- <modal :show.sync="showModal">
162
- <div slot="modal-header" class="modal-header">
163
- <h4 class="modal-title">
164
- {{modalTitle}}
165
- </h4>
166
- </div>
167
- <div slot="modal-body" class="modal-body">
168
- <div class="row" style="margin-top: 6px">
169
- <textarea id="el_ca_txt" v-model.trim="f_comments" style="border-radius:4px;width: 100%;" placeholder="请输入开关阀原因" >
170
- </textarea>
171
- </div>
172
- </div>
173
- <div slot="modal-footer" class="modal-footer">
174
- <button type="button" class="btn btn-default" @click="showModal = false">取消</button>
175
- <button type="button" class="btn btn-success" @click="openOrCloneValveMethod(istype)">{{istype}}</button>
176
- </div>
177
- </modal>
178
- </div>
179
- </template>
180
-
181
- <script>
182
- import LocalPagedList from '../../plugins/LocalPagedList'
183
- import Vue from 'vue'
184
- import { PagedList } from 'vue-client'
185
- import PhoneUpUserinfo from './PhoneUpUserinfo'
186
-
187
-
188
- export default {
189
- title: '开关阀',
190
- data () {
191
- return {
192
- model: Vue.android ? new PagedList(`${this.$androidUtil.getProxyUrl()}/rs/sql/SwitchValveSeachUser`, 5) : new PagedList( 'AndroidRest/rs/sql/SwitchValveSeachUser',5),
193
- f_meternumber: '',
194
- f_userinfo_code: '',
195
- f_operator: Vue.user.name,
196
- filialeid: Vue.user.orgid,
197
- // f_operator: '温艺轩',
198
- // filialeid: '453',
199
- type: '',
200
- showModal: false,
201
- modalTitle: '', //开关阀标题
202
- f_comments: '', //开关阀原因
203
- istype: '', //
204
- thisOneData: '', //当前操作的用户
205
- f_meter_type: '',
206
- condition: '',
207
- isHaveJiBiao: false,
208
- meterTypeOptions: [{label: '全部', value: ''}, {label: '物联网表', value: '物联网表'}, {label: '机表', value: '机表'}]
209
- }
210
- },
211
- ready () {
212
- this.isHaveJiBiao = this.$appdata.getSingleValue('开关阀是否查询机表') === '是'
213
- if (this.isHaveJiBiao) {
214
- this.condition = " and f_meter_type in ('物联网表', '机表')"
215
- } else {
216
- this.condition = " and f_meter_type in ('物联网表')"
217
- }
218
- },
219
- methods: {
220
- clearBarrier(val){
221
- // 127.0.0.1:8445
222
- // 参数
223
- let datas = {
224
- moduleName:"XiMeiSystem", // 固定值
225
- content:{
226
- tradeCode:"3015",// 固定值
227
- appid: "yysf", // 固定值
228
- partner: "cqsemay_bcts", // 固定值
229
- version:"v1", // 固定值
230
- tasked:this.getuuid(), // 任务id
231
- notifyUrl:"http://192.168.2.10:8445/webmeter/rs/logic/XiMeiSystemCallBack", // 固定值
232
- meterNo: val.f_meternumber,// 表号
233
- signType:" MD5" //固定值
234
- },
235
- title: "清除异常", // 固定值
236
- type: "清除异常", // 固定值
237
- inputtor:this.f_operator, // 操作人
238
- userId:val.f_userfiles_id, // 表档案ID
239
- dataId: null // 操作记录ID
240
- }
241
- this.$resetpost(`${this.$androidUtil.getProxyUrl()}/webmeter/rs/logic/syncSaveSetParamsTemplate`, {data: datas},{resolveMsg: `清理成功`, rejectMsg: `清理失败`}).then(res => {
242
- })
243
- },
244
- getuuid(){
245
- let uuidA = '';
246
- var s = [];
247
- var hexDigits = '0123456789abcdef';
248
- for (var i = 0; i < 36; i++) {
249
- s[i] = hexDigits.substr(Math.floor(Math.random() * 0x10), 1);
250
- }
251
- s[14] = '4';
252
- s[19] = hexDigits.substr((s[19] & 0x3) | 0x8, 1);
253
- s[8] = s[13] = s[18] = s[23] = '-';
254
- uuidA = s.join('');
255
- return uuidA;
256
- },
257
- selfSearch () {
258
- //tag
259
- // let condition = ` uf.f_filialeid = '${this.filialeid}'`
260
- let condition = ` 1=1 `
261
- condition += this.condition
262
- condition += this.f_meternumber ? ` and f_meternumber = '${this.f_meternumber}'` : ""
263
- condition += this.f_userinfo_code ? ` and f_userinfo_code = '${this.f_userinfo_code}'` : ""
264
- condition += this.f_meter_type != '' && this.f_meter_type != [] ? ` and f_meter_type = '${this.f_meter_type}'` : ""
265
- console.log(condition)
266
- //tag
267
- this.model.search(condition)
268
- },
269
- openvalve (val) {
270
- //tag
271
- this.modalTitle = '对表号为'+ val.f_meternumber+'开阀'
272
- this.istype = '开阀'
273
- this.showModal = true;
274
- this.thisOneData = val;
275
- },
276
- clonevalve (val) {
277
- //tag
278
- this.modalTitle = '对表号为'+ val.f_meternumber+'关阀'
279
- this.istype = '关阀'
280
- this.showModal = true;
281
- this.thisOneData = val;
282
- },
283
- openOrCloneValveMethod (msg) {
284
- if (this.f_comments=='') {
285
- return this.$showMessage("请输入开关阀原因")
286
- }
287
- var data = {
288
- instructType: '阀门控制',
289
- instructTitle: `手动${msg}`,
290
- condition: `t_userfiles.f_userfiles_id='${this.thisOneData.f_userfiles_id}'`,
291
- meterBrandName: this.thisOneData.f_alias, // 气表别名
292
- f_instruct_state: '待发送',
293
- inputtor: this.f_operator,
294
- reasonInfo: this.f_comments, //操作原因
295
- meternumberf: this.thisOneData.f_meternumber, //表号
296
- contentData: {isOpen: msg=='开阀' ? 1 : 0}, // oper 为true 时为开阀 false 为关阀
297
- }
298
- this.$resetpost(`${this.$androidUtil.getProxyUrl()}/rs/logic/iot_saveInstruct`, {data: data}).then((row) => {
299
- this.$showMessage(`${msg}指令发送成功,请等候2分钟进行查询`)
300
- //tag
301
- this.thisOneData = '';
302
- this.istype = '';
303
- this.f_comments = '';
304
- this.showModal = false
305
- this.selfSearch()
306
- })
307
- },
308
- // 档案维护
309
- goVindicate(row) {
310
- console.log(row)
311
- var pardate = {
312
- title:'档案维护',
313
- safe:true
314
- }
315
- this.$dispatch('gotoson',pardate)
316
- this.$goto('PhoneUpUserinfo', {f_userinfo_id: row.f_userinfo_id},'self')
317
- }
318
- },
319
- components: {
320
- 'PhoneUpUserinfo': PhoneUpUserinfo
321
- }
322
- }
323
- </script>
1
+ <style scoped>
2
+ .app-row {
3
+ background-color: white;
4
+ padding: 10px 10px 0 10px;
5
+ border-bottom: 1px solid rgba(235, 235, 235, 0.5);
6
+ }
7
+ .search_input {
8
+ border: 0;
9
+ outline: none;
10
+ }
11
+ .font{
12
+ font: 15px PingFang-SC-Medium;
13
+ color: #666666;
14
+ }
15
+ .input-font{
16
+ font: 15px PingFang-SC-Medium;
17
+ color: #333333;
18
+ }
19
+ .btn-font{
20
+ font:600 16px PingFang-SC-Bold;
21
+ color: #499EDF;
22
+ }
23
+ .btn-color{
24
+ background-color: #FFFFFF;
25
+ border-radius: 10px ;
26
+ border: 1px solid #499EDF;
27
+ }
28
+ .app-text {
29
+ font-size: 12px;
30
+ }
31
+ .panel-self{
32
+ border-radius: 10px;
33
+ border:1px solid #499EDF;
34
+ background-color: #F8F8F8;
35
+ }
36
+ </style>
37
+
38
+ <template>
39
+ <div class="auto">
40
+ <criteria-paged :model="model" v-ref:paged>
41
+ <criteria partial='criteria' @condition-changed='$parent.selfSearch' v-ref:cri>
42
+ <div partial>
43
+ <p align="center" style="color: maroon" v-if="!$parent.$parent.isHaveJiBiao">只限物联网表进行开关阀操作</p>
44
+ <p align="center" style="color: maroon" v-if="$parent.$parent.isHaveJiBiao">只限物联网表和机表进行操作</p>
45
+ <form>
46
+ <div class="row app-row">
47
+ <div class="col-xs-4">
48
+ <img src="../../assets/用户ID.png" style="width: 20px;margin-bottom: 5px" alt="">
49
+ <label for="f_userinfo_code" class="font text-left">用户编号:</label>
50
+ </div>
51
+ <div class="col-xs-8" >
52
+ <input id="f_userinfo_code" class="search_input input-font" v-model="$parent.$parent.f_userinfo_code" />
53
+ </div>
54
+ </div>
55
+ <div class="row app-row">
56
+ <div class="col-xs-4">
57
+ <img src="../../assets/用户ID.png" style="width: 20px;margin-bottom: 5px" alt="">
58
+ <label for="f_meternumber" class="font text-left">用户表号:</label>
59
+ </div>
60
+ <div class="col-xs-8" >
61
+ <input id="f_meternumber" class="search_input input-font" v-model="$parent.$parent.f_meternumber" />
62
+ </div>
63
+ </div>
64
+ <div class="row app-row" v-if="$parent.$parent.isHaveJiBiao">
65
+ <div class="col-xs-4">
66
+ <img src="../../assets/用户类型.png" style="width: 20px;margin-bottom: 5px" alt="">
67
+ <label for="f_meternumber" class="font text-left">气表类型:</label>
68
+ </div>
69
+ <div class="col-xs-8" >
70
+ <v-select
71
+ class="input-font"
72
+ placeholder='请选择气表类型'
73
+ :value.sync="$parent.$parent.f_meter_type"
74
+ v-model="$parent.$parent.f_meter_type"
75
+ :options='$parent.$parent.meterTypeOptions'
76
+ close-on-select
77
+ clear-button>
78
+ </v-select>
79
+ </div>
80
+ </div>
81
+ <div class="row text-center" style="margin-top: 20px;">
82
+ <button type="button" class="btn btn-lg btn-font btn-color" style="width: 45%;" @click="search">查询</button>
83
+ </div>
84
+ <div style="height:30px;"></div>
85
+ </form>
86
+ </div>
87
+ </criteria>
88
+ <list :model="model" partial='list'>
89
+ <div partial>
90
+ <div class="auto app-text" style="margin-top: 5px;">
91
+ <div class="panel" style="padding: 10px 10px 5px 10px;">
92
+ <div class="panel-body panel-self">
93
+ <div class="col-xs-12">
94
+ <p class="panel-title col-xs-5 text-left font" style="float: left"><b>用户编号:</b></p>
95
+ <p class="panel-title col-xs-7 text-left input-font" >{{ row.f_userinfo_code }}</p>
96
+ </div>
97
+ <div class="col-xs-12">
98
+ <p class="panel-title col-xs-5 text-left font" style="float: left"><b>用户名称:</b></p>
99
+ <p class="panel-title col-xs-7 text-left input-font" >{{ row.f_user_name }}</p>
100
+ </div>
101
+ <div class="col-xs-12">
102
+ <p class="panel-title col-xs-5 text-left font"><b>用户类型:</b></p>
103
+ <p class="panel-title col-xs-7 text-left input-font">{{ row.f_user_type }}
104
+ </p>
105
+ </div>
106
+ <div class="col-xs-12">
107
+ <p class="panel-title col-xs-5 text-left font"><b>用户电话:</b></p>
108
+ <p class="panel-title col-xs-7 text-left input-font" >{{ row.f_user_phone }}
109
+ </p>
110
+ </div>
111
+ <div class="col-xs-12">
112
+ <p class="panel-title text-left font" style="float: left"><b>用户地址:</b></p>
113
+ <p class="panel-title col-xs-7 text-left input-font" >{{ row.f_address }}</p>
114
+ </div>
115
+ <div class="col-xs-12">
116
+ <p class="panel-title col-xs-5 text-left font"><b>燃气表号:</b></p>
117
+ <p class="panel-title col-xs-7 text-left input-font">{{ row.f_meternumber }}</p>
118
+ </div>
119
+ <div class="col-xs-12">
120
+ <p class="panel-title col-xs-5 text-left font"><b>左右表:</b></p>
121
+ <p class="panel-title col-xs-7 text-left input-font">{{ row.f_aroundmeter }}</p>
122
+ </div>
123
+ <div class="col-xs-12">
124
+ <p class="panel-title col-xs-5 text-left font"><b>气表品牌:</b></p>
125
+ <p class="panel-title col-xs-7 text-left input-font">{{ row.f_meter_brand }}</p>
126
+ </div>
127
+ <div class="col-xs-12">
128
+ <p class="panel-title col-xs-5 text-left font"><b>气表类型:</b></p>
129
+ <p class="panel-title col-xs-7 text-left input-font">{{ row.f_meter_type }}</p>
130
+ </div>
131
+ <div class="col-xs-12">
132
+ <p class="panel-title col-xs-5 text-left font"><b>累计气量:</b></p>
133
+ <p class="panel-title col-xs-7 text-left input-font">{{ row.f_meter_base }}</p>
134
+ </div>
135
+ <div class="col-xs-12">
136
+ <p class="panel-title col-xs-5 text-left font"><b>预存余额:</b></p>
137
+ <p class="panel-title col-xs-7 text-left input-font">{{ row.f_balance_amount }}</p>
138
+ </div>
139
+ <div class="col-xs-12">
140
+ <p class="panel-title col-xs-5 text-left font"><b>碱电电压:</b></p>
141
+ <p class="panel-title col-xs-7 text-left input-font">{{ row.f_batteryLevel2 }}</p>
142
+ </div>
143
+ <div class="col-xs-6" v-if="row.f_meter_type == '物联网表'">
144
+ <p class="panel-title col-xs-5 text-left font"><b>阀门状态</b></p>
145
+ <p class="panel-title col-xs-7 text-left input-font">{{ row.f_valve_state }}</p>
146
+ </div>
147
+ <div class="col-xs-6" v-if="row.f_meter_type == '物联网表'">
148
+ <button class="btn btn-font btn-color" type="button" style="width: 28%;padding: 2px 5px;" v-if="row.f_valve_state == '关阀'" @click="$parent.$parent.$parent.openvalve(row)">开阀</button>
149
+ <button class="btn btn-font btn-color" type="button" style="width: 28%;padding: 2px 5px;" v-if="row.f_valve_state == '开阀'" @click="$parent.$parent.$parent.clonevalve(row)">关阀</button>
150
+ <button class="btn btn-font btn-color" type="button" style="width: 28%;padding: 2px 5px;" v-if="row.f_meter_brand.includes('西美')" @click="$parent.$parent.$parent.clearBarrier(row)">清除障碍</button>
151
+ </div>
152
+ <div class="col-xs-6" v-if="row.f_meter_type == '机表'">
153
+ <button class="btn btn-font btn-color" type="button" style="width: 50%;padding: 2px 5px;" @click="$parent.$parent.$parent.goVindicate(row)">档案维护</button>
154
+ </div>
155
+ </div>
156
+ </div>
157
+ </div>
158
+ </div>
159
+ </list>
160
+ </criteria-paged>
161
+ <modal :show.sync="showModal">
162
+ <div slot="modal-header" class="modal-header">
163
+ <h4 class="modal-title">
164
+ {{modalTitle}}
165
+ </h4>
166
+ </div>
167
+ <div slot="modal-body" class="modal-body">
168
+ <div class="row" style="margin-top: 6px">
169
+ <textarea id="el_ca_txt" v-model.trim="f_comments" style="border-radius:4px;width: 100%;" placeholder="请输入开关阀原因" >
170
+ </textarea>
171
+ </div>
172
+ </div>
173
+ <div slot="modal-footer" class="modal-footer">
174
+ <button type="button" class="btn btn-default" @click="showModal = false">取消</button>
175
+ <button type="button" class="btn btn-success" @click="openOrCloneValveMethod(istype)">{{istype}}</button>
176
+ </div>
177
+ </modal>
178
+ </div>
179
+ </template>
180
+
181
+ <script>
182
+ import LocalPagedList from '../../plugins/LocalPagedList'
183
+ import Vue from 'vue'
184
+ import { PagedList } from 'vue-client'
185
+ import PhoneUpUserinfo from './PhoneUpUserinfo'
186
+
187
+
188
+ export default {
189
+ title: '开关阀',
190
+ data () {
191
+ return {
192
+ model: Vue.android ? new PagedList(`${this.$androidUtil.getProxyUrl()}/rs/sql/SwitchValveSeachUser`, 5) : new PagedList( 'AndroidRest/rs/sql/SwitchValveSeachUser',5),
193
+ f_meternumber: '',
194
+ f_userinfo_code: '',
195
+ f_operator: Vue.user.name,
196
+ filialeid: Vue.user.orgid,
197
+ // f_operator: '温艺轩',
198
+ // filialeid: '453',
199
+ type: '',
200
+ showModal: false,
201
+ modalTitle: '', //开关阀标题
202
+ f_comments: '', //开关阀原因
203
+ istype: '', //
204
+ thisOneData: '', //当前操作的用户
205
+ f_meter_type: '',
206
+ condition: '',
207
+ isHaveJiBiao: false,
208
+ meterTypeOptions: [{label: '全部', value: ''}, {label: '物联网表', value: '物联网表'}, {label: '机表', value: '机表'}]
209
+ }
210
+ },
211
+ ready () {
212
+ this.isHaveJiBiao = this.$appdata.getSingleValue('开关阀是否查询机表') === '是'
213
+ if (this.isHaveJiBiao) {
214
+ this.condition = " and f_meter_type in ('物联网表', '机表')"
215
+ } else {
216
+ this.condition = " and f_meter_type in ('物联网表')"
217
+ }
218
+ },
219
+ methods: {
220
+ clearBarrier(val){
221
+ // 127.0.0.1:8445
222
+ // 参数
223
+ let datas = {
224
+ moduleName:"XiMeiSystem", // 固定值
225
+ content:{
226
+ tradeCode:"3015",// 固定值
227
+ appid: "yysf", // 固定值
228
+ partner: "cqsemay_bcts", // 固定值
229
+ version:"v1", // 固定值
230
+ tasked:this.getuuid(), // 任务id
231
+ notifyUrl:"http://192.168.2.10:8445/webmeter/rs/logic/XiMeiSystemCallBack", // 固定值
232
+ meterNo: val.f_meternumber,// 表号
233
+ signType:" MD5" //固定值
234
+ },
235
+ title: "清除异常", // 固定值
236
+ type: "清除异常", // 固定值
237
+ inputtor:this.f_operator, // 操作人
238
+ userId:val.f_userfiles_id, // 表档案ID
239
+ dataId: null // 操作记录ID
240
+ }
241
+ this.$resetpost(`${this.$androidUtil.getProxyUrl()}/webmeter/rs/logic/syncSaveSetParamsTemplate`, {data: datas},{resolveMsg: `清理成功`, rejectMsg: `清理失败`}).then(res => {
242
+ })
243
+ },
244
+ getuuid(){
245
+ let uuidA = '';
246
+ var s = [];
247
+ var hexDigits = '0123456789abcdef';
248
+ for (var i = 0; i < 36; i++) {
249
+ s[i] = hexDigits.substr(Math.floor(Math.random() * 0x10), 1);
250
+ }
251
+ s[14] = '4';
252
+ s[19] = hexDigits.substr((s[19] & 0x3) | 0x8, 1);
253
+ s[8] = s[13] = s[18] = s[23] = '-';
254
+ uuidA = s.join('');
255
+ return uuidA;
256
+ },
257
+ selfSearch () {
258
+ //tag
259
+ // let condition = ` uf.f_filialeid = '${this.filialeid}'`
260
+ let condition = ` 1=1 `
261
+ condition += this.condition
262
+ condition += this.f_meternumber ? ` and f_meternumber = '${this.f_meternumber}'` : ""
263
+ condition += this.f_userinfo_code ? ` and f_userinfo_code = '${this.f_userinfo_code}'` : ""
264
+ condition += this.f_meter_type != '' && this.f_meter_type != [] ? ` and f_meter_type = '${this.f_meter_type}'` : ""
265
+ console.log(condition)
266
+ //tag
267
+ this.model.search(condition)
268
+ },
269
+ openvalve (val) {
270
+ //tag
271
+ this.modalTitle = '对表号为'+ val.f_meternumber+'开阀'
272
+ this.istype = '开阀'
273
+ this.showModal = true;
274
+ this.thisOneData = val;
275
+ },
276
+ clonevalve (val) {
277
+ //tag
278
+ this.modalTitle = '对表号为'+ val.f_meternumber+'关阀'
279
+ this.istype = '关阀'
280
+ this.showModal = true;
281
+ this.thisOneData = val;
282
+ },
283
+ openOrCloneValveMethod (msg) {
284
+ if (this.f_comments=='') {
285
+ return this.$showMessage("请输入开关阀原因")
286
+ }
287
+ var data = {
288
+ instructType: '阀门控制',
289
+ instructTitle: `手动${msg}`,
290
+ condition: `t_userfiles.f_userfiles_id='${this.thisOneData.f_userfiles_id}'`,
291
+ meterBrandName: this.thisOneData.f_alias, // 气表别名
292
+ f_instruct_state: '待发送',
293
+ inputtor: this.f_operator,
294
+ reasonInfo: this.f_comments, //操作原因
295
+ meternumberf: this.thisOneData.f_meternumber, //表号
296
+ contentData: {isOpen: msg=='开阀' ? 1 : 0}, // oper 为true 时为开阀 false 为关阀
297
+ }
298
+ this.$resetpost(`${this.$androidUtil.getProxyUrl()}/rs/logic/iot_saveInstruct`, {data: data}).then((row) => {
299
+ this.$showMessage(`${msg}指令发送成功,请等候2分钟进行查询`)
300
+ //tag
301
+ this.thisOneData = '';
302
+ this.istype = '';
303
+ this.f_comments = '';
304
+ this.showModal = false
305
+ this.selfSearch()
306
+ })
307
+ },
308
+ // 档案维护
309
+ goVindicate(row) {
310
+ console.log(row)
311
+ var pardate = {
312
+ title:'档案维护',
313
+ safe:true
314
+ }
315
+ this.$dispatch('gotoson',pardate)
316
+ this.$goto('PhoneUpUserinfo', {f_userinfo_id: row.f_userinfo_id},'self')
317
+ }
318
+ },
319
+ components: {
320
+ 'PhoneUpUserinfo': PhoneUpUserinfo
321
+ }
322
+ }
323
+ </script>