|
@@ -1,4 +1,5 @@
|
|
|
import { LineIconData } from "@/core/components/line-icon";
|
|
import { LineIconData } from "@/core/components/line-icon";
|
|
|
|
|
+import { ui18n } from "@/lang";
|
|
|
|
|
|
|
|
export type IconItem = {
|
|
export type IconItem = {
|
|
|
wall?: boolean;
|
|
wall?: boolean;
|
|
@@ -22,211 +23,199 @@ export type IconGroup = {
|
|
|
}[];
|
|
}[];
|
|
|
};
|
|
};
|
|
|
|
|
|
|
|
-const traceIcons = [
|
|
|
|
|
- { icon: "zhiwen_o", name: "手印" },
|
|
|
|
|
- { icon: "zuozuji_o", name: "脚印" },
|
|
|
|
|
- { icon: "youzuji_o", name: "脚印" },
|
|
|
|
|
- { icon: "xieyin_o", name: "鞋印" },
|
|
|
|
|
- { icon: "chelunhenji_o", name: "车轮印" },
|
|
|
|
|
- { icon: "dantou_o", name: "弹头" },
|
|
|
|
|
- { icon: "danke_o", name: "弹壳" },
|
|
|
|
|
- { icon: "shouqiang_o", name: "手枪" },
|
|
|
|
|
- { icon: "buqiang_o", name: "步枪" },
|
|
|
|
|
|
|
+// 辅助函数:快速获取项的国际化名称
|
|
|
|
|
+const getIT = (icon: string) => ui18n.t(`icons.items.${icon}`);
|
|
|
|
|
+// 辅助函数:快速获取组的国际化名称
|
|
|
|
|
+const getGT = (key: string) => ui18n.t(`icons.groups.${key}`);
|
|
|
|
|
+
|
|
|
|
|
+const traceIcons: IconItem[] = [
|
|
|
|
|
+ { icon: "zhiwen_o", name: getIT("zhiwen_o") },
|
|
|
|
|
+ { icon: "zuozuji_o", name: getIT("zuozuji_o") },
|
|
|
|
|
+ { icon: "youzuji_o", name: getIT("youzuji_o") },
|
|
|
|
|
+ { icon: "xieyin_o", name: getIT("xieyin_o") },
|
|
|
|
|
+ { icon: "chelunhenji_o", name: getIT("chelunhenji_o") },
|
|
|
|
|
+ { icon: "dantou_o", name: getIT("dantou_o") },
|
|
|
|
|
+ { icon: "danke_o", name: getIT("danke_o") },
|
|
|
|
|
+ { icon: "shouqiang_o", name: getIT("shouqiang_o") },
|
|
|
|
|
+ { icon: "buqiang_o", name: getIT("buqiang_o") },
|
|
|
{
|
|
{
|
|
|
icon: "xuepo_o",
|
|
icon: "xuepo_o",
|
|
|
- name: "血泊",
|
|
|
|
|
|
|
+ name: getIT("xuepo_o"),
|
|
|
color: "#DD2C2C",
|
|
color: "#DD2C2C",
|
|
|
parse: { fill: "#DD2C2C", stroke: undefined },
|
|
parse: { fill: "#DD2C2C", stroke: undefined },
|
|
|
},
|
|
},
|
|
|
{
|
|
{
|
|
|
icon: "xueji_o",
|
|
icon: "xueji_o",
|
|
|
- name: "血迹",
|
|
|
|
|
|
|
+ name: getIT("xueji_o"),
|
|
|
color: "#DD2C2C",
|
|
color: "#DD2C2C",
|
|
|
parse: { fill: "#DD2C2C", stroke: undefined },
|
|
parse: { fill: "#DD2C2C", stroke: undefined },
|
|
|
},
|
|
},
|
|
|
- { parse: { key: "trace" }, icon: "shitiz_o", name: "尸体正面" },
|
|
|
|
|
- { parse: { key: "trace" }, icon: "shitib_o", name: "尸体背面" },
|
|
|
|
|
- { parse: { key: "trace" }, icon: "shitifuhao_o", name: "尸体" },
|
|
|
|
|
|
|
+ { parse: { key: "trace" }, icon: "shitiz_o", name: getIT("shitiz_o") },
|
|
|
|
|
+ { parse: { key: "trace" }, icon: "shitib_o", name: getIT("shitib_o") },
|
|
|
|
|
+ { parse: { key: "trace" }, icon: "shitifuhao_o", name: getIT("shitifuhao_o") },
|
|
|
|
|
|
|
|
- { parse: { key: "trace" }, icon: "handprint", name: "手印痕迹" },
|
|
|
|
|
- { parse: { key: "trace" }, icon: "footprint", name: "足迹痕迹" },
|
|
|
|
|
|
|
+ { parse: { key: "trace" }, icon: "handprint", name: getIT("handprint") },
|
|
|
|
|
+ { parse: { key: "trace" }, icon: "footprint", name: getIT("footprint") },
|
|
|
{
|
|
{
|
|
|
parse: { key: "trace" },
|
|
parse: { key: "trace" },
|
|
|
icon: "wrenchAndScrewdriver",
|
|
icon: "wrenchAndScrewdriver",
|
|
|
- name: "工具痕迹",
|
|
|
|
|
|
|
+ name: getIT("wrenchAndScrewdriver"),
|
|
|
},
|
|
},
|
|
|
- { parse: { key: "trace" }, icon: "video", name: "视听物证" },
|
|
|
|
|
- { parse: { key: "trace" }, icon: "virus", name: "生物物证" },
|
|
|
|
|
- { parse: { key: "trace" }, icon: "cartridge", name: "枪弹痕迹" },
|
|
|
|
|
- { parse: { key: "trace" }, icon: "poison", name: "毒化物证" },
|
|
|
|
|
|
|
+ { parse: { key: "trace" }, icon: "video", name: getIT("video") },
|
|
|
|
|
+ { parse: { key: "trace" }, icon: "virus", name: getIT("virus") },
|
|
|
|
|
+ { parse: { key: "trace" }, icon: "cartridge", name: getIT("cartridge") },
|
|
|
|
|
+ { parse: { key: "trace" }, icon: "poison", name: getIT("poison") },
|
|
|
{
|
|
{
|
|
|
parse: { key: "trace" },
|
|
parse: { key: "trace" },
|
|
|
icon: "physics_and_chemistry",
|
|
icon: "physics_and_chemistry",
|
|
|
- name: "理化物证",
|
|
|
|
|
|
|
+ name: getIT("physics_and_chemistry"),
|
|
|
},
|
|
},
|
|
|
- { parse: { key: "trace" }, icon: "folder_close", name: "文捡物证" },
|
|
|
|
|
- { parse: { key: "trace" }, icon: "check", name: "特殊物证" },
|
|
|
|
|
|
|
+ { parse: { key: "trace" }, icon: "folder_close", name: getIT("folder_close") },
|
|
|
|
|
+ { parse: { key: "trace" }, icon: "check", name: getIT("check") },
|
|
|
{
|
|
{
|
|
|
parse: { key: "trace" },
|
|
parse: { key: "trace" },
|
|
|
icon: "case_other",
|
|
icon: "case_other",
|
|
|
- name: "其他物证",
|
|
|
|
|
|
|
+ name: getIT("case_other"),
|
|
|
},
|
|
},
|
|
|
- { parse: { key: "trace" }, icon: "electronic", name: "电子物证" },
|
|
|
|
|
- { parse: { key: "trace" }, icon: "cube", name: "提取物品" },
|
|
|
|
|
- { parse: { key: "trace" }, icon: "corpse", name: "尸体" },
|
|
|
|
|
|
|
+ { parse: { key: "trace" }, icon: "electronic", name: getIT("electronic") },
|
|
|
|
|
+ { parse: { key: "trace" }, icon: "cube", name: getIT("cube") },
|
|
|
|
|
+ { parse: { key: "trace" }, icon: "corpse", name: getIT("corpse") },
|
|
|
];
|
|
];
|
|
|
|
|
+
|
|
|
export const iconGroups: IconGroup[] = [
|
|
export const iconGroups: IconGroup[] = [
|
|
|
{
|
|
{
|
|
|
- name: "户型",
|
|
|
|
|
|
|
+ name: getGT("huxing"),
|
|
|
children: [
|
|
children: [
|
|
|
{
|
|
{
|
|
|
- name: "门",
|
|
|
|
|
|
|
+ name: getGT("men"),
|
|
|
children: [
|
|
children: [
|
|
|
{
|
|
{
|
|
|
wall: true,
|
|
wall: true,
|
|
|
icon: "men_l",
|
|
icon: "men_l",
|
|
|
- name: "开门",
|
|
|
|
|
|
|
+ name: getIT("men_l"),
|
|
|
parse: { type: "align-bottom" },
|
|
parse: { type: "align-bottom" },
|
|
|
},
|
|
},
|
|
|
- // {
|
|
|
|
|
- // wall: true,
|
|
|
|
|
- // icon: "men",
|
|
|
|
|
- // name: "右开门",
|
|
|
|
|
- // parse: { type: "align-bottom" },
|
|
|
|
|
- // },
|
|
|
|
|
{
|
|
{
|
|
|
wall: true,
|
|
wall: true,
|
|
|
icon: "shuangkaimen",
|
|
icon: "shuangkaimen",
|
|
|
- name: "双开门",
|
|
|
|
|
|
|
+ name: getIT("shuangkaimen"),
|
|
|
parse: { type: "align-bottom" },
|
|
parse: { type: "align-bottom" },
|
|
|
},
|
|
},
|
|
|
{
|
|
{
|
|
|
wall: true,
|
|
wall: true,
|
|
|
icon: "yimen",
|
|
icon: "yimen",
|
|
|
- name: "移门",
|
|
|
|
|
|
|
+ name: getIT("yimen"),
|
|
|
parse: { type: "full" },
|
|
parse: { type: "full" },
|
|
|
},
|
|
},
|
|
|
- { wall: true, icon: "yakou", name: "哑口", parse: { type: "full" } },
|
|
|
|
|
|
|
+ { wall: true, icon: "yakou", name: getIT("yakou"), parse: { type: "full" } },
|
|
|
],
|
|
],
|
|
|
},
|
|
},
|
|
|
{
|
|
{
|
|
|
- name: "窗",
|
|
|
|
|
|
|
+ name: getGT("chuang"),
|
|
|
children: [
|
|
children: [
|
|
|
- { wall: true, icon: "chuang", name: "窗", parse: { type: "full" } },
|
|
|
|
|
|
|
+ { wall: true, icon: "chuang", name: getIT("chuang"), parse: { type: "full" } },
|
|
|
{
|
|
{
|
|
|
wall: true,
|
|
wall: true,
|
|
|
icon: "piaochuang",
|
|
icon: "piaochuang",
|
|
|
- name: "飘窗",
|
|
|
|
|
|
|
+ name: getIT("piaochuang"),
|
|
|
parse: { type: "align-bottom-fix", width: 180, height: 70 },
|
|
parse: { type: "align-bottom-fix", width: 180, height: 70 },
|
|
|
},
|
|
},
|
|
|
{
|
|
{
|
|
|
wall: true,
|
|
wall: true,
|
|
|
icon: "luodichuang",
|
|
icon: "luodichuang",
|
|
|
- name: "落地窗",
|
|
|
|
|
|
|
+ name: getIT("luodichuang"),
|
|
|
parse: { type: "full" },
|
|
parse: { type: "full" },
|
|
|
},
|
|
},
|
|
|
],
|
|
],
|
|
|
},
|
|
},
|
|
|
{
|
|
{
|
|
|
- name: "构件",
|
|
|
|
|
|
|
+ name: getGT("goujian"),
|
|
|
children: [
|
|
children: [
|
|
|
- { icon: "zhuzi", name: "柱子" },
|
|
|
|
|
- { icon: "yandao", name: "烟道" },
|
|
|
|
|
- { icon: "loudao", name: "楼道" },
|
|
|
|
|
|
|
+ { icon: "zhuzi", name: getIT("zhuzi") },
|
|
|
|
|
+ { icon: "yandao", name: getIT("yandao") },
|
|
|
|
|
+ { icon: "loudao", name: getIT("loudao") },
|
|
|
],
|
|
],
|
|
|
},
|
|
},
|
|
|
],
|
|
],
|
|
|
},
|
|
},
|
|
|
{
|
|
{
|
|
|
- name: "家具",
|
|
|
|
|
|
|
+ name: getGT("jiaju"),
|
|
|
children: [
|
|
children: [
|
|
|
{
|
|
{
|
|
|
- name: "客餐厅",
|
|
|
|
|
|
|
+ name: getGT("kecan"),
|
|
|
children: [
|
|
children: [
|
|
|
- { icon: "TV", name: "电视柜" },
|
|
|
|
|
- { icon: "HangingTV", name: "电视-壁挂" },
|
|
|
|
|
- { icon: "Cabinet", name: "柜子" },
|
|
|
|
|
-
|
|
|
|
|
-
|
|
|
|
|
- { icon: "CombinationSofa", name: "组合沙发" },
|
|
|
|
|
- { icon: "ThreeSofa", name: "三人沙发" },
|
|
|
|
|
- { icon: "SingleSofa", name: "单人沙发" },
|
|
|
|
|
-
|
|
|
|
|
- { icon: "SingleSofaR", name: "组合沙发" },
|
|
|
|
|
- { icon: "CurvedSofa", name: "弧形沙发2.2m" },
|
|
|
|
|
- { icon: "CornerSofa", name: "转角沙发2.7m" },
|
|
|
|
|
- { icon: "TwoSofa", name: "双人沙发1.8m" },
|
|
|
|
|
-
|
|
|
|
|
-
|
|
|
|
|
- { icon: "TeaTable", name: "茶几" },
|
|
|
|
|
- { icon: "Carpet", name: "地毯" },
|
|
|
|
|
- { icon: "Plant", name: "植物" },
|
|
|
|
|
-
|
|
|
|
|
- { icon: "TeaTableR", name: "茶几-圆形" },
|
|
|
|
|
- { icon: "TeaTableO", name: "茶几-椭圆" },
|
|
|
|
|
- { icon: "SideTableR", name: "边几-圆形" },
|
|
|
|
|
- { icon: "SideTableS", name: "边几-方形" },
|
|
|
|
|
-
|
|
|
|
|
-
|
|
|
|
|
- { icon: "DiningTableC", name: "餐桌椅" },
|
|
|
|
|
- { icon: "Chair", name: "椅子" },
|
|
|
|
|
-
|
|
|
|
|
- { icon: "DiningTableRC", name: "餐桌" },
|
|
|
|
|
- { icon: "DiningTable", name: "餐桌" },
|
|
|
|
|
- { icon: "DiningTableR", name: "餐桌-圆" },
|
|
|
|
|
- { icon: "Stool", name: "条凳" },
|
|
|
|
|
-
|
|
|
|
|
|
|
+ { icon: "TV", name: getIT("TV") },
|
|
|
|
|
+ { icon: "HangingTV", name: getIT("HangingTV") },
|
|
|
|
|
+ { icon: "Cabinet", name: getIT("Cabinet") },
|
|
|
|
|
+ { icon: "CombinationSofa", name: getIT("CombinationSofa") },
|
|
|
|
|
+ { icon: "ThreeSofa", name: getIT("ThreeSofa") },
|
|
|
|
|
+ { icon: "SingleSofa", name: getIT("SingleSofa") },
|
|
|
|
|
+ { icon: "SingleSofaR", name: getIT("SingleSofaR") },
|
|
|
|
|
+ { icon: "CurvedSofa", name: getIT("CurvedSofa") },
|
|
|
|
|
+ { icon: "CornerSofa", name: getIT("CornerSofa") },
|
|
|
|
|
+ { icon: "TwoSofa", name: getIT("TwoSofa") },
|
|
|
|
|
+ { icon: "TeaTable", name: getIT("TeaTable") },
|
|
|
|
|
+ { icon: "Carpet", name: getIT("Carpet") },
|
|
|
|
|
+ { icon: "Plant", name: getIT("Plant") },
|
|
|
|
|
+ { icon: "TeaTableR", name: getIT("TeaTableR") },
|
|
|
|
|
+ { icon: "TeaTableO", name: getIT("TeaTableO") },
|
|
|
|
|
+ { icon: "SideTableR", name: getIT("SideTableR") },
|
|
|
|
|
+ { icon: "SideTableS", name: getIT("SideTableS") },
|
|
|
|
|
+ { icon: "DiningTableC", name: getIT("DiningTableC") },
|
|
|
|
|
+ { icon: "Chair", name: getIT("Chair") },
|
|
|
|
|
+ { icon: "DiningTableRC", name: getIT("DiningTableRC") },
|
|
|
|
|
+ { icon: "DiningTable", name: getIT("DiningTable") },
|
|
|
|
|
+ { icon: "DiningTableR", name: getIT("DiningTableR") },
|
|
|
|
|
+ { icon: "Stool", name: getIT("Stool") },
|
|
|
],
|
|
],
|
|
|
},
|
|
},
|
|
|
{
|
|
{
|
|
|
- name: "卧室",
|
|
|
|
|
|
|
+ name: getGT("woshi"),
|
|
|
children: [
|
|
children: [
|
|
|
- { icon: "DoubleBed", name: "双人床" },
|
|
|
|
|
- { icon: "SingleBed", name: "单人床" },
|
|
|
|
|
- { icon: "Wardrobe", name: "衣柜" },
|
|
|
|
|
- { icon: "DoubleBedB", name: "双人床1.8m " },
|
|
|
|
|
-
|
|
|
|
|
- { icon: "Dresser", name: "梳妆台" },
|
|
|
|
|
- { icon: "BedsideCupboard", name: "床头柜" },
|
|
|
|
|
- { icon: "Pillow", name: "抱枕" },
|
|
|
|
|
|
|
+ { icon: "DoubleBed", name: getIT("DoubleBed") },
|
|
|
|
|
+ { icon: "SingleBed", name: getIT("SingleBed") },
|
|
|
|
|
+ { icon: "Wardrobe", name: getIT("Wardrobe") },
|
|
|
|
|
+ { icon: "DoubleBedB", name: getIT("DoubleBedB") },
|
|
|
|
|
+ { icon: "Dresser", name: getIT("Dresser") },
|
|
|
|
|
+ { icon: "BedsideCupboard", name: getIT("BedsideCupboard") },
|
|
|
|
|
+ { icon: "Pillow", name: getIT("Pillow") },
|
|
|
],
|
|
],
|
|
|
},
|
|
},
|
|
|
{
|
|
{
|
|
|
- name: "厨卫",
|
|
|
|
|
|
|
+ name: getGT("chuwei"),
|
|
|
children: [
|
|
children: [
|
|
|
- { icon: "GasStove", name: "燃气灶" },
|
|
|
|
|
- { icon: "Cupboard", name: "橱柜" },
|
|
|
|
|
- { icon: "Bathtub", name: "浴缸" },
|
|
|
|
|
- { icon: "Closestool", name: "马桶" },
|
|
|
|
|
- { icon: "Washstand", name: "洗漱台" },
|
|
|
|
|
-
|
|
|
|
|
- { icon: "CupboardU", name: "通用橱柜" },
|
|
|
|
|
- { icon: "WaterChannel", name: "水槽" },
|
|
|
|
|
- { icon: "WaterChannelD", name: "双水槽" },
|
|
|
|
|
- { icon: "FridgeS", name: "冰箱" },
|
|
|
|
|
- { icon: "FridgeD", name: "冰箱-双门" },
|
|
|
|
|
- { icon: "CabinetB", name: "浴室柜" },
|
|
|
|
|
- { icon: "SquattingPan", name: "蹲便器" },
|
|
|
|
|
- { icon: "Shower", name: "花洒" },
|
|
|
|
|
|
|
+ { icon: "GasStove", name: getIT("GasStove") },
|
|
|
|
|
+ { icon: "Cupboard", name: getIT("Cupboard") },
|
|
|
|
|
+ { icon: "Bathtub", name: getIT("Bathtub") },
|
|
|
|
|
+ { icon: "Closestool", name: getIT("Closestool") },
|
|
|
|
|
+ { icon: "Washstand", name: getIT("Washstand") },
|
|
|
|
|
+ { icon: "CupboardU", name: getIT("CupboardU") },
|
|
|
|
|
+ { icon: "WaterChannel", name: getIT("WaterChannel") },
|
|
|
|
|
+ { icon: "WaterChannelD", name: getIT("WaterChannelD") },
|
|
|
|
|
+ { icon: "FridgeS", name: getIT("FridgeS") },
|
|
|
|
|
+ { icon: "FridgeD", name: getIT("FridgeD") },
|
|
|
|
|
+ { icon: "CabinetB", name: getIT("CabinetB") },
|
|
|
|
|
+ { icon: "SquattingPan", name: getIT("SquattingPan") },
|
|
|
|
|
+ { icon: "Shower", name: getIT("Shower") },
|
|
|
],
|
|
],
|
|
|
},
|
|
},
|
|
|
{
|
|
{
|
|
|
- name: "其他",
|
|
|
|
|
|
|
+ name: getGT("qita"),
|
|
|
children: [
|
|
children: [
|
|
|
- { icon: "Desk", name: "书桌" },
|
|
|
|
|
- { icon: "BalconyChair", name: "阳台椅" },
|
|
|
|
|
- { icon: "MopPool", name: "拖把池" },
|
|
|
|
|
- { icon: "WashingMachine", name: "洗衣机" },
|
|
|
|
|
- { icon: "Elevator", name: "电梯" },
|
|
|
|
|
- { icon: "WaterFountain", name: "饮水机" },
|
|
|
|
|
- { icon: "AirConditioner", name: "空调-圆形" },
|
|
|
|
|
- { icon: "Tablelamp", name: "台灯" },
|
|
|
|
|
|
|
+ { icon: "Desk", name: getIT("Desk") },
|
|
|
|
|
+ { icon: "BalconyChair", name: getIT("BalconyChair") },
|
|
|
|
|
+ { icon: "MopPool", name: getIT("MopPool") },
|
|
|
|
|
+ { icon: "WashingMachine", name: getIT("WashingMachine") },
|
|
|
|
|
+ { icon: "Elevator", name: getIT("Elevator") },
|
|
|
|
|
+ { icon: "WaterFountain", name: getIT("WaterFountain") },
|
|
|
|
|
+ { icon: "AirConditioner", name: getIT("AirConditioner") },
|
|
|
|
|
+ { icon: "Tablelamp", name: getIT("Tablelamp") },
|
|
|
],
|
|
],
|
|
|
},
|
|
},
|
|
|
],
|
|
],
|
|
|
},
|
|
},
|
|
|
{
|
|
{
|
|
|
- name: "痕迹物证",
|
|
|
|
|
|
|
+ name: getGT("henji"),
|
|
|
children: [
|
|
children: [
|
|
|
{
|
|
{
|
|
|
name: "",
|
|
name: "",
|
|
@@ -235,7 +224,6 @@ export const iconGroups: IconGroup[] = [
|
|
|
],
|
|
],
|
|
|
},
|
|
},
|
|
|
];
|
|
];
|
|
|
-
|
|
|
|
|
export const getIconItem = (icon: string) => {
|
|
export const getIconItem = (icon: string) => {
|
|
|
for (const group of iconGroups) {
|
|
for (const group of iconGroups) {
|
|
|
for (const itemGroup of group.children) {
|
|
for (const itemGroup of group.children) {
|