diff --git a/src/api/dictionary.js b/src/api/dictionary.js index 0e7f6382..6c432a61 100644 --- a/src/api/dictionary.js +++ b/src/api/dictionary.js @@ -1154,4 +1154,51 @@ export function deleteTrialFinalRecord(id) { url: `/TrialFinalRecord/deleteTrialFinalRecord/${id}`, method: 'delete', }) -} \ No newline at end of file +} +// 项目文档-一般文件记录列表 +export function getTrialNormalRecordList(data) { + return request({ + url: `/TrialNormalRecord/getTrialNormalRecordList`, + method: 'post', + data + }) +} +// 项目文档-一般文件记录授权 +export function authorizedTTrialNormalRecord(data) { + return request({ + url: `/TrialNormalRecord/authorizedTTrialNormalRecord`, + method: 'post', + data + }) +} +// 项目文档-一般文件记录批量新增 +export function batchAddTrialNormalRecord(data) { + return request({ + url: `/TrialNormalRecord/batchAddTrialNormalRecord`, + method: 'post', + data + }) +} +// 项目文档-一般文件记录新增/修改 +export function addOrUpdateTrialNormalRecord(data) { + return request({ + url: `/TrialNormalRecord/addOrUpdateTrialNormalRecord`, + method: 'post', + data + }) +} +// 项目文档-删除一般文件记录 +export function deleteTrialNormalRecord(id) { + return request({ + url: `/TrialNormalRecord/deleteTrialNormalRecord/${id}`, + method: 'delete', + }) +} +// 项目文档-批量删除一般文件记录 +export function deleteTrialNormalRecordList(data) { + return request({ + url: `/TrialNormalRecord/deleteTrialNormalRecordList`, + method: 'post', + data + }) +} diff --git a/src/utils/oss.js b/src/utils/oss.js index af37bd6c..6c0aa68c 100644 --- a/src/utils/oss.js +++ b/src/utils/oss.js @@ -41,7 +41,13 @@ async function ossGenerateSTS() { let _vm = router.default.app if (_vm._route.path !== '/trials/trials-panel/visit/crc-upload') { var objectItem = objectName.split('/') - objectItem[objectItem.length - 1] = new Date().getTime() + '_' + objectItem[objectItem.length - 1] + // objectItem[objectItem.length - 1] = new Date().getTime() + '_' + objectItem[objectItem.length - 1] + objectItem[objectItem.length - 1] = `${objectItem[objectItem.length - 1].substring( + 0, + objectItem[objectItem.length - 1].lastIndexOf('.') + )}__${new Date().getTime()}${objectItem[objectItem.length - 1].substring( + objectItem[objectItem.length - 1].lastIndexOf('.') + ).toLocaleLowerCase()}` objectName = objectItem.join('/') } let res = await OSSclient.put(objectName, object) @@ -78,7 +84,13 @@ async function ossGenerateSTS() { let _vm = router.default.app if (_vm._route.path !== '/trials/trials-panel/visit/crc-upload') { var objectItem = data.path.split('/') - objectItem[objectItem.length - 1] = new Date().getTime() + '_' + objectItem[objectItem.length - 1] + // objectItem[objectItem.length - 1] = new Date().getTime() + '_' + objectItem[objectItem.length - 1] + objectItem[objectItem.length - 1] = `${objectItem[objectItem.length - 1].substring( + 0, + objectItem[objectItem.length - 1].lastIndexOf('.') + )}__${new Date().getTime()}${objectItem[objectItem.length - 1].substring( + objectItem[objectItem.length - 1].lastIndexOf('.') + ).toLocaleLowerCase()}` data.path = objectItem.join('/') } let res = await customerHttp(OSSclient, data, progress); @@ -185,7 +197,13 @@ function uploadAWS(aws, data, progress) { let _vm = router.default.app if (_vm._route.path !== '/trials/trials-panel/visit/crc-upload') { var objectItem = data.path.split('/') - objectItem[objectItem.length - 1] = new Date().getTime() + '_' + objectItem[objectItem.length - 1] + // objectItem[objectItem.length - 1] = new Date().getTime() + '_' + objectItem[objectItem.length - 1] + objectItem[objectItem.length - 1] = `${objectItem[objectItem.length - 1].substring( + 0, + objectItem[objectItem.length - 1].lastIndexOf('.') + )}__${new Date().getTime()}${objectItem[objectItem.length - 1].substring( + objectItem[objectItem.length - 1].lastIndexOf('.') + ).toLocaleLowerCase()}` data.path = objectItem.join('/') } let bucketName = data.path.split("/")[1] || Vue.prototype.OSSclientConfig.bucket diff --git a/src/utils/stream.js b/src/utils/stream.js index 4cec5825..1b838669 100644 --- a/src/utils/stream.js +++ b/src/utils/stream.js @@ -58,7 +58,7 @@ async function updateFile(file, name) { try { store.dispatch('trials/setUnLock', true) const fileOutputStream = streamSaver.createWriteStream(name); - file = decodeUtf8(file); + // file = decodeUtf8(file); let res = await fetch(file); res.body.pipeTo(fileOutputStream).then(() => { store.dispatch('trials/setUnLock', true) diff --git a/src/views/trials/trials-panel/trial-summary/trial-document/components/fileRecord/form.vue b/src/views/trials/trials-panel/trial-summary/trial-document/components/fileRecord/form.vue new file mode 100644 index 00000000..e69de29b diff --git a/src/views/trials/trials-panel/trial-summary/trial-document/components/fileRecord/index.vue b/src/views/trials/trials-panel/trial-summary/trial-document/components/fileRecord/index.vue new file mode 100644 index 00000000..8ebcb0f8 --- /dev/null +++ b/src/views/trials/trials-panel/trial-summary/trial-document/components/fileRecord/index.vue @@ -0,0 +1,850 @@ + + + \ No newline at end of file diff --git a/src/views/trials/trials-panel/trial-summary/trial-document/components/report_doc/form.vue b/src/views/trials/trials-panel/trial-summary/trial-document/components/report_doc/form.vue index 50dc2073..4ec0252c 100644 --- a/src/views/trials/trials-panel/trial-summary/trial-document/components/report_doc/form.vue +++ b/src/views/trials/trials-panel/trial-summary/trial-document/components/report_doc/form.vue @@ -168,7 +168,6 @@ + \ No newline at end of file diff --git a/src/views/trials/trials-panel/trial-summary/trial-document/index.vue b/src/views/trials/trials-panel/trial-summary/trial-document/index.vue index b98a2d6a..4b8f6e0b 100644 --- a/src/views/trials/trials-panel/trial-summary/trial-document/index.vue +++ b/src/views/trials/trials-panel/trial-summary/trial-document/index.vue @@ -34,7 +34,6 @@
- + +
@@ -50,9 +58,10 @@ import BaseContainer from '@/components/BaseContainer' import Menu from './components/menu.vue' import reportDoc from './components/report_doc/index.vue' +import fileRecord from './components/fileRecord/index.vue' export default { name: 'trialDocument', - components: { BaseContainer, Menu, reportDoc }, + components: { BaseContainer, Menu, reportDoc, fileRecord }, data() { return { viewStatus: false,