telephone-clients 4.0.0-1-7 → 4.0.0-1-8

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/CHANGELOG.md CHANGED
@@ -1,37 +1,37 @@
1
- # Change Log
2
- 所有关于本产品的变化都在该文档里。
3
-
4
- ## [Unreleased]
5
-
6
- ## 1.1.7 - 2018-11-23 @ 王智鹏
7
- - 添加安卓端可以查询购气信息
8
-
9
- ## 1.1.0 - 2018-11-11 @ 何宁社
10
- - 去掉样式
11
-
12
- ## 1.0.19 - 2018-11-1 @ 何宁社
13
- - 派通气单时,自动建档
14
-
15
- ## 1.0.11 - 2018-9-11 @ 文明
16
- ### Fixed
17
- - 修改获取参数的方式及登入人的信息
18
-
19
- ## 1.0.10 - 2018-9-3 @ 何宁社
20
- ### Fixed
21
- - 删除错误的局部组件注册
22
-
23
- ## 1.0.9 - 2018-9-3 @ 何宁社
24
- ### Fixed
25
- - 解决部分组件的大写问题
26
-
27
- ## 1.0.7 - 2018-9-3 @ 何宁社
28
- ### Fixed
29
- - 解决Console的大写问题
30
-
31
- ## 0.0.2 - 2018-5-6 @ 何宁社
32
- ### Added
33
- - 把故障编辑及故障显示组件独立出来了
34
-
35
- ## 0.0.1 - 2017-12-01
36
- ### Added
37
- - pc端,微信端界面完成,接下来主要完成文字客服,语音客服,业务逻辑,手机app等功能
1
+ # Change Log
2
+ 所有关于本产品的变化都在该文档里。
3
+
4
+ ## [Unreleased]
5
+
6
+ ## 1.1.7 - 2018-11-23 @ 王智鹏
7
+ - 添加安卓端可以查询购气信息
8
+
9
+ ## 1.1.0 - 2018-11-11 @ 何宁社
10
+ - 去掉样式
11
+
12
+ ## 1.0.19 - 2018-11-1 @ 何宁社
13
+ - 派通气单时,自动建档
14
+
15
+ ## 1.0.11 - 2018-9-11 @ 文明
16
+ ### Fixed
17
+ - 修改获取参数的方式及登入人的信息
18
+
19
+ ## 1.0.10 - 2018-9-3 @ 何宁社
20
+ ### Fixed
21
+ - 删除错误的局部组件注册
22
+
23
+ ## 1.0.9 - 2018-9-3 @ 何宁社
24
+ ### Fixed
25
+ - 解决部分组件的大写问题
26
+
27
+ ## 1.0.7 - 2018-9-3 @ 何宁社
28
+ ### Fixed
29
+ - 解决Console的大写问题
30
+
31
+ ## 0.0.2 - 2018-5-6 @ 何宁社
32
+ ### Added
33
+ - 把故障编辑及故障显示组件独立出来了
34
+
35
+ ## 0.0.1 - 2017-12-01
36
+ ### Added
37
+ - pc端,微信端界面完成,接下来主要完成文字客服,语音客服,业务逻辑,手机app等功能
package/README.md CHANGED
@@ -1,39 +1,39 @@
1
- # TelephoneClient
2
-
3
- #### 项目介绍
4
- {**以下是码云平台说明,您可以替换为您的项目简介**
5
- 码云是开源中国推出的基于 Git 的代码托管平台(同时支持 SVN)。专为开发者提供稳定、高效、安全的云端软件开发协作平台
6
- 无论是个人、团队、或是企业,都能够用码云实现代码托管、项目管理、协作开发。企业项目请看 [https://gitee.com/enterprises](https://gitee.com/enterprises)}
7
-
8
- #### 软件架构
9
- 软件架构说明
10
-
11
-
12
- #### 安装教程
13
-
14
- 1. xxxx
15
- 2. xxxx
16
- 3. xxxx
17
-
18
- #### 使用说明
19
-
20
- 1. xxxx
21
- 2. xxxx
22
- 3. xxxx
23
-
24
- #### 参与贡献
25
-
26
- 1. Fork 本项目
27
- 2. 新建 Feat_xxx 分支
28
- 3. 提交代码
29
- 4. 新建 Pull Request
30
-
31
-
32
- #### 码云特技
33
-
34
- 1. 使用 Readme\_XXX.md 来支持不同的语言,例如 Readme\_en.md, Readme\_zh.md
35
- 2. 码云官方博客 [blog.gitee.com](https://blog.gitee.com)
36
- 3. 你可以 [https://gitee.com/explore](https://gitee.com/explore) 这个地址来了解码云上的优秀开源项目
37
- 4. [GVP](https://gitee.com/gvp) 全称是码云最有价值开源项目,是码云综合评定出的优秀开源项目
38
- 5. 码云官方提供的使用手册 [https://gitee.com/help](https://gitee.com/help)
1
+ # TelephoneClient
2
+
3
+ #### 项目介绍
4
+ {**以下是码云平台说明,您可以替换为您的项目简介**
5
+ 码云是开源中国推出的基于 Git 的代码托管平台(同时支持 SVN)。专为开发者提供稳定、高效、安全的云端软件开发协作平台
6
+ 无论是个人、团队、或是企业,都能够用码云实现代码托管、项目管理、协作开发。企业项目请看 [https://gitee.com/enterprises](https://gitee.com/enterprises)}
7
+
8
+ #### 软件架构
9
+ 软件架构说明
10
+
11
+
12
+ #### 安装教程
13
+
14
+ 1. xxxx
15
+ 2. xxxx
16
+ 3. xxxx
17
+
18
+ #### 使用说明
19
+
20
+ 1. xxxx
21
+ 2. xxxx
22
+ 3. xxxx
23
+
24
+ #### 参与贡献
25
+
26
+ 1. Fork 本项目
27
+ 2. 新建 Feat_xxx 分支
28
+ 3. 提交代码
29
+ 4. 新建 Pull Request
30
+
31
+
32
+ #### 码云特技
33
+
34
+ 1. 使用 Readme\_XXX.md 来支持不同的语言,例如 Readme\_en.md, Readme\_zh.md
35
+ 2. 码云官方博客 [blog.gitee.com](https://blog.gitee.com)
36
+ 3. 你可以 [https://gitee.com/explore](https://gitee.com/explore) 这个地址来了解码云上的优秀开源项目
37
+ 4. [GVP](https://gitee.com/gvp) 全称是码云最有价值开源项目,是码云综合评定出的优秀开源项目
38
+ 5. 码云官方提供的使用手册 [https://gitee.com/help](https://gitee.com/help)
39
39
  6. 码云封面人物是一档用来展示码云会员风采的栏目 [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/)
package/package.json CHANGED
@@ -1,120 +1,120 @@
1
- {
2
- "name": "telephone-clients",
3
- "version": "4.0.0-1-7",
4
- "description": "呼叫模块前台组件",
5
- "main": "src/index.js",
6
- "directories": {
7
- "example": "examples",
8
- "test": "test"
9
- },
10
- "scripts": {
11
- "unit": "karma start test/unit/karma.conf.js",
12
- "example": "node build/example-server.js",
13
- "dev": "webpack-dev-server --config ./build/dev-server.js",
14
- "android": "node build/dev-android.js",
15
- "lint": "eslint src/**.js test/e2e/**.js test/unit/specs/** build/**.js",
16
- "build": "rimraf dist && mkdirp dist && ncp static dist/static && cross-env NODE_ENV=production webpack --progress --hide-modules --config build/webpack.prod.conf.js",
17
- "e2e": "node test/e2e/runner.js",
18
- "release": "bash build/release.sh"
19
- },
20
- "repository": "http://gitee.com/aote/telephone",
21
- "keywords": [
22
- "telephone-clients"
23
- ],
24
- "author": "申志明",
25
- "license": "ISC",
26
- "dependencies": {
27
- "html2canvas": "^1.1.4",
28
- "html2pdf.js": "^0.10.1",
29
- "jspdf": "^2.3.1",
30
- "@keeex/qrcodejs-kx": "^1.0.2",
31
- "date-fns": "^2.29.3",
32
- "dayjs": "^1.11.6",
33
- "less": "^2.7.1",
34
- "less-loader": "^2.2.3",
35
- "qrcodejs2": "^0.0.2",
36
- "src": "^1.1.2",
37
- "swiper": "^6.1.2",
38
- "vue": "^1.0.17",
39
- "vue-awesome-swiper": "^4.1.1"
40
- },
41
- "devDependencies": {
42
- "safecheck-client": "3.0.27-92",
43
- "address-client": "3.0.23",
44
- "babel-core": "^6.26.0",
45
- "babel-loader": "^6.0.0",
46
- "babel-plugin-transform-runtime": "^6.0.0",
47
- "babel-preset-es2015": "^6.0.0",
48
- "babel-preset-stage-2": "^6.0.0",
49
- "chai": "^3.5.0",
50
- "chromedriver": "^2.21.2",
51
- "compression-webpack-plugin": "^1.1.2",
52
- "connect-history-api-fallback": "^1.1.0",
53
- "cross-env": "^1.0.7",
54
- "cross-spawn": "^2.1.5",
55
- "css-loader": "^0.23.0",
56
- "echarts": "^4.1.0",
57
- "eslint": "^2.0.0",
58
- "eslint-config-standard": "^5.1.0",
59
- "eslint-friendly-formatter": "^1.2.2",
60
- "eslint-loader": "^1.3.0",
61
- "eslint-plugin-html": "^1.3.0",
62
- "eslint-plugin-promise": "^1.0.8",
63
- "eslint-plugin-standard": "^1.3.2",
64
- "eslint-plugin-vue": "^0.1.1",
65
- "eventsource-polyfill": "^0.9.6",
66
- "express": "^4.13.3",
67
- "extract-text-webpack-plugin": "^3.0.2",
68
- "file-loader": "^0.8.4",
69
- "function-bind": "^1.0.2",
70
- "html-webpack-plugin": "^2.30.1",
71
- "http-proxy-middleware": "^0.11.0",
72
- "inject-loader": "^2.0.1",
73
- "isparta-loader": "^2.0.0",
74
- "jasmine-core": "^2.4.1",
75
- "jquery": "^3.3.1",
76
- "jsencrypt": "^3.0.0-rc.1",
77
- "json-loader": "^0.5.4",
78
- "karma": "^1.4.1",
79
- "karma-chrome-launcher": "^2.2.0",
80
- "karma-coverage": "^1.1.1",
81
- "karma-mocha": "^1.3.0",
82
- "karma-sinon-chai": "^1.3.1",
83
- "karma-sourcemap-loader": "^0.3.7",
84
- "karma-spec-reporter": "0.0.31",
85
- "karma-webpack": "^2.0.2",
86
- "less-loader": "^2.2.3",
87
- "lolex": "^1.5.2",
88
- "mkdirp": "^0.5.1",
89
- "mocha": "^3.2.0",
90
- "ncp": "^2.0.0",
91
- "nightwatch": "^0.8.18",
92
- "ol": "^4.6.4",
93
- "phantomjs-prebuilt": "^2.1.3",
94
- "proj4": "^2.2.1",
95
- "rimraf": "^2.5.0",
96
- "selenium-server": "2.52.0",
97
- "sinon": "^2.1.0",
98
- "sinon-chai": "^2.8.0",
99
- "style": "0.0.3",
100
- "style-loader": "^0.20.3",
101
- "system-clients": "^4.0.5",
102
- "system-phone": "1.2.100",
103
- "terser-webpack-plugin-legacy": "^1.2.5",
104
- "url-loader": "^0.5.7",
105
- "vue-client": "1.25.31",
106
- "vue-hot-reload-api": "^1.2.0",
107
- "vue-html-loader": "^1.0.0",
108
- "vue-loader": "^8.2.1",
109
- "vue-resource": "^1.5.0",
110
- "vue-router": "^0.7.13",
111
- "vue-strap": "^1.0.9",
112
- "vue-style-loader": "^1.0.0",
113
- "vue-validator": "2.1.7",
114
- "webpack": "^3.12.0",
115
- "webpack-dev-middleware": "^1.4.0",
116
- "webpack-dev-server": "^2.9.7",
117
- "webpack-hot-middleware": "^2.6.0",
118
- "webpack-merge": "^0.8.3"
119
- }
120
- }
1
+ {
2
+ "name": "telephone-clients",
3
+ "version": "4.0.0-1-8",
4
+ "description": "呼叫模块前台组件",
5
+ "main": "src/index.js",
6
+ "directories": {
7
+ "example": "examples",
8
+ "test": "test"
9
+ },
10
+ "scripts": {
11
+ "unit": "karma start test/unit/karma.conf.js",
12
+ "example": "node build/example-server.js",
13
+ "dev": "webpack-dev-server --config ./build/dev-server.js",
14
+ "android": "node build/dev-android.js",
15
+ "lint": "eslint src/**.js test/e2e/**.js test/unit/specs/** build/**.js",
16
+ "build": "rimraf dist && mkdirp dist && ncp static dist/static && cross-env NODE_ENV=production webpack --progress --hide-modules --config build/webpack.prod.conf.js",
17
+ "e2e": "node test/e2e/runner.js",
18
+ "release": "bash build/release.sh"
19
+ },
20
+ "repository": "http://gitee.com/aote/telephone",
21
+ "keywords": [
22
+ "telephone-clients"
23
+ ],
24
+ "author": "申志明",
25
+ "license": "ISC",
26
+ "dependencies": {
27
+ "html2canvas": "^1.1.4",
28
+ "html2pdf.js": "^0.10.1",
29
+ "jspdf": "^2.3.1",
30
+ "@keeex/qrcodejs-kx": "^1.0.2",
31
+ "date-fns": "^2.29.3",
32
+ "dayjs": "^1.11.6",
33
+ "less": "^2.7.1",
34
+ "less-loader": "^2.2.3",
35
+ "qrcodejs2": "^0.0.2",
36
+ "src": "^1.1.2",
37
+ "swiper": "^6.1.2",
38
+ "vue": "^1.0.17",
39
+ "vue-awesome-swiper": "^4.1.1"
40
+ },
41
+ "devDependencies": {
42
+ "safecheck-client": "3.0.27-92",
43
+ "address-client": "3.0.23",
44
+ "babel-core": "^6.26.0",
45
+ "babel-loader": "^6.0.0",
46
+ "babel-plugin-transform-runtime": "^6.0.0",
47
+ "babel-preset-es2015": "^6.0.0",
48
+ "babel-preset-stage-2": "^6.0.0",
49
+ "chai": "^3.5.0",
50
+ "chromedriver": "^2.21.2",
51
+ "compression-webpack-plugin": "^1.1.2",
52
+ "connect-history-api-fallback": "^1.1.0",
53
+ "cross-env": "^1.0.7",
54
+ "cross-spawn": "^2.1.5",
55
+ "css-loader": "^0.23.0",
56
+ "echarts": "^4.1.0",
57
+ "eslint": "^2.0.0",
58
+ "eslint-config-standard": "^5.1.0",
59
+ "eslint-friendly-formatter": "^1.2.2",
60
+ "eslint-loader": "^1.3.0",
61
+ "eslint-plugin-html": "^1.3.0",
62
+ "eslint-plugin-promise": "^1.0.8",
63
+ "eslint-plugin-standard": "^1.3.2",
64
+ "eslint-plugin-vue": "^0.1.1",
65
+ "eventsource-polyfill": "^0.9.6",
66
+ "express": "^4.13.3",
67
+ "extract-text-webpack-plugin": "^3.0.2",
68
+ "file-loader": "^0.8.4",
69
+ "function-bind": "^1.0.2",
70
+ "html-webpack-plugin": "^2.30.1",
71
+ "http-proxy-middleware": "^0.11.0",
72
+ "inject-loader": "^2.0.1",
73
+ "isparta-loader": "^2.0.0",
74
+ "jasmine-core": "^2.4.1",
75
+ "jquery": "^3.3.1",
76
+ "jsencrypt": "^3.0.0-rc.1",
77
+ "json-loader": "^0.5.4",
78
+ "karma": "^1.4.1",
79
+ "karma-chrome-launcher": "^2.2.0",
80
+ "karma-coverage": "^1.1.1",
81
+ "karma-mocha": "^1.3.0",
82
+ "karma-sinon-chai": "^1.3.1",
83
+ "karma-sourcemap-loader": "^0.3.7",
84
+ "karma-spec-reporter": "0.0.31",
85
+ "karma-webpack": "^2.0.2",
86
+ "less-loader": "^2.2.3",
87
+ "lolex": "^1.5.2",
88
+ "mkdirp": "^0.5.1",
89
+ "mocha": "^3.2.0",
90
+ "ncp": "^2.0.0",
91
+ "nightwatch": "^0.8.18",
92
+ "ol": "^4.6.4",
93
+ "phantomjs-prebuilt": "^2.1.3",
94
+ "proj4": "^2.2.1",
95
+ "rimraf": "^2.5.0",
96
+ "selenium-server": "2.52.0",
97
+ "sinon": "^2.1.0",
98
+ "sinon-chai": "^2.8.0",
99
+ "style": "0.0.3",
100
+ "style-loader": "^0.20.3",
101
+ "system-clients": "^4.0.5",
102
+ "system-phone": "1.2.100",
103
+ "terser-webpack-plugin-legacy": "^1.2.5",
104
+ "url-loader": "^0.5.7",
105
+ "vue-client": "1.25.31",
106
+ "vue-hot-reload-api": "^1.2.0",
107
+ "vue-html-loader": "^1.0.0",
108
+ "vue-loader": "^8.2.1",
109
+ "vue-resource": "^1.5.0",
110
+ "vue-router": "^0.7.13",
111
+ "vue-strap": "^1.0.9",
112
+ "vue-style-loader": "^1.0.0",
113
+ "vue-validator": "2.1.7",
114
+ "webpack": "^3.12.0",
115
+ "webpack-dev-middleware": "^1.4.0",
116
+ "webpack-dev-server": "^2.9.7",
117
+ "webpack-hot-middleware": "^2.6.0",
118
+ "webpack-merge": "^0.8.3"
119
+ }
120
+ }
package/release.bat CHANGED
@@ -1,5 +1,5 @@
1
- git add -A
2
- git commit -m "[build] %1"
3
- git tag -a V%1 -m "Release version %1"
4
- git push origin --tags
5
- git push
1
+ git add -A
2
+ git commit -m "[build] %1"
3
+ git tag -a V%1 -m "Release version %1"
4
+ git push origin --tags
5
+ git push
@@ -1,197 +1,197 @@
1
- <template>
2
- <div class="auto">
3
- <!-- 故障类型选择,根据选择出现对应的内容填写框 -->
4
- <div class="row form-fix-width" v-if="show">
5
- <label class="font_normal_body" style="width: 15%;float: left">故障类型</label>
6
- <div class="form-control" style="width: 80%;float: left">
7
- <label class="checkbox-inline checkbox-fix-width" style="width:25%" v-for="failure in failuresAll" >
8
- <input type="checkbox"
9
- :checked="failures.getFault(failure.f_failure_type)"
10
- @change="switchFault(failure.f_failure_type, $event)">
11
- {{failure.f_failure_type}}
12
- </label>
13
- </div>
14
- </div>
15
-
16
- <!--根据选中的内容进行循环处理-->
17
- <div class="row" v-if="failures.length>0">
18
- <!--有品牌的故障内容-->
19
- <label class="font_normal_body" style="width: 15%;float: left">故障明细</label>
20
- <div class="form-control" style="width: 85%;float: left">
21
- <div v-for="failure in failures">
22
- <template v-if="getEquipment(failure.f_failure_type)">
23
- <!--品牌-->
24
- <div class="col-sm-6 form-group form-fix-width">
25
- <label class="font_normal_body" style="width: 40%">{{getEquipment(failure.f_failure_type)}}品牌</label>
26
- <v-select :value.sync="failure.f_equipment" close-on-select :value-single="true"
27
- :options="selectPara(`${getEquipment(failure.f_failure_type)}品牌`)"
28
- @change="fireInput()" placeholder='请选择'>
29
- </v-select>
30
- </div>
31
- <!-- 故障 -->
32
- <div class="col-sm-6 form-group form-fix-width">
33
- <label class="font_normal_body" style="width: 40%">{{getEquipment(failure.f_failure_type)}}故障</label>
34
- <v-select :value.sync="failure.failurecase" multiple search
35
- :options="selectPara(`${getEquipment(failure.f_failure_type)}故障`)"
36
- @change="fireInput()" placeholder='请选择'>
37
- </v-select>
38
- </div>
39
- </template>
40
-
41
- <!--无品牌的故障内容-->
42
- <div v-else class="col-sm-12 form-group form-fix-width">
43
- <label class="font_normal_body" style="width: 20%">{{failure.f_failure_type}}</label>
44
- <v-select :value.sync="failure.failurecase" multiple search
45
- :options="selectPara(failure.f_failure_type)" style="80%"
46
- @change="fireInput()" placeholder='请选择'>
47
- </v-select>
48
- </div>
49
- </div>
50
- </div>
51
-
52
- </div>
53
- </div>
54
- </template>
55
-
56
- <script>
57
- import AppData from '../../stores/AppData'
58
- import Vue from 'vue'
59
- import {HttpResetClass} from 'vue-client'
60
- export default {
61
- title: "failure-edit",
62
- props:{
63
- value: {
64
- type: String
65
- },
66
- show: {
67
- type: Boolean,
68
- default:true
69
- }
70
-
71
- },
72
- data () {
73
- return {
74
- // 选择的故障类型
75
- failures: [],
76
- // 可用故障类型列表
77
- failuresAll: [
78
- {f_failure_type: '表具故障'},
79
- {f_failure_type: '管道故障'},
80
- {f_failure_type: '报警器', f_equipment: '报警器'},
81
- {f_failure_type: '燃气灶', f_equipment: '燃气灶'},
82
- {f_failure_type: '壁挂炉', f_equipment: '壁挂炉'},
83
- {f_failure_type: '热水器', f_equipment: '热水器'},
84
- {f_failure_type: '抽油烟机', f_equipment: '油烟机'},
85
- {f_failure_type: '调压箱故障'}
86
- ]
87
- }
88
- },
89
- methods: {
90
- // 增加或者去掉一种故障
91
- switchFault(faultType, event) {
92
- // 如果选中
93
- if (event.srcElement.checked) {
94
- let failure = {f_failure_type: faultType, failurecase: []}
95
- // 获得设备名,有设备,故障添加空的设备内容
96
- let f_equipment = this.getEquipment(faultType)
97
- if (f_equipment) {
98
- failure.f_equipment = ""
99
- }
100
- let pos = this.findPos(faultType)
101
- this.failures.splice(pos, 0, failure)
102
- } else {
103
- // 未选中,删除掉
104
- let pos = this.failures.findIndex((value) => {
105
- return value.f_failure_type === faultType
106
- })
107
- this.failures.splice(pos, 1)
108
- }
109
- this.fireInput()
110
- },
111
- // 获取设备名
112
- getEquipment (faultType) {
113
- // 获得设备名
114
- let failure = this.failuresAll.find((value) => {
115
- return value.f_failure_type === faultType
116
- })
117
- return failure.f_equipment
118
- },
119
- // 把字符串转换成故障类型列表
120
- procValue () {
121
- // 清除原来内容
122
- this.failures.splice(0, this.failures.length)
123
-
124
- // 空串,直接返回
125
- if (this.value) {
126
- // 把字符串转换成故障列表对象
127
- let array = JSON.parse(this.value)
128
- array.forEach((value) => {
129
- this.failures.push(value)
130
- })
131
- }
132
- },
133
- // 找到故障插入位置
134
- findPos (faultType) {
135
- // 找到当前故障索引
136
- let index = this.findIndex(faultType)
137
- // 看在已有故障什么位置
138
- for(let [pos, v] of this.failures.entries()) {
139
- let vIndex = this.findIndex(v.f_failure_type)
140
- if (index < vIndex) {
141
- return pos
142
- }
143
- }
144
- return this.failures.length
145
- },
146
- // 找到故障索引
147
- findIndex (faultType) {
148
- let pos = this.failuresAll.findIndex((value) => {
149
- return value.f_failure_type === faultType
150
- })
151
- return pos
152
- },
153
- // 故障数据发生变化,对外发送变化事件
154
- fireInput() {
155
- // 把故障对象转换成字符串
156
- let result = JSON.stringify(this.failures)
157
- this.$emit('input', result)
158
- },
159
- // 取得对应类型的参数内容
160
- selectPara(type) {
161
- let result = this.$appdata.getParam(type)
162
- return result
163
- },
164
- },
165
- watch: {
166
- 'value' () {
167
- this.procValue()
168
- },
169
- },
170
- created () {
171
- // 给故障列表添加根据类型找故障的方法
172
- this.failures.getFault = function (faultType) {
173
- let result = this.find((value) => {
174
- return value.f_failure_type === faultType
175
- })
176
- return result
177
- }
178
- },
179
- ready () {
180
- let http = new HttpResetClass()
181
- http.load('GET', `/phone/rs/vue`, {}, {resolveMsg: null, rejectMsg: null}).then(res=>{
182
- if(res.data.telephone){
183
- if (res.data.telephone.FailuresConfig){
184
- this.failuresAll=res.data.telephone.FailuresConfig.data
185
- }
186
- }
187
- this.procValue()
188
- })
189
-
190
-
191
- }
192
- }
193
- </script>
194
-
195
- <style scoped>
196
-
197
- </style>
1
+ <template>
2
+ <div class="auto">
3
+ <!-- 故障类型选择,根据选择出现对应的内容填写框 -->
4
+ <div class="row form-fix-width" v-if="show">
5
+ <label class="font_normal_body" style="width: 15%;float: left">故障类型</label>
6
+ <div class="form-control" style="width: 80%;float: left">
7
+ <label class="checkbox-inline checkbox-fix-width" style="width:25%" v-for="failure in failuresAll" >
8
+ <input type="checkbox"
9
+ :checked="failures.getFault(failure.f_failure_type)"
10
+ @change="switchFault(failure.f_failure_type, $event)">
11
+ {{failure.f_failure_type}}
12
+ </label>
13
+ </div>
14
+ </div>
15
+
16
+ <!--根据选中的内容进行循环处理-->
17
+ <div class="row" v-if="failures.length>0">
18
+ <!--有品牌的故障内容-->
19
+ <label class="font_normal_body" style="width: 15%;float: left">故障明细</label>
20
+ <div class="form-control" style="width: 85%;float: left">
21
+ <div v-for="failure in failures">
22
+ <template v-if="getEquipment(failure.f_failure_type)">
23
+ <!--品牌-->
24
+ <div class="col-sm-6 form-group form-fix-width">
25
+ <label class="font_normal_body" style="width: 40%">{{getEquipment(failure.f_failure_type)}}品牌</label>
26
+ <v-select :value.sync="failure.f_equipment" close-on-select :value-single="true"
27
+ :options="selectPara(`${getEquipment(failure.f_failure_type)}品牌`)"
28
+ @change="fireInput()" placeholder='请选择'>
29
+ </v-select>
30
+ </div>
31
+ <!-- 故障 -->
32
+ <div class="col-sm-6 form-group form-fix-width">
33
+ <label class="font_normal_body" style="width: 40%">{{getEquipment(failure.f_failure_type)}}故障</label>
34
+ <v-select :value.sync="failure.failurecase" multiple search
35
+ :options="selectPara(`${getEquipment(failure.f_failure_type)}故障`)"
36
+ @change="fireInput()" placeholder='请选择'>
37
+ </v-select>
38
+ </div>
39
+ </template>
40
+
41
+ <!--无品牌的故障内容-->
42
+ <div v-else class="col-sm-12 form-group form-fix-width">
43
+ <label class="font_normal_body" style="width: 20%">{{failure.f_failure_type}}</label>
44
+ <v-select :value.sync="failure.failurecase" multiple search
45
+ :options="selectPara(failure.f_failure_type)" style="80%"
46
+ @change="fireInput()" placeholder='请选择'>
47
+ </v-select>
48
+ </div>
49
+ </div>
50
+ </div>
51
+
52
+ </div>
53
+ </div>
54
+ </template>
55
+
56
+ <script>
57
+ import AppData from '../../stores/AppData'
58
+ import Vue from 'vue'
59
+ import {HttpResetClass} from 'vue-client'
60
+ export default {
61
+ title: "failure-edit",
62
+ props:{
63
+ value: {
64
+ type: String
65
+ },
66
+ show: {
67
+ type: Boolean,
68
+ default:true
69
+ }
70
+
71
+ },
72
+ data () {
73
+ return {
74
+ // 选择的故障类型
75
+ failures: [],
76
+ // 可用故障类型列表
77
+ failuresAll: [
78
+ {f_failure_type: '表具故障'},
79
+ {f_failure_type: '管道故障'},
80
+ {f_failure_type: '报警器', f_equipment: '报警器'},
81
+ {f_failure_type: '燃气灶', f_equipment: '燃气灶'},
82
+ {f_failure_type: '壁挂炉', f_equipment: '壁挂炉'},
83
+ {f_failure_type: '热水器', f_equipment: '热水器'},
84
+ {f_failure_type: '抽油烟机', f_equipment: '油烟机'},
85
+ {f_failure_type: '调压箱故障'}
86
+ ]
87
+ }
88
+ },
89
+ methods: {
90
+ // 增加或者去掉一种故障
91
+ switchFault(faultType, event) {
92
+ // 如果选中
93
+ if (event.srcElement.checked) {
94
+ let failure = {f_failure_type: faultType, failurecase: []}
95
+ // 获得设备名,有设备,故障添加空的设备内容
96
+ let f_equipment = this.getEquipment(faultType)
97
+ if (f_equipment) {
98
+ failure.f_equipment = ""
99
+ }
100
+ let pos = this.findPos(faultType)
101
+ this.failures.splice(pos, 0, failure)
102
+ } else {
103
+ // 未选中,删除掉
104
+ let pos = this.failures.findIndex((value) => {
105
+ return value.f_failure_type === faultType
106
+ })
107
+ this.failures.splice(pos, 1)
108
+ }
109
+ this.fireInput()
110
+ },
111
+ // 获取设备名
112
+ getEquipment (faultType) {
113
+ // 获得设备名
114
+ let failure = this.failuresAll.find((value) => {
115
+ return value.f_failure_type === faultType
116
+ })
117
+ return failure.f_equipment
118
+ },
119
+ // 把字符串转换成故障类型列表
120
+ procValue () {
121
+ // 清除原来内容
122
+ this.failures.splice(0, this.failures.length)
123
+
124
+ // 空串,直接返回
125
+ if (this.value) {
126
+ // 把字符串转换成故障列表对象
127
+ let array = JSON.parse(this.value)
128
+ array.forEach((value) => {
129
+ this.failures.push(value)
130
+ })
131
+ }
132
+ },
133
+ // 找到故障插入位置
134
+ findPos (faultType) {
135
+ // 找到当前故障索引
136
+ let index = this.findIndex(faultType)
137
+ // 看在已有故障什么位置
138
+ for(let [pos, v] of this.failures.entries()) {
139
+ let vIndex = this.findIndex(v.f_failure_type)
140
+ if (index < vIndex) {
141
+ return pos
142
+ }
143
+ }
144
+ return this.failures.length
145
+ },
146
+ // 找到故障索引
147
+ findIndex (faultType) {
148
+ let pos = this.failuresAll.findIndex((value) => {
149
+ return value.f_failure_type === faultType
150
+ })
151
+ return pos
152
+ },
153
+ // 故障数据发生变化,对外发送变化事件
154
+ fireInput() {
155
+ // 把故障对象转换成字符串
156
+ let result = JSON.stringify(this.failures)
157
+ this.$emit('input', result)
158
+ },
159
+ // 取得对应类型的参数内容
160
+ selectPara(type) {
161
+ let result = this.$appdata.getParam(type)
162
+ return result
163
+ },
164
+ },
165
+ watch: {
166
+ 'value' () {
167
+ this.procValue()
168
+ },
169
+ },
170
+ created () {
171
+ // 给故障列表添加根据类型找故障的方法
172
+ this.failures.getFault = function (faultType) {
173
+ let result = this.find((value) => {
174
+ return value.f_failure_type === faultType
175
+ })
176
+ return result
177
+ }
178
+ },
179
+ ready () {
180
+ let http = new HttpResetClass()
181
+ http.load('GET', `/af-telephone/rs/vue`, {}, {resolveMsg: null, rejectMsg: null}).then(res=>{
182
+ if(res.data.telephone){
183
+ if (res.data.telephone.FailuresConfig){
184
+ this.failuresAll=res.data.telephone.FailuresConfig.data
185
+ }
186
+ }
187
+ this.procValue()
188
+ })
189
+
190
+
191
+ }
192
+ }
193
+ </script>
194
+
195
+ <style scoped>
196
+
197
+ </style>