@lx-frontend/wrap-element-ui 0.4.0-beta.3 → 0.4.1

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/README.md CHANGED
@@ -1,54 +1,54 @@
1
-
2
- # 快速上手
3
-
4
- ----
5
-
6
- ## 标准开发
7
-
8
- 实际项目中,往往会使用 `webpack`,`rollup` 或者 `gulp` 的工作流,大多可以做到按需加载页面用到的组件,所以不推荐直接使用 `<script>` 标签全局引入的方式使用。
9
-
10
- ### 全局组件使用
11
-
12
- 可以在项目的入口文件中引入所有组件或所需组件
13
-
14
- ```js
15
- import WrapEle from '@lx-frontend/wrap-element-ui' // 引入组件库
16
- import 'wrap-element-ui/packages/theme-default/lib/index.css' // 引入样式库
17
-
18
- Vue.use(WrapEle)
19
- ```
20
-
21
- ### 单个组件按需使用
22
-
23
- 可以局部注册所需的组件,适用于与其他框架组合使用的场景
24
-
25
- ```js
26
- import { DemoComponent } from '@lx-frontend/wrap-element-ui'
27
-
28
- export default {
29
- components: {
30
- DemoComponent
31
- }
32
- }
33
- ```
34
-
35
- 在模板中,用 `<DemoComponent></DemoComponent>` 自定义标签的方式使用组件
36
-
37
- ```html
38
- <template>
39
- <div>
40
- <DemoComponent>这是一个 demo 组件</DemoComponent>
41
- </div>
42
- </template>
43
- ```
44
-
45
- 若为单标签
46
-
47
- ```html
48
- <template>
49
- <div>
50
- <DemoComponent title="按钮" />
51
- </div>
52
- </template>
53
- ```
54
-
1
+
2
+ # 快速上手
3
+
4
+ ----
5
+
6
+ ## 标准开发
7
+
8
+ 实际项目中,往往会使用 `webpack`,`rollup` 或者 `gulp` 的工作流,大多可以做到按需加载页面用到的组件,所以不推荐直接使用 `<script>` 标签全局引入的方式使用。
9
+
10
+ ### 全局组件使用
11
+
12
+ 可以在项目的入口文件中引入所有组件或所需组件
13
+
14
+ ```js
15
+ import WrapEle from '@lx-frontend/wrap-element-ui' // 引入组件库
16
+ import 'wrap-element-ui/packages/theme-default/lib/index.css' // 引入样式库
17
+
18
+ Vue.use(WrapEle)
19
+ ```
20
+
21
+ ### 单个组件按需使用
22
+
23
+ 可以局部注册所需的组件,适用于与其他框架组合使用的场景
24
+
25
+ ```js
26
+ import { DemoComponent } from '@lx-frontend/wrap-element-ui'
27
+
28
+ export default {
29
+ components: {
30
+ DemoComponent
31
+ }
32
+ }
33
+ ```
34
+
35
+ 在模板中,用 `<DemoComponent></DemoComponent>` 自定义标签的方式使用组件
36
+
37
+ ```html
38
+ <template>
39
+ <div>
40
+ <DemoComponent>这是一个 demo 组件</DemoComponent>
41
+ </div>
42
+ </template>
43
+ ```
44
+
45
+ 若为单标签
46
+
47
+ ```html
48
+ <template>
49
+ <div>
50
+ <DemoComponent title="按钮" />
51
+ </div>
52
+ </template>
53
+ ```
54
+
package/babel.config.js CHANGED
@@ -1,5 +1,5 @@
1
- module.exports = {
2
- presets: [
3
- '@vue/cli-plugin-babel/preset'
4
- ]
5
- }
1
+ module.exports = {
2
+ presets: [
3
+ '@vue/cli-plugin-babel/preset'
4
+ ]
5
+ }
package/global.d.ts CHANGED
@@ -1,23 +1,23 @@
1
- import Vue from 'vue';
2
- import { VueRouter } from 'vue-router/types/router.d';
3
- import { Route } from 'vue-router';
4
-
5
- declare module 'vue/types/options' {
6
- // Vue 构造函数接收的额外选项
7
- interface ComponentOptions<V extends Vue> {
8
- router?: VueRouter
9
- }
10
- }
11
-
12
- declare module 'vue/types/vue' {
13
- // Vue 的全局属性
14
- interface Vue {
15
- $route: Route
16
- }
17
- }
18
-
19
- // declare module 'element-ui'
20
- declare module '*.json' {
21
- const value: any;
22
- export default value;
23
- }
1
+ import Vue from 'vue';
2
+ import { VueRouter } from 'vue-router/types/router.d';
3
+ import { Route } from 'vue-router';
4
+
5
+ declare module 'vue/types/options' {
6
+ // Vue 构造函数接收的额外选项
7
+ interface ComponentOptions<V extends Vue> {
8
+ router?: VueRouter
9
+ }
10
+ }
11
+
12
+ declare module 'vue/types/vue' {
13
+ // Vue 的全局属性
14
+ interface Vue {
15
+ $route: Route
16
+ }
17
+ }
18
+
19
+ // declare module 'element-ui'
20
+ declare module '*.json' {
21
+ const value: any;
22
+ export default value;
23
+ }
package/package.json CHANGED
@@ -1,48 +1,48 @@
1
- {
2
- "name": "@lx-frontend/wrap-element-ui",
3
- "version": "0.4.0-beta.3",
4
- "description": "wrap-element-ui",
5
- "author": "Vic <18373209286@163.com>",
6
- "main": "packages/index.js",
7
- "private": false,
8
- "scripts": {
9
- "serve": "npm run build:style && vue-cli-service serve",
10
- "build:style": "gulp build --gulpfile packages/theme-default/gulpfile.js",
11
- "dist": "npm run build:style && vue-cli-service build",
12
- "build:single": "webpack --config build/build-one-by-one.js",
13
- "lint": "vue-cli-service lint",
14
- "test:unit": "vue-cli-service test:unit"
15
- },
16
- "dependencies": {
17
- "cheerio": "^1.0.0-rc.2",
18
- "core-js": "^3.3.2",
19
- "element-ui": "^2.11.1",
20
- "highlight.js": "^9.16.2",
21
- "markdown-it-anchor": "^4.0.0",
22
- "markdown-it-container": "^2.0.0",
23
- "vue": "^2.6.10",
24
- "vue-markdown-loader": "^2.2.3",
25
- "vue-router": "^3.1.3"
26
- },
27
- "devDependencies": {
28
- "@types/jest": "^24.0.11",
29
- "@vue/cli-plugin-babel": "^4.0.0",
30
- "@vue/cli-plugin-eslint": "^4.0.0",
31
- "@vue/cli-plugin-typescript": "^4.0.0",
32
- "@vue/cli-plugin-unit-jest": "^4.0.0",
33
- "@vue/cli-service": "^4.0.0",
34
- "@vue/eslint-config-typescript": "^4.0.0",
35
- "@vue/test-utils": "1.0.0-beta.29",
36
- "eslint": "^5.16.0",
37
- "eslint-plugin-vue": "^5.0.0",
38
- "gulp": "^3.9.1",
39
- "gulp-autoprefixer": "^4.0.0",
40
- "gulp-cssmin": "^0.1.7",
41
- "gulp-sass": "^4.0.2",
42
- "sass": "^1.19.0",
43
- "sass-loader": "^8.0.0",
44
- "typescript": "~3.5.3",
45
- "vue-template-compiler": "^2.6.10",
46
- "webpack-cli": "^3.3.10"
47
- }
48
- }
1
+ {
2
+ "name": "@lx-frontend/wrap-element-ui",
3
+ "version": "0.4.1",
4
+ "description": "wrap-element-ui",
5
+ "author": "Vic <18373209286@163.com>",
6
+ "main": "packages/index.js",
7
+ "private": false,
8
+ "scripts": {
9
+ "serve": "npm run build:style && vue-cli-service serve",
10
+ "build:style": "gulp build --gulpfile packages/theme-default/gulpfile.js",
11
+ "dist": "npm run build:style && vue-cli-service build",
12
+ "build:single": "webpack --config build/build-one-by-one.js",
13
+ "lint": "vue-cli-service lint",
14
+ "test:unit": "vue-cli-service test:unit"
15
+ },
16
+ "dependencies": {
17
+ "cheerio": "^1.0.0-rc.2",
18
+ "core-js": "^3.3.2",
19
+ "element-ui": "^2.11.1",
20
+ "highlight.js": "^9.16.2",
21
+ "markdown-it-anchor": "^4.0.0",
22
+ "markdown-it-container": "^2.0.0",
23
+ "vue": "^2.6.10",
24
+ "vue-markdown-loader": "^2.2.3",
25
+ "vue-router": "^3.1.3"
26
+ },
27
+ "devDependencies": {
28
+ "@types/jest": "^24.0.11",
29
+ "@vue/cli-plugin-babel": "^4.0.0",
30
+ "@vue/cli-plugin-eslint": "^4.0.0",
31
+ "@vue/cli-plugin-typescript": "^4.0.0",
32
+ "@vue/cli-plugin-unit-jest": "^4.0.0",
33
+ "@vue/cli-service": "^4.0.0",
34
+ "@vue/eslint-config-typescript": "^4.0.0",
35
+ "@vue/test-utils": "1.0.0-beta.29",
36
+ "eslint": "^5.16.0",
37
+ "eslint-plugin-vue": "^5.0.0",
38
+ "gulp": "^3.9.1",
39
+ "gulp-autoprefixer": "^4.0.0",
40
+ "gulp-cssmin": "^0.1.7",
41
+ "gulp-sass": "^4.0.2",
42
+ "sass": "^1.19.0",
43
+ "sass-loader": "^8.0.0",
44
+ "typescript": "~3.5.3",
45
+ "vue-template-compiler": "^2.6.10",
46
+ "webpack-cli": "^3.3.10"
47
+ }
48
+ }
@@ -22,8 +22,8 @@
22
22
  <li
23
23
  class="team-setting__technicians-option"
24
24
  v-for="item in technicianOptions"
25
- :key="item.technician_id">
26
- <div class="team-setting__technicians-option-left">{{ `${item.technician_name} | ${item.roles}` }}</div>
25
+ :key="item[$attrs.showConfig.id]">
26
+ <div class="team-setting__technicians-option-left">{{ `${item[$attrs.showConfig.name]} | ${item.roles}` }}</div>
27
27
  <el-button
28
28
  v-if="item.is_selected"
29
29
  type="text"
@@ -1,7 +1,7 @@
1
- import AuditSteps from './src/AuditSteps.vue'
2
-
3
- AuditSteps.install = function (Vue) {
4
- Vue.component(AuditSteps.name, AuditSteps)
5
- }
6
-
7
- export default AuditSteps
1
+ import AuditSteps from './src/AuditSteps.vue'
2
+
3
+ AuditSteps.install = function (Vue) {
4
+ Vue.component(AuditSteps.name, AuditSteps)
5
+ }
6
+
7
+ export default AuditSteps
@@ -1,85 +1,85 @@
1
- <template>
2
- <div class="audit-steps">
3
- <ElSteps direction="vertical">
4
- <ElStep class="audit-steps__step-item" v-for="(item, index) in value" :key="index">
5
- <div slot="icon">{{index + 1}}</div>
6
- <div :class="{'el-name-box': item.id}" slot="description">
7
- <span :class="[ 'audit-steps__step-order', {first: index===0} ]">{{index + 1}}</span>
8
- <ElSelect
9
- :value="item.employees"
10
- @input="val => handleEditCandidate(val, index)"
11
- multiple
12
- :multiple-limit="maxSelect"
13
- placeholder="请选择">
14
- <ElOption
15
- v-for="v in candidates"
16
- :key="v.id"
17
- :label="v.name"
18
- :value="v.id" />
19
- </ElSelect>
20
- <i class="el-name" v-if="item.id">{{item.miniName}}</i>
21
- <i class="el-icon-delete" v-if="index" @click="handleDeleteStep(index)" ></i>
22
- </div>
23
- </ElStep>
24
- </ElSteps>
25
- <ElButton v-if="isAdd" type="text" class="audit-steps__add" icon="circle-plus" @click="handleAddStep">添加审核环节</ElButton>
26
- </div>
27
- </template>
28
-
29
- <script>
30
- export default {
31
- name: 'AuditSteps',
32
- props: {
33
- candidates: {
34
- type: Array
35
- },
36
- value: {
37
- type: Array,
38
- default () {
39
- return []
40
- }
41
- },
42
- maxSelect: {
43
- type: Number,
44
- default: 3
45
- },
46
- stepNum: {
47
- type: Number,
48
- default: 2
49
- }
50
- },
51
- computed: {
52
- isAdd () {
53
- return this.value.length < this.stepNum
54
- }
55
- },
56
- methods: {
57
- syncSteps (modification) {
58
- const _steps = [ ...this.value ]
59
- this.$emit('input', modification(_steps))
60
- },
61
- handleEditCandidate (val, index) {
62
- this.syncSteps(_steps => {
63
- _steps[index].employees = val
64
- return _steps
65
- })
66
- },
67
- handleDeleteStep (i) {
68
- this.syncSteps(_steps => {
69
- _steps.splice(i, 1)
70
- return _steps
71
- })
72
- },
73
- handleAddStep () {
74
- this.syncSteps(_steps => {
75
- return _steps.concat([{ employees: [] }])
76
- })
77
- },
78
- // 判断是不是每一个步骤都选有审核人
79
- isValidateSteps () {
80
- return !this.value.some(_steps => _steps.employees.length <= 0)
81
- }
82
- }
83
- }
84
- </script>
85
-
1
+ <template>
2
+ <div class="audit-steps">
3
+ <ElSteps direction="vertical">
4
+ <ElStep class="audit-steps__step-item" v-for="(item, index) in value" :key="index">
5
+ <div slot="icon">{{index + 1}}</div>
6
+ <div :class="{'el-name-box': item.id}" slot="description">
7
+ <span :class="[ 'audit-steps__step-order', {first: index===0} ]">{{index + 1}}</span>
8
+ <ElSelect
9
+ :value="item.employees"
10
+ @input="val => handleEditCandidate(val, index)"
11
+ multiple
12
+ :multiple-limit="maxSelect"
13
+ placeholder="请选择">
14
+ <ElOption
15
+ v-for="v in candidates"
16
+ :key="v.id"
17
+ :label="v.name"
18
+ :value="v.id" />
19
+ </ElSelect>
20
+ <i class="el-name" v-if="item.id">{{item.miniName}}</i>
21
+ <i class="el-icon-delete" v-if="index" @click="handleDeleteStep(index)" ></i>
22
+ </div>
23
+ </ElStep>
24
+ </ElSteps>
25
+ <ElButton v-if="isAdd" type="text" class="audit-steps__add" icon="circle-plus" @click="handleAddStep">添加审核环节</ElButton>
26
+ </div>
27
+ </template>
28
+
29
+ <script>
30
+ export default {
31
+ name: 'AuditSteps',
32
+ props: {
33
+ candidates: {
34
+ type: Array
35
+ },
36
+ value: {
37
+ type: Array,
38
+ default () {
39
+ return []
40
+ }
41
+ },
42
+ maxSelect: {
43
+ type: Number,
44
+ default: 3
45
+ },
46
+ stepNum: {
47
+ type: Number,
48
+ default: 2
49
+ }
50
+ },
51
+ computed: {
52
+ isAdd () {
53
+ return this.value.length < this.stepNum
54
+ }
55
+ },
56
+ methods: {
57
+ syncSteps (modification) {
58
+ const _steps = [ ...this.value ]
59
+ this.$emit('input', modification(_steps))
60
+ },
61
+ handleEditCandidate (val, index) {
62
+ this.syncSteps(_steps => {
63
+ _steps[index].employees = val
64
+ return _steps
65
+ })
66
+ },
67
+ handleDeleteStep (i) {
68
+ this.syncSteps(_steps => {
69
+ _steps.splice(i, 1)
70
+ return _steps
71
+ })
72
+ },
73
+ handleAddStep () {
74
+ this.syncSteps(_steps => {
75
+ return _steps.concat([{ employees: [] }])
76
+ })
77
+ },
78
+ // 判断是不是每一个步骤都选有审核人
79
+ isValidateSteps () {
80
+ return !this.value.some(_steps => _steps.employees.length <= 0)
81
+ }
82
+ }
83
+ }
84
+ </script>
85
+
@@ -1,7 +1,7 @@
1
- import DemoComponent from './src/DemoComponent.vue';
2
-
3
- DemoComponent.install = function (Vue) {
4
- Vue.component(DemoComponent.name, DemoComponent)
5
- }
6
-
7
- export default DemoComponent
1
+ import DemoComponent from './src/DemoComponent.vue';
2
+
3
+ DemoComponent.install = function (Vue) {
4
+ Vue.component(DemoComponent.name, DemoComponent)
5
+ }
6
+
7
+ export default DemoComponent
@@ -1,10 +1,10 @@
1
- <template>
2
- <div class="demo-component__input">
3
- <ElInput title="DemoComponent" lable="DemoComponent" />
4
- </div>
5
- </template>
6
- <script>
7
- export default{
8
- name: 'DemoComponent'
9
- }
10
- </script>
1
+ <template>
2
+ <div class="demo-component__input">
3
+ <ElInput title="DemoComponent" lable="DemoComponent" />
4
+ </div>
5
+ </template>
6
+ <script>
7
+ export default{
8
+ name: 'DemoComponent'
9
+ }
10
+ </script>
@@ -1,7 +1,7 @@
1
- import Ellipsis from './src/Ellipsis.vue'
2
-
3
- Ellipsis.install = function (Vue) {
4
- Vue.component(Ellipsis.name, Ellipsis)
5
- }
6
-
7
- export default Ellipsis
1
+ import Ellipsis from './src/Ellipsis.vue'
2
+
3
+ Ellipsis.install = function (Vue) {
4
+ Vue.component(Ellipsis.name, Ellipsis)
5
+ }
6
+
7
+ export default Ellipsis