apply-clients 3.1.33 → 3.1.38
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 +112 -112
- package/src/App.vue +20 -20
- package/src/apply.js +3 -0
- package/src/components/product/ApplyCharge/ApplyChargeList.vue +266 -247
- package/src/components/product/ApplyCharge/ApplyChargeSearch.vue +30 -232
- package/src/components/product/Function/InstallFunction.vue +2 -2
- package/src/components/product/Function/InstallInfoSelect.vue +44 -5
- package/src/components/product/Function/Service/FunctionServiceControl.vue +58 -1
- package/src/components/product/Function/functions/ChargeManagement.vue +397 -30
- package/src/components/product/Function/functions/ContractNo.vue +354 -354
- package/src/components/product/Function/functions/DispatchList.vue +490 -490
- package/src/components/product/Function/functions/InstallFeeInfo.vue +43 -43
- package/src/components/product/Order/OrderApply.vue +467 -467
- package/src/components/product/Order/OrderApplyList.vue +301 -301
- package/src/components/product/Process/ExplorationSelect.vue +326 -287
- package/src/components/product/Process/ExplorationUser.vue +168 -140
- package/src/components/product/Process/Service/ServiceControl.vue +16 -15
- package/src/components/product/ReportForm/ApplyUpload.vue +261 -261
- package/src/components/product/ReportForm/CustomerRecordMessage.vue +1587 -1409
- package/src/components/product/ServiceView.vue +6 -1
- package/src/components/product/Supervisory/Service/SupervisoryServiceControl.vue +169 -153
- package/src/components/product/Supervisory/SupervisoryControl.vue +132 -132
- package/src/components/product/Supervisory/SupervisoryControl2.vue +132 -0
- package/src/components/product/Supervisory/SupervisoryList.vue +76 -10
- package/src/components/product/Supervisory/SupervisoryList2.vue +285 -0
- package/src/components/product/Supervisory/SupervisoryhCart.vue +105 -104
|
@@ -1,354 +1,354 @@
|
|
|
1
|
-
<template>
|
|
2
|
-
<div>
|
|
3
|
-
<criteria-paged :model="model" v-ref:cp>
|
|
4
|
-
<criteria partial='criteria' @condition-changed='search' v-ref:cri>
|
|
5
|
-
<div novalidate class="form-horizontal select-overspread container-fluid auto" partial>
|
|
6
|
-
<div class="row">
|
|
7
|
-
<div class="form-group col-sm-4">
|
|
8
|
-
<label class="font_normal_body">小区名称:</label>
|
|
9
|
-
<v-select v-model="model.f_residential_name"
|
|
10
|
-
placeholder='小区名称'
|
|
11
|
-
:options="$parent.$parent.residential_name"
|
|
12
|
-
condition=" f_residential_name = '{}'"
|
|
13
|
-
:value.sync="model.f_residential_name" close-on-select>
|
|
14
|
-
</v-select>
|
|
15
|
-
</div>
|
|
16
|
-
<div class="form-group col-sm-3">
|
|
17
|
-
<label class="font_normal_body">合同编号:</label>
|
|
18
|
-
<input type="text" class="input_search" placeholder='合同编号' v-model="model.f_contract_number"
|
|
19
|
-
v-on:keyup.enter="search"
|
|
20
|
-
condition=" f_contract_number like '%{}%'">
|
|
21
|
-
</div>
|
|
22
|
-
<div class="form-group col-sm-2 operate">
|
|
23
|
-
<button type="button" class="btn btn-info head-but" @click="search(),$parent.$parent.close()" v-el:cx>查询</button>
|
|
24
|
-
<button type="button" class="btn btn-info head-but" @click="$parent.$parent.clear()" v-el:cx>清空</button>
|
|
25
|
-
<button type="button" class="btn btn-info head-but" @click="$parent.$parent.add()" v-el:cx>新增</button>
|
|
26
|
-
</div>
|
|
27
|
-
</div>
|
|
28
|
-
</div>
|
|
29
|
-
</criteria>
|
|
30
|
-
<data-grid :model="model" partial='list' v-ref:grid class="list_area table_sy">
|
|
31
|
-
<template partial='head'>
|
|
32
|
-
<tr>
|
|
33
|
-
<th>序号</th>
|
|
34
|
-
<th>小区名称</th>
|
|
35
|
-
<th>合同编号</th>
|
|
36
|
-
<th>操作人</th>
|
|
37
|
-
<th>操作时间</th>
|
|
38
|
-
<th>操作</th>
|
|
39
|
-
</tr>
|
|
40
|
-
</template>
|
|
41
|
-
<template partial='body'>
|
|
42
|
-
<tr>
|
|
43
|
-
<td style="text-align: center;">
|
|
44
|
-
<nobr>{{$index+1}}</nobr>
|
|
45
|
-
</td>
|
|
46
|
-
<td style="text-align: center;">
|
|
47
|
-
<nobr>{{row.f_residential_name}}</nobr>
|
|
48
|
-
</td>
|
|
49
|
-
<td style="text-align: center;">
|
|
50
|
-
<nobr>{{row.f_contract_number}}</nobr>
|
|
51
|
-
</td>
|
|
52
|
-
<td style="text-align: center;">
|
|
53
|
-
<nobr>{{row.f_operator}}</nobr>
|
|
54
|
-
</td>
|
|
55
|
-
<td style="text-align: center;">
|
|
56
|
-
<nobr>{{row.f_operation_date}}</nobr>
|
|
57
|
-
</td>
|
|
58
|
-
<td style="text-align: center;">
|
|
59
|
-
<nobr>
|
|
60
|
-
<button type="button" class="btn btn-info head-but" @click="$parent.$parent.$parent.update(row)" v-el:cx>修改</button>
|
|
61
|
-
</nobr>
|
|
62
|
-
</td>
|
|
63
|
-
</tr>
|
|
64
|
-
</template>
|
|
65
|
-
</data-grid>
|
|
66
|
-
</criteria-paged>
|
|
67
|
-
<!-- 添加新的合同编号 -->
|
|
68
|
-
<!-- <modal-->
|
|
69
|
-
<!-- :show.sync="control"-->
|
|
70
|
-
<!-- v-ref:modal-->
|
|
71
|
-
<!-- backdrop="false"-->
|
|
72
|
-
<!-- title="新增"-->
|
|
73
|
-
<!-- >-->
|
|
74
|
-
<!-- <article class="form-horizontal" slot="modal-body">-->
|
|
75
|
-
<!-- <div class="form-group">-->
|
|
76
|
-
<!-- <label class="col-sm-3 control-label">小区名称:</label>-->
|
|
77
|
-
<!-- <div class="col-sm-9">-->
|
|
78
|
-
<!-- <v-select-->
|
|
79
|
-
<!-- v-model="addData.f_residential_name"-->
|
|
80
|
-
<!-- :value.sync="addData.f_residential_name"-->
|
|
81
|
-
<!-- :options='residential_name'-->
|
|
82
|
-
<!-- placeholder="请选择"-->
|
|
83
|
-
<!-- :value-single="true"-->
|
|
84
|
-
<!-- :search="false"-->
|
|
85
|
-
<!-- close-on-select ></v-select>-->
|
|
86
|
-
<!-- </div>-->
|
|
87
|
-
<!-- </div>-->
|
|
88
|
-
<!-- <div class="form-group">-->
|
|
89
|
-
<!-- <label class="col-sm-3 control-label">合同编号:</label>-->
|
|
90
|
-
<!-- <div class="col-sm-9">-->
|
|
91
|
-
<!-- <input type="text" class="form-control" placeholder="请输入" v-model="addData.f_contract_number">-->
|
|
92
|
-
<!-- </div>-->
|
|
93
|
-
<!-- </div>-->
|
|
94
|
-
<!-- </article>-->
|
|
95
|
-
<!-- <footer slot="modal-footer" class="modal-footer">-->
|
|
96
|
-
<!-- <button-->
|
|
97
|
-
<!-- class="btn btn-default"-->
|
|
98
|
-
<!-- type="button"-->
|
|
99
|
-
<!-- @click="cancel">-->
|
|
100
|
-
<!-- 取消-->
|
|
101
|
-
<!-- </button>-->
|
|
102
|
-
<!-- <button-->
|
|
103
|
-
<!-- class="btn btn-primary"-->
|
|
104
|
-
<!-- type="button"-->
|
|
105
|
-
<!-- @click="config">-->
|
|
106
|
-
<!-- 确认-->
|
|
107
|
-
<!-- </button>-->
|
|
108
|
-
<!-- </footer>-->
|
|
109
|
-
<!-- </modal>-->
|
|
110
|
-
|
|
111
|
-
<modal :show.sync="control" v-ref:modal backdrop="false">
|
|
112
|
-
<header slot="modal-header" class="modal-header">
|
|
113
|
-
<button type="button" class="close" @click="close"><span>×</span></button>
|
|
114
|
-
<h4 class="modal-title">{{title}}</h4>
|
|
115
|
-
</header>
|
|
116
|
-
<article slot="modal-body" class="modal-body">
|
|
117
|
-
<div v-if="control">
|
|
118
|
-
<div class="from-group">
|
|
119
|
-
<label>小区名称</label>
|
|
120
|
-
<input-select v-model="addData.f_residential_name" :options='residential_name' :value.sync="addData.f_residential_name" :valueSingle="true"></input-select>
|
|
121
|
-
</div>
|
|
122
|
-
<div class="from-group">
|
|
123
|
-
<label>合同编号</label>
|
|
124
|
-
<input type="text" class="form-control" v-model="addData.f_contract_number">
|
|
125
|
-
</div>
|
|
126
|
-
</div>
|
|
127
|
-
</article>
|
|
128
|
-
<footer slot="modal-footer" class="modal-footer">
|
|
129
|
-
<button type="button" class="btn btn-default" @click='cancel'>取消</button>
|
|
130
|
-
<!--新增-->
|
|
131
|
-
<button v-if="control_add" type="button" class="btn btn-success" @click='config'>确认</button>
|
|
132
|
-
<!--修改-->
|
|
133
|
-
<button v-if="control_update" type="button" class="btn btn-success" @click='config_update'>修改</button>
|
|
134
|
-
</footer>
|
|
135
|
-
</modal>
|
|
136
|
-
</div>
|
|
137
|
-
</template>
|
|
138
|
-
<script>
|
|
139
|
-
import PagedListLogic from '../../../../stores/PagedListLogic'
|
|
140
|
-
import getNowDate from '../../../getNowDate.js'
|
|
141
|
-
import {HttpResetClass} from 'vue-client'
|
|
142
|
-
|
|
143
|
-
export default {
|
|
144
|
-
title: '合同编号录入',
|
|
145
|
-
data() {
|
|
146
|
-
return {
|
|
147
|
-
model: new PagedListLogic('rs/sql/getContractNo', 20, {
|
|
148
|
-
data: {
|
|
149
|
-
condition: '1 = 1'
|
|
150
|
-
}
|
|
151
|
-
}),
|
|
152
|
-
residential_name: [],
|
|
153
|
-
control: false,
|
|
154
|
-
addData: {},
|
|
155
|
-
title: '', //标题
|
|
156
|
-
control_add: false,
|
|
157
|
-
control_update: false
|
|
158
|
-
}
|
|
159
|
-
},
|
|
160
|
-
ready() {
|
|
161
|
-
this.getResidentialName()
|
|
162
|
-
this.$refs.cp.$refs.cri.search()
|
|
163
|
-
},
|
|
164
|
-
methods: {
|
|
165
|
-
async getResidentialName() {
|
|
166
|
-
// 获取小区名称
|
|
167
|
-
let http = new HttpResetClass()
|
|
168
|
-
let data = {
|
|
169
|
-
tablename: 't_area',
|
|
170
|
-
condition: " f_orgid = '" + this.$login.f.orgid + "'"
|
|
171
|
-
}
|
|
172
|
-
let res = await http.load('POST','rs/sql/applysingleTable',{data:data}, {
|
|
173
|
-
resolveMsg: null,
|
|
174
|
-
rejectMsg: '获取小区名称失败'
|
|
175
|
-
})
|
|
176
|
-
console.log("小区名称查询数据:" + JSON.stringify(res.data))
|
|
177
|
-
for (let i = 0; i < res.data.length; i++) {
|
|
178
|
-
// 项目名称
|
|
179
|
-
let data = []
|
|
180
|
-
let array = []
|
|
181
|
-
data = res.data.map(item => {
|
|
182
|
-
return item.f_residential_area;
|
|
183
|
-
})
|
|
184
|
-
for (let q = 0; q < data.length; q++) {
|
|
185
|
-
let arraydata = {
|
|
186
|
-
'label': data[q],
|
|
187
|
-
'value': data[q]
|
|
188
|
-
}
|
|
189
|
-
if (array.length != 0) {
|
|
190
|
-
for (let w = 0; w < array.length; w++) {
|
|
191
|
-
if (array[w].label == data[q]) {
|
|
192
|
-
break
|
|
193
|
-
}
|
|
194
|
-
while (w == array.length - 1) {
|
|
195
|
-
array.push(arraydata)
|
|
196
|
-
break
|
|
197
|
-
}
|
|
198
|
-
}
|
|
199
|
-
} else {
|
|
200
|
-
array.push(arraydata)
|
|
201
|
-
}
|
|
202
|
-
}
|
|
203
|
-
this.residential_name = array
|
|
204
|
-
console.log("小区名称选择框:" + this.residential_name)
|
|
205
|
-
}
|
|
206
|
-
},
|
|
207
|
-
clear() {
|
|
208
|
-
Object.keys(this.$refs.cp.$refs.cri.model).forEach((key) => {
|
|
209
|
-
this.$refs.cp.$refs.cri.model[key] = []
|
|
210
|
-
})
|
|
211
|
-
},
|
|
212
|
-
close() {
|
|
213
|
-
this.$dispatch('close')
|
|
214
|
-
},
|
|
215
|
-
// 新增合同编号
|
|
216
|
-
add() {
|
|
217
|
-
this.title = '新增'
|
|
218
|
-
this.control = true
|
|
219
|
-
this.control_add = true
|
|
220
|
-
},
|
|
221
|
-
cancel() {
|
|
222
|
-
this.addData = {}
|
|
223
|
-
this.control = false
|
|
224
|
-
this.control_add = false
|
|
225
|
-
this.control_update = false
|
|
226
|
-
},
|
|
227
|
-
async config() {
|
|
228
|
-
let http = new HttpResetClass()
|
|
229
|
-
// 组织数据
|
|
230
|
-
if (this.addData.f_residential_name && this.addData.f_contract_number) {
|
|
231
|
-
this.addData.f_operator = this.$login.f.name
|
|
232
|
-
this.addData.f_operation_date = this.getNowFormatDate()
|
|
233
|
-
this.addData.f_company = this.$login.f.orgs
|
|
234
|
-
let data = {
|
|
235
|
-
tablename: 't_contract_no',
|
|
236
|
-
parameters: this.addData
|
|
237
|
-
}
|
|
238
|
-
let res = await http.load('POST','rs/logic/apply_save',{data: data}, {
|
|
239
|
-
resolveMsg: null,
|
|
240
|
-
rejectMsg: '保存合同编号失败'
|
|
241
|
-
})
|
|
242
|
-
console.log("保存合同编号返回数据:" + JSON.stringify(res))
|
|
243
|
-
if (res.data.id) {
|
|
244
|
-
this.control = false
|
|
245
|
-
this.control_add = false
|
|
246
|
-
this.$refs.cp.$refs.cri.search()
|
|
247
|
-
this.addData = {}
|
|
248
|
-
this.$showMessage("添加成功")
|
|
249
|
-
}
|
|
250
|
-
} else if (!this.addData.f_residential_name && this.addData.f_contract_number) {
|
|
251
|
-
this.$showMessage("请选择小区名称!")
|
|
252
|
-
} else if (this.addData.f_residential_name && !this.addData.f_contract_number) {
|
|
253
|
-
this.$showMessage("请输入合同编号!")
|
|
254
|
-
}
|
|
255
|
-
},
|
|
256
|
-
async config_update() {
|
|
257
|
-
let http = new HttpResetClass()
|
|
258
|
-
// 组织数据
|
|
259
|
-
if (this.addData.f_contract_number) {
|
|
260
|
-
let data = {
|
|
261
|
-
tablename: 't_contract_no',
|
|
262
|
-
parameters: this.addData
|
|
263
|
-
}
|
|
264
|
-
let res = await http.load('POST','rs/logic/apply_save',{data: data}, {
|
|
265
|
-
resolveMsg: null,
|
|
266
|
-
rejectMsg: '更改合同编号失败'
|
|
267
|
-
})
|
|
268
|
-
console.log("更改合同编号返回数据:" + JSON.stringify(res))
|
|
269
|
-
if (res.data.id) {
|
|
270
|
-
this.control = false
|
|
271
|
-
this.control_update = false
|
|
272
|
-
this.$refs.cp.$refs.cri.search()
|
|
273
|
-
this.addData = {}
|
|
274
|
-
this.$showMessage("修改成功")
|
|
275
|
-
}
|
|
276
|
-
} else if (!this.addData.f_contract_number) {
|
|
277
|
-
this.$showMessage("请输入合同编号!")
|
|
278
|
-
}
|
|
279
|
-
|
|
280
|
-
},
|
|
281
|
-
update(row) {
|
|
282
|
-
//更改合同编号
|
|
283
|
-
this.title = '修改'
|
|
284
|
-
this.control = true
|
|
285
|
-
this.control_update = true
|
|
286
|
-
this.addData.id = row.id
|
|
287
|
-
this.addData.f_residential_name = row.f_residential_name
|
|
288
|
-
this.addData.f_contract_number = row.f_contract_number
|
|
289
|
-
},
|
|
290
|
-
getfield() {
|
|
291
|
-
let report = {
|
|
292
|
-
'f_entry_name': '项目名称',
|
|
293
|
-
'f_entry_num': '项目编号',
|
|
294
|
-
'defname': '流程状态',
|
|
295
|
-
'f_gasproperties': '用气性质',
|
|
296
|
-
'f_user_name': '用户名称',
|
|
297
|
-
'f_user_phone': '用户电话',
|
|
298
|
-
'f_address': '用户地址',
|
|
299
|
-
'f_apply_type': '报建类型',
|
|
300
|
-
'f_contract_money': '应交金额',
|
|
301
|
-
'f_charge_money': '实收金额',
|
|
302
|
-
'f_payment_method': '付款方式',
|
|
303
|
-
'f_charge_collectors': '收费员',
|
|
304
|
-
'f_charge_date': '收费日期'
|
|
305
|
-
}
|
|
306
|
-
return report
|
|
307
|
-
},
|
|
308
|
-
/**
|
|
309
|
-
* 获取当前时间
|
|
310
|
-
* 格式YYYY-MM-DD
|
|
311
|
-
*/
|
|
312
|
-
getNowFormatDate() {
|
|
313
|
-
let date = new Date();
|
|
314
|
-
let seperator1 = "-";
|
|
315
|
-
let year = date.getFullYear();
|
|
316
|
-
let month = date.getMonth() + 1;
|
|
317
|
-
let strDate = date.getDate();
|
|
318
|
-
if (month >= 1 && month <= 9) {
|
|
319
|
-
month = "0" + month;
|
|
320
|
-
}
|
|
321
|
-
if (strDate >= 0 && strDate <= 9) {
|
|
322
|
-
strDate = "0" + strDate;
|
|
323
|
-
}
|
|
324
|
-
let currentdate = year + seperator1 + month + seperator1 + strDate;
|
|
325
|
-
return currentdate;
|
|
326
|
-
}
|
|
327
|
-
},
|
|
328
|
-
computed: {
|
|
329
|
-
date() {
|
|
330
|
-
return getNowDate()
|
|
331
|
-
}
|
|
332
|
-
},
|
|
333
|
-
watch: {
|
|
334
|
-
|
|
335
|
-
}
|
|
336
|
-
}
|
|
337
|
-
</script>
|
|
338
|
-
<style scoped>
|
|
339
|
-
.operate{
|
|
340
|
-
text-align: right;
|
|
341
|
-
display: flex;
|
|
342
|
-
align-items: center; /*子元素中线居中*/
|
|
343
|
-
justify-content: flex-end; /*子元素靠右*/
|
|
344
|
-
margin-top: 7px;
|
|
345
|
-
}
|
|
346
|
-
.head-but{
|
|
347
|
-
margin-left: 5px;
|
|
348
|
-
height: 34px;
|
|
349
|
-
background-color: #6aa6e2;
|
|
350
|
-
border-radius: 4px;
|
|
351
|
-
font-family: PingFang;
|
|
352
|
-
color: #ffffff;
|
|
353
|
-
}
|
|
354
|
-
</style>
|
|
1
|
+
<template>
|
|
2
|
+
<div>
|
|
3
|
+
<criteria-paged :model="model" v-ref:cp>
|
|
4
|
+
<criteria partial='criteria' @condition-changed='search' v-ref:cri>
|
|
5
|
+
<div novalidate class="form-horizontal select-overspread container-fluid auto" partial>
|
|
6
|
+
<div class="row">
|
|
7
|
+
<div class="form-group col-sm-4">
|
|
8
|
+
<label class="font_normal_body">小区名称:</label>
|
|
9
|
+
<v-select v-model="model.f_residential_name"
|
|
10
|
+
placeholder='小区名称'
|
|
11
|
+
:options="$parent.$parent.residential_name"
|
|
12
|
+
condition=" f_residential_name = '{}'"
|
|
13
|
+
:value.sync="model.f_residential_name" close-on-select>
|
|
14
|
+
</v-select>
|
|
15
|
+
</div>
|
|
16
|
+
<div class="form-group col-sm-3">
|
|
17
|
+
<label class="font_normal_body">合同编号:</label>
|
|
18
|
+
<input type="text" class="input_search" placeholder='合同编号' v-model="model.f_contract_number"
|
|
19
|
+
v-on:keyup.enter="search"
|
|
20
|
+
condition=" f_contract_number like '%{}%'">
|
|
21
|
+
</div>
|
|
22
|
+
<div class="form-group col-sm-2 operate">
|
|
23
|
+
<button type="button" class="btn btn-info head-but" @click="search(),$parent.$parent.close()" v-el:cx>查询</button>
|
|
24
|
+
<button type="button" class="btn btn-info head-but" @click="$parent.$parent.clear()" v-el:cx>清空</button>
|
|
25
|
+
<button type="button" class="btn btn-info head-but" @click="$parent.$parent.add()" v-el:cx>新增</button>
|
|
26
|
+
</div>
|
|
27
|
+
</div>
|
|
28
|
+
</div>
|
|
29
|
+
</criteria>
|
|
30
|
+
<data-grid :model="model" partial='list' v-ref:grid class="list_area table_sy">
|
|
31
|
+
<template partial='head'>
|
|
32
|
+
<tr>
|
|
33
|
+
<th>序号</th>
|
|
34
|
+
<th>小区名称</th>
|
|
35
|
+
<th>合同编号</th>
|
|
36
|
+
<th>操作人</th>
|
|
37
|
+
<th>操作时间</th>
|
|
38
|
+
<th>操作</th>
|
|
39
|
+
</tr>
|
|
40
|
+
</template>
|
|
41
|
+
<template partial='body'>
|
|
42
|
+
<tr>
|
|
43
|
+
<td style="text-align: center;">
|
|
44
|
+
<nobr>{{$index+1}}</nobr>
|
|
45
|
+
</td>
|
|
46
|
+
<td style="text-align: center;">
|
|
47
|
+
<nobr>{{row.f_residential_name}}</nobr>
|
|
48
|
+
</td>
|
|
49
|
+
<td style="text-align: center;">
|
|
50
|
+
<nobr>{{row.f_contract_number}}</nobr>
|
|
51
|
+
</td>
|
|
52
|
+
<td style="text-align: center;">
|
|
53
|
+
<nobr>{{row.f_operator}}</nobr>
|
|
54
|
+
</td>
|
|
55
|
+
<td style="text-align: center;">
|
|
56
|
+
<nobr>{{row.f_operation_date}}</nobr>
|
|
57
|
+
</td>
|
|
58
|
+
<td style="text-align: center;">
|
|
59
|
+
<nobr>
|
|
60
|
+
<button type="button" class="btn btn-info head-but" @click="$parent.$parent.$parent.update(row)" v-el:cx>修改</button>
|
|
61
|
+
</nobr>
|
|
62
|
+
</td>
|
|
63
|
+
</tr>
|
|
64
|
+
</template>
|
|
65
|
+
</data-grid>
|
|
66
|
+
</criteria-paged>
|
|
67
|
+
<!-- 添加新的合同编号 -->
|
|
68
|
+
<!-- <modal-->
|
|
69
|
+
<!-- :show.sync="control"-->
|
|
70
|
+
<!-- v-ref:modal-->
|
|
71
|
+
<!-- backdrop="false"-->
|
|
72
|
+
<!-- title="新增"-->
|
|
73
|
+
<!-- >-->
|
|
74
|
+
<!-- <article class="form-horizontal" slot="modal-body">-->
|
|
75
|
+
<!-- <div class="form-group">-->
|
|
76
|
+
<!-- <label class="col-sm-3 control-label">小区名称:</label>-->
|
|
77
|
+
<!-- <div class="col-sm-9">-->
|
|
78
|
+
<!-- <v-select-->
|
|
79
|
+
<!-- v-model="addData.f_residential_name"-->
|
|
80
|
+
<!-- :value.sync="addData.f_residential_name"-->
|
|
81
|
+
<!-- :options='residential_name'-->
|
|
82
|
+
<!-- placeholder="请选择"-->
|
|
83
|
+
<!-- :value-single="true"-->
|
|
84
|
+
<!-- :search="false"-->
|
|
85
|
+
<!-- close-on-select ></v-select>-->
|
|
86
|
+
<!-- </div>-->
|
|
87
|
+
<!-- </div>-->
|
|
88
|
+
<!-- <div class="form-group">-->
|
|
89
|
+
<!-- <label class="col-sm-3 control-label">合同编号:</label>-->
|
|
90
|
+
<!-- <div class="col-sm-9">-->
|
|
91
|
+
<!-- <input type="text" class="form-control" placeholder="请输入" v-model="addData.f_contract_number">-->
|
|
92
|
+
<!-- </div>-->
|
|
93
|
+
<!-- </div>-->
|
|
94
|
+
<!-- </article>-->
|
|
95
|
+
<!-- <footer slot="modal-footer" class="modal-footer">-->
|
|
96
|
+
<!-- <button-->
|
|
97
|
+
<!-- class="btn btn-default"-->
|
|
98
|
+
<!-- type="button"-->
|
|
99
|
+
<!-- @click="cancel">-->
|
|
100
|
+
<!-- 取消-->
|
|
101
|
+
<!-- </button>-->
|
|
102
|
+
<!-- <button-->
|
|
103
|
+
<!-- class="btn btn-primary"-->
|
|
104
|
+
<!-- type="button"-->
|
|
105
|
+
<!-- @click="config">-->
|
|
106
|
+
<!-- 确认-->
|
|
107
|
+
<!-- </button>-->
|
|
108
|
+
<!-- </footer>-->
|
|
109
|
+
<!-- </modal>-->
|
|
110
|
+
|
|
111
|
+
<modal :show.sync="control" v-ref:modal backdrop="false">
|
|
112
|
+
<header slot="modal-header" class="modal-header">
|
|
113
|
+
<button type="button" class="close" @click="close"><span>×</span></button>
|
|
114
|
+
<h4 class="modal-title">{{title}}</h4>
|
|
115
|
+
</header>
|
|
116
|
+
<article slot="modal-body" class="modal-body">
|
|
117
|
+
<div v-if="control">
|
|
118
|
+
<div class="from-group">
|
|
119
|
+
<label>小区名称</label>
|
|
120
|
+
<input-select v-model="addData.f_residential_name" :options='residential_name' :value.sync="addData.f_residential_name" :valueSingle="true"></input-select>
|
|
121
|
+
</div>
|
|
122
|
+
<div class="from-group">
|
|
123
|
+
<label>合同编号</label>
|
|
124
|
+
<input type="text" class="form-control" v-model="addData.f_contract_number">
|
|
125
|
+
</div>
|
|
126
|
+
</div>
|
|
127
|
+
</article>
|
|
128
|
+
<footer slot="modal-footer" class="modal-footer">
|
|
129
|
+
<button type="button" class="btn btn-default" @click='cancel'>取消</button>
|
|
130
|
+
<!--新增-->
|
|
131
|
+
<button v-if="control_add" type="button" class="btn btn-success" @click='config'>确认</button>
|
|
132
|
+
<!--修改-->
|
|
133
|
+
<button v-if="control_update" type="button" class="btn btn-success" @click='config_update'>修改</button>
|
|
134
|
+
</footer>
|
|
135
|
+
</modal>
|
|
136
|
+
</div>
|
|
137
|
+
</template>
|
|
138
|
+
<script>
|
|
139
|
+
import PagedListLogic from '../../../../stores/PagedListLogic'
|
|
140
|
+
import getNowDate from '../../../getNowDate.js'
|
|
141
|
+
import {HttpResetClass} from 'vue-client'
|
|
142
|
+
|
|
143
|
+
export default {
|
|
144
|
+
title: '合同编号录入',
|
|
145
|
+
data() {
|
|
146
|
+
return {
|
|
147
|
+
model: new PagedListLogic('rs/sql/getContractNo', 20, {
|
|
148
|
+
data: {
|
|
149
|
+
condition: '1 = 1'
|
|
150
|
+
}
|
|
151
|
+
}),
|
|
152
|
+
residential_name: [],
|
|
153
|
+
control: false,
|
|
154
|
+
addData: {},
|
|
155
|
+
title: '', //标题
|
|
156
|
+
control_add: false,
|
|
157
|
+
control_update: false
|
|
158
|
+
}
|
|
159
|
+
},
|
|
160
|
+
ready() {
|
|
161
|
+
this.getResidentialName()
|
|
162
|
+
this.$refs.cp.$refs.cri.search()
|
|
163
|
+
},
|
|
164
|
+
methods: {
|
|
165
|
+
async getResidentialName() {
|
|
166
|
+
// 获取小区名称
|
|
167
|
+
let http = new HttpResetClass()
|
|
168
|
+
let data = {
|
|
169
|
+
tablename: 't_area',
|
|
170
|
+
condition: " f_orgid = '" + this.$login.f.orgid + "'"
|
|
171
|
+
}
|
|
172
|
+
let res = await http.load('POST','rs/sql/applysingleTable',{data:data}, {
|
|
173
|
+
resolveMsg: null,
|
|
174
|
+
rejectMsg: '获取小区名称失败'
|
|
175
|
+
})
|
|
176
|
+
console.log("小区名称查询数据:" + JSON.stringify(res.data))
|
|
177
|
+
for (let i = 0; i < res.data.length; i++) {
|
|
178
|
+
// 项目名称
|
|
179
|
+
let data = []
|
|
180
|
+
let array = []
|
|
181
|
+
data = res.data.map(item => {
|
|
182
|
+
return item.f_residential_area;
|
|
183
|
+
})
|
|
184
|
+
for (let q = 0; q < data.length; q++) {
|
|
185
|
+
let arraydata = {
|
|
186
|
+
'label': data[q],
|
|
187
|
+
'value': data[q]
|
|
188
|
+
}
|
|
189
|
+
if (array.length != 0) {
|
|
190
|
+
for (let w = 0; w < array.length; w++) {
|
|
191
|
+
if (array[w].label == data[q]) {
|
|
192
|
+
break
|
|
193
|
+
}
|
|
194
|
+
while (w == array.length - 1) {
|
|
195
|
+
array.push(arraydata)
|
|
196
|
+
break
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
} else {
|
|
200
|
+
array.push(arraydata)
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
this.residential_name = array
|
|
204
|
+
console.log("小区名称选择框:" + this.residential_name)
|
|
205
|
+
}
|
|
206
|
+
},
|
|
207
|
+
clear() {
|
|
208
|
+
Object.keys(this.$refs.cp.$refs.cri.model).forEach((key) => {
|
|
209
|
+
this.$refs.cp.$refs.cri.model[key] = []
|
|
210
|
+
})
|
|
211
|
+
},
|
|
212
|
+
close() {
|
|
213
|
+
this.$dispatch('close')
|
|
214
|
+
},
|
|
215
|
+
// 新增合同编号
|
|
216
|
+
add() {
|
|
217
|
+
this.title = '新增'
|
|
218
|
+
this.control = true
|
|
219
|
+
this.control_add = true
|
|
220
|
+
},
|
|
221
|
+
cancel() {
|
|
222
|
+
this.addData = {}
|
|
223
|
+
this.control = false
|
|
224
|
+
this.control_add = false
|
|
225
|
+
this.control_update = false
|
|
226
|
+
},
|
|
227
|
+
async config() {
|
|
228
|
+
let http = new HttpResetClass()
|
|
229
|
+
// 组织数据
|
|
230
|
+
if (this.addData.f_residential_name && this.addData.f_contract_number) {
|
|
231
|
+
this.addData.f_operator = this.$login.f.name
|
|
232
|
+
this.addData.f_operation_date = this.getNowFormatDate()
|
|
233
|
+
this.addData.f_company = this.$login.f.orgs
|
|
234
|
+
let data = {
|
|
235
|
+
tablename: 't_contract_no',
|
|
236
|
+
parameters: this.addData
|
|
237
|
+
}
|
|
238
|
+
let res = await http.load('POST','rs/logic/apply_save',{data: data}, {
|
|
239
|
+
resolveMsg: null,
|
|
240
|
+
rejectMsg: '保存合同编号失败'
|
|
241
|
+
})
|
|
242
|
+
console.log("保存合同编号返回数据:" + JSON.stringify(res))
|
|
243
|
+
if (res.data.id) {
|
|
244
|
+
this.control = false
|
|
245
|
+
this.control_add = false
|
|
246
|
+
this.$refs.cp.$refs.cri.search()
|
|
247
|
+
this.addData = {}
|
|
248
|
+
this.$showMessage("添加成功")
|
|
249
|
+
}
|
|
250
|
+
} else if (!this.addData.f_residential_name && this.addData.f_contract_number) {
|
|
251
|
+
this.$showMessage("请选择小区名称!")
|
|
252
|
+
} else if (this.addData.f_residential_name && !this.addData.f_contract_number) {
|
|
253
|
+
this.$showMessage("请输入合同编号!")
|
|
254
|
+
}
|
|
255
|
+
},
|
|
256
|
+
async config_update() {
|
|
257
|
+
let http = new HttpResetClass()
|
|
258
|
+
// 组织数据
|
|
259
|
+
if (this.addData.f_contract_number) {
|
|
260
|
+
let data = {
|
|
261
|
+
tablename: 't_contract_no',
|
|
262
|
+
parameters: this.addData
|
|
263
|
+
}
|
|
264
|
+
let res = await http.load('POST','rs/logic/apply_save',{data: data}, {
|
|
265
|
+
resolveMsg: null,
|
|
266
|
+
rejectMsg: '更改合同编号失败'
|
|
267
|
+
})
|
|
268
|
+
console.log("更改合同编号返回数据:" + JSON.stringify(res))
|
|
269
|
+
if (res.data.id) {
|
|
270
|
+
this.control = false
|
|
271
|
+
this.control_update = false
|
|
272
|
+
this.$refs.cp.$refs.cri.search()
|
|
273
|
+
this.addData = {}
|
|
274
|
+
this.$showMessage("修改成功")
|
|
275
|
+
}
|
|
276
|
+
} else if (!this.addData.f_contract_number) {
|
|
277
|
+
this.$showMessage("请输入合同编号!")
|
|
278
|
+
}
|
|
279
|
+
|
|
280
|
+
},
|
|
281
|
+
update(row) {
|
|
282
|
+
//更改合同编号
|
|
283
|
+
this.title = '修改'
|
|
284
|
+
this.control = true
|
|
285
|
+
this.control_update = true
|
|
286
|
+
this.addData.id = row.id
|
|
287
|
+
this.addData.f_residential_name = row.f_residential_name
|
|
288
|
+
this.addData.f_contract_number = row.f_contract_number
|
|
289
|
+
},
|
|
290
|
+
getfield() {
|
|
291
|
+
let report = {
|
|
292
|
+
'f_entry_name': '项目名称',
|
|
293
|
+
'f_entry_num': '项目编号',
|
|
294
|
+
'defname': '流程状态',
|
|
295
|
+
'f_gasproperties': '用气性质',
|
|
296
|
+
'f_user_name': '用户名称',
|
|
297
|
+
'f_user_phone': '用户电话',
|
|
298
|
+
'f_address': '用户地址',
|
|
299
|
+
'f_apply_type': '报建类型',
|
|
300
|
+
'f_contract_money': '应交金额',
|
|
301
|
+
'f_charge_money': '实收金额',
|
|
302
|
+
'f_payment_method': '付款方式',
|
|
303
|
+
'f_charge_collectors': '收费员',
|
|
304
|
+
'f_charge_date': '收费日期'
|
|
305
|
+
}
|
|
306
|
+
return report
|
|
307
|
+
},
|
|
308
|
+
/**
|
|
309
|
+
* 获取当前时间
|
|
310
|
+
* 格式YYYY-MM-DD
|
|
311
|
+
*/
|
|
312
|
+
getNowFormatDate() {
|
|
313
|
+
let date = new Date();
|
|
314
|
+
let seperator1 = "-";
|
|
315
|
+
let year = date.getFullYear();
|
|
316
|
+
let month = date.getMonth() + 1;
|
|
317
|
+
let strDate = date.getDate();
|
|
318
|
+
if (month >= 1 && month <= 9) {
|
|
319
|
+
month = "0" + month;
|
|
320
|
+
}
|
|
321
|
+
if (strDate >= 0 && strDate <= 9) {
|
|
322
|
+
strDate = "0" + strDate;
|
|
323
|
+
}
|
|
324
|
+
let currentdate = year + seperator1 + month + seperator1 + strDate;
|
|
325
|
+
return currentdate;
|
|
326
|
+
}
|
|
327
|
+
},
|
|
328
|
+
computed: {
|
|
329
|
+
date() {
|
|
330
|
+
return getNowDate()
|
|
331
|
+
}
|
|
332
|
+
},
|
|
333
|
+
watch: {
|
|
334
|
+
|
|
335
|
+
}
|
|
336
|
+
}
|
|
337
|
+
</script>
|
|
338
|
+
<style scoped>
|
|
339
|
+
.operate{
|
|
340
|
+
text-align: right;
|
|
341
|
+
display: flex;
|
|
342
|
+
align-items: center; /*子元素中线居中*/
|
|
343
|
+
justify-content: flex-end; /*子元素靠右*/
|
|
344
|
+
margin-top: 7px;
|
|
345
|
+
}
|
|
346
|
+
.head-but{
|
|
347
|
+
margin-left: 5px;
|
|
348
|
+
height: 34px;
|
|
349
|
+
background-color: #6aa6e2;
|
|
350
|
+
border-radius: 4px;
|
|
351
|
+
font-family: PingFang;
|
|
352
|
+
color: #ffffff;
|
|
353
|
+
}
|
|
354
|
+
</style>
|