diff --git a/src/components/Test/Test.vue b/src/components/Test/Test.vue index 9e9eaef..8e9ac49 100644 --- a/src/components/Test/Test.vue +++ b/src/components/Test/Test.vue @@ -571,7 +571,7 @@ export default { changeRadio(e, code, index, itemIndex) { // console.log('e, code, index, itemIndex: ', e, code, index, itemIndex); this.Rerender(e, index, itemIndex); - // this.$emit('getCollaoseHeight', this.testIndex); + this.$emit('getCollaoseHeight', this.testIndex); this.setAnswer(code, e); }, // 修改是否是烟雾病的题时, diff --git a/src/pages/camera/camera.vue b/src/pages/camera/camera.vue index fa75833..68af44e 100644 --- a/src/pages/camera/camera.vue +++ b/src/pages/camera/camera.vue @@ -1,14 +1,19 @@ @@ -19,7 +24,7 @@ import { mapState, mapMutations } from 'vuex'; export default { components: {}, data: () => ({ - srcList: ['http://101.201.226.163/filedeal/uploads/upload/20220117/5544a104844c448d8fbe339563580008.jpg'], + srcList: ['http://101.201.226.163/filedeal/uploads/upload/20220118/23f05a3dde9a4323bc95b1b061379cb5.jpeg'], action: '', }), computed: { @@ -31,7 +36,7 @@ export default { // this.srcList = []; }, methods: { - ...mapMutations('carbasics', ['setIsRefresh']), + ...mapMutations('carbasics', ['setIsRefresh', 'setBasicData']), // 拍张并且上传给后台 takePhoto() { const ctx = uni.createCameraContext(); @@ -65,18 +70,27 @@ export default { // 点击确定提交图片路径数组进行试题提交 async submitSrc() { try { + if (!this.srcList.length) { + this.$refs.uToast.show({ + title: '没有选择图片,无法识别', + type: 'warning', + }); + return; + } const param = { fileList: this.srcList, projectId: this.firstAidId, }; const data = await this.$u.api.generalBasic(param); - console.log('data: ', data); + this.saveAnswer(data); this.$refs.uToast.show({ title: '上传成功', type: 'success', }); this.setIsRefresh(); - uni.navigateBack(); + setTimeout(() => { + uni.navigateBack(); + }, 500); } catch (error) { this.$refs.uToast.show({ title: '上传失败,请稍后重试', @@ -84,6 +98,40 @@ export default { }); } }, + // 删除要识别的图片 + delPhotos(index) { + let { srcList } = this; + srcList.splice(index, 1); + this.srcList = [...srcList]; + this.$refs.uToast.show({ + title: '删除成功', + type: 'success', + }); + }, + // 图片识别成功后,将识别到的答案存储到后台 + saveAnswer(data) { + const codeAndAnswerList = []; + for (let key in data) { + let obj = { + questionCode: key, + answer: [], + }; + if (key) { + for (var i = 0; i < data[key].length; i++) { + obj.answer.push(data[key][i].answer); + } + codeAndAnswerList.push(obj); + } + } + if (!codeAndAnswerList.length) { + console.log('没有答案,无法存储'); + return; + } + // 准备存储读取到的答案,然后返回录入界面,在录入界面用model显示 + // 试题为多选显示,勾选代表确定提交识别到的答案,不勾选代表不提交 + // 所有试题只能 勾选/取消勾选 无法修改答案 + this.setBasicData(codeAndAnswerList); + }, }, watch: {}, @@ -111,9 +159,52 @@ export default { diff --git a/src/pages/inner/inner.vue b/src/pages/inner/inner.vue index c3f86b6..4f4f831 100644 --- a/src/pages/inner/inner.vue +++ b/src/pages/inner/inner.vue @@ -3,7 +3,14 @@
OCR
+ + + @@ -58,6 +68,7 @@ export default { afterStr: '主要治疗', beforeStr: '基本信息', answerList: {}, + showBasic: true, }), computed: { ...mapState('carbasics', ['InputCode', 'firstAidId', 'isRefresh']) }, methods: { @@ -173,6 +184,11 @@ export default {