zoukankan      html  css  js  c++  java
  • vue1

    1、点击超链接调用接口,接口成功则弹窗,并把接口返回的数据在弹窗中显示

    1)父页面

    <span slot="actions" slot-scope="text, record">
              <a @click="hostss(record)">hosts配置</a>
    </span>
     
    import {postActions } from '@/api/manage'
     
     
     defColumns: [
     {
              title: 'hosts配置',
              dataIndex: 'actions',
              align: 'center',
               230,
              scopedSlots: {
                customRender: 'actions',
              },
    },
    ]
     
    hostss(record) {
          var that = this
          postActions(that.url.hosts, { ip: record.id }).then((res) => {
            this.$refs.HostsConfigModal.title = record.serverIp + '主机配置文件'
            this.$refs.HostsConfigModal.departDisabled = true
            this.$refs.HostsConfigModal.disableSubmit = false
            console.log(res, 'res')
            this.$refs.HostsConfigModal.timing(record, res)
          })
        },
     
     
     
    2)manage.js
    export function postActions(url,parameter) {
      return axios({
        url: url,
        method: 'post',
        params: parameter,
        headers: {
          'Content-Type': 'application/x-www-form-urlencoded',  
        },
      })
    }
     
    3)子页面
    /**
     * 新增修改完成调用 modalFormOk方法 编辑弹框组件ref定义为modalForm
     * 高级查询按钮调用 superQuery方法  高级查询组件ref定义为superQueryModal
     * data中url定义 list为查询列表  delete为删除单条记录  deleteBatch为批量删除
     */
    import { filterObj } from '@/utils/util';
    import { deleteAction, getAction, downFile, getFileAccessHttpUrl,postActions } from '@/api/manage'
    import Vue from 'vue'
    import { ACCESS_TOKEN } from "@/store/mutation-types"
    
    export const JeecgListMixin = {
      data() {
        return {
          //token header
          tokenHeader: { 'X-Access-Token': Vue.ls.get(ACCESS_TOKEN) },
          /* 查询条件-请不要在queryParam中声明非字符串值的属性 */
          queryParam: {},
          /* 数据源 */
          dataSource: [],
          /* 分页参数 */
          ipagination: {
            current: 1,
            pageSize: 10,
            pageSizeOptions: ['10', '20', '30'],
            showTotal: (total, range) => {
              return range[0] + "-" + range[1] + " 共" + total + "条"
            },
            showQuickJumper: true,
            showSizeChanger: true,
            total: 0
          },
          /* 排序参数 */
          isorter: {
            column: 'createTime',
            order: 'desc',
          },
          /* 筛选参数 */
          filters: {},
          /* table加载状态 */
          loading: false,
          /* table选中keys*/
          selectedRowKeys: [],
          /* table选中records*/
          selectionRows: [],
          /* 查询折叠 */
          toggleSearchStatus: false,
          /* 高级查询条件生效状态 */
          superQueryFlag: false,
          /* 高级查询条件 */
          superQueryParams: '',
          /** 高级查询拼接方式 */
          superQueryMatchType: 'and',
        }
      },
      created() {
        if (!this.disableMixinCreated) {
          console.log(' -- mixin created -- ')
          this.loadData();
          //初始化字典配置 在自己页面定义
          this.initDictConfig();
        }
      },
      methods: {
        loadData(arg) {
          if (!this.url.list) {
            // this.$message.error("请设置url.list属性!")
            return
          }
          //加载数据 若传入参数1则加载第一页的内容
          if (arg === 1) {
            this.ipagination.current = 1;
          }
          var params = this.getQueryParams();//查询条件
          this.loading = true;
          getAction(this.url.list, params).then((res) => {
            if (res.success) {
              this.dataSource = res.result.records;
              this.ipagination.total = res.result.total;
            }
            if (res.code === 510) {
              this.$message.warning(res.message)
            }
            this.loading = false;
          })
        },
        initDictConfig() {
          console.log("--这是一个假的方法!")
        },
        handleSuperQuery(params, matchType) {
          //高级查询方法
          if (!params) {
            this.superQueryParams = ''
            this.superQueryFlag = false
          } else {
            this.superQueryFlag = true
            this.superQueryParams = JSON.stringify(params)
            this.superQueryMatchType = matchType
          }
          this.loadData(1)
        },
        getQueryParams() {
          //获取查询条件
          let sqp = {}
          if (this.superQueryParams) {
            sqp['superQueryParams'] = encodeURI(this.superQueryParams)
            sqp['superQueryMatchType'] = this.superQueryMatchType
          }
          var param = Object.assign(sqp, this.queryParam, this.isorter, this.filters);
          param.field = this.getQueryField();
          param.pageNo = this.ipagination.current;
          param.pageSize = this.ipagination.pageSize;
          return filterObj(param);
        },
        getQueryField() {
          //TODO 字段权限控制
          var str = "id,";
          this.columns.forEach(function (value) {
            str += "," + value.dataIndex;
          });
          return str;
        },
    
        onSelectChange(selectedRowKeys, selectionRows) {
          this.selectedRowKeys = selectedRowKeys;
          this.selectionRows = selectionRows;
        },
        onClearSelected() {
          this.selectedRowKeys = [];
          this.selectionRows = [];
        },
        searchQuery() {
          this.loadData(1);
        },
        superQuery() {
          this.$refs.superQueryModal.show();
        },
        searchReset() {
          this.queryParam = {}
          this.loadData(1);
        },
        batchDel: function () {
          if (!this.url.deleteBatch) {
            this.$message.error("请设置url.deleteBatch属性!")
            return
          }
          if (this.selectedRowKeys.length <= 0) {
            this.$message.warning('请选择一条记录!');
            return;
          } else {
            var ids = "";
            for (var a = 0; a < this.selectedRowKeys.length; a++) {
              ids += this.selectedRowKeys[a] + ",";
            }
            var that = this;
            this.$confirm({
              title: "确认删除",
              content: "是否删除选中数据?",
              onOk: function () {
                that.loading = true;
                deleteAction(that.url.deleteBatch, { ids: ids }).then((res) => {
                  if (res.success) {
                    that.$message.success(res.message);
                    that.loadData();
                    that.onClearSelected();
                  } else {
                    that.$message.warning(res.message);
                  }
                }).finally(() => {
                  that.loading = false;
                });
              }
            });
          }
        },
       
        handleDelete: function (id) {
          if (!this.url.delete) {
            this.$message.error("请设置url.delete属性!")
            return
          }
          var that = this;
          deleteAction(that.url.delete, { id: id }).then((res) => {
            if (res.success) {
              that.$message.success(res.message);
              that.loadData();
            } else {
              that.$message.warning(res.message);
            }
          });
        },
    
        handleEdit: function (record) {
          this.$refs.modalForm.edit(record);
          this.$refs.modalForm.title = "编辑";
          this.$refs.modalForm.disableSubmit = false;
        },
        handleAdd: function () {
          this.$refs.modalForm.add();
          this.$refs.modalForm.title = "新增";
          this.$refs.modalForm.disableSubmit = false;
        },
        handleTableChange(pagination, filters, sorter) {
          //分页、排序、筛选变化时触发
          //TODO 筛选
          if (Object.keys(sorter).length > 0) {
            this.isorter.column = sorter.field;
            this.isorter.order = "ascend" == sorter.order ? "asc" : "desc"
          }
          this.ipagination = pagination;
          this.loadData();
        },
        handleToggleSearch() {
          this.toggleSearchStatus = !this.toggleSearchStatus;
        },
        // 给popup查询使用(查询区域不支持回填多个字段,限制只返回一个字段)
        getPopupField(fields) {
          return fields.split(',')[0]
        },
        modalFormOk() {
          // 新增/修改 成功时,重载列表
          this.loadData();
        },
        handleDetail: function (record) {
          this.$refs.modalForm.edit(record);
          this.$refs.modalForm.title = "详情";
          this.$refs.modalForm.disableSubmit = true;
        },
        /* 导出 */
        handleExportXls2() {
          let paramsStr = encodeURI(JSON.stringify(this.getQueryParams()));
          let url = `${window._CONFIG['domianURL']}/${this.url.exportXlsUrl}?paramsStr=${paramsStr}`;
          window.location.href = url;
        },
        handleExportXls(fileName) {
          if (!fileName || typeof fileName != "string") {
            fileName = "导出文件"
          }
          let param = { ...this.queryParam };
          if (this.selectedRowKeys && this.selectedRowKeys.length > 0) {
            param['selections'] = this.selectedRowKeys.join(",")
          }
          console.log("导出参数", param)
          downFile(this.url.exportXlsUrl, param).then((data) => {
            if (!data) {
              this.$message.warning("文件下载失败")
              return
            }
            if (typeof window.navigator.msSaveBlob !== 'undefined') {
              window.navigator.msSaveBlob(new Blob([data], { type: 'application/vnd.ms-excel' }), fileName + '.xls')
            } else {
              let url = window.URL.createObjectURL(new Blob([data], { type: 'application/vnd.ms-excel' }))
              let link = document.createElement('a')
              link.style.display = 'none'
              link.href = url
              link.setAttribute('download', fileName + '.xls')
              document.body.appendChild(link)
              link.click()
              document.body.removeChild(link); //下载完成移除元素
              window.URL.revokeObjectURL(url); //释放掉blob对象
            }
          })
        },
        /* 导入 */
        handleImportExcel(info) {
          if (info.file.status !== 'uploading') {
            console.log(info.file, info.fileList);
          }
          if (info.file.status === 'done') {
            if (info.file.response.success) {
              // this.$message.success(`${info.file.name} 文件上传成功`);
              if (info.file.response.code === 201) {
                let { message, result: { msg, fileUrl, fileName } } = info.file.response
                let href = window._CONFIG['domianURL'] + fileUrl
                this.$warning({
                  title: message,
                  content: (
                    <div>
                      <span>{msg}</span><br />
                      <span>具体详情请 <a href={href} target="_blank" download={fileName}>点击下载</a> </span>
                    </div>
                  )
                })
              } else {
                this.$message.success(info.file.response.message || `${info.file.name} 文件上传成功`)
              }
              this.loadData()
            } else {
              this.$message.error(`${info.file.name} ${info.file.response.message}.`);
            }
          } else if (info.file.status === 'error') {
            this.$message.error(`文件上传失败: ${info.file.msg} `);
          }
        },
        /* 下载模板
        handleExportXls
         */
    /* 下载用例模板
        handledownload
         */
        handledownload(fileName) {
          if (!fileName || typeof fileName != "string") {
            fileName = "导出文件"
          }
          let param = { ...this.queryParam };
          if (this.selectedRowKeys && this.selectedRowKeys.length > 0) {
            param['selections'] = this.selectedRowKeys.join(",")
          }
          console.log("导出参数", param)
          downFile(this.url.download, param).then((data) => {
            if (!data) {
              this.$message.warning("文件下载失败")
              return
            }
            if (typeof window.navigator.msSaveBlob !== 'undefined') {
              window.navigator.msSaveBlob(new Blob([data], { type: 'application/vnd.ms-excel' }), fileName + '.xls')
            } else {
              let url = window.URL.createObjectURL(new Blob([data], { type: 'application/vnd.ms-excel' }))
              let link = document.createElement('a')
              link.style.display = 'none'
              link.href = url
              link.setAttribute('download', fileName + '.xls')
              document.body.appendChild(link)
              link.click()
              document.body.removeChild(link); //下载完成移除元素
              window.URL.revokeObjectURL(url); //释放掉blob对象
            }
          })
        },
         /* 下载jtl
        handledownloads
         */
        handledownloads(fileName,id) {
          console.log(id ,'fileName-------------jtl--------------')
          if (!fileName || typeof fileName != "string") {
            this.$message.warning("文件下载失败")
            return
          }
          let param = {
            ...this.queryParam,
            id:id
          };
    
          if (this.selectedRowKeys && this.selectedRowKeys.length > 0) {
            param['selections'] = this.selectedRowKeys.join(",")
          }
          console.log("导出参数", param)
          downFile(this.url.download, param).then((data) => {
           
            if (!data) {
              this.$message.warning("文件下载失败")
              return
            }
            if (typeof window.navigator.msSaveBlob !== 'undefined') {
              window.navigator.msSaveBlob(new Blob([data], { type: 'application/vnd.ms-excel' }), fileName)
            } else {
              let url = window.URL.createObjectURL(new Blob([data], { type: 'application/vnd.ms-excel' }))
              let link = document.createElement('a')
              link.style.display = 'none'
              link.href = url
              link.setAttribute('download', fileName)
              document.body.appendChild(link)
              link.click()
              document.body.removeChild(link); //下载完成移除元素
              window.URL.revokeObjectURL(url); //释放掉blob对象
            }
          })
        },
          /* 下载jmeterLog
        handledownloadss
         */
        handledownloadss(fileName,id) {
          console.log(fileName ,'fileName-----------jmeterLog----------------')
          if (!fileName || typeof fileName != "string") {
            this.$message.warning("文件下载失败")
              return
          }
          let param = {
            ...this.queryParam,
            id:id
          };
    
          if (this.selectedRowKeys && this.selectedRowKeys.length > 0) {
            param['selections'] = this.selectedRowKeys.join(",")
          }
          console.log("导出参数", param)
          downFile(this.url.download, param).then((data) => {
           
            if (!data) {
              this.$message.warning("文件下载失败")
              return
            }
            if (typeof window.navigator.msSaveBlob !== 'undefined') {
              window.navigator.msSaveBlob(new Blob([data], { type: 'application/vnd.ms-excel' }), fileName)
            } else {
              let url = window.URL.createObjectURL(new Blob([data], { type: 'application/vnd.ms-excel' }))
              let link = document.createElement('a')
              link.style.display = 'none'
              link.href = url
              link.setAttribute('download', fileName)
              document.body.appendChild(link)
              link.click()
              document.body.removeChild(link); //下载完成移除元素
              window.URL.revokeObjectURL(url); //释放掉blob对象
            }
          })
        },
        
        /* 图片预览 */
        getImgView(text) {
          if (text && text.indexOf(",") > 0) {
            text = text.substring(0, text.indexOf(","))
          }
          return getFileAccessHttpUrl(text)
        },
        /* 文件下载 */
        uploadFile(text) {
          if (!text) {
            this.$message.warning("未知的文件")
            return;
          }
          if (text.indexOf(",") > 0) {
            text = text.substring(0, text.indexOf(","))
          }
          let url = getFileAccessHttpUrl(text)
          window.open(url);
        },
      }
    
    }
     
    /**
     * 新增修改完成调用 modalFormOk方法 编辑弹框组件ref定义为modalForm
     * 高级查询按钮调用 superQuery方法  高级查询组件ref定义为superQueryModal
     * data中url定义 list为查询列表  delete为删除单条记录  deleteBatch为批量删除
     */
    import { filterObj } from '@/utils/util';
    import { deleteActiongetActiondownFilegetFileAccessHttpUrl,postActions } from '@/api/manage'
    import Vue from 'vue'
    import { ACCESS_TOKEN } from "@/store/mutation-types"

    export const JeecgListMixin = {
      data() {
        return {
          //token header
          tokenHeader: { 'X-Access-Token': Vue.ls.get(ACCESS_TOKEN) },
          /* 查询条件-请不要在queryParam中声明非字符串值的属性 */
          queryParam: {},
          /* 数据源 */
          dataSource: [],
          /* 分页参数 */
          ipagination: {
            current: 1,
            pageSize: 10,
            pageSizeOptions: ['10''20''30'],
            showTotal: (totalrange=> {
              return range[0] + "-" + range[1] + " 共" + total + "条"
            },
            showQuickJumper: true,
            showSizeChanger: true,
            total: 0
          },
          /* 排序参数 */
          isorter: {
            column: 'createTime',
            order: 'desc',
          },
          /* 筛选参数 */
          filters: {},
          /* table加载状态 */
          loading: false,
          /* table选中keys*/
          selectedRowKeys: [],
          /* table选中records*/
          selectionRows: [],
          /* 查询折叠 */
          toggleSearchStatus: false,
          /* 高级查询条件生效状态 */
          superQueryFlag: false,
          /* 高级查询条件 */
          superQueryParams: '',
          /** 高级查询拼接方式 */
          superQueryMatchType: 'and',
        }
      },
      created() {
        if (!this.disableMixinCreated) {
          console.log(' -- mixin created -- ')
          this.loadData();
          //初始化字典配置 在自己页面定义
          this.initDictConfig();
        }
      },
      methods: {
        loadData(arg) {
          if (!this.url.list) {
            // this.$message.error("请设置url.list属性!")
            return
          }
          //加载数据 若传入参数1则加载第一页的内容
          if (arg === 1) {
            this.ipagination.current = 1;
          }
          var params = this.getQueryParams();//查询条件
          this.loading = true;
          getAction(this.url.listparams).then((res=> {
            if (res.success) {
              this.dataSource = res.result.records;
              this.ipagination.total = res.result.total;
            }
            if (res.code === 510) {
              this.$message.warning(res.message)
            }
            this.loading = false;
          })
        },
        initDictConfig() {
          console.log("--这是一个假的方法!")
        },
        handleSuperQuery(paramsmatchType) {
          //高级查询方法
          if (!params) {
            this.superQueryParams = ''
            this.superQueryFlag = false
          } else {
            this.superQueryFlag = true
            this.superQueryParams = JSON.stringify(params)
            this.superQueryMatchType = matchType
          }
          this.loadData(1)
        },
        getQueryParams() {
          //获取查询条件
          let sqp = {}
          if (this.superQueryParams) {
            sqp['superQueryParams'] = encodeURI(this.superQueryParams)
            sqp['superQueryMatchType'] = this.superQueryMatchType
          }
          var param = Object.assign(sqpthis.queryParamthis.isorterthis.filters);
          param.field = this.getQueryField();
          param.pageNo = this.ipagination.current;
          param.pageSize = this.ipagination.pageSize;
          return filterObj(param);
        },
        getQueryField() {
          //TODO 字段权限控制
          var str = "id,";
          this.columns.forEach(function (value) {
            str += "," + value.dataIndex;
          });
          return str;
        },

        onSelectChange(selectedRowKeysselectionRows) {
          this.selectedRowKeys = selectedRowKeys;
          this.selectionRows = selectionRows;
        },
        onClearSelected() {
          this.selectedRowKeys = [];
          this.selectionRows = [];
        },
        searchQuery() {
          this.loadData(1);
        },
        superQuery() {
          this.$refs.superQueryModal.show();
        },
        searchReset() {
          this.queryParam = {}
          this.loadData(1);
        },
        batchDel: function () {
          if (!this.url.deleteBatch) {
            this.$message.error("请设置url.deleteBatch属性!")
            return
          }
          if (this.selectedRowKeys.length <= 0) {
            this.$message.warning('请选择一条记录!');
            return;
          } else {
            var ids = "";
            for (var a = 0a < this.selectedRowKeys.lengtha++) {
              ids += this.selectedRowKeys[a] + ",";
            }
            var that = this;
            this.$confirm({
              title: "确认删除",
              content: "是否删除选中数据?",
              onOk: function () {
                that.loading = true;
                deleteAction(that.url.deleteBatch, { ids: ids }).then((res=> {
                  if (res.success) {
                    that.$message.success(res.message);
                    that.loadData();
                    that.onClearSelected();
                  } else {
                    that.$message.warning(res.message);
                  }
                }).finally(() => {
                  that.loading = false;
                });
              }
            });
          }
        },
       
        handleDelete: function (id) {
          if (!this.url.delete) {
            this.$message.error("请设置url.delete属性!")
            return
          }
          var that = this;
          deleteAction(that.url.delete, { id: id }).then((res=> {
            if (res.success) {
              that.$message.success(res.message);
              that.loadData();
            } else {
              that.$message.warning(res.message);
            }
          });
        },

    // hosts配置 
    // hosts: function (id) {
    //   if (!this.url.hosts) {
    //     this.$message.error("请设置url.hosts!")
    //     return
    //   }
    //   var that = this;
    //   postActions(that.url.hosts, { ip: id }).then((res) => {
    //     if (res.success) {
    //       that.$message.success(res.message);
    //       that.loadData();
    //     } else {
    //       that.$message.warning(res.message);
    //     }
    //   });
    // },
    // hostss: function (id) {
    //   if (!this.url.hostss) {
    //     this.$message.error("请设置url.hosts!")
    //     return
    //   }
    //   var that = this;
    //   postActions(that.url.hosts, { ip: id }).then((res) => {
    //     if (res.success) {
    //       that.$message.success(res.message);
    //       that.loadData();
    //     } else {
    //       that.$message.warning(res.message);
    //     }
    //   });
    // },

        handleEdit: function (record) {
          this.$refs.modalForm.edit(record);
          this.$refs.modalForm.title = "编辑";
          this.$refs.modalForm.disableSubmit = false;
        },
        handleAdd: function () {
          this.$refs.modalForm.add();
          this.$refs.modalForm.title = "新增";
          this.$refs.modalForm.disableSubmit = false;
        },
        handleTableChange(paginationfilterssorter) {
          //分页、排序、筛选变化时触发
          //TODO 筛选
          if (Object.keys(sorter).length > 0) {
            this.isorter.column = sorter.field;
            this.isorter.order = "ascend" == sorter.order ? "asc" : "desc"
          }
          this.ipagination = pagination;
          this.loadData();
        },
        handleToggleSearch() {
          this.toggleSearchStatus = !this.toggleSearchStatus;
        },
        // 给popup查询使用(查询区域不支持回填多个字段,限制只返回一个字段)
        getPopupField(fields) {
          return fields.split(',')[0]
        },
        modalFormOk() {
          // 新增/修改 成功时,重载列表
          this.loadData();
        },
        handleDetail: function (record) {
          this.$refs.modalForm.edit(record);
          this.$refs.modalForm.title = "详情";
          this.$refs.modalForm.disableSubmit = true;
        },
        /* 导出 */
        handleExportXls2() {
          let paramsStr = encodeURI(JSON.stringify(this.getQueryParams()));
          let url = `${window._CONFIG['domianURL']}/${this.url.exportXlsUrl}?paramsStr=${paramsStr}`;
          window.location.href = url;
        },
        handleExportXls(fileName) {
          if (!fileName || typeof fileName != "string") {
            fileName = "导出文件"
          }
          let param = { ...this.queryParam };
          if (this.selectedRowKeys && this.selectedRowKeys.length > 0) {
            param['selections'] = this.selectedRowKeys.join(",")
          }
          console.log("导出参数"param)
          downFile(this.url.exportXlsUrlparam).then((data=> {
            if (!data) {
              this.$message.warning("文件下载失败")
              return
            }
            if (typeof window.navigator.msSaveBlob !== 'undefined') {
              window.navigator.msSaveBlob(new Blob([data], { type: 'application/vnd.ms-excel' }), fileName + '.xls')
            } else {
              let url = window.URL.createObjectURL(new Blob([data], { type: 'application/vnd.ms-excel' }))
              let link = document.createElement('a')
              link.style.display = 'none'
              link.href = url
              link.setAttribute('download'fileName + '.xls')
              document.body.appendChild(link)
              link.click()
              document.body.removeChild(link); //下载完成移除元素
              window.URL.revokeObjectURL(url); //释放掉blob对象
            }
          })
        },
        /* 导入 */
        handleImportExcel(info) {
          if (info.file.status !== 'uploading') {
            console.log(info.fileinfo.fileList);
          }
          if (info.file.status === 'done') {
            if (info.file.response.success) {
              // this.$message.success(`${info.file.name} 文件上传成功`);
              if (info.file.response.code === 201) {
                let { messageresult: { msgfileUrlfileName } } = info.file.response
                let href = window._CONFIG['domianURL'] + fileUrl
                this.$warning({
                  title: message,
                  content: (
                    <div>
                      <span>{msg}</span><br />
                      <span>具体详情请 <a href={href} target="_blank" download={fileName}>点击下载</a> </span>
                    </div>
                  )
                })
              } else {
                this.$message.success(info.file.response.message || `${info.file.name} 文件上传成功`)
              }
              this.loadData()
            } else {
              this.$message.error(`${info.file.name} ${info.file.response.message}.`);
            }
          } else if (info.file.status === 'error') {
            this.$message.error(`文件上传失败: ${info.file.msg} `);
          }
        },
        /* 下载模板
        handleExportXls
         */
    /* 下载用例模板
        handledownload
         */
        handledownload(fileName) {
          if (!fileName || typeof fileName != "string") {
            fileName = "导出文件"
          }
          let param = { ...this.queryParam };
          if (this.selectedRowKeys && this.selectedRowKeys.length > 0) {
            param['selections'] = this.selectedRowKeys.join(",")
          }
          console.log("导出参数"param)
          downFile(this.url.downloadparam).then((data=> {
            if (!data) {
              this.$message.warning("文件下载失败")
              return
            }
            if (typeof window.navigator.msSaveBlob !== 'undefined') {
              window.navigator.msSaveBlob(new Blob([data], { type: 'application/vnd.ms-excel' }), fileName + '.xls')
            } else {
              let url = window.URL.createObjectURL(new Blob([data], { type: 'application/vnd.ms-excel' }))
              let link = document.createElement('a')
              link.style.display = 'none'
              link.href = url
              link.setAttribute('download'fileName + '.xls')
              document.body.appendChild(link)
              link.click()
              document.body.removeChild(link); //下载完成移除元素
              window.URL.revokeObjectURL(url); //释放掉blob对象
            }
          })
        },
         /* 下载jtl
        handledownloads
         */
        handledownloads(fileName,id) {
          console.log(id ,'fileName-------------jtl--------------')
          if (!fileName || typeof fileName != "string") {
            this.$message.warning("文件下载失败")
            return
          }
          let param = {
            ...this.queryParam,
            id:id
          };

          if (this.selectedRowKeys && this.selectedRowKeys.length > 0) {
            param['selections'] = this.selectedRowKeys.join(",")
          }
          console.log("导出参数"param)
          downFile(this.url.downloadparam).then((data=> {
           
            if (!data) {
              this.$message.warning("文件下载失败")
              return
            }
            if (typeof window.navigator.msSaveBlob !== 'undefined') {
              window.navigator.msSaveBlob(new Blob([data], { type: 'application/vnd.ms-excel' }), fileName)
            } else {
              let url = window.URL.createObjectURL(new Blob([data], { type: 'application/vnd.ms-excel' }))
              let link = document.createElement('a')
              link.style.display = 'none'
              link.href = url
              link.setAttribute('download'fileName)
              document.body.appendChild(link)
              link.click()
              document.body.removeChild(link); //下载完成移除元素
              window.URL.revokeObjectURL(url); //释放掉blob对象
            }
          })
        },
          /* 下载jmeterLog
        handledownloadss
         */
        handledownloadss(fileName,id) {
          console.log(fileName ,'fileName-----------jmeterLog----------------')
          if (!fileName || typeof fileName != "string") {
            this.$message.warning("文件下载失败")
              return
          }
          let param = {
            ...this.queryParam,
            id:id
          };

          if (this.selectedRowKeys && this.selectedRowKeys.length > 0) {
            param['selections'] = this.selectedRowKeys.join(",")
          }
          console.log("导出参数"param)
          downFile(this.url.downloadparam).then((data=> {
           
            if (!data) {
              this.$message.warning("文件下载失败")
              return
            }
            if (typeof window.navigator.msSaveBlob !== 'undefined') {
              window.navigator.msSaveBlob(new Blob([data], { type: 'application/vnd.ms-excel' }), fileName)
            } else {
              let url = window.URL.createObjectURL(new Blob([data], { type: 'application/vnd.ms-excel' }))
              let link = document.createElement('a')
              link.style.display = 'none'
              link.href = url
              link.setAttribute('download'fileName)
              document.body.appendChild(link)
              link.click()
              document.body.removeChild(link); //下载完成移除元素
              window.URL.revokeObjectURL(url); //释放掉blob对象
            }
          })
        },
        
        /* 图片预览 */
        getImgView(text) {
          if (text && text.indexOf(",") > 0) {
            text = text.substring(0text.indexOf(","))
          }
          return getFileAccessHttpUrl(text)
        },
        /* 文件下载 */
        uploadFile(text) {
          if (!text) {
            this.$message.warning("未知的文件")
            return;
          }
          if (text.indexOf(",") > 0) {
            text = text.substring(0text.indexOf(","))
          }
          let url = getFileAccessHttpUrl(text)
          window.open(url);
        },
      }

    }
    沫笙
  • 相关阅读:
    elasticsearch
    Python数据预处理(sklearn.preprocessing)—归一化(MinMaxScaler),标准化(StandardScaler),正则化(Normalizer, normalize)
    Pandas的Categorical Data
    详解FindBugs的各项检测器 .
    Oracle存储过程基本语法介绍
    关于MySQL的SLEEP(N)函数
    MYSql存储过程的作用及语法
    唯一约束 和 唯一索引 有什么区别?
    MySql避免重复插入记录
    [Ljava.lang.String和java.lang.String区别
  • 原文地址:https://www.cnblogs.com/wendy-0901/p/14259096.html
Copyright © 2011-2022 走看看