apply-clients 7.1.36-yuchuan-36 → 7.1.36-yuchuan-38
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 +1 -1
- package/src/components/android/Process/AppServiceControl.vue +6 -9
- package/src/components/product/ApplyGuanXian/GuanXianExplorationSelect.vue +5 -4
- package/src/components/product/ApplyGuanXian/GuanXianExplorationUser.vue +4 -6
- package/src/components/product/Function/InstallFunction.vue +3 -4
- package/src/components/product/Function/InstallInfoSelect.vue +24 -21
- package/src/components/product/Ignition/IgnitionDispatch.vue +90 -92
- package/src/components/product/Ignition/IgnitionListManage.vue +21 -19
- package/src/components/product/List/ShowAllActivity.vue +5 -4
- package/src/components/product/Print/BuildOrder/buildOrderList.vue +446 -446
- package/src/components/product/Process/ExplorationUser.vue +5 -8
- package/src/components/product/Process/New1ExplorationUser.vue +6 -8
- package/src/components/product/Process/NewExplorationSelect.vue +5 -4
- package/src/components/product/Process/NewExplorationUser.vue +6 -9
- package/src/components/product/Process/Processes/Print/printCharge.vue +250 -250
- package/src/components/product/Process/Processes/Print/printGaiXianCharge.vue +244 -244
- package/src/components/product/Process/Processes/selectApply.vue +250 -250
- package/src/components/product/Process/Service/ServiceControl.vue +63 -53
- package/src/components/product/Stop/StopApplyList.vue +224 -224
- package/src/components/product/Supervisory/SupervisoryControl.vue +114 -116
- package/src/components/product/Supervisory/SupervisoryhCart.vue +1 -0
- package/src/components/product/Supervisory/YiBanSupervisoryControl.vue +111 -114
- package/src/components/product/Supervisory/YiBanSupervisoryList.vue +9 -9
|
@@ -53,17 +53,14 @@ export default {
|
|
|
53
53
|
methods: {
|
|
54
54
|
// 获取页面配置json文件
|
|
55
55
|
async loadName () {
|
|
56
|
-
|
|
56
|
+
let http = new HttpResetClass()
|
|
57
57
|
let data = {
|
|
58
58
|
workname: this.selectdata.processname
|
|
59
59
|
}
|
|
60
|
-
let res
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
)
|
|
65
|
-
|
|
66
|
-
Vue.prototype.$workflow_vue = res.data
|
|
60
|
+
let res=await http.load('POST', 'rs/logic/ApplyGetConfigs', {
|
|
61
|
+
data
|
|
62
|
+
}, {resolveMsg: null, rejectMsg: null})
|
|
63
|
+
Vue.prototype.$workflow_vue = res.data
|
|
67
64
|
}
|
|
68
65
|
},
|
|
69
66
|
events: {
|
|
@@ -34,6 +34,7 @@
|
|
|
34
34
|
<script>
|
|
35
35
|
import Vue from 'vue'
|
|
36
36
|
import {HttpResetClass} from 'vue-client'
|
|
37
|
+
import {isEmpty} from "../../Util";
|
|
37
38
|
export default {
|
|
38
39
|
title: '报建流程',
|
|
39
40
|
props: ['xselectdata', 'mark'],
|
|
@@ -59,17 +60,14 @@ export default {
|
|
|
59
60
|
methods: {
|
|
60
61
|
// 获取页面配置json文件
|
|
61
62
|
async loadName () {
|
|
62
|
-
|
|
63
|
+
let http = new HttpResetClass()
|
|
63
64
|
let data = {
|
|
64
65
|
workname: this.selectdata.processname
|
|
65
66
|
}
|
|
66
|
-
let res
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
)
|
|
71
|
-
|
|
72
|
-
Vue.prototype.$workflow_vue = res.data
|
|
67
|
+
let res= await http.load('POST', 'rs/logic/ApplyGetConfigs', {
|
|
68
|
+
data
|
|
69
|
+
}, {resolveMsg: null, rejectMsg: null})
|
|
70
|
+
Vue.prototype.$workflow_vue = res.data
|
|
73
71
|
},
|
|
74
72
|
async breakControl (servicedata) {
|
|
75
73
|
if (servicedata.id) {
|
|
@@ -474,12 +474,13 @@ export default {
|
|
|
474
474
|
this.$dispatch('search')
|
|
475
475
|
},
|
|
476
476
|
async applyTypeChange () {
|
|
477
|
+
|
|
477
478
|
if (!isEmpty(this.$refs.cp.$refs.cri.model.f_apply_type)) {
|
|
478
|
-
let
|
|
479
|
-
|
|
480
|
-
|
|
479
|
+
let http = new HttpResetClass()
|
|
480
|
+
let res = await http.load('POST', 'rs/logic/getDefnameByType', {
|
|
481
|
+
f_apply_type: this.$refs.cp.$refs.cri.model.f_apply_type},
|
|
482
|
+
{resolveMsg: null, rejectMsg: '流程标识获取失败!!!'}
|
|
481
483
|
)
|
|
482
|
-
|
|
483
484
|
this.defnames = [{label: '全部', value: ''}, ...res.data]
|
|
484
485
|
|
|
485
486
|
// this.applyNatures = isEmpty(this.$appdata.getParam(`${this.$refs.cp.$refs.cri.model.f_apply_type}性质`)) ? [{label: '全部', value: ''}] : [{label: '全部', value: ''}, ...this.$appdata.getParam(`${this.$refs.cp.$refs.cri.model.f_apply_type}性质`)]
|
|
@@ -47,17 +47,14 @@ export default {
|
|
|
47
47
|
methods: {
|
|
48
48
|
// 获取页面配置json文件
|
|
49
49
|
async loadName() {
|
|
50
|
-
|
|
50
|
+
let http = new HttpResetClass()
|
|
51
51
|
let data = {
|
|
52
52
|
workname: this.selectdata.processname
|
|
53
53
|
}
|
|
54
|
-
let res
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
)
|
|
59
|
-
|
|
60
|
-
Vue.prototype.$workflow_vue = res.data
|
|
54
|
+
let res= await http.load('POST', 'rs/logic/ApplyGetConfigs', {
|
|
55
|
+
data
|
|
56
|
+
}, {resolveMsg: null, rejectMsg: null})
|
|
57
|
+
Vue.prototype.$workflow_vue = res.data
|
|
61
58
|
}
|
|
62
59
|
},
|
|
63
60
|
events: {
|
|
@@ -93,7 +90,7 @@ export default {
|
|
|
93
90
|
let res = await this.$resetpost(
|
|
94
91
|
'rs/sql/checkuser',
|
|
95
92
|
{data: data},
|
|
96
|
-
{resolveMsg: null, rejectMsg:
|
|
93
|
+
{resolveMsg: null, rejectMsg:null}
|
|
97
94
|
)
|
|
98
95
|
|
|
99
96
|
this.selectdata = res.data[0]
|
|
@@ -1,250 +1,250 @@
|
|
|
1
|
-
<template>
|
|
2
|
-
<style id="printChargeStyle">
|
|
3
|
-
td {
|
|
4
|
-
height: 30px;
|
|
5
|
-
text-align: center;
|
|
6
|
-
}
|
|
7
|
-
|
|
8
|
-
table {
|
|
9
|
-
margin: auto;
|
|
10
|
-
width: 100%;
|
|
11
|
-
border-collapse: collapse;
|
|
12
|
-
border: 1px solid black;
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
h1, h2, h3, h4, h5, h6 {
|
|
16
|
-
text-align: center;
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
.orgs {
|
|
20
|
-
border-bottom: 2px solid;
|
|
21
|
-
padding: 5px;
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
.date {
|
|
25
|
-
float: left;
|
|
26
|
-
padding-left: 10px;
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
.status {
|
|
30
|
-
float: right;
|
|
31
|
-
padding-right: 10px;
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
.seal {
|
|
35
|
-
position: absolute;
|
|
36
|
-
right: 100px;
|
|
37
|
-
top: 120px;
|
|
38
|
-
width: 150px;
|
|
39
|
-
height: 150px;
|
|
40
|
-
/*opacity: 0.5;*/
|
|
41
|
-
z-index: -1;
|
|
42
|
-
}
|
|
43
|
-
</style>
|
|
44
|
-
<div style="margin-bottom: 20px" class="form-group select-overspread">
|
|
45
|
-
<label class="control-label-justify control-label col-sm-10">打印解款单</label>
|
|
46
|
-
<div class="col-sm-2">
|
|
47
|
-
<button class="button_search button_spacing" type="button" style="width: max-content;position: absolute"
|
|
48
|
-
@click="openModal()">打印预览
|
|
49
|
-
</button>
|
|
50
|
-
</div>
|
|
51
|
-
</div>
|
|
52
|
-
<modal v-if="showModal" :show.sync="showModal" title="打印预览" v-ref:modal large backdrop="false">
|
|
53
|
-
<header slot="modal-header" class="modal-header">
|
|
54
|
-
<button type="button" class="close" @click="colseModal()"><span>×</span></button>
|
|
55
|
-
<h4 class="modal-title">打印预览</h4>
|
|
56
|
-
</header>
|
|
57
|
-
<article slot="modal-body" class="modal-body">
|
|
58
|
-
<div id="printCharge">
|
|
59
|
-
<h4>
|
|
60
|
-
{{ orgs }}工料费解款单
|
|
61
|
-
</h4>
|
|
62
|
-
<table border="1" width="100%">
|
|
63
|
-
<tr>
|
|
64
|
-
<td style="width: 17%">工程编号:</td>
|
|
65
|
-
<td colspan="2" style="border: none">
|
|
66
|
-
{{ selectdata.f_apply_num }}
|
|
67
|
-
</td>
|
|
68
|
-
<td style="width: 17%">开单日期:</td>
|
|
69
|
-
<td colspan="2" style="border: none">
|
|
70
|
-
{{ new Date().Format('yyyy年MM月dd日') }}
|
|
71
|
-
</td>
|
|
72
|
-
</tr>
|
|
73
|
-
<tr>
|
|
74
|
-
<td style="width: 17%">用户姓名:</td>
|
|
75
|
-
<td colspan="2" style="width: 33%">{{ selectdata.f_user_name }}</td>
|
|
76
|
-
<td style="width: 17%">联系人:</td>
|
|
77
|
-
<td colspan="2" style="width: 33%">{{ selectdata.f_contact }}</td>
|
|
78
|
-
</tr>
|
|
79
|
-
<tr>
|
|
80
|
-
<td>用户地址:</td>
|
|
81
|
-
<td colspan="5">{{ selectdata.f_address }}</td>
|
|
82
|
-
</tr>
|
|
83
|
-
<tr>
|
|
84
|
-
<td>设备信息:</td>
|
|
85
|
-
<td colspan="5">{{ device }}</td>
|
|
86
|
-
</tr>
|
|
87
|
-
<tr>
|
|
88
|
-
<td style="width: 17%">报装类型:</td>
|
|
89
|
-
<td colspan="2" style="width: 33%">{{ selectdata.f_apply_type }}</td>
|
|
90
|
-
<td style="width: 17%">安装户数/处数:</td>
|
|
91
|
-
<td colspan="2" style="width: 33%">{{ selectdata.f_install_count }}</td>
|
|
92
|
-
</tr>
|
|
93
|
-
<tr>
|
|
94
|
-
<td>金额:</td>
|
|
95
|
-
<td colspan="2">{{ selectdata.f_due_money }}元</td>
|
|
96
|
-
<td>金额大写:</td>
|
|
97
|
-
<td colspan="2">{{ selectdata.f_amount_words }}</td>
|
|
98
|
-
</tr>
|
|
99
|
-
<tr>
|
|
100
|
-
<td>收款单位:</td>
|
|
101
|
-
<td colspan="2">榆林榆川天然气有限责任公司</td>
|
|
102
|
-
<td>项目来源:</td>
|
|
103
|
-
<td colspan="2">天然气工程材料费</td>
|
|
104
|
-
</tr>
|
|
105
|
-
<tr>
|
|
106
|
-
<td>收款账号:</td>
|
|
107
|
-
<td colspan="2">1033 0780 0589</td>
|
|
108
|
-
<td>解款部门:</td>
|
|
109
|
-
<td colspan="2">中国银行 榆林西沙支行</td>
|
|
110
|
-
</tr>
|
|
111
|
-
<tr>
|
|
112
|
-
<td>备  注:</td>
|
|
113
|
-
<td colspan="5">{{ selectdata.f_due_money_remarks }}</td>
|
|
114
|
-
</tr>
|
|
115
|
-
<tr>
|
|
116
|
-
<td>注:</td>
|
|
117
|
-
<td colspan="5">转账用户需榆林大道火车站对面恒丰新世纪一楼取确认收款单后来公司换取发票。</td>
|
|
118
|
-
</tr>
|
|
119
|
-
</table>
|
|
120
|
-
</div>
|
|
121
|
-
</article>
|
|
122
|
-
<footer slot="modal-footer" class="modal-footer">
|
|
123
|
-
<button type="button" class="btn btn-primary" @click="print()">打印</button>
|
|
124
|
-
</footer>
|
|
125
|
-
</modal>
|
|
126
|
-
|
|
127
|
-
<print-element v-show="false" v-ref:print id='printCharge' styleid='printChargeStyle'
|
|
128
|
-
top='20' left='30' width='100%' height='100%'>
|
|
129
|
-
</print-element>
|
|
130
|
-
</template>
|
|
131
|
-
|
|
132
|
-
<script>
|
|
133
|
-
import {isEmpty} from '../../../../Util'
|
|
134
|
-
import {HttpResetClass} from "vue-client";
|
|
135
|
-
|
|
136
|
-
Date.prototype.Format = function (fmt) {
|
|
137
|
-
var o = {
|
|
138
|
-
'M+': this.getMonth() + 1, // 月份
|
|
139
|
-
'd+': this.getDate(), // 日
|
|
140
|
-
'H+': this.getHours(), // 小时
|
|
141
|
-
'm+': this.getMinutes(), // 分
|
|
142
|
-
's+': this.getSeconds(), // 秒
|
|
143
|
-
'q+': Math.floor((this.getMonth() + 3) / 3), // 季度
|
|
144
|
-
'S': this.getMilliseconds() // 毫秒
|
|
145
|
-
}
|
|
146
|
-
if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (this.getFullYear() + '').substr(4 - RegExp.$1.length))
|
|
147
|
-
for (var k in o)
|
|
148
|
-
if (new RegExp('(' + k + ')').test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length === 1) ? (o[k]) : (('00' + o[k]).substr(('' + o[k]).length)))
|
|
149
|
-
return fmt
|
|
150
|
-
}
|
|
151
|
-
export default {
|
|
152
|
-
title: '打印解款单',
|
|
153
|
-
props: ['selectdata'],
|
|
154
|
-
data () {
|
|
155
|
-
return {
|
|
156
|
-
showModal: false,
|
|
157
|
-
device: null
|
|
158
|
-
}
|
|
159
|
-
},
|
|
160
|
-
ready () {
|
|
161
|
-
this.getDevice(this.selectdata.f_process_id)
|
|
162
|
-
},
|
|
163
|
-
methods: {
|
|
164
|
-
openModal () {
|
|
165
|
-
if (this.selectdata.f_due_money >= 0 ) {
|
|
166
|
-
this.smalltoBIG(this.selectdata.f_due_money)
|
|
167
|
-
}
|
|
168
|
-
this.showModal = true
|
|
169
|
-
},
|
|
170
|
-
colseModal () {
|
|
171
|
-
this.showModal = false
|
|
172
|
-
},
|
|
173
|
-
print () {
|
|
174
|
-
this.showInput = false
|
|
175
|
-
setTimeout(() => {
|
|
176
|
-
this.$refs.print.PrintTable()
|
|
177
|
-
}, 10)
|
|
178
|
-
},
|
|
179
|
-
// 金额转大写
|
|
180
|
-
smalltoBIG (n) {
|
|
181
|
-
let fraction = ['角', '分']
|
|
182
|
-
let digit = ['零', '壹', '贰', '叁', '肆', '伍', '陆', '柒', '捌', '玖']
|
|
183
|
-
let unit = [['元', '万', '亿'], ['', '拾', '佰', '仟']]
|
|
184
|
-
let head = n < 0 ? '欠' : ''
|
|
185
|
-
n = Math.abs(n)
|
|
186
|
-
|
|
187
|
-
let s = ''
|
|
188
|
-
|
|
189
|
-
for (var i = 0; i < fraction.length; i++) {
|
|
190
|
-
s += (digit[Math.floor(n * 10 * Math.pow(10, i)) % 10] + fraction[i]).replace(/零./, '')
|
|
191
|
-
}
|
|
192
|
-
s = s || '整'
|
|
193
|
-
n = Math.floor(n)
|
|
194
|
-
|
|
195
|
-
for (var i = 0; i < unit[0].length && n > 0; i++) {
|
|
196
|
-
let p = ''
|
|
197
|
-
for (var j = 0; j < unit[1].length && n > 0; j++) {
|
|
198
|
-
p = digit[n % 10] + unit[1][j] + p
|
|
199
|
-
n = Math.floor(n / 10)
|
|
200
|
-
}
|
|
201
|
-
s = p.replace(/(零.)*零$/, '').replace(/^$/, '零') + unit[0][i] + s
|
|
202
|
-
}
|
|
203
|
-
let result = head + s.replace(/(零.)*零元/, '元').replace(/(零.)+/g, '零').replace(/^整$/, '零元整')
|
|
204
|
-
console.log('当前大写', result)
|
|
205
|
-
this.selectdata.f_amount_words = result
|
|
206
|
-
},
|
|
207
|
-
async getDevice (f_process_id) {
|
|
208
|
-
let data = {
|
|
209
|
-
f_process_id: f_process_id
|
|
210
|
-
}
|
|
211
|
-
let http = new HttpResetClass()
|
|
212
|
-
let res = await http.load(
|
|
213
|
-
'POST',
|
|
214
|
-
`rs/sql/
|
|
215
|
-
{data: data},
|
|
216
|
-
{resolveMsg: null, rejectMsg: null}
|
|
217
|
-
)
|
|
218
|
-
let device = ''
|
|
219
|
-
for (let i = 0; i < res.data.length - 1 ; i++){
|
|
220
|
-
if (res.data[i].f_devices_type === null){
|
|
221
|
-
res.data[i].f_devices_type = '设备'
|
|
222
|
-
}
|
|
223
|
-
console.log("设备信77息",res.data[i].f_devices_type)
|
|
224
|
-
device = device + res.data[i].f_devices_count + '个' + res.data[i].f_devices_type + ','
|
|
225
|
-
}
|
|
226
|
-
if (res.data.length > 0){
|
|
227
|
-
device = device + res.data[res.data.length - 1].f_devices_count + '个' + res.data[res.data.length - 1].f_devices_type
|
|
228
|
-
}
|
|
229
|
-
if (device === ''){
|
|
230
|
-
device = '无设备'
|
|
231
|
-
}
|
|
232
|
-
console.log("设备信息",device)
|
|
233
|
-
this.device = device
|
|
234
|
-
return device
|
|
235
|
-
}
|
|
236
|
-
},
|
|
237
|
-
computed: {
|
|
238
|
-
orgs () {
|
|
239
|
-
return this.$login.f.f_fengongsi
|
|
240
|
-
},
|
|
241
|
-
src () {
|
|
242
|
-
// return require(`./img/${this.$login.f.number}.png`)
|
|
243
|
-
}
|
|
244
|
-
}
|
|
245
|
-
}
|
|
246
|
-
</script>
|
|
247
|
-
|
|
248
|
-
<style scoped>
|
|
249
|
-
|
|
250
|
-
</style>
|
|
1
|
+
<template>
|
|
2
|
+
<style id="printChargeStyle">
|
|
3
|
+
td {
|
|
4
|
+
height: 30px;
|
|
5
|
+
text-align: center;
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
table {
|
|
9
|
+
margin: auto;
|
|
10
|
+
width: 100%;
|
|
11
|
+
border-collapse: collapse;
|
|
12
|
+
border: 1px solid black;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
h1, h2, h3, h4, h5, h6 {
|
|
16
|
+
text-align: center;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
.orgs {
|
|
20
|
+
border-bottom: 2px solid;
|
|
21
|
+
padding: 5px;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
.date {
|
|
25
|
+
float: left;
|
|
26
|
+
padding-left: 10px;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
.status {
|
|
30
|
+
float: right;
|
|
31
|
+
padding-right: 10px;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
.seal {
|
|
35
|
+
position: absolute;
|
|
36
|
+
right: 100px;
|
|
37
|
+
top: 120px;
|
|
38
|
+
width: 150px;
|
|
39
|
+
height: 150px;
|
|
40
|
+
/*opacity: 0.5;*/
|
|
41
|
+
z-index: -1;
|
|
42
|
+
}
|
|
43
|
+
</style>
|
|
44
|
+
<div style="margin-bottom: 20px" class="form-group select-overspread">
|
|
45
|
+
<label class="control-label-justify control-label col-sm-10">打印解款单</label>
|
|
46
|
+
<div class="col-sm-2">
|
|
47
|
+
<button class="button_search button_spacing" type="button" style="width: max-content;position: absolute"
|
|
48
|
+
@click="openModal()">打印预览
|
|
49
|
+
</button>
|
|
50
|
+
</div>
|
|
51
|
+
</div>
|
|
52
|
+
<modal v-if="showModal" :show.sync="showModal" title="打印预览" v-ref:modal large backdrop="false">
|
|
53
|
+
<header slot="modal-header" class="modal-header">
|
|
54
|
+
<button type="button" class="close" @click="colseModal()"><span>×</span></button>
|
|
55
|
+
<h4 class="modal-title">打印预览</h4>
|
|
56
|
+
</header>
|
|
57
|
+
<article slot="modal-body" class="modal-body">
|
|
58
|
+
<div id="printCharge">
|
|
59
|
+
<h4>
|
|
60
|
+
{{ orgs }}工料费解款单
|
|
61
|
+
</h4>
|
|
62
|
+
<table border="1" width="100%">
|
|
63
|
+
<tr>
|
|
64
|
+
<td style="width: 17%">工程编号:</td>
|
|
65
|
+
<td colspan="2" style="border: none">
|
|
66
|
+
{{ selectdata.f_apply_num }}
|
|
67
|
+
</td>
|
|
68
|
+
<td style="width: 17%">开单日期:</td>
|
|
69
|
+
<td colspan="2" style="border: none">
|
|
70
|
+
{{ new Date().Format('yyyy年MM月dd日') }}
|
|
71
|
+
</td>
|
|
72
|
+
</tr>
|
|
73
|
+
<tr>
|
|
74
|
+
<td style="width: 17%">用户姓名:</td>
|
|
75
|
+
<td colspan="2" style="width: 33%">{{ selectdata.f_user_name }}</td>
|
|
76
|
+
<td style="width: 17%">联系人:</td>
|
|
77
|
+
<td colspan="2" style="width: 33%">{{ selectdata.f_contact }}</td>
|
|
78
|
+
</tr>
|
|
79
|
+
<tr>
|
|
80
|
+
<td>用户地址:</td>
|
|
81
|
+
<td colspan="5">{{ selectdata.f_address }}</td>
|
|
82
|
+
</tr>
|
|
83
|
+
<tr>
|
|
84
|
+
<td>设备信息:</td>
|
|
85
|
+
<td colspan="5">{{ device }}</td>
|
|
86
|
+
</tr>
|
|
87
|
+
<tr>
|
|
88
|
+
<td style="width: 17%">报装类型:</td>
|
|
89
|
+
<td colspan="2" style="width: 33%">{{ selectdata.f_apply_type }}</td>
|
|
90
|
+
<td style="width: 17%">安装户数/处数:</td>
|
|
91
|
+
<td colspan="2" style="width: 33%">{{ selectdata.f_install_count }}</td>
|
|
92
|
+
</tr>
|
|
93
|
+
<tr>
|
|
94
|
+
<td>金额:</td>
|
|
95
|
+
<td colspan="2">{{ selectdata.f_due_money }}元</td>
|
|
96
|
+
<td>金额大写:</td>
|
|
97
|
+
<td colspan="2">{{ selectdata.f_amount_words }}</td>
|
|
98
|
+
</tr>
|
|
99
|
+
<tr>
|
|
100
|
+
<td>收款单位:</td>
|
|
101
|
+
<td colspan="2">榆林榆川天然气有限责任公司</td>
|
|
102
|
+
<td>项目来源:</td>
|
|
103
|
+
<td colspan="2">天然气工程材料费</td>
|
|
104
|
+
</tr>
|
|
105
|
+
<tr>
|
|
106
|
+
<td>收款账号:</td>
|
|
107
|
+
<td colspan="2">1033 0780 0589</td>
|
|
108
|
+
<td>解款部门:</td>
|
|
109
|
+
<td colspan="2">中国银行 榆林西沙支行</td>
|
|
110
|
+
</tr>
|
|
111
|
+
<tr>
|
|
112
|
+
<td>备  注:</td>
|
|
113
|
+
<td colspan="5">{{ selectdata.f_due_money_remarks }}</td>
|
|
114
|
+
</tr>
|
|
115
|
+
<tr>
|
|
116
|
+
<td>注:</td>
|
|
117
|
+
<td colspan="5">转账用户需榆林大道火车站对面恒丰新世纪一楼取确认收款单后来公司换取发票。</td>
|
|
118
|
+
</tr>
|
|
119
|
+
</table>
|
|
120
|
+
</div>
|
|
121
|
+
</article>
|
|
122
|
+
<footer slot="modal-footer" class="modal-footer">
|
|
123
|
+
<button type="button" class="btn btn-primary" @click="print()">打印</button>
|
|
124
|
+
</footer>
|
|
125
|
+
</modal>
|
|
126
|
+
|
|
127
|
+
<print-element v-show="false" v-ref:print id='printCharge' styleid='printChargeStyle'
|
|
128
|
+
top='20' left='30' width='100%' height='100%'>
|
|
129
|
+
</print-element>
|
|
130
|
+
</template>
|
|
131
|
+
|
|
132
|
+
<script>
|
|
133
|
+
import {isEmpty} from '../../../../Util'
|
|
134
|
+
import {HttpResetClass} from "vue-client";
|
|
135
|
+
|
|
136
|
+
Date.prototype.Format = function (fmt) {
|
|
137
|
+
var o = {
|
|
138
|
+
'M+': this.getMonth() + 1, // 月份
|
|
139
|
+
'd+': this.getDate(), // 日
|
|
140
|
+
'H+': this.getHours(), // 小时
|
|
141
|
+
'm+': this.getMinutes(), // 分
|
|
142
|
+
's+': this.getSeconds(), // 秒
|
|
143
|
+
'q+': Math.floor((this.getMonth() + 3) / 3), // 季度
|
|
144
|
+
'S': this.getMilliseconds() // 毫秒
|
|
145
|
+
}
|
|
146
|
+
if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (this.getFullYear() + '').substr(4 - RegExp.$1.length))
|
|
147
|
+
for (var k in o)
|
|
148
|
+
if (new RegExp('(' + k + ')').test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length === 1) ? (o[k]) : (('00' + o[k]).substr(('' + o[k]).length)))
|
|
149
|
+
return fmt
|
|
150
|
+
}
|
|
151
|
+
export default {
|
|
152
|
+
title: '打印解款单',
|
|
153
|
+
props: ['selectdata'],
|
|
154
|
+
data () {
|
|
155
|
+
return {
|
|
156
|
+
showModal: false,
|
|
157
|
+
device: null
|
|
158
|
+
}
|
|
159
|
+
},
|
|
160
|
+
ready () {
|
|
161
|
+
this.getDevice(this.selectdata.f_process_id)
|
|
162
|
+
},
|
|
163
|
+
methods: {
|
|
164
|
+
openModal () {
|
|
165
|
+
if (this.selectdata.f_due_money >= 0 ) {
|
|
166
|
+
this.smalltoBIG(this.selectdata.f_due_money)
|
|
167
|
+
}
|
|
168
|
+
this.showModal = true
|
|
169
|
+
},
|
|
170
|
+
colseModal () {
|
|
171
|
+
this.showModal = false
|
|
172
|
+
},
|
|
173
|
+
print () {
|
|
174
|
+
this.showInput = false
|
|
175
|
+
setTimeout(() => {
|
|
176
|
+
this.$refs.print.PrintTable()
|
|
177
|
+
}, 10)
|
|
178
|
+
},
|
|
179
|
+
// 金额转大写
|
|
180
|
+
smalltoBIG (n) {
|
|
181
|
+
let fraction = ['角', '分']
|
|
182
|
+
let digit = ['零', '壹', '贰', '叁', '肆', '伍', '陆', '柒', '捌', '玖']
|
|
183
|
+
let unit = [['元', '万', '亿'], ['', '拾', '佰', '仟']]
|
|
184
|
+
let head = n < 0 ? '欠' : ''
|
|
185
|
+
n = Math.abs(n)
|
|
186
|
+
|
|
187
|
+
let s = ''
|
|
188
|
+
|
|
189
|
+
for (var i = 0; i < fraction.length; i++) {
|
|
190
|
+
s += (digit[Math.floor(n * 10 * Math.pow(10, i)) % 10] + fraction[i]).replace(/零./, '')
|
|
191
|
+
}
|
|
192
|
+
s = s || '整'
|
|
193
|
+
n = Math.floor(n)
|
|
194
|
+
|
|
195
|
+
for (var i = 0; i < unit[0].length && n > 0; i++) {
|
|
196
|
+
let p = ''
|
|
197
|
+
for (var j = 0; j < unit[1].length && n > 0; j++) {
|
|
198
|
+
p = digit[n % 10] + unit[1][j] + p
|
|
199
|
+
n = Math.floor(n / 10)
|
|
200
|
+
}
|
|
201
|
+
s = p.replace(/(零.)*零$/, '').replace(/^$/, '零') + unit[0][i] + s
|
|
202
|
+
}
|
|
203
|
+
let result = head + s.replace(/(零.)*零元/, '元').replace(/(零.)+/g, '零').replace(/^整$/, '零元整')
|
|
204
|
+
console.log('当前大写', result)
|
|
205
|
+
this.selectdata.f_amount_words = result
|
|
206
|
+
},
|
|
207
|
+
async getDevice (f_process_id) {
|
|
208
|
+
let data = {
|
|
209
|
+
f_process_id: f_process_id
|
|
210
|
+
}
|
|
211
|
+
let http = new HttpResetClass()
|
|
212
|
+
let res = await http.load(
|
|
213
|
+
'POST',
|
|
214
|
+
`rs/sql/getUserDevices`,
|
|
215
|
+
{data: data},
|
|
216
|
+
{resolveMsg: null, rejectMsg: null}
|
|
217
|
+
)
|
|
218
|
+
let device = ''
|
|
219
|
+
for (let i = 0; i < res.data.length - 1 ; i++){
|
|
220
|
+
if (res.data[i].f_devices_type === null){
|
|
221
|
+
res.data[i].f_devices_type = '设备'
|
|
222
|
+
}
|
|
223
|
+
console.log("设备信77息",res.data[i].f_devices_type)
|
|
224
|
+
device = device + res.data[i].f_devices_count + '个' + res.data[i].f_devices_type + ','
|
|
225
|
+
}
|
|
226
|
+
if (res.data.length > 0){
|
|
227
|
+
device = device + res.data[res.data.length - 1].f_devices_count + '个' + res.data[res.data.length - 1].f_devices_type
|
|
228
|
+
}
|
|
229
|
+
if (device === ''){
|
|
230
|
+
device = '无设备'
|
|
231
|
+
}
|
|
232
|
+
console.log("设备信息",device)
|
|
233
|
+
this.device = device
|
|
234
|
+
return device
|
|
235
|
+
}
|
|
236
|
+
},
|
|
237
|
+
computed: {
|
|
238
|
+
orgs () {
|
|
239
|
+
return this.$login.f.f_fengongsi
|
|
240
|
+
},
|
|
241
|
+
src () {
|
|
242
|
+
// return require(`./img/${this.$login.f.number}.png`)
|
|
243
|
+
}
|
|
244
|
+
}
|
|
245
|
+
}
|
|
246
|
+
</script>
|
|
247
|
+
|
|
248
|
+
<style scoped>
|
|
249
|
+
|
|
250
|
+
</style>
|