diff --git a/src/api/common/index.ts b/src/api/common/index.ts index 5d5bab7..f1ae19f 100644 --- a/src/api/common/index.ts +++ b/src/api/common/index.ts @@ -5,7 +5,8 @@ enum Api { getProjectInfo = '/platform/projectInfo/getNames', getOrganizationType = '/platform/organizationType/list', getContractNamesByProjectName = '/platform/contractInfo/getContractNamesByProjectName', - queryPointNames = '/platform/pointInfo/queryPointNames ', + queryPointNames = '/platform/pointInfo/queryPointNames', + commonDownload = '/resource/oss/urlToStream' } @@ -30,4 +31,10 @@ export function getContractNamesByProjectName(data:any) { export function queryPointNames() { return defHttp.get({ url: Api.queryPointNames }); +} +export function commonDownload(url) { + return defHttp.get( + { url: Api.commonDownload + '?url=' + url, responseType: 'blob', timeout: 30 * 1000 }, + { isTransformResponse: false }, + ); } \ No newline at end of file diff --git a/src/views/IO/delayPatrol/waitAudit/faultModal.vue b/src/views/IO/delayPatrol/waitAudit/faultModal.vue index d75029c..efe031e 100644 --- a/src/views/IO/delayPatrol/waitAudit/faultModal.vue +++ b/src/views/IO/delayPatrol/waitAudit/faultModal.vue @@ -138,7 +138,6 @@ :headers="headers" accept='.jpg,.jpeg,.png,.gif,.webp' @change="handleChange" - list-type="picture" > 上传图片 diff --git a/src/views/IO/patrolReport/index.vue b/src/views/IO/patrolReport/index.vue index 986bb69..12a18ae 100644 --- a/src/views/IO/patrolReport/index.vue +++ b/src/views/IO/patrolReport/index.vue @@ -20,6 +20,10 @@ 删除 详情 + 图片 + 下载 @@ -31,21 +35,19 @@ diff --git a/src/views/IO/workOrder/delayAudit/auditModal.vue b/src/views/IO/workOrder/delayAudit/auditModal.vue index 226a554..51dc35a 100644 --- a/src/views/IO/workOrder/delayAudit/auditModal.vue +++ b/src/views/IO/workOrder/delayAudit/auditModal.vue @@ -51,9 +51,7 @@ -
- -
+
@@ -84,7 +82,7 @@ import { message } from 'ant-design-vue'; import { getInfo, delaySubmit } from './api'; export default { - setup(props,{emit}) { + setup(props, { emit }) { const title = ref('审核'); const visible = ref(false); const form = reactive({ @@ -98,6 +96,7 @@ handleResult: null, id: null, }); + const fileLists = ref([]) //下拉框 const handleResultOptions = [ { @@ -109,11 +108,21 @@ ]; const showModal = async (id) => { visible.value = true; + fileLists.value= [] const data = await getInfo(id); for (let i in form) { form[i] = data[i]; } - form.handleResult = null + if (form.attachments && form.attachments.length > 0) { + form.attachments.forEach((i) => { + fileLists.value.push({ + url: i.url, + name: i.name, + status: 'done', + }); + }); + } + form.handleResult = null; }; const handleOk = () => { @@ -150,6 +159,7 @@ closeModal, formRef, rules, + fileLists }; }, }; diff --git a/src/views/IO/workOrder/delayAudit/detailDrawer.vue b/src/views/IO/workOrder/delayAudit/detailDrawer.vue index 21c6840..eb0ad0b 100644 --- a/src/views/IO/workOrder/delayAudit/detailDrawer.vue +++ b/src/views/IO/workOrder/delayAudit/detailDrawer.vue @@ -82,7 +82,6 @@ >故障图片: diff --git a/src/views/IO/workOrder/orderAudit/detailDrawer.vue b/src/views/IO/workOrder/orderAudit/detailDrawer.vue index eb34b0a..454f72f 100644 --- a/src/views/IO/workOrder/orderAudit/detailDrawer.vue +++ b/src/views/IO/workOrder/orderAudit/detailDrawer.vue @@ -82,7 +82,6 @@ >故障图片: @@ -125,7 +124,6 @@ >处理图片: diff --git a/src/views/IO/workOrder/orderHandle/detailDrawer.vue b/src/views/IO/workOrder/orderHandle/detailDrawer.vue index f532ad8..726f4d1 100644 --- a/src/views/IO/workOrder/orderHandle/detailDrawer.vue +++ b/src/views/IO/workOrder/orderHandle/detailDrawer.vue @@ -82,7 +82,6 @@ >故障图片: @@ -125,7 +124,6 @@ >处理图片: diff --git a/src/views/IO/workOrder/orderSearch/detailDrawer.vue b/src/views/IO/workOrder/orderSearch/detailDrawer.vue index 0e5b690..686f8d6 100644 --- a/src/views/IO/workOrder/orderSearch/detailDrawer.vue +++ b/src/views/IO/workOrder/orderSearch/detailDrawer.vue @@ -82,7 +82,6 @@ >故障图片: @@ -125,7 +124,6 @@ >处理图片: diff --git a/src/views/IO/workOrder/orderSend/detailDrawer.vue b/src/views/IO/workOrder/orderSend/detailDrawer.vue index 1b23aa1..53b9f4a 100644 --- a/src/views/IO/workOrder/orderSend/detailDrawer.vue +++ b/src/views/IO/workOrder/orderSend/detailDrawer.vue @@ -82,7 +82,6 @@ >故障图片: @@ -125,7 +124,6 @@ >处理图片: diff --git a/src/views/document/index.vue b/src/views/document/index.vue index 1ef90b2..6c7bdf1 100644 --- a/src/views/document/index.vue +++ b/src/views/document/index.vue @@ -16,23 +16,25 @@ 删除 详情 + 下载 - + diff --git a/src/views/project/contractManage/index.vue b/src/views/project/contractManage/index.vue index 821a7e2..109a956 100644 --- a/src/views/project/contractManage/index.vue +++ b/src/views/project/contractManage/index.vue @@ -18,6 +18,7 @@ 删除 详情 + 下载 @@ -94,7 +95,8 @@ import { ref, reactive } from 'vue'; import addModal from './addModal.vue'; import { message } from 'ant-design-vue'; - + import { commonDownload } from '@/api/common/index'; + import { downloadByData } from '@/utils/file/download'; defineOptions({ name: 'ContractManage' }); const [registerTable, { reload }] = useTable({ @@ -118,7 +120,7 @@ }, columns: columns, actionColumn: { - width: 200, + width: 270, title: '操作', key: 'action', fixed: 'right', @@ -274,6 +276,18 @@ } } ) + //下载 + const download = async (record:any) => { + const attachments = JSON.parse(record.attachment) + if (attachments && attachments.length > 0) { + attachments.forEach((i: any) => { + commonDownload(i.url).then((res) => { + const data = res; + downloadByData(data, i.name); + }); + }); + } + }; diff --git a/src/views/project/projectManage/index.vue b/src/views/project/projectManage/index.vue index b8c4222..96edeed 100644 --- a/src/views/project/projectManage/index.vue +++ b/src/views/project/projectManage/index.vue @@ -16,6 +16,7 @@ 删除 详情 + 下载 @@ -32,7 +33,8 @@ import detailDrawer from './detailDrawer.vue'; import { ref } from 'vue'; import addModal from './addModal.vue'; - + import { commonDownload } from '@/api/common/index'; + import { downloadByData } from '@/utils/file/download'; defineOptions({ name: 'ProjectManage' }); const [registerTable, { reload }] = useTable({ @@ -56,7 +58,7 @@ }, columns: columns, actionColumn: { - width: 200, + width: 270, title: '操作', key: 'action', fixed: 'right', @@ -80,6 +82,18 @@ const handleEdit = (id: any) => { addModalRef.value.showModal(2, id); }; + //下载 + const download = async (record:any) => { + const attachments = JSON.parse(record.attachment) + if (attachments && attachments.length > 0) { + attachments.forEach((i: any) => { + commonDownload(i.url).then((res) => { + const data = res; + downloadByData(data, i.name); + }); + }); + } + };