// pages/myMediate/index.js
|
const $$ = require('../../utils/util');
|
const app = getApp();
|
|
// 获取我的调解
|
function getMyMediateApi(submitData) {
|
return $$.request({ url: 'paCaseInfo/pageMyMediation', type: 'get', service: 'mediate', submitData });
|
}
|
|
// 撤销申请
|
function cancelCaseApi(submitData) {
|
return $$.request({ url: 'paCaseInfo/revokeApply?id=' + submitData, type: 'get', service: 'mediate' });
|
}
|
|
Page({
|
/**
|
* 页面的初始数据
|
*/
|
data: {
|
imgUrl: $$.url.img,
|
tab: [
|
{ title: '我是申请人', name: '15_020008-1' },
|
{ title: '我是被申请人', name: '15_020008-2' },
|
],
|
selectModel: [
|
{
|
name: '全部',
|
key: 'process',
|
data: [
|
{ label: '全部', value: '', span: 24 },
|
{ label: '待受理', value: '1' },
|
{ label: '待调解', value: '2' },
|
{ label: '调解中', value: '3' },
|
{ label: '调解结束', value: '4' },
|
{ label: '退回', value: '5' },
|
{ label: '不予受理', value: '6' },
|
{ label: '申请人撤回', value: '7' },
|
],
|
},
|
],
|
loading: false, // 滚动到底部分页的加载状态
|
search: {
|
page: 1,
|
size: 10,
|
perType: '15_020008-1',
|
process: '',
|
caseStatus: '',
|
},
|
data: [], // 数据
|
total: 0, // 总数
|
popupMsg: {
|
show: false,
|
title: '',
|
data: null,
|
},
|
},
|
|
// 获取搜索参数
|
handleGetType(e) {
|
this.getMyMediate({ ...this.data.search, page: 1, process: e.detail.process });
|
},
|
|
// 切换tab
|
handleChangeTab(e) {
|
let type = null;
|
if (e.detail.name === '15_020008-1') {
|
type = [
|
{ label: '全部', value: '', span: 24 },
|
{ label: '待受理', value: '1' },
|
{ label: '待调解', value: '2' },
|
{ label: '调解中', value: '3' },
|
{ label: '调解结束', value: '4' },
|
{ label: '退回', value: '5' },
|
{ label: '不予受理', value: '6' },
|
{ label: '申请人撤回', value: '7' },
|
];
|
} else {
|
type = [
|
{ label: '全部', value: '', span: 24 },
|
{ label: '待调解', value: '2' },
|
{ label: '调解中', value: '3' },
|
{ label: '调解结束', value: '4' },
|
{ label: '申请人撤回', value: '7' },
|
];
|
}
|
let submitData = {
|
page: 1,
|
size: 10,
|
perType: e.detail.name,
|
process: '',
|
caseStatus: '',
|
};
|
let that = this;
|
this.setData({ data: [], selectModel: [{ name: '全部', key: 'process', data: type }], search: submitData }, () => {
|
that.getMyMediate(submitData);
|
});
|
},
|
|
// 滚动到底部获取案件
|
handlescrolltolower() {
|
if (this.data.data.length >= this.data.total) {
|
return false;
|
}
|
if (!this.data.loading) {
|
this.data.loading = true;
|
this.setData({ loading: this.data.loading });
|
let submitData = { ...this.data.search };
|
submitData.page = submitData.page + 1;
|
this.getMyMediate(submitData);
|
}
|
},
|
|
// 打开底部弹窗
|
handleOpenBottomPopup(e) {
|
let type = e.detail.type;
|
if (type === 'roomNo') {
|
this.setData({ popupMsg: { show: true, data: e.detail.data, title: '线上调解房间号' } });
|
}
|
},
|
|
// 底部弹窗显隐
|
_handleClosePopupMsg() {
|
this.setData({ popupMsg: { show: false } });
|
},
|
|
// 复制房间号
|
_handleCopy() {
|
let that = this;
|
wx.setClipboardData({
|
data: that.data.popupMsg.data,
|
success: function (res) {
|
wx.getClipboardData({
|
success: function (res) {
|
$$.showToast({ title: '复制成功' });
|
that.setData({ popupMsg: { show: false } });
|
},
|
});
|
},
|
});
|
},
|
|
// 撤销申请
|
async handleCancelCase(e) {
|
let caseId = e.detail;
|
$$.showLoading();
|
const res = await cancelCaseApi(caseId);
|
$$.hideLoading();
|
if (res.type) {
|
$$.showToast({ icon: 'success', title: '撤销成功' });
|
await $$.sleep();
|
this.getMyMediate(this.data.search);
|
}
|
},
|
|
// 获取我的调解案件
|
async getMyMediate(submitData, caseMsg, type) {
|
$$.showLoading();
|
const res = await getMyMediateApi(submitData);
|
$$.hideLoading();
|
if (this.data.loading) {
|
// 取消滚动底部的加载状态
|
this.setData({ loading: false });
|
}
|
if (res.type) {
|
if (caseMsg) {
|
forEach: for (let i = 0; i <= res.data.content.length - 1; i++) {
|
if (res.data.content[i].id === caseMsg.id) {
|
this.data.data[caseMsg.caseIndex] = { ...res.data.content[i] };
|
this.setData({ data: JSON.parse(JSON.stringify(this.data.data)) });
|
break forEach;
|
}
|
}
|
} else {
|
if (submitData.page === 1) {
|
this.data.data = res.data.content || [];
|
} else {
|
this.data.data = this.data.data.concat(res.data.content || []);
|
}
|
this.setData({ search: submitData, data: this.data.data, total: res.data.totalElements || 0 });
|
if (type === 'onPullDownRefresh') {
|
$$.showToast({ title: '已是最新记录', duration: 1000 });
|
wx.stopPullDownRefresh();
|
}
|
}
|
}
|
},
|
|
/**
|
* 生命周期函数--监听页面加载
|
*/
|
onLoad(options) {
|
this.getMyMediate(this.data.search);
|
},
|
|
/**
|
* 生命周期函数--监听页面显示
|
*/
|
onShow() {
|
// 当其他页面返回时更新数据,caseIndex:判断那个案件的下标精确更新该案件,handleVisible:表示是否在其他页面操作了之后返回
|
let caseMsg = app.globalData.caseMsg;
|
if (caseMsg.id && caseMsg.caseIndex !== undefined && caseMsg.handleVisible) {
|
let search = this.data.search;
|
search.size = search.page * 10;
|
search.page = 1;
|
this.getMyMediate(search, caseMsg);
|
app.globalData.caseMsg = {};
|
}
|
},
|
|
/**
|
* 页面相关事件处理函数--监听用户下拉动作
|
*/
|
onPullDownRefresh() {
|
let search = {
|
page: 1,
|
size: 10,
|
perType: this.data.search.perType,
|
process: '',
|
caseStatus: '',
|
};
|
this.getMyMediate(search, '', 'onPullDownRefresh');
|
},
|
});
|