diff --git a/src/assets/iconfont2/iconfont.css b/src/assets/iconfont2/iconfont.css
new file mode 100644
index 00000000..fec3bb25
--- /dev/null
+++ b/src/assets/iconfont2/iconfont.css
@@ -0,0 +1,17 @@
+@font-face {
+ font-family: "iconfont"; /* Project id */
+ src: url('iconfont.ttf?t=1697613542954') format('truetype');
+}
+
+.iconfont {
+ font-family: "iconfont" !important;
+ font-size: 1.6rem;
+ font-style: normal;
+ -webkit-font-smoothing: antialiased;
+ -moz-osx-font-smoothing: grayscale;
+}
+
+.icon-a-waitao_changkuanwaitao11x:before {
+ content: "\e66c";
+}
+
diff --git a/src/assets/iconfont2/iconfont.ttf b/src/assets/iconfont2/iconfont.ttf
new file mode 100644
index 00000000..5f9def81
Binary files /dev/null and b/src/assets/iconfont2/iconfont.ttf differ
diff --git a/src/assets/images/homePage/111111.png b/src/assets/images/homePage/111111.png
new file mode 100644
index 00000000..ac6e516e
Binary files /dev/null and b/src/assets/images/homePage/111111.png differ
diff --git a/src/assets/style/style.css b/src/assets/style/style.css
index ea7b38eb..533dad59 100644
--- a/src/assets/style/style.css
+++ b/src/assets/style/style.css
@@ -5,6 +5,7 @@ body,
padding: 0;
height: 100%;
font-family: 'Roboto', sans-serif;
+ overflow: hidden;
}
input {
outline: none;
@@ -97,7 +98,7 @@ li {
padding: 0.5rem 2rem;
display: inline-block;
border-radius: 2rem;
- font-size: 12px;
+ font-size: 1.2rem;
color: #fff;
background-color: #39215b;
cursor: pointer;
@@ -209,12 +210,14 @@ li {
}
.collection_modal .ant-modal-body,
.design_detail_modal_component .ant-modal-body,
-.designOpenrtion_modal .ant-modal-body {
+.designOpenrtion_modal .ant-modal-body,
+.library_page .ant-modal-body {
overflow-y: hidden;
}
.collection_modal .design_title_text,
.design_detail_modal_component .design_title_text,
-.designOpenrtion_modal .design_title_text {
+.designOpenrtion_modal .design_title_text,
+.library_page .design_title_text {
font-size: 1.8rem;
font-weight: 900;
color: rgba(0, 0, 0, 0.65);
@@ -223,41 +226,47 @@ li {
}
.collection_modal .design_title_text .design_title_text_intro,
.design_detail_modal_component .design_title_text .design_title_text_intro,
-.designOpenrtion_modal .design_title_text .design_title_text_intro {
+.designOpenrtion_modal .design_title_text .design_title_text_intro,
+.library_page .design_title_text .design_title_text_intro {
font-size: 1.2rem;
font-weight: 400;
color: rgba(0, 0, 0, 0.45);
}
.collection_modal .ant-upload.ant-upload-select-picture-card,
.design_detail_modal_component .ant-upload.ant-upload-select-picture-card,
-.designOpenrtion_modal .ant-upload.ant-upload-select-picture-card {
+.designOpenrtion_modal .ant-upload.ant-upload-select-picture-card,
+.library_page .ant-upload.ant-upload-select-picture-card {
background: #FFFFFF;
width: 6rem;
height: 6rem;
border: 0.3rem solid #ededed;
- border-radius: 10px;
+ border-radius: 1rem;
margin: 0;
}
.collection_modal .ant-upload.ant-upload-select-picture-card .upload_tip_block .icon-jiahao,
.design_detail_modal_component .ant-upload.ant-upload-select-picture-card .upload_tip_block .icon-jiahao,
-.designOpenrtion_modal .ant-upload.ant-upload-select-picture-card .upload_tip_block .icon-jiahao {
+.designOpenrtion_modal .ant-upload.ant-upload-select-picture-card .upload_tip_block .icon-jiahao,
+.library_page .ant-upload.ant-upload-select-picture-card .upload_tip_block .icon-jiahao {
font-size: 3.2rem;
color: #B7B7B7;
}
.collection_modal .ant-upload.ant-upload-select-picture-card .ant-upload-text,
.design_detail_modal_component .ant-upload.ant-upload-select-picture-card .ant-upload-text,
-.designOpenrtion_modal .ant-upload.ant-upload-select-picture-card .ant-upload-text {
+.designOpenrtion_modal .ant-upload.ant-upload-select-picture-card .ant-upload-text,
+.library_page .ant-upload.ant-upload-select-picture-card .ant-upload-text {
font-size: 1.6rem;
color: #B7B7B7;
}
.collection_modal .ant-upload-list-picture-card-container,
.design_detail_modal_component .ant-upload-list-picture-card-container,
-.designOpenrtion_modal .ant-upload-list-picture-card-container {
+.designOpenrtion_modal .ant-upload-list-picture-card-container,
+.library_page .ant-upload-list-picture-card-container {
display: none !important;
}
.collection_modal .ant-upload-picture-card-wrapper,
.design_detail_modal_component .ant-upload-picture-card-wrapper,
-.designOpenrtion_modal .ant-upload-picture-card-wrapper {
+.designOpenrtion_modal .ant-upload-picture-card-wrapper,
+.library_page .ant-upload-picture-card-wrapper {
width: auto;
vertical-align: top;
}
@@ -305,11 +314,18 @@ li {
transform: translateX(-50%);
padding: 0.5rem 2rem;
border-radius: 2rem;
- font-size: 12px;
+ font-size: 1.2rem;
display: inline-block;
}
+.ant-upload {
+ font-size: 1.4rem;
+}
+i {
+ font-size: 1.4rem;
+}
.collection_modal_body .input_box,
-.design_detail_modal_component .input_box {
+.design_detail_modal_component .input_box,
+.library_page .input_box {
display: flex;
align-items: center;
position: sticky;
@@ -320,8 +336,8 @@ li {
z-index: 2;
}
.collection_modal_body .input_box input,
-.design_detail_modal_component .input_box input {
- font-size: 12px;
+.design_detail_modal_component .input_box input,
+.library_page .input_box input {
border-radius: 0.5rem;
width: 70%;
border: 1px solid rgba(0, 0, 0, 0.15);
@@ -331,28 +347,56 @@ li {
font-weight: 400;
}
.collection_modal_body .input_box inputinput:-moz-placeholder,
-.design_detail_modal_component .input_box inputinput:-moz-placeholder {
+.design_detail_modal_component .input_box inputinput:-moz-placeholder,
+.library_page .input_box inputinput:-moz-placeholder {
color: rgba(0, 0, 0, 0.15);
}
.collection_modal_body .input_box inputinput:-ms-input-placeholder,
-.design_detail_modal_component .input_box inputinput:-ms-input-placeholder {
+.design_detail_modal_component .input_box inputinput:-ms-input-placeholder,
+.library_page .input_box inputinput:-ms-input-placeholder {
color: rgba(0, 0, 0, 0.15);
}
.collection_modal_body .input_box inputinput::-webkit-input-placeholder,
-.design_detail_modal_component .input_box inputinput::-webkit-input-placeholder {
+.design_detail_modal_component .input_box inputinput::-webkit-input-placeholder,
+.library_page .input_box inputinput::-webkit-input-placeholder {
color: rgba(0, 0, 0, 0.15);
}
+.collection_modal_body .input_box span,
+.design_detail_modal_component .input_box span,
+.library_page .input_box span {
+ position: absolute;
+ bottom: 0rem;
+ font-size: 1.2rem;
+ color: red;
+ opacity: 0;
+ transform: scale(0.7);
+ transform-origin: left bottom;
+}
+.collection_modal_body .input_box.active input,
+.design_detail_modal_component .input_box.active input,
+.library_page .input_box.active input {
+ border: 1px solid #ff0001;
+ box-shadow: 0px 0px 3px 1px rgba(255, 0, 0, 0.2);
+}
+.collection_modal_body .input_box.active span,
+.design_detail_modal_component .input_box.active span,
+.library_page .input_box.active span {
+ opacity: 1;
+}
.collection_modal_body .input_box .generage_btn,
-.design_detail_modal_component .input_box .generage_btn {
+.design_detail_modal_component .input_box .generage_btn,
+.library_page .input_box .generage_btn {
margin: 0 auto;
}
.collection_modal_body .upload_item,
-.design_detail_modal_component .upload_item {
+.design_detail_modal_component .upload_item,
+.library_page .upload_item {
display: flex;
flex-wrap: wrap;
}
.collection_modal_body .upload_item .upload_file_item,
-.design_detail_modal_component .upload_item .upload_file_item {
+.design_detail_modal_component .upload_item .upload_file_item,
+.library_page .upload_item .upload_file_item {
margin: 0 2rem 2rem 0;
display: inline-block;
width: 10rem;
@@ -360,31 +404,53 @@ li {
border: 1px solid #f5f5f5;
vertical-align: top;
position: relative;
+ cursor: pointer;
+}
+.collection_modal_body .upload_item .upload_file_item.active,
+.design_detail_modal_component .upload_item .upload_file_item.active,
+.library_page .upload_item .upload_file_item.active {
+ opacity: 0.5;
+ border-radius: 1rem;
+ transform: scale(0.9);
+}
+.collection_modal_body .upload_item .upload_file_item.active .delete_file_block,
+.design_detail_modal_component .upload_item .upload_file_item.active .delete_file_block,
+.library_page .upload_item .upload_file_item.active .delete_file_block {
+ pointer-events: none;
+}
+.collection_modal_body .upload_item .upload_file_item.active .operate_file_block,
+.design_detail_modal_component .upload_item .upload_file_item.active .operate_file_block,
+.library_page .upload_item .upload_file_item.active .operate_file_block {
+ pointer-events: none;
}
.collection_modal_body .upload_item .upload_file_item.upload_component,
-.design_detail_modal_component .upload_item .upload_file_item.upload_component {
+.design_detail_modal_component .upload_item .upload_file_item.upload_component,
+.library_page .upload_item .upload_file_item.upload_component {
border: none;
display: flex;
align-items: center;
justify-content: center;
}
.collection_modal_body .upload_item .upload_file_item :deep(.ant-upload-picture-card-wrapper),
-.design_detail_modal_component .upload_item .upload_file_item :deep(.ant-upload-picture-card-wrapper) {
+.design_detail_modal_component .upload_item .upload_file_item :deep(.ant-upload-picture-card-wrapper),
+.library_page .upload_item .upload_file_item :deep(.ant-upload-picture-card-wrapper) {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
}
.collection_modal_body .upload_item .upload_file_item :deep(.ant-upload-select-picture-card),
-.design_detail_modal_component .upload_item .upload_file_item :deep(.ant-upload-select-picture-card) {
+.design_detail_modal_component .upload_item .upload_file_item :deep(.ant-upload-select-picture-card),
+.library_page .upload_item .upload_file_item :deep(.ant-upload-select-picture-card) {
width: 6rem;
height: 6rem;
border: 0.3rem solid #ededed;
- border-radius: 10px;
+ border-radius: 1rem;
margin: 0;
}
.collection_modal_body .upload_item .upload_file_item .upload_file_item_content,
-.design_detail_modal_component .upload_item .upload_file_item .upload_file_item_content {
+.design_detail_modal_component .upload_item .upload_file_item .upload_file_item_content,
+.library_page .upload_item .upload_file_item .upload_file_item_content {
display: flex;
align-items: center;
justify-content: center;
@@ -393,17 +459,22 @@ li {
position: relative;
}
.collection_modal_body .upload_item .upload_file_item .upload_file_item_content:hover .delete_file_block,
-.design_detail_modal_component .upload_item .upload_file_item .upload_file_item_content:hover .delete_file_block {
+.design_detail_modal_component .upload_item .upload_file_item .upload_file_item_content:hover .delete_file_block,
+.library_page .upload_item .upload_file_item .upload_file_item_content:hover .delete_file_block {
display: block;
}
.collection_modal_body .upload_item .upload_file_item .upload_file_item_content .upload_img,
-.design_detail_modal_component .upload_item .upload_file_item .upload_file_item_content .upload_img {
+.design_detail_modal_component .upload_item .upload_file_item .upload_file_item_content .upload_img,
+.library_page .upload_item .upload_file_item .upload_file_item_content .upload_img {
display: block;
height: 100%;
- width: 100%;
+ width: auto;
+ max-width: 100%;
+ object-fit: cover;
}
.collection_modal_body .upload_item .upload_file_item .upload_file_item_content .delete_file_block,
-.design_detail_modal_component .upload_item .upload_file_item .upload_file_item_content .delete_file_block {
+.design_detail_modal_component .upload_item .upload_file_item .upload_file_item_content .delete_file_block,
+.library_page .upload_item .upload_file_item .upload_file_item_content .delete_file_block {
display: none;
width: 100%;
cursor: pointer;
@@ -417,12 +488,33 @@ li {
left: 0;
bottom: 0;
}
+.collection_modal_body .upload_item .upload_file_item .upload_file_item_content .delete_file_block.rightTop,
+.design_detail_modal_component .upload_item .upload_file_item .upload_file_item_content .delete_file_block.rightTop,
+.library_page .upload_item .upload_file_item .upload_file_item_content .delete_file_block.rightTop {
+ width: 3.2rem;
+ height: 3.2rem;
+ background: rgba(0, 0, 0, 0.6);
+ border-radius: 0.4rem;
+ position: absolute;
+ top: 0.9rem;
+ right: 0.9rem;
+ text-align: center;
+ line-height: 3.2rem;
+ left: auto;
+}
+.collection_modal_body .upload_item .upload_file_item .upload_file_item_content .delete_file_block.rightTop .icon-shanchu,
+.design_detail_modal_component .upload_item .upload_file_item .upload_file_item_content .delete_file_block.rightTop .icon-shanchu,
+.library_page .upload_item .upload_file_item .upload_file_item_content .delete_file_block.rightTop .icon-shanchu {
+ font-size: 1.6rem;
+ color: #fff;
+}
.collection_modal_body .upload_item .upload_file_item .upload_img_icon,
-.design_detail_modal_component .upload_item .upload_file_item .upload_img_icon {
+.design_detail_modal_component .upload_item .upload_file_item .upload_img_icon,
+.library_page .upload_item .upload_file_item .upload_img_icon {
width: 4.6rem;
}
.cut_pricture_modal .ant-modal-content {
- border-radius: 10px;
+ border-radius: 1rem;
}
.cut_pricture_modal .ant-modal-body {
height: 65rem;
diff --git a/src/assets/style/style.less b/src/assets/style/style.less
index faf36735..38e9dc60 100644
--- a/src/assets/style/style.less
+++ b/src/assets/style/style.less
@@ -4,6 +4,7 @@ html,body,#app{
padding: 0;
height: 100%;
font-family: 'Roboto', sans-serif;
+ overflow: hidden;
// --antd-wave-shadow-color: #341e57;
}
input{
@@ -107,7 +108,7 @@ ul,li{
padding: .5rem 2rem;
display: inline-block;
border-radius: 2rem;
- font-size: 12px;
+ font-size: 1.2rem;
color: #fff;
background-color: #39215b;
cursor: pointer;
@@ -254,7 +255,7 @@ ul,li{
margin-top:.5rem;
}
//collection 弹窗
-.collection_modal,.design_detail_modal_component,.designOpenrtion_modal{
+.collection_modal,.design_detail_modal_component,.designOpenrtion_modal,.library_page{
.ant-modal-body{
overflow-y: hidden;
@@ -276,7 +277,7 @@ ul,li{
width: 6rem;
height: 6rem;
border: 0.3rem solid #ededed;
- border-radius: 10px;
+ border-radius: 1rem;
margin: 0;
.upload_tip_block{
.icon-jiahao{
@@ -340,13 +341,19 @@ ul,li{
transform: translateX(-50%);
padding: .5rem 2rem;
border-radius: 2rem;
- font-size: 12px;
+ font-size: 1.2rem;
display: inline-block;
}
}
+.ant-upload{
+ font-size: 1.4rem;
+}
+i{
+ font-size: 1.4rem;
+}
//设计input和上传按钮样式
-.collection_modal_body,.design_detail_modal_component{
+.collection_modal_body,.design_detail_modal_component,.library_page{
.input_box{
display: flex;
align-items: center;
@@ -357,7 +364,7 @@ ul,li{
padding-bottom: 2rem;
z-index: 2;
input{
- font-size: 12px;
+ font-size: 1.2rem;
border-radius: .5rem;
width: 70%;
border: 1px solid rgba(0,0,0,.15);
@@ -377,6 +384,25 @@ ul,li{
color: rgba(0,0,0,.15);
}
}
+ span{
+ position: absolute;
+ bottom: 0rem;
+ font-size: 1.2rem;
+ color: red;
+ opacity: 0;
+ transform: scale(.7);
+ transform-origin: left bottom;
+ }
+ &.active{
+ input{
+ // color: rgb(255, 0, .7);
+ border: 1px solid rgb(255, 0, .7);
+ box-shadow: 0px 0px 3px 1px rgba(255, 0, 0, 0.2);
+ }
+ span{
+ opacity: 1;
+ }
+ }
.generage_btn{
margin: 0 auto;
}
@@ -396,6 +422,22 @@ ul,li{
border: 1px solid #f5f5f5;
vertical-align: top;
position: relative;
+ cursor: pointer;
+
+ &.active {
+ opacity: 0.5;
+ // border: 2px solid;
+ border-radius: 1rem;
+ transform: scale(0.9);
+ .delete_file_block{
+ pointer-events:none;
+ }
+ .operate_file_block{
+ pointer-events:none;
+ }
+ img {
+ }
+ }
&.upload_component {
border: none;
display: flex;
@@ -412,7 +454,7 @@ ul,li{
width: 6rem;
height: 6rem;
border: 0.3rem solid #ededed;
- border-radius: 10px;
+ border-radius: 1rem;
margin: 0;
}
.upload_file_item_content {
@@ -430,7 +472,9 @@ ul,li{
.upload_img {
display: block;
height: 100%;
- width: 100%;
+ width: auto;
+ max-width: 100%;
+ object-fit: cover;
}
.delete_file_block {
@@ -446,6 +490,22 @@ ul,li{
position: absolute;
left: 0;
bottom: 0;
+ &.rightTop {
+ width: 3.2rem;
+ height: 3.2rem;
+ background: rgba(0, 0, 0, 0.6);
+ border-radius: 0.4rem;
+ position: absolute;
+ top: 0.9rem;
+ right: 0.9rem;
+ text-align: center;
+ line-height: 3.2rem;
+ left: auto;
+ .icon-shanchu {
+ font-size: 1.6rem;
+ color: #fff;
+ }
+ }
}
}
@@ -459,7 +519,7 @@ ul,li{
//剪裁弹窗
.cut_pricture_modal{
.ant-modal-content{
- border-radius: 10px;
+ border-radius: 1rem;
}
.ant-modal-body{
height: 65rem;
diff --git a/src/component/Detail/DesignDetail.vue b/src/component/Detail/DesignDetail.vue
index f206b52e..eb41c359 100644
--- a/src/component/Detail/DesignDetail.vue
+++ b/src/component/Detail/DesignDetail.vue
@@ -19,10 +19,7 @@
-
@@ -45,6 +42,8 @@
+
+
@@ -82,7 +81,7 @@
@@ -103,7 +102,8 @@
-
![]()
+
+
@@ -127,6 +127,7 @@
import { defineComponent,computed,ref,provide } from 'vue'
import ElementReplace from '@/component/Detail/ElementReplace.vue'
import DesignDetailAlter from '@/component/Detail/DesignDetailAlter.vue'
+import magnifyingGlass from '@/component/Detail/magnifyingGlass.vue'
import AccessoryReplace from '@/component/Detail/AccessoryReplaceModal.vue'
import setDesignItem from '@/component/Detail/setDesignItem.vue'
import Draggable from 'vuedraggable'
@@ -142,6 +143,7 @@ export default defineComponent({
Draggable,
DesignDetailAlter,
setDesignItem,
+ magnifyingGlass,
},
setup() {
const store = useStore();
@@ -171,6 +173,7 @@ export default defineComponent({
let designOutfitId = ref()
let userInfo:any = {}
let ifSubmit = ref(false)
+ let designItemDetailUrl = ref({})
return{
designItemDetail,
store,
@@ -183,7 +186,8 @@ export default defineComponent({
designItemId,
designOutfitId,
userInfo,
- ifSubmit
+ ifSubmit,
+ designItemDetailUrl
}
},
data(){
@@ -198,18 +202,19 @@ export default defineComponent({
},
watch:{
designItemDetail:{
- handler: function(newVal,oldVal) {
+ handler: async function(newVal,oldVal) {
let designItemDetail = JSON.parse(JSON.stringify(this.store.state.DesignDetailModule.designItemDetail))
- console.log(designItemDetail);
-
this.ifSubmit = designItemDetail.ifSubmit?designItemDetail.ifSubmit:false
- this.current = JSON.parse(JSON.stringify(designItemDetail?.clothes?.[this.currentIndex]))
+ this.current = JSON?.parse(JSON?.stringify(designItemDetail?.clothes?.[this?.currentIndex]))
if(designItemDetail.others[0].layersObject.length != 0){
this.body = false
}else{
this.body = true
}
- this.setImgSize()
+ await this.setImgSize()
+ this.designItemDetailUrl = designItemDetail.currentFullBodyView?designItemDetail.currentFullBodyView:designItemDetail.designItemUrl
+ console.log(this.designItemDetailUrl);
+
}
},
currentIndex:{
@@ -266,9 +271,11 @@ export default defineComponent({
this.designOrder = false
let DesignDetailAlter:any = this.$refs.DesignDetailAlter
DesignDetailAlter.terminate()
-
+ this.designItemDetail = {}
+ this.frontBack = {}
}else{
- this.designShowPrview = 1
+ this.designShowPrview = 1;
+ this.designItemDetailUrl = {}
}
},
@@ -619,7 +626,7 @@ export default defineComponent({
.ant-modal-content{
- border-radius: 10px;
+ border-radius: 1rem;
// overflow: hidden;
.ant-modal-header{
background-color: #fff;
@@ -699,7 +706,7 @@ export default defineComponent({
.detail_modal_body{
position: relative;
// max-width: 245px;
- // width: 100%;
+ width: 100%;
height: 100%;
.detail_modal_body_nav{
display: flex;
@@ -745,7 +752,9 @@ export default defineComponent({
cursor: pointer;
position: absolute;
img{
- width: 100%;
+ // width: 100%;
+ max-height: 100%;
+ width: auto;
}
&.active{
top: 50%;
@@ -788,7 +797,7 @@ export default defineComponent({
}
&.fi-rr-edit{
left: 0;
- top: 20px;
+ top: 3rem;
}
&.fi-rr-copy{
top: 0;
@@ -804,11 +813,14 @@ export default defineComponent({
position: relative;
.detail_modal_right_top{
width: 100%;
- height: calc(100% - 3.9rem);
+ height: 100%;
background: #fff;
overflow-y: auto;
-
+ display: flex;
+ flex-direction: column;
.clothes_detail_item{
+ // margin-bottom: 5rem;
+ flex: 1;
.centent_div{
display: flex;
cursor: pointer;
diff --git a/src/component/Detail/DesignDetailAlter.vue b/src/component/Detail/DesignDetailAlter.vue
index c9825498..fbce40de 100644
--- a/src/component/Detail/DesignDetailAlter.vue
+++ b/src/component/Detail/DesignDetailAlter.vue
@@ -398,7 +398,6 @@ export default defineComponent({
function callback(entries, observer) {
entries.forEach((entry) => {
if (entry.isIntersecting) {
- console.log(11);
this_.getLibraryList()
} else {
}
@@ -494,12 +493,11 @@ export default defineComponent({
rgba:{
r:Number(arr.r),
g:Number(arr.g),
- b:Number(arr.g),
+ b:Number(arr.b),
a:Number(arr.a?arr.a:1),
},
hex:this.rgbaToHex([arr.r,arr.g,arr.b,arr.a?arr.a:1])
}
-
this.uploadList = []
if (num == 1) {
this.selectCode = 'Sketchboard'
@@ -589,21 +587,20 @@ export default defineComponent({
this.select = false
DesignDetailEnd.selectIndex = 0
DesignDetailEnd.type_ = 0
+ this.colorFileList = []
+ this.selectColorList = []
},
//切换整体衣服
changePlace(){
this.uploadList = []
let DesignDetailEnd = this.$refs.DesignDetailEnd
- this.select = false
- DesignDetailEnd.type_ = 0
this.uploadList = []
this.apparelList = []
this.printList = []
- this.select = false
DesignDetailEnd.colorList = [{},{},{},{},{},{},{},{}]
- DesignDetailEnd.selectIndex = 0
DesignDetailEnd.sketchImg={}
+ this.terminate()
},
// this.getLibraryList('Moodboard')
// this.getLibraryList('Printboard')
@@ -849,51 +846,60 @@ export default defineComponent({
this.colorFileList.push(file)
setTimeout(async ()=>{
- const colorThief = new ColorThief();
- let colorImage = this.$refs.colorImage
- let domImg = colorImage[0];
- let color = colorThief.getColor(domImg)
- let colorHex = this.rgbaToHex(color)
- let selectColorList = [];
- let selectColor = colorThief.getPalette(domImg,9)
- //排序
- let obj = {
- max : 30,
- min: 30,
- }
- let colorSort
- await GO.setColor(selectColor,file.imgUrl,obj).then(
- (rv) => {
- if(rv){
- colorSort = rv.ratio
- }
+ const img = new Image();
+ let colorImage = this.$refs.colorImage
+ img.src = colorImage[0].src;
+
+ img.onload = async () => {
+ const colorThief = new ColorThief();
+ // let domImg = colorImage[0];
+ // let color = colorThief.getColor(img)
+ // let colorHex = this.rgbaToHex(color)
+ let selectColorList = [];
+ let selectColor = colorThief.getPalette(img,8)
+ //排序
+ let obj = {
+ max : 5,
+ min: 5,
}
- )
- colorSort.sort((a, b) => {
- var a_num = a.ratio;
- var b_num = b.ratio;
- return b_num - a_num;
- });
- selectColor = []
- colorSort.forEach(v=>{
- selectColor.push(v.rgb)
- })
-
- selectColor = selectColor.join('&')
- selectColor = selectColor.split("&")
- let colorLi = []
- new Set(selectColor).forEach((item)=>{
- colorLi.push(item.split(","))
- })
- colorLi.forEach(element => {
- let colorLiHex = this.rgbaToHex(element)
- selectColorList.push(
- {rgba:{r:element[0],g:element[1],b:element[2],a:1},hex:colorLiHex}
+ let colorSort
+ await GO.setColor(selectColor,file.imgUrl,obj).then(
+ (rv) => {
+ if(rv){
+ colorSort = rv.ratio
+ }
+ }
)
- });
- this.selectColorList = selectColorList
- this.getHsvColor(selectColorList)
- this.selectColor = {rgba:{r:color[0],g:color[1],b:color[2],a:1},hex:colorHex}
+ colorSort.sort((a, b) => {
+ var a_num = a.ratio;
+ var b_num = b.ratio;
+ return b_num - a_num;
+ });
+ selectColor = []
+ colorSort.forEach(v=>{
+ selectColor.push(v.rgb)
+ })
+ selectColor = selectColor.join('&')
+ selectColor = selectColor.split("&")
+ let color = selectColor[0].split(',')
+ let colorHex = this.rgbaToHex(color)
+
+ let colorLi = []
+ new Set(selectColor).forEach((item)=>{
+ colorLi.push(item.split(","))
+ })
+ colorLi.forEach(element => {
+ let colorLiHex = this.rgbaToHex(element)
+ selectColorList.push(
+ {rgba:{r:element[0],g:element[1],b:element[2],a:1},hex:colorLiHex}
+ )
+ });
+ this.selectColorList = selectColorList
+ // this.getHsvColor(selectColorList)
+ this.selectColor = {rgba:{r:color[0],g:color[1],b:color[2],a:1},hex:colorHex}
+ };
+
+
},100)
};
// 转化为base64S
@@ -1081,18 +1087,20 @@ export default defineComponent({
max-height: 100%;
}
.operate_file_block{
- height: 2.5rem;
+ height: 1.5rem;
.select_img_type{
+ line-height: 1;
.select_category{
- zoom: .8;
+ zoom: .6;
+ height: 100%;
.icon-xiala{
zoom: .8;
}
}
.category_list{
- margin-top: -.4rem;
+ margin-top: .1rem;
.category_item{
- zoom: .8;
+ zoom: .7;
}
}
}
diff --git a/src/component/Detail/DesignDetailEnd.vue b/src/component/Detail/DesignDetailEnd.vue
index fe6605b3..5026c905 100644
--- a/src/component/Detail/DesignDetailEnd.vue
+++ b/src/component/Detail/DesignDetailEnd.vue
@@ -45,14 +45,14 @@
Single
-
+
@@ -332,6 +332,15 @@ export default defineComponent({
display: flex;
justify-content: space-between;
height: 14rem;
+ >div{
+ display: flex;
+ flex-direction: column;
+ .print_left,.print_right{
+ display: flex;
+ flex: 1;
+ align-items: center;
+ }
+ }
.print_left{
position: relative;
img{
@@ -362,6 +371,7 @@ export default defineComponent({
}
}
.print_right{
+
.habit_Overal_Single {
display: flex;
align-items: center;
@@ -424,6 +434,12 @@ export default defineComponent({
border: 0.1rem solid #DCDCEC;
height: 8.5rem;
width: 7rem;
+ overflow: hidden;
+ @media screen and (max-width: 1440px) {
+ &.modal_img_item {
+ line-height: 1.2;
+ }
+ }
box-sizing: border-box;
.color_content{
width: 100%;
diff --git a/src/component/Detail/DesignPrintOperation.vue b/src/component/Detail/DesignPrintOperation.vue
index 40d08bc2..140789e9 100644
--- a/src/component/Detail/DesignPrintOperation.vue
+++ b/src/component/Detail/DesignPrintOperation.vue
@@ -195,23 +195,27 @@ export default defineComponent({
var info = el.getBoundingClientRect();
let eX = info.x + info.width / 2;
let eY = info.y + info.height / 2;
- document.addEventListener('mousemove', (e) => {
- if (mouse) {
- let X = eX
- let Y = eY
- let x = e.clientX - X
- let y = Y - e.clientY
- angle = Math.atan2(x,y)*(180 / Math.PI)
- elParent.firstElementChild.style.transform = "rotateZ("+ angle + "deg)"
- el.style.transform = "rotateZ("+ angle + "deg)"
+ let mousemove = (e) => {
+ if (mouse) {
+ let X = eX
+ let Y = eY
+ let x = e.clientX - X
+ let y = Y - e.clientY
+ angle = Math.atan2(x,y)*(180 / Math.PI)
+ elParent.firstElementChild.style.transform = "rotateZ("+ angle + "deg)"
+ el.style.transform = "rotateZ("+ angle + "deg)"
+ }
}
- });
+ document.addEventListener('mousemove', mousemove);
// 添加鼠标松开事件监听器
- document.addEventListener('mouseup', () => {
- value.instance.printStyleList[0].transform.rotateZ = angle
+ let mouseup = () => {
+ value.instance.printStyleList[value?.value[0]].transform.rotateZ = angle
// console.log(value.instance.printStyleList);
mouse = false;
- });
+ document.removeEventListener('mouseup',mouseup)
+ document.removeEventListener('mousemove',mousemove)
+ }
+ document.addEventListener('mouseup', mouseup);
});
}
@@ -426,8 +430,8 @@ export default defineComponent({
this.printAmount = 1
return
}
- if(this.printAmount > 10){
- this.printAmount = 10
+ if(this.printAmount > 20){
+ this.printAmount = 20
return
}
let printTiemNum
@@ -472,8 +476,8 @@ export default defineComponent({
let scale = width / this.print.width.replace(/px/g,'')
// 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-20
- let y = sketch?.height-20
+ let x = sketch?.width-this.print.width.replace(/px/g,'')*scale
+ let y = sketch?.height-this.print.height.replace(/px/g,'')*scale
this.printStyleList[index]={
centers:{
left:0,
@@ -490,7 +494,8 @@ export default defineComponent({
},
transform:{
// scale:scale<.2?.2:scale,//0.2-3
- rotateZ:rotateZ1-rotateZ2,
+ // rotateZ:rotateZ1-rotateZ2,
+ rotateZ:this.printStyleList[index].transform.rotateZ!=0?this.printStyleList[index].transform.rotateZ:0
},
designOpenrtionBtn:false
}
@@ -503,14 +508,22 @@ export default defineComponent({
let scale
scale = (this.print.width.replace(/px/g,'')*sketchNum/this.print.width.replace(/px/g,''))
let zIndex = 1
+ let left = item.location[0]/sketchNum+'px'
+ let top = item.location[1]/sketchNum+'px'
+ if(sketch.offsetWidth < item.location[0]/sketchNum){
+ left = sketch.offsetWidth +'px'
+ }
+ if(sketch.offsetHeight < item.location[1]/sketchNum){
+ top = sketch.offsetHeight +'px'
+ }
this.printStyleList[index]={
centers:{
left:0,
top:0,
},
style:{
- left:item.location[0]/sketchNum+'px',
- top:item.location[1]/sketchNum+'px',
+ left:left,
+ top:top,
right:"auto",
bottom:"auto",
width:this.print.width.replace(/px/g,'')/sketchNum*item.scale+'px',
diff --git a/src/component/Detail/habit.vue b/src/component/Detail/habit.vue
index aa5584ee..dc0e58aa 100644
--- a/src/component/Detail/habit.vue
+++ b/src/component/Detail/habit.vue
@@ -173,8 +173,8 @@ export default defineComponent({
workSpaceName:"工作台1",
putName:false,
systemDesignerPercentage:30,
- position:'Outwear',
- sex:'Female',
+ position:'',
+ sex:'',
overallSingle:false,
mannequinUrl:'',
mannequinType:'',
@@ -261,7 +261,6 @@ export default defineComponent({
async mounted() {
this.getworkspace()
this.getSex()
- this.getPosition()
},
directives:{
fade:{
@@ -311,6 +310,7 @@ export default defineComponent({
arr.push(obj)
});
this.sex = arr
+ this.getPosition()
}
})
@@ -333,7 +333,9 @@ export default defineComponent({
arr.push(obj)
});
this.singleTypeList = arr
- this.workspaceItem.position = this.singleTypeList[0].label
+ if(this.workspaceItem.overallSingle){
+ this.workspaceItem.position = this.singleTypeList[0].label
+ }
}
})
},
@@ -371,6 +373,8 @@ export default defineComponent({
getDetail(id:any){//
Https.axiosGet(Https.httpUrls.workspaceDetail,{params:{id:id}}).then((rv: any) => {
if (rv) {
+ this.getworkspace()
+
}
})
},
@@ -391,14 +395,13 @@ export default defineComponent({
},
putWorkspace(data:any,index:any){//修改workspace
- console.log(index);
-
Https.axiosPost(Https.httpUrls.workspacesaveOrUpdate,data).then((rv: any) => {
if (rv) {
if(index){
this.getDetail(index)
+ }else{
+ this.getworkspace()
}
- this.getworkspace()
}
})
},
diff --git a/src/component/Detail/magnifyingGlass.vue b/src/component/Detail/magnifyingGlass.vue
new file mode 100644
index 00000000..af4ee5c4
--- /dev/null
+++ b/src/component/Detail/magnifyingGlass.vue
@@ -0,0 +1,119 @@
+
+
+
+
+
![]()
+
+
+
+
+
+
+
+
diff --git a/src/component/HomePage/ColorboardUpload.vue b/src/component/HomePage/ColorboardUpload.vue
index 996c34a0..be6e2e7a 100644
--- a/src/component/HomePage/ColorboardUpload.vue
+++ b/src/component/HomePage/ColorboardUpload.vue
@@ -299,52 +299,57 @@ export default defineComponent({
file.status = 'done'
this.fileList.push(file)
setTimeout(async ()=>{
+ const img = new Image();
+ let colorImage = this.$refs.colorImage
+ img.src = colorImage[0].src;
const colorThief = new ColorThief();
- let colorImage = this.$refs.colorImage
- let domImg = colorImage[0];
- // let color = colorThief.getColor(domImg)
- let selectColorList = [];
- let selectColor = colorThief.getPalette(domImg,9)
- //排序
- let obj = {
- max : 5,
- min: 5,
- }
- let colorSort
- await GO.setColor(selectColor,file.imgUrl,obj).then(
- (rv) => {
- if(rv){
- colorSort = rv.ratio
- }
+ img.onload = async () => {
+ let domImg = colorImage[0];
+ // let color = colorThief.getColor(domImg)
+ let selectColorList = [];
+ let selectColor = colorThief.getPalette(img,9)
+ //排序
+ let obj = {
+ max : 5,
+ min: 5,
}
- )
- colorSort.sort((a, b) => {
- var a_num = a.ratio;
- var b_num = b.ratio;
- return b_num - a_num;
- });
- selectColor = []
- colorSort.forEach(v=>{
- selectColor.push(v.rgb)
- })
- selectColor = selectColor.join('&')
- selectColor = selectColor.split("&")
- let color = selectColor[0].split(',')
- let colorHex = this.rgbaToHex(color)
- let colorLi = []
- new Set(selectColor).forEach((item)=>{
- colorLi.push(item.split(","))
- })
- colorLi.forEach(element => {
- let colorLiHex = this.rgbaToHex(element)
- selectColorList.push(
- {rgba:{r:element[0],g:element[1],b:element[2],a:1},hex:colorLiHex}
+ let colorSort
+ await GO.setColor(selectColor,file.imgUrl,obj).then(
+ (rv) => {
+ if(rv){
+ colorSort = rv.ratio
+ }
+ }
)
- });
- this.selectColorList = selectColorList
- this.getHsvColor(selectColorList)
-
- this.selectColor = {rgba:{r:color[0],g:color[1],b:color[2],a:1},hex:colorHex}
+ colorSort.sort((a, b) => {
+ var a_num = a.ratio;
+ var b_num = b.ratio;
+ return b_num - a_num;
+ });
+ selectColor = []
+ colorSort.forEach(v=>{
+ selectColor.push(v.rgb)
+ })
+ selectColor = selectColor.join('&')
+ selectColor = selectColor.split("&")
+ let color = selectColor[0].split(',')
+ let colorHex = this.rgbaToHex(color)
+ let colorLi = []
+ new Set(selectColor).forEach((item)=>{
+ colorLi.push(item.split(","))
+ })
+ colorLi.forEach(element => {
+ let colorLiHex = this.rgbaToHex(element)
+ selectColorList.push(
+ {rgba:{r:element[0],g:element[1],b:element[2],a:1},hex:colorLiHex}
+ )
+ });
+ this.selectColorList = selectColorList
+ this.getHsvColor(selectColorList)
+
+ this.selectColor = {rgba:{r:color[0],g:color[1],b:color[2],a:1},hex:colorHex}
+ };
+
},100)
};
// 转化为base64S
@@ -667,7 +672,7 @@ export default defineComponent({
width: auto;
background: #f0eaee;
- border-radius: 10px;
+ border-radius: 1rem;
overflow: hidden;
// box-shadow: 2px 2px 8px #000;
box-shadow: 2px 2px 8px rgba(0,0,0,.3);
diff --git a/src/component/HomePage/Cropper.vue b/src/component/HomePage/Cropper.vue
index 211c5657..6e3423f3 100644
--- a/src/component/HomePage/Cropper.vue
+++ b/src/component/HomePage/Cropper.vue
@@ -55,13 +55,13 @@
-
+
@@ -280,7 +280,8 @@ export default defineComponent({
}
.cut_picture_right{
- width: 39.2rem;
+ // width: 39.2rem;
+ width: 52rem;
height: 100%;
background: #fff;
border-radius: 2rem;
@@ -309,7 +310,8 @@ export default defineComponent({
.cut_picture_review_item{
width: 100%;
- height: 50%;
+ // height: 50%;
+ height: 100%;
position: relative;
.cut_picture_review_content{
@@ -317,7 +319,7 @@ export default defineComponent({
position: absolute;
left: 50%;
top: 50%;
- transform: scale(0.45) translate(-50%, -50%);
+ transform: scale(0.8) translate(-50%, -50%);
background: rgba(91,94,105,0.8);
box-shadow: 0 0.2rem 0.5rem 0 rgba(216,213,239,0.3);
border-radius: 1rem;
diff --git a/src/component/HomePage/Generate.vue b/src/component/HomePage/Generate.vue
index 8d4f8d2f..cb0ab19e 100644
--- a/src/component/HomePage/Generate.vue
+++ b/src/component/HomePage/Generate.vue
@@ -39,14 +39,18 @@
-