sale-client 3.6.343 → 3.6.345
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.
- package/.gradle/8.5/checksums/checksums.lock +0 -0
- package/.gradle/8.5/dependencies-accessors/dependencies-accessors.lock +0 -0
- package/.gradle/8.5/dependencies-accessors/gc.properties +0 -0
- package/.gradle/8.5/executionHistory/executionHistory.bin +0 -0
- package/.gradle/8.5/executionHistory/executionHistory.lock +0 -0
- package/.gradle/8.5/fileChanges/last-build.bin +0 -0
- package/.gradle/8.5/fileHashes/fileHashes.bin +0 -0
- package/.gradle/8.5/fileHashes/fileHashes.lock +0 -0
- package/.gradle/8.5/gc.properties +0 -0
- package/.gradle/buildOutputCleanup/buildOutputCleanup.lock +0 -0
- package/.gradle/buildOutputCleanup/cache.properties +1 -1
- package/.gradle/file-system.probe +0 -0
- package/build/dev-server.js +1 -1
- package/package.json +1 -1
- package/src/components/common/userinfo_detail/ic_detail/HandQueryUser.vue +1 -1
- package/src/components/revenue/base/leftview/otherinfo.vue +3 -3
- package/src/filiale/qingjian/SafeCheck.vue +339 -0
- package/src/filiale/qingjian/sale.js +2 -0
- package/src/filiale/rizhao/UserInfoDetailManageNew.vue +218 -0
- package/src/filiale/rizhao/sale.js +2 -1
- package/src/filiale/yangchun/ChangeMeter.vue +94 -7
- package/src/main.js +1 -1
- package/src/sale.js +2 -0
|
Binary file
|
|
Binary file
|
|
File without changes
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
File without changes
|
|
Binary file
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
#
|
|
1
|
+
#Fri Jul 26 10:19:09 CST 2024
|
|
2
2
|
gradle.version=5.2.1
|
|
Binary file
|
package/build/dev-server.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
var path = require('path')
|
|
2
2
|
var checkVersion = require('./versionCheck.js')
|
|
3
3
|
checkVersion()
|
|
4
|
-
const [ serverRul, localUrl, v4Url ] = ['http://192.168.50.4:8400/', 'http://
|
|
4
|
+
const [ serverRul, localUrl, v4Url ] = ['http://192.168.50.4:8400/', 'http://localhost:8080/', 'http://192.168.50.67:31785']
|
|
5
5
|
var merge = require('webpack-merge')
|
|
6
6
|
var baseConfig = require('./webpack.dev.conf')
|
|
7
7
|
var devConfig = {
|
package/package.json
CHANGED
|
@@ -52,7 +52,7 @@
|
|
|
52
52
|
|
|
53
53
|
<div style="float: right">
|
|
54
54
|
<button @click="search()" class="button_search" style="margin-right: 10px" v-el:cba>查询</button>
|
|
55
|
-
<print-data :defaultfield="$parent.$parent.defaultfield" :field="$parent.$parent.fields" :model="$parent.$parent.printModel"
|
|
55
|
+
<print-data :defaultfield="$parent.$parent.defaultfield" :field="$parent.$parent.fields" :is-selected="true" :model="$parent.$parent.printModel"
|
|
56
56
|
@print-data="$parent.$parent.print()"
|
|
57
57
|
:starthead="$parent.$parent.starthead"
|
|
58
58
|
titletable="预存气费打印明细"
|
|
@@ -4,7 +4,8 @@
|
|
|
4
4
|
<stairinfo :data="data" v-if="data.f_price_type === '阶梯气价'"></stairinfo>
|
|
5
5
|
<bill-message @setstate="setstate" :state="state" :data="data"></bill-message>
|
|
6
6
|
<valueaddinfo :data="data" v-ref:valueaddinfo></valueaddinfo>
|
|
7
|
-
<
|
|
7
|
+
<sale-safecheck-info :data="data"></sale-safecheck-info>
|
|
8
|
+
|
|
8
9
|
<service-repair :data="data" v-if="name==='维修情况查询'"></service-repair>
|
|
9
10
|
<check-gas :data="data" v-if="checkgas==='气量核对'"></check-gas>
|
|
10
11
|
</div>
|
|
@@ -16,7 +17,6 @@
|
|
|
16
17
|
*/
|
|
17
18
|
|
|
18
19
|
import MixPriceInfo from './MixPriceInfo'
|
|
19
|
-
import SafeCheck from './SafeCheck'
|
|
20
20
|
import ServiceRepair from './ServiceRepair'
|
|
21
21
|
import CheckGas from './CheckGas'
|
|
22
22
|
export default {
|
|
@@ -27,7 +27,7 @@ export default {
|
|
|
27
27
|
checkgas: ''
|
|
28
28
|
}
|
|
29
29
|
},
|
|
30
|
-
components: {MixPriceInfo,
|
|
30
|
+
components: {MixPriceInfo, ServiceRepair, CheckGas},
|
|
31
31
|
props: {
|
|
32
32
|
data: {
|
|
33
33
|
type: Object
|
|
@@ -0,0 +1,339 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<div class="panel panel-info auto">
|
|
3
|
+
<div class="panel-heading auto" style="height: 35px">
|
|
4
|
+
<h4 style="display:inline-block;margin-top: auto">安检信息</h4>
|
|
5
|
+
</div>
|
|
6
|
+
<div class="auto info-content" v-if="hasCheck == 1 && model.datasource=='oldos'">
|
|
7
|
+
<div class="row">
|
|
8
|
+
<label class="col-sm-6 ">客户名称:</label>
|
|
9
|
+
<span class="col-sm-6">{{model.name}}</span>
|
|
10
|
+
</div>
|
|
11
|
+
<div class="row">
|
|
12
|
+
<label class="col-sm-6 ">客户地址:</label>
|
|
13
|
+
<span class="col-sm-6">{{model.address}}</span>
|
|
14
|
+
</div>
|
|
15
|
+
<div class="row">
|
|
16
|
+
<label class="col-sm-6 ">安检状态:</label>
|
|
17
|
+
<span class="col-sm-6">{{model.taskStatusText}}</span>
|
|
18
|
+
</div>
|
|
19
|
+
<tr v-show="nextCheckDateShow">
|
|
20
|
+
<td colspan="1" style="text-align: center;border: #E9E9E9 solid 1px;">下次安检时间:</td>
|
|
21
|
+
<td colspan="3" style="text-align: center;border: #E9E9E9 solid 1px;">{{ model.nextcheckdate }}</td>
|
|
22
|
+
</tr>
|
|
23
|
+
<div class="row">
|
|
24
|
+
<label class="col-sm-6 ">上次安检时间:</label>
|
|
25
|
+
<span class="col-sm-6">{{model.lastCheckDate}}</span>
|
|
26
|
+
</div>
|
|
27
|
+
<div class="row">
|
|
28
|
+
<label class="col-sm-6 ">安检员:</label>
|
|
29
|
+
<span class="col-sm-6">{{model.f_checker_name}}</span>
|
|
30
|
+
</div>
|
|
31
|
+
<div class="row">
|
|
32
|
+
<label class="col-sm-6 ">壁挂炉:</label>
|
|
33
|
+
<span class="col-sm-6">{{model.hasFireplace == 0 ? '无': '有'}}</span>
|
|
34
|
+
</div>
|
|
35
|
+
<div class="row">
|
|
36
|
+
<label class="col-sm-6 ">热水器:</label>
|
|
37
|
+
<span class="col-sm-6">{{model.hasWaterHeater == 0 ? '无': '有'}}</span>
|
|
38
|
+
</div>
|
|
39
|
+
<div class="row">
|
|
40
|
+
<label class="col-sm-6 ">天然气专用灶:</label>
|
|
41
|
+
<span class="col-sm-6">{{model.hasCookTool == 0 ? '无': '有'}}</span>
|
|
42
|
+
</div>
|
|
43
|
+
</div>
|
|
44
|
+
<table class="table table-striped table-bordered" v-if="(model.f_entry_status=='到访不遇' || model.f_entry_status=='拒检') && model.datasource =='newos'">
|
|
45
|
+
<thead>
|
|
46
|
+
<tr> <th colspan="4" style="text-align: center;background-color: #8cbce2;">用户安检概况</th></tr>
|
|
47
|
+
</thead>
|
|
48
|
+
<tbody>
|
|
49
|
+
<tr v-show="nextCheckDateShow">
|
|
50
|
+
<td colspan="1" style="text-align: center;border: #E9E9E9 solid 1px;">下次安检时间:</td>
|
|
51
|
+
<td colspan="3" :style=style>{{ model.f_next_check_date }}</td>
|
|
52
|
+
</tr>
|
|
53
|
+
<tr>
|
|
54
|
+
<td colspan="1" style="text-align: center;border: #E9E9E9 solid 1px;">上次安检时间:</td>
|
|
55
|
+
<td colspan="3" style="text-align: center;border: #E9E9E9 solid 1px;">{{ model.f_last_check_date }}</td>
|
|
56
|
+
</tr>
|
|
57
|
+
<tr>
|
|
58
|
+
<td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">到达时间:</td>
|
|
59
|
+
<td style="text-align: center;border: #E9E9E9 solid 1px;width: 33%">{{ model.f_onsite_time }}</td>
|
|
60
|
+
<td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">离开时间:</td>
|
|
61
|
+
<td style="text-align: center;border: #E9E9E9 solid 1px;width: 33%">{{ model.f_offsite_time }}</td>
|
|
62
|
+
</tr>
|
|
63
|
+
<tr>
|
|
64
|
+
<td :style="{color: (model.f_entry_status==='到访不遇'||model.f_entry_status==='拒绝入户'||model.f_entry_status==='拒检') ? 'brown' : ''}" style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">入户状态:</td>
|
|
65
|
+
<td :style="{color: (model.f_entry_status==='到访不遇'||model.f_entry_status==='拒绝入户'||model.f_entry_status==='拒检') ? 'brown' : ''}" style="text-align: center;border: #E9E9E9 solid 1px;width: 33%">{{ model.f_entry_status }}</td>
|
|
66
|
+
</tr>
|
|
67
|
+
</tbody>
|
|
68
|
+
</table>
|
|
69
|
+
<table class="table table-striped table-bordered" v-if="(model.f_entry_status=='到访不遇' || model.f_entry_status=='拒检') && model.datasource =='newos'">
|
|
70
|
+
<thead>
|
|
71
|
+
<tr> <th colspan="4" style="text-align: center;background-color: #8cbce2;">{{ model.f_entry_status }}图片</th></tr>
|
|
72
|
+
</thead>
|
|
73
|
+
<tbody> <tr>
|
|
74
|
+
<td style="margin: auto;text-align: center">
|
|
75
|
+
<div class="container" style="background: #FFFFFF;margin:0;width:100%;">
|
|
76
|
+
<div class="img" v-for="img in model.f_overall_imgs">
|
|
77
|
+
<img-self v-if="img.f_overall_path!='' && img.f_overall_path!=null" :src="'rs/image/file/'+img.f_overall_path" style="float: left" width="100" height="150"></img-self>
|
|
78
|
+
</div>
|
|
79
|
+
|
|
80
|
+
</div>
|
|
81
|
+
</td>
|
|
82
|
+
</tr>
|
|
83
|
+
</tbody>
|
|
84
|
+
</table>
|
|
85
|
+
|
|
86
|
+
<table class="table table-striped table-bordered" v-if="model.f_entry_status=='入户' && model.datasource =='newos'">
|
|
87
|
+
<thead>
|
|
88
|
+
<tr> <th colspan="4" style="text-align: center;background-color: #8cbce2;">用户安检概况</th></tr>
|
|
89
|
+
</thead>
|
|
90
|
+
<tbody>
|
|
91
|
+
<tr v-show="nextCheckDateShow">
|
|
92
|
+
<td colspan="1" style="text-align: center;border: #E9E9E9 solid 1px;">下次安检时间:</td>
|
|
93
|
+
<td colspan="3" :style=style>{{ model.f_next_check_date }}</td>
|
|
94
|
+
</tr>
|
|
95
|
+
<tr>
|
|
96
|
+
<td colspan="1" style="text-align: center;border: #E9E9E9 solid 1px;">上次安检时间:</td>
|
|
97
|
+
<td colspan="3" style="text-align: center;border: #E9E9E9 solid 1px;">{{ model.f_last_check_date }}</td>
|
|
98
|
+
</tr>
|
|
99
|
+
<tr>
|
|
100
|
+
<td colspan="1" style="text-align: center;border: #E9E9E9 solid 1px;">安检员:</td>
|
|
101
|
+
<td colspan="3" style="text-align: center;border: #E9E9E9 solid 1px;">{{model.f_checker_name}}</td>
|
|
102
|
+
</tr>
|
|
103
|
+
<tr>
|
|
104
|
+
<td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">到达时间:</td>
|
|
105
|
+
<td style="text-align: center;border: #E9E9E9 solid 1px;width: 33%">{{ model.f_onsite_time }}</td>
|
|
106
|
+
<td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">离开时间:</td>
|
|
107
|
+
<td style="text-align: center;border: #E9E9E9 solid 1px;width: 33%">{{ model.f_offsite_time }}</td>
|
|
108
|
+
</tr>
|
|
109
|
+
<tr>
|
|
110
|
+
<td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">入户状态:</td>
|
|
111
|
+
<td style="text-align: center;border: #E9E9E9 solid 1px;width: 33%">{{ model.f_entry_status }}</td>
|
|
112
|
+
<td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%" >燃气使用:</td>
|
|
113
|
+
<td style="text-align: center;border: #E9E9E9 solid 1px;width: 33%">{{ model.f_usegas }}</td>
|
|
114
|
+
</tr>
|
|
115
|
+
<tr>
|
|
116
|
+
<td colspan="1" style="text-align: center;border: #E9E9E9 solid 1px;width: 17%" >机械读数:</td>
|
|
117
|
+
<td colspan="3" style="text-align: center;border: #E9E9E9 solid 1px;width: 33%">{{ model.f_base_num_machinery }}</td>
|
|
118
|
+
</tr>
|
|
119
|
+
<tr >
|
|
120
|
+
<td colspan="1" style="text-align: center;border: #E9E9E9 solid 1px;">用户满意度:</td>
|
|
121
|
+
<td colspan="1" style="text-align: center;border: #E9E9E9 solid 1px;">{{ model.f_client_evaluation }}</td>
|
|
122
|
+
<td colspan="1" v-if="!(model.ajresult && (model.ajresult.indexOf('有隐患') >=0))" style="text-align: center;border: #E9E9E9 solid 1px;">安检结果:</td>
|
|
123
|
+
<td colspan="1" v-if="!(model.ajresult && (model.ajresult.indexOf('有隐患') >= 0))" style="text-align: center;border: #E9E9E9 solid 1px;">{{ model.ajresult }}</td>
|
|
124
|
+
<td colspan="1" v-if="model.ajresult && (model.ajresult.indexOf('有隐患') >= 0)" style="text-align: center;border: #E9E9E9 solid 1px;color:red;">安检结果:</td>
|
|
125
|
+
<td colspan="1" v-if="model.ajresult && (model.ajresult.indexOf('有隐患') >= 0)" style="text-align: center;border: #E9E9E9 solid 1px;color:red;">{{ model.ajresult }}</td>
|
|
126
|
+
</tr>
|
|
127
|
+
<tr>
|
|
128
|
+
<td colspan="1" v-if="model.ajresult && (model.ajresult.indexOf('有隐患') >= 0)" style="text-align: center;border: #E9E9E9 solid 1px;color:red;">隐患详情:</td>
|
|
129
|
+
<td colspan="3" v-if="model.ajresult && (model.ajresult.indexOf('有隐患') >= 0)" style="text-align: center;border: #E9E9E9 solid 1px;word-wrap:break-word;word-break:break-all;width:87%;color:red;">
|
|
130
|
+
<span v-for="deviceCollect in model.deviceCollects">
|
|
131
|
+
<span class="li-font">
|
|
132
|
+
{{deviceCollect.name}}:{{deviceCollect.value}}
|
|
133
|
+
</span>
|
|
134
|
+
<br>
|
|
135
|
+
</span>
|
|
136
|
+
</td>
|
|
137
|
+
<td colspan="1" v-if="!(model.ajresult && (model.ajresult.indexOf('有隐患') >=0))" style="text-align: center;border: #E9E9E9 solid 1px;">隐患详情:</td>
|
|
138
|
+
<td colspan="3" v-if="!(model.ajresult && (model.ajresult.indexOf('有隐患') >=0))" style="text-align: center;border: #E9E9E9 solid 1px;word-wrap:break-word;word-break:break-all;width:87%">
|
|
139
|
+
<span v-for="deviceCollect in model.deviceCollects">
|
|
140
|
+
<span class="li-font">
|
|
141
|
+
{{deviceCollect.name}}:{{deviceCollect.value}}
|
|
142
|
+
</span>
|
|
143
|
+
<br>
|
|
144
|
+
</span>
|
|
145
|
+
</td>
|
|
146
|
+
</tr>
|
|
147
|
+
</tbody>
|
|
148
|
+
</table>
|
|
149
|
+
<table class="table table-striped table-bordered" v-if="model.safecheckitem.length>0 && model.datasource =='newos'">
|
|
150
|
+
<thead>
|
|
151
|
+
<tr> <th colspan="4" style="text-align: center;background-color: #8cbce2;">隐患详情</th></tr>
|
|
152
|
+
</thead>
|
|
153
|
+
<tr v-for="checkitem in model.safecheckitem">
|
|
154
|
+
<td style="text-align: center;border: #E9E9E9 solid 1px;width: 33%">{{ checkitem.f_item_name }}</td>
|
|
155
|
+
<td style="text-align: center;border: #E9E9E9 solid 1px;width: 33%">{{ checkitem.f_repaire_state }}</td>
|
|
156
|
+
<td style="text-align: center;border: #E9E9E9 solid 1px;width: 33%" v-if="checkitem.f_path!='' && checkitem.f_path!=null">
|
|
157
|
+
<img-self :src="'rs/image/file/'+checkitem.f_path" style="float: left" width="100" height="150"></img-self>
|
|
158
|
+
</td>
|
|
159
|
+
<td style="text-align: center;border: #E9E9E9 solid 1px;width: 33%" v-if="checkitem.f_path=='' && checkitem.f_path==null">
|
|
160
|
+
暂无图片
|
|
161
|
+
</td>
|
|
162
|
+
</tr>
|
|
163
|
+
</table>
|
|
164
|
+
|
|
165
|
+
|
|
166
|
+
<table class="table table-striped table-bordered" v-if="model.f_entry_status=='入户' && model.datasource =='newos'">
|
|
167
|
+
<thead>
|
|
168
|
+
<tr> <th colspan="4" style="text-align: center;background-color: #8cbce2;">总体安检照片</th></tr>
|
|
169
|
+
</thead>
|
|
170
|
+
<tbody> <tr>
|
|
171
|
+
<td style="margin: auto;text-align: center">
|
|
172
|
+
<div class="container" style="background: #FFFFFF;margin:0;width:100%;">
|
|
173
|
+
<div class="img" v-for="img in model.f_overall_imgs">
|
|
174
|
+
<img-self :src="img.f_overall_path" style="float: left" width="100" height="150"></img-self>
|
|
175
|
+
</div>
|
|
176
|
+
</div>
|
|
177
|
+
</td>
|
|
178
|
+
</tr>
|
|
179
|
+
</tbody>
|
|
180
|
+
</table>
|
|
181
|
+
<div class="auto info-content" v-if="hasCheck === 0">
|
|
182
|
+
<div class="row">
|
|
183
|
+
<strong>暂无安检信息</strong>
|
|
184
|
+
</div>
|
|
185
|
+
</div>
|
|
186
|
+
<div class="auto info-content" v-if="hasCheck === -1">
|
|
187
|
+
<div class="row">
|
|
188
|
+
<p>正在获取安检信息...</p>
|
|
189
|
+
</div>
|
|
190
|
+
</div>
|
|
191
|
+
</div>
|
|
192
|
+
<modal :show.sync="imgshow2" v-ref:modal backdrop="true">
|
|
193
|
+
<header slot="modal-header" class="modal-header">
|
|
194
|
+
{{model.f_entry_status}}照片
|
|
195
|
+
</header>
|
|
196
|
+
<article slot="modal-body" class="modal-body">
|
|
197
|
+
<div class="from-group">
|
|
198
|
+
<div class="row">
|
|
199
|
+
<div class="col-md-6">
|
|
200
|
+
<img-self v-if="this.model.f_entry_status=='到访不遇'" :src="showimg3" width="300" height="400"></img-self>
|
|
201
|
+
</div><div class="col-md-6">
|
|
202
|
+
<img-self v-if="this.model.f_entry_status=='拒检'" :src="showimg4" width="300" height="400"></img-self>
|
|
203
|
+
</div>
|
|
204
|
+
</div>
|
|
205
|
+
</div>
|
|
206
|
+
</article>
|
|
207
|
+
<footer slot="modal-footer" class="modal-footer" v-show="false">
|
|
208
|
+
<button type="button" class="btn btn-success" @click='imgclose'>关闭</button>
|
|
209
|
+
</footer>
|
|
210
|
+
</modal>
|
|
211
|
+
</template>
|
|
212
|
+
<script>
|
|
213
|
+
/**
|
|
214
|
+
*用户信息
|
|
215
|
+
*安检信息
|
|
216
|
+
*/
|
|
217
|
+
|
|
218
|
+
import {HttpResetClass} from 'vue-client'
|
|
219
|
+
|
|
220
|
+
let getSafeCheckGen = async function (self) {
|
|
221
|
+
// 获取安检信息
|
|
222
|
+
try {
|
|
223
|
+
let http = new HttpResetClass()
|
|
224
|
+
let param = {
|
|
225
|
+
f_userfiles_id: self.data.f_userfiles_id,
|
|
226
|
+
f_userinfo_id: self.data.f_userinfo_id
|
|
227
|
+
}
|
|
228
|
+
if (self.data.f_olduserinfo_code) {
|
|
229
|
+
param.f_olduserinfo_code = self.data.f_olduserinfo_code
|
|
230
|
+
}
|
|
231
|
+
let getSafeCheck = await http.load('POST', 'rs/logic/getSafecheck', param, {resolveMsg: null, rejectMsg: null})
|
|
232
|
+
if (!(JSON.stringify(getSafeCheck.data) == '{}')) {
|
|
233
|
+
self.model = {}
|
|
234
|
+
self.model = Object.assign({}, self.model, getSafeCheck.data)
|
|
235
|
+
self.hasCheck = 1
|
|
236
|
+
} else {
|
|
237
|
+
self.hasCheck = 0
|
|
238
|
+
}
|
|
239
|
+
} catch (error) {
|
|
240
|
+
self.hasCheck = 0
|
|
241
|
+
}
|
|
242
|
+
|
|
243
|
+
if (new Date(self.model.f_next_check_date) < new Date(self.nowdate)) {
|
|
244
|
+
self.style = 'text-align: center;border: #E9E9E9 solid 1px;color:red'
|
|
245
|
+
} else {
|
|
246
|
+
self.style = 'text-align: center;border: #E9E9E9 solid 1px;'
|
|
247
|
+
}
|
|
248
|
+
}
|
|
249
|
+
|
|
250
|
+
export default {
|
|
251
|
+
title: '安检信息',
|
|
252
|
+
data () {
|
|
253
|
+
return {
|
|
254
|
+
model: {},
|
|
255
|
+
style: 'text-align: center;border: #E9E9E9 solid 1px;',
|
|
256
|
+
nowdate: this.$login.toStandardTimeString(),
|
|
257
|
+
hasCheck: -1,
|
|
258
|
+
imgshow: false,
|
|
259
|
+
imgshow2: false,
|
|
260
|
+
showimg1: '',
|
|
261
|
+
showimg2: '',
|
|
262
|
+
showimg3: '',
|
|
263
|
+
nextCheckDateShow: true,
|
|
264
|
+
showimg4: ''
|
|
265
|
+
}
|
|
266
|
+
},
|
|
267
|
+
props: ['data'],
|
|
268
|
+
ready () {
|
|
269
|
+
getSafeCheckGen(this)
|
|
270
|
+
if (this.$appdata.getSingleValue('是否显示下次安检时间') == '否') {
|
|
271
|
+
this.nextCheckDateShow = false
|
|
272
|
+
}
|
|
273
|
+
},
|
|
274
|
+
methods: {
|
|
275
|
+
showpicture2 () {
|
|
276
|
+
this.imgshow2 = true
|
|
277
|
+
}
|
|
278
|
+
},
|
|
279
|
+
watch: {
|
|
280
|
+
'data' () {
|
|
281
|
+
if (this.data == null) {
|
|
282
|
+
this.hasCheck = 0
|
|
283
|
+
this.model = {}
|
|
284
|
+
} else {
|
|
285
|
+
getSafeCheckGen(this)
|
|
286
|
+
}
|
|
287
|
+
}
|
|
288
|
+
}
|
|
289
|
+
}
|
|
290
|
+
</script>
|
|
291
|
+
<style scoped>
|
|
292
|
+
.img {
|
|
293
|
+
border: 1px solid #9773ed;
|
|
294
|
+
width: auto;
|
|
295
|
+
height: auto;
|
|
296
|
+
float: left;
|
|
297
|
+
text-align: center;
|
|
298
|
+
margin: 6px;
|
|
299
|
+
}
|
|
300
|
+
|
|
301
|
+
img {
|
|
302
|
+
margin: 6px;
|
|
303
|
+
}
|
|
304
|
+
|
|
305
|
+
|
|
306
|
+
.container{
|
|
307
|
+
margin: 10px auto;
|
|
308
|
+
width: 80%;
|
|
309
|
+
height: auto;
|
|
310
|
+
}
|
|
311
|
+
div::-webkit-scrollbar {
|
|
312
|
+
width: 0 !important;
|
|
313
|
+
height: 0 !important;
|
|
314
|
+
}
|
|
315
|
+
|
|
316
|
+
div{
|
|
317
|
+
-ms-overflow-style: none;
|
|
318
|
+
overflow: -moz-scrollbars-none;
|
|
319
|
+
}
|
|
320
|
+
.divmask {
|
|
321
|
+
pointer-events: none;
|
|
322
|
+
}
|
|
323
|
+
.app-header {
|
|
324
|
+
border-radius: 50%;
|
|
325
|
+
background: rgba(73, 158, 223, 0.4);
|
|
326
|
+
color: #FFF;
|
|
327
|
+
padding: 20px;
|
|
328
|
+
text-align: center;
|
|
329
|
+
font-size: 1.2em;
|
|
330
|
+
z-index: 10;
|
|
331
|
+
opacity:0.5;
|
|
332
|
+
bottom: 50px;
|
|
333
|
+
margin-top: -20px;
|
|
334
|
+
position: absolute;
|
|
335
|
+
top: 10%;
|
|
336
|
+
right: 2%;
|
|
337
|
+
height: 8%;
|
|
338
|
+
}
|
|
339
|
+
</style>
|
|
@@ -6,6 +6,8 @@ export default function () {
|
|
|
6
6
|
Vue.component('card-meter-center', (resolve) => { require(['./CardMeterCenter'], resolve) })
|
|
7
7
|
// 发卡售气
|
|
8
8
|
Vue.component('show-card-sell-gas', (resolve) => { require(['./ShowCardSellGas'], resolve) })
|
|
9
|
+
// 安检信息
|
|
10
|
+
Vue.component('sale-safecheck-info', (resolve) => { require(['./SafeCheck'], resolve) })
|
|
9
11
|
// 档案信息
|
|
10
12
|
Vue.component('file-user-files', (resolve) => { require(['./FileUserFiles'], resolve) })
|
|
11
13
|
// 单个表具信息
|
|
@@ -0,0 +1,218 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<div class="binary flex" >
|
|
3
|
+
<div class="row binary-left flex" style="width:99%;height:98%;margin-bottom:0px">
|
|
4
|
+
<div class="auto">
|
|
5
|
+
<user-base-info-new :row="row" :buttonshow="buttonshow"
|
|
6
|
+
@cancel-main="cancel"
|
|
7
|
+
@cancel-re="cancelRe"
|
|
8
|
+
@search-main="search"></user-base-info-new></div>
|
|
9
|
+
<saletabbut v-if="row" v-ref:list style="height:72%;margin-top: 1%;overflow-y: scroll">
|
|
10
|
+
<saletab header="流水查询" v-if="permission('流水查询')">
|
|
11
|
+
<record-query-user :row="row"></record-query-user>
|
|
12
|
+
</saletab>
|
|
13
|
+
<saletab header="机表流水查询" v-if="permission('机表流水查询')&&row.f_meter_type.includes('机表')">
|
|
14
|
+
<machine-record-query :row="row" v-if="show == '机表流水查询'" @deal-msg="dealMsg"></machine-record-query>
|
|
15
|
+
</saletab>
|
|
16
|
+
<saletab header="收费查询" v-if="!newWebHand && permission('收费查询')">
|
|
17
|
+
<charge-query-user :row="row" v-if="show == '收费查询'" @deal-msg="dealMsg"></charge-query-user>
|
|
18
|
+
</saletab>
|
|
19
|
+
<saletab header="收费查询" v-if="newWebHand && permission('收费查询')">
|
|
20
|
+
<charge-query-user :row="row" v-if="show == '收费查询'" @deal-msg="dealMsg"></charge-query-user>
|
|
21
|
+
</saletab>
|
|
22
|
+
<saletab header="累购查询" v-if="permission('累购查询')">
|
|
23
|
+
<Repurchase :row="row" v-if="show == '累购查询'" @deal-msg="dealMsg"></Repurchase>
|
|
24
|
+
</saletab>
|
|
25
|
+
<saletab header="下账查询" v-if="!newWebHand && row.f_meter_type.includes('物联网表')&&permission('自动下账查询')">
|
|
26
|
+
<automatic-purse :row="row" @deal-msg="dealMsg"></automatic-purse>
|
|
27
|
+
</saletab>
|
|
28
|
+
<saletab header="下账查询" v-if="newWebHand && row.f_meter_type.includes('物联网表')&&permission('自动下账查询')">
|
|
29
|
+
<web-automatic-purse :row="row" @deal-msg="dealMsg"></web-automatic-purse>
|
|
30
|
+
</saletab>
|
|
31
|
+
<saletab header="抄表记录" v-if="row.f_meter_type.includes('卡表')&&permission('抄表记录')">
|
|
32
|
+
<card-hand-record :row="row" v-if="show == '抄表记录'" @deal-msg="dealMsg"></card-hand-record>
|
|
33
|
+
</saletab>
|
|
34
|
+
<saletab header="抄表记录" v-if="!newWebHand && !row.f_meter_type.includes('卡表')&&permission('抄表记录')">
|
|
35
|
+
<hand-query-user :row="row" v-if="show == '抄表记录'" @deal-msg="dealMsg"></hand-query-user>
|
|
36
|
+
</saletab>
|
|
37
|
+
<saletab header="抄表记录" v-if="newWebHand && !row.f_meter_type.includes('卡表')&&permission('抄表记录')">
|
|
38
|
+
<web-hand-query-user :row="row" v-if="show == '抄表记录'" @deal-msg="dealMsg"></web-hand-query-user>
|
|
39
|
+
</saletab>
|
|
40
|
+
<saletab header="补卡查询" v-if="row.f_meter_type.includes('卡表')&&permission('补卡查询')">
|
|
41
|
+
<fill-card-query-user :row="row" v-if="show == '补卡查询'" @deal-msg="dealMsg"></fill-card-query-user>
|
|
42
|
+
</saletab>
|
|
43
|
+
<saletab header="补气查询" v-if="permission('补气查询')">
|
|
44
|
+
<fill-gas-query-user :row="row" v-if="show == '补气查询'" @deal-msg="dealMsg"></fill-gas-query-user>
|
|
45
|
+
</saletab>
|
|
46
|
+
<saletab header="换表查询" v-if="permission('换表查询')">
|
|
47
|
+
<change-meter-query-user :row="row" v-if="show == '换表查询'" @deal-msg="dealMsg"></change-meter-query-user>
|
|
48
|
+
</saletab>
|
|
49
|
+
<!-- <saletab header="其他收费" v-if="permission('其他收费')">-->
|
|
50
|
+
<!-- <other-charge-query-user :row="row" v-if="show == '其他收费'" @deal-msg="dealMsg"></other-charge-query-user>-->
|
|
51
|
+
<!-- </saletab>-->
|
|
52
|
+
<saletab header="过户查询" v-if="permission('过户查询')">
|
|
53
|
+
<transfer-query-user :row="row" v-if="show == '过户查询'" @deal-msg="dealMsg"></transfer-query-user>
|
|
54
|
+
</saletab>
|
|
55
|
+
<saletab header="价格调整" v-if="permission('价格调整')">
|
|
56
|
+
<price-change-query-user :row="row" v-if="show == '价格调整'" @deal-msg="dealMsg"></price-change-query-user>
|
|
57
|
+
</saletab>
|
|
58
|
+
<saletab header="附件查看" v-if="permission('附件查看')">
|
|
59
|
+
<upload-file-history :row="row" v-if="show == '附件查看'" @deal-msg="dealMsg"></upload-file-history>
|
|
60
|
+
</saletab>
|
|
61
|
+
<saletab header="变更记录" v-if="permission('变更记录')">
|
|
62
|
+
<change-record :row="row" v-if="show == '变更记录'" @deal-msg="dealMsg"></change-record>
|
|
63
|
+
</saletab>
|
|
64
|
+
<saletab header="指令查看" v-if="row.f_meter_type.includes('物联网表')&&permission('指令查看')">
|
|
65
|
+
<query-instruct :row="row" v-if="show == '指令查看'" @deal-msg="dealMsg"></query-instruct>
|
|
66
|
+
</saletab>
|
|
67
|
+
<saletab header="历史指令查看" v-if="row.f_meter_type.includes('物联网表')&&permission('历史指令查看')">
|
|
68
|
+
<query-history-instruct :row="row" v-if="show == '历史指令查看'" @deal-msg="dealMsg"></query-history-instruct>
|
|
69
|
+
</saletab>
|
|
70
|
+
<saletab header="异常报警" v-if="row.f_meter_type.includes('物联网表')&&permission('异常报警')">
|
|
71
|
+
<watch-warning :row="row" v-if="show == '异常报警'" @deal-msg="dealMsg"></watch-warning>
|
|
72
|
+
</saletab>
|
|
73
|
+
<saletab header="表具采集" v-if="row.f_meter_type.includes('物联网表')&&permission('表具采集')">
|
|
74
|
+
<watch-collection :row="row" v-if="show == '表具采集'" @deal-msg="dealMsg"></watch-collection>
|
|
75
|
+
</saletab>
|
|
76
|
+
<saletab header="调价补差" v-if="permission('调价补差')">
|
|
77
|
+
<price-adjustment-query-user :row="row" v-if="show == '调价补差'" @deal-msg="dealMsg"></price-adjustment-query-user>
|
|
78
|
+
</saletab>
|
|
79
|
+
<saletab header="设备查询" v-if="permission('设备查询')">
|
|
80
|
+
<deveice-record :row="row" v-if="show == '设备查询'" @deal-msg="dealMsg"></deveice-record>
|
|
81
|
+
</saletab>
|
|
82
|
+
<saletab header="流量计参数查看" v-if="permission('流量计参数查看')">
|
|
83
|
+
<meter-param :row="row" v-if="show == '流量计参数查看'" @deal-msg="dealMsg"></meter-param>
|
|
84
|
+
</saletab>
|
|
85
|
+
<saletab header="表使用量图表" v-if="permission('流量计参数查看')">
|
|
86
|
+
<table-usage-chart :row="row" v-if="show == '表使用量图表'" @deal-msg="dealMsg"></table-usage-chart>
|
|
87
|
+
</saletab>
|
|
88
|
+
<saletab header="用户设备查询" v-if="permission('用户设备查看')">
|
|
89
|
+
<user-device-query :row="row" v-if="show == '用户设备查询'" @deal-msg="dealMsg"></user-device-query>
|
|
90
|
+
</saletab>
|
|
91
|
+
<saletab header="合同查看" v-if="permission('合同查看')">
|
|
92
|
+
<contract-signing-list :row="row" v-if="show == '合同查看'" @deal-msg="dealMsg"></contract-signing-list>
|
|
93
|
+
</saletab>
|
|
94
|
+
</saletabbut>
|
|
95
|
+
</div>
|
|
96
|
+
</div>
|
|
97
|
+
</template>
|
|
98
|
+
|
|
99
|
+
<script>
|
|
100
|
+
import {HttpResetClass} from 'vue-client'
|
|
101
|
+
// 导入IC卡相关查询界面
|
|
102
|
+
import ChangeMeterQueryUser from '../../components/common/userinfo_detail/ic_detail/ChangeMeterQueryUser'
|
|
103
|
+
import ChargeQueryUser from '../../components/common/userinfo_detail/ic_detail/ChargeQueryUser'
|
|
104
|
+
import ChargeRecordQueryUser from '../../components/common/userinfo_detail/ic_detail/ChargeRecordQuery'
|
|
105
|
+
import FillCardQueryUser from '../../components/common/userinfo_detail/ic_detail/FillCardQueryUser'
|
|
106
|
+
import HandQueryUser from '../../components/common/userinfo_detail/ic_detail/HandQueryUser'
|
|
107
|
+
import OtherChargeQueryUser from '../../components/common/userinfo_detail/ic_detail/OtherChargeQueryUser'
|
|
108
|
+
import RecordQueryUser from '../../components/common/userinfo_detail/ic_detail/RecordQueryUser'
|
|
109
|
+
import TransferQueryUser from '../../components/common/userinfo_detail/ic_detail/TransferQueryUser'
|
|
110
|
+
import CardHandRecord from '../../components/common/userinfo_detail/ic_detail/CardHandRecord'
|
|
111
|
+
import AutomaticPurse from '../../components/common/userinfo_detail/ic_detail/AutomaticPurse'
|
|
112
|
+
import Repurchase from '../../components/common/userinfo_detail/ic_detail/Repurchase'
|
|
113
|
+
import MachineRecordQuery from '../../components/common/userinfo_detail/ic_detail/MachineRecordQuery'
|
|
114
|
+
import WebAutomaticPurse from '../../components/common/userinfo_detail/ic_detail/WebAutomaticPurse'
|
|
115
|
+
import WebChargeQueryUser from '../../components/common/userinfo_detail/ic_detail/WebChargeQueryUser'
|
|
116
|
+
import WebHandQueryUser from '../../components/common/userinfo_detail/ic_detail/WebHandQueryUser'
|
|
117
|
+
import UserDeviceQuery from '../../components/common/userinfo_detail/ic_detail/UserDeviceQuery'
|
|
118
|
+
import contractSigningList from '../../components/common/userinfo_detail/ic_detail/contractSigningList'
|
|
119
|
+
|
|
120
|
+
// 导入物联网相关查询
|
|
121
|
+
import QueryInstruct from '../../components/common/userinfo_detail/iot_detail/QueryInstruct'
|
|
122
|
+
import QueryHistoryInstruct from '../../components/common/userinfo_detail/iot_detail/QueryHistoryInstruct'
|
|
123
|
+
import WatchCollection from '../../components/common/userinfo_detail/iot_detail/WatchCollection'
|
|
124
|
+
import WatchWarning from '../../components/common/userinfo_detail/iot_detail/WatchWarning'
|
|
125
|
+
import PriceChangeQueryUser from '../../components/common/userinfo_detail/ic_detail/PriceChangeQueryUser'
|
|
126
|
+
import ChangeRecord from '../../components/common/userinfo_detail/ic_detail/ChangeRecord'
|
|
127
|
+
import PriceAdjustmentQueryUser from '../../components/common/userinfo_detail/ic_detail/PriceAdjustmentQueryUser'
|
|
128
|
+
import MeterParam from '../../components/common/userinfo_detail/ic_detail/MeterParam'
|
|
129
|
+
import DeveiceRecord from '../../components/common/userinfo_detail/ic_detail/DeveiceRecord'
|
|
130
|
+
|
|
131
|
+
export default {
|
|
132
|
+
title: '用户详细信息',
|
|
133
|
+
props: ['f_userfiles_id', 'f_userinfo_id', 'f_userinfo_code', 'parentname', 'buttonshow'],
|
|
134
|
+
components: {
|
|
135
|
+
PriceAdjustmentQueryUser,
|
|
136
|
+
PriceChangeQueryUser,
|
|
137
|
+
AutomaticPurse,
|
|
138
|
+
WebAutomaticPurse,
|
|
139
|
+
WebChargeQueryUser,
|
|
140
|
+
WebHandQueryUser,
|
|
141
|
+
Repurchase,
|
|
142
|
+
ChangeMeterQueryUser,
|
|
143
|
+
ChargeQueryUser,
|
|
144
|
+
ChargeRecordQueryUser,
|
|
145
|
+
FillCardQueryUser,
|
|
146
|
+
HandQueryUser,
|
|
147
|
+
OtherChargeQueryUser,
|
|
148
|
+
RecordQueryUser,
|
|
149
|
+
TransferQueryUser,
|
|
150
|
+
WatchWarning,
|
|
151
|
+
WatchCollection,
|
|
152
|
+
QueryInstruct,
|
|
153
|
+
QueryHistoryInstruct,
|
|
154
|
+
ChangeRecord,
|
|
155
|
+
CardHandRecord,
|
|
156
|
+
MeterParam,
|
|
157
|
+
DeveiceRecord,
|
|
158
|
+
MachineRecordQuery,
|
|
159
|
+
UserDeviceQuery,
|
|
160
|
+
contractSigningList
|
|
161
|
+
},
|
|
162
|
+
data () {
|
|
163
|
+
return {
|
|
164
|
+
row: null,
|
|
165
|
+
name: '自动下账查询',
|
|
166
|
+
newWebHand: this.$appdata.getSingleValue('新抄表'),
|
|
167
|
+
show: ''
|
|
168
|
+
}
|
|
169
|
+
},
|
|
170
|
+
ready () {
|
|
171
|
+
this.search()
|
|
172
|
+
console.log(this.$login)
|
|
173
|
+
},
|
|
174
|
+
methods: {
|
|
175
|
+
permission (name) {
|
|
176
|
+
if (this.$login.r.find(value => value == '收费综合查询')) {
|
|
177
|
+
if (!this.$login.r.find(value => value == name)) {
|
|
178
|
+
return false
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
return true
|
|
182
|
+
},
|
|
183
|
+
async search () {
|
|
184
|
+
let http = new HttpResetClass()
|
|
185
|
+
let condition = ' 1 = 1'
|
|
186
|
+
if (this.f_userfiles_id) {
|
|
187
|
+
condition = `f_userfiles_id = '${this.f_userfiles_id}'`
|
|
188
|
+
} else if (this.f_userinfo_id) {
|
|
189
|
+
condition = `f_userinfo_id = '${this.f_userinfo_id}'`
|
|
190
|
+
} else if (this.f_userinfo_code) {
|
|
191
|
+
condition = `f_userinfo_code = '${this.f_userinfo_code}'`
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
let getBaseInfo = await http.load('POST', 'rs/sql/iot_getUserBaseData',
|
|
195
|
+
{data: {condition: condition}}, {resolveMsg: null, rejectMsg: '获取基本信息出错'})
|
|
196
|
+
this.row = getBaseInfo.data[0]
|
|
197
|
+
this.row.parentname = this.parentname || ''
|
|
198
|
+
},
|
|
199
|
+
|
|
200
|
+
cancel (val) {
|
|
201
|
+
this.$emit('cancel-main', val)
|
|
202
|
+
},
|
|
203
|
+
|
|
204
|
+
cancelRe (val) {
|
|
205
|
+
this.$emit('cancel-re', val)
|
|
206
|
+
},
|
|
207
|
+
|
|
208
|
+
butOper (val) {
|
|
209
|
+
this.name = val
|
|
210
|
+
}
|
|
211
|
+
},
|
|
212
|
+
watch: {
|
|
213
|
+
'f_userinfo_id' () {
|
|
214
|
+
this.search()
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
}
|
|
218
|
+
</script>
|
|
@@ -48,5 +48,6 @@ export default function () {
|
|
|
48
48
|
Vue.component('show-card-sell-gas', (resolve) => { require(['./ShowCardSellGas'], resolve) })
|
|
49
49
|
// 地址管理
|
|
50
50
|
Vue.component('file-user-address', (resolve) => { require(['./FileUserAddress'], resolve) })
|
|
51
|
-
|
|
51
|
+
// 清零
|
|
52
|
+
Vue.component('user-info-detail-manage-new', (resolve) => { require(['./UserInfoDetailManageNew'], resolve) })
|
|
52
53
|
}
|
|
@@ -43,7 +43,7 @@
|
|
|
43
43
|
<meter-message v-if="!model.f_type.includes('清零') && !model.f_type.includes('换卡控流量计')"
|
|
44
44
|
:f_userfiles_id="row.f_userfiles_id" :metermessage.sync="model.metermessage"
|
|
45
45
|
@valid="meterinfo = true"
|
|
46
|
-
@invalid="meterinfo = false" @gasmodel="gasModelChange" v-ref:metermsg></meter-message>
|
|
46
|
+
@invalid="meterinfo = false" @gasmodel="gasModelChange" @gasbrand="gasBrandChange" v-ref:metermsg></meter-message>
|
|
47
47
|
|
|
48
48
|
<div v-if="row.f_meter_type != '机表'">
|
|
49
49
|
<div class="row auto" style="margin-top: 10px"
|
|
@@ -359,6 +359,22 @@ let getPrice = async function (self) {
|
|
|
359
359
|
if (res.data.length > 0) {
|
|
360
360
|
self.model.f_remanent_price = res.data[0].f_price
|
|
361
361
|
}
|
|
362
|
+
let http2 = new HttpResetClass()
|
|
363
|
+
let chargeData = {
|
|
364
|
+
tablename: 't_chargeprice',
|
|
365
|
+
items: 'f_gas,f_money,f_price',
|
|
366
|
+
condition: `f_userfiles_id = '${self.row.f_userfiles_id}'`,
|
|
367
|
+
orderitem: 'id desc'
|
|
368
|
+
}
|
|
369
|
+
let chargePrice = await http2.load('POST', 'rs/sql/singleTable_OrderBy', {
|
|
370
|
+
data: chargeData
|
|
371
|
+
}, {
|
|
372
|
+
resolveMsg: null,
|
|
373
|
+
rejectMsg: '获取划价记录失败!!'
|
|
374
|
+
})
|
|
375
|
+
if (chargePrice.data.length > 0) {
|
|
376
|
+
self.chargePrices = chargePrice.data
|
|
377
|
+
}
|
|
362
378
|
let temp = {
|
|
363
379
|
tablename: 't_meter_book',
|
|
364
380
|
condition: `f_book_state='有效' and f_filiale_id='${self.$login.f.orgid}'`
|
|
@@ -439,6 +455,7 @@ export default {
|
|
|
439
455
|
f_using_fee_old: 0,
|
|
440
456
|
randomBusinessId: ''
|
|
441
457
|
},
|
|
458
|
+
chargePrices: [],
|
|
442
459
|
meterinfo: false,
|
|
443
460
|
|
|
444
461
|
meterbookoptions: [],
|
|
@@ -969,9 +986,7 @@ export default {
|
|
|
969
986
|
this.$showAlert('该表可能存在超用,请核实输入后进行换表操作!!', 'warning', 5000)
|
|
970
987
|
this.$dispatch('refresh')
|
|
971
988
|
}
|
|
972
|
-
|
|
973
|
-
this.model.f_remanent_gas = (param - (this.model.f_using_base_old - 0)).toFixed(4)
|
|
974
|
-
}
|
|
989
|
+
this.model.f_remanent_gas = (param - (this.model.f_using_base_old - 0)).toFixed(4)
|
|
975
990
|
},
|
|
976
991
|
|
|
977
992
|
calMoneyCardRemanent () {
|
|
@@ -1109,14 +1124,75 @@ export default {
|
|
|
1109
1124
|
this.$dispatch('button-specifies', {name: '机表收费', value: 'machine-charge'}, this.row)
|
|
1110
1125
|
}
|
|
1111
1126
|
}
|
|
1127
|
+
},
|
|
1128
|
+
getComments (array) {
|
|
1129
|
+
let str = '剩余补气量中,'
|
|
1130
|
+
array.forEach((item) => {
|
|
1131
|
+
str = str + '单价:' + item.price + '补气量为:' + item.gas + 'm³,'
|
|
1132
|
+
})
|
|
1133
|
+
str += '折算后补气量为' + this.model.f_remanent_gas + 'm³,补气金额为' + this.model.f_remanent_money + '元,平均单价为' + this.model.f_remanent_price + '元'
|
|
1134
|
+
this.model.f_comments = str
|
|
1135
|
+
},
|
|
1136
|
+
allocateGas (totalGas, rates, price) {
|
|
1137
|
+
let remainingGas = totalGas
|
|
1138
|
+
const allocations = []
|
|
1139
|
+
let totalAmount = 0
|
|
1140
|
+
|
|
1141
|
+
for (const rate of rates) {
|
|
1142
|
+
if (remainingGas <= 0) break // 如果剩余气量为0或负数,跳出循环
|
|
1143
|
+
if (remainingGas >= rate.f_gas) {
|
|
1144
|
+
// 如果剩余气量大于等于当前条目的气量
|
|
1145
|
+
allocations.push({
|
|
1146
|
+
gas: rate.f_gas,
|
|
1147
|
+
price: rate.f_price,
|
|
1148
|
+
amount: rate.f_money
|
|
1149
|
+
})
|
|
1150
|
+
totalAmount += parseFloat(rate.f_money)
|
|
1151
|
+
remainingGas -= rate.f_gas
|
|
1152
|
+
} else {
|
|
1153
|
+
// 如果剩余气量小于当前条目的气量
|
|
1154
|
+
allocations.push({
|
|
1155
|
+
gas: remainingGas,
|
|
1156
|
+
price: rate.f_price,
|
|
1157
|
+
amount: parseFloat((remainingGas * rate.f_price).toFixed(4))
|
|
1158
|
+
})
|
|
1159
|
+
totalAmount += parseFloat((remainingGas * rate.f_price).toFixed(4))
|
|
1160
|
+
remainingGas = 0 // 剩余气量设置为0
|
|
1161
|
+
break // 跳出循环
|
|
1162
|
+
}
|
|
1163
|
+
}
|
|
1164
|
+
// 如果遍历完所有条目后仍有剩余气量
|
|
1165
|
+
if (remainingGas > 0) {
|
|
1166
|
+
allocations.push({
|
|
1167
|
+
gas: remainingGas,
|
|
1168
|
+
price: price,
|
|
1169
|
+
amount: parseFloat((remainingGas * price).toFixed(4))
|
|
1170
|
+
})
|
|
1171
|
+
totalAmount += parseFloat((remainingGas * price).toFixed(4))
|
|
1172
|
+
}
|
|
1173
|
+
this.model.f_remanent_price = (totalAmount / this.model.f_remanent_gas).toFixed(4)
|
|
1174
|
+
this.model.f_remanent_money = totalAmount
|
|
1175
|
+
// 计算公式
|
|
1176
|
+
this.getComments(allocations)
|
|
1112
1177
|
}
|
|
1113
1178
|
},
|
|
1114
|
-
|
|
1115
1179
|
watch: {
|
|
1116
1180
|
'row' () {
|
|
1117
1181
|
console.log('-------------------------------')
|
|
1118
1182
|
console.log(this.row)
|
|
1119
1183
|
},
|
|
1184
|
+
'model.metermessage.f_meter_type' (val) {
|
|
1185
|
+
console.log(val)
|
|
1186
|
+
if (val.length > 0) {
|
|
1187
|
+
if (val[0] != '气量卡表' && this.row.f_meter_type == '气量卡表') {
|
|
1188
|
+
this.allocateGas(this.model.f_remanent_gas, this.chargePrices, this.model.f_remanent_price)
|
|
1189
|
+
} else {
|
|
1190
|
+
if (this.model.f_comments) {
|
|
1191
|
+
this.model.f_comments = ''
|
|
1192
|
+
}
|
|
1193
|
+
}
|
|
1194
|
+
}
|
|
1195
|
+
},
|
|
1120
1196
|
'model.f_remanent_money' (val) {
|
|
1121
1197
|
console.log('观察补气金额', val)
|
|
1122
1198
|
if (!this.isGas) {
|
|
@@ -1126,9 +1202,20 @@ export default {
|
|
|
1126
1202
|
this.commitflag = true
|
|
1127
1203
|
}
|
|
1128
1204
|
},
|
|
1129
|
-
'model.f_remanent_gas' (val) {
|
|
1205
|
+
'model.f_remanent_gas' (val, val2) {
|
|
1206
|
+
console.log('观察补气量', val)
|
|
1130
1207
|
if (this.isGas) {
|
|
1131
|
-
this.
|
|
1208
|
+
if (this.row.f_meter_type == '气量卡表' && this.model.metermessage.f_meter_type[0] && this.model.metermessage.f_meter_type[0] != '气量卡表') {
|
|
1209
|
+
if (this.chargePrices.length < 1) {
|
|
1210
|
+
this.model.f_remanent_money = (val / this.model.f_remanent_price).toFixed(4)
|
|
1211
|
+
} else {
|
|
1212
|
+
this.allocateGas(this.model.f_remanent_gas, this.chargePrices, this.model.f_remanent_price)
|
|
1213
|
+
}
|
|
1214
|
+
} else {
|
|
1215
|
+
if (this.model.f_remanent_price > 0) {
|
|
1216
|
+
this.model.f_remanent_money = (val * this.model.f_remanent_price).toFixed(4)
|
|
1217
|
+
}
|
|
1218
|
+
}
|
|
1132
1219
|
}
|
|
1133
1220
|
if (this.model.f_using_base_old) {
|
|
1134
1221
|
this.commitflag = true
|
package/src/main.js
CHANGED
|
@@ -3,7 +3,7 @@ import all from 'vue-client/src/all'
|
|
|
3
3
|
import App from './App'
|
|
4
4
|
import system from 'system-clients/src/system'
|
|
5
5
|
import sale from './sale'
|
|
6
|
-
import FilialeSale from './filiale/
|
|
6
|
+
import FilialeSale from './filiale/qingjian/sale'
|
|
7
7
|
import address from 'address-client/src/address'
|
|
8
8
|
import ldap from 'ldap-clients/src/ldap'
|
|
9
9
|
import VueClipboard from 'vue-clipboard2'
|
package/src/sale.js
CHANGED
|
@@ -126,6 +126,8 @@ export default function () {
|
|
|
126
126
|
Vue.component('user-meterinfodetail', (resolve) => { require(['./components/revenue/base/leftview/meterinfodetail'], resolve) })
|
|
127
127
|
// 当前选择用户的其他信息
|
|
128
128
|
Vue.component('otherinfo', (resolve) => { require(['./components/revenue/base/leftview/otherinfo'], resolve) })
|
|
129
|
+
// 安检信息
|
|
130
|
+
Vue.component('sale-safecheck-info', (resolve) => { require(['./components/revenue/base/leftview/SafeCheck'], resolve) })
|
|
129
131
|
// 当前选择用户的发票信息
|
|
130
132
|
Vue.component('bill-message', (resolve) => { require(['./components/revenue/base/leftview/billMessage'], resolve) })
|
|
131
133
|
// 当前选择用户的阶梯使用信息
|