案件上报、案件检查、上报历史
This commit is contained in:
parent
6ceacf9f42
commit
41c8e18d3f
106
app.json
106
app.json
@ -1,54 +1,56 @@
|
||||
{
|
||||
"pages": [
|
||||
"pages/index/index",
|
||||
"pages/caseCheck/caseCheck",
|
||||
"pages/caseReport/caseReport",
|
||||
"pages/caseDetail/caseDetail",
|
||||
"pages/process/process",
|
||||
"pages/waitCheck/waitCheck",
|
||||
"pages/census/census",
|
||||
"pages/mine/mine",
|
||||
"pages/censusinput/censusinput",
|
||||
"pages/chooseArea/chooseArea",
|
||||
"pages/censusDetail/censusDetail",
|
||||
"pages/censusEdit/censusEdit"
|
||||
],
|
||||
"window": {
|
||||
"backgroundTextStyle": "light",
|
||||
"navigationBarBackgroundColor": "#4583FE",
|
||||
"navigationBarTitleText": "包头高新网格化",
|
||||
"navigationBarTextStyle": "white"
|
||||
},
|
||||
"style": "v2",
|
||||
"sitemapLocation": "sitemap.json",
|
||||
"permission": {
|
||||
"scope.userLocation": {
|
||||
"desc": "你的位置信息将用于小程序位置接口的效果展示"
|
||||
}
|
||||
},
|
||||
"requiredPrivateInfos": [
|
||||
"getLocation"
|
||||
],
|
||||
"usingComponents": {
|
||||
"scroller": "components/coolui-scroller/scroller/index"
|
||||
},
|
||||
"tabBar": {
|
||||
"color": "#000",
|
||||
"borderStyle": "white",
|
||||
"selectedColor": "#4583FE",
|
||||
"backgroundColor": "#F8F8F8",
|
||||
"list": [{
|
||||
"pagePath": "pages/index/index",
|
||||
"iconPath": "images/ic_home_nomarl_icon.png",
|
||||
"text": "首页",
|
||||
"selectedIconPath": "images/ic_home_sel_icon.png"
|
||||
},
|
||||
{
|
||||
"pagePath": "pages/mine/mine",
|
||||
"iconPath": "images/ic_mine_nomarl_icon.png",
|
||||
"text": "我的",
|
||||
"selectedIconPath": "images/ic_mine_sel_icon.png"
|
||||
}
|
||||
]
|
||||
}
|
||||
"pages": [
|
||||
"pages/index/index",
|
||||
"pages/caseCheck/caseCheck",
|
||||
"pages/caseReport/caseReport",
|
||||
"pages/caseDetail/caseDetail",
|
||||
"pages/process/process",
|
||||
"pages/waitCheck/waitCheck",
|
||||
"pages/census/census",
|
||||
"pages/mine/mine",
|
||||
"pages/censusinput/censusinput",
|
||||
"pages/chooseArea/chooseArea",
|
||||
"pages/censusDetail/censusDetail",
|
||||
"pages/censusEdit/censusEdit",
|
||||
"pages/caseHistory/caseHistory"
|
||||
],
|
||||
"window": {
|
||||
"backgroundTextStyle": "light",
|
||||
"navigationBarBackgroundColor": "#4583FE",
|
||||
"navigationBarTitleText": "包头高新网格化",
|
||||
"navigationBarTextStyle": "white"
|
||||
},
|
||||
"style": "v2",
|
||||
"sitemapLocation": "sitemap.json",
|
||||
"permission": {
|
||||
"scope.userLocation": {
|
||||
"desc": "你的位置信息将用于小程序位置接口的效果展示"
|
||||
}
|
||||
},
|
||||
"requiredPrivateInfos": [
|
||||
"getLocation"
|
||||
],
|
||||
"usingComponents": {
|
||||
"scroller": "components/coolui-scroller/scroller/index"
|
||||
},
|
||||
"tabBar": {
|
||||
"color": "#000",
|
||||
"borderStyle": "white",
|
||||
"selectedColor": "#4583FE",
|
||||
"backgroundColor": "#F8F8F8",
|
||||
"list": [
|
||||
{
|
||||
"pagePath": "pages/index/index",
|
||||
"iconPath": "images/ic_home_nomarl_icon.png",
|
||||
"text": "首页",
|
||||
"selectedIconPath": "images/ic_home_sel_icon.png"
|
||||
},
|
||||
{
|
||||
"pagePath": "pages/mine/mine",
|
||||
"iconPath": "images/ic_mine_nomarl_icon.png",
|
||||
"text": "我的",
|
||||
"selectedIconPath": "images/ic_mine_sel_icon.png"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
BIN
images/ic_clock_icon.png
Normal file
BIN
images/ic_clock_icon.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 976 B |
BIN
images/ic_issue_state_title_icon.png
Normal file
BIN
images/ic_issue_state_title_icon.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 3.6 KiB |
BIN
images/position_white.png
Normal file
BIN
images/position_white.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 635 B |
@ -3,232 +3,189 @@ var bmap = require('../../lib/bmap-wx.js');
|
||||
var app = getApp()
|
||||
Page({
|
||||
|
||||
/**
|
||||
* 页面的初始数据
|
||||
*/
|
||||
data: {
|
||||
caseId: '',
|
||||
longitude: '111.759608',
|
||||
latitude: '40.860318',
|
||||
markers: [],
|
||||
caseDetail: {},
|
||||
token: '',
|
||||
requestUrl: app.requestUrl,
|
||||
evaluateContent: '',
|
||||
isPass: 1,
|
||||
grade: '',
|
||||
photoList: []
|
||||
},
|
||||
getDetail: function () {
|
||||
var self = this
|
||||
app.restAjax.get(app.restAjax.path('{reqesutUrl}app/reportcase/getreportcase/' + self.data.caseId, [app.requestUrl]), {}, {
|
||||
headers: {
|
||||
token: self.data.token
|
||||
}
|
||||
}, function (code, data) {
|
||||
var imgArr, handleArr
|
||||
imgArr = data.casePhotos.split(',')
|
||||
handleArr = data.handlePhotos.split(',')
|
||||
var arr = [{longitude: data.caseLongitude,latitude: data.caseLatitude,iconPath:'../../images/marker_red.png',width:'25px',height: '30px'}]
|
||||
self.setData({
|
||||
markers: arr
|
||||
});
|
||||
self.setData({
|
||||
caseDetail: data,
|
||||
longitude: data.caseLongitude,
|
||||
latitude: data.caseLatitude,
|
||||
imageList: imgArr,
|
||||
handleList: handleArr
|
||||
})
|
||||
});
|
||||
},
|
||||
isQualified: function (e) {
|
||||
this.setData({
|
||||
isPass: e.detail.value
|
||||
})
|
||||
},
|
||||
isSatisfied: function (e) {
|
||||
this.setData({
|
||||
grade: e.detail.value
|
||||
})
|
||||
},
|
||||
// 选择图片
|
||||
chooseImage: function () {
|
||||
var self = this
|
||||
wx.chooseImage({
|
||||
count: 9 - self.data.photoList.length,
|
||||
sourceType: ['album', 'camera'],
|
||||
success: function (res) {
|
||||
self.setData({
|
||||
showPhotoList: self.data.photoList.concat(res.tempFiles)
|
||||
})
|
||||
wx.showToast({
|
||||
title: '上传中',
|
||||
icon: 'loading'
|
||||
})
|
||||
var arr = []
|
||||
for (let i = 0; i < res.tempFiles.length; i++) {
|
||||
var path = res.tempFiles[i].path;
|
||||
app.restAjax.file(app.restAjax.path('{requestUrl}app/file/uploadimage', [app.requestUrl]), path, 'image', {
|
||||
headers: {
|
||||
token: self.data.token
|
||||
}
|
||||
}, function (code, data) {
|
||||
var id = JSON.parse(data).data
|
||||
arr.push(id)
|
||||
if (arr.length == res.tempFiles.length) {
|
||||
self.setData({
|
||||
photoList: arr
|
||||
})
|
||||
wx.hideToast()
|
||||
}
|
||||
}, function (code, data) {
|
||||
console.log(data)
|
||||
})
|
||||
}
|
||||
}
|
||||
})
|
||||
},
|
||||
// 删除图片
|
||||
deleteImg: function (e) {
|
||||
var idx = e.currentTarget.dataset.num
|
||||
var self = this
|
||||
self.data.photoList.splice(idx, 1)
|
||||
self.data.showPhotoList.splice(idx, 1)
|
||||
self.setData({
|
||||
showPhotoList: self.data.showPhotoList,
|
||||
photoList: self.data.photoList
|
||||
})
|
||||
},
|
||||
// 确认处理
|
||||
submitHandle: function () {
|
||||
var photo = '', self = this
|
||||
if (!self.data.evaluateContent) {
|
||||
wx.showToast({
|
||||
title: '请输入评价内容',
|
||||
duration: 2000,
|
||||
icon: 'none'
|
||||
})
|
||||
return
|
||||
}
|
||||
if (!self.data.grade) {
|
||||
wx.showToast({
|
||||
title: '请选择满意度',
|
||||
duration: 2000,
|
||||
icon: 'none'
|
||||
})
|
||||
return
|
||||
}
|
||||
if (this.data.photoList.length == 0) {
|
||||
wx.showToast({
|
||||
title: '请至少上传一张照片',
|
||||
duration: 2000,
|
||||
icon: 'none'
|
||||
})
|
||||
return
|
||||
}
|
||||
for (let i = 0; i < this.data.photoList.length; i++) {
|
||||
if (i == this.data.photoList.length - 1) {
|
||||
photo += this.data.photoList[i]
|
||||
} else {
|
||||
photo += this.data.photoList[i] + ','
|
||||
}
|
||||
}
|
||||
var info = {
|
||||
inspectPhotos: photo,
|
||||
inspectOpinion: self.data.evaluateContent,
|
||||
isPass: self.data.isPass,
|
||||
grade: self.data.grade
|
||||
}
|
||||
app.restAjax.post(app.restAjax.path('{reqesutUrl}app/reportcase/savereportcaseinspect/' + self.data.caseId, [app.requestUrl]), info, {
|
||||
headers: {
|
||||
token: self.data.token
|
||||
}
|
||||
}, function (code, data) {
|
||||
if (code == '200') {
|
||||
wx.showToast({
|
||||
title: '处理成功',
|
||||
duration: 2000,
|
||||
success: function () {
|
||||
setTimeout(function () {
|
||||
wx.reLaunch({
|
||||
url: '../index/index',
|
||||
})
|
||||
}, 2000)
|
||||
}
|
||||
})
|
||||
}
|
||||
});
|
||||
},
|
||||
/**
|
||||
* 生命周期函数--监听页面加载
|
||||
*/
|
||||
onLoad: function (options) {
|
||||
this.setData({
|
||||
caseId: options.id
|
||||
})
|
||||
var self = this
|
||||
wx.getStorage({
|
||||
key: 'token',
|
||||
success: function (res) {
|
||||
self.setData({
|
||||
token: res.data
|
||||
})
|
||||
self.getDetail()
|
||||
}
|
||||
})
|
||||
|
||||
var BMap = new bmap.BMapWX({
|
||||
ak: 'Zk732rbyjd327q7Zj9EOtRjUn2ED1GWK'
|
||||
});
|
||||
},
|
||||
/**
|
||||
* 页面的初始数据
|
||||
*/
|
||||
data: {
|
||||
caseId: '',
|
||||
longitude: '111.759608',
|
||||
latitude: '40.860318',
|
||||
markers: [],
|
||||
caseDetail: {},
|
||||
token: '',
|
||||
requestUrl: app.requestUrl,
|
||||
evaluateContent: '',
|
||||
isPass: 1,
|
||||
grade: '',
|
||||
photoList: [],
|
||||
scrollHeight: 0,
|
||||
},
|
||||
getDetail: function () {
|
||||
var self = this
|
||||
app.restAjax.get(app.restAjax.path('{reqesutUrl}app/reportcase/getreportcase/' + self.data.caseId, [app.requestUrl]), {}, {
|
||||
headers: {
|
||||
token: self.data.token
|
||||
}
|
||||
}, function (code, data) {
|
||||
var imgArr, handleArr
|
||||
imgArr = data.casePhotos.split(',')
|
||||
handleArr = data.handlePhotos.split(',')
|
||||
var arr = [{ longitude: data.caseLongitude, latitude: data.caseLatitude, iconPath: '../../images/marker_red.png', width: '25px', height: '30px', id: 0 }]
|
||||
self.setData({
|
||||
markers: arr
|
||||
});
|
||||
self.setData({
|
||||
caseDetail: data,
|
||||
longitude: data.caseLongitude,
|
||||
latitude: data.caseLatitude,
|
||||
imageList: imgArr,
|
||||
handleList: handleArr
|
||||
})
|
||||
});
|
||||
},
|
||||
isQualified: function (e) {
|
||||
this.setData({
|
||||
isPass: e.detail.value
|
||||
})
|
||||
},
|
||||
isSatisfied: function (e) {
|
||||
this.setData({
|
||||
grade: e.detail.value
|
||||
})
|
||||
},
|
||||
// 选择图片
|
||||
chooseImage: function () {
|
||||
var self = this
|
||||
wx.chooseImage({
|
||||
count: 9 - self.data.photoList.length,
|
||||
sourceType: ['album', 'camera'],
|
||||
success: function (res) {
|
||||
self.setData({
|
||||
showPhotoList: self.data.photoList.concat(res.tempFiles)
|
||||
})
|
||||
wx.showToast({
|
||||
title: '上传中',
|
||||
icon: 'loading'
|
||||
})
|
||||
var arr = []
|
||||
for (let i = 0; i < res.tempFiles.length; i++) {
|
||||
var path = res.tempFiles[i].path;
|
||||
app.restAjax.file(app.restAjax.path('{requestUrl}app/file/uploadimage', [app.requestUrl]), path, 'image', {
|
||||
headers: {
|
||||
token: self.data.token
|
||||
}
|
||||
}, function (code, data) {
|
||||
var id = JSON.parse(data).data
|
||||
arr.push(id)
|
||||
if (arr.length == res.tempFiles.length) {
|
||||
self.setData({
|
||||
photoList: arr
|
||||
})
|
||||
wx.hideToast()
|
||||
}
|
||||
}, function (code, data) {
|
||||
console.log(data)
|
||||
})
|
||||
}
|
||||
}
|
||||
})
|
||||
},
|
||||
// 删除图片
|
||||
deleteImg: function (e) {
|
||||
var idx = e.currentTarget.dataset.num
|
||||
var self = this
|
||||
self.data.photoList.splice(idx, 1)
|
||||
self.data.showPhotoList.splice(idx, 1)
|
||||
self.setData({
|
||||
showPhotoList: self.data.showPhotoList,
|
||||
photoList: self.data.photoList
|
||||
})
|
||||
},
|
||||
// 确认处理
|
||||
submitHandle: function () {
|
||||
var photo = '', self = this
|
||||
if (!self.data.evaluateContent) {
|
||||
wx.showToast({
|
||||
title: '请输入评价内容',
|
||||
duration: 2000,
|
||||
icon: 'none'
|
||||
})
|
||||
return
|
||||
}
|
||||
if (!self.data.grade) {
|
||||
wx.showToast({
|
||||
title: '请选择满意度',
|
||||
duration: 2000,
|
||||
icon: 'none'
|
||||
})
|
||||
return
|
||||
}
|
||||
if (this.data.photoList.length == 0) {
|
||||
wx.showToast({
|
||||
title: '请至少上传一张照片',
|
||||
duration: 2000,
|
||||
icon: 'none'
|
||||
})
|
||||
return
|
||||
}
|
||||
for (let i = 0; i < this.data.photoList.length; i++) {
|
||||
if (i == this.data.photoList.length - 1) {
|
||||
photo += this.data.photoList[i]
|
||||
} else {
|
||||
photo += this.data.photoList[i] + ','
|
||||
}
|
||||
}
|
||||
var info = {
|
||||
inspectPhotos: photo,
|
||||
inspectOpinion: self.data.evaluateContent,
|
||||
isPass: self.data.isPass,
|
||||
grade: self.data.grade
|
||||
}
|
||||
app.restAjax.post(app.restAjax.path('{reqesutUrl}app/reportcase/savereportcaseinspect/' + self.data.caseId, [app.requestUrl]), info, {
|
||||
headers: {
|
||||
token: self.data.token
|
||||
}
|
||||
}, function (code, data) {
|
||||
if (code == '200') {
|
||||
wx.showToast({
|
||||
title: '处理成功',
|
||||
duration: 2000,
|
||||
success: function () {
|
||||
setTimeout(function () {
|
||||
const eventChannel = self.getOpenerEventChannel();
|
||||
eventChannel.emit('doNeedRefresh', { data: 'test' });
|
||||
wx.navigateBack();
|
||||
}, 2000)
|
||||
}
|
||||
})
|
||||
}
|
||||
});
|
||||
},
|
||||
/**
|
||||
* 生命周期函数--监听页面加载
|
||||
*/
|
||||
onLoad: function (options) {
|
||||
this.setData({
|
||||
caseId: options.id
|
||||
})
|
||||
var self = this
|
||||
wx.getStorage({
|
||||
key: 'token',
|
||||
success: function (res) {
|
||||
self.setData({
|
||||
token: res.data
|
||||
})
|
||||
self.getDetail()
|
||||
}
|
||||
})
|
||||
|
||||
/**
|
||||
* 生命周期函数--监听页面初次渲染完成
|
||||
*/
|
||||
onReady: function () {
|
||||
var BMap = new bmap.BMapWX({
|
||||
ak: 'Zk732rbyjd327q7Zj9EOtRjUn2ED1GWK'
|
||||
});
|
||||
let screenHeight = wx.getSystemInfoSync().windowHeight;
|
||||
this.setData({
|
||||
scrollHeight: screenHeight - 75
|
||||
})
|
||||
},
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* 生命周期函数--监听页面显示
|
||||
*/
|
||||
onShow: function () {
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* 生命周期函数--监听页面隐藏
|
||||
*/
|
||||
onHide: function () {
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* 生命周期函数--监听页面卸载
|
||||
*/
|
||||
onUnload: function () {
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* 页面相关事件处理函数--监听用户下拉动作
|
||||
*/
|
||||
onPullDownRefresh: function () {
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* 页面上拉触底事件的处理函数
|
||||
*/
|
||||
onReachBottom: function () {
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* 用户点击右上角分享
|
||||
*/
|
||||
onShareAppMessage: function () {
|
||||
|
||||
}
|
||||
})
|
@ -1,3 +1,4 @@
|
||||
{
|
||||
"usingComponents": {}
|
||||
"usingComponents": {},
|
||||
"navigationBarTitleText": "案件详情"
|
||||
}
|
@ -1,89 +1,94 @@
|
||||
<view class="check">
|
||||
<view class="case-info">
|
||||
<view class="title-status">
|
||||
<view class="title">{{caseDetail.communityName}}</view>
|
||||
<view class="status">待处理</view>
|
||||
</view>
|
||||
<view class="info">
|
||||
<view class="row">{{caseDetail.caseContent}}</view>
|
||||
<view class="row">上报时间:{{caseDetail.reportDate}}</view>
|
||||
<view class="row">上报类型:{{caseDetail.caseTypeName}}</view>
|
||||
<view class="row">上报人员:{{caseDetail.caseReporter}}</view>
|
||||
</view>
|
||||
<view class="photo">
|
||||
<image src="{{requestUrl}}route/file/downloadfile/true/{{item}}" wx:for="{{imageList}}" wx:key="index" wx:if="{{item}}"></image>
|
||||
</view>
|
||||
<view class="map">
|
||||
<view class="position">{{caseDetail.casePosition}}</view>
|
||||
<view class="map-box">
|
||||
<map name="map" show-location longitude='{{longitude}}' latitude='{{latitude}}' scale='14' markers='{{markers}}'></map>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="handle">
|
||||
<view class="handle-title">案件处理详情</view>
|
||||
<view class="info handle-info">
|
||||
<view class="row">处理人员:{{caseDetail.handleUserName}}</view>
|
||||
<view class="row">处理时间:{{caseDetail.handleCreateTime}}</view>
|
||||
<view class="row">{{caseDetail.handleOpinion}}</view>
|
||||
<view class="photo handle-photo">
|
||||
<image src="{{requestUrl}}route/file/downloadfile/true/{{item}}" wx:for="{{handleList}}" wx:key="index" wx:if="{{item}}"></image>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="check-container">
|
||||
<view class="handle-title"><text>*</text>案件处理详情</view>
|
||||
<view class="check-box">
|
||||
<view class="check-content">
|
||||
<textarea placeholder="请输入评价内容" model:value="{{evaluateContent}}"></textarea>
|
||||
</view>
|
||||
<view class="qualified">
|
||||
<view class="text">是否合格</view>
|
||||
<view class="input-box">
|
||||
<radio-group bindchange="isQualified">
|
||||
<label>
|
||||
<radio value="1" color="#008cff" checked="checked">是</radio>
|
||||
</label>
|
||||
<label>
|
||||
<radio value="0" color="#008cff">否</radio>
|
||||
</label>
|
||||
</radio-group>
|
||||
</view>
|
||||
</view>
|
||||
<view class="satisfied">
|
||||
<view class="satisfied-title">处理满意度</view>
|
||||
<view class="satisfied-box">
|
||||
<radio-group bindchange="isSatisfied">
|
||||
<label>
|
||||
<radio value="1" color="#008cff">非常不满意</radio>
|
||||
</label>
|
||||
<label>
|
||||
<radio value="2" color="#008cff">不满意</radio>
|
||||
</label>
|
||||
<label>
|
||||
<radio value="3" color="#008cff">一般</radio>
|
||||
</label>
|
||||
<label>
|
||||
<radio value="4" color="#008cff">满意</radio>
|
||||
</label>
|
||||
<label>
|
||||
<radio value="5" color="#008cff">非常满意</radio>
|
||||
</label>
|
||||
</radio-group>
|
||||
</view>
|
||||
</view>
|
||||
<view class="choose-photo">
|
||||
<view class="img-box" wx:for="{{showPhotoList}}" wx:key="index">
|
||||
<image src="{{item.path}}"></image>
|
||||
<image src="../../images/delete.png" class="delete-btn" data-num="{{index}}" bindtap="deleteImg"></image>
|
||||
</view>
|
||||
<view class="add" bindtap="chooseImage">
|
||||
<image src="../../images/camera.png"></image>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="submit" bindtap="submitHandle">
|
||||
确认处理
|
||||
</view>
|
||||
</view>
|
||||
<wxs src="/utils/checkutils.wxs" module="tools"></wxs>
|
||||
<view class="title-box">
|
||||
<image src="/images/ic_issue_state_title_icon.png" mode="aspectFill"></image>
|
||||
<view class="status">{{tools.status(caseDetail.caseStatus)}}</view>
|
||||
</view>
|
||||
<scroll-view scroll-y style="height:{{scrollHeight}}px;" class="check">
|
||||
<view style="width: 100%;">
|
||||
<view class="case-info">
|
||||
<view class="title-status">
|
||||
<view class="title">{{caseDetail.communityName}}</view>
|
||||
<view class="title-date">{{caseDetail.reportDate}}</view>
|
||||
</view>
|
||||
<view class="info">
|
||||
<view class="row-desc">{{caseDetail.caseContent}}</view>
|
||||
<view class="row">上报类型:{{caseDetail.caseTypeName}}</view>
|
||||
<view class="row">上报人员:{{caseDetail.caseReporter}}</view>
|
||||
</view>
|
||||
<view class="photo">
|
||||
<image src="{{requestUrl}}route/file/downloadfile/true/{{item}}" wx:for="{{imageList}}" wx:key="index" wx:if="{{item}}"></image>
|
||||
</view>
|
||||
<view class="map">
|
||||
<view class="map-box">
|
||||
<map name="map" show-location longitude='{{longitude}}' latitude='{{latitude}}' scale='14' markers='{{markers}}'></map>
|
||||
</view>
|
||||
<view class="position-box">
|
||||
<image src="/images/position_white.png" mode="aspectFill"></image>
|
||||
<view class="position">{{caseDetail.casePosition}}</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="handle">
|
||||
<view class="handle-title">
|
||||
<view class="form-head-line"></view>
|
||||
<view>案件处理详情</view>
|
||||
</view>
|
||||
<view class="info handle-info">
|
||||
<view class="row">处理人员:{{caseDetail.handleUserName}}</view>
|
||||
<view class="row">处理时间:{{caseDetail.handleCreateTime}}</view>
|
||||
<view class="row">{{caseDetail.handleOpinion}}</view>
|
||||
<view class="photo handle-photo">
|
||||
<image src="{{requestUrl}}route/file/downloadfile/true/{{item}}" wx:for="{{handleList}}" wx:key="index" wx:if="{{item}}"></image>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="check-container">
|
||||
<view class="handle-title">
|
||||
<view class="form-head-line"></view>
|
||||
<view>案件检查</view>
|
||||
</view>
|
||||
<view class="check-box">
|
||||
<view class="check-content">
|
||||
<textarea placeholder="请输入评价内容" model:value="{{evaluateContent}}"></textarea>
|
||||
</view>
|
||||
<view class="qualified">
|
||||
<view class="text">是否合格</view>
|
||||
<view class="input-box">
|
||||
<radio-group bindchange="isQualified">
|
||||
<label>
|
||||
<radio value="1" color="#008cff" checked="checked">是</radio>
|
||||
</label>
|
||||
<label>
|
||||
<radio value="0" color="#008cff">否</radio>
|
||||
</label>
|
||||
</radio-group>
|
||||
</view>
|
||||
</view>
|
||||
<view class="satisfied">
|
||||
<view class="satisfied-title">处理满意度</view>
|
||||
<view class="satisfied-box">
|
||||
<radio-group bindchange="isSatisfied" class="radio-btns">
|
||||
<radio value="1" color="#008cff">非常不满意</radio>
|
||||
<radio value="2" color="#008cff">不满意</radio>
|
||||
<radio value="3" color="#008cff">一般</radio>
|
||||
<radio value="4" color="#008cff">满意</radio>
|
||||
<radio value="5" color="#008cff">非常满意</radio>
|
||||
</radio-group>
|
||||
</view>
|
||||
</view>
|
||||
<view class="choose-photo">
|
||||
<view class="img-box" wx:for="{{showPhotoList}}" wx:key="index">
|
||||
<image src="{{item.path}}"></image>
|
||||
<image src="../../images/delete.png" class="delete-btn" data-num="{{index}}" bindtap="deleteImg"></image>
|
||||
</view>
|
||||
<view class="add" bindtap="chooseImage">
|
||||
<image src="../../images/camera.png"></image>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="submit" bindtap="submitHandle">
|
||||
确认处理
|
||||
</view>
|
||||
</view>
|
||||
</scroll-view>
|
@ -1,180 +1,293 @@
|
||||
page{
|
||||
background: #f2f1f6;
|
||||
page {
|
||||
background: #f2f1f6;
|
||||
}
|
||||
.check{
|
||||
padding: 20rpx;
|
||||
|
||||
.check {
|
||||
padding: 20rpx;
|
||||
position: fixed;
|
||||
top: 70px;
|
||||
width: 95%;
|
||||
border-radius: 20px;
|
||||
}
|
||||
.case-info{
|
||||
background: #fff;
|
||||
border-radius: 10rpx;
|
||||
padding: 20rpx;
|
||||
margin-bottom: 15rpx;
|
||||
|
||||
.case-info {
|
||||
background: #fff;
|
||||
border-radius: 10rpx;
|
||||
padding: 20rpx;
|
||||
margin-bottom: 15rpx;
|
||||
}
|
||||
.title-status{
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
margin-bottom: 10rpx;
|
||||
|
||||
.title-status {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
margin-bottom: 10rpx;
|
||||
}
|
||||
.title{
|
||||
font-size: 36rpx;
|
||||
line-height: 60rpx;
|
||||
display: inline-block;
|
||||
max-width: 65%;
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
color: #06a3f6;
|
||||
|
||||
.radio-btns {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: flex-start;
|
||||
align-items: center;
|
||||
}
|
||||
.status{
|
||||
line-height: 60rpx;
|
||||
display: inline-block;
|
||||
padding: 0 30rpx;
|
||||
background: #fff7ec;
|
||||
color: #fdc36e;
|
||||
border-radius: 30rpx;
|
||||
|
||||
.radio-btns radio {
|
||||
width: 100%;
|
||||
margin-left: -25px;
|
||||
}
|
||||
.status.green{
|
||||
color: #2dfe2e;
|
||||
background: rgba(45,254,46,0.1)
|
||||
|
||||
.title {
|
||||
font-size: 36rpx;
|
||||
line-height: 60rpx;
|
||||
display: inline-block;
|
||||
max-width: 65%;
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
color: #000000;
|
||||
}
|
||||
.status.red{
|
||||
color: red;
|
||||
background: rgba(255,0,0,0.1)
|
||||
|
||||
.status {
|
||||
line-height: 60rpx;
|
||||
display: inline-block;
|
||||
padding: 0 30rpx;
|
||||
color: #FFFFFF;
|
||||
}
|
||||
.row{
|
||||
border-bottom: 1px dashed #EEE;
|
||||
font-size: 32rpx;
|
||||
color: #888;
|
||||
line-height: 60rpx;
|
||||
|
||||
.status.green {
|
||||
color: #2dfe2e;
|
||||
background: rgba(45, 254, 46, 0.1)
|
||||
}
|
||||
.photo{
|
||||
margin: 50rpx 0;
|
||||
|
||||
.status.red {
|
||||
color: red;
|
||||
background: rgba(255, 0, 0, 0.1)
|
||||
}
|
||||
.photo image{
|
||||
width: 140rpx;
|
||||
height: 140rpx;
|
||||
margin-right: 10rpx;
|
||||
margin-bottom: 10rpx;
|
||||
|
||||
.row {
|
||||
font-size: 14px;
|
||||
color: #101010;
|
||||
line-height: 60rpx;
|
||||
}
|
||||
.position{
|
||||
font-size: 36rpx;
|
||||
color: #06a3f6;
|
||||
margin-bottom: 10rpx;
|
||||
|
||||
.row-desc {
|
||||
color: #9A9A9A;
|
||||
}
|
||||
.map-box map{
|
||||
width: 100%;
|
||||
height: 400rpx;
|
||||
|
||||
.title-date {
|
||||
font-size: 12px;
|
||||
color: #101010;
|
||||
}
|
||||
.handle-info{
|
||||
border-radius: 10rpx;
|
||||
background: #fff;
|
||||
margin-top: 15rpx;
|
||||
padding: 20rpx 20rpx 10rpx;
|
||||
|
||||
.photo {
|
||||
margin: 50rpx 0;
|
||||
}
|
||||
.handle-photo{
|
||||
margin: 20rpx 0 0;
|
||||
|
||||
.photo image {
|
||||
width: 140rpx;
|
||||
height: 140rpx;
|
||||
margin-right: 10rpx;
|
||||
margin-bottom: 10rpx;
|
||||
}
|
||||
.handle-title{
|
||||
font-size: 36rpx;
|
||||
color: #888;
|
||||
|
||||
.position {
|
||||
font-size: 14px;
|
||||
}
|
||||
.handle-title text{
|
||||
color: red;
|
||||
|
||||
.position-box {
|
||||
position: absolute;
|
||||
bottom: 0;
|
||||
width: 100%;
|
||||
padding: 5px 2px;
|
||||
color: #FFFFFF;
|
||||
background-color: rgba(0, 0, 0, .65);
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
justify-content: flex-start;
|
||||
}
|
||||
.check-box{
|
||||
padding: 20rpx;
|
||||
background: #fff;
|
||||
border-radius: 10rpx;
|
||||
margin-top: 15rpx;
|
||||
|
||||
.position-box image {
|
||||
width: 20px;
|
||||
height: 20px;
|
||||
}
|
||||
.check-content{
|
||||
background: #f2f1f6;
|
||||
margin-bottom: 20rpx;
|
||||
|
||||
.map-box map {
|
||||
width: 100%;
|
||||
height: 400rpx;
|
||||
}
|
||||
.check-content textarea{
|
||||
width: 100%;
|
||||
height: 300rpx;
|
||||
padding: 15rpx;
|
||||
box-sizing: border-box;
|
||||
|
||||
.map {
|
||||
width: 100%;
|
||||
height: 400rpx;
|
||||
position: relative;
|
||||
}
|
||||
.qualified{
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
background: #f2f1f6;
|
||||
padding: 15rpx;
|
||||
|
||||
.handle-info {
|
||||
border-radius: 10rpx;
|
||||
background: #fff;
|
||||
margin-top: 15rpx;
|
||||
padding: 20rpx 20rpx 10rpx;
|
||||
}
|
||||
.qualified label{
|
||||
margin-right: 20rpx;
|
||||
|
||||
|
||||
.handle-photo {
|
||||
margin: 20rpx 0 0;
|
||||
}
|
||||
.qualified label:last-child{
|
||||
margin-right: 0;
|
||||
|
||||
.handle-title {
|
||||
color: #000000;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
justify-content: flex-start;
|
||||
align-items: center;
|
||||
padding: 5px 0px 0px 5px;
|
||||
}
|
||||
.satisfied{
|
||||
margin-top: 15rpx;
|
||||
background: #f2f1f6;
|
||||
padding: 15rpx;
|
||||
|
||||
.form-head-line {
|
||||
height: 15px;
|
||||
width: 6px;
|
||||
background-color: #4985f8;
|
||||
margin-right: 5px;
|
||||
}
|
||||
.satisfied-title{
|
||||
font-size: 36rpx;
|
||||
|
||||
radio {
|
||||
transform: scale(.8);
|
||||
}
|
||||
.satisfied-box label{
|
||||
display: block;
|
||||
margin-top: 15rpx;
|
||||
|
||||
.handle-title text {
|
||||
color: red;
|
||||
}
|
||||
.choose-photo{
|
||||
margin-top: 15rpx;
|
||||
|
||||
.handle {
|
||||
background-color: #FFFFFF;
|
||||
}
|
||||
.choose-photo .img-box{
|
||||
width: 32%;
|
||||
height: 140rpx;
|
||||
margin-right: 2%;
|
||||
margin-bottom: 10rpx;
|
||||
position: relative;
|
||||
display: inline-block;
|
||||
|
||||
.check-box {
|
||||
padding: 20rpx;
|
||||
background: #fff;
|
||||
border-radius: 10rpx;
|
||||
margin-top: 15rpx;
|
||||
}
|
||||
.img-box image{
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
|
||||
.check-content {
|
||||
background: #f2f1f6;
|
||||
margin-bottom: 20rpx;
|
||||
}
|
||||
.img-box .delete-btn{
|
||||
position: absolute;
|
||||
top: -10rpx;
|
||||
right: -10rpx;
|
||||
width: 40rpx;
|
||||
height: 40rpx;
|
||||
|
||||
.check-content textarea {
|
||||
width: 100%;
|
||||
height: 300rpx;
|
||||
padding: 15rpx;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
.choose-photo .img-box:nth-child(3n){
|
||||
margin-right: 0;
|
||||
|
||||
.qualified {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
font-size: 14px;
|
||||
padding: 5px 0px;
|
||||
}
|
||||
.photo-main{
|
||||
background: none;
|
||||
padding: 0;
|
||||
|
||||
.qualified label {
|
||||
margin-right: 20rpx;
|
||||
}
|
||||
.add{
|
||||
display: inline-block;
|
||||
width: 32%;
|
||||
height: 140rpx;
|
||||
background: #f1f1f6;
|
||||
position: relative;
|
||||
|
||||
.qualified label:last-child {
|
||||
margin-right: 0;
|
||||
}
|
||||
.add image{
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
left: 50%;
|
||||
transform: translate(-50%, -50%);
|
||||
width: 60rpx;
|
||||
height: 60rpx;
|
||||
|
||||
.satisfied {
|
||||
padding: 5px 0px;
|
||||
font-size: 14px;
|
||||
}
|
||||
.submit{
|
||||
width: 710rpx;
|
||||
height: 100rpx;
|
||||
background: #008cff;
|
||||
line-height: 100rpx;
|
||||
text-align: center;
|
||||
color: #fff;
|
||||
border-radius: 10rpx;
|
||||
margin: 15rpx auto;
|
||||
|
||||
.satisfied-title {
|
||||
font-size: 14px;
|
||||
}
|
||||
.check-container{
|
||||
margin-top: 15rpx;
|
||||
|
||||
.satisfied-box label {
|
||||
display: block;
|
||||
margin-top: 15rpx;
|
||||
}
|
||||
|
||||
.choose-photo {
|
||||
margin-top: 15rpx;
|
||||
}
|
||||
|
||||
.choose-photo .img-box {
|
||||
width: 32%;
|
||||
height: 140rpx;
|
||||
margin-right: 2%;
|
||||
margin-bottom: 10rpx;
|
||||
position: relative;
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
.img-box image {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.img-box .delete-btn {
|
||||
position: absolute;
|
||||
top: -10rpx;
|
||||
right: -10rpx;
|
||||
width: 40rpx;
|
||||
height: 40rpx;
|
||||
}
|
||||
|
||||
.choose-photo .img-box:nth-child(3n) {
|
||||
margin-right: 0;
|
||||
}
|
||||
|
||||
.photo-main {
|
||||
background: none;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.add {
|
||||
display: inline-block;
|
||||
width: 32%;
|
||||
height: 140rpx;
|
||||
background: #f1f1f6;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.add image {
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
left: 50%;
|
||||
transform: translate(-50%, -50%);
|
||||
width: 60rpx;
|
||||
height: 60rpx;
|
||||
}
|
||||
|
||||
.submit {
|
||||
width: 710rpx;
|
||||
height: 100rpx;
|
||||
background: #008cff;
|
||||
line-height: 100rpx;
|
||||
text-align: center;
|
||||
color: #fff;
|
||||
border-radius: 10rpx;
|
||||
margin: 15rpx auto;
|
||||
}
|
||||
|
||||
.check-container {
|
||||
margin-top: 15rpx;
|
||||
background-color: #FFFFFF;
|
||||
}
|
||||
|
||||
.title-box {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
background-color: #4583fe;
|
||||
height: 100px;
|
||||
align-items: center;
|
||||
padding-left: 10px;
|
||||
}
|
||||
|
||||
.title-box image {
|
||||
width: 32px;
|
||||
height: 32px;
|
||||
}
|
@ -4,120 +4,76 @@ var bmap = require('../../lib/bmap-wx.js');
|
||||
// pages/caseDetail/caseDetail.js
|
||||
Page({
|
||||
|
||||
/**
|
||||
* 页面的初始数据
|
||||
*/
|
||||
data: {
|
||||
requestUrl: app.requestUrl,
|
||||
token: '',
|
||||
caseId: '',
|
||||
caseDetail: {},
|
||||
longitude: '',
|
||||
latitude: '',
|
||||
markers: [],
|
||||
imageList: []
|
||||
},
|
||||
// 获取详情
|
||||
getDetail: function () {
|
||||
var self = this
|
||||
app.restAjax.get(app.restAjax.path('{reqesutUrl}app/reportcase/getreportcase/' + self.data.caseId, [app.requestUrl]), {}, {
|
||||
headers: {
|
||||
token: self.data.token
|
||||
}
|
||||
}, function (code, data) {
|
||||
var imgArr
|
||||
imgArr = data.casePhotos.split(',')
|
||||
var arr = [{longitude: data.caseLongitude,latitude: data.caseLatitude,iconPath:'../../images/marker_red.png',width:'25px',height: '30px'}]
|
||||
// varwxMarkerData = arr;
|
||||
self.setData({
|
||||
markers: arr
|
||||
});
|
||||
self.setData({
|
||||
caseDetail: data,
|
||||
longitude: data.caseLongitude,
|
||||
latitude: data.caseLatitude,
|
||||
imageList: imgArr
|
||||
})
|
||||
});
|
||||
},
|
||||
// 查看流程
|
||||
goProcess: function () {
|
||||
var self = this
|
||||
wx.navigateTo({
|
||||
url: '../process/process?id=' + self.data.caseId,
|
||||
})
|
||||
},
|
||||
/**
|
||||
* 生命周期函数--监听页面加载
|
||||
*/
|
||||
onLoad: function (options) {
|
||||
var self = this
|
||||
this.setData({
|
||||
caseId: options.id
|
||||
})
|
||||
wx.getStorage({
|
||||
key: 'token',
|
||||
success: function (res) {
|
||||
self.setData({
|
||||
token: res.data
|
||||
})
|
||||
self.getDetail()
|
||||
}
|
||||
})
|
||||
|
||||
var BMap = new bmap.BMapWX({
|
||||
ak: 'Zk732rbyjd327q7Zj9EOtRjUn2ED1GWK'
|
||||
});
|
||||
|
||||
/**
|
||||
* 页面的初始数据
|
||||
*/
|
||||
data: {
|
||||
requestUrl: app.requestUrl,
|
||||
token: '',
|
||||
caseId: '',
|
||||
caseDetail: {},
|
||||
longitude: '',
|
||||
latitude: '',
|
||||
markers: [],
|
||||
imageList: [],
|
||||
scrollHeight: 0,
|
||||
},
|
||||
// 获取详情
|
||||
getDetail: function () {
|
||||
var self = this
|
||||
app.restAjax.get(app.restAjax.path('{reqesutUrl}app/reportcase/getreportcase/' + self.data.caseId, [app.requestUrl]), {}, {
|
||||
headers: {
|
||||
token: self.data.token
|
||||
}
|
||||
}, function (code, data) {
|
||||
var imgArr, handleArr
|
||||
imgArr = data.casePhotos.split(',')
|
||||
handleArr = data.handlePhotos.split(',')
|
||||
var arr = [{ longitude: data.caseLongitude, latitude: data.caseLatitude, iconPath: '../../images/marker_red.png', width: '25px', height: '30px', id: 0 }]
|
||||
self.setData({
|
||||
markers: arr
|
||||
});
|
||||
self.setData({
|
||||
caseDetail: data,
|
||||
longitude: data.caseLongitude,
|
||||
latitude: data.caseLatitude,
|
||||
imageList: imgArr,
|
||||
handleList: handleArr
|
||||
})
|
||||
});
|
||||
},
|
||||
// 查看流程
|
||||
goProcess: function () {
|
||||
var self = this
|
||||
wx.navigateTo({
|
||||
url: '../process/process?id=' + self.data.caseId,
|
||||
})
|
||||
},
|
||||
/**
|
||||
* 生命周期函数--监听页面加载
|
||||
*/
|
||||
onLoad: function (options) {
|
||||
var self = this
|
||||
this.setData({
|
||||
caseId: options.id
|
||||
})
|
||||
wx.getStorage({
|
||||
key: 'token',
|
||||
success: function (res) {
|
||||
self.setData({
|
||||
token: res.data
|
||||
})
|
||||
self.getDetail()
|
||||
}
|
||||
})
|
||||
|
||||
},
|
||||
var BMap = new bmap.BMapWX({
|
||||
ak: 'Zk732rbyjd327q7Zj9EOtRjUn2ED1GWK'
|
||||
});
|
||||
let screenHeight = wx.getSystemInfoSync().windowHeight;
|
||||
this.setData({
|
||||
scrollHeight: screenHeight - 75
|
||||
})
|
||||
|
||||
/**
|
||||
* 生命周期函数--监听页面初次渲染完成
|
||||
*/
|
||||
onReady: function () {
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* 生命周期函数--监听页面显示
|
||||
*/
|
||||
onShow: function () {
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* 生命周期函数--监听页面隐藏
|
||||
*/
|
||||
onHide: function () {
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* 生命周期函数--监听页面卸载
|
||||
*/
|
||||
onUnload: function () {
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* 页面相关事件处理函数--监听用户下拉动作
|
||||
*/
|
||||
onPullDownRefresh: function () {
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* 页面上拉触底事件的处理函数
|
||||
*/
|
||||
onReachBottom: function () {
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* 用户点击右上角分享
|
||||
*/
|
||||
onShareAppMessage: function () {
|
||||
|
||||
}
|
||||
},
|
||||
})
|
@ -1,3 +1,4 @@
|
||||
{
|
||||
"usingComponents": {}
|
||||
"usingComponents": {},
|
||||
"navigationBarTitleText": "案件详情"
|
||||
}
|
@ -1,31 +1,48 @@
|
||||
<view class="case">
|
||||
<view class="case-info">
|
||||
<view class="title-status">
|
||||
<view class="title">{{caseDetail.communityName}}</view>
|
||||
<view class="status" wx:if="{{caseDetail.caseStatus == 0}}">待处理</view>
|
||||
<view class="status" wx:if="{{caseDetail.caseStatus == 1}}">待立案</view>
|
||||
<view class="status" wx:if="{{caseDetail.caseStatus == 2}}">待下派</view>
|
||||
<view class="status" wx:if="{{caseDetail.caseStatus == 3}}">待处理</view>
|
||||
<view class="status" wx:if="{{caseDetail.caseStatus == 4}}">待检查</view>
|
||||
<view class="status" wx:if="{{caseDetail.caseStatus == 5}}">待结案</view>
|
||||
<view class="status green" wx:if="{{caseDetail.caseStatus == 6}}">已归档</view>
|
||||
<view class="status red" wx:if="{{caseDetail.caseStatus == -1}}">案件异常</view>
|
||||
</view>
|
||||
<view class="info">
|
||||
<view class="row">{{caseDetail.caseContent}}</view>
|
||||
<view class="row">上报时间:{{caseDetail.reportDate}}</view>
|
||||
<view class="row">上报类型:{{caseDetail.caseTypeName}}</view>
|
||||
<view class="row">上报人员:{{caseDetail.caseReporter}}</view>
|
||||
</view>
|
||||
<view class="photo">
|
||||
<image src="{{requestUrl}}route/file/downloadfile/true/{{item}}" wx:for="{{imageList}}" wx:key="index" wx:if="{{item}}"></image>
|
||||
</view>
|
||||
<view class="map">
|
||||
<view class="position">{{caseDetail.casePosition}}</view>
|
||||
<view class="map-box">
|
||||
<map name="map" show-location longitude='{{longitude}}' latitude='{{latitude}}' scale='14' markers='{{markers}}'></map>
|
||||
</view>
|
||||
</view>
|
||||
<view class="process" bindtap="goProcess">查看流程</view>
|
||||
</view>
|
||||
</view>
|
||||
<wxs src="/utils/checkutils.wxs" module="tools"></wxs>
|
||||
<view class="title-box">
|
||||
<image src="/images/ic_issue_state_title_icon.png" mode="aspectFill"></image>
|
||||
<view class="status">{{tools.status(caseDetail.caseStatus)}}</view>
|
||||
<view class="progress-btn" bind:tap="goProcess">流程日志</view>
|
||||
</view>
|
||||
<scroll-view scroll-y style="height:{{scrollHeight}}px;" class="check">
|
||||
<view style="width: 100%;">
|
||||
<view class="case-info">
|
||||
<view class="title-status">
|
||||
<view class="title">{{caseDetail.communityName}}</view>
|
||||
<view class="title-date">{{caseDetail.reportDate}}</view>
|
||||
</view>
|
||||
<view class="info">
|
||||
<view class="row-desc">{{caseDetail.caseContent}}</view>
|
||||
<view class="row">上报类型:{{caseDetail.caseTypeName}}</view>
|
||||
<view class="row">上报人员:{{caseDetail.caseReporter}}</view>
|
||||
</view>
|
||||
<view class="photo">
|
||||
<image src="{{requestUrl}}route/file/downloadfile/true/{{item}}" wx:for="{{imageList}}" wx:key="index" wx:if="{{item}}"></image>
|
||||
</view>
|
||||
<view class="map">
|
||||
<view class="map-box">
|
||||
<map name="map" show-location longitude='{{longitude}}' latitude='{{latitude}}' scale='14' markers='{{markers}}'></map>
|
||||
</view>
|
||||
<view class="position-box">
|
||||
<image src="/images/position_white.png" mode="aspectFill"></image>
|
||||
<view class="position">{{caseDetail.casePosition}}</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="handle" wx:if="{{caseDetail.caseStatus=='4' || caseDetail.caseStatus=='5' || caseDetail.caseStatus=='6'}}">
|
||||
<view class="handle-title">
|
||||
<view class="form-head-line"></view>
|
||||
<view>案件处理详情</view>
|
||||
</view>
|
||||
<view class="info handle-info">
|
||||
<view class="row">处理人员:{{caseDetail.handleUserName}}</view>
|
||||
<view class="row">处理时间:{{caseDetail.handleCreateTime}}</view>
|
||||
<view class="row">{{caseDetail.handleOpinion}}</view>
|
||||
<view class="photo handle-photo">
|
||||
<image src="{{requestUrl}}route/file/downloadfile/true/{{item}}" wx:for="{{handleList}}" wx:key="index" wx:if="{{item}}"></image>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
</view>
|
||||
</scroll-view>
|
@ -1,81 +1,306 @@
|
||||
page{
|
||||
background: #f2f1f6;
|
||||
page {
|
||||
background: #f2f1f6;
|
||||
}
|
||||
.case{
|
||||
width: 710rpx;
|
||||
margin: 20rpx auto;
|
||||
padding: 20rpx;
|
||||
box-sizing: border-box;
|
||||
background: #fff;
|
||||
border-radius: 10rpx;
|
||||
|
||||
.check {
|
||||
padding: 20rpx;
|
||||
position: fixed;
|
||||
top: 70px;
|
||||
width: 95%;
|
||||
border-radius: 20px;
|
||||
}
|
||||
.case-info{
|
||||
margin-bottom: 15rpx;
|
||||
|
||||
.case-info {
|
||||
background: #fff;
|
||||
border-radius: 10rpx;
|
||||
padding: 20rpx;
|
||||
margin-bottom: 15rpx;
|
||||
}
|
||||
.title-status{
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
margin-bottom: 10rpx;
|
||||
|
||||
.title-status {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
margin-bottom: 10rpx;
|
||||
}
|
||||
.title{
|
||||
font-size: 36rpx;
|
||||
line-height: 60rpx;
|
||||
display: inline-block;
|
||||
max-width: 65%;
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
color: #06a3f6;
|
||||
|
||||
.radio-btns {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: flex-start;
|
||||
align-items: center;
|
||||
}
|
||||
.status{
|
||||
line-height: 60rpx;
|
||||
display: inline-block;
|
||||
padding: 0 30rpx;
|
||||
background: #fff7ec;
|
||||
color: #fdc36e;
|
||||
border-radius: 30rpx;
|
||||
|
||||
.radio-btns radio {
|
||||
width: 100%;
|
||||
margin-left: -25px;
|
||||
}
|
||||
.status.green{
|
||||
color: #2dfe2e;
|
||||
background: rgba(45,254,46,0.1)
|
||||
|
||||
.title {
|
||||
font-size: 36rpx;
|
||||
line-height: 60rpx;
|
||||
display: inline-block;
|
||||
max-width: 65%;
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
color: #000000;
|
||||
}
|
||||
.status.red{
|
||||
color: red;
|
||||
background: rgba(255,0,0,0.1)
|
||||
|
||||
.status {
|
||||
line-height: 60rpx;
|
||||
display: inline-block;
|
||||
padding: 0 30rpx;
|
||||
color: #FFFFFF;
|
||||
}
|
||||
.row{
|
||||
border-bottom: 1px dashed #EEE;
|
||||
font-size: 32rpx;
|
||||
color: #888;
|
||||
line-height: 60rpx;
|
||||
|
||||
.status.green {
|
||||
color: #2dfe2e;
|
||||
background: rgba(45, 254, 46, 0.1)
|
||||
}
|
||||
.photo{
|
||||
margin: 50rpx 0;
|
||||
|
||||
.status.red {
|
||||
color: red;
|
||||
background: rgba(255, 0, 0, 0.1)
|
||||
}
|
||||
.photo image{
|
||||
width: 140rpx;
|
||||
height: 140rpx;
|
||||
margin-right: 10rpx;
|
||||
margin-bottom: 10rpx;
|
||||
|
||||
.row {
|
||||
font-size: 14px;
|
||||
color: #101010;
|
||||
line-height: 60rpx;
|
||||
}
|
||||
.position{
|
||||
font-size: 36rpx;
|
||||
color: #06a3f6;
|
||||
margin-bottom: 10rpx;
|
||||
|
||||
.row-desc {
|
||||
color: #9A9A9A;
|
||||
}
|
||||
.map-box map{
|
||||
width: 100%;
|
||||
height: 400rpx;
|
||||
|
||||
.title-date {
|
||||
font-size: 12px;
|
||||
color: #101010;
|
||||
}
|
||||
.process{
|
||||
width: 100%;
|
||||
height: 80rpx;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
border-radius: 10rpx;
|
||||
background: #06a3f6;
|
||||
color: #fff;
|
||||
font-size: 30rpx;
|
||||
margin-top: 15rpx;
|
||||
|
||||
.photo {
|
||||
margin: 50rpx 0;
|
||||
}
|
||||
|
||||
.photo image {
|
||||
width: 140rpx;
|
||||
height: 140rpx;
|
||||
margin-right: 10rpx;
|
||||
margin-bottom: 10rpx;
|
||||
}
|
||||
|
||||
.position {
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
.position-box {
|
||||
position: absolute;
|
||||
bottom: 0;
|
||||
width: 100%;
|
||||
padding: 5px 2px;
|
||||
color: #FFFFFF;
|
||||
background-color: rgba(0, 0, 0, .65);
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
justify-content: flex-start;
|
||||
}
|
||||
|
||||
.position-box image {
|
||||
width: 20px;
|
||||
height: 20px;
|
||||
}
|
||||
|
||||
.map-box map {
|
||||
width: 100%;
|
||||
height: 400rpx;
|
||||
}
|
||||
|
||||
.map {
|
||||
width: 100%;
|
||||
height: 400rpx;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.handle-info {
|
||||
border-radius: 10rpx;
|
||||
background: #fff;
|
||||
margin-top: 15rpx;
|
||||
padding: 20rpx 20rpx 10rpx;
|
||||
}
|
||||
|
||||
|
||||
.handle-photo {
|
||||
margin: 20rpx 0 0;
|
||||
}
|
||||
|
||||
.handle-title {
|
||||
color: #000000;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
justify-content: flex-start;
|
||||
align-items: center;
|
||||
padding: 5px 0px 0px 5px;
|
||||
}
|
||||
|
||||
.form-head-line {
|
||||
height: 15px;
|
||||
width: 6px;
|
||||
background-color: #4985f8;
|
||||
margin-right: 5px;
|
||||
}
|
||||
|
||||
radio {
|
||||
transform: scale(.8);
|
||||
}
|
||||
|
||||
.handle-title text {
|
||||
color: red;
|
||||
}
|
||||
|
||||
.handle {
|
||||
background-color: #FFFFFF;
|
||||
}
|
||||
|
||||
.check-box {
|
||||
padding: 20rpx;
|
||||
background: #fff;
|
||||
border-radius: 10rpx;
|
||||
margin-top: 15rpx;
|
||||
}
|
||||
|
||||
.check-content {
|
||||
background: #f2f1f6;
|
||||
margin-bottom: 20rpx;
|
||||
}
|
||||
|
||||
.check-content textarea {
|
||||
width: 100%;
|
||||
height: 300rpx;
|
||||
padding: 15rpx;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
.qualified {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
font-size: 14px;
|
||||
padding: 5px 0px;
|
||||
}
|
||||
|
||||
.qualified label {
|
||||
margin-right: 20rpx;
|
||||
}
|
||||
|
||||
.qualified label:last-child {
|
||||
margin-right: 0;
|
||||
}
|
||||
|
||||
.satisfied {
|
||||
padding: 5px 0px;
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
.satisfied-title {
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
.satisfied-box label {
|
||||
display: block;
|
||||
margin-top: 15rpx;
|
||||
}
|
||||
|
||||
.choose-photo {
|
||||
margin-top: 15rpx;
|
||||
}
|
||||
|
||||
.choose-photo .img-box {
|
||||
width: 32%;
|
||||
height: 140rpx;
|
||||
margin-right: 2%;
|
||||
margin-bottom: 10rpx;
|
||||
position: relative;
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
.img-box image {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.img-box .delete-btn {
|
||||
position: absolute;
|
||||
top: -10rpx;
|
||||
right: -10rpx;
|
||||
width: 40rpx;
|
||||
height: 40rpx;
|
||||
}
|
||||
|
||||
.choose-photo .img-box:nth-child(3n) {
|
||||
margin-right: 0;
|
||||
}
|
||||
|
||||
.photo-main {
|
||||
background: none;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.add {
|
||||
display: inline-block;
|
||||
width: 32%;
|
||||
height: 140rpx;
|
||||
background: #f1f1f6;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.add image {
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
left: 50%;
|
||||
transform: translate(-50%, -50%);
|
||||
width: 60rpx;
|
||||
height: 60rpx;
|
||||
}
|
||||
|
||||
.submit {
|
||||
width: 710rpx;
|
||||
height: 100rpx;
|
||||
background: #008cff;
|
||||
line-height: 100rpx;
|
||||
text-align: center;
|
||||
color: #fff;
|
||||
border-radius: 10rpx;
|
||||
margin: 15rpx auto;
|
||||
}
|
||||
|
||||
.check-container {
|
||||
margin-top: 15rpx;
|
||||
background-color: #FFFFFF;
|
||||
}
|
||||
|
||||
.title-box {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
background-color: #4583fe;
|
||||
height: 100px;
|
||||
align-items: center;
|
||||
padding-left: 10px;
|
||||
}
|
||||
|
||||
.title-box image {
|
||||
width: 32px;
|
||||
height: 32px;
|
||||
}
|
||||
|
||||
.progress-btn {
|
||||
position: absolute;
|
||||
right: 20px;
|
||||
color: #000000;
|
||||
border-radius: 5px;
|
||||
background-color: #FCCA00;
|
||||
padding: 2px 10px;
|
||||
font-size: 14px;
|
||||
}
|
||||
.progress-btn:active{
|
||||
transform: scale(.8);
|
||||
}
|
135
pages/caseHistory/caseHistory.js
Normal file
135
pages/caseHistory/caseHistory.js
Normal file
@ -0,0 +1,135 @@
|
||||
// pages/caseHistory/caseHistory.js
|
||||
const app = getApp();
|
||||
Page({
|
||||
|
||||
/**
|
||||
* 页面的初始数据
|
||||
*/
|
||||
data: {
|
||||
token: '',
|
||||
list: [],
|
||||
triggered: false,
|
||||
page: {
|
||||
page: 1,
|
||||
rows: 10
|
||||
},
|
||||
scrollHeight: 400,
|
||||
totalNum: 0,
|
||||
},
|
||||
|
||||
/**
|
||||
* 生命周期函数--监听页面加载
|
||||
*/
|
||||
onLoad(options) {
|
||||
var _self = this;
|
||||
wx.getStorage({
|
||||
key: 'token',
|
||||
success: function (res) {
|
||||
_self.setData({
|
||||
token: res.data
|
||||
})
|
||||
_self.getCaseList();
|
||||
}
|
||||
})
|
||||
let screenHeight = wx.getSystemInfoSync().windowHeight;
|
||||
this.setData({
|
||||
scrollHeight: screenHeight
|
||||
})
|
||||
},
|
||||
|
||||
|
||||
//获取列表
|
||||
getCaseList() {
|
||||
var _self = this;
|
||||
wx.showLoading({
|
||||
title: '加载中...',
|
||||
})
|
||||
app.restAjax.get(app.restAjax.path('{reqesutUrl}app/reportcase/listreportcaseofmine', [app.requestUrl]), _self.data.page, {
|
||||
headers: {
|
||||
token: _self.data.token
|
||||
}
|
||||
}, function (code, data) {
|
||||
wx.hideLoading();
|
||||
console.log(data);
|
||||
_self.setData({
|
||||
totalNum: data.total
|
||||
})
|
||||
if (data.rows.length == 0) {
|
||||
if (_self.data.page.page == 1) {
|
||||
_self.setData({
|
||||
list: []
|
||||
})
|
||||
} else {
|
||||
_self.setData({
|
||||
[`page.page`]: _self.data.page.page - 1
|
||||
})
|
||||
wx.showToast({
|
||||
title: '暂无更多数据',
|
||||
icon: 'none'
|
||||
})
|
||||
return false;
|
||||
}
|
||||
}
|
||||
if (_self.data.page.page == 1) {
|
||||
_self.setData({
|
||||
list: data.rows
|
||||
})
|
||||
} else {
|
||||
_self.setData({
|
||||
list: _self.data.list.concat(data.rows)
|
||||
})
|
||||
}
|
||||
});
|
||||
},
|
||||
onScrollRefresh() {
|
||||
console.log('加载中...')
|
||||
var _self = this;
|
||||
_self.setData({
|
||||
list: [],
|
||||
['page.page']: 1,
|
||||
triggered: false,
|
||||
totalNum: 0
|
||||
|
||||
})
|
||||
_self.getCaseList()
|
||||
},
|
||||
//加载更多
|
||||
onLoadMore() {
|
||||
console.log(this.data.list.length + "==" + this.data.totalNum)
|
||||
var self = this
|
||||
if (self.data.totalNum === self.data.list.length) {
|
||||
wx.showToast({
|
||||
title: '暂无更多数据',
|
||||
icon: 'none'
|
||||
})
|
||||
} else {
|
||||
var pageNum = 'page.page'
|
||||
self.setData({
|
||||
[pageNum]: self.data.page.page + 1
|
||||
})
|
||||
this.getCaseList()
|
||||
}
|
||||
},
|
||||
//详情
|
||||
goDetail(e) {
|
||||
var _self = this;
|
||||
var id = e.currentTarget.dataset.id;
|
||||
var status = e.currentTarget.dataset.status;
|
||||
if ('4' == status) {
|
||||
//待检查
|
||||
wx.navigateTo({
|
||||
url: '/pages/caseCheck/caseCheck?id=' + id,
|
||||
events: {
|
||||
doNeedRefresh(data) {
|
||||
_self.onScrollRefresh();
|
||||
}
|
||||
}
|
||||
})
|
||||
} else {
|
||||
//详情
|
||||
wx.navigateTo({
|
||||
url: '/pages/caseDetail/caseDetail?id=' + id,
|
||||
})
|
||||
}
|
||||
}
|
||||
})
|
8
pages/caseHistory/caseHistory.json
Normal file
8
pages/caseHistory/caseHistory.json
Normal file
@ -0,0 +1,8 @@
|
||||
{
|
||||
"usingComponents": {
|
||||
"t-empty": "/miniprogram_npm/tdesign-miniprogram/empty/empty"
|
||||
},
|
||||
"navigationBarTitleText": "上报历史",
|
||||
"navigationBarBackgroundColor": "#FFFFFF",
|
||||
"navigationBarTextStyle": "black"
|
||||
}
|
21
pages/caseHistory/caseHistory.wxml
Normal file
21
pages/caseHistory/caseHistory.wxml
Normal file
@ -0,0 +1,21 @@
|
||||
<!--pages/census/census.wxml-->
|
||||
<wxs src="/utils/checkutils.wxs" module="tools" />
|
||||
<view class="page-container">
|
||||
<scroll-view scroll-y class="scroll-content" style="height: {{scrollHeight}}px;" refresher-enabled="{{true}}" refresher-threshold="{{100}}" refresher-default-style="black" refresher-background="white" refresher-triggered="{{triggered}}" bindrefresherrefresh="onScrollRefresh" enhanced="true" show-scrollbar="false" bindscrolltolower="onLoadMore">
|
||||
<block wx:if="{{list.length>0}}">
|
||||
<view class="item-container" wx:for="{{list}}" wx:for-index="index" wx:for-item="listItem" wx:key="index" data-id="{{listItem.reportCaseId}}" data-status="{{listItem.caseStatus}}" bind:tap="goDetail">
|
||||
<view class="item-title-box">
|
||||
<view class="title-status">{{tools.status(listItem.caseStatus)}}</view>
|
||||
<view class="item-title">{{listItem.caseTypeName}}</view>
|
||||
</view>
|
||||
<view class="item-desc">{{listItem.handleUserDepartmentName}}</view>
|
||||
<view class="item-desc">{{listItem.caseContent}}</view>
|
||||
<view class="item-position">
|
||||
<image src="/images/ic_clock_icon.png" mode="aspectFill"></image>
|
||||
<view>{{listItem.reportDate}}</view>
|
||||
</view>
|
||||
</view>
|
||||
</block>
|
||||
<t-empty wx:else t-class="empty-cls" image="/images/ic_empty_data.png" t-class-image="t-empty_image" description="暂无数据" />
|
||||
</scroll-view>
|
||||
</view>
|
113
pages/caseHistory/caseHistory.wxss
Normal file
113
pages/caseHistory/caseHistory.wxss
Normal file
@ -0,0 +1,113 @@
|
||||
/* pages/census/census.wxss */
|
||||
.page-container {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
background-color: #f5f5f5;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.btn-submit {
|
||||
width: 100%;
|
||||
position: fixed;
|
||||
bottom: 0;
|
||||
height: 48px;
|
||||
background-color: #4985f8;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
align-self: center;
|
||||
color: #FFFFFF;
|
||||
z-index: 23;
|
||||
}
|
||||
|
||||
.scroll-content {
|
||||
|
||||
border-radius: 10px;
|
||||
padding: 5px;
|
||||
width: 97%;
|
||||
margin-top: 10px;
|
||||
}
|
||||
|
||||
.item-container {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: flex-start;
|
||||
justify-content: center;
|
||||
padding: 10px;
|
||||
background-color: #ffffff;
|
||||
margin-top: 10px;
|
||||
border-radius: 10px;
|
||||
}
|
||||
|
||||
.item-title {
|
||||
font-size: 16px;
|
||||
color: #000000;
|
||||
margin-left: 3px;
|
||||
}
|
||||
|
||||
.item-title-box {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
justify-content: flex-start;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.title-status {
|
||||
border-top-right-radius: 10px;
|
||||
font-size: 12px;
|
||||
padding: 2px 10px;
|
||||
color: #FFFFFF;
|
||||
margin-left: -10px;
|
||||
border-bottom-right-radius: 10px;
|
||||
background-color: #4985f8;
|
||||
}
|
||||
|
||||
.item-desc {
|
||||
font-size: 12px;
|
||||
color: #101010;
|
||||
width: 100%;
|
||||
text-overflow: ellipsis;
|
||||
overflow: hidden;
|
||||
word-break: break-all;
|
||||
white-space: nowrap;
|
||||
margin-top: 3px;
|
||||
}
|
||||
|
||||
.item-position {
|
||||
margin-top: 5px;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
justify-content: flex-start;
|
||||
align-items: center;
|
||||
font-size: 12px;
|
||||
color: #101010;
|
||||
}
|
||||
|
||||
.item-position image {
|
||||
width: 14px;
|
||||
height: 14px;
|
||||
margin-right: 5px;
|
||||
}
|
||||
|
||||
.line {
|
||||
margin-top: 5px;
|
||||
margin-bottom: 5px;
|
||||
border: 1px dashed #ebe9e9;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
|
||||
.t-empty_image {
|
||||
width: 48px !important;
|
||||
height: 48px !important;
|
||||
}
|
||||
|
||||
.empty-cls {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
}
|
@ -129,9 +129,13 @@ Page({
|
||||
})
|
||||
},
|
||||
doCheck() {
|
||||
|
||||
wx.navigateTo({
|
||||
url: '/pages/waitCheck/waitCheck',
|
||||
})
|
||||
},
|
||||
doCaseHistory() {
|
||||
|
||||
wx.navigateTo({
|
||||
url: '/pages/caseHistory/caseHistory',
|
||||
})
|
||||
}
|
||||
})
|
@ -1,3 +1,4 @@
|
||||
{
|
||||
"usingComponents": {}
|
||||
"usingComponents": {},
|
||||
"navigationBarTitleText": "流程日志"
|
||||
}
|
@ -1,141 +1,126 @@
|
||||
const app = getApp()
|
||||
// pages/caseHistory/caseHistory.js
|
||||
const app = getApp();
|
||||
Page({
|
||||
|
||||
/**
|
||||
* 页面的初始数据
|
||||
*/
|
||||
data: {
|
||||
token: '',
|
||||
areaList: [],
|
||||
requestUrl: app.requestUrl,
|
||||
page: {
|
||||
page: 1,
|
||||
rows: 20,
|
||||
totalPage: 1
|
||||
},
|
||||
},
|
||||
// 查看详情
|
||||
goDetail: function (e) {
|
||||
if (e.currentTarget.dataset.status == '4') {
|
||||
wx.navigateTo({
|
||||
url: '../caseCheck/caseCheck?id=' + e.currentTarget.dataset.id,
|
||||
})
|
||||
} else {
|
||||
wx.navigateTo({
|
||||
url: '../caseDetail/caseDetail?id=' + e.currentTarget.dataset.id,
|
||||
})
|
||||
}
|
||||
|
||||
},
|
||||
// 获取待检查列表
|
||||
getCheckList: function () {
|
||||
var self = this
|
||||
wx.showToast({
|
||||
title: '加载中',
|
||||
icon: 'loading'
|
||||
})
|
||||
app.restAjax.get(app.restAjax.path('{reqesutUrl}app/reportcase/listpagereportcaseinspectofmine', [app.requestUrl]), self.data.page, {
|
||||
headers: {
|
||||
token: self.data.token
|
||||
}
|
||||
}, function (code, data) {
|
||||
if(data.rows.length == 0) {
|
||||
if (self.data.page.page == 1) {
|
||||
self.setData({
|
||||
areaList: []
|
||||
})
|
||||
} else {
|
||||
self.setData({
|
||||
[`page.page`] : self.data.page.page - 1
|
||||
})
|
||||
app.dialog.msg('暂无更多')
|
||||
return false;
|
||||
}
|
||||
}
|
||||
if (self.data.page.page == 1) {
|
||||
self.setData({
|
||||
areaList: data.rows
|
||||
})
|
||||
} else {
|
||||
self.setData({
|
||||
areaList: self.data.areaList.concat(data.rows)
|
||||
})
|
||||
}
|
||||
wx.hideToast()
|
||||
});
|
||||
},
|
||||
/**
|
||||
* 生命周期函数--监听页面加载
|
||||
*/
|
||||
onLoad: function (options) {
|
||||
var self = this
|
||||
wx.getStorage({
|
||||
key: 'token',
|
||||
success: function (res) {
|
||||
self.setData({
|
||||
token: res.data
|
||||
})
|
||||
self.getCheckList()
|
||||
}
|
||||
})
|
||||
|
||||
},
|
||||
/**
|
||||
* 页面的初始数据
|
||||
*/
|
||||
data: {
|
||||
token: '',
|
||||
list: [],
|
||||
triggered: false,
|
||||
page: {
|
||||
page: 1,
|
||||
rows: 10
|
||||
},
|
||||
scrollHeight: 400,
|
||||
totalNum: 0,
|
||||
},
|
||||
|
||||
/**
|
||||
* 生命周期函数--监听页面初次渲染完成
|
||||
*/
|
||||
onReady: function () {
|
||||
|
||||
},
|
||||
/**
|
||||
* 生命周期函数--监听页面加载
|
||||
*/
|
||||
onLoad(options) {
|
||||
var _self = this;
|
||||
wx.getStorage({
|
||||
key: 'token',
|
||||
success: function (res) {
|
||||
_self.setData({
|
||||
token: res.data
|
||||
})
|
||||
_self.getCaseList();
|
||||
}
|
||||
})
|
||||
let screenHeight = wx.getSystemInfoSync().windowHeight;
|
||||
this.setData({
|
||||
scrollHeight: screenHeight
|
||||
})
|
||||
},
|
||||
|
||||
/**
|
||||
* 生命周期函数--监听页面显示
|
||||
*/
|
||||
onShow: function () {
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* 生命周期函数--监听页面隐藏
|
||||
*/
|
||||
onHide: function () {
|
||||
|
||||
},
|
||||
//获取列表
|
||||
getCaseList() {
|
||||
var _self = this;
|
||||
wx.showLoading({
|
||||
title: '加载中...',
|
||||
})
|
||||
app.restAjax.get(app.restAjax.path('{reqesutUrl}app/reportcase/listpagetotalreportcasehandleofmine', [app.requestUrl]), _self.data.page, {
|
||||
headers: {
|
||||
token: _self.data.token
|
||||
}
|
||||
}, function (code, data) {
|
||||
wx.hideLoading();
|
||||
console.log(data);
|
||||
_self.setData({
|
||||
totalNum: data.total
|
||||
})
|
||||
if (data.rows.length == 0) {
|
||||
if (_self.data.page.page == 1) {
|
||||
_self.setData({
|
||||
list: []
|
||||
})
|
||||
} else {
|
||||
_self.setData({
|
||||
[`page.page`]: _self.data.page.page - 1
|
||||
})
|
||||
wx.showToast({
|
||||
title: '暂无更多数据',
|
||||
icon: 'none'
|
||||
})
|
||||
return false;
|
||||
}
|
||||
}
|
||||
if (_self.data.page.page == 1) {
|
||||
_self.setData({
|
||||
list: data.rows
|
||||
})
|
||||
} else {
|
||||
_self.setData({
|
||||
list: _self.data.list.concat(data.rows)
|
||||
})
|
||||
}
|
||||
});
|
||||
},
|
||||
onScrollRefresh() {
|
||||
console.log('加载中...')
|
||||
var _self = this;
|
||||
_self.setData({
|
||||
list: [],
|
||||
['page.page']: 1,
|
||||
triggered: false,
|
||||
totalNum: 0
|
||||
|
||||
/**
|
||||
* 生命周期函数--监听页面卸载
|
||||
*/
|
||||
onUnload: function () {
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* 页面相关事件处理函数--监听用户下拉动作
|
||||
*/
|
||||
onPullDownRefresh: function () {
|
||||
var self = this
|
||||
this.setData({
|
||||
['page.page']: 1
|
||||
})
|
||||
this.getCheckList()
|
||||
},
|
||||
|
||||
/**
|
||||
* 页面上拉触底事件的处理函数
|
||||
*/
|
||||
onReachBottom: function () {
|
||||
var self = this
|
||||
var pageNum = 'page.page'
|
||||
self.setData({
|
||||
[pageNum]: self.data.page.page + 1
|
||||
})
|
||||
this.getCheckList()
|
||||
},
|
||||
|
||||
/**
|
||||
* 用户点击右上角分享
|
||||
*/
|
||||
onShareAppMessage: function () {
|
||||
|
||||
}
|
||||
})
|
||||
_self.getCaseList()
|
||||
},
|
||||
//加载更多
|
||||
onLoadMore() {
|
||||
console.log(this.data.list.length + "==" + this.data.totalNum)
|
||||
var self = this
|
||||
if (self.data.totalNum === self.data.list.length) {
|
||||
wx.showToast({
|
||||
title: '暂无更多数据',
|
||||
icon: 'none'
|
||||
})
|
||||
} else {
|
||||
var pageNum = 'page.page'
|
||||
self.setData({
|
||||
[pageNum]: self.data.page.page + 1
|
||||
})
|
||||
this.getCaseList()
|
||||
}
|
||||
},
|
||||
//详情
|
||||
goDetail(e) {
|
||||
var _self = this;
|
||||
var id = e.currentTarget.dataset.id;
|
||||
wx.navigateTo({
|
||||
url: '/pages/caseCheck/caseCheck?id=' + id,
|
||||
events: {
|
||||
doNeedRefresh(data) {
|
||||
_self.onScrollRefresh();
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
})
|
@ -1,3 +1,8 @@
|
||||
{
|
||||
"usingComponents": {}
|
||||
"usingComponents": {
|
||||
"t-empty": "/miniprogram_npm/tdesign-miniprogram/empty/empty"
|
||||
},
|
||||
"navigationBarTitleText": "待检查",
|
||||
"navigationBarBackgroundColor": "#FFFFFF",
|
||||
"navigationBarTextStyle": "black"
|
||||
}
|
@ -1,30 +1,21 @@
|
||||
<view class="list">
|
||||
<view class="list-box" wx:for="{{areaList}}" wx:key="index" data-id="{{item.reportCaseId}}" bindtap="goDetail" data-status="{{item.caseStatus}}">
|
||||
<view class="avatar">
|
||||
<image src="{{requestUrl}}route/file/downloadfile/true/{{item.casePhotos}}"></image>
|
||||
</view>
|
||||
<view class="case">
|
||||
<view class="case-info">
|
||||
<view class="case-title">
|
||||
<view class="title">{{item.communityName}}</view>
|
||||
<view class="status" wx:if="{{item.caseStatus == 0}}">待受理</view>
|
||||
<view class="status" wx:if="{{item.caseStatus == 1}}">待立案</view>
|
||||
<view class="status" wx:if="{{item.caseStatus == 2}}">待下派</view>
|
||||
<view class="status" wx:if="{{item.caseStatus == 3}}">待处理</view>
|
||||
<view class="status" wx:if="{{item.caseStatus == 4}}">待检查</view>
|
||||
<view class="status" wx:if="{{item.caseStatus == 5}}">待结案</view>
|
||||
<view class="status green" wx:if="{{item.caseStatus == 6}}">已归档</view>
|
||||
<view class="status red" wx:if="{{item.caseStatus == -1}}">案件异常</view>
|
||||
</view>
|
||||
<view class="case-desc">
|
||||
{{item.caseContent}}
|
||||
</view>
|
||||
</view>
|
||||
<view class="case-postion">
|
||||
<image src="../../images/position.png"></image>
|
||||
{{item.casePosition}}
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<!-- <view class="new-case" bindtap="goReport">案件上报</view> -->
|
||||
<!--pages/census/census.wxml-->
|
||||
<wxs src="/utils/checkutils.wxs" module="tools" />
|
||||
<view class="page-container">
|
||||
<scroll-view scroll-y class="scroll-content" style="height: {{scrollHeight}}px;" refresher-enabled="{{true}}" refresher-threshold="{{100}}" refresher-default-style="black" refresher-background="white" refresher-triggered="{{triggered}}" bindrefresherrefresh="onScrollRefresh" enhanced="true" show-scrollbar="false" bindscrolltolower="onLoadMore">
|
||||
<block wx:if="{{list.length>0}}">
|
||||
<view class="item-container" wx:for="{{list}}" wx:for-index="index" wx:for-item="listItem" wx:key="index" data-id="{{listItem.reportCaseId}}" bind:tap="goDetail">
|
||||
<view class="item-title-box">
|
||||
<view class="title-status">{{tools.status(listItem.caseStatus)}}</view>
|
||||
<view class="item-title">{{listItem.caseTypeName}}</view>
|
||||
</view>
|
||||
<view class="item-desc">{{listItem.handleUserDepartmentName}}</view>
|
||||
<view class="item-desc">{{listItem.caseContent}}</view>
|
||||
<view class="item-position">
|
||||
<image src="/images/ic_clock_icon.png" mode="aspectFill"></image>
|
||||
<view>{{listItem.reportDate}}</view>
|
||||
</view>
|
||||
</view>
|
||||
</block>
|
||||
<t-empty wx:else t-class="empty-cls" image="/images/ic_empty_data.png" t-class-image="t-empty_image" description="暂无数据" />
|
||||
</scroll-view>
|
||||
</view>
|
@ -1,110 +1,113 @@
|
||||
page{
|
||||
background: #f2f1f6;
|
||||
/* pages/census/census.wxss */
|
||||
.page-container {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
background-color: #f5f5f5;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
/* .tab-box{
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
height: 100rpx;
|
||||
display: flex;
|
||||
background: #fff;
|
||||
overflow-x: auto;
|
||||
|
||||
.btn-submit {
|
||||
width: 100%;
|
||||
position: fixed;
|
||||
bottom: 0;
|
||||
height: 48px;
|
||||
background-color: #4985f8;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
align-self: center;
|
||||
color: #FFFFFF;
|
||||
z-index: 23;
|
||||
}
|
||||
.tab{
|
||||
display: flex;
|
||||
flex: 1;
|
||||
flex-shrink: 0;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
font-size: 30rpx;
|
||||
box-sizing: border-box;
|
||||
|
||||
.scroll-content {
|
||||
|
||||
border-radius: 10px;
|
||||
padding: 5px;
|
||||
width: 97%;
|
||||
margin-top: 10px;
|
||||
}
|
||||
.tab.active{
|
||||
font-size: 36rpx;
|
||||
color: #226cd9;
|
||||
border-bottom: 3px solid #226cd9;
|
||||
} */
|
||||
.list{
|
||||
/* margin-top: 100rpx; */
|
||||
padding: 20rpx 20rpx 0;
|
||||
|
||||
.item-container {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: flex-start;
|
||||
justify-content: center;
|
||||
padding: 10px;
|
||||
background-color: #ffffff;
|
||||
margin-top: 10px;
|
||||
border-radius: 10px;
|
||||
}
|
||||
.list-box{
|
||||
padding: 20rpx;
|
||||
background: #fff;
|
||||
border-radius: 10rpx;
|
||||
margin-bottom: 20rpx;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
|
||||
.item-title {
|
||||
font-size: 16px;
|
||||
color: #000000;
|
||||
margin-left: 3px;
|
||||
}
|
||||
.avatar, .avatar image{
|
||||
width: 150rpx;
|
||||
height: 150rpx;
|
||||
|
||||
.item-title-box {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
justify-content: flex-start;
|
||||
align-items: center;
|
||||
}
|
||||
.case{
|
||||
width: 500rpx;
|
||||
|
||||
.title-status {
|
||||
border-top-right-radius: 10px;
|
||||
font-size: 12px;
|
||||
padding: 2px 10px;
|
||||
color: #FFFFFF;
|
||||
margin-left: -10px;
|
||||
border-bottom-right-radius: 10px;
|
||||
background-color: #4985f8;
|
||||
}
|
||||
.case-info{
|
||||
border-bottom: 1px dashed #EEE;
|
||||
|
||||
.item-desc {
|
||||
font-size: 12px;
|
||||
color: #101010;
|
||||
width: 100%;
|
||||
text-overflow: ellipsis;
|
||||
overflow: hidden;
|
||||
word-break: break-all;
|
||||
white-space: nowrap;
|
||||
margin-top: 3px;
|
||||
}
|
||||
.case-title{
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
margin-bottom: 10rpx;
|
||||
|
||||
.item-position {
|
||||
margin-top: 5px;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
justify-content: flex-start;
|
||||
align-items: center;
|
||||
font-size: 12px;
|
||||
color: #101010;
|
||||
}
|
||||
.title{
|
||||
font-size: 36rpx;
|
||||
line-height: 60rpx;
|
||||
display: inline-block;
|
||||
max-width: 65%;
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
|
||||
.item-position image {
|
||||
width: 14px;
|
||||
height: 14px;
|
||||
margin-right: 5px;
|
||||
}
|
||||
.status{
|
||||
line-height: 60rpx;
|
||||
display: inline-block;
|
||||
padding: 0 30rpx;
|
||||
background: #fff7ec;
|
||||
color: #fdc36e;
|
||||
border-radius: 30rpx;
|
||||
|
||||
.line {
|
||||
margin-top: 5px;
|
||||
margin-bottom: 5px;
|
||||
border: 1px dashed #ebe9e9;
|
||||
width: 100%;
|
||||
}
|
||||
.status.green{
|
||||
color: #2dfe2e;
|
||||
background: rgba(45,254,46,0.1)
|
||||
|
||||
|
||||
.t-empty_image {
|
||||
width: 48px !important;
|
||||
height: 48px !important;
|
||||
}
|
||||
.status.red{
|
||||
color: red;
|
||||
background: rgba(255,0,0,0.1)
|
||||
}
|
||||
.case-desc{
|
||||
font-size: 28rpx;
|
||||
color: #888;
|
||||
margin-bottom: 10rpx;
|
||||
line-height: 60rpx;
|
||||
}
|
||||
.case-postion{
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
font-size: 28rpx;
|
||||
color: #108aff;
|
||||
margin-top: 10rpx;
|
||||
}
|
||||
.case-postion image{
|
||||
width: 30rpx;
|
||||
height: 28rpx;
|
||||
}
|
||||
.new-case{
|
||||
position: fixed;
|
||||
bottom: 40rpx;
|
||||
right: 40rpx;
|
||||
width: 120rpx;
|
||||
height: 120rpx;
|
||||
background: #108aff;
|
||||
color: #fff;
|
||||
border-radius: 50%;
|
||||
padding: 20rpx;
|
||||
box-sizing: border-box;
|
||||
text-align: center;
|
||||
|
||||
.empty-cls {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
}
|
@ -4,4 +4,32 @@ var check = function (s) {
|
||||
}
|
||||
return s;
|
||||
}
|
||||
module.exports.check = check;
|
||||
var getStatus = function (s) {
|
||||
var status = '';
|
||||
switch (s) {
|
||||
case '0':
|
||||
status = '待受理';
|
||||
break;
|
||||
case '1':
|
||||
status = '待立案';
|
||||
break;
|
||||
case '2':
|
||||
status = '待下派';
|
||||
break;
|
||||
case '3':
|
||||
status = '待处理';
|
||||
break;
|
||||
case '4':
|
||||
status = '待检查';
|
||||
break;
|
||||
case '5':
|
||||
status = '待结案';
|
||||
break;
|
||||
case '6':
|
||||
status = '已归档';
|
||||
break;
|
||||
}
|
||||
return status;
|
||||
}
|
||||
module.exports.check = check;
|
||||
module.exports.status = getStatus;
|
Loading…
Reference in New Issue
Block a user