apply-clients 3.4.2-FuGu-20 → 3.4.2-FuGu-23
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/apply.js +3 -1
- package/src/components/android/Process/AppServiceControl.vue +20 -29
- package/src/components/android/Process/Processes/AppInstallationDetails.vue +23 -10
- package/src/components/product/ApplyCharge/dispatchlist.vue +136 -0
- package/src/components/product/Process/Processes/dispatchdetails.vue +123 -0
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) })
|
|
@@ -884,39 +884,30 @@ export default {
|
|
|
884
884
|
},
|
|
885
885
|
// 失去焦点出触发事件
|
|
886
886
|
'onchange' (index) {
|
|
887
|
-
if (this.show_data.defname === '
|
|
887
|
+
if (this.show_data.defname === '申请登记' || (this.show_data.defname === '现场勘察' && this.show_data.f_apply_source === '微信公众号')) {
|
|
888
888
|
if (
|
|
889
|
+
this.show_data.fields[index].label === '片区' ||
|
|
890
|
+
this.show_data.fields[index].label === '区/县' ||
|
|
889
891
|
this.show_data.fields[index].label === '街道' ||
|
|
890
892
|
this.show_data.fields[index].label === '小区' ||
|
|
891
|
-
this.show_data.fields[index].label === '楼号
|
|
892
|
-
this.show_data.fields[index].label === '单元
|
|
893
|
-
this.show_data.fields[index].label === '楼层
|
|
894
|
-
this.show_data.fields[index].label === '门牌号
|
|
893
|
+
this.show_data.fields[index].label === '楼号' ||
|
|
894
|
+
this.show_data.fields[index].label === '单元' ||
|
|
895
|
+
this.show_data.fields[index].label === '楼层' ||
|
|
896
|
+
this.show_data.fields[index].label === '门牌号'
|
|
895
897
|
) {
|
|
896
|
-
|
|
897
|
-
let f_street = this.getLableValue('街道')
|
|
898
|
-
let f_residential_area = this.getLableValue('小区')
|
|
899
|
-
let f_building = this.getLableValue('楼号
|
|
900
|
-
let f_building_suffix =
|
|
901
|
-
let f_unit = this.getLableValue('单元
|
|
902
|
-
let f_unit_suffix =
|
|
903
|
-
let f_floor = this.getLableValue('楼层
|
|
904
|
-
let f_floor_suffix =
|
|
905
|
-
let f_room = this.getLableValue('门牌号
|
|
906
|
-
let f_room_suffix =
|
|
907
|
-
|
|
908
|
-
let f_address =
|
|
909
|
-
|
|
910
|
-
let f_address_type = this.show_data.f_address_type
|
|
911
|
-
if (f_address_type === '民用城区') {
|
|
912
|
-
f_address = f_street + f_residential_area + f_building + f_building_suffix + f_unit + f_unit_suffix + f_floor + f_floor_suffix + f_room + f_room_suffix
|
|
913
|
-
}
|
|
914
|
-
if (f_address_type === '民用农村') {
|
|
915
|
-
f_address = f_building + f_unit + f_floor + f_room
|
|
916
|
-
}
|
|
917
|
-
if (f_address_type === '特殊城区') {
|
|
918
|
-
f_address = f_street + f_residential_area
|
|
919
|
-
}
|
|
898
|
+
let f_pcd = this.getLableValue('区/县') || ''
|
|
899
|
+
let f_street = this.getLableValue('街道') || ''
|
|
900
|
+
let f_residential_area = this.getLableValue('小区') || ''
|
|
901
|
+
let f_building = this.getLableValue('楼号') || ''
|
|
902
|
+
let f_building_suffix = isEmpty(this.getLableValue('楼号')) ? '' : '号楼'
|
|
903
|
+
let f_unit = this.getLableValue('单元') || ''
|
|
904
|
+
let f_unit_suffix = isEmpty(this.getLableValue('单元')) ? '' : '单元'
|
|
905
|
+
let f_floor = this.getLableValue('楼层') || ''
|
|
906
|
+
let f_floor_suffix = isEmpty(this.getLableValue('楼层')) ? '' : '层'
|
|
907
|
+
let f_room = this.getLableValue('门牌号') || ''
|
|
908
|
+
let f_room_suffix = isEmpty(this.getLableValue('门牌号')) ? '' : '室'
|
|
909
|
+
|
|
910
|
+
let f_address = f_pcd + f_street + f_residential_area + f_building + f_building_suffix + f_unit + f_unit_suffix + f_floor + f_floor_suffix + f_room + f_room_suffix
|
|
920
911
|
this.setLabelValue("地址", f_address)
|
|
921
912
|
}
|
|
922
913
|
}
|
|
@@ -140,12 +140,19 @@
|
|
|
140
140
|
<div class="form-group row vertical-center">
|
|
141
141
|
<label class="col-xs-4 control-label">安 装 人:</label>
|
|
142
142
|
<div class="col-xs-8">
|
|
143
|
-
<input
|
|
144
|
-
class="
|
|
145
|
-
:value.sync="item.f_install_person"
|
|
143
|
+
<input
|
|
144
|
+
class="form-control input_view"
|
|
145
|
+
:value.sync="installperson(item.f_install_person)"
|
|
146
146
|
v-model="item.f_install_person"
|
|
147
|
-
|
|
148
|
-
|
|
147
|
+
placeholder="安装人"
|
|
148
|
+
readonly></input>
|
|
149
|
+
<!-- <input-select-->
|
|
150
|
+
<!-- class="select select_list"-->
|
|
151
|
+
<!-- :value.sync="item.f_install_person"-->
|
|
152
|
+
<!-- v-model="item.f_install_person"-->
|
|
153
|
+
<!-- :options="installperson"-->
|
|
154
|
+
<!-- :disable="mark === 1"-->
|
|
155
|
+
<!-- :valueSingle="true"></input-select>-->
|
|
149
156
|
</div>
|
|
150
157
|
</div>
|
|
151
158
|
<div class="form-group row vertical-center">
|
|
@@ -377,12 +384,18 @@ export default {
|
|
|
377
384
|
computed: {
|
|
378
385
|
// 安装人
|
|
379
386
|
installperson() {
|
|
380
|
-
return
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
value: item.name
|
|
387
|
+
return function (f_install_person) {
|
|
388
|
+
if (isEmpty(f_install_person)) {
|
|
389
|
+
return Vue.user.name
|
|
384
390
|
}
|
|
385
|
-
|
|
391
|
+
return f_install_person
|
|
392
|
+
}
|
|
393
|
+
// return Vue.user.f_installman.map(item => {
|
|
394
|
+
// return {
|
|
395
|
+
// label: item.name,
|
|
396
|
+
// value: item.name
|
|
397
|
+
// }
|
|
398
|
+
// })
|
|
386
399
|
},
|
|
387
400
|
// 表向
|
|
388
401
|
aroundmeters() {
|
|
@@ -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>
|