dymbgl.vue 6.43 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/system.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
        }
      }
    },
    methods: {
      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 : []
          }
        })
      },
      //打开新增弹窗
      openAddDialog () {
        this.$popupDialog("新增打印模板", "system/dymbgl/components/editDialog", {}, "35%")
      },
      //打开编辑弹窗
      openEditDialog (item) {
        this.$popupDialog("编辑打印模板", "system/dymbgl/components/editDialog", item, "35%")
      },
      //删除数据
      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: "已取消删除",
            });
          });
      },
      //设计打印模板
      DesignByPRGData (item) {
        let LODOP = getLodop(document.getElementById('LODOP_OB'), document.getElementById('LODOP_EM'));
        LODOP.ADD_PRINT_DATA("ProgramData", item.tmpcontent); //装载模板
        //窗口关闭后,回调函数中保存的设计代码
        if (LODOP.CVERSION)
          CLODOP.On_Return = function (TaskID, printList) {
            if (LODOP.CVERSION)
              LODOP.On_Return = function (TaskID, Value) {
                document.getElementById("S1").value = Value;
              };
            document.getElementById("S1").value = LODOP.GET_VALUE(
              "ProgramData",
              0
            );
            setTimeout(() => {
              item.tmpcontent = document.getElementById("S1").value;
            }, 1000);
          };
        LODOP.PRINT_DESIGN(); //打印设计或者打印维护需要放到最后      
      },
      editClick () {
        let LODOP = getLodop();
        LODOP.SET_PRINT_MODE("PRINT_SETUP_PROGRAM", true);
        LODOP.PRINT_INITA(0, 0, 850, 560, "不动产证明");
        LODOP.ADD_PRINT_SETUP_BKIMG("<img border='1' src=" + this.images + ">");
        LODOP.ADD_PRINT_TEXT(403, 220, 39, 25, this.printList.year); //year
        LODOP.ADD_PRINT_TEXT(403, 278, 25, 25, this.printList.month); //month
        LODOP.ADD_PRINT_TEXT(403, 309, 25, 25, this.printList.day); //day
        LODOP.ADD_PRINT_TEXT(493, 205, 160, 25, this.printList.bh); //编号
        // 头部信息
        LODOP.ADD_PRINT_TEXT(78, 419, 39, 25, this.printList.xzq); //陕
        LODOP.ADD_PRINT_TEXT(78, 466, 39, 25, this.printList.xh); //
        LODOP.ADD_PRINT_TEXT(78, 520, 60, 25, this.printList.d); //
        LODOP.ADD_PRINT_TEXT(78, 670, 60, 25, this.printList.h); //

        LODOP.ADD_PRINT_TEXT(119, 555, 190, 25, this.printList.zmsx); //然后多个ADD语句及SET语句
        LODOP.ADD_PRINT_TEXT(152, 557, 190, 25, this.printList.qlr); //权利人
        LODOP.ADD_PRINT_TEXT(186, 557, 190, 25, this.printList.ywr); //义务人
        LODOP.ADD_PRINT_TEXT(219, 557, 190, 25, this.printList.zl); //坐落
        LODOP.ADD_PRINT_TEXT(254, 557, 190, 25, this.printList.bdcdyh); //不动产单元号
        LODOP.ADD_PRINT_TEXT(318, 557, 190, 67, this.printList.qt); //其他
        LODOP.ADD_PRINT_TEXT(426, 557, 190, 67, this.printList.fj); //附记
        LODOP.SET_SHOW_MODE("BKIMG_PRINT", 1);
        LODOP.SET_SHOW_MODE("BKIMG_IN_PREVIEW", 1);
        //窗口关闭后,回调函数中保存的设计代码
        if (LODOP.CVERSION)
          CLODOP.On_Return = function (TaskID, printList) {
            if (LODOP.CVERSION)
              LODOP.On_Return = function (TaskID, Value) {
                document.getElementById("S1").value = Value;
              };
            document.getElementById("S1").value = LODOP.GET_VALUE(
              "ProgramData",
              0
            );
            setTimeout(() => {
              let printValue = document.getElementById("S1").value;
              console.log("value", printValue);
            }, 1000);
          };
        LODOP.PRINT_DESIGN(); //打印设计或者打印维护需要放到最后
      },
    },
  };
</script>
<style scoped lang="scss">
  @import "~@/styles/public.scss";
</style>