Commit 2e89dded by xuwenhao
parents 6bdb2b34 a13bec33
import request from "@/utils/request"; import request from "@/utils/request";
//查询科室预算填报项目明细列表 //查询科室预算填报项目明细列表
export function getksBudgetList(query) { export function getksBudgetList(query) {
...@@ -15,4 +14,3 @@ export function depBudget(id) { ...@@ -15,4 +14,3 @@ export function depBudget(id) {
method: "get", method: "get",
}); });
} }
...@@ -47,3 +47,10 @@ export function submitApply(id) { ...@@ -47,3 +47,10 @@ export function submitApply(id) {
method: "post", method: "post",
}); });
} }
// 获取登录人信息
export function departUser() {
return request({
url: "/departmentBudget/getUserXx",
method: "get",
});
}
\ No newline at end of file
...@@ -58,3 +58,10 @@ export function getLeaderList(data) { ...@@ -58,3 +58,10 @@ export function getLeaderList(data) {
params: data, params: data,
}); });
} }
// 附件上传
export function uploadList() {
return request({
url: "/common/upload",
method: "post",
});
}
\ No newline at end of file
import request from "@/utils/request"; import request from "@/utils/request";
// 查询全部礼堂预约列表 // 查询全部礼堂预约列表
export function listAuditor(query) { export function listAuditorqb(query) {
return request({ return request({
url: "/auditorium/list", url: "/auditorium/list",
method: "get", method: "get",
......
...@@ -10,10 +10,11 @@ export function addStudio(data) { ...@@ -10,10 +10,11 @@ export function addStudio(data) {
} }
// 查看录播室列表 // 查看录播室列表
export function getStudio() { export function getStudio(query) {
return request({ return request({
url: "/studio/list", url: "/studio/list",
method: "get", method: "get",
params: query,
}); });
} }
......
<template>
<div class="upload-file">
<el-upload multiple :action="uploadFileUrl" :before-upload="handleBeforeUpload" :file-list="fileList" :limit="limit"
:on-error="handleUploadError" :on-exceed="handleExceed" :on-success="handleUploadSuccess" :show-file-list="false"
:headers="headers" class="upload-file-uploader" ref="fileUpload">
<!-- 上传按钮 -->
<el-button size="mini" type="primary">流程单附件</el-button>
<!-- 上传提示 -->
<!-- <div class="el-upload__tip" slot="tip" v-if="showTip">
请上传
<template v-if="fileSize"> 大小不超过 <b style="color: #f56c6c">{{ fileSize }}MB</b> </template>
<template v-if="fileType"> 格式为 <b style="color: #f56c6c">{{ fileType.join("/") }}</b> </template>
的文件
</div> -->
</el-upload>
<!-- 文件列表 -->
<transition-group class="upload-file-list el-upload-list el-upload-list--text" name="el-fade-in-linear" tag="ul">
<li :key="file.fjlj" class="el-upload-list__item ele-upload-list__item-content" v-for="(file, index) in fileList">
<el-link :href="`${baseUrl}${file.fjlj}`" :underline="false" target="_blank">
<!-- <span class="el-icon-document"> {{ getFileName(file.name) }} </span> -->
<span class="el-icon-document"> {{ file.fjmc }} </span>
</el-link>
<!-- <div class="ele-upload-list__item-content-action">
<el-link :underline="false" @click="handleDelete(index)" type="danger">删除</el-link>
</div> -->
<div class="ele-upload-list__item-content-action" style="float: right">
<el-link style="margin-left: 10px;color: #1890ff" :href="`${baseUrl}${file.fjlj}`" :underline="false"
target="_blank">下载</el-link>
<el-link style="margin-left: 15px" :underline="false" @click="handleDelete(index)" type="danger">删除</el-link>
</div>
</li>
</transition-group>
</div>
</template>
<script>
import { getToken } from "@/utils/auth";
export default {
name: "FileUploadNew",
props: {
// 值
value: [String, Object, Array],
// 数量限制
limit: {
type: Number,
default: 5,
},
// 大小限制(MB)
// fileSize: {
// type: Number,
// default: 5,
// },
// 文件类型, 例如['png', 'jpg', 'jpeg']
fileType: {
type: Array,
default: () => ["doc", "xls", "ppt", "txt", "pdf"],
},
// 是否显示提示
isShowTip: {
type: Boolean,
default: true
}
},
data() {
return {
number: 0,
uploadList: [],
baseUrl: process.env.VUE_APP_BASE_API,
uploadFileUrl: process.env.VUE_APP_BASE_API + "/common/upload", // 上传的图片服务器地址
headers: {
Authorization: "Bearer " + getToken(),
},
fileList: [],
};
},
watch: {
value: {
handler(val) {
if (val) {
let temp = 1;
// 首先将值转为数组
const list = Array.isArray(val) ? val : this.value.split(',');
// 然后将数组转为对象数组
this.fileList = list.map(item => {
if (typeof item === "string") {
item = { fjmc: item, fjlj: item };
}
item.uid = item.uid || new Date().getTime() + temp++;
return item;
});
} else {
this.fileList = [];
return [];
}
},
deep: true,
immediate: true
}
},
computed: {
// 是否显示提示
showTip() {
return this.isShowTip && (this.fileType || this.fileSize);
},
},
methods: {
// 上传前校检格式和大小
handleBeforeUpload(file) {
// 校检文件类型
if (this.fileType) {
let fileExtension = "";
if (file.name.lastIndexOf(".") > -1) {
fileExtension = file.name.slice(file.name.lastIndexOf(".") + 1);
}
const isTypeOk = this.fileType.some((type) => {
if (file.type.indexOf(type) > -1) return true;
if (fileExtension && fileExtension.indexOf(type) > -1) return true;
return false;
});
if (!isTypeOk) {
this.$modal.msgError(`文件格式不正确, 请上传${this.fileType.join("/")}格式文件!`);
return false;
}
}
// 校检文件大小
if (this.fileSize) {
const isLt = file.size / 1024 / 1024 < this.fileSize;
if (!isLt) {
this.$modal.msgError(`上传文件大小不能超过 ${this.fileSize} MB!`);
return false;
}
}
this.$modal.loading("正在上传文件,请稍候...");
this.number++;
return true;
},
// 文件个数超出
handleExceed() {
this.$modal.msgError(`上传文件数量不能超过 ${this.limit} 个!`);
},
// 上传失败
handleUploadError(err) {
this.$modal.msgError("上传图片失败,请重试");
this.$modal.closeLoading()
},
// 上传成功回调
handleUploadSuccess(res, file) {
console.log('res', res);
console.log('file', file);
if (res.code === 200) {
this.uploadList.push({ fjmc: file.response.originalFilename, fjlj: file.response.url });
this.uploadedSuccessfully();
} else {
this.number--;
this.$modal.closeLoading();
this.$modal.msgError(res.msg);
this.$refs.fileUpload.handleRemove(file);
this.uploadedSuccessfully();
}
},
// 删除文件
handleDelete(index) {
console.log('this.fileList', this.fileList);
this.fileList.splice(index, 1);
// this.$emit("input", this.listToString(this.fileList));
this.$emit("input", this.fileList);
},
// 上传结束处理
uploadedSuccessfully() {
if (this.number > 0 && this.uploadList.length === this.number) {
this.fileList = this.fileList.concat(this.uploadList);
this.uploadList = [];
this.number = 0;
// this.$emit("input", this.listToString(this.fileList));
this.$emit("input", this.fileList);
this.$modal.closeLoading();
}
},
// 获取文件名称
getFileName(name) {
if (name.lastIndexOf("/") > -1) {
return name.slice(name.lastIndexOf("/") + 1);
} else {
return "";
}
},
// 对象转成指定字符串分隔
listToString(list, separator) {
let strs = "";
separator = separator || ",";
for (let i in list) {
strs += list[i].url + separator;
}
return strs != '' ? strs.substr(0, strs.length - 1) : '';
}
}
};
</script>
<style scoped lang="scss">
.upload-file-uploader {
margin-bottom: 5px;
}
.upload-file-list .el-upload-list__item {
border: 1px solid #e4e7ed;
line-height: 2;
margin-bottom: 10px;
position: relative;
}
.upload-file-list .ele-upload-list__item-content {
display: flex;
justify-content: space-between;
align-items: center;
color: inherit;
}
.ele-upload-list__item-content-action .el-link {
margin-right: 10px;
}
</style>
...@@ -95,7 +95,7 @@ export default [ ...@@ -95,7 +95,7 @@ export default [
component: () => component: () =>
import("@/views/smartSchool/indexMould/myTask/depBudgetapproval"), import("@/views/smartSchool/indexMould/myTask/depBudgetapproval"),
name: "depBudgetapproval", name: "depBudgetapproval",
meta: { title: "科室申请请假审批" }, meta: { title: "科室预算审批" },
}, },
], ],
}, },
......
...@@ -20,17 +20,17 @@ ...@@ -20,17 +20,17 @@
<el-input :value="infoForm.activityNumber"></el-input> <el-input :value="infoForm.activityNumber"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="是否彩排"> <el-form-item label="是否彩排">
<el-input :value="infoForm.isRehearsal"></el-input> <el-input :value="displayIsRehearsal" readonly></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="是否录像"> <el-form-item label="是否录像">
<el-input :value="infoForm.isRehearsal"></el-input> <el-input :value="displayIsRecording" readonly></el-input>
</el-form-item> </el-form-item>
<el-form-item label="是否直播"> <el-form-item label="是否直播">
<el-input :value="infoForm.isLive"></el-input> <el-input :value="displayIsLive" readonly></el-input>
</el-form-item> </el-form-item>
<el-form-item label="申请部门"> <el-form-item label="申请部门">
<el-input :value="infoForm.applyDept"></el-input> <el-input :value="infoForm.applyDept"></el-input>
...@@ -54,9 +54,9 @@ ...@@ -54,9 +54,9 @@
<script> <script>
import { import {
getAuditor,// 查看详情 getAuditor,// 查看详情
} from "@/api/smartSchool/personWork/auditoriumReservation"; } from "@/api/smartSchool/personWork/auditoriumReservation";
import TaskResolve from "@/views/smartSchool/indexMould/myTask/audApplicationapproval/components/autaskResolve.vue" import TaskResolve from "@/views/smartSchool/indexMould/myTask/audApplicationapproval/components/autaskResolve.vue"
...@@ -64,6 +64,19 @@ export default { ...@@ -64,6 +64,19 @@ export default {
name: "auinfo", name: "auinfo",
dicts: ['biz_leave_type', 'course_num'], dicts: ['biz_leave_type', 'course_num'],
components: { TaskResolve }, components: { TaskResolve },
computed: {
displayIsRehearsal() {
return this.infoForm.isRehearsal === 0 ? '否' : '是';
},
displayIsRecording() {
return this.infoForm.isRehearsal === 0 ? '否' : '是';
},
displayIsLive() {
return this.infoForm.isLive === 0 ? '否' : '是';
}
},
props: { props: {
id: { id: {
type: [String, Number], type: [String, Number],
...@@ -117,8 +130,11 @@ export default { ...@@ -117,8 +130,11 @@ export default {
/** 获取详情 */ /** 获取详情 */
getDetailInfo() { getDetailInfo() {
getAuditor(this.id).then(res => { getAuditor(this.id).then(res => {
this.infoForm = res.data this.infoForm = res.data;
console.log(111,this.infoForm); if (this.infoForm.isRehearsal == 1) {
}
console.log(111, this.infoForm);
}) })
}, },
......
...@@ -22,9 +22,21 @@ ...@@ -22,9 +22,21 @@
<el-table-column label="活动地点" align="center" prop="activityArea" /> <el-table-column label="活动地点" align="center" prop="activityArea" />
<el-table-column label="负责人" align="center" prop="specificUserName" /> <el-table-column label="负责人" align="center" prop="specificUserName" />
<el-table-column label="活动人数" align="center" prop="activityNumber" /> <el-table-column label="活动人数" align="center" prop="activityNumber" />
<el-table-column prop="isRehearsal" label="是否彩排" align="center" /> <el-table-column prop="isRehearsal" label="是否彩排" align="center">
<el-table-column label="是否录像" align="center" prop="isVideo" /> <template slot-scope="{ row }">
<el-table-column label="是否直播" align="center" prop="isVideo" /> {{ row.isRehearsal == 0 ? "否" : row.isRehearsal == 1 ? "是" : "" }}
</template>
</el-table-column>
<el-table-column label="是否录像" align="center" prop="isVideo">
<template slot-scope="{ row }">
{{ row.isVideo == 0 ? "否" : row.isVideo == 1 ? "是" : "" }}
</template>
</el-table-column>
<el-table-column label="是否直播" align="center" prop="isLive">
<template slot-scope="{ row }">
{{ row.isLive == 0 ? "否" : row.isLive == 1 ? "是" : "" }}
</template>
</el-table-column>
<el-table-column label="申请部门" align="center" prop="applyDept" /> <el-table-column label="申请部门" align="center" prop="applyDept" />
<el-table-column label="申请人" align="center" prop="applyName" /> <el-table-column label="申请人" align="center" prop="applyName" />
<el-table-column label="申请时间" align="center" prop="applyTime" /> <el-table-column label="申请时间" align="center" prop="applyTime" />
......
...@@ -15,7 +15,7 @@ ...@@ -15,7 +15,7 @@
<el-form :model="queryParams" :inline="true" style="padding:0 0 0 0" size="small"> <el-form :model="queryParams" :inline="true" style="padding:0 0 0 0" size="small">
</el-form> </el-form>
<el-table :data="tableData" v-loading="loading"> <el-table :data="tableData" v-loading="loading">
<el-table-column prop="year" label="年度" width="60" type="index" align="center" style="height: 20px;" /> <el-table-column prop="year" label="年度" width="60" align="center" style="height: 20px;" />
<el-table-column prop="deptName" label="科室" align="center" /> <el-table-column prop="deptName" label="科室" align="center" />
<el-table-column label="填报人" align="center" prop="informant" /> <el-table-column label="填报人" align="center" prop="informant" />
<el-table-column label="分管领导" align="center" prop="leadershipName" /> <el-table-column label="分管领导" align="center" prop="leadershipName" />
...@@ -109,6 +109,7 @@ export default { ...@@ -109,6 +109,7 @@ export default {
this.loading = true; this.loading = true;
taskDoneList().then((response) => { taskDoneList().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
}); });
......
...@@ -63,14 +63,12 @@ ...@@ -63,14 +63,12 @@
<el-row style="margin-top: 15px;margin-left: 20px;"> <el-row style="margin-top: 15px;margin-left: 20px;">
<el-col :span="14"> <el-col :span="14">
<span class="uploadname" style="font-size: 16px;font-weight: bold;">填报人: <span class="uploadname" style="font-size: 16px;font-weight: bold;">填报人:
<!-- <img v-if="jlqztp" :src="jlqztp"> {{ form.informant }}
<span v-else>{{ jlmc }}</span> -->
</span> </span>
</el-col> </el-col>
<el-col :span="10"> <el-col :span="10">
<span class="uploadname" style="font-size: 16px;font-weight: bold;">分管领导: <span class="uploadname" style="font-size: 16px;font-weight: bold;">分管领导:
<!-- <img v-if="sjqztp" :src="sjqztp"> {{ form.leadershipName }}
<span v-else>{{ sjmc }}</span> -->
</span> </span>
</el-col> </el-col>
</el-row> </el-row>
...@@ -198,8 +196,10 @@ export default { ...@@ -198,8 +196,10 @@ export default {
this.lookTable = response.data.schoolDepartmentBudgetProjectmxList; this.lookTable = response.data.schoolDepartmentBudgetProjectmxList;
this.form.year = response.data.year; this.form.year = response.data.year;
this.form.deptName = response.data.deptName; this.form.deptName = response.data.deptName;
this.form.informant = response.data.informant;
this.form.leadershipName = response.data.leadershipName;
console.log(this.form.year, this.form.deptName); console.log(this.form.year, this.form.deptName);
console.log(response.data); console.log(11110, response.data);
this.openLook = true; this.openLook = true;
this.$modal.closeLoading(); this.$modal.closeLoading();
......
...@@ -13,8 +13,8 @@ ...@@ -13,8 +13,8 @@
<el-form-item prop="deptName"> <el-form-item prop="deptName">
<el-input v-model="queryForm.deptName" placeholder="科室" clearable> </el-input> <el-input v-model="queryForm.deptName" placeholder="科室" clearable> </el-input>
</el-form-item> </el-form-item>
<el-form-item prop="isGov"> <el-form-item prop="isGovernmentPurchase">
<el-select v-model="queryForm.isGov" placeholder="是否政府采购" style="width: 100%"> <el-select v-model="queryForm.isGovernmentPurchase" placeholder="是否政府采购" style="width: 100%">
<el-option label="是" value="1"></el-option> <el-option label="是" value="1"></el-option>
<el-option label="否" value="0"></el-option> <el-option label="否" value="0"></el-option>
</el-select> </el-select>
......
...@@ -12,6 +12,7 @@ ...@@ -12,6 +12,7 @@
<el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAdd">新增 </el-button> <el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAdd">新增 </el-button>
</el-form-item> </el-form-item>
</el-form> </el-form>
<!-- 表格数据 -->
<el-table v-loading="loading" :row-style="{ height: '35px' }" :cell-style="{ padding: '0' }" :data="budgetList" <el-table v-loading="loading" :row-style="{ height: '35px' }" :cell-style="{ padding: '0' }" :data="budgetList"
style="font-size: 14px" stripe> style="font-size: 14px" stripe>
<el-table-column label="年度" prop="year" align="center" /> <el-table-column label="年度" prop="year" align="center" />
...@@ -181,6 +182,7 @@ import { ...@@ -181,6 +182,7 @@ import {
getdeBudgetList,//查看本单位预算填报列表; getdeBudgetList,//查看本单位预算填报列表;
deleteDepart,// 删除预算填报 deleteDepart,// 删除预算填报
submitApply,//提交 submitApply,//提交
departUser,//获取当前登录人
} from '@/api/smartSchool/officialWork/budgetFilling' } from '@/api/smartSchool/officialWork/budgetFilling'
import { import {
getLeaderList,//获取校领导下拉框 getLeaderList,//获取校领导下拉框
...@@ -191,6 +193,7 @@ import "@riophae/vue-treeselect/dist/vue-treeselect.css"; ...@@ -191,6 +193,7 @@ import "@riophae/vue-treeselect/dist/vue-treeselect.css";
import { getToken } from "@/utils/auth"; import { getToken } from "@/utils/auth";
import { MessageBox } from "element-ui"; import { MessageBox } from "element-ui";
import SelectUser from "./components/SelectUser"; import SelectUser from "./components/SelectUser";
import moment from 'moment';
export default { export default {
name: "budgetFilling", name: "budgetFilling",
...@@ -467,16 +470,21 @@ export default { ...@@ -467,16 +470,21 @@ export default {
// 编辑按钮 // 编辑按钮
handleUpdate(row) { handleUpdate(row) {
this.open = true;
console.log('row.id', row.id);
queryDepart(row.id).then(response => { queryDepart(row.id).then(response => {
console.log(11122, response.data);
this.postForm.id = response.data.id
this.xzTable = response.data.schoolDepartmentBudgetProjectmxList; this.xzTable = response.data.schoolDepartmentBudgetProjectmxList;
this.postForm.informant = this.$store.state.user.name; this.postForm.informant = response.data.informant;
this.postForm.year = response.data.year; this.postForm.year = response.data.year;
this.postForm.deptName = response.data.deptName; this.postForm.deptName = response.data.deptName;
this.postForm.projectName = this.xzTable[0].projectName; this.postForm.handUserName2 = response.data.leadershipName;
this.postForm.content = this.xzTable[0].content; this.postForm.handUserName2 = response.data.leadershipName;
this.postForm.projectExpenditures = this.xzTable[0].projectExpenditures; // this.postForm.projectName = tresponse.data.schoolDepartmentBudgetProjectmxList.projectName;
this.postForm.isGovernmentPurchase = this.xzTable[0].isGovernmentPurchas; // this.postForm.content = response.data.schoolDepartmentBudgetProjectmxList.content;
this.open = true; // this.postForm.projectExpenditures = response.data.schoolDepartmentBudgetProjectmxList.projectExpenditures;
// this.postForm.isGovernmentPurchase = response.data.schoolDepartmentBudgetProjectmxList.isGovernmentPurchas;
this.$modal.closeLoading(); this.$modal.closeLoading();
}).catch(err => { }).catch(err => {
...@@ -513,6 +521,7 @@ export default { ...@@ -513,6 +521,7 @@ export default {
this.lookTable = response.data.schoolDepartmentBudgetProjectmxList; this.lookTable = response.data.schoolDepartmentBudgetProjectmxList;
console.log(111, this.lookTable); console.log(111, this.lookTable);
this.postForm.informant = this.$store.state.user.name; this.postForm.informant = this.$store.state.user.name;
console.log(222, this.$store.state.user);
this.postForm.leadershipName = response.data.leadershipName; this.postForm.leadershipName = response.data.leadershipName;
this.postForm.year = response.data.year; this.postForm.year = response.data.year;
this.postForm.deptName = response.data.deptName; this.postForm.deptName = response.data.deptName;
...@@ -534,6 +543,20 @@ export default { ...@@ -534,6 +543,20 @@ export default {
applyMoney: "", applyMoney: "",
remark: "", remark: "",
}]; }];
departUser().then(response => {
this.postForm.informant = response.data.userName;
this.postForm.deptName = response.data.deptName;
console.log(111, response.data);
this.postForm.year = moment().add(1, 'years').format('YYYY');
if (response.hasOwnProperty('total') && typeof response.total === 'number' && !isNaN(response.total)) {
this.total = response.total;
} else {
this.total = 0;
}
})
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 = '新增预算批复信息'
...@@ -563,18 +586,12 @@ export default { ...@@ -563,18 +586,12 @@ export default {
if (valid) { if (valid) {
this.$modal.loading('正在上传数据,请稍等...'); this.$modal.loading('正在上传数据,请稍等...');
if (this.xzTable[0].id != null) { if (this.xzTable[0].id != null) {
const newObj = {}; const newObj = {
newObj.leadershipName = this.postForm.handUserName2; id: this.postForm.id,
newObj.leadershipId = this.postForm.leadershipId; year: this.postForm.year,
newObj.xzTable = this.schoolDepartmentBudgetProjectmxList; leadershipId: this.postForm.leadershipId,
newObj.year = this.postForm.year; schoolDepartmentBudgetProjectmxList: this.xzTable
newObj.deptName = this.postForm.deptName; };
newObj.projectName = this.xzTable[0].projectName;
newObj.content = this.xzTable[0].content;
newObj.projectExpenditures = this.xzTable[0].projectExpenditures;
newObj.isGovernmentPurchase = this.xzTable[0].isGovernmentPurchas;
newObj.applyMoney = this.xzTable[0].applyMoney;
newObj.remark = this.xzTable[0].remark;
console.log('newObj', newObj) console.log('newObj', newObj)
// 编辑 // 编辑
editdeBudget(newObj).then(response => { editdeBudget(newObj).then(response => {
...@@ -586,20 +603,58 @@ export default { ...@@ -586,20 +603,58 @@ export default {
this.$modal.closeLoading(); this.$modal.closeLoading();
}); });
} else { } else {
// 新增 // let fromData = {
const newObj = {}; // year: "",
newObj.leadershipName = this.postForm.handUserName2; // leadershipId: "",
newObj.leadershipId = this.postForm.leadershipId; // };
newObj.xzTable = this.schoolDepartmentBudgetProjectmxList; // fromData.schoolDepartmentBudgetProjectmxList = [];
newObj.year = this.postForm.year; // this.bzjData.forEach((element) => {
newObj.deptName = this.postForm.deptName; // fromData.schoolDepartmentBudgetProjectmxList.push(element.obj);
newObj.projectName = this.xzTable[0].projectName; // });
newObj.content = this.xzTable[0].content; // fromData.earthTaskXIdList = this.earthTaskXIdList;
newObj.projectExpenditures = this.xzTable[0].projectExpenditures; // fromData.rwrq = self.form.rwrq;
newObj.isGovernmentPurchase = this.xzTable[0].isGovernmentPurchas; // fromData.rwlx = self.form.rwlx;
newObj.applyMoney = this.xzTable[0].applyMoney; // fromData.xmid = self.form.xmid;
newObj.remark = this.xzTable[0].remark; // fromData.jfjg = self.form.jfjg;
console.log('newObj', newObj)
// 新增
// const newObj = {};
// newObj.leadershipName = this.postForm.handUserName2;
// newObj.leadershipId = this.postForm.leadershipId;
// newObj.xzTable = this.schoolDepartmentBudgetProjectmxList;
// newObj.year = this.postForm.year;
// newObj.deptName = this.postForm.deptName;
// console.log('newObj.deptName', newObj.deptName);
// newObj.projectName = this.xzTable[0].projectName;
// newObj.content = this.xzTable[0].content;
// newObj.projectExpenditures = this.xzTable[0].projectExpenditures;
// newObj.isGovernmentPurchase = this.xzTable[0].isGovernmentPurchas;
// newObj.applyMoney = this.xzTable[0].applyMoney;
// newObj.remark = this.xzTable[0].remark;
// console.log('newObj', newObj)
const newObj = {
year: this.postForm.year,
leadershipId: this.postForm.leadershipId,
schoolDepartmentBudgetProjectmxList: this.xzTable
};
console.log('xzTable', this.xzTable);
console.log('newObj', newObj);
// if (Array.isArray(this.schoolDepartmentBudgetProjectmxList) && this.schoolDepartmentBudgetProjectmxList.length > 0) {
// for (let i = 0; i < this.schoolDepartmentBudgetProjectmxList.length; i++) {
// let project = {};
// project.projectName = this.schoolDepartmentBudgetProjectmxList[i].projectName;
// project.content = this.schoolDepartmentBudgetProjectmxList[i].content;
// project.projectExpenditures = this.schoolDepartmentBudgetProjectmxList[i].projectExpenditures;
// project.isGovernmentPurchase = this.schoolDepartmentBudgetProjectmxList[i].isGovernmentPurchase;
// project.applyMoney = this.schoolDepartmentBudgetProjectmxList[i].applyMoney;
// project.remark = this.schoolDepartmentBudgetProjectmxList[i].remark;
// newObj.xzTable.push(project);
// }
// }
console.log('newObj', newObj);
adddeBudget(newObj).then(response => { adddeBudget(newObj).then(response => {
this.$modal.closeLoading(); this.$modal.closeLoading();
console.log(this); console.log(this);
...@@ -609,6 +664,8 @@ export default { ...@@ -609,6 +664,8 @@ export default {
}).catch(err => { }).catch(err => {
this.$modal.closeLoading(); this.$modal.closeLoading();
}); });
} }
} }
}); });
......
...@@ -5,9 +5,10 @@ ...@@ -5,9 +5,10 @@
<el-input v-model="queryForm.activityName" @keyup.enter.native="handleQuery" placeholder="活动名称"></el-input> <el-input v-model="queryForm.activityName" @keyup.enter.native="handleQuery" placeholder="活动名称"></el-input>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-date-picker v-model="queryForm.sj" type="daterange" range-separator="至" start-placeholder="开始日期" <el-date-picker v-model="dateRange" type="daterange" range-separator="至" start-placeholder="开始日期"
end-placeholder="结束日期" format="yyyy-MM-dd" value-format="yyyy-MM-dd" @change="changeData(queryForm.sj)"> end-placeholder="结束日期" format="yyyy-MM-dd" value-format="yyyy-MM-dd" @change="changeData(dateRange)">
</el-date-picker> </el-date-picker>
<!-- @change="changeData(queryForm.sj) -->
<span v-if="diffDate !== ''" style="font-size: 14px">({{ diffDate }})天</span> <span v-if="diffDate !== ''" style="font-size: 14px">({{ diffDate }})天</span>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
...@@ -18,8 +19,8 @@ ...@@ -18,8 +19,8 @@
</el-form> </el-form>
<!-- 表格信息 --> <!-- 表格信息 -->
<el-table stripe ref="applyTable" v-loading="loading" :data="infoList" :cell-style="cellStyle"> <el-table stripe ref="applyTable" v-loading="loading" :data="infoList" :cell-style="cellStyle">
<el-table-column type="index" label="序号" width="55" align="center"></el-table-column> <el-table-column type="index" label="序号" width="55" align="center" fixed="left"></el-table-column>
<el-table-column label="活动名称" align="center" prop="activityName" /> <el-table-column label="活动名称" align="center" prop="activityName" width="100px" fixed="left" />
<el-table-column label="活动地点" align="center" width="120px" prop="activityArea" /> <el-table-column label="活动地点" align="center" width="120px" prop="activityArea" />
<el-table-column label="负责人" align="center" prop="specificUserName" /> <el-table-column label="负责人" align="center" prop="specificUserName" />
<el-table-column label="活动人数" align="center" prop="activityNumber" /> <el-table-column label="活动人数" align="center" prop="activityNumber" />
...@@ -47,7 +48,7 @@ ...@@ -47,7 +48,7 @@
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="申请人" align="center" prop="applyName" /> <el-table-column label="申请人" align="center" prop="applyName" />
<el-table-column label="申请时间" align="center" prop="applyTime" /> <el-table-column label="申请时间" width="200px" align="center" prop="applyTime" />
<el-table-column label="操作" align="center" fixed="right" class-name="small-padding fixed-width" width="200px"> <el-table-column label="操作" align="center" fixed="right" class-name="small-padding fixed-width" width="200px">
<template slot-scope="scope"> <template slot-scope="scope">
<div v-if="scope.row.state === '0'"> <div v-if="scope.row.state === '0'">
...@@ -94,7 +95,7 @@ ...@@ -94,7 +95,7 @@
<el-col :span="8"> <el-col :span="8">
<el-form-item label="活动时间" prop="activityTime" style="width: 276.66px"> <el-form-item label="活动时间" prop="activityTime" style="width: 276.66px">
<el-date-picker v-model="postForm.activityTime" type="datetime" <el-date-picker v-model="postForm.activityTime" type="datetime"
value-format="yyyy-MM-dd HH:mm:ss" placeholder="请选择日期"> value-format="yyyy-MM-dd HH:mm:ss" placeholder="请选择日期" :picker-options="pickerOptions">
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
</el-col> </el-col>
...@@ -157,20 +158,29 @@ ...@@ -157,20 +158,29 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="分管领导" prop="handUserName2"> <el-form-item label="分管领导" prop="leadershipName">
<el-input :value="postForm.handUserName2" placeholder="请选择分管领导" <el-input :value="postForm.leadershipName" placeholder="请选择分管领导"
@focus="openSelect('选择分管领导', 'leaderList', 2)"></el-input> @focus="openSelect('选择分管领导', 'leaderList', 2)"></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="24"> <el-col :span="24">
<el-form-item label="流程单附件" prop="fjmc"> <el-form-item label="流程单附件" prop="url">
<el-input v-model="postForm.fjmc" placeholder="请输入"> <!-- <el-upload class="upload-demo" ref="upload" action="#" :auto-upload="true"
<!-- <template slot-scope="scope"> :before-upload="beforeUpload" :on-change="fileChange" :http-request="uploadFile"
<p v-for="item in scope.row.dzbFjList" :key="item.id">{{ item.fjmc }}</p> :on-remove="handleRemoveFile" :file-list="fileList">
</template> --> <el-input slot="trigger" size="small" type="primary">选取文件
</el-input> </el-input>
</el-upload> -->
<FileUploadNew @input="getFileList" :limit="1" :value="fileList"></FileUploadNew>
<!--
limit:number 附件最大数量
fileSize:number 附件大小限制(mb)
fileType:array 附件类型
:value="附件List" 编辑、查看时向子组件传递的附件list(value在子组件props中定义)
@input="接收方法" 子组件向父组件传参的方法(input在子组件中引用用于数据回传)
-->
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
...@@ -217,31 +227,43 @@ ...@@ -217,31 +227,43 @@
</tr> </tr>
<tr> <tr>
<td>是否彩排</td> <td>是否彩排</td>
<td class="btntext">{{ isRehearsal }}</td> <td class="btntext"> {{
isRehearsal === '1' ? '是' : '否' }} </td>
<td>是否录像</td> <td>是否录像</td>
<td class="btntext">{{ isVideo }}</td> <td class="btntext">{{ isVideo === '1' ? '是' : '否' }}</td>
<td style="width: 100px">是否直播</td> <td style="width: 100px">是否直播</td>
<td class="btntext">{{ isLive }}</td> <td class="btntext">{{ isLive === '1' ? '是' : '否' }}</td>
</tr> </tr>
<tr> <tr>
<td>话筒数量</td> <td>话筒数量</td>
<td>{{ htNumber }}</td> <td>{{ htNumber }}</td>
<td>是否需要大屏</td> <td>是否需要大屏</td>
<td class="btntext" colspan="5">{{ isBigScreen }}</td> <td class="btntext" colspan="5">{{ isBigScreen === '1' ? '是' : '否' }}</td>
</tr> </tr>
<tr> <tr>
<td rowspan="2" class="btntxt">附件 <td rowspan="2" class="btntxt">附件</td>
<template slot-scope="scope"> <td colspan="6">
<p v-for="item in scope.row.dzbFjList" :key="item.id"> <!-- <p v-for="(item, index) in fileList" :key="index">
<el-link type="primary" :href="item.fjlj" :underline="false" target="_blank">{{ <el-link :underline="false" :href="item.fjlj" type="primary" target="_blank">
item.fjmc {{ item.fjmc }}
}}</el-link> </el-link>
</p>
</template> </p> -->
</td> <p>
<td colspan="7">{{ fjmc }}</td> <el-link :underline="false" :href="postForm.fjlj" type="primary" target="_blank">
{{ postForm.fjmc }}
</el-link>
<!-- <el-button type="primary" size="mini" @click="downloadFile(postForm.fjlj)">
下载
</el-button> -->
</p>
</td>
</tr> </tr>
</table> </table>
<el-row style="margin-top: 15px; margin-left: 20px"> <el-row style="margin-top: 15px; margin-left: 20px">
<el-col :span="8"> <el-col :span="8">
...@@ -256,7 +278,7 @@ ...@@ -256,7 +278,7 @@
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<span class="uploadname" style="font-size: 16px; font-weight: bold">学校分管领导: <span class="uploadname" style="font-size: 16px; font-weight: bold">学校分管领导:
{{ leadershipName }} {{ leadershipName }}&nbsp; {{ displayState }}
</span> </span>
</el-col> </el-col>
</el-row> </el-row>
...@@ -287,27 +309,40 @@ import { ...@@ -287,27 +309,40 @@ import {
delAuditor, // 删除礼堂预约 delAuditor, // 删除礼堂预约
submitAuditor,//提交礼堂预约申请 submitAuditor,//提交礼堂预约申请
getLeaderList,//获取校领导下拉框 getLeaderList,//获取校领导下拉框
uploadList,//文件上传
} from "@/api/smartSchool/personWork/auditoriumReservation"; } from "@/api/smartSchool/personWork/auditoriumReservation";
import { CustomCellStyle } from "@/enums/customStyle"; import { CustomCellStyle } from "@/enums/customStyle";
import { commonUpload } from "@/api/common";
import "@riophae/vue-treeselect/dist/vue-treeselect.css"; import "@riophae/vue-treeselect/dist/vue-treeselect.css";
import { SubmitState } from "@/enums/apply"; import { SubmitState } from "@/enums/apply";
import SelectUser from "./components/SelectUser"; import SelectUser from "./components/SelectUser";
import moment from 'moment' import moment from 'moment'
import FileUploadNew from '@/components/FileUploadNew';
import { downLoadFile } from "@/utils/utilLibrary/downloadFile";
import 'moment/locale/zh-cn';
export default { export default {
name: "auditoriumReservation", name: "auditoriumReservation",
components: { components: {
SelectUser,
SelectUser FileUploadNew
}, },
data() { data() {
return { return {
stateTexts: ['未提交', '审核中', '审核通过', '审核不通过'],
// 上传
upload: {
isUploading: false,
progress: 0,
hasFile: false,
},
// 天数 // 天数
diffDate: "", diffDate: "",
title: '', // 初始化 "title" 属性 title: '', // 初始化 "title" 属性
week: "", // 选择的天数 week: "", // 选择的天数
dateRange: [], // 用于存储选定的时间段 // 日期范围
dateRange: [],
// 提交状态 // 提交状态
state: "", state: "",
// 自定义列表单元格样式 // 自定义列表单元格样式
...@@ -336,6 +371,8 @@ export default { ...@@ -336,6 +371,8 @@ export default {
htNumber: "", htNumber: "",
// 附件名称 // 附件名称
fjmc: "", fjmc: "",
// 附件路径
fjlj: "",
// 申请人 // 申请人
applyName: "", applyName: "",
//申请部门 //申请部门
...@@ -351,7 +388,7 @@ export default { ...@@ -351,7 +388,7 @@ export default {
// 查询表单 // 查询表单
queryForm: { queryForm: {
activityName: "", activityName: "",
dateRange: [null, null], // 选择的开始日期和结束日期 dateRange: [], // 选择的开始日期和结束日期
pageNum: 1, pageNum: 1,
pageSize: 10, pageSize: 10,
sj: '' sj: ''
...@@ -396,9 +433,17 @@ export default { ...@@ -396,9 +433,17 @@ export default {
isBigScreen: "", isBigScreen: "",
htNumber: "", htNumber: "",
fjmc: "", fjmc: "",
fjlj: "",
leadershipId: "", leadershipId: "",
}, },
pickerOptions: {
disabledDate(time) {
const today = moment().startOf('day');
return moment(time).isBefore(today);
}
},
// 分管领导id // 分管领导id
leadershipId: '', leadershipId: '',
// 审批人 // 审批人
...@@ -406,6 +451,8 @@ export default { ...@@ -406,6 +451,8 @@ export default {
open: false, open: false,
title: '选择审批人' title: '选择审批人'
}, },
// 文件回显
fileList: [],
// 选择对应处理人 // 选择对应处理人
selectHandles: { selectHandles: {
id: null, id: null,
...@@ -424,21 +471,135 @@ export default { ...@@ -424,21 +471,135 @@ export default {
// 是否禁用输入框 // 是否禁用输入框
isDisabled: false, isDisabled: false,
// // 表单校验 // // 表单校验
rules: {}, rules: {
activityName: [
{ required: true, message: "活动名称不能为空", trigger: "blur" }
],
activityArea: [
{ required: true, message: "活动场地不能为空", trigger: "blur" }
],
specificUserName: [
{ required: true, message: "具体负责人不能为空", trigger: "blur" }
],
activityNumber: [
{ required: true, message: "活动人数不能为空", trigger: "blur" }
],
activityTime: [
{ required: true, message: "活动不能为空", trigger: "blur" }
],
duration: [
{ required: true, message: "预计时长不能为空", trigger: "blur" }
],
isRehearsal: [
{ required: true, message: "是否彩排不能为空", trigger: "blur" }
],
isVideo: [
{ required: true, message: "是否录像不能为空", trigger: "blur" }
],
isLive: [
{ required: true, message: "是否直播为空", trigger: "blur" }
],
isBigScreen: [
{ required: true, message: "是否需要大屏不能为空", trigger: "blur" }
],
// leadershipName: [
// { required: true, message: "分管领导不能为空", trigger: "change" }
// ],
fjmc: [
{ required: true, message: "流程单附件不能为空", trigger: "blur" }
],
},
// 列表信息 // 列表信息
columns: [], columns: [],
}; };
}, },
computed: {
displayState() {
return this.stateTexts[this.state] || '';
}
},
created() { created() {
this.getList(); this.getList();
}, },
methods: { methods: {
downloadFile(url) {
// 在这里编写下载文件的逻辑,可以使用浏览器的下载功能或者自定义的下载方法
window.open(url, "_blank");
},
// changeData(dateRange) {
// if (Array.isArray(dateRange) && dateRange.length === 2) {
// this.queryForm.sj = dateRange; // 更新日期范围选择器的值
// this.queryForm.startTime = dateRange[0]; // 更新开始日期
// this.queryForm.endTime = dateRange[1]; // 更新结束日期
// // 调用后端接口或其他相关处理
// // this.getList();
// }
// },
getDisplayState(state) {
switch (state) {
case 0:
return '未提交';
case 1:
return '审核中';
case 2:
return '审核通过';
case 3:
return '审核不通过';
default:
return '';
}
},
handleUploadClick() {
// 触发文件上传的点击事件
this.$refs.upload.$el.querySelector('.el-upload__input').click();
},
//上传按钮
getFileList(data) {
console.log('data', data);
this.fileList = data;
if (this.fileList.length != 0) {
this.postForm.fjlj = data[0].fjlj;
this.postForm.fjmc = data[0].fjmc;
console.log('this.postForm', this.postForm);
} else {
this.postForm.fjlj = '';
this.postForm.fjmc = '';
}
},
/** 获取列表数据 */ /** 获取列表数据 */
getList() { getList() {
listAuditor(this.queryForm).then(response => { const params = {
activityName: this.queryForm.activityName,
pageNum: this.queryForm.pageNum,
pageSize: this.queryForm.pageSize,
startTime: this.dateRange[0],
endTime: this.dateRange[1]
};
console.log('params', params);
listAuditor(params).then(response => {
this.loading = false; this.loading = false;
this.infoList = response.rows; this.infoList = response.rows;
console.log(111, response.rows); console.log(111, response.rows);
...@@ -496,9 +657,9 @@ export default { ...@@ -496,9 +657,9 @@ export default {
})) }))
}, },
handleDeputyLeader(data) { handleDeputyLeader(data) {
const { handUserName2, handUserId2 } = data; const { leadershipName, leadershipId } = data;
this.form.handUserName2 = handUserName2; this.form.leadershipName = leadershipName;
this.form.handUserId2 = handUserId2; this.form.leadershipId = leadershipId;
}, },
/** 查看 */ /** 查看 */
...@@ -524,22 +685,28 @@ export default { ...@@ -524,22 +685,28 @@ export default {
this.applyName = response.data.applyName; this.applyName = response.data.applyName;
this.applyDept = response.data.applyDept; this.applyDept = response.data.applyDept;
this.leadershipName = response.data.leadershipName; this.leadershipName = response.data.leadershipName;
this.fjmc = response.data.fjmc; this.postForm.fjmc = response.data.fjmc; // 将 fjmc 存储在 postForm 中
console.log(response.data.state); this.postForm.fjlj = response.data.fjlj; // 将 fjlj 存储在 postForm 中
console.log('this.fjmc', this.fjmc);
this.state = response.data.state;
this.loading = false; this.loading = false;
this.look = true; this.look = true;
}); });
}, },
// 计算天数 // 计算天数
changeData(value) { changeData(value) {
const startDate = value[0]; const startDate = value[0];
const endDate = value[1]; const endDate = value[1];
const diffDate = moment(endDate).diff(startDate, 'day'); const diffDate = moment(endDate).diff(startDate, 'day');
this.diffDate = diffDate; // 更新diffDate属性的值 this.diffDate = diffDate; // 更新diffDate属性的值
console.log('value', value);
console.log('this.diffDate', this.diffDate);
}, },
// 提交按钮 // 提交按钮
submitApply(row) { submitApply(row) {
console.log('row', row);
this.$confirm('确认要提交申请?', '提示', { this.$confirm('确认要提交申请?', '提示', {
confirmButtonText: '确定', confirmButtonText: '确定',
cancelButtonText: '取消', cancelButtonText: '取消',
...@@ -576,24 +743,25 @@ export default { ...@@ -576,24 +743,25 @@ export default {
// 重置按钮 // 重置按钮
resetQuery() { resetQuery() {
const state = this.queryForm.state; const state = this.queryForm.state;
this.dateRange = []; // 重置日期选择器
this.diffDate = ''; // 重置 diffDate 为默认值
this.queryForm = { this.queryForm = {
state: state, state: state,
pageNum: 1, pageNum: 1,
pageSize: 10, pageSize: 10,
}; };
this.dateRange = [];
this.week = ""; this.week = "";
this.handleQuery(); // 重新发一次请求 this.handleQuery(); // 重新发一次请求
}, },
getFormatDate(timeDate) { // getFormatDate(timeDate) {
let date = new Date(timeDate); // let date = new Date(timeDate);
let year = date.getFullYear(); // let year = date.getFullYear();
let month = date.getMonth() + 1; // let month = date.getMonth() + 1;
let day = date.getDate(); // let day = date.getDate();
return [year, '-', month, '-', day].join(''); // return [year, '-', month, '-', day].join('');
}, // },
...@@ -619,7 +787,7 @@ export default { ...@@ -619,7 +787,7 @@ export default {
// 这种写法存在一定危险,后续最好是可以有更好的字段名对应 // 这种写法存在一定危险,后续最好是可以有更好的字段名对应
this.$set(this.form, `handUserName${this.selectHandles.type}`, select.name); this.$set(this.form, `handUserName${this.selectHandles.type}`, select.name);
this.$set(this.form, `handUserId${this.selectHandles.type}`, select.id); this.$set(this.form, `handUserId${this.selectHandles.type}`, select.id);
this.postForm.handUserName2 = select.name; this.postForm.leadershipName = select.name;
this.postForm.leadershipId = select.id; this.postForm.leadershipId = select.id;
}, },
...@@ -628,11 +796,11 @@ export default { ...@@ -628,11 +796,11 @@ export default {
// 新增按钮操作 // 新增按钮操作
handleAdd() { handleAdd() {
this.reset(); this.reset();
// const userId = this.$store.state.user.userId; // const userId = this.$store.state.user.userId;
this.postForm.activityArea = "博远礼堂"; this.postForm.activityArea = "博远礼堂";
// this.postForm.specificUserName = this.$store.state.user.name; // this.postForm.specificUserName = this.$store.state.user.name;
this.postForm.fjlj = '';
this.postForm.fjmc = '';
this.isShow = true; this.isShow = true;
this.isDisabled = false; this.isDisabled = false;
this.open = true; this.open = true;
...@@ -644,12 +812,27 @@ export default { ...@@ -644,12 +812,27 @@ export default {
this.reset(); this.reset();
const id = row.id || this.ids; const id = row.id || this.ids;
this.postForm = row; this.postForm = row;
console.log('this.fileList', this.fileList);
getAuditor(id).then(response => { getAuditor(id).then(response => {
this.postForm = response.data; this.postForm = response.data;
this.postForm.handUserName2 = response.data.leadershipName console.log('this.fileList', this.fileList)
if (this.postForm.fjlj == '' || this.postForm.fjlj == undefined || this.postForm.fjlj == null) {
this.fileList = []
} else {
this.fileList = [{
fjlj: this.postForm.fjlj,
fjmc: this.postForm.fjmc,
}]
}
console.log('postForm', this.postForm);
this.postForm.leadershipName = response.data.leadershipName
console.log(1111, response.data); console.log(1111, response.data);
this.open = true; this.open = true;
this.isDisabled = false; this.isDisabled = false;
}); });
}, },
// 删除按钮操作 // 删除按钮操作
...@@ -682,32 +865,44 @@ export default { ...@@ -682,32 +865,44 @@ export default {
this.throttle(() => { this.throttle(() => {
this.$refs["postForm"].validate((valid) => { this.$refs["postForm"].validate((valid) => {
if (valid) { if (valid) {
this.$modal.loading("正在上传数据,请稍等..."); console.log('this.postForm', this.postForm);
// this.$modal.loading("正在上传数据,请稍等...");
if (this.postForm.id != null) { if (this.postForm.id != null) {
// 查看表单 if (this.fileList.length != 0) {
updateAuditor(this.postForm) // 查看表单
.then((response) => { updateAuditor(this.postForm)
this.$modal.closeLoading(); .then((response) => {
this.$modal.msgSuccess("修改成功"); this.$modal.closeLoading();
this.open = false; this.$modal.msgSuccess("修改成功");
this.getList(); this.open = false;
}) this.getList();
.catch((err) => { })
this.$modal.closeLoading(); .catch((err) => {
}); this.$modal.closeLoading();
});
} else {
this.$modal.msgError("流程单附件不能为空");
}
} else { } else {
if (this.fileList.length != 0) {
console.log('this.postForm', this.postForm);
addAuditor(this.postForm)
.then((response) => {
this.$modal.closeLoading();
this.$modal.msgSuccess("新增成功");
this.open = false;
this.getList();
})
.catch((err) => {
this.$modal.closeLoading();
});
} else {
this.$modal.msgError("流程单附件不能为空");
}
// 新增 // 新增
console.log('this.postForm', this.postForm);
addAuditor(this.postForm)
.then((response) => {
this.$modal.closeLoading();
this.$modal.msgSuccess("新增成功");
this.open = false;
this.getList();
})
.catch((err) => {
this.$modal.closeLoading();
});
} }
} }
}); });
...@@ -720,7 +915,7 @@ export default { ...@@ -720,7 +915,7 @@ export default {
// this.resetQuery(); // this.resetQuery();
this.reset(); this.reset();
}, },
// 重置
reset() { reset() {
// 这里需要重置对话框表单 // 这里需要重置对话框表单
this.postForm = { this.postForm = {
...@@ -735,14 +930,87 @@ export default { ...@@ -735,14 +930,87 @@ export default {
isLive: "", isLive: "",
isBigScreen: "", isBigScreen: "",
htNumber: "", htNumber: "",
fjmc: "", // fjmc: null,
// fjlj: null,
leadershipId: "", leadershipId: "",
pageNum: 1, pageNum: 1,
pageSize: 10, pageSize: 10,
leadershipName: ""
}; };
this.resetForm("postForm"); this.resetForm("postForm");
}, },
/** 下载 */
handleDownLoad({ url, name, id }) {
if (isString(url) && url.lastIndexOf("/") > -1) {
// this.$download.name(url.slice(url.lastIndexOf("/") + 1), false);
// this.download(url, {});
// downLoadFile(url, name);
updateDownload(id).then(response => {
this.$download.resource(url);
this.getList();
}).catch(error => {
})
} else {
return "";
}
},
/** 上传文件前的钩子 */
beforeUpload() {
this.upload.isUploading = false;
this.upload.progress = 0;
},
/** 添加的文件时触发该钩子 */
fileChange(file, fileList) {
fileList.length > 0 && (this.upload.hasFile = true);
this.$refs.upload.uploadFiles = [file];
},
/** 上传文件到服务器 */
submitFile() {
this.$refs.upload.submit();
},
/** 删除文件 */
handleRemoveFile(file, fileList) {
fileList.length === 0 && (this.upload.hasFile = false);
},
/** 文件上传 */
// uploadFile(file, fileList) {
// const fileData = file.file;
// const fileName = fileData.name;
// const formData = new FormData();
// formData.append("file", fileData);
// this.upload.isUploading = true;
// uploadList(formData).then(response => {
// this.$message.success("上传成功");
// this.form.url = response.url;
// this.form.name = fileName;
// this.upload.isUploading = false;
// }).catch(error => {
// // 处理上传失败的情况
// });
// },
// 附件上传回调函数
uploadFile(data) {
console.log('getFileList', data)
// this.form.files = data
uploadList().then(response => {
return {
"fjlj": item.url,
"fjmc": item.name
}
})
console.log('dzbFjList', this.dzbFjList)
},
/** 文件下载 */
// downloadFile(fileUrl) {
// },
}, },
}; };
</script> </script>
......
...@@ -154,6 +154,7 @@ export default { ...@@ -154,6 +154,7 @@ export default {
}, },
/** 选项选中发生变化 */ /** 选项选中发生变化 */
selectionChange(selections) { selectionChange(selections) {
console.log('seselections', selections);
this.selectUser = selections[0]; this.selectUser = selections[0];
}, },
/** 点击选中、取消 */ /** 点击选中、取消 */
......
...@@ -9,7 +9,7 @@ ...@@ -9,7 +9,7 @@
<el-row :gutter="10" class="mb8"> <el-row :gutter="10" class="mb8">
<el-col :span="1.5" v-show="activeName === SubmitState.WILL_SUBMIT"> <el-col :span="1.5" v-show="activeName === SubmitState.WILL_SUBMIT">
<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:leave:add']">新增 v-hasPermi="['system:leave:add']">新增
</el-button> </el-button>
</el-col> </el-col>
<el-col :span="1.5"> <el-col :span="1.5">
...@@ -18,12 +18,12 @@ ...@@ -18,12 +18,12 @@
</el-col> </el-col>
<el-col :span="1.5" v-show="activeName === SubmitState.WILL_SUBMIT"> <el-col :span="1.5" v-show="activeName === SubmitState.WILL_SUBMIT">
<el-button type="success" plain icon="el-icon-edit" size="mini" :disabled="single" @click="handleUpdate" <el-button type="success" plain icon="el-icon-edit" size="mini" :disabled="single" @click="handleUpdate"
v-hasPermi="['system:leave:edit']">修改 v-hasPermi="['system:leave:edit']">修改
</el-button> </el-button>
</el-col> </el-col>
<el-col :span="1.5" v-show="activeName === SubmitState.WILL_SUBMIT"> <el-col :span="1.5" v-show="activeName === SubmitState.WILL_SUBMIT">
<el-button type="danger" plain icon="el-icon-delete" size="mini" :disabled="multiple" @click="handleDelete" <el-button type="danger" plain icon="el-icon-delete" size="mini" :disabled="multiple" @click="handleDelete"
v-hasPermi="['system:leave:remove']">删除 v-hasPermi="['system:leave:remove']">删除
</el-button> </el-button>
</el-col> </el-col>
<!-- <el-col :span="1.5">--> <!-- <el-col :span="1.5">-->
...@@ -34,38 +34,38 @@ ...@@ -34,38 +34,38 @@
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar> <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row> </el-row>
<el-table v-loading="loading" :data="teacherLeaveList" @selection-change="handleSelectionChange"> <el-table v-loading="loading" :data="teacherLeaveList" @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="流程实例ID" prop="instanceId" min-width="100" key="instanceId" <el-table-column label="流程实例ID" prop="instanceId" min-width="100" key="instanceId"
v-if="activeName === SubmitState.HAS_SUBMIT" align="center"></el-table-column> v-if="activeName === SubmitState.HAS_SUBMIT" align="center"></el-table-column>
<el-table-column label="教师名称" key="teacherName" v-if="columns[0].visible" align="center" prop="teacherName" <el-table-column label="教师名称" key="teacherName" v-if="columns[0].visible" align="center" prop="teacherName"
show-overflow-tooltip/> show-overflow-tooltip />
<el-table-column label="标题" key="title" v-if="columns[1].visible" align="center" min-width="250" prop="title" <el-table-column label="标题" key="title" v-if="columns[1].visible" align="center" min-width="250" prop="title"
show-overflow-tooltip/> show-overflow-tooltip />
<el-table-column label="请假类型" key="type" min-width="100" v-if="columns[7].visible" align="center" prop="type"> <el-table-column label="请假类型" key="type" min-width="100" v-if="columns[7].visible" align="center" prop="type">
<template slot-scope="scope"> <template slot-scope="scope">
<dict-tag :options="dict.type.biz_leave_type" :value="scope.row.type"></dict-tag> <dict-tag :options="dict.type.biz_leave_type" :value="scope.row.type"></dict-tag>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="请假开始时间" key="startTime" v-if="columns[3].visible" min-width="125" align="center" <el-table-column label="请假开始时间" key="startTime" v-if="columns[3].visible" min-width="125" align="center"
prop="startTime"> prop="startTime">
<template slot-scope="scope"> <template slot-scope="scope">
<span v-if="scope.row.applyType == 0">{{ <span v-if="scope.row.applyType == 0">{{
parseTime(scope.row.startTime, "{y}-{m}-{d}") parseTime(scope.row.startTime, "{y}-{m}-{d}")
}} {{ scope.row.startSort }}节课</span> }} {{ scope.row.startSort }}节课</span>
<span v-else>{{ parseTime(scope.row.startTime, "{y}-{m}-{d}-{h}:{m}:{s}") }}</span> <span v-else>{{ parseTime(scope.row.startTime, "{y}-{m}-{d}-{h}:{m}:{s}") }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="请假结束时间" key="endTime" v-if="columns[4].visible" min-width="125" align="center" <el-table-column label="请假结束时间" key="endTime" v-if="columns[4].visible" min-width="125" align="center"
prop="endTime"> prop="endTime">
<template slot-scope="scope"> <template slot-scope="scope">
<span v-if="scope.row.applyType == 0">{{ <span v-if="scope.row.applyType == 0">{{
parseTime(scope.row.endTime, "{y}-{m}-{d}") parseTime(scope.row.endTime, "{y}-{m}-{d}")
}} {{ scope.row.endSort }}节课</span> }} {{ scope.row.endSort }}节课</span>
<span v-else>{{ parseTime(scope.row.endTime, "{y}-{m}-{d}-{h}:{m}:{s}") }}</span> <span v-else>{{ parseTime(scope.row.endTime, "{y}-{m}-{d}-{h}:{m}:{s}") }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="申请人" key="applyUser" align="center" prop="applyUser" <el-table-column label="申请人" key="applyUser" align="center" prop="applyUser"
v-if="columns[8].visible && activeName === SubmitState.HAS_SUBMIT"> v-if="columns[8].visible && activeName === SubmitState.HAS_SUBMIT">
</el-table-column> </el-table-column>
<el-table-column label="当前任务名称" key="taskName" prop="taskName" min-width="140" align="center"> <el-table-column label="当前任务名称" key="taskName" prop="taskName" min-width="140" align="center">
<template slot-scope="scope"> <template slot-scope="scope">
...@@ -73,20 +73,20 @@ ...@@ -73,20 +73,20 @@
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="操作" v-if="columns[9].visible" align="center" class-name="small-padding fixed-width" <el-table-column label="操作" v-if="columns[9].visible" align="center" class-name="small-padding fixed-width"
min-width="180" key="operate"> min-width="180" key="operate">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button v-if="scope.row.instanceId == null" size="mini" type="text" icon="el-icon-s-promotion" <el-button v-if="scope.row.instanceId == null" size="mini" type="text" icon="el-icon-s-promotion"
@click="submitApply(scope.row)" v-hasPermi="['system:teacherLeave:edit']">提交申请 @click="submitApply(scope.row)" v-hasPermi="['system:teacherLeave:edit']">提交申请
</el-button> </el-button>
<el-button v-if="scope.row.instanceId == null" size="mini" type="text" icon="el-icon-edit" <el-button v-if="scope.row.instanceId == null" size="mini" type="text" icon="el-icon-edit"
@click="handleUpdate(scope.row)" v-hasPermi="['system:teacherLeave:edit']">修改 @click="handleUpdate(scope.row)" v-hasPermi="['system:teacherLeave:edit']">修改
</el-button> </el-button>
<el-button v-if="scope.row.instanceId == null" size="mini" type="text" icon="el-icon-delete" <el-button v-if="scope.row.instanceId == null" size="mini" type="text" icon="el-icon-delete"
@click="handleDelete(scope.row)" v-hasPermi="['system:teacherLeave:remove']">删除 @click="handleDelete(scope.row)" v-hasPermi="['system:teacherLeave:remove']">删除
</el-button> </el-button>
<el-button v-if="scope.row.instanceId != null" size="mini" type="text" icon="el-icon-search" <el-button v-if="scope.row.instanceId != null" size="mini" type="text" icon="el-icon-search"
@click="handleDetailAwait(scope.row)" v-hasPermi="['system:teacherOvertime:edit']">查看 @click="handleDetailAwait(scope.row)" v-hasPermi="['system:teacherOvertime:edit']">查看
</el-button> </el-button>
</template> </template>
...@@ -94,27 +94,26 @@ ...@@ -94,27 +94,26 @@
</el-table> </el-table>
<ExPagination v-show="total > 0" :total="total" :limit.sync="queryParams.pageSize" :page.sync="queryParams.pageNum" <ExPagination v-show="total > 0" :total="total" :limit.sync="queryParams.pageSize" :page.sync="queryParams.pageNum"
@pagination="getList"></ExPagination> @pagination="getList"></ExPagination>
<!-- 添加或修改教师请假信息对话框 --> <!-- 添加或修改教师请假信息对话框 -->
<el-dialog :title="dialogTitle" :visible.sync="dialogTeacherLeave" width="1000px" append-to-body> <el-dialog :title="dialogTitle" :visible.sync="dialogTeacherLeave" width="1000px" append-to-body>
<el-form ref="form" :model="form" :disabled="isEdit" :rules="rules" label-width="110px" <el-form ref="form" :model="form" :disabled="isEdit" :rules="rules" label-width="110px"
style="width: 100%; margin: auto"> style="width: 100%; margin: auto">
<el-form-item label="标题" prop="title"> <el-form-item label="标题" prop="title">
<el-input :value="title" placeholder="请输入标题"/> <el-input :value="title" placeholder="请输入标题" />
</el-form-item> </el-form-item>
<el-row> <el-row>
<el-col :span="11"> <el-col :span="11">
<el-form-item label="姓名" prop="teacherName"> <el-form-item label="姓名" prop="teacherName">
<el-input :value="form.teacherName" placeholder="请输入教师名称"/> <el-input :value="form.teacherName" placeholder="请输入教师名称" />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :offset="2" :span="11"> <el-col :offset="2" :span="11">
<el-form-item label="级部/处室" prop="applyOrgid"> <el-form-item label="级部/处室" prop="applyOrgid">
<template v-if="!isEdit"> <template v-if="!isEdit">
<Treeselect v-model="form.applyOrgid" :options="gradeOfficeList" :disable-branch-nodes="true" <Treeselect v-model="form.applyOrgid" :options="gradeOfficeList" :disable-branch-nodes="true"
:searchable="true" :show-count="true" :searchable="true" :show-count="true" :clearable="false" @select="deptIdAndName" placeholder="请选择归属部门"
:clearable="false" @select="deptIdAndName" placeholder="请选择归属部门" style="width:224px" />
style="width:224px"/>
</template> </template>
<template v-else> <template v-else>
<el-input :value="form.applyOrgname"></el-input> <el-input :value="form.applyOrgname"></el-input>
...@@ -126,9 +125,8 @@ ...@@ -126,9 +125,8 @@
<el-col :span="11"> <el-col :span="11">
<el-form-item label="请假开始时间" prop="startTime"> <el-form-item label="请假开始时间" prop="startTime">
<el-date-picker @change="leaveTime" style="width: 100%" v-model="form.startTime" type="datetime" <el-date-picker @change="leaveTime" style="width: 100%" v-model="form.startTime" type="datetime"
value-format="yyyy-MM-dd HH:mm:ss" format="yyyy-MM-dd HH:mm:ss" value-format="yyyy-MM-dd HH:mm:ss" format="yyyy-MM-dd HH:mm:ss" :picker-options="pickerOptionsStart"
:picker-options="pickerOptionsStart" placeholder="选择开始时间">
placeholder="选择开始时间">
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
</el-col> </el-col>
...@@ -136,8 +134,7 @@ ...@@ -136,8 +134,7 @@
<el-col :offset="2" :span="11"> <el-col :offset="2" :span="11">
<el-form-item label="请假结束时间" prop="endTime"> <el-form-item label="请假结束时间" prop="endTime">
<el-date-picker @change="leaveTime" style="width: 100%" v-model="form.endTime" type="datetime" <el-date-picker @change="leaveTime" style="width: 100%" v-model="form.endTime" type="datetime"
value-format="yyyy-MM-dd HH:mm:ss" :picker-options="pickerOptionsEnd" value-format="yyyy-MM-dd HH:mm:ss" :picker-options="pickerOptionsEnd" placeholder="选择结束时间">
placeholder="选择结束时间">
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
</el-col> </el-col>
...@@ -147,28 +144,28 @@ ...@@ -147,28 +144,28 @@
<el-col :span="7"> <el-col :span="7">
<el-form-item label="请假开始时间" prop="startTime"> <el-form-item label="请假开始时间" prop="startTime">
<el-date-picker v-model="form.startTime" type="date" style="width: 100%" value-format="yyyy-MM-dd" <el-date-picker v-model="form.startTime" type="date" style="width: 100%" value-format="yyyy-MM-dd"
@change="leaveTime" :picker-options="pickerOptionsStart" placeholder="日期"> @change="leaveTime" :picker-options="pickerOptionsStart" placeholder="日期">
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="4"> <el-col :span="4">
<el-select v-model="form.startSort" @change="leaveTime" style="width: 100%" placeholder="课程节次"> <el-select v-model="form.startSort" @change="leaveTime" style="width: 100%" placeholder="课程节次">
<el-option v-for="dict in dict.type.course_arrange" :key="dict.value" :label="dict.label" <el-option v-for="dict in dict.type.course_arrange" :key="dict.value" :label="dict.label"
:value="dict.value"> :value="dict.value">
</el-option> </el-option>
</el-select> </el-select>
</el-col> </el-col>
<el-col :offset="2" :span="7"> <el-col :offset="2" :span="7">
<el-form-item label="请假结束时间" prop="endTime"> <el-form-item label="请假结束时间" prop="endTime">
<el-date-picker type="date" v-model="form.endTime" value-format="yyyy-MM-dd" @change="leaveTime" <el-date-picker type="date" v-model="form.endTime" value-format="yyyy-MM-dd" @change="leaveTime"
style="width: 100%" :picker-options="pickerOptionsEnd" placeholder="日期"> style="width: 100%" :picker-options="pickerOptionsEnd" placeholder="日期">
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="4"> <el-col :span="4">
<el-select v-model="form.endSort" @change="leaveTime" style="width: 100%" placeholder="课程节次"> <el-select v-model="form.endSort" @change="leaveTime" style="width: 100%" placeholder="课程节次">
<el-option v-for="dict in dict.type.course_arrange" :key="dict.value" :label="dict.label" <el-option v-for="dict in dict.type.course_arrange" :key="dict.value" :label="dict.label"
:value="dict.value"> :value="dict.value">
</el-option> </el-option>
</el-select> </el-select>
</el-col> </el-col>
...@@ -185,7 +182,7 @@ ...@@ -185,7 +182,7 @@
<el-row v-else> <el-row v-else>
<el-col :span="11"> <el-col :span="11">
<el-form-item label="请假时间" prop="dayCourse"> <el-form-item label="请假时间" prop="dayCourse">
<el-input :value="form.dayCourse" placeholder="请假时间"/> <el-input :value="form.dayCourse" placeholder="请假时间" />
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
...@@ -194,7 +191,7 @@ ...@@ -194,7 +191,7 @@
<el-form-item label="请假类型" prop="type"> <el-form-item label="请假类型" prop="type">
<el-select v-model="form.type" style="width: 100%" placeholder="请选择请假类型"> <el-select v-model="form.type" style="width: 100%" placeholder="请选择请假类型">
<el-option v-for="dict in dict.type.biz_leave_type" :key="dict.value" :label="dict.label" <el-option v-for="dict in dict.type.biz_leave_type" :key="dict.value" :label="dict.label"
:value="dict.value"> :value="dict.value">
</el-option> </el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
...@@ -202,7 +199,7 @@ ...@@ -202,7 +199,7 @@
<el-col :offset="2" :span="11"> <el-col :offset="2" :span="11">
<el-form-item label="级部/处室主任" prop="handUserName1"> <el-form-item label="级部/处室主任" prop="handUserName1">
<el-input :value="form.handUserName1" placeholder="请先选择级部/处室" <el-input :value="form.handUserName1" placeholder="请先选择级部/处室"
@focus="openSelect('选择级部/处室主任', 'gradeOfficeDirector', 1)"></el-input> @focus="openSelect('选择级部/处室主任', 'gradeOfficeDirector', 1)"></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
...@@ -210,20 +207,20 @@ ...@@ -210,20 +207,20 @@
<el-col :span="11"> <el-col :span="11">
<el-form-item label="分管领导" prop="handUserName2" v-if="form.totalTime > 0.5"> <el-form-item label="分管领导" prop="handUserName2" v-if="form.totalTime > 0.5">
<el-input :value="form.handUserName2" placeholder="请选择分管领导" <el-input :value="form.handUserName2" placeholder="请选择分管领导"
@focus="openSelect('选择分管领导', 'leaderList', 2)"></el-input> @focus="openSelect('选择分管领导', 'leaderList', 2)"></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :offset="2" :span="11"> <el-col :offset="2" :span="11">
<el-form-item label="主要领导" prop="handUserName3" v-if="form.totalTime > 2"> <el-form-item label="主要领导" prop="handUserName3" v-if="form.totalTime > 2">
<el-input :value="form.handUserName3" placeholder="请选择主要领导" <el-input :value="form.handUserName3" placeholder="请选择主要领导"
@focus="openSelect('选择主要领导', 'leaderList', 3)"></el-input> @focus="openSelect('选择主要领导', 'leaderList', 3)"></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-form-item label="请假事由" prop="reasonForLeave"> <el-form-item label="请假事由" prop="reasonForLeave">
<el-input type="textarea" placeholder="请输入请假事由" resize="none" :autosize="{ minRows: 5 }" <el-input type="textarea" placeholder="请输入请假事由" resize="none" :autosize="{ minRows: 5 }"
v-model="form.reasonForLeave"/> v-model="form.reasonForLeave" />
</el-form-item> </el-form-item>
</el-form> </el-form>
<div slot="footer" class="dialog-footer"> <div slot="footer" class="dialog-footer">
...@@ -241,14 +238,14 @@ ...@@ -241,14 +238,14 @@
<el-descriptions-item label="请假结束时间">{{ form.endTime }}</el-descriptions-item> <el-descriptions-item label="请假结束时间">{{ form.endTime }}</el-descriptions-item>
<!-- <el-descriptions-item label="请假类型">{{ form.type }}</el-descriptions-item>--> <!-- <el-descriptions-item label="请假类型">{{ form.type }}</el-descriptions-item>-->
<el-descriptions-item label="请假类型"> <el-descriptions-item label="请假类型">
<dict-tag :options="dict.type.biz_leave_type" :value="form.type"/> <dict-tag :options="dict.type.biz_leave_type" :value="form.type" />
</el-descriptions-item> </el-descriptions-item>
</el-descriptions> </el-descriptions>
</el-card> </el-card>
<br/> <br />
<el-card> <el-card>
<el-descriptions title="请假原因"/> <el-descriptions title="请假原因" />
<span v-html="form.reasonForLeave"/> <span v-html="form.reasonForLeave" />
</el-card> </el-card>
<div slot="footer" class="dialog-footer"> <div slot="footer" class="dialog-footer">
<el-button type="primary" @click="progress.open = false"> </el-button> <el-button type="primary" @click="progress.open = false"> </el-button>
...@@ -260,7 +257,7 @@ ...@@ -260,7 +257,7 @@
<!-- 选择对应处理人 --> <!-- 选择对应处理人 -->
<SelectUser :id="selectHandles.id" :open.sync="selectHandles.open" :title="selectHandles.title" <SelectUser :id="selectHandles.id" :open.sync="selectHandles.open" :title="selectHandles.title"
:width="selectHandles.width" :execute="selectHandles.method" @select="selectUser"></SelectUser> :width="selectHandles.width" :execute="selectHandles.method" @select="selectUser"></SelectUser>
</div> </div>
</template> </template>
<script> <script>
...@@ -273,10 +270,10 @@ import { ...@@ -273,10 +270,10 @@ import {
listHistory, listHistory,
submitApply, submitApply,
} from "@/api/smartSchool/personWork/leaveApply"; } from "@/api/smartSchool/personWork/leaveApply";
import {SubmitState} from "@/enums/apply"; import { SubmitState } from "@/enums/apply";
import {listInform} from "@/api/smartSchool/teacherManage/teacherInformation"; import { listInform } from "@/api/smartSchool/teacherManage/teacherInformation";
import {getListByRole} from "@/api/smartSchool/common"; import { getListByRole } from "@/api/smartSchool/common";
import {ExportType} from "@/enums/common"; import { ExportType } from "@/enums/common";
import TeacherSelect from '@/views/components/moduleComponets/TeacherSelect/index.vue' import TeacherSelect from '@/views/components/moduleComponets/TeacherSelect/index.vue'
import HandleResolve from "@/views/smartSchool/teacherManage/teacherLeave/components/HandleResolve"; import HandleResolve from "@/views/smartSchool/teacherManage/teacherLeave/components/HandleResolve";
import HandleEntrust from "@/views/components/moduleComponets/HandleEntrust"; import HandleEntrust from "@/views/components/moduleComponets/HandleEntrust";
...@@ -286,8 +283,8 @@ import { ...@@ -286,8 +283,8 @@ import {
getGradeOfficeDirectorList, getGradeOfficeDirectorList,
getLeaderList getLeaderList
} from "@/api/smartSchool/personWork/leaveApply"; } from "@/api/smartSchool/personWork/leaveApply";
import {formatDate} from "../../../../utils"; import { formatDate } from "../../../../utils";
import {getDepId} from "../../../../api/smartSchool/personWork/leaveApply"; import { getDepId } from "../../../../api/smartSchool/personWork/leaveApply";
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 SelectUser from "./components/SelectUser"; import SelectUser from "./components/SelectUser";
...@@ -393,28 +390,28 @@ export default { ...@@ -393,28 +390,28 @@ export default {
// 列信息 // 列信息
columns: [ columns: [
{key: 0, label: `教师名称`, visible: true}, { key: 0, label: `教师名称`, visible: true },
{key: 1, label: `标题`, visible: true}, { key: 1, label: `标题`, visible: true },
{key: 2, label: `请假原因`, visible: true}, { key: 2, label: `请假原因`, visible: true },
{key: 3, label: `请假开始时间`, visible: true}, { key: 3, label: `请假开始时间`, visible: true },
{key: 4, label: `请假结束时间`, visible: true}, { key: 4, label: `请假结束时间`, visible: true },
{key: 5, label: `请假时长`, visible: true}, { key: 5, label: `请假时长`, visible: true },
{key: 6, label: `流程实例ID`, visible: true}, { key: 6, label: `流程实例ID`, visible: true },
{key: 7, label: `申请人`, visible: true}, { key: 7, label: `申请人`, visible: true },
{key: 8, label: `申请时间`, visible: true}, { key: 8, label: `申请时间`, visible: true },
{key: 9, label: `操作`, visible: true}, { key: 9, label: `操作`, visible: true },
], ],
// 表单校验 // 表单校验
rules: { rules: {
teacherName: [{required: true, message: '教师名称不能为空', trigger: 'change'}], teacherName: [{ required: true, message: '教师名称不能为空', trigger: 'change' }],
applyOrgname: [{required: true, message: '级部/处室不能为空', trigger: 'change'}], applyOrgname: [{ required: true, message: '级部/处室不能为空', trigger: 'change' }],
handUserName1: [{required: true, message: '级部/处室主任不能为空', trigger: 'change'}], handUserName1: [{ required: true, message: '级部/处室主任不能为空', trigger: 'change' }],
handUserName2: [{required: true, message: '分管领导', trigger: 'change'}], handUserName2: [{ required: true, message: '分管领导', trigger: 'change' }],
handUserName3: [{required: true, message: '主要领导', trigger: 'change'}], handUserName3: [{ required: true, message: '主要领导', trigger: 'change' }],
startTime: [{required: true, message: '请假开始时间不能为空', trigger: 'blur'}], startTime: [{ required: true, message: '请假开始时间不能为空', trigger: 'blur' }],
endTime: [{required: true, message: '请假结束时间不能为空', trigger: 'blur'}], endTime: [{ required: true, message: '请假结束时间不能为空', trigger: 'blur' }],
type: [{required: true, message: '请假类型不能为空', trigger: 'blur'}], type: [{ required: true, message: '请假类型不能为空', trigger: 'blur' }],
reasonForLeave: [{required: true, message: '请假原因不能为空', trigger: 'blur'}] reasonForLeave: [{ required: true, message: '请假原因不能为空', trigger: 'blur' }]
}, },
// 导出选项 // 导出选项
exportOptions: { exportOptions: {
...@@ -476,7 +473,7 @@ export default { ...@@ -476,7 +473,7 @@ export default {
this.multiple = !selection.length this.multiple = !selection.length
}, },
/** 切换tab标签 */ /** 切换tab标签 */
handleClick({name}) { handleClick({ name }) {
this.$set(this.queryParams, 'submitState', Number(name)); this.$set(this.queryParams, 'submitState', Number(name));
this.resetQuery(); this.resetQuery();
}, },
...@@ -547,13 +544,13 @@ export default { ...@@ -547,13 +544,13 @@ export default {
const ids = this.ids; const ids = this.ids;
// TODO: 这里因为是两种状态: 提交和未提交,所以需要判断状态 // TODO: 这里因为是两种状态: 提交和未提交,所以需要判断状态
const options = [ const options = [
{type: ExportType.TOTAL, path: '/school/teacherLeave/export', params: {}}, { type: ExportType.TOTAL, path: '/school/teacherLeave/export', params: {} },
{ {
type: ExportType.SELECT, type: ExportType.SELECT,
path: '/school/teacherLeave/export/' + ids, path: '/school/teacherLeave/export/' + ids,
params: {} params: {}
}, },
{type: ExportType.QUERY, path: '/school/teacherLeave/export', params: this.queryParams}, { type: ExportType.QUERY, path: '/school/teacherLeave/export', params: this.queryParams },
] ]
callback(options, `老师请假信息${new Date().getTime()}.xlsx`); callback(options, `老师请假信息${new Date().getTime()}.xlsx`);
}, },
...@@ -592,15 +589,15 @@ export default { ...@@ -592,15 +589,15 @@ export default {
this.$refs["form"].validate(valid => { this.$refs["form"].validate(valid => {
let temp1, temp2, temp3 let temp1, temp2, temp3
[this.form.startTime, [this.form.startTime,
this.form.endTime, this.form.endTime,
temp1, temp1,
temp2, temp2,
temp3] = temp3] =
[formatDate(this.form.startTime), [formatDate(this.form.startTime),
formatDate(this.form.endTime), formatDate(this.form.endTime),
this.form.startTime, this.form.startTime,
this.form.endTime, this.form.endTime,
this.title] this.title]
console.log(temp1, temp2) console.log(temp1, temp2)
if (valid) { if (valid) {
if (this.form.totalTime < 2) { if (this.form.totalTime < 2) {
...@@ -613,13 +610,13 @@ export default { ...@@ -613,13 +610,13 @@ export default {
} }
if (this.form.id != null) { if (this.form.id != null) {
updateTeacherLeave({...this.form, title: temp3}).then(response => { updateTeacherLeave({ ...this.form, title: temp3 }).then(response => {
this.$modal.msgSuccess("修改成功"); this.$modal.msgSuccess("修改成功");
this.dialogTeacherLeave = false; this.dialogTeacherLeave = false;
this.getList(); this.getList();
}); });
} else { } else {
addTeacherLeave({...this.form, title: temp3}).then(response => { addTeacherLeave({ ...this.form, title: temp3 }).then(response => {
this.$modal.msgSuccess("新增成功"); this.$modal.msgSuccess("新增成功");
this.dialogTeacherLeave = false; this.dialogTeacherLeave = false;
this.getList(); this.getList();
...@@ -652,7 +649,7 @@ export default { ...@@ -652,7 +649,7 @@ export default {
this.getApproveHistoryList(row) this.getApproveHistoryList(row)
}, },
getApproveHistoryList(row) { getApproveHistoryList(row) {
listHistory({instanceId: row.instanceId}).then(res => { listHistory({ instanceId: row.instanceId }).then(res => {
}) })
}, },
openTeacherSelect() { openTeacherSelect() {
...@@ -758,7 +755,7 @@ export default { ...@@ -758,7 +755,7 @@ export default {
if (this.form.handUserName1) { if (this.form.handUserName1) {
this.form.handUserName1 = "" this.form.handUserName1 = ""
} }
const {id, label} = data; const { id, label } = data;
console.log(id, label, 758) console.log(id, label, 758)
this.form.applyOrgname = label; this.form.applyOrgname = label;
this.form.applyOrgid = id; this.form.applyOrgid = id;
...@@ -769,19 +766,19 @@ export default { ...@@ -769,19 +766,19 @@ export default {
})) }))
}, },
handleDirector(data) { handleDirector(data) {
const {handUserName1, handUserId1} = data; const { handUserName1, handUserId1 } = data;
this.form.handUserName1 = handUserName1; this.form.handUserName1 = handUserName1;
this.form.handUserId1 = handUserId1; this.form.handUserId1 = handUserId1;
}, },
handleDeputyLeader(data) { handleDeputyLeader(data) {
const {handUserName2, handUserId2} = data; const { handUserName2, handUserId2 } = data;
this.form.handUserName2 = handUserName2; this.form.handUserName2 = handUserName2;
this.form.handUserId2 = handUserId2; this.form.handUserId2 = handUserId2;
}, },
handleLeader(data) { handleLeader(data) {
const {handUserName3, handUserId3} = data; const { handUserName3, handUserId3 } = data;
this.form.handUserName3 = handUserName3; this.form.handUserName3 = handUserName3;
this.form.handUserId3 = handUserId3; this.form.handUserId3 = handUserId3;
}, },
...@@ -862,7 +859,7 @@ export default { ...@@ -862,7 +859,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
...@@ -876,12 +873,16 @@ export default { ...@@ -876,12 +873,16 @@ export default {
this.selectHandles.type = type; this.selectHandles.type = type;
// 将级部、处室 id赋值 // 将级部、处室 id赋值
this.selectHandles.id = this.form.applyOrgid; this.selectHandles.id = this.form.applyOrgid;
console.log('this.selectHandles', this.selectHandles);
}, },
// 选择处理人 // 选择处理人
selectUser(select) { selectUser(select) {
console.log('this.form1', this.form);
// 这种写法存在一定危险,后续最好是可以有更好的字段名对应 // 这种写法存在一定危险,后续最好是可以有更好的字段名对应
this.$set(this.form, `handUserName${this.selectHandles.type}`, select.name); this.$set(this.form, `handUserName${this.selectHandles.type}`, select.name);
this.$set(this.form, `handUserId${this.selectHandles.type}`, select.id); this.$set(this.form, `handUserId${this.selectHandles.type}`, select.id);
console.log('this.form', this.form);
} }
} }
}; };
......
...@@ -4,9 +4,8 @@ ...@@ -4,9 +4,8 @@
<el-form :model="queryParams" ref="queryParams" size="small" :inline="true" v-show="showSearch"> <el-form :model="queryParams" ref="queryParams" size="small" :inline="true" v-show="showSearch">
<el-form-item label="日期" prop="startTime"> <el-form-item label="日期" prop="startTime">
<el-date-picker size="small" v-model="queryParams.startTime" type="date" placeholder="开始日期" <el-date-picker size="small" v-model="queryParams.startTime" type="date" placeholder="开始日期"
value-format="yyyy-MM-dd" value-format="yyyy-MM-dd" format="yyyy-MM-dd" @change="changeDate" :picker-options="pickerOptions"
format="yyyy-MM-dd" @change="changeDate" :picker-options="pickerOptions" style="margin-right:10px">
style="margin-right:10px">
</el-date-picker> </el-date-picker>
<el-date-picker size="small" type="date" v-model="endTime" disabled> <el-date-picker size="small" type="date" v-model="endTime" disabled>
...@@ -16,7 +15,7 @@ ...@@ -16,7 +15,7 @@
<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 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>
...@@ -24,7 +23,7 @@ ...@@ -24,7 +23,7 @@
</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 icon="el-icon-refresh" @click="resetQuery">重置</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" @click="reserve">预约</el-button>
</el-form> </el-form>
...@@ -33,34 +32,34 @@ ...@@ -33,34 +32,34 @@
<!-- 录播室占用情况表格 --> <!-- 录播室占用情况表格 -->
<table style="margin-left: 30px"> <table style="margin-left: 30px">
<thead> <thead>
<tr> <tr>
<!-- 表头首列 --> <!-- 表头首列 -->
<th style="background:none"></th> <th style="background:none"></th>
<!-- 表格表头日期--> <!-- 表格表头日期-->
<th style="background:none;font-size:16px;font-weight:normal" v-for="day in days" :key="day">{{ day }}</th> <th style="background:none;font-size:16px;font-weight:normal" v-for="day in days" :key="day">{{ day }}</th>
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
<!--tr 行 --> <!--tr 行 -->
<tr v-for="(timeSlot, index) in timeSlots" :key="index"> <tr v-for="(timeSlot, index) in timeSlots" :key="index">
<!-- td 列 --> <!-- td 列 -->
<!-- 第一列,节次 --> <!-- 第一列,节次 -->
<td>{{ timeSlot }}</td> <td>{{ timeSlot }}</td>
<!-- <td v-for="(day, dayIndex) in days" :key="dayIndex" :class="{--> <!-- <td v-for="(day, dayIndex) in days" :key="dayIndex" :class="{-->
<!-- occupied: isOccupied(day, index),--> <!-- occupied: isOccupied(day, index),-->
<!-- selected: isSelected(day, index),--> <!-- selected: isSelected(day, index),-->
<!-- }" @mousedown="handleMouseDown(day, index)" @mouseup="handleMouseUp(day, index)"--> <!-- }" @mousedown="handleMouseDown(day, index)" @mouseup="handleMouseUp(day, index)"-->
<!-- @mouseenter="handleMouseEnter(day, index)" @click="handleCellClick(day, index)">--> <!-- @mouseenter="handleMouseEnter(day, index)" @click="handleCellClick(day, index)">-->
<!-- {{ isOccupied(day, index) ? "占用" : "" }}--> <!-- {{ isOccupied(day, index) ? "占用" : "" }}-->
<!-- </td>--> <!-- </td>-->
<!-- 第二列往后循环日期,拿到day日期和节次index索引值 --> <!-- 第二列往后循环日期,拿到day日期和节次index索引值 -->
<td style="cursor: pointer" v-for="(day, dayIndex) in days" :key="dayIndex" :class="{ <td style="cursor: pointer" v-for="(day, dayIndex) in days" :key="dayIndex" :class="{
occupied: isOccupied(day, index), occupied: isOccupied(day, index),
selected: isSelected(day, index), selected: isSelected(day, index),
}" @click="handleCellClick(day, index)"> }" @click="handleCellClick(day, index)">
{{ isOccupied(day, index) ? "占用" : "" }} {{ isOccupied(day, index) ? "占用" : "" }}
</td> </td>
</tr> </tr>
</tbody> </tbody>
</table> </table>
...@@ -143,10 +142,21 @@ export default { ...@@ -143,10 +142,21 @@ export default {
// this.fetchData(); // this.fetchData();
}, },
methods: { methods: {
// 重置按钮
resetQuery() {
this.queryParams = {
studioId: "",
startTime: "",
pageNum: 1,
pageSize: 10,
};
this.fetchStudioUseData(); // 重新发一次请求
},
changeDate() { changeDate() {
this.endTime = moment(this.queryParams.startTime).add(9, 'days') this.endTime = moment(this.queryParams.startTime).add(9, 'days')
}, },
fetchStudioUseData() { fetchStudioUseData() {
// 调用接口获取录播室占用情况数据 // 调用接口获取录播室占用情况数据
console.log(123654, this.queryParams); console.log(123654, this.queryParams);
...@@ -161,7 +171,7 @@ export default { ...@@ -161,7 +171,7 @@ export default {
const occupiedData = this.studioUseData.find((item) => { const occupiedData = this.studioUseData.find((item) => {
// console.log('Array.from(item.useJc)',item.useJc.split(',')) // console.log('Array.from(item.useJc)',item.useJc.split(','))
// console.log('Array.from(item.useJc)',index + 1) // console.log('Array.from(item.useJc)',index + 1)
return item.useDate === day && item.useJc.split(',').includes((index+1).toString()); return item.useDate === day && item.useJc.split(',').includes((index + 1).toString());
}); });
return occupiedData ? occupiedData.useUserId : false; return occupiedData ? occupiedData.useUserId : false;
}, },
...@@ -170,7 +180,7 @@ export default { ...@@ -170,7 +180,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)
...@@ -190,9 +200,9 @@ export default { ...@@ -190,9 +200,9 @@ export default {
return return
} else if (this.selectedTimeSlots.length == 0) { } else if (this.selectedTimeSlots.length == 0) {
// 处理单元格点击事件,点击第一个 // 处理单元格点击事件,点击第一个
this.selectedTimeSlots.push({day, index}) this.selectedTimeSlots.push({ day, index })
this.remark = true this.remark = true
//没有选同一天 //没有选同一天
} else if (this.selectedTimeSlots[0].day != day) { } else if (this.selectedTimeSlots[0].day != day) {
this.remark = true this.remark = true
this.$modal.alertWarning("预约不可跨天"); this.$modal.alertWarning("预约不可跨天");
...@@ -211,7 +221,7 @@ export default { ...@@ -211,7 +221,7 @@ export default {
this.selectedTimeSlots = this.selectedTimeSlots.filter(item => item.index != index) this.selectedTimeSlots = this.selectedTimeSlots.filter(item => item.index != index)
this.selectedTimeSlots.length == 0 ? this.remark = false : this.selectedTimeSlots this.selectedTimeSlots.length == 0 ? this.remark = false : this.selectedTimeSlots
} else { } else {
this.selectedTimeSlots.push({day, index}) this.selectedTimeSlots.push({ day, index })
} }
} }
}, },
...@@ -220,7 +230,7 @@ export default { ...@@ -220,7 +230,7 @@ export default {
getRoomList() { getRoomList() {
getAppointmentList({}).then((res) => { getAppointmentList({}).then((res) => {
this.options = res.rows; this.options = res.rows;
console.log('res',res) console.log('res', res)
}); });
}, },
...@@ -272,13 +282,13 @@ export default { ...@@ -272,13 +282,13 @@ export default {
handleMouseDown(day, index) { handleMouseDown(day, index) {
// 处理鼠标按下事件 // 处理鼠标按下事件
this.isMouseDown = true; this.isMouseDown = true;
this.startSelection = {day, index}; this.startSelection = { day, index };
this.endSelection = {day, index}; this.endSelection = { day, index };
}, },
handleMouseUp(day, index) { handleMouseUp(day, index) {
// 处理鼠标松开事件 // 处理鼠标松开事件
this.isMouseDown = false; this.isMouseDown = false;
this.endSelection = {day, index}; this.endSelection = { day, index };
// 根据按下的键盘按键进行选择操作 // 根据按下的键盘按键进行选择操作
if (event.ctrlKey) { if (event.ctrlKey) {
...@@ -296,7 +306,7 @@ export default { ...@@ -296,7 +306,7 @@ export default {
handleMouseEnter(day, index) { handleMouseEnter(day, index) {
// 处理鼠标进入单元格事件(用于 Shift 键多选) // 处理鼠标进入单元格事件(用于 Shift 键多选)
if (this.isMouseDown && event.shiftKey) { if (this.isMouseDown && event.shiftKey) {
this.endSelection = {day, index}; this.endSelection = { day, index };
this.selectMultipleSlots(); this.selectMultipleSlots();
} }
}, },
...@@ -321,22 +331,22 @@ export default { ...@@ -321,22 +331,22 @@ export default {
dayIndex === this.days.indexOf(endDay) dayIndex === this.days.indexOf(endDay)
) { ) {
for (let index = startIndex; index <= endIndex; index++) { for (let index = startIndex; index <= endIndex; index++) {
selectedTimeSlots.push({day, index}); selectedTimeSlots.push({ day, index });
} }
} else if (dayIndex === this.days.indexOf(startDay)) { } else if (dayIndex === this.days.indexOf(startDay)) {
// 对于起始日期,选择从起始索引到最后一个时间段 // 对于起始日期,选择从起始索引到最后一个时间段
for (let index = startIndex; index < this.timeSlots.length; index++) { for (let index = startIndex; index < this.timeSlots.length; index++) {
selectedTimeSlots.push({day, index}); selectedTimeSlots.push({ day, index });
} }
} else if (dayIndex === this.days.indexOf(endDay)) { } else if (dayIndex === this.days.indexOf(endDay)) {
// 对于结束日期,选择从第一个时间段到结束索引 // 对于结束日期,选择从第一个时间段到结束索引
for (let index = 0; index <= endIndex; index++) { for (let index = 0; index <= endIndex; index++) {
selectedTimeSlots.push({day, index}); selectedTimeSlots.push({ day, index });
} }
} else { } else {
// 其他日期完全选择 // 其他日期完全选择
for (let index = 0; index < this.timeSlots.length; index++) { for (let index = 0; index < this.timeSlots.length; index++) {
selectedTimeSlots.push({day, index}); selectedTimeSlots.push({ day, index });
} }
} }
} }
...@@ -367,17 +377,17 @@ export default { ...@@ -367,17 +377,17 @@ export default {
}, },
//弹窗 //弹窗
reserve(day, index) { reserve(day, index) {
if (this.remark) { if (this.remark) {
if(this.queryParams.studioId == ''){ if (this.queryParams.studioId == '') {
this.successDialogVisible = false;
this.$modal.alertWarning("请选择录播室");
}else{
this.successDialogVisible = true;
}
} else{
console.log(this.remark)
this.successDialogVisible = false; this.successDialogVisible = false;
this.$modal.alertWarning("请选择录播室");
} else {
this.successDialogVisible = true;
} }
} else {
console.log(this.remark)
this.successDialogVisible = false;
}
// } // }
...@@ -393,56 +403,56 @@ export default { ...@@ -393,56 +403,56 @@ export default {
// 在这里,你可以处理预约操作,例如发送请求进行录播室预约操作 // 在这里,你可以处理预约操作,例如发送请求进行录播室预约操作
// 预约成功后,你可以根据已选时间段的数据来更新录播室的占用情况 // 预约成功后,你可以根据已选时间段的数据来更新录播室的占用情况
this.successDialogVisible = false; this.successDialogVisible = false;
console.log('queryParams.studioName',this.queryParams) console.log('queryParams.studioName', this.queryParams)
console.log('this.selectedTimeSlots',this.selectedTimeSlots) console.log('this.selectedTimeSlots', this.selectedTimeSlots)
console.log('form.studioContent',this.form.studioContent) console.log('form.studioContent', this.form.studioContent)
const jc = this.selectedTimeSlots.map(item => { const jc = this.selectedTimeSlots.map(item => {
return item.index+1 return item.index + 1
}) })
const stringJC = jc.toString() const stringJC = jc.toString()
console.log('stringJC',stringJC) console.log('stringJC', stringJC)
const params = { const params = {
//录播室id //录播室id
studioId:this.queryParams.studioId, studioId: this.queryParams.studioId,
//预约时间 //预约时间
appointmentTime:this.selectedTimeSlots[0].day, appointmentTime: this.selectedTimeSlots[0].day,
//预约节次 //预约节次
appointmentJc:stringJC, appointmentJc: stringJC,
//录播内容 //录播内容
studioContent:this.form.studioContent studioContent: this.form.studioContent
} }
addIdle(params).then(res => { addIdle(params).then(res => {
console.log('res',res) console.log('res', res)
if(res.code == 200){ if (res.code == 200) {
this.$message({ this.$message({
message: "预约成功", message: "预约成功",
type: "success", type: "success",
}); });
this.fetchStudioUseData() this.fetchStudioUseData()
} }
}) })
// 更新录播室占用情况 // 更新录播室占用情况
// for (const selectedSlot of this.selectedTimeSlots) { // for (const selectedSlot of this.selectedTimeSlots) {
// const day = selectedSlot.day; // const day = selectedSlot.day;
// const index = selectedSlot.index; // const index = selectedSlot.index;
// // 在这里,你可以根据录播室ID、日期和时间段进行更新录播室占用情况的操作 // // 在这里,你可以根据录播室ID、日期和时间段进行更新录播室占用情况的操作
// // 调用接口或更新数据来标记录播室在指定的日期和时间段被占用 // // 调用接口或更新数据来标记录播室在指定的日期和时间段被占用
// console.log(`录播室在 ${day} 的 ${this.timeSlots[index]} 被预约成功`); // console.log(`录播室在 ${day} 的 ${this.timeSlots[index]} 被预约成功`);
// } // }
// //
// // 清除已选时间段 // // 清除已选时间段
// this.selectedTimeSlots = []; // this.selectedTimeSlots = [];
// //
// this.$message({ // this.$message({
// message: "预约成功", // message: "预约成功",
// type: "success", // type: "success",
// }); // });
// //
// console.log("确定"); // console.log("确定");
// }, // },
// isReservationDisabled() { // isReservationDisabled() {
// // 预约按钮是否禁用 // // 预约按钮是否禁用
// return this.selectedTimeSlots.length === 0; // return this.selectedTimeSlots.length === 0;
}, },
}, },
}; };
...@@ -480,5 +490,4 @@ th { ...@@ -480,5 +490,4 @@ th {
background-color: #66b3ff; background-color: #66b3ff;
} }
</style> </style>
...@@ -74,7 +74,7 @@ ...@@ -74,7 +74,7 @@
<td>申请时间</td> <td>申请时间</td>
<td>{{ applyTime }}</td> <td>{{ applyTime }}</td>
<td>状态</td> <td>状态</td>
<td class="btntext" colspan="5">{{ statu }}</td> <td class="btntext" colspan="5">{{ statu === '1' ? '预约成功' : '取消' }}</td>
</tr> </tr>
</table> </table>
</div> </div>
......
...@@ -4,13 +4,11 @@ ...@@ -4,13 +4,11 @@
<el-form-item prop="activityName"> <el-form-item prop="activityName">
<el-input v-model="queryForm.activityName" @keyup.enter.native="handleQuery" placeholder="活动名称"></el-input> <el-input v-model="queryForm.activityName" @keyup.enter.native="handleQuery" placeholder="活动名称"></el-input>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item prop="dateRange">
<el-date-picker v-model="dateRange" type="datetimerange" range-separator="至" start-placeholder="开始日期" <el-date-picker v-model="dateRange" type="daterange" range-separator="至" start-placeholder="开始日期"
value-format="yyyy-MM-dd HH:mm" end-placeholder="结束日期" end-placeholder="结束日期" format="yyyy-MM-dd" value-format="yyyy-MM-dd">
@change="changeData(queryForm.sj)"></el-date-picker> </el-date-picker>
<span v-if="week !== ''" style="font-size: 14px">({{ week }})</span>
</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>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button> <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
...@@ -49,8 +47,8 @@ ...@@ -49,8 +47,8 @@
</el-table-column> </el-table-column>
<el-table-column label="申请人" align="center" prop="applyName" /> <el-table-column label="申请人" align="center" prop="applyName" />
<el-table-column label="申请时间" align="center" prop="applyTime" /> <el-table-column label="申请时间" align="center" prop="applyTime" />
<el-table-column :width="queryForm.submitState ? 100 : 250" label="操作" align="center" v-if="columns[12].visible" <el-table-column :width="queryForm.submitState ? 100 : 250" label="操作" align="center" fixed="right"
fixed="right" class-name="small-padding fixed-width"> class-name="small-padding fixed-width">
<template slot-scope="scope"> <template slot-scope="scope">
<!-- v-if="queryForm.submitState" --> <!-- v-if="queryForm.submitState" -->
<div> <div>
...@@ -162,7 +160,7 @@ ...@@ -162,7 +160,7 @@
<script> <script>
import { import {
listAuditor, listAuditorqb,
getAuditor, getAuditor,
} from "@/api/smartSchool/personWork/venueReservation/audreservationStatus"; } from "@/api/smartSchool/personWork/venueReservation/audreservationStatus";
...@@ -199,7 +197,8 @@ export default { ...@@ -199,7 +197,8 @@ export default {
}; };
return { return {
week: "", // 选择的天数 week: "", // 选择的天数
dateRange: [], // 用于存储选定的时间段 // 日期范围
dateRange: [],
// 单选框 // 单选框
radio1: 3, radio1: 3,
radio2: 3, radio2: 3,
...@@ -213,35 +212,12 @@ export default { ...@@ -213,35 +212,12 @@ export default {
activeName: SubmitState.WILL_SUBMIT, activeName: SubmitState.WILL_SUBMIT,
// 查询表单 // 查询表单
queryForm: { queryForm: {
submitState: 0, activityName: "",
dateRange: [], // 选择的开始日期和结束日期
pageNum: 1, pageNum: 1,
pageSize: 10, pageSize: 10,
title: '',//标题 sj: '',
type: '',//类型 state: "",
vehicleId: '',//车辆id
applicantId: '',//申请人id
applicantName: '',//用车人姓名
departmentId: undefined,//用车部门id
reason: '',//用车原因
peopleNumber: '',//人数
departurePlace: '',//出发地点
destination: '',//目的地
startTime: '',//用车开始时间
endTime: '',//用车结束时间
driver: '',//司机
vehicleType: '',//用车类型
remarks: '',//备注
kilometers: '',//公里数
state: '',//状态
instanceId: '',//流程实例id
// applyUser: '',//创建人
applyTime: '',//申请时间
taskName: '',//任务名称
comment: '',//批注
assignee: '',//
assigneeName: '',//办理人
realityStartTime: '',//实际开始时间
realityEndTime: '',//实际结束时间
}, },
// 审批历史表单 // 审批历史表单
historyForm: { historyForm: {
...@@ -305,30 +281,7 @@ export default { ...@@ -305,30 +281,7 @@ export default {
title: '', title: '',
// 列表信息 // 列表信息
columns: [ columns: [
{ key: 0, label: `流程实例ID`, visible: true },
{ key: 1, label: `申请人`, visible: true },
{ key: 2, label: `人数`, visible: true },
{ key: 3, label: `出发地点`, visible: true },
{ key: 4, label: `目的地`, visible: true },
{ key: 5, label: `用车开始时间`, visible: true },
{ key: 6, label: `用车结束时间`, visible: true },
{ key: 7, label: `司机`, visible: true },
{ key: 8, label: `用车类型`, visible: true },
{ key: 9, label: `用车原因`, visible: true },
{ key: 10, label: `申请时间`, visible: true },
{ key: 11, label: `备注`, visible: true },
{ key: 12, label: `公里数`, visible: true },
{ key: 13, label: `操作`, visible: true },
{ key: 14, label: `车牌号`, visible: true },
{ key: 15, label: `车辆类型`, visible: true },
{ key: 16, label: `车辆状态`, visible: true },
{ key: 17, label: `任务名称`, visible: true },
{ key: 18, label: `处理人ID`, visible: true },
{ key: 19, label: `处理人`, visible: true },
{ key: 20, label: `审批意见`, visible: true },
{ key: 21, label: `开始时间`, visible: true },
{ key: 22, label: `结束时间`, visible: true },
{ key: 23, label: `耗时`, visible: true },
], ],
// 活动名称 // 活动名称
...@@ -396,12 +349,21 @@ export default { ...@@ -396,12 +349,21 @@ export default {
}, },
methods: { methods: {
/** 获取列表数据 */ /** 获取列表数据 */
getList() { getList() {
listAuditor(this.addDateRange(this.queryForm, this.dateRange)).then(response => { const params = {
activityName: this.queryForm.activityName,
pageNum: this.queryForm.pageNum,
pageSize: this.queryForm.pageSize,
startTime: this.dateRange[0],
endTime: this.dateRange[1],
};
console.log(123, params);
listAuditorqb(params).then(response => {
this.loading = false; this.loading = false;
this.infoList = response.rows; this.infoList = response.rows;
console.log(111); console.log(111, response.rows);
this.total = response.total; this.total = response.total;
}).catch(err => { }).catch(err => {
this.loading = false; this.loading = false;
......
...@@ -34,8 +34,8 @@ ...@@ -34,8 +34,8 @@
</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="1200px"> <el-dialog :title="title" :visible.sync="open" width="1200px">
<el-form ref="form" :model="form" label-width="114px" :rules="rules"> <el-form ref="form" :model="form" label-width="114px" :rules="rules">
...@@ -90,16 +90,6 @@ export default { ...@@ -90,16 +90,6 @@ export default {
return { return {
studioStatu: "", studioStatu: "",
queryParams: { queryParams: {
id: "",
studioName: "",
studioStatu: "",
studioArea: "",
pageNum: 1,
pageSize: 10,
},
queryForm: {
studioName: "",
studioStatu: "",
studioArea: "", studioArea: "",
}, },
title: "", title: "",
...@@ -130,7 +120,6 @@ export default { ...@@ -130,7 +120,6 @@ export default {
methods: { methods: {
/** 查询 */ /** 查询 */
getList() { getList() {
this.loading = true;
getStudio(this.queryParams).then((response) => { getStudio(this.queryParams).then((response) => {
this.tableData = response.rows; this.tableData = response.rows;
this.loading = false; this.loading = false;
......
...@@ -45,8 +45,8 @@ module.exports = { ...@@ -45,8 +45,8 @@ module.exports = {
//target: `http://47.105.176.202:8137`, //target: `http://47.105.176.202:8137`,
//学校内网 //学校内网
// target: `http://10.20.100.201:57321`, // target: `http://10.20.100.201:57321`,
// target: `http://192.168.1.121:8848`,
target: `http://192.168.1.116:8848`, target: `http://192.168.1.116:8848`,
// target: `http://192.168.1.116:8848`,
changeOrigin: true, changeOrigin: true,
pathRewrite: { pathRewrite: {
......
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