"use strict"; var __assign = (this && this.__assign) || function () { __assign = Object.assign || function(t) { for (var s, i = 1, n = arguments.length; i < n; i++) { s = arguments[i]; for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p]; } return t; }; return __assign.apply(this, arguments); }; var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; var __generator = (this && this.__generator) || function (thisArg, body) { var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; function verb(n) { return function (v) { return step([n, v]); }; } function step(op) { if (f) throw new TypeError("Generator is already executing."); while (_) try { if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; if (y = 0, t) op = [op[0] & 2, t.value]; switch (op[0]) { case 0: case 1: t = op; break; case 4: _.label++; return { value: op[1], done: false }; case 5: _.label++; y = op[1]; op = [0]; continue; case 7: op = _.ops.pop(); _.trys.pop(); continue; default: if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } if (t[2]) _.ops.pop(); _.trys.pop(); continue; } op = body.call(thisArg, _); } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; } }; Object.defineProperty(exports, "__esModule", { value: true }); var tools_1 = require("../../../../../utils/tools"); var promise_wx_api_1 = require("../../../../../utils/promise-wx-api"); var app = getApp(); var testPic = "https://ss2.bdstatic.com/70cFvnSh_Q1YnxGkpoWK1HF6hhy/it/u=3015922630,3907554494&fm=26&gp=0.jpg"; var iniFmData = { topicId: "", operateReason: "" }; var iniCloseFmData = { topicId: "", operateReason: "", closedStatus: '' }; Page({ data: { groupId: "", firstLoaded: false, customerId: "", gridId: "", gridName: "", info: { groupName: "", leaderFlag: "member" }, topics: { loading: false, page: 1, pageSize: 10, isNone: false, state: "", list: [] }, isShowedFiltrateListPanle: false, focusedTopicId: "", resolved: true, showedCloseTopicPanel: false, showedShieldTopicPanel: false, fmData: __assign({}, iniFmData), closeFmData: __assign({}, iniCloseFmData) }, onLoad: function (query) { return __awaiter(this, void 0, void 0, function () { var _a, customerId, gridId, currentGridName, gid; return __generator(this, function (_b) { switch (_b.label) { case 0: wx.showLoading({ title: '', mask: true }); return [4, tools_1.doAfterLogin()]; case 1: _b.sent(); _a = app.globalData, customerId = _a.customerId, gridId = _a.gridId, currentGridName = _a.currentGridName; this.setData({ customerId: customerId, gridId: gridId, gridName: currentGridName }); gid = query.gid; this.setData({ groupId: gid }); return [4, this.getApiData()]; case 2: _b.sent(); wx.hideLoading(); return [2]; } }); }); }, onReachBottom: function () { this.getTopicList(); }, inputSync: tools_1.inputSync, showFiltrateListPanel: function () { this.setData({ isShowedFiltrateListPanle: true }); }, hideFiltrateListPanel: function () { this.setData({ isShowedFiltrateListPanle: false }); }, filtrateList: function (e) { var state = e.target.dataset.state; var topics = this.data.topics; if (topics.state !== state) { topics.state = state; this.setData({ topics: topics }); this.refreshTopicList(); } }, handleTapRootNode: function () { this.hideFiltrateListPanel(); }, focuseTopic: function (e) { var id = e.target.dataset.id; var focusedTopicId = this.data.focusedTopicId; if (typeof id === "undefined" || id === focusedTopicId) { focusedTopicId = ""; } else { focusedTopicId = id; } console.log(focusedTopicId); this.setData({ focusedTopicId: focusedTopicId }); }, blurTopic: function () { this.setData({ focusedTopicId: "" }); }, shieldTopic: function () { var _a = this.data, fmData = _a.fmData, focusedTopicId = _a.focusedTopicId, showedShieldTopicPanel = _a.showedShieldTopicPanel; fmData.topicId = focusedTopicId; showedShieldTopicPanel = true; this.setData({ fmData: fmData, showedShieldTopicPanel: showedShieldTopicPanel }); }, confirmShieldTopic: function () { return __awaiter(this, void 0, void 0, function () { var fmData, _a, _b, code, data, msg, topics; return __generator(this, function (_c) { switch (_c.label) { case 0: fmData = this.data.fmData; if (fmData.operateReason === "") { return [2, wx.showToast({ title: "屏蔽理由不能为空。", icon: "none", duration: 1500 })]; } wx.showLoading({ title: "请求中", mask: true }); return [4, promise_wx_api_1.wxRequestPost("resi/group/topic/hidetopic", fmData, {})]; case 1: _a = _c.sent(), _b = _a.data.data, code = _b.code, data = _b.data, msg = _a.msg; wx.hideLoading(); if (msg === "success" && code === 0) { wx.showToast({ title: "屏蔽成功。", duration: 1500 }); topics = this.data.topics; topics.list = topics.list.filter(function (item) { return item.topicId !== fmData.topicId; }); this.setData({ topics: topics }); this.cancelShieldTopic(); } else { console.log("屏蔽失败。", data); wx.showToast({ title: "网络错误", icon: "none", duration: 1500 }); } return [2]; } }); }); }, cancelShieldTopic: function () { this.setData({ showedShieldTopicPanel: false, fmData: __assign({}, iniFmData) }); this.blurTopic(); }, closeTopic: function () { var _a = this.data, closeFmData = _a.closeFmData, focusedTopicId = _a.focusedTopicId, showedCloseTopicPanel = _a.showedCloseTopicPanel; closeFmData.topicId = focusedTopicId; showedCloseTopicPanel = true; this.setData({ closeFmData: closeFmData, showedCloseTopicPanel: showedCloseTopicPanel, resolved: true }); }, confirmCloseTopic: function () { return __awaiter(this, void 0, void 0, function () { var closeFmData, _a, _b, code, data, msg, topics; return __generator(this, function (_c) { switch (_c.label) { case 0: closeFmData = this.data.closeFmData; if (closeFmData.operateReason === "") { return [2, wx.showToast({ title: "关闭理由不能为空。", icon: "none", duration: 1500 })]; } closeFmData.closedStatus = this.data.resolved ? "resolved" : "unresolved"; wx.showLoading({ title: "请求中", mask: true }); return [4, promise_wx_api_1.wxRequestPost("resi/group/topic/closetopic", closeFmData, {})]; case 1: _a = _c.sent(), _b = _a.data.data, code = _b.code, data = _b.data, msg = _a.msg; wx.hideLoading(); if (msg === "success" && code === 0) { wx.showToast({ title: "关闭话题成功。", duration: 1500 }); topics = this.data.topics; topics.list = topics.list.map(function (item) { if (item.topicId === closeFmData.topicId) { item.status = "closed"; } return item; }); this.setData({ topics: topics }); this.cancelCloseTopic(); } return [2]; } }); }); }, cancelCloseTopic: function () { this.setData({ showedCloseTopicPanel: false, closeFmData: __assign({}, iniCloseFmData) }); this.blurTopic(); }, closeRadioChange: function (e) { var value = e.detail.value; if (value === 'resolved') { this.setData({ resolved: true }); } else { this.setData({ resolved: false }); } }, translateTopic: function (e) { console.log(e.currentTarget.dataset.topicid); var topicId = e.currentTarget.dataset.topicid; wx.navigateTo({ url: "../topicToDiscussion/index?topicid=" + topicId }); }, getApiData: function () { return __awaiter(this, void 0, void 0, function () { return __generator(this, function (_a) { switch (_a.label) { case 0: this.getTopicList(); return [4, this.getInfo()]; case 1: _a.sent(); return [2]; } }); }); }, getInfo: function () { return __awaiter(this, void 0, void 0, function () { var groupId, _a, _b, code, data, msg, info; return __generator(this, function (_c) { switch (_c.label) { case 0: groupId = this.data.groupId; return [4, promise_wx_api_1.wxRequestPost("resi/group/group/getgroupsummarize", { groupId: groupId }, {})]; case 1: _a = _c.sent(), _b = _a.data.data, code = _b.code, data = _b.data, msg = _a.msg; if (msg === "success" && code === 0) { info = this.data.info; info.groupName = data.groupName; info.leaderFlag = data.leaderFlag; this.setData({ info: info }); } return [2]; } }); }); }, refreshTopicList: function () { this.resetTopicList(); this.getTopicList(); }, resetTopicList: function () { var topics = this.data.topics; topics.list = []; topics.page = 1; topics.isNone = false; this.setData({ topics: topics }); }, getTopicList: function () { return __awaiter(this, void 0, void 0, function () { var _a, groupId, topics, _b, _c, code, data, msg, newList; return __generator(this, function (_d) { switch (_d.label) { case 0: _a = this.data, groupId = _a.groupId, topics = _a.topics; if (topics.loading || topics.isNone) return [2]; topics.loading = true; this.setData({ topics: topics }); return [4, promise_wx_api_1.wxRequestPost("resi/group/topic/getpasttopiclist", { groupId: groupId, status: topics.state, pageNo: topics.page, pageSize: topics.pageSize }, {})]; case 1: _b = _d.sent(), _c = _b.data.data, code = _c.code, data = _c.data, msg = _b.msg; topics.loading = false; if (msg === "success" && code === 0) { newList = data .map(function (item) { if (!item.releaseUserName) { item.releaseUserName = "匿名用户"; } return item; }) .filter(function (item) { return topics.list.findIndex(function (sItem) { return sItem.topicId === item.topicId; }) === -1; }); topics.list = topics.list.concat(newList); topics.page = topics.page + 1; if (data.length < topics.pageSize) { topics.isNone = true; } } this.setData({ topics: topics }); return [2]; } }); }); } });