@@ -134,7 +134,7 @@ namespace Learun.Application.Web.Areas.EducationalAdministration.Controllers | |||||
SYS_SendMessageEntity entity = strEntity.ToObject<SYS_SendMessageEntity>(); | SYS_SendMessageEntity entity = strEntity.ToObject<SYS_SendMessageEntity>(); | ||||
entity.SENDERID = logInfo.userId; | entity.SENDERID = logInfo.userId; | ||||
entity.SENDER = logInfo.realName; | entity.SENDER = logInfo.realName; | ||||
entity.CONTENTS = HttpUtility.HtmlDecode(entity.CONTENTS); | |||||
entity.CONTENTS = WebHelper.HtmlEncode(entity.CONTENTS); | |||||
entity.RECEIVER = string.Join(",", userIbll.GetListByUserIds(entity.RECEIVERID).Select(m => m.F_RealName)); | entity.RECEIVER = string.Join(",", userIbll.GetListByUserIds(entity.RECEIVERID).Select(m => m.F_RealName)); | ||||
if (!string.IsNullOrEmpty(entity.RECEIVERIDToo)) | if (!string.IsNullOrEmpty(entity.RECEIVERIDToo)) | ||||
{ | { | ||||
@@ -135,7 +135,12 @@ namespace Learun.Application.TwoDevelopment.PersonnelManagement | |||||
{ | { | ||||
try | try | ||||
{ | { | ||||
return this.BaseRepository("CollegeMIS").FindEntity<MeetingManagementEntity>(keyValue); | |||||
var data = this.BaseRepository("CollegeMIS").FindEntity<MeetingManagementEntity>(keyValue); | |||||
if (data!=null) | |||||
{ | |||||
data.ConferenceRoomName = this.BaseRepository("CollegeMIS").FindEntity<ConferenceRoomEntity>(data.MeetingPlace).Name; | |||||
} | |||||
return data; | |||||
} | } | ||||
catch (Exception ex) | catch (Exception ex) | ||||
{ | { | ||||
@@ -114,7 +114,7 @@ export default { | |||||
} else if (type === 'today') { | } else if (type === 'today') { | ||||
const e = { | const e = { | ||||
start: moment() | start: moment() | ||||
.subtract(1, 'day') | |||||
.subtract(0, 'day') | |||||
.format('YYYY-MM-DD 00:00:00'), | .format('YYYY-MM-DD 00:00:00'), | ||||
end: todayEnd | end: todayEnd | ||||
} | } | ||||
@@ -123,7 +123,7 @@ export default { | |||||
} else if (type === '7d') { | } else if (type === '7d') { | ||||
const e = { | const e = { | ||||
start: moment() | start: moment() | ||||
.subtract(7, 'days') | |||||
.subtract(6, 'days') | |||||
.format('YYYY-MM-DD 00:00:00'), | .format('YYYY-MM-DD 00:00:00'), | ||||
end: todayEnd | end: todayEnd | ||||
} | } | ||||
@@ -89,19 +89,33 @@ export default { | |||||
// #endif | // #endif | ||||
// #ifndef MP-DINGTALK | // #ifndef MP-DINGTALK | ||||
uni.chooseFile({ | |||||
count: Number(this.number), | |||||
sizeType: ['original', 'compressed'], | |||||
sourceType: ['album', 'camera'], | |||||
success: ({ tempFilePaths }) => { | |||||
const newList = JSON.parse(JSON.stringify(this.value || [])).concat( | |||||
tempFilePaths//.map(t => ({ path: t, type: this.getFileExt(t) })) | |||||
) | |||||
this.$emit('input', newList) | |||||
this.$emit('change', newList) | |||||
this.$emit('add') | |||||
} | |||||
}) | |||||
// uni.chooseFile({ | |||||
// count: Number(this.number), | |||||
// sizeType: ['original', 'compressed'], | |||||
// sourceType: ['album', 'camera'], | |||||
// success: ({ tempFilePaths }) => { | |||||
// const newList = JSON.parse(JSON.stringify(this.value || [])).concat( | |||||
// tempFilePaths//.map(t => ({ path: t, type: this.getFileExt(t) })) | |||||
// ) | |||||
// this.$emit('input', newList) | |||||
// this.$emit('change', newList) | |||||
// this.$emit('add') | |||||
// } | |||||
// }) | |||||
uni.chooseImage({ | |||||
count: Number(this.number), | |||||
sizeType: ['original', 'compressed'], | |||||
sourceType: ['album', 'camera'], | |||||
success: ({ tempFilePaths }) => { | |||||
const newList = JSON.parse(JSON.stringify(this.value || [])).concat( | |||||
tempFilePaths//.map(t => ({ path: t, type: this.getFileExt(t) })) | |||||
) | |||||
this.$emit('input', newList) | |||||
this.$emit('change', newList) | |||||
this.$emit('add') | |||||
} | |||||
}) | |||||
// #endif | // #endif | ||||
}, | }, | ||||
@@ -21,10 +21,11 @@ export default { | |||||
// "http://192.168.2.98:8088/" | // "http://192.168.2.98:8088/" | ||||
// ], | // ], | ||||
"apiHost": [ | "apiHost": [ | ||||
// "http://localhost:31173/" | |||||
"http://cyzjzx.gnway.cc:30626/" | |||||
"http://cyzjzx.gnway.cc:29615/" | |||||
// "http://cyzjzx.gnway.cc:30626/" | |||||
], | ], | ||||
"webHost":"http://cyzjzx.gnway.cc:29618/", | |||||
// "webHost":"http://cyzjzx.gnway.cc:29618/", | |||||
"webHost":"http://wxd3f.cyzjzx.com/", | |||||
// 开发环境下自动填充登录账号密码,与接口地址一一对应,只在开发环境下显示 | // 开发环境下自动填充登录账号密码,与接口地址一一对应,只在开发环境下显示 | ||||
"devAccount": [ | "devAccount": [ | ||||
// 20201130230 21364200000400266 老师 420528196310072253 学生 420528200606205026 420528200507261428 | // 20201130230 21364200000400266 老师 420528196310072253 学生 420528200606205026 420528200507261428 | ||||
@@ -146,6 +146,11 @@ export default { | |||||
onUnload() { | onUnload() { | ||||
this.OFF('EducationalAdministrationSYS_ReceiveMessage-list-change') | this.OFF('EducationalAdministrationSYS_ReceiveMessage-list-change') | ||||
}, | }, | ||||
onShow() { | |||||
if(this.list.length){ | |||||
this.refreshList(false) | |||||
} | |||||
}, | |||||
methods: { | methods: { | ||||
// 页面初始化 | // 页面初始化 | ||||
@@ -174,7 +179,7 @@ export default { | |||||
{ | { | ||||
// 这里 sidx 表示排序字段,sord 表示排序方式(DESC=降序,ASC=升序) | // 这里 sidx 表示排序字段,sord 表示排序方式(DESC=降序,ASC=升序) | ||||
// 代码生成器生成时默认按照主键排序,您可以修改成按创建时间的字段降序 | // 代码生成器生成时默认按照主键排序,您可以修改成按创建时间的字段降序 | ||||
pagination: { rows: 10, page: this.page, sidx: 'SENDTIME', sord: 'DESC' }, | |||||
pagination: { rows: 10, page: this.page, sidx: 'READFLAG asc,SENDTIME desc', sord: 'DESC' }, | |||||
queryJson: JSON.stringify(this.searchData) | queryJson: JSON.stringify(this.searchData) | ||||
}, | }, | ||||
'加载数据时出错' | '加载数据时出错' | ||||
@@ -121,7 +121,7 @@ export default { | |||||
scheme: { | scheme: { | ||||
Sender: { type: 'text' }, | Sender: { type: 'text' }, | ||||
Title: { type: 'text' }, | Title: { type: 'text' }, | ||||
SendTime: { type: 'datetime', dateformat: '0' }, | |||||
SendTime: { type: 'datetime', dateformat: '1' }, | |||||
SendType: { type: 'select', itemCode: 'FileSendType', dataSource: '0' }, | SendType: { type: 'select', itemCode: 'FileSendType', dataSource: '0' }, | ||||
ReadFlag: { type: 'select', dataSource: '0' }, | ReadFlag: { type: 'select', dataSource: '0' }, | ||||
ReadTime: { type: 'datetime', dateformat: '1' }, | ReadTime: { type: 'datetime', dateformat: '1' }, | ||||
@@ -165,7 +165,7 @@ export default { | |||||
}, | }, | ||||
onShow() { | onShow() { | ||||
if(this.list.length){ | if(this.list.length){ | ||||
this.refreshList() | |||||
this.refreshList(false) | |||||
} | } | ||||
}, | }, | ||||
@@ -187,7 +187,7 @@ export default { | |||||
}, | }, | ||||
// 拉取列表 | // 拉取列表 | ||||
async fetchList() { | |||||
async fetchList(isConcat=true) { | |||||
if (this.page > this.total) { return } | if (this.page > this.total) { return } | ||||
this.searchData.ReceiverId=this.GET_GLOBAL('loginUser').userId; | this.searchData.ReceiverId=this.GET_GLOBAL('loginUser').userId; | ||||
const result = await this.HTTP_GET( | const result = await this.HTTP_GET( | ||||
@@ -195,7 +195,7 @@ export default { | |||||
{ | { | ||||
// 这里 sidx 表示排序字段,sord 表示排序方式(DESC=降序,ASC=升序) | // 这里 sidx 表示排序字段,sord 表示排序方式(DESC=降序,ASC=升序) | ||||
// 代码生成器生成时默认按照主键排序,您可以修改成按创建时间的字段降序 | // 代码生成器生成时默认按照主键排序,您可以修改成按创建时间的字段降序 | ||||
pagination: { rows: 10, page: this.page, sidx: 'SendTime desc,SendStatus asc', sord: 'DESC' }, | |||||
pagination: { rows: 10, page: this.page, sidx: 'SendStatus asc,SendTime desc', sord: 'DESC' }, | |||||
queryJson: JSON.stringify(this.searchData) | queryJson: JSON.stringify(this.searchData) | ||||
}, | }, | ||||
'加载数据时出错' | '加载数据时出错' | ||||
@@ -205,19 +205,19 @@ export default { | |||||
this.total = result.total | this.total = result.total | ||||
this.page = result.page + 1 | 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} 页,共 ${result.records} 项` | this.tips = `已加载 ${Math.min(result.page, result.total)} / ${result.total} 页,共 ${result.records} 项` | ||||
this.loadState = result.page >= result.total ? '已加载所有项目' : '向下翻以加载更多' | this.loadState = result.page >= result.total ? '已加载所有项目' : '向下翻以加载更多' | ||||
}, | }, | ||||
// 刷新清空列表 | // 刷新清空列表 | ||||
async refreshList() { | |||||
async refreshList(isConcat=true) { | |||||
this.page = 1 | this.page = 1 | ||||
this.total = 2 | this.total = 2 | ||||
this.list = [] | this.list = [] | ||||
await this.fetchList() | |||||
await this.fetchList(isConcat) | |||||
}, | }, | ||||
// 列表下拉 | // 列表下拉 | ||||
@@ -242,7 +242,7 @@ export default { | |||||
Object.assign(result, mapValues(queryObj, t => (Array.isArray(t) ? t.join(',') : t))) | Object.assign(result, mapValues(queryObj, t => (Array.isArray(t) ? t.join(',') : t))) | ||||
this.searchData = result | this.searchData = result | ||||
await this.refreshList() | |||||
await this.refreshList(false) | |||||
}, | }, | ||||
// 点击「清空查询条件」按钮 | // 点击「清空查询条件」按钮 | ||||
@@ -115,7 +115,7 @@ export default { | |||||
Sys_ReceiveFile: { | Sys_ReceiveFile: { | ||||
Sender: { type: "text", title: "发送人" }, | Sender: { type: "text", title: "发送人" }, | ||||
Title: { type: "text", title: "主题" }, | Title: { type: "text", title: "主题" }, | ||||
SendTime: { type: "datetime", title: "发送时间", dateformat: "0" }, | |||||
SendTime: { type: "datetime", title: "发送时间", dateformat: "1" }, | |||||
SendType: { | SendType: { | ||||
type: "select", | type: "select", | ||||
title: "接收对象", | title: "接收对象", | ||||
@@ -124,7 +124,7 @@ export default { | |||||
}, | }, | ||||
Contents: { type: "textarea", title: "内容" }, | Contents: { type: "textarea", title: "内容" }, | ||||
ReadFlag: { type: "select", title: "状态", dataSource: "0" }, | ReadFlag: { type: "select", title: "状态", dataSource: "0" }, | ||||
ReadTime: { type: "datetime", title: "查阅时间", dateformat: "0" }, | |||||
ReadTime: { type: "datetime", title: "查阅时间", dateformat: "1" }, | |||||
}, | }, | ||||
}, // 数据源 | }, // 数据源 | ||||
dataSource: { | dataSource: { | ||||
@@ -156,7 +156,7 @@ export default { | |||||
}, | }, | ||||
// 拉取列表 | // 拉取列表 | ||||
async fetchList() { | |||||
async fetchList(isConcat=true) { | |||||
if (this.page > this.total) { return } | if (this.page > this.total) { return } | ||||
const result = await this.HTTP_GET( | const result = await this.HTTP_GET( | ||||
@@ -174,19 +174,19 @@ export default { | |||||
this.total = result.total | this.total = result.total | ||||
this.page = result.page + 1 | 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} 页,共 ${result.records} 项` | this.tips = `已加载 ${Math.min(result.page, result.total)} / ${result.total} 页,共 ${result.records} 项` | ||||
this.loadState = result.page >= result.total ? '已加载所有项目' : '向下翻以加载更多' | this.loadState = result.page >= result.total ? '已加载所有项目' : '向下翻以加载更多' | ||||
}, | }, | ||||
// 刷新清空列表 | // 刷新清空列表 | ||||
async refreshList() { | |||||
async refreshList(isConcat=true) { | |||||
this.page = 1 | this.page = 1 | ||||
this.total = 2 | this.total = 2 | ||||
this.list = [] | this.list = [] | ||||
await this.fetchList() | |||||
await this.fetchList(isConcat) | |||||
}, | }, | ||||
// 列表下拉 | // 列表下拉 | ||||
@@ -211,7 +211,7 @@ export default { | |||||
Object.assign(result, mapValues(queryObj, t => (Array.isArray(t) ? t.join(',') : t))) | Object.assign(result, mapValues(queryObj, t => (Array.isArray(t) ? t.join(',') : t))) | ||||
this.searchData = result | this.searchData = result | ||||
await this.refreshList() | |||||
await this.refreshList(false) | |||||
}, | }, | ||||
// 点击「清空查询条件」按钮 | // 点击「清空查询条件」按钮 | ||||
@@ -26,10 +26,14 @@ | |||||
{{ displayListItem(item, "MeetingTitle") }} | {{ displayListItem(item, "MeetingTitle") }} | ||||
</view> | </view> | ||||
<view class="customlist-item-field"> | |||||
<!-- <view class="customlist-item-field"> | |||||
<text class="customlist-item-field-title">会议地点:</text> | <text class="customlist-item-field-title">会议地点:</text> | ||||
{{ displayListItem(item, "MeetingPlace") }} | {{ displayListItem(item, "MeetingPlace") }} | ||||
</view> | |||||
</view> --> | |||||
<view class="customlist-item-field"> | |||||
<text class="customlist-item-field-title">会议地点:</text> | |||||
{{ displayListItem(item, "ConferenceRoomName") }} | |||||
</view> | |||||
<view class="customlist-item-field"> | <view class="customlist-item-field"> | ||||
<text class="customlist-item-field-title">开始时间:</text> | <text class="customlist-item-field-title">开始时间:</text> | ||||
@@ -91,7 +95,7 @@ | |||||
<l-select | <l-select | ||||
v-model="hasInternalParticipants" | v-model="hasInternalParticipants" | ||||
@change="searchChange" | @change="searchChange" | ||||
:range="[{value:0,text:'我申请的会议'},{value:1,text:'我参加的会议'}]" | |||||
:range="[{value:1,text:'我参加的会议'},{value:0,text:'我申请的会议'}]" | |||||
title="会议类型" | title="会议类型" | ||||
placeholder="按会议类型查询" | placeholder="按会议类型查询" | ||||
/> | /> | ||||
@@ -159,7 +163,8 @@ export default { | |||||
// 数据项的数据类型、结构 | // 数据项的数据类型、结构 | ||||
scheme: { | scheme: { | ||||
MeetingTitle: { type: "text" }, | MeetingTitle: { type: "text" }, | ||||
MeetingPlace: { type: "select", dataSource: "0" }, | |||||
// MeetingPlace: { type: "select", dataSource: "0" }, | |||||
ConferenceRoomName: { type: "text"}, | |||||
BeginTime: { type: "datetime", dateformat: "1" }, | BeginTime: { type: "datetime", dateformat: "1" }, | ||||
EndTime: { type: "datetime", dateformat: "1" }, | EndTime: { type: "datetime", dateformat: "1" }, | ||||
RecordPerson: { type: "organize", dataType: "user" }, | RecordPerson: { type: "organize", dataType: "user" }, | ||||
@@ -176,11 +181,11 @@ export default { | |||||
// MeetingPlace: "", | // MeetingPlace: "", | ||||
// CreateUser: "", | // CreateUser: "", | ||||
}, | }, | ||||
hasInternalParticipants:0, | |||||
hasInternalParticipants:1, | |||||
// 数据源 | // 数据源 | ||||
dataSource: { | dataSource: { | ||||
MeetingPlace: [], | |||||
// MeetingPlace: [], | |||||
}, | }, | ||||
// 页面相关参数 | // 页面相关参数 | ||||
@@ -220,7 +225,7 @@ export default { | |||||
}, | }, | ||||
// 拉取列表 | // 拉取列表 | ||||
async fetchList() { | |||||
async fetchList(isConcat=true) { | |||||
if (this.page > this.total) { | if (this.page > this.total) { | ||||
return; | return; | ||||
} | } | ||||
@@ -248,7 +253,7 @@ export default { | |||||
this.total = result.total; | this.total = result.total; | ||||
this.page = result.page + 1; | 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)} / ${ | this.tips = `已加载 ${Math.min(result.page, result.total)} / ${ | ||||
result.total | result.total | ||||
@@ -258,12 +263,12 @@ export default { | |||||
}, | }, | ||||
// 刷新清空列表 | // 刷新清空列表 | ||||
async refreshList() { | |||||
async refreshList(isConcat=true) { | |||||
this.page = 1; | this.page = 1; | ||||
this.total = 2; | this.total = 2; | ||||
this.list = []; | this.list = []; | ||||
await this.fetchList(); | |||||
await this.fetchList(isConcat); | |||||
}, | }, | ||||
// 列表下拉 | // 列表下拉 | ||||
@@ -287,11 +292,12 @@ export default { | |||||
); | ); | ||||
this.searchData = result; | this.searchData = result; | ||||
await this.refreshList(); | |||||
await this.refreshList(false); | |||||
}, | }, | ||||
// 点击「清空查询条件」按钮 | // 点击「清空查询条件」按钮 | ||||
reset() { | reset() { | ||||
this.hasInternalParticipants = 1 | |||||
this.queryData = this.COPY(this.defaultQueryData); | this.queryData = this.COPY(this.defaultQueryData); | ||||
this.searchChange(); | this.searchChange(); | ||||
}, | }, | ||||
@@ -311,7 +317,6 @@ export default { | |||||
this.NAV_TO(`./single?type=edit&id=${id}`); | this.NAV_TO(`./single?type=edit&id=${id}`); | ||||
return; | return; | ||||
case "join": | case "join": | ||||
console.log(123); | |||||
this.NAV_TO(`/pages/PersonnelManagement/MeetingMinutes/list?meetId=${id}`); | this.NAV_TO(`/pages/PersonnelManagement/MeetingMinutes/list?meetId=${id}`); | ||||
return; | return; | ||||
@@ -7,13 +7,19 @@ | |||||
:disabled="!edit" | :disabled="!edit" | ||||
title="会议主题" | title="会议主题" | ||||
/> | /> | ||||
<l-select | |||||
<!-- <l-select | |||||
@input="setValue('MeetingManagement.MeetingPlace', $event)" | @input="setValue('MeetingManagement.MeetingPlace', $event)" | ||||
:value="getValue('MeetingManagement.MeetingPlace')" | :value="getValue('MeetingManagement.MeetingPlace')" | ||||
:disabled="!edit" | :disabled="!edit" | ||||
:range="dataSource.MeetingManagement.MeetingPlace" | :range="dataSource.MeetingManagement.MeetingPlace" | ||||
title="会议地点" | title="会议地点" | ||||
/> | |||||
/> --> | |||||
<l-input | |||||
@input="setValue('MeetingManagement.ConferenceRoomName', $event)" | |||||
:value="getValue('MeetingManagement.ConferenceRoomName')" | |||||
:disabled="!edit" | |||||
title="会议地点" | |||||
/> | |||||
<l-date-picker | <l-date-picker | ||||
@input="setValue('MeetingManagement.BeginTime', $event)" | @input="setValue('MeetingManagement.BeginTime', $event)" | ||||
:value="getValue('MeetingManagement.BeginTime')" | :value="getValue('MeetingManagement.BeginTime')" | ||||
@@ -123,7 +129,8 @@ export default { | |||||
scheme: { | scheme: { | ||||
MeetingManagement: { | MeetingManagement: { | ||||
MeetingTitle: { type: 'text', title: '会议主题' }, | MeetingTitle: { type: 'text', title: '会议主题' }, | ||||
MeetingPlace: { type: 'select', title: '会议地点', dataSource: '0' }, | |||||
// MeetingPlace: { type: 'select', title: '会议地点', dataSource: '0' }, | |||||
ConferenceRoomName: { type: "text"}, | |||||
BeginTime: { type: 'datetime', title: '开始时间', dateformat: '1' }, | BeginTime: { type: 'datetime', title: '开始时间', dateformat: '1' }, | ||||
EndTime: { type: 'datetime', title: '结束时间', dateformat: '1' }, | EndTime: { type: 'datetime', title: '结束时间', dateformat: '1' }, | ||||
RecordPerson: { type: 'organize', title: '会议记录者', dataType: 'user' }, | RecordPerson: { type: 'organize', title: '会议记录者', dataType: 'user' }, | ||||
@@ -137,7 +144,7 @@ export default { | |||||
// 数据源 | // 数据源 | ||||
dataSource: { | dataSource: { | ||||
MeetingManagement: { | MeetingManagement: { | ||||
MeetingPlace: [], | |||||
// MeetingPlace: [], | |||||
}, | }, | ||||
} | } | ||||
@@ -25,7 +25,7 @@ | |||||
</view> | </view> | ||||
<!-- 账户密码表单 --> | <!-- 账户密码表单 --> | ||||
<l-input v-if="ready" v-model="username" placeholder="手机号 / 账号" left> | |||||
<l-input v-if="ready" v-model="username" placeholder="账号" left> | |||||
<l-icon slot="title" type="people" /> | <l-icon slot="title" type="people" /> | ||||
</l-input> | </l-input> | ||||
<l-input v-if="ready" v-model="password" placeholder="请输入密码" password left> | <l-input v-if="ready" v-model="password" placeholder="请输入密码" password left> | ||||