提交 eb9ccc1e 编写于 作者: zhentian.jia's avatar zhentian.jia

角色管理页面逻辑

上级 22e419da
...@@ -141,5 +141,17 @@ const vueFilter = { ...@@ -141,5 +141,17 @@ const vueFilter = {
return '已拒绝' return '已拒绝'
} }
}, },
projeceRoleType: (value) => {
if(value == "L1") {
return '内部管理员'
}else if(value == "L2") {
return '项目负责人'
}else if(value == "L3") {
return '次级负责人'
} else if(value == "L4") {
return '普通用户'
}
},
} }
export default vueFilter export default vueFilter
\ No newline at end of file
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
<div style="margin: 10px 0 0 10px"> <div style="margin: 10px 0 0 10px">
<el-form :inline="true" :model="formInline" class="demo-form-inline"> <el-form :inline="true" :model="formInline" class="demo-form-inline">
<el-form-item label="项目名称:"> <el-form-item label="项目名称:">
<el-input v-model="formInline.projectName" size="mini" placeholder="审批人"></el-input> <el-input v-model="formInline.projectName" size="mini" placeholder="请输入项目名称"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="项目时间:"> <el-form-item label="项目时间:">
<el-date-picker <el-date-picker
...@@ -215,6 +215,7 @@ export default { ...@@ -215,6 +215,7 @@ export default {
setParam(data) { setParam(data) {
let param = {}; let param = {};
if ( if (
data.duringTime !== null &&
data.duringTime !== "" && data.duringTime !== "" &&
data.duringTime[0] !== null && data.duringTime[0] !== null &&
data.duringTime[1] !== null data.duringTime[1] !== null
......
...@@ -5,12 +5,12 @@ ...@@ -5,12 +5,12 @@
<div class="header-title">查询条件</div> <div class="header-title">查询条件</div>
<el-row :gutter="30" class="row" type="flex" style="margin-top: 10px;"> <el-row :gutter="30" class="row" type="flex" style="margin-top: 10px;">
<el-form ref="serchForm" :model="formInline" label-width="75px" class="form-inline"> <el-form ref="serchForm" :model="formInline" label-width="75px" class="form-inline">
<el-col :span="5"> <el-col :span="6">
<el-form-item label="姓名:"> <el-form-item label="姓名:">
<el-input size="mini" v-model="formInline.name" placeholder="审批人"></el-input> <el-input size="mini" v-model="formInline.name" placeholder="审批人"></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="5"> <el-col :span="6">
<el-form-item label="所属机构:"> <el-form-item label="所属机构:">
<el-select size="mini" v-model="formInline.organization" placeholder="请选择所属机构"> <el-select size="mini" v-model="formInline.organization" placeholder="请选择所属机构">
<el-option label="机构1" value="organization1"></el-option> <el-option label="机构1" value="organization1"></el-option>
...@@ -18,7 +18,7 @@ ...@@ -18,7 +18,7 @@
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="5"> <el-col :span="6">
<el-form-item label="所属科室:"> <el-form-item label="所属科室:">
<el-select size="mini" v-model="formInline.department" placeholder="请选择所属科室"> <el-select size="mini" v-model="formInline.department" placeholder="请选择所属科室">
<el-option label="科室1" value="department1"></el-option> <el-option label="科室1" value="department1"></el-option>
...@@ -26,9 +26,9 @@ ...@@ -26,9 +26,9 @@
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="6" style="padding:0;text-align:right;padding-right:15px;"> <el-col :span="6" style="padding:0;text-align:right;padding-right:10px;">
<el-button type="primary" size="small" @click="search">查询</el-button> <el-button type="primary" size="small" @click="queryRoleList()">查询</el-button>
<el-button type="default" size="small" @click="reseat" style="margin-left:0;">重置</el-button> <el-button type="default" size="small" @click="reseat()" style="margin-left:0;">重置</el-button>
</el-col> </el-col>
</el-form> </el-form>
</el-row> </el-row>
...@@ -37,15 +37,35 @@ ...@@ -37,15 +37,35 @@
:data="tableData" :data="tableData"
:header-cell-style="{background:'#FAFAFA',color:'#000'}" :header-cell-style="{background:'#FAFAFA',color:'#000'}"
> >
<el-table-column prop="id" label="用户ID" align="center"></el-table-column> <el-table-column prop="userId" label="用户ID" align="center"></el-table-column>
<el-table-column prop="name" label="姓名" align="center"></el-table-column> <el-table-column prop="userName" label="姓名" align="center"></el-table-column>
<el-table-column prop="role" label="角色" align="center"></el-table-column> <el-table-column prop="projeceRole" label="角色" align="center">
<el-table-column prop="organization" label="所属机构" align="center"></el-table-column> <template slot-scope="scope">
<el-table-column prop="department" label="科室" align="center"></el-table-column> <span>{{ scope.row.projeceRole | projeceRoleType }}</span>
</template>
</el-table-column>
<el-table-column prop="organizationName" label="所属机构" align="center"></el-table-column>
<el-table-column prop="departmentsName" label="科室" align="center"></el-table-column>
<el-table-column fixed="right" label="操作" width="300" align="center"> <el-table-column fixed="right" label="操作" width="300" align="center">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button type="primary" size="small" @click="toPage(scope)">升级项目负责人</el-button> <el-button
<el-button type="primary" size="small" @click="toPage(scope)">降为普通用户</el-button> type="primary"
size="small"
v-show="showButton(scope.row,'L2')"
@click="openDialog(scope.row,'L2')"
>升级项目负责人</el-button>
<el-button
type="primary"
size="small"
v-show="showButton(scope.row,'L3')"
@click="openDialog(scope.row,'L3')"
>升级次级负责人</el-button>
<el-button
type="primary"
size="small"
v-show="showButton(scope.row,'L4')"
@click="openDialog(scope.row,'L4')"
>降为普通用户</el-button>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
...@@ -54,30 +74,52 @@ ...@@ -54,30 +74,52 @@
background background
@size-change="handleSizeChange" @size-change="handleSizeChange"
@current-change="handleCurrentChange" @current-change="handleCurrentChange"
:current-page="currentPage" :current-page="formInline.pageNo"
:page-sizes="[100, 200, 300, 400]" :page-sizes="[100, 200, 300, 400]"
:page-size="100" :page-size="formInline.pageSize"
layout="total, sizes, prev, pager, next, jumper" layout="total, sizes, prev, pager, next, jumper"
:total="400" :total="totalRows"
></el-pagination> ></el-pagination>
</div> </div>
<el-dialog title :visible.sync="dialog.show" width="30%" center>
<p class="dialog-p">
确认将{{ dialog.role }}
<span class="user-name">"{{ dialog.name }}"</span>
{{ dialog.option }}吗?"
</p>
<span slot="footer" class="dialog-footer">
<el-button type="default" size="small" @click="dialog.show = false">取消</el-button>
<el-button type="primary" size="small" @click="changeRole()">确定</el-button>
</span>
</el-dialog>
<el-dialog title :visible.sync="dialogFull" width="30%" center>
<p class="dialog-p">
无法操作,项目负责人已满
<span class="user-name">5人</span>
</p>
<span slot="footer" class="dialog-footer">
<el-button type="default" size="small" @click="dialogFull = false">取消</el-button>
<el-button type="primary" size="small" @click="dialogFull = false">确定</el-button>
</span>
</el-dialog>
</div> </div>
</div> </div>
</template> </template>
<script> <script>
import BreadCrumb from "../../components/breadcrumb.vue"; import BreadCrumb from "../../components/breadcrumb.vue";
import { create } from "domain"; import { create } from "domain";
let vm = null;
export default { export default {
components: { components: {
BreadCrumb BreadCrumb
}, },
data() { data() {
const item = { const item = {
id: "298490", userId: "298490",
name: "李雪", userName: "李雪",
role: "项目负责人", projeceRole: "L4",
organization: "浙江省人民医院", organizationName: "浙江省人民医院",
department: "外科" departmentsName: "外科"
}; };
return { return {
curmbFirst: "系统管理", curmbFirst: "系统管理",
...@@ -86,31 +128,106 @@ export default { ...@@ -86,31 +128,106 @@ export default {
tableData: Array(10).fill(item), tableData: Array(10).fill(item),
loading: false, loading: false,
timingTime: "", timingTime: "",
totalRows: 0,
currentPage: 1, currentPage: 1,
formInline: { formInline: {
name: "", portalProjectId: "",
role: "", pageNo: 1,
organization: "", pageSize: 10,
department: "" departmentsName: "",
organizationName: "",
projeceRole: "",
userName: ""
}, },
dialog: {
show: false,
role: "项目负责人",
name: "李雷",
option: "升级为项目负责人",
full: false
},
dialogFull: false
}; };
}, },
created() {}, created() {
vm = this;
this.queryRoleList();
},
methods: { methods: {
toPage() { //查询用户列表
this.$router.push("item-role"); queryRoleList() {
this.formInline.portalProjectId = vm.getUrlSearch(
window.location.href,
"portalProjectId"
);
if (this.formInline.portalProjectId == null) {
this.formInline.portalProjectId = "";
}
let req = {};
req = this.formInline;
console.log(req);
vm.GET("portalProjectOrRole/queryRoleList", req).then(res => {
if (res.code == "000000") {
vm.tableData = res.data;
vm.totalRows = res.data.total;
this.loading = false;
}
});
}, },
changeRole(row) {},
handleSizeChange(val) { handleSizeChange(val) {
console.log(`每页 ${val} 条`); console.log(`每页 ${val} 条`);
}, },
handleCurrentChange(val) { handleCurrentChange(val) {
console.log(`当前页: ${val}`); console.log(`当前页: ${val}`);
}, },
search() { search() {},
reseat() {},
//按钮展示情况
showButton(row, projeceRole) {
let flag = false;
//console.log("当前等级 " + row.projeceRole + " 改变成等级 " + projeceRole);
if (row.projeceRole == "L2") {
if (projeceRole == "L4") {
flag = true;
}
} else if (row.projeceRole == "L3") {
if (projeceRole == "L2" || projeceRole == "L4") {
flag = true;
}
} else if (row.projeceRole == "L4") {
if (projeceRole == "L2" || projeceRole == "L3") {
flag = true;
}
}
return flag;
}, },
reseat() { //打开弹出框
openDialog(row, projeceRole) {
this.dialog.show = true;
this.dialog.name = row.userName;
if (row.projeceRole == "L2") {
this.dialog.role = "项目负责人";
if (projeceRole == "L4") {
this.dialog.option = "降级为普通用户";
}
} else if (row.projeceRole == "L3") {
this.dialog.role = "次级负责人";
if (projeceRole == "L2") {
this.dialog.option = "升级为项目负责人";
this.dialogFull = true;
} else if (projeceRole == "L4") {
this.dialog.option = "降级为普通用户";
}
} else if (row.projeceRole == "L4") {
this.dialog.role = "普通用户";
if (projeceRole == "L2") {
this.dialog.option = "升级为项目负责人";
this.dialogFull = true;
} else if (projeceRole == "L3") {
this.dialog.option = "升级为次级负责人";
}
}
} }
} }
}; };
...@@ -129,21 +246,11 @@ export default { ...@@ -129,21 +246,11 @@ export default {
color: #449284; color: #449284;
border-bottom: 1px solid #efefef; border-bottom: 1px solid #efefef;
} }
.to-right { .dialog-p {
float: right; text-align: center;
} span {
.table-option span { color: #449284;
color: #409eff; }
}
.add-button {
float: right;
}
.el-table .cell {
color: #929292;
}
.el-table th > .cell {
font-weight: bold;
color: #000;
} }
} }
} }
......
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
<el-form ref="formInline" :model="formInline" label-width="75px" style="width:100%;"> <el-form ref="formInline" :model="formInline" label-width="75px" style="width:100%;">
<el-col :span="6"> <el-col :span="6">
<el-form-item label="项目名称:"> <el-form-item label="项目名称:">
<el-input v-model="formInline.projectName" size="mini" placeholder="审批人"></el-input> <el-input v-model="formInline.projectName" size="mini" placeholder="请输入项目名称"></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="6"> <el-col :span="6">
...@@ -46,7 +46,7 @@ ...@@ -46,7 +46,7 @@
</el-table-column> </el-table-column>
<el-table-column fixed="right" label="操作" width="200" align="center"> <el-table-column fixed="right" label="操作" width="200" align="center">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button type="primary" size="small" @click="toPage(scope)">查看项目人员</el-button> <el-button type="primary" size="small" @click="toPage(scope.row)">查看项目人员</el-button>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
...@@ -74,20 +74,10 @@ export default { ...@@ -74,20 +74,10 @@ export default {
BreadCrumb BreadCrumb
}, },
data() { data() {
const item = {
id: "298490",
projectName: "浙江省防控中心指空中...",
createName: "李雷",
projectBrief: "显示项目简介简介",
address: "浙江省",
startTime: "2018-12-15 15:39:23",
endTime: "2018-12-15 15:39:23",
state: "草稿"
};
return { return {
curmbFirst: "系统管理", curmbFirst: "系统管理",
curmbSecond: "角色管理", curmbSecond: "角色管理",
tableData: Array(10).fill(item), tableData: [],
loading: false, loading: false,
timingTime: "", timingTime: "",
currentPage: 1, currentPage: 1,
...@@ -144,8 +134,8 @@ export default { ...@@ -144,8 +134,8 @@ export default {
}); });
}, },
reseat() {}, reseat() {},
toPage() { toPage(row) {
this.$router.push("item-role"); this.$router.push("item-role?portalProjectId=" + row.id);
}, },
handleSizeChange(val) { handleSizeChange(val) {
console.log(`每页 ${val} 条`); console.log(`每页 ${val} 条`);
......
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册