Commit 2dd5cae4 authored by 满振华's avatar 满振华

Merge branch 'dev' into 'master'

Dev

See merge request !1
parents 4ae514cc 12f7bd4a
File added
/* eslint-disable */
import React from 'react';
import { Collapse } from 'antd';
import styles from './index.less';
import IconFont from '@/components/CustomIcon/IconFont';
import AssociationSearch from '@/components/associationSearch';
import AdvancedSearchItem from '@/components/AdvancedSearchItem';
class AdvancedSearch extends React.Component {
constructor(props) {
super(props);
this.advancedItem = React.createRef();
this.state = {
collapseStatus: false,
advancedTerm: [
{
label: null,
value: null,
},
],
advancedForm: [
{
type: [],
field: [],
advancedType: '',
},
],
};
}
// TODO: 切换筛选类型
onChangeType = () => {
// TODO: 清空筛选条件
};
// 切换筛选条件
onChangeTerm = (data) => {
this.setState({
advancedForm: data,
});
};
// 添加筛选条件
addTerm() {
const { advancedForm } = this.state;
const result = advancedForm;
result.push({
type: [],
field: [],
advancedType: '',
});
this.setState({
advancedForm: result,
});
}
// 隐藏区显隐
changeCollapse() {
const { collapseStatus } = this.state;
this.setState({
collapseStatus: !collapseStatus,
});
}
render() {
const { approval } = this.props;
const { collapseStatus, advancedForm } = this.state;
return (
<Collapse bordered={false} defaultActiveKey={['1']}>
<Collapse.Panel
key="1"
style={{ border: 'none', paddingBottom: '20px' }}
showArrow={false}
header={
<div
className={styles.collapseTitle}
onClick={() => {
return this.changeCollapse();
}}
>
高级搜索
<IconFont
type="iconzhankaiicon"
className={`${styles.collapseIcon} ${collapseStatus ? styles.show : null}`}
/>
</div>
}
>
<div>
{/* 审批事项 */}
{approval && (
<div>
<div className={styles.termLine}>
<div className={styles.termLabel}>审批事项:</div>
<div className={styles.termCont}>
<AssociationSearch placeholder="请选择审批事项" className={styles.termHead} />
</div>
</div>
</div>
)}
{/* 搜索字段 */}
<div>
<div className={styles.termLine}>
<div className={styles.termLabel}>搜索字段:</div>
<div className={styles.termCont}>
<AdvancedSearchItem
ref={this.advancedItem}
advancedForm={advancedForm}
onChangeTermFn={this.onChangeTerm}
/>
</div>
</div>
<span
className={styles.btnAddTerm}
onClick={() => {
return this.addTerm();
}}
>
<IconFont type="iconxinzeng" className={styles.btnAddTermIcon} />
添加
</span>
</div>
</div>
</Collapse.Panel>
</Collapse>
);
}
}
export default AdvancedSearch;
.collapseTitle {
color: #04b4ad;
font-size: 14px;
cursor: pointer;
padding-bottom: 20px;
}
.collapseIcon {
font-size: 9px;
transform: rotate(0);
transition: transform 0.3s ease-in-out;
margin-left: 5px;
&.show {
transform: rotate(180deg);
}
}
:global .ant-collapse > .ant-collapse-item.ant-collapse-no-arrow > .ant-collapse-header {
padding: 0;
}
:global .ant-collapse-borderless > .ant-collapse-item > .ant-collapse-content > .ant-collapse-content-box {
padding: 0;
}
:global .ant-collapse-header {
display: inline-block;
}
.termLine {
display: flex;
justify-content: flex-start;
align-items: flex-start;
margin-bottom: 20px;
.termLabel {
width: 66px;
height: 32px;
margin-right: 25px;
text-align: right;
line-height: 32px;
}
.termCont {
flex: 1;
.termContext {
display: flex;
justify-content: flex-start;
align-items: center;
margin-bottom: 10px;
&:last-child {
margin-bottom: 0;
}
}
.termHead {
width: 300px;
margin-right: 20px;
}
.termBody {
width: 450px;
}
.termDelete {
width: 20px;
height: 20px;
position: relative;
margin-left: 10px;
cursor: pointer;
&:before {
content: '';
display: block;
width: 2px;
height: 15px;
background-color: #8c97a3;
transform: translate(-50%, -50%) rotate(45deg);
position: absolute;
top: 50%;
left: 50%;
}
&:after {
content: '';
display: block;
width: 2px;
height: 15px;
background-color: #8c97a3;
transform: translate(-50%, -50%) rotate(-45deg);
position: absolute;
top: 50%;
left: 50%;
}
}
}
}
.btnAddTerm {
display: inline-block;
margin-left: 98px;
color: #04b4ad;
cursor: pointer;
.btnAddTermIcon {
font-size: 9px;
margin-right: 3px;
}
}
/* eslint-disable */
/*
* @Author: CaiChuanming
* @Date: 2020-01-14 11:28:09
* @LastEditTime : 2020-01-16 15:39:18
* @LastEditors : Please set LastEditors
* @Description: In User Settings Edit
* @FilePath: /admin_web/src/components/AdvancedSearchItem/index.js
*/
import React from 'react';
import styles from './index.less';
import BISelect from '@/ant_components/BISelect';
import BIInput from '@/ant_components/BIInput';
import { switchCase } from '@babel/types';
import BIDatePicker from '@/ant_components/BIDatePicker';
// 测试数据
const searchEnum = [
{
value: '1',
label: 'input',
advancedType: 'input',
},
{
value: '2',
label: '模糊搜索',
advancedType: 'search',
},
{
value: '3',
label: '复选框',
advancedType: 'checkbox',
},
{
value: '4',
label: '单选框',
advancedType: 'radio',
},
{
value: '5',
label: '时间',
advancedType: 'data',
},
];
class AdvancedSearchItem extends React.Component {
constructor(props) {
super(props);
}
// 删除筛选条件
removeTerm = (index) => {
const { onChangeTermFn, advancedForm } = this.props;
if (advancedForm.length < 2) {
return;
}
advancedForm.splice(index, 1);
onChangeTermFn(advancedForm);
};
// 切换筛选条件
onChangeTerm = (values = {}, all = {}, index) => {
const { onChangeTermFn, advancedForm } = this.props;
let result = null;
if (Object.keys(values).length !== 0) {
const typeIndex = searchEnum.findIndex((item) => values.key === item.value);
result = Object.assign({}, all, { type: values, advancedType: searchEnum[typeIndex].advancedType });
} else {
result = Object.assign({}, all, { type: [] });
}
advancedForm.splice(index, 1, result);
onChangeTermFn(advancedForm);
};
// 根据类型展示搜索字段
advancedItem = (advancedType) => {
switch (advancedType) {
case 'input':
return <BIInput className={styles.termBody} placeholder="请填写搜索条件" />;
case 'search':
return 'search';
case 'checkbox':
return 'checkbox';
case 'radio':
return 'radio';
case 'data':
return <BIDatePicker placeholder="请选择时间" showTime />;
default:
return null;
}
};
advancedRender = () => {
const { advancedForm } = this.props;
return advancedForm.map((item, index) => (
<div className={styles.termContext} key={index}>
{/* 搜索条件 */}
<BISelect
showSearch
className={styles.termHead}
placeholder="请选择搜索字段"
onChange={this.onChange}
onSearch={this.onSearch}
labelInValue={true}
value={item.type}
allowClear={true}
onChange={(values) => {
this.onChangeTerm(values, item, index);
}}
>
{searchEnum.map((cItem) => {
return <BISelect.Option value={cItem.value}>{cItem.label}</BISelect.Option>;
})}
</BISelect>
{this.advancedItem(item.advancedType)}
{/* 删除 */}
{advancedForm.length > 1 && (
<div
onClick={() => {
return this.removeTerm(index);
}}
className={styles.termDelete}
/>
)}
</div>
));
};
render() {
return <div>{this.advancedRender()}</div>;
}
}
export default AdvancedSearchItem;
.termContext {
display: flex;
justify-content: flex-start;
align-items: center;
margin-bottom: 10px;
&:last-child {
margin-bottom: 0;
}
&:hover {
.termDelete {
display: block;
}
}
}
.termHead {
width: 300px;
margin-right: 20px;
}
.termBody {
width: 450px;
}
.termDelete {
width: 20px;
height: 20px;
position: relative;
margin-left: 10px;
cursor: pointer;
display: none;
&:before {
content: '';
display: block;
width: 2px;
height: 15px;
background-color: #8c97a3;
transform: translate(-50%, -50%) rotate(45deg);
position: absolute;
top: 50%;
left: 50%;
}
&:after {
content: '';
display: block;
width: 2px;
height: 15px;
background-color: #8c97a3;
transform: translate(-50%, -50%) rotate(-45deg);
position: absolute;
top: 50%;
left: 50%;
}
}
/* eslint-disable */
/*
* @Author: CaiChuanming
* @Date: 2020-01-14 11:28:09
* @LastEditTime : 2020-01-14 15:47:55
* @LastEditors : Please set LastEditors
* @Description: In User Settings Edit
* @FilePath: /admin_web/src/components/AdvancedSearchLine/index.js
*/
import React from 'react';
class AdvancedSearchLine extends React.Component {
constructor(props) {
super(props);
}
render() {
return <div>111</div>;
}
}
export default AdvancedSearchLine;
This diff is collapsed.
This diff is collapsed.
@import '~@/theme/common';
@smallSpace: 4px;
@normalSpace: 16px;
.view {
.tableWrap {
background: #fff;
padding: 10px 20px;
border-radius: 6px;
}
.formWrap {
background: #fff;
padding: 25px 20px;
border-radius: 6px;
}
.row {
text-align: right;
// display: flex;
// margin-bottom: 6px;
.col {
display: inline-block;
vertical-align: middle;
width: 30%;
margin: @smallSpace;
}
.btn {
color: @primaryColor;
border-color: @primaryColor;
line-height: 32px;
.iconCls {
font-size: @textFontGen;
}
.titleCls {
font-size: @textFontGen;
}
}
}
.table {
margin: @smallSpace 0;
td {
word-break: break-word;
}
:global(.ant-table-placeholder) {
border-bottom: none;
}
:global(.ant-table-thead > tr > th) {
border-right: none;
border-bottom: 1px solid #f6f6f8;
}
:global(.ant-table-tbody > tr > td) {
border-right: none;
border-bottom: 1px solid #f6f6f8;
}
}
}
.split {
height: 16px;
background: #f9f9f9;
}
.tips {
display: flex;
justify-content: space-between;
margin-bottom: 10px;
align-items: center;
}
This diff is collapsed.
@import '~@/theme/common';
@smallSpace: 4px;
@normalSpace: 16px;
.view {
:global(.ant-checkbox-wrapper) {
min-width: 116px;
margin-right: 10px;
color: @textSupplyColor;
}
:global(.ant-select-selection) {
height: 32px;
overflow-y: auto;
}
.rowWrap {
margin-bottom: 20px;
&:last-child {
margin-bottom: 0;
}
.colWrap {
display: inline-block;
vertical-align: middle;
&._2 {
width: 50%;
}
&._3 {
width: 33.33%;
}
&._4 {
width: 25%;
}
&._5 {
width: 20%;
}
.colInner {
display: flex;
justify-content: flex-start;
align-items: flex-start;
.label {
color: @textPrimaryColor;
margin-right: 25px;
width: 66px;
text-align: right;
}
.itemWrap {
flex: 1;
.itemContent {
//min-width: 230px;
//display: inline-block;
width: 100%;
margin-right: 20px;
}
.checkboxContainer {
display: flex;
flex-wrap: wrap;
margin-bottom: -20px;
}
.checkbox {
margin-bottom: 20px;
}
.searchBtnWrap {
display: inline-block;
.searchBtn {
background: @primaryColor;
}
}
}
}
}
}
}
.chooseAll {
//padding: 5px 0;
//display: block;
//background-color: blue;
//border-top: 1px solid red;
}
/*
* @Author: CaiChuanming
* @Date: 2020-02-09 21:38:05
* @LastEditTime : 2020-02-09 23:00:29
* @LastEditors : Please set LastEditors
* @Description: In User Settings Edit
* @FilePath: /admin_web/src/submodule/components/SearchViewAdvanced/index.js
*/
/* eslint-disable */
import React from 'react';
import { Collapse } from 'antd';
import styles from './index.less';
import IconFont from '@/components/CustomIcon/IconFont';
class SearchViewAdvanced extends React.Component {
constructor(props) {
super(props);
this.advancedItem = React.createRef();
this.state = {
collapseStatus: false,
};
}
// 隐藏区显隐
changeCollapse() {
const { collapseStatus } = this.state;
this.setState({
collapseStatus: !collapseStatus,
});
}
render() {
const { approval } = this.props;
const { collapseStatus, advancedForm } = this.state;
return (
<Collapse bordered={false}>
<Collapse.Panel
key="1"
style={{ border: 'none' }}
showArrow={false}
header={
<div
className={styles.collapseTitle}
onClick={() => {
return this.changeCollapse();
}}
>
高级搜索
<IconFont
type="iconzhankaiicon"
className={`${styles.collapseIcon} ${collapseStatus ? styles.show : null}`}
/>
</div>
}
>
{this.props.children}
</Collapse.Panel>
</Collapse>
);
}
}
export default SearchViewAdvanced;
.collapseTitle {
color: #04b4ad;
font-size: 14px;
cursor: pointer;
padding-bottom: 20px;
}
.collapseIcon {
font-size: 9px;
transform: rotate(0);
transition: transform 0.3s ease-in-out;
margin-left: 5px;
vertical-align: middle;
&.show {
transform: rotate(180deg);
}
}
:global .ant-collapse > .ant-collapse-item.ant-collapse-no-arrow > .ant-collapse-header {
padding: 0;
}
:global .ant-collapse-borderless > .ant-collapse-item > .ant-collapse-content > .ant-collapse-content-box {
padding: 0;
}
:global .ant-collapse-header {
display: inline-block;
}
// 审批模块
export default {
REVOKE: 'revoke',
REJECT: 'reject',
AGREE: 'agree',
REVOKE_INTERRUPT: 'the approval will be interrupted',
RE_SUBMIT: 're-submit',
PRINT: 'print',
APPLICANT: 'applicant',
APPLICANT_NAME: 'Applicant name',
APPLICANT_DEPARTMENT: 'Application Division',
APPROVAL_GROUP: 'Approval group',
APPROVAL_ITEM: 'Approval Item',
ENTER_APPROVAL_ITEM: 'please enter approval item',
PROCESSING_STATUS: 'Processing status',
PROCESSING_DATE: 'Processing date',
APPROVAL_START_DATE: 'Approval Start Date',
FINAL_APPROVAL_DATE: 'Final Approval date',
APPROVAL_STATUS: 'Approval status',
APPLICATION_DATE: 'Application date',
APPLICATION_START_DATE: 'Application start date',
APPLICATION_END_DATE: 'Application end date',
ENTER_REASON: 'Please Enter Reason',
AGREE_REASON: 'Agree',
REJECT_REASON: 'Reject',
REASON_REJECTION: 'Reason for rejection',
NO_ID: 'Not Found ID',
PROCESS_SUCCESS: 'Process created successfully',
NO_APPROVER: 'Not Found Approver',
UNDEFINED_TYPE: 'Undefined type',
GO_BACK: 'Go back',
GO_BACK_TO_PERSON: 'go back to',
TRANSFER: 'Transfer',
GO_BACK_SELECT: 'go back to "please select"',
GO_BACK_REASON: 'Please Enter Go Back Reason',
TRANSFER_TO: 'please select the passer',
TRANSFER_REASON: 'Reasons for Transfer',
TRANSFER_TO_PERSON: 'transfer to',
TRANSRERRED_TO: 'Transferred to ',
APPROVAL_COMMENT: 'Approval comments',
ADD_USER: 'Add User',
REMINDED: 'reminded',
SUBMITTED: 'Submitted',
URGE: 'urge',
NO_REMIND: 'Cannot remind in 6 hours',
SUBMITTER: 'submitter',
OPERATING_STATUS: 'Operating Status',
OPERATING_TIME: 'Operating time',
APPROVAL_RECORDS: 'Approval Records',
INFORM: 'Inform',
APPROVAL_BY: 'Approved by',
FREE_WORKFLOW: 'free workflow',
FIXED_WORKFLOW: 'fixed workflow',
APPROVAL_WORKFLOW: 'Approval Workflow By',
NO_DUPLICATES_APPROVER: 'Turn off Automatically Remove Duplicates Approver',
NO_SAME_APPROVER: 'count one with the same approver',
KEEP_LAST_APPROVER: 'keep the last one of the same approver',
UNABLE_START_APPROVAL: 'Unable to start Approval Workflow',
CC_ALL_CONFIRMED: 'cc only all confirmed',
CC_WHEN_INITIATED: 'CC only when initiated',
CC_ALL_TIME: 'Notification will be sent when a request is initiated or confirmed',
AUTO_SKIO: 'Auto skip',
REMOVE_DUP_APPROVER: 'Turn on Automatically Remove Duplicates Approver',
NO_APPROVER_STATUS: 'No Approver',
CC_STYLE: 'CC',
APPROVER_INITIATOR: 'Approver and Initiator are the same',
PENDING: 'Pending',
APPROVED: 'Approved',
APPROVAL_NOT_PASS: 'Approval not passed',
APPROVAL_REVOCATION: 'Approval revocation',
APPROVAL_RECALL: 'Approval Recall',
REVOKED: 'Revoked',
REJECTED: 'Rejected',
AGREED: 'Agreed',
RECALLED: 'Recalled',
PROGRESS_STATUS: 'progress status',
PROGRESS_PENDING: 'Pending',
PROGRESS_SOLVED: 'Processed',
MORE: 'More',
};
// 公共模块
export default {
CONFIRM: 'confirm',
CANCEL: 'cancel',
EDIT: 'edit',
ABOUT: 'about',
APPLY_APPROVAL: 'Apply for approval',
OPERATING: 'operating',
VIEW: 'view',
PLEASE_ENTER: 'please enter',
NO_DATA: 'No data',
PLEASE_SELECT: 'please select',
};
import common from './common';
import approval from './approval';
import message from './message';
import workbench from './workbench';
const wholeObj = Object.assign({}, common, approval, message, workbench);
export default wholeObj;
// 消息模块
export default {
TODAY: 'Today',
YESTERDAY: 'Yesterday',
BEFORE_YESTERDAY: 'The day before yesterday ',
REPLY_SUCCESS: 'Reply Successfully',
DATA_EXCEPTION: 'Data Exception ',
COMMENT: 'Comment',
UNREADABLE_MESSAGE: 'Unreadable Messages',
MESSAGE: 'Message',
NO_MESSAGE: 'No message',
MARK_READ: 'Mark all as read',
SEARCH_HERE: 'Please search here',
MESSAGE_NUM: 'messages',
CC_MESSAGE: 'cc Message',
APPROVAL_MESSAGE: 'Approval Messages',
ALL_MESSAGE: 'All Messages',
APPROVED_BY_ME: 'Approved by me',
I_STARTED: 'I started',
NEW_COMMENT: 'New Comments',
NEW_REPLY: 'New Reply',
MY_COMMENT: 'My Comments',
RELATED_TO_ME: 'Related to me',
FINANCE_MESSAGE: 'Finance Messages',
SYSTEM_MESSAGE: 'System Messages',
};
// 工作台模块
export default {
ALL_DAY: 'All Day',
ADD_SCHEDULT: 'Add Schedule',
ADD_TASK: 'Add Task',
MONTH: 'Month',
WEEK: 'Week',
DAY: 'Day',
LIST: 'List',
SHOW_SCHEDULE: 'Show Schedule',
NO_SCHEDULE: 'No Schedule',
START_TIME: 'Start Time',
END_TIME: 'End Time',
ABOUT: 'About',
PERSON_IN_CHARGE: 'person in charge',
ROOM: 'Room',
TOPICS: 'Topics',
OWNER: 'Owner',
PARTICIPANT: 'Participant',
FIND_SCHEDULE: 'Find Schedule',
ADD_SUCCESS: 'Added Successful',
EDIT_SUCCESS: 'Edit Successful',
DELETE_SUCCESS: 'Delete Successful',
CANCEL_SUCCESS: 'Cancel Successful',
SORTED_BY: 'Sorted by',
SORT: 'Sort',
KANBAN_VIEW: 'Kanban View',
CALENDER_VIEW: 'Calender View',
DELETED_SURE: 'All subtasks will be deleted too, are you sure to delete?',
DELETED_REMOVE: 'Task will be permanately removed, are you sure to delete?',
RESTORE: 'Restore',
DELETE_PERMANATE: 'Delete Permanately',
DELETE_PERMANATE_LIST: 'Permanately Delete List',
INCOMING_PARAMETERS: 'Incoming Parameters',
RESOTRE_SUCCESS: 'Restore Successful',
TASK_ARCHIVED_SUCCESS: 'Task Archived Sucessful',
SETUP_SUCCESS: 'Set-up Successful',
INVITE_NEW_USER: 'Invite new users',
ADD_USER: 'Add user',
SEARCH: 'Search',
ARCHIVED: 'Archived',
NO_PERMISSION_VIEW: 'You don\'t have permission to view',
SEARCH_MEETING_ROOM: 'Search meeting rooms',
FOR_NOW: 'For now',
GIVE_UP_EDITING: 'Are you sure to give up current editing?',
VIEW_PARENT_TASK: 'View parent task',
HIDE_TASK: 'Hide Task',
EVENT_CONTENT: 'Event Content',
FILL_EVENT_CONTENT: 'Please fill in event content',
NO_MORE_THAN: 'No more than x words',
DESCIRBE_EVENT: 'Describe Event',
PLEASE_DESCIRBE_EVENT: 'Please descirbe the event',
WHICH_CALENDAR: 'Which Calender',
TIME: 'Time',
EVENT_START_TIME: 'Event Start Time',
EVENT_END_TIME: 'Event End Time',
ENTER_EVENT_TIME: 'Please enter event time',
ENTER_ALL_FIELDS: 'Please enter all fields',
REMINDER: 'Reminder',
SELECT_REMINEDER: 'Please Select Reminder',
PERMISSION: 'Permission',
SELECT_PERMISSION: 'Please select permission',
UPLOAD_ATTACH: 'Upload attachments',
ADD_ATTACH: 'Add attachments',
DESCRIPTION: 'Description',
NONE: 'None',
SUER_TO_DEL: 'Are you sure to delete?',
ALL_COMPLETE: 'All subtasks will be marked as complete, are you sure to change status to complete?',
SUBTASK_DESCRIPTION: 'Subtask Description',
GIVER_UP_CUR_EDIT: 'Are you sure to give up current editing?',
ENTER_SUBTASK_NAME: 'Please enter subtask name',
SLE_SUBTASK_TIME: 'Please select subtask start time',
NO_REMINDER: 'No Reminder',
TASK_CONTENT: 'Task Content',
ENTER_TASK_CONTENT: 'Please enter task content',
TASK_DESCRIPTION: 'Task Description',
ENTER_TASK_DESCRIPTION: 'Please enter task description',
WHICH_PROJECT: 'Which Project',
WHICH_LIST: 'Which List',
TASK_STATUS: 'Task Status',
SEL_TASK_STATUS: 'Please select task status',
TASK_START_DATE: 'Task start date',
TASK_END_DATE: 'Task end date',
ENTER_TASK_TIME: 'Please enter task time',
PL_ENTER_ALL_FIELDS: 'Please enter all fields',
PRIORIY: 'Prioriy',
TAG: 'Tag',
SEL_REMINDER: 'Please select reminder',
SEL_PERMISSION: 'Please select permission',
SUBTASK: 'Subtask',
SURE_ARCHIVE: 'Are you sure to archive this task?',
SEARCH_IN_ARCHIVED: 'You can search for the task in Archived section and permanently delete the task',
ARCHIVED_SUCCESS: 'Archived Successful',
EVENT_DETAIL: 'Event Detail',
TASK_DETAIL: 'Task Detail',
ADD_EVENT: 'Add Event',
EDIT_EVENT: 'Edit Event',
EDIT_TASK: 'Edit Task',
SURE_UNFOLLOW: 'Are you sure to unfollow?',
SEARCH_FOLLOWER: 'Search followers',
MY_FOLLOW: 'My Follow',
COMPANY_STRUCTURE: 'Company Structure',
FOLLOW_SUCCESS: 'Follow Successful',
FOLLOW: 'Follow',
FOLLOWED: 'Followed',
MAIN_TASK: 'Main Task',
NO_PERMISSION_TASK: 'You don\'t have permission to view this task',
NORMAL: 'Normal',
URGENT: 'Urgent',
URGENT_MORE: 'Urgent!!!',
};
import en_US from './en_US';
import zh_CN from './zh_CN';
// 语言包字段获取方法
export default function (key) {
const lang = (localStorage && localStorage.getItem('lang')) || 'zh_CN';
let wholeObj = {};
if (lang === 'zh_CN') {
wholeObj = zh_CN;
} else if (lang === 'en_US') {
wholeObj = en_US;
}
return wholeObj[key] || '';
}
// 审批模块
export default {
REVOKE: '撤销',
REJECT: '驳回',
AGREE: '同意',
REVOKE_INTERRUPT: '撤销将中断审批申请',
RE_SUBMIT: '重新提交',
PRINT: '打印',
APPLICANT: '申请人',
APPLICANT_NAME: '请输入申请人名称',
APPLICANT_DEPARTMENT: '申请人部门',
APPROVAL_GROUP: '审批分组',
APPROVAL_ITEM: '审批事项',
ENTER_APPROVAL_ITEM: '请输入审批事项',
PROCESSING_STATUS: '处理状态',
PROCESSING_DATE: '审批时间',
APPROVAL_START_DATE: '审批开始时间',
FINAL_APPROVAL_DATE: '审批结束时间',
APPROVAL_STATUS: '审批状态',
APPLICATION_DATE: '申请时间',
APPLICATION_START_DATE: '申请开始时间',
APPLICATION_END_DATE: '申请结束时间',
ENTER_REASON: '请输入理由',
AGREE_REASON: '同意理由',
REJECT_REASON: '驳回理由',
REASON_REJECTION: '请输入驳回理由',
NO_ID: 'ID不存在',
PROCESS_SUCCESS: '流程创建成功',
_STATUS: '未找到审批人',
UNDEFINED_TYPE: '类型传入未定义',
GO_BACK: '回退',
GO_BACK_TO_PERSON: '回退给',
TRANSFER: '转交',
GO_BACK_SELECT: '请选择回退节点',
GO_BACK_REASON: '请输入回退理由',
TRANSFER_TO: '请选择转交人',
TRANSFER_REASON: '请输入转交理由',
TRANSFER_TO_PERSON: '转交给',
TRANSRERRED_TO: '转交给',
APPROVAL_COMMENT: '审批意见',
ADD_USER: '添加用户',
REMINDED: '已催办',
SUBMITTED: '已提交',
URGE: '催办',
NO_REMIND: '未满6小时,不可催办',
SUBMITTER: '提交人/审批人',
OPERATING_STATUS: '操作状态',
OPERATING_TIME: '操作时间',
APPROVAL_RECORDS: '审批记录',
INFORM: '知会人',
APPROVAL_BY: '审批人',
FREE_WORKFLOW: '自由流程',
FIXED_WORKFLOW: '固定流程',
APPROVAL_WORKFLOW: '分条件审批',
NO_DUPLICATES_APPROVER: '不启用自动去重',
NO_SAME_APPROVER: '同一个审批人仅在连续出现时,自动去重',
KEEP_LAST_APPROVER: '同一个审批人再流程中出现多次,仅保留最后一个',
UNABLE_START_APPROVAL: '无法启动审批',
CC_ALL_CONFIRMED: '仅全部同意时抄送',
CC_WHEN_INITIATED: '仅发起时抄送',
CC_ALL_TIME: '发起时和全部同意时均发送',
AUTO_SKIO: '自动跳过',
REMOVE_DUP_APPROVER: '审批人去重',
NO_APPROVER_STATUS: '审批人空缺时',
CC_STYLE: '知会人抄送方式',
APPROVER_INITIATOR: '审批人与发起人重复时',
PENDING: '待审批',
APPROVED: '审批通过',
APPROVAL_NOT_PASS: '审批未通过',
APPROVAL_REVOCATION: '审批撤销',
APPROVAL_RECALL: '审批回退',
REVOKED: '已撤销',
REJECTED: '已驳回',
AGREED: '已同意',
RECALLED: '已回退',
PROGRESS_STATUS: '处理状态',
PROGRESS_PENDING: '待处理',
PROGRESS_SOLVED: '已处理',
MORE: '更多',
};
// 公共模块
export default {
CONFIRM: '确定',
CANCEL: '取消',
EDIT: '编辑',
ABOUT: '概况',
APPLY_APPROVAL: '审批',
OPERATING: '操作',
VIEW: '查看',
PLEASE_ENTER: '请输入',
NO_DATA: '暂无数据',
PLEASE_SELECT: '请选择',
};
import common from './common';
import approval from './approval';
import message from './message';
import workbench from './workbench';
const wholeObj = Object.assign({}, common, approval, message, workbench);
export default wholeObj;
// 消息模块
export default {
TODAY: '今天',
YESTERDAY: '昨天',
BEFORE_YESTERDAY: '前天',
REPLY_SUCCESS: '回复成功',
DATA_EXCEPTION: '数据异常',
COMMENT: '评论',
UNREADABLE_MESSAGE: '不识别消息类型',
MESSAGE: '消息',
NO_MESSAGE: '暂无消息',
MARK_READ: '全部标为已读',
SEARCH_HERE: '请输入搜索内容',
MESSAGE_NUM: '条相关消息',
CC_MESSAGE: '知会消息',
APPROVAL_MESSAGE: '审批消息',
ALL_MESSAGE: '全部消息',
APPROVED_BY_ME: '我审批的',
I_STARTED: '我发起的',
NEW_COMMENT: '评论消息',
NEW_REPLY: '回复我的',
MY_COMMENT: '我评论的',
RELATED_TO_ME: '与我相关',
FINANCE_MESSAGE: '财务消息',
SYSTEM_MESSAGE: '系统消息',
};
// 工作台模块
export default {
ALL_DAY: '全天',
ADD_SCHEDULT: '新建日程',
ADD_TASK: '新建任务',
MONTH: '月',
WEEK: '周',
DAY: '日',
LIST: '列表',
SHOW_SCHEDULE: '显示日程列表',
NO_SCHEDULE: '暂无日程',
START_TIME: '开始时间',
END_TIME: '结束时间',
ABOUT: '内容',
PERSON_IN_CHARGE: '负责人',
ROOM: '会议室',
TOPICS: '会议内容',
OWNER: '创建人',
PARTICIPANT: '参与人',
FIND_SCHEDULE: '查找日程',
ADD_SUCCESS: '新增成功',
EDIT_SUCCESS: '编辑成功',
DELETE_SUCCESS: '删除成功',
CANCEL_SUCCESS: '取消成功',
SORTED_BY: '筛选条件',
SORT: '筛选',
KANBAN_VIEW: '看板视图',
CALENDER_VIEW: '日历视图',
DELETED_SURE: '删除该任务,该任务下的所有子任务也会被删除,是否确认删除?',
DELETED_REMOVE: '该任务将被彻底删除,确认删除?',
RESTORE: '恢复内容',
DELETE_PERMANATE: '彻底删除',
DELETE_PERMANATE_LIST: '彻底删除列表',
INCOMING_PARAMETERS: '请传参数',
RESOTRE_SUCCESS: '恢复成功',
TASK_ARCHIVED_SUCCESS: '已归档任务',
SETUP_SUCCESS: '设置成功',
INVITE_NEW_USER: '邀请新成员',
ADD_USER: '添加用户',
SEARCH: '搜索',
ARCHIVED: '已归档',
NO_PERMISSION_VIEW: '你暂无权限查看',
SEARCH_MEETING_ROOM: '查看会议室',
FOR_NOW: '当前',
GIVE_UP_EDITING: '是否放弃当前任务编辑信息?',
VIEW_PARENT_TASK: '查看父级',
HIDE_TASK: '隐私任务',
EVENT_CONTENT: '日程内容',
FILL_EVENT_CONTENT: '请填写日程内容',
NO_MORE_THAN: '最多输入x字',
DESCIRBE_EVENT: '日程描述',
PLEASE_DESCIRBE_EVENT: '请填写日程描述',
WHICH_CALENDAR: '所属日历',
TIME: '时间',
EVENT_START_TIME: '日程起始时间',
EVENT_END_TIME: '日程终止时间',
ENTER_EVENT_TIME: '请填写日程时间',
ENTER_ALL_FIELDS: '请选择完整的日程时间',
REMINDER: '提醒',
SELECT_REMINEDER: '请选择提醒',
PERMISSION: '权限',
SELECT_PERMISSION: '请选择权限',
UPLOAD_ATTACH: '上传附件',
ADD_ATTACH: '添加附件',
DESCRIPTION: '描述',
NONE: '无',
SUER_TO_DEL: '确认要删除该日程吗?',
ALL_COMPLETE: '完成该任务,该任务下的所有子任务也会变更为完成状态,是否确认完成?',
SUBTASK_DESCRIPTION: '子任务描述',
GIVER_UP_CUR_EDIT: '是否放弃当前任务编辑信息?',
ENTER_SUBTASK_NAME: '请输入子任务名称',
SLE_SUBTASK_TIME: '请选择子任务起始时间',
NO_REMINDER: '不提醒',
TASK_CONTENT: '任务内容',
ENTER_TASK_CONTENT: '请填写任务内容',
TASK_DESCRIPTION: '任务描述',
ENTER_TASK_DESCRIPTION: '请填写任务描述',
WHICH_PROJECT: '所属项目',
WHICH_LIST: '所属列表',
TASK_STATUS: '任务状态',
SEL_TASK_STATUS: '请选择任务状态',
TASK_START_DATE: '任务起始时间',
TASK_END_DATE: '任务终止时间',
ENTER_TASK_TIME: '请填写任务时间',
PL_ENTER_ALL_FIELDS: '请选择完整的任务时间',
PRIORIY: '优先级',
TAG: '标签',
SEL_REMINDER: '强选择提醒',
SEL_PERMISSION: '请选择权限',
SUBTASK: '子任务',
SURE_ARCHIVE: '确认将任务归档么?',
SEARCH_IN_ARCHIVED: '归档后可在 “更多/已归档” 查看,彻底删除在已归档里进行',
ARCHIVED_SUCCESS: '归档成功',
EVENT_DETAIL: '日程详情',
TASK_DETAIL: '任务详情',
ADD_EVENT: '新增日程',
EDIT_EVENT: '修改日程',
EDIT_TASK: '修改任务',
SURE_UNFOLLOW: '确定取消关注?',
SEARCH_FOLLOWER: '查找关注人',
MY_FOLLOW: '我的关注',
COMPANY_STRUCTURE: '企业组织',
FOLLOW_SUCCESS: '关注成功',
FOLLOW: '添加关注',
FOLLOWED: '已关注',
MAIN_TASK: '主任务',
NO_PERMISSION_TASK: '您暂无权限查看该任务',
NORMAL: '普通',
URGENT: '紧急',
URGENT_MORE: '非常紧急',
};
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