manage-client 3.3.70 → 3.3.71

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,111 +1,111 @@
1
- {
2
- "name": "manage-client",
3
- "version": "3.3.70",
4
- "description": "经营管控模块前台组件",
5
- "main": "src/index.js",
6
- "directories": {
7
- "test": "test"
8
- },
9
- "dependencies": {
10
- "crypto-js": "^4.1.1",
11
- "swiper": "^5.4.5"
12
- },
13
- "devDependencies": {
14
- "axios": "0.15.3",
15
- "babel-core": "^6.0.0",
16
- "babel-loader": "^6.0.0",
17
- "babel-plugin-transform-runtime": "^6.0.0",
18
- "babel-preset-es2015": "^6.0.0",
19
- "babel-preset-stage-2": "^6.0.0",
20
- "chai": "^3.5.0",
21
- "co": "^4.6.0",
22
- "connect-history-api-fallback": "^1.1.0",
23
- "cross-env": "^1.0.7",
24
- "cross-spawn": "^2.1.5",
25
- "css-loader": "^0.23.0",
26
- "echarts": "^4.1.0",
27
- "eslint": "^2.0.0",
28
- "eslint-config-standard": "^5.1.0",
29
- "eslint-friendly-formatter": "^1.2.2",
30
- "eslint-loader": "^1.3.0",
31
- "eslint-plugin-html": "^1.3.0",
32
- "eslint-plugin-promise": "^1.0.8",
33
- "eslint-plugin-standard": "^1.3.2",
34
- "eslint-plugin-vue": "^0.1.1",
35
- "eventsource-polyfill": "^0.9.6",
36
- "express": "^4.13.3",
37
- "extract-text-webpack-plugin": "^1.0.1",
38
- "filemanager-webpack-plugin": "^2.0.5",
39
- "file-loader": "^0.8.4",
40
- "function-bind": "^1.0.2",
41
- "html-webpack-plugin": "^2.8.1",
42
- "http-proxy-middleware": "^0.11.0",
43
- "inject-loader": "^2.0.1",
44
- "isparta-loader": "^2.0.0",
45
- "jasmine-core": "^2.4.1",
46
- "jquery": "^3.3.1",
47
- "jsencrypt": "3.0.0-rc.1",
48
- "json-loader": "^0.5.4",
49
- "karma": "^1.4.1",
50
- "karma-chrome-launcher": "^2.2.0",
51
- "karma-coverage": "^1.1.1",
52
- "karma-mocha": "^1.3.0",
53
- "karma-sinon-chai": "^1.3.1",
54
- "karma-sourcemap-loader": "^0.3.7",
55
- "karma-spec-reporter": "0.0.31",
56
- "karma-webpack": "^2.0.2",
57
- "ldap-clients": "3.0.7",
58
- "less": "^2.7.3",
59
- "mkdirp": "^0.5.1",
60
- "mocha": "^3.2.0",
61
- "moment": "2.24.0",
62
- "ncp": "^2.0.0",
63
- "rimraf": "^2.5.0",
64
- "sale-client": "3.4.14",
65
- "selenium-server": "2.52.0",
66
- "sinon": "^2.1.0",
67
- "sinon-chai": "^2.8.0",
68
- "style": "0.0.3",
69
- "style-loader": "^0.20.3",
70
- "swiper": "^5.4.5",
71
- "system-clients": "3.2.61",
72
- "url-loader": "^0.5.7",
73
- "vue-amap": "0.5.10",
74
- "vue-client": "1.24.89",
75
- "vue-hot-reload-api": "^1.2.0",
76
- "vue-html-loader": "^1.0.0",
77
- "vue-loader": "8.2.1",
78
- "vue-resource": "^1.5.0",
79
- "vue-router": "^0.7.13",
80
- "vue-strap": "^1.0.9",
81
- "vue-style-loader": "^1.0.0",
82
- "vue-validator": "2.1.7",
83
- "webpack": "1.12.2",
84
- "webpack-dev-middleware": "^1.4.0",
85
- "webpack-hot-middleware": "^2.6.0",
86
- "webpack-merge": "^0.8.3",
87
- "webpack-parallel-uglify-plugin": "^1.0.0"
88
- },
89
- "scripts": {
90
- "unit": "karma start test/unit/karma.conf.js --single-run",
91
- "example": "node build/example-server.js",
92
- "dev": "node build/dev-server.js",
93
- "lint": "eslint src/**.js test/e2e/**.js test/unit/specs/** build/**.js",
94
- "oldbuild": "rimraf dist && mkdirp dist && ncp static dist/static && cross-env NODE_ENV=production webpack --progress --hide-modules --config build/webpack.oldprod.conf.js",
95
- "build": "rimraf lib && mkdirp lib && cross-env VUE_APP_ENTRY=saleManage webpack --progress --hide-modules --config build/webpack.prod.conf.js && cross-env VUE_APP_ENTRY=reportManage webpack --progress --hide-modules --config build/webpack.prod.conf.js && cross-env VUE_APP_BUILDEND=true VUE_APP_ENTRY=webmeterManage webpack --progress --hide-modules --config build/webpack.prod.conf.js",
96
- "buildSaleManage": "rimraf lib && mkdirp lib && cross-env VUE_APP_ENTRY=saleManage VUE_APP_SINGLE=true webpack --progress --hide-modules --config build/webpack.prod.conf.js",
97
- "buildReportManage": "rimraf lib && mkdirp lib && cross-env VUE_APP_ENTRY=reportManage VUE_APP_SINGLE=true webpack --progress --hide-modules --config build/webpack.prod.conf.js",
98
- "buildWebmeterManage": "rimraf lib && mkdirp lib && cross-env VUE_APP_ENTRY=webmeterManage VUE_APP_SINGLE=true webpack --progress --hide-modules --config build/webpack.prod.conf.js",
99
- "e2e": "node test/e2e/runner.js",
100
- "release": "bash build/release.sh"
101
- },
102
- "repository": {
103
- "type": "git",
104
- "url": "https://gitee.com/aote/management_modules.git"
105
- },
106
- "keywords": [
107
- "manage"
108
- ],
109
- "author": "liuxudong",
110
- "license": "ISC"
111
- }
1
+ {
2
+ "name": "manage-client",
3
+ "version": "3.3.71",
4
+ "description": "经营管控模块前台组件",
5
+ "main": "src/index.js",
6
+ "directories": {
7
+ "test": "test"
8
+ },
9
+ "dependencies": {
10
+ "crypto-js": "^4.1.1",
11
+ "swiper": "^5.4.5"
12
+ },
13
+ "devDependencies": {
14
+ "axios": "0.15.3",
15
+ "babel-core": "^6.0.0",
16
+ "babel-loader": "^6.0.0",
17
+ "babel-plugin-transform-runtime": "^6.0.0",
18
+ "babel-preset-es2015": "^6.0.0",
19
+ "babel-preset-stage-2": "^6.0.0",
20
+ "chai": "^3.5.0",
21
+ "co": "^4.6.0",
22
+ "connect-history-api-fallback": "^1.1.0",
23
+ "cross-env": "^1.0.7",
24
+ "cross-spawn": "^2.1.5",
25
+ "css-loader": "^0.23.0",
26
+ "echarts": "^4.1.0",
27
+ "eslint": "^2.0.0",
28
+ "eslint-config-standard": "^5.1.0",
29
+ "eslint-friendly-formatter": "^1.2.2",
30
+ "eslint-loader": "^1.3.0",
31
+ "eslint-plugin-html": "^1.3.0",
32
+ "eslint-plugin-promise": "^1.0.8",
33
+ "eslint-plugin-standard": "^1.3.2",
34
+ "eslint-plugin-vue": "^0.1.1",
35
+ "eventsource-polyfill": "^0.9.6",
36
+ "express": "^4.13.3",
37
+ "extract-text-webpack-plugin": "^1.0.1",
38
+ "filemanager-webpack-plugin": "^2.0.5",
39
+ "file-loader": "^0.8.4",
40
+ "function-bind": "^1.0.2",
41
+ "html-webpack-plugin": "^2.8.1",
42
+ "http-proxy-middleware": "^0.11.0",
43
+ "inject-loader": "^2.0.1",
44
+ "isparta-loader": "^2.0.0",
45
+ "jasmine-core": "^2.4.1",
46
+ "jquery": "^3.3.1",
47
+ "jsencrypt": "3.0.0-rc.1",
48
+ "json-loader": "^0.5.4",
49
+ "karma": "^1.4.1",
50
+ "karma-chrome-launcher": "^2.2.0",
51
+ "karma-coverage": "^1.1.1",
52
+ "karma-mocha": "^1.3.0",
53
+ "karma-sinon-chai": "^1.3.1",
54
+ "karma-sourcemap-loader": "^0.3.7",
55
+ "karma-spec-reporter": "0.0.31",
56
+ "karma-webpack": "^2.0.2",
57
+ "ldap-clients": "3.0.7",
58
+ "less": "^2.7.3",
59
+ "mkdirp": "^0.5.1",
60
+ "mocha": "^3.2.0",
61
+ "moment": "2.24.0",
62
+ "ncp": "^2.0.0",
63
+ "rimraf": "^2.5.0",
64
+ "sale-client": "3.4.14",
65
+ "selenium-server": "2.52.0",
66
+ "sinon": "^2.1.0",
67
+ "sinon-chai": "^2.8.0",
68
+ "style": "0.0.3",
69
+ "style-loader": "^0.20.3",
70
+ "swiper": "^5.4.5",
71
+ "system-clients": "3.2.61",
72
+ "url-loader": "^0.5.7",
73
+ "vue-amap": "0.5.10",
74
+ "vue-client": "1.24.89",
75
+ "vue-hot-reload-api": "^1.2.0",
76
+ "vue-html-loader": "^1.0.0",
77
+ "vue-loader": "8.2.1",
78
+ "vue-resource": "^1.5.0",
79
+ "vue-router": "^0.7.13",
80
+ "vue-strap": "^1.0.9",
81
+ "vue-style-loader": "^1.0.0",
82
+ "vue-validator": "2.1.7",
83
+ "webpack": "1.12.2",
84
+ "webpack-dev-middleware": "^1.4.0",
85
+ "webpack-hot-middleware": "^2.6.0",
86
+ "webpack-merge": "^0.8.3",
87
+ "webpack-parallel-uglify-plugin": "^1.0.0"
88
+ },
89
+ "scripts": {
90
+ "unit": "karma start test/unit/karma.conf.js --single-run",
91
+ "example": "node build/example-server.js",
92
+ "dev": "node build/dev-server.js",
93
+ "lint": "eslint src/**.js test/e2e/**.js test/unit/specs/** build/**.js",
94
+ "oldbuild": "rimraf dist && mkdirp dist && ncp static dist/static && cross-env NODE_ENV=production webpack --progress --hide-modules --config build/webpack.oldprod.conf.js",
95
+ "build": "rimraf lib && mkdirp lib && cross-env VUE_APP_ENTRY=saleManage webpack --progress --hide-modules --config build/webpack.prod.conf.js && cross-env VUE_APP_ENTRY=reportManage webpack --progress --hide-modules --config build/webpack.prod.conf.js && cross-env VUE_APP_BUILDEND=true VUE_APP_ENTRY=webmeterManage webpack --progress --hide-modules --config build/webpack.prod.conf.js",
96
+ "buildSaleManage": "rimraf lib && mkdirp lib && cross-env VUE_APP_ENTRY=saleManage VUE_APP_SINGLE=true webpack --progress --hide-modules --config build/webpack.prod.conf.js",
97
+ "buildReportManage": "rimraf lib && mkdirp lib && cross-env VUE_APP_ENTRY=reportManage VUE_APP_SINGLE=true webpack --progress --hide-modules --config build/webpack.prod.conf.js",
98
+ "buildWebmeterManage": "rimraf lib && mkdirp lib && cross-env VUE_APP_ENTRY=webmeterManage VUE_APP_SINGLE=true webpack --progress --hide-modules --config build/webpack.prod.conf.js",
99
+ "e2e": "node test/e2e/runner.js",
100
+ "release": "bash build/release.sh"
101
+ },
102
+ "repository": {
103
+ "type": "git",
104
+ "url": "https://gitee.com/aote/management_modules.git"
105
+ },
106
+ "keywords": [
107
+ "manage"
108
+ ],
109
+ "author": "liuxudong",
110
+ "license": "ISC"
111
+ }
@@ -1,240 +1,251 @@
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-3 form-group">
32
- <label class="font_normal_body" for="dep" >部&emsp;&emsp;门:</label>
33
- <v-select id="dep" style="width: 60%"
34
- :multiple="true"
35
- @change="$parent.$parent.getDep"
36
- :value.sync="model.f_depid"
37
- v-model="model.f_depid"
38
- :options='$parent.$parent.depresid' placeholder='请选择'
39
- condition="f_depid in {}">
40
- </v-select>
41
-
42
- </div>
43
- <div class="col-sm-3 form-group">
44
- <label class="font_normal_body" for="oper">人&emsp;&emsp;员:</label>
45
- <v-select id="oper" style="width: 60%"
46
- :multiple="false"
47
- @change="$parent.$parent.getOpe"
48
- :value.sync="model.f_operatorid"
49
- v-model="model.f_operatorid"
50
- :options='$parent.$parent.userresid' placeholder='请选择'
51
- condition="f_operatorid in {}">
52
- </v-select>
53
- </div>
54
- </div>
55
- <div class="span" style = "float:right;">
56
- <button class="button_search" @click="$parent.$parent.searchData()">查询</button>
57
- <report-print id='gasprice' top='3cm' left='0' width='100%' height='100%' :preview="true"></report-print>
58
- <report-excel id='gasprice'></report-excel>
59
- <div style="float: right" class="button_spacing" :class="{'button_shrink_top':$parent.$parent.criteriaShow,
60
- 'button_shrink_bottom':!$parent.$parent.criteriaShow}" @click="$parent.$parent.hidden()"></div>
61
- </div>
62
- <div class="row" v-show="$parent.$parent.criteriaShow">
63
- <div class="col-sm-2 form-group">
64
- <label class="font_normal_body">收费状态</label>
65
- <v-select :value.sync="$parent.$parent.f_state" multiple
66
- v-model="$parent.$parent.f_state"
67
- :options='$parent.$parent.charge_state' placeholder='请选择'
68
- condition="f_state in {}"
69
- close-on-select></v-select>
70
- </div>
71
- </div>
72
- </div>
73
- </criteria>
74
- <div partial='list' v-el:handcollect id='gasprice' style="overflow-y: scroll">
75
- <table class='tableprint' style="margin: 0px auto">
76
- <thead>
77
- <tr>
78
- <th :colspan='$parent.spans' style="font-weight: normal; text-align: left;">
79
- <h3 style="text-align: center">收费结账报表</h3>
80
- </th>
81
- </tr>
82
- <tr>
83
- <th :colspan='$parent.spans' style="font-weight: normal; text-align: center;">
84
- 开始时间:{{model.model.startDate}}&nbsp;&nbsp;&nbsp;
85
- 结束时间:{{ model.model.endDate }}&nbsp;&nbsp;<br/>
86
- <!--打印时间:{{{$parent.printTime}}}-->
87
- 打印时间:{{$parent.printTime}}
88
- <!--收费员:{{// $parent.operatorname}}-->
89
- </th>
90
- </tr>
91
- <tr>
92
- <th :colspan='$parent.spans' style="font-weight: normal; text-align: center;">
93
- <div>
94
- <span style="font-weight: normal;text-align: center;margin:5px 15px" v-show="$parent.orgname">公司:{{$parent.orgname}}</span>
95
- <span v-show="$parent.depname"> 部门:{{$parent.depname}}</span>
96
- <span style="font-weight: normal;text-align: center;margin:5px 15px" v-show="$parent.operatorname">人员:{{$parent.operatorname}}</span>
97
- </div>
98
- </th>
99
- </tr>
100
- </thead>
101
- <tr>
102
- <td :colspan='$parent.spans' class="noborder">
103
- {{{ model.data.substring(26,model.data.length-8) }}}
104
- </td>
105
- </tr>
106
- <tfoot>
107
- <tr style="text-align: left">
108
- <th :colspan='Math.floor($parent.spans/3)'>财务审核:</th>
109
- <th :colspan='Math.floor($parent.spans/3)'>收款审核:</th>
110
- <th :colspan='Math.floor($parent.spans/3)'>收款员:</th>
111
- </tr>
112
- </tfoot>
113
- </table>
114
- </div>
115
- </criteria-paged>
116
- </div>
117
- </template>
118
-
119
- <script>
120
- import {DataModel, HttpResetClass} from 'vue-client'
121
- import co from 'co'
122
- let getorg = async function (self) {
123
- new HttpResetClass().load("POST",'rs/sql/singleTableParam',
124
- {
125
- data: {
126
- items: 'name label,id value',
127
- tablename: 't_department',
128
- condition: `1=1`
129
- }
130
- },
131
- {resolveMsg: null, rejectMsg: null})
132
- .then((res) => {
133
- self.depresid = res.data
134
- })
135
- new HttpResetClass().load("POST",'rs/sql/singleTableParam',
136
- {
137
- data: {
138
- items: 'name label,id value',
139
- tablename: 't_user',
140
- condition: `state = '在职' and f_department_name is not null`
141
- }
142
- },
143
- {resolveMsg: null, rejectMsg: null})
144
- .then((res) => {
145
- self.userresid = res.data
146
- })
147
- }
148
- export default {
149
- title: '收费结账报表',
150
- props: ['data'],
151
- data () {
152
- return {
153
- printTime: this.$login.toStandardTimeString(),
154
- depresid: [],
155
- userresid: [],
156
- f_orgid: this.$login.f.orgid,
157
- f_depid: this.$login.f.depids,
158
- f_operatorid: this.$login.f.id,
159
- operatorid: [],
160
- depid: [],
161
- orgname: '',
162
- depname: '',
163
- criteriaShow: false,
164
- operatorname: '',
165
- orgCondtionStr: '1=1',
166
- f_state:'',
167
- model: new DataModel('rs/report/getmoneyall', {startDate: 'this.model.startDate', endDate: 'this.model.endDate',
168
- f_orgid: 'this.model.f_orgid'}),
169
- reportStr: null,
170
- spans: 0,
171
- initres: {
172
- org: [this.$login.f.orgid],
173
- dep: [],
174
- user: []
175
- }
176
- }
177
- },
178
- ready () {
179
- getorg(this)
180
- this.$refs.paged.$refs.criteria.model.startDate = this.$login.toStandardDateString() + ' 00:00:00'
181
- this.$refs.paged.$refs.criteria.model.endDate = this.$login.toStandardDateString() + ' 23:59:59'
182
- console.log(this.$login.f)
183
- },
184
- methods: {
185
- searchData () {
186
- this.$refs.paged.$refs.criteria.search()
187
- },
188
- selfSearch (args) {
189
- this.printTime = this.$login.toStandardTimeString()
190
- let orgcondition = ''
191
- if (this.f_orgid[0]) {
192
- orgcondition += ` and f_orgid in ('${this.f_orgid}')`
193
- }
194
- if(this.f_state && this.f_state[0]) {
195
- orgcondition += ` and f_state in('${this.f_state.toString().replace(/,/g,"','")}')`
196
- }
197
- this.$refs.paged.$refs.criteria.model.f_orgid = args.condition + orgcondition
198
- this.$refs.paged.search(args)
199
- },
200
-
201
- hidden() {
202
- this.criteriaShow = !this.criteriaShow
203
- },
204
- getRes (obj) {
205
- this.orgname = obj.res[0]
206
- this.f_orgid = obj.resids
207
- },
208
- getDep(val){
209
- this.depname = this.depresid.filter(x => val.includes(x.value)).map(x=>x.label).toString()
210
- console.log('dep',this.depname )
211
- },
212
- getOpe(val){
213
- this.operatorname = this.userresid.filter(x => val.includes(x.value)).map(x=>x.label).toString()
214
- console.log('operatorname',this.operatorname )
215
- },
216
- },
217
- watch: {
218
- 'model.data' (val) {
219
- let len=0
220
- let a=val.split('</tr>')
221
- for(let i=0;i<a.length;i++){
222
- if(a[i].split('</td>').length-1>len){
223
- len=a[i].split('</td>').length-1
224
- }
225
- }
226
- this.spans = len
227
- }
228
- },
229
- computed: {
230
- charge_state() {
231
- return [{label: '全部', value: ''}, ...this.$appdata.getParam('收费状态')]
232
- }
233
- }
234
- }
235
- </script>
236
- <style scoped>
237
- .noborder{
238
- border: none;
239
- }
240
- </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" style="width: 60%"></right-tree>
30
+ </div>
31
+ <div class="col-sm-3 form-group">
32
+ <label class="font_normal_body" for="dep" >部&emsp;&emsp;门:</label>
33
+ <v-select id="dep" style="width: 60%"
34
+ :multiple="true"
35
+ @change="$parent.$parent.getDep"
36
+ :value.sync="model.f_depid"
37
+ v-model="model.f_depid"
38
+ :options='$parent.$parent.depresid' placeholder='请选择'
39
+ condition="f_depid in {}">
40
+ </v-select>
41
+
42
+ </div>
43
+ <div class="col-sm-3 form-group">
44
+ <label class="font_normal_body" for="oper">人&emsp;&emsp;员:</label>
45
+ <v-select id="oper" style="width: 60%"
46
+ :multiple="false"
47
+ @change="$parent.$parent.getOpe"
48
+ :value.sync="model.f_operatorid"
49
+ v-model="model.f_operatorid"
50
+ :options='$parent.$parent.userresid' placeholder='请选择'
51
+ condition="f_operatorid in {}">
52
+ </v-select>
53
+ </div>
54
+ </div>
55
+ <div class="span" style = "float:right;">
56
+ <button class="button_search" @click="$parent.$parent.searchData()">查询</button>
57
+ <report-print id='gasprice' top='3cm' left='0' width='100%' height='100%' :preview="true"></report-print>
58
+ <report-excel id='gasprice'></report-excel>
59
+ <div style="float: right" class="button_spacing" :class="{'button_shrink_top':$parent.$parent.criteriaShow,
60
+ 'button_shrink_bottom':!$parent.$parent.criteriaShow}" @click="$parent.$parent.hidden()"></div>
61
+ </div>
62
+ <div class="row" v-show="$parent.$parent.criteriaShow">
63
+ <div class="col-sm-2 form-group">
64
+ <label class="font_normal_body">收费状态</label>
65
+ <v-select :value.sync="$parent.$parent.f_state" multiple
66
+ v-model="$parent.$parent.f_state"
67
+ :options='$parent.$parent.charge_state' placeholder='请选择'
68
+ condition="f_state in {}"
69
+ close-on-select></v-select>
70
+ </div>
71
+ </div>
72
+ </div>
73
+ </criteria>
74
+ <div partial='list' v-el:handcollect id='gasprice' style="overflow-y: scroll">
75
+ <table class='tableprint' style="margin: 0px auto">
76
+ <thead>
77
+ <tr>
78
+ <th :colspan='$parent.spans' style="font-weight: normal; text-align: left;">
79
+ <h3 style="text-align: center">收费结账报表</h3>
80
+ </th>
81
+ </tr>
82
+ <tr>
83
+ <th :colspan='$parent.spans' style="font-weight: normal; text-align: center;">
84
+ 开始时间:{{model.model.startDate}}&nbsp;&nbsp;&nbsp;
85
+ 结束时间:{{ model.model.endDate }}&nbsp;&nbsp;<br/>
86
+ <!--打印时间:{{{$parent.printTime}}}-->
87
+ 打印时间:{{$parent.printTime}}
88
+ <!--收费员:{{// $parent.operatorname}}-->
89
+ </th>
90
+ </tr>
91
+ <tr>
92
+ <th :colspan='$parent.spans' style="font-weight: normal; text-align: center;">
93
+ <div>
94
+ <span style="font-weight: normal;text-align: center;margin:5px 15px" v-show="$parent.orgname">公司:{{$parent.orgname}}</span>
95
+ <span v-show="$parent.depname"> 部门:{{$parent.depname}}</span>
96
+ <span style="font-weight: normal;text-align: center;margin:5px 15px" v-show="$parent.operatorname">人员:{{$parent.operatorname}}</span>
97
+ </div>
98
+ </th>
99
+ </tr>
100
+ </thead>
101
+ <tr>
102
+ <td :colspan='$parent.spans' class="noborder">
103
+ {{{ model.data.substring(26,model.data.length-8) }}}
104
+ </td>
105
+ </tr>
106
+ <tfoot>
107
+ <tr style="text-align: left">
108
+ <th :colspan='Math.floor($parent.spans/3)'>财务审核:</th>
109
+ <th :colspan='Math.floor($parent.spans/3)'>收款审核:</th>
110
+ <th :colspan='Math.floor($parent.spans/3)'>收款员:</th>
111
+ </tr>
112
+ </tfoot>
113
+ </table>
114
+ </div>
115
+ </criteria-paged>
116
+ </div>
117
+ </template>
118
+
119
+ <script>
120
+ import {DataModel, HttpResetClass} from 'vue-client'
121
+ import co from 'co'
122
+ let getorg = async function (self) {
123
+ new HttpResetClass().load("POST",'rs/sql/singleTableParam',
124
+ {
125
+ data: {
126
+ items: 'name label,id value',
127
+ tablename: 't_department',
128
+ condition: `1=1`
129
+ }
130
+ },
131
+ {resolveMsg: null, rejectMsg: null})
132
+ .then((res) => {
133
+ self.depresid = res.data
134
+ })
135
+ new HttpResetClass().load("POST",'rs/sql/singleTableParam',
136
+ {
137
+ data: {
138
+ items: 'name label,id value',
139
+ tablename: 't_user',
140
+ condition: `state = '在职' and f_department_name is not null`
141
+ }
142
+ },
143
+ {resolveMsg: null, rejectMsg: null})
144
+ .then((res) => {
145
+ self.userresid = res.data
146
+ })
147
+ }
148
+ export default {
149
+ title: '收费结账报表',
150
+ props: ['data'],
151
+ data () {
152
+ return {
153
+ printTime: this.$login.toStandardTimeString(),
154
+ depresid: [],
155
+ userresid: [],
156
+ f_orgid: this.$login.f.orgid,
157
+ f_depid: this.$login.f.depids,
158
+ f_operatorid: this.$login.f.id,
159
+ operatorid: [],
160
+ depid: [],
161
+ orgname: '',
162
+ depname: '',
163
+ criteriaShow: false,
164
+ operatorname: '',
165
+ orgCondtionStr: '1=1',
166
+ f_state:'',
167
+ model: new DataModel('rs/report/getmoneyall', {startDate: 'this.model.startDate', endDate: 'this.model.endDate',
168
+ f_orgid: 'this.model.f_orgid'}),
169
+ reportStr: null,
170
+ spans: 0,
171
+ initres: {
172
+ org: [this.$login.f.orgid],
173
+ dep: [],
174
+ user: []
175
+ }
176
+ }
177
+ },
178
+ ready () {
179
+ getorg(this)
180
+ this.$refs.paged.$refs.criteria.model.startDate = this.$login.toStandardDateString() + ' 00:00:00'
181
+ this.$refs.paged.$refs.criteria.model.endDate = this.$login.toStandardDateString() + ' 23:59:59'
182
+ console.log(this.$login.f)
183
+ },
184
+ methods: {
185
+ searchData () {
186
+ this.$refs.paged.$refs.criteria.search()
187
+ },
188
+ selfSearch (args) {
189
+ this.printTime = this.$login.toStandardTimeString()
190
+ let orgcondition = ''
191
+ if (this.f_orgid[0]) {
192
+ orgcondition += ` and f_orgid in (${this.getParamStr(this.f_orgid)})`
193
+ }
194
+ if(this.f_state && this.f_state[0]) {
195
+ orgcondition += ` and f_state in('${this.f_state.toString().replace(/,/g,"','")}')`
196
+ }
197
+ this.$refs.paged.$refs.criteria.model.f_orgid = args.condition + orgcondition
198
+ this.$refs.paged.search(args)
199
+ },
200
+
201
+ hidden() {
202
+ this.criteriaShow = !this.criteriaShow
203
+ },
204
+ getParamStr (array) {
205
+ let stringValue = ''
206
+ for (let i = 0; i < array.length; i++) {
207
+ if (i === array.length - 1) {
208
+ stringValue = stringValue + "'" + array[i] + "'"
209
+ } else {
210
+ stringValue = stringValue + "'" + array[i] + "',"
211
+ }
212
+ }
213
+ return stringValue
214
+ },
215
+ getRes (obj) {
216
+ this.orgname = obj.res[0]
217
+ this.f_orgid = obj.resids
218
+ },
219
+ getDep(val){
220
+ this.depname = this.depresid.filter(x => val.includes(x.value)).map(x=>x.label).toString()
221
+ console.log('dep',this.depname )
222
+ },
223
+ getOpe(val){
224
+ this.operatorname = this.userresid.filter(x => val.includes(x.value)).map(x=>x.label).toString()
225
+ console.log('operatorname',this.operatorname )
226
+ },
227
+ },
228
+ watch: {
229
+ 'model.data' (val) {
230
+ let len=0
231
+ let a=val.split('</tr>')
232
+ for(let i=0;i<a.length;i++){
233
+ if(a[i].split('</td>').length-1>len){
234
+ len=a[i].split('</td>').length-1
235
+ }
236
+ }
237
+ this.spans = len
238
+ }
239
+ },
240
+ computed: {
241
+ charge_state() {
242
+ return [{label: '全部', value: ''}, ...this.$appdata.getParam('收费状态')]
243
+ }
244
+ }
245
+ }
246
+ </script>
247
+ <style scoped>
248
+ .noborder{
249
+ border: none;
250
+ }
251
+ </style>