Browse Source

产业联盟管理系统 终版

master
DESKTOP-00SUCB6\Administrator 4 years ago
parent
commit
f2938f1270
  1. 6
      public/config.js
  2. 19
      src/api/company.js
  3. 10
      src/utils/lineHeight.js
  4. 10
      src/views/layout/components/Sidebar/index.vue
  5. 4
      src/views/layout/components/header.vue
  6. 4
      src/views/login/userInfo.vue
  7. 11
      src/views/systemManage/attendee/attendee.vue
  8. 40
      src/views/systemManage/company/company.vue
  9. 6
      src/views/systemManage/meet/meeting.vue
  10. 67
      src/views/systemManage/meet/meetingDetail.vue
  11. 305
      src/views/systemManage/notice/noticeDetail.vue

6
public/config.js

@ -5,9 +5,9 @@
// SHOW_URL: "http://www.fatoaniic.com/ftpfile/", // SHOW_URL: "http://www.fatoaniic.com/ftpfile/",
// } // }
config = { config = {
API_URL: 'http://172.119.50.51:8082', API_URL: 'http://61.135.192.42:8082',
UPLOAD_URL: "http://172.119.50.51:8082/attachment/uploadOne", UPLOAD_URL: "http://61.135.192.42:8082/attachment/uploadOne",
DOWNLOAD_URL: "http://172.119.50.51:8082/api-ftp/ftp/download?filename=", DOWNLOAD_URL: "http://61.135.192.42:8082/api-ftp/ftp/download?filename=",
SHOW_URL: "http://www.fatoaniic.com/ftpfile/", SHOW_URL: "http://www.fatoaniic.com/ftpfile/",
} }

19
src/api/company.js

@ -59,7 +59,14 @@ export function getSmallIndustryList(params) {
method: 'get' method: 'get'
}); });
} }
//审核企业信息
export function approveEnterprise(params) {
return request({
url: '/company/audit',
method: 'post',
data:params
});
}
@ -84,14 +91,8 @@ export function disableEnterprise(params) {
} }
//审核
export function approveEnterprise(params) {
return request({
url: '/api-enterprise/enApply/approve',
method: 'put',
data:params
});
}
//企业审核列表 //企业审核列表
export function enApplyList(params) { export function enApplyList(params) {
return request({ return request({

10
src/utils/lineHeight.js

@ -0,0 +1,10 @@
import Quill from "quill";
let Parchment = Quill.import("parchment");
console.log(Parchment);
class lineHeightAttributor extends Parchment.Attributor.Style {}
const lineHeightStyle = new lineHeightAttributor("lineHeight", "line-height", {
scope: Parchment.Scope.INLINE,
whitelist: ["initial", "1", "1.5", "1.75", "2", "3", "4"]
});
export { lineHeightStyle };

10
src/views/layout/components/Sidebar/index.vue

@ -40,11 +40,11 @@
data(){ data(){
return { return {
routes:[ routes:[
{ // {
path: 'menu', // path: 'menu',
name: 'menuManage', // name: 'menuManage',
meta: {title: '菜单管理', icon: 'table', noCache: true}, // meta: {title: '', icon: 'table', noCache: true},
}, // },
{ {
path: 'company', path: 'company',
name: 'companyManage', name: 'companyManage',

4
src/views/layout/components/header.vue

@ -23,9 +23,9 @@
<i class="el-icon-caret-bottom"></i> <i class="el-icon-caret-bottom"></i>
</div> </div>
<el-dropdown-menu class="user-dropdown" slot="dropdown"> <el-dropdown-menu class="user-dropdown" slot="dropdown">
<router-link class="inlineBlock" to="/userInfo"> <!-- <router-link class="inlineBlock" to="/userInfo">
<el-dropdown-item>个人中心</el-dropdown-item> <el-dropdown-item>个人中心</el-dropdown-item>
</router-link> </router-link> -->
<router-link class="inlineBlock" to="/editPassword"> <router-link class="inlineBlock" to="/editPassword">
<el-dropdown-item>修改密码</el-dropdown-item> <el-dropdown-item>修改密码</el-dropdown-item>
</router-link> </router-link>

4
src/views/login/userInfo.vue

@ -2,9 +2,9 @@
<div class="app-container"> <div class="app-container">
<div class="app-main"> <div class="app-main">
<el-form :model="form" :rules="rules" ref="userInfo" class="el-form-new"> <el-form :model="form" :rules="rules" ref="userInfo" class="el-form-new">
<el-form-item label="用户类型:" :label-width="formLabelWidth"> <!-- <el-form-item label="用户类型:" :label-width="formLabelWidth">
<span>{{ userType[1]}}</span> <span>{{ userType[1]}}</span>
</el-form-item> </el-form-item> -->
<el-form-item label="用户名:" :label-width="formLabelWidth" prop="userName"> <el-form-item label="用户名:" :label-width="formLabelWidth" prop="userName">
<span>{{ param.userName }}</span> <span>{{ param.userName }}</span>
</el-form-item> </el-form-item>

11
src/views/systemManage/attendee/attendee.vue

@ -5,6 +5,9 @@
<el-form-item label="公司名称:"> <el-form-item label="公司名称:">
<el-input v-model="formSearch.name" size="mini" placeholder="请输入公司名" clearable maxlength="50"></el-input> <el-input v-model="formSearch.name" size="mini" placeholder="请输入公司名" clearable maxlength="50"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="会议名称:">
<el-input v-model="formSearch.conferenceTitle" size="mini" placeholder="请输入会议名称" clearable maxlength="50"></el-input>
</el-form-item>
<el-form-item> <el-form-item>
<el-button type="primary" size="mini" icon="el-icon-search" @click="search">查询</el-button> <el-button type="primary" size="mini" icon="el-icon-search" @click="search">查询</el-button>
</el-form-item> </el-form-item>
@ -17,7 +20,7 @@
<el-table-column type="selection" width="55"></el-table-column> <el-table-column type="selection" width="55"></el-table-column>
<el-table-column prop="conferenceTitle" label="会议名称"></el-table-column> <el-table-column prop="conferenceTitle" label="会议名称"></el-table-column>
<el-table-column prop="companyName" label="公司名称"></el-table-column> <el-table-column prop="companyName" label="公司名称"></el-table-column>
<el-table-column prop="name" label="会人员"></el-table-column> <el-table-column prop="name" label="会人员"></el-table-column>
<el-table-column prop="phone" label="手机号"></el-table-column> <el-table-column prop="phone" label="手机号"></el-table-column>
<el-table-column prop="email" label="邮箱"></el-table-column> <el-table-column prop="email" label="邮箱"></el-table-column>
<el-table-column prop="duty" label="职务"></el-table-column> <el-table-column prop="duty" label="职务"></el-table-column>
@ -54,7 +57,8 @@ export default {
data() { data() {
return { return {
formSearch: {// formSearch: {//
name: '' name: '',
conferenceTitle:''
}, },
currentPage: 1, // currentPage: 1, //
pageSize: 10, // pageSize: 10, //
@ -78,7 +82,8 @@ export default {
pageNum: this.currentPage, pageNum: this.currentPage,
pageSize: this.pageSize, pageSize: this.pageSize,
search:{ search:{
companyName: this.formSearch.name.trim() companyName: this.formSearch.name.trim(),
conferenceTitle:this.formSearch.conferenceTitle.trim()
}, },
sort:'' sort:''
} }

40
src/views/systemManage/company/company.vue

@ -30,24 +30,20 @@
{{ scope.row.createTime }} {{ scope.row.createTime }}
</template> </template>
</el-table-column> </el-table-column>
<!--<el-table-column prop="auditStatus" label="审核状态"> <el-table-column prop="auditStatusText" label="审核状态"></el-table-column>
<template slot-scope="scope"> <el-table-column prop="remark" label="审核意见"></el-table-column>
<span v-if="scope.row.auditStatus == 0" class="color-wait">未审核</span>
<span v-else-if="scope.row.auditStatus == 1" class="color-success">通过</span>
<span v-else-if="scope.row.auditStatus == 2" class="color-error">驳回</span>
</template>
</el-table-column>-->
<!-- <el-table-column label="状态" width="100"> <!-- <el-table-column label="状态" width="100">
<template slot-scope="scope"> <template slot-scope="scope">
<el-switch v-model="scope.row.status" active-color="#13ce66" inactive-color="#ff4949" :active-value="1" <el-switch v-model="scope.row.status" active-color="#13ce66" inactive-color="#ff4949" :active-value="1"
:inactive-value="0" @change="openOrClose(scope.row,scope.row.status)"></el-switch> :inactive-value="0" @change="openOrClose(scope.row,scope.row.status)"></el-switch>
</template> </template>
</el-table-column> --> </el-table-column> -->
<el-table-column label="操作" width="150"> <el-table-column label="操作" width="200">
<template slot-scope="scope"> <template slot-scope="scope">
<!--<el-button type="success" size="mini" round v-if="scope.row.auditStatus == 0" @click="auditing(scope.row.code,scope.row.version,'1')">通过</el-button> <!-- <el-button type="success" size="mini" round v-if="scope.row.auditStatus == 0" @click="auditing(scope.row.code,scope.row.version,'1')">通过</el-button>
<el-button type="primary" size="mini" round v-if="scope.row.auditStatus == 0" @click="auditing(scope.row.code,scope.row.version,'2')">不通过</el-button> <el-button type="primary" size="mini" round v-if="scope.row.auditStatus == 0" @click="auditing(scope.row.code,scope.row.version,'2')">不通过</el-button> -->
<el-button type="text" size="small" v-if="scope.row.auditStatus == 0" @click="showVerifyForm(scope.row.id)">审核</el-button>--> <el-button type="text" size="small" v-if="scope.row.auditStatus == 0" @click="showVerifyForm(scope.row.id)">审核</el-button>
<el-button type="text" size="small" @click="showCompany(scope.row.id)">详情</el-button> <el-button type="text" size="small" @click="showCompany(scope.row.id)">详情</el-button>
<el-button type="text" size="small" @click="editCompany(scope.row.id)"><i class="el-icon-edit"></i>修改</el-button> <el-button type="text" size="small" @click="editCompany(scope.row.id)"><i class="el-icon-edit"></i>修改</el-button>
<el-button type="text" size="small" @click="deleteCompany(scope.row.id)"><i class="el-icon-delete"></i>删除</el-button> <el-button type="text" size="small" @click="deleteCompany(scope.row.id)"><i class="el-icon-delete"></i>删除</el-button>
@ -69,11 +65,11 @@
<el-form-item label="审核状态:" :label-width="formLabelWidth" prop="auditStatus"> <el-form-item label="审核状态:" :label-width="formLabelWidth" prop="auditStatus">
<el-radio-group v-model="verifyForm.auditStatus"> <el-radio-group v-model="verifyForm.auditStatus">
<el-radio :label="1">通过</el-radio> <el-radio :label="1">通过</el-radio>
<el-radio :label="2">驳回</el-radio> <el-radio :label="2">不通过</el-radio>
</el-radio-group> </el-radio-group>
</el-form-item> </el-form-item>
<el-form-item label="审核意见:" :label-width="formLabelWidth" prop="comments"> <el-form-item label="审核意见:" :label-width="formLabelWidth" prop="remark">
<el-input type="textarea" v-model="verifyForm.comments" autocomplete="off"></el-input> <el-input type="textarea" v-model="verifyForm.remark" autocomplete="off"></el-input>
</el-form-item> </el-form-item>
</el-form> </el-form>
<div slot="footer" class="dialog-footer"> <div slot="footer" class="dialog-footer">
@ -87,9 +83,9 @@
<script> <script>
import { import {
getEnterpriseList, getEnterpriseList,
addEnterprise, // addEnterprise,
deleteEnterprise, deleteEnterprise,
editEnterprise, // editEnterprise,
enableEnterprise, enableEnterprise,
disableEnterprise, disableEnterprise,
approveEnterprise approveEnterprise
@ -112,15 +108,15 @@ export default {
formLabelWidth: '120px', formLabelWidth: '120px',
verifyForm: { verifyForm: {
auditStatus: "", auditStatus: "",
comments: "", remark: "",
//id:"",//id ID //id:"",//id ID
en_id: "",//id id: "",//id
}, },
verifyRules: { // verifyRules: { //
auditStatus: [ auditStatus: [
{required: true, message: '请选择审核结果', trigger: 'blur'}, {required: true, message: '请选择审核结果', trigger: 'blur'},
], ],
comments: [ remark: [
// {required: true, message: '', trigger: 'blur'}, // {required: true, message: '', trigger: 'blur'},
{min: 2, max: 250, message: '审核意见长度在2~250字符之间', trigger: 'blur'}, {min: 2, max: 250, message: '审核意见长度在2~250字符之间', trigger: 'blur'},
], ],
@ -187,7 +183,7 @@ export default {
}); });
}, },
// //
// auditing(code,version,status){ // auditing(code,version,status){
// let param = { // let param = {
// code:code, // code:code,
@ -205,7 +201,7 @@ export default {
// //
showVerifyForm(id) { showVerifyForm(id) {
this.dialogVerify = true; this.dialogVerify = true;
this.verifyForm.en_id = id; this.verifyForm.id = id;
}, },
//form //form
submitForm(formName) { submitForm(formName) {
@ -231,7 +227,7 @@ export default {
auditStatus: "", auditStatus: "",
comments: "", comments: "",
//id:"",//ID //id:"",//ID
en_id: "", id: "",
}; };
this.dialogVerify = false; this.dialogVerify = false;
}, },

6
src/views/systemManage/meet/meeting.vue

@ -25,13 +25,13 @@
</el-table-column> </el-table-column>
<el-table-column prop="startTime" label="开始时间" width="120"></el-table-column> <el-table-column prop="startTime" label="开始时间" width="120"></el-table-column>
<el-table-column prop="endTime" label="结束时间" width="120"></el-table-column> <el-table-column prop="endTime" label="结束时间" width="120"></el-table-column>
<el-table-column prop="confereeType" label="参会类型" width="120"> <!-- <el-table-column prop="confereeType" label="参会类型" width="120">
<template slot-scope="scope"> <template slot-scope="scope">
<span v-if="scope.row.confereeType == 0">所有人</span> <span v-if="scope.row.confereeType == 0">所有人</span>
<span v-else-if="scope.row.confereeType == 1">仅限会员</span> <span v-else-if="scope.row.confereeType == 1">仅限会员</span>
</template> </template>
</el-table-column> </el-table-column> -->
<el-table-column prop="schedule" label="会议日程"></el-table-column> <!-- <el-table-column prop="schedule" label="会议日程"></el-table-column> -->
<el-table-column prop="address" label="会议地址"></el-table-column> <el-table-column prop="address" label="会议地址"></el-table-column>
<el-table-column prop="sponsor" label="主办单位"></el-table-column> <el-table-column prop="sponsor" label="主办单位"></el-table-column>
<el-table-column prop="organizer" label="承办单位"></el-table-column> <el-table-column prop="organizer" label="承办单位"></el-table-column>

67
src/views/systemManage/meet/meetingDetail.vue

@ -13,25 +13,26 @@
<el-option label="线上会议沙龙" :value="3"></el-option> <el-option label="线上会议沙龙" :value="3"></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="会议日期:" :label-width="formLabelWidth" prop="time"> <el-form-item label="会议日期:" :label-width="formLabelWidth" prop="startTime">
<el-date-picker <el-date-picker
v-model="form.time" v-model="times"
@input="changeTimes"
type="daterange" type="daterange"
value-format="yyyy-MM-dd" value-format="yyyy-MM-dd"
range-separator="至" range-separator="至"
start-placeholder="开始日期" start-placeholder="开始日期"
end-placeholder="结束日期"> end-placeholder="结束日期">
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
<el-form-item label="参会类型:" :label-width="formLabelWidth" prop="confereeType"> <!-- <el-form-item label="参会类型:" :label-width="formLabelWidth" prop="confereeType">
<el-select v-model="form.confereeType" placeholder="请选择参会类型"> <el-select v-model="form.confereeType" placeholder="请选择参会类型">
<el-option label="所有人" :value="0"></el-option> <el-option label="所有人" :value="0"></el-option>
<el-option label="仅限会员" :value="1"></el-option> <el-option label="仅限会员" :value="1"></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item> -->
<el-form-item label="会议日程:" :label-width="formLabelWidth" prop="schedule"> <!-- <el-form-item label="会议日程:" :label-width="formLabelWidth" prop="schedule">
<el-input v-model="form.schedule" autocomplete="off" placeholder="请输入会议日程"></el-input> <el-input v-model="form.schedule" autocomplete="off" placeholder="请输入会议日程"></el-input>
</el-form-item> </el-form-item> -->
<el-form-item label="会议地址:" :label-width="formLabelWidth" prop="address"> <el-form-item label="会议地址:" :label-width="formLabelWidth" prop="address">
<el-input v-model="form.address" autocomplete="off" placeholder="请输入会议地址"></el-input> <el-input v-model="form.address" autocomplete="off" placeholder="请输入会议地址"></el-input>
</el-form-item> </el-form-item>
@ -82,14 +83,15 @@ export default {
ID: this.$route.query.id || '', //id ID: this.$route.query.id || '', //id
isEdit: false, // or isEdit: false, // or
formLabelWidth: '180px', //formlable formLabelWidth: '180px', //formlable
times:[],
form: { //form form: { //form
title: '', title: '',
type:'', type:'',
time:'', // times:[],
startTime:'', startTime:'',
endTime:'', endTime:'',
confereeType: '', confereeType: '1',
schedule: '', // schedule: '',
address: '', address: '',
sponsor:'', sponsor:'',
organizer:'', organizer:'',
@ -109,15 +111,15 @@ export default {
type: [ type: [
{required: true, message: '请选择会议类型', trigger: 'click'} {required: true, message: '请选择会议类型', trigger: 'click'}
], ],
time: [ startTime: [
{required: true, message: '请选择会议日期', trigger: 'click'} {required: true, message: '请选择会议日期', trigger: 'click'}
], ],
confereeType: [ // confereeType: [
{required: true, message: '请选择公告类别', trigger: 'click'} // {required: true, message: '', trigger: 'click'}
], // ],
schedule: [ // schedule: [
{required: true, message: '请输入会议日程', trigger: 'blur'} // {required: true, message: '', trigger: 'blur'}
], // ],
address: [ address: [
{required: true, message: '请输入会议地址', trigger: 'blur'} {required: true, message: '请输入会议地址', trigger: 'blur'}
], ],
@ -146,17 +148,17 @@ export default {
getMeetingById(this.ID).then(res => { getMeetingById(this.ID).then(res => {
if (res.data) { if (res.data) {
this.form = res.data this.form = res.data
this.form.time = [res.data.startTime,res.data.endTime] this.times = [this.form.startTime,this.form.endTime]
} }
}) })
}, },
// //
addMeetingInfo() { addMeetingInfo() {
let params = JSON.parse(JSON.stringify(this.form)) // let params = JSON.parse(JSON.stringify(this.form))
params.startTime = params.time[0] // params.startTime = this.form.times[0]
params.endTime = params.time[0] // params.endTime = this.form.times[1]
delete(params.time) // delete(params.times)
addMeeting(params).then(res => { addMeeting(this.form).then(res => {
this.$message({ this.$message({
message: '添加成功!', message: '添加成功!',
type: 'success' type: 'success'
@ -166,11 +168,11 @@ export default {
}, },
// //
editMeet() { editMeet() {
let params = JSON.parse(JSON.stringify(this.form)) // let params = JSON.parse(JSON.stringify(this.form))
params.startTime = params.time[0] // params.startTime = params.time[0]
params.endTime = params.time[0] // params.endTime = params.time[0]
delete(params.time) // delete(params.time)
editMeeting(params).then(res => { editMeeting(this.form).then(res => {
this.$message({ this.$message({
message: '修改成功!', message: '修改成功!',
type: 'success' type: 'success'
@ -194,6 +196,15 @@ export default {
} }
}); });
}, },
changeTimes(value){
if(value == null) {
this.form.startTime = ''
this.form.endTime = ''
} else {
this.form.startTime = value[0]
this.form.endTime = value[1]
}
},
// //
resetForm(formName) { resetForm(formName) {
this.$refs[formName].resetFields(); this.$refs[formName].resetFields();

305
src/views/systemManage/notice/noticeDetail.vue

@ -6,6 +6,28 @@
<el-form-item label="标题:" :label-width="formLabelWidth" prop="title"> <el-form-item label="标题:" :label-width="formLabelWidth" prop="title">
<el-input v-model="form.title" autocomplete="off" placeholder="请输入标题"></el-input> <el-input v-model="form.title" autocomplete="off" placeholder="请输入标题"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="文章类别:" :label-width="formLabelWidth" prop="type">
<el-select v-model="form.type" placeholder="请选择文章类型" @change="changeType">
<el-option
v-for="item in sortType"
:key="item.value"
:label="item.name"
:value="item.value">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="是否展示在首页轮播:" :label-width="formLabelWidth" prop="isHomeSlideshow">
<el-switch
v-model="form.isHomeSlideshow"
@change="checkIsCarousel"
active-color="#13ce66"
inactive-color="#ff4949"
:active-value="1"
:inactive-value="0">
</el-switch>
&nbsp;
<span>(如果开启请上传标题图片)</span>
</el-form-item>
<el-form-item label="标题图片:" :label-width="formLabelWidth" prop="imgUrl"> <el-form-item label="标题图片:" :label-width="formLabelWidth" prop="imgUrl">
<el-upload <el-upload
class="avatar-uploader" class="avatar-uploader"
@ -20,19 +42,10 @@
<i v-else class="el-icon-plus avatar-uploader-icon"></i> <i v-else class="el-icon-plus avatar-uploader-icon"></i>
</el-upload> </el-upload>
</el-form-item> </el-form-item>
<el-form-item label="文章类别:" :label-width="formLabelWidth" prop="type">
<el-select v-model="form.type" placeholder="请选择文章类型"> <!-- <el-form-item label="优先级:" :label-width="formLabelWidth" prop="sort">
<el-option
v-for="item in sortType"
:key="item.value"
:label="item.name"
:value="item.value">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="优先级:" :label-width="formLabelWidth" prop="sort">
<el-input v-model.number="form.sort" autocomplete="off" placeholder="请输入优先级"></el-input> <el-input v-model.number="form.sort" autocomplete="off" placeholder="请输入优先级"></el-input>
</el-form-item> </el-form-item> -->
<el-form-item label="是否发布:" :label-width="formLabelWidth" prop="isIssue"> <el-form-item label="是否发布:" :label-width="formLabelWidth" prop="isIssue">
<el-switch <el-switch
v-model="form.isIssue" v-model="form.isIssue"
@ -42,18 +55,6 @@
:inactive-value="0"> :inactive-value="0">
</el-switch> </el-switch>
</el-form-item> </el-form-item>
<el-form-item label="是否展示在首页轮播:" :label-width="formLabelWidth" prop="isHomeSlideshow">
<el-switch
v-model="form.isHomeSlideshow"
@change="checkIsCarousel"
active-color="#13ce66"
inactive-color="#ff4949"
:active-value="1"
:inactive-value="0">
</el-switch>
&nbsp;
<span>(如果开启请上传标题图片)</span>
</el-form-item>
<el-form-item label="生效时间:" :label-width="formLabelWidth" prop="issueStartTime"> <el-form-item label="生效时间:" :label-width="formLabelWidth" prop="issueStartTime">
<el-date-picker <el-date-picker
v-model="form.issueStartTime" v-model="form.issueStartTime"
@ -108,6 +109,8 @@
class="ql-editor" class="ql-editor"
v-model="form.content" v-model="form.content"
ref="myQuillEditor" ref="myQuillEditor"
@ready="ready($event)"
@change="onEditorChange($event)"
:options="editorOption" :options="editorOption"
> >
</quill-editor> </quill-editor>
@ -132,6 +135,7 @@ const Font = Quill.import('formats/font');
// We do not add Aref Ruqaa since it is the default // We do not add Aref Ruqaa since it is the default
Font.whitelist =['Arial', 'serif', 'sans-serif', '宋体', '黑体', '微软雅黑']; Font.whitelist =['Arial', 'serif', 'sans-serif', '宋体', '黑体', '微软雅黑'];
Quill.register(Font, true); Quill.register(Font, true);
import { lineHeightStyle } from "@/utils/lineHeight";
import {addNoticeInfo, getNoticeInfo, editNoticeInfo,getNoticeTypeList} from "@/api/notice" import {addNoticeInfo, getNoticeInfo, editNoticeInfo,getNoticeTypeList} from "@/api/notice"
import { getToken } from '@/utils/auth' import { getToken } from '@/utils/auth'
export default { export default {
@ -163,7 +167,7 @@ export default {
isIssue:'1', isIssue:'1',
accessoryUrl:'', accessoryUrl:'',
isHomeSlideshow:0, isHomeSlideshow:0,
sort:'' // sort:''
}, },
rules: { //form rules: { //form
title: [ title: [
@ -184,9 +188,9 @@ export default {
issueStartTime: [ issueStartTime: [
{required: true, message: '请选择生效日期', trigger: 'click'} {required: true, message: '请选择生效日期', trigger: 'click'}
], ],
sort: [ // sort: [
{required: true, message: '请输入数字类型优先级', trigger: 'blur'} // {required: true, message: '', trigger: 'blur'}
], // ],
sender: [ sender: [
{message: '请输入作者', trigger: 'blur'} {message: '请输入作者', trigger: 'blur'}
], ],
@ -213,6 +217,7 @@ export default {
[{'color': []}, {'background': []}], // [{'color': []}, {'background': []}], //
[{'font': ['Arial', 'serif', 'sans-serif', '宋体', '黑体', '微软雅黑']}], // [{'font': ['Arial', 'serif', 'sans-serif', '宋体', '黑体', '微软雅黑']}], //
[{'align': []}], // [{'align': []}], //
[{'lineheight': ["initial", "1", "1.5", "1.75", "2", "3", "4", "5"] }],
['clean'], // ['clean'], //
['link','image', 'video','upload'] // ['link','image', 'video','upload'] //
], ],
@ -225,7 +230,14 @@ export default {
} else { } else {
this.quill.format('image', false); this.quill.format('image', false);
} }
} },
lineheight: function(value) {
if (value) {
this.quill.format("lineHeight", value);
} else {
console.log(value);
}
}
} }
}, },
imageDrop: true, imageDrop: true,
@ -295,7 +307,6 @@ export default {
vm.$Message.error('图片插入失败') vm.$Message.error('图片插入失败')
} }
}, },
onEditorChange(){}, //
// //
addNotice() { addNotice() {
const param = { const param = {
@ -310,7 +321,7 @@ export default {
isIssue:this.form.isIssue, isIssue:this.form.isIssue,
accessoryUrl:this.form.accessoryUrl, accessoryUrl:this.form.accessoryUrl,
isHomeSlideshow:this.form.isHomeSlideshow, isHomeSlideshow:this.form.isHomeSlideshow,
sort:this.form.sort // sort:this.form.sort
} }
let temp1 = this.sortType.filter(item => { let temp1 = this.sortType.filter(item => {
if(item.value == this.form.type) if(item.value == this.form.type)
@ -375,6 +386,21 @@ export default {
} }
return isLt2M; return isLt2M;
}, },
//
changeType(value){
const TYPE = ['SPZB','ZNZZ','SPAQ','GYHLW','ZNGYL','XLS' ]
if(TYPE.indexOf(value) != -1)
{
this.rules.imgUrl = [
{required: true, message: '请上传标题图片', trigger: 'blur'}
]
} else {
this.rules.imgUrl = [
{required: false, message: '请上传标题图片', trigger: 'blur'}
]
}
},
//
checkIsCarousel(value){ checkIsCarousel(value){
if(value) if(value)
{ {
@ -412,7 +438,18 @@ export default {
// //
handleAvatarSuccess(response, file, fileList) { handleAvatarSuccess(response, file, fileList) {
this.form.accessoryUrl = response.data this.form.accessoryUrl = response.data
} },
ready() {
Quill.register({ "formats/lineHeight": lineHeightStyle }, true);
},
onEditorChange(editor) {
// this.editorContent = editor.html;
this.innerText = editor.text.replace(/[\r\n]$/g, "");
this.$emit("onChange", {
content: editor.html,
textLength: this.innerText.length
});
},
} }
} }
</script> </script>
@ -432,8 +469,9 @@ export default {
<style lang="scss"> <style lang="scss">
.ql-editor { .ql-editor {
min-height: 350px !important; min-height: 350px !important;
line-height: normal !important;
background-color: #ffffff;
} }
.edui-default .edui-toolbar { .edui-default .edui-toolbar {
line-height: 20px; line-height: 20px;
} }
@ -477,3 +515,204 @@ export default {
} }
} }
</style> </style>
<style>
.editor {
line-height: normal !important;
/* height: 400px; */
background-color: #ffffff;
}
.ql-snow .ql-tooltip[data-mode="link"]::before {
content: "请输入链接地址:";
}
.ql-snow .ql-tooltip.ql-editing a.ql-action::after {
border-right: 0px;
content: "保存";
padding-right: 0px;
}
.ql-snow .ql-tooltip a.ql-action::after {
content: "编辑";
}
.ql-snow .ql-tooltip a.ql-remove::before {
content: "移除";
}
.ql-snow .ql-tooltip[data-mode="video"]::before {
content: "请输入视频地址:";
}
.ql-snow .ql-picker.ql-size .ql-picker-label::before,
.ql-snow .ql-picker.ql-size .ql-picker-item::before {
content: "14px";
}
.ql-snow .ql-picker.ql-size .ql-picker-label[data-value="small"]::before,
.ql-snow .ql-picker.ql-size .ql-picker-item[data-value="small"]::before {
content: "10px";
}
.ql-snow .ql-picker.ql-size .ql-picker-label[data-value="large"]::before,
.ql-snow .ql-picker.ql-size .ql-picker-item[data-value="large"]::before {
content: "18px";
}
.ql-snow .ql-picker.ql-size .ql-picker-label[data-value="huge"]::before,
.ql-snow .ql-picker.ql-size .ql-picker-item[data-value="huge"]::before {
content: "32px";
}
.ql-snow .ql-picker.ql-header .ql-picker-label::before,
.ql-snow .ql-picker.ql-header .ql-picker-item::before {
content: "文本";
}
.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="1"]::before,
.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="1"]::before {
content: "标题1";
}
.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="2"]::before,
.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="2"]::before {
content: "标题2";
}
.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="3"]::before,
.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="3"]::before {
content: "标题3";
}
.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="4"]::before,
.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="4"]::before {
content: "标题4";
}
.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="5"]::before,
.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="5"]::before {
content: "标题5";
}
.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="6"]::before,
.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="6"]::before {
content: "标题6";
}
.ql-snow .ql-picker.ql-font .ql-picker-label::before,
.ql-snow .ql-picker.ql-font .ql-picker-item::before {
content: "标准字体";
}
.ql-snow .ql-picker.ql-font .ql-picker-label[data-value="serif"]::before,
.ql-snow .ql-picker.ql-font .ql-picker-item[data-value="serif"]::before {
content: "衬线字体";
}
.ql-snow .ql-picker.ql-font .ql-picker-label[data-value="monospace"]::before,
.ql-snow .ql-picker.ql-font .ql-picker-item[data-value="monospace"]::before {
content: "等宽字体";
}
/* 编辑器内部出现滚动条 */
.ql-container {
/* overflow-y: auto; */
height: 400px !important;
}
/*滚动条整体样式*/
.ql-container ::-webkit-scrollbar {
width: 10px; /*竖向滚动条的宽度*/
height: 10px; /*横向滚动条的高度*/
}
.ql-container ::-webkit-scrollbar-thumb {
/*滚动条里面的小方块*/
background: #666666;
border-radius: 5px;
}
.ql-container ::-webkit-scrollbar-track {
/*滚动条轨道的样式*/
background: #ccc;
border-radius: 5px;
}
.ql-snow .ql-picker.ql-size .ql-picker-label[data-value="10px"]::before,
.ql-snow .ql-picker.ql-size .ql-picker-item[data-value="10px"]::before {
content: "10px";
}
.ql-snow .ql-picker.ql-size .ql-picker-label[data-value="11px"]::before,
.ql-snow .ql-picker.ql-size .ql-picker-item[data-value="11px"]::before {
content: "11px";
}
.ql-snow .ql-picker.ql-size .ql-picker-label[data-value="12px"]::before,
.ql-snow .ql-picker.ql-size .ql-picker-item[data-value="12px"]::before {
content: "12px";
}
.ql-snow .ql-picker.ql-size .ql-picker-label[data-value="13px"]::before,
.ql-snow .ql-picker.ql-size .ql-picker-item[data-value="13px"]::before {
content: "13px";
}
.ql-snow .ql-picker.ql-size .ql-picker-label[data-value="14px"]::before,
.ql-snow .ql-picker.ql-size .ql-picker-item[data-value="14px"]::before {
content: "14px";
}
.ql-snow .ql-picker.ql-size .ql-picker-label[data-value="15px"]::before,
.ql-snow .ql-picker.ql-size .ql-picker-item[data-value="15px"]::before {
content: "15px";
}
.ql-snow .ql-picker.ql-size .ql-picker-label[data-value="16px"]::before,
.ql-snow .ql-picker.ql-size .ql-picker-item[data-value="16px"]::before {
content: "16px";
}
.ql-snow .ql-picker.ql-size .ql-picker-label[data-value="17px"]::before,
.ql-snow .ql-picker.ql-size .ql-picker-item[data-value="17px"]::before {
content: "17px";
}
.ql-snow .ql-picker.ql-size .ql-picker-label[data-value="18px"]::before,
.ql-snow .ql-picker.ql-size .ql-picker-item[data-value="18px"]::before {
content: "18px";
}
.ql-snow .ql-picker.ql-size .ql-picker-label[data-value="19px"]::before,
.ql-snow .ql-picker.ql-size .ql-picker-item[data-value="19px"]::before {
content: "19px";
}
.ql-snow .ql-picker.ql-size .ql-picker-label[data-value="20px"]::before,
.ql-snow .ql-picker.ql-size .ql-picker-item[data-value="20px"]::before {
content: "20px";
}
.ql-snow .ql-picker.ql-size .ql-picker-label[data-value="21px"]::before,
.ql-snow .ql-picker.ql-size .ql-picker-item[data-value="21px"]::before {
content: "21px";
}
.ql-snow .ql-picker.ql-size .ql-picker-label[data-value="22px"]::before,
.ql-snow .ql-picker.ql-size .ql-picker-item[data-value="22px"]::before {
content: "22px";
}
.ql-snow .ql-picker.ql-size .ql-picker-label[data-value="23px"]::before,
.ql-snow .ql-picker.ql-size .ql-picker-item[data-value="23px"]::before {
content: "23px";
}
.ql-snow .ql-picker.ql-size .ql-picker-label[data-value="24px"]::before,
.ql-snow .ql-picker.ql-size .ql-picker-item[data-value="24px"]::before {
content: "24px";
}
.ql-snow .ql-picker.ql-size .ql-picker-label[data-value="25px"]::before,
.ql-snow .ql-picker.ql-size .ql-picker-item[data-value="25px"]::before {
content: "25px";
}
.ql-snow .ql-picker.ql-size .ql-picker-label[data-value="26px"]::before,
.ql-snow .ql-picker.ql-size .ql-picker-item[data-value="26px"]::before {
content: "26px";
}
.ql-snow .ql-picker.ql-lineheight .ql-picker-label::before{
content: "行高";
}
.ql-snow
.ql-picker.ql-lineheight
.ql-picker-item[data-value="initial"]::before {
content: "默认";
}
.ql-snow .ql-picker.ql-lineheight .ql-picker-item[data-value="1"]::before {
content: "1";
}
.ql-snow .ql-picker.ql-lineheight .ql-picker-item[data-value="1.5"]::before {
content: "1.5";
}
.ql-snow .ql-picker.ql-lineheight .ql-picker-item[data-value="1.75"]::before {
content: "1.75";
}
.ql-snow .ql-picker.ql-lineheight .ql-picker-item[data-value="2"]::before {
content: "2";
}
.ql-snow .ql-picker.ql-lineheight .ql-picker-item[data-value="3"]::before {
content: "3";
}
.ql-snow .ql-picker.ql-lineheight .ql-picker-item[data-value="4"]::before {
content: "4";
}
.ql-snow .ql-picker.ql-lineheight .ql-picker-item[data-value="5"]::before {
content: "5";
}
.ql-snow .ql-picker.ql-lineheight {
width: 70px;
}
</style>
Loading…
Cancel
Save