封装设置衣服类型的下拉菜单
This commit is contained in:
@@ -47,7 +47,9 @@
|
||||
v-show="file?.status === 'done'"
|
||||
>
|
||||
<img :src="file?.url" class="upload_img" />
|
||||
<div class="operate_file_block" v-show="selectCode == 'Sketchboard'">
|
||||
<sketchCategory v-if="selectCode == 'Sketchboard'" :disignTypeList="sketchCatecoryList" :generateList="uploadList" :item="file" ></sketchCategory>
|
||||
|
||||
<!-- <div class="operate_file_block" v-show="selectCode == 'Sketchboard'">
|
||||
<div class="select_img_type">
|
||||
<div
|
||||
class="select_category"
|
||||
@@ -89,7 +91,7 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div> -->
|
||||
<div
|
||||
class="delete_file_block"
|
||||
@click.stop="deleteFile(index)"
|
||||
@@ -136,48 +138,7 @@
|
||||
<div class="content_img_item" v-for="(file) in clothesList" :key="file.id" :class="{active:selectCode !== 'Moodboard'}">
|
||||
<div class="content_img_item_block" :class="{active:file?.checked}">
|
||||
<img :class="[ selectCode == 'Printboard' ? 'print_content_img' : 'content_img']" v-lazy="file.url" :key="file.url" :alt="file.name" @click.stop="selectImgItem(file)"/>
|
||||
<div v-if="selectCode == 'Sketchboard'" class="operate_file_block">
|
||||
<div class="select_img_type">
|
||||
<div
|
||||
class="select_category"
|
||||
@click.stop="showFileCategory(file)"
|
||||
>
|
||||
{{ file.level2Type }}
|
||||
<div
|
||||
v-if="!body"
|
||||
:class="[
|
||||
'icon',
|
||||
'iconfont',
|
||||
'icon-xiala',
|
||||
file.categoryShow
|
||||
? 'icon_rotate'
|
||||
: '',
|
||||
]"
|
||||
></div>
|
||||
</div>
|
||||
<div
|
||||
v-if="!body"
|
||||
class="category_list"
|
||||
v-show="file.categoryShow"
|
||||
>
|
||||
<div
|
||||
:class="[
|
||||
'category_item',
|
||||
file.level2Type == cate.value
|
||||
? 'select_category_item'
|
||||
: '',
|
||||
]"
|
||||
v-for="(
|
||||
cate, index
|
||||
) in disignTypeList"
|
||||
:key="index"
|
||||
@click.stop="selectFileCategory(file, cate)"
|
||||
>
|
||||
{{ cate.value }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<sketchCategory v-if="selectCode == 'Sketchboard'" :disignTypeList="sketchCatecoryList" :generateList="clothesList" :item="file" ></sketchCategory>
|
||||
</div>
|
||||
</div>
|
||||
<div v-show="total > clothesList.length" class="material_content_list_loding" v-observe>
|
||||
@@ -307,10 +268,12 @@ import DesignDetailEnd from './DesignDetailEnd.vue';
|
||||
import { getCookie } from "@/tool/cookie";
|
||||
import { openGuide,driverObj__ } from "@/tool/guide";
|
||||
import { useI18n } from 'vue-i18n';
|
||||
import sketchCategory from "@/component/HomePage/sketchCategory.vue";
|
||||
|
||||
export default defineComponent({
|
||||
props: ["msg"],
|
||||
components:{
|
||||
Draggable,Sketch,DesignDetailEnd,Chrome
|
||||
Draggable,Sketch,DesignDetailEnd,Chrome,sketchCategory
|
||||
},
|
||||
setup(prop) {
|
||||
const store = useStore();
|
||||
@@ -321,10 +284,7 @@ export default defineComponent({
|
||||
let body = inject('body')//父组件传过来的数据
|
||||
let openClick = ref(1);
|
||||
let searchPictureName = ref('')
|
||||
//模型印花
|
||||
let disignTypeList = [
|
||||
|
||||
]
|
||||
|
||||
let total = ref(0)
|
||||
let pageSize = ref(10)
|
||||
let currentPage = ref(1)
|
||||
@@ -342,14 +302,15 @@ export default defineComponent({
|
||||
let selectColorList = ref({
|
||||
})
|
||||
let workspace = ref({})
|
||||
|
||||
let sketchCatecoryList = computed(()=>{
|
||||
return store.state.Workspace.workspacePosition
|
||||
})
|
||||
let {t} = useI18n()
|
||||
return{
|
||||
store,
|
||||
current,
|
||||
openClick,
|
||||
searchPictureName,
|
||||
disignTypeList,
|
||||
total,
|
||||
pageSize,
|
||||
currentPage,
|
||||
@@ -367,6 +328,7 @@ export default defineComponent({
|
||||
workspace,
|
||||
driver__,
|
||||
body,
|
||||
sketchCatecoryList,
|
||||
t,
|
||||
}
|
||||
},
|
||||
@@ -435,18 +397,7 @@ export default defineComponent({
|
||||
},
|
||||
},
|
||||
computed:{
|
||||
getSketchLabel(value) {
|
||||
return (value) => {
|
||||
let lable = "";
|
||||
for (let item of this.disignTypeList) {
|
||||
if (item.value === value) {
|
||||
value = item.value;
|
||||
break;
|
||||
}
|
||||
}
|
||||
return lable;
|
||||
};
|
||||
},
|
||||
|
||||
|
||||
getSelectRGB(selectColor){
|
||||
|
||||
@@ -484,7 +435,6 @@ export default defineComponent({
|
||||
workspaceCom(newVal,oldVal){
|
||||
this.workspace = newVal
|
||||
this.upload.gender = newVal?.sexEnum?.name
|
||||
this.getPosition()
|
||||
},
|
||||
},
|
||||
mounted () {
|
||||
@@ -552,28 +502,7 @@ export default defineComponent({
|
||||
return this.store?.state?.Workspace?.workspace
|
||||
})
|
||||
},
|
||||
getPosition(){
|
||||
let params
|
||||
if(this.workspace.sexEnum.name == 'Female'){
|
||||
params = 'FemalePosition'
|
||||
}else{
|
||||
params = 'MalePosition'
|
||||
}
|
||||
Https.axiosGet(Https.httpUrls.workspaceenumValues,{params:{enumName:params}}).then((rv) => {
|
||||
if (rv) {
|
||||
// let arr = []
|
||||
// rv.forEach((item) => {
|
||||
// let obj = {
|
||||
// value:item.value,
|
||||
// name:item.name,
|
||||
// key:item.key,
|
||||
// }
|
||||
// arr.push(obj)
|
||||
// });
|
||||
this.disignTypeList = rv
|
||||
}
|
||||
})
|
||||
},
|
||||
|
||||
deleteFile(num){
|
||||
this.uploadList.splice(num, 1)
|
||||
},
|
||||
@@ -586,6 +515,12 @@ export default defineComponent({
|
||||
file.id = res.data.id;
|
||||
file.url = res.data.url;
|
||||
file.resData = res.data;
|
||||
this.sketchCatecoryList.forEach((item) => {
|
||||
if(item.value == res.data.level2Type){
|
||||
file.categoryValue = item?.name;
|
||||
file.category = item?.value;
|
||||
}
|
||||
});
|
||||
file.designType = res.data.designType
|
||||
let type = this.body?this.current.type:res.data.level2Type
|
||||
file.level2Type = type;
|
||||
@@ -653,31 +588,6 @@ export default defineComponent({
|
||||
},
|
||||
// this.getLibraryList('Moodboard')
|
||||
// this.getLibraryList('Printboard')
|
||||
|
||||
showFileCategory(file) {
|
||||
file.categoryShow = true;
|
||||
document.addEventListener("click", this.hiddenFileCategory);
|
||||
},
|
||||
selectFileCategory(file, cate) {
|
||||
file.level2Type = cate.name;
|
||||
for (let item of this.clothesList) {
|
||||
item.categoryShow = false;
|
||||
}
|
||||
for (let item of this.uploadList) {
|
||||
item.categoryShow = false;
|
||||
}
|
||||
this.setSketchLibrary(file)
|
||||
let DesignDetailEnd = this.$refs.DesignDetailEnd
|
||||
if(DesignDetailEnd.sketchImg.id == file.id){
|
||||
this.selectImgItem(file)
|
||||
}
|
||||
},
|
||||
hiddenFileCategory() {
|
||||
for (let item of this.clothesList) {
|
||||
item.categoryShow = false;
|
||||
}
|
||||
document.removeEventListener("click", this.hiddenFileCategory);
|
||||
},
|
||||
setSketchLibrary(item){
|
||||
let data = {
|
||||
libraryId:[item.id],
|
||||
@@ -727,10 +637,18 @@ export default defineComponent({
|
||||
size:this.pageSize+this.clothesList.length,
|
||||
}
|
||||
this.isShowLoading = true
|
||||
|
||||
Https.axiosPost(Https.httpUrls.queryLibraryPage,data).then(
|
||||
(rv) => {
|
||||
|
||||
if(this.selectCode == 'Sketchboard'){
|
||||
rv.content.forEach((vItem)=>{
|
||||
this.sketchCatecoryList.forEach((item) => {
|
||||
if(item.value == vItem.level2Type){
|
||||
vItem.categoryValue = item.name
|
||||
vItem.category = item.value
|
||||
}
|
||||
});
|
||||
})
|
||||
}
|
||||
this.clothesList = rv.content
|
||||
this.isShowLoading = false
|
||||
this.total = rv.total
|
||||
|
||||
@@ -408,7 +408,6 @@ export default defineComponent({
|
||||
}else{
|
||||
num = 1
|
||||
}
|
||||
|
||||
this.singleTypeList = this.position[num].value
|
||||
this.store.commit("setWorkspacePosition", this.position[num].value);
|
||||
|
||||
@@ -421,11 +420,21 @@ export default defineComponent({
|
||||
await new Promise(async (resolve) => {
|
||||
await Https.axiosGet(Https.httpUrls.workspaceenumValues,{params:{enumName:'FemalePosition'}}).then((rv: any) => {
|
||||
if (rv) {
|
||||
rv.forEach((item:any) => {
|
||||
let name = item.name
|
||||
item.name = item.value
|
||||
item.value = name
|
||||
});
|
||||
this.position[0].value = rv
|
||||
}
|
||||
})
|
||||
await Https.axiosGet(Https.httpUrls.workspaceenumValues,{params:{enumName:'MalePosition'}}).then((rv: any) => {
|
||||
if (rv) {
|
||||
rv.forEach((item:any) => {
|
||||
let name = item.name
|
||||
item.name = item.value
|
||||
item.value = name
|
||||
});
|
||||
this.position[1].value = rv
|
||||
}
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user