NotRenewedDlg.vue 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. <template>
  2. <el-dialog :visible.sync="isNotRenewedDlg" :close-on-click-modal="false" :modal-append-to-body="false" @close="cancelHandle" center title="下载未续约率" width="35%">
  3. <div>
  4. <el-radio-group v-model="radio">
  5. <el-radio style="margin-bottom: 20px" :label="1">下载当前销售的合同明细数据</el-radio>
  6. <el-radio :label="2">下载所有销售未续约数据列表</el-radio>
  7. </el-radio-group>
  8. </div>
  9. <span slot="footer" class="dialog-footer">
  10. <el-button @click="cancelHandle">取 消</el-button>
  11. <el-button type="primary" @click="downloadHandle">确 定</el-button>
  12. </span>
  13. </el-dialog>
  14. </template>
  15. <script>
  16. import { dataMainInterface } from "@/api/api.js";
  17. export default {
  18. props: {
  19. isNotRenewedDlg: {
  20. type: Boolean,
  21. default: false,
  22. },
  23. start_date: {
  24. type: String,
  25. default: "",
  26. },
  27. end_date: {
  28. type: String,
  29. default: "",
  30. },
  31. adminId: {
  32. type: Array,
  33. default: [],
  34. },
  35. },
  36. watch: {},
  37. data() {
  38. return {
  39. radio: 1,
  40. };
  41. },
  42. methods: {
  43. // 关闭弹框
  44. cancelHandle() {
  45. this.$emit("update:isNotRenewedDlg", false);
  46. },
  47. // 下载
  48. downloadHandle() {
  49. let paramStr = "";
  50. let baseUrl = process.env.API_ROOT + "/statistic_report/merge_company/company_contract_percentage/list_export";
  51. let token = localStorage.getItem("auth") || "";
  52. let salesArr = [];
  53. if (this.adminId.length) {
  54. salesArr = this.adminId.map((item) => {
  55. return item[item.length - 1];
  56. });
  57. }
  58. let obj = {
  59. EndDate: this.end_date,
  60. StartDate: this.start_date,
  61. ExportType: this.radio,
  62. AdminId: salesArr.join(","),
  63. };
  64. for (let key in obj) {
  65. paramStr = `${paramStr}&${key}=${obj[key]}`;
  66. }
  67. let link = document.createElement("a");
  68. link.style.display = "none";
  69. link.href = `${baseUrl}?${token}${paramStr}`;
  70. link.setAttribute("download", name);
  71. document.body.appendChild(link);
  72. link.click();
  73. document.body.removeChild(link);
  74. },
  75. },
  76. created() {},
  77. mounted() {},
  78. };
  79. </script>
  80. <style lang="scss"></style>