dymbgl.vue 3.71 KB
<template>
  <div class="from-clues">
    <div class="from-clues-header">
      <el-form>
        <el-row>
          <el-col :span="24" class="btnColRight">
            <el-form-item>
              <el-button type="primary" @click="fetchData">查询</el-button>
              <el-button type="primary" @click="openAddDialog">新增</el-button>
            </el-form-item>
          </el-col>
        </el-row>
      </el-form>
    </div>
    <div class="from-clues-content">
      <lb-table :page-size="pageData.size" :current-page.sync="pageData.current" :heightNum="270" :total="tableData.total"
        @size-change="handleSizeChange" @p-current-change="handleCurrentChange" :column="tableData.columns"
        :data="tableData.data"></lb-table>
    </div>
    <object id="LODOP_OB" classid="clsid:2105C259-1E0C-4534-8141-A753534CB4CA" v-show="false">
      <embed id="LODOP_EM" type="application/x-print-lodop" width=820 height=450 pluginspage="install_lodop32.exe" />
    </object>
    <textarea rows="0" id="S1" cols="0" v-show="false"></textarea>
  </div>
</template>
<script>
  import { mapGetters } from 'vuex'
  import { getLodop } from "@/utils/LodopFuncs"
  import table from "@/utils/mixin/table"
  import { datas, sendThis } from "./dymbgl"
  import { selectPrintTemplateList, delPrintTemplate } from "@/api/print.js"
  export default {
    name: "dymbgl",
    mixins: [table],
    data () {
      return {
        isDialog: false,
        images: require("../../../image/lodapbg.png"),
        tableData: {
          total: 0,
          columns: datas.columns(),
          data: []
        },
        printItem: "",
        printList: {

        },
      }
    },
    mounted () {
      sendThis(this);
      this.fetchData()
    },
    computed: {
      ...mapGetters(['isRefresh'])
    },
    watch: {
      isRefresh: {
        handler (newVal, oldVal) {
          if (newVal) this.fetchData()
        },
        immediate: true
      }
    },
    methods: {
      /**
       * @description: fetchData
       * @author: renchao
       */
      fetchData () {
        selectPrintTemplateList({ ...this.pageData }).then(res => {
          if (res.code == 200) {
            let { total, records } = res.result
            this.tableData.total = total ? total : 0
            this.tableData.data = records ? records : []
          }
        })
      },
      //打开新增弹窗
      /**
       * @description: 打开新增弹窗
       * @author: renchao
       */
      openAddDialog () {
        this.$popupDialog("新增打印模板", "system/dymbgl/components/editDialog", {}, "35%")
      },
      //打开编辑弹窗
      /**
       * @description: 打开编辑弹窗
       * @param {*} item
       * @author: renchao
       */
      openEditDialog (item) {
        this.$popupDialog("编辑打印模板", "system/dymbgl/components/editDialog", item, "35%")
      },
      //删除数据
      /**
       * @description: 删除数据
       * @param {*} item
       * @author: renchao
       */
      removeTemplate (item) {
        this.$confirm("确定要删除吗, 是否继续?", "提示", {
          confirmButtonText: "确定",
          cancelButtonText: "取消",
          type: "warning",
        }).then(() => {
          delPrintTemplate({ bsmTmp: item.bsmTmp }).then((res) => {
            if (res.code == 200) {
              this.$message.success("删除成功");
              this.fetchData();
            } else {
              this.$message.error(res.message);
            }
          });
        })
          .catch(() => {
            this.$message({
              type: "info",
              message: "已取消删除"
            })
          })
      }
    }
  }
</script>
<style scoped lang="scss">
  @import "~@/styles/public.scss";
</style>