Merge remote-tracking branch 'origin/StableVersion' into dev_vite
This commit is contained in:
@@ -184,6 +184,14 @@ export default defineComponent({
|
||||
label:'trial',
|
||||
value:'3',
|
||||
},
|
||||
{
|
||||
label: "userInEvent",
|
||||
value: "4",
|
||||
},
|
||||
{
|
||||
label: "Edu Admin",
|
||||
value: "7",
|
||||
},
|
||||
]);
|
||||
let init = (funStr,data)=>{
|
||||
operations.operationsModal = true
|
||||
|
||||
@@ -453,10 +453,10 @@ watch(
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
gap: 15px;
|
||||
gap: 1.5rem;
|
||||
background: rgba(255, 255, 255, 0.8);
|
||||
border-radius: 5px;
|
||||
padding: 15px 3px;
|
||||
padding: 1.5rem 3px;
|
||||
box-shadow:
|
||||
0 4px 20px rgba(0, 0, 0, 0.1),
|
||||
0 0 0 1px rgba(0, 0, 0, 0.05);
|
||||
@@ -478,8 +478,8 @@ watch(
|
||||
|
||||
// 笔刷大小预览相关样式
|
||||
.brush-preview-container {
|
||||
width: 110px;
|
||||
height: 110px;
|
||||
width: 11rem;
|
||||
height: 11rem;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
@@ -492,12 +492,14 @@ watch(
|
||||
.brush-size-preview {
|
||||
border-radius: 50%;
|
||||
box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2);
|
||||
max-width: 100%;
|
||||
max-height: 100%;
|
||||
}
|
||||
|
||||
// 透明度预览相关样式
|
||||
.opacity-preview {
|
||||
width: 110px;
|
||||
height: 110px;
|
||||
width: 11rem;
|
||||
height: 11rem;
|
||||
border-radius: 6px;
|
||||
overflow: hidden;
|
||||
position: relative;
|
||||
@@ -550,14 +552,14 @@ watch(
|
||||
}
|
||||
|
||||
.control-btn {
|
||||
width: 24px;
|
||||
height: 24px;
|
||||
width: 2.4rem;
|
||||
height: 2.4rem;
|
||||
border: none;
|
||||
border-radius: 4px;
|
||||
background: #f0f0f0;
|
||||
color: #333;
|
||||
cursor: pointer;
|
||||
font-size: 16px;
|
||||
font-size: 1.6rem;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
@@ -602,8 +604,8 @@ watch(
|
||||
}
|
||||
|
||||
.current-color {
|
||||
width: 32px;
|
||||
height: 32px;
|
||||
width: 3.2rem;
|
||||
height: 3.2rem;
|
||||
border-radius: 8px;
|
||||
border: 2px solid #fff;
|
||||
box-shadow:
|
||||
@@ -638,7 +640,7 @@ watch(
|
||||
}
|
||||
|
||||
.tooltip-title {
|
||||
font-size: 16px;
|
||||
font-size: 1.6rem;
|
||||
color: #333;
|
||||
font-weight: 600;
|
||||
}
|
||||
@@ -647,12 +649,12 @@ watch(
|
||||
position: absolute;
|
||||
right: 3px;
|
||||
top: 3px;
|
||||
width: 20px;
|
||||
height: 20px;
|
||||
width: 2rem;
|
||||
height: 2rem;
|
||||
border: none;
|
||||
background: transparent;
|
||||
color: #999;
|
||||
font-size: 16px;
|
||||
font-size: 1.6rem;
|
||||
cursor: pointer;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
|
||||
@@ -516,8 +516,8 @@ onBeforeUnmount(() => {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
gap: 15px;
|
||||
height: 150px;
|
||||
gap: 1.5rem;
|
||||
height: 15rem;
|
||||
position: relative;
|
||||
// margin-top: 8px;
|
||||
// margin-bottom: 0px;
|
||||
@@ -525,7 +525,7 @@ onBeforeUnmount(() => {
|
||||
|
||||
.slider-track {
|
||||
position: relative;
|
||||
width: 32px;
|
||||
width: 3.2rem;
|
||||
height: 100%;
|
||||
background: rgba(0, 0, 0, 0.1);
|
||||
border-radius: 4px;
|
||||
@@ -544,7 +544,7 @@ onBeforeUnmount(() => {
|
||||
.slider-thumb {
|
||||
position: absolute;
|
||||
width: 100%;
|
||||
height: 16px;
|
||||
height: 1.6rem;
|
||||
background: #fff;
|
||||
// border: 1px solid #2196f3;
|
||||
border-radius: 3px;
|
||||
@@ -560,13 +560,13 @@ onBeforeUnmount(() => {
|
||||
// 添加iPad和移动设备的专有样式
|
||||
@media (pointer: coarse) {
|
||||
.slider-thumb {
|
||||
height: 20px; // 在触摸设备上增加滑块尺寸,更容易点击
|
||||
border-radius: 4px;
|
||||
box-shadow: 0 0px 6px rgba(0, 0, 0, 0.5); // 更明显的阴影
|
||||
height: 2rem; // 在触摸设备上增加滑块尺寸,更容易点击
|
||||
border-radius: .4rem;
|
||||
box-shadow: 0 0 .6rem rgba(0, 0, 0, 0.5); // 更明显的阴影
|
||||
}
|
||||
|
||||
.slider-track {
|
||||
width: 40px; // 在触摸设备上增加宽度
|
||||
width: 4rem; // 在触摸设备上增加宽度
|
||||
}
|
||||
|
||||
.slider-notch {
|
||||
@@ -603,23 +603,23 @@ onBeforeUnmount(() => {
|
||||
|
||||
.slider-tooltip {
|
||||
position: absolute;
|
||||
left: calc(100% + 15px);
|
||||
left: calc(100% + 1.5rem);
|
||||
background: rgba(255, 255, 255, 0.95);
|
||||
border-radius: 10px;
|
||||
padding: 10px;
|
||||
padding: 1rem;
|
||||
box-shadow:
|
||||
0 3px 12px rgba(0, 0, 0, 0.1),
|
||||
0 0 0 1px rgba(0, 0, 0, 0.05);
|
||||
min-width: 120px;
|
||||
min-width: 12rem;
|
||||
z-index: 10;
|
||||
|
||||
&::before {
|
||||
content: "";
|
||||
position: absolute;
|
||||
left: -8px;
|
||||
left: -.8rem;
|
||||
top: 50%;
|
||||
transform: translateY(-50%);
|
||||
border-width: 8px 8px 8px 0;
|
||||
border-width: .8rem .8rem .8rem 0;
|
||||
border-style: solid;
|
||||
border-color: transparent rgba(255, 255, 255, 0.95) transparent transparent;
|
||||
}
|
||||
|
||||
@@ -306,7 +306,8 @@ export default defineComponent({
|
||||
// 406.90964
|
||||
// ],
|
||||
offset,
|
||||
partialDesign:detailData.isEditPattern.value?list[i].partialDesign:{},
|
||||
partialDesign:list[i].partialDesign || {},
|
||||
// partialDesign:detailData.isEditPattern.value?list[i].partialDesign:{},
|
||||
path:(newData && detailData.currentDetailType == 'sketch' && isCurrent)?newData.minIOPath:list[i].minIOPath,
|
||||
printObject:(newData && detailData.currentDetailType == 'print' && isCurrent)?{prints:newData}:list[i].printObject?list[i].printObject:{prints:[]},
|
||||
priority,
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
<div class="designOpenrtion_print" v-for="item,index in frontBack.back" @mousedown.stop="itemMoveMousedown(index,getMousePosition($event,false))" @touchstart.passive="itemMoveMousedown(index,getMousePosition($event,true))" @click="setpitch(item,index)" :style="frontBack.front[index].style">
|
||||
<img :style="item.imageUrl?'':'display:none;'" :src="item.imageUrl" alt="">
|
||||
</div>
|
||||
<img class="perview_img" ref="detailBody" :src="frontBack?.body?.path" :style="'width:'+ frontBack?.body?.layersObject?.[0].imageSize?.[0] +';height:' + frontBack?.body?.layersObject?.[0].imageSize?.[0] +';'" v-lazy="frontBack?.body?.layersObject?.[0].imageUrl || ''">
|
||||
<img class="perview_img" @load="setPrintSize()" ref="detailBody" :src="frontBack?.body?.path" :style="'width:'+ frontBack?.body?.layersObject?.[0].imageSize?.[0] +';height:' + frontBack?.body?.layersObject?.[0].imageSize?.[0] +';'">
|
||||
<div class="detail_modal_item_front" v-for="item,index in frontBack.front" @mousedown.stop="itemMoveMousedown(index,getMousePosition($event,false))" @touchstart.passive="itemMoveMousedown(index,getMousePosition($event,true))" @click="setpitch(item,index)" :style="item.style">
|
||||
<img :src="item.imageUrl" alt="">
|
||||
</div>
|
||||
@@ -17,7 +17,7 @@
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="designOpenrtion_imgMask" v-else>
|
||||
<div class="designOpenrtion_imgMask" v-if="!frontBack?.body?.path">
|
||||
<img :src="designDetail.currentFullBodyView || selectDetail.undividedLayer" style="object-fit: cover;" alt="">
|
||||
</div>
|
||||
</div>
|
||||
@@ -71,12 +71,17 @@ export default defineComponent({
|
||||
selectItem.imgDomIndex = detailData.frontBack.front.findIndex((item:any)=>item.id == newValue.id)
|
||||
},{immediate: true,})
|
||||
watch(()=>detailData.frontBack?.body?.path,(newVal)=>{
|
||||
|
||||
setPrintSize()
|
||||
})
|
||||
const setPrintSize = ()=>{
|
||||
nextTick(()=>{
|
||||
let sacle = 0
|
||||
const img = new Image();
|
||||
let dom = document.querySelector('.molepositon .perview_img') as any
|
||||
if(!detailData.frontBack?.body?.path || !dom)return
|
||||
img.onload = () => {
|
||||
// resolve(img)
|
||||
sacle = detailData.detailBody.parentNode.offsetWidth / img.width
|
||||
sacle = dom.parentNode.offsetWidth / img.width
|
||||
detailData.frontBack.front.forEach((item:any,index:number) => {
|
||||
for (const key in item.style) {
|
||||
if(key == 'zIndex')return
|
||||
@@ -102,8 +107,9 @@ export default defineComponent({
|
||||
}
|
||||
});
|
||||
};
|
||||
img.src = newVal;
|
||||
},{immediate: true,})
|
||||
img.src = detailData.frontBack?.body?.path;
|
||||
})
|
||||
}
|
||||
const getDetailListDom = reactive({
|
||||
libraryList:null as any,
|
||||
})
|
||||
@@ -253,12 +259,13 @@ export default defineComponent({
|
||||
}else{
|
||||
resolve(true)
|
||||
isModal = false
|
||||
isOpen = true
|
||||
}
|
||||
}).then((rv)=>{
|
||||
})
|
||||
if(isOpen){
|
||||
store.commit('DesignDetail/setDesignColthes',detailData.frontBack.front[index].id)
|
||||
emit('canvasReload')
|
||||
store.commit('DesignDetail/setDesignColthes',detailData.frontBack.front[index].id)
|
||||
return
|
||||
}
|
||||
|
||||
@@ -385,6 +392,7 @@ export default defineComponent({
|
||||
...toRefs(selectItem),
|
||||
...toRefs(getDetailListDom),
|
||||
|
||||
setPrintSize,
|
||||
itemSizeMousedown,
|
||||
itemMoveMousedown,
|
||||
deleteNav,
|
||||
|
||||
@@ -137,7 +137,7 @@
|
||||
<div class="content" v-show="speedState && scene?.value != 'extract'">
|
||||
<div v-for="item in speedList"
|
||||
v-show="(type_.type2 == 'Moodboard' && item?.value != 'flux') ||
|
||||
(type_.type2 == 'Sketchboard' && item?.value != 'flux' && item?.value != 'high') ||
|
||||
(type_.type2 == 'Sketchboard' && item?.value != 'flux' && item?.value != 'wx') ||
|
||||
(type_.type2 == 'Printboard' && item?.value != 'wx')"
|
||||
:key="item.value" :class="{active:item.value == speedData.value}" @click.stop="setSpeed(item)" :title="item.title">{{ item.label }}</div>
|
||||
</div>
|
||||
|
||||
@@ -34,7 +34,7 @@
|
||||
script:null
|
||||
})
|
||||
let GOOGLE_CLIENT_ID = '29310152396-nnsd3h533fld665oguu8ovrt1nukmt46.apps.googleusercontent.com'
|
||||
// let GOOGLE_CLIENT_ID = '399537927614-3sd3rs9p79doocsrff7gm5m1f3chvmn2.apps.googleusercontent.com'
|
||||
// let GOOGLE_CLIENT_ID = '29310152396-c44dcsoksjirhn7vbo29p8u8n0sg4qps.apps.googleusercontent.com'
|
||||
// 使用谷歌登录的api
|
||||
const createGmailLogin = async ()=>{
|
||||
var existingScript = document.querySelector(`script[src="${data.scriptSrc}"]`);
|
||||
@@ -77,7 +77,9 @@
|
||||
window.isAddGmail = false
|
||||
}
|
||||
})
|
||||
onMounted(()=>{
|
||||
createGmailLogin()
|
||||
})
|
||||
return {
|
||||
}
|
||||
},
|
||||
|
||||
@@ -299,7 +299,9 @@ export default defineComponent({
|
||||
loginTime: true,
|
||||
};
|
||||
},
|
||||
|
||||
onBeforeUnmount() {
|
||||
this.clearTimer();
|
||||
},
|
||||
methods: {
|
||||
changeLoginType(type: string) {
|
||||
this.loginType = type;
|
||||
|
||||
@@ -299,7 +299,9 @@ export default defineComponent({
|
||||
loginTime: true,
|
||||
};
|
||||
},
|
||||
|
||||
onBeforeUnmount() {
|
||||
this.clearTimer();
|
||||
},
|
||||
methods: {
|
||||
changeLoginType(type: string) {
|
||||
this.loginType = type;
|
||||
|
||||
@@ -299,7 +299,9 @@ export default defineComponent({
|
||||
loginTime: true,
|
||||
};
|
||||
},
|
||||
|
||||
onBeforeUnmount() {
|
||||
this.clearTimer();
|
||||
},
|
||||
methods: {
|
||||
changeLoginType(type: string) {
|
||||
this.loginType = type;
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
<div class="generalModel_state" style="width: 20rem;" v-show="systemUser">
|
||||
<div class="generalModel_state_item" style="margin: 0; width: 100%;">
|
||||
<a-select
|
||||
v-model:value="selectObject.style"
|
||||
v-model:value="selectObjectStyle"
|
||||
:options="mannequinStyleList"
|
||||
@change="setWorkspaceStyle"
|
||||
style="width:100%"
|
||||
@@ -92,6 +92,7 @@ export default defineComponent({
|
||||
modelList:[],
|
||||
systemUser:true,
|
||||
selectObject:computed(()=>store.state.Workspace.probjects),//选择的项目
|
||||
selectObjectStyle:'',
|
||||
mannequinStyleList:[] as any,
|
||||
mannequinStyle:computed(()=>store.state.UserHabit.mannequinStyle),//女性衣服位置
|
||||
})
|
||||
@@ -108,6 +109,9 @@ export default defineComponent({
|
||||
watch(()=>data.selectObject.sex,(newVal)=>{
|
||||
getModel()
|
||||
})
|
||||
watch(()=>data.selectObject.style,(newVal)=>{
|
||||
data.selectObjectStyle = JSON.parse(JSON.stringify(newVal))
|
||||
},{immediate:true})
|
||||
const dataDom = reactive({
|
||||
habitSetStyle:null as any,
|
||||
edit:null as any,
|
||||
@@ -115,7 +119,7 @@ export default defineComponent({
|
||||
const getModel = ()=>{
|
||||
let value = {
|
||||
sex:data.selectObject.sex,
|
||||
style:data.selectObject?.style?data.selectObject?.style:'',
|
||||
style:data.selectObjectStyle,
|
||||
ageGroup:data.selectObject.ageGroup,
|
||||
}
|
||||
Https.axiosGet(Https.httpUrls.getMannequins,{params:value}).then((rv: any) => {
|
||||
@@ -186,9 +190,9 @@ export default defineComponent({
|
||||
dataDom.habitSetStyle.init(data.selectObject);
|
||||
}
|
||||
const setWorkspaceStyle = (item:any,value:any)=>{
|
||||
data.selectObject.styleName = value.name
|
||||
data.selectObject.style = value.value
|
||||
data.selectObject.styleId = value.id
|
||||
// data.selectObject.styleName = value.name
|
||||
// data.selectObject.style = value.value
|
||||
// data.selectObject.styleId = value.id
|
||||
getModel()
|
||||
}
|
||||
const openSetData = ()=>{
|
||||
@@ -246,7 +250,8 @@ export default defineComponent({
|
||||
const confirmDeletePic = (item:any,index:any,nData:any)=>{
|
||||
let newData = {
|
||||
libraryIds:[item.id],
|
||||
deleteModelConfirm:item.deleteModelConfirm?item.deleteModelConfirm : 0,
|
||||
deleteModelConfirm:1,
|
||||
// deleteModelConfirm:item.deleteModelConfirm?item.deleteModelConfirm : 0,
|
||||
timeZone:Intl.DateTimeFormat().resolvedOptions().timeZone,
|
||||
}
|
||||
if(nData)newData = nData
|
||||
|
||||
@@ -223,6 +223,7 @@ export default defineComponent({
|
||||
"id":data.selectObject.id,
|
||||
"moduleList":moduleList,
|
||||
}
|
||||
data.isShowMark = true
|
||||
Https.axiosPost(Https.httpUrls.getModuleContent,value).then(async (rv)=>{
|
||||
if(rv.uploadElement){//toproduct、relight、poseTransfer
|
||||
let uploadElementData = {
|
||||
|
||||
@@ -201,13 +201,14 @@ export default defineComponent({
|
||||
message.info(t('PrintboardUpload.jsContent7'))
|
||||
return
|
||||
}
|
||||
console.log(data.selectObject)
|
||||
let value = {
|
||||
name:data.selectObject.name,
|
||||
process:props.httpWorkflowType,
|
||||
styleId:data.show.style?data.selectObject.styleId:null,
|
||||
id:data.selectObject.id == -1?'':data.selectObject.id,
|
||||
workspace:{
|
||||
id:data.workspaceId?.id == -1?'':data.workspaceId?.id,
|
||||
id:data.selectObject?.workspaceId == -1?'':data.selectObject?.workspaceId,
|
||||
sex:data.selectObject.sex,
|
||||
// sex:data.show.gender?data.selectObject.sex:null,
|
||||
systemDesignerPercentage:data.show.systemDesigner?data.selectObject.systemDesignerPercentage:null,
|
||||
|
||||
@@ -4,7 +4,6 @@
|
||||
class="modalCanvas_modal generalModel"
|
||||
v-model:visible="addDetails"
|
||||
:footer="null"
|
||||
:get-container="() => $refs.modalCanvas"
|
||||
width="75%"
|
||||
:maskClosable="false"
|
||||
:centered="true"
|
||||
@@ -77,6 +76,7 @@ export default defineComponent({
|
||||
.modalCanvas{
|
||||
width: 0;
|
||||
height: 0;
|
||||
position: fixed;
|
||||
}
|
||||
.modalCanvas_modal {
|
||||
.closeIcon {
|
||||
|
||||
@@ -139,6 +139,7 @@ const DesignDetail : Module<DesignDetail,RootState> = {
|
||||
}
|
||||
},
|
||||
setDesignColthes(state,data){
|
||||
console.log(data)
|
||||
if(!state.currentDetailType)state.currentDetailType = 'sketch'
|
||||
//切换选择
|
||||
// state.currentDetailType = ''
|
||||
|
||||
@@ -177,7 +177,13 @@ const all = (t)=>{
|
||||
route:'/administrator/organization',
|
||||
key:'sub13',
|
||||
isShow:true,
|
||||
}]
|
||||
},{
|
||||
name:'Design Frequency',
|
||||
icon:'usetime',
|
||||
route:'/administrator/designFrequency',
|
||||
key:'sub14',
|
||||
isShow:true,
|
||||
},]
|
||||
}
|
||||
const schoolOrEnterprise = (t) =>{
|
||||
return[
|
||||
@@ -194,6 +200,19 @@ const schoolOrEnterprise = (t) =>{
|
||||
icon:'usetime',
|
||||
key:'sub2',
|
||||
isShow:true,
|
||||
},{
|
||||
name:'Function Use CHART',
|
||||
route:'/administrator/recentActiveChart',
|
||||
icon:'usetime',
|
||||
key:'sub3',
|
||||
isShow:true,
|
||||
},
|
||||
{
|
||||
name:'Design Frequency',
|
||||
icon:'usetime',
|
||||
route:'/administrator/designFrequency',
|
||||
key:'sub4',
|
||||
isShow:true,
|
||||
},
|
||||
// {
|
||||
// name:'Credits Detail',
|
||||
@@ -215,7 +234,8 @@ const schoolOrEnterprise = (t) =>{
|
||||
// route:'/administrator/designFrequency',
|
||||
// key:'sub5',
|
||||
// isShow:true,
|
||||
// },{
|
||||
// },
|
||||
// {
|
||||
// name:'Generate Frequency',
|
||||
// icon:'usetime',
|
||||
// route:'/administrator/generateFrequency',
|
||||
|
||||
@@ -118,7 +118,7 @@
|
||||
</div>
|
||||
</div>
|
||||
<div class="segmentation"></div>
|
||||
<div v-if="userDetail.systemUser != 0 || userDetail.systemUser != 3" @click="openUpgradeToPro" class="gallery_btn gallery_btn_radius" style="width: 100%;display: flex;justify-content: center;align-items: center;">
|
||||
<div v-if="userDetail.systemUser == 0 || userDetail.systemUser == 3" @click="openUpgradeToPro" class="gallery_btn gallery_btn_radius" style="width: 100%;display: flex;justify-content: center;align-items: center;">
|
||||
|
||||
<i class="fi fi-br-dollar" style="margin-right: .6rem;display: flex;"></i>
|
||||
{{$t('Header.openUpgrade')}}
|
||||
|
||||
@@ -214,13 +214,17 @@ export default defineComponent({
|
||||
}
|
||||
});
|
||||
let getPorfolio = ()=>{
|
||||
let data = filter.getListDate
|
||||
|
||||
let data = {
|
||||
...filter.getListDate
|
||||
}
|
||||
if(filter.isShowMark && !filter.isNoData)return
|
||||
filter.isShowMark = true
|
||||
// if(prop.otherUsers){
|
||||
data.accountId = store.state.UserHabit.userDetail.userId
|
||||
// }
|
||||
if(data.getMyPortfolio == 1 || data.getLikePortfolio == 1){
|
||||
data.accountId = store.state.UserHabit.userDetail.userId
|
||||
}
|
||||
|
||||
Https.axiosPost(Https.httpUrls.getPorfolio, data)
|
||||
.then((rv) => {
|
||||
if(data.page == 1 && rv.content.length == 0){
|
||||
|
||||
@@ -436,7 +436,7 @@
|
||||
<div class="content" v-if="scene?.value != 'extract'" v-show="speedState">
|
||||
<div v-for="item in speedList" :class="{active:item.value == speedData.value}"
|
||||
v-show="(selectCode == 'Moodboard' && item?.value != 'flux') ||
|
||||
(selectCode == 'Sketchboard' && item?.value != 'flux' && item?.value != 'high') ||
|
||||
(selectCode == 'Sketchboard' && item?.value != 'flux' && item?.value != 'wx') ||
|
||||
(selectCode == 'Printboard' && item?.value != 'wx')"
|
||||
:key="item.value" @click.stop="setSpeed(item)" :title="item.title">{{ item.label }}</div>
|
||||
</div>
|
||||
@@ -729,7 +729,7 @@ export default defineComponent({
|
||||
value:'wx',
|
||||
},{
|
||||
title:'',
|
||||
label:t('speedList.generateFlux'),
|
||||
label:t('speedList.toproductFlus'),
|
||||
value:'high',
|
||||
},{
|
||||
title:'',
|
||||
@@ -1030,7 +1030,10 @@ export default defineComponent({
|
||||
this.getClass()
|
||||
this.getSex()
|
||||
},
|
||||
|
||||
beforeUnmount(){
|
||||
this.store.commit('createDetail')
|
||||
this.store.commit('createProbject')
|
||||
},
|
||||
methods:{
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user