diff --git a/src/api/business/case/caseplatform-case-api.js b/src/api/business/case/caseplatform-case-api.js index ed844a9..18f4fba 100644 --- a/src/api/business/case/caseplatform-case-api.js +++ b/src/api/business/case/caseplatform-case-api.js @@ -93,7 +93,7 @@ export const caseplatformCaseApi = { return download('列表数据导出.xlsx',`/caseplatformCase/exportEasyExcel`, param); }, exportSettlementExcel: (param) => { - return download('结算数据导出.xlsx',`/caseplatformCase/settlementExcel`, param); + return download('结算数据导出.xlsx',`/caseplatformCase/settlementExcel`, param,'multipart/form-data'); }, }; diff --git a/src/api/business/manage/manage-api.js b/src/api/business/manage/manage-api.js index 90f6922..306039a 100644 --- a/src/api/business/manage/manage-api.js +++ b/src/api/business/manage/manage-api.js @@ -5,7 +5,7 @@ * @Date: 2024-01-11 15:18:32 * @Copyright gdxz */ -import { postRequest, getRequest, download,uploadRequest } from '/@/lib/axios'; +import { postRequest, getRequest, download,uploadRequest,delRequest} from '/@/lib/axios'; export const manageApi = { @@ -54,7 +54,9 @@ export const manageApi = { return getRequest(`/caseplatformCase/settlement/${caseId}`); }, - + delDoctor: (id) => { + return delRequest(`/caseplatformExpertWhite/delete/${id}`); + }, /** * 审核 @author HMM diff --git a/src/api/system/activity/activity-api.js b/src/api/system/activity/activity-api.js new file mode 100644 index 0000000..94abbb5 --- /dev/null +++ b/src/api/system/activity/activity-api.js @@ -0,0 +1,23 @@ +/* + * 部门 + * + * @Author: 1024创新实验室-主任:卓大 + * @Date: 2022-09-03 21:58:50 + * @Wechat: zhuda1024 + * @Email: lab1024@163.com + * @Copyright 1024创新实验室 ( https://1024lab.net ),Since 2012 + */ +import { getRequest, postRequest,delRequest} from '/@/lib/axios'; + +export const activityApi = { + /** + * 分页查询 @author HMM + */ + queryPage : (param) => { + return postRequest('/caseplatformCase/activity/queryPage', param); + }, + delActivity: (id) => { + return delRequest(`/caseplatformCase/activity/delete/${id}`); + }, + +} \ No newline at end of file diff --git a/src/lib/axios.js b/src/lib/axios.js index 2d1077c..11e4676 100644 --- a/src/lib/axios.js +++ b/src/lib/axios.js @@ -113,15 +113,22 @@ export const getRequest = (url, params) => { export const uploadRequest = (url, data) => { return request({ data, url, method: 'post', headers: { 'Content-Type': 'multipart/form-data' } }); }; +export const delRequest = (url, data) => { + return request({ data, url, method: 'delete'}); +}; +/** /** * 文件下载 */ -export const download = function (fileName, url, params) { +export const download = function (fileName, url, params,header='application/json') { request({ method: 'get', url: url, params: params, responseType: 'blob', + headers: { + 'Content-Type': header, + }, }) .then((data) => { if (!data) { diff --git a/src/views/business/case/caseplatform-case-form.vue b/src/views/business/case/caseplatform-case-form.vue index 03e8c19..1513942 100644 --- a/src/views/business/case/caseplatform-case-form.vue +++ b/src/views/business/case/caseplatform-case-form.vue @@ -173,8 +173,9 @@
@@ -314,7 +315,7 @@ 保存
- + @@ -338,7 +339,7 @@ const fallbackImg = 'data:image/png;base64,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'; const activeKey = ref('1'); - +const imgIndex = ref(0); const current_reason = ref(); const current_caseId = ref(); const imgType = ref(''); @@ -610,6 +611,7 @@ async function getDetail(id) { const openEditor = (data) => { showEdit.value = true; imgType.value = data.type; + imgIndex.value = data.imgIndex; nextTick(() => { imgEditorRef.value?.init(data.src); }); diff --git a/src/views/business/case/imgCell.vue b/src/views/business/case/imgCell.vue index 9737e08..6a83cea 100644 --- a/src/views/business/case/imgCell.vue +++ b/src/views/business/case/imgCell.vue @@ -32,6 +32,10 @@ const props = defineProps({ type:{ type: String, default: '', + }, + imgIndex:{ + type: Number, + default: 0, } }); const emits = defineEmits(['openEditor']); @@ -42,7 +46,8 @@ const priviewImg = (value) => { const showeditor = () => { emits('openEditor', { src:props.src, - type:props.type + type:props.type, + imgIndex:props.imgIndex }); } diff --git a/src/views/business/case/imgEditor.vue b/src/views/business/case/imgEditor.vue index a292eca..cd42123 100644 --- a/src/views/business/case/imgEditor.vue +++ b/src/views/business/case/imgEditor.vue @@ -14,10 +14,18 @@ const prosp=defineProps({ type:String, default:'' }, + imgIndex:{ + type:Number, + default:0 + }, imgType:{ type:String, default:'' }, + dpmasId:{ + type:String, + default:'', + }, caseId:{ type:String, default:'', @@ -27,6 +35,8 @@ const prosp=defineProps({ default:()=>{}, } }) +const uploadImgSrc=ref(''); + const emit=defineEmits(['freshDetail']) // tui-image-editor语言配置,汉化文字 const locale_zh = { @@ -184,27 +194,59 @@ const customTheme = { }; const instance = ref(null); const HandleMainDiagnoseImg=()=>{ + let obj=props.caseObj.mainDiagnose; + obj.mainDiagnoseImg=uploadImgSrc.value; + caseplatformCaseApi.updateMainDiagnose({ caseId:current_caseId.value, - mainDiagnose:JSON.stringify(caseVO.value.mainDiagnose) + mainDiagnose:JSON.stringify(obj) }).then(res=>{ message.success('保存成功') }) }; const HandleDpmasImg=(dmpsId)=>{ + let dpmasList = props.caseObj.dpmas; + let dpmasIndex=0; + for (let i = 0; i < dpmasList.length; i++) { + if(dpmasList[i].dpmasId==props.dpmasId){ + dpmasIndex=i; + break; + } + } + let newImgList = dpmasList[dpmasIndex].dpmasImg.split(','); + newImgList[imgIndex]=uploadImgSrc.value; + let dpmasImg=''; + newImgList.forEach(item=>{ + if(dpmasImg){ + dpmasImg+=','+item; + }else{ + dpmasImg=item + } + }) + caseplatformCaseApi.updateDpmas({ - caseId:current_caseId.value, - dmpsId:dmpsId, + caseId:props.caseId, + dmpsId:props.dmpsId, dpmasImg:dpmasImg }).then(res=>{ message.success('保存成功') }) }; -const HandleCheckImg=(dmpsId)=>{ +const HandleCheckImg=()=>{ + let newImgList=props.caseObj.checkImg.split(','); + newImgList[imgIndex]=uploadImgSrc.value; + let checkImg=''; + newImgList.forEach(item=>{ + if(checkImg){ + checkImg+=','+item; + }else{ + checkImg=item + } + }) + caseplatformCaseApi.updatecheck({ - caseId:current_caseId.value, - dmpsId:dmpsId, - checkImg:checkImg + caseId:props.caseId, + checkImg:checkImg }).then(res=>{ message.success('保存成功') }) @@ -214,11 +256,28 @@ const getImageFormat=(imageUrl)=>{ var parts = imageUrl.split('.'); return parts[parts.length - 1]; }; -const getOss=()=>{ - caseplatformCaseApi.getOssSign(1).then(res=>{ +const getImg=(file)=>{ + return new Promise((resolve, reject) => { + caseplatformCaseApi.getOssSign(1).then(res=>{ let { accessid, dir,policy,signature,host} = res; let imgUrl = file; + let filename = FileUtil.UUID()+'.'+this.getImageFormat(imgUrl); + let formData = new FormData(); + formData.append('OSSAccessKeyId', access_id); + formData.append('policy', policy); + formData.append('signature', signature); + formData.append('key', dir + time + random +imgType); + formData.append('file', file, filename); + formData.append('success_action_status',200); + caseplatformCaseApi.ossUpload(host,formData).then(res => { + resolve(host+"/"+ dir + time + random + imgType); + }).catch((err) => { + message.error('上传失败') + }) }) + }) + + } const save = () => { instance.value.resetZoom(); @@ -234,9 +293,13 @@ const save = () => { // fileToBase64(file).then((res) => { // newSrc.value = res; // }); - if(props.imgType==='mainDiagnose'){ - HandleMainDiagnoseImg(); - } + + this.getImg(blob).then(res=>{ + uploadImgSrc.value=res; + if(props.imgType==='mainDiagnose'){ + HandleMainDiagnoseImg(); + } + }) }; const fileToBase64 = (file) => { diff --git a/src/views/business/manage/manage-list.vue b/src/views/business/manage/manage-list.vue index 37b9ef6..833ada7 100644 --- a/src/views/business/manage/manage-list.vue +++ b/src/views/business/manage/manage-list.vue @@ -118,25 +118,12 @@ $smartEnumPlugin.getDescByValue('CASESettlementFlag', text) }} - + @@ -215,12 +202,12 @@ const columns = ref([ width: 100, }, - // { - // title: '操作', - // dataIndex: 'action', - // fixed: 'right', - // width: 155, - // }, + { + title: '操作', + dataIndex: 'action', + fixed: 'right', + width: 155, + }, ]); const uploadMethod=(file)=>{ SmartLoading.show(); @@ -248,6 +235,25 @@ const uploadMethod=(file)=>{ message.error(`上传失败`); } } + const delDoctor=(id)=>{ + Modal.confirm({ + title: '确认删除?', + content: '确定要删除该医生吗?', + okText: '确认', + cancelText: '取消', + onOk(){ + SmartLoading.show(); + manageApi.delDoctor(id).then((res)=>{ + message.success(`删除成功`); + queryData(); + SmartLoading.hide(); + }).catch((err)=>{ + smartSentry.captureError(err); + SmartLoading.hide(); + }) + } + }); + } // ---------------------------- 查询数据表单和方法 ---------------------------- const queryFormState = { diff --git a/src/views/system/activity/form.vue b/src/views/system/activity/form.vue new file mode 100644 index 0000000..60e4374 --- /dev/null +++ b/src/views/system/activity/form.vue @@ -0,0 +1,689 @@ + + + + \ No newline at end of file diff --git a/src/views/system/activity/list.vue b/src/views/system/activity/list.vue new file mode 100644 index 0000000..33503b4 --- /dev/null +++ b/src/views/system/activity/list.vue @@ -0,0 +1,328 @@ + + +