src/views/equipmentManagement/measurementEquipment/components/calibrationDia.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/views/equipmentManagement/measurementEquipment/components/formDia.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/views/equipmentManagement/measurementEquipment/filesDia.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/views/equipmentManagement/measurementEquipment/index.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
src/views/equipmentManagement/measurementEquipment/components/calibrationDia.vue
@@ -94,23 +94,23 @@ </el-form-item> </el-col> </el-row> <el-row :gutter="30"> <el-col :span="24"> <el-form-item label="éä»¶ææï¼" prop="remark"> <el-upload v-model:file-list="fileList" :action="upload.url" multiple ref="fileUpload" auto-upload :headers="upload.headers" :before-upload="handleBeforeUpload" :on-error="handleUploadError" :on-success="handleUploadSuccess" :on-remove="handleRemove"> <el-button type="primary" v-if="operationType !== 'view'">ä¸ä¼ </el-button> <template #tip v-if="operationType !== 'view'"> <div class="el-upload__tip"> æä»¶æ ¼å¼æ¯æ docï¼docxï¼xlsï¼xlsxï¼pptï¼pptxï¼pdfï¼txtï¼xmlï¼jpgï¼jpegï¼pngï¼gifï¼bmpï¼rarï¼zipï¼7z </div> </template> </el-upload> </el-form-item> </el-col> </el-row> <!-- <el-row :gutter="30">--> <!-- <el-col :span="24">--> <!-- <el-form-item label="éä»¶ææï¼" prop="remark">--> <!-- <el-upload v-model:file-list="fileList" :action="upload.url" multiple ref="fileUpload" auto-upload--> <!-- :headers="upload.headers" :before-upload="handleBeforeUpload" :on-error="handleUploadError"--> <!-- :on-success="handleUploadSuccess" :on-remove="handleRemove">--> <!-- <el-button type="primary" v-if="operationType !== 'view'">ä¸ä¼ </el-button>--> <!-- <template #tip v-if="operationType !== 'view'">--> <!-- <div class="el-upload__tip">--> <!-- æä»¶æ ¼å¼æ¯æ--> <!-- docï¼docxï¼xlsï¼xlsxï¼pptï¼pptxï¼pdfï¼txtï¼xmlï¼jpgï¼jpegï¼pngï¼gifï¼bmpï¼rarï¼zipï¼7z--> <!-- </div>--> <!-- </template>--> <!-- </el-upload>--> <!-- </el-form-item>--> <!-- </el-col>--> <!-- </el-row>--> </el-form> <template #footer> <div class="dialog-footer"> src/views/equipmentManagement/measurementEquipment/components/formDia.vue
@@ -90,23 +90,23 @@ </el-form-item> </el-col> </el-row> <el-row :gutter="30"> <el-col :span="24"> <el-form-item label="éä»¶ææï¼" prop="remark"> <el-upload v-model:file-list="fileList" :action="upload.url" multiple ref="fileUpload" auto-upload :headers="upload.headers" :before-upload="handleBeforeUpload" :on-error="handleUploadError" :on-success="handleUploadSuccess" :on-remove="handleRemove"> <el-button type="primary" v-if="operationType !== 'view'">ä¸ä¼ </el-button> <template #tip v-if="operationType !== 'view'"> <div class="el-upload__tip"> æä»¶æ ¼å¼æ¯æ docï¼docxï¼xlsï¼xlsxï¼pptï¼pptxï¼pdfï¼txtï¼xmlï¼jpgï¼jpegï¼pngï¼gifï¼bmpï¼rarï¼zipï¼7z </div> </template> </el-upload> </el-form-item> </el-col> </el-row> <!-- <el-row :gutter="30">--> <!-- <el-col :span="24">--> <!-- <el-form-item label="éä»¶ææï¼" prop="remark">--> <!-- <el-upload v-model:file-list="fileList" :action="upload.url" multiple ref="fileUpload" auto-upload--> <!-- :headers="upload.headers" :before-upload="handleBeforeUpload" :on-error="handleUploadError"--> <!-- :on-success="handleUploadSuccess" :on-remove="handleRemove">--> <!-- <el-button type="primary" v-if="operationType !== 'view'">ä¸ä¼ </el-button>--> <!-- <template #tip v-if="operationType !== 'view'">--> <!-- <div class="el-upload__tip">--> <!-- æä»¶æ ¼å¼æ¯æ--> <!-- docï¼docxï¼xlsï¼xlsxï¼pptï¼pptxï¼pdfï¼txtï¼xmlï¼jpgï¼jpegï¼pngï¼gifï¼bmpï¼rarï¼zipï¼7z--> <!-- </div>--> <!-- </template>--> <!-- </el-upload>--> <!-- </el-form-item>--> <!-- </el-col>--> <!-- </el-row>--> </el-form> <template #footer> <div class="dialog-footer"> src/views/equipmentManagement/measurementEquipment/filesDia.vue
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,202 @@ <template> <div> <el-dialog v-model="dialogFormVisible" title="ä¸ä¼ éä»¶" width="50%" @close="closeDia" > <div style="margin-bottom: 10px;text-align: right"> <el-upload v-model:file-list="fileList" class="upload-demo" :action="uploadUrl" :on-success="handleUploadSuccess" :on-error="handleUploadError" name="file" :show-file-list="false" :headers="headers" style="display: inline;margin-right: 10px" > <el-button type="primary">ä¸ä¼ éä»¶</el-button> </el-upload> <el-button type="danger" plain @click="handleDelete">å é¤</el-button> </div> <PIMTable rowKey="id" :column="tableColumn" :tableData="tableData" :tableLoading="tableLoading" :isSelection="true" @selection-change="handleSelectionChange" height="500" > </PIMTable> <pagination style="margin: 10px 0" v-show="total > 0" @pagination="paginationSearch" :total="total" :page="page.current" :limit="page.size" /> <template #footer> <div class="dialog-footer"> <el-button @click="closeDia">åæ¶</el-button> </div> </template> </el-dialog> <filePreview ref="filePreviewRef" /> </div> </template> <script setup> import {ref} from "vue"; import {ElMessageBox} from "element-plus"; import {getToken} from "@/utils/auth.js"; import filePreview from '@/components/filePreview/index.vue' import { fileAdd, fileDel, fileListPage } from "@/api/financialManagement/revenueManagement.js"; import Pagination from "@/components/PIMTable/Pagination.vue"; const { proxy } = getCurrentInstance() const emit = defineEmits(['close']) const dialogFormVisible = ref(false); const currentId = ref('') const selectedRows = ref([]); const filePreviewRef = ref() const tableColumn = ref([ { label: "æä»¶åç§°", prop: "name", }, { dataType: "action", label: "æä½", align: "center", operation: [ { name: "ä¸è½½", type: "text", clickFun: (row) => { downLoadFile(row); }, }, { name: "é¢è§", type: "text", clickFun: (row) => { lookFile(row); }, } ], }, ]); const page = reactive({ current: 1, size: 100, }); const total = ref(0); const tableData = ref([]); const fileList = ref([]); const tableLoading = ref(false); const accountType = ref('') const headers = ref({ Authorization: "Bearer " + getToken(), }); const uploadUrl = ref(import.meta.env.VITE_APP_BASE_API + "/file/upload"); // ä¸ä¼ çå¾çæå¡å¨å°å // æå¼å¼¹æ¡ const openDialog = (row,type) => { accountType.value = type; dialogFormVisible.value = true; currentId.value = row.id; getList() } const paginationSearch = (obj) => { page.current = obj.page; page.size = obj.limit; getList(); }; const getList = () => { fileListPage({accountId: currentId.value,accountType:accountType.value, ...page}).then(res => { tableData.value = res.data.records; total.value = res.data.total; }) } // è¡¨æ ¼éæ©æ°æ® const handleSelectionChange = (selection) => { selectedRows.value = selection; }; // å ³éå¼¹æ¡ const closeDia = () => { dialogFormVisible.value = false; emit('close') }; // ä¸ä¼ æåå¤ç function handleUploadSuccess(res, file) { // 妿ä¸ä¼ æå if (res.code == 200) { const fileRow = {} fileRow.name = res.data.originalName fileRow.url = res.data.tempPath uploadFile(fileRow) } else { proxy.$modal.msgError("æä»¶ä¸ä¼ 失败"); } } function uploadFile(file) { file.accountId = currentId.value; file.accountType = accountType.value; fileAdd(file).then(res => { proxy.$modal.msgSuccess("æä»¶ä¸ä¼ æå"); getList() }) } // ä¸ä¼ 失败å¤ç function handleUploadError() { proxy.$modal.msgError("æä»¶ä¸ä¼ 失败"); } // ä¸è½½éä»¶ const downLoadFile = (row) => { proxy.$download.name(row.url); } // å é¤ const handleDelete = () => { let ids = []; if (selectedRows.value.length > 0) { ids = selectedRows.value.map((item) => item.id); } else { proxy.$modal.msgWarning("è¯·éæ©æ°æ®"); return; } ElMessageBox.confirm("éä¸çå 容å°è¢«å é¤ï¼æ¯å¦ç¡®è®¤å é¤ï¼", "导åº", { confirmButtonText: "确认", cancelButtonText: "åæ¶", type: "warning", }).then(() => { fileDel(ids).then((res) => { proxy.$modal.msgSuccess("å 餿å"); getList(); }); }).catch(() => { proxy.$modal.msg("已忶"); }); }; // é¢è§éä»¶ const lookFile = (row) => { filePreviewRef.value.open(row.url) } defineExpose({ openDialog, }); </script> <style scoped> </style> src/views/equipmentManagement/measurementEquipment/index.vue
@@ -44,6 +44,7 @@ </div> <form-dia ref="formDia" @close="handleQuery"></form-dia> <calibration-dia ref="calibrationDia" @close="handleQuery"></calibration-dia> <files-dia ref="filesDia"></files-dia> </div> </template> @@ -57,6 +58,7 @@ measuringInstrumentDelete, measuringInstrumentListPage } from "@/api/equipmentManagement/measurementEquipment.js"; import FilesDia from "./filesDia.vue"; const { proxy } = getCurrentInstance(); const userStore = useUserStore() @@ -150,7 +152,7 @@ name: "éä»¶", type: "text", clickFun: (row) => { openCalibrationDia("add", row); openFilesFormDia(row); }, }, ], @@ -158,6 +160,7 @@ ]); const tableData = ref([]); const tableLoading = ref(false); const filesDia = ref() const page = reactive({ current: 1, size: 100, @@ -165,6 +168,14 @@ }); const selectedRows = ref([]); // æå¼éä»¶å¼¹æ¡ const openFilesFormDia = (row) => { console.log(row) nextTick(() => { filesDia.value?.openDialog( row,'计éå¨å ·å°è´¦') }) }; // è¡¨æ ¼éæ©æ°æ® const handleSelectionChange = (selection) => { selectedRows.value = selection;