提交代码
parent
52192a106a
commit
ec75179b6d
|
@ -0,0 +1,44 @@
|
|||
import {request} from '../utils/request'
|
||||
|
||||
// 查询劳资投诉列表
|
||||
export function list(data) {
|
||||
return request({
|
||||
url: '/wechat/flow/flowLabour/list',
|
||||
method: 'get',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 统计劳资投诉信息
|
||||
export function findGroupCountByApprove(data) {
|
||||
return request({
|
||||
url: '/wechat/flow/flowLabour/findGroupCountByApprove',
|
||||
method: 'get',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 查询劳资投诉进度
|
||||
export function findMyFlowLabourNodes(flowId) {
|
||||
return request({
|
||||
url: '/wechat/flow/flowLabour/findMyFlowLabourNodes/'+flowId,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
//劳资投诉审批
|
||||
export function submitFlowLabour(data) {
|
||||
return request({
|
||||
url: '/wechat/flow/flowLabour/submitFlowLabour',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 获取劳资投诉详细信息
|
||||
export function getInfo(flowId) {
|
||||
return request({
|
||||
url: '/wechat/flow/flowLabour/info/'+flowId,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
|
@ -109,7 +109,10 @@
|
|||
"project_standard/list/index",
|
||||
"project_standard/add/index",
|
||||
"project_standard/info/index",
|
||||
"project_files/index"
|
||||
"project_files/index",
|
||||
"flow_labour/list/index",
|
||||
"flow_labour/check/index",
|
||||
"flow_labour/info/index"
|
||||
],
|
||||
"independent": false
|
||||
}
|
||||
|
|
|
@ -1220,7 +1220,7 @@ swiper-item video {
|
|||
}
|
||||
|
||||
.inspect_for {
|
||||
padding: 20rpx 0;
|
||||
padding: 15rpx 0;
|
||||
font-size: 30rpx;
|
||||
}
|
||||
|
||||
|
@ -1231,7 +1231,7 @@ swiper-item video {
|
|||
|
||||
.inspect_for_bgd {
|
||||
background: #1e2336;
|
||||
padding: 0 30rpx;
|
||||
padding: 0 15rpx;
|
||||
border-radius: 10rpx 10rpx 0 0;
|
||||
}
|
||||
|
||||
|
@ -1307,8 +1307,15 @@ swiper-item video {
|
|||
overflow: hidden;
|
||||
}
|
||||
|
||||
.inspect_list_title_text_3 {
|
||||
width: calc(100% - 280rpx);
|
||||
white-space: nowrap;
|
||||
text-overflow: ellipsis;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.inspect_list_info {
|
||||
padding: 30rpx 5rpx;
|
||||
padding: 20rpx 5rpx;
|
||||
color: #d5dbeb;
|
||||
}
|
||||
|
||||
|
@ -1751,13 +1758,23 @@ swiper-item video {
|
|||
border-radius: 0.5rem 0 0.5rem 0;
|
||||
}
|
||||
|
||||
.code_label_4 {
|
||||
font-size: 0.8rem;
|
||||
width: 200rpx;
|
||||
height: 50rpx;
|
||||
line-height: 50rpx;
|
||||
text-align: center;
|
||||
padding: 0.1rem;
|
||||
border-radius: 0.8rem 0 0.8rem 0;
|
||||
}
|
||||
|
||||
.code_label_green {
|
||||
background: green;
|
||||
color: #FFFFFF;
|
||||
}
|
||||
|
||||
.code_label_red {
|
||||
background: red;
|
||||
background: #fd6060;
|
||||
color: #FFFFFF;
|
||||
}
|
||||
|
||||
|
|
|
@ -1 +1 @@
|
|||
@import '../common/index.wxss';.van-collapse-item__title .van-cell__right-icon{-webkit-transform:rotate(90deg);transform:rotate(90deg);transition:-webkit-transform .3s;transition:transform .3s;transition:transform .3s,-webkit-transform .3s;transition:-webkit-transform var(--collapse-item-transition-duration,.3s);transition:transform var(--collapse-item-transition-duration,.3s);transition:transform var(--collapse-item-transition-duration,.3s),-webkit-transform var(--collapse-item-transition-duration,.3s)}.van-collapse-item__title--expanded .van-cell__right-icon{-webkit-transform:rotate(-90deg);transform:rotate(-90deg)}.van-collapse-item__title--disabled .van-cell,.van-collapse-item__title--disabled .van-cell__right-icon{color:#c8c9cc!important;color:var(--collapse-item-title-disabled-color,#c8c9cc)!important}.van-collapse-item__title--disabled .van-cell--hover{background-color:#fff!important;background-color:var(--white,#fff)!important}.van-collapse-item__wrapper{overflow:hidden}.van-collapse-item__wrapper--transition{transition:height .3s ease-in-out}.van-collapse-item__content{padding:15px;padding:var(--collapse-item-content-padding,15px);color:#969799;color:var(--collapse-item-content-text-color,#969799);font-size:13px;font-size:var(--collapse-item-content-font-size,13px);line-height:1.5;line-height:var(--collapse-item-content-line-height,1.5);background-color:#fff;background-color:var(--collapse-item-content-background-color,#fff)}
|
||||
@import '../common/index.wxss';.van-collapse-item__title .van-cell__right-icon{-webkit-transform:rotate(90deg);transform:rotate(90deg);transition:-webkit-transform .3s;transition:transform .3s;transition:transform .3s,-webkit-transform .3s;transition:-webkit-transform var(--collapse-item-transition-duration,.3s);transition:transform var(--collapse-item-transition-duration,.3s);transition:transform var(--collapse-item-transition-duration,.3s),-webkit-transform var(--collapse-item-transition-duration,.3s)}.van-collapse-item__title--expanded .van-cell__right-icon{-webkit-transform:rotate(-90deg);transform:rotate(-90deg)}.van-collapse-item__title--disabled .van-cell,.van-collapse-item__title--disabled .van-cell__right-icon{color:#c8c9cc!important;color:var(--collapse-item-title-disabled-color,#c8c9cc)!important}.van-collapse-item__title--disabled .van-cell--hover{background-color:#fff!important;background-color:var(--white,#fff)!important}.van-collapse-item__wrapper{overflow:hidden}.van-collapse-item__wrapper--transition{transition:height .3s ease-in-out}.van-collapse-item__content{padding:15px;padding:var(--collapse-item-content-padding,10px);color:#969799;color:var(--collapse-item-content-text-color,#969799);font-size:13px;font-size:var(--collapse-item-content-font-size,13px);line-height:1.5;line-height:var(--collapse-item-content-line-height,1.5);background-color:#fff;background-color:var(--collapse-item-content-background-color,#fff)}
|
|
@ -0,0 +1,336 @@
|
|||
import config from '../../../config'
|
||||
import {
|
||||
syncFileUpload
|
||||
} from '../../../utils/request'
|
||||
|
||||
import {
|
||||
getInfo,
|
||||
submitFlowLabour,
|
||||
findMyFlowLabourNodes
|
||||
} from "../../../api/flowLabour"
|
||||
const app = getApp()
|
||||
Page({
|
||||
/**
|
||||
* 页面的初始数据
|
||||
*/
|
||||
data: {
|
||||
id: "",
|
||||
infoData: {
|
||||
files: ""
|
||||
},
|
||||
activeName: "",
|
||||
flowRecordList: [],
|
||||
request: app.globalData.reqUrl,
|
||||
flowNodes: [{
|
||||
text: '提交投诉'
|
||||
}, {
|
||||
text: '项目经理'
|
||||
}, {
|
||||
text: '甲方代表'
|
||||
}, {
|
||||
text: '集团公司'
|
||||
}],
|
||||
active: 100,
|
||||
rejectNode: 0,
|
||||
flowComment: "",
|
||||
imageInfoData: [],
|
||||
minRole: 99,
|
||||
},
|
||||
|
||||
/**
|
||||
* 生命周期函数--监听页面加载
|
||||
*/
|
||||
onLoad(options) {
|
||||
let {
|
||||
id
|
||||
} = options
|
||||
this.setData({
|
||||
id
|
||||
})
|
||||
//获取缓存数据
|
||||
wx.getStorage({
|
||||
key: 'userinfo',
|
||||
success: res => {
|
||||
this.setData({
|
||||
minRoleId: res.data.minRoleId
|
||||
})
|
||||
}
|
||||
})
|
||||
this.getInfo();
|
||||
this.getAuditinfo();
|
||||
},
|
||||
|
||||
/**
|
||||
* 获取劳资投诉详情信息
|
||||
*
|
||||
*/
|
||||
getInfo() {
|
||||
getInfo(this.data.id).then(res => {
|
||||
if (res.code == 200) {
|
||||
let active = this.data.active;
|
||||
let rejectNode = this.data.rejectNode;
|
||||
if (res.data.approveStatus == "10" || res.data.approveStatus == "21") {
|
||||
active = 1;
|
||||
if (res.data.approveStatus == "21") {
|
||||
rejectNode = active + 1;
|
||||
}
|
||||
} else if (res.data.approveStatus == "20" || res.data.approveStatus == "31") {
|
||||
active = 2;
|
||||
if (res.data.approveStatus == "31") {
|
||||
rejectNode = active + 1;
|
||||
}
|
||||
} else if (res.data.approveStatus == "30") {
|
||||
active = 3;
|
||||
}
|
||||
this.setData({
|
||||
active,
|
||||
rejectNode,
|
||||
infoData: res.data
|
||||
})
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
/**
|
||||
* 查询流程日志
|
||||
*/
|
||||
getAuditinfo() {
|
||||
findMyFlowLabourNodes(this.data.id).then(res => {
|
||||
if (res.code == 200) {
|
||||
this.setData({
|
||||
flowRecordList: res.data
|
||||
})
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
// 手风琴
|
||||
onChange(event) {
|
||||
this.setData({
|
||||
activeName: event.detail,
|
||||
});
|
||||
},
|
||||
|
||||
//展示图片
|
||||
showImg: function (e) {
|
||||
let paths = e.target.dataset.set;
|
||||
let path = [];
|
||||
paths.split(',').forEach(url => {
|
||||
path.push(config.baseUrl + url);
|
||||
});
|
||||
wx.previewImage({
|
||||
urls: path,
|
||||
current: path[e.currentTarget.dataset.index]
|
||||
})
|
||||
},
|
||||
|
||||
//整改要求
|
||||
onInputFlowComment(e) {
|
||||
let flowComment = e.detail.value
|
||||
this.setData({
|
||||
flowComment
|
||||
})
|
||||
},
|
||||
|
||||
// list 上传图片
|
||||
onImagesArr(e) {
|
||||
var data = this.data.imageInfoData
|
||||
data = e.detail
|
||||
this.setData({
|
||||
imageInfoData: data
|
||||
})
|
||||
},
|
||||
|
||||
//审批劳资投诉
|
||||
onSubmitPass() {
|
||||
let {
|
||||
flowComment
|
||||
} = this.data;
|
||||
//数据效验
|
||||
if (flowComment == "") {
|
||||
app.toast("请填写处理意见!")
|
||||
return;
|
||||
}
|
||||
let that = this;
|
||||
let msg = "";
|
||||
if ((this.data.infoData.approveStatus == '20' || this.data.infoData.approveStatus == '31') && (this.data.minRoleId == '2' || this.data.minRoleId == '3')) {
|
||||
msg = "当前数据甲方代表正在审批,您";
|
||||
}
|
||||
//弹出确认
|
||||
wx.showModal({
|
||||
title: '提示',
|
||||
content: msg + '是否确认审批通过当前劳资投诉?',
|
||||
success: function (sm) {
|
||||
if (sm.confirm) {
|
||||
that.submitForm(100);
|
||||
}
|
||||
}
|
||||
})
|
||||
},
|
||||
|
||||
/**
|
||||
* 驳回劳资投诉
|
||||
*/
|
||||
onSubmitReject() {
|
||||
let {
|
||||
flowComment
|
||||
} = this.data;
|
||||
//数据效验
|
||||
if (flowComment == "") {
|
||||
app.toast("请填写处理意见!")
|
||||
return;
|
||||
}
|
||||
let that = this;
|
||||
let msg = "";
|
||||
if ((this.data.infoData.approveStatus == '20' || this.data.infoData.approveStatus == '31') && (this.data.minRoleId == '2' || this.data.minRoleId == '3')) {
|
||||
msg = "当前数据甲方代表正在审批,您";
|
||||
}
|
||||
//弹出确认
|
||||
wx.showModal({
|
||||
title: '提示',
|
||||
content: msg + '是否确认审批驳回当前劳资投诉?',
|
||||
success: function (sm) {
|
||||
if (sm.confirm) {
|
||||
that.submitForm(1);
|
||||
}
|
||||
}
|
||||
})
|
||||
},
|
||||
|
||||
//提交处理结果
|
||||
onSubmitSave() {
|
||||
let {
|
||||
flowComment
|
||||
} = this.data;
|
||||
//数据效验
|
||||
if (flowComment == "") {
|
||||
app.toast("请填写处理意见!")
|
||||
return;
|
||||
}
|
||||
let that = this;
|
||||
let msg = "";
|
||||
if (this.data.minRoleId == '2' || this.data.minRoleId == '3' || this.data.minRoleId == '4') {
|
||||
msg = "当前数据总包单位正在处理,您";
|
||||
}
|
||||
//弹出确认
|
||||
wx.showModal({
|
||||
title: '提示',
|
||||
content: msg + '是否确提交劳资投诉处理结果?',
|
||||
success: function (sm) {
|
||||
if (sm.confirm) {
|
||||
that.submitForm(100);
|
||||
}
|
||||
}
|
||||
})
|
||||
},
|
||||
|
||||
/**
|
||||
* 提交审核结果
|
||||
*/
|
||||
submitForm(result) {
|
||||
let {
|
||||
id,
|
||||
flowComment,
|
||||
imageInfoData
|
||||
} = this.data;
|
||||
if (imageInfoData.length > 0) {
|
||||
let images = [];
|
||||
imageInfoData.forEach(item => {
|
||||
syncFileUpload(item).then(res => {
|
||||
images.push(res.fileName);
|
||||
//验证图片上传完毕
|
||||
if (images.length == imageInfoData.length) {
|
||||
let params = {
|
||||
flowId: id,
|
||||
flowResult: result,
|
||||
flowComment: flowComment,
|
||||
files: images.toString()
|
||||
}
|
||||
submitFlowLabour(params).then(res => {
|
||||
if (res.code == 200) {
|
||||
app.toast("处理劳资投诉成功!")
|
||||
setTimeout(() => {
|
||||
wx.redirectTo({
|
||||
url: '../list/index',
|
||||
})
|
||||
}, 300)
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
})
|
||||
} else {
|
||||
let params = {
|
||||
flowId: id,
|
||||
flowResult: result,
|
||||
flowComment: flowComment
|
||||
}
|
||||
submitFlowLabour(params).then(res => {
|
||||
if (res.code == 200) {
|
||||
app.toast("处理劳资投诉成功!")
|
||||
setTimeout(() => {
|
||||
wx.redirectTo({
|
||||
url: '../list/index',
|
||||
})
|
||||
}, 300)
|
||||
}
|
||||
});
|
||||
}
|
||||
},
|
||||
|
||||
returnToPage: function () {
|
||||
/*关闭当前页面,跳转到应用内的某个页面。但是不允许跳转到 tabbar 页面*/
|
||||
wx.redirectTo({
|
||||
url: '../list/index',
|
||||
})
|
||||
},
|
||||
|
||||
/**
|
||||
* 生命周期函数--监听页面初次渲染完成
|
||||
*/
|
||||
onReady() {
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* 生命周期函数--监听页面显示
|
||||
*/
|
||||
onShow() {
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* 生命周期函数--监听页面隐藏
|
||||
*/
|
||||
onHide() {
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* 生命周期函数--监听页面卸载
|
||||
*/
|
||||
onUnload() {
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* 页面相关事件处理函数--监听用户下拉动作
|
||||
*/
|
||||
onPullDownRefresh() {
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* 页面上拉触底事件的处理函数
|
||||
*/
|
||||
onReachBottom() {
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* 用户点击右上角分享
|
||||
*/
|
||||
onShareAppMessage() {
|
||||
|
||||
}
|
||||
})
|
|
@ -0,0 +1,8 @@
|
|||
{
|
||||
"usingComponents": {
|
||||
"van-steps": "@vant/weapp/steps/index",
|
||||
"van-collapse": "@vant/weapp/collapse",
|
||||
"van-collapse-item": "@vant/weapp/collapse-item"
|
||||
},
|
||||
"navigationStyle":"custom"
|
||||
}
|
|
@ -0,0 +1,174 @@
|
|||
<wxs module="format" src="/utils/format.wxs"></wxs>
|
||||
<view class="header_title">
|
||||
<view class="header_title_row">
|
||||
<van-row>
|
||||
<van-col span="4">
|
||||
<view class="header_img" bindtap="returnToPage">
|
||||
<image src="/images/left.png"></image>
|
||||
</view>
|
||||
</van-col>
|
||||
<van-col span="15">
|
||||
<view class="header_name">劳资投诉审批</view>
|
||||
</van-col>
|
||||
</van-row>
|
||||
</view>
|
||||
</view>
|
||||
<view class="max_content">
|
||||
<van-steps steps="{{ flowNodes }}" active="{{ active }}" rejectNode="{{ rejectNode }}" />
|
||||
<view class="inspect_overview_max">
|
||||
<view class="inspect_overview">
|
||||
<view class="gk_open" style="margin-top: 20rpx;border: 1px solid transparent;">
|
||||
<van-collapse value="{{activeName}}" bind:change="onChange">
|
||||
<van-collapse-item title="审批日志" name="2">
|
||||
<view class="inspect_list">
|
||||
<view class="inspect_for" wx:for="{{flowRecordList}}" wx:key="index">
|
||||
<view class="inspect_for_bgd">
|
||||
<view class="inspect_list_title">
|
||||
<view class="inspect_list_title_label inspect_list_title_width">
|
||||
<view class="inspect_list_title_number">{{(flowRecordList.length-index) < 10 ?'0'+(flowRecordList.length-index):(flowRecordList.length-index)}}</view>
|
||||
<view class="module_title module_title_flex inspect_list_title_text">
|
||||
<text wx:if="{{item.flowNode=='0'}}">{{item.createBy+'提交投诉'}}</text>
|
||||
<text wx:if="{{item.flowNode!='0'}}">{{item.flowNodeName}}</text>
|
||||
<text wx:if="{{item.flowNode=='10' || item.flowNode=='20' || item.flowNode=='30'}}" class="timeline_for_state_1 color_green">通过</text>
|
||||
<text wx:if="{{item.flowNode=='11' || item.flowNode=='21' || item.flowNode=='31'}}" class="timeline_for_state_2 color_purple">驳回</text>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="inspect_list_info gk_open_con">
|
||||
<view wx:if="{{item.createBy}}">
|
||||
<image src="/images/lw_3.png"></image>办理用户:<text>{{item.createBy}}</text>
|
||||
</view>
|
||||
<view>
|
||||
<image src="/images/s_6.png"></image>办理时间:<text>{{item.createTime}}</text>
|
||||
</view>
|
||||
<view wx:if="{{item.flowComment}}">
|
||||
<image src="/images/s_7.png"></image>处理意见:<text>{{item.flowComment}}</text>
|
||||
</view>
|
||||
<view wx:if="{{item.files}}" style="display: inline-block;">
|
||||
<image src="/images/s_5.png"></image>凭证附件:
|
||||
<view class="in-img-div" style="width: 66%;float: right;">
|
||||
<block wx:for="{{format.split(item.files,',')}}" wx:for-item="fit" wx:key="idx" wx:for-index="fitIdx">
|
||||
<image class="inImage" bindtap='showImg' data-set="{{item.files}}" data-index="{{fitIdx}}" src="{{request+fit+'.min.jpg'}}"></image>
|
||||
</block>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</van-collapse-item>
|
||||
</van-collapse>
|
||||
</view>
|
||||
<view class="module_title module_title_padding">
|
||||
<view>{{infoData.projectName}}</view>
|
||||
</view>
|
||||
<view class="inspect_overview_list_max">
|
||||
<view class="inspect_overview_list">
|
||||
<van-row>
|
||||
<van-col span="6"><text class="color_blue">总包单位</text></van-col>
|
||||
<van-col span="18" class="color_blue">{{infoData.deptName}}</van-col>
|
||||
</van-row>
|
||||
</view>
|
||||
<view class="inspect_overview_list">
|
||||
<van-row>
|
||||
<van-col span="6"><text class="color_orange">分包单位</text></van-col>
|
||||
<van-col span="18" class="color_orange">{{infoData.subDeptName}}</van-col>
|
||||
</van-row>
|
||||
</view>
|
||||
<view class="inspect_overview_list">
|
||||
<van-row>
|
||||
<van-col span="6"><text class="color_purple">投诉劳工</text></van-col>
|
||||
<van-col span="18">{{infoData.laborName}}</van-col>
|
||||
</van-row>
|
||||
</view>
|
||||
<view class="inspect_overview_list">
|
||||
<van-row>
|
||||
<van-col span="6"><text class="color_purple">联系电话</text></van-col>
|
||||
<van-col span="18">{{infoData.laborPhone}}</van-col>
|
||||
</van-row>
|
||||
</view>
|
||||
<view class="inspect_overview_list">
|
||||
<van-row>
|
||||
<van-col span="6"><text class="color_purple">身份证号</text></van-col>
|
||||
<van-col span="18">{{infoData.laborCardId}}
|
||||
</van-col>
|
||||
</van-row>
|
||||
</view>
|
||||
<view class="inspect_overview_list">
|
||||
<van-row>
|
||||
<van-col span="6"><text class="color_purple">欠薪人数</text></van-col>
|
||||
<van-col span="18">{{infoData.laborNumber}} <text class="code_label_green">人</text></van-col>
|
||||
</van-row>
|
||||
</view>
|
||||
<view class="inspect_overview_list">
|
||||
<van-row>
|
||||
<van-col span="6"><text class="color_purple">欠薪金额</text></van-col>
|
||||
<van-col span="18">{{infoData.laborAmount}} <text class="code_label_green">元</text></van-col>
|
||||
</van-row>
|
||||
</view>
|
||||
<view class="inspect_overview_list">
|
||||
<van-row>
|
||||
<van-col span="6"><text class="color_purple">原因说明</text></van-col>
|
||||
<van-col span="18">{{infoData.laborReason}}</van-col>
|
||||
</van-row>
|
||||
</view>
|
||||
<view class="inspect_overview_list">
|
||||
<van-row>
|
||||
<van-col span="6"><text class="color_purple">凭证附件</text></van-col>
|
||||
<van-col span="18">
|
||||
<view class="in-img-div" wx:if="{{infoData.files}}" wx:for="{{format.split(infoData.files,',')}}" wx:key="index">
|
||||
<image bindtap='showImg' data-set="{{infoData.files}}" data-index="{{index}}" src="{{request+item+'.min.jpg'}}"></image>
|
||||
</view>
|
||||
</van-col>
|
||||
</van-row>
|
||||
</view>
|
||||
<view class="inspect_overview_list">
|
||||
<van-row>
|
||||
<van-col span="6"><text class="color_purple">投诉时间</text></van-col>
|
||||
<van-col span="18">{{infoData.createTime}}</van-col>
|
||||
</van-row>
|
||||
</view>
|
||||
<view class="inspect_overview_list">
|
||||
<van-row>
|
||||
<van-col span="6"><text class="color_purple">投诉进度</text></van-col>
|
||||
<van-col span="18">
|
||||
<text wx:if="{{infoData.approveStatus=='100'}}" class="code_label_2 code_label_green" style="padding: 5rpx 50rpx;font-size: 25rpx;">审批完成</text>
|
||||
<text wx:if="{{infoData.approveStatus=='10'}}" class="code_label_2 code_label_blueviolet" style="padding: 5rpx 50rpx;font-size: 25rpx;">待项目经理审批</text>
|
||||
<text wx:if="{{infoData.approveStatus=='20'}}" class="code_label_2 code_label_blueviolet" style="padding: 5rpx 50rpx;font-size: 25rpx;">待甲方代表审批</text>
|
||||
<text wx:if="{{infoData.approveStatus=='30'}}" class="code_label_2 code_label_blueviolet" style="padding: 5rpx 50rpx;font-size: 25rpx;">待集团公司审批</text>
|
||||
<text wx:if="{{infoData.approveStatus=='11'}}" class="code_label_2 code_label_red" style="padding: 5rpx 50rpx;font-size: 25rpx;">项目经理审批驳回</text>
|
||||
<text wx:if="{{infoData.approveStatus=='21'}}" class="code_label_2 code_label_red" style="padding: 5rpx 50rpx;font-size: 25rpx;">甲方代表审批驳回</text>
|
||||
<text wx:if="{{infoData.approveStatus=='31'}}" class="code_label_2 code_label_red" style="padding: 5rpx 50rpx;font-size: 25rpx;">集团公司审批驳回</text>
|
||||
</van-col>
|
||||
</van-row>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="inspect_overview" wx:if="{{infoData.approveStatus!='100'}}">
|
||||
<view class="safety_inspect_title module_title_flex module_title_padding">
|
||||
<view>劳资投诉处理结果</view>
|
||||
</view>
|
||||
<view class="inspect_info">
|
||||
<view class="inspect_info_list" >
|
||||
<view class="inspect_info_title">处理意见 <text style="color: #fd6060;">[必填项]</text></view>
|
||||
<view class="inspect_info_content">
|
||||
<textarea class="add_textarea" placeholder="请填写处理意见(600字内)"
|
||||
placeholder-style="color:#6777aa;" bindinput="onInputFlowComment" maxlength="600"/>
|
||||
</view>
|
||||
</view>
|
||||
<view class="inspect_info_list">
|
||||
<view class="inspect_info_title" style="padding: 20rpx 0 20rpx;">凭证附件 <text style="color: #CCC;">[非必填]</text></view>
|
||||
<view class="problem_list_info_con">
|
||||
<file-uploader bindimages="onImagesArr" limit="{{9}}"></file-uploader>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="problem_submit_to">
|
||||
<view class="problem_submit_to_btn" bindtap="returnToPage">取消</view>
|
||||
<view class="problem_submit_to_btn problem_submit_to_delete" bindtap="onSubmitReject" wx:if="{{infoData.approveStatus!='10' && infoData.approveStatus!='21'}}">审批驳回</view>
|
||||
<view class="problem_submit_to_btn problem_submit_to_save" bindtap="onSubmitPass" wx:if="{{infoData.approveStatus!='10' && infoData.approveStatus!='21'}}">审批通过</view>
|
||||
<view class="problem_submit_to_btn problem_submit_to_save" bindtap="onSubmitSave" wx:if="{{infoData.approveStatus=='10' || infoData.approveStatus=='21'}}">提交处理结果</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
|
@ -0,0 +1,81 @@
|
|||
/* pageage/project_checking/info/index.wxss */
|
||||
.in-img-max:after{
|
||||
display:block;
|
||||
clear:both;
|
||||
content:"";
|
||||
visibility:hidden;
|
||||
height:0
|
||||
}
|
||||
.in-img-max{
|
||||
width: auto;
|
||||
zoom:1
|
||||
}
|
||||
.in-img-div{
|
||||
position: relative;
|
||||
margin: 0 8px 0 0;
|
||||
float: left;
|
||||
}
|
||||
.in-img-div image{
|
||||
width: 180rpx;
|
||||
height: 180rpx;
|
||||
border-radius: 15rpx;
|
||||
position: relative;
|
||||
}
|
||||
.van-collapse.van-hairline--top-bottom:after{
|
||||
border-width: 0px 0;
|
||||
}
|
||||
.van-cell.van-cell--borderless{
|
||||
background-color: #2b345b;
|
||||
color: #fff;
|
||||
margin-top: 30rpx;
|
||||
border-radius: 5rpx;
|
||||
}
|
||||
.van-cell.van-cell--borderless:active{
|
||||
background-color: #2b345b;
|
||||
}
|
||||
.van-collapse-item__title.van-collapse-item__title--expanded:active{
|
||||
background-color: #2b345b;
|
||||
}
|
||||
.van-collapse-item .van-cell:after{
|
||||
border-bottom: 0;
|
||||
}
|
||||
.van-collapse-item.van-hairline--top:after{
|
||||
border-top-width:0
|
||||
}
|
||||
.van-cell.van-cell--clickable{
|
||||
background-color: #2b345b;
|
||||
margin-top: 5rpx;
|
||||
margin-bottom: 5rpx;
|
||||
color: #fff;
|
||||
border-radius: 15rpx;
|
||||
|
||||
}
|
||||
.van-cell.van-cell--clickable:active{
|
||||
background-color: #2b345b;
|
||||
}
|
||||
.van-collapse-item__wrapper .van-collapse-item__content{
|
||||
background-color: #1e2336;
|
||||
color:#8ca4ec ;
|
||||
border-width: 0px 0;
|
||||
}
|
||||
.gk_open_con view{
|
||||
padding: 10rpx 0;
|
||||
width: 100%;
|
||||
}
|
||||
.gk_open_con image{
|
||||
width: 30rpx;
|
||||
height: 30rpx;
|
||||
margin-right: 5rpx;
|
||||
position: relative;
|
||||
top: 5rpx;
|
||||
}
|
||||
.gk_open_con .in-img-div image{
|
||||
width: 120rpx !important;
|
||||
height: 120rpx !important;
|
||||
margin-right: 15rpx;
|
||||
position: relative;
|
||||
top: 5rpx;
|
||||
}
|
||||
.problem_submit_to view {
|
||||
margin-right: 20rpx;
|
||||
}
|
|
@ -0,0 +1,168 @@
|
|||
import config from '../../../config'
|
||||
|
||||
import {
|
||||
getInfo,
|
||||
findMyFlowLabourNodes
|
||||
} from "../../../api/flowLabour"
|
||||
const app = getApp()
|
||||
Page({
|
||||
/**
|
||||
* 页面的初始数据
|
||||
*/
|
||||
data: {
|
||||
id: "",
|
||||
infoData: {
|
||||
files: ""
|
||||
},
|
||||
activeName: "",
|
||||
flowRecordList: [],
|
||||
request: app.globalData.reqUrl,
|
||||
flowNodes: [{
|
||||
text: '提交投诉'
|
||||
}, {
|
||||
text: '项目经理'
|
||||
}, {
|
||||
text: '甲方代表'
|
||||
}, {
|
||||
text: '集团公司'
|
||||
}],
|
||||
active: 100,
|
||||
rejectNode:0,
|
||||
},
|
||||
|
||||
/**
|
||||
* 生命周期函数--监听页面加载
|
||||
*/
|
||||
onLoad(options) {
|
||||
let {
|
||||
id
|
||||
} = options
|
||||
this.setData({
|
||||
id
|
||||
})
|
||||
this.getInfo();
|
||||
this.getAuditinfo();
|
||||
},
|
||||
|
||||
/**
|
||||
* 获取劳资投诉详情信息
|
||||
*
|
||||
*/
|
||||
getInfo() {
|
||||
getInfo(this.data.id).then(res => {
|
||||
if (res.code == 200) {
|
||||
let active = this.data.active;
|
||||
let rejectNode = this.data.rejectNode;
|
||||
if(res.data.approveStatus=="10" || res.data.approveStatus=="21"){
|
||||
active = 1;
|
||||
if(res.data.approveStatus=="21"){
|
||||
rejectNode = active+1;
|
||||
}
|
||||
}else if(res.data.approveStatus=="20" || res.data.approveStatus=="31"){
|
||||
active = 2;
|
||||
if(res.data.approveStatus=="31"){
|
||||
rejectNode = active+1;
|
||||
}
|
||||
}else if(res.data.approveStatus=="30"){
|
||||
active = 3;
|
||||
}
|
||||
this.setData({
|
||||
active,
|
||||
rejectNode,
|
||||
infoData: res.data
|
||||
})
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
/**
|
||||
* 查询流程日志
|
||||
*/
|
||||
getAuditinfo() {
|
||||
findMyFlowLabourNodes(this.data.id).then(res => {
|
||||
if (res.code == 200) {
|
||||
this.setData({
|
||||
flowRecordList: res.data
|
||||
})
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
// 手风琴
|
||||
onChange(event) {
|
||||
this.setData({
|
||||
activeName: event.detail,
|
||||
});
|
||||
},
|
||||
|
||||
//展示图片
|
||||
showImg: function (e) {
|
||||
let paths = e.target.dataset.set;
|
||||
let path = [];
|
||||
paths.split(',').forEach(url => {
|
||||
path.push(config.baseUrl+url);
|
||||
});
|
||||
console.log(paths,"xx1");
|
||||
console.log(path);
|
||||
wx.previewImage({
|
||||
urls: path,
|
||||
current: path[e.currentTarget.dataset.index]
|
||||
})
|
||||
},
|
||||
|
||||
returnToPage: function () {
|
||||
/*关闭当前页面,跳转到应用内的某个页面。但是不允许跳转到 tabbar 页面*/
|
||||
wx.redirectTo({
|
||||
url: '../list/index',
|
||||
})
|
||||
},
|
||||
|
||||
/**
|
||||
* 生命周期函数--监听页面初次渲染完成
|
||||
*/
|
||||
onReady() {
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* 生命周期函数--监听页面显示
|
||||
*/
|
||||
onShow() {
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* 生命周期函数--监听页面隐藏
|
||||
*/
|
||||
onHide() {
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* 生命周期函数--监听页面卸载
|
||||
*/
|
||||
onUnload() {
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* 页面相关事件处理函数--监听用户下拉动作
|
||||
*/
|
||||
onPullDownRefresh() {
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* 页面上拉触底事件的处理函数
|
||||
*/
|
||||
onReachBottom() {
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* 用户点击右上角分享
|
||||
*/
|
||||
onShareAppMessage() {
|
||||
|
||||
}
|
||||
})
|
|
@ -0,0 +1,8 @@
|
|||
{
|
||||
"usingComponents": {
|
||||
"van-steps": "@vant/weapp/steps/index",
|
||||
"van-collapse": "@vant/weapp/collapse",
|
||||
"van-collapse-item": "@vant/weapp/collapse-item"
|
||||
},
|
||||
"navigationStyle":"custom"
|
||||
}
|
|
@ -0,0 +1,148 @@
|
|||
<wxs module="format" src="/utils/format.wxs"></wxs>
|
||||
<view class="header_title">
|
||||
<view class="header_title_row">
|
||||
<van-row>
|
||||
<van-col span="4">
|
||||
<view class="header_img" bindtap="returnToPage">
|
||||
<image src="/images/left.png"></image>
|
||||
</view>
|
||||
</van-col>
|
||||
<van-col span="15">
|
||||
<view class="header_name">劳资投诉详情</view>
|
||||
</van-col>
|
||||
</van-row>
|
||||
</view>
|
||||
</view>
|
||||
<view class="max_content">
|
||||
<van-steps steps="{{ flowNodes }}" active="{{ active }}" rejectNode="{{ rejectNode }}" />
|
||||
<view class="inspect_overview_max">
|
||||
<view class="inspect_overview">
|
||||
<view class="gk_open" style="margin-top: 20rpx;border: 1px solid transparent;">
|
||||
<van-collapse value="{{activeName}}" bind:change="onChange">
|
||||
<van-collapse-item title="审批日志" name="2">
|
||||
<view class="inspect_list">
|
||||
<view class="inspect_for" wx:for="{{flowRecordList}}" wx:key="index">
|
||||
<view class="inspect_for_bgd">
|
||||
<view class="inspect_list_title">
|
||||
<view class="inspect_list_title_label inspect_list_title_width">
|
||||
<view class="inspect_list_title_number">{{(flowRecordList.length-index) < 10 ?'0'+(flowRecordList.length-index):(flowRecordList.length-index)}}</view>
|
||||
<view class="module_title module_title_flex inspect_list_title_text">
|
||||
<text wx:if="{{item.flowNode=='0'}}">{{item.createBy+'提交投诉'}}</text>
|
||||
<text wx:if="{{item.flowNode!='0'}}">{{item.flowNodeName}}</text>
|
||||
<text wx:if="{{item.flowNode=='10' || item.flowNode=='20' || item.flowNode=='30'}}" class="timeline_for_state_1 color_green">通过</text>
|
||||
<text wx:if="{{item.flowNode=='11' || item.flowNode=='21' || item.flowNode=='31'}}" class="timeline_for_state_2 color_purple">驳回</text>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="inspect_list_info gk_open_con">
|
||||
<view wx:if="{{item.createBy}}">
|
||||
<image src="/images/lw_3.png"></image>办理用户:<text>{{item.createBy}}</text>
|
||||
</view>
|
||||
<view>
|
||||
<image src="/images/s_6.png"></image>办理时间:<text>{{item.createTime}}</text>
|
||||
</view>
|
||||
<view wx:if="{{item.flowComment}}">
|
||||
<image src="/images/s_7.png"></image>处理意见:<text>{{item.flowComment}}</text>
|
||||
</view>
|
||||
<view wx:if="{{item.files}}" style="display: inline-block;">
|
||||
<image src="/images/s_5.png"></image>凭证附件:
|
||||
<view class="in-img-div" style="width: 66%;float: right;">
|
||||
<block wx:for="{{format.split(item.files,',')}}" wx:for-item="fit" wx:key="idx" wx:for-index="fitIdx">
|
||||
<image class="inImage" bindtap='showImg' data-set="{{item.files}}" data-index="{{fitIdx}}" src="{{request+fit+'.min.jpg'}}"></image>
|
||||
</block>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</van-collapse-item>
|
||||
</van-collapse>
|
||||
</view>
|
||||
<view class="module_title module_title_padding">
|
||||
<view>{{infoData.projectName}}</view>
|
||||
</view>
|
||||
<view class="inspect_overview_list_max">
|
||||
<view class="inspect_overview_list">
|
||||
<van-row>
|
||||
<van-col span="6"><text class="color_blue">总包单位</text></van-col>
|
||||
<van-col span="18" class="color_blue">{{infoData.deptName}}</van-col>
|
||||
</van-row>
|
||||
</view>
|
||||
<view class="inspect_overview_list">
|
||||
<van-row>
|
||||
<van-col span="6"><text class="color_orange">分包单位</text></van-col>
|
||||
<van-col span="18" class="color_orange">{{infoData.subDeptName}}</van-col>
|
||||
</van-row>
|
||||
</view>
|
||||
<view class="inspect_overview_list">
|
||||
<van-row>
|
||||
<van-col span="6"><text class="color_purple">投诉劳工</text></van-col>
|
||||
<van-col span="18">{{infoData.laborName}}</van-col>
|
||||
</van-row>
|
||||
</view>
|
||||
<view class="inspect_overview_list">
|
||||
<van-row>
|
||||
<van-col span="6"><text class="color_purple">联系电话</text></van-col>
|
||||
<van-col span="18">{{infoData.laborPhone}}</van-col>
|
||||
</van-row>
|
||||
</view>
|
||||
<view class="inspect_overview_list">
|
||||
<van-row>
|
||||
<van-col span="6"><text class="color_purple">身份证号</text></van-col>
|
||||
<van-col span="18">{{infoData.laborCardId}}
|
||||
</van-col>
|
||||
</van-row>
|
||||
</view>
|
||||
<view class="inspect_overview_list">
|
||||
<van-row>
|
||||
<van-col span="6"><text class="color_purple">欠薪人数</text></van-col>
|
||||
<van-col span="18">{{infoData.laborNumber}} <text class="code_label_green">人</text></van-col>
|
||||
</van-row>
|
||||
</view>
|
||||
<view class="inspect_overview_list">
|
||||
<van-row>
|
||||
<van-col span="6"><text class="color_purple">欠薪金额</text></van-col>
|
||||
<van-col span="18">{{infoData.laborAmount}} <text class="code_label_green">元</text></van-col>
|
||||
</van-row>
|
||||
</view>
|
||||
<view class="inspect_overview_list">
|
||||
<van-row>
|
||||
<van-col span="6"><text class="color_purple">原因说明</text></van-col>
|
||||
<van-col span="18">{{infoData.laborReason}}</van-col>
|
||||
</van-row>
|
||||
</view>
|
||||
<view class="inspect_overview_list">
|
||||
<van-row>
|
||||
<van-col span="6"><text class="color_purple">凭证附件</text></van-col>
|
||||
<van-col span="18">
|
||||
<view class="in-img-div" wx:if="{{infoData.files}}" wx:for="{{format.split(infoData.files,',')}}" wx:key="index">
|
||||
<image bindtap='showImg' data-set="{{infoData.files}}" data-index="{{index}}" src="{{request+item+'.min.jpg'}}"></image>
|
||||
</view>
|
||||
</van-col>
|
||||
</van-row>
|
||||
</view>
|
||||
<view class="inspect_overview_list">
|
||||
<van-row>
|
||||
<van-col span="6"><text class="color_purple">投诉时间</text></van-col>
|
||||
<van-col span="18">{{infoData.createTime}}</van-col>
|
||||
</van-row>
|
||||
</view>
|
||||
<view class="inspect_overview_list">
|
||||
<van-row>
|
||||
<van-col span="6"><text class="color_purple">投诉进度</text></van-col>
|
||||
<van-col span="18">
|
||||
<text wx:if="{{infoData.approveStatus=='100'}}" class="code_label_2 code_label_green" style="padding: 5rpx 50rpx;font-size: 25rpx;">审批完成</text>
|
||||
<text wx:if="{{infoData.approveStatus=='10'}}" class="code_label_2 code_label_blueviolet" style="padding: 5rpx 50rpx;font-size: 25rpx;">待项目经理审批</text>
|
||||
<text wx:if="{{infoData.approveStatus=='20'}}" class="code_label_2 code_label_blueviolet" style="padding: 5rpx 50rpx;font-size: 25rpx;">待甲方代表审批</text>
|
||||
<text wx:if="{{infoData.approveStatus=='30'}}" class="code_label_2 code_label_blueviolet" style="padding: 5rpx 50rpx;font-size: 25rpx;">待集团公司审批</text>
|
||||
<text wx:if="{{infoData.approveStatus=='11'}}" class="code_label_2 code_label_red" style="padding: 5rpx 50rpx;font-size: 25rpx;">项目经理审批驳回</text>
|
||||
<text wx:if="{{infoData.approveStatus=='21'}}" class="code_label_2 code_label_red" style="padding: 5rpx 50rpx;font-size: 25rpx;">甲方代表审批驳回</text>
|
||||
<text wx:if="{{infoData.approveStatus=='31'}}" class="code_label_2 code_label_red" style="padding: 5rpx 50rpx;font-size: 25rpx;">集团公司审批驳回</text>
|
||||
</van-col>
|
||||
</van-row>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
|
@ -0,0 +1,78 @@
|
|||
/* pageage/project_checking/info/index.wxss */
|
||||
.in-img-max:after{
|
||||
display:block;
|
||||
clear:both;
|
||||
content:"";
|
||||
visibility:hidden;
|
||||
height:0
|
||||
}
|
||||
.in-img-max{
|
||||
width: auto;
|
||||
zoom:1
|
||||
}
|
||||
.in-img-div{
|
||||
position: relative;
|
||||
margin: 0 8px 0 0;
|
||||
float: left;
|
||||
}
|
||||
.in-img-div image{
|
||||
width: 180rpx;
|
||||
height: 180rpx;
|
||||
border-radius: 15rpx;
|
||||
position: relative;
|
||||
}
|
||||
.van-collapse.van-hairline--top-bottom:after{
|
||||
border-width: 0px 0;
|
||||
}
|
||||
.van-cell.van-cell--borderless{
|
||||
background-color: #2b345b;
|
||||
color: #fff;
|
||||
margin-top: 30rpx;
|
||||
border-radius: 5rpx;
|
||||
}
|
||||
.van-cell.van-cell--borderless:active{
|
||||
background-color: #2b345b;
|
||||
}
|
||||
.van-collapse-item__title.van-collapse-item__title--expanded:active{
|
||||
background-color: #2b345b;
|
||||
}
|
||||
.van-collapse-item .van-cell:after{
|
||||
border-bottom: 0;
|
||||
}
|
||||
.van-collapse-item.van-hairline--top:after{
|
||||
border-top-width:0
|
||||
}
|
||||
.van-cell.van-cell--clickable{
|
||||
background-color: #2b345b;
|
||||
margin-top: 5rpx;
|
||||
margin-bottom: 5rpx;
|
||||
color: #fff;
|
||||
border-radius: 15rpx;
|
||||
|
||||
}
|
||||
.van-cell.van-cell--clickable:active{
|
||||
background-color: #2b345b;
|
||||
}
|
||||
.van-collapse-item__wrapper .van-collapse-item__content{
|
||||
background-color: #1e2336;
|
||||
color:#8ca4ec ;
|
||||
border-width: 0px 0;
|
||||
}
|
||||
.gk_open_con view{
|
||||
padding: 10rpx 0;
|
||||
width: 100%;
|
||||
}
|
||||
.gk_open_con image{
|
||||
width: 30rpx;
|
||||
height: 30rpx;
|
||||
margin-right: 5rpx;
|
||||
position: relative;
|
||||
top: 5rpx;
|
||||
}
|
||||
.gk_open_con .in-img-div image{
|
||||
width: 120rpx !important;
|
||||
height: 120rpx !important;
|
||||
margin-right: 15rpx;
|
||||
position: relative;
|
||||
top: 5rpx;
|
||||
}
|
|
@ -0,0 +1,318 @@
|
|||
import {list,findGroupCountByApprove} from "../../../api/flowLabour"
|
||||
const app = getApp()
|
||||
Page({
|
||||
|
||||
/**
|
||||
* 页面的初始数据
|
||||
*/
|
||||
data: {
|
||||
userId:"",
|
||||
deptId: "",
|
||||
loginName: "",
|
||||
projectId: "",
|
||||
minRoleId: "",
|
||||
initData: {},
|
||||
show: false,
|
||||
listData: [],
|
||||
activeState: "jxz",
|
||||
jxzCount: 0,
|
||||
ywcCount: 0,
|
||||
pageNum: 1,
|
||||
pageSize: 10,
|
||||
lastDataSize: 10,
|
||||
list: []
|
||||
},
|
||||
|
||||
getInfo(e) {
|
||||
let {
|
||||
id,
|
||||
approveStatus
|
||||
} = e.currentTarget.dataset.set
|
||||
if (approveStatus == "100") {
|
||||
wx.redirectTo({
|
||||
url: `../info/index?id=${id}`,
|
||||
})
|
||||
} else {
|
||||
if(this.data.minRoleId=='2' || this.data.minRoleId=='3'){
|
||||
//超管可直接进入审批页面
|
||||
wx.redirectTo({
|
||||
url: `../check/index?id=${id}`,
|
||||
})
|
||||
}else if(this.data.minRoleId=='4' (approveStatus == '20' || approveStatus == '31')){
|
||||
wx.redirectTo({
|
||||
url: `../check/index?id=${id}`,
|
||||
})
|
||||
}else if(this.data.minRoleId=='4' (approveStatus == '10' || approveStatus == '21')){
|
||||
wx.redirectTo({
|
||||
url: `../info/index?id=${id}`,
|
||||
})
|
||||
}else if(this.data.minRoleId!='4' (approveStatus == '10' || approveStatus == '21')){
|
||||
wx.redirectTo({
|
||||
url: `../check/index?id=${id}`,
|
||||
})
|
||||
}else if(this.data.minRoleId!='4' (approveStatus == '20' || approveStatus == '31')){
|
||||
wx.redirectTo({
|
||||
url: `../info/index?id=${id}`,
|
||||
})
|
||||
}else{
|
||||
wx.redirectTo({
|
||||
url: `../info/index?id=${id}`,
|
||||
})
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
/**
|
||||
* 生命周期函数--监听页面加载
|
||||
*/
|
||||
onLoad(options) {
|
||||
if (options && options.barProId) {
|
||||
//数据未加载完毕,从文件读取数据
|
||||
if (app.globalData.projectInfoList.length == 0) {
|
||||
wx.getStorage({
|
||||
key: 'projectInfoList',
|
||||
success: res => {
|
||||
app.globalData.projectInfoList = res.data;
|
||||
app.globalData.projectInfoList.forEach(item => {
|
||||
if (item.projectId == options.barProId) {
|
||||
app.globalData.projectId = item.projectId;
|
||||
app.globalData.projectName = item.projectName;
|
||||
}
|
||||
});
|
||||
//未查询到项目信息
|
||||
if (!app.globalData.projectId) {
|
||||
app.globalData.projectInfoList.push({
|
||||
projectId: options.barProId,
|
||||
projectId: options.barProName
|
||||
});
|
||||
app.globalData.projectId = options.barProId;
|
||||
app.globalData.projectName = options.barProName;
|
||||
}
|
||||
//从缓存读取项目信息
|
||||
this.setData({
|
||||
initData: {
|
||||
text: app.globalData.projectName,
|
||||
id: app.globalData.projectId
|
||||
}
|
||||
})
|
||||
},
|
||||
fail: err => {
|
||||
//未获取用户信息时,重新登录
|
||||
wx.redirectTo({
|
||||
url: '../pages/login/index',
|
||||
})
|
||||
}
|
||||
})
|
||||
} else {
|
||||
app.globalData.projectInfoList.forEach(item => {
|
||||
if (item.projectId == options.barProId) {
|
||||
app.globalData.projectId = item.projectId;
|
||||
app.globalData.projectName = item.projectName;
|
||||
}
|
||||
});
|
||||
//未查询到项目信息
|
||||
if (!app.globalData.projectId) {
|
||||
app.globalData.projectInfoList.push({
|
||||
projectId: options.barProId,
|
||||
projectId: options.barProName
|
||||
});
|
||||
app.globalData.projectId = options.barProId;
|
||||
app.globalData.projectName = options.barProName;
|
||||
}
|
||||
//从缓存读取项目信息
|
||||
this.setData({
|
||||
initData: {
|
||||
text: app.globalData.projectName,
|
||||
id: app.globalData.projectId
|
||||
}
|
||||
})
|
||||
}
|
||||
} else {
|
||||
//从缓存读取项目信息
|
||||
this.setData({
|
||||
initData: {
|
||||
text: app.globalData.projectName,
|
||||
id: app.globalData.projectId
|
||||
}
|
||||
})
|
||||
}
|
||||
//获取缓存数据
|
||||
wx.getStorage({
|
||||
key: 'userinfo',
|
||||
success: res => {
|
||||
this.setData({
|
||||
deptId: res.data.deptId,
|
||||
userId: res.data.userId,
|
||||
loginName: res.data.loginName,
|
||||
projectId: app.globalData.projectId,
|
||||
minRoleId: res.data.minRoleId,
|
||||
pageNum: 1,
|
||||
pageSize: 10,
|
||||
lastDataSize: 10,
|
||||
listData: []
|
||||
})
|
||||
this.getListData();
|
||||
},
|
||||
fail: err => {
|
||||
//未获取用户信息时,重新登录
|
||||
wx.redirectTo({
|
||||
url: '../pages/login/index',
|
||||
})
|
||||
}
|
||||
})
|
||||
},
|
||||
|
||||
/**
|
||||
* 查询项目材料进场验收数据
|
||||
*/
|
||||
getListData() {
|
||||
//进入这里说明数据加载完毕
|
||||
if (this.data.lastDataSize < this.data.pageSize) {
|
||||
//app.toast("已经到底了,暂无可继续加载数据!")
|
||||
return;
|
||||
}
|
||||
var that = this;
|
||||
//判断角色,
|
||||
let mr = this.data.minRoleId;
|
||||
let deptId = this.data.deptId;
|
||||
if (mr == 2 || mr == 3 || mr == 4) {
|
||||
deptId = 0;
|
||||
}
|
||||
let param = {
|
||||
"projectId": this.data.projectId,
|
||||
"deptId": deptId,
|
||||
"nowDept": deptId,
|
||||
"nowRole": mr,
|
||||
"nowUser": this.data.loginName,
|
||||
"activeName": that.data.activeState
|
||||
}
|
||||
this.queryCount(param);
|
||||
param.pageNum = that.data.pageNum;
|
||||
param.pageSize = that.data.pageSize;
|
||||
list(param).then(res =>{
|
||||
if (res.code == "200") {
|
||||
//这里处理this.data.lastDataSize=this.data.pageSize
|
||||
if (that.data.list.length > 0 && res.rows.length > 0 && that.data.list[0].id == res.rows[0].id) {
|
||||
that.setData({
|
||||
lastDataSize: 0,
|
||||
})
|
||||
} else {
|
||||
that.setData({
|
||||
pageNum: that.data.pageNum + 1,
|
||||
lastDataSize: res.rows.length,
|
||||
list: res.rows,
|
||||
listData: that.data.listData.concat(res.rows)
|
||||
})
|
||||
}
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
/**
|
||||
* 加载更多数据
|
||||
*/
|
||||
onScrollToLower() {
|
||||
console.log("滚动条到底了,开始加载新数据");
|
||||
this.getListData();
|
||||
},
|
||||
|
||||
//查询统计
|
||||
queryCount(param) {
|
||||
//查询统计数量
|
||||
findGroupCountByApprove(param).then(res =>{
|
||||
if(res.code==200){
|
||||
this.setData({
|
||||
jxzCount: res.data.db,
|
||||
ywcCount: res.data.yb
|
||||
});
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
/**
|
||||
* 标签切换
|
||||
*/
|
||||
typeJump(e) {
|
||||
let index = e.currentTarget.dataset.index;
|
||||
let nav = "";
|
||||
if (index == 1) {
|
||||
nav = 'jxz';
|
||||
} else if (index == 2) {
|
||||
nav = 'ywc';
|
||||
}
|
||||
this.setData({
|
||||
activeState: nav,
|
||||
pageNum: 1,
|
||||
pageSize: 10,
|
||||
lastDataSize: 10,
|
||||
listData: [],
|
||||
list: []
|
||||
});
|
||||
this.getListData();
|
||||
},
|
||||
|
||||
/**
|
||||
* 生命周期函数--监听页面初次渲染完成
|
||||
*/
|
||||
onReady() {
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* 生命周期函数--监听页面显示
|
||||
*/
|
||||
onShow() {
|
||||
|
||||
},
|
||||
|
||||
returnToPage: function () {
|
||||
/*关闭当前页面,跳转到应用内的某个页面。但是不允许跳转到 tabbar 页面*/
|
||||
wx.redirectTo({
|
||||
url: '../../../pages/gengduogongneng/index',
|
||||
})
|
||||
},
|
||||
|
||||
//项目切换 返回值
|
||||
onProjectSelect(e) {
|
||||
let projectId = e.detail.id;
|
||||
let projectName = e.detail.text;
|
||||
app.globalData.projectId = projectId;
|
||||
app.globalData.projectName = projectName;
|
||||
this.onLoad();
|
||||
},
|
||||
|
||||
/**
|
||||
* 生命周期函数--监听页面隐藏
|
||||
*/
|
||||
onHide() {
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* 生命周期函数--监听页面卸载
|
||||
*/
|
||||
onUnload() {
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* 页面相关事件处理函数--监听用户下拉动作
|
||||
*/
|
||||
onPullDownRefresh() {
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* 页面上拉触底事件的处理函数
|
||||
*/
|
||||
onReachBottom() {
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* 用户点击右上角分享
|
||||
*/
|
||||
onShareAppMessage() {
|
||||
|
||||
}
|
||||
})
|
|
@ -0,0 +1,8 @@
|
|||
{
|
||||
"usingComponents": {
|
||||
"van-overlay": "@vant/weapp/overlay/index" ,
|
||||
"van-popup": "@vant/weapp/popup/index"
|
||||
},
|
||||
"navigationStyle":"custom",
|
||||
"navigationBarTitleText": "劳资预警审批"
|
||||
}
|
|
@ -0,0 +1,59 @@
|
|||
<wxs module="format" src="/utils/format.wxs"></wxs>
|
||||
<view class="header_title">
|
||||
<view class="header_title_row">
|
||||
<van-row>
|
||||
<van-col span="4">
|
||||
<view class="header_img" bindtap="returnToPage">
|
||||
<image src="/images/left.png"></image>
|
||||
</view>
|
||||
</van-col>
|
||||
<van-col span="15">
|
||||
<view class="header_name">劳资投诉审批</view>
|
||||
</van-col>
|
||||
</van-row>
|
||||
</view>
|
||||
</view>
|
||||
<scroll-view class="max_content_scroll" type="list" scroll-y bindscrolltolower="onScrollToLower">
|
||||
<project-select init="{{initData}}" bindchange="onProjectSelect"></project-select>
|
||||
<view class="modify_video_nav" style="margin-top: 5rpx;">
|
||||
<view class="{{activeState=='jxz'?'active':''}}" bindtap="typeJump" data-index="1"><text>进行中({{jxzCount}})</text></view>
|
||||
<view class="{{activeState=='ywc'?'active':''}}" bindtap="typeJump" data-index="2"><text>已完成({{ywcCount}})</text></view>
|
||||
</view>
|
||||
<view class="inspect_max_scroll">
|
||||
<view class="inspect_for_scroll" v-if="{{ listData.length>0 }}" wx:for="{{listData}}" wx:key="index" data-set="{{item}}" bindtap="getInfo">
|
||||
<view class="inspect_for_bgd">
|
||||
<view class="inspect_list_title">
|
||||
<view class="inspect_list_title_label inspect_list_title_width">
|
||||
<view class="inspect_list_title_number">{{index < 9 ?'0'+(index+1):(index+1)}}</view>
|
||||
<view class="module_title module_title_flex inspect_list_title_text_3">投诉时间:{{format.parseDate(item.createTime)}}</view>
|
||||
<view wx:if="{{item.approveStatus=='10'}}" class="code_label_4 code_label_blueviolet">待项目经理审批</view>
|
||||
<view wx:if="{{item.approveStatus=='21'}}" class="code_label_4 code_label_red">甲方代表审批驳回</view>
|
||||
<view wx:if="{{item.approveStatus=='20'}}" class="code_label_4 code_label_blueviolet">待甲方代表审批</view>
|
||||
<view wx:if="{{item.approveStatus=='31'}}" class="code_label_4 code_label_red">集团公司审批驳回</view>
|
||||
<view wx:if="{{item.approveStatus=='30'}}" class="code_label_4 code_label_blueviolet">待集团公司审批</view>
|
||||
<view wx:if="{{item.approveStatus=='100'}}" class="code_label_4 code_label_green">审批完成</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="inspect_list_info">
|
||||
<view class="inspect_list_info_details">
|
||||
<view class="inspect_list_info_data_2">
|
||||
<view class="inspect_list_info_data_prop color_blue">项目名称:<text>{{item.projectName}}</text></view>
|
||||
<view class="inspect_list_info_data_prop">总包单位:<text>{{item.deptName}}</text></view>
|
||||
<view class="inspect_list_info_data_prop">分包单位:<text>{{item.subDeptName}}</text></view>
|
||||
<view class="inspect_list_info_data_prop">投诉劳工:<text>{{item.laborName}}</text></view>
|
||||
<view class="inspect_list_info_data_prop">欠薪人数:<text>{{item.laborNumber}} <text class="code_label_green">人</text></text></view>
|
||||
<view class="inspect_list_info_data_prop">欠薪金额:<text>{{item.laborAmount}} <text class="code_label_green">元</text></text></view>
|
||||
<view class="inspect_list_info_position">原因说明:<text class="color_purple">{{item.laborReason}}</text></view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view wx:if="{{listData.length==0}}">
|
||||
<view style="padding-top: 70px;text-align: -webkit-center;">
|
||||
<image src="https://szgcwx.jhncidg.com/staticFiles/nodata.png" style="width: 130px;height: 105px;"></image>
|
||||
<view style="color: #a5abbb;">暂无数据</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</scroll-view>
|
|
@ -0,0 +1 @@
|
|||
/* pageage/flow_labour/list/index.wxss */
|
|
@ -2,8 +2,10 @@ import {
|
|||
removeToken
|
||||
} from '../../../utils/auth'
|
||||
import {
|
||||
loginOut
|
||||
loginOut,
|
||||
findOpenUserMsgId
|
||||
} from '../../../api/login'
|
||||
|
||||
const app = getApp()
|
||||
Component({
|
||||
/**数据监听 */
|
||||
|
@ -49,15 +51,25 @@ Component({
|
|||
wx.getStorage({
|
||||
key: 'userinfo',
|
||||
success: function (res) {
|
||||
that.setData({
|
||||
show:true,
|
||||
userData: res.data,
|
||||
loginName: res.data.loginName,
|
||||
msgOpenId: res.data.msgOpenId || "",
|
||||
})
|
||||
findOpenUserMsgId(res.data.openId).then(vo =>{
|
||||
if(vo.code==200 && vo.data){
|
||||
res.data.msgOpenId=vo.data.msgOpenId;
|
||||
wx.setStorage({
|
||||
key: 'userinfo',
|
||||
data: res.data
|
||||
});
|
||||
that.setData({
|
||||
show:true,
|
||||
userData: res.data,
|
||||
loginName: res.data.loginName,
|
||||
msgOpenId: res.data.msgOpenId || "",
|
||||
})
|
||||
}
|
||||
});
|
||||
}
|
||||
})
|
||||
},
|
||||
|
||||
showPopup() {
|
||||
this.setData({
|
||||
show: true
|
||||
|
|
|
@ -17,6 +17,7 @@ Page({
|
|||
initData:{},
|
||||
hiddenn:true,
|
||||
todoDB:0,
|
||||
lzyjDB:0,
|
||||
approveDB:0,
|
||||
ad:0,
|
||||
td:0,
|
||||
|
@ -183,6 +184,7 @@ Page({
|
|||
if(res.code=="200"){
|
||||
that.setData({
|
||||
todoDB:res.data.todo,
|
||||
lzyjDB:res.data.approveLZYJ,
|
||||
td:res.data.todo,
|
||||
ad:res.data.approve+res.data.zlCount,
|
||||
aq:res.data.aqCount,
|
||||
|
|
|
@ -60,6 +60,7 @@
|
|||
<van-col span="8" wx:for="{{menuList}}" wx:key="unique">
|
||||
<view class="gd_min" data-id="{{item.menu_identi}}" data-url="{{item.menu_url}}" bindtap="goMenu">
|
||||
<span class="tabNum_active" wx:if="{{item.menu_identi=='GCSQGL' && todoDB>0}}">{{todoDB}}</span>
|
||||
<span class="tabNum_active" wx:if="{{item.menu_identi=='LZTSSP' && lzyjDB>0}}">{{lzyjDB}}</span>
|
||||
<image src="{{item.menu_img}}"></image>
|
||||
<view>{{item.menu_name}}</view>
|
||||
</view>
|
||||
|
|
|
@ -479,7 +479,7 @@ Page({
|
|||
res = res.data;
|
||||
if (res.code == "200") {
|
||||
that.setData({
|
||||
todoDb: res.data.todo,
|
||||
todoDb: res.data.todo+res.data.approveLZYJ,
|
||||
approveDb: res.data.approve + res.data.zlCount,
|
||||
aq: res.data.aqCount,
|
||||
zl: res.data.zlCount,
|
||||
|
|
|
@ -554,7 +554,7 @@ Page({
|
|||
res = res.data;
|
||||
if (res.code == "200") {
|
||||
that.setData({
|
||||
todoDb: res.data.todo,
|
||||
todoDb: res.data.todo+res.data.approveLZYJ,
|
||||
approveDb: res.data.approve + res.data.zlCount,
|
||||
aq: res.data.aqCount
|
||||
})
|
||||
|
|
|
@ -17,7 +17,7 @@ Page({
|
|||
success: res => {
|
||||
//config.manageUrl +
|
||||
this.setData({
|
||||
url:"https://szgc.jhncidg.com/#/wxAuth?userOpenId=" + res.data.openId
|
||||
url:"https://szgcwx.jhncidg.com/wechat/wxAuth/authorize?userOpenId=" + res.data.openId
|
||||
})
|
||||
}
|
||||
})
|
||||
|
|
|
@ -1,8 +1,4 @@
|
|||
import * as echarts from '../../ec-canvas/echarts';
|
||||
import {
|
||||
delOpenUserMsgId,
|
||||
findOpenUserMsgId
|
||||
} from '../../api/login'
|
||||
|
||||
const app = getApp();
|
||||
|
||||
|
@ -399,7 +395,7 @@ Page({
|
|||
success: function (res) {
|
||||
if (options && options.showUser) {
|
||||
//这里重新查询用户消息是否已授权
|
||||
that.reUserOpenMsgId(res.data);
|
||||
that.reUserOpenMsgId();
|
||||
}
|
||||
that.setData({
|
||||
loginName: res.data.loginName,
|
||||
|
@ -438,18 +434,9 @@ Page({
|
|||
/**
|
||||
* 查询公众号消息授权
|
||||
*/
|
||||
reUserOpenMsgId(data){
|
||||
findOpenUserMsgId(data.openId).then(res =>{
|
||||
if(res.code==200 && res.data){
|
||||
data.msgOpenId=res.data.msgOpenId;
|
||||
wx.setStorage({
|
||||
key: 'userinfo',
|
||||
data: data
|
||||
});
|
||||
let userInfos = this.selectComponent("#userInfos");
|
||||
userInfos.loadUserInfo();
|
||||
}
|
||||
});
|
||||
reUserOpenMsgId(){
|
||||
let userInfos = this.selectComponent("#userInfos");
|
||||
userInfos.loadUserInfo();
|
||||
},
|
||||
|
||||
// 底部导航
|
||||
|
@ -717,7 +704,7 @@ Page({
|
|||
res = res.data;
|
||||
if (res.code == "200") {
|
||||
that.setData({
|
||||
todoDb: res.data.todo,
|
||||
todoDb: res.data.todo+res.data.approveLZYJ,
|
||||
approveDb: res.data.approve+res.data.zlCount,
|
||||
aq:res.data.aqCount,
|
||||
})
|
||||
|
|
|
@ -31,6 +31,55 @@ function indexNumFormat(num) {
|
|||
return num;
|
||||
}
|
||||
|
||||
var dateFormat = function (timestamp, format) {
|
||||
if (!format) {
|
||||
format = "yyyy-MM-dd hh:mm:ss";
|
||||
}
|
||||
timestamp = parseInt(timestamp);
|
||||
// 通过getDate()方法获取date类型的时间
|
||||
var realDate = getDate(timestamp);
|
||||
|
||||
function timeFormat(num) {
|
||||
return num < 10 ? '0' + num : num;
|
||||
}
|
||||
var date = [
|
||||
["M+", timeFormat(realDate.getMonth() + 1)],
|
||||
["d+", timeFormat(realDate.getDate())],
|
||||
["h+", timeFormat(realDate.getHours())],
|
||||
["m+", timeFormat(realDate.getMinutes())],
|
||||
["s+", timeFormat(realDate.getSeconds())],
|
||||
["q+", Math.floor((realDate.getMonth() + 3) / 3)],
|
||||
["S+", realDate.getMilliseconds()],
|
||||
];
|
||||
var reg1 = regYear.exec(format);
|
||||
// console.log(reg1[0]);
|
||||
if (reg1) {
|
||||
|
||||
format = format.replace(reg1[1], (realDate.getFullYear() + '').substring(4 - reg1[1].length));
|
||||
}
|
||||
for (var i = 0; i < date.length; i++) {
|
||||
var k = date[i][0];
|
||||
var v = date[i][1];
|
||||
// getRegExp初始化一个正则表达式对象
|
||||
var reg2 = getRegExp("(" + k + ")").exec(format);
|
||||
if (reg2) {
|
||||
format = format.replace(reg2[1], reg2[1].length == 1 ?
|
||||
v : ("00" + v).substring(("" + v).length));
|
||||
}
|
||||
}
|
||||
return format;
|
||||
}
|
||||
|
||||
function parseDate(dateStr) {
|
||||
dateStr = dateStr.substring(0, 10);
|
||||
return dateStr;
|
||||
}
|
||||
|
||||
module.exports = {
|
||||
indexNumFormat: indexNumFormat
|
||||
parseDate: parseDate,
|
||||
dateFormat: dateFormat,
|
||||
indexNumFormat: indexNumFormat,
|
||||
split:function(str,sign){
|
||||
return str.split(sign);
|
||||
}
|
||||
}
|
|
@ -71,7 +71,7 @@ export function syncFileUpload(file) {
|
|||
})
|
||||
return new Promise((resolve, reject) => {
|
||||
wx.uploadFile({
|
||||
url: config.baseUrl + '/common/upload', // 上传的服务器接口地址
|
||||
url: config.baseUrl + '/wechat/common/upload', // 上传的服务器接口地址
|
||||
filePath: file,
|
||||
header: {
|
||||
"Content-Type": "application/x-www-form-urlencoded;charset=UTF-8",
|
||||
|
@ -82,20 +82,21 @@ export function syncFileUpload(file) {
|
|||
success: (res) => {
|
||||
// 上传完成操作
|
||||
wx.hideLoading()
|
||||
const code = res.data.code || 200
|
||||
let resJson = JSON.parse(res.data)
|
||||
const code = resJson.code || 200
|
||||
if (code === 401) {
|
||||
removeToken();
|
||||
wx.redirectTo({
|
||||
url: '../login/index',
|
||||
});
|
||||
} else if (code === 500 || code === 403) {
|
||||
app.toast(res.data.msg);
|
||||
app.toast(resJson.msg);
|
||||
setTimeout(() => {
|
||||
resolve(res.data);
|
||||
resolve(resJson);
|
||||
}, 800)
|
||||
resolve(res.data);
|
||||
resolve(resJson);
|
||||
} else {
|
||||
resolve(res.data);
|
||||
resolve(resJson);
|
||||
}
|
||||
},
|
||||
fail: (error) => {
|
||||
|
|
Loading…
Reference in New Issue