提交 ef2efdfe 作者: wk

待办功能页面完善

父级 10e4f3d9
......@@ -222,6 +222,14 @@ const params = {
url: "/proxy/adminc/v1/system_manage/p_app/application",
method: "get"
},
getProjectInfo: {
url: "/plat/api/v1/project/get_project_info",
method: "get"
},
getNeedDo: {
url: "/plat/api/v1/common_check/check_object/my_form_list",
method: "get"
}
}
export default buildParam(params)
import Api from "./api.js"
async function $mta(menuName = '', routeUrl = '') {
console.log(menuName, routeUrl);
async function $mta(appId = '') {
console.log(appId);
Api.uploadVisApp({
data: {
menuName: menuName,
routeUrl: routeUrl
appId: appId
}
}).then((result) => {
......
const $config = {
pwdTemplateNo: "industry-0001",
loginTemplateNo: "industry-0001",
systemCode: "industry",
authCode: "CED4DE04-BA74-81DF-E51E-9864E4FD0DCB", //开发CED4DE04-BA74-81DF-E51E-9864E4FD0DCB 测试:494BBE85-A6AD-392F-5628-12B39F649333 正式:D0539533-E169-5338-8ED7-3FAD554F4F62
systemCode: "buildingSite",
authCode: "477A0661-EF04-11F7-9D69-0BDD73F06500", //开发CED4DE04-BA74-81DF-E51E-9864E4FD0DCB 测试:494BBE85-A6AD-392F-5628-12B39F649333 正式:D0539533-E169-5338-8ED7-3FAD554F4F62
pageSize: 20,
isPage: 1,
smsCfg: "industry"
......
......@@ -50,7 +50,7 @@
"quickapp" : {},
/* 小程序特有相关 */
"mp-weixin" : {
"appid" : "wx3c46a41af47a9eb7",
"appid" : "wxa38e989a4ba04775",
"setting" : {
"urlCheck" : false
},
......
......@@ -330,6 +330,38 @@
"navigationStyle": "custom"
}
}, {
"path": "pages/gallery/allNeedDo/allNeedDo",
"style": {
"navigationBarTitleText": "",
"enablePullDownRefresh": false,
"navigationStyle": "custom"
}
}, {
"path": "pages/gallery/finishNeedDo/finishNeedDo",
"style": {
"navigationBarTitleText": "",
"enablePullDownRefresh": false,
"navigationStyle": "custom"
}
}, {
"path": "pages/gallery/searchNeedDo/searchNeedDo",
"style": {
"navigationBarTitleText": "",
"enablePullDownRefresh": false,
"navigationStyle": "custom"
}
}, {
"path": "pages/gallery/processFormDetailPage/processFormDetailPage",
"style": {
"navigationBarTitleText": "",
"enablePullDownRefresh": false,
"navigationStyle": "custom"
}
}
],
"globalStyle": {
......
<template>
<view class="content">
<titleBar title="全部待办"></titleBar>
<view class="count-content">共有10条待办,当前有
<span class="span">[3]</span>
条待办事项
</view>
<v-tabs :tabs="tabs" :scroll="true" :value="current" @change="tabChange"></v-tabs>
<view class="list-content">
<view v-for="(item,index) in list" :key="index" class="list-item">
<image class="image" src="../../../static/ic-jrdb.png"></image>
<view class="item-content">
<view class="title">张三发起了隐患整改,请于2022/12/13 15:37:56前完成隐患整改。</view>
<view class="time-content">
<view class="create-time">2022/12/13 15:39:56</view>
<view class="leave-time">处理倒计时:0天20小时23分</view>
</view>
<view class="line" style="margin: 30rpx 0;"></view>
</view>
</view>
</view>
</view>
</template>
<script>
export default {
data() {
return {
tabs: ["全部待办", "未处理", "已处理"],
current: 0,
list: [{}, {}, {}]
}
},
onLoad() {
},
methods: {
tabChange(e) {
this.current = e
}
}
}
</script>
<style lang="scss">
.content {
display: flex;
flex-direction: column;
.count-content {
display: flex;
width: 550rpx;
margin: 20rpx 0;
background-color: #fff;
padding-left: 30rpx;
height: 30px;
align-items: center;
flex-direction: row;
border-radius: 0 30rpx 30rpx 0;
font-size: 28rpx;
color: #333;
font-weight: 400;
.span {
font-weight: 600;
color: #FFAA44;
}
}
.list-content {
display: flex;
flex-direction: column;
border-radius: 30rpx;
margin: 0 30rpx;
background-color: #fff;
.list-item {
display: flex;
padding: 30rpx 30rpx 0 30rpx;
flex-direction: row;
image {
width: 28rpx;
height: 28rpx;
}
.item-content {
display: flex;
flex-direction: column;
margin-left: 10rpx;
.title {
font-weight: 400;
font-size: 24rpx;
color: #656565;
}
.line {
width: 600rpx;
height: 0.5px;
background: rgba(0, 0, 0, 0.2);
}
.time-content {
display: flex;
margin-top: 10rpx;
align-items: center;
flex-direction: row;
.create-time {
font-weight: 400;
font-size: 24rpx;
flex: 1;
color: #656565;
}
.leave-time {
font-weight: 500;
font-size: 24rpx;
color: #333;
}
}
}
}
}
}
</style>
<template>
<view class="content">
<titleBar title="完成待办"></titleBar>
<view class="count-content">已经完成【10】条待办事项</view>
<view class="list-content">
<view v-for="(item,index) in list" :key="index" class="list-item">
<image class="image" src="../../../static/ic-jrdb.png"></image>
<view class="item-content">
<view class="title">张三发起了隐患整改,请于2022/12/13 15:37:56前完成隐患整改。</view>
<view class="time-content">
<view class="create-time">2022/12/13 15:39:56</view>
<view class="leave-time">处理倒计时:0天20小时23分</view>
</view>
<view class="line" style="margin: 30rpx 0;"></view>
</view>
</view>
</view>
</view>
</template>
<script>
export default {
data() {
return {
list: [{}, {}, {}]
}
},
methods: {
}
}
</script>
<style lang="scss">
.content {
display: flex;
flex-direction: column;
.count-content {
display: flex;
width: 400rpx;
margin: 20rpx 0;
background-color: #fff;
padding-left: 30rpx;
height: 30px;
align-items: center;
flex-direction: row;
border-radius: 0 30rpx 30rpx 0;
font-size: 28rpx;
color: #333;
font-weight: 400;
.span {
font-weight: 600;
color: #FFAA44;
}
}
.list-content {
display: flex;
flex-direction: column;
border-radius: 30rpx;
margin: 0 30rpx;
background-color: #fff;
.list-item {
display: flex;
padding: 30rpx 30rpx 0 30rpx;
flex-direction: row;
image {
width: 28rpx;
height: 28rpx;
}
.item-content {
display: flex;
flex-direction: column;
margin-left: 10rpx;
.title {
font-weight: 400;
font-size: 24rpx;
color: #656565;
}
.line {
width: 600rpx;
height: 0.5px;
background: rgba(0, 0, 0, 0.2);
}
.time-content {
display: flex;
margin-top: 10rpx;
align-items: center;
flex-direction: row;
.create-time {
font-weight: 400;
font-size: 24rpx;
flex: 1;
color: #656565;
}
.leave-time {
font-weight: 500;
font-size: 24rpx;
color: #333;
}
}
}
}
}
}
</style>
<template>
<view class="content">
<titleBar title="我的待办"></titleBar>
<view class="search-content">
<view class="search-content" @click="toSearch">
<image src="../../../static/ic-search.png" class="image"></image>
<input placeholder="搜索" placeholder-class="placeholderStyle" @input="search" class="inputStyle" />
<view class="inputStyle">搜索</view>
</view>
<view class="needdo-content">
<view class="item-content" @click="toLink('/pages/gallery/todayNeedDo/todayNeedDo')">
......@@ -11,31 +11,36 @@
<text class="text">今日待办</text>
<image class="image" src="../../../static/ic-today.png"></image>
</view>
<view class="count">3</view>
<view class="count">{{todayCount}}</view>
</view>
<view class="item-content" style="margin-left: 20rpx;">
<view class="item-content" style="margin-left: 20rpx;"
@click="toLink('/pages/gallery/allNeedDo/allNeedDo')">
<view class="title-content">
<text class="text">全部待办</text>
<image class="image" src="../../../static/ic-all.png"></image>
</view>
<view class="count">5</view>
<view class="count">{{allCount}}</view>
</view>
<view class="item-content" style="margin-top: 20rpx;">
<view class="item-content" style="margin-top: 20rpx;"
@click="toLink('/pages/gallery/finishNeedDo/finishNeedDo')">
<view class="title-content">
<text class="text">完成待办</text>
<image class="image" src="../../../static/ic-finish.png"></image>
</view>
<view class="count">5</view>
<view class="count">{{finishCount}}</view>
</view>
</view>
</view>
</template>
<script>
import Api from "../../../api/api.js"
export default {
data() {
return {
todayCount: 0,
allCount: 0,
finishCount: 0
}
},
methods: {
......@@ -43,6 +48,53 @@
uni.navigateTo({
url: router
})
},
toSearch() {
uni.navigateTo({
url: "/pages/gallery/searchNeedDo/searchNeedDo"
})
},
getTodayNeedDo() {
Api.getNeedDo({
data: {
is_page: 1,
page: 1,
page_size: 5,
is_today: 1
}
}).then((result) => {
if (result.code == 0) {
this.todayCount = result.data.total_count
}
})
},
getAllNeedDo() {
Api.getNeedDo({
data: {
is_page: 1,
page: 1,
page_size: 5,
is_deal: 2
}
}).then((result) => {
if (result.code == 0) {
this.allCount = result.data.total_count
}
})
},
getFinishNeedDo() {
Api.getNeedDo({
data: {
is_page: 1,
page: 1,
page_size: 5,
is_deal: 1
}
}).then((result) => {
if (result.code == 0) {
this.finishCount = result.data.total_count
}
})
}
}
}
......@@ -77,7 +129,7 @@
.inputStyle {
font-size: 24rpx;
margin-left: 20rpx;
color: #333;
color: #999;
}
}
......
<template>
<view class="content">
<titleBar title="搜索"></titleBar>
<view class="search-content">
<image src="../../../static/ic-search.png" class="image"></image>
<input placeholder="搜索" placeholder-class="placeholderStyle" @input="search" class="inputStyle" />
</view>
<view class="list-content">
<view v-for="(item,index) in list" :key="index" class="list-item" @click="itemClick(item)">
<image class="image" src="../../../static/ic-jrdb.png"></image>
<view class="item-content">
<view class="title">张三发起了隐患整改,请于2022/12/13 15:37:56前完成隐患整改。</view>
<view class="time-content">
<view class="create-time">2022/12/13 15:39:56</view>
<view class="leave-time">处理倒计时:0天20小时23分</view>
</view>
<view class="line" style="margin: 30rpx 0;"></view>
</view>
</view>
</view>
</view>
</template>
<script>
export default {
data() {
return {
list: [{}, {}, {}]
}
},
methods: {
itemClick: function(item) {
uni.navigateTo({
url: `/pages/gallery/processFormDetailPage/processFormDetailPage?obj_no=${item.obj_no}&check_module_id=${item.check_module_id}&check_tpl_id=${item.check_tpl_id}&project_id=${item.project_id}&title=${item.app_name}&is_edit=1`
})
},
}
}
</script>
<style lang="scss">
.content {
display: flex;
flex-direction: column;
.search-content {
display: flex;
flex-direction: row;
border: 1rpx solid #656565;
height: 30px;
margin: 30rpx;
width: 688rpx;
border-radius: 30rpx;
align-items: center;
image {
width: 24rpx;
margin-left: 30rpx;
height: 24rpx;
}
.placeholderStyle {
font-size: 24rpx;
color: #999;
}
.inputStyle {
font-size: 24rpx;
margin-left: 20rpx;
color: #333;
}
}
.list-content {
display: flex;
flex-direction: column;
border-radius: 30rpx;
margin: 0 30rpx;
background-color: #fff;
.list-item {
display: flex;
padding: 30rpx 30rpx 0 30rpx;
flex-direction: row;
image {
width: 28rpx;
height: 28rpx;
}
.item-content {
display: flex;
flex-direction: column;
margin-left: 10rpx;
.title {
font-weight: 400;
font-size: 24rpx;
color: #656565;
}
.line {
width: 600rpx;
height: 0.5px;
background: rgba(0, 0, 0, 0.2);
}
.time-content {
display: flex;
margin-top: 10rpx;
align-items: center;
flex-direction: row;
.create-time {
font-weight: 400;
font-size: 24rpx;
flex: 1;
color: #656565;
}
.leave-time {
font-weight: 500;
font-size: 24rpx;
color: #333;
}
}
}
}
}
}
</style>
......@@ -4,7 +4,7 @@
<view class="sel-content">
<view class="title-content">
<view style="font-weight: 400;font-size: 28rpx;color: #333;flex: 1;">设置常用业务</view>
<view style="font-weight: 600;font-size: 28rpx;color: #333;">恢复默认</view>
<view style="font-weight: 600;font-size: 28rpx;color: #333;" @click="toDef">恢复默认</view>
<view style="font-weight: 600;font-size: 28rpx;color: #333;margin-left: 30rpx;" @click="sureConfig">完成
</view>
</view>
......@@ -14,7 +14,7 @@
<view class="menu-item" v-for="(item,index) in selList" :key="index">
<view class="logo-content">
<image src="../../../static/ic-sjzg.png" class="logo"></image>
<image src="../../../static/delete-ic.png" class="del"></image>
<image src="../../../static/delete-ic.png" class="del" @click="toDel(item)"></image>
</view>
<view class="text">积分商城</view>
</view>
......@@ -29,7 +29,7 @@
<view class="menu-item" v-for="(app,appIndex) in selList" :key="appIndex">
<view class="logo-content">
<image src="../../../static/ic-sjzg.png" class="logo"></image>
<image src="../../../static/add-ic.png" class="del"></image>
<image src="../../../static/add-ic.png" class="del" @click="toAdd(item)"></image>
</view>
<view class="text">积分商城</view>
</view>
......@@ -67,6 +67,18 @@
},
sureConfig() {
uni.$emit("refreshApp")
uni.navigateBack({
delta: 1
})
},
toAdd(item) {
},
toDel(item) {
},
toDef() {
this.getDefaultApp()
}
}
}
......
......@@ -50,7 +50,7 @@
<uni-grid column="2" v-if="isOrg">
<uni-grid-item v-for="(app,index) in appList" :key="index">
<view class="app-item" @click="toLink(app)">
<view :class="isLineVisil(index)?'app-name-left':'app-name-right'">劳务积分</view>
<view :class="isLineVisil(index)?'app-name-left':'app-name-right'">{{app.app_name}}</view>
<image class="app-logo" src="../../static/ic-score-logo.png"></image>
<view class="line" v-if="isLineVisil(index)"></view>
</view>
......@@ -109,6 +109,7 @@
</template>
<script>
import App from "../../api/mta.js"
import qqmapsdk from "../../common/qqmap-wx-jssdk1.2/qqmap-wx-jssdk.js"
import Api from "../../api/api.js"
export default {
......@@ -175,6 +176,7 @@
that.getMyScore()
that.getHomeComp()
that.getWeather()
that.getCommonApp()
},
fail() {
uni.redirectTo({
......@@ -267,17 +269,21 @@
},
//获取常用应用
getCommonApp() {
Api.getNormalApp({
}).then((result) => {
Api.getNormalApp().then((result) => {
if (result.code == 0) {
this.appList = result.data.list
} else {
this.$toast.showToast(result.msg)
}
})
},
getRecentlyApp() {
Api.getNearApp({
}).then((result) => {
Api.getNearApp().then((result) => {
if (result.code == 0) {
this.appList = result.data.list
} else {
this.$toast.showToast(result.msg)
}
})
},
toLinkScore() {
......@@ -312,6 +318,7 @@
}
},
toLink(app) {
this.$mta(app.app_id)
uni.navigateTo({
url: "/pages/mine/myScore/myScore"
})
......
......@@ -11,7 +11,7 @@
<text>获得你的手机号信息</text>
</view>
<button class="bottom" open-type="getPhoneNumber" type="primary"
bindgetphonenumber="onGetPhoneNumber">获取手机号码授权登录</button>
@getphonenumber="getPhoneNumber">获取手机号码授权登录</button>
</view>
</view>
</view>
......@@ -30,52 +30,8 @@
};
},
methods: {
onGetPhoneNumber(e) {
var that = this;
wx.login({
success(res) {
if (res.code) {
console.log('步骤2获检查用户登录状态,获取用户电话号码!', res)
wx.request({
url: '这里写自己的获取授权的服务器地址',
data: {
code: res.code
},
header: {
'content-type': 'application/json'
},
success: function(res) {
console.log("步骤三获取授权码,获取授权openid,session_key", res);
var userphone = res.data.data;
wx.setStorageSync('userphoneKey', userphone);
//解密手机号
var msg = e.detail.errMsg;
var sessionID = wx.getStorageSync("userphoneKey").session_key;
var encryptedData = e.detail.encryptedData;
var iv = e.detail.iv;
if (msg == 'getPhoneNumber:ok') { //这里表示获取授权成功
wx.checkSession({
success: function() {
//这里进行请求服务端解密手机号
that.deciyption(sessionID, encryptedData,
iv);
},
fail: function() {
// that.userlogin()
}
})
}
},
fail: function(res) {
console.log("fail", res);
}
})
} else {
console.log('登录失败!' + res.errMsg)
}
}
})
getPhoneNumber(e) {
console.log(e)
},
authLogin() {
if (this.unique_token !== '') {
......
......@@ -17,11 +17,11 @@
<image src="../../static/right-arrow.png" class="image"></image>
</view>
<view class="line" v-if="isShow('项目信息')"></view>
<view class="item" v-if="isShow('项目过往')" @click="linkTo('/pages/mine/projectHistory/projectHistory')">
<view class="item" v-if="false" @click="linkTo('/pages/mine/projectHistory/projectHistory')">
<view class="name">项目过往</view>
<image src="../../static/right-arrow.png" class="image"></image>
</view>
<view class="line" v-if="isShow('项目过往')"></view>
<view class="line" v-if="false"></view>
<view class="item" @click="linkTo('/pages/mine/myApproval/myApproval')" v-if="isShow('我的审批')">
<view class="name">我的审批</view>
<image src="../../static/right-arrow.png" class="image"></image>
......
......@@ -86,7 +86,6 @@
this.requestParam.worker_id = this.userInfo.worker_id || ''
this.requestParam.project_id = this.project.project_id || ''
this.getScoreDetail()
this.$mta("我的积分", "pages/mine/myScore/myScore")
},
methods: {
getScoreDetail() {
......
......@@ -2,10 +2,10 @@
<view class="content">
<titleBar title="项目信息"></titleBar>
<view class="info-content">
<view class="name">XXXXX总承包工程项目</view>
<view class="name">{{project.project_name||""}}</view>
<view class="item">
<view class="item-name">上级组织:</view>
<view class="item-value">中建XXX建工公司</view>
<view class="item-value"></view>
</view>
<view class="line"></view>
<view class="item">
......@@ -15,48 +15,66 @@
<view class="line"></view>
<view class="item">
<view class="item-name">计划开工日期:</view>
<view class="item-value">2022/12/14</view>
<view class="item-value">{{project.contract_start_date}}</view>
</view>
<view class="line"></view>
<view class="item">
<view class="item-name">计划竣工日期:</view>
<view class="item-value">2023/01/14</view>
<view class="item-value">{{project.contract_end_date}}</view>
</view>
<view class="line"></view>
<view class="item">
<view class="item-name">项目地址:</view>
<view class="item-value">浙江省杭州市拱墅区</view>
<view class="item-value">{{project.province}}{{project.city}}{{project.area}}</view>
</view>
<view class="line"></view>
<view class="item">
<view class="item-name">详细地址:</view>
<view class="item-value">祥符街道122号</view>
<view class="item-value" style="width: 488rpx;">{{project.address}}</view>
</view>
<view class="line"></view>
<view class="item">
<view class="item-name">项目地图:</view>
</view>
</view>
<map class="map-content" :longitude="longitude" :latitude="latitude"></map>
<map class="map-content" :longitude="project.lon" :latitude="project.lat"></map>
<view class="jj-content">
<view class="item">
<view class="item-name">项目简介:</view>
<view class="item-value">XXXXXXX工程是指油XXX水库引水,XX河南北两岸各建一条干渠及支斗渠等田间配套工程组成,主要解决该地区河谷两岸灌溉。</view>
<view class="item-value"></view>
</view>
</view>
</view>
</template>
<script>
import Api from "../../../api/api.js"
export default {
data() {
return {
longitude: "122",
latitude: "36"
latitude: "36",
project: {}
}
},
onLoad() {
this.getProjectInfo()
},
methods: {
getProjectInfo() {
Api.getProjectInfo({
data: {
project_id: 358
}
}).then((result) => {
console.log("项目信息", result);
if (result.code == 0) {
this.project = result.data
} else {
this.$toast.showToast(result.msg)
}
})
}
}
}
</script>
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
Please register or to comment