mali-applet-ui 1.0.91 → 1.0.93

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.
@@ -1,19 +1,18 @@
1
1
  <template>
2
2
  <view class="ml-list-select-user-page" :class="[className || '', {'is-border': border, 'is-disabled': disabled}]" @tap="tapEvent">
3
- <view v-for="(item, index) in selectRows" :key="index" class="ml-list-select-user-item">
4
- <view class="ml-list-select-user-portrait">
5
- <image class="ml-list-select-user-img" :src="item.faceImgUrl" mode="aspectFit"></image>
6
- </view>
7
- <view class="ml-list-select-user-name">
8
- <view>{{ item.nickname }}</view>
9
- </view>
10
- <view class="ml-list-select-user-del-item" @click="removeItem(item)">
11
- <ml-icon name="close" />
3
+ <view class="ml-list-select-user-list">
4
+ <view v-for="(item, index) in selectRows" :key="index" class="ml-list-select-user-item">
5
+ <view class="ml-list-select-user-name">
6
+ <view class="ml-list-select-user-content">{{ item[optLabelField] }}</view>
7
+ </view>
8
+ <view v-if="clearable" class="ml-list-select-user-del-item" @click="removeItem(item)">
9
+ <ml-icon name="close" />
10
+ </view>
12
11
  </view>
13
12
  </view>
14
13
  <view class="ml-list-select-user-add-item" @click="openUserEvent">
15
14
  <view class="ml-list-select-user-add-btn">
16
- <ml-icon name="add" />
15
+ <ml-icon name="add-circle" />
17
16
  </view>
18
17
  </view>
19
18
  </view>
@@ -67,11 +66,18 @@ export default {
67
66
  return XEUtils.eqNull(this.value) || this.value === ''
68
67
  },
69
68
  selectRows () {
70
- return []
69
+ return this.dataList.filter(item => this.value.includes(item[this.optValueField]))
71
70
  }
72
71
  },
73
72
  methods: {
74
73
  tapEvent () {
74
+ if (this.disabled) {
75
+ return
76
+ }
77
+ this.$emit('tap', {})
78
+ this.$emit('click', {})
79
+ },
80
+ openUserEvent () {
75
81
  if (this.disabled) {
76
82
  return
77
83
  }
@@ -95,8 +101,11 @@ export default {
95
101
  }
96
102
  }
97
103
  })
98
- this.$emit('tap', {})
99
- this.$emit('click', {})
104
+ },
105
+ removeItem (item) {
106
+ const value = this.value.filter(key => key !== item[this.optValueField])
107
+ this.$emit('input', value)
108
+ this.$emit('change', { value })
100
109
  },
101
110
  clearEvent () {
102
111
  let value = null
@@ -115,13 +124,26 @@ export default {
115
124
  display: flex;
116
125
  flex-direction: row;
117
126
  flex-wrap: wrap;
118
- .ml-list-select-user-item,
127
+ .ml-list-select-user-list {
128
+ display: flex;
129
+ flex-direction: row;
130
+ flex-wrap: wrap;
131
+ min-height: 70rpx;
132
+ }
133
+ .ml-list-select-user-item {
134
+ display: flex;
135
+ flex-direction: row;
136
+ align-items: center;
137
+ margin: 8rpx;
138
+ padding: 8rpx 16rpx;
139
+ border-radius: $ml-page-interval-margin;
140
+ background: #F2F2F6;
141
+ }
119
142
  .ml-list-select-user-add-item {
120
- position: relative;
121
- width: 90rpx;
122
- font-size: 24rpx;
123
- margin: 10rpx 10rpx;
124
- text-align: center;
143
+ position: absolute;
144
+ top: -74rpx;
145
+ right: 20rpx;
146
+ font-size: 44rpx;
125
147
  }
126
148
  .ml-list-select-user-img {
127
149
  width: 50rpx;
@@ -130,32 +152,17 @@ export default {
130
152
  overflow: hidden;
131
153
  }
132
154
  .ml-list-select-user-name {
133
- font-size: 28rpx;
134
- overflow: hidden;
135
- text-overflow: ellipsis;
136
- white-space: nowrap;
137
- }
138
- .ml-list-select-user-add-btn {
139
- width: 80rpx;
140
- height: 80rpx;
141
- line-height: 80rpx;
142
- text-align: center;
143
- color: $uni-color-primary;
144
- background: #DAE6FF;
145
- border-radius: 50%;
146
- font-size: 56rpx;
155
+ .ml-list-select-user-content {
156
+ font-size: 28rpx;
157
+ max-width: 140rpx;
158
+ overflow: hidden;
159
+ text-overflow: ellipsis;
160
+ white-space: nowrap;
161
+ }
147
162
  }
148
163
  .ml-list-select-user-del-item {
149
- position: absolute;
150
- top: -10rpx;
151
- right: 0;
152
- color: #fff;
153
- width: 40rpx;
154
- height: 40rpx;
155
- line-height: 40rpx;
156
- font-size: 30rpx;
157
- border-radius: 50%;
158
- background: rgba(0, 0, 0, 0.45);
164
+ flex-shrink: 0;
165
+ margin-left: 16rpx;
159
166
  }
160
167
  }
161
168
  </style>
@@ -1,5 +1,5 @@
1
1
  <template>
2
- <picker :value="value" class="ml-month-picker" mode="date" fields="month" @change="changeEvent">
2
+ <picker :value="value" :disabled="disabled" class="ml-month-picker" mode="date" fields="month" @change="changeEvent">
3
3
  <view class="ml-month-picker-warpper" :class="[className || '', {'is-border': border}]">
4
4
  <view class="ml-month-picker-text">{{ value || '请选择' }}</view>
5
5
  <view class="ml-month-picker-icon">
@@ -18,6 +18,7 @@ export default {
18
18
  props: {
19
19
  value: String,
20
20
  border: Boolean,
21
+ disabled: Boolean,
21
22
  className: String
22
23
  },
23
24
  methods: {
@@ -58,10 +58,7 @@ export default {
58
58
  type: String,
59
59
  default: '请输入'
60
60
  },
61
- disabled: {
62
- type: Boolean,
63
- default: false
64
- },
61
+ disabled: Boolean,
65
62
  editable: {
66
63
  type: Boolean,
67
64
  default: true
@@ -2,7 +2,7 @@
2
2
  <view v-if="isFromReadonly" class="ml-select-picker is-readonly">
3
3
  <view class="ml-select-picker-readonly-content">{{ selectLabel }}</view>
4
4
  </view>
5
- <picker v-else class="ml-select-picker" mode="selector" :value="selectIndex" :style="{width: width || '100%'}" :range="optionList" :range-key="optLabelField" @change="changeEvent">
5
+ <picker v-else class="ml-select-picker" mode="selector" :value="selectIndex" :disabled="disabled" :style="{width: width || '100%'}" :range="optionList" :range-key="optLabelField" @change="changeEvent">
6
6
  <view class="ml-select-picker-warpper" :class="[className || '', {'is-border': border, 'is-clear': value !== null}]">
7
7
  <view class="ml-select-picker-text">
8
8
  <view v-if="value !== null" class="ml-select-picker-label">{{ selectLabel }}</view>
@@ -33,6 +33,7 @@ export default {
33
33
  type: String,
34
34
  default: '请选择'
35
35
  },
36
+ disabled: Boolean,
36
37
  clearable: Boolean,
37
38
  readonly: Boolean,
38
39
  options: Array,
@@ -29,7 +29,14 @@ export default {
29
29
  // 复选框
30
30
  showCheckbox: Boolean,
31
31
  // (复选框)父子不关联
32
- checkStrictly: Boolean,
32
+ checkStrictly: {
33
+ type: Boolean,
34
+ default: false
35
+ },
36
+ indeterminateToChecked: {
37
+ type: Boolean,
38
+ default: false
39
+ },
33
40
  checkRowKeys: Array,
34
41
  halfRowKeys: Array,
35
42
  nodeProps: Object
@@ -84,6 +91,7 @@ export default {
84
91
  },
85
92
  created () {
86
93
  this.treeData = this.data
94
+ this.initCheckboxRows(this.checkRowKeys)
87
95
  },
88
96
  methods: {
89
97
  selectCheckboxNodeEvent ({ nodeData, nodeKey }) {
@@ -186,7 +194,7 @@ export default {
186
194
  updateCheckStatus () {
187
195
  const { keyField } = this
188
196
  this.isAllCheckboxChecked = this.treeData.every(item => this.selectCheckboxRowKeys.includes(item[keyField]))
189
- this.isAllCheckboxIndeterminate = !this.isAllCheckboxChecked && this.treeData.some(item => this.selectCheckboxRowKeys.includes(item[keyField]))
197
+ this.isAllCheckboxIndeterminate = !this.isAllCheckboxChecked && this.treeData.some(item => this.selectCheckboxRowKeys.includes(item[keyField]) || this.indeterminateRowKeys.includes(item[keyField]))
190
198
  },
191
199
  initCheckboxRows (selecKeys) {
192
200
  this.selectCheckboxRowKeys = []
@@ -258,6 +266,7 @@ export default {
258
266
  .ml-tree {
259
267
  padding-left: 16rpx;
260
268
  overflow: auto;
269
+ background: #ffffff;
261
270
  .ml-tree-checkbox-btns {
262
271
  position: sticky;
263
272
  left: 0;
@@ -267,7 +276,6 @@ export default {
267
276
  align-items: center;
268
277
  height: 80rpx;
269
278
  border-bottom: 1px solid #e5e5e5;
270
- background: #ffffff;
271
279
  }
272
280
  .ml-tree-checkbox-btns-left {
273
281
  flex-grow: 1;
@@ -1,5 +1,5 @@
1
1
  <template>
2
- <picker :value="value" class="ml-year-picker" mode="date" fields="year" @change="changeEvent">
2
+ <picker :value="value" :disabled="disabled" class="ml-year-picker" mode="date" fields="year" @change="changeEvent">
3
3
  <view class="ml-year-picker-warpper" :class="[className || '', {'is-border': border}]">
4
4
  <view class="ml-year-picker-text">{{ value || '请选择' }}</view>
5
5
  <view class="ml-year-picker-icon">
@@ -18,6 +18,7 @@ export default {
18
18
  props: {
19
19
  value: String,
20
20
  border: Boolean,
21
+ disabled: Boolean,
21
22
  className: String
22
23
  },
23
24
  methods: {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mali-applet-ui",
3
- "version": "1.0.91",
3
+ "version": "1.0.93",
4
4
  "description": "码里云小程序组件库",
5
5
  "files": [
6
6
  "lib",