曹睿
6 天以前 3ef6a3a2bac778e2a224d6e437305b9f71d3799c
src/views/procurementManagement/procurementInvoiceLedger/index.vue
@@ -56,37 +56,50 @@
          total: 0,
        }"
        @selection-change="handleSelectionChange"
        @pagination="onCurrentChange"
        @pagination="changePage"
      >
        <template #commonFilesRef="{ row }">
          <el-button
            v-if="row.commonFiles.length !== 0"
            text
            icon="Files"
            type="danger"
            @click="handleFiles(row.commonFiles)"
          >
            附件下载
          </el-button>
          <el-text v-else type="danger">暂无附件</el-text>
          <el-dropdown @command="(command) => handleCommand(command, row)">
            <el-button link :icon="Files" type="danger"> 附件 </el-button>
            <template #dropdown>
              <el-dropdown-menu>
                <el-dropdown-item
                  v-if="row.commonFiles.length !== 0"
                  :icon="Download"
                  command="download"
                >
                  下载
                </el-dropdown-item>
                <el-dropdown-item :icon="Upload" command="upload">
                  上传
                </el-dropdown-item>
              </el-dropdown-menu>
            </template>
          </el-dropdown>
        </template>
      </PIMTable>
    </div>
    <Modal ref="modalRef" @uploadSuccess="uploadSuccess"></Modal>
  </div>
</template>
<script setup>
import { ref, getCurrentInstance } from "vue";
import { usePaginationApi } from "@/hooks/usePaginationApi";
import { Search } from "@element-plus/icons-vue";
import { productRecordPage } from "@/api/procurementManagement/procurementInvoiceLedger.js";
import { Files, Download, Search, Upload } from "@element-plus/icons-vue";
import {
  productRecordPage,
  productUploadFile,
} from "@/api/procurementManagement/procurementInvoiceLedger.js";
import { onMounted } from "vue";
import { ElMessageBox } from "element-plus";
import Modal from "./Modal/UploadModal.vue";
defineOptions({
  name: "来票台账",
});
const modalRef = ref();
const { proxy } = getCurrentInstance();
const multipleVal = ref([]);
const {
@@ -238,6 +251,39 @@
  });
};
const changePage = ({ page }) => {
  pagination.currentPage = page;
  onCurrentChange(page);
};
const handleCommand = (command, row) => {
  switch (command) {
    case "download":
      handleFiles(row.commonFiles);
      break;
    case "upload":
      console.log(row.commonFiles);
      openModal(row.ticketRegistrationId);
      break;
  }
};
const openModal = (id) => {
  modalRef.value.handleImport(id);
};
// 上传成功后做什么
const uploadSuccess = async (data) => {
  const { code } = await productUploadFile({
    ticketRegistrationId: data.id,
    tempFileIds: data.tempFileIds,
  });
  if (code === 200) {
    proxy.$modal.msgSuccess("提交成功");
    getTableData();
  }
};
onMounted(() => {
  getTableData();
});