From a387732bcbcc421aeac814fa078778774f546848 Mon Sep 17 00:00:00 2001 From: gaoluyang <2820782392@qq.com> Date: 星期一, 12 五月 2025 17:57:33 +0800 Subject: [PATCH] 销售台账-附件删除联调 --- src/views/salesManagement/salesLedger/index.vue | 67 ++++++++++++++++++++++----------- 1 files changed, 45 insertions(+), 22 deletions(-) diff --git a/src/views/salesManagement/salesLedger/index.vue b/src/views/salesManagement/salesLedger/index.vue index 7390da6..7da8eeb 100644 --- a/src/views/salesManagement/salesLedger/index.vue +++ b/src/views/salesManagement/salesLedger/index.vue @@ -39,7 +39,7 @@ <el-table-column label="瑙勬牸鍨嬪彿" prop="specificationModel" /> <el-table-column label="鍗曚綅" prop="unit" /> <el-table-column label="鏁伴噺" prop="quantity" /> - <el-table-column label="绋庣巼" prop="taxRate" /> + <el-table-column label="绋庣巼(%)" prop="taxRate" /> <el-table-column label="鍚◣鍗曚环(鍏�)" prop="taxInclusiveUnitPrice" /> <el-table-column label="鍚◣鎬讳环(鍏�)" prop="taxInclusiveTotalPrice" /> <el-table-column label="涓嶅惈绋庢�讳环(鍏�)" prop="taxExclusiveTotalPrice" /> @@ -138,7 +138,7 @@ <el-table-column label="瑙勬牸鍨嬪彿" prop="specificationModel" /> <el-table-column label="鍗曚綅" prop="unit" /> <el-table-column label="鏁伴噺" prop="quantity" /> - <el-table-column label="绋庣巼" prop="taxRate" /> + <el-table-column label="绋庣巼(%)" prop="taxRate" /> <el-table-column label="鍚◣鍗曚环(鍏�)" prop="taxInclusiveUnitPrice" /> <el-table-column label="鍚◣鎬讳环(鍏�)" prop="taxInclusiveTotalPrice" /> <el-table-column label="涓嶅惈绋庢�讳环(鍏�)" prop="taxExclusiveTotalPrice" /> @@ -159,14 +159,16 @@ <el-col :span="24"> <el-form-item label="闄勪欢鏉愭枡路锛�" prop="remark"> <el-upload - :file-list="fileList" - action="https://run.mocky.io/v3/9d059bf9-4660-45f2-925d-ce80ad6c4d15" + v-model:file-list="fileList" + :action="upload.url" multiple ref="fileUpload" - :headers="proxy.uploadHeader" + auto-upload + :headers="upload.headers" :before-upload="handleBeforeUpload" :on-error="handleUploadError" :on-success="handleUploadSuccess" + :on-remove="handleRemove" > <el-button type="primary">涓婁紶</el-button> <template #tip> @@ -225,11 +227,11 @@ </el-form-item> </el-col> <el-col :span="12"> - <el-form-item label="绋庣巼锛�" prop="taxRate"> + <el-form-item label="绋庣巼(%)锛�" prop="taxRate"> <el-select v-model="productForm.taxRate" placeholder="璇烽�夋嫨" clearable> - <el-option label="6%" value="6%"/> - <el-option label="13%" value="13%"/> - <el-option label="1%" value="1%"/> + <el-option label="1" value="1"/> + <el-option label="6" value="6"/> + <el-option label="13" value="13"/> </el-select> </el-form-item> </el-col> @@ -268,6 +270,7 @@ </template> <script setup> +import { getToken } from "@/utils/auth" import pagination from '@/components/PIMTable/Pagination.vue' import { ref } from 'vue' import {Search} from "@element-plus/icons-vue"; @@ -278,7 +281,7 @@ productList, customerList, addOrUpdateSalesLedger, - getSalesLedgerWithProducts, delLedger, addOrUpdateSalesLedgerProduct, delProduct + getSalesLedgerWithProducts, delLedger, addOrUpdateSalesLedgerProduct, delProduct, delLedgerFile } from "@/api/salesManagement/salesLedger.js"; const { proxy } = getCurrentInstance() const tableData = ref([]) @@ -294,7 +297,6 @@ }) const total = ref(0) const fileList = ref([]) -const uploadList = ref([]) // 鐢ㄦ埛淇℃伅琛ㄥ崟寮规鏁版嵁 const operationType = ref('') @@ -353,6 +355,12 @@ } }) const { productForm, productRules } = toRefs(productFormData) +const upload = reactive({ + // 涓婁紶鐨勫湴鍧� + url: import.meta.env.VITE_APP_BASE_API + "/file/upload", + // 璁剧疆涓婁紶鐨勮姹傚ご閮� + headers: { Authorization: "Bearer " + getToken() }, +}) // 鏌ヨ鍒楄〃 /** 鎼滅储鎸夐挳鎿嶄綔 */ @@ -465,6 +473,7 @@ getSalesLedgerWithProducts({id: row.id}).then(res => { form.value = {...res} productData.value = form.value.productData + fileList.value = form.value.salesLedgerFiles }) } dialogFormVisible.value = true @@ -472,11 +481,9 @@ // 涓婁紶鍓嶆牎妫� function handleBeforeUpload(file) { // 鏍℃鏂囦欢澶у皬 - if (props.fileSize) { - if (file.size > 1024 * 1024) { - proxy.$modal.msgError('涓婁紶鏂囦欢澶у皬涓嶈兘瓒呰繃10MB!') - return false - } + if (file.size > 1024 * 1024) { + proxy.$modal.msgError('涓婁紶鏂囦欢澶у皬涓嶈兘瓒呰繃10MB!') + return false } proxy.$modal.loading("姝e湪涓婁紶鏂囦欢锛岃绋嶅��...") return true @@ -487,15 +494,26 @@ proxy.$modal.closeLoading() } // 涓婁紶鎴愬姛鍥炶皟 -function handleUploadSuccess(res, file) { +function handleUploadSuccess(res, file, uploadFiles) { + proxy.$modal.closeLoading() if (res.code === 200) { - uploadList.value.push({ name: res.fileName, url: res.fileName }) - fileList.value = fileList.value.filter(f => f.url !== undefined).concat(uploadList.value) - uploadList.value = [] + file.tempId = res.data.tempId + proxy.$modal.msgSuccess("涓婁紶鎴愬姛") } else { - proxy.$modal.closeLoading() proxy.$modal.msgError(res.msg) proxy.$refs.fileUpload.handleRemove(file) + } +} +// 绉婚櫎鏂囦欢 +function handleRemove (file) { + console.log('handleRemove', file) + console.log('operationType.value', operationType.value) + if (operationType.value === 'edit') { + let ids = [] + ids.push(file.id) + delLedgerFile(ids).then(res => { + proxy.$modal.msgSuccess("鍒犻櫎鎴愬姛") + }) } } // 鎻愪氦琛ㄥ崟 @@ -508,6 +526,11 @@ proxy.$modal.msgWarning('璇锋坊鍔犱骇鍝佷俊鎭�') return } + let tempFileIds = [] + if (fileList.value.length > 0) { + tempFileIds = fileList.value.map(item => item.tempId) + } + form.value.tempFileIds = tempFileIds addOrUpdateSalesLedger(form.value).then(res => { proxy.$modal.msgSuccess("鎻愪氦鎴愬姛") closeDia() @@ -632,8 +655,8 @@ ).then(() => { delLedger(ids).then(res => { proxy.$modal.msgSuccess("鍒犻櫎鎴愬姛") + getList() }) - getList() }).catch(() => { proxy.$modal.msg("宸插彇娑�") }) -- Gitblit v1.9.3