1、周计划详情打印 2、微型课程复制
This commit is contained in:
parent
284602e4ac
commit
bb7b155dbe
@ -313,6 +313,22 @@ export const constantRoutes = [
|
|||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
path: "/benyi_course/weekplan",
|
||||||
|
component: Layout,
|
||||||
|
hidden: true,
|
||||||
|
children: [
|
||||||
|
{
|
||||||
|
path: "themestudy/:id(\\d+)/:wid(\\d+)",
|
||||||
|
component: () => import("@/views/benyi/themestudy_weekplan"),
|
||||||
|
name: "Theme3",
|
||||||
|
meta: {
|
||||||
|
title: "主题整合周计划详情",
|
||||||
|
icon: ""
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
{
|
{
|
||||||
path: "/benyi_course/mathtermplan",
|
path: "/benyi_course/mathtermplan",
|
||||||
component: Layout,
|
component: Layout,
|
||||||
@ -480,7 +496,8 @@ export const constantRoutes = [
|
|||||||
children: [
|
children: [
|
||||||
{
|
{
|
||||||
path: "approval/:id",
|
path: "approval/:id",
|
||||||
component: () => import("@/views/benyi/thememonthplanapproval/approval"),
|
component: () =>
|
||||||
|
import("@/views/benyi/thememonthplanapproval/approval"),
|
||||||
name: "ThememonthplanApproval",
|
name: "ThememonthplanApproval",
|
||||||
meta: {
|
meta: {
|
||||||
title: "主题整合月计划审批",
|
title: "主题整合月计划审批",
|
||||||
|
@ -58,8 +58,6 @@
|
|||||||
|
|
||||||
<script>
|
<script>
|
||||||
import { treeselect, getMicrocourse } from "@/api/benyi/microcourse";
|
import { treeselect, getMicrocourse } from "@/api/benyi/microcourse";
|
||||||
// 点击复制
|
|
||||||
import Clipboard from "clipboard";
|
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: "Microcoursestudy",
|
name: "Microcoursestudy",
|
||||||
|
349
ruoyi-ui/src/views/benyi/themestudy_weekplan/index.vue
Normal file
349
ruoyi-ui/src/views/benyi/themestudy_weekplan/index.vue
Normal file
@ -0,0 +1,349 @@
|
|||||||
|
<template>
|
||||||
|
<div class="app-container">
|
||||||
|
<el-row :gutter="24">
|
||||||
|
<el-col :span="24" :xs="24">
|
||||||
|
<el-card class="box-card">
|
||||||
|
<div slot="header" class="clearfix">
|
||||||
|
<span class="box-card-title">{{ title }}</span>
|
||||||
|
</div>
|
||||||
|
<div class="text item" v-show="title3">
|
||||||
|
<el-button
|
||||||
|
type="primary"
|
||||||
|
plain
|
||||||
|
size="mini"
|
||||||
|
icon="el-icon-printer"
|
||||||
|
v-show="enable"
|
||||||
|
style="float: right"
|
||||||
|
@click="prints"
|
||||||
|
>打印</el-button
|
||||||
|
>
|
||||||
|
<h3 class="box-card-title">{{ title3 }}</h3>
|
||||||
|
|
||||||
|
<div class="pad-left" ref="printMe">
|
||||||
|
<h2 class="title">{{ title4 }}</h2>
|
||||||
|
<table>
|
||||||
|
<tr class="align-center">
|
||||||
|
<!-- <td v-for="h in headerData" :key="h.title">
|
||||||
|
<b class="table-title">{{h.title}}</b>
|
||||||
|
{{h.name}}
|
||||||
|
</td>-->
|
||||||
|
<td style="width: 25%">
|
||||||
|
<b class="table-title">班级:{{ bjmc }}</b>
|
||||||
|
</td>
|
||||||
|
<td style="width: 25%">
|
||||||
|
<b class="table-title">制表人:{{ zbr }}</b>
|
||||||
|
</td>
|
||||||
|
<td style="width: 50%">
|
||||||
|
<b class="table-title">日期:{{ time }}</b>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td colspan="3">
|
||||||
|
<div
|
||||||
|
v-for="(item, index) in activityList"
|
||||||
|
:key="index"
|
||||||
|
class="text item"
|
||||||
|
>
|
||||||
|
<h3 class="box-card-case mr">
|
||||||
|
{{ item.name }}
|
||||||
|
</h3>
|
||||||
|
<h3 class="box-card-info">
|
||||||
|
活动形式:{{ fieldFormat(item) }}
|
||||||
|
</h3>
|
||||||
|
<h3 class="box-card-info">
|
||||||
|
重点领域:{{ typeFormat(item) }}
|
||||||
|
</h3>
|
||||||
|
<h3 class="box-card-info">活动目标</h3>
|
||||||
|
<div
|
||||||
|
class="text item pad-left"
|
||||||
|
v-html="item.target"
|
||||||
|
></div>
|
||||||
|
<h3 class="box-card-info">活动材料</h3>
|
||||||
|
<div class="text item pad-left" v-html="item.data"></div>
|
||||||
|
<h3 class="box-card-info">活动过程</h3>
|
||||||
|
<div
|
||||||
|
class="text item pad-left"
|
||||||
|
v-html="item.process"
|
||||||
|
></div>
|
||||||
|
<h3 class="box-card-info">活动建议</h3>
|
||||||
|
<div
|
||||||
|
class="text item pad-left"
|
||||||
|
v-html="item.proposal"
|
||||||
|
></div>
|
||||||
|
<h3 class="box-card-info">活动反思</h3>
|
||||||
|
<div
|
||||||
|
class="text item pad-left"
|
||||||
|
v-html="item.reflect"
|
||||||
|
></div>
|
||||||
|
<h3 class="box-card-info" v-show="item.appendix">附录</h3>
|
||||||
|
<div
|
||||||
|
class="text item pad-left"
|
||||||
|
v-html="item.appendix"
|
||||||
|
></div>
|
||||||
|
</div>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td colspan="3" class="table-title">家长支持:{{ jzzc }}</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</el-card>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import { getTheme } from "@/api/benyi/theme";
|
||||||
|
import { listActivity } from "@/api/benyi/activity";
|
||||||
|
import { getWeekplanitem } from "@/api/benyi/themeweekplanitem";
|
||||||
|
|
||||||
|
import { listWeekplan, getWeekplan } from "@/api/benyi/themeweekplan";
|
||||||
|
|
||||||
|
export default {
|
||||||
|
name: "Theme3",
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
//打印是否显示
|
||||||
|
enable: true,
|
||||||
|
// 主题整合名称
|
||||||
|
name: undefined,
|
||||||
|
// 主题整合id
|
||||||
|
id: undefined,
|
||||||
|
wid: "",
|
||||||
|
time: null,
|
||||||
|
bjmc: null,
|
||||||
|
zbr: null,
|
||||||
|
title4: null,
|
||||||
|
jzzc: null,
|
||||||
|
//标题
|
||||||
|
title: "",
|
||||||
|
title1: "",
|
||||||
|
title2: "",
|
||||||
|
//活动方案
|
||||||
|
title3: "",
|
||||||
|
// 主题整合活动表格数据
|
||||||
|
activityList: [],
|
||||||
|
//家园沟通
|
||||||
|
communicate: "",
|
||||||
|
//活动形式
|
||||||
|
typeOptions: [],
|
||||||
|
//活动领域
|
||||||
|
fieldOptions: [],
|
||||||
|
//目的
|
||||||
|
note: "",
|
||||||
|
// 树状显示类型
|
||||||
|
treeOptions: [],
|
||||||
|
// 树结构
|
||||||
|
defaultProps: {
|
||||||
|
children: "children",
|
||||||
|
label: "label",
|
||||||
|
},
|
||||||
|
// 查询参数
|
||||||
|
queryParams: {
|
||||||
|
id: undefined,
|
||||||
|
themeid: undefined,
|
||||||
|
},
|
||||||
|
};
|
||||||
|
},
|
||||||
|
watch: {
|
||||||
|
// 根据名称筛选部门树
|
||||||
|
name(val) {
|
||||||
|
this.$refs.tree.filter(val);
|
||||||
|
},
|
||||||
|
},
|
||||||
|
created() {
|
||||||
|
const tremThemeId = this.$route.params && this.$route.params.id;
|
||||||
|
this.wid = this.$route.params.wid;
|
||||||
|
if (tremThemeId != null) {
|
||||||
|
this.handleNodeUrl(tremThemeId);
|
||||||
|
}
|
||||||
|
if (this.wid != "") {
|
||||||
|
this.getThemeWeekPlanItem();
|
||||||
|
}
|
||||||
|
this.getDicts("sys_theme_type").then((response) => {
|
||||||
|
this.typeOptions = response.data;
|
||||||
|
});
|
||||||
|
this.getDicts("sys_theme_field").then((response) => {
|
||||||
|
this.fieldOptions = response.data;
|
||||||
|
});
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
getThemeWeekPlanItem() {
|
||||||
|
getWeekplanitem(this.wid).then((response) => {
|
||||||
|
this.time = response.data.daytime;
|
||||||
|
this.jzzc = response.data.jzzc;
|
||||||
|
|
||||||
|
getWeekplan(response.data.wpid).then((res) => {
|
||||||
|
this.title4 = res.data.name;
|
||||||
|
this.bjmc = res.classname;
|
||||||
|
this.zbr = res.createusername;
|
||||||
|
});
|
||||||
|
});
|
||||||
|
},
|
||||||
|
// 活动领域类型--字典状态字典翻译
|
||||||
|
fieldFormat(row) {
|
||||||
|
//alert(row.scope.split(';').length);
|
||||||
|
var ilength = row.field.split(";").length;
|
||||||
|
var names = "";
|
||||||
|
for (var i = 0; i < ilength; i++) {
|
||||||
|
names =
|
||||||
|
names +
|
||||||
|
this.selectDictLabel(this.fieldOptions, row.field.split(";")[i]) +
|
||||||
|
";";
|
||||||
|
}
|
||||||
|
//this.selectDictLabel(this.scopeOptions, row.xnxq);
|
||||||
|
return names;
|
||||||
|
},
|
||||||
|
// 活动形式类型--字典状态字典翻译
|
||||||
|
typeFormat(row) {
|
||||||
|
//alert(row.scope.split(';').length);
|
||||||
|
var ilength = row.type.split(";").length;
|
||||||
|
var names = "";
|
||||||
|
for (var i = 0; i < ilength; i++) {
|
||||||
|
names =
|
||||||
|
names +
|
||||||
|
this.selectDictLabel(this.typeOptions, row.type.split(";")[i]) +
|
||||||
|
";";
|
||||||
|
}
|
||||||
|
//this.selectDictLabel(this.scopeOptions, row.xnxq);
|
||||||
|
return names;
|
||||||
|
},
|
||||||
|
// 筛选节点
|
||||||
|
filterNode(value, data) {
|
||||||
|
if (!value) return true;
|
||||||
|
return data.label.indexOf(value) !== -1;
|
||||||
|
},
|
||||||
|
// 节点单击事件
|
||||||
|
handleNodeClick(data) {
|
||||||
|
this.id = data.id;
|
||||||
|
this.enable = false;
|
||||||
|
//console.log(data.id);
|
||||||
|
if (data.id >= 9999 && data.id < 99999) {
|
||||||
|
} else if (data.id >= 99999) {
|
||||||
|
} else {
|
||||||
|
this.title = data.label;
|
||||||
|
this.getThemeDetail();
|
||||||
|
this.enable = true;
|
||||||
|
//console.log("最后节点");
|
||||||
|
}
|
||||||
|
},
|
||||||
|
// 节点单击事件
|
||||||
|
handleNodeUrl(tid) {
|
||||||
|
this.id = tid;
|
||||||
|
//console.log(data.id);
|
||||||
|
if (tid >= 9999 && tid < 99999) {
|
||||||
|
} else if (tid >= 99999) {
|
||||||
|
} else {
|
||||||
|
//this.title = data.label;
|
||||||
|
this.getThemeDetail();
|
||||||
|
//console.log("最后节点");
|
||||||
|
}
|
||||||
|
// console.log(this.dayflowtaskList[date.id])
|
||||||
|
// this.getStandardList();
|
||||||
|
},
|
||||||
|
getThemeDetail() {
|
||||||
|
this.title3 = "活动方案";
|
||||||
|
this.queryParams.id = this.id;
|
||||||
|
this.queryParams.themeid = "";
|
||||||
|
//console.log(this.id);
|
||||||
|
listActivity(this.queryParams).then((req) => {
|
||||||
|
this.title = req.rows[0].name;
|
||||||
|
//console.log(req);
|
||||||
|
if (req.code == "200") {
|
||||||
|
this.activityList = req.rows;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
},
|
||||||
|
//打印
|
||||||
|
prints() {
|
||||||
|
//console.log(this.$refs.printMe);
|
||||||
|
this.$print(this.$refs.printMe);
|
||||||
|
},
|
||||||
|
},
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
<style lang="scss" scoped>
|
||||||
|
.text {
|
||||||
|
font-size: 14px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.item {
|
||||||
|
margin-bottom: 18px;
|
||||||
|
line-height: 22px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.clearfix:before,
|
||||||
|
.clearfix:after {
|
||||||
|
display: table;
|
||||||
|
content: "";
|
||||||
|
}
|
||||||
|
.clearfix:after {
|
||||||
|
clear: both;
|
||||||
|
}
|
||||||
|
.box-card-title {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
font-size: 16px;
|
||||||
|
&::before {
|
||||||
|
content: "";
|
||||||
|
margin-right: 8px;
|
||||||
|
width: 4px;
|
||||||
|
height: 16px;
|
||||||
|
background: #1890ff;
|
||||||
|
}
|
||||||
|
&.mr {
|
||||||
|
margin: 10px 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.box-card-case {
|
||||||
|
margin: 0;
|
||||||
|
font-size: 14px;
|
||||||
|
font-weight: 700;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
&::before {
|
||||||
|
content: "";
|
||||||
|
margin-right: 8px;
|
||||||
|
width: 4px;
|
||||||
|
height: 14px;
|
||||||
|
background: #2c3e50;
|
||||||
|
}
|
||||||
|
&.mr {
|
||||||
|
margin: 10px 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.box-card-info {
|
||||||
|
font-size: 14px;
|
||||||
|
font-weight: 700;
|
||||||
|
}
|
||||||
|
.pad-left {
|
||||||
|
padding-left: 15px;
|
||||||
|
}
|
||||||
|
// 禁止复制
|
||||||
|
div {
|
||||||
|
-webkit-touch-callout: none;
|
||||||
|
-webkit-user-select: none;
|
||||||
|
-khtml-user-select: none;
|
||||||
|
-moz-user-select: none;
|
||||||
|
-ms-user-select: none;
|
||||||
|
user-select: none;
|
||||||
|
}
|
||||||
|
table {
|
||||||
|
width: 100%;
|
||||||
|
border-collapse: collapse;
|
||||||
|
}
|
||||||
|
table td {
|
||||||
|
border: #ccc solid 1px;
|
||||||
|
line-height: 24px;
|
||||||
|
padding: 8px 5px;
|
||||||
|
}
|
||||||
|
.title {
|
||||||
|
margin: 0;
|
||||||
|
font-size: 18px;
|
||||||
|
text-align: center;
|
||||||
|
padding: 15px 0;
|
||||||
|
}
|
||||||
|
</style>
|
@ -58,9 +58,9 @@
|
|||||||
<!-- {{ themeactivityFormat(item.activityid) }} -->
|
<!-- {{ themeactivityFormat(item.activityid) }} -->
|
||||||
<router-link
|
<router-link
|
||||||
style="margin: 5px; color: blue; text-decoration: underline"
|
style="margin: 5px; color: blue; text-decoration: underline"
|
||||||
v-for="(index, item) in item.activityid.split(';')"
|
v-for="(index, item1) in item.activityid.split(';')"
|
||||||
:key="item"
|
:key="item1"
|
||||||
:to="url + index"
|
:to="url + index + '/' + item.id"
|
||||||
>{{ themeactivityFormat(index) }}</router-link
|
>{{ themeactivityFormat(index) }}</router-link
|
||||||
>
|
>
|
||||||
</td>
|
</td>
|
||||||
@ -102,7 +102,7 @@ export default {
|
|||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
//url
|
//url
|
||||||
url: "/benyi_course/tremplan/themestudy/",
|
url: "/benyi_course/weekplan/themestudy/",
|
||||||
tableData: [],
|
tableData: [],
|
||||||
title: "",
|
title: "",
|
||||||
zc: "",
|
zc: "",
|
||||||
@ -287,6 +287,7 @@ export default {
|
|||||||
async getList() {
|
async getList() {
|
||||||
//console.log(this.queryParams.wpid);
|
//console.log(this.queryParams.wpid);
|
||||||
await listWeekplanitem(this.queryParams).then((response) => {
|
await listWeekplanitem(this.queryParams).then((response) => {
|
||||||
|
//console.log(response.rows);
|
||||||
this.bodyData.weekplanitemList = response.rows;
|
this.bodyData.weekplanitemList = response.rows;
|
||||||
|
|
||||||
//获取所有的活动id
|
//获取所有的活动id
|
||||||
|
Loading…
x
Reference in New Issue
Block a user