perf: 优化显示

This commit is contained in:
kuaifan 2024-10-23 11:02:43 +08:00
parent 8bb7b60055
commit f9ceb3e2d8
34 changed files with 190 additions and 205 deletions

View File

@ -224,9 +224,11 @@ export default {
this.$store.state.windowLandscape = windowOrientation === 'landscape'
this.$store.state.windowPortrait = windowOrientation === 'portrait'
this.$store.state.formLabelClassName = windowWidth > 576 ? '' : 'form-label-weight-bold'
this.$store.state.formLabelPosition = windowWidth > 576 ? 'right' : 'top'
this.$store.state.formLabelWidth = windowWidth > 576 ? 'auto' : ''
this.$store.state.formOptions = {
class: windowWidth > 576 ? '' : 'form-label-weight-bold',
labelPosition: windowWidth > 576 ? 'right' : 'top',
labelWidth: windowWidth > 576 ? 'auto' : '',
}
$A.eeuiAppSendMessage({
action: 'windowSize',

View File

@ -211,9 +211,7 @@
ref="addProject"
:model="addData"
:rules="addRule"
:class="formLabelClassName"
:labelPosition="formLabelPosition"
:labelWidth="formLabelWidth"
v-bind="formOptions"
@submit.native.prevent>
<FormItem prop="name" :label="$L('项目名称')">
<Input ref="projectName" type="text" v-model="addData.name"></Input>
@ -256,7 +254,7 @@
v-model="createGroupShow"
:title="$L('创建群组')"
:mask-closable="false">
<Form :model="createGroupData" :class="formLabelClassName" :labelPosition="formLabelPosition" :labelWidth="formLabelWidth" @submit.native.prevent>
<Form :model="createGroupData" v-bind="formOptions" @submit.native.prevent>
<FormItem prop="avatar" :label="$L('群头像')">
<ImgUpload v-model="createGroupData.avatar" :num="1" :width="512" :height="512" :whcut="1"/>
</FormItem>
@ -536,9 +534,7 @@ export default {
'okrWindow',
'formLabelPosition',
'formLabelWidth',
'formLabelClassName'
'formOptions'
]),
...mapGetters(['dashboardTask']),

View File

@ -188,7 +188,7 @@
<!--评论-->
<Modal v-model="commentShow" :title="$L('评论')" :mask-closable="false" class="page-approve-initiate">
<Form ref="initiateRef" :model="commentData" :rules="commentRule" :class="formLabelClassName" :labelPosition="formLabelPosition" :labelWidth="formLabelWidth" @submit.native.prevent>
<Form ref="initiateRef" :model="commentData" :rules="commentRule" v-bind="formOptions" @submit.native.prevent>
<FormItem prop="content" :label="$L('内容')">
<Input type="textarea" v-model="commentData.content"></Input>
</FormItem>
@ -255,7 +255,7 @@ export default {
},
},
computed: {
...mapState(['formLabelPosition', 'formLabelWidth', 'formLabelClassName']),
...mapState(['formOptions']),
isShowAgreeBtn() {
return (this.datas.candidate || '').split(',').indexOf(this.userId + '') != -1 && !this.datas.is_finished

View File

@ -172,7 +172,7 @@
<!--发起-->
<Modal v-model="addShow" :title="$L(addTitle)" :mask-closable="false" class="page-approve-initiate">
<Form ref="initiateRef" :model="addData" :rules="addRule" :class="formLabelClassName" :labelPosition="formLabelPosition" :labelWidth="formLabelWidth" @submit.native.prevent>
<Form ref="initiateRef" :model="addData" :rules="addRule" v-bind="formOptions" @submit.native.prevent>
<FormItem v-if="departmentList.length>1" prop="department_id" :label="$L('选择部门')">
<Select v-model="addData.department_id" :placeholder="$L('请选择部门')">
<Option v-for="(item, index) in departmentList" :value="item.id" :key="index">{{ item.name }}</Option>
@ -341,7 +341,7 @@ export default {
}
},
computed: {
...mapState(['wsMsg', 'userInfo', 'userIsAdmin', 'windowWidth', 'formLabelPosition', 'formLabelWidth', 'formLabelClassName']),
...mapState(['wsMsg', 'userInfo', 'userIsAdmin', 'windowWidth', 'formOptions']),
departmentList() {
let departmentNames = (this.userInfo.department_name || '').split(',');
return (this.userInfo.department || []).map((h, index) => {

View File

@ -3,7 +3,7 @@
v-model="show"
:title="$L('导出审批数据')"
:mask-closable="false">
<Form ref="exportTask" :model="formData" :class="formLabelClassName" :labelPosition="formLabelPosition" :labelWidth="formLabelWidth" @submit.native.prevent>
<Form ref="exportTask" :model="formData" v-bind="formOptions" @submit.native.prevent>
<FormItem :label="$L('审批类型')">
<Select v-model="formData.proc_def_name" @on-open-change="getProcName" :placeholder="$L('请选择类型')">
<Option v-for="(item, key) in procList" :value="item.name" :key="key" >{{ $L(item.name) }}</Option>
@ -86,7 +86,7 @@ export default {
},
computed: {
...mapState(['formLabelPosition', 'formLabelWidth', 'formLabelClassName']),
...mapState(['formOptions']),
},
methods: {

View File

@ -3,7 +3,7 @@
v-model="show"
:title="$L('导出签到数据')"
:mask-closable="false">
<Form ref="export" :model="formData" :class="formLabelClassName" :labelPosition="formLabelPosition" :labelWidth="formLabelWidth" @submit.native.prevent>
<Form ref="export" :model="formData" v-bind="formOptions" @submit.native.prevent>
<FormItem :label="$L('导出成员')">
<UserSelect v-model="formData.userid" :multiple-max="100" avatar-name show-disable :title="$L('请选择成员')"/>
<div class="form-tip">{{$L('每次最多选择导出100个成员')}}</div>
@ -93,7 +93,7 @@ export default {
},
computed: {
...mapState(['formLabelPosition', 'formLabelWidth', 'formLabelClassName']),
...mapState(['formOptions']),
},
methods: {

View File

@ -39,7 +39,7 @@
v-model="addShow"
:title="$L('添加群成员')"
:mask-closable="false">
<Form :model="addData" :class="formLabelClassName" :labelPosition="formLabelPosition" :labelWidth="formLabelWidth" @submit.native.prevent>
<Form :model="addData" v-bind="formOptions" @submit.native.prevent>
<FormItem prop="userids" :label="$L('新增成员')">
<UserSelect v-model="addData.userids" :disabledChoice="addData.disabledChoice" :multiple-max="100" show-bot :title="$L('选择成员')"/>
<div v-if="dialogData.group_type === 'department'" class="form-tip">{{$L('此操作仅加入群成员并不会加入部门')}}</div>
@ -86,7 +86,7 @@ export default {
},
computed: {
...mapState(['cacheDialogs', 'cacheUserBasic', 'userIsAdmin', 'formLabelPosition', 'formLabelWidth', 'formLabelClassName']),
...mapState(['cacheDialogs', 'cacheUserBasic', 'userIsAdmin', 'formOptions']),
dialogData() {
return this.cacheDialogs.find(({id}) => id == this.dialogId) || {};

View File

@ -401,7 +401,7 @@
v-model="modifyShow"
:title="$L('修改资料')"
:mask-closable="false">
<Form :model="modifyData" :class="formLabelClassName" :labelPosition="formLabelPosition" :labelWidth="formLabelWidth" @submit.native.prevent>
<Form :model="modifyData" v-bind="formOptions" @submit.native.prevent>
<Alert v-if="modifyData.system_name" type="error" style="margin-bottom:18px">{{$L(`正在修改系统机器人${modifyData.system_name}`)}}</Alert>
<FormItem prop="avatar" :label="$L('头像')">
<ImgUpload v-model="modifyData.avatar" :num="1" :width="512" :height="512" :whcut="1"/>
@ -515,7 +515,7 @@
v-model="todoSettingShow"
:title="$L('设置待办')"
:mask-closable="false">
<Form ref="todoSettingForm" :model="todoSettingData" :class="formLabelClassName" :labelPosition="formLabelPosition" :labelWidth="formLabelWidth" @submit.native.prevent>
<Form ref="todoSettingForm" :model="todoSettingData" v-bind="formOptions" @submit.native.prevent>
<FormItem prop="type" :label="$L('当前会话')">
<RadioGroup v-model="todoSettingData.type" @on-change="onTypeChange">
<Radio label="all">{{$L('所有成员')}}</Radio>
@ -573,7 +573,7 @@
v-model="groupTransferShow"
:title="$L('转让群主身份')"
:mask-closable="false">
<Form :model="groupTransferData" :class="formLabelClassName" :labelPosition="formLabelPosition" :labelWidth="formLabelWidth" @submit.native.prevent>
<Form :model="groupTransferData" v-bind="formOptions" @submit.native.prevent>
<FormItem prop="userid" :label="$L('新的群主')">
<UserSelect v-model="groupTransferData.userid" :disabledChoice="groupTransferData.disabledChoice" :multiple-max="1" :title="$L('选择新的群主')"/>
</FormItem>
@ -886,9 +886,7 @@ export default {
'keyboardType',
'keyboardHeight',
'safeAreaBottom',
'formLabelPosition',
'formLabelWidth',
'formLabelClassName'
'formOptions'
]),
...mapGetters(['isLoad']),

View File

@ -6,7 +6,7 @@
:title="$L(addData.type === 'join' ? '加入会议' : '新会议')"
:mask-closable="false"
:closable="!addData.sharekey">
<Form ref="addForm" :model="addData" :rules="addRule" :class="formLabelClassName" :labelPosition="formLabelPosition" :labelWidth="formLabelWidth" @submit.native.prevent>
<Form ref="addForm" :model="addData" :rules="addRule" v-bind="formOptions" @submit.native.prevent>
<template v-if="addData.type === 'join'">
<!-- 加入会议 -->
<FormItem v-if="addData.name" prop="userids" :label="$L('会议主题')">
@ -108,7 +108,7 @@
v-model="invitationShow"
:title="$L('邀请加入')"
:mask-closable="false">
<Form ref="invitationForm" :model="invitationData" :class="formLabelClassName" :labelPosition="formLabelPosition" :labelWidth="formLabelWidth" @submit.native.prevent>
<Form ref="invitationForm" :model="invitationData" v-bind="formOptions" @submit.native.prevent>
<FormItem prop="userids" :label="$L('邀请成员')">
<UserSelect v-model="invitationData.userids" :multiple-max="20" :title="$L('选择邀请成员')"/>
</FormItem>
@ -179,7 +179,7 @@ export default {
},
computed: {
...mapState(['meetingWindow', 'formLabelPosition', 'formLabelWidth', 'formLabelClassName']),
...mapState(['meetingWindow', 'formOptions']),
},
mounted() {

View File

@ -331,7 +331,7 @@
v-model="settingShow"
:title="$L('项目设置')"
:mask-closable="false">
<Form :model="settingData" :class="formLabelClassName" :labelPosition="formLabelPosition" :labelWidth="formLabelWidth" @submit.native.prevent>
<Form :model="settingData" v-bind="formOptions" @submit.native.prevent>
<FormItem prop="name" :label="$L('项目名称')">
<Input ref="projectName" type="text" v-model="settingData.name" :maxlength="32" :placeholder="$L('必填')"></Input>
</FormItem>
@ -349,7 +349,7 @@
<DrawerOverlay
v-model="permissionShow"
placement="right"
:size="650">
:size="800">
<ProjectPermission ref="permission" v-if="permissionShow" @close="()=>{ this.permissionShow = false }" :project-id="projectId"/>
</DrawerOverlay>
@ -358,7 +358,7 @@
v-model="userShow"
:title="$L('成员管理')"
:mask-closable="false">
<Form :model="userData" :class="formLabelClassName" :labelPosition="formLabelPosition" :labelWidth="formLabelWidth" @submit.native.prevent>
<Form :model="userData" v-bind="formOptions" @submit.native.prevent>
<FormItem prop="userids" :label="$L('项目成员')">
<UserSelect v-model="userData.userids" :uncancelable="userData.uncancelable" :multiple-max="100" :title="$L('选择项目成员')"/>
</FormItem>
@ -395,7 +395,7 @@
v-model="inviteShow"
:title="$L('邀请链接')"
:mask-closable="false">
<Form :model="inviteData" :class="formLabelClassName" :labelPosition="formLabelPosition" :labelWidth="formLabelWidth" @submit.native.prevent>
<Form :model="inviteData" v-bind="formOptions" @submit.native.prevent>
<FormItem :label="$L('链接地址')">
<Input ref="inviteInput" v-model="inviteData.url" type="textarea" :rows="3" @on-focus="inviteFocus" readonly/>
<div class="form-tip">
@ -426,7 +426,7 @@
v-model="transferShow"
:title="$L('移交项目')"
:mask-closable="false">
<Form :model="transferData" :class="formLabelClassName" :labelPosition="formLabelPosition" :labelWidth="formLabelWidth" @submit.native.prevent>
<Form :model="transferData" v-bind="formOptions" @submit.native.prevent>
<FormItem prop="owner_userid" :label="$L('新项目负责人')">
<UserSelect v-model="transferData.owner_userid" :multiple-max="1" :title="$L('选择项目负责人')"/>
</FormItem>
@ -576,9 +576,7 @@ export default {
'cacheUserBasic',
'formLabelPosition',
'formLabelWidth',
'formLabelClassName',
'formOptions',
]),
...mapGetters(['projectData', 'transforTasks']),

View File

@ -8,89 +8,98 @@
</div>
</div>
<div class="permission-content">
<Form :model="formData" label-width="90" label-position="right">
<Form :model="formData" v-bind="formOptions" @submit.native.prevent>
<!-- 项目权限 -->
<div class="project-permission-title" >{{$L('任务列权限')}}:</div>
<FormItem :label="$L('添加列')">
<CheckboxGroup v-model="formData.task_list_add">
<Checkbox :label="1" disabled>{{ $L('项目负责人') }}</Checkbox>
<Checkbox :label="2">{{ $L('项目成员') }}</Checkbox>
</CheckboxGroup>
</FormItem>
<FormItem :label="$L('修改列')">
<CheckboxGroup v-model="formData.task_list_update">
<Checkbox :label="1" disabled>{{ $L('项目负责人') }}</Checkbox>
<Checkbox :label="2">{{ $L('项目成员') }}</Checkbox>
</CheckboxGroup>
</FormItem>
<FormItem :label="$L('删除列')">
<CheckboxGroup v-model="formData.task_list_remove">
<Checkbox :label="1" disabled>{{ $L('项目负责人') }}</Checkbox>
<Checkbox :label="2">{{ $L('项目成员') }}</Checkbox>
</CheckboxGroup>
</FormItem>
<FormItem :label="$L('排序列')">
<CheckboxGroup v-model="formData.task_list_sort">
<Checkbox :label="1" disabled>{{ $L('项目负责人') }}</Checkbox>
<Checkbox :label="2">{{ $L('项目成员') }}</Checkbox>
</CheckboxGroup>
</FormItem>
<div class="block-setting-box">
<h3>{{ $L('任务列权限') }}</h3>
<div class="form-box">
<FormItem :label="$L('添加列')">
<CheckboxGroup v-model="formData.task_list_add">
<Checkbox :label="1" disabled>{{ $L('项目负责人') }}</Checkbox>
<Checkbox :label="2">{{ $L('项目成员') }}</Checkbox>
</CheckboxGroup>
</FormItem>
<FormItem :label="$L('修改列')">
<CheckboxGroup v-model="formData.task_list_update">
<Checkbox :label="1" disabled>{{ $L('项目负责人') }}</Checkbox>
<Checkbox :label="2">{{ $L('项目成员') }}</Checkbox>
</CheckboxGroup>
</FormItem>
<FormItem :label="$L('删除列')">
<CheckboxGroup v-model="formData.task_list_remove">
<Checkbox :label="1" disabled>{{ $L('项目负责人') }}</Checkbox>
<Checkbox :label="2">{{ $L('项目成员') }}</Checkbox>
</CheckboxGroup>
</FormItem>
<FormItem :label="$L('排序列')">
<CheckboxGroup v-model="formData.task_list_sort">
<Checkbox :label="1" disabled>{{ $L('项目负责人') }}</Checkbox>
<Checkbox :label="2">{{ $L('项目成员') }}</Checkbox>
</CheckboxGroup>
</FormItem>
</div>
</div>
<!-- 任务权限 -->
<div class="project-permission-title" >{{$L('任务权限')}}:</div>
<FormItem :label="$L('添加任务')">
<CheckboxGroup v-model="formData.task_add">
<Checkbox :label="1" disabled>{{ $L('项目负责人') }}</Checkbox>
<Checkbox :label="2">{{ $L('项目成员') }}</Checkbox>
</CheckboxGroup>
</FormItem>
<FormItem :label="$L('修改任务')">
<CheckboxGroup v-model="formData.task_update">
<Checkbox :label="1" disabled>{{ $L('项目负责人') }}</Checkbox>
<Checkbox :label="3">{{ $L('任务负责人') }}</Checkbox>
<Checkbox :label="4">{{ $L('任务协助人') }}</Checkbox>
<Checkbox :label="2">{{ $L('项目成员') }}</Checkbox>
</CheckboxGroup>
</FormItem>
<FormItem :label="$L('修改时间')">
<CheckboxGroup v-model="formData.task_time">
<Checkbox :label="1" disabled>{{ $L('项目负责人') }}</Checkbox>
<Checkbox :label="3">{{ $L('任务负责人') }}</Checkbox>
<Checkbox :label="4">{{ $L('任务协助人') }}</Checkbox>
<Checkbox :label="2">{{ $L('项目成员') }}</Checkbox>
</CheckboxGroup>
</FormItem>
<FormItem :label="$L('修改状态')">
<CheckboxGroup v-model="formData.task_status">
<Checkbox :label="1" disabled>{{ $L('项目负责人') }}</Checkbox>
<Checkbox :label="3">{{ $L('任务负责人') }}</Checkbox>
<Checkbox :label="4">{{ $L('任务协助人') }}</Checkbox>
<Checkbox :label="2">{{ $L('项目成员') }}</Checkbox>
</CheckboxGroup>
</FormItem>
<FormItem :label="$L('归档任务')">
<CheckboxGroup v-model="formData.task_archived">
<Checkbox :label="1" disabled>{{ $L('项目负责人') }}</Checkbox>
<Checkbox :label="3">{{ $L('任务负责人') }}</Checkbox>
<Checkbox :label="4">{{ $L('任务协助人') }}</Checkbox>
<Checkbox :label="2">{{ $L('项目成员') }}</Checkbox>
</CheckboxGroup>
</FormItem>
<FormItem :label="$L('删除任务')">
<CheckboxGroup v-model="formData.task_remove">
<Checkbox :label="1" disabled>{{ $L('项目负责人') }}</Checkbox>
<Checkbox :label="3">{{ $L('任务负责人') }}</Checkbox>
<Checkbox :label="4">{{ $L('任务协助人') }}</Checkbox>
<Checkbox :label="2">{{ $L('项目成员') }}</Checkbox>
</CheckboxGroup>
</FormItem>
<FormItem :label="$L('移动任务')">
<CheckboxGroup v-model="formData.task_move">
<Checkbox :label="1" disabled>{{ $L('项目负责人') }}</Checkbox>
<Checkbox :label="3">{{ $L('任务负责人') }}</Checkbox>
<Checkbox :label="4">{{ $L('任务协助人') }}</Checkbox>
<Checkbox :label="2">{{ $L('项目成员') }}</Checkbox>
</CheckboxGroup>
</FormItem>
<div class="block-setting-box">
<h3>{{ $L('任务权限') }}</h3>
<div class="form-box">
<FormItem :label="$L('添加任务')">
<CheckboxGroup v-model="formData.task_add">
<Checkbox :label="1" disabled>{{ $L('项目负责人') }}</Checkbox>
<Checkbox :label="2">{{ $L('项目成员') }}</Checkbox>
</CheckboxGroup>
</FormItem>
<FormItem :label="$L('修改任务')">
<CheckboxGroup v-model="formData.task_update">
<Checkbox :label="1" disabled>{{ $L('项目负责人') }}</Checkbox>
<Checkbox :label="3">{{ $L('任务负责人') }}</Checkbox>
<Checkbox :label="4">{{ $L('任务协助人') }}</Checkbox>
<Checkbox :label="2">{{ $L('项目成员') }}</Checkbox>
</CheckboxGroup>
</FormItem>
<FormItem :label="$L('修改时间')">
<CheckboxGroup v-model="formData.task_time">
<Checkbox :label="1" disabled>{{ $L('项目负责人') }}</Checkbox>
<Checkbox :label="3">{{ $L('任务负责人') }}</Checkbox>
<Checkbox :label="4">{{ $L('任务协助人') }}</Checkbox>
<Checkbox :label="2">{{ $L('项目成员') }}</Checkbox>
</CheckboxGroup>
</FormItem>
<FormItem :label="$L('修改状态')">
<CheckboxGroup v-model="formData.task_status">
<Checkbox :label="1" disabled>{{ $L('项目负责人') }}</Checkbox>
<Checkbox :label="3">{{ $L('任务负责人') }}</Checkbox>
<Checkbox :label="4">{{ $L('任务协助人') }}</Checkbox>
<Checkbox :label="2">{{ $L('项目成员') }}</Checkbox>
</CheckboxGroup>
</FormItem>
<FormItem :label="$L('归档任务')">
<CheckboxGroup v-model="formData.task_archived">
<Checkbox :label="1" disabled>{{ $L('项目负责人') }}</Checkbox>
<Checkbox :label="3">{{ $L('任务负责人') }}</Checkbox>
<Checkbox :label="4">{{ $L('任务协助人') }}</Checkbox>
<Checkbox :label="2">{{ $L('项目成员') }}</Checkbox>
</CheckboxGroup>
</FormItem>
<FormItem :label="$L('删除任务')">
<CheckboxGroup v-model="formData.task_remove">
<Checkbox :label="1" disabled>{{ $L('项目负责人') }}</Checkbox>
<Checkbox :label="3">{{ $L('任务负责人') }}</Checkbox>
<Checkbox :label="4">{{ $L('任务协助人') }}</Checkbox>
<Checkbox :label="2">{{ $L('项目成员') }}</Checkbox>
</CheckboxGroup>
</FormItem>
<FormItem :label="$L('移动任务')">
<CheckboxGroup v-model="formData.task_move">
<Checkbox :label="1" disabled>{{ $L('项目负责人') }}</Checkbox>
<Checkbox :label="3">{{ $L('任务负责人') }}</Checkbox>
<Checkbox :label="4">{{ $L('任务协助人') }}</Checkbox>
<Checkbox :label="2">{{ $L('项目成员') }}</Checkbox>
</CheckboxGroup>
</FormItem>
</div>
</div>
</Form>
</div>
<div slot="footer" class="project-permission-footer">
@ -102,6 +111,8 @@
<script>
import {mapState} from "vuex";
export default {
name: "ProjectPermission",
props: {
@ -126,11 +137,6 @@ export default {
}
},
mounted() {
},
watch: {
projectId: {
handler(val) {
@ -142,6 +148,10 @@ export default {
},
},
computed: {
...mapState(['formOptions'])
},
methods: {
getData() {
this.loadIng++;

View File

@ -155,7 +155,7 @@
}"
:title="`${$L('状态设置')} (${settingData.name})`"
:mask-closable="false">
<Form :model="settingData" :class="formLabelClassName" :labelPosition="formLabelPosition" :labelWidth="formLabelWidth" @submit.native.prevent>
<Form :model="settingData" v-bind="formOptions" @submit.native.prevent>
<div class="workflow-setting-box">
<h3>{{ $L('状态负责人') }}</h3>
<div class="form-box">
@ -233,7 +233,7 @@ export default {
},
computed: {
...mapState(['cacheColumns', 'formLabelPosition', 'formLabelWidth', 'formLabelClassName']),
...mapState(['cacheColumns', 'formOptions']),
columnList({projectId, cacheColumns}) {
return cacheColumns.filter(({project_id}) => {

View File

@ -4,7 +4,7 @@
{{ data.title }}
<Icon v-if="loadIng > 0" type="ios-loading" class="icon-loading"></Icon>
</div>
<div v-if="formLabelWidth === 'auto'" class="report-detail-context">
<div v-if="formOptions.labelWidth === 'auto'" class="report-detail-context">
<Form class="report-form auto-form" label-width="auto" inline>
<FormItem :label="$L('汇报人')">
<UserAvatar :userid="data.userid" :size="28"/>
@ -24,8 +24,8 @@
</Form>
</div>
<div v-else class="report-detail-context">
<Form class="report-form" :class="formLabelClassName" :labelPosition="formLabelPosition" :labelWidth="formLabelWidth">
<template v-if="formLabelWidth !== 'auto'">
<Form class="report-form" v-bind="formOptions">
<template v-if="formOptions.labelWidth !== 'auto'">
<FormItem :label="$L('汇报人')">
<UserAvatar :userid="data.userid" :size="28"/>
</FormItem>
@ -61,7 +61,7 @@ export default {
}
},
computed: {
...mapState(['formLabelPosition', 'formLabelWidth', 'formLabelClassName']),
...mapState(['formOptions']),
},
watch: {
'data.id': {

View File

@ -1,5 +1,5 @@
<template>
<Form class="report-edit" :class="formLabelClassName" :labelPosition="formLabelPosition" :labelWidth="formLabelWidth" @submit.native.prevent>
<Form class="report-edit" v-bind="formOptions" @submit.native.prevent>
<FormItem :label="$L('汇报类型')">
<RadioGroup
type="button"
@ -97,7 +97,7 @@ export default {
},
},
computed: {
...mapState(['formLabelPosition', 'formLabelWidth', 'formLabelClassName']),
...mapState(['formOptions']),
},
methods: {
handleSubmit() {

View File

@ -62,7 +62,7 @@
</div>
</div>
<Form v-if="advanced" class="task-add-advanced" :class="formLabelClassName" :labelPosition="formLabelPosition" :labelWidth="formLabelWidth" @submit.native.prevent>
<Form v-if="advanced" class="task-add-advanced" v-bind="formOptions" @submit.native.prevent>
<FormItem :label="$L('计划时间')">
<DatePicker
v-model="addData.times"
@ -285,7 +285,7 @@ export default {
},
computed: {
...mapState(['cacheProjects', 'projectId', 'cacheColumns', 'taskPriority', 'formLabelPosition', 'formLabelWidth', 'formLabelClassName']),
...mapState(['cacheProjects', 'projectId', 'cacheColumns', 'taskPriority', 'formOptions']),
taskDays() {
const {times} = this.addData;

View File

@ -485,9 +485,7 @@
ref="formDelayTaskRef"
:model="delayTaskForm"
:rules="delayTaskRule"
:class="formLabelClassName"
:labelPosition="formLabelPosition.replace('right', 'left')"
:labelWidth="formLabelWidth"
v-bind="formOptions"
@submit.native.prevent>
<FormItem :label="$L('延期时长')" prop="time">
<Input type="number" v-model="delayTaskForm.time" :placeholder="$L('请输入时长')">
@ -516,7 +514,7 @@
:styles="{
width: '90%',
maxWidth: '700px'
}">
}">v-bind="formOptions"
<TaskContentHistory v-if="historyShow" :task-id="taskDetail.id" :task-name="taskDetail.name"/>
<div slot="footer">
<Button @click="historyShow=false">{{$L('关闭')}}</Button>
@ -699,9 +697,7 @@ export default {
'dialogId',
'formLabelPosition',
'formLabelWidth',
'formLabelClassName'
'formOptions'
]),
projectName() {

View File

@ -3,7 +3,7 @@
v-model="show"
:title="$L('导出任务统计')"
:mask-closable="false">
<Form ref="exportTask" :model="formData" :class="formLabelClassName" :labelPosition="formLabelPosition" :labelWidth="formLabelWidth" @submit.native.prevent>
<Form ref="exportTask" :model="formData" v-bind="formOptions" @submit.native.prevent>
<FormItem :label="$L('导出成员')">
<UserSelect v-model="formData.userid" :multiple-max="100" avatar-name show-disable :title="$L('请选择成员')"/>
<div class="form-tip">{{$L('每次最多选择导出100个成员')}}</div>
@ -85,7 +85,7 @@ export default {
},
computed: {
...mapState(['formLabelPosition', 'formLabelWidth', 'formLabelClassName']),
...mapState(['formOptions']),
},
methods: {

View File

@ -174,7 +174,7 @@
v-model="departmentShow"
:title="$L(departmentData.id > 0 ? '修改部门' : '新建部门')"
:mask-closable="false">
<Form ref="addProject" :model="departmentData" :class="formLabelClassName" :labelPosition="formLabelPosition" :labelWidth="formLabelWidth" @submit.native.prevent>
<Form ref="addProject" :model="departmentData" v-bind="formOptions" @submit.native.prevent>
<FormItem prop="name" :label="$L('部门名称')">
<Input type="text" v-model="departmentData.name" :placeholder="$L('请输入部门名称')"></Input>
</FormItem>
@ -224,7 +224,7 @@
<Modal
v-model="checkinMacEditShow"
:title="$L('修改签到MAC地址')">
<Form :model="checkinMacEditData" :class="formLabelClassName" :labelPosition="formLabelPosition" :labelWidth="formLabelWidth" @submit.native.prevent>
<Form :model="checkinMacEditData" v-bind="formOptions" @submit.native.prevent>
<Alert type="error" style="margin-bottom:18px">{{$L(`正在进行帐号【ID:${checkinMacEditData.userid}, ${checkinMacEditData.nickname}】MAC地址修改。`)}}</Alert>
<Row class="team-department-checkin-item">
<Col span="12">{{$L('设备MAC地址')}}</Col>
@ -256,7 +256,7 @@
<Modal
v-model="checkinFaceEditShow"
:title="$L('修改签到人脸图片')">
<Form :model="checkinMacEditData" :class="formLabelClassName" :labelPosition="formLabelPosition" :labelWidth="formLabelWidth" @submit.native.prevent>
<Form :model="checkinMacEditData" v-bind="formOptions" @submit.native.prevent>
<Alert type="error" style="margin-bottom:18px">{{$L(`正在进行帐号【ID:${checkinFaceEditData.userid}, ${checkinFaceEditData.nickname}】人脸图片修改。`)}}</Alert>
<Row class="team-department-checkin-item">
<Col span="24">{{$L('人脸图片')}}</Col>
@ -278,7 +278,7 @@
<Modal
v-model="departmentEditShow"
:title="$L('修改部门')">
<Form :model="departmentEditData" :class="formLabelClassName" :labelPosition="formLabelPosition" :labelWidth="formLabelWidth" @submit.native.prevent>
<Form :model="departmentEditData" v-bind="formOptions" @submit.native.prevent>
<Alert type="error" style="margin-bottom:18px">{{$L(`正在进行帐号【ID:${departmentEditData.userid}, ${departmentEditData.nickname}】部门修改。`)}}</Alert>
<FormItem :label="$L('修改部门')">
<Select v-model="departmentEditData.department" multiple :multiple-max="10" :placeholder="$L('留空为默认部门')">
@ -296,7 +296,7 @@
<Modal
v-model="disableShow"
:title="$L('操作离职')">
<Form :model="disableData" :class="formLabelClassName" :labelPosition="formLabelPosition" :labelWidth="formLabelWidth" @submit.native.prevent>
<Form :model="disableData" v-bind="formOptions" @submit.native.prevent>
<Alert type="error" style="margin-bottom:18px">{{$L(`正在进行帐号【ID:${disableData.userid}, ${disableData.nickname}】离职操作。`)}}</Alert>
<FormItem :label="$L('离职时间')">
<DatePicker
@ -902,7 +902,7 @@ export default {
}
},
computed: {
...mapState(['formLabelPosition', 'formLabelWidth', 'formLabelClassName']),
...mapState(['formOptions']),
departmentParentDisabled() {
return !!(this.departmentData.id > 0 && this.departmentList.find(({parent_id}) => parent_id == this.departmentData.id));

View File

@ -4,9 +4,7 @@
ref="formData"
:model="formData"
:rules="ruleData"
:class="formLabelClassName"
:labelPosition="formLabelPosition"
:labelWidth="formLabelWidth"
v-bind="formOptions"
@submit.native.prevent>
<div class="block-setting-box" v-if="type=='all' || type=='ChatGPT'">
<h3>ChatGPT</h3>
@ -149,7 +147,7 @@ export default {
},
computed: {
...mapState(['formLabelPosition', 'formLabelWidth', 'formLabelClassName']),
...mapState(['formOptions']),
},
methods: {

View File

@ -4,9 +4,7 @@
ref="formData"
:model="formData"
:rules="ruleData"
:class="formLabelClassName"
:labelPosition="formLabelPosition"
:labelWidth="formLabelWidth"
v-bind="formOptions"
@submit.native.prevent>
<div class="block-setting-box">
<h3>{{ $L('友盟推送') }}</h3>
@ -67,7 +65,7 @@ export default {
},
computed: {
...mapState(['formLabelPosition', 'formLabelWidth', 'formLabelClassName']),
...mapState(['formOptions']),
},
methods: {

View File

@ -4,9 +4,7 @@
ref="formData"
:model="formData"
:rules="ruleData"
:class="formLabelClassName"
:labelPosition="formLabelPosition"
:labelWidth="formLabelWidth"
v-bind="formOptions"
@submit.native.prevent>
<div class="block-setting-box">
<h3>{{ $L('签到设置') }}</h3>
@ -151,7 +149,7 @@ export default {
},
computed: {
...mapState(['formLabelPosition', 'formLabelWidth', 'formLabelClassName']),
...mapState(['formOptions']),
},
methods: {

View File

@ -4,9 +4,7 @@
ref="formData"
:model="formData"
:rules="ruleData"
:class="formLabelClassName"
:labelPosition="formLabelPosition"
:labelWidth="formLabelWidth"
v-bind="formOptions"
@submit.native.prevent>
<div class="block-setting-box">
<h3>{{ $L('邮箱服务器设置') }}</h3>
@ -116,7 +114,7 @@ export default {
},
computed: {
...mapState(['formLabelPosition', 'formLabelWidth', 'formLabelClassName']),
...mapState(['formOptions']),
},
methods: {

View File

@ -4,9 +4,7 @@
ref="formData"
:model="formData"
:rules="ruleData"
:class="formLabelClassName"
:labelPosition="formLabelPosition"
:labelWidth="formLabelWidth"
v-bind="formOptions"
@submit.native.prevent>
<div class="block-setting-box">
<h3>AgoraIO 声网</h3>
@ -78,7 +76,7 @@ export default {
},
computed: {
...mapState(['formLabelPosition', 'formLabelWidth', 'formLabelClassName']),
...mapState(['formOptions']),
},
methods: {

View File

@ -3,9 +3,7 @@
<Form
ref="formDatum"
:model="formDatum"
:class="formLabelClassName"
:labelPosition="formLabelPosition"
:labelWidth="formLabelWidth"
v-bind="formOptions"
@submit.native.prevent>
<div class="block-setting-box">
<h3>{{ $L('帐号相关') }}</h3>
@ -269,7 +267,7 @@ export default {
},
computed: {
...mapState(['formLabelPosition', 'formLabelWidth', 'formLabelClassName']),
...mapState(['formOptions']),
},
methods: {

View File

@ -4,9 +4,7 @@
ref="formData"
:model="formData"
:rules="ruleData"
:class="formLabelClassName"
:labelPosition="formLabelPosition"
:labelWidth="formLabelWidth"
v-bind="formOptions"
@submit.native.prevent>
<div class="block-setting-box">
<h3>LDAP</h3>
@ -78,7 +76,7 @@ export default {
},
computed: {
...mapState(['formLabelPosition', 'formLabelWidth', 'formLabelClassName']),
...mapState(['formOptions']),
},
methods: {

View File

@ -1,7 +1,7 @@
<template>
<div class="setting-item submit">
<Loading v-if="configLoad > 0"/>
<Form v-else ref="formDatum" :model="formDatum" :rules="ruleDatum" :class="formLabelClassName" :labelPosition="formLabelPosition" :labelWidth="formLabelWidth" @submit.native.prevent>
<Form v-else ref="formDatum" :model="formDatum" :rules="ruleDatum" v-bind="formOptions" @submit.native.prevent>
<FormItem :label="$L('帐号')" prop="email">
<Input v-if="isRegVerify == 1" v-model="formDatum.email"
:class="count > 0 ? 'setting-send-input':'setting-input'" search @on-search="sendEmailCode"
@ -116,7 +116,7 @@ export default {
},
computed: {
...mapState(['userInfo', 'formLabelPosition', 'formLabelWidth', 'formLabelClassName']),
...mapState(['userInfo', 'formOptions']),
appTitle() {
return window.systemInfo.title || "DooTask";

View File

@ -1,7 +1,7 @@
<template>
<div class="setting-item submit">
<Loading v-if="configLoad > 0"/>
<Form v-else ref="formDatum" :model="formDatum" :rules="ruleDatum" :class="formLabelClassName" :labelPosition="formLabelPosition" :labelWidth="formLabelWidth" @submit.native.prevent>
<Form v-else ref="formDatum" :model="formDatum" :rules="ruleDatum" v-bind="formOptions" @submit.native.prevent>
<Alert v-if="isLdap" type="warning">{{$L('LDAP 用户禁止修改邮箱地址')}}</Alert>
<FormItem :label="$L('新邮箱地址')" prop="newEmail">
<Input v-if="isRegVerify == 1" v-model="formDatum.newEmail"
@ -66,7 +66,7 @@ export default {
},
computed: {
...mapState(['formLabelPosition', 'formLabelWidth', 'formLabelClassName']),
...mapState(['formOptions']),
isLdap() {
return this.$store.state.userInfo.identity.includes("ldap")

View File

@ -1,6 +1,6 @@
<template>
<div class="setting-item submit">
<Form ref="formData" :model="formData" :rules="ruleData" :class="formLabelClassName" :labelPosition="formLabelPosition" :labelWidth="formLabelWidth" @submit.native.prevent>
<Form ref="formData" :model="formData" :rules="ruleData" v-bind="formOptions" @submit.native.prevent>
<FormItem :label="$L('选择语言')" prop="language">
<Select v-model="formData.language" :placeholder="$L('选项语言')">
<Option v-for="(item, index) in languageList" :value="index" :key="index">{{ item }}</Option>
@ -38,7 +38,7 @@ export default {
},
computed: {
...mapState(['formLabelPosition', 'formLabelWidth', 'formLabelClassName']),
...mapState(['formOptions']),
},
methods: {

View File

@ -1,6 +1,6 @@
<template>
<div class="setting-item submit">
<Form ref="formData" :model="formData" :class="formLabelClassName" :labelPosition="formLabelPosition" :labelWidth="formLabelWidth" @submit.native.prevent>
<Form ref="formData" :model="formData" v-bind="formOptions" @submit.native.prevent>
<FormItem label="License" prop="license">
<Input v-model="formData.license" type="textarea" :autosize="{minRows: 2,maxRows: 5}" :placeholder="$L('请输入License...')" />
</FormItem>
@ -136,7 +136,7 @@ export default {
this.systemSetting();
},
computed: {
...mapState(['userInfo', 'formLabelPosition', 'formLabelWidth', 'formLabelClassName']),
...mapState(['userInfo', 'formOptions']),
},
methods: {
submitForm() {

View File

@ -1,6 +1,6 @@
<template>
<div class="setting-item submit">
<Form ref="formDatum" :model="formDatum" :rules="ruleDatum" :class="formLabelClassName" :labelPosition="formLabelPosition" :labelWidth="formLabelWidth" @submit.native.prevent>
<Form ref="formDatum" :model="formDatum" :rules="ruleDatum" v-bind="formOptions" @submit.native.prevent>
<Alert v-if="userInfo.changepass" type="warning" showIcon style="margin-bottom:32px">{{$L('请先修改登录密码')}}</Alert>
<FormItem :label="$L('旧密码')" prop="oldpass">
<Input v-model="formDatum.oldpass" type="password"></Input>
@ -74,7 +74,7 @@ export default {
}
},
computed: {
...mapState(['userInfo', 'formLabelPosition', 'formLabelWidth', 'formLabelClassName']),
...mapState(['userInfo', 'formOptions']),
},
methods: {
submitForm() {

View File

@ -4,9 +4,7 @@
ref="formData"
:model="formData"
:rules="ruleData"
:class="formLabelClassName"
:labelPosition="formLabelPosition"
:labelWidth="formLabelWidth"
v-bind="formOptions"
@submit.native.prevent>
<FormItem :label="$L('头像')" prop="userimg">
<ImgUpload v-model="formData.userimg" :num="1" :width="512" :height="512" :whcut="1"></ImgUpload>
@ -68,7 +66,7 @@ export default {
this.initData();
},
computed: {
...mapState(['userInfo', 'formLabelPosition', 'formLabelWidth', 'formLabelClassName']),
...mapState(['userInfo', 'formOptions']),
},
watch: {
userInfo() {

View File

@ -1,6 +1,6 @@
<template>
<div class="setting-item submit">
<Form ref="formData" :model="formData" :rules="ruleData" :class="formLabelClassName" :labelPosition="formLabelPosition" :labelWidth="formLabelWidth" @submit.native.prevent>
<Form ref="formData" :model="formData" :rules="ruleData" v-bind="formOptions" @submit.native.prevent>
<FormItem :label="$L('选择主题')" prop="theme">
<Select v-model="formData.theme" :placeholder="$L('选项主题')">
<Option v-for="(item, index) in themeList" :value="item.value" :key="index">{{$L(item.name)}}</Option>
@ -38,9 +38,7 @@ export default {
...mapState([
'themeConf',
'themeList',
'formLabelPosition',
'formLabelWidth',
'formLabelClassName'
'formOptions'
])
},

View File

@ -28,9 +28,11 @@ export default {
windowPortrait: windowOrientation === 'portrait', // 竖屏
// 表单布局
formLabelClassName: windowWidth > 576 ? '' : 'form-label-weight-bold',
formLabelPosition: windowWidth > 576 ? 'right' : 'top',
formLabelWidth: windowWidth > 576 ? 'auto' : '',
formOptions: {
class: windowWidth > 576 ? '' : 'form-label-weight-bold',
labelPosition: windowWidth > 576 ? 'right' : 'top',
labelWidth: windowWidth > 576 ? 'auto' : '',
},
// 键盘状态仅iOS
keyboardType: null, // show|hide

View File

@ -6,6 +6,7 @@
bottom: 0;
display: flex;
flex-direction: column;
.permission-title {
color: $primary-title-color;
font-size: 20px;
@ -14,6 +15,7 @@
padding: 20px 20px 24px;
display: flex;
align-items: center;
.title-icon {
display: flex;
align-items: center;
@ -21,11 +23,13 @@
height: 14px;
margin-left: 4px;
margin-top: 2px;
> i {
cursor: pointer;
}
}
}
.permission-content {
flex: 1;
padding: 0 25px;
@ -34,13 +38,9 @@
height: 100%;
position: relative;
.project-permission-title{
.project-permission-title {
font-weight: 500;
padding:20px 0 10px 0;
}
.ivu-form-item {
margin-bottom: 5px;
padding: 20px 0 10px 0;
}
.form-placeholder {
@ -49,7 +49,7 @@
}
}
.project-permission-footer{
.project-permission-footer {
flex-shrink: 0;
position: static;
padding: 16px 26px;
@ -57,6 +57,7 @@
display: flex;
align-items: center;
gap: 16px;
button {
min-width: 120px;
height: 38px;
@ -68,7 +69,7 @@
body.window-portrait {
.project-permission {
.project-permission-footer{
.project-permission-footer {
button {
width: 50%;
}