Files
meida_front/sheep/store/fittingRoom.js
T
guigongli 8f68f9b0c8 feat(fittingRoom): 新增衣服长度选择功能在上传衣服页面增加分类和长度选择功能,支持用户选择衣服类型和具体长度部位。新增 pattern 常量定义各种长度选项,并在 store 中添加相应的状态管理。同时更新了相关样式和组件依赖。
fix(uploadClothes): 修复上传页面分类选择逻辑

调整上传衣服页面的分类选择逻辑,使用 uv-radio-group 实现单选功能,支持衣服类型和长度部位的选择。引入 fittingRoom store 中的 tabs 和 pattern 数据,优化用户交互体验。

chore(deps): 更新 uv-icon 和 uv-radio 组件版本更新 uv-icon 和 uv-radio 组件的 package.json 配置文件,设置版本号为1.0.13。更新 changelog 文档,记录组件的优化和 bug 修复历史。完善组件的平台兼容性配置和依赖关系。

style(components): 调整上传页面样式布局优化上传衣服页面的样式布局,新增 warp、title、container 等样式类,改善分类和长度选择区域的显示效果。调整单选框的间距和对齐方式,提升用户界面的美观性和可用性。
2025-09-22 22:35:30 +08:00

62 lines
1.7 KiB
JavaScript

import { defineStore } from 'pinia';
import app from './app';
export const pattern = [
{ value: 'body', label: '腰部以上'},
{ value: 'waist', label: '腰'},
{ value: 'thigh', label: '跨'},
{ value: 'thigh1', label: '大腿上部1/3'},
{ value: 'thigh2', label: '大腿中部'},
{ value: 'knee', label: '膝盖'},
{ value: 'leg', label: '小腿'},
{ value: 'leg1', label: '小腿上部1/3'},
{ value: 'foot', label: '脚踝'},
{ value: 'mopping', label: '拖地'},
]
const fittingRoom = defineStore({
id: 'fittingRoom',
state: () => ({
visable: false, // 上传模特, 选模特的
type: true, // true: 我的衣橱, false: 衣服库
tab: 0, // 对应下面tabs的序号
tabs: ['全部', '上衣', '下装', '连衣裙', '外套', '发型'],
disableTabs: [5], // 不允许上传图的tab索引
currentClothes: [], // 当前选的衣服
selectClothesType: 1, // 选中的衣服类型, 默认选中上衣
selectPattern: pattern[0].value,
}),
getters: {
// 能上传图片的场景
canUpload(state) {
console.log(this.type, this.tab, state.type, '123');
// 除了发型其他都能上传
return this.type && !this.disableTabs.includes(this.tab);
},
},
actions: {
setVisable(visable) {
console.log('🚀 ~ setVisable 🐶15 ~ visable: ', visable);
this.visable = visable ?? !this.visable;
},
changeType(visable) {
console.log('🚀 ~ setVisable 🐶15 ~ visable: ', visable);
this.type = visable ?? !this.type;
},
// 点击衣服
changeClothes() {
console.log('切换衣服');
},
},
persist: {
enabled: true,
strategies: [
{
key: 'fittingRoom-store',
},
],
},
});
export default fittingRoom;