Browse Source

Merge branch 'master' of ssh://101.201.226.163:50022/binbin0314/datang-admin

master
aBin 3 years ago
parent
commit
84efb9d066
  1. 8
      src/components/Banner/addOrEdit.vue
  2. 9
      src/components/Detail/addOrEdit.vue
  3. 166
      src/components/News/addOrEdit.vue
  4. 11
      src/styles/flex.scss
  5. 1
      src/views/privilegeManagement/account/index.vue

8
src/components/Banner/addOrEdit.vue

@ -1,7 +1,7 @@
<template>
<div class="container">
<div class="title">{{ showAdd ? '添加' : '修改' }}轮播图</div>
<el-form :model="formLabelAlign" :rules="rules" ref="ruleForm" label-width="80px" class="demo-ruleForm">
<el-form :model="formLabelAlign" :rules="rules" ref="ruleForm" label-width="120px" class="demo-ruleForm">
<el-form-item label="图片:" prop="url">
<el-upload
class="avatar-uploader"
@ -199,9 +199,9 @@
border: 1px dashed #d9d9d9;
font-size: 28px;
color: #8c939d;
width: 178px;
height: 178px;
line-height: 178px;
width: 150px;
height: 150px;
line-height: 150px;
text-align: center;
}
</style>

9
src/components/Detail/addOrEdit.vue

@ -62,6 +62,9 @@
showPage: [
{ type: 'array', required: true, message: '请选择位置', trigger: 'change' }
],
content: [
{ type: 'string', required: true, message: '请输入正文' }
],
}
}
},
@ -187,9 +190,9 @@
border: 1px dashed #d9d9d9;
font-size: 28px;
color: #8c939d;
width: 178px;
height: 178px;
line-height: 178px;
width: 150px;
height: 150px;
line-height: 150px;
text-align: center;
}
</style>

166
src/components/News/addOrEdit.vue

@ -1,71 +1,84 @@
<template>
<div class="container">
<div class="title">{{ showAdd ? '添加' : '修改' }}详情</div>
<el-form :model="formLabelAlign" :rules="rules" ref="ruleForm" label-width="150px" class="demo-ruleForm">
<el-form-item label="作者:" prop="author">
<el-input v-model="formLabelAlign.input" placeholder="作者" />
</el-form-item>
<el-form-item label="责编:" prop="editor">
<el-input v-model="formLabelAlign.editor" placeholder="责编" />
</el-form-item>
<el-form :model="formLabelAlign" :rules="rules" ref="ruleForm" label-width="140px" class="demo-ruleForm">
<el-form-item label="标题:" prop="title">
<el-input v-model="formLabelAlign.title" placeholder="标题" />
</el-form-item>
<el-form-item label="标题图片/视频:" prop="titleUrl">
<div class="flex justify-between">
<el-form-item label="作者:" prop="author">
<el-input v-model="formLabelAlign.input" class="w-230" placeholder="作者" />
</el-form-item>
<el-form-item label="责编:" prop="editor">
<el-input v-model="formLabelAlign.editor" class="w-230" placeholder="责编" />
</el-form-item>
</div>
<el-form-item label="显示类型:" prop="showType">
<el-radio-group v-model="formLabelAlign.showType" @change="changeShowType">
<el-radio :label="0">文本</el-radio>
<el-radio :label="1">图片</el-radio>
<el-radio :label="2">视频</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="跳转路径:" prop="jumpUrl">
<el-input v-model="formLabelAlign.jumpUrl" placeholder="跳转路径" />
<el-upload
class="upload-demo mt-4"
:action="`${BASE_API}/file/upload`"
:on-success="handleJumpUrlSuccess"
:show-file-list="false"
>
<el-button size="small" type="primary" class="mr-4">点击上传</el-button>
<span slot="tip" class="el-upload__tip">只能上传jpg/png文件且不超过500kb</span>
</el-upload>
</el-form-item>
<el-form-item label="标题图片/视频:" prop="titleUrl" :rules="[
{ required: formLabelAlign.showType === 0 ? false : true, message: formLabelAlign.showType === 1 ? '请上传标题图片' : '请上传标题视频' },
]">
<el-upload
class="avatar-uploader"
:action="`${BASE_API}/file/upload`"
:show-file-list="false"
:on-success="handleAvatarSuccess"
:before-upload="beforeAvatarUpload"
>
<img v-if="formLabelAlign.showType === 1" :src="formLabelAlign.titleUrl" class="avatar w-full">
<video v-else-if="formLabelAlign.showType === 2" controls="controls" :src="formLabelAlign.titleUrl"></video>
>
<img v-if="formLabelAlign.showType === 1 && formLabelAlign.titleUrl" :src="formLabelAlign.titleUrl" class="avatar-img">
<video v-else-if="formLabelAlign.showType === 2 && formLabelAlign.titleUrl" controls="controls" class="avatar-img" :src="formLabelAlign.titleUrl"></video>
<i v-else class="el-icon-plus avatar-uploader-icon"></i>
</el-upload>
</el-form-item>
<el-form-item label="跳转路径:" prop="jumpUrl">
<el-input v-model="formLabelAlign.jumpUrl" placeholder="跳转路径" />
</el-form-item>
<el-form-item label="发表时间:" prop="publishTime">
<el-date-picker
v-model="formLabelAlign.publishTime"
type="date"
placeholder="选择日期">
</el-date-picker>
</el-form-item>
<el-form-item label="页面显示位置:" prop="showPage">
<el-cascader
v-model="formLabelAlign.showPage"
:props="props"
:options="tabList"
@change="handleChange">
</el-cascader>
</el-form-item>
<el-form-item label="标题路径显示类型:" prop="showType">
<el-radio-group v-model="formLabelAlign.showType" @change="changeShowType">
<el-radio :label="0">文本</el-radio>
<el-radio :label="1">图片</el-radio>
<el-radio :label="2">视频</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="来源:" prop="source">
<el-input v-model="formLabelAlign.source" placeholder="来源" />
</el-form-item>
<el-form-item label="提交状态:" prop="submitStatus">
<el-radio-group v-model="formLabelAlign.submitStatus" @change="changeSubmitStatus">
<el-radio :label="0">保存</el-radio>
<el-radio :label="1">发布</el-radio>
</el-radio-group>
</el-form-item>
<div class="flex justify-between">
<el-form-item label="提交状态:" prop="submitStatus">
<el-radio-group v-model="formLabelAlign.submitStatus" @change="changeSubmitStatus">
<el-radio :label="0">保存</el-radio>
<el-radio :label="1">发布</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="来源:" prop="source">
<el-input v-model="formLabelAlign.source" class="w-230" placeholder="来源" />
</el-form-item>
</div>
<div class="flex justify-between">
<el-form-item label="页面显示位置:" prop="showPage">
<el-cascader
v-model="formLabelAlign.showPage"
:props="props"
class="w-230"
:options="tabList"
@change="handleChange">
</el-cascader>
</el-form-item>
<el-form-item label="发表时间:" prop="publishTime">
<el-date-picker
v-model="formLabelAlign.publishTime"
type="date"
class="w-230"
placeholder="选择日期">
</el-date-picker>
</el-form-item>
</div>
<el-form-item label="正文:" prop="content">
<!-- <editor /> -->
<el-input
type="textarea"
:rows="2"
placeholder="请输入内容"
v-model="formLabelAlign.content">
</el-input>
<editor ref="editor" :content="formLabelAlign.content" />
</el-form-item>
<el-form-item>
<el-button type="primary" @click="submit(formLabelAlign)">确定</el-button>
@ -76,7 +89,7 @@
</template>
<script>
// import Editor from './editor.vue';
import Editor from '../Detail/editor.vue';
import {BASE_API} from '../../config';
import {tabList} from '../../filters/code';
import {
@ -89,17 +102,26 @@
export default {
name: "detailsOfDistribution",
components: {
// Editor,
Editor,
},
props: ['currList', 'showAdd'],
data() {
return {
labelPosition: 'right',
formLabelAlign: {
title: '',
author: '',
editor: '',
showType: 0,
jumpUrl: '',
titleUrl: '',
submitStatus: 1,
source: '',
showPage: ['00', '0000'],
publishTime: '',
content: '',
showType: 0
},
fileList: [],
BASE_API,
tabList,
props: {
@ -108,8 +130,14 @@
children: 'children'
},
rules: {
title: [
{ type: 'string', required: true, message: '请输入标题', trigger: 'blur' }
],
showPage: [
{ type: 'array', required: true, message: '请选择位置', trigger: 'change' }
{ type: 'array', required: true, message: '请选择页面显示位置', trigger: 'change' }
],
content: [
{ type: 'string', required: true, message: '请输入正文' }
],
}
}
@ -153,6 +181,13 @@
return isLt2M;
},
//
handleJumpUrlSuccess(res) {
if (res.data && res.data.path) {
this.formLabelAlign.jumpUrl = res.data.path;
}
},
//
handleChange(value) {
this.formLabelAlign.showPage = value
@ -169,10 +204,13 @@
},
submit(formName) {
const child = this.$refs['editor']
this.formLabelAlign.content = child.getValue();
this.$refs.ruleForm.validate((valid) => {
if (valid) {
if(this.showAdd){
this.addCarousel(formName)
console.log('formName: ', formName);
// this.addCarousel(formName)
}else{
this.updateCarousel(formName)
}
@ -263,9 +301,17 @@
border: 1px dashed #d9d9d9;
font-size: 28px;
color: #8c939d;
width: 178px;
height: 178px;
line-height: 178px;
width: 150px;
height: 150px;
line-height: 150px;
text-align: center;
}
.avatar-img{
width: 150px;
}
.w-230{
width: 230px;
}
</style>

11
src/styles/flex.scss

@ -334,7 +334,7 @@
justify-content: center;
}
.justify-space-between{
.justify-between{
justify-content: space-between;
}
@ -512,3 +512,12 @@ h2{
.line-height-36{
line-height: 36px
}
// from
.el-dialog__header{
width: 100%;
margin-bottom: 30px;
font-size: 20px;
font-weight: bold;
text-align: center;
}

1
src/views/privilegeManagement/account/index.vue

@ -106,7 +106,6 @@
<el-button type="primary" @click="updateData(editRow)">确定</el-button>
</div>
</el-dialog>
</div>
</template>

Loading…
Cancel
Save