wl-design-mobile 0.0.1 → 0.0.2

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.
Files changed (53) hide show
  1. package/api/doc.js +25 -0
  2. package/api/x1.js +56 -0
  3. package/btn/lambo-big-button.vue +125 -121
  4. package/btn/lambo-button-group.vue +47 -47
  5. package/btn/lambo-medium-button.vue +123 -121
  6. package/btn/lambo-small-button-group.vue +31 -31
  7. package/btn/lambo-small-button-select.vue +53 -53
  8. package/btn/lambo-small-button.vue +123 -121
  9. package/card-item/card-row-icon.vue +0 -1
  10. package/card-item/filtrate-row.vue +1 -0
  11. package/collapse/lambo-collapse.vue +80 -80
  12. package/config/config.js +14 -0
  13. package/detail/lambo-detail-grid.vue +87 -57
  14. package/detail/lambo-detail-row.vue +59 -59
  15. package/doc/file/lambo-file-upload.vue +176 -179
  16. package/doc/file/styles/css/index.css +118 -118
  17. package/doc/img/lambo-img-upload.vue +109 -109
  18. package/edit/list/Lambo-edit-list.vue +90 -90
  19. package/edit/list/lambo-edit-card-group.vue +103 -103
  20. package/edit/select/lambo-edit-date-range.vue +135 -135
  21. package/edit/select/lambo-edit-date-time.vue +105 -0
  22. package/edit/select/lambo-edit-date.vue +108 -108
  23. package/edit/select/lambo-edit-input-textarea.vue +92 -92
  24. package/edit/select/lambo-edit-input.vue +92 -92
  25. package/edit/select/lambo-edit-multi-select.vue +160 -160
  26. package/edit/select/lambo-edit-single-select.vue +153 -153
  27. package/flow/lambo-flow-detail.vue +30 -30
  28. package/flow/lambo-flow-edit.vue +30 -30
  29. package/icon/lambo-required-red-star.vue +47 -47
  30. package/list/lambo-list.vue +1 -1
  31. package/nav/lambo-top-nav.vue +89 -89
  32. package/package.json +4 -2
  33. package/search/lambo-date-range-page.vue +191 -191
  34. package/search/lambo-date-range.vue +107 -107
  35. package/search/lambo-input.vue +74 -74
  36. package/search/lambo-multi-select.vue +125 -125
  37. package/search/lambo-org-select-page.vue +109 -109
  38. package/search/lambo-search-box.vue +55 -55
  39. package/search/lambo-single-select.vue +119 -119
  40. package/styles/base.less +75 -75
  41. package/styles/components/btn.less +7 -7
  42. package/styles/components/search.less +33 -33
  43. package/styles/components/tag.less +181 -181
  44. package/styles/index.less +4 -4
  45. package/tag/lambo-tag.vue +25 -0
  46. package/title/lambo-title1.vue +129 -129
  47. package/title/lambo-title2.vue +37 -37
  48. package/util/assist.js +43 -0
  49. package/util/axios/cacheconf.js +19 -0
  50. package/util/axios/index.js +11 -0
  51. package/util/axios/interceptors.js +101 -0
  52. package/util/bus.js +4 -0
  53. package/util/token.js +36 -0
@@ -1,74 +1,74 @@
1
- <template>
2
- <div class="search-row">
3
- <!-- 必选的红色星号 -->
4
- <lambo-required-red-star :required="required"></lambo-required-red-star>
5
- <!-- 输入框的名字段 -->
6
- <div class="search-input-title">{{ title }}</div>
7
- <!-- 输入框的值 -->
8
- <div class="search-lambo-input">
9
- <van-field v-model="innerValue" :clearable="true" :maxlength="maxlength" :placeholder="placeholder"
10
- :show-word-limit="showWordLimit"
11
- :type="type" label="" v-bind="$attrs" @input="$emit('input', $event)"/>
12
- </div>
13
- </div>
14
- </template>
15
- <script>
16
- import redIcon from '../assets/icon/required.png'
17
- import LamboRequiredRedStar from '@/components/lambo/icon/lambo-required-red-star.vue'
18
-
19
- export default {
20
- name: 'LamboInput',
21
- components: {LamboRequiredRedStar},
22
- model: {
23
- prop: 'value',
24
- event: 'input',
25
- },
26
- props: {
27
- required: {
28
- type: Boolean,
29
- default: false,
30
- },
31
- type: {
32
- default: 'text',
33
- },
34
- maxlength: {
35
- type: [String, Number],
36
- },
37
- placeholder: {
38
- type: String,
39
- default: '',
40
- },
41
- title: {
42
- type: String,
43
- default: false,
44
- },
45
- value: {
46
- type: String,
47
- default: '',
48
- },
49
- showWordLimit: {
50
- type: Boolean,
51
- default: false,
52
- },
53
- },
54
- data() {
55
- return {
56
- requiredReadIcon: redIcon,
57
- innerValue: this.value,
58
- }
59
- },
60
- methods: {},
61
- created() {
62
-
63
- },
64
- watch: {
65
- value(newVal) {
66
- this.innerValue = newVal
67
- },
68
- },
69
- }
70
- </script>
71
- <style scoped>
72
- @import "../styles/index.less";
73
- @import "./styles/css/index.css";
74
- </style>
1
+ <template>
2
+ <div class="search-row">
3
+ <!-- 必选的红色星号 -->
4
+ <lambo-required-red-star :required="required"></lambo-required-red-star>
5
+ <!-- 输入框的名字段 -->
6
+ <div class="search-input-title">{{ title }}</div>
7
+ <!-- 输入框的值 -->
8
+ <div class="search-lambo-input">
9
+ <van-field v-model="innerValue" :clearable="true" :maxlength="maxlength" :placeholder="placeholder"
10
+ :show-word-limit="showWordLimit"
11
+ :type="type" label="" v-bind="$attrs" @input="$emit('input', $event)"/>
12
+ </div>
13
+ </div>
14
+ </template>
15
+ <script>
16
+ import redIcon from '../assets/icon/required.png'
17
+ import LamboRequiredRedStar from '../icon/lambo-required-red-star.vue'
18
+
19
+ export default {
20
+ name: 'LamboInput',
21
+ components: {LamboRequiredRedStar},
22
+ model: {
23
+ prop: 'value',
24
+ event: 'input',
25
+ },
26
+ props: {
27
+ required: {
28
+ type: Boolean,
29
+ default: false,
30
+ },
31
+ type: {
32
+ default: 'text',
33
+ },
34
+ maxlength: {
35
+ type: [String, Number],
36
+ },
37
+ placeholder: {
38
+ type: String,
39
+ default: '',
40
+ },
41
+ title: {
42
+ type: String,
43
+ default: false,
44
+ },
45
+ value: {
46
+ type: String,
47
+ default: '',
48
+ },
49
+ showWordLimit: {
50
+ type: Boolean,
51
+ default: false,
52
+ },
53
+ },
54
+ data() {
55
+ return {
56
+ requiredReadIcon: redIcon,
57
+ innerValue: this.value,
58
+ }
59
+ },
60
+ methods: {},
61
+ created() {
62
+
63
+ },
64
+ watch: {
65
+ value(newVal) {
66
+ this.innerValue = newVal
67
+ },
68
+ },
69
+ }
70
+ </script>
71
+ <style scoped>
72
+ @import "../styles/index.less";
73
+ @import "./styles/css/index.css";
74
+ </style>
@@ -1,125 +1,125 @@
1
- <template>
2
- <div>
3
- <div class="search-row">
4
- <lambo-required-red-star :required="required"></lambo-required-red-star>
5
- <div class="search-input-title">{{ title }}</div>
6
- <div class="search-lambo-input">{{ valName }}</div>
7
- <lambo-vector-icon v-if="icon" :icon="icon" @click="onOpen"></lambo-vector-icon>
8
- </div>
9
- <div>
10
- <van-popup v-model:show="showBottom" :style="{ height: '31%' }" position="bottom">
11
- <van-checkbox-group v-model="selectItem.K">
12
- <div class="search-top-div">
13
- <van-button class="search-cancel-btn" size="normal" @click="cancel">取消</van-button>
14
- <span class="search-select-title">请选择</span>
15
- <van-button class="search-confirm-btn" size="normal" @click="onConfirm">确认</van-button>
16
- </div>
17
- <van-cell-group>
18
- <van-cell v-for="(c, index) in data" :key="index" :title="`${c.V}`" clickable @click="checkboxClick(c)">
19
- <template #right-icon>
20
- <van-checkbox :name="c.K" shape="square" ref="checkboxes" checked-color="#0070D2"/>
21
- </template>
22
- </van-cell>
23
- </van-cell-group>
24
- </van-checkbox-group>
25
- </van-popup>
26
- </div>
27
- </div>
28
- </template>
29
- <script>
30
- import {Toast} from 'vant'
31
- import LamboRequiredRedStar from '@/components/lambo/icon/lambo-required-red-star.vue'
32
- import LamboVectorIcon from '@/components/lambo/icon/lambo-vector-icon.vue'
33
-
34
- export default {
35
- name: "LamboMultiSelect",
36
- components: {LamboVectorIcon, LamboRequiredRedStar},
37
- props: {
38
- required: {
39
- type: Boolean,
40
- default: false
41
- },
42
- icon: {
43
- type: String,
44
- default: 'arrow-right-big.png'
45
- },
46
- title: {
47
- type: String,
48
- default: false
49
- },
50
- data: {
51
- type: Array,
52
- default: () => ([])
53
- },
54
- defaultItem: {
55
- type: Object
56
- }
57
- },
58
- data() {
59
- return {
60
- showBottom: false,
61
- val: '',
62
- valName: '',
63
- selectItem: {
64
- K: [],
65
- V: []
66
- },
67
- firstLoad: true
68
- }
69
- },
70
- watch: {
71
- defaultItem: {
72
- handler: function (val, oldVal) {
73
- console.log("multi-select -- defaultItem -- val,oldVal,firstLoad:", {val, oldVal, "firstLoad": this.firstLoad})
74
- if (val && val.K && this.firstLoad === true) {
75
- this.val = val.K
76
- this.valName = val.V.join()
77
- this.selectItem.K = val.K
78
- this.selectItem.V = val.V
79
- this.firstLoad = false
80
- }
81
- },
82
- deep: true,
83
- immediate: true,
84
- }
85
- },
86
- methods: {
87
- onOpen() {
88
- this.showBottom = true
89
- },
90
- cancel() {
91
- this.showBottom = false
92
- },
93
- onConfirm() {
94
- if (this.selectItem && typeof this.selectItem === 'object' && this.selectItem.K && this.selectItem.V) {
95
- this.val = this.selectItem.K
96
- this.valName = this.selectItem.V.join()
97
- this.$emit('on-ok', this.selectItem)
98
- } else {
99
- Toast.fail("查询条件选择失败,请联系管理员");
100
- console.error("multi-select -- 查询条件选择失败,this.selectItem:", this.selectItem)
101
- this.val = []
102
- this.valName = ''
103
- this.$emit("on-ok", {K: [], V: []})
104
- }
105
- this.showBottom = false
106
- },
107
- checkboxClick(data) {
108
- console.log("multi-select -- checkboxClick:", data)
109
- if (data && data.K) {
110
- if (this.selectItem.K.includes(data.K)) {
111
- this.selectItem.K.splice(this.selectItem.K.indexOf(data.K), 1)
112
- this.selectItem.V.splice(this.selectItem.V.indexOf(data.V), 1)
113
- } else {
114
- this.selectItem.K.push(data.K)
115
- this.selectItem.V.push(data.V)
116
- }
117
- }
118
- }
119
- }
120
- }
121
- </script>
122
- <style scoped>
123
- @import "../styles/index.less";
124
- @import "./styles/css/index.css";
125
- </style>
1
+ <template>
2
+ <div>
3
+ <div class="search-row">
4
+ <lambo-required-red-star :required="required"></lambo-required-red-star>
5
+ <div class="search-input-title">{{ title }}</div>
6
+ <div class="search-lambo-input">{{ valName }}</div>
7
+ <lambo-vector-icon v-if="icon" :icon="icon" @click="onOpen"></lambo-vector-icon>
8
+ </div>
9
+ <div>
10
+ <van-popup v-model:show="showBottom" :style="{ height: '31%' }" position="bottom">
11
+ <van-checkbox-group v-model="selectItem.K">
12
+ <div class="search-top-div">
13
+ <van-button class="search-cancel-btn" size="normal" @click="cancel">取消</van-button>
14
+ <span class="search-select-title">请选择</span>
15
+ <van-button class="search-confirm-btn" size="normal" @click="onConfirm">确认</van-button>
16
+ </div>
17
+ <van-cell-group>
18
+ <van-cell v-for="(c, index) in data" :key="index" :title="`${c.V}`" clickable @click="checkboxClick(c)">
19
+ <template #right-icon>
20
+ <van-checkbox :name="c.K" shape="square" ref="checkboxes" checked-color="#0070D2"/>
21
+ </template>
22
+ </van-cell>
23
+ </van-cell-group>
24
+ </van-checkbox-group>
25
+ </van-popup>
26
+ </div>
27
+ </div>
28
+ </template>
29
+ <script>
30
+ import {Toast} from 'vant'
31
+ import LamboRequiredRedStar from '../icon/lambo-required-red-star.vue'
32
+ import LamboVectorIcon from '../icon/lambo-vector-icon.vue'
33
+
34
+ export default {
35
+ name: "LamboMultiSelect",
36
+ components: {LamboVectorIcon, LamboRequiredRedStar},
37
+ props: {
38
+ required: {
39
+ type: Boolean,
40
+ default: false
41
+ },
42
+ icon: {
43
+ type: String,
44
+ default: 'arrow-right-big.png'
45
+ },
46
+ title: {
47
+ type: String,
48
+ default: false
49
+ },
50
+ data: {
51
+ type: Array,
52
+ default: () => ([])
53
+ },
54
+ defaultItem: {
55
+ type: Object
56
+ }
57
+ },
58
+ data() {
59
+ return {
60
+ showBottom: false,
61
+ val: '',
62
+ valName: '',
63
+ selectItem: {
64
+ K: [],
65
+ V: []
66
+ },
67
+ firstLoad: true
68
+ }
69
+ },
70
+ watch: {
71
+ defaultItem: {
72
+ handler: function (val, oldVal) {
73
+ console.log("multi-select -- defaultItem -- val,oldVal,firstLoad:", {val, oldVal, "firstLoad": this.firstLoad})
74
+ if (val && val.K && this.firstLoad === true) {
75
+ this.val = val.K
76
+ this.valName = val.V.join()
77
+ this.selectItem.K = val.K
78
+ this.selectItem.V = val.V
79
+ this.firstLoad = false
80
+ }
81
+ },
82
+ deep: true,
83
+ immediate: true,
84
+ }
85
+ },
86
+ methods: {
87
+ onOpen() {
88
+ this.showBottom = true
89
+ },
90
+ cancel() {
91
+ this.showBottom = false
92
+ },
93
+ onConfirm() {
94
+ if (this.selectItem && typeof this.selectItem === 'object' && this.selectItem.K && this.selectItem.V) {
95
+ this.val = this.selectItem.K
96
+ this.valName = this.selectItem.V.join()
97
+ this.$emit('on-ok', this.selectItem)
98
+ } else {
99
+ Toast.fail("查询条件选择失败,请联系管理员");
100
+ console.error("multi-select -- 查询条件选择失败,this.selectItem:", this.selectItem)
101
+ this.val = []
102
+ this.valName = ''
103
+ this.$emit("on-ok", {K: [], V: []})
104
+ }
105
+ this.showBottom = false
106
+ },
107
+ checkboxClick(data) {
108
+ console.log("multi-select -- checkboxClick:", data)
109
+ if (data && data.K) {
110
+ if (this.selectItem.K.includes(data.K)) {
111
+ this.selectItem.K.splice(this.selectItem.K.indexOf(data.K), 1)
112
+ this.selectItem.V.splice(this.selectItem.V.indexOf(data.V), 1)
113
+ } else {
114
+ this.selectItem.K.push(data.K)
115
+ this.selectItem.V.push(data.V)
116
+ }
117
+ }
118
+ }
119
+ }
120
+ }
121
+ </script>
122
+ <style scoped>
123
+ @import "../styles/index.less";
124
+ @import "./styles/css/index.css";
125
+ </style>
@@ -1,109 +1,109 @@
1
- <template>
2
- <div class="location-div">
3
- <div class="location-left">
4
- <p class="title">{{ locationData.name1 }}</p>
5
- <p class="name">{{ locationData.name2 }}</p>
6
- </div>
7
- <div class="location-middle">
8
- <p class="nav">{{ locationData.name3 }}</p>
9
- <img class="img" :src="imgSrc"/>
10
- <p class="nav">{{ locationData.name4 }}</p>
11
- </div>
12
- <div class="location-right">
13
- <p class="title">{{ locationData.name5 }}</p>
14
- <p class="name">{{ locationData.name6 }}</p>
15
- </div>
16
- </div>
17
-
18
- </template>
19
- <script>
20
- import location from "../assets/icon/interval/location.png"
21
-
22
- export default {
23
- name: 'LamboOrgSelectPage',
24
- components: {},
25
- props: {
26
- locationData: {
27
- type: Object,
28
- default: () => {
29
- }
30
- },
31
- },
32
- data() {
33
- return {
34
- imgSrc: location,
35
- }
36
- },
37
- methods: {},
38
- created() {
39
-
40
- },
41
- mounted() {
42
-
43
- }
44
- }
45
- </script>
46
- <style scoped>
47
- @import "../styles/index.less";
48
-
49
- .location-div {
50
- width: 100%;
51
- height: 72px;
52
- background-color: var(--scl-white-1);
53
- display: flex;
54
- align-items: center;
55
- justify-content: center;
56
- padding: 12px 14px;
57
- }
58
-
59
- .location-left {
60
- width: 100%;
61
- height: 100%;
62
- display: flex;
63
- flex-direction: column;
64
- align-items: flex-start;
65
- justify-content: center;
66
- }
67
-
68
- .location-right {
69
- width: 100%;
70
- height: 100%;
71
- display: flex;
72
- flex-direction: column;
73
- align-items: flex-end;
74
- justify-content: center;
75
- }
76
-
77
- .location-middle {
78
- width: 100%;
79
- height: 100%;
80
- display: flex;
81
- display: flex;
82
- flex-direction: column;
83
- align-items: center;
84
- justify-content: center;
85
-
86
- }
87
-
88
- .title {
89
- font-size: 11px;
90
- color: var(--scl-blue);
91
- margin-bottom: 8px;
92
- }
93
-
94
- .name {
95
- font-size: 14px;
96
- color: var(--scl-gray-1);
97
- }
98
-
99
- .img {
100
- width: 100%;
101
- height: auto;
102
- margin-bottom: 5px;
103
- }
104
-
105
- .nav {
106
- font-size: 10px;
107
- color: var(--scl-gray-4);
108
- }
109
- </style>
1
+ <template>
2
+ <div class="location-div">
3
+ <div class="location-left">
4
+ <p class="title">{{ locationData.name1 }}</p>
5
+ <p class="name">{{ locationData.name2 }}</p>
6
+ </div>
7
+ <div class="location-middle">
8
+ <p class="nav">{{ locationData.name3 }}</p>
9
+ <img class="img" :src="imgSrc"/>
10
+ <p class="nav">{{ locationData.name4 }}</p>
11
+ </div>
12
+ <div class="location-right">
13
+ <p class="title">{{ locationData.name5 }}</p>
14
+ <p class="name">{{ locationData.name6 }}</p>
15
+ </div>
16
+ </div>
17
+
18
+ </template>
19
+ <script>
20
+ import location from "../assets/icon/interval/location.png"
21
+
22
+ export default {
23
+ name: 'LamboOrgSelectPage',
24
+ components: {},
25
+ props: {
26
+ locationData: {
27
+ type: Object,
28
+ default: () => {
29
+ }
30
+ },
31
+ },
32
+ data() {
33
+ return {
34
+ imgSrc: location,
35
+ }
36
+ },
37
+ methods: {},
38
+ created() {
39
+
40
+ },
41
+ mounted() {
42
+
43
+ }
44
+ }
45
+ </script>
46
+ <style scoped>
47
+ @import "../styles/index.less";
48
+
49
+ .location-div {
50
+ width: 100%;
51
+ height: 72px;
52
+ background-color: var(--scl-white-1);
53
+ display: flex;
54
+ align-items: center;
55
+ justify-content: center;
56
+ padding: 12px 14px;
57
+ }
58
+
59
+ .location-left {
60
+ width: 100%;
61
+ height: 100%;
62
+ display: flex;
63
+ flex-direction: column;
64
+ align-items: flex-start;
65
+ justify-content: center;
66
+ }
67
+
68
+ .location-right {
69
+ width: 100%;
70
+ height: 100%;
71
+ display: flex;
72
+ flex-direction: column;
73
+ align-items: flex-end;
74
+ justify-content: center;
75
+ }
76
+
77
+ .location-middle {
78
+ width: 100%;
79
+ height: 100%;
80
+ display: flex;
81
+ display: flex;
82
+ flex-direction: column;
83
+ align-items: center;
84
+ justify-content: center;
85
+
86
+ }
87
+
88
+ .title {
89
+ font-size: 11px;
90
+ color: var(--scl-blue);
91
+ margin-bottom: 8px;
92
+ }
93
+
94
+ .name {
95
+ font-size: 14px;
96
+ color: var(--scl-gray-1);
97
+ }
98
+
99
+ .img {
100
+ width: 100%;
101
+ height: auto;
102
+ margin-bottom: 5px;
103
+ }
104
+
105
+ .nav {
106
+ font-size: 10px;
107
+ color: var(--scl-gray-4);
108
+ }
109
+ </style>