<template>
<div class="wrapper wrapper-content" id="notes" v-cloak>
<div class="row">
<div class="col-sm-12 animated fadeInRight">
<div class="mail-box-header">
<h2 langCode="Notification" params="通知发布">通知发布</h2>
</div>
<div class="mail-box">
<div class="mail-body">
<form class="form-horizontal" method="get">
<div class="form-group" style=" margin-bottom: 15px">
<label class="col-sm-1 control-label" :langCode="'Subject'" params="主题">主题:</label>
<div class="col-sm-5" style="position: relative">
<input type="text" class="form-control" value="" v-model="theme" maxlength="32">
</div>
<label class="col-sm-1 control-label" :langCode="'Recipient'" params="接收者">接收者:</label>
</div>
<div class="form-group" style=" margin-bottom: 15px">
<label class="col-sm-1 control-label" :langCode="'Publisher'" params="发布者">发布者:</label>
<div class="col-sm-5" style="position: relative">
<input type="text" class="form-control" value="" v-model="departmentName" maxlength="32" @focus="treeShowHide()">
<div id="treeDepartment" v-show="treeShow" style="height: 320px;width:400px;overflow-y: scroll;position: absolute;z-index: 9999;border: 1px solid #ccc">
<el-tree :data="data2" default-expand-all="" node-key="id" ref="tree" check-strictly :props="defaultProps" @node-click="getNodeData">
</el-tree>
</div>
</div>
</div>
<div class="form-group">
<label class="col-sm-1 control-label" :langCode="'Content'" params="内容">内容:</label>
<div class="col-sm-6">
<vue-editor v-model="content"></vue-editor>
</div>
<div class="col-sm-5">
<div id="treeDepartment1" style="height: 376px;width:400px;overflow-y: scroll;position: absolute;top:-90px;z-index: 9999;border: 1px solid #ccc">
<el-tree :data="data1" show-checkbox="" default-expand-all="" node-key="id" ref="tree" highlight-current :props="defaultProps">
</el-tree>
</div>
</div>
</div>
</form>
<form class="uploadForm" style="padding-left: 150px">
<input type ="file" name="file" class="fileContent hiddenClass" onchange="doUpload(this)"/>
<input type ="text" name="sessionId" class="hiddenClass"/>
<input type ="text" name="areaCode" class="hiddenClass"/>
</form>
<span langCode="Add_attachments">添加附件</span>
<span class="triggerUpLoad fa fa-paperclip" style="cursor: pointer;color:#78BC27" onclick="triggerUpLoad(this)"></span>
<div class="picC">
<ul class="picContent"></ul>
<ul class="fileContent"></ul>
</div>
</div>
<div class="mail-body text-right tooltip-demo">
<a class="btn btn-sm zbtn-bg" data-toggle="tooltip" data-placement="top" title="Send" @click='getCheckedKeys'><i class="fa fa-reply"></i> <span :langCode="'Send'" params="发送">发送</span></a>
<a class="btn btn-white btn-sm" data-toggle="tooltip" data-placement="top" title="Discard email" @click='cancle'><i class="fa fa-times" ></i> <span :langCode="'Give_up'" params="放弃">放弃</span></a>
<!--<a class="btn btn-white btn-sm" data-toggle="tooltip" data-placement="top" title="Move to draft folder"><i class="fa fa-pencil"></i> 存为草稿</a>-->
</div>
<div class="clearfix"></div>
</div>
</div>
</div>
</div>
</template>
<script>
import Vue from 'vue'
import '../../common/js/z_packge.js'
import { modal } from '../../common/js/modal.js'
import VueEditor from 'vue2-editor'
Vue.use(VueEditor);
export default {
name: "createNews",
data(){
return {
content: '',
theme:'' ,
brief:'',
data1: [],
data2: [],
defaultProps: {
children: 'children',
label: 'departName'
},
departmentId:'',
departmentName:'',
receiveDeptIds:'',
treeShow:false,
treeShowReceive:true,
}
},
methods:{
treeShowHide(){
let vm=this;
vm.treeShow=true;
},
getNodeData(data){
var vm=this;
vm.departmentName=data.departName;
vm.departmentId=data.id;
vm.treeShow=false;
},
getData(){
var getRoleListUrl = '/department/list';
var thisM = this;
$.ajaxSend(getRoleListUrl,{}).done(function (data) {
thisM.data2.push(data.payload.results.root);
thisM.data1.push(data.payload.results.root);
});
},
getCheckedKeys(){
let vm=this;
let receiveDept= this.$refs.tree.getCheckedKeys();
vm.receiveDeptIds=receiveDept.join(',');
if(vm.theme==''||typeof(vm.theme)==undefined){
modal.error($.i18n.prop('Please_fill_in_the_notice_heading'));
return false;
}
if(vm.departmentName==''||typeof(vm.departmentName)==undefined){
modal.error($.i18n.prop('Please_select_the_publisher'));
return false;
}
if(vm.receiveDeptIds==''||typeof(vm.receiveDeptIds)==undefined){
modal.error($.i18n.prop('Please_select_the_notification_recipient'));
return false;
}
if(vm.content==''||typeof(vm.content)==undefined){
modal.error($.i18n.prop('Please_fill_in_the_contents_of_the_notice'));
return false;
}
/**添加附件处理字段**picIds*/
var files = $('.picC').find('li');
let fileIds=[];
$.each(files, function (index, item) {
fileIds.push($(item).attr('picIds'));
});
var params ={
title: vm.theme,
publishName: vm.departmentName,
publishDeptId: vm.departmentId,
content: vm.content,
receiveDeptIds: vm.receiveDeptIds,
brief: vm.ctbrife(this.content),
attachmentIds:fileIds
};
let url = '/notice/save';
$.ajaxSend(url,params).done(function (data) {
if (data.code==='00000000') {
modal.success($.i18n.prop('Publish_successfully'));
vm.content ='';
vm.theme = '';
vm.$router.push('/notice')
}
});
},
cancle(){
window.history.back(-1);
},
ctbrife(str){
// str = str.replace(/\<c:if\b[^>]*>([\s\S]*?)</c:if>/g,'')
str = str.replace(/<\/?[^>]*>/g,''); //去除HTML tag
str = str.replace(/[ | ]*\n/g,'\n'); //去除行尾空白
//str = str.replace(/\n[\s| | ]*\r/g,'\n'); //去除多余空行
str=str.replace(/ /ig,'');//去掉 
return str.substring(0,40);
}
},
filters:{
ctbrife: function(str){
str = str.replace(/<\/?[^>]*>/g,''); //去除HTML tag
str = str.replace(/[ | ]*\n/g,'\n'); //去除行尾空白
//str = str.replace(/\n[\s| | ]*\r/g,'\n'); //去除多余空行
str=str.replace(/ /ig,'');//去掉 
return str.substring(0,40);
}
},
mounted(){
this.getData();
}
}
</script>

vue2-editor使用的更多相关文章

  1. vue2.0+elementUI构建单页面后台管理平台

    git:https://github.com/reg21st/vue2-management-platform 访问:https://reg21st.github.io/vue2-management ...

  2. vue2组件之select2调用

    目前,项目中使用了纯前端的静态项目+RESTFul接口的模式.为了更好的对数据进行操作,前端使用了vue2的mvvm功能,但是由于不是单页面应用,所以,并没有涉及到其它的如vue-route等功能,也 ...

  3. Vue2 后台管理系统解决方案

    基于Vue.js 2.x系列 + Element UI 的后台管理系统解决方案. github地址:https://github.com/lin-xin/manage-system demo地址:ht ...

  4. CKEditor5 + vue2.0 自定义图片上传、highlight、字体等用法

    因业务需求,要在 vue2.0 的项目里使用富文本编辑器,经过调研多个编辑器,CKEditor5 支持 vue,遂采用.因 CKEditor5 文档比较少,此处记录下引用和一些基本用法. CKEdit ...

  5. 用vue2.0+vuex+vue-router+element-ui+mockjs实现后台管理系统的实践探索

    A magical vue element touzi admin. 效果演示地址 更多demo展示 分支说明 master分支:前后端统一开发的版本:可以用于学习nodejs+mongodb+exp ...

  6. Vue2/3 项目中的 ESLint + Prettier 代码检测格式化风格指南

    Vue2/3 项目中的 ESLint + Prettier 代码检测格式化风格指南 因为平时都是使用 VSCode ESLint + Prettier 检测格式化不规范代码,但是随着接手的项目越来越多 ...

  7. 从零开始搭建Vue2.0项目(一)之快速开始

    从零开始搭建Vue2.0项目(一)之项目快速开始 前言 该样板适用于大型,严肃的项目,并假定您对Webpack和有所了解vue-loader.确保还阅读vue-loader的文档,了解常见的工作流程配 ...

  8. vue2.0实践的一些细节

    最近用vue2.0做了个活动.做完了回头发现,好像并没有太多的技术难点,而自己好像又做了比较久...只能说效率有待提升啊...简单总结了一些比较细节的点. 1.对于一些已知肯定会有数据的模块,先用一个 ...

  9. 用FSM一键制作逐帧动画雪碧图 Vue2 + webpack

    因为工作需要要将五六十张逐帧图拼成雪碧图,网上想找到一件制作工具半天没有找到,就自己用canvas写了一个. 写成之后就再没有什么机会使用了,因此希望有人使用的时候如果遇到bug了能及时反馈给我. 最 ...

  10. vue2.0构建淘票票webapp

    项目描述 之前一直用vue1.x写项目,最近为了过渡到vue2.0,特易用vue2.0栈仿写了淘票票页面,而且加入了express作为后台服务. 前端技术栈:vue2.0 + vue-router + ...

随机推荐

  1. Flask Response响应(flask中设置响应信息的方法,返回json数据的方法)

    设置响应信息的方法 1.  返回自定义的响应头,有两种方式: (1)  第一种是:视图函数return的时候,使用元组,返回自定义的信息 返回的时候的状态码可以自定义信息:"状态码   自定 ...

  2. vue+npm+Element插件+路由

    首先安装node.js 之后使用管理员输入命令 然后,就可以使用 npm 命令安装了: npm install -g @vue/cli安装完后,打开命令行窗口,会有一个 vue 命令:vue -v v ...

  3. Fiddler抓取https设置详解(图文)

    本文主要说明了自己在设置fiddler抓取https过程中所遇到的问题及解决步骤,特别是fiddler在设置证书的环节遇到的各种奇葩问题,特此分享! 声明:本文为原创文章,转载请注明来源:https: ...

  4. Linux新增开放端口

    CentOS系统 开放端口的方法: 方法一:命令行方式               1. 开放端口命令: /sbin/iptables -I INPUT -p tcp --dport 8080 -j ...

  5. IPv4 ping命令

    IPv4 ping命令 一.Linux操作系统 给一台 Linux 主机分配了一个 IPv4 的 IP地址,如何使用 ping命令 确定该 IP地址 能否 ping 通呢? 1.查看主机的 IPv4 ...

  6. Git(1):思想及概念

    Git与其他版本控制软件的差异及思想 直接记录快照,而非差异比较 Git不保存这些前后变化的差异数据.实际上,Git 更像是把变化的文件作快照后,记录在一个微型的文件系统中.每次提交更新时,它会纵览一 ...

  7. K8s+dashboard安装部署【h】

    系统安装使用虚拟机安装两个centos系统,在/etc/hosts里增加两行192.168.140.128 kuber-master192.168.140.129 kuber-node1 关闭防火墙s ...

  8. CentOS7安装openjdk8+环境变量配置

    CentOS7安装openjdk8+环境变量配置 步骤: 使用yum命令安装openjdk yum clean yum install -y java-1.8.0-openjdk-1.8.0.212. ...

  9. centos7 httpd配置

    centos7 httpd配置 标签(空格分隔): 未分类 隐藏server信息 修改httpd.conf 设置,添加如下两行 ServerSignature Off ServerTokens Pro ...

  10. Ingreslock后门漏洞

    一.简介 1524端口 ingreslock Ingres 数据库管理系统(DBMS)锁定服务 利用telnet命令连接目标主机的1524端口,直接获取root权限. Ingreslock后门程序监听 ...