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,243 @@
1
+ <template >
2
+ <div class="flex" style="justify-content: space-between;">
3
+ <div @keyup.enter="search" style="">
4
+ <criteria-paged :model="model" v-ref:paged>
5
+ <criteria @condition-changed='$parent.search' partial='criteria' v-ref:criteria>
6
+ <div class="form-horizontal select-overspread container-fluid auto" novalidate partial>
7
+ <!--<div class="row" width="100%">-->
8
+ <!--<div class="col-sm-4" >-->
9
+ <!--<label class="font_normal_body" >&nbsp;开始时间</label>-->
10
+ <!--<datepicker placeholder="起始时间" style="width:60%"-->
11
+ <!--:value.sync="model.f_start_date"-->
12
+ <!--v-model="model.f_start_date"-->
13
+ <!--:format="'yyyy-MM-dd'"-->
14
+ <!--condition="f_operate_date >= '{} 00:00:00' "-->
15
+ <!--&gt;</datepicker>-->
16
+ <!--</div>-->
17
+ <!--<div class="col-sm-4" >-->
18
+ <!--<label class="font_normal_body" >结束时间</label>-->
19
+ <!--<datepicker placeholder="结束时间" style="width:60%"-->
20
+ <!--:value.sync="model.f_end_date"-->
21
+ <!--v-model="model.f_end_date"-->
22
+ <!--:format="'yyyy-MM-dd'"-->
23
+ <!--condition="f_operate_date <= '{} 23:59:59' "-->
24
+ <!--&gt;</datepicker>-->
25
+ <!--</div>-->
26
+ <!--<div class="span" style="float:right;">-->
27
+ <!--<button class="button_search" @click="search()" v-el:cba>查询</button>-->
28
+ <!--&lt;!&ndash;<print-data :model="$parent.$parent.printModel" :field="$parent.$parent.fields" :defaultfield="$parent.$parent.defaultfield" print-name="购气流水"&ndash;&gt;-->
29
+ <!--&lt;!&ndash;:is-selected="true" @print-data="$parent.$parent.print()"></print-data>&ndash;&gt;-->
30
+ <!--</div>-->
31
+ <!--</div>-->
32
+ <div style="float: right">
33
+ <export-excel :data="$parent.$parent.getCondition" :footer="$parent.$parent.footer"
34
+ :field="$parent.$parent.fields" :header="$parent.$parent.other"
35
+ sqlurl="api/af-revenue/logic/saleExport"
36
+ :sql-name="'sale_priceChangeQuery'"
37
+ template-name='价格调整查询导出'
38
+ :choose-col="true"></export-excel>
39
+ </div>
40
+ </div>
41
+
42
+
43
+ </criteria>
44
+ <data-grid :model="model" class="list_area table_sy" partial='list' v-ref:grid>
45
+ <template partial='head'>
46
+ <tr>
47
+ <!--<th style="padding: 0;border: 0">-->
48
+ <!--<input type="checkbox" id="f_operator" v-model="$parent.$parent.$parent.all[$parent.model.pageIndex-1]"-->
49
+ <!--@change="$parent.$parent.$parent.select()" style="width: 22px;height: 22px"/>-->
50
+ <!--</th>-->
51
+ <th><nobr>新气价信息</nobr></th>
52
+ <th><nobr>旧气价信息</nobr></th>
53
+ <th><nobr>生效时间</nobr></th>
54
+ <th><nobr>操作时间</nobr></th>
55
+ <th><nobr>操作人</nobr></th>
56
+ <th><nobr>变更原因</nobr></th>
57
+ </tr>
58
+ </template>
59
+ <template partial='body' partial='list' v-ref:grid>
60
+ <tr >
61
+ <!--<td style="text-align: center;padding: 0;border: 0">-->
62
+ <!--<input type='checkbox' @change="$parent.$parent.$parent.selectOne($event,row,$index)"-->
63
+ <!--:checked="$parent.$parent.$parent.ischecked($parent.model.pageIndex-1,$index)" style="width: 22px;height: 22px;"/>-->
64
+ <!--</td>-->
65
+ <td style="text-align:center"><nobr>{{row.newprice}}</nobr></td>
66
+ <td style="text-align:center"><nobr>{{row.oldprice}}</nobr></td>
67
+ <td style="text-align:center"><nobr>{{row.f_perform_date}}</nobr></td>
68
+ <td style="text-align:center"><nobr>{{row.f_operate_date}}</nobr></td>
69
+ <td style="text-align:center"><nobr>{{row.f_operator}}</nobr></td>
70
+ <td style="text-align:center"><nobr>{{row.f_change_reason}}</nobr></td>
71
+ </tr>
72
+ </template>
73
+ <template partial='foot'></template>
74
+ </data-grid>
75
+ </criteria-paged>
76
+ </div>
77
+ </div>
78
+ </template>
79
+
80
+ <script>
81
+ import {PagedList} from 'vue-client'
82
+ import co from 'co'
83
+ export default {
84
+ title: '气价变更',
85
+ data () {
86
+ return {
87
+ condition: '1=1',
88
+ model: new PagedList('api/af-revenue/sql/sale_priceChangeQuery', 20, {}),
89
+ // 控制单选
90
+ radio: [],
91
+ // 选中的页
92
+ all: [],
93
+ // row数据
94
+ rowsdata: [],
95
+ fields: {
96
+ 'newprice': '新气价信息',
97
+ 'oldprice': '旧气价信息',
98
+ 'f_perform_date': '生效时间',
99
+ 'f_operate_date': '操作时间',
100
+ 'f_operator': '操作人',
101
+ 'f_change_reason': '变更原因'
102
+ },
103
+ defaultfield: [
104
+ 'f_preamount', 'f_pregas', 'f_operate_date', 'f_operator', 'f_comments'
105
+ ],
106
+ other: [],
107
+ footer: [],
108
+ // 合计数据
109
+ sumsmodel: {}
110
+ }
111
+ },
112
+ props: ['row'],
113
+ ready () {
114
+ this.$refs.paged.$refs.criteria.search()
115
+ },
116
+ methods: {
117
+ getotherfooter () {
118
+ // this.$refs.paged.$refs.cri.$refs.exports.otherData=[];
119
+ // this.$refs.paged.$refs.cri.$refs.exports.footerData=[];
120
+ this.other = []
121
+ this.footer = []
122
+ // let exportdata = this.getCondition;
123
+ let otherInData = []
124
+ otherInData.push(`导出时间: ${this.$login.toStandardTimeString()}`)
125
+ let footerData = [], exportfield = this.fields
126
+ footerData.push('合计')
127
+ let self = this
128
+ for (var field in self.sumsmodel) {
129
+ footerData.push(`${exportfield[field]}合计:${self.sumsmodel[field]}`)
130
+ }
131
+ this.footer.push(footerData)
132
+ this.other.push(otherInData)
133
+ },
134
+ search () {
135
+ this.condition = `${this.$refs.paged.$refs.criteria.condition} and f_userinfo_id = '${this.row.f_userinfo_id}'`
136
+ this.model.search(this.condition, this.model)
137
+ },
138
+ // 多选框初始化
139
+ selectInit () {
140
+ this.rowsdata = []
141
+ this.all = []
142
+ this.radio = []
143
+ },
144
+ select () {
145
+ let index = this.model.pageIndex - 1
146
+ if (!this.radio[index]) {
147
+ this.radio.$set(index, [])
148
+ }
149
+ if (this.all[index]) {
150
+ // 数据
151
+ this.rowsdata[index] = Object.assign([], this.model.rows)
152
+ // 勾选
153
+ for (var i = 0; i < this.model.rows.length; i++) {
154
+ this.radio[index].$set(i, true)
155
+ }
156
+ } else {
157
+ // 数据
158
+ this.rowsdata[index] = []
159
+ // 不勾选
160
+ for (var i = 0; i < this.model.rows.length; i++) {
161
+ this.radio[index].$set(i, false)
162
+ }
163
+ }
164
+ let z = 0
165
+ for (let i = 0; i < this.all.length; i++) {
166
+ for (let j = 0; this.rowsdata[i] && j < this.rowsdata[i].length; j++) {
167
+ this.printModel.rows[z++] = this.rowsdata[i][j]
168
+ }
169
+ }
170
+ },
171
+ selectOne (event, row, i) {
172
+ let index = this.model.pageIndex - 1
173
+ if (!this.rowsdata[index]) {
174
+ this.rowsdata[index] = []
175
+ }
176
+ if (!this.radio[index]) {
177
+ this.radio.$set(index, [])
178
+ }
179
+ if (event.target.checked) {
180
+ // 数据
181
+ this.rowsdata[index][i] = row
182
+ // 勾选
183
+ this.radio[index].$set(i, true)
184
+ // 判断是否全部选中
185
+ var allState = true
186
+ if (this.model.rows.length != this.radio[index].length) {
187
+ allState = false
188
+ }
189
+ for (var state of this.radio[index]) {
190
+ if (!state) {
191
+ allState = false
192
+ }
193
+ }
194
+ if (allState) {
195
+ this.all.$set(index, true)
196
+ } else {
197
+ this.all.$set(index, false)
198
+ }
199
+ } else {
200
+ // 数据
201
+ this.rowsdata[index][i] = []
202
+ // 不勾选
203
+ this.radio[index].$set(i, false)
204
+ // 任意取消一个则全选状态设为false
205
+ this.all.$set(index, false)
206
+ }
207
+ let z = 0
208
+ this.printModel.rows = []
209
+ for (let i = 0; i < this.all.length; i++) {
210
+ for (let j = 0; this.rowsdata[i] && j < this.rowsdata[i].length; j++) {
211
+ if (this.rowsdata[i][j] && this.rowsdata[i][j].f_user_id) {
212
+ this.printModel.rows[z++] = this.rowsdata[i][j]
213
+ }
214
+ }
215
+ }
216
+ }
217
+ },
218
+ computed: {
219
+ ischecked () {
220
+ return function (index, i) {
221
+ if (!this.radio[index]) {
222
+ return false
223
+ }
224
+ return this.radio[index][i]
225
+ }
226
+ },
227
+ getCondition () {
228
+ return {
229
+ condition: this.condition
230
+ }
231
+ }
232
+ },
233
+ watch: {
234
+ sumsmodel: {
235
+ handler: function (val) {
236
+ this.getotherfooter()
237
+ },
238
+ deep: true
239
+ }
240
+ }
241
+ }
242
+ </script>
243
+
@@ -0,0 +1,436 @@
1
+ <template>
2
+ <div @keyup.enter="search" class="span">
3
+ <criteria-paged :model="model" class="list_area table_sy" v-ref:paged>
4
+ <criteria @condition-changed='$parent.search' partial='criteria' v-ref:criteria>
5
+ <div class="form-horizontal select-overspread container-fluid auto" novalidate partial>
6
+ <div class="row">
7
+
8
+ <div class="col-sm-2 form-group">
9
+ <label class="font_normal_body">指令类型</label>
10
+ <v-select :options='$parent.$parent.instructType' :value.sync="model.f_instruct_type"
11
+ close-on-select
12
+ condition="f_instruct_type='{}'"
13
+ placeholder='指令类型'
14
+ style="width: 60%"
15
+ v-model="model.f_instruct_type"></v-select>
16
+ </div>
17
+ <div class="col-sm-2 form-group">
18
+ <label class="font_normal_body">指令状态</label>
19
+ <v-select :options='$parent.$parent.instructState' :value.sync="model.f_instruct_state"
20
+ close-on-select
21
+ condition="f_instruct_state='{}'"
22
+ placeholder='指令状态'
23
+ style="width: 60%"
24
+ v-model="model.f_instruct_state"
25
+ ></v-select>
26
+ </div>
27
+
28
+ <div class="col-sm-2 form-group">
29
+ <label class="font_normal_body">开始时间</label>
30
+ <datepicker :format="'yyyy-MM-dd HH:mm:ss'"
31
+ :value.sync="model.f_start_date"
32
+ class="datepicker"
33
+ condition="f_instruct_date > '{}'"
34
+ placeholder="起始时间"
35
+ style="width: 60%"
36
+ v-model="model.f_start_date"
37
+ ></datepicker>
38
+ </div>
39
+ <div class="col-sm-2 form-group">
40
+ <label class="font_normal_body">结束时间</label>
41
+ <datepicker :format="'yyyy-MM-dd HH:mm:ss'"
42
+ :value.sync="model.f_end_date"
43
+ class="datepicker"
44
+ condition="f_instruct_date < '{}'"
45
+ placeholder="结束时间"
46
+ style="width: 60%"
47
+ v-model="model.f_end_date"
48
+ ></datepicker>
49
+ </div>
50
+ <div style="float: right">
51
+ <button @click="search()" class="button_search" v-el:cba>查询</button>
52
+ <export-excel :data="$parent.$parent.getCondition" :footer="$parent.$parent.footer"
53
+ :field="$parent.$parent.fields" :header="$parent.$parent.other"
54
+ sqlurl="api/af-revenue/logic/saleExport"
55
+ :sql-name="'insturctDetailQuery'"
56
+ template-name='指令查询导出'
57
+ :choose-col="true"></export-excel>
58
+ </div>
59
+ </div>
60
+
61
+ </div>
62
+ </criteria>
63
+ <data-grid :model="model" class="list_area table_sy" partial='list' v-ref:grid>
64
+ <template partial='head'>
65
+ <tr>
66
+ <th style="text-align:center;">
67
+ <nobr>指令类型</nobr>
68
+ </th>
69
+ <th style="text-align:center;">
70
+ <nobr>指令内容</nobr>
71
+ </th>
72
+ <th style="text-align:center;">
73
+ <nobr>指令状态</nobr>
74
+ </th>
75
+ <th style="text-align:center;">
76
+ <nobr>指令生成时间</nobr>
77
+ </th>
78
+ <th style="text-align:center;">
79
+ <nobr>指令发送时间</nobr>
80
+ </th>
81
+ <th style="text-align:center;">
82
+ <nobr>指令上表时间</nobr>
83
+ </th>
84
+ <th style="text-align:center;">
85
+ <nobr>操作人</nobr>
86
+ </th>
87
+ <th style="text-align:center;">
88
+ <nobr>操作时间(记录)</nobr>
89
+ </th>
90
+ <th style="text-align:center;">
91
+ <nobr>操作类型</nobr>
92
+ </th>
93
+ <!-- 查这里-->
94
+ <th style="text-align:center;">
95
+ <nobr>操作状态</nobr>
96
+ </th>
97
+ <th style="text-align:center;">
98
+ <nobr>操作人(记录)</nobr>
99
+ </th>
100
+ <th style="text-align:center;">
101
+ <nobr>操作内容</nobr>
102
+ </th>
103
+ <th style="text-align:center;">
104
+ <nobr>操作/指令状态</nobr>
105
+ </th>
106
+ <!--<th style="text-align:center;"><nobr>发送原因</nobr></th>
107
+ <th style="text-align:center;"><nobr>取消原因</nobr></th>-->
108
+ <th style="text-align:center;">
109
+ <nobr>备注信息</nobr>
110
+ </th>
111
+ <th style="text-align:center;" v-if="['HaiLiSystem','BoGuanSystem'].includes( $parent.$parent.$parent.row.f_alias)">
112
+ <!-- <th style="text-align:center;">-->
113
+ <nobr>写卡操作</nobr>
114
+ </th>
115
+ </tr>
116
+ </template>
117
+ <template partial='body'>
118
+ <tr>
119
+ <td style="text-align:center;">
120
+ <nobr>{{row.f_instruct_type}}</nobr>
121
+ </td>
122
+ <td style="text-align:center;">
123
+ <nobr>{{row.f_instruct_title}}</nobr>
124
+ </td>
125
+ <td style="text-align:center;">
126
+ <nobr>{{row.f_instruct_state}}</nobr>
127
+ </td>
128
+ <td style="text-align:center;">
129
+ <nobr>{{row.f_instruct_date}}</nobr>
130
+ </td>
131
+ <td style="text-align:center;">
132
+ <nobr>{{row.f_send_date}}</nobr>
133
+ </td>
134
+ <td style="text-align:center;">
135
+ <nobr>{{row.f_callback_date}}</nobr>
136
+ </td>
137
+ <td style="text-align:center;">
138
+ <nobr>{{row.f_inputtor}}</nobr>
139
+ </td>
140
+ <td style="text-align:center;">
141
+ <nobr>{{row.f_operate_date}}</nobr>
142
+ </td>
143
+ <td style="text-align:center;">
144
+ <nobr>{{row.f_type}}</nobr>
145
+ </td>
146
+ <!-- 这里-->
147
+ <td style="text-align:center;">
148
+ <nobr>{{$parent.$parent.$parent.stateFlow(row)}}</nobr>
149
+ <!-- <nobr>{{row.f_state}}</nobr>-->
150
+ </td>
151
+ <td style="text-align:center;">
152
+ <nobr>{{row.f_operator}}</nobr>
153
+ </td>
154
+ <td style="text-align:center;">
155
+ <nobr>{{row.f_operator_data}}</nobr>
156
+ </td>
157
+ <td style="text-align:center;" v-if="row.f_instruct_state === '待发送' && row.f_instruct_state !== '取消发送'">
158
+ <nobr>
159
+ {{row.f_instruct_state}}
160
+ <button v-if="$login.r.includes('取消指令')" @click="$parent.$parent.$parent.backSend(row)" class="button_search" style="margin-left:1rem" v-el:cba>取消指令</button>
161
+ </nobr>
162
+ </td>
163
+ <td style="text-align:center;" v-if="row.f_alias === 'MeiHua' && row.f_instruct_state !== '取消发送'">
164
+ <nobr>
165
+ <button v-if="$login.r.includes('撤销指令')" @click="$parent.$parent.$parent.backSend2(row)" class="button_search" style="margin-left:1rem" v-el:cba>撤销指令</button>
166
+ </nobr>
167
+ </td>
168
+ <td style="text-align:center;" v-if="row.f_instruct_state !== '待发送' && row.f_instruct_state !== '取消发送'">
169
+ <nobr>
170
+ {{row.f_receive_state}}
171
+
172
+ <button v-if="$login.r.includes('指令重发')" @click="$parent.$parent.$parent.reSend(row)" class="button_search" style="margin-left:1rem" v-el:cba>指令重发</button>
173
+ </nobr>
174
+ </td>
175
+ <td style="text-align:center;" v-if="row.f_instruct_state === '取消发送'">
176
+ <nobr>
177
+ <span title="操作人:{{row.f_cancel_inputtor}},操作原因:{{row.f_comments}}">已取消</span>
178
+ </nobr>
179
+ </td>
180
+ <!-- <td style="text-align:center;"><nobr>{{row.f_info}}</nobr></td>
181
+ <td style="text-align:center;"><nobr>{{row.f_comments}}</nobr></td>-->
182
+ <td style="text-align:center;">
183
+ <nobr><span >{{row.f_info}}</span></nobr>
184
+ </td>
185
+ <th style="text-align:center;" v-if="['HaiLiSystem','BoGuanSystem'].includes( $parent.$parent.$parent.row.f_alias)">
186
+ <!-- <th style="text-align:center;">-->
187
+ <button @click.stop='$parent.$parent.$parent.instructWriteCard(row)'
188
+ class="button_search" type="button"
189
+ v-show="row.f_instruct_type === '远程充值'">写卡</button>
190
+ </th>
191
+ </tr>
192
+ </template>
193
+ </data-grid>
194
+ </criteria-paged>
195
+ <modal :show.sync="handcental" backdrop="false" v-ref:modal>
196
+ <header class="modal-header" slot="modal-header">
197
+ <h4 class="modal-title">取消发送</h4>
198
+ </header>
199
+ <article class="modal-body" slot="modal-body">
200
+ <div class="form-group">
201
+ <label class="font_normal_body" >取消发送原因</label>
202
+ <textarea class="form-control" placeholder="请填写取消发送原因" rows="3" v-model="cancelreason"></textarea>
203
+ </div>
204
+ </article>
205
+ <footer class="modal-footer" slot="modal-footer">
206
+ <button @click='close' class="btn btn-default" type="button" v-show="handcental">取消</button>
207
+ <button @click='confirmcenta()' class="button_search" type="button" v-show="handcental">确认</button>
208
+ </footer>
209
+ </modal>
210
+ <modal :show.sync="handcental2" backdrop="false" v-ref:modal>
211
+ <header class="modal-header" slot="modal-header">
212
+ <h4 class="modal-title">撤销发送</h4>
213
+ </header>
214
+ <article class="modal-body" slot="modal-body">
215
+ <div class="form-group">
216
+ <label class="font_normal_body" >撤销发送原因</label>
217
+ <textarea class="form-control" placeholder="请填写撤销发送原因" rows="3" v-model="cancelreason"></textarea>
218
+ </div>
219
+ </article>
220
+ <footer class="modal-footer" slot="modal-footer">
221
+ <button @click='close' class="btn btn-default" type="button" v-show="handcental2">取消</button>
222
+ <button @click='confirmcenta2()' class="button_search" type="button" v-show="handcental2">确认</button>
223
+ </footer>
224
+ </modal>
225
+ </div>
226
+
227
+ </template>
228
+ <script>
229
+ import {HttpResetClass, PagedList} from 'vue-client'
230
+ import Vue from 'vue'
231
+
232
+ export default {
233
+ title: '指令查看',
234
+ name: 'Querylnstruct',
235
+ props: {
236
+ row: {},
237
+ tablename: {
238
+ type: String,
239
+ default: 't_instruct'
240
+ },
241
+ orderitem: {
242
+ type: String,
243
+ default: 'f_instruct_date desc'
244
+ },
245
+ items: {
246
+ type: String,
247
+ default: '*'
248
+ }
249
+ },
250
+ data () {
251
+ return {
252
+ handcental: false,
253
+ handcental2: false,
254
+ cancelreason: '',
255
+ cancelid: '',
256
+ f_userfiles_id: '',
257
+ model: new PagedList('api/af-revenue/sql/insturctDetailQuery', 30, {f_userfiles_id: this.row.f_userfiles_id}),
258
+ row: null,
259
+ searchshow: false,
260
+ show: false,
261
+ maxId: '',
262
+ fields: {
263
+ 'f_instruct_type': '指令类型',
264
+ 'f_instruct_title': '指令内容',
265
+ 'f_instruct_state': '指令状态',
266
+ 'f_instruct_date': '指令生成时间',
267
+ 'f_send_date': '指令发送时间',
268
+ 'f_callback_date': '指令上表时间',
269
+ 'f_inputtor': '操作人',
270
+ 'f_operate_date': '操作时间',
271
+ 'f_type': '操作类型',
272
+ 'f_state': '操作状态',
273
+ 'f_operator': '操作人',
274
+ 'f_operator_data': '操作内容',
275
+ 'f_receive_state': '指令状态',
276
+ 'f_info': '备注信息'
277
+ }
278
+ }
279
+ },
280
+
281
+ async ready () {
282
+ console.log(this.$login.r)
283
+ await this.$refs.paged.$refs.criteria.search()
284
+ // if (this.row.f_meter_brand === '承德NB物联网表') {
285
+ // // if (true) {
286
+ // let http = new HttpResetClass()
287
+ // let getMax = await http.load('POST', 'api/af-revenue/sql/querySingleTable', {data: {items: 'max(id) id',
288
+ // tablename: 't_instruct',
289
+ // condition: ` f_userfiles_id='${this.row.f_userfiles_id}' `
290
+ // }}, {resolveMsg: null, rejectMsg: null})
291
+ // this.maxId = getMax.data[0].id
292
+ // }
293
+ },
294
+ watch: {
295
+ 'row' (val) {
296
+ this.f_userfiles_id = val.f_userfiles_id
297
+ if (this.row != null) {
298
+ this.$refs.paged.$refs.criteria.search()
299
+ }
300
+ },
301
+ sumsmodel: {
302
+ handler: function (val) {
303
+ this.getotherfooter()
304
+ },
305
+ deep: true
306
+ }
307
+ },
308
+ methods: {
309
+ getotherfooter () {
310
+ // this.$refs.paged.$refs.cri.$refs.exports.otherData=[];
311
+ // this.$refs.paged.$refs.cri.$refs.exports.footerData=[];
312
+ this.other = []
313
+ this.footer = []
314
+ // let exportdata = this.getCondition;
315
+ let otherInData = []
316
+ otherInData.push(`导出时间: ${this.$login.toStandardTimeString()}`)
317
+ let footerData = [], exportfield = this.fields
318
+ footerData.push('合计')
319
+ let self = this
320
+ for (var field in self.sumsmodel) {
321
+ footerData.push(`${exportfield[field]}合计:${self.sumsmodel[field]}`)
322
+ }
323
+ this.footer.push(footerData)
324
+ this.other.push(otherInData)
325
+ },
326
+ async instructWriteCard (row) {
327
+ let res = await this.$CardService.instructWriteCard(this.row)
328
+ if (res) {
329
+ let sql = `update t_instruct set f_instruct_state = '执行成功' WHERE id = ${row.id}`
330
+ await this.$resetpost('api/af-revenue/logic/runSQL', {sql: sql}, {resolveMsg: '操作成功', rejectMsg: '操作失败'})
331
+ await this.$refs.paged.$refs.criteria.search()
332
+ }
333
+ },
334
+ async reSend (row) {
335
+ let sql = `update t_instruct set f_instruct_state = '待发送' WHERE id = ${row.id}`
336
+ await this.$resetpost('api/af-revenue/logic/runSQL', {sql: sql}, {resolveMsg: '操作成功', rejectMsg: '操作失败'})
337
+ this.$refs.paged.$refs.criteria.search()
338
+ },
339
+ stateFlow: function (row) {
340
+ console.log(row)
341
+ let state = ''
342
+ if (row.f_instruct_type.includes('阀门控制')) {
343
+ let content = JSON.parse(row.f_instruct_content)
344
+ if (content.isOpen !== null) {
345
+ if (content.isOpen === 1) {
346
+ state = '开阀'
347
+ } else if (content.isOpen === 0) {
348
+ state = '关阀'
349
+ } else {
350
+ state = row.f_state
351
+ }
352
+ return state
353
+ }
354
+ } else {
355
+ return row.f_state
356
+ }
357
+ },
358
+ clickshow () {
359
+ this.searchshow = !this.searchshow
360
+ },
361
+ close () {
362
+ this.handcental = false
363
+ this.handcental2 = false
364
+ this.$refs.paged.$refs.criteria.search()
365
+ },
366
+ backSend (megrow) {
367
+ if (megrow.f_inputtor != '系统必需') {
368
+ this.handcental = true
369
+ this.cancelid = megrow.id
370
+ } else {
371
+ this.$showAlert('该指令为系统必需状态,无法取消发送。', 'warning', 3000)
372
+ }
373
+ },
374
+ backSend2 (megrow) {
375
+ this.handcental2 = true
376
+ this.cancelid = megrow.id
377
+ },
378
+ confirmcenta () {
379
+ let send = {
380
+ id: this.cancelid, // 当前记录ID
381
+ f_cancel_inputtor_id: this.$login.f.id, // 撤销人id
382
+ f_cancel_inputtor: this.$login.f.name, // 撤销人姓名
383
+ f_instruct_state: '取消发送',
384
+ f_comments: this.cancelreason
385
+ }
386
+ let param = {
387
+ tablename: 't_instruct',
388
+ basedata: send
389
+ }
390
+ this.$resetpost('api/af-revenue/logic/iot_saveTable', param).then(() => {
391
+ // this.params.rows.splice(index, 1)
392
+ console.log('更新成功!')
393
+ })
394
+ this.handcental = false
395
+ this.$refs.paged.$refs.criteria.search()
396
+ },
397
+ confirmcenta2 () {
398
+ let send = {
399
+ id: this.cancelid, // 当前记录ID
400
+ f_cancel_inputtor_id: this.$login.f.id, // 撤销人id
401
+ f_cancel_inputtor: this.$login.f.name, // 撤销人姓名
402
+ f_comments: this.cancelreason
403
+ }
404
+ this.$resetpost('api/af-iot/logic/openapi/cancelSendInstruct', send).then(() => {
405
+ // this.params.rows.splice(index, 1)
406
+ console.log('撤销成功!')
407
+ })
408
+ this.handcental2 = false
409
+ this.$refs.paged.$refs.criteria.search()
410
+ },
411
+ search (arg) {
412
+ arg.condition = `${arg.condition} and f_userfiles_id='${this.row.f_userfiles_id}'`
413
+ this.model.search(arg.condition, arg.model)
414
+ }
415
+ },
416
+ computed: {
417
+ instructType () {
418
+ return [{label: '全部', value: ''}, ...this.$appdata.getParam('指令类型')]
419
+ },
420
+ instructState () {
421
+ return [{label: '全部', value: ''}, ...this.$appdata.getParam('指令状态')]
422
+ },
423
+ getCondition () {
424
+ return {
425
+ condition: this.condition
426
+ }
427
+ }
428
+ }
429
+ }
430
+ </script>
431
+ <style>
432
+ .form-input-group label {
433
+ text-align: right;
434
+ width: auto;
435
+ }
436
+ </style>