-
32src/api/collect/collect.js
-
90src/assets/iconfonts/light/iconfont.css
-
2src/assets/iconfonts/light/iconfont.js
-
147src/assets/iconfonts/light/iconfont.json
-
BINsrc/assets/iconfonts/light/iconfont.ttf
-
BINsrc/assets/iconfonts/light/iconfont.woff
-
BINsrc/assets/iconfonts/light/iconfont.woff2
-
BINsrc/assets/images/fileIcon/ai.png
-
BINsrc/assets/images/fileIcon/attachment.png
-
BINsrc/assets/images/fileIcon/audio.png
-
BINsrc/assets/images/fileIcon/box_notes.png
-
BINsrc/assets/images/fileIcon/csv.png
-
BINsrc/assets/images/fileIcon/eps.png
-
BINsrc/assets/images/fileIcon/excel.png
-
BINsrc/assets/images/fileIcon/exe.png
-
BINsrc/assets/images/fileIcon/flash.png
-
BINsrc/assets/images/fileIcon/folder.png
-
BINsrc/assets/images/fileIcon/gdoc.png
-
BINsrc/assets/images/fileIcon/gdocs.png
-
BINsrc/assets/images/fileIcon/gform.png
-
BINsrc/assets/images/fileIcon/gpres.png
-
BINsrc/assets/images/fileIcon/gsheet.png
-
BINsrc/assets/images/fileIcon/html.png
-
BINsrc/assets/images/fileIcon/image.png
-
BINsrc/assets/images/fileIcon/keynote.png
-
BINsrc/assets/images/fileIcon/library_folder.png
-
BINsrc/assets/images/fileIcon/link.png
-
BINsrc/assets/images/fileIcon/mp.png
-
BINsrc/assets/images/fileIcon/overlay.png
-
BINsrc/assets/images/fileIcon/pack.png
-
BINsrc/assets/images/fileIcon/pages.png
-
BINsrc/assets/images/fileIcon/pdf.png
-
BINsrc/assets/images/fileIcon/ppt.png
-
BINsrc/assets/images/fileIcon/psd.png
-
BINsrc/assets/images/fileIcon/quip_doc.png
-
BINsrc/assets/images/fileIcon/quip_sheet.png
-
BINsrc/assets/images/fileIcon/rtf.png
-
BINsrc/assets/images/fileIcon/slide.png
-
BINsrc/assets/images/fileIcon/stypi.png
-
BINsrc/assets/images/fileIcon/txt.png
-
BINsrc/assets/images/fileIcon/unknown.png
-
BINsrc/assets/images/fileIcon/video.png
-
BINsrc/assets/images/fileIcon/visio.png
-
BINsrc/assets/images/fileIcon/webex.png
-
BINsrc/assets/images/fileIcon/word.png
-
BINsrc/assets/images/fileIcon/xml.png
-
BINsrc/assets/images/fileIcon/zip.png
-
7src/assets/styles/collect-reorganizi.scss
-
1src/views/collectReorganizi/collectionLibrary/anjuan/tableList.vue
-
64src/views/collectReorganizi/collectionLibrary/file/index.vue
-
1src/views/collectReorganizi/collectionLibrary/juannei/index.vue
-
9src/views/collectReorganizi/collectionLibrary/module/archivesInfo/index.vue
-
73src/views/collectReorganizi/collectionLibrary/module/collectHeader.vue
-
8src/views/collectReorganizi/collectionLibrary/module/collectMoveFile/index.vue
-
48src/views/collectReorganizi/collectionLibrary/module/fourTest/index.vue
-
119src/views/collectReorganizi/collectionLibrary/module/fourTestInfo/index.vue
-
81src/views/collectReorganizi/collectionLibrary/module/handleInfo/index.vue
-
54src/views/collectReorganizi/collectionLibrary/module/quickPaper/index.vue
-
251src/views/collectReorganizi/collectionLibrary/module/uploadOriginal/bigUpload.vue
-
170src/views/collectReorganizi/collectionLibrary/module/uploadOriginal/bigUpload2.vue
-
25src/views/collectReorganizi/collectionLibrary/module/uploadOriginal/index.vue
-
64src/views/components/category/PreviewForm.vue
-
5src/views/prearchiveLibrary/module/batchFile.vue
2
src/assets/iconfonts/light/iconfont.js
File diff suppressed because it is too large
View File
After Width: 32 | Height: 32 | Size: 474 B |
After Width: 32 | Height: 32 | Size: 626 B |
After Width: 32 | Height: 32 | Size: 551 B |
After Width: 32 | Height: 32 | Size: 549 B |
After Width: 32 | Height: 32 | Size: 685 B |
After Width: 32 | Height: 32 | Size: 566 B |
After Width: 32 | Height: 32 | Size: 637 B |
After Width: 32 | Height: 32 | Size: 627 B |
After Width: 32 | Height: 32 | Size: 558 B |
After Width: 32 | Height: 32 | Size: 385 B |
After Width: 32 | Height: 32 | Size: 486 B |
After Width: 32 | Height: 32 | Size: 617 B |
After Width: 32 | Height: 32 | Size: 530 B |
After Width: 32 | Height: 32 | Size: 515 B |
After Width: 32 | Height: 32 | Size: 504 B |
After Width: 32 | Height: 32 | Size: 653 B |
After Width: 32 | Height: 32 | Size: 555 B |
After Width: 32 | Height: 32 | Size: 651 B |
After Width: 32 | Height: 32 | Size: 636 B |
After Width: 32 | Height: 32 | Size: 658 B |
After Width: 32 | Height: 32 | Size: 659 B |
After Width: 32 | Height: 32 | Size: 492 B |
After Width: 32 | Height: 32 | Size: 532 B |
After Width: 32 | Height: 32 | Size: 637 B |
After Width: 32 | Height: 32 | Size: 635 B |
After Width: 32 | Height: 32 | Size: 591 B |
After Width: 32 | Height: 32 | Size: 657 B |
After Width: 32 | Height: 32 | Size: 817 B |
After Width: 32 | Height: 32 | Size: 821 B |
After Width: 32 | Height: 32 | Size: 569 B |
After Width: 32 | Height: 32 | Size: 450 B |
After Width: 32 | Height: 32 | Size: 553 B |
After Width: 32 | Height: 32 | Size: 592 B |
After Width: 32 | Height: 32 | Size: 379 B |
After Width: 32 | Height: 32 | Size: 560 B |
After Width: 32 | Height: 32 | Size: 650 B |
After Width: 32 | Height: 32 | Size: 628 B |
After Width: 32 | Height: 32 | Size: 635 B |
After Width: 32 | Height: 32 | Size: 622 B |
After Width: 32 | Height: 32 | Size: 552 B |
@ -0,0 +1,119 @@ |
|||
<template> |
|||
<!--四性检测-档案详情内--> |
|||
<div class="fourTest-container"> |
|||
<el-table :data="tableData"> |
|||
<el-table-column prop="admin" label="检测人" min-width="60" /> |
|||
<el-table-column prop="createTime" label="检测时间" min-width="180"> |
|||
<template slot-scope="scope"> |
|||
<div>{{ scope.row.createTime | parseTime }}</div> |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column prop="truth" label="真实性" align="center"> |
|||
<template slot-scope="scope"> |
|||
<span v-if="scope.row.truth===1" class="four-icon iconfont icon-zhengque" /> |
|||
<span v-else class="four-icon iconfont icon-cuowu" /> |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column prop="integrity" label="完整性" align="center"> |
|||
<template slot-scope="scope"> |
|||
<span v-if="scope.row.integrity===1" class="four-icon iconfont icon-zhengque" /> |
|||
<span v-else class="four-icon iconfont icon-cuowu" /> |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column prop="availability" label="可用性" align="center"> |
|||
<template slot-scope="scope"> |
|||
<span v-if="scope.row.availability===1" class="four-icon iconfont icon-zhengque" /> |
|||
<span v-else class="four-icon iconfont icon-cuowu" /> |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column prop="safety" label="安全性" align="center"> |
|||
<template slot-scope="scope"> |
|||
<span v-if="scope.row.safety===1" class="four-icon iconfont icon-zhengque" /> |
|||
<span v-else class="four-icon iconfont icon-cuowu" /> |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column prop="createDate" label="检测结果" min-width="220"> |
|||
<template slot-scope="scope"> |
|||
<div>共检测{{ scope.row.totalNum }}项,<span class="testSuccess">通过{{ scope.row.successNum }}条</span>,<span class="testError">未通过{{ scope.row.errorNum }}条</span></div> |
|||
</template> |
|||
</el-table-column> |
|||
</el-table> |
|||
<!--分页组件--> |
|||
<el-pagination |
|||
:current-page="page.page" |
|||
:total="page.total" |
|||
:page-size="page.size" |
|||
:pager-count="5" |
|||
layout="total, prev, pager, next, sizes" |
|||
@size-change="handleSizeChange" |
|||
@current-change="handleCurrentPage" |
|||
/> |
|||
</div> |
|||
</template> |
|||
|
|||
<script> |
|||
const data = [ |
|||
{ |
|||
'id': '005E76FEC5A2AAB368CA1F', |
|||
'admin': 'admin', |
|||
'archive_no': 'YXK-2022-JJ-001 ', |
|||
'maintitle': '文书档案001', |
|||
'createTime': 1660706815000, |
|||
'truth': 0, |
|||
'integrity': 1, |
|||
'availability': 0, |
|||
'safety': 0, |
|||
'totalNum': 5, |
|||
'successNum': 1, |
|||
'errorNum': 0 |
|||
}, |
|||
{ |
|||
'id': '005E76FEC5A2AAB368CA1F2', |
|||
'admin': 'admin', |
|||
'archive_no': 'YXK-2022-JJ-002 ', |
|||
'maintitle': '文书档案001', |
|||
'createTime': 1660706815000, |
|||
'truth': 0, |
|||
'integrity': 1, |
|||
'availability': 1, |
|||
'safety': 0, |
|||
'totalNum': 5, |
|||
'successNum': 1, |
|||
'errorNum': 0 |
|||
} |
|||
] |
|||
export default { |
|||
name: 'FourTestInfo', |
|||
components: { }, |
|||
mixins: [], |
|||
data() { |
|||
return { |
|||
tableData: [{}, {}], |
|||
page: { |
|||
page: 1, |
|||
size: 10, |
|||
total: 0 |
|||
} |
|||
} |
|||
}, |
|||
created() { |
|||
|
|||
}, |
|||
mounted() { |
|||
this.tableData = data |
|||
}, |
|||
methods: { |
|||
handleSizeChange(size) { |
|||
this.page.size = size |
|||
this.page.page = 1 |
|||
}, |
|||
handleCurrentPage(val) { |
|||
this.page.page = val |
|||
} |
|||
} |
|||
} |
|||
</script> |
|||
|
|||
<style lang='scss' scoped> |
|||
@import "~@/assets/styles/collect-reorganizi.scss"; |
|||
</style> |
@ -0,0 +1,81 @@ |
|||
<template> |
|||
<!--档案详情-操作记录--> |
|||
<div class="fourTest-container"> |
|||
<el-table :data="tableData"> |
|||
<el-table-column prop="type" label="操作类型" min-width="60" /> |
|||
<el-table-column prop="isAgree" label="处理意见" min-width="60" /> |
|||
<el-table-column prop="admin" label="处理人" min-width="60" /> |
|||
<el-table-column prop="createTime" label="处理时间" min-width="180"> |
|||
<template slot-scope="scope"> |
|||
<div>{{ scope.row.createTime | parseTime }}</div> |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column prop="remark" label="备注" min-width="60" /> |
|||
</el-table> |
|||
<!--分页组件--> |
|||
<el-pagination |
|||
:current-page="page.page" |
|||
:total="page.total" |
|||
:page-size="page.size" |
|||
:pager-count="5" |
|||
layout="total, prev, pager, next, sizes" |
|||
@size-change="handleSizeChange" |
|||
@current-change="handleCurrentPage" |
|||
/> |
|||
</div> |
|||
</template> |
|||
|
|||
<script> |
|||
const data = [ |
|||
{ |
|||
'id': '005E76FEC5A2AAB368CA1F', |
|||
'admin': 'admin', |
|||
'type': '预归档新增', |
|||
'isAgree': '同意', |
|||
'createTime': 1660706815000, |
|||
'remark': '' |
|||
}, |
|||
{ |
|||
'id': '005E76FEC5A2AAB368CA1F2', |
|||
'admin': 'admin', |
|||
'type': '装盒', |
|||
'isAgree': '拒绝', |
|||
'createTime': 1660706815000, |
|||
'remark': '' |
|||
} |
|||
] |
|||
export default { |
|||
name: 'HandleInfo', |
|||
components: { }, |
|||
mixins: [], |
|||
data() { |
|||
return { |
|||
tableData: [{}, {}], |
|||
page: { |
|||
page: 1, |
|||
size: 10, |
|||
total: 0 |
|||
} |
|||
} |
|||
}, |
|||
created() { |
|||
|
|||
}, |
|||
mounted() { |
|||
this.tableData = data |
|||
}, |
|||
methods: { |
|||
handleSizeChange(size) { |
|||
this.page.size = size |
|||
this.page.page = 1 |
|||
}, |
|||
handleCurrentPage(val) { |
|||
this.page.page = val |
|||
} |
|||
} |
|||
} |
|||
</script> |
|||
|
|||
<style lang='scss' scoped> |
|||
@import "~@/assets/styles/collect-reorganizi.scss"; |
|||
</style> |
@ -1,170 +0,0 @@ |
|||
<template> |
|||
<div> |
|||
<!--上传组件--> |
|||
<form enctype="multipart/form-data"> |
|||
<input id="fileInput" type="file" name="fileInput"> |
|||
<input type="button" value="计算文件MD5" @click="calculateFileMD5()"> |
|||
<input type="button" value="上传" @click="uploadFile()"> |
|||
<input type="button" value="检测文件完整性" @click="checkFile()"> |
|||
</form> |
|||
<p> |
|||
文件MD5: |
|||
<span id="fileMd5" /> |
|||
</p> |
|||
<p> |
|||
上传结果: |
|||
<span id="uploadResult" /> |
|||
</p> |
|||
<p> |
|||
检测文件完整性: |
|||
<span id="checkFileRes" /> |
|||
</p> |
|||
</div> |
|||
</template> |
|||
|
|||
<script> |
|||
import { getToken } from '@/utils/auth' |
|||
import { mapGetters } from 'vuex' |
|||
import axios from 'axios' |
|||
import SparkMD5 from 'spark-md5' |
|||
|
|||
export default { |
|||
data() { |
|||
return { |
|||
chunkSize: 1 * 1024 * 1024, |
|||
fileMd5: null |
|||
} |
|||
}, |
|||
computed: { |
|||
...mapGetters([ |
|||
'baseApi' |
|||
]) |
|||
}, |
|||
methods: { |
|||
// 每片的大小 |
|||
calculateFileMD5() { |
|||
const fileMd5Span = document.getElementById('fileMd5') |
|||
const fileInput = document.getElementById('fileInput') |
|||
const file = fileInput.files[0] |
|||
console.log('file', file) |
|||
this.getFileMd5(file).then((md5) => { |
|||
console.log(md5) |
|||
console.log(md5._buff) |
|||
this.fileMd5 = md5._buff |
|||
fileMd5Span.innerHTML = md5._buff |
|||
}) |
|||
}, |
|||
uploadFile() { |
|||
const fileInput = document.getElementById('fileInput') |
|||
const file = fileInput.files[0] |
|||
console.log(file) |
|||
this.getFileMd5(file) |
|||
if (!file) return |
|||
if (!this.fileMd5) return |
|||
// 获取到文件 |
|||
const fileArr = this.sliceFile(file) |
|||
console.log(fileArr) |
|||
// 保存文件名称 |
|||
const fileName = file.name |
|||
|
|||
fileArr.forEach((e, i) => { |
|||
// 创建formdata对象 |
|||
const data = new FormData() |
|||
data.append('totalNumber', fileArr.length) |
|||
data.append('chunkSize', this.chunkSize) |
|||
data.append('chunkNumber', i) |
|||
data.append('md5', this.fileMd5) |
|||
data.append('file', new File([e], fileName)) |
|||
this.upload(data) |
|||
}) |
|||
console.log(fileArr) |
|||
}, |
|||
|
|||
/** |
|||
* 计算文件md5值 |
|||
*/ |
|||
getFileMd5(file) { |
|||
return new Promise((resolve, reject) => { |
|||
const fileReader = new FileReader() |
|||
const sparkMd5 = new SparkMD5.ArrayBuffer() |
|||
console.log('sparkMd5', sparkMd5) |
|||
console.log('fileReader', fileReader) |
|||
fileReader.onload = function(event) { |
|||
console.log(event.target.result) |
|||
const fileMd5 = sparkMd5.append(event.target.result) |
|||
console.log(fileMd5) |
|||
resolve(fileMd5) |
|||
} |
|||
fileReader.readAsArrayBuffer(file) |
|||
}) |
|||
}, |
|||
upload(data) { |
|||
const uploadResult = document.getElementById('uploadResult') |
|||
axios.post(this.baseApi + '/api/collect/uploadBig', data, { |
|||
headers: { |
|||
'Authorization': getToken() |
|||
} |
|||
}).then((res) => { |
|||
console.log(res) |
|||
console.log(data.get('chunkNumber')) |
|||
if (res.data.code === 200) { |
|||
uploadResult.append('上传成功分片:' + data.get('chunkNumber') + '\t') |
|||
} else { |
|||
uploadResult.innerHTML = '上传失败' |
|||
} |
|||
}).catch(function(error) { |
|||
console.log(error) |
|||
}) |
|||
}, |
|||
checkFile() { |
|||
var checkFileRes = document.getElementById('checkFileRes') |
|||
const data = new FormData() |
|||
data.append('md5', this.fileMd5) |
|||
axios.post(this.baseApi + '/api/collect/checkFile', data, { |
|||
headers: { |
|||
'Authorization': getToken() |
|||
} |
|||
}).then((res) => { |
|||
console.log(res) |
|||
if (res.data.code === 200) { |
|||
checkFileRes.innerHTML = '检测文件完整性成功:' + res |
|||
} else { |
|||
checkFileRes.innerHTML = '检测文件完整性失败' |
|||
} |
|||
}).catch(function(error) { |
|||
console.log(error) |
|||
}) |
|||
}, |
|||
|
|||
sliceFile(file) { |
|||
const chunks = [] |
|||
let start = 0 |
|||
let end |
|||
console.log(this.chunkSize) |
|||
while (start < file.size) { |
|||
end = Math.min(start + this.chunkSize, file.size) |
|||
console.log('end', end) |
|||
chunks.push(file.slice(start, end)) |
|||
console.log('chunks', chunks) |
|||
start = end |
|||
} |
|||
return chunks |
|||
} |
|||
} |
|||
} |
|||
</script> |
|||
|
|||
<style lang="scss" scoped> |
|||
.upload-demo{ |
|||
position: relative; |
|||
display: flex; |
|||
justify-content: center; |
|||
width: 120px; |
|||
margin: 20px 0 30px 0; |
|||
.el-progress{ |
|||
position: absolute; |
|||
left: 0; |
|||
bottom: -20px; |
|||
} |
|||
} |
|||
</style> |