apply-clients 5.0.35-ezhou-2 → 5.0.35-ezhou-4
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 +2 -2
- package/src/apply.js +168 -153
- package/src/components/app_apply/ApplyToDoList.vue +76 -2586
- package/src/components/app_apply/Gongcheng.vue +3631 -0
- package/src/components/app_apply/OneToMany.vue +194 -0
- package/src/components/app_apply/PlaceControler.vue +12 -0
- package/src/components/app_apply/ServiceControl.vue +353 -14
- package/src/components/app_apply/ezhou/ServiceView.vue +139 -57
- package/src/components/image/doc.jpg +0 -0
- package/src/components/image/dwg.png +0 -0
- package/src/components/image/dxf.png +0 -0
- package/src/components/image/excel.jpg +0 -0
- package/src/components/image/pdf.jpg +0 -0
- package/src/components/product/Common/ApplyValidateBill.vue +13 -6
- package/src/components/product/Common/PrintBill.vue +7 -6
- package/src/components/product/EngineeringManagement/EngineerUpload.vue +304 -0
- package/src/components/product/EngineeringManagement/EngineeringManagement.vue +137 -0
- package/src/components/product/EngineeringManagement/EngineeringSelect.vue +586 -0
- package/src/components/product/EngineeringSupervisory/EngineeringApplyStopInfo.vue +281 -0
- package/src/components/product/EngineeringSupervisory/EngineeringSupervisoryControl.vue +132 -0
- package/src/components/product/EngineeringSupervisory/EngineeringSupervisoryList.vue +340 -0
- package/src/components/product/EngineeringSupervisory/EngineeringSupervisoryServiceControl.vue +490 -0
- package/src/components/product/Function/InstallInfoSelect.vue +3 -2
- package/src/components/product/Function/Service/FunctionServiceControl.vue +37 -1
- package/src/components/product/Function/functions/ApplyUpload.vue +556 -0
- package/src/components/product/Function/functions/BuyerMessage.vue +1 -1
- package/src/components/product/Function/functions/InstallFee.vue +1144 -1080
- package/src/components/product/Function/functions/InstallFeeInfo.vue +6 -1
- package/src/components/product/Process/ExplorationSelect.vue +41 -8
- package/src/components/product/Process/Processes/Service/ApplyChargeSearch.vue +126 -39
- package/src/components/product/Process/Processes/Service/PaperTicketBill.vue +1 -1
- package/src/components/product/Process/Processes/Service/ServiceControl.vue +2247 -1808
- package/src/components/product/Process/Processes/selectUserinfo.vue +183 -0
- package/src/components/product/ServiceView.vue +21 -6
- package/src/components/product/Supervisory/Service/SupervisoryServiceControl.vue +163 -14
- package/src/components/product/Supervisory/SupervisoryList.vue +102 -17
- package/src/components/product/applyReport/ApplyReport.vue +205 -0
- package/src/components/product/applyReport/PrintApplyReport.vue +116 -0
- package/src/components/product/stopInfo/ApplyStopInfo.vue +2 -1
- package/src/ezhouAndroid.js +4 -0
- package/src/plugins/commonService.js +1 -1
|
@@ -0,0 +1,183 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<div style="margin-bottom: 20px;" class="form-group select-overspread">
|
|
3
|
+
<label class="control-label-justify control-label col-sm-3">选择用户</label>
|
|
4
|
+
<div class="col-sm-10" style="top: 42px;">
|
|
5
|
+
<button class="button_search button_spacing" type="button" style="width: max-content;position: absolute" @click="openSelect" :disabled="mark === 1">选择</button>
|
|
6
|
+
</div>
|
|
7
|
+
</div>
|
|
8
|
+
|
|
9
|
+
<modal v-if="showselect" :show.sync="showselect" width="80%" title="用户信息" v-ref:modal large backdrop="false">
|
|
10
|
+
<article slot="modal-body" class="modal-body" style="height: 600px!important;">
|
|
11
|
+
<criteria-paged :model="model" v-ref:cp>
|
|
12
|
+
<criteria partial='criteria' @condition-changed='$parent.$parent.searchCondition' v-ref:cri>
|
|
13
|
+
<div novalidate class="form-horizontal select-overspread container-fluid auto" partial>
|
|
14
|
+
<div class="row">
|
|
15
|
+
<div class="form-group col-sm-3">
|
|
16
|
+
<label class="font_normal_body">客户编号:</label>
|
|
17
|
+
<input type="text" style="width:60%" class="input_search" placeholder='客户编号' v-model="model.f_userinfo_code"
|
|
18
|
+
v-on:keyup.enter="search"
|
|
19
|
+
condition="ui.f_userinfo_code = '{}'">
|
|
20
|
+
</div>
|
|
21
|
+
<div class="form-group col-sm-3">
|
|
22
|
+
<label class="font_normal_body">客户名称:</label>
|
|
23
|
+
<input type="text" style="width:60%" class="input_search" v-model="model.f_user_name"
|
|
24
|
+
v-on:keyup.enter="search" condition="ui.f_user_name like '%{}%'" placeholder='客户名称'>
|
|
25
|
+
</div>
|
|
26
|
+
<div class="form-group col-sm-3">
|
|
27
|
+
<label class="font_normal_body">客户电话:</label>
|
|
28
|
+
<input type="text" style="width:60%" class="input_search" v-model="model.f_user_phone"
|
|
29
|
+
v-on:keyup.enter="search" condition="ui.f_user_phone = '{}'" placeholder='客户电话'>
|
|
30
|
+
</div>
|
|
31
|
+
|
|
32
|
+
<div class="form-group col-sm-3 button-range">
|
|
33
|
+
<button class="button_search button_spacing" @click.prevent="search" v-el:cx>查询</button>
|
|
34
|
+
<button class="button_clear button_spacing" @click.prevent="$parent.$parent.$parent.clear()">清空</button>
|
|
35
|
+
<div
|
|
36
|
+
:class="{'button_shrink_top':$parent.$parent.$parent.criteriaShow,'button_shrink_bottom':!$parent.$parent.$parent.criteriaShow}"
|
|
37
|
+
@click="$parent.$parent.$parent.criteriaShow = !$parent.$parent.$parent.criteriaShow"
|
|
38
|
+
class="button_spacing"
|
|
39
|
+
style="float: right">
|
|
40
|
+
</div>
|
|
41
|
+
</div>
|
|
42
|
+
</div>
|
|
43
|
+
<div class="row" v-show="$parent.$parent.$parent.criteriaShow">
|
|
44
|
+
<div class="form-group col-sm-3">
|
|
45
|
+
<label class="font_normal_body">客户地址:</label>
|
|
46
|
+
<input type="text" style="width:60%" class="input_search" v-model="model.f_address"
|
|
47
|
+
v-on:keyup.enter="search" condition="ua.f_address like '%{}%'" placeholder='客户地址'>
|
|
48
|
+
</div>
|
|
49
|
+
</div>
|
|
50
|
+
</div>
|
|
51
|
+
</criteria>
|
|
52
|
+
<data-grid :model="model" partial='list' v-ref:grid class="list_area table_sy" style="height: 100%">
|
|
53
|
+
<template partial='head'>
|
|
54
|
+
<tr>
|
|
55
|
+
<th style="white-space: nowrap;">序号</th>
|
|
56
|
+
<th style="white-space: nowrap;">客户编号</th>
|
|
57
|
+
<th style="white-space: nowrap;">客户名称</th>
|
|
58
|
+
<th style="white-space: nowrap;">客户电话</th>
|
|
59
|
+
<th style="white-space: nowrap;">地址信息</th>
|
|
60
|
+
<th style="white-space: nowrap;">选择</th>
|
|
61
|
+
</tr>
|
|
62
|
+
</template>
|
|
63
|
+
<template partial='body'>
|
|
64
|
+
<tr >
|
|
65
|
+
<td style="text-align: center;">
|
|
66
|
+
<nobr><font>{{$index+1}}</font></nobr>
|
|
67
|
+
</td>
|
|
68
|
+
<td style="text-align: center;">
|
|
69
|
+
<nobr><font>{{ row.f_userinfo_code }}</font></nobr>
|
|
70
|
+
</td>
|
|
71
|
+
<td style="text-align: center;">
|
|
72
|
+
<nobr><font>{{ row.f_user_name }}</font></nobr>
|
|
73
|
+
</td>
|
|
74
|
+
<td style="text-align: center;">
|
|
75
|
+
<nobr><font>{{ row.f_user_phone }}</font></nobr>
|
|
76
|
+
</td>
|
|
77
|
+
<td style="text-align: center;">
|
|
78
|
+
<nobr><font>{{ row.f_address }}</font></nobr>
|
|
79
|
+
</td>
|
|
80
|
+
<td style="text-align: center;">
|
|
81
|
+
<nobr><font>
|
|
82
|
+
<button type="button" name="button" class="button_export" @click.prevent="$parent.$parent.$parent.$parent.select(row)">确认选择</button>
|
|
83
|
+
</font></nobr>
|
|
84
|
+
</td>
|
|
85
|
+
</tr>
|
|
86
|
+
</template>
|
|
87
|
+
</data-grid>
|
|
88
|
+
</criteria-paged>
|
|
89
|
+
</article>
|
|
90
|
+
<footer slot="modal-footer" class="modal-footer">
|
|
91
|
+
</footer>
|
|
92
|
+
</modal>
|
|
93
|
+
</template>
|
|
94
|
+
<script>
|
|
95
|
+
import {PagedList} from 'vue-client'
|
|
96
|
+
import Vue from 'vue'
|
|
97
|
+
|
|
98
|
+
export default {
|
|
99
|
+
title: '收费管理',
|
|
100
|
+
props: {
|
|
101
|
+
selectdata: {
|
|
102
|
+
type: Object
|
|
103
|
+
},
|
|
104
|
+
mark: {
|
|
105
|
+
type: Number,
|
|
106
|
+
default: 0
|
|
107
|
+
}
|
|
108
|
+
},
|
|
109
|
+
data () {
|
|
110
|
+
return {
|
|
111
|
+
showselect: false,
|
|
112
|
+
model: new PagedList('rs/sql/applyGetUserinfos', 20, null),
|
|
113
|
+
criteriaShow: false
|
|
114
|
+
}
|
|
115
|
+
},
|
|
116
|
+
ready () {
|
|
117
|
+
},
|
|
118
|
+
methods: {
|
|
119
|
+
select (row) {
|
|
120
|
+
this.$dispatch('selectUserinfo', row)
|
|
121
|
+
|
|
122
|
+
this.showselect = false
|
|
123
|
+
},
|
|
124
|
+
searchCondition (args) {
|
|
125
|
+
args.condition = `${args.condition}`
|
|
126
|
+
|
|
127
|
+
this.model.search(args.condition, args.model)
|
|
128
|
+
},
|
|
129
|
+
clear () {
|
|
130
|
+
Object.keys(this.$refs.cp.$refs.cri.model).forEach((key) => {
|
|
131
|
+
this.$refs.cp.$refs.cri.model[key] = null
|
|
132
|
+
})
|
|
133
|
+
},
|
|
134
|
+
openSelect () {
|
|
135
|
+
this.showselect = true
|
|
136
|
+
setTimeout(() => {
|
|
137
|
+
this.$refs.cp.$refs.cri.search()
|
|
138
|
+
}, 100)
|
|
139
|
+
}
|
|
140
|
+
},
|
|
141
|
+
events: {
|
|
142
|
+
},
|
|
143
|
+
computed: {
|
|
144
|
+
},
|
|
145
|
+
watch: {
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
</script>
|
|
149
|
+
<style scoped>
|
|
150
|
+
.control-label-justify {
|
|
151
|
+
top: 42px;
|
|
152
|
+
display: inline-block;
|
|
153
|
+
vertical-align: top;
|
|
154
|
+
width: 110px;
|
|
155
|
+
text-align: justify;
|
|
156
|
+
font-family: PingFang-SC-Bold;
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
.control-label-justify::after {
|
|
160
|
+
content: "";
|
|
161
|
+
display: inline-block;
|
|
162
|
+
width: 100%;
|
|
163
|
+
overflow: hidden;
|
|
164
|
+
height: 0;
|
|
165
|
+
}
|
|
166
|
+
.input_view{
|
|
167
|
+
padding: 8px;
|
|
168
|
+
background-color: #ffffff;
|
|
169
|
+
border-radius: 2px;
|
|
170
|
+
border: solid 1px #c7c7c7!important;
|
|
171
|
+
color: #333333!important;
|
|
172
|
+
font-size: 15px!important;
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
.input_view[readonly]{
|
|
176
|
+
border: 1px solid #DDD!important;
|
|
177
|
+
color:#ACA899!important;
|
|
178
|
+
}
|
|
179
|
+
.input_view:disabled{
|
|
180
|
+
border: 1px solid #DDD!important;
|
|
181
|
+
color:#ACA899!important;
|
|
182
|
+
}
|
|
183
|
+
</style>
|
|
@@ -10,13 +10,13 @@
|
|
|
10
10
|
<!--</div>-->
|
|
11
11
|
<validator name="v">
|
|
12
12
|
<form class="form-horizontal">
|
|
13
|
-
<div class="col-sm-12 form-group">
|
|
13
|
+
<div class="col-sm-12 form-group form-group1">
|
|
14
14
|
<div v-for="(index,item) in data.fields">
|
|
15
15
|
<!--input-->
|
|
16
16
|
<div :style="item.style+';height: 34px;'"
|
|
17
17
|
v-if="item.type==='input' || item.type==='number'||item.type === 'tel'||item.type === 'email'"
|
|
18
18
|
v-show="!item.hidden"
|
|
19
|
-
:class="[data.fields[index].required&&!(data.fields[index].value) ? 'has-error' : '',data.fields[index].bootstraped?data.fields[index].bootstraped+' form-group':'col-sm-4 form-group']">
|
|
19
|
+
:class="[data.fields[index].required&&!(data.fields[index].value) ? 'has-error' : '',data.fields[index].bootstraped?data.fields[index].bootstraped+' form-group':'col-sm-4 form-group form-group1']">
|
|
20
20
|
<label :style="item.label_style? item.label_style:''+';width:85px;'"
|
|
21
21
|
:class="item.label_bootstraped?item.label_bootstraped+' control-label-justify control-label':item.label_style?'':'control-label-justify control-label col-sm-6'">{{item.label}}</label>
|
|
22
22
|
<div :style="item.value_style? item.value_style:''"
|
|
@@ -36,7 +36,7 @@
|
|
|
36
36
|
<!--时间datepicker-->
|
|
37
37
|
<div :style="item.style? item.style+';height: 34px;':'height: 34px;'" v-if="item.type==='datepicker'"
|
|
38
38
|
v-show="!item.hidden"
|
|
39
|
-
:class="[data.fields[index].required&&!(data.fields[index].value) ? 'has-error' : '',data.fields[index].bootstraped?data.fields[index].bootstraped+' form-group':'col-sm-4 form-group']">
|
|
39
|
+
:class="[data.fields[index].required&&!(data.fields[index].value) ? 'has-error' : '',data.fields[index].bootstraped?data.fields[index].bootstraped+' form-group':'col-sm-4 form-group form-group1']">
|
|
40
40
|
<label style="width:85px"
|
|
41
41
|
:class="item.label_bootstraped?item.label_bootstraped+' control-label-justify control-label':'control-label control-label-justify col-sm-6'">{{item.label}}</label>
|
|
42
42
|
<div :class="item.value_bootstraped?item.value_bootstraped:'col-sm-6'">
|
|
@@ -94,7 +94,7 @@
|
|
|
94
94
|
|
|
95
95
|
<!--select-->
|
|
96
96
|
<div style="height: 34px" v-if="item.type==='select'" v-show="!item.hidden"
|
|
97
|
-
:class="[data.fields[index].required&&!(data.fields[index].value) ? 'has-error' : '',data.fields[index].bootstraped?data.fields[index].bootstraped+' form-group':'col-sm-4 form-group']">
|
|
97
|
+
:class="[data.fields[index].required&&!(data.fields[index].value) ? 'has-error' : '',data.fields[index].bootstraped?data.fields[index].bootstraped+' form-group ':'col-sm-4 form-group']">
|
|
98
98
|
<label style="width:85px;"
|
|
99
99
|
:class="item.label_bootstraped?item.label_bootstraped+' control-label control-label-justify':'control-label-justify control-label col-sm-6'">{{item.label}}</label>
|
|
100
100
|
<input-select :class="item.value_bootstraped?item.value_bootstraped:'col-sm-6'" @blur="check_disable"
|
|
@@ -106,6 +106,7 @@
|
|
|
106
106
|
|
|
107
107
|
</div>
|
|
108
108
|
|
|
109
|
+
|
|
109
110
|
<!--checkbox-->
|
|
110
111
|
<div v-if="item.type==='checkbox'"
|
|
111
112
|
:class="[data.fields[index].required&&!(data.fields[index].value) ? 'has-error' : '',data.fields[index].bootstraped?data.fields[index].bootstraped+' form-group':'col-sm-12 form-group']">
|
|
@@ -122,7 +123,7 @@
|
|
|
122
123
|
</div>
|
|
123
124
|
<!-- onetomany -->
|
|
124
125
|
<div class="col-sm-12" v-for="(i,datagrid) in data.onetomany">
|
|
125
|
-
<table v-show="!datagrid.hidden" class="table table-bordered table-striped table-hover">
|
|
126
|
+
<table v-show="!datagrid.hidden" class="table table-bordered table-striped table-hover" style="margin-top: 80px">
|
|
126
127
|
<tr style="background-color: #00A3F0">
|
|
127
128
|
<th style="text-align: center;border-color: #00A3F0"><font color="white">序号</font></th>
|
|
128
129
|
<th v-for="labels in datagrid.fields" style="text-align: center;border-color: #00A3F0">
|
|
@@ -146,6 +147,9 @@
|
|
|
146
147
|
</tr>
|
|
147
148
|
</table>
|
|
148
149
|
</div>
|
|
150
|
+
<div v-for="(i,item) in data.components" >
|
|
151
|
+
<component v-if="item.device === 'pc' || !item.device" :is="item.name" :selectdata="data" :mark="item.mark"></component>
|
|
152
|
+
</div>
|
|
149
153
|
</div>
|
|
150
154
|
<div class="col-sm-12 form-group text-center" style="padding-top:20px">
|
|
151
155
|
<div class="form-group col-sm-2 center-block">
|
|
@@ -506,6 +510,12 @@
|
|
|
506
510
|
},
|
|
507
511
|
// 初始化数据
|
|
508
512
|
initializtion() {
|
|
513
|
+
if(this.data.f_apply_type='集体报建' && this.data.f_user_type=='非民用' && this.data.defname=='验收'){
|
|
514
|
+
for(let j=0;j< this.data.fields.length;j++) {
|
|
515
|
+
this.data.fields[j].required = false
|
|
516
|
+
}
|
|
517
|
+
}
|
|
518
|
+
|
|
509
519
|
let fields = this.data.fields
|
|
510
520
|
let flag = false
|
|
511
521
|
for (let i = 0; i < fields.length; i++) {
|
|
@@ -776,7 +786,9 @@
|
|
|
776
786
|
text-align: justify;
|
|
777
787
|
font-family: PingFang-SC-Bold;
|
|
778
788
|
}
|
|
779
|
-
|
|
789
|
+
.component-style{
|
|
790
|
+
top: 42px;
|
|
791
|
+
}
|
|
780
792
|
.control-label-justify::after {
|
|
781
793
|
content: "";
|
|
782
794
|
display: inline-block;
|
|
@@ -797,4 +809,7 @@
|
|
|
797
809
|
tr {
|
|
798
810
|
height: 34px;
|
|
799
811
|
}
|
|
812
|
+
.form-group{
|
|
813
|
+
margin-top:20px;
|
|
814
|
+
}
|
|
800
815
|
</style>
|
|
@@ -20,6 +20,7 @@
|
|
|
20
20
|
</template>
|
|
21
21
|
<script>
|
|
22
22
|
import {HttpResetClass} from 'vue-client'
|
|
23
|
+
import Vue from "vue";
|
|
23
24
|
export default {
|
|
24
25
|
title: '报建监控控制层',
|
|
25
26
|
props: ['selectdata'],
|
|
@@ -36,6 +37,45 @@
|
|
|
36
37
|
},
|
|
37
38
|
// json配置数据处理 比如下拉框的options
|
|
38
39
|
async initializtion() {
|
|
40
|
+
// onetomany 数据获取
|
|
41
|
+
if (this.data.onetomany) {
|
|
42
|
+
console.log('判断是onetomany,this.data.onetomany的数据为=>' + JSON.stringify(this.data.onetomany))
|
|
43
|
+
for (let index = 0; index < this.data.onetomany.length; index++) {
|
|
44
|
+
let http = new HttpResetClass()
|
|
45
|
+
let data = {}
|
|
46
|
+
if (this.data.onetomany[index].tables[0] == 't_charge_record') {
|
|
47
|
+
data = {
|
|
48
|
+
tablename: this.data.onetomany[index].tables[0],
|
|
49
|
+
condition: `f_apply_num = '${this.selectdata.f_apply_num}' and f_process_id='${this.selectdata.f_process_id}' and f_charging_status != '作废'`
|
|
50
|
+
}
|
|
51
|
+
} else {
|
|
52
|
+
data = {
|
|
53
|
+
tablename: this.data.onetomany[index].tables[0],
|
|
54
|
+
condition: `f_process_id='${this.selectdata.f_process_id}'`
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
let res = await http.load('POST', 'rs/sql/singleTable', {data: data}, {
|
|
58
|
+
resolveMsg: null,
|
|
59
|
+
rejectMsg: 'onetomany查询失败'
|
|
60
|
+
})
|
|
61
|
+
// 初始化 onetomany
|
|
62
|
+
let rows = []
|
|
63
|
+
console.log('查询返回结果res.data=>' + JSON.stringify(res.data))
|
|
64
|
+
this.data.onetomany[index].rows = res.data
|
|
65
|
+
// console.log(JSON.stringify('this.data.onetomany[index].rows=>' + JSON.stringify(this.data.onetomany[index].rows)))
|
|
66
|
+
|
|
67
|
+
// 初始化onetomany中的fields
|
|
68
|
+
for (let j = 0; j < this.data.onetomany[index].fields.length; j++) {
|
|
69
|
+
// 如果配置类型为select,优先从参数列表获取options
|
|
70
|
+
if (this.data.onetomany[index].fields[j].type === 'select') {
|
|
71
|
+
let temp = Vue.$appdata.getParam(this.data.onetomany[index].fields[j].label)
|
|
72
|
+
if (temp && temp.length > 0) {
|
|
73
|
+
this.data.onetomany[index].fields[j].options = Vue.$appdata.getParam(this.data.onetomany[index].fields[j].label)
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
}
|
|
39
79
|
// selectdata 填充 data
|
|
40
80
|
if (this.selectdata.f_survey_name) {
|
|
41
81
|
let buyerinfos = []
|
|
@@ -83,21 +123,18 @@
|
|
|
83
123
|
this.data.fields[i].options = [{label: '全部', value: ''}, ...rs]
|
|
84
124
|
}
|
|
85
125
|
|
|
86
|
-
|
|
87
|
-
if (this.selectdata[this.data.fields[i].field]) {
|
|
88
|
-
this.data.fields[i].value = this.selectdata[this.data.fields[i].field]
|
|
89
|
-
}
|
|
126
|
+
this.data.fields[i].value = this.selectdata[this.data.fields[i].field]
|
|
90
127
|
|
|
91
128
|
if (typeof this.data.fields[i].value === 'string' && this.data.fields[i].value.startsWith("{") && this.data.fields[i].value.endsWith("}")) {
|
|
92
129
|
this.data.fields[i].value = JSON.parse(this.data.fields[i].value)
|
|
93
130
|
}
|
|
94
131
|
this.data.fields[i].readonly = true
|
|
95
132
|
this.data.fields[i].disabled = true
|
|
96
|
-
if(this.$login.r.find(value => value == '报建流程修改') && this
|
|
133
|
+
if(this.$login.r.find(value => value == '报建流程修改') && this.$login.r.includes('报建流程修改')){
|
|
97
134
|
this.data.fields[i].readonly = false
|
|
98
135
|
this.data.fields[i].disabled = false
|
|
99
136
|
}
|
|
100
|
-
if(this.$login.r.find(value => value == '集体报建流程修改')
|
|
137
|
+
if(this.$login.r.find(value => value == '集体报建流程修改') && this.$login.r.includes('报建流程修改')){
|
|
101
138
|
this.data.fields[i].readonly = false
|
|
102
139
|
this.data.fields[i].disabled = false
|
|
103
140
|
}
|
|
@@ -117,7 +154,7 @@
|
|
|
117
154
|
}
|
|
118
155
|
}
|
|
119
156
|
this.data.buttons = null
|
|
120
|
-
if( this.$login.r.find(value => value == '报建流程修改')
|
|
157
|
+
if( this.$login.r.find(value => value == '报建流程修改') ){
|
|
121
158
|
// 仅留保存按钮
|
|
122
159
|
this.data.buttons = [
|
|
123
160
|
{
|
|
@@ -125,7 +162,7 @@
|
|
|
125
162
|
}
|
|
126
163
|
]
|
|
127
164
|
}
|
|
128
|
-
if(this
|
|
165
|
+
if(this.$login.r.includes('集体报建流程修改')){
|
|
129
166
|
// 仅留保存按钮
|
|
130
167
|
this.data.buttons = [
|
|
131
168
|
{
|
|
@@ -133,13 +170,115 @@
|
|
|
133
170
|
}
|
|
134
171
|
]
|
|
135
172
|
}
|
|
136
|
-
|
|
137
173
|
}
|
|
138
174
|
},
|
|
139
175
|
events:{
|
|
140
176
|
'getmodel'(){
|
|
141
177
|
return this.$refs.service_show.getmodel()
|
|
142
178
|
},
|
|
179
|
+
async 'onetomanydelete'(i, j) {
|
|
180
|
+
let http = new HttpResetClass()
|
|
181
|
+
let data = {
|
|
182
|
+
tables: this.$refs.service_show.data.onetomany[i].tables,
|
|
183
|
+
row: this.$refs.service_show.model.rows[i][j]
|
|
184
|
+
}
|
|
185
|
+
await http.load('POST', 'rs/logic/applyDeleteValue', {data: data}, {
|
|
186
|
+
resolveMsg: null,
|
|
187
|
+
rejectMsg: 'onetomanydelete失败'
|
|
188
|
+
}).then(() => {
|
|
189
|
+
this.$dispatch('selfsearch')
|
|
190
|
+
this.$refs.service_show.model.rows[i].splice(j, 1)
|
|
191
|
+
})
|
|
192
|
+
},
|
|
193
|
+
//获取view层confirm事件
|
|
194
|
+
async 'confirm'(tables, row, showadd_index, j) {
|
|
195
|
+
debugger
|
|
196
|
+
var _this = this
|
|
197
|
+
for (let i = 0; i < tables.length; i++) {
|
|
198
|
+
let datas = {
|
|
199
|
+
tables: tables,
|
|
200
|
+
row: row
|
|
201
|
+
}
|
|
202
|
+
console.log("看看datas")
|
|
203
|
+
console.log(datas)
|
|
204
|
+
console.log("看看showadd_index")
|
|
205
|
+
console.log(showadd_index)
|
|
206
|
+
datas.row['f_process_id'] = this.selectdata.f_process_id
|
|
207
|
+
datas.row['f_apply_num'] = this.selectdata.f_apply_num
|
|
208
|
+
datas.row['f_filiale'] = this.selectdata.f_filiale
|
|
209
|
+
let http = new HttpResetClass()
|
|
210
|
+
let sellid = ''
|
|
211
|
+
let billtype = datas.row['f_bill_style']
|
|
212
|
+
if (tables[i] == 't_charge_record') {
|
|
213
|
+
await this.loadbuyer()
|
|
214
|
+
if (this.buyerinfo.rows.length < 1 && billtype === '增值税电子发票' && this.$appdata.getSingleValue('默认打印票据') === '是') {
|
|
215
|
+
this.$showAlert('未找到购买方信息,请去报建功能"购买方信息"中完善购买方信息后再收费', 'info', 2000)
|
|
216
|
+
this.$refs.service_show.model.rows[showadd_index].splice(j, 1)
|
|
217
|
+
this.$refs.service_show.initializtion()
|
|
218
|
+
return
|
|
219
|
+
}
|
|
220
|
+
datas.row.f_charging_status = '有效'
|
|
221
|
+
datas.row.f_is_correct = '否'
|
|
222
|
+
datas.row.f_charge_collectors = this.$login.f.name
|
|
223
|
+
datas.row.f_amount_words=this.smalltoBIG(datas.row.f_charge_money)
|
|
224
|
+
await http.load('POST', 'rs/logic/applycharge', datas, {
|
|
225
|
+
resolveMsg: null,
|
|
226
|
+
rejectMsg: '收费保存失败'
|
|
227
|
+
}).then((res) => {
|
|
228
|
+
sellid = JSON.parse(res.data.sellid).id
|
|
229
|
+
for (let i = 0; i < this.$refs.service_show.data.fields.length; i++) {
|
|
230
|
+
//
|
|
231
|
+
// if (this.$refs.service_show.data.fields[i].label == '累计缴费金额') {
|
|
232
|
+
// this.$refs.service_show.data.fields[i].value = res.data.f_cumulative_money
|
|
233
|
+
// }
|
|
234
|
+
//
|
|
235
|
+
// if (this.$refs.service_show.data.fields[i].label == '未结总金额') {
|
|
236
|
+
// this.$refs.service_show.data.fields[i].value = res.data.f_unaccounts_money
|
|
237
|
+
// }
|
|
238
|
+
|
|
239
|
+
}
|
|
240
|
+
let temp = _this.$refs.service_show.model.rows[showadd_index][j]
|
|
241
|
+
temp.id = sellid
|
|
242
|
+
_this.$refs.service_show.model.rows[showadd_index][j] = temp
|
|
243
|
+
})
|
|
244
|
+
if (this.$appdata.getSingleValue('默认打印票据') && this.$appdata.getSingleValue('默认打印票据') === '是') {
|
|
245
|
+
this.$showMessage('是否打票据', ['confirm', 'cancel']).then((res) => {
|
|
246
|
+
if (res === 'confirm') {
|
|
247
|
+
console.log('打印票据')
|
|
248
|
+
if (billtype === '增值税电子发票') {
|
|
249
|
+
this.selectsellid = sellid
|
|
250
|
+
this.showbuyerinfo = true
|
|
251
|
+
} else {
|
|
252
|
+
this.printbill(sellid)
|
|
253
|
+
}
|
|
254
|
+
for (let i = 0; i < this.$refs.service_show.data.fields.length; i++) {
|
|
255
|
+
if (this.$refs.service_show.data.fields[i].label == '累计开票金额') {
|
|
256
|
+
console.log("计算累计开票金额")
|
|
257
|
+
this.$refs.service_show.data.fields[i].value = parseInt(this.$refs.service_show.data.fields[i].value) + this.datas.row.f_cumulative_invoicing
|
|
258
|
+
}
|
|
259
|
+
}
|
|
260
|
+
}
|
|
261
|
+
})
|
|
262
|
+
}
|
|
263
|
+
// 刷新列表数据
|
|
264
|
+
console.log("刷新一下")
|
|
265
|
+
this.$dispatch('selfsearch')
|
|
266
|
+
console.log("刷新完成")
|
|
267
|
+
} else {
|
|
268
|
+
debugger
|
|
269
|
+
await http.load('POST', 'rs/logic/saveentity', datas, {
|
|
270
|
+
resolveMsg: null,
|
|
271
|
+
rejectMsg: 'onetomany保存失败'
|
|
272
|
+
}).then((res) => {
|
|
273
|
+
// 刷新列表数据
|
|
274
|
+
this.$dispatch('selfsearch')
|
|
275
|
+
let temp = _this.$refs.service_show.model.rows[showadd_index][j]
|
|
276
|
+
temp.id = res.data.id
|
|
277
|
+
_this.$refs.service_show.model.rows[showadd_index][j] = temp
|
|
278
|
+
})
|
|
279
|
+
}
|
|
280
|
+
}
|
|
281
|
+
},
|
|
143
282
|
// 获取view层button事件/
|
|
144
283
|
async 'button'(model) {
|
|
145
284
|
let http = new HttpResetClass()
|
|
@@ -340,6 +479,9 @@
|
|
|
340
479
|
// xxx xx xxx
|
|
341
480
|
if (this.$refs.service_show.data.fields[k].label === '县/区' && this.$refs.service_show.data.fields[k].value) {
|
|
342
481
|
address += this.$refs.service_show.data.fields[k].value
|
|
482
|
+
if (address.indexOf('湖北省')!=-1){
|
|
483
|
+
address = address.replace('湖北省','')
|
|
484
|
+
}
|
|
343
485
|
}
|
|
344
486
|
if (this.$refs.service_show.data.fields[k].label === '街道名称' && this.$refs.service_show.data.fields[k].value) {
|
|
345
487
|
address += this.$refs.service_show.data.fields[k].value
|
|
@@ -390,11 +532,18 @@
|
|
|
390
532
|
this.data = jsonData
|
|
391
533
|
this.initializtion()
|
|
392
534
|
// 完成时间和完成人,部门,分公司
|
|
393
|
-
this.data.filiale = this.selectdata.f_filiale
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
535
|
+
if(this.selectdata.defname =='完工'){ this.data.filiale = this.selectdata.f_filiale
|
|
536
|
+
this.data.f_parentname = this.selectdata.f_parentname
|
|
537
|
+
this.data.operate_date = this.selectdata.sendtime
|
|
538
|
+
this.data.operator = this.selectdata.sender
|
|
539
|
+
this.showview = true
|
|
540
|
+
}else{
|
|
541
|
+
this.data.f_parentname = this.selectdata.f_parentname
|
|
542
|
+
this.data.operate_date = this.selectdata.finishtime
|
|
543
|
+
this.data.operator = this.selectdata.person
|
|
544
|
+
this.showview = true
|
|
545
|
+
}
|
|
546
|
+
|
|
398
547
|
} else if (sum == 0) {
|
|
399
548
|
this.$showMessage(`没有在JSON配置文件中找到活动名为:(${this.selectdata.defname})的节点配置`)
|
|
400
549
|
} else {
|