dymbgl.vue 6.03 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>
    <editDialog ref="editDialog" v-model="isDialog" />
  </div>
</template>
<script>
import { getLodop } from "@/utils/LodopFuncs"
import table from "@/utils/mixin/table"
import { datas, sendThis } from "./dymbgl"
import editDialog from "./components/editDialog.vue";
import {selectPrintTemplateList,delPrintTemplate} from "@/api/system.js"
export default {
  name: "dymbgl",
  mixins: [table],
  components: {editDialog},
  data () {
    return {
      isDialog: false,
      images: require("../../../image/lodapbg.png"),
      tableData: {
        total: 0,
        columns: datas.columns(),
        data: []
      },
      printItem: "",
      printList: {
        
      },
    }
  },
  mounted(){
    sendThis(this);
    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.isDialog = true;
    },
    //打开编辑弹窗
    openEditDialog(item){
      this.isDialog = true;
      this.$nextTick(() => {
          this.$refs.editDialog.getDetailInfo(item);
      })
    },
    //删除数据
    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>