Commit d04b429b by damodmg

提交

parents 04a307ee 1267f12d
<!DOCTYPE html><html><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><link rel="shortcut icon" href=./static/img/favicon.ico><title>GIC后台</title><link rel=stylesheet type=text/css href=static/css/iconfont.css><link rel=stylesheet type=text/css href=static/css/common.css><link href=/integral-mall/static/css/app.bdce448252ebc299b9adf868a076b6a0.css rel=stylesheet></head><body><div id=app></div><script type=text/javascript src=/integral-mall/static/js/manifest.003beacb9c9ae622c7f2.js></script><script type=text/javascript src=/integral-mall/static/js/vendor.dbbbfd2f879f6e7b00f5.js></script><script type=text/javascript src=/integral-mall/static/js/app.c0c7abbd1ba67e6847c7.js></script></body></html>
\ No newline at end of file
<!DOCTYPE html><html><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><link rel="shortcut icon" href=./static/img/favicon.ico><title>GIC后台</title><link rel=stylesheet type=text/css href=static/css/iconfont.css><link rel=stylesheet type=text/css href=static/css/common.css><link href=/integral-mall/static/css/app.bec0aa9238a2bbf0f18066a7e12921bc.css rel=stylesheet></head><body><div id=app></div><script type=text/javascript src=/integral-mall/static/js/manifest.003beacb9c9ae622c7f2.js></script><script type=text/javascript src=/integral-mall/static/js/vendor.18cfc34dddb593b2154e.js></script><script type=text/javascript src=/integral-mall/static/js/app.3ac9d81e5175a3546fab.js></script></body></html>
\ No newline at end of file
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
.word-wrap{word-wrap:break-word;-ms-word-break:break-all;word-break:break-all;word-break:break-word;-ms-hyphens:auto;-moz-hyphens:auto;-webkit-hyphens:auto;hyphens:auto}.mce-content-body .mce-reset{margin:0;padding:0;border:0;outline:0;vertical-align:top;background:transparent;text-decoration:none;color:black;font-family:Arial;font-size:11px;text-shadow:none;float:none;position:static;width:auto;height:auto;white-space:nowrap;cursor:inherit;line-height:normal;font-weight:normal;text-align:left;-webkit-tap-highlight-color:transparent;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box;direction:ltr;max-width:none}.mce-object{border:1px dotted #3A3A3A;background:#D5D5D5 url(img/object.gif) no-repeat center}.mce-preview-object{display:inline-block;position:relative;margin:0 2px 0 2px;line-height:0;border:1px solid gray}.mce-preview-object[data-mce-selected="2"] .mce-shim{display:none}.mce-preview-object .mce-shim{position:absolute;top:0;left:0;width:100%;height:100%;background:url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)}figure.align-left{float:left}figure.align-right{float:right}figure.image.align-center{display:table;margin-left:auto;margin-right:auto}figure.image{display:inline-block;border:1px solid gray;margin:0 2px 0 1px;background:#f5f2f0}figure.image img{margin:8px 8px 0 8px}figure.image figcaption{margin:6px 8px 6px 8px;text-align:center}.mce-toc{border:1px solid gray}.mce-toc h2{margin:4px}.mce-toc li{list-style-type:none}.mce-pagebreak{cursor:default;display:block;border:0;width:100%;height:5px;border:1px dashed #666;margin-top:15px;page-break-before:always}@media print{.mce-pagebreak{border:0}}.mce-item-anchor{cursor:default;display:inline-block;-webkit-user-select:all;-webkit-user-modify:read-only;-moz-user-select:all;-moz-user-modify:read-only;user-select:all;user-modify:read-only;width:9px !important;height:9px !important;border:1px dotted #3A3A3A;background:#D5D5D5 url(img/anchor.gif) no-repeat center}.mce-nbsp,.mce-shy{background:#AAA}.mce-shy::after{content:'-'}.mce-match-marker{background:#AAA;color:#fff}.mce-match-marker-selected{background:#3399ff;color:#fff}.mce-spellchecker-word{border-bottom:2px solid rgba(208,2,27,0.5);cursor:default}.mce-spellchecker-grammar{border-bottom:2px solid #008000;cursor:default}.mce-item-table,.mce-item-table td,.mce-item-table th,.mce-item-table caption{border:1px dashed #BBB}td[data-mce-selected],th[data-mce-selected]{background-color:#2276d2 !important}.mce-edit-focus{outline:1px dotted #333}.mce-content-body *[contentEditable=false] *[contentEditable=true]:focus{outline:2px solid #2276d2}.mce-content-body *[contentEditable=false] *[contentEditable=true]:hover{outline:2px solid #2276d2}.mce-content-body *[contentEditable=false][data-mce-selected]{outline:2px solid #2276d2}.mce-content-body.mce-content-readonly *[contentEditable=true]:focus,.mce-content-body.mce-content-readonly *[contentEditable=true]:hover{outline:none}.mce-content-body *[data-mce-selected="inline-boundary"]{background:#bfe6ff}.mce-content-body .mce-item-anchor[data-mce-selected]{background:#D5D5D5 url(img/anchor.gif) no-repeat center}.mce-content-body hr{cursor:default}.mce-content-body table{-webkit-nbsp-mode:normal}.ephox-snooker-resizer-bar{background-color:#2276d2;opacity:0}.ephox-snooker-resizer-cols{cursor:col-resize}.ephox-snooker-resizer-rows{cursor:row-resize}.ephox-snooker-resizer-bar.ephox-snooker-resizer-bar-dragging{opacity:.2}.mce-content-body{line-height:1.3}
\ No newline at end of file
body{background-color:#FFFFFF;color:#000000;font-family:Verdana,Arial,Helvetica,sans-serif;font-size:14px;line-height:1.3;scrollbar-3dlight-color:#F0F0EE;scrollbar-arrow-color:#676662;scrollbar-base-color:#F0F0EE;scrollbar-darkshadow-color:#DDDDDD;scrollbar-face-color:#E0E0DD;scrollbar-highlight-color:#F0F0EE;scrollbar-shadow-color:#F0F0EE;scrollbar-track-color:#F5F5F5}td,th{font-family:Verdana,Arial,Helvetica,sans-serif;font-size:14px}.word-wrap{word-wrap:break-word;-ms-word-break:break-all;word-break:break-all;word-break:break-word;-ms-hyphens:auto;-moz-hyphens:auto;-webkit-hyphens:auto;hyphens:auto}.mce-content-body .mce-reset{margin:0;padding:0;border:0;outline:0;vertical-align:top;background:transparent;text-decoration:none;color:black;font-family:Arial;font-size:11px;text-shadow:none;float:none;position:static;width:auto;height:auto;white-space:nowrap;cursor:inherit;line-height:normal;font-weight:normal;text-align:left;-webkit-tap-highlight-color:transparent;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box;direction:ltr;max-width:none}.mce-object{border:1px dotted #3A3A3A;background:#D5D5D5 url(img/object.gif) no-repeat center}.mce-preview-object{display:inline-block;position:relative;margin:0 2px 0 2px;line-height:0;border:1px solid gray}.mce-preview-object[data-mce-selected="2"] .mce-shim{display:none}.mce-preview-object .mce-shim{position:absolute;top:0;left:0;width:100%;height:100%;background:url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)}figure.align-left{float:left}figure.align-right{float:right}figure.image.align-center{display:table;margin-left:auto;margin-right:auto}figure.image{display:inline-block;border:1px solid gray;margin:0 2px 0 1px;background:#f5f2f0}figure.image img{margin:8px 8px 0 8px}figure.image figcaption{margin:6px 8px 6px 8px;text-align:center}.mce-toc{border:1px solid gray}.mce-toc h2{margin:4px}.mce-toc li{list-style-type:none}.mce-pagebreak{cursor:default;display:block;border:0;width:100%;height:5px;border:1px dashed #666;margin-top:15px;page-break-before:always}@media print{.mce-pagebreak{border:0}}.mce-item-anchor{cursor:default;display:inline-block;-webkit-user-select:all;-webkit-user-modify:read-only;-moz-user-select:all;-moz-user-modify:read-only;user-select:all;user-modify:read-only;width:9px !important;height:9px !important;border:1px dotted #3A3A3A;background:#D5D5D5 url(img/anchor.gif) no-repeat center}.mce-nbsp,.mce-shy{background:#AAA}.mce-shy::after{content:'-'}.mce-match-marker{background:#AAA;color:#fff}.mce-match-marker-selected{background:#3399ff;color:#fff}.mce-spellchecker-word{border-bottom:2px solid rgba(208,2,27,0.5);cursor:default}.mce-spellchecker-grammar{border-bottom:2px solid #008000;cursor:default}.mce-item-table,.mce-item-table td,.mce-item-table th,.mce-item-table caption{border:1px dashed #BBB}td[data-mce-selected],th[data-mce-selected]{background-color:#2276d2 !important}.mce-edit-focus{outline:1px dotted #333}.mce-content-body *[contentEditable=false] *[contentEditable=true]:focus{outline:2px solid #2276d2}.mce-content-body *[contentEditable=false] *[contentEditable=true]:hover{outline:2px solid #2276d2}.mce-content-body *[contentEditable=false][data-mce-selected]{outline:2px solid #2276d2}.mce-content-body.mce-content-readonly *[contentEditable=true]:focus,.mce-content-body.mce-content-readonly *[contentEditable=true]:hover{outline:none}.mce-content-body *[data-mce-selected="inline-boundary"]{background:#bfe6ff}.mce-content-body .mce-item-anchor[data-mce-selected]{background:#D5D5D5 url(img/anchor.gif) no-repeat center}.mce-content-body hr{cursor:default}.mce-content-body table{-webkit-nbsp-mode:normal}.ephox-snooker-resizer-bar{background-color:#2276d2;opacity:0}.ephox-snooker-resizer-cols{cursor:col-resize}.ephox-snooker-resizer-rows{cursor:row-resize}.ephox-snooker-resizer-bar.ephox-snooker-resizer-bar-dragging{opacity:.2}
\ No newline at end of file
.tinymce-mobile-unfocused-selections .tinymce-mobile-unfocused-selection{position:absolute;display:inline-block;background-color:green;opacity:.5}body{-webkit-text-size-adjust:none}body img{max-width:96vw}body table img{max-width:95%}
\ No newline at end of file
......@@ -82,6 +82,14 @@
"watch-size": "2.0.0"
}
},
"@tinymce/tinymce-vue": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/@tinymce/tinymce-vue/-/tinymce-vue-1.1.0.tgz",
"integrity": "sha512-v6qY9HfIi0XIDNtG/puCb7qbcnbBgquZAnYowzp4ZYyAELkYXcWzSYVfYcjPirwOb32NrpoY3inFkajG8MjLrQ==",
"requires": {
"vue": "2.5.17"
}
},
"abbrev": {
"version": "1.1.1",
"resolved": "http://registry.npm.taobao.org/abbrev/download/abbrev-1.1.1.tgz",
......@@ -10685,6 +10693,11 @@
"setimmediate": "1.0.5"
}
},
"tinymce": {
"version": "4.8.5",
"resolved": "http://registry.npm.taobao.org/tinymce/download/tinymce-4.8.5.tgz",
"integrity": "sha1-qA6mbE+QB4vZNiWw8JFKT3dOCvM="
},
"to-arraybuffer": {
"version": "1.0.1",
"resolved": "http://registry.npm.taobao.org/to-arraybuffer/download/to-arraybuffer-1.0.1.tgz",
......
......@@ -18,10 +18,12 @@
"@gic-test/vue-gic-store-new": "^1.0.5",
"@gic-test/vue-gic-upload-image": "^1.0.35",
"@riophae/vue-treeselect": "^0.0.36",
"@tinymce/tinymce-vue": "^1.1.0",
"axios": "^0.18.0",
"element-ui": "^2.4.1",
"packele": "^1.0.8",
"scriptjs": "^2.5.8",
"tinymce": "^4.8.5",
"vue": "^2.5.2",
"vue-axios": "^2.1.1",
"vue-router": "^3.0.1",
......
import axios from 'axios'
import store from '../store/index'
// import router from '../router'
let adminUrl = process.env.NODE_ENV === 'production' ? '':'http://gicdev.demogic.com'
let request ;
request = axios.create({
baseURL: adminUrl,
withCredentials: true,//跨域凭证
timeout: 30000,
// headers: {
// 'Content-Type': 'application/x-www-form-urlencoded;charset=UTF-8'
// },
});
// http request 拦截器
request.interceptors.request.use(
config => {
config.params={
requestProject:"mall",
...config.params
}
// if (store.state.token) {
// config.headers.Authorization = `token ${store.state.token}`;
// }
return config;
},
err => {
return Promise.reject(err);
});
// http response 拦截器
request.interceptors.response.use(
response => {
if(response.status == 200 && response.data.errorCode === 401) {
window.location.href = window.location.origin + ('/integral-mall')
// window.location.href = 'http://gicdev.com/gic-web'
}
return response;
},
error => {
console.log(error)
if (error.response) {
switch (error.response.status) {
case 401:
// 401 清除token信息并跳转到登录页面
store.commit(types.LOGOUT);
router.replace({
name: 'login',
query: {redirect: router.currentRoute.fullPath}
})
}
}
return Promise.reject(error.response.data)
});
export default request ;
......@@ -129,9 +129,9 @@
width: 44px;
height: 44px;
border-radius: 4px;
margin-right: 8px;
margin-right: 4px;
display: inline-block;
padding: 8px;
padding: 4px;
border: 1px solid #dcdfe6;
}
......@@ -139,7 +139,7 @@
width: 40px;
height: 40px;
border-radius: 4px;
margin-right: 8px;
margin-right: 4px;
display: inline-block;
}
......@@ -175,13 +175,15 @@
}
.table-name--ellipsis {
width: 90px;
width: 126px;
overflow: hidden;
text-overflow: ellipsis;
display: -webkit-box;
-webkit-line-clamp: 1;
-webkit-box-orient: vertical;
white-space: normal;
white-space: nowrap;
display: inline-block;
line-height:18px;
}
.left-aside-contain {
......@@ -296,4 +298,26 @@
span {
color: #606266;
}
}
\ No newline at end of file
}
// 带删除的下拉框
.delete-select .delete-icon{
display:none;
}
.delete-icon{
color:#dcdfe6;
}
.delete-icon:focus{
color:#dcdfe6;
}
.delete-icon:hover{
color:#f5222d;
}
.curson-pointer tbody tr{
cursor: pointer;
}
......@@ -49,6 +49,9 @@ a:hover {
.pt5{
padding-top: 5px!important;
}
.pt8{
padding-top: 8px!important;
}
.pt10{
padding-top: 10px!important;
}
......@@ -61,6 +64,9 @@ a:hover {
.pt200{
padding-top: 200px!important;
}
.pb8{
padding-bottom: 10px!important;
}
.pb10{
padding-bottom: 10px!important;
}
......
......@@ -3975,12 +3975,13 @@
font-size: 18px;
color: #303133; }
.el-dialog__body {
padding: 30px 20px;
padding: 20px 20px 10px 20px;
color: #606266;
font-size: 14px; }
.el-dialog__footer {
padding: 20px;
padding-top: 10px;
border-top:1px solid #DCDFE6;
padding: 10px 20px;
/* padding-top: 10px; */
text-align: right;
-webkit-box-sizing: border-box;
box-sizing: border-box; }
......@@ -31812,8 +31813,8 @@
padding-left: 35px;
padding-right: 35px; }
.el-input-number.is-without-controls .el-input__inner {
padding-left: 15px;
padding-right: 15px; }
padding-left: 12px;
padding-right: 12px; }
.el-input-number.is-controls-right .el-input__inner {
padding-left: 15px;
padding-right: 42px; }
......@@ -42410,22 +42411,24 @@
color: #fcce72;
background-color: #fff7e8;
border-color: #feefd0; }
.el-button--danger {
color: #fff;
background-color: #f5222d;
border-color: #f5222d; }
.el-button--danger {
color: #F5222D;
background-color: #F5F7FA;
border-color: #DCDFE6;
}
.el-button--danger:hover, .el-button--danger:focus {
background: #f74e57;
border-color: #f74e57;
background: #F5222D;
border-color: #F5222D;
color: #fff; }
.el-button--danger:active {
background: #dd1f29;
border-color: #dd1f29;
background: #CF1322;
border-color: #CF1322;
color: #fff;
outline: none; }
.el-button--danger.is-active {
background: #dd1f29;
border-color: #dd1f29;
background: #CF1322;
border-color: #CF1322;
color: #fff; }
/* .el-button--danger.is-disabled, .el-button--danger.is-disabled:hover, .el-button--danger.is-disabled:focus, .el-button--danger.is-disabled:active {
color: #fff;
......@@ -141,11 +141,11 @@
color:#303133;
font-size:20px;
padding:24px 0;
font-weight:600;
font-weight:500;
span{
color:#303133;
font-size:20px;
font-weight:600;
font-weight:500;
}
i{
font-size:20px;
......
......@@ -16,4 +16,6 @@ export const getCardList = (params) => requests(PLUG_PREFIX + 'get-coupon-list',
//所有门店分组
export const storeGroupList = (params) => requests(GOODS_PREFIX + 'store-group-list', params);
//上传图片
export const uploadImgText = (params) => requests(PLUG_PREFIX + 'upload-img', params);
<template>
<section class="sms-lib">
<section class="sms-lib curson-pointer">
<div class="pb22">
<span class="pr10">{{total}}</span>
<el-input :disabled="disabled" v-model="listParams.searchParam" class="w200" clearable placeholder="请输入卡券名称" @change="getCardList"><i slot="prefix" class="el-input__icon el-icon-search"></i></el-input>
......@@ -19,7 +19,7 @@
<el-table-column :show-overflow-tooltip="false" align="left" prop="cardLimit" label="兑换限制"></el-table-column>
<el-table-column :show-overflow-tooltip="false" align="left" prop="couponStock" label="库存"></el-table-column>
</el-table>
<el-pagination background class="dm-pagination" @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page="listParams.currentPage" :page-sizes="[10, 20, 30, 40]" :page-size="listParams.pageSize" layout="total, prev, pager, next" :total="total"></el-pagination>
<el-pagination v-show='tableList.length>0' background class="dm-pagination" @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page="listParams.currentPage" :page-sizes="[10, 20, 30, 40]" :page-size="listParams.pageSize" layout="total, prev, pager, next" :total="total"></el-pagination>
</section>
</template>
......@@ -57,7 +57,7 @@ export default {
listParams:{
searchParam:'',
currentPage:1,
pageSize:20,
pageSize:10,
requestProject:'gic-web',
coupCardId:'',
cardType:this.cardType
......
<template>
<el-dialog class="express dialog__body__nopadding" title="查看物流信息" :visible.sync="show" width="60%" :before-close="close">
<div class="express--info">
<p>收件人:{{info.consignee || '--'}}</p>
<p>联系方式:{{info.consigneePhone || '--'}}</p>
<p>收货地址:{{info.receivingAddress || '--'}}</p>
<p>收件人:<span style="color:#606266">{{info.consignee || '--'}}</span></p>
<p>联系方式:<span style="color:#606266">{{info.consigneePhone || '--'}}</span></p>
<p>收货地址:<span style="color:#606266">{{info.receivingAddress || '--'}}</span></p>
</div>
<div class="express--order">
<div class="clearfix express--order__info" v-if="!editShow">
<div class="fl pr20">快递公司{{info.logisticsCompanyName || '--'}}</div>
<div class="fl">运单号码{{info.courierNumber || '--'}}</div>
<div class="fl pr20"><span style="color:#303133">快递公司</span>{{info.logisticsCompanyName || '--'}}</div>
<div class="fl"><span style="color:#303133">运单号码</span>{{info.courierNumber || '--'}}</div>
<el-button class="fr express--order__info--btn" type="text" v-if="!isInfo" @click="editExpress">修改运单信息</el-button>
</div>
<div class="express--order__info" v-else>
......
<!--
安装 tinymce
$ npm install @tinymce/tinymce-vue -S
npm install tinymce -S
安装之后,在 node_modules 中找到 tinymce/skins 目录,然后将 skins 目录拷贝到 static 目录下
文中所有 static 目录相关都这样处理
tinymce 默认是英文界面,所以还需要下载一个中文语言包:
中文:https://tinymce-services.azurewebsites.net/1/i18n/download?langs=zh_CN
然后将这个语言包放到 static 目录下,为了结构清晰,包一层 tinymce 目录
static
|____tinymce
|___skins
|___zh_CN.js
<tinymce-edit ref="tinymceWrap" :bodyHtml="ruleForm.gradeDescribe" :projectName="projectName"></tinymce-edit>
import tinymceEdit from 'components/memberShip/tinymce-edit'
公共上传图片请求方法
/*
* method: 'post'
* data: params
*
*/
export const postForm = (url, params) => {
params.requestProject = "gic-clique";
return Vue.axios({
method: 'post',
url: `${local}${url}`,
data: params,
headers: {}
});
}
引入路径修改成自己的路径
-->
<template>
<div class="tinymce-contain">
<editor id='tinymce' v-model='tinymceHtml' :init='init'></editor>
</div>
</template>
<script>
// import request from '../../api/request.js'
import request from '../../../api/request.js'
import tinymce from 'tinymce/tinymce'
import 'tinymce/themes/modern/theme'
import Editor from '@tinymce/tinymce-vue'
import 'tinymce/plugins/image'
import 'tinymce/plugins/link'
import 'tinymce/plugins/code'
import 'tinymce/plugins/table'
import 'tinymce/plugins/lists'
import 'tinymce/plugins/contextmenu'
import 'tinymce/plugins/wordcount'
import 'tinymce/plugins/colorpicker'
import 'tinymce/plugins/textcolor'
export default {
name: "tinymce-edit",
props: ["bodyHtml",'projectName'],
data() {
return {
tinymceHtml: '请输入内容',
init: {
language_url: 'static/tinymce/zh_CN.js',
language: 'zh_CN',
skin_url: 'static/tinymce/skins/lightgray',
height: 300,
// 图片上传
// without images_upload_url set, Upload tab won't show up
// images_upload_url: '',
// images_upload_base_path: '/some/basepath',
images_upload_credentials: true, //是否应传递cookie等跨域的凭据
// images_upload_handler提供三个参数:blobInfo, success, failure
images_upload_handler: (blobInfo, success, failure)=>{
console.log(blobInfo)
this.handleImgUpload(blobInfo, success, failure)
},
// 添加插件
// plugins: 'link lists image code table colorpicker textcolor wordcount contextmenu',
// toolbar:
// 'bold italic underline strikethrough | fontsizeselect | forecolor backcolor | alignleft aligncenter alignright alignjustify | bullist numlist | outdent indent blockquote | undo redo | link unlink image code | removeformat',
plugins: 'image textcolor',
toolbar:
'fontsizeselect | forecolor backcolor | alignleft aligncenter alignright alignjustify | link unlink image code',
fontsize_formats: "8px 10px 12px 14px 18px 24px 36px",
branding: false,
menubar: false,
setup: function(editor) {
// 点击编辑框回调
editor.on('click', function(e) {
console.log('Editor was clicked');
});
}
}
}
},
methods: {
// 上传图片
handleImgUpload (blobInfo, success, failure) {
var that = this
let formdata = new FormData()
formdata.set('upload_file', blobInfo.blob())
formdata.set("requestProject",that.repProjectName);
console.log(formdata)
request.post('/api-plug/upload-img', formdata).then(res => {
success(res.data.result[0].qcloudImageUrl)
}).catch(res => {
console.log(res)
failure('error')
})
},
},
watch: {
projectName: function(newData,oldData){
var that = this;
// console.log("新数据:",newData,oldData)
that.repProjectName = newData || 'gic-web';
},
bodyHtml: function(newData,oldData){
var that = this;
// console.log("新数据:",newData,oldData)
that.tinymceHtml = newData;
},
},
components: {
Editor
},
mounted() {
var that = this
tinymce.init({
fontsize_formats: "8px 10px 12px 14px 18px 24px 36px",
});
that.tinymceHtml = that.bodyHtml;
}
}
</script>
<style scoped>
.tinymce-contain {
width: 900px
}
</style>
......@@ -37,7 +37,7 @@
<el-radio :label="3">每月</el-radio>
<el-radio :label="4">每周</el-radio>
</el-radio-group>
<div class="pt10">
<div class="">
<el-date-picker class="w300" v-model="form.exchangeFixDate" v-if="form.exchangeDateType === 2" type="daterange" range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期"></el-date-picker>
<el-select class="w300" size="small" v-model="form.exchangeDateDayArr" v-if="form.exchangeDateType === 3" multiple placeholder="请选择">
<el-option v-for="item in monthOptions" :key="item" :label="item" :value="item"></el-option>
......@@ -53,8 +53,8 @@
<el-radio :label="1">全部时段</el-radio>
<el-radio :label="2" class="vertical-middle">部分时段</el-radio>
</el-radio-group>
<div v-show="form.exchangeTimeType === 2" class="pt10">
<p v-for="(v,i) in timeRangeList" :key="i" class="pb10">
<div v-show="form.exchangeTimeType === 2" class="">
<p v-for="(v,i) in timeRangeList" :key="i" class="pt8">
<el-time-picker :disabled="form.exchangeTimeType === 1" class="vertical-middle w300" is-range v-model="v.timeRange" value-format="HH:mm" format="HH:mm" range-separator="至" start-placeholder="开始时间" end-placeholder="结束时间" placeholder="选择时间范围"></el-time-picker>
<el-button v-if="i" class="vertical-middle" type="text" @click="delTimeRange(i)">删除</el-button>
</p>
......@@ -74,8 +74,8 @@
<el-radio :label="1">立即发布</el-radio>
<el-radio :label="2">定时发布</el-radio>
</el-radio-group>
<div class="pt10">
<el-date-picker v-if="form.releaseType ===2" v-model="form.limitTimeBegin" type="datetime" placeholder="选择日期时间"></el-date-picker>
<div class="pt8" v-if="form.releaseType ===2">
<el-date-picker v-model="form.limitTimeBegin" type="datetime" placeholder="选择日期时间"></el-date-picker>
</div>
</el-form-item>
</div>
......
......@@ -10,42 +10,42 @@
<img class="vertical-middle table__avatar--gift" :src="filterAvatar(scope.row.cardType)" width="40" height="40" />
<div class="inline-block vertical-middle">
<p class="table-name--ellipsis">{{scope.row.proTitle || '--'}}</p>
<p class="fz13 gray">{{scope.row.proSubTitle || '--'}}</p>
<p class="fz13 gray" style="line-height:18px">{{scope.row.proSubTitle || '--'}}</p>
</div>
</div>
</template>
</el-table-column>
<el-table-column label="积分费用" align="left" prop="integralCost" width="100">
<el-table-column label="积分费用" align="left" prop="integralCost">
<template slot-scope="scope">
<updateCount :model="scope.row" theType="integralCost" typeName="积分" @refresh="getPageCardsList"></updateCount>
</template>
</el-table-column>
<el-table-column label="现金费用" align="left" prop="cashCost" width="100">
<el-table-column label="现金费用" align="left" prop="cashCost">
<template slot-scope="scope">
<updateCount :model="scope.row" theType="cashCost" :precision="2" typeName="元" @refresh="getPageCardsList"></updateCount>
</template>
</el-table-column>
<el-table-column label="库存" align="left" prop="virtualStock" width="100">
<el-table-column label="库存" align="left" prop="virtualStock">
<template slot-scope="scope">
<updateCount :model="scope.row" theType="virtualStock" @refresh="getPageCardsList"></updateCount>
</template>
</el-table-column>
<el-table-column label="兑换次数" align="left" prop="allExchangeNumber" width="80">
<el-table-column label="兑换次数" align="left" prop="allExchangeNumber">
<template slot-scope="scope">
<span @click="$router.push('/coupon/exchange/'+scope.row.integralMallProId)" class="blue">{{scope.row.allExchangeNumber}}</span>
</template>
</el-table-column>
<el-table-column label="状态" align="left" prop="status" width="140px">
<el-table-column label="状态" align="left" prop="status" min-width="100px">
<template slot-scope="scope" >
<span v-html="renderStatus(scope.row).html"></span>
</template>
</el-table-column>
<el-table-column label="显示状态" align="center" prop="proShowStatus" width="120">
<el-table-column label="显示状态" align="center" prop="proShowStatus">
<template slot-scope="scope" >
{{renderShowStatus(scope.row)}}
</template>
</el-table-column>
<el-table-column label="操作" align="left" width="140px">
<el-table-column label="操作" align="left">
<template slot-scope="scope">
<el-button type="text" @click="$router.push('/coupon/info/'+scope.row.integralMallProId)">编辑</el-button>
<dm-delete @confirm="delData(scope.row)" tips="是否删除该优惠券?">
......
......@@ -2,9 +2,14 @@ import { getGradeList, getCategoryList, createIntegralProService, getIntegralMal
import cardTemp from '../common/card-temp.vue';
// import dmUploadAvatar from '@/components/upload/avatar';
import { formateDateTimeByType } from '@/utils/index.js';
import tinymceEdit from '../common/tinymce-edit.vue'
export default {
components: {
'card-temp': cardTemp,
tinymceEdit,
// dmUploadAvatar
},
data() {
......@@ -34,7 +39,8 @@ export default {
exchangeDateWeekArr: [],
limitTimeBegin: '',
virtualStock: 0,
weChatVirtualStock: 0
weChatVirtualStock: 0,
detailDescription:'',//图文详情
},
rules: {
proName: { required: true, message: '请输入礼品名称', trigger: 'blur' },
......@@ -68,6 +74,7 @@ export default {
maxlength: 5, // 图片数量 默认 5
imgSize: 1, // 图片大小限制 MB
imageList: [] // 是否显示已上传文件列表
}
},
watch: {
......@@ -171,7 +178,7 @@ export default {
this.form.exchangeDateWeekArr = result.exchangeDateWeek ? result.exchangeDateWeek.split(',').filter(v => v) : [];
this.form.limitTimeBegin = result.limitTimeBegin || '';
this.form.weChatVirtualStock = this.form.virtualStock = result.virtualStock || 0;
this.form.detailDescription=result.detailDescription//图文详情的数据
// result.showStore = 2;
this.sendChildData = {
......@@ -258,7 +265,7 @@ export default {
},
// 提交保存
submitService() {
this.form.detailDescription=this.$refs.tinymceWrap.tinymceHtml
if (this.form.costValue < this.form.cashCost) {
this.$tips({ type: 'warning', message: '现金费用不能大于礼品成本' });
return;
......@@ -271,6 +278,15 @@ export default {
this.$tips({ type: 'warning', message: '请选择优惠券' });
return;
}
if(this.form.detailDescription){
if(this.form.detailDescription.length>2000){
this.$tips({ type: 'error', message: '图文详情编辑超过字数限制' });
return;
}
}else{
this.form.detailDescription=''
}
let params = {
integralMallProId: this.form.integralMallProId || '',
proType: this.form.changeType === 1 ? 2 : 3, // 商品类型 1 优惠券,2礼品,3实物
......@@ -296,6 +312,7 @@ export default {
storeIds: '', // 选中的门店信息,多个逗号拼接
virtualStock: this.form.changeType === 1 ? this.form.weChatVirtualStock : this.form.virtualStock, //库存
detailDescription:this.form.detailDescription,//图文详情
}
......
......@@ -16,6 +16,7 @@
:limitW="limitW"
:limitH="limitH"
:imgSize="imgSize"
with-credentials
:maxImageLength="maxlength"
@uploadOnSuccess="uploadOnSuccess"
@sortImg="sortImg"
......@@ -24,10 +25,10 @@
</div>
</el-form-item>
<el-form-item prop="proCategoryId" label="礼品分类">
<el-select v-model="form.proCategoryId" placeholder="请选择" class="w300">
<el-select v-model="form.proCategoryId" placeholder="请选择" class="w300 delete-select">
<el-option v-for="(v,i) in categoryOptions" :key="i" :label="v.categoryName" :value="v.integralMallCategoryId">
<span class="fl">{{v.categoryName}}</span>
<el-button class="fr" type="text" @click.stop="deleteCategory(v.integralMallCategoryId)">x</el-button>
<el-button class="fr delete-icon" type="text" @click.stop="deleteCategory(v.integralMallCategoryId)" style="line-height:34px" ><i class="el-icon-error el-icon--right"></i></el-button>
</el-option>
</el-select>
<el-button type="text" @click="createCategory">新建分类</el-button>
......@@ -54,6 +55,11 @@
<el-form-item label="展现门店" class="is-required">
<vue-gic-store-linkage :disabled="isInfo" :msg="sendChildData" ref="selectTree" @sendSelectGroupData="getSelectGroupData"></vue-gic-store-linkage>
</el-form-item>
<el-form-item label="图文详情">
<div class="tinymce-wrap">
<tinymce-edit ref="tinymceWrap" :bodyHtml="form.detailDescription" :projectName="projectName"></tinymce-edit>
</div>
</el-form-item>
</div>
<div class="dm-form__wrap">
<h3 class="dm-title__label">兑换条件</h3>
......@@ -64,12 +70,16 @@
<el-radio :label="3">每月</el-radio>
<el-radio :label="4">每周</el-radio>
</el-radio-group>
<div class="pt10">
<el-date-picker class="w300" v-model="form.exchangeFixDate" v-if="form.exchangeDateType === 2" type="daterange" range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期"></el-date-picker>
<el-select class="w300" size="small" v-model="form.exchangeDateDayArr" v-if="form.exchangeDateType === 3" multiple placeholder="请选择">
<div class="pt8" v-if="form.exchangeDateType === 2">
<el-date-picker class="w300" v-model="form.exchangeFixDate" type="daterange" range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期"></el-date-picker>
</div>
<div class="pt8" v-if="form.exchangeDateType === 3">
<el-select class="w300" size="small" v-model="form.exchangeDateDayArr" multiple placeholder="请选择">
<el-option v-for="item in monthOptions" :key="item" :label="item" :value="item"></el-option>
</el-select>
<el-select class="w300" size="small" v-model="form.exchangeDateWeekArr" v-if="form.exchangeDateType === 4" multiple placeholder="请选择">
</div>
<div class="pt8" v-if="form.exchangeDateType ===4">
<el-select class="w300" size="small" v-model="form.exchangeDateWeekArr" multiple placeholder="请选择">
<el-option v-for="item in exchangeDateWeekOptions" :key="item" :label="item" :value="item"></el-option>
</el-select>
</div>
......@@ -80,8 +90,8 @@
<el-radio :label="1">全部时段</el-radio>
<el-radio :label="2" class="vertical-middle">部分时段</el-radio>
</el-radio-group>
<div v-show="form.exchangeTimeType === 2" class="pt10">
<p v-for="(v,i) in timeRangeList" :key="i" class="pb10">
<div v-show="form.exchangeTimeType === 2" class="">
<p v-for="(v,i) in timeRangeList" :key="i" class="pt8">
<el-time-picker :disabled="form.exchangeTimeType === 1" class="vertical-middle w300" is-range v-model="v.timeRange" value-format="HH:mm" format="HH:mm" range-separator="至" start-placeholder="开始时间" end-placeholder="结束时间" placeholder="选择时间范围"></el-time-picker>
<el-button v-if="i" class="vertical-middle" type="text" @click="delTimeRange(i)">删除</el-button>
</p>
......@@ -102,8 +112,8 @@
<el-radio :label="1">立即发布</el-radio>
<el-radio :label="2">定时发布</el-radio>
</el-radio-group>
<div class="pt10">
<el-date-picker v-if="form.releaseType ===2" v-model="form.limitTimeBegin" type="datetime" placeholder="选择日期时间"></el-date-picker>
<div class="pt8" v-if="form.releaseType ===2">
<el-date-picker v-model="form.limitTimeBegin" type="datetime" placeholder="选择日期时间"></el-date-picker>
</div>
</el-form-item>
<el-form-item prop="changeType" label="兑换方式" class="is-required">
......@@ -112,7 +122,7 @@
<el-radio :label="3" :disabled="form.changeType === 1 && (isInfo || isEdit)">在线发货</el-radio>
<el-radio :disabled="form.changeType !== 1 && (isInfo || isEdit)" :label="1">微信兑换券</el-radio>
</el-radio-group>
<div class="pt10">
<div class="pt8">
<span v-show="form.changeType !== 1">库存 <el-input-number controls-position="right" v-model="form.virtualStock" class="w250 vertical-middle" :precison="0" :min="0"></el-input-number></span>
<span v-show="form.changeType === 1" class="gray fz13">礼品成本金额以选择兑换券的成本金额为准</span>
</div>
......
......@@ -35,50 +35,56 @@
<img class="vertical-middle table__avatar--gift" :src="scope.row.mainImageUrl || defaultAvatar" width="60" height="60" />
<div class="inline-block vertical-middle">
<p class="table-name--ellipsis">{{scope.row.proName || '--'}}</p>
<p class="fz13 gray">{{scope.row.giftCategoryName || '--'}}</p>
<div v-if="scope.row.giftCategoryName">
<el-tooltip class="item" effect="dark" :content="scope.row.giftCategoryName" placement="bottom">
<p class="fz13 gray table-name--ellipsis">{{scope.row.giftCategoryName}}</p>
</el-tooltip>
</div>
<p v-else>--</p>
<!-- <p class="fz13 gray table-name--ellipsis">{{scope.row.giftCategoryName || '--'}}</p> -->
</div>
</div>
</template>
</el-table-column>
<el-table-column label="积分费用" align="left" prop="integralCost" width="100">
<el-table-column label="积分费用" align="left" prop="integralCost">
<template slot-scope="scope">
<updateCount :model="scope.row" theType="integralCost" typeName="积分" @refresh="getPageGiftList"></updateCount>
</template>
</el-table-column>
<el-table-column label="现金费用" align="left" prop="cashCost" width="100">
<el-table-column label="现金费用" align="left" prop="cashCost">
<template slot-scope="scope">
<updateCount :model="scope.row" :precision="2" theType="cashCost" typeName="元" @refresh="getPageGiftList"></updateCount>
</template>
</el-table-column>
<el-table-column label="库存" align="left" prop="sortCost" width="100" sortable="custom">
<el-table-column label="库存" align="left" prop="sortCost" sortable="custom">
<template slot-scope="scope">
<updateCount :model="scope.row" theType="virtualStock" @refresh="getPageGiftList"></updateCount>
</template>
</el-table-column>
<el-table-column label="兑换次数" align="left" prop="sortTimes" width="100" sortable="custom">
<el-table-column label="兑换次数" align="left" prop="sortTimes" sortable="custom">
<template slot-scope="scope">
<span v-if="scope.row.changeType == 1" @click="$router.push('/gift/wxexchange/'+scope.row.integralMallProId)" class="blue">{{scope.row.allExchangeNumber}}</span>
<span v-else @click="$router.push('/gift/exchange/'+scope.row.integralMallProId)" class="blue">{{scope.row.allExchangeNumber}}</span>
</template>
</el-table-column>
<el-table-column label="兑换方式" align="left" prop="changeType" width="80">
<el-table-column label="兑换方式" align="left" prop="changeType">
<template slot-scope="scope" >
<span v-if="scope.row.changeType == 1">微信兑换</span>
<span v-if="scope.row.changeType == 2">快递发货</span>
<span v-if="scope.row.changeType == 3">在线发货</span>
</template>
</el-table-column>
<el-table-column label="兑换状态" align="left" prop="status" width="140px">
<el-table-column label="兑换状态" align="left" prop="status" min-width="100px">
<template slot-scope="scope" >
<span v-html="renderStatus(scope.row).html"></span>
</template>
</el-table-column>
<el-table-column label="显示状态" align="center" prop="proShowStatus" width="120">
<el-table-column label="显示状态" align="center" prop="proShowStatus">
<template slot-scope="scope" >
{{renderShowStatus(scope.row)}}
</template>
</el-table-column>
<el-table-column label="操作" align="left" width="140px" fixed="right">
<el-table-column label="操作" align="left" fixed="right">
<template slot-scope="scope">
<el-button type="text" @click="$router.push('/gift/info/'+scope.row.integralMallProId)">编辑</el-button>
<dm-delete @confirm="delData(scope.row)" tips="是否删除该优惠券?">
......
......@@ -19,19 +19,19 @@
<img class="vertical-middle table__avatar" :src="scope.row.giftMainPic || defaultAvatar" width="60" height="60" />
<div class="inline-block vertical-middle">
<p class="table-name--ellipsis">{{scope.row.giftName || '--'}}</p>
<p class="fz13 gray">{{scope.row.giftCategoryName || '--'}}</p>
<p class="fz13 gray" style="line-height:18px">{{scope.row.giftCategoryName || '--'}}</p>
</div>
</div>
</template>
</el-table-column>
<el-table-column label="兑换时间" align="left" prop="createTime" width="170px">
<el-table-column label="兑换时间" align="left" prop="createTime">
<template slot-scope="scope" >
<span>{{formateDateTimeByType(scope.row.createTime,'yyyy-MM-dd-HH-mm-ss')}}</span>
</template>
</el-table-column>
<el-table-column label="流水号" align="left" prop="definedCode" width="150px"></el-table-column>
<el-table-column label="发货类型" align="left" prop="changeType" width="80">
<el-table-column label="流水号" align="left" prop="definedCode"></el-table-column>
<el-table-column label="发货类型" align="left" prop="changeType">
<template slot-scope="scope" >
<span v-if="scope.row.changeType == 2">快递发货</span>
<span v-else-if="scope.row.changeType == 3">在线发货</span>
......@@ -43,18 +43,18 @@
<memberInfoCom :row="scope.row"></memberInfoCom>
</template>
</el-table-column>
<el-table-column label="消耗积分" align="left" prop="status" width="100px">
<el-table-column label="消耗积分" align="left" prop="status">
<template slot-scope="scope" >
<p>{{scope.row.unitCostIntegral}}</p>
<p>{{scope.row.payCost}}</p>
</template>
</el-table-column>
<el-table-column label="微信支付流水号" align="left" prop="proShowStatus" width="150">
<el-table-column label="微信支付流水号" align="left" prop="proShowStatus">
<template slot-scope="scope" >
<span>{{scope.row.definedCode || '--'}}</span>
</template>
</el-table-column>
<el-table-column label="操作" align="left" width="140px" fixed="right">
<el-table-column label="操作" align="left" fixed="right">
<template slot-scope="scope">
<p>
<el-button type="text" v-if="scope.row.status === 1" @click="sendOrder(scope.row)">发货</el-button>
......
......@@ -2,9 +2,9 @@
<el-dialog class="express dialog__body__nopadding" title="查看详情" :visible.sync="show" width="40%" :before-close="close">
<div class="express--info">
<div v-if="infoStatus === 3">
<p>收件人:{{info.consignee || '--'}}</p>
<p>联系方式:{{info.consigneePhone || '--'}}</p>
<p>收货地址:{{info.receivingAddress || '--'}}</p>
<p>收件人:<span style="color:#606266">{{info.consignee || '--'}}</span></p>
<p>联系方式:<span style="color:#606266">{{info.consigneePhone || '--'}}</span></p>
<p>收货地址:<span style="color:#606266">{{info.receivingAddress || '--'}}</span></p>
</div>
<div v-if="infoStatus === 1">
<p>发货时间:{{formateDateTimeByType(info.deliveryTime,'yyyy-MM-dd-HH-mm') || '--'}}</p>
......
<template>
<el-dialog class="express dialog__body__nopadding" title="查看物流信息" :visible.sync="show" width="40%" :before-close="close">
<div class="express--info">
<p>收件人:{{info.consignee || '--'}}</p>
<p>联系方式:{{info.consigneePhone || '--'}}</p>
<p>收货地址:{{info.receivingAddress || '--'}}</p>
<p>收件人:<span style="color:#606266">{{info.consignee || '--'}}</span></p>
<p>联系方式:<span style="color:#606266">{{info.consigneePhone || '--'}}</span></p>
<p>收货地址:<span style="color:#606266">{{info.receivingAddress || '--'}}</span></p>
<p class="pb10">快递公司:<el-select class="vertical-middle w300" v-model="params.logisticsCompanyId" placeholder="选择快递">
<el-option v-for="v in logisticsOptions" :key="v.logisticsCompanyCode" :label="v.logisticsCompanyName" :value="v.logisticsCompanyId"></el-option>
</el-select>
......
.word-wrap{word-wrap:break-word;-ms-word-break:break-all;word-break:break-all;word-break:break-word;-ms-hyphens:auto;-moz-hyphens:auto;-webkit-hyphens:auto;hyphens:auto}.mce-content-body .mce-reset{margin:0;padding:0;border:0;outline:0;vertical-align:top;background:transparent;text-decoration:none;color:black;font-family:Arial;font-size:11px;text-shadow:none;float:none;position:static;width:auto;height:auto;white-space:nowrap;cursor:inherit;line-height:normal;font-weight:normal;text-align:left;-webkit-tap-highlight-color:transparent;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box;direction:ltr;max-width:none}.mce-object{border:1px dotted #3A3A3A;background:#D5D5D5 url(img/object.gif) no-repeat center}.mce-preview-object{display:inline-block;position:relative;margin:0 2px 0 2px;line-height:0;border:1px solid gray}.mce-preview-object[data-mce-selected="2"] .mce-shim{display:none}.mce-preview-object .mce-shim{position:absolute;top:0;left:0;width:100%;height:100%;background:url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)}figure.align-left{float:left}figure.align-right{float:right}figure.image.align-center{display:table;margin-left:auto;margin-right:auto}figure.image{display:inline-block;border:1px solid gray;margin:0 2px 0 1px;background:#f5f2f0}figure.image img{margin:8px 8px 0 8px}figure.image figcaption{margin:6px 8px 6px 8px;text-align:center}.mce-toc{border:1px solid gray}.mce-toc h2{margin:4px}.mce-toc li{list-style-type:none}.mce-pagebreak{cursor:default;display:block;border:0;width:100%;height:5px;border:1px dashed #666;margin-top:15px;page-break-before:always}@media print{.mce-pagebreak{border:0}}.mce-item-anchor{cursor:default;display:inline-block;-webkit-user-select:all;-webkit-user-modify:read-only;-moz-user-select:all;-moz-user-modify:read-only;user-select:all;user-modify:read-only;width:9px !important;height:9px !important;border:1px dotted #3A3A3A;background:#D5D5D5 url(img/anchor.gif) no-repeat center}.mce-nbsp,.mce-shy{background:#AAA}.mce-shy::after{content:'-'}.mce-match-marker{background:#AAA;color:#fff}.mce-match-marker-selected{background:#3399ff;color:#fff}.mce-spellchecker-word{border-bottom:2px solid rgba(208,2,27,0.5);cursor:default}.mce-spellchecker-grammar{border-bottom:2px solid #008000;cursor:default}.mce-item-table,.mce-item-table td,.mce-item-table th,.mce-item-table caption{border:1px dashed #BBB}td[data-mce-selected],th[data-mce-selected]{background-color:#2276d2 !important}.mce-edit-focus{outline:1px dotted #333}.mce-content-body *[contentEditable=false] *[contentEditable=true]:focus{outline:2px solid #2276d2}.mce-content-body *[contentEditable=false] *[contentEditable=true]:hover{outline:2px solid #2276d2}.mce-content-body *[contentEditable=false][data-mce-selected]{outline:2px solid #2276d2}.mce-content-body.mce-content-readonly *[contentEditable=true]:focus,.mce-content-body.mce-content-readonly *[contentEditable=true]:hover{outline:none}.mce-content-body *[data-mce-selected="inline-boundary"]{background:#bfe6ff}.mce-content-body .mce-item-anchor[data-mce-selected]{background:#D5D5D5 url(img/anchor.gif) no-repeat center}.mce-content-body hr{cursor:default}.mce-content-body table{-webkit-nbsp-mode:normal}.ephox-snooker-resizer-bar{background-color:#2276d2;opacity:0}.ephox-snooker-resizer-cols{cursor:col-resize}.ephox-snooker-resizer-rows{cursor:row-resize}.ephox-snooker-resizer-bar.ephox-snooker-resizer-bar-dragging{opacity:.2}.mce-content-body{line-height:1.3}
\ No newline at end of file
body{background-color:#FFFFFF;color:#000000;font-family:Verdana,Arial,Helvetica,sans-serif;font-size:14px;line-height:1.3;scrollbar-3dlight-color:#F0F0EE;scrollbar-arrow-color:#676662;scrollbar-base-color:#F0F0EE;scrollbar-darkshadow-color:#DDDDDD;scrollbar-face-color:#E0E0DD;scrollbar-highlight-color:#F0F0EE;scrollbar-shadow-color:#F0F0EE;scrollbar-track-color:#F5F5F5}td,th{font-family:Verdana,Arial,Helvetica,sans-serif;font-size:14px}.word-wrap{word-wrap:break-word;-ms-word-break:break-all;word-break:break-all;word-break:break-word;-ms-hyphens:auto;-moz-hyphens:auto;-webkit-hyphens:auto;hyphens:auto}.mce-content-body .mce-reset{margin:0;padding:0;border:0;outline:0;vertical-align:top;background:transparent;text-decoration:none;color:black;font-family:Arial;font-size:11px;text-shadow:none;float:none;position:static;width:auto;height:auto;white-space:nowrap;cursor:inherit;line-height:normal;font-weight:normal;text-align:left;-webkit-tap-highlight-color:transparent;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box;direction:ltr;max-width:none}.mce-object{border:1px dotted #3A3A3A;background:#D5D5D5 url(img/object.gif) no-repeat center}.mce-preview-object{display:inline-block;position:relative;margin:0 2px 0 2px;line-height:0;border:1px solid gray}.mce-preview-object[data-mce-selected="2"] .mce-shim{display:none}.mce-preview-object .mce-shim{position:absolute;top:0;left:0;width:100%;height:100%;background:url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)}figure.align-left{float:left}figure.align-right{float:right}figure.image.align-center{display:table;margin-left:auto;margin-right:auto}figure.image{display:inline-block;border:1px solid gray;margin:0 2px 0 1px;background:#f5f2f0}figure.image img{margin:8px 8px 0 8px}figure.image figcaption{margin:6px 8px 6px 8px;text-align:center}.mce-toc{border:1px solid gray}.mce-toc h2{margin:4px}.mce-toc li{list-style-type:none}.mce-pagebreak{cursor:default;display:block;border:0;width:100%;height:5px;border:1px dashed #666;margin-top:15px;page-break-before:always}@media print{.mce-pagebreak{border:0}}.mce-item-anchor{cursor:default;display:inline-block;-webkit-user-select:all;-webkit-user-modify:read-only;-moz-user-select:all;-moz-user-modify:read-only;user-select:all;user-modify:read-only;width:9px !important;height:9px !important;border:1px dotted #3A3A3A;background:#D5D5D5 url(img/anchor.gif) no-repeat center}.mce-nbsp,.mce-shy{background:#AAA}.mce-shy::after{content:'-'}.mce-match-marker{background:#AAA;color:#fff}.mce-match-marker-selected{background:#3399ff;color:#fff}.mce-spellchecker-word{border-bottom:2px solid rgba(208,2,27,0.5);cursor:default}.mce-spellchecker-grammar{border-bottom:2px solid #008000;cursor:default}.mce-item-table,.mce-item-table td,.mce-item-table th,.mce-item-table caption{border:1px dashed #BBB}td[data-mce-selected],th[data-mce-selected]{background-color:#2276d2 !important}.mce-edit-focus{outline:1px dotted #333}.mce-content-body *[contentEditable=false] *[contentEditable=true]:focus{outline:2px solid #2276d2}.mce-content-body *[contentEditable=false] *[contentEditable=true]:hover{outline:2px solid #2276d2}.mce-content-body *[contentEditable=false][data-mce-selected]{outline:2px solid #2276d2}.mce-content-body.mce-content-readonly *[contentEditable=true]:focus,.mce-content-body.mce-content-readonly *[contentEditable=true]:hover{outline:none}.mce-content-body *[data-mce-selected="inline-boundary"]{background:#bfe6ff}.mce-content-body .mce-item-anchor[data-mce-selected]{background:#D5D5D5 url(img/anchor.gif) no-repeat center}.mce-content-body hr{cursor:default}.mce-content-body table{-webkit-nbsp-mode:normal}.ephox-snooker-resizer-bar{background-color:#2276d2;opacity:0}.ephox-snooker-resizer-cols{cursor:col-resize}.ephox-snooker-resizer-rows{cursor:row-resize}.ephox-snooker-resizer-bar.ephox-snooker-resizer-bar-dragging{opacity:.2}
\ No newline at end of file
.tinymce-mobile-unfocused-selections .tinymce-mobile-unfocused-selection{position:absolute;display:inline-block;background-color:green;opacity:.5}body{-webkit-text-size-adjust:none}body img{max-width:96vw}body table img{max-width:95%}
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment