Commit 51fd68fa by zhaopanyu

zpy 7.19

parent 2a23e4fd
import request from "@/utils/request";
// 礼堂申请审批待办列表
export function audiDetail(data) {
return request({
url: "/auditorium/taskList",
method: "get",
data: data,
});
}
/** 礼堂预约申请审批*/
export function completelt({ taskId, instanceId, comment, pass }) {
return request({
url: `/auditorium/complete/${taskId}/${instanceId}`,
method: "post",
data: {
comment,
pass,
},
});
}
// 查询礼堂申请已办列表
export function taskDoneList() {
return request({
url: "/auditorium/taskDoneList",
method: "get",
});
}
import request from "@/utils/request";
// 查看科室预算待办列表
export function departiDetail(data) {
return request({
url: "/departmentBudget/taskList",
method: "get",
data: data,
});
}
/** 科室预算填报审批*/
export function complete({ taskId, instanceId, comment, pass }) {
return request({
url: `departmentBudget/complete/${taskId}/${instanceId}`,
method: "post",
data: {
comment,
pass,
},
});
}
// 查看科室预算已办列表
export function taskDoneList() {
return request({
url: "/departmentBudget/taskDoneList",
method: "get",
});
}
...@@ -3,13 +3,12 @@ import request from "@/utils/request"; ...@@ -3,13 +3,12 @@ import request from "@/utils/request";
// 查询礼堂预约列表 // 查询礼堂预约列表
export function listAuditor(query) { export function listAuditor(query) {
return request({ return request({
url: "/auditorium/list", url: "/auditorium/listGr",
method: "get", method: "get",
params: query, params: query,
}); });
} }
// 新增礼堂预约 // 新增礼堂预约
export function addAuditor(data) { export function addAuditor(data) {
return request({ return request({
...@@ -49,18 +48,13 @@ export function submitAuditor(id) { ...@@ -49,18 +48,13 @@ export function submitAuditor(id) {
url: "/auditorium/submitApply/" + id, url: "/auditorium/submitApply/" + id,
method: "post", method: "post",
}); });
} }
//获取校领导下拉框 //获取校领导下拉框
export function getGradeOfficeDirectorList() { export function getLeaderList(data) {
return request({ return request({
url: "/school/teacherLeave/getSchoolLeader" , url: "/school/teacherLeave/getSchoolLeader",
params: form,
method: "get", method: "get",
params: data,
}); });
} }
...@@ -46,13 +46,13 @@ export const approves = [ ...@@ -46,13 +46,13 @@ export const approves = [
}, },
{ {
label: "礼堂申请审批", label: "礼堂申请审批",
name: "audApplicationapproval", name: "auditoriumNum",
icon: "food", icon: "food",
path: "/indexMould/myTask/audApplicationapproval", path: "/indexMould/myTask/audApplicationapproval",
}, },
{ {
label: "科室预算审批", label: "科室预算审批",
name: "depBudgetapproval", name: "departmentBudgetNum",
icon: "teacher", icon: "teacher",
path: "/indexMould/myTask/depBudgetapproval", path: "/indexMould/myTask/depBudgetapproval",
}, },
......
<template> <template>
<!-- 办理 -->
<div style="height: 100%;"> <div style="height: 100%;">
<el-dialog :visible.sync="open" :modal="false" :fullscreen="true" :modal-append-to-body="false" :show-close="false"> <el-dialog :visible.sync="open" :modal="false" :fullscreen="true" :modal-append-to-body="false" :show-close="false">
<template slot="title"> <template slot="title">
......
<template> <template>
<!-- 历史 -->
<div style="height: 100%;"> <div style="height: 100%;">
<el-dialog :visible.sync="open" :modal="false" :fullscreen="true" :modal-append-to-body="false" :show-close="false"> <el-dialog :visible.sync="open" :modal="false" :fullscreen="true" :modal-append-to-body="false" :show-close="false">
<template slot="title"> <template slot="title">
......
...@@ -8,32 +8,40 @@ ...@@ -8,32 +8,40 @@
<el-row :gutter="20"> <el-row :gutter="20">
<el-col :span="12"> <el-col :span="12">
<el-form-item label="活动名称"> <el-form-item label="活动名称">
<el-input :value="infoForm.purchaseName"></el-input> <el-input :value="infoForm.activityName"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="活动地点"> <el-form-item label="活动场地">
<el-input :value="infoForm.budgetName"></el-input> <el-input :value="infoForm.activityArea"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="负责人"> <el-form-item label="负责人">
<el-input :value="infoForm.purchaseMoney"></el-input> <el-input :value="infoForm.specificUserName"></el-input>
</el-form-item>
<el-form-item label="活动人数">
<el-input :value="infoForm.activityNumber"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="活动人数">
<el-input :value="infoForm.deptName"></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="是否彩排"> <el-form-item label="是否彩排">
<el-input :value="infoForm.deptName"></el-input> <el-input :value="infoForm.isRehearsal"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="书否录像">
<el-input :value="infoForm.applyUser"></el-input> </el-col>
<el-col :span="12">
<el-form-item label="是否录像">
<el-input :value="infoForm.isRehearsal"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="是否直播"> <el-form-item label="是否直播">
<el-input :value="infoForm.expectedDate"></el-input> <el-input :value="infoForm.isLive"></el-input>
</el-form-item>
<el-form-item label="申请部门">
<el-input :value="infoForm.applyDept"></el-input>
</el-form-item>
<el-form-item label="申请人">
<el-input :value="infoForm.applyName"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="申请部门"> <el-form-item label="申请时间">
<el-input :value="infoForm.expectedDate"></el-input> <el-input :value="infoForm.applyTime"></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
</el-form> </el-form>
...@@ -45,8 +53,12 @@ ...@@ -45,8 +53,12 @@
</template> </template>
<script> <script>
import { purchaseApprovalDetail } from "@/api/smartSchool/indexMould/myTask/teacherLeaveInfo"; import {
import TaskResolve from "@/views/smartSchool/indexMould/myTask/purchaseApproval/components/TaskResolve.vue"
getAuditor,// 查看详情
} from "@/api/smartSchool/personWork/auditoriumReservation";
import TaskResolve from "@/views/smartSchool/indexMould/myTask/audApplicationapproval/components/autaskResolve.vue"
export default { export default {
name: "auinfo", name: "auinfo",
...@@ -104,8 +116,9 @@ export default { ...@@ -104,8 +116,9 @@ export default {
methods: { methods: {
/** 获取详情 */ /** 获取详情 */
getDetailInfo() { getDetailInfo() {
purchaseApprovalDetail(this.id).then(res => { getAuditor(this.id).then(res => {
this.infoForm = res.data this.infoForm = res.data
console.log(111,this.infoForm);
}) })
}, },
......
...@@ -35,8 +35,11 @@ ...@@ -35,8 +35,11 @@
</template> </template>
<script> <script>
import { complete } from "@/api/smartSchool/index/purchaseApproval.js"; import {
completelt,/** 礼堂预约申请审批*/
} from "@/api/smartSchool/indexMould/myTask/audApplicationapproval";
export default { export default {
name: "TaskResolve", name: "TaskResolve",
dicts: ['template_comments', 'apply_results'], dicts: ['template_comments', 'apply_results'],
...@@ -54,7 +57,7 @@ export default { ...@@ -54,7 +57,7 @@ export default {
return { return {
postForm: { postForm: {
comment: '', comment: '',
pass: "1", pass: "true",
}, },
// 意见模板 // 意见模板
templateComment: '', templateComment: '',
...@@ -86,7 +89,7 @@ export default { ...@@ -86,7 +89,7 @@ export default {
if (valid) { if (valid) {
this.$modal.loading('正在提交数据,请稍等...'); this.$modal.loading('正在提交数据,请稍等...');
complete({ completelt({
taskId: this.$attrs.taskId, taskId: this.$attrs.taskId,
instanceId: this.instanceId, instanceId: this.instanceId,
comment: this.postForm.comment, comment: this.postForm.comment,
......
...@@ -11,22 +11,22 @@ ...@@ -11,22 +11,22 @@
</el-tab-pane> </el-tab-pane>
</el-tabs> </el-tabs>
</div> </div>
<div class="task-right-content"> <div class="task-right-content">
<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">
<el-table-column prop="lesson" label="序号" width="60" type="index" align="center" <el-table-column prop="lesson" label="序号" width="60" type="index" align="center"
style="height: 20px;" /> style="height: 20px;" />
<el-table-column prop="hdmc" label="活动名称" align="center" /> <el-table-column prop="activityName" label="活动名称" align="center" />
<el-table-column label="活动地点" align="center" prop="budgetName" /> <el-table-column label="活动地点" align="center" prop="activityArea" />
<el-table-column label="负责人" align="center" prop="purchaseMoney" /> <el-table-column label="负责人" align="center" prop="specificUserName" />
<el-table-column label="活动人数" align="center" prop="expectedDate" /> <el-table-column label="活动人数" align="center" prop="activityNumber" />
<el-table-column prop="deptName" label="是否彩排" align="center" /> <el-table-column prop="isRehearsal" label="是否彩排" align="center" />
<el-table-column label="是否录像" align="center" prop="applyUser" /> <el-table-column label="是否录像" align="center" prop="isVideo" />
<el-table-column label="是否直播" align="center" prop="sfzb" /> <el-table-column label="是否直播" align="center" prop="isVideo" />
<el-table-column label="申请部门" align="center" prop="applydepart" /> <el-table-column label="申请部门" align="center" prop="applyDept" />
<el-table-column label="申请人" align="center" prop="applypeople" /> <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 label="操作" align="center" width="80"> <el-table-column label="操作" align="center" width="80">
<template slot-scope="scope"> <template slot-scope="scope">
...@@ -61,11 +61,9 @@ ...@@ -61,11 +61,9 @@
<script> <script>
import { import {
queryMyClaim, taskDoneList, //查询礼堂申请已办列表
getTaskDoneList, audiDetail,// 礼堂申请审批待办列表
complete, } from "@/api/smartSchool/indexMould/myTask/audApplicationapproval";
getTaskListe,
} from "@/api/smartSchool/index/purchaseApproval.js";
import auhandleResolv from "@/views/smartSchool/indexMould/myTask/audApplicationapproval/components/auhandleResolv.vue"; import auhandleResolv from "@/views/smartSchool/indexMould/myTask/audApplicationapproval/components/auhandleResolv.vue";
import hisHandleResolve from "@/views/smartSchool/indexMould/myTask/audApplicationapproval/components/auhishandleResolve.vue"; import hisHandleResolve from "@/views/smartSchool/indexMould/myTask/audApplicationapproval/components/auhishandleResolve.vue";
...@@ -84,9 +82,7 @@ export default { ...@@ -84,9 +82,7 @@ export default {
// pageSize: 10, // pageSize: 10,
}, },
tableData: [ tableData: [
{
hdmc:'活动',
}
], ],
// 存储行数据 // 存储行数据
rowData: {}, rowData: {},
...@@ -115,7 +111,7 @@ export default { ...@@ -115,7 +111,7 @@ export default {
console.log("历史人物") console.log("历史人物")
this.isTaskListe = false this.isTaskListe = false
this.loading = true; this.loading = true;
getTaskDoneList().then((response) => { taskDoneList().then((response) => {
this.tableData = response.rows this.tableData = response.rows
this.total = response.total this.total = response.total
this.loading = false this.loading = false
...@@ -124,7 +120,7 @@ export default { ...@@ -124,7 +120,7 @@ export default {
console.log("金额人物") console.log("金额人物")
this.loading = true; this.loading = true;
this.isTaskListe = true this.isTaskListe = true
getTaskListe().then((response) => { audiDetail().then((response) => {
this.tableData = response.rows this.tableData = response.rows
this.total = response.total this.total = response.total
this.loading = false this.loading = false
...@@ -140,12 +136,12 @@ export default { ...@@ -140,12 +136,12 @@ export default {
pageSize: 10, pageSize: 10,
} }
this.isTaskListe = true this.isTaskListe = true
// getTaskListe().then((response) => { audiDetail().then((response) => {
// this.tableData = response.rows this.tableData = response.rows
// // console.log(response.rows); // console.log(response.rows);
// this.loading = false this.loading = false
// }); });
}, },
// 搜索查询 // 搜索查询
...@@ -154,7 +150,7 @@ export default { ...@@ -154,7 +150,7 @@ export default {
this.isTaskListe = true this.isTaskListe = true
// console.log(445566); // console.log(445566);
getTaskListe(this.queryParams.purchaseName).then((response) => { audiDetail(this.queryParams.purchaseName).then((response) => {
// this.tableData = response.rows // this.tableData = response.rows
console.log(response.rows); console.log(response.rows);
// this.loading = false // this.loading = false
...@@ -178,12 +174,18 @@ export default { ...@@ -178,12 +174,18 @@ export default {
this.process.id = row.id; this.process.id = row.id;
this.process.taskId = row.taskId; this.process.taskId = row.taskId;
this.process.readOnly = readOnly; // 主要用来判断是否为历史任务。或者是申请人查看 this.process.readOnly = readOnly; // 主要用来判断是否为历史任务。或者是申请人查看
this.rowData.purchaseName = row.purchaseName this.rowData.applyUserName = row.applyUserName;
this.rowData.applyUser = row.applyUser this.rowData.activityName = row.activityName;
this.rowData.deptName = row.deptName this.rowData.activityArea = row.activityArea;
this.rowData.expectedDate = row.expectedDate this.rowData.activityTime = row.activityTime;
this.rowData.purchaseMoney = row.purchaseMoney this.rowData.htNumber = row.htNumber;
this.rowData.budgetName = row.budgetName this.rowData.specificUserName = row.specificUserName;
this.rowData.activityNumber = row.activityNumber;
this.rowData.isRehearsal = row.isRehearsal;
this.rowData.isVideo = row.isVideo;
this.rowData.isBigScreen = row.isBigScreen;
this.rowData.applyName = row.applyName;
this.rowData.applyDept = row.applyDept;
}, },
/**历史 */ /**历史 */
...@@ -194,12 +196,18 @@ export default { ...@@ -194,12 +196,18 @@ export default {
this.process.id = row.id; this.process.id = row.id;
this.process.taskId = row.taskId; this.process.taskId = row.taskId;
this.process.readOnly = readOnly; // 主要用来判断是否为历史任务。或者是申请人查看 this.process.readOnly = readOnly; // 主要用来判断是否为历史任务。或者是申请人查看
this.rowData.purchaseName = row.purchaseName this.rowData.applyUserName = row.applyUserName;
this.rowData.applyUser = row.applyUser this.rowData.activityName = row.activityName;
this.rowData.deptName = row.deptName this.rowData.activityArea = row.activityArea;
this.rowData.expectedDate = row.expectedDate this.rowData.activityTime = row.activityTime;
this.rowData.purchaseMoney = row.purchaseMoney this.rowData.htNumber = row.htNumber;
this.rowData.budgetName = row.budgetName this.rowData.specificUserName = row.specificUserName;
this.rowData.activityNumber = row.activityNumber;
this.rowData.isRehearsal = row.isRehearsal;
this.rowData.isVideo = row.isVideo;
this.rowData.isBigScreen = row.isBigScreen;
this.rowData.applyName = row.applyName;
this.rowData.applyDept = row.applyDept;
}, },
}, },
......
...@@ -8,18 +8,18 @@ ...@@ -8,18 +8,18 @@
<el-row :gutter="20"> <el-row :gutter="20">
<el-col :span="12"> <el-col :span="12">
<el-form-item label="科室"> <el-form-item label="科室">
<el-input :value="infoForm.purchaseName"></el-input> <el-input :value="infoForm.deptName"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="填报人"> <el-form-item label="填报人">
<el-input :value="infoForm.budgetName"></el-input> <el-input :value="infoForm.informant"></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.deptName"></el-input> <el-input :value="infoForm.leadershipName"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="填报时间"> <el-form-item label="填报时间">
<el-input :value="infoForm.applyUser"></el-input> <el-input :value="infoForm.tbTime"></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
...@@ -33,13 +33,15 @@ ...@@ -33,13 +33,15 @@
</template> </template>
<script> <script>
import { purchaseApprovalDetail } from "@/api/smartSchool/indexMould/myTask/teacherLeaveInfo"; import {
import detaskResolve from "@/views/smartSchool/indexMould/myTask/depBudgetapproval/components/detaskResolve.vue" queryDepart,//查看本单位预算填报列表;
} from '@/api/smartSchool/officialWork/budgetFilling'
import TaskResolve from "@/views/smartSchool/indexMould/myTask/depBudgetapproval/components/detaskResolve.vue"
export default { export default {
name: "auinfo", name: "deinfo",
dicts: ['biz_leave_type', 'course_num'], dicts: ['biz_leave_type', 'course_num'],
components: { detaskResolve }, components: { TaskResolve },
props: { props: {
id: { id: {
type: [String, Number], type: [String, Number],
...@@ -92,7 +94,7 @@ export default { ...@@ -92,7 +94,7 @@ export default {
methods: { methods: {
/** 获取详情 */ /** 获取详情 */
getDetailInfo() { getDetailInfo() {
purchaseApprovalDetail(this.id).then(res => { queryDepart(this.id).then(res => {
this.infoForm = res.data this.infoForm = res.data
}) })
}, },
......
...@@ -35,7 +35,7 @@ ...@@ -35,7 +35,7 @@
</template> </template>
<script> <script>
import { complete } from "@/api/smartSchool/index/purchaseApproval.js"; import { complete } from "@/api/smartSchool/indexMould/myTask/depBudgetapproval";
export default { export default {
name: "TaskResolve", name: "TaskResolve",
......
...@@ -15,12 +15,11 @@ ...@@ -15,12 +15,11 @@
<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="nd" label="年度" width="60" type="index" align="center" <el-table-column prop="year" label="年度" width="60" type="index" align="center" style="height: 20px;" />
style="height: 20px;" /> <el-table-column prop="deptName" label="科室" align="center" />
<el-table-column prop="ks" label="科室" align="center" /> <el-table-column label="填报人" align="center" prop="informant" />
<el-table-column label="填报人" align="center" prop="budgetName" /> <el-table-column label="分管领导" align="center" prop="leadershipName" />
<el-table-column label="分管领导" align="center" prop="purchaseMoney" /> <el-table-column label="填报时间" align="center" prop="tbTime" />
<el-table-column label="填报时间" align="center" prop="applyTime" />
<el-table-column label="操作" align="center" width="80"> <el-table-column label="操作" align="center" width="80">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button v-if="isTaskListe" type="text" size="mini" icon="el-icon-edit" <el-button v-if="isTaskListe" type="text" size="mini" icon="el-icon-edit"
...@@ -54,11 +53,11 @@ ...@@ -54,11 +53,11 @@
<script> <script>
import { import {
queryMyClaim, taskDoneList,// 查看科室预算已办列表
getTaskDoneList,
complete, complete,
getTaskListe, departiDetail,// 查看科室预算待办列表
} from "@/api/smartSchool/index/purchaseApproval.js";
} from "@/api/smartSchool/indexMould/myTask/depBudgetapproval";
import HandleResolve from "@/views/smartSchool/indexMould/myTask/depBudgetapproval/components/dehandleResolv.vue"; import HandleResolve from "@/views/smartSchool/indexMould/myTask/depBudgetapproval/components/dehandleResolv.vue";
import hisHandleResolve from "@/views/smartSchool/indexMould/myTask/depBudgetapproval/components/dehishandleResolve.vue"; import hisHandleResolve from "@/views/smartSchool/indexMould/myTask/depBudgetapproval/components/dehishandleResolve.vue";
...@@ -108,7 +107,7 @@ export default { ...@@ -108,7 +107,7 @@ export default {
console.log("历史人物") console.log("历史人物")
this.isTaskListe = false this.isTaskListe = false
this.loading = true; this.loading = true;
getTaskDoneList().then((response) => { taskDoneList().then((response) => {
this.tableData = response.rows this.tableData = response.rows
this.total = response.total this.total = response.total
this.loading = false this.loading = false
...@@ -117,7 +116,7 @@ export default { ...@@ -117,7 +116,7 @@ export default {
console.log("金额人物") console.log("金额人物")
this.loading = true; this.loading = true;
this.isTaskListe = true this.isTaskListe = true
getTaskListe().then((response) => { departiDetail().then((response) => {
this.tableData = response.rows this.tableData = response.rows
this.total = response.total this.total = response.total
this.loading = false this.loading = false
...@@ -133,12 +132,12 @@ export default { ...@@ -133,12 +132,12 @@ export default {
pageSize: 10, pageSize: 10,
} }
this.isTaskListe = true this.isTaskListe = true
// getTaskListe().then((response) => { departiDetail().then((response) => {
// this.tableData = response.rows this.tableData = response.rows
// // console.log(response.rows); // console.log(response.rows);
// this.loading = false this.loading = false
// }); });
}, },
// 搜索查询 // 搜索查询
...@@ -146,8 +145,8 @@ export default { ...@@ -146,8 +145,8 @@ export default {
// this.loading = true; // this.loading = true;
this.isTaskListe = true this.isTaskListe = true
// console.log(445566); // console.log(445566);
getTaskListe(this.queryParams.purchaseName).then((response) => { departiDetail().then((response) => {
// this.tableData = response.rows this.tableData = response.rows
console.log(response.rows); console.log(response.rows);
// this.loading = false // this.loading = false
...@@ -170,12 +169,12 @@ export default { ...@@ -170,12 +169,12 @@ export default {
this.process.id = row.id; this.process.id = row.id;
this.process.taskId = row.taskId; this.process.taskId = row.taskId;
this.process.readOnly = readOnly; // 主要用来判断是否为历史任务。或者是申请人查看 this.process.readOnly = readOnly; // 主要用来判断是否为历史任务。或者是申请人查看
this.rowData.purchaseName = row.purchaseName this.rowData.year = row.year
this.rowData.applyUser = row.applyUser
this.rowData.deptName = row.deptName this.rowData.deptName = row.deptName
this.rowData.informant = row.informant
this.rowData.expectedDate = row.expectedDate this.rowData.expectedDate = row.expectedDate
this.rowData.purchaseMoney = row.purchaseMoney this.rowData.leadershipName = row.leadershipName
this.rowData.budgetName = row.budgetName this.rowData.tbTime = row.tbTime
}, },
/**历史 */ /**历史 */
...@@ -186,12 +185,12 @@ export default { ...@@ -186,12 +185,12 @@ export default {
this.process.id = row.id; this.process.id = row.id;
this.process.taskId = row.taskId; this.process.taskId = row.taskId;
this.process.readOnly = readOnly; // 主要用来判断是否为历史任务。或者是申请人查看 this.process.readOnly = readOnly; // 主要用来判断是否为历史任务。或者是申请人查看
this.rowData.purchaseName = row.purchaseName this.rowData.year = row.year
this.rowData.applyUser = row.applyUser
this.rowData.deptName = row.deptName this.rowData.deptName = row.deptName
this.rowData.informant = row.informant
this.rowData.expectedDate = row.expectedDate this.rowData.expectedDate = row.expectedDate
this.rowData.purchaseMoney = row.purchaseMoney this.rowData.leadershipName = row.leadershipName
this.rowData.budgetName = row.budgetName this.rowData.tbTime = row.tbTime
}, },
}, },
......
<template>
<el-dialog :visible.sync="openDialog" :title="title" :width="width" @close="dialogClose">
<!-- 模糊查询-->
<el-form :model="form" ref="form" size="small" inline>
<el-form-item prop="teacherName" label="姓名">
<el-input v-model.trim="form.teacherName" placeholder="请输入姓名" clearable @keyup.enter.native="search"></el-input>
</el-form-item>
<el-form-item prop="teacherTel" label="联系电话">
<el-input v-model.trim="form.teacherTel" placeholder="请输入联系电话" clearable @keyup.enter.native="search"></el-input>
</el-form-item>
<el-form-item>
<el-button @click="search" type="primary" icon="el-icon-search" size="mini">搜索</el-button>
<el-button @click="reset" icon="el-icon-refresh" size="mini">重置</el-button>
</el-form-item>
</el-form>
<!-- 列表数据-->
<el-table ref="tableList" v-loading="loading" :data="userList" @selection-change="selectionChange"
@row-click="rowClick">
<el-table-column type="selection" align="center"></el-table-column>
<el-table-column v-if="execute === 'leaderList'" key="avatar" prop="avatar" label="头像" align="center">
<template slot-scope="scope">
<el-image :src="baseURL + scope.row.avatar" :preview-src-list="[baseURL + scope.row.avatar]"
class="custom-image radius-image">
<template slot="error">
{{ }}
</template>
</el-image>
</template>
</el-table-column>
<el-table-column v-if="execute != 'leaderList'" key="teacherCode" prop="teacherCode" label="教师编号"
align="center"></el-table-column>
<el-table-column key="teacherName" prop="teacherName" label="姓名" align="center"></el-table-column>
<el-table-column key="teacherTel" prop="teacherTel" label="联系电话" align="center"></el-table-column>
<el-table-column key="sex" prop="sex" label="性别" align="center">
<template slot-scope="scope">
<dict-tag :options="dict.type.sys_user_sex" :value="scope.row.sex"></dict-tag>
</template>
</el-table-column>
</el-table>
<!-- 分页-->
<pagination v-show="total > 0" :total="total" :limit.sync="form.pageSize" :page.sync="form.pageNum"
@pagination="search"></pagination>
<!-- 底部-->
<div slot="footer">
<el-button :disabled="!selectUser" @click="submit" type="primary" size="small">确 定</el-button>
<el-button @click="quit" size="small">取 消</el-button>
</div>
</el-dialog>
</template>
<script>
import {
getLeaderList,//获取校领导下拉框
} from "@/api/smartSchool/personWork/auditoriumReservation";
export default {
name: "SelectUser",
dicts: ['sys_user_sex'],
props: {
open: {
type: Boolean,
require: true
},
title: {
type: String,
default: ''
},
width: {
type: [Number, String],
default: '50%'
},
execute: {
type: [String]
},
// 选择级部、处室主任
id: {
type: [Number, String]
}
},
data() {
return {
baseURL: process.env.VUE_APP_BASE_API,
form: {
teacherName: '',
teacherTel: '',
pageNum: 1,
pageSize: 10
},
total: 0,
loading: false,
userList: [],
selectUser: null
}
},
computed: {
openDialog: {
get() {
return this.open;
},
set(value) {
this.$emit('update:open', value);
}
}
},
watch: {
open(value) {
if (value) {
this.$nextTick(() => {
this.reset();
})
}
}
},
methods: {
/** 搜索(交给子组件维护,当然也可以把接口交给父组件处理) */
async search() {
if (isNaN(Number(this.id))) {
console.error('Invalid ID');
return;
}
try {
this.loading = true;
const response = await this[this.execute]({ applyOrgid: this.id, ...this.form });
this.userList = response.rows || [];
this.total = response.total;
this.loading = false;
} catch (exception) {
this.loading = false;
throw new Error(exception);
}
},
/** 重置表单 */
reset() {
this.form = {
teacherName: '',
teacherTel: '',
pageNum: 1,
pageSize: 10
};
this.resetForm('form');
this.search();
},
/** 选项选中发生变化 */
selectionChange(selections) {
this.selectUser = selections[0];
},
/** 点击选中、取消 */
rowClick(row, column) {
this.$refs['tableList'].clearSelection();
this.$refs['tableList'].toggleRowSelection(row, true);
},
/** 提交选中 */
submit() {
this.$emit('select', {
id: this.selectUser.id,
name: this.selectUser.teacherName,
tel: this.selectUser.teacherTel
});
this.quit();
},
/** 取消 */
quit() {
this.openDialog = false;
},
/** 分管领导、主要领导 */
leaderList(form) {
return getLeaderList(form);
},
dialogClose() {
this.userList = []
}
}
}
</script>
<style scoped>
.footer {
display: flex;
justify-content: center;
margin-top: 30px;
}
.radius-image {
border-radius: 40px;
}
</style>
...@@ -41,7 +41,8 @@ ...@@ -41,7 +41,8 @@
</div> </div>
<div v-else> <div v-else>
<!-- 审核中、审核通过、审核不通过状态 --> <!-- 审核中、审核通过、审核不通过状态 -->
<el-button size="mini" type="text" icon="el-icon-search" @click="handleLook(scope.row)">查看</el-button> <el-button size="mini" type="text" icon="el-icon-search"
@click="handleLook(scope.row)">查看</el-button>
</div> </div>
</template> </template>
</el-table-column>> </el-table-column>>
...@@ -112,14 +113,19 @@ ...@@ -112,14 +113,19 @@
<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;">填报人 :
{{ postForm.tbr }} {{ postForm.informant }}
</span> </span>
</el-col> </el-col>
<el-col :span="10"> <el-col :span="10">
<!-- <el-form-item label="分管领导" prop="handUserName2"> -->
<!-- <el-input :value="postForm.handUserName2" placeholder="请选择分管领导"
@focus="openSelect('选择分管领导', 'leaderList', 2)"></el-input> -->
<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" alt=""> <span style="display: inline-block; width: 100px;height: 20px;"
<span v-else>{{ sjmc }}</span> --> @click="openSelect('选择分管领导', 'leaderList', 2)">{{ postForm.handUserName2 }}
</span>
</span> </span>
<!-- </el-form-item> -->
</el-col> </el-col>
</el-row> </el-row>
</el-form> </el-form>
...@@ -148,20 +154,21 @@ ...@@ -148,20 +154,21 @@
<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;">填报人 :
{{ postForm.tbr }} {{ postForm.informant }}
</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" alt=""> {{ postForm.leadershipName }}
<span v-else>{{ sjmc }}</span> -->
</span> </span>
</el-col> </el-col>
</el-row> </el-row>
</el-form> </el-form>
</el-dialog> </el-dialog>
<!-- 选择对应处理人 -->
<SelectUser :id="selectHandles.id" :open.sync="selectHandles.open" :title="selectHandles.title"
:width="selectHandles.width" :execute="selectHandles.method" @select="selectUser"></SelectUser>
</div> </div>
</template> </template>
...@@ -175,21 +182,28 @@ import { ...@@ -175,21 +182,28 @@ import {
deleteDepart,// 删除预算填报 deleteDepart,// 删除预算填报
submitApply,//提交 submitApply,//提交
} from '@/api/smartSchool/officialWork/budgetFilling' } from '@/api/smartSchool/officialWork/budgetFilling'
import {
getLeaderList,//获取校领导下拉框
} from "@/api/smartSchool/personWork/auditoriumReservation";
import { deptTreeSelect } from "@/api/system/user"; import { deptTreeSelect } from "@/api/system/user";
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 { getToken } from "@/utils/auth"; import { getToken } from "@/utils/auth";
import { MessageBox } from "element-ui"; import { MessageBox } from "element-ui";
import SelectUser from "./components/SelectUser";
export default { export default {
name: "budgetFilling", name: "budgetFilling",
components: { components: {
Treeselect Treeselect,
SelectUser
}, },
data() { data() {
return { return {
handUserName2: "",
title: '', // 初始化 "title" 属性
// 填报人 // 填报人
tbr: "", informant: "",
// 查询表单 // 查询表单
queryForm: { queryForm: {
budgetYear: '',// 预算年度 budgetYear: '',// 预算年度
...@@ -215,7 +229,33 @@ export default { ...@@ -215,7 +229,33 @@ export default {
xzTable: [ xzTable: [
{}, {},
], ],
form: {},
//后端传校领导列表
schoolLeaderList: [],
// 部门树选项
deptOptions: undefined,
teacherSelect: '教师信息',
teacherSelectDialog: false,
// 弹出层标题
dialogTitle: "",
dialogTeacherLeaveView: false,
dialogViewTeacherLeave: false,
dialogTeacherLeave: false,
options: "", options: "",
// 审批人
entrust: {
open: false,
title: '选择审批人'
},
// 选择对应处理人
selectHandles: {
id: null,
open: false,
title: '',
width: '50%',
method: null,
type: null // 处理类型: 1 级部/处室; 2 分管; 3 主管
},
// 查看表格 // 查看表格
lookTable: [], lookTable: [],
// 是否显示弹出层 // 是否显示弹出层
...@@ -263,8 +303,7 @@ export default { ...@@ -263,8 +303,7 @@ export default {
created() { created() {
this.getList(); this.getList();
// 获取科室信息
this.getDeptTree();
}, },
methods: { methods: {
// 新增空行数据 // 新增空行数据
...@@ -295,6 +334,59 @@ export default { ...@@ -295,6 +334,59 @@ export default {
}); });
} }
}, },
confirm() {
this.dialogViewTeacherLeave = false;
},
openViewTeacherLeaveForm(row) {
this.reset();
const id = row.id || this.ids
getTeacherLeave(id).then(response => {
this.form = response.data;
this.dialogViewTeacherLeave = true;
});
},
dialogOpenApproveHistory(row) {
this.dialogApproveHistory = true
this.getApproveHistoryList(row)
},
getApproveHistoryList(row) {
listHistory({ instanceId: row.instanceId }).then(res => {
})
},
openTeacherSelect() {
this.teacherSelectDialog = true
},
// 新增操作
setTeacherInfo(data) {
this.teacherSelectDialog = false;
this.$set(this.form, 'teacherName', data.teacherName);
this.$set(this.form, 'teacherId', data.id);
this.dialogTeacherAward = true;
this.title = "新增请假信息";
},
/** 获取教师信息列表 */
getTeacherList(queryForm, callback) {
listInform(queryForm).then(response => {
callback(response.rows, response.total);
}).catch(error => {
callback([], 0);
})
},
//获校领导下拉框、
schoolLeader() {
getLeaderList().then(((res) => {
if (res.code == 200) {
this.schoolLeaderList = res.rows
}
}))
},
handleDeputyLeader(data) {
const { handUserName2, handUserId2 } = data;
this.form.handUserName2 = handUserName2;
this.form.handUserId2 = handUserId2;
},
// 处理精度 // 处理精度
handlePrecision(value, precision = 2) { handlePrecision(value, precision = 2) {
if (precision < 1) { if (precision < 1) {
...@@ -315,6 +407,32 @@ export default { ...@@ -315,6 +407,32 @@ export default {
this.loading = false; this.loading = false;
}) })
}, },
readNodes(nodes = [], arr = []) {
for (let item of nodes) {
arr.push({ id: item.id, label: item.label })
if (item.children && item.children.length) this.readNodes(item.children, arr)
}
return arr
},
// 选择处理人:打开对话框
openSelect(title, method, type) {
console.log(1);
this.selectHandles.open = true;
this.selectHandles.title = title;
this.selectHandles.method = method;
this.selectHandles.type = type;
},
// 选择处理人
selectUser(select) {
// 这种写法存在一定危险,后续最好是可以有更好的字段名对应
this.$set(this.form, `handUserName${this.selectHandles.type}`, select.name);
this.$set(this.form, `handUserId${this.selectHandles.type}`, select.id);
this.postForm.handUserName2 = select.name;
console.log(124, this.postForm.handUserName2);
this.postForm.leadershipId = select.id;
},
/** 查询部门下拉树结构 */ /** 查询部门下拉树结构 */
getDeptTree() { getDeptTree() {
...@@ -351,10 +469,13 @@ export default { ...@@ -351,10 +469,13 @@ export default {
handleUpdate(row) { handleUpdate(row) {
queryDepart(row.id).then(response => { queryDepart(row.id).then(response => {
this.xzTable = response.data.schoolDepartmentBudgetProjectmxList; this.xzTable = response.data.schoolDepartmentBudgetProjectmxList;
this.postForm.tbr = this.$store.state.user.name; this.postForm.informant = this.$store.state.user.name;
console.log(111, this.postForm.tbr);
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.content = this.xzTable[0].content;
this.postForm.projectExpenditures = this.xzTable[0].projectExpenditures;
this.postForm.isGovernmentPurchase = this.xzTable[0].isGovernmentPurchas;
this.open = true; this.open = true;
this.$modal.closeLoading(); this.$modal.closeLoading();
}).catch(err => { }).catch(err => {
...@@ -391,7 +512,8 @@ export default { ...@@ -391,7 +512,8 @@ export default {
queryDepart(row.id).then(response => { queryDepart(row.id).then(response => {
this.lookTable = response.data.schoolDepartmentBudgetProjectmxList; this.lookTable = response.data.schoolDepartmentBudgetProjectmxList;
console.log(111, this.lookTable); console.log(111, this.lookTable);
this.postForm.tbr = this.$store.state.user.name; this.postForm.informant = this.$store.state.user.name;
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;
this.openLook = true; this.openLook = true;
...@@ -404,8 +526,16 @@ export default { ...@@ -404,8 +526,16 @@ export default {
// 新增按钮 // 新增按钮
handleAdd() { handleAdd() {
this.reset(); this.reset();
this.xzTable = [{
projectName: "",
content: "",
projectExpenditures: "",
isGovernmentPurchase: "",
applyMoney: "",
remark: "",
}];
this.open = true; this.open = true;
this.postForm.tbr = this.$store.state.user.name; this.postForm.informant = this.$store.state.user.name;
this.title = '新增预算批复信息' this.title = '新增预算批复信息'
}, },
...@@ -432,9 +562,22 @@ export default { ...@@ -432,9 +562,22 @@ export default {
this.$refs["postForm"].validate(valid => { this.$refs["postForm"].validate(valid => {
if (valid) { if (valid) {
this.$modal.loading('正在上传数据,请稍等...'); this.$modal.loading('正在上传数据,请稍等...');
if (this.postForm.leadershipId != null) { if (this.xzTable[0].id != null) {
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;
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)
// 编辑 // 编辑
editdeBudget(this.postForm).then(response => { editdeBudget(newObj).then(response => {
this.$modal.closeLoading(); this.$modal.closeLoading();
this.$modal.msgSuccess("修改成功"); this.$modal.msgSuccess("修改成功");
this.open = false; this.open = false;
...@@ -443,10 +586,21 @@ export default { ...@@ -443,10 +586,21 @@ export default {
this.$modal.closeLoading(); this.$modal.closeLoading();
}); });
} else { } else {
// 新增 // 新增
const newObj = {};
adddeBudget(this.postForm).then(response => { newObj.leadershipName = this.postForm.handUserName2;
newObj.leadershipId = this.postForm.leadershipId;
newObj.xzTable = this.schoolDepartmentBudgetProjectmxList;
newObj.year = this.postForm.year;
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)
adddeBudget(newObj).then(response => {
this.$modal.closeLoading(); this.$modal.closeLoading();
console.log(this); console.log(this);
this.$modal.msgSuccess("新增成功"); this.$modal.msgSuccess("新增成功");
......
...@@ -3,12 +3,10 @@ ...@@ -3,12 +3,10 @@
<!-- 模糊查询--> <!-- 模糊查询-->
<el-form :model="form" ref="form" size="small" inline> <el-form :model="form" ref="form" size="small" inline>
<el-form-item prop="teacherName" label="姓名"> <el-form-item prop="teacherName" label="姓名">
<el-input v-model.trim="form.teacherName" placeholder="请输入姓名" clearable <el-input v-model.trim="form.teacherName" placeholder="请输入姓名" clearable @keyup.enter.native="search"></el-input>
@keyup.enter.native="search"></el-input>
</el-form-item> </el-form-item>
<el-form-item prop="teacherTel" label="联系电话"> <el-form-item prop="teacherTel" label="联系电话">
<el-input v-model.trim="form.teacherTel" placeholder="请输入联系电话" clearable <el-input v-model.trim="form.teacherTel" placeholder="请输入联系电话" clearable @keyup.enter.native="search"></el-input>
@keyup.enter.native="search"></el-input>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-button @click="search" type="primary" icon="el-icon-search" size="mini">搜索</el-button> <el-button @click="search" type="primary" icon="el-icon-search" size="mini">搜索</el-button>
...@@ -16,18 +14,13 @@ ...@@ -16,18 +14,13 @@
</el-form-item> </el-form-item>
</el-form> </el-form>
<!-- 列表数据--> <!-- 列表数据-->
<el-table <el-table ref="tableList" v-loading="loading" :data="userList" @selection-change="selectionChange"
ref="tableList" @row-click="rowClick">
v-loading="loading"
:data="userList"
@selection-change="selectionChange"
@row-click="rowClick"
>
<el-table-column type="selection" align="center"></el-table-column> <el-table-column type="selection" align="center"></el-table-column>
<el-table-column v-if="execute === 'leaderList'" key="avatar" prop="avatar" label="头像" align="center"> <el-table-column v-if="execute === 'leaderList'" key="avatar" prop="avatar" label="头像" align="center">
<template slot-scope="scope"> <template slot-scope="scope">
<el-image :src="baseURL + scope.row.avatar" :preview-src-list="[baseURL + scope.row.avatar]" <el-image :src="baseURL + scope.row.avatar" :preview-src-list="[baseURL + scope.row.avatar]"
class="custom-image radius-image"> class="custom-image radius-image">
<template slot="error"> <template slot="error">
{{ }} {{ }}
</template> </template>
...@@ -35,7 +28,7 @@ ...@@ -35,7 +28,7 @@
</template> </template>
</el-table-column> </el-table-column>
<el-table-column v-if="execute != 'leaderList'" key="teacherCode" prop="teacherCode" label="教师编号" <el-table-column v-if="execute != 'leaderList'" key="teacherCode" prop="teacherCode" label="教师编号"
align="center"></el-table-column> align="center"></el-table-column>
<el-table-column key="teacherName" prop="teacherName" label="姓名" align="center"></el-table-column> <el-table-column key="teacherName" prop="teacherName" label="姓名" align="center"></el-table-column>
<el-table-column key="teacherTel" prop="teacherTel" label="联系电话" align="center"></el-table-column> <el-table-column key="teacherTel" prop="teacherTel" label="联系电话" align="center"></el-table-column>
<el-table-column key="sex" prop="sex" label="性别" align="center"> <el-table-column key="sex" prop="sex" label="性别" align="center">
...@@ -45,13 +38,8 @@ ...@@ -45,13 +38,8 @@
</el-table-column> </el-table-column>
</el-table> </el-table>
<!-- 分页--> <!-- 分页-->
<pagination <pagination v-show="total > 0" :total="total" :limit.sync="form.pageSize" :page.sync="form.pageNum"
v-show="total > 0" @pagination="search"></pagination>
:total="total"
:limit.sync="form.pageSize"
:page.sync="form.pageNum"
@pagination="search"
></pagination>
<!-- 底部--> <!-- 底部-->
<div slot="footer"> <div slot="footer">
<el-button :disabled="!selectUser" @click="submit" type="primary" size="small">确 定</el-button> <el-button :disabled="!selectUser" @click="submit" type="primary" size="small">确 定</el-button>
...@@ -62,8 +50,10 @@ ...@@ -62,8 +50,10 @@
<script> <script>
import {getGradeOfficeDirectorList, getLeaderList} from "@/api/smartSchool/personWork/leaveApply"; import {
getLeaderList,//获取校领导下拉框
} from "@/api/smartSchool/personWork/auditoriumReservation";
export default { export default {
name: "SelectUser", name: "SelectUser",
dicts: ['sys_user_sex'], dicts: ['sys_user_sex'],
...@@ -126,13 +116,14 @@ export default { ...@@ -126,13 +116,14 @@ export default {
methods: { methods: {
/** 搜索(交给子组件维护,当然也可以把接口交给父组件处理) */ /** 搜索(交给子组件维护,当然也可以把接口交给父组件处理) */
async search() { async search() {
// if (!this.id || Number(this.id) === NaN) { if (isNaN(Number(this.id))) {
if (!this.id || isNaN(this.id)) { console.error('Invalid ID');
throw TypeError('级部/处室id应为非空数字类型!'); return;
} }
try { try {
this.loading = true; this.loading = true;
const response = await this[this.execute]({applyOrgid: this.id, ...this.form}); const response = await this[this.execute]({ applyOrgid: this.id, ...this.form });
this.userList = response.rows || []; this.userList = response.rows || [];
this.total = response.total; this.total = response.total;
this.loading = false; this.loading = false;
...@@ -141,6 +132,7 @@ export default { ...@@ -141,6 +132,7 @@ export default {
throw new Error(exception); throw new Error(exception);
} }
}, },
/** 重置表单 */ /** 重置表单 */
reset() { reset() {
this.form = { this.form = {
...@@ -158,6 +150,7 @@ export default { ...@@ -158,6 +150,7 @@ export default {
}, },
/** 点击选中、取消 */ /** 点击选中、取消 */
rowClick(row, column) { rowClick(row, column) {
console.log('row', row);
this.$refs['tableList'].clearSelection(); this.$refs['tableList'].clearSelection();
this.$refs['tableList'].toggleRowSelection(row, true); this.$refs['tableList'].toggleRowSelection(row, true);
}, },
...@@ -175,10 +168,7 @@ export default { ...@@ -175,10 +168,7 @@ export default {
this.openDialog = false; this.openDialog = false;
}, },
/** 级部、处室主任选择 */
gradeOfficeDirector(form) {
return getGradeOfficeDirectorList(form);
},
/** 分管领导、主要领导 */ /** 分管领导、主要领导 */
leaderList(form) { leaderList(form) {
......
...@@ -5,16 +5,10 @@ ...@@ -5,16 +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 style="width: 170px;" size="small" v-model="queryForm.sj" type="datetime" <el-date-picker v-model="queryForm.sj" type="daterange" range-separator="至" start-placeholder="开始日期"
format="yyyy-MM-dd HH:mm" value-format="yyyy-MM-dd HH:mm" placeholder="选择日期时间" end-placeholder="结束日期" format="yyyy-MM-dd" value-format="yyyy-MM-dd" @change="changeData(queryForm.sj)">
@change="changeData(queryForm.sj)">
</el-date-picker> -->
<el-date-picker v-model="dateRange" type="datetime" range-separator="至" start-placeholder="开始日期"
end-placeholder="结束日期" format="yyyy-MM-dd HH:mm" value-format="yyyy-MM-dd HH:mm"
@change="changeData(queryForm.sj)">
</el-date-picker> </el-date-picker>
<span v-if="week !== ''" style="font-size: 14px">({{ week }})</span> <span v-if="diffDate !== ''" style="font-size: 14px">({{ diffDate }})天</span>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-button type="primary" icon="el-icon-circle-plus" size="mini" @click="handleAdd">新增</el-button> <el-button type="primary" icon="el-icon-circle-plus" size="mini" @click="handleAdd">新增</el-button>
...@@ -100,15 +94,15 @@ ...@@ -100,15 +94,15 @@
<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="请选择日期">
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="具体负责人" prop="specificUserId"> <el-form-item label="具体负责人" prop="specificUserName">
<el-input v-model="postForm.specificUserId"></el-input> <el-input type="text" v-model="postForm.specificUserName" clearable />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
...@@ -163,8 +157,8 @@ ...@@ -163,8 +157,8 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="分管领导" prop="leadershipName" v-if="postForm.totalTime > 0.5"> <el-form-item label="分管领导" prop="handUserName2">
<el-input :value="postForm.leadershipName" placeholder="请选择分管领导" <el-input :value="postForm.handUserName2" placeholder="请选择分管领导"
@focus="openSelect('选择分管领导', 'leaderList', 2)"></el-input> @focus="openSelect('选择分管领导', 'leaderList', 2)"></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
...@@ -236,33 +230,33 @@ ...@@ -236,33 +230,33 @@
<td class="btntext" colspan="5">{{ isBigScreen }}</td> <td class="btntext" colspan="5">{{ isBigScreen }}</td>
</tr> </tr>
<tr> <tr>
<td rowspan="2" class="btntxt">附件</td> <td rowspan="2" class="btntxt">附件
<template slot-scope="scope">
<p v-for="item in scope.row.dzbFjList" :key="item.id">
<el-link type="primary" :href="item.fjlj" :underline="false" target="_blank">{{
item.fjmc
}}</el-link>
</p>
</template>
</td>
<td colspan="7">{{ fjmc }}</td> <td colspan="7">{{ fjmc }}</td>
<!-- <div style="color:#ff4949;font-size: 12px"
v-if="this.dzbFjList.length == 0 && this.dzbFjList.length == 0">提示:会议记录不能为空
</div> -->
<!-- <div v-else></div>
<UploadFileNew @input="getFileList" :value="fileList">
</UploadFileNew> -->
</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">
<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"> {{ applyName }}
<span v-else>{{ jlmc }}</span> -->
</span> </span>
</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">申请部门:
<!-- <img v-if="sjqztp" :src="sjqztp"> {{ applyDept }}
<span v-else>{{ sjmc }}</span> -->
</span> </span>
</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">学校分管领导:
<!-- <img v-if="sjqztp" :src="sjqztp"> {{ leadershipName }}
<span v-else>{{ sjmc }}</span> -->
</span> </span>
</el-col> </el-col>
</el-row> </el-row>
...@@ -292,12 +286,13 @@ import { ...@@ -292,12 +286,13 @@ import {
updateAuditor, //修改礼堂预约信息 updateAuditor, //修改礼堂预约信息
delAuditor, // 删除礼堂预约 delAuditor, // 删除礼堂预约
submitAuditor,//提交礼堂预约申请 submitAuditor,//提交礼堂预约申请
getGradeOfficeDirectorList,//获取校领导下拉框 getLeaderList,//获取校领导下拉框
} from "@/api/smartSchool/personWork/auditoriumReservation"; } from "@/api/smartSchool/personWork/auditoriumReservation";
import { CustomCellStyle } from "@/enums/customStyle"; import { CustomCellStyle } from "@/enums/customStyle";
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'
export default { export default {
name: "auditoriumReservation", name: "auditoriumReservation",
...@@ -305,8 +300,12 @@ export default { ...@@ -305,8 +300,12 @@ export default {
SelectUser SelectUser
}, },
data() { data() {
return { return {
// 天数
diffDate: "",
title: '', // 初始化 "title" 属性
week: "", // 选择的天数 week: "", // 选择的天数
dateRange: [], // 用于存储选定的时间段 dateRange: [], // 用于存储选定的时间段
// 提交状态 // 提交状态
...@@ -337,14 +336,31 @@ export default { ...@@ -337,14 +336,31 @@ export default {
htNumber: "", htNumber: "",
// 附件名称 // 附件名称
fjmc: "", fjmc: "",
// 申请人
applyName: "",
//申请部门
applyDept: "",
// 学校分管领导
leadershipName: "",
//后端传校领导列表
schoolLeaderList: [],
// 部门树选项
deptOptions: undefined,
teacherSelect: '教师信息',
teacherSelectDialog: false,
// 查询表单 // 查询表单
queryForm: { queryForm: {
activityName: "", activityName: "",
dateRange: [null, null], // 选择的开始日期和结束日期 dateRange: [null, null], // 选择的开始日期和结束日期
pageNum: 1, pageNum: 1,
pageSize: 10, pageSize: 10,
sj: ''
}, },
// 弹出层标题
dialogTitle: "",
dialogTeacherLeaveView: false,
dialogViewTeacherLeave: false,
dialogTeacherLeave: false,
// 遮罩层 // 遮罩层
loading: false, loading: false,
// 选中数组 // 选中数组
...@@ -363,14 +379,15 @@ export default { ...@@ -363,14 +379,15 @@ export default {
infoList: [ infoList: [
], ],
form: {},
// 数据总数 // 数据总数
total: 0, total: 0,
// 新增/修改表单 // 新增/修改表单
postForm: { postForm: {
activityName: "", activityName: "",
activityArea: "", activityArea: '',
activityTime: "", activityTime: "",
specificUserName: "", specificUserName: this.$store.state.user.name,
activityNumber: "", activityNumber: "",
duration: "", duration: "",
isRehearsal: "", isRehearsal: "",
...@@ -379,8 +396,15 @@ export default { ...@@ -379,8 +396,15 @@ export default {
isBigScreen: "", isBigScreen: "",
htNumber: "", htNumber: "",
fjmc: "", fjmc: "",
leadershipId: "",
},
// 分管领导id
leadershipId: '',
// 审批人
entrust: {
open: false,
title: '选择审批人'
}, },
// 选择对应处理人 // 选择对应处理人
selectHandles: { selectHandles: {
...@@ -401,8 +425,7 @@ export default { ...@@ -401,8 +425,7 @@ export default {
isDisabled: false, isDisabled: false,
// // 表单校验 // // 表单校验
rules: {}, rules: {},
// 弹出层标题
title: "",
// 列表信息 // 列表信息
columns: [], columns: [],
}; };
...@@ -412,29 +435,72 @@ export default { ...@@ -412,29 +435,72 @@ export default {
}, },
methods: { methods: {
//时间段(天)
// calculateTimeRange() {
// if (this.queryForm.dateRange.length === 2) {
// const startDate = new Date(this.queryForm.dateRange[0]);
// const endDate = new Date(this.queryForm.dateRange[1]);
// const timeDiff = Math.abs(endDate.getTime() - startDate.getTime());
// const daysDiff = Math.ceil(timeDiff / (1000 * 3600 * 24)) + 1;
// return daysDiff;
// } else {
// return '';
// }
// },
/** 获取列表数据 */ /** 获取列表数据 */
getList() { getList() {
listAuditor(this.addDateRange(this.queryForm, this.dateRange)).then(response => { listAuditor(this.queryForm).then(response => {
this.loading = false; this.loading = false;
this.infoList = response.rows; this.infoList = response.rows;
console.log(111, response.rows.state); console.log(111, response.rows);
this.total = response.total; this.total = response.total;
}).catch(err => { }).catch(err => {
this.loading = false; this.loading = false;
}) })
}, },
confirm() {
this.dialogViewTeacherLeave = false;
},
openViewTeacherLeaveForm(row) {
this.reset();
const id = row.id || this.ids
getTeacherLeave(id).then(response => {
this.form = response.data;
this.dialogViewTeacherLeave = true;
});
},
dialogOpenApproveHistory(row) {
this.dialogApproveHistory = true
this.getApproveHistoryList(row)
},
getApproveHistoryList(row) {
listHistory({ instanceId: row.instanceId }).then(res => {
})
},
openTeacherSelect() {
this.teacherSelectDialog = true
},
// 新增操作
setTeacherInfo(data) {
this.teacherSelectDialog = false;
this.$set(this.form, 'teacherName', data.teacherName);
this.$set(this.form, 'teacherId', data.id);
this.dialogTeacherAward = true;
this.title = "新增请假信息";
},
/** 获取教师信息列表 */
getTeacherList(queryForm, callback) {
listInform(queryForm).then(response => {
callback(response.rows, response.total);
}).catch(error => {
callback([], 0);
})
},
//获校领导下拉框、
schoolLeader() {
getLeaderList().then(((res) => {
if (res.code == 200) {
this.schoolLeaderList = res.rows
}
}))
},
handleDeputyLeader(data) {
const { handUserName2, handUserId2 } = data;
this.form.handUserName2 = handUserName2;
this.form.handUserId2 = handUserId2;
},
/** 查看 */ /** 查看 */
lookForm(row) { lookForm(row) {
this.reset(); this.reset();
...@@ -455,60 +521,32 @@ export default { ...@@ -455,60 +521,32 @@ export default {
this.isLive = response.data.isLive; this.isLive = response.data.isLive;
this.htNumber = response.data.htNumber; this.htNumber = response.data.htNumber;
this.isBigScreen = response.data.isBigScreen; this.isBigScreen = response.data.isBigScreen;
this.applyName = response.data.applyName;
this.applyDept = response.data.applyDept;
this.leadershipName = response.data.leadershipName;
this.fjmc = response.data.fjmc; this.fjmc = response.data.fjmc;
console.log(response.data.state); console.log(response.data.state);
this.loading = false; this.loading = false;
this.look = true; this.look = true;
}); });
}, },
// 选择天
// changeData(value) { // 计算天数
// if (value != null) {
// let selectedDate = new Date(value); //选择的日期时间
// let currentDate = new Date(); //当前日期时间
// // 计算日期差(以天为单位)
// let timeDiff = Math.abs(selectedDate.getTime() - currentDate.getTime());
// let daysDiff = Math.ceil(timeDiff / (1000 * 3600 * 24));
// this.week = daysDiff + '天'; // 时间段(以天为单位)
// console.log('Selected date: ', selectedDate);
// console.log('Days difference: ', daysDiff);
// } else {
// this.week = '';
// }
// },
changeData(value) { changeData(value) {
if (value !== null) { const startDate = value[0];
const startDate = new Date(value[0]); // 开始日期 const endDate = value[1];
const endDate = new Date(value[1]); // 结束日期 const diffDate = moment(endDate).diff(startDate, 'day');
const today = new Date(); // 当前日期 this.diffDate = diffDate; // 更新diffDate属性的值
// 计算日期差(以天为单位)
const timeDiff = Math.abs(endDate.getTime() - startDate.getTime());
const daysDiff = Math.ceil(timeDiff / (1000 * 3600 * 24));
// 如果选择的日期超过了今天,则显示日期差
if (endDate > today) {
this.week = daysDiff + "天";
} else {
this.week = "";
}
console.log("Start date: ", startDate);
console.log("End date: ", endDate);
console.log("Days difference: ", daysDiff);
} else {
this.week = "";
}
}, },
// 提交按钮 // 提交按钮
submitApply(row) { submitApply(row) {
this.$confirm('确认要提交申请?', '提示', { this.$confirm('确认要提交申请?', '提示', {
confirmButtonText: '确定', confirmButtonText: '确定',
cancelButtonText: '取消', cancelButtonText: '取消',
type: 'warning' type: 'warning'
}) })
.then(() => { .then(() => {
submitApply(row.id).then(res => { submitAuditor(row.id).then(res => {
if (res.code == 200) { if (res.code == 200) {
this.$message({ this.$message({
type: 'success', type: 'success',
...@@ -525,6 +563,8 @@ export default { ...@@ -525,6 +563,8 @@ export default {
}) })
}) })
}, },
// 搜索按钮 // 搜索按钮
handleQuery() { handleQuery() {
this.throttle(() => { this.throttle(() => {
...@@ -545,76 +585,8 @@ export default { ...@@ -545,76 +585,8 @@ export default {
this.week = ""; this.week = "";
this.handleQuery(); // 重新发一次请求 this.handleQuery(); // 重新发一次请求
}, },
//获校领导下拉框、
schoolLeader() {
getLeaderList().then(((res) => {
if (res.code == 200) {
this.schoolLeaderList = res.rows
}
}))
},
//填充级部/处室数据到form,并且根据id获取主任列表
getGradeOfficeDirector(data) {
if (this.form.handUserName1) {
this.form.handUserName1 = ""
}
const { id, label } = data;
console.log(id, label, 758)
this.form.applyOrgname = label;
this.form.applyOrgid = id;
getGradeOfficeDirectorList(id).then(((res) => {
if (res.code == 200) {
this.gradeOfficeDirectorList = res.rows
}
}))
},
handleDirector(data) {
const { handUserName1, handUserId1 } = data;
this.form.handUserName1 = handUserName1;
this.form.handUserId1 = handUserId1;
},
handleDeputyLeader(data) {
const { handUserName2, handUserId2 } = data;
this.form.handUserName2 = handUserName2;
this.form.handUserId2 = handUserId2;
},
handleLeader(data) {
const { handUserName3, handUserId3 } = data;
this.form.handUserName3 = handUserName3;
this.form.handUserId3 = handUserId3;
},
leaveTime() {
//0代表教工,1代表职工
if (this.employeeType == 0) {
if (this.form.startTime && this.form.endTime && this.form.startSort && this.form.endSort) {
getLeaveTime({
startTime: formatDate(this.form.startTime),
endTime: formatDate(this.form.endTime),
startSort: this.form.startSort,
endSort: this.form.endSort,
applyType: this.employeeType
}).then((res) => {
if (res.code == 200) {
this.$set(this.form, 'dayCourse', res.dayCourse)
this.$set(this.form, 'totalTime', res.data)
}
})
}
} else {
if (this.form.startTime && this.form.endTime) {
getLeaveTime({
startTime: formatDate(this.form.startTime),
endTime: formatDate(this.form.endTime),
applyType: this.employeeType
}).then((res) => {
if (res.code == 200) {
this.$set(this.form, 'totalTime', res.data)
}
})
}
}
},
getFormatDate(timeDate) { getFormatDate(timeDate) {
let date = new Date(timeDate); let date = new Date(timeDate);
let year = date.getFullYear(); let year = date.getFullYear();
...@@ -622,41 +594,9 @@ export default { ...@@ -622,41 +594,9 @@ export default {
let day = date.getDate(); let day = date.getDate();
return [year, '-', month, '-', day].join(''); return [year, '-', month, '-', day].join('');
}, },
//获取级部/处室 主任 下拉框
gradeDirectorList() {
this.$nextTick(() => {
getGradeOfficeDirectorList(this.form.applyOrgid).then(((res) => {
if (res.code == 200) {
this.gradeOfficeDirectorList = res.rows
}
}))
})
},
formReady() {
//获取级部处室下拉框
getGradeOfficeList().then(((res) => {
this.gradeOfficeList = res.data;
})).then(() => {
getDepId().then(res => {
this.$set(this.form, "applyOrgid", res.data);
this.form.applyOrgid = res.data
let arr = this.readNodes(this.gradeOfficeList)
const node = arr.find(item => {
if (item.id == this.form.applyOrgid) {
return item
}
})
this.form.applyOrgname = node.label
//获取级部/处室 主任 下拉框
// getGradeOfficeDirectorList(this.form.applyOrgid).then(((res) => {
// if (res.code == 200) {
// this.gradeOfficeDirectorList = res.rows
// }
// }))
})
})
},
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 })
...@@ -671,21 +611,28 @@ export default { ...@@ -671,21 +611,28 @@ export default {
this.selectHandles.title = title; this.selectHandles.title = title;
this.selectHandles.method = method; this.selectHandles.method = method;
this.selectHandles.type = type; this.selectHandles.type = type;
// 将级部、处室 id赋值
this.selectHandles.id = this.form.applyOrgid;
}, },
// 选择处理人 // 选择处理人
selectUser(select) { selectUser(select) {
console.log('select', select);
// 这种写法存在一定危险,后续最好是可以有更好的字段名对应 // 这种写法存在一定危险,后续最好是可以有更好的字段名对应
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.leadershipId = select.id;
}, },
// 新增按钮操作 // 新增按钮操作
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.specificUserName = this.$store.state.user.name;
this.isShow = true; this.isShow = true;
this.isDisabled = false; this.isDisabled = false;
this.open = true; this.open = true;
...@@ -699,7 +646,8 @@ export default { ...@@ -699,7 +646,8 @@ export default {
this.postForm = row; this.postForm = row;
getAuditor(id).then(response => { getAuditor(id).then(response => {
this.postForm = response.data; this.postForm = response.data;
console.log(1111, response.data.isRehearsal); this.postForm.handUserName2 = response.data.leadershipName
console.log(1111, response.data);
this.open = true; this.open = true;
this.isDisabled = false; this.isDisabled = false;
}); });
...@@ -749,6 +697,7 @@ export default { ...@@ -749,6 +697,7 @@ export default {
}); });
} else { } else {
// 新增 // 新增
console.log('this.postForm', this.postForm);
addAuditor(this.postForm) addAuditor(this.postForm)
.then((response) => { .then((response) => {
this.$modal.closeLoading(); this.$modal.closeLoading();
...@@ -775,32 +724,25 @@ export default { ...@@ -775,32 +724,25 @@ export default {
reset() { reset() {
// 这里需要重置对话框表单 // 这里需要重置对话框表单
this.postForm = { this.postForm = {
activityName: "",
activityArea: '',
activityTime: "",
specificUserName: this.$store.state.user.name,
activityNumber: "",
duration: "",
isRehearsal: "",
isVideo: "",
isLive: "",
isBigScreen: "",
htNumber: "",
fjmc: "",
leadershipId: "",
pageNum: 1, pageNum: 1,
pageSize: 10, pageSize: 10,
}; };
this.resetForm("postForm"); this.resetForm("postForm");
}, },
// 提交申请
submitApply(row) {
this.throttle(() => {
const id = row.id;
this.$modal
.confirm(`是否提交此用车申请`)
.then(() => {
this.$modal.loading("正在提交申请中...");
return submitApply(id);
})
.then(() => {
this.$modal.closeLoading();
this.$message.success("提交成功");
this.getList();
})
.catch((err) => {
this.$modal.closeLoading();
});
});
},
}, },
}; };
</script> </script>
...@@ -870,4 +812,10 @@ export default { ...@@ -870,4 +812,10 @@ export default {
.btntext { .btntext {
width: 260px; width: 260px;
} }
// 新增弹窗输入框宽度
.equal-width {
width: 100%;
/* 设置宽度为100% */
}
</style> </style>
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