|
@@ -1,48 +1,48 @@
|
|
|
<template>
|
|
<template>
|
|
|
- <div class="AIImageDetail" v-if="data">
|
|
|
|
|
|
|
+ <div class="AIImageDetail" v-if="detail">
|
|
|
<van-nav-bar class="navBar" title="异常反馈" left-arrow @click-left="onClickLeft">
|
|
<van-nav-bar class="navBar" title="异常反馈" left-arrow @click-left="onClickLeft">
|
|
|
</van-nav-bar>
|
|
</van-nav-bar>
|
|
|
<div class="message">
|
|
<div class="message">
|
|
|
<div class="storeTitle">
|
|
<div class="storeTitle">
|
|
|
- <div class="storeName">{{ data.storeName }}</div>
|
|
|
|
|
|
|
+ <div class="storeName">{{ detail.storeName }}</div>
|
|
|
<div class="storeCode" style="margin-left: 5px; margin-top: 2px">
|
|
<div class="storeCode" style="margin-left: 5px; margin-top: 2px">
|
|
|
- (<span style="color: #0057ba; vertical-align: -1px">{{ data.storeCode }}</span
|
|
|
|
|
|
|
+ (<span style="color: #0057ba; vertical-align: -1px">{{ detail.storeCode }}</span
|
|
|
>)
|
|
>)
|
|
|
</div>
|
|
</div>
|
|
|
</div>
|
|
</div>
|
|
|
<div class="item">
|
|
<div class="item">
|
|
|
<div class="label">门店类型:</div>
|
|
<div class="label">门店类型:</div>
|
|
|
- <div class="value">{{ data.storeCategoryName }}</div>
|
|
|
|
|
|
|
+ <div class="value">{{ detail.storeCategoryName }}</div>
|
|
|
</div>
|
|
</div>
|
|
|
<div class="item">
|
|
<div class="item">
|
|
|
<div class="label">地址:</div>
|
|
<div class="label">地址:</div>
|
|
|
- <div class="value">{{ data.addressLine }}</div>
|
|
|
|
|
|
|
+ <div class="value">{{ detail.addressLine }}</div>
|
|
|
</div>
|
|
</div>
|
|
|
<div class="item">
|
|
<div class="item">
|
|
|
<div class="label">拜访人:</div>
|
|
<div class="label">拜访人:</div>
|
|
|
- <div class="value">{{ data.visitUserNickName }}</div>
|
|
|
|
|
|
|
+ <div class="value">{{ detail.visitUserNickName }}</div>
|
|
|
</div>
|
|
</div>
|
|
|
<div class="item">
|
|
<div class="item">
|
|
|
<div class="label">拜访时间:</div>
|
|
<div class="label">拜访时间:</div>
|
|
|
- <div class="value">{{ data.createTime }}</div>
|
|
|
|
|
|
|
+ <div class="value">{{ detail.createTime }}</div>
|
|
|
</div>
|
|
</div>
|
|
|
<div class="item">
|
|
<div class="item">
|
|
|
<div class="label">拍摄类型:</div>
|
|
<div class="label">拍摄类型:</div>
|
|
|
- <div class="value">{{ data.identifyType | filterType }}</div>
|
|
|
|
|
|
|
+ <div class="value">{{ detail.identifyType | filterType }}</div>
|
|
|
</div>
|
|
</div>
|
|
|
<div class="item" style="color: red">
|
|
<div class="item" style="color: red">
|
|
|
<div class="label">识别结果:</div>
|
|
<div class="label">识别结果:</div>
|
|
|
- <div class="value">{{ data.unqualifiedReason }}</div>
|
|
|
|
|
|
|
+ <div class="value">{{ detail.unqualifiedReason }}</div>
|
|
|
</div>
|
|
</div>
|
|
|
<div class="item">
|
|
<div class="item">
|
|
|
- <div class="label">业务员反馈AI识别不正确:{{ data.feedbackMessage || '未反馈' }}</div>
|
|
|
|
|
|
|
+ <div class="label">业务员反馈AI识别不正确:{{ detail.feedbackMessage || '未反馈' }}</div>
|
|
|
</div>
|
|
</div>
|
|
|
<div class="item" style="display: flex; justify-content: center">
|
|
<div class="item" style="display: flex; justify-content: center">
|
|
|
<van-image
|
|
<van-image
|
|
|
- v-if="data.fileUrl"
|
|
|
|
|
|
|
+ v-if="detail.fileUrl"
|
|
|
height="400px"
|
|
height="400px"
|
|
|
- :src="data.fileUrl"
|
|
|
|
|
- @click="previewImgs(data.fileUrl)"
|
|
|
|
|
|
|
+ :src="detail.fileUrl"
|
|
|
|
|
+ @click="previewImgs(detail.fileUrl)"
|
|
|
fit="contain">
|
|
fit="contain">
|
|
|
<template v-slot:loading>
|
|
<template v-slot:loading>
|
|
|
<van-loading type="spinner" size="40" />
|
|
<van-loading type="spinner" size="40" />
|
|
@@ -50,7 +50,35 @@
|
|
|
</van-image>
|
|
</van-image>
|
|
|
</div>
|
|
</div>
|
|
|
</div>
|
|
</div>
|
|
|
- <p class="titleText">请主管了解情况后回复原因及解决方案</p>
|
|
|
|
|
|
|
+ <template v-if="detail.historyFeedback == '0'">
|
|
|
|
|
+ <!-- 旧的识别反馈 -->
|
|
|
|
|
+ <historyAIImageDetail
|
|
|
|
|
+ :detail="detail"
|
|
|
|
|
+ :approveState="approveState"
|
|
|
|
|
+ :abnormalReason="abnormalReason"
|
|
|
|
|
+ :causeMessage="causeMessage"
|
|
|
|
|
+ :photoApproveId="photoApproveId"
|
|
|
|
|
+ :AIResultOption="AIResultOption"></historyAIImageDetail>
|
|
|
|
|
+ </template>
|
|
|
|
|
+ <template v-if="detail.historyFeedback == '1'">
|
|
|
|
|
+ <!-- 新的识别反馈-调色机 -->
|
|
|
|
|
+ <AIImageDetailTSJ
|
|
|
|
|
+ v-if="detail.identifyType == '3'"
|
|
|
|
|
+ :approveState="approveState"
|
|
|
|
|
+ :abnormalReason="abnormalReason"
|
|
|
|
|
+ :causeMessage="causeMessage"
|
|
|
|
|
+ :photoApproveId="photoApproveId"
|
|
|
|
|
+ :AIResultOption="AIResultOption"></AIImageDetailTSJ>
|
|
|
|
|
+ <AIImageDetailPage
|
|
|
|
|
+ v-else
|
|
|
|
|
+ :detail="detail"
|
|
|
|
|
+ :approveState="approveState"
|
|
|
|
|
+ :abnormalReason="abnormalReason"
|
|
|
|
|
+ :causeMessage="causeMessage"
|
|
|
|
|
+ :photoApproveId="photoApproveId"
|
|
|
|
|
+ :AIResultOption="AIResultOption"></AIImageDetailPage>
|
|
|
|
|
+ </template>
|
|
|
|
|
+ <!-- <p class="titleText">请主管勾选门店异常原因,并按对应解决方案尽快整改!</p>
|
|
|
<div class="feedbackReason">
|
|
<div class="feedbackReason">
|
|
|
<div class="result">
|
|
<div class="result">
|
|
|
<div class="title">
|
|
<div class="title">
|
|
@@ -87,21 +115,29 @@
|
|
|
type="textarea"
|
|
type="textarea"
|
|
|
placeholder="如ai识别错误、门店异常原因等,均可在此反馈,本部相关负责人会查看" />
|
|
placeholder="如ai识别错误、门店异常原因等,均可在此反馈,本部相关负责人会查看" />
|
|
|
</div>
|
|
</div>
|
|
|
- </div>
|
|
|
|
|
- <div class="confirmBtn" v-if="approveState == '0'">
|
|
|
|
|
|
|
+ </div> -->
|
|
|
|
|
+ <!-- <div class="confirmBtn" v-if="approveState == '0'">
|
|
|
<van-button type="info" @click="confirm">提交</van-button>
|
|
<van-button type="info" @click="confirm">提交</van-button>
|
|
|
- </div>
|
|
|
|
|
|
|
+ </div> -->
|
|
|
</div>
|
|
</div>
|
|
|
</template>
|
|
</template>
|
|
|
<script>
|
|
<script>
|
|
|
import { ImagePreview } from 'vant';
|
|
import { ImagePreview } from 'vant';
|
|
|
import { getPhotoApproveDetail, savePhotoApprove } from '@/api/AIImage';
|
|
import { getPhotoApproveDetail, savePhotoApprove } from '@/api/AIImage';
|
|
|
import { getDictOption } from '@/api/index';
|
|
import { getDictOption } from '@/api/index';
|
|
|
|
|
+import historyAIImageDetail from './historyAIImageDetail.vue';
|
|
|
|
|
+import AIImageDetailTSJ from './AIImageDetailTSJ.vue';
|
|
|
|
|
+import AIImageDetailPage from './AIImageDetailPage.vue';
|
|
|
export default {
|
|
export default {
|
|
|
name: 'AIImageDetail',
|
|
name: 'AIImageDetail',
|
|
|
|
|
+ components: {
|
|
|
|
|
+ historyAIImageDetail,
|
|
|
|
|
+ AIImageDetailTSJ,
|
|
|
|
|
+ AIImageDetailPage,
|
|
|
|
|
+ },
|
|
|
data() {
|
|
data() {
|
|
|
return {
|
|
return {
|
|
|
- data: null,
|
|
|
|
|
|
|
+ detail: null,
|
|
|
photoApproveId: null,
|
|
photoApproveId: null,
|
|
|
abnormalReason: '1',
|
|
abnormalReason: '1',
|
|
|
causeTitle: '',
|
|
causeTitle: '',
|
|
@@ -138,7 +174,7 @@ export default {
|
|
|
getPhotoApproveDetail({ photoApproveId: this.photoApproveId }).then((res) => {
|
|
getPhotoApproveDetail({ photoApproveId: this.photoApproveId }).then((res) => {
|
|
|
this.toastLoading().clear();
|
|
this.toastLoading().clear();
|
|
|
if (res.code == 200) {
|
|
if (res.code == 200) {
|
|
|
- this.data = res.data;
|
|
|
|
|
|
|
+ this.detail = res.data;
|
|
|
this.approveState = res.data.approveState; //反馈状态:0 未审批 1已审批
|
|
this.approveState = res.data.approveState; //反馈状态:0 未审批 1已审批
|
|
|
if (this.approveState == '0') {
|
|
if (this.approveState == '0') {
|
|
|
// latestPhotoApprove 上次反馈内容 反显
|
|
// latestPhotoApprove 上次反馈内容 反显
|