sale-client 4.1.230 → 4.2.1-ronghao

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 (171) hide show
  1. package/build/dev-server.js +29 -46
  2. package/package.json +2 -2
  3. package/src/App.vue +3 -3
  4. package/src/components/FilesManage/UserGeneralInfoTest.vue +4 -4
  5. package/src/components/FilesManageNew/FileUserFiles.vue +2 -4
  6. package/src/components/FilesManageNew/MeterinfoTest.vue +9 -9
  7. package/src/components/FilesManageNew/UserEssentialInfoTest.vue +201 -227
  8. package/src/components/FilesManageNew/UserGeneralInfoTest.vue +0 -2
  9. package/src/components/charge/business/CardMeterCenter.vue +1 -1
  10. package/src/components/charge/business/FilesComplete.vue +3 -3
  11. package/src/components/charge/business/IOTMeterCenter.vue +1 -1
  12. package/src/components/charge/business/OtherChargeNew.vue +68 -48
  13. package/src/components/common/userinfo_detail/UserInfoDetailManageNew.vue +10 -1
  14. package/src/components/common/userinfo_detail/ic_detail/CardHandRecord.vue +1 -1
  15. package/src/components/common/userinfo_detail/ic_detail/ChangeMeterQueryUser.vue +1 -1
  16. package/src/components/common/userinfo_detail/ic_detail/GarbageRecordList.vue +69 -0
  17. package/src/components/common/userinfo_detail/ic_detail/InsuranceChargesRecord.vue +384 -0
  18. package/src/components/common/userinfo_detail/ic_detail/WebHandQueryUser.vue +1 -1
  19. package/src/components/revenue/Common/MeterMessage.vue +1 -1
  20. package/src/components/revenue/HandManager/MeterBookUser.vue +726 -726
  21. package/src/components/revenue/HandManager/WebHand.vue +7 -4
  22. package/src/components/revenue/base/leftview/SafeCheck.vue +41 -3
  23. package/src/components/revenue/base/leftview/UserFeeInfo.vue +76 -0
  24. package/src/components/revenue/base/leftview/otherinfo.vue +1 -0
  25. package/src/components/revenue/base/rightview/CardList.vue +7 -3
  26. package/src/components/revenue/batchDeduction/batchDeductionList.vue +1 -1
  27. package/src/components/revenue/cardHandManage/cardDown.vue +18 -0
  28. package/src/components/revenue/changeInsurance/InsuranceAdd.vue +1 -0
  29. package/src/components/revenue/changeInsurance/InsuranceRecord.vue +2 -1
  30. package/src/components/revenue/comprehen/ComprehenOperation/BankPayment/BankPayment.vue +1 -1
  31. package/src/components/revenue/comprehen/ComprehenOperation/GiftFee/icTable.vue +4 -2
  32. package/src/components/revenue/comprehen/ComprehenOperation/QrPay/QrPaymentDetailed.vue +423 -423
  33. package/src/components/revenue/comprehen/Maintenance/hand/handOperate.vue +469 -469
  34. package/src/components/revenue/comprehen/Maintenance/revenue/MeterOperatemain.vue +2 -2
  35. package/src/components/revenue/machineHandManage/ArrearsQuery.vue +938 -938
  36. package/src/components/revenue/machineHandManage/HandplanQuery.vue +1 -1
  37. package/src/components/revenue/machineHandManage/machineHand.vue +3 -2
  38. package/src/components/webMeter/MeterManage/WebMeterBatchOperationValve.vue +970 -970
  39. package/src/filiale/alashan/eticket/EticketRecordList.vue +428 -428
  40. package/src/filiale/bayan/ChargeList.vue +1010 -1010
  41. package/src/filiale/bayan/StockListmain.vue +543 -543
  42. package/src/filiale/beifangshiye/OtherChargeNew.vue +625 -625
  43. package/src/filiale/dexin/MeterinfoTest.vue +1239 -0
  44. package/src/filiale/dexin/UserEssentialInfoTest.vue +602 -0
  45. package/src/filiale/dexin/sale.js +5 -0
  46. package/src/filiale/fugou/MeterinfoTest.vue +1 -1
  47. package/src/filiale/jiaxian/AutomaticPurse.vue +349 -0
  48. package/src/filiale/jiaxian/ChangeMeterQueryUser.vue +303 -0
  49. package/src/filiale/jiaxian/ChangeRecord.vue +44 -2
  50. package/src/filiale/jiaxian/FillCardQueryUser.vue +250 -0
  51. package/src/filiale/jiaxian/FillGasQueryUser.vue +270 -0
  52. package/src/filiale/jiaxian/OtherChargeQueryUser.vue +305 -0
  53. package/src/filiale/jiaxian/PriceAdjustmentQueryUser.vue +368 -0
  54. package/src/filiale/jiaxian/PriceChangeQueryUser.vue +243 -0
  55. package/src/filiale/jiaxian/QueryInstruct.vue +436 -0
  56. package/src/filiale/jiaxian/RecordQueryUser.vue +321 -0
  57. package/src/filiale/jiaxian/Repurchase.vue +181 -0
  58. package/src/filiale/jiaxian/TransferQueryUser.vue +274 -0
  59. package/src/filiale/jiaxian/UserInfoDetailManageNew.vue +11 -11
  60. package/src/filiale/jiaxian/Userinfo.vue +426 -0
  61. package/src/filiale/jiaxian/WatchCollection.vue +54 -1
  62. package/src/filiale/jiaxian/WebAutomaticPurse.vue +348 -0
  63. package/src/filiale/jiaxian/contractSigningList.vue +149 -0
  64. package/src/filiale/jiaxian/sale.js +5 -0
  65. package/src/filiale/jinhong/AutoAccountsDetail.vue +63 -0
  66. package/src/filiale/jinhong/CardList.vue +572 -0
  67. package/src/filiale/jinhong/CardMeterCenter.vue +1 -1
  68. package/src/filiale/jinhong/CardMeterCenterInner.vue +61 -22
  69. package/src/filiale/jinhong/GarbageCharge.vue +1 -1
  70. package/src/filiale/jinhong/HandplanQuery.vue +1430 -0
  71. package/src/filiale/jinhong/IOTMeterCenterInner.vue +42 -14
  72. package/src/filiale/jinhong/InsuranceAdd.vue +27 -5
  73. package/src/filiale/jinhong/InsuranceChargesDetails.vue +11 -5
  74. package/src/filiale/jinhong/InsuranceRecord.vue +4 -5
  75. package/src/filiale/jinhong/InsuranceTemp.vue +33 -5
  76. package/src/filiale/jinhong/MachineChargeService.js +8 -0
  77. package/src/filiale/jinhong/MachineMeterCenter.vue +38 -11
  78. package/src/filiale/jinhong/ShowCardSellGasInner.vue +46 -14
  79. package/src/filiale/jinhong/Userinfo.vue +75 -1
  80. package/src/filiale/jinhong/insuranceGuanL.vue +349 -0
  81. package/src/filiale/jinhong/machineDown.vue +1205 -0
  82. package/src/filiale/jinhong/sale.js +9 -0
  83. package/src/filiale/jinhuang/UserInfoDetailManageNew.vue +259 -0
  84. package/src/filiale/jinhuang/WebHand.vue +1026 -0
  85. package/src/filiale/jinhuang/WebHandQueryUser.vue +413 -0
  86. package/src/filiale/jinhuang/cardsHand.vue +911 -0
  87. package/src/filiale/jinhuang/sale.js +8 -0
  88. package/src/filiale/lixianV3/ArrearsQuery.vue +938 -938
  89. package/src/filiale/lixianV3/InsuranceAdd.vue +1 -0
  90. package/src/filiale/lixianV3/InsuranceChargesDetails.vue +425 -425
  91. package/src/filiale/meihekou/CardMeterCenter.vue +991 -0
  92. package/src/filiale/meihekou/ChargeManage.vue +3 -2
  93. package/src/filiale/meihekou/ChargeOper.vue +279 -169
  94. package/src/filiale/meihekou/HandManager.vue +57 -2
  95. package/src/filiale/meihekou/NoCardMeterCenter.vue +542 -0
  96. package/src/filiale/meihekou/OverUseCharge.vue +1 -1
  97. package/src/filiale/meihekou/PrintBill.vue +48 -41
  98. package/src/filiale/meihekou/ReissueBill.vue +4 -1
  99. package/src/filiale/meihekou/ShowCardSellGas.vue +935 -0
  100. package/src/filiale/meihekou/TransferManage.vue +704 -0
  101. package/src/filiale/meihekou/Userinfo.vue +233 -5
  102. package/src/filiale/meihekou/common/userinfo_detail/ic_detail/MachineRecordQuery.vue +281 -281
  103. package/src/filiale/meihekou/icTable.vue +233 -0
  104. package/src/filiale/meihekou/machineHand.vue +2158 -0
  105. package/src/filiale/meihekou/manualChargeCenter.vue +394 -0
  106. package/src/filiale/meihekou/meterTable.vue +220 -0
  107. package/src/filiale/meihekou/sale.js +15 -0
  108. package/src/filiale/qianneng/MeterMessage.vue +1 -1
  109. package/src/filiale/qianneng/revenue/sms/AccountMessageList.vue +508 -508
  110. package/src/filiale/rizhao/InsuranceAdd.vue +1 -0
  111. package/src/filiale/ronghao/ArrearsQuery.vue +974 -974
  112. package/src/filiale/ronghao/CardList.vue +19 -17
  113. package/src/filiale/ronghao/CardMeterChargeCancel.vue +5 -0
  114. package/src/filiale/ronghao/CardService.js +2144 -2144
  115. package/src/filiale/ronghao/ChangeMeterService.js +1 -1
  116. package/src/filiale/ronghao/ChargeList.vue +17 -17
  117. package/src/filiale/ronghao/ChargeManage.vue +325 -0
  118. package/src/filiale/ronghao/ChargeOper.vue +330 -0
  119. package/src/filiale/ronghao/FilesManageNew/UserEssentialInfoTest.vue +457 -0
  120. package/src/filiale/ronghao/FilesManageNew/UserGeneralInfoTest.vue +690 -0
  121. package/src/filiale/ronghao/HandplanQuery.vue +13 -14
  122. package/src/filiale/ronghao/IOTMeterCenter.vue +15 -6
  123. package/src/filiale/ronghao/InsuranceAdd.vue +1 -0
  124. package/src/filiale/ronghao/InsuranceManage.vue +58 -58
  125. package/src/filiale/ronghao/MachineChargeService.js +149 -149
  126. package/src/filiale/ronghao/NoCardMeterCenter.vue +534 -534
  127. package/src/filiale/ronghao/PaymentCode.vue +174 -174
  128. package/src/filiale/ronghao/PriceChangeCompensation/CompensationManage.vue +26 -26
  129. package/src/filiale/ronghao/PriceChangeCompensation/IotCompensation.vue +318 -318
  130. package/src/filiale/ronghao/PriceChangeCompensation/JbCompensation.vue +343 -343
  131. package/src/filiale/ronghao/PriceChangeCompensation/SurplusRecordDetail.vue +74 -74
  132. package/src/filiale/ronghao/ReplaceCardManage.vue +415 -415
  133. package/src/filiale/ronghao/Upload.vue +654 -654
  134. package/src/filiale/ronghao/Userinfo.vue +18 -18
  135. package/src/filiale/ronghao/cardDown.vue +1141 -1141
  136. package/src/filiale/ronghao/changemeterOperate.vue +315 -315
  137. package/src/filiale/ronghao/fillgasSpecific.vue +313 -313
  138. package/src/filiale/ronghao/ic_detail/ChargeRecordQuery.vue +106 -106
  139. package/src/filiale/ronghao/ic_detail/WatchCollection.vue +115 -115
  140. package/src/filiale/ronghao/ic_detail/WebHandQueryUser.vue +411 -411
  141. package/src/filiale/ronghao/machineDown.vue +1176 -1176
  142. package/src/filiale/ronghao/machineRefund.vue +3 -1
  143. package/src/filiale/ronghao/replacementSingleInfoOperation.vue +315 -315
  144. package/src/filiale/ronghao/sale.js +11 -0
  145. package/src/filiale/ronghao/specificInformation.vue +537 -537
  146. package/src/filiale/ronghao/uploadFilesHistory.vue +214 -0
  147. package/src/filiale/ruihua/FilesManage/MeterinfoTest.vue +10 -0
  148. package/src/filiale/shanxian/components/revenue/InsuranceAdd.vue +1 -0
  149. package/src/filiale/wuan/MeterMessage.vue +1 -1
  150. package/src/filiale/yangchun/BasicLivingList.vue +281 -0
  151. package/src/filiale/yangchun/BlackList/BlackRecordQuery.vue +1 -0
  152. package/src/filiale/yangchun/CardChangeFill.vue +1 -1
  153. package/src/filiale/yangchun/ChargeList.vue +954 -954
  154. package/src/filiale/yangchun/FilesManage/UserPaperInfoTest.vue +3 -3
  155. package/src/filiale/yangchun/NewMeterList.vue +742 -0
  156. package/src/filiale/yangchun/sale.js +3 -0
  157. package/src/filiale/yuncheng/CardList.vue +1 -1
  158. package/src/filiale/yuncheng/IndustryCommerceHand.vue +1145 -0
  159. package/src/filiale/yuncheng/IndustryCommerceHandAudit.vue +794 -0
  160. package/src/filiale/yuncheng/IndustryCommerceHandManager.vue +64 -0
  161. package/src/filiale/yuncheng/InsuranceAdd.vue +1 -0
  162. package/src/filiale/yuncheng/MeterBookUser.vue +781 -0
  163. package/src/filiale/yuncheng/UserDeviceInfoTest.vue +2 -2
  164. package/src/filiale/yuncheng/changemeterListMaintain.vue +504 -504
  165. package/src/filiale/yuncheng/industryDown.vue +1118 -0
  166. package/src/filiale/yuncheng/sale.js +11 -0
  167. package/src/filiale/yuncheng/uploadFilesHistory.vue +185 -0
  168. package/src/filiale/zhongsheng/BlackListList.vue +293 -293
  169. package/src/filiale/zhongyi/HandQueryUser.vue +389 -389
  170. package/src/plugins/CardService.js +2217 -2217
  171. package/src/sale.js +3 -1
@@ -0,0 +1,602 @@
1
+ <template>
2
+ <div id="UserEssential">
3
+ <validator name='v' @valid="$emit('valid')" @invalid="$emit('invalid')">
4
+ <form class="form-horizontal select-overspread ">
5
+ <div class="row">
6
+ <div class="col-sm-4 form-group " :class="[$v.f_user_name.required ? 'has-error' : '']"
7
+ v-if="getConfigShowItem('f_user_name')">
8
+ <label for="f_user_name" class="font_normal_body">*{{getConfigLabelName('f_user_name','用户姓名')}}</label>
9
+ <input type="text" v-model="baseinfo.base.f_user_name"
10
+ v-validate:f_user_name='getConfigValidate("f_user_name",true)'
11
+ class="input_search" style="width:60%" :placeholder="getConfigPlaceholder('f_user_name','用户姓名')" v-next-el="phone">
12
+ </div>
13
+ <div style="" class="col-sm-4 form-group"
14
+ :class="[$v.f_user_phone.minlength || $v.f_user_phone.maxlength ? 'has-error' : '']" v-if="getConfigShowItem('f_user_phone')">
15
+ <label for="f_user_phone" class="font_normal_body">*{{getConfigLabelName('f_user_phone','客户电话')}}</label>
16
+ <input type="text" maxlength="11" v-model="baseinfo.base.f_user_phone"
17
+ v-validate:f_user_phone=getConfigValidate("f_user_phone") class="input_search" style="width:55%"
18
+ :placeholder="getConfigPlaceholder('f_user_phone','客户电话')"
19
+ v-el:phone v-next-el="area">
20
+ <button type="button" class="glyphicon glyphicon-plus" @click.stop="phoneManage()"></button>
21
+ </div>
22
+
23
+ <div style=""
24
+ v-show="(formconfig && formconfig.f_rent_phone && formconfig.f_rent_phone.required) || !onlyshowmust"
25
+ :class="[$v.f_rent_phone.required ? 'has-error' : '']"
26
+ class="col-sm-4 form-group" v-if="getConfigShowItem('f_rent_phone')">
27
+ <label for="f_rent_phone" class="font_normal_body">&ensp;{{getConfigLabelName('f_rent_phone','曾用电话')}}</label>
28
+ <input type="text" v-model="baseinfo.base.f_rent_phone" class="input_search" style="width:60%"
29
+ v-validate:f_rent_phone=getConfigValidate("f_rent_phone",false)
30
+ :placeholder="getConfigPlaceholder('f_rent_phone','曾用电话')">
31
+ </div>
32
+
33
+ <div class="col-sm-4 form-group" style="" v-if="true">
34
+ <label for="f_user_state" class="font_normal_body">&ensp;{{getConfigLabelName('f_user_state','客户状态')}}</label>
35
+ <v-select :value.sync="baseinfo.base.f_user_state"
36
+ :disabled="true"
37
+ :value-single="true"
38
+ :options='userstates' :placeholder="getConfigPlaceholder('f_user_state','客户状态')"
39
+ close-on-select></v-select>
40
+ </div>
41
+ <div class="col-sm-4 form-group" style="" >
42
+ <label for="f_uservent_date" class="font_normal_body">&ensp;{{getConfigLabelName('f_uservent_date','通气日期')}}</label>
43
+ <datepicker style="width:60%" placeholder="用户通气日期"
44
+ v-model="baseinfo.base.f_uservent_date"
45
+ v-ref:f_uservent_date
46
+ :value.sync="baseinfo.base.f_uservent_date"
47
+ :format="'yyyy-MM-dd HH:mm:ss'"
48
+ ></datepicker>
49
+ </div>
50
+ </div>
51
+ <div class="row">
52
+ <div style="" class="col-sm-4 form-group" v-if="getConfigShowItem('f_credentials')">
53
+ <label for="f_credentials" class="font_normal_body">&ensp;{{getConfigLabelName('f_credentials','证件类型')}}</label>
54
+ <v-select id="idCardType" :value.sync="baseinfo.base.f_credentials"
55
+ v-model="baseinfo.base.f_credentials"
56
+ :value-single="true"
57
+ :options='credentials'
58
+ :placeholder="getConfigPlaceholder('f_credentials','证件类型')"
59
+ style="width: 65%"
60
+ close-on-select></v-select>
61
+ </div>
62
+ <div style="" class="col-sm-8 form-group"
63
+ v-if="baseinfo.base.f_credentials === '身份证' && config.f_idnumber ">
64
+ <label for="f_idnumber" class="font_normal_body">*证件号码</label>
65
+ <input type="text" maxlength="18" v-model="baseinfo.base.f_idnumber"
66
+ class="input_search" style="width:80%"
67
+ :placeholder="getConfigPlaceholder('f_idnumber','证件号码')">
68
+ </div>
69
+ <div style="" class="col-sm-8 form-group" v-if="baseinfo.base.f_credentials !== '身份证' || !config.f_idnumber ">
70
+ <label class="font_normal_body">&ensp;证件号码</label>
71
+ <input type="text" v-model="baseinfo.base.f_idnumber" class="input_search" style="width:80%"
72
+ :placeholder="getConfigPlaceholder('f_idnumber','证件号码')">
73
+ </div>
74
+ </div>
75
+ <div class="row">
76
+ <div class="col-sm-12 form-group" :class="[$v.f_address.required ? 'has-error' : '']">
77
+ <label for="f_address" class="font_normal_body">*地址信息</label>
78
+ <input type="text" v-model="addressinfo.f_address" :value.sync="addressinfo.f_address" v-validate:f_address='{required: true }'
79
+ class="input_search" disabled="disabled" style="width:70%;" placeholder="用户地址" >
80
+ <span>
81
+ <button class="button_search button_spacing" type="button" style="width: max-content" v-if="!isedit" @click="selectaddress()">选择地址</button>
82
+ <!-- <button class="button_search button_spacing" type="button" style="width: max-content" v-if="isedit" @click="modifyaddress()">修改地址</button>-->
83
+ <button class="button_search button_spacing" type="button" style="width: max-content" v-if="isedit" @click="selectaddress()">修改地址</button>
84
+ </span>
85
+ </div>
86
+ </div>
87
+ <div class="row">
88
+ <div style=""
89
+ v-show="(formconfig && formconfig.f_used_name && formconfig.f_used_name.required) || !onlyshowmust"
90
+ :class="[$v.f_used_name.required ? 'has-error' : '']"
91
+ class="col-sm-4 form-group" v-if="getConfigShowItem('f_used_name')">
92
+ <label style="letter-spacing: 0.5em;margin-right: -0.5em" for="f_used_name" class="font_normal_body w3">{{getConfigLabelName('f_used_name','曾用名')}}</label>
93
+ <input type="text" v-model="baseinfo.base.f_used_name" class="input_search" style="width:60%"
94
+ v-validate:f_used_name=getConfigValidate("f_used_name",false)
95
+ :placeholder="getConfigPlaceholder('f_used_name','曾用名')">
96
+ </div>
97
+ <div class="col-sm-4 form-group"
98
+ v-show="(formconfig && formconfig.f_people_num && formconfig.f_people_num.required) || !onlyshowmust"
99
+ :class="[$v.f_people_num.dctest ? 'has-error' : '']" v-if="getConfigShowItem('f_people_num')">
100
+ <label for="f_people_num" style="letter-spacing: 0.5em;margin-right: -0.5em" class="font_normal_body w3">{{getConfigLabelName('f_people_num','人口数')}}</label>
101
+ <input type="number" v-model="baseinfo.base.f_people_num" v-show="!peopleMax" v-validate:f_people_num='{dctest: [0, ">=" ]}'
102
+ :disabled="!jurisdiction.includes('修改人口数')" class="input_search" style="width:60%"
103
+ placeholder="家庭人口数">
104
+ <v-select id="f_people_num" :value.sync="baseinfo.base.f_people_num"
105
+ v-if="peopleMax"
106
+ v-model="baseinfo.base.f_people_num"
107
+ :value-single="true"
108
+ :options='peoplenums'
109
+ :placeholder="getConfigPlaceholder('f_people_num','家庭人口数')"
110
+ style="width: 65%"
111
+ close-on-select></v-select>
112
+ </div>
113
+ </div>
114
+ <div class="row">
115
+ <div style=""
116
+ v-show="(formconfig && formconfig.f_balance && formconfig.f_balance.required) || !onlyshowmust"
117
+ :class="[$v.f_balance.required ? 'has-error' : '']"
118
+ class="col-sm-4 form-group" v-if="getConfigShowItem('f_balance')">
119
+ <label for="f_balance" class="font_normal_body">&ensp;{{getConfigLabelName('f_balance','用户余额')}}</label>
120
+ <input type="text" v-model="baseinfo.base.f_balance" class="input_search" style="width:60%"
121
+ v-validate:f_balance=getConfigValidate("f_balance",false)
122
+ :placeholder="getConfigPlaceholder('f_balance','用户余额')"
123
+ :disabled="!jurisdiction.includes('档案信息查询修改')">
124
+ </div>
125
+ <div style="" class="col-sm-4 form-group" v-if="getConfigShowItem('f_is_mgq')"
126
+ v-show="(formconfig && formconfig.f_is_mgq && formconfig.f_is_mgq.required) || !onlyshowmust"
127
+ :class="[$v.f_is_mgq.required ? 'has-error' : '']">
128
+ <label for="f_is_mgq" style="letter-spacing: 0.5em;margin-right: -0.5em" class="font_normal_body w3">{{getConfigLabelName('f_is_mgq','煤改气')}}</label>
129
+ <input type="text" v-show="false" v-model="baseinfo.base.f_is_mgq"
130
+ v-validate:f_is_mgq=getConfigValidate("f_is_mgq",false)>
131
+ <v-select id="f_is_mgq" :value.sync="baseinfo.base.f_is_mgq" v-model="baseinfo.base.f_is_mgq"
132
+ :placeholder="getConfigPlaceholder('f_is_mgq','是否煤改气')"
133
+ :options='mgq' style="width: 65%" close-on-select></v-select>
134
+ </div>
135
+ <div class="col-sm-4 form-group" v-if="getConfigShowItem('f_book_no')"
136
+ v-show="(formconfig && formconfig.f_book_no && formconfig.f_book_no.required) || !onlyshowmust"
137
+ :class="[$v.f_book_no.required ? 'has-error' : '']">
138
+ <label for="f_contract" class="font_normal_body">&ensp;{{getConfigLabelName('f_book_no','燃气本号')}}</label>
139
+ <input type="text" v-model="baseinfo.base.f_book_no" class="input_search" style="width:60%"
140
+ v-validate:f_book_no=getConfigValidate("f_book_no",false)
141
+ :placeholder="getConfigPlaceholder('f_book_no','用户证号')">
142
+ </div>
143
+ </div>
144
+ <div class="row">
145
+ <div style="" class="col-sm-4 form-group" v-if="getConfigShowItem('f_rent_name')"
146
+ v-show="(formconfig && formconfig.f_rent_name && formconfig.f_rent_name.required) || !onlyshowmust"
147
+ :class="[$v.f_rent_name.required ? 'has-error' : '']">
148
+ <label for="f_rent_name" class="font_normal_body">&ensp;{{getConfigLabelName('f_rent_name','租户姓名')}}</label>
149
+ <input type="text" v-model="baseinfo.base.f_rent_name" class="input_search" style="width:60%"
150
+ v-validate:f_rent_name=getConfigValidate("f_rent_name",false)
151
+ :placeholder="getConfigPlaceholder('f_rent_name','租户姓名')">
152
+ </div>
153
+ <div style="" class="col-sm-4 form-group" v-if="getConfigShowItem('f_zuhu_phone')"
154
+ v-show="(formconfig && formconfig.f_zuhu_phone && formconfig.f_zuhu_phone.required) || !onlyshowmust"
155
+ :class="[$v.f_zuhu_phone.required ? 'has-error' : '']">
156
+ <label for="f_zuhu_phone" class="font_normal_body">{{getConfigLabelName('f_zuhu_phone','租户电话')}}</label>
157
+ <input type="text" v-model="baseinfo.base.f_zuhu_phone" class="input_search" style="width:60%"
158
+ v-validate:f_zuhu_phone=getConfigValidate("f_zuhu_phone",false)
159
+ :placeholder="getConfigPlaceholder('f_zuhu_phone','租户电话')">
160
+ </div>
161
+ </div>
162
+ <div class="row">
163
+ <div style="" class="col-sm-8 form-group"
164
+ v-show="(formconfig && formconfig.f_zuhu_idnumber && formconfig.f_zuhu_idnumber.required) || !onlyshowmust"
165
+ v-if="getConfigShowItem('f_zuhu_idnumber')"
166
+ :class="[$v.f_zuhu_idnumber.required ? 'has-error' : '']">
167
+ <label for="f_zuhu_idnumber" class="font_normal_body">{{getConfigLabelName('f_zuhu_idnumber','租户身份证')}}</label>
168
+ <input type="text" v-model="baseinfo.base.f_zuhu_idnumber" class="input_search" style="width:80%"
169
+ v-validate:f_zuhu_idnumber=getConfigValidate("f_zuhu_idnumber",false)
170
+ :placeholder="getConfigPlaceholder('f_zuhu_idnumber','租户身份证')">
171
+ </div>
172
+ <div style="" class="col-sm-4 form-group"
173
+ v-show="(formconfig && formconfig.f_cost_type && formconfig.f_cost_type.required) || !onlyshowmust"
174
+ v-if="getConfigShowItem('f_cost_type')">
175
+ <label for="f_is_mgq" class="font_normal_body ">&ensp;{{getConfigLabelName('f_cost_type','付款类型')}}</label>
176
+ <v-select id="f_is_mgq" :value.sync="baseinfo.base.f_cost_type" v-model="baseinfo.base.f_cost_type"
177
+ :options='costtype'
178
+ :placeholder="getConfigPlaceholder('f_cost_type','付款类型')" style="width: 65%" close-on-select></v-select>
179
+ </div>
180
+ </div>
181
+ <div class="row">
182
+ <div class="col-sm-8 form-group" v-if="getConfigShowItem('f_contract_id')"
183
+ v-show="(formconfig && formconfig.f_contract_id && formconfig.f_contract_id.required) || !onlyshowmust"
184
+ :class="[$v.f_contract_id.required ? 'has-error' : '']">
185
+ <label for="f_contract" class="font_normal_body">&ensp;{{getConfigLabelName('f_contract_id','合同编号')}}</label>
186
+ <input type="text" v-model="baseinfo.base.f_contract_id" class="input_search" style="width:80%"
187
+ v-validate:f_contract_id=getConfigValidate("f_contract_id",false)
188
+ :placeholder="getConfigPlaceholder('f_contract_id','合同编号')">
189
+ </div>
190
+ <div class="col-sm-4 form-group" v-if="getConfigShowItem('f_house_type')"
191
+ v-show="(formconfig && formconfig.f_house_type && formconfig.f_house_type.required) || !onlyshowmust"
192
+ :class="[$v.f_house_type.required ? 'has-error' : '']">
193
+ <label for="f_user_state" class="font_normal_body">&ensp;{{getConfigLabelName('f_house_type','房屋类型')}}</label>
194
+ <input type="text" v-show="false" v-model="baseinfo.base.f_house_type"
195
+ v-validate:f_house_type=getConfigValidate("f_house_type",false)>
196
+ <v-select :value.sync="baseinfo.base.f_house_type" :search="false" :value-single="true"
197
+ :options='housetype' close-on-select
198
+ :placeholder="getConfigPlaceholder('f_house_type','房屋类型')">
199
+ </v-select>
200
+ </div>
201
+ </div>
202
+ <div class="row">
203
+ <div style="" class="col-sm-4 form-group" v-if="getConfigShowItem('f_user_level')"
204
+ v-show="(formconfig && formconfig.f_user_level && formconfig.f_user_level.required) || !onlyshowmust"
205
+ :class="[$v.f_user_level.required ? 'has-error' : '']">
206
+ <label for="f_user_level" class="font_normal_body ">&ensp;{{getConfigLabelName('f_user_level','用户等级')}}</label>
207
+ <input type="text" v-show="false" v-model="baseinfo.base.f_user_level"
208
+ v-validate:f_user_level=getConfigValidate("f_user_level",false)>
209
+ <v-select :value.sync="baseinfo.base.f_user_level" :search="false" :value-single="true"
210
+ :options='userlevel'
211
+ :placeholder="getConfigPlaceholder('f_user_level','用户等级')" close-on-select>
212
+ </v-select>
213
+ </div>
214
+ <div class="col-sm-4 form-group" v-if="getConfigShowItem('f_user_nature')"
215
+ v-show="(formconfig && formconfig.f_user_nature && formconfig.f_user_nature.required) || !onlyshowmust"
216
+ :class="[$v.f_user_nature.required ? 'has-error' : '']">
217
+ <label for="f_user_nature" class="font_normal_body" title="用户性质">&ensp;{{getConfigLabelName('f_user_nature','用气类型')}}</label>
218
+ <input type="text" v-show="false" v-model="baseinfo.base.f_user_nature"
219
+ v-validate:f_user_nature=getConfigValidate("f_user_nature",false)>
220
+ <v-select :value.sync="baseinfo.base.f_user_nature" :search="false" :value-single="true"
221
+ :placeholder="getConfigPlaceholder('f_user_nature','用气类型')"
222
+ :options='usernature' close-on-select>
223
+ </v-select>
224
+ </div>
225
+ <div class="col-sm-4 form-group" v-if="getConfigShowItem('f_olduserinfo_code')"
226
+ v-show="(formconfig && formconfig.f_olduserinfo_code && formconfig.f_olduserinfo_code.required) || !onlyshowmust"
227
+ :class="[$v.f_olduserinfo_code.required ? 'has-error' : '']">
228
+ <label for="f_user_nature" class="font_normal_body">&ensp;{{getConfigLabelName('f_olduserinfo_code','档案编号')}}</label>
229
+ <input type="text" v-model="baseinfo.base.f_olduserinfo_code" class="input_search" style="width:60%"
230
+ v-validate:f_olduserinfo_code=getConfigValidate("f_olduserinfo_code",false)
231
+ :placeholder="getConfigPlaceholder('f_olduserinfo_code','档案编号')">
232
+ </div>
233
+ <div class="col-sm-4 form-group"
234
+ v-show="(formconfig && formconfig.f_gas_pointsnumber && formconfig.f_gas_pointsnumber.required) || !onlyshowmust"
235
+ :class="[$v.f_gas_pointsnumber.dctest ? 'has-error' : '']" v-if="getConfigShowItem('f_gas_pointsnumber')">
236
+ <label for="f_gas_pointsnumber" class="font_normal_body">{{getConfigLabelName('f_gas_pointsnumber','用气点数量')}}</label>
237
+ <v-select id="f_gas_pointsnumber" :value.sync="baseinfo.base.f_gas_pointsnumber"
238
+ v-model="baseinfo.base.f_gas_pointsnumber"
239
+ :value-single="true"
240
+ :options='pointsnums'
241
+ :placeholder="getConfigPlaceholder('f_gas_pointsnumber','用气点数量')"
242
+ style="width: 65%"
243
+ close-on-select></v-select>
244
+ </div>
245
+ <div class="col-sm-4 form-group" v-if="getConfigShowItem('f_reminder_amount')"
246
+ v-show="(formconfig && formconfig.f_reminder_amount && formconfig.f_reminder_amount.required) || !onlyshowmust"
247
+ :class="[$v.f_reminder_amount.required ? 'has-error' : '']" title="余额小于该值后,微信公众号或短信推送余额不足提醒">
248
+ <label for="f_reminder_amount" :style="{color: baseinfo.base.f_reminder_amount === null || baseinfo.base.f_reminder_amount === '' ? 'red' : null}" class="font_normal_body">{{getConfigLabelName('f_reminder_amount','提示金额')}}</label>
249
+ <input type="number" v-model="baseinfo.base.f_reminder_amount" class="input_search" style="width:60%"
250
+ v-validate:f_reminder_amount=getConfigValidate("f_reminder_amount",false)
251
+ :placeholder="getConfigPlaceholder('f_reminder_amount','提示金额')" @input="reminderAmountHandle">
252
+ </div>
253
+ </div>
254
+ <div class="row">
255
+ <div style="" class="col-sm-12 form-group" v-if="getConfigShowItem('f_comments')"
256
+ v-show="(formconfig && formconfig.f_comments && formconfig.f_comments.required) || !onlyshowmust"
257
+ :class="[$v.f_comments.required ? 'has-error' : '']">
258
+ <label for="f_paper_accoun" class="font_normal_body">&ensp;{{getConfigLabelName('f_comments','备注')}}</label>
259
+ <input class="input_search" style="width:86.5%;height: 40px" v-model="baseinfo.base.f_comments"
260
+ :placeholder="getConfigPlaceholder('f_comments','请输入备注信息')"
261
+ v-validate:f_comments=getConfigValidate("f_comments",false)>
262
+ </div>
263
+ </div>
264
+
265
+ <div class="row" style="margin-top: 2%;">
266
+ <a style="font-size: 16px;font-weight: 500;"
267
+ v-if="baseinfo.base.f_cost_type[0] === '银行代扣'">银行信息</a>
268
+ </div>
269
+ <div v-if="baseinfo.base.f_cost_type[0] === '银行代扣'">
270
+ <div class="row">
271
+ <div class="col-sm-4 form-group"
272
+ :class="[$v.f_bank_accopen.required ? 'has-error' : '']" v-if="getConfigShowItem('f_bank_accopen')">
273
+ <label for="f_username" class="font_normal_body">{{getConfigLabelName('f_bank_accopen','银行户名')}}</label>
274
+ <input type="text" v-model="baseinfo.bank.f_bank_accopen"
275
+ class="input_search" style="width:60%" id="f_username"
276
+ :placeholder="getConfigPlaceholder('f_bank_accopen','客户名称')"
277
+ v-validate:f_bank_accopen=getConfigValidate("f_bank_accopen",false)
278
+ v-next-el="bankaccount">
279
+ </div>
280
+ <div class="col-sm-4 form-group" id=userfiles-useEssInf-银行名称 v-if="getConfigShowItem('f_bank_name')"
281
+ :class="[$v.f_bank_name.required ? 'has-error' : '']">
282
+ <label for="f_username" class="font_normal_body ">{{getConfigLabelName('f_bank_name','银行名称')}}</label>
283
+ <input type="text" v-show="false" v-model="baseinfo.base.f_bank_name"
284
+ v-validate:f_bank_name=getConfigValidate("f_bank_name",false)>
285
+ <v-select :value.sync="baseinfo.bank.f_bank_name"
286
+ :options='banknames'
287
+ :placeholder="getConfigPlaceholder('f_bank_name','银行名称')"
288
+ close-on-select></v-select>
289
+ </div>
290
+ <div class="col-sm-4 form-group" v-if="getConfigShowItem('f_bank_pay_number')"
291
+ :class="[$v.f_bank_pay_number.required ? 'has-error' : '']">
292
+ <label for="f_bank_idnumber" class="font_normal_body">{{getConfigLabelName('f_bank_pay_number','缴费编号')}}</label>
293
+ <input type="text" v-model="baseinfo.bank.f_bank_pay_number"
294
+ class="input_search" style="width:60%"
295
+ v-validate:f_bank_pay_number=getConfigValidate("f_bank_pay_number",false)
296
+ :placeholder="getConfigPlaceholder('f_bank_pay_number','缴费编号')"
297
+ aria-describedby="helpBlock" v-el:bankpaynumber>
298
+ </div>
299
+ <div class="col-sm-12 form-group" v-if="getConfigShowItem('f_bank_idnumber')"
300
+ :class="[$v.f_bank_idnumber.required ? 'has-error' : '']">
301
+ <label for="f_bank_idnumber" class="font_normal_body">{{getConfigLabelName('f_bank_idnumber','身份证号')}}</label>
302
+ <input type="text" v-model="baseinfo.bank.f_bank_idnumber"
303
+ class="input_search" style="width:54%"
304
+ :placeholder="getConfigPlaceholder('f_bank_idnumber','身份证号')"
305
+ v-validate:f_bank_idnumber=getConfigValidate("f_bank_idnumber",false)
306
+ aria-describedby="helpBlock" v-el:bankidnumber>
307
+ </div>
308
+ <div class="col-sm-12 form-group"
309
+ :class="[$v.f_bank_account.required ? 'has-error' : '']" v-if="getConfigShowItem('f_bank_account')">
310
+ <label for="f_userid" class="font_normal_body">{{getConfigLabelName('f_bank_account','银行账号')}}</label>
311
+ <input type="text" v-model="baseinfo.bank.f_bank_account" class="input_search" style="width:54%"
312
+ v-validate:f_bank_account=getConfigValidate("f_bank_account",true) v-el:bankaccount
313
+ :placeholder="getConfigPlaceholder('f_bank_account','银行账号')"
314
+ v-next-el="bankidnumber">
315
+ </div>
316
+ </div>
317
+ </div>
318
+ </form>
319
+ </validator>
320
+ <modal v-if="showselectaddress" :show.sync="showselectaddress" width="50%" height="80%" title="地址信息" v-ref:modal large backdrop="false">
321
+ <article slot="modal-body" class="modal-body" style="height: 700px;padding: 0!important;">
322
+ <file-address-manage :is-select="isSelect" :fileinfo="addressinfo"
323
+ @address-valid="doNothing" :showselectaddress.sync="showselectaddress" v-ref:fileaddress ></file-address-manage>
324
+ </article>
325
+ <footer slot="modal-footer" class="modal-footer">
326
+ </footer>
327
+ </modal>
328
+ <file-user-phone :show.sync="showphone" :userphonelist="userphonelist" :f_userinfo_id="baseinfo.base.f_userinfo_id"></file-user-phone>
329
+ </div>
330
+ </template>
331
+
332
+ <script>
333
+ import {HttpResetClass} from 'vue-client'
334
+ import form from "vue-resource/src/http/interceptor/form";
335
+ // import HighMeter from '../../plugins/HighMeterPlugin'
336
+
337
+ let getEditUserState = async function (self) {
338
+ try {
339
+ let http = new HttpResetClass()
340
+ let result = await http.load('GET', `rs/vue/EditUserState.json`, {}, {resolveMsg: null, rejectMsg: null})
341
+ console.log(result.data.EditUserState)
342
+ self.edituserstate = result.data.EditUserState
343
+ Object.assign(self.config, result.data)
344
+ } catch (e) {
345
+ console.log(e)
346
+ }
347
+ }
348
+
349
+ export default {
350
+ title: '基本信息',
351
+ props: ['baseinfo', 'addressinfo', 'isedit', 'userphonelist', 'formconfig', 'onlyshowmust'],
352
+ data () {
353
+ return {
354
+ showselectaddress: false,
355
+ site: '',
356
+ config: {
357
+ f_idnumber: true
358
+ },
359
+ showphone: false,
360
+ areas: [],
361
+ streets: [],
362
+ residentials: [],
363
+ inputtores: this.$appdata.getParam('抄表员'),
364
+ credentials: this.$appdata.getParam('证件类型'),
365
+ costtypes: this.$appdata.getParam('缴费类型'),
366
+ banknames: this.$appdata.getParam('银行名称'),
367
+ userstates: this.$appdata.getParam('用户状态'),
368
+ mgq: this.$appdata.getParam('是否煤改气'),
369
+ peopleMax: this.$appdata.getSingleValue('最大人口数'),
370
+ pointsMax: this.$appdata.getSingleValue('最大用气点数量'),
371
+ costtype: this.$appdata.getParam('付款类型'),
372
+ usernature: this.$appdata.getParam('用户性质'),
373
+ userlevel: this.$appdata.getParam('用户等级'),
374
+ housetype: this.$appdata.getParam('房屋类型'),
375
+ jurisdiction: this.$login.r,
376
+ edituserstate: false,
377
+ // highMeterPlugin: {},
378
+ readCardFlag: true,
379
+
380
+ isSelect: false,
381
+ rules: {}
382
+ }
383
+ },
384
+ ready () {
385
+ getEditUserState(this)
386
+ this.$resetValidation()
387
+ // this.highMeterPlugin = new HighMeter(this,this.readIDCardCallback)
388
+ },
389
+ beforeDestroy () {
390
+ // this.highMeterPlugin.Stop()
391
+ },
392
+ methods: {
393
+ reminderAmountHandle (e) {
394
+ this.$emit('input', e.target.value)
395
+ e.target.value = (e.target.value.match(/^\d*(\.?\d{0,1})/g)[0]) || null
396
+ this.baseinfo.base.f_reminder_amount = parseInt(e.target.value, 10)
397
+ },
398
+ getConfigValidate (name, defaultVal) {
399
+ this.$resetValidation()
400
+ if (this.formconfig && this.formconfig[name]) {
401
+ let Validate = {}
402
+ if (this.formconfig[name].required) {
403
+ Object.assign(Validate, {required: true})
404
+ }
405
+ if (this.formconfig[name].minlength || this.formconfig[name].minlength === 0) {
406
+ Object.assign(Validate, {minlength: this.formconfig[name].minlength})
407
+ }
408
+ if (this.formconfig[name].maxlength) {
409
+ Object.assign(Validate, {maxlength: this.formconfig[name].maxlength})
410
+ }
411
+ return Validate
412
+ } else if (name === 'f_user_phone') {
413
+ return { minlength: 11, maxlength: 11 }
414
+ } else if (defaultVal) {
415
+ return {required: defaultVal}
416
+ }
417
+ return {}
418
+ },
419
+ getConfigShowItem (name,defaultVal = true) {
420
+ if (this.formconfig && this.formconfig[name] && this.formconfig[name].hasOwnProperty('showItem')) {
421
+ return this.formconfig[name].showItem
422
+ } else {
423
+ return defaultVal
424
+ }
425
+ },
426
+ getConfigLabelName (name, defaultVal) {
427
+ if (this.formconfig && this.formconfig[name] && this.formconfig[name].labelName) {
428
+ return this.formconfig[name].labelName
429
+ } else {
430
+ return defaultVal
431
+ }
432
+ },
433
+ getConfigPlaceholder (name, defaultVal) {
434
+ if (this.formconfig && this.formconfig[name] && this.formconfig[name].placeholder) {
435
+ return this.formconfig[name].placeholder
436
+ } else {
437
+ return defaultVal
438
+ }
439
+ },
440
+ selectaddress () {
441
+ this.showselectaddress = true
442
+ this.isSelect = true
443
+ },
444
+ modifyaddress () {
445
+ this.showselectaddress = true
446
+ this.isSelect = false
447
+ },
448
+ onValid (res) {
449
+ this.$dispatch('valid')
450
+ },
451
+ onInvalid (res) {
452
+ this.$dispatch('invalid')
453
+ },
454
+ doNothing () {
455
+ },
456
+ readIDCardCallback (compoent, msg) {
457
+ console.log('进入高拍仪', msg)
458
+ if (msg.err !== 0) {
459
+ return
460
+ }
461
+ // document.getElementById("idCardType").getElementsByClassName("btn-content")[0].innerHTML="身份证"
462
+ compoent.baseinfo.base.f_idnumber = msg.strID
463
+ compoent.baseinfo.base.f_user_name = msg.strName.trim()
464
+ // compoent.baseinfo.base.f_credentials=["身份证"]
465
+ },
466
+ phoneManage () {
467
+ this.showphone = true
468
+ console.log('查看用户备用电话信息', this.userphonelist)
469
+ }
470
+ },
471
+ watch: {
472
+ 'baseinfo.base.f_userinfo_id' (val) {
473
+ if(this.formconfig.f_reminder_amount!=null){
474
+ if (this.baseinfo.base.f_reminder_amount === null && this.formconfig.f_reminder_amount.required) {
475
+ this.$showAlert('当前用户还未设置余额提示金额,请在提示金额字段进行设置', 'warning', 3000)
476
+ }}
477
+ },
478
+ // 重置验证结果,当证件类型切换时,验证结果不能立即刷新,需要重置
479
+ 'baseinfo.base.f_credentials[0]' () {
480
+ console.log('验证器重置')
481
+ this.$resetValidation()
482
+ },
483
+ 'baseinfo.base.f_cost_type[0]' () {
484
+ console.log('验证器重置')
485
+ this.$resetValidation()
486
+ }
487
+ // 当选择销户,需要给其提醒是否进行销户
488
+ // 'baseinfo.base.f_user_state'(val) {
489
+ // // if (val[0] === '销户') {
490
+ // // this.$showMessage('是否要对该客户进行销户操作?', ['confirm', 'cancel']).then((res) => {
491
+ // // if (res !== 'confirm') {
492
+ // // this.baseinfo.base.f_user_state = ['正常']
493
+ // // }
494
+ // // })
495
+ // // }
496
+ // }
497
+ },
498
+ computed: {
499
+ peoplenums () {
500
+ let peopleMax = this.$appdata.getSingleValue('最大人口数') ? this.$appdata.getSingleValue('最大人口数') : 0
501
+ let nums = []
502
+ for (let i = 1; i <= peopleMax; i++) {
503
+ let temp = {}
504
+ temp.label = i
505
+ temp.value = i
506
+ nums.push(temp)
507
+ }
508
+ return nums
509
+ },
510
+ pointsnums () {
511
+ let pointsMax = this.$appdata.getSingleValue('最大用气点数量') ? this.$appdata.getSingleValue('最大用气点数量') : 10
512
+ let nums = []
513
+ for (let i = 1; i <= pointsMax; i++) {
514
+ let temp = {}
515
+ temp.label = i
516
+ temp.value = i
517
+ nums.push(temp)
518
+ }
519
+ return nums
520
+ }
521
+ },
522
+ events: {
523
+ 'confirmaddress' (res) {
524
+ console.log('选定地址', res)
525
+ this.showselectaddress = false
526
+ this.addressinfo.f_address = res.f_address
527
+ this.addressinfo.id = res.id
528
+ this.$dispatch('defaultOtheret', res)
529
+ }
530
+ }
531
+ }
532
+ </script>
533
+ <style scoped lang="less">
534
+ // 两个字符占用4个字符距离
535
+ .w2 {
536
+ letter-spacing:2em; /*如果需要y个字两端对齐,则为(x-y)/(y-1),这里是(4-2)/(2-1)=2em */
537
+ margin-right:-2em; /*同上*/
538
+ }
539
+ // 三个字符占用4个字符距离
540
+ .w3 {
541
+ letter-spacing: 0.5em;
542
+ margin-right: -0.5em
543
+ }
544
+
545
+ #UserEssential{
546
+ // 去掉number类型输入框的上下箭头
547
+ input[type="number"] {
548
+ &::-webkit-inner-spin-button,
549
+ &::-webkit-outer-spin-button {
550
+ -webkit-appearance: none;
551
+ margin: 0;
552
+ }
553
+
554
+ & {
555
+ -moz-appearance: textfield;
556
+ }
557
+ }
558
+ #addboxmap {
559
+ height: 300px;
560
+ }
561
+ .glyphicon-map-marker:hover {
562
+ color: red;
563
+ }
564
+ .glyphicon-map-marker {
565
+ color: blue;
566
+ cursor: pointer;
567
+ }
568
+ .scrollbar() {
569
+ .font_normal_body {
570
+ width: 73px;
571
+ overflow: auto;
572
+ white-space: nowrap;
573
+ // 指滚动条两边的按钮
574
+ &::-webkit-scrollbar-button {
575
+ display: none;
576
+ }
577
+ // 滚动条的宽度
578
+ &::-webkit-scrollbar {
579
+ width: 5px !important;
580
+ height: 5px !important;
581
+ }
582
+ // 滚动条的设置
583
+ &::-webkit-scrollbar-thumb {
584
+ background-color: #ddd;
585
+ background-clip: padding-box;
586
+ }
587
+ &::-webkit-scrollbar-thumb:hover {
588
+ background-color: #bbb;
589
+ }
590
+ &::-webkit-scrollbar-track {
591
+ /*滚动条里面轨道*/
592
+ box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.2);
593
+ background: #ededed;
594
+ }
595
+ }
596
+ }
597
+
598
+ .col-sm-4 ,.col-sm-12 ,.col-sm-8{
599
+ .scrollbar();
600
+ }
601
+ }
602
+ </style>
@@ -17,4 +17,9 @@ export default function () {
17
17
  Vue.component('file-user-files', (resolve) => { require(['./FileUserFiles'], resolve) })
18
18
  // 其他收费欠费收缴
19
19
  Vue.component('other-charge-bypay', (resolve) => { require(['./OtherChargeByPay'], resolve) })
20
+ // 单个表具信息
21
+ Vue.component('file-meter-info', (resolve) => { require(['./MeterinfoTest'], resolve) })
22
+ // 用户基本信息test
23
+ Vue.component('file-user-essential-info', (resolve) => { require(['./UserEssentialInfoTest'], resolve) })
24
+ Vue.component('cards-hand', (resolve) => { require(['./cardsHand'], resolve) })
20
25
  }
@@ -455,7 +455,7 @@
455
455
  </div>
456
456
  <div class="col-sm-4 form-group" :class="[$m.inputtor.required ? 'has-error' : '']">
457
457
  <label class="font_normal_body" style="width: auto;letter-spacing: 0.5em;margin-right: -0.5em;margin-left: -0.5em">&ensp;{{getConfigLabelName('f_inputtor','抄表员')}}</label>
458
- <input type="text" v-model="$refs.inputtor.selectedItems" v-show="false" v-validate:inputtor='{required: true }'>
458
+ <input type="text" v-model="$refs.inputtor.selectedItems" v-show="false" v-validate:inputtor=getConfigValidate("f_inputtor",false)>
459
459
  <v-select :value.sync="row.f_inputtor" v-model='row.f_inputtor'
460
460
  style="width:60%"
461
461
  :options='inputtores' placeholder='抄表员'