周计划预览

This commit is contained in:
paidaxing444 2020-08-31 15:29:17 +08:00
parent 1247162886
commit 43a31a538f
12 changed files with 394 additions and 73 deletions

View File

@ -52,7 +52,7 @@ export function exportActivity(query) {
}) })
} }
// 删除主题整合活动 // 查询主题整合活动
export function listActivityByThemeId(id) { export function listActivityByThemeId(id) {
return request({ return request({
url: '/benyi/activity/listbythemeid/' + id, url: '/benyi/activity/listbythemeid/' + id,

View File

@ -58,4 +58,20 @@ export function exportTheme(query) {
method: 'get', method: 'get',
params: query params: query
}) })
}
// 查询主题整合
export function listThemeByIds(id) {
return request({
url: '/benyi/theme/listthemebyid/' + id,
method: 'post'
})
}
// 查询主题整合
export function listThemeByActivityIds(id) {
return request({
url: '/benyi/theme/listthemebyactivityid/' + id,
method: 'post'
})
} }

View File

@ -14,7 +14,7 @@ NProgress.configure({
}) })
//const whiteList = ['/login', '/auth-redirect', '/bind', '/register'] //const whiteList = ['/login', '/auth-redirect', '/bind', '/register']
const whiteList = ['/login', '/experience/apply/', '/experience/result/', '/experience/content/', '/activity', 'week', 'month', ', term', 'play'] const whiteList = ['/login', '/experience/apply/', '/experience/result/', '/experience/content/', '/activity', 'week', 'month', 'term', 'play']
router.beforeEach((to, from, next) => { router.beforeEach((to, from, next) => {
NProgress.start() NProgress.start()

View File

@ -307,6 +307,21 @@ export const constantRoutes = [{
} }
}] }]
}, },
{
path: '/benyi_course/themeweekplanprint',
component: Layout,
hidden: true,
children: [{
path: 'table/:id',
component: () =>
import('@/views/benyi/themeweekplan/table'),
name: 'Themeweekplan2',
meta: {
title: '主题整合周计划(表格)',
icon: ''
}
}]
},
{ {
path: '/benyi_course/math', path: '/benyi_course/math',
component: Layout, component: Layout,

View File

@ -108,7 +108,7 @@
<el-table-column label="学年学期" align="center" prop="xnxq" :formatter="xnxqFormat" /> <el-table-column label="学年学期" align="center" prop="xnxq" :formatter="xnxqFormat" />
<el-table-column label="备注" align="center" prop="remark" /> <el-table-column label="备注" align="center" prop="remark" />
<el-table-column label="状态" align="center" prop="status" :formatter="statusFormat" /> <el-table-column label="状态" align="center" prop="status" :formatter="statusFormat" />
<el-table-column label="操作" align="center" class-name="small-padding fixed-width"> <el-table-column label="操作" align="center" class-name="small-padding fixed-width" width="300">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button <el-button
size="mini" size="mini"
@ -134,6 +134,14 @@
v-hasPermi="['benyi:themeweekplan:edit']" v-hasPermi="['benyi:themeweekplan:edit']"
v-show="isShow(scope.row)" v-show="isShow(scope.row)"
>提交</el-button> >提交</el-button>
<el-button
size="mini"
type="text"
icon="el-icon-view"
@click="handleView(scope.row)"
v-hasPermi="['benyi:themeweekplan:query']"
v-show="isShow(scope.row)"
>预览</el-button>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
@ -424,6 +432,13 @@ export default {
}) })
.catch(function () {}); .catch(function () {});
}, },
/** 预览按钮操作 */
handleView(row) {
const id = row.id;
this.$router.push({
path: "/benyi_course/themeweekplanprint/table/"+id,
});
},
}, },
}; };
</script> </script>

View File

@ -1,15 +1,35 @@
<template> <template>
<div class="table-container" ref="printMe"> <div class="table-container" ref="printMe">
<h2 class="title">主题整合课程周教学计划表</h2> <h2 class="title">{{title}}</h2>
<div class="table"> <div class="table">
<div class="print no-print"> <div class="print no-print">
<el-button type="primary" plain size="mini" icon="el-icon-printer" @click="prints"></el-button> <el-button type="primary" plain size="mini" icon="el-icon-printer" @click="prints"></el-button>
</div> </div>
<table> <table>
<tr class="align-center"> <tr class="align-center">
<td v-for="h in headerData" :key="h.title"> <!-- <td v-for="h in headerData" :key="h.title">
<b class="table-title">{{h.title}}</b> <b class="table-title">{{h.title}}</b>
{{h.name}} {{h.name}}
</td>-->
<td>
<b class="table-title">班级</b>
{{classname}}
</td>
<td>
<b class="table-title">月份</b>
{{month}}
</td>
<td>
<b class="table-title">周次</b>
{{zc}}
</td>
<td>
<b class="table-title">月主题</b>
{{monththeme}}
</td>
<td>
<b class="table-title">制表人</b>
{{tbr}}
</td> </td>
</tr> </tr>
<tr class="align-center table-bg"> <tr class="align-center table-bg">
@ -17,60 +37,62 @@
<b>{{h.label}}</b> <b>{{h.label}}</b>
</td> </td>
</tr> </tr>
<tr v-for="item in bodyData.data" :key="item.day"> <tr v-for="item in bodyData.weekplanitemList" :key="item.daytime">
<td v-if="item.theme" :rowspan="item.rowspan" class="align-center"> <td v-if="item.theme" :rowspan="bodyData.weekplanitemList.length" class="align-center">
<span>{{item.theme}}</span> <span>{{item.theme}}</span>
</td> </td>
<td class="align-center">{{item.day}}</td> <td class="align-center">{{item.daytime}} / 星期{{item.zhou}}</td>
<td>{{item.name}}</td> <td>{{themeactivityFormat(item.activityid)}}</td>
<td class="align-center">{{item.term}}</td> <td class="align-center">{{fzxzFormat(item.fzxz)}}</td>
<td v-if="item.help" :rowspan="item.rowspan">{{item.help}}</td> <td>{{item.jzzc}}</td>
</tr> </tr>
<tr> <tr>
<td class="align-center">备注</td> <td class="align-center">备注</td>
<td colspan="4"></td> <td colspan="4">{{bz}}</td>
</tr> </tr>
<tr> <tr>
<td class="align-center">主管审批</td> <td class="align-center">主管审批</td>
<td colspan="4"></td> <td colspan="4">{{spyj}}</td>
</tr> </tr>
</table> </table>
<p <!-- <p
class="warning" class="warning"
>此周计划表不需要发给家长只需上报教学主管制定班级一周教学与活动计划表请使用班级管理模块中教学与游戏活动周计划表以上报教学主管和作为周计划通知发给家长</p> >此周计划表不需要发给家长只需上报教学主管制定班级一周教学与活动计划表请使用班级管理模块中教学与游戏活动周计划表以上报教学主管和作为周计划通知发给家长</p>-->
</div> </div>
</div> </div>
</template> </template>
<script> <script>
import {
listWeekplanitem,
getWeekplanitem,
} from "@/api/benyi/themeweekplanitem";
import { listWeekplan, getWeekplan } from "@/api/benyi/themeweekplan";
import { listActivityByThemeId } from "@/api/benyi/activity";
import { listMonthplan } from "@/api/benyi/thememonthplan";
import { listMonthplanitem } from "@/api/benyi/thememonthplanitem";
import { listThemeByIds, listThemeByActivityIds } from "@/api/benyi/theme";
export default { export default {
name: "WeekTable", name: "WeekTable",
data() { data() {
return { return {
tableData: [], tableData: [],
headerData: [ title: "",
{ zc: "",
title: "班级:", month: "",
name: "多多班", classname: "",
}, tbr: "",
{ monththeme: "",
title: "月份:", bz: "",
name: "3月份", spyj: "",
}, //idtheme
{ themenamebyactivityids: "",
title: "周次:", //
name: "多多班", fzxzOptions: [],
}, //
{ themeactivityOptions: [],
title: "月主题:",
name: "多多班",
},
{
title: "制表人:",
name: "多多班",
},
],
bodyData: { bodyData: {
title: [ title: [
{ {
@ -78,7 +100,7 @@ export default {
prop: "theme", prop: "theme",
}, },
{ {
label: "", label: "日期 / 星期",
prop: "day", prop: "day",
}, },
{ {
@ -94,44 +116,199 @@ export default {
prop: "help", prop: "help",
}, },
], ],
data: [ weekplanitemList: [
{ {
theme: "春天的颜色", theme: "春天的颜色",
day: "周一",
name: "活动",
term: "同质",
help: "1,sdfsdf,2sdfsd,3问问",
rowspan: 5,
},
{
day: "周二",
name: "活动",
term: "同质",
},
{
day: "周三",
name: "活动",
term: "同质",
},
{
day: "周四",
name: "活动",
term: "同质",
},
{
day: "周五",
name: "活动",
term: "同质",
}, },
// {
// day: "",
// name: "",
// term: "",
// },
// {
// day: "",
// name: "",
// term: "",
// },
// {
// day: "",
// name: "",
// term: "",
// },
// {
// day: "",
// name: "",
// term: "",
// },
], ],
}, },
//
queryParams: {
wpid: undefined,
},
//
queryParams_MonPlan: {
xnxq: undefined,
month: undefined,
status: "2",
},
queryParams_MonPlanItem: {
mpid: undefined,
zc: undefined,
},
}; };
}, },
created() {}, created() {
const themeweekplanid = this.$route.params && this.$route.params.id;
this.getThemeWeekPlan(themeweekplanid);
this.getDicts("sys_dm_fzxz").then((response) => {
this.fzxzOptions = response.data;
});
},
methods: { methods: {
prints () { //
async themeFormat(themeids) {
var themename = "";
var ids = themeids.split(";");
var array = [];
//console.log(ids);
ids.forEach(function (value, key, arr) {
//console.log(value); // 123
if (value != "") {
array.push(parseInt(value));
}
});
if (array.length > 0) {
await listThemeByIds(array).then((response) => {
response.rows.forEach(function (value1, key1, arr1) {
themename = themename + value1.name + ";";
});
});
//(themename);
this.monththeme = themename;
}
},
// --
themeactivityFormat(activityid) {
if (activityid != null) {
var ilength = activityid.split(";").length - 1;
var names = "";
for (var i = 1; i < ilength; i++) {
names =
names +
this.selectMoeDictLabel(
this.themeactivityOptions,
activityid.split(";")[i]
) +
"";
}
//this.selectDictLabel(this.scopeOptions, row.xnxq);
return names;
}
return "";
},
// --
fzxzFormat(fzxz) {
return this.selectDictLabel(this.fzxzOptions, fzxz);
},
//
getThemeActivityList(themeid) {
listActivityByThemeId(themeid).then((response) => {
//console.log(response.rows);
this.themeactivityOptions = response.rows;
});
},
//
getThemeWeekPlan(themeweekplanid) {
getWeekplan(themeweekplanid).then((response) => {
//(response);
this.queryParams.wpid = response.data.id;
this.title = response.data.name;
this.zc = response.data.zc;
this.month = response.data.month;
this.classname = response.classname;
this.tbr = response.createusername;
this.bz = response.data.remark;
this.spyj = response.data.shyj;
//id
this.queryParams_MonPlan.month = response.data.month;
this.queryParams_MonPlan.xnxq = response.data.xnxq;
listMonthplan(this.queryParams_MonPlan).then((resMonPlan) => {
//console.log(resMonPlan.rows);
//
var monththemeids = resMonPlan.rows[0].themes;
this.themeFormat(monththemeids);
this.queryParams_MonPlanItem.mpid = resMonPlan.rows[0].id;
this.queryParams_MonPlanItem.zc = response.data.zc;
listMonthplanitem(this.queryParams_MonPlanItem).then(
(resMonPlanItem) => {
//console.log(resMonPlanItem.rows);
var activityids = resMonPlanItem.rows[0].activityid.split(";");
var array = [];
//console.log(arr);
activityids.forEach(function (value, key, arr) {
//console.log(value); // 123
if (value != "") {
array.push(parseInt(value));
}
});
this.getThemeActivityList(array);
}
);
});
this.getList();
});
},
/** 查询主题整合周计划明细列表 */
async getList() {
//console.log(this.queryParams.wpid);
await listWeekplanitem(this.queryParams).then((response) => {
this.bodyData.weekplanitemList = response.rows;
//id
var activityIds = "";
response.rows.forEach(function (value, key, arr) {
if (value.activityid != null) {
activityIds = activityIds + value.activityid + ";";
}
});
var array = [];
activityIds.split(";").forEach(function (value, key, arr) {
if (value != "") {
array.push(parseInt(value));
}
});
//id
this.getThemeByActivityIds(array);
});
},
//idtheme
async getThemeByActivityIds(array) {
if (array.length > 0) {
var themename = "";
await listThemeByActivityIds(array).then((response) => {
response.rows.forEach(function (value, key, arr) {
themename = themename + value.name + ";";
});
});
//console.log(themename);
this.themenamebyactivityids = themename;
}
this.bodyData.weekplanitemList[0].theme =
this.themenamebyactivityids == ""
? "未设置"
: this.themenamebyactivityids;
},
prints() {
//console.log(this.$refs.printMe);
this.$print(this.$refs.printMe); this.$print(this.$refs.printMe);
} },
}, },
}; };
</script> </script>
@ -188,9 +365,8 @@ export default {
} }
} }
/*去除页眉页脚*/ /*去除页眉页脚*/
@page{ @page {
size: auto; /* auto is the initial value */ size: auto; /* auto is the initial value */
margin: 3mm; /* this affects the margin in the printer settings */ margin: 3mm; /* this affects the margin in the printer settings */
} }
</style> </style>

View File

@ -103,4 +103,23 @@ public class ByThemeController extends BaseController {
public AjaxResult remove(@PathVariable Long[] ids) { public AjaxResult remove(@PathVariable Long[] ids) {
return toAjax(byThemeService.deleteByThemeByIds(ids)); return toAjax(byThemeService.deleteByThemeByIds(ids));
} }
/**
* 查询主题整合活动列表
*/
@PostMapping("/listthemebyid/{ids}")
public TableDataInfo listbythemeid(@PathVariable Long[] ids) {
List<ByTheme> list = byThemeService.selectByThemeByIds(ids);
return getDataTable(list);
}
/**
* 查询主题整合活动列表
*/
@PostMapping("/listthemebyactivityid/{ids}")
public TableDataInfo listthemebyactivityid(@PathVariable Long[] ids) {
List<ByTheme> list = byThemeService.selectByThemeByActivityIds(ids);
return getDataTable(list);
}
} }

View File

@ -14,6 +14,7 @@ import com.ruoyi.project.benyi.service.IByThemeMonthplanitemService;
import com.ruoyi.project.benyi.service.IByThemeWeekplanitemService; import com.ruoyi.project.benyi.service.IByThemeWeekplanitemService;
import com.ruoyi.project.common.SchoolCommon; import com.ruoyi.project.common.SchoolCommon;
import com.ruoyi.project.system.service.IByClassService; import com.ruoyi.project.system.service.IByClassService;
import com.ruoyi.project.system.service.ISysUserService;
import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.GetMapping;
@ -54,6 +55,9 @@ public class ByThemeWeekplanController extends BaseController {
private IByThemeMonthplanitemService byThemeonthplanitemService; private IByThemeMonthplanitemService byThemeonthplanitemService;
@Autowired @Autowired
private IByThemeWeekplanitemService byThemeWeekplanitemService; private IByThemeWeekplanitemService byThemeWeekplanitemService;
@Autowired
private ISysUserService userService;
/** /**
* 查询主题整合周计划根据月计划明细列表 * 查询主题整合周计划根据月计划明细列表
@ -93,7 +97,12 @@ public class ByThemeWeekplanController extends BaseController {
@PreAuthorize("@ss.hasPermi('benyi:themeweekplan:query')") @PreAuthorize("@ss.hasPermi('benyi:themeweekplan:query')")
@GetMapping(value = "/{id}") @GetMapping(value = "/{id}")
public AjaxResult getInfo(@PathVariable("id") String id) { public AjaxResult getInfo(@PathVariable("id") String id) {
return AjaxResult.success(byThemeWeekplanService.selectByThemeWeekplanById(id)); AjaxResult ajax=AjaxResult.success();
ByThemeWeekplan byThemeWeekplan=byThemeWeekplanService.selectByThemeWeekplanById(id);
ajax.put(AjaxResult.DATA_TAG, byThemeWeekplan);
ajax.put("classname",byClassService.selectByClassById(byThemeWeekplan.getClassid()).getBjmc());
ajax.put("createusername",userService.selectUserById(byThemeWeekplan.getCreateuserid()).getNickName());
return ajax;
} }
/** /**

View File

@ -66,4 +66,20 @@ public interface ByThemeMapper {
* @return 结果 * @return 结果
*/ */
public int deleteByThemeByIds(Long[] ids); public int deleteByThemeByIds(Long[] ids);
/**
* 查询主题整合列表
*
* @param ids 主题整合
* @return 主题整合集合
*/
public List<ByTheme> selectByThemeByIds(Long[] ids);
/**
* 查询主题整合列表
*
* @param ids 主题整合
* @return 主题整合集合
*/
public List<ByTheme> selectByThemeByActivityIds(Long[] ids);
} }

View File

@ -83,4 +83,20 @@ public interface IByThemeService {
* @return 结果 * @return 结果
*/ */
public int deleteByThemeById(Long id); public int deleteByThemeById(Long id);
/**
* 查询主题整合列表
*
* @param ids 主题整合
* @return 主题整合集合
*/
public List<ByTheme> selectByThemeByIds(Long[] ids);
/**
* 查询主题整合列表
*
* @param ids 主题整合
* @return 主题整合集合
*/
public List<ByTheme> selectByThemeByActivityIds(Long[] ids);
} }

View File

@ -185,4 +185,26 @@ public class ByThemeServiceImpl implements IByThemeService {
public int deleteByThemeById(Long id) { public int deleteByThemeById(Long id) {
return byThemeMapper.deleteByThemeById(id); return byThemeMapper.deleteByThemeById(id);
} }
/**
* 查询主题整合列表
*
* @param ids 主题整合
* @return 主题整合集合selectByThemeByIds
*/
@Override
public List<ByTheme> selectByThemeByIds(Long[] ids) {
return byThemeMapper.selectByThemeByIds(ids);
}
/**
* 查询主题整合列表
*
* @param ids 主题整合
* @return 主题整合集合
*/
@Override
public List<ByTheme> selectByThemeByActivityIds(Long[] ids) {
return byThemeMapper.selectByThemeByActivityIds(ids);
}
} }

View File

@ -92,11 +92,28 @@
delete from by_theme where id = #{id} delete from by_theme where id = #{id}
</delete> </delete>
<delete id="deleteByThemeByIds" parameterType="String"> <delete id="deleteByThemeByIds" parameterType="Long">
delete from by_theme where id in delete from by_theme where id in
<foreach item="id" collection="array" open="(" separator="," close=")"> <foreach item="id" collection="array" open="(" separator="," close=")">
#{id} #{id}
</foreach> </foreach>
</delete> </delete>
<select id="selectByThemeByIds" parameterType="Long" resultMap="ByThemeResult">
<include refid="selectByThemeVo"/>
where id in
<foreach item="id" collection="array" open="(" separator="," close=")">
#{id}
</foreach>
</select>
<select id="selectByThemeByActivityIds" parameterType="Long" resultMap="ByThemeResult">
select * from by_theme where id in (
select themeid from by_theme_activity where id in
<foreach item="id" collection="array" open="(" separator="," close=")">
#{id}
</foreach>
)
</select>
</mapper> </mapper>