manage-client 3.2.18 → 3.2.22

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.2.18",
3
+ "version": "3.2.22",
4
4
  "description": "经营管控模块前台组件",
5
5
  "main": "src/index.js",
6
6
  "directories": {
@@ -1,282 +1,242 @@
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
- <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="model.startDate"
13
- :value.sync="model.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="model.endDate"
23
- :value.sync="model.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">气表类型</label>
35
- <v-select :value.sync="model.f_meter_type" multiple
36
- :options='$parent.$parent.metertypes' placeholder='请选择' v-model="model.f_meter_type"
37
- condition="biaoleixing in {}"
38
- close-on-select></v-select>
39
- </div>
40
- <div class="col-sm-4">
41
- <label class="font_normal_body">气表品牌</label>
42
- <v-select :value.sync="model.f_meter_brand"
43
- v-model="model.f_meter_brand"
44
- :options='$parent.$parent.meterbrands' placeholder='请选择'
45
- condition="biaopinpai = '{}'"
46
- close-on-select></v-select>
47
- </div>
48
- </div>
49
- <div class="span" style = "float:right;">
50
- <button class="button_search" @click="$parent.$parent.searchData()">查询</button>
51
- <report-print id='gasprice' top='3cm' left='0' width='100%' height='100%' :preview="true"></report-print>
52
- <report-excel id='gasprice'></report-excel>
53
- <!-- <div style="float: right" class="button_spacing" :class="{'button_shrink_top':$parent.$parent.criteriaShow,'button_shrink_bottom':!$parent.$parent.criteriaShow}" @click="$parent.$parent.hidden()"></div>-->
54
- </div>
55
- </div>
56
- </criteria>
57
- <div partial='list' v-el:handcollect id='gasprice' style="overflow-y: scroll">
58
- <table class='tableprint' style="margin: 0px auto" v-if="!$parent.data.f_files_path">
59
- <thead>
60
- <tr>
61
- <th :colspan='$parent.tablen' style="font-weight: normal; text-align: left;">
62
- <h3 style="text-align: center">气表售气量</h3>
63
- </th>
64
- </tr>
65
- <tr>
66
- <th :colspan='$parent.tablen' style="font-weight: normal; text-align: center;">
67
- 时间区间:{{$refs.criteria.model.startDate}} - {{ $refs.criteria.model.endDate }}<br/>
68
- 打印时间:{{{$parent.printTime}}}
69
- </th>
70
- </tr>
71
- <tr>
72
- <th :colspan='$parent.tablen' style="font-weight: normal; text-align: center;">
73
- <div>
74
- <span v-show="$parent.orgname.trim()!=''">公司:{{$parent.orgname}}</span>
75
- </div>
76
- </th>
77
- </tr>
78
- </thead>
79
- <tr>
80
- <td :colspan='$parent.tablen' style="border-style: none;">
81
- {{{ model.data.replace(' ',' style="border-collapse:collapse; border:none;border: solid #000 2px;" ') }}}
82
- </td>
83
- </tr>
84
- <tfoot>
85
- <tr style="text-align: left">
86
- <th :colspan='$parent.tablen/3'>财务审核:</th>
87
- <th :colspan='$parent.tablen/3'>收款审核:</th>
88
- <th :colspan='$parent.tablen/3'>收款员:</th>
89
- </tr>
90
- </tfoot>
91
- </table>
92
- {{{ $parent.reportStr}}}
93
- </div>
94
- </criteria-paged>
95
- <modal :show.sync="show" v-ref:modal small backdrop="false">
96
- <header slot="modal-header" class="modal-header">
97
- <h4 class="modal-title">输入文件名称</h4>
98
- </header>
99
- <article slot="modal-body" class="modal-body">
100
- <div class="form-group">
101
- <input type="text" class="form-control" v-model="filename" placeholder='保存的文件名'>
102
- </div>
103
- </article>
104
- <footer slot="modal-footer" class="modal-footer">
105
- <button v-show="show" type="button" class="btn btn-default" @click='close'>取消</button>
106
- <button v-show="show" type="button" class="btn btn-success" @click='confirm(filename)'>确认</button>
107
- </footer>
108
- </modal>
109
- </div>
110
- </template>
111
-
112
- <script>
113
- import {DataModel, HttpResetClass} from 'vue-client'
114
- import co from 'co'
115
- let saveFile = function * (self) {
116
- // 线验证文件是否重名
117
- let count = yield self.$resetpost('rs/sql/manageSingleTable',
118
- {data: {tablename: 't_report_record', condition: `f_files_name = '${self.filename}'`}},
119
- {resolveMsg: null, rejectMsg: null})
120
- if (count.data.length > 0) {
121
- self.$showAlert('无法保存,文件名重名', 'warning', 3000)
122
- return
123
- }
124
- let saveBack = yield self.$resetpost('rs/logic/saveReport', {f_files_content: self.$refs.paged.$els.handcollect.innerHTML,
125
- f_files_name: self.filename, f_files_type: self.data.f_report_type, f_component_name: 'manage-bus-summary',
126
- f_operator: this.$login.f.name, f_query_month: `${self.model.model.startDate}-${self.model.model.endDate}`,
127
- f_outlets: this.$login.f.depname})
128
- if (saveBack.data.status === 'succeed') {
129
- self.show = false
130
- self.filename = ''
131
- // 后台保存完成,通知刷新
132
- self.$dispatch('save-success', self.filename)
133
- }
134
- }
135
- export default {
136
- title: '气表售气量',
137
- props: ['data'],
138
- data () {
139
- return {
140
- printTime: this.$login.toStandardTimeString(),
141
- depresid: [],
142
- userresid: [],
143
- f_orgid: this.$login.f.orgid,
144
- f_depid: this.$login.f.depids,
145
- f_operatorid: this.$login.f.id,
146
- operatorid: [],
147
- depid: [],
148
- tablen:0,
149
- orgname: '',
150
- depname: '',
151
- operatorname: '',
152
- orgCondtionStr: '1=1',
153
- model: new DataModel('rs/report/qibiao-shouqi', {startDate: 'this.model.startDate', endDate: 'this.model.endDate',
154
- f_orgid: 'this.model.f_orgid'}),
155
- reportStr: null,
156
- criteriaShow: false,
157
- // 下拉框
158
- meterbrands: [],
159
- show: false,
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
- // let brandArr = []
167
- // this.$MagGetSaleParam.getGasbrand().forEach((item) => {
168
- // let temp = {}
169
- // temp.label = item.label
170
- // temp.value = item.value.f_meter_brand
171
- // brandArr.push(temp)
172
- // })
173
- // this.meterbrands = [{label: '全部', value: ''}, ...brandArr]
174
- this.initParams()
175
- },
176
- methods: {
177
- async initParams (condition) {
178
- // 初始化气表品牌
179
- let HttpReset = new HttpResetClass()
180
- let yy=this.$refs.paged.$refs.criteria.model.f_meter_type
181
- var data = await HttpReset.load('POST', 'rs/sql/singleTable_Final', {
182
- data: {
183
- condition: '1=1 and f_orgid in(' + this.f_orgid + ')' + (condition==null ? '' : condition),
184
- tablename: 't_gasbrand',
185
- groupitem: 'f_meter_brand',
186
- orderitem: 'f_meter_brand',
187
- items: 'f_meter_brand'
188
- }
189
- }, {resolveMsg: null, rejectMsg: '获取气表品牌失败!'})
190
- console.log('气表品牌-->',data)
191
- let brandArr = [{label: '全部', value: ''}]
192
- for (let row of data.data){
193
- brandArr.push({label: row.f_meter_brand, value: row.f_meter_brand})
194
- }
195
- this.meterbrands = brandArr
196
- },
197
- searchData () {
198
- this.$refs.paged.$refs.criteria.search()
199
- },
200
- selfSearch (args) {
201
- this.printTime = this.$login.toStandardTimeString()
202
- let orgcondition = ' f_orgid in (' + this.f_orgid + ')'
203
- this.$refs.paged.$refs.criteria.model.f_orgid = orgcondition
204
- this.$refs.paged.search(args)
205
- },
206
- getRes (obj) {
207
- this.orgname = obj.res[0]
208
- this.f_orgid = obj.resids
209
- this.initParams()
210
- },
211
-
212
- // 根据文件路径获取储存的报表内容
213
- getFileContent (path) {
214
- this.$resetpost('rs/logic/getReportFileContent', {f_files_path: path}, {resolveMsg: null, rejectMsg: null}).then((res) => {
215
- this.reportStr = res.data.filecontent
216
- this.model.state = '正确'
217
- })
218
- },
219
- confirm () {
220
- if (!this.filename || this.filename === '') {
221
- this.$showAlert('无法保存,文件名不能为空', 'warning', 3000)
222
- }
223
- let saveGen = saveFile(this)
224
- co(saveGen)
225
- },
226
- show() {
227
- this.criteriaShow = true
228
- },
229
- hidden() {
230
- this.criteriaShow = !this.criteriaShow
231
- },
232
- close () {
233
- this.show = false
234
- },
235
- // 将报表保存成文件
236
- confirmReport () {
237
- this.show = true
238
- this.filename = this.data.f_report_name + this.$login.toStandardDateString()
239
- }
240
- },
241
- watch: {
242
- 'data' (val) {
243
- if (val.f_files_path) {
244
- this.getFileContent(val.f_files_path)
245
- } else {
246
- this.reportStr = null
247
- }
248
- },
249
- 'model.data' (val) {
250
- let len=0
251
- let a=val.split('</tr>')
252
- for(let i=0;i<a.length;i++){
253
- if(a[i].split('</td>').length-1>len){
254
- len=a[i].split('</td>').length-1
255
- }
256
- continue
257
- }
258
- this.tablen=len
259
- },
260
- // '$refs.paged.$refs.criteria.model.f_meter_type' (val) {
261
- // this.initParams()
262
- // console.log('进入监听--------------------')
263
- // }
264
- },
265
- computed: {
266
- operator () {
267
- return this.$getParams('操作员查询用', [{label: '全部', value: ''}])
268
- },
269
- network () {
270
- return this.$getParams('网点查询用', [{label: '全部', value: ''}])
271
- },
272
- metertypes() {
273
- return [{label: ' 全部 ', value: ''}, ...this.$appdata.getParam('气表类型')]
274
- },
275
- }
276
- }
277
- </script>
278
- <style scoped>
279
- .noborder{
280
- border: none;
281
- }
282
- </style>
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"></right-tree>
30
+ </div>
31
+ <div class="col-sm-2 form-group">
32
+ <label class="font_normal_body" for="dep" >部&emsp;&emsp;门:</label>
33
+ <res-select id="dep" restype='department' style="width: 60%"
34
+ is-mul="false"
35
+ @res-select="$parent.$parent.getdep"
36
+ :parentresid="$parent.$parent.depresid"
37
+ :initresid='$parent.$parent.depid' >
38
+ </res-select>
39
+ </div>
40
+ <div class="col-sm-2 form-group">
41
+ <label class="font_normal_body" for="oper">人&emsp;&emsp;员:</label>
42
+ <res-select id="oper" restype='user' style="width: 60%"
43
+ is-mul="false"
44
+ @res-select="$parent.$parent.getuser"
45
+ :parentresid="$parent.$parent.userresid"
46
+ :initresid='$parent.$parent.operatorid'>
47
+ </res-select>
48
+ </div>
49
+ </div>
50
+ <div class="span" style = "float:right;">
51
+ <button class="button_search" @click="$parent.$parent.searchData()">查询</button>
52
+ <report-print id='gasprice' top='3cm' left='0' width='100%' height='100%' :preview="true"></report-print>
53
+ <report-excel id='gasprice'></report-excel>
54
+ <div style="float: right" class="button_spacing" :class="{'button_shrink_top':$parent.$parent.criteriaShow,
55
+ 'button_shrink_bottom':!$parent.$parent.criteriaShow}" @click="$parent.$parent.hidden()"></div>
56
+ </div>
57
+ <div class="row" v-show="$parent.$parent.criteriaShow">
58
+ <div class="col-sm-2 form-group">
59
+ <label class="font_normal_body">气表类型</label>
60
+ <v-select :value.sync="model.f_meter_type" multiple
61
+ :options='$parent.$parent.metertypes' placeholder='请选择' v-model="model.f_meter_type"
62
+ condition="f_meter_classify in {}"
63
+ close-on-select></v-select>
64
+ </div>
65
+ <div class="col-sm-2 form-group">
66
+ <label class="font_normal_body">气表品牌</label>
67
+ <v-select :value.sync="model.f_meter_brand"
68
+ v-model="model.f_meter_brand"
69
+ :options='$parent.$parent.meterbrands' placeholder='请选择'
70
+ condition="f_meter_brand = '{}'"
71
+ close-on-select></v-select>
72
+ </div>
73
+ </div>
74
+ </div>
75
+ </criteria>
76
+ <div partial='list' v-el:handcollect id='gasprice' style="overflow-y: scroll">
77
+ <table class='tableprint' style="margin: 0px auto">
78
+ <thead>
79
+ <tr>
80
+ <th :colspan='$parent.tablen' style="font-weight: normal; text-align: left;">
81
+ <h3 style="text-align: center">气表售气量</h3>
82
+ </th>
83
+ </tr>
84
+ <tr>
85
+ <th :colspan='$parent.tablen' style="font-weight: normal; text-align: center;">
86
+ 时间区间:{{$refs.criteria.model.startDate}} - {{ $refs.criteria.model.endDate }}<br/>
87
+ 打印时间:{{{$parent.printTime}}}
88
+ </th>
89
+ </tr>
90
+ <tr>
91
+ <th :colspan='$parent.tablen' style="font-weight: normal; text-align: center;">
92
+ <div>
93
+ <span v-show="$parent.orgname.trim()!=''">公司:{{$parent.orgname}}</span>
94
+ </div>
95
+ </th>
96
+ </tr>
97
+ </thead>
98
+ <tr>
99
+ <td :colspan='$parent.tablen' style="border-style: none;">
100
+ {{{ model.data.replace(' ',' style="border-collapse:collapse; border:none;border: solid #000 2px;" ') }}}
101
+ </td>
102
+ </tr>
103
+ <tfoot>
104
+ <tr style="text-align: left">
105
+ <th :colspan='$parent.tablen/3'>财务审核:</th>
106
+ <th :colspan='$parent.tablen/3'>收款审核:</th>
107
+ <th :colspan='$parent.tablen/3'>收款员:</th>
108
+ </tr>
109
+ </tfoot>
110
+ </table>
111
+ </div>
112
+ </criteria-paged>
113
+ </div>
114
+ </template>
115
+
116
+ <script>
117
+ import {DataModel, HttpResetClass} from 'vue-client'
118
+ import co from 'co'
119
+
120
+ export default {
121
+ title: '气表售气量',
122
+ props: ['data'],
123
+ data () {
124
+ return {
125
+ printTime: this.$login.toStandardTimeString(),
126
+ depresid: [],
127
+ userresid: [],
128
+ f_orgid: this.$login.f.orgid,
129
+ f_depid: this.$login.f.depids,
130
+ f_operatorid: this.$login.f.id,
131
+ operatorid: [],
132
+ depid: [],
133
+ tablen:0,
134
+ orgname: '',
135
+ depname: '',
136
+ operatorname: '',
137
+ orgCondtionStr: '1=1',
138
+ model: new DataModel('rs/report/qibiao-shouqi', {startDate: 'this.model.startDate', endDate: 'this.model.endDate',
139
+ f_orgid: 'this.model.f_orgid'}),
140
+ reportStr: null,
141
+ criteriaShow: false,
142
+ // 下拉框
143
+ meterbrands: [],
144
+ show: false,
145
+ }
146
+ },
147
+ ready () {
148
+ this.$refs.paged.$refs.criteria.model.startDate = this.$login.toStandardDateString() + ' 00:00:00'
149
+ this.$refs.paged.$refs.criteria.model.endDate = this.$login.toStandardDateString() + ' 23:59:59'
150
+ console.log(this.$login.f)
151
+ // let brandArr = []
152
+ // this.$MagGetSaleParam.getGasbrand().forEach((item) => {
153
+ // let temp = {}
154
+ // temp.label = item.label
155
+ // temp.value = item.value.f_meter_brand
156
+ // brandArr.push(temp)
157
+ // })
158
+ // this.meterbrands = [{label: '全部', value: ''}, ...brandArr]
159
+ this.initParams()
160
+ },
161
+ methods: {
162
+ async initParams (condition) {
163
+ // 初始化气表品牌
164
+ let HttpReset = new HttpResetClass()
165
+ let yy=this.$refs.paged.$refs.criteria.model.f_meter_type
166
+ var data = await HttpReset.load('POST', 'rs/sql/singleTable_Final', {
167
+ data: {
168
+ condition: '1=1 and f_orgid in(' + this.f_orgid + ')' + (condition==null ? '' : condition),
169
+ tablename: 't_gasbrand',
170
+ groupitem: 'f_meter_brand',
171
+ orderitem: 'f_meter_brand',
172
+ items: 'f_meter_brand'
173
+ }
174
+ }, {resolveMsg: null, rejectMsg: '获取气表品牌失败!'})
175
+ console.log('气表品牌-->',data)
176
+ let brandArr = [{label: '全部', value: ''}]
177
+ for (let row of data.data){
178
+ brandArr.push({label: row.f_meter_brand, value: row.f_meter_brand})
179
+ }
180
+ this.meterbrands = brandArr
181
+ },
182
+ searchData () {
183
+ this.$refs.paged.$refs.criteria.search()
184
+ },
185
+ selfSearch (args) {
186
+ this.printTime = this.$login.toStandardTimeString()
187
+ let orgcondition = '1=1'
188
+ if(this.f_orgid && this.f_orgid[0]) {
189
+ orgcondition += ' and f_orgid in (' + this.f_orgid + ')'
190
+ }
191
+ if (this.f_depid && this.f_depid[0]) {
192
+ orgcondition += ' and f_depid in (' + this.f_depid + ')'
193
+ }
194
+ if(this.f_operatorid && this.f_operatorid[0]) {
195
+ orgcondition += ' and f_operatorid in (' + this.f_operatorid + ')'
196
+ }
197
+ this.$refs.paged.$refs.criteria.model.f_orgid = orgcondition
198
+ this.$refs.paged.search(args)
199
+ },
200
+ getRes (obj) {
201
+ this.orgname = obj.res[0]
202
+ this.f_orgid = obj.resids
203
+ this.depresid = obj.resids
204
+ this.userresid = obj.resids
205
+ this.initParams()
206
+ },
207
+ getdep (obj, val) {
208
+ this.depname = val[0]
209
+ // this.userresid = obj
210
+ this.f_depid = obj
211
+ },
212
+ getuser ( obj, val) {
213
+ this.operatorname = val[0]
214
+ this.f_operatorid = obj
215
+ },
216
+ show() {
217
+ this.criteriaShow = true
218
+ },
219
+ hidden() {
220
+ this.criteriaShow = !this.criteriaShow
221
+ },
222
+ close () {
223
+ this.show = false
224
+ }
225
+ },
226
+ watch: {
227
+ 'model.data' (val) {
228
+ this.tablen = val.split('</tr>').map(item => item.split('</td>').length-1).reduce((x, y) => x > y ? x : y)
229
+ }
230
+ },
231
+ computed: {
232
+ metertypes() {
233
+ return [{label: ' 全部 ', value: ''}, ...this.$appdata.getParam('气表类型')]
234
+ }
235
+ }
236
+ }
237
+ </script>
238
+ <style scoped>
239
+ .noborder{
240
+ border: none;
241
+ }
242
+ </style>