Browse Source

会议工作管理

娄底高职分支
ndbs 2 years ago
parent
commit
4860fb71fd
2 changed files with 100 additions and 48 deletions
  1. +55
    -27
      Learun.Framework.Ultimate V7/LearunApp-2.2.0/pages/PersonnelManagement/MeetingManagement/list.vue
  2. +45
    -21
      Learun.Framework.Ultimate V7/LearunApp-2.2.0/pages/PersonnelManagement/MeetingManagement/single.vue

+ 55
- 27
Learun.Framework.Ultimate V7/LearunApp-2.2.0/pages/PersonnelManagement/MeetingManagement/list.vue View File

@@ -1,4 +1,4 @@
<template>
<template>
<view class="page">
<!-- 主列表页 -->
<view
@@ -41,33 +41,38 @@
{{ displayListItem(item, "EndTime") }}
</view>

<view class="customlist-item-field">
<!-- <view class="customlist-item-field">
<text class="customlist-item-field-title">申请人:</text>
{{ displayListItem(item, "CreateUser") }}
</view>

<view class="customlist-item-field">
</view> -->
<view class="customlist-item-field">
<text class="customlist-item-field-title">会议状态:</text>
{{ displayListItem(item, "CheckStatus") }}
</view>

<!-- <view class="customlist-item-field">
<text class="customlist-item-field-title">会议记录者:</text>
{{ displayListItem(item, "RecordPerson") }}
</view>
</view> -->

<view class="customlist-item-field">
<!-- <view class="customlist-item-field">
<text class="customlist-item-field-title">会议内容:</text>
{{ displayListItem(item, "Content") }}
</view>
</view> -->

<view class="customlist-item-field">
<!-- <view class="customlist-item-field">
<text class="customlist-item-field-title">附件上传:</text>
{{ displayListItem(item, "Files") }}
</view>
</view> -->

<!-- showButton
buttonText="会议纪要" -->
<l-customlist-action
showButton
buttonText="会议纪要"
@join="action('join', item.Id)"
showEdit
:showEdit="item.CheckStatus=='0'"
@edit="action('edit', item.Id)"
showDelete
:showDelete="item.CheckStatus=='0'"
@delete="action('delete', item.Id)"
@view="action('view', item.Id)"
/>
@@ -101,13 +106,13 @@
title="会议地点"
placeholder="按会议地点查询"
/>
<l-organize-picker
<!-- <l-organize-picker
v-model="queryData.CreateUser"
@change="searchChange"
type="user"
title="申请人"
placeholder="按申请人查询"
/>
/> -->

<!-- 重置查询条件按钮 -->
<view class="padding-tb">
@@ -153,12 +158,13 @@ export default {
scheme: {
MeetingTitle: { type: "text" },
MeetingPlace: { type: "select", dataSource: "0" },
BeginTime: { type: "datetime", dateformat: "0" },
EndTime: { type: "datetime", dateformat: "0" },
BeginTime: { type: "datetime", dateformat: "1" },
EndTime: { type: "datetime", dateformat: "1" },
RecordPerson: { type: "organize", dataType: "user" },
Content: { type: "texteditor" },
Files: { type: "upload" },
CreateUser: { type: "organize", dataType: "user" },
// CreateUser: { type: "organize", dataType: "user" },
CheckStatus:{ type: "select"},
},

// 查询条件
@@ -167,12 +173,30 @@ export default {
queryData: {
MeetingTitle: "",
MeetingPlace: "",
CreateUser: "",
// CreateUser: "",
},

// 数据源
dataSource: {
MeetingPlace: [],
CheckStatus:[
{
value:'0',
text:"未审核"
},
{
value:'1',
text:"已通过"
},
{
value:'2',
text:"未通过"
},
{
value:'3',
text:"审核中"
},
]
},

// 页面相关参数
@@ -204,7 +228,11 @@ export default {
);

// 拉取加载列表和数据源
await Promise.all([() => {}]);
await Promise.all([
this.FETCH_DATASOURCE('ConferenceRoom').then(result => {
this.dataSource.MeetingPlace = result.data.map(t => ({ text: t.name, value: t.id }))
}),
]);
await this.fetchList();
// 初始化查询条件
this.defaultQueryData = this.COPY(this.queryData);
@@ -212,7 +240,7 @@ export default {
},

// 拉取列表
async fetchList() {
async fetchList(isConcat=true) {
if (this.page > this.total) {
return;
}
@@ -222,7 +250,7 @@ export default {
{
// 这里 sidx 表示排序字段,sord 表示排序方式(DESC=降序,ASC=升序)
// 代码生成器生成时默认按照主键排序,您可以修改成按创建时间的字段降序
pagination: { rows: 10, page: this.page, sidx: "Id", sord: "DESC" },
pagination: { rows: 10, page: this.page, sidx: "CreateTime", sord: "DESC" },
queryJson: JSON.stringify(this.searchData),
},
"加载数据时出错"
@@ -234,7 +262,7 @@ export default {

this.total = result.total;
this.page = result.page + 1;
this.list = this.list.concat(result.rows);
this.list = isConcat?this.list.concat(result.rows):result.rows;

this.tips = `已加载 ${Math.min(result.page, result.total)} / ${
result.total
@@ -244,12 +272,12 @@ export default {
},

// 刷新清空列表
async refreshList() {
async refreshList(isConcat=true) {
this.page = 1;
this.total = 2;
this.list = [];

await this.fetchList();
await this.fetchList(isConcat);
},

// 列表下拉
@@ -273,7 +301,7 @@ export default {
);

this.searchData = result;
await this.refreshList();
await this.refreshList(false);
},

// 点击「清空查询条件」按钮


+ 45
- 21
Learun.Framework.Ultimate V7/LearunApp-2.2.0/pages/PersonnelManagement/MeetingManagement/single.vue View File

@@ -1,4 +1,4 @@
<template>
<template>
<view class="page">
<view v-if="ready">
<l-input
@@ -14,18 +14,45 @@
:range="dataSource.MeetingManagement.MeetingPlace"
title="会议地点"
/>
<l-date-picker
<l-datetime-picker
@input="setValue('MeetingManagement.BeginTime', $event)"
:value="getValue('MeetingManagement.BeginTime')"
:disabled="!edit"
title="开始时间"
/>
<l-date-picker
<l-datetime-picker
@input="setValue('MeetingManagement.EndTime', $event)"
:value="getValue('MeetingManagement.EndTime')"
:disabled="!edit"
title="结束时间"
/>
<!-- <l-organize-picker
@input="setValue('MeetingManagement.CreateUser', $event)"
:value="getValue('MeetingManagement.CreateUser')"
:readonly="!edit"
type="user"
title="申请人"
/> -->
<l-input
@input="setValue('MeetingManagement.Linkman', $event)"
:value="getValue('MeetingManagement.Linkman')"
:readonly="!edit"
title="联系人"
/>
<l-input
@input="setValue('MeetingManagement.LinkPhone', $event)"
:value="getValue('MeetingManagement.LinkPhone')"
:readonly="!edit"
title="联系方式"
/>
<l-organize-picker
@input="setValue('MeetingManagement.InternalParticipants', $event)"
:value="getValue('MeetingManagement.InternalParticipants')"
:readonly="!edit"
type="user"
title="参会人员"
:multiple="true"
/>
<l-organize-picker
@input="setValue('MeetingManagement.RecordPerson', $event)"
:value="getValue('MeetingManagement.RecordPerson')"
@@ -46,18 +73,11 @@
:number="9"
title="附件上传"
/>
<l-organize-picker
@input="setValue('MeetingManagement.CreateUser', $event)"
:value="getValue('MeetingManagement.CreateUser')"
:readonly="!edit"
type="user"
title="申请人"
/>
</view>

<view v-if="ready" class="bg-white margin-tb padding" style="padding-top: 0; overflow: hidden;">
<view v-if="ready&&(origin.MeetingManagement.CheckStatus=='0'||edit)" class="bg-white margin-tb padding" style="padding-top: 0; overflow: hidden;">
<l-button v-if="edit" @click="action('save')" size="lg" color="green" class="block margin-top" block>
提交保存
保存草稿
</l-button>
<l-button v-if="!edit && mode !== 'create'" @click="action('edit')" size="lg" line="orange" class="block margin-top" block>
编辑本页
@@ -114,14 +134,17 @@ export default {
// 表单项数据结构
scheme: {
MeetingManagement: {
MeetingTitle: { type: 'text', title: '会议主题' },
MeetingPlace: { type: 'select', title: '会议地点', dataSource: '0' },
BeginTime: { type: 'datetime', title: '开始时间', dateformat: '0' },
EndTime: { type: 'datetime', title: '结束时间', dateformat: '0' },
MeetingTitle: { type: 'text', title: '会议主题' ,verify:"NotNull"},
MeetingPlace: { type: 'select', title: '会议地点', dataSource: '0',verify:"NotNull" },
BeginTime: { type: 'datetime', title: '开始时间', dateformat: '1',verify:"NotNull" },
EndTime: { type: 'datetime', title: '结束时间', dateformat: '1',verify:"NotNull" },
InternalParticipants: { type: 'organize', title: '参会人员', dataType: 'user',verify:"NotNull" },
RecordPerson: { type: 'organize', title: '会议记录者', dataType: 'user' },
Content: { type: 'texteditor', title: '会议内容' },
Content: { type: 'texteditor', title: '会议内容',verify:"NotNull" },
Linkman: { type: 'text', title: '联系人',verify:"NotNull" },
LinkPhone: { type: 'text', title: '联系方式',verify:"Mobile" },
Files: { type: 'upload', title: '附件上传' },
CreateUser: { type: 'organize', title: '申请人', dataType: 'user' },
// CreateUser: { type: 'organize', title: '申请人', dataType: 'user',verify:"NotNull" },
},

},
@@ -151,9 +174,9 @@ export default {

// 拉取表单数据,同时拉取所有来自数据源的选单数据
await Promise.all([
() => {}
this.FETCH_DATASOURCE('ConferenceRoom').then(result => {
this.dataSource.MeetingManagement.MeetingPlace = result.data.map(t => ({ text: t.name, value: t.id }))
}),
])
await this.fetchForm()

@@ -168,6 +191,7 @@ export default {
} else {
const result = await this.HTTP_GET('learun/adms/PersonnelManagement/MeetingManagement/form', this.id)
this.origin = await this.formatFormData(result)
console.log(this.origin,this.origin.prototype)
}
this.current = this.COPY(this.origin)
},


Loading…
Cancel
Save