sale-client 3.4.112 → 3.4.113

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 (93) hide show
  1. package/.gradle/{5.2.1 → 4.4}/fileChanges/last-build.bin +0 -0
  2. package/.gradle/{6.1.1 → 4.4}/fileHashes/fileHashes.bin +0 -0
  3. package/.gradle/4.4/fileHashes/fileHashes.lock +0 -0
  4. package/build/dev-server.js +3 -3
  5. package/{.gradle/5.2.1/gc.properties → npm} +0 -0
  6. package/package.json +1 -1
  7. package/src/components/FilesManage/MeterinfoTest.vue +904 -905
  8. package/src/components/FilesManage/TemplateManage.vue +167 -167
  9. package/src/components/FilesManage/UserGeneralInfoTest.vue +642 -640
  10. package/src/components/charge/business/CardChangeFill.vue +612 -612
  11. package/src/components/charge/business/CardMeterCenter.vue +899 -899
  12. package/src/components/charge/business/FilesComplete.vue +253 -253
  13. package/src/components/charge/business/refund/IOTRefund.vue +236 -236
  14. package/src/components/charge/business/refund/RefundManage.vue +28 -28
  15. package/src/components/charge/gasloss/gasLossOperate.vue +357 -357
  16. package/src/components/chargeNew/thirdSurplus.vue +2 -0
  17. package/src/components/revenue/Common/MeterMessage.vue +184 -184
  18. package/src/components/revenue/HandManager/MeterBookManage.vue +153 -153
  19. package/src/components/revenue/base/leftview/MixPriceInfo.vue +60 -60
  20. package/src/components/revenue/base/leftview/Mulitinfo.vue +74 -74
  21. package/src/components/revenue/base/leftview/SafeCheck.vue +311 -311
  22. package/src/components/revenue/base/leftview/Stairinfo.vue +156 -156
  23. package/src/components/revenue/base/leftview/meterinfodetail.vue +195 -195
  24. package/src/components/revenue/base/rightview/CardList.vue +477 -477
  25. package/src/components/revenue/comprehen/ComprehenOperation/MeterDisable/DisableManage.vue +93 -93
  26. package/src/components/revenue/comprehen/ComprehenOperation/MeterEnable/EnableManage.vue +184 -184
  27. package/src/components/revenue/comprehen/ComprehenOperation/OtherGas/OtherGas.vue +5 -1
  28. package/src/components/revenue/comprehen/ComprehenOperation/removeTable.vue +1 -1
  29. package/src/components/revenue/comprehen/Maintenance/hand/handListMaintain.vue +638 -638
  30. package/src/components/revenue/comprehen/Maintenance/revenue/StockListmain.vue +7 -7
  31. package/src/components/revenue/comprehen/Message/MessageList.vue +587 -587
  32. package/src/components/revenue/comprehen/SpecialUser/BlackList/BlackList.vue +1 -1
  33. package/src/components/revenue/comprehen/SpecialUser/BlackList/BlackListManage.vue +1 -1
  34. package/src/components/revenue/comprehen/StairPrice/GasPriceList.vue +303 -303
  35. package/src/components/revenue/comprehen/replacement/replacementHandInfoRecord.vue +155 -155
  36. package/src/components/revenue/comprehen/wechatpay/WeChat.vue +62 -62
  37. package/src/components/webMeter/MeterManage/WebMeterBatchOperationValve.vue +8 -4
  38. package/src/filiale/alashan/PrintBill.vue +116 -116
  39. package/src/filiale/jingwei/CardHand.vue +742 -742
  40. package/src/filiale/macheng/FilesManageNew/FileUserFiles.vue +743 -0
  41. package/src/filiale/macheng/FilesManageNew/UserEssentialInfoTest.vue +371 -371
  42. package/src/filiale/macheng/FilesManageNew/UserGeneralInfoTest.vue +596 -596
  43. package/src/filiale/macheng/UserEssentialInfoTest.vue +368 -366
  44. package/src/filiale/meihekou/MeterinfoTest.vue +0 -1
  45. package/src/filiale/meihekou/PrintBill.vue +140 -140
  46. package/src/filiale/meihekou/ReissueBill.vue +322 -322
  47. package/src/filiale/qianneng/FilesManage/MeterinfoTest.vue +0 -1
  48. package/src/filiale/qianneng/GasPriceList.vue +330 -330
  49. package/src/filiale/qianneng/HandManager.vue +1838 -1838
  50. package/src/filiale/qianneng/OtherChargeNew.vue +6 -2
  51. package/src/filiale/qianneng/sale.js +30 -32
  52. package/src/filiale/qingtongxia/UserGeneralInfoTest.vue +538 -533
  53. package/src/filiale/rongcheng/FilesManageNew/UserGeneralInfoTest.vue +608 -608
  54. package/src/filiale/rongchuang/OtherGas.vue +329 -329
  55. package/src/filiale/tongchuan/CardList.vue +482 -482
  56. package/src/filiale/tongchuan/MeterinfoTest.vue +892 -892
  57. package/src/filiale/tongchuan/common/userinfo_detail/ic_detail/AutomaticPurse.vue +298 -298
  58. package/src/filiale/tongchuan/common/userinfo_detail/ic_detail/CardHandRecord.vue +267 -267
  59. package/src/filiale/tongchuan/common/userinfo_detail/ic_detail/ChangeMeterQueryUser.vue +240 -240
  60. package/src/filiale/tongchuan/common/userinfo_detail/ic_detail/ChangeRecord.vue +235 -235
  61. package/src/filiale/tongchuan/common/userinfo_detail/ic_detail/ChargeQueryUser.vue +372 -372
  62. package/src/filiale/tongchuan/common/userinfo_detail/ic_detail/DeveiceRecord.vue +251 -251
  63. package/src/filiale/tongchuan/common/userinfo_detail/ic_detail/FillCardQueryUser.vue +209 -209
  64. package/src/filiale/tongchuan/common/userinfo_detail/ic_detail/HandQueryUser.vue +365 -365
  65. package/src/filiale/tongchuan/common/userinfo_detail/ic_detail/MachineRecordQuery.vue +252 -252
  66. package/src/filiale/tongchuan/common/userinfo_detail/ic_detail/OtherChargeQueryUser.vue +250 -250
  67. package/src/filiale/tongchuan/common/userinfo_detail/ic_detail/RecordQueryUser.vue +249 -249
  68. package/src/filiale/tongchuan/common/userinfo_detail/ic_detail/TransferQueryUser.vue +222 -222
  69. package/src/filiale/tongchuan/sale.js +107 -107
  70. package/src/filiale/zhongsheng/rightview/CardList.vue +492 -492
  71. package/src/filiale/zhongsheng/wechatpay/WeChatPayDetail.vue +469 -469
  72. package/src/main.js +1 -1
  73. package/src/plugins/CardService.js +1798 -1798
  74. package/src/plugins/ChangeMeterService.js +756 -756
  75. package/src/plugins/FileManageService.js +366 -366
  76. package/.gradle/5.2.1/fileHashes/fileHashes.lock +0 -0
  77. package/.gradle/6.1.1/executionHistory/executionHistory.bin +0 -0
  78. package/.gradle/6.1.1/executionHistory/executionHistory.lock +0 -0
  79. package/.gradle/6.1.1/fileChanges/last-build.bin +0 -0
  80. package/.gradle/6.1.1/fileHashes/fileHashes.lock +0 -0
  81. package/.gradle/6.1.1/gc.properties +0 -0
  82. package/.gradle/7.1/dependencies-accessors/dependencies-accessors.lock +0 -0
  83. package/.gradle/7.1/dependencies-accessors/gc.properties +0 -0
  84. package/.gradle/7.1/executionHistory/executionHistory.bin +0 -0
  85. package/.gradle/7.1/executionHistory/executionHistory.lock +0 -0
  86. package/.gradle/7.1/fileChanges/last-build.bin +0 -0
  87. package/.gradle/7.1/fileHashes/fileHashes.bin +0 -0
  88. package/.gradle/7.1/fileHashes/fileHashes.lock +0 -0
  89. package/.gradle/7.1/gc.properties +0 -0
  90. package/.gradle/buildOutputCleanup/buildOutputCleanup.lock +0 -0
  91. package/.gradle/buildOutputCleanup/cache.properties +0 -2
  92. package/.gradle/checksums/checksums.lock +0 -0
  93. package/.gradle/vcs-1/gc.properties +0 -0
@@ -1,905 +1,904 @@
1
- <template>
2
- <div class="auto" id="meterInfoTest">
3
- <validator name='m' @valid="mValid(true)" @invalid="mValid(false)">
4
- <form class="form-horizontal select-overspread ">
5
- <div style="margin-top: 2%;">
6
- <a style="font-size: 16px;font-weight: 500;">表具信息</a>&nbsp;<a style="color: #999999;text-decoration: none"></a>
7
- </div>
8
- <div class="row">
9
- <div class="col-sm-4 form-group" v-if="isiot" :class="[$m.f_meternumber.required ? 'has-error' : '']">
10
- <label for="f_meternumber" class="font_normal_body">&ensp;表&emsp;&emsp;号</label>
11
- <input type="text" class="input_search" style="width:60%" v-model="row.f_meternumber"
12
- @blur="meternumberValidate()" placeholder='表号' v-validate:f_meternumber='{required: true }'
13
- v-next-el="{id: 'metertitles'}">
14
- </div>
15
- <div class="col-sm-4 form-group" v-else>
16
- <label for="f_meternumber" class="font_normal_body">&ensp;表&emsp;&emsp;号</label>
17
- <input type="text" class="input_search" style="width:60%" v-model="row.f_meternumber"
18
- @blur="meternumberValidate()" placeholder='表号'
19
- v-next-el="{id: 'metertitles'}">
20
- </div>
21
- <div class="col-sm-4 form-group">
22
- <label for="f_metertitles" class="font_normal_body">&ensp;表&ensp;封&ensp;号</label>
23
- <input type="text" class="input_search" style="width:60%" v-model="row.f_metertitles" placeholder='表封号'
24
- v-next-el="{id: 'meterbase'}">
25
- </div>
26
- <div class="col-sm-4 form-group">
27
- <label for="f_meter_base" class="font_normal_body">&ensp;表&ensp;读&ensp;数</label>
28
- <input type="number" class="input_search" style="width:60%" v-model="row.f_meter_base" placeholder='表底数'
29
- :disabled="!jurisdiction.includes('档案信息查询修改')" :readonly="!row.f_userfiles_id">
30
- </div>
31
- <div class="col-sm-4 form-group">
32
- <label for="f_meter_base" class="font_normal_body">&ensp;初始底数</label>
33
- <input type="number" class="input_search" style="width:60%" v-model="row.f_initial_base" placeholder='表底数'
34
- :disabled="!jurisdiction.includes('档案信息查询修改')">
35
- </div>
36
-
37
- <div class="col-sm-4 form-group" :class="[$m.brand.required ? 'has-error' : '']">
38
- <label for="gasbrand" class="font_normal_body">气表品牌</label>
39
- <input type="text" class="input_search" style="width:60%" v-show="false" v-model="$refs.brand.selectedItems"
40
- v-validate:brand='{required: true }'>
41
- <v-select :value.sync="row.gasbrand" :options='meterbrands' placeholder='气表品牌' close-on-select
42
- search @change='brandChange' v-model='row.gasbrand' v-ref:brand></v-select>
43
- </div>
44
- <div class="col-sm-4 form-group" :class="[$m.model.required ? 'has-error' : '']">
45
- <label for="gasmodel" class="font_normal_body">气表型号</label>
46
- <input type="text" v-show="false" v-model="$refs.model.selectedItems"
47
- v-validate:model='{required: true }'>
48
- <v-select :value.sync="row.gasmodel" :options='row.gasbrand[0].gasmodel' placeholder='气表型号'
49
- close-on-select
50
- v-model='row.gasmodel' :disabled='row.gasbrand.length === 0 ' v-ref:model></v-select>
51
- </div>
52
- <div class="col-sm-4 form-group">
53
- <label for="f_meter_base" class="font_normal_body">&ensp;累购气量</label>
54
- <input type="number" class="input_search" style="width:60%" v-model="row.f_total_gas" placeholder='累购气量'
55
- :disabled="!jurisdiction.includes('档案信息查询修改')">
56
- </div>
57
- <div class="col-sm-4 form-group">
58
- <label for="f_meter_base" class="font_normal_body">表写卡累购气量</label>
59
- <input type="number" class="input_search" style="width:60%" v-model="row.f_write_totalgas" placeholder='表写卡累购气量'
60
- :disabled="!jurisdiction.includes('档案信息查询修改')">
61
- </div>
62
- <div class="col-sm-4 form-group">
63
- <label for="f_meter_base" class="font_normal_body">&ensp;累购金额</label>
64
- <input type="number" class="input_search" style="width:60%" v-model="row.f_total_fee" placeholder='累购金额'
65
- :disabled="!jurisdiction.includes('档案信息查询修改')">
66
- </div>
67
- <div class="col-sm-4 form-group">
68
- <label for="f_meter_base" class="font_normal_body">表写卡累购金额</label>
69
- <input type="number" class="input_search" style="width:60%" v-model="row.f_write_totalfee" placeholder='表写卡累购金额'
70
- :disabled="!jurisdiction.includes('档案信息查询修改')">
71
- </div>
72
- <div class="col-sm-4 form-group" v-show="row.f_meter_classify != '机表'">
73
- <label for="f_times" class="font_normal_body">&ensp;写卡次数</label>
74
- <input type="number" class="input_search" style="width:60%" v-model="row.f_times" placeholder='写卡次数'
75
- :disabled="!jurisdiction.includes('档案信息查询修改')">
76
- </div>
77
- <div class="col-sm-4 form-group" v-show="row.f_meter_classify == '物联网表'">
78
- <label for="f_times" class="font_normal_body">物联网写卡次数</label>
79
- <input type="number" class="input_search" style="width:60%" v-model="row.f_iot_times" placeholder='物联网次数'
80
- :disabled="!jurisdiction.includes('档案信息查询修改')">
81
- </div>
82
- <div class="col-sm-4 form-group" v-show="false">
83
- <label for="f_remanent_gas" class="font_normal_body">剩余气量</label>
84
- <input type="number" class="input_search" style="width:60%" v-model="row.f_remanent_gas"
85
- placeholder='剩余气量'
86
- :disabled="f_userinfo_id"></input>
87
- <!--<button type="button" name="button" class="btn btn-link" @click="modefiy('f_remanent_gas')" v-if="f_userinfo_id">修改</button>-->
88
- </div>
89
- <div class="col-sm-4 form-group">
90
- <label for="f_times" class="font_normal_body">&ensp;最大量程</label>
91
- <input type="number" class="input_search" style="width:60%" v-model="row.f_capacity" placeholder='最大量程'>
92
- </div>
93
- <div class="col-sm-4 form-group" v-show="row.f_meter_classify == '物联网表'">
94
- <label for="gasmodel" class="font_normal_body">&ensp;阀门状态</label>
95
- <v-select :value.sync="row.f_valve_state" :options='valvestate' placeholder='阀门状态' close-on-select
96
- v-model='row.f_valve_state'></v-select>
97
- </div>
98
- <div class="col-sm-4 form-group" v-show="row.gasbrand.length > 0 && row.gasbrand[0].f_meter_type == '物联网表' && row.gasbrand[0].f_hascard == '是'">
99
- <label class="font_normal_body" title="开户方式">开户方式</label>
100
- <v-select :value.sync="row.f_open_way" :options='openWay' value-single placeholder='开户方式' close-on-select v-if="row.f_userfiles_id"
101
- search v-model='row.f_open_way' :disabled="true"></v-select>
102
- <v-select :value.sync="row.f_open_way" :options='openWay' value-single placeholder='开户方式' close-on-select v-else
103
- search v-model='row.f_open_way' :disabled="false"></v-select>
104
- </div>
105
- </div>
106
- <div>
107
- <a style="font-size: 16px;font-weight: 500;">气价信息</a>&nbsp;<a style="color: #999999;text-decoration: none"></a>
108
- </div>
109
- <div class="row">
110
- <div class="col-sm-4 form-group" :class="[$m.name.required ? 'has-error' : '']">
111
- <label for="pricename" class="font_normal_body">气价名称</label>
112
- <v-select :value.sync="row.pricename" v-model="row.pricename" search
113
- placeholder='气价名称' :options="getPricenames" @change="priceChange"
114
- close-on-select :disabled="permissionPrice" v-ref:name></v-select>
115
- <input type="text" v-show="false" v-model="$refs.name.selectedItems" v-validate:name='{required: true }'>
116
- </div>
117
- <div class="col-sm-4 form-group">
118
- <label for="f_username" class="font_normal_body">&ensp;客户类型</label>
119
- <v-select :value.sync="row.f_user_type"
120
- :options='usertypes' placeholder='客户类型'
121
- @change="userTypeChange()"
122
- :disabled="true"
123
- close-on-select></v-select>
124
- </div>
125
- <div class="col-sm-4 form-group"
126
- :class="[$m.gas.required ? 'select-error' : '']">
127
- <label for="f_username" class="font_normal_body">&ensp;用气性质</label>
128
- <input type="text" v-show="false" v-model="$refs.gas.selectedItems" v-validate:gas='{required: true }'>
129
- <v-select :value.sync="row.f_gasproperties" v-model="row.f_gasproperties"
130
- :options='gasproperties' placeholder='用气性质'
131
- :disabled="true"
132
- close-on-select v-ref:gas></v-select>
133
- </div>
134
- <div class="col-sm-4 form-group">
135
- <label for="f_detailprice" class="font_normal_body">&ensp;价&emsp;&emsp;格</label>
136
- <input type="text" class="input_search" style="width:60%" v-model="row.f_detailprice" placeholder='价格'
137
- disabled>
138
- </div>
139
- <div class="col-sm-4 form-group" :class="[$m.type.required ? 'select-error' : '']">
140
- <label for="pricetype" class="font_normal_body">&ensp;气价类型</label>
141
- <v-select :value.sync="row.pricetype" v-model="row.pricetype"
142
- placeholder='气价类型' :options="pricetypes"
143
- :value-single="true"
144
- :disabled="true"
145
- close-on-select v-ref:type>
146
- </v-select>
147
- <input type="text" v-show="false" v-model="$refs.type.selectedItems" v-validate:type='{required: true }'>
148
- </div>
149
- <div class="col-sm-4 form-group">
150
- <label class="font_normal_body">&ensp;气价备注</label>
151
- <input type="text" class="input_search" style="width:60%" v-model="row.f_price_comments" placeholder='气价备注' disabled>
152
- </div>
153
- </div>
154
- <div>
155
- <a style="font-size: 16px;font-weight: 500;">表具其他信息</a>&nbsp;<a style="color: #999999;text-decoration: none"></a>
156
- </div>
157
- <div class="row">
158
- <div class="col-sm-4 form-group" v-show="row.f_gasproperties=='工业'||row.f_gasproperties=='工业用气'">
159
- <label for="f_gongye_type" class="font_normal_body" title="参数:工业备注">&ensp;工业备注</label>
160
- <v-select :value.sync="row.f_gongye_type" v-model='row.f_gongye_type'
161
- :options='gongyetype' placeholder='工业备注'
162
- close-on-select
163
- v-el:cc></v-select>
164
- </div>
165
- <div class="col-sm-4 form-group">
166
- <label for="gasmodel" class="font_normal_body">&ensp;表&ensp;&ensp;&ensp;&ensp;向</label>
167
- <v-select :value.sync="row.f_aroundmeter" :options='aroundmeters' placeholder='左右表' close-on-select
168
- v-model='row.f_aroundmeter'></v-select>
169
- </div>
170
- <div class="col-sm-4 form-group" >
171
- <label for="f_bqf_type" class="font_normal_body">表前阀型号</label>
172
- <input type="text" class="input_search" style="width:60%" v-model="row.f_bqf_type"
173
- placeholder='表前阀型号'>
174
- </div>
175
- <div class="col-sm-4 form-group">
176
- <label class="font_normal_body">表具使用年限</label>
177
- <input type="number" class="input_search" style="width:60%" v-model="fireinfo.f_use_limit"
178
- placeholder='表具使用年限' >
179
- </div>
180
- <div class="col-sm-4 form-group">
181
- <label for="f_gas_person" class="font_normal_body">&ensp;通&ensp;气&ensp;人</label>
182
- <input type="text" class="input_search" style="width:60%" style="width:60%" v-model="row.f_gas_person"
183
- placeholder='通气人'></input>
184
- <!-- <v-select :value.sync="row.f_gas_person" v-model="row.f_gas_person"
185
- :options='gasperson' placeholder='通气人'
186
- close-on-select></v-select> -->
187
- </div>
188
- <div class="col-sm-4 form-group" :class="[$m.f_gas_date.required ? 'has-error' : '']">
189
- <input type="text" v-model="$refs.f_gas_date.value" v-show="false" v-validate:f_gas_date='{required: true }'>
190
- <label for="f_gas_date" class="font_normal_body">&ensp;通气日期</label>
191
- <datepicker style="width:60%" placeholder="通气日期"
192
- v-model="row.f_gas_date"
193
- v-ref:f_gas_date
194
- :value.sync="row.f_gas_date"
195
- :format="'yyyy-MM-dd HH:mm:ss'"
196
- ></datepicker>
197
- </div>
198
-
199
- <div class="col-sm-4 form-group" >
200
- <label for="f_position" class="font_normal_body" title="参数:安装位置">&ensp;安装位置</label>
201
- <v-select :value.sync="row.f_position" v-model="row.f_position"
202
- :options='positions' placeholder='安装位置'
203
- close-on-select></v-select>
204
- </div>
205
- <div class="col-sm-4 form-group" v-show="true">
206
- <label for="f_install_person" class="font_normal_body">&ensp;安&ensp;装&ensp;人</label>
207
- <v-select :value.sync="row.f_install_person" v-model="row.f_install_person"
208
- :options='installperson' placeholder='安装人'
209
- close-on-select></v-select>
210
- </div>
211
- <div class="col-sm-4 form-group">
212
- <label for="f_subscribe_date" class="font_normal_body">&ensp;预约时间</label>
213
- <datepicker style="width:60%" placeholder="预约通气时间"
214
- v-model="row.f_subscribe_date"
215
- :value.sync="row.f_subscribe_date"
216
- :format="'yyyy-MM-dd HH:mm:ss'"
217
- ></datepicker>
218
- </div>
219
- <div class="col-sm-4 form-group" v-show="opteratormetrbook" >
220
- <label for="f_position" class="font_normal_body" >&ensp;抄&ensp;表&ensp;册</label>
221
- <v-select :value.sync="row.f_meter_book_num" v-model="row.f_meter_book_num"
222
- :value-single="true"
223
- :options='meterbookoptions' placeholder='抄表册'
224
- close-on-select></v-select>
225
- </div>
226
- <div class="col-sm-4 form-group" v-show="true" :class="[$m.f_install_date.required ? 'has-error' : '']">
227
- <input type="text" v-model="$refs.f_install_date.value" v-show="false" v-validate:f_install_date='{required: true }'>
228
- <label for="f_install_date" class="font_normal_body">&ensp;安装日期</label>
229
- <datepicker style="width:60%" id="startDate" placeholder="安装日期" width='100%'
230
- v-model="row.f_install_date"
231
- :value.sync="row.f_install_date"
232
- class="datepicker"
233
- v-ref:f_install_date
234
- :format="'yyyy-MM-dd HH:mm:ss'"
235
- :show-reset-button="true">
236
- </datepicker>
237
- </div>
238
- <div class="col-sm-4 form-group">
239
- <label for="f_adjustable" class="font_normal_body">&ensp;调&ensp;压&ensp;箱</label>
240
- <v-select :value.sync="row.f_adjustable" :options='adjustables' placeholder='调压箱' close-on-select
241
- v-model='row.f_adjustable' :search='true'></v-select>
242
- </div>
243
- <div class="col-sm-4 form-group">
244
- <label for="f_hand_date" class="font_normal_body">&ensp;上次抄表</label>
245
- <datepicker style="width:60%" id="f_hand_date" placeholder="上次抄表日期"
246
- v-model="row.f_hand_date"
247
- :value.sync="row.f_hand_date"
248
- class="datepicker"
249
- :format="'yyyy-MM-dd HH:mm:ss'"
250
- :show-reset-button="true">
251
- </datepicker>
252
- </div>
253
- <div v-if="ratioshow" class="col-sm-4 form-group"
254
- :class="[$m.meternumber.required ? 'has-error' : '']">
255
- <label for="f_ratio" class="font_normal_body">比&emsp;&emsp;率</label>
256
- <input type="number" class="input_search" style="width:60%" v-model="row.f_price_ratio"
257
- :value.sync="row.f_price_ratio"
258
- v-validate:meternumber='{required: true }' placeholder='比率'>
259
- </div>
260
- <div class="col-sm-4 form-group" >
261
- <label for="f_scrap_date" class="font_normal_body">&ensp;报废日期</label>
262
- <datepicker style="width:60%" id="ScrapDate" placeholder="报废日期" width='100%'
263
- v-model="row.f_scrap_date"
264
- :value.sync="row.f_scrap_date"
265
- class="datepicker"
266
- :format="'yyyy-MM-dd'"
267
- :show-reset-button="true">
268
- </datepicker>
269
- </div>
270
- <div class="col-sm-4 form-group">
271
- <label for="gasmodel" class="font_normal_body">&ensp;垃&ensp;圾&ensp;费</label>
272
- <v-select :value.sync="row.f_garbage_fee" :options='garbagefee' placeholder='垃圾费' close-on-select
273
- :value-single="true"
274
- v-model='row.f_garbage_fee'></v-select>
275
- </div>
276
- <div class="col-sm-4 form-group">
277
- <label class="font_normal_body">&ensp;抄&ensp;表&ensp;员</label>
278
- <v-select :value.sync="row.f_inputtor" v-model='row.f_inputtor'
279
- style="width:60%"
280
- :options='inputtores' placeholder='抄表员'
281
- close-on-select
282
- condition="f_inputtor like '%{}%'" v-el:cc></v-select>
283
- </div>
284
- <div class="col-sm-4 form-group" >
285
- <label for="f_usetype" class="font_normal_body" title="参数:使用类型">&ensp;使用类型</label>
286
- <v-select :value.sync="row.f_usetype" v-model="row.f_usetype"
287
- :options='usetype' placeholder='使用类型'
288
- close-on-select></v-select>
289
- </div>
290
- <div class="col-sm-4 form-group" >
291
- <label for="f_position" class="font_normal_body" title="参数:使用状态">&ensp;使用状态</label>
292
- <v-select :value.sync="row.f_usestate" v-model="row.f_usestate"
293
- :options='usestate' placeholder='使用状态'
294
- close-on-select></v-select>
295
- </div>
296
- <div class="col-sm-4 form-group" >
297
- <label for="f_limit_sms" class="font_normal_body">&ensp;短信限定</label>
298
- <input type="text" class="input_search" style="width:60%" v-model="row.f_limit_sms"
299
- placeholder='短信限定'></input>
300
- </div>
301
- <div style="" class="col-sm-4 form-group">
302
- <label for="f_alarm_code" class="font_normal_body ">&ensp;报警器号</label>
303
- <input type="text" class="input_search" style="width:60%" v-model="row.f_alarm_code" placeholder='报警器号'/>
304
- </div>
305
- <div style="" class="col-sm-4 form-group">
306
- <label for="f_hand_month" class="font_normal_body ">&ensp;抄表月份</label>
307
- <v-select :value.sync="row.f_hand_month" v-model="row.f_hand_month"
308
- :options='handmonth' placeholder='抄表月份'
309
- close-on-select></v-select>
310
- </div>
311
- <div style="" class="col-sm-4 form-group">
312
- <label for="f_userfiles_address" class="font_normal_body ">&ensp;用气点名</label>
313
- <input class="input_search" style="width:60%" v-model="row.f_userfiles_address"/>
314
- </div>
315
- <div style="" class="col-sm-4 form-group">
316
- <label class="font_normal_body">&ensp;经&ensp;&ensp;&ensp;&ensp;度</label>
317
- <input type="text" style="width:60%" v-model="row.f_userfiles_lng" class="input_search" placeholder="经度"/>
318
- </div>
319
- <div style="" class="col-sm-4 form-group">
320
- <label class="font_normal_body">&ensp;纬&ensp;&ensp;&ensp;&ensp;度</label>
321
- <input type="text" style="width:48%" v-model="row.f_userfiles_lat" class="input_search" placeholder="纬度"/>
322
- &ensp;<span class="glyphicon glyphicon-map-marker" @click="openModal" ></span>
323
- </div>
324
- <div class="col-sm-4 form-group" v-if="config.overduesetShow">
325
- <label class="font_normal_body">滞纳金规则</label>
326
- <v-select :value.sync="row.f_overdue_set" v-model="row.f_overdue_set"
327
- :options='overdueset' placeholder='滞纳金规则'
328
- close-on-select></v-select>
329
- </div>
330
-
331
- <template v-if="config.stuckFlowmeterShow">
332
- <div class="col-sm-4 form-group">
333
- <label class="font_normal_body" title="控制器通经">控制器通经</label>
334
- <input type="text" class="input_search" style="width:60%" v-model="row.f_control_pass"
335
- placeholder='控制器通经'></input>
336
- </div>
337
- <div class="col-sm-4 form-group">
338
- <label class="font_normal_body" title="控制器压力等级">控制器压力等级</label>
339
- <input type="text" class="input_search" style="width:60%" v-model="row.f_control_mpa_level"
340
- placeholder='控制器压力等级'></input>
341
- </div>
342
- <div class="col-sm-4 form-group">
343
- <label class="font_normal_body" title="流量计表号">流量计表号</label>
344
- <input type="text" class="input_search" style="width:60%" v-model="row.f_flowmeter_number"
345
- placeholder='流量计表号'></input>
346
- </div>
347
- <div class="col-sm-4 form-group">
348
- <label class="font_normal_body" title="流量计表封号">流量计表封号</label>
349
- <input type="text" class="input_search" style="width:60%" v-model="row.f_llj_metertitles"
350
- placeholder='流量计表封号'></input>
351
- </div>
352
- <div class="col-sm-4 form-group">
353
- <label class="font_normal_body" title="流量计品牌">流量计品牌</label>
354
- <v-select :value.sync="row.f_flowmeter_brand" :options='flowmeterbrands' value-single placeholder='流量计品牌' close-on-select
355
- search v-model='row.f_flowmeter_brand'></v-select>
356
- </div>
357
- <div class="col-sm-4 form-group">
358
- <label class="font_normal_body" title="流量计型号">流量计型号</label>
359
- <v-select :value.sync="row.f_flowmeter_model" :options='flowmetermodels(row.f_flowmeter_brand)' value-single placeholder='流量计型号' close-on-select
360
- v-model='row.f_flowmeter_model' :disabled='row.f_flowmeter_brand.length === 0'></v-select>
361
- </div>
362
- <div class="col-sm-4 form-group">
363
- <label class="font_normal_body" title="流量计通经">流量计通经</label>
364
- <input type="text" class="input_search" style="width:60%" v-model="row.f_flowmeter_pass"
365
- placeholder='流量计通经'></input>
366
- </div>
367
- <div class="col-sm-4 form-group">
368
- <label class="font_normal_body" title="流量计压力等级">流量计压力等级</label>
369
- <input type="text" class="input_search" style="width:60%" v-model="row.f_flowmeter_mpa_level"
370
- placeholder='流量计压力等级'></input>
371
- </div>
372
- <div class="col-sm-4 form-group">
373
- <label class="font_normal_body" title="流量计出厂日期">流量计出厂日期</label>
374
- <datepicker style="width:60%" placeholder="流量计出厂日期"
375
- v-model="row.f_flowmeter_factory_date"
376
- :value.sync="row.f_flowmeter_factory_date"
377
- :format="'yyyy-MM-dd HH:mm:ss'"
378
- ></datepicker>
379
- </div>
380
- <div class="col-sm-4 form-group">
381
- <label class="font_normal_body" title="流量计精准度">流量计精准度</label>
382
- <input type="text" class="input_search" style="width:60%" v-model="row.f_flowmeter_accuracy"
383
- placeholder='流量计精准度'></input>
384
- </div>
385
- <div class="col-sm-4 form-group">
386
- <label class="font_normal_body" title="流量计电仪出厂编号">流量计电仪出厂编号</label>
387
- <input type="text" class="input_search" style="width:60%" v-model="row.f_flowmeter_factory_num"
388
- placeholder='流量计电仪出厂编号'></input>
389
- </div>
390
- <div class="col-sm-4 form-group">
391
- <label class="font_normal_body" title="流量计电仪出厂编号">流量计类型</label>
392
- <input type="text" class="input_search" style="width:60%" v-model="row.f_llj_type"
393
- placeholder='流量计类型'></input>
394
- </div>
395
- <div class="col-sm-4 form-group">
396
- <label class="font_normal_body" title="流量计安装日期">流量计安装日期</label>
397
- <datepicker style="width:60%" placeholder="流量计安装日期"
398
- v-model="row.f_flowmeter_install_date"
399
- :value.sync="row.f_flowmeter_install_date"
400
- :format="'yyyy-MM-dd HH:mm:ss'"
401
- ></datepicker>
402
- </div>
403
- </template>
404
- </div>
405
- </form>
406
- </validator>
407
- <!--<idverify :show.sync="show" @change-con="changeVal"></idverify>-->
408
- <modal v-if="showParame" :show.sync="showParame" v-ref:modal backdrop="false">
409
- <header slot="modal-header" class="modal-header">
410
- <button type="button" class="close" @click="cancel"><span>&times;</span></button>
411
- <h3 class="modal-title" style="text-align: center;">添加参数</h3>
412
- </header>
413
- <article slot="modal-body" class="modal-body">
414
- <add-json-parameter v-ref:addparamlist :gasmodel_id="userfileid" :gastype="gastype"
415
- :gasid="gasid"></add-json-parameter>
416
- </article>
417
- <footer slot="modal-footer" class="modal-footer">
418
- <button type="button" class="btn btn-primary" @click='confirmUserfiles()'>确认</button>
419
- </footer>
420
- </modal>
421
-
422
- <modal :show.sync="mapShow" v-if="mapShow" large backdrop="false" :width="900">
423
- <header slot="modal-header" class="modal-header">
424
- </header>
425
- <article slot="modal-body" class="modal-body">
426
- <amap-location :islocationclearmark="false" dom="addboxmap" v-ref:positionInfo @getmylocation="getmylocation"></amap-location>
427
- </article>
428
- <footer slot="modal-footer" class="modal-footer">
429
- <button v-show="mapShow" type="button" class="button_clear btn-gn" @click='closeModal'>取消</button>
430
- <button v-show="mapShow" type="button" class="button_clear btn-gn" @click='confirmLocation'>确认</button>
431
- </footer>
432
- </modal>
433
- </div>
434
- </template>
435
-
436
- <script>
437
- import co from 'co'
438
- import {HttpResetClass} from 'vue-client'
439
- import Vue from 'vue'
440
-
441
- let meterBookGen = function * (self) {
442
- if (self.$login.r.find(value => value == '抄表册建档')) {
443
- self.opteratormetrbook = true
444
- }
445
- let temp = {
446
- tablename: 't_meter_book',
447
- condition: `f_book_state='有效' and f_filiale_id='${self.$login.f.orgid}'`
448
- }
449
- let http = new HttpResetClass()
450
- let meterbooks = yield http.load('POST', 'rs/sql/saleSingleTable', {data: temp},
451
- {resolveMsg: null, rejectMsg: '获取抄表册信息失败!!'})
452
- if (meterbooks.data.length > 0) {
453
- let options = []
454
- for (let i = 0; i < meterbooks.data.length; i++) {
455
- let tmp = {label: meterbooks.data[i].f_book_name, value: `${meterbooks.data[i].id}`}
456
- options.push(tmp)
457
- }
458
- self.meterbookoptions = options
459
- }
460
- try {
461
- let result = yield http.load('GET', `rs/vue/MeterinfoTest.json`, {}, {resolveMsg: null, rejectMsg: null})
462
- Object.assign(self.config, result.data)
463
- if (!self.row.f_open_way) self.row.f_open_way = self.config.open_way
464
- } catch (error) {
465
- // 忽略704,文件找不到异常
466
- if (error.status !== 704) {
467
- throw error
468
- }
469
- }
470
- }
471
- let brandChangeGen = function* (self, val) {
472
- let beforeRecord = null
473
-
474
- if (self.meter.f_meter_classify === '机表') {
475
- beforeRecord = yield self.$resetpost('rs/sql/saleSingleTable', {
476
- data: {
477
- tablename: 't_handplan',
478
- condition: `f_user_id = '${self.row.f_user_id}' and f_meter_state in ('已抄表','未抄表')`
479
- }
480
- }, {resolveMsg: null, rejectMsg: '在档案中更改气表品牌时,获取之前机表抄表信息出错!!'})
481
- } else {
482
- beforeRecord = yield self.$resetpost('rs/sql/saleSingleTable', {
483
- data: {
484
- tablename: 't_sellinggas',
485
- condition: `f_user_id = '${self.row.f_user_id}' and f_state = '有效'`
486
- }
487
- }, {resolveMsg: null, rejectMsg: '在档案中更改气表品牌时,获取之前卡表收费信息出错!!'})
488
- }
489
- if (beforeRecord.data.length > 0 && self.row.gasbrand[0].f_meter_brand != self.oldrow.gasbrand[0].f_meter_brand) {
490
- self.$showAlert('该气表已投入使用,如需更改请执行换表操作', 'warning', 3000)
491
- // self.row.gasbrand = self.meter.gasbrand
492
- self.$dispatch('success')
493
- /* self.row.valid = bool
494
- self.$dispatch('self-valid') */
495
- } else {
496
- self.row.f_whether_hairpin = self.row.gasbrand[0].f_meter_type === '机表' ? '无卡' : '未发'
497
- }
498
- console.log('111', self.row)
499
- }
500
- export default {
501
- title: '表具信息',
502
- data () {
503
- return {
504
- config: {
505
- // 卡控流量计相关字段显示
506
- stuckFlowmeterShow: false,
507
- overduesetShow: true,
508
- open_way: '指令开户'
509
- },
510
- mapShow: false,
511
- viewsee: false,
512
- row: this.meter,
513
- show: false,
514
- field: '',
515
- ratioshow: false,
516
- userfileid: '',
517
- gasid: '',
518
- gastype: 'userfiles',
519
- showParame: false,
520
- selectUserFiles: '', // 选中的 userfiles
521
- jurisdiction: this.$login.r,
522
- positions: this.$appdata.getParam('安装位置'),
523
- usetype: this.$appdata.getParam('使用类型'),
524
- usestate: this.$appdata.getParam('使用状态'),
525
- aroundmeters: this.$appdata.getParam('左右表'),
526
- garbagefee: this.$appdata.getParam('垃圾费'),
527
- valvestate: this.$appdata.getParam('阀门状态'),
528
- usertypes: this.$appdata.getParam('用户类型'),
529
- handmonth: [{label: '单月', value: '单月'}, {label: '双月', value: '双月'}],
530
- gasproperties: this.meter.f_user_type.length === 1 ? this.$appdata.getParam(this.meter.f_user_type[0]) : [],
531
- pricetypes: this.$appdata.getParam('气价类型'),
532
- industrycomments: this.$appdata.getParam('工业备注'),
533
- openWay: [{label: '指令开户', value: '指令开户'}, {label: '发卡开户', value: '发卡开户'}],
534
- meterbookoptions: [], // 抄表册选项
535
- opteratormetrbook: false, // 抄表册操作
536
- oldrow: [],
537
- overdueset:[],
538
- isiot: true,
539
- templng: '', // 临时经度
540
- templat: '' // 临时纬度
541
- }
542
- },
543
- props: ['f_filialeid', 'meter', 'isdecimal', 'valid', 'f_userinfo_id','overdueset'],
544
- ready () {
545
- console.log('看看meter里面的数据', this.meter, this.row)
546
- this.row = Object.assign(this.row, this.meter, {})
547
- this.oldrow = this.row
548
- this.isdecimal = this.row.gasbrand.length > 0 ? this.row.gasbrand.f_isdecimal : '否'
549
- this.row.valid = false
550
- if (this.row.pricetype === '混合气价') {
551
- this.ratioshow = true
552
- }
553
- co(meterBookGen(this))
554
- },
555
- methods: {
556
- async confirmUserfiles () {
557
- if (this.$refs.addparamlist.confirm()) {
558
- var paramlist = this.$refs.addparamlist.addGasParameter
559
- await this.$resetpost('rs/logic/updateGasParam', {
560
- data: {
561
- id: this.selectUserFiles.f_user_id,
562
- paramlist: paramlist,
563
- gastype: 'userfiles'
564
- }
565
- }, {resolveMsg: '更新成功', rejectMsg: '更新失败'})
566
- this.showParame = false
567
- }
568
- },
569
-
570
- priceChange (val) {
571
- if (val.length > 0) {
572
- this.row.f_user_type = [val[0].f_user_type]
573
- this.row.f_gasproperties = [val[0].f_gasproperties]
574
- this.row.pricetype = val[0].f_price_type
575
- // 展示气价备注
576
- this.$set('row.f_price_comments', val[0].f_comments ? val[0].f_comments : '无')
577
- // 展示价格明细
578
- if (val[0].detailprice) {
579
- // this.row.f_detailprice = this.$CommonService.getShowPriceDetail(val[0].detailprice)
580
- this.$set('row.f_detailprice', this.$CommonService.getShowPriceDetail(val[0].detailprice))
581
- }
582
- }
583
- },
584
- cancel () {
585
- this.gasid = ''
586
- this.userfileid = ''
587
- this.showParame = false
588
- },
589
- tablebaseChange () {
590
- if (this.isdecimal === '是') {
591
- this.$set('row.f_meter_base', (this.row.f_meter_base - 0).toFixed(4))
592
- } else {
593
- this.$set('row.f_meter_base', (this.row.f_meter_base - 0).toFixed(0))
594
- }
595
- },
596
- brandChange (val) {
597
- this.isdecimal = val.length > 0 ? val[0].f_isdecimal : '否'
598
- console.log('sadasfasf', val)
599
- if (val.length > 0 && val[0].f_meter_type === '物联网表') {
600
- this.isiot = true
601
- } else {
602
- this.isiot = false
603
- }
604
- // this.tablebaseChange()
605
- if (this.row.f_user_id) {
606
- co(brandChangeGen(this))
607
- }
608
- this.meternumberValidate()
609
- },
610
- userTypeChange () {
611
- this.gasproperties = []
612
- if (this.row.f_user_type.length === 1) {
613
- this.gasproperties = this.$appdata.getParam(this.row.f_user_type[0])
614
- }
615
- },
616
- // getPricenames(pricetype) {
617
- // console.log('气价。,。。', pricetype, this.row.f_user_type, this.row.f_gasproperties)
618
- // let rs = []
619
- // if (this.row.f_user_type.length === 1 && this.row.f_gasproperties.length === 1 && pricetype.length === 1) {
620
- // let params = {
621
- // f_user_type: this.row.f_user_type[0],
622
- // f_gasproperties: this.row.f_gasproperties[0],
623
- // f_price_type: pricetype[0],
624
- // filter: this.f_filialeid
625
- // }
626
- // rs = this.$GetSaleParam.getPrice(params)
627
- // }
628
- // if (rs.length === 0) {
629
- // this.row.f_price_name = ''
630
- // }
631
- // return rs
632
- // },
633
- mValid (bool) {
634
- this.row.valid = bool
635
- this.$dispatch('self-valid')
636
- },
637
- // 带权限修改单值返回修改后得值和修改原因
638
- modefiy (field) {
639
- this.show = true
640
- this.field = field
641
- },
642
- async meternumberValidate () {
643
- let http1 = new HttpResetClass()
644
- let res1 = await http1.load('POST', '/rs/sql/getBrandAndType', {data: {condition: ` mi.f_meternumber = '${this.row.f_meternumber}' and mi.f_filialeid= '${this.$login.f.orgid}'`}}, {resolveMsg: null, rejectMsg: '获取默认气表品牌型号失败!!'})
645
- if (res1.data.length > 0) {
646
- // 替换表号自带的气表品牌和型号
647
- let meterbrands = this.meterbrands
648
- for (let row of meterbrands) {
649
- if (row.label == res1.data[0].f_meter_brand) {
650
- // 已经选择了气表品牌则不再替换
651
- if (this.row.gasbrand.length <= 0) this.row.gasbrand = [row.value]
652
- // 替换气表型号
653
- if (res1.data[0].f_meter_style) {
654
- for (let model of row.value.gasmodel) {
655
- if (model.label == res1.data[0].f_meter_style) {
656
- // 已经选择了气表型号则不再替换
657
- if (this.row.gasmodel.length <= 0) this.row.gasmodel = [model.value]
658
- continue
659
- }
660
- }
661
- }
662
- continue
663
- }
664
- }
665
- }
666
- // 验证表号
667
- if (this.row.f_meternumber && this.row.gasbrand.length > 0) {
668
- // 表号位数验证
669
- let meternumberLen = this.row.gasbrand[0].f_meternumber_len
670
- if (meternumberLen) {
671
- if (this.row.f_meternumber.length != meternumberLen) {
672
- this.row.f_meternumber = ''
673
- this.$showAlert(`表号位数不正确, 当前气表品牌表号位数是: ${meternumberLen}`, 'warning', 3000)
674
- return
675
- }
676
- }
677
- // 表计信息验证
678
- if (this.row.gasbrand[0].f_meterverification == '是') {
679
- if (res1.data.length <= 0) {
680
- this.$showAlert(`当前表号: ${this.row.f_meternumber}在表计信息中无记录, 请核实!!!`, 'warning', 3000)
681
- this.row.f_meternumber = ''
682
- return
683
- }
684
- }
685
- let param = {
686
- f_meternumber: this.row.f_meternumber,
687
- f_gasbrand_id: this.row.gasbrand[0].id
688
- }
689
- if (this.row.f_userfiles_id) {
690
- param.f_userfiles_id = this.row.f_userfiles_id
691
- }
692
- let res = await this.$resetpost('rs/logic/meternumberValidate', param, {
693
- resolveMsg: null,
694
- rejectMsg: '表号验证失败!!'
695
- })
696
- if (this.row.gasbrand[0].f_meter_type === '物联网表') {
697
- if (res.data) {
698
- this.row.f_meternumber = ''
699
- this.$showAlert('表号已存在!!', 'warning', 3000)
700
- }
701
- } else {
702
- if (res.data) {
703
- this.$showAlert('请注意,相同的表号已存在', 'warning', 3000)
704
- }
705
- }
706
- }
707
- },
708
- openModal () {
709
- this.mapShow = true
710
- },
711
- closeModal () {
712
- this.mapShow = false;
713
- },
714
- getmylocation (res) {
715
- this.templng = res.position.lng
716
- this.templat = res.position.lat
717
- },
718
- confirmLocation () {
719
- this.row.f_userfiles_lat = this.templat
720
- this.row.f_userfiles_lng = this.templng
721
- this.mapShow = false;
722
- },
723
- flowmetermodels (label) {
724
- let gasbrand = this.$GetSaleParam.getGasbrand()
725
- let flowmetermodels = []
726
- for (let row of gasbrand) {
727
- if (row.label == label) {
728
- for (let gasmodel of row.value.gasmodel) {
729
- flowmetermodels.push({label: gasmodel.label, value: gasmodel.label})
730
- }
731
- break
732
- }
733
- }
734
- return flowmetermodels
735
- }
736
- },
737
- watch: {
738
- 'meter' () {
739
- this.row = Object.assign(this.row, this.meter, {})
740
- this.isdecimal = this.row.gasbrand.f_isdecimal
741
- this.row.valid = false
742
- this.showtype = this.row.gasbrand.f_meter_type
743
- },
744
- 'row.pricetype' (val) {
745
- if (val == '混合气价') {
746
- this.ratioshow = true
747
- } else {
748
- this.ratioshow = false
749
- }
750
- }
751
-
752
- },
753
- computed: {
754
-
755
- // 控制用户类型修改
756
- permissionUserType () {
757
- let res = false
758
- if (this.row.f_user_id) {
759
- res = !(this.jurisdiction.includes('民用气价修改') && this.jurisdiction.includes('非民用气价修改'))
760
- }
761
- return res
762
- },
763
-
764
- // 控制用气性质,气价类型,气价名称修改
765
- permissionPrice () {
766
- let res = false
767
- if (this.row.f_user_id) {
768
- console.log('获取权限、', this.row, this.jurisdiction)
769
- // 变更操作
770
- if (this.row.pricename.length > 0) {
771
- if (this.row.f_user_type[0] === '民用') {
772
- // 判断是否有民用气价权限
773
- res = !this.jurisdiction.includes('民用气价修改')
774
- } else if (this.row.f_user_type[0] === '非民用') {
775
- // 判断是否有非民用气价权限
776
- res = !this.jurisdiction.includes('非民用气价修改')
777
- }
778
- }
779
- }
780
- console.log('有无气价权限', res)
781
- return res
782
- },
783
-
784
- getPricenames () {
785
- let f_filialeid = this.f_filialeid
786
- let result = []
787
- this.$GetSaleParam.prices.forEach((item) => {
788
- if (item.f_state === '有效' && f_filialeid == item.f_filialeid) {
789
- let value = {
790
- label: item.f_price_name,
791
- value: item
792
- }
793
- result.push(value)
794
- }
795
- })
796
- return Array.from(new Set(result))
797
- },
798
-
799
- adjustables () {
800
- let arr = []
801
- let filter = this.f_filialeid
802
- this.$GetSaleParam.getAdjustable(filter).forEach((item) => {
803
- let temp = {}
804
- temp.label = `[${item.value.f_adjustable_id}]-${item.label}`
805
- temp.value = item.value
806
- arr.push(temp)
807
- })
808
- return [{label: '全部', value: ''}, ...arr]
809
- },
810
- inputtores () {
811
- // return this.$login.f.f_gasman
812
- let rs = new Array()
813
- for (let i = 0; i < this.$login.f.f_gasman.length; i++) {
814
- let temp = {
815
- label: this.$login.f.f_gasman[i].name,
816
- value: this.$login.f.f_gasman[i].name
817
- }
818
- rs.push(temp)
819
- }
820
- return rs
821
- },
822
- installperson () {
823
- // return this.$login.f.f_installman
824
- let rs = new Array()
825
- for (let i = 0; i < this.$login.f.f_installman.length; i++) {
826
- let temp = {
827
- label: this.$login.f.f_installman[i].name,
828
- value: this.$login.f.f_installman[i].name
829
- }
830
- rs.push(temp)
831
- }
832
- return rs
833
- },
834
- meterbrands () {
835
- return this.$GetSaleParam.getGasbrand()
836
- },
837
- aroundmeters () {
838
- return this.$appdata.getParam('左右表')
839
- },
840
- positions () {
841
- return this.$appdata.getParam('安装位置')
842
- },
843
- usetype () {
844
- return this.$appdata.getParam('使用类型')
845
- },
846
- usestate () {
847
- return this.$appdata.getParam('使用状态')
848
- },
849
- gongyetype () {
850
- return this.$appdata.getParam('工业备注')
851
- },
852
- flowmeterbrands () {
853
- let gasbrand = this.$GetSaleParam.getGasbrand()
854
- let flowmeterbrands = []
855
- for (let row of gasbrand) {
856
- flowmeterbrands.push({label: row.label, value: row.label})
857
- }
858
- return flowmeterbrands
859
- }
860
- }
861
- }
862
- </script>
863
- <style lang="less">
864
- #meterInfoTest{
865
- #addboxmap {
866
- height: 300px;
867
- }
868
- .glyphicon-map-marker:hover {
869
- color: red;
870
- }
871
- .glyphicon-map-marker {
872
- color: blue;
873
- cursor: pointer;
874
- }
875
- .col-sm-4 {
876
- .font_normal_body {
877
- width: 73px;
878
- overflow: auto;
879
- white-space: nowrap;
880
- // 指滚动条两边的按钮
881
- &::-webkit-scrollbar-button {
882
- display: none;
883
- }
884
- // 滚动条的宽度
885
- &::-webkit-scrollbar {
886
- width: 5px !important;
887
- height: 5px !important;
888
- }
889
- // 滚动条的设置
890
- &::-webkit-scrollbar-thumb {
891
- background-color: #ddd;
892
- background-clip: padding-box;
893
- }
894
- &::-webkit-scrollbar-thumb:hover {
895
- background-color: #bbb;
896
- }
897
- &::-webkit-scrollbar-track {
898
- /*滚动条里面轨道*/
899
- box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.2);
900
- background: #ededed;
901
- }
902
- }
903
- }
904
- }
905
- </style>
1
+ <template>
2
+ <div class="auto" id="meterInfoTest">
3
+ <validator name='m' @valid="mValid(true)" @invalid="mValid(false)">
4
+ <form class="form-horizontal select-overspread ">
5
+ <div style="margin-top: 2%;">
6
+ <a style="font-size: 16px;font-weight: 500;">表具信息</a>&nbsp;<a style="color: #999999;text-decoration: none"></a>
7
+ </div>
8
+ <div class="row">
9
+ <div class="col-sm-4 form-group" v-if="isiot" :class="[$m.f_meternumber.required ? 'has-error' : '']">
10
+ <label for="f_meternumber" class="font_normal_body">&ensp;表&emsp;&emsp;号</label>
11
+ <input type="text" class="input_search" style="width:60%" v-model="row.f_meternumber"
12
+ @blur="meternumberValidate()" placeholder='表号' v-validate:f_meternumber='{required: true }'
13
+ v-next-el="{id: 'metertitles'}">
14
+ </div>
15
+ <div class="col-sm-4 form-group" v-else>
16
+ <label for="f_meternumber" class="font_normal_body">&ensp;表&emsp;&emsp;号</label>
17
+ <input type="text" class="input_search" style="width:60%" v-model="row.f_meternumber"
18
+ @blur="meternumberValidate()" placeholder='表号'
19
+ v-next-el="{id: 'metertitles'}">
20
+ </div>
21
+ <div class="col-sm-4 form-group">
22
+ <label for="f_metertitles" class="font_normal_body">&ensp;表&ensp;封&ensp;号</label>
23
+ <input type="text" class="input_search" style="width:60%" v-model="row.f_metertitles" placeholder='表封号'
24
+ v-next-el="{id: 'meterbase'}">
25
+ </div>
26
+ <div class="col-sm-4 form-group">
27
+ <label for="f_meter_base" class="font_normal_body">&ensp;表&ensp;读&ensp;数</label>
28
+ <input type="number" class="input_search" style="width:60%" v-model="row.f_meter_base" placeholder='表底数'
29
+ :disabled="!jurisdiction.includes('档案信息查询修改')" :readonly="!row.f_userfiles_id">
30
+ </div>
31
+ <div class="col-sm-4 form-group">
32
+ <label for="f_meter_base" class="font_normal_body">&ensp;初始底数</label>
33
+ <input type="number" class="input_search" style="width:60%" v-model="row.f_initial_base" placeholder='表底数'
34
+ :disabled="!jurisdiction.includes('档案信息查询修改')">
35
+ </div>
36
+
37
+ <div class="col-sm-4 form-group" :class="[$m.brand.required ? 'has-error' : '']">
38
+ <label for="gasbrand" class="font_normal_body">气表品牌</label>
39
+ <input type="text" class="input_search" style="width:60%" v-show="false" v-model="$refs.brand.selectedItems"
40
+ v-validate:brand='{required: true }'>
41
+ <v-select :value.sync="row.gasbrand" :options='meterbrands' placeholder='气表品牌' close-on-select
42
+ search @change='brandChange' v-model='row.gasbrand' v-ref:brand></v-select>
43
+ </div>
44
+ <div class="col-sm-4 form-group" :class="[$m.model.required ? 'has-error' : '']">
45
+ <label for="gasmodel" class="font_normal_body">气表型号</label>
46
+ <input type="text" v-show="false" v-model="$refs.model.selectedItems"
47
+ v-validate:model='{required: true }'>
48
+ <v-select :value.sync="row.gasmodel" :options='row.gasbrand[0].gasmodel' placeholder='气表型号'
49
+ close-on-select
50
+ v-model='row.gasmodel' :disabled='row.gasbrand.length === 0 ' v-ref:model></v-select>
51
+ </div>
52
+ <div class="col-sm-4 form-group">
53
+ <label for="f_meter_base" class="font_normal_body">&ensp;累购气量</label>
54
+ <input type="number" class="input_search" style="width:60%" v-model="row.f_total_gas" placeholder='累购气量'
55
+ :disabled="!jurisdiction.includes('档案信息查询修改')">
56
+ </div>
57
+ <div class="col-sm-4 form-group">
58
+ <label for="f_meter_base" class="font_normal_body">表写卡累购气量</label>
59
+ <input type="number" class="input_search" style="width:60%" v-model="row.f_write_totalgas" placeholder='表写卡累购气量'
60
+ :disabled="!jurisdiction.includes('档案信息查询修改')">
61
+ </div>
62
+ <div class="col-sm-4 form-group">
63
+ <label for="f_meter_base" class="font_normal_body">&ensp;累购金额</label>
64
+ <input type="number" class="input_search" style="width:60%" v-model="row.f_total_fee" placeholder='累购金额'
65
+ :disabled="!jurisdiction.includes('档案信息查询修改')">
66
+ </div>
67
+ <div class="col-sm-4 form-group">
68
+ <label for="f_meter_base" class="font_normal_body">表写卡累购金额</label>
69
+ <input type="number" class="input_search" style="width:60%" v-model="row.f_write_totalfee" placeholder='表写卡累购金额'
70
+ :disabled="!jurisdiction.includes('档案信息查询修改')">
71
+ </div>
72
+ <div class="col-sm-4 form-group" v-show="row.f_meter_classify != '机表'">
73
+ <label for="f_times" class="font_normal_body">&ensp;写卡次数</label>
74
+ <input type="number" class="input_search" style="width:60%" v-model="row.f_times" placeholder='写卡次数'
75
+ :disabled="!jurisdiction.includes('档案信息查询修改')">
76
+ </div>
77
+ <div class="col-sm-4 form-group" v-show="row.f_meter_classify == '物联网表'">
78
+ <label for="f_times" class="font_normal_body">物联网写卡次数</label>
79
+ <input type="number" class="input_search" style="width:60%" v-model="row.f_iot_times" placeholder='物联网次数'
80
+ :disabled="!jurisdiction.includes('档案信息查询修改')">
81
+ </div>
82
+ <div class="col-sm-4 form-group" v-show="false">
83
+ <label for="f_remanent_gas" class="font_normal_body">剩余气量</label>
84
+ <input type="number" class="input_search" style="width:60%" v-model="row.f_remanent_gas"
85
+ placeholder='剩余气量'
86
+ :disabled="f_userinfo_id"></input>
87
+ <!--<button type="button" name="button" class="btn btn-link" @click="modefiy('f_remanent_gas')" v-if="f_userinfo_id">修改</button>-->
88
+ </div>
89
+ <div class="col-sm-4 form-group">
90
+ <label for="f_times" class="font_normal_body">&ensp;最大量程</label>
91
+ <input type="number" class="input_search" style="width:60%" v-model="row.f_capacity" placeholder='最大量程'>
92
+ </div>
93
+ <div class="col-sm-4 form-group" v-show="row.f_meter_classify == '物联网表'">
94
+ <label for="gasmodel" class="font_normal_body">&ensp;阀门状态</label>
95
+ <v-select :value.sync="row.f_valve_state" :options='valvestate' placeholder='阀门状态' close-on-select
96
+ v-model='row.f_valve_state'></v-select>
97
+ </div>
98
+ <div class="col-sm-4 form-group" v-show="row.gasbrand.length > 0 && row.gasbrand[0].f_meter_type == '物联网表' && row.gasbrand[0].f_hascard == '是'">
99
+ <label class="font_normal_body" title="开户方式">开户方式</label>
100
+ <v-select :value.sync="row.f_open_way" :options='openWay' value-single placeholder='开户方式' close-on-select v-if="row.f_userfiles_id"
101
+ search v-model='row.f_open_way' :disabled="true"></v-select>
102
+ <v-select :value.sync="row.f_open_way" :options='openWay' value-single placeholder='开户方式' close-on-select v-else
103
+ search v-model='row.f_open_way' :disabled="false"></v-select>
104
+ </div>
105
+ </div>
106
+ <div>
107
+ <a style="font-size: 16px;font-weight: 500;">气价信息</a>&nbsp;<a style="color: #999999;text-decoration: none"></a>
108
+ </div>
109
+ <div class="row">
110
+ <div class="col-sm-4 form-group" :class="[$m.name.required ? 'has-error' : '']">
111
+ <label for="pricename" class="font_normal_body">气价名称</label>
112
+ <v-select :value.sync="row.pricename" v-model="row.pricename" search
113
+ placeholder='气价名称' :options="getPricenames" @change="priceChange"
114
+ close-on-select :disabled="permissionPrice" v-ref:name></v-select>
115
+ <input type="text" v-show="false" v-model="$refs.name.selectedItems" v-validate:name='{required: true }'>
116
+ </div>
117
+ <div class="col-sm-4 form-group">
118
+ <label for="f_username" class="font_normal_body">&ensp;客户类型</label>
119
+ <v-select :value.sync="row.f_user_type"
120
+ :options='usertypes' placeholder='客户类型'
121
+ @change="userTypeChange()"
122
+ :disabled="true"
123
+ close-on-select></v-select>
124
+ </div>
125
+ <div class="col-sm-4 form-group"
126
+ :class="[$m.gas.required ? 'select-error' : '']">
127
+ <label for="f_username" class="font_normal_body">&ensp;用气性质</label>
128
+ <input type="text" v-show="false" v-model="$refs.gas.selectedItems" v-validate:gas='{required: true }'>
129
+ <v-select :value.sync="row.f_gasproperties" v-model="row.f_gasproperties"
130
+ :options='gasproperties' placeholder='用气性质'
131
+ :disabled="true"
132
+ close-on-select v-ref:gas></v-select>
133
+ </div>
134
+ <div class="col-sm-4 form-group">
135
+ <label for="f_detailprice" class="font_normal_body">&ensp;价&emsp;&emsp;格</label>
136
+ <input type="text" class="input_search" style="width:60%" v-model="row.f_detailprice" placeholder='价格'
137
+ disabled>
138
+ </div>
139
+ <div class="col-sm-4 form-group" :class="[$m.type.required ? 'select-error' : '']">
140
+ <label for="pricetype" class="font_normal_body">&ensp;气价类型</label>
141
+ <v-select :value.sync="row.pricetype" v-model="row.pricetype"
142
+ placeholder='气价类型' :options="pricetypes"
143
+ :value-single="true"
144
+ :disabled="true"
145
+ close-on-select v-ref:type>
146
+ </v-select>
147
+ <input type="text" v-show="false" v-model="$refs.type.selectedItems" v-validate:type='{required: true }'>
148
+ </div>
149
+ <div class="col-sm-4 form-group">
150
+ <label class="font_normal_body">&ensp;气价备注</label>
151
+ <input type="text" class="input_search" style="width:60%" v-model="row.f_price_comments" placeholder='气价备注' disabled>
152
+ </div>
153
+ </div>
154
+ <div>
155
+ <a style="font-size: 16px;font-weight: 500;">表具其他信息</a>&nbsp;<a style="color: #999999;text-decoration: none"></a>
156
+ </div>
157
+ <div class="row">
158
+ <div class="col-sm-4 form-group" v-show="row.f_gasproperties=='工业'||row.f_gasproperties=='工业用气'">
159
+ <label for="f_gongye_type" class="font_normal_body" title="参数:工业备注">&ensp;工业备注</label>
160
+ <v-select :value.sync="row.f_gongye_type" v-model='row.f_gongye_type'
161
+ :options='gongyetype' placeholder='工业备注'
162
+ close-on-select
163
+ v-el:cc></v-select>
164
+ </div>
165
+ <div class="col-sm-4 form-group">
166
+ <label for="gasmodel" class="font_normal_body">&ensp;表&ensp;&ensp;&ensp;&ensp;向</label>
167
+ <v-select :value.sync="row.f_aroundmeter" :options='aroundmeters' placeholder='左右表' close-on-select
168
+ v-model='row.f_aroundmeter'></v-select>
169
+ </div>
170
+ <div class="col-sm-4 form-group" >
171
+ <label for="f_bqf_type" class="font_normal_body">表前阀型号</label>
172
+ <input type="text" class="input_search" style="width:60%" v-model="row.f_bqf_type"
173
+ placeholder='表前阀型号'>
174
+ </div>
175
+ <div class="col-sm-4 form-group">
176
+ <label class="font_normal_body">表具使用年限</label>
177
+ <input type="number" class="input_search" style="width:60%" v-model="fireinfo.f_use_limit"
178
+ placeholder='表具使用年限' >
179
+ </div>
180
+ <div class="col-sm-4 form-group">
181
+ <label for="f_gas_person" class="font_normal_body">&ensp;通&ensp;气&ensp;人</label>
182
+ <input type="text" class="input_search" style="width:60%" style="width:60%" v-model="row.f_gas_person"
183
+ placeholder='通气人'></input>
184
+ <!-- <v-select :value.sync="row.f_gas_person" v-model="row.f_gas_person"
185
+ :options='gasperson' placeholder='通气人'
186
+ close-on-select></v-select> -->
187
+ </div>
188
+ <div class="col-sm-4 form-group" :class="[$m.f_gas_date.required ? 'has-error' : '']">
189
+ <input type="text" v-model="$refs.f_gas_date.value" v-show="false" v-validate:f_gas_date='{required: true }'>
190
+ <label for="f_gas_date" class="font_normal_body">&ensp;通气日期</label>
191
+ <datepicker style="width:60%" placeholder="通气日期"
192
+ v-model="row.f_gas_date"
193
+ v-ref:f_gas_date
194
+ :value.sync="row.f_gas_date"
195
+ :format="'yyyy-MM-dd HH:mm:ss'"
196
+ ></datepicker>
197
+ </div>
198
+
199
+ <div class="col-sm-4 form-group" >
200
+ <label for="f_position" class="font_normal_body" title="参数:安装位置">&ensp;安装位置</label>
201
+ <v-select :value.sync="row.f_position" v-model="row.f_position"
202
+ :options='positions' placeholder='安装位置'
203
+ close-on-select></v-select>
204
+ </div>
205
+ <div class="col-sm-4 form-group" v-show="true">
206
+ <label for="f_install_person" class="font_normal_body">&ensp;安&ensp;装&ensp;人</label>
207
+ <v-select :value.sync="row.f_install_person" v-model="row.f_install_person"
208
+ :options='installperson' placeholder='安装人'
209
+ close-on-select></v-select>
210
+ </div>
211
+ <div class="col-sm-4 form-group">
212
+ <label for="f_subscribe_date" class="font_normal_body">&ensp;预约时间</label>
213
+ <datepicker style="width:60%" placeholder="预约通气时间"
214
+ v-model="row.f_subscribe_date"
215
+ :value.sync="row.f_subscribe_date"
216
+ :format="'yyyy-MM-dd HH:mm:ss'"
217
+ ></datepicker>
218
+ </div>
219
+ <div class="col-sm-4 form-group" v-show="opteratormetrbook" >
220
+ <label for="f_position" class="font_normal_body" >&ensp;抄&ensp;表&ensp;册</label>
221
+ <v-select :value.sync="row.f_meter_book_num" v-model="row.f_meter_book_num"
222
+ :options='meterbookoptions' placeholder='抄表册'
223
+ close-on-select></v-select>
224
+ </div>
225
+ <div class="col-sm-4 form-group" v-show="true" :class="[$m.f_install_date.required ? 'has-error' : '']">
226
+ <input type="text" v-model="$refs.f_install_date.value" v-show="false" v-validate:f_install_date='{required: true }'>
227
+ <label for="f_install_date" class="font_normal_body">&ensp;安装日期</label>
228
+ <datepicker style="width:60%" id="startDate" placeholder="安装日期" width='100%'
229
+ v-model="row.f_install_date"
230
+ :value.sync="row.f_install_date"
231
+ class="datepicker"
232
+ v-ref:f_install_date
233
+ :format="'yyyy-MM-dd HH:mm:ss'"
234
+ :show-reset-button="true">
235
+ </datepicker>
236
+ </div>
237
+ <div class="col-sm-4 form-group">
238
+ <label for="f_adjustable" class="font_normal_body">&ensp;调&ensp;压&ensp;箱</label>
239
+ <v-select :value.sync="row.f_adjustable" :options='adjustables' placeholder='调压箱' close-on-select
240
+ v-model='row.f_adjustable' :search='true'></v-select>
241
+ </div>
242
+ <div class="col-sm-4 form-group">
243
+ <label for="f_hand_date" class="font_normal_body">&ensp;上次抄表</label>
244
+ <datepicker style="width:60%" id="f_hand_date" placeholder="上次抄表日期"
245
+ v-model="row.f_hand_date"
246
+ :value.sync="row.f_hand_date"
247
+ class="datepicker"
248
+ :format="'yyyy-MM-dd HH:mm:ss'"
249
+ :show-reset-button="true">
250
+ </datepicker>
251
+ </div>
252
+ <div v-if="ratioshow" class="col-sm-4 form-group"
253
+ :class="[$m.meternumber.required ? 'has-error' : '']">
254
+ <label for="f_ratio" class="font_normal_body">比&emsp;&emsp;率</label>
255
+ <input type="number" class="input_search" style="width:60%" v-model="row.f_price_ratio"
256
+ :value.sync="row.f_price_ratio"
257
+ v-validate:meternumber='{required: true }' placeholder='比率'>
258
+ </div>
259
+ <div class="col-sm-4 form-group" >
260
+ <label for="f_scrap_date" class="font_normal_body">&ensp;报废日期</label>
261
+ <datepicker style="width:60%" id="ScrapDate" placeholder="报废日期" width='100%'
262
+ v-model="row.f_scrap_date"
263
+ :value.sync="row.f_scrap_date"
264
+ class="datepicker"
265
+ :format="'yyyy-MM-dd'"
266
+ :show-reset-button="true">
267
+ </datepicker>
268
+ </div>
269
+ <div class="col-sm-4 form-group">
270
+ <label for="gasmodel" class="font_normal_body">&ensp;垃&ensp;圾&ensp;费</label>
271
+ <v-select :value.sync="row.f_garbage_fee" :options='garbagefee' placeholder='垃圾费' close-on-select
272
+ :value-single="true"
273
+ v-model='row.f_garbage_fee'></v-select>
274
+ </div>
275
+ <div class="col-sm-4 form-group">
276
+ <label class="font_normal_body">&ensp;抄&ensp;表&ensp;员</label>
277
+ <v-select :value.sync="row.f_inputtor" v-model='row.f_inputtor'
278
+ style="width:60%"
279
+ :options='inputtores' placeholder='抄表员'
280
+ close-on-select
281
+ condition="f_inputtor like '%{}%'" v-el:cc></v-select>
282
+ </div>
283
+ <div class="col-sm-4 form-group" >
284
+ <label for="f_usetype" class="font_normal_body" title="参数:使用类型">&ensp;使用类型</label>
285
+ <v-select :value.sync="row.f_usetype" v-model="row.f_usetype"
286
+ :options='usetype' placeholder='使用类型'
287
+ close-on-select></v-select>
288
+ </div>
289
+ <div class="col-sm-4 form-group" >
290
+ <label for="f_position" class="font_normal_body" title="参数:使用状态">&ensp;使用状态</label>
291
+ <v-select :value.sync="row.f_usestate" v-model="row.f_usestate"
292
+ :options='usestate' placeholder='使用状态'
293
+ close-on-select></v-select>
294
+ </div>
295
+ <div class="col-sm-4 form-group" >
296
+ <label for="f_limit_sms" class="font_normal_body">&ensp;短信限定</label>
297
+ <input type="text" class="input_search" style="width:60%" v-model="row.f_limit_sms"
298
+ placeholder='短信限定'></input>
299
+ </div>
300
+ <div style="" class="col-sm-4 form-group">
301
+ <label for="f_alarm_code" class="font_normal_body ">&ensp;报警器号</label>
302
+ <input type="text" class="input_search" style="width:60%" v-model="row.f_alarm_code" placeholder='报警器号'/>
303
+ </div>
304
+ <div style="" class="col-sm-4 form-group">
305
+ <label for="f_hand_month" class="font_normal_body ">&ensp;抄表月份</label>
306
+ <v-select :value.sync="row.f_hand_month" v-model="row.f_hand_month"
307
+ :options='handmonth' placeholder='抄表月份'
308
+ close-on-select></v-select>
309
+ </div>
310
+ <div style="" class="col-sm-4 form-group">
311
+ <label for="f_userfiles_address" class="font_normal_body ">&ensp;用气点名</label>
312
+ <input class="input_search" style="width:60%" v-model="row.f_userfiles_address"/>
313
+ </div>
314
+ <div style="" class="col-sm-4 form-group">
315
+ <label class="font_normal_body">&ensp;经&ensp;&ensp;&ensp;&ensp;度</label>
316
+ <input type="text" style="width:60%" v-model="row.f_userfiles_lng" class="input_search" placeholder="经度"/>
317
+ </div>
318
+ <div style="" class="col-sm-4 form-group">
319
+ <label class="font_normal_body">&ensp;纬&ensp;&ensp;&ensp;&ensp;度</label>
320
+ <input type="text" style="width:48%" v-model="row.f_userfiles_lat" class="input_search" placeholder="纬度"/>
321
+ &ensp;<span class="glyphicon glyphicon-map-marker" @click="openModal" ></span>
322
+ </div>
323
+ <div class="col-sm-4 form-group" v-if="config.overduesetShow">
324
+ <label class="font_normal_body">滞纳金规则</label>
325
+ <v-select :value.sync="row.f_overdue_set" v-model="row.f_overdue_set"
326
+ :options='overdueset' placeholder='滞纳金规则'
327
+ close-on-select></v-select>
328
+ </div>
329
+
330
+ <template v-if="config.stuckFlowmeterShow">
331
+ <div class="col-sm-4 form-group">
332
+ <label class="font_normal_body" title="控制器通经">控制器通经</label>
333
+ <input type="text" class="input_search" style="width:60%" v-model="row.f_control_pass"
334
+ placeholder='控制器通经'></input>
335
+ </div>
336
+ <div class="col-sm-4 form-group">
337
+ <label class="font_normal_body" title="控制器压力等级">控制器压力等级</label>
338
+ <input type="text" class="input_search" style="width:60%" v-model="row.f_control_mpa_level"
339
+ placeholder='控制器压力等级'></input>
340
+ </div>
341
+ <div class="col-sm-4 form-group">
342
+ <label class="font_normal_body" title="流量计表号">流量计表号</label>
343
+ <input type="text" class="input_search" style="width:60%" v-model="row.f_flowmeter_number"
344
+ placeholder='流量计表号'></input>
345
+ </div>
346
+ <div class="col-sm-4 form-group">
347
+ <label class="font_normal_body" title="流量计表封号">流量计表封号</label>
348
+ <input type="text" class="input_search" style="width:60%" v-model="row.f_llj_metertitles"
349
+ placeholder='流量计表封号'></input>
350
+ </div>
351
+ <div class="col-sm-4 form-group">
352
+ <label class="font_normal_body" title="流量计品牌">流量计品牌</label>
353
+ <v-select :value.sync="row.f_flowmeter_brand" :options='flowmeterbrands' value-single placeholder='流量计品牌' close-on-select
354
+ search v-model='row.f_flowmeter_brand'></v-select>
355
+ </div>
356
+ <div class="col-sm-4 form-group">
357
+ <label class="font_normal_body" title="流量计型号">流量计型号</label>
358
+ <v-select :value.sync="row.f_flowmeter_model" :options='flowmetermodels(row.f_flowmeter_brand)' value-single placeholder='流量计型号' close-on-select
359
+ v-model='row.f_flowmeter_model' :disabled='row.f_flowmeter_brand.length === 0'></v-select>
360
+ </div>
361
+ <div class="col-sm-4 form-group">
362
+ <label class="font_normal_body" title="流量计通经">流量计通经</label>
363
+ <input type="text" class="input_search" style="width:60%" v-model="row.f_flowmeter_pass"
364
+ placeholder='流量计通经'></input>
365
+ </div>
366
+ <div class="col-sm-4 form-group">
367
+ <label class="font_normal_body" title="流量计压力等级">流量计压力等级</label>
368
+ <input type="text" class="input_search" style="width:60%" v-model="row.f_flowmeter_mpa_level"
369
+ placeholder='流量计压力等级'></input>
370
+ </div>
371
+ <div class="col-sm-4 form-group">
372
+ <label class="font_normal_body" title="流量计出厂日期">流量计出厂日期</label>
373
+ <datepicker style="width:60%" placeholder="流量计出厂日期"
374
+ v-model="row.f_flowmeter_factory_date"
375
+ :value.sync="row.f_flowmeter_factory_date"
376
+ :format="'yyyy-MM-dd HH:mm:ss'"
377
+ ></datepicker>
378
+ </div>
379
+ <div class="col-sm-4 form-group">
380
+ <label class="font_normal_body" title="流量计精准度">流量计精准度</label>
381
+ <input type="text" class="input_search" style="width:60%" v-model="row.f_flowmeter_accuracy"
382
+ placeholder='流量计精准度'></input>
383
+ </div>
384
+ <div class="col-sm-4 form-group">
385
+ <label class="font_normal_body" title="流量计电仪出厂编号">流量计电仪出厂编号</label>
386
+ <input type="text" class="input_search" style="width:60%" v-model="row.f_flowmeter_factory_num"
387
+ placeholder='流量计电仪出厂编号'></input>
388
+ </div>
389
+ <div class="col-sm-4 form-group">
390
+ <label class="font_normal_body" title="流量计电仪出厂编号">流量计类型</label>
391
+ <input type="text" class="input_search" style="width:60%" v-model="row.f_llj_type"
392
+ placeholder='流量计类型'></input>
393
+ </div>
394
+ <div class="col-sm-4 form-group">
395
+ <label class="font_normal_body" title="流量计安装日期">流量计安装日期</label>
396
+ <datepicker style="width:60%" placeholder="流量计安装日期"
397
+ v-model="row.f_flowmeter_install_date"
398
+ :value.sync="row.f_flowmeter_install_date"
399
+ :format="'yyyy-MM-dd HH:mm:ss'"
400
+ ></datepicker>
401
+ </div>
402
+ </template>
403
+ </div>
404
+ </form>
405
+ </validator>
406
+ <!--<idverify :show.sync="show" @change-con="changeVal"></idverify>-->
407
+ <modal v-if="showParame" :show.sync="showParame" v-ref:modal backdrop="false">
408
+ <header slot="modal-header" class="modal-header">
409
+ <button type="button" class="close" @click="cancel"><span>&times;</span></button>
410
+ <h3 class="modal-title" style="text-align: center;">添加参数</h3>
411
+ </header>
412
+ <article slot="modal-body" class="modal-body">
413
+ <add-json-parameter v-ref:addparamlist :gasmodel_id="userfileid" :gastype="gastype"
414
+ :gasid="gasid"></add-json-parameter>
415
+ </article>
416
+ <footer slot="modal-footer" class="modal-footer">
417
+ <button type="button" class="btn btn-primary" @click='confirmUserfiles()'>确认</button>
418
+ </footer>
419
+ </modal>
420
+
421
+ <modal :show.sync="mapShow" v-if="mapShow" large backdrop="false" :width="900">
422
+ <header slot="modal-header" class="modal-header">
423
+ </header>
424
+ <article slot="modal-body" class="modal-body">
425
+ <amap-location :islocationclearmark="false" dom="addboxmap" v-ref:positionInfo @getmylocation="getmylocation"></amap-location>
426
+ </article>
427
+ <footer slot="modal-footer" class="modal-footer">
428
+ <button v-show="mapShow" type="button" class="button_clear btn-gn" @click='closeModal'>取消</button>
429
+ <button v-show="mapShow" type="button" class="button_clear btn-gn" @click='confirmLocation'>确认</button>
430
+ </footer>
431
+ </modal>
432
+ </div>
433
+ </template>
434
+
435
+ <script>
436
+ import co from 'co'
437
+ import {HttpResetClass} from 'vue-client'
438
+ import Vue from 'vue'
439
+
440
+ let meterBookGen = function * (self) {
441
+ if (self.$login.r.find(value => value == '抄表册建档')) {
442
+ self.opteratormetrbook = true
443
+ }
444
+ let temp = {
445
+ tablename: 't_meter_book',
446
+ condition: `f_book_state='有效' and f_filiale_id='${self.$login.f.orgid}'`
447
+ }
448
+ let http = new HttpResetClass()
449
+ let meterbooks = yield http.load('POST', 'rs/sql/saleSingleTable', {data: temp},
450
+ {resolveMsg: null, rejectMsg: '获取抄表册信息失败!!'})
451
+ if (meterbooks.data.length > 0) {
452
+ let options = []
453
+ for (let i = 0; i < meterbooks.data.length; i++) {
454
+ let tmp = {label: meterbooks.data[i].f_book_name, value: `${meterbooks.data[i].id}`}
455
+ options.push(tmp)
456
+ }
457
+ self.meterbookoptions = options
458
+ }
459
+ try {
460
+ let result = yield http.load('GET', `rs/vue/MeterinfoTest.json`, {}, {resolveMsg: null, rejectMsg: null})
461
+ Object.assign(self.config, result.data)
462
+ if (!self.row.f_open_way) self.row.f_open_way = self.config.open_way
463
+ } catch (error) {
464
+ // 忽略704,文件找不到异常
465
+ if (error.status !== 704) {
466
+ throw error
467
+ }
468
+ }
469
+ }
470
+ let brandChangeGen = function* (self, val) {
471
+ let beforeRecord = null
472
+
473
+ if (self.meter.f_meter_classify === '机表') {
474
+ beforeRecord = yield self.$resetpost('rs/sql/saleSingleTable', {
475
+ data: {
476
+ tablename: 't_handplan',
477
+ condition: `f_user_id = '${self.row.f_user_id}' and f_meter_state in ('已抄表','未抄表')`
478
+ }
479
+ }, {resolveMsg: null, rejectMsg: '在档案中更改气表品牌时,获取之前机表抄表信息出错!!'})
480
+ } else {
481
+ beforeRecord = yield self.$resetpost('rs/sql/saleSingleTable', {
482
+ data: {
483
+ tablename: 't_sellinggas',
484
+ condition: `f_user_id = '${self.row.f_user_id}' and f_state = '有效'`
485
+ }
486
+ }, {resolveMsg: null, rejectMsg: '在档案中更改气表品牌时,获取之前卡表收费信息出错!!'})
487
+ }
488
+ if (beforeRecord.data.length > 0 && self.row.gasbrand[0].f_meter_brand != self.oldrow.gasbrand[0].f_meter_brand) {
489
+ self.$showAlert('该气表已投入使用,如需更改请执行换表操作', 'warning', 3000)
490
+ // self.row.gasbrand = self.meter.gasbrand
491
+ self.$dispatch('success')
492
+ /* self.row.valid = bool
493
+ self.$dispatch('self-valid') */
494
+ } else {
495
+ self.row.f_whether_hairpin = self.row.gasbrand[0].f_meter_type === '机表' ? '无卡' : '未发'
496
+ }
497
+ console.log('111', self.row)
498
+ }
499
+ export default {
500
+ title: '表具信息',
501
+ data () {
502
+ return {
503
+ config: {
504
+ // 卡控流量计相关字段显示
505
+ stuckFlowmeterShow: false,
506
+ overduesetShow: true,
507
+ open_way: '指令开户'
508
+ },
509
+ mapShow: false,
510
+ viewsee: false,
511
+ row: this.meter,
512
+ show: false,
513
+ field: '',
514
+ ratioshow: false,
515
+ userfileid: '',
516
+ gasid: '',
517
+ gastype: 'userfiles',
518
+ showParame: false,
519
+ selectUserFiles: '', // 选中的 userfiles
520
+ jurisdiction: this.$login.r,
521
+ positions: this.$appdata.getParam('安装位置'),
522
+ usetype: this.$appdata.getParam('使用类型'),
523
+ usestate: this.$appdata.getParam('使用状态'),
524
+ aroundmeters: this.$appdata.getParam('左右表'),
525
+ garbagefee: this.$appdata.getParam('垃圾费'),
526
+ valvestate: this.$appdata.getParam('阀门状态'),
527
+ usertypes: this.$appdata.getParam('用户类型'),
528
+ handmonth: [{label: '单月', value: '单月'}, {label: '双月', value: '双月'}],
529
+ gasproperties: this.meter.f_user_type.length === 1 ? this.$appdata.getParam(this.meter.f_user_type[0]) : [],
530
+ pricetypes: this.$appdata.getParam('气价类型'),
531
+ industrycomments: this.$appdata.getParam('工业备注'),
532
+ openWay: [{label: '指令开户', value: '指令开户'}, {label: '发卡开户', value: '发卡开户'}],
533
+ meterbookoptions: [], // 抄表册选项
534
+ opteratormetrbook: false, // 抄表册操作
535
+ oldrow: [],
536
+ overdueset:[],
537
+ isiot: true,
538
+ templng: '', // 临时经度
539
+ templat: '' // 临时纬度
540
+ }
541
+ },
542
+ props: ['f_filialeid', 'meter', 'isdecimal', 'valid', 'f_userinfo_id','overdueset'],
543
+ ready () {
544
+ console.log('看看meter里面的数据', this.meter, this.row)
545
+ this.row = Object.assign(this.row, this.meter, {})
546
+ this.oldrow = this.row
547
+ this.isdecimal = this.row.gasbrand.length > 0 ? this.row.gasbrand.f_isdecimal : '否'
548
+ this.row.valid = false
549
+ if (this.row.pricetype === '混合气价') {
550
+ this.ratioshow = true
551
+ }
552
+ co(meterBookGen(this))
553
+ },
554
+ methods: {
555
+ async confirmUserfiles () {
556
+ if (this.$refs.addparamlist.confirm()) {
557
+ var paramlist = this.$refs.addparamlist.addGasParameter
558
+ await this.$resetpost('rs/logic/updateGasParam', {
559
+ data: {
560
+ id: this.selectUserFiles.f_user_id,
561
+ paramlist: paramlist,
562
+ gastype: 'userfiles'
563
+ }
564
+ }, {resolveMsg: '更新成功', rejectMsg: '更新失败'})
565
+ this.showParame = false
566
+ }
567
+ },
568
+
569
+ priceChange (val) {
570
+ if (val.length > 0) {
571
+ this.row.f_user_type = [val[0].f_user_type]
572
+ this.row.f_gasproperties = [val[0].f_gasproperties]
573
+ this.row.pricetype = val[0].f_price_type
574
+ // 展示气价备注
575
+ this.$set('row.f_price_comments', val[0].f_comments ? val[0].f_comments : '无')
576
+ // 展示价格明细
577
+ if (val[0].detailprice) {
578
+ // this.row.f_detailprice = this.$CommonService.getShowPriceDetail(val[0].detailprice)
579
+ this.$set('row.f_detailprice', this.$CommonService.getShowPriceDetail(val[0].detailprice))
580
+ }
581
+ }
582
+ },
583
+ cancel () {
584
+ this.gasid = ''
585
+ this.userfileid = ''
586
+ this.showParame = false
587
+ },
588
+ tablebaseChange () {
589
+ if (this.isdecimal === '是') {
590
+ this.$set('row.f_meter_base', (this.row.f_meter_base - 0).toFixed(4))
591
+ } else {
592
+ this.$set('row.f_meter_base', (this.row.f_meter_base - 0).toFixed(0))
593
+ }
594
+ },
595
+ brandChange (val) {
596
+ this.isdecimal = val.length > 0 ? val[0].f_isdecimal : '否'
597
+ console.log('sadasfasf', val)
598
+ if (val.length > 0 && val[0].f_meter_type === '物联网表') {
599
+ this.isiot = true
600
+ } else {
601
+ this.isiot = false
602
+ }
603
+ // this.tablebaseChange()
604
+ if (this.row.f_user_id) {
605
+ co(brandChangeGen(this))
606
+ }
607
+ this.meternumberValidate()
608
+ },
609
+ userTypeChange () {
610
+ this.gasproperties = []
611
+ if (this.row.f_user_type.length === 1) {
612
+ this.gasproperties = this.$appdata.getParam(this.row.f_user_type[0])
613
+ }
614
+ },
615
+ // getPricenames(pricetype) {
616
+ // console.log('气价。,。。', pricetype, this.row.f_user_type, this.row.f_gasproperties)
617
+ // let rs = []
618
+ // if (this.row.f_user_type.length === 1 && this.row.f_gasproperties.length === 1 && pricetype.length === 1) {
619
+ // let params = {
620
+ // f_user_type: this.row.f_user_type[0],
621
+ // f_gasproperties: this.row.f_gasproperties[0],
622
+ // f_price_type: pricetype[0],
623
+ // filter: this.f_filialeid
624
+ // }
625
+ // rs = this.$GetSaleParam.getPrice(params)
626
+ // }
627
+ // if (rs.length === 0) {
628
+ // this.row.f_price_name = ''
629
+ // }
630
+ // return rs
631
+ // },
632
+ mValid (bool) {
633
+ this.row.valid = bool
634
+ this.$dispatch('self-valid')
635
+ },
636
+ // 带权限修改单值返回修改后得值和修改原因
637
+ modefiy (field) {
638
+ this.show = true
639
+ this.field = field
640
+ },
641
+ async meternumberValidate () {
642
+ let http1 = new HttpResetClass()
643
+ let res1 = await http1.load('POST', '/rs/sql/getBrandAndType', {data: {condition: ` mi.f_meternumber = '${this.row.f_meternumber}' and mi.f_filialeid= '${this.$login.f.orgid}'`}}, {resolveMsg: null, rejectMsg: '获取默认气表品牌型号失败!!'})
644
+ if (res1.data.length > 0) {
645
+ // 替换表号自带的气表品牌和型号
646
+ let meterbrands = this.meterbrands
647
+ for (let row of meterbrands) {
648
+ if (row.label == res1.data[0].f_meter_brand) {
649
+ // 已经选择了气表品牌则不再替换
650
+ if (this.row.gasbrand.length <= 0) this.row.gasbrand = [row.value]
651
+ // 替换气表型号
652
+ if (res1.data[0].f_meter_style) {
653
+ for (let model of row.value.gasmodel) {
654
+ if (model.label == res1.data[0].f_meter_style) {
655
+ // 已经选择了气表型号则不再替换
656
+ if (this.row.gasmodel.length <= 0) this.row.gasmodel = [model.value]
657
+ continue
658
+ }
659
+ }
660
+ }
661
+ continue
662
+ }
663
+ }
664
+ }
665
+ // 验证表号
666
+ if (this.row.f_meternumber && this.row.gasbrand.length > 0) {
667
+ // 表号位数验证
668
+ let meternumberLen = this.row.gasbrand[0].f_meternumber_len
669
+ if (meternumberLen) {
670
+ if (this.row.f_meternumber.length != meternumberLen) {
671
+ this.row.f_meternumber = ''
672
+ this.$showAlert(`表号位数不正确, 当前气表品牌表号位数是: ${meternumberLen}`, 'warning', 3000)
673
+ return
674
+ }
675
+ }
676
+ // 表计信息验证
677
+ if (this.row.gasbrand[0].f_meterverification == '是') {
678
+ if (res1.data.length <= 0) {
679
+ this.$showAlert(`当前表号: ${this.row.f_meternumber}在表计信息中无记录, 请核实!!!`, 'warning', 3000)
680
+ this.row.f_meternumber = ''
681
+ return
682
+ }
683
+ }
684
+ let param = {
685
+ f_meternumber: this.row.f_meternumber,
686
+ f_gasbrand_id: this.row.gasbrand[0].id
687
+ }
688
+ if (this.row.f_userfiles_id) {
689
+ param.f_userfiles_id = this.row.f_userfiles_id
690
+ }
691
+ let res = await this.$resetpost('rs/logic/meternumberValidate', param, {
692
+ resolveMsg: null,
693
+ rejectMsg: '表号验证失败!!'
694
+ })
695
+ if (this.row.gasbrand[0].f_meter_type === '物联网表') {
696
+ if (res.data) {
697
+ this.row.f_meternumber = ''
698
+ this.$showAlert('表号已存在!!', 'warning', 3000)
699
+ }
700
+ } else {
701
+ if (res.data) {
702
+ this.$showAlert('请注意,相同的表号已存在', 'warning', 3000)
703
+ }
704
+ }
705
+ }
706
+ },
707
+ openModal () {
708
+ this.mapShow = true
709
+ },
710
+ closeModal () {
711
+ this.mapShow = false;
712
+ },
713
+ getmylocation (res) {
714
+ this.templng = res.position.lng
715
+ this.templat = res.position.lat
716
+ },
717
+ confirmLocation () {
718
+ this.row.f_userfiles_lat = this.templat
719
+ this.row.f_userfiles_lng = this.templng
720
+ this.mapShow = false;
721
+ },
722
+ flowmetermodels (label) {
723
+ let gasbrand = this.$GetSaleParam.getGasbrand()
724
+ let flowmetermodels = []
725
+ for (let row of gasbrand) {
726
+ if (row.label == label) {
727
+ for (let gasmodel of row.value.gasmodel) {
728
+ flowmetermodels.push({label: gasmodel.label, value: gasmodel.label})
729
+ }
730
+ break
731
+ }
732
+ }
733
+ return flowmetermodels
734
+ }
735
+ },
736
+ watch: {
737
+ 'meter' () {
738
+ this.row = Object.assign(this.row, this.meter, {})
739
+ this.isdecimal = this.row.gasbrand.f_isdecimal
740
+ this.row.valid = false
741
+ this.showtype = this.row.gasbrand.f_meter_type
742
+ },
743
+ 'row.pricetype' (val) {
744
+ if (val == '混合气价') {
745
+ this.ratioshow = true
746
+ } else {
747
+ this.ratioshow = false
748
+ }
749
+ }
750
+
751
+ },
752
+ computed: {
753
+
754
+ // 控制用户类型修改
755
+ permissionUserType () {
756
+ let res = false
757
+ if (this.row.f_user_id) {
758
+ res = !(this.jurisdiction.includes('民用气价修改') && this.jurisdiction.includes('非民用气价修改'))
759
+ }
760
+ return res
761
+ },
762
+
763
+ // 控制用气性质,气价类型,气价名称修改
764
+ permissionPrice () {
765
+ let res = false
766
+ if (this.row.f_user_id) {
767
+ console.log('获取权限、', this.row, this.jurisdiction)
768
+ // 变更操作
769
+ if (this.row.pricename.length > 0) {
770
+ if (this.row.f_user_type[0] === '民用') {
771
+ // 判断是否有民用气价权限
772
+ res = !this.jurisdiction.includes('民用气价修改')
773
+ } else if (this.row.f_user_type[0] === '非民用') {
774
+ // 判断是否有非民用气价权限
775
+ res = !this.jurisdiction.includes('非民用气价修改')
776
+ }
777
+ }
778
+ }
779
+ console.log('有无气价权限', res)
780
+ return res
781
+ },
782
+
783
+ getPricenames () {
784
+ let f_filialeid = this.f_filialeid
785
+ let result = []
786
+ this.$GetSaleParam.prices.forEach((item) => {
787
+ if (item.f_state === '有效' && f_filialeid == item.f_filialeid) {
788
+ let value = {
789
+ label: item.f_price_name,
790
+ value: item
791
+ }
792
+ result.push(value)
793
+ }
794
+ })
795
+ return Array.from(new Set(result))
796
+ },
797
+
798
+ adjustables () {
799
+ let arr = []
800
+ let filter = this.f_filialeid
801
+ this.$GetSaleParam.getAdjustable(filter).forEach((item) => {
802
+ let temp = {}
803
+ temp.label = `[${item.value.f_adjustable_id}]-${item.label}`
804
+ temp.value = item.value
805
+ arr.push(temp)
806
+ })
807
+ return [{label: '全部', value: ''}, ...arr]
808
+ },
809
+ inputtores () {
810
+ // return this.$login.f.f_gasman
811
+ let rs = new Array()
812
+ for (let i = 0; i < this.$login.f.f_gasman.length; i++) {
813
+ let temp = {
814
+ label: this.$login.f.f_gasman[i].name,
815
+ value: this.$login.f.f_gasman[i].name
816
+ }
817
+ rs.push(temp)
818
+ }
819
+ return rs
820
+ },
821
+ installperson () {
822
+ // return this.$login.f.f_installman
823
+ let rs = new Array()
824
+ for (let i = 0; i < this.$login.f.f_installman.length; i++) {
825
+ let temp = {
826
+ label: this.$login.f.f_installman[i].name,
827
+ value: this.$login.f.f_installman[i].name
828
+ }
829
+ rs.push(temp)
830
+ }
831
+ return rs
832
+ },
833
+ meterbrands () {
834
+ return this.$GetSaleParam.getGasbrand()
835
+ },
836
+ aroundmeters () {
837
+ return this.$appdata.getParam('左右表')
838
+ },
839
+ positions () {
840
+ return this.$appdata.getParam('安装位置')
841
+ },
842
+ usetype () {
843
+ return this.$appdata.getParam('使用类型')
844
+ },
845
+ usestate () {
846
+ return this.$appdata.getParam('使用状态')
847
+ },
848
+ gongyetype () {
849
+ return this.$appdata.getParam('工业备注')
850
+ },
851
+ flowmeterbrands () {
852
+ let gasbrand = this.$GetSaleParam.getGasbrand()
853
+ let flowmeterbrands = []
854
+ for (let row of gasbrand) {
855
+ flowmeterbrands.push({label: row.label, value: row.label})
856
+ }
857
+ return flowmeterbrands
858
+ }
859
+ }
860
+ }
861
+ </script>
862
+ <style lang="less">
863
+ #meterInfoTest{
864
+ #addboxmap {
865
+ height: 300px;
866
+ }
867
+ .glyphicon-map-marker:hover {
868
+ color: red;
869
+ }
870
+ .glyphicon-map-marker {
871
+ color: blue;
872
+ cursor: pointer;
873
+ }
874
+ .col-sm-4 {
875
+ .font_normal_body {
876
+ width: 73px;
877
+ overflow: auto;
878
+ white-space: nowrap;
879
+ // 指滚动条两边的按钮
880
+ &::-webkit-scrollbar-button {
881
+ display: none;
882
+ }
883
+ // 滚动条的宽度
884
+ &::-webkit-scrollbar {
885
+ width: 5px !important;
886
+ height: 5px !important;
887
+ }
888
+ // 滚动条的设置
889
+ &::-webkit-scrollbar-thumb {
890
+ background-color: #ddd;
891
+ background-clip: padding-box;
892
+ }
893
+ &::-webkit-scrollbar-thumb:hover {
894
+ background-color: #bbb;
895
+ }
896
+ &::-webkit-scrollbar-track {
897
+ /*滚动条里面轨道*/
898
+ box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.2);
899
+ background: #ededed;
900
+ }
901
+ }
902
+ }
903
+ }
904
+ </style>