manage-client 3.3.147 → 3.3.148

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.147",
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.132",
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.148",
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.132",
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
+ }
@@ -89,32 +89,31 @@
89
89
  <v-select :value.sync="model.f_meter_brand"
90
90
  v-model="model.f_meter_brand"
91
91
  :options='$parent.$parent.meterbrands' placeholder='请选择'
92
- condition="f_meter_brand = '{}'"
93
- close-on-select></v-select>
92
+ condition="f_meter_brand in {}"
93
+ multiple></v-select>
94
94
  </div>
95
95
  <div class="col-sm-2 form-group">
96
96
  <label class="font_normal_body">旧表品牌</label>
97
97
  <v-select :value.sync="model.f_meter_brand_old"
98
98
  v-model="model.f_meter_brand_old"
99
99
  :options='$parent.$parent.meterbrands' placeholder='请选择'
100
- condition="f_meter_brand_old = '{}'"
101
- close-on-select></v-select>
100
+ condition="f_meter_brand_old in {}"
101
+ multiple></v-select>
102
102
  </div>
103
103
  <div class="col-sm-2 form-group">
104
104
  <label class="font_normal_body">换表类型</label>
105
105
  <v-select :value.sync="model.f_type"
106
106
  v-model="model.f_type"
107
107
  :options='$parent.$parent.changeTypes' placeholder='请选择'
108
- condition="f_type = '{}'"
109
- close-on-select></v-select>
108
+ condition="f_type = '{}'"></v-select>
110
109
  </div>
111
110
  <div class="col-sm-2 form-group">
112
111
  <label class="font_normal_body">换&nbsp;表&nbsp;&nbsp;人</label>
113
112
  <v-select :value.sync="model.f_change_operator"
114
113
  v-model="model.f_change_operator"
115
114
  :options='$parent.$parent.changePerson' placeholder='请选择'
116
- condition="f_change_operator = '{}'"
117
- close-on-select></v-select>
115
+ condition="f_change_operator in {}"
116
+ multiple></v-select>
118
117
  </div>
119
118
  <div class="col-sm-2 form-group">
120
119
  <label class="font_normal_body">卡&emsp;&emsp;号</label>
@@ -251,6 +250,9 @@
251
250
  <th>
252
251
  <nobr>换表费</nobr>
253
252
  </th>
253
+ <th>
254
+ <nobr>表方向</nobr>
255
+ </th>
254
256
  <th>
255
257
  <nobr>旧表号</nobr>
256
258
  </th>
@@ -346,6 +348,9 @@
346
348
  <td style="text-align: center;">
347
349
  <nobr>{{row.f_changemeter_fee}}</nobr>
348
350
  </td>
351
+ <td style="text-align: center;">
352
+ <nobr>{{row.f_aroundmeter}}</nobr>
353
+ </td>
349
354
  <td style="text-align: center;">
350
355
  <nobr>{{row.f_meternumber_old}}</nobr>
351
356
  </td>
@@ -0,0 +1,624 @@
1
+ <template>
2
+ <div class="flex-row" v-if="!showdetail">
3
+ <div id='app1' class="basic-main" v-show="(!echarts)&&(!isActiveTotalForm)">
4
+ <criteria-paged :model="model" :pager='true' v-ref:paged>
5
+ <criteria partial='criteria' @condition-changed='$parent.search' v-ref:cri>
6
+ <div novalidate class="form-horizontal select-overspread container-fluid auto" novalidate partial>
7
+ <div class="row">
8
+ <!--<div class="form-group">-->
9
+ <!--<input @keyup.enter="search" style="width:60%" type="text" class="input_search" v-model="model.f_username" placeholder='客户名称'-->
10
+ <!--condition="f_user_name = '{}'" v-next-el='userid' v-el:username-->
11
+ <!--:size="model.f_user_name ? model.f_user_name.length * 2 : 8">-->
12
+ <!--</div>-->
13
+
14
+ <div class="col-sm-2 form-group">
15
+ <label class="font_normal_body">客户编号</label>
16
+ <input @keyup.enter="search" style="width:60%" type="text" class="input_search"
17
+ v-model="model.f_userinfo_code" placeholder='客户编号'
18
+ condition="f_userinfo_code like '%{}%'" v-el:xq v-next-el='userinfocode' v-el:username
19
+ >
20
+ </div>
21
+ <div class="col-sm-2 form-group">
22
+ <label class="font_normal_body">客户名称</label>
23
+ <input @keyup.enter="search" style="width:60%" type="text" class="input_search"
24
+ v-model="model.f_user_name" placeholder='客户名称'
25
+ condition="f_user_name like '%{}%'" v-el:xq v-next-el='username' v-el:username
26
+ >
27
+ </div>
28
+ <div class="col-sm-2 form-group">
29
+ <label class="font_normal_body">客户地址</label>
30
+ <input @keyup.enter="search" style="width:60%" type="text" class="input_search" v-model="model.f_area"
31
+ placeholder='地址'
32
+ condition="f_address like '%{}%'" v-el:xq v-next-el='address' v-el:area
33
+ >
34
+ </div>
35
+ <div class="col-sm-2 form-group">
36
+ <label class="font_normal_body">&nbsp;&nbsp;&nbsp;表号&nbsp;&nbsp;&nbsp;</label>
37
+ <input @keyup.enter="search" style="width:60%" type="text" class="input_search"
38
+ v-model="model.f_meternumber" placeholder='表号'
39
+ condition="f_meternumber like '%{}%'" v-next-el='meternumber' v-el:meternumber
40
+ >
41
+ </div>
42
+
43
+ <div style="float:right">
44
+ <button class="button_search button_spacing" @click="search()">查询</button>
45
+ <button class="button_clear button_spacing" @click="$parent.$parent.clearmsg">清空</button>
46
+ <export-excel :data="$parent.$parent.getCondition" class="button_export button_spacing"
47
+ :field="$parent.$parent.getfield" :sumname="$parent.$parent.sumName"
48
+ sqlurl="rs/logic/exportfile" sql-name="webmeter_getUserLoseQuery" template-name='用户失联查询'
49
+ :choose-col="true"></export-excel>
50
+ <!-- <button class="button_export button_spacing" @click="$parent.$parent.SaveAsFile('lostuserlist')">导出</button>-->
51
+ <!-- <button class="button_export button_spacing" style="width: max-content" @click="$parent.$parent.showTotalForm()">显示汇总</button>-->
52
+ <!-- <button class="button_search button_spacing" @click="$parent.$parent.showEcharts()">显示图表</button>-->
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
+ <div class="row" v-show="$parent.$parent.criteriaShow">
57
+ <div class="col-sm-2 form-group">
58
+ <label class="font_normal_body">&nbsp;&nbsp;&nbsp;公司&nbsp;&nbsp;&nbsp;</label>
59
+ <right-tree @re-res="$parent.$parent.getorg"
60
+ :initresid='$parent.$parent.org'></right-tree>
61
+ </div>
62
+ <div class="col-sm-2 form-group">
63
+ <label class="font_normal_body">客户类型</label>
64
+ <v-select style="width:60%" id="f_user_type"
65
+ v-model="model.f_user_type"
66
+ placeholder='客户类型'
67
+ :value.sync="model.f_user_type"
68
+ :options='$parent.$parent.usertypes'
69
+ condition="f_user_type = '{}'"
70
+ close-on-select>
71
+ </v-select>
72
+ </div>
73
+ <div class="col-sm-2 form-group">
74
+ <label class="font_normal_body">用气性质</label>
75
+ <v-select style="width:60%" id="f_gasproperties"
76
+ v-model="model.f_gasproperties"
77
+ placeholder='用气性质'
78
+ :value.sync="model.f_gasproperties"
79
+ :options='$parent.$parent.Gasproperties'
80
+ condition="f_gasproperties = '{}'"
81
+ close-on-select>
82
+ </v-select>
83
+ </div>
84
+ <div class="col-sm-2 form-group">
85
+ <label class="font_normal_body">气表品牌</label>
86
+ <v-select
87
+ placeholder='气表品牌'
88
+ :value.sync="model.f_meter_brand"
89
+ v-model="model.f_meter_brand"
90
+ :options='$parent.$parent.WarningType'
91
+ @change="$parent.$parent.getMeterType"
92
+ close-on-select
93
+ condition="f_meter_brand='{}'">
94
+ </v-select>
95
+ </div>
96
+ <div class="col-sm-2 form-group" >
97
+ <label class="font_normal_body">气表型号</label>
98
+ <v-select v-if="$parent.$parent.styles"
99
+ placeholder='气表型号'
100
+ :value.sync="model.f_meter_style"
101
+ v-model="model.f_meter_style"
102
+ :options='$parent.$parent.Warningstyle'
103
+ close-on-select
104
+ condition="f_meter_style='{}'">
105
+ </v-select>
106
+ <v-select v-if="!$parent.$parent.styles"
107
+ placeholder='气表型号'
108
+ :value.sync="model.f_meter_style"
109
+ v-model="model.f_meter_style"
110
+ :options='$parent.$parent.Warningstyles'
111
+ close-on-select
112
+ condition="f_meter_style='{}'">
113
+ </v-select>
114
+ </div>
115
+ <div class="col-sm-2 form-group">
116
+ <label class="font_normal_body">用户状态</label>
117
+ <v-select
118
+ placeholder='用户状态'
119
+ value-single
120
+ style="width:60%"
121
+ :value.sync="model.f_user_state"
122
+ v-model="model.f_user_state"
123
+ :options='$parent.$parent.userstate'
124
+ close-on-select condition="f_user_state ='{}'">
125
+ </v-select>
126
+ </div>
127
+
128
+ <div class="col-sm-2 form-group">
129
+ <label class="font_normal_body">开始时间</label>
130
+ <datepicker style="width:60%" id="startdate" placeholder="开始时间"
131
+ v-model="model.startDate"
132
+ :value.sync="model.startDate"
133
+ :disabled-days-of-Week="[]"
134
+ :format="'yyyy-MM-dd HH:mm:ss'"
135
+
136
+ :show-reset-button="reset">
137
+ </datepicker>
138
+ </div>
139
+ <div class="col-sm-2 form-group">
140
+ <label class="font_normal_body">结束时间</label>
141
+ <datepicker style="width:60%" id="enddate" placeholder="结束日期"
142
+ v-model="model.endDate"
143
+ :value.sync="model.endDate"
144
+ :disabled-days-of-Week="[]"
145
+ :format="'yyyy-MM-dd HH:mm:ss'"
146
+
147
+ :show-reset-button="reset">
148
+ </datepicker>
149
+ </div>
150
+ <div class="col-sm-2 form-group flex-row" style="white-space: nowrap">
151
+ <label class="font_normal_body">失联天数&nbsp;</label>
152
+ <div class="row">
153
+ <input type="text" style="width:27%" class="input_search" v-model="model.SLday1"
154
+ condition="SLday >= {} " placeholder="">
155
+ <label class="font_normal_body"> ≤ x ≤ </label>
156
+ <input type="text" style="width:27%" class="input_search" v-model="model.SLday2"
157
+ condition="SLday <= {} " placeholder="">
158
+ </div>
159
+ </div>
160
+ <div class="col-sm-2 form-group ">
161
+ <label for="contain_newfile" class="font_normal_body">开户上报</label>
162
+ <v-select id="contain_newfile"
163
+ v-model="model.notappear"
164
+ style="width:60%"
165
+ :value.sync="model.notappear"
166
+ :options='$parent.$parent.not_appear'
167
+ :value-single="true"
168
+ close-on-select>
169
+ </v-select>
170
+ </div>
171
+
172
+ </div>
173
+
174
+
175
+
176
+ <!--:top='40' :left='60' :right='40' :bottom='60'-->
177
+ <!--:thead='"<th>序号</th>\n"+-->
178
+ <!--"<th>档案编号</th>" +-->
179
+ <!--" <th>档案标识</th>"+-->
180
+ <!--"<th>客户名称</th>"+-->
181
+ <!--"<th>表号</th"+-->
182
+ <!--"<th>表具类型</th>"+-->
183
+ <!--"<th>客户类型</th>"+-->
184
+ <!--"<th>区域</th>"+-->
185
+ <!--"<th>小区</th>"+-->
186
+ <!--"<th>地址</th>"+-->
187
+ <!--"<th>用气气量</th>"+-->
188
+ <!--"<th>用气金额</th>"-->
189
+ <!--+"<th>用气价格</th>"-->
190
+ <!--+"<th>时间</th>"-->
191
+ <!--+"<th>所属机构</th>"'-->
192
+ <!--:fields='["$index+1","f_username","f_meternumber","f_usertype","f_save_money","f_operate_status","f_close_reason","f_area","f_districtname","f_address","id","yytdepa"]'>-->
193
+ <!--</print-table>-->
194
+ <!--<export-excel :data="{orderitem: 'lastinputdate desc', condition: '1=1'}"-->
195
+ <!--:field="{f_username: '客户名称', f_meternumber: '表号',f_usertype:'客户类型',f_save_money:'剩余金额',-->
196
+ <!--f_operate_status:'状态',f_close_reason:'关阀原因',f_area:'区域',f_districtname:'小区', f_address: '地址',id:'档案编号',yytdepa:'所属机构'}"-->
197
+ <!--sqlurl="api/af-revenue/sql/getUserGas"></export-excel>-->
198
+
199
+ </div>
200
+ </criteria>
201
+ <data-grid id="lostuserlist" :model="model" partial='list' v-ref:grid class="list_area table_sy">
202
+ <template partial='head'>
203
+ <tr>
204
+ <th style="text-align:center">
205
+ <nobr>序号</nobr>
206
+ </th>
207
+
208
+ <!--<th rowspan="2" style="text-align:center"><nobr>客户编号</nobr></th>-->
209
+
210
+ <th style="text-align:center">
211
+ <nobr>客户编号</nobr>
212
+ </th>
213
+ <th style="text-align:center">
214
+ <nobr>客户名称</nobr>
215
+ </th>
216
+ <th style="text-align:center">
217
+ <nobr>客户地址</nobr>
218
+ </th>
219
+ <th style="text-align:center">
220
+ <nobr>客户类型</nobr>
221
+ </th>
222
+ <th style="text-align:center">
223
+ <nobr>用气性质</nobr>
224
+ </th>
225
+ <th style="text-align:center">
226
+ <nobr>联系电话</nobr>
227
+ </th>
228
+ <th style="text-align:center">
229
+ <nobr>系统金额</nobr>
230
+ </th>
231
+ <th style="text-align:center">
232
+ <nobr>表号</nobr>
233
+ </th>
234
+ <th style="text-align:center">
235
+ <nobr>启用日期</nobr>
236
+ </th>
237
+
238
+ <th style="text-align:center" >
239
+ <nobr>初次上报日期</nobr>
240
+ </th>
241
+ <th style="text-align:center" >
242
+ <nobr>最后上报日期</nobr>
243
+ </th>
244
+ <th style="text-align:center">
245
+ <nobr>最后表读数</nobr>
246
+ </th>
247
+
248
+ <th style="text-align:center" >
249
+ <nobr>失联天数</nobr>
250
+ </th>
251
+ <th style="text-align:center" >
252
+ <nobr>气表厂家</nobr>
253
+ </th>
254
+ <th style="text-align:center" >
255
+ <nobr>气表型号</nobr>
256
+ </th>
257
+ <th style="text-align:center" >
258
+ <nobr>用户状态</nobr>
259
+ </th>
260
+ <th style="text-align:center" >
261
+ <nobr>组织机构</nobr>
262
+ </th>
263
+ </tr>
264
+
265
+ </template>
266
+ <template partial='body'>
267
+ <td style="text-align:center">{{$index+1}}</td>
268
+ <!--<td style="text-align:center">{{row.f_userfiles_id}}</td>-->
269
+
270
+
271
+ <td style="text-align: center;"><nobr>
272
+ <span @click="$parent.$parent.$parent.showmsg(row)"><a>{{row.f_userinfo_code}}</a></span>
273
+ </nobr> </td>
274
+ <td style="text-align:center"><nobr>{{row.f_user_name}}</nobr></td>
275
+ <td>
276
+ <nobr>{{row.f_address}}</nobr>
277
+ </td>
278
+ <td style="text-align:center">{{row.f_user_type}}</td>
279
+ <td style="text-align:center">{{row.f_gasproperties}}</td>
280
+ <td style="text-align:center">{{row.f_user_phone}}</td>
281
+ <td style="text-align:center">{{row.f_balance_amount}}</td>
282
+ <td style="text-align:center"><nobr>{{row.f_meternumber}}</nobr></td>
283
+ <td style="text-align:center"><nobr>{{row.f_startuse_date}}</nobr></td>
284
+ <td style="text-align:center">
285
+ <nobr>{{row.initinsertdate}}</nobr>
286
+ </td> <td style="text-align:center">
287
+ <nobr>{{row.lastinsertdate}}</nobr>
288
+ </td>
289
+ <td style="text-align:center">{{row.f_meter_base}}</td>
290
+
291
+ <td style="text-align:center">
292
+ <nobr>{{row.slday}}</nobr>
293
+ </td>
294
+ <td style="text-align:center">{{row.f_meter_brand}}</td>
295
+ <td style="text-align:center">
296
+ <nobr>{{row.f_meter_style}}</nobr>
297
+ </td>
298
+ <td style="text-align:center">
299
+ <nobr>{{row.f_user_state}}</nobr>
300
+ </td>
301
+ <td style="text-align:center">
302
+ <nobr>{{row.f_orgname}}</nobr>
303
+ </td>
304
+ <!--<td style="text-align:center">{{row.new_days}}</td>-->
305
+ <!--<td style="text-align:center">{{row.f_state}}</td>-->
306
+
307
+ </template>
308
+ </data-grid>
309
+ </criteria-paged>
310
+
311
+ </div>
312
+ <!-- <div class="flex-row" v-show="echarts" style="width: 100%;height: 90%;">-->
313
+ <!-- <lost-contact-echarts :groupname="groupname[0]" :condition="condition"-->
314
+ <!-- :echarts="echarts"></lost-contact-echarts>-->
315
+ <!-- </div>-->
316
+ <!--&lt;!&ndash; <div v-show="isActiveTotalForm" style="height: 40px;width: 100%;">&ndash;&gt;-->
317
+ <!--&lt;!&ndash; <button class="button_search button_spacing" @click="notShowTotalForm()">隐藏汇总</button>&ndash;&gt;-->
318
+ <!--&lt;!&ndash; </div>&ndash;&gt;-->
319
+ <!-- <div class="span" v-show="isActiveTotalForm" style="width: 100%;height: 90%;">-->
320
+ <!-- <lost-contact-eform :condition="condition"-->
321
+ <!-- ></lost-contact-eform>-->
322
+ <!-- </div>-->
323
+ </div>
324
+ <div class="flex-row" style="width:99%;height:98%;margin-bottom:0px" v-if="showdetail">
325
+ <user-info-detail-manage-new :f_userinfo_id="rowdata.f_userinfo_id" @cancel-main="cancel"></user-info-detail-manage-new>
326
+ </div>
327
+ </template>
328
+
329
+ <script>
330
+ import {PagedList} from 'vue-client'
331
+ import UserGasEcharts from '../../components/webmeter/DrillData/UserGasEcharts'
332
+ import plugin from 'system-clients/src/plugins/GetLoginInfoService'
333
+ import {HttpResetClass} from 'vue-client'
334
+ import * as Util from '../../Util'
335
+ let readySomething = async function (self) {
336
+
337
+ await self.$MagLoadParams.loadParam()
338
+ self.initParams()
339
+ let year = new Date().getFullYear()
340
+ self.$refs.paged.$refs.cri.model.startDate = year+'-01-01 00:00:00'
341
+ self.$refs.paged.$refs.cri.model.endDate = Util.toStandardDateString() + ' 23:59:59'
342
+ self.$refs.paged.$refs.cri.model.notappear='已上报'
343
+ self.$refs.paged.$refs.cri.model.SLday1=10
344
+ self.$refs.paged.$refs.cri.model.f_user_state='正常'
345
+ }
346
+ export default {
347
+ title: '失联分析',
348
+ props: ['data'],
349
+ components: {UserGasEcharts},
350
+
351
+ data() {
352
+ return {
353
+ model: new PagedList('api/af-revenue/sql/webmeter_getUserLoseQuery', 20 ,{
354
+ startDate: 'this.model.startDate',
355
+ endDate: 'this.model.endDate'
356
+ }),
357
+ getfield:{
358
+ "f_userinfo_code":"客户编号","f_user_name":"客户名称",
359
+ "f_address":"客户地址","f_user_type":"客户类型","f_gasproperties":"用气性质",
360
+ "f_meternumber":"表号",
361
+ "f_user_phone":"联系电话",
362
+ "f_balance_amount":"系统余额",
363
+ "f_user_state":"用户状态",
364
+ "f_startuse_date":"启用日期",
365
+ "initinsertdate":"初次上报日期",
366
+ "lastinsertdate":"最后上报日期",
367
+ "f_meter_base":"最后表读数",
368
+ "slday":"失联天数",
369
+ "f_meter_brand":"气表厂家","f_orgname":"组织机构"},
370
+ reportStr: null,
371
+ show: false,
372
+ showdetail:false,
373
+ rowdata:{},
374
+ criteriaShow:false,
375
+ outlets: [],
376
+ operator: [],
377
+ filename: '',
378
+ WarningType: [
379
+ {label: '全部', value: ''}
380
+ ],
381
+ Warningstyles: [
382
+ {label: '全部', value: ''}
383
+ ],
384
+ styles:false,
385
+ org:[this.$login.f.orgid],
386
+ orgCondtionStr: ` and f_orgid = ${this.$login.f.orgid}`,
387
+ echarts: false,
388
+ searchshow: false,
389
+ isActiveTotalForm: false,
390
+ condition: '1=1',
391
+ groupname: ['max_days_type'],
392
+ getgroupname: [
393
+ {label: '客户类型', value: 'f_user_type'},
394
+ {label: '用气性质', value: 'f_gasproperties'},
395
+ {label: '分公司', value: 'f_orgname'},
396
+ {label: '最长失联天数', value: 'max_days_type'},
397
+ ]
398
+ }
399
+ },
400
+ ready() {
401
+ readySomething(this)
402
+ this.getMeterTypeAndBrand('f_meter_brand', '1=1')
403
+ },
404
+
405
+ methods: {
406
+ getMeterType() {
407
+ this.Warningstyle = [{label: '全部', value: ''}]
408
+ this.styles = false
409
+ let f_meter_brand = this.$refs.paged.$refs.cri.model.f_meter_brand
410
+ this.getMeterTypeAndBrand('f_meter_style', `f_meter_brand='${f_meter_brand}'`)
411
+ },
412
+ getMeterTypeAndBrand(groupname, condition) {
413
+ condition = `${condition} and ui.f_orgid like '${this.$login.f.orgid}%'`
414
+ let self = this
415
+ let load = new HttpResetClass()
416
+ load.load('POST', 'api/af-revenue/sql/getMeterStyleAndBrand1', {
417
+ data: {
418
+ condition: condition,
419
+ groupname: groupname
420
+ }
421
+ }, {warnMsg: null, resolveMsg: null}).then((res) => {
422
+ for (let i = 0; i < res.data.length; i++) {
423
+ if (groupname == 'f_meter_brand') {
424
+ let dr = {}
425
+ dr.label = res.data[i].f_meter_brand
426
+ dr.value = res.data[i].f_meter_brand
427
+ //气表品牌
428
+ // self.WarningType.push(dr)
429
+ } else if (groupname == 'f_meter_style') {
430
+ self.Warningstyle= [
431
+ {label: '全部', value: ''}
432
+ ],
433
+ self.$refs.paged.$refs.cri.model.f_meter_style=''
434
+ let dr = {}
435
+ dr.label = res.data[i].f_meter_style
436
+ dr.value = res.data[i].f_meter_style
437
+ //气表类型
438
+ self.Warningstyle.push(dr)
439
+ }
440
+ }
441
+ if (self.Warningstyle.length > 1) {
442
+ self.showMeterStyle()
443
+ }
444
+ })
445
+
446
+ },
447
+ showMeterStyle() {
448
+ this.styles = true
449
+ },
450
+ hidden(){
451
+ this.criteriaShow = !this.criteriaShow
452
+ },
453
+ showmsg(obj){
454
+ this.rowdata=obj
455
+ this.showdetail=true
456
+ },
457
+ cancel() {
458
+ this.showdetail = false
459
+ },
460
+ clickshow() {
461
+ this.searchshow = !this.searchshow
462
+ },
463
+ search(args) {
464
+ this.condition = this.$refs.paged.$refs.cri.condition + `${this.orgCondtionStr}`
465
+ args.condition = this.condition
466
+ if(this.$refs.paged.$refs.cri.model.notappear) {
467
+ if (this.$refs.paged.$refs.cri.model.notappear === '已上报') {
468
+ args.condition = args.condition + " and initinsertdate <> '开户未上报'"
469
+ } else if (this.$refs.paged.$refs.cri.model.notappear === '未上报') {
470
+ args.condition = args.condition + " and initinsertdate = '开户未上报'"
471
+ }
472
+ }
473
+ this.startDate = this.$refs.paged.$refs.cri.model.startDate
474
+ this.endDate = this.$refs.paged.$refs.cri.model.endDate
475
+ if (this.endDate == '' || this.startDate == '') {
476
+ return this.$showMessage("时间区间的开始和结束时间不能为空!")
477
+ }
478
+ this.model.search(args.condition, args.model)
479
+ },
480
+ getorg(obj) {
481
+ if (obj.resids.length>0) {
482
+ this.orgCondtionStr = " and f_orgid in " + plugin.convertToIn(obj.resids)
483
+ }else
484
+ {
485
+ this.orgCondtionStr = " and f_orgid = " + this.$login.f.orgid
486
+ }
487
+ },
488
+ // SaveAsFile(str) {
489
+ // this.$showMessage('您是否需要导出本页数据?', ['confirm', 'cancel']).then((res) => {
490
+ // if (res === 'confirm') {
491
+ // let style = '<style>' +
492
+ // 'td {border-width: 1px;padding: 2px;border-style: solid; border-color:black; border-collapse:collapse;} .tdright{text-align: right;} .tdcenter{text-align: center;}</style>';
493
+ // let strHtml = style + document.getElementById(str).innerHTML;
494
+ // console.log(strHtml);
495
+ // let LODOP = getLodop();
496
+ // LODOP.PRINT_INIT('');
497
+ // LODOP.ADD_PRINT_TABLE(5, 5, '99%', '100%', strHtml);
498
+ // LODOP.SAVE_TO_FILE('失联分析.xls')
499
+ // }
500
+ // })
501
+ // },
502
+ clearmsg() {
503
+ this.$refs.paged.$refs.cri.model = {}
504
+ },
505
+ close() {
506
+ this.show = false
507
+ },
508
+ initParams () {
509
+ let arr = []
510
+ this.$MagGetSaleParam.getGasbrand().forEach((item) => {
511
+ let temp = {}
512
+ if(item.value.f_meter_type==='物联网表'){
513
+ temp.label = item.label
514
+ temp.value = item.value.f_meter_brand
515
+ arr.push(temp )
516
+ }
517
+
518
+ })
519
+ this.WarningType = [{label: '全部', value: ''}, ...arr]
520
+ },
521
+ // 显示柱状图
522
+ showEcharts() {
523
+ this.echarts = true
524
+ this.isActiveTotalForm = false
525
+ },
526
+ notShowTotalForm() {
527
+ this.echarts = false
528
+ this.isActiveTotalForm = false
529
+ },
530
+ // 不显示柱状图
531
+ notShowEcharts() {
532
+ this.echarts = false
533
+ this.isActiveTotalForm = false
534
+ },
535
+ // 显示汇总数据表格
536
+ showTotalForm() {
537
+ this.echarts = false
538
+ this.isActiveTotalForm = true
539
+ }
540
+ },
541
+ watch: {
542
+ 'data'(val) {
543
+ if (val.f_files_path) {
544
+ this.getFileContent(val.f_files_path)
545
+ } else {
546
+ this.reportStr = null
547
+ }
548
+ }
549
+ },
550
+ computed: {
551
+ // usertypes () {
552
+ // return this.$appdate.getParams("客户类型")
553
+ // },
554
+ getCondition() {
555
+ let condition=this.$refs.paged.$refs.cri.condition + this.orgCondtionStr
556
+ if(this.$refs.paged.$refs.cri.model.notappear) {
557
+ if (this.$refs.paged.$refs.cri.model.notappear === '已上报') {
558
+ condition = condition + " and initinsertdate <> '开户未上报'"
559
+ }else if (this.$refs.paged.$refs.cri.model.notappear === '未上报') {
560
+ condition = condition + " and initinsertdate = '开户未上报'"
561
+ }
562
+ }
563
+ return {
564
+ condition: condition ,
565
+ startDate:`${this.$refs.paged.$refs.cri.model.startDate}`,
566
+ endDate:`${this.$refs.paged.$refs.cri.model.endDate}`
567
+ }
568
+ },
569
+ usertypes() {
570
+ return [{label: '全部', value: ''}, ...this.$appdata.getParam('用户类型')]
571
+ },
572
+ Gasproperties() {
573
+ return [{label: '全部', value: ''}, ...this.$appdata.getParam('用气性质')]
574
+ },
575
+ f_outlets() {
576
+ return [{label: '全部', value: ''}, ...this.$appdata.getParam('网点查询用')]
577
+ },
578
+ valveStatus() {
579
+ return [{label: '全部', value: ''}, ...this.$appdata.getParam('气表类型')]
580
+ },
581
+ not_appear(){
582
+ return [{label: '全部', value: '全部'},{label: '已上报', value: '已上报'},{label: '未上报', value: '未上报'} ]
583
+ },
584
+ getstate() {
585
+ return [{label: '全部', value: ''}, ...this.$appdata.getParam('最新状态')]
586
+ },
587
+ userstate() {
588
+ return [{label: '全部', value: ''}, ...this.$appdata.getParam('用户状态')]
589
+ }
590
+ }
591
+ }
592
+ </script>
593
+ <style>
594
+ .form-input-group label {
595
+ text-align: right;
596
+ width: auto;
597
+ }
598
+
599
+ .mystyle {
600
+ float: right;
601
+ padding-right: 10%;
602
+ }
603
+
604
+ .mystyle1 {
605
+ padding-top: 10px;
606
+
607
+ }
608
+
609
+ .mystyle2 {
610
+ width: 100%;
611
+ height: 35px;
612
+ /*background: #00A3F0;*/
613
+ padding-left: 15px;
614
+ float: left;
615
+ }
616
+
617
+ .datapanel {
618
+ color: #333;
619
+ background-color: white;
620
+ box-shadow: darkgrey 0.5px 0.5px 0.5px 0.5px;
621
+ padding: 10px 30px 10px 30px;
622
+ border-radius: 15px;
623
+ }
624
+ </style>
@@ -651,32 +651,33 @@ export default {
651
651
 
652
652
  changemeterConfig: {
653
653
  'f_userinfo_code': '客户编号',
654
- 'f_olduserinfo_code': '档案编号',
655
654
  'f_user_name': '客户名称',
656
- 'f_address': '客户地址',
657
- 'f_type': '换表类型',
658
- 'f_changemeter_fee': '换表费',
659
- 'f_meternumber_old': '旧表号',
660
- 'f_meternumber': '新表号',
655
+ 'f_changetables_reason': '换表原因',
661
656
  'f_meter_brand_old': '旧气表品牌',
662
- 'f_meter_brand': '新气表品牌',
657
+ 'f_meternumber_old': '旧表号',
658
+ 'f_using_base_old': '旧表底数',
663
659
  'f_remanent_gas': '补气量',
664
- 'f_remanent_money': '补气金额',
665
- 'f_comments': '备注',
666
- 'f_change_operator': '换表人',
667
- 'f_state': '状态',
668
- 'f_operate_date': '操作日期',
660
+ 'f_address': '客户地址',
661
+ 'f_operate_date': '换表日期',
669
662
  'f_payment': '付款方式',
670
- 'f_changetables_reason': '换表原因',
671
- 'f_operator': '人员',
672
- 'f_depname': '部门',
673
- 'f_orgname': '公司',
674
- 'f_using_base_old': '旧表底数',
663
+ 'f_aroundmeter': '表方向',
664
+ 'f_meter_brand': '新气表品牌',
665
+ 'f_meternumber': '新表号',
675
666
  'f_meter_base': '新表底数',
667
+ 'f_change_operator': '换表人',
668
+ 'f_comments': '备注',
669
+ 'f_type': '换表类型',
670
+ 'f_state': '状态',
671
+ 'f_remanent_money': '补气金额',
672
+ 'f_changemeter_fee': '换表费',
673
+ 'f_olduserinfo_code': '档案编号',
676
674
  'f_balance_amount': '表上余额',
677
675
  'leigougas': '累购气量',
676
+ 'leigoumoney': '累购金额',
678
677
  'f_inputtor_old': '旧抄表员',
679
- 'leigoumoney': '累购金额'
678
+ 'f_operator': '人员',
679
+ 'f_depname': '部门',
680
+ 'f_orgname': '公司'
680
681
  },
681
682
  changemeterprintConfig: {
682
683
  'f_userinfo_code': '客户编号',
@@ -4,4 +4,6 @@ import Vue from 'vue'
4
4
  export default function () {
5
5
  // 物联网表用气量统计表新
6
6
  Vue.component('new-use-gas-statistics', (resolve) => { require(['./NewGasStatistics'], resolve) })
7
+ // 用户失联
8
+ Vue.component('user-lost-contact-analysis', (resolve) => { require(['./UserLostContactAnalysis'], resolve) })
7
9
  }