apply-clients 3.4.2-FuGu-21 → 3.4.2-FuGu-22
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
package/src/apply.js
CHANGED
|
@@ -68,7 +68,9 @@ export default function () {
|
|
|
68
68
|
Vue.component('select-apply', (resolve) => { require(['./components/product/Process/Processes/selectApply'], resolve) })
|
|
69
69
|
// 设备管理
|
|
70
70
|
Vue.component('apply-devices-management', (resolve) => { require(['./components/product/Process/Processes/devicesManagement'], resolve) })
|
|
71
|
-
|
|
71
|
+
// 派工信息
|
|
72
|
+
Vue.component('apply-dispatchdetails', (resolve) => { require(['./components/product/Process/Processes/dispatchdetails'], resolve) })
|
|
73
|
+
Vue.component('apply-dispatch-list', (resolve) => { require(['./components/product/ApplyCharge/dispatchlist'], resolve) })
|
|
72
74
|
/** VueUtils **/
|
|
73
75
|
Vue.component('apply-upload', (resolve) => { require(['./components/product/VueUtils/ApplyUpload'], resolve) })
|
|
74
76
|
Vue.component('apply-high-meter', (resolve) => { require(['./components/product/VueUtils/HighMeter'], resolve) })
|
|
@@ -0,0 +1,136 @@
|
|
|
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 id="printCharge">
|
|
45
|
+
<h4>
|
|
46
|
+
<span class="orgs">
|
|
47
|
+
{{ orgs }}燃气工程派工单
|
|
48
|
+
</span>
|
|
49
|
+
</h4>
|
|
50
|
+
<table border="1" width="100%">
|
|
51
|
+
<tr>
|
|
52
|
+
<td style="width: 10%">派单人</td>
|
|
53
|
+
<td style="width: 15%">{{ selectdata.f_user_name }}</td>
|
|
54
|
+
<td style="width: 10%">派单时间</td>
|
|
55
|
+
<td style="width: 20%">{{ new Date().Format('yyyy年MM月dd日') }}</td>
|
|
56
|
+
<td style="width: 20%">
|
|
57
|
+
商用 <input type="checkbox" id="shang" value="商用" v-model="f_user_type" :disabled="false" >
|
|
58
|
+
</td>
|
|
59
|
+
<td style="width: 20%">
|
|
60
|
+
民用 <input type="checkbox" id="min" value="民用" v-model="f_user_type" :disabled="false">
|
|
61
|
+
</td>
|
|
62
|
+
</tr>
|
|
63
|
+
<tr>
|
|
64
|
+
<td>施工地点</td>
|
|
65
|
+
<td colspan="5">{{ selectdata.f_address }}</td>
|
|
66
|
+
</tr>
|
|
67
|
+
<tr>
|
|
68
|
+
<td>现场联系人</td>
|
|
69
|
+
<td >{{ charge[0].f_contact }}</td>
|
|
70
|
+
<td>联系电话</td>
|
|
71
|
+
<td >{{ charge[0].f_phone }}</td>
|
|
72
|
+
<td>户数</td>
|
|
73
|
+
<td>{{ charge.households }}</td>
|
|
74
|
+
</tr>
|
|
75
|
+
<tr>
|
|
76
|
+
<td>工程内容</td>
|
|
77
|
+
<td colspan="6"></td>
|
|
78
|
+
</tr>
|
|
79
|
+
<tr>
|
|
80
|
+
<td>施工负责人</td>
|
|
81
|
+
<td colspan="2"></td>
|
|
82
|
+
<td>项目负责人</td>
|
|
83
|
+
<td colspan="2"></td>
|
|
84
|
+
</tr>
|
|
85
|
+
</table>
|
|
86
|
+
<img class="seal" border="0" :src="src" alt="">
|
|
87
|
+
</div>
|
|
88
|
+
|
|
89
|
+
<print-element v-show="false" v-ref:print id='printCharge' styleid='printChargeStyle'
|
|
90
|
+
top='20' left='30' width='100%' height='100%'>
|
|
91
|
+
</print-element>
|
|
92
|
+
</template>
|
|
93
|
+
|
|
94
|
+
<script>
|
|
95
|
+
import {isEmpty} from '../../Util'
|
|
96
|
+
|
|
97
|
+
Date.prototype.Format = function (fmt) {
|
|
98
|
+
var o = {
|
|
99
|
+
"M+": this.getMonth() + 1, // 月份
|
|
100
|
+
"d+": this.getDate(), // 日
|
|
101
|
+
"H+": this.getHours(), // 小时
|
|
102
|
+
"m+": this.getMinutes(), // 分
|
|
103
|
+
"s+": this.getSeconds(), // 秒
|
|
104
|
+
"q+": Math.floor((this.getMonth() + 3) / 3), // 季度
|
|
105
|
+
"S": this.getMilliseconds() // 毫秒
|
|
106
|
+
}
|
|
107
|
+
if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length))
|
|
108
|
+
for (var k in o)
|
|
109
|
+
if (new RegExp("(" + k + ")").test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)))
|
|
110
|
+
return fmt
|
|
111
|
+
}
|
|
112
|
+
export default {
|
|
113
|
+
title: '打印派工单票据',
|
|
114
|
+
props: ['selectdata', 'charge'],
|
|
115
|
+
data () {
|
|
116
|
+
return {
|
|
117
|
+
f_user_type: [this.charge[0].f_user_type !== '民用' ? '商用' : '民用']
|
|
118
|
+
}
|
|
119
|
+
},
|
|
120
|
+
ready () {
|
|
121
|
+
},
|
|
122
|
+
methods: {},
|
|
123
|
+
computed: {
|
|
124
|
+
orgs () {
|
|
125
|
+
return this.$login.f.orgs
|
|
126
|
+
},
|
|
127
|
+
src () {
|
|
128
|
+
// return require(`./img/${this.$login.f.number}.png`)
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
</script>
|
|
133
|
+
|
|
134
|
+
<style scoped>
|
|
135
|
+
|
|
136
|
+
</style>
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<div class="col-sm-12" style="margin: 20px 0px;">
|
|
3
|
+
<div _v-16a373b8="" class="col-sm-12 form-group" style="margin-bottom: 20px;">
|
|
4
|
+
<label _v-16a373b8="" class="control-label-justify control-label col-sm-3">派工单</label>
|
|
5
|
+
<button
|
|
6
|
+
type="button"
|
|
7
|
+
name="button"
|
|
8
|
+
class="button_search button_spacing"
|
|
9
|
+
@click="showPrintModal()"
|
|
10
|
+
>打印预览
|
|
11
|
+
</button>
|
|
12
|
+
</div>
|
|
13
|
+
<modal v-if="showPrint" :show.sync="showPrint" v-ref:modal :large="true" :backdrop="false" title="打印预览">
|
|
14
|
+
<header slot="modal-header" class="modal-header">
|
|
15
|
+
<button type="button" class="close" @click="closeModal"><span>×</span></button>
|
|
16
|
+
<h4 class="modal-title">打印预览</h4>
|
|
17
|
+
</header>
|
|
18
|
+
<article slot="modal-body" class="modal-body clearfix">
|
|
19
|
+
<apply-dispatch-list :selectdata="selectdata" :charge="charge" v-ref:print></apply-dispatch-list>
|
|
20
|
+
</article>
|
|
21
|
+
<footer slot="modal-footer" class="modal-footer">
|
|
22
|
+
<button type="button" class="btn btn-primary" @click="print()">打印</button>
|
|
23
|
+
</footer>
|
|
24
|
+
</modal>
|
|
25
|
+
</div>
|
|
26
|
+
</template>
|
|
27
|
+
<script>
|
|
28
|
+
import {getNowDate, isEmpty} from '../../../Util'
|
|
29
|
+
import {PagedList} from 'vue-client'
|
|
30
|
+
import {HttpResetClass} from 'vue-client'
|
|
31
|
+
import Vue from 'vue'
|
|
32
|
+
|
|
33
|
+
export default {
|
|
34
|
+
title: '派工信息',
|
|
35
|
+
props: {
|
|
36
|
+
selectdata: {
|
|
37
|
+
type: Object
|
|
38
|
+
},
|
|
39
|
+
mark: {
|
|
40
|
+
type: Number,
|
|
41
|
+
default: 0
|
|
42
|
+
}
|
|
43
|
+
},
|
|
44
|
+
data() {
|
|
45
|
+
return {
|
|
46
|
+
showCharge: false, // 派工明细
|
|
47
|
+
showPrint: false, // 打印
|
|
48
|
+
model: {
|
|
49
|
+
data: null
|
|
50
|
+
}, // 记录
|
|
51
|
+
charge: {}
|
|
52
|
+
}
|
|
53
|
+
},
|
|
54
|
+
ready() {
|
|
55
|
+
this.search()
|
|
56
|
+
},
|
|
57
|
+
methods: {
|
|
58
|
+
print() {
|
|
59
|
+
this.$refs.print.$refs.print.PrintTable()
|
|
60
|
+
},
|
|
61
|
+
showPrintModal() {
|
|
62
|
+
this.charge = this.model.data
|
|
63
|
+
this.showPrint = true
|
|
64
|
+
},
|
|
65
|
+
async showChargeModal() {
|
|
66
|
+
this.getUserAddress()
|
|
67
|
+
if (this.selectdata.f_apply_type === '团购报建') {
|
|
68
|
+
this.charge.f_dev_info_id = this.selectdata.f_dev_id
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
this.showCharge = true
|
|
72
|
+
},
|
|
73
|
+
async search() {
|
|
74
|
+
let http = new HttpResetClass()
|
|
75
|
+
let data = {
|
|
76
|
+
f_process_id: this.selectdata.f_process_id
|
|
77
|
+
}
|
|
78
|
+
let res = await http.load('POST', 'rs/sql/getDispatchdetails', {data: data}, {
|
|
79
|
+
resolveMsg: null,
|
|
80
|
+
rejectMsg: '派工信息查询失败!!!'
|
|
81
|
+
})
|
|
82
|
+
let roe = await http.load('POST', 'rs/sql/gethouseholds', {data: data}, {
|
|
83
|
+
resolveMsg: null,
|
|
84
|
+
rejectMsg: '户数信息查询失败!!!'
|
|
85
|
+
})
|
|
86
|
+
this.model.data = res.data
|
|
87
|
+
this.model.data.households = roe.data[0].households
|
|
88
|
+
},
|
|
89
|
+
// 关闭对话框
|
|
90
|
+
closeModal() {
|
|
91
|
+
this.showCharge = false
|
|
92
|
+
this.showInvalid = false
|
|
93
|
+
this.showPrint = false
|
|
94
|
+
this.charge = {}
|
|
95
|
+
this.search()
|
|
96
|
+
}
|
|
97
|
+
},
|
|
98
|
+
events: {},
|
|
99
|
+
computed: {
|
|
100
|
+
paymentMethod() {
|
|
101
|
+
return this.$appdata.getParam("付款方式")
|
|
102
|
+
},
|
|
103
|
+
paymentTerm() {
|
|
104
|
+
return this.$appdata.getParam("收费项目")
|
|
105
|
+
}
|
|
106
|
+
},
|
|
107
|
+
watch: {}
|
|
108
|
+
}
|
|
109
|
+
</script>
|
|
110
|
+
<style scoped>
|
|
111
|
+
.textNoLineBreak {
|
|
112
|
+
white-space: nowrap;
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
.head-but {
|
|
116
|
+
margin-left: 5px;
|
|
117
|
+
height: 34px;
|
|
118
|
+
/*background-color: #6aa6e2;*/
|
|
119
|
+
border-radius: 4px;
|
|
120
|
+
font-family: PingFang;
|
|
121
|
+
color: #ffffff;
|
|
122
|
+
}
|
|
123
|
+
</style>
|