gaoluyang
2025-05-15 a1ce4c3b8e48d95a590346a3fe1b45fdd3ca650f
src/views/salesManagement/salesLedger/index.vue
@@ -9,7 +9,7 @@
            placeholder="请输入"
            @change="handleQuery"
            clearable
            :prefix-icon="Search"
            prefix-icon="Search"
        />
        <el-button type="primary" @click="handleQuery" style="margin-left: 10px">搜索</el-button>
      </div>
@@ -105,7 +105,7 @@
          <el-col :span="12">
            <el-form-item label="录入人:" prop="entryPerson">
              <el-select v-model="form.entryPerson" placeholder="请选择" clearable>
                <el-option v-for="item in userList" :key="item.nickName" :label="item.nickName" :value="item.nickName"/>
                <el-option v-for="item in userList" :key="item.userId" :label="item.nickName" :value="item.userId"/>
              </el-select>
            </el-form-item>
          </el-col>
@@ -157,7 +157,7 @@
        </el-row>
        <el-row :gutter="30">
          <el-col :span="24">
            <el-form-item label="附件材料·:" prop="remark">
            <el-form-item label="附件材料:" prop="remark">
              <el-upload
                  v-model:file-list="fileList"
                  :action="upload.url"
@@ -168,6 +168,7 @@
                  :before-upload="handleBeforeUpload"
                  :on-error="handleUploadError"
                  :on-success="handleUploadSuccess"
                  :on-remove="handleRemove"
              >
                <el-button type="primary">上传</el-button>
                <template #tip>
@@ -280,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([])
@@ -381,6 +382,8 @@
      item.children = []
    })
    total.value = res.total
  }).catch(() => {
    tableLoading.value = false
  })
}
// 表格选择数据
@@ -396,7 +399,7 @@
  if (expandedRows.length > 0) {
    expandedRowKeys.value = []
    try {
      productList({salesLedgerId: row.id}).then(res => {
      productList({salesLedgerId: row.id, type: 1}).then(res => {
      const index = tableData.value.findIndex(item => item.id === row.id);
      if (index > -1) {
        tableData.value[index].children = res.rows;
@@ -469,9 +472,10 @@
  })
  if (type === 'edit') {
    currentId.value = row.id;
    getSalesLedgerWithProducts({id: row.id}).then(res => {
    getSalesLedgerWithProducts({id: row.id, type: 1}).then(res => {
      form.value = {...res}
      productData.value = form.value.productData
      fileList.value = form.value.salesLedgerFiles
    })
  }
  dialogFormVisible.value = true
@@ -479,7 +483,7 @@
// 上传前校检
function handleBeforeUpload(file) {
  // 校检文件大小
  if (file.size > 1024 * 1024) {
  if (file.size > 1024 * 1024 * 10) {
    proxy.$modal.msgError('上传文件大小不能超过10MB!')
    return false
  }
@@ -502,6 +506,16 @@
    proxy.$refs.fileUpload.handleRemove(file)
  }
}
// 移除文件
function handleRemove (file) {
  if (operationType.value === 'edit') {
    let ids = []
    ids.push(file.id)
    delLedgerFile(ids).then(res => {
      proxy.$modal.msgSuccess("删除成功")
    })
  }
}
// 提交表单
const submitForm = () => {
  proxy.$refs["formRef"].validate(valid => {
@@ -517,6 +531,7 @@
        tempFileIds = fileList.value.map(item => item.tempId)
      }
      form.value.tempFileIds = tempFileIds
      form.value.type = 1
      addOrUpdateSalesLedger(form.value).then(res => {
        proxy.$modal.msgSuccess("提交成功")
        closeDia()
@@ -558,7 +573,7 @@
  addOrUpdateSalesLedgerProduct(productForm.value).then(res => {
    proxy.$modal.msgSuccess("提交成功")
    closeProductDia()
    getSalesLedgerWithProducts({id: currentId.value}).then(res => {
    getSalesLedgerWithProducts({id: currentId.value, type: 1}).then(res => {
      productData.value = res.productData
    })
  })
@@ -592,7 +607,7 @@
      delProduct(ids).then(res => {
        proxy.$modal.msgSuccess("删除成功")
        closeProductDia()
        getSalesLedgerWithProducts({id: currentId.value}).then(res => {
        getSalesLedgerWithProducts({id: currentId.value, type: 1}).then(res => {
          productData.value = res.productData
        })
      })