apply-clients 4.1.55-weinan → 4.1.57-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
|
@@ -65,6 +65,14 @@
|
|
|
65
65
|
<p class="col-xs-3 text-left font"><b>入户安装提交时间:</b></p>
|
|
66
66
|
<p class="col-xs-9 text-left input-font">{{ row.finishtime }}</p>
|
|
67
67
|
</div>
|
|
68
|
+
<div class="col-xs-12">
|
|
69
|
+
<p class="col-xs-3 text-left font"><b>总收费:</b></p>
|
|
70
|
+
<p class="col-xs-9 text-left input-font">{{ row.summoney }}</p>
|
|
71
|
+
</div>
|
|
72
|
+
<div class="col-xs-12">
|
|
73
|
+
<p class="col-xs-3 text-left font"><b>收费人员:</b></p>
|
|
74
|
+
<p class="col-xs-9 text-left input-font">{{ row.f_charge_collectors }}</p>
|
|
75
|
+
</div>
|
|
68
76
|
<div class="col-xs-12 text-right">
|
|
69
77
|
<button class="btn btn-info" @click="$parent.$parent.$parent.click(row)">查看</button>
|
|
70
78
|
</div>
|
|
@@ -77,15 +85,15 @@
|
|
|
77
85
|
<script>
|
|
78
86
|
import Vue from 'vue'
|
|
79
87
|
import { PagedList, HttpResetClass } from 'vue-client'
|
|
80
|
-
import {isEmpty} from '../Util'
|
|
88
|
+
import {toStandardDateString,isEmpty} from '../Util'
|
|
81
89
|
export default {
|
|
82
90
|
title: '报建流程',
|
|
83
91
|
data () {
|
|
84
92
|
return {
|
|
85
|
-
model: new PagedList(`${this.$androidUtil.getProxyUrl()}/rs/sql/
|
|
93
|
+
model: new PagedList(`${this.$androidUtil.getProxyUrl()}/rs/sql/getDone`, 20, {
|
|
86
94
|
// model: new PagedList('rs/sql/supervisory', 20, {
|
|
87
95
|
data: {
|
|
88
|
-
|
|
96
|
+
name: Vue.user.name,
|
|
89
97
|
orgid: Vue.user.orgid
|
|
90
98
|
// id: '35814',
|
|
91
99
|
// orgid: '10101'
|
|
@@ -99,6 +107,8 @@
|
|
|
99
107
|
}
|
|
100
108
|
},
|
|
101
109
|
ready () {
|
|
110
|
+
this.$refs.cp.$refs.cri.model.startDate = toStandardDateString() + ' 00:00:00'
|
|
111
|
+
this.$refs.cp.$refs.cri.model.endDate = toStandardDateString() + ' 23:59:59'
|
|
102
112
|
this.search()
|
|
103
113
|
},
|
|
104
114
|
methods: {
|
|
@@ -19,33 +19,36 @@
|
|
|
19
19
|
<p class="col-xs-9 text-left input-font">{{ selectdata.f_user_type }}</p>
|
|
20
20
|
</div>
|
|
21
21
|
<div class="col-xs-12">
|
|
22
|
-
<p class="col-xs-3 text-left font"><b
|
|
23
|
-
<p class="col-xs-9 text-left input-font">{{ selectdata.
|
|
22
|
+
<p class="col-xs-3 text-left font"><b>入户安装提交时间:</b></p>
|
|
23
|
+
<p class="col-xs-9 text-left input-font">{{ selectdata.finishtime }}</p>
|
|
24
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.summoney }}</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_charge_collectors }}</p>
|
|
32
|
+
</div>
|
|
33
|
+
</div>
|
|
34
|
+
<div class="panel-footer">
|
|
35
|
+
<app-materialshoufei v-if="selectdata" :selectdata="selectdata" :mark = '1'></app-materialshoufei>
|
|
25
36
|
</div>
|
|
26
37
|
</div>
|
|
27
38
|
</div>
|
|
28
39
|
</template>
|
|
29
40
|
|
|
30
41
|
<script>
|
|
31
|
-
import {HttpResetClass} from 'vue-client'
|
|
32
42
|
export default {
|
|
33
43
|
title: '流程节点',
|
|
34
44
|
props: ['selectdata'],
|
|
35
45
|
data () {
|
|
36
46
|
return {
|
|
37
|
-
defnames: [],
|
|
38
|
-
flag:false
|
|
39
47
|
}
|
|
40
48
|
},
|
|
41
49
|
ready () {
|
|
42
|
-
this.initial()
|
|
43
50
|
},
|
|
44
51
|
methods: {
|
|
45
|
-
async shouju(row){
|
|
46
|
-
console.log("进入方法:",this.selectdata)
|
|
47
|
-
},
|
|
48
|
-
|
|
49
52
|
},
|
|
50
53
|
watch: {
|
|
51
54
|
}
|
|
@@ -61,23 +64,5 @@ export default {
|
|
|
61
64
|
border:1px solid #499EDF;
|
|
62
65
|
background-color: #F8F8F8;
|
|
63
66
|
}
|
|
64
|
-
|
|
65
|
-
padding: 0 40px;
|
|
66
|
-
text-align: center;
|
|
67
|
-
height: auto;
|
|
68
|
-
}
|
|
69
|
-
.item{
|
|
70
|
-
border-radius: 2em;
|
|
71
|
-
border: 1px solid silver;
|
|
72
|
-
line-height: 25px;
|
|
73
|
-
}
|
|
74
|
-
.arrow{
|
|
75
|
-
width: 100%;
|
|
76
|
-
color: #5ac0d9;
|
|
77
|
-
font-weight: bold;
|
|
78
|
-
}
|
|
79
|
-
.selectIndex{
|
|
80
|
-
background-color: #5ac0d9;
|
|
81
|
-
color: #ffffff;
|
|
82
|
-
}
|
|
67
|
+
|
|
83
68
|
</style>
|
|
@@ -1,51 +1,135 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<div class="repair-bg auto" id="repair-first" style="padding-bottom:5px;overflow:auto">
|
|
3
3
|
<!--<div class="app-botton" @click="back()">-->
|
|
4
|
-
|
|
4
|
+
<!--<span class="glyphicon glyphicon-menu-left">返回</span>-->
|
|
5
5
|
<!--</div>-->
|
|
6
|
-
<!-- <back-page :need-back='true' @flag="back()"></back-page>-->
|
|
6
|
+
<!-- <back-page :need-back='true' @flag="back()"></back-page>-->
|
|
7
7
|
<div class="bq-parent">
|
|
8
|
-
<blockquote
|
|
8
|
+
<blockquote style="color: #499edf;border-left-color: #499edf;font-size: 16px">
|
|
9
9
|
<p>
|
|
10
|
-
待办报建<span v-if="rows">({{rows.length}}单)</span>
|
|
10
|
+
待办报建<span v-if="rows">({{ rows.length }}单)</span>
|
|
11
11
|
<span v-if="!rows">(暂无待处理报建单)</span>
|
|
12
|
-
<img @click="search" src="../../assets/shuaxindaiban1.png" style="width: 40px;padding: 5px; float:right">
|
|
13
12
|
</p>
|
|
13
|
+
<div partial class="auto" style="color: #2b2b2b;">
|
|
14
|
+
<div class="row form-group app-input" v-if="criteriaShow">
|
|
15
|
+
<label class="">报建编号:</label>
|
|
16
|
+
<div class="col-xs-8">
|
|
17
|
+
<input class="" v-model=model.f_apply_num>
|
|
18
|
+
</div>
|
|
19
|
+
</div>
|
|
20
|
+
<div class="row form-group app-input" v-if="criteriaShow">
|
|
21
|
+
<label class="">项目名称:</label>
|
|
22
|
+
<div class="col-xs-8">
|
|
23
|
+
<input class="" v-model=model.f_entry_name>
|
|
24
|
+
</div>
|
|
25
|
+
</div>
|
|
26
|
+
<div class="row form-group app-input" v-if="criteriaShow">
|
|
27
|
+
<label class="">报建类型:</label>
|
|
28
|
+
<div class="col-xs-8" style="width: 100%">
|
|
29
|
+
<v-select
|
|
30
|
+
class="select select_list"
|
|
31
|
+
:value.sync="model.f_apply_type"
|
|
32
|
+
v-model="model.f_apply_type"
|
|
33
|
+
:options='applytype'
|
|
34
|
+
placeholder='请选择'
|
|
35
|
+
close-on-select >
|
|
36
|
+
</v-select>
|
|
37
|
+
</div>
|
|
38
|
+
</div>
|
|
39
|
+
<div class="row form-group app-input" v-if="criteriaShow">
|
|
40
|
+
<label class="">办理环节:</label>
|
|
41
|
+
<div class="col-xs-8">
|
|
42
|
+
<v-select
|
|
43
|
+
class="select select_list"
|
|
44
|
+
:value.sync="model.defname"
|
|
45
|
+
v-model="model.defname"
|
|
46
|
+
:options='defnames'
|
|
47
|
+
placeholder='请选择'
|
|
48
|
+
close-on-select >
|
|
49
|
+
</v-select>
|
|
50
|
+
</div>
|
|
51
|
+
</div>
|
|
52
|
+
<div class="row form-group app-input" v-if="criteriaShow">
|
|
53
|
+
<label class="">用户类型:</label>
|
|
54
|
+
<div class="col-xs-8">
|
|
55
|
+
<v-select
|
|
56
|
+
class="select select_list"
|
|
57
|
+
:value.sync="model.f_user_type"
|
|
58
|
+
v-model="model.f_user_type"
|
|
59
|
+
:options='usertype'
|
|
60
|
+
placeholder='请选择'
|
|
61
|
+
close-on-select >
|
|
62
|
+
</v-select>
|
|
63
|
+
</div>
|
|
64
|
+
</div>
|
|
65
|
+
<div class="row form-group app-input" v-if="criteriaShow">
|
|
66
|
+
<label class="">开始时间:</label>
|
|
67
|
+
<div class="col-xs-8" >
|
|
68
|
+
<datepicker id="startDate" placeholder="开始日期"
|
|
69
|
+
v-model="model.startDate"
|
|
70
|
+
:value.sync="model.startDate"
|
|
71
|
+
:format="'yyyy-MM-dd 00:00:00'"
|
|
72
|
+
:show-reset-button="true"
|
|
73
|
+
>
|
|
74
|
+
</datepicker>
|
|
75
|
+
</div>
|
|
76
|
+
</div>
|
|
77
|
+
<div class="row form-group app-input" v-if="criteriaShow">
|
|
78
|
+
<label class="">结束时间:</label>
|
|
79
|
+
<div class="col-xs-8" >
|
|
80
|
+
<datepicker id="endDate" placeholder="结束日期"
|
|
81
|
+
v-model="model.endDate"
|
|
82
|
+
:value.sync="model.endDate"
|
|
83
|
+
:format="'yyyy-MM-dd 23:59:59'"
|
|
84
|
+
:show-reset-button="true"
|
|
85
|
+
>
|
|
86
|
+
</datepicker>
|
|
87
|
+
</div>
|
|
88
|
+
</div>
|
|
89
|
+
<div class="row form-group text-right" style="">
|
|
90
|
+
<button class="btn btn-primary" @click="search()">查询</button>
|
|
91
|
+
<button class="btn btn-info" @click="clear()">清空</button>
|
|
92
|
+
<button class="btn" :class="{'button_shrink_top':criteriaShow,'button_shrink_bottom':!criteriaShow}"
|
|
93
|
+
@click="criteriaShow = !criteriaShow"></button>
|
|
94
|
+
</div>
|
|
95
|
+
</div>
|
|
14
96
|
</blockquote>
|
|
15
97
|
</div>
|
|
16
98
|
<div class="panel panel-default repair-info-content auto">
|
|
17
99
|
<div class="panel-body">
|
|
18
|
-
<div class="panel panel-default well"
|
|
100
|
+
<div class="panel panel-default well" v-for="row in rows">
|
|
19
101
|
<div class="panel-body bg-info" style="padding: 10px">
|
|
20
102
|
<div class="row form-group">
|
|
21
103
|
<div class="col-sm-12 col-xs-12 col-md-12">
|
|
22
|
-
<div class="row"
|
|
104
|
+
<div class="row">
|
|
23
105
|
<div :class="{'text-danger': row.f_remindersign}" class="col-sm-12 col-xs-12 col-md-12 padd-div-shu">
|
|
24
|
-
报建编号: {{row.f_apply_num}}<!--<span v-if="row.f_remindersign">(催单)</span>-->
|
|
106
|
+
报建编号: {{ row.f_apply_num }}<!--<span v-if="row.f_remindersign">(催单)</span>-->
|
|
25
107
|
</div>
|
|
26
108
|
<div class="col-sm-12 col-xs-12 col-md-12 padd-div-shu">
|
|
27
|
-
项目名称: {{row.f_entry_name}}
|
|
109
|
+
项目名称: {{ row.f_entry_name }}
|
|
28
110
|
</div>
|
|
29
111
|
<div class="col-sm-12 col-xs-12 col-md-12 padd-div-shu">
|
|
30
|
-
用户类型: {{row.f_user_type}}
|
|
112
|
+
用户类型: {{ row.f_user_type }}
|
|
31
113
|
</div>
|
|
32
114
|
<div class="col-sm-12 col-xs-12 col-md-12 padd-div-shu">
|
|
33
|
-
流程状态: {{row.f_sub_state}}
|
|
115
|
+
流程状态: {{ row.f_sub_state }}
|
|
34
116
|
</div>
|
|
35
117
|
<div class="col-sm-12 col-xs-12 col-md-12 padd-div-shu">
|
|
36
|
-
报建类型: {{row.f_apply_type}}
|
|
118
|
+
报建类型: {{ row.f_apply_type }}
|
|
37
119
|
</div>
|
|
38
120
|
<div class="col-sm-12 col-xs-12 col-md-12 padd-div-shu">
|
|
39
|
-
办理环节: {{row.defname}}
|
|
121
|
+
办理环节: {{ row.defname }}
|
|
40
122
|
</div>
|
|
41
123
|
<div class="col-sm-12 col-xs-12 col-md-12 padd-div-shu">
|
|
42
|
-
报建日期: {{row.f_apply_date}}
|
|
124
|
+
报建日期: {{ row.f_apply_date }}
|
|
43
125
|
</div>
|
|
44
126
|
|
|
45
127
|
</div>
|
|
46
128
|
</div>
|
|
47
129
|
<div class="col-sm-12 col-xs-12 col-md-12">
|
|
48
|
-
<button type="button" name="button" class="btn btn-primary"
|
|
130
|
+
<button type="button" name="button" class="btn btn-primary"
|
|
131
|
+
style="background-color:#499edf;float: right" @click="selected(row)">立即处理
|
|
132
|
+
</button>
|
|
49
133
|
</div>
|
|
50
134
|
</div>
|
|
51
135
|
</div>
|
|
@@ -55,48 +139,52 @@
|
|
|
55
139
|
</div>
|
|
56
140
|
</template>
|
|
57
141
|
<script>
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
142
|
+
import Vue from 'vue'
|
|
143
|
+
import {HttpResetClass} from 'vue-client'
|
|
144
|
+
import {isEmpty} from '../Util'
|
|
145
|
+
export default {
|
|
61
146
|
title: '待办报建列表',
|
|
62
147
|
data () {
|
|
63
148
|
return {
|
|
64
149
|
// rows: Object
|
|
65
150
|
rows: [],
|
|
66
|
-
editshow:false,
|
|
67
|
-
row:{
|
|
68
|
-
type:Object,
|
|
69
|
-
default:{
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
}
|
|
151
|
+
editshow: false,
|
|
152
|
+
row: {
|
|
153
|
+
type: Object,
|
|
154
|
+
default: {}
|
|
155
|
+
},
|
|
156
|
+
criteriaShow: false,
|
|
157
|
+
model: {},
|
|
158
|
+
usertype: this.$appdata.getParam('用户类型'),
|
|
159
|
+
applytype: this.$appdata.getParam('报建类型'),
|
|
160
|
+
defnames: this.$appdata.getParam('办理环节')
|
|
73
161
|
}
|
|
74
162
|
},
|
|
75
163
|
props: {
|
|
76
|
-
sourcet:{
|
|
77
|
-
type:String,
|
|
78
|
-
default:'横屏'
|
|
164
|
+
sourcet: {
|
|
165
|
+
type: String,
|
|
166
|
+
default: '横屏'
|
|
79
167
|
}
|
|
80
168
|
},
|
|
81
169
|
methods: {
|
|
82
170
|
selected (row) {
|
|
83
171
|
row.canedit = true
|
|
84
|
-
if(this.sourcet
|
|
85
|
-
|
|
86
|
-
_this:this,
|
|
87
|
-
tittle:'报建工作',
|
|
88
|
-
safe:true
|
|
172
|
+
if (this.sourcet === '横屏') {
|
|
173
|
+
let pardate = {
|
|
174
|
+
_this: this,
|
|
175
|
+
tittle: '报建工作',
|
|
176
|
+
safe: true
|
|
89
177
|
}
|
|
90
|
-
this.$dispatch('gotoson',pardate)
|
|
91
|
-
this.$goto('placecontrolerapp', {row: row},'self',this.search)
|
|
92
|
-
}else{
|
|
93
|
-
|
|
94
|
-
_this:this,
|
|
95
|
-
tittle:'报建工作',
|
|
96
|
-
safe:true
|
|
178
|
+
this.$dispatch('gotoson', pardate)
|
|
179
|
+
this.$goto('placecontrolerapp', {row: row}, 'self', this.search)
|
|
180
|
+
} else {
|
|
181
|
+
let pardate = {
|
|
182
|
+
_this: this,
|
|
183
|
+
tittle: '报建工作',
|
|
184
|
+
safe: true
|
|
97
185
|
}
|
|
98
|
-
this.$dispatch('gotoson',pardate)
|
|
99
|
-
this.$goto('placecontrolerapp', {row: row},'self',this.search)
|
|
186
|
+
this.$dispatch('gotoson', pardate)
|
|
187
|
+
this.$goto('placecontrolerapp', {row: row}, 'self', this.search)
|
|
100
188
|
}
|
|
101
189
|
},
|
|
102
190
|
back () {
|
|
@@ -105,9 +193,36 @@ export default{
|
|
|
105
193
|
},
|
|
106
194
|
search () {
|
|
107
195
|
var condition = "1=1 and (f_apply_type! = '居民报建' and f_apply_type! = '工商户报建' or (f_apply_type = '居民报建' and defname = '入户安装') or (f_apply_type = '工商户报建' and (defname = '现场勘察' or defname = '施工')))"
|
|
108
|
-
|
|
196
|
+
// 报建编号
|
|
197
|
+
if (this.model.f_apply_num) {
|
|
198
|
+
condition = condition + ` and u.f_apply_num like '%${this.model.f_apply_num}%'`
|
|
199
|
+
}
|
|
200
|
+
// 项目名称
|
|
201
|
+
if (this.model.f_entry_name) {
|
|
202
|
+
condition = condition + ` and u.f_entry_name like '%${this.model.f_entry_name}%'`
|
|
203
|
+
}
|
|
204
|
+
// 报建类型
|
|
205
|
+
if (!isEmpty(this.model.f_apply_type)) {
|
|
206
|
+
condition = condition + ` and f_apply_type = '${this.model.f_apply_type}'`
|
|
207
|
+
}
|
|
208
|
+
// 办理环节
|
|
209
|
+
if (!isEmpty(this.model.defname)) {
|
|
210
|
+
condition = condition + ` and defname = '${this.model.defname}'`
|
|
211
|
+
}
|
|
212
|
+
// 用户类型
|
|
213
|
+
if (!isEmpty(this.model.f_user_type)) {
|
|
214
|
+
condition = condition + ` and f_user_type = '${this.model.f_user_type}'`
|
|
215
|
+
}
|
|
216
|
+
// 报建时间
|
|
217
|
+
if (!isEmpty(this.model.startDate)) {
|
|
218
|
+
condition = condition + ` and u.f_apply_date >= '${this.model.startDate}'`
|
|
219
|
+
}
|
|
220
|
+
if (!isEmpty(this.model.endDate)) {
|
|
221
|
+
condition = condition + ` and u.f_apply_date <= '${this.model.endDate}'`
|
|
222
|
+
}
|
|
223
|
+
var param = {condition: condition, condValue: [], data: {id: Vue.user.id, orgid: Vue.user.orgid}}
|
|
109
224
|
let http = new HttpResetClass()
|
|
110
|
-
http.load('POST'
|
|
225
|
+
http.load('POST', `${this.$androidUtil.getProxyUrl()}/rs/sql/checkuser`, {data: param}).then(res => {
|
|
111
226
|
console.log(`前台本地报建代办工单查询结果data=>>>${JSON.stringify(res.data)}`)
|
|
112
227
|
if (res.data) {
|
|
113
228
|
this.rows = res.data
|
|
@@ -116,41 +231,62 @@ export default{
|
|
|
116
231
|
}
|
|
117
232
|
})
|
|
118
233
|
},
|
|
119
|
-
makeAPhoneCall(phoneNumber) {
|
|
234
|
+
makeAPhoneCall (phoneNumber) {
|
|
120
235
|
this.$androidUtil.makeAPhoneCall(phoneNumber)
|
|
121
236
|
},
|
|
122
237
|
upload () {
|
|
123
238
|
this.$goto('up-load')
|
|
239
|
+
},
|
|
240
|
+
clear () {
|
|
241
|
+
this.model = {}
|
|
124
242
|
}
|
|
125
243
|
},
|
|
126
244
|
ready () {
|
|
127
245
|
this.search()
|
|
128
|
-
var _this = this
|
|
129
|
-
this.timeoutHandle = window.setInterval(function() {
|
|
246
|
+
var _this = this
|
|
247
|
+
this.timeoutHandle = window.setInterval(function () {
|
|
130
248
|
_this.search()
|
|
131
|
-
}, 6000000)//60000
|
|
249
|
+
}, 6000000)// 60000
|
|
132
250
|
}
|
|
133
251
|
}
|
|
134
252
|
</script>
|
|
135
253
|
|
|
136
254
|
<style>
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
.
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
255
|
+
.button_shrink_top {
|
|
256
|
+
width: 34px;
|
|
257
|
+
height: 34px;
|
|
258
|
+
border: solid 1px #6aa6e2;
|
|
259
|
+
background-size: 100%;
|
|
260
|
+
background-image: url("../../../static/newStyle/stretch_top.png")
|
|
261
|
+
}
|
|
262
|
+
|
|
263
|
+
.button_shrink_bottom {
|
|
264
|
+
width: 34px;
|
|
265
|
+
height: 34px;
|
|
266
|
+
border: solid 1px #6aa6e2;
|
|
267
|
+
background-size: 100%;
|
|
268
|
+
background-image: url("../../../static/newStyle/stretch_bottom.png")
|
|
269
|
+
}
|
|
270
|
+
|
|
271
|
+
.app-botton {
|
|
272
|
+
position: fixed;
|
|
273
|
+
background: #87b2dd;
|
|
274
|
+
color: #FFF;
|
|
275
|
+
padding: 8px;
|
|
276
|
+
text-align: center;
|
|
277
|
+
font-size: 1.2em;
|
|
278
|
+
z-index: 10;
|
|
279
|
+
opacity: 0.5;
|
|
280
|
+
bottom: 50px;
|
|
281
|
+
margin-top: -10px;
|
|
282
|
+
height: 40px;
|
|
283
|
+
}
|
|
284
|
+
|
|
285
|
+
.class-a {
|
|
286
|
+
border: 1px solid red;
|
|
287
|
+
}
|
|
288
|
+
|
|
289
|
+
.padd-div-shu {
|
|
290
|
+
padding-bottom: 5px;
|
|
291
|
+
}
|
|
156
292
|
</style>
|
|
@@ -1,239 +1,243 @@
|
|
|
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
|
|
9
|
-
<th
|
|
10
|
-
<th
|
|
11
|
-
<th
|
|
12
|
-
<th
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
<td style="text-align: center">{{
|
|
22
|
-
<td style="text-align: center">{{ row.
|
|
23
|
-
<td style="text-align: center">{{ row.
|
|
24
|
-
<td style="text-align: center">{{ row.
|
|
25
|
-
<td
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
<
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
<
|
|
44
|
-
<
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
:
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
:
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
:
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
</div>
|
|
78
|
-
<div class="from-group">
|
|
79
|
-
<label
|
|
80
|
-
<input type="number" class="form-control" v-model="addItem.
|
|
81
|
-
</div>
|
|
82
|
-
<div class="from-group">
|
|
83
|
-
<label
|
|
84
|
-
<input type="number" class="form-control" v-model="addItem.
|
|
85
|
-
</div>
|
|
86
|
-
<div class="from-group">
|
|
87
|
-
<label
|
|
88
|
-
<
|
|
89
|
-
</div>
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
</
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
}
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
let
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
this
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
this.addItem.
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
},
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
this.showpay = true
|
|
184
|
-
},
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
this.
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
'
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
}
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
}
|
|
238
|
-
|
|
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>金额</th>
|
|
13
|
+
<th>备注</th>
|
|
14
|
+
<th v-if="$parent.$parent.mark === 0">
|
|
15
|
+
<button type="button" class="btn btn-info head-but" @click="$parent.$parent.addshoufei()" >新增收费
|
|
16
|
+
</button>
|
|
17
|
+
</th>
|
|
18
|
+
</tr>
|
|
19
|
+
</template>
|
|
20
|
+
<template partial='body'>
|
|
21
|
+
<td style="text-align: center">{{ $index + 1}}</td>
|
|
22
|
+
<td style="text-align: center">{{ row.f_material_name}}</td>
|
|
23
|
+
<td style="text-align: center">{{ row.f_typename}}</td>
|
|
24
|
+
<td style="text-align: center">{{ row.f_typenumber}}</td>
|
|
25
|
+
<td style="text-align: center">{{ row.f_material_price}}</td>
|
|
26
|
+
<td style="text-align: center">{{ row.f_material_number}}</td>
|
|
27
|
+
<td style="text-align: center">{{ row.f_fee}}</td>
|
|
28
|
+
<td style="text-align: center">{{ row.f_remarks}}</td>
|
|
29
|
+
<td class="flex-around" v-if="$parent.$parent.mark === 0">
|
|
30
|
+
<button type="button" name="button" class="btn btn-link"
|
|
31
|
+
@click.stop="$parent.$parent.modifyParam(row)">修改
|
|
32
|
+
</button>
|
|
33
|
+
<button type="button" name="button" class="btn btn-link"
|
|
34
|
+
@click.stop="$parent.$parent.deleteItem(row)">删除
|
|
35
|
+
</button>
|
|
36
|
+
</td>
|
|
37
|
+
</template>
|
|
38
|
+
</data-grid>
|
|
39
|
+
<span>合计:{{ f_cost_sum }}元</span>
|
|
40
|
+
</div>
|
|
41
|
+
|
|
42
|
+
<modal :show.sync="showpay" v-ref:modal backdrop="false">
|
|
43
|
+
<header slot="modal-header" class="modal-header">
|
|
44
|
+
<button type="button" class="close" @click="close"><span>×</span></button>
|
|
45
|
+
<h4 class="modal-title">新增材料收费</h4>
|
|
46
|
+
</header>
|
|
47
|
+
<article slot="modal-body" class="modal-body">
|
|
48
|
+
<div class="from-group">
|
|
49
|
+
<label>材料名称</label>
|
|
50
|
+
<input-select
|
|
51
|
+
class="select select_list"
|
|
52
|
+
:value.sync="addItem.f_material_name"
|
|
53
|
+
v-model="addItem.f_material_name"
|
|
54
|
+
:options="positions"
|
|
55
|
+
@change="setTypename"
|
|
56
|
+
:valueSingle="true"></input-select>
|
|
57
|
+
</div>
|
|
58
|
+
<div class="from-group">
|
|
59
|
+
<label>品名规格</label>
|
|
60
|
+
<input-select
|
|
61
|
+
class="select select_list"
|
|
62
|
+
:value.sync="addItem.f_typename"
|
|
63
|
+
v-model="addItem.f_typename"
|
|
64
|
+
:options="typeNameList"
|
|
65
|
+
@change="setTypenumber"
|
|
66
|
+
:valueSingle="true"></input-select>
|
|
67
|
+
</div>
|
|
68
|
+
<div class="from-group">
|
|
69
|
+
<label>型号</label>
|
|
70
|
+
<input-select
|
|
71
|
+
class="select select_list"
|
|
72
|
+
:value.sync="addItem.f_typenumber"
|
|
73
|
+
v-model="addItem.f_typenumber"
|
|
74
|
+
:options="typeNumberList"
|
|
75
|
+
@change="setmaterialprice"
|
|
76
|
+
:valueSingle="true"></input-select>
|
|
77
|
+
</div>
|
|
78
|
+
<div class="from-group">
|
|
79
|
+
<label>单价(元)</label>
|
|
80
|
+
<input type="number" class="form-control" v-model="addItem.f_material_price" readonly>
|
|
81
|
+
</div>
|
|
82
|
+
<div class="from-group">
|
|
83
|
+
<label>数量</label>
|
|
84
|
+
<input type="number" class="form-control" v-model="addItem.f_material_number" >
|
|
85
|
+
</div>
|
|
86
|
+
<div class="from-group">
|
|
87
|
+
<label>金额</label>
|
|
88
|
+
<input type="number" class="form-control" v-model="addItem.f_fee" :value="smalltoBIG()" readonly>
|
|
89
|
+
</div>
|
|
90
|
+
<div class="from-group">
|
|
91
|
+
<label>备注</label>
|
|
92
|
+
<textarea type="text" rows="2" class="form-control" v-model="addItem.f_remarks"></textarea>
|
|
93
|
+
</div>
|
|
94
|
+
</article>
|
|
95
|
+
<footer slot="modal-footer" class="modal-footer">
|
|
96
|
+
<button v-show="showpay" type="button" class="btn btn-default" @click='close'>取消</button>
|
|
97
|
+
<button v-show="showpay" type="button" class="btn btn-success" @click='addpaydipetail' :disabled="!$v.valid">确认</button>
|
|
98
|
+
</footer>
|
|
99
|
+
</modal>
|
|
100
|
+
</template>
|
|
101
|
+
|
|
102
|
+
<script>
|
|
103
|
+
import {HttpResetClass} from 'vue-client'
|
|
104
|
+
import Vue from "vue";
|
|
105
|
+
import $ from 'jquery'
|
|
106
|
+
|
|
107
|
+
export default {
|
|
108
|
+
title: '材料收费',
|
|
109
|
+
data() {
|
|
110
|
+
return {
|
|
111
|
+
showpay: false, // 新增材料收费开关
|
|
112
|
+
model: {
|
|
113
|
+
rows: [] // 材料收费数据数组
|
|
114
|
+
},
|
|
115
|
+
addItem: {
|
|
116
|
+
f_material_price:0
|
|
117
|
+
},
|
|
118
|
+
f_cost_sum: 0,
|
|
119
|
+
positions:this.$appdata.getParam('品名及规格'),
|
|
120
|
+
typeNameList:null,
|
|
121
|
+
typeNumberList:null
|
|
122
|
+
}
|
|
123
|
+
},
|
|
124
|
+
props: {
|
|
125
|
+
selectdata: {
|
|
126
|
+
type: Object
|
|
127
|
+
},
|
|
128
|
+
mark: {
|
|
129
|
+
type: Number,
|
|
130
|
+
default: 0
|
|
131
|
+
}
|
|
132
|
+
},
|
|
133
|
+
ready() {
|
|
134
|
+
this.load()
|
|
135
|
+
},
|
|
136
|
+
methods: {
|
|
137
|
+
async load() {
|
|
138
|
+
let http = new HttpResetClass()
|
|
139
|
+
let data = {
|
|
140
|
+
tablename: 't_material_charges',
|
|
141
|
+
condition: `f_process_id = '${this.selectdata.f_process_id}'`
|
|
142
|
+
}
|
|
143
|
+
let res = await http.load('POST', `${this.$androidUtil.getProxyUrl()}/rs/sql/singleTable`, {data: data}, {resolveMsg: null, rejectMsg: '获取数据失败'})
|
|
144
|
+
.then((res) => {
|
|
145
|
+
this.model.rows = res.data
|
|
146
|
+
this.f_cost_sum = 0
|
|
147
|
+
for (var i = 0; i < this.model.rows.length; i++) {
|
|
148
|
+
this.f_cost_sum += Number(this.model.rows[i].f_fee)
|
|
149
|
+
}
|
|
150
|
+
this.$set('selectdata.f_cost_sum',this.f_cost_sum)
|
|
151
|
+
})
|
|
152
|
+
},
|
|
153
|
+
// 关闭模态框
|
|
154
|
+
close() {
|
|
155
|
+
this.showpay = false
|
|
156
|
+
this.addItem = {
|
|
157
|
+
f_material_price:0
|
|
158
|
+
}
|
|
159
|
+
},
|
|
160
|
+
// 模态框确定按钮保存数据
|
|
161
|
+
async addpaydipetail() {
|
|
162
|
+
let http = new HttpResetClass()
|
|
163
|
+
this.addItem.f_process_id = this.selectdata.f_process_id
|
|
164
|
+
this.addItem.f_apply_num = this.selectdata.f_apply_num
|
|
165
|
+
this.addItem.f_operator = Vue.user.name
|
|
166
|
+
this.addItem.f_department = Vue.user.f_department_name
|
|
167
|
+
this.addItem.f_filiale = Vue.user.orgs
|
|
168
|
+
await http.load('POST', `${this.$androidUtil.getProxyUrl()}/rs/logic/addmaterialshoufei`, this.addItem, {resolveMsg: '保存成功', rejectMsg: '保存失败'})
|
|
169
|
+
.then((res) => {
|
|
170
|
+
this.close()
|
|
171
|
+
this.load()
|
|
172
|
+
})
|
|
173
|
+
},
|
|
174
|
+
deleteItem(row) {
|
|
175
|
+
let http = new HttpResetClass()
|
|
176
|
+
http.load('POST', `${this.$androidUtil.getProxyUrl()}/rs/logic/delectmaterialshoufei`, {data: row}, {resolveMsg: null, rejectMsg: '删除失败'})
|
|
177
|
+
.then((res) => {
|
|
178
|
+
this.load()
|
|
179
|
+
})
|
|
180
|
+
},
|
|
181
|
+
//新增收费 开启模态框
|
|
182
|
+
addshoufei() {
|
|
183
|
+
this.showpay = true
|
|
184
|
+
},
|
|
185
|
+
modifyParam(row) {
|
|
186
|
+
this.addItem = row
|
|
187
|
+
this.showpay = true
|
|
188
|
+
},
|
|
189
|
+
// 金额计算
|
|
190
|
+
smalltoBIG() {
|
|
191
|
+
let num = Number(this.addItem.f_material_price) * Number(this.addItem.f_material_number)
|
|
192
|
+
return num
|
|
193
|
+
},
|
|
194
|
+
setTypename (val) {
|
|
195
|
+
this.typeNameList = this.$appdata.getParam(val)
|
|
196
|
+
},
|
|
197
|
+
setTypenumber (val) {
|
|
198
|
+
this.typeNumberList = this.$appdata.getParam(val)
|
|
199
|
+
},
|
|
200
|
+
setmaterialprice(val){
|
|
201
|
+
if(val==null){
|
|
202
|
+
this.addItem.f_material_price = 0
|
|
203
|
+
}
|
|
204
|
+
this.addItem.f_material_price = this.$appdata.getSingleValue(val)
|
|
205
|
+
}
|
|
206
|
+
},
|
|
207
|
+
watch: {
|
|
208
|
+
'typeNumberList'(){
|
|
209
|
+
this.addItem.f_typenumber=null
|
|
210
|
+
this.addItem.f_material_price = 0
|
|
211
|
+
},
|
|
212
|
+
'typeNameList'() {
|
|
213
|
+
this.addItem.f_typename = null
|
|
214
|
+
this.addItem.f_typenumber = null
|
|
215
|
+
this.addItem.f_material_price = 0
|
|
216
|
+
}
|
|
217
|
+
}
|
|
218
|
+
}
|
|
219
|
+
|
|
220
|
+
</script>
|
|
221
|
+
|
|
222
|
+
|
|
223
|
+
<style scoped>
|
|
224
|
+
table {
|
|
225
|
+
border-collapse: collapse;
|
|
226
|
+
border-spacing: 0;
|
|
227
|
+
width: 100%;
|
|
228
|
+
}
|
|
229
|
+
|
|
230
|
+
table, td, th {
|
|
231
|
+
padding: 0;
|
|
232
|
+
border: 1px solid black
|
|
233
|
+
}
|
|
234
|
+
|
|
235
|
+
tr {
|
|
236
|
+
height: 34px;
|
|
237
|
+
}
|
|
238
|
+
|
|
239
|
+
#DynamicForm input {
|
|
240
|
+
text-align: center;
|
|
241
|
+
}
|
|
242
|
+
|
|
243
|
+
</style>
|