manage-client 3.3.255 → 3.3.256

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 CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "manage-client",
3
- "version": "3.3.255",
3
+ "version": "3.3.256",
4
4
  "description": "经营管控模块前台组件",
5
5
  "main": "src/index.js",
6
6
  "directories": {
@@ -642,8 +642,7 @@ export default {
642
642
  'f_fillcard_times': '补卡次数',
643
643
  'f_sendsuccess': '表同步状态',
644
644
  'f_isband': '微信绑定',
645
- 'f_cost_type': '缴费类型'
646
- ,
645
+ 'f_cost_type': '缴费类型',
647
646
  'f_bank_accopen': '银行户名',
648
647
  'f_bank_name': '银行名称',
649
648
  'f_bank_account': '银行账号',
@@ -0,0 +1,239 @@
1
+ <template>
2
+ <div class="basic-main" style="height: 100%">
3
+ <criteria-paged :model="model" :pager='false' v-ref:paged>
4
+ <criteria partial='criteria' @condition-changed='$parent.selfSearch' v-ref:criteria>
5
+ <div novalidate class="form-horizontal select-overspread container-fluid auto" partial >
6
+ <div class="row">
7
+ <div class="col-sm-2 form-group" >
8
+ <label class="font_normal_body" for="startDate">开始日期:</label>
9
+ <datepicker id="startDate" placeholder="开始日期" style="width: 60%"
10
+ v-model="model.startDate"
11
+ :value.sync="model.startDate"
12
+ :disabled-days-of-Week="[]"
13
+ :format="'yyyy-MM-dd HH:mm:ss'"
14
+ :show-reset-button="reset">
15
+ </datepicker>
16
+ </div>
17
+ <div class="col-sm-2 form-group" >
18
+ <label class="font_normal_body" for="endDate">结束日期:</label>
19
+ <datepicker id="endDate" placeholder="结束日期" style="width: 60%"
20
+ v-model="model.endDate"
21
+ :value.sync="model.endDate"
22
+ :disabled-days-of-Week="[]"
23
+ :format="'yyyy-MM-dd HH:mm:ss'"
24
+ :show-reset-button="reset">
25
+ </datepicker>
26
+ </div><!--
27
+ <div class="col-sm-2 form-group">
28
+ <label class="font_normal_body">&nbsp;&nbsp;&nbsp;公司&nbsp;&nbsp;&nbsp; </label>
29
+ <right-tree @re-res="$parent.$parent.getRes" style="width: 60%"></right-tree>
30
+ </div>
31
+ <div class="col-sm-2 form-group">
32
+ <label class="font_normal_body">&nbsp;&nbsp;&nbsp;部门&nbsp;&nbsp;&nbsp; </label>
33
+ <res-select restype='department'
34
+ is-mul="false"
35
+ @res-select="$parent.$parent.getdep"
36
+ :parentresid="$parent.$parent.depresid"
37
+ :initresid='$parent.$parent.depid'>
38
+ </res-select>
39
+
40
+ </div>
41
+ <div class="col-sm-2 form-group">
42
+ <label class="font_normal_body">&nbsp;&nbsp;&nbsp;人员&nbsp;&nbsp;&nbsp; </label>
43
+ <res-select restype='user'
44
+ is-mul="false"
45
+ @res-select="$parent.$parent.getuser"
46
+ :parentresid="$parent.$parent.userresid"
47
+ :initresid='$parent.$parent.operatorid'>
48
+ </res-select>
49
+ </div>
50
+ -->
51
+ <new-res-select-group :show-component="$parent.$parent.resshow" :select-default="true" :selectin="true" :initres="$parent.$parent.initres" :cascade =true @re-res="$parent.$parent.getRes" v-ref:sel></new-res-select-group>
52
+ </div>
53
+ <div class="span" style = "float:right;">
54
+ <button class="button_search" @click="$parent.$parent.searchData()">查询</button>
55
+ <report-print id='gasprice' top='3cm' left='0' width='100%' height='100%' :preview="true"></report-print>
56
+ <report-excel id='gasprice'></report-excel>
57
+ <div style="float: right" class="button_spacing" :class="{'button_shrink_top':$parent.$parent.criteriaShow,
58
+ 'button_shrink_bottom':!$parent.$parent.criteriaShow}" @click="$parent.$parent.hidden()"></div>
59
+ </div>
60
+ <div class="row" v-show="$parent.$parent.criteriaShow">
61
+ <div class="col-sm-2 form-group">
62
+ <label class="font_normal_body">用户类型</label>
63
+ <v-select :value.sync="$parent.$parent.f_user_type"
64
+ v-model="$parent.$parent.f_user_type"
65
+ :options='$parent.$parent.user_type' placeholder='请选择'
66
+ condition="f_user_type = '{}'"
67
+ close-on-select></v-select>
68
+ </div>
69
+ <!--<div class="col-sm-2 form-group">-->
70
+ <!--<label class="font_normal_body">收费状态</label>-->
71
+ <!--<v-select :value.sync="$parent.$parent.f_state" multiple-->
72
+ <!--v-model="$parent.$parent.f_state"-->
73
+ <!--:options='$parent.$parent.charge_state' placeholder='请选择'-->
74
+ <!--condition="f_state in {}"-->
75
+ <!--close-on-select></v-select>-->
76
+ <!--</div>-->
77
+ </div>
78
+ </div>
79
+ </criteria>
80
+ <div partial='list' v-el:handcollect id='gasprice' style="overflow-y: scroll">
81
+ <table class='tableprint' style="margin: 0px auto">
82
+ <thead>
83
+ <tr>
84
+ <th :colspan='$parent.spans' style="font-weight: normal; text-align: left;">
85
+ <h3 style="text-align: center">收费结账报表</h3>
86
+ </th>
87
+ </tr>
88
+ <tr>
89
+ <th :colspan='$parent.spans' style="font-weight: normal; text-align: center;">
90
+ 开始时间:{{model.model.startDate}}&nbsp;&nbsp;&nbsp;
91
+ 结束时间:{{ model.model.endDate }}&nbsp;&nbsp;<br/>
92
+ <!--打印时间:{{{$parent.printTime}}}-->
93
+ 打印时间:{{$parent.printTime}}
94
+ <!--收费员:{{// $parent.operatorname}}-->
95
+ </th>
96
+ </tr>
97
+ <tr>
98
+ <th :colspan='$parent.spans' style="font-weight: normal; text-align: center;">
99
+ <div>
100
+ <span style="font-weight: normal;text-align: center;margin:5px 15px" v-show="$parent.orgname">公司:{{$parent.orgname}}</span>
101
+ <span v-show="$parent.depname"> 部门:{{$parent.depname}}</span>
102
+ <span style="font-weight: normal;text-align: center;margin:5px 15px" v-show="$parent.operatorname">人员:{{$parent.operatorname}}</span>
103
+ </div>
104
+ </th>
105
+ </tr>
106
+ </thead>
107
+ <tr>
108
+ <td :colspan='$parent.spans' class="noborder">
109
+ {{{ model.data.substring(26,model.data.length-8) }}}
110
+ </td>
111
+ </tr>
112
+ <tfoot>
113
+ <tr style="text-align: left">
114
+ <th :colspan='Math.floor($parent.spans/3)'>财务审核:</th>
115
+ <th :colspan='Math.floor($parent.spans/3)'>收款审核:</th>
116
+ <th :colspan='Math.floor($parent.spans/3)'>收款员:</th>
117
+ </tr>
118
+ </tfoot>
119
+ </table>
120
+ {{{ $parent.reportStr}}}
121
+ </div>
122
+ </criteria-paged>
123
+ </div>
124
+ </template>
125
+
126
+ <script>
127
+ import { DataModel } from 'vue-client'
128
+ import co from 'co'
129
+
130
+ export default {
131
+ title: '收费结账报表',
132
+ props: ['data'],
133
+ data () {
134
+ return {
135
+ printTime: this.$login.toStandardTimeString(),
136
+ depresid: [],
137
+ userresid: [],
138
+ f_orgid: this.$login.f.orgid,
139
+ f_depid: this.$login.f.depids,
140
+ // f_operatorid: this.$login.f.id,
141
+ operatorid: [],
142
+ depid: [],
143
+ orgname: '',
144
+ depname: '',
145
+ criteriaShow: false,
146
+ operatorname: '',
147
+ orgCondtionStr: '1=1',
148
+ f_user_type: '',
149
+ f_state:['有效'],
150
+ model: new DataModel('api/af-revenue/report/getmoneyall', {startDate: 'this.model.startDate', endDate: 'this.model.endDate',
151
+ f_orgid: 'this.model.f_orgid'}),
152
+ reportStr: null,
153
+ resshow:['company','department','operator'],
154
+ spans: 0,
155
+ initres: {
156
+ org: [this.$login.f.orgid],
157
+ dep: [],
158
+ user: []
159
+ }
160
+ }
161
+ },
162
+ ready () {
163
+ this.$refs.paged.$refs.criteria.model.startDate = this.$login.toStandardDateString() + ' 00:00:00'
164
+ this.$refs.paged.$refs.criteria.model.endDate = this.$login.toStandardDateString() + ' 23:59:59'
165
+ console.log(this.$login.f)
166
+ },
167
+ methods: {
168
+ searchData () {
169
+ this.$refs.paged.$refs.criteria.search()
170
+ },
171
+ selfSearch (args) {
172
+ this.printTime = this.$login.toStandardTimeString()
173
+ let orgcondition = '1=1'
174
+ let orgstr = this.orgCondtionStr
175
+ orgcondition = orgcondition + orgstr
176
+ console.log('23231312321:',this.f_user_type)
177
+ if(this.f_user_type && this.f_user_type[0]) {
178
+ orgcondition += ` and f_user_type = '${ this.f_user_type} '`
179
+ }
180
+ /* if (this.f_orgid && this.f_orgid[0]) {
181
+ orgcondition += ` and f_orgid in ('${this.f_orgid}')`
182
+ }
183
+ if (this.f_depid && this.f_depid[0]) {
184
+ orgcondition += ` and f_depid in ('${this.f_depid}')`
185
+ }
186
+ if(this.f_operatorid && this.f_operatorid[0]) {
187
+ orgcondition += ` and f_operatorid in ('${this.f_operatorid}')`
188
+ }*/
189
+ this.$refs.paged.$refs.criteria.model.f_orgid = orgcondition
190
+ this.$refs.paged.search(args)
191
+ },
192
+
193
+ hidden() {
194
+ this.criteriaShow = !this.criteriaShow
195
+ },
196
+ getRes (condition, obj) {
197
+ this.orgCondtionStr = condition
198
+ this.orgname = obj.orgnames[0]
199
+ this.depname = obj.depnames[0]
200
+ console.log(obj,"========")
201
+ this.operatorname = obj.operatornames[0]
202
+ },
203
+ getdep (obj, val) {
204
+ this.depname = val[0]
205
+ this.userresid = obj
206
+ this.f_depid = obj
207
+ },
208
+ getuser ( obj, val) {
209
+ this.operatorname = val[0]
210
+ this.f_operatorid = obj
211
+ }
212
+ },
213
+ watch: {
214
+ 'model.data' (val) {
215
+ let len=0
216
+ let a=val.split('</tr>')
217
+ for(let i=0;i<a.length;i++){
218
+ if(a[i].split('</td>').length-1>len){
219
+ len=a[i].split('</td>').length-1
220
+ }
221
+ }
222
+ this.spans = len
223
+ }
224
+ },
225
+ computed: {
226
+ charge_state() {
227
+ return [{label: '全部', value: ''}, ...this.$appdata.getParam('收费状态')]
228
+ },
229
+ user_type () {
230
+ return [{label: '全部', value: ''}, ...this.$appdata.getParam('用户类型')]
231
+ }
232
+ }
233
+ }
234
+ </script>
235
+ <style scoped>
236
+ .noborder{
237
+ border: none;
238
+ }
239
+ </style>
@@ -0,0 +1,203 @@
1
+ <template>
2
+ <div :class="style" v-show="companyshow">
3
+ <label class="font_normal_body">公&emsp;&emsp;司</label>
4
+ <right-tree @re-res="getorg"
5
+ :mustselect="mustselect"
6
+ :initresid='initres.org'></right-tree>
7
+ </div>
8
+ <div :class="style" v-show="departmentshow">
9
+ <label class="font_normal_body">部&emsp;&emsp;门</label>
10
+ <res-select restype='department' v-ref:department
11
+ @res-select="getdep"
12
+ :parentresid="depresid"
13
+ :initresid='initres.dep'
14
+ :mustselect="mustselect"
15
+ :is-mul="mul">
16
+ </res-select>
17
+ </div>
18
+ <div :class="style" v-show="operatorshow && (!cascade)">
19
+ <label class="font_normal_body">人&emsp;&emsp;员</label>
20
+ <res-select restype='user'
21
+ @res-select="getuser"
22
+ :parentresid="depresid"
23
+ :initresid='initres.user'
24
+ :mustselect="mustselect"
25
+ :is-mul="mul">
26
+ </res-select>
27
+ </div>
28
+ <div :class="style" v-show="operatorshow && cascade">
29
+ <label class="font_normal_body">人&emsp;&emsp;员</label>
30
+ <res-select restype='user'
31
+ @res-select="getuser"
32
+ :parentresid="userresid"
33
+ :initresid='initres.user'
34
+ :mustselect="mustselect"
35
+ :is-mul="mul">
36
+ </res-select>
37
+ </div>
38
+ <div :class="style " v-if="sliceareashow" >
39
+ <label class="font_normal_body">片&emsp;&emsp;区</label>
40
+ <v-select :value.sync="slice_area" v-model="slice_area" @change='getarea'
41
+ :options='sliceArea' placeholder='片区/管理站' filer-key="name"
42
+ close-on-select v-ref:slice>
43
+ </v-select>
44
+ </div>
45
+ </template>
46
+ <script>
47
+ import plugin from '../../plugins/GetLoginInfoService'
48
+ import { HttpResetClass } from 'vue-client'
49
+ export default {
50
+ title: '资源选择测试',
51
+ props: {
52
+ style: {
53
+ type: String,
54
+ default: 'col-sm-2 form-group'
55
+ },
56
+ mul: {
57
+ type: Boolean,
58
+ default: true
59
+ },
60
+ //初始值
61
+ initres: {
62
+ type: Object,
63
+ default: null,
64
+ },
65
+ showComponent:{
66
+ default:['company','department','operator','slicearea']
67
+ },
68
+ selectDefault: {
69
+ type: Boolean,
70
+ default: true
71
+ },
72
+ //人员是否和部门关联
73
+ cascade: {
74
+ type: Boolean,
75
+ default: true
76
+ },
77
+ selectin: {
78
+ type: Boolean,
79
+ default: true
80
+ }
81
+ },
82
+ data () {
83
+ return {
84
+ orgresid:[this.$login.f.orgid],
85
+
86
+ depresid:[],
87
+ userresid:[],
88
+ operatorsid: [],
89
+ sliceArea: [],
90
+ slice_area:[],
91
+ companyshow:false,
92
+ departmentshow:false,
93
+ operatorshow:false,
94
+ sliceareashow:false,
95
+ mustselect:false,
96
+ obj:{
97
+ orgnames:[],
98
+ depnames:[],
99
+ operatornames:[]
100
+ }
101
+ }
102
+ },
103
+ ready () {
104
+ if(this.selectDefault && this.selectin){
105
+ this.initres.dep = [this.$login.f.depids]
106
+ }
107
+ if(this.selectDefault && this.selectin){
108
+ this.initres.user = [this.$login.f.id]
109
+ if(this.$login.r.includes('人员强制选中')){
110
+ this.mustselect = true
111
+ }
112
+ }
113
+ this.initComponent();
114
+ this.initAreas(this.$login.f.orgid)
115
+ },
116
+ methods:{
117
+ initComponent(){
118
+ let self=this;
119
+ this.showComponent.find((item)=>{
120
+ switch(item){
121
+ case 'company': self.companyshow=true; break;
122
+ case 'department': self.departmentshow=true; break;
123
+ case 'operator': self.operatorshow=true; break;
124
+ case 'slicearea': self.sliceareashow=true; break;
125
+ }
126
+ })
127
+ },
128
+ // 初始化片区
129
+ async initAreas (val) {
130
+ if (val) {
131
+ let http = new HttpResetClass()
132
+ let getAllArea = await http.load('POST', '/rs/search', {
133
+ source: 'this.getParentByType($organization$).getAllChildrens().where(row.getType() == $zone$)',
134
+ userid: this.$login.f.id
135
+ }, {resolveMsg: null, rejectMsg: '获取片区出错!!!'})
136
+ let arr = getAllArea.data.filter((res) => {
137
+ return res.parentid == val
138
+ })
139
+ this.sliceArea = []
140
+ this.slice_area = []
141
+ arr.forEach((res) => {
142
+ this.sliceArea.push({label: res.name, value: {name: res.name, code:res.number}})
143
+ })
144
+ }
145
+ },
146
+ returnOrg(ids){
147
+ let limit = this.$login.r.includes('数据授权限定')
148
+
149
+ let condition;
150
+ if(this.depresid.length > 0)
151
+ condition = " and f_orgid in " + plugin.convertToIn(this.depresid);
152
+ else
153
+ condition = " and f_orgid = " + this.$login.f.orgid;
154
+ if(this.userresid.length > 0){
155
+ condition += " and f_depid in " + plugin.convertToIn(this.userresid);
156
+ } else {
157
+ if (limit) {
158
+ let depids = []
159
+ for (let row of this.$refs.department.resoptions) {
160
+ depids.push(row.value)
161
+ }
162
+ let depid = depids.length ? plugin.convertToIn(depids) : ('')
163
+ condition += " and f_depid in " + depid;
164
+ }
165
+ }
166
+ if(ids && ids.length > 0){
167
+ condition += " and f_operatorid in " + plugin.convertToIn(ids);
168
+ }
169
+ if(this.slice_area.length>0){
170
+ condition += " and f_zones = '" + this.slice_area[0].name+"'"
171
+ }
172
+ this.$dispatch('re-res',condition,this.obj)
173
+ },
174
+ getorg (obj) {
175
+ this.depresid=obj.resids
176
+ this.obj.orgnames = obj.res
177
+ this.initAreas(obj.resids)
178
+ this.returnOrg();
179
+ },
180
+ getdep(obj,val) {
181
+ this.obj.depnames = val
182
+ this.userresid=obj
183
+ this.returnOrg();
184
+ },
185
+ getuser(obj,val) {
186
+ this.obj.operatornames = val
187
+ this.operatorsid = obj
188
+ this.returnOrg(obj);
189
+ },
190
+ getarea(val) {
191
+ this.slice_area=val
192
+ if(this.operatorsid){
193
+ this.returnOrg(this.operatorsid);
194
+ }else{
195
+ this.returnOrg();
196
+ }
197
+ }
198
+ },
199
+ watch: {
200
+
201
+ }
202
+ }
203
+ </script>
@@ -3,4 +3,9 @@ import Vue from 'vue'
3
3
  export default function () {
4
4
  // 客户查询
5
5
  Vue.component('user-query', (resolve) => { require(['./UserQuery'], resolve) })
6
+ Vue.component('new-res-select-group', (resolve) => { require(['./ResSelectGroup'], resolve) })
7
+ // 报表展示组件(收费汇总报表)
8
+ Vue.component('manage-bus-summary', (resolve) => {
9
+ require(['./ManageBusSummary'], resolve)
10
+ })
6
11
  }