safecheck-client 3.0.35-53 → 3.0.35-54
Sign up to get free protection for your applications and to get access to all the features.
- package/.babelrc +5 -5
- package/.editorconfig +9 -9
- package/android.html +18 -18
- package/config/dev.env.js +6 -6
- package/config/index.js +38 -38
- package/config/prod.env.js +3 -3
- package/config/test.env.js +6 -6
- package/docs/AppBase.md +22 -22
- package/docs/Busy.md +14 -14
- package/docs/CriteriaPaged.md +47 -47
- package/docs/DataGrid.md +54 -54
- package/docs/DataModel.md +22 -22
- package/docs/Dynamic.md +42 -42
- package/docs/GetParams.md +11 -11
- package/docs/HttpBusy.md +13 -13
- package/docs/HttpStore.md +29 -29
- package/docs/MessageBox.md +28 -28
- package/docs/PagedList.md +29 -29
- package/docs/Pager.md +21 -21
- package/docs/Project.md +23 -23
- package/docs/Route.md +105 -105
- package/docs/SafetyCheck/AdjustPlan.md +13 -13
- package/docs/SafetyCheck/CheckerPlan.md +12 -12
- package/docs/Task.md +46 -46
- package/docs/TreeList.md +28 -28
- package/docs/TreeMixin.md +18 -18
- package/docs/all.md +10 -10
- package/docs/list.md +42 -42
- package/docs/partial.md +75 -75
- package/docs/selector.md +82 -82
- package/docs//345/274/200/345/217/221/346/226/207/346/241/243/Snippets.md +28 -28
- package/docs//345/274/200/345/217/221/346/226/207/346/241/243/vue-strap/345/217/230/346/233/264/350/256/260/345/275/225.md +7 -7
- package/docs//345/274/200/345/217/221/346/226/207/346/241/243/vue/345/217/230/346/233/264/350/256/260/345/275/225.md +13 -13
- package/docs//345/274/200/345/217/221/346/226/207/346/241/243//345/274/200/345/217/221/347/216/257/345/242/203/350/256/276/347/275/256.md +77 -77
- package/docs//347/225/214/351/235/242/345/210/266/344/275/234/350/247/204/350/214/203.md +54 -54
- package/examples/AddressList/App.vue +13 -13
- package/examples/AddressList/index.html +11 -11
- package/examples/DispatchList/App.vue +10 -10
- package/examples/DispatchList/BaseTree.vue +13 -13
- package/examples/DispatchList/Init.vue +22 -22
- package/examples/DispatchList/Test.vue +20 -20
- package/examples/DispatchList/index.html +11 -11
- package/examples/DispatchList/main.js +18 -18
- package/home.html +16 -16
- package/package.json +1 -1
- package/publish.bat +7 -7
- package/release.bat +5 -5
- package/src/Widget.vue +13 -13
- package/src/android-bootstrap/fonts/glyphicons-halflings-regular.svg +287 -287
- package/src/android-bootstrap/less/.csscomb.json +304 -304
- package/src/android-bootstrap/less/.csslintrc +19 -19
- package/src/android-bootstrap/less/alerts.less +73 -73
- package/src/android-bootstrap/less/badges.less +66 -66
- package/src/android-bootstrap/less/bootstrap.less +56 -56
- package/src/android-bootstrap/less/breadcrumbs.less +26 -26
- package/src/android-bootstrap/less/button-groups.less +247 -247
- package/src/android-bootstrap/less/buttons.less +173 -173
- package/src/android-bootstrap/less/carousel.less +269 -269
- package/src/android-bootstrap/less/close.less +34 -34
- package/src/android-bootstrap/less/code.less +69 -69
- package/src/android-bootstrap/less/component-animations.less +33 -33
- package/src/android-bootstrap/less/grid.less +84 -84
- package/src/android-bootstrap/less/input-groups.less +167 -167
- package/src/android-bootstrap/less/jumbotron.less +52 -52
- package/src/android-bootstrap/less/labels.less +64 -64
- package/src/android-bootstrap/less/list-group.less +141 -141
- package/src/android-bootstrap/less/media.less +66 -66
- package/src/android-bootstrap/less/mixins/alerts.less +14 -14
- package/src/android-bootstrap/less/mixins/background-variant.less +9 -9
- package/src/android-bootstrap/less/mixins/border-radius.less +18 -18
- package/src/android-bootstrap/less/mixins/buttons.less +69 -69
- package/src/android-bootstrap/less/mixins/center-block.less +7 -7
- package/src/android-bootstrap/less/mixins/clearfix.less +22 -22
- package/src/android-bootstrap/less/mixins/forms.less +90 -90
- package/src/android-bootstrap/less/mixins/gradients.less +59 -59
- package/src/android-bootstrap/less/mixins/grid-framework.less +92 -92
- package/src/android-bootstrap/less/mixins/grid.less +122 -122
- package/src/android-bootstrap/less/mixins/hide-text.less +21 -21
- package/src/android-bootstrap/less/mixins/image.less +33 -33
- package/src/android-bootstrap/less/mixins/labels.less +12 -12
- package/src/android-bootstrap/less/mixins/list-group.less +30 -30
- package/src/android-bootstrap/less/mixins/nav-divider.less +10 -10
- package/src/android-bootstrap/less/mixins/nav-vertical-align.less +9 -9
- package/src/android-bootstrap/less/mixins/opacity.less +8 -8
- package/src/android-bootstrap/less/mixins/pagination.less +24 -24
- package/src/android-bootstrap/less/mixins/panels.less +24 -24
- package/src/android-bootstrap/less/mixins/progress-bar.less +10 -10
- package/src/android-bootstrap/less/mixins/reset-filter.less +8 -8
- package/src/android-bootstrap/less/mixins/reset-text.less +18 -18
- package/src/android-bootstrap/less/mixins/resize.less +6 -6
- package/src/android-bootstrap/less/mixins/responsive-visibility.less +15 -15
- package/src/android-bootstrap/less/mixins/size.less +10 -10
- package/src/android-bootstrap/less/mixins/tab-focus.less +9 -9
- package/src/android-bootstrap/less/mixins/table-row.less +44 -44
- package/src/android-bootstrap/less/mixins/text-emphasis.less +9 -9
- package/src/android-bootstrap/less/mixins/text-overflow.less +8 -8
- package/src/android-bootstrap/less/mixins/vendor-prefixes.less +227 -227
- package/src/android-bootstrap/less/mixins.less +40 -40
- package/src/android-bootstrap/less/modals.less +151 -151
- package/src/android-bootstrap/less/navbar.less +660 -660
- package/src/android-bootstrap/less/navs.less +290 -290
- package/src/android-bootstrap/less/normalize.less +424 -424
- package/src/android-bootstrap/less/pager.less +76 -76
- package/src/android-bootstrap/less/pagination.less +89 -89
- package/src/android-bootstrap/less/panels.less +274 -274
- package/src/android-bootstrap/less/popovers.less +131 -131
- package/src/android-bootstrap/less/print.less +101 -101
- package/src/android-bootstrap/less/progress-bars.less +87 -87
- package/src/android-bootstrap/less/responsive-embed.less +35 -35
- package/src/android-bootstrap/less/responsive-utilities.less +194 -194
- package/src/android-bootstrap/less/scaffolding.less +161 -161
- package/src/android-bootstrap/less/tables.less +262 -262
- package/src/android-bootstrap/less/theme.less +291 -291
- package/src/android-bootstrap/less/thumbnails.less +36 -36
- package/src/android-bootstrap/less/tooltip.less +102 -102
- package/src/android-bootstrap/less/type.less +303 -303
- package/src/android-bootstrap/less/utilities.less +55 -55
- package/src/android-bootstrap/less/variables.less +896 -896
- package/src/android-bootstrap/less/wells.less +29 -29
- package/src/androidTest.js +20 -20
- package/src/bootstrap/less/.csscomb.json +304 -304
- package/src/bootstrap/less/.csslintrc +19 -19
- package/src/bootstrap/less/alerts.less +73 -73
- package/src/bootstrap/less/badges.less +66 -66
- package/src/bootstrap/less/breadcrumbs.less +26 -26
- package/src/bootstrap/less/button-groups.less +247 -247
- package/src/bootstrap/less/buttons.less +172 -172
- package/src/bootstrap/less/carousel.less +269 -269
- package/src/bootstrap/less/close.less +34 -34
- package/src/bootstrap/less/code.less +69 -69
- package/src/bootstrap/less/component-animations.less +33 -33
- package/src/bootstrap/less/dropdowns.less +216 -216
- package/src/bootstrap/less/forms.less +626 -626
- package/src/bootstrap/less/grid.less +84 -84
- package/src/bootstrap/less/input-groups.less +167 -167
- package/src/bootstrap/less/jumbotron.less +52 -52
- package/src/bootstrap/less/labels.less +64 -64
- package/src/bootstrap/less/list-group.less +141 -141
- package/src/bootstrap/less/media.less +66 -66
- package/src/bootstrap/less/mixins/alerts.less +14 -14
- package/src/bootstrap/less/mixins/background-variant.less +9 -9
- package/src/bootstrap/less/mixins/border-radius.less +18 -18
- package/src/bootstrap/less/mixins/buttons.less +69 -69
- package/src/bootstrap/less/mixins/center-block.less +7 -7
- package/src/bootstrap/less/mixins/clearfix.less +22 -22
- package/src/bootstrap/less/mixins/forms.less +90 -90
- package/src/bootstrap/less/mixins/gradients.less +59 -59
- package/src/bootstrap/less/mixins/grid-framework.less +92 -92
- package/src/bootstrap/less/mixins/grid.less +122 -122
- package/src/bootstrap/less/mixins/hide-text.less +21 -21
- package/src/bootstrap/less/mixins/image.less +33 -33
- package/src/bootstrap/less/mixins/labels.less +12 -12
- package/src/bootstrap/less/mixins/list-group.less +30 -30
- package/src/bootstrap/less/mixins/nav-divider.less +10 -10
- package/src/bootstrap/less/mixins/nav-vertical-align.less +9 -9
- package/src/bootstrap/less/mixins/opacity.less +8 -8
- package/src/bootstrap/less/mixins/pagination.less +24 -24
- package/src/bootstrap/less/mixins/panels.less +24 -24
- package/src/bootstrap/less/mixins/progress-bar.less +10 -10
- package/src/bootstrap/less/mixins/reset-filter.less +8 -8
- package/src/bootstrap/less/mixins/reset-text.less +18 -18
- package/src/bootstrap/less/mixins/resize.less +6 -6
- package/src/bootstrap/less/mixins/responsive-visibility.less +15 -15
- package/src/bootstrap/less/mixins/size.less +10 -10
- package/src/bootstrap/less/mixins/tab-focus.less +9 -9
- package/src/bootstrap/less/mixins/table-row.less +44 -44
- package/src/bootstrap/less/mixins/text-emphasis.less +9 -9
- package/src/bootstrap/less/mixins/text-overflow.less +8 -8
- package/src/bootstrap/less/mixins/vendor-prefixes.less +227 -227
- package/src/bootstrap/less/mixins.less +40 -40
- package/src/bootstrap/less/modals.less +151 -151
- package/src/bootstrap/less/navbar.less +660 -660
- package/src/bootstrap/less/normalize.less +424 -424
- package/src/bootstrap/less/pagination.less +89 -89
- package/src/bootstrap/less/panels.less +275 -275
- package/src/bootstrap/less/popovers.less +131 -131
- package/src/bootstrap/less/print.less +101 -101
- package/src/bootstrap/less/progress-bars.less +87 -87
- package/src/bootstrap/less/responsive-embed.less +35 -35
- package/src/bootstrap/less/responsive-utilities.less +194 -194
- package/src/bootstrap/less/scaffolding.less +161 -161
- package/src/bootstrap/less/theme.less +291 -291
- package/src/bootstrap/less/thumbnails.less +36 -36
- package/src/bootstrap/less/tooltip.less +102 -102
- package/src/bootstrap/less/type.less +303 -303
- package/src/bootstrap/less/utilities.less +55 -55
- package/src/bootstrap/less/wells.less +29 -29
- package/src/components/FileUpload.vue +696 -696
- package/src/components/Hello.vue +39 -39
- package/src/components/LeftTree.vue +27 -27
- package/src/components/android/AddressList.vue +61 -61
- package/src/components/android/AttendanceTally.vue +116 -116
- package/src/components/android/Blank.vue +10 -10
- package/src/components/android/CheckUnplanPage.vue +56 -56
- package/src/components/android/Checker.vue +12 -12
- package/src/components/android/CheckerAnnual.vue +81 -81
- package/src/components/android/CheckerAvarta.vue +82 -82
- package/src/components/android/EquipmentInspection.vue +348 -348
- package/src/components/android/FootprintMap.vue +120 -120
- package/src/components/android/HiddentroubleInvestigation.vue +192 -192
- package/src/components/android/Insurance/PhoneInsurancePurchaseDetail.vue +286 -288
- package/src/components/android/MasterMain.vue +77 -77
- package/src/components/android/Menu.vue +132 -132
- package/src/components/android/NavBottom.vue +157 -157
- package/src/components/android/PaperAlarm.vue +85 -85
- package/src/components/android/PaperDeviceNoncivil.vue +214 -214
- package/src/components/android/PlumberAnnual.vue +83 -83
- package/src/components/android/PlumberAnnualDetail.vue +65 -65
- package/src/components/android/PlumberMonthly.vue +84 -84
- package/src/components/android/PostMap.vue +83 -83
- package/src/components/android/QueryCheckHistory.vue +122 -122
- package/src/components/android/QueryCheckHistoryItem.vue +62 -62
- package/src/components/android/RepairMain.vue +60 -60
- package/src/components/android/Repairman.vue +12 -12
- package/src/components/android/StationMaster.vue +12 -12
- package/src/components/defects/DefectModal.vue +101 -101
- package/src/components/defects/DevicesAndItem.vue +39 -39
- package/src/components/issueplan/IssuePlanMain.vue +23 -23
- package/src/components/notice/NoticeForm.vue +100 -100
- package/src/components/notice/NoticeIssue.vue +20 -20
- package/src/components/paper/PicViewer.vue +18 -18
- package/src/components/phonestate/MonthlyTraffic.vue +66 -66
- package/src/components/phonestate/MonthlyTrafficRouter.vue +15 -15
- package/src/components/phonestate/PostMap.vue +82 -82
- package/src/components/querycheckpaper/PaperItem.vue +59 -59
- package/src/components/userfile/MeterFile.vue +145 -145
- package/src/components/userfile/MeterModify.vue +46 -46
- package/src/components/userfileaudit/MeterAuditFile.vue +129 -129
- package/src/filiale/weinan/android/SafecheckOrderV.vue +3343 -3343
- package/src/filiale/weinan/android/SafecheckUserInfo.vue +791 -791
- package/src/filiale/weinan/pc/PaperList.vue +687 -687
- package/src/plugins/LoadData.js +10 -10
- package/src/plugins/LoadParams.js +24 -24
- package/src/stores/wxconfig.js +10 -10
- package/src/utils/getNowDate.js +33 -33
- package/test/e2e/custom-assertions/elementCount.js +26 -26
- package/test/e2e/nightwatch.conf.js +40 -40
- package/test/e2e/runner.js +30 -30
- package/test/e2e/specs/test.js +13 -13
- package/test/unit/.eslintrc +5 -5
- package/test/unit/TestUtil.js +62 -62
- package/test/unit/context.html +20 -20
- package/test/unit/index.js +13 -13
package/src/plugins/LoadData.js
CHANGED
@@ -1,10 +1,10 @@
|
|
1
|
-
import Vue from 'vue'
|
2
|
-
// import AppData from '../stores/AppData'
|
3
|
-
|
4
|
-
let getSafeCheckParams = {
|
5
|
-
install (Vue, options) {
|
6
|
-
// 给vue增添对话框显示方法
|
7
|
-
Vue.getSafeCheckParams = Vue.prototype.$getSafeCheckParams = getSafeCheckParams
|
8
|
-
}
|
9
|
-
}
|
10
|
-
export default getSafeCheckParams
|
1
|
+
import Vue from 'vue'
|
2
|
+
// import AppData from '../stores/AppData'
|
3
|
+
|
4
|
+
let getSafeCheckParams = {
|
5
|
+
install (Vue, options) {
|
6
|
+
// 给vue增添对话框显示方法
|
7
|
+
Vue.getSafeCheckParams = Vue.prototype.$getSafeCheckParams = getSafeCheckParams
|
8
|
+
}
|
9
|
+
}
|
10
|
+
export default getSafeCheckParams
|
@@ -1,24 +1,24 @@
|
|
1
|
-
import Vue from 'vue'
|
2
|
-
// import AppData from '../stores/AppData'
|
3
|
-
|
4
|
-
let LoadParams = {
|
5
|
-
// 开启卡监听
|
6
|
-
load () {
|
7
|
-
return Vue.resetpost('rs/path/getParams', {data: {}}, {resolveMsg: null, rejectMsg: null}).then((res) => {
|
8
|
-
res.data.forEach((item) => {
|
9
|
-
let value = []
|
10
|
-
item.f_paramvalues.forEach((item, index) => {
|
11
|
-
value[index] = {}
|
12
|
-
value[index].label = item.name
|
13
|
-
value[index].value = item.name
|
14
|
-
})
|
15
|
-
AppData.params[item.name] = value
|
16
|
-
})
|
17
|
-
}).catch((res) => {
|
18
|
-
this.msg = res.data
|
19
|
-
this.show = true
|
20
|
-
})
|
21
|
-
}
|
22
|
-
}
|
23
|
-
|
24
|
-
export default LoadParams
|
1
|
+
import Vue from 'vue'
|
2
|
+
// import AppData from '../stores/AppData'
|
3
|
+
|
4
|
+
let LoadParams = {
|
5
|
+
// 开启卡监听
|
6
|
+
load () {
|
7
|
+
return Vue.resetpost('rs/path/getParams', {data: {}}, {resolveMsg: null, rejectMsg: null}).then((res) => {
|
8
|
+
res.data.forEach((item) => {
|
9
|
+
let value = []
|
10
|
+
item.f_paramvalues.forEach((item, index) => {
|
11
|
+
value[index] = {}
|
12
|
+
value[index].label = item.name
|
13
|
+
value[index].value = item.name
|
14
|
+
})
|
15
|
+
AppData.params[item.name] = value
|
16
|
+
})
|
17
|
+
}).catch((res) => {
|
18
|
+
this.msg = res.data
|
19
|
+
this.show = true
|
20
|
+
})
|
21
|
+
}
|
22
|
+
}
|
23
|
+
|
24
|
+
export default LoadParams
|
package/src/stores/wxconfig.js
CHANGED
@@ -1,10 +1,10 @@
|
|
1
|
-
export default {
|
2
|
-
// 一下为长安呼叫使用云电话地址
|
3
|
-
// tcUrl: 'http://192.169.1.2:9876/Dual'
|
4
|
-
/* voiceUrl: 'http://127.0.0.1:9876/Dual',
|
5
|
-
texttUrl: 'http://192.168.2.77:9876/Dual'*/
|
6
|
-
// 一下为咸阳呼叫使用地址
|
7
|
-
// tcUrl: 'http://192.168.2.77:9876/Dual'
|
8
|
-
// tcUrl: 'http://127.0.0.1:9876/Dual'
|
9
|
-
// tcUrl: 'http://192.168.30.28:9876/Dual'
|
10
|
-
}
|
1
|
+
export default {
|
2
|
+
// 一下为长安呼叫使用云电话地址
|
3
|
+
// tcUrl: 'http://192.169.1.2:9876/Dual'
|
4
|
+
/* voiceUrl: 'http://127.0.0.1:9876/Dual',
|
5
|
+
texttUrl: 'http://192.168.2.77:9876/Dual'*/
|
6
|
+
// 一下为咸阳呼叫使用地址
|
7
|
+
// tcUrl: 'http://192.168.2.77:9876/Dual'
|
8
|
+
// tcUrl: 'http://127.0.0.1:9876/Dual'
|
9
|
+
// tcUrl: 'http://192.168.30.28:9876/Dual'
|
10
|
+
}
|
package/src/utils/getNowDate.js
CHANGED
@@ -1,33 +1,33 @@
|
|
1
|
-
export default () => {
|
2
|
-
// 求取当前时间的工具
|
3
|
-
let myweekday = ''
|
4
|
-
let year = ''
|
5
|
-
let mydate = new Date()
|
6
|
-
myweekday = mydate.getDay()
|
7
|
-
let mymonth = mydate.getMonth() + 1
|
8
|
-
let myday = mydate.getDate()
|
9
|
-
let myyear = mydate.getYear()
|
10
|
-
year = (myyear > 200) ? myyear : 1900 + myyear
|
11
|
-
let weekday = ''
|
12
|
-
if (myweekday === 0) {
|
13
|
-
weekday = '星期日'
|
14
|
-
} else if (myweekday === 1) {
|
15
|
-
weekday = '星期一'
|
16
|
-
} else if (myweekday === 2) {
|
17
|
-
weekday = '星期二'
|
18
|
-
} else if (myweekday === 3) {
|
19
|
-
weekday = '星期三'
|
20
|
-
} else if (myweekday === 4) {
|
21
|
-
weekday = '星期四'
|
22
|
-
} else if (myweekday === 5) {
|
23
|
-
weekday = '星期五'
|
24
|
-
} else if (myweekday === 6) {
|
25
|
-
weekday = '星期日'
|
26
|
-
} else if (myweekday === 7) {
|
27
|
-
weekday = '星期六'
|
28
|
-
}
|
29
|
-
|
30
|
-
|
31
|
-
// document.write("<font color=#ffffff>今天是 "+year+"年"+mymonth+"月"+myday+"日 "+weekday+"</font>");
|
32
|
-
return year + '年' + mymonth + '月' + myday + '日 ' + weekday
|
33
|
-
}
|
1
|
+
export default () => {
|
2
|
+
// 求取当前时间的工具
|
3
|
+
let myweekday = ''
|
4
|
+
let year = ''
|
5
|
+
let mydate = new Date()
|
6
|
+
myweekday = mydate.getDay()
|
7
|
+
let mymonth = mydate.getMonth() + 1
|
8
|
+
let myday = mydate.getDate()
|
9
|
+
let myyear = mydate.getYear()
|
10
|
+
year = (myyear > 200) ? myyear : 1900 + myyear
|
11
|
+
let weekday = ''
|
12
|
+
if (myweekday === 0) {
|
13
|
+
weekday = '星期日'
|
14
|
+
} else if (myweekday === 1) {
|
15
|
+
weekday = '星期一'
|
16
|
+
} else if (myweekday === 2) {
|
17
|
+
weekday = '星期二'
|
18
|
+
} else if (myweekday === 3) {
|
19
|
+
weekday = '星期三'
|
20
|
+
} else if (myweekday === 4) {
|
21
|
+
weekday = '星期四'
|
22
|
+
} else if (myweekday === 5) {
|
23
|
+
weekday = '星期五'
|
24
|
+
} else if (myweekday === 6) {
|
25
|
+
weekday = '星期日'
|
26
|
+
} else if (myweekday === 7) {
|
27
|
+
weekday = '星期六'
|
28
|
+
}
|
29
|
+
|
30
|
+
|
31
|
+
// document.write("<font color=#ffffff>今天是 "+year+"年"+mymonth+"月"+myday+"日 "+weekday+"</font>");
|
32
|
+
return year + '年' + mymonth + '月' + myday + '日 ' + weekday
|
33
|
+
}
|
@@ -1,26 +1,26 @@
|
|
1
|
-
// A custom Nightwatch assertion.
|
2
|
-
// the name of the method is the filename.
|
3
|
-
// can be used in tests like this:
|
4
|
-
//
|
5
|
-
// browser.assert.elementCount(selector, count)
|
6
|
-
//
|
7
|
-
// for how to write custom assertions see
|
8
|
-
// http://nightwatchjs.org/guide#writing-custom-assertions
|
9
|
-
exports.assertion = function (selector, count) {
|
10
|
-
this.message = 'Testing if element <' + selector + '> has count: ' + count
|
11
|
-
this.expected = count
|
12
|
-
this.pass = function (val) {
|
13
|
-
return val === this.expected
|
14
|
-
}
|
15
|
-
this.value = function (res) {
|
16
|
-
return res.value
|
17
|
-
}
|
18
|
-
this.command = function (cb) {
|
19
|
-
var self = this
|
20
|
-
return this.api.execute(function (selector) {
|
21
|
-
return document.querySelectorAll(selector).length
|
22
|
-
}, [selector], function (res) {
|
23
|
-
cb.call(self, res)
|
24
|
-
})
|
25
|
-
}
|
26
|
-
}
|
1
|
+
// A custom Nightwatch assertion.
|
2
|
+
// the name of the method is the filename.
|
3
|
+
// can be used in tests like this:
|
4
|
+
//
|
5
|
+
// browser.assert.elementCount(selector, count)
|
6
|
+
//
|
7
|
+
// for how to write custom assertions see
|
8
|
+
// http://nightwatchjs.org/guide#writing-custom-assertions
|
9
|
+
exports.assertion = function (selector, count) {
|
10
|
+
this.message = 'Testing if element <' + selector + '> has count: ' + count
|
11
|
+
this.expected = count
|
12
|
+
this.pass = function (val) {
|
13
|
+
return val === this.expected
|
14
|
+
}
|
15
|
+
this.value = function (res) {
|
16
|
+
return res.value
|
17
|
+
}
|
18
|
+
this.command = function (cb) {
|
19
|
+
var self = this
|
20
|
+
return this.api.execute(function (selector) {
|
21
|
+
return document.querySelectorAll(selector).length
|
22
|
+
}, [selector], function (res) {
|
23
|
+
cb.call(self, res)
|
24
|
+
})
|
25
|
+
}
|
26
|
+
}
|
@@ -1,40 +1,40 @@
|
|
1
|
-
// http://nightwatchjs.org/guide#settings-file
|
2
|
-
module.exports = {
|
3
|
-
'src_folders': ['test/e2e/specs'],
|
4
|
-
'output_folder': 'test/e2e/reports',
|
5
|
-
'custom_assertions_path': ['test/e2e/custom-assertions'],
|
6
|
-
|
7
|
-
'selenium': {
|
8
|
-
'start_process': true,
|
9
|
-
'server_path': 'node_modules/selenium-server/lib/runner/selenium-server-standalone-2.52.0.jar',
|
10
|
-
'host': '127.0.0.1',
|
11
|
-
'port': 4444,
|
12
|
-
'cli_args': {
|
13
|
-
'webdriver.chrome.driver': require('chromedriver').path
|
14
|
-
}
|
15
|
-
},
|
16
|
-
|
17
|
-
'test_settings': {
|
18
|
-
'default': {
|
19
|
-
'selenium_port': 4444,
|
20
|
-
'selenium_host': 'localhost',
|
21
|
-
'silent': true
|
22
|
-
},
|
23
|
-
|
24
|
-
'chrome': {
|
25
|
-
'desiredCapabilities': {
|
26
|
-
'browserName': 'chrome',
|
27
|
-
'javascriptEnabled': true,
|
28
|
-
'acceptSslCerts': true
|
29
|
-
}
|
30
|
-
},
|
31
|
-
|
32
|
-
'firefox': {
|
33
|
-
'desiredCapabilities': {
|
34
|
-
'browserName': 'firefox',
|
35
|
-
'javascriptEnabled': true,
|
36
|
-
'acceptSslCerts': true
|
37
|
-
}
|
38
|
-
}
|
39
|
-
}
|
40
|
-
}
|
1
|
+
// http://nightwatchjs.org/guide#settings-file
|
2
|
+
module.exports = {
|
3
|
+
'src_folders': ['test/e2e/specs'],
|
4
|
+
'output_folder': 'test/e2e/reports',
|
5
|
+
'custom_assertions_path': ['test/e2e/custom-assertions'],
|
6
|
+
|
7
|
+
'selenium': {
|
8
|
+
'start_process': true,
|
9
|
+
'server_path': 'node_modules/selenium-server/lib/runner/selenium-server-standalone-2.52.0.jar',
|
10
|
+
'host': '127.0.0.1',
|
11
|
+
'port': 4444,
|
12
|
+
'cli_args': {
|
13
|
+
'webdriver.chrome.driver': require('chromedriver').path
|
14
|
+
}
|
15
|
+
},
|
16
|
+
|
17
|
+
'test_settings': {
|
18
|
+
'default': {
|
19
|
+
'selenium_port': 4444,
|
20
|
+
'selenium_host': 'localhost',
|
21
|
+
'silent': true
|
22
|
+
},
|
23
|
+
|
24
|
+
'chrome': {
|
25
|
+
'desiredCapabilities': {
|
26
|
+
'browserName': 'chrome',
|
27
|
+
'javascriptEnabled': true,
|
28
|
+
'acceptSslCerts': true
|
29
|
+
}
|
30
|
+
},
|
31
|
+
|
32
|
+
'firefox': {
|
33
|
+
'desiredCapabilities': {
|
34
|
+
'browserName': 'firefox',
|
35
|
+
'javascriptEnabled': true,
|
36
|
+
'acceptSslCerts': true
|
37
|
+
}
|
38
|
+
}
|
39
|
+
}
|
40
|
+
}
|
package/test/e2e/runner.js
CHANGED
@@ -1,30 +1,30 @@
|
|
1
|
-
// 1. start the dev server
|
2
|
-
var server = require('../../build/dev-server.js')
|
3
|
-
|
4
|
-
// 2. run the nightwatch test suite against it
|
5
|
-
// to run in additional browsers:
|
6
|
-
// 1. add an entry in test/e2e/nightwatch.conf.json under "test_settings"
|
7
|
-
// 2. add it to the --env flag below
|
8
|
-
// For more information on Nightwatch's config file, see
|
9
|
-
// http://nightwatchjs.org/guide#settings-file
|
10
|
-
var spawn = require('cross-spawn')
|
11
|
-
var runner = spawn(
|
12
|
-
'./node_modules/.bin/nightwatch',
|
13
|
-
[
|
14
|
-
'--config', 'test/e2e/nightwatch.conf.js',
|
15
|
-
'--env', 'chrome'
|
16
|
-
],
|
17
|
-
{
|
18
|
-
stdio: 'inherit'
|
19
|
-
}
|
20
|
-
)
|
21
|
-
|
22
|
-
runner.on('exit', function (code) {
|
23
|
-
server.close()
|
24
|
-
process.exit(code)
|
25
|
-
})
|
26
|
-
|
27
|
-
runner.on('error', function (err) {
|
28
|
-
server.close()
|
29
|
-
throw err
|
30
|
-
})
|
1
|
+
// 1. start the dev server
|
2
|
+
var server = require('../../build/dev-server.js')
|
3
|
+
|
4
|
+
// 2. run the nightwatch test suite against it
|
5
|
+
// to run in additional browsers:
|
6
|
+
// 1. add an entry in test/e2e/nightwatch.conf.json under "test_settings"
|
7
|
+
// 2. add it to the --env flag below
|
8
|
+
// For more information on Nightwatch's config file, see
|
9
|
+
// http://nightwatchjs.org/guide#settings-file
|
10
|
+
var spawn = require('cross-spawn')
|
11
|
+
var runner = spawn(
|
12
|
+
'./node_modules/.bin/nightwatch',
|
13
|
+
[
|
14
|
+
'--config', 'test/e2e/nightwatch.conf.js',
|
15
|
+
'--env', 'chrome'
|
16
|
+
],
|
17
|
+
{
|
18
|
+
stdio: 'inherit'
|
19
|
+
}
|
20
|
+
)
|
21
|
+
|
22
|
+
runner.on('exit', function (code) {
|
23
|
+
server.close()
|
24
|
+
process.exit(code)
|
25
|
+
})
|
26
|
+
|
27
|
+
runner.on('error', function (err) {
|
28
|
+
server.close()
|
29
|
+
throw err
|
30
|
+
})
|
package/test/e2e/specs/test.js
CHANGED
@@ -1,13 +1,13 @@
|
|
1
|
-
// For authoring Nightwatch tests, see
|
2
|
-
// http://nightwatchjs.org/guide#usage
|
3
|
-
|
4
|
-
module.exports = {
|
5
|
-
'default e2e tests': function (browser) {
|
6
|
-
browser
|
7
|
-
.url('http://localhost:8080')
|
8
|
-
.waitForElementVisible('#app', 5000)
|
9
|
-
.assert.elementPresent('.logo')
|
10
|
-
.assert.containsText('h1', 'Hello World!')
|
11
|
-
.end()
|
12
|
-
}
|
13
|
-
}
|
1
|
+
// For authoring Nightwatch tests, see
|
2
|
+
// http://nightwatchjs.org/guide#usage
|
3
|
+
|
4
|
+
module.exports = {
|
5
|
+
'default e2e tests': function (browser) {
|
6
|
+
browser
|
7
|
+
.url('http://localhost:8080')
|
8
|
+
.waitForElementVisible('#app', 5000)
|
9
|
+
.assert.elementPresent('.logo')
|
10
|
+
.assert.containsText('h1', 'Hello World!')
|
11
|
+
.end()
|
12
|
+
}
|
13
|
+
}
|
package/test/unit/.eslintrc
CHANGED
@@ -1,5 +1,5 @@
|
|
1
|
-
{
|
2
|
-
"env": {
|
3
|
-
"jasmine": true
|
4
|
-
}
|
5
|
-
}
|
1
|
+
{
|
2
|
+
"env": {
|
3
|
+
"jasmine": true
|
4
|
+
}
|
5
|
+
}
|
package/test/unit/TestUtil.js
CHANGED
@@ -1,62 +1,62 @@
|
|
1
|
-
import Vue from 'vue'
|
2
|
-
|
3
|
-
let id = 0;
|
4
|
-
|
5
|
-
const createElm = function() {
|
6
|
-
const elm = document.createElement('div');
|
7
|
-
|
8
|
-
elm.id = 'app' + ++id;
|
9
|
-
document.body.appendChild(elm);
|
10
|
-
|
11
|
-
return elm;
|
12
|
-
};
|
13
|
-
|
14
|
-
export default {
|
15
|
-
// 创建一个测试组件
|
16
|
-
createTest: function (name, props) {
|
17
|
-
const template = '<div>' + '<' + name + ' v-ref:child></' + name + '></div>'
|
18
|
-
const elm = createElm();
|
19
|
-
const comp = new Vue({
|
20
|
-
template: template
|
21
|
-
})
|
22
|
-
comp.$mount(elm)
|
23
|
-
const vm = comp.$refs.child
|
24
|
-
Object.assign(vm, props)
|
25
|
-
return vm
|
26
|
-
},
|
27
|
-
|
28
|
-
// 删除一个组件
|
29
|
-
destroyVM: function (vm) {
|
30
|
-
vm.$destroy && vm.$destroy();
|
31
|
-
vm.$el &&
|
32
|
-
vm.$el.parentNode &&
|
33
|
-
vm.$el.parentNode.removeChild(vm.$el);
|
34
|
-
},
|
35
|
-
|
36
|
-
/**
|
37
|
-
* 触发一个事件
|
38
|
-
* mouseenter, mouseleave, mouseover, keyup, change, click 等
|
39
|
-
* @param {Element} elm
|
40
|
-
* @param {String} name
|
41
|
-
* @param {*} opts
|
42
|
-
*/
|
43
|
-
triggerEvent: function (elm, name, ...opts) {
|
44
|
-
let eventName
|
45
|
-
|
46
|
-
if (/^mouse|click/.test(name)) {
|
47
|
-
eventName = 'MouseEvents'
|
48
|
-
} else if (/^key/.test(name)) {
|
49
|
-
eventName = 'KeyboardEvent'
|
50
|
-
} else {
|
51
|
-
eventName = 'HTMLEvents'
|
52
|
-
}
|
53
|
-
const evt = document.createEvent(eventName)
|
54
|
-
|
55
|
-
evt.initEvent(name, ...opts)
|
56
|
-
elm.dispatchEvent
|
57
|
-
? elm.dispatchEvent(evt)
|
58
|
-
: elm.fireEvent('on' + name, evt)
|
59
|
-
|
60
|
-
return elm
|
61
|
-
}
|
62
|
-
}
|
1
|
+
import Vue from 'vue'
|
2
|
+
|
3
|
+
let id = 0;
|
4
|
+
|
5
|
+
const createElm = function() {
|
6
|
+
const elm = document.createElement('div');
|
7
|
+
|
8
|
+
elm.id = 'app' + ++id;
|
9
|
+
document.body.appendChild(elm);
|
10
|
+
|
11
|
+
return elm;
|
12
|
+
};
|
13
|
+
|
14
|
+
export default {
|
15
|
+
// 创建一个测试组件
|
16
|
+
createTest: function (name, props) {
|
17
|
+
const template = '<div>' + '<' + name + ' v-ref:child></' + name + '></div>'
|
18
|
+
const elm = createElm();
|
19
|
+
const comp = new Vue({
|
20
|
+
template: template
|
21
|
+
})
|
22
|
+
comp.$mount(elm)
|
23
|
+
const vm = comp.$refs.child
|
24
|
+
Object.assign(vm, props)
|
25
|
+
return vm
|
26
|
+
},
|
27
|
+
|
28
|
+
// 删除一个组件
|
29
|
+
destroyVM: function (vm) {
|
30
|
+
vm.$destroy && vm.$destroy();
|
31
|
+
vm.$el &&
|
32
|
+
vm.$el.parentNode &&
|
33
|
+
vm.$el.parentNode.removeChild(vm.$el);
|
34
|
+
},
|
35
|
+
|
36
|
+
/**
|
37
|
+
* 触发一个事件
|
38
|
+
* mouseenter, mouseleave, mouseover, keyup, change, click 等
|
39
|
+
* @param {Element} elm
|
40
|
+
* @param {String} name
|
41
|
+
* @param {*} opts
|
42
|
+
*/
|
43
|
+
triggerEvent: function (elm, name, ...opts) {
|
44
|
+
let eventName
|
45
|
+
|
46
|
+
if (/^mouse|click/.test(name)) {
|
47
|
+
eventName = 'MouseEvents'
|
48
|
+
} else if (/^key/.test(name)) {
|
49
|
+
eventName = 'KeyboardEvent'
|
50
|
+
} else {
|
51
|
+
eventName = 'HTMLEvents'
|
52
|
+
}
|
53
|
+
const evt = document.createEvent(eventName)
|
54
|
+
|
55
|
+
evt.initEvent(name, ...opts)
|
56
|
+
elm.dispatchEvent
|
57
|
+
? elm.dispatchEvent(evt)
|
58
|
+
: elm.fireEvent('on' + name, evt)
|
59
|
+
|
60
|
+
return elm
|
61
|
+
}
|
62
|
+
}
|
package/test/unit/context.html
CHANGED
@@ -1,20 +1,20 @@
|
|
1
|
-
<!DOCTYPE html>
|
2
|
-
<html lang="zh-CN">
|
3
|
-
<head>
|
4
|
-
<meta charset="utf-8">
|
5
|
-
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
|
6
|
-
<meta name="referrer" content="never">
|
7
|
-
<title>呼叫系统</title>
|
8
|
-
<link rel="stylesheet" href="http://cache.amap.com/lbs/static/main1119.css"/>
|
9
|
-
<script type="text/javascript" src="http://webapi.amap.com/maps?v=1.4.3&key=4889f1e58df01cb40415536c8907bf64&plugin=AMap.Autocomplete,AMap.PlaceSearch"></script>
|
10
|
-
<script type="text/javascript" src="http://cache.amap.com/lbs/static/addToolbar.js"></script>
|
11
|
-
<style media="screen">
|
12
|
-
/*url(./static/newmainbg.jpg)*/
|
13
|
-
body{width: 100%;background:#7f8eaf no-repeat center bottom; background-size: cover;}
|
14
|
-
body .loginbg{ width:100%; height:100%; background:url(./static/loginbg.jpg) no-repeat center top;}
|
15
|
-
</style>
|
16
|
-
</head>
|
17
|
-
<body>
|
18
|
-
测试2
|
19
|
-
</body>
|
20
|
-
</html>
|
1
|
+
<!DOCTYPE html>
|
2
|
+
<html lang="zh-CN">
|
3
|
+
<head>
|
4
|
+
<meta charset="utf-8">
|
5
|
+
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
|
6
|
+
<meta name="referrer" content="never">
|
7
|
+
<title>呼叫系统</title>
|
8
|
+
<link rel="stylesheet" href="http://cache.amap.com/lbs/static/main1119.css"/>
|
9
|
+
<script type="text/javascript" src="http://webapi.amap.com/maps?v=1.4.3&key=4889f1e58df01cb40415536c8907bf64&plugin=AMap.Autocomplete,AMap.PlaceSearch"></script>
|
10
|
+
<script type="text/javascript" src="http://cache.amap.com/lbs/static/addToolbar.js"></script>
|
11
|
+
<style media="screen">
|
12
|
+
/*url(./static/newmainbg.jpg)*/
|
13
|
+
body{width: 100%;background:#7f8eaf no-repeat center bottom; background-size: cover;}
|
14
|
+
body .loginbg{ width:100%; height:100%; background:url(./static/loginbg.jpg) no-repeat center top;}
|
15
|
+
</style>
|
16
|
+
</head>
|
17
|
+
<body>
|
18
|
+
测试2
|
19
|
+
</body>
|
20
|
+
</html>
|
package/test/unit/index.js
CHANGED
@@ -1,13 +1,13 @@
|
|
1
|
-
// Polyfill fn.bind() for PhantomJS
|
2
|
-
/* eslint-disable no-extend-native */
|
3
|
-
Function.prototype.bind = require('function-bind')
|
4
|
-
|
5
|
-
// require all test files (files that ends with .spec.js)
|
6
|
-
var testsContext = require.context('./specs', true, /\.spec$/)
|
7
|
-
testsContext.keys().forEach(testsContext)
|
8
|
-
|
9
|
-
// require all src files except main.js for coverage.
|
10
|
-
// you can also change this to match only the subset of files that
|
11
|
-
// you want coverage for.
|
12
|
-
// var srcContext = require.context('../../src', true, /^\.\/(?!main(\.js)?$)/)
|
13
|
-
// srcContext.keys().forEach(srcContext)
|
1
|
+
// Polyfill fn.bind() for PhantomJS
|
2
|
+
/* eslint-disable no-extend-native */
|
3
|
+
Function.prototype.bind = require('function-bind')
|
4
|
+
|
5
|
+
// require all test files (files that ends with .spec.js)
|
6
|
+
var testsContext = require.context('./specs', true, /\.spec$/)
|
7
|
+
testsContext.keys().forEach(testsContext)
|
8
|
+
|
9
|
+
// require all src files except main.js for coverage.
|
10
|
+
// you can also change this to match only the subset of files that
|
11
|
+
// you want coverage for.
|
12
|
+
// var srcContext = require.context('../../src', true, /^\.\/(?!main(\.js)?$)/)
|
13
|
+
// srcContext.keys().forEach(srcContext)
|