apply-clients 3.0.5-2 → 3.0.5-21
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 +5 -4
- package/src/App.vue +3 -2
- package/src/apply.js +2 -0
- package/src/components/product/Function/InstallFunction.vue +1 -1
- package/src/components/product/Function/InstallInfoSelect.vue +243 -221
- package/src/components/product/Process/ExplorationSelect.vue +62 -21
- package/src/components/product/Process/ExplorationUser.vue +200 -193
- package/src/components/product/Process/ProcessInfo/history_control.vue +139 -139
- package/src/components/product/Process/Processes/ApplyUpload.vue +287 -279
- package/src/components/product/Process/Processes/CustomerCostPlan.vue +214 -0
- package/src/components/product/Process/Processes/Service/ServiceControl.vue +73 -7
- package/src/components/product/ServiceView.vue +12 -1
- package/src/components/product/Supervisory/SupervisoryControl.vue +196 -190
- package/src/components/product/Supervisory/SupervisoryList.vue +361 -331
- package/dist.zip +0 -0
|
@@ -0,0 +1,214 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<div style="text-align: center;" v-if="refresh">
|
|
3
|
+
<div class="span" style="margin-top: 10px;height: auto;min-height: 200px;width: 92%">
|
|
4
|
+
<partial-view v-ref:single-load>
|
|
5
|
+
<data-grid :model="model" v-ref:grid>
|
|
6
|
+
<template partial='head'>
|
|
7
|
+
<tr>
|
|
8
|
+
<th>序号</th>
|
|
9
|
+
<th>名称</th>
|
|
10
|
+
<th>金额(元)</th>
|
|
11
|
+
<th>备注</th>
|
|
12
|
+
<th v-if="$parent.$parent.$parent.mark === 0">
|
|
13
|
+
<button type="button" name="button" class="btn btn-info" @click="$parent.$parent.$parent.add()">新增收费</button>
|
|
14
|
+
</th>
|
|
15
|
+
</tr>
|
|
16
|
+
</template>
|
|
17
|
+
<template partial='body'>
|
|
18
|
+
<td style="text-align: center">{{ $index + 1 }}</td>
|
|
19
|
+
<td style="text-align: center">{{ row.f_costplan_name }}</td>
|
|
20
|
+
<td style="text-align: center">{{ row.f_fee }}</td>
|
|
21
|
+
<td style="text-align: center">{{ row.f_remarks }}</td>
|
|
22
|
+
<td class="flex-around" v-if="$parent.$parent.$parent.mark === 0">
|
|
23
|
+
<button type="button" name="button" class="btn btn-link"
|
|
24
|
+
@click.stop="$parent.$parent.$parent.modifyParam(row)">修改
|
|
25
|
+
</button>
|
|
26
|
+
<button type="button" name="button" class="btn btn-link"
|
|
27
|
+
@click.stop="$parent.$parent.$parent.deleteItem(row)">删除
|
|
28
|
+
</button>
|
|
29
|
+
</td>
|
|
30
|
+
</template>
|
|
31
|
+
</data-grid>
|
|
32
|
+
</partial-view>
|
|
33
|
+
<span>合计:{{f_cost_sum}}元</span>
|
|
34
|
+
</div>
|
|
35
|
+
</div>
|
|
36
|
+
<modal :show.sync="showpay" v-ref:modal backdrop="false">
|
|
37
|
+
<header slot="modal-header" class="modal-header">
|
|
38
|
+
<button type="button" class="close" @click="close"><span>×</span></button>
|
|
39
|
+
<h4 class="modal-title">新增成本计划</h4>
|
|
40
|
+
</header>
|
|
41
|
+
<article slot="modal-body" class="modal-body">
|
|
42
|
+
<div class="from-group">
|
|
43
|
+
<label>名称</label>
|
|
44
|
+
<input type="text" class="form-control" v-model="addItem.f_costplan_name">
|
|
45
|
+
</div>
|
|
46
|
+
<div class="from-group">
|
|
47
|
+
<label>金额(元)</label>
|
|
48
|
+
<input type="number" class="form-control" v-model="addItem.f_fee" >
|
|
49
|
+
</div>
|
|
50
|
+
<div class="from-group">
|
|
51
|
+
<label>备注</label>
|
|
52
|
+
<textarea type="text" rows="2" class="form-control" v-model="addItem.f_remarks"></textarea>
|
|
53
|
+
</div>
|
|
54
|
+
</article>
|
|
55
|
+
<footer slot="modal-footer" class="modal-footer">
|
|
56
|
+
<button v-show="showpay" type="button" class="btn btn-default" @click='close'>取消</button>
|
|
57
|
+
<button v-show="showpay" type="button" class="btn btn-success" @click='addpaydipetail'>确认</button>
|
|
58
|
+
</footer>
|
|
59
|
+
</modal>
|
|
60
|
+
</template>
|
|
61
|
+
|
|
62
|
+
<script>
|
|
63
|
+
import {HttpResetClass} from 'vue-client'
|
|
64
|
+
import $ from 'jquery'
|
|
65
|
+
|
|
66
|
+
export default {
|
|
67
|
+
title: '合同签订',
|
|
68
|
+
data () {
|
|
69
|
+
return {
|
|
70
|
+
refresh: true,
|
|
71
|
+
showpay: false, // 新增成本计划开关
|
|
72
|
+
model: {
|
|
73
|
+
rows: [] // 材料成本数据数组
|
|
74
|
+
},
|
|
75
|
+
addItem:{},
|
|
76
|
+
f_cost_sum:0,
|
|
77
|
+
// costplan:['施工成本','材料成本','设计费','监理费','管理费','税金']
|
|
78
|
+
}
|
|
79
|
+
},
|
|
80
|
+
props: {
|
|
81
|
+
selectdata: {
|
|
82
|
+
type: Object
|
|
83
|
+
},
|
|
84
|
+
mark: {
|
|
85
|
+
type: Number,
|
|
86
|
+
default: 0
|
|
87
|
+
}
|
|
88
|
+
},
|
|
89
|
+
ready () {
|
|
90
|
+
this.load()
|
|
91
|
+
},
|
|
92
|
+
methods: {
|
|
93
|
+
async load () {
|
|
94
|
+
let http = new HttpResetClass()
|
|
95
|
+
let data = {
|
|
96
|
+
tablename: 't_cost_plan',
|
|
97
|
+
condition: `f_process_id = '${this.selectdata.f_process_id}'`
|
|
98
|
+
}
|
|
99
|
+
let res = await http.load('POST', 'rs/sql/singleTable', {data: data}, {resolveMsg: null, rejectMsg: '获取数据失败'})
|
|
100
|
+
.then((res) => {
|
|
101
|
+
this.model.rows = res.data
|
|
102
|
+
this.f_cost_sum=0
|
|
103
|
+
for (var i=0;i<this.model.rows.length;i++){
|
|
104
|
+
this.f_cost_sum += Number(this.model.rows[i].f_fee)
|
|
105
|
+
}
|
|
106
|
+
})
|
|
107
|
+
},
|
|
108
|
+
/*// 初始化成本计划
|
|
109
|
+
async fcostplan(){
|
|
110
|
+
let http = new HttpResetClass()
|
|
111
|
+
let data = {
|
|
112
|
+
tablename: 't_cost_plan',
|
|
113
|
+
condition: `f_process_id = '${this.selectdata.f_process_id}'`
|
|
114
|
+
}
|
|
115
|
+
let number = await http.load("post",'rs/sql/checkcostplan', {data: data},{resolveMsg: null, rejectMsg: '获取数据失败'})
|
|
116
|
+
if (number.data[0].num =='0'){
|
|
117
|
+
for (let i=0;i<this.costplan.length;i++){
|
|
118
|
+
this.addItem.f_costplan_name = this.costplan[i]
|
|
119
|
+
if (this.costplan[i]=='材料成本'){
|
|
120
|
+
let data1 = {
|
|
121
|
+
applyNum: `mb.f_apply_num='${this.selectdata.f_apply_num}'`
|
|
122
|
+
}
|
|
123
|
+
await http.load('POST', 'rs/logic/material_cost', {data: data1}, {
|
|
124
|
+
resolveMsg: null,
|
|
125
|
+
rejectMsg: 'material_cost失败'
|
|
126
|
+
}).then((res) => {
|
|
127
|
+
if (res.data[0]['']=='null'||res.data[0]['']==null){
|
|
128
|
+
this.addItem.f_fee = 0
|
|
129
|
+
}else {
|
|
130
|
+
this.addItem.f_fee = res.data[0]['']
|
|
131
|
+
}
|
|
132
|
+
})
|
|
133
|
+
}else {
|
|
134
|
+
this.addItem.f_fee = 0
|
|
135
|
+
}
|
|
136
|
+
this.addItem.f_process_id = this.selectdata.f_process_id
|
|
137
|
+
this.addItem.f_apply_num = this.selectdata.f_apply_num
|
|
138
|
+
this.addItem.f_operator = this.$login.f.name
|
|
139
|
+
this.addItem.f_department = this.$login.f.f_parentname
|
|
140
|
+
this.addItem.f_filiale = this.$login.f.f_fengongsi
|
|
141
|
+
await http.load('POST', 'rs/logic/addcostplan', this.addItem, {resolveMsg:null, rejectMsg: '保存失败'})
|
|
142
|
+
}
|
|
143
|
+
this.load()
|
|
144
|
+
}
|
|
145
|
+
},*/
|
|
146
|
+
// 关闭模态框
|
|
147
|
+
close () {
|
|
148
|
+
this.showpay = false
|
|
149
|
+
this.addItem = null
|
|
150
|
+
},
|
|
151
|
+
// 模态框确定按钮保存数据
|
|
152
|
+
async addpaydipetail () {
|
|
153
|
+
let http = new HttpResetClass()
|
|
154
|
+
this.addItem.f_process_id = this.selectdata.f_process_id
|
|
155
|
+
this.addItem.f_apply_num = this.selectdata.f_apply_num
|
|
156
|
+
this.addItem.f_operator = this.$login.f.name
|
|
157
|
+
this.addItem.f_department = this.$login.f.f_parentname
|
|
158
|
+
this.addItem.f_filiale = this.$login.f.f_fengongsi
|
|
159
|
+
await http.load('POST', 'rs/logic/addcostplan', this.addItem, {resolveMsg: '保存成功', rejectMsg: '保存失败'})
|
|
160
|
+
.then((res) => {
|
|
161
|
+
this.close()
|
|
162
|
+
this.load()
|
|
163
|
+
})
|
|
164
|
+
},
|
|
165
|
+
deleteItem (row) {
|
|
166
|
+
let http = new HttpResetClass()
|
|
167
|
+
http.load('POST','rs/logic/delectcostplan', {data: row}, {resolveMsg: null, rejectMsg: '删除失败'})
|
|
168
|
+
.then((res) => {
|
|
169
|
+
this.load()
|
|
170
|
+
})
|
|
171
|
+
},
|
|
172
|
+
//新增收费 开启模态框
|
|
173
|
+
add () {
|
|
174
|
+
this.showpay = true
|
|
175
|
+
},
|
|
176
|
+
modifyParam(row){
|
|
177
|
+
this.addItem=row
|
|
178
|
+
this.showpay = true
|
|
179
|
+
},
|
|
180
|
+
/*async updateapply(){
|
|
181
|
+
let data={
|
|
182
|
+
id:this.selectdata.id,
|
|
183
|
+
f_cost_sum:this.f_cost_sum
|
|
184
|
+
}
|
|
185
|
+
this.$resetpost('rs/entity/t_apply', data,{resolveMsg: null, rejectMsg: '提交失败'})
|
|
186
|
+
}*/
|
|
187
|
+
},
|
|
188
|
+
watch: {}
|
|
189
|
+
}
|
|
190
|
+
|
|
191
|
+
</script>
|
|
192
|
+
|
|
193
|
+
|
|
194
|
+
<style scoped>
|
|
195
|
+
table {
|
|
196
|
+
border-collapse: collapse;
|
|
197
|
+
border-spacing: 0;
|
|
198
|
+
width: 100%;
|
|
199
|
+
}
|
|
200
|
+
|
|
201
|
+
table, td, th {
|
|
202
|
+
padding: 0;
|
|
203
|
+
border: 1px solid black
|
|
204
|
+
}
|
|
205
|
+
|
|
206
|
+
tr {
|
|
207
|
+
height: 34px;
|
|
208
|
+
}
|
|
209
|
+
|
|
210
|
+
#DynamicForm input {
|
|
211
|
+
text-align: center;
|
|
212
|
+
}
|
|
213
|
+
|
|
214
|
+
</style>
|
|
@@ -467,7 +467,7 @@
|
|
|
467
467
|
} else {
|
|
468
468
|
data = {
|
|
469
469
|
tablename: this.data.onetomany[index].tables[0],
|
|
470
|
-
condition: `
|
|
470
|
+
condition: `f_process_id = '${this.selectdata.f_process_id}'`
|
|
471
471
|
}
|
|
472
472
|
}
|
|
473
473
|
let res = await http.load('POST', 'rs/sql/singleTable', {data: data}, {
|
|
@@ -510,6 +510,24 @@
|
|
|
510
510
|
}
|
|
511
511
|
// 初始化 fields
|
|
512
512
|
for (let i = 0; i < this.data.fields.length; i++) {
|
|
513
|
+
// 下发人 options 处理,options初始化
|
|
514
|
+
if (this.data.fields[i].source) {
|
|
515
|
+
let http = new HttpResetClass()
|
|
516
|
+
await http.load('POST', 'rs/search', `{"source":${this.data.fields[i].source},"userid":"${this.$login.f.id}"}`, {
|
|
517
|
+
resolveMsg: null,
|
|
518
|
+
rejectMsg: null
|
|
519
|
+
}).then((res) => {
|
|
520
|
+
console.log("search查询部门下所有人:", res.data)
|
|
521
|
+
let array = []
|
|
522
|
+
for (let k = 0; k < res.data.length; k++) {
|
|
523
|
+
array.push({
|
|
524
|
+
label: res.data[k].name,
|
|
525
|
+
value: {id: res.data[k].id, name: res.data[k].name}
|
|
526
|
+
})
|
|
527
|
+
}
|
|
528
|
+
this.data.fields[i].options = array
|
|
529
|
+
})
|
|
530
|
+
}
|
|
513
531
|
|
|
514
532
|
/*
|
|
515
533
|
{
|
|
@@ -1691,7 +1709,7 @@
|
|
|
1691
1709
|
//所有选择框/输入框遍历
|
|
1692
1710
|
for (let i = 0; i < this.$refs.service_show.data.fields.length; i++) {
|
|
1693
1711
|
//任何是否的选择框只要是否都不能提交
|
|
1694
|
-
if (this.selectdata.defname != '客户申请') {
|
|
1712
|
+
/*if (this.selectdata.defname != '客户申请') {
|
|
1695
1713
|
if (this.$refs.service_show.data.fields[i].value === '否') {
|
|
1696
1714
|
this.$refs.service_show.disable_button = false
|
|
1697
1715
|
console.log(this.$refs.service_show.data)
|
|
@@ -1701,7 +1719,7 @@
|
|
|
1701
1719
|
}else {
|
|
1702
1720
|
this.$refs.service_show.data.buttons[1].button_name = '提交'
|
|
1703
1721
|
}
|
|
1704
|
-
}
|
|
1722
|
+
}*/
|
|
1705
1723
|
//时间到期提醒
|
|
1706
1724
|
if (this.$refs.service_show.data.fields[i].label.includes("时间") || this.$refs.service_show.data.fields[i].label.includes("工期")) {
|
|
1707
1725
|
let setTime = this.$refs.service_show.data.fields[i].value
|
|
@@ -1712,14 +1730,14 @@
|
|
|
1712
1730
|
this.$showMessage("请注意,当前节点时间/工期已过期!")
|
|
1713
1731
|
}
|
|
1714
1732
|
}
|
|
1715
|
-
if (this.$refs.service_show.data.fields[i].label.includes("验收结果")) {
|
|
1733
|
+
/*if (this.$refs.service_show.data.fields[i].label.includes("验收结果")) {
|
|
1716
1734
|
|
|
1717
1735
|
if (this.$refs.service_show.data.fields[i].value.length == 0 || this.$refs.service_show.data.fields[i].value == undefined || this.$refs.service_show.data.fields[i].value == null){
|
|
1718
1736
|
this.$showMessage("验收结果未填写完毕,无法提交")
|
|
1719
1737
|
this.$refs.service_show.data.buttons[1].button_name = '保存'
|
|
1720
1738
|
}
|
|
1721
1739
|
|
|
1722
|
-
}
|
|
1740
|
+
}*/
|
|
1723
1741
|
}
|
|
1724
1742
|
|
|
1725
1743
|
|
|
@@ -1774,7 +1792,7 @@
|
|
|
1774
1792
|
}
|
|
1775
1793
|
}
|
|
1776
1794
|
}
|
|
1777
|
-
if (this.selectdata.defname
|
|
1795
|
+
if (this.selectdata.defname == '现场勘察') {
|
|
1778
1796
|
let projectAddress = ''
|
|
1779
1797
|
for (let i = 0; i < this.$refs.service_show.data.fields.length; i++) {
|
|
1780
1798
|
if (this.$refs.service_show.data.fields[i].label === '项目地址') {
|
|
@@ -1893,6 +1911,22 @@
|
|
|
1893
1911
|
}
|
|
1894
1912
|
}
|
|
1895
1913
|
|
|
1914
|
+
if (this.data.onetomany[i].tables[0] == 't_use_gas_param') {
|
|
1915
|
+
if (this.data.onetomany[i].fields[j].label == '单台用气量Nm³/h') {
|
|
1916
|
+
if (this.$refs.service_show.showadd_fields.fields[j-1].value){
|
|
1917
|
+
let a = Number.parseInt(this.$refs.service_show.showadd_fields.fields[j-1].value)*Number.parseInt(this.$refs.service_show.showadd_fields.fields[j].value)
|
|
1918
|
+
this.$refs.service_show.showadd_fields.fields[j+1].value = a
|
|
1919
|
+
}else {
|
|
1920
|
+
this.$showAlert('数量不能为空!!','warning', 3000)
|
|
1921
|
+
}
|
|
1922
|
+
}
|
|
1923
|
+
if (this.data.onetomany[i].fields[j].label == '数量') {
|
|
1924
|
+
if (this.$refs.service_show.showadd_fields.fields[j+1].value){
|
|
1925
|
+
let a = Number.parseInt(this.$refs.service_show.showadd_fields.fields[j].value)*Number.parseInt(this.$refs.service_show.showadd_fields.fields[j+1].value)
|
|
1926
|
+
this.$refs.service_show.showadd_fields.fields[j+2].value = a
|
|
1927
|
+
}
|
|
1928
|
+
}
|
|
1929
|
+
}
|
|
1896
1930
|
|
|
1897
1931
|
},
|
|
1898
1932
|
async 'onetomanyevent'(datas) {
|
|
@@ -1911,6 +1945,32 @@
|
|
|
1911
1945
|
,
|
|
1912
1946
|
// 获取view层button事件/
|
|
1913
1947
|
async 'button'(model) {
|
|
1948
|
+
// 终止报建
|
|
1949
|
+
if(
|
|
1950
|
+
( model.button.button_name === '提交' || model.button.button_name === '移交') &&
|
|
1951
|
+
(model.f_approach_flag === '未通过' || model.f_flag_start === '未通过' || model.f_install_idea_ys === '未通过' || model.f_material_flag === '未通过')
|
|
1952
|
+
){
|
|
1953
|
+
let val = this.$refs.service_show.data
|
|
1954
|
+
delete val.id
|
|
1955
|
+
val.f_operat_type = '终止报建'
|
|
1956
|
+
val.f_state = '有效'
|
|
1957
|
+
val.f_describe = this.$refs.service_show.data.f_user_name + '已终止报建'
|
|
1958
|
+
val.processid = model.f_process_id
|
|
1959
|
+
val.f_operator = this.$login.f.name
|
|
1960
|
+
val.f_department = this.$login.f.f_department
|
|
1961
|
+
val.f_stop_remarks=this.$refs.service_show.data.defname+'未通过'
|
|
1962
|
+
let data ={
|
|
1963
|
+
tablename:'t_stopapply',
|
|
1964
|
+
parameters:val
|
|
1965
|
+
}
|
|
1966
|
+
|
|
1967
|
+
this.$refs.service_show.data.applyid = this.selectdata.id
|
|
1968
|
+
await this.$resetpost('rs/logic/save', {data:data})
|
|
1969
|
+
await this.$resetpost('rs/logic/stopapply', {data: this.$refs.service_show.data})
|
|
1970
|
+
this.$dispatch('close')
|
|
1971
|
+
this.initializtion()
|
|
1972
|
+
return
|
|
1973
|
+
}
|
|
1914
1974
|
// console.log("button事件接收参数:", model)
|
|
1915
1975
|
// 点击重置按钮就重置数据
|
|
1916
1976
|
if (model.button.button_name === '重置') {
|
|
@@ -2338,6 +2398,12 @@
|
|
|
2338
2398
|
// }
|
|
2339
2399
|
// }
|
|
2340
2400
|
// ===================>青白江特殊流程开始,合并分支时请忽略这段代码 结束
|
|
2401
|
+
if(model.button.button_name === '提交' && this.$refs.service_show.data.defname === '客户申请' && this.$refs.service_show.model.f_cell_type === '新小区' ){
|
|
2402
|
+
model.button.button_name ='跳过'
|
|
2403
|
+
}
|
|
2404
|
+
if(model.button.button_name === '提交' && (this.$refs.service_show.data.defname === '费用缴纳' || this.$refs.service_show.data.defname === '费用确认' ) && this.$refs.service_show.model.f_pay_flag === '否' ){
|
|
2405
|
+
model.button.button_name ='跳过'
|
|
2406
|
+
}
|
|
2341
2407
|
console.log('本次点击button执行的操作是=>' + operate)
|
|
2342
2408
|
model = Object.assign({}, this.selectdata, model)
|
|
2343
2409
|
let http = new HttpResetClass()
|
|
@@ -2386,7 +2452,7 @@
|
|
|
2386
2452
|
requestData.workflow_xmlfilename = this.$workflow_vue.workflow_xmlfilename
|
|
2387
2453
|
requestData.employeetemplate = ''
|
|
2388
2454
|
console.log('即将发送请求url=>' + url + ',参数=>' + JSON.stringify(requestData))
|
|
2389
|
-
let res
|
|
2455
|
+
let res = await http.load('POST', url, {data: requestData}, {resolveMsg: null, rejectMsg: '数据保存失败'})
|
|
2390
2456
|
console.log("service处理完成返回数据:", JSON.stringify(res.data))
|
|
2391
2457
|
if (res.data.code == 200) {
|
|
2392
2458
|
model = res.data.model
|
|
@@ -154,6 +154,11 @@
|
|
|
154
154
|
</table>
|
|
155
155
|
</div>
|
|
156
156
|
</div>
|
|
157
|
+
|
|
158
|
+
<div v-for="(i,item) in data.components">
|
|
159
|
+
<component :is="item.name" :selectdata="data" :mark="item.mark" ></component>
|
|
160
|
+
</div>
|
|
161
|
+
|
|
157
162
|
<div class="col-sm-12 form-group text-center" style="padding-top:8px">
|
|
158
163
|
<div class="form-group col-sm-3 center-block">
|
|
159
164
|
<label class=" col-sm-5 control-label control-label-justify">所属公司:</label>
|
|
@@ -182,7 +187,13 @@
|
|
|
182
187
|
<div class="col-sm-3 form-group center-block">
|
|
183
188
|
<label class="control-label control-label-justify col-sm-5">操作日期:</label>
|
|
184
189
|
<div class="col-sm-6">
|
|
185
|
-
<
|
|
190
|
+
<datepicker id="startDate"
|
|
191
|
+
v-model="model.f_operate_date"
|
|
192
|
+
:value.sync="model.f_operate_date"
|
|
193
|
+
:disabled-days-of-Week="[]"
|
|
194
|
+
:format="'yyyy-MM-dd'"
|
|
195
|
+
></datepicker>
|
|
196
|
+
<!-- <input style="width: 95px" type="text" class="form-control" v-model="model.f_operate_date"/>-->
|
|
186
197
|
</div>
|
|
187
198
|
</div>
|
|
188
199
|
</div>
|