|
@@ -1,4 +1,4 @@
|
|
|
-<template>
|
|
|
|
|
|
|
+<template xmlns:v-slot="http://www.w3.org/1999/XSL/Transform">
|
|
|
<div class="resout-container AI-Design-container">
|
|
<div class="resout-container AI-Design-container">
|
|
|
<div class="header">
|
|
<div class="header">
|
|
|
<van-nav-bar title="生成结果" left-arrow @click-left="returnPage" @click-right="toHome">
|
|
<van-nav-bar title="生成结果" left-arrow @click-left="returnPage" @click-right="toHome">
|
|
@@ -49,7 +49,7 @@
|
|
|
'生成失败,\n' + StateInfo :
|
|
'生成失败,\n' + StateInfo :
|
|
|
'正在为您加速生成中,先喝杯茶吧~\n退出本页不影响生成')) : '加载中...' }}</p>
|
|
'正在为您加速生成中,先喝杯茶吧~\n退出本页不影响生成')) : '加载中...' }}</p>
|
|
|
</div>
|
|
</div>
|
|
|
- <div class="feedback" @click="toFeedback">
|
|
|
|
|
|
|
+ <div v-if="imageUrl" class="feedback" @click="toFeedback">
|
|
|
<img src="@/assets/AIDesign/feedback_icon.png" class="feedback-icon" />
|
|
<img src="@/assets/AIDesign/feedback_icon.png" class="feedback-icon" />
|
|
|
<span v-if="F_Feedback == null">一键反馈</span>
|
|
<span v-if="F_Feedback == null">一键反馈</span>
|
|
|
<span v-if="F_Feedback != null">查看反馈</span>
|
|
<span v-if="F_Feedback != null">查看反馈</span>
|
|
@@ -101,8 +101,20 @@
|
|
|
<!--<span v-if="!readState" class="badge-dot"></span>-->
|
|
<!--<span v-if="!readState" class="badge-dot"></span>-->
|
|
|
<!--</button>-->
|
|
<!--</button>-->
|
|
|
<!--</div>-->
|
|
<!--</div>-->
|
|
|
-
|
|
|
|
|
</div>
|
|
</div>
|
|
|
|
|
+ <van-image-preview
|
|
|
|
|
+ v-model="showImagePreview"
|
|
|
|
|
+ :images="imagePreviewArray"
|
|
|
|
|
+ :loop="false"
|
|
|
|
|
+ :start-position="imagePreviewIndex"
|
|
|
|
|
+ @change="imagePreviewOnChange">
|
|
|
|
|
+ <template v-slot:index>
|
|
|
|
|
+ <div class="image-preview-header">
|
|
|
|
|
+ <div>{{imagePreviewIndex+1}}/{{imagePreviewArray.length}}</div>
|
|
|
|
|
+ <div>{{imagePreviewIndex == 0 ? '原图' : '效果图'}}</div>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ </template>
|
|
|
|
|
+ </van-image-preview>
|
|
|
</div>
|
|
</div>
|
|
|
</template>
|
|
</template>
|
|
|
<script lang="ts">
|
|
<script lang="ts">
|
|
@@ -132,6 +144,9 @@ export default class extends Vue {
|
|
|
private F_Feedback = null;
|
|
private F_Feedback = null;
|
|
|
private defaultImg = require('@/assets/AIDesign/imgErrIcon.jpg'); // 替换为实际图片路径
|
|
private defaultImg = require('@/assets/AIDesign/imgErrIcon.jpg'); // 替换为实际图片路径
|
|
|
private imgHasErr = false;
|
|
private imgHasErr = false;
|
|
|
|
|
+ private showImagePreview = false;
|
|
|
|
|
+ private imagePreviewArray = [];
|
|
|
|
|
+ private imagePreviewIndex = 0
|
|
|
// 处理内外墙api
|
|
// 处理内外墙api
|
|
|
private GetEntityToApi = {
|
|
private GetEntityToApi = {
|
|
|
outside: GetEntity,
|
|
outside: GetEntity,
|
|
@@ -329,8 +344,13 @@ export default class extends Vue {
|
|
|
toLBHome()
|
|
toLBHome()
|
|
|
}
|
|
}
|
|
|
imgClick(index) {
|
|
imgClick(index) {
|
|
|
- ImagePreview([this.UserFilePathUrl,this.imageUrl],index);
|
|
|
|
|
|
|
+ this.showImagePreview = true;
|
|
|
|
|
+ this.imagePreviewIndex = index;
|
|
|
|
|
+ // ImagePreview([this.UserFilePathUrl,this.imageUrl],index);
|
|
|
}
|
|
}
|
|
|
|
|
+ imagePreviewOnChange(index){
|
|
|
|
|
+ this.imagePreviewIndex = index;
|
|
|
|
|
+ }
|
|
|
private startPolling(): void {
|
|
private startPolling(): void {
|
|
|
// 立即执行一次检查
|
|
// 立即执行一次检查
|
|
|
this.GetEntityData();
|
|
this.GetEntityData();
|
|
@@ -395,6 +415,7 @@ export default class extends Vue {
|
|
|
that.imageUrl = response.Data.BaseUrl + high_Definition_img;
|
|
that.imageUrl = response.Data.BaseUrl + high_Definition_img;
|
|
|
that.imageUrlSmall = response.Data.BaseUrl + response.Data.F_ResultSmallFilePath;
|
|
that.imageUrlSmall = response.Data.BaseUrl + response.Data.F_ResultSmallFilePath;
|
|
|
that.UserFilePathUrl = response.Data.BaseUrl + response.Data.F_UserFilePath;
|
|
that.UserFilePathUrl = response.Data.BaseUrl + response.Data.F_UserFilePath;
|
|
|
|
|
+ that.imagePreviewArray = [that.UserFilePathUrl,that.imageUrl];
|
|
|
}
|
|
}
|
|
|
if (response.Data.StateCode == 1) {
|
|
if (response.Data.StateCode == 1) {
|
|
|
let createTime = new Date(response.Data.CreateDate);
|
|
let createTime = new Date(response.Data.CreateDate);
|
|
@@ -455,6 +476,7 @@ export default class extends Vue {
|
|
|
that.imageUrl = response.Data.BaseUrl + high_Definition_img;
|
|
that.imageUrl = response.Data.BaseUrl + high_Definition_img;
|
|
|
that.imageUrlSmall = response.Data.BaseUrl + response.Data.F_ResultSmallFilePath;
|
|
that.imageUrlSmall = response.Data.BaseUrl + response.Data.F_ResultSmallFilePath;
|
|
|
that.UserFilePathUrl = response.Data.BaseUrl + response.Data.F_UserFilePath;
|
|
that.UserFilePathUrl = response.Data.BaseUrl + response.Data.F_UserFilePath;
|
|
|
|
|
+ that.imagePreviewArray = [that.UserFilePathUrl,that.imageUrl];
|
|
|
}
|
|
}
|
|
|
if (response.Data.StateCode == 2 || response.Data.StateCode == 3 || response.Data.StateCode == 4) {
|
|
if (response.Data.StateCode == 2 || response.Data.StateCode == 3 || response.Data.StateCode == 4) {
|
|
|
that.regenerateDisable = false;
|
|
that.regenerateDisable = false;
|
|
@@ -567,7 +589,7 @@ export default class extends Vue {
|
|
|
private toFeedback(){
|
|
private toFeedback(){
|
|
|
let that = this;
|
|
let that = this;
|
|
|
const F_ID = this.$route.query.F_id || "";
|
|
const F_ID = this.$route.query.F_id || "";
|
|
|
- this.$router.push({ path: '/AIDesign/feedback', query: { F_id: F_ID, feedbackResult: that.F_Feedback == null ? 0 : 1 } });
|
|
|
|
|
|
|
+ this.$router.push({ path: '/AIDesign/feedback', query: { F_id: F_ID, feedbackResult: that.F_Feedback == null ? 0 : 1, wallType: this.wallType } });
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
private viewHistory(): void {
|
|
private viewHistory(): void {
|
|
@@ -956,7 +978,11 @@ export default class extends Vue {
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
-
|
|
|
|
|
|
|
+.image-preview-header{
|
|
|
|
|
+ flex-direction: column;
|
|
|
|
|
+ display: flex;
|
|
|
|
|
+ align-items: center;
|
|
|
|
|
+}
|
|
|
.van-nav-bar__title {
|
|
.van-nav-bar__title {
|
|
|
font-size: 20px;
|
|
font-size: 20px;
|
|
|
color: #333;
|
|
color: #333;
|