anytrek-front-public-component 1.11.7 → 1.11.9
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 +139 -1
- package/anytrek-front-public-component.mjs +23427 -25952
- package/anytrek-front-public-component.umd.js +94 -123
- package/package.json +1 -1
- package/style.css +1 -1
package/README.md
CHANGED
|
@@ -765,6 +765,10 @@ const curPicWH = ref<any>({
|
|
|
765
765
|
imgW: 800,
|
|
766
766
|
imgH: 600,
|
|
767
767
|
});
|
|
768
|
+
const showImageDisplay = () => {
|
|
769
|
+
imageDisplayRef.value?.loadImageListFun();
|
|
770
|
+
visible.value = true;
|
|
771
|
+
}
|
|
768
772
|
const fetchImgList = async (successFun: Function) => {
|
|
769
773
|
/* 请求图片列表 */
|
|
770
774
|
const res = await getImgList();
|
|
@@ -856,4 +860,138 @@ const onToHistory = (data: any) => {
|
|
|
856
860
|
### 📋 Methods Reference (通过 ref 调用)
|
|
857
861
|
| 方法名 | 描述 | 参数 |
|
|
858
862
|
| --- | --- | --- |
|
|
859
|
-
| `loadImageListFun` | 请求图片列表,它会调传进来的getImgList方法 | — |
|
|
863
|
+
| `loadImageListFun` | 请求图片列表,它会调传进来的getImgList方法 | — |
|
|
864
|
+
|
|
865
|
+
|
|
866
|
+
|
|
867
|
+
## 🧩 Component: `<SelectList>`
|
|
868
|
+
列表选择
|
|
869
|
+
|
|
870
|
+
```vue
|
|
871
|
+
<SelectList
|
|
872
|
+
v-model:visible="isShowAllList"
|
|
873
|
+
v-model:selected="selectedIds"
|
|
874
|
+
:items="allTagsList"
|
|
875
|
+
id-key="id"
|
|
876
|
+
name-key="name"
|
|
877
|
+
:search-placeholder="placeholderText"
|
|
878
|
+
:batch-mode="hasMoreInput"
|
|
879
|
+
:single-mode-label="
|
|
880
|
+
eleType === 'vehicle' ? t('vehicleName') : t('device')
|
|
881
|
+
"
|
|
882
|
+
:batch-mode-label="t('batchDeviceID')"
|
|
883
|
+
batch-match-field="deviceUpid"
|
|
884
|
+
:create-label="wordAboutAdd"
|
|
885
|
+
@confirm="handleConfirm"
|
|
886
|
+
@jump="handleJumpEdit"
|
|
887
|
+
@create="handleClickAdd"
|
|
888
|
+
>
|
|
889
|
+
<template #item-icon="{ item }">
|
|
890
|
+
<anSvgIcon
|
|
891
|
+
:name="
|
|
892
|
+
addtagType === 'vehicle'
|
|
893
|
+
? getVehicleIconById(item.id)
|
|
894
|
+
: setTagSvg(addtagType, item)
|
|
895
|
+
"
|
|
896
|
+
font-size="24"
|
|
897
|
+
/>
|
|
898
|
+
</template>
|
|
899
|
+
</SelectList>
|
|
900
|
+
```
|
|
901
|
+
|
|
902
|
+
### 🔧 Example Setup
|
|
903
|
+
```ts
|
|
904
|
+
import { ref, computed } from 'vue';
|
|
905
|
+
|
|
906
|
+
// 面板控制
|
|
907
|
+
const isShowAllList = ref(false);
|
|
908
|
+
const selectedIds = ref<any[]>([]);
|
|
909
|
+
|
|
910
|
+
// 数据源(示例:标签列表)
|
|
911
|
+
const allTagsList = ref([
|
|
912
|
+
{ id: 1, name: '标签A' },
|
|
913
|
+
{ id: 2, name: '标签B' },
|
|
914
|
+
]);
|
|
915
|
+
|
|
916
|
+
// 搜索 & 输入模式
|
|
917
|
+
const placeholderText = ref('搜索标签');
|
|
918
|
+
const hasMoreInput = ref(false);
|
|
919
|
+
const eleType = ref('tag');
|
|
920
|
+
const addtagType = ref('tag');
|
|
921
|
+
const wordAboutAdd = ref('新建标签');
|
|
922
|
+
|
|
923
|
+
// 确认选中
|
|
924
|
+
function handleConfirm(items: any[]) {
|
|
925
|
+
// 将选中的 items 合并到表单数据
|
|
926
|
+
}
|
|
927
|
+
|
|
928
|
+
// 跳转编辑
|
|
929
|
+
function handleJumpEdit(item: any) {
|
|
930
|
+
console.log('edit', item);
|
|
931
|
+
}
|
|
932
|
+
|
|
933
|
+
// 新建
|
|
934
|
+
function handleClickAdd() {
|
|
935
|
+
console.log('create');
|
|
936
|
+
}
|
|
937
|
+
```
|
|
938
|
+
```ts
|
|
939
|
+
// 图标辅助函数(按项目类型返回对应 SVG)
|
|
940
|
+
function setTagSvg(type: string) {
|
|
941
|
+
return type === 'landmark'
|
|
942
|
+
? 'landmarkIcon'
|
|
943
|
+
: type === 'vehicle'
|
|
944
|
+
? 'vehicleIcon'
|
|
945
|
+
: 'tagIcon';
|
|
946
|
+
}
|
|
947
|
+
|
|
948
|
+
function getVehicleIconById(id: number) {
|
|
949
|
+
const vehicle = allVehicles.value.find((v: any) => v.id === id);
|
|
950
|
+
return vehicle ? 'vehicle-' + vehicle.content.newIcon : 'vehicleIcon';
|
|
951
|
+
}
|
|
952
|
+
```
|
|
953
|
+
|
|
954
|
+
## 📋 Props Reference
|
|
955
|
+
| 参数名称 | 描述 | 数据类型 | 默认值 | 必填 |
|
|
956
|
+
| --- | --- | --- | --- | --- |
|
|
957
|
+
| `visible` | 控制面板显隐 | `Boolean` | — | ✅ |
|
|
958
|
+
| `selected` | 已选中项的 ID 数组(双向绑定) | `Array<string \| number>` | `[]` | — |
|
|
959
|
+
| `items` | 数据源列表;tag时,需要过滤掉当前tag | `Array` | `[]` | — |
|
|
960
|
+
| `idKey` | 唯一标识字段名 | `String` | `"id"` | — |
|
|
961
|
+
| `nameKey` | 显示名称字段名 | `String` | `"name"` | — |
|
|
962
|
+
| `searchable` | 是否显示搜索框 | `Boolean` | `true` | — |
|
|
963
|
+
| `searchPlaceholder` | 搜索框占位文本,不传时默认使用多语言 | `String` | `""` | — |
|
|
964
|
+
| `batchMode` | 是否启用"单个/批量"输入模式切换 | `Boolean` | `false` | — |
|
|
965
|
+
| `singleModeLabel` | 单个输入模式的标签文字 | `String` | `""` | — |
|
|
966
|
+
| `batchModeLabel` | 批量输入模式的标签文字 | `String` | `""` | — |
|
|
967
|
+
| `batchMatchField` | 批量模式下精确匹配的字段名,默认取 `idKey`;对于车辆和设备,需要传入deviceUpid字段,值为userPackageId | `String` | `""` | — |
|
|
968
|
+
| `showSelectAll` | 是否显示全选行 | `Boolean` | `true` | — |
|
|
969
|
+
| `showJump` | 是否显示每项的跳转编辑按钮 | `Boolean` | `true` | — |
|
|
970
|
+
| `showCreate` | 是否显示底部新建按钮 | `Boolean` | `true` | — |
|
|
971
|
+
| `createLabel` | 新建按钮文字 | `String` | `""` | — |
|
|
972
|
+
| `virtual` | 是否启用虚拟滚动(大数据量推荐开启) | `Boolean` | `true` | — |
|
|
973
|
+
| `itemHeight` | 虚拟滚动单项高度(px) | `Number` | `44` | — |
|
|
974
|
+
| `maxHeight` | 列表最大高度(px) | `Number` | `320` | — |
|
|
975
|
+
| `top` | 面板 CSS `top` 定位值 | `String` | `"50%"` | — |
|
|
976
|
+
| `right` | 面板 CSS `right` 定位值 | `String` | `"525px"` | — |
|
|
977
|
+
| `zIndex` | 面板 CSS `z-index` 层级 | `Number` | `1000` | — |
|
|
978
|
+
|
|
979
|
+
### 📤 Events
|
|
980
|
+
| 事件名 | 参数 | 描述 |
|
|
981
|
+
| --- | --- | --- |
|
|
982
|
+
| `update:visible` | `Boolean` | 面板显隐状态变化 |
|
|
983
|
+
| `update:selected` | `Array` | 选中项 ID 数组变化 |
|
|
984
|
+
| `confirm` | `Array` | 点击确认按钮,返回当前选中的完整 item 数组 |
|
|
985
|
+
| `jump` | `item` | 点击某项的跳转编辑按钮,返回当前 item |
|
|
986
|
+
| `create` | — | 点击底部新建按钮 |
|
|
987
|
+
|
|
988
|
+
### 🧩 Slots
|
|
989
|
+
| 插槽名 | 作用域 | 描述 |
|
|
990
|
+
| --- | --- | --- |
|
|
991
|
+
| `header-left` | — | 头部左侧区域,默认显示已选数量 |
|
|
992
|
+
| `header-actions` | — | 头部右侧操作按钮区域 |
|
|
993
|
+
| `item-icon` | `{ item }` | 每项左侧图标 |
|
|
994
|
+
| `item-label` | `{ item }` | 每项显示文本,默认取 `item[nameKey]` |
|
|
995
|
+
| `item-right` | `{ item }` | 每项右侧额外内容 |
|
|
996
|
+
| `empty` | — | 列表为空时的占位内容 |
|
|
997
|
+
| `footer` | — | 底部自定义区域,会覆盖默认的新建按钮 |
|