From 1309d6a2a55fc1cf07de57da3891a8d3230b2db8 Mon Sep 17 00:00:00 2001 From: spring <2396852758@qq.com> Date: 星期五, 21 二月 2025 16:08:54 +0800 Subject: [PATCH] 管理体系文件控制搬迁完成 --- src/views/business/materialOrderComponents/materialOrder/filesLookVisible.vue | 209 +++++++++++++++++++++++++++++++--------------------- 1 files changed, 125 insertions(+), 84 deletions(-) diff --git a/src/views/business/materialOrderComponents/materialOrder/filesLookVisible.vue b/src/views/business/materialOrderComponents/materialOrder/filesLookVisible.vue index 2ab086f..5b90f8e 100644 --- a/src/views/business/materialOrderComponents/materialOrder/filesLookVisible.vue +++ b/src/views/business/materialOrderComponents/materialOrder/filesLookVisible.vue @@ -3,26 +3,20 @@ <el-dialog title="闄勪欢鏌ョ湅" :visible.sync="isShow" width="80%" @closed="$emit('closeFilesLook')"> <div style="display: flex;justify-content: space-between;"> <ul class="tab"> - <li v-for="(m,i) in dataVisibleTitle" :key="i" :class="{active:i===dataVisibleIndex}" @click="handleDataVisibleTab(m,i)">{{m.label}}</li> + <li v-for="(m, i) in dataVisibleTitle" :key="i" :class="{ active: i === dataVisibleIndex }" + @click="handleDataVisibleTab(m, i)">{{ m.label }}</li> </ul> - <el-upload :action="action" - :auto-upload="true" - :data="{orderId: dataVisibleIndex === 0 ? filesLookInfo.enterOrderId : filesLookInfo.quarterOrderId}" - :on-success="handleSuccessUp" :show-file-list="false" - accept='.jpg,.jpeg,.png,.gif,.doc,.docx,.xls,.xlsx,.ppt,.pptx,.pdf,.zip,.rar' :headers="headers" - :before-upload="beforeUpload" - style="width: 80px !important;" - :on-error="onError" ref='upload'> + <el-upload :action="action" :auto-upload="true" + :data="{ orderId: dataVisibleIndex === 0 ? filesLookInfo.enterOrderId : filesLookInfo.quarterOrderId }" + :on-success="handleSuccessUp" :show-file-list="false" + accept='.jpg,.jpeg,.png,.gif,.doc,.docx,.xls,.xlsx,.ppt,.pptx,.pdf,.zip,.rar' :headers="headers" + :before-upload="beforeUpload" style="width: 80px !important;" :on-error="onError" ref='upload'> <el-button size="small" type="primary" style="height: 38px">闄勪欢涓婁紶</el-button> </el-upload> </div> - <div style="height: 70vh;overflow-y: auto;" v-if="filesDialogVisible"> - <ValueTable ref="fileList" - :url="$api.insOrderPlan.getFileList" - :delUrl="$api.insOrderPlan.delfile" - class="value-table" - :key="upIndex" - :componentData="componentData"/> + <div v-if="filesDialogVisible"> + <lims-table :tableData="tableDataFile" :column="columnFile" @pagination="paginationFile" height="500px" + key="tableDataFile" :page="pageFile" :tableLoading="tableLoadingFile"></lims-table> </div> </el-dialog> </div> @@ -31,11 +25,13 @@ <script> import ValueTable from "@/components/Table/value-table.vue"; import file from "@/utils/file"; - +import limsTable from "@/components/Table/lims-table.vue"; +import { delfile, downFile, getFileList } from "@/api/business/rawMaterialOrder"; +import { getToken } from "@/utils/auth"; export default { name: "filesLookVisible", // import 寮曞叆鐨勭粍浠堕渶瑕佹敞鍏ュ埌瀵硅薄涓墠鑳戒娇鐢� - components: {ValueTable}, + components: { limsTable, ValueTable }, props: { filesDialogVisible: { type: Boolean, @@ -43,13 +39,69 @@ }, filesLookInfo: { type: Object, - default: () => {} + default: () => { } }, }, data() { // 杩欓噷瀛樻斁鏁版嵁 return { - upIndex: 0, + tableDataFile: [], + tableLoadingFile: false, + columnFile: [ + { + dataType: 'tag', + label: '绫诲瀷', + prop: 'type', + formatData: (params) => { + if (params == 1) { + return '鍥剧墖' + } else if (params == 2) { + return '鏂囦欢' + } else { + return '' + } + }, + formatType: (params) => { + if (params == 1) { + return 'success' + } else if (params == 2) { + return 'warning' + } else { + return '' + } + } + }, + { label: '闄勪欢鍚嶇О', prop: 'fileName' }, + { label: '涓婁紶浜�', prop: 'name' }, + { label: '涓婁紶鏃堕棿', prop: 'createTime' }, + { + dataType: 'action', + fixed: 'right', + label: '鎿嶄綔', + width: '170px', + operation: [ + { + name: '涓嬭浇', + type: 'text', + clickFun: (row) => { + this.handleDown(row); + } + }, + { + name: '鍒犻櫎', + type: 'text', + clickFun: (row) => { + this.delete(row); + } + }, + ] + } + ], + pageFile: { + total: 0, + size: 10, + current: 1 + }, isShow: this.filesDialogVisible, dataVisibleTitle: [ { @@ -62,84 +114,54 @@ }, ], dataVisibleIndex: 0, // tab鏍忛�夋嫨鍊� - componentData: { - entity: { - insOrderId:'' - }, - isIndex: true, - showSelect: false, - select: false, - sort: false, - init:false, - do: [ - { - id: 'parent', - font: '涓嬭浇', - type: 'text', - method: 'handleDown' - },{ - id: 'delete', - font: '鍒犻櫎', - type: 'text', - method: 'doDiy', - } - ], - isPage: false, - linkEvent: {}, - tagField: { - type:{ - select:[ - { - value: 1, - label: '鍥剧墖' - }, - { - value: 2, - label: '鏂囦欢' - } - ] - } - }, - currentId: '', - selectField: {}, - requiredAdd: [], - requiredUp: [] + entity: { + insOrderId: '' }, - } }, mounted() { - this.refreshTable() + this.getFileList() }, // 鏂规硶闆嗗悎 methods: { // 鍒囨崲鏁版嵁鏌ョ湅tab鏍� - handleDataVisibleTab (m, i) { + handleDataVisibleTab(m, i) { this.dataVisibleIndex = i - this.refreshTable() + this.getFileList() }, // 鏌ヨ鍥炶皟 - refreshTable(e) { + getFileList() { if (this.dataVisibleIndex === 0) { - this.componentData.entity.insOrderId = this.filesLookInfo.enterOrderId + this.entity.insOrderId = this.filesLookInfo.enterOrderId } else { - this.componentData.entity.insOrderId = this.filesLookInfo.quarterOrderId + this.entity.insOrderId = this.filesLookInfo.quarterOrderId } - this.$nextTick(() => { - this.$refs['fileList'].selectList(e) + this.tableLoadingFile = true + const params = { ...this.entity } + getFileList(params).then(res => { + this.tableLoadingFile = false + if (res.code === 200) { + this.tableDataFile = res.data.records + this.pageFile.total = res.data.total + } + }).catch(err => { + this.tableLoadingFile = false }) }, - handleDown(row){ - this.$axios.post(this.$api.insOrderPlan.downFile, { - id: row.id, - }).then(res => { + paginationFile(page) { + this.pageFile.size = page.limit + this.getFileList() + }, + // 涓嬭浇 + handleDown(row) { + downFile({ id: row.id, }).then(res => { if (res.code === 200) { let url = ''; - if(res.data.type==1){ - url = this.javaApi+'/img/'+res.data.fileUrl - file.downloadIamge(url,row.fileName) - }else{ - url = this.javaApi+'/word/'+res.data.fileUrl + if (res.data.type == 1) { + url = this.javaApi + '/img/' + res.data.fileUrl + file.downloadIamge(url, row.fileName) + } else { + url = this.javaApi + '/word/' + res.data.fileUrl const link = document.createElement('a'); link.href = url; link.download = row.fileName; @@ -150,7 +172,7 @@ }) }, - handleSuccessUp(response, ) { + handleSuccessUp(response,) { this.upLoading = false; if (response.code == 200) { this.$message.success('涓婁紶鎴愬姛'); @@ -179,15 +201,33 @@ this.$message.error('涓婁紶澶辫触') this.$refs.upload.clearFiles() }, + // 鍒犻櫎 + delete(row) { + this.$confirm('鏄惁鍒犻櫎褰撳墠鏁版嵁?', "璀﹀憡", { + confirmButtonText: "纭畾", + cancelButtonText: "鍙栨秷", + type: "warning" + }).then(() => { + delfile({ id: row.id }).then(res => { + if (res.code === 500) { + return + } + this.$message.success('鍒犻櫎鎴愬姛') + this.getList() + }).catch(e => { + this.$message.error('鍒犻櫎澶辫触') + }) + }).catch(() => { }) + } }, computed: { headers() { return { - 'token': sessionStorage.getItem('token') + 'Authorization': "Bearer " + getToken() } }, action() { - return this.javaApi + this.$api.insOrderPlan.uploadFile + return this.javaApi + '/insOrderPlan/uploadFile' } }, } @@ -197,7 +237,8 @@ .tab { list-style-type: none; display: flex; - margin-bottom: 12px; + margin-top: 0 !important; + padding-left: 0 !important; } .tab li { -- Gitblit v1.9.3