添加管理员权限
This commit is contained in:
@@ -217,6 +217,11 @@ li {
|
||||
box-sizing: border-box;
|
||||
white-space: nowrap;
|
||||
}
|
||||
.gallery_btn.btnSamil {
|
||||
padding: 0rem 2rem;
|
||||
line-height: 4rem;
|
||||
font-size: 1.6rem;
|
||||
}
|
||||
.gallery_btn.gallery_btn_radius {
|
||||
border-radius: 1.4rem;
|
||||
}
|
||||
@@ -232,6 +237,14 @@ li {
|
||||
color: #fff;
|
||||
background-color: #000;
|
||||
}
|
||||
.gallery_btn.white.active {
|
||||
color: #fff;
|
||||
background-color: #000;
|
||||
}
|
||||
.gallery_btn.active {
|
||||
background-color: #fff;
|
||||
color: #000;
|
||||
}
|
||||
.started_btn {
|
||||
padding: 0 calc(1.8rem*1.2);
|
||||
display: inline-block;
|
||||
@@ -685,6 +698,7 @@ tr > .ant-picker-cell-in-view.ant-picker-cell-range-hover-start:last-child::afte
|
||||
display: flex;
|
||||
align-items: center;
|
||||
margin-right: 5rem;
|
||||
height: 6rem;
|
||||
}
|
||||
.generalModel_state .generalModel_state_item.smail > input {
|
||||
padding: 1rem 2rem !important;
|
||||
@@ -703,11 +717,10 @@ tr > .ant-picker-cell-in-view.ant-picker-cell-range-hover-start:last-child::afte
|
||||
padding: 2rem !important;
|
||||
box-sizing: content-box;
|
||||
background-color: #f3f3f3;
|
||||
background-color: #fff;
|
||||
width: calc(100% - 4rem);
|
||||
font-size: 1.8rem;
|
||||
transition: all 0.3s;
|
||||
}
|
||||
.generalModel_state .generalModel_state_item > input:hover {
|
||||
border: 1px solid;
|
||||
}
|
||||
.generalModel_state .generalModel_state_item > span {
|
||||
@@ -728,6 +741,7 @@ tr > .ant-picker-cell-in-view.ant-picker-cell-range-hover-start:last-child::afte
|
||||
padding: 2rem !important;
|
||||
box-sizing: content-box;
|
||||
background-color: #f3f3f3;
|
||||
background-color: #fff;
|
||||
width: calc(100% - 4rem);
|
||||
border: 1px solid #000;
|
||||
}
|
||||
@@ -752,6 +766,7 @@ tr > .ant-picker-cell-in-view.ant-picker-cell-range-hover-start:last-child::afte
|
||||
padding: 2rem;
|
||||
transition: all 0.3s;
|
||||
box-sizing: content-box;
|
||||
border: 1px solid;
|
||||
}
|
||||
.generalModel_state .generalModel_state_item .el-cascader .el-cascader__tags,
|
||||
.generalModel_state .generalModel_state_item .el-cascader .el-input {
|
||||
@@ -765,9 +780,6 @@ tr > .ant-picker-cell-in-view.ant-picker-cell-range-hover-start:last-child::afte
|
||||
.generalModel_state .generalModel_state_item .el-cascader .el-input .el-input__wrapper .el-input__inner {
|
||||
font-size: 1.8rem;
|
||||
}
|
||||
.generalModel_state .generalModel_state_item .el-cascader:hover {
|
||||
border: 1px solid;
|
||||
}
|
||||
.generalModel_state .generalModel_state_item .el-cascader__tags {
|
||||
padding-left: 1rem;
|
||||
}
|
||||
@@ -921,6 +933,14 @@ tr > .ant-picker-cell-in-view.ant-picker-cell-range-hover-start:last-child::afte
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
border-radius: 50%;
|
||||
border: 1px solid;
|
||||
z-index: 2;
|
||||
}
|
||||
@media (max-width: 768px) {
|
||||
.generalModel .generalModel_btn .generalModel_closeIcon {
|
||||
transform: translate(-100%, 100%);
|
||||
}
|
||||
}
|
||||
.generalModel .generalModel_btn .generalModel_closeIcon.download {
|
||||
transform: translate(-100%, 100%);
|
||||
@@ -1729,16 +1749,15 @@ textarea:focus {
|
||||
.productImg_modal .input_border .search_keyword .search_keyword_center,
|
||||
.accountEdit_page .input_border .search_keyword .search_keyword_center,
|
||||
.generalMenu_printModel_upload .input_border .search_keyword .search_keyword_center {
|
||||
margin-top: 1rem;
|
||||
justify-content: space-between;
|
||||
display: flex;
|
||||
width: var(--width);
|
||||
background-color: #fff;
|
||||
padding: 1rem 2rem;
|
||||
border-radius: 0 0 0.4rem 0.4rem;
|
||||
border-top: solid 0 #f1f1f1;
|
||||
border-right: solid 1px #f1f1f1;
|
||||
border-left: solid 1px #f1f1f1;
|
||||
border-bottom: solid 1px #f1f1f1;
|
||||
border: 1px solid;
|
||||
border-radius: 1rem;
|
||||
max-height: 30rem;
|
||||
overflow-y: scroll;
|
||||
}
|
||||
|
||||
@@ -221,6 +221,11 @@ input:focus{
|
||||
cursor: pointer;
|
||||
box-sizing: border-box;
|
||||
white-space: nowrap;
|
||||
&.btnSamil{
|
||||
padding: 0rem 2rem;
|
||||
line-height: 4rem;
|
||||
font-size: 1.6rem;
|
||||
}
|
||||
&.gallery_btn_radius{
|
||||
border-radius: 1.4rem;
|
||||
}
|
||||
@@ -235,7 +240,16 @@ input:focus{
|
||||
color: #fff;
|
||||
background-color: #000;
|
||||
}
|
||||
&.active{
|
||||
color: #fff;
|
||||
background-color: #000;
|
||||
}
|
||||
}
|
||||
&.active{
|
||||
background-color: #fff;
|
||||
color: #000;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
//started公共按钮样式
|
||||
@@ -751,6 +765,7 @@ tr > .ant-picker-cell-in-view.ant-picker-cell-range-hover-start:last-child::afte
|
||||
display: flex;
|
||||
align-items: center;
|
||||
margin-right: 5rem;
|
||||
height: 6rem;
|
||||
&.smail{
|
||||
>input{
|
||||
padding: 1rem 2rem !important;
|
||||
@@ -769,12 +784,13 @@ tr > .ant-picker-cell-in-view.ant-picker-cell-range-hover-start:last-child::afte
|
||||
padding: 2rem !important;
|
||||
box-sizing: content-box;
|
||||
background-color: #f3f3f3;
|
||||
background-color: #fff;
|
||||
width: calc(100% - 4rem);
|
||||
font-size: 1.8rem;
|
||||
transition: all .3s;
|
||||
border: 1px solid;
|
||||
}
|
||||
>input:hover{
|
||||
border: 1px solid;
|
||||
}
|
||||
>span{
|
||||
font-size: 2rem;
|
||||
@@ -792,6 +808,7 @@ tr > .ant-picker-cell-in-view.ant-picker-cell-range-hover-start:last-child::afte
|
||||
padding: 2rem !important;
|
||||
box-sizing: content-box;
|
||||
background-color: #f3f3f3;
|
||||
background-color: #fff;
|
||||
width: calc(100% - 4rem);
|
||||
border: 1px solid #000;
|
||||
}
|
||||
@@ -819,6 +836,7 @@ tr > .ant-picker-cell-in-view.ant-picker-cell-range-hover-start:last-child::afte
|
||||
padding: 2rem;
|
||||
transition: all .3s;
|
||||
box-sizing: content-box;
|
||||
border: 1px solid;
|
||||
.el-cascader__tags,.el-input{
|
||||
height: 100%;
|
||||
}
|
||||
@@ -834,7 +852,6 @@ tr > .ant-picker-cell-in-view.ant-picker-cell-range-hover-start:last-child::afte
|
||||
}
|
||||
}
|
||||
.el-cascader:hover{
|
||||
border: 1px solid;
|
||||
}
|
||||
.el-cascader__tags{
|
||||
padding-left: 1rem;
|
||||
@@ -991,6 +1008,12 @@ tr > .ant-picker-cell-in-view.ant-picker-cell-range-hover-start:last-child::afte
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
border-radius: 50%;
|
||||
border: 1px solid;
|
||||
z-index: 2;
|
||||
@media (max-width: 768px) {
|
||||
transform: translate(-100%, 100%);
|
||||
}
|
||||
&.download{
|
||||
transform: translate(-100%, 100%);
|
||||
}
|
||||
@@ -1827,16 +1850,19 @@ textarea:focus{
|
||||
height: 0;
|
||||
flex-basis: 100%;
|
||||
.search_keyword_center{
|
||||
margin-top: 1rem;
|
||||
justify-content: space-between;
|
||||
display: flex;
|
||||
width: var(--width);
|
||||
background-color: #fff;
|
||||
padding: 1rem 2rem;
|
||||
border-radius: 0 0 .4rem .4rem;
|
||||
border-top: solid 0 #f1f1f1;
|
||||
border-right: solid 1px#f1f1f1;
|
||||
border-left: solid 1px#f1f1f1;
|
||||
border-bottom: solid 1px#f1f1f1;
|
||||
// border-top: solid 0 #f1f1f1;
|
||||
// border-right: solid 1px#f1f1f1;
|
||||
// border-left: solid 1px#f1f1f1;
|
||||
// border-bottom: solid 1px#f1f1f1;
|
||||
border: 1px solid;
|
||||
border-radius: 1rem;
|
||||
max-height: 30rem;
|
||||
overflow-y: scroll;
|
||||
.search_keyword_center_left{
|
||||
|
||||
@@ -7,12 +7,54 @@
|
||||
<div class="content_item_user">
|
||||
<div class="content_item_user_left">
|
||||
<div class="content_item_user_left_detail">
|
||||
<img :src="userDetail.avatar" alt="">
|
||||
<img :src="uploadUrl?uploadUrl:userDetail.avatar" alt="">
|
||||
<div class="upload_box">
|
||||
<i class="fi fi-rr-camera"></i>
|
||||
<a-upload
|
||||
class="upload"
|
||||
:capture="null"
|
||||
list-type="picture-card"
|
||||
:before-upload="beforeUpload"
|
||||
v-model:file-list="fileList"
|
||||
:customRequest="function(){}"
|
||||
:maxCount="1"
|
||||
accept=".jpg,.png,.jpeg,.bmp"
|
||||
@change="fileUploadChange"
|
||||
>
|
||||
<div
|
||||
class="upload_tip_block"
|
||||
>
|
||||
<!-- <i class="fi fi-br-upload"></i> -->
|
||||
<!-- <img :src="uploadUrl?uploadUrl:userDetail.avatar" alt=""> -->
|
||||
</div>
|
||||
</a-upload>
|
||||
</div>
|
||||
</div>
|
||||
<div class="content_item_user_left_detail">
|
||||
<div class="modal_title_text">
|
||||
<div>{{ userDetail.userName }}</div>
|
||||
<div class="modal_title_text_assistant"><span>{{$t('account.email')}}: </span>{{ userDetail.email }}</div>
|
||||
<div class="label">
|
||||
<div class="content">
|
||||
<div v-if="!isEditUserName">{{ userDetail.userName }}</div>
|
||||
<input v-else type="text" v-model="editUserName">
|
||||
</div>
|
||||
<div class="icon">
|
||||
<i v-if="!isEditUserName" class="fi fi-rr-edit" @click="openEdit('userName')"></i>
|
||||
<i v-else class="fi fi-br-check" @click="editChek('userName')"></i>
|
||||
</div>
|
||||
<span class="Modifiable" v-if="userDetail.usernameModify.remainingTimes > 0 && isEditUserName">{{ $t('account.remainingModifications') }}{{ userDetail.usernameModify.remainingTimes }}</span>
|
||||
<span class="Modifiable notModifiable" v-else-if="isEditUserName">{{ $t('account.notModifiable') }}</span>
|
||||
</div>
|
||||
<div class="label">
|
||||
<span>{{$t('account.email')}}: </span>
|
||||
<div class="content">
|
||||
<div v-if="!isEditEmail">{{ userDetail.email }}</div>
|
||||
<input v-else type="text" :value="editEmail">
|
||||
</div>
|
||||
<div class="icon">
|
||||
<i v-if="!isEditEmail" class="fi fi-rr-edit" @click="openEdit('email')"></i>
|
||||
<i v-else class="fi fi-br-check" @click="editChek('email')"></i>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="content_item_user_left_detail_bottom">
|
||||
<div>
|
||||
@@ -46,6 +88,8 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<bindEmail ref="bindEmail"></bindEmail>
|
||||
<Cropper ref="Cropper" @handleCropperSuccess="handleCropperSuccess" @closeCropper="deletUploadFile()" :cropperFileData="cropperFileData" :isRound="true"></Cropper>
|
||||
</div>
|
||||
</template>
|
||||
<script lang="ts">
|
||||
@@ -55,8 +99,11 @@ import { Modal,message } from 'ant-design-vue';
|
||||
import { useRouter,useRoute } from 'vue-router'
|
||||
import { useStore } from "vuex";
|
||||
import { useI18n } from 'vue-i18n'
|
||||
import bindEmail from "@/component/HomePage/bindEmail.vue";
|
||||
import Cropper from '@/component/HomePage/Cropper.vue'
|
||||
export default defineComponent({
|
||||
components:{
|
||||
bindEmail,Cropper
|
||||
},
|
||||
setup() {
|
||||
|
||||
@@ -66,6 +113,17 @@ export default defineComponent({
|
||||
return store.state.UserHabit.userDetail
|
||||
})
|
||||
let accountHomeData = reactive({
|
||||
isEditUserName:false,
|
||||
editUserName:'',
|
||||
isEditEmail:false,
|
||||
editEmail:'',
|
||||
bindEmail:null as any,
|
||||
Cropper:null as any,
|
||||
cropperFileData:{name:'',uid:''}, //裁剪的原始文件数据
|
||||
uploadUrl:'',
|
||||
uploadFile:undefined,
|
||||
token:'',
|
||||
fileList:[] as any,
|
||||
rootSubmenuKeys:[
|
||||
{
|
||||
name:t('account.frontPage'),
|
||||
@@ -88,12 +146,112 @@ export default defineComponent({
|
||||
// state.selectedKeys = [Number(event.key)]
|
||||
// state.nowPageName = event.item.name
|
||||
router.push({path:event.item.route})
|
||||
}
|
||||
const editUserName = async ()=>{
|
||||
if(!accountHomeData.editUserName)return message.warning(t('LibraryPage.jsContent7'))
|
||||
if(accountHomeData.editUserName == userDetail.value.userName)return
|
||||
await new Promise<void>((resolve, reject) => {
|
||||
Https.axiosGet(Https.httpUrls.editUserName,{params:{newUserName:accountHomeData.editUserName}}).
|
||||
then((rv:any)=>{
|
||||
let value = {
|
||||
userName:accountHomeData.editUserName
|
||||
}
|
||||
store.commit('upUserDetail',value)
|
||||
resolve()
|
||||
}).catch((err:any)=>{
|
||||
resolve()
|
||||
})
|
||||
})
|
||||
|
||||
}
|
||||
const editEmail = ()=>{
|
||||
if(!accountHomeData.editEmail)return message.warning(t('LibraryPage.jsContent7'))
|
||||
}
|
||||
const editChek = async (str:string)=>{
|
||||
if(str == 'userName'){
|
||||
await editUserName()
|
||||
}else{
|
||||
// await editEmail()
|
||||
}
|
||||
accountHomeData.isEditUserName = false
|
||||
accountHomeData.isEditEmail = false
|
||||
accountHomeData.editUserName = ''
|
||||
accountHomeData.editEmail = ''
|
||||
}
|
||||
const openEdit = (str:string)=>{
|
||||
if(str == 'userName'){
|
||||
// if(userDetail.value.usernameModify.remainingTimes == 0)return
|
||||
accountHomeData.isEditUserName = true
|
||||
accountHomeData.isEditEmail = false
|
||||
accountHomeData.editUserName = userDetail.value.userName
|
||||
}else{
|
||||
accountHomeData.bindEmail.init('Modify')
|
||||
// accountHomeData.isEditEmail = true
|
||||
accountHomeData.isEditUserName = false
|
||||
// accountHomeData.editEmail = userDetail.value.email
|
||||
}
|
||||
}
|
||||
|
||||
let 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.info(useI18n().t('PrintboardUpload.jsContent1'));
|
||||
}
|
||||
const isLt2M = file.size / 1024 / 1024 < 5;
|
||||
if (!isLt2M) {
|
||||
message.info(useI18n().t('PrintboardUpload.jsContent2'));
|
||||
}
|
||||
}
|
||||
let fileUploadChange = (data:any)=>{
|
||||
let file = data.file
|
||||
// file.id = res.data.id?res.data.id:""
|
||||
var reader = new FileReader();
|
||||
reader.onload = (e:any) => {
|
||||
let data_new;
|
||||
if (typeof e.target.result === 'object') {
|
||||
// 把Array Buffer转化为blob 如果是base64不需要
|
||||
data_new = window.URL.createObjectURL(new Blob([e.target.result]));
|
||||
} else {
|
||||
data_new = e.target.result;
|
||||
}
|
||||
accountHomeData.Cropper.getOptionImg(data_new)
|
||||
};
|
||||
reader.readAsArrayBuffer(file.originFileObj);
|
||||
accountHomeData.Cropper.changeShowModal(true)
|
||||
}
|
||||
let handleCropperSuccess = (event:any)=>{
|
||||
let {file, fileData,base64} =event
|
||||
accountHomeData.fileList[0].status = 'done'
|
||||
accountHomeData.uploadUrl = base64
|
||||
accountHomeData.uploadFile = file
|
||||
accountHomeData.Cropper.closeCropper()
|
||||
if(!accountHomeData.uploadFile)return
|
||||
let param = new FormData();
|
||||
param.append('file',accountHomeData.uploadFile);
|
||||
let config:any = {headers:{'Content-Type':'multipart/form-data','Accept':'*/*' }}
|
||||
Https.axiosPost(Https.httpUrls.uploadAvatar,param,config)
|
||||
.then((rv)=>{
|
||||
let data = {
|
||||
avatar : rv
|
||||
}
|
||||
store.commit("upUserDetail", data)
|
||||
message.success('提交成功')
|
||||
})
|
||||
}
|
||||
let deletUploadFile = () => {
|
||||
accountHomeData.fileList = []
|
||||
}
|
||||
return{
|
||||
userDetail,
|
||||
...toRefs(accountHomeData),
|
||||
router,
|
||||
handleClick,
|
||||
editChek,
|
||||
openEdit,
|
||||
beforeUpload,
|
||||
fileUploadChange,
|
||||
handleCropperSuccess,
|
||||
deletUploadFile,
|
||||
}
|
||||
},
|
||||
data(){
|
||||
@@ -131,8 +289,78 @@ export default defineComponent({
|
||||
.content_item_user_left{
|
||||
display: flex;
|
||||
.content_item_user_left_detail{
|
||||
position: relative;
|
||||
> .upload_box{
|
||||
position: absolute;
|
||||
bottom: 0;
|
||||
right: 0;
|
||||
> i{
|
||||
width: 4rem;
|
||||
height: 4rem;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
border-radius: 50%;
|
||||
background: rgba(0,0,0,.5);
|
||||
color: #fff;
|
||||
font-size: 2rem;
|
||||
}
|
||||
> .upload{
|
||||
position: absolute;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
top: 0;
|
||||
left: 0;
|
||||
overflow: hidden;
|
||||
opacity: 0;
|
||||
}
|
||||
}
|
||||
> .modal_title_text{
|
||||
margin: 0;
|
||||
> .label{
|
||||
display: flex;
|
||||
margin: 0;
|
||||
> .content{
|
||||
> input{
|
||||
min-width: 20rem;
|
||||
height: 3.6rem;
|
||||
border-radius: 4rem;
|
||||
border: 1px solid;
|
||||
padding-left: 1.5rem;
|
||||
}
|
||||
}
|
||||
> .Modifiable{
|
||||
font-size: 1.6rem;
|
||||
font-weight: 500;
|
||||
color: #666666;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
&.notModifiable{
|
||||
color: #FF0000;
|
||||
}
|
||||
}
|
||||
> .icon{
|
||||
margin: 0 1.5rem;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
> i{
|
||||
font-weight: 600;
|
||||
font-size: 2.2rem;
|
||||
cursor: pointer;
|
||||
&.fi-br-check{
|
||||
width: 3rem;
|
||||
height: 3rem;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
background: #000;
|
||||
color: #fff;
|
||||
border-radius: 50%;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
> div{
|
||||
margin-bottom: 1rem;
|
||||
}
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="bind_item">
|
||||
<!-- <div class="bind_item">
|
||||
<div class="title">{{ $t('frontPage.ModifyEmail') }}</div>
|
||||
<div class="box">
|
||||
<div class="type">
|
||||
@@ -40,7 +40,7 @@
|
||||
<div class="gallery_btn" @click="modifyEmail">{{ $t('frontPage.Modify') }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div> -->
|
||||
</div>
|
||||
<div class="mark_loading" v-show="loadingShow">
|
||||
<a-spin size="large" />
|
||||
@@ -135,49 +135,52 @@ export default defineComponent({
|
||||
onMounted(async ()=>{
|
||||
let GOOGLE_CLIENT_ID = '194770296147-njd68pm7tnapgonkj2h48mhf63n15n3f.apps.googleusercontent.com'
|
||||
var existingScript = document.querySelector(`script[src="${data.scriptSrc}"]`);
|
||||
if(!existingScript){
|
||||
await new Promise((resolve, reject) => {
|
||||
const script = document.createElement("script");
|
||||
script.src = data.scriptSrc
|
||||
script.onload=()=>{
|
||||
accountHomeData.googleLoad = true
|
||||
resolve()
|
||||
}
|
||||
script.onerror = ()=>{
|
||||
Modal.confirm({
|
||||
title: t('frontPage.jsContent2'),
|
||||
icon: createVNode(ExclamationCircleOutlined),
|
||||
okText: 'Yes',
|
||||
cancelText: 'No',
|
||||
mask:false,
|
||||
centered:true,
|
||||
onOk() {
|
||||
}
|
||||
});
|
||||
accountHomeData.googleLoad = true
|
||||
}
|
||||
document.body.appendChild(script);
|
||||
})
|
||||
}
|
||||
window.google.accounts.id.initialize({
|
||||
// 主要就是填写client_id
|
||||
client_id: GOOGLE_CLIENT_ID,
|
||||
auto_select: false,
|
||||
callback: handleCredentialResponse,
|
||||
// context:"signin",
|
||||
ux_mode:"popup",
|
||||
itp_support:true,
|
||||
});
|
||||
window.google.accounts.id.renderButton(
|
||||
document.getElementById("g_id_bind"),
|
||||
{
|
||||
type:"icon",//icon为只有一个icon
|
||||
shape:"circle",
|
||||
theme:"outline",
|
||||
size:"large",
|
||||
logo_alignment:"center",
|
||||
if(!window.isAddGmail){
|
||||
if(!existingScript){
|
||||
window.isAddGmail = true
|
||||
await new Promise((resolve, reject) => {
|
||||
const script = document.createElement("script");
|
||||
script.src = data.scriptSrc
|
||||
script.onload=()=>{
|
||||
accountHomeData.googleLoad = true
|
||||
resolve()
|
||||
}
|
||||
script.onerror = ()=>{
|
||||
Modal.confirm({
|
||||
title: t('frontPage.jsContent2'),
|
||||
icon: createVNode(ExclamationCircleOutlined),
|
||||
okText: 'Yes',
|
||||
cancelText: 'No',
|
||||
mask:false,
|
||||
centered:true,
|
||||
onOk() {
|
||||
}
|
||||
});
|
||||
accountHomeData.googleLoad = true
|
||||
}
|
||||
document.body.appendChild(script);
|
||||
})
|
||||
}
|
||||
);
|
||||
window.google.accounts.id.initialize({
|
||||
// 主要就是填写client_id
|
||||
client_id: GOOGLE_CLIENT_ID,
|
||||
auto_select: false,
|
||||
callback: handleCredentialResponse,
|
||||
// context:"signin",
|
||||
ux_mode:"popup",
|
||||
itp_support:true,
|
||||
});
|
||||
window.google.accounts.id.renderButton(
|
||||
document.getElementById("g_id_bind"),
|
||||
{
|
||||
type:"icon",//icon为只有一个icon
|
||||
shape:"circle",
|
||||
theme:"outline",
|
||||
size:"large",
|
||||
logo_alignment:"center",
|
||||
}
|
||||
);
|
||||
}
|
||||
})
|
||||
onBeforeUnmount(()=>{
|
||||
var existingScript = document.querySelector(`script[src="${data.scriptSrc}"]`);
|
||||
|
||||
@@ -1,40 +1,16 @@
|
||||
<template>
|
||||
<div class="accountEdit_page">
|
||||
<div class="accountEdit_page_head">
|
||||
<div>{{ $t('account.UpdateAvatar') }}</div>
|
||||
<div class="upload_item">
|
||||
<div class="upload_file_item">
|
||||
<a-upload
|
||||
:capture="null"
|
||||
list-type="picture-card"
|
||||
:before-upload="beforeUpload"
|
||||
v-model:file-list="fileList"
|
||||
:customRequest="function(){}"
|
||||
:maxCount="1"
|
||||
accept=".jpg,.png,.jpeg,.bmp"
|
||||
@change="fileUploadChange"
|
||||
>
|
||||
<div
|
||||
class="upload_tip_block"
|
||||
>
|
||||
<!-- <i class="fi fi-br-upload"></i> -->
|
||||
<img :src="uploadUrl?uploadUrl:userDetail.avatar" alt="">
|
||||
</div>
|
||||
</a-upload>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="accountEdit_page_body">
|
||||
<div class="accountEdit_page_body_item">
|
||||
<div class="accountEdit_page_body_item_name">{{$t('account.userName')}}:</div>
|
||||
<div class="accountEdit_page_body_item_name">{{$t('account.Country')}}:</div>
|
||||
<div class="accountEdit_page_body_item_inut">
|
||||
<input type="text" disabled :value="userDetail.userName">
|
||||
<input type="text" disabled :value="userDetail.Country">
|
||||
</div>
|
||||
</div>
|
||||
<div class="accountEdit_page_body_item">
|
||||
<div class="accountEdit_page_body_item_name">{{$t('account.email')}}:</div>
|
||||
<div class="accountEdit_page_body_item_name">{{$t('account.CompanyName')}}:</div>
|
||||
<div class="accountEdit_page_body_item_inut">
|
||||
<input type="text" disabled :value="userDetail.email">
|
||||
<input type="text" disabled :value="userDetail.CompanyName">
|
||||
</div>
|
||||
</div>
|
||||
<div class="accountEdit_page_body_item">
|
||||
@@ -43,7 +19,6 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<Cropper ref="Cropper" @handleCropperSuccess="handleCropperSuccess" @closeCropper="deletUploadFile()" :cropperFileData="cropperFileData" :isRound="true"></Cropper>
|
||||
</div>
|
||||
</template>
|
||||
<script lang="ts">
|
||||
@@ -51,11 +26,9 @@ import { defineComponent,computed,ref,reactive,nextTick,toRefs,createVNode, onMo
|
||||
import { Https } from "@/tool/https";
|
||||
import { Modal,message } from 'ant-design-vue';
|
||||
import { useStore } from "vuex";
|
||||
import Cropper from '@/component/HomePage/Cropper.vue'
|
||||
import { useI18n } from 'vue-i18n'
|
||||
export default defineComponent({
|
||||
components:{
|
||||
Cropper,
|
||||
},
|
||||
setup() {
|
||||
const store = useStore();
|
||||
@@ -63,93 +36,15 @@ export default defineComponent({
|
||||
return store.state.UserHabit.userDetail
|
||||
})
|
||||
let accountHomeData:any = reactive({
|
||||
cropperFileData:{name:'',uid:''}, //裁剪的原始文件数据
|
||||
uploadUrl:'',
|
||||
uploadFile:undefined,
|
||||
token:'',
|
||||
fileList:[]
|
||||
Country:'',
|
||||
CompanyName:'',
|
||||
})
|
||||
let Cropper = ref()
|
||||
// provide('exhibitionList',exhibitionList)
|
||||
let handleCropperSuccess = (event:any)=>{
|
||||
let {file, fileData,base64} =event
|
||||
accountHomeData.fileList[0].status = 'done'
|
||||
accountHomeData.uploadUrl = base64
|
||||
accountHomeData.uploadFile = file
|
||||
Cropper.value.closeCropper()
|
||||
}
|
||||
let 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.info(useI18n().t('PrintboardUpload.jsContent1'));
|
||||
}
|
||||
const isLt2M = file.size / 1024 / 1024 < 5;
|
||||
if (!isLt2M) {
|
||||
message.info(useI18n().t('PrintboardUpload.jsContent2'));
|
||||
}
|
||||
if(isJpgOrPng && isLt2M){
|
||||
// }else{
|
||||
// return (isJpgOrPng && isLt2M) || Upload.LIST_IGNORE;
|
||||
}
|
||||
|
||||
}
|
||||
let fileUploadChange = (data:any)=>{
|
||||
let file = data.file
|
||||
// file.id = res.data.id?res.data.id:""
|
||||
var reader = new FileReader();
|
||||
reader.onload = (e:any) => {
|
||||
let data_new;
|
||||
if (typeof e.target.result === 'object') {
|
||||
// 把Array Buffer转化为blob 如果是base64不需要
|
||||
data_new = window.URL.createObjectURL(new Blob([e.target.result]));
|
||||
} else {
|
||||
data_new = e.target.result;
|
||||
}
|
||||
Cropper.value.getOptionImg(data_new)
|
||||
|
||||
|
||||
};
|
||||
// 转化为base64
|
||||
// reader.readAsDataURL(file)
|
||||
// 转化为blob
|
||||
reader.readAsArrayBuffer(file.originFileObj);
|
||||
Cropper.value.changeShowModal(true)
|
||||
}
|
||||
let deletUploadFile = () => {
|
||||
accountHomeData.fileList = []
|
||||
// let index = -1
|
||||
// this.fileList.forEach((ele:any,index1:any) => {
|
||||
// if(this.cropperFileData.uid === ele.uid){
|
||||
// index = index1
|
||||
// }
|
||||
// });
|
||||
// if(index > -1){
|
||||
// this.fileList.splice(index, 1)
|
||||
// }
|
||||
}
|
||||
let setSubmit = ()=>{
|
||||
if(!accountHomeData.uploadFile)return
|
||||
let param = new FormData();
|
||||
param.append('file',accountHomeData.uploadFile);
|
||||
let config:any = {headers:{'Content-Type':'multipart/form-data','Accept':'*/*' }}
|
||||
Https.axiosPost(Https.httpUrls.uploadAvatar,param,config)
|
||||
.then((rv)=>{
|
||||
let data = {
|
||||
avatar : rv
|
||||
}
|
||||
store.commit("upUserDetail", data)
|
||||
message.success('提交成功')
|
||||
})
|
||||
|
||||
|
||||
}
|
||||
return{
|
||||
...toRefs(accountHomeData),
|
||||
userDetail,
|
||||
Cropper,
|
||||
handleCropperSuccess,
|
||||
beforeUpload,
|
||||
fileUploadChange,
|
||||
deletUploadFile,
|
||||
setSubmit,
|
||||
}
|
||||
},
|
||||
@@ -162,28 +57,6 @@ export default defineComponent({
|
||||
</script>
|
||||
<style lang="less" scoped>
|
||||
.accountEdit_page{
|
||||
.accountEdit_page_head{
|
||||
display: flex;
|
||||
align-items: center;
|
||||
position: relative;
|
||||
img{
|
||||
width: 10rem;
|
||||
object-fit: contain;
|
||||
height: 10rem;
|
||||
border-radius: 50%;
|
||||
background: #fff;
|
||||
}
|
||||
.accountEdit_page_head_upload{
|
||||
width: auto;
|
||||
}
|
||||
.upload_item{
|
||||
:deep(.ant-upload-list-picture-card-container){
|
||||
display: none !important;
|
||||
}
|
||||
}
|
||||
|
||||
margin-bottom: 5rem;
|
||||
}
|
||||
.accountEdit_page_body{
|
||||
width: 85rem;
|
||||
.accountEdit_page_body_item{
|
||||
|
||||
@@ -14,10 +14,11 @@
|
||||
<div class="generalModel_btn">
|
||||
<div class="generalModel_closeIcon" @click.stop="cancelDsign()">
|
||||
<svg width="46" height="46" viewBox="0 0 46 46" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<circle cx="23" cy="23" r="23" fill="white" fill-opacity="0.3"/>
|
||||
<rect x="32.5063" y="12" width="3" height="29" rx="1.5" transform="rotate(45 32.5063 12)" fill="white"/>
|
||||
<rect x="34.6274" y="32.5059" width="3" height="29" rx="1.5" transform="rotate(135 34.6274 32.5059)" fill="white"/>
|
||||
</svg>
|
||||
<circle cx="23" cy="23" r="23" fill="white" fill-opacity="0.3"/>
|
||||
<rect x="32.5063" y="12" width="3" height="29" rx="1.5" transform="rotate(45 32.5063 12)" fill="white"/>
|
||||
<rect x="34.6274" y="32.5059" width="3" height="29" rx="1.5" transform="rotate(135 34.6274 32.5059)" fill="white"/>
|
||||
</svg>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="admin_page">
|
||||
|
||||
@@ -16,10 +16,11 @@
|
||||
<div class="generalModel_btn">
|
||||
<div class="generalModel_closeIcon" @click.stop="cancelDsign()">
|
||||
<svg width="46" height="46" viewBox="0 0 46 46" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<circle cx="23" cy="23" r="23" fill="white" fill-opacity="0.3"/>
|
||||
<rect x="32.5063" y="12" width="3" height="29" rx="1.5" transform="rotate(45 32.5063 12)" fill="white"/>
|
||||
<rect x="34.6274" y="32.5059" width="3" height="29" rx="1.5" transform="rotate(135 34.6274 32.5059)" fill="white"/>
|
||||
</svg>
|
||||
<circle cx="23" cy="23" r="23" fill="white" fill-opacity="0.3"/>
|
||||
<rect x="32.5063" y="12" width="3" height="29" rx="1.5" transform="rotate(45 32.5063 12)" fill="white"/>
|
||||
<rect x="34.6274" y="32.5059" width="3" height="29" rx="1.5" transform="rotate(135 34.6274 32.5059)" fill="white"/>
|
||||
</svg>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal_title_text">
|
||||
|
||||
@@ -48,10 +48,11 @@
|
||||
<div class="generalModel_btn">
|
||||
<div class="generalModel_closeIcon" @click.stop="closeModal()">
|
||||
<svg width="46" height="46" viewBox="0 0 46 46" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<circle cx="23" cy="23" r="23" fill="white" fill-opacity="0.3"/>
|
||||
<rect x="32.5063" y="12" width="3" height="29" rx="1.5" transform="rotate(45 32.5063 12)" fill="white"/>
|
||||
<rect x="34.6274" y="32.5059" width="3" height="29" rx="1.5" transform="rotate(135 34.6274 32.5059)" fill="white"/>
|
||||
</svg>
|
||||
<circle cx="23" cy="23" r="23" fill="white" fill-opacity="0.3"/>
|
||||
<rect x="32.5063" y="12" width="3" height="29" rx="1.5" transform="rotate(45 32.5063 12)" fill="white"/>
|
||||
<rect x="34.6274" y="32.5059" width="3" height="29" rx="1.5" transform="rotate(135 34.6274 32.5059)" fill="white"/>
|
||||
</svg>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<feedbackSurveyVue ref="feedbackSurveyVue"></feedbackSurveyVue>
|
||||
|
||||
@@ -14,10 +14,11 @@
|
||||
<div class="generalModel_btn">
|
||||
<div class="generalModel_closeIcon" @click.stop="cancelDsign()">
|
||||
<svg width="46" height="46" viewBox="0 0 46 46" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<circle cx="23" cy="23" r="23" fill="white" fill-opacity="0.3"/>
|
||||
<rect x="32.5063" y="12" width="3" height="29" rx="1.5" transform="rotate(45 32.5063 12)" fill="white"/>
|
||||
<rect x="34.6274" y="32.5059" width="3" height="29" rx="1.5" transform="rotate(135 34.6274 32.5059)" fill="white"/>
|
||||
</svg>
|
||||
<circle cx="23" cy="23" r="23" fill="white" fill-opacity="0.3"/>
|
||||
<rect x="32.5063" y="12" width="3" height="29" rx="1.5" transform="rotate(45 32.5063 12)" fill="white"/>
|
||||
<rect x="34.6274" y="32.5059" width="3" height="29" rx="1.5" transform="rotate(135 34.6274 32.5059)" fill="white"/>
|
||||
</svg>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<canvasIndex></canvasIndex>
|
||||
|
||||
@@ -16,10 +16,11 @@
|
||||
<div class="generalModel_btn">
|
||||
<div class="generalModel_closeIcon" @click.stop="cancelDsign()">
|
||||
<svg width="46" height="46" viewBox="0 0 46 46" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<circle cx="23" cy="23" r="23" fill="white" fill-opacity="0.3"/>
|
||||
<rect x="32.5063" y="12" width="3" height="29" rx="1.5" transform="rotate(45 32.5063 12)" fill="white"/>
|
||||
<rect x="34.6274" y="32.5059" width="3" height="29" rx="1.5" transform="rotate(135 34.6274 32.5059)" fill="white"/>
|
||||
</svg>
|
||||
<circle cx="23" cy="23" r="23" fill="white" fill-opacity="0.3"/>
|
||||
<rect x="32.5063" y="12" width="3" height="29" rx="1.5" transform="rotate(45 32.5063 12)" fill="white"/>
|
||||
<rect x="34.6274" y="32.5059" width="3" height="29" rx="1.5" transform="rotate(135 34.6274 32.5059)" fill="white"/>
|
||||
</svg>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
@@ -15,10 +15,11 @@
|
||||
<div class="generalModel_btn">
|
||||
<div class="generalModel_closeIcon" @click.stop="cancelDsign()">
|
||||
<svg width="46" height="46" viewBox="0 0 46 46" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<circle cx="23" cy="23" r="23" fill="white" fill-opacity="0.3"/>
|
||||
<rect x="32.5063" y="12" width="3" height="29" rx="1.5" transform="rotate(45 32.5063 12)" fill="white"/>
|
||||
<rect x="34.6274" y="32.5059" width="3" height="29" rx="1.5" transform="rotate(135 34.6274 32.5059)" fill="white"/>
|
||||
</svg>
|
||||
<circle cx="23" cy="23" r="23" fill="white" fill-opacity="0.3"/>
|
||||
<rect x="32.5063" y="12" width="3" height="29" rx="1.5" transform="rotate(45 32.5063 12)" fill="white"/>
|
||||
<rect x="34.6274" y="32.5059" width="3" height="29" rx="1.5" transform="rotate(135 34.6274 32.5059)" fill="white"/>
|
||||
</svg>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="habitSetStyle_content" v-hoverAnmi>
|
||||
|
||||
@@ -15,10 +15,11 @@
|
||||
<div class="generalModel_btn">
|
||||
<div class="generalModel_closeIcon" @click.stop="cancelDsign()">
|
||||
<svg width="46" height="46" viewBox="0 0 46 46" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<circle cx="23" cy="23" r="23" fill="white" fill-opacity="0.3"/>
|
||||
<rect x="32.5063" y="12" width="3" height="29" rx="1.5" transform="rotate(45 32.5063 12)" fill="white"/>
|
||||
<rect x="34.6274" y="32.5059" width="3" height="29" rx="1.5" transform="rotate(135 34.6274 32.5059)" fill="white"/>
|
||||
</svg>
|
||||
<circle cx="23" cy="23" r="23" fill="white" fill-opacity="0.3"/>
|
||||
<rect x="32.5063" y="12" width="3" height="29" rx="1.5" transform="rotate(45 32.5063 12)" fill="white"/>
|
||||
<rect x="34.6274" y="32.5059" width="3" height="29" rx="1.5" transform="rotate(135 34.6274 32.5059)" fill="white"/>
|
||||
</svg>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="UpgradePlan_content">
|
||||
|
||||
@@ -196,6 +196,7 @@
|
||||
</div>
|
||||
<scaleImage ref="scaleImage" :isCanvas="type_.type2 == 'Sketchboard'" :workspace="workspace"></scaleImage>
|
||||
<createSlogan ref="createSlogan" @setSloganData="setSloganData"></createSlogan>
|
||||
<UpgradePlan ref="UpgradePlan"></UpgradePlan>
|
||||
</div>
|
||||
</template>
|
||||
<script lang="ts">
|
||||
@@ -215,12 +216,15 @@ import { openGuide,driverObj__,driverIndex__ } from "@/tool/guide";
|
||||
import createSlogan from "@/component/HomePage/createSlogan.vue";
|
||||
import { useI18n } from "vue-i18n";
|
||||
import sketchCategory from "@/component/HomePage/sketchCategory.vue";
|
||||
import UpgradePlan from "@/component/HomePage/UpgradePlan.vue";
|
||||
|
||||
export default defineComponent({
|
||||
components: {
|
||||
scaleImage,
|
||||
generalMenu,
|
||||
createSlogan,
|
||||
sketchCategory,
|
||||
UpgradePlan,
|
||||
},
|
||||
props: ["msg",'sketchCatecoryList','scene'],
|
||||
setup(props) {
|
||||
@@ -619,6 +623,26 @@ export default defineComponent({
|
||||
this.isGenerate = false
|
||||
clearInterval(this.remGenerateTime)
|
||||
this.remGenerate = false
|
||||
|
||||
if(res.errCode === 2){
|
||||
let this_ = this
|
||||
Modal.confirm({
|
||||
title: res.errMsg,
|
||||
icon: createVNode(ExclamationCircleOutlined),
|
||||
okText: 'Yes',
|
||||
cancelText: 'No',
|
||||
mask:false,
|
||||
zIndex:99999,
|
||||
centered:true,
|
||||
onOk() {
|
||||
let UpgradePlan:any = this_.$refs.UpgradePlan
|
||||
UpgradePlan.init()
|
||||
},
|
||||
onCancel(){
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
},
|
||||
setGenerate(dataList:any){
|
||||
|
||||
@@ -17,10 +17,11 @@
|
||||
<div class="generalModel_closeIcon" @click.stop="cancelDsign()">
|
||||
<!-- <i class="fi fi-rr-cross-small"></i> -->
|
||||
<svg width="46" height="46" viewBox="0 0 46 46" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<circle cx="23" cy="23" r="23" fill="white" fill-opacity="0.3"/>
|
||||
<rect x="32.5063" y="12" width="3" height="29" rx="1.5" transform="rotate(45 32.5063 12)" fill="white"/>
|
||||
<rect x="34.6274" y="32.5059" width="3" height="29" rx="1.5" transform="rotate(135 34.6274 32.5059)" fill="white"/>
|
||||
</svg>
|
||||
<circle cx="23" cy="23" r="23" fill="white" fill-opacity="0.3"/>
|
||||
<rect x="32.5063" y="12" width="3" height="29" rx="1.5" transform="rotate(45 32.5063 12)" fill="white"/>
|
||||
<rect x="34.6274" y="32.5059" width="3" height="29" rx="1.5" transform="rotate(135 34.6274 32.5059)" fill="white"/>
|
||||
</svg>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="UpgradePlan_content">
|
||||
|
||||
@@ -19,10 +19,11 @@
|
||||
<div class="generalModel_closeIcon" @click.stop="cancelDsign()">
|
||||
<!-- <i class="fi fi-rr-cross-small"></i> -->
|
||||
<svg width="46" height="46" viewBox="0 0 46 46" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<circle cx="23" cy="23" r="23" fill="white" fill-opacity="0.3"/>
|
||||
<rect x="32.5063" y="12" width="3" height="29" rx="1.5" transform="rotate(45 32.5063 12)" fill="white"/>
|
||||
<rect x="34.6274" y="32.5059" width="3" height="29" rx="1.5" transform="rotate(135 34.6274 32.5059)" fill="white"/>
|
||||
</svg>
|
||||
<circle cx="23" cy="23" r="23" fill="white" fill-opacity="0.3"/>
|
||||
<rect x="32.5063" y="12" width="3" height="29" rx="1.5" transform="rotate(45 32.5063 12)" fill="white"/>
|
||||
<rect x="34.6274" y="32.5059" width="3" height="29" rx="1.5" transform="rotate(135 34.6274 32.5059)" fill="white"/>
|
||||
</svg>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="login_page">
|
||||
|
||||
@@ -16,10 +16,11 @@
|
||||
<div class="generalModel_btn">
|
||||
<div class="generalModel_closeIcon" @click.stop="cancelDsign()">
|
||||
<svg width="46" height="46" viewBox="0 0 46 46" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<circle cx="23" cy="23" r="23" fill="white" fill-opacity="0.3"/>
|
||||
<rect x="32.5063" y="12" width="3" height="29" rx="1.5" transform="rotate(45 32.5063 12)" fill="white"/>
|
||||
<rect x="34.6274" y="32.5059" width="3" height="29" rx="1.5" transform="rotate(135 34.6274 32.5059)" fill="white"/>
|
||||
<circle cx="23" cy="23" r="22.5" stroke="#666666"/>
|
||||
<rect x="32.5059" y="12" width="3" height="29" rx="1.5" transform="rotate(45 32.5059 12)" fill="#666666"/>
|
||||
<rect x="34.627" y="32.5059" width="3" height="29" rx="1.5" transform="rotate(135 34.627 32.5059)" fill="#666666"/>
|
||||
</svg>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<template>
|
||||
<div class="generalMenu_printModel">
|
||||
<div @click.stop="openPrintModel" :class="driverClass.class1">
|
||||
<div @click.stop="openPrintModel" :class="driverClass.class1" :style="$props.style_">
|
||||
<a-popover v-if="isCanvas">
|
||||
<template #content>
|
||||
<img style="width: 10rem;height: 10rem;object-fit: contain;" :src="item.img" alt="">
|
||||
@@ -85,6 +85,10 @@ import { message, Upload, Modal } from "ant-design-vue";
|
||||
driverClass:{
|
||||
type:Object,
|
||||
default:{class1:'',class2:'',classList:{item1:'',item2:'',item3:''}},
|
||||
},
|
||||
style_:{
|
||||
type:Object,
|
||||
default:{}
|
||||
}
|
||||
},
|
||||
emits:['setprintModel'],
|
||||
|
||||
@@ -16,10 +16,11 @@
|
||||
<div class="generalModel_btn">
|
||||
<div class="generalModel_closeIcon" @click.stop="cancelDsign()">
|
||||
<svg width="46" height="46" viewBox="0 0 46 46" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<circle cx="23" cy="23" r="23" fill="white" fill-opacity="0.3"/>
|
||||
<rect x="32.5063" y="12" width="3" height="29" rx="1.5" transform="rotate(45 32.5063 12)" fill="white"/>
|
||||
<rect x="34.6274" y="32.5059" width="3" height="29" rx="1.5" transform="rotate(135 34.6274 32.5059)" fill="white"/>
|
||||
</svg>
|
||||
<circle cx="23" cy="23" r="23" fill="white" fill-opacity="0.3"/>
|
||||
<rect x="32.5063" y="12" width="3" height="29" rx="1.5" transform="rotate(45 32.5063 12)" fill="white"/>
|
||||
<rect x="34.6274" y="32.5059" width="3" height="29" rx="1.5" transform="rotate(135 34.6274 32.5059)" fill="white"/>
|
||||
</svg>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="productImg_content">
|
||||
|
||||
@@ -19,10 +19,11 @@
|
||||
<div class="generalModel_closeIcon" @click.stop="cancelDsign()">
|
||||
<!-- <i class="fi fi-rr-cross-small"></i> -->
|
||||
<svg width="46" height="46" viewBox="0 0 46 46" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<circle cx="23" cy="23" r="23" fill="white" fill-opacity="0.3"/>
|
||||
<rect x="32.5063" y="12" width="3" height="29" rx="1.5" transform="rotate(45 32.5063 12)" fill="white"/>
|
||||
<rect x="34.6274" y="32.5059" width="3" height="29" rx="1.5" transform="rotate(135 34.6274 32.5059)" fill="white"/>
|
||||
</svg>
|
||||
<circle cx="23" cy="23" r="23" fill="white" fill-opacity="0.3"/>
|
||||
<rect x="32.5063" y="12" width="3" height="29" rx="1.5" transform="rotate(45 32.5063 12)" fill="white"/>
|
||||
<rect x="34.6274" y="32.5059" width="3" height="29" rx="1.5" transform="rotate(135 34.6274 32.5059)" fill="white"/>
|
||||
</svg>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="renewContent">
|
||||
|
||||
@@ -16,10 +16,11 @@
|
||||
<div class="generalModel_btn">
|
||||
<div class="generalModel_closeIcon" @click.stop="cancelDsign()">
|
||||
<svg width="46" height="46" viewBox="0 0 46 46" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<circle cx="23" cy="23" r="23" fill="white" fill-opacity="0.3"/>
|
||||
<rect x="32.5063" y="12" width="3" height="29" rx="1.5" transform="rotate(45 32.5063 12)" fill="white"/>
|
||||
<rect x="34.6274" y="32.5059" width="3" height="29" rx="1.5" transform="rotate(135 34.6274 32.5059)" fill="white"/>
|
||||
</svg>
|
||||
<circle cx="23" cy="23" r="23" fill="white" fill-opacity="0.3"/>
|
||||
<rect x="32.5063" y="12" width="3" height="29" rx="1.5" transform="rotate(45 32.5063 12)" fill="white"/>
|
||||
<rect x="34.6274" y="32.5059" width="3" height="29" rx="1.5" transform="rotate(135 34.6274 32.5059)" fill="white"/>
|
||||
</svg>
|
||||
|
||||
</div>
|
||||
<div class="generalModel_closeIcon download" @click.stop="download()">
|
||||
<i class="fi fi-rr-down-to-line"></i>
|
||||
|
||||
@@ -18,10 +18,11 @@
|
||||
<div class="generalModel_closeIcon" @click.stop="cancelDsign()">
|
||||
<!-- <i class="fi fi-rr-cross-small"></i> -->
|
||||
<svg width="46" height="46" viewBox="0 0 46 46" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<circle cx="23" cy="23" r="23" fill="white" fill-opacity="0.3"/>
|
||||
<rect x="32.5063" y="12" width="3" height="29" rx="1.5" transform="rotate(45 32.5063 12)" fill="white"/>
|
||||
<rect x="34.6274" y="32.5059" width="3" height="29" rx="1.5" transform="rotate(135 34.6274 32.5059)" fill="white"/>
|
||||
</svg>
|
||||
<circle cx="23" cy="23" r="23" fill="white" fill-opacity="0.3"/>
|
||||
<rect x="32.5063" y="12" width="3" height="29" rx="1.5" transform="rotate(45 32.5063 12)" fill="white"/>
|
||||
<rect x="34.6274" y="32.5059" width="3" height="29" rx="1.5" transform="rotate(135 34.6274 32.5059)" fill="white"/>
|
||||
</svg>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="phoneLogin">
|
||||
|
||||
@@ -16,10 +16,11 @@
|
||||
<div class="generalModel_closeIcon" @click.stop="cancelDsign()">
|
||||
<!-- <i class="fi fi-rr-cross-small"></i> -->
|
||||
<svg width="46" height="46" viewBox="0 0 46 46" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<circle cx="23" cy="23" r="23" fill="white" fill-opacity="0.3"/>
|
||||
<rect x="32.5063" y="12" width="3" height="29" rx="1.5" transform="rotate(45 32.5063 12)" fill="white"/>
|
||||
<rect x="34.6274" y="32.5059" width="3" height="29" rx="1.5" transform="rotate(135 34.6274 32.5059)" fill="white"/>
|
||||
</svg>
|
||||
<circle cx="23" cy="23" r="23" fill="white" fill-opacity="0.3"/>
|
||||
<rect x="32.5063" y="12" width="3" height="29" rx="1.5" transform="rotate(45 32.5063 12)" fill="white"/>
|
||||
<rect x="34.6274" y="32.5059" width="3" height="29" rx="1.5" transform="rotate(135 34.6274 32.5059)" fill="white"/>
|
||||
</svg>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="weiXinLogin">
|
||||
|
||||
@@ -19,10 +19,11 @@
|
||||
<div class="generalModel_closeIcon" @click.stop="cancelDsign()">
|
||||
<!-- <i class="fi fi-rr-cross-small"></i> -->
|
||||
<svg width="46" height="46" viewBox="0 0 46 46" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<circle cx="23" cy="23" r="23" fill="white" fill-opacity="0.3"/>
|
||||
<rect x="32.5063" y="12" width="3" height="29" rx="1.5" transform="rotate(45 32.5063 12)" fill="white"/>
|
||||
<rect x="34.6274" y="32.5059" width="3" height="29" rx="1.5" transform="rotate(135 34.6274 32.5059)" fill="white"/>
|
||||
</svg>
|
||||
<circle cx="23" cy="23" r="23" fill="white" fill-opacity="0.3"/>
|
||||
<rect x="32.5063" y="12" width="3" height="29" rx="1.5" transform="rotate(45 32.5063 12)" fill="white"/>
|
||||
<rect x="34.6274" y="32.5059" width="3" height="29" rx="1.5" transform="rotate(135 34.6274 32.5059)" fill="white"/>
|
||||
</svg>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="payMethodContent">
|
||||
@@ -131,7 +132,6 @@ export default defineComponent({
|
||||
payMethod.payMethodModel = false
|
||||
}
|
||||
const payAffirm = () => {
|
||||
payMethodData.isShowMark_ = true
|
||||
if(!payMethodData.clause){
|
||||
let labelDisclaimer:any = payMethodData.labelDisclaimer
|
||||
if(!labelDisclaimer.classList.contains('animation')){
|
||||
@@ -142,6 +142,7 @@ export default defineComponent({
|
||||
}
|
||||
return
|
||||
}
|
||||
payMethodData.isShowMark_ = true
|
||||
let httpsUrl
|
||||
let url = window.location.origin+'/paySucceed'
|
||||
let payAffirmData = payMethodData.payAffirmData
|
||||
@@ -151,6 +152,7 @@ export default defineComponent({
|
||||
quantity:payAffirmData.quantity?payAffirmData.quantity:1,
|
||||
returnUrl:url,
|
||||
subscribeType:payAffirmData.subscribeType?payAffirmData.subscribeType:'',//yearly为年费,monthly为月费
|
||||
wallet:payMethodData.modeOfPaymentDetail,
|
||||
}
|
||||
if(payMethodData.modeOfPayment == 'paypal'){
|
||||
httpsUrl = Https.httpUrls.payPaypal
|
||||
|
||||
@@ -16,10 +16,11 @@
|
||||
<div class="generalModel_btn">
|
||||
<div class="generalModel_closeIcon" @click.stop="cancelDsign()">
|
||||
<svg width="46" height="46" viewBox="0 0 46 46" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<circle cx="23" cy="23" r="23" fill="white" fill-opacity="0.3"/>
|
||||
<rect x="32.5063" y="12" width="3" height="29" rx="1.5" transform="rotate(45 32.5063 12)" fill="white"/>
|
||||
<rect x="34.6274" y="32.5059" width="3" height="29" rx="1.5" transform="rotate(135 34.6274 32.5059)" fill="white"/>
|
||||
</svg>
|
||||
<circle cx="23" cy="23" r="23" fill="white" fill-opacity="0.3"/>
|
||||
<rect x="32.5063" y="12" width="3" height="29" rx="1.5" transform="rotate(45 32.5063 12)" fill="white"/>
|
||||
<rect x="34.6274" y="32.5059" width="3" height="29" rx="1.5" transform="rotate(135 34.6274 32.5059)" fill="white"/>
|
||||
</svg>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="payOrder_page">
|
||||
|
||||
@@ -16,10 +16,11 @@
|
||||
<div class="generalModel_btn">
|
||||
<div class="generalModel_closeIcon" @click.stop="cancelDsign('')">
|
||||
<svg width="46" height="46" viewBox="0 0 46 46" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<circle cx="23" cy="23" r="23" fill="white" fill-opacity="0.3"/>
|
||||
<rect x="32.5063" y="12" width="3" height="29" rx="1.5" transform="rotate(45 32.5063 12)" fill="white"/>
|
||||
<rect x="34.6274" y="32.5059" width="3" height="29" rx="1.5" transform="rotate(135 34.6274 32.5059)" fill="white"/>
|
||||
</svg>
|
||||
<circle cx="23" cy="23" r="23" fill="white" fill-opacity="0.3"/>
|
||||
<rect x="32.5063" y="12" width="3" height="29" rx="1.5" transform="rotate(45 32.5063 12)" fill="white"/>
|
||||
<rect x="34.6274" y="32.5059" width="3" height="29" rx="1.5" transform="rotate(135 34.6274 32.5059)" fill="white"/>
|
||||
</svg>
|
||||
|
||||
</div>
|
||||
<!-- <div class="collection_closeIcon" @click.stop="download()">
|
||||
<i class="fi fi-rr-down-to-line"></i>
|
||||
|
||||
@@ -17,10 +17,11 @@
|
||||
<div class="generalModel_btn">
|
||||
<div class="generalModel_closeIcon" @click.stop="cancelDsign('')">
|
||||
<svg width="46" height="46" viewBox="0 0 46 46" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<circle cx="23" cy="23" r="23" fill="white" fill-opacity="0.3"/>
|
||||
<rect x="32.5063" y="12" width="3" height="29" rx="1.5" transform="rotate(45 32.5063 12)" fill="white"/>
|
||||
<rect x="34.6274" y="32.5059" width="3" height="29" rx="1.5" transform="rotate(135 34.6274 32.5059)" fill="white"/>
|
||||
</svg>
|
||||
<circle cx="23" cy="23" r="23" fill="white" fill-opacity="0.3"/>
|
||||
<rect x="32.5063" y="12" width="3" height="29" rx="1.5" transform="rotate(45 32.5063 12)" fill="white"/>
|
||||
<rect x="34.6274" y="32.5059" width="3" height="29" rx="1.5" transform="rotate(135 34.6274 32.5059)" fill="white"/>
|
||||
</svg>
|
||||
|
||||
</div>
|
||||
<!-- <div class="collection_closeIcon" @click.stop="download()">
|
||||
<i class="fi fi-rr-down-to-line"></i>
|
||||
|
||||
@@ -15,10 +15,11 @@
|
||||
<div class="generalModel_btn">
|
||||
<div class="generalModel_closeIcon" @click.stop="cancelDsign()">
|
||||
<svg width="46" height="46" viewBox="0 0 46 46" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<circle cx="23" cy="23" r="23" fill="white" fill-opacity="0.3"/>
|
||||
<rect x="32.5063" y="12" width="3" height="29" rx="1.5" transform="rotate(45 32.5063 12)" fill="white"/>
|
||||
<rect x="34.6274" y="32.5059" width="3" height="29" rx="1.5" transform="rotate(135 34.6274 32.5059)" fill="white"/>
|
||||
</svg>
|
||||
<circle cx="23" cy="23" r="23" fill="white" fill-opacity="0.3"/>
|
||||
<rect x="32.5063" y="12" width="3" height="29" rx="1.5" transform="rotate(45 32.5063 12)" fill="white"/>
|
||||
<rect x="34.6274" y="32.5059" width="3" height="29" rx="1.5" transform="rotate(135 34.6274 32.5059)" fill="white"/>
|
||||
</svg>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="publish_content">
|
||||
|
||||
@@ -18,10 +18,11 @@
|
||||
<div class="generalModel_closeIcon" @click.stop="cancelDsign()">
|
||||
<!-- <i class="fi fi-rr-cross-small"></i> -->
|
||||
<svg width="46" height="46" viewBox="0 0 46 46" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<circle cx="23" cy="23" r="23" fill="white" fill-opacity="0.3"/>
|
||||
<rect x="32.5063" y="12" width="3" height="29" rx="1.5" transform="rotate(45 32.5063 12)" fill="white"/>
|
||||
<rect x="34.6274" y="32.5059" width="3" height="29" rx="1.5" transform="rotate(135 34.6274 32.5059)" fill="white"/>
|
||||
</svg>
|
||||
<circle cx="23" cy="23" r="23" fill="white" fill-opacity="0.3"/>
|
||||
<rect x="32.5063" y="12" width="3" height="29" rx="1.5" transform="rotate(45 32.5063 12)" fill="white"/>
|
||||
<rect x="34.6274" y="32.5059" width="3" height="29" rx="1.5" transform="rotate(135 34.6274 32.5059)" fill="white"/>
|
||||
</svg>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="login_page">
|
||||
|
||||
@@ -15,10 +15,11 @@
|
||||
<div class="generalModel_btn">
|
||||
<div class="generalModel_closeIcon" @click.stop="cancelDsign()">
|
||||
<svg width="46" height="46" viewBox="0 0 46 46" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<circle cx="23" cy="23" r="23" fill="white" fill-opacity="0.3"/>
|
||||
<rect x="32.5063" y="12" width="3" height="29" rx="1.5" transform="rotate(45 32.5063 12)" fill="white"/>
|
||||
<rect x="34.6274" y="32.5059" width="3" height="29" rx="1.5" transform="rotate(135 34.6274 32.5059)" fill="white"/>
|
||||
</svg>
|
||||
<circle cx="23" cy="23" r="23" fill="white" fill-opacity="0.3"/>
|
||||
<rect x="32.5063" y="12" width="3" height="29" rx="1.5" transform="rotate(45 32.5063 12)" fill="white"/>
|
||||
<rect x="34.6274" y="32.5059" width="3" height="29" rx="1.5" transform="rotate(135 34.6274 32.5059)" fill="white"/>
|
||||
</svg>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
@@ -599,6 +599,10 @@ export default {
|
||||
Follow:'关注',
|
||||
Fans:'粉丝',
|
||||
editUser:'修改个人信息',
|
||||
notModifiable:'没有修改次数',
|
||||
remainingModifications:'本月剩余次数:',
|
||||
Country:'国家',
|
||||
CompanyName:'职业',
|
||||
//account首页
|
||||
myInfor:'我的信息',
|
||||
bindWeChat:'绑定',
|
||||
|
||||
@@ -599,6 +599,10 @@ export default {
|
||||
Follow:'Follow',
|
||||
Fans:'Fans',
|
||||
editUser:'Change Information',
|
||||
notModifiable:'Not modifiable',
|
||||
remainingModifications:'Remaining this month:',
|
||||
Country:'Country',
|
||||
CompanyName:'Company Name',
|
||||
//account首页
|
||||
myInfor:'My lnformation',
|
||||
bindWeChat:'Bind WeChat/gmail',
|
||||
|
||||
@@ -78,6 +78,11 @@ const userHabit : Module<UserHabit,RootState> = {
|
||||
},
|
||||
subscriptionType:null,
|
||||
subscriptionId:null,
|
||||
usernameModify:{
|
||||
remainingTimes: 0,
|
||||
remainingDays:0,
|
||||
},
|
||||
|
||||
},
|
||||
bindEmail : {
|
||||
isBindEmail:false,
|
||||
@@ -179,6 +184,11 @@ const userHabit : Module<UserHabit,RootState> = {
|
||||
subscriptionId:null,
|
||||
//是否是affiliate用户
|
||||
affiliate:false,
|
||||
usernameModify:{
|
||||
remainingTimes: 0,
|
||||
remainingDays:0,
|
||||
},
|
||||
|
||||
}
|
||||
state.bindEmail = {
|
||||
isBindEmail:false,
|
||||
@@ -203,6 +213,7 @@ const userHabit : Module<UserHabit,RootState> = {
|
||||
state.userDetail.userName = data.userName//用户名
|
||||
state.userDetail.userId = data.userId//用户id
|
||||
state.userDetail.avatar = data.avatar//头像
|
||||
state.userDetail.usernameModify = data.usernameModify//头像
|
||||
state.userDetail.isBeginner = data.isBeginner == 1 ? true : false;//是否完成新手指引
|
||||
/**
|
||||
* 用于区分游客与系统用户
|
||||
@@ -222,7 +233,8 @@ const userHabit : Module<UserHabit,RootState> = {
|
||||
state.userDetail.systemList = []
|
||||
if(data.systemUser != 0)state.userDetail.systemList.push(1)
|
||||
if(data.affiliate)state.userDetail.systemList.push(2)
|
||||
let adminIdList = [88,6,46,31,73,83,87,4]
|
||||
let adminIdList = [88,6,46,31,73,83,87,4,11482,11630]
|
||||
// if(data.email == '' || data.email)state.userDetail.systemList.push(3)
|
||||
if(adminIdList.indexOf(data.userId) > -1)state.userDetail.systemList.push(3)
|
||||
|
||||
state.userDetail.followeeCount = data.followeeCount//粉丝数量
|
||||
|
||||
@@ -36,7 +36,7 @@ axios.defaults.baseURL = process.env.VUE_APP_BASE_URL; //配置接口地址
|
||||
const CancelToken = axios.CancelToken;
|
||||
const source = CancelToken.source();
|
||||
// console.log(process.env.VUE_APP_BASE_URL);
|
||||
const filterHttpsUrl = ['/api/portfolio/page','/api/portfolio/detail']
|
||||
const filterHttpsUrl = ['/api/portfolio/page','/api/portfolio/detail','/api/account/preLogin']
|
||||
//POST传参序列化(添加请求拦截器)
|
||||
axios.interceptors.request.use((config) => {
|
||||
//在发送请求之前做某件事
|
||||
@@ -86,7 +86,6 @@ axios.interceptors.response.use((res) =>{
|
||||
} else if(res.data.errCode === 2){
|
||||
return Promise.reject(res.data);
|
||||
}else if(res.data.errCode === -1){
|
||||
console.log(23);
|
||||
message.error(res.data.errMsg)
|
||||
return Promise.reject(res.data);
|
||||
}
|
||||
@@ -131,6 +130,7 @@ export const Https = {
|
||||
getUserLanguage:`/api/account/getUserLanguage`, //获取当前用户语言
|
||||
changeUserLanguage:`/api/account/changeUserLanguage`, //切换用户当前语言
|
||||
uploadAvatar:`/api/account/uploadAvatar`, //修改头像
|
||||
editUserName:`/api/account/editUserName`, //修改用户名
|
||||
accountDetail:`/api/account/getAccountDetail`, //用户详细信息
|
||||
|
||||
trialUserLogout:`/account/trialUserLogout`, //试用用户退出登录接口
|
||||
@@ -171,6 +171,7 @@ export const Https = {
|
||||
reDesignCollection:`/api/design/reDesignCollection`,//重新设计 Conllection
|
||||
countDesignProcess:'/api/design/countDesignProcess', //统计design进度
|
||||
getDesignResult:'/api/design/getDesignResult', //查询design结果
|
||||
designSort:`/api/design/sort`, //design排序
|
||||
|
||||
designProcess:`/api/design/designProcess`, //统计design进度
|
||||
designGetModel:`/api/design/getModel`, //导出获取模特链接
|
||||
|
||||
@@ -109,6 +109,7 @@ export default defineComponent({
|
||||
router.push('/register');
|
||||
}
|
||||
onMounted(()=>{
|
||||
updataIsMoblie()
|
||||
window.addEventListener('resize',updataIsMoblie)
|
||||
})
|
||||
onBeforeUnmount(() => {
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
<template>
|
||||
<div class="events_page" :class="{active:isScroll}">
|
||||
<div class="modal_title_text modal_search">
|
||||
<div v-show="isScroll || userDetail.systemUser>-1" v-for="item in worksType" :key="item" class="modal_title_text_assistant" @click="setWorksSelect(item)" :class="{active:item.value == worksSelect}">
|
||||
<div v-show="isScroll || userDetail.systemUser>-1" v-for="item in worksType" :key="item" class="gallery_btn white" @click="setWorksSelect(item)" :class="{active:item.value == worksSelect}">
|
||||
{{ item.name }}
|
||||
</div>
|
||||
<div v-show="!isScroll && userDetail.systemUser == -1" class="modal_title_text_assistant active">All</div>
|
||||
<div v-show="!isScroll && userDetail.systemUser == -1" class="gallery_btn active">All</div>
|
||||
</div>
|
||||
<div class="page_content" >
|
||||
<div class="page_content_itemBox">
|
||||
@@ -218,20 +218,13 @@ export default defineComponent({
|
||||
display: flex;
|
||||
margin: 0;
|
||||
padding-bottom: 2.4rem;
|
||||
.modal_title_text_assistant{
|
||||
padding: 1rem 3rem;
|
||||
border-radius: 2rem;
|
||||
background: #eee;
|
||||
.gallery_btn{
|
||||
margin-right: 1rem;
|
||||
cursor: pointer;
|
||||
min-width: 12rem;
|
||||
}
|
||||
.modal_title_text_assistant:last-child{
|
||||
.gallery_btn:last-child{
|
||||
margin-right: 0;
|
||||
}
|
||||
.active{
|
||||
background: #39215b;
|
||||
color: #fff;
|
||||
}
|
||||
.modal_search_menu{
|
||||
margin-left: auto;
|
||||
z-index: 10;
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
<div class="page_content_body">
|
||||
<div class="home_page_body">
|
||||
<div class="home_page_left" ref="hidden">
|
||||
<div class="home_page_left_content" :class="{'active':(domHidden && isHaveReviewCollection)}">
|
||||
<div class="home_page_left_content" :class="{'active':(domHidden)}">
|
||||
<!-- 空状态 start-->
|
||||
<div class="home_left_null" v-show="!isHaveReviewCollection">
|
||||
<div>
|
||||
@@ -57,7 +57,7 @@
|
||||
</div>
|
||||
<!-- 有图状态 end-->
|
||||
</div>
|
||||
<div class="home_page_left_bottom" @click="setShowHide('domHidden')" v-show="designCollectionId">
|
||||
<div class="home_page_left_bottom" @click="setShowHide('domHidden')" >
|
||||
<span class="icon iconfont icon-xiala" :class="{'active':domHidden}"></span>
|
||||
</div>
|
||||
</div>
|
||||
@@ -90,19 +90,19 @@
|
||||
</div>
|
||||
</div>
|
||||
<div class="right_content_block_box">
|
||||
<div class="right_content_block">
|
||||
<div class="right_content_block" @mouseenter="mouseenter($event,'like')">
|
||||
|
||||
|
||||
<div class="right_content_body">
|
||||
<div class="right_content_header">
|
||||
<div class="content_header_left">
|
||||
<i class="fi fi-rs-comments"></i><span class="content_header_des">
|
||||
{{ $t('HomeView.GeneratedDesign') }}
|
||||
{{ $t('HomeView.SelectedDesign') }}
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="right_content_img_block scroll_style Guide_1_17 active" :class="[driver__.driver?'showEvents':'']">
|
||||
<div class="right_content_img_item" ref="designImg">
|
||||
<div class="right_content_img_item" ref="designImg" designType="like" :index="0">
|
||||
|
||||
<div class="content_img_block content_img_GetWidth active" :style="collStyle" @mousedown.stop="designMousedown(getMousePosition($event,false))" @touchstart.passive="designMousedown(getMousePosition($event,true))"
|
||||
v-for="(design, index) in likeDesignCollectionList" :key="design.id"
|
||||
@@ -123,10 +123,45 @@
|
||||
)">
|
||||
</div>
|
||||
</div>
|
||||
<div class="content_img_block" v-show="showDesignMark" :style="collStyle">
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="right_content_block recycleBin" @mouseenter="mouseenter($event,'recycle')" :class="{recycleBinShow:recycleDomHidden}">
|
||||
<div class="right_content_body">
|
||||
<div class="right_content_header">
|
||||
<div class="content_header_left">
|
||||
<i class="fi fi-rs-comments"></i><span class="content_header_des">
|
||||
{{ $t('HomeView.GeneratedDesign') }}
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="right_content_img_block scroll_style">
|
||||
<div class="right_content_img_item" designType="dislike" :index="0">
|
||||
<!-- <div class="content_img_block" v-for="(
|
||||
design, index
|
||||
) in deleteDesignCollectionList" :key="design?.designItemId">
|
||||
<div class="content_img_flex"
|
||||
@click="
|
||||
designDetail(
|
||||
design,
|
||||
index,
|
||||
designCollectionList,
|
||||
'dislike'
|
||||
)">
|
||||
<img class="content_img" :src="design.designOutfitUrl" />
|
||||
</div>
|
||||
<div class="Dustbin" @click.stop="
|
||||
cancelDeleteDesign(index)">
|
||||
Dustbin
|
||||
</div>
|
||||
</div> -->
|
||||
<div class="content_img_block" v-show="showDesignMark">
|
||||
<a-spin size="large" class="content_img_flex"></a-spin>
|
||||
</div>
|
||||
<div class="content_img_block content_img_GetWidth" :style="collStyle" v-for="(
|
||||
<div class="content_img_block content_img_GetWidth" v-for="(
|
||||
design, index
|
||||
) in designCollectionList" :key="design?.designItemId" @mousedown.stop="designMousedown(getMousePosition($event,false))" @touchstart.passive="designMousedown(getMousePosition($event,true))">
|
||||
<div class="content_img_flex"
|
||||
@@ -151,41 +186,7 @@
|
||||
setDeleteDesign(index)">
|
||||
</i>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="right_content_block recycleBin" :class="{recycleBinShow:recycleDomHidden && designCollectionId}">
|
||||
<div class="right_content_body">
|
||||
<div class="right_content_header">
|
||||
<div class="content_header_left">
|
||||
<i class="fi fi-rs-comments"></i><span class="content_header_des">
|
||||
{{ $t('HomeView.recycleBin') }}
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="right_content_img_block scroll_style">
|
||||
<div class="right_content_img_item">
|
||||
<div class="content_img_block" v-for="(
|
||||
design, index
|
||||
) in deleteDesignCollectionList" :key="design?.designItemId">
|
||||
<div class="content_img_flex"
|
||||
@click="
|
||||
designDetail(
|
||||
design,
|
||||
index,
|
||||
designCollectionList,
|
||||
'dislike'
|
||||
)">
|
||||
<img class="content_img" :src="design.designOutfitUrl" />
|
||||
</div>
|
||||
<div class="Dustbin" @click.stop="
|
||||
cancelDeleteDesign(index)">
|
||||
Dustbin
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -256,6 +257,7 @@ import { setCookie, getCookie, WriteCookie } from "@/tool/cookie";
|
||||
import i18n from "@/lang";
|
||||
import { useI18n } from "vue-i18n";
|
||||
import { getMousePosition } from "@/tool/mdEvent";
|
||||
import { removeClass } from "element-plus/es/utils";
|
||||
const FileSaver = require("file-saver");
|
||||
|
||||
export default defineComponent({
|
||||
@@ -376,27 +378,31 @@ export default defineComponent({
|
||||
const setSystemDesigner = (time:any)=>{
|
||||
clearTimeout(collItemSize.collTime)
|
||||
collItemSize.collTime = setTimeout(()=>{
|
||||
nextTick(()=>{
|
||||
let wScale = 60,hScale = 92.5
|
||||
let num = collItemSize.collValue
|
||||
let width = wScale * ((num<20?20:num) / 100)
|
||||
let height =hScale * ((num<20?20:num) / 100)
|
||||
collItemSize.collStyle.width = width + 'rem'
|
||||
collItemSize.collStyle.height = height + 'rem'
|
||||
setDesignImgWidth()
|
||||
},time)
|
||||
}
|
||||
const setDesignImgWidth = ()=>{
|
||||
nextTick(()=>{
|
||||
let width = designImg.value.parentElement.offsetWidth
|
||||
let sonDom = designImg.value.querySelectorAll('.content_img_GetWidth')[0]
|
||||
if(Math.floor(width / (sonDom.offsetWidth+10 + 1)) > (likeDesignCollectionList.value.length + designCollectionList.value.length)){
|
||||
designImg.value.style.width = 100+'%'
|
||||
|
||||
let itemAddWidth = 0
|
||||
let itemAddHeight = 0
|
||||
let parentWidth = designImg.value.parentElement.offsetWidth
|
||||
// let sonDom = designImg.value.querySelectorAll('.content_img_GetWidth')[0]
|
||||
let htmlfontSize = Number(document.documentElement.style.fontSize.split('px')[0])
|
||||
let rowNum = Math.floor(parentWidth / (width*htmlfontSize+10))
|
||||
if(rowNum > (likeDesignCollectionList.value.length + designCollectionList.value.length)){
|
||||
}else{
|
||||
// let recycleBinW = recycleDomHidden.value?'53rem':0
|
||||
designImg.value.style.width = Math.floor(width / (sonDom.offsetWidth+10 + 1)) * (sonDom.offsetWidth + 10 + 1)+ 'px'
|
||||
// designImg.value.style.width = `calc(${Math.floor(width / (sonDom.offsetWidth+10 + 1)) * (sonDom.offsetWidth + 10 + 1)}px - ${recycleBinW})`
|
||||
let residue = parentWidth - Math.floor(parentWidth / (width*htmlfontSize+10 )) * (width*htmlfontSize + 10)
|
||||
itemAddWidth = residue / rowNum / htmlfontSize
|
||||
itemAddHeight = width / height * itemAddWidth
|
||||
}
|
||||
|
||||
|
||||
collItemSize.collStyle.width = width + itemAddWidth + 'rem'
|
||||
collItemSize.collStyle.height = height + itemAddHeight + 'rem'
|
||||
})
|
||||
|
||||
},time)
|
||||
}
|
||||
const setDeleteDesign = (index:any)=>{
|
||||
store.commit("setDeleteDesignCollectionList",index);
|
||||
@@ -404,11 +410,11 @@ export default defineComponent({
|
||||
const cancelDeleteDesign = (index:any)=>{
|
||||
store.commit("cancelDeleteDesignCollectionList",index);
|
||||
}
|
||||
setSystemDesigner(0)
|
||||
|
||||
let moveData = reactive({
|
||||
moveDataImg:'',
|
||||
moveDataImg_:'',
|
||||
downType:'',
|
||||
moveDataStyle:{
|
||||
position: 'absolute',
|
||||
top: '0',
|
||||
@@ -430,6 +436,7 @@ export default defineComponent({
|
||||
moveData.downXy.y = e.clientY
|
||||
moveData.moveDataStyle.width = e.target.offsetWidth + 'px'
|
||||
moveData.moveDataStyle.height = e.target.offsetHeight + 'px'
|
||||
moveData.downType = e.target.getAttribute('designType');
|
||||
|
||||
window.addEventListener('mousemove', mouseMove);
|
||||
window.addEventListener('touchmove', touchmove);
|
||||
@@ -445,7 +452,7 @@ export default defineComponent({
|
||||
let e = getMousePosition(event,true)
|
||||
desingMousemove(e)
|
||||
}
|
||||
const designMouseup = (e:any)=>{
|
||||
const designMouseup = async (e:any)=>{
|
||||
document.removeEventListener('mousemove',mouseMove)
|
||||
document.removeEventListener('touchmove',touchmove)
|
||||
document.removeEventListener('mouseup',designMouseup)
|
||||
@@ -456,12 +463,82 @@ export default defineComponent({
|
||||
var type = e.target.getAttribute('designType');
|
||||
var index = e.target.getAttribute('index');
|
||||
if(index){
|
||||
let arr = type == 'like'?likeDesignCollectionList.value:designCollectionList.value
|
||||
// arr[index]
|
||||
let item = arr.splice(moveData.downIndex, 1)
|
||||
arr.splice(index, 0, ...item)
|
||||
let likeList = likeDesignCollectionList.value
|
||||
let designList = designCollectionList.value
|
||||
let arr = moveData.downType == 'like' ? likeList : designList
|
||||
let arr1 = type == 'like' ? likeList : designList
|
||||
let item:any
|
||||
if(moveData.downType !== type){
|
||||
let httpsUrl = moveData.downType == 'like'?Https.httpUrls.designDislike:Https.httpUrls.designLike
|
||||
let data
|
||||
if(moveData.downType == 'like'){
|
||||
data = {
|
||||
designId: arr[moveData.downIndex].designId || designId.value,
|
||||
designPythonOutfitId:arr[moveData.downIndex].designOutfitId,
|
||||
groupDetailId: arr[moveData.downIndex].groupDetailId,
|
||||
timeZone: Intl.DateTimeFormat().resolvedOptions().timeZone,
|
||||
}
|
||||
}else{
|
||||
data = {
|
||||
designItemId: arr[moveData.downIndex].designItemId,
|
||||
userGroupId: userGroupId.value,
|
||||
timeZone: Intl.DateTimeFormat().resolvedOptions().timeZone,
|
||||
designPythonOutfitId: arr[moveData.downIndex].designOutfitId? arr[moveData.downIndex].designOutfitId: arr[moveData.downIndex].designPythonOutfitId
|
||||
}
|
||||
|
||||
}
|
||||
if(moveData.downType == 'like'){
|
||||
await like(data,httpsUrl)
|
||||
}else{
|
||||
item = await like(data,httpsUrl)
|
||||
}
|
||||
}
|
||||
item = item?item:arr.splice(moveData.downIndex, 1)
|
||||
arr1.splice(index, 0, ...item)
|
||||
}
|
||||
}
|
||||
const like = async (data:any,httpsUrl:string)=>{
|
||||
await new Promise<void>((resolve, reject) => {
|
||||
// let data = {
|
||||
// designItemId: item.designItemId,
|
||||
// userGroupId: userGroupId.value,
|
||||
// timeZone: Intl.DateTimeFormat().resolvedOptions().timeZone,
|
||||
// designPythonOutfitId: item.designOutfitId? item.designOutfitId: item.designPythonOutfitId
|
||||
// }
|
||||
Https.axiosPost(httpsUrl, data).then((rv)=>{
|
||||
let value:any = {
|
||||
id:rv.userGroupId,
|
||||
userLikeSortId:rv.id,
|
||||
userLikeGroupId:rv.userGroupId,
|
||||
sort:rv.sort,
|
||||
}
|
||||
resolve(value)
|
||||
}).catch()
|
||||
})
|
||||
}
|
||||
//排序 从大到小
|
||||
const sortDesignCollection = ()=> {
|
||||
let arr = JSON.parse(JSON.stringify(likeDesignCollectionList.value))
|
||||
let arrData:any = []
|
||||
arr.forEach((item:any,index:number)=>{
|
||||
let obj = {
|
||||
id:item.userLikeSortId,
|
||||
"sort": arr.length - index,
|
||||
"userLikeGroupId": item.userLikeGroupId,
|
||||
"userLikeId": item.id
|
||||
}
|
||||
arrData.push(obj)
|
||||
})
|
||||
console.log(arrData);
|
||||
let data = {
|
||||
"userLikeGroupId": userGroupId.value,
|
||||
"userLikeSortList": arrData
|
||||
}
|
||||
Https.axiosPost(Https.httpUrls.designSort, data).then((rv:any)=>{
|
||||
console.log(rv);
|
||||
|
||||
})
|
||||
}
|
||||
const desingMousemove = (e:any)=>{
|
||||
if(!moveData.moveDataImg)moveData.moveDataImg = moveData.moveDataImg_
|
||||
let width = moveData.moveDataStyle.width.split('px')[0]
|
||||
@@ -469,6 +546,10 @@ export default defineComponent({
|
||||
moveData.moveDataStyle.left = e.clientX - Number(width)/2+'px'
|
||||
moveData.moveDataStyle.top = e.clientY - Number(height)/2+'px'
|
||||
}
|
||||
const mouseenter = (e:any,str:string)=>{
|
||||
console.log(23,str);
|
||||
|
||||
}
|
||||
return {
|
||||
store,
|
||||
likeDesignCollectionList,
|
||||
@@ -498,12 +579,13 @@ export default defineComponent({
|
||||
recycleDomHidden,
|
||||
getDesignTime,
|
||||
|
||||
setDesignImgWidth,
|
||||
setDeleteDesign,
|
||||
cancelDeleteDesign,
|
||||
...toRefs(moveData),
|
||||
designMousedown,
|
||||
sortDesignCollection,
|
||||
getMousePosition,
|
||||
mouseenter,
|
||||
};
|
||||
},
|
||||
data() {
|
||||
@@ -544,6 +626,8 @@ export default defineComponent({
|
||||
|
||||
beforeUnmount(){
|
||||
clearTimeout(this.getDesignTime);
|
||||
// alert(1)
|
||||
this.sortDesignCollection()
|
||||
sessionStorage.setItem('domHidden',JSON.stringify(this.domHidden))
|
||||
sessionStorage.setItem('recycleDomHidden',JSON.stringify(this.recycleDomHidden))
|
||||
sessionStorage.setItem('collValue',JSON.stringify(this.collValue))
|
||||
@@ -826,7 +910,7 @@ export default defineComponent({
|
||||
await new Promise((resolve, reject) => {
|
||||
setTimeout(() => {
|
||||
this.designCollectionList.unshift(item)
|
||||
this.setDesignImgWidth()
|
||||
this.setSystemDesigner(0)
|
||||
resolve('')
|
||||
}, 200);
|
||||
})
|
||||
@@ -935,6 +1019,8 @@ export default defineComponent({
|
||||
processId:this.designRandom
|
||||
};
|
||||
// data.moodboardPosition = JSON.stringify(this.store.state.UploadFilesModule.moodboardPosition)
|
||||
this.setSystemDesigner(0)
|
||||
|
||||
let isLoad = false
|
||||
if(designCollectionId == -1){
|
||||
isLoad = true
|
||||
@@ -1114,6 +1200,7 @@ export default defineComponent({
|
||||
});
|
||||
},
|
||||
|
||||
|
||||
//获取选择的组
|
||||
getHistoryChoose(userGroupId: any, type: any) {
|
||||
|
||||
@@ -1125,6 +1212,7 @@ export default defineComponent({
|
||||
this.setPortfolio(rv.portfolioDTO)
|
||||
this.store.commit("setUserGroupId", rv.userGroupId);
|
||||
this.dealHistoryChooseData(rv, type);
|
||||
this.setSystemDesigner(0)
|
||||
this.isShowMark = false;
|
||||
})
|
||||
.catch((rv) => {
|
||||
@@ -1160,8 +1248,6 @@ export default defineComponent({
|
||||
},
|
||||
//处理选择组的数据
|
||||
dealHistoryChooseData(data: any, type: any) {
|
||||
console.log(data.collection.moodboardPosition);
|
||||
|
||||
let collectionData = {
|
||||
disposeMoodboard: data.collection.moodTemplateId?[{
|
||||
id:data.collection.moodTemplateId,
|
||||
@@ -1198,7 +1284,9 @@ export default defineComponent({
|
||||
);
|
||||
this.isHaveReviewCollection = true;
|
||||
if (type === "normal") {
|
||||
let likeDesignCollectionList = data.userLikeDetails.map(
|
||||
let arr = data.userLikeDetails.sort((a:any, b:any) => b.sort - a.sort);
|
||||
|
||||
let likeDesignCollectionList = arr.map(
|
||||
(v: any) => {
|
||||
let data = {
|
||||
...v,
|
||||
@@ -1214,7 +1302,7 @@ export default defineComponent({
|
||||
likeDesignCollectionList
|
||||
);
|
||||
}
|
||||
this.setDesignImgWidth()
|
||||
this.setSystemDesigner(100)
|
||||
},
|
||||
|
||||
//统一处理选择组的渲染数据
|
||||
@@ -1335,7 +1423,7 @@ export default defineComponent({
|
||||
setShowHide(str:string){
|
||||
if(str == 'recycleDomHidden')this.recycleDomHidden = !this.recycleDomHidden
|
||||
if(str == 'domHidden')this.domHidden = !this.domHidden
|
||||
this.setDesignImgWidth()
|
||||
this.setSystemDesigner(0)
|
||||
}
|
||||
},
|
||||
});
|
||||
@@ -1435,7 +1523,7 @@ export default defineComponent({
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
position: relative;
|
||||
background: #f7f8fa;
|
||||
background: #f6f6fa;
|
||||
border-radius: 2rem;
|
||||
overflow: hidden;
|
||||
|
||||
@@ -1531,6 +1619,9 @@ export default defineComponent({
|
||||
// top: calc(50% - 10.4rem / 2);
|
||||
border: 2px solid;
|
||||
border-left: none;
|
||||
background: #000;
|
||||
color: #fff;
|
||||
flex-direction: column;
|
||||
&.active{
|
||||
right: 53rem;
|
||||
transform: translate(0, -50%);
|
||||
@@ -1592,6 +1683,7 @@ export default defineComponent({
|
||||
.right_content_body {
|
||||
width: 55rem;
|
||||
.right_content_img_block{
|
||||
|
||||
.content_img_block{
|
||||
width: 16rem;
|
||||
height: 23rem;
|
||||
@@ -1661,7 +1753,6 @@ export default defineComponent({
|
||||
}
|
||||
.right_content_body {
|
||||
// padding: 0 1.8rem 0 1.2rem;
|
||||
background: rgba(255, 255, 255, 0.2);
|
||||
// height: calc(50% - 4.5rem);
|
||||
flex: 1;
|
||||
overflow: auto;
|
||||
@@ -1680,40 +1771,44 @@ export default defineComponent({
|
||||
// padding-bottom: 1rem;
|
||||
overflow-x: auto;
|
||||
justify-content: center;
|
||||
&.active::-webkit-scrollbar-button:single-button{
|
||||
&.active::-webkit-scrollbar {
|
||||
display: none;
|
||||
}
|
||||
&.active::-webkit-scrollbar {
|
||||
/* 竖轴的宽度 */
|
||||
width: 1rem;
|
||||
/* 横轴的高度 */
|
||||
height: 1rem;
|
||||
transition: all .3s;
|
||||
}
|
||||
/* 进度 */
|
||||
&.active::-webkit-scrollbar-thumb {
|
||||
border-radius: 1rem;
|
||||
background: rgba(238, 238, 244, 0);
|
||||
}
|
||||
/* 轨道 */
|
||||
&.active::-webkit-scrollbar-track {
|
||||
border-radius: 1rem;
|
||||
background: rgba(238, 238, 244, 0);
|
||||
}
|
||||
&.active:hover {
|
||||
// overflow-x: scroll;
|
||||
&.active::-webkit-scrollbar-thumb {
|
||||
background: #543087;
|
||||
}
|
||||
/* 轨道 */
|
||||
&.active::-webkit-scrollbar-track {
|
||||
background: rgba(84, 48, 135,.2);
|
||||
}
|
||||
}
|
||||
// &.active::-webkit-scrollbar-button:single-button{
|
||||
// display: none;
|
||||
// }
|
||||
// &.active::-webkit-scrollbar {
|
||||
// /* 竖轴的宽度 */
|
||||
// width: 1rem;
|
||||
// /* 横轴的高度 */
|
||||
// height: 1rem;
|
||||
// transition: all .3s;
|
||||
// }
|
||||
// /* 进度 */
|
||||
// &.active::-webkit-scrollbar-thumb {
|
||||
// border-radius: 1rem;
|
||||
// background: rgba(238, 238, 244, 0);
|
||||
// }
|
||||
// /* 轨道 */
|
||||
// &.active::-webkit-scrollbar-track {
|
||||
// border-radius: 1rem;
|
||||
// background: rgba(238, 238, 244, 0);
|
||||
// }
|
||||
// &.active:hover {
|
||||
// // overflow-x: scroll;
|
||||
// &.active::-webkit-scrollbar-thumb {
|
||||
// background: #543087;
|
||||
// }
|
||||
// /* 轨道 */
|
||||
// &.active::-webkit-scrollbar-track {
|
||||
// background: rgba(84, 48, 135,.2);
|
||||
// }
|
||||
// }
|
||||
>div{
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
// padding: 0 2.8rem 0 0.9rem;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
align-content: flex-start;
|
||||
}
|
||||
@@ -1725,13 +1820,12 @@ export default defineComponent({
|
||||
box-sizing: border-box;
|
||||
margin: 5px;
|
||||
// min-height: 271px;
|
||||
max-height: 100%;
|
||||
max-height: 80%;
|
||||
|
||||
display: inline-block;
|
||||
position: relative;
|
||||
vertical-align: top;
|
||||
flex-shrink: 0;
|
||||
max-height: 100%;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
@@ -1751,6 +1845,7 @@ export default defineComponent({
|
||||
height: 100%;
|
||||
border-radius: 2rem;
|
||||
border: 2px solid #E0E0E0;
|
||||
background: #fff;
|
||||
}
|
||||
&.active{
|
||||
.icon_like,.icon_delete{
|
||||
|
||||
@@ -4,11 +4,11 @@
|
||||
<div>Works</div>
|
||||
</div> -->
|
||||
<div class="modal_title_text modal_search" v-if="!otherUsers">
|
||||
<div v-show="isScroll" v-for="item in worksType" :key="item" class="modal_title_text_assistant" @click="setWorksSelect(item)" :class="{active:item.value == worksSelect}">
|
||||
<div v-show="isScroll" v-for="item in worksType" :key="item" class="gallery_btn white" @click="setWorksSelect(item)" :class="{active:item.value == worksSelect}">
|
||||
{{ item.name }}
|
||||
</div>
|
||||
<div v-show="!isScroll" class="modal_title_text_assistant" :class="{active:'all' == worksSelect}" @click="setWorksSelect({value:'all'})">All</div>
|
||||
<div v-show="!isScroll" class="modal_title_text_assistant" :class="{active:'RCAworkshop_2024' == worksSelect}" @click="setWorksSelect({value:'RCAworkshop_2024'})">AiDA Workshop 2024</div>
|
||||
<div v-show="!isScroll" class="gallery_btn white" :class="{active:'all' == worksSelect}" @click="setWorksSelect({value:'all'})">All</div>
|
||||
<div v-show="!isScroll" class="gallery_btn white" :class="{active:'RCAworkshop_2024' == worksSelect}" @click="setWorksSelect({value:'RCAworkshop_2024'})">AiDA Workshop 2024</div>
|
||||
<!-- <div class="modal_search_menu">
|
||||
<generalMenu :dataList="menuList" @setprintModel="setprintModel" :item="selectMenu"></generalMenu>
|
||||
</div> -->
|
||||
@@ -291,20 +291,13 @@ export default defineComponent({
|
||||
display: flex;
|
||||
margin: 0;
|
||||
padding-bottom: 2.4rem;
|
||||
.modal_title_text_assistant{
|
||||
padding: 1rem 3rem;
|
||||
border-radius: 2rem;
|
||||
background: #eee;
|
||||
margin-right: 1rem;
|
||||
cursor: pointer;
|
||||
.gallery_btn{
|
||||
min-width: 12rem;
|
||||
margin-right: 2rem;
|
||||
}
|
||||
.modal_title_text_assistant:last-child{
|
||||
.gallery_btn:last-child{
|
||||
margin-right: 0;
|
||||
}
|
||||
.active{
|
||||
background: #39215b;
|
||||
color: #fff;
|
||||
}
|
||||
.modal_search_menu{
|
||||
margin-left: auto;
|
||||
z-index: 10;
|
||||
@@ -318,6 +311,7 @@ export default defineComponent({
|
||||
min-height: 80%;
|
||||
height: auto;
|
||||
background: #f7f8fa;
|
||||
border-radius: 3rem;
|
||||
@media (max-width: 768px) {
|
||||
background: #fff;
|
||||
}
|
||||
|
||||
@@ -1,10 +1,6 @@
|
||||
<template>
|
||||
<div class="history_page">
|
||||
<div class="page_content">
|
||||
<img
|
||||
class="page_content_bg"
|
||||
src="@/assets/images/homePage/bg.png"
|
||||
/>
|
||||
<div class="page_content_body">
|
||||
<!-- <HeaderComponent></HeaderComponent> -->
|
||||
<div class="history_page_body">
|
||||
@@ -14,14 +10,18 @@
|
||||
<input class="search_input" :placeholder="$t('HistoryPage.inputContent1')" v-model="searchCollectionName" @keydown.enter="searchHistoryList()">
|
||||
<div class="search_icon_block" @click="searchHistoryList()"><span class="icon iconfont icon-sousuo"></span></div>
|
||||
</div> -->
|
||||
<div class="content_search_block">
|
||||
<a-range-picker class="range_picker" v-model:value="rangePickerValue" :placeholder="[$t('HistoryPage.StartDate'), $t('HistoryPage.EndDate')]" valueFormat="YYYY-MM-DD">
|
||||
<template #suffixIcon>
|
||||
<span class="icon iconfont range_picker_icon icon-rili"></span>
|
||||
</template>
|
||||
</a-range-picker>
|
||||
<input class="search_input" :placeholder="$t('LibraryPage.inputContent1')" v-model="searchCollectionName" @keydown.enter="searchHistoryList()">
|
||||
<div class="search_cascader">
|
||||
<div class="content_search_block generalModel_state">
|
||||
<div class="generalModel_state_item">
|
||||
<a-range-picker class="range_picker" v-model:value="rangePickerValue" :placeholder="[$t('HistoryPage.StartDate'), $t('HistoryPage.EndDate')]" valueFormat="YYYY-MM-DD">
|
||||
<template #suffixIcon>
|
||||
<span class="icon iconfont range_picker_icon icon-rili"></span>
|
||||
</template>
|
||||
</a-range-picker>
|
||||
</div>
|
||||
<div class="generalModel_state_item">
|
||||
<input class="search_input" :placeholder="$t('LibraryPage.inputContent1')" v-model="searchCollectionName" @keydown.enter="searchHistoryList()">
|
||||
</div>
|
||||
<div class="generalModel_state_item">
|
||||
<el-cascader
|
||||
:options="options"
|
||||
filterable
|
||||
@@ -49,7 +49,8 @@
|
||||
<div :title="$t('LibraryPage.intersection')" @click="()=>intersection = 0" v-show="intersection == 1" :class="['icon', 'iconfont','icon-bingji1',]"></div>
|
||||
</div>
|
||||
<!-- <div class="search_icon_block" @click="getLibraryList('')"><span class="icon iconfont icon-sousuo"></span></div> -->
|
||||
<div class="generage_btn search_icon_block" @click="searchHistoryList()"><span class="icon iconfont icon-sousuo"></span></div>
|
||||
<div class="gallery_btn" style="padding: 2rem; line-height: 1;" @click="searchHistoryList('')"><span class="icon iconfont icon-sousuo"></span></div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -404,13 +405,6 @@ export default defineComponent({
|
||||
position: relative;
|
||||
.page_content {
|
||||
position: relative;
|
||||
|
||||
.page_content_bg {
|
||||
position: absolute;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.page_content_body {
|
||||
position: absolute;
|
||||
width: 100%;
|
||||
@@ -420,7 +414,7 @@ export default defineComponent({
|
||||
.history_page_body{
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
padding: 4rem 2.5rem 4rem;
|
||||
padding: 3rem 0;
|
||||
box-sizing: border-box;
|
||||
|
||||
.history_header{
|
||||
@@ -435,19 +429,7 @@ export default defineComponent({
|
||||
display: flex;
|
||||
align-items: center;
|
||||
|
||||
.range_picker{
|
||||
width: 36rem;
|
||||
height: 3rem;
|
||||
margin-right: 2rem;
|
||||
|
||||
.ant-picker-input > input{
|
||||
font-size: 1.6rem;
|
||||
}
|
||||
|
||||
.range_picker_icon{
|
||||
font-size: 2.2rem;
|
||||
}
|
||||
}
|
||||
|
||||
.ant-picker:hover, .ant-picker-focused{
|
||||
border-color: #d5d8df;
|
||||
}
|
||||
@@ -455,28 +437,7 @@ export default defineComponent({
|
||||
display: flex;
|
||||
align-items: center;
|
||||
width: 140rem;
|
||||
.search_input{
|
||||
height: 3rem;
|
||||
border-radius: 0.5rem;
|
||||
width: 20rem;
|
||||
border: 1px solid rgba(0, 0, 0, 0.15);
|
||||
padding-left: 1.5rem;
|
||||
border: 0.2rem solid #d5d8df;
|
||||
font-size: 1.2rem;
|
||||
font-weight: 400;
|
||||
margin-right: 2rem;
|
||||
&::placeholder {
|
||||
color: #C2C2C2;
|
||||
}
|
||||
}
|
||||
.search_cascader{
|
||||
// width: 53%;
|
||||
width: 38rem;
|
||||
display: flex;
|
||||
position: relative;
|
||||
|
||||
|
||||
}
|
||||
|
||||
.search_icon_block{
|
||||
width: 5.2rem;
|
||||
height: 2.8rem;
|
||||
@@ -493,10 +454,13 @@ export default defineComponent({
|
||||
}
|
||||
}
|
||||
.intersection{
|
||||
margin-left: 3rem;
|
||||
cursor: pointer;
|
||||
margin-right: 3rem;
|
||||
>div{
|
||||
font-size: 3rem;
|
||||
font-weight: 900;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -519,24 +483,22 @@ export default defineComponent({
|
||||
&::-webkit-scrollbar { width: 0 !important }
|
||||
|
||||
}
|
||||
|
||||
|
||||
.ant-table-thead > tr > th{
|
||||
background: #FFFFFF;
|
||||
}
|
||||
|
||||
.ant-table-tbody > tr:hover{
|
||||
background: #ededed;
|
||||
}
|
||||
.ant-table-tbody > tr > td{
|
||||
border: none;
|
||||
background: transparent;
|
||||
|
||||
|
||||
}
|
||||
|
||||
.ant-table-tbody > tr{
|
||||
|
||||
&:hover > td{
|
||||
background: #FFFFFF;
|
||||
}
|
||||
}
|
||||
.ant-table-pagination-right{
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
.ant-table-pagination-right{
|
||||
padding-right: 3.5rem;
|
||||
@@ -552,7 +514,7 @@ export default defineComponent({
|
||||
font-size: 1.4rem;
|
||||
font-family: Roboto;
|
||||
font-weight: 400;
|
||||
color: #343579;
|
||||
color: #007EE5;
|
||||
cursor: pointer;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -141,7 +141,7 @@
|
||||
<div :class="['header_operate_item' , 'fontSize',selectImgList.length>0?'active':'']" @click="showRenameModal(selectImgList,'batch')">{{ $t('LibraryPage.Rename') }}</div>
|
||||
</div>
|
||||
<div class="content_search_block generalModel_state">
|
||||
<div class="generalModel_state_item smail">
|
||||
<div class="generalModel_state_item">
|
||||
<input
|
||||
class="search_input"
|
||||
style="background-color: #fff;"
|
||||
@@ -149,7 +149,7 @@
|
||||
v-model="searchPictureName"
|
||||
@keydown.enter="getLibraryList('')">
|
||||
</div>
|
||||
<div class="generalModel_state_item search_cascader smail">
|
||||
<div class="generalModel_state_item search_cascader">
|
||||
<el-cascader
|
||||
:options="options"
|
||||
filterable
|
||||
@@ -177,7 +177,7 @@
|
||||
<div :title="$t('LibraryPage.intersection')" @click="()=>intersection = 0" v-show="intersection == 1" :class="['icon', 'iconfont','icon-bingji1',]"></div>
|
||||
</div>
|
||||
<!-- <div class="search_icon_block" @click="getLibraryList('')"><span class="icon iconfont icon-sousuo"></span></div> -->
|
||||
<div class="gallery_btn" style="padding: 1rem; line-height: 1;" @click="getLibraryList('')"><span class="icon iconfont icon-sousuo"></span></div>
|
||||
<div class="gallery_btn" style="padding: 2rem; line-height: 1;" @click="getLibraryList('')"><span class="icon iconfont icon-sousuo"></span></div>
|
||||
</div>
|
||||
<div v-show="imgList.length" :class="['check_all_block',selectImgList.length == imgList.length ? 'check_all' : '']" @click="selectAllImg()">
|
||||
<div class="check_block"><div class="check_block_body" v-show="selectImgList.length == imgList.length && imgList.length"></div></div>
|
||||
@@ -237,7 +237,7 @@
|
||||
<li class="printModel_item" @click="setprintModel(3)">{{ $t('LibraryPage.Model3') }}</li>
|
||||
</ul>
|
||||
</div> -->
|
||||
<generalMenu v-if="printModelList" class="printModel" v-show="selectCode == 'Printboard' && scene?.value == 'Pattern'" :dataList="printModelList" :isCanvas="selectCode == 'Sketchboard'" @setprintModel="setprintModel" :item="printModel"></generalMenu>
|
||||
<generalMenu v-if="printModelList" class="printModel" v-show="selectCode == 'Printboard' && scene?.value == 'Pattern'" :dataList="printModelList" :isCanvas="selectCode == 'Sketchboard'" @setprintModel="setprintModel" :item="printModel" :style_="{padding:'2rem'}"></generalMenu>
|
||||
<div class="input_border">
|
||||
<div class="input_box" :class="{active:inputShow}">
|
||||
<div class="input_box_btnBox" v-if="scene?.value != 'extract'">
|
||||
@@ -360,7 +360,7 @@
|
||||
v-model="captionGeneration"
|
||||
></textarea>
|
||||
<div class="generage_btn_box" v-show="!isGenerate[selectCode]">
|
||||
<div class="generage_btn started_btn">
|
||||
<div class="generage_btn started_btn" style="padding: 2rem;">
|
||||
|
||||
<div @click.stop="getgenerate">
|
||||
<span v-if="
|
||||
@@ -437,6 +437,7 @@
|
||||
<ModelPlacementMobile ref="ModelPlacementMobile" @submitModelPlacement="getLibraryList"></ModelPlacementMobile>
|
||||
<setLabel ref="setLabel"></setLabel>
|
||||
<createSlogan ref="createSlogan" @setSloganData="setSloganData"></createSlogan>
|
||||
<UpgradePlan ref="UpgradePlan"></UpgradePlan>
|
||||
|
||||
<!-- 蒙层 start-->
|
||||
<div class="mark_loading" v-show="isShowMark || getLangIsShowMark">
|
||||
@@ -472,6 +473,7 @@ import { remove } from "jszip";
|
||||
import createSlogan from "@/component/HomePage/createSlogan.vue";
|
||||
import generalMenu from "@/component/HomePage/generalMenu.vue";
|
||||
import { id } from "element-plus/es/locale";
|
||||
import UpgradePlan from "@/component/HomePage/UpgradePlan.vue";
|
||||
export default defineComponent({
|
||||
components: {
|
||||
// HeaderComponent,
|
||||
@@ -485,6 +487,7 @@ export default defineComponent({
|
||||
sketchCategory,
|
||||
createSlogan,
|
||||
generalMenu,
|
||||
UpgradePlan,
|
||||
},
|
||||
props:{
|
||||
getLangIsShowMark:{
|
||||
@@ -1555,6 +1558,25 @@ export default defineComponent({
|
||||
this.isGenerate[selectCodeStr] = false
|
||||
clearInterval(this.remGenerateTime[selectCodeStr])
|
||||
this.remGenerate[selectCodeStr] = false
|
||||
if(res.errCode === 2){
|
||||
let this_ = this
|
||||
Modal.confirm({
|
||||
title: res.errMsg,
|
||||
icon: createVNode(ExclamationCircleOutlined),
|
||||
okText: 'Yes',
|
||||
cancelText: 'No',
|
||||
mask:false,
|
||||
zIndex:99999,
|
||||
centered:true,
|
||||
onOk() {
|
||||
let UpgradePlan:any = this_.$refs.UpgradePlan
|
||||
UpgradePlan.init()
|
||||
},
|
||||
onCancel(){
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
},
|
||||
setGenerate(str:any,dataList:any){
|
||||
@@ -1756,7 +1778,6 @@ export default defineComponent({
|
||||
flex: 1;
|
||||
box-sizing: border-box;
|
||||
display: flex;
|
||||
padding-top: 2rem;
|
||||
.printModel{
|
||||
font-size: 1.4rem;
|
||||
font-weight: 500;
|
||||
@@ -1884,7 +1905,7 @@ export default defineComponent({
|
||||
align-items: center;
|
||||
background: rgba(255,255,255,0.4);
|
||||
box-shadow: 0 0.2rem 0.8rem 0 rgba(238,238,244,0.25);
|
||||
margin-bottom: 3rem;
|
||||
margin: 2rem 0;
|
||||
.library_header_left{
|
||||
height: 4rem;
|
||||
display: flex;
|
||||
@@ -1964,7 +1985,7 @@ export default defineComponent({
|
||||
}
|
||||
}
|
||||
&.content_body_header_generate{
|
||||
// justify-content: flex-start;
|
||||
justify-content: flex-start;
|
||||
.checkboxItem {
|
||||
margin-right: 4rem;
|
||||
label {
|
||||
@@ -1989,6 +2010,7 @@ export default defineComponent({
|
||||
.input_box_btnBox{
|
||||
background: #fff;
|
||||
align-items: center;
|
||||
padding: 2rem;
|
||||
.search_input{
|
||||
height: 3rem;
|
||||
}
|
||||
|
||||
@@ -240,7 +240,7 @@
|
||||
<!-- <div class="login_footer">
|
||||
<div class="login_footer_item">
|
||||
<div class="login_footer_item_text">
|
||||
©2024 Code-Create Limited
|
||||
©2025 Code-Create Limited
|
||||
</div>
|
||||
</div>
|
||||
<div class="login_footer_item">
|
||||
|
||||
Reference in New Issue
Block a user