Commit 5beb8907 authored by FE-安焕焕's avatar FE-安焕焕 👣

Merge branch 'deploy' of http://git.quantgroup.cn/ui/recruiting-management into ckeditor

Conflicts:
	src/components/home.vue
	src/page/resume/allResume.vue
	src/page/resume/channel.vue
parents f4250c06 7fd9511d
...@@ -10,7 +10,7 @@ ...@@ -10,7 +10,7 @@
<div id="app"></div> <div id="app"></div>
<!-- built files will be auto injected --> <!-- built files will be auto injected -->
</body> </body>
<script src="static/ckeditor/ckeditor.js" type="text/javascript" charset="utf-8"></script> <script src="/static/ckeditor/ckeditor.js" type="text/javascript" charset="utf-8"></script>
<script> <script>
// window.CKEDITOR_BASEPATH = 'http://example.com/static/'; // window.CKEDITOR_BASEPATH = 'http://example.com/static/';
</script> </script>
......
...@@ -116,7 +116,7 @@ export function uploadimage() { ...@@ -116,7 +116,7 @@ export function uploadimage() {
// 发送邮件 // 发送邮件
export function sendEmail(parmars) { export function sendEmail(parmars) {
return axios.post(`${sapi}/api/sendMail/sendEmailTemplate`,parmars,{headers: { return axios.post(`${sapi}/api/sendMail/sendEmailTemplate`,parmars,{headers: {
// 'Content-Type':'multipart/form-data', 'Content-Type':'multipart/form-data',
// 'Content-Disposition':'multipart/form-data' // 'Content-Disposition':'multipart/form-data'
// 'Content-Type':'application/json' // 'Content-Type':'application/json'
}}) }})
......
<template> <template>
<div> <div>
<textarea id="editor" rows="10" cols="80" v-model="editorValue"></textarea> <textarea id="editor" rows="10" cols="80"></textarea>
</div> </div>
</template> </template>
<script type="text/ecmascript-6"> <script type="text/ecmascript-6">
...@@ -31,21 +31,23 @@ ...@@ -31,21 +31,23 @@
}, },
data() { data() {
return { return {
editorValue : this.value isInit: false
}; };
}, },
watch: {
value:{
deep: true,
immediate:true,
handler(value) {
this.isInit&&this.editor.setData(value.value)
}
}
},
mounted() { mounted() {
this.init() this.init()
console.log(3, this.value)
}, },
beforeDestroy() { beforeDestroy() {
}, },
computed: {},
watch: {
value:function (value) {
this.editor.setData()
}
},
methods: { methods: {
init () { init () {
CKEDITOR.replace('editor', { CKEDITOR.replace('editor', {
...@@ -56,16 +58,13 @@ ...@@ -56,16 +58,13 @@
filebrowserImageUploadUrl: this.uploadUrl, filebrowserImageUploadUrl: this.uploadUrl,
filebrowserUploadMethod: 'form' filebrowserUploadMethod: 'form'
}); });
this.editor = CKEDITOR.instances.editor; this.editor = CKEDITOR.instances.editor;
this.editor.on( 'change', ( evt ) =>{ setTimeout(()=> {
// getData() returns CKEditor's HTML content. this.isInit = true
this.$emit('getValue', evt.editor.getData()) }, 1000)
});
}, },
}, getValue(){
watch:{ return this.editor.getData()
value: function(value) {
this.editor.setData(value)
} }
}, },
components: {} components: {}
......
...@@ -9,7 +9,7 @@ ...@@ -9,7 +9,7 @@
<Icon :type="menu.icon" style="font-size:20px;font-weight:bold"/> <Icon :type="menu.icon" style="font-size:20px;font-weight:bold"/>
{{menu.item}} {{menu.item}}
</template> </template>
<MenuItem v-for="child in menu.child" :key="child.name" :name="child.name" @click="go" :active-name="levelThreeName">{{child.item}}</MenuItem> <MenuItem v-for="(child,index) in menu.child" :key="index" :name="child.name" @click="go" :active-name="levelThreeName">{{child.item}}</MenuItem>
</Submenu> </Submenu>
</template> </template>
</Menu> </Menu>
...@@ -54,7 +54,7 @@ import localstorage from '../service/localstorage.service.js' ...@@ -54,7 +54,7 @@ import localstorage from '../service/localstorage.service.js'
xiabiao:'', xiabiao:'',
itemSelect:'', itemSelect:'',
type:'', type:'',
levelOneName: '', levelOneName: '1',
levelTwoName: ['1-1', '2-1', '3-1', '4-1'], levelTwoName: ['1-1', '2-1', '3-1', '4-1'],
levelThreeName: '1-1-1', levelThreeName: '1-1-1',
menuList: [ menuList: [
...@@ -164,15 +164,15 @@ import localstorage from '../service/localstorage.service.js' ...@@ -164,15 +164,15 @@ import localstorage from '../service/localstorage.service.js'
selectMenu(name, refesh) { selectMenu(name, refesh) {
// // refesh是否为刷新页面 // // refesh是否为刷新页面
this.levelOneName = name this.levelOneName = name
const menus = this.menuList.filter(v => name === v.name)[0] const menus = this.menuList.filter(v => name === v.name)
this.childMenu = menus&&menus.child ? menus.child : this.menuList[0].child this.childMenu = menus.length >0? menus[0].child : this.menuList[0].child
if (!refesh) { // 点击菜单默认展示第一个菜单 if (!refesh) { // 点击菜单默认展示第一个菜单
this.levelTwoName = [] this.levelTwoName = []
let initName = this.getInitName(name, menus) let initName = this.getInitName(name, menus[0])
this.levelTwoName.push(initName.levelTwoName) this.levelTwoName.push(initName.levelTwoName)
this.levelThreeName = initName.levelThreeName this.levelThreeName = initName.levelThreeName
} }
if (menus&&menus.loadMenu) { // 简历管理模块需要加载渠道简历 if (menus[0].loadMenu) { // 简历管理模块需要加载渠道简历
this.getChannelMenu() this.getChannelMenu()
} }
if (refesh&&this.$route.path.indexOf('channel') > -1) { if (refesh&&this.$route.path.indexOf('channel') > -1) {
......
...@@ -14,12 +14,12 @@ ...@@ -14,12 +14,12 @@
<div class="login_content"> <div class="login_content">
<Form ref="formInline" :model="formInline" :rules="ruleInline" style="height:161px"> <Form ref="formInline" :model="formInline" :rules="ruleInline" style="height:161px">
<FormItem prop="user" style="height:60px"> <FormItem prop="user" style="height:60px">
<Input type="text" v-model="formInline.user" placeholder="请输入11位默认手机号" class="wordStyle" size="large"> <Input type="text" v-model="formInline.user" placeholder="请输入号" class="wordStyle" size="large">
<Icon type="ios-person-outline" slot="prepend" ></Icon> <Icon type="ios-person-outline" slot="prepend" ></Icon>
</Input> </Input>
</FormItem> </FormItem>
<FormItem prop="password"> <FormItem prop="password">
<Input type="password" v-model="formInline.password" placeholder="请输入默认密码" class="wordStyle" @keyup.enter.native='login' size="large"> <Input type="password" v-model="formInline.password" placeholder="请输入密码" class="wordStyle" @keyup.enter.native='login' size="large">
<Icon type="ios-lock-outline" slot="prepend"></Icon> <Icon type="ios-lock-outline" slot="prepend"></Icon>
</Input> </Input>
<span style="color:red;margin-top;5px" v-show="noteconTime==true">{{notecontent}}</span> <span style="color:red;margin-top;5px" v-show="noteconTime==true">{{notecontent}}</span>
......
...@@ -65,6 +65,7 @@ ...@@ -65,6 +65,7 @@
<span style="display:inline-block;height:100%;font-size: 12px;margin-top:5px;overflow:hidden;text-overflow:ellipsis;white-space: nowrap;cursor:pointer" @click="Seedetail(item.id)"> {{item.ownerAge}}<span v-show="item.ownerSex !==''">|</span></span> <span style="display:inline-block;height:100%;font-size: 12px;margin-top:5px;overflow:hidden;text-overflow:ellipsis;white-space: nowrap;cursor:pointer" @click="Seedetail(item.id)"> {{item.ownerAge}}<span v-show="item.ownerSex !==''">|</span></span>
<span style="display:inline-block;height:100%;font-size: 12px;margin-top:5px;overflow:hidden;text-overflow:ellipsis;white-space: nowrap;cursor:pointer" @click="Seedetail(item.id)"> {{item.ownerSex}} <span v-show="item.ownerWorkYears !==''">|</span> </span> <span style="display:inline-block;height:100%;font-size: 12px;margin-top:5px;overflow:hidden;text-overflow:ellipsis;white-space: nowrap;cursor:pointer" @click="Seedetail(item.id)"> {{item.ownerSex}} <span v-show="item.ownerWorkYears !==''">|</span> </span>
<span style="display:inline-block;height:100%;font-size: 12px;margin-top:5px;overflow:hidden;text-overflow:ellipsis;white-space: nowrap;cursor:pointer" @click="Seedetail(item.id)"> {{item.ownerWorkYears}}<span v-show="item.ownerExpectTitles !==''">|</span></span> <span style="display:inline-block;height:100%;font-size: 12px;margin-top:5px;overflow:hidden;text-overflow:ellipsis;white-space: nowrap;cursor:pointer" @click="Seedetail(item.id)"> {{item.ownerWorkYears}}<span v-show="item.ownerExpectTitles !==''">|</span></span>
<span style="display:inline-block;height:100%;font-size: 12px;margin-top:5px;overflow:hidden;text-overflow:ellipsis;white-space: nowrap;cursor:pointer" @click="Seedetail(item.id)"> {{item.ownerHighestDegree}} <span v-show="item.ownerExpectTitles !==''">|</span></span>
<span style="display:inline-block;height:100%;margin-top:5px;font-size:12px;width:15%;overflow:hidden;text-overflow:ellipsis;white-space: nowrap;cursor:pointer" @click="Seedetail(item.id)"> {{item.ownerExpectTitles}}</span> <span style="display:inline-block;height:100%;margin-top:5px;font-size:12px;width:15%;overflow:hidden;text-overflow:ellipsis;white-space: nowrap;cursor:pointer" @click="Seedetail(item.id)"> {{item.ownerExpectTitles}}</span>
<span style="display:inline-block;height:100%;font-size: 12px;width:25%;float:right;text-align:right;margin-right:10px;margin-top:5px"> <span style="display:inline-block;height:100%;font-size: 12px;width:25%;float:right;text-align:right;margin-right:10px;margin-top:5px">
<span style="margin-right:20px;margin-top:5px" v-if="item.flowStatus=='INTERVIEW_OK'"><Icon type="ios-radio-button-on" style="color:#43CD80" /><span style="margin-left:10px">面试合适</span></span> <span style="margin-right:20px;margin-top:5px" v-if="item.flowStatus=='INTERVIEW_OK'"><Icon type="ios-radio-button-on" style="color:#43CD80" /><span style="margin-left:10px">面试合适</span></span>
...@@ -134,8 +135,11 @@ ...@@ -134,8 +135,11 @@
</span> </span>
</p> </p>
<p style="margin-top:5px;color:Greys"> <p style="margin-top:5px;color:Greys">
<span style="display:inline-block;font-size: 12px;margin-left:25px;color:Grey" v-if="item.srcSite!==''">{{item.deliveryTime}}投递 |</span> <span style="display:inline-block;font-size: 12px;margin-left:25px;color:orange" v-show="item.hasForward=='1'" >已转</span>
<span style="display:inline-block;font-size: 12px;margin-left:25px;color:Grey" v-if="item.srcSite==''">{{item.deliveryTime}}上传 <span v-show="item.optSource!==''"> |</span></span> <span style="display:inline-block;font-size: 12px;margin-left:25px;color:Grey" v-if="item.srcSite!==''" v-show="item.hasForward==null">{{item.deliveryTime}}投递 |</span>
<span style="display:inline-block;font-size: 12px;margin-left:25px;color:Grey" v-if="item.srcSite==''" v-show="item.hasForward==null">{{item.deliveryTime}}上传 <span v-show="item.optSource!==''"> |</span></span>
<span style="display:inline-block;font-size: 12px;margin-left:5px;color:Grey" v-if="item.srcSite!==''" v-show="item.hasForward!==null">{{item.deliveryTime}}投递 |</span>
<span style="display:inline-block;font-size: 12px;margin-left:5px;color:Grey" v-if="item.srcSite==''" v-show="item.hasForward!==null">{{item.deliveryTime}}上传 <span v-show="item.optSource!==''"> |</span></span>
<span style="display:inline-block;font-size: 12px;margin-left:3px;color:Grey">{{item.optSource}}<span v-show="item.srcSite!==''"> |</span></span> <span style="display:inline-block;font-size: 12px;margin-left:3px;color:Grey">{{item.optSource}}<span v-show="item.srcSite!==''"> |</span></span>
<span style="display:inline-block;font-size: 12px;margin-left:3px;color:Grey">{{item.srcSite}}</span> <span style="display:inline-block;font-size: 12px;margin-left:3px;color:Grey">{{item.srcSite}}</span>
<span style="display:inline-block;font-size: 12px;width:30%;float:right;text-align:right;margin-right:10px;color:Grey"> <span style="display:inline-block;font-size: 12px;width:30%;float:right;text-align:right;margin-right:10px;color:Grey">
...@@ -289,63 +293,67 @@ ...@@ -289,63 +293,67 @@
</div> </div>
</Modal> </Modal>
<!-- 发送邮件 --> <!-- 发送邮件 -->
<Modal <Modal
v-model="emailMOdal" v-model="emailMOdal"
width='1000px' width='1000px'
:mask-closable='false'
:closable='false'> :closable='false'>
<div > <div >
<h2 style="text-align:center;color:black" v-show="this.isShowAll==false">发送邮件</h2> <h2 style="text-align:center;color:black" v-show="this.isShowAll==false">发送邮件</h2>
<h2 style="text-align:center;color:black" v-show="this.isShowAll==true">新建面试</h2> <h2 style="text-align:center;color:black" v-show="this.isShowAll==true">新建面试</h2>
<h3 style="text-align:center;color:black" v-show="this.isShowAll==true"> <span>更改为<span style="color:blue">“新建面试”</span>后,你需要从<span style="color:blue">”面试管理“</span>中对该候选人进行后续的操作。</span></h3>
</div> </div>
<div class="emailModal-title"> <div class="emailModal-title">
<div class="emailModalTitle-left"> <div class="emailModalTitle-left">
<p> <p>
<Form :label-width="60" :model="emailInline" label-position="left" style="margin-left:5%" ref="emailInline" :rules="ruleInline"> <Form :label-width="70" :model="emailInline" label-position="left" style="margin-left:5%" ref="emailInline" :rules="ruleInline" class="emailForm">
<FormItem label="选择模板" style="margin-top:20px" prop='moo'> <FormItem label="选择模板" style="margin-top:20px" prop='moo'>
<Select style="width:95%" @on-change='getEmailContentValue' v-model="emailInline.moo" > <Select style="width:95%" @on-change='getEmailContentValue' v-model="emailInline.moo" >
<Option v-for="(item,index) in emailInline.modalArr" :key="index" :value="item.templateCode">{{item.templateName}}</Option> <Option v-for="(item,index) in emailInline.modalArr" :key="index" :value="item.templateCode">{{item.templateName}}</Option>
</Select><br> </Select><br>
<!-- <span v-show="emailMassage==true">你尚未选择简历,请先选择简历</span> --> <!-- <span v-show="emailMassage==true">你尚未选择简历,请先选择简历</span> -->
</FormItem> </FormItem>
<FormItem label="收件人" style="margin-top:20px"> <FormItem label="收件人" style="margin-top:20px" :show-massage='false'>
<Input style="width:95%" v-model="emailInline.receiveEmail"/> <Input style="width:95%" v-model="emailInline.receiveEmail" @on-blur='receiveEmail'/>
<span style="position: absolute;left:0;top:30px;color:gray">输入多个邮箱地址以英文”;“分隔</span>
</FormItem> </FormItem>
<FormItem label="抄送" style="margin-top:20px"> <FormItem label="抄送" style="margin-top:20px">
<Input style="width:95%" v-model="emailInline.copyname"/> <Input style="width:95%" v-model="emailInline.copyname" @on-blur='copyname'/>
</FormItem> </FormItem>
<FormItem label="主题" style="margin-top:20px"> <FormItem label="主题" style="margin-top:20px">
<Input style="width:95%" v-model="emailInline.theme"/> <Input style="width:95%" v-model="emailInline.theme" @on-blur='theme'/>
</FormItem> </FormItem>
</Form> </Form>
</p> </p>
</div> </div>
<div class="emailModalTitle-right" v-show="interviewIsShow==true"> <div class="emailModalTitle-right" v-show="interviewIsShow==true">
<h3 style="text-align:center;margin-top:30px">请输入约面信息</h3> <h3 style="text-align:center;margin-top:20px">请输入约面信息</h3>
<Form :label-width="75" ref="formInline" :rules="ruleInline" :model="formInline" style="margin-top:27px" label-position="left"> <Form :label-width="75" ref="formInline" :rules="ruleInline" :model="formInline" style="margin-top:35px" label-position="left">
<FormItem label="邀约人" style="margin-top:20px" prop="UpdateOWER"> <FormItem label="邀约人" style="margin-top:20px" prop="UpdateOWER">
<Input v-model="formInline.UpdateOWER" style="width:100%" :maxlength="5"/> <Input v-model="formInline.UpdateOWER" style="width:100%" :maxlength="5" @on-blur='UpdateOWER'/>
</FormItem> </FormItem>
<FormItem label="面试时间" style="margin-top:20px" prop="UpdateTIME"> <FormItem label="面试时间" style="margin-top:20px" prop="UpdateTIME">
<DatePicker type="datetime" style="width:100%" v-model="formInline.UpdateTIME" format="yyyy-MM-dd HH:mm" @on-change="changeTime" :options="options3" :editable='false'></DatePicker> <DatePicker type="datetime" style="width:100%" v-model="formInline.UpdateTIME" format="yyyy-MM-dd HH:mm" @on-change="changeTime" :options="options3" :editable='false' @on-blur='UpdateTIME'></DatePicker>
</FormItem> </FormItem>
<FormItem label="面试官" style="margin-top:20px" prop='UpdateVIEW'> <FormItem label="面试官" style="margin-top:20px" prop='UpdateVIEW'>
<Input v-model="formInline.UpdateVIEW" style="width:100%" :maxlength="5"/> <Input v-model="formInline.UpdateVIEW" style="width:100%" :maxlength="5" @on-blur='UpdateVIEW'/>
</FormItem> </FormItem>
</Form> </Form>
<!-- <Checkbox v-model="disabledSingle" style="margin-left:40px" @on-change='changenotice'><span style="margin-left:20px">微信通知面试官</span></Checkbox> -->
</div> </div>
</div> </div>
<div class="ckeditor"> <div class="ckeditor">
<ckeditor :value='sad' :uploadUrl='uploadurl' @getValue='getEditorValue' height='300px' width='100%' style="margin-left:3%"></ckeditor> <ckeditor :value='editorObject' ref='editor' :uploadUrl='uploadurl' height='300px' width='100%' style="margin-left:3%"></ckeditor>
</div> </div>
<div class="uploadEnclosure"> <div class="uploadEnclosure">
<p style="height:50px;"> <p style="height:50px;">
<span style="font-size:14px;display:inline-block;margin:20px 0 0 3%">添加附件</span> <span style="font-size:16px;display:inline-block;margin:20px 0 0 3%">添加附件</span>
<span style="margin-left:500px"> <span style="margin-left:500px">
<Upload <Upload
multiple multiple
:before-upload='beforUpload' :before-upload='beforUpload'
action="//jsonplaceholder.typicode.com/posts/"> action="//jsonplaceholder.typicode.com/posts/">
<Button size='small' style="margin:-40px 0 0 90px" type="primary">选择文件</Button> <Button size='small' style="margin:-40px 0 0 95px" type="primary" @click="uploadFile">选择文件</Button>
</Upload> </Upload>
</span> </span>
</p> </p>
...@@ -356,8 +364,21 @@ ...@@ -356,8 +364,21 @@
</div> </div>
<div slot='footer' style="text-align:center" class="Ubt"> <div slot='footer' style="text-align:center" class="Ubt">
<Button type='primary' @click='emailModalPush'>取消</Button> <Button type='primary' @click='emailModalPush'>取消</Button>
<Button type='primary' @click='confireSendEmail' v-show="this.isShowAll==false">发送</Button> <Button type='primary' @click='modal10=true' v-show="this.isShowAll==false" :disabled="!isDisable">发送</Button>
<Button type='primary' @click='confireSendEmail' v-show="this.isShowAll==true">添加并发送</Button> <Button type='primary' @click='modal10=true' v-show="this.isShowAll==true" :disabled="!isDisable">添加并发送</Button>
</div>
</Modal>
<Modal
v-model="modal10"
width='280px'
:closable='false'>
<div >
<h2 style="text-align: center;color:black">提示</h2>
<p style="text-align:center">确定要发送邮件吗?</p>
</div>
<div slot='footer' style="text-align:center">
<Button type='primary' @click='modal10=false'>取消</Button>
<Button type='primary' @click="confireSendEmail" :disabled="!isDisable">确定</Button>
</div> </div>
</Modal> </Modal>
<!-- 转发邮件 --> <!-- 转发邮件 -->
...@@ -403,6 +424,8 @@ import qs from 'qs' ...@@ -403,6 +424,8 @@ import qs from 'qs'
import { import {
sapi sapi
} from '../../config' } from '../../config'
import{_debounce,_throttle} from '../../service/util.js'
import localStorage from '../../service/localstorage.service'
import Router from 'vue-router'; import Router from 'vue-router';
import ckeditor from '../../components/ckeditor' import ckeditor from '../../components/ckeditor'
import {mapState} from 'vuex' import {mapState} from 'vuex'
...@@ -428,6 +451,7 @@ import {mapState} from 'vuex' ...@@ -428,6 +451,7 @@ import {mapState} from 'vuex'
sad:'', sad:'',
loading1: false, loading1: false,
options: [], options: [],
editorObject: {type: '', value: ''},
ruleInline: { ruleInline: {
UpdateOWER: [ UpdateOWER: [
{ required: true, message: '邀约人不能为空', trigger: 'blur' } { required: true, message: '邀约人不能为空', trigger: 'blur' }
...@@ -456,18 +480,21 @@ import {mapState} from 'vuex' ...@@ -456,18 +480,21 @@ import {mapState} from 'vuex'
Enclosure:[],//附件 Enclosure:[],//附件
templateContent:'',//模板内容 templateContent:'',//模板内容
}, },
EmailruleInline:{ limentName:0,
moo:[
{ required: true, pattern:this.emailMassage==true, message: '请输入正确的手机号', trigger: 'blur' }
]
},
emailMassage:false, emailMassage:false,
allEmailVilitor:false, allEmailVilitor:false,
emailContent:'', emailContent:'',
emailFlowStatus:'', emailFlowStatus:'',
fileList:[], fileList:[],
uploadurl:'192.168.28.10', UpdateTIMETwo:'',
uploadFileList:[],
temp:'',
uploadurl:`${sapi}/api/ckeditor/uploadImage?token=${localStorage.get('token')}&&backUrl=/getimage`,
isShowAll:false, isShowAll:false,
isShowTwo:false,
isLimitSize:false,
isDisable:true,
disabledSingle:true,
emailId:'', emailId:'',
RescopyArr:[], RescopyArr:[],
interelement:'1', interelement:'1',
...@@ -490,6 +517,7 @@ import {mapState} from 'vuex' ...@@ -490,6 +517,7 @@ import {mapState} from 'vuex'
interviewerName: [{required: true, trigger: 'blur', validator: validator}] interviewerName: [{required: true, trigger: 'blur', validator: validator}]
}, },
interviewerList: [{name: 'test', value: '1'}], interviewerList: [{name: 'test', value: '1'}],
modal10:false,
title:'', title:'',
emailMOdal:false, emailMOdal:false,
DOSTA:'', DOSTA:'',
...@@ -640,8 +668,9 @@ import {mapState} from 'vuex' ...@@ -640,8 +668,9 @@ import {mapState} from 'vuex'
//操作处理面试状态 //操作处理面试状态
selectFn1(e,SID,itemsta) { selectFn1(e,SID,itemsta) {
this.toseeid=SID this.toseeid=SID
this.emailId=SID
this.emailIdArr.push(SID) this.emailIdArr.push(SID)
this.isShowAll=true this.isShowTwo=true
this.ITEMSTA=itemsta this.ITEMSTA=itemsta
// 准备约面 // 准备约面
if(e.target.value==3){ if(e.target.value==3){
...@@ -650,6 +679,7 @@ import {mapState} from 'vuex' ...@@ -650,6 +679,7 @@ import {mapState} from 'vuex'
}) })
this.emailMOdal=true this.emailMOdal=true
this.emailFlowStatus='TO_SEE' this.emailFlowStatus='TO_SEE'
this.isShowTwo=true
} }
// 简历PASS // 简历PASS
if(e.target.value==2){ if(e.target.value==2){
...@@ -710,6 +740,7 @@ import {mapState} from 'vuex' ...@@ -710,6 +740,7 @@ import {mapState} from 'vuex'
}, },
selectFn2(e,SID,itemsta) { selectFn2(e,SID,itemsta) {
this.ITEMSTA=itemsta this.ITEMSTA=itemsta
this.emailId=SID
this.toseeid=SID this.toseeid=SID
// 准备约面 // 准备约面
if(e.target.value==1){ if(e.target.value==1){
...@@ -718,6 +749,7 @@ import {mapState} from 'vuex' ...@@ -718,6 +749,7 @@ import {mapState} from 'vuex'
}) })
this.emailMOdal=true this.emailMOdal=true
this.emailFlowStatus='TO_SEE' this.emailFlowStatus='TO_SEE'
this.isShowTwo=true
} }
// 简历PASS // 简历PASS
if(e.target.value==3){ if(e.target.value==3){
...@@ -757,6 +789,7 @@ import {mapState} from 'vuex' ...@@ -757,6 +789,7 @@ import {mapState} from 'vuex'
}, },
selectFn3(e,SID,itemsta) { selectFn3(e,SID,itemsta) {
this.ITEMSTA=itemsta this.ITEMSTA=itemsta
this.emailId=SID
this.toseeid=SID this.toseeid=SID
// 准备约面 // 准备约面
if(e.target.value==2){ if(e.target.value==2){
...@@ -765,6 +798,7 @@ import {mapState} from 'vuex' ...@@ -765,6 +798,7 @@ import {mapState} from 'vuex'
}) })
this.emailMOdal=true this.emailMOdal=true
this.emailFlowStatus='TO_SEE' this.emailFlowStatus='TO_SEE'
this.isShowTwo=true
} }
// 简历PASS // 简历PASS
if(e.target.value==3){ if(e.target.value==3){
...@@ -805,6 +839,7 @@ import {mapState} from 'vuex' ...@@ -805,6 +839,7 @@ import {mapState} from 'vuex'
selectFn4(e,SID,itemsta) { selectFn4(e,SID,itemsta) {
this.ITEMSTA=itemsta this.ITEMSTA=itemsta
this.toseeid=SID this.toseeid=SID
this.emailId=SID
// 准备约面 // 准备约面
if(e.target.value==2){ if(e.target.value==2){
getEmailMoo().then(res=>{ getEmailMoo().then(res=>{
...@@ -812,6 +847,7 @@ import {mapState} from 'vuex' ...@@ -812,6 +847,7 @@ import {mapState} from 'vuex'
}) })
this.emailMOdal=true this.emailMOdal=true
this.emailFlowStatus='TO_SEE' this.emailFlowStatus='TO_SEE'
this.isShowTwo=true
} }
// 简历PASS // 简历PASS
if(e.target.value==1){ if(e.target.value==1){
...@@ -884,6 +920,7 @@ import {mapState} from 'vuex' ...@@ -884,6 +920,7 @@ import {mapState} from 'vuex'
item.optSource=item.optSource item.optSource=item.optSource
item.modifier=item.modifier item.modifier=item.modifier
item.STATES=isClick.call(this, item.id) item.STATES=isClick.call(this, item.id)
item.hasForward=item.hasForward
item.isShow=false item.isShow=false
item.c=item.modifier==''?item.modifier:item.modifier.split('_') item.c=item.modifier==''?item.modifier:item.modifier.split('_')
item.d=item.c[0] item.d=item.c[0]
...@@ -1004,6 +1041,7 @@ import {mapState} from 'vuex' ...@@ -1004,6 +1041,7 @@ import {mapState} from 'vuex'
item.ownerWorkYears=item.ownerWorkYears item.ownerWorkYears=item.ownerWorkYears
item.modifyTime=item.modifyTime item.modifyTime=item.modifyTime
item.srcSite=item.srcSite item.srcSite=item.srcSite
item.hasForward=item.hasForward
item.optSource=item.optSource item.optSource=item.optSource
item.STATES=isClick.call(this, item.id) item.STATES=isClick.call(this, item.id)
item.isShow=false item.isShow=false
...@@ -1063,8 +1101,6 @@ import {mapState} from 'vuex' ...@@ -1063,8 +1101,6 @@ import {mapState} from 'vuex'
// 选择input元素 // 选择input元素
selectInputElement(index,doID,doStatus,sss, item){ selectInputElement(index,doID,doStatus,sss, item){
this.DOWNLOAD=doID this.DOWNLOAD=doID
this.emailIdArr.push(doID)
this.emailId=doID
sss=!sss sss=!sss
this.ajaxData[index].STATES=sss this.ajaxData[index].STATES=sss
Array.prototype.indexOf = function(val) { Array.prototype.indexOf = function(val) {
...@@ -1080,6 +1116,8 @@ import {mapState} from 'vuex' ...@@ -1080,6 +1116,8 @@ import {mapState} from 'vuex'
} }
} }
if(sss==true){ if(sss==true){
this.emailIdArr.push(doID)
// this.emailId=doID
this.delateARRALL.push(doID) this.delateARRALL.push(doID)
this.delateARRALL2.push(doID) this.delateARRALL2.push(doID)
this.flowStatusarr.push(doStatus) this.flowStatusarr.push(doStatus)
...@@ -1090,6 +1128,7 @@ import {mapState} from 'vuex' ...@@ -1090,6 +1128,7 @@ import {mapState} from 'vuex'
this.delateARRALL2.remove(doID) this.delateARRALL2.remove(doID)
this.flowStatusarr.remove(doStatus) this.flowStatusarr.remove(doStatus)
this.removeInterviewee(item) this.removeInterviewee(item)
this.emailIdArr.remove(doID)
} }
}, },
//查看简历详情 //查看简历详情
...@@ -1248,14 +1287,6 @@ import {mapState} from 'vuex' ...@@ -1248,14 +1287,6 @@ import {mapState} from 'vuex'
ownerWorkYears1:this.searchInfo.ownerWorkYears1, ownerWorkYears1:this.searchInfo.ownerWorkYears1,
ownerWorkYears2:this.searchInfo.ownerWorkYears2, ownerWorkYears2:this.searchInfo.ownerWorkYears2,
}
if(this.searchInfo.ownerWorkYears1>this.searchInfo.ownerWorkYears2){
this.$Message.error('最低年限不能大于最高年限')
return
}
if(this.searchInfo.ownerWorkYears2<this.searchInfo.ownerWorkYears1){
this.$Message.error('最高年限不能小于最小年限')
return
} }
window.location.href=`${sapi}/api/excel/output?optSourceCode=${parmars.optSourceCode}&keywordString=${parmars.keywordString}&company=${parmars.company}&ownerSex=${parmars.ownerSex}&highestDegreeNum=${parmars.highestDegreeNum}&flowStatusList=${parmars.flowStatusList}&ownerWorkYears1=${parmars.ownerWorkYears1}&ownerWorkYears2=${parmars.ownerWorkYears2}` window.location.href=`${sapi}/api/excel/output?optSourceCode=${parmars.optSourceCode}&keywordString=${parmars.keywordString}&company=${parmars.company}&ownerSex=${parmars.ownerSex}&highestDegreeNum=${parmars.highestDegreeNum}&flowStatusList=${parmars.flowStatusList}&ownerWorkYears1=${parmars.ownerWorkYears1}&ownerWorkYears2=${parmars.ownerWorkYears2}`
}, },
...@@ -1301,14 +1332,28 @@ import {mapState} from 'vuex' ...@@ -1301,14 +1332,28 @@ import {mapState} from 'vuex'
}) })
}, },
getEmailContentValue(value){ getEmailContentValue(value){
this.isDisable=true
this.temp=value
if(this.isShowTwo==true){
this.isShowAll=true
this.interviewIsShow=true
}else{
if(this.emailIdArr.length>1&&(value=='TEMP_0001'||value=='TEMP_0005'||value=='TEMP_0006')){ if(this.emailIdArr.length>1&&(value=='TEMP_0001'||value=='TEMP_0005'||value=='TEMP_0006')){
this.allEmailVilitor=true this.allEmailVilitor=true
}else{ }else {
this.allEmailVilitor=false this.allEmailVilitor=false
if(this.temp=='TEMP_0001'){
this.isShowAll=true
}else{
this.isShowAll=false
}
} }
if(value=='TEMP_0001'){ if(value=='TEMP_0001'){
this.interviewIsShow=true}else{ this.interviewIsShow=true
this.isShowAll=true
}else{
this.interviewIsShow=false this.interviewIsShow=false
this.isShowAll=false
} }
this.emailId=this.emailIdArr.length==0?'':this.emailIdArr[0] this.emailId=this.emailIdArr.length==0?'':this.emailIdArr[0]
if(value=='TEMP_0001' &&this.emailId==''){ if(value=='TEMP_0001' &&this.emailId==''){
...@@ -1323,26 +1368,60 @@ import {mapState} from 'vuex' ...@@ -1323,26 +1368,60 @@ import {mapState} from 'vuex'
this.emailMassage=true this.emailMassage=true
} }
else{ else{
if(value=='TEMP_0001'){this.isShowAll=true}else{this.isShowAll=false}
this.interviewBtu=false this.interviewBtu=false
this.isShowAll=false
this.emailMassage=false this.emailMassage=false
} }}
this.emailCode=value this.emailCode=value
let parmars={ let params={
resumeId:this.emailId, resumeId:this.emailId==''?'':this.emailId,
templateCode:this.emailCode templateCode:this.emailCode
} }
getEmailContent(parmars).then(res=>{ getEmailContent(params).then(res=>{
this.emailInline.theme=res.data.body.templateSubject this.emailInline.theme=res.data.body.templateSubject
this.emailInline.receiveEmail=res.data.body.receiveEmail this.emailInline.receiveEmail=res.data.body.receiveEmail
this.emailInline.templateContent=res.data.body.templateContent this.emailInline.templateContent=res.data.body.templateContent
this.sad=this.emailInline.templateContent this.editorObject = {
type: value,
value: this.emailInline.templateContent || ''
}
if(res.data.body&&res.data.body.resumeInterviewVO){
this.formInline.UpdateOWER=res.data.body.resumeInterviewVO.interviewerName
this.formInline.UpdateVIEW=res.data.body.resumeInterviewVO.inviterName
this.formInline.UpdateTIME=res.data.body.resumeInterviewVO.seeTime
}else{
this.formInline.UpdateOWER=''
this.formInline.UpdateVIEW=''
this.formInline.UpdateTIME=''
}
}) })
console.log("+++++++++++++++")
}, },
beforUpload(aaa){ uploadFile(){
this.fileList.push(aaa.name) // this.uploadFileList=[]
this.limentName=0
},
beforUpload(uploadFile){
let isLiment=false
if(uploadFile.size/1024 > 10240){
isLiment=true
this.limentName+=1
if(this.limentName==1){
this.$Notice.error({
title: '提示',
desc: '单个文件不能大于10M'
})
}
}else{
this.fileList.push(uploadFile.name)
this.uploadFileList.push(uploadFile)
}
return false return false
}, },
// 确认发送提示
sendEmailOk(){},
// 发送全部内容 // 发送全部内容
sendContent(){}, sendContent(){},
emailModalPush(){ emailModalPush(){
...@@ -1357,36 +1436,257 @@ import {mapState} from 'vuex' ...@@ -1357,36 +1436,257 @@ import {mapState} from 'vuex'
this.emailMassage=false this.emailMassage=false
this.emailIdArr=[] this.emailIdArr=[]
this.emailFlowStatus='' this.emailFlowStatus=''
this.formInline.UpdateOWER=''
this.formInline.UpdateVIEW=''
this.formInline.UpdateTIME=''
this.emailInline.copyname=''
this.isShowTwo=false
this.isLimitSize=false
this.uploadFileList=[]
this.SouSuo(this.pageT) this.SouSuo(this.pageT)
}, },
getEditorValue(value){ getEditorValue(value){ // 调编辑器组件方法获取数据
this.emailContent=value return this.$refs.editor.getValue()
}, },
// getEditorValue(value){
// this.emailContent=value
// this.sad = value
// console.log( this.emailContent,777777,this.sad)
// // if(this.sad==''){this.$Notice.error({
// // title: '提示',
// // desc: '正文不能为空'
// // });
// // }
// // if(this.emailContent==''){
// // this.isDisable=false
// // }else{
// // this.isDisable=true
// // }
// },
delateFile(index){ delateFile(index){
this.fileList.splice(index,1) this.fileList.splice(index,1)
this.uploadFileList.splice(index,1)
}, },
// 确认发送邮件 // 确认发送邮件
confireSendEmail(){ confireSendEmail(){
this.attachFileList=this.fileList.length==0?'':this.fileList this.sad = this.getEditorValue()
if(this.sad==''){
this.$Notice.error({
title: '提示',
desc: '请填写完整的信息'
});
return
}
if(this.emailInline.moo==''){
this.$Notice.error({
title: '提示',
desc: '请填写完整的信息'
});
return
}
if((this.temp=='TEMP_0001')&&(this.emailInline.moo==''||this.emailInline.receiveEmail==''||this.emailInline.theme==''||this.formInline.UpdateOWER==''||this.formInline.UpdateVIEW==''||this.formInline.UpdateTIME=='')){
this.$Notice.error({
title: '提示',
desc: '请填写完整的信息'
});
return
}
if((this.temp=='TEMP_0002'||this.temp=='TEMP_0003'||this.temp=='TEMP_0004'||this.temp=='TEMP_0005'||this.temp=='TEMP_0006')&&(this.emailInline.moo==''||this.emailInline.receiveEmail==''||this.emailInline.theme=='')){
this.$Notice.error({
title: '提示',
desc: '请填写完整的信息'
});
return
}
if((this.temp=='TEMP_0001'|| this.temp=='TEMP_0005'|| this.temp=='TEMP_0006')&&this.emailId==''){
this.$Notice.error({
title: '提示',
desc: '请先选择简历'
});
return
}
if(this.emailInline.copyname!==''&&!(/^((([a-z0-9_\.-]+)@([\da-z\.-]+)\.([a-z\.]{2,6}\;))*(([a-z0-9_\.-]+)@([\da-z\.-]+)\.([a-z\.]{2,6})))$/.test(this.emailInline.copyname))){
this.$Notice.error({
title: '提示',
desc: '请正确填写邮箱地址'
});
return
}
if(!(/^((([a-z0-9_\.-]+)@([\da-z\.-]+)\.([a-z\.]{2,6}\;))*(([a-z0-9_\.-]+)@([\da-z\.-]+)\.([a-z\.]{2,6})))$/.test(this.emailInline.receiveEmail))){
this.$Notice.error({
title: '提示',
desc: '请正确填写邮箱地址'
});
return
}
if((this.emailIdArr.length>1)&&(this.temp=='TEMP_0001'|| this.temp=='TEMP_0005'|| this.temp=='TEMP_0006')){
this.$Notice.error({
title: '提示',
desc: '不能选择多份简历,请选择单份简历'
});
return
}
this.attachFileList=this.uploadFileList.length==0?'':this.uploadFileList
this.flowStatusTT=this.emailFlowStatus==''?'':'TO_SEE' this.flowStatusTT=this.emailFlowStatus==''?'':'TO_SEE'
var formData= new FormData() this.UpdateTIMETwo=this.formInline.UpdateTIME==''?'':this.formInline.UpdateTIME
formData.append('attachFileList',this.attachFileList) if(this.temp=='TEMP_0001'){
formData.append('resumeId',this.emailId) var formData= new FormData()
formData.append('templateCode',this.emailCode) if(this.attachFileList.length!==0){
formData.append('subject',this.emailInline.theme) this.attachFileList.map(item=>{
formData.append('toEmail',this.emailInline.receiveEmail) formData.append('attachFileList',item)
formData.append('ccEmail',this.emailInline.copyname) })
formData.append('emailContent',this.emailContent) }else{
formData.append('resumeInterviewVO.resumeId',this.emailId) formData.append('attachFileList','')
formData.append('resumeInterviewVO.inviterName',this.formInline.UpdateOWER) }
formData.append('resumeInterviewVO.intervieweeName',this.formInline.UpdateVIEW) formData.append('resumeId',this.emailId)
formData.append('resumeInterviewVO.seeTime',moment(this.formInline.UpdateTIME).format('YYYY/MM/DD HH:mm')) formData.append('templateCode',this.emailCode)
formData.append(' flowStatus',this.flowStatusTT) formData.append('subject',this.emailInline.theme)
sendEmail(formData).then(res=>{ formData.append('toEmail',this.emailInline.receiveEmail)
console.log(res) formData.append('ccEmail',this.emailInline.copyname)
}) formData.append('emailContent',this.sad)
formData.append('resumeInterviewVO.resumeId',this.emailId)
formData.append('resumeInterviewVO.inviterName',this.formInline.UpdateOWER==''?'':this.formInline.UpdateOWER)
formData.append('resumeInterviewVO.interviewerName',this.formInline.UpdateVIEW==''?'':this.formInline.UpdateVIEW)
formData.append('resumeInterviewVO.seeTime',moment( this.UpdateTIMETwo).format('YYYY/MM/DD HH:mm'))
formData.append(' flowStatus',this.flowStatusTT)
this.isDisable=false
sendEmail(formData).then(res=>{
this.isDisable=true
if(res.data.success==true){
this.$Notice.success({
title: '提示',
desc: '发送邮件成功'
});
this.emailMOdal=false
this.modal10=false
this.emailInline.modalArr=[]
this.emailInline.theme=''
this.emailInline.receiveEmail=''
this.emailInline.templateContent=''
this.sad=''
this.fileList=[]
this.emailInline.moo=''
this.emailMOdal=false
this.emailMassage=false
this.emailIdArr=[]
this.emailFlowStatus=''
this.formInline.UpdateOWER=''
this.formInline.UpdateVIEW=''
this.formInline.UpdateTIME=''
this.emailInline.copyname=''
this.isShowTwo=false
this.uploadFileList=[]
this.SouSuo(this.pageT)
}
if(res.data.success==false){
this.$Notice.error({
title: '提示',
desc: '发送邮件失败'
});
this.emailMOdal=false
this.modal10=false
// this.isDisable=true
this.emailInline.modalArr=[]
this.emailInline.theme=''
this.emailInline.receiveEmail=''
this.emailInline.templateContent=''
this.sad=''
this.fileList=[]
this.emailInline.moo=''
this.emailMOdal=false
this.emailMassage=false
this.emailIdArr=[]
this.emailFlowStatus=''
this.formInline.UpdateOWER=''
this.formInline.UpdateVIEW=''
this.formInline.UpdateTIME=''
this.emailInline.copyname=''
this.isShowTwo=false
this.uploadFileList=[]
this.SouSuo(this.pageT)
}
})
}else{
var formData= new FormData()
if(this.attachFileList.length!==0){
this.attachFileList.map(item=>{
formData.append('attachFileList',item)
})
}else{
formData.append('attachFileList','')
}
formData.append('resumeId',this.emailId)
formData.append('templateCode',this.emailCode)
formData.append('subject',this.emailInline.theme)
formData.append('toEmail',this.emailInline.receiveEmail)
formData.append('ccEmail',this.emailInline.copyname)
formData.append('emailContent',this.sad)
formData.append(' flowStatus',this.flowStatusTT)
this.isDisable=false
sendEmail(formData).then(res=>{
this.isDisable=true
if(res.data.success==true){
this.$Notice.success({
title: '提示',
desc: '发送邮件成功'
})
this.emailMOdal=false
this.modal10=false
// this.isDisable=true
this.emailInline.modalArr=[]
this.emailInline.theme=''
this.emailInline.receiveEmail=''
this.emailInline.templateContent=''
this.sad=''
this.fileList=[]
this.emailInline.moo=''
this.emailMOdal=false
this.emailMassage=false
this.emailIdArr=[]
this.emailFlowStatus=''
this.formInline.UpdateOWER=''
this.formInline.UpdateVIEW=''
this.formInline.UpdateTIME=''
this.isShowTwo=false
this.isLimitSize=false
this.emailInline.copyname=''
this.uploadFileList=[]
this.SouSuo(this.pageT)
}
if(res.data.success==false){
this.$Notice.error({
title: '提示',
desc: '发送邮件失败'
});
this.emailMOdal=false
this.modal10=false
// this.isDisable=true
this.emailInline.modalArr=[]
this.emailInline.theme=''
this.emailInline.receiveEmail=''
this.emailInline.templateContent=''
this.sad=''
this.fileList=[]
this.emailInline.moo=''
this.emailMOdal=false
this.emailMassage=false
this.emailIdArr=[]
this.emailFlowStatus=''
this.formInline.UpdateOWER=''
this.formInline.UpdateVIEW=''
this.formInline.UpdateTIME=''
this.emailInline.copyname=''
this.isShowTwo=false
this.isLimitSize=false
this.uploadFileList=[]
this.SouSuo(this.pageT)
}
})
}
}, },
removeInterviewee (value) { removeInterviewee (value) {
let data = { let data = {
type: 'all', type: 'all',
data: value data: value
...@@ -1490,9 +1790,69 @@ import {mapState} from 'vuex' ...@@ -1490,9 +1790,69 @@ import {mapState} from 'vuex'
this.options = []; this.options = [];
} }
}, },
}, changenotice(a){
},
receiveEmail(){
if(!(/^((([a-z0-9_\.-]+)@([\da-z\.-]+)\.([a-z\.]{2,6}\;))*(([a-z0-9_\.-]+)@([\da-z\.-]+)\.([a-z\.]{2,6})))$/.test(this.emailInline.receiveEmail))){
this.$Notice.error({
title: '提示',
desc: '请正确填写邮箱地址'
});
this.isDisable=false
return
}else{
this.isDisable=true
}
},
copyname(){
if(this.emailInline.copyname!==''&&!(/^((([a-z0-9_\.-]+)@([\da-z\.-]+)\.([a-z\.]{2,6}\;))*(([a-z0-9_\.-]+)@([\da-z\.-]+)\.([a-z\.]{2,6})))$/.test(this.emailInline.copyname))){
this.$Notice.error({
title: '提示',
desc: '请正确填写邮箱地址'
});
this.isDisable=false
return
}else{
this.isDisable=true
}
},
theme(){
if(this.emailInline.theme==''){
this.$Notice.error({
title: '提示',
desc: '请填写主题'
});
this.isDisable=false
return
}else{
this.isDisable=true
}
},
UpdateOWER(){
if(this.formInline.UpdateOWER==''){
this.isDisable=false
}else{
this.isDisable=true
}
},
UpdateTIME(){
if(this.formInline.UpdateTIME==''){
this.isDisable=false
}else{
this.isDisable=true
}
},
UpdateVIEW(){
if(this.formInline.UpdateVIEW==''){
this.isDisable=false
}else{
this.isDisable=true
}
}
},
mounted(){ mounted(){
this.SearchList() this.SouSuo()
} }
} }
</script> </script>
...@@ -1602,6 +1962,7 @@ select{ ...@@ -1602,6 +1962,7 @@ select{
.emailModal-title{ .emailModal-title{
height: 260px; height: 260px;
width: 100%; width: 100%;
} }
.emailModalTitle-left{ .emailModalTitle-left{
height: 100%; height: 100%;
...@@ -1676,3 +2037,8 @@ select{ ...@@ -1676,3 +2037,8 @@ select{
margin-bottom: 10px; margin-bottom: 10px;
} }
</style> </style>
<style>
.emailForm .ivu-form-item-label{
font-size: 14px
}
</style>
\ No newline at end of file
...@@ -288,59 +288,64 @@ ...@@ -288,59 +288,64 @@
<Modal <Modal
v-model="emailMOdal" v-model="emailMOdal"
width='1000px' width='1000px'
:mask-closable='false'
:closable='false'> :closable='false'>
<div > <div >
<h2 style="text-align:center;color:black" v-show="this.isShowAll==false">发送邮件</h2> <h2 style="text-align:center;color:black" v-show="this.isShowAll==false">发送邮件</h2>
<h2 style="text-align:center;color:black" v-show="this.isShowAll==true">新建面试</h2> <h2 style="text-align:center;color:black" v-show="this.isShowAll==true">新建面试</h2>
<h3 style="text-align:center;color:black" v-show="this.isShowAll==true"> <span>更改为<span style="color:blue">“新建面试”</span>后,你需要从<span style="color:blue">”面试管理“</span>中对该候选人进行后续的操作。</span></h3>
</div> </div>
<div class="emailModal-title"> <div class="emailModal-title">
<div class="emailModalTitle-left"> <div class="emailModalTitle-left">
<p> <p>
<Form :label-width="60" :model="emailInline" label-position="left" style="margin-left:5%"> <Form :label-width="70" :model="emailInline" label-position="left" style="margin-left:5%" ref="emailInline" :rules="ruleInline" class="emailForm">
<FormItem label="选择模板" style="margin-top:20px" > <FormItem label="选择模板" style="margin-top:20px" prop='moo'>
<Select style="width:95%" @on-change='getEmailContentValue' v-model="emailInline.moo"> <Select style="width:95%" @on-change='getEmailContentValue' v-model="emailInline.moo" >
<Option v-for="(item,index) in emailInline.modalArr" :key="index" :value="item.templateCode">{{item.templateName}}</Option> <Option v-for="(item,index) in emailInline.modalArr" :key="index" :value="item.templateCode">{{item.templateName}}</Option>
</Select> </Select><br>
<!-- <span v-show="emailMassage==true">你尚未选择简历,请先选择简历</span> -->
</FormItem> </FormItem>
<FormItem label="收件人" style="margin-top:20px"> <FormItem label="收件人" style="margin-top:20px" :show-massage='false'>
<Input style="width:95%" v-model="emailInline.receiveEmail"/> <Input style="width:95%" v-model="emailInline.receiveEmail" @on-blur='receiveEmail'/>
<span style="position: absolute;left:0;top:30px;color:gray">输入多个邮箱地址以英文”;“分隔</span>
</FormItem> </FormItem>
<FormItem label="抄送" style="margin-top:20px"> <FormItem label="抄送" style="margin-top:20px">
<Input style="width:95%" v-model="emailInline.copyname"/> <Input style="width:95%" v-model="emailInline.copyname" @on-blur='copyname'/>
</FormItem> </FormItem>
<FormItem label="主题" style="margin-top:20px"> <FormItem label="主题" style="margin-top:20px">
<Input style="width:95%" v-model="emailInline.theme"/> <Input style="width:95%" v-model="emailInline.theme" @on-blur='theme'/>
</FormItem> </FormItem>
</Form> </Form>
</p> </p>
</div> </div>
<div class="emailModalTitle-right" v-show="interviewIsShow==true"> <div class="emailModalTitle-right" v-show="interviewIsShow==true">
<h3 style="text-align:center;margin-top:30px">请输入约面信息</h3> <h3 style="text-align:center;margin-top:20px">请输入约面信息</h3>
<Form :label-width="75" ref="formInline" :rules="ruleInline" :model="formInline" style="margin-top:27px" label-position="left"> <Form :label-width="75" ref="formInline" :rules="ruleInline" :model="formInline" style="margin-top:35px" label-position="left">
<FormItem label="邀约人" style="margin-top:20px" prop="UpdateOWER"> <FormItem label="邀约人" style="margin-top:20px" prop="UpdateOWER">
<Input v-model="formInline.UpdateOWER" style="width:100%" :maxlength="5"/> <Input v-model="formInline.UpdateOWER" style="width:100%" :maxlength="5" @on-blur='UpdateOWER'/>
</FormItem> </FormItem>
<FormItem label="面试时间" style="margin-top:20px" prop="UpdateTIME"> <FormItem label="面试时间" style="margin-top:20px" prop="UpdateTIME">
<DatePicker type="datetime" style="width:100%" v-model="formInline.UpdateTIME" format="yyyy-MM-dd HH:mm" @on-change="changeTime" :options="options3" :editable='false'></DatePicker> <DatePicker type="datetime" style="width:100%" v-model="formInline.UpdateTIME" format="yyyy-MM-dd HH:mm" @on-change="changeTime" :options="options3" :editable='false' @on-blur='UpdateTIME'></DatePicker>
</FormItem> </FormItem>
<FormItem label="面试官" style="margin-top:20px" prop='UpdateVIEW'> <FormItem label="面试官" style="margin-top:20px" prop='UpdateVIEW'>
<Input v-model="formInline.UpdateVIEW" style="width:100%" :maxlength="5"/> <Input v-model="formInline.UpdateVIEW" style="width:100%" :maxlength="5" @on-blur='UpdateVIEW'/>
</FormItem> </FormItem>
</Form> </Form>
<!-- <Checkbox v-model="disabledSingle" style="margin-left:40px" @on-change='changenotice'><span style="margin-left:20px">微信通知面试官</span></Checkbox> -->
</div> </div>
</div> </div>
<div class="ckeditor"> <div class="ckeditor">
<ckeditor :value='sad' :uploadUrl='uploadurl' @getValue='getEditorValue' height='300px' width='100%' style="margin-left:3%"></ckeditor> <ckeditor :value='editorObject' ref='editor' :uploadUrl='uploadurl' height='300px' width='100%' style="margin-left:3%"></ckeditor>
</div> </div>
<div class="uploadEnclosure"> <div class="uploadEnclosure">
<p style="height:50px;"> <p style="height:50px;">
<span style="font-size:14px;display:inline-block;margin:20px 0 0 3%">添加附件</span> <span style="font-size:16px;display:inline-block;margin:20px 0 0 3%">添加附件</span>
<span style="margin-left:500px"> <span style="margin-left:500px">
<Upload <Upload
multiple multiple
:before-upload='beforUpload' :before-upload='beforUpload'
action="//jsonplaceholder.typicode.com/posts/"> action="//jsonplaceholder.typicode.com/posts/">
<Button size='small' style="margin:-40px 0 0 90px" type="primary">选择文件</Button> <Button size='small' style="margin:-40px 0 0 95px" type="primary" @click="uploadFile">选择文件</Button>
</Upload> </Upload>
</span> </span>
</p> </p>
...@@ -351,8 +356,21 @@ ...@@ -351,8 +356,21 @@
</div> </div>
<div slot='footer' style="text-align:center" class="Ubt"> <div slot='footer' style="text-align:center" class="Ubt">
<Button type='primary' @click='emailModalPush'>取消</Button> <Button type='primary' @click='emailModalPush'>取消</Button>
<Button type='primary' @click='emailMOdal=false' v-show="this.isShowAll==false">发送</Button> <Button type='primary' @click='modal10=true' v-show="this.isShowAll==false" :disabled="!isDisable">发送</Button>
<Button type='primary' @click='emailMOdal=false' v-show="this.isShowAll==true">添加并发送</Button> <Button type='primary' @click='modal10=true' v-show="this.isShowAll==true" :disabled="!isDisable">添加并发送</Button>
</div>
</Modal>
<Modal
v-model="modal10"
width='280px'
:closable='false'>
<div >
<h2 style="text-align: center;color:black">提示</h2>
<p style="text-align:center">确定要发送邮件吗?</p>
</div>
<div slot='footer' style="text-align:center">
<Button type='primary' @click='modal10=false'>取消</Button>
<Button type='primary' @click="confireSendEmail" :disabled="!isDisable">确定</Button>
</div> </div>
</Modal> </Modal>
<!-- 转发邮件 --> <!-- 转发邮件 -->
...@@ -393,18 +411,31 @@ ...@@ -393,18 +411,31 @@
</template> </template>
<script> <script>
import moment from 'moment' import moment from 'moment'
import {adoptOneSeeResumeList, serchList,downloadone,sousuoList,seedetail,PASS,OPTION,deleteREsume,downloadOne,exportLIST,recodeLIST,addinterview,TODORes,getEmailMoo,getEmailContent, findCompanyEmailByKey,forwardResume } from '../../api/resume.server.js' import {adoptOneSeeResumeList, serchList,downloadone,sousuoList,seedetail,PASS,OPTION,deleteREsume,downloadOne,exportLIST,recodeLIST,addinterview,TODORes,getEmailMoo,getEmailContent, sendEmail,findCompanyEmailByKey,forwardResume } from '../../api/resume.server.js'
import { import {
sapi sapi
} from '../../config' } from '../../config'
import{_debounce,_throttle} from '../../service/util.js'
import ckeditor from '../../components/ckeditor' import ckeditor from '../../components/ckeditor'
import {mapState} from 'vuex' import {mapState} from 'vuex'
import localStorage from '../../service/localstorage.service'
export default { export default {
data(){ data(){
const validator = (rule, value, callback) => { const validator = (rule, value, callback) => {
if (!value)this.$Notice.warning({title: '提示',desc: '请输入您要通知的面试官'}) if (!value)this.$Notice.warning({title: '提示',desc: '请输入您要通知的面试官'})
callback() callback()
} }
const vidte=(rule,value,callback)=>{
if(this.emailMassage==true){
callback(new Error('你尚未选择简历,请先选择简历'))
}
else if(this.allEmailVilitor==true){
callback(new Error('不能选择多份简历,请选择单份简历'))
}
else{
callback ()
}
}
return { return {
ruleInline: { ruleInline: {
UpdateOWER: [ UpdateOWER: [
...@@ -416,12 +447,16 @@ export default { ...@@ -416,12 +447,16 @@ export default {
UpdateVIEW: [ UpdateVIEW: [
{ required: true,message: '面试官不能为空', trigger: 'blur' } { required: true,message: '面试官不能为空', trigger: 'blur' }
], ],
moo:[
{required: false, validator: vidte, trigger: 'change'},
],
}, },
formInline:{ formInline:{
UpdateOWER:'', UpdateOWER:'',
UpdateTIME:'', UpdateTIME:'',
UpdateVIEW:'' UpdateVIEW:''
}, },
editorObject: {type: '', value: ''},
emailInline:{ emailInline:{
moo:'', moo:'',
modalArr:[], modalArr:[],
...@@ -440,17 +475,30 @@ export default { ...@@ -440,17 +475,30 @@ export default {
interviewerList: [{name: 'test', value: '1'}], interviewerList: [{name: 'test', value: '1'}],
loading1: false, loading1: false,
options: [], options: [],
limentName:0,
emailMassage:false,
allEmailVilitor:false,
emailContent:'',
emailFlowStatus:'',
fileList:[], fileList:[],
uploadurl:'192.168.28.10', UpdateTIMETwo:'',
uploadFileList:[],
temp:'',
uploadurl:`${sapi}/api/ckeditor/uploadImage?token=${localStorage.get('token')}&&backUrl=/getimage`,
isShowAll:false, isShowAll:false,
isShowTwo:false,
isLimitSize:false,
isDisable:true,
disabledSingle:true,
emailId:'',
RescopyArr:[], RescopyArr:[],
interelement:'1', interelement:'1',
emailId:'', emailIdArr:[],
emailCode:'', attachFileList:[],
title:'', flowStatusTT:'',
sad:'',
interviewIsShow:false, interviewIsShow:false,
emailMOdal:false, emailMOdal:false,
sad:'',
a:[], a:[],
checked: false, checked: false,
activeClass: 0, activeClass: 0,
...@@ -481,6 +529,7 @@ export default { ...@@ -481,6 +529,7 @@ export default {
modal5:false, modal5:false,
modal7:false, modal7:false,
modal8: false, modal8: false,
modal10:false,
optcode:'', optcode:'',
toseename:'', toseename:'',
// UpdateOWER:'', // UpdateOWER:'',
...@@ -577,132 +626,138 @@ export default { ...@@ -577,132 +626,138 @@ export default {
//操作处理面试状态 //操作处理面试状态
selectFn1(e,SID,itemsta) { selectFn1(e,SID,itemsta) {
this.toseeid=SID this.toseeid=SID
this.emailId=SID this.emailId=SID
this.isShowAll=true this.emailIdArr.push(SID)
this.ITEMSTA=itemsta this.isShowTwo=true
// 准备约面 this.ITEMSTA=itemsta
if(e.target.value==3){ // 准备约面
getEmailMoo().then(res=>{ if(e.target.value==3){
this.emailInline.modalArr.push(res.data.body[0]) getEmailMoo().then(res=>{
}) this.emailInline.modalArr.push(res.data.body[0])
this.emailMOdal=true
}
// 简历PASS
if(e.target.value==2){
let parmars={
status:"PASS",
id:SID,
}
PASS(parmars).then(res=>{
if(res.data.success==true){
this.SouSuo(this.pageT)
}
})
}
// 简历备选
if(e.target.value==4){
let parmars={
status:"OPTION",
id:SID,
}
OPTION(parmars).then(res=>{
if(res.data.success==true){
this.SouSuo(this.pageT)
}
})
}
},
addINTERVIEW(){
let parmars={
resumeId: this.toseeid,
inviterName:this.formInline.UpdateOWER,
interviewerName:this.formInline.UpdateVIEW,
seeTime:moment(this.formInline.UpdateTIME).format('YYYY-MM-DD HH:mm'),
}
if(this.formInline.UpdateOWER==''||this.formInline.UpdateVIEW==''||this.formInline.UpdateTIME==''){
this.$Notice.error({
title: '提示',
desc: '请您填写完整的约面信息'
});
return
}
addinterview(parmars).then(res=>{
if(res.data.success==true){
this.modal2=false
this.formInline.UpdateOWER=''
this.formInline.UpdateVIEW=''
this.formInline.UpdateTIME=''
this.SouSuo(this.pageT)
}
if(res.data.body.code==0){
this.SouSuo(this.pageT)
}
})
},
nextStep(){
this.beforeBtu=true
this.modal2=false
this.emailMOdal=true
},
selectFn2(e,SID,itemsta) {
this.ITEMSTA=itemsta
this.toseeid=SID
// 准备约面
if(e.target.value==1){
getEmailMoo().then(res=>{
this.emailInline.modalArr.push(res.data.body[0])
})
this.emailMOdal=true
// this.modal2=true
}
// 简历PASS
if(e.target.value==3){
let parmars={
status:"PASS",
id:SID,
}
PASS(parmars).then(res=>{
if(res.data.success==true){
this.SouSuo(this.pageT)
}
}) })
} this.emailMOdal=true
// 简历备选 this.emailFlowStatus='TO_SEE'
if(e.target.value==2){ this.isShowTwo=true
let parmars={ }
status:"OPTION", // 简历PASS
id:SID, if(e.target.value==2){
let parmars={
status:"PASS",
id:SID,
}
PASS(parmars).then(res=>{
if(res.data.success==true){
this.SouSuo(this.pageT)
}
})
}
// 简历备选
if(e.target.value==4){
let parmars={
status:"OPTION",
id:SID,
}
OPTION(parmars).then(res=>{
if(res.data.success==true){
this.SouSuo(this.pageT)
}
})
}
},
addINTERVIEW(){
let parmars={
resumeId: this.toseeid,
inviterName:this.formInline.UpdateOWER,
interviewerName:this.formInline.UpdateVIEW,
seeTime:moment(this.formInline.UpdateTIME).format('YYYY-MM-DD HH:mm'),
}
if(this.formInline.UpdateOWER==''||this.formInline.UpdateVIEW==''||this.formInline.UpdateTIME==''){
this.$Notice.error({
title: '提示',
desc: '请您填写完整的约面信息'
});
return
}
addinterview(parmars).then(res=>{
if(res.data.success==true){
this.modal2=false
this.formInline.UpdateOWER=''
this.formInline.UpdateVIEW=''
this.formInline.UpdateTIME=''
this.SouSuo(this.pageT)
} }
OPTION(parmars).then(res=>{ if(res.data.body.code==0){
if(res.data.success==true){ this.SouSuo(this.pageT)
this.SouSuo(this.pageT)
}
})
}
if(e.target.value==2){
let parmars={
status:"TO_DO",
id:SID,
} }
TODORes(parmars).then(res=>{ })
if(res.data.success==true){ },
nextStep(){
this.beforeBtu=true
this.modal2=false
this.emailMOdal=true
},
selectFn2(e,SID,itemsta) {
this.ITEMSTA=itemsta
this.emailId=SID
this.toseeid=SID
// 准备约面
if(e.target.value==1){
getEmailMoo().then(res=>{
this.emailInline.modalArr.push(res.data.body[0])
})
this.emailMOdal=true
this.emailFlowStatus='TO_SEE'
this.isShowTwo=true
}
// 简历PASS
if(e.target.value==3){
let parmars={
status:"PASS",
id:SID,
}
PASS(parmars).then(res=>{
if(res.data.success==true){
this.SouSuo(this.pageT) this.SouSuo(this.pageT)
} }
}) })
} }
}, // 简历备选
if(e.target.value==2){
let parmars={
status:"OPTION",
id:SID,
}
OPTION(parmars).then(res=>{
if(res.data.success==true){
this.SouSuo(this.pageT)
}
})
}
if(e.target.value==2){
let parmars={
status:"TO_DO",
id:SID,
}
TODORes(parmars).then(res=>{
if(res.data.success==true){
this.SouSuo(this.pageT)
}
})
}
},
selectFn3(e,SID,itemsta) { selectFn3(e,SID,itemsta) {
this.ITEMSTA=itemsta this.ITEMSTA=itemsta
this.emailId=SID
this.toseeid=SID this.toseeid=SID
// 准备约面 // 准备约面
if(e.target.value==2){ if(e.target.value==2){
getEmailMoo().then(res=>{ getEmailMoo().then(res=>{
this.emailInline.modalArr.push(res.data.body[0]) this.emailInline.modalArr.push(res.data.body[0])
}) })
this.emailMOdal=true this.emailMOdal=true
// this.modal2=true this.emailFlowStatus='TO_SEE'
this.isShowTwo=true
} }
// 简历PASS // 简历PASS
if(e.target.value==3){ if(e.target.value==3){
...@@ -743,12 +798,15 @@ export default { ...@@ -743,12 +798,15 @@ export default {
selectFn4(e,SID,itemsta) { selectFn4(e,SID,itemsta) {
this.ITEMSTA=itemsta this.ITEMSTA=itemsta
this.toseeid=SID this.toseeid=SID
this.emailId=SID
// 准备约面 // 准备约面
if(e.target.value==2){ if(e.target.value==2){
getEmailMoo().then(res=>{ getEmailMoo().then(res=>{
this.emailInline.modalArr.push(res.data.body[0]) this.emailInline.modalArr.push(res.data.body[0])
}) })
this.emailMOdal=true this.emailMOdal=true
this.emailFlowStatus='TO_SEE'
this.isShowTwo=true
} }
// 简历PASS // 简历PASS
if(e.target.value==1){ if(e.target.value==1){
...@@ -857,12 +915,14 @@ export default { ...@@ -857,12 +915,14 @@ export default {
this.delateARRALL2.push(doID) this.delateARRALL2.push(doID)
this.flowStatusarr.push(doStatus) this.flowStatusarr.push(doStatus)
this.addInterviewee(item) this.addInterviewee(item)
this.emailIdArr.push(doID)
} }
if(sss==false){ if(sss==false){
this.delateARRALL.remove(doID) this.delateARRALL.remove(doID)
this.delateARRALL2.remove(doID) this.delateARRALL2.remove(doID)
this.flowStatusarr.remove(doStatus) this.flowStatusarr.remove(doStatus)
this.removeInterviewee(item) this.removeInterviewee(item)
this.emailIdArr.remove(doID)
} }
}, },
//选择搜索元素 //选择搜索元素
...@@ -1160,61 +1220,409 @@ export default { ...@@ -1160,61 +1220,409 @@ export default {
this.ajaxData[index].isShow=false this.ajaxData[index].isShow=false
}, },
// 发送邮件 // 发送邮件
sendEmail(){ sendEmail(){
if(this.emailId==''){
this.$Notice.error({
title: '提示',
desc: '未选中元素'
});
return
}
this.emailInline.modalArr=[]
this.emailMOdal=true
getEmailMoo().then(res=>{
this.emailInline.modalArr=res.data.body
})
},
getEmailContentValue(value){
if(value=='TEMP_0001'){
this.interviewIsShow=true
this.interviewBtu=true
this.isShowAll=true
}else{
this.interviewIsShow=false
this.interviewBtu=false
this.isShowAll=false
}
this.emailCode=value
let parmars={
resumeId:this.emailId,
templateCode:this.emailCode
}
getEmailContent(parmars).then(res=>{
this.emailInline.theme=res.data.body.templateSubject
this.emailInline.receiveEmail=res.data.body.receiveEmail
this.emailInline.templateContent=res.data.body.templateContent
this.sad=this.emailInline.templateContent
})
},
beforUpload(aaa){
console.log(aaa,File,aaa.name)
this.fileList.push(aaa.name)
console.log(this.fileList)
return false
},
// 发送全部内容
sendContent(){},
emailModalPush(){
this.emailInline.modalArr=[] this.emailInline.modalArr=[]
this.emailInline.theme='' this.emailMOdal=true
this.emailInline.receiveEmail='' getEmailMoo().then(res=>{
this.emailInline.templateContent='' this.emailInline.modalArr=res.data.body
this.sad='' })
this.fileList=[] },
this.emailInline.moo='' getEmailContentValue(value){
this.emailMOdal=false this.isDisable=true
this.SouSuo(this.pageT) this.temp=value
}, if(this.isShowTwo==true){
this.isShowAll=true
this.interviewIsShow=true
}else{
if(this.emailIdArr.length>1&&(value=='TEMP_0001'||value=='TEMP_0005'||value=='TEMP_0006')){
this.allEmailVilitor=true
}else {
this.allEmailVilitor=false
if(this.temp=='TEMP_0001'){
this.isShowAll=true
}else{
this.isShowAll=false
}
}
if(value=='TEMP_0001'){
this.interviewIsShow=true
this.isShowAll=true
}else{
this.interviewIsShow=false
this.isShowAll=false
}
this.emailId=this.emailIdArr.length==0?'':this.emailIdArr[0]
if(value=='TEMP_0001' &&this.emailId==''){
this.interviewBtu=true
this.isShowAll=true
this.emailMassage=true
}
else if(value=='TEMP_0005' && this.emailId==''){
this.emailMassage=true
}
else if(value=='TEMP_0006' && this.emailId==''){
this.emailMassage=true
}
else{
if(value=='TEMP_0001'){this.isShowAll=true}else{this.isShowAll=false}
this.interviewBtu=false
this.emailMassage=false
}}
this.emailCode=value
let parmars={
resumeId:this.emailId==''?'':this.emailId,
templateCode:this.emailCode
}
getEmailContent(parmars).then(res=>{
this.emailInline.theme=res.data.body.templateSubject
this.emailInline.receiveEmail=res.data.body.receiveEmail
this.emailInline.templateContent=res.data.body.templateContent
this.editorObject = {
type: value,
value: this.emailInline.templateContent || ''
}
if(res.data.body&&res.data.body.resumeInterviewVO){
this.formInline.UpdateOWER=res.data.body.resumeInterviewVO.interviewerName
this.formInline.UpdateVIEW=res.data.body.resumeInterviewVO.inviterName
this.formInline.UpdateTIME=res.data.body.resumeInterviewVO.seeTime
}else{
this.formInline.UpdateOWER=''
this.formInline.UpdateVIEW=''
this.formInline.UpdateTIME=''
}
})
},
uploadFile(){
// this.uploadFileList=[]
this.limentName=0
},
beforUpload(uploadFile){
let isLiment=false
if(uploadFile.size/1024 > 10240){
isLiment=true
this.limentName+=1
if(this.limentName==1){
this.$Notice.error({
title: '提示',
desc: '单个文件不能大于10M'
})
}
}else{
this.fileList.push(uploadFile.name)
this.uploadFileList.push(uploadFile)
}
return false
},
// 发送全部内容
sendContent(){},
emailModalPush(){
this.emailInline.modalArr=[]
this.emailInline.theme=''
this.emailInline.receiveEmail=''
this.emailInline.templateContent=''
this.sad=''
this.fileList=[]
this.emailInline.moo=''
this.emailMOdal=false
this.emailMassage=false
this.emailIdArr=[]
this.emailFlowStatus=''
this.formInline.UpdateOWER=''
this.formInline.UpdateVIEW=''
this.formInline.UpdateTIME=''
this.emailInline.copyname=''
this.isShowTwo=false
this.isLimitSize=false
this.uploadFileList=[]
this.SouSuo(this.pageT)
},
getEditorValue(){ // 调编辑器组件方法获取数据
return this.$refs.editor.getValue()
},
delateFile(index){
this.fileList.splice(index,1)
this.uploadFileList.splice(index,1)
// this.isLimitSize=false
},
// 确认发送邮件
confireSendEmail(){
this.sad=this.getEditorValue()
if(this.sad==''){
this.$Notice.error({
title: '提示',
desc: '请填写完整的信息'
});
return
}
if(this.emailInline.moo==''){
this.$Notice.error({
title: '提示',
desc: '请填写完整的信息'
});
return
}
if((this.temp=='TEMP_0001')&&(this.emailInline.moo==''||this.emailInline.receiveEmail==''||this.emailInline.theme==''||this.formInline.UpdateOWER==''||this.formInline.UpdateVIEW==''||this.formInline.UpdateTIME=='')){
this.$Notice.error({
title: '提示',
desc: '请填写完整的信息'
});
return
}
if((this.temp=='TEMP_0002'||this.temp=='TEMP_0003'||this.temp=='TEMP_0004'||this.temp=='TEMP_0005'||this.temp=='TEMP_0006')&&(this.emailInline.moo==''||this.emailInline.receiveEmail==''||this.emailInline.theme=='')){
this.$Notice.error({
title: '提示',
desc: '请填写完整的信息'
});
return
}
if((this.temp=='TEMP_0001'|| this.temp=='TEMP_0005'|| this.temp=='TEMP_0006')&&this.emailId==''){
this.$Notice.error({
title: '提示',
desc: '请先选择简历'
});
return
}
if(this.emailInline.copyname!==''&&!(/^((([a-z0-9_\.-]+)@([\da-z\.-]+)\.([a-z\.]{2,6}\;))*(([a-z0-9_\.-]+)@([\da-z\.-]+)\.([a-z\.]{2,6})))$/.test(this.emailInline.copyname))){
this.$Notice.error({
title: '提示',
desc: '请正确填写邮箱地址'
});
return
}
if(!(/^((([a-z0-9_\.-]+)@([\da-z\.-]+)\.([a-z\.]{2,6}\;))*(([a-z0-9_\.-]+)@([\da-z\.-]+)\.([a-z\.]{2,6})))$/.test(this.emailInline.receiveEmail))){
this.$Notice.error({
title: '提示',
desc: '请正确填写邮箱地址'
});
return
}
if((this.emailIdArr.length>1)&&(this.temp=='TEMP_0001'|| this.temp=='TEMP_0005'|| this.temp=='TEMP_0006')){
this.$Notice.error({
title: '提示',
desc: '不能选择多份简历,请选择单份简历'
});
return
}
this.attachFileList=this.uploadFileList.length==0?'':this.uploadFileList
this.flowStatusTT=this.emailFlowStatus==''?'':'TO_SEE'
this.UpdateTIMETwo=this.formInline.UpdateTIME==''?'':this.formInline.UpdateTIME
if(this.temp=='TEMP_0001'){
var formData= new FormData()
if(this.attachFileList.length!==0){
this.attachFileList.map(item=>{
formData.append('attachFileList',item)
})
}else{
formData.append('attachFileList','')
}
formData.append('resumeId',this.emailId)
formData.append('templateCode',this.emailCode)
formData.append('subject',this.emailInline.theme)
formData.append('toEmail',this.emailInline.receiveEmail)
formData.append('ccEmail',this.emailInline.copyname)
formData.append('emailContent',this.sad)
formData.append('resumeInterviewVO.resumeId',this.emailId)
formData.append('resumeInterviewVO.inviterName',this.formInline.UpdateOWER==''?'':this.formInline.UpdateOWER)
formData.append('resumeInterviewVO.interviewerName',this.formInline.UpdateVIEW==''?'':this.formInline.UpdateVIEW)
formData.append('resumeInterviewVO.seeTime',moment( this.UpdateTIMETwo).format('YYYY/MM/DD HH:mm'))
formData.append(' flowStatus',this.flowStatusTT)
this.isDisable=false
sendEmail(formData).then(res=>{
this.isDisable=true
if(res.data.success==true){
this.$Notice.success({
title: '提示',
desc: '发送邮件成功'
});
this.emailMOdal=false
this.modal10=false
this.emailInline.modalArr=[]
this.emailInline.theme=''
this.emailInline.receiveEmail=''
this.emailInline.templateContent=''
this.sad=''
this.fileList=[]
this.emailInline.moo=''
this.emailMOdal=false
this.emailMassage=false
this.emailIdArr=[]
this.emailFlowStatus=''
this.formInline.UpdateOWER=''
this.formInline.UpdateVIEW=''
this.formInline.UpdateTIME=''
this.emailInline.copyname=''
this.isShowTwo=false
this.uploadFileList=[]
this.SouSuo(this.pageT)
}
if(res.data.success==false){
this.$Notice.error({
title: '提示',
desc: '发送邮件失败'
});
this.emailMOdal=false
this.modal10=false
// this.isDisable=true
this.emailInline.modalArr=[]
this.emailInline.theme=''
this.emailInline.receiveEmail=''
this.emailInline.templateContent=''
this.sad=''
this.fileList=[]
this.emailInline.moo=''
this.emailMOdal=false
this.emailMassage=false
this.emailIdArr=[]
this.emailFlowStatus=''
this.formInline.UpdateOWER=''
this.formInline.UpdateVIEW=''
this.formInline.UpdateTIME=''
this.emailInline.copyname=''
this.isShowTwo=false
this.uploadFileList=[]
this.SouSuo(this.pageT)
}
})
}else{
var formData= new FormData()
if(this.attachFileList.length!==0){
this.attachFileList.map(item=>{
formData.append('attachFileList',item)
})
}else{
formData.append('attachFileList','')
}
formData.append('resumeId',this.emailId)
formData.append('templateCode',this.emailCode)
formData.append('subject',this.emailInline.theme)
formData.append('toEmail',this.emailInline.receiveEmail)
formData.append('ccEmail',this.emailInline.copyname)
formData.append('emailContent',this.sad)
formData.append(' flowStatus',this.flowStatusTT)
this.isDisable=false
sendEmail(formData).then(res=>{
this.isDisable=true
if(res.data.success==true){
this.$Notice.success({
title: '提示',
desc: '发送邮件成功'
})
this.emailMOdal=false
this.modal10=false
// this.isDisable=true
this.emailInline.modalArr=[]
this.emailInline.theme=''
this.emailInline.receiveEmail=''
this.emailInline.templateContent=''
this.sad=''
this.fileList=[]
this.emailInline.moo=''
this.emailMOdal=false
this.emailMassage=false
this.emailIdArr=[]
this.emailFlowStatus=''
this.formInline.UpdateOWER=''
this.formInline.UpdateVIEW=''
this.formInline.UpdateTIME=''
this.isShowTwo=false
this.isLimitSize=false
this.emailInline.copyname=''
this.uploadFileList=[]
this.SouSuo(this.pageT)
}
if(res.data.success==false){
this.$Notice.error({
title: '提示',
desc: '发送邮件失败'
});
this.emailMOdal=false
this.modal10=false
// this.isDisable=true
this.emailInline.modalArr=[]
this.emailInline.theme=''
this.emailInline.receiveEmail=''
this.emailInline.templateContent=''
this.sad=''
this.fileList=[]
this.emailInline.moo=''
this.emailMOdal=false
this.emailMassage=false
this.emailIdArr=[]
this.emailFlowStatus=''
this.formInline.UpdateOWER=''
this.formInline.UpdateVIEW=''
this.formInline.UpdateTIME=''
this.emailInline.copyname=''
this.isShowTwo=false
this.isLimitSize=false
this.uploadFileList=[]
this.SouSuo(this.pageT)
}
})
}
},
changenotice(a){
},
receiveEmail(){
if(!(/^((([a-z0-9_\.-]+)@([\da-z\.-]+)\.([a-z\.]{2,6}\;))*(([a-z0-9_\.-]+)@([\da-z\.-]+)\.([a-z\.]{2,6})))$/.test(this.emailInline.receiveEmail))){
this.$Notice.error({
title: '提示',
desc: '请正确填写邮箱地址'
});
this.isDisable=false
return
}else{
this.isDisable=true
}
},
copyname(){
if(this.emailInline.copyname!==''&&!(/^((([a-z0-9_\.-]+)@([\da-z\.-]+)\.([a-z\.]{2,6}\;))*(([a-z0-9_\.-]+)@([\da-z\.-]+)\.([a-z\.]{2,6})))$/.test(this.emailInline.copyname))){
this.$Notice.error({
title: '提示',
desc: '请正确填写邮箱地址'
});
this.isDisable=false
return
}else{
this.isDisable=true
}
},
theme(){
if(this.emailInline.theme==''){
this.$Notice.error({
title: '提示',
desc: '请填写主题'
});
this.isDisable=false
return
}else{
this.isDisable=true
}
},
UpdateOWER(){
if(this.formInline.UpdateOWER==''){
this.isDisable=false
}else{
this.isDisable=true
}
},
UpdateTIME(){
if(this.formInline.UpdateTIME==''){
this.isDisable=false
}else{
this.isDisable=true
}
},
UpdateVIEW(){
if(this.formInline.UpdateVIEW==''){
this.isDisable=false
}else{
this.isDisable=true
}
},
getEditorValue(value){ getEditorValue(value){
console.log(value,3333333333) console.log(value,3333333333)
}, },
...@@ -1311,7 +1719,7 @@ export default { ...@@ -1311,7 +1719,7 @@ export default {
this.checkboxList = [] this.checkboxList = []
this.delateARRALL = [] this.delateARRALL = []
this.flowStatusarr = [] this.flowStatusarr = []
}, }
}, },
watch: { watch: {
'$route' (to, from) { '$route' (to, from) {
......
...@@ -137,11 +137,14 @@ export default { ...@@ -137,11 +137,14 @@ export default {
reList:[], reList:[],
downresume:'', downresume:'',
detialID:'', detialID:'',
showBtn:'',
} }
}, },
methods: { methods: {
getDETAIL(){ getDETAIL(){
this.detialID=this.$route.query.id this.detialID=this.$route.query.id
// this.showBtn=this.$router.query.noShowBtn
// console.log(this.showBtn)
let parmars={ let parmars={
resumeId:this.$route.query.id resumeId:this.$route.query.id
} }
......
export function _debounce (fn, delay) {
let timer = null
delay = delay || 200
return function () {
let args = arguments
if (timer) {
clearTimeout(timer)
}
timer = setTimeout(function () {
timer = null
fn.apply(this, args)
}.bind(this), delay)
}
}
export function _throttle (fn, interval) {
let last = null
let timer = null
interval = interval || 200
return function () {
let self = this
let args = arguments
let now = +new Date()
if (last && now - last < interval) {
clearTimeout(timer)
timer = setTimeout(function () {
last = now
fn.apply(self, args)
}, interval)
} else {
last = now
fn.apply(self, args)
}
}
}
\ No newline at end of file
...@@ -10,7 +10,6 @@ CKEDITOR.editorConfig = function( config ) { ...@@ -10,7 +10,6 @@ CKEDITOR.editorConfig = function( config ) {
config.toolbarGroups = [ config.toolbarGroups = [
{ name: 'clipboard', groups: [ 'clipboard', 'undo' ] }, { name: 'clipboard', groups: [ 'clipboard', 'undo' ] },
{ name: 'styles', groups: [ 'styles' ] }, { name: 'styles', groups: [ 'styles' ] },
{ name: 'document', groups: [ 'mode', 'document', 'doctools' ] },
{ name: 'forms', groups: [ 'forms' ] }, { name: 'forms', groups: [ 'forms' ] },
{ name: 'basicstyles', groups: [ 'basicstyles', 'cleanup' ] }, { name: 'basicstyles', groups: [ 'basicstyles', 'cleanup' ] },
{ name: 'paragraph', groups: [ 'list', 'indent', 'blocks', 'align', 'bidi', 'paragraph' ] }, { name: 'paragraph', groups: [ 'list', 'indent', 'blocks', 'align', 'bidi', 'paragraph' ] },
...@@ -20,11 +19,12 @@ CKEDITOR.editorConfig = function( config ) { ...@@ -20,11 +19,12 @@ CKEDITOR.editorConfig = function( config ) {
{ name: 'tools', groups: [ 'tools' ] }, { name: 'tools', groups: [ 'tools' ] },
{ name: 'editing', groups: [ 'find', 'selection', 'spellchecker', 'editing' ] }, { name: 'editing', groups: [ 'find', 'selection', 'spellchecker', 'editing' ] },
{ name: 'others', groups: [ 'others' ] }, { name: 'others', groups: [ 'others' ] },
{ name: 'about', groups: [ 'about' ] } { name: 'about', groups: [ 'about' ] },
{ name: 'document', groups: [ 'mode', 'document', 'doctools' ] },
]; ];
config.removeButtons = 'Cut,Copy,Paste,PasteText,PasteFromWord,Source,Save,Templates,NewPage,Preview,Print,About,ShowBlocks,Flash,PageBreak,Iframe,Anchor,SelectAll,BidiLtr,BidiRtl,Language,CreateDiv,Superscript,Subscript,Form,Checkbox,Radio,TextField,Textarea,Select,Button,ImageButton,HiddenField,Find,Replace;Smiley,Smiley,Replace'; config.removeButtons = 'Cut,Copy,Paste,PasteText,PasteFromWord,Save,Templates,NewPage,Preview,Print,About,ShowBlocks,Flash,PageBreak,Iframe,Anchor,SelectAll,BidiLtr,BidiRtl,Language,CreateDiv,Superscript,Subscript,Form,Checkbox,Radio,TextField,Textarea,Select,Button,ImageButton,HiddenField,Find,Replace;Smiley,Smiley,Replace';
config.removeDialogTabs = 'image:advanced;link:advanced'; config.removeDialogTabs = 'image:advanced;link:advanced;flash:advanced;editdiv:advanced; creatediv:advanced;';
config.removePlugins = 'elementspath,resize'; // 移除编辑器底部状态栏显示的元素路径和调整编辑器大小的按钮 config.removePlugins = 'elementspath,resize'; // 移除编辑器底部状态栏显示的元素路径和调整编辑器大小的按钮
config.image_previewText = ' '; // 图片信息面板预览区内容的文字内容,默认显示CKEditor自带的内容 config.image_previewText = ' '; // 图片信息面板预览区内容的文字内容,默认显示CKEditor自带的内容
config.removeDialogTabs = 'image:advanced;image:Link'; // 移除图片上传页面的'高级','链接'页签 config.removeDialogTabs = 'image:advanced;image:Link'; // 移除图片上传页面的'高级','链接'页签
...@@ -32,3 +32,4 @@ CKEDITOR.editorConfig = function( config ) { ...@@ -32,3 +32,4 @@ CKEDITOR.editorConfig = function( config ) {
config.removePlugins = 'image,elementspath,resize';// 移除编辑器底部状态栏显示的元素路径和调整编辑器大小的按钮,基础图片插件 config.removePlugins = 'image,elementspath,resize';// 移除编辑器底部状态栏显示的元素路径和调整编辑器大小的按钮,基础图片插件
}; };
// creatediv:advanced;
\ No newline at end of file
...@@ -2,4 +2,4 @@ ...@@ -2,4 +2,4 @@
Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved. Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved.
For licensing, see LICENSE.md or https://ckeditor.com/license For licensing, see LICENSE.md or https://ckeditor.com/license
*/ */
CKEDITOR.lang['zh-cn']={"editor":"所见即所得编辑器","editorPanel":"所见即所得编辑器面板","common":{"editorHelp":"按 ALT+0 获得帮助","browseServer":"浏览服务器","url":"URL","protocol":"协议","upload":"上传","uploadSubmit":"上传1","image":"图像","flash":"Flash","form":"表单","checkbox":"复选框","radio":"单选按钮","textField":"单行文本","textarea":"多行文本","hiddenField":"隐藏域","button":"按钮","select":"列表/菜单","imageButton":"图像按钮","notSet":"<没有设置>","id":"ID","name":"名称","langDir":"语言方向","langDirLtr":"从左到右 (LTR)","langDirRtl":"从右到左 (RTL)","langCode":"语言代码","longDescr":"详细说明 URL","cssClass":"样式类名称","advisoryTitle":"标题","cssStyle":"行内样式","ok":"确定","cancel":"取消","close":"关闭","preview":"预览","resize":"拖拽以改变大小","generalTab":"常规","advancedTab":"高级","validateNumberFailed":"需要输入数字格式","confirmNewPage":"当前文档内容未保存,是否确认新建文档?","confirmCancel":"部分修改尚未保存,是否确认关闭对话框?","options":"选项","target":"目标窗口","targetNew":"新窗口 (_blank)","targetTop":"整页 (_top)","targetSelf":"本窗口 (_self)","targetParent":"父窗口 (_parent)","langDirLTR":"从左到右 (LTR)","langDirRTL":"从右到左 (RTL)","styles":"样式","cssClasses":"样式类","width":"宽度","height":"高度","align":"对齐方式","left":"左对齐","right":"右对齐","center":"居中","justify":"两端对齐","alignLeft":"左对齐","alignRight":"右对齐","alignCenter":"居中","alignTop":"顶端","alignMiddle":"居中","alignBottom":"底部","alignNone":"","invalidValue":"无效的值。","invalidHeight":"高度必须为数字格式","invalidWidth":"宽度必须为数字格式","invalidLength":"\"%1\" 字段设置的值必须是一个正数或者没有一个有效的度量单位 (%2)。","invalidCssLength":"此“%1”字段的值必须为正数,可以包含或不包含一个有效的 CSS 长度单位(px, %, in, cm, mm, em, ex, pt 或 pc)","invalidHtmlLength":"此“%1”字段的值必须为正数,可以包含或不包含一个有效的 HTML 长度单位(px 或 %)","invalidInlineStyle":"内联样式必须为格式是以分号分隔的一个或多个“属性名 : 属性值”。","cssLengthTooltip":"输入一个表示像素值的数字,或加上一个有效的 CSS 长度单位(px, %, in, cm, mm, em, ex, pt 或 pc)。","unavailable":"%1<span class=\"cke_accessibility\">,不可用</span>","keyboard":{"8":"退格键","13":"回车键","16":"Shift","17":"Ctrl","18":"Alt","32":"空格键","35":"行尾键","36":"行首键","46":"删除键","112":"F1","113":"F2","114":"F3","115":"F4","116":"F5","117":"F6","118":"F7","119":"F8","120":"F9","121":"F10","122":"F11","123":"F12","124":"F13","125":"F14","126":"F15","127":"F16","128":"F17","129":"F18","130":"F19","131":"F20","132":"F21","133":"F22","134":"F23","135":"F24","224":"Command"},"keyboardShortcut":"快捷键","optionDefault":"默认"},"about":{"copy":"版权所有 &copy; $1。<br />保留所有权利。","dlgTitle":"关于 CKEditor 4","moreInfo":"相关授权许可信息请访问我们的网站:"},"basicstyles":{"bold":"加粗","italic":"倾斜","strike":"删除线","subscript":"下标","superscript":"上标","underline":"下划线"},"bidi":{"ltr":"文字方向为从左至右","rtl":"文字方向为从右至左"},"blockquote":{"toolbar":"块引用"},"notification":{"closed":"通知已关闭"},"toolbar":{"toolbarCollapse":"折叠工具栏","toolbarExpand":"展开工具栏","toolbarGroups":{"document":"文档","clipboard":"剪贴板/撤销","editing":"编辑","forms":"表单","basicstyles":"基本格式","paragraph":"段落","links":"链接","insert":"插入","styles":"样式","colors":"颜色","tools":"工具"},"toolbars":"工具栏"},"clipboard":{"copy":"复制","copyError":"您的浏览器安全设置不允许编辑器自动执行复制操作,请使用键盘快捷键(Ctrl/Cmd+C)来完成。","cut":"剪切","cutError":"您的浏览器安全设置不允许编辑器自动执行剪切操作,请使用键盘快捷键(Ctrl/Cmd+X)来完成。","paste":"粘贴","pasteNotification":"您的浏览器不支持通过工具栏或右键菜单进行粘贴,请按 %1 进行粘贴。","pasteArea":"粘贴区域","pasteMsg":"将您的内容粘贴到下方区域,然后按确定。"},"colorbutton":{"auto":"自动","bgColorTitle":"背景颜色","colors":{"000":"黑色","800000":"栗色","8B4513":"鞍褐色","2F4F4F":"深岩灰色","008080":"凫绿色","000080":"海军蓝色","4B0082":"靛色","696969":"深灰色","B22222":"火砖红色","A52A2A":"褐色","DAA520":"金菊色","006400":"深绿色","40E0D0":"绿松石色","0000CD":"中蓝色","800080":"紫色","808080":"灰色","F00":"红色","FF8C00":"深橙色","FFD700":"金色","008000":"绿色","0FF":"青色","00F":"蓝色","EE82EE":"紫罗兰色","A9A9A9":"暗灰色","FFA07A":"浅鲑红色","FFA500":"橙色","FFFF00":"黄色","00FF00":"鲜绿色","AFEEEE":"灰绿松石色","ADD8E6":"浅蓝色","DDA0DD":"梅红色","D3D3D3":"浅灰色","FFF0F5":"薰衣草紫红色","FAEBD7":"古董白色","FFFFE0":"浅黄色","F0FFF0":"蜜瓜绿色","F0FFFF":"浅蓝色","F0F8FF":"爱丽丝蓝色","E6E6FA":"薰衣草紫色","FFF":"白色","1ABC9C":"浓青色","2ECC71":"碧绿色","3498DB":"亮蓝色","9B59B6":"紫水晶色","4E5F70":"灰蓝色","F1C40F":"鲜黄色","16A085":"深青色","27AE60":"深碧绿色","2980B9":"浓蓝色","8E44AD":"深紫罗兰色","2C3E50":"不饱和蓝色","F39C12":"橙色","E67E22":"红萝卜红色","E74C3C":"灰红色","ECF0F1":"亮银色","95A5A6":"浅灰青色","DDD":"浅灰色","D35400":"南瓜黄色","C0392B":"浓红色","BDC3C7":"银色","7F8C8D":"灰青色","999":"深灰色"},"more":"其它颜色...","panelTitle":"颜色","textColorTitle":"文本颜色"},"colordialog":{"clear":"清除","highlight":"高亮","options":"颜色选项","selected":"选择颜色","title":"选择颜色"},"templates":{"button":"模板","emptyListMsg":"(没有模板)","insertOption":"替换当前内容","options":"模板选项","selectPromptMsg":"请选择要在编辑器中使用的模板:","title":"内容模板"},"contextmenu":{"options":"快捷菜单选项"},"copyformatting":{"label":"格式刷","notification":{"copied":"格式已复制","applied":"格式已应用","canceled":"格式已取消","failed":"格式化失败,您不能还没复制就应用格式"}},"div":{"IdInputLabel":"ID","advisoryTitleInputLabel":"标题","cssClassInputLabel":"样式类名称","edit":"编辑 DIV","inlineStyleInputLabel":"行内样式","langDirLTRLabel":"从左到右 (LTR)","langDirLabel":"语言方向","langDirRTLLabel":"从右到左 (RTL)","languageCodeInputLabel":"语言代码","remove":"移除 DIV","styleSelectLabel":"样式","title":"创建 DIV 容器","toolbar":"创建 DIV 容器"},"elementspath":{"eleLabel":"元素路径","eleTitle":"%1 元素"},"filetools":{"loadError":"读取文件时发生错误","networkError":"上传文件时发生网络错误","httpError404":"上传文件时发生 HTTP 错误(404:无法找到文件)","httpError403":"上传文件时发生 HTTP 错误(403:禁止访问)","httpError":"上传文件时发生 HTTP 错误(错误代码:%1)","noUrlError":"上传的 URL 未定义","responseError":"不正确的服务器响应"},"find":{"find":"查找","findOptions":"查找选项","findWhat":"查找:","matchCase":"区分大小写","matchCyclic":"循环匹配","matchWord":"全字匹配","notFoundMsg":"指定的文本没有找到。","replace":"替换","replaceAll":"全部替换","replaceSuccessMsg":"共完成 %1 处替换。","replaceWith":"替换:","title":"查找和替换"},"fakeobjects":{"anchor":"锚点","flash":"Flash 动画","hiddenfield":"隐藏域","iframe":"IFrame","unknown":"未知对象"},"flash":{"access":"允许脚本访问","accessAlways":"总是","accessNever":"从不","accessSameDomain":"同域","alignAbsBottom":"绝对底部","alignAbsMiddle":"绝对居中","alignBaseline":"基线","alignTextTop":"文本上方","bgcolor":"背景颜色","chkFull":"启用全屏","chkLoop":"循环","chkMenu":"启用 Flash 菜单","chkPlay":"自动播放","flashvars":"Flash 变量","hSpace":"水平间距","properties":"Flash 属性","propertiesTab":"属性","quality":"质量","qualityAutoHigh":"高(自动)","qualityAutoLow":"低(自动)","qualityBest":"最好","qualityHigh":"","qualityLow":"","qualityMedium":"中(自动)","scale":"缩放","scaleAll":"全部显示","scaleFit":"严格匹配","scaleNoBorder":"无边框","title":"标题","vSpace":"垂直间距","validateHSpace":"水平间距必须为数字格式","validateSrc":"请输入源文件地址","validateVSpace":"垂直间距必须为数字格式","windowMode":"窗体模式","windowModeOpaque":"不透明","windowModeTransparent":"透明","windowModeWindow":"窗体"},"font":{"fontSize":{"label":"大小","voiceLabel":"文字大小","panelTitle":"大小"},"label":"字体","panelTitle":"字体","voiceLabel":"字体"},"forms":{"button":{"title":"按钮属性","text":"标签(值)","type":"类型","typeBtn":"按钮","typeSbm":"提交","typeRst":"重设"},"checkboxAndRadio":{"checkboxTitle":"复选框属性","radioTitle":"单选按钮属性","value":"选定值","selected":"已勾选","required":"必选项"},"form":{"title":"表单属性","menu":"表单属性","action":"动作","method":"方法","encoding":"表单编码"},"hidden":{"title":"隐藏域属性","name":"名称","value":"初始值"},"select":{"title":"菜单/列表属性","selectInfo":"选择信息","opAvail":"可选项","value":"","size":"高度","lines":"","chkMulti":"允许多选","required":"必选项","opText":"选项文本","opValue":"选项值","btnAdd":"添加","btnModify":"修改","btnUp":"上移","btnDown":"下移","btnSetValue":"设为初始选定","btnDelete":"删除"},"textarea":{"title":"多行文本属性","cols":"字符宽度","rows":"行数"},"textfield":{"title":"单行文本属性","name":"名称","value":"初始值","charWidth":"字符宽度","maxChars":"最多字符数","required":"必填项","type":"类型","typeText":"文本","typePass":"密码","typeEmail":"Email","typeSearch":"搜索","typeTel":"电话号码","typeUrl":"地址"}},"format":{"label":"格式","panelTitle":"格式","tag_address":"地址","tag_div":"段落(DIV)","tag_h1":"标题 1","tag_h2":"标题 2","tag_h3":"标题 3","tag_h4":"标题 4","tag_h5":"标题 5","tag_h6":"标题 6","tag_p":"普通","tag_pre":"已编排格式"},"horizontalrule":{"toolbar":"插入水平线"},"iframe":{"border":"显示框架边框","noUrl":"请输入框架的 URL","scrolling":"允许滚动条","title":"IFrame 属性","toolbar":"IFrame"},"image":{"alt":"替换文本","border":"边框大小","btnUpload":"上传图片","button2Img":"确定要把当前图像按钮转换为普通图像吗?","hSpace":"水平间距","img2Button":"确定要把当前图像改变为图像按钮吗?","infoTab":"图像信息","linkTab":"链接","lockRatio":"锁定比例","menu":"图像属性","resetSize":"原始尺寸","title":"图像属性","titleButton":"图像域属性","upload":"上传","urlMissing":"缺少图像源文件地址","vSpace":"垂直间距","validateBorder":"边框大小必须为整数格式","validateHSpace":"水平间距必须为整数格式","validateVSpace":"垂直间距必须为整数格式"},"indent":{"indent":"增加缩进量","outdent":"减少缩进量"},"smiley":{"options":"表情图标选项","title":"插入表情图标","toolbar":"表情符"},"language":{"button":"设置语言","remove":"移除语言"},"link":{"acccessKey":"访问键","advanced":"高级","advisoryContentType":"内容类型","advisoryTitle":"标题","anchor":{"toolbar":"插入/编辑锚点链接","menu":"锚点链接属性","title":"锚点链接属性","name":"锚点名称","errorName":"请输入锚点名称","remove":"删除锚点"},"anchorId":"按锚点 ID","anchorName":"按锚点名称","charset":"字符编码","cssClasses":"样式类名称","download":"强制下载","displayText":"显示文本","emailAddress":"地址","emailBody":"内容","emailSubject":"主题","id":"ID","info":"超链接信息","langCode":"语言代码","langDir":"语言方向","langDirLTR":"从左到右 (LTR)","langDirRTL":"从右到左 (RTL)","menu":"编辑超链接","name":"名称","noAnchors":"(此文档没有可用的锚点)","noEmail":"请输入电子邮件地址","noUrl":"请输入超链接地址","noTel":"Please type the phone number","other":"<其他>","phoneNumber":"Phone number","popupDependent":"依附 (NS)","popupFeatures":"弹出窗口属性","popupFullScreen":"全屏 (IE)","popupLeft":"","popupLocationBar":"地址栏","popupMenuBar":"菜单栏","popupResizable":"可缩放","popupScrollBars":"滚动条","popupStatusBar":"状态栏","popupToolbar":"工具栏","popupTop":"","rel":"关联","selectAnchor":"选择一个锚点","styles":"行内样式","tabIndex":"Tab 键次序","target":"目标","targetFrame":"<框架>","targetFrameName":"目标框架名称","targetPopup":"<弹出窗口>","targetPopupName":"弹出窗口名称","title":"超链接","toAnchor":"页内锚点链接","toEmail":"电子邮件","toUrl":"地址","toPhone":"Phone","toolbar":"插入/编辑超链接","type":"超链接类型","unlink":"取消超链接","upload":"上传"},"list":{"bulletedlist":"项目列表","numberedlist":"编号列表"},"liststyle":{"bulletedTitle":"项目列表属性","circle":"空心圆","decimal":"数字 (1, 2, 3, 等)","disc":"实心圆","lowerAlpha":"小写英文字母(a, b, c, d, e, 等)","lowerRoman":"小写罗马数字(i, ii, iii, iv, v, 等)","none":"无标记","notset":"<没有设置>","numberedTitle":"编号列表属性","square":"实心方块","start":"开始序号","type":"标记类型","upperAlpha":"大写英文字母(A, B, C, D, E, 等)","upperRoman":"大写罗马数字(I, II, III, IV, V, 等)","validateStartNumber":"列表开始序号必须为整数格式"},"magicline":{"title":"在这插入段落"},"maximize":{"maximize":"全屏","minimize":"最小化"},"newpage":{"toolbar":"新建"},"pagebreak":{"alt":"分页符","toolbar":"插入打印分页符"},"pastetext":{"button":"粘贴为无格式文本","pasteNotification":"您的浏览器不支持通过工具栏或右键菜单进行粘贴,请按 %1 进行粘贴。","title":"粘贴为无格式文本"},"pastefromword":{"confirmCleanup":"您要粘贴的内容好像是来自 MS Word,是否要清除 MS Word 格式后再粘贴?","error":"由于内部错误无法清理要粘贴的数据","title":"从 MS Word 粘贴","toolbar":"从 MS Word 粘贴"},"preview":{"preview":"预览"},"print":{"toolbar":"打印"},"removeformat":{"toolbar":"清除格式"},"save":{"toolbar":"保存"},"selectall":{"toolbar":"全选"},"showblocks":{"toolbar":"显示区块"},"sourcearea":{"toolbar":"源码"},"specialchar":{"options":"特殊符号选项","title":"选择特殊符号","toolbar":"插入特殊符号"},"scayt":{"btn_about":"关于即时拼写检查","btn_dictionaries":"字典","btn_disable":"禁用即时拼写检查","btn_enable":"启用即时拼写检查","btn_langs":"语言","btn_options":"选项","text_title":"即时拼写检查"},"stylescombo":{"label":"样式","panelTitle":"样式","panelTitle1":"块级元素样式","panelTitle2":"内联元素样式","panelTitle3":"对象元素样式"},"table":{"border":"边框","caption":"标题","cell":{"menu":"单元格","insertBefore":"在左侧插入单元格","insertAfter":"在右侧插入单元格","deleteCell":"删除单元格","merge":"合并单元格","mergeRight":"向右合并单元格","mergeDown":"向下合并单元格","splitHorizontal":"水平拆分单元格","splitVertical":"垂直拆分单元格","title":"单元格属性","cellType":"单元格类型","rowSpan":"纵跨行数","colSpan":"横跨列数","wordWrap":"自动换行","hAlign":"水平对齐","vAlign":"垂直对齐","alignBaseline":"基线","bgColor":"背景颜色","borderColor":"边框颜色","data":"数据","header":"表头","yes":"","no":"","invalidWidth":"单元格宽度必须为数字格式","invalidHeight":"单元格高度必须为数字格式","invalidRowSpan":"行跨度必须为整数格式","invalidColSpan":"列跨度必须为整数格式","chooseColor":"选择"},"cellPad":"边距","cellSpace":"间距","column":{"menu":"","insertBefore":"在左侧插入列","insertAfter":"在右侧插入列","deleteColumn":"删除列"},"columns":"列数","deleteTable":"删除表格","headers":"标题单元格","headersBoth":"第一列和第一行","headersColumn":"第一列","headersNone":"","headersRow":"第一行","heightUnit":"height unit","invalidBorder":"边框粗细必须为数字格式","invalidCellPadding":"单元格填充必须为数字格式","invalidCellSpacing":"单元格间距必须为数字格式","invalidCols":"指定的行数必须大于零","invalidHeight":"表格高度必须为数字格式","invalidRows":"指定的列数必须大于零","invalidWidth":"表格宽度必须为数字格式","menu":"表格属性","row":{"menu":"","insertBefore":"在上方插入行","insertAfter":"在下方插入行","deleteRow":"删除行"},"rows":"行数","summary":"摘要","title":"表格属性","toolbar":"表格","widthPc":"百分比","widthPx":"像素","widthUnit":"宽度单位"},"undo":{"redo":"重做","undo":"撤消"},"widget":{"move":"点击并拖拽以移动","label":"%1 小部件"},"uploadwidget":{"abort":"上传已被用户中止","doneOne":"文件上传成功","doneMany":"成功上传了 %1 个文件","uploadOne":"正在上传文件({percentage}%)...","uploadMany":"正在上传文件,{max} 中的 {current}({percentage}%)..."},"wsc":{"btnIgnore":"忽略","btnIgnoreAll":"全部忽略","btnReplace":"替换","btnReplaceAll":"全部替换","btnUndo":"撤消","changeTo":"更改为","errorLoading":"加载应该服务主机时出错: %s.","ieSpellDownload":"拼写检查插件还没安装, 您是否想现在就下载?","manyChanges":"拼写检查完成: 更改了 %1 个单词","noChanges":"拼写检查完成: 没有更改任何单词","noMispell":"拼写检查完成: 没有发现拼写错误","noSuggestions":"- 没有建议 -","notAvailable":"抱歉, 服务目前暂不可用","notInDic":"没有在字典里","oneChange":"拼写检查完成: 更改了一个单词","progress":"正在进行拼写检查...","title":"拼写检查","toolbar":"拼写检查"},"image2":{"alt":"替换文本","btnUpload":"上传图片","captioned":"带标题图像","captionPlaceholder":"标题","infoTab":"图像信息","lockRatio":"锁定比例","menu":"图像属性","pathName":"图像","pathNameCaption":"标题","resetSize":"原始尺寸","resizer":"点击并拖拽以改变尺寸","title":"图像属性","uploadTab":"上传","urlMissing":"缺少图像源文件地址","altMissing":"缺少替换文本"}}; CKEDITOR.lang['zh-cn']={"editor":"所见即所得编辑器","editorPanel":"所见即所得编辑器面板","common":{"editorHelp":"按 ALT+0 获得帮助","browseServer":"浏览服务器","url":"URL","protocol":"协议","upload":"上传","uploadSubmit":"上传1","image":"图像","flash":"Flash","form":"表单","checkbox":"复选框","radio":"单选按钮","textField":"单行文本","textarea":"多行文本","hiddenField":"隐藏域","button":"按钮","select":"列表/菜单","imageButton":"图像按钮","notSet":"<没有设置>","id":"ID","name":"名称","langDir":"语言方向","langDirLtr":"从左到右 (LTR)","langDirRtl":"从右到左 (RTL)","langCode":"语言代码","longDescr":"详细说明 URL","cssClass":"样式类名称","advisoryTitle":"标题","cssStyle":"行内样式","ok":"确定","cancel":"取消","close":"关闭","preview":"预览","resize":"拖拽以改变大小","generalTab":"常规","advancedTab":"高级","validateNumberFailed":"需要输入数字格式","confirmNewPage":"当前文档内容未保存,是否确认新建文档?","confirmCancel":"部分修改尚未保存,是否确认关闭对话框?","options":"选项","target":"目标窗口","targetNew":"新窗口 (_blank)","targetTop":"整页 (_top)","targetSelf":"本窗口 (_self)","targetParent":"父窗口 (_parent)","langDirLTR":"从左到右 (LTR)","langDirRTL":"从右到左 (RTL)","styles":"样式","cssClasses":"样式类","width":"宽度","height":"高度","align":"对齐方式","left":"左对齐","right":"右对齐","center":"居中","justify":"两端对齐","alignLeft":"左对齐","alignRight":"右对齐","alignCenter":"居中","alignTop":"顶端","alignMiddle":"居中","alignBottom":"底部","alignNone":"","invalidValue":"无效的值。","invalidHeight":"高度必须为数字格式","invalidWidth":"宽度必须为数字格式","invalidLength":"\"%1\" 字段设置的值必须是一个正数或者没有一个有效的度量单位 (%2)。","invalidCssLength":"此“%1”字段的值必须为正数,可以包含或不包含一个有效的 CSS 长度单位(px, %, in, cm, mm, em, ex, pt 或 pc)","invalidHtmlLength":"此“%1”字段的值必须为正数,可以包含或不包含一个有效的 HTML 长度单位(px 或 %)","invalidInlineStyle":"内联样式必须为格式是以分号分隔的一个或多个“属性名 : 属性值”。","cssLengthTooltip":"输入一个表示像素值的数字,或加上一个有效的 CSS 长度单位(px, %, in, cm, mm, em, ex, pt 或 pc)。","unavailable":"%1<span class=\"cke_accessibility\">,不可用</span>","keyboard":{"8":"退格键","13":"回车键","16":"Shift","17":"Ctrl","18":"Alt","32":"空格键","35":"行尾键","36":"行首键","46":"删除键","112":"F1","113":"F2","114":"F3","115":"F4","116":"F5","117":"F6","118":"F7","119":"F8","120":"F9","121":"F10","122":"F11","123":"F12","124":"F13","125":"F14","126":"F15","127":"F16","128":"F17","129":"F18","130":"F19","131":"F20","132":"F21","133":"F22","134":"F23","135":"F24","224":"Command"},"keyboardShortcut":"快捷键","optionDefault":"默认"},"about":{"copy":"版权所有 &copy; $1。<br />保留所有权利。","dlgTitle":"关于 CKEditor 4","moreInfo":"相关授权许可信息请访问我们的网站:"},"basicstyles":{"bold":"加粗","italic":"倾斜","strike":"删除线","subscript":"下标","superscript":"上标","underline":"下划线"},"bidi":{"ltr":"文字方向为从左至右","rtl":"文字方向为从右至左"},"blockquote":{"toolbar":"块引用"},"notification":{"closed":"通知已关闭"},"toolbar":{"toolbarCollapse":"折叠工具栏","toolbarExpand":"展开工具栏","toolbarGroups":{"document":"文档","clipboard":"剪贴板/撤销","editing":"编辑","forms":"表单","basicstyles":"基本格式","paragraph":"段落","links":"链接","insert":"插入","styles":"样式","colors":"颜色","tools":"工具"},"toolbars":"工具栏"},"clipboard":{"copy":"复制","copyError":"您的浏览器安全设置不允许编辑器自动执行复制操作,请使用键盘快捷键(Ctrl/Cmd+C)来完成。","cut":"剪切","cutError":"您的浏览器安全设置不允许编辑器自动执行剪切操作,请使用键盘快捷键(Ctrl/Cmd+X)来完成。","paste":"粘贴","pasteNotification":"您的浏览器不支持通过工具栏或右键菜单进行粘贴,请按 %1 进行粘贴。","pasteArea":"粘贴区域","pasteMsg":"将您的内容粘贴到下方区域,然后按确定。"},"colorbutton":{"auto":"自动","bgColorTitle":"背景颜色","colors":{"000":"黑色","800000":"栗色","8B4513":"鞍褐色","2F4F4F":"深岩灰色","008080":"凫绿色","000080":"海军蓝色","4B0082":"靛色","696969":"深灰色","B22222":"火砖红色","A52A2A":"褐色","DAA520":"金菊色","006400":"深绿色","40E0D0":"绿松石色","0000CD":"中蓝色","800080":"紫色","808080":"灰色","F00":"红色","FF8C00":"深橙色","FFD700":"金色","008000":"绿色","0FF":"青色","00F":"蓝色","EE82EE":"紫罗兰色","A9A9A9":"暗灰色","FFA07A":"浅鲑红色","FFA500":"橙色","FFFF00":"黄色","00FF00":"鲜绿色","AFEEEE":"灰绿松石色","ADD8E6":"浅蓝色","DDA0DD":"梅红色","D3D3D3":"浅灰色","FFF0F5":"薰衣草紫红色","FAEBD7":"古董白色","FFFFE0":"浅黄色","F0FFF0":"蜜瓜绿色","F0FFFF":"浅蓝色","F0F8FF":"爱丽丝蓝色","E6E6FA":"薰衣草紫色","FFF":"白色","1ABC9C":"浓青色","2ECC71":"碧绿色","3498DB":"亮蓝色","9B59B6":"紫水晶色","4E5F70":"灰蓝色","F1C40F":"鲜黄色","16A085":"深青色","27AE60":"深碧绿色","2980B9":"浓蓝色","8E44AD":"深紫罗兰色","2C3E50":"不饱和蓝色","F39C12":"橙色","E67E22":"红萝卜红色","E74C3C":"灰红色","ECF0F1":"亮银色","95A5A6":"浅灰青色","DDD":"浅灰色","D35400":"南瓜黄色","C0392B":"浓红色","BDC3C7":"银色","7F8C8D":"灰青色","999":"深灰色"},"more":"其它颜色...","panelTitle":"颜色","textColorTitle":"文本颜色"},"colordialog":{"clear":"清除","highlight":"高亮","options":"颜色选项","selected":"选择颜色","title":"选择颜色"},"templates":{"button":"模板","emptyListMsg":"(没有模板)","insertOption":"替换当前内容","options":"模板选项","selectPromptMsg":"请选择要在编辑器中使用的模板:","title":"内容模板"},"contextmenu":{"options":"快捷菜单选项"},"copyformatting":{"label":"格式刷","notification":{"copied":"格式已复制","applied":"格式已应用","canceled":"格式已取消","failed":"格式化失败,您不能还没复制就应用格式"}},"div":{"IdInputLabel":"ID","advisoryTitleInputLabel":"标题","cssClassInputLabel":"样式类名称","edit":"编辑 DIV","inlineStyleInputLabel":"行内样式","langDirLTRLabel":"从左到右 (LTR)","langDirLabel":"语言方向","langDirRTLLabel":"从右到左 (RTL)","languageCodeInputLabel":"语言代码","remove":"移除 DIV","styleSelectLabel":"样式","title":"创建 DIV 容器","toolbar":"创建 DIV 容器"},"elementspath":{"eleLabel":"元素路径","eleTitle":"%1 元素"},"filetools":{"loadError":"读取文件时发生错误","networkError":"上传文件时发生网络错误","httpError404":"上传文件时发生 HTTP 错误(404:无法找到文件)","httpError403":"上传文件时发生 HTTP 错误(403:禁止访问)","httpError":"上传文件时发生 HTTP 错误(错误代码:%1)","noUrlError":"上传的 URL 未定义","responseError":"不正确的服务器响应"},"find":{"find":"查找","findOptions":"查找选项","findWhat":"查找:","matchCase":"区分大小写","matchCyclic":"循环匹配","matchWord":"全字匹配","notFoundMsg":"指定的文本没有找到。","replace":"替换","replaceAll":"全部替换","replaceSuccessMsg":"共完成 %1 处替换。","replaceWith":"替换:","title":"查找和替换"},"fakeobjects":{"anchor":"锚点","flash":"Flash 动画","hiddenfield":"隐藏域","iframe":"IFrame","unknown":"未知对象"},"flash":{"access":"允许脚本访问","accessAlways":"总是","accessNever":"从不","accessSameDomain":"同域","alignAbsBottom":"绝对底部","alignAbsMiddle":"绝对居中","alignBaseline":"基线","alignTextTop":"文本上方","bgcolor":"背景颜色","chkFull":"启用全屏","chkLoop":"循环","chkMenu":"启用 Flash 菜单","chkPlay":"自动播放","flashvars":"Flash 变量","hSpace":"水平间距","properties":"Flash 属性","propertiesTab":"属性","quality":"质量","qualityAutoHigh":"高(自动)","qualityAutoLow":"低(自动)","qualityBest":"最好","qualityHigh":"","qualityLow":"","qualityMedium":"中(自动)","scale":"缩放","scaleAll":"全部显示","scaleFit":"严格匹配","scaleNoBorder":"无边框","title":"标题","vSpace":"垂直间距","validateHSpace":"水平间距必须为数字格式","validateSrc":"请输入源文件地址","validateVSpace":"垂直间距必须为数字格式","windowMode":"窗体模式","windowModeOpaque":"不透明","windowModeTransparent":"透明","windowModeWindow":"窗体"},"font":{"fontSize":{"label":"大小","voiceLabel":"文字大小","panelTitle":"大小"},"label":"字体","panelTitle":"字体","voiceLabel":"字体"},"forms":{"button":{"title":"按钮属性","text":"标签(值)","type":"类型","typeBtn":"按钮","typeSbm":"提交","typeRst":"重设"},"checkboxAndRadio":{"checkboxTitle":"复选框属性","radioTitle":"单选按钮属性","value":"选定值","selected":"已勾选","required":"必选项"},"form":{"title":"表单属性","menu":"表单属性","action":"动作","method":"方法","encoding":"表单编码"},"hidden":{"title":"隐藏域属性","name":"名称","value":"初始值"},"select":{"title":"菜单/列表属性","selectInfo":"选择信息","opAvail":"可选项","value":"","size":"高度","lines":"","chkMulti":"允许多选","required":"必选项","opText":"选项文本","opValue":"选项值","btnAdd":"添加","btnModify":"修改","btnUp":"上移","btnDown":"下移","btnSetValue":"设为初始选定","btnDelete":"删除"},"textarea":{"title":"多行文本属性","cols":"字符宽度","rows":"行数"},"textfield":{"title":"单行文本属性","name":"名称","value":"初始值","charWidth":"字符宽度","maxChars":"最多字符数","required":"必填项","type":"类型","typeText":"文本","typePass":"密码","typeEmail":"Email","typeSearch":"搜索","typeTel":"电话号码","typeUrl":"地址"}},"format":{"label":"格式","panelTitle":"格式","tag_address":"地址","tag_div":"段落(DIV)","tag_h1":"标题 1","tag_h2":"标题 2","tag_h3":"标题 3","tag_h4":"标题 4","tag_h5":"标题 5","tag_h6":"标题 6","tag_p":"普通","tag_pre":"已编排格式"},"horizontalrule":{"toolbar":"插入水平线"},"iframe":{"border":"显示框架边框","noUrl":"请输入框架的 URL","scrolling":"允许滚动条","title":"IFrame 属性","toolbar":"IFrame"},"image":{"alt":"替换文本","border":"边框大小","btnUpload":"开始上传","button2Img":"确定要把当前图像按钮转换为普通图像吗?","hSpace":"水平间距","img2Button":"确定要把当前图像改变为图像按钮吗?","infoTab":"图像信息","linkTab":"链接","lockRatio":"锁定比例","menu":"图像属性","resetSize":"原始尺寸","title":"图像属性","titleButton":"图像域属性","upload":"上传","urlMissing":"缺少图像源文件地址","vSpace":"垂直间距","validateBorder":"边框大小必须为整数格式","validateHSpace":"水平间距必须为整数格式","validateVSpace":"垂直间距必须为整数格式"},"indent":{"indent":"增加缩进量","outdent":"减少缩进量"},"smiley":{"options":"表情图标选项","title":"插入表情图标","toolbar":"表情符"},"language":{"button":"设置语言","remove":"移除语言"},"link":{"acccessKey":"访问键","advanced":"高级","advisoryContentType":"内容类型","advisoryTitle":"标题","anchor":{"toolbar":"插入/编辑锚点链接","menu":"锚点链接属性","title":"锚点链接属性","name":"锚点名称","errorName":"请输入锚点名称","remove":"删除锚点"},"anchorId":"按锚点 ID","anchorName":"按锚点名称","charset":"字符编码","cssClasses":"样式类名称","download":"强制下载","displayText":"显示文本","emailAddress":"地址","emailBody":"内容","emailSubject":"主题","id":"ID","info":"超链接信息","langCode":"语言代码","langDir":"语言方向","langDirLTR":"从左到右 (LTR)","langDirRTL":"从右到左 (RTL)","menu":"编辑超链接","name":"名称","noAnchors":"(此文档没有可用的锚点)","noEmail":"请输入电子邮件地址","noUrl":"请输入超链接地址","noTel":"Please type the phone number","other":"<其他>","phoneNumber":"Phone number","popupDependent":"依附 (NS)","popupFeatures":"弹出窗口属性","popupFullScreen":"全屏 (IE)","popupLeft":"","popupLocationBar":"地址栏","popupMenuBar":"菜单栏","popupResizable":"可缩放","popupScrollBars":"滚动条","popupStatusBar":"状态栏","popupToolbar":"工具栏","popupTop":"","rel":"关联","selectAnchor":"选择一个锚点","styles":"行内样式","tabIndex":"Tab 键次序","target":"目标","targetFrame":"<框架>","targetFrameName":"目标框架名称","targetPopup":"<弹出窗口>","targetPopupName":"弹出窗口名称","title":"超链接","toAnchor":"页内锚点链接","toEmail":"电子邮件","toUrl":"地址","toPhone":"Phone","toolbar":"插入/编辑超链接","type":"超链接类型","unlink":"取消超链接","upload":"上传"},"list":{"bulletedlist":"项目列表","numberedlist":"编号列表"},"liststyle":{"bulletedTitle":"项目列表属性","circle":"空心圆","decimal":"数字 (1, 2, 3, 等)","disc":"实心圆","lowerAlpha":"小写英文字母(a, b, c, d, e, 等)","lowerRoman":"小写罗马数字(i, ii, iii, iv, v, 等)","none":"无标记","notset":"<没有设置>","numberedTitle":"编号列表属性","square":"实心方块","start":"开始序号","type":"标记类型","upperAlpha":"大写英文字母(A, B, C, D, E, 等)","upperRoman":"大写罗马数字(I, II, III, IV, V, 等)","validateStartNumber":"列表开始序号必须为整数格式"},"magicline":{"title":"在这插入段落"},"maximize":{"maximize":"全屏","minimize":"最小化"},"newpage":{"toolbar":"新建"},"pagebreak":{"alt":"分页符","toolbar":"插入打印分页符"},"pastetext":{"button":"粘贴为无格式文本","pasteNotification":"您的浏览器不支持通过工具栏或右键菜单进行粘贴,请按 %1 进行粘贴。","title":"粘贴为无格式文本"},"pastefromword":{"confirmCleanup":"您要粘贴的内容好像是来自 MS Word,是否要清除 MS Word 格式后再粘贴?","error":"由于内部错误无法清理要粘贴的数据","title":"从 MS Word 粘贴","toolbar":"从 MS Word 粘贴"},"preview":{"preview":"预览"},"print":{"toolbar":"打印"},"removeformat":{"toolbar":"清除格式"},"save":{"toolbar":"保存"},"selectall":{"toolbar":"全选"},"showblocks":{"toolbar":"显示区块"},"sourcearea":{"toolbar":"源码"},"specialchar":{"options":"特殊符号选项","title":"选择特殊符号","toolbar":"插入特殊符号"},"scayt":{"btn_about":"关于即时拼写检查","btn_dictionaries":"字典","btn_disable":"禁用即时拼写检查","btn_enable":"启用即时拼写检查","btn_langs":"语言","btn_options":"选项","text_title":"即时拼写检查"},"stylescombo":{"label":"样式","panelTitle":"样式","panelTitle1":"块级元素样式","panelTitle2":"内联元素样式","panelTitle3":"对象元素样式"},"table":{"border":"边框","caption":"标题","cell":{"menu":"单元格","insertBefore":"在左侧插入单元格","insertAfter":"在右侧插入单元格","deleteCell":"删除单元格","merge":"合并单元格","mergeRight":"向右合并单元格","mergeDown":"向下合并单元格","splitHorizontal":"水平拆分单元格","splitVertical":"垂直拆分单元格","title":"单元格属性","cellType":"单元格类型","rowSpan":"纵跨行数","colSpan":"横跨列数","wordWrap":"自动换行","hAlign":"水平对齐","vAlign":"垂直对齐","alignBaseline":"基线","bgColor":"背景颜色","borderColor":"边框颜色","data":"数据","header":"表头","yes":"","no":"","invalidWidth":"单元格宽度必须为数字格式","invalidHeight":"单元格高度必须为数字格式","invalidRowSpan":"行跨度必须为整数格式","invalidColSpan":"列跨度必须为整数格式","chooseColor":"选择"},"cellPad":"边距","cellSpace":"间距","column":{"menu":"","insertBefore":"在左侧插入列","insertAfter":"在右侧插入列","deleteColumn":"删除列"},"columns":"列数","deleteTable":"删除表格","headers":"标题单元格","headersBoth":"第一列和第一行","headersColumn":"第一列","headersNone":"","headersRow":"第一行","heightUnit":"height unit","invalidBorder":"边框粗细必须为数字格式","invalidCellPadding":"单元格填充必须为数字格式","invalidCellSpacing":"单元格间距必须为数字格式","invalidCols":"指定的行数必须大于零","invalidHeight":"表格高度必须为数字格式","invalidRows":"指定的列数必须大于零","invalidWidth":"表格宽度必须为数字格式","menu":"表格属性","row":{"menu":"","insertBefore":"在上方插入行","insertAfter":"在下方插入行","deleteRow":"删除行"},"rows":"行数","summary":"摘要","title":"表格属性","toolbar":"表格","widthPc":"百分比","widthPx":"像素","widthUnit":"宽度单位"},"undo":{"redo":"重做","undo":"撤消"},"widget":{"move":"点击并拖拽以移动","label":"%1 小部件"},"uploadwidget":{"abort":"上传已被用户中止","doneOne":"文件上传成功","doneMany":"成功上传了 %1 个文件","uploadOne":"正在上传文件({percentage}%)...","uploadMany":"正在上传文件,{max} 中的 {current}({percentage}%)..."},"wsc":{"btnIgnore":"忽略","btnIgnoreAll":"全部忽略","btnReplace":"替换","btnReplaceAll":"全部替换","btnUndo":"撤消","changeTo":"更改为","errorLoading":"加载应该服务主机时出错: %s.","ieSpellDownload":"拼写检查插件还没安装, 您是否想现在就下载?","manyChanges":"拼写检查完成: 更改了 %1 个单词","noChanges":"拼写检查完成: 没有更改任何单词","noMispell":"拼写检查完成: 没有发现拼写错误","noSuggestions":"- 没有建议 -","notAvailable":"抱歉, 服务目前暂不可用","notInDic":"没有在字典里","oneChange":"拼写检查完成: 更改了一个单词","progress":"正在进行拼写检查...","title":"拼写检查","toolbar":"拼写检查"},"image2":{"alt":"替换文本","btnUpload":"开始上传","captioned":"带标题图像","captionPlaceholder":"标题","infoTab":"图像信息","lockRatio":"锁定比例","menu":"图像属性","pathName":"图像","pathNameCaption":"标题","resetSize":"原始尺寸","resizer":"点击并拖拽以改变尺寸","title":"图像属性","uploadTab":"上传","urlMissing":"缺少图像源文件地址","altMissing":"缺少替换文本"}};
\ No newline at end of file \ 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