提交 2b95cb0f 编写于 作者: huangwensu's avatar huangwensu

菜单展开

上级 459d18ed
...@@ -3,14 +3,14 @@ ...@@ -3,14 +3,14 @@
<el-menu :default-active="onRoutes" class="el-menu-vertical-demo" theme="dark" unique-opened router> <el-menu :default-active="onRoutes" class="el-menu-vertical-demo" theme="dark" unique-opened router>
<template v-for="(item, index) in items"> <template v-for="(item, index) in items">
<template v-if="item.subs"> <template v-if="item.subs">
<el-submenu :index="'index_' + index"> <el-submenu :index="'index_' + index" :key="index">
<template slot="title"><i :class="item.icon"></i>{{ item.title }}</template> <template slot="title"><i :class="item.icon"></i>{{ item.title }}</template>
<el-menu-item v-for="(subItem,i) in item.subs" :key="i" :index="subItem.index">{{ subItem.title}} <el-menu-item v-for="(subItem,i) in item.subs" :key="i" :index="subItem.index">{{ subItem.title}}
</el-menu-item> </el-menu-item>
</el-submenu> </el-submenu>
</template> </template>
<template v-else> <template v-else>
<el-menu-item :index="item.index"> <el-menu-item :index="item.index" :key="index">
<i :class="item.icon"></i>{{ item.title }} <i :class="item.icon"></i>{{ item.title }}
</el-menu-item> </el-menu-item>
</template> </template>
...@@ -20,7 +20,16 @@ ...@@ -20,7 +20,16 @@
</template> </template>
<script> <script>
import {isEmptyUtils, isNotEmptyUtils, errorResponseCheck, responseCheck, openLoading, closeLoading, messageBox, getConstantList, isNotEmptyList} from '../../common/utils'; import {
isEmptyUtils,
isNotEmptyUtils,
errorResponseCheck,
responseCheck,
openLoading,
closeLoading,
messageBox,
getConstantList,
isNotEmptyList } from '../../common/utils';
import menuApi from '../../api/menu' import menuApi from '../../api/menu'
...@@ -56,19 +65,6 @@ ...@@ -56,19 +65,6 @@
responseCheck(res, self); responseCheck(res, self);
// console.log("获取菜单成功===========",res); // console.log("获取菜单成功===========",res);
self.items = res.data.data.picapMenuModels; self.items = res.data.data.picapMenuModels;
// 敏感数据查看系统 测试 Start <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 开发前期写死的,后续改成接口获取
// self.items = [{
// icon: null,
// index: "#",
// subs: [
// {icon: null, index: "data-in", title: "数据导入", subs: []},
// {icon: null, index: "data-view", title: "数据查看", subs: []},
// ],
// title: "敏感数据",
// }]
// 敏感数据查看系统 测试 End <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
let data = JSON.parse(JSON.stringify(res.data.data));//通过这个实现深拷贝 let data = JSON.parse(JSON.stringify(res.data.data));//通过这个实现深拷贝
localStorage.setItem("privilege_data", JSON.stringify(data.picapMenuModels)); localStorage.setItem("privilege_data", JSON.stringify(data.picapMenuModels));
localStorage.setItem("user_name", data.user_name); localStorage.setItem("user_name", data.user_name);
...@@ -84,7 +80,7 @@ ...@@ -84,7 +80,7 @@
}, },
computed: { computed: {
onRoutes() { onRoutes() {
return this.$route.path.replace('/', ''); return this.$route.path;
} }
} }
} }
......
<template>
<el-dialog :title="title" :visible.sync="showModal" width="700px" @close="close" center>
<el-form ref="form" :model="form" label-width="150px" size="medium " :rules="rules">
<el-form-item label="项目名称" prop="projectMainId">
<el-select v-model="form.projectMainId" placeholder="请选择项目名称">
<el-option v-for="item in pNameList" :key="item.id" :label="item.name" :value="item.id"></el-option>
</el-select>
</el-form-item>
<el-form-item label="审批编号" prop="dingdingNumber">
<el-input
style="width:220px"
:disabled="handleType=='2'"
:maxlength="21"
v-model="form.dingdingNumber"
placeholder="请输入内容"
></el-input>
</el-form-item>
<el-form-item label="申请日期" prop="dingdingDate">
<el-date-picker
v-model="form.dingdingDate"
:disabled="handleType=='2'"
value-format="yyyy-MM-dd"
type="date"
placeholder="选择日期"
></el-date-picker>
</el-form-item>
<el-form-item label="sheet名称" prop="dataSheetName">
<el-input
style="width:220px"
:disabled="handleType=='2'"
v-model="form.dataSheetName"
placeholder="请输入sheet名称"
></el-input>
</el-form-item>
<el-form-item label="数据需求方类型" prop="dataType">
<el-radio-group v-model="form.dataType" :disabled="handleType=='2'" @change="changeinout">
<el-radio :label="1" style="margin-right:50px">内部</el-radio>
<el-radio :label="2">外部</el-radio>
</el-radio-group>
</el-form-item>
<div class="insiders-wrap">
<template v-if="form.dataType == 1">
<el-form-item label="数据需求方姓名" prop="needIds">
<el-select v-model="form.needIds" multiple filterable placeholder="请选择">
<el-option
v-for="item in needIdsList"
:key="item.id"
:label="item.name"
:value="item.id"
></el-option>
</el-select>
</el-form-item>
</template>
<template v-if="form.dataType == 2">
<el-form-item label="数据需求方姓名" prop="name">
<el-input style="width:200px" v-model="form.name" placeholder="请输入内容"></el-input>
</el-form-item>
<el-form-item label="数据需求方手机号" prop="mobilePhone">
<el-input style="width:200px" v-model="form.mobilePhone" placeholder="请输入内容"></el-input>
</el-form-item>
</template>
<el-form-item label="敏感信息查看" prop="sensitiveDataType">
<el-radio-group v-model="form.sensitiveDataType">
<el-radio :label="1" style="margin-right:50px"></el-radio>
<el-radio :label="2"></el-radio>
</el-radio-group>
</el-form-item>
<!-- 新增 导出次数 -->
<el-form-item label="导出次数" prop="exportCount">
<div>
<el-input style="width:200px" v-model="form.exportCount" placeholder="请输入导出次数"></el-input>
</div>
<div>备注:0代表没有导出权限</div>
</el-form-item>
<el-form-item label="数据需求角色" prop="dataRole">
<el-radio-group v-model="form.dataRole" :disabled="disableAdmintype">
<el-radio :label="1">管理员</el-radio>
<el-radio :label="2">普通用户</el-radio>
</el-radio-group>
</el-form-item>
<template v-if="form.dataRole==1">
<el-form-item label="数据分发人员" prop="ids">
<el-select v-model="form.ids" multiple filterable placeholder="请选择">
<el-option v-for="item in idsList" :key="item.id" :label="item.name" :value="item.id"></el-option>
</el-select>
</el-form-item>
<!-- 新增 分发人员导出次数 -->
<el-form-item label="分发人员导出次数" prop="distributeExportCount">
<div>
<el-input
style="width:200px"
v-model="form.distributeExportCount"
placeholder="请输入分发人员导出次数"
></el-input>
</div>
<div>备注:0代表没有导出权限</div>
</el-form-item>
</template>
</div>
<template v-if="handleType=='1'">
<el-form-item label="文件上传" prop="fileId">
<el-upload
v-model="form.fileId"
drag
:action="returnActionUrl()"
:limit="1"
:headers="uploadHeaders"
:on-success="uploadSuccess"
:before-upload="beforeUpload"
class="upload-demo"
>
<i class="el-icon-upload"></i>
<div class="el-upload__text">
<em>点击上传</em>
</div>
</el-upload>
</el-form-item>
</template>
<template v-if="handleType=='2'">
<el-form-item label="文件上传">
<span>{{form.fileName}}</span>
</el-form-item>
</template>
<p class="txt-center">请确保第一列为手机号</p>
<el-form-item label="数据有效期" prop="dataTermValidity">
<el-date-picker
v-model="form.dataTermValidity"
value-format="yyyy-MM-dd"
type="date"
placeholder="选择日期"
></el-date-picker>
</el-form-item>
<el-form-item label="数据访问次数" prop="dataCount">
<div>
<el-input style="width:200px" v-model="form.dataCount" placeholder="请输入内容"></el-input>
</div>
<div>备注:0表示无限制</div>
</el-form-item>
<el-form-item label="敏感信息所在位置" prop="sensitiveDataColumn">
<div>
<el-input style="width:200px" v-model="form.sensitiveDataColumn" placeholder="请输入内容"></el-input>
</div>
<div>备注:多个以英文分号隔开</div>
</el-form-item>
</el-form>
<span slot="footer" class="dialog-footer">
<el-button @click="showModal=false">取 消</el-button>
<el-button type="primary" @click="submitForm('form')">确 定</el-button>
</span>
</el-dialog>
</template>
<script>
import { baseUrl } from "../../api/hostconfig";
import { openLoading, closeLoading } from "../../common/utils";
export default {
props: {
form: Object,
rules: Object,
handleType: String,
},
data() {
return {
title: "", // 表单title
baseUrl,
pNameList: [],
disableAdmintype: false,
needIdsList: [],
idsList: [],
showModal: true,
uploadHeaders: {
token: window.localStorage.getItem('token')
// token: "587657450F884CAAA62B3B39106B64E7",
},
};
},
created() {
// 获取数据需求方类型为内部时的需求方姓名列表
this.getData("get", `/sensitive/info/employee`, {}, (data) => {
this.needIdsList = data.data;
this.idsList = data.data;
});
// 数据导入时,获取项目名称列表
this.getData("get", `/sensitive/projectMain/getAll`, {}, (data) => {
this.pNameList = data.data;
});
this.title = this.handleType == "1" ? "数据导入" : "数据修改";
},
watch: {
"form.dataType"(val) {
if (val == 2) {
this.form.dataRole = 2;
this.disableAdmintype = true;
} else if (val == 1) {
}
},
"form.dataRole"(val) {
this.form.dataRole = val;
if (val == 1) {
this.disableAdmintype = false;
// 获取数据分发人员
this.getData("get", `/sensitive/info/employee`, {}, (data) => {
this.idsList = data.data;
});
} else {
if (this.form.dataType == 2) {
this.disableAdmintype = true;
}
}
},
},
methods: {
// 切换数据需求方类型为【内部】【外部】
changeinout(value) {
console.log("handle value: ", value);
},
returnActionUrl() {
return localStorage.getItem("lectureUrl") + "/sensitive/import/file";
},
// 上传成功
uploadSuccess(res, file, fileList) {
this.form.fileId = res.data;
this.$refs.form.validateField("fileId");
},
beforeUpload(file) {
var FileExt = file.name.replace(/.+\./, "");
if (["xls", "xlsx"].indexOf(FileExt.toLowerCase()) === -1) {
this.$message({
type: "warning",
message: "请上传后缀名为xls,xlsx的原文件!",
});
return false;
}
},
close() {
this.$emit("close");
},
submitForm(formName) {
console.log("createData.submitForm() : formName = " + formName);
this.$refs[formName].validate((valid) => {
if (valid) {
if (this.handleType == "1") {
this.getData(
"post",
"/sensitive/import/data",
this.form,
(data) => {
setTimeout(() => {
this.$emit("saveSuccess");
this.$emit("close");
}, 300);
}
);
} else {
console.log("createData.submitForm() : this.form = " + this.form);
this.getData("put", "/sensitive/import/data", this.form, (data) => {
setTimeout(() => {
this.$emit("saveSuccess");
this.$emit("close");
}, 300);
});
}
} else {
this.$message.error("请正确填写信息");
return false;
}
});
},
// 封装一下请求通用的方法
getData(type, url, req, callback) {
openLoading(this);
this.$axios[type](localStorage.getItem("lectureUrl") + url, req)
.then((res) => {
closeLoading(this);
let data = res.data;
if (data.code == "000000") {
if (callback) callback(data);
} else {
this.$message.error(data.message);
}
})
.catch((error) => {
closeLoading(this);
this.$message.error("网络出现点问题");
});
},
},
};
</script>
<style scoped>
.txt-center {
/* text-align: center; */
margin-left: 170px;
margin-bottom: 20px;
color: red;
}
</style>
\ No newline at end of file
<template>
<el-dialog title="数据修改" :visible.sync="showModal" width="750px" @close="close" center>
<el-form ref="form" :model="form">
<el-form-item label="审批编号">
<el-input style="width:220px" v-model="form.dingdingNumber" placeholder="请输入内容" required></el-input>
</el-form-item>
<el-form-item label="申请日期">
<el-date-picker v-model="form.dingdingDate" type="date" placeholder="选择日期"></el-date-picker>
</el-form-item>
<el-form-item label="sheet名称">
<el-select v-model="form.dataSheetName" placeholder="请选择">
<el-option
v-for="item in options"
:key="item"
:label="item"
:value="item"
></el-option>
</el-select>
</el-form-item>
<el-form-item label="数据需求方类型">
<el-radio-group v-model="form.dataType" @change="changeinout">
<el-radio :label="1">内部</el-radio>
<el-radio :label="2">外部</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="数据需求方姓名">
<el-input style="width:200px" v-model="form.reviseName" placeholder="请输入内容"></el-input>
</el-form-item>
<el-form-item label="数据需求方手机号">
<el-input style="width:200px" v-model="form.revisePhone" placeholder="请输入内容"></el-input>
</el-form-item>
<el-form-item label="敏感信息查看">
<el-radio v-model="form.warning_radio" label="1">&#12288;&#12288;</el-radio>
<el-radio v-model="form.warning_radio" label="2"></el-radio>
</el-form-item>
<el-form-item label="分发人员">
<el-select v-model="form.revisemsgSend" filterable placeholder="请选择">
<el-option
v-for="item in options"
:key="item.revisemsgSend"
:label="item.label"
:value="item.revisemsgSend"
></el-option>
</el-select>
</el-form-item>
<el-form-item label="数据有效期">
<el-date-picker
v-model="form.reviseUsefulDate"
type="daterange"
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期"
></el-date-picker>
</el-form-item>
<el-form-item label="数据访问次数">
<!-- <span>数据访问次数&#12288;&#12288;</span> -->
<el-input style="width:200px" v-model="form.dataCount" placeholder="请输入内容"></el-input>
</el-form-item>
<el-form-item label="敏感信息所在位置">
<!-- <span>敏感信息所在位置</span> -->
<el-input style="width:200px" v-model="form.reviseSensitivePosition" placeholder="请输入内容"></el-input>
</el-form-item>
</el-form>
<span slot="footer" class="dialog-footer">
<el-button @click="showModal=false">取 消</el-button>
<el-button type="primary" @click="submitForm('form')">确 定</el-button>
</span>
</el-dialog>
</template>
<script>
export default{
props: {
form: Object,
rules: Object
},
data(){
return {
options: [
{
value: "选项1",
label: "黄金糕"
},
{
value: "选项2",
label: "双皮奶"
},
{
value: "选项3",
label: "蚵仔煎"
},
{
value: "选项4",
label: "龙须面"
}
],
showModal: true
}
},
methods: {
// 切换数据需求方类型为【内部】【外部】
changeinout(value) {
console.log("handle value: ", value);
},
beforeUpload(file) {
var FileExt = file.name.replace(/.+\./, "");
if (["xls", "xlsx"].indexOf(FileExt.toLowerCase()) === -1) {
this.$message({
type: "warning",
message: "请上传后缀名为xls,xlsx的原文件!"
});
return false;
}
},
close(){
this.$emit('close')
},
submitForm(formName) {
this.$refs[formName].validate(valid => {
if (valid) {
alert("submit!");
} else {
console.log("error submit!!");
return false;
}
});
console.log("submitform触发");
},
}
}
</script>
\ No newline at end of file
...@@ -33,7 +33,7 @@ export default new Router({ ...@@ -33,7 +33,7 @@ export default new Router({
path: '/strategy-edit', path: '/strategy-edit',
component: resolve => require(['../views/strategy-data/strategy-edit.vue'], resolve), component: resolve => require(['../views/strategy-data/strategy-edit.vue'], resolve),
},{ },{
path: '/order-list', path: '/order-list', // 云药房订单
component: resolve => require(['../views/order-list/order-list.vue'], resolve), component: resolve => require(['../views/order-list/order-list.vue'], resolve),
},{ },{
path: '/order-detail', path: '/order-detail',
......
...@@ -51,7 +51,7 @@ ...@@ -51,7 +51,7 @@
width="30%" width="30%"
center> center>
<el-form ref="importForm" :model="addParam" label-suffix=":" label-width="80px"> <el-form ref="importForm" :model="addParam" label-suffix=":" label-width="80px">
<el-form-item label="手机号"> <el-form-item label="手机号" required>
<el-input v-model="addParam.mobilePhone" style="width: 300px;"></el-input> <el-input v-model="addParam.mobilePhone" style="width: 300px;"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="添加理由"> <el-form-item label="添加理由">
...@@ -146,27 +146,11 @@ export default { ...@@ -146,27 +146,11 @@ export default {
this.search(); this.search();
}, },
methods: { methods: {
// 封装一下请求通用的方法
getData(type, url, req, callback) {
//openLoading(this);
this.$axios[type](localStorage.getItem("lectureUrl") + url, req)
.then(res => {
//closeLoading(this);
let data = res.data;
if (data.code == "000000") {
if (callback) callback(data);
} else {
this.$message.error(data.message);
}
});
},
search(param) { search(param) {
openLoading(this);
if(param) this.searchParam.pageNo = 1; if(param) this.searchParam.pageNo = 1;
getData(this, getData(this,
"get", `/riskcontrol/blacklist/list?searchName=${this.searchParam.searchName}&pageNo=${this.searchParam.pageNo}&pageSize=${this.searchParam.pageSize}`, {}, "get", `/riskcontrol/blacklist/list?searchName=${this.searchParam.searchName}&pageNo=${this.searchParam.pageNo}&pageSize=${this.searchParam.pageSize}`, {},
data => { data => {
closeLoading(this);
this.tableData = data.data.blackListResps; this.tableData = data.data.blackListResps;
this.totalRows = data.data.total; this.totalRows = data.data.total;
} }
...@@ -175,10 +159,8 @@ export default { ...@@ -175,10 +159,8 @@ export default {
// 批量导入 // 批量导入
importBatch() { importBatch() {
this.importDialogVisible = true; this.importDialogVisible = true;
this.importError = false;
}, },
// returnActionUrl() {
// return localStorage.getItem("lectureUrl") + "/riskcontrol/blacklist/import";
// },
// 判断有没有导入文件 // 判断有没有导入文件
confirmImport() { confirmImport() {
let req = { let req = {
......
...@@ -51,7 +51,7 @@ ...@@ -51,7 +51,7 @@
width="30%" width="30%"
center> center>
<el-form ref="importForm" :model="addParam" label-suffix=":" label-width="80px"> <el-form ref="importForm" :model="addParam" label-suffix=":" label-width="80px">
<el-form-item label="手机号"> <el-form-item label="手机号" required>
<el-input v-model="addParam.mobilePhone" style="width: 300px;"></el-input> <el-input v-model="addParam.mobilePhone" style="width: 300px;"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="添加理由"> <el-form-item label="添加理由">
...@@ -192,6 +192,7 @@ export default { ...@@ -192,6 +192,7 @@ export default {
// 批量导入 // 批量导入
importBatch() { importBatch() {
this.importDialogVisible = true; this.importDialogVisible = true;
this.importError = false;
}, },
// 判断有没有导入文件 // 判断有没有导入文件
confirmImport() { confirmImport() {
......
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册