849 changed files with 28014 additions and 0 deletions
@ -0,0 +1,13 @@ |
|||
*.class |
|||
|
|||
# Mobile Tools for Java (J2ME) |
|||
.mtj.tmp/ |
|||
|
|||
# Package Files # |
|||
*.jar |
|||
*.war |
|||
*.ear |
|||
/project.config.json |
|||
# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml |
|||
hs_err_pid* |
|||
.idea/ |
@ -0,0 +1,18 @@ |
|||
var fly = require('../utils/request.js') |
|||
module.exports = { |
|||
getResidentDetail: getResidentDetail, |
|||
getPartyMemberDetail: getPartyMemberDetail, |
|||
authenticateHistory: authenticateHistory |
|||
} |
|||
// 居民用户详情
|
|||
function getResidentDetail (params) { |
|||
return fly.get('work/user/swagger/residentDetail', params) |
|||
} |
|||
// 党员详情
|
|||
function getPartyMemberDetail (params) { |
|||
return fly.get('work/user/swagger/partyMemberDetail', params) |
|||
} |
|||
//认证历史详情
|
|||
function authenticateHistory (params) { |
|||
return fly.get('work/user/swagger/authenticateHistory', params) |
|||
} |
@ -0,0 +1,13 @@ |
|||
var fly = require('../utils/request.js') |
|||
module.exports = { |
|||
getResidentDetail: getResidentDetail, |
|||
authenticateResident: authenticateResident |
|||
} |
|||
// 居民用户详情
|
|||
function getResidentDetail (params) { |
|||
return fly.get('work/user/swagger/residentDetail', params) |
|||
} |
|||
// 认证
|
|||
function authenticateResident (params) { |
|||
return fly.post('work/user/swagger/authenticateResident', params) |
|||
} |
@ -0,0 +1,280 @@ |
|||
import request from '../utils/requestClerk' |
|||
|
|||
/** |
|||
* 获得消息阅读情况列表 |
|||
* noticeId 消息id |
|||
* readType 阅读类型:0未读,1已读 |
|||
*/ |
|||
export function getNoticeReadList({ |
|||
noticeId, |
|||
readType |
|||
}) { |
|||
return request({ |
|||
method: 'GET', |
|||
url: 'cloudAnalysis/masterGroup/getNoticeReadList', |
|||
options: { |
|||
noticeId, |
|||
readType |
|||
} |
|||
}) |
|||
} |
|||
/** |
|||
* 获得群聊消息列表 (话题,通知)置顶 时间优先 |
|||
* pageIndex 0 |
|||
* pageSize 10 |
|||
* id 10 |
|||
*/ |
|||
export function getGridEvaList({ |
|||
pageIndex, |
|||
pageSize, |
|||
id |
|||
}) { |
|||
return request({ |
|||
method: 'GET', |
|||
url: 'cloudAnalysis/masterGroup/getGroupMessageList', |
|||
options: { |
|||
pageIndex, |
|||
pageSize, |
|||
id |
|||
} |
|||
}) |
|||
} |
|||
|
|||
/** |
|||
* 获得话题详情 |
|||
*/ |
|||
export function getTopicDetail(topicId) { |
|||
return request({ |
|||
method: 'GET', |
|||
url: `cloudAnalysis/masterGroup/getTopicDetail/${topicId}`, |
|||
}) |
|||
} |
|||
/** |
|||
* 查看群成员列表 |
|||
*/ |
|||
export function getMemberList() { |
|||
return request({ |
|||
method: 'GET', |
|||
url: 'cloudAnalysis/masterGroup/getMemberList' |
|||
}) |
|||
} |
|||
|
|||
/** |
|||
* 通知详情 |
|||
*/ |
|||
export function getNoticeDetail(noticeId) { |
|||
return request({ |
|||
method: 'GET', |
|||
url: `cloudAnalysis/masterGroup/getNoticeDetail/${noticeId}`, |
|||
}) |
|||
} |
|||
/** |
|||
* 置顶通知(置顶/取消) |
|||
* noticeId 通知ID |
|||
* topType 操作类型:1,置顶,2取消 |
|||
*/ |
|||
export function setTopNotice({ |
|||
noticeId, |
|||
topType |
|||
}) { |
|||
return request({ |
|||
method: 'GET', |
|||
url: 'cloudAnalysis/masterGroup/setTopNotice', |
|||
options: { |
|||
noticeId, |
|||
topType |
|||
} |
|||
}) |
|||
} |
|||
/** |
|||
* 关闭通知 |
|||
*/ |
|||
export function closeNotice(noticeId) { |
|||
return request({ |
|||
method: 'GET', |
|||
url: `cloudAnalysis/masterGroup/closeNotice/${noticeId}`, |
|||
}) |
|||
} |
|||
/** |
|||
* 发布话题 |
|||
* topicContent 话题内容 |
|||
* images 图片 |
|||
*/ |
|||
export function topicSubmit({ |
|||
topicContent, |
|||
images |
|||
}) { |
|||
return request({ |
|||
method: 'POST', |
|||
url: 'cloudAnalysis/masterGroup/topicSubmit', |
|||
options: { |
|||
topicContent, |
|||
images |
|||
} |
|||
}) |
|||
} |
|||
|
|||
/** |
|||
* 发布通知 |
|||
* noticeTitle 通知标题 |
|||
* noticeContent 话题内容 |
|||
* images 图片 |
|||
*/ |
|||
export function noticeSubmit({ |
|||
noticeTitle, |
|||
noticeContent, |
|||
images |
|||
}) { |
|||
return request({ |
|||
method: 'POST', |
|||
url: 'cloudAnalysis/masterGroup/noticeSubmit', |
|||
options: { |
|||
noticeTitle, |
|||
noticeContent, |
|||
images |
|||
} |
|||
}) |
|||
} |
|||
/** |
|||
* 置顶话题(置顶/取消) |
|||
* topicId 话题id |
|||
* topType 操作类型:1,置顶,2取消 |
|||
*/ |
|||
export function SetTopTopic({ |
|||
topicId, |
|||
topType |
|||
}) { |
|||
return request({ |
|||
method: 'GET', |
|||
url: 'cloudAnalysis/masterGroup/SetTopTopic', |
|||
options: { |
|||
topicId, |
|||
topType |
|||
} |
|||
}) |
|||
} |
|||
|
|||
/** |
|||
* 置顶话题(置顶/取消) |
|||
* topicId 话题id |
|||
*/ |
|||
export function closeTopic(topicId) { |
|||
return request({ |
|||
method: 'GET', |
|||
url: `cloudAnalysis/masterGroup/closeTopic/${topicId}`, |
|||
}) |
|||
} |
|||
|
|||
/** |
|||
* 表态话题(赞/踩) |
|||
* topicId 话题id |
|||
* attitude 表态 0赞;1踩;2取消赞;3取消踩 |
|||
*/ |
|||
export function topicStatement({ |
|||
topicId, |
|||
attitude |
|||
}) { |
|||
return request({ |
|||
method: 'GET', |
|||
url: `cloudAnalysis/masterGroup/topicStatement`, |
|||
options: { |
|||
topicId, |
|||
attitude |
|||
} |
|||
}) |
|||
} |
|||
|
|||
|
|||
/** |
|||
* 获取评论列表 |
|||
* pageIndex 0 |
|||
* pageSize 10 |
|||
* topicId 话题id |
|||
* orderType 排序方式 0: 获取最新列表,1: 获取最热列表 |
|||
*/ |
|||
export function getCommentList({ |
|||
pageIndex, |
|||
pageSize, |
|||
topicId, |
|||
orderType |
|||
}) { |
|||
return request({ |
|||
method: 'GET', |
|||
url: 'cloudAnalysis/masterGroup/getCommentList', |
|||
options: { |
|||
pageIndex, |
|||
pageSize, |
|||
topicId, |
|||
orderType |
|||
} |
|||
}) |
|||
} |
|||
|
|||
/** |
|||
* 表态评论(赞/踩) |
|||
* topicId 话题id |
|||
* attitude 表态 0赞;1踩; |
|||
* commentId 表态 0赞;1踩; |
|||
*/ |
|||
export function commentStatement({ |
|||
attitude, |
|||
commentId, |
|||
topicId |
|||
}) { |
|||
return request({ |
|||
method: 'GET', |
|||
url: `cloudAnalysis/masterGroup/commentStatement`, |
|||
options: { |
|||
attitude, |
|||
topicId, |
|||
commentId |
|||
} |
|||
}) |
|||
} |
|||
|
|||
/** |
|||
* 提交评论 |
|||
* topicId 话题id |
|||
* faCommentId 父评论ID; |
|||
* content 评论内容 |
|||
*/ |
|||
export function commentSubmit({ |
|||
topicId, |
|||
faCommentId, |
|||
content |
|||
}) { |
|||
return request({ |
|||
method: 'POST', |
|||
url: `cloudAnalysis/masterGroup/commentSubmit`, |
|||
options: { |
|||
topicId, |
|||
faCommentId, |
|||
content |
|||
} |
|||
}) |
|||
} |
|||
|
|||
/** |
|||
* 判断是否更新头像 |
|||
*/ |
|||
export function checkUpdateAvatar() { |
|||
return request({ |
|||
method: 'GET', |
|||
url: `cloudAnalysis/masterGroup/checkUpdateAvatar`, |
|||
}) |
|||
} |
|||
/** |
|||
* 更新头像 |
|||
* avatar 头像地址 |
|||
*/ |
|||
export function updateAvatar({ |
|||
avatar |
|||
}) { |
|||
return request({ |
|||
method: 'GET', |
|||
url: `cloudAnalysis/masterGroup/updateAvatar`, |
|||
options: { |
|||
avatar |
|||
} |
|||
}) |
|||
} |
@ -0,0 +1,13 @@ |
|||
var fly = require('../utils/request.js') |
|||
module.exports = { |
|||
getCommentList: getCommentList, |
|||
getCommentReplyList:getCommentReplyList |
|||
} |
|||
//事件评论列表
|
|||
function getCommentList(param) { |
|||
return fly.get('work/event/event/commentList', param) |
|||
} |
|||
//事件评论回复列表
|
|||
function getCommentReplyList(param) { |
|||
return fly.get('work/event/event/commentReplyList', param) |
|||
} |
@ -0,0 +1,58 @@ |
|||
var fly = require('../utils/request.js') |
|||
module.exports = { |
|||
getToken: getToken, |
|||
login: login, |
|||
getIssueList: getIssueList, |
|||
getEventList: getEventList, |
|||
getItemNotice: getItemNotice, |
|||
indexPanel: indexPanel, |
|||
getIndexStatistics: getIndexStatistics, |
|||
logout, |
|||
checkUpdateAvatar, |
|||
updateAvatar |
|||
} |
|||
|
|||
function getToken(wxCode) { |
|||
return fly.get('work/user/getToken', { |
|||
wxCode: wxCode |
|||
}) |
|||
} |
|||
|
|||
function indexPanel() { |
|||
return fly.get('work/user/indexPanel') |
|||
} |
|||
function getIndexStatistics(params) { |
|||
return fly.get('work/user/indexStatistics', params) |
|||
} |
|||
|
|||
function login(params) { |
|||
return fly.post('work/user/login', params) |
|||
} |
|||
|
|||
function getIssueList(params) { |
|||
return fly.get('work/event/issue/list', params) |
|||
} |
|||
|
|||
function getEventList(params) { |
|||
return fly.get('work/event/event/list', params) |
|||
} |
|||
|
|||
function getItemNotice(params) { |
|||
return fly.get('work/event/item/notice', params) |
|||
} |
|||
//退出登录
|
|||
function logout() { |
|||
return fly.post('work/user/logout') |
|||
} |
|||
|
|||
//判断是否更新头像
|
|||
function checkUpdateAvatar() { |
|||
return fly.get('work/user/checkUpdateAvatar') |
|||
} |
|||
|
|||
//更新头像
|
|||
function updateAvatar(avatar) { |
|||
return fly.get('work/user/updateAvatar',{ |
|||
avatar: avatar |
|||
}) |
|||
} |
@ -0,0 +1,13 @@ |
|||
var fly = require('../utils/request.js') |
|||
module.exports = { |
|||
listGrid: listGrid, |
|||
removeGrid: removeGrid |
|||
} |
|||
// 网格管理
|
|||
function listGrid (params) { |
|||
return fly.get('work/user/swagger/listGrid', params) |
|||
} |
|||
// 解绑网格
|
|||
function removeGrid (params) { |
|||
return fly.post('work/user/swagger/removeGrid', params, '1') |
|||
} |
@ -0,0 +1,49 @@ |
|||
var fly = require('../utils/request.js') |
|||
|
|||
module.exports = { |
|||
getEventDetail, |
|||
getIssueDetail, |
|||
getIssueProcessList, |
|||
postIssueHandleSubmit, |
|||
postIssueUpload, |
|||
getEvaluation, |
|||
getCategoryList, |
|||
postEventHandleSubmit |
|||
} |
|||
|
|||
// 获取事件详情
|
|||
function getEventDetail(id) { |
|||
return fly.get(`work/event/event/detail/${id}`) |
|||
} |
|||
// 获取议题详情
|
|||
function getIssueDetail(id) { |
|||
return fly.get(`work/event/issue/detail/${id}`) |
|||
} |
|||
// 获取议题处理进度
|
|||
function getIssueProcessList(issueId) { |
|||
return fly.get('work/event/issue/processList', { |
|||
issueId: issueId |
|||
}) |
|||
} |
|||
// 获取满意度评价结果
|
|||
function getEvaluation(itemId) { |
|||
return fly.get('work/event/item/evaluation', { |
|||
itemId: itemId |
|||
}) |
|||
} |
|||
// 提交议题处理
|
|||
function postIssueHandleSubmit(params) { |
|||
return fly.post('work/event/issue/handleSubmit', params) |
|||
} |
|||
// 上传图片
|
|||
function postIssueUpload(params) { |
|||
return fly.post('events/issue/upload', params) |
|||
} |
|||
// 获取分类列表
|
|||
function getCategoryList(params) { |
|||
return fly.get('events/issue/category/list', params, "1") |
|||
} |
|||
// 提交事件审核
|
|||
function postEventHandleSubmit(params) { |
|||
return fly.post('work/event/event/review', params) |
|||
} |
@ -0,0 +1,46 @@ |
|||
var fly = require('../utils/request.js') |
|||
|
|||
module.exports = { |
|||
getItemDetail, |
|||
getIssueProcessList, |
|||
getItemProcessList, |
|||
postItemHandleSubmit, |
|||
postUpload, |
|||
getItemWhistlingDept, |
|||
getItemEvaluationDept |
|||
} |
|||
// 获取议题详情
|
|||
function getItemDetail(id) { |
|||
return fly.get(`work/event/item/detail/${id}`) |
|||
} |
|||
// 获取议题处理进度
|
|||
function getIssueProcessList(issueId) { |
|||
return fly.get('work/event/issue/processList', { |
|||
issueId: issueId |
|||
}) |
|||
} |
|||
// 提交项目处理
|
|||
function postItemHandleSubmit(params) { |
|||
return fly.post('work/event/item/handleSubmit', params) |
|||
} |
|||
// 上传图片
|
|||
function postUpload(params) { |
|||
return fly.post('events/issue/upload', params) |
|||
} |
|||
|
|||
// 项目处理进度
|
|||
function getItemProcessList(itemId) { |
|||
return fly.get('work/event/item/processList', { |
|||
itemId: itemId |
|||
}) |
|||
} |
|||
// 获取可吹哨部门
|
|||
function getItemWhistlingDept() { |
|||
return fly.get('work/event/item/whistlingDept') |
|||
} |
|||
// 获取满意度评价部门
|
|||
function getItemEvaluationDept(itemId) { |
|||
return fly.get('work/event/item/evaluationDept', { |
|||
itemId: itemId |
|||
}) |
|||
} |
@ -0,0 +1,201 @@ |
|||
import request from '../utils/requestClerk' |
|||
|
|||
export function getByLoginUser() { |
|||
return request({ |
|||
method: 'GET', |
|||
// url: 'sys/user/deptOptions/getByLoginUser',
|
|||
url:'sys/user/deptOptions/getDeptAuthByUser' |
|||
}) |
|||
} |
|||
//月报列表
|
|||
export function getMonthRecordList({ |
|||
pageIndex, |
|||
pageSize |
|||
}) { |
|||
return request({ |
|||
method: 'GET', |
|||
url: 'workRecord/month/getMonthRecordList', |
|||
options: { |
|||
pageIndex, |
|||
pageSize |
|||
} |
|||
}) |
|||
} |
|||
//查看月报详情
|
|||
export function getMonthRecordDetail(infoId) { |
|||
return request({ |
|||
method: 'GET', |
|||
url: `workRecord/month/getMonthRecordDetail?infoId=${infoId}`, |
|||
}) |
|||
} |
|||
//提交工作报告
|
|||
export function submitMonthRecord({ |
|||
content, |
|||
images |
|||
}) { |
|||
return request({ |
|||
method: 'POST', |
|||
url: 'workRecord/month/submitMonthRecord', |
|||
options: { |
|||
content, |
|||
images |
|||
} |
|||
}) |
|||
} |
|||
// 更新工作报告
|
|||
export function updateMonthRecord({ |
|||
infoId, |
|||
content, |
|||
images |
|||
}) { |
|||
return request({ |
|||
method: 'POST', |
|||
url: 'workRecord/month/updateMonthRecord', |
|||
options: { |
|||
infoId, |
|||
content, |
|||
images |
|||
} |
|||
}) |
|||
} |
|||
|
|||
//提交优秀案例
|
|||
export function submitMonthExcellentCase({ |
|||
infoId, |
|||
content, |
|||
images |
|||
}) { |
|||
return request({ |
|||
method: 'POST', |
|||
url: 'workRecord/month/submitMonthExcellentCase', |
|||
options: { |
|||
infoId, |
|||
content, |
|||
images |
|||
} |
|||
}) |
|||
} |
|||
//更新优秀案例
|
|||
export function updateMonthExcellentCase({ |
|||
infoId, |
|||
content, |
|||
images |
|||
}) { |
|||
return request({ |
|||
method: 'POST', |
|||
url: 'workRecord/month/updateMonthExcellentCase', |
|||
options: { |
|||
infoId, |
|||
content, |
|||
images |
|||
} |
|||
}) |
|||
} |
|||
|
|||
|
|||
|
|||
//提交示范网格
|
|||
export function submitMonthExcellentGrid({infoId, content,deptId, deptName, allDeptIds,images}) { |
|||
return request({ |
|||
method: 'POST', |
|||
url: 'workRecord/month/submitMonthExcellentGrid', |
|||
options: { |
|||
infoId, |
|||
content, |
|||
deptId, |
|||
deptName, |
|||
allDeptIds, |
|||
images |
|||
} |
|||
}) |
|||
} |
|||
//更新示范网格
|
|||
export function updateMonthExcellentGrid({infoId, content,deptId, deptName,allDeptIds, images}) { |
|||
return request({ |
|||
method: 'POST', |
|||
url: 'workRecord/month/updateMonthExcellentGrid', |
|||
options: { |
|||
infoId, |
|||
content, |
|||
deptId, |
|||
deptName, |
|||
allDeptIds, |
|||
images |
|||
} |
|||
}) |
|||
} |
|||
//提交优秀个人
|
|||
export function submitMonthExcellentPerson({ |
|||
infoId, |
|||
content, |
|||
name, |
|||
mobile, |
|||
partyFlag, |
|||
images |
|||
}) { |
|||
return request({ |
|||
method: 'POST', |
|||
url: 'workRecord/month/submitMonthExcellentPerson', |
|||
options: { |
|||
infoId, |
|||
content, |
|||
name, |
|||
mobile, |
|||
partyFlag, |
|||
images |
|||
} |
|||
}) |
|||
} |
|||
// 更新优秀个人
|
|||
export function updateMonthExcellentPerson({ |
|||
infoId, |
|||
content, |
|||
name, |
|||
mobile, |
|||
partyFlag, |
|||
images |
|||
}) { |
|||
return request({ |
|||
method: 'POST', |
|||
url: 'workRecord/month/updateMonthExcellentPerson', |
|||
options: { |
|||
infoId, |
|||
content, |
|||
name, |
|||
mobile, |
|||
partyFlag, |
|||
images |
|||
} |
|||
}) |
|||
} |
|||
|
|||
|
|||
//提交网格排名
|
|||
export function submitMonthGridSort({ |
|||
infoId, |
|||
sortList |
|||
}) { |
|||
return request({ |
|||
method: 'POST', |
|||
url: 'workRecord/month/submitMonthGridSort', |
|||
options: { |
|||
infoId, |
|||
sortList |
|||
} |
|||
}) |
|||
} |
|||
|
|||
//更新网格排名
|
|||
export function updateMonthGridSort({ |
|||
infoId, |
|||
sortList |
|||
}) { |
|||
return request({ |
|||
method: 'POST', |
|||
url: 'workRecord/month/updateMonthGridSort', |
|||
options: { |
|||
infoId, |
|||
sortList |
|||
} |
|||
}) |
|||
} |
@ -0,0 +1,32 @@ |
|||
import request from '../utils/requestClerk' |
|||
|
|||
/** |
|||
* 获得随手记列表 |
|||
* pageIndex 页码 |
|||
* pageSize 页容量 |
|||
*/ |
|||
export function getDailyRecordList({ |
|||
pageIndex, |
|||
pageSize |
|||
}) { |
|||
return request({ |
|||
method: 'GET', |
|||
url: 'workRecord/daily/getDailyRecordList', |
|||
options: { |
|||
pageIndex, |
|||
pageSize |
|||
} |
|||
}) |
|||
} |
|||
|
|||
/** |
|||
* 获得随手记详情 |
|||
* id |
|||
*/ |
|||
|
|||
export function getDailyRecordDetail(id) { |
|||
return request({ |
|||
method: 'GET', |
|||
url: `/workRecord/daily/getDailyRecordDetail/${id}`, |
|||
}) |
|||
} |
@ -0,0 +1,118 @@ |
|||
import request from '../utils/requestClerk' |
|||
// 获得网格
|
|||
export function getGridAuthByUser() { |
|||
return request({ |
|||
method: 'GET', |
|||
url: 'sys/user/deptOptions/getGridAuthByUser', |
|||
}) |
|||
} |
|||
/** |
|||
* 获得随手记类型 |
|||
*/ |
|||
export function getDailyType() { |
|||
return request({ |
|||
method: 'GET', |
|||
url: 'workRecord/resource/getDailyType', |
|||
}) |
|||
} |
|||
|
|||
|
|||
/** |
|||
* 获得会议类型 |
|||
*/ |
|||
export function getMeetType(resourceId) { |
|||
return request({ |
|||
method: 'GET', |
|||
url: `workRecord/resource/getMeetType?resourceId=${resourceId}`, |
|||
}) |
|||
} |
|||
|
|||
/** |
|||
* 提交随手记 |
|||
* dailyType 随手记类型 |
|||
* meetType 会议类型 |
|||
* resourceId 资源ID |
|||
* meetDate 会议时间 |
|||
* address 地址 |
|||
* joinNum 参加人数 |
|||
* content 内容 |
|||
* images 图片 |
|||
* |
|||
* imgUrl 原始图地址 |
|||
* thumbnail 缩略图地址 |
|||
*/ |
|||
export function submitDailyRecord({dailyType,meetType,resourceId,meetDate,address,joinNum,content,images,joinList}) { |
|||
return request({ |
|||
method: 'POST', |
|||
url: `workRecord/daily/submitDailyRecord`, |
|||
options: { |
|||
dailyType, |
|||
meetType, |
|||
resourceId, |
|||
meetDate, |
|||
address, |
|||
joinNum, |
|||
content, |
|||
images,joinList |
|||
} |
|||
}) |
|||
} |
|||
|
|||
/** |
|||
* 修改随手记 |
|||
* id 随手记id |
|||
* dailyType 随手记类型 |
|||
* meetType 会议类型 |
|||
* resourceId 资源ID |
|||
* meetDate 会议时间 |
|||
* address 地址 |
|||
* joinNum 参加人数 |
|||
* content 内容 |
|||
* images 图片 |
|||
* |
|||
* imgUrl 原始图地址 |
|||
* thumbnail 缩略图地址 |
|||
*/ |
|||
export function updateDailyRecord({id,dailyType,meetType,resourceId,meetDate,address,joinNum,content,images,joinList}) { |
|||
return request({ |
|||
method: 'POST', |
|||
url: `workRecord/daily/updateDailyRecord`, |
|||
options: { |
|||
id, |
|||
dailyType, |
|||
meetType, |
|||
resourceId, |
|||
meetDate, |
|||
address, |
|||
joinNum, |
|||
content, |
|||
images, |
|||
joinList |
|||
} |
|||
}) |
|||
} |
|||
|
|||
/** |
|||
* 获得随手记详情 |
|||
*/ |
|||
export function getDailyRecordDetail(id) { |
|||
return request({ |
|||
method: 'GET', |
|||
url: `workRecord/daily/getDailyRecordDetail/${id}`, |
|||
}) |
|||
} |
|||
|
|||
/** |
|||
* 获得随手记详情 |
|||
*/ |
|||
export function getDailyRecordList({pageIndex,pageSize}) { |
|||
return request({ |
|||
method: 'GET', |
|||
url: `workRecord/daily/getDailyRecordList`, |
|||
options: { |
|||
pageIndex, |
|||
pageSize, |
|||
} |
|||
}) |
|||
} |
|||
|
@ -0,0 +1,8 @@ |
|||
var fly = require('../utils/request.js') |
|||
|
|||
module.exports = { |
|||
getItemList: getItemList |
|||
} |
|||
function getItemList(params) { |
|||
return fly.get('work/event/item/list', params) |
|||
} |
@ -0,0 +1,37 @@ |
|||
import request from '../utils/requestClerk' |
|||
|
|||
/** |
|||
* 我的消息-获取列表 |
|||
* pageIndex 页码 |
|||
* pageSize 页容量 |
|||
* timestamp 第一页查询发起时的时间 |
|||
*/ |
|||
|
|||
export function listByUserId({ |
|||
pageIndex, |
|||
pageSize, |
|||
timestamp |
|||
}) { |
|||
return request({ |
|||
method: 'GET', |
|||
url: 'workRecord/resource/information/listByUserId', |
|||
options: { |
|||
pageIndex, |
|||
pageSize, |
|||
timestamp |
|||
} |
|||
}) |
|||
} |
|||
|
|||
/** |
|||
* 我的消息-标记已读 |
|||
* informationId 消息ID |
|||
*/ |
|||
export function read({ |
|||
informationId |
|||
}) { |
|||
return request({ |
|||
method: 'POST', |
|||
url: `workRecord/resource/information/read?informationId=${informationId}` |
|||
}) |
|||
} |
@ -0,0 +1,8 @@ |
|||
var fly = require('../utils/request.js') |
|||
module.exports = { |
|||
getUserManagelist: getUserManagelist |
|||
} |
|||
//用户列表(已/待认证的居民/党员)
|
|||
function getUserManagelist(listObj){ |
|||
return fly.get('work/user/list', listObj) |
|||
} |
@ -0,0 +1,76 @@ |
|||
import request from '../utils/requestClerk' |
|||
/** |
|||
* 获得周报选项 |
|||
*/ |
|||
export function getweekRecordOptionList() { |
|||
return request({ |
|||
method: 'GET', |
|||
url: 'workRecord/week/getweekRecordOptionList', |
|||
}) |
|||
} |
|||
|
|||
/** |
|||
* 提交周报 |
|||
*/ |
|||
export function submitWeekRocord({ |
|||
content, |
|||
totalData, |
|||
images |
|||
}) { |
|||
return request({ |
|||
method: 'POST', |
|||
url: 'workRecord/week/submitWeekRocord', |
|||
options: { |
|||
content, |
|||
totalData, |
|||
images |
|||
} |
|||
}) |
|||
} |
|||
|
|||
/** |
|||
* 获得周报列表 |
|||
*/ |
|||
export function getWeekRecordList({ |
|||
pageIndex, |
|||
pageSize |
|||
}) { |
|||
return request({ |
|||
method: 'GET', |
|||
url: 'workRecord/week/getWeekRecordList', |
|||
options: { |
|||
pageIndex, |
|||
pageSize, |
|||
} |
|||
}) |
|||
} |
|||
/** |
|||
* 获得周报详情 |
|||
*/ |
|||
export function getWeekRecordDetail(infoId) { |
|||
return request({ |
|||
method: 'GET', |
|||
url: `workRecord/week/getWeekRecordDetail/${infoId}`, |
|||
}) |
|||
} |
|||
|
|||
/** |
|||
* 更新周报 |
|||
*/ |
|||
export function updateWeekRocord({ |
|||
id, |
|||
content, |
|||
totalData, |
|||
images |
|||
}) { |
|||
return request({ |
|||
method: 'POST', |
|||
url: 'workRecord/week/updateWeekRocord', |
|||
options: { |
|||
id, |
|||
content, |
|||
totalData, |
|||
images |
|||
} |
|||
}) |
|||
} |
@ -0,0 +1,28 @@ |
|||
App({ |
|||
onLaunch: function () { |
|||
let menuButtonObject = wx.getMenuButtonBoundingClientRect(); |
|||
wx.getSystemInfo({ |
|||
success: res => { |
|||
|
|||
//导航高度
|
|||
let statusBarHeight = res.statusBarHeight, |
|||
navTop = menuButtonObject.top, |
|||
navHeight = statusBarHeight + menuButtonObject.height + (menuButtonObject.top - statusBarHeight)*2; |
|||
this.globalData.navHeight = navHeight; |
|||
this.globalData.navTop = navTop; |
|||
this.globalData.windowHeight = res.windowHeight; |
|||
}, |
|||
fail(err) { |
|||
console.log(err); |
|||
} |
|||
}) |
|||
}, |
|||
globalData: { |
|||
deptDataScopeList: [], |
|||
currentDept: {}, |
|||
pageSize:10 |
|||
}, |
|||
onPageNotFound (res) { |
|||
|
|||
} |
|||
}) |
@ -0,0 +1,92 @@ |
|||
{ |
|||
"pages": [ |
|||
"pages/index/index", |
|||
"pages/login/login", |
|||
"pages/comments/comments", |
|||
"pages/comments/commentsContent/commentsContent", |
|||
"pages/index/gridChange/gridChange", |
|||
"pages/index/projectProgress/projectProgress", |
|||
"pages/index/setUp/setUp", |
|||
"pages/subject/subject", |
|||
"pages/project/project", |
|||
"pages/project/projectDetail/projectDetail", |
|||
"pages/issueDetail/issueDetail", |
|||
"pages/user_moudle/certificationDetails/certificationDetails", |
|||
"pages/user_moudle/gridmanagement/gridmanagement", |
|||
"pages/user_moudle/user_moudle", |
|||
"pages/user_moudle/checkpending/checkpending", |
|||
"pages/user_moudle/certificationhistorydetails/certificationhistorydetails", |
|||
"pages/itemDetail/itemDetail", |
|||
"pages/user_moudle/userManageList/userManageList" |
|||
], |
|||
"subpackages": [ |
|||
{ |
|||
"root": "subpages/clerkOnline", |
|||
"name": "clerkOnline", |
|||
"pages": [ |
|||
"pages/noticeDetail/noticeDetail", |
|||
"pages/readlist/readlist", |
|||
"pages/memberList/memberList", |
|||
"pages/myGroup/myGroup", |
|||
"pages/myTalk/myTalk", |
|||
"pages/remarkOrReply/remarkOrReply", |
|||
"pages/topicDetail/topicDetail" |
|||
] |
|||
}, |
|||
{ |
|||
"root": "subpages/noteIndex", |
|||
"name": "noteIndex", |
|||
"pages": [ |
|||
"pages/noteIndex/noteIndex", |
|||
"pages/noteDetail/noteDetail" |
|||
] |
|||
}, |
|||
{ |
|||
"root": "subpages/myFootPrint", |
|||
"name": "myFootPrint", |
|||
"pages": [ |
|||
"pages/myFootPrintIndex/myFootPrintIndex", |
|||
"pages/weekReport/weekReport" |
|||
] |
|||
}, |
|||
{ |
|||
"root": "subpages/weeklyReport", |
|||
"name": "weeklyReport", |
|||
"pages": [ |
|||
"pages/weeklyReportIndex/weeklyReportIndex", |
|||
"pages/weeklyReportDetail/weeklyReportDetail" |
|||
] |
|||
}, |
|||
{ |
|||
"root": "subpages/monthlyReport", |
|||
"name": "monthlyReport", |
|||
"pages": [ |
|||
"pages/monthlyIndex/monthlyIndex", |
|||
"pages/monthlyDetail/monthlyDetail" |
|||
] |
|||
} |
|||
], |
|||
"preloadRule": { |
|||
"pages/index/index": { |
|||
"network": "all", |
|||
"packages": [ |
|||
"clerkOnline" |
|||
] |
|||
} |
|||
}, |
|||
"window": { |
|||
"backgroundTextStyle": "light", |
|||
"navigationBarBackgroundColor": "#fff", |
|||
"navigationBarTitleText": "微笑榆山", |
|||
"navigationBarTextStyle": "black" |
|||
}, |
|||
"networkTimeout": { |
|||
"request": 60000 |
|||
}, |
|||
"permission": { |
|||
"scope.userLocation": { |
|||
"desc": "微笑榆山将获取您的位置信息" |
|||
} |
|||
}, |
|||
"sitemapLocation": "sitemap.json" |
|||
} |
@ -0,0 +1,211 @@ |
|||
/**app.wxss**/ |
|||
@import "./style/z.wxss"; |
|||
|
|||
page { |
|||
background: #f7f7f7; |
|||
} |
|||
|
|||
.page-layout { |
|||
background: #ffffff; |
|||
} |
|||
|
|||
.container { |
|||
margin: 20rpx; |
|||
} |
|||
|
|||
.font-18 { |
|||
font-size: 36rpx; |
|||
} |
|||
|
|||
.font-17 { |
|||
font-size: 34rpx; |
|||
} |
|||
|
|||
.font-15 { |
|||
font-size: 30rpx; |
|||
} |
|||
|
|||
.font-14 { |
|||
font-size: 28rpx; |
|||
} |
|||
|
|||
.font-13 { |
|||
font-size: 26rpx; |
|||
} |
|||
|
|||
.font-12 { |
|||
font-size: 24rpx; |
|||
} |
|||
|
|||
.font-bold { |
|||
font-weight: bold; |
|||
} |
|||
|
|||
.fl { |
|||
float: left; |
|||
} |
|||
|
|||
.fr { |
|||
float: right; |
|||
} |
|||
|
|||
.opacity50 { |
|||
opacity: 0.5; |
|||
} |
|||
|
|||
.block-name { |
|||
font-size: 34rpx; |
|||
font-weight: bold; |
|||
display: flex; |
|||
width: 100%; |
|||
color: #333333; |
|||
padding: 20rpx 0 36rpx 0; |
|||
} |
|||
|
|||
.block-main { |
|||
display: flex; |
|||
width: 100%; |
|||
} |
|||
|
|||
/* 自定义按钮样式 */ |
|||
.buttons { |
|||
font-size: 32rpx; |
|||
font-weight: bold; |
|||
margin: auto; |
|||
left: 0; |
|||
right: 0; |
|||
} |
|||
|
|||
.btn-size-small { |
|||
width: 150rpx; |
|||
height: 60rpx; |
|||
} |
|||
|
|||
.btn_label { |
|||
position: absolute; |
|||
color: #fff; |
|||
z-index: 99; |
|||
text-align: center; |
|||
} |
|||
|
|||
.btn_label-small { |
|||
line-height: 60rpx; |
|||
font-size: 28rpx; |
|||
font-weight: normal; |
|||
} |
|||
|
|||
.ic_btn { |
|||
/* position: fixed; */ |
|||
} |
|||
|
|||
.btn { |
|||
opacity: 0; |
|||
} |
|||
|
|||
/*----end----*/ |
|||
|
|||
|
|||
/* 用户相关 start*/ |
|||
.common_title { |
|||
line-height: 90rpx; |
|||
height: 90rpx; |
|||
font-size: #333333; |
|||
font-family: PingFang-SC-Bold; |
|||
margin-left: 22rpx; |
|||
font-size: 30rpx; |
|||
} |
|||
|
|||
.common_line_height { |
|||
line-height: 90rpx; |
|||
height: 90rpx; |
|||
} |
|||
|
|||
.common_cell_group { |
|||
padding: 50rpx 0 30rpx 0; |
|||
} |
|||
|
|||
/* 标准字体 */ |
|||
.common_text { |
|||
font-size: 32rpx; |
|||
color: #333333; |
|||
} |
|||
|
|||
/* 分割线 */ |
|||
.common_divider { |
|||
background-color: #E7EEEE; |
|||
align-items: flex-end; |
|||
margin: 0 24rpx; |
|||
height: 1rpx; |
|||
} |
|||
|
|||
/* 粗线 */ |
|||
.common_thick_line { |
|||
background-color: #f6f8f8; |
|||
align-items: flex-end; |
|||
margin: 0 0; |
|||
height: 12rpx; |
|||
} |
|||
|
|||
/* user模块 */ |
|||
.wux-cell { |
|||
padding: 0 26rpx 0 22rpx !important; |
|||
} |
|||
|
|||
.wux-cell__text { |
|||
height: 90rpx !important; |
|||
line-height: 90rpx !important; |
|||
font-size: 32rpx !important; |
|||
color: #909DA7 !important; |
|||
} |
|||
|
|||
.wux-cell:after { |
|||
left: 0rpx !important; |
|||
} |
|||
|
|||
.certification_details__text { |
|||
font-size: 32rpx; |
|||
color: #333333; |
|||
margin: 29rpx 22rpx 29rpx 22rpx; |
|||
} |
|||
|
|||
/* 灰色提示字体 */ |
|||
.common_defalt_font { |
|||
font-size: 32rpx; |
|||
color: #909DA7; |
|||
} |
|||
/* 修改框架里面字体 */ |
|||
.wux-cell__ft { |
|||
text-align: right; |
|||
font-size: 32rpx !important; |
|||
color: #333333 !important; |
|||
} |
|||
|
|||
/*----end----*/ |
|||
|
|||
/* 自定义navbar */ |
|||
/* page { |
|||
height: 100%; |
|||
background-color: #f8f8f8; |
|||
color: #333; |
|||
-webkit-font-smoothing: antialiased; |
|||
font-family: 'PingFang SC', |
|||
Helvetica, |
|||
'STHeiti STXihei', |
|||
'Microsoft YaHei', |
|||
Tohoma, |
|||
Arial, |
|||
sans-serif; |
|||
} */ |
|||
|
|||
.view-page { |
|||
display: flex; |
|||
height: 100%; |
|||
flex-direction: column; |
|||
overflow: hidden; |
|||
} |
|||
|
|||
.view-page .page-content { |
|||
flex: 1; |
|||
overflow-y: auto; |
|||
box-sizing: border-box; |
|||
} |
@ -0,0 +1,69 @@ |
|||
var api = require('../../api/comment.js') |
|||
const app = getApp() |
|||
Component({ |
|||
properties: { |
|||
state: Number |
|||
}, |
|||
data: { |
|||
list: [], |
|||
}, |
|||
attached: function () { |
|||
|
|||
}, |
|||
lifetimes: { |
|||
attached: function () { |
|||
// this.getCommentList()
|
|||
}, |
|||
moved: function () { }, |
|||
detached: function () { }, |
|||
}, |
|||
|
|||
ready: function () { |
|||
|
|||
}, |
|||
pageLifetimes: { |
|||
// 组件所在页面的生命周期函数
|
|||
show: function () { }, |
|||
}, |
|||
methods: { |
|||
getCommentList: function (searchData) { |
|||
wx.showLoading({ |
|||
title: '加载中', |
|||
}) |
|||
let that = this; |
|||
if (searchData.clear == 0){//数据清空
|
|||
that.setData({ |
|||
list: [] |
|||
}) |
|||
} |
|||
let orderType = 0;// 排序方式 0: 获取最新列表,1: 获取最热列表
|
|||
if (searchData.currenttab == 'new'){ |
|||
orderType = 0; |
|||
}else{ |
|||
orderType = 1; |
|||
} |
|||
let params = { |
|||
"eventId": searchData.eventId, |
|||
"pageIndex": searchData.pageIndex, |
|||
"pageSize": app.globalData.pageSize, |
|||
"timestamp": searchData.date, |
|||
"orderType": orderType |
|||
} |
|||
api.getCommentList(params).then(function (res) { |
|||
if (res.code == 0){ |
|||
that.setData({ |
|||
list: that.data.list.concat(res.data) |
|||
}) |
|||
} |
|||
wx.hideLoading() |
|||
}) |
|||
}, |
|||
toCommentsContent(options){ |
|||
const commentId = options.currentTarget.dataset.commentid; |
|||
wx.navigateTo({ |
|||
url: `../../pages/comments/commentsContent/commentsContent?commentId=${commentId}` |
|||
}) |
|||
} |
|||
} |
|||
|
|||
}) |
@ -0,0 +1,3 @@ |
|||
{ |
|||
"component": true |
|||
} |
@ -0,0 +1,30 @@ |
|||
<view class="layout" wx:for="{{list}}" wx:key="{{index}}"> |
|||
<view class="subject-item"> |
|||
<view class="wux-pull-left imgView"> |
|||
<image src="{{item.userFace}}" /> |
|||
</view> |
|||
<view class="wux-pull-left"> |
|||
<view class="subject-title"> |
|||
{{page}}{{item.userName}} |
|||
</view> |
|||
<view class="time">{{item.createdTime}}</view> |
|||
</view> |
|||
<view class="btn-size-small wux-pull-right"> |
|||
<view class="wux-pull-left good"> |
|||
<image class="wux-pull-left" src="/images/good.png" /> |
|||
<view class="wux-pull-left goodfont">{{item.likeCount}}</view> |
|||
</view> |
|||
<view class="wux-pull-right bad"> |
|||
<view class="wux-pull-right goodfont">{{item.unLikeCount}}</view> |
|||
<image class="wux-pull-right" src="/images/bad.png" /> |
|||
</view> |
|||
</view> |
|||
</view> |
|||
<view class="btmbar"> |
|||
<view class="halfwidth attitude">{{item.content}}</view> |
|||
</view> |
|||
<view class="_btmbar" data-commentId="{{item.id}}" wx:if="{{item.replyCount > 0}}" bindtap="toCommentsContent"> |
|||
<view class="_halfwidth _attitude">{{item.replyCount}}条回复></view> |
|||
</view> |
|||
</view> |
|||
<view class="loadmore">上滑加载更多</view> |
@ -0,0 +1,110 @@ |
|||
@import '../../dist/styles/index.wxss'; |
|||
.layout{ |
|||
width: 100%; |
|||
padding-top: 8rpx; |
|||
/* display: flex; */ |
|||
border-bottom: 12rpx solid #f6f8f8; |
|||
} |
|||
.subject-item{ |
|||
width: 100%; |
|||
margin: 10px; |
|||
} |
|||
.subject-title{ |
|||
padding-left: 15rpx; |
|||
font-size: 26rpx; |
|||
color: #333333; |
|||
overflow: hidden; |
|||
width: 445rpx; |
|||
white-space: nowrap; |
|||
text-overflow: ellipsis; |
|||
} |
|||
|
|||
.time{ |
|||
padding: 0 0 0 15rpx; |
|||
height: 25rpx; |
|||
line-height: 30rpx; |
|||
font-size: 20rpx; |
|||
color: #A5B0B9; |
|||
} |
|||
.loadmore{ |
|||
width: 100%; |
|||
text-align: center; |
|||
height: 50px; |
|||
line-height: 50px; |
|||
background: #f6f8f8; |
|||
font-size:12px; |
|||
color: #999; |
|||
} |
|||
/* 自定义按钮样式 */ |
|||
.btn-size-small{ |
|||
width: 200rpx; |
|||
height: 60rpx; |
|||
margin-right: 40rpx; |
|||
} |
|||
.btn-size-small .good{ |
|||
width: 50%; |
|||
height: 100%; |
|||
} |
|||
.btn-size-small .good image{ |
|||
width: 26rpx; |
|||
height: 26rpx; |
|||
} |
|||
.btn-size-small .good .goodfont{ |
|||
color: #A5B0B9; |
|||
font-size: 22rpx; |
|||
padding-left: 7rpx |
|||
} |
|||
.btn-size-small .bad{ |
|||
width: 50%; |
|||
height: 100%; |
|||
} |
|||
|
|||
.btn-size-small .bad image{ |
|||
width: 26rpx; |
|||
height: 26rpx; |
|||
} |
|||
.btn-size-small .bad .goodfont{ |
|||
color: #A5B0B9; |
|||
font-size: 22rpx; |
|||
padding-left: 7rpx |
|||
} |
|||
|
|||
.imgView{ |
|||
width: 56rpx; |
|||
height: 56rpx; |
|||
} |
|||
.imgView image{ |
|||
width: 56rpx; |
|||
height: 56rpx; |
|||
} |
|||
|
|||
.btmbar{ |
|||
width: 100%; |
|||
display: inline-table; |
|||
line-height: 50rpx; |
|||
color: #333333; |
|||
padding: 10rpx 0 20rpx 30rpx; |
|||
} |
|||
.halfwidth{ |
|||
width: 96%; |
|||
} |
|||
.attitude{ |
|||
font-size: 36rpx; |
|||
} |
|||
|
|||
|
|||
._btmbar{ |
|||
width: 100%; |
|||
display: inline-table; |
|||
|
|||
|
|||
font-size: 36rpx; |
|||
color: #3C6CFC; |
|||
padding: 0 0 20rpx 30rpx; |
|||
} |
|||
._halfwidth{ |
|||
width: 96%; |
|||
} |
|||
._attitude{ |
|||
font-size: 26rpx; |
|||
} |
@ -0,0 +1,53 @@ |
|||
// components/issueDetailComponent1/issueDetailComponent.js
|
|||
Component({ |
|||
/** |
|||
* 组件的属性列表 |
|||
*/ |
|||
properties: { |
|||
detailData: { // 属性名
|
|||
type: Object, |
|||
value: {} |
|||
}, |
|||
issueState: { |
|||
type: Number, |
|||
value: "" |
|||
}, |
|||
itemState: { |
|||
type: Number, |
|||
value: "" |
|||
} |
|||
}, |
|||
|
|||
/** |
|||
* 组件的初始数据 |
|||
*/ |
|||
data: { |
|||
|
|||
}, |
|||
|
|||
/** |
|||
* 组件的方法列表 |
|||
*/ |
|||
methods: { |
|||
toComments(e) { |
|||
const eventId = this.data.detailData.eventId |
|||
wx.navigateTo({ |
|||
url: `../../pages/comments/comments?eventId=${eventId}` |
|||
}) |
|||
|
|||
if (this.data.itemState == 1 || this.data.itemState == 2) { |
|||
wx.navigateTo({ |
|||
url: `../../../pages/comments/comments?eventId=${eventId}` |
|||
}) |
|||
} |
|||
}, |
|||
//预览图片,放大预览
|
|||
preview(event) { |
|||
let currentUrl = event.currentTarget.dataset.src |
|||
wx.previewImage({ |
|||
current: currentUrl, // 当前显示图片的http链接
|
|||
urls: this.data.detailData.images // 需要预览的图片http链接列表
|
|||
}) |
|||
} |
|||
} |
|||
}) |
@ -0,0 +1,4 @@ |
|||
{ |
|||
"component": true, |
|||
"usingComponents": {} |
|||
} |
@ -0,0 +1,79 @@ |
|||
<!-- 议题详情 components/issueDetailComponent/issueDetailComponent.wxml --> |
|||
<!-- 议题详情 --> |
|||
<view class="bgfff paddingX24 marginB12"> |
|||
<!-- 用户信息 --> |
|||
<view class="flex justify-start align-center"> |
|||
<image class="head-image" src="{{detailData.avatar}}"></image> |
|||
<view class="head-view flex align-center flex-wrap"> |
|||
<view class="head-view-name">{{detailData.nickname}}</view> |
|||
<view class="head-view-time">{{detailData.distributeTime}}</view> |
|||
</view> |
|||
</view> |
|||
<!-- 议题图片 --> |
|||
<view class="grit"> |
|||
<block wx:for="{{detailData.images}}" wx:key="content-image {{index}}"> |
|||
<image wx:if="{{detailData.images.length===1}}" class="content-image content-image1" data-src="{{item}}" bindtap="preview" src="{{item}}"></image> |
|||
<image wx:if="{{detailData.images.length===2}}" class="content-image content-image2" data-src="{{item}}" bindtap="preview" src="{{item}}"></image> |
|||
<image wx:if="{{detailData.images.length===3}}" class="content-image content-image3" data-src="{{item}}" bindtap="preview" src="{{item}}"></image> |
|||
</block> |
|||
</view> |
|||
<!-- 议题内容 --> |
|||
<view class="content-text">{{detailData.content}}</view> |
|||
<!-- 议题信息 --> |
|||
<view class="info"> |
|||
<view class="info-box flex justify-space-between"> |
|||
<view class="info-left">电话</view> |
|||
<view class="info-right">{{detailData.mobile}}</view> |
|||
</view> |
|||
<view class="info-box flex justify-space-between"> |
|||
<view class="info-left">地址</view> |
|||
<view class="info-right">{{detailData.address}}</view> |
|||
</view> |
|||
<view class="info-box flex justify-space-between" wx:if="{{issueState == '1' || issueState == '3' || itemState == '0' || itemState == '1' || itemState == '2'}}"> |
|||
<view class="info-left">分类</view> |
|||
<view class="info-right">{{detailData.categoryName}}</view> |
|||
</view> |
|||
<view class="info-box flex justify-space-between" wx:if="{{issueState == '2'}}"> |
|||
<view class="info-left">状态</view> |
|||
<view class="info-right">已驳回</view> |
|||
</view> |
|||
</view> |
|||
</view> |
|||
<!-- 表达态度 --> |
|||
<view class="bgfff marginB12" wx:if="{{issueState == '1' || issueState == '3' || itemState == '0' ||itemState == '1' || itemState == '2'}}"> |
|||
<view class="paddingX24 statement flex justify-space-between"> |
|||
<view class="statement-num">表达态度({{detailData.statementNum}})</view> |
|||
<view class="statement-comment" wx:if="{{detailData.commentNum > 0}}" bindtap="toComments">查看评论 ></view> |
|||
</view> |
|||
<view class="flex justify-space-around state"> |
|||
<view> |
|||
<view class="state-num">{{detailData.approveNum}}</view> |
|||
<view class="state-text">支持</view> |
|||
</view> |
|||
<view> |
|||
<view class="state-num">{{detailData.opposeNum}}</view> |
|||
<view class="state-text">反对</view> |
|||
</view> |
|||
<view> |
|||
<view class="state-num">{{detailData.commentNum}}</view> |
|||
<view class="state-text">评论</view> |
|||
</view> |
|||
<view> |
|||
<view class="state-num">{{detailData.browseNum}}</view> |
|||
<view class="state-text">阅读</view> |
|||
</view> |
|||
</view> |
|||
</view> |
|||
<!-- 处理意见 --> |
|||
<view class="bgfff paddingX24 marginB12" wx:if="{{issueState == '2'}}"> |
|||
<view class="advice-title">处理意见</view> |
|||
<view class="advice-text">{{detailData.advice}}</view> |
|||
<!-- 处理意见图片 --> |
|||
<view class="grit"> |
|||
<block wx:for="{{detailData.handleResidentImages}}" wx:key="advice-image {{index}}"> |
|||
<image wx:if="{{detailData.handleResidentImages.length===1}}" class="content-image content-image1" src="{{item}}"></image> |
|||
<image wx:if="{{detailData.handleResidentImages.length===2}}" class="content-image content-image2" src="{{item}}"></image> |
|||
<image wx:if="{{detailData.handleResidentImages.length===3}}" class="content-image content-image3" src="{{item}}"></image> |
|||
</block> |
|||
</view> |
|||
</view> |
@ -0,0 +1,128 @@ |
|||
/* components/issueDetailComponent/issueDetailComponent.wxss */ |
|||
@import "../../../style/z.wxss"; |
|||
|
|||
.head-view { |
|||
padding-left: 9rpx; |
|||
} |
|||
|
|||
.head-view view { |
|||
width: 100%; |
|||
} |
|||
|
|||
.head-view-name { |
|||
font-size: 26rpx; |
|||
color: #666666; |
|||
} |
|||
|
|||
.head-view-time { |
|||
font-size: 20rpx; |
|||
color: #a5b0b9; |
|||
} |
|||
|
|||
/* 议题图片 */ |
|||
.grit { |
|||
display: grid; |
|||
grid-gap: 4rpx; |
|||
grid-template-columns: repeat(auto-fit, minmax(0, 1fr)); |
|||
} |
|||
|
|||
.content-image { |
|||
width: auto; |
|||
border-radius: 16rpx; |
|||
/* background: #f7f7f7; */ |
|||
margin-bottom: 18rpx; |
|||
} |
|||
|
|||
.content-image1 { |
|||
height: 290rpx; |
|||
} |
|||
|
|||
.content-image2 { |
|||
height: 200rpx; |
|||
} |
|||
|
|||
.content-image3 { |
|||
height: 180rpx; |
|||
} |
|||
|
|||
/* 议题内容 */ |
|||
.content-text { |
|||
font-size: 36rpx; |
|||
color: #333333; |
|||
line-height: 54rpx; |
|||
padding-bottom: 24rpx; |
|||
} |
|||
|
|||
/* 议题信息 */ |
|||
.info {} |
|||
|
|||
.info-box { |
|||
border-bottom: 1rpx solid #e7eeee; |
|||
padding: 18rpx 0; |
|||
} |
|||
|
|||
.info-box:last-child { |
|||
border-bottom: none; |
|||
padding: 18rpx 0; |
|||
} |
|||
|
|||
.info-left { |
|||
font-size: 32rpx; |
|||
color: #909da7; |
|||
line-height: 54rpx; |
|||
width: 170rpx; |
|||
} |
|||
|
|||
.info-right { |
|||
font-size: 32rpx; |
|||
color: #333333; |
|||
line-height: 54rpx; |
|||
} |
|||
|
|||
/* 表达态度 */ |
|||
.statement { |
|||
border-bottom: 1rpx solid #e7eeee; |
|||
padding: 24rpx 0; |
|||
margin: 0 24rpx; |
|||
} |
|||
|
|||
.statement-num { |
|||
font-size: 32rpx; |
|||
color: #909da7; |
|||
} |
|||
|
|||
.statement-comment { |
|||
font-size: 28rpx; |
|||
color: #ffb400; |
|||
} |
|||
|
|||
.state { |
|||
padding: 24rpx 0; |
|||
} |
|||
|
|||
.state-num { |
|||
font-size: 32rpx; |
|||
color: #333333; |
|||
text-align: center; |
|||
} |
|||
|
|||
.state-text { |
|||
font-size: 26rpx; |
|||
color: #909da7; |
|||
text-align: center; |
|||
} |
|||
|
|||
/* 处理意见 */ |
|||
.advice-title { |
|||
font-size: 30rpx; |
|||
font-weight: bold; |
|||
color: #333333; |
|||
padding: 24rpx 0; |
|||
border-bottom: 1rpx solid #e7eeee; |
|||
} |
|||
|
|||
.advice-text { |
|||
font-size: 32rpx; |
|||
color: #333333; |
|||
padding: 30rpx 0; |
|||
} |
@ -0,0 +1,161 @@ |
|||
// components/handleSubmit/handleSubmit.js
|
|||
import { |
|||
$wuxActionSheet |
|||
} from '../../../../dist/index' |
|||
import { |
|||
BASEURL |
|||
} from '../../../../utils/config' |
|||
// var global = require('./config.js')
|
|||
Component({ |
|||
/** |
|||
* 组件的属性列表 |
|||
*/ |
|||
properties: { |
|||
handleSubmitData: { // 属性名
|
|||
type: Object, |
|||
value: {} |
|||
}, |
|||
}, |
|||
|
|||
/** |
|||
* 组件的初始数据 |
|||
*/ |
|||
data: { |
|||
BASEURL: BASEURL(), |
|||
userTagKey: wx.getStorageSync('userTagKey'), |
|||
isBlock: true, |
|||
focus: false,//默认没获取焦点
|
|||
viewData: "" |
|||
}, |
|||
|
|||
/** |
|||
* 组件的方法列表 |
|||
*/ |
|||
methods: { |
|||
|
|||
// 处理操作
|
|||
showActionSheet() { |
|||
let buttons = [] |
|||
// 议题:回应、转项目、关闭
|
|||
buttons = [{ |
|||
text: '回应' |
|||
}, { |
|||
text: '转项目' |
|||
}, { |
|||
text: '关闭' |
|||
}] |
|||
|
|||
|
|||
const that = this |
|||
$wuxActionSheet().showSheet({ |
|||
// titleText: '自定义操作',
|
|||
buttons: buttons, |
|||
buttonClicked(index, item) { |
|||
let state = "" |
|||
const text = item.text |
|||
// 议题状态:1 回应,2 关闭,4 转项目
|
|||
if (item.text === "回应") { |
|||
state = 1 |
|||
} else if (item.text === "关闭") { |
|||
state = 2 |
|||
} else if (item.text === "转项目") { |
|||
state = 4 |
|||
} |
|||
|
|||
const handleSubmitData = Object.assign(that.data.handleSubmitData, { |
|||
state: state, |
|||
text: text |
|||
}) |
|||
that.setData({ |
|||
handleSubmitData |
|||
}) |
|||
return true |
|||
}, |
|||
cancelText: '取消', |
|||
cancel() {}, |
|||
}) |
|||
}, |
|||
|
|||
// 填写意见
|
|||
bindInputAdvice: function (e) { |
|||
const handleSubmitData = Object.assign(this.data.handleSubmitData, { |
|||
advice: e.detail.value |
|||
}) |
|||
this.setData({ |
|||
handleSubmitData, |
|||
isBlock: true,//失去焦点以后view隐藏
|
|||
viewData: e.detail.value |
|||
}) |
|||
}, |
|||
// Textarea的显示层级太高导致遮挡,通过点击view代替Textarea显示
|
|||
clickTextarea() { |
|||
this.setData({ |
|||
isBlock: false, |
|||
focus: true |
|||
}) |
|||
}, |
|||
// 提交居民意见
|
|||
bindFormSubmit() { |
|||
this.triggerEvent('bindFormSubmit', this.data.handleSubmitData) // 触发父组件事件
|
|||
}, |
|||
|
|||
// 上传图片
|
|||
onChange(e) { |
|||
// console.log('onChange', e)
|
|||
const { |
|||
file |
|||
} = e.detail |
|||
if (file.status === 'uploading') { |
|||
this.setData({ |
|||
progress: 0, |
|||
}) |
|||
wx.showLoading() |
|||
} else if (file.status === 'done') { |
|||
this.setData({ |
|||
imageUrl: file.url, |
|||
}) |
|||
} |
|||
|
|||
let images = [] |
|||
e.detail.fileList.forEach((item, index, array) => { |
|||
if (item.res !== undefined) { |
|||
const imageUrl = JSON.parse(e.detail.fileList[index].res.data).data |
|||
images.push(imageUrl) |
|||
} |
|||
}) |
|||
const handleSubmitData = Object.assign(this.data.handleSubmitData, { |
|||
images: images |
|||
}) |
|||
this.setData({ |
|||
handleSubmitData |
|||
}) |
|||
|
|||
}, |
|||
onSuccess(e) { |
|||
// console.log('onSuccess', e)
|
|||
|
|||
}, |
|||
onFail(e) { |
|||
// console.log('onFail', e)
|
|||
}, |
|||
// 上传完成
|
|||
onComplete(e) { |
|||
// console.log('onComplete', e)
|
|||
wx.hideLoading() |
|||
}, |
|||
// 点击图片放大
|
|||
onPreview(e) { |
|||
// console.log('onPreview', e)
|
|||
const { |
|||
file, |
|||
fileList |
|||
} = e.detail |
|||
wx.previewImage({ |
|||
current: file.url, |
|||
urls: fileList.map((n) => n.url), |
|||
}) |
|||
} |
|||
|
|||
|
|||
} |
|||
}) |
@ -0,0 +1,6 @@ |
|||
{ |
|||
"component": true, |
|||
"usingComponents": { |
|||
"wux-upload": "../../../../dist/upload/index" |
|||
} |
|||
} |
@ -0,0 +1,25 @@ |
|||
<!-- 议题处理components/handleSubmit/handleSubmit.wxml --> |
|||
<!-- 处理操作 --> |
|||
<view class="bgfff paddingX24 marginB12 flex justify-space-between handle" bindtap="showActionSheet"> |
|||
<view class="handle-text">处理操作</view> |
|||
<view class="handle-more"> |
|||
<text class="handle-more-text">{{handleSubmitData.text}}</text> |
|||
<text>></text> |
|||
</view> |
|||
</view> |
|||
<!-- 回复居民意见 --> |
|||
<view class="bgfff paddingX24 marginB12 advice"> |
|||
<view class="advice-title">回复居民意见</view> |
|||
<view class="_textarea-view {{isBlock?'block':'none'}}" bindtap="clickTextarea" wx:if="{{viewData}}"> |
|||
{{viewData}}</view> |
|||
|
|||
<view class="textarea-view {{isBlock?'block':'none'}}" bindtap="clickTextarea" wx:else>请填写居民诉求的处理情况以及答复意见,向居民公开展示</view> |
|||
<textarea class="{{isBlock?'none':'block'}}" placeholder-class="place-holder" placeholder="请填写居民诉求的处理情况以及答复意见,向居民公开展示" bindblur="bindInputAdvice" maxlength="500" focus='{{focus}}' /> |
|||
<view> |
|||
<wux-upload listType="picture-card" defaultFileList="{{ fileList }}" max="3" count="3" url="{{BASEURL}}group/topic/upload" bind:change="onChange" bind:success="onSuccess" bind:fail="onFail" bind:complete="onComplete" bind:preview="onPreview"> |
|||
<image src="../../../../images/uploadImg3.png"></image> |
|||
</wux-upload> |
|||
</view> |
|||
</view> |
|||
<!-- 确定 --> |
|||
<view class="submit" bindtap="bindFormSubmit">确定</view> |
@ -0,0 +1,85 @@ |
|||
/* components/handleSubmit/handleSubmit.wxss */ |
|||
@import "../../../../style/z.wxss"; |
|||
|
|||
/* 处理操作 */ |
|||
.handle { |
|||
padding-top: 24rpx; |
|||
padding-bottom: 24rpx; |
|||
} |
|||
|
|||
.handle-text { |
|||
font-size: 30rpx; |
|||
font-weight: bold; |
|||
color: #333333; |
|||
} |
|||
|
|||
.handle-more { |
|||
font-size: 34rpx; |
|||
color: #909da7; |
|||
} |
|||
|
|||
.handle-more-text { |
|||
font-size: 32rpx; |
|||
color: #333333; |
|||
padding-right: 5rpx; |
|||
} |
|||
|
|||
/* 回复居民意见 */ |
|||
.advice-title { |
|||
font-size: 30rpx; |
|||
font-weight: bold; |
|||
color: #333333; |
|||
padding: 24rpx 0; |
|||
border-bottom: 1rpx solid #e7eeee; |
|||
margin-bottom: 24rpx; |
|||
} |
|||
|
|||
textarea { |
|||
width: 100%; |
|||
height: 200rpx; |
|||
font-size:32rpx; |
|||
color:rgba(51,51,51,1); |
|||
} |
|||
.block{ |
|||
display: block; |
|||
} |
|||
.none{ |
|||
display: none; |
|||
} |
|||
.place-holder{ |
|||
font-size:32rpx; |
|||
color:rgba(144,157,167,1); |
|||
} |
|||
.textarea-view{ |
|||
width: 100%; |
|||
height: 200rpx; |
|||
font-size:32rpx; |
|||
color:rgba(144,157,167,1); |
|||
line-height:37rpx; |
|||
} |
|||
|
|||
._textarea-view{ |
|||
width: 100%; |
|||
min-height: 200rpx; |
|||
height: auto; |
|||
font-size:32rpx; |
|||
color:rgba(51,51,51,1); |
|||
line-height:37rpx; |
|||
overflow-wrap: break-word |
|||
} |
|||
|
|||
.wux-upload--picture-card .wux-upload__button { |
|||
padding: 0 !important; |
|||
} |
|||
|
|||
.submit { |
|||
width: 650rpx; |
|||
background: #3c6cfc; |
|||
box-shadow: 0rpx 5rpx 16rpx 0rpx rgba(60, 108, 252, 0.36); |
|||
border-radius: 43rpx; |
|||
text-align: center; |
|||
font-size: 36rpx; |
|||
color: #ffffff; |
|||
margin: 88rpx auto; |
|||
padding: 24rpx; |
|||
} |
@ -0,0 +1,336 @@ |
|||
// components/handleSubmit/handleSubmitItem.js
|
|||
import { |
|||
$wuxActionSheet |
|||
} from '../../../../dist/index' |
|||
import { |
|||
BASEURL |
|||
} from '../../../../utils/config' |
|||
var api = require("../../../../api/itemDetail.js") |
|||
import { |
|||
$wuxToast |
|||
} from '../../../../dist/index' |
|||
Component({ |
|||
/** |
|||
* 组件的属性列表 |
|||
*/ |
|||
properties: { |
|||
handleSubmitData: { |
|||
type: Object, |
|||
value: {} |
|||
}, |
|||
itemId: { |
|||
type: String, |
|||
value: "" |
|||
} |
|||
}, |
|||
|
|||
/** |
|||
* 组件的初始数据 |
|||
*/ |
|||
data: { |
|||
BASEURL: BASEURL(), |
|||
// userTagKey: wx.getStorageSync('userTagKey'),
|
|||
// userTagKey: "grid_party",
|
|||
state: 0, |
|||
whistlingDeptList: [], // 可吹哨部门
|
|||
evaluationDeptList: [], // 满意度评价部门
|
|||
value: '1', |
|||
selectImage: "../../../../images/select.png", |
|||
selectNoImage: "../../../../images/selectNo.png", |
|||
isBlock: true, |
|||
focus: false,//默认没获取焦点
|
|||
viewData: "", |
|||
_isBlock: true, |
|||
_focus: false,//默认没获取焦点
|
|||
_viewData: "" |
|||
}, |
|||
|
|||
/** |
|||
* 组件的方法列表 |
|||
*/ |
|||
methods: { |
|||
|
|||
// 处理操作
|
|||
showActionSheet() { |
|||
// 用户标签key(district_party-区党委, district_dept-区直部门, street_party-街道党工委, street_dept-街道部门, community_party-社区党工委, grid_party-网格党支部)
|
|||
// 处理结果:0 回应,1 吹哨,5 关闭,10 结案
|
|||
let buttons = [] |
|||
let userTagKey = wx.getStorageSync('userTagKey') |
|||
|
|||
if (userTagKey === "grid_party") { |
|||
// 网格党支部:回应、吹哨、关闭、结案
|
|||
buttons = [{ |
|||
text: '回应' |
|||
}, { |
|||
text: '吹哨部门' |
|||
}, { |
|||
text: '关闭' |
|||
}, { |
|||
text: '结案' |
|||
}] |
|||
} else if (userTagKey === "street_party") { |
|||
// 街道党工委:回应、吹哨
|
|||
buttons = [{ |
|||
text: '回应' |
|||
}, { |
|||
text: '吹哨部门' |
|||
}] |
|||
} else if (userTagKey === "community_party" || userTagKey === "street_dept" || userTagKey === "district_dept" || userTagKey === "district_party") { |
|||
// 社区党工委、街道部门、区直部门、区党委:回应
|
|||
buttons = [{ |
|||
text: '回应' |
|||
}] |
|||
} |
|||
|
|||
const that = this |
|||
$wuxActionSheet().showSheet({ |
|||
// titleText: '自定义操作',
|
|||
buttons: buttons, |
|||
buttonClicked(index, item) { |
|||
let state = "" |
|||
const text = item.text |
|||
|
|||
// 项目状态:0 回应,1 吹哨,5 关闭,10 结案
|
|||
if (item.text === "回应") { |
|||
state = 0 |
|||
} else if (item.text === "吹哨部门") { |
|||
state = 1 |
|||
that.getItemWhistlingDept() // 获取可吹哨部门
|
|||
} else if (item.text === "关闭") { |
|||
state = 5 |
|||
} else if (item.text === "结案") { |
|||
state = 10 |
|||
that.getItemEvaluationDept() // 获取满意度评价部门
|
|||
} |
|||
|
|||
const handleSubmitData = Object.assign(that.data.handleSubmitData, { |
|||
state: state, |
|||
text: text |
|||
}) |
|||
that.setData({ |
|||
handleSubmitData, |
|||
state: state |
|||
}) |
|||
return true |
|||
}, |
|||
cancelText: '取消', |
|||
cancel() {}, |
|||
}) |
|||
}, |
|||
|
|||
// 回复居民意见
|
|||
bindInputOutHandleAdvice: function (e) { |
|||
const handleSubmitData = Object.assign(this.data.handleSubmitData, { |
|||
outHandleAdvice: e.detail.value |
|||
}) |
|||
this.setData({ |
|||
handleSubmitData, |
|||
isBlock: true, |
|||
viewData: e.detail.value |
|||
}) |
|||
}, |
|||
// Textarea的显示层级太高导致遮挡,通过点击view代替Textarea显示
|
|||
clickTextarea() { |
|||
this.setData({ |
|||
isBlock: false, |
|||
focus: true |
|||
}) |
|||
}, |
|||
// 项目处理意见
|
|||
bindInputHandleAdvice: function (e) { |
|||
const handleSubmitData = Object.assign(this.data.handleSubmitData, { |
|||
handleAdvice: e.detail.value |
|||
}) |
|||
this.setData({ |
|||
handleSubmitData, |
|||
_isBlock: true, |
|||
_viewData: e.detail.value |
|||
}) |
|||
}, |
|||
// Textarea的显示层级太高导致遮挡,通过点击view代替Textarea显示
|
|||
_clickTextarea() { |
|||
this.setData({ |
|||
_isBlock: false, |
|||
_focus: true |
|||
}) |
|||
}, |
|||
// 提交居民意见
|
|||
bindFormSubmit() { |
|||
// 被吹哨部门
|
|||
const deptResultDTOS = this.data.whistlingDeptList.filter(item => { |
|||
return item.selected === true |
|||
}) |
|||
|
|||
const handleSubmitData = Object.assign(this.data.handleSubmitData, { |
|||
deptResultDTOS: deptResultDTOS |
|||
}) |
|||
this.setData({ |
|||
handleSubmitData |
|||
}) |
|||
|
|||
|
|||
if (this.data.handleSubmitData.state == "10"){//结案
|
|||
|
|||
if (this.data.evaluationDeptList.length > 0){//满意度评价有值
|
|||
|
|||
if (!this.data.handleSubmitData.evaluateDeptDTOS){ //没有选满意度
|
|||
|
|||
$wuxToast().show({ |
|||
type: 'text', |
|||
duration: 3000, |
|||
color: '#fff', |
|||
text: '请选择满意度评价', |
|||
success: () => console.log('') |
|||
}) |
|||
return false |
|||
} |
|||
} |
|||
} |
|||
this.triggerEvent('bindFormSubmit', this.data.handleSubmitData) // 触发父组件事件
|
|||
}, |
|||
|
|||
// 上传图片
|
|||
onChange(e) { |
|||
// console.log('onChange', e)
|
|||
const { |
|||
file |
|||
} = e.detail |
|||
if (file.status === 'uploading') { |
|||
this.setData({ |
|||
progress: 0, |
|||
}) |
|||
wx.showLoading() |
|||
} else if (file.status === 'done') { |
|||
this.setData({ |
|||
imageUrl: file.url, |
|||
}) |
|||
} |
|||
|
|||
let images = [] |
|||
e.detail.fileList.forEach((item, index, array) => { |
|||
if (item.res !== undefined) { |
|||
const imageUrl = JSON.parse(e.detail.fileList[index].res.data).data |
|||
images.push(imageUrl) |
|||
} |
|||
}) |
|||
|
|||
let handleSubmitData = {} |
|||
if (e.currentTarget.dataset.type == "outHandleImages") { |
|||
// 回复居民意见
|
|||
handleSubmitData = Object.assign(this.data.handleSubmitData, { |
|||
outHandleImages: images |
|||
}) |
|||
} else if (e.currentTarget.dataset.type == "handleImages") { |
|||
// 项目处理意见
|
|||
handleSubmitData = Object.assign(this.data.handleSubmitData, { |
|||
handleImages: images |
|||
}) |
|||
} |
|||
|
|||
this.setData({ |
|||
handleSubmitData |
|||
}) |
|||
|
|||
}, |
|||
// 上传完成
|
|||
onComplete(e) { |
|||
// console.log('onComplete', e)
|
|||
wx.hideLoading() |
|||
}, |
|||
// 点击图片放大
|
|||
onPreview(e) { |
|||
// console.log('onPreview', e)
|
|||
const { |
|||
file, |
|||
fileList |
|||
} = e.detail |
|||
wx.previewImage({ |
|||
current: file.url, |
|||
urls: fileList.map((n) => n.url), |
|||
}) |
|||
}, |
|||
|
|||
// 获取可吹哨部门
|
|||
getItemWhistlingDept() { |
|||
api.getItemWhistlingDept().then(res => { |
|||
console.log(res.data); |
|||
this.setData({ |
|||
whistlingDeptList: res.data |
|||
}) |
|||
}); |
|||
}, |
|||
// 获取满意度评价部门
|
|||
getItemEvaluationDept() { |
|||
api.getItemEvaluationDept(this.data.itemId).then(res => { |
|||
console.log(res.data); |
|||
this.setData({ |
|||
evaluationDeptList: res.data |
|||
// evaluationDeptList: [{
|
|||
// deptId: 1,
|
|||
// deptName: '九江社区党工委'
|
|||
// },
|
|||
// {
|
|||
// deptId: 2,
|
|||
// deptName: '九江街道党工委'
|
|||
// }
|
|||
// ]
|
|||
}) |
|||
}); |
|||
}, |
|||
// 改变吹哨部门
|
|||
onChangeDeptResultDTOS(e) { |
|||
// console.log(e)
|
|||
let temp = 'whistlingDeptList[' + e.currentTarget.dataset.index + '].selected' |
|||
this.setData({ |
|||
[temp]: !e.currentTarget.dataset.item.selected |
|||
}) |
|||
}, |
|||
|
|||
// 评价结果:0-不满意,1-基本满意,2-非常满意
|
|||
showActionSheetEvaluate(e) { |
|||
const that = this |
|||
$wuxActionSheet().showSheet({ |
|||
// titleText: '自定义操作',
|
|||
buttons: [{ |
|||
text: '非常满意' |
|||
}, |
|||
{ |
|||
text: '基本满意' |
|||
}, |
|||
{ |
|||
text: '不满意' |
|||
} |
|||
], |
|||
buttonClicked(index, item) { |
|||
let state = "" |
|||
const text = item.text |
|||
if (item.text === "非常满意") { |
|||
state = 2 |
|||
} else if (item.text === "基本满意") { |
|||
state = 1 |
|||
} else if (item.text === "不满意") { |
|||
state = 0 |
|||
} |
|||
|
|||
let temp = 'evaluationDeptList[' + e.currentTarget.dataset.index + '].evaluationLevel' |
|||
let tempName = 'evaluationDeptList[' + e.currentTarget.dataset.index + '].evaluationLevelName' |
|||
that.setData({ |
|||
[temp]: state, |
|||
[tempName]: text |
|||
}) |
|||
|
|||
const handleSubmitData = Object.assign(that.data.handleSubmitData, { |
|||
evaluateDeptDTOS: that.data.evaluationDeptList |
|||
}) |
|||
that.setData({ |
|||
handleSubmitData |
|||
}) |
|||
|
|||
return true |
|||
}, |
|||
cancelText: '取消', |
|||
cancel() {}, |
|||
}) |
|||
}, |
|||
} |
|||
}) |
@ -0,0 +1,7 @@ |
|||
{ |
|||
"component": true, |
|||
"usingComponents": { |
|||
"wux-upload": "../../../../dist/upload/index", |
|||
"wux-toast": "../../../../dist/toast/index" |
|||
} |
|||
} |
@ -0,0 +1,67 @@ |
|||
<!-- 议题处理components/handleSubmit/handleSubmitItem.wxml --> |
|||
<!-- 处理操作 --> |
|||
<view class="bgfff paddingX24 marginB12"> |
|||
<view class="flex justify-space-between handle" bindtap="showActionSheet"> |
|||
<view class="handle-text">处理操作</view> |
|||
<view class="handle-more"> |
|||
<text class="handle-more-text">{{handleSubmitData.text}}</text> |
|||
<text>></text> |
|||
</view> |
|||
</view> |
|||
<!-- 吹哨部门 --> |
|||
<view wx:if="{{state == '1'}}"> |
|||
<block wx:for="{{whistlingDeptList}}" wx:key="whistlingDeptList {{index}}"> |
|||
<view class="flex justify-start align-center dept-result-dtos" data-item="{{item}}" data-index="{{index}}" bindtap="onChangeDeptResultDTOS"> |
|||
<image class="dept-result-dtos-image" src="{{item.selected ? selectImage : selectNoImage}}"></image> |
|||
<view>{{item.deptName}}</view> |
|||
</view> |
|||
</block> |
|||
</view> |
|||
</view> |
|||
<!-- 满意度评价 --> |
|||
<view class="bgfff paddingX24 marginB12" wx:if="{{state == '10'}}"> |
|||
<view class="evaluate-title">满意度评价</view> |
|||
<block wx:for="{{evaluationDeptList}}" wx:key="evaluationDeptList {{index}}"> |
|||
<view class="flex justify-space-between evaluate" data-item="{{item}}" data-index="{{index}}" bindtap="showActionSheetEvaluate"> |
|||
<view class="evaluate-text">{{item.deptName}}</view> |
|||
<view class="evaluate-more"> |
|||
<text class="evaluate-more-text">{{item.evaluationLevelName}}</text> |
|||
<text>></text> |
|||
</view> |
|||
</view> |
|||
</block> |
|||
</view> |
|||
<!-- 回复居民意见 --> |
|||
<view class="bgfff paddingX24 marginB12 advice"> |
|||
<view class="advice-title">回复居民意见</view> |
|||
|
|||
<view class="_textarea-view {{isBlock?'block':'none'}}" bindtap="clickTextarea" wx:if="{{viewData}}"> |
|||
{{viewData}}</view> |
|||
|
|||
<view class="textarea-view {{isBlock?'block':'none'}}" bindtap="clickTextarea" wx:else>请填写居民诉求的处理情况以及答复意见,向居民公开展示</view> |
|||
|
|||
<textarea class="{{isBlock?'none':'block'}}" placeholder-class="place-holder" placeholder="请填写居民诉求的处理情况以及答复意见,向居民公开展示" bindblur="bindInputOutHandleAdvice" maxlength="500" focus='{{focus}}'/> |
|||
<view> |
|||
<wux-upload listType="picture-card" defaultFileList="{{ fileList }}" max="3" count="3" url="{{BASEURL}}group/topic/upload" bind:change="onChange" bind:complete="onComplete" bind:preview="onPreview" data-type="outHandleImages"> |
|||
<image src="../../../../images/uploadImg3.png"></image> |
|||
</wux-upload> |
|||
</view> |
|||
</view> |
|||
<!-- 项目处理意见 --> |
|||
<view class="bgfff paddingX24 marginB12 advice"> |
|||
<view class="advice-title">项目处理意见</view> |
|||
|
|||
<view class="_textarea-view {{_isBlock?'block':'none'}}" bindtap="_clickTextarea" wx:if="{{_viewData}}"> |
|||
{{_viewData}}</view> |
|||
<view class="textarea-view {{_isBlock?'block':'none'}}" bindtap="_clickTextarea" wx:else>请填写项目的实际办理情况(如自己处理、吹哨报 道、内部协调),便于相关部门了解项目的实际情况</view> |
|||
|
|||
<textarea placeholder="请填写项目的实际办理情况(如自己处理、吹哨报 道、内部协调),便于相关部门了解项目的实际情况" class="{{_isBlock?'none':'block'}}" placeholder-class="place-holder" bindblur="bindInputHandleAdvice" maxlength="500" focus='{{_focus}}'/> |
|||
<view> |
|||
<wux-upload listType="picture-card" defaultFileList="{{ fileList }}" max="3" count="3" url="{{BASEURL}}group/topic/upload" bind:change="onChange" bind:complete="onComplete" bind:preview="onPreview" data-type="handleImages"> |
|||
<image src="../../../../images/uploadImg3.png"></image> |
|||
</wux-upload> |
|||
</view> |
|||
</view> |
|||
<!-- 确定 --> |
|||
<view class="submit" bindtap="bindFormSubmit">确定</view> |
|||
<wux-toast id="wux-toast" /> |
@ -0,0 +1,130 @@ |
|||
/* components/handleSubmit/handleSubmitItem.wxss */ |
|||
@import "../../../../style/z.wxss"; |
|||
|
|||
/* 处理操作 */ |
|||
.handle { |
|||
padding-top: 24rpx; |
|||
padding-bottom: 24rpx; |
|||
} |
|||
|
|||
.handle-text { |
|||
font-size: 30rpx; |
|||
font-weight: bold; |
|||
color: #333333; |
|||
} |
|||
|
|||
.handle-more { |
|||
font-size: 34rpx; |
|||
color: #909da7; |
|||
} |
|||
|
|||
.handle-more-text { |
|||
font-size: 32rpx; |
|||
color: #333333; |
|||
padding-right: 5rpx; |
|||
} |
|||
|
|||
/* 吹哨部门 */ |
|||
.dept-result-dtos { |
|||
border-top: 1rpx solid #e7eeee; |
|||
font-size: 32rpx; |
|||
color: #333333; |
|||
padding: 28rpx 0; |
|||
} |
|||
|
|||
.dept-result-dtos-image { |
|||
width: 36rpx; |
|||
height: 36rpx; |
|||
padding-right: 20rpx; |
|||
} |
|||
|
|||
/* 满意度评价 */ |
|||
.evaluate-title { |
|||
font-size: 30rpx; |
|||
font-weight: bold; |
|||
color: #333333; |
|||
padding: 24rpx 0; |
|||
border-bottom: 1rpx solid #e7eeee; |
|||
margin-bottom: 24rpx; |
|||
} |
|||
|
|||
.evaluate { |
|||
padding-top: 24rpx; |
|||
padding-bottom: 24rpx; |
|||
} |
|||
|
|||
.evaluate-text { |
|||
font-size: 30rpx; |
|||
font-weight: bold; |
|||
color: #333333; |
|||
} |
|||
|
|||
.evaluate-more { |
|||
font-size: 34rpx; |
|||
color: #909da7; |
|||
} |
|||
|
|||
.evaluate-more-text { |
|||
font-size: 32rpx; |
|||
color: #333333; |
|||
padding-right: 5rpx; |
|||
} |
|||
|
|||
/* 回复居民意见 */ |
|||
.advice-title { |
|||
font-size: 30rpx; |
|||
font-weight: bold; |
|||
color: #333333; |
|||
padding: 24rpx 0; |
|||
border-bottom: 1rpx solid #e7eeee; |
|||
margin-bottom: 24rpx; |
|||
} |
|||
textarea { |
|||
width: 100%; |
|||
height: 200rpx; |
|||
font-size:32rpx; |
|||
color:rgba(51,51,51,1); |
|||
} |
|||
.block{ |
|||
display: block; |
|||
} |
|||
.none{ |
|||
display: none; |
|||
} |
|||
.place-holder{ |
|||
font-size:32rpx; |
|||
color:rgba(144,157,167,1); |
|||
} |
|||
.textarea-view{ |
|||
width: 100%; |
|||
height: 200rpx; |
|||
font-size:32rpx; |
|||
color:rgba(144,157,167,1); |
|||
line-height:37rpx; |
|||
} |
|||
|
|||
._textarea-view{ |
|||
width: 100%; |
|||
min-height: 200rpx; |
|||
height: auto; |
|||
font-size:32rpx; |
|||
color:rgba(51,51,51,1); |
|||
line-height:37rpx; |
|||
overflow-wrap: break-word |
|||
} |
|||
|
|||
.wux-upload--picture-card .wux-upload__button { |
|||
padding: 0 !important; |
|||
} |
|||
|
|||
.submit { |
|||
width: 650rpx; |
|||
background: #3c6cfc; |
|||
box-shadow: 0rpx 5rpx 16rpx 0rpx rgba(60, 108, 252, 0.36); |
|||
border-radius: 43rpx; |
|||
text-align: center; |
|||
font-size: 36rpx; |
|||
color: #ffffff; |
|||
margin: 88rpx auto; |
|||
padding: 24rpx; |
|||
} |
@ -0,0 +1,187 @@ |
|||
// components/event/handleSubmit/waitResponse/waitResponse.js
|
|||
import { |
|||
$wuxActionSheet |
|||
} from '../../../../dist/index' |
|||
import { |
|||
BASEURL |
|||
} from '../../../../utils/config' |
|||
// var global = require('./config.js')
|
|||
Component({ |
|||
/** |
|||
* 组件的属性列表 |
|||
*/ |
|||
properties: { |
|||
waitResponseData: { // 属性名
|
|||
type: Object, |
|||
value: {} |
|||
}, |
|||
optionsCascader:{ |
|||
type:Array, |
|||
value: [] |
|||
} |
|||
}, |
|||
|
|||
/** |
|||
* 组件的初始数据 |
|||
*/ |
|||
data: { |
|||
BASEURL: BASEURL(), |
|||
userTagKey: wx.getStorageSync('userTagKey'), |
|||
visibleCascader: false, //显示分类
|
|||
isBlock:true, |
|||
focus: false,//默认没获取焦点
|
|||
viewData:"" |
|||
}, |
|||
|
|||
/** |
|||
* 组件的方法列表 |
|||
*/ |
|||
methods: { |
|||
|
|||
// 审核操作
|
|||
showActionSheetEvent() { |
|||
const that = this |
|||
let buttons = [{ |
|||
text: '审核通过' |
|||
}, { |
|||
text: '驳回' |
|||
}] |
|||
$wuxActionSheet().showSheet({ |
|||
// titleText: '自定义操作',
|
|||
buttons: buttons, |
|||
buttonClicked(index, item) { |
|||
let state = "" |
|||
const text = item.text |
|||
if (item.text === "审核通过") { |
|||
state = 4 |
|||
} else if (item.text === "驳回") { |
|||
state = 2 |
|||
} |
|||
const waitResponseData = Object.assign(that.data.waitResponseData, { |
|||
eventState: state, |
|||
eventName: text |
|||
}) |
|||
that.setData({ |
|||
waitResponseData |
|||
}) |
|||
return true |
|||
}, |
|||
cancelText: '取消', |
|||
cancel() {}, |
|||
}) |
|||
}, |
|||
// 打开选择分类
|
|||
onOpenCascader() { |
|||
this.triggerEvent('onOpenCascader') // 触发父组件事件
|
|||
}, |
|||
|
|||
// 填写意见
|
|||
bindInputAdvice: function (e) { |
|||
this.setData({//失去焦点以后view隐藏
|
|||
isBlock: true |
|||
}) |
|||
const waitResponseData = Object.assign(this.data.waitResponseData, { |
|||
advice: e.detail.value |
|||
}) |
|||
this.setData({ |
|||
waitResponseData, |
|||
viewData: e.detail.value |
|||
}) |
|||
}, |
|||
// Textarea的显示层级太高导致遮挡,通过点击view代替Textarea显示
|
|||
clickTextarea() { |
|||
this.setData({ |
|||
isBlock: false, |
|||
focus: true |
|||
}) |
|||
}, |
|||
|
|||
// 提交居民意见
|
|||
bindFormSubmit() { |
|||
this.triggerEvent('bindFormSubmit', this.data.waitResponseData) // 触发父组件事件
|
|||
}, |
|||
|
|||
// 上传图片
|
|||
onChange(e) { |
|||
// console.log('onChange', e)
|
|||
const { |
|||
file |
|||
} = e.detail |
|||
if (file.status === 'uploading') { |
|||
this.setData({ |
|||
progress: 0, |
|||
}) |
|||
wx.showLoading() |
|||
} else if (file.status === 'done') { |
|||
this.setData({ |
|||
imageUrl: file.url, |
|||
}) |
|||
} |
|||
|
|||
let images = [] |
|||
e.detail.fileList.forEach((item, index, array) => { |
|||
if (item.res !== undefined) { |
|||
const imageUrl = JSON.parse(e.detail.fileList[index].res.data).data |
|||
images.push(imageUrl) |
|||
} |
|||
}) |
|||
const waitResponseData = Object.assign(this.data.waitResponseData, { |
|||
images: images |
|||
}) |
|||
this.setData({ |
|||
waitResponseData |
|||
}) |
|||
|
|||
}, |
|||
onSuccess(e) { |
|||
// console.log('onSuccess', e)
|
|||
|
|||
}, |
|||
onFail(e) { |
|||
// console.log('onFail', e)
|
|||
}, |
|||
// 上传完成
|
|||
onComplete(e) { |
|||
// console.log('onComplete', e)
|
|||
wx.hideLoading() |
|||
}, |
|||
// 点击图片放大
|
|||
onPreview(e) { |
|||
// console.log('onPreview', e)
|
|||
const { |
|||
file, |
|||
fileList |
|||
} = e.detail |
|||
wx.previewImage({ |
|||
current: file.url, |
|||
urls: fileList.map((n) => n.url), |
|||
}) |
|||
}, |
|||
|
|||
// 打开选择分类
|
|||
onOpenCascader() { |
|||
this.setData({ |
|||
visibleCascader: true |
|||
}) |
|||
}, |
|||
// 关闭选择分类
|
|||
onCloseCascader() { |
|||
this.setData({ |
|||
visibleCascader: false |
|||
}) |
|||
}, |
|||
// 改变选择分类
|
|||
onChangeCascader(e) { |
|||
// title1: e.detail.options.map((n) => n.label).join('/')
|
|||
// console.log('onChangeCascader', e.detail)
|
|||
const waitResponseData = Object.assign(this.data.waitResponseData, { |
|||
categoryId: e.detail.options[e.detail.options.length - 1].value, // 分类ID String
|
|||
categoryName: e.detail.options[e.detail.options.length - 1].label, // 分类名称
|
|||
}) |
|||
this.setData({ |
|||
waitResponseData |
|||
}) |
|||
|
|||
} |
|||
} |
|||
}) |
@ -0,0 +1,7 @@ |
|||
{ |
|||
"component": true, |
|||
"usingComponents": { |
|||
"wux-upload": "../../../../dist/upload/index", |
|||
"wux-cascader": "../../../../dist/cascader/index" |
|||
} |
|||
} |
@ -0,0 +1,38 @@ |
|||
<!-- components/event/handleSubmit/waitResponse/waitResponse.wxml --> |
|||
<!-- 审核操作 --> |
|||
<view class="bgfff paddingX24 marginB12 flex justify-space-between handle" bindtap="showActionSheetEvent"> |
|||
<view class="handle-text">审核操作</view> |
|||
<view class="handle-more"> |
|||
<text class="handle-more-text">{{waitResponseData.eventName}}</text> |
|||
<text>></text> |
|||
</view> |
|||
</view> |
|||
<!-- 选择分类 --> |
|||
<view wx:if="{{waitResponseData.eventState =='4'}}" class="bgfff paddingX24 marginB12 flex justify-space-between handle" bindtap="onOpenCascader"> |
|||
<view class="handle-text">选择分类</view> |
|||
<view class="handle-more"> |
|||
<text class="handle-more-text">{{waitResponseData.categoryName}}</text> |
|||
<text>></text> |
|||
</view> |
|||
</view> |
|||
<!-- 回复居民意见 --> |
|||
<view class="bgfff paddingX24 marginB12 advice"> |
|||
<view class="advice-title">处理意见</view> |
|||
|
|||
<view class="_textarea-view {{isBlock?'block':'none'}}" bindtap="clickTextarea" wx:if="{{viewData}}"> |
|||
{{viewData}}</view> |
|||
|
|||
<view class="textarea-view {{isBlock?'block':'none'}}" bindtap="clickTextarea" wx:else>请填写居民诉求的处理情况以及答复意见,向居民公开展示</view> |
|||
|
|||
<textarea class="{{isBlock?'none':'block'}}" placeholder-class="place-holder" placeholder="请填写居民诉求的处理情况以及答复意见,向居民公开展示" bindblur="bindInputAdvice" maxlength="500" focus='{{focus}}' /> |
|||
<view> |
|||
<wux-upload listType="picture-card" defaultFileList="{{ fileList }}" max="3" count="3" url="{{BASEURL}}group/topic/upload" bind:change="onChange" bind:success="onSuccess" bind:fail="onFail" bind:complete="onComplete" bind:preview="onPreview"> |
|||
<image src="../../../../images/uploadImg3.png"></image> |
|||
</wux-upload> |
|||
</view> |
|||
</view> |
|||
<!-- 确定 --> |
|||
<view class="submit" bindtap="bindFormSubmit">确定</view> |
|||
|
|||
<!-- 事件分类-待回应 --> |
|||
<wux-cascader visible="{{ visibleCascader }}" title="选择分类" options="{{ optionsCascader }}" bind:close="onCloseCascader" bind:change="onChangeCascader" /> |
@ -0,0 +1,86 @@ |
|||
/* components/event/handleSubmit/waitResponse/waitResponse.wxss */ |
|||
@import "../../../../style/z.wxss"; |
|||
|
|||
/* 处理操作 */ |
|||
.handle { |
|||
padding-top: 24rpx; |
|||
padding-bottom: 24rpx; |
|||
} |
|||
|
|||
.handle-text { |
|||
font-size: 30rpx; |
|||
font-weight: bold; |
|||
color: #333333; |
|||
width: 190rpx; |
|||
} |
|||
|
|||
.handle-more { |
|||
font-size: 34rpx; |
|||
color: #909da7; |
|||
} |
|||
|
|||
.handle-more-text { |
|||
font-size: 32rpx; |
|||
color: #333333; |
|||
padding-right: 5rpx; |
|||
} |
|||
|
|||
/* 回复居民意见 */ |
|||
.advice-title { |
|||
font-size: 30rpx; |
|||
font-weight: bold; |
|||
color: #333333; |
|||
padding: 24rpx 0; |
|||
border-bottom: 1rpx solid #e7eeee; |
|||
margin-bottom: 24rpx; |
|||
} |
|||
|
|||
textarea { |
|||
width: 100%; |
|||
height: 200rpx; |
|||
font-size:32rpx; |
|||
color:rgba(51,51,51,1); |
|||
} |
|||
.block{ |
|||
display: block; |
|||
} |
|||
.none{ |
|||
display: none; |
|||
} |
|||
.place-holder{ |
|||
font-size:32rpx; |
|||
color:rgba(144,157,167,1); |
|||
} |
|||
.textarea-view{ |
|||
width: 100%; |
|||
height: 200rpx; |
|||
font-size:32rpx; |
|||
color:rgba(144,157,167,1); |
|||
line-height:37rpx; |
|||
} |
|||
|
|||
._textarea-view{ |
|||
width: 100%; |
|||
min-height: 200rpx; |
|||
height: auto; |
|||
font-size:32rpx; |
|||
color:rgba(51,51,51,1); |
|||
line-height:37rpx; |
|||
overflow-wrap: break-word |
|||
} |
|||
|
|||
.wux-upload--picture-card .wux-upload__button { |
|||
padding: 0 !important; |
|||
} |
|||
|
|||
.submit { |
|||
width: 650rpx; |
|||
background: #3c6cfc; |
|||
box-shadow: 0rpx 5rpx 16rpx 0rpx rgba(60, 108, 252, 0.36); |
|||
border-radius: 43rpx; |
|||
text-align: center; |
|||
font-size: 36rpx; |
|||
color: #ffffff; |
|||
margin: 88rpx auto; |
|||
padding: 24rpx; |
|||
} |
@ -0,0 +1,49 @@ |
|||
// components/processList/processList.js
|
|||
Component({ |
|||
/** |
|||
* 组件的属性列表 |
|||
*/ |
|||
properties: { |
|||
processList: { |
|||
type: Object, |
|||
value: {} |
|||
} |
|||
}, |
|||
|
|||
/** |
|||
* 组件的初始数据 |
|||
*/ |
|||
data: { |
|||
imgList: [], |
|||
isShow: false, //控制收起展开
|
|||
}, |
|||
|
|||
/** |
|||
* 组件的方法列表 |
|||
*/ |
|||
methods: { |
|||
//预览图片,放大预览
|
|||
preview(event) { |
|||
let currentUrl = event.currentTarget.dataset.src |
|||
let id = event.currentTarget.dataset.id |
|||
for (var i = 0; i < this.data.processList.length; i++) { |
|||
if (id == this.data.processList[i].id) { |
|||
this.setData({ |
|||
imgList: this.data.processList[i].images |
|||
}) |
|||
|
|||
} |
|||
} |
|||
wx.previewImage({ |
|||
current: currentUrl, // 当前显示图片的http链接=
|
|||
urls: this.data.imgList // 需要预览的图片http链接列表
|
|||
}) |
|||
}, |
|||
toChange: function () { |
|||
let that = this; |
|||
that.setData({ |
|||
isShow: !that.data.isShow |
|||
}) |
|||
} |
|||
} |
|||
}) |
@ -0,0 +1,7 @@ |
|||
{ |
|||
"component": true, |
|||
"usingComponents": { |
|||
"wux-timeline": "../../../dist/timeline/index", |
|||
"wux-timeline-item": "../../../dist/timeline-item/index" |
|||
} |
|||
} |
@ -0,0 +1,80 @@ |
|||
<!-- components/processList/processList.wxml --> |
|||
<!-- 处理进度 --> |
|||
<view class="bgfff paddingX24 marginB12"> |
|||
<view class="process-title">处理进展</view> |
|||
<view class="process-list content {{isShow ? 'on' : ''}}"> |
|||
<wux-timeline> |
|||
<wux-timeline-item custom wx:for="{{processList}}" wx:key="processList {{index}}"> |
|||
<view slot="dot" class="process-icon" wx:if="{{!item.lastProcess}}"></view> |
|||
<view slot="dot" class="process-icon-1000" wx:if="{{item.lastProcess}}"></view> |
|||
<view> |
|||
<view class="process-box"> |
|||
<view class="process-state"> |
|||
【{{item.state === 0 ? "审核通过" : item.state === 1 ? "回应" : item.state === 2 ? "关闭" : item.state === 3 ? "转议题" : ""}}】 |
|||
</view> |
|||
<view class="process-time">{{item.createdTime}}</view> |
|||
</view> |
|||
<view wx:if="{{item.state == '3'}}"> |
|||
<view class="process-dept flex justify-start"> |
|||
<view class="process-dept-left-160">来源社群</view> |
|||
<view class="process-dept-right-160"> |
|||
<view class="process-text {{item.firstProcess ? 'process-text-first' : ''}}"> |
|||
{{item.groupName}} |
|||
</view> |
|||
</view> |
|||
</view> |
|||
<view class="process-advice flex justify-start"> |
|||
<view class="process-dept-left-160">处理人:</view> |
|||
<view class="process-dept-right-160"> |
|||
<view class="process-text {{item.firstProcess ? 'process-text-first' : ''}}"> |
|||
{{item.handlerDept}} |
|||
</view> |
|||
</view> |
|||
</view> |
|||
|
|||
<view class="process-advice flex justify-start"> |
|||
<view class="process-dept-left-160">处理人电话:</view> |
|||
<view class="process-dept-right-160"> |
|||
<view class="process-text {{item.firstProcess ? 'process-text-first' : ''}}"> |
|||
{{item.mobile}} |
|||
</view> |
|||
</view> |
|||
</view> |
|||
</view> |
|||
|
|||
<view wx:else> |
|||
<view class="process-dept flex justify-start"> |
|||
<view class="process-dept-left-160">处理部门:</view> |
|||
<view class="process-dept-right-160"> |
|||
<view class="process-text {{item.firstProcess ? 'process-text-first' : ''}}"> |
|||
{{item.handlerDept}} |
|||
</view> |
|||
</view> |
|||
</view> |
|||
<view class="process-advice flex justify-start"> |
|||
<view class="process-dept-left-160">处理意见:</view> |
|||
<view class="process-dept-right-160"> |
|||
<view class="process-text {{item.firstProcess ? 'process-text-first' : ''}}"> |
|||
{{item.advice}} |
|||
</view> |
|||
</view> |
|||
</view> |
|||
</view> |
|||
|
|||
<!-- 回应图片 --> |
|||
<view class="grit"> |
|||
<block wx:for="{{item.images}}" wx:for-item="itemImages" wx:key="process-image {{index}}"> |
|||
<image wx:if="{{item.images.length===1}}" class="content-image content-image1" data-id="{{item.id}}" data-src="{{itemImages}}" bindtap="preview" src="{{itemImages}}"></image> |
|||
<image wx:if="{{item.images.length===2}}" class="content-image content-image2" data-id="{{item.id}}" data-src="{{itemImages}}" bindtap="preview" src="{{itemImages}}"></image> |
|||
<image wx:if="{{item.images.length===3}}" class="content-image content-image3" data-id="{{item.id}}" data-src="{{itemImages}}" bindtap="preview" src="{{itemImages}}"></image> |
|||
</block> |
|||
</view> |
|||
</view> |
|||
</wux-timeline-item> |
|||
</wux-timeline> |
|||
</view> |
|||
|
|||
<view class="border-bottom"></view> |
|||
<view class="last-title" wx:if= "{{isShow == false}}" bindtap="toChange">展开 ∨</view> |
|||
<view class="last-title" wx:else bindtap="toChange">收起 ∧</view> |
|||
</view> |
@ -0,0 +1,141 @@ |
|||
/* components/processList/processList.wxss */ |
|||
@import "../../../style/z.wxss"; |
|||
|
|||
/* 处理进度 */ |
|||
.process-title { |
|||
font-size: 30rpx; |
|||
font-weight: bold; |
|||
color: #333333; |
|||
padding: 24rpx 0; |
|||
border-bottom: 1rpx solid #e7eeee; |
|||
} |
|||
|
|||
.process-list { |
|||
color: #909da7; |
|||
padding-top: 50rpx; |
|||
} |
|||
|
|||
.process-icon { |
|||
width: 20rpx; |
|||
height: 20rpx; |
|||
background: #3c6cfc; |
|||
border-radius: 50%; |
|||
margin-top: -16rpx; |
|||
} |
|||
|
|||
.process-icon-1000 { |
|||
width: 20rpx; |
|||
height: 20rpx; |
|||
background: #C2CED8; |
|||
border-radius: 50%; |
|||
margin-top: -16rpx; |
|||
} |
|||
|
|||
.process-box { |
|||
padding-top: 12rpx; |
|||
} |
|||
|
|||
.process-state { |
|||
font-size: 26rpx; |
|||
margin-top: -24rpx; |
|||
margin-left: -10rpx; |
|||
} |
|||
|
|||
.process-time { |
|||
font-size: 20rpx; |
|||
} |
|||
|
|||
.process-dept { |
|||
font-size: 32rpx; |
|||
line-height: 48rpx; |
|||
} |
|||
|
|||
.process-advice { |
|||
font-size: 32rpx; |
|||
} |
|||
|
|||
.process-dept-left-160 { |
|||
width: 196rpx |
|||
} |
|||
|
|||
.process-dept-right-160 { |
|||
width: calc(100% - 160rpx); |
|||
} |
|||
|
|||
.process-dept-left-200 { |
|||
width: 200rpx |
|||
} |
|||
|
|||
.process-dept-right-200 { |
|||
width: calc(100% - 200rpx); |
|||
} |
|||
|
|||
.process-text-first { |
|||
color: #3c6cfc !important; |
|||
} |
|||
|
|||
.process-text { |
|||
color: #333333; |
|||
/* overflow: hidden; |
|||
text-overflow: ellipsis; |
|||
white-space: nowrap; |
|||
width: 100%; |
|||
display: block; */ |
|||
} |
|||
|
|||
/* 回应图片 */ |
|||
.grit { |
|||
display: grid; |
|||
grid-gap: 4rpx; |
|||
grid-template-columns: repeat(auto-fit, minmax(0, 1fr)); |
|||
} |
|||
|
|||
.content-image { |
|||
width: auto; |
|||
border-radius: 16rpx; |
|||
/* background: #f7f7f7; */ |
|||
margin-top: 18rpx; |
|||
} |
|||
|
|||
.content-image1 { |
|||
height: 290rpx; |
|||
} |
|||
|
|||
.content-image2 { |
|||
height: 200rpx; |
|||
} |
|||
|
|||
.content-image3 { |
|||
height: 180rpx; |
|||
} |
|||
|
|||
/* 折叠 */ |
|||
.content{ |
|||
overflow: hidden; |
|||
text-overflow: ellipsis; |
|||
text-overflow: -o-ellipsis-lastline; |
|||
display: -webkit-box; |
|||
-webkit-line-clamp: 4; |
|||
-webkit-box-orient: vertical; |
|||
padding: 50rpx 25rpx 0rpx 25rpx; |
|||
} |
|||
.on{ |
|||
display: block; |
|||
text-overflow: clip; |
|||
overflow: visible; |
|||
} |
|||
.border-bottom{ |
|||
width: 100%; |
|||
height: 4rpx; |
|||
background-color: #e7eeee; |
|||
margin-top: 10rpx; |
|||
|
|||
} |
|||
.last-title{ |
|||
height: 80rpx; |
|||
text-align: right; |
|||
font-size:28rpx; |
|||
font-weight:500; |
|||
line-height: 80rpx; |
|||
color:rgba(60,108,252,1); |
|||
} |
@ -0,0 +1,49 @@ |
|||
// components/event/itemProcessList/itemProcessList.js
|
|||
Component({ |
|||
/** |
|||
* 组件的属性列表 |
|||
*/ |
|||
properties: { |
|||
processList: { |
|||
type: Object, |
|||
value: {} |
|||
} |
|||
}, |
|||
|
|||
/** |
|||
* 组件的初始数据 |
|||
*/ |
|||
data: { |
|||
imgList:[], |
|||
isShow: false, //控制收起展开
|
|||
}, |
|||
|
|||
/** |
|||
* 组件的方法列表 |
|||
*/ |
|||
methods: { |
|||
//预览图片,放大预览
|
|||
preview(event) { |
|||
let currentUrl = event.currentTarget.dataset.src |
|||
let id = event.currentTarget.dataset.id |
|||
for (var i = 0; i < this.data.processList.length; i++) { |
|||
if (id == this.data.processList[i].id){ |
|||
this.setData({ |
|||
imgList: this.data.processList[i].images |
|||
}) |
|||
|
|||
} |
|||
} |
|||
wx.previewImage({ |
|||
current: currentUrl, // 当前显示图片的http链接=
|
|||
urls: this.data.imgList // 需要预览的图片http链接列表
|
|||
}) |
|||
}, |
|||
toChange: function () { |
|||
let that = this; |
|||
that.setData({ |
|||
isShow: !that.data.isShow |
|||
}) |
|||
} |
|||
} |
|||
}) |
@ -0,0 +1,7 @@ |
|||
{ |
|||
"component": true, |
|||
"usingComponents": { |
|||
"wux-timeline": "../../../dist/timeline/index", |
|||
"wux-timeline-item": "../../../dist/timeline-item/index" |
|||
} |
|||
} |
@ -0,0 +1,116 @@ |
|||
<!-- components/event/itemProcessList/itemProcessList.wxml --> |
|||
<!-- 处理进度 --> |
|||
<view class="bgfff paddingX24 marginB12"> |
|||
<view class="process-title">处理进展</view> |
|||
<view class="process-list content {{isShow ? 'on' : ''}}"> |
|||
<wux-timeline> |
|||
<wux-timeline-item custom wx:for="{{processList}}" wx:key="processList {{index}}"> |
|||
<!-- 项目 --> |
|||
<view slot="dot" class="process-icon" wx:if="{{item.itemDeptDTOS !== undefined}}"> |
|||
<image class="process-icon-image" src="../../../images/item.png"></image> |
|||
</view> |
|||
<!-- 议题 --> |
|||
<view slot="dot" class="process-icon" wx:if="{{item.itemDeptDTOS === undefined && !item.lastProcess}}"> |
|||
<image class="process-icon-image" src="../../../images/issue.png"></image> |
|||
</view> |
|||
<!-- 议题 最后一个为灰点 --> |
|||
<view slot="dot" class="process-icon-1000" wx:if="{{item.itemDeptDTOS === undefined && item.lastProcess}}"></view> |
|||
<view> |
|||
<view class="process-box"> |
|||
<!-- 项目状态 0且吹哨部门为空-回应 0-回应,5-已关闭,10-已结案 --> |
|||
<view class="process-state" wx:if="{{item.itemDeptDTOS !== undefined && item.itemDeptDTOS.length === 0}}"> |
|||
【{{item.state === 0 ? "回应" : item.state === 5 ? "已关闭" : item.state === 10 ? "已结案" |
|||
: item.state === 15 ? "上报网格化平台" |
|||
: item.state === 20 ? "网格化平台-受理" |
|||
: item.state === 25 ? "网格化平台-立案" |
|||
: item.state === 30 ? "网格化平台-派遣" |
|||
: item.state === 35 ? "网格化平台-中间再派" |
|||
: item.state === 40 ? "网格化平台-接单" |
|||
: item.state === 45 ? "网格化平台-处理" |
|||
: item.state === 50 ? "网格化平台-中间督办" |
|||
: item.state === 55 ? "网格化平台-催办" |
|||
: item.state === 60 ? "网格化平台-结案" : ""}}】 |
|||
</view> |
|||
<!-- 项目状态 0且吹哨部门不为空-吹哨 --> |
|||
<view class="process-state" wx:if="{{item.itemDeptDTOS !== undefined && item.itemDeptDTOS.length !== 0}}"> |
|||
【{{item.state === 0 ? "吹哨" : ""}}】 |
|||
</view> |
|||
<!-- 议题状态 --> |
|||
<view class="process-state" wx:if="{{item.itemDeptDTOS === undefined}}"> |
|||
【{{item.state === 0 ? "审核通过" : item.state === 1 ? "回应" : item.state === 2 ? "关闭" : item.state === 3 ? "转议题" : item.state === 100 ? "转项目" : ""}}】 |
|||
</view> |
|||
<view class="process-time">{{item.createdTime}}</view> |
|||
</view> |
|||
<view wx:if="{{item.state == '3'}}"> |
|||
<view class="process-dept flex justify-start"> |
|||
<view class="process-dept-left-160">来源社群</view> |
|||
<view class="process-dept-right-160"> |
|||
<view class="process-text {{item.firstProcess ? 'process-text-first' : ''}}"> |
|||
{{item.groupName}} |
|||
</view> |
|||
</view> |
|||
</view> |
|||
<view class="process-advice flex justify-start"> |
|||
<view class="process-dept-left-160">处理人:</view> |
|||
<view class="process-dept-right-160"> |
|||
<view class="process-text {{item.firstProcess ? 'process-text-first' : ''}}"> |
|||
{{item.handlerDept}} |
|||
</view> |
|||
</view> |
|||
</view> |
|||
|
|||
<view class="process-advice flex justify-start"> |
|||
<view class="process-dept-left-160">处理人电话:</view> |
|||
<view class="process-dept-right-160"> |
|||
<view class="process-text {{item.firstProcess ? 'process-text-first' : ''}}"> |
|||
{{item.mobile}} |
|||
</view> |
|||
</view> |
|||
</view> |
|||
</view> |
|||
<view wx:else> |
|||
<view class="process-dept flex justify-start"> |
|||
<view class="process-dept-left-160">处理部门:</view> |
|||
<view class="process-dept-right-160"> |
|||
<view class="process-text {{item.firstProcess ? 'process-text-first' : ''}}"> |
|||
{{item.handlerDept}} |
|||
</view> |
|||
</view> |
|||
</view> |
|||
<view class="process-dept flex justify-start" wx:if="{{item.itemDeptDTOS !== undefined && item.itemDeptDTOS.length !== 0}}"> |
|||
<view class="process-dept-left-200">被吹哨部门:</view> |
|||
<view class="process-dept-right-200"> |
|||
<block wx:for="{{item.itemDeptDTOS}}" wx:for-item="itemWhistlingDepts" wx:key="process-itemDeptDTOS {{index}}"> |
|||
<view class="process-text {{item.firstProcess ? 'process-text-first' : ''}}"> |
|||
{{itemWhistlingDepts.deptName}} |
|||
</view> |
|||
</block> |
|||
</view> |
|||
</view> |
|||
<view class="process-advice flex justify-start"> |
|||
<view class="process-dept-left-160">处理意见:</view> |
|||
<view class="process-dept-right-160"> |
|||
<view class="process-text {{item.firstProcess ? 'process-text-first' : ''}}"> |
|||
{{item.advice}} |
|||
</view> |
|||
</view> |
|||
</view> |
|||
|
|||
</view> |
|||
|
|||
<!-- 回应图片 --> |
|||
<view class="grit"> |
|||
<block wx:for="{{item.images}}" wx:for-item="itemImages" wx:key="process-image {{index}}"> |
|||
<image wx:if="{{item.images.length===1}}" class="content-image content-image1" data-id="{{item.id}}" data-src="{{itemImages}}" bindtap="preview" src="{{itemImages}}"></image> |
|||
<image wx:if="{{item.images.length===2}}" class="content-image content-image2" data-id="{{item.id}}" data-src="{{itemImages}}" bindtap="preview" src="{{itemImages}}"></image> |
|||
<image wx:if="{{item.images.length===3}}" class="content-image content-image3" data-id="{{item.id}}" data-src="{{itemImages}}" bindtap="preview" src="{{itemImages}}"></image> |
|||
</block> |
|||
</view> |
|||
</view> |
|||
</wux-timeline-item> |
|||
</wux-timeline> |
|||
</view> |
|||
<view class="border-bottom"></view> |
|||
<view class="last-title" wx:if= "{{isShow == false}}" bindtap="toChange">展开 ∨</view> |
|||
<view class="last-title" wx:else bindtap="toChange">收起 ∧</view> |
|||
</view> |
@ -0,0 +1,145 @@ |
|||
/* components/event/itemProcessList/itemProcessList.wxss */ |
|||
@import "../../../style/z.wxss"; |
|||
|
|||
/* 处理进度 */ |
|||
.process-title { |
|||
font-size: 30rpx; |
|||
font-weight: bold; |
|||
color: #333333; |
|||
padding: 24rpx 0; |
|||
border-bottom: 1rpx solid #e7eeee; |
|||
} |
|||
|
|||
.process-list { |
|||
color: #909da7; |
|||
padding-top: 50rpx; |
|||
} |
|||
|
|||
.process-icon { |
|||
width: 46rpx; |
|||
height: 26rpx; |
|||
margin-top: -34rpx; |
|||
} |
|||
|
|||
.process-icon-image { |
|||
width: 100%; |
|||
height: 100%; |
|||
} |
|||
|
|||
.process-icon-1000 { |
|||
width: 20rpx; |
|||
height: 20rpx; |
|||
background: #C2CED8; |
|||
border-radius: 50%; |
|||
margin-top: -34rpx; |
|||
} |
|||
|
|||
.process-box { |
|||
padding-top: 12rpx; |
|||
} |
|||
|
|||
.process-state { |
|||
font-size: 26rpx; |
|||
margin-top: -24rpx; |
|||
margin-left: -10rpx; |
|||
} |
|||
|
|||
.process-time { |
|||
font-size: 20rpx; |
|||
} |
|||
|
|||
.process-dept { |
|||
font-size: 32rpx; |
|||
line-height: 48rpx; |
|||
} |
|||
|
|||
.process-advice { |
|||
font-size: 32rpx; |
|||
} |
|||
|
|||
.process-dept-left-160 { |
|||
width: 196rpx |
|||
} |
|||
|
|||
.process-dept-right-160 { |
|||
width: calc(100% - 160rpx); |
|||
} |
|||
|
|||
.process-dept-left-200 { |
|||
width: 200rpx |
|||
} |
|||
|
|||
.process-dept-right-200 { |
|||
width: calc(100% - 200rpx); |
|||
} |
|||
|
|||
.process-text-first { |
|||
color: #3c6cfc !important; |
|||
} |
|||
|
|||
.process-text { |
|||
color: #333333; |
|||
/* overflow: hidden; |
|||
text-overflow: ellipsis; |
|||
white-space: nowrap; |
|||
width: 100%; |
|||
display: block; */ |
|||
} |
|||
|
|||
|
|||
/* 回应图片 */ |
|||
.grit { |
|||
display: grid; |
|||
grid-gap: 4rpx; |
|||
grid-template-columns: repeat(auto-fit, minmax(0, 1fr)); |
|||
} |
|||
|
|||
.content-image { |
|||
width: auto; |
|||
border-radius: 16rpx; |
|||
/* background: #f7f7f7; */ |
|||
margin-top: 18rpx; |
|||
} |
|||
|
|||
.content-image1 { |
|||
height: 290rpx; |
|||
} |
|||
|
|||
.content-image2 { |
|||
height: 200rpx; |
|||
} |
|||
|
|||
.content-image3 { |
|||
height: 180rpx; |
|||
} |
|||
|
|||
/* 折叠 */ |
|||
.content{ |
|||
overflow: hidden; |
|||
text-overflow: ellipsis; |
|||
text-overflow: -o-ellipsis-lastline; |
|||
display: -webkit-box; |
|||
-webkit-line-clamp: 4; |
|||
-webkit-box-orient: vertical; |
|||
padding: 50rpx 25rpx 0rpx 25rpx; |
|||
} |
|||
.on{ |
|||
display: block; |
|||
text-overflow: clip; |
|||
overflow: visible; |
|||
} |
|||
.border-bottom{ |
|||
width: 100%; |
|||
height: 4rpx; |
|||
background-color: #e7eeee; |
|||
margin-top: 10rpx; |
|||
|
|||
} |
|||
.last-title{ |
|||
height: 80rpx; |
|||
text-align: right; |
|||
font-size:28rpx; |
|||
font-weight:500; |
|||
line-height: 80rpx; |
|||
color:rgba(60,108,252,1); |
|||
} |
@ -0,0 +1,23 @@ |
|||
"use strict"; |
|||
Component({ |
|||
options: { |
|||
addGlobalClass: true |
|||
}, |
|||
externalClasses: ['custom-class'], |
|||
properties: { |
|||
info: null, |
|||
name: String, |
|||
size: String, |
|||
color: String, |
|||
block: { |
|||
type: Boolean, |
|||
value: false |
|||
} |
|||
}, |
|||
methods: { |
|||
onClick: function () { |
|||
this.triggerEvent('click'); |
|||
} |
|||
} |
|||
}); |
|||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsU0FBUyxDQUFDO0lBQ04sT0FBTyxFQUFFO1FBQ1AsY0FBYyxFQUFFLElBQUk7S0FDckI7SUFFRCxlQUFlLEVBQUUsQ0FBQyxjQUFjLENBQUM7SUFFakMsVUFBVSxFQUFFO1FBQ1YsSUFBSSxFQUFFLElBQUk7UUFDVixJQUFJLEVBQUUsTUFBTTtRQUNaLElBQUksRUFBRSxNQUFNO1FBQ1osS0FBSyxFQUFFLE1BQU07UUFDYixLQUFLLEVBQUM7WUFDSixJQUFJLEVBQUMsT0FBTztZQUNaLEtBQUssRUFBQyxLQUFLO1NBQ1o7S0FDRjtJQUVELE9BQU8sRUFBRTtRQUNQLE9BQU87WUFDTCxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzdCLENBQUM7S0FDRjtDQUNGLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIkNvbXBvbmVudCh7XHJcbiAgICBvcHRpb25zOiB7XHJcbiAgICAgIGFkZEdsb2JhbENsYXNzOiB0cnVlXHJcbiAgICB9LFxyXG4gIFxyXG4gICAgZXh0ZXJuYWxDbGFzc2VzOiBbJ2N1c3RvbS1jbGFzcyddLFxyXG4gIFxyXG4gICAgcHJvcGVydGllczoge1xyXG4gICAgICBpbmZvOiBudWxsLFxyXG4gICAgICBuYW1lOiBTdHJpbmcsXHJcbiAgICAgIHNpemU6IFN0cmluZyxcclxuICAgICAgY29sb3I6IFN0cmluZyxcclxuICAgICAgYmxvY2s6e1xyXG4gICAgICAgIHR5cGU6Qm9vbGVhbixcclxuICAgICAgICB2YWx1ZTpmYWxzZVxyXG4gICAgICB9XHJcbiAgICB9LFxyXG4gIFxyXG4gICAgbWV0aG9kczoge1xyXG4gICAgICBvbkNsaWNrKCkge1xyXG4gICAgICAgIHRoaXMudHJpZ2dlckV2ZW50KCdjbGljaycpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfSk7Il19
|
@ -0,0 +1,3 @@ |
|||
{ |
|||
"component": true |
|||
} |
@ -0,0 +1,24 @@ |
|||
Component({ |
|||
options: { |
|||
addGlobalClass: true |
|||
}, |
|||
|
|||
externalClasses: ['custom-class'], |
|||
|
|||
properties: { |
|||
info: null, |
|||
name: String, |
|||
size: String, |
|||
color: String, |
|||
block:{ |
|||
type:Boolean, |
|||
value:false |
|||
} |
|||
}, |
|||
|
|||
methods: { |
|||
onClick() { |
|||
this.triggerEvent('click'); |
|||
} |
|||
} |
|||
}); |
@ -0,0 +1,7 @@ |
|||
<view |
|||
class=" custom-class ss-font ss-icon-{{ name }} " |
|||
style="{{ color ? 'color: ' + color : '' }}; {{ size ? 'font-size: ' + size : '' }}; {{ block ? 'display:block ' : '' }}" |
|||
bind:tap="onClick" |
|||
> |
|||
<view wx:if="{{ info !== null }}" class="ss-icon__info">{{ info }}</view> |
|||
</view> |
@ -0,0 +1,52 @@ |
|||
/* @font-face { |
|||
font-family: 'ss-font'; |
|||
src: url('https://www.52cxy.cn/wxapp/teacher/font/iconfont.eot'); |
|||
src: url('https://www.52cxy.cn/wxapp/teacher/font/iconfont.woff') format('woff'), |
|||
url('https://www.52cxy.cn/wxapp/teacher/font/iconfont.ttf') format('truetype'), |
|||
url('https://www.52cxy.cn/wxapp/teacher/font/iconfont.svg') format('svg'); |
|||
} */ |
|||
|
|||
@font-face { |
|||
font-family: 'ss-font'; /* project id 1360796 */ |
|||
src: url('//at.alicdn.com/t/font_1360796_62vxgaud7d6.eot'); |
|||
src: url('//at.alicdn.com/t/font_1360796_62vxgaud7d6.eot?#iefix') format('embedded-opentype'), |
|||
url('//at.alicdn.com/t/font_1360796_62vxgaud7d6.woff2') format('woff2'), |
|||
url('//at.alicdn.com/t/font_1360796_62vxgaud7d6.woff') format('woff'), |
|||
url('//at.alicdn.com/t/font_1360796_62vxgaud7d6.ttf') format('truetype'), |
|||
url('//at.alicdn.com/t/font_1360796_62vxgaud7d6.svg#ss-font') format('svg'); |
|||
} |
|||
.ss-icon__info { |
|||
position: absolute; |
|||
right: 0; |
|||
top: -8px; |
|||
color: #fff; |
|||
font-size: 12px; |
|||
font-family: PingFang SC, Helvetica Neue, Arial, sans-serif; |
|||
text-align: center; |
|||
box-sizing: border-box; |
|||
padding: 0 3px; |
|||
min-width: 16px; |
|||
line-height: 14px; |
|||
border-radius: 16px; |
|||
background-color: #f44; |
|||
-webkit-transform: translateX(50%); |
|||
transform: translateX(50%); |
|||
-webkit-transform-origin: 100%; |
|||
transform-origin: 100%; |
|||
white-space: nowrap; |
|||
} |
|||
|
|||
.ss-font { |
|||
font-family: "ss-font" !important; |
|||
display: inline-block; |
|||
font: normal normal normal 14px/1 ss-icon; |
|||
font-size: inherit; |
|||
text-rendering: auto; |
|||
position: relative; |
|||
} |
|||
.ss-icon-index:before { |
|||
content: "\e688"; |
|||
} |
|||
.ss-icon-back:before { |
|||
content: "\e9c9"; |
|||
} |
@ -0,0 +1,14 @@ |
|||
"use strict"; |
|||
Component({ |
|||
properties: { |
|||
loadType: { |
|||
type: String, |
|||
value: 'none' |
|||
}, |
|||
loadVisible: { |
|||
type: Boolean, |
|||
value: false |
|||
} |
|||
} |
|||
}); |
|||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZE1vcmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJsb2FkTW9yZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsU0FBUyxDQUFDO0lBQ1IsVUFBVSxFQUFFO1FBQ1YsUUFBUSxFQUFFO1lBQ1IsSUFBSSxFQUFFLE1BQU07WUFDWixLQUFLLEVBQUUsTUFBTTtTQUNkO1FBQ0QsV0FBVyxFQUFFO1lBQ1gsSUFBSSxFQUFFLE9BQU87WUFDYixLQUFLLEVBQUUsS0FBSztTQUNiO0tBQ0Y7Q0FDRixDQUFDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJDb21wb25lbnQoe1xuICBwcm9wZXJ0aWVzOiB7XG4gICAgbG9hZFR5cGU6IHtcbiAgICAgIHR5cGU6IFN0cmluZyxcbiAgICAgIHZhbHVlOiAnbm9uZSdcbiAgICB9LFxuICAgIGxvYWRWaXNpYmxlOiB7XG4gICAgICB0eXBlOiBCb29sZWFuLFxuICAgICAgdmFsdWU6IGZhbHNlXG4gICAgfVxuICB9XG59KSJdfQ==
|
@ -0,0 +1,3 @@ |
|||
{ |
|||
"component": true |
|||
} |
@ -0,0 +1,12 @@ |
|||
Component({ |
|||
properties: { |
|||
loadType: { |
|||
type: String, |
|||
value: 'none' |
|||
}, |
|||
loadVisible: { |
|||
type: Boolean, |
|||
value: false |
|||
} |
|||
} |
|||
}) |
@ -0,0 +1,9 @@ |
|||
<view class="load-more" style="visibility: {{ loadVisible ? 'visible': 'hidden'}}"> |
|||
<view class="more-data" wx:if="{{loadType === 'more'}}"> |
|||
<image src="../../images/loading.gif" /> |
|||
<view class="content">加载中...</view> |
|||
</view> |
|||
<view class="no-data" wx:elif="{{loadType === 'none'}}"> |
|||
<view class="content">没有更多了~</view> |
|||
</view> |
|||
</view> |
@ -0,0 +1,32 @@ |
|||
.load-more { |
|||
width: 100%; |
|||
height: 100rpx; |
|||
} |
|||
|
|||
.load-more .more-data { |
|||
width: 100%; |
|||
height: 100%; |
|||
display: flex; |
|||
align-items: center; |
|||
justify-content: center; |
|||
} |
|||
.load-more .more-data image { |
|||
width: 35rpx; |
|||
height: 35rpx; |
|||
margin-right: 10rpx; |
|||
} |
|||
.load-more .more-data .content { |
|||
font-size: 28rpx; |
|||
color: #999; |
|||
} |
|||
|
|||
.load-more .no-data { |
|||
width: 100%; |
|||
height: 100%; |
|||
text-align: center; |
|||
line-height: 100rpx; |
|||
} |
|||
.load-more .no-data .content { |
|||
font-size: 28rpx; |
|||
color: #999; |
|||
} |
@ -0,0 +1,46 @@ |
|||
"use strict"; |
|||
var App = getApp(); |
|||
Component({ |
|||
options: { |
|||
addGlobalClass: true, |
|||
}, |
|||
externalClasses: ['custom-class'], |
|||
properties: { |
|||
pageName: String, |
|||
showNav: { |
|||
type: Boolean, |
|||
value: true |
|||
}, |
|||
bgColor: { |
|||
type: String, |
|||
value: '#fff' |
|||
}, |
|||
iconColor: { |
|||
type: String, |
|||
value: '#000' |
|||
} |
|||
}, |
|||
data: {}, |
|||
lifetimes: { |
|||
attached: function () { |
|||
this.setData({ |
|||
navHeight: App.globalData.navHeight, |
|||
navTop: App.globalData.navTop |
|||
}); |
|||
} |
|||
}, |
|||
methods: { |
|||
_navBack: function () { |
|||
wx.setStorageSync('isBackOpen', true); |
|||
wx.navigateBack({ |
|||
delta: 1 |
|||
}); |
|||
}, |
|||
_toIndex: function () { |
|||
wx.reLaunch({ |
|||
url: '/pages/index/index' |
|||
}); |
|||
}, |
|||
} |
|||
}); |
|||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQ0EsSUFBTSxHQUFHLEdBQUcsTUFBTSxFQUFFLENBQUM7QUFFckIsU0FBUyxDQUFDO0lBQ1IsT0FBTyxFQUFFO1FBQ1AsY0FBYyxFQUFFLElBQUk7S0FDckI7SUFDRCxlQUFlLEVBQUUsQ0FBQyxjQUFjLENBQUM7SUFJakMsVUFBVSxFQUFFO1FBQ1YsUUFBUSxFQUFDLE1BQU07UUFDZixPQUFPLEVBQUU7WUFDUCxJQUFJLEVBQUUsT0FBTztZQUNiLEtBQUssRUFBRSxJQUFJO1NBQ1o7UUFDRCxPQUFPLEVBQUM7WUFDTixJQUFJLEVBQUUsTUFBTTtZQUNaLEtBQUssRUFBRSxNQUFNO1NBQ2Q7UUFDRCxTQUFTLEVBQUM7WUFDUixJQUFJLEVBQUUsTUFBTTtZQUNaLEtBQUssRUFBRSxNQUFNO1NBQ2Q7S0FDRjtJQUtELElBQUksRUFBRSxFQUVMO0lBQ0QsU0FBUyxFQUFFO1FBQ1QsUUFBUSxFQUFFO1lBQ1IsSUFBSSxDQUFDLE9BQU8sQ0FBQztnQkFDWCxTQUFTLEVBQUUsR0FBRyxDQUFDLFVBQVUsQ0FBQyxTQUFTO2dCQUNuQyxNQUFNLEVBQUUsR0FBRyxDQUFDLFVBQVUsQ0FBQyxNQUFNO2FBQzlCLENBQUMsQ0FBQTtRQUNILENBQUM7S0FDSDtJQUlELE9BQU8sRUFBRTtRQUVQLFFBQVEsRUFBRTtZQUNSLEVBQUUsQ0FBQyxjQUFjLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQyxDQUFBO1lBQ3JDLEVBQUUsQ0FBQyxZQUFZLENBQUM7Z0JBQ2QsS0FBSyxFQUFFLENBQUM7YUFDVCxDQUFDLENBQUE7UUFDSixDQUFDO1FBRUQsUUFBUSxFQUFFO1lBQ1IsRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkFDVixHQUFHLEVBQUUsb0JBQW9CO2FBQzFCLENBQUMsQ0FBQTtRQUNKLENBQUM7S0FDRjtDQUNGLENBQUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbIi8vIGNvbXBvbmVudHMvbmF2YmFyL2luZGV4LmpzXHJcbmNvbnN0IEFwcCA9IGdldEFwcCgpO1xyXG5cclxuQ29tcG9uZW50KHtcclxuICBvcHRpb25zOiB7XHJcbiAgICBhZGRHbG9iYWxDbGFzczogdHJ1ZSxcclxuICB9LFxyXG4gIGV4dGVybmFsQ2xhc3NlczogWydjdXN0b20tY2xhc3MnXSxcclxuICAvKipcclxuICAgKiDnu4Tku7bnmoTlsZ7mgKfliJfooahcclxuICAgKi9cclxuICBwcm9wZXJ0aWVzOiB7XHJcbiAgICBwYWdlTmFtZTpTdHJpbmcsXHJcbiAgICBzaG93TmF2OiB7XHJcbiAgICAgIHR5cGU6IEJvb2xlYW4sXHJcbiAgICAgIHZhbHVlOiB0cnVlXHJcbiAgICB9LFxyXG4gICAgYmdDb2xvcjp7XHJcbiAgICAgIHR5cGU6IFN0cmluZyxcclxuICAgICAgdmFsdWU6ICcjZmZmJ1xyXG4gICAgfSxcclxuICAgIGljb25Db2xvcjp7XHJcbiAgICAgIHR5cGU6IFN0cmluZyxcclxuICAgICAgdmFsdWU6ICcjMDAwJ1xyXG4gICAgfVxyXG4gIH0sXHJcblxyXG4gIC8qKlxyXG4gICAqIOe7hOS7tueahOWIneWni+aVsOaNrlxyXG4gICAqL1xyXG4gIGRhdGE6IHtcclxuICAgXHJcbiAgfSxcclxuICBsaWZldGltZXM6IHtcclxuICAgIGF0dGFjaGVkOiBmdW5jdGlvbiAoKSB7XHJcbiAgICAgIHRoaXMuc2V0RGF0YSh7XHJcbiAgICAgICAgbmF2SGVpZ2h0OiBBcHAuZ2xvYmFsRGF0YS5uYXZIZWlnaHQsXHJcbiAgICAgICAgbmF2VG9wOiBBcHAuZ2xvYmFsRGF0YS5uYXZUb3BcclxuICAgICAgfSlcclxuICAgICB9XHJcbiAgfSxcclxuICAvKipcclxuICAgKiDnu4Tku7bnmoTmlrnms5XliJfooahcclxuICAgKi9cclxuICBtZXRob2RzOiB7XHJcbiAgICAvL+WbnumAgFxyXG4gICAgX25hdkJhY2s6IGZ1bmN0aW9uICgpIHtcclxuICAgICAgd3guc2V0U3RvcmFnZVN5bmMoJ2lzQmFja09wZW4nLCB0cnVlKVxyXG4gICAgICB3eC5uYXZpZ2F0ZUJhY2soe1xyXG4gICAgICAgIGRlbHRhOiAxXHJcbiAgICAgIH0pICAgICAgXHJcbiAgICB9LFxyXG4gICAgLy/lm57kuLvpobVcclxuICAgIF90b0luZGV4OiBmdW5jdGlvbiAoKSB7XHJcbiAgICAgIHd4LnJlTGF1bmNoKHtcclxuICAgICAgICB1cmw6ICcvcGFnZXMvaW5kZXgvaW5kZXgnXHJcbiAgICAgIH0pXHJcbiAgICB9LFxyXG4gIH1cclxufSlcclxuIl19
|
@ -0,0 +1,6 @@ |
|||
{ |
|||
"component": true, |
|||
"usingComponents": { |
|||
"ss-icon": "../icon/index" |
|||
} |
|||
} |
@ -0,0 +1,60 @@ |
|||
// components/navbar/index.js
|
|||
const App = getApp(); |
|||
|
|||
Component({ |
|||
options: { |
|||
addGlobalClass: true, |
|||
}, |
|||
externalClasses: ['custom-class'], |
|||
/** |
|||
* 组件的属性列表 |
|||
*/ |
|||
properties: { |
|||
pageName:String, |
|||
showNav: { |
|||
type: Boolean, |
|||
value: true |
|||
}, |
|||
bgColor:{ |
|||
type: String, |
|||
value: '#fff' |
|||
}, |
|||
iconColor:{ |
|||
type: String, |
|||
value: '#000' |
|||
} |
|||
}, |
|||
|
|||
/** |
|||
* 组件的初始数据 |
|||
*/ |
|||
data: { |
|||
|
|||
}, |
|||
lifetimes: { |
|||
attached: function () { |
|||
this.setData({ |
|||
navHeight: App.globalData.navHeight, |
|||
navTop: App.globalData.navTop |
|||
}) |
|||
} |
|||
}, |
|||
/** |
|||
* 组件的方法列表 |
|||
*/ |
|||
methods: { |
|||
//回退
|
|||
_navBack: function () { |
|||
wx.setStorageSync('isBackOpen', true) |
|||
wx.navigateBack({ |
|||
delta: 1 |
|||
}) |
|||
}, |
|||
//回主页
|
|||
_toIndex: function () { |
|||
wx.reLaunch({ |
|||
url: '/pages/index/index' |
|||
}) |
|||
}, |
|||
} |
|||
}) |
@ -0,0 +1,12 @@ |
|||
<!--components/navbar/index.wxml--> |
|||
<view class="navbar custom-class nav-wrap" style='height:{{navHeight}}px;background-color:{{bgColor}}'> |
|||
<view wx:if="{{showNav}}" class="navbar-action-wrap navbar-action-group row item-center" style='top:{{navTop}}px;background-color:rgba(255,255,255,.6)'> |
|||
<ss-icon name="back" color="{{iconColor}}" size="15px" block="{{true}}" class="navbar-action_item" bind:click="_navBack"></ss-icon> |
|||
<view class="navImg navbar-action_item" bind:tap="_toIndex"> |
|||
<image src="../../images/home.png"></image> |
|||
</view> |
|||
</view> |
|||
<view class='navbar-title' style='top:{{navTop}}px'> |
|||
{{pageName}} |
|||
</view> |
|||
</view> |
@ -0,0 +1,81 @@ |
|||
/* components/navbar/index.wxss */ |
|||
|
|||
.navbar { |
|||
width: 100%; |
|||
overflow: hidden; |
|||
position: relative; |
|||
top: 0; |
|||
left: 0; |
|||
z-index: 10; |
|||
flex-shrink: 0; |
|||
} |
|||
|
|||
.navbar-title { |
|||
width: 100%; |
|||
box-sizing: border-box; |
|||
padding-left: 115px; |
|||
padding-right: 115px; |
|||
height: 32px; |
|||
line-height: 32px; |
|||
text-align: center; |
|||
position: absolute; |
|||
left: 0; |
|||
z-index: 10; |
|||
color: #333; |
|||
font-size: 32rpx; |
|||
font-weight:normal; |
|||
text-overflow: ellipsis; |
|||
overflow: hidden; |
|||
white-space: nowrap; |
|||
} |
|||
|
|||
.navbar-action-wrap { |
|||
display: -webkit-flex; |
|||
display: flex; |
|||
-webkit-box-align: center; |
|||
-ms-flex-align: center; |
|||
-webkit-align-items: center; |
|||
align-items: center; |
|||
position: absolute; |
|||
left: 10px; |
|||
z-index: 11; |
|||
line-height: 1; |
|||
padding-top: 4px; |
|||
padding-bottom: 4px; |
|||
} |
|||
|
|||
.navbar-action-group { |
|||
border: 1px solid #f0f0f0; |
|||
border-radius: 20px; |
|||
overflow: hidden; |
|||
} |
|||
|
|||
.navbar-action_item { |
|||
padding: 3px 0; |
|||
color: #333; |
|||
} |
|||
|
|||
.navbar-action-group .navbar-action_item { |
|||
border-right: 1px solid #f0f0f0; |
|||
padding: 3px 14px; |
|||
} |
|||
|
|||
.navbar-action-group .last { |
|||
border-right: none; |
|||
} |
|||
.navImg{ |
|||
width: 15px; |
|||
height: 15px; |
|||
} |
|||
.navImg image{ |
|||
width: 100%; |
|||
height: 100%; |
|||
} |
|||
.nav-wrap{ |
|||
position: fixed; |
|||
width: 100%; |
|||
top: 0; |
|||
background: #fff; |
|||
color: #000; |
|||
z-index: 9999999; |
|||
} |
@ -0,0 +1,15 @@ |
|||
"use strict"; |
|||
Component({ |
|||
properties: { |
|||
isShow: { |
|||
type: Boolean |
|||
}, |
|||
top:{ |
|||
type:Boolean, |
|||
value:false |
|||
} |
|||
}, |
|||
data: {}, |
|||
methods: {} |
|||
}); |
|||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kYXRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsibm9kYXRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFDQSxTQUFTLENBQUM7SUFJTixVQUFVLEVBQUU7UUFDUixNQUFNLEVBQUM7WUFDSCxJQUFJLEVBQUMsT0FBTztTQUNmO0tBQ0o7SUFLRCxJQUFJLEVBQUUsRUFFTDtJQUtELE9BQU8sRUFBRSxFQUVSO0NBQ0YsQ0FBQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiLy8gY29tcG9uZW50cy9ub2RhdGEvbm9kYXRhLmpzXHJcbkNvbXBvbmVudCh7XHJcbiAgICAvKipcclxuICAgICAqIOe7hOS7tueahOWxnuaAp+WIl+ihqFxyXG4gICAgICovXHJcbiAgICBwcm9wZXJ0aWVzOiB7XHJcbiAgICAgICAgaXNTaG93OntcclxuICAgICAgICAgICAgdHlwZTpCb29sZWFuXHJcbiAgICAgICAgfVxyXG4gICAgfSxcclxuICBcclxuICAgIC8qKlxyXG4gICAgICog57uE5Lu255qE5Yid5aeL5pWw5o2uXHJcbiAgICAgKi9cclxuICAgIGRhdGE6IHtcclxuICBcclxuICAgIH0sXHJcbiAgXHJcbiAgICAvKipcclxuICAgICAqIOe7hOS7tueahOaWueazleWIl+ihqFxyXG4gICAgICovXHJcbiAgICBtZXRob2RzOiB7XHJcbiAgXHJcbiAgICB9XHJcbiAgfSlcclxuICAiXX0=
|
@ -0,0 +1,4 @@ |
|||
{ |
|||
"component": true, |
|||
"usingComponents": {} |
|||
} |
@ -0,0 +1,30 @@ |
|||
// components/nodata/nodata.js
|
|||
Component({ |
|||
/** |
|||
* 组件的属性列表 |
|||
*/ |
|||
properties: { |
|||
isShow:{ |
|||
type:Boolean |
|||
}, |
|||
top:{ |
|||
type:Boolean, |
|||
value:false |
|||
} |
|||
}, |
|||
|
|||
/** |
|||
* 组件的初始数据 |
|||
*/ |
|||
data: { |
|||
|
|||
}, |
|||
|
|||
/** |
|||
* 组件的方法列表 |
|||
*/ |
|||
methods: { |
|||
|
|||
} |
|||
}) |
|||
|
@ -0,0 +1,5 @@ |
|||
<!--components/nodata/nodata.wxml--> |
|||
<view class="box" wx:if="{{isShow}}" style="margin-top:{{top?'400rpx':''}}"> |
|||
<image src="../../images/nodata.png" class="image"/> |
|||
<text class="text">暂无数据~</text> |
|||
</view> |
@ -0,0 +1,19 @@ |
|||
/* components/nodata/nodata.wxss */ |
|||
.box{ |
|||
width: 100%; |
|||
height: auto; |
|||
box-sizing: border-box; |
|||
text-align: center; |
|||
margin-top: 100rpx; |
|||
} |
|||
.image{ |
|||
width: 450rpx; |
|||
height: 240rpx; |
|||
} |
|||
.text{ |
|||
width: 100%; |
|||
height: auto; |
|||
font-size: 28rpx; |
|||
color: #BCBCBC; |
|||
display: block; |
|||
} |
@ -0,0 +1,86 @@ |
|||
var api = require('../../api/project.js') |
|||
var utils = require('../../utils/util') |
|||
const app = getApp() |
|||
Component({ |
|||
properties: { |
|||
state: Number |
|||
}, |
|||
data: { |
|||
items: [], |
|||
showSkeleton: true |
|||
}, |
|||
attached: function () { |
|||
|
|||
}, |
|||
lifetimes: { |
|||
attached: function () {}, |
|||
moved: function () {}, |
|||
detached: function () {}, |
|||
}, |
|||
|
|||
ready: function () { |
|||
|
|||
}, |
|||
|
|||
pageLifetimes: { |
|||
// 组件所在页面的生命周期函数
|
|||
show: function () {}, |
|||
}, |
|||
methods: { |
|||
|
|||
getItemList: function (page, index, clear) { |
|||
// wx.showLoading({
|
|||
// title: '加载中',
|
|||
// })
|
|||
if (clear == 0) {//清空数据
|
|||
this.setData({ |
|||
items: [] |
|||
}) |
|||
} |
|||
let that = this |
|||
let itemState = 0 |
|||
if (index == 1) { |
|||
itemState = 10 |
|||
} else if (index == 2) { |
|||
itemState = 5 |
|||
} else {} |
|||
|
|||
let curGrid = wx.getStorageSync('currentGrid'); |
|||
let deptId=''; |
|||
if (curGrid !== undefined && curGrid !== 'undefined' && curGrid !== '') { |
|||
deptId = curGrid.deptId |
|||
} |
|||
let params = { |
|||
"deptId": deptId, |
|||
"pageIndex": page, |
|||
"pageSize": app.globalData.pageSize, |
|||
"timestamp": utils.formatTimeOpen(new Date(), '-', ':'), |
|||
"itemState": itemState |
|||
} |
|||
console.log("params:" + JSON.stringify(params)) |
|||
api.getItemList(params).then(function (res) { |
|||
// wx.hideLoading()
|
|||
console.log(res.data) |
|||
that.setData({ |
|||
items: that.data.items.concat(res.data), |
|||
showSkeleton: false |
|||
}) |
|||
}) |
|||
}, |
|||
toItemDetail(e) { |
|||
const id = e.currentTarget.dataset.id |
|||
const itemState = this.data.state |
|||
console.log('状态:'+itemState) |
|||
if (itemState == 0){ |
|||
wx.navigateTo({ |
|||
url: `../../pages/itemDetail/itemDetail?itemId=${id}&itemState=${itemState}` |
|||
}) |
|||
} else { |
|||
wx.navigateTo({ |
|||
url: `../../pages/project/projectDetail/projectDetail?itemId=${id}&itemState=${itemState}` |
|||
}) |
|||
} |
|||
} |
|||
} |
|||
|
|||
}) |
@ -0,0 +1,6 @@ |
|||
{ |
|||
"component": true, |
|||
"usingComponents": { |
|||
"skeleton": "../skeleton/subject/subject" |
|||
} |
|||
} |
@ -0,0 +1,60 @@ |
|||
<block wx:if="{{showSkeleton}}"> |
|||
<skeleton |
|||
wx:for="{{[1]}}" |
|||
wx:for-index="index" |
|||
wx:for-item="item" |
|||
wx:key="{{index}}"> |
|||
</skeleton> |
|||
</block> |
|||
<block wx:if="{{!showSkeleton}}"> |
|||
<view class="layout" wx:for="{{items}}" wx:key="{{index}}"> |
|||
<view class="subject-item"> |
|||
<view class="subject-title line-clamp"> |
|||
|
|||
{{item.itemContent}} |
|||
</view> |
|||
<view class="tags tag1">{{item.categoryName}}</view> |
|||
<view class="subject-user"> |
|||
<view class="user-avatar"> |
|||
<image src="{{item.avatar}}" /> |
|||
</view> |
|||
<view class="user-name"> |
|||
<view class="name">{{item.nickname}}</view> |
|||
<view class="time">{{item.createdTime}}</view> |
|||
</view> |
|||
</view> |
|||
<view class="comment"> |
|||
【最新进展】<view class="line-clamp">{{item.latestProgress.advice}}</view> |
|||
<view class="addtime">{{item.latestProgress.createdTime}}</view> |
|||
</view> |
|||
<view class="btmbar"> |
|||
<view class="halfwidth fl attitude">表达态度{{item.statementNum}}次</view> |
|||
<view class="halfwidth fr handle"> |
|||
<view class="buttons btn-size-small" wx:if="{{state == '0'}}"> |
|||
<view class="btn_label btn-size-small btn_label-small" bindtap="toItemDetail" data-id="{{item.id}}"> |
|||
去处理 |
|||
</view> |
|||
<image class="ic_btn btn-size-small" src="/images/btn.png"></image> |
|||
</view> |
|||
|
|||
<view class="buttons btn-size-small" wx:elif="{{state == '1'}}"> |
|||
<view class="btn_label btn-size-small btn_label-small" bindtap="toItemDetail" data-id="{{item.id}}"> |
|||
已结案 |
|||
</view> |
|||
<image class="ic_btn btn-size-small" src="/images/btn2.png"></image> |
|||
</view> |
|||
|
|||
<view class="buttons btn-size-small" wx:elif="{{state == '2'}}"> |
|||
<view class="btn_label btn-size-small btn_label-small ygb-color" bindtap="toItemDetail" data-id="{{item.id}}"> |
|||
已关闭 |
|||
</view> |
|||
<image class="ic_btn btn-size-small" src="/images/btn4.png"></image> |
|||
</view> |
|||
|
|||
</view> |
|||
</view> |
|||
</view> |
|||
</view> |
|||
</block> |
|||
|
|||
<view class="loadmore">上滑加载更多</view> |
@ -0,0 +1,182 @@ |
|||
.layout{ |
|||
width: 100%; |
|||
display: flex; |
|||
/* flex-direction: column; |
|||
justify-content: space-between; |
|||
box-sizing: border-box; */ |
|||
border-bottom: 6pt solid #f6f8f8; |
|||
} |
|||
.fl{ |
|||
float: left; |
|||
} |
|||
.fr{ |
|||
float: right; |
|||
} |
|||
.subject-item{ |
|||
display: flex; |
|||
flex-direction: column; |
|||
width: 100%; |
|||
margin: 10px; |
|||
} |
|||
.subject-title{ |
|||
width: 100%; |
|||
display: inline-table; |
|||
font-size: 36rpx; |
|||
color: #333333; |
|||
} |
|||
.tags{ |
|||
float: left; |
|||
font-size:24rpx; |
|||
align-self: end; |
|||
display: inline-table; |
|||
border-radius: 4px; |
|||
height: 20px; |
|||
margin-right: 5px; |
|||
line-height: 20px; |
|||
padding: 0 12rpx 0 12rpx; |
|||
} |
|||
.tag1{ |
|||
color: #ff9f00; |
|||
background: #fff0cf; |
|||
border: 1px solid #ffe1b8; |
|||
} |
|||
.tag2{ |
|||
color: #3abfc5; |
|||
background: #d6f6f7; |
|||
border: 1px solid #a5ebee; |
|||
} |
|||
.tag3{ |
|||
color: #a081f1; |
|||
background: #efe9ff; |
|||
border: 1px solid #ddd7f1; |
|||
} |
|||
.tag4{ |
|||
color: #fa7f8a; |
|||
background: #ffe9f1; |
|||
border: 1px solid #f2d3de; |
|||
} |
|||
.subject-user{ |
|||
width: 100%; |
|||
display: table; |
|||
padding: 20rpx 0; |
|||
} |
|||
.swiper-item-con{ |
|||
height: 100%; |
|||
} |
|||
.user-avatar{ |
|||
width: 46rpx; |
|||
height: 46rpx; |
|||
display: table; |
|||
float: left; |
|||
border-radius: 4px; |
|||
background: #eeeeee; |
|||
margin-right: 10px; |
|||
} |
|||
.user-avatar image{ |
|||
display: table; |
|||
width: 46rpx; |
|||
height: 46rpx; |
|||
} |
|||
.user-name{ |
|||
float: left; |
|||
height: 46rpx; |
|||
} |
|||
.user-name .name{ |
|||
font-size: 24rpx; |
|||
color:#7A8C9A; |
|||
height: 25rpx; |
|||
line-height: 25rpx; |
|||
} |
|||
.user-name .time{ |
|||
height: 25rpx; |
|||
line-height: 30rpx; |
|||
font-size: 20rpx; |
|||
color: #A5B0B9; |
|||
} |
|||
.comment{ |
|||
width: calc(100% - 20px); |
|||
display: inline-table; |
|||
font-size: 30rpx; |
|||
color: #7A8C9A; |
|||
padding: 10px; |
|||
background: #F2F6F7; |
|||
border-radius: 8px; |
|||
} |
|||
.addtime{ |
|||
width: 100%; |
|||
text-align: right; |
|||
font-size: 20rpx; |
|||
} |
|||
.btmbar{ |
|||
width: 100%; |
|||
display: inline-table; |
|||
height: 50rpx; |
|||
line-height: 90rpx; |
|||
font-size: 36rpx; |
|||
color: #333333; |
|||
} |
|||
.halfwidth{ |
|||
width: 46%; |
|||
} |
|||
.attitude{ |
|||
font-size: 26rpx; |
|||
} |
|||
.handle{ |
|||
margin-top: 20rpx; |
|||
width: 75px; |
|||
height: 30px; |
|||
} |
|||
.loadmore{ |
|||
width: 100%; |
|||
text-align: center; |
|||
height: 50px; |
|||
line-height: 50px; |
|||
background: #f6f8f8; |
|||
font-size:12px; |
|||
color: #999; |
|||
} |
|||
/* 自定义按钮样式 */ |
|||
.buttons { |
|||
font-size: 32rpx; |
|||
font-weight: bold; |
|||
margin: auto; |
|||
left: 0; |
|||
right: 0; |
|||
} |
|||
.btn-size-small{ |
|||
width: 150rpx; |
|||
height: 60rpx; |
|||
} |
|||
.btn_label{ |
|||
position: absolute; |
|||
color: #fff; |
|||
z-index: 99; |
|||
text-align: center; |
|||
} |
|||
.btn_label-small{ |
|||
line-height: 60rpx; |
|||
font-size: 28rpx; |
|||
font-weight: normal; |
|||
} |
|||
.ic_btn { |
|||
/* position: fixed; */ |
|||
} |
|||
.btn { |
|||
opacity: 0; |
|||
} |
|||
/*----end----*/ |
|||
|
|||
|
|||
.ygb-color{ |
|||
color: #909DA7 |
|||
} |
|||
|
|||
.line-clamp{ |
|||
display: -webkit-box; |
|||
overflow: hidden; |
|||
text-overflow: ellipsis; |
|||
word-wrap: break-word; |
|||
white-space: normal !important; |
|||
-webkit-line-clamp: 2; |
|||
-webkit-box-orient: vertical; |
|||
} |
@ -0,0 +1,8 @@ |
|||
Component({ |
|||
data: { |
|||
|
|||
}, |
|||
methods: { |
|||
|
|||
} |
|||
}) |
@ -0,0 +1,3 @@ |
|||
{ |
|||
"component": true |
|||
} |
@ -0,0 +1,13 @@ |
|||
<view class="preload-issue-item"> |
|||
<view class="header"></view> |
|||
<view class="content"></view> |
|||
<view class="image-list"> |
|||
<view class="image-list-item"></view> |
|||
<view class="image-list-item"></view> |
|||
<view class="image-list-item"></view> |
|||
</view> |
|||
<view class="type"></view> |
|||
<view class="hot-remark"></view> |
|||
<view class="altitude"></view> |
|||
|
|||
</view> |
@ -0,0 +1,81 @@ |
|||
.preload-issue-item { |
|||
width: 100%; |
|||
background: #fff; |
|||
box-sizing: border-box; |
|||
border-radius: 16rpx; |
|||
padding: 0 24rpx; |
|||
overflow: hidden; |
|||
margin-bottom: 20rpx; |
|||
} |
|||
.preload-issue-item .header { |
|||
height: 52rpx; |
|||
margin-bottom: 10rpx; |
|||
margin-top: 20rpx; |
|||
border-radius: 8rpx; |
|||
background: linear-gradient(90deg, #f2f2f2 25%, #e6e6e6 37%, #f2f2f2 63%); |
|||
animation: loading 1.4s ease infinite; |
|||
background-size: 400% 100%; |
|||
} |
|||
.preload-issue-item .content { |
|||
width: 100%; |
|||
height: 120rpx; |
|||
border-radius: 8rpx; |
|||
background: linear-gradient(90deg, #f2f2f2 25%, #e6e6e6 37%, #f2f2f2 63%); |
|||
animation: loading 1.4s ease infinite; |
|||
background-size: 400% 100%; |
|||
} |
|||
.preload-issue-item .image-list { |
|||
display:grid; |
|||
grid-template-columns: repeat(auto-fit, minmax(214rpx, 1fr)); |
|||
grid-gap: 10rpx; |
|||
height: 160rpx; |
|||
margin-top: 20rpx; |
|||
} |
|||
.preload-issue-item .image-list .image-list-item { |
|||
width: 100%; |
|||
height: 100%; |
|||
border-radius: 16rpx; |
|||
overflow: hidden; |
|||
background: linear-gradient(90deg, #f2f2f2 25%, #e6e6e6 37%, #f2f2f2 63%); |
|||
animation: loading 1.4s ease infinite; |
|||
background-size: 400% 100%; |
|||
} |
|||
.preload-issue-item .type { |
|||
height: 20rpx; |
|||
margin-top: 10rpx; |
|||
margin-bottom: 10rpx; |
|||
border-radius: 2rpx; |
|||
width: 50%; |
|||
background: linear-gradient(90deg, #f2f2f2 25%, #e6e6e6 37%, #f2f2f2 63%); |
|||
animation: loading 1.4s ease infinite; |
|||
background-size: 400% 100%; |
|||
} |
|||
.preload-issue-item .hot-remark { |
|||
width: 100%; |
|||
height: 120rpx; |
|||
border-radius: 8rpx; |
|||
background: linear-gradient(90deg, #f2f2f2 25%, #e6e6e6 37%, #f2f2f2 63%); |
|||
animation: loading 1.4s ease infinite; |
|||
background-size: 400% 100%; |
|||
} |
|||
.preload-issue-item .altitude { |
|||
width:100%; |
|||
height: 30rpx; |
|||
margin: 10rpx 0; |
|||
border-radius: 2rpx; |
|||
background: linear-gradient(90deg, #f2f2f2 25%, #e6e6e6 37%, #f2f2f2 63%); |
|||
animation: loading 1.4s ease infinite; |
|||
background-size: 400% 100%; |
|||
margin-bottom: 35rpx; |
|||
} |
|||
|
|||
|
|||
@keyframes loading { |
|||
0% { |
|||
background-position: 100% 50% |
|||
} |
|||
|
|||
100% { |
|||
background-position: 0 50% |
|||
} |
|||
} |
@ -0,0 +1,8 @@ |
|||
Component({ |
|||
data: { |
|||
|
|||
}, |
|||
methods: { |
|||
|
|||
} |
|||
}) |
@ -0,0 +1,3 @@ |
|||
{ |
|||
"component": true |
|||
} |
@ -0,0 +1,18 @@ |
|||
<view class="preload-issue-item"> |
|||
<view class="header"></view> |
|||
<view class="content"></view> |
|||
<view class="content"></view> |
|||
<view class="content"></view> |
|||
<view class="content"></view> |
|||
<view class="content"></view> |
|||
<view class="content"></view> |
|||
<!-- <view class="image-list"> |
|||
<view class="image-list-item"></view> |
|||
<view class="image-list-item"></view> |
|||
<view class="image-list-item"></view> |
|||
</view> --> |
|||
<!-- <view class="type"></view> --> |
|||
<!-- <view class="hot-remark"></view> --> |
|||
<!-- <view class="altitude"></view> --> |
|||
|
|||
</view> |
@ -0,0 +1,39 @@ |
|||
.preload-issue-item { |
|||
width: 100%; |
|||
background: #fff; |
|||
box-sizing: border-box; |
|||
border-radius: 16rpx; |
|||
padding: 0 24rpx; |
|||
overflow: hidden; |
|||
margin-bottom: 20rpx; |
|||
} |
|||
.preload-issue-item .header { |
|||
height: 52rpx; |
|||
margin-bottom: 10rpx; |
|||
margin-top: 20rpx; |
|||
border-radius: 8rpx; |
|||
background: linear-gradient(90deg, #f2f2f2 25%, #e6e6e6 37%, #f2f2f2 63%); |
|||
animation: loading 1.4s ease infinite; |
|||
background-size: 400% 100%; |
|||
} |
|||
.preload-issue-item .content { |
|||
width: 100%; |
|||
height: 120rpx; |
|||
margin-top: 20rpx; |
|||
border-radius: 8rpx; |
|||
background: linear-gradient(90deg, #f2f2f2 25%, #e6e6e6 37%, #f2f2f2 63%); |
|||
animation: loading 1.4s ease infinite; |
|||
background-size: 400% 100%; |
|||
} |
|||
|
|||
|
|||
|
|||
@keyframes loading { |
|||
0% { |
|||
background-position: 100% 50% |
|||
} |
|||
|
|||
100% { |
|||
background-position: 0 50% |
|||
} |
|||
} |
@ -0,0 +1,107 @@ |
|||
var api = require('../../api/common.js') |
|||
|
|||
const app = getApp() |
|||
Component({ |
|||
properties: { |
|||
state: Number |
|||
}, |
|||
data: { |
|||
items: [], |
|||
showSkeleton: true |
|||
}, |
|||
attached: function () {}, |
|||
|
|||
ready: function () { |
|||
|
|||
}, |
|||
|
|||
pageLifetimes: { |
|||
// 组件所在页面的生命周期函数
|
|||
show: function () {}, |
|||
}, |
|||
methods: { |
|||
getIssueList(searchData) { |
|||
// wx.showLoading({
|
|||
// title: '加载中',
|
|||
// })
|
|||
|
|||
if (searchData.clear == 0){//清空数据
|
|||
this.setData({ |
|||
items: [] |
|||
}) |
|||
} |
|||
|
|||
this.searchData = searchData |
|||
var orderType = ""; |
|||
if (searchData.currenttab == "hot") { |
|||
orderType = "1" |
|||
} else { |
|||
orderType = "0" |
|||
} |
|||
|
|||
let deptId = '' |
|||
let currentGrid = wx.getStorageSync('currentGrid') |
|||
console.log('currentGrid', currentGrid) |
|||
if (currentGrid !== undefined && currentGrid !== 'undefined' && currentGrid !== '') { |
|||
deptId = currentGrid.deptId |
|||
} |
|||
console.log('deptId', deptId) |
|||
|
|||
// 0-待回应 1-待处理 2-已驳回 3-已关闭
|
|||
const state = this.data.state |
|||
if (state == '0' || state == '2') { |
|||
let params = { |
|||
"deptId": deptId, |
|||
"pageIndex": searchData.indexPage, |
|||
"pageSize": app.globalData.pageSize, |
|||
"timestamp": searchData.date, |
|||
"state": state == '0' ? 0 : 2 |
|||
} |
|||
this.getEventList(params) |
|||
} else if (state == '1' || state == '3') { |
|||
let params = { |
|||
"deptId": deptId, |
|||
"orderType": orderType, |
|||
"pageIndex": searchData.indexPage, |
|||
"pageSize": app.globalData.pageSize, |
|||
"timestamp": searchData.date, |
|||
"issueState": state == '1' ? 0 : 2 |
|||
} |
|||
console.log(params) |
|||
|
|||
api.getIssueList(params).then((res) => { |
|||
// wx.hideLoading()
|
|||
console.log(res.data) |
|||
this.setData({ |
|||
items: this.data.items.concat(res.data), |
|||
showSkeleton: false |
|||
}) |
|||
}) |
|||
} |
|||
}, |
|||
|
|||
getEventList(params) { |
|||
api.getEventList(params).then((res) => { |
|||
// wx.hideLoading()
|
|||
console.log(res.data) |
|||
this.setData({ |
|||
items: this.data.items.concat(res.data), |
|||
showSkeleton: false |
|||
}) |
|||
}) |
|||
}, |
|||
|
|||
toIssueDetail(e) { |
|||
const id = e.currentTarget.dataset.id |
|||
// 议题状态 0-待处理,2-已关闭
|
|||
// 事件状态 0-待回应,2-已驳回
|
|||
|
|||
// 0-待回应 1-待处理 2-已驳回 3-已关闭
|
|||
const issueState = this.data.state |
|||
wx.navigateTo({ |
|||
url: `../../pages/issueDetail/issueDetail?issueId=${id}&issueState=${issueState}` |
|||
}) |
|||
} |
|||
} |
|||
|
|||
}) |
@ -0,0 +1,6 @@ |
|||
{ |
|||
"component": true, |
|||
"usingComponents": { |
|||
"skeleton": "../skeleton/subject/subject" |
|||
} |
|||
} |
@ -0,0 +1,97 @@ |
|||
<block wx:if="{{showSkeleton}}"> |
|||
<skeleton |
|||
wx:for="{{[1]}}" |
|||
wx:for-index="index" |
|||
wx:for-item="item" |
|||
wx:key="{{index}}"> |
|||
</skeleton> |
|||
</block> |
|||
<block wx:if="{{!showSkeleton}}"> |
|||
<view class="layout" wx:for="{{items}}" wx:key="{{index}}"> |
|||
<view class="subject-item"> |
|||
<view class="subject-title line-clamp" wx:if="{{state == '0' || state == '2'}}"> |
|||
{{item.eventContent}} |
|||
</view> |
|||
<view class="subject-title line-clamp" wx:else> |
|||
{{item.issueContent}} |
|||
</view> |
|||
<view class="tags tag1" wx:if="{{state=='1'}}">{{item.categoryName}}</view> |
|||
|
|||
|
|||
|
|||
<view wx:if="{{state == '0' || state == '2' || state == '3'}}"> |
|||
<view class="subject-user halfwidth fl"> |
|||
<view class="user-avatar"> |
|||
<image src="{{item.userFace}}" /> |
|||
</view> |
|||
<view class="user-name" wx:if="{{state == '0' || state == '2'}}"> |
|||
<view class="name">{{item.nickName}}</view> |
|||
<view class="time">{{item.createdTime}}</view> |
|||
</view> |
|||
<view class="user-name" wx:else> |
|||
<view class="name">{{item.nickname}}</view> |
|||
<view class="time">{{item.distributeTime}}</view> |
|||
</view> |
|||
</view> |
|||
|
|||
<view class="halfwidth fr handle"> |
|||
<view class="buttons btn-size-small" wx:if="{{state == '0'}}"> |
|||
<view class="btn_label btn-size-small btn_label-small" bindtap="toIssueDetail" data-id="{{item.id}}"> |
|||
去审核 |
|||
</view> |
|||
<image class="ic_btn btn-size-small" src="/images/btn3.png"></image> |
|||
</view> |
|||
|
|||
<view class="buttons btn-size-small" wx:elif="{{state == '2'}}"> |
|||
<view class="btn_label btn-size-small btn_label-small" bindtap="toIssueDetail" data-id="{{item.id}}"> |
|||
已驳回 |
|||
</view> |
|||
<image class="ic_btn btn-size-small" src="/images/relieve.png"></image> |
|||
</view> |
|||
|
|||
<view class="buttons btn-size-small" wx:elif="{{state == '3'}}"> |
|||
<view class="btn_label btn-size-small btn_label-small ygb-color" bindtap="toIssueDetail" data-id="{{item.id}}"> |
|||
已关闭 |
|||
</view> |
|||
<image class="ic_btn btn-size-small" src="/images/btn4.png"></image> |
|||
</view> |
|||
</view> |
|||
</view> |
|||
|
|||
|
|||
|
|||
<view wx:else> |
|||
<view class="subject-user"> |
|||
<view class="user-avatar"> |
|||
<image src="{{item.userFace}}" /> |
|||
</view> |
|||
|
|||
<view class="user-name"> |
|||
<view class="name">{{item.nickname}}</view> |
|||
<view class="time">{{item.distributeTime}}</view> |
|||
</view> |
|||
</view> |
|||
|
|||
<view class="comment"> |
|||
【最热评论】<view class="line-clamp">{{item.comment.content}}</view> |
|||
<view class="addtime">{{item.comment.createdTime}}</view> |
|||
</view> |
|||
<view class="btmbar"> |
|||
<view class="halfwidth fl attitude">表达态度{{item.statementNum}}次</view> |
|||
<view class="halfwidth fr handle"> |
|||
<view class="buttons btn-size-small"> |
|||
<view class="btn_label btn-size-small btn_label-small" bindtap="toIssueDetail" data-id="{{item.id}}"> |
|||
去处理 |
|||
</view> |
|||
<image class="ic_btn btn-size-small" src="/images/btn.png"></image> |
|||
</view> |
|||
</view> |
|||
</view> |
|||
</view> |
|||
|
|||
|
|||
</view> |
|||
</view> |
|||
</block> |
|||
|
|||
<view class="loadmore">上滑加载更多</view> |
@ -0,0 +1,186 @@ |
|||
.layout{ |
|||
width: 100%; |
|||
display: flex; |
|||
/* flex-direction: column; |
|||
justify-content: space-between; |
|||
box-sizing: border-box; */ |
|||
border-bottom: 6pt solid #f6f8f8; |
|||
} |
|||
.fl{ |
|||
float: left; |
|||
} |
|||
.fr{ |
|||
float: right; |
|||
} |
|||
.subject-item{ |
|||
display: flex; |
|||
flex-direction: column; |
|||
width: 100%; |
|||
margin: 10px; |
|||
} |
|||
.subject-title{ |
|||
width: 100%; |
|||
display: inline-table; |
|||
font-size: 36rpx; |
|||
color: #333333; |
|||
} |
|||
.tags{ |
|||
float: left; |
|||
font-size:24rpx; |
|||
align-self: end; |
|||
display: inline-table; |
|||
border-radius: 4px; |
|||
height: 20px; |
|||
margin-right: 5px; |
|||
line-height: 20px; |
|||
padding: 0 12rpx 0 12rpx; |
|||
} |
|||
.tag1{ |
|||
color: #ff9f00; |
|||
background: #fff0cf; |
|||
border: 1px solid #ffe1b8; |
|||
} |
|||
.tag2{ |
|||
color: #3abfc5; |
|||
background: #d6f6f7; |
|||
border: 1px solid #a5ebee; |
|||
} |
|||
.tag3{ |
|||
color: #a081f1; |
|||
background: #efe9ff; |
|||
border: 1px solid #ddd7f1; |
|||
} |
|||
.tag4{ |
|||
color: #fa7f8a; |
|||
background: #ffe9f1; |
|||
border: 1px solid #f2d3de; |
|||
} |
|||
.subject-user{ |
|||
width: 100%; |
|||
display: table; |
|||
padding: 20rpx 0; |
|||
} |
|||
.swiper-item-con{ |
|||
height: 100%; |
|||
} |
|||
.user-avatar{ |
|||
width: 46rpx; |
|||
height: 46rpx; |
|||
display: table; |
|||
float: left; |
|||
border-radius: 4px; |
|||
background: #eeeeee; |
|||
margin-right: 10px; |
|||
} |
|||
.user-avatar image{ |
|||
display: table; |
|||
width: 46rpx; |
|||
height: 46rpx; |
|||
} |
|||
.user-name{ |
|||
float: left; |
|||
height: 46rpx; |
|||
} |
|||
.user-name .name{ |
|||
font-size: 24rpx; |
|||
color:#7A8C9A; |
|||
height: 25rpx; |
|||
line-height: 25rpx; |
|||
} |
|||
.user-name .time{ |
|||
height: 25rpx; |
|||
line-height: 30rpx; |
|||
font-size: 20rpx; |
|||
color: #A5B0B9; |
|||
} |
|||
.comment{ |
|||
width: calc(100% - 20px); |
|||
display: inline-table; |
|||
font-size: 30rpx; |
|||
color: #7A8C9A; |
|||
padding: 10px; |
|||
background: #F2F6F7; |
|||
border-radius: 8px; |
|||
} |
|||
.addtime{ |
|||
width: 100%; |
|||
text-align: right; |
|||
font-size: 20rpx; |
|||
} |
|||
.btmbar{ |
|||
width: 100%; |
|||
display: inline-table; |
|||
height: 50rpx; |
|||
line-height: 90rpx; |
|||
font-size: 36rpx; |
|||
color: #333333; |
|||
} |
|||
.halfwidth{ |
|||
width: 46%; |
|||
} |
|||
.nameHalfwidth{ |
|||
width: 70%; |
|||
} |
|||
._nameHalfwidth{ |
|||
width: 22%; |
|||
} |
|||
.attitude{ |
|||
font-size: 26rpx; |
|||
} |
|||
.handle{ |
|||
margin-top: 20rpx; |
|||
width: 75px; |
|||
height: 30px; |
|||
} |
|||
.loadmore{ |
|||
width: 100%; |
|||
text-align: center; |
|||
height: 50px; |
|||
line-height: 50px; |
|||
background: #f6f8f8; |
|||
font-size:12px; |
|||
color: #999; |
|||
} |
|||
/* 自定义按钮样式 */ |
|||
.buttons { |
|||
font-size: 32rpx; |
|||
font-weight: bold; |
|||
margin: auto; |
|||
left: 0; |
|||
right: 0; |
|||
} |
|||
.btn-size-small{ |
|||
width: 150rpx; |
|||
height: 60rpx; |
|||
} |
|||
.btn_label{ |
|||
position: absolute; |
|||
color: #fff; |
|||
z-index: 99; |
|||
text-align: center; |
|||
} |
|||
.btn_label-small{ |
|||
line-height: 60rpx; |
|||
font-size: 28rpx; |
|||
font-weight: normal; |
|||
} |
|||
.ic_btn { |
|||
/* position: fixed; */ |
|||
} |
|||
.btn { |
|||
opacity: 0; |
|||
} |
|||
/*----end----*/ |
|||
|
|||
.line-clamp{ |
|||
display: -webkit-box; |
|||
overflow: hidden; |
|||
text-overflow: ellipsis; |
|||
word-wrap: break-word; |
|||
white-space: normal !important; |
|||
-webkit-line-clamp: 2; |
|||
-webkit-box-orient: vertical; |
|||
} |
|||
.ygb-color{ |
|||
color: #909DA7 |
|||
} |
@ -0,0 +1,117 @@ |
|||
var api = require('../../api/userManage.js') |
|||
const app = getApp() |
|||
Component({ |
|||
properties: { |
|||
state: Number |
|||
}, |
|||
data: { |
|||
list: [], |
|||
showSkeleton: true |
|||
}, |
|||
attached: function () { |
|||
|
|||
}, |
|||
lifetimes: { |
|||
attached: function () { |
|||
this.getUserManagelist() |
|||
}, |
|||
moved: function () { }, |
|||
detached: function () { }, |
|||
}, |
|||
|
|||
ready: function () { |
|||
|
|||
}, |
|||
|
|||
pageLifetimes: { |
|||
// 组件所在页面的生命周期函数
|
|||
show: function () { }, |
|||
}, |
|||
methods: { |
|||
|
|||
getUserManagelist: function (searchData) { |
|||
|
|||
// setTimeout(() => {
|
|||
// this.setData({
|
|||
// showSkeleton: false
|
|||
// })
|
|||
// }, 5000)
|
|||
// wx.showLoading({
|
|||
// title: '加载中',
|
|||
// })
|
|||
let that = this |
|||
if (searchData) { |
|||
this.searchData = searchData |
|||
} else { |
|||
return; |
|||
} |
|||
console.log('清空:' + this.searchData.clear) |
|||
if (this.searchData.clear == 1) { |
|||
that.setData({ |
|||
list: [] |
|||
}) |
|||
} |
|||
let authenticatedFlag = 0; //是否已认证 0否 1是
|
|||
let partyFlag = 0;//是否党员,0否,1是
|
|||
if (this.searchData.index == 0) {//待认证居民
|
|||
authenticatedFlag = 0; |
|||
partyFlag = 0; |
|||
} else if (this.searchData.index == 1) {//认证居民
|
|||
authenticatedFlag = 1; |
|||
partyFlag = 0; |
|||
} else if (this.searchData.index == 2) {//认证党员
|
|||
authenticatedFlag = 1; |
|||
partyFlag = 1; |
|||
} else if (this.searchData.index == 3) {//党员认证失败
|
|||
authenticatedFlag = 0; |
|||
partyFlag = 1; |
|||
} |
|||
let deptId = '' |
|||
let currentGrid = wx.getStorageSync('currentGrid') |
|||
console.log('currentGrid', currentGrid) |
|||
if (currentGrid !== undefined && currentGrid !== 'undefined' && currentGrid !== '') { |
|||
deptId = currentGrid.deptId |
|||
} |
|||
let params = { |
|||
"pageIndex": searchData.indexPage, |
|||
"pageSize": app.globalData.pageSize, |
|||
"timestamp": searchData.date, |
|||
"authenticatedFlag": authenticatedFlag, |
|||
"partyFlag": partyFlag, |
|||
"gridId": deptId |
|||
} |
|||
api.getUserManagelist(params).then(function (res) { |
|||
// wx.hideLoading()
|
|||
|
|||
console.log(that.data.list.concat(res.data)) |
|||
that.setData({ |
|||
list: that.data.list.concat(res.data), |
|||
showSkeleton: false |
|||
}) |
|||
}) |
|||
}, |
|||
toUserWaItDetails (options) { |
|||
const userId = options.currentTarget.dataset.userid |
|||
// const partyFlag = 0;//非党员
|
|||
if (this.searchData.index == 0) {//待认证居民
|
|||
wx.navigateTo({ |
|||
url: `../../../pages/user_moudle/checkpending/checkpending?userId=${userId}`//待认证
|
|||
}) |
|||
} else if (this.searchData.index == 1) {//认证居民
|
|||
wx.navigateTo({ |
|||
url: `../../../pages/user_moudle/certificationDetails/certificationDetails?userId=${userId}&partyFlag=0` |
|||
}) |
|||
} else if (this.searchData.index == 2) {//认证党员
|
|||
wx.navigateTo({ |
|||
url: `../../../pages/user_moudle/certificationDetails/certificationDetails?userId=${userId}&partyFlag=1` |
|||
}) |
|||
} else if (this.searchData.index == 3) {//党员认证失败
|
|||
wx.navigateTo({ |
|||
url: `../../../pages/user_moudle/certificationDetails/certificationDetails?userId=${userId}&partyFlag=1` |
|||
}) |
|||
} |
|||
|
|||
} |
|||
} |
|||
|
|||
}) |
@ -0,0 +1,6 @@ |
|||
{ |
|||
"component": true, |
|||
"usingComponents": { |
|||
"skeleton": "../skeleton/userManage/userManage" |
|||
} |
|||
} |
@ -0,0 +1,43 @@ |
|||
<block wx:if="{{showSkeleton}}"> |
|||
<skeleton |
|||
wx:for="{{[1]}}" |
|||
wx:for-index="index" |
|||
wx:for-item="item" |
|||
wx:key="{{index}}"> |
|||
</skeleton> |
|||
</block> |
|||
<block wx:if="{{!showSkeleton}}"> |
|||
<view class="layout" wx:for="{{list}}" wx:key="{{index}}"> |
|||
<view class="subject-item"> |
|||
<view class="wux-pull-left imgView"> |
|||
<image src="{{item.faceImg}}" /> |
|||
</view> |
|||
<view class="wux-pull-left"> |
|||
<view class="subject-title">{{item.nickname}}</view> |
|||
<view class="time">{{item.registerTime}}</view> |
|||
</view> |
|||
<view class="buttons btn-size-small wux-pull-right" wx:if="{{state=='0'}}"> |
|||
<view class="btn_label btn-size-small btn_label-small" data-userId="{{item.userId}}" bindtap="toUserWaItDetails"> |
|||
去认证 |
|||
</view> |
|||
<image class="ic_btn btn-size-small" src="/images/btn.png"></image> |
|||
</view> |
|||
<view class="buttons btn-size-small wux-pull-right" wx:if="{{state=='1'}}"> |
|||
<view class="btn_label btn-size-small btn_label-small" data-userId="{{item.userId}}" bindtap="toUserWaItDetails"> |
|||
已认证 |
|||
</view> |
|||
<image class="ic_btn btn-size-small" src="/images/btn2.png"></image> |
|||
</view> |
|||
<view class="buttons btn-size-small wux-pull-right" wx:if="{{state=='2'}}"> |
|||
<view class="btn_label btn-size-small btn_label-small" data-userId="{{item.userId}}" bindtap="toUserWaItDetails"> |
|||
已认证 |
|||
</view> |
|||
<image class="ic_btn btn-size-small" src="/images/btn2.png"></image> |
|||
</view> |
|||
<view class="userManage_fail" wx:if="{{state=='3'}}"> |
|||
<view data-userId="{{item.userId}}" bindtap="toUserWaItDetails">></view> |
|||
</view> |
|||
</view> |
|||
</view> |
|||
</block> |
|||
<view class="loadmore">上滑加载更多</view> |
@ -0,0 +1,97 @@ |
|||
@import '../../dist/styles/index.wxss'; |
|||
.layout{ |
|||
width: 100%; |
|||
display: flex; |
|||
/* flex-direction: column; |
|||
justify-content: space-between; |
|||
box-sizing: border-box; */ |
|||
border-bottom: 1pt solid #f6f8f8; |
|||
} |
|||
.subject-item{ |
|||
/* display: flex; |
|||
flex-direction: column; */ |
|||
width: 100%; |
|||
margin: 10px; |
|||
} |
|||
.subject-title{ |
|||
padding-left: 15rpx; |
|||
font-size: 32rpx; |
|||
color: #333333; |
|||
width: 460rpx; |
|||
overflow: hidden; |
|||
white-space: nowrap; |
|||
text-overflow: ellipsis; |
|||
} |
|||
.tag1{ |
|||
color: #ff9f00; |
|||
background: #fff0cf; |
|||
border: 1px solid #ffe1b8; |
|||
} |
|||
/* .subject-user{ |
|||
width: 100%; |
|||
display: table; |
|||
padding: 5rpx 0; |
|||
} */ |
|||
/* .user-name{ |
|||
float: left; |
|||
height: 46rpx; |
|||
} */ |
|||
.time{ |
|||
padding: 5rpx 0 0 15rpx; |
|||
height: 25rpx; |
|||
line-height: 30rpx; |
|||
font-size: 20rpx; |
|||
color: #A5B0B9; |
|||
} |
|||
.loadmore{ |
|||
width: 100%; |
|||
text-align: center; |
|||
height: 50px; |
|||
line-height: 50px; |
|||
background: #f6f8f8; |
|||
font-size:12px; |
|||
color: #999; |
|||
} |
|||
/* 自定义按钮样式 */ |
|||
.buttons { |
|||
font-size: 32rpx; |
|||
font-weight: bold; |
|||
padding: 8rpx 0 0 0; |
|||
/* margin: auto; */ |
|||
/* left: 0; |
|||
right: 0; */ |
|||
} |
|||
.btn-size-small{ |
|||
width: 150rpx; |
|||
height: 60rpx; |
|||
} |
|||
.btn_label{ |
|||
position: absolute; |
|||
color: #fff; |
|||
z-index: 99; |
|||
text-align: center; |
|||
} |
|||
.btn_label-small{ |
|||
line-height: 60rpx; |
|||
font-size: 28rpx; |
|||
font-weight: normal; |
|||
} |
|||
.btn { |
|||
opacity: 0; |
|||
} |
|||
.imgView{ |
|||
width: 80rpx; |
|||
height: 80rpx; |
|||
} |
|||
.imgView image{ |
|||
width: 80rpx; |
|||
height: 80rpx; |
|||
} |
|||
.userManage_fail{ |
|||
float: right; |
|||
width: 100rpx; |
|||
text-align: right; |
|||
font-size: 36rpx; |
|||
padding: 8rpx 0 0 0; |
|||
color: #999999; |
|||
} |
@ -0,0 +1 @@ |
|||
"use strict";var _baseComponent=_interopRequireDefault(require("../helpers/baseComponent"));function _interopRequireDefault(t){return t&&t.__esModule?t:{default:t}}function _toConsumableArray(t){return _arrayWithoutHoles(t)||_iterableToArray(t)||_nonIterableSpread()}function _nonIterableSpread(){throw new TypeError("Invalid attempt to spread non-iterable instance")}function _iterableToArray(t){if(Symbol.iterator in Object(t)||"[object Arguments]"===Object.prototype.toString.call(t))return Array.from(t)}function _arrayWithoutHoles(t){if(Array.isArray(t)){for(var e=0,r=new Array(t.length);e<t.length;e++)r[e]=t[e];return r}}(0,_baseComponent.default)({relations:{"../accordion/index":{type:"child",observer:function(){this.debounce(this.updated)}}},properties:{prefixCls:{type:String,value:"wux-accordion-group"},cellGroupPrefixCls:{type:String,value:"wux-cell-group"},defaultCurrent:{type:Array,value:[]},current:{type:Array,value:[],observer:function(t){this.data.controlled&&this.updated(t)}},controlled:{type:Boolean,value:!1},accordion:{type:Boolean,value:!1},title:{type:String,value:""},label:{type:String,value:""}},data:{activeKey:"",keys:[]},methods:{updated:function(t){var e=0<arguments.length&&void 0!==t?t:this.data.activeKey;this.data.activeKey!==e&&this.setData({activeKey:e}),this.changeCurrent(e)},changeCurrent:function(n){var i=this,t=this.getRelationNodes("../accordion/index");0<t.length&&t.forEach(function(t,e){var r=t.data.key||String(e),a=i.data.accordion?n[0]===r:-1!==n.indexOf(r);t.changeCurrent(a,r)}),this.data.keys.length!==t.length&&this.setData({keys:t.map(function(t){return t.data})})},emitEvent:function(t){this.triggerEvent("change",{key:t,keys:this.data.keys})},setActiveKey:function(t){this.data.controlled||this.updated(t),this.emitEvent(this.data.accordion?t[0]:t)},onClickItem:function(e){var t=_toConsumableArray(this.data.activeKey);t=this.data.accordion?t[0]===e?[]:[e]:-1!==t.indexOf(e)?t.filter(function(t){return t!==e}):[].concat(_toConsumableArray(t),[e]),this.setActiveKey(t)}},ready:function(){var t=this.data,e=t.defaultCurrent,r=t.current,a=t.controlled?r:e;this.updated(a)}}); |
@ -0,0 +1,6 @@ |
|||
{ |
|||
"component": true, |
|||
"usingComponents": { |
|||
"wux-cell-group": "../cell-group/index" |
|||
} |
|||
} |
@ -0,0 +1,3 @@ |
|||
<wux-cell-group wux-class="{{ prefixCls }}" prefixCls="{{ cellGroupPrefixCls }}" title="{{ title }}" label="{{ label }}"> |
|||
<slot></slot> |
|||
</wux-cell-group> |
@ -0,0 +1 @@ |
|||
.wux-accordion-group{position:relative;border:none} |
@ -0,0 +1 @@ |
|||
"use strict";var _baseComponent=_interopRequireDefault(require("../helpers/baseComponent")),_classNames2=_interopRequireDefault(require("../helpers/classNames"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function _defineProperty(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}(0,_baseComponent.default)({relations:{"../accordion-group/index":{type:"parent"}},properties:{prefixCls:{type:String,value:"wux-accordion"},key:{type:String,value:""},thumb:{type:String,value:""},title:{type:String,value:""},content:{type:String,value:""},disabled:{type:Boolean,value:!1},showArrow:{type:Boolean,value:!0}},data:{current:!1,index:"0"},computed:{classes:["prefixCls, current, disabled",function(e,t,n){var r;return{wrap:(0,_classNames2.default)(e,(_defineProperty(r={},"".concat(e,"--current"),t),_defineProperty(r,"".concat(e,"--disabled"),n),r)),hd:"".concat(e,"__hd"),thumb:"".concat(e,"__thumb"),title:"".concat(e,"__title"),arrow:"".concat(e,"__arrow"),bd:"".concat(e,"__bd"),content:"".concat(e,"__content")}}]},methods:{changeCurrent:function(e,t){this.setData({current:e,index:t})},onTap:function(){var e=this.data,t=e.index,n=e.disabled,r=this.getRelationNodes("../accordion-group/index")[0];!n&&r&&r.onClickItem(t)}}}); |
@ -0,0 +1,3 @@ |
|||
{ |
|||
"component": true |
|||
} |
@ -0,0 +1,18 @@ |
|||
<view class="wux-class {{ classes.wrap }}"> |
|||
<view class="{{ classes.hd }}" bindtap="onTap"> |
|||
<block wx:if="{{ thumb }}"> |
|||
<image class="{{ classes.thumb }}" src="{{ thumb }}" /> |
|||
</block> |
|||
<block wx:if="{{ title }}"> |
|||
<view class="{{ classes.title }}">{{ title }}</view> |
|||
</block> |
|||
<block wx:else> |
|||
<slot name="header"></slot> |
|||
</block> |
|||
<view class="{{ classes.arrow }}" wx:if="{{ showArrow }}"></view> |
|||
</view> |
|||
<view class="{{ classes.bd }}"> |
|||
<view class="{{ classes.content }}" wx:if="{{ content }}">{{ content }}</view> |
|||
<slot></slot> |
|||
</view> |
|||
</view> |
@ -0,0 +1 @@ |
|||
.wux-accordion__hd{position:relative;padding:20rpx 30rpx;color:#000;background-color:#fff;box-sizing:border-box;padding-left:30rpx;padding-right:60rpx;width:auto;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.wux-accordion__hd:after{content:" ";position:absolute;bottom:0;right:0;height:2rpx;border-bottom:2rpx solid #d9d9d9;color:#d9d9d9;transform-origin:0 100%;transform:scaleY(.5);left:0}.wux-accordion__thumb{display:block;width:40rpx;height:40rpx;margin-right:10rpx}.wux-accordion__arrow{position:absolute;display:block;top:30rpx;right:30rpx;width:30rpx;height:30rpx;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='16' height='26' viewBox='0 0 16 26' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M2 0L0 2l11.5 11L0 24l2 2 14-13z' fill='%23C7C7CC' fill-rule='evenodd'/%3E%3C/svg%3E");background-size:contain;background-repeat:no-repeat;background-position:50% 50%;transform:rotate(90deg);transition:transform .2s ease}.wux-accordion--current>.wux-accordion__hd>.wux-accordion__arrow{transform:rotate(270deg)}.wux-accordion__bd{display:none;overflow:hidden;background:#fff;font-size:30rpx;color:#333;position:relative;padding:30rpx}.wux-accordion__bd:after{content:" ";position:absolute;bottom:0;right:0;height:2rpx;border-bottom:2rpx solid #d9d9d9;color:#d9d9d9;transform-origin:0 100%;transform:scaleY(.5);left:0}.wux-accordion--current>.wux-accordion__bd{display:block} |
@ -0,0 +1 @@ |
|||
"use strict";var _baseComponent=_interopRequireDefault(require("../helpers/baseComponent")),_classNames7=_interopRequireDefault(require("../helpers/classNames"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function ownKeys(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),n.push.apply(n,r)}return n}function _objectSpread(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?ownKeys(n,!0).forEach(function(e){_defineProperty(t,e,n[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):ownKeys(n).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))})}return t}function _defineProperty(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var defaults={prefixCls:"wux-actionsheet",theme:"ios",className:"",titleText:"",buttons:[],buttonClicked:function(){},cancelText:"取消",cancel:function(){}};(0,_baseComponent.default)({useFunc:!0,data:defaults,computed:{classes:["prefixCls, theme, buttons, cancelText",function(n,e,t,r){var o,c=(0,_classNames7.default)(n),a="".concat(n,"__popup"),s=(0,_classNames7.default)("".concat(n,"__content"),(_defineProperty(o={},"".concat(n,"__content--theme-").concat(e),e),_defineProperty(o,"".concat(n,"__content--has-cancel"),r),o)),i=(0,_classNames7.default)("".concat(n,"__group"),_defineProperty({},"".concat(n,"__group--options"),!0)),u="".concat(n,"__title"),d=(0,_classNames7.default)("".concat(n,"__button"),_defineProperty({},"".concat(n,"__button--destructive"),!0));return{wrap:c,popup:a,content:s,options:i,title:u,button:t.map(function(e){var t;return{wrap:(0,_classNames7.default)("".concat(n,"__button"),(_defineProperty(t={},"".concat(n,"__button--option"),!0),_defineProperty(t,"".concat(n,"__button--disabled"),e.disabled),_defineProperty(t,"".concat(e.className),e.className),t)),hover:e.hoverClass&&"default"!==e.hoverClass?e.hoverClass:"".concat(n,"__button--hover")}}),icon:"".concat(n,"__icon"),text:"".concat(n,"__text"),destructive:d,group:(0,_classNames7.default)("".concat(n,"__group"),_defineProperty({},"".concat(n,"__group--cancel"),!0)),cancel:(0,_classNames7.default)("".concat(n,"__button"),_defineProperty({},"".concat(n,"__button--cancel"),!0)),hover:"".concat(n,"__button--hover")}}]},methods:{showSheet:function(e){var t=0<arguments.length&&void 0!==e?e:{},n=this.$$mergeOptionsAndBindMethods(Object.assign({},defaults,t));return this.removed=!1,this.$$setData(_objectSpread({in:!0},n)),this.cancel.bind(this)},removeSheet:function(e){if(this.removed)return!1;this.removed=!0,this.$$setData({in:!1}),"function"==typeof e&&e(this.data.buttons)},buttonClicked:function(e){var t=e.currentTarget.dataset.index;!0===this.fns.buttonClicked(t,this.data.buttons[t])&&this.removeSheet()},destructiveButtonClicked:function(){!0===this.fns.destructiveButtonClicked()&&this.removeSheet()},cancel:function(){this.removeSheet(this.fns.cancel)},bindgetuserinfo:function(e){this.triggerEvent("getuserinfo",_objectSpread({},e.detail,{},e.currentTarget.dataset))},bindcontact:function(e){this.triggerEvent("contact",_objectSpread({},e.detail,{},e.currentTarget.dataset))},bindgetphonenumber:function(e){this.triggerEvent("getphonenumber",_objectSpread({},e.detail,{},e.currentTarget.dataset))},bindopensetting:function(e){this.triggerEvent("opensetting",_objectSpread({},e.detail,{},e.currentTarget.dataset))},onError:function(e){this.triggerEvent("error",_objectSpread({},e.detail,{},e.currentTarget.dataset))}}}); |
@ -0,0 +1,6 @@ |
|||
{ |
|||
"component": true, |
|||
"usingComponents": { |
|||
"wux-popup": "../popup/index" |
|||
} |
|||
} |
@ -0,0 +1,41 @@ |
|||
<wux-popup wux-content-class="{{ theme === 'ios' ? classes.popup : '' }}" position="bottom" visible="{{ in }}" safeArea="bottom" bind:close="cancel"> |
|||
<view class="wux-class {{ classes.wrap }}"> |
|||
<view class="{{ classes.content }}"> |
|||
<view class="{{ classes.options }}"> |
|||
<view class="{{ classes.title }}" wx:if="{{ titleText }}">{{ titleText }}</view> |
|||
<block wx:for="{{ buttons }}" wx:for-item="button" wx:key="index"> |
|||
<button |
|||
class="{{ classes.button[index].wrap }}" |
|||
data-index="{{ index }}" |
|||
disabled="{{ button.disabled }}" |
|||
open-type="{{ button.openType }}" |
|||
hover-class="{{ !button.disabled ? classes.button[index].hover : 'none' }}" |
|||
hover-stop-propagation="{{ button.hoverStopPropagation }}" |
|||
hover-start-time="{{ button.hoverStartTime }}" |
|||
hover-stay-time="{{ button.hoverStayTime }}" |
|||
lang="{{ button.lang }}" |
|||
bindgetuserinfo="bindgetuserinfo" |
|||
session-from="{{ button.sessionFrom }}" |
|||
send-message-title="{{ button.sendMessageTitle }}" |
|||
send-message-path="{{ button.sendMessagePath }}" |
|||
send-message-img="{{ button.sendMessageImg }}" |
|||
show-message-card="{{ button.showMessageCard }}" |
|||
bindcontact="bindcontact" |
|||
bindgetphonenumber="bindgetphonenumber" |
|||
app-parameter="{{ button.appParameter }}" |
|||
binderror="onError" |
|||
bindopensetting="bindopensetting" |
|||
catchtap="buttonClicked" |
|||
> |
|||
<image class="{{ classes.icon }}" src="{{ button.icon }}" wx:if="{{ button.icon }}" /> |
|||
<text class="{{ classes.text }}">{{ button.text }}</text> |
|||
</button> |
|||
</block> |
|||
<button class="{{ classes.destructive }}" wx:if="{{ destructiveText }}" catchtap="destructiveButtonClicked">{{ destructiveText }}</button> |
|||
</view> |
|||
<view class="{{ classes.group }}" wx:if="{{ cancelText }}"> |
|||
<button class="{{ classes.cancel }}" hover-class="{{ classes.hover }}" catchtap="cancel">{{ cancelText }}</button> |
|||
</view> |
|||
</view> |
|||
</view> |
|||
</wux-popup> |
@ -0,0 +1 @@ |
|||
.wux-actionsheet__popup{background-color:transparent}.wux-actionsheet__content{margin-left:16rpx;margin-right:16rpx;width:auto;overflow:hidden}.wux-actionsheet__content--theme-wx{margin-left:0;margin-right:0;margin-bottom:0}.wux-actionsheet__content--theme-wx .wux-actionsheet__group{border-radius:0;margin-bottom:12rpx}.wux-actionsheet__content--theme-wx .wux-actionsheet__group--options{background-color:#fff}.wux-actionsheet__content--theme-wx .wux-actionsheet__group--cancel{margin-bottom:0}.wux-actionsheet__content--theme-wx .wux-actionsheet__button{font-size:36rpx;color:#000}.wux-actionsheet__content--theme-wx .wux-actionsheet__button--cancel{font-weight:400}.wux-actionsheet__content--theme-wx.wux-actionsheet__content--has-cancel{background-color:#efeff4}.wux-actionsheet__group{margin-bottom:16rpx;border-radius:8rpx;background-color:#fff;overflow:hidden}.wux-actionsheet__group--options{background-color:#f1f2f3}.wux-actionsheet__title{padding:32rpx;color:#8f8f8f;text-align:center;font-size:26rpx}.wux-actionsheet__button{position:relative;display:block;margin:0;padding:0;min-width:104rpx;min-height:96rpx;vertical-align:top;text-align:center;text-overflow:ellipsis;cursor:pointer;width:100%;border-radius:0;background-color:transparent;color:#007aff;font-size:42rpx;line-height:96rpx;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center}.wux-actionsheet__button--hover{box-shadow:none;border-color:#d1d3d6;color:#007aff;background:#e4e5e7}.wux-actionsheet__button--destructive{color:#ff3b30!important}.wux-actionsheet__button--cancel{font-weight:500}.wux-actionsheet__button--disabled{opacity:.3!important}.wux-actionsheet__group .wux-actionsheet__button{border-top:none}.wux-actionsheet__group .wux-actionsheet__button:after{transform:none;transform-origin:none;border:none;border-radius:0;content:" ";position:absolute;left:0;top:0;right:0;height:2rpx;border-top:2rpx solid #d9d9d9;color:#d9d9d9;transform-origin:0 0;transform:scaleY(.5)}.wux-actionsheet__group .wux-actionsheet__button:first-child:last-child:after{border-width:0}.wux-actionsheet__icon{display:inline-block;width:48rpx;height:48rpx;margin-right:20rpx} |
@ -0,0 +1 @@ |
|||
"use strict";var _baseComponent=_interopRequireDefault(require("../helpers/baseComponent")),_classNames2=_interopRequireDefault(require("../helpers/classNames"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function _defineProperty(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}(0,_baseComponent.default)({properties:{prefixCls:{type:String,value:"wux-alert"},classNames:{type:null,value:"wux-animate--fadeIn"},theme:{type:String,value:"balanced"},thumb:{type:String,value:""},title:{type:String,value:""},label:{type:String,value:""},closable:{type:Boolean,value:!1}},data:{visible:!0},computed:{classes:["prefixCls, theme",function(e,t){return{wrap:(0,_classNames2.default)(e,_defineProperty({},"".concat(e,"--").concat(t),t)),hd:"".concat(e,"__hd"),thumb:"".concat(e,"__thumb"),bd:"".concat(e,"__bd"),text:"".concat(e,"__text"),desc:"".concat(e,"__desc"),ft:"".concat(e,"__ft"),closable:"".concat(e,"__closable")}}]},methods:{onClose:function(){this.data.closable&&this.setData({visible:!1}),this.triggerEvent("click")},onClick:function(){this.triggerEvent("click")}}}); |
Some files were not shown because too many files changed in this diff
Loading…
Reference in new issue