提交 96b23c5f 编写于 作者: bo.dang's avatar bo.dang

Merge branch 'dev-circle-seven-1-20200929' into 'release'

小生态互动直播9月29日迭代,code review:bo.dang



See merge request !221
......@@ -167,14 +167,16 @@ export default {
localStorage.removeItem('mainManager');
localStorage.removeItem('manager');
localStorage.removeItem('ordinary');
localStorage.removeItem('createCircle');
getCircleRole({}).then((res) => {
if(res.code == '000000') {
//mainManager主管理员,manager管理员,ordinary普通人
const { highMainManager, mainManager, manager, ordinary} = res.data;
const { highMainManager, mainManager, manager, ordinary, createCircle} = res.data;
localStorage.setItem('highMainManager', vm.setStoreData(highMainManager))
localStorage.setItem('mainManager', vm.setStoreData(mainManager))
localStorage.setItem('manager', vm.setStoreData(manager))
localStorage.setItem('ordinary', vm.setStoreData(ordinary))
localStorage.setItem('createCircle', vm.setStoreData(createCircle))
} else {
vm.$message.info(res.message)
}
......
......@@ -7,7 +7,8 @@ const blank = r => require.ensure([], () => r(require('../views/blank')), 'blank
const itemManager = r => require.ensure([], () => r(require('../views/education/item-manager.vue')), 'item-manager')
const itemComponent = r => require.ensure([], () => r(require('../views/education/item-component.vue')), 'item-component')
const createComponent = r => require.ensure([], () => r(require('../views/education/create-component.vue')),'create-component')
const roleManager = r => require.ensure([], () => r(require('../views/system/role.vue')),'role')
const roleManager = r => require.ensure([], () => r(require('../views/system/role.vue')), 'role')
const circleLimit = r => require.ensure([], () => r(require('../views/system/circle-limit.vue')), 'circle-limit')
const addManager = r => require.ensure([], () => r(require('../views/education/add-manager.vue')), 'add-manager')
const editManager = r => require.ensure([], () => r(require('../views/education/edit-manager.vue')), 'edit-manager')
const itemRole = r => require.ensure([], () => r(require('../views/system/item-role.vue')), 'item-role')
......@@ -121,6 +122,9 @@ export default [{
},{
path: '/role',
component: roleManager
},{
path: '/circle-limit',
component: circleLimit
},{
path: '/create-component',
component: createComponent
......
......@@ -187,4 +187,14 @@ export const handleExportReq = (data) => {
data: data,
description: '导出',
})
}
export const circleMenu= (data) => {
return fetch({
headers,
url: getBaseUrl(`circle/circle/judge/menu`),
method: 'get',
data: data,
description: '判断用户是否有创建圈子菜单权限',
})
}
\ No newline at end of file
......@@ -523,15 +523,34 @@ const vueFilter = {
return '-'
}
},
streamTypeFilter: (value) => {
if (value == 1) {
return '网页直播'
}else if (value == 2) {
return '拉流直播'
}else {
return '-'
}
},
streamTypeFilter: (value) => {
if (value == 1) {
return '网页直播'
}else if (value == 2) {
return '拉流直播'
}else {
return '-'
}
},
setDepartment: (value) => {
if(value == 0) {
return '铁军部'
} else if (value == 1) {
return '医疗事业部'
} else if (value == 2) {
return '商业化部'
} else {
return ''
}
},
setFlag: (value) => {
if (value == 1) {
return '已开通'
} else {
return '未开通'
}
},
}
export default vueFilter
......@@ -52,7 +52,7 @@
import { mapGetters } from 'vuex'
import { setTimeout } from 'timers'
import { isNotEmptyUtils } from '../../utils/utils'
import { getUserTypeReq } from '@/utils/cme/cmeApi'
import { getUserTypeReq, circleMenu } from '@/utils/cme/cmeApi'
import { getCircleRole } from '@/utils/patients/patientsapi'
import { queryShopAuth } from '@/utils/shop';
......@@ -171,6 +171,7 @@
vm.getRoleObj();
}
vm.setShopSide()
vm.setCircleSlide()
// vm.getGoodsAuth();
},
watch: {
......@@ -235,13 +236,15 @@
localStorage.removeItem('mainManager');
localStorage.removeItem('manager');
localStorage.removeItem('ordinary');
localStorage.removeItem('createCircle');
if(res.code == '000000') {
//mainManager主管理员,manager管理员,ordinary普通人
const { highMainManager, mainManager, manager, ordinary} = res.data;
const { highMainManager, mainManager, manager, ordinary, createCircle} = res.data;
localStorage.setItem('highMainManager', vm.setStoreData(highMainManager))
localStorage.setItem('mainManager', vm.setStoreData(mainManager))
localStorage.setItem('manager', vm.setStoreData(manager))
localStorage.setItem('ordinary', vm.setStoreData(ordinary))
localStorage.setItem('createCircle', vm.setStoreData(createCircle))
if (highMainManager || mainManager || manager) {
// vm.items.push(yqRange);
vm.setCircleSize();
......@@ -494,6 +497,19 @@
})
}
},
// judge/menu
setCircleSlide() {
circleMenu({}).then((res) => {
if (res.data === true) {
this.items[2].subs.push({
title: '新建小圈权限分配',
icon: 'el-icon-setting',
index: 'circle-limit'
})
}
})
}
}
}
</script>
......
<template>
<div class="circle-limit">
<bread-crumb :curmbFirst="curmbFirst" :curmbSecond="curmbSecond"></bread-crumb>
<div class="component-content screenSet" id="screenSet">
<div class="header-title">新建小圈权限分配</div>
<el-row :gutter="30" class="row" type="flex" style="margin-top: 10px;" align='middle' justify='space-around'>
<el-form ref="formInline" :model="formInline" label-width="75px" style="width:100%;">
<el-col style="width: 400px">
<el-form-item label="手机号:">
<el-input v-model="formInline.mobile" size="small" placeholder="请输入"></el-input>
</el-form-item>
</el-col>
<el-col :span="5" style="padding:0;text-align:right;margin-right:40px; float: right">
<el-button type="primary" size="small" @click="searchList">搜索</el-button>
<el-button type="default" size="small" @click="resetForm" style="margin-left:0;">取消搜索</el-button>
</el-col>
</el-form>
</el-row>
<el-table :data="tableData" style="width: 100%">
<el-table-column prop="doctorName" label="用户名" align="center"></el-table-column>
<el-table-column prop="bizDepartName" label="对接部门" align="center">
<!-- <template slot-scope="scope">
<span>{{ scope.row.bizDepart | setDepartment }}</span>
</template> -->
</el-table-column>
<el-table-column prop="mobileMask" label="手机号" align="center"></el-table-column>
<el-table-column prop="hospitalName" label="所属机构" align="center"></el-table-column>
<el-table-column prop="district" label="所属地区" align="center" show-overflow-tooltip></el-table-column>
<el-table-column prop="masterFlag" label="建圈权限状态" align="center">
<template slot-scope="scope">
<span>{{ scope.row.masterFlag | setFlag }}</span>
</template>
</el-table-column>
<el-table-column prop="modifiedName" label="最后操作" align="center"></el-table-column>
<el-table-column fixed="right" label="操作" width="200" align="center">
<template slot-scope="scope">
<el-button type="primary" size="small" @click="closeFlag(scope.row)" v-if="scope.row.masterFlag == 1">关闭权限</el-button>
<el-button type="primary" size="small" @click="openFlag(scope.row)" v-else>开放权限</el-button>
</template>
</el-table-column>
<div slot="empty">
<div class="table-empty">
<img src="../../assets/image/no-content1.png">
<p>{{showMsg == 1 ? noDataMsg : noMobileMsg}}</p>
</div>
</div>
</el-table>
<div class="pagination">
<el-pagination
background
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
:current-page="formInline.pageNo"
:page-sizes="[10, 30, 50, 100, 200]"
:page-size="formInline.pageSize"
layout="total, sizes, prev, pager, next, jumper"
:total="totalRows"
></el-pagination>
</div>
<el-dialog
title="开通新建小圈权限"
:visible.sync="dialogVisible"
width="30%"
:before-close="dialogClose"
>
<div>
<el-form :model="orgForm" :rules="rules" label-width="100px" ref="dialogForm">
<el-form-item label="对接部门" prop="org">
<el-select v-model="orgForm.org" placeholder="请选择">
<el-option
v-for="item in orgSelect"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
</el-form-item>
</el-form>
</div>
<span slot="footer" class="dialog-footer">
<el-button @click="dialogClose">取 消</el-button>
<el-button type="primary" @click="handleClose">确 定</el-button>
</span>
</el-dialog>
</div>
</div>
</template>
<script>
import BreadCrumb from "../../components/breadcrumb.vue";
import { create } from "domain";
import { mapGetters } from 'vuex'
import { openLoading, closeLoading } from "../../utils/utils";
import * as commonUtil from "../../utils/utils";
let vm = null;
export default {
components: {
BreadCrumb
},
data() {
return {
curmbFirst: "系统管理",
curmbSecond: "角色管理",
tableData: [],
totalRows: 0,
formInline: {
mobile: "",
pageNo: 1,
pageSize: 10
},
orgForm: {
org: '',
openDoctorId: ''
},
orgSelect: [
{
value: 0,
label: '铁军部'
},
{
value: 1,
label: '医疗事业部'
},
{
value: 2,
label: '商业化部'
},
],
dialogVisible: false,
noDataMsg: '没有查询到相关结果',
noMobileMsg: '没有查询到该手机号,请重新搜索',
showMsg: 1,
rules: {
org: [
{ required: true, message: '请选择该用户对接部门', trigger: 'change' }
],
}
};
},
computed: {
...mapGetters(["_token"]),
},
created() {
vm = this;
vm.idType = localStorage.getItem('storageIdType');
this.search();
},
// 挂载到Dom完成时
mounted: function() {
commonUtil.resizeHeight();
},
methods: {
searchList() {
vm.formInline.pageNo = 1;
vm.search();
},
search() {
let req = {};
req = vm.formInline;
if (vm.formInline.mobile.trim()) {
vm.showMsg = 2
} else {
vm.showMsg = 1
}
openLoading(vm);
vm.POST("circle/member/master/grant/list", req).then(res => {
closeLoading(vm);
if (res.code == "000000") {
vm.tableData = res.data.grantListDtos;
vm.totalRows = res.data.total;
}
});
},
resetForm() {
vm.formInline = {
mobile: "",
pageNo: 1,
pageSize: 10
}
vm.search();
},
openFlag(row) {
vm.orgForm.org = ''
vm.orgForm.openDoctorId = row.doctorId
if (row.bizDepart || row.bizDepart == 0) {
vm.orgForm.org = row.bizDepart
vm.canfirmFn()
} else {
vm.dialogVisible = true
}
},
dialogClose() {
if ( this.$refs.dialogForm) {
this.$refs.dialogForm.resetFields();
}
vm.dialogVisible = false
},
handleClose() {
this.$refs.dialogForm.validate((valid) => {
if (valid) {
vm.canfirmFn()
}
});
},
canfirmFn() {
vm.$confirm('确认开通权限,允许用户创建小圈?')
.then(_ => {
openLoading(vm);
let req = {
bizDepart: vm.orgForm.org,
doctorId: vm.orgForm.openDoctorId,
type: 1
}
vm.POST("circle/member/master/grant", req).then(res => {
if (this.$refs.dialogForm) {
this.$refs.dialogForm.resetFields();
}
if (res.code == "000000") {
vm.searchList()
vm.dialogVisible = false
} else if(res.code == '224023'){
this.$message.error('无法开通权限,请该用户认证后重试');
vm.dialogVisible = false
} else {
this.$message.error('开通权限失败,请稍后重试');
vm.dialogVisible = false
}
}).catch((err) => {
console.log(err);
})
})
.catch(_ => {});
},
closeFlag(row) {
vm.$confirm('确认关闭权限,禁止用户创建小圈?')
.then(_ => {
openLoading(vm);
let req = {
bizDepart: row.bizDepart,
doctorId: row.doctorId,
type: 2
}
vm.POST("/circle/member/master/grant", req).then(res => {
if (res.code == "000000") {
vm.searchList()
} else {
this.$message.error('无法关闭权限,请稍后重试');
}
});
})
.catch(_ => {});
},
handleSizeChange(val) {
this.formInline.pageSize = val;
this.search();
console.log(`每页 ${val} 条`);
},
handleCurrentChange(val) {
this.formInline.pageNo = val;
this.search();
console.log(`当前页: ${val}`);
}
}
};
</script>
<style lang="scss" scoped>
.circle-limit {
.component-content {
padding: 10px;
background: #fff;
.header-title {
padding: 10px 12px;
font-size: 12px;
color: #449284;
border-bottom: 1px solid #efefef;
}
.to-right {
float: right;
}
.add-button {
float: right;
}
.table-empty {
img {
width: 100px;
}
p {
margin-top: -50px;
}
}
}
}
.el-tooltip__popper {
max-width:50%
}
</style>
\ No newline at end of file
......@@ -179,9 +179,8 @@
_this.$router.go(-1)
}, 100);
} else {
//
this.$message(res.message);
}
});
},
......
......@@ -210,7 +210,7 @@
<!--<el-col :span="1">-->
<!--</el-col>-->
<el-button type="text" size="small" style="margin-top: -10px;" v-if="fileFlag"><img style="vertical-align: middle;width: 13%;height: 13%;" src="../../assets/image/icon_upload.png" />上传(仅支持mp4,限制大小800M</el-button>
<el-button type="text" size="small" style="margin-top: -10px;" v-if="fileFlag"><img style="vertical-align: middle;width: 13%;height: 13%;" src="../../assets/image/icon_upload.png" />上传(仅支持mp4,限制大小2G</el-button>
<!--<video class="video-mg-url" controls preload :src="cleatBroadcast.liveInfo.mgUrl"></video>-->
<!-- <img v-if="!cleatBroadcast.liveInfo.mgUrl" class="video-bg-img" src="../../../static/img/small.png"> -->
</el-upload>
......@@ -718,8 +718,8 @@ export default {
let fileLimit = {
// width: 750,
// height: 3000,
size: 800,
sizeText: "800Mb",
size: 2048,
sizeText: "2048Mb",
key: "imageContent",
more: "imgUrl1More",
show: "uploadImgMessage1"
......@@ -830,14 +830,15 @@ export default {
submitPlayback(canPlayback){
if(vm.videoSource == 1 && (vm.playbackForm.originalUrls != null && vm.playbackForm.originalUrls.length > 0)){
if(vm.playbackForm.videoSource == 1 && (vm.playbackForm.originalUrls != null && vm.playbackForm.originalUrls.length > 0)){
this.$message.warning("原视频地址不正确,请确认");
return;
}
if(vm.uploadFlag && canPlayback == 1){
if(vm.playbackForm.videos == null || vm.playbackForm.videos.length == 0){
if(vm.playbackForm.videos == null || vm.playbackForm.videos.length == 0 ||
(vm.playbackForm.videos != null && vm.playbackForm.videos[0].videoSize == null)){
this.$message.warning("请上传回放视频");
return;
}
......
......@@ -50,7 +50,10 @@
</el-table-column>
<el-table-column prop="status" label="圈子状态" min-width="100" align="center">
<template slot-scope="scope">
<span>{{ scope.row.status | rangeStatus }}</span>
<!--<span>{{ scope.row.status | rangeStatus }}</span>-->
<span v-if="scope.row.status == 10 || scope.row.status == 40" style="color: #FAAD14">{{ scope.row.status | rangeStatus }}</span>
<span v-if="scope.row.status == 30" style="color: #1890FF">{{ scope.row.status | rangeStatus }}</span>
<span v-if="scope.row.status == 0 || scope.row.status == 50" style="color: #c7c8c9">{{ scope.row.status | rangeStatus }}</span>
</template>
</el-table-column>
<el-table-column label="操作" min-width="370" align="center">
......@@ -205,13 +208,23 @@ export default {
let mainManager = localStorage.getItem('mainManager');
let manager = localStorage.getItem('manager');
let ordinary = localStorage.getItem('ordinary');
let createCircle = localStorage.getItem('createCircle');
if(highMainManager == "1" || mainManager == "1"){
// 新建小圈权限
if(createCircle == "1"){
this.showNewFlag = true;
}
else {
this.showNewFlag = false;
}
// 是否显示审核列表
if(highMainManager == "1" || mainManager == "1"){
// this.showNewFlag = true;
this.showApplyFlag = true;
}
else if(manager == "1"){
this.showNewFlag = false;
// this.showNewFlag = false;
this.showApplyFlag = true;
}
else if(ordinary == "1"){
......
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册