This commit is contained in:
zoujiandong 2025-07-10 15:22:14 +08:00
parent 2ffecbe1d2
commit 37d65dd416
5 changed files with 78 additions and 29 deletions

View File

@ -93,7 +93,7 @@ export const caseplatformCaseApi = {
return download('列表数据导出.xlsx',`/caseplatformCase/exportEasyExcel`, param); return download('列表数据导出.xlsx',`/caseplatformCase/exportEasyExcel`, param);
}, },
exportSettlementExcel: (param) => { exportSettlementExcel: (param) => {
return download('结算数据导出.xlsx',`/caseplatformCase/settlementExcel`, param,'multipart/form-data'); return download('结算数据导出.xlsx',`/caseplatformCase/settlementExcel`, param);
}, },
}; };

View File

@ -59,6 +59,8 @@ smartAxios.interceptors.response.use(
location.href = '/'; location.href = '/';
}, 300); }, 300);
return Promise.reject(response); return Promise.reject(response);
}else if(res.code === 200){
return Promise.resolve(res);
} }
message.error(res.msg); message.error(res.msg);
return Promise.reject(response); return Promise.reject(response);

View File

@ -307,7 +307,7 @@
:width="200" :width="200"
:src="newSrc" :src="newSrc"
/> --> /> -->
<div class="save" @click="save"> <div class="save" @click="saveEditor">
<a-button type="primary" shape="round"> <a-button type="primary" shape="round">
<template #icon> <template #icon>
<save-outlined /> <save-outlined />
@ -315,7 +315,7 @@
保存 保存
</a-button> </a-button>
</div> </div>
<imgEditor ref="imgEditorRef" :imgIndex="imgIndex" :caseId="current_caseId" :caseObj="caseVO" v-if="showEdit" @freshDetail="getDetail" :type="imgType"></imgEditor> <imgEditor ref="imgEditorRef" :dpmasId="current_dpmasId" :imgIndex="imgIndex" :caseId="current_caseId" :caseObj="caseVO" v-if="showEdit" @freshDetail="freshDetail" :imgType="imgType"></imgEditor>
</div> </div>
</a-modal> </a-modal>
</template> </template>
@ -343,6 +343,7 @@ const imgIndex = ref(0);
const current_reason = ref(); const current_reason = ref();
const current_caseId = ref(); const current_caseId = ref();
const imgType = ref(''); const imgType = ref('');
const current_dpmasId = ref(0);
const caseVO = ref({ const caseVO = ref({
name: undefined, name: undefined,
uid: undefined, uid: undefined,
@ -595,7 +596,10 @@ function cancelExamine() {
cancelExamineVisible.value = true; cancelExamineVisible.value = true;
} }
// ------------------------ ------------------------ // ------------------------ ------------------------
const freshDetail=()=>{
showEdit.value=false;
getDetail(current_caseId.value)
}
async function getDetail(id) { async function getDetail(id) {
SmartLoading.show(); SmartLoading.show();
try { try {
@ -612,6 +616,7 @@ const openEditor = (data) => {
showEdit.value = true; showEdit.value = true;
imgType.value = data.type; imgType.value = data.type;
imgIndex.value = data.imgIndex; imgIndex.value = data.imgIndex;
current_dpmasId.value = data.dpmasId;
nextTick(() => { nextTick(() => {
imgEditorRef.value?.init(data.src); imgEditorRef.value?.init(data.src);
}); });

View File

@ -36,7 +36,11 @@ const props = defineProps({
imgIndex:{ imgIndex:{
type: Number, type: Number,
default: 0, default: 0,
} },
dpmasId:{
type: Number,
default: 0,
},
}); });
const emits = defineEmits(['openEditor']); const emits = defineEmits(['openEditor']);
const visible = ref(false); const visible = ref(false);
@ -47,7 +51,8 @@ const showeditor = () => {
emits('openEditor', { emits('openEditor', {
src:props.src, src:props.src,
type:props.type, type:props.type,
imgIndex:props.imgIndex imgIndex:props.imgIndex,
dpmasId:props.dpmasId
}); });
} }
</script> </script>

View File

@ -9,7 +9,9 @@ import 'tui-image-editor/dist/tui-image-editor.css';
import 'tui-color-picker/dist/tui-color-picker.css'; import 'tui-color-picker/dist/tui-color-picker.css';
import ImageEditor from 'tui-image-editor'; import ImageEditor from 'tui-image-editor';
import { caseplatformCaseApi } from '/@/api/business/case/caseplatform-case-api'; import { caseplatformCaseApi } from '/@/api/business/case/caseplatform-case-api';
const prosp=defineProps({ import { FileUtil } from '/@/utils/fileutil'
import { SmartLoading } from '/@/components/framework/smart-loading';
const props=defineProps({
imgsrc:{ imgsrc:{
type:String, type:String,
default:'' default:''
@ -23,12 +25,12 @@ const prosp=defineProps({
default:'' default:''
}, },
dpmasId:{ dpmasId:{
type:String, type:Number,
default:'', default:0,
}, },
caseId:{ caseId:{
type:String, type:Number,
default:'', default:0,
}, },
caseObj:{ caseObj:{
type:Object, type:Object,
@ -198,13 +200,18 @@ const HandleMainDiagnoseImg=()=>{
obj.mainDiagnoseImg=uploadImgSrc.value; obj.mainDiagnoseImg=uploadImgSrc.value;
caseplatformCaseApi.updateMainDiagnose({ caseplatformCaseApi.updateMainDiagnose({
caseId:current_caseId.value, caseId:props.caseId,
mainDiagnose:JSON.stringify(obj) mainDiagnose:JSON.stringify(obj)
}).then(res=>{ }).then(res=>{
message.success('保存成功') emit('freshDetail')
SmartLoading.hide();
message.success('保存成功');
}).catch(err=>{
SmartLoading.hide();
message.error('保存失败');
}) })
}; };
const HandleDpmasImg=(dmpsId)=>{ const HandleDpmasImg=()=>{
let dpmasList = props.caseObj.dpmas; let dpmasList = props.caseObj.dpmas;
let dpmasIndex=0; let dpmasIndex=0;
for (let i = 0; i < dpmasList.length; i++) { for (let i = 0; i < dpmasList.length; i++) {
@ -213,8 +220,9 @@ const HandleDpmasImg=(dmpsId)=>{
break; break;
} }
} }
console.log(dpmasList[dpmasIndex].dpmasImg)
let newImgList = dpmasList[dpmasIndex].dpmasImg.split(','); let newImgList = dpmasList[dpmasIndex].dpmasImg.split(',');
newImgList[imgIndex]=uploadImgSrc.value; newImgList[props.imgIndex]=uploadImgSrc.value;
let dpmasImg=''; let dpmasImg='';
newImgList.forEach(item=>{ newImgList.forEach(item=>{
if(dpmasImg){ if(dpmasImg){
@ -226,15 +234,22 @@ const HandleDpmasImg=(dmpsId)=>{
caseplatformCaseApi.updateDpmas({ caseplatformCaseApi.updateDpmas({
caseId:props.caseId, caseId:props.caseId,
dmpsId:props.dmpsId, dmpsId:props.dpmasId,
dpmasImg:dpmasImg dpmasImg:dpmasImg
}).then(res=>{ }).then(res=>{
message.success('保存成功') emit('freshDetail')
SmartLoading.hide();
message.success('保存成功');
}).catch(err=>{
SmartLoading.hide();
message.error('保存失败');
}) })
}; };
const HandleCheckImg=()=>{ const HandleCheckImg=()=>{
let newImgList=props.caseObj.checkImg.split(','); let newImgList=props.caseObj.checkImg.split(',');
newImgList[imgIndex]=uploadImgSrc.value; console.log(newImgList)
newImgList[props.imgIndex]=uploadImgSrc.value;
let checkImg=''; let checkImg='';
newImgList.forEach(item=>{ newImgList.forEach(item=>{
if(checkImg){ if(checkImg){
@ -244,11 +259,17 @@ const HandleCheckImg=()=>{
} }
}) })
caseplatformCaseApi.updatecheck({ caseplatformCaseApi.updateCheck({
caseId:props.caseId, caseId:props.caseId,
checkImg:checkImg checkImg:checkImg
}).then(res=>{ }).then(res=>{
message.success('保存成功') emit('freshDetail')
SmartLoading.hide();
message.success('保存成功');
}).catch(err=>{
SmartLoading.hide();
message.error('保存失败');
}) })
}; };
const getImageFormat=(imageUrl)=>{ const getImageFormat=(imageUrl)=>{
@ -259,27 +280,35 @@ const getImageFormat=(imageUrl)=>{
const getImg=(file)=>{ const getImg=(file)=>{
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
caseplatformCaseApi.getOssSign(1).then(res=>{ caseplatformCaseApi.getOssSign(1).then(res=>{
let { accessid, dir,policy,signature,host} = res; console.log(res.data)
let imgUrl = file; let { accessid, dir,policy,signature,host} = res.data;
let filename = FileUtil.UUID()+'.'+this.getImageFormat(imgUrl); let filename = FileUtil.UUID()+'.'+'png';
let formData = new FormData(); let formData = new FormData();
formData.append('OSSAccessKeyId', access_id); formData.append('OSSAccessKeyId',accessid);
formData.append('policy', policy); formData.append('policy', policy);
formData.append('signature', signature); formData.append('signature', signature);
formData.append('key', dir + time + random +imgType); formData.append('key', dir + filename);
formData.append('file', file, filename); formData.append('file', file, filename);
formData.append('success_action_status',200); formData.append('success_action_status',200);
caseplatformCaseApi.ossUpload(host,formData).then(res => { caseplatformCaseApi.ossUpload(host,formData).then(res => {
resolve(host+"/"+ dir + time + random + imgType); console.log(host + dir + filename);
resolve(host + dir + filename);
}).catch((err) => { }).catch((err) => {
message.error('上传失败') message.error('上传失败')
SmartLoading.hide();
}) })
}) })
}) })
SmartLoading.hide();
} }
const blobToFile = (blob,name)=>{
return new File([blob],name,{type:blob.type});
}
const save = () => { const save = () => {
SmartLoading.show();
instance.value.resetZoom(); instance.value.resetZoom();
const base64String = instance.value.toDataURL(); // base64 const base64String = instance.value.toDataURL(); // base64
const data = window.atob(base64String.split(',')[1]); const data = window.atob(base64String.split(',')[1]);
@ -293,12 +322,20 @@ const save = () => {
// fileToBase64(file).then((res) => { // fileToBase64(file).then((res) => {
// newSrc.value = res; // newSrc.value = res;
// }); // });
let file= blobToFile(blob,new Date().getTime() + '.png');
this.getImg(blob).then(res=>{ console.log(file)
getImg(file).then(res=>{
uploadImgSrc.value=res; uploadImgSrc.value=res;
if(props.imgType==='mainDiagnose'){ if(props.imgType==='mainDiagnose'){
HandleMainDiagnoseImg(); HandleMainDiagnoseImg();
}else if(props.imgType==='dpmas'){
HandleDpmasImg();
}else if(props.imgType==='check'){
HandleCheckImg();
} }
}).catch(err=>{
SmartLoading.hide();
}) })
}; };