调用freemaker配置类
@Autowired
private FreeMarkerConfigurer freeMarkerConfigurer;
生成合同同时提交
@RequestMapping("saveHt")
public ResponseResult saveHt(@RequestBody Map<String,Object> map) throws Exception {
//防止重复提交
//生成合同
Map<String, String> saveht = htongService.saveht(map);
ResponseResult responseResult = ResponseResult.getResponseResult().setCode(ResultStatus.AUTH_SUCCESS.getCode())
.setMsg(ResultStatus.AUTH_SUCCESS.getMsg()).setResult(saveht);
return responseResult;
}
@Autowired
private HtongDao htongDao;
@RequestMapping("xiazai/{htcode}")
public void yulan(@PathVariable("htcode") String htcode, HttpServletResponse response) throws Exception {
Map<String, String> map = htongDao.gethtInfo(htcode);
PdfUtils.xizai(minioClient,map.get("filePath"),map.get("fileName"),"images2",response);
}
合同模板
<template>
<div style="width: 50%;margin-left: 50px">
<el-form :inline="false" :model="formData1" class="demo-form-inline">
<el-form-item label="合同名称">
<el-input v-model="formData1.title" placeholder="合同名称"></el-input>
</el-form-item>
<el-form-item label="合同内容">
<el-input type="textarea" :rows="10" placeholder="合同内容" v-model="formData1.content"></el-input>
</el-form-item>
<el-form-item label="甲方代表">
<el-input v-model="formData1.jiafang" placeholder="甲方代表"></el-input>
</el-form-item>
<el-form-item label="乙方代表">
<el-input v-model="formData1.yifang" placeholder="乙方代表"></el-input>
</el-form-item>
<el-form-item label="日期">
<el-date-picker v-model="formData1.riqi" format="yyyy-MM-dd HH:mm:ss"
value-format="yyyy-MM-dd HH:mm:ss" type="datetime" placeholder="选择签署日期时间"></el-date-picker>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="saveHt">提交生成合同</el-button>
</el-form-item>
</el-form>
<el-link type="primary" :href="myhref" v-show="isshow">预览合同</el-link>
<el-button type="primary" @click="xiazaiht" v-show="isshow">下载合同</el-button>
</div>
</template>
<script>
export default {
name: "hetong",
data(){
return{
isshow:false,
myhref:"",
htcode:"",
xiazai:this.$myInfo.loginPath+'xiazai'+"?htcode="+this.htcode,
formData1:{
title:"",
content:"",
jiafang:"",
yifang:"",
riqi:""
}
}
},
methods:{
//预览合同
xiazaiht(){
window.location.href=this.$myInfo.loginPath+"xiazai/"+this.htcode;
},
//保存合同
saveHt(){
const loading = this.$loading({ lock: true,text: '数据提交中,请等待!!',spinner: 'el-icon-loading', background: 'rgba(0, 0, 0, 0.7)'});
this.$axios.post(this.$myInfo.loginPath+"saveHt",this.formData1).then((response)=>{
let pdfminiopath=response.data.result.filePath;
this.htcode=response.data.result.htcode;
this.isshow=true;
this.myhref=pdfminiopath;
alert(this.htcode);
loading.close();
//提示一下成功
this.$message({type:"success",message:"保存成功"})
})
}
}
}
</script>
如果添加新的.vue页面需要添加子级路由
{ path: '/hetong',name: 'hetong',component: hetong,meta:{require:true} }