manage-client 3.1.60 → 3.2.3

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.
File without changes
@@ -13,8 +13,8 @@ var compiler = webpack(config)
13
13
  // var bendi = 'http://127.0.0.1:8089/manage', fuwu = 'http://36.103.224.217:6300/'
14
14
  var shaoguan='http://119.146.1.106:8300/'
15
15
  var qtx='http://36.103.222.144:6300/'
16
- var bendi = 'http://127.0.0.1:8084/', fuwu_login = 'http://192.168.50.4:8400'
17
- var fuwu = 'http://61.134.55.234:8600'
16
+ var bendi = 'http://localhost:8080/', fuwu_login = 'http://192.168.50.4:8400'
17
+ var fuwu = 'http://192.168.50.4:8400'
18
18
  var system = 'http://192.168.50.4:8400'
19
19
  //192.168.
20
20
  // var str = 'http://127.0.0.1:8080/manage', str2 = 'http://192.168.50.199:8300'
@@ -0,0 +1,2 @@
1
+ Manifest-Version: 1.0
2
+
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "manage-client",
3
- "version": "3.1.60",
3
+ "version": "3.2.3",
4
4
  "description": "经营管控模块前台组件",
5
5
  "main": "src/index.js",
6
6
  "directories": {
@@ -0,0 +1,263 @@
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">&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
+ </div>
51
+ <div class="span" style = "float:right;">
52
+ <button class="button_search" @click="$parent.$parent.searchData()">查询</button>
53
+ <report-print id='gasprice' top='3cm' left='0' width='100%' height='100%' :preview="true"></report-print>
54
+ <report-excel id='gasprice'></report-excel>
55
+ </div>
56
+ </div>
57
+ </criteria>
58
+ <div partial='list' v-el:handcollect id='gasprice' style="overflow-y: scroll">
59
+ <table class='tableprint' style="margin: 0px auto">
60
+ <thead>
61
+ <tr>
62
+ <th colspan='17' style="font-weight: normal; text-align: left;">
63
+ <h3 style="text-align: center">自助结账报表</h3>
64
+ </th>
65
+ </tr>
66
+ <tr>
67
+ <th colspan='17' style="font-weight: normal; text-align: center;">
68
+ 开始时间:{{model.model.startDate}}&nbsp;&nbsp;&nbsp;
69
+ 结束时间:{{ model.model.endDate }}
70
+ </th>
71
+ </tr>
72
+ <tr>
73
+ <th colspan='17' style="font-weight: normal; text-align: center;">
74
+ <div>
75
+ <span v-show="$parent.depname.trim()!=''"> 部门:{{$parent.depname}}</span>
76
+ <span v-show="$parent.operatorname.trim()!=''">人员:{{$parent.operatorname}}</span>
77
+ </div>
78
+ </th>
79
+ </tr>
80
+ </thead>
81
+ <tr>
82
+ <td colspan='17'>
83
+ {{{ model.data.substring(26,model.data.length-8) }}}
84
+ </td>
85
+ </tr>
86
+ </table>
87
+ {{{ $parent.reportStr}}}
88
+ </div>
89
+ </criteria-paged>
90
+ <modal :show.sync="show" v-ref:modal small backdrop="false">
91
+ <header slot="modal-header" class="modal-header">
92
+ <h4 class="modal-title">输入文件名称</h4>
93
+ </header>
94
+ <article slot="modal-body" class="modal-body">
95
+ <div class="form-group">
96
+ <input type="text" class="form-control" v-model="filename" placeholder='保存的文件名'>
97
+ </div>
98
+ </article>
99
+ <footer slot="modal-footer" class="modal-footer">
100
+ <button v-show="show" type="button" class="btn btn-default" @click='close'>取消</button>
101
+ <button v-show="show" type="button" class="btn btn-success" @click='confirm(filename)'>确认</button>
102
+ </footer>
103
+ </modal>
104
+ </div>
105
+ </template>
106
+
107
+ <script>
108
+ import { DataModel } from 'vue-client'
109
+ import co from 'co'
110
+ let saveFile = function * (self) {
111
+ // 线验证文件是否重名
112
+ let count = yield self.$resetpost('rs/sql/manageSingleTable',
113
+ {data: {tablename: 't_report_record', condition: `f_files_name = '${self.filename}'`}},
114
+ {resolveMsg: null, rejectMsg: null})
115
+ if (count.data.length > 0) {
116
+ self.$showAlert('无法保存,文件名重名', 'warning', 3000)
117
+ return
118
+ }
119
+ let saveBack = yield self.$resetpost('rs/logic/saveReport', {f_files_content: self.$refs.paged.$els.handcollect.innerHTML,
120
+ f_files_name: self.filename, f_files_type: self.data.f_report_type, f_component_name: 'manage-bus-summary',
121
+ f_operator: this.$login.f.name, f_query_month: `${self.model.model.startDate}-${self.model.model.endDate}`,
122
+ f_outlets: this.$login.f.depname})
123
+ if (saveBack.data.status === 'succeed') {
124
+ self.show = false
125
+ self.filename = ''
126
+ // 后台保存完成,通知刷新
127
+ self.$dispatch('save-success', self.filename)
128
+ }
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
+ qishiDate:'',
146
+ jieshuDate:'',
147
+ startDate:'',
148
+ endDate:'',
149
+ operatorname: '',
150
+ f_inputtor:[],
151
+ f_user_type:'',
152
+ orgCondtionStr: '1=1',
153
+ model: new DataModel('rs/report/sellBySelfHelp',
154
+ {startDate: 'this.model.startDate',
155
+ endDate: 'this.model.endDate',
156
+ f_orgid: 'this.model.f_orgid',
157
+ depname:'this.model.depname',
158
+ operatorname:'this.model.operatorname',
159
+ qishiDate:'this.model.startDate.substring(0,10)',
160
+ jieshuDate:'this.model.endDate.substring(0,10)'
161
+ },
162
+ ),
163
+
164
+ reportStr: null,
165
+ show: false
166
+ }
167
+ },
168
+ ready () {
169
+ this.$refs.paged.$refs.criteria.model.startDate = this.$login.toStandardDateString() + ' 00:00:00'
170
+ this.$refs.paged.$refs.criteria.model.endDate = this.$login.toStandardDateString() + ' 23:59:59'
171
+ this.$refs.paged.$refs.criteria.search()
172
+ console.log(this.$login.f)
173
+ },
174
+
175
+ methods: {
176
+
177
+ searchData () {
178
+ this.$refs.paged.$refs.criteria.search()
179
+ },
180
+ selfSearch (args) {
181
+ this.printTime = this.$login.toStandardTimeString()
182
+ let orgcondition = '1 = 1'
183
+ if (this.f_orgid[0]){
184
+ orgcondition += ' and f_orgid in ( ' + this.f_orgid + ')'
185
+ }
186
+ if (this.f_depid[0]) {
187
+ orgcondition += ' and f_depid in ( ' + this.f_depid + ')'
188
+ }
189
+ if(this.f_operatorid[0]) {
190
+ orgcondition += ' and f_operatorid in ( ' + this.f_operatorid + ')'
191
+ }
192
+ if(this.depname){
193
+ this.$refs.paged.$refs.criteria.model.depname = this.depname
194
+ }else{
195
+ this.$refs.paged.$refs.criteria.model.depname = '无'
196
+ }
197
+
198
+ if(this.operatorname){
199
+ this.$refs.paged.$refs.criteria.model.operatorname = this.operatorname
200
+ }else{
201
+ this.$refs.paged.$refs.criteria.model.operatorname = '无'
202
+ }
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.depresid = obj.resids
209
+ this.f_orgid = obj.resids
210
+ },
211
+ getdep (obj, val) {
212
+ this.depname = val[0]
213
+ this.userresid = obj
214
+ this.f_depid = obj
215
+ },
216
+ getuser ( obj, val) {
217
+ this.operatorname = val[0]
218
+ this.f_operatorid = obj
219
+ },
220
+ // 根据文件路径获取储存的报表内容
221
+ getFileContent (path) {
222
+ this.$resetpost('rs/logic/getReportFileContent', {f_files_path: path}, {resolveMsg: null, rejectMsg: null}).then((res) => {
223
+ this.reportStr = res.data.filecontent
224
+ this.model.state = '正确'
225
+ })
226
+ },
227
+ confirm () {
228
+ if (!this.filename || this.filename === '') {
229
+ this.$showAlert('无法保存,文件名不能为空', 'warning', 3000)
230
+ }
231
+ let saveGen = saveFile(this)
232
+ co(saveGen)
233
+ },
234
+ close () {
235
+ this.show = false
236
+ },
237
+ // 将报表保存成文件
238
+ confirmReport () {
239
+ this.show = true
240
+ this.filename = this.data.f_report_name + this.$login.toStandardDateString()
241
+ },
242
+ },
243
+ watch: {
244
+ 'data' (val) {
245
+ if (val.f_files_path) {
246
+ this.getFileContent(val.f_files_path)
247
+ } else {
248
+ this.reportStr = null
249
+ }
250
+ }
251
+ },
252
+ computed: {
253
+ usertypes() {
254
+ return [{label: ' 全部 ', value: ''}, ...this.$appdata.getParam('用户类型')]
255
+ }
256
+ }
257
+ }
258
+ </script>
259
+ <style scoped>
260
+ .noborder{
261
+ border: none;
262
+ }
263
+ </style>
@@ -0,0 +1,110 @@
1
+ <template lang="html">
2
+ <div :class="classname" v-if="jurisdiction.includes('首页')" :style="{width:width,height:height}">
3
+ <div class="form-horizontal select-overspread container-fluid auto">
4
+ <div class="row">
5
+ <div class="col-sm-3 form-group">
6
+ <label class="font_normal_body" for="startDate">开始日期:</label>
7
+ <datepicker id="startDate" placeholder="开始日期"
8
+ style="width:60%"
9
+ v-model="model.startDate"
10
+ :value.sync="model.startDate"
11
+ :disabled-days-of-Week="[]"
12
+ class="datepicker"
13
+ :format="'yyyy-MM-dd'"
14
+ :show-reset-button="reset">
15
+ </datepicker>
16
+ </div>
17
+ <div class="col-sm-3 form-group">
18
+ <label class="font_normal_body" for="endDate">结束日期:</label>
19
+ <datepicker id="endDate" placeholder="结束日期"
20
+ style="width:60%"
21
+ class="datepicker"
22
+ v-model="model.endDate"
23
+ :value.sync="model.endDate"
24
+ :disabled-days-of-Week="[]"
25
+ :format="'yyyy-MM-dd'"
26
+ :show-reset-button="reset">
27
+ </datepicker>
28
+ </div>
29
+ <div class="col-sm-3 form-group">
30
+ <label class="font_normal_body" for="endDate">使用公司:</label>
31
+ <res-select restype='organization'
32
+ @res-select="getRes"
33
+ :initresid="model.id">
34
+ </res-select>
35
+ </div>
36
+ </div>
37
+ </div>
38
+ <div style="height: 97%;">
39
+ <div class="flex-row" style="flex: 1;border-bottom: 1px dashed #888;height: 48%">
40
+ <div style="flex: 1;border-right: 1px dashed #888;width: 50%">
41
+ <site-manager :startdate='model.startDate' :enddate='model.endDate' :orgid='model.orgid[0]'
42
+ v-ref:pay></site-manager>
43
+ </div>
44
+ <div style="flex: 1;width: 50%">
45
+ <bank-manager :startdate='model.startDate' :enddate='model.endDate' :orgid='model.orgid[0]'
46
+ v-ref:pay></bank-manager>
47
+ </div>
48
+ </div>
49
+ <div class="flex-row" style="flex: 1;height: 48%">
50
+
51
+ <div class="flex-row" style="flex: 1;width: 50%;border-right: 1px dashed #888;">
52
+ <div style="flex: 1;">
53
+ <paymentpie :startdate='model.startDate' :enddate='model.endDate' :orgid='model.orgid[0]' v-ref:pay ></paymentpie>
54
+ </div>
55
+ <!-- <div style="flex: 1;">-->
56
+ <!-- <usertype-pie :startdate='model.startDate' :enddate='model.endDate' :orgid='model.orgid[0]' v-ref:pay ></usertype-pie>-->
57
+ <!-- </div>-->
58
+ </div>
59
+
60
+ <div style="flex: 1;width: 50%">
61
+ <bussiness-type :startdate='model.startDate' :enddate='model.endDate' :orgid='model.orgid[0]' v-ref:pay ></bussiness-type>
62
+ </div>
63
+ </div>
64
+ </div>
65
+ </div>
66
+
67
+ </template>
68
+
69
+ <script>
70
+ import * as Util from '../../Util'
71
+
72
+ export default {
73
+ props: {
74
+ classname: {
75
+ type: String,
76
+ default: 'basic-main'
77
+ },
78
+ width: {
79
+ type: String,
80
+ default: '98.5%'
81
+ },
82
+ height: {
83
+ type: String,
84
+ default: '98%'
85
+ }
86
+ },
87
+ data() {
88
+ return {
89
+ jurisdiction: this.$login.r,
90
+ model: {
91
+ id: [this.$login.f.orgid],
92
+ orgid: [this.$login.f.orgid],
93
+ startDate: Util.toStandardDateString(),
94
+ endDate: Util.toStandardDateString()
95
+ }
96
+ }
97
+ },
98
+ methods: {
99
+ searchdata() {
100
+ this.$refs.pay.searchdata()
101
+ },
102
+ getRes(obj) {
103
+ this.model.orgid = obj
104
+ },
105
+ }
106
+ }
107
+ </script>
108
+
109
+ <style lang="css">
110
+ </style>
@@ -0,0 +1,191 @@
1
+ <template lang="html">
2
+ <div id="charts">
3
+ <div id="gph" :style="{width:'100%',height:'100%'}"></div>
4
+ </div>
5
+ </template>
6
+
7
+ <script>
8
+ import * as Util from '../../Util'
9
+ import co from 'co'
10
+ import echarts from 'echarts'
11
+ import {HttpResetClass } from 'vue-client'
12
+
13
+ let getData = function * (self) {
14
+ let load = new HttpResetClass()
15
+ load.load('POST','rs/sql/getPregas',
16
+ {data: {startDate: self.startdate + ' 00:00:00', endDate: self.enddate + ' 23:59:59',f_orgid: `f_orgid = ${self.orgid}`}},
17
+ {resolveMsg: null, rejectMsg: null})
18
+ .then((res) => {
19
+ let data = res.data
20
+ // let xPro = Array.from(new Set(res.data.map(x => x.f_gasproperties)))
21
+ // 表型
22
+ let xPro = data.map(x => x.f_meter_type)
23
+ // 居民用气
24
+ let yNumJM = data.map(x => x.f_ptpregas)
25
+ let yNumBGL = data.map(x => x.f_bglpregas)
26
+ let yNumJZCN = data.map(x => x.f_cnpregas)
27
+ let yNumGF = data.map(x => x.f_gfpregas)
28
+ let yNumFJM = data.map(x => x.f_fjmpregas)
29
+ // xPro.forEach(item => {
30
+ // yNumJB[yNumJB.length] = data.filter(x => x.f_gasproperties === item && x.f_meter_type === '机表').map(x => x.f_pregas).reduce((x, y) => x + y, 0)
31
+ // yNumKB[yNumKB.length] = data.filter(x => x.f_gasproperties === item && x.f_meter_type === '卡表').map(x => x.f_pregas).reduce((x, y) => x + y, 0)
32
+ // yNumWLWB[yNumWLWB.length] = data.filter(x => x.f_gasproperties === item && x.f_meter_type === '物联网表').map(x => x.f_pregas).reduce((x, y) => x + y, 0)
33
+ // })
34
+ console.log('表型', xPro)
35
+ console.log('居民用气', yNumJM)
36
+ console.log('壁挂炉用气', yNumBGL)
37
+ console.log('集中采暖', yNumJZCN)
38
+ console.log('公福用气', yNumGF)
39
+ console.log('非居民用气', yNumFJM)
40
+ // self.texttile = '用户类型'
41
+ // let arrparams = []
42
+ // let numdata = []
43
+ // let gasdata = []
44
+ // let pricedata = []
45
+ // for (var i = 0; i < res.data.length; i++) {
46
+ // arrparams[i] = res.data[i].name
47
+ // numdata[i] = res.data[i].num_value
48
+ // gasdata[i] = res.data[i].gas_value
49
+ // pricedata[i] = res.data[i].money_value
50
+ // }
51
+ self.set(xPro,yNumJM,yNumBGL,yNumJZCN,yNumGF,yNumFJM)
52
+ })
53
+ }
54
+ export default {
55
+ props: {
56
+ startdate: {
57
+ type: String,
58
+ default: Util.toStandardDateString()
59
+ },
60
+ enddate: {
61
+ type: String,
62
+ default: Util.toStandardDateString()
63
+ },
64
+ orgid: {
65
+ type: String
66
+ }
67
+ },
68
+ data () {
69
+ title: '用户购(用)气'
70
+ return {
71
+ texttile: '',
72
+ xc: ''
73
+ }
74
+ },
75
+ methods: {
76
+ set (arrparams,yNumJM,yNumBGL,yNumJZCN,yNumGF,yNumFJM) {
77
+ this.xc = echarts.init(document.getElementById('gph'))
78
+ this.xc.setOption({
79
+ title : {
80
+ text: '用户购(用)气',
81
+ subtext: '数据查询来源',
82
+ x: 'left'
83
+ },
84
+ tooltip : {
85
+ trigger: 'axis'
86
+ },
87
+ legend: {
88
+ x: 'left',
89
+ y: 'bottom',
90
+ data: ['居民用气','壁挂炉用气','集中采暖','公福用气','非居民用气']
91
+ },
92
+ toolbox: {
93
+ show : true,
94
+ feature : {
95
+ dataView : {show: true, readOnly: false},
96
+ magicType : {show: true, type: ['line', 'bar']},
97
+ restore : {show: true},
98
+ saveAsImage : {show: true}
99
+ }
100
+ },
101
+ calculable : true,
102
+ xAxis : [
103
+ {
104
+ type : 'category',
105
+ axisLabel :{
106
+ interval:0
107
+ },
108
+ data : arrparams
109
+ }
110
+ ],
111
+ yAxis : [
112
+ {
113
+ type : 'value'
114
+ }
115
+ ],
116
+ series : [
117
+ {
118
+ name:'居民用气',
119
+ type:'bar',
120
+ data:yNumJM,
121
+ markLine : {
122
+ data : [
123
+ {type : 'average', name: '平均值'}
124
+ ]
125
+ }
126
+ },
127
+ {
128
+ name:'壁挂炉用气',
129
+ type:'bar',
130
+ data:yNumBGL,
131
+ markLine : {
132
+ data : [
133
+ {type : 'average', name: '平均值'}
134
+ ]
135
+ }
136
+ },
137
+ {
138
+ name:'集中采暖',
139
+ type:'bar',
140
+ data:yNumJZCN,
141
+ markLine : {
142
+ data : [
143
+ {type : 'average', name : '平均值'}
144
+ ]
145
+ }
146
+ },
147
+ {
148
+ name:'公福用气',
149
+ type:'bar',
150
+ data:yNumGF,
151
+ markLine : {
152
+ data : [
153
+ {type : 'average', name : '平均值'}
154
+ ]
155
+ }
156
+ },
157
+ {
158
+ name:'非居民用气',
159
+ type:'bar',
160
+ data:yNumFJM,
161
+ markLine : {
162
+ data : [
163
+ {type : 'average', name : '平均值'}
164
+ ]
165
+ }
166
+ }
167
+ ]
168
+ })
169
+ },
170
+ searchdata () {
171
+ let getGen =getData(this)
172
+ co(getGen)
173
+ }
174
+ },
175
+ ready () {
176
+ this.searchdata()
177
+ },
178
+ watch: {
179
+ 'startdate' (val) {
180
+ this.searchdata()
181
+ },
182
+ 'enddate' (val) {
183
+ this.searchdata()
184
+ },
185
+ 'orgid' (val) {
186
+ this.searchdata()
187
+ }
188
+ }
189
+
190
+ }
191
+ </script>
@@ -4,16 +4,15 @@ export default{
4
4
  {
5
5
  "用户编号":"f_userinfo_code",
6
6
  "用户名称":"f_user_name",
7
- "表号":"f_meternumber",
8
- "开户日期":"f_open_date",
9
- "本次抄表底数":"f_tablebase",
7
+ "气表品牌":"f_meter_brand",
8
+ "气表编号":"f_meternumber",
10
9
  "上次抄表底数":"f_last_tablebase",
10
+ "本次抄表底数":"f_tablebase",
11
11
  "用气量":"f_oughtamount",
12
- "单价":"f_price",
13
- "用气金额":"f_oughtfee",
14
12
  "表内剩余余额":"f_jval",
15
- "回传时间":"f_insert_date",
16
- "上次回传日期":"f_last_insertdate"
13
+ "抄表日期":"f_insert_date",
14
+ "上次抄表日期":"f_last_insertdate",
15
+ "阀门开启状态":"f_valvestate"
17
16
  }
18
17
 
19
18
  }
@@ -0,0 +1,12 @@
1
+ // 分公司特殊组件页面注册
2
+ let specialComp = {
3
+ // 收费查询
4
+ 'echarts-box': (resolve) => { require(['./EchartsBox'], resolve) },
5
+ 'site-manager': (resolve) => { require(['./SiteManager'], resolve) },
6
+
7
+ }
8
+ exports.specialComp = specialComp
9
+
10
+
11
+
12
+