sale-client 3.6.176 → 3.6.178

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sale-client",
3
- "version": "3.6.176",
3
+ "version": "3.6.178",
4
4
  "description": "收费模块前台组件",
5
5
  "main": "src/index.js",
6
6
  "scripts": {
@@ -14,8 +14,9 @@
14
14
  <a style="font-size: 16px;font-weight: 500;">设备基本信息</a>&nbsp;<a style="color: #999999;text-decoration: none"></a>
15
15
  </div>
16
16
  <div class="row auto" style="margin-top: 10px;margin-left: 10px;">
17
- <div class="col-sm-6 form-group" style="padding-right: 5px;">
18
- <label class="font_normal_body">设备类型</label>
17
+ <div class="col-sm-6 form-group" style="padding-right: 5px;" :class="[!row.f_devices_type ? 'has-error' : '']">
18
+ <label class="font_normal_body">*设备类型</label>
19
+ <input type="text" v-show="false" v-model="row.f_devices_type" required="true"/>
19
20
  <v-select :value.sync="row.f_devices_type" v-model="row.f_devices_type"
20
21
  :options='devicetypes' placeholder='设备类型' :value-single="true"
21
22
  close-on-select></v-select>
@@ -27,9 +28,10 @@
27
28
  </div>
28
29
  </div>
29
30
  <div class="row auto" style="margin-left: 10px;">
30
- <div class="col-sm-6 form-group" style="padding-right: 5px;" :class="[!row.f_brand && (row.f_devices_type == '壁挂炉' || row.f_devices_type == '热水器') ? 'has-error' : '']">
31
- <label class="font_normal_body">设备品牌</label>
31
+ <div class="col-sm-6 form-group" style="padding-right: 5px;" :class="[!row.f_brand ? 'has-error' : '']">
32
+ <label class="font_normal_body">*设备品牌</label>
32
33
  <input type="text" class="input_search" style="width:60%" v-model="row.f_brand" placeholder='设备品牌'
34
+ required="true"
33
35
  v-next-el="{id: $index+'devicesmodel'}" :id="$index+'brand'">
34
36
  </div>
35
37
  <div class="col-sm-6 form-group" style="padding-right: 5px;">
@@ -62,8 +64,9 @@
62
64
  :options='installperson' placeholder='安装人'
63
65
  close-on-select></v-select>
64
66
  </div>
65
- <div class="col-sm-6 form-group" style="padding-right: 5px;" :class="[row.f_devices_type == '壁挂炉' && row.f_input_date == '' ? 'has-error' : '']">
67
+ <div class="col-sm-6 form-group" style="padding-right: 5px;" :class="[ row.f_input_date == '' ? 'has-error' : '']">
66
68
  <label class="font_normal_body">安装日期</label>
69
+ <input type="text" v-show="false" v-model="row.f_input_date" required="true"/>
67
70
  <datepicker placeholder="安装日期" style="width: 60%"
68
71
  v-model="row.f_input_date"
69
72
  :value.sync="row.f_input_date"
@@ -95,10 +98,11 @@
95
98
  :value.sync="row.f_expire_date"
96
99
  placeholder="到期日期" disabled></input>
97
100
  </div>
98
- <div class="col-sm-6 form-group" style="padding-right: 5px;">
101
+ <div class="col-sm-6 form-group" style="padding-right: 5px;" :class="[!row.f_devices_num ? 'has-error' : '']">
99
102
  <label class="font_normal_body">设备数量</label>
100
103
  <input type="text" class="input_search" style="width:60%" v-model="row.f_devices_num"
101
104
  :value.sync="row.f_devices_num"
105
+ required="true"
102
106
  placeholder='设备数量' :id="$index+'devicesmodel'">
103
107
  </div>
104
108
  </div>
@@ -133,8 +137,9 @@
133
137
  <a style="font-size: 16px;font-weight: 500;">连接管信息</a>&nbsp;<a style="color: #999999;text-decoration: none"></a>
134
138
  </div>
135
139
  <div class="row auto" style="margin-left: 10px;">
136
- <div class="col-sm-8 form-group" style="padding-right: 5px;">
137
- <label class="font_normal_body">有无不锈钢波纹管</label>
140
+ <div class="col-sm-8 form-group" style="padding-right: 5px;" :class="[!row.f_pipe_type ? 'has-error' : '']">
141
+ <label class="font_normal_body">*有无不锈钢波纹管</label>
142
+ <input type="text" v-show="false" v-model="row.f_pipe_type" required="true"/>
138
143
  <v-select :value.sync="row.f_pipe_type" v-model="row.f_pipe_type"
139
144
  :options='pipetypes' placeholder='有无不锈钢波纹管' :value-single="true"
140
145
  close-on-select></v-select>
@@ -163,8 +168,9 @@
163
168
  </div>
164
169
  </div>
165
170
  <div class="row auto" style="margin-left: 10px;">
166
- <div class="col-sm-6 form-group" style="padding-right: 5px;" v-if="devicesinfoShow">
167
- <label class="font_normal_body">有无自闭阀</label>
171
+ <div class="col-sm-6 form-group" style="padding-right: 5px;" v-if="devicesinfoShow" :class="[!row.f_is_zibifa ? 'has-error' : '']">
172
+ <label class="font_normal_body">*有无自闭阀</label>
173
+ <input type="text" v-show="false" v-model="row.f_is_zibifa" required="true"/>
168
174
  <v-select :value.sync="row.f_is_zibifa" v-model="row.f_is_zibifa"
169
175
  :options='is_zibifa' placeholder='有无自闭阀' :value-single="true"
170
176
  close-on-select></v-select>
@@ -350,6 +356,10 @@ export default {
350
356
  let cannotclose = false
351
357
  let deleteData = []
352
358
  for (let [index, row] of this.devicesinfo.entries()) {
359
+ if (!row.f_devices_type || !row.f_brand || !row.f_input_date || !row.f_devices_num || !row.f_is_zibifa || !row.f_zibifa_num || !row.f_pipe_type || !row.f_pipe_num) {
360
+ deleteData.push(index)
361
+ cannotclose = true
362
+ }
353
363
  switch (row.f_devices_type) {
354
364
  case '壁挂炉':
355
365
  if (!(row.f_brand && row.f_input_date)) {
@@ -0,0 +1,165 @@
1
+ <template>
2
+ <div class="auto form-horizontal">
3
+ <modal :show.sync="show" v-ref:modal large backdrop="false" :width="900">
4
+ <header slot="modal-header" class="modal-header">
5
+ <button type="button" class="close" @click="closeShow"><span>&times;</span></button>
6
+ <h4 class="modal-title">发票信息</h4>
7
+ </header>
8
+ <article slot="modal-body" class="modal-body">
9
+ <div class="auto select-overspread form-horizontal">
10
+ <div class="row pt-20">
11
+ <button id="one" class="btn btn-click" @click="switchTab(0)"><strong>个人</strong></button>
12
+ <button id="tow" class="btn btn-click" @click="switchTab(1)"><strong>企业</strong></button>
13
+ </div>
14
+ <div class="row auto" v-show="tabIndex===0">
15
+ <div class="col-sm-6 form-group form-input-group" :class="[!row.f_paper_name ? 'has-error' : '']">
16
+ <label class="control-label">开票名称:</label>
17
+ <input class="form-control col-sm-2"
18
+ v-model="row.f_paper_name" placeholder="开票名称">
19
+ </div>
20
+ <!-- <div class="col-sm-6 form-group form-input-group">-->
21
+ <!-- <nobr class="col-sm-4"><label class="control-label">是否征税:</label></nobr>-->
22
+ <!-- <v-select v-model="row.invoice_is_pax"-->
23
+ <!-- placeholder='请选择'-->
24
+ <!-- :value.sync="row.invoice_is_pax"-->
25
+ <!-- close-on-select-->
26
+ <!-- :width="60" disabled-->
27
+ <!-- :value-single="true"-->
28
+ <!-- :search="false"-->
29
+ <!-- :options='is_pax' clear-button>-->
30
+ <!-- </v-select>-->
31
+ <!-- </div>-->
32
+ <div class="col-sm-12 form-group form-input-group">
33
+ <label class="control-label">开户行及账号:</label>
34
+ <input class="form-control col-sm-2"
35
+ v-model="row.f_paper_account" placeholder="购方开户行及账号">
36
+ </div>
37
+ <div class="col-sm-12 form-group form-input-group"
38
+ :class="[ row.f_taxpayer_id.length<16 || row.f_taxpayer_id.length>18 ? 'has-error' : '']">
39
+ <label class="control-label">身份证号:</label>
40
+ <input class="form-control col-sm-2"
41
+ v-model="row.f_taxpayer_id" placeholder="纳税人识别号(16至18位)">
42
+ </div>
43
+ <div class="col-sm-12 form-group form-input-group" :class="[!row.f_address_phone ? 'has-error' : '']">
44
+ <label class="control-label">开票地址电话:</label>
45
+ <input class="form-control col-sm-2"
46
+ v-model="row.f_address_phone" placeholder="开票地址">
47
+ </div>
48
+ <div class="col-sm-12 form-group form-input-group" >
49
+ <label class="control-label">发票备注:</label>
50
+ <input class="form-control col-sm-2"
51
+ v-model="row.f_eticket_reason" placeholder="发票备注">
52
+ </div>
53
+ <div class="col-sm-12 form-group form-input-group">
54
+ <label class="control-label">邮箱推送:</label>
55
+ <input class="form-control col-sm-2"
56
+ v-model="row.f_email" placeholder="邮箱推送">
57
+ </div>
58
+ </div>
59
+ <div class="row auto" v-show="tabIndex===1">
60
+ <div class="col-sm-6 form-group form-input-group" :class="[!row.f_paper_name ? 'has-error' : '']">
61
+ <label class="control-label">开票名称:</label>
62
+ <input class="form-control col-sm-2"
63
+ v-model="row.f_paper_name" placeholder="开票名称">
64
+ </div>
65
+ <div class="col-sm-6 form-group form-input-group">
66
+ <nobr class="col-sm-4"><label class="control-label">是否征税:</label></nobr>
67
+ <v-select v-model="row.invoice_is_pax"
68
+ placeholder='请选择'
69
+ :value.sync="row.invoice_is_pax"
70
+ close-on-select
71
+ :width="60" disabled
72
+ :value-single="true"
73
+ :search="false"
74
+ :options='is_pax' clear-button>
75
+ </v-select>
76
+ </div>
77
+ <div class="col-sm-12 form-group form-input-group">
78
+ <label class="control-label">开户行及账号:</label>
79
+ <input class="form-control col-sm-2"
80
+ v-model="row.f_paper_account" placeholder="购方开户行及账号">
81
+ </div>
82
+ <div class="col-sm-12 form-group form-input-group"
83
+ :class="[ row.f_taxpayer_id.length<16 || row.f_taxpayer_id.length>18 ? 'has-error' : '']">
84
+ <label class="control-label">纳税人识别号:</label>
85
+ <input class="form-control col-sm-2"
86
+ v-model="row.f_taxpayer_id" placeholder="纳税人识别号(16至18位)">
87
+ </div>
88
+ <div class="col-sm-12 form-group form-input-group" :class="[!row.f_address_phone ? 'has-error' : '']">
89
+ <label class="control-label">开票地址电话:</label>
90
+ <input class="form-control col-sm-2"
91
+ v-model="row.f_address_phone" placeholder="开票地址">
92
+ </div>
93
+ <div class="col-sm-12 form-group form-input-group" >
94
+ <label class="control-label">发票备注:</label>
95
+ <input class="form-control col-sm-2"
96
+ v-model="row.f_eticket_reason" placeholder="发票备注">
97
+ </div>
98
+ <div class="col-sm-12 form-group form-input-group">
99
+ <label class="control-label">邮箱推送:</label>
100
+ <input class="form-control col-sm-2"
101
+ v-model="row.f_email" placeholder="邮箱推送">
102
+ </div>
103
+ </div>
104
+ </div>
105
+ </article>
106
+ <footer slot="modal-footer" class="modal-footer">
107
+ <button type="button" class="btn button_search"
108
+ :disabled="!(row.f_paper_name&&row.f_address_phone&&row.f_taxpayer_id.length>=16 && row.f_taxpayer_id.length<=18)"
109
+ @click='confirm'>确认收费
110
+ </button>
111
+ </footer>
112
+ </modal>
113
+ </div>
114
+ </template>
115
+ <script>
116
+
117
+ export default {
118
+ title: '电子发票',
119
+ data () {
120
+ return {
121
+ is_pax: [{label: '征税', value: '征税'}, {label: '不征税', value: '不征税'}],
122
+ tabIndex: 0
123
+ }
124
+ },
125
+ props: ['row','show'],
126
+ ready () {
127
+ document.getElementById('one').style.backgroundColor = '#6aa6e2'
128
+ document.getElementById('one').style.color = 'white'
129
+ },
130
+ methods: {
131
+ switchTab (param) {
132
+ this.tabIndex = param
133
+ if (param === 0) {
134
+ if (document.getElementById('one')) {
135
+ document.getElementById('one').style.backgroundColor = '#6aa6e2'
136
+ document.getElementById('one').style.color = 'white'
137
+ document.getElementById('tow').style.backgroundColor = 'white'
138
+ document.getElementById('tow').style.color = 'black'
139
+ }
140
+ } else {
141
+ if (document.getElementById('tow')) {
142
+ document.getElementById('tow').style.backgroundColor = '#6aa6e2'
143
+ document.getElementById('tow').style.color = 'white'
144
+ document.getElementById('one').style.backgroundColor = 'white'
145
+ document.getElementById('one').style.color = 'black'
146
+ }
147
+ }
148
+ },
149
+ confirm () {
150
+ this.$dispatch('confirm')
151
+ },
152
+ closeShow () {
153
+ this.$dispatch('closemodalshow')
154
+ }
155
+ },
156
+ watch: {
157
+ 'row' () {
158
+ this.row.invoice_is_pax = ['征税']
159
+ }
160
+ },
161
+ events: {}
162
+ }
163
+ </script>
164
+ <style>
165
+ </style>
@@ -29,4 +29,6 @@ export default function () {
29
29
  Vue.component('no-card-meter-center', (resolve) => { require(['./NoCardMeterCenter'], resolve) })
30
30
  // 无卡收费
31
31
  Vue.component('other-gas', (resolve) => { require(['./OtherGas'], resolve) })
32
+ // 发票信息公共
33
+ Vue.component('eticket-modal', (resolve) => { require(['./EticketModal'], resolve) })
32
34
  }
@@ -62,6 +62,11 @@ let offGasAddGasGen = function * (model, row) {
62
62
  meternumber: row.f_meternumber
63
63
  }
64
64
  params = Object.assign({}, Vue.CommonService.writeCardParams(cardParams), params)
65
+ // 判断是否是累购表
66
+ if (row.f_support_purchase === '是') {
67
+ params.ljgql = (row.f_write_totalgas - 0)
68
+ params.ljgqje = (row.f_write_totalfee - 0)
69
+ }
65
70
  params.kzt = getLastOper.data.ispick === '未过表' && getLastOper.data.lastsell_oper === '发卡售气' ? '0' : '1'
66
71
  // 掉气补气传的累计购气金额应该处理掉最有一笔收费记录的金额
67
72