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

@ -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",
component: Layout,
@ -480,7 +496,8 @@ export const constantRoutes = [
children: [
{
path: "approval/:id",
component: () => import("@/views/benyi/thememonthplanapproval/approval"),
component: () =>
import("@/views/benyi/thememonthplanapproval/approval"),
name: "ThememonthplanApproval",
meta: {
title: "主题整合月计划审批",

View File

@ -1,3 +1,5 @@
import { parseTime } from './ruoyi'
/**
* 表格时间格式化
*/
@ -124,19 +126,21 @@ export function param(json) {
* @returns {Object}
*/
export function param2Obj(url) {
const search = url.split('?')[1]
const search = decodeURIComponent(url.split('?')[1]).replace(/\+/g, ' ')
if (!search) {
return {}
}
return JSON.parse(
'{"' +
decodeURIComponent(search)
.replace(/"/g, '\\"')
.replace(/&/g, '","')
.replace(/=/g, '":"')
.replace(/\+/g, ' ') +
'"}'
)
const obj = {}
const searchArr = search.split('&')
searchArr.forEach(v => {
const index = v.indexOf('=')
if (index !== -1) {
const name = v.substring(0, index)
const val = v.substring(index + 1, v.length)
obj[name] = val
}
})
return obj
}
/**
@ -383,4 +387,4 @@ export function camelCase(str) {
export function isNumberStr(str) {
return /^[+-]?(0|([1-9]\d*))(\.\d+)?$/g.test(str)
}

View File

@ -3,117 +3,140 @@
* Copyright (c) 2019 ruoyi
*/
const baseURL = process.env.VUE_APP_BASE_API
const baseURL = process.env.VUE_APP_BASE_API;
// 日期格式化
export function parseTime(time, pattern) {
if (arguments.length === 0 || !time) {
return null
}
const format = pattern || '{y}-{m}-{d} {h}:{i}:{s}'
let date
if (typeof time === 'object') {
date = time
} else {
if ((typeof time === 'string') && (/^[0-9]+$/.test(time))) {
time = parseInt(time)
} else if (typeof time === 'string') {
time = time.replace(new RegExp(/-/gm), '/');
}
if ((typeof time === 'number') && (time.toString().length === 10)) {
time = time * 1000
}
date = new Date(time)
}
const formatObj = {
y: date.getFullYear(),
m: date.getMonth() + 1,
d: date.getDate(),
h: date.getHours(),
i: date.getMinutes(),
s: date.getSeconds(),
a: date.getDay()
}
const time_str = format.replace(/{(y|m|d|h|i|s|a)+}/g, (result, key) => {
let value = formatObj[key]
// Note: getDay() returns 0 on Sunday
if (key === 'a') { return ['日', '一', '二', '三', '四', '五', '六'][value] }
if (result.length > 0 && value < 10) {
value = '0' + value
}
return value || 0
})
return time_str
if (arguments.length === 0 || !time) {
return null;
}
//console.log(time, pattern);
const format = pattern || "{y}-{m}-{d} {h}:{i}:{s}";
//console.log(format);
let date;
//console.log(typeof time);
if (typeof time === "object") {
date = time;
} else {
if (typeof time === "string" && /^[0-9]+$/.test(time)) {
time = parseInt(time);
//console.log("1:" + time);
} else if (typeof time === "string") {
time = time
.replace(new RegExp(/-/gm), "/")
.replace("T", " ")
.replace(new RegExp(/\.[\d]{3}/gm), "");
if (time.length == 7) {
time = time + "/01";
}
//console.log(time);
}
if (typeof time === "number" && time.toString().length === 10) {
time = time * 1000;
}
date = new Date(time);
}
//console.log(date);
const formatObj = {
y: date.getFullYear(),
m: date.getMonth() + 1,
d: date.getDate(),
h: date.getHours(),
i: date.getMinutes(),
s: date.getSeconds(),
a: date.getDay()
};
const time_str = format.replace(/{(y|m|d|h|i|s|a)+}/g, (result, key) => {
let value = formatObj[key];
// Note: getDay() returns 0 on Sunday
if (key === "a") {
return ["日", "一", "二", "三", "四", "五", "六"][value];
}
if (result.length > 0 && value < 10) {
value = "0" + value;
}
return value || 0;
});
//console.log(time_str);
return time_str;
}
// 表单重置
export function resetForm(refName) {
if (this.$refs[refName]) {
this.$refs[refName].resetFields();
}
if (this.$refs[refName]) {
this.$refs[refName].resetFields();
}
}
// 添加日期范围
export function addDateRange(params, dateRange) {
var search = params;
search.beginTime = "";
search.endTime = "";
if (null != dateRange && '' != dateRange) {
search.beginTime = this.dateRange[0];
search.endTime = this.dateRange[1];
}
return search;
var search = params;
search.beginTime = "";
search.endTime = "";
if (null != dateRange && "" != dateRange) {
search.beginTime = this.dateRange[0];
search.endTime = this.dateRange[1];
}
return search;
}
// 回显数据字典
export function selectDictLabel(datas, value) {
var actions = [];
Object.keys(datas).map((key) => {
if (datas[key].dictValue == ('' + value)) {
actions.push(datas[key].dictLabel);
return false;
}
})
return actions.join('');
var actions = [];
Object.keys(datas).map(key => {
if (datas[key].dictValue == "" + value) {
actions.push(datas[key].dictLabel);
return false;
}
});
return actions.join("");
}
// 回显数据字典
export function selectMoeDictLabel(datas, value) {
var actions = [];
Object.keys(datas).map((key) => {
if (datas[key].id == ('' + value)) {
actions.push(datas[key].name);
return false;
}
})
return actions.join('');
var actions = [];
Object.keys(datas).map(key => {
if (datas[key].id == "" + value) {
actions.push(datas[key].name);
return false;
}
});
return actions.join("");
}
// 通用下载方法
export function download(fileName) {
window.location.href = baseURL + "/common/download?fileName=" + encodeURI(fileName) + "&delete=" + true;
window.location.href =
baseURL +
"/common/download?fileName=" +
encodeURI(fileName) +
"&delete=" +
true;
}
// 字符串格式化(%s )
export function sprintf(str) {
var args = arguments, flag = true, i = 1;
str = str.replace(/%s/g, function () {
var arg = args[i++];
if (typeof arg === 'undefined') {
flag = false;
return '';
}
return arg;
});
return flag ? str : '';
var args = arguments,
flag = true,
i = 1;
str = str.replace(/%s/g, function() {
var arg = args[i++];
if (typeof arg === "undefined") {
flag = false;
return "";
}
return arg;
});
return flag ? str : "";
}
// 转换字符串undefined,null等转化为""
export function praseStrEmpty(str) {
if (!str || str == "undefined" || str == "null") {
return "";
}
return str;
if (!str || str == "undefined" || str == "null") {
return "";
}
return str;
}
/**
@ -125,22 +148,21 @@ export function praseStrEmpty(str) {
* @param {*} rootId 根Id 默认 0
*/
export function handleTree(data, id, parentId, children, rootId) {
id = id || 'id'
parentId = parentId || 'parentId'
children = children || 'children'
rootId = rootId || 0
//对源数据深度克隆
const cloneData = JSON.parse(JSON.stringify(data))
//循环所有项
const treeData = cloneData.filter(father => {
let branchArr = cloneData.filter(child => {
//返回每一项的子级数组
return father[id] === child[parentId]
});
branchArr.length > 0 ? father.children = branchArr : '';
//返回第一层
return father[parentId] === rootId;
});
return treeData != '' ? treeData : data;
}
id = id || "id";
parentId = parentId || "parentId";
children = children || "children";
rootId = rootId || 0;
//对源数据深度克隆
const cloneData = JSON.parse(JSON.stringify(data));
//循环所有项
const treeData = cloneData.filter(father => {
let branchArr = cloneData.filter(child => {
//返回每一项的子级数组
return father[id] === child[parentId];
});
branchArr.length > 0 ? (father.children = branchArr) : "";
//返回第一层
return father[parentId] === rootId;
});
return treeData != "" ? treeData : data;
}

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

View File

@ -266,7 +266,8 @@
placeholder="请选择归属部门"
/>
</el-form-item>
</el-col>
</el-col> </el-row
><el-row :gutter="16">
<el-col :xs="24" :sm="24" :md="12">
<el-form-item label="登录账号" prop="userName">
<el-input
@ -288,7 +289,8 @@
type="password"
/>
</el-form-item>
</el-col>
</el-col> </el-row
><el-row :gutter="16">
<el-col :xs="24" :sm="24" :md="12">
<el-form-item label="用户性别" prop="sex">
<el-select v-model="form.sex" placeholder="请选择">
@ -320,7 +322,8 @@
>
</el-radio-group> -->
</el-form-item>
</el-col>
</el-col> </el-row
><el-row :gutter="16">
<el-col :xs="24" :sm="24" :md="12">
<el-form-item label="岗位" prop="postIds">
<el-select v-model="form.postIds" multiple placeholder="请选择">
@ -346,7 +349,8 @@
></el-option>
</el-select>
</el-form-item>
</el-col>
</el-col> </el-row
><el-row :gutter="16">
<el-col :xs="24" :sm="24" :md="12">
<el-form-item v-if="isSchool" label="多幼儿园">
<el-select v-model="form.deptIds" multiple placeholder="请选择">
@ -359,7 +363,8 @@
></el-option>
</el-select>
</el-form-item>
</el-col>
</el-col> </el-row
><el-row :gutter="16">
<el-col :xs="24" :sm="24" :md="24">
<el-form-item label="备注" prop="remark">
<el-input
@ -522,9 +527,7 @@ export default {
password: [
{ required: true, message: "用户密码不能为空", trigger: "blur" },
],
roleIds: [
{ required: true, message: "角色不能为空", trigger: "blur" },
],
roleIds: [{ required: true, message: "角色不能为空", trigger: "blur" }],
},
};
},