提交 fb6e4da8 编写于 作者: chendeli's avatar chendeli

add

上级 2cc2f991
......@@ -58,6 +58,7 @@ export default {
getToken() {
let href = window.location.href
let offset = href.indexOf("?")
localStorage.setItem('storageToken','70A84A5CC146460EABDE6ED15EEC0C5A')
if(offset !== -1) {
let paramStr = href.substring(offset + 1, href.length)
let pars = base64decode(paramStr)
......
......@@ -9,6 +9,9 @@ const roleManager = r => require.ensure([], () => r(require('../views/system/rol
const addManager = r => require.ensure([], () => r(require('../views/education/add-manager.vue')), 'add-manager')
const itemRole = r => require.ensure([], () => r(require('../views/system/item-role.vue')), 'item-role')
const discuss = r => require.ensure([], () => r(require('../views/discuss/index.vue')), 'index')
const creatDiscuss = r => require.ensure([], () => r(require('../views/discuss/add-edit.vue')), 'creatDiscuss')
export default [{
path: '/',
component: App,
......@@ -44,5 +47,14 @@ export default [{
path: '/item-role',
component: itemRole
},
{
path: '/discuss-list',
component: discuss
},
{
path: '/creat-discuss',
component: creatDiscuss
},
]
}]
\ No newline at end of file
......@@ -216,10 +216,15 @@ html,body{
border-color: #449284 !important;
background: #449284 !important;
}
.el-radio__input.is-checked+.el-radio__label, .el-tabs__item.is-active {
.el-radio__input.is-checked+.el-radio__label, .el-tabs__item.is-active ,.el-checkbox__input.is-checked+.el-checkbox__label{
color: #449284 !important;
}
.el-checkbox__input.is-checked .el-checkbox__inner, .el-checkbox__input.is-indeterminate .el-checkbox__inner{
border-color: #449284 !important;
background: #449284 !important;
}
// 面包屑导航
.el-breadcrumb__inner a, .el-breadcrumb__inner.is-link {
font-weight: 300 !important;
......
......@@ -9,7 +9,7 @@ export const envConfig = {
// baseUrl: 'https://test1-sc.yunqueyi.com/',
//baseUrl: 'https://uat-sc.yunqueyi.com/',
baseUrl: 'https://dev-sc.yunqueyi.com/',
baseUrl: 'http://192.168.140.38:12801/v2/api-docs/'|| 'https://dev-sc.yunqueyi.com/',
qiniuFileUrl: "http://localhost:10201/contents/admin/qiniu/token1",
qiniuResourceUrl: "https://test1-videos.yunqueyi.com",
qiniuImgUrl: "https://test1-file.yunqueyi.com",
......
<template>
<div class="add-manager-wrap">
<bread-crumb :curmbFirst="curmbFirst" :curmbSecond="curmbSecond"></bread-crumb>
<div class="add-content screenSet" id="screenSet">
<div class="discuss-opt">
<el-form ref="form" :model="form" label-width="100px">
<el-form-item label="讨论主题" required>
<el-col :span="8">
<el-input v-model="form.subject" size="mini" type="textarea"></el-input>
</el-col>
</el-form-item>
<el-form-item label="内容发布控制">
<div>
<span class="label-name">话题</span>
<el-radio v-model="form.ht" label="1">允许</el-radio>
<el-radio v-model="form.ht" label="0">不允许</el-radio>
</div>
<div>
<span class="label-name">评论</span>
<el-radio v-model="form.pl" label="1">允许</el-radio>
<el-radio v-model="form.pl" label="0">不允许</el-radio>
</div>
</el-form-item>
<el-form-item label="审核规则" required>
<div>
<span class="label-name">文字</span>
<el-radio v-model="form.wz" label="2">先审后显示</el-radio>
<el-radio v-model="form.wz" label="4">后审先显示</el-radio>
</div>
<div>
<span class="label-name">图片</span>
<el-radio v-model="form.tp" label="8">先审后显示</el-radio>
<el-radio v-model="form.tp" label="16">后审先显示</el-radio>
</div>
</el-form-item>
<el-form-item label="开放客群" required>
<el-checkbox label="注册用户" v-model="form.isZC"></el-checkbox>
<el-checkbox label="认证用户" v-model="form.isRZ"></el-checkbox>
</el-form-item>
<el-form-item label="发布按钮文案" required>
<div>
<span class="label-name label-f">首页按钮</span>
<el-input v-model="form.topicBtnText" size="mini" style="width: 100px;"></el-input>
</div>
<div>
<span class="label-name label-f">二级页按钮</span>
<el-input v-model="form.commentBtnText" size="mini" style="width: 100px;"></el-input>
</div>
</el-form-item>
</el-form>
<div class="btn-box pdrt20">
<el-button type="primary" size="small" class="button-green" @click="addDiss">保存</el-button>
<el-button size="small" class="button-white">返回</el-button>
</div>
</div>
</div>
</div>
</template>
<script>
import BreadCrumb from "../../components/breadcrumb.vue";
import { doUpload, getFilePath } from "../../utils/qiniu-util";
import { returnData } from "../mock";
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:'新增',
form:{
subject:'',
ht:'1',
pl:'1',
wz:'2',
tp:'8',
user:'1',
isZC:false,
isRZ:false,
zc:4,
rz:8,
topicBtnText:'',
commentBtnText:'',
displayTopicBtn:true,//是否显示发布话题按钮
dispalyCommentBtn:true,//是否显示评论按钮
}
};
},
computed: {
...mapGetters(["_token", "idType"])
},
created() {
vm = this;
},
// 挂载到Dom完成时
mounted: function() {
},
methods: {
//新增讨论
addDiss(){
let visibility = 0,
auditRules = 0;
if(this.form.isRZ){
visibility = 8
}
if(this.form.isZC){
visibility = 4
}
if(this.form.isRZ && this.form.isZC){
visibility = 12
}
auditRules = Number(this.form.wz) + Number(this.form.tp)
let parm = {
"auditrules": auditRules,
"commentbtntext": this.form.commentBtnText,
//"deleteflag": 0,
//"derivedid": 0,
//"derivername": "string",
"dispalycommentbtn": this.form.pl == 1 ? true : false,
"displaytopicbtn": this.form.ht == 1 ? true : false,
"id": 0,
"subject":this.form.subject,
"topicbtntext": this.form.topicbtntext,
"visibility": visibility
}
this.POST('portalComponent/queryPortalComponent',parm).then((res) => {
// closeLoading(vm)
if( res.code == '000000' ) {
}
})
},
//获取讨论组件详细
getDissById(id){
let parm = {
"auditrules": 0,
"commentbtntext": "string",
//"createdid": 0,
//"createdtime": "2019-03-25T08:30:35.630Z",
"deleteflag": 0,
"derivedid": 0,
"derivername": "string",
"dispalycommentbtn": true,
"displaytopicbtn": true,
"id": 0,
//"modifiedid": 0,
//"modifiedtime": "2019-03-25T08:30:35.630Z",
"participatecount": 0,
"subject": "string",
"topicbtntext": "string",
"visibility": 0
}
this.POST('portalComponent/queryPortalComponent',parm).then((res) => {
// closeLoading(vm)
if( res.code == '000000' ) {
}
})
}
}
};
</script>
<style lang="scss">
.discuss-opt{
padding:20px;
.btn-box{
text-align: center
}
.label-name{
font-size: 12px;
color:#606266;
padding-right:10px;
display: inline-block;
}
.label-f{
width: 80px;
}
.pdrt20{
padding:20px 0;
}
.el-radio__label,.el-checkbox__label{
font-size: 12px;
}
}
.add-manager-wrap {
.add-content {
background: #fff;
}
.rim {
border: 1px solid #dddddd;
}
.step-content {
overflow: hidden;
height: 60px;
margin-top: 66px;
padding-top: 15px;
border-bottom: 1px solid #fff;
.is-text {
display: none;
}
.el-steps--simple {
background: #fff;
}
.button-green {
color: #ffffff;
background: #449284;
border-color: #bfdad5;
border-radius: 2px;
}
.button-white {
color: #606266;
background: #ffffff;
border-color: #ecedf1;
border-radius: 2px;
}
.step-num {
display: block;
font-size: 12px;
border: 2px solid #b8babe;
border-radius: 50%;
width: 25px;
height: 20px;
line-height: 15px;
text-align: center;
color: #b8babe;
}
.is-finish {
color: #c0c4cc;
}
.on-step {
color: #747476;
border-color: #747476;
}
}
.first-step {
margin-top: 20px;
.bg-uploader {
img {
float: left;
}
.bg-img {
width: 84px;
height: 100px;
}
.bg-video {
float: left;
width: 100px;
height: 100px;
}
.limit-text {
float: left;
margin-left: 10px;
margin-top: -10px;
p {
font-size: 12px;
color: #999;
}
}
}
.el-upload__tip {
position: absolute;
top: -6px;
left: 130px;
}
.choose-button {
background: #fff;
color: #409eff;
border: 1px solid #409eff;
}
}
.second-step {
margin: 10px 0 0 20px;
//隐藏树展开
.table-empty {
img {
width: 100px;
}
p {
margin-top: -50px;
}
}
.el-tree-node__expand-icon {
display: none;
}
.el-table__header-wrapper {
.el-checkbox__inner {
//display: none;
//visibility: hidden;
}
}
.department {
margin-top: 20px;
border: 1px solid #dddddd;
}
.el-tabs__nav-wrap::after {
display: none;
}
.el-tabs__active-bar {
display: none;
}
#tab-first,
#tab-second,
#tab-third {
padding-right: 0px;
}
#tab-first::after,
#tab-second::after,
#tab-third::after {
color: #c7cbd2;
margin-left: 20px;
content: "•";
}
.el-tag {
margin: 0 10px 10px 0;
border: 1.3px solid #48a8fe;
color: #1e92fe;
background-color: #e7f6fe;
.el-icon-close {
width: 13px;
height: 13px;
line-height: 13px;
font-size: 12px;
background-color: #0486fe;
border-radius: 50%;
color: #d4edfe;
}
}
}
.third-step {
margin: 30px 0 0px 30px;
padding-bottom: 30px;
}
}
</style>
\ No newline at end of file
<template>
<div class="item-component-wrap">
<bread-crumb
:curmbFirst="curmbFirst"
:curmbSecond="curmbSecond">
</bread-crumb>
<div class="component-content screenSet" id="screenSet">
<div class="search-title">查询条件</div>
<el-row :gutter="30" class="row" type="flex" style="margin-top: 10px;">
<el-form ref="serchForm" :model="searchParam" label-width="75px" style="width:100%;">
<el-col :span="6">
<el-form-item label="组件名称:">
<el-input v-model="searchParam.name" size="mini" placeholder="请输入组件名称"></el-input>
</el-form-item>
</el-col>
<el-col :span="5">
<el-form-item label="发布状态:">
<el-select v-model="searchParam.status" size="mini" placeholder="请选择发布状态">
<el-option
v-for="(item,index) in statuSelect"
:key="index"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="13" style="padding:0;text-align:right;padding-right:15px;">
<el-button type="primary" size="small" @click="search">查询</el-button>
<el-button type="default" size="small" @click="reseat" style="margin-left:0;">重置</el-button>
</el-col>
</el-form>
</el-row>
<el-row :gutter="10" class="row create-button" style="margin-right:0;">
<el-button type="primary" size="small" @click="createComponent">新建讨论组件</el-button>
</el-row>
<el-table
:data="tableData"
style="width: 100%">
<el-table-column prop="id" label="ID编号" min-width="100" align="center"></el-table-column>
<el-table-column prop="name" label="组件名称" min-width="200" align="center"></el-table-column>
<el-table-column prop="createdName" label="发起人" min-width="100" align="center"></el-table-column>
<el-table-column prop="status" label="状态" min-width="80" align="center">
<template slot-scope="scope">
<span>{{ scope.row.status | statusFileter }}</span>
</template>
</el-table-column>
<el-table-column label="操作" fixed="right" align="center" min-width="200">
<template slot-scope="scope">
<el-button type="primary" size="small" @click="editComponentList(scope.row)">编辑</el-button>
<el-button type="primary" v-if="scope.row.status == 1 || scope.row.status == 2 || scope.row.status == 4" size="small" @click="enableAndDisable(scope.row,1)">启用</el-button>
<el-button type="primary" v-if="scope.row.status == 3" size="small" @click="enableAndDisable(scope.row,2)">禁用</el-button>
<el-button type="primary" v-if="scope.row.status == 1 || scope.row.status == 2" size="small" @click="deleteComponent(scope.row)">删除</el-button>
</template>
</el-table-column>
<div slot="empty">
<div class="table-empty">
<img src="../../assets/image/no-content1.png" />
<p>没有查询到相关结果</p>
</div>
</div>
</el-table>
<!-- 分页 -->
<div class="pagination">
<el-pagination
background
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
:current-page="searchParam.pageNo"
:page-sizes="[15, 30, 50, 100, 200, 500, 700, 1000, 1500, 2000]"
:page-size="searchParam.pageSize"
layout="total, sizes, prev, pager, next, jumper"
:total="totalRows">
</el-pagination>
</div>
</div>
</div>
</template>
<script>
import BreadCrumb from '../../components/breadcrumb.vue'
import { doUpload, getFilePath } from "../../utils/qiniu-util"
import { validateWord } from "../../utils/validate.js"
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: '讨论组件',
searchParam: {
idType: '',
name: '',
status: '',
pageNo: 1,
pageSize: 15
},
statuSelect: [
{
label: '草稿',
value: '1'
},{
label: '未启用',
value: '2'
},{
label: '已启用',
value: '3'
},{
label: '已禁用',
value: '4'
}
],
tableData: [],
totalRows: 0,
}
},
computed: {
...mapGetters([
'_token',
'idType'
])
},
created() {
vm = this
//vm.search()
},
// 挂载到Dom完成时
mounted: function() {
commonUtil.resizeHeight()
},
methods: {
// 列表查询
search() {
vm.searchParam.idType = vm.idType
openLoading(vm)
vm.GET('portalComponent/queryPortalComponent',vm.searchParam).then((res) => {
closeLoading(vm)
if( res.code == '000000' ) {
vm.tableData = res.data.queryList
vm.totalRows = res.data.total
}
})
},
// 重置
reseat() {
vm.searchParam = Object.assign({},{
idType: '',
name: '',
status: '',
pageNo: 1,
pageSize: 15
})
vm.search()
},
// 新建组件
createComponent() {
vm.$router.push({path: 'creat-discuss'})
},
// 编辑(验证可编辑范围)
editComponentList(row) {
let req = {
token: vm._token,
componentId: row.id
}
vm.GET('portalComponent/componentEditRange',req).then((res) => {
if(res.code == "000000") {
vm.$router.push({path: 'create-component',query: {id:row.id,status: row.status,resultFlag: res.data.resultFlag}})
}
})
},
// 启用(禁用)
enableAndDisable(row,flag) {
let req = null
let text = ''
if(flag == 1) { // 启用
req = {
id: row.id,
status: 3
}
text = '组件一经启用,将无法进行修改,确定启用吗?'
}else if(flag == 2) { // 禁用
req = {
id: row.id,
status: 4
}
text = '确定禁用吗?'
}
vm.$confirm(text, '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
vm.GET('portalComponent/disableOrStart',req).then((res) => {
if(res.code == "000000") {
vm.$message({
type: 'success',
message: '操作成功!'
});
vm.search()
} else {
vm.$message({
message: res.message,
type: 'warning'
});
}
}).catch(function (error) {
vm.$message.error(error);
});
}).catch(() => {
vm.$message({
type: 'info',
message: '已取消'
});
});
},
// 删除
deleteComponent(row) {
vm.$confirm('确定要删除该组件吗?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
vm.GET('portalComponent/deleteComponentById',{id: row.id}).then((res) => {
if(res.code == "000000") {
vm.$message({
type: 'success',
message: '删除成功!'
});
vm.search()
}
}).catch(function (error) {
vm.$message.error(error);
});
}).catch(() => {
vm.$message({
type: 'info',
message: '已取消'
})
})
},
handleSizeChange(value) {
vm.searchParam.pageSize = value
vm.search()
},
handleCurrentChange(value) {
vm.searchParam.pageNo = value
vm.search()
}
}
}
</script>
<style lang="scss">
.item-component-wrap {
.component-content {
padding: 10px;
background: #fff;
// margin: 84px 20px 20px;
.search-title {
padding: 10px 12px;
font-size: 12px;
color: #449284;
border-bottom: 1px solid #efefef;
}
.create-button {
padding: 0 0 15px;
margin-top: 0 !important;
text-align: right;
}
.table-empty {
img{
width: 100px;
}
p {
margin-top: -50px;
}
}
}
}
</style>
<template>
<div class="header-container">
<div class="logo">
<img src="../../assets/image/index_logoicon.png"/>
<p>云鹊医工作站</p>
<!-- <img src="../../assets/image/index_logoicon.png"/> -->
<p>云鹊医</p>
</div>
<div class="user-info">
<el-dropdown trigger="click" @command="handleCommand">
......
......@@ -39,37 +39,19 @@ export default {
return {
items: [
{
title: '数据总览',
title: '组件',
icon: 'el-icon-menu',
index: 'home'
},{
title: '教培项目',
icon: 'el-icon-message',
index: 'item',
subs: [
{
title: '项目组件',
title: '讨论组件',
icon: 'el-icon-setting',
index: 'item-component'
index: 'discuss-list'
},
{
title: '项目管理',
icon: 'el-icon-setting',
index: 'item-manager'
},
]
},{
title: '系统管理',
icon: 'el-icon-menu',
index: 'system',
subs: [
{
title: '角色管理',
icon: 'el-icon-setting',
index: 'role'
}
]
}
},
]
}
},
......
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册