diff --git a/jeecg-boot/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/blTeacherAnswer/controller/BlTeacherAnswerController.java b/jeecg-boot/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/blTeacherAnswer/controller/BlTeacherAnswerController.java index b2cd173..9c6560d 100644 --- a/jeecg-boot/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/blTeacherAnswer/controller/BlTeacherAnswerController.java +++ b/jeecg-boot/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/blTeacherAnswer/controller/BlTeacherAnswerController.java @@ -1,6 +1,7 @@ package org.jeecg.modules.demo.blTeacherAnswer.controller; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import io.swagger.annotations.Api; @@ -12,6 +13,8 @@ import org.jeecg.common.system.base.controller.JeecgController; import org.jeecg.common.system.query.QueryGenerator; import org.jeecg.modules.demo.blTeacherAnswer.entity.BlTeacherAnswer; import org.jeecg.modules.demo.blTeacherAnswer.service.IBlTeacherAnswerService; +import org.jeecg.modules.demo.blTeacherInfo.entity.BlTeacherInfo; +import org.jeecg.modules.demo.blTeacherInfo.service.IBlTeacherInfoService; import org.jeecg.modules.tools.word.ExportWord; import org.jeecg.modules.tools.word.WordOperator; import org.jeecgframework.poi.excel.ExcelImportUtil; @@ -42,6 +45,9 @@ import java.util.Map; public class BlTeacherAnswerController extends JeecgController { @Autowired private IBlTeacherAnswerService blTeacherAnswerService; + + @Autowired + private IBlTeacherInfoService blTeacherInfoService; /** * 分页列表查询 @@ -217,4 +223,23 @@ public class BlTeacherAnswerController extends JeecgController createWord(@RequestParam(name="id",required=true) String id) throws Exception { + //直接导出附件 + WordOperator wo = service.createWordTjfx(id); + BlTeacherInfo blTeacherInfo = blTeacherInfoService.getById(id); + //保存到本地附件里 + String exportWordPath = ExportWord.wordPathToLocalFile(wo,"["+blTeacherInfo.getSchoolName()+"]-"+blTeacherInfo.getPgrq()+"-问卷分析情况.docx", "exportWords"); + //保存到主表里 + var updateWp = new UpdateWrapper(); + updateWp.lambda().eq(BlTeacherInfo::getId, id); + updateWp.lambda().set(BlTeacherInfo::getFilePath,exportWordPath); + blTeacherInfoService.update(updateWp); + return Result.OK("生成成功"); + } + + + } diff --git a/jeecg-boot/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/blTeacherAnswer/service/impl/BlTeacherAnswerServiceImpl.java b/jeecg-boot/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/blTeacherAnswer/service/impl/BlTeacherAnswerServiceImpl.java index bbd69c8..d8f5864 100644 --- a/jeecg-boot/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/blTeacherAnswer/service/impl/BlTeacherAnswerServiceImpl.java +++ b/jeecg-boot/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/blTeacherAnswer/service/impl/BlTeacherAnswerServiceImpl.java @@ -439,13 +439,6 @@ public class BlTeacherAnswerServiceImpl extends ServiceImpl { try { diff --git a/jeecg-boot/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/blTeacherInfo/controller/BlTeacherInfoController.java b/jeecg-boot/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/blTeacherInfo/controller/BlTeacherInfoController.java index 3be2abc..397280c 100644 --- a/jeecg-boot/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/blTeacherInfo/controller/BlTeacherInfoController.java +++ b/jeecg-boot/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/blTeacherInfo/controller/BlTeacherInfoController.java @@ -88,9 +88,9 @@ public class BlTeacherInfoController extends JeecgController add(@RequestBody BlTeacherInfo blTeacherInfo) { + public Result add(@RequestBody BlTeacherInfo blTeacherInfo) { blTeacherInfoService.save(blTeacherInfo); - return Result.OK("添加成功!"); + return Result.OK(blTeacherInfo); } /** diff --git a/jeecg-boot/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/blTeacherInfo/entity/BlTeacherInfo.java b/jeecg-boot/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/blTeacherInfo/entity/BlTeacherInfo.java index 5a17fe4..fa1423a 100644 --- a/jeecg-boot/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/blTeacherInfo/entity/BlTeacherInfo.java +++ b/jeecg-boot/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/blTeacherInfo/entity/BlTeacherInfo.java @@ -81,5 +81,9 @@ public class BlTeacherInfo implements Serializable { @ApiModelProperty(value = "最小样有效本数") private Integer minNum; + /**附件*/ + @Excel(name = "附件", width = 15) + @ApiModelProperty(value = "附件") + private java.lang.String filePath; } diff --git a/jeecg-boot/jeecg-module-system/jeecg-system-start/src/main/resources/application-prod.yml b/jeecg-boot/jeecg-module-system/jeecg-system-start/src/main/resources/application-prod.yml index 509f421..4063a5f 100644 --- a/jeecg-boot/jeecg-module-system/jeecg-system-start/src/main/resources/application-prod.yml +++ b/jeecg-boot/jeecg-module-system/jeecg-system-start/src/main/resources/application-prod.yml @@ -307,6 +307,11 @@ justauth: type: default prefix: 'demo::' timeout: 1h + +# libreOffice5 +libreOffice: + url: 127.0.0.1 + port: 8100 # 浏览器调用 webDriver: driverName: webdriver.chrome.driver diff --git a/jeecgboot-vue3/.env.development b/jeecgboot-vue3/.env.development index 8467a92..2363acc 100644 --- a/jeecgboot-vue3/.env.development +++ b/jeecgboot-vue3/.env.development @@ -6,10 +6,10 @@ VITE_PUBLIC_PATH = / # 跨域代理,您可以配置多个 ,请注意,没有换行符 -VITE_PROXY = [["/jeecgboot","http://localhost:8080/jeecg-boot"],["/upload","http://localhost:3300/upload"]] +VITE_PROXY = [["/jeecgboot","http://localhost:8083/jeecg-boot"],["/upload","http://localhost:3300/upload"]] #后台接口全路径地址(必填) -VITE_GLOB_DOMAIN_URL=http://localhost:8080/jeecg-boot +VITE_GLOB_DOMAIN_URL=http://localhost:8083/jeecg-boot #后台接口父地址(必填) VITE_GLOB_API_URL=/jeecgboot diff --git a/jeecgboot-vue3/src/views/bl/blTeacherInfo/BlTeacherInfo.data.ts b/jeecgboot-vue3/src/views/bl/blTeacherInfo/BlTeacherInfo.data.ts index 2b4b030..a76e8e0 100644 --- a/jeecgboot-vue3/src/views/bl/blTeacherInfo/BlTeacherInfo.data.ts +++ b/jeecgboot-vue3/src/views/bl/blTeacherInfo/BlTeacherInfo.data.ts @@ -40,11 +40,19 @@ export const columns: BasicColumn[] = [ dataIndex: 'minNum' }, { - title: '导入', + title: '是否生成报告', align: "center", - dataIndex: 'dysd', - slots: { customRender: 'importXlsBtn' }, + dataIndex: 'filePath', + customRender: (text) => { + return text ? '是' : '否' + } }, + // { + // title: '导入', + // align: "center", + // dataIndex: 'dysd', + // slots: { customRender: 'importXlsBtn' }, + // }, ]; //查询数据 diff --git a/jeecgboot-vue3/src/views/bl/blTeacherInfo/BlTeacherInfoList.vue b/jeecgboot-vue3/src/views/bl/blTeacherInfo/BlTeacherInfoList.vue index f30c560..a1fed47 100644 --- a/jeecgboot-vue3/src/views/bl/blTeacherInfo/BlTeacherInfoList.vue +++ b/jeecgboot-vue3/src/views/bl/blTeacherInfo/BlTeacherInfoList.vue @@ -24,8 +24,9 @@ @@ -40,6 +41,7 @@ + @@ -51,6 +53,7 @@ import { list, deleteOne, batchDelete, getImportUrl, getExportUrl } from './BlTeacherInfo.api'; import { downloadFile } from '/@/utils/common/renderUtils'; import BlTeacherInfoModal from './components/BlTeacherInfoModal.vue' + import BlTeacherInfoV2Modal from './components/BlTeacherInfoV2Modal.vue' import { useUserStore } from '/@/store/modules/user'; import { useMethods } from '/@/hooks/system/useMethods'; import { useMessage } from '/@/hooks/web/useMessage'; @@ -64,6 +67,7 @@ const $message = useMessage(); const queryParam = reactive({}); const toggleSearchStatus = ref(false); const registerModal = ref(); + const registerV2Modal = ref(); const userStore = useUserStore(); //注册table数据 const { prefixCls, tableContext, onExportXls, onImportXls } = useListPage({ @@ -123,6 +127,11 @@ const $message = useMessage(); registerModal.value.disableSubmit = false; registerModal.value.add(); } + + function handleV2Add(){ + registerV2Modal.value.disableSubmit = true; + registerV2Modal.value.add(); + } /** * 编辑事件 @@ -202,18 +211,19 @@ const $message = useMessage(); */ function getTableAction(record) { return [ + // { + // label: '编辑', + // onClick: handleEdit.bind(null, record), + // }, { - label: '编辑', - onClick: handleEdit.bind(null, record), + label: '下载报告', + onClick: downloadFile.bind(null, record.filePath), }, + // { + // label: '详情', + // onClick: handleDetail.bind(null, record), + // }, { - label: '报表', - onClick: handleTjfx.bind(null, record), - }, - { - label: '详情', - onClick: handleDetail.bind(null, record), - }, { label: '删除', popConfirm: { title: '是否确认删除', diff --git a/jeecgboot-vue3/src/views/bl/blTeacherInfo/components/BlTeacherInfoForm.vue b/jeecgboot-vue3/src/views/bl/blTeacherInfo/components/BlTeacherInfoForm.vue index cb1dd33..8eb030d 100644 --- a/jeecgboot-vue3/src/views/bl/blTeacherInfo/components/BlTeacherInfoForm.vue +++ b/jeecgboot-vue3/src/views/bl/blTeacherInfo/components/BlTeacherInfoForm.vue @@ -148,10 +148,10 @@ await saveOrUpdate(model, isUpdate.value) .then((res) => { if (res.success) { - createMessage.success(res.message); + createMessage.success("操作成功"); emit('ok'); } else { - createMessage.warning(res.message); + createMessage.warning("操作失败"); } }) .finally(() => {