This commit is contained in:
WangXiaoDong
2023-09-25 10:09:00 +08:00
parent 173f35042d
commit d9868d5cf0
37 changed files with 1618 additions and 1146 deletions

View File

@@ -51,9 +51,8 @@
</div>
</div>
<div class="upload_file_item upload_component" v-show="fileList.length < 15">
<div class="upload_file_item upload_component" v-show="printboardList.length < 8">
<a-upload
v-show="fileList.length < 15"
:action="uploadUrl + '/api/element/upload'"
list-type="picture-card"
:before-upload="beforeUpload"
@@ -64,12 +63,13 @@
v-model:file-list="fileList"
:customRequest="function(){}"
multiple
:maxCount="15"
:maxCount="8 - printboardList.length+fileList.length"
accept=".jpg,.png,.jpeg,.bmp"
@change="fileUploadChange"
>
<div
class="upload_tip_block"
v-show="printboardList.length < 8"
>
<i class="fi fi-br-upload"></i>
<!-- <img class="upload_img_icon" src="@/assets/images/homePage/add_file.png"> -->
@@ -108,10 +108,9 @@
<img :src="item.imgUrl" @click.stop="generageAdd(item)">
<div
class="delete_like_file_block"
@click.stop="likeFile(item)"
>
<i v-if="item" class="fi fi-rr-heart"></i>
<i v-else class="fi fi-sr-heart"></i>
<i v-if="!item.like" class="fi fi-rr-heart" @click.stop="likeFile(item,'like')"></i>
<i v-else class="fi fi-sr-heart" @click.stop="likeFile(item,'noLike')"></i>
</div>
<div class="pin_block">
<a-checkbox v-model:checked="item.pin">PIN</a-checkbox>
@@ -120,6 +119,9 @@
</div>
</div>
</div>
<div class="mark_loading" v-show="loadingShow">
<a-spin size="large" />
</div>
<Cropper ref="Cropper" @handleCropperSuccess="handleCropperSuccess" @closeCropper="deletUploadFile()" :cropperFileData="cropperFileData" :isUpload="isUpload"></Cropper>
</div>
</template>
@@ -150,23 +152,9 @@ export default defineComponent({
let openClick: any = ref(1);
let generateCheckbox:any = ref()
let generateList:any = ref([
{
imgUrl: "https://illlustrations.co/static/32913fde3ee589609d98f16c51fcffa6/ee604/day8-printer.png",
id_: 1,
},
{
imgUrl: "https://illlustrations.co/static/3edf742257c1d1460eb2e2f998a1df96/ee604/day4-polariod.png",
id_: 2,
},
{
imgUrl: "https://illlustrations.co/static/475732e63175f7dc3bf93c84af8b3d11/ee604/day6-open-vault.png",
id_: 3,
},
{
imgUrl: "https://illlustrations.co/static/ca430674ef56f1a3a91f705670fd8512/ee604/day17-walkie-talkie.png",
id_: 4,
},
])
let loadingShow = ref(false)
return {
fileList,
printImgList,
@@ -174,6 +162,7 @@ export default defineComponent({
openClick,
generateCheckbox,
generateList,
loadingShow,
}
},
computed:{
@@ -264,11 +253,11 @@ export default defineComponent({
beforeUpload(file:any,fileList:any){
const isJpgOrPng = file.type === 'image/jpeg' || file.type === 'image/png' || file.type === 'image/jpg' || file.type === 'image/bmp';
if (!isJpgOrPng) {
message.error('You can only upload Image file!');
message.warning('You can only upload Image file!');
}
const isLt2M = file.size / 1024 / 1024 < 2;
if (!isLt2M) {
message.error('Image must smaller than 5MB!');
message.warning('Image must smaller than 2MB!');
}
if(isJpgOrPng && isLt2M){
this.currentFileNum = fileList.length
@@ -296,7 +285,32 @@ export default defineComponent({
this.store.commit("setPrintboardFile", this.fileList);
}
},
likeFile(item:any){
likeFile(item:any,str:string){
if(str == 'like'){
let data = {
generateDetailId:item.id,
level1Type:"Printboard",
level2Type: '',
timeZone: Intl.DateTimeFormat().resolvedOptions().timeZone
}
Https.axiosPost(Https.httpUrls.generateLike, data).then(
(rv) => {
item.like = true
}
).catch(res=>{
});
}else{
let data = {
generateDetailId:item.id,
timeZone: Intl.DateTimeFormat().resolvedOptions().timeZone
}
Https.axiosGet(Https.httpUrls.generateDislike, {params:data}).then(
(rv) => {
item.like = false
}
).catch(res=>{
});
}
},
randomRange(min:any, max:any, num:any) { // min最小值max最大值 num排除的值
@@ -547,7 +561,7 @@ export default defineComponent({
status:'done',
}
if(this.fileList.length == 15){
message.error('Maximum number of allowable file uploads has been exceeded')
message.warning('Maximum number of allowable file uploads has been exceeded')
break
}
this.fileList.push(data)
@@ -559,7 +573,6 @@ export default defineComponent({
this.generateCheckbox = value
},
getgenerate(){
let generage:any = this.$refs.Generate
let generateType = generage.checkbox.filter((v:any)=>v.type)[0].name
let data = {
@@ -567,15 +580,15 @@ export default defineComponent({
designType:'',
collectionElementId:generage.collectionElementid,
level1Type:generage.upload.level1Type,
level2Type:generage.level2Type,
level2Type:'',
text:this.captionGeneration,
timeZone:Intl.DateTimeFormat().resolvedOptions().timeZone,
version:1,//为1就是Print
version:2,//为1就是Print
}
if(generateType == 'image'||generateType == 'text-image'){
if(generage.collectionElementid){
}else{
message.error(
message.warning(
"Please select a picture"
);
return
@@ -584,23 +597,32 @@ export default defineComponent({
data.collectionElementId = ''
data.level2Type = ''
// this.beforeUpload(false)
// if(this.captionGeneration){
// }else{
// message.error(
// "Please enter content"
// );
// return
// }
if(this.captionGeneration){
}else{
message.warning(
"Please enter content"
);
return
}
}
this.loadingShow = true
Https.axiosPost(Https.httpUrls.sketchAndPrintGenerate, data).then(
(rv) => {
// if(rv){
// }
console.log(rv);
if(rv){
this.generateList = []
let arr
rv.generatedCollectionItems.forEach((v:any,index:number)=>{
arr = {
id:rv.generatedCollectionItems[index].generateItemId,
imgUrl:rv.generatedCollectionItems[index].generateItemUrl
}
this.generateList.push(arr)
this.loadingShow = false
})
}
}
).catch(res=>{
this.loadingShow = false
});
},
generageAdd(item:any){
@@ -658,10 +680,10 @@ export default defineComponent({
content: "";
display: block;
background: #000;
height: 3px;
height: .3rem;
left: 50%;
transform: translateX(-50%);
bottom: 6px;
bottom: .6rem;
width: 0px;
transition: 0.3s all;
}
@@ -728,7 +750,7 @@ export default defineComponent({
width: 6rem;
height: 6rem;
border: 0.3rem solid #ededed;
border-radius: 10px;
border-radius: 1rem;
margin: 0;
}
}