|
|
@@ -10,289 +10,151 @@
|
|
|
</div>
|
|
|
<div class="item">
|
|
|
<div class="label">门店类型:</div>
|
|
|
- <div class="value">{{ data.storeType }}</div>
|
|
|
+ <div class="value">{{ data.storeCategoryName }}</div>
|
|
|
</div>
|
|
|
<div class="item">
|
|
|
<div class="label">地址:</div>
|
|
|
- <div class="value">{{ data.storeAddress }}</div>
|
|
|
+ <div class="value">{{ data.addressLine }}</div>
|
|
|
</div>
|
|
|
<div class="item">
|
|
|
<div class="label">拜访人:</div>
|
|
|
- <div class="value">{{ data.visitName }}</div>
|
|
|
+ <div class="value">{{ data.visitUserNickName }}</div>
|
|
|
</div>
|
|
|
<div class="item">
|
|
|
<div class="label">拜访时间:</div>
|
|
|
- <div class="value">{{ data.visitTime }}</div>
|
|
|
+ <div class="value">{{ data.approveTime }}</div>
|
|
|
</div>
|
|
|
<div class="item">
|
|
|
- <van-image
|
|
|
- width="100%"
|
|
|
- height="160"
|
|
|
- :src="data.imageUrl"
|
|
|
- @click="previewImgs(data.imageUrl)" />
|
|
|
+ <div class="label">拍摄类型:</div>
|
|
|
+ <div class="value">{{ data.identifyType | filterType }}</div>
|
|
|
</div>
|
|
|
<div class="item">
|
|
|
<div class="label">识别结果:</div>
|
|
|
- <div class="value">{{ data.result }}</div>
|
|
|
+ <div class="value">{{ data.cheatType }}</div>
|
|
|
</div>
|
|
|
+ <p>业务员反馈AI识别不正确:</p>
|
|
|
<div class="item">
|
|
|
- <div class="label">反馈不准确原因:</div>
|
|
|
- <div class="value">{{ data.feedback }}</div>
|
|
|
+ <van-image
|
|
|
+ width="100%"
|
|
|
+ height="360"
|
|
|
+ :src="data.imageUrl"
|
|
|
+ @click="previewImgs(data.imageUrl)" />
|
|
|
</div>
|
|
|
</div>
|
|
|
- <p class="titleText">反馈不一致原因</p>
|
|
|
+ <p class="titleText">请主管了解情况后回复原因及解决方案</p>
|
|
|
<div class="feedbackReason">
|
|
|
- <radioGroup :clueOptionList="customerClueItemList"></radioGroup>
|
|
|
+ <div class="result">
|
|
|
+ <div class="title">
|
|
|
+ <span style="color: red">*</span>
|
|
|
+ <span>AI识别是否正确</span>
|
|
|
+ </div>
|
|
|
+ <van-radio-group v-model="AIResult">
|
|
|
+ <van-radio name="1">正确</van-radio>
|
|
|
+ <van-radio name="0">不正确</van-radio>
|
|
|
+ </van-radio-group>
|
|
|
+ </div>
|
|
|
+ <div class="cause">
|
|
|
+ <div class="title">
|
|
|
+ <span style="color: red">*</span>
|
|
|
+ <span>{{ causeTitle }}</span>
|
|
|
+ </div>
|
|
|
+ <van-field
|
|
|
+ v-model="causeMessage"
|
|
|
+ rows="1"
|
|
|
+ autosize
|
|
|
+ type="textarea"
|
|
|
+ :placeholder="'请输入' + causeTitle" />
|
|
|
+ </div>
|
|
|
</div>
|
|
|
- <div class="confirmBtn"><van-button type="info">提交</van-button></div>
|
|
|
+ <div class="confirmBtn"><van-button type="info" @click="confirm">提交</van-button></div>
|
|
|
</div>
|
|
|
</template>
|
|
|
<script>
|
|
|
import { ImagePreview } from 'vant';
|
|
|
-import radioGroup from './radioGroup.vue';
|
|
|
+import { getPhotoApproveDetail, savePhotoApprove } from '@/api/AIImage';
|
|
|
export default {
|
|
|
name: 'AIImageDetail',
|
|
|
- components: { radioGroup },
|
|
|
data() {
|
|
|
return {
|
|
|
data: {},
|
|
|
- storeId: null,
|
|
|
- customerClueItemList: [
|
|
|
- {
|
|
|
- searchValue: null,
|
|
|
- createBy: 'admin',
|
|
|
- createTime: '2024-12-18 13:55:04',
|
|
|
- updateBy: '',
|
|
|
- updateTime: null,
|
|
|
- remark: '',
|
|
|
- params: {},
|
|
|
- pageSize: null,
|
|
|
- pageNum: null,
|
|
|
- customerClueItemId: 357,
|
|
|
- customerClueId: 72,
|
|
|
- customerClueInfoId: 263,
|
|
|
- customerClueName: 'Ai识别是否正檐',
|
|
|
- itemOptionParentId: null,
|
|
|
- isMust: '0',
|
|
|
- answerType: 'dx',
|
|
|
- minTextLength: null,
|
|
|
- answerValue: null,
|
|
|
- sort: 1,
|
|
|
- delFlag: null,
|
|
|
- fileIdList: null,
|
|
|
- customerClueOptionList: [
|
|
|
- {
|
|
|
- searchValue: null,
|
|
|
- createBy: 'admin',
|
|
|
- createTime: '2024-12-18 13:55:04',
|
|
|
- updateBy: '',
|
|
|
- updateTime: null,
|
|
|
- remark: null,
|
|
|
- params: {},
|
|
|
- pageSize: null,
|
|
|
- pageNum: null,
|
|
|
- customerClueOptionId: 470,
|
|
|
- customerClueItemId: 357,
|
|
|
- customerClueOption: '是',
|
|
|
- value: 'N',
|
|
|
- checked: false,
|
|
|
- customerClueItemList: [],
|
|
|
- },
|
|
|
- {
|
|
|
- searchValue: null,
|
|
|
- createBy: 'admin',
|
|
|
- createTime: '2024-12-18 13:55:04',
|
|
|
- updateBy: '',
|
|
|
- updateTime: null,
|
|
|
- remark: null,
|
|
|
- params: {},
|
|
|
- pageSize: null,
|
|
|
- pageNum: null,
|
|
|
- customerClueOptionId: 471,
|
|
|
- customerClueItemId: 357,
|
|
|
- customerClueOption: '否',
|
|
|
- value: 'N',
|
|
|
- checked: false,
|
|
|
- customerClueItemList: [],
|
|
|
- },
|
|
|
- ],
|
|
|
- fileInfoList: null,
|
|
|
- max: false,
|
|
|
- del: true,
|
|
|
- },
|
|
|
- {
|
|
|
- searchValue: null,
|
|
|
- createBy: 'admin',
|
|
|
- createTime: '2024-12-18 13:55:04',
|
|
|
- updateBy: '',
|
|
|
- updateTime: null,
|
|
|
- remark: '',
|
|
|
- params: {},
|
|
|
- pageSize: null,
|
|
|
- pageNum: null,
|
|
|
- customerClueItemId: 358,
|
|
|
- customerClueId: 72,
|
|
|
- customerClueInfoId: 263,
|
|
|
- customerClueName: '处理情况',
|
|
|
- itemOptionParentId: null,
|
|
|
- isMust: '0',
|
|
|
- answerType: 'dx',
|
|
|
- minTextLength: null,
|
|
|
- answerValue: null,
|
|
|
- sort: 2,
|
|
|
- delFlag: null,
|
|
|
- fileIdList: null,
|
|
|
- customerClueOptionList: [
|
|
|
- {
|
|
|
- searchValue: null,
|
|
|
- createBy: 'admin',
|
|
|
- createTime: '2024-12-18 13:55:04',
|
|
|
- updateBy: '',
|
|
|
- updateTime: null,
|
|
|
- remark: null,
|
|
|
- params: {},
|
|
|
- pageSize: null,
|
|
|
- pageNum: null,
|
|
|
- customerClueOptionId: 472,
|
|
|
- customerClueItemId: 358,
|
|
|
- customerClueOption: '处理中',
|
|
|
- value: 'N',
|
|
|
- checked: false,
|
|
|
- customerClueItemList: [
|
|
|
- {
|
|
|
- searchValue: null,
|
|
|
- createBy: 'admin',
|
|
|
- createTime: '2024-12-18 13:55:04',
|
|
|
- updateBy: '',
|
|
|
- updateTime: null,
|
|
|
- remark: '请输入进度',
|
|
|
- params: {},
|
|
|
- pageSize: null,
|
|
|
- pageNum: null,
|
|
|
- customerClueItemId: 359,
|
|
|
- customerClueId: 72,
|
|
|
- customerClueInfoId: null,
|
|
|
- customerClueName: '处理进度',
|
|
|
- itemOptionParentId: 472,
|
|
|
- isMust: '0',
|
|
|
- answerType: 'wb',
|
|
|
- minTextLength: null,
|
|
|
- answerValue: null,
|
|
|
- sort: 3,
|
|
|
- delFlag: null,
|
|
|
- fileIdList: null,
|
|
|
- customerClueOptionList: [],
|
|
|
- fileInfoList: null,
|
|
|
- max: false,
|
|
|
- del: true,
|
|
|
- },
|
|
|
- ],
|
|
|
- },
|
|
|
- {
|
|
|
- searchValue: null,
|
|
|
- createBy: 'admin',
|
|
|
- createTime: '2024-12-18 13:55:04',
|
|
|
- updateBy: '',
|
|
|
- updateTime: null,
|
|
|
- remark: null,
|
|
|
- params: {},
|
|
|
- pageSize: null,
|
|
|
- pageNum: null,
|
|
|
- customerClueOptionId: 473,
|
|
|
- customerClueItemId: 358,
|
|
|
- customerClueOption: '已解决',
|
|
|
- value: 'N',
|
|
|
- checked: false,
|
|
|
- customerClueItemList: [
|
|
|
- {
|
|
|
- searchValue: null,
|
|
|
- createBy: 'admin',
|
|
|
- createTime: '2024-12-18 13:55:04',
|
|
|
- updateBy: '',
|
|
|
- updateTime: null,
|
|
|
- remark: '解决方案请输入10字以上',
|
|
|
- params: {},
|
|
|
- pageSize: null,
|
|
|
- pageNum: null,
|
|
|
- customerClueItemId: 360,
|
|
|
- customerClueId: 72,
|
|
|
- customerClueInfoId: null,
|
|
|
- customerClueName: '解决方案',
|
|
|
- itemOptionParentId: 473,
|
|
|
- isMust: '0',
|
|
|
- answerType: 'wb',
|
|
|
- minTextLength: 10,
|
|
|
- answerValue: null,
|
|
|
- sort: 3,
|
|
|
- delFlag: null,
|
|
|
- fileIdList: null,
|
|
|
- customerClueOptionList: [],
|
|
|
- fileInfoList: null,
|
|
|
- max: false,
|
|
|
- del: true,
|
|
|
- },
|
|
|
- ],
|
|
|
- },
|
|
|
- ],
|
|
|
- fileInfoList: null,
|
|
|
- max: false,
|
|
|
- del: true,
|
|
|
- },
|
|
|
- {
|
|
|
- searchValue: null,
|
|
|
- createBy: 'admin',
|
|
|
- createTime: '2024-12-18 13:54:13',
|
|
|
- updateBy: 'admin',
|
|
|
- updateTime: '2024-12-18 13:55:04',
|
|
|
- remark: '',
|
|
|
- params: {},
|
|
|
- pageSize: null,
|
|
|
- pageNum: null,
|
|
|
- customerClueItemId: 361,
|
|
|
- customerClueId: 72,
|
|
|
- customerClueInfoId: 263,
|
|
|
- customerClueName: '结果照片上传',
|
|
|
- itemOptionParentId: null,
|
|
|
- isMust: '1',
|
|
|
- answerType: 'zp',
|
|
|
- minTextLength: null,
|
|
|
- answerValue: null,
|
|
|
- sort: 4,
|
|
|
- delFlag: null,
|
|
|
- fileIdList: null,
|
|
|
- customerClueOptionList: [],
|
|
|
- fileInfoList: null,
|
|
|
- max: false,
|
|
|
- del: true,
|
|
|
- },
|
|
|
- ],
|
|
|
+ photoApproveId: null,
|
|
|
+ AIResult: '1',
|
|
|
+ causeTitle: '',
|
|
|
+ causeMessage: '',
|
|
|
};
|
|
|
},
|
|
|
- mounted() {
|
|
|
- this.storeId = this.$route.query.storeId;
|
|
|
+ watch: {
|
|
|
+ AIResult: {
|
|
|
+ handler(val) {
|
|
|
+ if (val == 1) {
|
|
|
+ this.causeTitle = '原因及解决方案';
|
|
|
+ } else {
|
|
|
+ this.causeTitle = '反馈不准确原因';
|
|
|
+ }
|
|
|
+ this.causeMessage = '';
|
|
|
+ },
|
|
|
+ immediate: true,
|
|
|
+ },
|
|
|
+ },
|
|
|
+ filters: {
|
|
|
+ filterType(val) {
|
|
|
+ if (val == 1) {
|
|
|
+ return '店招内容识别';
|
|
|
+ } else if (val == 2) {
|
|
|
+ return '门店代码识别';
|
|
|
+ } else if (val == 3) {
|
|
|
+ return '调色机识别';
|
|
|
+ } else if (val == 4) {
|
|
|
+ return '更换店招';
|
|
|
+ }
|
|
|
+ },
|
|
|
+ },
|
|
|
+ activated() {
|
|
|
+ this.photoApproveId = this.$route.query.photoApproveId;
|
|
|
this.getDeytail();
|
|
|
},
|
|
|
+ mounted() {},
|
|
|
methods: {
|
|
|
getDeytail() {
|
|
|
this.toastLoading(0, '加载中...', true);
|
|
|
- this.storeId;
|
|
|
- setTimeout(() => {
|
|
|
+ getPhotoApproveDetail({ photoApproveId: this.photoApproveId }).then((res) => {
|
|
|
this.toastLoading().clear();
|
|
|
- this.data = {
|
|
|
- storeName: '和兴建材',
|
|
|
- storeCode: '123456',
|
|
|
- storeType: '铂金店',
|
|
|
- storeAddress:
|
|
|
- '河南省新乡市长葛县中心小学东20米路东河南省新乡市长葛县中心小学东20米路东河南省新乡市长葛县中心小学东20米路东河南省新乡市长葛县中心小学东20米路东河南省新乡市长葛县中心小学东20米路东河南省新乡市长葛县中心小学东20米路东河南省新乡市长葛县中心小学东20米路东',
|
|
|
- visitName: '都雷闪',
|
|
|
- visitTime: '2025-02-0614:41:53',
|
|
|
- storeId: 882005,
|
|
|
- };
|
|
|
- }, 1000);
|
|
|
+ if (res.code == 200) {
|
|
|
+ this.data = res.data;
|
|
|
+ this.$dialog
|
|
|
+ .confirm({
|
|
|
+ title: '系统提示',
|
|
|
+ message:
|
|
|
+ res.data.approveTime +
|
|
|
+ '时间已反馈该店拜访照异常原因及解决方案,此次拜访照仍异常,请及时跟进',
|
|
|
+ confirmButtonText: '确定',
|
|
|
+ showCancelButton: false,
|
|
|
+ })
|
|
|
+ .then(() => {});
|
|
|
+ }
|
|
|
+ });
|
|
|
},
|
|
|
previewImgs(val) {
|
|
|
ImagePreview(val);
|
|
|
},
|
|
|
+ confirm() {
|
|
|
+ if (!this.causeMessage) {
|
|
|
+ this.$toast('请输入' + this.causeTitle);
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ savePhotoApprove({
|
|
|
+ photoApproveId: this.photoApproveId, // long 主键
|
|
|
+ resultCorrect: this.AIResult, // string AI识别是否正确: 1 正确 0不正确
|
|
|
+ reasonsSolutions: this.AIResult == '1' ? this.causeMessage : '', // string 原因及解决方案
|
|
|
+ feedbackError: this.AIResult == '2' ? this.causeMessage : '', // string 反馈AI识别不正确
|
|
|
+ }).then((res) => {
|
|
|
+ if (res.code == 200) {
|
|
|
+ this.$toast('提交成功');
|
|
|
+ } else {
|
|
|
+ this.$toast('提交失败');
|
|
|
+ }
|
|
|
+ });
|
|
|
+ },
|
|
|
},
|
|
|
};
|
|
|
</script>
|
|
|
@@ -329,6 +191,12 @@ export default {
|
|
|
.feedbackReason {
|
|
|
padding: 10px;
|
|
|
background: #fff;
|
|
|
+ .title {
|
|
|
+ padding: 8px 0;
|
|
|
+ }
|
|
|
+ .van-radio {
|
|
|
+ padding: 5px 0;
|
|
|
+ }
|
|
|
}
|
|
|
.confirmBtn {
|
|
|
position: sticky;
|