Commit a72d21bd by zhaopanyu

zpy 10.27

parent b969a69b
...@@ -119,7 +119,7 @@ export default { ...@@ -119,7 +119,7 @@ export default {
}, },
selectedRows: [], // 用于存储选择的行数据 selectedRows: [], // 用于存储选择的行数据
//表格数据 //表格数据
tableData: [ ], tableData: [],
nowType: 0, // 0新增、1编辑、2查看 nowType: 0, // 0新增、1编辑、2查看
title: '', title: '',
// 弹窗 // 弹窗
...@@ -140,9 +140,9 @@ export default { ...@@ -140,9 +140,9 @@ export default {
// 重新渲染表格状态 // 重新渲染表格状态
refreshTable: true, refreshTable: true,
rules: { rules: {
parentId: [ // parentId: [
{ required: true, message: "上级分类不能为空", trigger: "blur" } // { required: true, message: "上级分类不能为空", trigger: "blur" }
], // ],
instrumentTypeName: [ instrumentTypeName: [
{ required: true, message: "仪器名称不能为空", trigger: "blur" } { required: true, message: "仪器名称不能为空", trigger: "blur" }
], ],
...@@ -210,7 +210,7 @@ export default { ...@@ -210,7 +210,7 @@ export default {
Object.keys(this.form).forEach(key => { Object.keys(this.form).forEach(key => {
if (res.data[key]) { if (res.data[key]) {
this.$set(this.form, key, res.data[key]); this.$set(this.form, key, res.data[key]);
} }
}); });
} }
......
...@@ -58,7 +58,7 @@ ...@@ -58,7 +58,7 @@
<el-col :span="20"> <el-col :span="20">
<el-form-item label="仪器分类" prop="instrumentTypeName"> <el-form-item label="仪器分类" prop="instrumentTypeName">
<treeselect v-model="form.instrumentTypeName" :options="equiList" :normalizer="normalizer" <treeselect v-model="form.instrumentTypeName" :options="equiList" :normalizer="normalizer"
placeholder="选择" clearable style="width: 100%" noOptionsText="暂无数据"/> placeholder="选择" clearable style="width: 100%" noOptionsText="暂无数据" />
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
...@@ -399,6 +399,8 @@ export default { ...@@ -399,6 +399,8 @@ export default {
}, },
// 仪器确定 // 仪器确定
submitparentForm: function () { submitparentForm: function () {
const useId = this.form.useId
this.form.useName = useId == '' ? '' : this.equiList.find(item => item.userId == useId).userName
this.$refs["form"].validate(valid => { this.$refs["form"].validate(valid => {
if (valid) { if (valid) {
if (this.form.id != null) { if (this.form.id != null) {
......
...@@ -19,6 +19,7 @@ ...@@ -19,6 +19,7 @@
<el-col :span="1.5"> <el-col :span="1.5">
<el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleOption(0)">新增</el-button> <el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleOption(0)">新增</el-button>
</el-col> </el-col>
</el-row> </el-row>
<el-table border v-loading="loading" :data="competitionData" stripe> <el-table border v-loading="loading" :data="competitionData" stripe>
<el-table-column fixed="left" label="序号" type="index" width="55" align="center" /> <el-table-column fixed="left" label="序号" type="index" width="55" align="center" />
...@@ -36,14 +37,13 @@ ...@@ -36,14 +37,13 @@
<div>{{ selectDictLabel(dict.type.competition_level, row.competitionLevel) }}</div> <div>{{ selectDictLabel(dict.type.competition_level, row.competitionLevel) }}</div>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="证书照片" align="center" prop="schoolAccessoryList"> <el-table-column label="证书照片" align="center">
<template slot-scope="scope"> <template slot-scope="scope">
<el-carousel :interval="4000" height="100px"> <div>
<el-carousel-item v-for="(item, index) in scope.row.schoolAccessoryList" :key="index"> <el-image v-for="(accessory, index) in scope.row.schoolAccessoryList" :key="index"
<el-image style="width: 100px; height: 100px" :src="item.accessoryUrl" style="width: 100px; height: 100px" :src="accessory.accessoryUrl"
:preview-src-list="[item.accessoryUrl]"></el-image> :preview-src-list="[accessory.accessoryUrl]"></el-image>
</el-carousel-item> </div>
</el-carousel>
</template> </template>
</el-table-column> </el-table-column>
...@@ -60,6 +60,7 @@ ...@@ -60,6 +60,7 @@
</el-table> </el-table>
<pagination ref="pageBlock" v-show="total > 0" :total="total" :page.sync="queryParams.pageNum" <pagination ref="pageBlock" v-show="total > 0" :total="total" :page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize" @pagination="getList" /> :limit.sync="queryParams.pageSize" @pagination="getList" />
<!-- 新增、编辑、查看弹窗 --> <!-- 新增、编辑、查看弹窗 -->
<el-dialog title="详细信息" :visible.sync="dialogVisible" width="50%"> <el-dialog title="详细信息" :visible.sync="dialogVisible" width="50%">
<el-form :model="form" ref="form" size="small" label-width="108px" :disabled="isEdit" :rules="rules"> <el-form :model="form" ref="form" size="small" label-width="108px" :disabled="isEdit" :rules="rules">
...@@ -71,8 +72,8 @@ ...@@ -71,8 +72,8 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="10"> <el-col :span="10">
<el-form-item label="参赛老师" prop="teacherName"> <el-form-item label="参赛老师" prop="teacherId">
<el-select v-model="form.teacherName" placeholder="请选择级部" clearable style="width: 100%;" <el-select v-model="form.teacherId" placeholder="请选择" clearable style="width: 100%;"
:disabled="nowType == 2 ? true : false"> :disabled="nowType == 2 ? true : false">
<el-option v-for="(item, index) in teacherList" :key="index" :label="item.userName" <el-option v-for="(item, index) in teacherList" :key="index" :label="item.userName"
:value="item.userId"></el-option> :value="item.userId"></el-option>
...@@ -120,12 +121,9 @@ ...@@ -120,12 +121,9 @@
<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" :on-success="handleAvatarSuccess" :before-upload="beforeAvatarUpload" :show-file-list="false" :on-success="handleAvatarSuccess" :before-upload="beforeAvatarUpload"
:http-request="uploadImage"> :http-request="uploadImage">
<div v-if="form.schoolAccessoryList && form.schoolAccessoryList.length > 0"> <img v-for="item in form.schoolAccessoryList" :key="item.accessoryUrl" :src="item.accessoryUrl"
<el-image v-for="(photo, index) in form.schoolAccessoryList" :key="index" class="avatar" />
style="width: 100px; height: 100px; margin-right: 10px" :src="photo.accessoryUrl" <i v-if="form.schoolAccessoryList.length === 0" class="el-icon-plus avatar-uploader-icon"></i>
:preview-src-list="[photo.accessoryUrl]"></el-image>
</div>
<i v-else class="el-icon-plus avatar-uploader-icon"></i>
</el-upload> </el-upload>
</el-form-item> </el-form-item>
...@@ -157,12 +155,14 @@ ...@@ -157,12 +155,14 @@
<el-button @click="cancel">取 消</el-button> <el-button @click="cancel">取 消</el-button>
</div> </div>
</el-dialog> </el-dialog>
<el-dialog ref="previewDialog" title="预览图片" :visible.sync="previewDialogVisible"> <el-dialog ref="previewDialog" title="预览图片" :visible.sync="previewDialogVisible">
<el-image style="width: 100%; max-height: 80vh; object-fit: contain" :src="previewImageUrl" <el-image style="width: 100%; max-height: 80vh; object-fit: contain" :src="previewImageUrl"
fit="contain"></el-image> fit="contain"></el-image>
</el-dialog> </el-dialog>
</div> </div>
</template> </template>
<script> <script>
import { import {
addCompetition, addCompetition,
...@@ -189,14 +189,10 @@ export default { ...@@ -189,14 +189,10 @@ export default {
queryParams: { queryParams: {
pageNum: 1, pageNum: 1,
pageSize: 10, pageSize: 10,
competitionType: "",
competitionName: "",
}, },
previewImageUrl: '', previewImageUrl: '',
//获取子组件传来的信息 //获取子组件传来的信息
pic: [], pic: [],
// 图片路径
imageUrl: undefined,
isEdit: false, isEdit: false,
nowType: 0, // 0新增、1修改、2查看 nowType: 0, // 0新增、1修改、2查看
uploadLoading: false, uploadLoading: false,
...@@ -238,13 +234,12 @@ export default { ...@@ -238,13 +234,12 @@ export default {
competitionLevel: [ competitionLevel: [
{ required: true, message: "比赛级别不能为空", trigger: "change" } { required: true, message: "比赛级别不能为空", trigger: "change" }
], ],
schoolAccessoryList: [ // schoolAccessoryList: [
{ required: true, message: "证书照片不能为空", trigger: "change" } // { required: true, message: "证书照片不能为空", trigger: "change" }
], // ],
competitionName: [ competitionName: [
{ required: true, message: "比赛项目名称不能为空", trigger: "change" } { required: true, message: "比赛项目名称不能为空", trigger: "change" }
], ],
}, },
previewDialogVisible: false, previewDialogVisible: false,
teacherList: [], teacherList: [],
...@@ -271,19 +266,25 @@ export default { ...@@ -271,19 +266,25 @@ export default {
}, },
//获取列表数据 //获取列表数据
getList() { getList() {
getCompetition(this.queryParams).then(response => { getCompetition(this.queryForm).then(response => {
this.competitionData = response.rows.map(item => { this.competitionData = response.rows;
item.previewUrls = item.schoolAccessoryList.map(accessory => accessory.accessoryUrl);
item.pictureUrl = item.schoolAccessoryList[0]?.accessoryUrl || ''; // 取第一个照片的URL或者为空字符串
return item;
});
console.log('response', response); console.log('response', response);
this.total = response.total; this.total = response.total;
this.loading = false; this.loading = false;
this.competitionData.forEach(item => {
if (item.schoolAccessoryList) {
item.previewUrls = [item.schoolAccessoryList.map(accessory => accessory.accessoryUrl)];
item.pictureUrl = item.schoolAccessoryList.map(accessory => accessory.accessoryUrl);
} else {
item.previewUrls = [];
item.pictureUrl = [];
}
});
}); });
}, },
//获取图片信息 //获取图片信息
getSchoolInfoPic(val) { getSchoolInfoPic(val) {
this.pic = val this.pic = val
...@@ -293,10 +294,17 @@ export default { ...@@ -293,10 +294,17 @@ export default {
this.imageUrl = undefined this.imageUrl = undefined
}, },
// 上传成功回调 // 上传成功回调
handleAvatarSuccess(res, file) { handleAvatarSuccess(response, file) {
this.imageUrl = res.data.url // 处理上传成功的逻辑
this.commonUpload(file) const accessoryUrl = response.data.url; // 假设响应中包含了图片的访问URL
const accessoryName = file.name; // 获取上传文件的名称
this.form.schoolAccessoryList.push({
accessoryUrl: accessoryUrl,
accessoryName: accessoryName
});
}, },
// 上传前格式和图片大小限制 // 上传前格式和图片大小限制
beforeAvatarUpload(file) { beforeAvatarUpload(file) {
const type = file.type === 'image/jpeg' || 'image/jpg' || 'image/webp' || 'image/png' const type = file.type === 'image/jpeg' || 'image/jpg' || 'image/webp' || 'image/png'
...@@ -312,30 +320,26 @@ export default { ...@@ -312,30 +320,26 @@ export default {
// 上传图片 // 上传图片
uploadImage(file) { uploadImage(file) {
const fileData = file.file; const fileData = file.file
const formData = new FormData(); const formData = new FormData()
formData.append('file', fileData); formData.append('file', fileData)
this.uploadLoading = true; this.uploadLoading = true
// Upload the file and add the uploaded file to the schoolAccessoryList
commonUpload(formData) commonUpload(formData)
.then(response => { .then(response => {
this.uploadLoading = false; this.uploadLoading = false
this.$modal.msgSuccess('上传成功'); this.$modal.msgSuccess('上传成功')
this.imageUrl = process.env.VUE_APP_BASE_API + response.url
// Add the uploaded file to the schoolAccessoryList // 添加以下代码将文件信息添加到 uploadedFiles 数组中
this.form.schoolAccessoryList.push({ this.uploadedFiles.push({
accessoryUrl: process.env.VUE_APP_BASE_API + response.url, accessoryUrl: process.env.VUE_APP_BASE_API + response.url,
accessoryName: fileData.name accessoryName: fileData.name
}); })
}) })
.catch(error => { .catch(error => {
this.uploadLoading = false; this.uploadLoading = false
}); })
}, },
//重置 //重置
resetQuery() { resetQuery() {
this.queryParams = { this.queryParams = {
...@@ -348,6 +352,7 @@ export default { ...@@ -348,6 +352,7 @@ export default {
}, },
//删除 //删除
handleDelete(row) { handleDelete(row) {
this.$modal.confirm('是否确认删除选中数据?').then(() => { this.$modal.confirm('是否确认删除选中数据?').then(() => {
...@@ -368,7 +373,6 @@ export default { ...@@ -368,7 +373,6 @@ export default {
//编辑 0新增 1编辑 2查看 //编辑 0新增 1编辑 2查看
handleOption(type, row) { handleOption(type, row) {
this.imageUrl = ''; this.imageUrl = '';
this.form.schoolAccessoryList = [];
this.form = { this.form = {
id: '', id: '',
schoolYear: '', schoolYear: '',
...@@ -385,26 +389,23 @@ export default { ...@@ -385,26 +389,23 @@ export default {
} }
this.nowType = type; this.nowType = type;
if (type != 0) { if (type != 0) {
const id = row.id; const id = row.id
getCompetitionxq(id).then(response => { getCompetitionxq(id).then(response => {
if (response.code == 200) { if (response.code == 200) {
Object.keys(this.form).forEach(key => { Object.keys(this.form).forEach(key => {
if (response.data[key]) { if (response.data[key]) {
this.$set(this.form, key, response.data[key]); this.$set(this.form, key, response.data[key]);
} }
}); if (response.data.schoolAccessoryList && response.data.schoolAccessoryList.length > 0) {
this.imageUrls = response.data.schoolAccessoryList.map(item => item.accessoryUrl); // 将所有证书照片的地址赋值给 imageUrls
// Populate the schoolAccessoryList with multiple images }
if (response.data.schoolAccessoryList && response.data.schoolAccessoryList.length > 0) { })
this.form.schoolAccessoryList = response.data.schoolAccessoryList;
}
} }
}); })
} }
this.dialogVisible = true; this.dialogVisible = true;
}, },
//查询老师 //查询老师
getTeacher() { getTeacher() {
getTeacher().then(response => { getTeacher().then(response => {
...@@ -415,11 +416,13 @@ export default { ...@@ -415,11 +416,13 @@ export default {
}, },
/** 提交按钮 */ /** 提交按钮 */
submitForm: function () { submitForm: function () {
const teacherId = this.form.teacherId
this.form.teacherName = teacherId == '' ? '' : this.teacherList.find(item => item.userId == teacherId).userName
this.$refs['form'].validate(valid => { this.$refs['form'].validate(valid => {
if (valid) { if (valid) {
if (this.form.id != "") { if (this.form.id != "") {
// 清空原有图片 // 清空原有图片
this.form.schoolAccessoryList = []; this.form.schoolAccessoryList.splice(0);
for (let i = 0; i < this.uploadedFiles.length; i++) { for (let i = 0; i < this.uploadedFiles.length; i++) {
const file = this.uploadedFiles[i]; const file = this.uploadedFiles[i];
this.form.schoolAccessoryList.push({ this.form.schoolAccessoryList.push({
...@@ -427,6 +430,7 @@ export default { ...@@ -427,6 +430,7 @@ export default {
accessoryName: file.accessoryName accessoryName: file.accessoryName
}); });
} }
updateCompetition(this.form).then(({ code }) => { updateCompetition(this.form).then(({ code }) => {
if (code == 200) { if (code == 200) {
this.$modal.msgSuccess('修改成功') this.$modal.msgSuccess('修改成功')
...@@ -449,6 +453,7 @@ export default { ...@@ -449,6 +453,7 @@ export default {
} }
addCompetition(this.form).then(response => { addCompetition(this.form).then(response => {
console.log(this.form, 'this.form');
this.$modal.msgSuccess('新增成功') this.$modal.msgSuccess('新增成功')
this.dialogVisible = false this.dialogVisible = false
this.getList() this.getList()
...@@ -461,6 +466,7 @@ export default { ...@@ -461,6 +466,7 @@ export default {
}, },
cancel() { cancel() {
this.dialogVisible = false; this.dialogVisible = false;
}, },
......
...@@ -502,14 +502,13 @@ export default { ...@@ -502,14 +502,13 @@ export default {
this.reset(); this.reset();
this.$set(this.form, 'teacherName', this.$store.state.user.name); this.$set(this.form, 'teacherName', this.$store.state.user.name);
const id = row.id || this.ids; const id = row.id || this.ids;
this.formReady(); // this.formReady();
getTeacherLeave(id).then(response => { getTeacherLeave(id).then(response => {
this.form = response.data; this.form = response.data;
if (this.form.applyType == 0) { if (this.form.applyType == 0) {
this.form.startTime = this.getFormatDate(this.form.startTime) this.form.startTime = this.getFormatDate(this.form.startTime)
this.form.endTime = this.getFormatDate(this.form.endTime) this.form.endTime = this.getFormatDate(this.form.endTime)
} }
this.dialogTeacherLeave = true; this.dialogTeacherLeave = true;
this.dialogTitle = "修改教师请假信息"; this.dialogTitle = "修改教师请假信息";
}); });
...@@ -717,7 +716,6 @@ export default { ...@@ -717,7 +716,6 @@ export default {
}, },
/** 【已提交】查看详情 */ /** 【已提交】查看详情 */
handleDetail(row) { handleDetail(row) {
this.form = row this.form = row
this.progress.open = true; this.progress.open = true;
}, },
......
...@@ -166,11 +166,17 @@ ...@@ -166,11 +166,17 @@
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="是否允许借出:" prop="isAllowLend"> <el-form-item label="是否允许借出:" prop="isAllowLend">
<el-select v-model="form.isAllowLend" clearable placeholder="请选择是否允许借出" <el-select v-if="form.affiliationType === '3'" v-model="form.isAllowLend" clearable placeholder="请选择是否允许借出"
:disabled="nowOptionType == 2 ? true : false" class="selectWidth"> :disabled="true" class="selectWidth">
<el-option :key="'0'" :label="'否'" :value="'0'" />
</el-select>
<el-select v-else v-model="form.isAllowLend" clearable placeholder="请选择是否允许借出"
:disabled="isAllowLendDisabled || (nowOptionType == 2)" class="selectWidth">
<el-option v-for="dict in dict.type.is_lend" :key="dict.value" :label="dict.label" :value="dict.value" /> <el-option v-for="dict in dict.type.is_lend" :key="dict.value" :label="dict.label" :value="dict.value" />
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row :gutter="20"> <el-row :gutter="20">
...@@ -370,7 +376,10 @@ export default { ...@@ -370,7 +376,10 @@ export default {
useId: '', useId: '',
useName: '', useName: '',
remark: '', remark: '',
affiliationType: '', // 其他属性
isAllowLend: '', // 其他属性
}, },
isAllowLendDisabled: false, // 默认禁用状态为false
rules: { // 表单校验 rules: { // 表单校验
equipmentName: [ equipmentName: [
{ required: true, message: '请输入设备名称', trigger: 'blur' }, { required: true, message: '请输入设备名称', trigger: 'blur' },
...@@ -397,6 +406,17 @@ export default { ...@@ -397,6 +406,17 @@ export default {
userList: [] //使用人列表 userList: [] //使用人列表
}; };
}, },
watch: {
'form.affiliationType'(newVal) {
if (newVal === '3') {
this.form.isAllowLend = '0'; // 固定为0
this.isAllowLendDisabled = true; // 禁用状态为true
} else {
this.isAllowLendDisabled = false; // 禁用状态为false
}
},
},
created() { created() {
this.getClassificationCodeTree() this.getClassificationCodeTree()
this.getList() this.getList()
...@@ -624,7 +644,7 @@ export default { ...@@ -624,7 +644,7 @@ export default {
//点击批量打印跳转 //点击批量打印跳转
printBarcodes() { printBarcodes() {
const baseUrl = window.location.origin +'/printBarcodes'; const baseUrl = window.location.origin + '/printBarcodes';
console.log(baseUrl, 'baseUrl'); console.log(baseUrl, 'baseUrl');
this.printList = this.chooseList; this.printList = this.chooseList;
console.log(11, this.printList); console.log(11, this.printList);
......
...@@ -15,7 +15,7 @@ ...@@ -15,7 +15,7 @@
</el-form-item> </el-form-item>
<el-form-item label="处理状态" prop="disposeState"> <el-form-item label="处理状态" prop="disposeState">
<el-select v-model="queryParams.disposeState" placeholder="维修状态" clearable> <el-select v-model="queryParams.disposeState" placeholder="维修状态" clearable>
<el-option v-for="(item, index) in dict.type.repair_state" :key="index" :label="item.label" <el-option v-for="(item, index) in dict.type.dispose_state" :key="index" :label="item.label"
:value="item.value"></el-option> :value="item.value"></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
...@@ -43,12 +43,12 @@ ...@@ -43,12 +43,12 @@
<el-table-column align="center" prop="repairTime" label="修理时间" width="160px" /> <el-table-column align="center" prop="repairTime" label="修理时间" width="160px" />
<el-table-column align="center" prop="repairState" label="修理结果"> <el-table-column align="center" prop="repairState" label="修理结果">
<template slot-scope="{ row }"> <template slot-scope="{ row }">
<div>{{ selectDictLabel(dict.type.dispose_state, row.repairState) }}</div> <div>{{ selectDictLabel(dict.type.repair_state, row.repairState) }}</div>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column align="center" prop="disposeState" label="处理状态"> <el-table-column align="center" prop="disposeState" label="处理状态">
<template slot-scope="{ row }"> <template slot-scope="{ row }">
<div>{{ selectDictLabel(dict.type.repair_state, row.disposeState) }}</div> <div>{{ selectDictLabel(dict.type.dispose_state, row.disposeState) }}</div>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column align="center" prop="evaluate" label="评价" width="150px"> <el-table-column align="center" prop="evaluate" label="评价" width="150px">
...@@ -67,7 +67,7 @@ ...@@ -67,7 +67,7 @@
</el-table-column> </el-table-column>
</el-table> </el-table>
<!-- 新增/修改/查看对话框 --> <!-- 新增/修改/查看对话框 -->
<el-dialog title="详细信息" :visible.sync="dialogVisible" width="1200px" append-to-body> <el-dialog title="详细信息" :visible.sync="dialogVisible" width="1200px" append-to-body>
<el-form ref="postForm" :model="postForm" :rules="rules" label-width="110px"> <el-form ref="postForm" :model="postForm" :rules="rules" label-width="110px">
<el-row> <el-row>
<el-col :span="12"> <el-col :span="12">
...@@ -145,10 +145,19 @@ ...@@ -145,10 +145,19 @@
<el-form-item label="处理状态" prop="disposeState"> <el-form-item label="处理状态" prop="disposeState">
<el-select v-model="postForm.disposeState" placeholder="处理状态" clearable style="width: 100%;" <el-select v-model="postForm.disposeState" placeholder="处理状态" clearable style="width: 100%;"
:disabled="nowType == 2 ? true : false"> :disabled="nowType == 2 ? true : false">
<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>
<!-- 根据处理状态为1显示repairState下拉框 -->
<el-form-item v-if="postForm.disposeState === '1'" label="维修状态" prop="repairState">
<el-select v-model="postForm.repairState" placeholder="维修状态" clearable style="width: 100%;">
<el-option v-for="(item, index) in dict.type.repair_state" :key="index" :label="item.label" <el-option v-for="(item, index) in dict.type.repair_state" :key="index" :label="item.label"
:value="item.value"></el-option> :value="item.value"></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row> <el-row>
...@@ -260,7 +269,9 @@ export default { ...@@ -260,7 +269,9 @@ export default {
reportRepairTime: "", reportRepairTime: "",
model: null, model: null,
place: null, place: null,
dateOfProduction: null dateOfProduction: null,
disposeState: '', // 处理状态
repairState: '' // 维修状态
}, },
//报修人列表 //报修人列表
...@@ -292,6 +303,14 @@ export default { ...@@ -292,6 +303,14 @@ export default {
} }
}, },
watch: {
'postForm.disposeState'(newVal) {
if (newVal === 0) {
this.postForm.repairState = ''; // 将repairState重置为空
}
}
},
created() { created() {
this.getList(); this.getList();
...@@ -432,14 +451,6 @@ export default { ...@@ -432,14 +451,6 @@ export default {
this.$refs["postForm"].validate(valid => { this.$refs["postForm"].validate(valid => {
if (valid) { if (valid) {
if (this.nowType == 1) { // 修改操作 if (this.nowType == 1) { // 修改操作
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) { if (this.postForm.id != null) {
editRepair(this.postForm) editRepair(this.postForm)
.then(response => { .then(response => {
...@@ -453,14 +464,6 @@ export default { ...@@ -453,14 +464,6 @@ export default {
}); });
} }
} else if (this.nowType == 0) { // 新增操作 } else if (this.nowType == 0) { // 新增操作
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) addRepair(this.postForm)
.then(response => { .then(response => {
console.log('this.postForm', this.postForm); console.log('this.postForm', this.postForm);
......
...@@ -3,12 +3,10 @@ ...@@ -3,12 +3,10 @@
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="80px"> <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="80px">
<el-form-item label="身份证号" prop="idCard"> <el-form-item label="身份证号" prop="idCard">
<el-input v-model="queryParams.idCard" placeholder="请输入学生身份证" clearable <el-input v-model="queryParams.idCard" placeholder="请输入学生身份证" clearable @keyup.enter.native="handleQuery" />
@keyup.enter.native="handleQuery"/>
</el-form-item> </el-form-item>
<el-form-item label="姓名" prop="studentName"> <el-form-item label="姓名" prop="studentName">
<el-input v-model="queryParams.studentName" placeholder="请输入姓名" clearable <el-input v-model="queryParams.studentName" placeholder="请输入姓名" clearable @keyup.enter.native="handleQuery" />
@keyup.enter.native="handleQuery"/>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button> <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
...@@ -19,7 +17,7 @@ ...@@ -19,7 +17,7 @@
<el-row :gutter="10" class="mb8"> <el-row :gutter="10" class="mb8">
<el-col :span="1.5"> <el-col :span="1.5">
<el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAdd" <el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAdd"
v-hasPermi="['system:turnover:add']">新增 v-hasPermi="['system:turnover:add']">新增
</el-button> </el-button>
</el-col> </el-col>
<!-- <el-col :span="1.5">--> <!-- <el-col :span="1.5">-->
...@@ -61,20 +59,20 @@ ...@@ -61,20 +59,20 @@
</el-row> </el-row>
<el-table v-loading="loading" :data="turnoverList" @selection-change="handleSelectionChange"> <el-table v-loading="loading" :data="turnoverList" @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" prop="studentName" minWidth="100"/> <el-table-column label="姓名" align="center" prop="studentName" minWidth="100" />
<el-table-column label="性别" align="center" minWidth="55" prop="sex"> <!-- <el-table-column label="性别" align="center" minWidth="55" prop="sex">
<template slot-scope="scope"> <template slot-scope="scope">
<div v-if="scope.row.sex == 0"></div> <div v-if="scope.row.sex == 0"></div>
<div v-if="scope.row.sex == 1"></div> <div v-if="scope.row.sex == 1"></div> -->
<!-- <el-select v-model="scope.row.sex" disabled filterable remote > <!-- <el-select v-model="scope.row.sex" disabled filterable remote >
<el-option style="margin-left:5px " v-for="item in sex" :key="item.value" :label="item.label" :value="item.value"> <el-option style="margin-left:5px " v-for="item in sex" :key="item.value" :label="item.label" :value="item.value">
</el-option> </el-option>
</el-select> --> </el-select> -->
</template> <!-- </template> -->
</el-table-column> <!-- </el-table-column> -->
<el-table-column label="学生身份证" minWidth="160" align="center" prop="idCard"/> <!-- <el-table-column label="学生身份证" minWidth="160" align="center" prop="idCard" /> -->
<el-table-column label="全国学籍号" minWidth="120" align="center" prop="nationalNumber"/> <el-table-column label="全国学籍号" minWidth="120" align="center" prop="nationalNumber" />
<el-table-column label="变更类型" minWidth="80" align="center" prop="changeType"> <el-table-column label="变更类型" minWidth="80" align="center" prop="changeType">
<template slot-scope="scope"> <template slot-scope="scope">
<dict-tag :options="dict.type.change_type" :value="scope.row.changeType"></dict-tag> <dict-tag :options="dict.type.change_type" :value="scope.row.changeType"></dict-tag>
...@@ -99,29 +97,29 @@ ...@@ -99,29 +97,29 @@
<el-table-column label="操作" align="center" min-width="300" class-name="small-padding fixed-width"> <el-table-column label="操作" align="center" min-width="300" class-name="small-padding fixed-width">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button size="mini" type="text" icon="el-icon-s-release" @click="handleStop(scope.row)" <el-button size="mini" type="text" icon="el-icon-s-release" @click="handleStop(scope.row)"
v-if="scope.row.state == 0" v-hasPermi="['system:turnover:remove']">终止 v-if="scope.row.state == 0" v-hasPermi="['system:turnover:remove']">终止
</el-button> </el-button>
<el-button size="mini" type="text" icon="el-icon-finished" v-if="scope.row.state == 0" <el-button size="mini" type="text" icon="el-icon-finished" v-if="scope.row.state == 0"
@click="handleFinish(scope.row)" v-hasPermi="['system:turnover:remove']">办结 @click="handleFinish(scope.row)" v-hasPermi="['system:turnover:remove']">办结
</el-button> </el-button>
<el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)" <el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)"
v-if="scope.row.state == 0" v-hasPermi="['system:turnover:edit']">修改 v-if="scope.row.state == 0" v-hasPermi="['system:turnover:edit']">修改
</el-button> </el-button>
<el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)" <el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)"
v-if="scope.row.state == 0" v-hasPermi="['system:turnover:remove']">删除 v-if="scope.row.state == 0" v-hasPermi="['system:turnover:remove']">删除
</el-button> </el-button>
<el-button size="mini" type="text" icon="el-icon-view" @click="handleView(scope.row)" <el-button size="mini" type="text" icon="el-icon-view" @click="handleView(scope.row)"
v-hasPermi="['system:turnover:remove']">查看 v-hasPermi="['system:turnover:remove']">查看
</el-button> </el-button>
<el-button size="mini" type="text" icon="el-icon-download" @click="handleDownload(scope.row)" <el-button size="mini" type="text" icon="el-icon-download" @click="handleDownload(scope.row)"
v-if="scope.row.state == 0" v-hasPermi="['system:turnover:remove']">下载 v-if="scope.row.state == 0" v-hasPermi="['system:turnover:remove']">下载
</el-button> </el-button>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
<pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize" <pagination 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="800px" append-to-body inline @close="cancel"> <el-dialog :title="title" :visible.sync="open" width="800px" append-to-body inline @close="cancel">
...@@ -130,7 +128,7 @@ ...@@ -130,7 +128,7 @@
<el-col :span="12"> <el-col :span="12">
<el-form-item label="申请时间" prop="applyTime"> <el-form-item label="申请时间" prop="applyTime">
<el-date-picker clearable v-model="form.applyTime" type="date" value-format="yyyy-MM-dd" <el-date-picker clearable v-model="form.applyTime" type="date" value-format="yyyy-MM-dd"
placeholder="请选择申请时间"> placeholder="请选择申请时间">
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
</el-col> </el-col>
...@@ -138,7 +136,7 @@ ...@@ -138,7 +136,7 @@
<el-form-item label="变更类型" prop="changeType"> <el-form-item label="变更类型" prop="changeType">
<el-select v-model="form.changeType" placeholder="请选择变更类型"> <el-select v-model="form.changeType" placeholder="请选择变更类型">
<el-option v-for="dict in dict.type.change_type" :key="dict.value" :label="dict.label" <el-option v-for="dict in dict.type.change_type" :key="dict.value" :label="dict.label"
:value="dict.value"> :value="dict.value">
{{ dict.label }} {{ dict.label }}
</el-option> </el-option>
</el-select> </el-select>
...@@ -146,78 +144,76 @@ ...@@ -146,78 +144,76 @@
</el-col> </el-col>
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="12"> <!-- <el-col :span="12"> -->
<el-form-item label="学生身份证" prop="idCard" style="width: 340px;"> <!-- <el-form-item label="学生身份证" prop="idCard" style="width: 340px;">
<el-input v-model="form.idCard" placeholder="请输入学生身份证" @change="searchInfo"/> <el-input v-model="form.idCard" placeholder="请输入学生身份证" @change="searchInfo"/>
</el-form-item> -->
<!-- </el-col> -->
<el-col :span="12">
<el-form-item label="学生姓名" prop="studentName" style="width: 340px;">
<el-input v-model="form.studentName" placeholder="请选择学生" readonly @focus="selectStudent" />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="姓名" prop="studentName" style="width:340px;"> <el-form-item label="监护人关系" prop="relationship">
<el-input v-model="form.studentName" placeholder="请输入姓名"/> <!-- <el-input v-model="form.relationship" placeholder="请输入监护人关系" /> -->
<el-select v-model="form.relationship" placeholder="请选择监护人关系" @change="searchRelationship">
<el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value">
</el-option>
</el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row> <!-- <el-row> -->
<el-col :span="12"> <!-- <el-col :span="12"> -->
<el-form-item label="性别" prop="sex"> <!-- <el-form-item label="性别" prop="sex"> -->
<!-- <el-input v-model="form.isSave" placeholder="请输入是否保留" /> --> <!-- <el-input v-model="form.isSave" placeholder="请输入是否保留" /> -->
<el-select v-model="form.sex" placeholder="请选择性别"> <!-- <el-select v-model="form.sex" placeholder="请选择性别">
<el-option v-for="item in sex" :key="item.value" :label="item.label" :value="item.value"> <el-option v-for="item in sex" :key="item.value" :label="item.label" :value="item.value">
</el-option> </el-option>
</el-select> </el-select>
</el-form-item> </el-form-item> -->
</el-col> <!-- </el-col> -->
<el-col :span="12"> <!-- <el-col :span="12">
<el-form-item label="出生年月" prop="birthday"> <el-form-item label="出生年月" prop="birthday">
<el-date-picker clearable v-model="form.birthday" type="date" value-format="yyyy-MM-dd" <el-date-picker clearable v-model="form.birthday" type="date" value-format="yyyy-MM-dd"
placeholder="请选择出生年月"> placeholder="请选择出生年月">
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
</el-col> </el-col> -->
</el-row> <!-- </el-row> -->
<el-row> <el-row>
<el-col :span="12">
<el-form-item label="监护人关系" prop="relationship">
<!-- <el-input v-model="form.relationship" placeholder="请输入监护人关系" /> -->
<el-select v-model="form.relationship" placeholder="请选择监护人关系" @change="searchRelationship">
<el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="家长姓名" prop="parentName" style="width: 340px;"> <el-form-item label="家长姓名" prop="parentName" style="width: 340px;">
<el-input v-model="form.parentName" placeholder="请输入家长姓名"/> <el-input v-model="form.parentName" placeholder="请输入家长姓名" />
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row>
<el-row>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="年级班级" prop="classAlias" style="width: 340px;"> <el-form-item label="年级班级" prop="classAlias" style="width: 340px;">
<el-input v-model="form.classAlias" placeholder="请输入年级班级" @focus="selectClass"/> <el-input v-model="form.classAlias" placeholder="请输入年级班级" @focus="selectClass" />
<!-- <el-cascader v-model="value" :options="classTree" clearable @change="handleChange" ></el-cascader> --> <!-- <el-cascader v-model="value" :options="classTree" clearable @change="handleChange" ></el-cascader> -->
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row>
<el-row>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="全国学籍号" prop="nationalNumber" style="width: 340px;"> <el-form-item label="全国学籍号" prop="nationalNumber" style="width: 340px;">
<el-input v-model="form.nationalNumber" placeholder="请输入全国学籍号"/> <el-input v-model="form.nationalNumber" placeholder="请输入全国学籍号" />
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row>
<el-row>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="住址" prop="homeAddress" style="width: 340px;"> <el-form-item label="住址" prop="homeAddress" style="width: 340px;">
<el-input v-model="form.homeAddress" placeholder="请输入住址"/> <el-input v-model="form.homeAddress" placeholder="请输入住址" />
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row>
<el-row>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="联系电话" prop="telephone" style="width: 340px;"> <el-form-item label="联系电话" prop="telephone" style="width: 340px;">
<el-input v-model="form.telephone" placeholder="请输入联系电话"/> <el-input v-model="form.telephone" placeholder="请输入联系电话" />
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row>
<el-row>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="是否保留" prop="isSave"> <el-form-item label="是否保留" prop="isSave">
<!-- <el-input v-model="form.isSave" placeholder="请输入是否保留" /> --> <!-- <el-input v-model="form.isSave" placeholder="请输入是否保留" /> -->
...@@ -227,9 +223,12 @@ ...@@ -227,9 +223,12 @@
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row>
<el-row>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="转出(入)学校" prop="turnSchool" style="width: 340px;"> <el-form-item label="转出(入)学校" prop="turnSchool" style="width: 340px;">
<el-input v-model="form.turnSchool" placeholder="请输入转出(入)学校"/> <el-input v-model="form.turnSchool" placeholder="请输入转出(入)学校" />
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
...@@ -247,7 +246,7 @@ ...@@ -247,7 +246,7 @@
<el-col :span="12"> <el-col :span="12">
<el-form-item label="申请时间" prop="applyTime"> <el-form-item label="申请时间" prop="applyTime">
<el-date-picker clearable v-model="form.applyTime" type="date" value-format="yyyy-MM-dd" <el-date-picker clearable v-model="form.applyTime" type="date" value-format="yyyy-MM-dd"
placeholder="请选择申请时间" readonly> placeholder="请选择申请时间" readonly>
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
</el-col> </el-col>
...@@ -255,7 +254,7 @@ ...@@ -255,7 +254,7 @@
<el-form-item label="变更类型" prop="changeType"> <el-form-item label="变更类型" prop="changeType">
<el-select v-model="form.changeType" placeholder="请选择变更类型" disabled> <el-select v-model="form.changeType" placeholder="请选择变更类型" disabled>
<el-option v-for="dict in dict.type.change_type" :key="dict.value" :label="dict.label" <el-option v-for="dict in dict.type.change_type" :key="dict.value" :label="dict.label"
:value="dict.value"> :value="dict.value">
{{ dict.label }} {{ dict.label }}
</el-option> </el-option>
</el-select> </el-select>
...@@ -265,12 +264,12 @@ ...@@ -265,12 +264,12 @@
<el-row> <el-row>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="学生身份证" prop="idCard" style="width: 340px;"> <el-form-item label="学生身份证" prop="idCard" style="width: 340px;">
<el-input v-model="form.idCard" placeholder="请输入学生身份证" @change="searchInfo" readonly/> <el-input v-model="form.idCard" placeholder="请输入学生身份证" @change="searchInfo" readonly />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="姓名" prop="studentName" style="width:340px;"> <el-form-item label="姓名" prop="studentName" style="width:340px;">
<el-input v-model="form.studentName" placeholder="请输入姓名" readonly/> <el-input v-model="form.studentName" placeholder="请输入姓名" readonly />
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
...@@ -287,7 +286,7 @@ ...@@ -287,7 +286,7 @@
<el-col :span="12"> <el-col :span="12">
<el-form-item label="出生年月" prop="birthday"> <el-form-item label="出生年月" prop="birthday">
<el-date-picker clearable v-model="form.birthday" type="date" value-format="yyyy-MM-dd" <el-date-picker clearable v-model="form.birthday" type="date" value-format="yyyy-MM-dd"
placeholder="请选择出生年月" readonly> placeholder="请选择出生年月" readonly>
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
</el-col> </el-col>
...@@ -296,8 +295,7 @@ ...@@ -296,8 +295,7 @@
<el-col :span="12"> <el-col :span="12">
<el-form-item label="监护人关系" prop="relationship"> <el-form-item label="监护人关系" prop="relationship">
<!-- <el-input v-model="form.relationship" placeholder="请输入监护人关系" /> --> <!-- <el-input v-model="form.relationship" placeholder="请输入监护人关系" /> -->
<el-select v-model="form.relationship" placeholder="请选择监护人关系" @change="searchRelationship" <el-select v-model="form.relationship" placeholder="请选择监护人关系" @change="searchRelationship" disabled>
disabled>
<el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value"> <el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value">
</el-option> </el-option>
</el-select> </el-select>
...@@ -305,20 +303,20 @@ ...@@ -305,20 +303,20 @@
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="家长姓名" prop="parentName" style="width: 340px;"> <el-form-item label="家长姓名" prop="parentName" style="width: 340px;">
<el-input v-model="form.parentName" placeholder="请输入家长姓名" readonly/> <el-input v-model="form.parentName" placeholder="请输入家长姓名" readonly />
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="年级班级" prop="classAlias" style="width: 340px;"> <el-form-item label="年级班级" prop="classAlias" style="width: 340px;">
<el-input v-model="form.classAlias" placeholder="请输入年级班级" readonly/> <el-input v-model="form.classAlias" placeholder="请输入年级班级" readonly />
<!-- <el-cascader v-model="value" :options="classTree" clearable @change="handleChange" ></el-cascader> --> <!-- <el-cascader v-model="value" :options="classTree" clearable @change="handleChange" ></el-cascader> -->
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="全国学籍号" prop="nationalNumber" style="width: 340px;"> <el-form-item label="全国学籍号" prop="nationalNumber" style="width: 340px;">
<el-input v-model="form.nationalNumber" placeholder="请输入全国学籍号" readonly/> <el-input v-model="form.nationalNumber" placeholder="请输入全国学籍号" readonly />
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
...@@ -326,12 +324,12 @@ ...@@ -326,12 +324,12 @@
<el-row> <el-row>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="住址" prop="homeAddress" style="width: 340px;"> <el-form-item label="住址" prop="homeAddress" style="width: 340px;">
<el-input v-model="form.homeAddress" placeholder="请输入住址" readonly/> <el-input v-model="form.homeAddress" placeholder="请输入住址" readonly />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="联系电话" prop="telephone" style="width: 340px;"> <el-form-item label="联系电话" prop="telephone" style="width: 340px;">
<el-input v-model="form.telephone" placeholder="请输入联系电话" readonly/> <el-input v-model="form.telephone" placeholder="请输入联系电话" readonly />
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
...@@ -347,7 +345,7 @@ ...@@ -347,7 +345,7 @@
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="转出(入)学校" prop="turnSchool" style="width: 340px;"> <el-form-item label="转出(入)学校" prop="turnSchool" style="width: 340px;">
<el-input v-model="form.turnSchool" placeholder="请输入转出(入)学校" readonly/> <el-input v-model="form.turnSchool" placeholder="请输入转出(入)学校" readonly />
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
...@@ -367,9 +365,8 @@ ...@@ -367,9 +365,8 @@
<el-form ref="finishedForm" :model="form" :rules="finishedRules" label-width="70px"> <el-form ref="finishedForm" :model="form" :rules="finishedRules" label-width="70px">
<el-form-item v-if="this.title == '办结'" label="附 件:" prop="dataUrl"> <el-form-item v-if="this.title == '办结'" label="附 件:" prop="dataUrl">
<el-upload class="upload-demo" drag ref="upload" action="#" :before-remove="beforeRemove" multiple :limit="1" <el-upload class="upload-demo" drag ref="upload" action="#" :before-remove="beforeRemove" multiple :limit="1"
accept="image/jpg,image/jpeg,image/png" accept="image/jpg,image/jpeg,image/png" :on-exceed="handleExceed" :on-remove="uploadRemove"
:on-exceed="handleExceed" :on-remove="uploadRemove" :before-upload="beforeUpload" :before-upload="beforeUpload" :http-request="uploadFile">
:http-request="uploadFile">
<i class="el-icon-upload"></i> <i class="el-icon-upload"></i>
<div class="el-upload__text">将文件拖到此处,或<em>点击上传</em></div> <div class="el-upload__text">将文件拖到此处,或<em>点击上传</em></div>
</el-upload> </el-upload>
...@@ -382,12 +379,18 @@ ...@@ -382,12 +379,18 @@
</el-dialog> </el-dialog>
<!-- 选择班级 --> <!-- 选择班级 -->
<ClassSelect v-if="classOptions.open" :openSelect.sync="classOptions.open" :title="classOptions.title" <ClassSelect v-if="classOptions.open" :openSelect.sync="classOptions.open" :title="classOptions.title"
@getClassList="getClassList" @setClassInfo="setClassInfo"></ClassSelect> @getClassList="getClassList" @setClassInfo="setClassInfo"></ClassSelect>
<!-- 选择学生 -->
<StudentInfoSelect v-if="studentOptions.open" :openSelect.sync="studentOptions.open" :title="studentOptions.title"
@getStudentList="getStudentList" @setStudentInfo="setStudentInfo"></StudentInfoSelect>
</div> </div>
</template> </template>
<script> <script>
import { import {
listStudent,
} from "@/api/smartSchool/teachAffairAdministration/stuEssentialInfAlert/index.js";
import {
listTurnover, listTurnover,
getTurnover, getTurnover,
delTurnover, delTurnover,
...@@ -400,13 +403,14 @@ import { ...@@ -400,13 +403,14 @@ import {
getRelationship, getRelationship,
} from "@/api/smartSchool/teachAffairAdministration/alterManage/index.js"; } from "@/api/smartSchool/teachAffairAdministration/alterManage/index.js";
import ClassSelect from '@/views/smartSchool/teachAffairAdministration/alterManage/components/classSelect' import ClassSelect from '@/views/smartSchool/teachAffairAdministration/alterManage/components/classSelect'
import {getClassList} from '@/api/smartSchool/classManage' import { getClassList } from '@/api/smartSchool/classManage'
import StudentInfoSelect from '@/views/components/moduleComponets/studentInfoSelect/index';
export default { export default {
name: "alterManage", name: "alterManage",
dicts: ["change_status", "change_type", "grade_type", "Grade"], dicts: ["change_status", "change_type", "grade_type", "Grade"],
components: { components: {
ClassSelect ClassSelect,
StudentInfoSelect
}, },
data() { data() {
return { return {
...@@ -458,6 +462,11 @@ export default { ...@@ -458,6 +462,11 @@ export default {
open: false, open: false,
title: '选择班级' title: '选择班级'
}, },
// 选择学生对话框
studentOptions: {
open: false,
title: '选择学生'
},
// 行信息 // 行信息
rowData: {}, rowData: {},
// 表单参数 // 表单参数
...@@ -465,49 +474,49 @@ export default { ...@@ -465,49 +474,49 @@ export default {
// 表单校验 // 表单校验
rules: { rules: {
studentName: [ studentName: [
{required: true, message: "学生姓名不能为空", trigger: "blur"} { required: true, message: "学生姓名不能为空", trigger: "blur" }
],
idCard: [
{required: true, message: "身份证不能为空", trigger: "blur"}
], ],
// idCard: [
// { required: true, message: "身份证不能为空", trigger: "blur" }
// ],
applyTime: [ applyTime: [
{required: true, message: "申请时间不能为空", trigger: "blur"} { required: true, message: "申请时间不能为空", trigger: "blur" }
], ],
changeType: [ changeType: [
{required: true, message: "申请时间不能为空", trigger: "change"} { required: true, message: "申请时间不能为空", trigger: "change" }
],
sex: [
{required: true, message: "性别不能为空", trigger: "change"}
],
birthday: [
{required: true, message: "出生日期不能为空", trigger: "change"}
], ],
// sex: [
// { required: true, message: "性别不能为空", trigger: "change" }
// ],
// birthday: [
// { required: true, message: "出生日期不能为空", trigger: "change" }
// ],
relationship: [ relationship: [
{required: true, message: "监护人关系不能为空", trigger: "change"} { required: true, message: "监护人关系不能为空", trigger: "change" }
], ],
parentName: [ parentName: [
{required: true, message: "家长姓名不能为空", trigger: "blur"} { required: true, message: "家长姓名不能为空", trigger: "blur" }
], ],
classAlias: [ classAlias: [
{required: true, message: "年级班级不能为空", trigger: "change"} { required: true, message: "年级班级不能为空", trigger: "change" }
],
nationalNumber: [
{required: true, message: "全国学籍号不能为空", trigger: "blur"}
],
homeAddress: [
{required: true, message: "住址不能为空", trigger: "blur"}
], ],
// nationalNumber: [
// { required: true, message: "全国学籍号不能为空", trigger: "blur" }
// ],
// homeAddress: [
// { required: true, message: "住址不能为空", trigger: "blur" }
// ],
telephone: [ telephone: [
{required: true, message: "联系电话不能为空", trigger: "blur"} { required: true, message: "联系电话不能为空", trigger: "blur" }
], ],
isSave: [ isSave: [
{required: true, message: "请选择是否保留", trigger: "change"} { required: true, message: "请选择是否保留", trigger: "change" }
], ],
turnSchool: [ turnSchool: [
{required: true, message: "转出入学校不能为空", trigger: "blur"} { required: true, message: "转出入学校不能为空", trigger: "blur" }
], ],
dataUrl: [ dataUrl: [
{required: true, message: "请上传附件", trigger: "change"} { required: true, message: "请上传附件", trigger: "change" }
], ],
}, },
finishedRules: { finishedRules: {
...@@ -565,6 +574,28 @@ export default { ...@@ -565,6 +574,28 @@ export default {
this.loading = false; this.loading = false;
}); });
}, },
// 选择学生
selectStudent() {
this.studentOptions.open = true;
},
/** 获取学生信息列表 */
getStudentList(queryForm, callback) {
listStudent({ ...queryForm, gradeId: this.gradeId }).then(response => {
callback(response.rows, response.total);
}).catch(error => {
callback([], 0);
})
},
/** 设置学生信息 */
setStudentInfo(item) {
this.$set(this.form, 'studentName', item.studentName);
this.$set(this.form, 'idCard', item.idCard);
this.$set(this.form, 'studentId', item.id);
this.$set(this.form, 'nation', item.nation);
this.$set(this.form, 'newIdCard', item.idCard);
this.$set(this.form, 'newNation', item.nation);
this.$set(this.form, 'newStudentName', item.studentName);
},
// 取消按钮 // 取消按钮
cancel() { cancel() {
this.open = false; this.open = 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