19 changed files with 2712 additions and 160 deletions
@ -0,0 +1,881 @@ |
|||
<template> |
|||
<view class="page" @touchome.stop.prevent="preventHandler"> |
|||
|
|||
<view class="search"> |
|||
|
|||
<view class="search-input"> |
|||
<image class="search-input-img" src="../../static/baseIcon/search.png" mode="aspectFill"></image> |
|||
<input class="search-input-text" placeholder="输入已办工作名称" @input="searchInput" :disabled="false" /> |
|||
</view> |
|||
|
|||
<text class="search-text" @click="drawerClick">筛选</text> |
|||
|
|||
</view> |
|||
|
|||
<scroll-view class="scrollviewCss" scroll-y="false" refresher-enabled="true" :refresher-triggered="triggered" |
|||
:refresher-threshold="45" refresher-background="#f8f8f8" @refresherrefresh="onRefresh" |
|||
@refresherrestore="onRestore" @refresherabort="onAbort" @scrolltolower="scrollBottem"> |
|||
|
|||
<view> |
|||
<view v-for="(item,index) in dataList" class="newslist"> |
|||
|
|||
<view class="item-top"> |
|||
|
|||
<image class="item-top-img" src="../../static/baseIcon/work.png" mode="aspectFill"></image> |
|||
<view class="item-top-text" v-html="highLight(item.workName)">{{item.workName}}</view> |
|||
<text class="item-top-text2">{{item.state}}</text> |
|||
</view> |
|||
|
|||
<view class="item-con"> |
|||
<view > |
|||
<text class="item-con-text">发起人:</text> |
|||
<text class="item-con-text">{{item.name}}</text> |
|||
</view> |
|||
<view style="margin-top: 8px;"> |
|||
<text class="item-con-text">发起部门:</text> |
|||
<text class="item-con-text">{{item.department}}</text> |
|||
</view> |
|||
<view style="margin-top: 8px;"> |
|||
<text class="item-con-text">发起日期:</text> |
|||
<text class="item-con-text">{{item.startDate}}</text> |
|||
</view> |
|||
<view style="margin-top: 8px;"> |
|||
<text class="item-con-text">当前处理人:</text> |
|||
<text class="item-con-text">{{item.currentProcessor}}</text> |
|||
</view> |
|||
|
|||
|
|||
</view> |
|||
|
|||
<view class="item-bom"> |
|||
<view style="flex: 1;"></view> |
|||
<image class="item-bom-img" src="../../static/baseIcon/submitTime.png" mode="aspectFill"> |
|||
</image> |
|||
<text class="item-bom-text">{{item.submitDate}}</text> |
|||
</view> |
|||
|
|||
|
|||
</view> |
|||
|
|||
<!-- <uni-load-more :status="loadingType"></uni-load-more> --> |
|||
|
|||
</view> |
|||
<!-- 加载....没有更多 --> |
|||
<view style="line-height: 60rpx;margin-bottom: 50rpx;"> |
|||
<u-loadmore :status="status" :icon-type="iconType" :load-text="loadText" /> |
|||
</view> |
|||
</scroll-view> |
|||
|
|||
<uni-drawer ref="drawer" width="320" mode="right"> |
|||
|
|||
<view class="drawerView"> |
|||
<text style="color: #101010;font-size: 16px;font-weight: 600;font-family: sans-serif;">申请日期</text> |
|||
<view class="drawerView-date"> |
|||
<input class="drawerView-date-text" v-model="search.startDate" placeholder="开始日期" :disabled="true" |
|||
@click="openDate(1)"> |
|||
<text style="margin-left: 10px;margin-right: 10px;color: #777;">至</text> |
|||
<input class="drawerView-date-text" v-model="search.endDate" placeholder="结束日期" :disabled="true" |
|||
@click="openDate(2)"> |
|||
</view> |
|||
|
|||
<text |
|||
style="color: #101010;font-size: 16px;font-weight: 600;font-family: sans-serif; margin-top: 20px;">发起人</text> |
|||
|
|||
<!-- <uni-data-checkbox @change="checkboxChange" selectedColor="#007AFF" mode="list" :localdata="personnelList" :multiple="false" > |
|||
|
|||
</uni-data-checkbox> --> |
|||
|
|||
<scroll-view scroll-y :show-scrollbar="true" |
|||
style="display: flex;flex-direction: column; margin-top: 20px;width: 100%; height:50%; overflow:auto;"> |
|||
|
|||
<view class="to_do_content_list" :class="{'to_do_finish':item.checked}" |
|||
v-for="(item,index) in personnelList" :key="index" @click="select(item.id)"> |
|||
<view class="to_do_content_list_checkbox"> |
|||
<view class="checkbox"></view> |
|||
</view> |
|||
<!-- 内容 --> |
|||
<view class="to_do_content_list_cont">{{item.name}}</view> |
|||
</view> |
|||
|
|||
|
|||
|
|||
</scroll-view> |
|||
|
|||
|
|||
|
|||
|
|||
<view class="drawerView-bom"> |
|||
|
|||
<text class="drawerView-bom-text1" @click="resetClik">重置</text> |
|||
<text class="drawerView-bom-text2" @click="assignClick">确定</text> |
|||
|
|||
</view> |
|||
|
|||
<u-datetime-picker ref="datetimePicker" :closeOnClickOverlay='true' @close="cancelClick" |
|||
@cancel="cancelClick" @confirm="confirmClick" :show="datetimeShow" v-model="selectDate" mode="date" |
|||
:formatter="formatter"> |
|||
|
|||
</u-datetime-picker> |
|||
|
|||
</view> |
|||
|
|||
</uni-drawer> |
|||
</view> |
|||
|
|||
|
|||
</template> |
|||
|
|||
<script> |
|||
import { |
|||
formatTimeTwo |
|||
} from "@/utils/index"; |
|||
export default { |
|||
data() { |
|||
return { |
|||
searchText: "", |
|||
search: { |
|||
startDate: "", |
|||
endDate: "", |
|||
promoter: "" |
|||
}, |
|||
selectDate: "", |
|||
datetimeShow: false, |
|||
datetimeIndex: "1", |
|||
personnelList: [{ |
|||
id: "1", |
|||
name: "张安1", |
|||
department: "研发部", |
|||
checked: false |
|||
}, |
|||
{ |
|||
id: "2", |
|||
name: "张安2", |
|||
department: "研发部", |
|||
checked: false |
|||
}, |
|||
{ |
|||
id: "3", |
|||
name: "张安3", |
|||
department: "研发部", |
|||
checked: false |
|||
}, |
|||
{ |
|||
id: "4", |
|||
name: "张安4", |
|||
department: "研发部", |
|||
checked: false |
|||
}, |
|||
{ |
|||
id: "5", |
|||
name: "张安5", |
|||
department: "研发部", |
|||
checked: false |
|||
}, |
|||
{ |
|||
id: "6", |
|||
name: "张安6", |
|||
department: "研发部", |
|||
checked: false |
|||
}, |
|||
{ |
|||
id: "7", |
|||
name: "张安7", |
|||
department: "研发部", |
|||
checked: false |
|||
}, |
|||
{ |
|||
id: "8", |
|||
name: "张安8", |
|||
department: "研发部", |
|||
checked: false |
|||
}, |
|||
{ |
|||
id: "9", |
|||
name: "张安9", |
|||
department: "研发部", |
|||
checked: false |
|||
}, |
|||
{ |
|||
id: "10", |
|||
name: "张安10", |
|||
department: "研发部", |
|||
checked: false |
|||
}, |
|||
{ |
|||
id: "11", |
|||
name: "张安11", |
|||
department: "研发部", |
|||
checked: false |
|||
}, |
|||
{ |
|||
id: "12", |
|||
name: "张安12", |
|||
department: "研发部", |
|||
checked: false |
|||
}, |
|||
{ |
|||
id: "13", |
|||
name: "张安13", |
|||
department: "研发部", |
|||
checked: false |
|||
}, |
|||
{ |
|||
id: "14", |
|||
name: "张安14", |
|||
department: "研发部", |
|||
checked: false |
|||
}, |
|||
{ |
|||
id: "1", |
|||
name: "张安1", |
|||
department: "研发部", |
|||
checked: false |
|||
}, |
|||
{ |
|||
id: "15", |
|||
name: "张安16", |
|||
department: "研发部", |
|||
checked: false |
|||
}, |
|||
|
|||
], |
|||
triggered: true, |
|||
status: 'loadmore', |
|||
iconType: 'flower', |
|||
loadText: { |
|||
loadmore: '轻轻上拉', |
|||
loading: '努力加载中', |
|||
nomore: '拉也没用,没有了' |
|||
}, |
|||
listQuery: { |
|||
current: 1, |
|||
size: 10, |
|||
params: { |
|||
woekName: "", |
|||
} |
|||
}, |
|||
loadingType: 'more', //加载更多状态 |
|||
dataList: [{ |
|||
workName: "测试XXXX申请", |
|||
state: "经理审核", |
|||
name: "张磊", |
|||
department: "研发部", |
|||
startDate: "2022-01-23-10:26", |
|||
currentProcessor:"张衡、吴", |
|||
submitDate: "2022.01.28 10:28" |
|||
|
|||
}, |
|||
{ |
|||
workName: "测试XXXX申请", |
|||
state: "经理审核", |
|||
name: "张磊", |
|||
department: "研发部", |
|||
startDate: "2022-01-23-10:26", |
|||
currentProcessor:"张衡、吴", |
|||
submitDate: "2022.01.28 10:28" |
|||
|
|||
}, |
|||
{ |
|||
workName: "测试XXXX申请", |
|||
state: "经理审核", |
|||
name: "张磊", |
|||
department: "研发部", |
|||
startDate: "2022-01-23-10:26", |
|||
currentProcessor:"张衡、吴", |
|||
submitDate: "2022.01.28 10:28" |
|||
|
|||
}, |
|||
{ |
|||
workName: "测试XXXX申请", |
|||
state: "经理审核", |
|||
name: "张磊", |
|||
department: "研发部", |
|||
startDate: "2022-01-23-10:26", |
|||
currentProcessor:"张衡、吴", |
|||
submitDate: "2022.01.28 10:28" |
|||
|
|||
}, |
|||
{ |
|||
workName: "测试XXXX申请", |
|||
state: "经理审核", |
|||
name: "张磊", |
|||
department: "研发部", |
|||
startDate: "2022-01-23-10:26", |
|||
currentProcessor:"张衡、吴", |
|||
submitDate: "2022.01.28 10:28" |
|||
|
|||
}, |
|||
{ |
|||
workName: "测试XXXX申请", |
|||
state: "经理审核", |
|||
name: "张磊", |
|||
department: "研发部", |
|||
startDate: "2022-01-23-10:26", |
|||
currentProcessor:"张衡、吴", |
|||
submitDate: "2022.01.28 10:28" |
|||
|
|||
}, |
|||
{ |
|||
workName: "测试XXXX申请", |
|||
state: "经理审核", |
|||
name: "张磊", |
|||
department: "研发部", |
|||
startDate: "2022-01-23-10:26", |
|||
currentProcessor:"张衡、吴", |
|||
submitDate: "2022.01.28 10:28" |
|||
|
|||
}, |
|||
{ |
|||
workName: "测试XXXX申请", |
|||
state: "经理审核", |
|||
name: "张磊", |
|||
department: "研发部", |
|||
startDate: "2022-01-23-10:26", |
|||
currentProcessor:"张衡、吴", |
|||
submitDate: "2022.01.28 10:28" |
|||
|
|||
}, |
|||
{ |
|||
workName: "测试XXXX申请", |
|||
state: "经理审核", |
|||
name: "张磊", |
|||
department: "研发部", |
|||
startDate: "2022-01-23-10:26", |
|||
currentProcessor:"张衡、吴", |
|||
submitDate: "2022.01.28 10:28" |
|||
|
|||
}, |
|||
{ |
|||
workName: "测试XXXX申请", |
|||
state: "经理审核", |
|||
name: "张磊", |
|||
department: "研发部", |
|||
startDate: "2022-01-23-10:26", |
|||
currentProcessor:"张衡、吴", |
|||
submitDate: "2022.01.28 10:28" |
|||
|
|||
}, |
|||
{ |
|||
workName: "测试XXXX申请", |
|||
state: "经理审核", |
|||
name: "张磊", |
|||
department: "研发部", |
|||
startDate: "2022-01-23-10:26", |
|||
currentProcessor:"张衡、吴", |
|||
submitDate: "2022.01.28 10:28" |
|||
|
|||
}, |
|||
|
|||
{ |
|||
workName: "测试XXXX申请", |
|||
state: "经理审核", |
|||
name: "张磊", |
|||
department: "研发部", |
|||
startDate: "2022-01-23-10:26", |
|||
currentProcessor:"张衡、吴", |
|||
submitDate: "2022.01.28 10:28" |
|||
|
|||
}, |
|||
{ |
|||
workName: "测试XXXX申请", |
|||
state: "经理审核", |
|||
name: "张磊", |
|||
department: "研发部", |
|||
startDate: "2022-01-23-10:26", |
|||
currentProcessor:"张衡、吴", |
|||
submitDate: "2022.01.28 10:28" |
|||
|
|||
}, |
|||
|
|||
], |
|||
|
|||
}; |
|||
}, |
|||
// onShow() { |
|||
// this.listQuery.current = 1 |
|||
// this.dataList = []; |
|||
// this.loadData(); |
|||
// }, |
|||
// onLoad() { |
|||
|
|||
// }, |
|||
// onPullDownRefresh() { |
|||
// this.listQuery.current = 1 |
|||
// this.loadData('refresh'); |
|||
// setTimeout(function() { |
|||
// uni.stopPullDownRefresh(); |
|||
// }, 2000); |
|||
// }, |
|||
// //加载更多 |
|||
// onReachBottom() { |
|||
// this.listQuery.current = this.listQuery.current + 1 |
|||
// this.loadData(); |
|||
// }, |
|||
onReady() { |
|||
/* #ifdef MP-WEIXIN */ |
|||
// 微信小程序需要用此写法 |
|||
this.$refs.datetimePicker.setFormatter(this.formatter) |
|||
/* #endif */ |
|||
}, |
|||
methods: { |
|||
// 禁止滑动 |
|||
preventHandler() { |
|||
return |
|||
}, |
|||
/* 滚动到底部 */ |
|||
scrollBottem() { |
|||
console.log("滚动高度") |
|||
this.status = "nomore" |
|||
}, |
|||
onRefresh() { |
|||
setTimeout(() => { |
|||
this.triggered = false; |
|||
}, 2000) |
|||
console.log("进入"); |
|||
}, |
|||
/* 下拉被复位 */ |
|||
onRestore() { |
|||
this.triggered = true; // 需要重置 |
|||
console.log(this.triggered); |
|||
console.log("停止"); |
|||
}, |
|||
/* 下拉被中止,没下拉完就松手就会触发 */ |
|||
onAbort() { |
|||
console.log("onAbort"); |
|||
}, |
|||
searchInput(e) { |
|||
console.log("searchText》》》", e.detail.value); |
|||
this.searchText = e.detail.value |
|||
}, |
|||
highLight(value) { |
|||
console.log("highLight》》》", value); |
|||
if (value.includes(this.searchText)) { |
|||
value = value.replace( |
|||
this.searchText, |
|||
"<font style='color:red!important'>" + this.searchText + "</font>" |
|||
) |
|||
return value |
|||
} else { |
|||
return value |
|||
} |
|||
}, |
|||
drawerClick() { |
|||
this.$refs['drawer'].open() |
|||
}, |
|||
openDate(type) { |
|||
switch (type) { |
|||
case 1: |
|||
this.datetimeIndex = "1" |
|||
this.datetimeShow = true |
|||
break; |
|||
case 2: |
|||
this.datetimeIndex = "2" |
|||
this.datetimeShow = true |
|||
break; |
|||
default: |
|||
break; |
|||
} |
|||
}, |
|||
formatter(type, value) { |
|||
|
|||
if (type === 'year') { |
|||
return `${value}年` |
|||
} |
|||
if (type === 'month') { |
|||
return `${value}月` |
|||
} |
|||
if (type === 'day') { |
|||
return `${value}日` |
|||
} |
|||
return value |
|||
}, |
|||
cancelClick() { |
|||
this.datetimeShow = false |
|||
}, |
|||
confirmClick(date) { |
|||
console.log('confirmClick', date) |
|||
console.log('confirmClick', formatTimeTwo(parseInt(date.value), "Y-M-D")) |
|||
|
|||
switch (this.datetimeIndex) { |
|||
case "1": |
|||
this.search.startDate = formatTimeTwo(parseInt(date.value), "Y-M-D") |
|||
break; |
|||
case "2": |
|||
this.search.endDate = formatTimeTwo(parseInt(date.value), "Y-M-D") |
|||
break; |
|||
default: |
|||
break; |
|||
} |
|||
this.datetimeShow = false |
|||
|
|||
}, |
|||
// 点击item 选中 |
|||
select(id) { |
|||
|
|||
for (var i = 0; i < this.personnelList.length; i++) { |
|||
let item = this.personnelList[i] |
|||
|
|||
if (item.id == id) { |
|||
item.checked = !item.checked |
|||
} else { |
|||
item.checked = false |
|||
} |
|||
|
|||
} |
|||
|
|||
let index = this.personnelList.findIndex((item) => item.id == id) |
|||
console.log("我被点击了", this.personnelList[index].name); |
|||
|
|||
this.search.promoter = this.personnelList[index].checked ? this.personnelList[index].name : "" |
|||
console.log("promoter", this.search.promoter); |
|||
|
|||
// this.personnelList[index].checked = !this.personnelList[index].checked |
|||
}, |
|||
resetClik() { |
|||
this.search = { |
|||
startDate: "", |
|||
endDate: "", |
|||
promoter: "" |
|||
} |
|||
}, |
|||
|
|||
assignClick() { |
|||
console.log('confirm', this.search) |
|||
this.datetimeShow = false |
|||
|
|||
this.$refs['drawer'].close() |
|||
|
|||
uni.showToast({ |
|||
icon: "none", |
|||
title: JSON.stringify( this.search), |
|||
duration: 5000, |
|||
}); |
|||
}, |
|||
|
|||
//加载商品 ,带下拉刷新和上滑加载 |
|||
async loadData(type = 'add', loading) { |
|||
//没有更多直接返回 |
|||
if (type === 'add') { |
|||
if (this.loadingType === 'nomore') { |
|||
return; |
|||
} |
|||
this.loadingType = 'loading'; |
|||
} else { |
|||
this.loadingType = 'more'; |
|||
} |
|||
|
|||
var list = [] |
|||
|
|||
this.$api.storeHouseListPage(this.listQuery).then((resp) => { |
|||
// if (resp.success) { |
|||
console.log('1111', resp) |
|||
|
|||
this.listQuery = { |
|||
current: resp.current, |
|||
size: 10, |
|||
params: { |
|||
|
|||
} |
|||
} |
|||
list = resp.records |
|||
|
|||
console.log("消息列表", list) |
|||
// this.goodsList = list; |
|||
// let goodsList = await this.$api.json('goodsList'); |
|||
if (type === 'refresh') { |
|||
this.dataList = []; |
|||
} |
|||
|
|||
this.dataList = this.dataList.concat(list); |
|||
console.log("消息列表>>>>>", this.dataList.length) |
|||
//判断是否还有下一页,有是more 没有是nomore(测试数据判断大于20就没有了) |
|||
this.loadingType = this.dataList.length > list.total ? 'nomore' : 'more'; |
|||
if (type === 'refresh') { |
|||
if (loading == 1) { |
|||
uni.hideLoading(); |
|||
} else { |
|||
uni.stopPullDownRefresh(); |
|||
} |
|||
} |
|||
|
|||
}).catch(e => { |
|||
console.log('eeeee', e) |
|||
}) |
|||
|
|||
}, |
|||
} |
|||
} |
|||
</script> |
|||
|
|||
<style lang="scss"> |
|||
.popup-show { |
|||
overflow: hidden; |
|||
position: fixed; |
|||
height: 100%; |
|||
width: 100%; |
|||
} |
|||
|
|||
.page { |
|||
width: 100%; |
|||
height: 100%; |
|||
|
|||
.drawerView { |
|||
height: 100%; |
|||
display: flex; |
|||
flex-direction: column; |
|||
padding: 15px 20px; |
|||
background: #fff; |
|||
|
|||
.drawerView-date { |
|||
margin-top: 20px; |
|||
display: flex; |
|||
flex-direction: row; |
|||
align-items: center; |
|||
|
|||
.drawerView-date-text { |
|||
text-align: center; |
|||
background-color: #F4F5F9; |
|||
border-radius: 20px; |
|||
padding: 10px 20px; |
|||
font-size: 14px; |
|||
} |
|||
} |
|||
|
|||
.to_do_content_list { |
|||
position: relative; |
|||
padding: 15px; |
|||
margin: 15px; |
|||
border-radius: 5px; |
|||
background: #eee; |
|||
color: #666; |
|||
overflow: hidden; |
|||
display: flex; |
|||
align-items: center; |
|||
} |
|||
|
|||
// .to_do_content_list::after { |
|||
// position: absolute; |
|||
// content: ""; |
|||
// top: 0; |
|||
// bottom: 0; |
|||
// left: 0; |
|||
// width: 10px; |
|||
// background: #2C405A; |
|||
|
|||
// } |
|||
|
|||
.to_do_content_list_checkbox { |
|||
padding-right: 20px; |
|||
padding-left: 10px; |
|||
} |
|||
|
|||
.checkbox { |
|||
width: 20px; |
|||
height: 20px; |
|||
border-radius: 50%; |
|||
background: #FFFFFF; |
|||
} |
|||
|
|||
.to_do_finish .checkbox { |
|||
position: relative; |
|||
background: #FFFFFF; |
|||
} |
|||
|
|||
.to_do_finish .checkbox:after { |
|||
position: absolute; |
|||
content: ""; |
|||
height: 10px; |
|||
width: 10px; |
|||
top: 0; |
|||
right: 0; |
|||
bottom: 0; |
|||
left: 0; |
|||
margin: auto; |
|||
border-radius: 50%; |
|||
background: #007AFF; |
|||
} |
|||
|
|||
.to_do_finish .to_do_content_list_cont { |
|||
color: #007AFF; |
|||
} |
|||
|
|||
// .to_do_finish.to_do_content_list:before { |
|||
|
|||
// position: absolute; |
|||
// content: ""; |
|||
// left: 40px; |
|||
// right: 10px; |
|||
// top: 0; |
|||
// bottom: 0; |
|||
// height: 2px; |
|||
// margin: auto 0; |
|||
// background: #007AFF; |
|||
// } |
|||
|
|||
.to_do_finish.to_do_content_list::after { |
|||
background: #C35CDF; |
|||
} |
|||
|
|||
|
|||
.drawerView-bom { |
|||
width: 85%; |
|||
position: fixed; |
|||
display: flex; |
|||
flex-direction: row; |
|||
align-items: center; |
|||
bottom: 0; |
|||
min-height: 40px; |
|||
margin-bottom: 50px; |
|||
background: #EA4726; |
|||
border-radius: 20px; |
|||
padding: 1px; |
|||
|
|||
.drawerView-bom-text1 { |
|||
flex: 1; |
|||
text-align: center; |
|||
min-height: 38px; |
|||
line-height: 38px; |
|||
color: #EA4726; |
|||
background: #fff; |
|||
font-size: 14px; |
|||
border-radius: 20px 0px 20px 20px; |
|||
// border-top-left-radius: 20px; |
|||
// border-bottom-left-radius: 20px; |
|||
// border-bottom-right-radius:20px; |
|||
} |
|||
|
|||
.drawerView-bom-text2 { |
|||
flex: 1; |
|||
line-height: 38px; |
|||
color: #fff; |
|||
font-size: 14px; |
|||
text-align: center; |
|||
} |
|||
} |
|||
|
|||
} |
|||
|
|||
.search { |
|||
display: flex; |
|||
flex-direction: row; |
|||
align-items: center; |
|||
background: #007AFF; |
|||
width: 100%; |
|||
padding: 10px; |
|||
|
|||
.search-input { |
|||
flex: 1; |
|||
margin-left: 15px; |
|||
background: #fff; |
|||
border-radius: 30px; |
|||
padding: 5px; |
|||
display: flex; |
|||
flex-direction: row; |
|||
align-items: center; |
|||
margin-right: 20px; |
|||
|
|||
.search-input-img { |
|||
margin-left: 10px; |
|||
width: 20px; |
|||
height: 20px; |
|||
} |
|||
|
|||
.search-input-text { |
|||
margin-left: 10px; |
|||
font-size: 14px; |
|||
color: #000; |
|||
} |
|||
} |
|||
|
|||
.search-text { |
|||
margin-right: 30px; |
|||
font-size: 15px; |
|||
color: #fff; |
|||
} |
|||
} |
|||
|
|||
.scrollviewCss { |
|||
overflow-y: hidden; |
|||
height: 90vh; |
|||
|
|||
.newslist { |
|||
display: flex; |
|||
flex-direction: column; |
|||
background: #fff; |
|||
border-radius: 12px; |
|||
margin-left: 12px; |
|||
margin-right: 12px; |
|||
margin-top: 12px; |
|||
padding: 15px 20px; |
|||
|
|||
.item-top { |
|||
display: flex; |
|||
flex-direction: row; |
|||
align-items: center; |
|||
padding-bottom: 12px; |
|||
padding-left: 5px; |
|||
padding-right: 5px; |
|||
border-bottom: 1px solid #F1F3F5; |
|||
|
|||
.item-top-img { |
|||
width: 18px; |
|||
height: 18px; |
|||
} |
|||
|
|||
.item-top-text { |
|||
flex: 1; |
|||
margin-left: 5px; |
|||
margin-right: 10px; |
|||
font-size: 16px; |
|||
color: #101010; |
|||
font-weight: 600; |
|||
font-family: sans-serif; |
|||
overflow: hidden; |
|||
text-overflow: ellipsis; |
|||
display: -webkit-box; |
|||
-webkit-line-clamp: 1; |
|||
-webkit-box-orient: vertical; |
|||
} |
|||
|
|||
.item-top-text2 { |
|||
font-size: 14px; |
|||
color: #0A59F7; |
|||
} |
|||
} |
|||
|
|||
.item-con { |
|||
margin-top: 12px; |
|||
display: flex; |
|||
flex-direction: column; |
|||
|
|||
.item-con-text { |
|||
font-size: 15px; |
|||
color: #666666; |
|||
} |
|||
} |
|||
|
|||
.item-bom { |
|||
width: 100%; |
|||
margin-top: 12px; |
|||
padding-top: 10px; |
|||
border-top: 1px solid #F1F3F5; |
|||
display: flex; |
|||
flex-direction: row; |
|||
align-items: center; |
|||
justify-content: end; |
|||
|
|||
.item-bom-img { |
|||
width: 14px; |
|||
height: 14px; |
|||
} |
|||
|
|||
.item-bom-text { |
|||
margin-left: 5px; |
|||
font-size: 14px; |
|||
color: #999; |
|||
} |
|||
} |
|||
} |
|||
} |
|||
} |
|||
</style> |
@ -0,0 +1,467 @@ |
|||
<template> |
|||
<view class="pages"> |
|||
<uni-card title="36524快消品动产质押项目" :isFull="true" extra="点击下载Excel文件" :thumbnail="avatar" |
|||
style="padding-top: 10px;"> |
|||
<template v-slot:title> |
|||
<uni-section :title="info.projectName" title-font-size="25" type="line"> |
|||
<template v-slot:decoration> |
|||
<uni-icons type="location-filled" size="18" color="green"></uni-icons> |
|||
</template> |
|||
<template v-slot:right> <uni-tag :inverted="true" text="下载Excel文件" type="primary" |
|||
@click="onClick" /> </template> |
|||
</uni-section> |
|||
</template> |
|||
|
|||
<view style="display: flex;flex-direction: column;"> |
|||
|
|||
<view class="item"> |
|||
<text class="text1">仓库数量</text> |
|||
<text class="text2">{{info.stockNumber}}</text> |
|||
</view> |
|||
|
|||
<view class="item"> |
|||
<text class="text1">汇总时间</text> |
|||
<text class="text2">{{info.reportTime}}</text> |
|||
</view> |
|||
|
|||
<view class="item" style="border-bottom: none;"> |
|||
<text class="text1">库存货值</text> |
|||
<text class="text2">{{info.countAmount}}</text> |
|||
</view> |
|||
|
|||
|
|||
</view> |
|||
|
|||
<!-- <uni-list> |
|||
<uni-list-item title="上报日期:" :rightText="logInfo.reportTime"></uni-list-item> |
|||
<uni-list-item title="货值总计:" :right-text="logInfo.countAmount"></uni-list-item> |
|||
</uni-list> --> |
|||
|
|||
<!-- <view v-for="(item, index) in tableData1" style="margin-top: 10px;"> |
|||
<view> |
|||
<uni-title type="h3" :title="item.storeType" color="#444"></uni-title> |
|||
<uni-row> |
|||
<uni-col :span="8"> |
|||
<view class="table-header tleft"><text>仓库数量</text></view> |
|||
</uni-col> |
|||
<uni-col :span="8"> |
|||
<view class="table-header"><text>品种数量</text></view> |
|||
</uni-col> |
|||
<uni-col :span="8"> |
|||
<view class="table-header"><text>品种货值</text></view> |
|||
</uni-col> |
|||
</uni-row> |
|||
<uni-row> |
|||
<uni-col :span="8"> |
|||
<view class="table-body tleft"><text>{{item.storeNumber}}</text></view> |
|||
</uni-col> |
|||
<uni-col :span="8"> |
|||
<view class="table-body"><text>{{item.productCountNumber}}</text></view> |
|||
</uni-col> |
|||
<uni-col :span="8"> |
|||
<view class="table-body"><text>{{item.productAmount}}</text></view> |
|||
</uni-col> |
|||
</uni-row> |
|||
|
|||
</view> |
|||
</view> --> |
|||
|
|||
</uni-card> |
|||
|
|||
<view v-for="(item, index) in list" style="margin-top: 10px;"> |
|||
|
|||
<view class="layout" @click="itemClick(item)"> |
|||
|
|||
<image src="../../static/baseIcon/warehouse.png" mode="aspectFill" style="width: 12px;height: 12px;"> |
|||
</image> |
|||
|
|||
<view class="content"> |
|||
<text class="content-text1">{{item.storeName}}</text> |
|||
<text class="content-text2">{{item.productAmount }}</text> |
|||
|
|||
</view> |
|||
<image src="../../static/baseIcon/zy.png" mode="aspectFill" style="width: 14px;height: 14px;"></image> |
|||
</view> |
|||
|
|||
|
|||
</view> |
|||
|
|||
<!-- |
|||
<uni-collapse style="margin-top: 10px;"> |
|||
|
|||
<uni-collapse-item title="仓库库存明细表" style="font-size: 18px;" :open="false"> |
|||
|
|||
<view style="display: flex;flex-direction: row;margin-left: 16px;"> |
|||
|
|||
<view style="flex: 1;"> |
|||
<text>商品数量合计:</text> |
|||
<text>{{logInfo2.countProductNumber}}</text> |
|||
</view> |
|||
|
|||
<view style="flex: 1;"> |
|||
<text>商品货值合计:</text> |
|||
<text>{{logInfo2.countAmount}}</text> |
|||
</view> |
|||
|
|||
</view> |
|||
<view class="ttbale" style="margin-top: 10px;"> |
|||
<uni-row> |
|||
<uni-col :span="8"> |
|||
<view class="table-header tleft"><text>序号</text></view> |
|||
</uni-col> |
|||
<uni-col :span="16"> |
|||
<view class="table-header"><text>仓库名称</text></view> |
|||
</uni-col> |
|||
</uni-row> |
|||
<uni-row> |
|||
<uni-col :span="8"> |
|||
<view class="table-header tleft"><text>商品数量</text></view> |
|||
</uni-col> |
|||
<uni-col :span="8"> |
|||
<view class="table-header"><text>商品品种数量</text></view> |
|||
</uni-col> |
|||
<uni-col :span="8"> |
|||
<view class="table-header"><text>货值</text></view> |
|||
</uni-col> |
|||
</uni-row> |
|||
</view> |
|||
|
|||
<view v-for="(item, index) in tableData2"> |
|||
|
|||
<view class="ttbale"> |
|||
<uni-row> |
|||
<uni-col :span="8"> |
|||
<view class="table-body tleft"><text>{{index+1}}</text></view> |
|||
</uni-col> |
|||
<uni-col :span="16"> |
|||
<view class="table-body"><text>{{item.storeCodeName}}</text></view> |
|||
</uni-col> |
|||
</uni-row> |
|||
<uni-row> |
|||
<uni-col :span="8"> |
|||
<view class="table-body tleft"><text>{{ item.productCountNumber}}</text></view> |
|||
</uni-col> |
|||
<uni-col :span="8"> |
|||
<view class="table-body"><text>{{item.typeNumber}}</text></view> |
|||
</uni-col> |
|||
<uni-col :span="8"> |
|||
<view class="table-body"><text>{{item.productAmount}}</text></view> |
|||
</uni-col> |
|||
</uni-row> |
|||
</view> |
|||
</view> |
|||
|
|||
</uni-collapse-item> |
|||
|
|||
<uni-collapse-item title="烟草库存明细表" style="font-size: 18px;" :open="false"> |
|||
|
|||
<view style="display: flex;flex-direction: row;margin-left: 16px;"> |
|||
|
|||
<view style="flex: 1;"> |
|||
<text>商品数量合计:</text> |
|||
<text>{{logInfo3.countProductNumber}}</text> |
|||
</view> |
|||
|
|||
<view style="flex: 1;"> |
|||
<text>商品货值合计:</text> |
|||
<text>{{logInfo3.countAmount}}</text> |
|||
</view> |
|||
|
|||
</view> |
|||
<view class="ttbale" style="margin-top: 10px;"> |
|||
<uni-row> |
|||
<uni-col :span="8"> |
|||
<view class="table-header tleft"><text>序号</text></view> |
|||
</uni-col> |
|||
<uni-col :span="16"> |
|||
<view class="table-header"><text>仓库名称</text></view> |
|||
</uni-col> |
|||
</uni-row> |
|||
<uni-row> |
|||
<uni-col :span="8"> |
|||
<view class="table-header tleft"><text>商品数量</text></view> |
|||
</uni-col> |
|||
<uni-col :span="8"> |
|||
<view class="table-header"><text>商品品种数量</text></view> |
|||
</uni-col> |
|||
<uni-col :span="8"> |
|||
<view class="table-header"><text>货值</text></view> |
|||
</uni-col> |
|||
</uni-row> |
|||
</view> |
|||
|
|||
<view v-for="(item, index) in tableData3"> |
|||
|
|||
<view class="ttbale"> |
|||
<uni-row> |
|||
<uni-col :span="8"> |
|||
<view class="table-body tleft"><text>{{index+1}}</text></view> |
|||
</uni-col> |
|||
<uni-col :span="16"> |
|||
<view class="table-body"><text>{{item.storeCodeName}}</text></view> |
|||
</uni-col> |
|||
</uni-row> |
|||
<uni-row> |
|||
<uni-col :span="8"> |
|||
<view class="table-body tleft"><text>{{ item.productCountNumber}}</text></view> |
|||
</uni-col> |
|||
<uni-col :span="8"> |
|||
<view class="table-body"><text>{{item.typeNumber}}</text></view> |
|||
</uni-col> |
|||
<uni-col :span="8"> |
|||
<view class="table-body"><text>{{item.productAmount}}</text></view> |
|||
</uni-col> |
|||
</uni-row> |
|||
</view> |
|||
</view> |
|||
|
|||
|
|||
</uni-collapse-item> |
|||
|
|||
|
|||
</uni-collapse> --> |
|||
|
|||
|
|||
|
|||
|
|||
</view> |
|||
</template> |
|||
|
|||
<script> |
|||
export default { |
|||
components: {}, |
|||
data() { |
|||
return { |
|||
params: { |
|||
projectSid: "", |
|||
orderDate: "", |
|||
}, |
|||
info: { |
|||
fullUrl: "", |
|||
projectName: "", |
|||
stockNumber: "", |
|||
reportTime: "", |
|||
countAmount: "", |
|||
}, |
|||
list: [ |
|||
// { |
|||
// sid: "", |
|||
// name: "", |
|||
// price: "" |
|||
// }, |
|||
// { |
|||
// sid: "", |
|||
// name: "", |
|||
// price: "" |
|||
// }, |
|||
], |
|||
|
|||
} |
|||
}, |
|||
onLoad(option) { |
|||
|
|||
this.params = option |
|||
|
|||
this.params = { |
|||
projectSid: option.projectSid, |
|||
orderDate: option.orderDate |
|||
} |
|||
|
|||
this.getData() |
|||
|
|||
|
|||
|
|||
}, |
|||
onShow() { |
|||
wx.hideHomeButton() |
|||
}, |
|||
methods: { |
|||
onClick(e) { |
|||
if (this.info.fullUrl == '') { |
|||
uni.showToast({ |
|||
icon: "none", |
|||
title: "下载地址错误,请重新进入页面。", |
|||
duration: 5000 |
|||
}) |
|||
return |
|||
} |
|||
|
|||
|
|||
uni.downloadFile({ |
|||
url: this.info.fullUrl, // 网络文档地址 |
|||
success: (data) => { |
|||
if (data.statusCode === 200) { |
|||
uni.saveFile({ |
|||
tempFilePath: data.tempFilePath, //临时路径 |
|||
success: function(res) { |
|||
// 保存路径 |
|||
uni.showToast({ |
|||
title: "文件已保存:" + res.savedFilePath, |
|||
duration: 5000 |
|||
}) |
|||
setTimeout(() => { |
|||
//打开文档查看 |
|||
uni.openDocument({ |
|||
filePath: res.savedFilePath, |
|||
showMenu: true, //右上角是否有可以转发分享的功能 |
|||
success: function(res) { |
|||
console.log('打开文档成功') |
|||
} |
|||
}) |
|||
}, 3000); |
|||
} |
|||
}); |
|||
} |
|||
}, |
|||
fail: (err) => { |
|||
uni.showToast({ |
|||
title: '失败请重新下载' |
|||
}); |
|||
}, |
|||
}); |
|||
|
|||
}, |
|||
getData() { |
|||
console.log('getData', this.params) |
|||
this.$api.getDayGather(this.params).then((resp) => { |
|||
console.log('1111>>>>>>', resp) |
|||
|
|||
this.info = resp |
|||
|
|||
}).catch(e => { |
|||
console.log('eeeee', e) |
|||
}) |
|||
|
|||
this.$api.getDayStore(this.params).then((resp) => { |
|||
console.log('1111>>>>>>', resp) |
|||
|
|||
this.list = resp |
|||
|
|||
|
|||
}).catch(e => { |
|||
console.log('eeeee', e) |
|||
}) |
|||
|
|||
}, |
|||
|
|||
itemClick(item) { |
|||
console.log('itemClick>>', item) |
|||
uni.navigateTo({ |
|||
url: 'InventorySummaryDetail?sid=' + item.sid + "&projectName=" + item.storeName + |
|||
"&stockPrice=" + item.productAmount |
|||
}); |
|||
} |
|||
|
|||
} |
|||
} |
|||
</script> |
|||
|
|||
<style lang="scss"> |
|||
.pages {} |
|||
|
|||
$uni-success: #18bc37 !default; |
|||
|
|||
.item { |
|||
|
|||
display: flex; |
|||
flex-direction: row; |
|||
align-items: center; |
|||
margin-left: 20px; |
|||
margin-right: 20px; |
|||
border-bottom: 1px solid #F1F3F5; |
|||
padding: 10px; |
|||
|
|||
.text1 { |
|||
flex: 1; |
|||
font-size: 14px; |
|||
color: #191919; |
|||
} |
|||
|
|||
|
|||
.text2 { |
|||
flex: 1; |
|||
font-size: 14px; |
|||
color: #717171; |
|||
} |
|||
|
|||
} |
|||
|
|||
.layout { |
|||
background: #fff; |
|||
border-radius: 10px; |
|||
padding: 15px; |
|||
display: flex; |
|||
flex-direction: row; |
|||
align-items: center; |
|||
margin-bottom: 10px; |
|||
|
|||
.content { |
|||
margin-left: 10px; |
|||
margin-right: 10px; |
|||
flex: 1; |
|||
display: flex; |
|||
flex-direction: row; |
|||
justify-content: space-between; |
|||
|
|||
.content-text1 { |
|||
font-size: 14px; |
|||
color: #191919; |
|||
} |
|||
|
|||
.content-text2 { |
|||
font-size: 14px; |
|||
color: #6c6c6c; |
|||
} |
|||
} |
|||
} |
|||
|
|||
.table-header { |
|||
text-align: center; |
|||
border: 0.5px solid #ccc; |
|||
font-weight: bold; |
|||
font-size: 15px; |
|||
border-left: 0.0px; |
|||
padding: 5px; |
|||
} |
|||
|
|||
.table-body { |
|||
text-align: center; |
|||
border: 0.5px solid #ccc; |
|||
font-size: 13px; |
|||
padding: 5px; |
|||
border-left: 0.0px; |
|||
border-top: 0.0px; |
|||
} |
|||
|
|||
.tleft { |
|||
border-left: 0.5px solid #ccc; |
|||
} |
|||
|
|||
.ttbale { |
|||
margin: 0px 10px 0px 10px; |
|||
// border-bottom: 1px solid #ccc; |
|||
} |
|||
|
|||
.uni-wrap { |
|||
flex-direction: column; |
|||
/* #ifdef H5 */ |
|||
height: calc(100vh - 44px); |
|||
/* #endif */ |
|||
/* #ifndef H5 */ |
|||
height: 100vh; |
|||
/* #endif */ |
|||
flex: 1; |
|||
} |
|||
|
|||
.mb-10 { |
|||
margin-bottom: 10px; |
|||
} |
|||
|
|||
.decoration { |
|||
width: 8px; |
|||
height: 8px; |
|||
margin-right: 4px; |
|||
border-radius: 50%; |
|||
background-color: $uni-success; |
|||
} |
|||
</style> |
@ -0,0 +1,158 @@ |
|||
<template> |
|||
<view class="pages"> |
|||
<uni-card itle="36524快消品动产质押项目" :isFull="true" extra="点击下载Excel文件" :thumbnail="avatar" |
|||
style="padding-top: 10px;"> |
|||
<template v-slot:title> |
|||
<uni-section :title="page.projectName" title-font-size="25" type="circle"> |
|||
<template v-slot:decoration> |
|||
<uni-icons type="location-filled" size="18" color="green"></uni-icons> |
|||
</template> |
|||
<!-- <template v-slot:right> <uni-tag :inverted="true" text="下载Excel文件" type="primary" |
|||
@click="onClick" /> </template> --> |
|||
</uni-section> |
|||
</template> |
|||
|
|||
<view style="display: flex;flex-direction: row; justify-content: space-between;margin: 10px;"> |
|||
<text style="color: #494949;font-size: 14px;">货值合计</text> |
|||
<text |
|||
style="color: #000000;font-size: 14px;font-weight: 600;font-family: sans-serif;">{{page.stockPrice}}</text> |
|||
</view> |
|||
|
|||
</uni-card> |
|||
|
|||
<view class="list" style="padding-bottom: 10px;"> |
|||
|
|||
<view class="top"> |
|||
|
|||
<text class="item-text" >商品名称</text> |
|||
<text class="item-text" >数量</text> |
|||
<text class="item-text" >单价</text> |
|||
<text class="item-text" >货值</text> |
|||
|
|||
</view> |
|||
|
|||
<view v-for="(item, index) in list" style="margin-top: 10px;"> |
|||
<view class="top1" :class="{'top2':index==list.length-1}"> |
|||
|
|||
<text class="item-text" >{{item.productName}}</text> |
|||
<text class="item-text" >{{item.prodNumber}}</text> |
|||
<text class="item-text" >{{item.prodPrice}}</text> |
|||
<text class="item-text">{{item.prodAmount}}</text> |
|||
|
|||
</view> |
|||
|
|||
</view> |
|||
|
|||
</view> |
|||
|
|||
</view> |
|||
</template> |
|||
|
|||
<script> |
|||
export default { |
|||
components: {}, |
|||
data() { |
|||
return { |
|||
page: { |
|||
sid: "", |
|||
projectName: "", |
|||
stockPrice: "", |
|||
}, |
|||
list: [ |
|||
// { |
|||
// sid: "1", |
|||
// name: "可口可乐", |
|||
// price: "3.5", |
|||
// value: "100", |
|||
// number: "350" |
|||
// }, |
|||
// { |
|||
// sid: "2", |
|||
// name: "百事可乐", |
|||
// price: "3.5", |
|||
// value: "100", |
|||
// number: "350" |
|||
// }, |
|||
], |
|||
|
|||
} |
|||
}, |
|||
onLoad(option) { |
|||
console.log('option>>>>>>', option) |
|||
this.page = option |
|||
|
|||
this.getData(this.page.sid) |
|||
|
|||
}, |
|||
methods: { |
|||
|
|||
getData(sid) { |
|||
console.log('itemClick>>', sid) |
|||
|
|||
this.$api.getDayProduct(sid).then((resp) => { |
|||
console.log('1111>>>>>>', resp) |
|||
this.list = resp |
|||
|
|||
}).catch(e => { |
|||
console.log('eeeee', e) |
|||
}) |
|||
|
|||
|
|||
} |
|||
|
|||
} |
|||
} |
|||
</script> |
|||
|
|||
<style lang="scss"> |
|||
.pages { |
|||
width: 100%; |
|||
|
|||
.list { |
|||
display: flex; |
|||
flex-direction: column; |
|||
margin-top: 10px; |
|||
background: #fff; |
|||
border-radius: 10px; |
|||
padding-left: 25px; |
|||
padding-right: 25px; |
|||
padding-top: 20px; |
|||
|
|||
.top { |
|||
display: flex; |
|||
flex-direction: row; |
|||
align-items: center; |
|||
border-bottom: 3px solid #F1F3F5; |
|||
padding-left: 10px; |
|||
padding-right: 10px; |
|||
padding-bottom: 10px; |
|||
} |
|||
|
|||
.top1 { |
|||
display: flex; |
|||
flex-direction: row; |
|||
align-items: center; |
|||
border-bottom: 1px solid #F1F3F5; |
|||
padding-left: 10px; |
|||
padding-right: 10px; |
|||
padding-bottom: 10px; |
|||
} |
|||
|
|||
.top2 { |
|||
border-bottom: none; |
|||
} |
|||
|
|||
.item-text { |
|||
flex-shrink: 0; |
|||
flex: 1; |
|||
text-align: center; |
|||
margin-left: 5px; |
|||
margin-right: 5px; |
|||
font-size: 14px; |
|||
color: #BCBCBC; |
|||
} |
|||
|
|||
} |
|||
|
|||
} |
|||
</style> |
@ -0,0 +1,877 @@ |
|||
<template> |
|||
<view class="page" @touchome.stop.prevent="preventHandler"> |
|||
|
|||
<view class="search"> |
|||
|
|||
<view class="search-input"> |
|||
<image class="search-input-img" src="../../static/baseIcon/search.png" mode="aspectFill"></image> |
|||
<input class="search-input-text" placeholder="输入待办工作名称" @input="searchInput" :disabled="false" /> |
|||
</view> |
|||
|
|||
<text class="search-text" @click="drawerClick">筛选</text> |
|||
|
|||
</view> |
|||
|
|||
<scroll-view class="scrollviewCss" scroll-y="false" refresher-enabled="true" :refresher-triggered="triggered" |
|||
:refresher-threshold="45" refresher-background="#f8f8f8" @refresherrefresh="onRefresh" |
|||
@refresherrestore="onRestore" @refresherabort="onAbort" @scrolltolower="scrollBottem"> |
|||
|
|||
<view> |
|||
<view v-for="(item,index) in dataList" class="newslist"> |
|||
|
|||
<view class="item-top"> |
|||
|
|||
<image class="item-top-img" src="../../static/baseIcon/work.png" mode="aspectFill"></image> |
|||
<view class="item-top-text" v-html="highLight(item.workName)">{{item.workName}}</view> |
|||
<text class="item-top-text2">{{item.state}}</text> |
|||
</view> |
|||
|
|||
<view class="item-con"> |
|||
<view > |
|||
<text class="item-con-text">发起人:</text> |
|||
<text class="item-con-text">{{item.name}}</text> |
|||
</view> |
|||
<view style="margin-top: 8px;"> |
|||
<text class="item-con-text">发起部门:</text> |
|||
<text class="item-con-text">{{item.department}}</text> |
|||
</view> |
|||
<view style="margin-top: 8px;"> |
|||
<text class="item-con-text">发起日期:</text> |
|||
<text class="item-con-text">{{item.startDate}}</text> |
|||
</view> |
|||
|
|||
</view> |
|||
|
|||
<view class="item-bom"> |
|||
<view style="flex: 1;"></view> |
|||
<image class="item-bom-img" src="../../static/baseIcon/submitTime.png" mode="aspectFill"> |
|||
</image> |
|||
<text class="item-bom-text">{{item.submitDate}}</text> |
|||
</view> |
|||
|
|||
|
|||
</view> |
|||
|
|||
<!-- <uni-load-more :status="loadingType"></uni-load-more> --> |
|||
|
|||
</view> |
|||
<!-- 加载....没有更多 --> |
|||
<view style="line-height: 60rpx;margin-bottom: 50rpx;"> |
|||
<u-loadmore :status="status" :icon-type="iconType" :load-text="loadText" /> |
|||
</view> |
|||
</scroll-view> |
|||
|
|||
<uni-drawer ref="drawer" width="320" mode="right"> |
|||
|
|||
<view class="drawerView"> |
|||
<text style="color: #101010;font-size: 16px;font-weight: 600;font-family: sans-serif;">申请日期</text> |
|||
<view class="drawerView-date"> |
|||
<input class="drawerView-date-text" v-model="search.startDate" placeholder="开始日期" :disabled="true" |
|||
@click="openDate(1)"> |
|||
<text style="margin-left: 10px;margin-right: 10px;color: #777;">至</text> |
|||
<input class="drawerView-date-text" v-model="search.endDate" placeholder="结束日期" :disabled="true" |
|||
@click="openDate(2)"> |
|||
</view> |
|||
|
|||
<text |
|||
style="color: #101010;font-size: 16px;font-weight: 600;font-family: sans-serif; margin-top: 20px;">发起人</text> |
|||
|
|||
<!-- <uni-data-checkbox @change="checkboxChange" selectedColor="#007AFF" mode="list" :localdata="personnelList" :multiple="false" > |
|||
|
|||
</uni-data-checkbox> --> |
|||
|
|||
<scroll-view scroll-y :show-scrollbar="true" |
|||
style="display: flex;flex-direction: column; margin-top: 20px;width: 100%; height:50%; overflow:auto;"> |
|||
|
|||
<view class="to_do_content_list" :class="{'to_do_finish':item.checked}" |
|||
v-for="(item,index) in personnelList" :key="index" @click="select(item.id)"> |
|||
<view class="to_do_content_list_checkbox"> |
|||
<view class="checkbox"></view> |
|||
</view> |
|||
<!-- 内容 --> |
|||
<view class="to_do_content_list_cont">{{item.name}}</view> |
|||
</view> |
|||
|
|||
|
|||
|
|||
</scroll-view> |
|||
|
|||
|
|||
|
|||
|
|||
<view class="drawerView-bom"> |
|||
|
|||
<text class="drawerView-bom-text1" @click="resetClik">重置</text> |
|||
<text class="drawerView-bom-text2" @click="assignClick">确定</text> |
|||
|
|||
</view> |
|||
|
|||
<u-datetime-picker ref="datetimePicker" :closeOnClickOverlay='true' @close="cancelClick" |
|||
@cancel="cancelClick" @confirm="confirmClick" :show="datetimeShow" v-model="selectDate" mode="date" |
|||
:formatter="formatter"> |
|||
|
|||
</u-datetime-picker> |
|||
|
|||
</view> |
|||
|
|||
</uni-drawer> |
|||
</view> |
|||
|
|||
|
|||
</template> |
|||
|
|||
<script> |
|||
import { |
|||
formatTimeTwo |
|||
} from "@/utils/index"; |
|||
export default { |
|||
data() { |
|||
return { |
|||
searchText: "", |
|||
search: { |
|||
startDate: "", |
|||
endDate: "", |
|||
promoter: "" |
|||
}, |
|||
selectDate: "", |
|||
datetimeShow: false, |
|||
datetimeIndex: "1", |
|||
personnelList: [{ |
|||
id: "1", |
|||
name: "张安1", |
|||
department: "研发部", |
|||
checked: false |
|||
}, |
|||
{ |
|||
id: "2", |
|||
name: "张安2", |
|||
department: "研发部", |
|||
checked: false |
|||
}, |
|||
{ |
|||
id: "3", |
|||
name: "张安3", |
|||
department: "研发部", |
|||
checked: false |
|||
}, |
|||
{ |
|||
id: "4", |
|||
name: "张安4", |
|||
department: "研发部", |
|||
checked: false |
|||
}, |
|||
{ |
|||
id: "5", |
|||
name: "张安5", |
|||
department: "研发部", |
|||
checked: false |
|||
}, |
|||
{ |
|||
id: "6", |
|||
name: "张安6", |
|||
department: "研发部", |
|||
checked: false |
|||
}, |
|||
{ |
|||
id: "7", |
|||
name: "张安7", |
|||
department: "研发部", |
|||
checked: false |
|||
}, |
|||
{ |
|||
id: "8", |
|||
name: "张安8", |
|||
department: "研发部", |
|||
checked: false |
|||
}, |
|||
{ |
|||
id: "9", |
|||
name: "张安9", |
|||
department: "研发部", |
|||
checked: false |
|||
}, |
|||
{ |
|||
id: "10", |
|||
name: "张安10", |
|||
department: "研发部", |
|||
checked: false |
|||
}, |
|||
{ |
|||
id: "11", |
|||
name: "张安11", |
|||
department: "研发部", |
|||
checked: false |
|||
}, |
|||
{ |
|||
id: "12", |
|||
name: "张安12", |
|||
department: "研发部", |
|||
checked: false |
|||
}, |
|||
{ |
|||
id: "13", |
|||
name: "张安13", |
|||
department: "研发部", |
|||
checked: false |
|||
}, |
|||
{ |
|||
id: "14", |
|||
name: "张安14", |
|||
department: "研发部", |
|||
checked: false |
|||
}, |
|||
{ |
|||
id: "1", |
|||
name: "张安1", |
|||
department: "研发部", |
|||
checked: false |
|||
}, |
|||
{ |
|||
id: "15", |
|||
name: "张安16", |
|||
department: "研发部", |
|||
checked: false |
|||
}, |
|||
|
|||
], |
|||
triggered: true, |
|||
status: 'loadmore', |
|||
iconType: 'flower', |
|||
loadText: { |
|||
loadmore: '轻轻上拉', |
|||
loading: '努力加载中', |
|||
nomore: '拉也没用,没有了' |
|||
}, |
|||
listQuery: { |
|||
current: 1, |
|||
size: 10, |
|||
params: { |
|||
woekName: "", |
|||
} |
|||
}, |
|||
loadingType: 'more', //加载更多状态 |
|||
dataList: [{ |
|||
workName: "测试XXXX申请", |
|||
state: "经理审核", |
|||
name: "张磊", |
|||
department: "研发部", |
|||
startDate: "2022-01-23-10:26", |
|||
currentProcessor:"张衡、吴", |
|||
submitDate: "2022.01.28 10:28" |
|||
|
|||
}, |
|||
{ |
|||
workName: "测试XXXX申请", |
|||
state: "经理审核", |
|||
name: "张磊", |
|||
department: "研发部", |
|||
startDate: "2022-01-23-10:26", |
|||
currentProcessor:"张衡、吴", |
|||
submitDate: "2022.01.28 10:28" |
|||
|
|||
}, |
|||
{ |
|||
workName: "测试XXXX申请", |
|||
state: "经理审核", |
|||
name: "张磊", |
|||
department: "研发部", |
|||
startDate: "2022-01-23-10:26", |
|||
currentProcessor:"张衡、吴", |
|||
submitDate: "2022.01.28 10:28" |
|||
|
|||
}, |
|||
{ |
|||
workName: "测试XXXX申请", |
|||
state: "经理审核", |
|||
name: "张磊", |
|||
department: "研发部", |
|||
startDate: "2022-01-23-10:26", |
|||
currentProcessor:"张衡、吴", |
|||
submitDate: "2022.01.28 10:28" |
|||
|
|||
}, |
|||
{ |
|||
workName: "测试XXXX申请", |
|||
state: "经理审核", |
|||
name: "张磊", |
|||
department: "研发部", |
|||
startDate: "2022-01-23-10:26", |
|||
currentProcessor:"张衡、吴", |
|||
submitDate: "2022.01.28 10:28" |
|||
|
|||
}, |
|||
{ |
|||
workName: "测试XXXX申请", |
|||
state: "经理审核", |
|||
name: "张磊", |
|||
department: "研发部", |
|||
startDate: "2022-01-23-10:26", |
|||
currentProcessor:"张衡、吴", |
|||
submitDate: "2022.01.28 10:28" |
|||
|
|||
}, |
|||
{ |
|||
workName: "测试XXXX申请", |
|||
state: "经理审核", |
|||
name: "张磊", |
|||
department: "研发部", |
|||
startDate: "2022-01-23-10:26", |
|||
currentProcessor:"张衡、吴", |
|||
submitDate: "2022.01.28 10:28" |
|||
|
|||
}, |
|||
{ |
|||
workName: "测试XXXX申请", |
|||
state: "经理审核", |
|||
name: "张磊", |
|||
department: "研发部", |
|||
startDate: "2022-01-23-10:26", |
|||
currentProcessor:"张衡、吴", |
|||
submitDate: "2022.01.28 10:28" |
|||
|
|||
}, |
|||
{ |
|||
workName: "测试XXXX申请", |
|||
state: "经理审核", |
|||
name: "张磊", |
|||
department: "研发部", |
|||
startDate: "2022-01-23-10:26", |
|||
currentProcessor:"张衡、吴", |
|||
submitDate: "2022.01.28 10:28" |
|||
|
|||
}, |
|||
{ |
|||
workName: "测试XXXX申请", |
|||
state: "经理审核", |
|||
name: "张磊", |
|||
department: "研发部", |
|||
startDate: "2022-01-23-10:26", |
|||
currentProcessor:"张衡、吴", |
|||
submitDate: "2022.01.28 10:28" |
|||
|
|||
}, |
|||
{ |
|||
workName: "测试XXXX申请", |
|||
state: "经理审核", |
|||
name: "张磊", |
|||
department: "研发部", |
|||
startDate: "2022-01-23-10:26", |
|||
currentProcessor:"张衡、吴", |
|||
submitDate: "2022.01.28 10:28" |
|||
|
|||
}, |
|||
|
|||
{ |
|||
workName: "测试XXXX申请", |
|||
state: "经理审核", |
|||
name: "张磊", |
|||
department: "研发部", |
|||
startDate: "2022-01-23-10:26", |
|||
currentProcessor:"张衡、吴", |
|||
submitDate: "2022.01.28 10:28" |
|||
|
|||
}, |
|||
{ |
|||
workName: "测试XXXX申请", |
|||
state: "经理审核", |
|||
name: "张磊", |
|||
department: "研发部", |
|||
startDate: "2022-01-23-10:26", |
|||
currentProcessor:"张衡、吴", |
|||
submitDate: "2022.01.28 10:28" |
|||
|
|||
}, |
|||
|
|||
], |
|||
|
|||
}; |
|||
}, |
|||
// onShow() { |
|||
// this.listQuery.current = 1 |
|||
// this.dataList = []; |
|||
// this.loadData(); |
|||
// }, |
|||
// onLoad() { |
|||
|
|||
// }, |
|||
// onPullDownRefresh() { |
|||
// this.listQuery.current = 1 |
|||
// this.loadData('refresh'); |
|||
// setTimeout(function() { |
|||
// uni.stopPullDownRefresh(); |
|||
// }, 2000); |
|||
// }, |
|||
// //加载更多 |
|||
// onReachBottom() { |
|||
// this.listQuery.current = this.listQuery.current + 1 |
|||
// this.loadData(); |
|||
// }, |
|||
onReady() { |
|||
/* #ifdef MP-WEIXIN */ |
|||
// 微信小程序需要用此写法 |
|||
this.$refs.datetimePicker.setFormatter(this.formatter) |
|||
/* #endif */ |
|||
}, |
|||
methods: { |
|||
// 禁止滑动 |
|||
preventHandler() { |
|||
return |
|||
}, |
|||
/* 滚动到底部 */ |
|||
scrollBottem() { |
|||
console.log("滚动高度") |
|||
this.status = "nomore" |
|||
}, |
|||
onRefresh() { |
|||
setTimeout(() => { |
|||
this.triggered = false; |
|||
}, 2000) |
|||
console.log("进入"); |
|||
}, |
|||
/* 下拉被复位 */ |
|||
onRestore() { |
|||
this.triggered = true; // 需要重置 |
|||
console.log(this.triggered); |
|||
console.log("停止"); |
|||
}, |
|||
/* 下拉被中止,没下拉完就松手就会触发 */ |
|||
onAbort() { |
|||
console.log("onAbort"); |
|||
}, |
|||
searchInput(e) { |
|||
console.log("searchText》》》", e.detail.value); |
|||
this.searchText = e.detail.value |
|||
}, |
|||
highLight(value) { |
|||
console.log("highLight》》》", value); |
|||
if (value.includes(this.searchText)) { |
|||
value = value.replace( |
|||
this.searchText, |
|||
"<font style='color:red!important'>" + this.searchText + "</font>" |
|||
) |
|||
return value |
|||
} else { |
|||
return value |
|||
} |
|||
}, |
|||
drawerClick() { |
|||
this.$refs['drawer'].open() |
|||
}, |
|||
openDate(type) { |
|||
switch (type) { |
|||
case 1: |
|||
this.datetimeIndex = "1" |
|||
this.datetimeShow = true |
|||
break; |
|||
case 2: |
|||
this.datetimeIndex = "2" |
|||
this.datetimeShow = true |
|||
break; |
|||
default: |
|||
break; |
|||
} |
|||
}, |
|||
formatter(type, value) { |
|||
|
|||
if (type === 'year') { |
|||
return `${value}年` |
|||
} |
|||
if (type === 'month') { |
|||
return `${value}月` |
|||
} |
|||
if (type === 'day') { |
|||
return `${value}日` |
|||
} |
|||
return value |
|||
}, |
|||
cancelClick() { |
|||
this.datetimeShow = false |
|||
}, |
|||
confirmClick(date) { |
|||
console.log('confirmClick', date) |
|||
console.log('confirmClick', formatTimeTwo(parseInt(date.value), "Y-M-D")) |
|||
|
|||
switch (this.datetimeIndex) { |
|||
case "1": |
|||
this.search.startDate = formatTimeTwo(parseInt(date.value), "Y-M-D") |
|||
break; |
|||
case "2": |
|||
this.search.endDate = formatTimeTwo(parseInt(date.value), "Y-M-D") |
|||
break; |
|||
default: |
|||
break; |
|||
} |
|||
this.datetimeShow = false |
|||
|
|||
}, |
|||
// 点击item 选中 |
|||
select(id) { |
|||
|
|||
for (var i = 0; i < this.personnelList.length; i++) { |
|||
let item = this.personnelList[i] |
|||
|
|||
if (item.id == id) { |
|||
item.checked = !item.checked |
|||
} else { |
|||
item.checked = false |
|||
} |
|||
|
|||
} |
|||
|
|||
let index = this.personnelList.findIndex((item) => item.id == id) |
|||
console.log("我被点击了", this.personnelList[index].name); |
|||
|
|||
this.search.promoter = this.personnelList[index].checked ? this.personnelList[index].name : "" |
|||
console.log("promoter", this.search.promoter); |
|||
|
|||
// this.personnelList[index].checked = !this.personnelList[index].checked |
|||
}, |
|||
resetClik() { |
|||
this.search = { |
|||
startDate: "", |
|||
endDate: "", |
|||
promoter: "" |
|||
} |
|||
}, |
|||
|
|||
assignClick() { |
|||
console.log('confirm', this.search) |
|||
this.datetimeShow = false |
|||
|
|||
this.$refs['drawer'].close() |
|||
|
|||
uni.showToast({ |
|||
icon: "none", |
|||
title: JSON.stringify( this.search), |
|||
duration: 5000, |
|||
}); |
|||
}, |
|||
|
|||
//加载商品 ,带下拉刷新和上滑加载 |
|||
async loadData(type = 'add', loading) { |
|||
//没有更多直接返回 |
|||
if (type === 'add') { |
|||
if (this.loadingType === 'nomore') { |
|||
return; |
|||
} |
|||
this.loadingType = 'loading'; |
|||
} else { |
|||
this.loadingType = 'more'; |
|||
} |
|||
|
|||
var list = [] |
|||
|
|||
this.$api.storeHouseListPage(this.listQuery).then((resp) => { |
|||
// if (resp.success) { |
|||
console.log('1111', resp) |
|||
|
|||
this.listQuery = { |
|||
current: resp.current, |
|||
size: 10, |
|||
params: { |
|||
|
|||
} |
|||
} |
|||
list = resp.records |
|||
|
|||
console.log("消息列表", list) |
|||
// this.goodsList = list; |
|||
// let goodsList = await this.$api.json('goodsList'); |
|||
if (type === 'refresh') { |
|||
this.dataList = []; |
|||
} |
|||
|
|||
this.dataList = this.dataList.concat(list); |
|||
console.log("消息列表>>>>>", this.dataList.length) |
|||
//判断是否还有下一页,有是more 没有是nomore(测试数据判断大于20就没有了) |
|||
this.loadingType = this.dataList.length > list.total ? 'nomore' : 'more'; |
|||
if (type === 'refresh') { |
|||
if (loading == 1) { |
|||
uni.hideLoading(); |
|||
} else { |
|||
uni.stopPullDownRefresh(); |
|||
} |
|||
} |
|||
|
|||
}).catch(e => { |
|||
console.log('eeeee', e) |
|||
}) |
|||
|
|||
}, |
|||
} |
|||
} |
|||
</script> |
|||
|
|||
<style lang="scss"> |
|||
.popup-show { |
|||
overflow: hidden; |
|||
position: fixed; |
|||
height: 100%; |
|||
width: 100%; |
|||
} |
|||
|
|||
.page { |
|||
width: 100%; |
|||
height: 100%; |
|||
|
|||
.drawerView { |
|||
height: 100%; |
|||
display: flex; |
|||
flex-direction: column; |
|||
padding: 15px 20px; |
|||
background: #fff; |
|||
|
|||
.drawerView-date { |
|||
margin-top: 20px; |
|||
display: flex; |
|||
flex-direction: row; |
|||
align-items: center; |
|||
|
|||
.drawerView-date-text { |
|||
text-align: center; |
|||
background-color: #F4F5F9; |
|||
border-radius: 20px; |
|||
padding: 10px 20px; |
|||
font-size: 14px; |
|||
} |
|||
} |
|||
|
|||
.to_do_content_list { |
|||
position: relative; |
|||
padding: 15px; |
|||
margin: 15px; |
|||
border-radius: 5px; |
|||
background: #eee; |
|||
color: #666; |
|||
overflow: hidden; |
|||
display: flex; |
|||
align-items: center; |
|||
} |
|||
|
|||
// .to_do_content_list::after { |
|||
// position: absolute; |
|||
// content: ""; |
|||
// top: 0; |
|||
// bottom: 0; |
|||
// left: 0; |
|||
// width: 10px; |
|||
// background: #2C405A; |
|||
|
|||
// } |
|||
|
|||
.to_do_content_list_checkbox { |
|||
padding-right: 20px; |
|||
padding-left: 10px; |
|||
} |
|||
|
|||
.checkbox { |
|||
width: 20px; |
|||
height: 20px; |
|||
border-radius: 50%; |
|||
background: #FFFFFF; |
|||
} |
|||
|
|||
.to_do_finish .checkbox { |
|||
position: relative; |
|||
background: #FFFFFF; |
|||
} |
|||
|
|||
.to_do_finish .checkbox:after { |
|||
position: absolute; |
|||
content: ""; |
|||
height: 10px; |
|||
width: 10px; |
|||
top: 0; |
|||
right: 0; |
|||
bottom: 0; |
|||
left: 0; |
|||
margin: auto; |
|||
border-radius: 50%; |
|||
background: #007AFF; |
|||
} |
|||
|
|||
.to_do_finish .to_do_content_list_cont { |
|||
color: #007AFF; |
|||
} |
|||
|
|||
// .to_do_finish.to_do_content_list:before { |
|||
|
|||
// position: absolute; |
|||
// content: ""; |
|||
// left: 40px; |
|||
// right: 10px; |
|||
// top: 0; |
|||
// bottom: 0; |
|||
// height: 2px; |
|||
// margin: auto 0; |
|||
// background: #007AFF; |
|||
// } |
|||
|
|||
.to_do_finish.to_do_content_list::after { |
|||
background: #C35CDF; |
|||
} |
|||
|
|||
|
|||
.drawerView-bom { |
|||
width: 85%; |
|||
position: fixed; |
|||
display: flex; |
|||
flex-direction: row; |
|||
align-items: center; |
|||
bottom: 0; |
|||
min-height: 40px; |
|||
margin-bottom: 50px; |
|||
background: #EA4726; |
|||
border-radius: 20px; |
|||
padding: 1px; |
|||
|
|||
.drawerView-bom-text1 { |
|||
flex: 1; |
|||
text-align: center; |
|||
min-height: 38px; |
|||
line-height: 38px; |
|||
color: #EA4726; |
|||
background: #fff; |
|||
font-size: 14px; |
|||
border-radius: 20px 0px 20px 20px; |
|||
// border-top-left-radius: 20px; |
|||
// border-bottom-left-radius: 20px; |
|||
// border-bottom-right-radius:20px; |
|||
} |
|||
|
|||
.drawerView-bom-text2 { |
|||
flex: 1; |
|||
line-height: 38px; |
|||
color: #fff; |
|||
font-size: 14px; |
|||
text-align: center; |
|||
} |
|||
} |
|||
|
|||
} |
|||
|
|||
.search { |
|||
display: flex; |
|||
flex-direction: row; |
|||
align-items: center; |
|||
background: #007AFF; |
|||
width: 100%; |
|||
padding: 10px; |
|||
|
|||
.search-input { |
|||
flex: 1; |
|||
margin-left: 15px; |
|||
background: #fff; |
|||
border-radius: 30px; |
|||
padding: 5px; |
|||
display: flex; |
|||
flex-direction: row; |
|||
align-items: center; |
|||
margin-right: 20px; |
|||
|
|||
.search-input-img { |
|||
margin-left: 10px; |
|||
width: 20px; |
|||
height: 20px; |
|||
} |
|||
|
|||
.search-input-text { |
|||
margin-left: 10px; |
|||
font-size: 14px; |
|||
color: #000; |
|||
} |
|||
} |
|||
|
|||
.search-text { |
|||
margin-right: 30px; |
|||
font-size: 15px; |
|||
color: #fff; |
|||
} |
|||
} |
|||
|
|||
.scrollviewCss { |
|||
overflow-y: hidden; |
|||
height: 90vh; |
|||
|
|||
.newslist { |
|||
display: flex; |
|||
flex-direction: column; |
|||
background: #fff; |
|||
border-radius: 12px; |
|||
margin-left: 12px; |
|||
margin-right: 12px; |
|||
margin-top: 12px; |
|||
padding: 15px 20px; |
|||
|
|||
.item-top { |
|||
display: flex; |
|||
flex-direction: row; |
|||
align-items: center; |
|||
padding-bottom: 12px; |
|||
padding-left: 5px; |
|||
padding-right: 5px; |
|||
border-bottom: 1px solid #F1F3F5; |
|||
|
|||
.item-top-img { |
|||
width: 18px; |
|||
height: 18px; |
|||
} |
|||
|
|||
.item-top-text { |
|||
flex: 1; |
|||
margin-left: 5px; |
|||
margin-right: 10px; |
|||
font-size: 16px; |
|||
color: #101010; |
|||
font-weight: 600; |
|||
font-family: sans-serif; |
|||
overflow: hidden; |
|||
text-overflow: ellipsis; |
|||
display: -webkit-box; |
|||
-webkit-line-clamp: 1; |
|||
-webkit-box-orient: vertical; |
|||
|
|||
} |
|||
|
|||
.item-top-text2 { |
|||
font-size: 14px; |
|||
color: #0A59F7; |
|||
} |
|||
} |
|||
|
|||
.item-con { |
|||
margin-top: 12px; |
|||
display: flex; |
|||
flex-direction: column; |
|||
|
|||
.item-con-text { |
|||
font-size: 15px; |
|||
color: #666666; |
|||
} |
|||
} |
|||
|
|||
.item-bom { |
|||
width: 100%; |
|||
margin-top: 12px; |
|||
padding-top: 10px; |
|||
border-top: 1px solid #F1F3F5; |
|||
display: flex; |
|||
flex-direction: row; |
|||
align-items: center; |
|||
justify-content: end; |
|||
|
|||
.item-bom-img { |
|||
width: 14px; |
|||
height: 14px; |
|||
} |
|||
|
|||
.item-bom-text { |
|||
margin-left: 5px; |
|||
font-size: 14px; |
|||
color: #999; |
|||
} |
|||
} |
|||
} |
|||
} |
|||
} |
|||
</style> |
After Width: | Height: | Size: 1.4 KiB |
After Width: | Height: | Size: 1.7 KiB |
After Width: | Height: | Size: 302 B |
After Width: | Height: | Size: 1.9 KiB |
@ -0,0 +1,47 @@ |
|||
function formatTime(date) { |
|||
var year = date.getFullYear() |
|||
var month = date.getMonth() + 1 |
|||
var day = date.getDate() |
|||
|
|||
var hour = date.getHours() |
|||
var minute = date.getMinutes() |
|||
var second = date.getSeconds() |
|||
|
|||
|
|||
return [year, month, day].map(formatNumber).join('/') + ' ' + [hour, minute, second].map(formatNumber).join(':') |
|||
} |
|||
|
|||
function formatNumber(n) { |
|||
n = n.toString() |
|||
return n[1] ? n : '0' + n |
|||
} |
|||
|
|||
/** |
|||
* 时间戳转化为年 月 日 时 分 秒 |
|||
* number: 传入时间戳 |
|||
* format:返回格式,支持自定义,但参数必须与formateArr里保持一致 |
|||
*/ |
|||
function formatTimeTwo(number, format) { |
|||
|
|||
var formateArr = ['Y', 'M', 'D', 'h', 'm', 's']; |
|||
var returnArr = []; |
|||
|
|||
var date = new Date(number); |
|||
returnArr.push(date.getFullYear()); |
|||
returnArr.push(formatNumber(date.getMonth() + 1)); |
|||
returnArr.push(formatNumber(date.getDate())); |
|||
|
|||
returnArr.push(formatNumber(date.getHours())); |
|||
returnArr.push(formatNumber(date.getMinutes())); |
|||
returnArr.push(formatNumber(date.getSeconds())); |
|||
|
|||
for (var i in returnArr) { |
|||
format = format.replace(formateArr[i], returnArr[i]); |
|||
} |
|||
return format; |
|||
} |
|||
|
|||
module.exports = { |
|||
formatTime: formatTime, |
|||
formatTimeTwo: formatTimeTwo |
|||
} |
Loading…
Reference in new issue