This commit is contained in:
wangxinbo
2021-09-25 19:25:18 +08:00
41 changed files with 1045 additions and 275 deletions

View File

@ -77,14 +77,12 @@
<el-table-column
label="班级名称"
align="center"
prop="classid"
:formatter="classFormat"
prop="byClass.bjmc"
/>
<el-table-column
label="评估对象"
align="center"
prop="pgdx"
:formatter="pgdxFormat"
prop="pgdxxm"
/>
<el-table-column label="最终扣分" align="center" prop="zzdf" />
<el-table-column
@ -226,18 +224,6 @@ export default {
this.classOptions = response.rows;
});
},
// 班级字典翻译
classFormat(row, column) {
var actions = [];
var datas = this.classOptions;
Object.keys(datas).map((key) => {
if (datas[key].bjbh == "" + row.classid) {
actions.push(datas[key].bjmc);
return false;
}
});
return actions.join("");
},
// 学年学期类型--字典状态字典翻译
xnxqFormat(row, column) {
return this.selectDictLabel(this.xnxqOptions, row.xnxq);
@ -249,18 +235,6 @@ export default {
});
},
// 教师字典翻译
pgdxFormat(row, column) {
var actions = [];
var datas = this.userOptions;
Object.keys(datas).map((key) => {
if (datas[key].userId == "" + row.pgdx) {
actions.push(datas[key].nickName);
return false;
}
});
return actions.join("");
},
// 教师字典翻译
createUserFormat(row, column) {
var actions = [];
var datas = this.userOptions;

View File

@ -359,7 +359,7 @@ import { getUserProfile } from "@/api/system/user";
import Clipboard from "clipboard";
export default {
name: "Experience",
name: "Experience1",
data() {
return {
inviteCode: "",

View File

@ -59,13 +59,20 @@
label="操作"
align="center"
fixed="right"
class-name="small-padding fixed-width edit-btns"
class-name="small-padding fixed-width"
>
<template slot-scope="scope">
<el-button
size="mini"
type="text"
icon="el-icon-down"
icon="el-icon-view"
@click="handleView(scope.row)"
>预览</el-button
>
<el-button
size="mini"
type="text"
icon="el-icon-download"
@click="handleDown(scope.row)"
>下载</el-button
>
@ -177,10 +184,21 @@ export default {
this.resetForm("queryForm");
this.handleQuery();
},
//下载
handleDown(row) {
var url = row.fileurl;
window.open(this.apiurl + url);
},
//预览
handleView(row) {
var url = row.fileurl;
window.open(
"https://view.officeapps.live.com/op/view.aspx?src=http://system.benyiedu.com" +
this.apiurl +
url,
"_blank"
);
},
},
};
</script>
@ -188,12 +206,6 @@ export default {
.el-select {
width: 100%;
}
.edit-btns {
.el-button {
display: block;
margin: 0 auto;
}
}
.no-margin ::v-deep.el-form-item__content {
margin: 0 !important;
}

View File

@ -36,11 +36,19 @@
size="mini"
icon="el-icon-printer"
@click="prints"
v-show="enable"
>打印</el-button
>
<div class="pad-left" ref="printMe">
<div v-html="note"></div>
</div>
<el-button
type="primary"
plain
size="mini"
icon="el-icon-document-copy"
@click="copy(note)"
v-show="enable"
>复制</el-button
>
<div class="pad-left" v-html="note" ref="printMe"></div>
</div>
</el-card>
</el-col>
@ -55,6 +63,7 @@ export default {
name: "Microcoursestudy",
data() {
return {
enable: false,
// 主题整合名称
name: undefined,
// 主题整合id
@ -109,6 +118,7 @@ export default {
},
getMicrocourseDetails() {
getMicrocourse(this.id).then((response) => {
this.enable = true;
this.title1 = response.data.title;
this.note = response.data.contents;
});
@ -118,6 +128,32 @@ export default {
//console.log(this.$refs.printMe);
this.$print(this.$refs.printMe);
},
copy(data) {
let url = this.filter(data);
let oInput = document.createElement("input");
oInput.value = url;
document.body.appendChild(oInput);
oInput.select(); // 选择对象;
//console.log(oInput.value);
document.execCommand("Copy"); // 执行浏览器复制命令
this.$message({
message: "复制成功",
type: "success",
});
oInput.remove();
},
//过滤html标签
filter: function (html) {
return html
.replace(/<(?:.|\n)*?>/gm, "")
.replace(/(&rdquo;)/g, '"')
.replace(/&ldquo;/g, '"')
.replace(/&mdash;/g, "-")
.replace(/&nbsp;/g, "")
.replace(/&gt;/g, ">")
.replace(/&lt;/g, "<")
.replace(/<[\w\s"':=\/]*/, "");
},
},
};
</script>
@ -165,20 +201,25 @@ export default {
line-height: 40px;
}
// 禁止复制
div {
-webkit-touch-callout: none;
-webkit-user-select: none;
-khtml-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
// div {
// -webkit-touch-callout: none;
// -webkit-user-select: none;
// -khtml-user-select: none;
// -moz-user-select: none;
// -ms-user-select: none;
// user-select: none;
// }
.el-tree {
min-width: 100%;
display: inline-block;
}
.tree {
<<<<<<< HEAD
overflow:auto;
height: calc(100% - 52px);
=======
overflow: auto;
max-height: 600px;
>>>>>>> master
}
</style>

View File

@ -43,20 +43,20 @@
<td>健康</td>
<td class="align-left" v-html="jk" colspan="5"></td>
</tr>
<tr class="align-center">
<td>语言</td>
<tr>
<td class="align-center">语言</td>
<td lass="align-left" v-html="yy" colspan="5"></td>
</tr>
<tr class="align-center">
<td>社会</td>
<tr>
<td class="align-center">社会</td>
<td lass="align-left" v-html="sh" colspan="5"></td>
</tr>
<tr class="align-center">
<td>科学</td>
<tr>
<td class="align-center">科学</td>
<td lass="align-left" v-html="kx" colspan="5"></td>
</tr>
<tr class="align-center">
<td>艺术</td>
<tr>
<td class="align-center">艺术</td>
<td lass="align-left" v-html="ys" colspan="5"></td>
</tr>

View File

@ -46,6 +46,8 @@
<el-table-column label="伙食费(小班)/天" align="center" prop="hsfX" />
<el-table-column label="保育费(托班)/月" align="center" prop="byfT" />
<el-table-column label="伙食费(托班)/天" align="center" prop="hsfT" />
<el-table-column label="开始时间" align="center" prop="startTime" />
<el-table-column label="截止时间" align="center" prop="endtime" />
<el-table-column
label="操作"
align="center"
@ -141,6 +143,18 @@
placeholder="请输入伙食费"
/>
</el-form-item>
<el-form-item label="起止时间" prop="startTime">
<el-date-picker
clearable
class="my-date-picker"
v-model="form.startTime"
type="daterange"
value-format="yyyy-MM-dd"
range-separator="-"
start-placeholder="开始日期"
end-placeholder="结束日期"
></el-date-picker>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm"> </el-button>
@ -191,7 +205,11 @@ export default {
// 表单参数
form: {},
// 表单校验
rules: {},
rules: {
startTime: [
{ required: true, message: "起止时间不能为空", trigger: "blur" },
],
},
};
},
created() {
@ -227,6 +245,8 @@ export default {
hsfT: undefined,
createUserid: undefined,
createTime: undefined,
startTime: undefined,
endtime: undefined,
};
this.resetForm("form");
},
@ -244,8 +264,16 @@ export default {
this.title = "添加园所收费标准";
} else {
const id = row.id || this.ids;
var myArray = new Array(2);
getSchoolcharge(id).then((response) => {
this.form = response.data;
//console.log(response.data);
if (response.data.endtime != null) {
myArray[0] = response.data.startTime;
myArray[1] = response.data.endtime;
this.form.startTime = myArray;
}
this.open = true;
this.title = "设置园所收费标准";
});
@ -255,6 +283,10 @@ export default {
submitForm: function () {
this.$refs["form"].validate((valid) => {
if (valid) {
var v1 = this.form.startTime[0];
var v2 = this.form.startTime[1];
this.form.startTime = v1;
this.form.endtime = v2;
if (this.form.id != undefined) {
updateSchoolcharge(this.form).then((response) => {
if (response.code === 200) {
@ -302,4 +334,8 @@ export default {
margin: 0 auto;
}
}
.my-date-picker {
width: 100%;
}
</style>

View File

@ -109,13 +109,7 @@
>
<el-table-column type="selection" width="55" align="center" />
<!-- <el-table-column label="编号" align="center" prop="id" /> -->
<el-table-column
label="班级"
align="center"
prop="classid"
:formatter="classFormat"
fixed
/>
<el-table-column label="班级" align="center" prop="byClass.bjmc" fixed />
<el-table-column
label="教师"
align="center"
@ -367,7 +361,28 @@ export default {
//console.log(val);
this.queryParams_pg.pgdx = val;
this.dateRange[0] = this.month + "-01";
this.dateRange[1] = this.month + "-31";
var y = this.month.split("-")[0];
var m = this.month.split("-")[1];
if (
m == "01" ||
m == "03" ||
m == "05" ||
m == "07" ||
m == "08" ||
m == "10" ||
m == "12"
) {
this.dateRange[1] = this.month + "-31";
} else if (m == "04" || m == "06" || m == "09" || m == "11") {
this.dateRange[1] = this.month + "-30";
}else{
if(y % 4 == 0 && y % 100 !== 0 || y % 400 == 0){
this.dateRange[1] = this.month + "-29";
}else{
this.dateRange[1] = this.month + "-28";
}
}
//console.log(this.dateRange);
listDayflowassessmentbyJsid(
this.addDateRange(this.queryParams_pg, this.dateRange)
@ -387,6 +402,7 @@ export default {
getList() {
this.loading = true;
listTeacherassessment(this.queryParams).then((response) => {
//console.log(response.rows);
this.teacherassessmentList = response.rows;
this.total = response.total;
this.loading = false;
@ -408,19 +424,6 @@ export default {
this.userOptions = response.rows;
});
},
// 字典翻译
classFormat(row, column) {
// return this.selectDictLabel(this.classOptions, row.classid);
var actions = [];
var datas = this.classOptions;
Object.keys(datas).map((key) => {
if (datas[key].bjbh == "" + row.classid) {
actions.push(datas[key].bjmc);
return false;
}
});
return actions.join("");
},
userFormat(row, column) {
var actions = [];
var datas = this.userOptions;

View File

@ -466,19 +466,25 @@ export default {
this.open = true;
this.title = "填充主题整合周计划明细";
let arrTime = [];
arrTime.push(response.data.starttime);
arrTime.push(response.data.endtime);
if (response.data.starttime == null) {
} else {
arrTime.push(response.data.starttime);
arrTime.push(response.data.endtime);
}
this.form.starttime = arrTime;
var activityid = response.data.activityid.split(";");
var array = [];
//console.log(arr);
activityid.forEach(function (value, key, arr) {
//console.log(value); // 结果依次为123
if (value != "") {
array.push(parseInt(value));
}
});
this.themeactivityList = array;
if (activityid == null) {
} else {
var activityid = response.data.activityid.split(";");
var array = [];
//console.log(arr);
activityid.forEach(function (value, key, arr) {
//console.log(value); // 结果依次为123
if (value != "") {
array.push(parseInt(value));
}
});
this.themeactivityList = array;
}
});
},
/** 提交按钮 */

View File

@ -45,7 +45,7 @@
</el-col>
<el-col :xs="24" :ms="12" :md="5">
<el-form-item label="主题内容" prop="themes">
<el-select v-model="queryParams.themes" size="small">
<el-select v-model="queryParams.themes" filterable size="small">
<el-option
v-for="item in themeOptions"
:key="item.id"

View File

@ -45,7 +45,7 @@
</el-col>
<el-col :xs="24" :ms="12" :md="5">
<el-form-item label="主题内容" prop="themes">
<el-select v-model="queryParams.themes" size="small">
<el-select v-model="queryParams.themes" filterable size="small">
<el-option
v-for="item in themeOptions"
:key="item.id"

View File

@ -19,7 +19,7 @@
:expand-on-click-node="true"
:filter-node-method="filterNode"
ref="tree"
default-expand-all
:default-expand-all="false"
@node-click="handleNodeClick"
/>
</div>

View 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>

View File

@ -213,15 +213,53 @@ export default {
background: #f8f8f8;
}
}
.warning {
padding-top: 20px;
font-size: 12px;
color: #666;
}
// .warning {
// padding-top: 20px;
// font-size: 12px;
// color: #666;
// }
}
@media print {
.table-container {
padding: 30px 0;
.title {
margin: 0;
font-size: 18px;
text-align: center;
padding: 15px 0;
}
.title2 {
padding: 0;
}
.align-center {
text-align: center;
}
.table {
font-size: 14px;
.print {
display: flex;
justify-content: flex-end;
padding-bottom: 10px;
}
p {
margin: 0;
}
table {
width: 100%;
border-collapse: collapse;
}
table td {
border: #ccc solid 1px;
line-height: 24px;
padding: 8px 5px;
}
.table-title {
font-size: 16px;
}
.table-bg {
background: #f8f8f8;
}
}
}
.print {
opacity: 0;

View File

@ -264,18 +264,54 @@ export default {
background: #f8f8f8;
}
}
.warning {
padding-top: 20px;
font-size: 12px;
color: #666;
}
// .warning {
// padding-top: 20px;
// font-size: 12px;
// color: #666;
// }
}
@media print {
.table-container {
padding: 30px 0;
}
.print {
opacity: 0;
.title {
margin: 0;
font-size: 18px;
text-align: center;
padding: 15px 0;
}
.title2 {
padding: 0;
}
.align-center {
text-align: center;
}
.table {
font-size: 14px;
.print {
display: flex;
justify-content: flex-end;
padding-bottom: 10px;
}
p {
margin: 0;
}
table {
width: 100%;
border-collapse: collapse;
}
table td {
border: #ccc solid 1px;
line-height: 24px;
padding: 8px 5px;
}
.table-title {
font-size: 16px;
}
.table-bg {
background: #f8f8f8;
}
}
}
}
/*去除页眉页脚*/

View File

@ -102,7 +102,7 @@
v-show="isShow"
>填充</el-button
>
<el-button
<!-- <el-button
type="danger"
icon="el-icon-delete"
size="mini"
@ -111,7 +111,7 @@
v-hasPermi="['benyi:themeweekplan:remove']"
v-show="isShow"
>删除</el-button
>
> -->
</div>
<el-table
@ -168,7 +168,7 @@
v-show="isShow"
>填充</el-button
>
<el-button
<!-- <el-button
size="mini"
type="text"
icon="el-icon-delete"
@ -176,7 +176,7 @@
v-hasPermi="['benyi:themeweekplan:remove']"
v-show="isShow"
>删除</el-button
>
> -->
</template>
</el-table-column>
</el-table>

View File

@ -58,9 +58,9 @@
<!-- {{ themeactivityFormat(item.activityid) }} -->
<router-link
style="margin: 5px; color: blue; text-decoration: underline"
v-for="(index, item) in item.activityid.split(';')"
:key="item"
:to="url + index"
v-for="(index, item1) in item.activityid.split(';')"
:key="item1"
:to="url + index + '/' + item.id"
>{{ themeactivityFormat(index) }}</router-link
>
</td>
@ -102,7 +102,7 @@ export default {
data() {
return {
//url
url: "/benyi_course/tremplan/themestudy/",
url: "/benyi_course/weekplan/themestudy/",
tableData: [],
title: "",
zc: "",
@ -287,6 +287,7 @@ export default {
async getList() {
//console.log(this.queryParams.wpid);
await listWeekplanitem(this.queryParams).then((response) => {
//console.log(response.rows);
this.bodyData.weekplanitemList = response.rows;
//获取所有的活动id