yujialong 9 months ago
parent e0cbcb37d0
commit 55d0ef569d
  1. 17
      src/components/modules/link.vue
  2. 4
      src/components/modules/module.vue
  3. 8
      src/libs/util.js
  4. 2
      src/mixins/page/index.js
  5. 7
      src/pages/article/add/index.vue
  6. 4
      src/pages/column/add/index.vue
  7. 156
      src/pages/column/page/about.vue
  8. 5
      src/pages/role/list/index.vue
  9. 6
      src/pages/setting/list/info.vue
  10. 2
      src/pages/user/list/index.vue
  11. 1
      src/setting.js

@ -91,6 +91,7 @@
</template> </template>
<script> <script>
import Util from '@/libs/util'
export default { export default {
props: { props: {
data: { data: {
@ -131,15 +132,13 @@ export default {
methods: { methods: {
// //
getList () { getList () {
this.$post(this.api.listWithTree, { this.$post(this.api.listWithTree, Util.rsa({
siteId: this.site.id, siteId: this.site.id,
columnName: '', columnName: '',
templateId: '', templateId: '',
typeId: '', typeId: '',
isSort: 1 isSort: 1
}).then(({ data }) => { })).then(({ data }) => {
this.columns = data this.columns = data
this.data.connectionType !== 2 && this.getArticle() this.data.connectionType !== 2 && this.getArticle()
}).catch(err => { }) }).catch(err => { })
@ -160,14 +159,14 @@ export default {
getArticle () { getArticle () {
// / // /
const id = this.data.connectionType === 1 ? this.data.columnId[this.data.columnId.length - 1] : this.data.otherColumnId[this.data.otherColumnId.length - 1] const id = this.data.connectionType === 1 ? this.data.columnId[this.data.columnId.length - 1] : this.data.otherColumnId[this.data.otherColumnId.length - 1]
id && this.$post(this.api.queryArticle, { id && this.$post(this.api.queryArticle, Util.rsa({
siteId: this.data.connectionType === 1 ? this.site.id : this.data.site, siteId: this.data.connectionType === 1 ? this.site.id : this.data.site,
columnIds: [id], columnIds: [id],
pageNum: 1, pageNum: 1,
pageSize: 1000, pageSize: 1000,
title: '', title: '',
isDisable: 0 isDisable: 0
}).then(({ data }) => { })).then(({ data }) => {
this.articles = data.records.filter(e => e.isRelease) // this.articles = data.records.filter(e => e.isRelease) //
}).catch(err => { }) }).catch(err => { })
}, },
@ -183,15 +182,13 @@ export default {
}, },
// //
getOtherColumn () { getOtherColumn () {
this.data.site && this.$post(this.api.listWithTree, { this.data.site && this.$post(this.api.listWithTree, Util.rsa({
siteId: this.data.site, siteId: this.data.site,
columnName: '', columnName: '',
templateId: '', templateId: '',
typeId: '', typeId: '',
isSort: 1 isSort: 1
}).then(({ data }) => { })).then(({ data }) => {
this.otherColumns = data this.otherColumns = data
}).catch(err => { }) }).catch(err => { })
}, },

@ -434,13 +434,13 @@ export default {
}, },
// //
siteChange (siteId) { siteChange (siteId) {
this.$post(this.api.listWithTree, { this.$post(this.api.listWithTree, Util.rsa({
siteId, siteId,
columnName: '', columnName: '',
templateId: '', templateId: '',
typeId: '', typeId: '',
isSort: 1 isSort: 1
}).then(({ data }) => { })).then(({ data }) => {
this.data.type === 'columns' || this.handleColumn(data) this.data.type === 'columns' || this.handleColumn(data)
this.columns = data this.columns = data
}).catch(err => { }) }).catch(err => { })

@ -6,10 +6,10 @@ import JSEncrypt from "jsencrypt"
// 文件后缀集合 // 文件后缀集合
const exts = { const exts = {
video: 'mp4,3gp,mov,m4v,avi,dat,mkv,flv,vob,rmvb,rm,qlv', video: 'mp4,mov',
audio: 'mp3,aac,ape,flac,wav,wma,amr,mid', audio: 'mp3',
img: 'jpg,jpeg,png,gif,svg,psd', img: 'jpg,png,gif',
doc: 'doc,docx,txt,xls,xlsx,csv,xml,ppt,pptx' doc: 'doc,docx,xls,xlsx'
} }
const util = { const util = {
local: _local, local: _local,

@ -65,7 +65,7 @@ export default {
}) })
const { modules } = this const { modules } = this
// 查询页面详情 // 查询页面详情
this.$post(`${this.api.findPage}?columnId=${this.columnId}`).then(({ data }) => { this.$post(this.api.findPage, Util.rsa(this.columnId)).then(({ data }) => {
if (data.length) { if (data.length) {
const json = data[data.length - 1] const json = data[data.length - 1]
this.id = json.id this.id = json.id

@ -1496,6 +1496,13 @@ export default {
this.$message.error('请上传100M以内的图片!') this.$message.error('请上传100M以内的图片!')
return false return false
} }
} else {
const { name } = file
const ext = name.substring(name.lastIndexOf('.') + 1)
if (!Util.isImg(ext) && !Util.isVideo(ext) && !Util.isDoc(ext) && !Util.isAudio(ext) && ext !== 'pdf') {
this.$message.error('请上传合规文件!')
return false
}
} }
this.uploading++ this.uploading++
}, },

@ -409,13 +409,13 @@ export default {
methods: { methods: {
// //
getList () { getList () {
this.$post(this.api.listWithTree, { this.$post(this.api.listWithTree, Util.rsa({
siteId: this.site.id, siteId: this.site.id,
columnName: '', columnName: '',
templateId: '', templateId: '',
typeId: '', typeId: '',
isSort: 1 isSort: 1
}).then(({ data }) => { })).then(({ data }) => {
this.columns = data this.columns = data
if (this.isEdit) { if (this.isEdit) {
this.getData() this.getData()

@ -3,23 +3,31 @@
<div class="actions"> <div class="actions">
<p class="page-name">页面设置/ABOUT</p> <p class="page-name">页面设置/ABOUT</p>
<div> <div>
<el-button type="primary" @click="preview">预览</el-button> <el-button type="primary"
@click="preview">预览</el-button>
<el-button @click="save(0)">保存为草稿</el-button> <el-button @click="save(0)">保存为草稿</el-button>
<el-button type="primary" @click="save(1)">发布</el-button> <el-button type="primary"
@click="save(1)">发布</el-button>
<el-button @click="back">放弃编辑</el-button> <el-button @click="back">放弃编辑</el-button>
</div> </div>
</div> </div>
<div class="modules"> <div class="modules">
<div class="relative"> <div class="relative">
<el-carousel height="480px" :indicator-position="modules[0].list.filter(e => e.isEnable).length > 1 ? '' : 'none'"> <el-carousel height="480px"
:indicator-position="modules[0].list.filter(e => e.isEnable).length > 1 ? '' : 'none'">
<template v-for="(item, i) in modules[0].list"> <template v-for="(item, i) in modules[0].list">
<el-carousel-item v-if="item.pic && item.isEnable" :key="i"> <el-carousel-item v-if="item.pic && item.isEnable"
<img width="100%" height="100%" :src="item.pic" alt=""> :key="i">
<img width="100%"
height="100%"
:src="item.pic"
alt="">
</el-carousel-item> </el-carousel-item>
</template> </template>
</el-carousel> </el-carousel>
<div class="cover" @click="toSet(0)">点击更换banner与链接</div> <div class="cover"
@click="toSet(0)">点击更换banner与链接</div>
</div> </div>
<div class="block history gray"> <div class="block history gray">
@ -31,9 +39,14 @@
<div class="line"></div> <div class="line"></div>
<div class="des">{{ modules[1].form.des }}</div> <div class="des">{{ modules[1].form.des }}</div>
</div> </div>
<img class="bg" width="562" height="506" :src="modules[1].form.pic" alt=""> <img class="bg"
width="562"
height="506"
:src="modules[1].form.pic"
alt="">
</div> </div>
<div class="cover" @click="toSet(1)">点击更改图片标题概述与链接</div> <div class="cover"
@click="toSet(1)">点击更改图片标题概述与链接</div>
</div> </div>
</div> </div>
@ -42,28 +55,37 @@
<div class="c-wrap"> <div class="c-wrap">
<h2 class="b-title">{{ modules[2].form.title }}</h2> <h2 class="b-title">{{ modules[2].form.title }}</h2>
<p class="intro">{{ modules[2].form.des }}</p> <p class="intro">{{ modules[2].form.des }}</p>
<div class="cover" @click="toSet(2)">点击更换标题与描述</div> <div class="cover"
@click="toSet(2)">点击更换标题与描述</div>
</div> </div>
<ul class="card"> <ul class="card">
<li class="item1"> <li class="item1">
<h6>{{ modules[3].form.title }}</h6> <h6>{{ modules[3].form.title }}</h6>
<div class="des" v-html="modules[3].form.des"></div> <div class="des"
<div class="cover" @click="toSet(3)">点击更换标题概述与跳转</div> v-html="modules[3].form.des"></div>
<div class="cover"
@click="toSet(3)">点击更换标题概述与跳转</div>
</li> </li>
<li class="item2"> <li class="item2">
<h6>{{ modules[4].form.title }}</h6> <h6>{{ modules[4].form.title }}</h6>
<div class="des" v-html="modules[4].form.des"></div> <div class="des"
<div class="cover" @click="toSet(4)">点击更换标题概述与跳转</div> v-html="modules[4].form.des"></div>
<div class="cover"
@click="toSet(4)">点击更换标题概述与跳转</div>
</li> </li>
<li class="item3"> <li class="item3">
<h6>{{ modules[5].form.title }}</h6> <h6>{{ modules[5].form.title }}</h6>
<div class="des" v-html="modules[5].form.des"></div> <div class="des"
<div class="cover" @click="toSet(5)">点击更换标题概述与跳转</div> v-html="modules[5].form.des"></div>
<div class="cover"
@click="toSet(5)">点击更换标题概述与跳转</div>
</li> </li>
<li class="item4"> <li class="item4">
<h6>{{ modules[6].form.title }}</h6> <h6>{{ modules[6].form.title }}</h6>
<div class="des" v-html="modules[6].form.des"></div> <div class="des"
<div class="cover" @click="toSet(6)">点击更换标题概述与跳转</div> v-html="modules[6].form.des"></div>
<div class="cover"
@click="toSet(6)">点击更换标题概述与跳转</div>
</li> </li>
</ul> </ul>
</div> </div>
@ -74,38 +96,45 @@
<div class="c-wrap"> <div class="c-wrap">
<h2 class="b-title">{{ modules[7].form.title }}</h2> <h2 class="b-title">{{ modules[7].form.title }}</h2>
<p class="intro">{{ modules[7].form.des }}</p> <p class="intro">{{ modules[7].form.des }}</p>
<div class="cover" @click="toSet(7)">点击更换标题与描述</div> <div class="cover"
@click="toSet(7)">点击更换标题与描述</div>
</div> </div>
<ul class="stat"> <ul class="stat">
<li> <li>
<p class="num">{{ modules[8].form.title }}</p> <p class="num">{{ modules[8].form.title }}</p>
<p class="text">{{ modules[8].form.des }}</p> <p class="text">{{ modules[8].form.des }}</p>
<div class="cover" @click="toSet(8)">点击更换标题与描述</div> <div class="cover"
@click="toSet(8)">点击更换标题与描述</div>
</li> </li>
<li> <li>
<p class="num">{{ modules[9].form.title }}</p> <p class="num">{{ modules[9].form.title }}</p>
<p class="text">{{ modules[9].form.des }}</p> <p class="text">{{ modules[9].form.des }}</p>
<div class="cover" @click="toSet(9)">点击更换标题与描述</div> <div class="cover"
@click="toSet(9)">点击更换标题与描述</div>
</li> </li>
<li> <li>
<p class="num">{{ modules[10].form.title }}</p> <p class="num">{{ modules[10].form.title }}</p>
<p class="text">{{ modules[10].form.des }}</p> <p class="text">{{ modules[10].form.des }}</p>
<div class="cover" @click="toSet(10)">点击更换标题与描述</div> <div class="cover"
@click="toSet(10)">点击更换标题与描述</div>
</li> </li>
<li> <li>
<p class="num">{{ modules[11].form.title }}</p> <p class="num">{{ modules[11].form.title }}</p>
<p class="text">{{ modules[11].form.des }}</p> <p class="text">{{ modules[11].form.des }}</p>
<div class="cover" @click="toSet(11)">点击更换标题与描述</div> <div class="cover"
@click="toSet(11)">点击更换标题与描述</div>
</li> </li>
<li> <li>
<p class="num">{{ modules[12].form.title }}</p> <p class="num">{{ modules[12].form.title }}</p>
<p class="text">{{ modules[12].form.des }}</p> <p class="text">{{ modules[12].form.des }}</p>
<div class="cover" @click="toSet(12)">点击更换标题与描述</div> <div class="cover"
@click="toSet(12)">点击更换标题与描述</div>
</li> </li>
<li> <li>
<p class="num">{{ modules[13].form.title }}</p> <p class="num">{{ modules[13].form.title }}</p>
<p class="text">{{ modules[13].form.des }}</p> <p class="text">{{ modules[13].form.des }}</p>
<div class="cover" @click="toSet(13)">点击更换标题与描述</div> <div class="cover"
@click="toSet(13)">点击更换标题与描述</div>
</li> </li>
</ul> </ul>
</div> </div>
@ -113,14 +142,19 @@
<div class="plan c-wrap"> <div class="plan c-wrap">
<div class="inner"> <div class="inner">
<img class="pic" :src="modules[14].form.pic" alt=""> <img class="pic"
:src="modules[14].form.pic"
alt="">
<div class="texts"> <div class="texts">
<h6>{{ modules[14].form.title }}</h6> <h6>{{ modules[14].form.title }}</h6>
<div class="des">{{ modules[14].form.des }}</div> <div class="des">{{ modules[14].form.des }}</div>
<img src="@/assets/images/arrow-white.png" alt=""> <img src="@/assets/images/arrow-white.png"
alt="">
</div> </div>
</div> </div>
<div class="cover" style="height: calc(100% + 60px);" @click="toSet(14)">点击更换标题概述与跳转</div> <div class="cover"
style="height: calc(100% + 60px);"
@click="toSet(14)">点击更换标题概述与跳转</div>
</div> </div>
<div class="block"> <div class="block">
@ -128,21 +162,28 @@
<div class="c-wrap"> <div class="c-wrap">
<h2 class="b-title">{{ modules[15].form.title }}</h2> <h2 class="b-title">{{ modules[15].form.title }}</h2>
<p class="intro">{{ modules[15].form.des }}</p> <p class="intro">{{ modules[15].form.des }}</p>
<div class="cover" @click="toSet(15)">点击更换标题与描述</div> <div class="cover"
@click="toSet(15)">点击更换标题与描述</div>
</div> </div>
<ul class="people"> <ul class="people">
<template v-for="(item, i) in modules[16].list"> <template v-for="(item, i) in modules[16].list">
<li v-if="item.isEnable" :key="i"> <li v-if="item.isEnable"
<img class="pic" :src="item.pic" alt=""> :key="i">
<img class="pic"
:src="item.pic"
alt="">
<div class="texts"> <div class="texts">
<p class="sub">{{ item.subTitle }}</p> <p class="sub">{{ item.subTitle }}</p>
<h6>{{ item.title }}</h6> <h6>{{ item.title }}</h6>
<p class="des">{{ item.des }}</p> <p class="des">{{ item.des }}</p>
<img class="arrow" src="@/assets/images/arrow.png" alt=""> <img class="arrow"
src="@/assets/images/arrow.png"
alt="">
</div> </div>
</li> </li>
</template> </template>
<div class="cover" @click="toSet(16)">点击更改图片标题概述与链接</div> <div class="cover"
@click="toSet(16)">点击更改图片标题概述与链接</div>
</ul> </ul>
</div> </div>
</div> </div>
@ -152,26 +193,36 @@
<div class="c-wrap"> <div class="c-wrap">
<h2 class="b-title">{{ modules[17].form.title }}</h2> <h2 class="b-title">{{ modules[17].form.title }}</h2>
<p class="intro">{{ modules[17].form.des }}</p> <p class="intro">{{ modules[17].form.des }}</p>
<div class="cover" @click="toSet(17)">点击更换标题与描述</div> <div class="cover"
@click="toSet(17)">点击更换标题与描述</div>
</div> </div>
<ul class="list"> <ul class="list">
<li> <li>
<img class="pic" :src="modules[18].form.pic" alt=""> <img class="pic"
:src="modules[18].form.pic"
alt="">
<h6>{{ modules[18].form.title }}</h6> <h6>{{ modules[18].form.title }}</h6>
<p class="des">{{ modules[18].form.des }}</p> <p class="des">{{ modules[18].form.des }}</p>
<div class="cover" @click="toSet(18)">点击更改图片标题概述与链接</div> <div class="cover"
@click="toSet(18)">点击更改图片标题概述与链接</div>
</li> </li>
<li> <li>
<img class="pic" :src="modules[19].form.pic" alt=""> <img class="pic"
:src="modules[19].form.pic"
alt="">
<h6>{{ modules[19].form.title }}</h6> <h6>{{ modules[19].form.title }}</h6>
<p class="des">{{ modules[19].form.des }}</p> <p class="des">{{ modules[19].form.des }}</p>
<div class="cover" @click="toSet(19)">点击更改图片标题概述与链接</div> <div class="cover"
@click="toSet(19)">点击更改图片标题概述与链接</div>
</li> </li>
<li> <li>
<img class="pic" :src="modules[20].form.pic" alt=""> <img class="pic"
:src="modules[20].form.pic"
alt="">
<h6>{{ modules[20].form.title }}</h6> <h6>{{ modules[20].form.title }}</h6>
<p class="des">{{ modules[20].form.des }}</p> <p class="des">{{ modules[20].form.des }}</p>
<div class="cover" @click="toSet(20)">点击更改图片标题概述与链接</div> <div class="cover"
@click="toSet(20)">点击更改图片标题概述与链接</div>
</li> </li>
</ul> </ul>
</div> </div>
@ -182,21 +233,28 @@
<div class="c-wrap"> <div class="c-wrap">
<h2 class="b-title">{{ modules[21].form.title }}</h2> <h2 class="b-title">{{ modules[21].form.title }}</h2>
<p class="intro">{{ modules[21].form.des }}</p> <p class="intro">{{ modules[21].form.des }}</p>
<div class="cover" @click="toSet(21)">点击更换标题与描述</div> <div class="cover"
@click="toSet(21)">点击更换标题与描述</div>
</div> </div>
<div class="staff"> <div class="staff">
<div class="left"> <div class="left">
<h6>{{ modules[22].form.title }}</h6> <h6>{{ modules[22].form.title }}</h6>
<div class="des">{{ modules[22].form.des }}</div> <div class="des">{{ modules[22].form.des }}</div>
</div> </div>
<img class="pic" :src="modules[22].form.pic" alt=""> <img class="pic"
<div class="cover" @click="toSet(22)">点击更改图片标题概述与链接</div> :src="modules[22].form.pic"
alt="">
<div class="cover"
@click="toSet(22)">点击更改图片标题概述与链接</div>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
<Module ref="module" :data.sync="curData" :visible.sync="diaVisible" @moduleSubmit="moduleSubmit" /> <Module ref="module"
:data.sync="curData"
:visible.sync="diaVisible"
@moduleSubmit="moduleSubmit" />
</div> </div>
</template> </template>
@ -236,7 +294,7 @@ export default {
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
@import "../../../styles/page/page.scss"; @import '../../../styles/page/page.scss';
.history { .history {
h2 { h2 {
font-size: 30px; font-size: 30px;
@ -257,7 +315,7 @@ export default {
width: 136px; width: 136px;
height: 2px; height: 2px;
margin: 20px 0; margin: 20px 0;
background: #D7D7D7; background: #d7d7d7;
} }
.des { .des {
font-size: 22px; font-size: 22px;
@ -287,7 +345,7 @@ export default {
background: url(../../../assets/images/about/3.png) 0 0/100% 100% no-repeat; background: url(../../../assets/images/about/3.png) 0 0/100% 100% no-repeat;
} }
.item2 { .item2 {
background-color: #4984B6; background-color: #4984b6;
} }
.item3 { .item3 {
background-color: #567180; background-color: #567180;
@ -378,7 +436,7 @@ export default {
padding-bottom: 30px; padding-bottom: 30px;
margin-right: 28px; margin-right: 28px;
text-align: center; text-align: center;
background-color: #F5F5F5; background-color: #f5f5f5;
&:last-child { &:last-child {
margin-right: 0; margin-right: 0;
} }
@ -401,7 +459,7 @@ export default {
position: relative; position: relative;
display: flex; display: flex;
justify-content: space-between; justify-content: space-between;
background: #F8F8F8; background: #f8f8f8;
.left { .left {
width: 658px; width: 658px;
margin: 50px 0 0 46px; margin: 50px 0 0 46px;
@ -435,7 +493,7 @@ export default {
font-size: 60px; font-size: 60px;
font-weight: 800; font-weight: 800;
font-family: toppan; font-family: toppan;
color: #035CE1; color: #035ce1;
line-height: 49px; line-height: 49px;
} }
.text { .text {

@ -48,6 +48,7 @@
type="text" type="text"
@click="showRole(scope.row)">查看</el-button> @click="showRole(scope.row)">查看</el-button>
<el-button v-auth <el-button v-auth
v-if="scope.row.name !== '超级管理员'"
type="text" type="text"
@click="editRole(scope.row)">编辑</el-button> @click="editRole(scope.row)">编辑</el-button>
<el-button v-auth <el-button v-auth
@ -165,8 +166,8 @@ export default {
limit: this.pageSize, limit: this.pageSize,
name: this.keyword, name: this.keyword,
})).then(({ data }) => { })).then(({ data }) => {
// const list = data.records.filter(e => e.id !== 1) // const list = data.records.filter(e => e.id !== 1) //
const list = data.records // const list = data.records
this.list = list this.list = list
this.total = data.total == 0 ? 0 : +data.total - 1 this.total = data.total == 0 ? 0 : +data.total - 1
}).catch(res => { }) }).catch(res => { })

@ -324,14 +324,14 @@ export default {
if (!data.password) return Util.warningMsg("请输入原密码") if (!data.password) return Util.warningMsg("请输入原密码")
if (!data.newPassword) return Util.warningMsg("请输入新密码") if (!data.newPassword) return Util.warningMsg("请输入新密码")
if (!data.reNewPassword) return Util.warningMsg("请确认新密码") if (!data.reNewPassword) return Util.warningMsg("请确认新密码")
if (data.newPassword.length < 6 || data.reNewPassword.length < 6) return Util.warningMsg("请输入6位数以上的密码") if (data.newPassword.length < 8 || data.reNewPassword.length < 8) return Util.warningMsg("密码不得小于8位,并且至少包含数字、字母和特殊字符中两种")
if (data.newPassword !== data.reNewPassword) return Util.warningMsg("输入的新密码不一致,请重新确认") if (data.newPassword !== data.reNewPassword) return Util.warningMsg("输入的新密码不一致,请重新确认")
if (data.password === data.newPassword) return Util.warningMsg("原密码跟新密码不能一致") if (data.password === data.newPassword) return Util.warningMsg("原密码跟新密码不能一致")
this.$put(this.api.pwd, { this.$post(this.api.pwd, Util.rsa({
id: this.form.id, id: this.form.id,
oldPwd: data.password, oldPwd: data.password,
newPwd: data.newPassword newPwd: data.newPassword
}).then(res => { })).then(res => {
Util.successMsg("更换成功") Util.successMsg("更换成功")
this.pwdVisible = false this.pwdVisible = false
}).catch(err => { }) }).catch(err => { })

@ -741,7 +741,7 @@ export default {
}, },
// //
resetPassword (row) { resetPassword (row) {
this.$confirm(`确定重置密码?重置后密码为111aaa`, "提示", { type: "warning" }).then(() => { this.$confirm(`确定重置密码?重置后密码为Iasf#2024`, "提示", { type: "warning" }).then(() => {
this.$post(this.api.resetPwd, Util.rsa(+row.id)).then(res => { this.$post(this.api.resetPwd, Util.rsa(+row.id)).then(res => {
Util.successMsg("重置成功") Util.successMsg("重置成功")
}).catch(res => { }) }).catch(res => { })

@ -6,7 +6,6 @@ let host = `${location.origin}/`
if (isDev) { if (isDev) {
host = 'http://192.168.31.51:10000/' host = 'http://192.168.31.51:10000/'
} }
const Setting = { const Setting = {
/** /**
* 基础配置 * 基础配置

Loading…
Cancel
Save