Merge branch 'dev_vite' of http://18.167.251.121:10003/aidlab/aida_front into dev_vite
This commit is contained in:
@@ -50,10 +50,10 @@
|
||||
<div v-if="!isEditEmail">{{ userDetail.email }}</div>
|
||||
<input v-else type="text" :value="editEmail">
|
||||
</div>
|
||||
<!-- <div class="icon">
|
||||
<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>
|
||||
<div class="content_item_user_left_detail_bottom">
|
||||
|
||||
@@ -78,13 +78,24 @@
|
||||
type="text"
|
||||
style="width: 220px"
|
||||
/>
|
||||
</div>
|
||||
<div class="admin_state_item">
|
||||
<!-- <div class="admin_state_item" > -->
|
||||
<span>Start Time: <span>*</span></span>
|
||||
<a-space direction="vertical" style="width: 220px">
|
||||
<a-date-picker
|
||||
v-model:value="startTime"
|
||||
:disabled="title != 'Add'"
|
||||
style="width: 220px"
|
||||
/>
|
||||
</a-space>
|
||||
</div>
|
||||
<div class="admin_state_item">
|
||||
<!-- <div class="admin_state_item" > -->
|
||||
<span>End Time: <span>*</span></span>
|
||||
<a-space direction="vertical" style="width: 220px">
|
||||
<a-date-picker
|
||||
v-model:value="rangePickerValue"
|
||||
v-model:value="endTime"
|
||||
:disabled="title != 'Add'"
|
||||
style="width: 220px"
|
||||
/>
|
||||
@@ -156,7 +167,8 @@ export default defineComponent({
|
||||
title: "",
|
||||
});
|
||||
let operationsData = reactive({
|
||||
rangePickerValue: "",
|
||||
endTime: "",
|
||||
startTime: "",
|
||||
percentOff: "",
|
||||
commissionRate: "",
|
||||
maxRedemptions: "",
|
||||
@@ -178,12 +190,17 @@ export default defineComponent({
|
||||
operationsData.cooperator = data.cooperator;
|
||||
operationsData.paidCommission = data.paidCommission;
|
||||
operationsData.remark = data.remark;
|
||||
operationsData.rangePickerValue = dayjs(
|
||||
operationsData.endTime = dayjs(
|
||||
new Date(data.redeemBy * 1000).toISOString().split("T")[0],
|
||||
"YYYY/MM/DD"
|
||||
);
|
||||
operationsData.startTime = dayjs(
|
||||
new Date(data.startTime * 1000).toISOString().split("T")[0],
|
||||
"YYYY/MM/DD"
|
||||
);
|
||||
console.log(data)
|
||||
|
||||
// operationsData.rangePickerValue='2024-08-05T00:00:06'
|
||||
// operationsData.endTime='2024-08-05T00:00:06'
|
||||
// operationsData.validEndTime='2024-08-05T00:00:06'
|
||||
// operationsData.commissionRate = data.commissionRate
|
||||
// operationsData.maxRedemptions = data.maxRedemptions
|
||||
@@ -192,20 +209,23 @@ export default defineComponent({
|
||||
}
|
||||
};
|
||||
let setAddData = () => {
|
||||
const timestampMs =
|
||||
new Date(operationsData.rangePickerValue).getTime() / 1000; // 直接获取毫秒时间戳
|
||||
const emdTimeMs =
|
||||
new Date(operationsData.endTime).getTime() / 1000; // 直接获取毫秒时间戳
|
||||
const startTimeMs =
|
||||
new Date(operationsData.startTime).getTime() / 1000; // 直接获取毫秒时间戳
|
||||
return {
|
||||
percentOff: operationsData.percentOff,
|
||||
maxRedemptions: operationsData.maxRedemptions,
|
||||
commissionRate: operationsData.commissionRate,
|
||||
timestamp: timestampMs,
|
||||
endTime: emdTimeMs,
|
||||
startTime: startTimeMs,
|
||||
cooperator: operationsData.cooperator,
|
||||
remark: operationsData.remark,
|
||||
};
|
||||
};
|
||||
let setEditData = () => {
|
||||
const timestampMs =
|
||||
new Date(operationsData.rangePickerValue).getTime() / 1000; // 直接获取毫秒时间戳
|
||||
new Date(operationsData.endTime).getTime() / 1000; // 直接获取毫秒时间戳
|
||||
return {
|
||||
id: operationsData.id,
|
||||
paidCommission: operationsData.commissionRate,
|
||||
@@ -214,7 +234,8 @@ export default defineComponent({
|
||||
};
|
||||
};
|
||||
let cancelDsign = () => {
|
||||
operationsData.rangePickerValue = "";
|
||||
operationsData.endTime = "";
|
||||
operationsData.startTime = "";
|
||||
operationsData.percentOff = "";
|
||||
operationsData.commissionRate = "";
|
||||
operationsData.maxRedemptions = "";
|
||||
@@ -228,7 +249,7 @@ export default defineComponent({
|
||||
let data;
|
||||
if (operations.title == "Add") {
|
||||
data = setAddData();
|
||||
if (!data.commissionRate || !data.timestamp || !data.percentOff)
|
||||
if (!data.commissionRate || !data.startTime || !data.percentOff || !data.endTime)
|
||||
return message.warning("Please check the input box marked with *");
|
||||
Https.axiosPost(Https.httpUrls.createCoupon, data).then((rv) => {
|
||||
if (rv) {
|
||||
|
||||
@@ -18,7 +18,7 @@ const emit = defineEmits([
|
||||
"undo-redo-status-changed",
|
||||
"trigger-library"
|
||||
]);
|
||||
const {t} = useI18n()
|
||||
const {t,locale} = useI18n()
|
||||
const props = defineProps({
|
||||
activeTool: String,
|
||||
minimapEnabled: {
|
||||
@@ -166,6 +166,16 @@ const normalToolsList = ref([
|
||||
icon: { name: "CFont", size: "20" },
|
||||
class: "text-btn",
|
||||
},
|
||||
{
|
||||
id: "help",
|
||||
title: t("Canvas.help"),
|
||||
action: () => openTutorial(),
|
||||
icon: { name: "CHelp", size: "30" },
|
||||
class: "text-btn",
|
||||
style: {
|
||||
'margin-top': 'auto',
|
||||
},
|
||||
},
|
||||
]);
|
||||
|
||||
// 红绿图模式工具列表
|
||||
@@ -244,6 +254,14 @@ function addText() {
|
||||
emit("add-text");
|
||||
}
|
||||
|
||||
function openTutorial() {
|
||||
if(locale == 'ENGLISH'){
|
||||
window.open('https://aida-user-manual.super.site/specific-scenarios/freely-sketching-in-canvas', '_blank');
|
||||
}else{
|
||||
window.open('https://aida-user-manual-chinese.super.site/%e4%bd%bf%e7%94%a8%e7%94%bb%e5%b8%83%e8%bf%9b%e8%a1%8c%e7%bc%96%e8%be%91 ', '_blank');
|
||||
}
|
||||
}
|
||||
|
||||
function undo() {
|
||||
if (!canUndo.value) return;
|
||||
undoFun();
|
||||
|
||||
@@ -357,7 +357,7 @@ export default defineComponent({
|
||||
designSingleItemDTOList:clothes,
|
||||
isPreview:true,
|
||||
// ifSubmit:designItemDetail.isPreview,
|
||||
gender:workspace?.sex == 'Male'?1:0,
|
||||
gender:workspace?.sex,
|
||||
sketchString:'',
|
||||
modelId:(detailData.currentDetailType == 'models' && detailData.designDetail.newModel)?detailData.designDetail.newModel.id:detailData.designDetail.oldModel?detailData.designDetail.oldModel.id:'',
|
||||
modelType:(detailData.currentDetailType == 'models' && detailData.designDetail.newModel)?detailData.designDetail.newModel.type:detailData.designDetail.oldModel?detailData.designDetail.oldModel.type:'',
|
||||
@@ -567,15 +567,17 @@ export default defineComponent({
|
||||
height: 100%;
|
||||
overflow: hidden;
|
||||
&.detailLeft{
|
||||
width: 34rem;
|
||||
width: 30rem;
|
||||
// width: 34rem;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
&.isEditPattern{width: 0px;}
|
||||
&.model{
|
||||
width: 50rem;
|
||||
margin: 0 10rem;
|
||||
width: 45rem;
|
||||
// width: 50rem;
|
||||
margin: 0 8rem;
|
||||
// margin: 0 10rem;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
@@ -16,14 +16,6 @@
|
||||
imageMode:'contains',
|
||||
}"
|
||||
ref="editCanvas">
|
||||
|
||||
<template #customToolsBottom="{ toolButtonProps }">
|
||||
<!-- 也可以直接使用普通的按钮 -->
|
||||
<div class="custom-tool-btn" :class="{active:currentView === 'redGreenExample'}" style="margin-top: auto;" @click="editFront('redGreenExample')">
|
||||
<SvgIcon name="CHelp" size="30" />
|
||||
<div class="tool-tooltip">{{ $t('Canvas.help') }}</div>
|
||||
</div>
|
||||
</template>
|
||||
</editCanvas>
|
||||
<!-- <canvasContent ref="canvasContent"></canvasContent> -->
|
||||
</div>
|
||||
@@ -35,6 +27,7 @@
|
||||
ref="editFrontBack">
|
||||
</editFrontBack> -->
|
||||
<editCanvas v-if="canvasLoad" :config="canvasConfig"
|
||||
@canvasInit="canvasInit"
|
||||
:enabledRedGreenMode="true"
|
||||
:clothingImageUrl="selectDetail.path"
|
||||
:redGreenImageUrl="frontBack.front[imgDomIndex].maskUrl"
|
||||
|
||||
@@ -70,7 +70,7 @@ export default defineComponent({
|
||||
</script>
|
||||
<style lang="less" scoped>
|
||||
.detailLeft{
|
||||
width: 34rem;
|
||||
// width: 34rem;
|
||||
// width: 100%;
|
||||
height: 100%;
|
||||
display: flex;
|
||||
|
||||
@@ -179,8 +179,11 @@ export default defineComponent({
|
||||
> .switch_type_item{
|
||||
position: relative;
|
||||
cursor: pointer;
|
||||
margin-right: 6.5rem;
|
||||
margin-right: 4rem;
|
||||
font-size: 1.8rem;
|
||||
> .detailText{
|
||||
font-size: 1.6rem;
|
||||
}
|
||||
}
|
||||
> .switch_type_item::before {
|
||||
position: absolute;
|
||||
|
||||
@@ -940,6 +940,9 @@ export default defineComponent({
|
||||
flex: 1;
|
||||
overflow: hidden;
|
||||
position: relative;
|
||||
margin: 2rem 0;
|
||||
width: 80%;
|
||||
align-self: center;
|
||||
> .mark_loading{
|
||||
position: absolute;
|
||||
}
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
v-model:visible="cutPicuterModal"
|
||||
:footer="null"
|
||||
:get-container="() => $refs.cutPrictureModal"
|
||||
width="78%"
|
||||
width="75%"
|
||||
:maskClosable="false"
|
||||
:centered="true"
|
||||
:closable="false"
|
||||
|
||||
@@ -365,6 +365,7 @@ export default defineComponent({
|
||||
title:this.selectSex,
|
||||
surname:this.surname,
|
||||
givenName:this.givenName,
|
||||
userId:this.userDetail.userId,
|
||||
};
|
||||
if(this.loginTime){
|
||||
this.loginTime = false
|
||||
|
||||
@@ -502,6 +502,7 @@ export default defineComponent({
|
||||
if(item.isChecked){
|
||||
obj.elementId = item.id
|
||||
obj.elementType = item.type
|
||||
obj.elementType = obj.elementType == 'Relight'?'ToProductImage':obj.elementType
|
||||
selectArr.push(JSON.parse(JSON.stringify(obj)))
|
||||
}
|
||||
})
|
||||
|
||||
@@ -296,6 +296,8 @@ export default defineComponent({
|
||||
elementId:scaleImageList.value[scaleImageIndex.value].elementId,
|
||||
elementType:scaleImageList.value[scaleImageIndex.value].elementType,
|
||||
}
|
||||
obj.elementType = obj.elementType == 'Relight'?'ToProductImage':obj.elementType
|
||||
|
||||
// let imageStrength = productimg.productimgSimilarity == 100? 95 :productimg.productimgSimilarity
|
||||
let imageStrength = 70 / 100 * productimg.productimgSimilarity
|
||||
let data:any ={
|
||||
|
||||
@@ -126,6 +126,10 @@ export default defineComponent({
|
||||
})
|
||||
const cancelDsign = ()=>{
|
||||
data.showLoadsBrandDNA = false;
|
||||
data.brandName = ''
|
||||
data.brandSlogan = ''
|
||||
data.generateText = ''
|
||||
data.uploadList = []
|
||||
}
|
||||
const upFileUploadChange = (value:any)=>{
|
||||
let file = value.file;
|
||||
|
||||
@@ -355,11 +355,11 @@ export default defineComponent({
|
||||
this.fileList.splice(moodboard,1)
|
||||
this.store.commit("setMoodboardFile", this.fileList);
|
||||
}
|
||||
if(this.store.state.UploadFilesModule.moodboard.length == 0){
|
||||
// if(this.store.state.UploadFilesModule.moodboard.length == 0){
|
||||
this.store.commit("clearMoodTemplateId");
|
||||
this.layoutList = []
|
||||
this.edieShow = false
|
||||
}
|
||||
// }
|
||||
},
|
||||
openSetData() {
|
||||
let arr = JSON.parse(
|
||||
|
||||
@@ -1818,7 +1818,19 @@ export default defineComponent({
|
||||
},
|
||||
|
||||
getSkecthBoard(boardData: any) {
|
||||
console.log(boardData,this.store.state.Workspace.probjects)
|
||||
boardData = boardData || []
|
||||
const mapB = new Map();
|
||||
boardData.forEach(item => {
|
||||
if (item.categoryValue !== undefined) {
|
||||
mapB.set(item.categoryValue, true);
|
||||
}
|
||||
});
|
||||
|
||||
boardData.filter(item =>
|
||||
item.categoryValue !== undefined && mapB.has(item.categoryValue)
|
||||
);
|
||||
console.log(boardData)
|
||||
let sketchBoards = boardData.map((v: any) => {
|
||||
let data = {
|
||||
designType: v.resData.designType,
|
||||
|
||||
@@ -228,6 +228,7 @@ export default defineComponent({
|
||||
let uploadElementData = {
|
||||
str:'add',
|
||||
list:rv.uploadElement,
|
||||
isGetModule:true,
|
||||
}
|
||||
store.commit('setUploadElement',uploadElementData)
|
||||
|
||||
|
||||
@@ -27,11 +27,11 @@
|
||||
<div class="text">{{$t('Habit.Gender')}}:</div>
|
||||
<div class="radio">
|
||||
<label>
|
||||
<input type="radio" :disabled="status == 'edit'" name="gender" v-model="selectObject.sex" value="Female">
|
||||
<input type="radio" name="gender" v-model="selectObject.sex" value="Female">
|
||||
<span>{{$t('Habit.Female')}}</span>
|
||||
</label>
|
||||
<label>
|
||||
<input type="radio" :disabled="status == 'edit'" name="gender" v-model="selectObject.sex" value="Male">
|
||||
<input type="radio" name="gender" v-model="selectObject.sex" value="Male">
|
||||
<span>{{$t('Habit.Male')}}</span>
|
||||
</label>
|
||||
</div>
|
||||
|
||||
@@ -39,8 +39,7 @@
|
||||
}"
|
||||
:headers="{ Authorization: token }"
|
||||
:before-upload="beforeUpload"
|
||||
v-model:file-list="fileList"
|
||||
:multiple="true"
|
||||
:multiple="!!upload.projectId"
|
||||
accept=".jpg,.png,.jpeg,.bmp"
|
||||
@change="(file) => fileUploadChange(file)"
|
||||
>
|
||||
@@ -136,6 +135,7 @@ import generalDrag from '@/component/modules/generalDrag.vue';
|
||||
import { getUploadUrl,isMoible,getMinioUrl } from "@/tool/util";
|
||||
import { getCookie,setCookie } from "@/tool/cookie";
|
||||
import showViewVideo from "@/tool/mount";
|
||||
import router from '@/router';
|
||||
|
||||
export default defineComponent({
|
||||
components:{
|
||||
@@ -156,6 +156,7 @@ export default defineComponent({
|
||||
setup(props,{emit}) {
|
||||
const {t,locale} = useI18n()
|
||||
const store = useStore();
|
||||
const route = useRoute();
|
||||
const data:any = reactive({
|
||||
button:{
|
||||
left:false,
|
||||
@@ -381,6 +382,11 @@ export default defineComponent({
|
||||
}
|
||||
}
|
||||
let isSelectObject = false
|
||||
watch(()=>route?.query,(newVal)=>{
|
||||
if(!newVal.id){
|
||||
isSelectObject = false
|
||||
}
|
||||
},{immediate:true})
|
||||
let beforeUpload = async (file: any)=>{
|
||||
const isJpgOrPng =
|
||||
file.type === "image/jpeg" ||
|
||||
@@ -394,6 +400,7 @@ export default defineComponent({
|
||||
if (!isLt2M) {
|
||||
message.info(useI18n().t('MoodboardUpload.jsContent4'));
|
||||
}
|
||||
console.log(data?.upload,isSelectObject)
|
||||
if(!data?.upload?.projectId && !isSelectObject){
|
||||
isSelectObject = true
|
||||
await createProbject()
|
||||
@@ -409,28 +416,28 @@ export default defineComponent({
|
||||
file.imgUrl = res.data.url;
|
||||
file.id = res.data.id
|
||||
data.currentList.forEach((listItem:any)=>listItem.isChecked = false)
|
||||
data.fileList.forEach((listItem:any)=>{
|
||||
if(listItem.id == file.id){
|
||||
listItem.isChecked = true
|
||||
}else{
|
||||
listItem.isChecked = false
|
||||
}
|
||||
})
|
||||
// data.fileList.forEach((listItem:any)=>{
|
||||
// if(listItem.id == file.id){
|
||||
// listItem.isChecked = true
|
||||
// }else{
|
||||
// listItem.isChecked = false
|
||||
// }
|
||||
// })
|
||||
file.type = 'ProductElement'
|
||||
// if(props.productimgMenu.value == 'Relight'){
|
||||
// file.type = "ToProductImage"
|
||||
// }
|
||||
data.selectImg = res.data
|
||||
data.fileList.filter((v: any) => v.status === "done");
|
||||
// data.fileList.filter((v: any) => v.status === "done");
|
||||
let storeData = {
|
||||
str:'add',
|
||||
list:[file]
|
||||
}
|
||||
|
||||
store.commit('setUploadElement',storeData)
|
||||
}else{
|
||||
bor = false
|
||||
}
|
||||
// this.showFileList = productImgData.fileList
|
||||
} else if (file.status === "error") {
|
||||
bor = false
|
||||
}
|
||||
|
||||
@@ -563,6 +563,7 @@ export default defineComponent({
|
||||
}else{
|
||||
obj.elementId = item.id
|
||||
obj.elementType = item.resultType || 'ProductElement'
|
||||
obj.elementType = obj.elementType == 'Relight'?'ToProductImage':obj.elementType
|
||||
}
|
||||
obj.parentId = item?.parentId || item?.userLikeSortId,
|
||||
selectArr.push(JSON.parse(JSON.stringify(obj)))
|
||||
|
||||
Reference in New Issue
Block a user