apply-clients 3.1.41 → 3.1.42

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,239 @@
1
+ <template>
2
+ <criteria-paged :model="model" v-ref:cp>
3
+ <criteria partial='criteria' @condition-changed='search' v-ref:cri>
4
+ <div class="form-horizontal select-overspread container-fluid auto" partial>
5
+ <div class="row">
6
+ <div class="form-group col-sm-4">
7
+ <label class="font_normal_body">票&emsp;&emsp;号:</label>
8
+ <input type="text" class="input_search" placeholder='票号' v-model="model.f_ticket_number"
9
+ v-on:keyup.enter="$parent.$parent.search()"
10
+ condition="b.f_ticket_number like '%{}%'">
11
+ </div>
12
+ <div class="form-group col-sm-4">
13
+ <label class="font_normal_body">工程类型:</label>
14
+ <v-select
15
+ v-model="model.f_project_type"
16
+ placeholder='请选择'
17
+ condition="a.f_project_type like '%{}%'"
18
+ :value.sync="model.f_project_type"
19
+ :options='$parent.$parent.projectType'
20
+ class="select select_list"
21
+ :value-single="true"
22
+ close-on-select ></v-select>
23
+ </div>
24
+ <div class="form-group col-sm-4 button-range">
25
+ <button class="button_search button_spacing" @click="$parent.$parent.search()" v-el:cx>查询</button>
26
+ <button class="button_clear button_spacing" @click="$parent.$parent.clear()">清空</button>
27
+ <export-excel :data="$parent.$parent.getCondition"
28
+ :field="$parent.$parent.getfield"
29
+ sqlurl="rs/logic/applyExportfile"
30
+ sql-name="getGongliaoList"
31
+ template-name='工料费记录导出'
32
+ :choose-col="true"></export-excel>
33
+ <div
34
+ :class="{'button_shrink_top':$parent.$parent.criteriaShow,'button_shrink_bottom':!$parent.$parent.criteriaShow}"
35
+ @click="$parent.$parent.criteriaShow = !$parent.$parent.criteriaShow"
36
+ class="button_spacing"
37
+ style="float: right">
38
+ </div>
39
+ </div>
40
+ </div>
41
+ <div class="row" v-show="$parent.$parent.criteriaShow">
42
+ <div class="form-group col-sm-4">
43
+ <label class="font_normal_body">收费人员:</label>
44
+ <input type="text" class="input_search" style="width: 60%" placeholder='收费人员' v-model="model.f_operator"
45
+ v-on:keyup.enter="$parent.$parent.search()"
46
+ condition="b.f_operator like '%{}%'">
47
+ </div>
48
+ <div class="form-group col-sm-4">
49
+ <label for="startDate" class="font_normal_body">开始时间:</label>
50
+ <datepicker id="startDate" placeholder="开始日期"
51
+ style="width: 60%!important;"
52
+ v-model="model.startDate"
53
+ :value.sync="model.startDate"
54
+ :format="'yyyy-MM-dd 00:00:00'"
55
+ :show-reset-button="true"
56
+ condition="b.f_operation_date >= '{}'">
57
+ </datepicker>
58
+ </div>
59
+ <div class="form-group col-sm-4">
60
+ <label for="endDate" class="font_normal_body">结束时间:</label>
61
+ <datepicker id="endDate" placeholder="结束日期"
62
+ style="width: 60%!important;"
63
+ v-model="model.endDate"
64
+ :value.sync="model.endDate"
65
+ :format="'yyyy-MM-dd 23:59:59'"
66
+ :show-reset-button="true"
67
+ condition="b.f_operation_date <= '{}'">
68
+ </datepicker>
69
+ </div>
70
+ </div>
71
+ </div>
72
+ </criteria>
73
+ <data-grid :model="model" partial='list' v-ref:grid style="overflow: auto" class="list_area table_sy">
74
+ <template partial='head'>
75
+ <tr>
76
+ <th>序号</th>
77
+ <th>姓名</th>
78
+ <th>电话</th>
79
+ <th>小区名称</th>
80
+ <th>详细地址</th>
81
+ <th>合同编号</th>
82
+ <th>收费类型</th>
83
+ <th>收费金额</th>
84
+ <th>收费方式</th>
85
+ <th>收费票号</th>
86
+ <th>收费时间</th>
87
+ <th>收费人员</th>
88
+ <th>安装人员</th>
89
+ <th>安装日期</th>
90
+ <th>燃气表号</th>
91
+ <th>回访时间</th>
92
+ </tr>
93
+ </template>
94
+ <template partial='body'>
95
+ <tr >
96
+ <td style="text-align: center;">
97
+ <nobr><font>{{$index+1}}</font></nobr>
98
+ </td>
99
+ <td style="text-align: center;">
100
+ <nobr><font>{{row.f_user_name}}</font></nobr>
101
+ </td>
102
+ <td style="text-align: center;">
103
+ <nobr><font>{{row.f_phone}}</font></nobr>
104
+ </td>
105
+ <td style="text-align: center;">
106
+ <nobr><font>{{row.f_residential_area}}</font></nobr>
107
+ </td>
108
+ <td style="text-align: center;">
109
+ <nobr><font>{{row.f_address}}</font></nobr>
110
+ </td>
111
+ <td style="text-align: center;">
112
+ <nobr><font>{{row.f_contract_number}}</font></nobr>
113
+ </td>
114
+ <td style="text-align: center;">
115
+ <nobr><font>{{row.f_payment_type}}</font></nobr>
116
+ </td>
117
+ <td style="text-align: center;">
118
+ <nobr><font>{{row.f_charge_money}}</font></nobr>
119
+ </td>
120
+ <td style="text-align: center;">
121
+ <nobr><font>{{row.f_payment_method}}</font></nobr>
122
+ </td>
123
+ <td style="text-align: center;">
124
+ <nobr><font>{{row.f_ticket_number}}</font></nobr>
125
+ </td>
126
+ <td style="text-align: center;">
127
+ <nobr><font>{{row.f_operation_date}}</font></nobr>
128
+ </td>
129
+ <td style="text-align: center;">
130
+ <nobr><font>{{row.f_operator}}</font></nobr>
131
+ </td>
132
+ <td style="text-align: center;">
133
+ <nobr><font>{{row.f_install_person}}</font></nobr>
134
+ </td>
135
+ <td style="text-align: center;">
136
+ <nobr><font>{{row.f_install_date}}</font></nobr>
137
+ </td>
138
+ <td style="text-align: center;">
139
+ <nobr><font>{{row.f_meternumber}}</font></nobr>
140
+ </td>
141
+ <td style="text-align: center;">
142
+ <nobr><font>{{row.finishtime}}</font></nobr>
143
+ </td>
144
+ </tr>
145
+ </template>
146
+ </data-grid>
147
+ </criteria-paged>
148
+ </template>
149
+
150
+ <script>
151
+ import {PagedList} from 'vue-client'
152
+ import {HttpResetClass} from 'vue-client'
153
+ export default {
154
+ title: '报建工料费列表',
155
+ props:['data'],
156
+ data () {
157
+ return {
158
+ model: new PagedList('rs/sql/getGongliaoList', 20, {
159
+ data: {
160
+ f_process_id: this.data.f_process_id
161
+ }
162
+ }, {
163
+ f_charge_money: 0
164
+ }),
165
+ applytype: [{label:"集中报建",value:'集中报建'},{label:"非民用报建",value:'非民用报建'},{label:"散户报建",value:'散户报建'}], // 所有报建类型
166
+ paymentMethod: [{label: '全部', value: ''}, ...this.$appdata.getParam('付款方式')],
167
+ chargingStatus: [
168
+ {label: '全部', value: ''},
169
+ {label: '有效', value: '有效'},
170
+ {label: '作废', value: '作废'}
171
+ ],
172
+ criteriaShow: false,
173
+ chargeAll: {
174
+ count: 0,
175
+ sum: 0
176
+ },
177
+ getfield: {
178
+ 'f_user_name': ' 姓 名 ',
179
+ 'f_phone': ' 电 话 ',
180
+ 'f_residential_area': ' 小 区 名 称 ',
181
+ 'f_room': ' 房 号 ',
182
+ 'f_contract_number': ' 合 同 编 号 ',
183
+ 'f_payment_type': ' 收费类型 ',
184
+ 'f_charge_money': ' 收费金额 ',
185
+ 'f_payment_method': ' 收款方式 ',
186
+ 'f_ticket_number': ' 收 费 票 号 ',
187
+ 'f_operation_date': ' 收 费 时 间 ',
188
+ 'f_operator': ' 收费人员 ',
189
+ 'f_meternumber': ' 燃气表编号 ',
190
+ 'f_install_person':' 安装人员 ',
191
+ 'f_install_date': ' 安 装 时 间 ',
192
+ 'finishtime': ' 回 访 时 间 '
193
+ }
194
+ }
195
+ },
196
+ ready () {
197
+ // 调用查询
198
+ this.search()
199
+ },
200
+ methods: {
201
+ clear () {
202
+ Object.keys(this.$refs.cp.$refs.cri.model).forEach((key) => {
203
+ this.$refs.cp.$refs.cri.model[key] = ''
204
+ })
205
+ },
206
+ searchCondition (args) {
207
+ args.condition = args.condition + ` and a.f_orgid = '${this.curorgid[0]}'`
208
+ this.model.search(args.condition, args.model)
209
+ },
210
+ // 查询
211
+ search () {
212
+ this.$refs.cp.$refs.cri.search()
213
+ },
214
+ getorg (val) {
215
+ if (val.length <= 0) {
216
+ return
217
+ }
218
+ this.curorgid = val
219
+ this.search()
220
+ }
221
+ },
222
+ computed: {
223
+ projectType() {
224
+ return this.$appdata.getParam("工程类型")
225
+ },
226
+ getCondition () {
227
+ return {
228
+ condition: this.$refs.cp.$refs.cri.condition,
229
+ data: {
230
+ f_process_id: this.data.f_process_id
231
+ }
232
+ }
233
+ }
234
+ }
235
+ }
236
+ </script>
237
+
238
+ <style scoped>
239
+ </style>
@@ -0,0 +1,26 @@
1
+ <template>
2
+ <div class="flex-row">
3
+ <div class="basic-main">
4
+ <div style="height: 95%">
5
+ <devices-list v-ref:query ></devices-list>
6
+ </div>
7
+ </div>
8
+ </div>
9
+ </template>
10
+
11
+ <script>
12
+ export default {
13
+ title: '报建收费明细',
14
+ data () {
15
+ return {
16
+ }
17
+ },
18
+ ready () {
19
+ },
20
+ methods: {
21
+ }
22
+ }
23
+ </script>
24
+
25
+ <style scoped>
26
+ </style>
@@ -0,0 +1,129 @@
1
+ <template>
2
+ <div class="basic-main" style="overflow:auto;">
3
+ <div class="tops" v-bind:style="{ height: topheight }">
4
+ <apply-charge-list v-ref:queryuser></apply-charge-list>
5
+ </div>
6
+ <div v-if="showtotal" v-bind:style="{ height: botheight }">
7
+ <div class="col-sm-3">
8
+ <installfeeinfo :selectdata="selectdata"></installfeeinfo>
9
+ </div>
10
+ <div class="col-sm-9">
11
+ <tabset v-ref:tabs :close="false">
12
+ <div class="flex-row">
13
+ <div class="basic-main">
14
+ <div style="height: 100%">
15
+ <gongliao-list v-ref:query :data="selectdata" :showprint="false"></gongliao-list>
16
+ </div>
17
+ </div>
18
+ </div>
19
+ </tabset>
20
+ </div>
21
+ </div>
22
+ </div>
23
+ </template>
24
+ <script>
25
+ import Vue from 'vue'
26
+ import {HttpResetClass} from 'vue-client'
27
+ export default {
28
+ title: '流程监控',
29
+ props: ['defname'],
30
+ data () {
31
+ return {
32
+ flagl: false,
33
+ flagg: false,
34
+ showbasic: false, // 控制节点列表显示
35
+ showtotal: false, // 控制详细信息显示
36
+ header: null,
37
+ selectdata: {},
38
+ botheight: '0%', // 详细信息显示高度
39
+ topheight: '100%', // 工程列表显示高度
40
+ info: '流程监控',
41
+ xmlname: '' // 配置文件名称
42
+ }
43
+ },
44
+ created () {
45
+ },
46
+ methods: {
47
+ // 获取页面配置json文件
48
+ async loadName () {
49
+ let http = new HttpResetClass()
50
+ let xmldata = {
51
+ data: this.$login.f,
52
+ workname: this.xmlname
53
+ }
54
+ let res = await http.load('POST', 'rs/logic/ApplyGetConfigs', {data: xmldata}, {resolveMsg: null, rejectMsg: null})
55
+
56
+ if (res.data.code && res.data.code === 200) {
57
+ Vue.prototype.$workflow_vue = res.data.workflow_vue
58
+ } else {
59
+ this.$showMessage('获取报建配置失败,原因:' + res.data.msg)
60
+ return
61
+ }
62
+ }
63
+ },
64
+ events: {
65
+ 'onMessage' (data) {
66
+ console.log('接收消息')
67
+ console.log(data)
68
+ if (data.type === 'apply-task') {
69
+ this.$refs.queryuser.$refs.cp.$refs.cri.search()
70
+ }
71
+ },
72
+ async 'apply' (val) {
73
+ this.selectdata = val
74
+ this.showtotal = false
75
+
76
+ if (this.selectdata.f_apply_type === '集中报建') {
77
+ this.xmlname = '集中报建流程'
78
+ } else if (this.selectdata.f_apply_type === '散户报建') {
79
+ this.xmlname = '散户报建流程'
80
+ } else if (this.selectdata.f_apply_type === '非民用报建') {
81
+ this.xmlname = '非民用报建流程'
82
+ } else {
83
+ this.$showMessage('暂无此类报装')
84
+ return
85
+ }
86
+
87
+ // 获取配置文件
88
+ await this.loadName()
89
+
90
+ this.topheight = '10%'
91
+ this.botheight = '90%'
92
+ // this.$refs.queryuser.$refs.cp.$refs.grid.model.rows = [val]
93
+ this.header = this.selectdata.defname
94
+ this.$refs.queryuser.$refs.cp.pager = false
95
+ this.showbasic = true
96
+ this.showtotal = true
97
+
98
+ },
99
+ 'close'() {
100
+ this.showbasic = false
101
+ this.showtotal = false
102
+ this.topheight = '100%'
103
+ this.botheight = '0%'
104
+ this.$refs.queryuser.$refs.cp.$refs.cri.search()
105
+ this.$refs.queryuser.$refs.cp.pager = true
106
+ },
107
+ 'hidden' (criteriaShow) {
108
+ if (!this.showtotal && !criteriaShow) {
109
+
110
+ }
111
+ if (!this.showtotal && criteriaShow) {
112
+
113
+ }
114
+ if (this.showtotal && !criteriaShow) {
115
+ this.topheight = '20%'
116
+ this.botheight = '80%'
117
+ }
118
+ if (this.showtotal && criteriaShow) {
119
+ this.topheight = '10%'
120
+ this.botheight = '90%'
121
+ }
122
+
123
+ }
124
+ },
125
+
126
+ watch: {
127
+ }
128
+ }
129
+ </script>
@@ -28,7 +28,7 @@
28
28
  import Vue from 'vue'
29
29
  import {HttpResetClass} from 'vue-client'
30
30
  export default {
31
- title: '流程监控',
31
+ title: '已处理流程',
32
32
  props: ['defname'],
33
33
  data () {
34
34
  return {
@@ -5,7 +5,7 @@
5
5
  <div novalidate class="form-horizontal select-overspread container-fluid auto" partial>
6
6
  <div class="row">
7
7
  <div class="form-group col-sm-3">
8
- <label class="font_normal_body">客户名称/联系人:</label>
8
+ <label class="font_normal_body">客户名称:</label>
9
9
  <input type="text" class="input_search" v-model="model.f_user_name"
10
10
  v-on:keyup.enter="search" condition=" (f_user_name like '%{}%' or f_contact like '%{}%') " placeholder='二选一输入'>
11
11
  </div>
@@ -16,13 +16,21 @@
16
16
  condition="u.f_apply_num like '%{}%'">
17
17
  </div>
18
18
  <div class="form-group col-sm-3">
19
- <label class="font_normal_body">合同编号:</label>
20
- <input type="text" class="input_search" placeholder='合同编号' v-model="model.f_contract_number"
21
- v-on:keyup.enter="search"
22
- condition="f_contract_number like '%{}%'">
19
+ <label class="font_normal_body">工程类型:</label>
20
+ <v-select
21
+ v-model="model.f_project_type"
22
+ placeholder='请选择'
23
+ condition="u.f_project_type like '%{}%'"
24
+ :value.sync="model.f_project_type"
25
+ :options='$parent.$parent.projectType'
26
+ class="select select_list"
27
+ :value-single="true"
28
+ close-on-select ></v-select>
23
29
  </div>
24
- <div class="form-group col-sm-2 operate">
30
+
31
+ <div class="form-group col-sm-2 button-range">
25
32
  <button type="button" class="btn btn-info head-but" @click="search(),$parent.$parent.close()" v-el:cx>查询</button>
33
+ <button type="button" class="button_clear button_spacing" @click="$parent.$parent.clear()">清空</button>
26
34
  <export-excel :data="$parent.$parent.getCondition"
27
35
  :field="$parent.$parent.getfield"
28
36
  sqlurl="rs/logic/applyExportfile"
@@ -39,6 +47,18 @@
39
47
  </div>
40
48
  </div>
41
49
  <div class="row" v-show="$parent.$parent.criteriaShow">
50
+ <div class="form-group col-sm-3">
51
+ <label class="font_normal_body">小&emsp;&emsp;区:</label>
52
+ <v-select
53
+ v-model="model.f_residential_area"
54
+ placeholder='请选择'
55
+ condition="u.f_residential_area = '{}'"
56
+ :value.sync="model.f_residential_area"
57
+ :options='$parent.$parent.area'
58
+ class="select select_list"
59
+ :value-single="true"
60
+ close-on-select ></v-select>
61
+ </div>
42
62
  <div class="form-group col-sm-3">
43
63
  <label class="font_normal_body">用户地址:</label>
44
64
  <input type="text" class="input_search" placeholder='用户地址' v-model="model.f_address"
@@ -46,11 +66,17 @@
46
66
  condition="f_address like '%{}%'">
47
67
  </div>
48
68
  <div class="form-group col-sm-3">
49
- <label class="font_normal_body">票号:</label>
69
+ <label class="font_normal_body">票&emsp;&emsp;号:</label>
50
70
  <input type="text" class="input_search" placeholder='票号' v-model="model.f_ticket_number"
51
71
  v-on:keyup.enter="search"
52
72
  condition="c.f_ticket_number like '%{}%'">
53
73
  </div>
74
+ <div class="form-group col-sm-3">
75
+ <label class="font_normal_body">合同编号:</label>
76
+ <input type="text" class="input_search" placeholder='合同编号' v-model="model.f_contract_number"
77
+ v-on:keyup.enter="search"
78
+ condition="f_contract_number like '%{}%'">
79
+ </div>
54
80
  <div class="col-sm-3 form-group">
55
81
  <label class="font_normal_body">报建类型:</label>
56
82
  <v-select
@@ -172,17 +198,18 @@
172
198
  defnames:[], // 所有流程节点
173
199
  condition: '', // 查询条件
174
200
  criteriaShow: false,
201
+ area:[],
175
202
  getfield: {
176
- 'f_apply_num': '报建编号',
177
- 'defname': '当前环节',
178
- 'f_sub_state': '流程状态',
179
- 'f_user_name': '联系人',
180
- 'f_contact': '联系人',
181
- 'f_contract_number': '合同编号',
182
- 'f_phone': '电话',
183
- 'f_address': '地址',
184
- 'f_apply_type': '报建类型',
185
- 'f_apply_date': '报建日期'
203
+ 'f_apply_num': ' 报 建 编 号 ',
204
+ 'defname': ' 当 前 环 节 ',
205
+ 'f_sub_state': ' 流 程 状 态 ',
206
+ 'f_user_name': ' 客 户 名 称 ',
207
+ 'f_contact': ' 联 系 人 ',
208
+ 'f_contract_number': ' 合 同 编 号 ',
209
+ 'f_phone': ' 电 话 ',
210
+ 'f_address': ' 地 址 ',
211
+ 'f_apply_type': ' 报 建 类 型 ',
212
+ 'f_apply_date': ' 报 建 日 期 '
186
213
  }
187
214
  }
188
215
  },
@@ -191,10 +218,16 @@
191
218
  this.$refs.cp.$refs.cri.search()
192
219
  // 获取所有办理环节
193
220
  this.getDefnames()
221
+ this.getAreaAll()
194
222
  },
195
223
  events: {
196
224
  },
197
225
  methods: {
226
+ clear () {
227
+ Object.keys(this.$refs.cp.$refs.cri.model).forEach((key) => {
228
+ this.$refs.cp.$refs.cri.model[key] = ''
229
+ })
230
+ },
198
231
  hidden() {
199
232
  this.$dispatch('hidden', this.criteriaShow)
200
233
  this.criteriaShow = !this.criteriaShow
@@ -209,6 +242,18 @@
209
242
  this.defnames = [{label: '全部', value: ''}, ...res.data]
210
243
  })
211
244
  },
245
+ async getAreaAll () {
246
+ let http = new HttpResetClass()
247
+ let condition = "f_filialeid = " + this.$login.f.orgid
248
+ let res = await http.load('POST','rs/logic/apply_queryArea',{data:{condition:condition}}, {resolveMsg: null, rejectMsg: null})
249
+
250
+ this.area = res.data.queryArea.map(item => {
251
+ return {
252
+ 'label': item.f_residential_area,
253
+ 'value': item.f_residential_area,
254
+ }
255
+ })
256
+ },
212
257
  check(val) {
213
258
  this.$dispatch('apply', val)
214
259
  },
@@ -217,6 +262,9 @@
217
262
  }
218
263
  },
219
264
  computed: {
265
+ projectType() {
266
+ return this.$appdata.getParam("工程类型")
267
+ },
220
268
  getCondition () {
221
269
  console.log("condition",this.$refs.cp.$refs.cri.condition)
222
270
  return {