代码更新
This commit is contained in:
parent
86d52c81ac
commit
2c47202245
|
@ -15,6 +15,10 @@
|
|||
{
|
||||
"playground" : "custom",
|
||||
"type" : "uni-app:app-android"
|
||||
},
|
||||
{
|
||||
"playground" : "standard",
|
||||
"type" : "uni-app:app-ios"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
|
@ -25,47 +25,3 @@ export const userInfo = (data) => oahttp.get('/home_index/userinfo', data)
|
|||
*/
|
||||
export const changePassword = (data) => oahttp.post('/home_index/edit_password', data)
|
||||
|
||||
/**
|
||||
* 获取当前公司已创建的小队
|
||||
*/
|
||||
export const userCompanyBrigade = (data) => oahttp.get('/user/company_brigade', data)
|
||||
|
||||
/**
|
||||
* 新增人员
|
||||
*/
|
||||
export const loginAdd = (data) => oahttp.post('/login/add', data)
|
||||
|
||||
/**
|
||||
* 修改人员
|
||||
*/
|
||||
export const userSetInfo = (data) => oahttp.post('/user/setInfo', data)
|
||||
|
||||
/**
|
||||
* 设置是否为队长
|
||||
*/
|
||||
export const loginSetInfo = (data) => oahttp.post('/login/setInfo', data)
|
||||
|
||||
/**
|
||||
* 生成合同
|
||||
*/
|
||||
export const userDraftingcontracts = (data) => oahttp.post('/user/Draftingcontracts', data)
|
||||
|
||||
/**
|
||||
* 发起合同
|
||||
*/
|
||||
export const userInitiateContract = (data) => oahttp.post('/user/initiate_contract', data)
|
||||
|
||||
/**
|
||||
* 发送短信
|
||||
*/
|
||||
export const userPostsms = (data) => oahttp.post('/user/postsms', data)
|
||||
|
||||
/**
|
||||
* 注销账号
|
||||
*/
|
||||
export const destroyAccount = (data) => oahttp.post('/user/destroy_account', data)
|
||||
|
||||
/**
|
||||
* 商城登录
|
||||
*/
|
||||
export const loginShopAccount = (data) => oahttp.post('/login/shop_account', data, { noAuth: true })
|
||||
|
|
203
pages.json
203
pages.json
|
@ -78,7 +78,7 @@
|
|||
"path": "pages/leaveapplication/index",
|
||||
"style": {
|
||||
"navigationBarTitleText": "申请"
|
||||
|
||||
|
||||
}
|
||||
|
||||
},
|
||||
|
@ -198,21 +198,21 @@
|
|||
|
||||
}
|
||||
},
|
||||
|
||||
|
||||
{
|
||||
"path": "pages/reimbursementrecord/index",
|
||||
"style": {
|
||||
"navigationBarTitleText": "报销打款",
|
||||
"navigationStyle": "custom"
|
||||
}
|
||||
|
||||
|
||||
},
|
||||
{
|
||||
"path": "pages/reimbursementrecord/index",
|
||||
"style": {
|
||||
"navigationBarTitleText": "报销打款",
|
||||
"navigationBarBackgroundColor": "#3274F9"
|
||||
|
||||
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@ -256,7 +256,7 @@
|
|||
"navigationBarTextStyle": "white"
|
||||
}
|
||||
|
||||
},{
|
||||
}, {
|
||||
"path": "pages/leave_request/bianji",
|
||||
"style": {
|
||||
"navigationBarTitleText": "审批",
|
||||
|
@ -299,7 +299,7 @@
|
|||
"navigationBarBackgroundColor": "#3274F9",
|
||||
"navigationBarTextStyle": "white"
|
||||
}
|
||||
},{
|
||||
}, {
|
||||
"path": "pages/reimbursement/index",
|
||||
"style": {
|
||||
"navigationBarTitleText": "审批",
|
||||
|
@ -348,7 +348,7 @@
|
|||
"navigationBarTextStyle": "white"
|
||||
}
|
||||
},
|
||||
|
||||
|
||||
{
|
||||
"path": "pages/user/user",
|
||||
"style": {
|
||||
|
@ -388,9 +388,25 @@
|
|||
"navigationBarBackgroundColor": "#3274F9",
|
||||
"navigationBarTextStyle": "white"
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "pages/message/index",
|
||||
"style": {
|
||||
"navigationBarTitleText": "消息",
|
||||
"navigationBarBackgroundColor": "#3274F9",
|
||||
"navigationBarTextStyle": "white"
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "pages/message/detail",
|
||||
"style": {
|
||||
"navigationBarTitleText": "消息",
|
||||
"navigationBarBackgroundColor": "#3274F9",
|
||||
"navigationBarTextStyle": "white"
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
],
|
||||
"globalStyle": {
|
||||
"navigationBarTextStyle": "black",
|
||||
|
@ -432,116 +448,71 @@
|
|||
},
|
||||
"uniIdRouter": {},
|
||||
"subPackages": [{
|
||||
"root": "pages/views",
|
||||
"name": "views",
|
||||
"pages": [
|
||||
|
||||
{
|
||||
"path": "new_task",
|
||||
"style": {
|
||||
"navigationBarTitleText": "新建任务",
|
||||
"enablePullDownRefresh": false
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "com_approve",
|
||||
"style": {
|
||||
"navigationBarTitleText": "通用审批",
|
||||
"enablePullDownRefresh": false
|
||||
}
|
||||
}, {
|
||||
"path": "task_details",
|
||||
"style": {
|
||||
"navigationBarTitleText": "任务描述",
|
||||
"enablePullDownRefresh": false
|
||||
}
|
||||
}, {
|
||||
"path": "leave_request",
|
||||
"style": {
|
||||
"navigationBarTitleText": "请假申请",
|
||||
"enablePullDownRefresh": false,
|
||||
"navigationBarBackgroundColor": "#0122C7",
|
||||
"navigationBarTextStyle": "white"
|
||||
}
|
||||
}, {
|
||||
"path": "leave_request",
|
||||
"style": {
|
||||
"navigationBarTitleText": "请假申请",
|
||||
"enablePullDownRefresh": false,
|
||||
"navigationBarBackgroundColor": "#0122C7",
|
||||
"navigationBarTextStyle": "white"
|
||||
}
|
||||
|
||||
}
|
||||
]
|
||||
},
|
||||
|
||||
{
|
||||
"root": "pages/users",
|
||||
"name": "users",
|
||||
"pages": [{
|
||||
"path": "myInformation/index",
|
||||
"style": {
|
||||
"navigationBarTitleText": "个人信息",
|
||||
"navigationBarBackgroundColor": "#3274F9",
|
||||
"navigationBarTextStyle": "white"
|
||||
|
||||
}
|
||||
|
||||
},
|
||||
{
|
||||
"path": "salarydetails/index",
|
||||
"style": {
|
||||
"navigationBarTitleText": "工资详情",
|
||||
"navigationBarBackgroundColor": "#3274F9",
|
||||
"navigationBarTextStyle": "white"
|
||||
|
||||
}
|
||||
|
||||
},
|
||||
{
|
||||
"path": "user_document/index",
|
||||
"style": {
|
||||
"navigationBarTitleText": "公司公示文档",
|
||||
"navigationBarBackgroundColor": "#3274F9",
|
||||
"navigationBarTextStyle": "white"
|
||||
|
||||
}
|
||||
|
||||
},
|
||||
{
|
||||
"path": "user_document/detail",
|
||||
"style": {
|
||||
"navigationBarTitleText": "公司公示文档详情",
|
||||
"navigationBarBackgroundColor": "#3274F9",
|
||||
"navigationBarTextStyle": "white"
|
||||
|
||||
}
|
||||
|
||||
},
|
||||
{
|
||||
"path": "article/index",
|
||||
"style": {
|
||||
"navigationBarTitleText": "文章列表",
|
||||
"navigationBarBackgroundColor": "#3274F9",
|
||||
"navigationBarTextStyle": "white"
|
||||
|
||||
}
|
||||
|
||||
},
|
||||
{
|
||||
"path": "article/detail",
|
||||
"style": {
|
||||
"navigationBarTitleText": "文章详情",
|
||||
"navigationBarBackgroundColor": "#3274F9",
|
||||
"navigationBarTextStyle": "white"
|
||||
|
||||
}
|
||||
"root": "pages/users",
|
||||
"name": "users",
|
||||
"pages": [{
|
||||
"path": "myInformation/index",
|
||||
"style": {
|
||||
"navigationBarTitleText": "个人信息",
|
||||
"navigationBarBackgroundColor": "#3274F9",
|
||||
"navigationBarTextStyle": "white"
|
||||
|
||||
}
|
||||
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "salarydetails/index",
|
||||
"style": {
|
||||
"navigationBarTitleText": "工资详情",
|
||||
"navigationBarBackgroundColor": "#3274F9",
|
||||
"navigationBarTextStyle": "white"
|
||||
|
||||
]
|
||||
}
|
||||
|
||||
},
|
||||
{
|
||||
"path": "user_document/index",
|
||||
"style": {
|
||||
"navigationBarTitleText": "公告",
|
||||
"navigationBarBackgroundColor": "#3274F9",
|
||||
"navigationBarTextStyle": "white"
|
||||
|
||||
}
|
||||
|
||||
},
|
||||
{
|
||||
"path": "user_document/detail",
|
||||
"style": {
|
||||
"navigationBarTitleText": "公司公示文档详情",
|
||||
"navigationBarBackgroundColor": "#3274F9",
|
||||
"navigationBarTextStyle": "white"
|
||||
|
||||
}
|
||||
|
||||
},
|
||||
{
|
||||
"path": "article/index",
|
||||
"style": {
|
||||
"navigationBarTitleText": "文章列表",
|
||||
"navigationBarBackgroundColor": "#3274F9",
|
||||
"navigationBarTextStyle": "white"
|
||||
|
||||
}
|
||||
|
||||
},
|
||||
{
|
||||
"path": "article/detail",
|
||||
"style": {
|
||||
"navigationBarTitleText": "文章详情",
|
||||
"navigationBarBackgroundColor": "#3274F9",
|
||||
"navigationBarTextStyle": "white"
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
]
|
||||
|
||||
}]
|
||||
}
|
|
@ -267,6 +267,10 @@
|
|||
uni.navigateTo({
|
||||
url: '/pages/leave_request/index?type=' + item.id
|
||||
})
|
||||
}else if (this.num == 2){
|
||||
uni.navigateTo({
|
||||
url: '/pages/leave_request/detail?type=' + item.id +'&num=0'
|
||||
})
|
||||
}else{
|
||||
uni.navigateTo({
|
||||
url: '/pages/leave_request/detail?type=' + item.id
|
||||
|
|
|
@ -48,22 +48,66 @@
|
|||
</view>
|
||||
</view>
|
||||
<view class="content-banner">
|
||||
<view class="content-banner-title">
|
||||
待办事项
|
||||
<view class="content-banner-title" style="display: flex;justify-content: space-between;">
|
||||
|
||||
<view class="">
|
||||
待办事项
|
||||
</view>
|
||||
<view @click="gongao1">
|
||||
更多
|
||||
<text class="iconfont icon-xiangyou" style="margin-top: 5rpx;margin-right: 20rpx;"></text>
|
||||
</view>
|
||||
</view>
|
||||
<view class="content-banner-detail" v-for="(item,k) in list2" :key='k'>
|
||||
<view class="content-banner-detail" v-for="(item,k) in list2" :key='k' v-if="isshow1">
|
||||
<view class="banner-detail">
|
||||
<view class="banner-detail-title">
|
||||
提醒
|
||||
</view>
|
||||
<view class="banner-detail-detail">
|
||||
{{item.detail}}
|
||||
{{item.title}}
|
||||
</view>
|
||||
</view>
|
||||
<view class="iconfont icon-xiangyou" style="margin-top: 5rpx;">
|
||||
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view class="bootom-top-three" v-else>
|
||||
<scroll-view scroll-x="true" scroll-left="0" class="top-three">
|
||||
<view class="top_users-header">
|
||||
<view class="">
|
||||
{{list6.approve}}
|
||||
</view>
|
||||
<view class="title1">
|
||||
待审批
|
||||
</view>
|
||||
</view>
|
||||
<view class="top_users-header">
|
||||
<view class="">
|
||||
{{list6.expenses}}
|
||||
</view>
|
||||
<view class="title2">
|
||||
待报销
|
||||
</view>
|
||||
</view>
|
||||
<view class="top_users-header">
|
||||
<view class="">
|
||||
{{list6.approve}}
|
||||
</view>
|
||||
<view class="title3">
|
||||
待审发票
|
||||
</view>
|
||||
</view>
|
||||
<view class="top_users-header">
|
||||
<view class="">
|
||||
{{list6.approve}}
|
||||
</view>
|
||||
<view class="title4">
|
||||
待回款
|
||||
</view>
|
||||
</view>
|
||||
</scroll-view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="content-sort">
|
||||
<view class="content-sort-con" v-for="(item,l) in list3" :key="l" @click="appcenter(item,l)">
|
||||
|
@ -80,7 +124,7 @@
|
|||
<view class="">
|
||||
公告
|
||||
</view>
|
||||
<view>
|
||||
<view @click="gongao">
|
||||
更多
|
||||
<text class="iconfont icon-xiangyou" style="margin-top: 5rpx;margin-right: 20rpx;"></text>
|
||||
</view>
|
||||
|
@ -109,6 +153,7 @@
|
|||
<text>更多</text>
|
||||
<text class="iconfont icon-xiangyou" style="font-size: 25rpx;"></text>
|
||||
</view>
|
||||
|
||||
</view>
|
||||
|
||||
<view class="content-bootom-detail">
|
||||
|
@ -126,17 +171,18 @@
|
|||
<view class="detail-one-c" v-if="item.flow_status==3">
|
||||
{{item.flow_name}}
|
||||
</view>
|
||||
<view class="detail-one-c" v-else style="background-color: #E4EDFF;color: #3274F9;">
|
||||
<view class="detail-one-c" v-else style="background-color: #E4EDFF;color: #3274F9;">
|
||||
{{item.flow_name}}
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view class="bootom-detail-two">
|
||||
<view class="detail-twoa ">
|
||||
|
||||
|
||||
</view>
|
||||
<view class="detail-twob">
|
||||
任务性质:{{item.cate_name}} <text style="margin-left: 20rpx;"> 计划完成时间:{{item.end_time}}</text>
|
||||
任务性质:{{item.cate_name}} <text style="margin-left: 20rpx;">
|
||||
计划完成时间:{{item.end_time}}</text>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
|
@ -155,7 +201,8 @@
|
|||
getdatatotal,
|
||||
getDocumentListApi,
|
||||
projecttasklist,
|
||||
todosubjec,tasksubjec
|
||||
todosubjec,
|
||||
tasksubjec
|
||||
} from '@/api/oa.js'
|
||||
import {
|
||||
HTTP_REQUEST_URL
|
||||
|
@ -232,7 +279,9 @@
|
|||
|
||||
}],
|
||||
HTTP_IMG_URL: '',
|
||||
list5: []
|
||||
list5: [],
|
||||
list6: {},
|
||||
isshow1:true
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
|
@ -248,8 +297,8 @@
|
|||
this.getList()
|
||||
this.getDtnote()
|
||||
this.getDocumentList2()
|
||||
this.getDtlist()
|
||||
this.getDtlist1()
|
||||
this.getDtlist()
|
||||
this.getDtlist1()
|
||||
},
|
||||
methods: {
|
||||
login() {
|
||||
|
@ -263,36 +312,36 @@
|
|||
page: 1,
|
||||
limit: 2
|
||||
})
|
||||
// console.log(res.data)
|
||||
|
||||
this.list5 = res.data.data
|
||||
},
|
||||
async getDtlist() {
|
||||
let res = await todosubjec()
|
||||
console.log(res.data)
|
||||
|
||||
this.list6 = res.data
|
||||
// this.list5 = res.data.data
|
||||
},
|
||||
async getDtlist1() {
|
||||
let res = await tasksubjec()
|
||||
console.log(res.data)
|
||||
// this.list5 = res.data.data
|
||||
|
||||
this.list2 = res.data.data
|
||||
},
|
||||
//获取任务
|
||||
async getDocumentList2() {
|
||||
|
||||
|
||||
let res = await projecttasklist({
|
||||
page: 1,
|
||||
limit: 3,
|
||||
|
||||
|
||||
})
|
||||
|
||||
|
||||
this.list4=res.data.data
|
||||
|
||||
|
||||
this.list4 = res.data.data
|
||||
|
||||
},
|
||||
//获取部门
|
||||
async getList() {
|
||||
const res = await getdatatotal()
|
||||
console.log(res.data)
|
||||
|
||||
this.list = res.data
|
||||
},
|
||||
//列表
|
||||
|
@ -307,7 +356,7 @@
|
|||
uni.switchTab({
|
||||
url: '/pages/examine/index'
|
||||
})
|
||||
|
||||
|
||||
break;
|
||||
case "expense":
|
||||
uni.navigateTo({
|
||||
|
@ -325,8 +374,8 @@
|
|||
})
|
||||
break;
|
||||
|
||||
case "project":
|
||||
|
||||
case "project":
|
||||
|
||||
uni.navigateTo({
|
||||
url: '/pages/project/index'
|
||||
})
|
||||
|
@ -344,6 +393,16 @@
|
|||
}
|
||||
|
||||
},
|
||||
//公告
|
||||
gongao() {
|
||||
uni.navigateTo({
|
||||
url: '/pages/users/user_document/index'
|
||||
})
|
||||
},
|
||||
//待办
|
||||
gongao1() {
|
||||
this.isshow1=!this.isshow1
|
||||
},
|
||||
//应用中心
|
||||
appcenter(item, i) {
|
||||
switch (i) {
|
||||
|
@ -492,6 +551,73 @@
|
|||
}
|
||||
}
|
||||
|
||||
.bootom-top-three {
|
||||
display: flex;
|
||||
white-space: nowrap;
|
||||
|
||||
.top_users-header {
|
||||
display: inline-block;
|
||||
margin-right: 30rpx;
|
||||
text-align: center;
|
||||
font-size: 53rpx;
|
||||
font-family: PingFang SC-Bold, PingFang SC;
|
||||
font-weight: bold;
|
||||
color: rgba(0, 0, 0, 0.8);
|
||||
|
||||
.title1 {
|
||||
width: 131rpx;
|
||||
height: 42rpx;
|
||||
line-height: 42rpx;
|
||||
background-color: #3274F9;
|
||||
text-align: center;
|
||||
border-radius: 21rpx 21rpx;
|
||||
font-size: 25rpx;
|
||||
font-family: PingFang SC-Regular, PingFang SC;
|
||||
font-weight: 400;
|
||||
color: #FFFFFF;
|
||||
}
|
||||
|
||||
.title2 {
|
||||
width: 131rpx;
|
||||
height: 42rpx;
|
||||
line-height: 42rpx;
|
||||
background-color: #F9AA32;
|
||||
text-align: center;
|
||||
border-radius: 21rpx 21rpx;
|
||||
font-size: 25rpx;
|
||||
font-family: PingFang SC-Regular, PingFang SC;
|
||||
font-weight: 400;
|
||||
color: #FFFFFF;
|
||||
}
|
||||
|
||||
.title3 {
|
||||
width: 131rpx;
|
||||
height: 42rpx;
|
||||
line-height: 42rpx;
|
||||
background-color: #F9AA32;
|
||||
text-align: center;
|
||||
border-radius: 21rpx 21rpx;
|
||||
font-size: 25rpx;
|
||||
font-family: PingFang SC-Regular, PingFang SC;
|
||||
font-weight: 400;
|
||||
color: #FFFFFF;
|
||||
}
|
||||
|
||||
.title4 {
|
||||
width: 131rpx;
|
||||
height: 42rpx;
|
||||
line-height: 42rpx;
|
||||
background-color: red;
|
||||
text-align: center;
|
||||
border-radius: 21rpx 21rpx;
|
||||
font-size: 25rpx;
|
||||
font-family: PingFang SC-Regular, PingFang SC;
|
||||
font-weight: 400;
|
||||
color: #FFFFFF;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.my_msg-con {
|
||||
display: flex;
|
||||
margin-top: 138rpx;
|
||||
|
|
|
@ -7,17 +7,18 @@
|
|||
|
||||
<!-- {{fieldKey}} -->
|
||||
<!-- {{ fieldValue.title }} - {{ fieldValue.type }} -->
|
||||
|
||||
|
||||
<!-- v-if="fieldValue.type=='select'&& fieldKey!='copy_uids'&&fieldKey!='check_admin_ids'&&fieldKey!='flow_id'&&fieldKey!='name'" -->
|
||||
<view class="leava_type flex_a_c"
|
||||
v-if="fieldValue.type=='select'&& fieldKey!='copy_uids'&&fieldKey!='check_admin_ids'&&fieldKey!='flow_id'&&fieldKey!='name'">
|
||||
<view class="title">{{fieldValue.title}}:</view>
|
||||
<input type="text" v-model="meatelist[fieldKey]" placeholder="请选择" @click="leixin(fieldKey)" v-if="fieldKey!='name'">
|
||||
v-if="fieldValue.type=='select'&& fieldKey!='copy_uids'&&fieldKey!='check_admin_ids'&&fieldKey!='flow_id'&&fieldKey!='name'">
|
||||
<view class="title">{{fieldValue.title}}:</view>
|
||||
<input type="text" v-model="meatelist[fieldKey]" placeholder="请选择" @click="leixin(fieldKey)"
|
||||
v-if="fieldKey!='name'">
|
||||
</view>
|
||||
|
||||
|
||||
<view class="leava_type flex_a_c" v-if="fieldKey=='name'">
|
||||
<view class="title">{{fieldValue.title}}:</view>
|
||||
<input type="text" v-model="meatelist[fieldKey]" placeholder="请选择" @click="leixiner()">
|
||||
<view class="title">{{fieldValue.title}}:</view>
|
||||
<input type="text" v-model="meatelist[fieldKey]" placeholder="请选择" @click="leixiner()">
|
||||
</view>
|
||||
<view class=""
|
||||
v-if="fieldValue.type=='input'&&fieldKey!='end_time'&&fieldKey!='start_time'&&fieldKey!='duration'">
|
||||
|
@ -60,7 +61,16 @@
|
|||
|
||||
|
||||
|
||||
<view class="" v-if="fieldValue.type=='file'">
|
||||
|
||||
<!-- <view class="" v-for="(itemValue, itemKey) in fieldValue.item" :key="itemKey">
|
||||
{{ itemKey }}: {{ itemValue }}
|
||||
</view> -->
|
||||
</view>
|
||||
|
||||
|
||||
|
||||
</view>
|
||||
<view class="leave_box" style="padding-top: 30rpx;" >
|
||||
<block v-for="(item, i) in fileArray" :key="i">
|
||||
<view class="file flex_a_c_j_sb">
|
||||
<view class="l_file">
|
||||
|
@ -93,15 +103,6 @@
|
|||
|
||||
</view>
|
||||
</view>
|
||||
<!-- <view class="" v-for="(itemValue, itemKey) in fieldValue.item" :key="itemKey">
|
||||
{{ itemKey }}: {{ itemValue }}
|
||||
</view> -->
|
||||
</view>
|
||||
|
||||
|
||||
|
||||
</view>
|
||||
|
||||
<view class="flow_path">
|
||||
<view class="cont_cell">
|
||||
<view class="title">选择审批流程:</view>
|
||||
|
@ -164,9 +165,6 @@
|
|||
</template>
|
||||
|
||||
<script>
|
||||
import {
|
||||
oaLeaveData
|
||||
} from '@/static/server/server.js'
|
||||
import {
|
||||
oaUploads
|
||||
} from '../../api/upload'
|
||||
|
@ -178,7 +176,7 @@
|
|||
getemployee,
|
||||
userdepartment,
|
||||
appapprove,
|
||||
appapproveview
|
||||
appapproveview
|
||||
} from '@/api/oa.js'
|
||||
import {
|
||||
FILE_URL
|
||||
|
@ -272,7 +270,7 @@ appapproveview
|
|||
this.getDocumentList2()
|
||||
},
|
||||
onShow() {
|
||||
// this.getFlow()
|
||||
|
||||
// 获取当前时间戳
|
||||
this.timestamp = Date.parse(new Date());
|
||||
},
|
||||
|
@ -317,16 +315,10 @@ appapproveview
|
|||
this.dataobj1 = res.data
|
||||
// this.check_record = res.data.check_record
|
||||
this.applist1(res.data.detail.type)
|
||||
|
||||
|
||||
|
||||
// if ('detail_type' in res.data.field.flow_id) {
|
||||
// const detailTypeOptions1 = Object.entries(res.data.field.flow_id.item).map(([id, name]) => ({
|
||||
// id,
|
||||
// name
|
||||
// }));
|
||||
// this.flowPathSheet = detailTypeOptions1
|
||||
// }
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
@ -335,34 +327,52 @@ appapproveview
|
|||
let res = await appfield({
|
||||
type: type
|
||||
})
|
||||
|
||||
|
||||
this.dataobj = res.data.field
|
||||
console.log(this.columns)
|
||||
this.meatelist.name = 'name' in this.dataobj1.detail ? this.dataobj1.detail.name : ''
|
||||
this.timeData[0].time = 'start_time' in this.dataobj1.detail ? this.dataobj1.detail.start_time : ''
|
||||
this.timeData[1].time = 'end_time' in this.dataobj1.detail ? this.dataobj1.detail.end_time : ''
|
||||
if (this.typeId != 53) {
|
||||
this.timeData[0].time = 'start_time' in this.dataobj1.detail ? this.dataobj1.detail.start_time : ''
|
||||
this.timeData[1].time = 'end_time' in this.dataobj1.detail ? this.dataobj1.detail.end_time : ''
|
||||
}
|
||||
|
||||
this.meatelist.mobile = 'mobile' in this.dataobj1.detail ? this.dataobj1.detail.mobile : ''
|
||||
this.meatelist.department_type = 'department_type' in this.dataobj1.detail ? this.dataobj1.detail
|
||||
.department_type_title : ''
|
||||
this.meatelist.detail_type = 'detail_type' in this.dataobj1.detail ? this.dataobj1.detail
|
||||
.detail_type_title : ''
|
||||
this.meatelist.other_type = 'other_type' in this.dataobj1.detail ? this.dataobj1.detail
|
||||
.other_type_title : ''
|
||||
// this.meatelist.department_type = 'department_type' in this.dataobj1.detail ? this.dataobj1.detail
|
||||
// .department_type_title : ''
|
||||
// this.meatelist.detail_type = 'detail_type' in this.dataobj1.detail ? this.dataobj1.detail
|
||||
// .detail_type_title : ''
|
||||
// this.meatelist.other_type = 'other_type' in this.dataobj1.detail ? this.dataobj1.detail
|
||||
// .other_type_title : ''
|
||||
|
||||
this.meatelist.remark = 'remark' in this.dataobj1.detail ? this.dataobj1.detail.remark : ''
|
||||
this.meatelist.remark1 = 'remark1' in this.dataobj1.detail ? this.dataobj1.detail.remark1 : ''
|
||||
this.meatelist.address = 'address' in this.dataobj1.detail ? this.dataobj1.detail.address : ''
|
||||
this.meatelist.detail_time = 'detail_time' in this.dataobj1.detail ? this.dataobj1.detail.detail_time :
|
||||
''
|
||||
|
||||
|
||||
this.meatelist.content = 'content' in this.dataobj1.detail ? this.dataobj1.detail.content : ''
|
||||
this.check_admin_name = 'check_user' in this.dataobj1.detail ? this.dataobj1.detail.check_user : ''
|
||||
this.check_admin_ids = 'check_admin_ids' in this.dataobj1.detail ? this.dataobj1.detail.check_admin_ids : ''
|
||||
this.copy_uids = 'copy_uids' in this.dataobj1.detail ? this.dataobj1.detail.copy_uids : ''
|
||||
this.copy_names = 'copy_user' in this.dataobj1.detail ? this.dataobj1.detail.copy_user : ''
|
||||
// this.check_admin_name = 'check_user' in this.dataobj1.detail ? this.dataobj1.detail.check_user : ''
|
||||
// this.check_admin_ids = 'check_admin_ids' in this.dataobj1.detail ? this.dataobj1.detail
|
||||
// .check_admin_ids : ''
|
||||
// this.copy_uids = 'copy_uids' in this.dataobj1.detail ? this.dataobj1.detail.copy_uids : ''
|
||||
// this.copy_names = 'copy_user' in this.dataobj1.detail ? this.dataobj1.detail.copy_user : ''
|
||||
this.flowPath = 'file_ids_title' in this.dataobj1.detail ? this.dataobj1.detail.file_ids_title : ''
|
||||
this.flow_id = 'flow_id' in this.dataobj1.detail ? this.dataobj1.detail.flow_id : ''
|
||||
|
||||
|
||||
if('fileArray' in this.dataobj1.detail){
|
||||
this.flow_id = 'flow_id' in this.dataobj1.detail ? this.dataobj1.detail.flow_id : ''
|
||||
this.meatelist.num = 'num' in this.dataobj1.detail ? this.dataobj1.detail.num : ''
|
||||
if ('flow_id' in res.data.field) {
|
||||
const detailTypeOptions1 = Object.entries(res.data.field.flow_id.item).map(([id, name]) => ({
|
||||
id,
|
||||
name
|
||||
}));
|
||||
|
||||
// console.log(detailTypeOptions1)
|
||||
this.flowPathSheet = detailTypeOptions1
|
||||
}
|
||||
|
||||
|
||||
|
||||
if ('fileArray' in this.dataobj1.detail) {
|
||||
this.fileArray = res.data.detail.fileArray.map(function(obj) {
|
||||
return {
|
||||
name: obj.name,
|
||||
|
@ -372,96 +382,98 @@ appapproveview
|
|||
}
|
||||
// this.meatelist.remark1 = 'remark1' in this.dataobj1.detail ? this.dataobj1.detail.remark1 : ''
|
||||
// this.meatelist.remark1 = 'remark1' in this.dataobj1.detail ? this.dataobj1.detail.remark1 : ''
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
console.log(this.timeData)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
// console.log(this.timeData)
|
||||
|
||||
|
||||
|
||||
if ('detail_type' in this.dataobj) {
|
||||
const detailTypeOptions = Object.entries(this.dataobj.detail_type.item).map(([id, name]) => ({
|
||||
id,
|
||||
name
|
||||
}));
|
||||
this.columns = detailTypeOptions
|
||||
|
||||
|
||||
for (let i in this.columns) {
|
||||
|
||||
console.log(this.columns[i].id, this.dataobj1.detail.detail_type, '1111111111111')
|
||||
if (this.columns[i].id == this.dataobj1.detail.detail_type) {
|
||||
this.meatelist.detail_type = this.columns[i].name
|
||||
this.leavaTypeId1= this.columns[i].id
|
||||
this.leavaTypeId1 = this.columns[i].id
|
||||
|
||||
}
|
||||
console.log(this.meatelist.detail_type,this.leavaTypeId1)
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
if ('department_type' in this.dataobj) {
|
||||
const detailTypeOptions = Object.entries(this.dataobj.department_type.item).map(([id, name]) => ({
|
||||
id,
|
||||
name
|
||||
}));
|
||||
this.columns = detailTypeOptions
|
||||
|
||||
|
||||
for (let i in this.columns) {
|
||||
|
||||
|
||||
if (this.columns[i].id == this.dataobj1.detail.department_type) {
|
||||
this.meatelist.department_type= this.columns[i].name
|
||||
this.leavaTypeId = this.columns[i].id
|
||||
this.meatelist.department_type = this.columns[i].name
|
||||
this.leavaTypeId = this.columns[i].id
|
||||
}
|
||||
// console.log(this.meatelist.detail_type)
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
if ('other_type' in this.dataobj) {
|
||||
const detailTypeOptions = Object.entries(this.dataobj.other_type.item).map(([id, name]) => ({
|
||||
id,
|
||||
name
|
||||
}));
|
||||
this.columns = detailTypeOptions
|
||||
|
||||
|
||||
for (let i in this.columns) {
|
||||
|
||||
|
||||
if (this.columns[i].id == this.dataobj1.detail.other_type) {
|
||||
this.meatelist.other_type = this.columns[i].name
|
||||
this.leavaTypeId2= this.columns[i].id
|
||||
this.leavaTypeId2 = this.columns[i].id
|
||||
}
|
||||
// console.log(this.meatelist.detail_type)
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
if ('position_type' in this.dataobj) {
|
||||
const detailTypeOptions = Object.entries(this.dataobj.position_type.item).map(([id, name]) => ({
|
||||
id,
|
||||
name
|
||||
}));
|
||||
this.columns = detailTypeOptions
|
||||
|
||||
|
||||
for (let i in this.columns) {
|
||||
|
||||
|
||||
if (this.columns[i].id == this.dataobj1.detail.position_type) {
|
||||
this.meatelist.position_type = this.columns[i].name
|
||||
this.leavaTypeId3= this.columns[i].id
|
||||
this.leavaTypeId3 = this.columns[i].id
|
||||
}
|
||||
// console.log(this.meatelist.detail_type)
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
},
|
||||
//获取部门
|
||||
async getDocumentList() {
|
||||
|
@ -712,13 +724,7 @@ appapproveview
|
|||
this.flow_id = value.id
|
||||
|
||||
},
|
||||
async getFlow() {
|
||||
const flow = await getFlowAPI({
|
||||
type: 1,
|
||||
flow_cate: 1
|
||||
})
|
||||
this.flowPathSheet = flow
|
||||
},
|
||||
|
||||
timeConfirm(e, i) {
|
||||
this.timeData[i].time = uni.$u.timeFormat(e.value, 'yyyy-mm-dd hh:MM:ss')
|
||||
// this.timeData[i].timeDay = uni.$u.timeFormat(e.value, 'yyyy-mm-dd')
|
||||
|
@ -751,8 +757,8 @@ appapproveview
|
|||
|
||||
if (this.typeId == 8) {
|
||||
subData1.start_time = this.timeData[0].time,
|
||||
subData1.end_time = this.timeData[1].time,
|
||||
subData1.department_type = this.leavaTypeId
|
||||
subData1.end_time = this.timeData[1].time,
|
||||
subData1.department_type = this.leavaTypeId
|
||||
subData1.detail_type = this.leavaTypeId1
|
||||
subData1.other_type = this.leavaTypeId2
|
||||
|
||||
|
@ -774,7 +780,7 @@ appapproveview
|
|||
this.fileArray.map((item, i) => {
|
||||
fileIds.push(item.id)
|
||||
});
|
||||
|
||||
|
||||
subData = {
|
||||
detail_type: this.leavaTypeId1,
|
||||
start_time: this.timeData[0].time,
|
||||
|
@ -798,15 +804,15 @@ appapproveview
|
|||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
try {
|
||||
const res = await appapprove(subData)
|
||||
Toast('提交成功')
|
||||
if(res.code==0){
|
||||
uni.navigateTo({
|
||||
url:'/pages/examine/index'
|
||||
})
|
||||
if (res.code == 0) {
|
||||
uni.switchTab({
|
||||
url: '/pages/examine/index'
|
||||
})
|
||||
}
|
||||
} catch (e) {
|
||||
Toast('提交失败')
|
||||
|
@ -893,7 +899,7 @@ appapproveview
|
|||
content: '确定删除图片?',
|
||||
success: res => {
|
||||
if (res.confirm) {
|
||||
that.fileArray.splice((i, 1))
|
||||
that.fileArray.splice(i, 1)
|
||||
} else if (res.cancel) {
|
||||
console.log('用户点击取消');
|
||||
}
|
||||
|
|
|
@ -92,10 +92,11 @@
|
|||
</view>
|
||||
<view class="cont_details">
|
||||
<view class="examine">审批流程</view>
|
||||
<view class="cont_cell">
|
||||
<view class="title" >审核状态:</view>
|
||||
|
||||
{{dataobj1.detail.check_status=='0'?'待审核':dataobj1.detail.check_status=='1'?'审核中':dataobj1.detail.check_status=='2'?'审核通过':dataobj1.detail.check_status=='3'?'审核不通过':'撤销审核'}}
|
||||
<view class="cont_cell"
|
||||
v-if="dataobj1 && dataobj1.detail && dataobj1.detail.hasOwnProperty('check_status')">
|
||||
<view class="title">审核状态:</view>
|
||||
|
||||
{{dataobj1.detail.check_status=='0'?'待审核':dataobj1.detail.check_status=='1'?'审核中':dataobj1.detail.check_status=='2'?'审核通过':dataobj1.detail.check_status=='3'?'审核不通过':'撤销审核'}}
|
||||
</view>
|
||||
<view class="cont_cell">
|
||||
<view class="title">当前审核人:</view>
|
||||
|
@ -114,22 +115,25 @@
|
|||
了此申请。操作意见:{{item.content}}</text>
|
||||
</view>
|
||||
</block>
|
||||
<view class="cont_cell" style="padding-top: 20rpx;">
|
||||
<view class="cont_cell" style="padding-top: 20rpx;" v-if="ktype!=0">
|
||||
<view class="title" style="width: 200rpx;">撤回意见</view>
|
||||
<textarea v-model="mscontent" placeholder="请输入撤回意见" />
|
||||
</view>
|
||||
</view>
|
||||
|
||||
|
||||
<view class="bot_btn" v-if='dataobj1.detail.check_status!=4'>
|
||||
<!-- <view class="reset" @click="appflowcheck()">拒绝</view>
|
||||
<view class="" v-if="ktype!=0">
|
||||
<view class="bot_btn" v-if='dataobj1.detail.check_status!=4'>
|
||||
<!-- <view class="reset" @click="appflowcheck()">拒绝</view>
|
||||
<view class="submit_btn" @click=" appflowcheck1()">通过</view> -->
|
||||
<view class="submit_btn" @click="appflowcheck1()">撤回</view>
|
||||
</view>
|
||||
<view class="bot_btn" v-else>
|
||||
<view class="submit_btn" @click="editcheck1(dataobj1)">重新编辑</view>
|
||||
</view>
|
||||
<view class="submit_btn" @click="appflowcheck1()">撤回</view>
|
||||
</view>
|
||||
<view class="bot_btn" v-else>
|
||||
<view class="submit_btn" @click="editcheck1(dataobj1)">重新编辑</view>
|
||||
</view>
|
||||
|
||||
|
||||
|
||||
</view>
|
||||
<u-picker :show="branchShow" :defaultIndex='defaultIndex' ref="branchRef" :columns="branchColumns"
|
||||
@confirm="branchConfirm" @change="columnCode" :closeOnClickOverlay="true" @close="branchShowclose"
|
||||
keyName="name">
|
||||
|
@ -138,9 +142,6 @@
|
|||
</template>
|
||||
|
||||
<script>
|
||||
import {
|
||||
oaLeaveData
|
||||
} from '@/static/server/server.js'
|
||||
import {
|
||||
oaUploads
|
||||
} from '../../api/upload'
|
||||
|
@ -217,11 +218,13 @@
|
|||
flag1: false,
|
||||
datatype: '',
|
||||
dataobj1: {},
|
||||
check_record: []
|
||||
check_record: [],
|
||||
ktype: 1
|
||||
}
|
||||
},
|
||||
onLoad(option) {
|
||||
this.typeId = option.type
|
||||
this.ktype = option.num
|
||||
if (option.type == 8) {
|
||||
this.timeData[0].title = '借用日期:'
|
||||
this.timeData[1].title = '拟归还日期:'
|
||||
|
@ -308,16 +311,9 @@
|
|||
this.meatelist.detail_time = 'detail_time' in this.dataobj1.detail ? this.dataobj1.detail.detail_time :
|
||||
''
|
||||
this.meatelist.content = 'content' in this.dataobj1.detail ? this.dataobj1.detail.content : ''
|
||||
|
||||
if('fileArray' in this.dataobj1.detail){
|
||||
this.fileArray = res.data.detail.fileArray.map(function(obj) {
|
||||
return {
|
||||
name: obj.name,
|
||||
filesize: obj.filesize
|
||||
};
|
||||
});
|
||||
}
|
||||
|
||||
this.meatelist.num = 'num' in this.dataobj1.detail ? this.dataobj1.detail.num : ''
|
||||
|
||||
|
||||
// this.meatelist.remark1 = 'remark1' in this.dataobj1.detail ? this.dataobj1.detail.remark1 : ''
|
||||
// this.meatelist.remark1 = 'remark1' in this.dataobj1.detail ? this.dataobj1.detail.remark1 : ''
|
||||
|
||||
|
@ -327,10 +323,11 @@
|
|||
|
||||
|
||||
|
||||
// console.log(this.meatelist.detail_type, '2222222222')
|
||||
|
||||
console.log(this.dataobj1.detail.detail_type)
|
||||
|
||||
|
||||
if ('detail_type' in this.dataobj1.detail) {
|
||||
if ('detail_type' in this.dataobj) {
|
||||
const detailTypeOptions = Object.entries(this.dataobj.detail_type.item).map(([id, name]) => ({
|
||||
id,
|
||||
name
|
||||
|
@ -341,14 +338,79 @@
|
|||
|
||||
if (this.columns[i].id == this.dataobj1.detail.detail_type) {
|
||||
this.meatelist.detail_type = this.columns[i].name
|
||||
this.leavaTypeId1 = this.columns[i].id
|
||||
}
|
||||
console.log(this.meatelist.detail_type, this.leavaTypeId1)
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
if ('department_type' in this.dataobj) {
|
||||
const detailTypeOptions = Object.entries(this.dataobj.department_type.item).map(([id, name]) => ({
|
||||
id,
|
||||
name
|
||||
}));
|
||||
this.columns = detailTypeOptions
|
||||
|
||||
for (let i in this.columns) {
|
||||
|
||||
if (this.columns[i].id == this.dataobj1.detail.department_type) {
|
||||
this.meatelist.department_type = this.columns[i].name
|
||||
this.leavaTypeId = this.columns[i].id
|
||||
}
|
||||
// console.log(this.meatelist.detail_type)
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
if ('other_type' in this.dataobj) {
|
||||
const detailTypeOptions = Object.entries(this.dataobj.other_type.item).map(([id, name]) => ({
|
||||
id,
|
||||
name
|
||||
}));
|
||||
this.columns = detailTypeOptions
|
||||
|
||||
for (let i in this.columns) {
|
||||
|
||||
if (this.columns[i].id == this.dataobj1.detail.other_type) {
|
||||
this.meatelist.other_type = this.columns[i].name
|
||||
this.leavaTypeId2 = this.columns[i].id
|
||||
}
|
||||
// console.log(this.meatelist.detail_type)
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
if ('position_type' in this.dataobj) {
|
||||
const detailTypeOptions = Object.entries(this.dataobj.position_type.item).map(([id, name]) => ({
|
||||
id,
|
||||
name
|
||||
}));
|
||||
this.columns = detailTypeOptions
|
||||
|
||||
for (let i in this.columns) {
|
||||
|
||||
if (this.columns[i].id == this.dataobj1.detail.position_type) {
|
||||
this.meatelist.position_type = this.columns[i].name
|
||||
this.leavaTypeId3 = this.columns[i].id
|
||||
}
|
||||
// console.log(this.meatelist.detail_type)
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
this.fileArray = this.dataobj1.detail.fileArray.map(function(obj) {
|
||||
return {
|
||||
name: obj.name,
|
||||
filesize: obj.filesize
|
||||
};
|
||||
});
|
||||
|
||||
|
||||
|
||||
},
|
||||
//获取部门
|
||||
|
@ -486,7 +548,11 @@
|
|||
check_admin_ids: this.check_admin_ids.toString()
|
||||
}
|
||||
let res = await appflow_check(data)
|
||||
|
||||
if (res.code == 0) {
|
||||
uni.navigateBack({
|
||||
delta: 1
|
||||
})
|
||||
}
|
||||
|
||||
Toast(res.msg)
|
||||
},
|
||||
|
@ -501,6 +567,11 @@
|
|||
}
|
||||
let res = await appflow_check(data)
|
||||
console.log(res)
|
||||
if (res.code == 0) {
|
||||
uni.navigateBack({
|
||||
delta: 1
|
||||
})
|
||||
}
|
||||
Toast(res.msg)
|
||||
},
|
||||
leixin(e) {
|
||||
|
@ -601,8 +672,8 @@
|
|||
this.meatelist.other_type = e.name
|
||||
this.leavaTypeId2 = e.id
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
this.leavaTypeShow = false
|
||||
|
@ -625,17 +696,17 @@
|
|||
this.timeData[i].timeDay = uni.$u.timeFormat(e.value, 'yyyy-mm-dd')
|
||||
this.timeData[i].timeHour = uni.$u.timeFormat(e.value, 'hh:MM')
|
||||
this.timeData[i].timeShow = false
|
||||
|
||||
|
||||
},
|
||||
//编辑
|
||||
editcheck1(item){
|
||||
editcheck1(item) {
|
||||
console.log(item)
|
||||
uni.navigateTo({
|
||||
url: '/pages/leave_request/bianji??type=' + item.detail.id
|
||||
})
|
||||
},
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 计算两个时间戳之间相差的小时数
|
||||
* */
|
||||
|
|
|
@ -158,9 +158,7 @@
|
|||
</template>
|
||||
|
||||
<script>
|
||||
import {
|
||||
oaLeaveData
|
||||
} from '@/static/server/server.js'
|
||||
|
||||
import {
|
||||
oaUploads
|
||||
} from '../../api/upload'
|
||||
|
@ -293,7 +291,7 @@
|
|||
let res = await appapproveview({
|
||||
id: type
|
||||
})
|
||||
console.log(res.data)
|
||||
|
||||
this.dataobj1 = res.data
|
||||
this.check_record = res.data.check_record
|
||||
this.applist1(res.data.detail.type)
|
||||
|
@ -343,24 +341,82 @@
|
|||
|
||||
|
||||
|
||||
if ('detail_type' in this.dataobj1.detail) {
|
||||
|
||||
if ('detail_type' in this.dataobj) {
|
||||
const detailTypeOptions = Object.entries(this.dataobj.detail_type.item).map(([id, name]) => ({
|
||||
id,
|
||||
name
|
||||
}));
|
||||
this.columns = detailTypeOptions
|
||||
|
||||
|
||||
for (let i in this.columns) {
|
||||
|
||||
|
||||
if (this.columns[i].id == this.dataobj1.detail.detail_type) {
|
||||
this.meatelist.detail_type = this.columns[i].name
|
||||
this.leavaTypeId1= this.columns[i].id
|
||||
}
|
||||
console.log(this.meatelist.detail_type,this.leavaTypeId1)
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
if ('department_type' in this.dataobj) {
|
||||
const detailTypeOptions = Object.entries(this.dataobj.department_type.item).map(([id, name]) => ({
|
||||
id,
|
||||
name
|
||||
}));
|
||||
this.columns = detailTypeOptions
|
||||
|
||||
for (let i in this.columns) {
|
||||
|
||||
if (this.columns[i].id == this.dataobj1.detail.department_type) {
|
||||
this.meatelist.department_type= this.columns[i].name
|
||||
this.leavaTypeId = this.columns[i].id
|
||||
}
|
||||
// console.log(this.meatelist.detail_type)
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
if ('other_type' in this.dataobj) {
|
||||
const detailTypeOptions = Object.entries(this.dataobj.other_type.item).map(([id, name]) => ({
|
||||
id,
|
||||
name
|
||||
}));
|
||||
this.columns = detailTypeOptions
|
||||
|
||||
for (let i in this.columns) {
|
||||
|
||||
if (this.columns[i].id == this.dataobj1.detail.other_type) {
|
||||
this.meatelist.other_type = this.columns[i].name
|
||||
this.leavaTypeId2= this.columns[i].id
|
||||
}
|
||||
// console.log(this.meatelist.detail_type)
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
if ('position_type' in this.dataobj) {
|
||||
const detailTypeOptions = Object.entries(this.dataobj.position_type.item).map(([id, name]) => ({
|
||||
id,
|
||||
name
|
||||
}));
|
||||
this.columns = detailTypeOptions
|
||||
|
||||
for (let i in this.columns) {
|
||||
|
||||
if (this.columns[i].id == this.dataobj1.detail.position_type) {
|
||||
this.meatelist.position_type = this.columns[i].name
|
||||
this.leavaTypeId3= this.columns[i].id
|
||||
}
|
||||
// console.log(this.meatelist.detail_type)
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
},
|
||||
|
|
|
@ -168,9 +168,7 @@
|
|||
</template>
|
||||
|
||||
<script>
|
||||
import {
|
||||
oaLeaveData
|
||||
} from '@/static/server/server.js'
|
||||
|
||||
import {
|
||||
oaUploads
|
||||
} from '../../api/upload'
|
||||
|
@ -598,6 +596,10 @@
|
|||
},
|
||||
async submiteBtn() {
|
||||
console.log(this.leavaTypeId2)
|
||||
if (this.meatelist.mobile) {
|
||||
const pattern = /^1[3456789]\d{9}$/;
|
||||
if (!pattern.test(this.meatelist.mobile)) return Toast('手机号输入错误')
|
||||
}
|
||||
let subData;
|
||||
let subData1;
|
||||
if (this.typeId == 6 || this.typeId == 7 || this.typeId == 8 || this.typeId == 21) {
|
||||
|
@ -759,11 +761,11 @@
|
|||
delImg(i) {
|
||||
let that = this
|
||||
uni.showModal({
|
||||
title: '删除图片',
|
||||
content: '确定删除图片?',
|
||||
title: '删除上传内容吗',
|
||||
content: '确定删除上传内容吗?',
|
||||
success: res => {
|
||||
if (res.confirm) {
|
||||
that.fileArray.splice((i, 1))
|
||||
that.fileArray.splice(i, 1)
|
||||
} else if (res.cancel) {
|
||||
console.log('用户点击取消');
|
||||
}
|
||||
|
|
|
@ -110,9 +110,7 @@
|
|||
|
||||
<script>
|
||||
|
||||
import {
|
||||
oaLeaveData
|
||||
} from '@/static/server/server.js'
|
||||
|
||||
import {
|
||||
oaUploads
|
||||
} from '../../api/upload'
|
||||
|
@ -464,7 +462,7 @@
|
|||
content: '确定删除图片?',
|
||||
success: res => {
|
||||
if (res.confirm) {
|
||||
that.fileArray.splice((i, 1))
|
||||
that.fileArray.splice(i, 1)
|
||||
} else if (res.cancel) {
|
||||
console.log('用户点击取消');
|
||||
}
|
||||
|
|
|
@ -0,0 +1,375 @@
|
|||
<template>
|
||||
<view class="content">
|
||||
|
||||
<view class="content-middle">
|
||||
|
||||
<view class="content-middle-three">
|
||||
<view class="middle-three">
|
||||
|
||||
|
||||
<view class="middle-threeb" style="margin-bottom: 20rpx;">
|
||||
|
||||
<view class="middle-threeb-title">
|
||||
<view class="title">
|
||||
{{list.send_time}}
|
||||
</view>
|
||||
<!-- <view class="title-status">
|
||||
{{list.send_time}}
|
||||
</view> -->
|
||||
</view>
|
||||
|
||||
<view class="middle-threeba">
|
||||
<view class="middle-threeb-a">
|
||||
|
||||
<view class="threeb-a-b">
|
||||
|
||||
<view class="name">消息:<text>{{list.content}}</text></view>
|
||||
<view class="name">用户:<text>{{list.users}}</text></view>
|
||||
<view class="name">发送时间:<text>{{list.send_time}}</text></view>
|
||||
|
||||
</view>
|
||||
</view>
|
||||
|
||||
</view>
|
||||
|
||||
|
||||
|
||||
</view>
|
||||
|
||||
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<u-empty v-if="list.length==0" text="没有信息" icon="/static/empty/data.png"></u-empty>
|
||||
|
||||
</view>
|
||||
</template>
|
||||
|
||||
|
||||
<script>
|
||||
import {
|
||||
|
||||
appmessageread
|
||||
} from '@/api/oa.js'
|
||||
import {
|
||||
HTTP_REQUEST_URL
|
||||
} from '@/config/app.js'
|
||||
import {
|
||||
Toast
|
||||
} from '@/libs/uniApi.js'
|
||||
export default {
|
||||
|
||||
data() {
|
||||
return {
|
||||
|
||||
|
||||
keyword: '',
|
||||
list: {},
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
};
|
||||
},
|
||||
computed: {
|
||||
|
||||
},
|
||||
onLoad(option) {
|
||||
|
||||
this.getDocumentList(option.type)
|
||||
},
|
||||
onShow() {
|
||||
|
||||
},
|
||||
|
||||
methods: {
|
||||
|
||||
//获取任务
|
||||
async getDocumentList(id) {
|
||||
|
||||
let res = await appmessageread({
|
||||
id: id
|
||||
|
||||
})
|
||||
console.log(res.data)
|
||||
this.list = res.data
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
};
|
||||
</script>
|
||||
|
||||
|
||||
<style lang="scss">
|
||||
page {
|
||||
padding-bottom: 88rpx;
|
||||
}
|
||||
|
||||
|
||||
.content-middle {
|
||||
.content-middle-one {
|
||||
.middle-one {
|
||||
display: flex;
|
||||
background-color: #FFFFFF;
|
||||
padding: 28rpx 18rpx;
|
||||
|
||||
.search {
|
||||
font-size: 28rpx;
|
||||
font-family: PingFang SC-Regular, PingFang SC;
|
||||
font-weight: 400;
|
||||
color: #666666;
|
||||
width: 149rpx;
|
||||
line-height: 63rpx;
|
||||
height: 63rpx;
|
||||
background: #FFFFFF;
|
||||
text-align: center;
|
||||
border-radius: 35rpx 35rpx;
|
||||
border: 2rpx solid #E6E5E5;
|
||||
margin-left: 18rpx;
|
||||
}
|
||||
|
||||
.content-middle-search {
|
||||
display: flex;
|
||||
width: 527rpx;
|
||||
height: 63rpx;
|
||||
line-height: 63rpx;
|
||||
padding-left: 30rpx;
|
||||
background: #F7F7F7;
|
||||
border-radius: 35rpx 35rpx;
|
||||
font-size: 25rpx;
|
||||
|
||||
input {
|
||||
width: 527rpx;
|
||||
height: 63rpx;
|
||||
line-height: 63rpx;
|
||||
padding-left: 30rpx;
|
||||
}
|
||||
|
||||
.placeholder {
|
||||
font-size: 25rpx;
|
||||
font-family: PingFang SC-Regular, PingFang SC;
|
||||
font-weight: 400;
|
||||
color: #999999;
|
||||
padding-left: 30rpx;
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
.content-middle-sai {
|
||||
display: flex;
|
||||
width: 149rpx;
|
||||
height: 63rpx;
|
||||
line-height: 63rpx;
|
||||
background: #FFFFFF;
|
||||
border-radius: 35rpx 35rpx;
|
||||
border: 2rpx solid #E6E5E5;
|
||||
margin-left: 18rpx;
|
||||
|
||||
.content-middle-saia {
|
||||
|
||||
width: 29rpx;
|
||||
height: 28rpx;
|
||||
margin-left: 25rpx;
|
||||
margin-right: 10rpx;
|
||||
|
||||
image {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
}
|
||||
|
||||
.content-middle-saib {
|
||||
font-size: 28rpx;
|
||||
|
||||
font-family: PingFang SC-Regular, PingFang SC;
|
||||
font-weight: 400;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.content-middle-search-detail {
|
||||
background-color: #FFFFFF;
|
||||
|
||||
:nth-last-child(1) {
|
||||
border: none !important;
|
||||
}
|
||||
|
||||
.search-detail {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
padding-right: 195rpx;
|
||||
padding: 18rpx 53rpx;
|
||||
border-bottom: 2rpx solid #E6E6E6;
|
||||
;
|
||||
|
||||
|
||||
.search-detail-one {}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
.content-middle-three {
|
||||
margin-top: 26rpx;
|
||||
|
||||
|
||||
|
||||
.middle-three {
|
||||
.middle-threea {
|
||||
font-size: 35rpx;
|
||||
font-family: PingFang SC-Bold, PingFang SC;
|
||||
font-weight: bold;
|
||||
color: #3274F9;
|
||||
margin-bottom: 30rpx;
|
||||
}
|
||||
|
||||
.middle-threeb {
|
||||
background-color: #FFFFFF;
|
||||
padding: 28rpx 28rpx;
|
||||
|
||||
.middle-threeb-title {
|
||||
height: 98rpx;
|
||||
line-height: 98rpx;
|
||||
border-bottom: 1px solid #CCCCCC;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
margin-bottom: 20rpx;
|
||||
|
||||
.title {
|
||||
font-size: 32rpx;
|
||||
font-family: PingFang SC-Medium, PingFang SC;
|
||||
font-weight: 500;
|
||||
color: #333333;
|
||||
}
|
||||
|
||||
.title-status {
|
||||
font-size: 32rpx;
|
||||
font-family: PingFang SC-Medium, PingFang SC;
|
||||
font-weight: 500;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
.middle-threeba {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
|
||||
.middle-threeb-a {
|
||||
|
||||
.threeb-a-b {
|
||||
view {
|
||||
margin-bottom: 20rpx;
|
||||
}
|
||||
|
||||
.middle-edit {
|
||||
width: 645rpx;
|
||||
height: 63rpx;
|
||||
line-height: 63rpx;
|
||||
background: #e6e5d9;
|
||||
text-align: center;
|
||||
font-size: 28rpx;
|
||||
font-family: PingFang SC-Regular, PingFang SC;
|
||||
font-weight: 400;
|
||||
color: #000;
|
||||
margin-bottom: 20rpx;
|
||||
|
||||
}
|
||||
|
||||
.middle-delete {
|
||||
width: 645rpx;
|
||||
height: 63rpx;
|
||||
line-height: 63rpx;
|
||||
background: #F02828;
|
||||
text-align: center;
|
||||
font-size: 28rpx;
|
||||
font-family: PingFang SC-Regular, PingFang SC;
|
||||
font-weight: 400;
|
||||
color: #FFFFFF;
|
||||
|
||||
}
|
||||
|
||||
.name {
|
||||
font-size: 35rpx;
|
||||
|
||||
font-family: PingFang SC-Bold, PingFang SC;
|
||||
font-weight: bold;
|
||||
color: #333333;
|
||||
|
||||
text {
|
||||
font-size: 25rpx;
|
||||
font-family: PingFang SC-Regular, PingFang SC;
|
||||
font-weight: 400;
|
||||
color: #CCCCCC;
|
||||
}
|
||||
}
|
||||
|
||||
.achor {
|
||||
font-size: 28rpx;
|
||||
font-family: PingFang SC-Regular, PingFang SC;
|
||||
font-weight: 400;
|
||||
color: #999999;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
.middle-threeb-b {
|
||||
|
||||
height: 80rpx;
|
||||
|
||||
|
||||
|
||||
image {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
.content-middle-two {
|
||||
width: 386rpx;
|
||||
height: 70rpx;
|
||||
line-height: 70rpx;
|
||||
background: #3274F9;
|
||||
border-radius: 60rpx 60rpx;
|
||||
z-index: 99999;
|
||||
|
||||
font-size: 32rpx;
|
||||
font-family: PingFang SC-Regular, PingFang SC;
|
||||
font-weight: 400;
|
||||
color: #FFFFFF;
|
||||
display: flex;
|
||||
margin: 0 auto;
|
||||
margin-top: 25rpx;
|
||||
|
||||
|
||||
.middle-two-img {
|
||||
width: 23rpx;
|
||||
height: 23rpx;
|
||||
margin-left: 52rpx;
|
||||
margin-right: 10rpx;
|
||||
|
||||
image {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
</style>
|
|
@ -0,0 +1,491 @@
|
|||
<template>
|
||||
<view class="content">
|
||||
|
||||
<view class="content-middle" :style="{'opacity':!screenShow?'0.4':''}">
|
||||
|
||||
<view class="content-middle-three" v-if="list.length>0">
|
||||
<view class="middle-three">
|
||||
|
||||
|
||||
<view class="middle-threeb" v-for="(items,j) in list" :key='j' @click="msg(items.id)"
|
||||
style="margin-bottom: 20rpx;">
|
||||
<liu-swipe-action :index="j">
|
||||
<view class="middle-threeb-title">
|
||||
<view class="title">
|
||||
{{items.msg_type}}
|
||||
</view>
|
||||
<view class="title-status">
|
||||
{{items.create_time}}
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view class="middle-threeba">
|
||||
<view class="middle-threeb-a">
|
||||
|
||||
<view class="threeb-a-b">
|
||||
|
||||
<view class="name">消息:<text>{{items.title}}</text></view>
|
||||
|
||||
|
||||
<!-- <view class="achor">{{items.name2}}</view> -->
|
||||
<!-- <view class="middle-edit" @click="editpart(items)">
|
||||
编辑
|
||||
</view>
|
||||
<view class="middle-delete" @click="clickItem(items)">
|
||||
删除
|
||||
</view> -->
|
||||
</view>
|
||||
</view>
|
||||
<!-- <view class="middle-threeb-b">
|
||||
{{items.name}}
|
||||
</view> -->
|
||||
</view>
|
||||
|
||||
</liu-swipe-action>
|
||||
|
||||
</view>
|
||||
|
||||
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="content-middle" :style="{'position':'absolute','top':0+'px','zIndex':999}" v-if="!screenShow">
|
||||
<view class="content-middle-one">
|
||||
<view class="middle-one">
|
||||
<view class="content-middle-search">
|
||||
<text class='iconfont icon-sousuo2'></text>
|
||||
<input type='text' :value='keyword' placeholder='搜索任务状态、优先级、部门等' placeholder-class='placeholder'
|
||||
@input="setValue"></input>
|
||||
</view>
|
||||
<view class="content-middle-sai" @click="screen" style="background-color: #3274F9;">
|
||||
<view class="content-middle-saia">
|
||||
<image src="../../static/images/saixuan.png" mode="aspectFit"></image>
|
||||
</view>
|
||||
<view class="content-middle-saib" style="color: #fff;">
|
||||
筛选
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="content-middle-search-detail">
|
||||
<view class="search-detail" v-for="(item,k) in klist" :key='k'>
|
||||
<view class="search-detail-one">
|
||||
<view class="name">
|
||||
{{item.name}}
|
||||
</view>
|
||||
</view>
|
||||
<view class="search-detail-two">
|
||||
{{item.name1}}
|
||||
</view>
|
||||
</view>
|
||||
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<u-empty v-if="loadConfig.status=='nomore'&& list.length==0" text="没有信息"
|
||||
icon="/static/empty/data.png"></u-empty>
|
||||
<u-loadmore v-else :status="loadConfig.status" :loading-text="loadConfig.loadingText"
|
||||
:loadmore-text="loadConfig.loadmoreText" :nomore-text="loadConfig.nomoreText" />
|
||||
</view>
|
||||
</template>
|
||||
|
||||
|
||||
<script>
|
||||
import {
|
||||
appmessageinbox,
|
||||
appmessageread
|
||||
} from '@/api/oa.js'
|
||||
import {
|
||||
HTTP_REQUEST_URL
|
||||
} from '@/config/app.js'
|
||||
import {
|
||||
Toast
|
||||
} from '@/libs/uniApi.js'
|
||||
export default {
|
||||
|
||||
data() {
|
||||
return {
|
||||
show: false,
|
||||
btnList: [{
|
||||
id: '1',
|
||||
name: '编辑',
|
||||
width: '100rpx',
|
||||
height: '100rpx',
|
||||
bgColor: '#5f92f7',
|
||||
color: '#FFFFFF',
|
||||
fontSize: '28rpx'
|
||||
}, {
|
||||
id: '2',
|
||||
name: '删除',
|
||||
height: '100rpx',
|
||||
width: '100rpx',
|
||||
bgColor: '#ed656d',
|
||||
color: '#FFFFFF',
|
||||
fontSize: '28rpx'
|
||||
}],
|
||||
loadConfig: {
|
||||
page: 1,
|
||||
limit: 5,
|
||||
loadingText: '努力加载中',
|
||||
loadmoreText: '轻轻上拉',
|
||||
nomoreText: '我也是有底线的~~',
|
||||
status: 'loadmore'
|
||||
},
|
||||
keyword: '',
|
||||
list: [],
|
||||
klist: [],
|
||||
screenShow: true
|
||||
|
||||
|
||||
|
||||
};
|
||||
},
|
||||
computed: {
|
||||
httpRequestUrl() {
|
||||
return HTTP_REQUEST_URL;
|
||||
}
|
||||
},
|
||||
onLoad() {
|
||||
|
||||
},
|
||||
onShow() {
|
||||
this.initList()
|
||||
},
|
||||
onReachBottom() {
|
||||
this.getDocumentList()
|
||||
},
|
||||
onPullDownRefresh() {
|
||||
uni.stopPullDownRefresh()
|
||||
},
|
||||
methods: {
|
||||
async initList() {
|
||||
this.loadConfig.page = 1;
|
||||
this.loadConfig.status = "loadmore";
|
||||
this.list = [];
|
||||
await this.getDocumentList();
|
||||
},
|
||||
//获取任务
|
||||
async getDocumentList() {
|
||||
if (this.loadConfig.status == "nomore") return;
|
||||
this.loadConfig.status = "loading"
|
||||
let res = await appmessageinbox({
|
||||
page: this.loadConfig.page,
|
||||
limit: this.loadConfig.limit,
|
||||
|
||||
})
|
||||
|
||||
|
||||
this.loadConfig.status = "loadmore"
|
||||
if (res.data.data.length < this.loadConfig.limit) {
|
||||
this.loadConfig.status = "nomore"
|
||||
} else {
|
||||
this.loadConfig.page++;
|
||||
}
|
||||
this.list = [...this.list, ...res.data?.data]
|
||||
|
||||
},
|
||||
|
||||
|
||||
|
||||
//删除
|
||||
async msg(id) {
|
||||
|
||||
const res = await appmessageread({
|
||||
id: id
|
||||
})
|
||||
uni.navigateTo({
|
||||
url: '/pages/message/detail??type=' + id
|
||||
})
|
||||
// console.log(res)
|
||||
},
|
||||
taskDetail(item) {
|
||||
|
||||
},
|
||||
//编辑任务
|
||||
editpart(item) {
|
||||
|
||||
|
||||
},
|
||||
//查询
|
||||
search() {
|
||||
this.initList()
|
||||
},
|
||||
//输入监听
|
||||
setValue(e) {
|
||||
this.keyword = e.detail.value
|
||||
if (this.keyword.length == 0) {
|
||||
this.initList()
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
||||
|
||||
|
||||
<style lang="scss">
|
||||
page {
|
||||
padding-bottom: 88rpx;
|
||||
}
|
||||
|
||||
|
||||
.content-middle {
|
||||
.content-middle-one {
|
||||
.middle-one {
|
||||
display: flex;
|
||||
background-color: #FFFFFF;
|
||||
padding: 28rpx 18rpx;
|
||||
|
||||
.search {
|
||||
font-size: 28rpx;
|
||||
font-family: PingFang SC-Regular, PingFang SC;
|
||||
font-weight: 400;
|
||||
color: #666666;
|
||||
width: 149rpx;
|
||||
line-height: 63rpx;
|
||||
height: 63rpx;
|
||||
background: #FFFFFF;
|
||||
text-align: center;
|
||||
border-radius: 35rpx 35rpx;
|
||||
border: 2rpx solid #E6E5E5;
|
||||
margin-left: 18rpx;
|
||||
}
|
||||
|
||||
.content-middle-search {
|
||||
display: flex;
|
||||
width: 527rpx;
|
||||
height: 63rpx;
|
||||
line-height: 63rpx;
|
||||
padding-left: 30rpx;
|
||||
background: #F7F7F7;
|
||||
border-radius: 35rpx 35rpx;
|
||||
font-size: 25rpx;
|
||||
|
||||
input {
|
||||
width: 527rpx;
|
||||
height: 63rpx;
|
||||
line-height: 63rpx;
|
||||
padding-left: 30rpx;
|
||||
}
|
||||
|
||||
.placeholder {
|
||||
font-size: 25rpx;
|
||||
font-family: PingFang SC-Regular, PingFang SC;
|
||||
font-weight: 400;
|
||||
color: #999999;
|
||||
padding-left: 30rpx;
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
.content-middle-sai {
|
||||
display: flex;
|
||||
width: 149rpx;
|
||||
height: 63rpx;
|
||||
line-height: 63rpx;
|
||||
background: #FFFFFF;
|
||||
border-radius: 35rpx 35rpx;
|
||||
border: 2rpx solid #E6E5E5;
|
||||
margin-left: 18rpx;
|
||||
|
||||
.content-middle-saia {
|
||||
|
||||
width: 29rpx;
|
||||
height: 28rpx;
|
||||
margin-left: 25rpx;
|
||||
margin-right: 10rpx;
|
||||
|
||||
image {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
}
|
||||
|
||||
.content-middle-saib {
|
||||
font-size: 28rpx;
|
||||
|
||||
font-family: PingFang SC-Regular, PingFang SC;
|
||||
font-weight: 400;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.content-middle-search-detail {
|
||||
background-color: #FFFFFF;
|
||||
|
||||
:nth-last-child(1) {
|
||||
border: none !important;
|
||||
}
|
||||
|
||||
.search-detail {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
padding-right: 195rpx;
|
||||
padding: 18rpx 53rpx;
|
||||
border-bottom: 2rpx solid #E6E6E6;
|
||||
;
|
||||
|
||||
|
||||
.search-detail-one {}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
.content-middle-three {
|
||||
margin-top: 26rpx;
|
||||
|
||||
|
||||
|
||||
.middle-three {
|
||||
.middle-threea {
|
||||
font-size: 35rpx;
|
||||
font-family: PingFang SC-Bold, PingFang SC;
|
||||
font-weight: bold;
|
||||
color: #3274F9;
|
||||
margin-bottom: 30rpx;
|
||||
}
|
||||
|
||||
.middle-threeb {
|
||||
background-color: #FFFFFF;
|
||||
padding: 28rpx 28rpx;
|
||||
|
||||
.middle-threeb-title {
|
||||
height: 98rpx;
|
||||
line-height: 98rpx;
|
||||
border-bottom: 1px solid #CCCCCC;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
margin-bottom: 20rpx;
|
||||
|
||||
.title {
|
||||
font-size: 32rpx;
|
||||
font-family: PingFang SC-Medium, PingFang SC;
|
||||
font-weight: 500;
|
||||
color: #333333;
|
||||
}
|
||||
|
||||
.title-status {
|
||||
font-size: 32rpx;
|
||||
font-family: PingFang SC-Medium, PingFang SC;
|
||||
font-weight: 500;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
.middle-threeba {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
|
||||
.middle-threeb-a {
|
||||
|
||||
.threeb-a-b {
|
||||
view {
|
||||
margin-bottom: 20rpx;
|
||||
}
|
||||
|
||||
.middle-edit {
|
||||
width: 645rpx;
|
||||
height: 63rpx;
|
||||
line-height: 63rpx;
|
||||
background: #e6e5d9;
|
||||
text-align: center;
|
||||
font-size: 28rpx;
|
||||
font-family: PingFang SC-Regular, PingFang SC;
|
||||
font-weight: 400;
|
||||
color: #000;
|
||||
margin-bottom: 20rpx;
|
||||
|
||||
}
|
||||
|
||||
.middle-delete {
|
||||
width: 645rpx;
|
||||
height: 63rpx;
|
||||
line-height: 63rpx;
|
||||
background: #F02828;
|
||||
text-align: center;
|
||||
font-size: 28rpx;
|
||||
font-family: PingFang SC-Regular, PingFang SC;
|
||||
font-weight: 400;
|
||||
color: #FFFFFF;
|
||||
|
||||
}
|
||||
|
||||
.name {
|
||||
font-size: 35rpx;
|
||||
|
||||
font-family: PingFang SC-Bold, PingFang SC;
|
||||
font-weight: bold;
|
||||
color: #333333;
|
||||
|
||||
text {
|
||||
font-size: 25rpx;
|
||||
font-family: PingFang SC-Regular, PingFang SC;
|
||||
font-weight: 400;
|
||||
color: #CCCCCC;
|
||||
}
|
||||
}
|
||||
|
||||
.achor {
|
||||
font-size: 28rpx;
|
||||
font-family: PingFang SC-Regular, PingFang SC;
|
||||
font-weight: 400;
|
||||
color: #999999;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
.middle-threeb-b {
|
||||
|
||||
height: 80rpx;
|
||||
|
||||
|
||||
|
||||
image {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
.content-middle-two {
|
||||
width: 386rpx;
|
||||
height: 70rpx;
|
||||
line-height: 70rpx;
|
||||
background: #3274F9;
|
||||
border-radius: 60rpx 60rpx;
|
||||
z-index: 99999;
|
||||
|
||||
font-size: 32rpx;
|
||||
font-family: PingFang SC-Regular, PingFang SC;
|
||||
font-weight: 400;
|
||||
color: #FFFFFF;
|
||||
display: flex;
|
||||
margin: 0 auto;
|
||||
margin-top: 25rpx;
|
||||
|
||||
|
||||
.middle-two-img {
|
||||
width: 23rpx;
|
||||
height: 23rpx;
|
||||
margin-left: 52rpx;
|
||||
margin-right: 10rpx;
|
||||
|
||||
image {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
</style>
|
|
@ -9,6 +9,15 @@
|
|||
|
||||
<!-- #endif -->
|
||||
<view class="personage">
|
||||
<view class="box" @click="msg">
|
||||
<u-icon name="bell" color="#fff" size="28"></u-icon>
|
||||
<view>
|
||||
|
||||
<view>
|
||||
<u-badge numberType="limit" :type="type" max="99" :value="value"></u-badge>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="my_msg ">
|
||||
<view class="my_msg-con">
|
||||
<u--image :showLoading="true" :src="`${HTTP_IMG_URL}${oaUserInfo.thumb}`" width="130.28rpx"
|
||||
|
@ -43,7 +52,7 @@
|
|||
</view>
|
||||
</view>
|
||||
|
||||
<!-- <view class="my_class">
|
||||
<!-- <view class="my_class">
|
||||
<view class="my_class-con" v-for="(item,i) in list" :key="i" @click="navTo(item.paths)">
|
||||
<view class="name">{{item.value}}</view>
|
||||
<view class="title">{{item.title}}</view>
|
||||
|
@ -85,6 +94,10 @@
|
|||
import {
|
||||
userInfo
|
||||
} from '@/api/oaUser.js'
|
||||
import {
|
||||
appmessageinbox
|
||||
} from '@/api/oa.js'
|
||||
|
||||
import {
|
||||
Toast
|
||||
} from '@/libs/uniApi.js'
|
||||
|
@ -95,6 +108,8 @@
|
|||
options: {
|
||||
data: '',
|
||||
},
|
||||
type: "warning",
|
||||
value: 100,
|
||||
uniMP: false,
|
||||
myOaData: [{
|
||||
name: '工资详情',
|
||||
|
@ -151,6 +166,7 @@
|
|||
onShow() {
|
||||
if (uni.getStorageSync('uniMP')) this.uniMP = true;
|
||||
this.getOaUserInfo();
|
||||
this.listmsg()
|
||||
},
|
||||
onHide() {
|
||||
this.modelShow = false;
|
||||
|
@ -172,7 +188,21 @@
|
|||
}
|
||||
},
|
||||
methods: {
|
||||
|
||||
async listmsg() {
|
||||
let res = await appmessageinbox({
|
||||
page: 1,
|
||||
limit: 10000,
|
||||
|
||||
})
|
||||
this.value=res.data.data.length
|
||||
|
||||
|
||||
},
|
||||
msg(){
|
||||
uni.navigateTo({
|
||||
url:'/pages/message/index'
|
||||
})
|
||||
},
|
||||
leftClick(e) {
|
||||
uni.sendHostEvent('closeApp', e, (ret) => {
|
||||
//发送消息成功回调
|
||||
|
@ -428,6 +458,13 @@
|
|||
}
|
||||
}
|
||||
|
||||
.box {
|
||||
position: absolute;
|
||||
right: 30rpx;
|
||||
display: flex;
|
||||
top: 20rpx;
|
||||
}
|
||||
|
||||
.log_out {
|
||||
color: #fff;
|
||||
border-radius: 100px;
|
||||
|
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue