dymbgl.vue 6.18 KB
<template>
  <div class="from-clues">
    <div class="from-clues-header">
      <el-form>
        <el-row>
          <el-col :span="24" class="btnColRight">
            <el-form-item>
              {{ isRefresh }}
              <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>