manage-client 3.2.166 → 3.2.168

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,109 +1,109 @@
1
- {
2
- "name": "manage-client",
3
- "version": "3.2.166",
4
- "description": "经营管控模块前台组件",
5
- "main": "src/index.js",
6
- "directories": {
7
- "test": "test"
8
- },
9
- "dependencies": {
10
- "swiper": "^5.4.5"
11
- },
12
- "devDependencies": {
13
- "axios": "0.15.3",
14
- "babel-core": "^6.0.0",
15
- "babel-loader": "^6.0.0",
16
- "babel-plugin-transform-runtime": "^6.0.0",
17
- "babel-preset-es2015": "^6.0.0",
18
- "babel-preset-stage-2": "^6.0.0",
19
- "chai": "^3.5.0",
20
- "co": "^4.6.0",
21
- "connect-history-api-fallback": "^1.1.0",
22
- "cross-env": "^1.0.7",
23
- "cross-spawn": "^2.1.5",
24
- "css-loader": "^0.23.0",
25
- "echarts": "^4.1.0",
26
- "eslint": "^2.0.0",
27
- "eslint-config-standard": "^5.1.0",
28
- "eslint-friendly-formatter": "^1.2.2",
29
- "eslint-loader": "^1.3.0",
30
- "eslint-plugin-html": "^1.3.0",
31
- "eslint-plugin-promise": "^1.0.8",
32
- "eslint-plugin-standard": "^1.3.2",
33
- "eslint-plugin-vue": "^0.1.1",
34
- "eventsource-polyfill": "^0.9.6",
35
- "express": "^4.13.3",
36
- "extract-text-webpack-plugin": "^1.0.1",
37
- "filemanager-webpack-plugin": "^2.0.5",
38
- "file-loader": "^0.8.4",
39
- "function-bind": "^1.0.2",
40
- "html-webpack-plugin": "^2.8.1",
41
- "http-proxy-middleware": "^0.11.0",
42
- "inject-loader": "^2.0.1",
43
- "isparta-loader": "^2.0.0",
44
- "jasmine-core": "^2.4.1",
45
- "jquery": "^3.3.1",
46
- "jsencrypt": "3.0.0-rc.1",
47
- "json-loader": "^0.5.4",
48
- "karma": "^1.4.1",
49
- "karma-chrome-launcher": "^2.2.0",
50
- "karma-coverage": "^1.1.1",
51
- "karma-mocha": "^1.3.0",
52
- "karma-sinon-chai": "^1.3.1",
53
- "karma-sourcemap-loader": "^0.3.7",
54
- "karma-spec-reporter": "0.0.31",
55
- "karma-webpack": "^2.0.2",
56
- "ldap-clients": "3.0.28",
57
- "less": "^2.7.3",
58
- "mkdirp": "^0.5.1",
59
- "mocha": "^3.2.0",
60
- "moment": "2.24.0",
61
- "ncp": "^2.0.0",
62
- "rimraf": "^2.5.0",
63
- "sale-client": "3.4.14",
64
- "selenium-server": "2.52.0",
65
- "sinon": "^2.1.0",
66
- "sinon-chai": "^2.8.0",
67
- "style": "0.0.3",
68
- "style-loader": "^0.20.3",
69
- "swiper": "^5.4.5",
70
- "system-clients": "3.1.89-20",
71
- "url-loader": "^0.5.7",
72
- "vue-amap": "0.5.10",
73
- "vue-client": "1.24.51",
74
- "vue-hot-reload-api": "^1.2.0",
75
- "vue-html-loader": "^1.0.0",
76
- "vue-loader": "8.2.1",
77
- "vue-resource": "^1.5.0",
78
- "vue-router": "^0.7.13",
79
- "vue-strap": "^1.0.9",
80
- "vue-style-loader": "^1.0.0",
81
- "vue-validator": "2.1.7",
82
- "webpack": "1.12.2",
83
- "webpack-dev-middleware": "^1.4.0",
84
- "webpack-hot-middleware": "^2.6.0",
85
- "webpack-merge": "^0.8.3",
86
- "webpack-parallel-uglify-plugin": "^1.0.0"
87
- },
88
- "scripts": {
89
- "unit": "karma start test/unit/karma.conf.js --single-run",
90
- "example": "node build/example-server.js",
91
- "dev": "node build/dev-server.js",
92
- "lint": "eslint src/**.js test/e2e/**.js test/unit/specs/** build/**.js",
93
- "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",
94
- "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",
95
- "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",
96
- "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",
97
- "e2e": "node test/e2e/runner.js",
98
- "release": "bash build/release.sh"
99
- },
100
- "repository": {
101
- "type": "git",
102
- "url": "https://gitee.com/aote/management_modules.git"
103
- },
104
- "keywords": [
105
- "manage"
106
- ],
107
- "author": "liuxudong",
108
- "license": "ISC"
109
- }
1
+ {
2
+ "name": "manage-client",
3
+ "version": "3.2.168",
4
+ "description": "经营管控模块前台组件",
5
+ "main": "src/index.js",
6
+ "directories": {
7
+ "test": "test"
8
+ },
9
+ "dependencies": {
10
+ "swiper": "^5.4.5"
11
+ },
12
+ "devDependencies": {
13
+ "axios": "0.15.3",
14
+ "babel-core": "^6.0.0",
15
+ "babel-loader": "^6.0.0",
16
+ "babel-plugin-transform-runtime": "^6.0.0",
17
+ "babel-preset-es2015": "^6.0.0",
18
+ "babel-preset-stage-2": "^6.0.0",
19
+ "chai": "^3.5.0",
20
+ "co": "^4.6.0",
21
+ "connect-history-api-fallback": "^1.1.0",
22
+ "cross-env": "^1.0.7",
23
+ "cross-spawn": "^2.1.5",
24
+ "css-loader": "^0.23.0",
25
+ "echarts": "^4.1.0",
26
+ "eslint": "^2.0.0",
27
+ "eslint-config-standard": "^5.1.0",
28
+ "eslint-friendly-formatter": "^1.2.2",
29
+ "eslint-loader": "^1.3.0",
30
+ "eslint-plugin-html": "^1.3.0",
31
+ "eslint-plugin-promise": "^1.0.8",
32
+ "eslint-plugin-standard": "^1.3.2",
33
+ "eslint-plugin-vue": "^0.1.1",
34
+ "eventsource-polyfill": "^0.9.6",
35
+ "express": "^4.13.3",
36
+ "extract-text-webpack-plugin": "^1.0.1",
37
+ "filemanager-webpack-plugin": "^2.0.5",
38
+ "file-loader": "^0.8.4",
39
+ "function-bind": "^1.0.2",
40
+ "html-webpack-plugin": "^2.8.1",
41
+ "http-proxy-middleware": "^0.11.0",
42
+ "inject-loader": "^2.0.1",
43
+ "isparta-loader": "^2.0.0",
44
+ "jasmine-core": "^2.4.1",
45
+ "jquery": "^3.3.1",
46
+ "jsencrypt": "3.0.0-rc.1",
47
+ "json-loader": "^0.5.4",
48
+ "karma": "^1.4.1",
49
+ "karma-chrome-launcher": "^2.2.0",
50
+ "karma-coverage": "^1.1.1",
51
+ "karma-mocha": "^1.3.0",
52
+ "karma-sinon-chai": "^1.3.1",
53
+ "karma-sourcemap-loader": "^0.3.7",
54
+ "karma-spec-reporter": "0.0.31",
55
+ "karma-webpack": "^2.0.2",
56
+ "ldap-clients": "3.0.28",
57
+ "less": "^2.7.3",
58
+ "mkdirp": "^0.5.1",
59
+ "mocha": "^3.2.0",
60
+ "moment": "2.24.0",
61
+ "ncp": "^2.0.0",
62
+ "rimraf": "^2.5.0",
63
+ "sale-client": "3.4.14",
64
+ "selenium-server": "2.52.0",
65
+ "sinon": "^2.1.0",
66
+ "sinon-chai": "^2.8.0",
67
+ "style": "0.0.3",
68
+ "style-loader": "^0.20.3",
69
+ "swiper": "^5.4.5",
70
+ "system-clients": "3.1.89-20",
71
+ "url-loader": "^0.5.7",
72
+ "vue-amap": "0.5.10",
73
+ "vue-client": "1.24.51",
74
+ "vue-hot-reload-api": "^1.2.0",
75
+ "vue-html-loader": "^1.0.0",
76
+ "vue-loader": "8.2.1",
77
+ "vue-resource": "^1.5.0",
78
+ "vue-router": "^0.7.13",
79
+ "vue-strap": "^1.0.9",
80
+ "vue-style-loader": "^1.0.0",
81
+ "vue-validator": "2.1.7",
82
+ "webpack": "1.12.2",
83
+ "webpack-dev-middleware": "^1.4.0",
84
+ "webpack-hot-middleware": "^2.6.0",
85
+ "webpack-merge": "^0.8.3",
86
+ "webpack-parallel-uglify-plugin": "^1.0.0"
87
+ },
88
+ "scripts": {
89
+ "unit": "karma start test/unit/karma.conf.js --single-run",
90
+ "example": "node build/example-server.js",
91
+ "dev": "node build/dev-server.js",
92
+ "lint": "eslint src/**.js test/e2e/**.js test/unit/specs/** build/**.js",
93
+ "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",
94
+ "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",
95
+ "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",
96
+ "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",
97
+ "e2e": "node test/e2e/runner.js",
98
+ "release": "bash build/release.sh"
99
+ },
100
+ "repository": {
101
+ "type": "git",
102
+ "url": "https://gitee.com/aote/management_modules.git"
103
+ },
104
+ "keywords": [
105
+ "manage"
106
+ ],
107
+ "author": "liuxudong",
108
+ "license": "ISC"
109
+ }
@@ -362,7 +362,7 @@
362
362
  </div>
363
363
  <modal :show.sync="showupload" v-if="showupload" width="80%" style="width:auto;" v-ref:modal middle backdrop="false">
364
364
  <article slot="modal-body">
365
- <upload :blodid="selected.id" v-ref:upload isremark="false" fusetype="换表&清零"></upload>
365
+ <upload :blodid="selected.f_userinfo_id" v-ref:upload :isremark="false" fusetype="换表&清零"></upload>
366
366
  </article>
367
367
  <footer slot="modal-footer" class="modal-footer">
368
368
  </footer>
@@ -0,0 +1,272 @@
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="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">&nbsp;&nbsp;&nbsp;部门&nbsp;&nbsp;&nbsp; </label>
35
+ <res-select restype='department'
36
+ @res-select="$parent.$parent.getdep"
37
+ :parentresid="$parent.$parent.depresid"
38
+ :initresid='$parent.$parent.depid'>
39
+ </res-select>
40
+
41
+ </div>
42
+ <div class="col-sm-4">
43
+ <label class="font_normal_body">&nbsp;&nbsp;&nbsp;人员&nbsp;&nbsp;&nbsp; </label>
44
+ <res-select restype='user'
45
+ @res-select="$parent.$parent.getuser"
46
+ :parentresid="$parent.$parent.userresid"
47
+ :initresid='$parent.$parent.operatorid'>
48
+ </res-select>
49
+ </div>
50
+
51
+ </div>
52
+ <div class="span" style = "float:right;">
53
+ <button class="button_search" @click="$parent.$parent.searchData()">查询</button>
54
+ <report-print id='gasprice' top='3cm' left='0' width='100%' height='100%' :preview="true"></report-print>
55
+ <report-excel id='gasprice'></report-excel>
56
+ </div>
57
+ </div>
58
+ </criteria>
59
+ <div partial='list' v-el:handcollect id='gasprice' style="overflow-y: scroll">
60
+ <table class='tableprint' style="margin: 0px auto" v-if="!$parent.data.f_files_path">
61
+ <thead>
62
+ <tr>
63
+ <th colspan='9' style="font-weight: normal; text-align: left;">
64
+ <h3 style="text-align: center">收费类型报表</h3>
65
+ </th>
66
+ </tr>
67
+ <tr>
68
+ <th colspan='9' style="font-weight: normal; text-align: center;">
69
+ 开始时间:{{model.model.startDate}}<br>
70
+ 结束时间:{{ model.model.endDate }}<br>
71
+ 打印时间:{{{$parent.printTime}}}
72
+ </th>
73
+ </tr>
74
+ <tr>
75
+ <th colspan='9' style="font-weight: normal; text-align: center;">
76
+ <div>
77
+ <span v-show="$parent.orgname.trim()!=''">公司:{{$parent.orgname}}</span>
78
+ <span v-show="$parent.depname.trim()!=''"> 部门:{{$parent.depname}}</span>
79
+ <span v-show="$parent.operatorname.trim()!=''">人员:{{$parent.operatorname}}</span>
80
+ </div>
81
+ </th>
82
+ </tr>
83
+ </thead>
84
+ <tr>
85
+ <td colspan='9'>
86
+ {{{ model.data.substring(26,model.data.length-8) }}}
87
+ </td>
88
+ </tr>
89
+ <tfoot>
90
+ <tr style="text-align: left">
91
+ <th colspan='3'>财务审核:</th>
92
+ <th colspan='3'>收款审核:</th>
93
+ <th colspan='3'>收款员:</th>
94
+ </tr>
95
+ </tfoot>
96
+ </table>
97
+ {{{ $parent.reportStr}}}
98
+ </div>
99
+ </criteria-paged>
100
+ <modal :show.sync="show" v-ref:modal small backdrop="false">
101
+ <header slot="modal-header" class="modal-header">
102
+ <h4 class="modal-title">输入文件名称</h4>
103
+ </header>
104
+ <article slot="modal-body" class="modal-body">
105
+ <div class="form-group">
106
+ <input type="text" class="form-control" v-model="filename" placeholder='保存的文件名'>
107
+ </div>
108
+ </article>
109
+ <footer slot="modal-footer" class="modal-footer">
110
+ <button v-show="show" type="button" class="btn btn-default" @click='close'>取消</button>
111
+ <button v-show="show" type="button" class="btn btn-success" @click='confirm(filename)'>确认</button>
112
+ </footer>
113
+ </modal>
114
+ </div>
115
+ </template>
116
+
117
+ <script>
118
+ import { DataModel } from 'vue-client'
119
+ import co from 'co'
120
+ let saveFile = function * (self) {
121
+ // 线验证文件是否重名
122
+ let count = yield self.$resetpost('rs/sql/manageSingleTable',
123
+ {data: {tablename: 't_report_record', condition: `f_files_name = '${self.filename}'`}},
124
+ {resolveMsg: null, rejectMsg: null})
125
+ if (count.data.length > 0) {
126
+ self.$showAlert('无法保存,文件名重名', 'warning', 3000)
127
+ return
128
+ }
129
+ let saveBack = yield self.$resetpost('rs/logic/saveReport', {f_files_content: self.$refs.paged.$els.handcollect.innerHTML,
130
+ f_files_name: self.filename, f_files_type: self.data.f_report_type, f_component_name: 'manage-bus-summary',
131
+ f_operator: this.$login.f.name, f_query_month: `${self.model.model.startDate}-${self.model.model.endDate}`,
132
+ f_outlets: this.$login.f.depname})
133
+ if (saveBack.data.status === 'succeed') {
134
+ self.show = false
135
+ self.filename = ''
136
+ // 后台保存完成,通知刷新
137
+ self.$dispatch('save-success', self.filename)
138
+ }
139
+ }
140
+ export default {
141
+ title: '营业额统计',
142
+ props: ['data'],
143
+ data () {
144
+ return {
145
+ printTime: this.$login.toStandardTimeString(),
146
+ depresid: [],
147
+ userresid: [],
148
+ f_orgid: this.$login.f.orgid,
149
+ f_depid: this.$login.f.depids,
150
+ f_operatorid: this.$login.f.id,
151
+ operatorid: [],
152
+ depid: [],
153
+ orgname: '',
154
+ depname: '',
155
+ operatorname: '',
156
+ orgCondtionStr: '1=1',
157
+ model: new DataModel('rs/report/summaryes', {startDate: 'this.model.startDate', endDate: 'this.model.endDate',
158
+ f_orgid: 'this.model.f_orgid'}),
159
+ reportStr: null,
160
+ show: false,
161
+ }
162
+ },
163
+ ready () {
164
+ this.$refs.paged.$refs.criteria.model.startDate = this.$login.toStandardDateString() + ' 00:00:00'
165
+ this.$refs.paged.$refs.criteria.model.endDate = this.$login.toStandardDateString() + ' 23:59:59'
166
+ // this.$refs.paged.$refs.criteria.search()
167
+ console.log(this.$login.f)
168
+ },
169
+ methods: {
170
+ searchData () {
171
+ this.$refs.paged.$refs.criteria.search()
172
+ },
173
+ selfSearch (args) {
174
+ this.printTime = this.$login.toStandardTimeString()
175
+ console.log( "condition:" + args.condition)
176
+ let orgcondition = '1=1'
177
+ if (this.f_orgid[0]) {
178
+ orgcondition += ' and f_orgid in (' + this.f_orgid + ')'
179
+ }
180
+ let deps = ''
181
+ let i = 0
182
+ let depss = ''
183
+ if (this.f_depid[0]) {
184
+ for ( i; i< this.f_depid.length; i++ )
185
+ deps += `'${this.f_depid[i]}',`
186
+ depss = deps.toString().substring(1,deps.length-2)
187
+ orgcondition += " and f_depid in ( '" + depss + "' ) "
188
+ }else {
189
+ depss = ''
190
+ }
191
+ console.log("所选部门:" + depss)
192
+ if (depss === null || depss === '' || depss === undefined) {
193
+ this.$showAlert('请选择部门之后再进行查询!', 'warning', 3000)
194
+ return
195
+ }
196
+
197
+ let opes = ''
198
+ let j = 0
199
+ let opess = ''
200
+ if(this.f_operatorid[0]) {
201
+ for ( j; j< this.f_operatorid.length; j++ )
202
+ opes += `'${this.f_operatorid[j]}',`
203
+ opess = opes.toString().substring(1,opes.length-2)
204
+ orgcondition += "and f_operatorid in ( '" + opess + "' ) "
205
+ }else {
206
+ opess = ''
207
+ }
208
+ console.log("所选人员:" + opess)
209
+
210
+ this.$refs.paged.$refs.criteria.model.f_orgid = orgcondition + " and " + args.condition
211
+ this.$refs.paged.search(args)
212
+ },
213
+ getRes (obj) {
214
+ this.orgname = obj.res[0]
215
+ this.depresid = obj.resids
216
+ this.f_orgid = obj.resids
217
+ this.userresid = obj.resids
218
+ },
219
+ getdep (obj, val) {
220
+ this.depname = val
221
+ // this.userresid = obj
222
+ this.f_depid = obj
223
+ },
224
+ getuser ( obj, val) {
225
+ this.operatorname = val
226
+ this.f_operatorid = obj
227
+ },
228
+
229
+ // 根据文件路径获取储存的报表内容
230
+ getFileContent (path) {
231
+ this.$resetpost('rs/logic/getReportFileContent', {f_files_path: path}, {resolveMsg: null, rejectMsg: null}).then((res) => {
232
+ this.reportStr = res.data.filecontent
233
+ this.model.state = '正确'
234
+ })
235
+ },
236
+ confirm () {
237
+ if (!this.filename || this.filename === '') {
238
+ this.$showAlert('无法保存,文件名不能为空', 'warning', 3000)
239
+ }
240
+ let saveGen = saveFile(this)
241
+ co(saveGen)
242
+ },
243
+ close () {
244
+ this.show = false
245
+ },
246
+ // 将报表保存成文件
247
+ confirmReport () {
248
+ this.show = true
249
+ this.filename = this.data.f_report_name + this.$login.toStandardDateString()
250
+ },
251
+ },
252
+ watch: {
253
+ 'data' (val) {
254
+ if (val.f_files_path) {
255
+ this.getFileContent(val.f_files_path)
256
+ } else {
257
+ this.reportStr = null
258
+ }
259
+ }
260
+ },
261
+ computed: {
262
+ metertypes() {
263
+ return [{label: ' 全部 ', value: ''}, ...this.$appdata.getParam('气表类型')]
264
+ }
265
+ }
266
+ }
267
+ </script>
268
+ <style scoped>
269
+ .noborder{
270
+ border: none;
271
+ }
272
+ </style>