From a89fe32c353040bbb95d7519cf7bafc4b5934f10 Mon Sep 17 00:00:00 2001
From: Mr.Zhang <710666463@qq.com>
Date: 星期三, 06 九月 2023 09:54:14 +0800
Subject: [PATCH] 小程序
---
minipro_standard/pages/index/index.vue | 468 ++++++++++++++++++++++++++++++++++++++++++++++++++++------
1 files changed, 417 insertions(+), 51 deletions(-)
diff --git a/minipro_standard/pages/index/index.vue b/minipro_standard/pages/index/index.vue
index 7308129..97d5592 100644
--- a/minipro_standard/pages/index/index.vue
+++ b/minipro_standard/pages/index/index.vue
@@ -1,77 +1,443 @@
<template>
- <view>
-
+ <view class="index">
+ <!-- <web-view v-if="show" @onPostMessage="onMessage" :src="'https://dmtest.ahapp.net/doumeeplant_h5/#/appletLogin?code=' + code"></web-view> -->
+ <!-- {{$store.state.statusbarHeight}} -->
+
+ <u-sticky>
+ <view class="plr50 pb30 nav-style">
+ <view
+ :style="{paddingTop: `${statusbarHeight}px`, height: `${navHeight}px`, lineHeight:`${navHeight}px`, textAlign: 'center'}">
+ 寰呭姙</view>
+ <view class="cY">
+ <u-search placeholder="鎼滅储鍏抽敭瀛�" bgColor="#f7f7f7" :showAction="false" @search="scrolltoupper"
+ shape="square" v-model="searchForm.mixParam"></u-search>
+ <image src="../../static/filter@2x.png" class="img48 ml20" @click="filterAction" mode=""></image>
+ </view>
+ <view class="cY mt30">
+ <view v-for="item in tagList" :key="item.id" class="sbtn rd8 mr10"
+ :class="searchForm.status==item.id?'sbtn_green':'sbtn_black_rim'" @click="selectType(item.id)">
+ {{`${item.name}(${item.num})`}}
+ </view>
+ </view>
+ </view>
+ </u-sticky>
+ <scroll-view v-if="projectList.length" scroll-y="true" refresher-enabled="true" :refresher-triggered="triggered"
+ :refresher-threshold="100" @refresherpulling="scrolltolower" @refresherrefresh="scrolltoupper"
+ >
+ <view v-for="(item, index) in projectList" :key="index">
+ <view class="box_list">
+ <view class="box_list_item" @click="jump(item)">
+ <view class="box_list_item_icon">
+ <image src="../../static/daiban_ic_daiban@2x.png" mode=""></image>
+ </view>
+ <view class="box_list_item_nr">
+ <view class="box_list_item_nr_top">
+ <span>{{item.title}}</span>
+ <span>{{item.createTime}}</span>
+ </view>
+ <view class="box_list_item_nr_bottom">
+ {{item.content}}
+ </view>
+ </view>
+ </view>
+ </view>
+ </view>
+ </scroll-view>
+ <view v-else class="tc c6">鏆傛棤鏁版嵁...</view>
+ <u-popup :show="show" @close="close" :round="8" zIndex="20000">
+ <view class="rp p40 contanir">
+ <view class="c2 b">绫诲瀷</view>
+ <view class="content">
+ <u-grid col="2" :border="false">
+ <u-grid-item v-for="item in types" :key="item.id">
+ <view class="ptb20 c9 type-style tc rd10" :class="type===item.id?'sbtn_green':'sbtn_gray'"
+ @click="type=item.id">{{ item.name }}</view>
+ </u-grid-item>
+ </u-grid>
+ </view>
+ <view class="flex ap tc bottom-view">
+ <view class="fx1 ptb20 sbtn_gray c9" @click="resetType">閲嶇疆</view>
+ <view class="fx1 ml20 ptb20 sbtn_green" @click="confirm">纭畾</view>
+ </view>
+ </view>
+ </u-popup>
<myTabbar :index="0" />
</view>
</template>
<script>
- // import { coustomLogin, wxEmpower } from '@/util/api/index'
-
-
import myTabbar from "@/components/myTabber.vue"
+ import {
+ getList,
+ pageCount
+ } from '@/util/api/agencyAPI'
+ import {
+ mapState
+ } from 'vuex'
export default {
components: {
myTabbar
},
data() {
return {
- form: {
- account: '',
- password: '',
+ code: '',
+ windowHeight: '',
+ show: false,
+ types: [{
+ id: 0,
+ name: '杞﹂棿棰嗘枡-寰呭彂璐�'
+ },
+ {
+ id: 1,
+ name: '杞﹂棿棰嗘枡-寰呭叆搴�'
+ },
+ {
+ id: 2,
+ name: '鏈哄彴澶囨枡-寰呭彂璐�'
+ },
+ {
+ id: 3,
+ name: '鏈哄彴澶囨枡-寰呭叆搴�'
+ },
+ {
+ id: 4,
+ name: '瀹屽伐鍏ュ簱-寰呮帴鏀�'
+ },
+ {
+ id: 5,
+ name: '搴撳瓨杞簱-寰呭彂璐�'
+ },
+ {
+ id: 6,
+ name: '搴撳瓨杞簱-寰呭叆搴�'
+ },
+ {
+ id: 7,
+ name: '鐢宠瀹℃壒'
+ },
+ {
+ id: 8,
+ name: '瀹㈤��/杩斿搧鍥炲巶妫�楠�'
+ }
+ ],
+ tagList: [{
+ id: 0,
+ name: '寰呭姙',
+ num: 0
+ },
+ {
+ id: 1,
+ name: '宸插姙',
+ num: 0
+ }
+ ],
+ type: '',
+ searchForm: {
+ mixParam: '',
+ status: 0,
+ type: ''
},
- logining: false,
- openId: ''
+ page: {
+ total: 0,
+ capacity: 10,
+ page: 1,
+ },
+ projectList: []
}
},
+ computed: {
+ ...mapState(['statusbarHeight', 'navHeight']),
+ },
+ async mounted() {
+ await this.$store.dispatch('getUpcomingNum')
+ this.tagList[0].num = this.$store.state.upcomingNum.d
+ this.tagList[1].num = this.$store.state.upcomingNum.y
+ },
onLoad() {
- // uni.login({
- // success: data => {
- // this.wxLogin(data.code)
- // },
- // fail: err => {
- // uni.$u.toast(err)
- // }
- // })
+ uni.getSystemInfo({
+ success: res => {
+ this.windowHeight = res.windowHeight
+
+ }
+ })
+ this.loadData()
},
methods: {
- // loginAction() {
- // if (!this.form.account || !this.form.password) {
- // uni.$u.toast('璐﹀彿鎴栬�呭瘑鐮佷笉鑳戒负绌�')
- // }
- // this.logining = true
- // coustomLogin({...this.form, openid: this.openId})
- // .then(res => {
- // this.$store.commit('SETTOKEN', res.token)
- // this.$store.commit('SETUSERINFO', res)
- // uni.navigateTo({
- // url:'/pages/projectList/projectList'
- // })
- // })
- // .finally(() => {
- // this.logining = false
- // })
- // },
- // wxLogin(code) {
- // wxEmpower({code})
- // .then(res => {
- // this.openId = res.openid
- // if (res.userInfo) {
- // this.$store.commit('SETTOKEN', res.userInfo.token)
- // this.$store.commit('SETUSERINFO', res.userInfo)
- // uni.navigateTo({
- // url:'/pages/projectList/projectList'
- // })
- // }
- // })
- // .catch(err => {
- // uni.$u.toast(err)
- // })
- // }
+ loadData() {
+ getList({
+ model: this.searchForm,
+ ...this.page
+ })
+ .then(res => {
+ let data = res.data
+ if (data.page == 1) {
+ this.projectList = []
+ }
+ this.page.page = data.page
+ this.page.total = data.total
+ this.projectList.push(...data.records)
+ })
+ .catch(err => {
+
+ })
+ },
+ scrolltolower() {
+ this.page.page = 1
+ this.loadData()
+ },
+ scrolltoupper() {
+ this.page.page += 1
+ this.loadData()
+ },
+ selectType(status) {
+ if (this.searchForm.status == status) return
+ this.searchForm.status = status
+ this.scrolltolower()
+ },
+ jump(item) {
+ if ((item.type === 0 || item.type === 2 || item.type === 5) && item.status === 0) { // 璺宠浆鍑哄簱(杞簱鍗�)
+ uni.navigateTo({
+ url: 'pages/OutOperation/OutOperation',
+ query: {
+ id: item.objId,
+ dbid: item.id,
+ type: 7
+ }
+ })
+ // router.push({
+ // name: 'issueOperation',
+ // query: {
+ // id: item.objId,
+ // dbid: item.id,
+ // type: 7
+ // }
+ // })
+ } else if ((item.type === 0 || item.type === 2 || item.type === 5) && item.status === 1) {
+ // router.push({
+ // name: 'wTransferDetail',
+ // query: {
+ // id: item.objId,
+ // status: item.status,
+ // type: item.type,
+ // dbid: item.id
+ // }
+ // })
+ } else if ((item.type === 1 || item.type === 4 || item.type === 6) && item.status === 0) { // 璺宠浆鍏ュ簱(杞簱鍗�)
+ if (item.type === 4) { // 璺宠浆瀹屽伐鍏ュ簱璇︽儏
+ // router.push({
+ // name: 'completionDetails',
+ // query: {
+ // id: item.objId,
+ // dbid: item.id,
+ // type: 7,
+ // isShow: 1,
+ // Type: item.type
+ // }
+ // })
+ return
+ }
+ uni.navigateTo({
+ url: '/pages/InOperation/InOperation',
+ query: {
+ id: item.objId,
+ dbid: item.id,
+ type: 7
+ }
+ })
+ // router.push({
+ // name: 'warehousing',
+ // query: {
+ // id: item.objId,
+ // dbid: item.id,
+ // type: 7
+ // }
+ // })
+ } else if ((item.type === 1 || item.type === 4 || item.type === 6) && item.status === 1) {
+ if (item.type === 4) { // 璺宠洓瀹屽伐鍏ュ簱璇︽儏
+ // router.push({
+ // name: 'completionDetails',
+ // query: {
+ // id: item.objId,
+ // dbid: item.id,
+ // type: 7,
+ // isShow: 2
+ // }
+ // })
+ return
+ }
+ // router.push({
+ // name: 'wTransferDetail',
+ // query: {
+ // id: item.objId
+ // }
+ // })
+ } else if (item.type === 3 && item.status === 0) { // 纭澶囨枡
+ // router.push({
+ // name: 'orderStock',
+ // query: {
+ // id: item.objId,
+ // dbid: item.id
+ // }
+ // })
+ } else if (item.type === 3 && item.status === 1) { // 澶囨枡锛堣浆搴撳崟璇︽儏锛�
+ // router.push({ name: 'wInboundDetail', query: { id: item.objId } })
+ // router.push({
+ // name: 'wTransferDetail',
+ // query: {
+ // id: item.objId
+ // }
+ // })
+ } else if (item.type === 9 && item.status === 0) { // 璋冩暣鍏ュ簱(鍏ュ簱鍗�)
+ // router.push({
+ // name: 'warehousing',
+ // query: {
+ // id: item.objId,
+ // dbid: item.id,
+ // type: 9
+ // }
+ // })
+ } else if (item.type === 9 && item.status === 1) {
+ // router.push({
+ // name: 'wInboundDetail',
+ // query: {
+ // id: item.objId
+ // }
+ // })
+ }
+ },
+ filterAction() {
+ this.show = true
+ },
+ close() {
+ this.show = false
+ },
+ resetType() {
+ this.type = ''
+ this.searchForm.type = ''
+ this.confirm()
+ },
+ confirm() {
+ this.searchForm.type = this.type
+ this.show = false
+ this.scrolltoupper()
+ }
}
}
</script>
<style lang="scss" scoped>
+ .index {
+ width: 100vw;
+ height: 100vh;
+ }
+ .nav-style {
+ border-bottom: 20rpx #f7f7f7 solid;
+ }
+
+ .box_list {
+ width: 100%;
+ padding: 0 30rpx;
+ display: flex;
+ flex-direction: column;
+ box-sizing: border-box;
+
+ .box_list_item {
+ padding: 30rpx 0;
+ display: flex;
+ border-bottom: 1rpx solid #E5E5E5;
+
+ &:last-child {
+ border: none;
+ }
+
+ .box_list_item_icon {
+ flex-shrink: 0;
+ width: 64rpx;
+ height: 64rpx;
+ margin-right: 24rpx;
+ position: relative;
+
+ .box_list_item_icon_active {
+ position: absolute;
+ right: 0;
+ top: 0;
+ width: 18rpx;
+ height: 18rpx;
+ border-radius: 50%;
+ background: #DE5243;
+ border: 2rpx solid #FFFFFF;
+ }
+
+ image {
+ width: 100%;
+ height: 100%;
+ }
+ }
+
+ .box_list_item_nr {
+ flex: 1;
+ display: flex;
+ flex-direction: column;
+
+ .box_list_item_nr_top {
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+
+ span {
+ &:first-child {
+ font-size: 30rpx;
+ font-weight: 500;
+ max-width: 450rpx;
+ color: #222222;
+ overflow: hidden;
+ white-space: nowrap;
+ text-overflow: ellipsis;
+ -o-text-overflow: ellipsis;
+ }
+
+ &:last-child {
+ flex-shrink: 0;
+ font-size: 24rpx;
+ font-weight: 400;
+ color: #999999;
+ margin-left: 10rpx;
+ overflow: hidden;
+ white-space: nowrap;
+ text-overflow: ellipsis;
+ -o-text-overflow: ellipsis;
+ }
+ }
+ }
+
+ .box_list_item_nr_bottom {
+ font-size: 28rpx;
+ font-weight: 400;
+ color: #666666;
+ margin-top: 16rpx;
+ word-break: break-all;
+ }
+ }
+ }
+ }
+
+ .contanir {
+ height: calc(env(safe-area-inset-bottom) + 720rpx);
+
+ .content {
+ margin-top: 20rpx;
+
+ .type-style {
+ width: 325rpx;
+ margin-bottom: 20rpx;
+ }
+ }
+ }
+
+ .bottom-view {
+ left: 40rpx;
+ right: 40rpx;
+ bottom: 0
+ }
</style>
--
Gitblit v1.9.3