system-clients 3.2.1-25 → 3.2.1-28

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,145 @@
1
+ <template>
2
+ <div :class="style">
3
+ <label :class="font_style">小&emsp;&emsp;区</label>
4
+ <v-select :value.sync="initres.f_residential_area"
5
+ v-model="initres.f_residential_area"
6
+ class="input-font"
7
+ :options='residentialAreaOptions'
8
+ placeholder='小区名称'
9
+ @change="getbuilds"
10
+ close-on-select :valueSingle=true>
11
+ </v-select>
12
+ </div>
13
+ <div :class="style">
14
+ <label :class="font_style">楼&emsp;&emsp;栋</label>
15
+ <v-select :value.sync="initres.f_building"
16
+ v-model="initres.f_building"
17
+ class="input-font"
18
+ :options='buildOptions'
19
+ placeholder='楼栋'
20
+ @change="getUnits"
21
+ close-on-select :valueSingle="true">
22
+ </v-select>
23
+ </div>
24
+ <div :class="style">
25
+ <label :class="font_style">单&emsp;&emsp;元</label>
26
+ <v-select :value.sync="initres.f_unit"
27
+ v-model="initres.f_unit"
28
+ class="input-font"
29
+ :options='unitOptions'
30
+ placeholder='单元'
31
+ close-on-select :valueSingle="true">
32
+ </v-select>
33
+ </div>
34
+ </template>
35
+ <script>
36
+ import {HttpResetClass} from "vue-client";
37
+ /**
38
+ *档案管理查询列表
39
+ */
40
+ export default {
41
+ title: '小区查询',
42
+ props: {
43
+ style: {
44
+ type: String,
45
+ default: 'col-sm-2 form-group'
46
+ },
47
+ font_style: {
48
+ type: String,
49
+ default: 'font_normal_body'
50
+ },
51
+ mul: {
52
+ type: Boolean,
53
+ default: true
54
+ },
55
+ //初始值
56
+ initres: {
57
+ type: Object,
58
+ default: null,
59
+ },
60
+ conditions: {
61
+ type: Object,
62
+ default: null,
63
+ },
64
+ f_unit: {
65
+ type: String,
66
+ default: "f_unit = '{}'",
67
+ },
68
+ f_residential_area: {
69
+ type: String,
70
+ default: "f_residential_area = '{}'",
71
+ },
72
+ f_building: {
73
+ type: String,
74
+ default: "f_building = '{}'",
75
+ }
76
+ },
77
+ data () {
78
+ return {
79
+ residentialAreaOptions:[],
80
+ buildOptions:[],
81
+ unitOptions:[],
82
+ http:new HttpResetClass()
83
+ }
84
+ },
85
+ ready(){
86
+ this.getAllArea()
87
+ this.conditions=Object.assign({},this.conditions,{f_unit:this.f_unit,f_residential_area:this.f_residential_area,f_building:this.f_building})
88
+ },
89
+ methods: {
90
+ getAllArea(){
91
+ this.residentialAreaOptions = []
92
+ this.buildOptions = []
93
+ this.unitOptions = []
94
+ this.initres.f_residential_area = ''
95
+ this.initres.f_building = ''
96
+ this.initres.f_unit = ''
97
+ this.http.load('POST',"rs/sql/address_getarealist",{data:{condition: `s.f_filialeid = ${this.$login.f.orgid}`}},{resolveMsg: null, rejectMsg: null}).then(result =>{
98
+ if(result.data.length>0){
99
+ result.data.forEach(item => this.residentialAreaOptions.push({label:item.f_residential_area,value:item.f_residential_area}))
100
+ }
101
+ })
102
+ },
103
+ getbuilds(f_residential_area){
104
+ console.log('f_residential_area ===> ' + JSON.stringify(f_residential_area))
105
+ this.buildOptions = []
106
+ this.initres.f_building = ''
107
+ this.unitOptions = []
108
+ this.initres.f_unit = ''
109
+ if(f_residential_area.length<=0){
110
+ return
111
+ }
112
+ let criteria = {
113
+ condition: `f_building IS NOT NULL AND f_residential_area = '${f_residential_area}'`,
114
+ groupitem: 'f_building',
115
+ orderitem: 'f_building'
116
+ }
117
+ this.http.load('POST',"rs/sql/getUseraddressByCon",{'data': criteria},{resolveMsg: null, rejectMsg: null}).then(result =>{
118
+ if(result.data.length>0){
119
+ result.data.forEach(item => this.buildOptions.push({label:item.f_building,value:item.f_building}))
120
+ }
121
+ })
122
+
123
+ },
124
+ getUnits(f_building){
125
+ f_building = f_building[0]
126
+ this.unitOptions = []
127
+ this.initres.f_unit = ''
128
+ if(!f_building){
129
+ return
130
+ }
131
+ let criteria = {
132
+ condition: `f_unit IS NOT NULL AND f_unit != '' AND f_residential_area = '${this.initres.f_residential_area}' AND f_building = '${this.initres.f_building}'`,
133
+ orderitem: 'f_unit',
134
+ groupitem: 'f_unit'
135
+ }
136
+ this.http.load('POST',"rs/sql/getUseraddressByCon",{'data': criteria},{resolveMsg: null, rejectMsg: null}).then(result=>{
137
+ if(result.data.length>0){
138
+ result.data.forEach(item => this.unitOptions.push({label:item.f_unit,value:item.f_unit}))
139
+ }
140
+ })
141
+
142
+ }
143
+ }
144
+ }
145
+ </script>
@@ -6,18 +6,23 @@
6
6
  </ul>
7
7
  <form class="form-horizontal">
8
8
 
9
- <div class="col-sm-6 form-group">
10
- <label class="font_normal_body">使用人员</label>
11
- <input type="text" style="width: 60%" class="input_search" v-model="model.f_username" placeholder="使用人员" >
12
- </div>
13
- <div class="col-sm-6 form-group">
14
- <label class="font_normal_body">设备号</label>
15
- <input type="text" style="width: 60%" class="input_search" v-model="model.f_terminal_number" placeholder="设备号" >
16
- </div>
17
- <div class="col-sm-6 form-group">
18
- <label class="font_normal_body">使用公司</label>
19
- <right-tree :userid.sync='userid' :source.sync='source' @re-res="getRes"></right-tree>
20
- </div>
9
+ <div class="col-sm-6 form-group">
10
+ <label class="font_normal_body">使用人员</label>
11
+ <input type="text" style="width: 60%" class="input_search" v-model="model.f_username" placeholder="使用人员" >
12
+ </div>
13
+ <div class="col-sm-6 form-group">
14
+ <label class="font_normal_body">设备号</label>
15
+ <input type="text" style="width: 60%" class="input_search" v-model="model.f_terminal_number" placeholder="设备号" >
16
+ </div>
17
+ <div class="col-sm-6 form-group">
18
+ <label class="font_normal_body">使用公司</label>
19
+ <!--<right-tree :userid.sync='userid' :source.sync='source' @re-res="getRes"></right-tree>-->
20
+ <res-select restype='organization'
21
+ is-mul="false"
22
+ @res-select="getorg"
23
+ :initresid="curorgid">
24
+ </res-select>
25
+ </div>
21
26
 
22
27
  </form>
23
28
  <div style="text-align:right;height:auto;">
@@ -42,6 +47,8 @@
42
47
  filialeCodeStr: this.$login.f.f_orgids,
43
48
  userid: this.$login.f.id,
44
49
  source: `tool.getFullTree(this.getRights().where(row.getType() == $organization$))`,
50
+ curorgid: this.$login.f.orgid,
51
+ f_orgid: ''
45
52
  }
46
53
  },
47
54
  props: ['data'],
@@ -64,6 +71,7 @@
64
71
  confirm () {
65
72
  this.model.f_operator = this.$login.f.name
66
73
  this.model.f_filialeids = this.filialeCodeStr
74
+ this.model.f_orgid = this.f_orgid
67
75
  console.log('保存', this.model)
68
76
  this.$resetpost('rs/entity/t_equipment', this.model, {resolveMsg: '保存成功', rejectMsg: '保存失败'}).then((res) => {
69
77
  this.$dispatch('refresh')
@@ -77,6 +85,8 @@
77
85
  this.model.f_terminal_number = row.f_terminal_number
78
86
  this.model.id = row.id
79
87
  this.filialeCodeStr = row.f_filialeids
88
+ this.f_orgid = row.f_orgid
89
+ this.curorgid= [row.f_orgid]
80
90
  },
81
91
  initModel () {
82
92
  delete this.model.id
@@ -89,6 +99,9 @@
89
99
  getRes(obj) {
90
100
  this.filialeCodeStr = obj.resids
91
101
  },
102
+ getorg (val) {
103
+ this.f_orgid = val[0]
104
+ }
92
105
  }
93
106
  }
94
107
  </script>
@@ -4,27 +4,32 @@
4
4
  <criteria partial='criteria' @condition-changed='$parent.selfSearch' v-ref:cri>
5
5
  <div novalidate class="form-horizontal select-overspread container-fluid auto" partial>
6
6
  <div class="row">
7
- <div class="col-sm-3 form-group">
8
- <label class="font_normal_body">使用公司</label>
9
- <right-tree :userid.sync='$parent.$parent.userid' :source.sync='$parent.$parent.source' @re-res="$parent.$parent.getRes" > </right-tree>
10
- </div>
7
+ <div class="col-sm-3 form-group">
8
+ <label class="font_normal_body">使用公司</label>
9
+ <!--<right-tree :userid.sync='$parent.$parent.userid' :source.sync='$parent.$parent.source' @re-res="$parent.$parent.getRes" > </right-tree>-->
10
+ <res-select restype='organization'
11
+ is-mul="false"
12
+ @res-select="$parent.$parent.getorg"
13
+ :initresid="$parent.$parent.curorgid">
14
+ </res-select>
15
+ </div>
11
16
 
12
- <div class="col-sm-3 form-group" >
13
- <label class="font_normal_body">使用人员</label>
14
- <input type="text" class="input_search" style="width:60%" v-model="model.f_username"
15
- condition="f_username like '%{}%'" placeholder="使用人员">
16
- </div>
17
- <div class="col-sm-3 form-group" >
18
- <label class="font_normal_body">设备号</label>
19
- <input type="text" class="input_search" style="width:60%" v-model="model.f_terminal_number"
20
- condition="f_terminal_number like '%{}%'" placeholder="设备号">
21
- </div>
22
- <div class="span" style="float:right;">
23
- <button class="button_search" @click="$parent.$parent.search()" v-el:cx>查询</button>
24
- <button class="button_search" @click="$parent.$parent.add()" v-el:cx>新增</button>
17
+ <div class="col-sm-3 form-group" >
18
+ <label class="font_normal_body">使用人员</label>
19
+ <input type="text" class="input_search" style="width:60%" v-model="model.f_username"
20
+ condition="f_username like '%{}%'" placeholder="使用人员">
21
+ </div>
22
+ <div class="col-sm-3 form-group" >
23
+ <label class="font_normal_body">设备号</label>
24
+ <input type="text" class="input_search" style="width:60%" v-model="model.f_terminal_number"
25
+ condition="f_terminal_number like '%{}%'" placeholder="设备号">
26
+ </div>
27
+ <div class="span" style="float:right;">
28
+ <button class="button_search" @click="$parent.$parent.search()" v-el:cx>查询</button>
29
+ <button class="button_search" @click="$parent.$parent.add()" v-el:cx>新增</button>
30
+ </div>
25
31
  </div>
26
32
  </div>
27
- </div>
28
33
  </criteria>
29
34
  <data-grid :model="model" partial='list' class="list_area table_sy" v-ref:grid >
30
35
  <template partial='head'>
@@ -62,7 +67,9 @@
62
67
  filialeNameStr: this.$login.f.f_fengongsi,
63
68
  filialeCodeStr: this.$login.f.f_orgids,
64
69
  userid:this.$login.f.id,
65
- source: `tool.getFullTree(this.getRights().where(row.getType() != $zone$).where(row.getType() != $role$))`
70
+ curorgid: [this.$login.f.orgid],
71
+ source: `tool.getFullTree(this.getRights().where(row.getType() != $zone$).where(row.getType() != $role$))`,
72
+ f_orgid:''
66
73
  }
67
74
  },
68
75
  ready () {
@@ -75,7 +82,7 @@
75
82
  },
76
83
 
77
84
  selfSearch (args) {
78
- args.condition = `${args.condition} and f_equipment_type = 'PHONE' and f_state = '正常' and f_orgid like '${this.filialeCodeStr}%'`
85
+ args.condition = `${args.condition} and f_equipment_type = 'PHONE' and f_state = '正常' and f_orgid = '${this.f_orgid ? this.f_orgid: this.$login.f.orgid}'`
79
86
  this.model.search(args.condition, this.model)
80
87
  },
81
88
  add () {
@@ -94,6 +101,9 @@
94
101
  this.filialeNameStr = obj.res
95
102
  this.filialeCodeStr = obj.resids
96
103
  },
104
+ getorg (val) {
105
+ this.f_orgid = val[0]
106
+ }
97
107
  },
98
108
  computed: {
99
109
 
@@ -204,7 +204,7 @@ let saveGen = function *(self) {
204
204
  self.getDaiBan()
205
205
  }
206
206
  } else {
207
- self.$goto('home-page', {functions: self.$login.f})
207
+ self.$goto('home-page', {functions: self.$login.f,config: self.config})
208
208
  // if (self.otherLogin){
209
209
  // window.history.pushState(null,null,'')
210
210
  // }
@@ -289,7 +289,13 @@ export default {
289
289
  depPrompt: false,
290
290
  weakPassword: false,
291
291
  title: '燃气客服系统',
292
- distanceLogin: false
292
+ distanceLogin: false,
293
+ // 那些角色可以定时获取预约提示
294
+ isTip : false,
295
+ // 那些角色可以定时获取预约提示
296
+ msgRole : '预约处理人员',
297
+ // 定时获取提示间隔 单位:分钟
298
+ times: 25,
293
299
  },
294
300
  otherLogin:false,
295
301
  login: false,
@@ -314,6 +320,24 @@ export default {
314
320
  methods: {
315
321
  async getDaiBan(){
316
322
  let http = new HttpResetClass()
323
+ await http.load('POST', '/rs/sql/singleTable', {data: {
324
+ tablename:'t_order_center',
325
+ condition:` f_orderstate != '预约成功' and f_orgstr ='${this.$login.f.orgid}' and ( f_orderstate != '预约失败' or f_orderstate is null ) `
326
+
327
+ }}, {
328
+ resolveMsg: null,
329
+ rejectMsg: null
330
+ }).then((res) => {
331
+ let OrderDaiBan = {}
332
+ res.data.forEach(item=>{
333
+ OrderDaiBan[item.f_ordertype] = OrderDaiBan[item.f_ordertype] || []
334
+ OrderDaiBan[item.f_ordertype].push(item)
335
+ })
336
+ this.OrderDaiBan = `您有${res.data.length}条需要处理的微信预约业务!`
337
+ if (res.data.length> 0){
338
+ this.OrderDaiBan += `其中 ${Object.keys(OrderDaiBan).map(key=>`${key}:${OrderDaiBan[key].length}条`).join(', ')}`
339
+ }
340
+ })
317
341
  let data = {
318
342
  condition: '1 = 1',
319
343
  data: {
@@ -335,24 +359,7 @@ export default {
335
359
  this.AppDaiBan += `其中 ${Object.keys(AppDaiBan).map(key=>`${key}:${AppDaiBan[key].length}条`).join(', ')}`
336
360
  }
337
361
  })
338
- await http.load('POST', '/rs/sql/singleTable', {data: {
339
- tablename:'t_order_center',
340
- condition:` f_orderstate != '预约成功' and f_orderstate != '预约失败' or f_orderstate is null `
341
362
 
342
- }}, {
343
- resolveMsg: null,
344
- rejectMsg: null
345
- }).then((res) => {
346
- let OrderDaiBan = {}
347
- res.data.forEach(item=>{
348
- OrderDaiBan[item.f_ordertype] = OrderDaiBan[item.f_ordertype] || []
349
- OrderDaiBan[item.f_ordertype].push(item)
350
- })
351
- this.OrderDaiBan = `您有${res.data.length}条需要处理的微信预约业务!`
352
- if (res.data.length> 0){
353
- this.OrderDaiBan += `其中 ${Object.keys(OrderDaiBan).map(key=>`${key}:${OrderDaiBan[key].length}条`).join(', ')}`
354
- }
355
- })
356
363
  },
357
364
  async loginother(){
358
365
  if (this.config.distanceLogin) {
@@ -431,7 +438,7 @@ export default {
431
438
 
432
439
  async depPromptConfirm () {
433
440
  this.depPromptShow = false
434
- return this.$goto('home-page', {functions: this.$login.f})
441
+ return this.$goto('home-page', {functions: this.$login.f,config: this.config})
435
442
  },
436
443
 
437
444
  depPromptCancel () {