合并整理

This commit is contained in:
kuaifan 2022-03-16 09:04:00 +08:00
parent 5adbd6e8f1
commit d1036c3be7
18 changed files with 560 additions and 578 deletions

View File

@ -895,8 +895,9 @@ class ProjectController extends AbstractController
* - yes已归档 * - yes已归档
* - no未归档默认 * - no未归档默认
* @apiParam {String} [deleted] 是否读取已删除 * @apiParam {String} [deleted] 是否读取已删除
* - yes * - all所有
* - no默认 * - yes已删除
* - no未删除默认
* @apiParam {Object} sorts 排序方式 * @apiParam {Object} sorts 排序方式
* - sorts.complete_at 完成时间asc|desc * - sorts.complete_at 完成时间asc|desc
* - sorts.archived_at 归档时间asc|desc * - sorts.archived_at 归档时间asc|desc
@ -931,9 +932,10 @@ class ProjectController extends AbstractController
// //
$scopeAll = false; $scopeAll = false;
if ($parent_id > 0) { if ($parent_id > 0) {
ProjectTask::userTask($parent_id, str_replace(['all', 'yes', 'no'], [null, false, true], $archived), false, [], true); $isArchived = str_replace(['all', 'yes', 'no'], [null, false, true], $archived);
$isDeleted = str_replace(['all', 'yes', 'no'], [null, false, true], $deleted);
ProjectTask::userTask($parent_id, $isArchived, $isDeleted);
$scopeAll = true; $scopeAll = true;
$builder->withTrashed();
$builder->where('project_tasks.parent_id', $parent_id); $builder->where('project_tasks.parent_id', $parent_id);
} elseif ($parent_id === -1) { } elseif ($parent_id === -1) {
$builder->where('project_tasks.parent_id', 0); $builder->where('project_tasks.parent_id', 0);
@ -965,17 +967,19 @@ class ProjectController extends AbstractController
// //
if ($complete === 'yes') { if ($complete === 'yes') {
$builder->whereNotNull('project_tasks.complete_at'); $builder->whereNotNull('project_tasks.complete_at');
} elseif ($complete === 'no' && $deleted == 'no') { } elseif ($complete === 'no') {
$builder->whereNull('project_tasks.complete_at'); $builder->whereNull('project_tasks.complete_at');
} }
// //
if ($archived == 'yes') { if ($archived == 'yes') {
$builder->whereNotNull('project_tasks.archived_at'); $builder->whereNotNull('project_tasks.archived_at');
} elseif ($archived == 'no' && $deleted == 'no') { } elseif ($archived == 'no') {
$builder->whereNull('project_tasks.archived_at'); $builder->whereNull('project_tasks.archived_at');
} }
// //
if ($deleted == 'yes') { if ($deleted == 'all') {
$builder->withTrashed();
} elseif ($deleted == 'yes') {
$builder->onlyTrashed(); $builder->onlyTrashed();
} }
// //
@ -1221,7 +1225,8 @@ class ProjectController extends AbstractController
$task_id = intval(Request::input('task_id')); $task_id = intval(Request::input('task_id'));
$archived = Request::input('archived', 'no'); $archived = Request::input('archived', 'no');
// //
$task = ProjectTask::userTask($task_id, str_replace(['all', 'yes', 'no'], [null, false, true], $archived), false, ['taskUser', 'taskTag'], true); $isArchived = str_replace(['all', 'yes', 'no'], [null, false, true], $archived);
$task = ProjectTask::userTask($task_id, $isArchived, true, false, ['taskUser', 'taskTag']);
// //
$data = $task->toArray(); $data = $task->toArray();
$data['project_name'] = $task->project?->name; $data['project_name'] = $task->project?->name;
@ -1249,7 +1254,7 @@ class ProjectController extends AbstractController
// //
$task_id = intval(Request::input('task_id')); $task_id = intval(Request::input('task_id'));
// //
$task = ProjectTask::userTask($task_id, null, false, [], true); $task = ProjectTask::userTask($task_id, null);
// //
if (empty($task->content)) { if (empty($task->content)) {
return Base::retSuccess('success', json_decode('{}')); return Base::retSuccess('success', json_decode('{}'));
@ -1277,7 +1282,7 @@ class ProjectController extends AbstractController
// //
$task_id = intval(Request::input('task_id')); $task_id = intval(Request::input('task_id'));
// //
$task = ProjectTask::userTask($task_id, null, false, [], true); $task = ProjectTask::userTask($task_id, null);
// //
return Base::retSuccess('success', $task->taskFile); return Base::retSuccess('success', $task->taskFile);
} }
@ -1307,7 +1312,7 @@ class ProjectController extends AbstractController
return Base::retError('文件不存在或已被删除'); return Base::retError('文件不存在或已被删除');
} }
// //
$task = ProjectTask::userTask($file->task_id, true, true); $task = ProjectTask::userTask($file->task_id, true, true, true);
// //
$task->pushMsg('filedelete', $file); $task->pushMsg('filedelete', $file);
$file->delete(); $file->delete();
@ -1486,7 +1491,7 @@ class ProjectController extends AbstractController
$task_id = intval(Request::input('task_id')); $task_id = intval(Request::input('task_id'));
$name = Request::input('name'); $name = Request::input('name');
// //
$task = ProjectTask::userTask($task_id, true, true); $task = ProjectTask::userTask($task_id, true, true, true);
if ($task->complete_at) { if ($task->complete_at) {
return Base::retError('主任务已完成无法添加子任务'); return Base::retError('主任务已完成无法添加子任务');
} }
@ -1538,7 +1543,7 @@ class ProjectController extends AbstractController
parse_str(Request::getContent(), $data); parse_str(Request::getContent(), $data);
$task_id = intval($data['task_id']); $task_id = intval($data['task_id']);
// //
$task = ProjectTask::userTask($task_id, true, 2); $task = ProjectTask::userTask($task_id, true, true, 2);
// 更新任务 // 更新任务
$updateMarking = []; $updateMarking = [];
$task->updateTask($data, $updateMarking); $task->updateTask($data, $updateMarking);
@ -1621,7 +1626,7 @@ class ProjectController extends AbstractController
$task_id = intval(Request::input('task_id')); $task_id = intval(Request::input('task_id'));
$type = Request::input('type', 'add'); $type = Request::input('type', 'add');
// //
$task = ProjectTask::userTask($task_id, $type == 'add', true); $task = ProjectTask::userTask($task_id, $type == 'add', true, true);
// //
if ($task->parent_id > 0) { if ($task->parent_id > 0) {
return Base::retError('子任务不支持此功能'); return Base::retError('子任务不支持此功能');
@ -1663,7 +1668,7 @@ class ProjectController extends AbstractController
$task_id = intval(Request::input('task_id')); $task_id = intval(Request::input('task_id'));
$type = Request::input('type', 'delete'); $type = Request::input('type', 'delete');
// //
$task = ProjectTask::userTask($task_id, null, true, [], $type === 'recovery'); $task = ProjectTask::userTask($task_id, null, $type !== 'recovery', true);
if ($type == 'recovery') { if ($type == 'recovery') {
$task->recoveryTask(); $task->recoveryTask();
return Base::retSuccess('操作成功', ['id' => $task->id]); return Base::retSuccess('操作成功', ['id' => $task->id]);
@ -1698,7 +1703,7 @@ class ProjectController extends AbstractController
return Base::retError('记录不存在'); return Base::retError('记录不存在');
} }
// //
$task = ProjectTask::userTask($projectLog->task_id, true, true); $task = ProjectTask::userTask($projectLog->task_id, true, true, true);
// //
$record = $projectLog->record; $record = $projectLog->record;
if ($record['flow'] && is_array($record['flow'])) { if ($record['flow'] && is_array($record['flow'])) {
@ -1933,7 +1938,7 @@ class ProjectController extends AbstractController
// //
$builder = ProjectLog::select(["*"]); $builder = ProjectLog::select(["*"]);
if ($task_id > 0) { if ($task_id > 0) {
$task = ProjectTask::userTask($task_id, null,false,[],true); $task = ProjectTask::userTask($task_id, null);
$builder->whereTaskId($task->id); $builder->whereTaskId($task->id);
} else { } else {
$project = Project::userProject($project_id); $project = Project::userProject($project_id);

View File

@ -1218,31 +1218,29 @@ class ProjectTask extends AbstractModel
* 获取任务(会员有任务权限 会员存在项目内) * 获取任务(会员有任务权限 会员存在项目内)
* @param int $task_id * @param int $task_id
* @param bool $archived true:仅限未归档, false:仅限已归档, null:不限制 * @param bool $archived true:仅限未归档, false:仅限已归档, null:不限制
* @param bool $trashed true:仅限未删除, false:仅限已删除, null:不限制
* @param int|bool $permission 0|false:不限制, 1|true:限制项目负责人、任务负责人、协助人员及任务创建者, 2:已有负责人才限制true (子任务时如果是主任务负责人也可以) * @param int|bool $permission 0|false:不限制, 1|true:限制项目负责人、任务负责人、协助人员及任务创建者, 2:已有负责人才限制true (子任务时如果是主任务负责人也可以)
* @param array $with * @param array $with
* @param bool $getTrashed
* @return self * @return self
*/ */
public static function userTask($task_id, $archived = true, $permission = 0, $with = [], $getTrashed = false) public static function userTask($task_id, $archived = true, $trashed = true, $permission = false, $with = [])
{ {
$builder = self::with($with)->allData()->where("project_tasks.id", intval($task_id)); $builder = self::with($with)->allData()->where("project_tasks.id", intval($task_id));
if ($getTrashed) { if ($trashed === false) {
$builder->onlyTrashed();
} elseif ($trashed === null) {
$builder->withTrashed(); $builder->withTrashed();
} }
$task = $builder->first(); $task = $builder->first();
// //
if (empty($task)) { if (empty($task)) {
if(self::whereId(intval($task_id))->withTrashed()->exists()){ throw new ApiException('任务不存在', ['task_id' => $task_id], -4002);
throw new ApiException('任务已删除,不可编辑', [ 'task_id' => $task_id ], -4002);
}else{
throw new ApiException('任务不存在', [ 'task_id' => $task_id ], -4002);
}
} }
if ($archived === true && $task->archived_at != null) { if ($archived === true && $task->archived_at != null) {
throw new ApiException('任务已归档', [ 'task_id' => $task_id ]); throw new ApiException('任务已归档', ['task_id' => $task_id]);
} }
if ($archived === false && $task->archived_at == null) { if ($archived === false && $task->archived_at == null) {
throw new ApiException('任务未归档', [ 'task_id' => $task_id ]); throw new ApiException('任务未归档', ['task_id' => $task_id]);
} }
// //
try { try {

View File

@ -202,14 +202,11 @@
<script> <script>
import {mapState} from "vuex"; import {mapState} from "vuex";
import RightBottom from "../components/RightBottom";
export default { export default {
components:{RightBottom},
data() { data() {
return { return {
needStartHome: false, needStartHome: false,
homeFooter: '', homeFooter: '',
}; };
}, },
computed: { computed: {
@ -229,25 +226,13 @@ export default {
}, },
login() { login() {
this.goForward( this.goForward({path: `/login`}, false);
{
path: `/login`,
},
false
);
}, },
register() { register() {
this.goForward( this.goForward({path: `/login`, query: {type: "reg"}}, false);
{
path: `/login`,
query: {
type: "reg",
},
},
false
);
}, },
getNeedStartHome() { getNeedStartHome() {
this.$store.dispatch("call", { this.$store.dispatch("call", {
url: "system/get/starthome", url: "system/get/starthome",

View File

@ -154,18 +154,14 @@ export default {
} }
}, },
watch: { watch: {
$route:{ '$route' ({query}) {
handler(val) { if (query.type=='reg'){
if (val.query.type=='reg'){ this.$nextTick(()=>{
this.$nextTick(()=>{ this.loginType = "reg"
this.loginType = "reg" })
}) }
}
},
immediate:true
}, },
loginType(val) { loginType(val) {
console.log(val)
if (val == 'reg') { if (val == 'reg') {
this.getNeedInvite(); this.getNeedInvite();
} }

View File

@ -290,7 +290,7 @@
:value="taskId > 0" :value="taskId > 0"
:styles="{ :styles="{
width: '90%', width: '90%',
maxWidth: taskData.dialog_id && !taskData.deleted_at ? '1200px' : '700px' maxWidth: taskData.dialog_id ? '1200px' : '700px'
}" }"
:mask-closable="false" :mask-closable="false"
:footer-hide="true" :footer-hide="true"

View File

@ -89,17 +89,11 @@ export default {
this.$emit("on-read"); this.$emit("on-read");
if (this.$Electron) { if (this.$Electron) {
let config = { let config = {
title: row.title, title: this.formatName(row.title),
titleFixed: true, titleFixed: true,
parent: null, parent: null,
width: Math.min(window.screen.availWidth, this.$el.clientWidth + 72), width: Math.min(window.screen.availWidth, 1440),
height: Math.min(window.screen.availHeight, this.$el.clientHeight + 72), height: Math.min(window.screen.availHeight, 900),
minWidth: 600,
minHeight: 450,
};
if (this.hasOpenDialog) {
config.minWidth = 800;
config.minHeight = 600;
} }
this.$Electron.sendMessage('windowRouter', { this.$Electron.sendMessage('windowRouter', {
name: 'report-' + row.id, name: 'report-' + row.id,
@ -119,14 +113,8 @@ export default {
title: title, title: title,
titleFixed: true, titleFixed: true,
parent: null, parent: null,
width: Math.min(window.screen.availWidth, this.$el.clientWidth + 72), width: Math.min(window.screen.availWidth, 1440),
height: Math.min(window.screen.availHeight, this.$el.clientHeight + 72), height: Math.min(window.screen.availHeight, 900),
minWidth: 600,
minHeight: 450,
};
if (this.hasOpenDialog) {
config.minWidth = 800;
config.minHeight = 600;
} }
this.$Electron.sendMessage('windowRouter', { this.$Electron.sendMessage('windowRouter', {
name: 'report-' + id, name: 'report-' + id,

View File

@ -97,23 +97,26 @@ export default {
initLanguage() { initLanguage() {
this.columns = [ this.columns = [
{ {
title: this.$L('ID'), title: 'ID',
minWidth: 50,
maxWidth: 70,
key: 'id', key: 'id',
width: 80,
render: (h, {row, column}) => {
return h('TableAction', {
props: {
column: column,
align: 'left'
}
}, [
h("div", row.id),
]);
}
}, },
{ {
title: this.$L('任务名称'), title: this.$L('任务名称'),
key: 'name', key: 'name',
minWidth: 200, minWidth: 200,
render: (h, {row}) => { render: (h, {row}) => {
return h('AutoTip', { return h('AutoTip', row.name);
on: {
'on-click': () => {
this.$store.dispatch("openTask", row);
}
}
}, row.name);
} }
}, },
{ {
@ -149,18 +152,6 @@ export default {
width: 100, width: 100,
render: (h, params) => { render: (h, params) => {
const vNodes = [ const vNodes = [
h('span', {
style: {
fontSize: '13px',
cursor: 'pointer',
color: '#8bcf70',
},
on: {
'click': () => {
this.$store.dispatch("openTask", params.row);
}
},
}, this.$L('查看')),
h('Poptip', { h('Poptip', {
props: { props: {
title: this.$L('你确定要还原删除吗?'), title: this.$L('你确定要还原删除吗?'),
@ -172,7 +163,6 @@ export default {
fontSize: '13px', fontSize: '13px',
cursor: 'pointer', cursor: 'pointer',
color: '#8bcf70', color: '#8bcf70',
marginLeft: "8px"
}, },
on: { on: {
'on-ok': () => { 'on-ok': () => {

View File

@ -87,9 +87,6 @@
<div v-if="taskDetail.archived_at" class="flow"> <div v-if="taskDetail.archived_at" class="flow">
<span class="archived" @click.stop="openMenu(taskDetail)">{{$L('已归档')}}</span> <span class="archived" @click.stop="openMenu(taskDetail)">{{$L('已归档')}}</span>
</div> </div>
<div v-if="taskDetail.deleted_at" class="flow">
<span class="archived">{{$L('已删除')}}</span>
</div>
<div class="nav"> <div class="nav">
<p v-if="projectName"><span>{{projectName}}</span></p> <p v-if="projectName"><span>{{projectName}}</span></p>
<p v-if="columnName"><span>{{columnName}}</span></p> <p v-if="columnName"><span>{{columnName}}</span></p>
@ -152,7 +149,6 @@
<div class="desc"> <div class="desc">
<TEditor <TEditor
ref="desc" ref="desc"
:readOnly="taskDetail.deleted_at ? true : false"
:value="taskContent" :value="taskContent"
:plugins="taskPlugins" :plugins="taskPlugins"
:options="taskOptions" :options="taskOptions"
@ -387,16 +383,16 @@
<div class="head"> <div class="head">
<Icon class="icon" type="ios-chatbubbles-outline" /> <Icon class="icon" type="ios-chatbubbles-outline" />
<div class="nav"> <div class="nav">
<p :class="{active:navActive=='dialog'}" v-if="!taskDetail.deleted_at" @click="navActive='dialog'">{{$L('聊天')}}</p> <p :class="{active:navActive=='dialog'}" @click="navActive='dialog'">{{$L('聊天')}}</p>
<p :class="{active:navActive=='log' || taskDetail.deleted_at}" @click="navActive='log'">{{$L('动态')}}</p> <p :class="{active:navActive=='log'}" @click="navActive='log'">{{$L('动态')}}</p>
<div v-if="navActive=='log' || taskDetail.deleted_at" class="refresh"> <div v-if="navActive=='log'" class="refresh">
<Loading v-if="logLoadIng"/> <Loading v-if="logLoadIng"/>
<Icon v-else type="ios-refresh" @click="getLogLists"></Icon> <Icon v-else type="ios-refresh" @click="getLogLists"></Icon>
</div> </div>
</div> </div>
</div> </div>
<ProjectLog v-if="(navActive=='log' || taskDetail.deleted_at) && taskId > 0" ref="log" :task-id="taskDetail.id" :show-load="false" @on-load-change="logLoadChange"/> <ProjectLog v-if="navActive=='log' && taskId > 0" ref="log" :task-id="taskDetail.id" :show-load="false" @on-load-change="logLoadChange"/>
<div v-else-if="!taskDetail.deleted_at" class="no-dialog" <div v-else class="no-dialog"
@drop.prevent="taskPasteDrag($event, 'drag')" @drop.prevent="taskPasteDrag($event, 'drag')"
@dragover.prevent="taskDragOver(true, $event)" @dragover.prevent="taskDragOver(true, $event)"
@dragleave.prevent="taskDragOver(false, $event)"> @dragleave.prevent="taskDragOver(false, $event)">
@ -619,7 +615,7 @@ export default {
}, },
hasOpenDialog() { hasOpenDialog() {
return this.taskDetail.dialog_id > 0 && !this.windowMax768 && !this.taskDetail.deleted_at; return this.taskDetail.dialog_id > 0 && !this.windowMax768;
}, },
dialogStyle() { dialogStyle() {

View File

@ -52,7 +52,7 @@
<Icon type="ios-filing" />{{$L(task.archived_at ? '还原归档' : '归档')}} <Icon type="ios-filing" />{{$L(task.archived_at ? '还原归档' : '归档')}}
</div> </div>
</EDropdownItem> </EDropdownItem>
<EDropdownItem command="remove" v-if="!task.deleted_at"> <EDropdownItem command="remove">
<div class="item hover-del"> <div class="item hover-del">
<Icon type="md-trash" />{{$L('删除')}} <Icon type="md-trash" />{{$L('删除')}}
</div> </div>

View File

@ -1,7 +1,7 @@
<template> <template>
<div class="setting-item submit"> <div class="setting-item submit">
<Form ref="formData" :model="formData" :rules="ruleData" label-width="auto" @submit.native.prevent> <Form ref="formData" :model="formData" :rules="ruleData" label-width="auto" @submit.native.prevent>
<h3 style="margin-bottom: 15px;">{{ $L('邮箱服务器设置') }}</h3> <h3>{{ $L('邮箱服务器设置') }}</h3>
<FormItem :label="$L('SMTP服务器')" prop="smtp_server"> <FormItem :label="$L('SMTP服务器')" prop="smtp_server">
<Input v-model="formData.smtp_server"/> <Input v-model="formData.smtp_server"/>
</FormItem> </FormItem>
@ -15,7 +15,7 @@
<Input :maxlength="20" v-model="formData.password"/> <Input :maxlength="20" v-model="formData.password"/>
</FormItem> </FormItem>
<h3 style="margin-bottom: 15px;">{{ $L('邮件通知设置') }}</h3> <h3>{{ $L('邮件通知设置') }}</h3>
<FormItem :label="$L('开启注册验证')" prop="reg_verify"> <FormItem :label="$L('开启注册验证')" prop="reg_verify">
<RadioGroup v-model="formData.reg_verify"> <RadioGroup v-model="formData.reg_verify">
<Radio label="open">{{ $L('开启') }}</Radio> <Radio label="open">{{ $L('开启') }}</Radio>
@ -130,7 +130,3 @@ export default {
} }
} }
</script> </script>
<style scoped>
</style>

View File

@ -17,7 +17,6 @@ import ReportDetail from "../manage/components/ReportDetail";
export default { export default {
components: {ReportDetail}, components: {ReportDetail},
name: "reportDetail",
data() { data() {
return { return {
detailData: {}, detailData: {},
@ -47,7 +46,3 @@ export default {
} }
} }
</script> </script>
<style scoped>
</style>

View File

@ -17,10 +17,5 @@ import ReportEdit from "../manage/components/ReportEdit"
export default { export default {
components: {ReportEdit}, components: {ReportEdit},
name: "reportEdit"
} }
</script> </script>
<style scoped>
</style>

View File

@ -17,6 +17,34 @@
</div> </div>
</template> </template>
<style lang="scss" scoped>
.valid-wrap {
height: 100vh;
width: 100vw;
display: flex;
align-items: center;
justify-content: center;
.valid-box {
width: 500px;
background-color: #fff;
padding: 5px 15px 20px 15px;
border-radius: 10px;
.valid-title {
border-bottom: 1px solid #e8eaec;
padding: 14px 16px;
line-height: 1;
}
.validation-text {
padding: 10px;
color: #333;
font-size: 14px;
}
}
}
</style>
<script> <script>
export default { export default {
data() { data() {
@ -56,30 +84,3 @@ export default {
}, },
} }
</script> </script>
<style lang="scss">
.valid-wrap {
height: 100vh;
width: 100vw;
display: flex;
align-items: center;
justify-content: center;
}
.valid-box {
width: 500px;
background-color: #fff;
padding: 5px 15px 20px 15px;
border-radius: 10px;
.valid-title {
border-bottom: 1px solid #e8eaec;
padding: 14px 16px;
line-height: 1;
}
.validation-text{
padding: 10px;
color: #333;
font-size: 14px;
}
}
</style>

View File

@ -1003,7 +1003,7 @@ export default {
state.cacheTasks.filter(task => task.parent_id == id).some(childTask => { state.cacheTasks.filter(task => task.parent_id == id).some(childTask => {
let cIndex = state.cacheTasks.findIndex(task => task.id == childTask.id); let cIndex = state.cacheTasks.findIndex(task => task.id == childTask.id);
if (cIndex > -1) { if (cIndex > -1) {
project_ids.push(state.cacheTasks[index].project_id) project_ids.push(childTask.project_id)
state.cacheTasks.splice(cIndex, 1); state.cacheTasks.splice(cIndex, 1);
} }
}) })

View File

@ -307,38 +307,40 @@ body.dark-mode-reverse {
} }
} }
.page-warp { .page-index {
background-color: #efefef; .page-warp {
.page-header { background-color: #efefef;
.header-nav { .page-header {
.header-nav-box { .header-nav {
.header-right-one { .header-nav-box {
.header-right-one-dropdown { .header-right-one {
.header-right-one-dropdown {
color: #000000;
}
}
.header-right-two {
color: #000000; color: #000000;
} }
} .header-right-four {
.header-right-two { .ivu-dropdown{
color: #000000; .ivu-dropdown-rel{
} .header-right-one-dropdown {
.header-right-four { color: #000000;
.ivu-dropdown{ }
.ivu-dropdown-rel{
.header-right-one-dropdown {
color: #000000;
} }
} }
} }
} }
} }
} .header-content {
.header-content { .header-title, .header-tips {
.header-title, .header-tips { color: #000000;
color: #000000; }
} }
} }
} .page-header-bottom{
.page-header-bottom{ background-color: #efefef;
background-color: #efefef; }
} }
} }
} }

View File

@ -228,27 +228,6 @@
} }
} }
} }
.project-gantt-item {
padding-left: 5px;
display: flex;
cursor: pointer;
&.active {
color: $primary-color;
}
.force-right {
&.act {
color: #2A53FF;
}
}
.gantt-name {
font-size: 13px;
padding-top: 6%;
cursor: pointer;
}
}
} }
} }
} }

File diff suppressed because it is too large Load Diff

View File

@ -179,6 +179,10 @@
display: flex; display: flex;
flex-direction: column; flex-direction: column;
padding: 0 !important; padding: 0 !important;
h3 {
font-size: 16px;
margin-bottom: 15px;
}
.ivu-form { .ivu-form {
flex: 1; flex: 1;
padding: 24px 40px; padding: 24px 40px;