manage-client 4.1.132 → 4.1.133

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.
@@ -6,7 +6,7 @@ const proxyMiddleware = require('http-proxy-middleware')
6
6
  const app = express()
7
7
  const compiler = webpack(config)
8
8
 
9
- const server = 'http://192.168.50.67:31567/'
9
+ const server = 'http://172.168.1.11:8400/'
10
10
  const local = 'http://127.0.0.1:9026/'
11
11
  const proxyTable = {
12
12
  '/rs/logic/exportfile': {
@@ -16,22 +16,22 @@ const proxyTable = {
16
16
  target: server
17
17
  },
18
18
  '/api/af-revenue/sql/': {
19
- pathRewrite: {
20
- '^/api/af-revenue': '/'
21
- },
22
- target: local
19
+ // pathRewrite: {
20
+ // '^/api/af-revenue': '/'
21
+ // },
22
+ target: server
23
23
  },
24
24
  '/api/af-revenue/report/': {
25
- pathRewrite: {
26
- '^/api/af-revenue': '/'
27
- },
28
- target: local
25
+ // pathRewrite: {
26
+ // '^/api/af-revenue': '/'
27
+ // },
28
+ target: server
29
29
  },
30
30
  '/api/af-revenue/logic': {
31
- pathRewrite: {
32
- '^/api/af-revenue': '/'
33
- },
34
- target: local
31
+ // pathRewrite: {
32
+ // '^/api/af-revenue': '/'
33
+ // },
34
+ target: server
35
35
  },
36
36
  '/api': {
37
37
  target: server
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "manage-client",
3
- "version": "4.1.132",
3
+ "version": "4.1.133",
4
4
  "description": "经营管控模块前台组件",
5
5
  "main": "src/index.js",
6
6
  "directories": {
@@ -67,11 +67,11 @@
67
67
  "style": "0.0.3",
68
68
  "style-loader": "^0.20.3",
69
69
  "swiper": "^5.4.5",
70
- "system-clients": "4.0.12",
70
+ "system-clients": "3.2.97-weinan",
71
71
  "ldap-clients": "3.0.96",
72
72
  "url-loader": "^0.5.7",
73
73
  "vue-amap": "0.5.10",
74
- "vue-client": "1.26.6",
74
+ "vue-client": "1.24.117",
75
75
  "vue-hot-reload-api": "^1.2.0",
76
76
  "vue-html-loader": "^1.0.0",
77
77
  "vue-loader": "8.2.1",
@@ -0,0 +1,329 @@
1
+ <template>
2
+ <div class="basic-main" style="height: 98%">
3
+ <criteria-paged :model="model" :pager='false' v-ref:paged>
4
+ <criteria partial='criteria' @condition-changed='$parent.selfSearch' v-ref:criteria>
5
+ <p class="bg-info text-center" style="padding: 8px;">营业厅明细首页</p>
6
+ <div class="form-group" v-if="!$parent.$parent.data.f_files_path"></div>
7
+ <div novalidate class="form-horizontal select-overspread container-fluid auto" partial >
8
+ <div class="row">
9
+ <div class="col-sm-4" >
10
+ <label class="font_normal_body" for="startDate">开始日期:</label>
11
+ <datepicker id="startDate" placeholder="开始日期" style="width: 60%"
12
+ v-model="$parent.$parent.startdate"
13
+ :value.sync="$parent.$parent.startdate"
14
+ :disabled-days-of-Week="[]"
15
+ :format="'yyyy-MM-dd HH:mm:ss'"
16
+ :show-reset-button="reset">
17
+ </datepicker>
18
+ </div>
19
+ <div class="col-sm-4" >
20
+ <label class="font_normal_body" for="endDate">结束日期:</label>
21
+ <datepicker id="endDate" placeholder="结束日期" style="width: 60%"
22
+ v-model="$parent.$parent.enddate"
23
+ :value.sync="$parent.$parent.enddate"
24
+ :disabled-days-of-Week="[]"
25
+ :format="'yyyy-MM-dd HH:mm:ss'"
26
+ :show-reset-button="reset">
27
+ </datepicker>
28
+ </div>
29
+ <div class="col-sm-4">
30
+ <label class="font_normal_body">&nbsp;&nbsp;&nbsp;公司&nbsp;&nbsp;&nbsp; </label>
31
+ <right-tree @re-res="$parent.$parent.getRes"></right-tree>
32
+ </div>
33
+ <div class="col-sm-4">
34
+ <label class="font_normal_body">&nbsp;&nbsp;&nbsp;部门&nbsp;&nbsp;&nbsp; </label>
35
+ <res-select-filter restype='department'
36
+ @res-select="$parent.$parent.getdep"
37
+ :parentresid="$parent.$parent.depresid"
38
+ :initresid='$parent.$parent.depid'
39
+ :filter-ids="$parent.$parent.getAllowedDepIds()">
40
+ </res-select-filter>
41
+
42
+ </div>
43
+ <div class="col-sm-4">
44
+ <label class="font_normal_body">&nbsp;&nbsp;&nbsp;人员&nbsp;&nbsp;&nbsp; </label>
45
+ <res-select-filter restype='user'
46
+ @res-select="$parent.$parent.getuser"
47
+ :parentresid="$parent.$parent.userresid"
48
+ :initresid='$parent.$parent.operatorid'
49
+ :filter-ids="$parent.$parent.getAllowedUserIds()">
50
+ </res-select-filter>
51
+ </div>
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='2cm' left='2' width='100%' height='100%' :preview="true"></report-print>
56
+ <report-excel id='gasprice'></report-excel>
57
+ </div>
58
+ </div>
59
+ </criteria>
60
+ <div partial='list' v-el:handcollect id='gasprice' style="overflow-y: scroll">
61
+ <table class='tableprint' style="margin: 0px auto;border-spacing: 0px 0px;font-size:13px;" v-if="!$parent.data.f_files_path">
62
+ <thead>
63
+ <tr>
64
+ <th colspan='12' style="font-weight: normal; text-align: left; font-size: 2em
65
+ ;">
66
+ <h3 style="text-align: center">营业厅明细首页</h3>
67
+ </th>
68
+ </tr>
69
+ <tr>
70
+ <th colspan='12' style="font-weight: normal; text-align: left; font-size: 1em;">
71
+ <b style="text-align: left; font-size:15px;margin-left: 20px;" v-if="$parent.startDate==$parent.endDate">
72
+ {{$parent.startDate}}
73
+ </b>
74
+ <b style="text-align: left;font-size:15px;margin-left: 20px;" v-else>
75
+ {{$parent.startDate+" 至 "+$parent.endDate}}
76
+ </b>
77
+ </th>
78
+ </tr>
79
+ <tr >
80
+ <th colspan='12' class="noborder" style="font-weight: normal; text-align: center; font-size: 1em;">
81
+ <div style="text-align: left;font-size:15px;margin-left: 20px;">
82
+ <span v-show="$parent.orgFlag">{{$parent.orgname}}</span>
83
+ <span v-show="$parent.depFlag">{{$parent.depname}}</span>
84
+ <span v-show="$parent.operFlag">{{$parent.operatorname}}</span><br>
85
+ </div>
86
+ </th>
87
+ </tr>
88
+ </thead>
89
+ <tr class="noborder">
90
+ <td colspan='12' class="noborder">
91
+ {{{ model.data.substring(26,model.data.length-8) }}}
92
+ </td>
93
+ </tr>
94
+ <tfoot>
95
+ <tr style="text-align: left; font-size: 1em;">
96
+ <th colspan='4'>部门主管:</th>
97
+ <th colspan='2'>出纳:</th>
98
+ <th colspan='2'>审核:</th>
99
+ <th colspan='4'>制表:</th>
100
+ </tr>
101
+ </tfoot>
102
+ </table>
103
+ {{{ $parent.reportStr}}}
104
+ </div>
105
+ </criteria-paged>
106
+ <modal :show.sync="show" v-ref:modal small backdrop="false">
107
+ <header slot="modal-header" class="modal-header">
108
+ <h4 class="modal-title">输入文件名称</h4>
109
+ </header>
110
+ <article slot="modal-body" class="modal-body">
111
+ <div class="form-group">
112
+ <input type="text" class="form-control" v-model="filename" placeholder='保存的文件名'>
113
+ </div>
114
+ </article>
115
+ <footer slot="modal-footer" class="modal-footer">
116
+ <button v-show="show" type="button" class="btn btn-default" @click='close'>取消</button>
117
+ <button v-show="show" type="button" class="btn btn-success" @click='confirm(filename)'>确认</button>
118
+ </footer>
119
+ </modal>
120
+ </div>
121
+ </template>
122
+
123
+ <script>
124
+ import { DataModel } from 'vue-client'
125
+ import ResSelectFilter from './ResSelectFilter.vue'
126
+ import co from 'co'
127
+ let saveFile = function * (self) {
128
+ // 线验证文件是否重名
129
+ let count = yield self.$resetpost('api/af-revenue/sql/manageSingleTable',
130
+ {data: {tablename: 't_report_record', condition: `f_files_name = '${self.filename}'`}},
131
+ {resolveMsg: null, rejectMsg: null})
132
+ if (count.data.length > 0) {
133
+ self.$showAlert('无法保存,文件名重名', 'warning', 3000)
134
+ return
135
+ }
136
+ let saveBack = yield self.$resetpost('api/af-revenue/logic/saveReport', {f_files_content: self.$refs.paged.$els.handcollect.innerHTML,
137
+ f_files_name: self.filename, f_files_type: self.data.f_report_type, f_component_name: 'manage-bus-summary',
138
+ f_operator: this.$login.f.name, f_query_month: `${self.model.model.startDate}-${self.model.model.endDate}`,
139
+ f_outlets: this.$login.f.depname})
140
+ if (saveBack.data.status === 'succeed') {
141
+ self.show = false
142
+ self.filename = ''
143
+ // 后台保存完成,通知刷新
144
+ self.$dispatch('save-success', self.filename)
145
+ }
146
+ }
147
+ export default {
148
+ title: '营业厅明细首页',
149
+ components: {
150
+ ResSelectFilter
151
+ },
152
+ props: ['data'],
153
+ data () {
154
+ return {
155
+ depresid: [],
156
+ userresid: [],
157
+ f_orgid: this.$login.f.orgid,
158
+ f_depid: this.$login.f.depids,
159
+ f_operatorid: this.$login.f.id,
160
+ operatorid: [],
161
+ depid: [],
162
+ orgname: '',
163
+ depname: [],
164
+ operatorname: '',
165
+ orgCondtionStr: '1=1',
166
+ model: new DataModel('api/af-revenue/report/deptHomePage', {startDate: 'this.model.startDate', endDate: 'this.model.endDate',
167
+ f_orgid: 'this.model.f_orgid'}),
168
+ reportStr: null,
169
+ show: false,
170
+ startDate:"",
171
+ endDate:"",
172
+ startdate:'',
173
+ enddate:'',
174
+ orgFlag:false,
175
+ depFlag:false,
176
+ operFlag:false,
177
+ selectedOrgId: null,
178
+ selectedDepId: null,
179
+ allowedDepsByOrg: {
180
+ '3689': ['234624497607639042', '234624639551275010', '234625001985277954', '234624858028376066', '234625159867269122']
181
+ },
182
+ allowedUsersByDep: {
183
+ }
184
+ }
185
+ },
186
+ ready () {
187
+ this.startdate = this.$login.toStandardDateString() + ' 00:00:00'
188
+ this.enddate = this.$login.toStandardDateString() + ' 23:59:59'
189
+ this.startDate=this.startdate.substring(0,10)
190
+ this.endDate=this.startDate.substring(0,10)
191
+ console.log(this.$login.f)
192
+ },
193
+ methods: {
194
+ searchData () {
195
+ this.$refs.paged.$refs.criteria.search()
196
+ },
197
+ selfSearch (args) {
198
+ let f_dep=this.f_depid
199
+ let orgcondition = ` ts.f_orgid in ('${this.f_orgid}')`
200
+ if (f_dep[0]) {
201
+ orgcondition += " and ts.f_depid in('"+f_dep[0]+"'"
202
+ for( let i=1;i<f_dep.length;i++){
203
+ orgcondition += ",'"+f_dep[i]+"'"
204
+ }
205
+ orgcondition +=')'
206
+ }
207
+ if(this.f_operatorid[0]) {
208
+ orgcondition += ` and ts.f_operatorid in ('${this.f_operatorid}')`
209
+ }
210
+ // console.log(this.orgname,this.depname.toString(),this.operatorname)
211
+ this.$refs.paged.$refs.criteria.model.f_orgid = orgcondition
212
+ this.$refs.paged.search(args)
213
+ },
214
+ getRes (obj) {
215
+ this.orgname = obj.res[0]
216
+ this.depresid = obj.resids
217
+ this.f_orgid = obj.resids
218
+ this.selectedOrgId = obj.resids[0]
219
+ this.depid = []
220
+ this.f_depid = []
221
+ this.userresid = []
222
+ this.f_operatorid = []
223
+ this.operatorname = ''
224
+ this.depname = []
225
+ },
226
+ getdep (obj, val) {
227
+ this.depname = val
228
+ this.userresid = obj
229
+ this.f_depid = obj
230
+ this.selectedDepId = obj[0]
231
+ this.f_operatorid = []
232
+ this.operatorname = []
233
+ },
234
+ getAllowedDepIds() {
235
+ if (!this.selectedOrgId) return null
236
+ return this.allowedDepsByOrg[this.selectedOrgId] || null
237
+ },
238
+ getAllowedUserIds() {
239
+ if (!this.selectedDepId) return null
240
+ return this.allowedUsersByDep[this.selectedDepId] || null
241
+ },
242
+ getuser ( obj, val) {
243
+ this.operatorname = val[0]
244
+ this.f_operatorid = obj
245
+ },
246
+
247
+ // 根据文件路径获取储存的报表内容
248
+ getFileContent (path) {
249
+ this.$resetpost('api/af-revenue/logic/getReportFileContent', {f_files_path: path}, {resolveMsg: null, rejectMsg: null}).then((res) => {
250
+ this.reportStr = res.data.filecontent
251
+ this.model.state = '正确'
252
+ })
253
+ },
254
+ confirm () {
255
+ if (!this.filename || this.filename === '') {
256
+ this.$showAlert('无法保存,文件名不能为空', 'warning', 3000)
257
+ }
258
+ let saveGen = saveFile(this)
259
+ co(saveGen)
260
+ },
261
+ close () {
262
+ this.show = false
263
+ },
264
+ // 将报表保存成文件
265
+ confirmReport () {
266
+ this.show = true
267
+ this.filename = this.data.f_report_name + this.$login.toStandardDateString()
268
+ },
269
+ flag(){
270
+ if(this.orgname&&!this.depname.toString()&&!this.operatorname){
271
+ this.orgFlag=true
272
+ }else{
273
+ this.orgFlag=false
274
+ }
275
+ if(this.orgname&&this.depname.toString()&&!this.operatorname){
276
+ this.depFlag=true
277
+ }else{
278
+ this.depFlag=false
279
+ }
280
+ if(this.orgname&&this.depname.toString()&&this.operatorname){
281
+ this.operFlag=true
282
+ }else{
283
+ this.operFlag=false
284
+ }
285
+ }
286
+ },
287
+ watch: {
288
+ 'data' (val) {
289
+ if (val.f_files_path) {
290
+ this.getFileContent(val.f_files_path)
291
+ } else {
292
+ this.reportStr = null
293
+ }
294
+ },
295
+ 'orgname'(){
296
+ this.flag()
297
+ },
298
+ 'depname'(){
299
+ this.flag()
300
+ },
301
+ 'operatorname'(){
302
+ this.flag()
303
+ },
304
+ 'startdate'(val){
305
+ this.$refs.paged.$refs.criteria.model.startDate=this.startdate
306
+ this.startDate=this.startdate.substring(0,10)
307
+ console.log('startdate',val)
308
+ },
309
+ 'enddate'(val){
310
+ this.$refs.paged.$refs.criteria.model.endDate=this.enddate
311
+ this.endDate=this.enddate.substring(0,10)
312
+ console.log('enddate',val)
313
+ }
314
+ },
315
+ computed: {
316
+ operator () {
317
+ return this.$getParams('操作员查询用', [{label: '全部', value: ''}])
318
+ },
319
+ network () {
320
+ return this.$getParams('网点查询用', [{label: '全部', value: ''}])
321
+ }
322
+ }
323
+ }
324
+ </script>
325
+ <style scoped>
326
+ .noborder{
327
+ border: none;
328
+ }
329
+ </style>
@@ -32,12 +32,13 @@
32
32
  </div>
33
33
  <div class="col-sm-2 form-group">
34
34
  <label class="font_normal_body" for="dep" >部&emsp;&emsp;门:</label>
35
- <res-select id="dep" restype='department' style="width: 60%"
35
+ <res-select-filter id="dep" restype='department' style="width: 60%"
36
36
  is-mul="false"
37
37
  @res-select="$parent.$parent.getdep"
38
38
  :parentresid="$parent.$parent.depresid"
39
- :initresid='$parent.$parent.depid' >
40
- </res-select>
39
+ :initresid='$parent.$parent.depid'
40
+ :filter-ids="$parent.$parent.getAllowedDepIds()">
41
+ </res-select-filter>
41
42
 
42
43
  </div>
43
44
  <div class="col-sm-2 form-group">
@@ -147,6 +148,7 @@
147
148
 
148
149
  <script>
149
150
  import {DataModel, HttpResetClass} from 'vue-client'
151
+ import ResSelectFilter from './ResSelectFilter.vue'
150
152
  import co from 'co'
151
153
 
152
154
  let saveFile = function * (self) {
@@ -173,6 +175,9 @@
173
175
  export default {
174
176
  title: '用户新增销户统计报表',
175
177
  props: ['data'],
178
+ components: {
179
+ ResSelectFilter
180
+ },
176
181
  data () {
177
182
  return {
178
183
  printTime: this.$login.toStandardTimeString(),
@@ -196,7 +201,14 @@
196
201
  f_orgid: 'this.model.f_orgid',f_gasproperties: 'this.model.f_gasproperties'}),
197
202
  reportStr: null,
198
203
  show: false,
199
- spans: ''
204
+ spans: '',
205
+ selectedOrgId: null,
206
+ selectedDepId: null,
207
+ allowedDepsByOrg: {
208
+ '3689': ['234624497607639042', '234624639551275010', '234625001985277954', '234624858028376066', '234625159867269122']
209
+ },
210
+ allowedUsersByDep: {
211
+ }
200
212
  }
201
213
  },
202
214
  ready () {
@@ -225,14 +237,30 @@
225
237
  this.orgname = obj.res[0]
226
238
  this.depresid = obj.resids
227
239
  this.f_orgid = obj.resids
228
- console.log('this.f_orgid',this.f_orgid)
229
240
  this.initParams()
230
- this.qijia()
241
+ this.selectedOrgId = obj.resids[0]
242
+ this.depid = []
243
+ this.f_depid = []
244
+ this.userresid = []
245
+ this.f_operatorid = []
246
+ this.operatorname = ''
247
+ this.depname = ''
231
248
  },
232
249
  getdep (obj, val) {
233
250
  this.depname = val[0]
234
251
  this.userresid = obj
235
252
  this.f_depid = obj
253
+ this.selectedDepId = obj[0]
254
+ this.f_operatorid = []
255
+ this.operatorname = ''
256
+ },
257
+ getAllowedDepIds() {
258
+ if (!this.selectedOrgId) return null
259
+ return this.allowedDepsByOrg[this.selectedOrgId] || null
260
+ },
261
+ getAllowedUserIds() {
262
+ if (!this.selectedDepId) return null
263
+ return this.allowedUsersByDep[this.selectedDepId] || null
236
264
  },
237
265
  getuser ( obj, val) {
238
266
  this.operatorname = val[0]