Browse Source

2023-8-3

master
guoxing 2 years ago
parent
commit
59f08ee64f
  1. 2
      supervise-uniapp/common/config.js
  2. 39
      supervise-uniapp/common/request.api.js
  3. 8
      supervise-uniapp/manifest.json
  4. 66
      supervise-uniapp/pages.json
  5. 241
      supervise-uniapp/pages/home/WorkFragment.vue
  6. 881
      supervise-uniapp/pages/index/AlreadyProcessed.vue
  7. 467
      supervise-uniapp/pages/index/InventorySummary.vue
  8. 158
      supervise-uniapp/pages/index/InventorySummaryDetail.vue
  9. 2
      supervise-uniapp/pages/index/MyProject.vue
  10. 877
      supervise-uniapp/pages/index/WaitingProcessed.vue
  11. 10
      supervise-uniapp/pages/index/WarehouseManagement.vue
  12. 14
      supervise-uniapp/pages/index/auditReport.vue
  13. 56
      supervise-uniapp/pages/index/demoReportKc.vue
  14. BIN
      supervise-uniapp/static/baseIcon/search.png
  15. BIN
      supervise-uniapp/static/baseIcon/submitTime.png
  16. BIN
      supervise-uniapp/static/baseIcon/warehouse.png
  17. BIN
      supervise-uniapp/static/baseIcon/work.png
  18. 4
      supervise-uniapp/uni_modules/uni-collapse/components/uni-collapse-item/uni-collapse-item.vue
  19. 47
      supervise-uniapp/utils/index.js

2
supervise-uniapp/common/config.js

@ -7,7 +7,7 @@
*/
module.exports = {
// baseUrl: 'https://jianguan.yyundong.com/api',
baseUrl: 'https://supervise.yxtsoft.com/api',
baseUrl: 'https://supervise.yxtsoft.com',
// baseUrl: 'http://192.168.1.193:8112',
tokenName: "Authorization", // 请求头中token的名字,与服务器端对应
loginTimeoutCode: "5001", // 登录超时或失效的情况下,服务器端返回的错误码

39
supervise-uniapp/common/request.api.js

@ -1,7 +1,7 @@
import request from '@/utils/requester.js'
export default {
login: (params = {}) => request.post("/portal/v1/sysuser/login", params),
login: (params = {}) => request.post("/api/portal/v1/sysuser/login", params),
sayhello: (params = {}) => request.get("/sayb", params),
getSalesReport: (params = {}) => request.get("/system/reportCenter/getSalesReport", params),
getGoodsOnWay: (params = {}) => request.get("/system/reportCenter/getGoodsOnWay", params),
@ -11,21 +11,20 @@ export default {
selectBusinessRiskInfo: (params = {}) => request.post("/wxmpapi/v1/businessData/selectBusinessRiskInfo", params),
// 获取审核报告内容
getReportInfo: (params = {}) => request.post("/reportwxmpapi/v1/csmcashreport/getCsmReportByComSid", params),
getReportInfo: (params = {}) => request.post("/reportwxmpapi/reportwxmpapi/v1/csmcashreport/getCsmReportByComSid",
params),
// 获取今日回款明细
getCsmReportTodayByComSid: (params = {}) => request.post(
"/reportwxmpapi/v1/csmcashreportcashed/getCsmReportTodayByComSid",
"/reportwxmpapi/reportwxmpapi/v1/csmcashreportsales/getCsmReportYesterdayByComSid",
params),
// 获取昨日销售报表
getCsmReportYesterdayByComSid: (params = {}) => request.post(
"/reportwxmpapi/v1/csmcashreportsales/getCsmReportYesterdayByComSid",
"/reportwxmpapi/reportwxmpapi/v1/csmcashreportsales/getCsmReportYesterdayByComSid",
params),
// 库存汇总表
getReportInventoryDayGather: (params = {}) => request.get(
"/reportwxmpapi/reportinventory/getReportInventoryDayGather/" +
params,
params),
"/reportwxmpapi/reportinventory/getReportInventoryDayGather/" + params, params),
// 仓库库存明细表
getReportInventoryDayStore: (params = {}) => request.get(
"/reportwxmpapi/reportinventory/getReportInventoryDayStore/" + params, params),
@ -33,25 +32,39 @@ export default {
getReportInventoryDayToStore: (params = {}) => request.get(
"/reportwxmpapi/reportinventory/getReportInventoryDayToStore/" + params, params),
// 质物库存汇总-表头
getDayGather: (params = {}) => request.get(
"/reportwxmpapi/reportstock/getDayGather/" + params.projectSid + "/" + params.orderDate, params),
// "/report/reportstock/getDayGather/" + params.projectSid + "/" + params.orderDate, params),
// 质物库存汇总-仓库列表
getDayStore: (params = {}) => request.get(
"/reportwxmpapi/reportstock/getDayStore/" + params.projectSid + "/" + params.orderDate, params),
// "/report/reportstock/getDayStore/" + params.projectSid + "/" + params.orderDate, params),
// 质物库存汇总-明细
getDayProduct: (params = {}) => request.get(
"/reportwxmpapi/reportstock/getDayProduct/" + params, params),
// "/report/reportstock/getDayProduct/" + params, params),
// 获取首页面数据
getWorkData: (params = {}) => request.get("/portal/v1/flow/task/" + params, params),
getWorkData: (params = {}) => request.get("/api/portal/v1/flow/task/" + params, params),
// 获取云仓列表
storeHouseListPage: (params = {}) => request.post("/portal/v1/flow/storeHouseListPage", params),
storeHouseListPage: (params = {}) => request.post("/api/portal/v1/flow/storeHouseListPage", params),
// 获取云仓详情
storeHouseDetail: (params = {}) => request.get("/portal/v1/flow/fetchDetailsBySid/" + params, params),
storeHouseDetail: (params = {}) => request.get("/api/portal/v1/flow/fetchDetailsBySid/" + params, params),
// 获取我的项目
getProjectByUserSid: (params = {}) => request.get("/crm/v1/projectinformation/getProjectByUserSid/" + params,
getProjectByUserSid: (params = {}) => request.get("/api/crm/v1/projectinformation/getProjectByUserSid/" + params,
params),
// 获取我的项目详情
getProjectBySid: (params = {}) => request.get("/crm/v1/projectinformation/getProjectBySid/" + params,
getProjectBySid: (params = {}) => request.get("/api/crm/v1/projectinformation/getProjectBySid/" + params,
params),
// 获取我的项目-仓库详情
getStorehouseBySid: (params = {}) => request.get("/crm/v1/projectinformation/getStorehouseBySid/" + params,
getStorehouseBySid: (params = {}) => request.get("/api/crm/v1/projectinformation/getStorehouseBySid/" + params,
params),
}

8
supervise-uniapp/manifest.json

@ -1,9 +1,9 @@
{
"name" : "汇融云仓贷后",
"name" : "监管平台",
"appid" : "__UNI__DD73AA7",
"description" : "汇融银行监管平台",
"versionName" : "1.0.0.7",
"versionCode" : 1007,
"versionName" : "1.0.0.8",
"versionCode" : 1008,
"transformPx" : false,
"app-plus" : {
"optimization" : {
@ -114,7 +114,7 @@
},
"quickapp" : {},
"mp-weixin" : {
"appid" : "wx65c2b78fd1452eeb",
"appid" : "wx05604ce2a8bede05",
"setting" : {
"urlCheck" : false,
"es6" : false,

66
supervise-uniapp/pages.json

@ -7,13 +7,11 @@
// "query": "" //onLoad
// }]
// },
"pages": [ //pageshttps://uniapp.dcloud.io/collocation/pages
"pages": [
//pageshttps://uniapp.dcloud.io/collocation/pages
{
"path": "pages/index/demoReportKc",
"style": {
"navigationBarTitleText": "质物库存汇总"
}
},{
"path": "pages/login/login",
"style": {
"navigationStyle": "custom",
@ -21,7 +19,49 @@
"scrollIndicator": false //,
}
}
},{
"path": "pages/index/InventorySummary",
"style": {
"navigationBarTitleText": "质物库存汇总"
}
}, {
"path": "pages/index/WaitingProcessed",
"style": {
"navigationBarTitleText": "待办工作",
"enablePullDownRefresh": true
}
}, {
"path": "pages/index/AlreadyProcessed",
"style": {
"navigationBarTitleText": "已办工作",
"enablePullDownRefresh": true
}
},
{
"path": "pages/index/InventorySummaryDetail",
"style": {
"navigationBarTitleText": "质物库存汇总-商品明細"
}
}, {
"path": "pages/index/demoReportKc",
"style": {
"navigationBarTitleText": "质物库存汇总"
}
}, {
"path": "pages/index/auditReport",
"style": {
"navigationBarTitleText": "回款报告"
}
}, {
"path": "pages/index/enterpriseRisk",
"style": {
"navigationBarTitleText": "企业经营异常核查"
}
},
{
"path": "pages/index/MyProject",
"style": {
"navigationBarTitleText": "我的项目"
@ -83,18 +123,8 @@
"style": {
"navigationBarTitleText": "隐私政策"
}
},
{
"path": "pages/index/auditReport",
"style": {
"navigationBarTitleText": "回款报告"
}
}, {
"path": "pages/index/enterpriseRisk",
"style": {
"navigationBarTitleText": "企业经营异常核查"
}
}
],
"lazyCodeLoading": "requiredComponents",
"globalStyle": {
@ -120,7 +150,7 @@
"selectedColor": "#41adf8",
"backgroundColor": "#FFFFFF",
"borderStyle": "black",
"iconWidth": "20px", //
"iconWidth": "25px", //
"list": [{
"pagePath": "pages/home/WorkFragment",
"iconPath": "static/bottom-icon/gongzuotai1.png",

241
supervise-uniapp/pages/home/WorkFragment.vue

@ -1,49 +1,62 @@
<template>
<view class="content">
<view class="whiteBg" style="margin-top: 20px;">
<view class="whiteBg" style="display: flex;flex-direction: column;margin-top: 20px;">
<view class="top_item" @click="topClick('1')">
<!--circular用来设置循环轮播 indicator-dots设置下面小圆点用来点击 -->
<swiper circular indicator-dots class="swiper" :autoplay="true" :interval="2000" v-show="swipers.length>0">
<!-- v-for循环遍历数组 -->
<swiper-item v-for="(item,index) in swipers">
<image :src="item" @click="swiperClick(index)"></image>
</swiper-item>
</swiper>
<view class="top_item_icon">
<text class="top_item_icon_num" v-show="dbNum!=0">{{dbNum}}</text>
<image class="top_item_icon_img" src="https://jianguan.yyundong.com/img/newApp/dbgz.png"></image>
</view>
<text class="top_item_text">待办工作</text>
</view>
<view class="top_item" @click="topClick('2')">
<view class="top_item_icon">
<text class="top_item_icon_num" v-show="ybNum!=0">{{ybNum}}</text>
<view style="display: flex;flex-direction: row;">
<image class="top_item_icon_img" src="https://jianguan.yyundong.com/img/newApp/ybgz.png"></image>
<view class="top_item" @click="topClick('1')">
<view class="top_item_icon">
<text class="top_item_icon_num" v-show="dbNum!=0">{{dbNum}}</text>
<image class="top_item_icon_img" src="https://jianguan.yyundong.com/img/newApp/dbgz.png">
</image>
</view>
<text class="top_item_text">待办工作</text>
</view>
<text class="top_item_text">已办工作</text>
</view>
<view class="top_item" @click="topClick('3')">
<view class="top_item_icon">
<text class="top_item_icon_num" v-show="dyNum!=0">{{dyNum}}</text>
<image class="top_item_icon_img" src="https://jianguan.yyundong.com/img/newApp/dygz.png"></image>
<view class="top_item" @click="topClick('2')">
<view class="top_item_icon">
<text class="top_item_icon_num" v-show="ybNum!=0">{{ybNum}}</text>
<image class="top_item_icon_img" src="https://jianguan.yyundong.com/img/newApp/ybgz.png">
</image>
</view>
<text class="top_item_text">已办工作</text>
</view>
<text class="top_item_text">待阅工作</text>
</view>
<view class="top_item" @click="topClick('4')">
<view class="top_item_icon">
<text class="top_item_icon_num" v-show="yyNum!=0">{{yyNum}}</text>
<image class="top_item_icon_img" src="https://jianguan.yyundong.com/img/newApp/yygz.png"></image>
<view class="top_item" @click="topClick('3')">
<view class="top_item_icon">
<text class="top_item_icon_num" v-show="dyNum!=0">{{dyNum}}</text>
<image class="top_item_icon_img" src="https://jianguan.yyundong.com/img/newApp/dygz.png">
</image>
</view>
<text class="top_item_text">待阅工作</text>
</view>
<view class="top_item" @click="topClick('4')">
<view class="top_item_icon">
<text class="top_item_icon_num" v-show="yyNum!=0">{{yyNum}}</text>
<image class="top_item_icon_img" src="https://jianguan.yyundong.com/img/newApp/yygz.png">
</image>
</view>
<text class="top_item_text">已阅工作</text>
</view>
<text class="top_item_text">已阅工作</text>
</view>
</view>
<view style="display: flex;flex-direction: row; align-items: center;margin-top: 15px;"
v-show="textArr.length>0">
<view style="display: flex;flex-direction: row; align-items: center;" v-show="textArr.length>0">
<image style="width: 20px;height: 20px;margin-left: 10px;" src="https://jianguan.yyundong.com/img/newApp/notices.png"
mode="aspectFit"></image>
<image style="width: 20px;height: 20px;margin-left: 10px;"
src="https://jianguan.yyundong.com/img/newApp/notices.png" mode="aspectFit"></image>
<div class="textBox">
<!-- <transition name="slide">
@ -60,67 +73,64 @@
</view>
<view class="whiteBg" style="display: flex;flex-direction: column; margin-top: 15px;">
<view class="whiteBg" style="display: flex;flex-direction: column;padding-top: 20px;">
<!--circular用来设置循环轮播 indicator-dots设置下面小圆点用来点击 -->
<swiper circular indicator-dots class="swiper" :autoplay="true" :interval="2000" v-show="swipers.length>0">
<!-- v-for循环遍历数组 -->
<swiper-item v-for="(item,index) in swipers">
<image :src="item" @click="swiperClick(index)"></image>
</swiper-item>
</swiper>
<view style="display: flex;flex-direction: row;margin-left: 20px;align-items: center;">
<image style="width: 25px;height: 25px;" src="https://jianguan.yyundong.com/img/newApp/icon.png"
mode="aspectFit"></image>
<text style="margin-left: 5px;">更多</text>
</view>
<view style=" height: 1px;background: #eee;margin-left: 25px;margin-right: 25px;margin-top: 15px;"></view>
<view style="margin-top: 20px;display: flex;flex-direction: row;width: 100%;margin-bottom: 20px;">
<view class="centre" @click="businessClick('1')">
<image class="centre_img" src="https://jianguan.yyundong.com/img/newApp/ywsp.png" mode="aspectFit"></image>
<image class="centre_img" src="https://jianguan.yyundong.com/img/newApp/ywsp.png" mode="aspectFit">
</image>
<text class="centre_text">业务审批</text>
</view>
<view class="centre" @click="businessClick('2')">
<image class="centre_img" src="https://jianguan.yyundong.com/img/newApp/gzdd.png" mode="aspectFit"></image>
<image class="centre_img" src="https://jianguan.yyundong.com/img/newApp/gzdd.png" mode="aspectFit">
</image>
<text class="centre_text">工作调度</text>
</view>
<view class="centre" @click="businessClick('3')">
<image class="centre_img" src="https://jianguan.yyundong.com/img/newApp/fkgl.png" mode="aspectFit"> </image>
<image class="centre_img" src="https://jianguan.yyundong.com/img/newApp/fkgl.png" mode="aspectFit">
</image>
<text class="centre_text">风控管理</text>
</view>
<view class="centre" @click="businessClick('4')">
<image class="centre_img" src="https://jianguan.yyundong.com/img/newApp/sjbb.png" mode="aspectFit"></image>
<image class="centre_img" src="https://jianguan.yyundong.com/img/newApp/sjbb.png" mode="aspectFit">
</image>
<text class="centre_text">数据报表</text>
</view>
</view>
</view>
<view class="whiteBg" style="margin-top: 25px;display: flex;flex-direction: column;padding-top: 20px;">
<view style="display: flex;flex-direction: row;margin-left: 20px;align-items: center;">
<image style="width: 25px;height: 25px;" src="https://jianguan.yyundong.com/img/newApp/icon.png" mode="aspectFit"></image>
<text style="margin-left: 5px;">云仓</text>
</view>
<view style=" height: 1px;background: #eee;margin-left: 25px;margin-right: 25px;margin-top: 15px;"></view>
<view style="margin-top: 20px;display: flex;flex-direction: row;width: 100%;margin-bottom: 20px;">
<view class="centre" @click="warehouseClick('1')">
<image class="centre_img" src="https://jianguan.yyundong.com/img/newApp/ycgl.png" mode="aspectFit"></image>
<image class="centre_img" src="https://jianguan.yyundong.com/img/newApp/ycgl.png" mode="aspectFit">
</image>
<text class="centre_text">云仓管理</text>
</view>
<view class="centre" @click="warehouseClick('2')">
<image class="centre_img" src="https://jianguan.yyundong.com/img/newApp/kcfx.png" mode="aspectFit"></image>
<image class="centre_img" src="https://jianguan.yyundong.com/img/newApp/kcfx.png" mode="aspectFit">
</image>
<text class="centre_text">库存分析</text>
</view>
<view class="centre" @click="warehouseClick('3')">
<image class="centre_img" src="https://jianguan.yyundong.com/img/newApp/hjjk.png" mode="aspectFit"></image>
<image class="centre_img" src="https://jianguan.yyundong.com/img/newApp/hjjk.png" mode="aspectFit">
</image>
<text class="centre_text">环境监控</text>
</view>
<view class="centre" @click="warehouseClick('4')">
<image class="centre_img" src="https://jianguan.yyundong.com/img/newApp/jqrxk.png" mode="aspectFit"></image>
<image class="centre_img" src="https://jianguan.yyundong.com/img/newApp/jqrxk.png" mode="aspectFit">
</image>
<text class="centre_text">机器人巡库</text>
</view>
@ -135,10 +145,10 @@
export default {
data() {
return {
dbNum: 0,
ybNum: 0,
dyNum: 0,
yyNum: 0,
dbNum: 1,
ybNum: 1,
dyNum: 1,
yyNum: 1,
animateUp: false,
timer: null,
textArr: [
@ -177,10 +187,10 @@
var userSid = getApp().globalData.sid
console.log(">>>>>", userSid)
this.getData(userSid)
uni.setTabBarBadge({ //
index: 0,//tabbar
text: '100'//
index: 0, //tabbar
text: '100' //
})
// uni.removeTabBarBadge({ //
// index:2
@ -231,6 +241,9 @@
title: '待办',
duration: 2000,
});
uni.navigateTo({
url: '../index/WaitingProcessed'
});
break;
case "2":
//
@ -239,6 +252,9 @@
title: '已办',
duration: 2000,
});
uni.navigateTo({
url: '../index/AlreadyProcessed'
});
break;
case "3":
//
@ -385,51 +401,86 @@
height: 100%;
margin-left: 12px;
margin-right: 12px;
padding-bottom: 50px;
.whiteBg {
display: flex;
background-color: white;
border-radius: 20px;
.swiper {
width: 100%;
height: 200px;
border-radius: 20rpx;
overflow: hidden;
/* 兼容IOS,否则在swiper组件内的布局都不受border-radius和overflow的约束 */
transform: translateY(0);
image {
border-radius: 20rpx;
width: 100%;
height: 100%;
}
}
.top_item {
margin-top: 25px;
margin-bottom: 15px;
margin-bottom: 20px;
align-items: center;
flex: 1;
display: flex;
flex-direction: column;
.top_item_icon {
display: flex;
flex-direction: column;
// position: relative;
// width: 50px;
// height: 50px;
// margin-bottom: 10px;
// background-image: url('https://jianguan.yyundong.com/img/newApp/round.png');
// background-size: 50px 50px;
position: relative;
width: 50px;
height: 50px;
align-items: center;
justify-content: center;
background-image: url('https://jianguan.yyundong.com/img/newApp/round.png');
background-size: 50px 50px;
.top_item_icon_num {
display: flex;
align-items: center;
justify-content: center;
margin-left: 28px;
margin-top: -15px;
width: 10px;
height: 10px;
font-size: 6px;
// position: relative;
// z-index: 1000;
// width: 10px;
// height: 10px;
// font-size: 6px;
// background-color: red;
// border-radius: 50%;
// padding: 5px;
// text-align: center;
// color: white;
z-index: 1000;
position: absolute;
color: white;
font-size: 12px;
background-color: red;
border-radius: 50%;
padding: 5px;
/*height: 24px;改前*/
min-height: 18px;
/*改后新增的代码*/
min-width: 18px;
/*改后新增的代码*/
line-height: 18px;
right: -16%;
top: -8px;
text-align: center;
color: white;
-webkit-border-radius: 24px;
border-radius: 24px;
padding: 2px;
}
.top_item_icon_img {
margin-top: -5px;
margin-left: 3px;
width: 30px;
height: 30px;
width: 50px;
height: 50px;
// align-items: center;
// justify-content: center;
// width: 40px;
// height: 40px;
}
}
@ -507,22 +558,8 @@
// }
}
.swiper {
width: 100%;
height: 200px;
border-radius: 20rpx;
overflow: hidden;
/* 兼容IOS,否则在swiper组件内的布局都不受border-radius和overflow的约束 */
transform: translateY(0);
image {
border-radius: 20rpx;
width: 100%;
height: 100%;
}
}
.centre {
flex: 1;

881
supervise-uniapp/pages/index/AlreadyProcessed.vue

@ -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>

467
supervise-uniapp/pages/index/InventorySummary.vue

@ -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>

158
supervise-uniapp/pages/index/InventorySummaryDetail.vue

@ -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>

2
supervise-uniapp/pages/index/MyProject.vue

@ -13,7 +13,7 @@
</view>
<image src="../../static/user/zy.png" mode="aspectFill" style="width: 15px;height: 15px;"></image>
<image src="../../static/baseIcon/zy.png" mode="aspectFill" style="width: 15px;height: 15px;"></image>
</view>

877
supervise-uniapp/pages/index/WaitingProcessed.vue

@ -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>

10
supervise-uniapp/pages/index/WarehouseManagement.vue

@ -5,13 +5,13 @@
<view class="item" style="margin-right: 10px;" @click="onClick('1')">
<image class="item_img" src="../../static/newApp/yclb.png" mode="aspectFit"></image>
<image class="item_img" src="https://jianguan.yyundong.com/img/newApp/yclb.png" mode="aspectFit"></image>
<text class="item_text">云仓列表</text>
</view>
<view class="item" style="margin-left: 10px;" @click="onClick('2')">
<image class="item_img" src="../../static/newApp/jczl.png" mode="aspectFit"></image>
<image class="item_img" src="https://jianguan.yyundong.com/img/newApp/jczl.png" mode="aspectFit"></image>
<text class="item_text">基础资料</text>
</view>
@ -22,13 +22,13 @@
<view class="item" style="margin-right: 10px;" @click="onClick('3')">
<image class="item_img" src="../../static/newApp/rkgl.png" mode="aspectFit"></image>
<image class="item_img" src="https://jianguan.yyundong.com/img/newApp/rkgl.png" mode="aspectFit"></image>
<text class="item_text">入库管理</text>
</view>
<view class="item" style="margin-left: 10px;" @click="onClick('4')">
<image class="item_img" src="../../static/newApp/ckgl.png" mode="aspectFit"></image>
<image class="item_img" src="https://jianguan.yyundong.com/img/newApp/ckgl.png" mode="aspectFit"></image>
<text class="item_text">出库管理</text>
</view>
@ -39,7 +39,7 @@
<view class="item" style="margin-right: 10px;" @click="onClick('5')">
<image class="item_img" src="../../static/newApp/ckdj.png" mode="aspectFit"></image>
<image class="item_img" src="https://jianguan.yyundong.com/img/newApp/ckdj.png" mode="aspectFit"></image>
<text class="item_text">仓库登记</text>
</view>

14
supervise-uniapp/pages/index/auditReport.vue

@ -121,8 +121,10 @@ background: #0498FD;" @click="download">
data() {
return {
queryParams: {
dataDate: "2023-06-14",
companyName: "河北源蜂惠民科技集团有限公司"
// dataDate: "2023-06-25",
// companyName: "",
dataDate: "",
companyName: ""
},
loading1: false,
loading2: false,
@ -165,10 +167,10 @@ background: #0498FD;" @click="download">
},
onLoad(option) {
// this.queryParams = {
// dataDate: option.dataDate,
// companyName: option.companyName
// }
this.queryParams = {
dataDate: option.dataDate,
companyName: option.companyName
}
console.log('1111', this.queryParams)
this.getData()

56
supervise-uniapp/pages/index/demoReportKc.vue

@ -64,7 +64,7 @@
<uni-collapse style="margin-top: 10px;">
<uni-collapse-item title="仓库库存明细表" style="font-size: 18px;" :open="true">
<uni-collapse-item title="仓库库存明细表" style="font-size: 18px;" :open="false">
<view style="display: flex;flex-direction: row;margin-left: 16px;">
@ -128,7 +128,7 @@
</uni-collapse-item>
<uni-collapse-item title="烟草库存明细表" style="font-size: 18px;" :open="true">
<uni-collapse-item title="烟草库存明细表" style="font-size: 18px;" :open="false">
<view style="display: flex;flex-direction: row;margin-left: 16px;">
@ -221,7 +221,7 @@
countProductNumber: "",
countAmount: "",
},
fileUrl: "",
}
},
@ -229,19 +229,59 @@
// this.date = option.orderDate
// console.log('1111', this.queryParams)
this.getData()
},
onShow() {
wx.hideHomeButton()
},
methods: {
onClick(e) {
uni.showToast({
title: '点击下载文件',
duration: 2000
if (this.fileUrl == '') {
uni.showToast({
icon:"none",
title: "下载地址错误,请重新进入页面。",
duration: 5000
})
return
}
uni.downloadFile({
url: this.fileUrl, //
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: '失败请重新下载'
});
},
});
console.log(e)
},
actionsClick(text) {
uni.showToast({

BIN
supervise-uniapp/static/baseIcon/search.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

BIN
supervise-uniapp/static/baseIcon/submitTime.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

BIN
supervise-uniapp/static/baseIcon/warehouse.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 302 B

BIN
supervise-uniapp/static/baseIcon/work.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

4
supervise-uniapp/uni_modules/uni-collapse/components/uni-collapse-item/uni-collapse-item.vue

@ -287,8 +287,8 @@
line-height: 48px;
background-color: #fff;
color: #303133;
font-size: 13px;
font-weight: 500;
font-size: 18px;
font-weight: 600;
/* #ifdef H5 */
cursor: pointer;
outline: none;

47
supervise-uniapp/utils/index.js

@ -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…
Cancel
Save