sale-client 3.7.56 → 3.7.57

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.
@@ -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 ] = ['https://www.qtxbnrq.cn:6300/', 'http://localhost:8080/', 'https://www.qtxbnrq.cn:6300/']
4
+ const [ serverRul, localUrl, v4Url ] = ['http://192.168.50.67:30785/', 'http://localhost:8080/', 'http://192.168.50.67:30785']
5
5
  var merge = require('webpack-merge')
6
6
  var baseConfig = require('./webpack.dev.conf')
7
7
  var devConfig = {
@@ -20,15 +20,14 @@ var devConfig = {
20
20
  },
21
21
  proxy: {
22
22
 
23
- // '/rs/file': {
24
- // pathRewrite: {
25
- // '^/rs/file/': '/api/af-revenue/file/'
26
- // },
27
- // target: serverRul
28
- // },
23
+ '/rs/file': {
24
+ pathRewrite: {
25
+ '^/rs/file/': '/api/af-revenue/file/'
26
+ },
27
+ target: serverRul
28
+ },
29
29
  '/api': {
30
- target: v4Url,
31
- ws: true
30
+ target: v4Url
32
31
  },
33
32
  '/sketch': {
34
33
  target: serverRul,
@@ -47,8 +46,7 @@ var devConfig = {
47
46
  target: serverRul
48
47
  },
49
48
  '/rs/sql/singleTable': {
50
- target: serverRul,
51
- ws: true
49
+ target: localUrl
52
50
  },
53
51
  '/invoice': {
54
52
  // pathRewrite: {
@@ -62,18 +60,65 @@ var devConfig = {
62
60
 
63
61
  // 查找资源服务数据
64
62
  '/rs/search': {
65
- target: serverRul,
66
- ws: true
63
+ target: serverRul
67
64
  },
68
65
  // 查找资源服务数据
69
66
  '/rs/logic/getLogin': {
70
- target: serverRul,
71
- ws: true
67
+ target: serverRul
68
+ },
69
+ // 查找资源服务数据
70
+ '/rs/logic/getInitData': {
71
+ target: serverRul
72
+ },
73
+ '/rs/logic/getSaleInitData': {
74
+ target: localUrl
75
+ },
76
+ // 用户登录服务地址
77
+ '/rs/user': {
78
+ target: serverRul
79
+ },
80
+ '/rs/path': {
81
+ target: serverRul
82
+ },
83
+ '/rs/data': {
84
+ target: serverRul
85
+ },
86
+ '/rs/license': {
87
+ target: serverRul
88
+ },
89
+ '/rs/db': {
90
+ target: serverRul
91
+ },
92
+ '/excel': {
93
+ target: serverRul
94
+ },
95
+ '/rs/config': {
96
+ target: serverRul
97
+ },
98
+ '/rs/report': {
99
+ target: serverRul
100
+ },
101
+ '/rs/vue': {
102
+ target: serverRul
103
+ },
104
+ '/rs/logic/webHandReverse': {
105
+ target: 'http://localhost:8085'
106
+ },
107
+ '/rs/logic': {
108
+ target: localUrl
109
+ },
110
+ '/rs/entity': {
111
+ target: localUrl
112
+ },
113
+ '/rs/sql': {
114
+ target: localUrl
115
+ },
116
+ '/webmeter': {
117
+ target: serverRul
72
118
  },
73
119
  '/rs': {
74
- target: serverRul,
75
- changeOrigin: true,
76
- ws: true
120
+ target: serverRul
121
+ // changeOrigin: true
77
122
  }
78
123
  }
79
124
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sale-client",
3
- "version": "3.7.56",
3
+ "version": "3.7.57",
4
4
  "description": "收费模块前台组件",
5
5
  "main": "src/index.js",
6
6
  "scripts": {
@@ -24,7 +24,7 @@
24
24
  "qrcodejs2": "^0.0.2",
25
25
  "vue": "^1.0.17",
26
26
  "webpack-dev-server": "^2.11.5",
27
- "vue-client": "1.25.38",
27
+ "vue-client": "1.26.8",
28
28
  "yarn": "^1.22.10"
29
29
  },
30
30
  "devDependencies": {
@@ -76,7 +76,7 @@
76
76
  "karma-spec-reporter": "0.0.31",
77
77
  "karma-webpack": "^2.0.2",
78
78
  "ldap-clients": "3.0.96",
79
- "system-clients": "4.0.12",
79
+ "system-clients": "3.2.90-tongchuan",
80
80
  "less": "^2.7.3",
81
81
  "manage-client": "3.1.8-88",
82
82
  "mkdirp": "^0.5.1",
@@ -0,0 +1,338 @@
1
+ <template>
2
+ <div class="auto basic-main" style="height:95%">
3
+ <criteria-paged :model="model" v-ref:paged>
4
+ <criteria partial='criteria' @condition-changed='$parent.selfSearch' v-ref:cri>
5
+ <div novalidate class="form-horizontal select-overspread container-fluid auto" partial>
6
+ <div class="row">
7
+ <div class="col-sm-2 form-group">
8
+ <label class="font_normal_body">组织机构</label>
9
+ <res-select restype='organization'
10
+ @res-select="$parent.$parent.getorg"
11
+ is-mul="false"
12
+ :initresid='$parent.$parent.curorgid'>
13
+ </res-select>
14
+ </div>
15
+ <div class="form-group col-sm-2">
16
+ <label class="font_normal_body">客户编号</label>
17
+ <input type="text" class="form-control" v-model="model.f_userinfo_code" style="width:60%"
18
+ condition="f_userinfo_code = '{}' " placeholder="客户编号"
19
+ >
20
+ </div>
21
+ <div class="form-group col-sm-2">
22
+ <label class="font_normal_body">用户姓名</label>
23
+ <input type="text" class="form-control" v-model="model.f_user_name" style="width:60%"
24
+ condition="f_user_name = '{}'" placeholder="用户姓名"
25
+ >
26
+ </div>
27
+ <div style="float: right">
28
+ <button class="button_search" @click="search()">查 询</button>
29
+ <!--<button class="button_search" @click="$parent.$parent.open_eTicket()">开票</button>-->
30
+ <div
31
+ :class="{'button_shrink_top':$parent.$parent.criteriaShow,'button_shrink_bottom':!$parent.$parent.criteriaShow}"
32
+ @click="$parent.$parent.criteriaShow=!$parent.$parent.criteriaShow"
33
+ class="button_spacing"
34
+ style="float: right"></div>
35
+ </div>
36
+ </div>
37
+ <div class="row" v-show="$parent.$parent.criteriaShow">
38
+ <div class="form-group col-sm-2" >
39
+ <label class="font_normal_body">业务类型</label>
40
+ <v-select id="f_charge_type"
41
+ style="width:60%"
42
+ v-model="model.f_type"
43
+ placeholder='业务类型'
44
+ condition="f_type ='{}'"
45
+ :value.sync="model.f_type"
46
+ :options='$parent.$parent.chargetypes'
47
+ close-on-select clear-button>
48
+ </v-select>
49
+ </div>
50
+ <div class="form-group col-sm-2">
51
+ <label for="startDate" class="font_normal_body">开始日期</label>
52
+ <datepicker id="startDate" placeholder="开始日期"
53
+ v-model="model.startDate"
54
+ :value.sync="model.startDate"
55
+ :disabled-days-of-Week="[]"
56
+ format="yyyy-MM-dd"
57
+ condition="f_operate_date >='{} 00:00:00'"
58
+ style="width:60%"
59
+ >
60
+ </datepicker>
61
+ </div>
62
+ <div class="form-group col-sm-2">
63
+ <label for="endDate" class="font_normal_body">结束日期</label>
64
+ <datepicker id="endDate" placeholder="结束日期"
65
+ v-model="model.endDate"
66
+ :value.sync="model.endDate"
67
+ :disabled-days-of-Week="[]"
68
+ format="yyyy-MM-dd"
69
+ condition="f_operate_date <='{} 23:59:59'"
70
+ style="width:60%"
71
+ >
72
+ </datepicker>
73
+ </div>
74
+ </div>
75
+ </div>
76
+ </criteria>
77
+ <data-grid :model="model" partial='list' class="list_area table_sy" v-ref:grid>
78
+ <template partial='head'>
79
+ <tr>
80
+ <th>序号</th>
81
+ <th>客户编号</th>
82
+ <th>用户姓名</th>
83
+ <th>用户地址</th>
84
+ <th>气量</th>
85
+ <th>应交金额</th>
86
+ <th>实收金额</th>
87
+ <th>收费类型</th>
88
+ <th>收费时间</th>
89
+ <th>操作</th>
90
+ </tr>
91
+ </template>
92
+ <template partial='body' >
93
+ <td style="text-align:center">{{$index+1}}</td>
94
+ <td style="text-align:center">{{row.f_userinfo_code}}</td>
95
+ <td style="text-align:center">{{row.f_user_name}}</td>
96
+ <td style="text-align:center">{{row.f_address}}</td>
97
+ <td style="text-align:center">{{row.f_pregas}}</td>
98
+ <td style="text-align:center">{{row.f_preamount}}</td>
99
+ <td style="text-align:center">{{row.f_collection}}</td>
100
+ <td style="text-align:center">{{row.f_type}}</td>
101
+ <td style="text-align:center">{{row.f_operate_date}}</td>
102
+ <td>
103
+ <button class="btn btn-link" @click="$parent.$parent.$parent.kp(row)">开具发票</button>
104
+ </td>
105
+ </template>
106
+ <template partial='foot'></template>
107
+ </data-grid>
108
+ </criteria-paged>
109
+ </div>
110
+ <modal :show.sync="eticket_msg" v-ref:modal large backdrop="false" :width="900">
111
+ <header slot="modal-header" class="modal-header">
112
+ <button type="button" class="close" @click="eticket_msg = false"><span>&times;</span></button>
113
+ <h4 class="modal-title">发票信息</h4>
114
+ </header>
115
+ <article slot="modal-body" class="modal-body">
116
+ <div class="auto select-overspread form-horizontal">
117
+ <div class="row auto">
118
+ <div class="col-sm-6 form-group form-input-group" :class="[!row.f_paper_name ? 'has-error' : '']">
119
+ <label class="control-label" style="width: 100px">开票名称:</label>
120
+ <input class="form-control col-sm-2"
121
+ v-model="row.f_paper_name" placeholder="开票名称">
122
+ </div>
123
+ <div class="col-sm-6 form-group form-input-group" :class="[!invoice_is_pax ? 'has-error' : '']">
124
+ <nobr class="col-sm-4"><label class="control-label" style="width: 100px">是否征税:</label></nobr>
125
+ <v-select v-model="invoice_is_pax"
126
+ placeholder='请选择'
127
+ :value.sync="invoice_is_pax"
128
+ close-on-select
129
+ :width="60"
130
+ :value-single="true"
131
+ :search="false"
132
+ :options='is_pax' clear-button>
133
+ </v-select>
134
+ </div>
135
+ <div class="col-sm-6 form-group form-input-group" :class="[!row.f_paper_type || row.f_paper_type === '' ? 'has-error' : '']">
136
+ <label class="control-label" style="width: 100px">发票种类:</label>
137
+ <v-select v-model="row.f_paper_type"
138
+ placeholder='请选择'
139
+ :value.sync="row.f_paper_type"
140
+ close-on-select
141
+ :width="60"
142
+ :value-single="true"
143
+ :search="false"
144
+ :options='invoice_types' clear-button>
145
+ </v-select>
146
+ </div>
147
+ <div class="col-sm-12 form-group form-input-group">
148
+ <label class="control-label" style="width: 100px">开户行及账号:</label>
149
+ <input class="form-control col-sm-2"
150
+ v-model="row.f_paper_account" placeholder="购方开户行及账号">
151
+ </div>
152
+ <div class="col-sm-12 form-group form-input-group" >
153
+ <label class="control-label" style="width: 100px">纳税人识别号:</label>
154
+ <input class="form-control col-sm-2"
155
+ v-model="row.f_taxpayer_id" placeholder="纳税人识别号">
156
+ </div>
157
+ <div class="col-sm-12 form-group form-input-group" :class="[!row.f_address_phone ? 'has-error' : '']">
158
+ <label class="control-label" style="width: 100px">开票地址电话:</label>
159
+ <input class="form-control col-sm-2"
160
+ v-model="row.f_address_phone" placeholder="开票地址">
161
+ </div>
162
+ <div class="col-sm-12 form-group form-input-group">
163
+ <label class="control-label" style="width: 100px">邮箱推送:</label>
164
+ <input class="form-control col-sm-2"
165
+ v-model="row.f_email" placeholder="邮箱推送">
166
+ </div>
167
+ <div class="col-sm-12 form-group form-input-group">
168
+ <label class="control-label" style="width: 100px">备注:</label>
169
+ <input class="form-control col-sm-2"
170
+ v-model="row.f_remarks" placeholder="备注">
171
+ </div>
172
+ </div>
173
+ </div>
174
+ </article>
175
+ <footer slot="modal-footer" class="modal-footer">
176
+ <button type="button" class="btn button_search"
177
+ :disabled="!(row.f_paper_name&&row.f_paper_type&&invoice_is_pax&&row.f_paper_type!== '')"
178
+ @click='confirm'>确认开票
179
+ </button>
180
+ </footer>
181
+ </modal>
182
+ <ticket-print :show="eticket_show" @toggle="eticket_toggle" v-ref:eticketbill></ticket-print>
183
+ </template>
184
+
185
+ <script>
186
+ /**
187
+ *发票冲红管理
188
+ */
189
+ import {HttpResetClass, PagedList} from 'vue-client'
190
+ import Vue from 'vue'
191
+ export default {
192
+ title: '结算开票',
193
+ data () {
194
+ return {
195
+ criteriaShow: false,
196
+ f_filialeids: Vue.$login.f.orgids,
197
+ model: new PagedList('rs/sql/openSellelent', 50, {}),
198
+ f_outlets: Vue.$login.f.f_parentname,
199
+ f_filiale: Vue.$login.f.f_fengongsi,
200
+ f_operator: Vue.$login.f.name,
201
+ f_orgstr: Vue.$login.f.orgpathstr,
202
+ invoice_types: this.$appdata.getParam('发票种类'),
203
+ invoice_is_pax: '征税',
204
+ is_pax: [{label: '征税', value: '征税'}, {label: '不征税', value: '不征税'}],
205
+ selecteds: [],
206
+ eticket_show: false,
207
+ eticket_msg: false,
208
+ invoice_show_gas: '否',
209
+ show_gas: [{label: '是', value: '是'}, {label: '否', value: '否'}],
210
+ row: {},
211
+ disabled: false,
212
+ printstyle: this.$appdata.getParam('打印电子格式') ? this.$appdata.getParam('打印电子格式') : [{label: '电子发票', value: '电子发票'}],
213
+ mid: [{label: '全部', value: ''}, {label: '是', value: ' > 0 '}, {label: '否', value: ' is null'}],
214
+ curorgid: [this.$login.f.orgid]
215
+ }
216
+ },
217
+ ready () {
218
+ const day = this.$login.toStandardDateString()
219
+ this.$refs.paged.$refs.cri.model.startDate = day
220
+ this.$refs.paged.$refs.cri.model.endDate = day
221
+ },
222
+ methods: {
223
+ async kp (row) {
224
+ let HttpReset = new HttpResetClass()
225
+ let _row = await HttpReset.load('POST', 'rs/sql/sale_getUser', {
226
+ data: {
227
+ orderitem: 'f_userinfo_code',
228
+ condition: `f_userinfo_code = '${row.f_userinfo_code}'`
229
+ }
230
+ }, {resolveMsg: null, rejectMsg: '获取地址失败!'})
231
+ this.row = _row.data[0]
232
+ this.row.id = row.id
233
+ this.row.f_type = row.f_type
234
+ this.invoice_show_gas = this.row.f_collection_type === '按气量' ? '是' : '否'
235
+ if (!this.row.f_taxpayer_id) {
236
+ this.row.f_taxpayer_id = this.row.f_idnumber
237
+ }
238
+ if (!this.row.f_paper_name) {
239
+ this.row.f_paper_name = this.row.f_user_name
240
+ }
241
+ if (!this.row.f_address_phone) {
242
+ this.row.f_address_phone = this.row.f_address + ' ' + this.row.f_user_phone
243
+ }
244
+ this.eticket_msg = true
245
+ },
246
+ closeEticket () {
247
+ this.eticket_msg = false
248
+ this.disabled = false
249
+ },
250
+ getorg (val) {
251
+ this.f_orgid = this.$login.convertToIn(val)
252
+ this.f_filialeids = val[0]
253
+ },
254
+ cancel () {
255
+ this.show = false
256
+ this.info = {}
257
+ },
258
+ async open_eTicket () {
259
+ if (this.selecteds.length > 1) {
260
+ this.$showAlert('选中条数大于一条,请重新修改!!', 'warning', 2000)
261
+ return
262
+ }
263
+ let HttpReset = new HttpResetClass()
264
+ let row = await HttpReset.load('POST', 'rs/sql/sale_getUser', {
265
+ data: {
266
+ orderitem: 'f_userinfo_code',
267
+ condition: `f_userinfo_code = '${[...new Set(this.selecteds.map(item => item.f_userinfo_code))][0]}'`
268
+ }
269
+ }, {resolveMsg: null, rejectMsg: '获取地址失败!'})
270
+ this.row = row.data[0]
271
+ this.invoice_show_gas = this.row.f_collection_type === '按气量' ? '是' : '否'
272
+ if (!this.row.f_taxpayer_id) {
273
+ this.row.f_taxpayer_id = this.row.f_idnumber
274
+ }
275
+ if (!this.row.f_paper_name) {
276
+ this.row.f_paper_name = this.row.f_user_name
277
+ }
278
+ if (!this.row.f_address_phone) {
279
+ this.row.f_address_phone = this.row.f_address + ' ' + this.row.f_user_phone
280
+ }
281
+ if (this.selecteds.map(item => item.f_type).toString() === '其他收费') {
282
+ this.disabled = true
283
+ }
284
+
285
+ this.eticket_msg = true
286
+ },
287
+ confirm () {
288
+ // this.row.f_print = this.invoice_is_pax
289
+ this.row.invoice_is_pax = this.invoice_is_pax
290
+ this.eticket_msg = false
291
+ this.disabled = false
292
+ this.eticket_show = true
293
+ this.$refs.eticketbill.openETicket(this.row.id, this.row, this.row.f_type, this.row.f_paper_type, false, this.invoice_is_pax)
294
+ },
295
+ eticket_toggle () {
296
+ this.eticket_show = false
297
+ this.search()
298
+ },
299
+ async selfSearch (args) {
300
+ if (!this.f_orgid) {
301
+ this.getorg([this.$login.f.orgid])
302
+ }
303
+ const base = (args.condition && String(args.condition).trim()) ? args.condition : '1=1'
304
+ args.condition = ` f_orgid='${this.f_filialeids}' and ${base}`
305
+
306
+ await this.model.search(args.condition, this.model)
307
+ this.addOrRemove(true)
308
+ },
309
+ search () {
310
+ this.$refs.paged.$refs.cri.search()
311
+ this.$dispatch('refresh')
312
+ },
313
+ addOrRemove (is) {
314
+ this.selecteds = []
315
+ if (!is) { // 添加本页所有数据到ids中
316
+ this.model.rows.forEach((row) => {
317
+ this.selecteds.push(row)
318
+ })
319
+ this.selectAll = true
320
+ } else { // 从ids中取消所有的数据
321
+ this.selecteds = []
322
+ this.selectAll = false
323
+ }
324
+ console.log('selectdde', this.selecteds)
325
+ }
326
+ },
327
+ computed: {
328
+ chargetypes () {
329
+ return [{label: '全部', value: ''}, ...this.$appdata.getParam('收费类型')]
330
+ }
331
+ },
332
+ watch: {
333
+ selecteds () {
334
+ console.log('框框的长度', this.selecteds.length)
335
+ }
336
+ }
337
+ }
338
+ </script>
@@ -0,0 +1,432 @@
1
+ <template>
2
+ <div class="auto basic-main" style="height:95%">
3
+ <criteria-paged :model="model" v-ref:paged @sort="sort">
4
+ <criteria partial='criteria' @condition-changed='$parent.selfSearch' v-ref:cri>
5
+ <div novalidate class="form-horizontal select-overspread container-fluid auto" partial>
6
+ <div class="row">
7
+ <div class="form-group col-sm-2">
8
+ <label class="font_normal_body">客户编号</label>
9
+ <input type="text" class="form-control" v-model="model.f_userinfo_code" style="width:60%"
10
+ condition="f_userinfo_code = '{}' " placeholder="客户编号"
11
+ >
12
+ </div>
13
+ <div class="form-group col-sm-2">
14
+ <label class="font_normal_body">用户姓名</label>
15
+ <input type="text" class="form-control" v-model="model.f_user_name" style="width:60%"
16
+ condition="f_user_name = '{}'" placeholder="用户姓名"
17
+ >
18
+ </div>
19
+ <div class="form-group col-sm-2">
20
+ <label class="font_normal_body">客户地址</label>
21
+ <input type="text" class="form-control" v-model="model.f_buy_address_phone" style="width:60%"
22
+ condition="f_buy_address_phone like '%{}%'" placeholder="客户地址"
23
+ >
24
+ </div>
25
+ <div class="form-group col-sm-2">
26
+ <label class="font_normal_body">票据状态</label>
27
+ <v-select id="f_bill_state"
28
+ style="width:60%"
29
+ v-model="model.f_bill_state"
30
+ placeholder='票据状态'
31
+ condition="f_bill_state ='{}'"
32
+ :value.sync="model.f_bill_state"
33
+ :options='$parent.$parent.eticktypes'
34
+ :search="false"
35
+ close-on-select clear-button>
36
+ </v-select>
37
+ </div>
38
+ <div style="float: right">
39
+ <button class="button_search" @click="search()">查 询</button>
40
+ <button class="button_clear button_spacing" @click="$parent.$parent.clear()">清空</button>
41
+ <export-excel :data="$parent.$parent.getCondition"
42
+ :field="$parent.$parent.fields"
43
+ sqlurl="rs/logic/saleExport" sql-name="eticket_query"
44
+ template-name='发票记录导出'
45
+ :choose-col="true">
46
+ </export-excel>
47
+ <div
48
+ :class="{'button_shrink_top':$parent.$parent.criteriaShow,'button_shrink_bottom':!$parent.$parent.criteriaShow}"
49
+ @click="$parent.$parent.criteriaShow=!$parent.$parent.criteriaShow"
50
+ class="button_spacing"
51
+ style="float: right"></div>
52
+ </div>
53
+ </div>
54
+ <div class="row" v-show="$parent.$parent.criteriaShow">
55
+ <div class="form-group col-sm-2">
56
+ <label class="font_normal_body">开票日期</label>
57
+ <datepicker id="f_operate_datestarthate" placeholder="开始日期"
58
+ v-model="model.f_operate_datestarthate"
59
+ :value.sync="model.f_operate_datestarthate"
60
+ format="yyyy-MM-dd"
61
+ condition="f_operate_date >= '{} 00:00:00'"
62
+ style="width:60%">
63
+ </datepicker>
64
+ </div>
65
+ <div class="form-group col-sm-2">
66
+ <label class="font_normal_body">&nbsp;&nbsp;至&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</label>
67
+ <datepicker id="f_operate_dateendDate" placeholder="结束日期"
68
+ v-model="model.f_operate_dateendDate"
69
+ :value.sync="model.f_operate_dateendDate"
70
+ format="yyyy-MM-dd"
71
+ condition=" f_operate_date <= '{} 23:59:59'"
72
+ style="width:60%">
73
+ </datepicker>
74
+ </div>
75
+ <div class="col-sm-2 form-group flex-row" style="white-space: nowrap">
76
+ <label class="font_normal_body">发票金额</label>
77
+ <div class="row">
78
+ <input type="text" style="width:27%" class="input_search" v-model="model.f_collection_small"
79
+ condition="f_total_money >= {} " placeholder="">
80
+ <label class="font_normal_body"> ≤ x ≤ </label>
81
+ <input type="text" style="width:27%" class="input_search" v-model="model.f_collection_big"
82
+ condition="f_total_money <= {} " placeholder="">
83
+ </div>
84
+ </div>
85
+ <div class="form-group col-sm-2">
86
+ <label class="font_normal_body">开票人&nbsp;&nbsp;</label>
87
+ <input type="text" class="form-control" v-model="model.f_operator" style="width:60%"
88
+ condition="f_operator = '{}' " placeholder="开票人"
89
+ >
90
+ </div>
91
+ <div class="form-group col-sm-2">
92
+ <label class="font_normal_body">收款人&nbsp;&nbsp;</label>
93
+ <input type="text" class="form-control" v-model="model.sell_operator" style="width:60%"
94
+ condition="(s.sell_operator = '{}' or other.sell_operator = '{}') " placeholder="收款人"
95
+ >
96
+ </div>
97
+ <div class="col-sm-2 form-group">
98
+ <label class="font_normal_body">用户类型</label>
99
+ <v-select :value.sync="model.f_user_type"
100
+ :options='$parent.$parent.usertypes'
101
+ placeholder='请选择' v-model="model.f_user_type"
102
+ condition="(s.f_user_type = '{}' or uf.f_user_type = '{}') "
103
+ close-on-select></v-select>
104
+ </div>
105
+ </div>
106
+ <div class="row" v-show="$parent.$parent.criteriaShow">
107
+ <div class="form-group col-sm-2">
108
+ <label class="font_normal_body">发票号码&nbsp;&nbsp;</label>
109
+ <input type="text" class="form-control" v-model="model.f_bill_number" style="width:60%"
110
+ condition="f_bill_number = '{}'" placeholder="发票号码"
111
+ >
112
+ </div>
113
+ <div class="form-group col-sm-2">
114
+ <label class="font_normal_body">发票类型</label>
115
+ <v-select id="f_invoice_category"
116
+ style="width:60%"
117
+ v-model="model.f_invoice_category"
118
+ placeholder='票据状态'
119
+ condition="f_invoice_category ='{}'"
120
+ :value.sync="model.f_invoice_category"
121
+ :options='$parent.$parent.eticketcategory'
122
+ :search="false"
123
+ close-on-select clear-button>
124
+ </v-select>
125
+ </div>
126
+ </div>
127
+ </div>
128
+ </criteria>
129
+ <data-grid :model="model" partial='list' class="list_area table_sy" v-ref:grid>
130
+ <template partial='head'>
131
+ <tr>
132
+ <th>
133
+ <nobr>客户编号</nobr>
134
+ </th>
135
+ <th>
136
+ <nobr>客户姓名</nobr>
137
+ </th>
138
+ <th>
139
+ <nobr>客户地址电话</nobr>
140
+ </th>
141
+ <th>
142
+ <nobr>用户类型</nobr>
143
+ </th>
144
+ <th>
145
+ <data-order field="f_total_money" name="实收金额"
146
+ :order.sync="$parent.$parent.$parent.orderFields.f_collection"></data-order>
147
+ </th>
148
+ <th>
149
+ <data-order field="f_total_money" name="开票金额"
150
+ :order.sync="$parent.$parent.$parent.orderFields.f_total_money"></data-order>
151
+ </th>
152
+ <th>
153
+ <nobr>不含税金额</nobr>
154
+ </th>
155
+ <th>
156
+ <nobr>发票种类</nobr>
157
+ </th>
158
+ <th>
159
+ <nobr>发票类型</nobr>
160
+ </th>
161
+ <th>
162
+ <nobr>发票代码</nobr>
163
+ </th>
164
+ <th>
165
+ <nobr>发票流水号</nobr>
166
+ </th>
167
+ <th>
168
+ <nobr>发票号码</nobr>
169
+ </th>
170
+ <th>
171
+ <nobr>发票状态</nobr>
172
+ </th>
173
+ <th>
174
+ <nobr>失败原因</nobr>
175
+ </th>
176
+ <th>
177
+ <nobr>业务类型</nobr>
178
+ </th>
179
+ <th>
180
+ <nobr>开票描述</nobr>
181
+ </th>
182
+ <th>
183
+ <nobr>收费时间</nobr>
184
+ </th>
185
+ <th>
186
+ <nobr>开票时间</nobr>
187
+ </th>
188
+ <th>
189
+ <nobr>开票人</nobr>
190
+ </th>
191
+ <th>
192
+ <nobr>收款人</nobr>
193
+ </th>
194
+ <th>
195
+ <nobr>查看发票</nobr>
196
+ </th>
197
+ <th>
198
+ <nobr>操作</nobr>
199
+ </th>
200
+ </tr>
201
+ </template>
202
+ <template partial='body' :model="model">
203
+ <tr>
204
+ <th style="text-align:center">{{ row.f_userinfo_code }}</th>
205
+ <th style="text-align:center">{{ row.f_user_name }}</th>
206
+ <th style="text-align:center">{{ row.f_buy_address_phone }}</th>
207
+ <th style="text-align:center">{{ row.f_user_type }}</th>
208
+ <th style="text-align:center">{{ row.f_collection }}</th>
209
+ <th style="text-align:center">{{ row.f_total_money }}</th>
210
+ <th style="text-align:center">{{ row.f_tax_money }}</th>
211
+ <th style="text-align:center">{{ row.f_invoice_category }}</th>
212
+ <th style="text-align:center">{{ row.f_invoice_type === '0' ? '蓝票' : '红票'}}</th>
213
+ <th style="text-align:center">{{ row.f_bill_code }}</th>
214
+ <th style="text-align:center">{{ row.f_fpqqlsh }}</th>
215
+ <th style="text-align:center">{{ row.f_bill_number }}</th>
216
+ <th style="text-align:center">{{ row.f_bill_state }}</th>
217
+ <th style="text-align:center">{{ row.f_remessage }}</th>
218
+ <th style="text-align:center">{{ row.f_charge_type }}</th>
219
+ <th style="text-align:center">{{ row.f_sign_result }}</th>
220
+ <th style="text-align:center">{{ row.sell_operate_date }}</th>
221
+ <th style="text-align:center">{{ row.f_operate_date }}</th>
222
+ <th style="text-align:center">{{ row.f_operator }}</th>
223
+ <th style="text-align:center">{{ row.sell_operator }}</th>
224
+ <th style="text-align:center">
225
+ <button class="btn btn-link" v-if="row.f_bill_url"
226
+ @click="$parent.$parent.$parent.watch_ch(row.f_bill_url)">
227
+ 查看发票
228
+ </button>
229
+ </th>
230
+ <th style="text-align:center">
231
+ <template v-if="row.f_invoice_source !== '外部录入'">
232
+ <button class="btn btn-link" v-if="row.f_bill_state==='开票成功' && row.f_invoice_type === '0'"
233
+ @click="$parent.$parent.$parent.fp_ch(row)">发票冲红
234
+ </button>
235
+ <button class="btn btn-link" v-if="row.f_bill_state==='待开票'"
236
+ @click="$parent.$parent.$parent.kp(row)">开票
237
+ </button>
238
+ <button class="btn btn-link" v-if="row.f_bill_state==='开票失败'"
239
+ @click="$parent.$parent.$parent.Rekp(row)">重新开票
240
+ </button>
241
+ <!-- <button class="btn btn-link" v-if="['查询失败','等待查询'].includes(row.f_bill_state)"-->
242
+ <!-- @click="$parent.$parent.$parent.fp_search(row)">电票查询-->
243
+ <!-- </button>-->
244
+ </template>
245
+ </th>
246
+ </tr>
247
+ </template>
248
+ </data-grid>
249
+ </criteria-paged>
250
+ </div>
251
+ <modal v-if="show" :show.sync="show" v-ref:modal backdrop="false">
252
+ <header slot="modal-header" class="modal-header">
253
+ <h4 class="modal-title">撤销原因</h4>
254
+ </header>
255
+ <article slot="modal-body" class="modal-body">
256
+ <validator name='v'>
257
+ <form class="form-horizontal select-overspread">
258
+ <div class="form-group" :class="[$v.f_cancel_reason.required ? 'has-error' : 'has-success']">
259
+ <label class=" col-sm-3 control-label">冲红备注:</label>
260
+ <div class="col-sm-8">
261
+ <textarea class="form-control" v-model="bz" rows="3"
262
+ placeholder="请填写冲红备注" v-validate:bz='{required: true}'></textarea>
263
+ </div>
264
+ </div>
265
+ </form>
266
+ </validator>
267
+ </article>
268
+ <footer slot="modal-footer" class="modal-footer">
269
+ <button v-show="show" type="button" class="button_search" @click='confirm()' :disabled="!$v.valid ">确认</button>
270
+ <button v-show="show" type="button" class="button_clear" @click='close'>取消</button>
271
+ </footer>
272
+ </modal>
273
+ <ticket-print :show="eticket_show" @toggle="eticket_toggle" v-ref:eticketbill></ticket-print>
274
+ </template>
275
+ <script>
276
+
277
+ import {PagedList} from 'vue-client'
278
+
279
+ export default {
280
+ title: '发票管理',
281
+ data () {
282
+ return {
283
+ model: new PagedList('rs/sql/eticket_query', 20, {orderitem: this.orderitem ? '"' + this.orderitem + ' "' : `'f_operate_date desc'`}),
284
+ criteriaShow: false,
285
+ eticket_show: false,
286
+ orgCondtionStr: '',
287
+ showsum_show: false,
288
+ invoice_types: this.$appdata.getParam('发票种类'),
289
+ eticktypes: [{label: '开票成功', value: '开票成功'}, {label: '等待查询', value: '等待查询'}, {
290
+ label: '开票失败',
291
+ value: '开票失败'
292
+ }, {
293
+ label: '冲红失败',
294
+ value: '冲红失败'
295
+ }, {label: '冲红', value: '冲红'}, {label: '撤销', value: '撤销'}],
296
+ eticketcategory: [{label: '数电普票', value: '数电普票'}, {label: '数电专票', value: '数电专票'},{label: '电子发票', value: '电子发票'},
297
+ {label: '普通收据', value: '普通收据'}, {label: '专用发票', value: '专用发票'}],
298
+ show: false,
299
+ bz: '',
300
+ row: {},
301
+ orderFields: {
302
+ f_operate_date: 'desc',
303
+ f_collection: 'no',
304
+ f_total_money: 'no'
305
+ },
306
+ // 排序
307
+ orderitem: ' f_operate_date desc ',
308
+ fields: {
309
+ 'f_userinfo_code': '客户编号',
310
+ 'f_user_name': '客户姓名',
311
+ 'f_buy_address_phone': '用户地址',
312
+ 'f_user_type': '用户类型',
313
+ 'f_collection': '实收金额',
314
+ 'f_total_money': '开票金额',
315
+ 'f_tax_money': '不含税金额',
316
+ 'f_invoice_category': '发票种类',
317
+ 'f_invoice_type': '发票类型',
318
+ 'f_bill_code': '发票代码',
319
+ 'f_fpqqlsh': '发票流水号',
320
+ 'f_bill_number': '发票号码',
321
+ 'f_bill_state': '发票状态',
322
+ 'f_remessage': '失败原因',
323
+ 'f_charge_type': '业务类型',
324
+ 'sell_operate_date': '收费时间',
325
+ 'f_operate_date': '开票时间',
326
+ 'f_operator': '开票人',
327
+ 'sell_operator': '收款人'
328
+ },
329
+ install_show: false
330
+ }
331
+ },
332
+ ready () {
333
+ },
334
+ methods: {
335
+ async Rekp (row) {
336
+ console.log('重开参数' + JSON.stringify(row))
337
+ this.eticket_show = true
338
+ row.f_paper_name = row.f_user_name
339
+ row.f_email = row.f_mail_push
340
+ row.f_taxpayer_id = row.f_pay_id
341
+ row.f_address_phone = row.f_buy_address_phone
342
+ row.f_paper_accoun = row.f_buy_openbank
343
+ await this.$refs.eticketbill.openETicket(row.f_sell_id, row, row.f_charge_type, row.f_invoice_category, true)
344
+ },
345
+ search () {
346
+ this.$refs.paged.$refs.cri.search()
347
+ },
348
+ clear () {
349
+ this.$refs.paged.$refs.cri.model = {}
350
+ },
351
+ selfSearch (args) {
352
+ this.model.search(args.condition, args.model)
353
+ },
354
+ sort (field, rule) {
355
+ // 将所有排序方式设为不排序,实现相互排斥
356
+ for (let key in this.orderFields) {
357
+ if (key === field) {
358
+ this.orderFields[key] = rule
359
+ } else {
360
+ this.orderFields[key] = 'no'
361
+ }
362
+ }
363
+ // 如果新规则不排序,还原为默认排序
364
+ if (rule === 'no') {
365
+ this.model.paramSource.orderitem = `'${this.orderitem}'`
366
+ } else {
367
+ this.model.paramSource.orderitem = `'${field} ${rule}'`
368
+ }
369
+ this.search()
370
+ },
371
+ async confirm () {
372
+ this.eticket_show = true
373
+ await this.$refs.eticketbill.rushRedInvoice({id: this.row.f_sell_id, eticket_id: this.row.id, bz: this.bz})
374
+ },
375
+ async fp_search (row) {
376
+ this.eticket_show = true
377
+ await this.$refs.eticketbill.fp_search(row, row.id)
378
+ },
379
+ watch_ch (src) {
380
+ this.eticket_show = true
381
+ this.$refs.eticketbill.watch_ch(src)
382
+ },
383
+ fp_ch (row) {
384
+ this.row = row
385
+ this.show = true
386
+ this.bz = `对应正数发票代码:${row.f_bill_code},号码:${row.f_bill_number}。`
387
+ },
388
+ close () {
389
+ this.show = false
390
+ this.install_show = false
391
+ },
392
+ kp (row) {
393
+ this.eticket_show = true
394
+ this.$refs.eticketbill.openETicket(row.f_sell_id, row, row.f_charge_type)
395
+ },
396
+ eticket_toggle () {
397
+ this.eticket_show = false
398
+ this.show = false
399
+ this.row = {}
400
+ this.bz = ''
401
+ }
402
+ },
403
+ computed: {
404
+ usertypes () {
405
+ return [{label: ' 全部 ', value: ''}, ...this.$appdata.getParam('用户类型')]
406
+ },
407
+ getCondition () {
408
+ return {
409
+ condition: `${this.$refs.paged.$refs.cri.condition}` + this.orgCondtionStr,
410
+ orderitem: this.orderitem ? `${this.orderitem}` : " f_operate_date desc"
411
+ }
412
+ }
413
+ },
414
+ events: {
415
+ 'search' () {
416
+ this.search()
417
+ }
418
+ },
419
+ watch: {}
420
+ }
421
+ </script>
422
+ <style scoped>
423
+ th {
424
+ text-align: center;
425
+ padding: 2px;
426
+ }
427
+
428
+ td {
429
+ text-align: center;
430
+ padding: 2px;
431
+ }
432
+ </style>
@@ -17,5 +17,9 @@ export default function () {
17
17
  // 当前选择用户的表具基本信息
18
18
  Vue.component('user-meterinfodetail', (resolve) => { require(['./meterinfodetail'], resolve) })
19
19
  // 电子发票开票
20
- Vue.component('e-ticket-open-card-query-v4', (resolve) => { require(['./EticketManage'], resolve) })
20
+ Vue.component('e-ticket-manage-query-v4', (resolve) => { require(['./EticketManage'], resolve) })
21
+ // 电子发票记录查看
22
+ Vue.component('e-ticket-record-list-query-v4', (resolve) => { require(['./EticketRecordList'], resolve) })
23
+ // 收费开票
24
+ Vue.component('cust-query-eticket-query-v4', (resolve) => { require(['./CustQueryEticket'], resolve) })
21
25
  }
@@ -716,7 +716,8 @@ export default {
716
716
  f_meterbase: this.model.f_using_base_old,
717
717
  f_meter_brand: this.row.f_meter_brand,
718
718
  f_meter_classify: this.row.f_meter_type,
719
- f_price_id: this.row.f_price_id
719
+ f_price_id: this.row.f_price_id,
720
+ version: this.row.version
720
721
  }
721
722
  this.$resetpost(url, {data: data}, {resolveMsg: '生成欠费成功', rejectMsg: '生成欠费失败'}).then((res) => {
722
723
  console.log('成功')
@@ -135,7 +135,7 @@
135
135
  </div>
136
136
  <div :class="{'col-sm-2':!$parent.$parent.createFile,'col-sm-4':$parent.$parent.createFile}"
137
137
  class="form-group">
138
- <label class="font_normal_body">开户时间</label>
138
+ <label class="font_normal_body">户档案开户时间</label>
139
139
  <datepicker :format="'yyyy-MM-dd'" :value.sync="model.f_start_date"
140
140
  class="datepicker"
141
141
  condition="f_open_date >= '{} 00:00:00' "
@@ -155,6 +155,28 @@
155
155
  v-model="model.f_end_date"
156
156
  ></datepicker>
157
157
  </div>
158
+ <div :class="{'col-sm-2':!$parent.$parent.createFile,'col-sm-4':$parent.$parent.createFile}"
159
+ class="form-group">
160
+ <label class="font_normal_body">表档案开户时间</label>
161
+ <datepicker :format="'yyyy-MM-dd'" :value.sync="model.f_start_date_uf"
162
+ class="datepicker"
163
+ condition="f_open_date_uf >= '{} 00:00:00' "
164
+ placeholder="起始时间"
165
+ style="width:60%"
166
+ v-model="model.f_start_date_uf"
167
+ ></datepicker>
168
+ </div>
169
+ <div :class="{'col-sm-2':!$parent.$parent.createFile,'col-sm-4':$parent.$parent.createFile}"
170
+ class="form-group" >
171
+ <label class="font_normal_body" >&emsp;&ensp;至&emsp;&ensp;</label>
172
+ <datepicker :format="'yyyy-MM-dd'" :value.sync="model.f_end_date_uf"
173
+ class="datepicker"
174
+ condition="f_open_date_uf <= '{} 23:59:59' "
175
+ placeholder="结束时间"
176
+ style="width:60%"
177
+ v-model="model.f_end_date_uf"
178
+ ></datepicker>
179
+ </div>
158
180
  <div
159
181
  :class="{'col-sm-2':!$parent.$parent.createFile,'col-sm-4':$parent.$parent.createFile}"
160
182
  class="form-group">
@@ -418,7 +440,10 @@
418
440
  <nobr>发卡状态</nobr>
419
441
  </th>
420
442
  <th v-if="!$parent.$parent.$parent.createFile">
421
- <nobr>开户时间</nobr>
443
+ <nobr>户档案开户时间</nobr>
444
+ </th>
445
+ <th v-if="!$parent.$parent.$parent.createFile">
446
+ <nobr>表档案开户时间</nobr>
422
447
  </th>
423
448
  <th v-if="!$parent.$parent.$parent.createFile">
424
449
  <nobr>建档人</nobr>
@@ -480,6 +505,7 @@
480
505
  <td style="text-align: center;">{{row.f_price_name}}</td>
481
506
  <td style="text-align: center;">{{row.f_whether_hairpin}}</td>
482
507
  <td style="text-align: center;" v-if="!$parent.$parent.$parent.createFile">{{row.f_open_date}}</td>
508
+ <td style="text-align: center;" v-if="!$parent.$parent.$parent.createFile">{{row.f_open_date_uf}}</td>
483
509
  <td style="text-align: center;" v-if="!$parent.$parent.$parent.createFile">{{row.f_createfile_person}}</td>
484
510
  <td style="text-align: center;" v-if="!$parent.$parent.$parent.createFile">{{row.f_userfiles_address}}</td>
485
511
  <td style="text-align: center;" v-if="!$parent.$parent.$parent.createFile">{{row.f_feed_method}}</td>
@@ -179,6 +179,7 @@
179
179
  <datepicker style="width:60%" placeholder="通气日期"
180
180
  v-model="row.f_gas_date"
181
181
  v-ref:f_gas_date
182
+ :disabled ="isedit"
182
183
  :value.sync="row.f_gas_date"
183
184
  :format="'yyyy-MM-dd HH:mm:ss'"
184
185
  :show-reset-button="reset"
@@ -471,7 +472,7 @@ let meterBookGen = function * (self) {
471
472
  finalDate: ''
472
473
  }
473
474
  },
474
- props: ['f_filialeid', 'meter', 'isdecimal', 'valid', 'f_userinfo_id'],
475
+ props: ['f_filialeid', 'meter', 'isdecimal', 'valid', 'f_userinfo_id', 'isedit'],
475
476
  ready () {
476
477
  console.log('看看meter里面的数据', this.meter, this.row)
477
478
  console.log('--------------====================', this.meter.f_aroundmeter, this.row.f_aroundmeter)
@@ -17,7 +17,7 @@
17
17
 
18
18
  <div style="height: auto;width: 100%">
19
19
  <file-user-meter-info :meterinfo="data.meterinfo" :f_filialeid="f_filialeid" :metervalid.sync="meterInfo"
20
- :f_userinfo_id="data.baseinfo.base.f_userinfo_id" v-ref:meter></file-user-meter-info>
20
+ :f_userinfo_id="data.baseinfo.base.f_userinfo_id" :isedit="isedit" v-ref:meter></file-user-meter-info>
21
21
  </div>
22
22
 
23
23
  <div style="height: auto;width: 100%">
@@ -9,7 +9,7 @@
9
9
  <button class="button_search" style="width: max-content" @click="showDevices($index, row)">用气设备信息</button>
10
10
  </div>
11
11
  <file-meter-info :meter="row" :f_filialeid="f_filialeid" :usertype="usertype" :gasproperties="gasproperties" @self-valid='valida'
12
- @delete-meter="deleteMeter($index)" :f_userinfo_id="f_userinfo_id"></file-meter-info>
12
+ @delete-meter="deleteMeter($index)" :f_userinfo_id="f_userinfo_id" :isedit="isedit"></file-meter-info>
13
13
 
14
14
  </div>
15
15
  <div class="panel panel-default auto text-center" @click="addMeter()" style="cursor: pointer;">
@@ -46,7 +46,8 @@ export default {
46
46
  twoWay: true
47
47
  },
48
48
  f_filialeid: {},
49
- f_userinfo_id: {}
49
+ f_userinfo_id: {},
50
+ isedit: ''
50
51
  },
51
52
  ready () {
52
53
  console.log('表具信息,,,,', this.meterinfo)
package/src/main.js CHANGED
@@ -2,7 +2,7 @@ import Vue from 'vue'
2
2
  import all from 'vue-client/src/all'
3
3
  import App from './App'
4
4
  import system from 'system-clients/src/system'
5
- import FilialeSale from './filiale/qingtongxia/sale'
5
+ import FilialeSale from './filiale/shiquan/sale'
6
6
  import sale from './sale'
7
7
  import address from 'address-client/src/address'
8
8
  import ldap from 'ldap-clients/src/ldap'
File without changes
File without changes
File without changes
@@ -1,2 +0,0 @@
1
- #Tue Mar 24 09:35:09 CST 2026
2
- gradle.version=5.2.1
Binary file
File without changes
package/kdn DELETED
@@ -1,44 +0,0 @@
1
- TaiYuan
2
- V3
3
- V3_修复阳春机表查询
4
- V3_卡表抄表:使用类型条件筛查项
5
- V3_商洛补气记录维护布局调整
6
- V3_巴彦卡表收费四舍五入
7
- V3_巴彦卡表收费计算公式添加结果
8
- V3_巴彦退费问题
9
- V3_巴彦问题修改
10
- V3_巴彦需求
11
- V3_府谷欠费停用
12
- V3_府谷欠费停用修改之前的错
13
- V3_德信其他欠费需求
14
- V3_武安添加表前封号和表后封号
15
- V3_泾阳发票管理需求
16
- V3_泾阳对账添加商户号
17
- V3_泾阳报错
18
- V3_泾阳自助机对账
19
- V3_清涧
20
- V3_清涧批量修改调压箱
21
- V3_清零换表写卡问题
22
- V3_燎原问题
23
- V3_石门增加自助机对账汇总
24
- V3_石门评价
25
- V3_科莱需求
26
- V3_综合收费查询添加查询条件证件号
27
- V3_荣创其他收费服务人员改必选
28
- V3_荣成报警器年限
29
- V3_荣成改错
30
- V3_贵州鼎城附件上传问题
31
- V3_附件查看图片显示
32
- * V3toV4
33
- aode
34
- aodelinshi
35
- fanxiangas
36
- jincheng
37
- ningdu
38
- weinan-v3
39
- xianyangOracle
40
- 巩义V3
41
- 巴彦淖尔
42
- 府谷正式
43
- 彩虹V3
44
- 龙山V3