峰峰执法平台简易案件程序板块 pad端
2269640d26a7a9b21a3828c75fb5aaa56ccfd6f8..2591d9565cda1c392a630ddfd988952c7ae65cda
2022-12-28 yang
第一版PAD
2591d9 对比 | 目录
2022-11-02 yang
修改问题11.2
1f6ae2 对比 | 目录
11个文件已修改
2个文件已添加
37个文件已删除
617 ■■■■ 已修改文件
dist-11.4.rar 补丁 | 查看 | 原始文档 | blame | 历史
public/wordes/TranscriptOfStatement.docx 补丁 | 查看 | 原始文档 | blame | 历史
public/wordes/administrativeEnforcementDecision.docx 补丁 | 查看 | 原始文档 | blame | 历史
public/wordes/administrativePenaltyConfiscationProperty.docx 补丁 | 查看 | 原始文档 | blame | 历史
public/wordes/administrativePenaltyRecord.docx 补丁 | 查看 | 原始文档 | blame | 历史
public/wordes/advanceNotice.docx 补丁 | 查看 | 原始文档 | blame | 历史
public/wordes/ajdczj.docx 补丁 | 查看 | 原始文档 | blame | 历史
public/wordes/ajlydjb.docx 补丁 | 查看 | 原始文档 | blame | 历史
public/wordes/applicationForRights.docx 补丁 | 查看 | 原始文档 | blame | 历史
public/wordes/caseGroupDiscussWord.docx 补丁 | 查看 | 原始文档 | blame | 历史
public/wordes/certificateOfService.docx 补丁 | 查看 | 原始文档 | blame | 历史
public/wordes/chechCause.docx 补丁 | 查看 | 原始文档 | blame | 历史
public/wordes/constraintExecute.docx 补丁 | 查看 | 原始文档 | blame | 历史
public/wordes/constraintExecuteDecide.docx 补丁 | 查看 | 原始文档 | blame | 历史
public/wordes/correctionNotice.docx 补丁 | 查看 | 原始文档 | blame | 历史
public/wordes/dcxwtzs.docx 补丁 | 查看 | 原始文档 | blame | 历史
public/wordes/evidence.docx 补丁 | 查看 | 原始文档 | blame | 历史
public/wordes/finalReport.docx 补丁 | 查看 | 原始文档 | blame | 历史
public/wordes/forceCaseDecide.docx 补丁 | 查看 | 原始文档 | blame | 历史
public/wordes/forceCaseRecord.docx 补丁 | 查看 | 原始文档 | blame | 历史
public/wordes/hearingNotice.docx 补丁 | 查看 | 原始文档 | blame | 历史
public/wordes/inquiryCause.docx 补丁 | 查看 | 原始文档 | blame | 历史
public/wordes/lasp.docx 补丁 | 查看 | 原始文档 | blame | 历史
public/wordes/mswpclqd.docx 补丁 | 查看 | 原始文档 | blame | 历史
public/wordes/nowAdministrativePenaltyDecision.docx 补丁 | 查看 | 原始文档 | blame | 历史
public/wordes/penaltyDecision.docx 补丁 | 查看 | 原始文档 | blame | 历史
public/wordes/photosEvidence.docx 补丁 | 查看 | 原始文档 | blame | 历史
public/wordes/recordOfHearing.docx 补丁 | 查看 | 原始文档 | blame | 历史
public/wordes/relieveForceDecide.docx 补丁 | 查看 | 原始文档 | blame | 历史
public/wordes/reviewOpinion.docx 补丁 | 查看 | 原始文档 | blame | 历史
public/wordes/samplingEvidenceForm.docx 补丁 | 查看 | 原始文档 | blame | 历史
public/wordes/saveproofDisposeInform.docx 补丁 | 查看 | 原始文档 | blame | 历史
public/wordes/ssxzqzcs.docx 补丁 | 查看 | 原始文档 | blame | 历史
public/wordes/ssxzqzcs1.docx 补丁 | 查看 | 原始文档 | blame | 历史
public/wordes/tolerance_exemption_notice.docx 补丁 | 查看 | 原始文档 | blame | 历史
public/wordes/xxdjbczjspb.docx 补丁 | 查看 | 原始文档 | blame | 历史
public/wordes/xxdjbczjwpcl.docx 补丁 | 查看 | 原始文档 | blame | 历史
public/wordes/xzcfjd.docx 补丁 | 查看 | 原始文档 | blame | 历史
src/api/News/pad.js 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/api/News/word.js 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/libs/word.js 386 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/router/axios.js 36 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/router/pad/index.js 32 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/router/router.js 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/padSunmaryProcedure/index.vue 17 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/padSunmaryProcedure/padFrom.vue 13 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/padSunmaryProcedure/word_mange/mangeBL.vue 15 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/padSunmaryProcedure/word_mange/mangeGZ.vue 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/padSunmaryProcedure/word_mange/mangeJD.vue 56 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
vue.config.js 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
dist-11.4.rar
Binary files differ
public/wordes/TranscriptOfStatement.docx
Binary files differ
public/wordes/administrativeEnforcementDecision.docx
Binary files differ
public/wordes/administrativePenaltyConfiscationProperty.docx
Binary files differ
public/wordes/administrativePenaltyRecord.docx
Binary files differ
public/wordes/advanceNotice.docx
Binary files differ
public/wordes/ajdczj.docx
Binary files differ
public/wordes/ajlydjb.docx
Binary files differ
public/wordes/applicationForRights.docx
Binary files differ
public/wordes/caseGroupDiscussWord.docx
Binary files differ
public/wordes/certificateOfService.docx
Binary files differ
public/wordes/chechCause.docx
Binary files differ
public/wordes/constraintExecute.docx
Binary files differ
public/wordes/constraintExecuteDecide.docx
Binary files differ
public/wordes/correctionNotice.docx
Binary files differ
public/wordes/dcxwtzs.docx
Binary files differ
public/wordes/evidence.docx
Binary files differ
public/wordes/finalReport.docx
Binary files differ
public/wordes/forceCaseDecide.docx
Binary files differ
public/wordes/forceCaseRecord.docx
Binary files differ
public/wordes/hearingNotice.docx
Binary files differ
public/wordes/inquiryCause.docx
Binary files differ
public/wordes/lasp.docx
Binary files differ
public/wordes/mswpclqd.docx
Binary files differ
public/wordes/nowAdministrativePenaltyDecision.docx
Binary files differ
public/wordes/penaltyDecision.docx
Binary files differ
public/wordes/photosEvidence.docx
Binary files differ
public/wordes/recordOfHearing.docx
Binary files differ
public/wordes/relieveForceDecide.docx
Binary files differ
public/wordes/reviewOpinion.docx
Binary files differ
public/wordes/samplingEvidenceForm.docx
Binary files differ
public/wordes/saveproofDisposeInform.docx
Binary files differ
public/wordes/ssxzqzcs.docx
Binary files differ
public/wordes/ssxzqzcs1.docx
Binary files differ
public/wordes/tolerance_exemption_notice.docx
Binary files differ
public/wordes/xxdjbczjspb.docx
Binary files differ
public/wordes/xxdjbczjwpcl.docx
Binary files differ
public/wordes/xzcfjd.docx
Binary files differ
src/api/News/pad.js
@@ -82,9 +82,8 @@
// 查询市场主体
export function getMarketList(query) {
  return request({
    url: `/market/marketsubject/marketList`,
    url: `/market/marketsubject/market/${query}`,
    method: 'get',
    params:query
  })
}
//获取当前第一个执法人
@@ -95,10 +94,4 @@
    params:query
  })
}
//生成word文件
export function createword(id) {
  return request({
    url: `/process/inquiryquestion/createWord/${id}`,
    method: 'get',
  })
}
src/api/News/word.js
New file
@@ -0,0 +1,25 @@
import request from '@/router/axios'
//生成笔录word文件
export function blwo(id) {
  return request({
    url: `/process/inquiryquestion/createWord/${id}`,
    method: 'get',
  })
}
//生成改正word文件
export function gzwo(id) {
  return request({
    url: `/process/ordercorrection/createWord/${id}`,
    method: 'get',
  })
}
//生成现场word文件
export function xcwo(id) {
  return request({
    url: `/process/nowpenaltydecision/createWord/${id}`,
    method: 'get',
  })
}
src/libs/word.js
@@ -2,62 +2,65 @@
import PizZip from 'pizzip'
import JSZipUtils from 'jszip-utils'
import {saveAs} from 'file-saver'
let docx = require("docx-preview");
const ImageModule = require("docxtemplater-image-module-free");
const base64Regex =
    /^data:image\/(png|jpg|svg|svg\+xml);base64,/;
  /^data:image\/(png|jpg|svg|svg\+xml);base64,/;
//下载word,不带图片
export const exportDoc = (e, path , dname) => {
    for (let attr in e) {
        if (e[attr] == null) {
            e[attr] = "";
        }
export const exportDoc = (e, path, dname) => {
  for (let attr in e) {
    if (e[attr] == null) {
      e[attr] = "";
    }
    let docxsrc = path;        //模板文件的位置
    let docxname = dname;        //导出文件的名字
    // 读取并获得模板文件的二进制内容
    JSZipUtils.getBinaryContent(docxsrc, function (error, content) {
        // docxsrc是模板。我们在导出的时候,会根据此模板来导出对应的数据
        // 抛出异常
        if (error) {
            throw error;
        }
  }
  let docxsrc = path;        //模板文件的位置
  let docxname = dname;        //导出文件的名字
  // 读取并获得模板文件的二进制内容
  JSZipUtils.getBinaryContent(docxsrc, function (error, content) {
    // docxsrc是模板。我们在导出的时候,会根据此模板来导出对应的数据
    // 抛出异常
    if (error) {
      throw error;
    }
        // 创建一个PizZip实例,内容为模板的内容
        let zip = new PizZip(content);
        // 创建并加载docx templater实例对象
        let doc = new docxtemplater().loadZip(zip);
        // 设置模板变量的值
        doc.setData(e);
    // 创建一个PizZip实例,内容为模板的内容
    let zip = new PizZip(content);
    // 创建并加载docx templater实例对象
    let doc = new docxtemplater().loadZip(zip);
    // 设置模板变量的值
    doc.setData(e);
    console.log(doc.setData(e), 'doc.setData(e);')
        try {
            //替换所有模板变量
            doc.render();
        } catch (error) {
            let e = {
                message: error.message,
                name: error.name,
                stack: error.stack,
                properties: error.properties
            };
            console.log(JSON.stringify({error: e}));
            throw error;
        }
        // 生成一个代表docxtemplater对象的zip文件(不是一个真实的文件,而是在内存中的表示)
        let out = doc.getZip().generate({
            type: "blob",
            mimeType: "application/vnd.openxmlformats-officedocument.wordprocessingml.document"
        });
        // 将目标文件对象保存为目标类型的文件,并命名
        saveAs(out, docxname);
    try {
      //替换所有模板变量
      doc.render();
    } catch (error) {
      let e = {
        message: error.message,
        name: error.name,
        stack: error.stack,
        properties: error.properties
      };
      console.log(JSON.stringify({error: e}));
      throw error;
    }
    console.log(doc, 'out~doc')
    // 生成一个代表docxtemplater对象的zip文件(不是一个真实的文件,而是在内存中的表示)
    let out = doc.getZip().generate({
      type: "blob",
      mimeType: "application/vnd.openxmlformats-officedocument.wordprocessingml.document"
    });
    console.log(doc.getZip().generate, 'doc.getZip().generate')
    // 将目标文件对象保存为目标类型的文件,并命名
    saveAs(out, docxname);
  });
};
//下载word,带图片
export const exportDocWidthImg = (e, path , dname, imgSize) => {
export const exportDocWidthImg = (e, path, dname, imgSize) => {
  for (let attr in e) {
    if (e[attr] == null) {
      e[attr] = "";
@@ -81,15 +84,15 @@
    // // 图片处理
    const opts = {}
    opts.fileType = "docx";
    opts.getImage = (chartId) =>{
    opts.getImage = (chartId) => {
      return base64DataURLToArrayBuffer(chartId);
    }
    opts.getSize = function(img, tagVlaue, tagName){  //图片size
      if(imgSize.hasOwnProperty(tagName)) {
    opts.getSize = function (img, tagVlaue, tagName) {  //图片size
      if (imgSize.hasOwnProperty(tagName)) {
        return imgSize[tagName]
      }else {
        return [100,100]
      } else {
        return [100, 100]
      }
    }
    let imageModule = new ImageModule(opts);
@@ -123,172 +126,175 @@
}
//预览word,不带图片的
export const viewD = (e, path , continer) => {
    for (let attr in e) {
        if (e[attr] == null) {
            e[attr] = "";
        }
export const viewD = (e, path, continer) => {
  for (let attr in e) {
    if (e[attr] == null) {
      e[attr] = "";
    }
    let docxsrc = path;        //模板文件的位置
    // 读取并获得模板文件的二进制内容
    JSZipUtils.getBinaryContent(docxsrc, function (error, content) {
        // docxsrc是模板。我们在导出的时候,会根据此模板来导出对应的数据
        // 抛出异常
        if (error) {
            throw error;
        }
  }
  let docxsrc = path;        //模板文件的位置
  // 读取并获得模板文件的二进制内容
  JSZipUtils.getBinaryContent(docxsrc, function (error, content) {
    // docxsrc是模板。我们在导出的时候,会根据此模板来导出对应的数据
    // 抛出异常
    if (error) {
      throw error;
    }
        // 创建一个PizZip实例,内容为模板的内容
        let zip = new PizZip(content);
        // 创建并加载docx templater实例对象
        let doc = new docxtemplater().loadZip(zip);
        // 设置模板变量的值
        doc.setData(e);
    // 创建一个PizZip实例,内容为模板的内容
    let zip = new PizZip(content);
    // 创建并加载docx templater实例对象
    let doc = new docxtemplater().loadZip(zip);
    // 设置模板变量的值
    doc.setData(e);
        try {
            //替换所有模板变量
            doc.render();
        } catch (error) {
            let e = {
                message: error.message,
                name: error.name,
                stack: error.stack,
                properties: error.properties
            };
            console.log(JSON.stringify({error: e}));
            throw error;
        }
    try {
      //替换所有模板变量
      doc.render();
    } catch (error) {
      let e = {
        message: error.message,
        name: error.name,
        stack: error.stack,
        properties: error.properties
      };
      console.log(JSON.stringify({error: e}));
      throw error;
    }
        // 生成一个代表docxtemplater对象的zip文件(不是一个真实的文件,而是在内存中的表示)
        let out = doc.getZip().generate({
            type: "blob",
            mimeType: "application/vnd.openxmlformats-officedocument.wordprocessingml.document"
        });
        docx.renderAsync(out, continer); // 渲染到页面预览
    // 生成一个代表docxtemplater对象的zip文件(不是一个真实的文件,而是在内存中的表示)
    let out = doc.getZip().generate({
      type: "blob",
      mimeType: "application/vnd.openxmlformats-officedocument.wordprocessingml.document"
    });
    console.log(out, 'out')
    // window.android.toDownLoadWord(out)
    docx.renderAsync(out, continer); // 渲染到页面预览
  });
};
//预览带图片的word
export const viewWithImg = (e, path , continer, imgSize) => {
    for (let attr in e) {
        if (e[attr] == null) {
            e[attr] = "";
        }
export const viewWithImg = (e, path, continer, imgSize) => {
  for (let attr in e) {
    if (e[attr] == null) {
      e[attr] = "";
    }
    let docxsrc = path;        //模板文件的位置
    JSZipUtils.getBinaryContent(docxsrc, function (error, content) {
        // docxsrc是模板。我们在导出的时候,会根据此模板来导出对应的数据
        // 抛出异常
        if (error) {
            throw error;
        }
  }
  let docxsrc = path;        //模板文件的位置
  JSZipUtils.getBinaryContent(docxsrc, function (error, content) {
    // docxsrc是模板。我们在导出的时候,会根据此模板来导出对应的数据
    // 抛出异常
    if (error) {
      throw error;
    }
        const doc = new docxtemplater();
        // // 创建一个PizZip实例,内容为模板的内容
        const zip = new PizZip(content);
        doc.loadZip(zip)
        // // 图片处理
        const opts = {}
        opts.fileType = "docx";
        opts.getImage = (chartId) =>{
            return base64DataURLToArrayBuffer(chartId);
        }
    const doc = new docxtemplater();
    // // 创建一个PizZip实例,内容为模板的内容
    const zip = new PizZip(content);
    doc.loadZip(zip)
    // // 图片处理
    const opts = {}
    opts.fileType = "docx";
    opts.getImage = (chartId) => {
      return base64DataURLToArrayBuffer(chartId);
    }
        opts.getSize = function(img, tagVlaue, tagName){  //图片size
          if(imgSize.hasOwnProperty(tagName)) {
            return imgSize[tagName]
          }else {
            return [100,100]
          }
        }
        let imageModule = new ImageModule(opts);
        doc.attachModule(imageModule);
        doc.setData(e);
    opts.getSize = function (img, tagVlaue, tagName) {  //图片size
      if (imgSize.hasOwnProperty(tagName)) {
        return imgSize[tagName]
      } else {
        return [100, 100]
      }
    }
    let imageModule = new ImageModule(opts);
    doc.attachModule(imageModule);
    doc.setData(e);
        try {
            //     //替换所有模板变量
            doc.render();
        } catch (error) {
            let e = {
                message: error.message,
                name: error.name,
                stack: error.stack,
                properties: error.properties
            };
            console.log(JSON.stringify({error: e}));
            //     throw error;
        }
    try {
      //     //替换所有模板变量
      doc.render();
    } catch (error) {
      let e = {
        message: error.message,
        name: error.name,
        stack: error.stack,
        properties: error.properties
      };
      console.log(JSON.stringify({error: e}));
      //     throw error;
    }
        // 生成一个代表docxtemplater对象的zip文件(不是一个真实的文件,而是在内存中的表示)
        let out = doc.getZip().generate({
            type: "blob",
            mimeType: "application/vnd.openxmlformats-officedocument.wordprocessingml.document"
        });
        docx.renderAsync(out, continer); // 渲染到页面预览
    // 生成一个代表docxtemplater对象的zip文件(不是一个真实的文件,而是在内存中的表示)
    let out = doc.getZip().generate({
      type: "blob",
      mimeType: "application/vnd.openxmlformats-officedocument.wordprocessingml.document"
    });
    docx.renderAsync(out, continer); // 渲染到页面预览
  });
};
function base64DataURLToArrayBuffer(dataURL) {
    const base64Regex = /^data:image\/(png|jpg|svg|svg\+xml);base64,/;
    if (!base64Regex.test(dataURL)) {
        return false;
    }
    const stringBase64 = dataURL.replace(base64Regex, "");
    let binaryString;
    if (typeof window !== "undefined") {
        binaryString = window.atob(stringBase64);
    } else {
        binaryString = new Buffer(stringBase64, "base64").toString("binary");
    }
    const len = binaryString.length;
    const bytes = new Uint8Array(len);
    for (let i = 0; i < len; i++) {
        const ascii = binaryString.charCodeAt(i);
        bytes[i] = ascii;
    }
    return bytes.buffer;
  const base64Regex = /^data:image\/(png|jpg|svg|svg\+xml);base64,/;
  if (!base64Regex.test(dataURL)) {
    return false;
  }
  const stringBase64 = dataURL.replace(base64Regex, "");
  let binaryString;
  if (typeof window !== "undefined") {
    binaryString = window.atob(stringBase64);
  } else {
    binaryString = new Buffer(stringBase64, "base64").toString("binary");
  }
  const len = binaryString.length;
  const bytes = new Uint8Array(len);
  for (let i = 0; i < len; i++) {
    const ascii = binaryString.charCodeAt(i);
    bytes[i] = ascii;
  }
  return bytes.buffer;
}
export const urlToBase64 = (url, callback) => {
    let image = new Image();
    //解决跨域问题
    image.setAttribute('crossOrigin', '*');
    image.src = url
    image.onload = () => {
        var canvas = document.createElement("canvas");
        canvas.width = image.width;
        canvas.height = image.height;
        var context = canvas.getContext('2d');
        context.drawImage(image, 0, 0, image.width, image.height);
        var quality = 0.8;
        //这里的dataurl就是base64类型
        var dataURL = canvas.toDataURL("image/png", quality);
        callback ? callback(dataURL) : null; //调用回调函数
    }
  let image = new Image();
  //解决跨域问题
  image.setAttribute('crossOrigin', '*');
  image.src = url
  image.onload = () => {
    var canvas = document.createElement("canvas");
    canvas.width = image.width;
    canvas.height = image.height;
    var context = canvas.getContext('2d');
    context.drawImage(image, 0, 0, image.width, image.height);
    var quality = 0.8;
    //这里的dataurl就是base64类型
    var dataURL = canvas.toDataURL("image/png", quality);
    callback ? callback(dataURL) : null; //调用回调函数
  }
};
function base64Parser(dataURL) {
    if (
        typeof dataURL !== "string" ||
        !base64Regex.test(dataURL)
    ) {
        return false;
    }
    const stringBase64 = dataURL.replace(base64Regex, "");
  if (
    typeof dataURL !== "string" ||
    !base64Regex.test(dataURL)
  ) {
    return false;
  }
  const stringBase64 = dataURL.replace(base64Regex, "");
    // For nodejs
    if (typeof Buffer !== "undefined" && Buffer.from) {
        return Buffer.from(stringBase64, "base64");
    }
  // For nodejs
  if (typeof Buffer !== "undefined" && Buffer.from) {
    return Buffer.from(stringBase64, "base64");
  }
    // For browsers :
    const binaryString = window.atob(stringBase64);
    const len = binaryString.length;
    const bytes = new Uint8Array(len);
    for (let i = 0; i < len; i++) {
        const ascii = binaryString.charCodeAt(i);
        bytes[i] = ascii;
    }
    return bytes.buffer;
  // For browsers :
  const binaryString = window.atob(stringBase64);
  const len = binaryString.length;
  const bytes = new Uint8Array(len);
  for (let i = 0; i < len; i++) {
    const ascii = binaryString.charCodeAt(i);
    bytes[i] = ascii;
  }
  return bytes.buffer;
}
src/router/axios.js
@@ -34,9 +34,9 @@
  const TENANT_ID = getStore({ name: 'tenantId' })
  const isToken = (config.headers || {}).isToken === false
  const token = window.android.getAppToken()
  // const token = `dd271fdb-4b69-4eb3-a940-52d70232e56b`
  // const token = `59866cb8-c5ba-4b2f-a367-3ab2f64f30c5`
  if (token && !isToken) {
    config.headers['Authorization'] = 'bearer ' + token// token
    config.headers['Authorization'] = 'Bearer ' + token// token
  }
  if (TENANT_ID) {
    config.headers['TENANT-ID'] = TENANT_ID // 租户ID
@@ -47,7 +47,7 @@
    config.data = serialize(config.data)
    delete config.data.serialize
  }
  config.headers['VERSION'] = 'lmm'
  // config.headers['VERSION'] = 'GHX'
  if (config.method === 'get'||config.params) {
    config.paramsSerializer = function (params) {
      let p ={};
@@ -73,27 +73,27 @@
  // loadingInstance.close();
  const status = Number(res.status) || 200
  const message = res.data.msg || errorCode[status] || errorCode['default']
 /* if (status === 401) {
    // Message({
    //   message: message,
    //   type: 'error'
    // })
  /*if (status === 401) {
    Message({
      message: message,
      type: 'error'
    })
    handleError(message)
    store.dispatch('FedLogOut').then(() => {
      router.push({ path: '/login' })
      router.push({ path: '/pad' })
    })
    return
  }*/
  // if (status !== 200 || res.data.code === 1) {
  //   // Message({
  //   //   message: message,
  //   //   type: 'error'
  //   // })
  //   // handleError(message)
  //   return handleError(message)
  //   // return Promise.reject(new Error(message))
  // }
  /*if (status !== 200 || res.data.code === 1) {
    Message({
      message: message,
      type: 'error'
    })
    handleError(message)
    return handleError(message)
    // return Promise.reject(new Error(message))
  }*/
  return res
}, error => {
  NProgress.done()
src/router/pad/index.js
@@ -5,26 +5,30 @@
  path: '/pad',
  component: padHome,
  redirect: '/pad',
  meta: { noNeedLogin: true },
  meta: {noNeedLogin: true},
  children: [{
    path: '/pad',
    name: '简易程序案件',
    component: () =>
      import(/* webpackChunkName: "page" */ '@/views/padSunmaryProcedure/index')
  },{
  }, {
    path: '/fromAdd',
    name: '简易程序案件',
    component: () =>
      import(/* webpackChunkName: "page" */ '@/views/padSunmaryProcedure/padFrom')
  },{
    path: '/padWord',
    name: '案件填报流程',
    component: () =>
      import(/* webpackChunkName: "page" */ '@/views/padSunmaryProcedure/padWord')
  },{
    path: '/WordYulan',
    name: 'word预览',
    component: () =>
      import(/* webpackChunkName: "page" */ '@/views/padSunmaryProcedure/word-view')
  }]
}]
  },
    {
      path: '/padWord',
      name: '案件填报流程',
      component: () =>
        import(/* webpackChunkName: "page" */ '../../views/padSunmaryProcedure/padWord')
    }
    /*,{
      path: '/WordYulan',
      name: 'word预览',
      component: () =>
        import(/!* webpackChunkName: "page" *!/ '@/views/padSunmaryProcedure/word-view')
    }*/
  ]
}
]
src/router/router.js
@@ -23,10 +23,10 @@
const originalPush = VueRouter.prototype.push
const originalReplace = VueRouter.prototype.replace
//push
VueRouter.prototype.push = function push(location, onResolve, onReject) {
/*VueRouter.prototype.push = function push(location, onResolve, onReject) {
  if (onResolve || onReject) return originalPush.call(this, location, onResolve, onReject)
  return originalPush.call(this, location).catch(err => err)
}
}*/
//replace
VueRouter.prototype.replace = function push(location, onResolve, onReject) {
  if (onResolve || onReject) return originalReplace.call(this, location, onResolve, onReject)
src/views/padSunmaryProcedure/index.vue
@@ -77,7 +77,9 @@
      isShow: false,
      formInline: {
        litigant: '',
        phone: ''
        phone: '',
        current:this.pageIndex,
        size:this.pageSize
      },
      pageSize: 10,
      pageIndex: 1,
@@ -99,14 +101,19 @@
    getDataList(type) {
      // this.$nextTick(()=>{
      if (type == 0) {
        this.formInline.type = type
        this.formInline.type = type;
        this.formInline.current=this.pageIndex;
        this.formInline.size=this.pageSize;
        getObj(this.formInline).then(res => {
          this.tableData = res.data.data.records
          this.total =res.data.data.total
        })
      } else {
        // this.formInline.type = type;
        this.formInline.current=this.pageIndex;
        this.formInline.size=this.pageSize;
        // this.formInline.user=333
        getObj().then(res => {
        getObj(this.formInline).then(res => {
          this.tableData = res.data.data.records
        })
      }
@@ -139,12 +146,12 @@
    sizeChangeHandle(val) {
      this.pageSize = val;
      this.pageIndex = 1;
      // this.getDataList();
      this.getDataList(0);
    },
    // 当前页
    currentChangeHandle(val) {
      this.pageIndex = val;
      // this.getDataList();
      this.getDataList(0);
    },
  }
}
src/views/padSunmaryProcedure/padFrom.vue
@@ -173,7 +173,7 @@
    }
  },
  created() {
    this.latlng = window.android.getAddress();
    // this.latlng = window.android.getAddress();
    this.init()
  },
  methods: {
@@ -184,12 +184,12 @@
    },
    init() {
      // this.$nextTick(()=>{
      getIdByToken().then(res => {
        console.log(res, 'getIdByToken')
        let a = res.data.data;
      // getIdByToken().then(res => {
      //   console.log(res, 'getIdByToken')
      //   let a = res.data.data;
        // let b = parseInt(a)
        this.form.hanlderIds.push(a)
      })
        // this.form.hanlderIds.push(a)
      // })
      //查询办案人员信息
      getfindAll().then((res) => {
        this.organPersons = res.data.data;
@@ -283,6 +283,7 @@
      }
      if (names != "") {
        this.form.hanlders = names.substring(0, names.length - 1);
        console.log(this.form.hanlders,'this.form.hanlders')
      }
    },
    onSubmit() {
src/views/padSunmaryProcedure/word_mange/mangeBL.vue
@@ -66,7 +66,7 @@
      <el-row>
        <el-col :span="12">
          <el-form-item label="询问人">
            <el-input v-model="form.inquirerNameOne" placeholder="请填写询问人"></el-input>
            <el-input v-model="form.inquisitorialNameOne" placeholder="请填写询问人"></el-input>
          </el-form-item>
        </el-col>
        <el-col :span="12">
@@ -78,7 +78,7 @@
      <el-row>
        <el-col :span="12">
          <el-form-item>
            <el-input v-model="form.inquirerNameTwo" placeholder="请填写询问人"></el-input>
            <el-input v-model="form.inquisitorialNameTwo" placeholder="请填写询问人"></el-input>
          </el-form-item>
        </el-col>
        <el-col :span="12">
@@ -128,15 +128,16 @@
      </el-form-item>
    </el-form>
    <div style="text-align: center">
      <el-button v-if="form.registerState=='0'||form.registerState==null" @click="dataFormSubmit('0')">保存</el-button>
      <el-button v-if="form.approvalState==null||form.approvalState=='2'" @click="dataFormSubmit('0')">保存</el-button>
      <el-button type="primary" @click="viewVord(form.id)">预览</el-button>
      <el-button v-if="form.registerState=='1'" type="success" @click="downloadWord(form.id)">下载</el-button>
      <el-button v-if="form.approvalState=='1'" type="success" @click="downloadWord(form.id)">下载</el-button>
    </div>
  </el-main>
</template>
<script>
import {createword, inquiry, inquiryquestion} from '../../../api/News/pad'
import { inquiry, inquiryquestion} from '../../../api/News/pad'
import {blwo} from "../../../api/News/word";
export default {
  name: "mangeBL",
@@ -227,7 +228,7 @@
    },
    //点击预览
    viewVord(data) {
      createword(data).then(res => {
      blwo(data).then(res => {
        console.log(res.data.data, 'res.data.data')
        // this.form.questionsAnswers[0].wen =res.data.data
        this.arrays = res.data.data.split(',')[1]
@@ -236,7 +237,7 @@
    },
    //点击下载
    downloadWord(data) {
      createword(data).then(res => {
      blwo(data).then(res => {
        // console.log(this.form.id)
        this.arrays = res.data.data.split(',')[0]
        window.android.toDownLoadWord(this.arrays)
src/views/padSunmaryProcedure/word_mange/mangeGZ.vue
@@ -99,9 +99,9 @@
        <el-form-item label="改正时间">
          <el-date-picker
            v-model="form.correctTime"
            type="date"
            type="datetime"
            style="width: 100%!important;"
            :value-format="`yyyy-MM-dd`"
            :value-format="`yyyy-MM-dd HH:mm:ss`"
            placeholder="选择日期">
          </el-date-picker>
        </el-form-item>
@@ -120,16 +120,17 @@
    </el-row>
  </el-form>
  <div style="text-align: center">
    <el-button v-if="form.registerState=='0'||form.registerState==null" @click="dataFormSubmit('0')">保存</el-button>
    <el-button type="primary" @click="viewVord(form)">预览</el-button>
    <el-button v-if="form.registerState=='1'" type="success" @click="downloadWord(form)">下载</el-button>
    <el-button v-if="form.approvalState==null||form.approvalState=='2'" @click="dataFormSubmit('0')">保存</el-button>
    <el-button type="primary" @click="viewVord(form.id)">预览</el-button>
    <el-button v-if="form.approvalState=='1'" type="success" @click="downloadWord(form.id)">下载</el-button>
  </div>
</el-main>
</template>
<script>
import {createword, ordercorrec, ordercorrection} from '../../../api/News/pad'
import { ordercorrec, ordercorrection} from '../../../api/News/pad'
import {getLaw, getLawTiao, lawInfo} from '@/api/lawList/lawList';
import {gzwo} from "../../../api/News/word";
export default {
@@ -180,8 +181,9 @@
    //点击预览
    viewVord(data) {
      // let wordData = this.transforData(data);
      createword(data).then(res => {
        console.log(res.data.data, 'res.data.data')
      gzwo(data).then(res => {
        // console.log(res.data.data, 'res.data.data')
        // this.form.questionsAnswers[0].wen =res.data.data
        this.arrays = res.data.data.split(',')[1]
        window.android.toPreviewWord(this.arrays)
@@ -189,7 +191,7 @@
    },
    //点击下载
    downloadWord(data){
      createword(data).then(res => {
      gzwo(data).then(res => {
        // console.log(this.form.id)
        this.arrays = res.data.data.split(',')[0]
        window.android.toDownLoadWord(this.arrays)
src/views/padSunmaryProcedure/word_mange/mangeJD.vue
@@ -116,21 +116,10 @@
          </el-checkbox>
        </el-checkbox-group>
      </el-form-item>
      <el-form-item label="缴纳方式:">
        <el-checkbox-group v-model="form.fines">
          <el-checkbox label="1" name="fines">当场收缴;</el-checkbox>
          <el-checkbox label="2" name="fines" id="fakuan">
            <!--              <el-form-item label="缴纳银行名称">
                            <el-input v-model="form.bank" placeholder="请输入缴纳银行的名称" style="width: 100%!important;"></el-input>
                          </el-form-item>
                          <el-form-item label="账号:">
                            <el-input v-model="form.account" placeholder="请输入账号" style="width: 100%!important;"></el-input>
                          </el-form-item>
                          <el-form-item label="账号:">
                            <el-input v-model="form.account" placeholder="请输入账号" style="width: 100%!important;"></el-input>
                          </el-form-item>-->
            <!--              <el-form-item label="户名:">-->
      <div @change="changenullTwo">
        <el-form-item label="缴纳方式:">
          <el-radio label="1" v-model="form.fines">当场收缴;</el-radio>
          <el-radio label="2" v-model="form.fines">
            <p style="margin-left: -100px!important;">
              缴纳银行名称:
              <el-input v-model="form.bank" placeholder="请输入缴纳银行的名称" style="width: 80%!important;"></el-input>
@@ -149,10 +138,9 @@
              地址:
              <el-input v-model="form.place" placeholder="请输入缴纳地址" style="width: 100%!important;"></el-input>
            </p>
          </el-checkbox>
        </el-checkbox-group>
      </el-form-item>
          </el-radio>
        </el-form-item>
      </div>
      <!--      <div class="box" style="margin-left: 85px;font-size: 18px;">
              <span>如你(单位)不服本行政处罚决定,可以自收到本决定书之日起60日内向</span>
              <el-input v-model="form.governmentName" placeholder="" style="width:260px!important;"></el-input>
@@ -179,16 +167,17 @@
    </el-form>
    <div style="text-align: center">
      <el-button v-if="form.registerState=='0'||form.registerState==null" @click="dataFormSubmit('0')">保存</el-button>
      <el-button type="primary" @click="viewVord(form)">预览</el-button>
      <el-button v-if="form.registerState=='1'" type="success" @click="downloadWord(form)">下载</el-button>
      <el-button v-if="form.approvalState==null||form.approvalState=='2'" @click="dataFormSubmit('0')">保存</el-button>
      <el-button type="primary" @click="viewVord(form.id)">预览</el-button>
      <el-button v-if="form.approvalState=='1'" type="success" @click="downloadWord(form.id)">下载</el-button>
    </div>
  </el-main>
</template>
<script>
import {createword, inquiry, nowpenaltydecision} from "../../../api/News/pad";
import {nowpenalty, nowpenaltydecision} from "../../../api/News/pad";
import {getLaw, getLawTiao, lawInfo} from '@/api/lawList/lawList';
import {xcwo} from "../../../api/News/word";
export default {
@@ -209,7 +198,7 @@
        legalPerson: "",
        legalPersonPhone: "",
        punishments: [],
        fines: [],
        fines: 1,
        courtName: "",
        governmentName: "",
        accountName: "",
@@ -238,12 +227,23 @@
        })
      })
    },
    changenullTwo(val) {
      if (this.form.fines == 1){
        this.form.bank = "";
        this.form.account = "";
        this.form.accountName = "";
        this.form.place = "";
      }else {
        this.form.bank = "邮政储蓄银行峰峰支行(峰峰矿区滏阳路43号)"
      }
    },
    //点击保存数据
    dataFormSubmit() {
      /*this.form.startTime = this.value1[0]
      this.form.endTime = this.value1[1]*/
      //this.form.registerId = this.id
      inquiry(this.form).then(res => {
      this.form.registerId = this.id
      nowpenalty(this.form).then(res => {
        if (res.data.code == 0) {
          this.$message.success("保存成功");
        }
@@ -252,7 +252,7 @@
    //点击预览
    viewVord(data) {
      // let wordData = this.transforData(data);
      createword(data).then(res => {
      xcwo(data).then(res => {
        console.log(res.data.data, 'res.data.data')
        // this.form.questionsAnswers[0].wen =res.data.data
        this.arrays = res.data.data.split(',')[1]
@@ -261,7 +261,7 @@
    },
    //点击下载
    downloadWord(data) {
      createword(data).then(res => {
      xcwo(data).then(res => {
        // console.log(this.form.id)
        this.arrays = res.data.data.split(',')[0]
        window.android.toDownLoadWord(this.arrays)
vue.config.js
@@ -4,7 +4,7 @@
 */
// const url = 'http://localhost:9999'
// const url = 'http://192.168.0.164:9999'
// const url = 'http://192.168.0.134:9999'
//  const url = 'http://192.168.0.126:9999/'
// const url = 'http://boying.tpddns.cn:9999/'
const url = 'http://36.138.175.42:9999/'
const webpack = require('webpack')