apply-clients 4.1.49-weinan → 4.1.50-weinan
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,251 +1,251 @@
|
|
|
1
|
-
<template>
|
|
2
|
-
<div class="p-10">
|
|
3
|
-
<criteria-paged :model="model" v-ref:cp>
|
|
4
|
-
<criteria partial='criteria' @condition-changed='search' v-ref:cri>
|
|
5
|
-
<div partial class="auto">
|
|
6
|
-
<div class="row form-group app-input" v-if="$parent.$parent.criteriaShow">
|
|
7
|
-
<label class="">报建编号:</label>
|
|
8
|
-
<div class="col-xs-8" >
|
|
9
|
-
<input class="" v-model=model.f_apply_num condition="u.f_apply_num like '%{}%'" />
|
|
10
|
-
</div>
|
|
11
|
-
</div>
|
|
12
|
-
<div class="row form-group app-input" v-if="$parent.$parent.criteriaShow">
|
|
13
|
-
<label class="">合同编号:</label>
|
|
14
|
-
<div class="col-xs-8" >
|
|
15
|
-
<input class="" v-model=model.f_contract_number condition="u.f_contract_number like '%{}%'" />
|
|
16
|
-
</div>
|
|
17
|
-
</div>
|
|
18
|
-
<div class="row form-group app-input" v-if="$parent.$parent.criteriaShow">
|
|
19
|
-
<label class="">报建类型:</label>
|
|
20
|
-
<div class="col-xs-8" >
|
|
21
|
-
<v-select
|
|
22
|
-
width="100%"
|
|
23
|
-
v-model="model.f_apply_type"
|
|
24
|
-
placeholder='报建类型'
|
|
25
|
-
condition="u.f_apply_type = '{}'"
|
|
26
|
-
:value.sync="model.f_apply_type"
|
|
27
|
-
:options='$parent.$parent.applytype'
|
|
28
|
-
class="select select_list"
|
|
29
|
-
:value-single="true"
|
|
30
|
-
@change="$parent.$parent.applyTypeChange()"
|
|
31
|
-
close-on-select ></v-select>
|
|
32
|
-
</div>
|
|
33
|
-
</div>
|
|
34
|
-
<div class="row form-group app-input" v-if="$parent.$parent.criteriaShow">
|
|
35
|
-
<label class="">办理环节:</label>
|
|
36
|
-
<div class="col-xs-8" >
|
|
37
|
-
<v-select
|
|
38
|
-
width="100%"
|
|
39
|
-
v-model="model.defname"
|
|
40
|
-
placeholder='办理环节'
|
|
41
|
-
condition="defname = '{}'"
|
|
42
|
-
:value.sync="model.defname"
|
|
43
|
-
:options='$parent.$parent.defnames'
|
|
44
|
-
class="select select_list"
|
|
45
|
-
:value-single="true"
|
|
46
|
-
close-on-select ></v-select>
|
|
47
|
-
</div>
|
|
48
|
-
</div>
|
|
49
|
-
<div class="row form-group app-input" v-if="$parent.$parent.criteriaShow">
|
|
50
|
-
<label class="">开始时间:</label>
|
|
51
|
-
<div class="col-xs-8" >
|
|
52
|
-
<datepicker id="startDate" placeholder="开始日期"
|
|
53
|
-
style="width: 100%!important;"
|
|
54
|
-
v-model="model.startDate"
|
|
55
|
-
:value.sync="model.startDate"
|
|
56
|
-
:format="'yyyy-MM-dd 00:00:00'"
|
|
57
|
-
:show-reset-button="true"
|
|
58
|
-
condition="u.f_apply_date >= '{}'">
|
|
59
|
-
</datepicker>
|
|
60
|
-
</div>
|
|
61
|
-
</div>
|
|
62
|
-
<div class="row form-group app-input" v-if="$parent.$parent.criteriaShow">
|
|
63
|
-
<label class="">结束时间:</label>
|
|
64
|
-
<div class="col-xs-8" >
|
|
65
|
-
<datepicker id="endDate" placeholder="结束日期"
|
|
66
|
-
style="width: 100%!important;"
|
|
67
|
-
v-model="model.endDate"
|
|
68
|
-
:value.sync="model.endDate"
|
|
69
|
-
:format="'yyyy-MM-dd 23:59:59'"
|
|
70
|
-
:show-reset-button="true"
|
|
71
|
-
condition="f_apply_date <= '{}'">
|
|
72
|
-
</datepicker>
|
|
73
|
-
</div>
|
|
74
|
-
</div>
|
|
75
|
-
<div class="row form-group text-right" style="">
|
|
76
|
-
<button class="btn btn-primary" @click="$parent.$parent.search()">查询</button>
|
|
77
|
-
<button class="btn btn-info" @click="$parent.$parent.clear()">清空</button>
|
|
78
|
-
<button class="btn" :class="{'button_shrink_top':$parent.$parent.criteriaShow,'button_shrink_bottom':!$parent.$parent.criteriaShow}" @click="$parent.$parent.criteriaShow = !$parent.$parent.criteriaShow"></button>
|
|
79
|
-
</div>
|
|
80
|
-
</div>
|
|
81
|
-
</criteria>
|
|
82
|
-
<list :model="model" partial='list'>
|
|
83
|
-
<div partial class="auto app-text panel">
|
|
84
|
-
<div class="panel-body panel-self">
|
|
85
|
-
<div class="col-xs-12">
|
|
86
|
-
<p class="col-xs-3 text-left font"><b>工程编号:</b></p>
|
|
87
|
-
<p class="col-xs-9 text-left input-font">{{ row.f_apply_num }}</p>
|
|
88
|
-
</div>
|
|
89
|
-
<div class="col-xs-12">
|
|
90
|
-
<p class="col-xs-3 text-left font"><b>项目名称:</b></p>
|
|
91
|
-
<p class="col-xs-9 text-left input-font">{{ row.f_entry_name }}</p>
|
|
92
|
-
</div>
|
|
93
|
-
<div class="col-xs-12">
|
|
94
|
-
<p class="col-xs-3 text-left font"><b>报建类型:</b></p>
|
|
95
|
-
<p class="col-xs-9 text-left input-font">{{ row.f_apply_type }}</p>
|
|
96
|
-
</div>
|
|
97
|
-
<div class="col-xs-12">
|
|
98
|
-
<p class="col-xs-3 text-left font"><b>办理环节:</b></p>
|
|
99
|
-
<p class="col-xs-9 text-left input-font">{{ row.defname }}</p>
|
|
100
|
-
</div>
|
|
101
|
-
<div class="col-xs-12">
|
|
102
|
-
<p class="col-xs-3 text-left font"><b>用户类型:</b></p>
|
|
103
|
-
<p class="col-xs-9 text-left input-font">{{ row.f_user_type }}</p>
|
|
104
|
-
</div>
|
|
105
|
-
<div class="col-xs-12">
|
|
106
|
-
<p class="col-xs-3 text-left font"><b>流程状态:</b></p>
|
|
107
|
-
<p class="col-xs-9 text-left input-font">{{ row.f_sub_state }}</p>
|
|
108
|
-
</div>
|
|
109
|
-
<div class="col-xs-12">
|
|
110
|
-
<p class="col-xs-3 text-left font"><b>报建日期:</b></p>
|
|
111
|
-
<p class="col-xs-9 text-left input-font">{{ row.f_apply_date }}</p>
|
|
112
|
-
</div>
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
<div class="col-xs-12 text-right">
|
|
116
|
-
<button class="btn btn-info" @click="$parent.$parent.$parent.click(row)">查看</button>
|
|
117
|
-
</div>
|
|
118
|
-
</div>
|
|
119
|
-
</div>
|
|
120
|
-
</list>
|
|
121
|
-
</criteria-paged>
|
|
122
|
-
</div>
|
|
123
|
-
</template>
|
|
124
|
-
<script>
|
|
125
|
-
import Vue from 'vue'
|
|
126
|
-
import { PagedList, HttpResetClass } from 'vue-client'
|
|
127
|
-
import {isEmpty} from '../Util'
|
|
128
|
-
export default {
|
|
129
|
-
title: '报建流程',
|
|
130
|
-
data () {
|
|
131
|
-
return {
|
|
132
|
-
model: new PagedList(`${this.$androidUtil.getProxyUrl()}/rs/sql/supervisory`, 20, {
|
|
133
|
-
// model: new PagedList('rs/sql/supervisory', 20, {
|
|
134
|
-
data: {
|
|
135
|
-
id: Vue.user.id,
|
|
136
|
-
orgid: Vue.user.orgid
|
|
137
|
-
// id: '35814',
|
|
138
|
-
// orgid: '10101'
|
|
139
|
-
}
|
|
140
|
-
}),
|
|
141
|
-
criteriaShow: false,
|
|
142
|
-
// applytype: [{label: '全部', value: ''}, ...this.$appdata.getParam('报建类型')], // 所有报建类型
|
|
143
|
-
applytype: [{label: '全部', value: ''}, ...this.$appdata.getParam('报建类型') || [] ], // 所有报建类型
|
|
144
|
-
defnames: [{label: '全部', value: ''}],
|
|
145
|
-
applyNatures: [{label: '全部', value: ''}] // 报建性质
|
|
146
|
-
}
|
|
147
|
-
},
|
|
148
|
-
ready () {
|
|
149
|
-
this.search()
|
|
150
|
-
},
|
|
151
|
-
methods: {
|
|
152
|
-
dialNumber (phone) {
|
|
153
|
-
this.$showMessage(`是否拨打电话:${phone}`, ['confirm']).then((res) => {
|
|
154
|
-
if (res === 'confirm') {
|
|
155
|
-
this.$androidUtil.makeAPhoneCall(phone)
|
|
156
|
-
}
|
|
157
|
-
})
|
|
158
|
-
},
|
|
159
|
-
clear () {
|
|
160
|
-
Object.keys(this.$refs.cp.$refs.cri.model).forEach((key) => {
|
|
161
|
-
this.$refs.cp.$refs.cri.model[key] = null
|
|
162
|
-
})
|
|
163
|
-
},
|
|
164
|
-
// 查询
|
|
165
|
-
search () {
|
|
166
|
-
this.$refs.cp.$refs.cri.search()
|
|
167
|
-
},
|
|
168
|
-
click (row) {
|
|
169
|
-
let _this = this
|
|
170
|
-
this.$dispatch('gotoson', {
|
|
171
|
-
_this: _this,
|
|
172
|
-
title: '详情信息',
|
|
173
|
-
safe: true
|
|
174
|
-
})
|
|
175
|
-
this.$goto('app-supervisory-cart', {selectdata: row}, 'self', _this.search)
|
|
176
|
-
},
|
|
177
|
-
applyTypeChange () {
|
|
178
|
-
if (!isEmpty(this.$refs.cp.$refs.cri.model.f_apply_type)) {
|
|
179
|
-
let http = new HttpResetClass()
|
|
180
|
-
http.load('POST', `${this.$androidUtil.getProxyUrl()}/rs/logic/getDefnameByType`, {
|
|
181
|
-
f_apply_type: this.$refs.cp.$refs.cri.model.f_apply_type
|
|
182
|
-
}, {resolveMsg: null, rejectMsg: null}).then((res) => {
|
|
183
|
-
this.defnames = [{label: '全部', value: ''}, ...res.data]
|
|
184
|
-
|
|
185
|
-
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}性质`)]
|
|
186
|
-
})
|
|
187
|
-
} else {
|
|
188
|
-
this.defnames = [{label: '全部', value: ''}]
|
|
189
|
-
|
|
190
|
-
this.applyNatures = [{label: '全部', value: ''}]
|
|
191
|
-
}
|
|
192
|
-
}
|
|
193
|
-
},
|
|
194
|
-
events: {
|
|
195
|
-
},
|
|
196
|
-
watch: {
|
|
197
|
-
}
|
|
198
|
-
}
|
|
199
|
-
</script>
|
|
200
|
-
<style scoped>
|
|
201
|
-
.panel-self{
|
|
202
|
-
border-radius: 10px;
|
|
203
|
-
border:1px solid #499EDF;
|
|
204
|
-
background-color: #F8F8F8;
|
|
205
|
-
}
|
|
206
|
-
.font{
|
|
207
|
-
font: 15px PingFang-SC-Medium;
|
|
208
|
-
color: #666666;
|
|
209
|
-
}
|
|
210
|
-
|
|
211
|
-
.button_shrink_top {
|
|
212
|
-
width: 34px;
|
|
213
|
-
height: 34px;
|
|
214
|
-
border: solid 1px #6aa6e2;
|
|
215
|
-
background-size: 100%;
|
|
216
|
-
background-image: url("../../../static/newStyle/stretch_top.png")
|
|
217
|
-
}
|
|
218
|
-
|
|
219
|
-
.button_shrink_bottom {
|
|
220
|
-
width: 34px;
|
|
221
|
-
height: 34px;
|
|
222
|
-
border: solid 1px #6aa6e2;
|
|
223
|
-
background-size: 100%;
|
|
224
|
-
background-image: url("../../../static/newStyle/stretch_bottom.png")
|
|
225
|
-
}
|
|
226
|
-
</style>
|
|
227
|
-
<style lang="less">
|
|
228
|
-
.app-input {
|
|
229
|
-
label {
|
|
230
|
-
float: left;
|
|
231
|
-
}
|
|
232
|
-
.select {
|
|
233
|
-
button {
|
|
234
|
-
border: none;
|
|
235
|
-
outline: none;
|
|
236
|
-
text-align: left;
|
|
237
|
-
.btn-placeholder {
|
|
238
|
-
color: #ACA899
|
|
239
|
-
}
|
|
240
|
-
}
|
|
241
|
-
}
|
|
242
|
-
.datepicker {
|
|
243
|
-
.form-control:focus {
|
|
244
|
-
border: none!important;
|
|
245
|
-
outline: none!important;
|
|
246
|
-
-webkit-box-shadow: none;
|
|
247
|
-
box-shadow: none;
|
|
248
|
-
}
|
|
249
|
-
}
|
|
250
|
-
}
|
|
251
|
-
</style>
|
|
1
|
+
<template>
|
|
2
|
+
<div class="p-10">
|
|
3
|
+
<criteria-paged :model="model" v-ref:cp>
|
|
4
|
+
<criteria partial='criteria' @condition-changed='search' v-ref:cri>
|
|
5
|
+
<div partial class="auto">
|
|
6
|
+
<div class="row form-group app-input" v-if="$parent.$parent.criteriaShow">
|
|
7
|
+
<label class="">报建编号:</label>
|
|
8
|
+
<div class="col-xs-8" >
|
|
9
|
+
<input class="" v-model=model.f_apply_num condition="u.f_apply_num like '%{}%'" />
|
|
10
|
+
</div>
|
|
11
|
+
</div>
|
|
12
|
+
<div class="row form-group app-input" v-if="$parent.$parent.criteriaShow">
|
|
13
|
+
<label class="">合同编号:</label>
|
|
14
|
+
<div class="col-xs-8" >
|
|
15
|
+
<input class="" v-model=model.f_contract_number condition="u.f_contract_number like '%{}%'" />
|
|
16
|
+
</div>
|
|
17
|
+
</div>
|
|
18
|
+
<div class="row form-group app-input" v-if="$parent.$parent.criteriaShow">
|
|
19
|
+
<label class="">报建类型:</label>
|
|
20
|
+
<div class="col-xs-8" >
|
|
21
|
+
<v-select
|
|
22
|
+
width="100%"
|
|
23
|
+
v-model="model.f_apply_type"
|
|
24
|
+
placeholder='报建类型'
|
|
25
|
+
condition="u.f_apply_type = '{}'"
|
|
26
|
+
:value.sync="model.f_apply_type"
|
|
27
|
+
:options='$parent.$parent.applytype'
|
|
28
|
+
class="select select_list"
|
|
29
|
+
:value-single="true"
|
|
30
|
+
@change="$parent.$parent.applyTypeChange()"
|
|
31
|
+
close-on-select ></v-select>
|
|
32
|
+
</div>
|
|
33
|
+
</div>
|
|
34
|
+
<div class="row form-group app-input" v-if="$parent.$parent.criteriaShow">
|
|
35
|
+
<label class="">办理环节:</label>
|
|
36
|
+
<div class="col-xs-8" >
|
|
37
|
+
<v-select
|
|
38
|
+
width="100%"
|
|
39
|
+
v-model="model.defname"
|
|
40
|
+
placeholder='办理环节'
|
|
41
|
+
condition="defname = '{}'"
|
|
42
|
+
:value.sync="model.defname"
|
|
43
|
+
:options='$parent.$parent.defnames'
|
|
44
|
+
class="select select_list"
|
|
45
|
+
:value-single="true"
|
|
46
|
+
close-on-select ></v-select>
|
|
47
|
+
</div>
|
|
48
|
+
</div>
|
|
49
|
+
<div class="row form-group app-input" v-if="$parent.$parent.criteriaShow">
|
|
50
|
+
<label class="">开始时间:</label>
|
|
51
|
+
<div class="col-xs-8" >
|
|
52
|
+
<datepicker id="startDate" placeholder="开始日期"
|
|
53
|
+
style="width: 100%!important;"
|
|
54
|
+
v-model="model.startDate"
|
|
55
|
+
:value.sync="model.startDate"
|
|
56
|
+
:format="'yyyy-MM-dd 00:00:00'"
|
|
57
|
+
:show-reset-button="true"
|
|
58
|
+
condition="u.f_apply_date >= '{}'">
|
|
59
|
+
</datepicker>
|
|
60
|
+
</div>
|
|
61
|
+
</div>
|
|
62
|
+
<div class="row form-group app-input" v-if="$parent.$parent.criteriaShow">
|
|
63
|
+
<label class="">结束时间:</label>
|
|
64
|
+
<div class="col-xs-8" >
|
|
65
|
+
<datepicker id="endDate" placeholder="结束日期"
|
|
66
|
+
style="width: 100%!important;"
|
|
67
|
+
v-model="model.endDate"
|
|
68
|
+
:value.sync="model.endDate"
|
|
69
|
+
:format="'yyyy-MM-dd 23:59:59'"
|
|
70
|
+
:show-reset-button="true"
|
|
71
|
+
condition="f_apply_date <= '{}'">
|
|
72
|
+
</datepicker>
|
|
73
|
+
</div>
|
|
74
|
+
</div>
|
|
75
|
+
<div class="row form-group text-right" style="">
|
|
76
|
+
<button class="btn btn-primary" @click="$parent.$parent.search()">查询</button>
|
|
77
|
+
<button class="btn btn-info" @click="$parent.$parent.clear()">清空</button>
|
|
78
|
+
<button class="btn" :class="{'button_shrink_top':$parent.$parent.criteriaShow,'button_shrink_bottom':!$parent.$parent.criteriaShow}" @click="$parent.$parent.criteriaShow = !$parent.$parent.criteriaShow"></button>
|
|
79
|
+
</div>
|
|
80
|
+
</div>
|
|
81
|
+
</criteria>
|
|
82
|
+
<list :model="model" partial='list'>
|
|
83
|
+
<div partial class="auto app-text panel">
|
|
84
|
+
<div class="panel-body panel-self">
|
|
85
|
+
<div class="col-xs-12">
|
|
86
|
+
<p class="col-xs-3 text-left font"><b>工程编号:</b></p>
|
|
87
|
+
<p class="col-xs-9 text-left input-font">{{ row.f_apply_num }}</p>
|
|
88
|
+
</div>
|
|
89
|
+
<div class="col-xs-12">
|
|
90
|
+
<p class="col-xs-3 text-left font"><b>项目名称:</b></p>
|
|
91
|
+
<p class="col-xs-9 text-left input-font">{{ row.f_entry_name }}</p>
|
|
92
|
+
</div>
|
|
93
|
+
<div class="col-xs-12">
|
|
94
|
+
<p class="col-xs-3 text-left font"><b>报建类型:</b></p>
|
|
95
|
+
<p class="col-xs-9 text-left input-font">{{ row.f_apply_type }}</p>
|
|
96
|
+
</div>
|
|
97
|
+
<div class="col-xs-12">
|
|
98
|
+
<p class="col-xs-3 text-left font"><b>办理环节:</b></p>
|
|
99
|
+
<p class="col-xs-9 text-left input-font">{{ row.defname }}</p>
|
|
100
|
+
</div>
|
|
101
|
+
<div class="col-xs-12">
|
|
102
|
+
<p class="col-xs-3 text-left font"><b>用户类型:</b></p>
|
|
103
|
+
<p class="col-xs-9 text-left input-font">{{ row.f_user_type }}</p>
|
|
104
|
+
</div>
|
|
105
|
+
<div class="col-xs-12">
|
|
106
|
+
<p class="col-xs-3 text-left font"><b>流程状态:</b></p>
|
|
107
|
+
<p class="col-xs-9 text-left input-font">{{ row.f_sub_state }}</p>
|
|
108
|
+
</div>
|
|
109
|
+
<div class="col-xs-12">
|
|
110
|
+
<p class="col-xs-3 text-left font"><b>报建日期:</b></p>
|
|
111
|
+
<p class="col-xs-9 text-left input-font">{{ row.f_apply_date }}</p>
|
|
112
|
+
</div>
|
|
113
|
+
|
|
114
|
+
|
|
115
|
+
<div class="col-xs-12 text-right">
|
|
116
|
+
<button class="btn btn-info" @click="$parent.$parent.$parent.click(row)">查看</button>
|
|
117
|
+
</div>
|
|
118
|
+
</div>
|
|
119
|
+
</div>
|
|
120
|
+
</list>
|
|
121
|
+
</criteria-paged>
|
|
122
|
+
</div>
|
|
123
|
+
</template>
|
|
124
|
+
<script>
|
|
125
|
+
import Vue from 'vue'
|
|
126
|
+
import { PagedList, HttpResetClass } from 'vue-client'
|
|
127
|
+
import {isEmpty} from '../Util'
|
|
128
|
+
export default {
|
|
129
|
+
title: '报建流程',
|
|
130
|
+
data () {
|
|
131
|
+
return {
|
|
132
|
+
model: new PagedList(`${this.$androidUtil.getProxyUrl()}/rs/sql/supervisory`, 20, {
|
|
133
|
+
// model: new PagedList('rs/sql/supervisory', 20, {
|
|
134
|
+
data: {
|
|
135
|
+
id: Vue.user.id,
|
|
136
|
+
orgid: Vue.user.orgid
|
|
137
|
+
// id: '35814',
|
|
138
|
+
// orgid: '10101'
|
|
139
|
+
}
|
|
140
|
+
}),
|
|
141
|
+
criteriaShow: false,
|
|
142
|
+
// applytype: [{label: '全部', value: ''}, ...this.$appdata.getParam('报建类型')], // 所有报建类型
|
|
143
|
+
applytype: [{label: '全部', value: ''}, ...this.$appdata.getParam('报建类型') || [] ], // 所有报建类型
|
|
144
|
+
defnames: [{label: '全部', value: ''}],
|
|
145
|
+
applyNatures: [{label: '全部', value: ''}] // 报建性质
|
|
146
|
+
}
|
|
147
|
+
},
|
|
148
|
+
ready () {
|
|
149
|
+
this.search()
|
|
150
|
+
},
|
|
151
|
+
methods: {
|
|
152
|
+
dialNumber (phone) {
|
|
153
|
+
this.$showMessage(`是否拨打电话:${phone}`, ['confirm']).then((res) => {
|
|
154
|
+
if (res === 'confirm') {
|
|
155
|
+
this.$androidUtil.makeAPhoneCall(phone)
|
|
156
|
+
}
|
|
157
|
+
})
|
|
158
|
+
},
|
|
159
|
+
clear () {
|
|
160
|
+
Object.keys(this.$refs.cp.$refs.cri.model).forEach((key) => {
|
|
161
|
+
this.$refs.cp.$refs.cri.model[key] = null
|
|
162
|
+
})
|
|
163
|
+
},
|
|
164
|
+
// 查询
|
|
165
|
+
search () {
|
|
166
|
+
this.$refs.cp.$refs.cri.search()
|
|
167
|
+
},
|
|
168
|
+
click (row) {
|
|
169
|
+
let _this = this
|
|
170
|
+
this.$dispatch('gotoson', {
|
|
171
|
+
_this: _this,
|
|
172
|
+
title: '详情信息',
|
|
173
|
+
safe: true
|
|
174
|
+
})
|
|
175
|
+
this.$goto('app-supervisory-cart', {selectdata: row}, 'self', _this.search)
|
|
176
|
+
},
|
|
177
|
+
applyTypeChange () {
|
|
178
|
+
if (!isEmpty(this.$refs.cp.$refs.cri.model.f_apply_type)) {
|
|
179
|
+
let http = new HttpResetClass()
|
|
180
|
+
http.load('POST', `${this.$androidUtil.getProxyUrl()}/rs/logic/getDefnameByType`, {
|
|
181
|
+
f_apply_type: this.$refs.cp.$refs.cri.model.f_apply_type
|
|
182
|
+
}, {resolveMsg: null, rejectMsg: null}).then((res) => {
|
|
183
|
+
this.defnames = [{label: '全部', value: ''}, ...res.data]
|
|
184
|
+
|
|
185
|
+
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}性质`)]
|
|
186
|
+
})
|
|
187
|
+
} else {
|
|
188
|
+
this.defnames = [{label: '全部', value: ''}]
|
|
189
|
+
|
|
190
|
+
this.applyNatures = [{label: '全部', value: ''}]
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
},
|
|
194
|
+
events: {
|
|
195
|
+
},
|
|
196
|
+
watch: {
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
</script>
|
|
200
|
+
<style scoped>
|
|
201
|
+
.panel-self{
|
|
202
|
+
border-radius: 10px;
|
|
203
|
+
border:1px solid #499EDF;
|
|
204
|
+
background-color: #F8F8F8;
|
|
205
|
+
}
|
|
206
|
+
.font{
|
|
207
|
+
font: 15px PingFang-SC-Medium;
|
|
208
|
+
color: #666666;
|
|
209
|
+
}
|
|
210
|
+
|
|
211
|
+
.button_shrink_top {
|
|
212
|
+
width: 34px;
|
|
213
|
+
height: 34px;
|
|
214
|
+
border: solid 1px #6aa6e2;
|
|
215
|
+
background-size: 100%;
|
|
216
|
+
background-image: url("../../../static/newStyle/stretch_top.png")
|
|
217
|
+
}
|
|
218
|
+
|
|
219
|
+
.button_shrink_bottom {
|
|
220
|
+
width: 34px;
|
|
221
|
+
height: 34px;
|
|
222
|
+
border: solid 1px #6aa6e2;
|
|
223
|
+
background-size: 100%;
|
|
224
|
+
background-image: url("../../../static/newStyle/stretch_bottom.png")
|
|
225
|
+
}
|
|
226
|
+
</style>
|
|
227
|
+
<style lang="less">
|
|
228
|
+
.app-input {
|
|
229
|
+
label {
|
|
230
|
+
float: left;
|
|
231
|
+
}
|
|
232
|
+
.select {
|
|
233
|
+
button {
|
|
234
|
+
border: none;
|
|
235
|
+
outline: none;
|
|
236
|
+
text-align: left;
|
|
237
|
+
.btn-placeholder {
|
|
238
|
+
color: #ACA899
|
|
239
|
+
}
|
|
240
|
+
}
|
|
241
|
+
}
|
|
242
|
+
.datepicker {
|
|
243
|
+
.form-control:focus {
|
|
244
|
+
border: none!important;
|
|
245
|
+
outline: none!important;
|
|
246
|
+
-webkit-box-shadow: none;
|
|
247
|
+
box-shadow: none;
|
|
248
|
+
}
|
|
249
|
+
}
|
|
250
|
+
}
|
|
251
|
+
</style>
|
|
@@ -1,119 +1,119 @@
|
|
|
1
|
-
<template>
|
|
2
|
-
<div style="padding: 10px">
|
|
3
|
-
<div partial class="auto app-text panel" style="margin-bottom: 20px">
|
|
4
|
-
<div class="panel-body panel-self">
|
|
5
|
-
<div class="col-xs-12">
|
|
6
|
-
<p class="col-xs-3 text-left font"><b>工程编号:</b></p>
|
|
7
|
-
<p class="col-xs-9 text-left input-font">{{ selectdata.f_apply_num }}</p>
|
|
8
|
-
</div>
|
|
9
|
-
<div class="col-xs-12">
|
|
10
|
-
<p class="col-xs-3 text-left font"><b>项目名称:</b></p>
|
|
11
|
-
<p class="col-xs-9 text-left input-font">{{ selectdata.f_entry_name }}</p>
|
|
12
|
-
</div>
|
|
13
|
-
<div class="col-xs-12">
|
|
14
|
-
<p class="col-xs-3 text-left font"><b>报建类型:</b></p>
|
|
15
|
-
<p class="col-xs-9 text-left input-font">{{ selectdata.f_apply_type }}</p>
|
|
16
|
-
</div>
|
|
17
|
-
<div class="col-xs-12">
|
|
18
|
-
<p class="col-xs-3 text-left font"><b>办理环节:</b></p>
|
|
19
|
-
<p class="col-xs-9 text-left input-font">{{ selectdata.defname }}</p>
|
|
20
|
-
</div>
|
|
21
|
-
<div class="col-xs-12">
|
|
22
|
-
<p class="col-xs-3 text-left font"><b>用户类型:</b></p>
|
|
23
|
-
<p class="col-xs-9 text-left input-font">{{ selectdata.f_user_type }}</p>
|
|
24
|
-
</div>
|
|
25
|
-
<div class="col-xs-12">
|
|
26
|
-
<p class="col-xs-3 text-left font"><b>流程状态:</b></p>
|
|
27
|
-
<p class="col-xs-9 text-left input-font">{{ selectdata.f_sub_state }}</p>
|
|
28
|
-
</div>
|
|
29
|
-
<div class="col-xs-12">
|
|
30
|
-
<p class="col-xs-3 text-left font"><b>报建日期:</b></p>
|
|
31
|
-
<p class="col-xs-9 text-left input-font">{{ selectdata.f_apply_date }}</p>
|
|
32
|
-
</div>
|
|
33
|
-
</div>
|
|
34
|
-
</div>
|
|
35
|
-
<div class="row" v-for="(i,row) in defnames">
|
|
36
|
-
<div :class="row.id === selectdata.actid ? 'item selectIndex' : 'item'" @click="shouju(row)">
|
|
37
|
-
{{row.defname}}
|
|
38
|
-
<span v-if="row.state === '结束'">({{ row.person }})</span>
|
|
39
|
-
<span v-if="row.state !== '结束' && row.actorexpression !== null && row.actorexpression.indexOf('PI') === 0">
|
|
40
|
-
({{ row.peruser }})
|
|
41
|
-
</span>
|
|
42
|
-
<br>
|
|
43
|
-
{{ row.finishtime ? row.finishtime : row.sendtime }}<br>
|
|
44
|
-
</div>
|
|
45
|
-
<div class="arrow glyphicon glyphicon-menu-down" v-if="i != defnames.length-1" aria-hidden="true"></div>
|
|
46
|
-
</div>
|
|
47
|
-
</div>
|
|
48
|
-
</template>
|
|
49
|
-
|
|
50
|
-
<script>
|
|
51
|
-
import {HttpResetClass} from 'vue-client'
|
|
52
|
-
export default {
|
|
53
|
-
title: '流程节点',
|
|
54
|
-
props: ['selectdata'],
|
|
55
|
-
data () {
|
|
56
|
-
return {
|
|
57
|
-
defnames: [],
|
|
58
|
-
flag:false
|
|
59
|
-
}
|
|
60
|
-
},
|
|
61
|
-
ready () {
|
|
62
|
-
this.initial()
|
|
63
|
-
},
|
|
64
|
-
methods: {
|
|
65
|
-
async shouju(row){
|
|
66
|
-
console.log("进入方法:",this.selectdata)
|
|
67
|
-
},
|
|
68
|
-
async initial() {
|
|
69
|
-
// 获取流程节点信息
|
|
70
|
-
let http = new HttpResetClass()
|
|
71
|
-
let data = {
|
|
72
|
-
processid: this.selectdata.f_process_id
|
|
73
|
-
}
|
|
74
|
-
let res = await http.load(
|
|
75
|
-
'POST',
|
|
76
|
-
`${this.$androidUtil.getProxyUrl()}/rs/sql/getAllNode`,
|
|
77
|
-
// `rs/sql/getAllNode`,
|
|
78
|
-
{data: data},
|
|
79
|
-
{
|
|
80
|
-
resolveMsg:null,
|
|
81
|
-
rejectMsg:null
|
|
82
|
-
})
|
|
83
|
-
this.defnames = res.data
|
|
84
|
-
},
|
|
85
|
-
},
|
|
86
|
-
watch: {
|
|
87
|
-
}
|
|
88
|
-
}
|
|
89
|
-
</script>
|
|
90
|
-
|
|
91
|
-
<style scoped>
|
|
92
|
-
.app-text {
|
|
93
|
-
font-size: 12px;
|
|
94
|
-
}
|
|
95
|
-
.panel-self{
|
|
96
|
-
border-radius: 10px;
|
|
97
|
-
border:1px solid #499EDF;
|
|
98
|
-
background-color: #F8F8F8;
|
|
99
|
-
}
|
|
100
|
-
.row{
|
|
101
|
-
padding: 0 40px;
|
|
102
|
-
text-align: center;
|
|
103
|
-
height: auto;
|
|
104
|
-
}
|
|
105
|
-
.item{
|
|
106
|
-
border-radius: 2em;
|
|
107
|
-
border: 1px solid silver;
|
|
108
|
-
line-height: 25px;
|
|
109
|
-
}
|
|
110
|
-
.arrow{
|
|
111
|
-
width: 100%;
|
|
112
|
-
color: #5ac0d9;
|
|
113
|
-
font-weight: bold;
|
|
114
|
-
}
|
|
115
|
-
.selectIndex{
|
|
116
|
-
background-color: #5ac0d9;
|
|
117
|
-
color: #ffffff;
|
|
118
|
-
}
|
|
119
|
-
</style>
|
|
1
|
+
<template>
|
|
2
|
+
<div style="padding: 10px">
|
|
3
|
+
<div partial class="auto app-text panel" style="margin-bottom: 20px">
|
|
4
|
+
<div class="panel-body panel-self">
|
|
5
|
+
<div class="col-xs-12">
|
|
6
|
+
<p class="col-xs-3 text-left font"><b>工程编号:</b></p>
|
|
7
|
+
<p class="col-xs-9 text-left input-font">{{ selectdata.f_apply_num }}</p>
|
|
8
|
+
</div>
|
|
9
|
+
<div class="col-xs-12">
|
|
10
|
+
<p class="col-xs-3 text-left font"><b>项目名称:</b></p>
|
|
11
|
+
<p class="col-xs-9 text-left input-font">{{ selectdata.f_entry_name }}</p>
|
|
12
|
+
</div>
|
|
13
|
+
<div class="col-xs-12">
|
|
14
|
+
<p class="col-xs-3 text-left font"><b>报建类型:</b></p>
|
|
15
|
+
<p class="col-xs-9 text-left input-font">{{ selectdata.f_apply_type }}</p>
|
|
16
|
+
</div>
|
|
17
|
+
<div class="col-xs-12">
|
|
18
|
+
<p class="col-xs-3 text-left font"><b>办理环节:</b></p>
|
|
19
|
+
<p class="col-xs-9 text-left input-font">{{ selectdata.defname }}</p>
|
|
20
|
+
</div>
|
|
21
|
+
<div class="col-xs-12">
|
|
22
|
+
<p class="col-xs-3 text-left font"><b>用户类型:</b></p>
|
|
23
|
+
<p class="col-xs-9 text-left input-font">{{ selectdata.f_user_type }}</p>
|
|
24
|
+
</div>
|
|
25
|
+
<div class="col-xs-12">
|
|
26
|
+
<p class="col-xs-3 text-left font"><b>流程状态:</b></p>
|
|
27
|
+
<p class="col-xs-9 text-left input-font">{{ selectdata.f_sub_state }}</p>
|
|
28
|
+
</div>
|
|
29
|
+
<div class="col-xs-12">
|
|
30
|
+
<p class="col-xs-3 text-left font"><b>报建日期:</b></p>
|
|
31
|
+
<p class="col-xs-9 text-left input-font">{{ selectdata.f_apply_date }}</p>
|
|
32
|
+
</div>
|
|
33
|
+
</div>
|
|
34
|
+
</div>
|
|
35
|
+
<div class="row" v-for="(i,row) in defnames">
|
|
36
|
+
<div :class="row.id === selectdata.actid ? 'item selectIndex' : 'item'" @click="shouju(row)">
|
|
37
|
+
{{row.defname}}
|
|
38
|
+
<span v-if="row.state === '结束'">({{ row.person }})</span>
|
|
39
|
+
<span v-if="row.state !== '结束' && row.actorexpression !== null && row.actorexpression.indexOf('PI') === 0">
|
|
40
|
+
({{ row.peruser }})
|
|
41
|
+
</span>
|
|
42
|
+
<br>
|
|
43
|
+
{{ row.finishtime ? row.finishtime : row.sendtime }}<br>
|
|
44
|
+
</div>
|
|
45
|
+
<div class="arrow glyphicon glyphicon-menu-down" v-if="i != defnames.length-1" aria-hidden="true"></div>
|
|
46
|
+
</div>
|
|
47
|
+
</div>
|
|
48
|
+
</template>
|
|
49
|
+
|
|
50
|
+
<script>
|
|
51
|
+
import {HttpResetClass} from 'vue-client'
|
|
52
|
+
export default {
|
|
53
|
+
title: '流程节点',
|
|
54
|
+
props: ['selectdata'],
|
|
55
|
+
data () {
|
|
56
|
+
return {
|
|
57
|
+
defnames: [],
|
|
58
|
+
flag:false
|
|
59
|
+
}
|
|
60
|
+
},
|
|
61
|
+
ready () {
|
|
62
|
+
this.initial()
|
|
63
|
+
},
|
|
64
|
+
methods: {
|
|
65
|
+
async shouju(row){
|
|
66
|
+
console.log("进入方法:",this.selectdata)
|
|
67
|
+
},
|
|
68
|
+
async initial() {
|
|
69
|
+
// 获取流程节点信息
|
|
70
|
+
let http = new HttpResetClass()
|
|
71
|
+
let data = {
|
|
72
|
+
processid: this.selectdata.f_process_id
|
|
73
|
+
}
|
|
74
|
+
let res = await http.load(
|
|
75
|
+
'POST',
|
|
76
|
+
`${this.$androidUtil.getProxyUrl()}/rs/sql/getAllNode`,
|
|
77
|
+
// `rs/sql/getAllNode`,
|
|
78
|
+
{data: data},
|
|
79
|
+
{
|
|
80
|
+
resolveMsg:null,
|
|
81
|
+
rejectMsg:null
|
|
82
|
+
})
|
|
83
|
+
this.defnames = res.data
|
|
84
|
+
},
|
|
85
|
+
},
|
|
86
|
+
watch: {
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
</script>
|
|
90
|
+
|
|
91
|
+
<style scoped>
|
|
92
|
+
.app-text {
|
|
93
|
+
font-size: 12px;
|
|
94
|
+
}
|
|
95
|
+
.panel-self{
|
|
96
|
+
border-radius: 10px;
|
|
97
|
+
border:1px solid #499EDF;
|
|
98
|
+
background-color: #F8F8F8;
|
|
99
|
+
}
|
|
100
|
+
.row{
|
|
101
|
+
padding: 0 40px;
|
|
102
|
+
text-align: center;
|
|
103
|
+
height: auto;
|
|
104
|
+
}
|
|
105
|
+
.item{
|
|
106
|
+
border-radius: 2em;
|
|
107
|
+
border: 1px solid silver;
|
|
108
|
+
line-height: 25px;
|
|
109
|
+
}
|
|
110
|
+
.arrow{
|
|
111
|
+
width: 100%;
|
|
112
|
+
color: #5ac0d9;
|
|
113
|
+
font-weight: bold;
|
|
114
|
+
}
|
|
115
|
+
.selectIndex{
|
|
116
|
+
background-color: #5ac0d9;
|
|
117
|
+
color: #ffffff;
|
|
118
|
+
}
|
|
119
|
+
</style>
|
|
@@ -1,239 +1,239 @@
|
|
|
1
|
-
<template>
|
|
2
|
-
<div class="col-sm-12" style="margin: 20px 0px;">
|
|
3
|
-
<data-grid :model="model" v-ref:grid class="list_area table_sy" style="padding: 0px">
|
|
4
|
-
<template partial='head'>
|
|
5
|
-
<tr>
|
|
6
|
-
<th>序号</th>
|
|
7
|
-
<th>材料名称</th>
|
|
8
|
-
<th>单价(元)</th>
|
|
9
|
-
<th>数量</th>
|
|
10
|
-
<th>金额</th>
|
|
11
|
-
<th>备注</th>
|
|
12
|
-
<th v-if="$parent.$parent.mark === 0">
|
|
13
|
-
<button type="button" class="btn btn-info head-but" @click="$parent.$parent.addshoufei()" >新增收费
|
|
14
|
-
</button>
|
|
15
|
-
</th>
|
|
16
|
-
</tr>
|
|
17
|
-
</template>
|
|
18
|
-
<template partial='body'>
|
|
19
|
-
<td style="text-align: center">{{ $index + 1}}</td>
|
|
20
|
-
<td style="text-align: center">{{ row.f_material_name}}</td>
|
|
21
|
-
<td style="text-align: center">{{ row.f_material_price}}</td>
|
|
22
|
-
<td style="text-align: center">{{ row.f_material_number}}</td>
|
|
23
|
-
<td style="text-align: center">{{ row.f_fee}}</td>
|
|
24
|
-
<td style="text-align: center">{{ row.f_remarks}}</td>
|
|
25
|
-
<td class="flex-around" v-if="$parent.$parent.mark === 0">
|
|
26
|
-
<button type="button" name="button" class="btn btn-link"
|
|
27
|
-
@click.stop="$parent.$parent.modifyParam(row)">修改
|
|
28
|
-
</button>
|
|
29
|
-
<button type="button" name="button" class="btn btn-link"
|
|
30
|
-
@click.stop="$parent.$parent.deleteItem(row)">删除
|
|
31
|
-
</button>
|
|
32
|
-
</td>
|
|
33
|
-
</template>
|
|
34
|
-
</data-grid>
|
|
35
|
-
<span>合计:{{ f_cost_sum }}元</span>
|
|
36
|
-
</div>
|
|
37
|
-
|
|
38
|
-
<modal :show.sync="showpay" v-ref:modal backdrop="false">
|
|
39
|
-
<header slot="modal-header" class="modal-header">
|
|
40
|
-
<button type="button" class="close" @click="close"><span>×</span></button>
|
|
41
|
-
<h4 class="modal-title">新增材料收费</h4>
|
|
42
|
-
</header>
|
|
43
|
-
<article slot="modal-body" class="modal-body">
|
|
44
|
-
<div class="from-group">
|
|
45
|
-
<label>材料名称</label>
|
|
46
|
-
<input-select
|
|
47
|
-
class="select select_list"
|
|
48
|
-
:value.sync="addItem.f_material_name"
|
|
49
|
-
v-model="addItem.f_material_name"
|
|
50
|
-
:options="positions"
|
|
51
|
-
@change="setTypename"
|
|
52
|
-
:valueSingle="true"></input-select>
|
|
53
|
-
</div>
|
|
54
|
-
<div class="from-group">
|
|
55
|
-
<label>品名规格</label>
|
|
56
|
-
<input-select
|
|
57
|
-
class="select select_list"
|
|
58
|
-
:value.sync="addItem.f_typename"
|
|
59
|
-
v-model="addItem.f_typename"
|
|
60
|
-
:options="typeNameList"
|
|
61
|
-
@change="setTypenumber"
|
|
62
|
-
:valueSingle="true"></input-select>
|
|
63
|
-
</div>
|
|
64
|
-
<div class="from-group">
|
|
65
|
-
<label>型号</label>
|
|
66
|
-
<input-select
|
|
67
|
-
class="select select_list"
|
|
68
|
-
:value.sync="addItem.f_typenumber"
|
|
69
|
-
v-model="addItem.f_typenumber"
|
|
70
|
-
:options="typeNumberList"
|
|
71
|
-
@change="setmaterialprice"
|
|
72
|
-
:valueSingle="true"></input-select>
|
|
73
|
-
</div>
|
|
74
|
-
<div class="from-group">
|
|
75
|
-
<label>单价(元)</label>
|
|
76
|
-
<input type="number" class="form-control" v-model="addItem.f_material_price" readonly>
|
|
77
|
-
</div>
|
|
78
|
-
<div class="from-group">
|
|
79
|
-
<label>数量</label>
|
|
80
|
-
<input type="number" class="form-control" v-model="addItem.f_material_number" >
|
|
81
|
-
</div>
|
|
82
|
-
<div class="from-group">
|
|
83
|
-
<label>金额</label>
|
|
84
|
-
<input type="number" class="form-control" v-model="addItem.f_fee" :value="smalltoBIG()" readonly>
|
|
85
|
-
</div>
|
|
86
|
-
<div class="from-group">
|
|
87
|
-
<label>备注</label>
|
|
88
|
-
<textarea type="text" rows="2" class="form-control" v-model="addItem.f_remarks"></textarea>
|
|
89
|
-
</div>
|
|
90
|
-
</article>
|
|
91
|
-
<footer slot="modal-footer" class="modal-footer">
|
|
92
|
-
<button v-show="showpay" type="button" class="btn btn-default" @click='close'>取消</button>
|
|
93
|
-
<button v-show="showpay" type="button" class="btn btn-success" @click='addpaydipetail' :disabled="!$v.valid">确认</button>
|
|
94
|
-
</footer>
|
|
95
|
-
</modal>
|
|
96
|
-
</template>
|
|
97
|
-
|
|
98
|
-
<script>
|
|
99
|
-
import {HttpResetClass} from 'vue-client'
|
|
100
|
-
import Vue from "vue";
|
|
101
|
-
import $ from 'jquery'
|
|
102
|
-
|
|
103
|
-
export default {
|
|
104
|
-
title: '材料收费',
|
|
105
|
-
data() {
|
|
106
|
-
return {
|
|
107
|
-
showpay: false, // 新增材料收费开关
|
|
108
|
-
model: {
|
|
109
|
-
rows: [] // 材料收费数据数组
|
|
110
|
-
},
|
|
111
|
-
addItem: {
|
|
112
|
-
f_material_price:0
|
|
113
|
-
},
|
|
114
|
-
f_cost_sum: 0,
|
|
115
|
-
positions:this.$appdata.getParam('品名及规格'),
|
|
116
|
-
typeNameList:null,
|
|
117
|
-
typeNumberList:null
|
|
118
|
-
}
|
|
119
|
-
},
|
|
120
|
-
props: {
|
|
121
|
-
selectdata: {
|
|
122
|
-
type: Object
|
|
123
|
-
},
|
|
124
|
-
mark: {
|
|
125
|
-
type: Number,
|
|
126
|
-
default: 0
|
|
127
|
-
}
|
|
128
|
-
},
|
|
129
|
-
ready() {
|
|
130
|
-
this.load()
|
|
131
|
-
},
|
|
132
|
-
methods: {
|
|
133
|
-
async load() {
|
|
134
|
-
let http = new HttpResetClass()
|
|
135
|
-
let data = {
|
|
136
|
-
tablename: 't_material_charges',
|
|
137
|
-
condition: `f_process_id = '${this.selectdata.f_process_id}'`
|
|
138
|
-
}
|
|
139
|
-
let res = await http.load('POST', `${this.$androidUtil.getProxyUrl()}/rs/sql/singleTable`, {data: data}, {resolveMsg: null, rejectMsg: '获取数据失败'})
|
|
140
|
-
.then((res) => {
|
|
141
|
-
this.model.rows = res.data
|
|
142
|
-
this.f_cost_sum = 0
|
|
143
|
-
for (var i = 0; i < this.model.rows.length; i++) {
|
|
144
|
-
this.f_cost_sum += Number(this.model.rows[i].f_fee)
|
|
145
|
-
}
|
|
146
|
-
this.$set('selectdata.f_cost_sum',this.f_cost_sum)
|
|
147
|
-
})
|
|
148
|
-
},
|
|
149
|
-
// 关闭模态框
|
|
150
|
-
close() {
|
|
151
|
-
this.showpay = false
|
|
152
|
-
this.addItem = {
|
|
153
|
-
f_material_price:0
|
|
154
|
-
}
|
|
155
|
-
},
|
|
156
|
-
// 模态框确定按钮保存数据
|
|
157
|
-
async addpaydipetail() {
|
|
158
|
-
let http = new HttpResetClass()
|
|
159
|
-
this.addItem.f_process_id = this.selectdata.f_process_id
|
|
160
|
-
this.addItem.f_apply_num = this.selectdata.f_apply_num
|
|
161
|
-
this.addItem.f_operator = Vue.user.name
|
|
162
|
-
this.addItem.f_department = Vue.user.f_department_name
|
|
163
|
-
this.addItem.f_filiale = Vue.user.orgs
|
|
164
|
-
await http.load('POST', `${this.$androidUtil.getProxyUrl()}/rs/logic/addmaterialshoufei`, this.addItem, {resolveMsg: '保存成功', rejectMsg: '保存失败'})
|
|
165
|
-
.then((res) => {
|
|
166
|
-
this.close()
|
|
167
|
-
this.load()
|
|
168
|
-
})
|
|
169
|
-
},
|
|
170
|
-
deleteItem(row) {
|
|
171
|
-
let http = new HttpResetClass()
|
|
172
|
-
http.load('POST', `${this.$androidUtil.getProxyUrl()}/rs/logic/delectmaterialshoufei`, {data: row}, {resolveMsg: null, rejectMsg: '删除失败'})
|
|
173
|
-
.then((res) => {
|
|
174
|
-
this.load()
|
|
175
|
-
})
|
|
176
|
-
},
|
|
177
|
-
//新增收费 开启模态框
|
|
178
|
-
addshoufei() {
|
|
179
|
-
this.showpay = true
|
|
180
|
-
},
|
|
181
|
-
modifyParam(row) {
|
|
182
|
-
this.addItem = row
|
|
183
|
-
this.showpay = true
|
|
184
|
-
},
|
|
185
|
-
// 金额计算
|
|
186
|
-
smalltoBIG() {
|
|
187
|
-
let num = Number(this.addItem.f_material_price) * Number(this.addItem.f_material_number)
|
|
188
|
-
return num
|
|
189
|
-
},
|
|
190
|
-
setTypename (val) {
|
|
191
|
-
this.typeNameList = this.$appdata.getParam(val)
|
|
192
|
-
},
|
|
193
|
-
setTypenumber (val) {
|
|
194
|
-
this.typeNumberList = this.$appdata.getParam(val)
|
|
195
|
-
},
|
|
196
|
-
setmaterialprice(val){
|
|
197
|
-
if(val==null){
|
|
198
|
-
this.addItem.f_material_price = 0
|
|
199
|
-
}
|
|
200
|
-
this.addItem.f_material_price = this.$appdata.getSingleValue(val)
|
|
201
|
-
}
|
|
202
|
-
},
|
|
203
|
-
watch: {
|
|
204
|
-
'typeNumberList'(){
|
|
205
|
-
this.addItem.f_typenumber=null
|
|
206
|
-
this.addItem.f_material_price = 0
|
|
207
|
-
},
|
|
208
|
-
'typeNameList'() {
|
|
209
|
-
this.addItem.f_typename = null
|
|
210
|
-
this.addItem.f_typenumber = null
|
|
211
|
-
this.addItem.f_material_price = 0
|
|
212
|
-
}
|
|
213
|
-
}
|
|
214
|
-
}
|
|
215
|
-
|
|
216
|
-
</script>
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
<style scoped>
|
|
220
|
-
table {
|
|
221
|
-
border-collapse: collapse;
|
|
222
|
-
border-spacing: 0;
|
|
223
|
-
width: 100%;
|
|
224
|
-
}
|
|
225
|
-
|
|
226
|
-
table, td, th {
|
|
227
|
-
padding: 0;
|
|
228
|
-
border: 1px solid black
|
|
229
|
-
}
|
|
230
|
-
|
|
231
|
-
tr {
|
|
232
|
-
height: 34px;
|
|
233
|
-
}
|
|
234
|
-
|
|
235
|
-
#DynamicForm input {
|
|
236
|
-
text-align: center;
|
|
237
|
-
}
|
|
238
|
-
|
|
239
|
-
</style>
|
|
1
|
+
<template>
|
|
2
|
+
<div class="col-sm-12" style="margin: 20px 0px;">
|
|
3
|
+
<data-grid :model="model" v-ref:grid class="list_area table_sy" style="padding: 0px">
|
|
4
|
+
<template partial='head'>
|
|
5
|
+
<tr>
|
|
6
|
+
<th>序号</th>
|
|
7
|
+
<th>材料名称</th>
|
|
8
|
+
<th>单价(元)</th>
|
|
9
|
+
<th>数量</th>
|
|
10
|
+
<th>金额</th>
|
|
11
|
+
<th>备注</th>
|
|
12
|
+
<th v-if="$parent.$parent.mark === 0">
|
|
13
|
+
<button type="button" class="btn btn-info head-but" @click="$parent.$parent.addshoufei()" >新增收费
|
|
14
|
+
</button>
|
|
15
|
+
</th>
|
|
16
|
+
</tr>
|
|
17
|
+
</template>
|
|
18
|
+
<template partial='body'>
|
|
19
|
+
<td style="text-align: center">{{ $index + 1}}</td>
|
|
20
|
+
<td style="text-align: center">{{ row.f_material_name}}</td>
|
|
21
|
+
<td style="text-align: center">{{ row.f_material_price}}</td>
|
|
22
|
+
<td style="text-align: center">{{ row.f_material_number}}</td>
|
|
23
|
+
<td style="text-align: center">{{ row.f_fee}}</td>
|
|
24
|
+
<td style="text-align: center">{{ row.f_remarks}}</td>
|
|
25
|
+
<td class="flex-around" v-if="$parent.$parent.mark === 0">
|
|
26
|
+
<button type="button" name="button" class="btn btn-link"
|
|
27
|
+
@click.stop="$parent.$parent.modifyParam(row)">修改
|
|
28
|
+
</button>
|
|
29
|
+
<button type="button" name="button" class="btn btn-link"
|
|
30
|
+
@click.stop="$parent.$parent.deleteItem(row)">删除
|
|
31
|
+
</button>
|
|
32
|
+
</td>
|
|
33
|
+
</template>
|
|
34
|
+
</data-grid>
|
|
35
|
+
<span>合计:{{ f_cost_sum }}元</span>
|
|
36
|
+
</div>
|
|
37
|
+
|
|
38
|
+
<modal :show.sync="showpay" v-ref:modal backdrop="false">
|
|
39
|
+
<header slot="modal-header" class="modal-header">
|
|
40
|
+
<button type="button" class="close" @click="close"><span>×</span></button>
|
|
41
|
+
<h4 class="modal-title">新增材料收费</h4>
|
|
42
|
+
</header>
|
|
43
|
+
<article slot="modal-body" class="modal-body">
|
|
44
|
+
<div class="from-group">
|
|
45
|
+
<label>材料名称</label>
|
|
46
|
+
<input-select
|
|
47
|
+
class="select select_list"
|
|
48
|
+
:value.sync="addItem.f_material_name"
|
|
49
|
+
v-model="addItem.f_material_name"
|
|
50
|
+
:options="positions"
|
|
51
|
+
@change="setTypename"
|
|
52
|
+
:valueSingle="true"></input-select>
|
|
53
|
+
</div>
|
|
54
|
+
<div class="from-group">
|
|
55
|
+
<label>品名规格</label>
|
|
56
|
+
<input-select
|
|
57
|
+
class="select select_list"
|
|
58
|
+
:value.sync="addItem.f_typename"
|
|
59
|
+
v-model="addItem.f_typename"
|
|
60
|
+
:options="typeNameList"
|
|
61
|
+
@change="setTypenumber"
|
|
62
|
+
:valueSingle="true"></input-select>
|
|
63
|
+
</div>
|
|
64
|
+
<div class="from-group">
|
|
65
|
+
<label>型号</label>
|
|
66
|
+
<input-select
|
|
67
|
+
class="select select_list"
|
|
68
|
+
:value.sync="addItem.f_typenumber"
|
|
69
|
+
v-model="addItem.f_typenumber"
|
|
70
|
+
:options="typeNumberList"
|
|
71
|
+
@change="setmaterialprice"
|
|
72
|
+
:valueSingle="true"></input-select>
|
|
73
|
+
</div>
|
|
74
|
+
<div class="from-group">
|
|
75
|
+
<label>单价(元)</label>
|
|
76
|
+
<input type="number" class="form-control" v-model="addItem.f_material_price" readonly>
|
|
77
|
+
</div>
|
|
78
|
+
<div class="from-group">
|
|
79
|
+
<label>数量</label>
|
|
80
|
+
<input type="number" class="form-control" v-model="addItem.f_material_number" >
|
|
81
|
+
</div>
|
|
82
|
+
<div class="from-group">
|
|
83
|
+
<label>金额</label>
|
|
84
|
+
<input type="number" class="form-control" v-model="addItem.f_fee" :value="smalltoBIG()" readonly>
|
|
85
|
+
</div>
|
|
86
|
+
<div class="from-group">
|
|
87
|
+
<label>备注</label>
|
|
88
|
+
<textarea type="text" rows="2" class="form-control" v-model="addItem.f_remarks"></textarea>
|
|
89
|
+
</div>
|
|
90
|
+
</article>
|
|
91
|
+
<footer slot="modal-footer" class="modal-footer">
|
|
92
|
+
<button v-show="showpay" type="button" class="btn btn-default" @click='close'>取消</button>
|
|
93
|
+
<button v-show="showpay" type="button" class="btn btn-success" @click='addpaydipetail' :disabled="!$v.valid">确认</button>
|
|
94
|
+
</footer>
|
|
95
|
+
</modal>
|
|
96
|
+
</template>
|
|
97
|
+
|
|
98
|
+
<script>
|
|
99
|
+
import {HttpResetClass} from 'vue-client'
|
|
100
|
+
import Vue from "vue";
|
|
101
|
+
import $ from 'jquery'
|
|
102
|
+
|
|
103
|
+
export default {
|
|
104
|
+
title: '材料收费',
|
|
105
|
+
data() {
|
|
106
|
+
return {
|
|
107
|
+
showpay: false, // 新增材料收费开关
|
|
108
|
+
model: {
|
|
109
|
+
rows: [] // 材料收费数据数组
|
|
110
|
+
},
|
|
111
|
+
addItem: {
|
|
112
|
+
f_material_price:0
|
|
113
|
+
},
|
|
114
|
+
f_cost_sum: 0,
|
|
115
|
+
positions:this.$appdata.getParam('品名及规格'),
|
|
116
|
+
typeNameList:null,
|
|
117
|
+
typeNumberList:null
|
|
118
|
+
}
|
|
119
|
+
},
|
|
120
|
+
props: {
|
|
121
|
+
selectdata: {
|
|
122
|
+
type: Object
|
|
123
|
+
},
|
|
124
|
+
mark: {
|
|
125
|
+
type: Number,
|
|
126
|
+
default: 0
|
|
127
|
+
}
|
|
128
|
+
},
|
|
129
|
+
ready() {
|
|
130
|
+
this.load()
|
|
131
|
+
},
|
|
132
|
+
methods: {
|
|
133
|
+
async load() {
|
|
134
|
+
let http = new HttpResetClass()
|
|
135
|
+
let data = {
|
|
136
|
+
tablename: 't_material_charges',
|
|
137
|
+
condition: `f_process_id = '${this.selectdata.f_process_id}'`
|
|
138
|
+
}
|
|
139
|
+
let res = await http.load('POST', `${this.$androidUtil.getProxyUrl()}/rs/sql/singleTable`, {data: data}, {resolveMsg: null, rejectMsg: '获取数据失败'})
|
|
140
|
+
.then((res) => {
|
|
141
|
+
this.model.rows = res.data
|
|
142
|
+
this.f_cost_sum = 0
|
|
143
|
+
for (var i = 0; i < this.model.rows.length; i++) {
|
|
144
|
+
this.f_cost_sum += Number(this.model.rows[i].f_fee)
|
|
145
|
+
}
|
|
146
|
+
this.$set('selectdata.f_cost_sum',this.f_cost_sum)
|
|
147
|
+
})
|
|
148
|
+
},
|
|
149
|
+
// 关闭模态框
|
|
150
|
+
close() {
|
|
151
|
+
this.showpay = false
|
|
152
|
+
this.addItem = {
|
|
153
|
+
f_material_price:0
|
|
154
|
+
}
|
|
155
|
+
},
|
|
156
|
+
// 模态框确定按钮保存数据
|
|
157
|
+
async addpaydipetail() {
|
|
158
|
+
let http = new HttpResetClass()
|
|
159
|
+
this.addItem.f_process_id = this.selectdata.f_process_id
|
|
160
|
+
this.addItem.f_apply_num = this.selectdata.f_apply_num
|
|
161
|
+
this.addItem.f_operator = Vue.user.name
|
|
162
|
+
this.addItem.f_department = Vue.user.f_department_name
|
|
163
|
+
this.addItem.f_filiale = Vue.user.orgs
|
|
164
|
+
await http.load('POST', `${this.$androidUtil.getProxyUrl()}/rs/logic/addmaterialshoufei`, this.addItem, {resolveMsg: '保存成功', rejectMsg: '保存失败'})
|
|
165
|
+
.then((res) => {
|
|
166
|
+
this.close()
|
|
167
|
+
this.load()
|
|
168
|
+
})
|
|
169
|
+
},
|
|
170
|
+
deleteItem(row) {
|
|
171
|
+
let http = new HttpResetClass()
|
|
172
|
+
http.load('POST', `${this.$androidUtil.getProxyUrl()}/rs/logic/delectmaterialshoufei`, {data: row}, {resolveMsg: null, rejectMsg: '删除失败'})
|
|
173
|
+
.then((res) => {
|
|
174
|
+
this.load()
|
|
175
|
+
})
|
|
176
|
+
},
|
|
177
|
+
//新增收费 开启模态框
|
|
178
|
+
addshoufei() {
|
|
179
|
+
this.showpay = true
|
|
180
|
+
},
|
|
181
|
+
modifyParam(row) {
|
|
182
|
+
this.addItem = row
|
|
183
|
+
this.showpay = true
|
|
184
|
+
},
|
|
185
|
+
// 金额计算
|
|
186
|
+
smalltoBIG() {
|
|
187
|
+
let num = Number(this.addItem.f_material_price) * Number(this.addItem.f_material_number)
|
|
188
|
+
return num
|
|
189
|
+
},
|
|
190
|
+
setTypename (val) {
|
|
191
|
+
this.typeNameList = this.$appdata.getParam(val)
|
|
192
|
+
},
|
|
193
|
+
setTypenumber (val) {
|
|
194
|
+
this.typeNumberList = this.$appdata.getParam(val)
|
|
195
|
+
},
|
|
196
|
+
setmaterialprice(val){
|
|
197
|
+
if(val==null){
|
|
198
|
+
this.addItem.f_material_price = 0
|
|
199
|
+
}
|
|
200
|
+
this.addItem.f_material_price = this.$appdata.getSingleValue(val)
|
|
201
|
+
}
|
|
202
|
+
},
|
|
203
|
+
watch: {
|
|
204
|
+
'typeNumberList'(){
|
|
205
|
+
this.addItem.f_typenumber=null
|
|
206
|
+
this.addItem.f_material_price = 0
|
|
207
|
+
},
|
|
208
|
+
'typeNameList'() {
|
|
209
|
+
this.addItem.f_typename = null
|
|
210
|
+
this.addItem.f_typenumber = null
|
|
211
|
+
this.addItem.f_material_price = 0
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
}
|
|
215
|
+
|
|
216
|
+
</script>
|
|
217
|
+
|
|
218
|
+
|
|
219
|
+
<style scoped>
|
|
220
|
+
table {
|
|
221
|
+
border-collapse: collapse;
|
|
222
|
+
border-spacing: 0;
|
|
223
|
+
width: 100%;
|
|
224
|
+
}
|
|
225
|
+
|
|
226
|
+
table, td, th {
|
|
227
|
+
padding: 0;
|
|
228
|
+
border: 1px solid black
|
|
229
|
+
}
|
|
230
|
+
|
|
231
|
+
tr {
|
|
232
|
+
height: 34px;
|
|
233
|
+
}
|
|
234
|
+
|
|
235
|
+
#DynamicForm input {
|
|
236
|
+
text-align: center;
|
|
237
|
+
}
|
|
238
|
+
|
|
239
|
+
</style>
|
|
@@ -786,6 +786,21 @@ export default {
|
|
|
786
786
|
this.$showAlert(e, 'warning', 3000)
|
|
787
787
|
return
|
|
788
788
|
}
|
|
789
|
+
if (model.f_entry_name){
|
|
790
|
+
let http = new HttpResetClass()
|
|
791
|
+
let data = {
|
|
792
|
+
tablename:'t_apply',
|
|
793
|
+
condition:`f_entry_name = '${model.f_entry_name}'`
|
|
794
|
+
}
|
|
795
|
+
let res = await http.load('post','rs/sql/singleTable', {data:data},{
|
|
796
|
+
resolveMsg: null,
|
|
797
|
+
rejectMsg: '查询失败'})
|
|
798
|
+
debugger
|
|
799
|
+
if (res.data.length > 0){
|
|
800
|
+
this.$showMessage('项目名称不能重复,请重新输入!!!')
|
|
801
|
+
return
|
|
802
|
+
}
|
|
803
|
+
}
|
|
789
804
|
let http = new HttpResetClass()
|
|
790
805
|
if((this.selectdata.defname =='现场勘察' || this.selectdata.defname ==='入户安装') && model.f_is_have == '否'&& model.button.button_name == '提交'){
|
|
791
806
|
let model1 ={
|