Commit 323c976a by xiexiaoqin

fix: 修改任务列表的状态

parent 46b647de
...@@ -24,6 +24,7 @@ export default async function login() { ...@@ -24,6 +24,7 @@ export default async function login() {
getApp().globalData.token = res.data.data.accessToken.access_token; getApp().globalData.token = res.data.data.accessToken.access_token;
getApp().globalData.name = res.data.data.oapiUser.name; getApp().globalData.name = res.data.data.oapiUser.name;
getApp().globalData.userid = res.data.data.oapiUser.userid; getApp().globalData.userid = res.data.data.oapiUser.userid;
getApp().globalData.mwUserId = res.data.data.mwUserId;
getApp().globalData.avatar = res.data.data.oapiUser.avatar; getApp().globalData.avatar = res.data.data.oapiUser.avatar;
getApp().globalData.userInfo = JSON.stringify({ getApp().globalData.userInfo = JSON.stringify({
username: oapiUser.name, username: oapiUser.name,
......
...@@ -62,7 +62,7 @@ view { ...@@ -62,7 +62,7 @@ view {
margin-top: 10rpx; margin-top: 10rpx;
} }
.list-item { view.list-item {
border: none; border: none;
border-radius: 0; border-radius: 0;
border-bottom: 2rpx solid rgba(25, 31, 37, 0.12); border-bottom: 2rpx solid rgba(25, 31, 37, 0.12);
......
...@@ -73,7 +73,8 @@ create.Page({ ...@@ -73,7 +73,8 @@ create.Page({
if (res.data.data) { if (res.data.data) {
const addData = res.data.data[0].commentListDataModelList[0]; const addData = res.data.data[0].commentListDataModelList[0];
addData.updateTime = getCreateShowTime(addData.updateTime); addData.updateTime = getCreateShowTime(addData.updateTime);
this.store.data.affairList.unshift(addData) this.store.data.affairList.unshift(addData);
this.store.data.tasks.unshift(addData);
dd.navigateBack(); dd.navigateBack();
} }
} }
......
...@@ -148,10 +148,12 @@ create.Page({ ...@@ -148,10 +148,12 @@ create.Page({
dd.onSocketMessage((res) => { dd.onSocketMessage((res) => {
dd.alert({ content: '收到数据!' + JSON.stringify(res) }); dd.alert({ content: '收到数据!' + JSON.stringify(res) });
}); });
//this.WebSocketTest();
}, },
connect_start() { connect_start() {
dd.connectSocket({ dd.connectSocket({
url: `ws://139.196.213.18:9999/meet-websocket/websocket/${getApp().globalData.userid}`, // 开发者服务器接口地址,必须是 wss 协议,且域名必须是后台配置的合法域名 url: `ws://gateway-beta.mingwork.com/meet-websocket/websocket/${getApp().globalData.mwUserId}`, // 开发者服务器接口地址,必须是 wss 协议,且域名必须是后台配置的合法域名
success: (res) => { success: (res) => {
}, },
...@@ -162,6 +164,31 @@ create.Page({ ...@@ -162,6 +164,31 @@ create.Page({
} }
}); });
}, },
WebSocketTest() {
// 打开一个 web socket
var ws = new WebSocket(`wss://gateway-beta.mingwork.com/meet-websocket/websocket/1310054599841542146`);
console.log(ws);
ws.onopen = function () {
// Web Socket 已连接上,使用 send() 方法发送数据
ws.send("发送数据");
dd.alert({ content: "数据发送中..." });
};
ws.onmessage = function (evt) {
var received_msg = evt.data;
console.log(received_msg)
dd.alert({ content: "数据已接收..." });
};
ws.onclose = function () {
// 关闭 websocket
dd.alert({ content: "连接已关闭..." });
};
},
//添加单次会议 //添加单次会议
async addOnceMeeting(content) { async addOnceMeeting(content) {
await this.getData(true); await this.getData(true);
......
...@@ -1017,32 +1017,15 @@ create.Page({ ...@@ -1017,32 +1017,15 @@ create.Page({
}, },
//修改任务状态 //修改任务状态
changeTaskStatus(e) { changeTaskStatus(e) {
const data = { this.store.changeStatus(this.store.data.scheduleId, {
meetingId: this.store.data.scheduleId, commentId: e.commentId,
platform: 'dingTalk', processState: e.status,
taskModifyModel: { taskId: e.taskId
commentId: e.commentId, }, () => {
processState: e.status, dd.pageScrollTo({
taskId: e.taskId scrollTop: 0
} })
}; })
updateMeetingTask(data).then(res => {
if (res.data.code === 0) {
const [index] = this.getIndexFromAffairList(e.commentId);
if (index !== -1) {
const changeData = this.store.data.affairList[index];
changeData.meetingTaskSimpleViewModel.processState = e.status;
changeData.updateTime = getCreateShowTime(new Date());
this.store.data.affairList.splice(index, 1);
this.store.data.affairList.unshift(changeData);
dd.pageScrollTo({
scrollTop: 0
})
}
this.update();
}
});
}, },
// 创建任务 // 创建任务
goCreateTask(e) { goCreateTask(e) {
......
import { getCreateShowTime } from '../../utils/utils';
import { updateMeetingTask } from '../../api/request';
class Store { class Store {
data = { data = {
affairList: [], affairList: [],
...@@ -17,5 +19,59 @@ class Store { ...@@ -17,5 +19,59 @@ class Store {
logId: '', logId: '',
relatedAppPlatform: null relatedAppPlatform: null
} }
changeStatus(meetingId, taskModifyModel, callBack) {
const data = {
meetingId: meetingId,
platform: 'dingTalk',
taskModifyModel
};
// 提前改
const index = this.data.affairList.findIndex(it => it.commentId === taskModifyModel.commentId);
if (index !== -1) {
// 修改详情列表数据
const changeData = this.data.affairList[index];
changeData.meetingTaskSimpleViewModel.processState = taskModifyModel.processState;
changeData.updateTime = getCreateShowTime(new Date());
this.data.affairList.splice(index, 1);
this.data.affairList.unshift(changeData);
// 修改任务列表页面数据
this.data.tasks[index].processState = taskModifyModel.processState;
this.data.tasks[index].updateTime = getCreateShowTime(new Date());
this.update();
if (callBack) {
callBack()
}
}
updateMeetingTask(data).then(res => {
if (res.data.code === 0) {
// const index = this.data.affairList.findIndex(it => it.commentId === taskModifyModel.commentId);
// if (index !== -1) {
// // 修改详情列表数据
// const changeData = this.data.affairList[index];
// changeData.meetingTaskSimpleViewModel.processState = taskModifyModel.processState;
// changeData.updateTime = getCreateShowTime(new Date());
// this.data.affairList.splice(index, 1);
// this.data.affairList.unshift(changeData);
// // 修改任务列表页面数据
// this.data.tasks[index].processState = taskModifyModel.processState;
// this.data.tasks[index].updateTime = getCreateShowTime(new Date());
// this.update();
// if (callBack) {
// callBack()
// }
// }
}
});
}
} }
export default new Store() export default new Store()
\ No newline at end of file
...@@ -12,6 +12,10 @@ create.Page({ ...@@ -12,6 +12,10 @@ create.Page({
}) })
}, },
changeTaskStatus({ status, taskId, commentId, meetingId }) { changeTaskStatus({ status, taskId, commentId, meetingId }) {
this.store.changeStatus(this.data.meetingId, {
commentId: commentId,
processState: status,
taskId: taskId
})
} }
}); });
// socket已经连接成功
var socketOpen = false
// socket已经调用关闭function
var socketClose = false
// socket发送的消息队列
var socketMsgQueue = []
// 判断心跳变量
var heart = ''
// 心跳失败次数
var heartBeatFailCount = 0
// 终止心跳
var heartBeatTimeOut = null;
// 终止重新连接
var connectSocketTimeOut = null;
var webSocket = {
/**
* 创建一个 WebSocket 连接
* @param {options}
* url String 是 开发者服务器接口地址,必须是 wss 协议,且域名必须是后台配置的合法域名
* header Object 否 HTTP Header , header 中不能设置 Referer
* method String 否 默认是GET,有效值:OPTIONS, GET, HEAD, POST, PUT, DELETE, TRACE, CONNECT
* protocols StringArray 否 子协议数组 1.4.0
* success Function 否 接口调用成功的回调函数
* fail Function 否 接口调用失败的回调函数
* complete Function 否 接口调用结束的回调函数(调用成功、失败都会执行)
*/
connectSocket: function (options) {
// dd.showLoading({
// title: '',
// mask: true,
// })
socketOpen = false
socketClose = false
socketMsgQueue = []
dd.connectSocket({
url: `wss://mingpay-websocket.mingwork.com/v1/mingpaywebsocket?param=${dd.corpId}_${dd.getStorageSync({ key: 'userId' }).data}`,
// url: `ws://192.168.1.102:8400/v1/mingpaywebsocket?param=${dd.corpId}_${dd.getStorageSync({ key: 'userId' }).data}`,
data: {},
header: {
'content-type': 'application/json'
},
method: "GET",
success: function (res) {
console.log(res, `wss://gateway.mingwork.com/mingpay-phone/v1/mingpaywebsocket?param=${dd.corpId}_${dd.getStorageSync({ key: 'userId' }).data}`)
if (options) {
// 成功回调
options.success && options.success(res);
}
},
fail: function (res) {
console.log(res)
if (options) {
// 失败回调
options.fail && options.fail(res);
}
}
})
},
/**
* 通过 WebSocket 连接发送数据
* @param {options}
* data String / ArrayBuffer 是 需要发送的内容
* success Function 否 接口调用成功的回调函数
* fail Function 否 接口调用失败的回调函数
* complete Function 否 接口调用结束的回调函数(调用成功、失败都会执行)
*/
sendSocketMessage: function (options) {
if (socketOpen) {
dd.sendSocketMessage({
data: options.msg,
success: function (res) {
if (options) {
options.success && options.success(res);
}
},
fail: function (res) {
if (options) {
options.fail && options.fail(res);
}
}
})
} else {
socketMsgQueue.push(options.msg)
}
},
/**
* 关闭 WebSocket 连接。
* @param {options}
* code Number 否 一个数字值表示关闭连接的状态号,表示连接被关闭的原因。如果这个参数没有被指定,默认的取值是1000 (表示正常连接关闭)
* reason String 否 一个可读的字符串,表示连接被关闭的原因。这个字符串必须是不长于123字节的UTF-8 文本(不是字符)
* fail Function 否 接口调用失败的回调函数
* complete Function 否 接口调用结束的回调函数(调用成功、失败都会执行)
*/
closeSocket: function (options) {
if (connectSocketTimeOut) {
clearTimeout(connectSocketTimeOut);
connectSocketTimeOut = null;
}
socketClose = true;
var self = this;
self.stopHeartBeat();
dd.closeSocket({
success: function (res) {
console.log('WebSocket 已关闭!');
if (options) {
options.success && options.success(res);
}
},
fail: function (res) {
if (options) {
options.fail && options.fail(res);
}
}
})
},
// 收到消息回调
onSocketMessageCallback: function (msg) {
},
// 开始心跳
startHeartBeat: function () {
console.log('socket开始心跳')
var self = this;
heart = 'heart';
self.heartBeat();
},
// 结束心跳
stopHeartBeat: function () {
console.log('socket结束心跳')
var self = this;
heart = '';
if (heartBeatTimeOut) {
clearTimeout(heartBeatTimeOut);
heartBeatTimeOut = null;
}
if (connectSocketTimeOut) {
clearTimeout(connectSocketTimeOut);
connectSocketTimeOut = null;
}
},
// 心跳
heartBeat: function () {
var self = this;
if (!heart) {
return;
}
self.sendSocketMessage({
msg: JSON.stringify({
'msg_type': 'heart'
}),
success: function (res) {
console.log('socket心跳成功');
if (heart) {
heartBeatTimeOut = setTimeout(() => {
self.heartBeat();
}, 7000);
}
},
fail: function (res) {
console.log('socket心跳失败');
if (heartBeatFailCount > 2) {
// 重连
self.connectSocket();
}
if (heart) {
heartBeatTimeOut = setTimeout(() => {
self.heartBeat();
}, 7000);
}
heartBeatFailCount++;
},
});
}
}
// 监听WebSocket连接打开事件。callback 回调函数
dd.onSocketOpen(function (res) {
console.log('WebSocket连接已打开!')
// 如果已经调用过关闭function
if (socketClose) {
webSocket.closeSocket();
} else {
socketOpen = true
for (var i = 0; i < socketMsgQueue.length; i++) {
webSocket.sendSocketMessage(socketMsgQueue[i])
}
socketMsgQueue = []
webSocket.startHeartBeat();
}
})
// 监听WebSocket错误。
dd.onSocketError(function (res) {
console.log('WebSocket连接打开失败,请检查!', res)
})
// 监听WebSocket接受到服务器的消息事件。
dd.onSocketMessage(function (res) {
console.log('收到服务器内容:' + res.data)
webSocket.onSocketMessageCallback(res.data)
})
// 监听WebSocket关闭。
dd.onSocketClose(function (res) {
console.log('WebSocket 已关闭!')
if (!socketClose) {
clearTimeout(connectSocketTimeOut)
connectSocketTimeOut = setTimeout(() => {
webSocket.connectSocket();
}, 3000);
}
})
module.exports = webSocket
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment