src/views/reportAnalysis/projectProfit/index.vue
@@ -7,10 +7,12 @@
      <el-form-item>
        <el-button type="primary" @click="getTableData"> 搜索 </el-button>
        <el-button @click="resetFilters"> 重置 </el-button>
        <el-button @click="handleOut"> 导出 </el-button>
      </el-form-item>
    </el-form>
    <div class="table_list">
      <PIMTable
        rowKey="id"
        :column="columns"
        :tableLoading="loading"
        :tableData="dataList"
@@ -19,8 +21,13 @@
          size: pagination.pageSize,
          total: pagination.total,
        }"
        @pagination="onCurrentChange"
      ></PIMTable>
        @pagination="changePage"
      >
      <template #customerContractNo="{ row }">
         <el-button type="primary" text @click="showDetail(row)">{{ row.customerContractNo }}
               </el-button>
        </template>
      </PIMTable>
    </div>
  </div>
</template>
@@ -28,7 +35,13 @@
<script setup>
import { usePaginationApi } from "@/hooks/usePaginationApi";
import { getPurchaseList } from "@/api/procurementManagement/projectProfit";
import { onMounted } from "vue";
import { onMounted, getCurrentInstance } from "vue";
import { ElMessageBox } from "element-plus";
import { useRouter, useRoute } from "vue-router";
const router = useRouter();
  const route = useRoute();
const { proxy } = getCurrentInstance();
defineOptions({
  name: "项目利润",
@@ -53,6 +66,8 @@
      label: "销售合同号",
      align: "center",
      prop: "customerContractNo",
      dataType: "slot",
      slot: "customerContractNo",
    },
    {
      label: "客户名称",
@@ -84,14 +99,45 @@
      align: "center",
      prop: "balanceRatio",
    },
    {
      label: "增值税",
      align: "center",
      prop: "balanceAmount",
    },
    // {
    //   label: "增值税",
    //   align: "center",
    //   prop: "balanceAmount",
    // },
  ]
);
const showDetail = (row) => {
 router.push({
      path: "/salesManagement/salesLedger",
      query: {
        customerContractNo: row.customerContractNo
      },
    });
};
const changePage = ({ page }) => {
  pagination.currentPage = page;
  onCurrentChange(page);
};
// 导出
const handleOut = () => {
  ElMessageBox.confirm("选中的内容将被导出,是否确认导出?", "导出", {
    confirmButtonText: "确认",
    cancelButtonText: "取消",
    type: "warning",
  })
    .then(() => {
      proxy.download("/purchase/report/export", {}, "项目利润.xlsx");
    })
    .catch(() => {
      proxy.$modal.msg("已取消");
    });
};
onMounted(() => {
  getTableData();
});