Commit 65d01770 by zhaopanyu

zpy 8.21

parent d110de88
import request from "@/utils/request";
//人员分组
//获取分组集合
export function getUserList(data) {
return request({
url: "/notification/list",
method: "get",
data,
});
}
// 根据分类id获取人员信息
export function getUser(notificationId) {
return request({
url: `/notification/getUserList/${notificationId}`,
method: "get",
// params: id
});
}
//新增数据
export function addNotification(data) {
return request({
url: "/notification/add",
method: "post",
data,
});
}
//分组新增人员;
export function addUser(data) {
return request({
url: "/notification/addNotificationUser",
method: "post",
data,
});
}
//删除人员
export function deleteUser() {
return request({
url: "/notification/delectNotificationUser",
method: "put",
data,
});
}
//修改分组信息
export function updateNotification(data) {
return request({
url: "/notification/update",
method: "post",
data,
});
}
// 删除分组
export function deleteNotification(query) {
return request({
url: "/notification/deletes",
method: "delete",
params: query,
});
}
...@@ -151,9 +151,9 @@ export default { ...@@ -151,9 +151,9 @@ export default {
handleUploadSuccess(res, file) { handleUploadSuccess(res, file) {
console.log('res', res); console.log('res', res);
console.log('file', file); console.log('file', file);
if (res.code === 200) { if (res.code === 200) {
this.uploadList.push({ fjmc: file.response.originalFilename, fjlj: file.response.url }); // this.uploadList.push({ fjmc: file.res.originalFilename, fjlj: file.res.url });
this.uploadList.push({ fjmc: res.originalFilename, fjlj: res.fileName });
this.uploadedSuccessfully(); this.uploadedSuccessfully();
} else { } else {
this.number--; this.number--;
......
...@@ -3,143 +3,175 @@ import Layout from '@/layout' ...@@ -3,143 +3,175 @@ import Layout from '@/layout'
export default [ export default [
// 校园简介编辑页面 // 校园简介编辑页面
{ {
path: '/schoolManage/schoolInfo', path: "/schoolManage/schoolInfo",
component: Layout, component: Layout,
hidden: true, hidden: true,
permissions: ['childrenHealth:earlyChildhoodSyndrome:archivesManagement:birthday:index'], permissions: [
"childrenHealth:earlyChildhoodSyndrome:archivesManagement:birthday:index",
],
children: [ children: [
{ {
path: 'edit', path: "edit",
component: () => import('@/views/smartSchool/schoolManage/introduce/schoolInfo/index.vue'), component: () =>
name: 'campusInfoEdit', import(
"@/views/smartSchool/schoolManage/introduce/schoolInfo/index.vue"
),
name: "campusInfoEdit",
meta: { meta: {
title: '校园简介编辑' title: "校园简介编辑",
} },
} },
] ],
}, },
// 学校通知,接收人列表页面 // 学校通知,接收人列表页面
{ {
path: '/schoolManage/infoPush', path: "/schoolManage/infoPush",
component: Layout, component: Layout,
hidden: true, hidden: true,
permissions: ['childrenHealth:earlyChildhoodSyndrome:archivesManagement:birthday:index'], permissions: [
"childrenHealth:earlyChildhoodSyndrome:archivesManagement:birthday:index",
],
children: [ children: [
{ {
path: 'receiveList', path: "receiveList",
component: () => import('@/views/smartSchool/schoolManage/infoPush/components/receiveList.vue'), component: () =>
name: 'schoolManage_receiveList', import(
"@/views/smartSchool/schoolManage/schoolNotice/infoPush/components/receiveList.vue"
),
name: "schoolManage_receiveList",
meta: { meta: {
title: '接收人列表' title: "接收人列表",
} },
} },
] ],
}, },
// 校历管理,详细条目查看 // 校历管理,详细条目查看
{ {
path: '/schoolManage/calendar', path: "/schoolManage/calendar",
component: Layout, component: Layout,
hidden: true, hidden: true,
permissions: ['childrenHealth:earlyChildhoodSyndrome:archivesManagement:birthday:index'], permissions: [
"childrenHealth:earlyChildhoodSyndrome:archivesManagement:birthday:index",
],
children: [ children: [
{ {
path: 'schoolCalendarDetail', path: "schoolCalendarDetail",
component: () => import('@/views/smartSchool/schoolManage/calendarManagement/schoolCalendarDetail/index.vue'), component: () =>
name: 'schoolCalendarDetail', import(
"@/views/smartSchool/schoolManage/calendarManagement/schoolCalendarDetail/index.vue"
),
name: "schoolCalendarDetail",
meta: { meta: {
title: '校历明细' title: "校历明细",
} },
} },
] ],
}, },
// 值班管理,值班安排明细 // 值班管理,值班安排明细
{ {
path: '/schoolManage/dutyManage/dutyArrange', path: "/schoolManage/dutyManage/dutyArrange",
component: Layout, component: Layout,
hidden: true, hidden: true,
permissions: ['childrenHealth:earlyChildhoodSyndrome:archivesManagement:birthday:index'], permissions: [
"childrenHealth:earlyChildhoodSyndrome:archivesManagement:birthday:index",
],
children: [ children: [
{ {
path: '', path: "",
component: () => import('@/views/smartSchool/schoolManage/dutyManage/dutyArrange/index.vue'), component: () =>
name: 'dutyArrange', import(
"@/views/smartSchool/schoolManage/dutyManage/dutyArrange/index.vue"
),
name: "dutyArrange",
meta: { meta: {
title: '值班安排明细' title: "值班安排明细",
} },
} },
] ],
}, },
// 值班管理,值班表 // 值班管理,值班表
{ {
path: '/schoolManage/dutyManage/dutySchedule', path: "/schoolManage/dutyManage/dutySchedule",
component: Layout, component: Layout,
hidden: true, hidden: true,
permissions: ['childrenHealth:earlyChildhoodSyndrome:archivesManagement:birthday:index'], permissions: [
"childrenHealth:earlyChildhoodSyndrome:archivesManagement:birthday:index",
],
children: [ children: [
{ {
path: '', path: "",
component: () => import('@/views/smartSchool/schoolManage/dutyManage/dutySchedule'), component: () =>
name: 'dutySchedule', import("@/views/smartSchool/schoolManage/dutyManage/dutySchedule"),
name: "dutySchedule",
meta: { meta: {
title: '值班表' title: "值班表",
} },
} },
] ],
}, },
// 学校消息推送 // 学校消息推送
{ {
path: '/schoolManage/teacherMessage', path: "/schoolManage/teacherMessage",
component: Layout, component: Layout,
hidden: true, hidden: true,
permissions: ['childrenHealth:earlyChildhoodSyndrome:archivesManagement:birthday:index'], permissions: [
"childrenHealth:earlyChildhoodSyndrome:archivesManagement:birthday:index",
],
children: [ children: [
{ {
path: '', path: "",
component: () => import('@/views/home/message/message.vue'), component: () => import("@/views/home/message/message.vue"),
name: 'teacherMessage', name: "teacherMessage",
meta: { meta: {
title: '学校消息推送' title: "学校消息推送",
} },
} },
] ],
}, },
// 冬夏时令---学校时刻明细 // 冬夏时令---学校时刻明细
{ {
path: '/schoolManage', path: "/schoolManage",
component: Layout, component: Layout,
hidden: true, hidden: true,
permissions: ['childrenHealth:earlyChildhoodSyndrome:archivesManagement:birthday:index'], permissions: [
"childrenHealth:earlyChildhoodSyndrome:archivesManagement:birthday:index",
],
children: [ children: [
{ {
path: 'schoolMomentsDetail', path: "schoolMomentsDetail",
component: () => import('@/views/smartSchool/schoolManage/schoolMoments/components/schoolMomentsDetail'), component: () =>
name: 'SchoolMomentsDetail', import(
"@/views/smartSchool/schoolManage/schoolMoments/components/schoolMomentsDetail"
),
name: "SchoolMomentsDetail",
meta: { meta: {
title: '学校时刻明细' title: "学校时刻明细",
} },
} },
] ],
}, },
// 公文流转--公文流转查看 // 公文流转--公文流转查看
{ {
path: '/schoolManage', path: "/schoolManage",
component: Layout, component: Layout,
hidden: true, hidden: true,
permissions: ['childrenHealth:earlyChildhoodSyndrome:archivesManagement:birthday:index'], permissions: [
"childrenHealth:earlyChildhoodSyndrome:archivesManagement:birthday:index",
],
children: [ children: [
{ {
path: 'documentFlowView', path: "documentFlowView",
component: () => import('@/views/smartSchool/schoolManage/documentFlow/documentFlowView.vue'), component: () =>
name: 'documentFlowView', import(
"@/views/smartSchool/schoolManage/documentFlow/documentFlowView.vue"
),
name: "documentFlowView",
meta: { meta: {
title: '公文流转查看' title: "公文流转查看",
} },
} },
] ],
} },
] ];
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
<div> <div>
<el-card> <el-card>
<div slot="header" class="clearfix"> <div slot="header" class="clearfix">
<span>个人基本信息</span> <span>基本信息</span>
</div> </div>
<el-form ref="form" :model="infoForm" :rules="rules" label-width="120px"> <el-form ref="form" :model="infoForm" :rules="rules" label-width="120px">
<el-row :gutter="20"> <el-row :gutter="20">
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
<div> <div>
<el-card> <el-card>
<div slot="header" class="clearfix"> <div slot="header" class="clearfix">
<span>个人基本信息</span> <span>基本信息</span>
</div> </div>
<el-form ref="form" :model="infoForm" :rules="rules" label-width="120px"> <el-form ref="form" :model="infoForm" :rules="rules" label-width="120px">
<el-row :gutter="20"> <el-row :gutter="20">
......
...@@ -38,7 +38,6 @@ ...@@ -38,7 +38,6 @@
<script> <script>
import { listHistory } from "@/api/progress"; import { listHistory } from "@/api/progress";
export default { export default {
name: "Progress", name: "Progress",
props: { props: {
......
...@@ -38,7 +38,7 @@ ...@@ -38,7 +38,7 @@
import { import {
completelt,/** 礼堂预约申请审批*/ completelt,/** 礼堂预约申请审批*/
} from "@/api/smartSchool/indexMould/myTask/audApplicationapproval"; } from "@/api/smartSchool/indexMould/myTask/audApplicationapproval";
export default { export default {
name: "TaskResolve", name: "TaskResolve",
...@@ -57,7 +57,7 @@ export default { ...@@ -57,7 +57,7 @@ export default {
return { return {
postForm: { postForm: {
comment: '', comment: '',
pass: "true", pass: "",
}, },
// 意见模板 // 意见模板
templateComment: '', templateComment: '',
...@@ -75,7 +75,8 @@ export default { ...@@ -75,7 +75,8 @@ export default {
methods: { methods: {
/** 处理意见模板选中 */ /** 处理意见模板选中 */
handleSelectChange(value) { handleSelectChange(value) {
this.postForm.comment = value; this.postForm.comment = this.selectDictLabel(this.dict.type.template_comments, value);
console.log('this.postForm.comment', this.postForm.comment);
}, },
/** 【提交】按钮 */ /** 【提交】按钮 */
......
...@@ -4,27 +4,62 @@ ...@@ -4,27 +4,62 @@
<div slot="header" class="clearfix"> <div slot="header" class="clearfix">
<span>科室预算审批基本信息</span> <span>科室预算审批基本信息</span>
</div> </div>
<el-form ref="form" :model="infoForm" :rules="rules" label-width="100px"> <el-form ref="form" :model="infoForm" :rules="rules" label-width="90px">
<el-row :gutter="20"> <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.deptName"></el-input> </el-form-item>
</el-form-item> <el-form-item label="填报人">
<el-form-item label="填报人"> <el-input :value="infoForm.informant"></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.leadershipName"></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.tbTime"></el-input>
<el-input :value="infoForm.tbTime"></el-input> </el-form-item>
</el-form-item> </el-col>
</el-col>
</el-row>
</el-form> </el-form>
<div style="height:10px"></div>
<el-table border :data="projectDetail" style="width: 100%">
<el-table-column prop="projectName" label="项目名称" align="center">
<template slot-scope="scope">
<span>{{ scope.row.projectName }}</span>
</template>
</el-table-column>
<el-table-column prop="content" label="申报政策依据、理由及主要内容" align="center">
<template slot-scope="{ row }">
<span>{{ row.content }}</span>
</template>
</el-table-column>
<el-table-column prop="projectExpenditures" label="项目支出明细" align="center">
<template slot-scope="{ row }">
<span>{{ row.projectExpenditures }}</span>
</template>
</el-table-column>
<el-table-column prop="isGovernmentPurchase" label="是否政府采购" align="center">
<template slot-scope="{ row }">
<span v-if="row.isGovernmentPurchase === '1' "></span>
<span v-else-if="row.isGovernmentPurchase === '0'"></span>
</template>
</el-table-column>
<el-table-column prop="applyMoney" label="申请金额" align="center">
<template slot-scope="{ row }">
<span>{{ row.applyMoney }}</span>
</template>
</el-table-column>
<el-table-column prop="remark" label="备注" align="center">
<template slot-scope="{ row }">
<span>{{ row.remark }}</span>
</template>
</el-table-column>
</el-table>
</el-card> </el-card>
<TaskResolve v-if="!$attrs.readOnly" :taskId="this.$attrs.taskId" :instanceId="instanceId" :id="id" <TaskResolve v-if="!$attrs.readOnly" :taskId="this.$attrs.taskId" :instanceId="instanceId" :id="id"
v-on="this.$listeners"></TaskResolve> v-on="this.$listeners"></TaskResolve>
...@@ -77,6 +112,7 @@ export default { ...@@ -77,6 +112,7 @@ export default {
limitEndTime, limitEndTime,
limitStartTime, limitStartTime,
infoForm: {}, infoForm: {},
projectDetail: [],
rules: { rules: {
realityStartTime: [ realityStartTime: [
{ required: true, message: '实际开始时间不能为空', trigger: 'change' } { required: true, message: '实际开始时间不能为空', trigger: 'change' }
...@@ -96,6 +132,7 @@ export default { ...@@ -96,6 +132,7 @@ export default {
getDetailInfo() { getDetailInfo() {
queryDepart(this.id).then(res => { queryDepart(this.id).then(res => {
this.infoForm = res.data this.infoForm = res.data
this.projectDetail = res.data.schoolDepartmentBudgetProjectmxList
}) })
}, },
...@@ -118,4 +155,12 @@ export default { ...@@ -118,4 +155,12 @@ export default {
} }
</script> </script>
<style scoped></style> <style scoped>
.long-label .el-form-item__label {
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
max-width: 200px;
/* 根据需要调整最大宽度 */
}
</style>
...@@ -6,24 +6,20 @@ ...@@ -6,24 +6,20 @@
</div> </div>
<div> <div>
<el-form ref="postForm" :model="postForm" :rules="rules"> <el-form ref="postForm" :model="postForm" :rules="rules">
<el-form-item label="处理意见" label-width="80px" required>
<el-select :disabled="$attrs.readOnly" placeholder="常用审批语" v-model="templateComment"
@change="handleSelectChange">
<el-option v-for="dict in dict.type.template_comments" :key="dict.value" :value="dict.value"
:label="dict.label"></el-option>
</el-select>
</el-form-item>
<el-form-item prop="comment">
<el-input type="textarea" :rows="5" :readonly="$attrs.readOnly"
v-model="postForm.comment"></el-input>
</el-form-item>
<el-form-item label="处理结果" label-width="80px" prop="pass"> <el-form-item label="处理结果" label-width="80px" prop="pass">
<el-select v-model="postForm.pass" :disabled="$attrs.readOnly"> <el-select v-model="postForm.pass" :disabled="$attrs.readOnly"
@change="handleSelectChange(postForm.pass)">
<el-option v-for="dict in dict.type.apply_results" :key="dict.value" :value="dict.value" <el-option v-for="dict in dict.type.apply_results" :key="dict.value" :value="dict.value"
:label="dict.label"></el-option> :label="dict.label"></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item prop="comment" label="处理意见" label-width="80px" required>
<el-input type="textarea" :rows="5" :readonly="$attrs.readOnly"
v-model="postForm.comment"></el-input>
</el-form-item>
</el-form> </el-form>
<el-row v-if="!$attrs.readOnly" type="flex" justify="center" class="mb20"> <el-row v-if="!$attrs.readOnly" type="flex" justify="center" class="mb20">
<el-button type="primary" size="small" @click="handleSubmit">确认提交 <el-button type="primary" size="small" @click="handleSubmit">确认提交
...@@ -54,7 +50,7 @@ export default { ...@@ -54,7 +50,7 @@ export default {
return { return {
postForm: { postForm: {
comment: '', comment: '',
pass: "1", pass: "",
}, },
// 意见模板 // 意见模板
templateComment: '', templateComment: '',
...@@ -71,19 +67,27 @@ export default { ...@@ -71,19 +67,27 @@ export default {
}, },
methods: { methods: {
/** 处理意见模板选中 */ /** 处理意见模板选中 */
// handleSelectChange(value) {
// this.postForm.comment = this.selectDictLabel(this.dict.type.template_comments, value);
// console.log(value);
// console.log('this.postForm.comment', this.postForm.comment);
// },
handleSelectChange(value) { handleSelectChange(value) {
this.postForm.comment = value; if (value === "true") {
this.postForm.comment = "审核无误,同意该申请";
} else if (value === "false") {
this.postForm.comment = "不同意该申请";
}
}, },
/** 【提交】按钮 */ /** 【提交】按钮 */
handleSubmit() { handleSubmit() {
this.$refs.postForm.validate(valid => { this.$refs.postForm.validate(valid => {
// if (this.postForm.pass) {
// this.postForm.pass = "通过"
// } else {
// this.postForm.pass = "不通过"
// }
if (valid) { if (valid) {
this.$modal.loading('正在提交数据,请稍等...'); this.$modal.loading('正在提交数据,请稍等...');
complete({ complete({
...@@ -92,7 +96,10 @@ export default { ...@@ -92,7 +96,10 @@ export default {
comment: this.postForm.comment, comment: this.postForm.comment,
pass: this.postForm.pass pass: this.postForm.pass
}).then(response => { }).then(response => {
console.log(complete);
console.log('response', response);
this.$modal.closeLoading(); this.$modal.closeLoading();
console.log('提交成功');
this.$message.success('提交成功'); this.$message.success('提交成功');
this.$emit('submit'); this.$emit('submit');
}).catch(error => { }).catch(error => {
...@@ -101,6 +108,7 @@ export default { ...@@ -101,6 +108,7 @@ export default {
} }
}) })
} }
} }
} }
</script> </script>
......
...@@ -8,13 +8,9 @@ ...@@ -8,13 +8,9 @@
<el-form ref="postForm" :model="postForm" :rules="rules"> <el-form ref="postForm" :model="postForm" :rules="rules">
<el-form-item label="处理意见" label-width="80px" required> <el-form-item label="处理意见" label-width="80px" required>
<el-select :disabled="$attrs.readOnly" placeholder="常用审批语" v-model="templateComment" <el-select :disabled="$attrs.readOnly" placeholder="常用审批语" v-model="templateComment"
@change="handleSelectChange"> @change="handleSelectChange">
<el-option <el-option v-for="dict in dict.type.template_comments" :key="dict.value" :value="dict.value"
v-for="dict in dict.type.template_comments" :label="dict.label"></el-option>
:key="dict.value"
:value="dict.value"
:label="dict.label"
></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
...@@ -23,12 +19,8 @@ ...@@ -23,12 +19,8 @@
</el-form-item> </el-form-item>
<el-form-item label="处理结果" label-width="80px" prop="pass"> <el-form-item label="处理结果" label-width="80px" prop="pass">
<el-select v-model="postForm.pass" :disabled="$attrs.readOnly"> <el-select v-model="postForm.pass" :disabled="$attrs.readOnly">
<el-option <el-option v-for="dict in dict.type.apply_results" :key="dict.value" :value="dict.value"
v-for="dict in dict.type.apply_results" :label="dict.label"></el-option>
:key="dict.value"
:value="dict.value"
:label="dict.label"
></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-form> </el-form>
...@@ -42,7 +34,7 @@ ...@@ -42,7 +34,7 @@
</template> </template>
<script> <script>
import {complete} from "@/api/smartSchool/index/purchaseApproval.js"; import { complete } from "@/api/smartSchool/index/purchaseApproval.js";
export default { export default {
name: "TaskResolve", name: "TaskResolve",
...@@ -61,17 +53,17 @@ export default { ...@@ -61,17 +53,17 @@ export default {
return { return {
postForm: { postForm: {
comment: '', comment: '',
pass: "1", pass: "true",
}, },
// 意见模板 // 意见模板
templateComment: '', templateComment: '',
circleUrl: "https://cube.elemecdn.com/3/7c/3ea6beec64369c2642b92c6726f1epng.png", circleUrl: "https://cube.elemecdn.com/3/7c/3ea6beec64369c2642b92c6726f1epng.png",
rules: { rules: {
comment: [ comment: [
{required: true, message: '处理意见不能为空', trigger: 'change'} { required: true, message: '处理意见不能为空', trigger: 'change' }
], ],
pass: [ pass: [
{required: true, message: '处理结果不能为空', trigger: 'change'} { required: true, message: '处理结果不能为空', trigger: 'change' }
] ]
} }
} }
...@@ -79,7 +71,7 @@ export default { ...@@ -79,7 +71,7 @@ export default {
methods: { methods: {
/** 处理意见模板选中 */ /** 处理意见模板选中 */
handleSelectChange(value) { handleSelectChange(value) {
this.postForm.comment = value; this.postForm.comment = this.selectDictLabel(this.dict.type.template_comments, value);
}, },
/** 【提交】按钮 */ /** 【提交】按钮 */
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
<div> <div>
<el-card> <el-card>
<div slot="header" class="clearfix"> <div slot="header" class="clearfix">
<span>个人基本信息</span> <span>基本信息</span>
</div> </div>
<el-form ref="form" :model="infoForm" :rules="rules" label-width="120px"> <el-form ref="form" :model="infoForm" :rules="rules" label-width="120px">
<el-row :gutter="20"> <el-row :gutter="20">
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
<div> <div>
<el-card> <el-card>
<div slot="header" class="clearfix"> <div slot="header" class="clearfix">
<span>个人基本信息</span> <span>基本信息</span>
</div> </div>
<el-form ref="form" :model="infoForm" :rules="rules" label-width="120px"> <el-form ref="form" :model="infoForm" :rules="rules" label-width="120px">
<el-row :gutter="20"> <el-row :gutter="20">
......
...@@ -147,6 +147,7 @@ export default { ...@@ -147,6 +147,7 @@ export default {
this.openPur = true; this.openPur = true;
getPurchaseDetail(row.id).then((response) => { getPurchaseDetail(row.id).then((response) => {
this.form = response.data; this.form = response.data;
console.log('this.form', this.form);
}).catch(() => { }).catch(() => {
}) })
}, },
......
...@@ -531,6 +531,7 @@ export default { ...@@ -531,6 +531,7 @@ export default {
this.open = false; this.open = false;
this.openLook = false; this.openLook = false;
this.openfk = false; this.openfk = false;
this.openpd = false;
// this.resetQuery(); // this.resetQuery();
this.reset(); this.reset();
}, },
......
...@@ -64,59 +64,70 @@ ...@@ -64,59 +64,70 @@
<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="title" :visible.sync="openForPur" width="1000px" @close="refreshValidate"> <el-dialog :title="title" :visible.sync="openForPur" width="55%" @close="refreshValidate">
<!-- <div> --> <!-- <div> -->
<el-form ref="formPur" :model="formPur" :disabled="formPurDisable" :rules="rules" label-width="120px" inline> <el-form ref="formPur" :model="formPur" :disabled="formPurDisable" :rules="rules" label-width="120px" inline>
<el-row :gutter="10"> <el-row>
<el-col :span="24"> <el-col :span="22">
<el-form-item label="标题" prop="purchaseName"> <el-form-item label="标题" prop="purchaseName">
<el-input v-model="formPur.purchaseName" placeholder="请输入采购申请标题" clearable style="width:576px"></el-input> <el-input v-model="formPur.purchaseName" placeholder="请输入采购申请标题" clearable style="width: 615px"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="10">
<el-form-item label="申请部门" prop="deptId">
<Treeselect :disabled="formPurDisable" v-model="formPur.deptId" @select="deptIdAndName"
:options="deptOptions" :show-count="true" placeholder="请选择归属部门" :defaultExpandLevel=1
style="width: 193px" />
</el-form-item>
</el-col>
<el-col :span="10">
<el-form-item label="期望日期" prop="expectedDate">
<el-date-picker v-model="formPur.expectedDate" placeholder="请选择期望日期" clearable value-format="yyyy-MM-dd"
style="width: 193px"></el-date-picker>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="10">
<el-form-item label="批复项目" prop="budgetId">
<el-select v-model="formPur.budgetId" @change="getBudgetName" placeholder="请选择批复项目" style="width: 100%">
<el-option v-for="item in budgetList" :key="item.id" :label="item.budgetName"
:value="item.id"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="10">
<el-form-item label="采购金额(元)" prop="purchaseMoney">
<el-input :value="purchaseMoney" readonly clearable></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="10">
<el-form-item label="分管处室领导" prop="handUserName1">
<el-input placeholder="请选择分管领导" v-model="formPur.handUserName1" clearable
@click.native="selectBoss1(1)"></el-input>
</el-form-item>
</el-col>
<el-col :span="10">
<el-form-item label="财务领导" prop="handUserName2">
<el-input placeholder="请选择财务领导" v-model="formPur.handUserName2" clearable
@click.native="selectBoss1(2)"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="22">
<el-form-item label="采购说明">
<el-input type="textarea" v-model="formPur.remark" placeholder="请输入采购说明" clearable
style="width: 615px"></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-form-item label="申请部门" prop="deptId">
<Treeselect :disabled="formPurDisable" v-model="formPur.deptId" @select="deptIdAndName" :options="deptOptions"
:show-count="true" placeholder="请选择归属部门" :defaultExpandLevel=1 style="width:224px" />
</el-form-item>
<el-form-item label="期望日期" prop="expectedDate">
<el-date-picker v-model="formPur.expectedDate" placeholder="请选择期望日期" clearable
value-format="yyyy-MM-dd"></el-date-picker>
</el-form-item>
<el-form-item label="批复项目" prop="budgetId">
<!-- <el-input v-model="formPur.budgetName" clearable></el-input> -->
<el-select v-model="formPur.budgetId" @change="getBudgetName" style="width: 100%" placeholder="请选择批复项目">
<el-option v-for="item in budgetList" :key="item.id" :label="item.budgetName" :value="item.id">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="采购金额(元)" prop="purchaseMoney">
<el-input :value="purchaseMoney" readonly clearable></el-input>
</el-form-item>
<el-form-item label="分管处室领导" prop="handUserName1">
<el-input placeholder="请选择分管领导" v-model="formPur.handUserName1" clearable
@click.native="selectBoss1(1)"></el-input>
<!-- <el-select v-model="formPur.handUserName1" @change="leaderfgc" style="width: 100%"-->
<!-- >-->
<!-- <el-option v-for="item in schoolLeaderList" :key="item.id" :label="item.teacherName"-->
<!-- :value="{ handUserName1: item.teacherName, handUserId1: item.id }">-->
<!-- </el-option>-->
<!-- </el-select>-->
</el-form-item>
<el-form-item label="财务领导" prop="handUserName2">
<el-input placeholder="请选择财务领导" v-model="formPur.handUserName2" clearable
@click.native="selectBoss1(2)"></el-input>
<!-- <el-select v-model="formPur.handUserName2" @change="leadercw" style="width: 100%"-->
<!-- >-->
<!-- <el-option v-for="item in schoolLeaderList" :key="item.id" :label="item.teacherName"-->
<!-- :value="{ handUserName2: item.teacherName, handUserId2: item.id }">-->
<!-- </el-option>-->
<!-- </el-select>-->
</el-form-item>
<el-form-item label="采购说明">
<el-input type="textarea" v-model="formPur.remark" placeholder="请输入采购说明" clearable
style="width:578px"></el-input>
</el-form-item>
</el-form> </el-form>
<el-row :gutter="10"> <el-row :gutter="10">
<el-col :span="1.5"> <el-col :span="1.5">
<el-button v-if="isEdit" type="primary" size="mini" :disabled="add" @click="addRow">增加</el-button> <el-button v-if="isEdit" type="primary" size="mini" :disabled="add" @click="addRow">增加</el-button>
...@@ -126,19 +137,18 @@ ...@@ -126,19 +137,18 @@
</el-col> </el-col>
</el-row> </el-row>
<div style="height:10px"></div> <div style="height:10px"></div>
<el-table :data="projectDetail" v-loading="loading" style="width: 100%" <el-table :data="projectDetail" v-loading="loading" style="width: 100%"
@selection-change="handleSelectionChangeDetail"> @selection-change="handleSelectionChangeDetail">
<el-table-column type="selection" width="50" align="center" /> <el-table-column type="selection" width="50" align="center" />
<el-table-column type="index" label="序号" width="50"></el-table-column> <el-table-column type="index" label="序号" width="48"></el-table-column>
<el-table-column prop="assetsTypeName" label="资产分类" align="center"> <el-table-column prop="assetsTypeName" label="资产分类" align="center" width="120">
<template slot-scope="scope"> <template slot-scope="scope">
<span v-show="!isEdit">{{ scope.row.assetsTypeName }}</span> <span v-show="!isEdit">{{ scope.row.assetsTypeName }}</span>
<el-input v-show="isEdit" v-model="scope.row.assetsTypeName" <el-input v-show="isEdit" v-model="scope.row.assetsTypeName"
@click.native="selectAssetsType(scope.$index)"></el-input> @click.native="selectAssetsType(scope.$index)"></el-input>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="assetsName" label="资产名称" align="center"> <el-table-column prop="assetsName" label="资产名称" align="center" width="180px">
<template slot-scope="{ row }"> <template slot-scope="{ row }">
<span v-show="!isEdit">{{ row.assetsName }}</span> <span v-show="!isEdit">{{ row.assetsName }}</span>
<el-input v-show="isEdit" v-model="row.assetsName"></el-input> <el-input v-show="isEdit" v-model="row.assetsName"></el-input>
...@@ -150,25 +160,25 @@ ...@@ -150,25 +160,25 @@
<el-input v-show="isEdit" v-model="row.assetsSpecs"></el-input> <el-input v-show="isEdit" v-model="row.assetsSpecs"></el-input>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="assetsUnit" label="单位" align="center"> <el-table-column prop="assetsUnit" label="单位" align="center" width="100px">
<template slot-scope="{ row }"> <template slot-scope="{ row }">
<span v-show="!isEdit">{{ row.assetsUnit }}</span> <span v-show="!isEdit">{{ row.assetsUnit }}</span>
<el-input v-show="isEdit" v-model="row.assetsUnit"></el-input> <el-input v-show="isEdit" v-model="row.assetsUnit"></el-input>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="assetsPrice" label="单价-元" align="center" width="150px"> <el-table-column prop="assetsPrice" label="单价-元" align="center" width="120px">
<template slot-scope="{ row }"> <template slot-scope="{ row }">
<span v-show="!isEdit">{{ row.assetsPrice }}</span> <span v-show="!isEdit">{{ row.assetsPrice }}</span>
<el-input v-show="isEdit" v-model="row.assetsPrice" type="number"></el-input> <el-input v-show="isEdit" v-model="row.assetsPrice" type="number"></el-input>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="assetsNumbers" label="数量" align="center"> <el-table-column prop="assetsNumbers" label="数量" align="center" width="110px">
<template slot-scope="{ row }"> <template slot-scope="{ row }">
<span v-show="!isEdit">{{ row.assetsNumbers }}</span> <span v-show="!isEdit">{{ row.assetsNumbers }}</span>
<el-input v-show="isEdit" v-model="row.assetsNumbers" ></el-input> <el-input v-show="isEdit" v-model="row.assetsNumbers"></el-input>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="totalPrice" label="小计" align="center"> <el-table-column prop="totalPrice" label="小计" align="center" width="120px">
<template slot-scope="{ row }"> <template slot-scope="{ row }">
<span>{{ row.assetsPrice * row.assetsNumbers }}</span> <span>{{ row.assetsPrice * row.assetsNumbers }}</span>
</template> </template>
...@@ -324,7 +334,7 @@ export default { ...@@ -324,7 +334,7 @@ export default {
}, },
}, },
methods: { methods: {
addDetail() { addDetail() {
this.projectDetail.push({ this.projectDetail.push({
assetsType: "", assetsType: "",
......
<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" icon="el-icon-upload" style="margin-right: 10px;">上传</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.url" class="el-upload-list__item ele-upload-list__item-content"
v-for="(file, index) in fileList">
<el-link :href="`${baseUrl}${file.url}`" :underline="false" target="_blank">
<span class="el-icon-document"> {{ file.name }} </span>
</el-link>
<div class="ele-upload-list__item-content-action" style="float: right">
<el-link style="margin-left: 10px;color: #1890ff" :href="`${baseUrl}${file.url}`" :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: "UploadFileNew",
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 = { name: item, url: 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) {
// const fileName = file.name.split('.');
// const fileExt = fileName[fileName.length - 1];
// const isTypeOk = this.fileType.indexOf(fileExt) >= 0;
// 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('handleUploadSuccess', res)
console.log('file', file)
if (res.code === 200) {
this.uploadList.push({ name: res.newFileName, url: res.fileName });
this.uploadList.push({ name: res.originalFilename, url: res.fileName });
this.uploadedSuccessfully();
} else {
this.number--;
this.$modal.closeLoading();
this.$modal.msgError(res.msg);
this.$refs.fileUpload.handleRemove(file);
this.uploadedSuccessfully();
}
},
// 删除文件
handleDelete(index) {
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 {
vertical-align: center;
width: 100%;
text-align: right;
position: relative;
}
::v-deep .el-upload {
position: absolute;
right: 0px;
top: 0px;
}
.upload-file-uploader {
margin-bottom: 5px;
}
.upload-file-list {
width: 85%;
position: relative !important;
top: 0px !important;
}
.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: flex-start;
;
align-items: center;
color: inherit;
}
.ele-upload-list__item-content-action .el-link {
margin-right: 10px;
\ No newline at end of file
...@@ -261,7 +261,8 @@ ...@@ -261,7 +261,8 @@
</p> --> </p> -->
<p> <p>
<el-link :underline="false" :href="postForm.fjlj" type="primary" target="_blank"> <el-link :underline="false" :href="`${baseUrl}${postForm.fjlj}`" type="primary"
target="_blank">
{{ postForm.fjmc }} {{ postForm.fjmc }}
</el-link> </el-link>
<!-- <el-button type="primary" size="mini" @click="downloadFile(postForm.fjlj)"> <!-- <el-button type="primary" size="mini" @click="downloadFile(postForm.fjlj)">
...@@ -338,6 +339,8 @@ export default { ...@@ -338,6 +339,8 @@ export default {
data() { data() {
return { return {
baseUrl: process.env.VUE_APP_BASE_API,
// baseUrl: 'http://192.168.1.111:8848',
stateTexts: ['未提交', '审核中', '审核通过', '审核不通过'], stateTexts: ['未提交', '审核中', '审核通过', '审核不通过'],
// 上传 // 上传
upload: { upload: {
...@@ -873,7 +876,7 @@ export default { ...@@ -873,7 +876,7 @@ export default {
this.throttle(() => { this.throttle(() => {
this.$refs["postForm"].validate((valid) => { this.$refs["postForm"].validate((valid) => {
if (valid) { if (valid) {
console.log('this.postForm', this.postForm); console.log('this.postForm 123', this.postForm);
// this.$modal.loading("正在上传数据,请稍等..."); // this.$modal.loading("正在上传数据,请稍等...");
if (this.postForm.id != null) { if (this.postForm.id != null) {
if (this.fileList.length != 0) { if (this.fileList.length != 0) {
...@@ -894,7 +897,7 @@ export default { ...@@ -894,7 +897,7 @@ export default {
} else { } else {
if (this.fileList.length != 0) { if (this.fileList.length != 0) {
console.log('this.postForm', this.postForm); console.log('this.postForm 1234', this.postForm);
addAuditor(this.postForm) addAuditor(this.postForm)
.then((response) => { .then((response) => {
this.$modal.closeLoading(); this.$modal.closeLoading();
......
...@@ -33,7 +33,7 @@ ...@@ -33,7 +33,7 @@
<el-table-column align="center" prop="id" label="报修单号" /> <el-table-column align="center" prop="id" label="报修单号" />
<el-table-column align="center" prop="repairsName" label="报修人" width="85px" /> <el-table-column align="center" prop="repairsName" label="报修人" width="85px" />
<el-table-column align="center" prop="phone" label="联系方式" width="130px" /> <el-table-column align="center" prop="phone" label="联系方式" width="130px" />
<el-table-column align="center" prop="repairsTime" label="报修时间" width="160px"/> <el-table-column align="center" prop="repairsTime" label="报修时间" width="160px" />
<el-table-column align="center" prop="failureEquipment" label="故障设备" /> <el-table-column align="center" prop="failureEquipment" label="故障设备" />
<el-table-column align="center" prop="failureEquipmentArea" label="设备地点" /> <el-table-column align="center" prop="failureEquipmentArea" label="设备地点" />
<el-table-column align="center" prop="failureEquipmentDescribe" label="故障描述" /> <el-table-column align="center" prop="failureEquipmentDescribe" label="故障描述" />
...@@ -74,8 +74,6 @@ ...@@ -74,8 +74,6 @@
</el-button> </el-button>
</div> </div>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
...@@ -137,7 +135,6 @@ ...@@ -137,7 +135,6 @@
</el-dialog> </el-dialog>
<!-- 查看对话框 --> <!-- 查看对话框 -->
<el-dialog :title="title" :visible.sync="openLook" width="1200px" append-to-body> <el-dialog :title="title" :visible.sync="openLook" width="1200px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="120px"> <el-form ref="form" :model="form" :rules="rules" label-width="120px">
<el-row> <el-row>
...@@ -229,7 +226,12 @@ ...@@ -229,7 +226,12 @@
<el-input v-model="formfk.maintainState" placeholder="维修状态"></el-input> <el-input v-model="formfk.maintainState" placeholder="维修状态"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="报修结果" prop="maintainResult"> <el-form-item label="报修结果" prop="maintainResult">
<el-input v-model="formfk.maintainResult" placeholder="报修结果"></el-input> <el-select v-model="formfk.maintainResult" placeholder="请选择报修结果">
<el-option label="已维修" value="1"></el-option>
<el-option label="无法维修" value="2"></el-option>
<!-- 添加更多的选项 -->
</el-select>
</el-form-item> </el-form-item>
<el-form-item label="评价" prop="phevaluateone"> <el-form-item label="评价" prop="phevaluateone">
<el-rate v-model="formfk.evaluate" :max="5"></el-rate> <el-rate v-model="formfk.evaluate" :max="5"></el-rate>
......
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch">
<el-form-item label="用户名称" prop="userName">
<el-input
v-model="queryParams.userName"
placeholder="请输入用户名称"
clearable
style="width: 240px"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="手机号码" prop="phonenumber">
<el-input
v-model="queryParams.phonenumber"
placeholder="请输入手机号码"
clearable
style="width: 240px"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item>
<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-form-item>
</el-form>
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button
type="primary"
plain
icon="el-icon-plus"
size="mini"
@click="openSelectUser"
v-hasPermi="['system:role:add']"
>添加用户
</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="danger"
plain
icon="el-icon-circle-close"
size="mini"
:disabled="multiple"
@click="cancelAuthUserAll"
v-hasPermi="['system:role:remove']"
>批量取消授权
</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="warning"
plain
icon="el-icon-close"
size="mini"
@click="handleClose"
>关闭
</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<el-table v-loading="loading" :data="userList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center"/>
<el-table-column label="用户名称" prop="userName" :show-overflow-tooltip="true"/>
<el-table-column label="用户昵称" prop="nickName" :show-overflow-tooltip="true"/>
<el-table-column label="邮箱" prop="email" :show-overflow-tooltip="true"/>
<el-table-column label="手机" prop="phonenumber" :show-overflow-tooltip="true"/>
<el-table-column label="状态" align="center" prop="status">
<template slot-scope="scope">
<dict-tag :options="dict.type.sys_normal_disable" :value="scope.row.status"/>
</template>
</el-table-column>
<el-table-column label="创建时间" align="center" prop="createTime" width="180">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.createTime) }}</span>
</template>
</el-table-column>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button
size="mini"
type="text"
icon="el-icon-circle-close"
@click="cancelAuthUser(scope.row)"
v-hasPermi="['system:role:remove']"
>取消授权
</el-button>
</template>
</el-table-column>
</el-table>
<pagination
v-show="total>0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
<select-user ref="select" :roleId="queryParams.roleId" @ok="handleQuery"/>
</div>
</template>
<script>
import {allocatedUserList, authUserCancel, authUserCancelAll} from "@/api/system/role";
import selectUser from "./selectUser";
export default {
name: "AuthUser",
dicts: ['sys_normal_disable'],
components: {selectUser},
data() {
return {
// 遮罩层
loading: true,
// 选中用户组
userIds: [],
// 非多个禁用
multiple: true,
// 显示搜索条件
showSearch: true,
// 总条数
total: 0,
// 用户表格数据
userList: [],
// 查询参数
queryParams: {
pageNum: 1,
pageSize: 10,
roleId: undefined,
userName: undefined,
phonenumber: undefined
}
};
},
created() {
const roleId = this.$route.params && this.$route.params.roleId;
console.log("222222", roleId)
if (roleId) {
this.queryParams.roleId = roleId;
this.getList();
}
},
methods: {
/** 查询授权用户列表 */
getList() {
this.loading = true;
allocatedUserList(this.queryParams).then(response => {
this.userList = response.rows;
this.total = response.total;
this.loading = false;
}
);
},
// 返回按钮
handleClose() {
const obj = {path: "/system/role"};
this.$tab.closeOpenPage(obj);
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1;
this.getList();
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm("queryForm");
this.handleQuery();
},
// 多选框选中数据
handleSelectionChange(selection) {
this.userIds = selection.map(item => item.userId)
this.multiple = !selection.length
},
/** 打开授权用户表弹窗 */
openSelectUser() {
this.$refs.select.show();
},
/** 取消授权按钮操作 */
cancelAuthUser(row) {
const roleId = this.queryParams.roleId;
this.$modal.confirm('确认要取消该用户"' + row.userName + '"角色吗?').then(function () {
return authUserCancel({userId: row.userId, roleId: roleId});
}).then(() => {
this.getList();
this.$modal.msgSuccess("取消授权成功");
}).catch(() => {
});
},
/** 批量取消授权按钮操作 */
cancelAuthUserAll(row) {
const roleId = this.queryParams.roleId;
const userIds = this.userIds.join(",");
this.$modal.confirm('是否取消选中用户授权数据项?').then(function () {
return authUserCancelAll({roleId: roleId, userIds: userIds});
}).then(() => {
this.getList();
this.$modal.msgSuccess("取消授权成功");
}).catch(() => {
});
}
}
};
</script>
<template>
<!-- 授权用户 -->
<el-dialog title="选择用户" :visible.sync="visible" width="800px" top="5vh" append-to-body>
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true">
<el-form-item label="用户名称" prop="userName">
<el-input
v-model="queryParams.userName"
placeholder="请输入用户名称"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="手机号码" prop="phonenumber">
<el-input
v-model="queryParams.phonenumber"
placeholder="请输入手机号码"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item>
<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-form-item>
</el-form>
<el-row>
<el-table @row-click="clickRow" ref="table" :data="userList" @selection-change="handleSelectionChange" height="260px">
<el-table-column type="selection" width="55"></el-table-column>
<el-table-column label="用户名称" prop="userName" :show-overflow-tooltip="true" />
<el-table-column label="用户昵称" prop="nickName" :show-overflow-tooltip="true" />
<el-table-column label="邮箱" prop="email" :show-overflow-tooltip="true" />
<el-table-column label="手机" prop="phonenumber" :show-overflow-tooltip="true" />
<el-table-column label="状态" align="center" prop="status">
<template slot-scope="scope">
<dict-tag :options="dict.type.sys_normal_disable" :value="scope.row.status"/>
</template>
</el-table-column>
<el-table-column label="创建时间" align="center" prop="createTime" width="180">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.createTime) }}</span>
</template>
</el-table-column>
</el-table>
<pagination
v-show="total>0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
</el-row>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="handleSelectUser">确 定</el-button>
<el-button @click="visible = false">取 消</el-button>
</div>
</el-dialog>
</template>
<script>
import { unallocatedUserList, authUserSelectAll } from "@/api/system/role";
export default {
dicts: ['sys_normal_disable'],
props: {
// 角色编号
roleId: {
type: [Number, String]
}
},
data() {
return {
// 遮罩层
visible: false,
// 选中数组值
userIds: [],
// 总条数
total: 0,
// 未授权用户数据
userList: [],
// 查询参数
queryParams: {
pageNum: 1,
pageSize: 10,
roleId: undefined,
userName: undefined,
phonenumber: undefined
}
};
},
methods: {
// 显示弹框
show() {
this.queryParams.roleId = this.roleId;
this.getList();
this.visible = true;
},
clickRow(row) {
this.$refs.table.toggleRowSelection(row);
},
// 多选框选中数据
handleSelectionChange(selection) {
this.userIds = selection.map(item => item.userId);
},
// 查询表数据
getList() {
unallocatedUserList(this.queryParams).then(res => {
this.userList = res.rows;
this.total = res.total;
});
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1;
this.getList();
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm("queryForm");
this.handleQuery();
},
/** 选择授权用户操作 */
handleSelectUser() {
const roleId = this.queryParams.roleId;
const userIds = this.userIds.join(",");
if (userIds == "") {
this.$modal.msgError("请选择要分配的用户");
return;
}
authUserSelectAll({ roleId: roleId, userIds: userIds }).then(res => {
this.$modal.msgSuccess(res.msg);
if (res.code === 200) {
this.visible = false;
this.$emit("ok");
}
});
}
}
};
</script>
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