Commit 8c2b5c48 by zhaopanyu

zpy 修改部分问题

parent 9963963b
<template> <template>
<el-dialog <el-dialog width="960px" :visible.sync="open" :title="title" @close="handleClose">
width="960px"
:visible.sync="open"
:title="title"
@close="handleClose"
>
<el-form ref="queryForm" inline :model="queryForm"> <el-form ref="queryForm" inline :model="queryForm">
<!--<el-form-item label="工作编号" prop="teacherCode">--> <!--<el-form-item label="工作编号" prop="teacherCode">-->
<!-- <el-input--> <!-- <el-input-->
...@@ -16,20 +11,10 @@ ...@@ -16,20 +11,10 @@
<!--</el-form-item>--> <!--</el-form-item>-->
<el-form-item label="教师姓名" prop="teacherName"> <el-form-item label="教师姓名" prop="teacherName">
<el-input <el-input v-model="queryForm.teacherName" placeholder="请输入老师名称" clearable @keyup.enter.native="handleQuery" />
v-model="queryForm.teacherName"
placeholder="请输入老师名称"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item> </el-form-item>
<el-form-item label="教师电话" prop="teacherTel"> <el-form-item label="教师电话" prop="teacherTel">
<el-input <el-input v-model="queryForm.teacherTel" placeholder="请输入老师电话" clearable @keyup.enter.native="handleQuery" />
v-model="queryForm.teacherTel"
placeholder="请输入老师电话"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
...@@ -37,16 +22,8 @@ ...@@ -37,16 +22,8 @@
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button> <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
</el-form-item> </el-form-item>
</el-form> </el-form>
<el-table <el-table ref="teacherTable" v-loading="loading" stripe height="380px" width="100%" :data="teacherList"
ref="teacherTable" @selection-change="handleSelectChange" @row-click="handleRowClick">
v-loading="loading"
stripe
height="380px"
width="100%"
:data="teacherList"
@selection-change="handleSelectChange"
@row-click="handleRowClick"
>
<el-table-column type="selection" align="center"></el-table-column> <el-table-column type="selection" align="center"></el-table-column>
<!--<el-table-column type="index" label="序号" width="55" align="center"></el-table-column>--> <!--<el-table-column type="index" label="序号" width="55" align="center"></el-table-column>-->
<!--<el-table-column label="工作编号" align="center" prop="teacherCode"/>--> <!--<el-table-column label="工作编号" align="center" prop="teacherCode"/>-->
...@@ -56,43 +33,33 @@ ...@@ -56,43 +33,33 @@
<ListImage :image-url="isEmptyTeacherUrl(scope.row.picUrl, scope.row.sex)"></ListImage> <ListImage :image-url="isEmptyTeacherUrl(scope.row.picUrl, scope.row.sex)"></ListImage>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="老师名称" align="center" prop="teacherName" width="120" show-overflow-tooltip/> <el-table-column label="老师名称" align="center" prop="teacherName" width="120" show-overflow-tooltip />
<el-table-column label="性别" align="center" prop="sex" width="80"> <el-table-column label="性别" align="center" prop="sex" width="80">
<template slot-scope="scope"> <template slot-scope="scope">
<dict-tag :options="dict.type.sys_user_sex" :value="scope.row.sex"/> <dict-tag :options="dict.type.sys_user_sex" :value="scope.row.sex" />
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="老师电话" width="160" align="center" prop="teacherTel"/> <el-table-column label="老师电话" width="160" align="center" prop="teacherTel" />
<el-table-column label="家庭住址" align="center" prop="homeAddress" show-overflow-tooltip/> <el-table-column label="职工类型" width="160" align="center" prop="employeeType" />
<!--<el-table-column label="身份证号" width="180" align="center" prop="idCard"/>--> <el-table-column label="部门" width="160" align="center" prop="deptName" />
<!-- <el-table-column label="家庭住址" align="center" prop="homeAddress" show-overflow-tooltip/>
<el-table-column label="身份证号" width="180" align="center" prop="idCard"/> -->
</el-table> </el-table>
<ExPagination <ExPagination v-show="total > 0" :total="total" :page.sync="queryForm.pageNum" :limit.sync="queryForm.pageSize"
v-show="total > 0" @pagination="getList"></ExPagination>
:total="total"
:page.sync="queryForm.pageNum"
:limit.sync="queryForm.pageSize"
@pagination="getList"
></ExPagination>
<div slot="footer"> <div slot="footer">
<el-button <el-button type="primary" size="small" :disabled="!isSimple" @click="handleSelect">确 定
type="primary"
size="small"
:disabled="!isSimple"
@click="handleSelect">确 定
</el-button> </el-button>
<el-button <el-button plain size="small" @click="handleClose">取 消
plain
size="small"
@click="handleClose">取 消
</el-button> </el-button>
</div> </div>
</el-dialog> </el-dialog>
</template> </template>
<script> <script>
import {listInform} from "@/api/smartSchool/teacherManage/teacherInformation.js"; import { listInform } from "@/api/smartSchool/teacherManage/teacherInformation.js";
import ListImage from "@/components/ListImage"; import ListImage from "@/components/ListImage";
import {Gender} from "../../../../enums/common"; import { Gender } from "../../../../enums/common";
export default { export default {
name: "TeacherSelect", name: "TeacherSelect",
......
...@@ -119,6 +119,7 @@ export default { ...@@ -119,6 +119,7 @@ export default {
this.isTaskListe = true this.isTaskListe = true
departiDetail().then((response) => { departiDetail().then((response) => {
this.tableData = response.rows this.tableData = response.rows
console.log('this.tableData', this.tableData);
this.total = response.total this.total = response.total
this.loading = false this.loading = false
}); });
......
...@@ -15,13 +15,12 @@ ...@@ -15,13 +15,12 @@
<!-- 表格数据 --> <!-- 表格数据 -->
<el-table border v-loading="loading" :row-style="{ height: '35px' }" :cell-style="{ padding: '0' }" <el-table border v-loading="loading" :row-style="{ height: '35px' }" :cell-style="{ padding: '0' }"
:data="budgetList" style="font-size: 14px" stripe> :data="budgetList" style="font-size: 14px" stripe>
<el-table-column label="年度" prop="year" align="center" width="100px" /> <el-table-column label="年度" prop="year" align="center" />
<el-table-column label="科室" prop="deptName" align="center" /> <el-table-column label="科室" prop="deptName" align="center" />
<el-table-column label="填报人" prop="informant" align="center" width="150px" /> <el-table-column label="填报人" prop="informant" align="center" />
<el-table-column label="分管领导" prop="leadershipName" align="center" width="150px" /> <el-table-column label="分管领导" prop="leadershipName" align="center" />
<el-table-column label="备注" prop="remark" align="center" /> <el-table-column label="填报时间" prop="tbTime" align="center" />
<el-table-column label="填报时间" prop="tbTime" align="center" width="200px" /> <el-table-column label="当前任务" prop="state" align="center">
<el-table-column label="当前任务" prop="state" align="center" width="250px">
<template slot-scope="{ row }"> <template slot-scope="{ row }">
{{ row.state === '0' ? "未提交" : {{ row.state === '0' ? "未提交" :
row.state === '1' ? "分管领导审核" : row.state === '1' ? "分管领导审核" :
...@@ -139,17 +138,15 @@ ...@@ -139,17 +138,15 @@
{{ postForm.informant }} {{ postForm.informant }}
</span> </span>
</el-col> </el-col>
<el-col :span="10"> <el-col :span="10">
<!-- <el-form-item label="分管领导" prop="handUserName2"> --> <el-form-item label="分管领导:"
<!-- <el-input :value="postForm.handUserName2" placeholder="请选择分管领导" style="display: flex; align-items: center; font-size: 16px; font-weight: bold;">
@focus="openSelect('选择分管领导', 'leaderList', 2)"></el-input> --> <el-input v-model="postForm.handUserName2" placeholder="请选择分管领导"
<span class="uploadname" style="font-size: 16px;font-weight: bold;">分管领导: @focus="openSelect('选择分管领导', 'leaderList', 2)" style="margin-left: 10px;"></el-input>
<span style="display: inline-block; width: 100px;height: 20px;" </el-form-item>
@click="openSelect('选择分管领导', 'leaderList', 2)">{{ postForm.handUserName2 }}
</span>
</span>
<!-- </el-form-item> -->
</el-col> </el-col>
</el-row> </el-row>
</el-form> </el-form>
</el-dialog> </el-dialog>
...@@ -545,23 +542,36 @@ export default { ...@@ -545,23 +542,36 @@ export default {
type: 'warning' type: 'warning'
}) })
.then(() => { .then(() => {
submitApply(row.id).then(res => { const loadingInstance = this.$loading({
lock: true,
text: '正在提交数据,请稍等...',
background: 'rgba(0, 0, 0, 0.7)'
}); // 显示遮罩层
submitApply(row.id)
.then(res => {
if (res.code == 200) { if (res.code == 200) {
this.$message({ this.$message({
type: 'success', type: 'success',
message: '提交成功!' message: '提交成功!'
}) });
this.getList() loadingInstance.close(); // 请求完成后关闭遮罩层
this.getList();
} }
}) })
.catch(() => {
this.$message.error('提交失败,请重试!');
loadingInstance.close(); // 请求失败时也关闭遮罩层
});
}) })
.catch(() => { .catch(() => {
this.$message({ this.$message({
type: 'info', type: 'info',
message: '已取消提交' message: '已取消提交'
}) });
}) });
}, },
// 查看按钮 // 查看按钮
handleLook(row) { handleLook(row) {
queryDepart(row.id).then(response => { queryDepart(row.id).then(response => {
...@@ -599,7 +609,7 @@ export default { ...@@ -599,7 +609,7 @@ export default {
this.open = true; this.open = true;
this.postForm.informant = this.$store.state.user.name; this.postForm.informant = this.$store.state.user.name;
this.title = '新增预算批复信息' this.title = '新增预算申请信息'
}, },
// 删除按钮操作 // 删除按钮操作
......
...@@ -27,7 +27,7 @@ ...@@ -27,7 +27,7 @@
</el-row> </el-row>
<el-table v-loading="loading" :data="purchaseList" @selection-change="handleSelectionChange"> <el-table v-loading="loading" :data="purchaseList" @selection-change="handleSelectionChange">
<el-table-column type="index" align="center" label="序号" min-width="30px"></el-table-column> <el-table-column type="index" align="center" label="序号" min-width="30px"></el-table-column>
<el-table-column label="标题" align="center" min-width="150px" prop="purchaseName"/> <el-table-column label="标题" align="center" min-width="150px" prop="purchaseName" />
<el-table-column label="预算项目" prop="budgetName" align="center"></el-table-column> <el-table-column label="预算项目" prop="budgetName" align="center"></el-table-column>
<el-table-column label="采购费用" sortable align="center" prop="purchaseMoney"> <el-table-column label="采购费用" sortable align="center" prop="purchaseMoney">
<template slot-scope="scope"> <template slot-scope="scope">
...@@ -70,15 +70,13 @@ ...@@ -70,15 +70,13 @@
<el-row :gutter="10"> <el-row :gutter="10">
<el-col :span="24"> <el-col :span="24">
<el-form-item label="标题" prop="purchaseName"> <el-form-item label="标题" prop="purchaseName">
<el-input v-model="formPur.purchaseName" placeholder="请输入采购申请标题" clearable <el-input v-model="formPur.purchaseName" placeholder="请输入采购申请标题" clearable style="width:576px"></el-input>
style="width:576px"></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-form-item label="申请部门" prop="deptId"> <el-form-item label="申请部门" prop="deptId">
<Treeselect :disabled="formPurDisable" v-model="formPur.deptId" @select="deptIdAndName" :options="deptOptions" <Treeselect :disabled="formPurDisable" v-model="formPur.deptId" @select="deptIdAndName" :options="deptOptions"
:show-count="true" :show-count="true" placeholder="请选择归属部门" :defaultExpandLevel=1 style="width:224px" />
placeholder="请选择归属部门" :defaultExpandLevel=1 style="width:224px"/>
</el-form-item> </el-form-item>
<el-form-item label="期望日期" prop="expectedDate"> <el-form-item label="期望日期" prop="expectedDate">
<el-date-picker v-model="formPur.expectedDate" placeholder="请选择期望日期" clearable <el-date-picker v-model="formPur.expectedDate" placeholder="请选择期望日期" clearable
...@@ -86,8 +84,7 @@ ...@@ -86,8 +84,7 @@
</el-form-item> </el-form-item>
<el-form-item label="批复项目" prop="budgetId"> <el-form-item label="批复项目" prop="budgetId">
<!-- <el-input v-model="formPur.budgetName" clearable></el-input> --> <!-- <el-input v-model="formPur.budgetName" clearable></el-input> -->
<el-select v-model="formPur.budgetId" @change="getBudgetName" style="width: 100%" <el-select v-model="formPur.budgetId" @change="getBudgetName" style="width: 100%" placeholder="请选择批复项目">
placeholder="请选择批复项目">
<el-option v-for="item in budgetList" :key="item.id" :label="item.budgetName" :value="item.id"> <el-option v-for="item in budgetList" :key="item.id" :label="item.budgetName" :value="item.id">
</el-option> </el-option>
</el-select> </el-select>
...@@ -132,7 +129,7 @@ ...@@ -132,7 +129,7 @@
<el-table :data="projectDetail" v-loading="loading" style="width: 100%" <el-table :data="projectDetail" v-loading="loading" style="width: 100%"
@selection-change="handleSelectionChangeDetail"> @selection-change="handleSelectionChangeDetail">
<el-table-column type="selection" width="50" align="center"/> <el-table-column type="selection" width="50" align="center" />
<el-table-column type="index" label="序号" width="50"></el-table-column> <el-table-column type="index" label="序号" width="50"></el-table-column>
<el-table-column prop="assetsTypeName" label="资产分类" align="center"> <el-table-column prop="assetsTypeName" label="资产分类" align="center">
<template slot-scope="scope"> <template slot-scope="scope">
...@@ -159,16 +156,16 @@ ...@@ -159,16 +156,16 @@
<el-input v-show="isEdit" v-model="row.assetsUnit"></el-input> <el-input v-show="isEdit" v-model="row.assetsUnit"></el-input>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="assetsPrice" label="单价-元" align="center"> <el-table-column prop="assetsPrice" label="单价-元" align="center" width="150px">
<template slot-scope="{ row }"> <template slot-scope="{ row }">
<span v-show="!isEdit">{{ row.assetsPrice }}</span> <span v-show="!isEdit">{{ row.assetsPrice }}</span>
<el-input v-show="isEdit" v-model="row.assetsPrice"></el-input> <el-input v-show="isEdit" v-model="row.assetsPrice" type="number"></el-input>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="assetsNumbers" label="数量" align="center"> <el-table-column prop="assetsNumbers" label="数量" align="center">
<template slot-scope="{ row }"> <template slot-scope="{ row }">
<span v-show="!isEdit">{{ row.assetsNumbers }}</span> <span v-show="!isEdit">{{ row.assetsNumbers }}</span>
<el-input v-show="isEdit" v-model="row.assetsNumbers"></el-input> <el-input v-show="isEdit" v-model="row.assetsNumbers" ></el-input>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="totalPrice" label="小计" align="center"> <el-table-column prop="totalPrice" label="小计" align="center">
...@@ -192,10 +189,8 @@ ...@@ -192,10 +189,8 @@
</el-dialog> </el-dialog>
<!-- 选择资产分类 --> <!-- 选择资产分类 -->
<el-drawer ref="refDrawer" :title="title" :visible.sync="drawer"> <el-drawer ref="refDrawer" :title="title" :visible.sync="drawer">
<Treeselect v-model="formPur.assetsType" @select="assetsIdAndName" :options="assetsOptions" <Treeselect v-model="formPur.assetsType" @select="assetsIdAndName" :options="assetsOptions" :defaultExpandLevel=3
:defaultExpandLevel=3 :show-count="true" placeholder="请选择资产分类" />
:show-count="true"
placeholder="请选择资产分类"/>
</el-drawer> </el-drawer>
<BossSelect v-if="teacherOptions.open" :openSelect.sync="teacherOptions.open" :title="teacherOptions.title" <BossSelect v-if="teacherOptions.open" :openSelect.sync="teacherOptions.open" :title="teacherOptions.title"
...@@ -218,18 +213,18 @@ import { ...@@ -218,18 +213,18 @@ import {
getBudgetList1, getBudgetList1,
teacherListInform teacherListInform
} from "@/api/smartSchool/officialWork/purchaseApply.js" } from "@/api/smartSchool/officialWork/purchaseApply.js"
import {SubmitState} from "@/enums/apply"; import { SubmitState } from "@/enums/apply";
import BossSelect from '@/views/components/moduleComponets/BossSelect/index.vue' import BossSelect from '@/views/components/moduleComponets/BossSelect/index.vue'
import Treeselect from "@riophae/vue-treeselect"; import Treeselect from "@riophae/vue-treeselect";
import "@riophae/vue-treeselect/dist/vue-treeselect.css"; import "@riophae/vue-treeselect/dist/vue-treeselect.css";
import {deptTreeSelect} from "@/api/system/user"; import { deptTreeSelect } from "@/api/system/user";
export default { export default {
name: 'index', name: 'index',
add: false, add: false,
submit: '1', submit: '1',
dialogDisable: "", dialogDisable: "",
components: {Treeselect, BossSelect}, components: { Treeselect, BossSelect },
props: {}, props: {},
data() { data() {
return { return {
...@@ -266,14 +261,14 @@ export default { ...@@ -266,14 +261,14 @@ export default {
total: 0, total: 0,
// 表单校验 // 表单校验
rules: { rules: {
purchaseName: [{required: true, message: '标题不能为空', trigger: 'blur'}], purchaseName: [{ required: true, message: '标题不能为空', trigger: 'blur' }],
deptId: [{required: true, message: '申请部门不能为空', trigger: 'change'}], deptId: [{ required: true, message: '申请部门不能为空', trigger: 'change' }],
budgetName: [{required: true, message: '批复项目不能为空', trigger: 'blur'}], budgetName: [{ required: true, message: '批复项目不能为空', trigger: 'blur' }],
expectedDate: [{required: true, message: '期望日期不能为空', trigger: 'blur'}], expectedDate: [{ required: true, message: '期望日期不能为空', trigger: 'blur' }],
title: [{required: true, message: '分管处室领导不能为空', trigger: 'blur'}], title: [{ required: true, message: '分管处室领导不能为空', trigger: 'blur' }],
handUserName1: [{required: true, message: '分管处室领导不能为空', trigger: 'change'}], handUserName1: [{ required: true, message: '分管处室领导不能为空', trigger: 'change' }],
handUserName2: [{required: true, message: '财务领导不能为空', trigger: 'change'}], handUserName2: [{ required: true, message: '财务领导不能为空', trigger: 'change' }],
budgetId: [{required: true, message: '批复项目不能为空', trigger: 'change'}], budgetId: [{ required: true, message: '批复项目不能为空', trigger: 'change' }],
}, },
// 项目预算详细 // 项目预算详细
projectDetail: [], projectDetail: [],
...@@ -363,7 +358,7 @@ export default { ...@@ -363,7 +358,7 @@ export default {
}) })
}, },
/** 切换tab标签 */ /** 切换tab标签 */
handleClick({name}) { handleClick({ name }) {
this.$set(this.queryParams, 'submitState', name); this.$set(this.queryParams, 'submitState', name);
// console.log(name, 123); // console.log(name, 123);
if (name == 0) { if (name == 0) {
...@@ -390,7 +385,7 @@ export default { ...@@ -390,7 +385,7 @@ export default {
}, },
// 提交申请 // 提交申请
submitApply(row) { submitApply(row) {
var obj = {applyUser: row.applyUser} var obj = { applyUser: row.applyUser }
submitPurchaseList(row.id, obj).then(() => { submitPurchaseList(row.id, obj).then(() => {
this.$modal.msgSuccess("提交成功"); this.$modal.msgSuccess("提交成功");
this.getList(); this.getList();
...@@ -399,7 +394,7 @@ export default { ...@@ -399,7 +394,7 @@ export default {
}, },
readNodes(nodes = [], arr = []) { readNodes(nodes = [], arr = []) {
for (let item of nodes) { for (let item of nodes) {
arr.push({id: item.id, label: item.label}) arr.push({ id: item.id, label: item.label })
if (item.children && item.children.length) this.readNodes(item.children, arr) if (item.children && item.children.length) this.readNodes(item.children, arr)
} }
return arr return arr
...@@ -530,13 +525,13 @@ export default { ...@@ -530,13 +525,13 @@ export default {
}, },
// 分管领导 // 分管领导
leaderfgc(data) { leaderfgc(data) {
const {handUserName1, handUserId1} = data; const { handUserName1, handUserId1 } = data;
this.formPur.handUserName1 = handUserName1; this.formPur.handUserName1 = handUserName1;
this.formPur.handUserId1 = handUserId1; this.formPur.handUserId1 = handUserId1;
}, },
// 财务领导 // 财务领导
leadercw(data) { leadercw(data) {
const {handUserName2, handUserId2} = data; const { handUserName2, handUserId2 } = data;
this.formPur.handUserName2 = handUserName2; this.formPur.handUserName2 = handUserName2;
this.formPur.handUserId2 = handUserId2; this.formPur.handUserId2 = handUserId2;
}, },
...@@ -590,7 +585,7 @@ export default { ...@@ -590,7 +585,7 @@ export default {
arr.assetsType = node.id; arr.assetsType = node.id;
arr.assetsTypeName = node.label; arr.assetsTypeName = node.label;
console.log(arr, 594) console.log(arr, 594)
this.$set(this.projectDetail, index, {...arr}) this.$set(this.projectDetail, index, { ...arr })
}, },
// 获取部门 // 获取部门
...@@ -634,7 +629,7 @@ export default { ...@@ -634,7 +629,7 @@ export default {
}, },
//获批复项目下拉框 //获批复项目下拉框
getBudgetNamexl() { getBudgetNamexl() {
getBudgetList1({deptId: this.formPur.deptId}).then(((res) => { getBudgetList1({ deptId: this.formPur.deptId }).then(((res) => {
if (res.code == 200) { if (res.code == 200) {
this.budgetList = res.rows this.budgetList = res.rows
} }
...@@ -674,7 +669,7 @@ export default { ...@@ -674,7 +669,7 @@ export default {
}, },
getTeacherList(queryForm, callback) { getTeacherList(queryForm, callback) {
teacherListInform({...queryForm, employeeType: 0}).then(response => { teacherListInform({ ...queryForm, employeeType: 0 }).then(response => {
callback(response.rows, response.total); callback(response.rows, response.total);
}).catch(error => { }).catch(error => {
callback([], 0); callback([], 0);
...@@ -706,6 +701,4 @@ export default { ...@@ -706,6 +701,4 @@ export default {
}, },
}; };
</script> </script>
<style scoped lang="less"> <style scoped lang="less"></style>
</style>
...@@ -114,7 +114,7 @@ ...@@ -114,7 +114,7 @@
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="预计时长" prop="duration"> <el-form-item label="预计时长" prop="duration">
<el-input type="number" v-model="postForm.duration" placeholder="请输入"></el-input> <el-input v-model="postForm.duration" placeholder="请输入"></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
......
...@@ -11,15 +11,14 @@ ...@@ -11,15 +11,14 @@
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
<el-form-item prop="studioName" :rules="[{ required: true, message: '请选择录播室', trigger: 'change,blur' }]"> <el-form-item prop="studioName" :rules="[{ required: true, message: '请选择录播室', trigger: 'change,blur' }]">
<el-select v-model="queryParams.studioId" placeholder="录播室"> <el-select @change="changeStudio" v-model="queryParams.studioId" placeholder="录播室">
<el-option v-for="item in options" :key="item.id" :label="item.studioName" :value="item.id"> <el-option v-for="item in options" :key="item.id" :label="item.studioName" :value="item.id">
</el-option> </el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-button size="mini" type="primary" icon="el-icon-search" @click="fetchData">搜索</el-button> <!-- <el-button size="mini" type="primary" icon="el-icon-search" @click="fetchData">搜索</el-button> -->
<el-button size="mini" icon="el-icon-refresh" @click="resetQuery">重置</el-button>
<!-- :disabled="isReservationDisabled" --> <!-- :disabled="isReservationDisabled" -->
<el-button size="mini" @click="reserve">预约</el-button> <el-button size="mini" type="primary" @click="reserve">预约</el-button>
</el-form> </el-form>
<p style="margin: 0 0 0 30px;font-size: 14px"> <p style="margin: 0 0 0 30px;font-size: 14px">
说明:(1)录播室每天开放上午四节、下午四节、晚上三节。共计每天11节。(2)请提前一天进行预约。(3)预约不可跨天,跨天请进行多次预约</p> 说明:(1)录播室每天开放上午四节、下午四节、晚上三节。共计每天11节。(2)请提前一天进行预约。(3)预约不可跨天,跨天请进行多次预约</p>
...@@ -131,7 +130,7 @@ export default { ...@@ -131,7 +130,7 @@ export default {
this.initTimeSlots(); this.initTimeSlots();
// 获取录播室下拉框列表 // 获取录播室下拉框列表
this.getRoomList(); this.getRoomList();
this.fetchStudioUseData(); // this.fetchStudioUseData();
// this.fetchData(); // this.fetchData();
}, },
methods: { methods: {
...@@ -145,18 +144,31 @@ export default { ...@@ -145,18 +144,31 @@ export default {
}; };
this.fetchStudioUseData(); // 重新发一次请求 this.fetchStudioUseData(); // 重新发一次请求
}, },
changeStudio(value) {
console.log('value', value);
console.log('this.queryParams.startTime', this.queryParams.startTime);
this.queryParams.studioId = value;
this.fetchStudioUseData();
},
changeDate() { changeDate() {
this.endTime = moment(this.queryParams.startTime).add(9, 'days') this.endTime = moment(this.queryParams.startTime).add(9, 'days')
// this.fetchData();
this.initDays();
this.fetchStudioUseData();
}, },
// 查询列表 // 查询列表
fetchStudioUseData() { fetchStudioUseData() {
this.studioUseData = []
// 调用接口获取录播室占用情况数据 // 调用接口获取录播室占用情况数据
console.log(123654, this.queryParams); console.log(123654, this.queryParams);
getstudioUse(this.queryParams.startTime, this.queryParams.studioId).then((res) => { getstudioUse(this.queryParams.startTime, this.queryParams.studioId).then((res) => {
this.studioUseData = res.rows; this.studioUseData = res.rows;
console.log(123, this.studioUseData); console.log(123, this.studioUseData);
}); });
// getstudioUse(time, id).then((res) => {
// this.studioUseData = res.rows;
// console.log(123, this.studioUseData);
// });
}, },
//表格占用显示 //表格占用显示
isOccupied(day, index) { isOccupied(day, index) {
...@@ -173,7 +185,7 @@ export default { ...@@ -173,7 +185,7 @@ export default {
if (this.isOccupied(day, index)) { if (this.isOccupied(day, index)) {
return false return false
} else { } else {
console.log('this.selectedTimeSlots', this.selectedTimeSlots) // console.log('this.selectedTimeSlots', this.selectedTimeSlots)
// 检查时间段是否已选中 // 检查时间段是否已选中
return this.selectedTimeSlots.some((selectedSlot) => { return this.selectedTimeSlots.some((selectedSlot) => {
// console.log('selectedSlot',selectedSlot) // console.log('selectedSlot',selectedSlot)
...@@ -224,6 +236,13 @@ export default { ...@@ -224,6 +236,13 @@ export default {
getAppointmentList({}).then((res) => { getAppointmentList({}).then((res) => {
this.options = res.rows; this.options = res.rows;
console.log('res', res) console.log('res', res)
if (this.options.length > 0) {
// 默认选中第一个录播室
this.queryParams.studioId = this.options[0].id;
// 立即执行搜索表单
this.fetchStudioUseData();
}
}); });
}, },
...@@ -249,6 +268,7 @@ export default { ...@@ -249,6 +268,7 @@ export default {
// const startDate = new Date(); // const startDate = new Date();
// startDate.setDate(startDate.getDate() + 1); // startDate.setDate(startDate.getDate() + 1);
// console.log('startDate',startDate) // console.log('startDate',startDate)
this.days = []
for (let i = 0; i < 10; i++) { for (let i = 0; i < 10; i++) {
const formattedDate = moment(this.queryParams.startTime).add(i, 'days').format("YYYY-MM-DD"); const formattedDate = moment(this.queryParams.startTime).add(i, 'days').format("YYYY-MM-DD");
console.log('formattedDate', formattedDate) console.log('formattedDate', formattedDate)
......
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="设备名称" prop="equipmentName">
<el-input v-model="queryParams.equipmentName" placeholder="请输入设备名称" clearable></el-input>
</el-form-item>
<el-form-item label="分类编码" prop="classificationCode">
<el-input v-model="queryParams.classificationCode" placeholder="请输入分类编码" clearable></el-input>
</el-form-item>
<el-form-item label="修理结果" prop="repairState">
<el-select v-model="queryParams.repairState" placeholder="修理结果" clearable>
<el-option v-for="(item, index) in dict.type.dispose_state" :key="index" :label="item.label"
:value="item.value"></el-option>
</el-select>
</el-form-item>
<el-form-item label="处理状态" prop="disposeState">
<el-select v-model="queryParams.disposeState" placeholder="维修状态" clearable>
<el-option v-for="(item, index) in dict.type.repair_state" :key="index" :label="item.label"
:value="item.value"></el-option>
</el-select>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="getList">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
</el-form-item>
</el-form>
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAdd">新增
</el-button>
</el-col>
</el-row>
<!-- 表格数据 -->
<el-table :data="applyTable" style="width: 100%">
<el-table-column align="center" type="index" label="序号" />
<el-table-column align="center" prop="encode" label="自编码" width="150px" />
<el-table-column align="center" prop="equipmentName" label="设备名称" />
<el-table-column align="center" prop="model" label="型号" />
<el-table-column align="center" prop="classificationCode" label="分类编码" />
<el-table-column align="center" prop="dateOfProduction" label="投产日期" />
<el-table-column align="center" prop="place" label="地点" />
<el-table-column align="center" prop="problem" label="问题" />
<el-table-column align="center" prop="repairName" label="修理人" />
<el-table-column align="center" prop="repairTime" label="修理时间" />
<el-table-column align="center" prop="repairState" label="修理结果">
<template slot-scope="{ row }">
<div>{{ selectDictLabel(dict.type.dispose_state, row.repairState) }}</div>
</template>
</el-table-column>
<el-table-column align="center" prop="disposeState" label="处理状态">
<template slot-scope="{ row }">
<div>{{ selectDictLabel(dict.type.repair_state, row.disposeState) }}</div>
</template>
</el-table-column>
<el-table-column align="center" prop="evaluate" label="评价" width="150px">
<template slot-scope="scope">
<el-rate v-model="scope.row.evaluate" :max="5" :disabled="!scope.row.editable"></el-rate>
</template>
</el-table-column>
<el-table-column label="操作" width="180px" class-name="small-padding fixed-width">
<template slot-scope="{ row }">
<div>
<el-button size="mini" type="text" icon="el-icon-search" @click="handleLook(row)">
查看
</el-button>
<el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(row)">
修改
</el-button>
<el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(row)">
删除
</el-button>
</div>
</template>
</el-table-column>
</el-table>
<!-- 新增/修改/查看对话框 -->
<el-dialog :title="title" :visible.sync="open" width="1200px" append-to-body @close="cancel">
<el-form ref="postForm" :model="postForm" :rules="rules" label-width="110px">
<el-row>
<el-col :span="12">
<el-form-item label="自编码" prop="encode">
<el-input v-model="postForm.encode" placeholder="自编码" @change="getRencode"></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="报修人" prop="reportRepairId">
<el-select v-model="postForm.reportRepairId" filterable placeholder="请选择报修人" clearable
style="width: 100%;">
<el-option v-for="(item, index) in userList" :key="index" :label="item.userName"
:value="item.userId">
</el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="设备名称" prop="equipmentName">
<el-input v-model="postForm.equipmentName" placeholder="设备名称"></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="问题" prop="problem">
<el-input v-model="postForm.problem" placeholder="问题"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="型号" prop="model">
<el-input v-model="postForm.model" placeholder="型号"></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="维修人" prop="repairName">
<el-select v-model="postForm.repairName" placeholder="请选择维修人" clearable style="width: 100%;">
<el-option v-for="item in sbflOptions" :key="item.repairId" :label="item.repairName"
:value="item.repairId" />
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="投产日期:" prop="dateOfProduction">
<el-date-picker v-model="postForm.dateOfProduction" type="date" placeholder="选择日期"
style="width: 100%;" value-format="yyyy-MM-dd" clearable
:readonly="isReadOnly"></el-date-picker>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="维修时间:" prop="repairTime">
<el-date-picker v-model="postForm.repairTime" type="datetime" placeholder="选择日期"
style="width: 100%;" value-format="yyyy-MM-dd HH:mm:ss" clearable></el-date-picker>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="地点" prop="place">
<el-input v-model="postForm.place" placeholder="地点" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="处理状态" prop="disposeState">
<el-select v-model="postForm.disposeState" placeholder="处理状态" clearable style="width: 100%;">
<el-option v-for="(item, index) in dict.type.repair_state" :key="index" :label="item.label"
:value="item.value"></el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="报修时间:" prop="reportRepairTime">
<el-date-picker v-model="postForm.reportRepairTime" type="datetime" placeholder="选择日期"
style="width: 100%;" value-format="yyyy-MM-dd HH:mm:ss" clearable></el-date-picker>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="评价" prop="evaluate">
<el-rate v-model="postForm.evaluate" :max="5"></el-rate>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<el-form-item label="备注" prop="remark">
<el-input type="textarea" v-model="postForm.remark" placeholder="请输入内容" />
</el-form-item>
</el-col>
</el-row>
</el-form>
<div style="text-align: center">
<el-button type="primary" v-show="isEditable" @click="submitForm">确 定</el-button>
<el-button @click="cancel">{{ isEditable ? '取 消' : '退 出' }}</el-button>
</div>
</el-dialog>
<pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize"
@pagination="getList"></pagination>
</div>
</template>
<script>
import {
getRepair,
queryRepair,
addRepair,
editRepair,
deleteRepair,
getRepairencode,//根据自编码获取设备信息
getRepairname
} from '@/api/smartSchool/schoolProperty/repairApplicant.js'
import { getUserList } from "../../../../api/smartSchool/schoolProperty/equipmenTledger";
export default {
name: 'repairApplicant',
dicts: ['dispose_state', 'repair_state'],
data() {
return {
isReadOnly: false,
sbflOptions: [],
repairStatusOptions: {
},
maintainState: '',
queryParams: {
equipmentName: "",
classificationCode: "",
repairState: "",
disposeState: "",
pageNum: 1,
pageSize: 10,
},
// 表格数据
applyTable: [],
// 查询表单
queryForm: {
pageNum: 1,
pageSize: 10,
},
// 遮罩层
loading: false,
// 选中数组
ids: [],
// 非单个禁用
single: true,
// 非多个禁用
multiple: true,
// 是否只读
readonly: false,
// 多个禁用
multi: false,
// 显示搜索条件
showSearch: true,
// 信息列表
infoList: [],
// 数据总数
total: 0,
userList: [],
// 新增/修改表单
postForm: {
equipmentId: null,
classificationCode: "",
reportRepairId: "",
reportRepair: "",
problem: "",
repairId: "",
repairName: "",
repairPhone: "",
repairTime: "",
repairState: "",
disposeState: "",
evaluate: null,
remark: "",
equipmentName: null,
model: null,
place: null,
dateOfProduction: null
},
// 是否显示新增弹出层
open: false,
isEditable: true,
// 查看对话框
openLook: false,
// // 表单校验
rules: {
encode: [
{ required: true, message: "自编码不能为空", trigger: "blur" }
],
reportRepairId: [
{ required: true, message: "报修人不能为空", trigger: "blur" }
]
},
// 弹出层标题
title: '',
form: {
id: "",
maintainResult: "",
evaluate: 0,
}
}
},
created() {
this.postForm.evaluate = 5;
this.getList();
this.getRepairname();
this.getSelectUser();
},
methods: {
/** 获取列表数据 */
getList() {
getRepair(this.queryParams).then(response => {
this.loading = false;
this.applyTable = response.rows;
console.log('this.applyTable', this.applyTable);
this.total = response.total;
}).catch(err => {
this.loading = false;
})
},
/** 查看 */
handleLook(row) {
this.form = row;
const id = row.id || this.ids;
queryRepair(id).then(response => {
this.postForm = response.data;
this.open = true;
this.isEditable = false
}).catch(err => {
})
this.title = "查看";
},
//获取报修人数据
getSelectUser() {
getUserList().then(res => {
if (res.code == 200) {
this.userList = res.rows
}
})
},
// 重置按钮
resetQuery() {
this.queryParams = {
id: "",
repairsTime: null,
pageNum: 1,
pageSize: 10,
}
this.getList(); // 重新发一次请求
},
// 新增按钮操作
handleAdd() {
this.isShow = true;
this.isDisabled = false;
this.open = true;
this.title = "添加申请";
this.reset();
},
// 根据自编码获取设备信息
getRencode() {
const code = this.postForm.encode
getRepairencode(code).then(res => {
if (res.code == 200) {
this.postForm.equipmentId = res.data.equipmentId
this.postForm.model = res.data.model
this.postForm.equipmentName = res.data.equipmentName
this.postForm.dateOfProduction = res.data.dateOfProduction
}
})
},
//获取修理人下拉框
getRepairname() {
getRepairname().then(((res) => {
if (res.code == 200) {
this.sbflOptions = res.data;
console.log('this.sbflOptions', this.sbflOptions);
}
})).catch(err => {
})
},
// 修改按钮操作
handleUpdate(row) {
const id = row.id || this.ids;
this.title = "修改申请";
queryRepair(id).then(response => {
this.postForm = response.data;
this.open = true;
this.isEditable = true;
}).catch(err => {
})
},
/** 删除按钮操作 */
handleDelete(row) {
const ids = row.id || this.ids;
this.$modal.confirm('是否确认删除"' + ids + '"的数据项?').then(function () {
return deleteRepair(ids);
}).then(() => {
this.getList();
this.$modal.msgSuccess("删除成功");
}).catch(() => { });
},
// 提交表单
submitForm() {
const reportRepairId = this.postForm.reportRepairId;
this.postForm.reportRepair = reportRepairId == '' ? '' : this.userList.find(item => item.userId == reportRepairId).userName;
this.$refs["postForm"].validate(valid => {
if (valid) {
this.$modal.loading('正在上传数据,请稍等...');
if (this.postForm.disposeState === "1" || this.postForm.disposeState === "0") {
this.postForm.repairState = "1";
} else if (this.postForm.disposeState === null) {
this.postForm.repairState = "0";
} else {
this.postForm.repairState = "0"; // 当 disposeState 不满足上述条件时,默认设置为 0
}
if (this.postForm.id != null) {
editRepair(this.postForm).then(response => {
console.log('this.postForm',);
this.$modal.closeLoading();
this.$modal.msgSuccess("修改成功");
this.open = false;
this.getList();
}).catch(err => {
this.$modal.closeLoading();
});
} else {
if (this.postForm.disposeState === "1" || this.postForm.disposeState === "0") {
this.postForm.repairState = "1";
} else if (this.postForm.disposeState === null) {
this.postForm.repairState = "0";
} else {
this.postForm.repairState = "0"; // 当 disposeState 不满足上述条件时,默认设置为 0
}
addRepair(this.postForm).then(response => {
console.log(this.postForm);
this.$modal.closeLoading();
this.$modal.msgSuccess("新增成功");
this.open = false;
this.getList();
}).catch(err => {
this.$modal.closeLoading();
});
}
}
}
);
},
// 取消按钮
cancel() {
this.open = false;
this.reset();
},
reset() {
// 这里需要重置对话框表单
this.postForm = {
equipmentId: null,
classificationCode: "",
reportRepairId: "",
reportRepair: "",
problem: "",
repairId: "",
repairName: "",
repairPhone: "",
repairTime: "",
repairState: "",
disposeState: "",
evaluate: null,
remark: "",
equipmentName: null,
model: null,
place: null,
dateOfProduction: null
};
},
}
}
</script>
<style>
.hidden-item {
display: none;
}
</style>
...@@ -92,7 +92,9 @@ ...@@ -92,7 +92,9 @@
<el-table-column label="工号" align="center" prop="teacherCode"/> <el-table-column label="工号" align="center" prop="teacherCode"/>
<el-table-column label="职务" align="center" prop="teacherPost"/> <el-table-column label="职务" align="center" prop="teacherPost"/>
<el-table-column label="电话号码" align="center" prop="teacherTel"/> <el-table-column label="电话号码" align="center" prop="teacherTel"/>
<el-table-column label="家庭住址" align="center" prop="homeAddress"/> <el-table-column label="职务" align="center" prop="teacherPost"/>
<el-table-column label="电话号码" align="center" prop="teacherTel"/>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width"> <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button <el-button
......
...@@ -2,25 +2,11 @@ ...@@ -2,25 +2,11 @@
<div class="app-container"> <div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px"> <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="学年" prop="schoolYear"> <el-form-item label="学年" prop="schoolYear">
<el-input <el-input v-model="queryParams.schoolYear" placeholder="请输入学年" clearable @keyup.enter.native="handleQuery" />
v-model="queryParams.schoolYear"
placeholder="请输入学年"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item> </el-form-item>
<el-form-item label="年级" prop="gradeValue"> <el-form-item label="年级" prop="gradeValue">
<el-select <el-select v-model="queryParams.gradeValue" clearable placeholder="请选择年级" style="width: 100%;">
v-model="queryParams.gradeValue" <el-option v-for="dict in dict.type.Grade" :key="dict.value" :label="dict.label" :value="dict.value">
clearable
placeholder="请选择年级"
style="width: 100%;"
>
<el-option
v-for="dict in dict.type.Grade"
:key="dict.value"
:label="dict.label"
:value="dict.value">
</el-option> </el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
...@@ -31,38 +17,18 @@ ...@@ -31,38 +17,18 @@
</el-form> </el-form>
<el-row :gutter="10" class="mb8"> <el-row :gutter="10" class="mb8">
<el-col :span="1.5"> <el-col :span="1.5">
<el-button <el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAdd"
type="primary" v-hasPermi="['system:grade:add']"> 新 增
plain
icon="el-icon-plus"
size="mini"
@click="handleAdd"
v-hasPermi="['system:grade:add']"
> 新 增
</el-button> </el-button>
</el-col> </el-col>
<el-col :span="1.5"> <el-col :span="1.5">
<el-button <el-button type="success" plain icon="el-icon-edit" size="mini" :disabled="single" @click="handleUpdate"
type="success" v-hasPermi="['system:grade:edit']"> 修 改
plain
icon="el-icon-edit"
size="mini"
:disabled="single"
@click="handleUpdate"
v-hasPermi="['system:grade:edit']"
> 修 改
</el-button> </el-button>
</el-col> </el-col>
<el-col :span="1.5"> <el-col :span="1.5">
<el-button <el-button type="danger" plain icon="el-icon-delete" size="mini" :disabled="multiple" @click="handleDelete"
type="danger" v-hasPermi="['system:grade:remove']"> 删 除
plain
icon="el-icon-delete"
size="mini"
:disabled="multiple"
@click="handleDelete"
v-hasPermi="['system:grade:remove']"
> 删 除
</el-button> </el-button>
</el-col> </el-col>
<el-col :span="1.5"> <el-col :span="1.5">
...@@ -84,114 +50,65 @@ ...@@ -84,114 +50,65 @@
</el-row> </el-row>
<el-table :data="gradeList" v-loading="loading" @selection-change="handleSelectionChange"> <el-table :data="gradeList" v-loading="loading" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center"/> <el-table-column type="selection" width="55" align="center" />
<el-table-column label="届/级" align="center" min-width="100" prop="gradeYear"> <el-table-column label="届/级" align="center" min-width="100" prop="gradeYear">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ scope.row.gradeYear }}</span> <span>{{ scope.row.gradeYear }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="级部名称" align="center" min-width="150" prop="gradeName"/> <el-table-column label="级部名称" align="center" min-width="150" prop="gradeName" />
<el-table-column label="学年" align="center" min-width="100" prop="schoolYear"/> <el-table-column label="学年" align="center" min-width="100" prop="schoolYear" />
<el-table-column label="年级" align="center" min-width="110" prop="gradeValue"> <el-table-column label="年级" align="center" min-width="110" prop="gradeValue">
<template slot-scope="scope"> <template slot-scope="scope">
<dict-tag :options="dict.type.Grade" :value="scope.row.gradeValue"/> <dict-tag :options="dict.type.Grade" :value="scope.row.gradeValue" />
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="备注" align="center" min-width="300" prop="remark"/> <el-table-column label="备注" align="center" min-width="300" prop="remark" />
<el-table-column label="操作" min-width="250" align="center" class-name="small-padding fixed-width"> <el-table-column label="操作" min-width="250" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button <el-button size="mini" type="text" icon="el-icon-edit" @click="gradeMemberList(scope.row)"
size="mini" v-hasPermi="['system:grade:edit']">级部成员
type="text"
icon="el-icon-edit"
@click="gradeMemberList(scope.row)"
v-hasPermi="['system:grade:edit']"
>级部成员
</el-button> </el-button>
<el-button <el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)"
size="mini" v-hasPermi="['system:grade:edit']">修改
type="text"
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
v-hasPermi="['system:grade:edit']"
>修改
</el-button> </el-button>
<el-button <el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)"
size="mini" v-hasPermi="['system:grade:remove']">删除
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
v-hasPermi="['system:grade:remove']"
>删除
</el-button> </el-button>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
<pagination <pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize"
v-show="total>0" @pagination="getList" />
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
<!-- 添加或修改学校年级级部对话框 --> <!-- 添加或修改学校年级级部对话框 -->
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body> <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="100px"> <el-form ref="form" :model="form" :rules="rules" label-width="100px">
<el-form-item label="届/级:" prop="gradeYear"> <el-form-item label="届/级:" prop="gradeYear">
<el-date-picker <el-date-picker style="width: 100%;" value-format="yyyy" v-model="form.gradeYear" type="year"
style="width: 100%;"
value-format="yyyy"
v-model="form.gradeYear"
type="year"
placeholder="请选择届/级"> placeholder="请选择届/级">
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
<el-form-item label="级部名称:" prop="gradeName"> <el-form-item label="级部名称:" prop="gradeName">
<el-input <el-input disabled v-model="form.gradeName" placeholder="请选择上方的届/级" clearable />
disabled
v-model="form.gradeName"
placeholder="请选择上方的届/级"
clearable
/>
</el-form-item> </el-form-item>
<el-form-item label="学年:" prop="schoolYear"> <el-form-item label="学年:" prop="schoolYear">
<el-date-picker <el-date-picker style="width: 100%;" v-model="form.schoolYear" value-format="yyyy" type="year"
style="width: 100%;" :picker-options="pickerOptions" placeholder="选择学年">
v-model="form.schoolYear"
value-format="yyyy"
type="year"
:picker-options="pickerOptions"
placeholder="选择学年">
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
<el-form-item label="年级:" prop="gradeValue"> <el-form-item label="年级:" prop="gradeValue">
<el-select <el-select v-model="form.gradeValue" disabled clearable style="width: 100%;" placeholder="请选择上方的学年">
v-model="form.gradeValue" <el-option v-for="dict in dict.type.Grade" :key="dict.value" :label="dict.label" :value="Number(dict.value)">
disabled
clearable
style="width: 100%;"
placeholder="请选择上方的学年"
>
<el-option
v-for="dict in dict.type.Grade"
:key="dict.value"
:label="dict.label"
:value="Number(dict.value)">
</el-option> </el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="备注" prop="remark"> <el-form-item label="备注" prop="remark">
<el-input <el-input v-model="form.remark" placeholder="请输入备注" clearable type="textarea"
v-model="form.remark" @keyup.enter.native="handleQuery" />
placeholder="请输入备注"
clearable
type="textarea"
@keyup.enter.native="handleQuery"
/>
</el-form-item> </el-form-item>
</el-form> </el-form>
<div slot="footer" class="dialog-footer"> <div slot="footer" class="dialog-footer">
...@@ -261,10 +178,10 @@ export default { ...@@ -261,10 +178,10 @@ export default {
form: {}, form: {},
// 表单校验 // 表单校验
rules: { rules: {
gradeYear: [{required: true, message: '届/级不能为空', trigger: 'change'}], gradeYear: [{ required: true, message: '届/级不能为空', trigger: 'change' }],
gradeName: [{required: true, message: '级部名称不能为空', trigger: 'blur'}], gradeName: [{ required: true, message: '级部名称不能为空', trigger: 'blur' }],
schoolYear: [{required: true, message: '学年不能为空', trigger: 'change'}], schoolYear: [{ required: true, message: '学年不能为空', trigger: 'change' }],
gradeValue: [{required: true, message: '年级不能为空', trigger: 'change'}], gradeValue: [{ required: true, message: '年级不能为空', trigger: 'change' }],
// remark: [{required: true, message: '备注不能为空', trigger: 'blur'}], // remark: [{required: true, message: '备注不能为空', trigger: 'blur'}],
}, },
pickerOptions: { pickerOptions: {
...@@ -323,6 +240,8 @@ export default { ...@@ -323,6 +240,8 @@ export default {
type: 'success', type: 'success',
message: '升级操作成功!' message: '升级操作成功!'
}); });
this.getList();
} else { } else {
this.$modal.msgError("升级操作失败"); this.$modal.msgError("升级操作失败");
} }
......
...@@ -8,17 +8,17 @@ ...@@ -8,17 +8,17 @@
</el-form-item> </el-form-item>
<el-form-item label="年级:" prop="gradeValue"> <el-form-item label="年级:" prop="gradeValue">
<el-select v-model="queryParams.gradeValue" style="width:100%;" placeholder="请选择学生年级"> <el-select v-model="queryParams.gradeValue" style="width:100%;" placeholder="请选择学生年级">
<el-option v-for="dict in dict.type.Grade" :key="dict.value" :label="dict.label" :value="dict.value"/> <el-option v-for="dict in dict.type.Grade" :key="dict.value" :label="dict.label" :value="dict.value" />
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="班级:" prop="classValue"> <el-form-item label="班级:" prop="classValue">
<el-select v-model="queryParams.classValue" style="width:100%;" placeholder="请选择学生班级"> <el-select v-model="queryParams.classValue" style="width:100%;" placeholder="请选择学生班级">
<el-option v-for="dict in dict.type.Class" :key="dict.value" :label="dict.label" :value="dict.value"/> <el-option v-for="dict in dict.type.Class" :key="dict.value" :label="dict.label" :value="dict.value" />
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="性别:" prop="sex"> <el-form-item label="性别:" prop="sex">
<el-select v-model="queryParams.sex" style="width:100%;" placeholder="请选择学生性别"> <el-select v-model="queryParams.sex" style="width:100%;" placeholder="请选择学生性别">
<el-option v-for="dict in dict.type.sys_user_sex" :key="dict.value" :label="dict.label" :value="dict.value"/> <el-option v-for="dict in dict.type.sys_user_sex" :key="dict.value" :label="dict.label" :value="dict.value" />
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="级/届:" prop="enrollmentYear"> <el-form-item label="级/届:" prop="enrollmentYear">
...@@ -107,60 +107,59 @@ ...@@ -107,60 +107,59 @@
<el-table stripe v-loading="loading" width="100%" :cell-style="cellStyle" :data="studentList" <el-table stripe v-loading="loading" width="100%" :cell-style="cellStyle" :data="studentList"
@selection-change="handleSelectionChange"> @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center"/> <el-table-column type="selection" width="55" align="center" />
<el-table-column fixed="left" key="avatar" align="center" prop="avatar" label="头像"> <el-table-column fixed="left" key="avatar" align="center" prop="avatar" label="头像">
<template slot-scope="scope"> <template slot-scope="scope">
<ListImage :image-url="isEmptyAvatar(scope.row.avatar, scope.row.sex)"></ListImage> <ListImage :image-url="isEmptyAvatar(scope.row.avatar, scope.row.sex)"></ListImage>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column fixed="left" key="studentName" min-width="80px" align="center" prop="studentName" label="姓名"/> <el-table-column fixed="left" key="studentName" min-width="80px" align="center" prop="studentName" label="姓名" />
<el-table-column key="grade" min-width="100px" align="center" prop="classAlias" label="班级"/> <el-table-column key="grade" min-width="100px" align="center" prop="classAlias" label="班级" />
<el-table-column key="sex" min-width="50" align="center" prop="sex" label="性别"> <el-table-column key="sex" min-width="50" align="center" prop="sex" label="性别">
<template slot-scope="scope"> <template slot-scope="scope">
<dict-tag :options="dict.type.sys_user_sex" :value="scope.row.sex"></dict-tag> <dict-tag :options="dict.type.sys_user_sex" :value="scope.row.sex"></dict-tag>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column key="nation" width="100" align="center" prop="nation" label="民族"/> <el-table-column key="nation" width="100" align="center" prop="nation" label="民族" />
<el-table-column key="nativePlace" min-width="100" header-align="center" align="center" prop="nativePlace" <el-table-column key="nativePlace" min-width="100" header-align="center" align="center" prop="nativePlace"
label="籍贯" show-overflow-tooltip></el-table-column> label="籍贯" show-overflow-tooltip></el-table-column>
<el-table-column key="idCard" width="180" align="center" prop="idCard" label="身份证号"/> <el-table-column key="idCard" width="180" align="center" prop="idCard" label="身份证号" />
<el-table-column key="stuTelephone" width="130" align="center" prop="stuTelephone" label="联系电话"/> <el-table-column key="schoolNo" width="100" align="center" prop="schoolNo" label="注册序号" />
<el-table-column key="birthAddress" width="150" align="center" prop="birthAddress" label="出生地"/> <el-table-column key="stuTelephone" width="130" align="center" prop="stuTelephone" label="联系电话" />
<el-table-column key="postalCode" width="150" align="center" prop="postalCode" label="邮政编码"/> <el-table-column key="birthAddress" width="150" align="center" prop="birthAddress" label="出生地" />
<el-table-column key="enrollmentYear" width="100" align="center" prop="enrollmentYear" label="级/届"/> <el-table-column key="postalCode" width="150" align="center" prop="postalCode" label="邮政编码" />
<el-table-column key="enrollmentYear" width="100" align="center" prop="enrollmentYear" label="级/届" />
<el-table-column key="enrollmentTime" min-width="100" header-align="center" align="center" prop="enrollmentTime" <el-table-column key="enrollmentTime" min-width="100" header-align="center" align="center" prop="enrollmentTime"
label="入学时间" show-overflow-tooltip></el-table-column> label="入学时间" show-overflow-tooltip></el-table-column>
<el-table-column key="platform" width="180" align="center" prop="platform" label="平台"/> <el-table-column key="platform" width="180" align="center" prop="platform" label="平台" />
<el-table-column key="studentType" width="130" align="center" prop="studentType" label="学生类型"> <el-table-column key="studentType" width="130" align="center" prop="studentType" label="学生类型">
<template slot-scope="scope"> <template slot-scope="scope">
<dict-tag :options="dict.type.student_type" :value="scope.row.studentType"></dict-tag> <dict-tag :options="dict.type.student_type" :value="scope.row.studentType"></dict-tag>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column key="provincialNumber" width="150" align="center" prop="provincialNumber" label="省学籍辅号"/> <el-table-column key="provincialNumber" width="150" align="center" prop="provincialNumber" label="省学籍辅号" />
<el-table-column key="nationalNumber" width="150" align="center" prop="nationalNumber" label="全国学籍号"/> <el-table-column key="nationalNumber" width="150" align="center" prop="nationalNumber" label="全国学籍号" />
<el-table-column key="studentStatus" width="80" align="center" prop="studentStatus" label="学生状态"> <el-table-column key="studentStatus" width="80" align="center" prop="studentStatus" label="学生状态">
<template slot-scope="scope"> <template slot-scope="scope">
<dict-tag :options="dict.type.child_state" :value="scope.row.studentStatus"></dict-tag> <dict-tag :options="dict.type.child_state" :value="scope.row.studentStatus"></dict-tag>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column key="schoolNo" width="100" align="center" prop="schoolNo" label="注册序号"/>
<el-table-column key="registeredAddress" min-width="100" header-align="center" align="center" <el-table-column key="registeredAddress" min-width="100" header-align="center" align="center"
prop="registeredAddress" label="户口所在地" show-overflow-tooltip></el-table-column> prop="registeredAddress" label="户口所在地" show-overflow-tooltip></el-table-column>
<el-table-column key="registeredType" width="180" align="center" prop="registeredType" label="户口性质"> <el-table-column key="registeredType" width="180" align="center" prop="registeredType" label="户口性质">
<template slot-scope="scope"> <template slot-scope="scope">
<dict-tag :options="dict.type.regist_type" :value="scope.row.registeredType"/> <dict-tag :options="dict.type.regist_type" :value="scope.row.registeredType" />
</template> </template>
</el-table-column> </el-table-column>
<el-table-column key="juniorSchool" width="130" align="center" prop="juniorSchool" label="初中学校"/> <el-table-column key="juniorSchool" width="130" align="center" prop="juniorSchool" label="初中学校" />
<el-table-column key="region" width="150" align="center" prop="region" label="国家地区"/> <el-table-column key="region" width="150" align="center" prop="region" label="国家地区" />
<el-table-column key="foreignLanguages" width="150" align="center" prop="foreignLanguages" label="外语语种"/> <el-table-column key="foreignLanguages" width="150" align="center" prop="foreignLanguages" label="外语语种" />
<el-table-column key="appearance" width="150" align="center" prop="appearance" label="政治面貌"> <el-table-column key="appearance" width="150" align="center" prop="appearance" label="政治面貌">
<template slot-scope="scope"> <template slot-scope="scope">
<dict-tag :options="dict.type.politics_tatus" :value="scope.row.appearance"></dict-tag> <dict-tag :options="dict.type.politics_tatus" :value="scope.row.appearance"></dict-tag>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column key="birthday" width="120" sortable align="center" prop="birthday" <el-table-column key="birthday" width="120" sortable align="center" prop="birthday" label="出生日期"></el-table-column>
label="出生日期"></el-table-column>
<el-table-column key="homeAddress" min-width="200" align="center" prop="homeAddress" label="家庭住址" <el-table-column key="homeAddress" min-width="200" align="center" prop="homeAddress" label="家庭住址"
show-overflow-tooltip> show-overflow-tooltip>
<template v-slot="scope"> <template v-slot="scope">
...@@ -169,15 +168,14 @@ ...@@ -169,15 +168,14 @@
</span> </span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column key="bloodType" width="100" align="center" prop="bloodType" label="血型"/> <el-table-column key="bloodType" width="100" align="center" prop="bloodType" label="血型" />
<el-table-column key="health" min-width="100" header-align="center" align="center" prop="health" label="健康状况" <el-table-column key="health" min-width="100" header-align="center" align="center" prop="health" label="健康状况"
show-overflow-tooltip></el-table-column> show-overflow-tooltip></el-table-column>
<el-table-column key="otherRegions" width="180" align="center" prop="otherRegions" label="港澳台侨"/> <el-table-column key="otherRegions" width="180" align="center" prop="otherRegions" label="港澳台侨" />
<el-table-column key="floatingPopulation" width="130" align="center" prop="floatingPopulation" <el-table-column key="floatingPopulation" width="130" align="center" prop="floatingPopulation" label="流动人口状况" />
label="流动人口状况"/>
<el-table-column key="onlyChild" width="150" align="center" prop="onlyChild" label="独生子女"> <el-table-column key="onlyChild" width="150" align="center" prop="onlyChild" label="独生子女">
<template slot-scope="scope"> <template slot-scope="scope">
<dict-tag :options="dict.type.only_child" :value="scope.row.onlyChild"/> <dict-tag :options="dict.type.only_child" :value="scope.row.onlyChild" />
</template> </template>
</el-table-column> </el-table-column>
<el-table-column key="nature" width="150" align="center" prop="nature" label="性质"> <el-table-column key="nature" width="150" align="center" prop="nature" label="性质">
...@@ -203,17 +201,16 @@ ...@@ -203,17 +201,16 @@
</el-table> </el-table>
<ExPagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize" <ExPagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize"
@pagination="getList"/> @pagination="getList" />
<!-- 添加或修改学生对话框 --> <!-- 添加或修改学生对话框 -->
<el-dialog :title="title" :visible.sync="open" width="1200px" @close="dialogClose"> <el-dialog :title="title" :visible.sync="open" width="1200px" @close="dialogClose">
<el-form ref="form" :model="form" label-width="114px" :rules="rules" :disabled="formDisabled"> <el-form ref="form" :model="form" label-width="114px" :rules="rules" :disabled="formDisabled">
<el-form-item prop="avatar" label-width="0" style="display: flex; justify-content: center;"> <el-form-item prop="avatar" label-width="0" style="display: flex; justify-content: center;">
<el-upload v-loading="uploadLoading" class="avatar-uploader" action="#" accept="image/*" <el-upload v-loading="uploadLoading" class="avatar-uploader" action="#" accept="image/*" :show-file-list="false"
:show-file-list="false"
:on-success="handleAvatarSuccess" :before-upload="beforeAvatarUpload" :http-request="uploadImage"> :on-success="handleAvatarSuccess" :before-upload="beforeAvatarUpload" :http-request="uploadImage">
<img v-if="form.avatar" :src="baseUrl + form.avatar" style="width: 178px; height: 178px;" class="avatar" <img v-if="form.avatar" :src="baseUrl + form.avatar" style="width: 178px; height: 178px;" class="avatar"
alt=""/> alt="" />
<i v-else class="el-icon-plus avatar-uploader-icon"></i> <i v-else class="el-icon-plus avatar-uploader-icon"></i>
</el-upload> </el-upload>
<div slot="error"> <div slot="error">
...@@ -302,8 +299,7 @@ ...@@ -302,8 +299,7 @@
<el-col :span="8"> <el-col :span="8">
<el-form-item label="民族:" prop="nation"> <el-form-item label="民族:" prop="nation">
<el-select :disabled="isEditMode" v-model="form.nation" placeholder="请选择民族" style="width: 100%"> <el-select :disabled="isEditMode" v-model="form.nation" placeholder="请选择民族" style="width: 100%">
<el-option v-for="item in Nations" :key="item.label" :label="item.label" <el-option v-for="item in Nations" :key="item.label" :label="item.label" :value="item.label"></el-option>
:value="item.label"></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
...@@ -384,10 +380,7 @@ ...@@ -384,10 +380,7 @@
<el-col :span="8"> <el-col :span="8">
<el-form-item label="户口性质:" prop="registeredType"> <el-form-item label="户口性质:" prop="registeredType">
<el-select v-model="form.registeredType" style="width: 100%" placeholder="请输入户口性质"> <el-select v-model="form.registeredType" style="width: 100%" placeholder="请输入户口性质">
<el-option <el-option v-for="dict in dict.type.regist_type" :key="dict.value" :label="dict.label"
v-for="dict in dict.type.regist_type"
:key="dict.value"
:label="dict.label"
:value="dict.value"> :value="dict.value">
</el-option> </el-option>
</el-select> </el-select>
...@@ -441,11 +434,7 @@ ...@@ -441,11 +434,7 @@
<el-col :span="8"> <el-col :span="8">
<el-form-item label="独生子女:" prop="onlyChild"> <el-form-item label="独生子女:" prop="onlyChild">
<el-select v-model="form.onlyChild" style="width: 100%" placeholder="请选择是否为独生子女"> <el-select v-model="form.onlyChild" style="width: 100%" placeholder="请选择是否为独生子女">
<el-option <el-option v-for="dict in dict.type.only_child" :key="dict.value" :label="dict.label" :value="dict.value">
v-for="dict in dict.type.only_child"
:key="dict.value"
:label="dict.label"
:value="dict.value">
</el-option> </el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
...@@ -468,12 +457,12 @@ ...@@ -468,12 +457,12 @@
</el-col> </el-col>
</el-row> </el-row>
<div v-if="lookOpen"> <div v-if="lookOpen">
<br/> <br/> <br/> <br /> <br /> <br />
<b>班级信息</b> <b>班级信息</b>
<br/> <br/> <br /> <br />
<el-table :data="studentClassRelation" border :row-style="{ height: '30px' }" :cell-style="{ padding: '0' }" <el-table :data="studentClassRelation" border :row-style="{ height: '30px' }" :cell-style="{ padding: '0' }"
style="font-size: 14px" stripe> style="font-size: 14px" stripe>
<el-table-column type="index" label="序号" width="240" align="center"/> <el-table-column type="index" label="序号" width="240" align="center" />
<el-table-column prop="" label="学年" width="240" align="center">{{ <el-table-column prop="" label="学年" width="240" align="center">{{
studentClassRelation[0].schoolYear studentClassRelation[0].schoolYear
}} }}
...@@ -483,46 +472,46 @@ ...@@ -483,46 +472,46 @@
}} }}
</el-table-column> </el-table-column>
</el-table> </el-table>
<br/> <br/> <br/> <br /> <br /> <br />
<b>家长信息</b> <b>家长信息</b>
<br/> <br/> <br /> <br />
<el-table :data="studentParents" border :row-style="{ height: '30px' }" :cell-style="{ padding: '0' }" <el-table :data="studentParents" border :row-style="{ height: '30px' }" :cell-style="{ padding: '0' }"
style="font-size: 14px" stripe> style="font-size: 14px" stripe>
<el-table-column type="index" label="序号" width="60" align="center"/> <el-table-column type="index" label="序号" width="60" align="center" />
<el-table-column prop="relationship" label="关系" min-width="60" align="center"> <el-table-column prop="relationship" label="关系" min-width="60" align="center">
<template slot-scope="scope"> <template slot-scope="scope">
<dict-tag :options="dict.type.relationship" :value="scope.row.relationship"/> <dict-tag :options="dict.type.relationship" :value="scope.row.relationship" />
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="parentName" label="家长姓名" align="center"/> <el-table-column prop="parentName" label="家长姓名" align="center" />
<el-table-column prop="telephone" label="联系电话" min-width="120" align="center"/> <el-table-column prop="telephone" label="联系电话" min-width="120" align="center" />
<el-table-column prop="idCard" label="身份证号" min-width="160" align="center"/> <el-table-column prop="idCard" label="身份证号" min-width="160" align="center" />
<el-table-column label="工作地址" align="center" prop="workAddress" min-width="120"/> <el-table-column label="工作地址" align="center" prop="workAddress" min-width="120" />
<el-table-column label="联系地址" align="center" prop="contactAddress" min-width="120"/> <el-table-column label="联系地址" align="center" prop="contactAddress" min-width="120" />
<el-table-column label="邮政编码" align="center" prop="postalCode" min-width="120"/> <el-table-column label="邮政编码" align="center" prop="postalCode" min-width="120" />
</el-table> </el-table>
<br/> <br/> <br/> <br /> <br /> <br />
<b>关键信息变更</b> <b>关键信息变更</b>
<br/> <br/> <br /> <br />
<el-table :data="studentInfoChange" border :row-style="{ height: '30px' }" :cell-style="{ padding: '0' }" <el-table :data="studentInfoChange" border :row-style="{ height: '30px' }" :cell-style="{ padding: '0' }"
style="font-size: 14px" stripe> style="font-size: 14px" stripe>
<el-table-column type="index" label="序号" width="240" align="center"/> <el-table-column type="index" label="序号" width="240" align="center" />
<el-table-column prop="studentName" label="曾:姓名" width="240" align="center"/> <el-table-column prop="studentName" label="曾:姓名" width="240" align="center" />
<el-table-column prop="idCard" label="曾:历史身份证号" align="center"/> <el-table-column prop="idCard" label="曾:历史身份证号" align="center" />
<el-table-column prop="nation" label="曾:民族" align="center"/> <el-table-column prop="nation" label="曾:民族" align="center" />
</el-table> </el-table>
<br/> <br/> <br/> <br /> <br /> <br />
<b>异动信息</b> <b>异动信息</b>
<br/> <br/> <br /> <br />
<el-table :data="studentTurnover" border :row-style="{ height: '30px' }" :cell-style="{ padding: '0' }" <el-table :data="studentTurnover" border :row-style="{ height: '30px' }" :cell-style="{ padding: '0' }"
style="font-size: 14px" stripe> style="font-size: 14px" stripe>
<el-table-column type="index" label="序号" width="60" align="center"/> <el-table-column type="index" label="序号" width="60" align="center" />
<el-table-column prop="changeType" label="异动类型" min-width="140" align="center"> <el-table-column prop="changeType" label="异动类型" min-width="140" align="center">
<template slot-scope="scope"> <template slot-scope="scope">
<dict-tag :options="dict.type.change_type" :value="scope.row.changeType"/> <dict-tag :options="dict.type.change_type" :value="scope.row.changeType" />
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="remark" min-width="240" label="说明" align="center"/> <el-table-column prop="remark" min-width="240" label="说明" align="center" />
</el-table> </el-table>
</div> </div>
</el-form> </el-form>
...@@ -573,11 +562,11 @@ ...@@ -573,11 +562,11 @@
</el-col> </el-col>
<el-col :span="7"> <el-col :span="7">
<el-switch v-model="permissionState1" :width="50" active-color="#13ce66" active-value="1" inactive-value="0" <el-switch v-model="permissionState1" :width="50" active-color="#13ce66" active-value="1" inactive-value="0"
@change="(state) => permissionAlter(state, '级部')"/> @change="(state) => permissionAlter(state, '级部')" />
</el-col> </el-col>
</el-row> </el-row>
<br/> <br />
<el-row> <el-row>
<el-col :span="17"> <el-col :span="17">
<span>班主任修改权限</span> <span>班主任修改权限</span>
...@@ -588,7 +577,7 @@ ...@@ -588,7 +577,7 @@
</el-switch> </el-switch>
</el-col> </el-col>
</el-row> </el-row>
<br/> <br />
<el-row> <el-row>
<el-col :span="17"> <el-col :span="17">
<span>家长修改权限</span> <span>家长修改权限</span>
...@@ -622,18 +611,18 @@ import { ...@@ -622,18 +611,18 @@ import {
getPermission, getPermission,
getAllInfo, getAllInfo,
} from '@/api/smartSchool/teachAffairAdministration/affairStudentManage' } from '@/api/smartSchool/teachAffairAdministration/affairStudentManage'
import {getToken} from '@/utils/auth' import { getToken } from '@/utils/auth'
import {CustomCellStyle} from '@/enums/customStyle' import { CustomCellStyle } from '@/enums/customStyle'
import {getClassList} from '@/api/smartSchool/classManage' import { getClassList } from '@/api/smartSchool/classManage'
import PicAvatar from '@/views/smartSchool/schoolManage/introduce/schoolInfo/profile/picAvatar' import PicAvatar from '@/views/smartSchool/schoolManage/introduce/schoolInfo/profile/picAvatar'
import {uploadImage as commonUpload} from '@/api/common' import { uploadImage as commonUpload } from '@/api/common'
import {ExportType, Gender, Nations, Area} from '@/enums/common' import { ExportType, Gender, Nations, Area } from '@/enums/common'
import {getYearList} from '@/utils/utilLibrary/getYearList' import { getYearList } from '@/utils/utilLibrary/getYearList'
import {getNewYear} from "@/api/smartSchool/teachAffairAdministration/affairClassView"; import { getNewYear } from "@/api/smartSchool/teachAffairAdministration/affairClassView";
export default { export default {
name: 'AffairStudentManage', name: 'AffairStudentManage',
components: {ClassSelect, PicAvatar}, components: { ClassSelect, PicAvatar },
dicts: ['only_child', 'regist_type', 'politics_tatus', 'sys_user_sex', 'Grade', 'Class', 'student_type', 'Whether_Delete', 'child_state', 'student_nature', "change_type", 'relationship'], dicts: ['only_child', 'regist_type', 'politics_tatus', 'sys_user_sex', 'Grade', 'Class', 'student_type', 'Whether_Delete', 'child_state', 'student_nature', "change_type", 'relationship'],
data() { data() {
return { return {
...@@ -711,19 +700,19 @@ export default { ...@@ -711,19 +700,19 @@ export default {
// 表单校验 // 表单校验
rules: { rules: {
idCard: [ idCard: [
{required: true, message: "身份证号不能为空", trigger: 'blur'}, { required: true, message: "身份证号不能为空", trigger: 'blur' },
{validator: this.validID, trigger: 'blur'} { validator: this.validID, trigger: 'blur' }
], ],
nation: [{required: true, message: '民族不能为空', trigger: 'blur'}], nation: [{ required: true, message: '民族不能为空', trigger: 'blur' }],
studentName: [{required: true, message: '学生姓名不能为空', trigger: 'blur'}], studentName: [{ required: true, message: '学生姓名不能为空', trigger: 'blur' }],
birthday: [{required: true, message: '出生日期不能为空', trigger: 'blur'}], birthday: [{ required: true, message: '出生日期不能为空', trigger: 'blur' }],
nativePlace: [{required: true, message: '籍贯不能为空', trigger: 'blur'}], nativePlace: [{ required: true, message: '籍贯不能为空', trigger: 'blur' }],
sex: [{required: true, message: '学生姓名不能为空', trigger: 'blur'}], sex: [{ required: true, message: '学生姓名不能为空', trigger: 'blur' }],
schoolNo: [{required: true, message: '注册序号不能为空', trigger: 'blur'}], schoolNo: [{ required: true, message: '注册序号不能为空', trigger: 'blur' }],
studentType: [{required: true, message: '学生类型不能为空', trigger: 'change'}], studentType: [{ required: true, message: '学生类型不能为空', trigger: 'change' }],
studentStatus: [{required: true, message: '学生状态不能为空', trigger: 'change'}], studentStatus: [{ required: true, message: '学生状态不能为空', trigger: 'change' }],
classAlias: [{required: true, message: '班级不能为空', trigger: 'change'}], classAlias: [{ required: true, message: '班级不能为空', trigger: 'change' }],
provincialNumber: [{required: true, message: '省学籍辅号不能为空', trigger: 'blur'}], provincialNumber: [{ required: true, message: '省学籍辅号不能为空', trigger: 'blur' }],
}, },
// 班级编辑表单 // 班级编辑表单
classForm: { classForm: {
...@@ -751,7 +740,7 @@ export default { ...@@ -751,7 +740,7 @@ export default {
// 是否更新已经存在的学生数据 // 是否更新已经存在的学生数据
updateSupport: 0, updateSupport: 0,
// 设置上传的请求头部 // 设置上传的请求头部
headers: {Authorization: 'Bearer ' + getToken()}, headers: { Authorization: 'Bearer ' + getToken() },
// 上传的地址 // 上传的地址
url: process.env.VUE_APP_BASE_API + '/school/student/importData' url: process.env.VUE_APP_BASE_API + '/school/student/importData'
}, },
...@@ -948,14 +937,14 @@ export default { ...@@ -948,14 +937,14 @@ export default {
this.$refs['form'].validate(valid => { this.$refs['form'].validate(valid => {
if (valid) { if (valid) {
if (this.form.id != undefined) { if (this.form.id != undefined) {
updateStudent(this.form).then(({code}) => { updateStudent(this.form).then(({ code }) => {
if (code == 200) { if (code == 200) {
this.$modal.msgSuccess('修改成功') this.$modal.msgSuccess('修改成功')
this.open = false this.open = false
this.getList() this.getList()
} }
}).catch(() => { }).catch(() => {
this.$modal.msgError("修改失败");
} }
) )
} else { } else {
...@@ -964,7 +953,7 @@ export default { ...@@ -964,7 +953,7 @@ export default {
this.open = false this.open = false
this.getList() this.getList()
}).catch(() => { }).catch(() => {
this.$modal.msgError("新增失败");
} }
) )
} }
...@@ -1000,7 +989,7 @@ export default { ...@@ -1000,7 +989,7 @@ export default {
this.upload.open = false this.upload.open = false
this.upload.isUploading = false this.upload.isUploading = false
this.$refs.upload.clearFiles() this.$refs.upload.clearFiles()
this.$alert("<div style='overflow: auto;overflow-x: hidden;max-height: 70vh;padding: 10px 20px 0;'>" + response.msg + '</div>', '导入结果', {dangerouslyUseHTMLString: true}) this.$alert("<div style='overflow: auto;overflow-x: hidden;max-height: 70vh;padding: 10px 20px 0;'>" + response.msg + '</div>', '导入结果', { dangerouslyUseHTMLString: true })
this.getList() this.getList()
}, },
// 提交上传文件 // 提交上传文件
...@@ -1016,9 +1005,9 @@ export default { ...@@ -1016,9 +1005,9 @@ export default {
exportFile(callback) { exportFile(callback) {
const ids = this.ids const ids = this.ids
const options = [ const options = [
{type: ExportType.TOTAL, path: '/school/student/export', params: {}}, { type: ExportType.TOTAL, path: '/school/student/export', params: {} },
{type: ExportType.SELECT, path: '/school/student/export/' + ids, params: {}}, { type: ExportType.SELECT, path: '/school/student/export/' + ids, params: {} },
{type: ExportType.QUERY, path: '/school/student/export', params: this.queryParams} { type: ExportType.QUERY, path: '/school/student/export', params: this.queryParams }
] ]
callback(options, `学生信息${new Date().getTime()}.xlsx`) callback(options, `学生信息${new Date().getTime()}.xlsx`)
}, },
...@@ -1076,14 +1065,14 @@ export default { ...@@ -1076,14 +1065,14 @@ export default {
const id = row.id const id = row.id
this.$router.push({ this.$router.push({
path: '/studentmanage/stuclass', path: '/studentmanage/stuclass',
query: {studentId: row.id} query: { studentId: row.id }
}) })
}, },
/**教务管理--学生管理---家长信息*/ /**教务管理--学生管理---家长信息*/
parentsEdit(row) { parentsEdit(row) {
this.$router.push({ this.$router.push({
path: '/teachAffairAdministration/studentManage/parentInfo', path: '/teachAffairAdministration/studentManage/parentInfo',
query: {studentId: row.id} query: { studentId: row.id }
}) })
}, },
// 学生积分 // 学生积分
......
<template> <template>
<div class="app-container"> <div class="app-container">
<!-- <div id="gradeEcharts" :style="{ width: '100%', height: '600px' }"></div>--> <el-form :model="queryForm" ref="queryForm" size="small" :inline="true" label-width="70px">
<el-form-item label="学年" prop="classYear">
<el-date-picker v-model="queryForm.classYear" clearable type="year" value-format="yyyy" style="width: 100%"
placeholder="选择年度"></el-date-picker>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="gradeAgeList">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
<el-button type="warning" plain icon="el-icon-download" size="mini" @click="handleExport">导出</el-button> <el-button type="warning" plain icon="el-icon-download" size="mini" @click="handleExport">导出</el-button>
<el-table </el-form-item>
:data="tableData" </el-form>
border <el-table :data="tableData" border stripe style="width: 100%">
stripe <el-table-column prop="gradeName" label="年级" align="center" width="180">
style="width: 100%">
<el-table-column
prop="gradeName"
label="年级"
align="center"
width="180">
</el-table-column> </el-table-column>
<el-table-column <el-table-column prop="num13" label="13岁" align="center" width="180">
prop="num13"
label="13岁"
align="center"
width="180">
</el-table-column> </el-table-column>
<el-table-column <el-table-column prop="num14" label="14岁" align="center" width="180">
prop="num14"
label="14岁"
align="center"
width="180">
</el-table-column> </el-table-column>
<el-table-column <el-table-column prop="num15" align="center" label="15岁">
prop="num15"
align="center"
label="15岁">
</el-table-column> </el-table-column>
<el-table-column <el-table-column prop="num16" align="center" label="16岁">
prop="num16"
align="center"
label="16岁">
</el-table-column> </el-table-column>
<el-table-column <el-table-column prop="num17" align="center" label="17岁">
prop="num17"
align="center"
label="17岁">
</el-table-column> </el-table-column>
<el-table-column <el-table-column prop="num18" align="center" label="18岁">
prop="num18"
align="center"
label="18岁">
</el-table-column> </el-table-column>
<el-table-column <el-table-column prop="num19" align="center" label="19岁">
prop="num19"
align="center"
label="19岁">
</el-table-column> </el-table-column>
<el-table-column <el-table-column prop="num20" align="center" label="20岁">
prop="num20"
align="center"
label="20岁">
</el-table-column> </el-table-column>
<el-table-column <el-table-column prop="num21" align="center" label="21岁">
prop="num21"
align="center"
label="21岁">
</el-table-column> </el-table-column>
<el-table-column <el-table-column prop="num22" align="center" label="22岁">
prop="num22"
align="center"
label="22岁">
</el-table-column> </el-table-column>
</el-table> </el-table>
</div> </div>
...@@ -71,25 +40,29 @@ ...@@ -71,25 +40,29 @@
<script> <script>
import * as echarts from 'echarts'; import * as echarts from 'echarts';
import {listGradeAge} from "@/api/smartSchool/teachAffairAdministration/ageStatistics"; import { listGradeAge } from "@/api/smartSchool/teachAffairAdministration/ageStatistics";
export default { export default {
name: "index", name: "index",
created() { created() {
this.gradeAgeList() this.gradeAgeList();
this.getNowYear();
}, },
mounted() { mounted() {
// console.log(echarts, 'create') // console.log(echarts, 'create')
// // 基于准备好的dom,初始化echarts实例 // // 基于准备好的dom,初始化echarts实例
// let myChart = echarts.init(document.getElementById('gradeEcharts')); // let myChart = echarts.init(document.getElementById('gradeEcharts'));
// // 绘制图表 // // 绘制图表
// myChart.setOption(this.gradeData); // myChart.setOption(this.gradeData);
// window.addEventListener("resize", function () { // window.addEventListener("resize", function () {
// myChart.resize() // myChart.resize()
// }) // })
}, },
data() { data() {
return { return {
queryForm: {
classYear: '',
},
tableData: [], tableData: [],
gradeData: { gradeData: {
title: { title: {
...@@ -172,12 +145,23 @@ export default { ...@@ -172,12 +145,23 @@ export default {
} }
}, },
methods: { methods: {
gradeAgeList() { gradeAgeList() {
listGradeAge().then((res) => { listGradeAge(this.classYear).then((res) => {
this.tableData = res.rows this.tableData = res.rows
console.log('this.tableData', this.tableData);
}) })
}, },
//获得当前年份
getNowYear() {
this.classYear = new Date().getFullYear() + '';
},
// 重置按钮
resetQuery() {
this.getNowYear();
this.getList();
},
/** 【导出】按钮 */ /** 【导出】按钮 */
handleExport() { handleExport() {
this.throttle(() => { this.throttle(() => {
...@@ -188,6 +172,4 @@ export default { ...@@ -188,6 +172,4 @@ export default {
} }
</script> </script>
<style scoped> <style scoped></style>
</style>
...@@ -209,14 +209,14 @@ ...@@ -209,14 +209,14 @@
prop="teacherTel" prop="teacherTel"
/> />
<el-table-column <el-table-column
label="学历" label="职工类型"
align="center" align="center"
prop="education" prop="employeeType"
> >
<template slot-scope="scope"> <template slot-scope="scope">
<dict-tag <dict-tag
:options="dict.type.education" :options="dict.type.employee_type"
:value="scope.row.education" :value="scope.row.employeeType"
/> />
</template> </template>
</el-table-column> </el-table-column>
...@@ -358,15 +358,15 @@ ...@@ -358,15 +358,15 @@
@export="exportFile" @export="exportFile"
></ExportTable> ></ExportTable>
<!-- 添加或修改学校老师对话框 --> <!-- 添加或修改学校老师对话框 -->
<el-dialog :title="title" :visible.sync="open" width="900px" append-to-body> <el-dialog :title="title" :visible.sync="open" width="60%" append-to-body>
<el-form <el-form
size="small" size="small"
ref="form" ref="form"
:model="form" :model="form"
:rules="rules" :rules="rules"
:disabled="isDisabled" :disabled="isDisabled"
label-width="80px" label-width="120px"
style="width: 100%;"
> >
<el-row :gutter="40"> <el-row :gutter="40">
<el-col :span="12" style="text-align: center;"> <el-col :span="12" style="text-align: center;">
...@@ -904,6 +904,7 @@ export default { ...@@ -904,6 +904,7 @@ export default {
this.loading = true; this.loading = true;
listInform(this.queryParams).then((response) => { listInform(this.queryParams).then((response) => {
this.informList = response.rows; this.informList = response.rows;
this.total = response.total; this.total = response.total;
this.loading = false; this.loading = false;
}); });
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment