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.
@@ -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>&times;</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: `f_apply_num = '${this.selectdata.f_apply_num}' and f_process_id='${this.selectdata.f_process_id}'`
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 = res = await http.load('POST', url, {data: requestData}, {resolveMsg: null, rejectMsg: '数据保存失败'})
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
- <input style="width: 95px" type="text" class="form-control" disabled v-model="model.f_operate_date"/>
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>