<template>
|
<view class="activity-container" :data-theme='theme()' :class="theme() || ''">
|
<form @submit="save" @reset="formReset">
|
<view class="activity-form p20 pb150">
|
<view class="form-section bg-white radius24">
|
<view class="form-item border-b-e">
|
<textarea class="ww100 f28 lh150" placeholder-class="grary9" style="height: 100rpx;"
|
v-model="formData.name" placeholder="请输入活动标题"></textarea>
|
</view>
|
<view class="form-item">
|
<view class="gray6 f26">请上传活动封面图和分享海报(非必传)</view>
|
<view class="gray9 pb20 pt10 f24">封面图建议尺寸750*350px,分享海报建议尺寸750*1250px</view>
|
<view class="d-b-c">
|
<view class="upload-btn d-c-c d-c pr flex-1 mr10" @click="openUpload('image')">
|
<template v-if="image_path!=''">
|
<image :src="image_path" mode="aspectFit"></image>
|
<view class="delete-img" @click.stop="deleteImg('image')">
|
<text class="iconfont icon-guanbi"></text>
|
</view>
|
</template>
|
<template v-else>
|
<view class="icon iconfont icon-xiangji f60"></view>
|
<view class="gray9">上传封面图</view>
|
</template>
|
</view>
|
<view class="upload-btn d-c-c d-c pr flex-1 ml10" @click="openUpload('pic')">
|
<template v-if="pic_path!=''">
|
<image :src="pic_path" mode="aspectFit"></image>
|
<view class="delete-img tc" @click.stop="deleteImg('pic')">
|
<text class="iconfont icon-guanbi"></text>
|
</view>
|
</template>
|
<template v-else>
|
<view class="icon iconfont icon-xiangji f60"></view>
|
<view class="gray9">上传分享海报</view>
|
</template>
|
</view>
|
</view>
|
</view>
|
<view class="form-item">
|
<textarea class="ww100 f28 lh150 p20 radius12 box-s-b" placeholder-class="grary9" style=" background-color: #f7f7f7;
|
height: 150rpx;" v-model="formData.describe" placeholder="请输入活动简介(选填)"></textarea>
|
</view>
|
</view>
|
<view class="form-section bg-white radius24">
|
<view class="form-item d-b-c border-b-e">
|
<view class="item-title">活动分类</view>
|
<picker class="" value="" @change="changeCategory" :range="category" range-key='name'
|
:value="category_index">
|
<view class="d-s-c">
|
<view class="make-item input-box flex-1">{{category[category_index].name|| '请选择'}}
|
</view>
|
<view class="icon iconfont icon-jiantou f24"></view>
|
</view>
|
</picker>
|
</view>
|
<view class="form-item d-b-c border-b-e">
|
<view class="item-title">是否走访企业</view>
|
<switch style="transform: scale(0.7); margin-right: -20rpx;" :checked="is_checked_visit"
|
@change="onChangeVisit" />
|
</view>
|
<view class="form-item d-b-c border-b-e" v-if="is_checked_visit">
|
<view class="item-title">被走访企业名称</view>
|
<input type="text" v-model="formData.visit_supplier_name" class="ww100" placeholder="商户没有入驻时,请输入被走访企业名称" />
|
</view>
|
<view class="form-item d-b-c border-b-e" v-if="is_checked_visit">
|
<view class="item-title">被走访企业</view>
|
<view class="d-s-c" @click="selectSupplier('visit')">
|
<view class="make-item input-box flex-1">{{visit_supplier_name||'请选择'}}</view>
|
<view class="icon iconfont icon-jiantou f24"></view>
|
</view>
|
</view>
|
<view class="form-item d-b-c border-b-e" v-else>
|
<view class="item-title">提供场地企业</view>
|
<view class="d-s-c" @click="selectSupplier('space')">
|
<view class="make-item input-box flex-1">{{space_supplier_name||'请选择'}}</view>
|
<view class="icon iconfont icon-guanbi f24 ml10" @click.stop="cancelSpace"
|
v-if="space_supplier_name"></view>
|
<view class="icon iconfont icon-jiantou f24" v-else></view>
|
</view>
|
</view>
|
<view class="form-item d-b-c border-b-e">
|
<view class="item-title">活动费用(元)</view>
|
<input type="number" v-model="formData.fee" class="tr flex-1" placeholder='请输入活动费用,0表示免费' />
|
</view>
|
<view class="form-item d-b-c border-b-e">
|
<view class="item-title">活动名额(人)</view>
|
<input type="number" v-model="formData.limit_num" class="tr flex-1"
|
placeholder='请输入活动名额,0表示不限制' />
|
</view>
|
<view class="form-item d-b-c border-b-e" v-if="selectedCategory.limit_num > 0">
|
<view class="gray9 pt10">该分类最多{{selectedCategory.limit_num}}人</view>
|
</view>
|
<view class="form-item d-b-c border-b-e">
|
<view class="item-title">报名开始时间</view>
|
<view class="d-s-c">
|
<uni-datetime-picker type="datetime" v-model="formData.register_start_time" :border="false"
|
:clearIcon="false" />
|
</view>
|
</view>
|
<view class="form-item d-b-c border-b-e">
|
<view class="item-title">报名结束时间</view>
|
<view class="d-s-c">
|
<uni-datetime-picker type="datetime" v-model="formData.register_end_time" :border="false"
|
:clearIcon="false" />
|
</view>
|
</view>
|
<view class="form-item d-b-c border-b-e">
|
<view class="item-title">活动开始时间</view>
|
<view class="d-s-c">
|
<uni-datetime-picker type="datetime" v-model="formData.activity_start_time" :border="false"
|
:clearIcon="false" />
|
</view>
|
</view>
|
<view class="form-item d-b-c border-b-e">
|
<view class="item-title">活动结束时间</view>
|
<view class="d-s-c">
|
<uni-datetime-picker type="datetime" v-model="formData.activity_end_time" :border="false"
|
:clearIcon="false" />
|
</view>
|
</view>
|
<view class="form-item border-b-e">
|
<view class="d-b-c">
|
<view class="item-title">活动限定范围(米)</view>
|
<input type="number" v-model="formData.radius" class="tr flex-1"
|
placeholder='请输入活动费用,0表示免费' />
|
</view>
|
<view class="gray9 pt10">用户在限定范围内才能进行核销签到等操作,0为不限制</view>
|
</view>
|
<view class="form-item d-b-c border-b-e">
|
<view class="item-title">活动地址</view>
|
<view class="d-s-c flex-1" @click="chooseLocation">
|
<input type="text" v-model="address.location_address" class="tr flex-1" disabled
|
placeholder='请选择活动地点' />
|
<text class="iconfont icon-jiantou f24"></text>
|
</view>
|
</view>
|
<view class="form-item d-b-c border-b-e">
|
<view class="item-title">门牌号</view>
|
<input type="text" v-model="address.house_number" class="tr flex-1" placeholder='例:6栋201室' />
|
</view>
|
<view class="form-item d-b-c border-b-e">
|
<view class="item-title">联系电话</view>
|
<input type="text" v-model="address.phone" class="tr flex-1" placeholder='请输入活动联系电话' />
|
</view>
|
<view class="form-item border-b-e">
|
<view class="item-title">活动内容</view>
|
<view class="editor">
|
<!-- 富文本编辑器 -->
|
<view class='wrapper'>
|
<view class='toolbar' @tap="format" style="height: 160px;overflow-y: auto;">
|
<view :class="formats.bold ? 'ql-active' : ''" class="iconfont icon-zitijiacu"
|
data-name="bold">
|
</view>
|
<view :class="formats.italic ? 'ql-active' : ''" class="iconfont icon-zitixieti"
|
data-name="italic">
|
</view>
|
<view :class="formats.underline ? 'ql-active' : ''"
|
class="iconfont icon-zitixiahuaxian" data-name="underline"></view>
|
<view :class="formats.strike ? 'ql-active' : ''"
|
class="iconfont icon-zitishanchuxian" data-name="strike"></view>
|
<!-- #ifndef MP-BAIDU -->
|
<view :class="formats.align === 'left' ? 'ql-active' : ''"
|
class="iconfont icon-zuoduiqi" data-name="align" data-value="left"></view>
|
<!-- #endif -->
|
<view :class="formats.align === 'center' ? 'ql-active' : ''"
|
class="iconfont icon-juzhongduiqi" data-name="align" data-value="center"></view>
|
<view :class="formats.align === 'right' ? 'ql-active' : ''"
|
class="iconfont icon-youduiqi" data-name="align" data-value="right"></view>
|
<view :class="formats.align === 'justify' ? 'ql-active' : ''"
|
class="iconfont icon-zuoyouduiqi" data-name="align" data-value="justify"></view>
|
<!-- #ifndef MP-BAIDU -->
|
<view :class="formats.lineHeight ? 'ql-active' : ''"
|
class="iconfont icon-line-height" data-name="lineHeight" data-value="2"></view>
|
<view :class="formats.letterSpacing ? 'ql-active' : ''"
|
class="iconfont icon-Character-Spacing" data-name="letterSpacing"
|
data-value="2em">
|
</view>
|
<view :class="formats.marginTop ? 'ql-active' : ''"
|
class="iconfont icon-722bianjiqi_duanqianju" data-name="marginTop"
|
data-value="20px"></view>
|
<view :class="formats.marginBottom ? 'ql-active' : ''"
|
class="iconfont icon-723bianjiqi_duanhouju" data-name="marginBottom"
|
data-value="20px"></view>
|
<!-- #endif -->
|
|
<view class="iconfont icon-clearedformat" @tap="removeFormat"></view>
|
|
<!-- #ifndef MP-BAIDU -->
|
<view :class="formats.fontFamily ? 'ql-active' : ''" class="iconfont icon-font"
|
data-name="fontFamily" data-value="Pacifico"></view>
|
<view :class="formats.fontSize === '24px' ? 'ql-active' : ''"
|
class="iconfont icon-fontsize" data-name="fontSize" data-value="24px"></view>
|
<!-- #endif -->
|
<view :class="formats.color === '#0000ff' ? 'ql-active' : ''"
|
class="iconfont icon-text_color" data-name="color" data-value="#0000ff"></view>
|
<view :class="formats.backgroundColor === '#00ff00' ? 'ql-active' : ''"
|
class="iconfont icon-fontbgcolor" data-name="backgroundColor"
|
data-value="#00ff00">
|
</view>
|
<view class="iconfont icon-date" @tap="insertDate"></view>
|
<view class="iconfont icon--checklist" data-name="list" data-value="check"></view>
|
<view :class="formats.list === 'ordered' ? 'ql-active' : ''"
|
class="iconfont icon-youxupailie" data-name="list" data-value="ordered"></view>
|
<view :class="formats.list === 'bullet' ? 'ql-active' : ''"
|
class="iconfont icon-wuxupailie" data-name="list" data-value="bullet"></view>
|
|
<view class="iconfont icon-undo" @tap="undo"></view>
|
<view class="iconfont icon-redo" @tap="redo"></view>
|
|
<view class="iconfont icon-outdent" data-name="indent" data-value="-1"></view>
|
<view class="iconfont icon-indent" data-name="indent" data-value="+1"></view>
|
<view class="iconfont icon-fengexian" @tap="insertDivider"></view>
|
<view class="iconfont icon-charutupian" @tap="insertImage"></view>
|
<view :class="formats.header === 1 ? 'ql-active' : ''"
|
class="iconfont icon-format-header-1" data-name="header" :data-value="1"></view>
|
<view :class="formats.script === 'sub' ? 'ql-active' : ''"
|
class="iconfont icon-zitixiabiao" data-name="script" data-value="sub"></view>
|
<view :class="formats.script === 'super' ? 'ql-active' : ''"
|
class="iconfont icon-zitishangbiao" data-name="script" data-value="super">
|
</view>
|
|
<view class="iconfont icon-shanchu" @tap="clear"></view>
|
|
<view :class="formats.direction === 'rtl' ? 'ql-active' : ''"
|
class="iconfont icon-direction-rtl" data-name="direction" data-value="rtl">
|
</view>
|
</view>
|
<view class="editor-wrapper">
|
<editor id="editor" class="ql-container" placeholder="开始输入..." show-img-size
|
show-img-toolbar show-img-resize @statuschange="onStatusChange"
|
:read-only="readOnly" @ready="onEditorReady">
|
</editor>
|
</view>
|
</view>
|
</view>
|
</view>
|
</view>
|
</view>
|
<view class="footer-btn p20 bg-white">
|
<button class="theme-btn" form-type="submit" type="default">提交</button>
|
</view>
|
</form>
|
<!-- 上传图片 -->
|
<Upload v-if="isupload" :type="upload_type" @getImgs="returnImgsFunc"></Upload>
|
<!-- 企业弹窗 -->
|
<Supplier :isOpenSupplier="open_supplier" @close="closeSupplierFunc"></Supplier>
|
</view>
|
</template>
|
|
<script>
|
import Upload from '@/components/upload/upload.vue';
|
import Supplier from './popup/supplier';
|
import uDatetimePicker from '@/uni_modules/uni-datetime-picker/components/uni-datetime-picker/uni-datetime-picker';
|
export default {
|
components: {
|
uDatetimePicker,
|
Upload,
|
Supplier
|
},
|
data() {
|
return {
|
loading: false,
|
/*是否上传图片*/
|
isupload: false,
|
image_path: '',
|
pic_path: '',
|
formData: {
|
name: '',
|
category_id: '',
|
image_id: '', // 封面
|
pic_id: '', // 分享海报
|
sort: 100,
|
is_visit: 0, // 是否需要走访企业
|
visit_supplier_id: '', // 被走访企业
|
space_supplier_id: '', // 提供场地企业
|
background_color: '',
|
status: 1,
|
content: '',
|
describe: '',
|
fee: 0,
|
limit_num: 0,
|
address: '',
|
longitude: '',
|
latitude: '',
|
phone: '',
|
register_start_time: '',
|
register_end_time: '',
|
activity_start_time: '',
|
activity_end_time: '',
|
radius: 0, // 活动限定范围,在范围内才能进行相关操作,如签到、下单
|
},
|
/*活动类别*/
|
category: [],
|
categoryForPicker: {},
|
category_index: '', // 选择的活动分类索引
|
upload_type: 'image', // 封面image 分享海报pic
|
open_supplier: false,
|
visit_supplier_name: '', // 走访企业
|
space_supplier_name: '', // 提供场地企业
|
supplier_type: 'visit',
|
is_checked_visit: false,
|
address: {}, // 临时获取的地址
|
location_address: '', // 从地图获取到的地址
|
//富文本
|
readOnly: false,
|
formats: {}
|
};
|
},
|
created() {
|
this.getCategoryList();
|
},
|
computed: {
|
selectedCategory() {
|
if (!this.category || this.category.length === 0 || this.category_index === '') {
|
return {};
|
}
|
return this.category[this.category_index] || {};
|
}
|
},
|
methods: {
|
// 提交
|
save() {
|
let self = this;
|
// 获取富文本编辑器内容
|
// 图文类型,获取编辑器内容
|
self.editorCtx.getContents({
|
success: (res) => {
|
// 将编辑器内容赋值给表单字段
|
self.formData.content = res.html;
|
// 继续执行保存逻辑
|
self.formSubmit();
|
},
|
fail: () => {
|
// 获取内容失败,继续执行保存逻辑
|
self.formSubmit();
|
}
|
});
|
},
|
// 提交
|
formSubmit() {
|
let self = this;
|
let formData = this.formData;
|
formData.location_address = self.address.location_address;
|
formData.house_number = self.address.house_number;
|
formData.address = self.location_address + self.address.house_number;
|
formData.is_visit = self.is_checked_visit ? 1 : 0;
|
if (formData.name == '') {
|
uni.showToast({
|
title: '请输入活动标题',
|
duration: 1000,
|
icon: 'none'
|
});
|
return false;
|
}
|
if (formData.category_id == '') {
|
uni.showToast({
|
title: '请选择活动分类',
|
duration: 1000,
|
icon: 'none'
|
});
|
return false;
|
}
|
if (formData.is_visit && !formData.visit_supplier_id) {
|
uni.showToast({
|
title: '请选择被走访的企业',
|
duration: 1000,
|
icon: 'none'
|
});
|
return false;
|
}
|
if (formData.start_time == '') {
|
uni.showToast({
|
title: '请选择活动开始时间',
|
duration: 1000,
|
icon: 'none'
|
});
|
return false;
|
}
|
if (formData.end_time == '') {
|
uni.showToast({
|
title: '请选择活动结束时间',
|
duration: 1000,
|
icon: 'none'
|
});
|
return false;
|
}
|
if (formData.location_address == '') {
|
uni.showToast({
|
title: '请选择活动地点',
|
duration: 1000,
|
icon: 'none'
|
});
|
return false;
|
}
|
// if (formData.phone == '') {
|
// uni.showToast({
|
// title: '请输入活动联系电话',
|
// duration: 1000,
|
// icon: 'none'
|
// });
|
// return false;
|
// }
|
// let reg = /^((0\d{2,3}-\d{7,8})|(1[3456789]\d{9}))$/;
|
// if (!reg.test(formData.phone)) {
|
// uni.showToast({
|
// title: '联系电话格式不正确',
|
// duration: 1000,
|
// icon: 'none'
|
// });
|
// return false;
|
// }
|
uni.showLoading({
|
title: '正在提交',
|
mask: true
|
});
|
self._post('branch.admin.activity/add', {
|
formData: JSON.stringify(formData)
|
}, function(res) {
|
self.showSuccess(res.msg, function() {
|
self.gotoPage('/pages/branch/admin/activity/index')
|
}, null, function() {
|
uni.hideLoading();
|
});
|
});
|
},
|
|
/*上传*/
|
openUpload(t) {
|
this.upload_type = t;
|
this.isupload = true;
|
},
|
|
/*获取图片*/
|
returnImgsFunc(e) {
|
let self = this;
|
if (e != null) {
|
if (self.upload_type == 'image') {
|
this.formData.image_id = e[0].file_id;
|
this.image_path = e[0].file_path;
|
} else if (self.upload_type == 'insertImage') {
|
this.editorCtx.insertImage({
|
src: e[0].file_path,
|
alt: '图像',
|
success: function() {
|
console.log('insert image success')
|
}
|
})
|
} else {
|
this.formData.pic_id = e[0].file_id;
|
this.pic_path = e[0].file_path;
|
}
|
}
|
this.isupload = false;
|
},
|
|
/*删除图片*/
|
deleteImg(n) {
|
this[n + '_path'] = '';
|
this.formData[n + '_id'] = '';
|
},
|
|
/*获取活动类别*/
|
getCategoryList() {
|
let self = this;
|
self._get(
|
'branch.admin.category/lists', {},
|
function(res) {
|
self.loading = false;
|
self.category = res.data.list;
|
// self.categoryForPicker = self.category.map(item => {
|
// return item.name;
|
// });
|
}
|
);
|
},
|
|
// 选择活动分类
|
changeCategory(e) {
|
this.category_index = e.target.value;
|
this.formData.category_id = this.category[this.category_index].category_id;
|
},
|
|
// 打开企业选择弹窗
|
selectSupplier(e) {
|
this.supplier_type = e;
|
this.open_supplier = true;
|
},
|
|
// 关闭企业选择弹窗
|
closeSupplierFunc(e) {
|
if (e != null) {
|
if (this.supplier_type == 'visit') {
|
this.formData.visit_supplier_id = e.shop_supplier_id;
|
this.visit_supplier_name = e.name;
|
} else {
|
this.formData.space_supplier_id = e.shop_supplier_id;
|
this.space_supplier_name = e.name;
|
}
|
}
|
this.open_supplier = false;
|
},
|
|
// 是否走访企业
|
onChangeVisit(e) {
|
this.is_checked_visit = e.target.value;
|
if (this.is_checked_visit) {
|
this.space_supplier_name = '';
|
this.formData.space_supplier_id = '';
|
} else {
|
this.visit_supplier_name = '';
|
this.formData.visit_supplier_id = '';
|
}
|
},
|
|
// 取消选择的提供场地企业
|
cancelSpace() {
|
this.formData.space_supplier_id = '';
|
this.space_supplier_name = '';
|
},
|
|
// 选择活动时间
|
changeTime(e) {
|
console.log(this.formData.start_time)
|
},
|
|
// 打开地图选择地址 by lyzflash
|
chooseLocation(n) {
|
let self = this;
|
uni.chooseLocation({
|
success: function(res) {
|
console.log(res)
|
self.formData.longitude = res.longitude;
|
self.formData.latitude = res.latitude;
|
self.location_address = res.address;
|
self.address.house_number = res.name;
|
// 整理地址
|
self.organizeLocationAddress();
|
},
|
fail: function() {
|
console.log('获取失败')
|
}
|
});
|
},
|
|
// 整理地址(分离省市区) by lyzflash
|
organizeLocationAddress() {
|
let self = this;
|
self._get('user.address/setLocationAddress', {
|
address: self.location_address
|
}, function(res) {
|
self.$set(self.address, 'location_address', res.data.short_address);
|
// self.province_id = res.data.cityCode[0];
|
// self.city_id = res.data.cityCode[1];
|
// self.region_id = res.data.cityCode[2];
|
self.region = res.data.region;
|
});
|
},
|
//富文本
|
readOnlyChange() {
|
this.readOnly = !this.readOnly
|
},
|
onEditorReady() {
|
// #ifdef MP-BAIDU
|
this.editorCtx = requireDynamicLib('editorLib').createEditorContext('editor');
|
// #endif
|
|
// #ifdef APP-PLUS || MP-WEIXIN || H5
|
uni.createSelectorQuery().select('#editor').context((res) => {
|
this.editorCtx = res.context
|
}).exec()
|
// #endif
|
},
|
undo() {
|
this.editorCtx.undo()
|
},
|
redo() {
|
this.editorCtx.redo()
|
},
|
format(e) {
|
let {
|
name,
|
value
|
} = e.target.dataset
|
if (!name) return
|
// console.log('format', name, value)
|
this.editorCtx.format(name, value)
|
},
|
onStatusChange(e) {
|
const formats = e.detail
|
this.formats = formats
|
},
|
insertDivider() {
|
this.editorCtx.insertDivider({
|
success: function() {
|
console.log('insert divider success')
|
}
|
})
|
},
|
clear() {
|
uni.showModal({
|
title: '清空编辑器',
|
content: '确定清空编辑器全部内容?',
|
success: res => {
|
if (res.confirm) {
|
this.editorCtx.clear({
|
success: function(res) {
|
console.log("clear success")
|
}
|
})
|
}
|
}
|
})
|
},
|
removeFormat() {
|
this.editorCtx.removeFormat()
|
},
|
insertDate() {
|
const date = new Date()
|
const formatDate = `${date.getFullYear()}/${date.getMonth() + 1}/${date.getDate()}`
|
this.editorCtx.insertText({
|
text: formatDate
|
})
|
},
|
insertImage() {
|
this.isupload = true;
|
this.upload_type = 'insertImage';
|
}
|
},
|
}
|
</script>
|
|
<style lang="scss" scoped>
|
.activity-form {
|
|
.form-section {
|
padding: 0 20rpx;
|
|
+.form-section {
|
margin-top: 20rpx;
|
}
|
|
.form-item {
|
padding: 20rpx 0;
|
font-size: 26rpx;
|
|
.upload-btn {
|
height: 300rpx;
|
border-radius: 12rpx;
|
overflow: hidden;
|
border: 1rpx solid #eee;
|
|
image {
|
width: 360rpx;
|
height: 300rpx;
|
}
|
|
.delete-img {
|
position: absolute;
|
width: 50rpx;
|
height: 50rpx;
|
background: rgba(0, 0, 0, .5);
|
border-radius: 50rpx;
|
line-height: 50rpx;
|
right: 0;
|
top: 0;
|
display: flex;
|
justify-content: center;
|
align-content: center;
|
}
|
}
|
}
|
}
|
|
}
|
|
.footer-btn {
|
position: fixed;
|
left: 0;
|
bottom: 0;
|
width: 100%;
|
box-sizing: border-box;
|
z-index: 9;
|
border-top: 1rpx solid #eeeeee;
|
}
|
|
|
@font-face {
|
font-family: iconfont;
|
src: url("data:font/truetype;charset=utf-8;base64,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AAsAJgFuAAoAQwByAGUAYQB0AGUAZAAgAGIAeQAgAGkAYwBvAG4AZgBvAG4AdAAKAAAKQ3JlYXRlZCBieSBpY29uZm9udAoAAGkAYwBvAG4AZgBvAG4AdAAAaWNvbmZvbnQAAFIAZQBnAHUAbABhAHIAAFJlZ3VsYXIAAGkAYwBvAG4AZgBvAG4AdAAAaWNvbmZvbnQAAGkAYwBvAG4AZgBvAG4AdAAAaWNvbmZvbnQAAFYAZQByAHMAaQBvAG4AIAAxAC4AMAAAVmVyc2lvbiAxLjAAAGkAYwBvAG4AZgBvAG4AdAAAaWNvbmZvbnQAAEcAZQBuAGUAcgBhAHQAZQBkACAAYgB5ACAAcwB2AGcAMgB0AHQAZgAgAGYAcgBvAG0AIABGAG8AbgB0AGUAbABsAG8AIABwAHIAbwBqAGUAYwB0AC4AAEdlbmVyYXRlZCBieSBzdmcydHRmIGZyb20gRm9udGVsbG8gcHJvamVjdC4AAGgAdAB0AHAAOgAvAC8AZgBvAG4AdABlAGwAbABvAC4AYwBvAG0AAGh0dHA6Ly9mb250ZWxsby5jb20AAAIAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOwAAAAEAAgECAQMBBAEFAQYBBwEIAQkBCgELAQwBDQEOAQ8BEAERARIBEwEUARUBFgEXARgBGQEaARsBHAEdAR4BHwEgASEBIgEjASQBJQEmAScBKAEpASoBKwEsAS0BLgEvATABMQEyATMBNAE1ATYBNwE4ATkEcmVkbwlzZWxlY3RhbGwHcHJldmlldwR1bmRvBGRhdGUHY2xlYXJ1cBU3MjNiaWFuamlxaV9kdWFuaG91anUWNzIyYmlhbmppcWlfZHVhbnFpYW5qdQotY2hlY2tsaXN0DWRpcmVjdGlvbi1sdHINZGlyZWN0aW9uLXJ0bAtmb250Ymdjb2xvcg1jbGVhcmVkZm9ybWF0BGZvbnQHb3V0ZGVudAhmb250c2l6ZQp0ZXh0X2NvbG9yD2Zvcm1hdC1oZWFkZXItMg9mb3JtYXQtaGVhZGVyLTMLbGluZS1oZWlnaHQPZm9ybWF0LWhlYWRlci0xD2Zvcm1hdC1oZWFkZXItNA9mb3JtYXQtaGVhZGVyLTUPZm9ybWF0LWhlYWRlci02EUNoYXJhY3Rlci1TcGFjaW5nBmluZGVudAZiYW9jdW4IcXVhbnBpbmcFZnV6aGkHc2hhbmNodQxiaWFuamlzZWt1YWkJZmVuZ2V4aWFuB2RpYW56YW4MY2hhcnVsaWFuamllC2NoYXJ1dHVwaWFuCnd1eHVwYWlsaWUManV6aG9uZ2R1aXFpB3lpbnlvbmcLeW91eHVwYWlsaWUIeW91ZHVpcWkJeml0aWRhaW1hCHhpYW9saWFuCXppdGlqaWFjdQ96aXRpc2hhbmNodXhpYW4Neml0aXNoYW5nYmlhbwp6aXRpYmlhb3RpDnppdGl4aWFodWF4aWFuCXppdGl4aWV0aQl6aXRpeWFuc2UIenVvZHVpcWkJeml0aXl1bGFuC3ppdGl4aWFiaWFvC3p1b3lvdWR1aXFpB2R1aWdvdXgGZ3VhbmJpDnNoZW5neWluX3NoaXRpAAAAAAAB//8AAgABAAAADAAAABYAAAACAAEAAwA6AAEABAAAAAIAAAAAAAAAAQAAAADVpCcIAAAAANhk6GIAAAAA2GToYg==") format("truetype");
|
font-weight: 400;
|
font-style: normal;
|
font-display: swap
|
}
|
|
.iconfont {
|
font-family: iconfont !important;
|
font-size: 16px;
|
font-style: normal;
|
-webkit-font-smoothing: antialiased;
|
-moz-osx-font-smoothing: grayscale
|
}
|
|
|
|
.icon-redo:before {
|
content: "\e627"
|
}
|
|
.icon-undo:before {
|
content: "\e633"
|
}
|
|
.icon-indent:before {
|
content: "\eb28"
|
}
|
|
.icon-outdent:before {
|
content: "\e6e8"
|
}
|
|
.icon-fontsize:before {
|
content: "\e6fd"
|
}
|
|
.icon-format-header-1:before {
|
content: "\e860"
|
}
|
|
.icon-format-header-4:before {
|
content: "\e863"
|
}
|
|
.icon-format-header-5:before {
|
content: "\e864"
|
}
|
|
.icon-format-header-6:before {
|
content: "\e865"
|
}
|
|
.icon-clearup:before {
|
content: "\e64d"
|
}
|
|
.icon-preview:before {
|
content: "\e631"
|
}
|
|
.icon-date:before {
|
content: "\e63e"
|
}
|
|
.icon-fontbgcolor:before {
|
content: "\e678"
|
}
|
|
.icon-clearedformat:before {
|
content: "\e67e"
|
}
|
|
.icon-font:before {
|
content: "\e684"
|
}
|
|
.icon-723bianjiqi_duanhouju:before {
|
content: "\e65f"
|
}
|
|
.icon-722bianjiqi_duanqianju:before {
|
content: "\e660"
|
}
|
|
.icon-text_color:before {
|
content: "\e72c"
|
}
|
|
.icon-format-header-2:before {
|
content: "\e75c"
|
}
|
|
.icon-format-header-3:before {
|
content: "\e75d"
|
}
|
|
.icon--checklist:before {
|
content: "\e664"
|
}
|
|
.icon-baocun:before {
|
content: "\ec09"
|
}
|
|
.icon-line-height:before {
|
content: "\e7f8"
|
}
|
|
.icon-quanping:before {
|
content: "\ec13"
|
}
|
|
.icon-direction-rtl:before {
|
content: "\e66e"
|
}
|
|
.icon-direction-ltr:before {
|
content: "\e66d"
|
}
|
|
.icon-selectall:before {
|
content: "\e62b"
|
}
|
|
.icon-fuzhi:before {
|
content: "\ec7a"
|
}
|
|
.icon-shanchu:before {
|
content: "\ec7b"
|
}
|
|
.icon-bianjisekuai:before {
|
content: "\ec7c"
|
}
|
|
.icon-fengexian:before {
|
content: "\ec7f"
|
}
|
|
.icon-dianzan:before {
|
content: "\ec80"
|
}
|
|
.icon-charulianjie:before {
|
content: "\ec81"
|
}
|
|
.icon-charutupian:before {
|
content: "\ec82"
|
}
|
|
.icon-wuxupailie:before {
|
content: "\ec83"
|
}
|
|
.icon-juzhongduiqi:before {
|
content: "\ec84"
|
}
|
|
.icon-yinyong:before {
|
content: "\ec85"
|
}
|
|
.icon-youxupailie:before {
|
content: "\ec86"
|
}
|
|
.icon-youduiqi:before {
|
content: "\ec87"
|
}
|
|
.icon-zitidaima:before {
|
content: "\ec88"
|
}
|
|
.icon-xiaolian:before {
|
content: "\ec89"
|
}
|
|
.icon-zitijiacu:before {
|
content: "\ec8a"
|
}
|
|
.icon-zitishanchuxian:before {
|
content: "\ec8b"
|
}
|
|
.icon-zitishangbiao:before {
|
content: "\ec8c"
|
}
|
|
.icon-zitibiaoti:before {
|
content: "\ec8d"
|
}
|
|
.icon-zitixiahuaxian:before {
|
content: "\ec8e"
|
}
|
|
.icon-zitixieti:before {
|
content: "\ec8f"
|
}
|
|
.icon-zitiyanse:before {
|
content: "\ec90"
|
}
|
|
.icon-zuoduiqi:before {
|
content: "\ec91"
|
}
|
|
.icon-zitiyulan:before {
|
content: "\ec92"
|
}
|
|
.icon-zitixiabiao:before {
|
content: "\ec93"
|
}
|
|
.icon-zuoyouduiqi:before {
|
content: "\ec94"
|
}
|
|
.icon-duigoux:before {
|
content: "\ec9e"
|
}
|
|
.icon-guanbi:before {
|
content: "\eca0"
|
}
|
|
.icon-shengyin_shiti:before {
|
content: "\eca5"
|
}
|
|
.icon-Character-Spacing:before {
|
content: "\e964"
|
}
|
|
.page-body {
|
height: calc(100vh - var(--window-top) - 0px)
|
}
|
|
.wrapper {
|
height: 100%
|
}
|
|
.editor-wrapper {
|
height: calc(100vh - var(--window-top) - 0px - 80px - 46px);
|
background: #fff
|
}
|
|
.editor {
|
.iconfont {
|
display: inline-block;
|
padding: 8px 8px;
|
width: 24px;
|
height: 24px;
|
cursor: pointer;
|
font-size: 20px;
|
}
|
|
}
|
|
.toolbar {
|
box-sizing: border-box;
|
border-bottom: 0;
|
font-family: Helvetica Neue, Helvetica, Arial, sans-serif;
|
}
|
|
.ql-container {
|
box-sizing: border-box;
|
padding: 12px 15px;
|
width: 100%;
|
min-height: 30vh;
|
height: 100%;
|
/* margin-top: 20px; */
|
font-size: 16px;
|
line-height: 1.5;
|
}
|
|
.ql-active {
|
color: #06c;
|
}
|
|
.iconfont {
|
color: #000000;
|
}
|
</style>
|