dist
This commit is contained in:
@@ -110,7 +110,7 @@
|
||||
:headers="{ Authorization: token }"
|
||||
v-model:file-list="uploadList"
|
||||
:before-upload="beforeUpload"
|
||||
:maxCount="8 - uploadList.length"
|
||||
:maxCount="8"
|
||||
accept=".jpg,.png,.jpeg,.bmp"
|
||||
@change="(file) => upFileUploadChange(file)"
|
||||
>
|
||||
@@ -580,18 +580,18 @@ export default defineComponent({
|
||||
let fileList = this.uploadList.filter(
|
||||
(v) => v.status === "done"
|
||||
);
|
||||
if (this.uploadList.length >= 8) {
|
||||
message.info(this.t('DesignDetailAlter.jsContent2'));
|
||||
} else {
|
||||
// this.store.commit("setSketchboardFile", fileList);
|
||||
this.uploadList = fileList
|
||||
// this.store.commit("clearMoodTemplateId");
|
||||
if(this.selectCode == 'Sketchboard'){
|
||||
this.apparelList = this.uploadList
|
||||
}else{
|
||||
this.printList = this.uploadList
|
||||
}
|
||||
this.uploadList = fileList
|
||||
// this.store.commit("clearMoodTemplateId");
|
||||
if(this.selectCode == 'Sketchboard'){
|
||||
this.apparelList = this.uploadList
|
||||
}else{
|
||||
this.printList = this.uploadList
|
||||
}
|
||||
// if (this.uploadList.length > 8) {
|
||||
// message.info(this.t('DesignDetailAlter.jsContent2'));
|
||||
// } else {
|
||||
// // this.store.commit("setSketchboardFile", fileList);
|
||||
// }
|
||||
}else{
|
||||
bor = false
|
||||
}
|
||||
|
||||
@@ -60,7 +60,8 @@
|
||||
<img :src="designOpenrtionList[0].path">
|
||||
</div>
|
||||
</div>
|
||||
<div class="subitOkPreviewBtn Guide_1_25" @click.stop="setPreview">{{ $t('DesignPrintOperation.preview') }}</div>
|
||||
<div class="subitOkPreviewBtn" @click.stop="setPreview">{{ $t('DesignPrintOperation.preview') }}</div>
|
||||
<div class="subitOkPreviewBtn Guide_1_25_1" @click.stop="setOK">OK</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
@@ -98,6 +99,11 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="designOpenrtion_right">
|
||||
<div class="designOpenrtion_entirety_img">
|
||||
<img :src="currentFullBodyView" alt="">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="mark_loading" v-show="loadingShow">
|
||||
<a-spin size="large" />
|
||||
@@ -108,7 +114,7 @@
|
||||
|
||||
<script >
|
||||
import { defineComponent, h,createVNode, ref ,computed, inject,nextTick} from "vue";
|
||||
import { LoadingOutlined } from "@ant-design/icons-vue";
|
||||
// import { LoadingOutlined } from "@ant-design/icons-vue";
|
||||
import { useStore } from "vuex";
|
||||
import { openGuide,driverObj__ } from "@/tool/guide";
|
||||
import { Https } from "@/tool/https";
|
||||
@@ -160,7 +166,8 @@ export default defineComponent({
|
||||
height:''
|
||||
})
|
||||
let loadingShow = ref(false)
|
||||
|
||||
let currentFullBodyView = ref('')
|
||||
let body = ref(false)
|
||||
let {t} = useI18n()
|
||||
return {
|
||||
designOpenrtion,
|
||||
@@ -180,6 +187,8 @@ export default defineComponent({
|
||||
loadingShow,
|
||||
setRevocation,
|
||||
t,
|
||||
currentFullBodyView,
|
||||
body,
|
||||
};
|
||||
},
|
||||
data() {
|
||||
@@ -238,6 +247,11 @@ export default defineComponent({
|
||||
},
|
||||
methods: {
|
||||
init(){
|
||||
let designItemDetail = JSON.parse(JSON.stringify(this.store.state.DesignDetailModule.designItemDetail))
|
||||
this.currentFullBodyView = designItemDetail.currentFullBodyView? designItemDetail.currentFullBodyView:designItemDetail.designItemUrl
|
||||
if(designItemDetail.others.length == 0){
|
||||
this.body = true
|
||||
}
|
||||
let DesignPrintOperationParent = this.$parent
|
||||
this.designOpenrtion = true
|
||||
this.clearModal()
|
||||
@@ -510,7 +524,10 @@ export default defineComponent({
|
||||
}
|
||||
// let x = sketch.width-Number(this.print.width.replace(/px/g,''))
|
||||
// let y = sketch.height-Number(this.print.height.replace(/px/g,''))
|
||||
let x = sketch?.width-this.print.width.replace(/px/g,'')*scale
|
||||
let x = sketch?.width - this.print.width.replace(/px/g,'')*scale
|
||||
if(!this.overallSingle){
|
||||
x = sketch?.width - this.print.width.replace(/px/g,'')*scale/2
|
||||
}
|
||||
let y = sketch?.height-this.print.height.replace(/px/g,'')*scale
|
||||
this.printStyleList[index]={
|
||||
centers:{
|
||||
@@ -639,7 +656,7 @@ export default defineComponent({
|
||||
Https.axiosPost(Https.httpUrls.designSingle, data).then(
|
||||
(rv) => {
|
||||
// designItemDetail.clothes[index].printObject.path = rv.clothes[0].printObject.path
|
||||
|
||||
this.currentFullBodyView = rv.currentFullBodyView
|
||||
designItemDetail.currentFullBodyView = rv.currentFullBodyView
|
||||
designItemDetail.clothes[index].printObject.ifSingle = this.overallSingle
|
||||
designItemDetail.clothes[index].layersObject = rv.clothes[index].layersObject
|
||||
@@ -659,7 +676,7 @@ export default defineComponent({
|
||||
this.store.commit("setDesignPreviewData", data);
|
||||
this.setRevocation(designItemDetail,data)
|
||||
this.loadingShow = false
|
||||
this.designOpenrtion = false
|
||||
// this.designOpenrtion = false
|
||||
// this.closeModal()
|
||||
if(this.driver__.driver){
|
||||
nextTick().then(()=>{
|
||||
@@ -671,6 +688,9 @@ export default defineComponent({
|
||||
this.loadingShow = false
|
||||
});
|
||||
},
|
||||
setOK(){
|
||||
this.designOpenrtion = false
|
||||
},
|
||||
clearModal(){
|
||||
this.printAmount = 1//显示数量
|
||||
this.designOpenrtion = true//modal页面关闭
|
||||
@@ -760,7 +780,20 @@ export default defineComponent({
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
.designOpenrtion_right{
|
||||
height: 50rem;
|
||||
position: absolute;
|
||||
right: 2rem;
|
||||
left: auto;
|
||||
top: 50%;
|
||||
transform: translateY(-50%);
|
||||
.designOpenrtion_entirety_img{
|
||||
height: 100%;
|
||||
img{
|
||||
height: 100%;
|
||||
}
|
||||
}
|
||||
}
|
||||
.designOpenrtion_open{
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
@@ -903,6 +936,7 @@ export default defineComponent({
|
||||
top: 50%;
|
||||
left: 50%;
|
||||
transform: translate(-50%,-50%);
|
||||
display: flex;
|
||||
&.active{
|
||||
flex-direction: row;
|
||||
}
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<template>
|
||||
<div>
|
||||
<a-modal
|
||||
class="designOpenrtion_modal"
|
||||
class="designOpenrtion_modal Guide_1_24"
|
||||
v-model:visible="designOpenrtion"
|
||||
:class="[driver__.driver?'hideEvents':'']"
|
||||
:footer="null"
|
||||
@@ -61,6 +61,7 @@
|
||||
</div>
|
||||
</div>
|
||||
<div class="subitOkPreviewBtn" @click.stop="setPreview">{{ $t('DesignPrintOperation.preview') }}</div>
|
||||
<div class="subitOkPreviewBtn Guide_1_25_1" @click.stop="setOK">OK</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -97,6 +98,11 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="designOpenrtion_right">
|
||||
<div class="designOpenrtion_entirety_img">
|
||||
<img :src="currentFullBodyView" alt="">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="mark_loading" v-show="loadingShow">
|
||||
<a-spin size="large" />
|
||||
@@ -107,7 +113,7 @@
|
||||
|
||||
<script >
|
||||
import { defineComponent, h,createVNode, ref ,computed, inject,nextTick} from "vue";
|
||||
import { LoadingOutlined } from "@ant-design/icons-vue";
|
||||
// import { LoadingOutlined } from "@ant-design/icons-vue";
|
||||
import { useStore } from "vuex";
|
||||
import { Https } from "@/tool/https";
|
||||
import { Modal,message } from 'ant-design-vue';
|
||||
@@ -236,6 +242,11 @@ export default defineComponent({
|
||||
},
|
||||
methods: {
|
||||
init(){
|
||||
let designItemDetail = JSON.parse(JSON.stringify(this.store.state.DesignDetailModule.designItemDetail))
|
||||
this.currentFullBodyView = designItemDetail.currentFullBodyView? designItemDetail.currentFullBodyView:designItemDetail.designItemUrl
|
||||
if(designItemDetail.others.length == 0){
|
||||
this.body = true
|
||||
}
|
||||
let DesignPrintOperationParent = this.$parent
|
||||
this.designOpenrtion = true
|
||||
this.clearModal()
|
||||
@@ -669,6 +680,9 @@ export default defineComponent({
|
||||
this.loadingShow = false
|
||||
});
|
||||
},
|
||||
setOK(){
|
||||
this.designOpenrtion = false
|
||||
},
|
||||
clearModal(){
|
||||
this.printAmount = 1//显示数量
|
||||
this.designOpenrtion = true//modal页面关闭
|
||||
@@ -758,7 +772,20 @@ export default defineComponent({
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
.designOpenrtion_right{
|
||||
height: 50rem;
|
||||
position: absolute;
|
||||
right: 2rem;
|
||||
left: auto;
|
||||
top: 50%;
|
||||
transform: translateY(-50%);
|
||||
.designOpenrtion_entirety_img{
|
||||
height: 100%;
|
||||
img{
|
||||
height: 100%;
|
||||
}
|
||||
}
|
||||
}
|
||||
.designOpenrtion_open{
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
|
||||
@@ -156,7 +156,7 @@ import { useStore } from "vuex";
|
||||
import { defineComponent, createVNode,nextTick, computed,ref,Ref} from "vue";
|
||||
import { UserOutlined, DownOutlined } from "@ant-design/icons-vue";
|
||||
import { Https } from "@/tool/https";
|
||||
import type { MenuProps } from "ant-design-vue";
|
||||
// import type { MenuProps } from "ant-design-vue";
|
||||
import { Modal,message,Upload} from 'ant-design-vue';
|
||||
import { ExclamationCircleOutlined } from '@ant-design/icons-vue';
|
||||
import { openGuide,driverObj__ } from "@/tool/guide";
|
||||
|
||||
@@ -42,10 +42,9 @@
|
||||
|
||||
<script >
|
||||
import { defineComponent, h,createVNode, ref ,computed, inject,nextTick} from "vue";
|
||||
import { LoadingOutlined } from "@ant-design/icons-vue";
|
||||
// import { LoadingOutlined } from "@ant-design/icons-vue";
|
||||
import { useStore } from "vuex";
|
||||
import { Modal,message } from 'ant-design-vue';
|
||||
import GO from '@/tool/GO';
|
||||
// import { Modal,message } from 'ant-design-vue';
|
||||
import { Https } from "@/tool/https";
|
||||
export default defineComponent({
|
||||
// props: ["frontBack"],
|
||||
|
||||
@@ -42,10 +42,7 @@
|
||||
|
||||
<script >
|
||||
import { defineComponent, h,createVNode, ref ,computed, inject,nextTick} from "vue";
|
||||
import { LoadingOutlined } from "@ant-design/icons-vue";
|
||||
import { useStore } from "vuex";
|
||||
import { Modal,message } from 'ant-design-vue';
|
||||
import GO from '@/tool/GO';
|
||||
import { Https } from "@/tool/https";
|
||||
export default defineComponent({
|
||||
// props: ["frontBack"],
|
||||
|
||||
@@ -73,7 +73,7 @@
|
||||
import { defineComponent,inject } from 'vue'
|
||||
import 'vue-cropper/dist/index.css'
|
||||
import { VueCropper } from "vue-cropper";
|
||||
import { openGuide,driverObj__ } from "@/tool/guide";
|
||||
// import { openGuide,driverObj__ } from "@/tool/guide";
|
||||
import {base64toFile} from '@/tool/util'
|
||||
export default defineComponent({
|
||||
props:['cropperFileData','isUpload'],
|
||||
|
||||
@@ -187,7 +187,7 @@ import { useStore } from "vuex";
|
||||
import GO from "@/tool/GO";
|
||||
import { getCookie } from "@/tool/cookie";
|
||||
import { getUploadUrl } from "@/tool/util";
|
||||
import { forEach } from "jszip";
|
||||
// import { forEach } from "jszip";
|
||||
import scaleImage from "@/component/HomePage/scaleImage.vue";
|
||||
import { openGuide,driverObj__,driverIndex__ } from "@/tool/guide";
|
||||
import { useI18n } from "vue-i18n";
|
||||
@@ -587,6 +587,7 @@ export default defineComponent({
|
||||
}
|
||||
if(item.checked){
|
||||
item.checked = false
|
||||
this.collectionElementid = ''
|
||||
}else{
|
||||
this.sketchboardList.forEach((v:any)=>{
|
||||
if(v.checked){
|
||||
@@ -594,8 +595,8 @@ export default defineComponent({
|
||||
}
|
||||
})
|
||||
item.checked = true
|
||||
this.collectionElementid = item.id
|
||||
}
|
||||
this.collectionElementid = item.id
|
||||
this.level2Type = item.category
|
||||
if(this.driver__.driver){
|
||||
driverObj__.moveNext()
|
||||
|
||||
@@ -267,17 +267,6 @@ export default defineComponent({
|
||||
imgData.jsContent1 = this.t('uploadFile.jsContent1',{maxImg:maxImg})
|
||||
this.store.commit("addGenerateMaterialFils", imgData);
|
||||
},
|
||||
//改变页码
|
||||
changePage(current: number, pageSize: number){
|
||||
this.currentPage = current
|
||||
this.pageSize = pageSize
|
||||
this.getLibraryList('')
|
||||
},
|
||||
|
||||
handleChange(){
|
||||
this.getLibraryList('')
|
||||
},
|
||||
|
||||
//选择所有的图片
|
||||
getLibraryList(str:any){
|
||||
let workspace = this.store.state.Workspace.workspace
|
||||
@@ -338,15 +327,6 @@ export default defineComponent({
|
||||
).catch((res)=>{
|
||||
this.isShowLoading = false
|
||||
});
|
||||
},
|
||||
closeModal(){
|
||||
this.myMaterialModalShow = false
|
||||
this.searchPictureName = ''
|
||||
this.designType = null
|
||||
this.imgList = []
|
||||
this.currentPage = 1
|
||||
this.pageSize = 10
|
||||
this.total = 0
|
||||
},
|
||||
showFileCategory(file: any) {
|
||||
file.categoryShow = true;
|
||||
|
||||
@@ -170,7 +170,6 @@ import GO from "@/tool/GO";
|
||||
import moodb from "@/tool/moodb";
|
||||
import { useI18n } from "vue-i18n";
|
||||
import { openGuide,driverObj__ } from "@/tool/guide";
|
||||
import { driver } from "driver.js";
|
||||
export default defineComponent({
|
||||
components: { Material, MoodTemplate, Generate,layout,layoutMobile },
|
||||
setup() {
|
||||
|
||||
@@ -100,9 +100,14 @@ export default defineComponent({
|
||||
// this.sketchList = []
|
||||
// this.sketch = [[],[],[]]
|
||||
// this.sketchList = this.allBoardData.sketchboardFiles
|
||||
if(JSON.stringify(newVal)!=JSON.stringify(oldVal)){
|
||||
if(oldVal){
|
||||
if(JSON.stringify(newVal)!=JSON.stringify(oldVal)){
|
||||
this.setSketch()
|
||||
}
|
||||
}else{
|
||||
this.setSketch()
|
||||
}
|
||||
|
||||
|
||||
},
|
||||
immediate: true
|
||||
@@ -126,7 +131,7 @@ export default defineComponent({
|
||||
sketch1.num = 0
|
||||
sketch2.num = 1
|
||||
sketch3.num = 2
|
||||
if(this.sketchList){
|
||||
if(this.sketchList && this.sketchList!=null){
|
||||
for (let i = 0; i < this.sketchList.length; i++) {
|
||||
let arr = [sketch1,sketch2,sketch3]
|
||||
let image = new Image()
|
||||
|
||||
@@ -578,9 +578,9 @@ export default defineComponent({
|
||||
version:generage.printModel.num,//为1就是Print
|
||||
gender:'',
|
||||
}
|
||||
if(generateType == 'image'||generateType == 'text-image'){
|
||||
if(generateType == 'image'){
|
||||
if(generage?.collectionElementid){
|
||||
|
||||
data.text = ''
|
||||
}else{
|
||||
message.info(
|
||||
this.t('PrintboardUpload.jsContent4')
|
||||
@@ -606,9 +606,28 @@ export default defineComponent({
|
||||
);
|
||||
return
|
||||
}
|
||||
}
|
||||
if(generateType == 'image'){
|
||||
data.text = ''
|
||||
}else if(generateType == 'text-image'){
|
||||
if(generage?.collectionElementid){
|
||||
if(this.captionGeneration){
|
||||
let arr = this.captionGeneration.split(/\s+/).length
|
||||
if(arr > 75){
|
||||
message.info(
|
||||
this.t('PrintboardUpload.jsContent5')
|
||||
);
|
||||
return
|
||||
}
|
||||
}else{
|
||||
message.info(
|
||||
this.t('PrintboardUpload.jsContent6')
|
||||
);
|
||||
return
|
||||
}
|
||||
}else{
|
||||
message.info(
|
||||
this.t('PrintboardUpload.jsContent4')
|
||||
);
|
||||
return
|
||||
}
|
||||
}
|
||||
this.loadingShow = true
|
||||
Https.axiosPost(Https.httpUrls.sketchAndPrintGenerate, data).then(
|
||||
|
||||
@@ -231,7 +231,7 @@ export default defineComponent({
|
||||
}
|
||||
})
|
||||
},
|
||||
scaleImage(img){
|
||||
scaleImage(img:any){
|
||||
let scaleImage:any = this.$refs.scaleImage
|
||||
img.forEach((item:any) => {
|
||||
item.imgUrl = item.presignedUrl
|
||||
|
||||
@@ -681,37 +681,57 @@ export default defineComponent({
|
||||
version:1,//为1就是Print
|
||||
gender:this.workspace.sex,
|
||||
}
|
||||
if(generateType == 'image'||generateType == 'text-image'){
|
||||
if(generateType == 'image'){
|
||||
if(generage?.collectionElementid){
|
||||
data.text = ''
|
||||
}else{
|
||||
message.info(
|
||||
this.t('SketchboardUpload.jsContent5')
|
||||
this.t('PrintboardUpload.jsContent4')
|
||||
);
|
||||
return
|
||||
}
|
||||
}else if(generateType == 'text'){
|
||||
// this.beforeUpload(false)
|
||||
data.collectionElementId = ''
|
||||
data.level2Type = ''
|
||||
// this.beforeUpload(false)
|
||||
if(this.captionGeneration){
|
||||
let arr = this.captionGeneration.split(/\s+/).length
|
||||
if(arr > 75){
|
||||
message.info(
|
||||
this.t('SketchboardUpload.jsContent6')
|
||||
this.t('PrintboardUpload.jsContent5')
|
||||
);
|
||||
return
|
||||
|
||||
}
|
||||
}else{
|
||||
message.info(
|
||||
this.t('PrintboardUpload.jsContent6')
|
||||
);
|
||||
return
|
||||
}
|
||||
}else if(generateType == 'text-image'){
|
||||
if(generage?.collectionElementid){
|
||||
if(this.captionGeneration){
|
||||
let arr = this.captionGeneration.split(/\s+/).length
|
||||
if(arr > 75){
|
||||
message.info(
|
||||
this.t('PrintboardUpload.jsContent5')
|
||||
);
|
||||
return
|
||||
}
|
||||
}else{
|
||||
message.info(
|
||||
this.t('PrintboardUpload.jsContent6')
|
||||
);
|
||||
return
|
||||
}
|
||||
}else{
|
||||
message.info(
|
||||
this.t('SketchboardUpload.jsContent7')
|
||||
|
||||
this.t('PrintboardUpload.jsContent4')
|
||||
);
|
||||
return
|
||||
}
|
||||
}
|
||||
if(generateType == 'image'){
|
||||
data.text = ''
|
||||
}
|
||||
this.loadingShow = true
|
||||
Https.axiosPost(Https.httpUrls.sketchAndPrintGenerate, data).then(
|
||||
(rv) => {
|
||||
|
||||
@@ -73,7 +73,7 @@ import {useStore} from 'vuex'
|
||||
import { openGuide,driverObj__ } from "@/tool/guide";
|
||||
import GO from "@/tool/GO";
|
||||
import { useI18n } from 'vue-i18n'
|
||||
import { position } from 'html2canvas/dist/types/css/property-descriptors/position'
|
||||
// import { position } from 'html2canvas/dist/types/css/property-descriptors/position'
|
||||
export default defineComponent({
|
||||
components:{
|
||||
Generate,
|
||||
@@ -230,7 +230,10 @@ export default defineComponent({
|
||||
top.forEach((positionItem:any) => {
|
||||
if(item.category == positionItem && item.pin){
|
||||
numTop++
|
||||
}else{
|
||||
}
|
||||
});
|
||||
top.forEach((positionItem:any) => {
|
||||
if(item.category == positionItem && item.pin){
|
||||
numBottom++
|
||||
}
|
||||
});
|
||||
|
||||
@@ -106,7 +106,7 @@
|
||||
|
||||
<script lang="ts">
|
||||
import { defineComponent, h, ref ,computed,reactive, nextTick} from "vue";
|
||||
import { LoadingOutlined } from "@ant-design/icons-vue";
|
||||
// import { LoadingOutlined } from "@ant-design/icons-vue";
|
||||
import { useStore } from "vuex";
|
||||
import GO from "@/tool/GO";
|
||||
import moodb from "@/tool/moodb";
|
||||
|
||||
@@ -50,9 +50,9 @@
|
||||
|
||||
<script lang="ts">
|
||||
import { defineComponent, h, ref ,computed,reactive, nextTick} from "vue";
|
||||
import { Https } from "@/tool/https";
|
||||
import { getCookie } from "@/tool/cookie";
|
||||
import domTurnImg from '@/tool/domTurnImg'
|
||||
// import { Https } from "@/tool/https";
|
||||
// import { getCookie } from "@/tool/cookie";
|
||||
// import domTurnImg from '@/tool/domTurnImg'
|
||||
import { downloadIamge } from "@/tool/util";
|
||||
|
||||
export default defineComponent({
|
||||
|
||||
@@ -50,7 +50,7 @@
|
||||
<div class="select_block">
|
||||
<a-select
|
||||
ref="select"
|
||||
v-model:value="sex.name"
|
||||
v-model:value="sex.label"
|
||||
:options="sexList"
|
||||
>
|
||||
<template #suffixIcon
|
||||
|
||||
@@ -51,12 +51,12 @@
|
||||
<script lang="ts">
|
||||
import { defineComponent,ref,createVNode,watch,nextTick,inject} from 'vue'
|
||||
import { Https } from "@/tool/https";
|
||||
import {dataURLtoFile,base64toFile} from "@/tool/util"
|
||||
// import {dataURLtoFile,base64toFile} from "@/tool/util"
|
||||
import { ExclamationCircleOutlined } from '@ant-design/icons-vue';
|
||||
import { getCookie } from "@/tool/cookie";
|
||||
// import { getCookie } from "@/tool/cookie";
|
||||
import 'vue-cropper/dist/index.css'
|
||||
import { VueCropper } from "vue-cropper";
|
||||
import { useStore } from "vuex";
|
||||
// import { useStore } from "vuex";
|
||||
import { useI18n } from 'vue-i18n';
|
||||
import { Modal,message,Upload,CascaderProps } from 'ant-design-vue';
|
||||
|
||||
|
||||
Reference in New Issue
Block a user