Browse Source

2023-8-14

master
guoxing 2 years ago
parent
commit
b0d7d8b966
  1. 1
      supervise-uniapp/App.vue
  2. 3
      supervise-uniapp/common/config.js
  3. 28
      supervise-uniapp/common/request.api.js
  4. 5
      supervise-uniapp/common/wxSilentLogin.js
  5. 7
      supervise-uniapp/components/SendCodeItem/SendCodeItem.vue
  6. 132
      supervise-uniapp/pages.json
  7. 4
      supervise-uniapp/pages/home/UserFragment.vue
  8. 63
      supervise-uniapp/pages/home/WorkFragment.vue
  9. 40
      supervise-uniapp/pages/index/BindPhone.vue
  10. 268
      supervise-uniapp/pages/index/BindPhone2.vue
  11. 615
      supervise-uniapp/pages/index/DataAssembleList.vue
  12. 208
      supervise-uniapp/pages/index/InventoryInfoDetail.vue
  13. 696
      supervise-uniapp/pages/index/InventoryInfoList.vue
  14. 5
      supervise-uniapp/pages/index/MyProject.vue
  15. 12
      supervise-uniapp/pages/index/RegulatoryReporting.vue
  16. 36
      supervise-uniapp/pages/index/WarehouseManagement.vue

1
supervise-uniapp/App.vue

@ -5,6 +5,7 @@
// wxSilentLoginURL: "https://supervise.yxtsoft.com/portal/v1/wxuser/wxSilentLogin",
wxSilentLoginURL: "https://supervise.yxtsoft.com/api/portal/v1/wxuser/wxSilentLogin",
wxAuthLoginURL: "https://supervise.yxtsoft.com/api/portal//v1/wxuser/wxAuthLogin",
SilentLoginURL: "https://supervise.yxtsoft.com/api/portal/v1/wxuser/SilentLogin",//
token: "",
isLogin: false,
sid: "",

3
supervise-uniapp/common/config.js

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

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

@ -6,12 +6,17 @@ export default {
getSalesReport: (params = {}) => request.get("/system/reportCenter/getSalesReport", params),
getGoodsOnWay: (params = {}) => request.get("/system/reportCenter/getGoodsOnWay", params),
getThresholdAnalysis: (params = {}) => request.get("/system/risk/getThresholdAnalysis", params),
// 注册
useropenid: (params = {}) => request.post("/api/portal/useropenid/save", params),
// 获取 验证码
sendVerificationCode: (params = {}) => request.get("/api/portal/v1/wxuser/sendVerificationCode/" + params.phone + "/" +
sendVerificationCode: (params = {}) => request.get("/api/portal/v1/wxuser/sendVerificationCode/" + params.phone +
"/" +
params.type, params),
// 绑定手机号
wxBindMobile: (params = {}) => request.post("/api/portal/v1/wxuser/wxBindMobile",params),
wxBindMobile: (params = {}) => request.post("/api/portal/v1/wxuser/wxBindMobile", params),
// 查看预警信息
selectBusinessRiskInfo: (params = {}) => request.post("/wxmpapi/v1/businessData/selectBusinessRiskInfo", params),
@ -52,19 +57,19 @@ export default {
getDayProduct: (params = {}) => request.get(
"/reportwxmpapi/reportstock/getDayProduct/" + params, params),
// "/report/reportstock/getDayProduct/" + params, params),
// 监管数据总览
getProjectDaily: (params = {}) => request.get(
"/reportwxmpapi/projectdaily/getProjectDaily/" + params.projectSid + "/" + params.orderDate, params),
"/reportwxmpapi/projectdaily/getProjectDaily/" + params.projectSid + "/" + params.orderDate, params),
// "/report/projectdaily/getProjectDaily/" + params.projectSid + "/" + params.orderDate, params),
// 项目监管报表
getProjectDailyFiles: (params = {}) => request.get(
"/reportwxmpapi/projectdaily/getProjectDailyFiles/" + params.projectSid + "/" + params.orderDate, params),
"/reportwxmpapi/projectdaily/getProjectDailyFiles/" + params.projectSid + "/" + params.orderDate, params),
// "/report/projectdaily/getProjectDailyFiles/" + params.projectSid + "/" + params.orderDate, params),
// 获取首页面数据
getWorkData: (params = {}) => request.get("/api/portal/v1/flow/task/" + params, params),
@ -86,4 +91,9 @@ export default {
getStorehouseBySid: (params = {}) => request.get("/api/crm/v1/projectinformation/getStorehouseBySid/" + params,
params),
// 获取库存信息列表
inventoryInfoListPage: (params = {}) => request.post("/reportwxmpapi/prodStock/selectListPage", params),
// 获取数据总览列表
projectListPage: (params = {}) => request.post("/reportwxmpapi/projectdaily/selectListPage", params),
}

5
supervise-uniapp/common/wxSilentLogin.js

@ -61,8 +61,9 @@ const wxSilentLogin = () => {
// if (res.data.code == 100) {
// 未绑定用户
uni.navigateTo({
url: '../index/BindPhone?sysUserWxAuthSid=' +
res.data.data
url: '../index/BindPhone?openid=' +
res.data.data.openid+"&unionid="+
res.data.data.unionid
})
// }

7
supervise-uniapp/components/SendCodeItem/SendCodeItem.vue

@ -7,6 +7,8 @@
</template>
<script>
//bus
import bus from '@/common/bus';
export default {
data() {
return {
@ -87,9 +89,14 @@
_this.$api.sendVerificationCode(_this.pageData).then((resp) => {
// if (resp.success) {
console.log('1111', resp)
bus.$emit('isShow', true);
}).catch(e => {
console.log('eeeee', e)
bus.$emit('isShow', false);
clearInterval(timeOut)
_this.countdown = 60
//

132
supervise-uniapp/pages.json

@ -10,16 +10,10 @@
"pages": [
//pageshttps://uniapp.dcloud.io/collocation/pages
{
"path": "pages/index/RegulatoryReporting",
"style": {
"navigationBarTitleText": "监管数据总览"
}
},
// #ifdef APP-PLUS
{
"path": "pages/login/login",
"style": {
@ -30,62 +24,116 @@
}
},
// #endif
{
"path": "pages/home/WorkFragment",
"style": {
"navigationBarTitleText": "工作台"
}
},
{
"path": "pages/index/BindPhone",
"style": {
"navigationBarTitleText": "绑定账号",
"navigationStyle": "custom",
"app-plus": {
"scrollIndicator": false //,
}
}
},
{
"path": "pages/index/AlreadyProcessed",
"path": "pages/index/BindPhone2",
"style": {
"navigationBarTitleText": "已办工作",
"navigationBarTitleText": "手机绑定",
"navigationStyle": "custom",
"app-plus": {
"scrollIndicator": false //,
}
}
},
{
"path": "pages/index/InventoryInfoList",
"style": {
"navigationBarTitleText": "库存信息",
"enablePullDownRefresh": true
}
},{
"path": "pages/index/WaitingProcessed",
"style": {
"navigationBarTitleText": "待办工作",
"enablePullDownRefresh": true
}
},
},
{
"path": "pages/index/DataAssembleList",
"style": {
"navigationBarTitleText": "数据总览",
"enablePullDownRefresh": true
}
},
{
"path": "pages/index/InventoryInfoDetail",
"style": {
"navigationBarTitleText": "库存信息详情"
}
},
{
"path": "pages/index/MyProject",
"style": {
"navigationBarTitleText": "我的项目"
}
},
{
"path": "pages/index/UserPrompt",
"path": "pages/index/RegulatoryReporting",
"style": {
"navigationBarTitleText": "用户须知",
"navigationStyle": "custom",
"app-plus": {
"scrollIndicator": false //,
}
"navigationBarTitleText": "监管数据总览"
}
},
},
{
"path": "pages/index/BindPhone",
"path": "pages/index/AlreadyProcessed",
"style": {
"navigationBarTitleText": "绑定手机号",
"navigationBarTitleText": "已办工作",
"enablePullDownRefresh": true
}
}, {
"path": "pages/index/WaitingProcessed",
"style": {
"navigationBarTitleText": "待办工作",
"enablePullDownRefresh": true
}
},
{
"path": "pages/index/UserPrompt",
"style": {
"navigationBarTitleText": "用户须知",
"navigationStyle": "custom",
"app-plus": {
"scrollIndicator": false //,
}
}
},
},
{
"path": "pages/index/RegulatoryReportingDownload",
"style": {
@ -115,15 +163,15 @@
"style": {
"navigationBarTitleText": "应收账款"
}
},{
}, {
"path": "pages/index/InventorySummary",
"style": {
"navigationBarTitleText": "质物库存汇总"
}
},
{
"path": "pages/index/InventorySummaryDetail",
"style": {
@ -146,7 +194,7 @@
}
},
{
{
"path": "pages/index/ProjectDetail",
"style": {
"navigationBarTitleText": "项目详情"

4
supervise-uniapp/pages/home/UserFragment.vue

@ -17,10 +17,10 @@
<UserItem src='https://supervise.yxtsoft.com/img/user/wdxm.png' text="我的项目" @click="click" clickId="0"></UserItem>
</view>
<view class="user-item-bg">
<!-- <view class="user-item-bg">
<UserItem src='https://supervise.yxtsoft.com/img/user/smxx.png' text="实名信息" notes="完善信息" @click="click" clickId="1"></UserItem>
</view>
</view> -->
<view class="user-item-bg">
<UserItem src='https://supervise.yxtsoft.com/img/user/sz.png' text="设置" @click="click" clickId="2"></UserItem>

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

@ -59,17 +59,17 @@
</view>
<view style="display: flex;flex-direction: row; align-items: center;" v-show="textArr.length>0">
<!-- <view style="display: flex;flex-direction: row; align-items: center; margin-top: 7px;margin-bottom: 7px;" v-show="textArr.length>0">
<image style="width: 20px;height: 20px;margin-left: 10px;"
<image style="width: 22px;height: 22px;margin-left: 10px;"
src="https://supervise.yxtsoft.com/img/newApp/notices.png" mode="aspectFit"></image>
<div class="textBox">
<div class="textBox"> -->
<!-- <transition name="slide">
<text class="text" :key="text.id" @click="textClick(text)">{{text.val}} </text>
</transition>
-->
<div class="marquee-wrap">
<!-- <div class="marquee-wrap">
<div class="marquee-list" :class="{'animate-up': animateUp}">
<li v-for="(item, index) in textArr" @click="textClick(item)">{{item}}</li>
</div>
@ -77,22 +77,22 @@
</div>
</view>
</view> -->
<view class="whiteBg" style="display: flex;flex-direction: column;padding-top: 20px;">
<view class="whiteBg" style="display: flex;flex-direction: column;padding-top: 20px;margin-top: 20px;">
<view style="display: flex;flex-direction: row;margin-left: 20px;align-items: center;">
<image style="width: 25px;height: 25px;" src="https://supervise.yxtsoft.com/img/newApp/icon.png"
<image style="width: 22px;height: 22px;" src="https://supervise.yxtsoft.com/img/newApp/icon.png"
mode="aspectFit"></image>
<text style="margin-left: 5px;">更多</text>
<text style="margin-left: 5px; font-size: 16px;font-weight: 500;font-family: sans-serif;">更多</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 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://supervise.yxtsoft.com/img/newApp/ywsp.png"
@ -119,7 +119,7 @@
<text class="centre_text">数据报表</text>
</view>
</view>
</view> -->
<view style="margin-top: 20px;display: flex;flex-direction: row;width: 100%;margin-bottom: 20px;">
@ -130,7 +130,7 @@
</image>
<text class="centre_text">云仓管理</text>
</view>
<view class="centre" @click="warehouseClick('2')">
<!-- <view class="centre" @click="warehouseClick('2')">
<image class="centre_img" src="https://supervise.yxtsoft.com/img/newApp/kcfx.png"
mode="aspectFit">
</image>
@ -147,7 +147,14 @@
mode="aspectFit">
</image>
<text class="centre_text">机器人巡库</text>
</view>
</view> -->
<view class="centre" @click="warehouseClick('5')">
<image class="centre_img" src="https://supervise.yxtsoft.com/img/newApp/jqrxk.png"
mode="aspectFit">
</image>
<text class="centre_text">数据总览</text>
</view>
</view>
</view>
@ -416,11 +423,11 @@
switch (index) {
case "1":
//
uni.showToast({
icon: "none",
title: '云仓管理',
duration: 2000,
});
// uni.showToast({
// icon: "none",
// title: '',
// duration: 2000,
// });
uni.navigateTo({
url: '../index/WarehouseManagement'
@ -451,6 +458,18 @@
duration: 2000,
});
break;
case "5":
//
// uni.showToast({
// icon: "none",
// title: '',
// duration: 2000,
// });
uni.navigateTo({
url: '../index/DataAssembleList'
});
break;
default:
break;
}
@ -477,7 +496,7 @@
.swiper {
width: 100%;
height: 200px;
height: 180px;
border-radius: 20rpx;
overflow: hidden;
/* 兼容IOS,否则在swiper组件内的布局都不受border-radius和overflow的约束 */
@ -542,8 +561,8 @@
}
.top_item_icon_img {
width: 50px;
height: 50px;
width: 48px;
height: 48px;
// align-items: center;
// justify-content: center;
// width: 40px;
@ -596,7 +615,7 @@
list-style: none;
line-height: 40px;
color: #000;
font-size: 18px;
font-size: 15px;
font-weight: 400;
}
}
@ -636,7 +655,7 @@
.centre_img {
width: 50px;
height: 50px;
height: 59px;
}
.centre_text {

40
supervise-uniapp/pages/index/BindPhone.vue

@ -6,7 +6,7 @@
<view class="statusBar" :style="{ paddingTop: statusBarHeight + 'px' }"></view>
<!-- 真正的导航栏内容 -->
<view class="navBar">
<view>绑定手机</view>
<view>绑定账号</view>
</view>
</view>
<view style="margin-top: 30rpx;">
@ -26,9 +26,17 @@
<view class="btn" @click="next">
<text class="btnText">绑定手机</text>
<text class="btnText">绑定账号</text>
</view>
<view v-show="!isShow">
<view style="display: flex;flex-direction: column;justify-content: center;width: 100%;margin-top: 50px;">
<text style="width: 100%;text-align: center;font-size: 35px;color: #f00;">抱歉</text>
<text style="margin: 20px; text-align: center;font-size: 30px;color: #f00;">您的平台应用未被授权请联系工作人员</text>
</view>
</view>
</view>
</template>
@ -37,6 +45,7 @@
export default {
data() {
return {
isShow:true,
//
statusBarHeight: 0,
//
@ -44,14 +53,26 @@
page: {
mobile: '',
openid: '',
code: ''
code: '',
unionid:""
}
};
},
//
created() {
//
this.statusBarHeight = uni.getSystemInfoSync()['statusBarHeight'];
this.$bus.$on('isShow', msg => {
//httpjswholeSpin
console.log("isShows>>>>>", msg)
this.isShow = msg
console.log("isShows>>>>>", this.isShow)
});
},
onShow() {
/* #ifdef MP-WEIXIN */
@ -59,9 +80,11 @@
/* #endif */
},
onLoad(options) {
this.page.openid = options.sysUserWxAuthSid
console.log('=======', options)
console.log('=======', options.sysUserWxAuthSid)
console.log('=======', options)
this.page.openid = options.openid
this.page.unionid = options.unionid
console.log('this.page', this.page)
},
methods: {
next() {
@ -155,6 +178,9 @@
},
send(e) { //
console.log(e);
this.isShow = e.success
console.log("this.isShow",this.isShow);
},
codeText(e) {
//

268
supervise-uniapp/pages/index/BindPhone2.vue

@ -0,0 +1,268 @@
<template>
<view>
<!-- 自定义导航栏 -->
<view class="navBarBox">
<!-- 状态栏占位 -->
<view class="statusBar" :style="{ paddingTop: statusBarHeight + 'px' }"></view>
<!-- 真正的导航栏内容 -->
<view class="navBar">
<view>账户绑定</view>
</view>
</view>
<view style="margin-top: 30rpx;">
<view class="inputRow">
<image src="../../static/baseIcon/username.png" mode="aspectFill" class="drawableLeft"></image>
<input type="number" maxlength="11" @input="bankText" placeholder="请输入银行名称" class="input" />
<!-- <SendCodeItem :phoneNum="page.mobile" url="/v1/wxuser/sendVerificationCode" @click="send"
ref="wxCodeItem"></SendCodeItem> -->
</view>
<view class="inputRow">
<image src="../../static/baseIcon/username.png" mode="aspectFill" class="drawableLeft"></image>
<input type="number" maxlength="11" @input="nameText" placeholder="请输入姓名" class="input" />
<!-- <SendCodeItem :phoneNum="page.mobile" url="/v1/wxuser/sendVerificationCode" @click="send"
ref="wxCodeItem"></SendCodeItem> -->
</view>
<view class="inputRow">
<image src="../../static/baseIcon/username.png" mode="aspectFill" class="drawableLeft"></image>
<input type="number" maxlength="11" @input="phoneText" placeholder="请输入手机号" class="input" />
<!-- <SendCodeItem :phoneNum="page.mobile" url="/v1/wxuser/sendVerificationCode" @click="send"
ref="wxCodeItem"></SendCodeItem> -->
</view>
<view class="inputRow">
<image src="../../static/baseIcon/username.png" mode="aspectFill" class="drawableLeft"></image>
<input type="number" maxlength="11" @input="codeText" placeholder="请输入验证码" class="input" />
<SendCodeItem :phoneNum="page.mobile" url="/v1/wxuser/sendVerificationCode" @click="send"
ref="wxCodeItem"></SendCodeItem>
</view>
</view>
<view class="btn" @click="next">
<text class="btnText">绑定手机</text>
</view>
<view v-show="isShow">
<view style="display: flex;flex-direction: column;justify-content: center;width: 100%;margin-top: 50px;">
<text style="width: 100%;text-align: center;font-size: 35px;color: #f00;">绑定成功</text>
<text style="margin: 20px; text-align: center;font-size: 30px;color: #f00;">请联系监管负责人</text>
</view>
</view>
</view>
</template>
<script>
export default {
data() {
return {
isShow: false,
//
statusBarHeight: 0,
//
navBarHeight: 82 + 11,
page: {
bankName:"",
name:"",
mobile: '',
openid: '',
unionid: '',
code:""
}
};
},
//
created() {
//
this.statusBarHeight = uni.getSystemInfoSync()['statusBarHeight'];
},
onShow() {
/* #ifdef MP-WEIXIN */
wx.hideHomeButton();
/* #endif */
},
onLoad() {
// this.page.openid = options.sysUserWxAuthSid
this.getOpenId()
},
methods: {
getOpenId() {
let that = this
wx.login({
success: function(res) {
if (res.code) {
console.log('Http网络请求信息', {
"wxCode": res.code
})
uni.request({
//
// url: getApp().globalData.wxSilentLoginURL + "?wxCode=" + res.code,
url: getApp().globalData.SilentLoginURL + "?wxCode=" + res.code,
// GET POST
method: "GET",
header: {
//
'content-type': "application/x-www-form-urlencoded"
},
//
data: {
"wxCode": res.code
},
success: res => {
console.log("请求openid", res)
if (res.statusCode == 200) {
if (res.data.success) {
that.page.openid = res.data.data.openid
that.page.unionid = res.data.data.unionid
console.log("res", that.page)
} else {
uni.showToast({
title: "网络错误,请退出后重新进入。",
icon: 'none'
})
}
} else {
uni.showToast({
title: "网络错误,请退出后重新进入。",
icon: 'none'
})
}
},
fail: (err) => {
uni.showToast({
title: "网络错误,请退出后重新进入。",
icon: 'none'
})
},
complete: () => {
}
});
}
},
fail: function(res) {
uni.showToast({
title: "网络错误,请退出后重新进入。",
icon: 'none'
})
}
});
},
next() {
console.log('next', this.page)
var mobileLength = this.page.mobile.length;
if (mobileLength == 0) {
this.Toast("请输入手机号")
return;
}
let _this = this
console.log('1111', _this.page)
_this.$api.useropenid(_this.page).then((resp) => {
// if (resp.success) {
console.log('1111', resp)
this.isShow = true
console.log("isShows>>>>>", this.isShow)
// wx.exitMiniProgram({
// success: function() {},
// fail: function() {}
// })
// uni.navigateBack({
// delta: 10,
// });
}).catch(e => {
this.isShow = false
console.log("isShows>>>>>", this.isShow)
console.log('eeeee', e)
})
},
bankText(e) {
//
this.page.bankName = e.detail.value;
},
nameText(e) {
//
this.page.name = e.detail.value;
},
phoneText(e) {
//
this.page.mobile = e.detail.value;
},
codeText(e) {
//
this.page.code = e.detail.value;
}
}
};
</script>
<style lang="scss">
.navBarBox {
background: #007AFF;
}
.navBarBox .statusBar {}
.navBarBox .navBar {
padding-top: 15px;
padding-bottom: 13px;
display: flex;
font-size: 13px;
flex-direction: row;
color: #ffffff;
justify-content: center;
align-items: center;
}
.inputRow {
display: flex;
margin-left: 30rpx;
margin-right: 30rpx;
margin-bottom: 10rpx;
margin-top: 10rpx;
padding-bottom: 10rpx;
border-bottom: 1px #e1e1e1 solid;
align-items: center;
.input {
margin-left: 20rpx;
height: 70rpx;
flex: 1;
font-size: 32rpx;
}
.drawableLeft {
width: 40rpx;
height: 40rpx;
margin: 20rpx;
}
}
.btn {
display: flex;
width: 90%;
height: 80rpx;
flex-direction: column;
background-color: #007AFF;
margin-top: 80rpx;
margin-left: auto;
margin-right: auto;
align-items: center;
justify-content: center;
border-radius: 10rpx;
.btnText {
color: #ffffff;
font-size: 33rpx;
}
}
</style>

615
supervise-uniapp/pages/index/DataAssembleList.vue

@ -0,0 +1,615 @@
<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" @click="itemClick(item)">
<view class="item">
<view class="item-name" v-html="highLight(item.projectName)">{{item.projectName}}</view>
<text class="item-date">{{item.orderDate}}</text>
</view>
<text class="item-num">{{item.pledgeRatePercent}}%</text>
<image src="../../static/baseIcon/zy.png" style="width: 15px;height: 15px;margin-left: 5px;"
mode="aspectFill">
</image>
</view>
</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="listQuery.params.dataDateStart" placeholder="开始日期"
:disabled="true" @click="openDate(1)">
<text style="margin-left: 10px;margin-right: 10px;color: #777;"></text>
<input class="drawerView-date-text" v-model="listQuery.params.dataDateEnd" 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> -->
<!-- <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.date}}</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: {
calculatedValue: "",
endDate: "",
},
selectDate: "",
datetimeShow: false,
datetimeIndex: "1",
personnelList: [
],
triggered: true,
status: 'loadmore',
iconType: 'flower',
loadText: {
loadmore: '轻轻上拉',
loading: '努力加载中',
nomore: '拉也没用,没有了'
},
listQuery: {
current: 1,
size: 10,
params: {
projectName: "",
dataDateStart: "",
dataDateEnd: "",
}
},
loadingType: 'more', //
dataList: [
],
};
},
onShow() {
this.listQuery.current = 1
this.dataList = [];
this.loadData();
},
onLoad() {
},
// onPullDownRefresh() {
// this.listQuery.current = 1
// this.loadData('refresh');
// setTimeout(function() {
// uni.stopPullDownRefresh();
// }, 2000);
// },
// //
// onReachBottom() {
// },
onReady() {
/* #ifdef MP-WEIXIN */
//
this.$refs.datetimePicker.setFormatter(this.formatter)
/* #endif */
},
methods: {
//
preventHandler() {
return
},
/* 滚动到底部 */
scrollBottem() {
console.log("滚动高度")
this.status = "nomore"
console.log("长度:》》》", this.dataList.length);
this.listQuery.current = this.listQuery.current + 1
this.loadData();
},
onRefresh() {
// setTimeout(() => {
// }, 2000)
console.log("进入");
this.listQuery.current = 1
this.loadData('refresh');
setTimeout(function() {
this.triggered = false;
uni.stopPullDownRefresh();
}, 2000);
},
/* 下拉被复位 */
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
this.listQuery.params.projectName = this.searchText
this.listQuery.current = 1
this.dataList = [];
console.log("searchInput>>",this.listQuery);
this.loadData("refresh");
},
highLight(value) {
console.log("highLight》》》", value);
if (value == '' || value == undefined || value == null)
return
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.listQuery.params.dataDateStart = formatTimeTwo(parseInt(date.value), "Y-M-D")
break;
case "2":
this.listQuery.params.dataDateEnd = 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].date);
// this.personnelList[index].checked = !this.personnelList[index].checked
},
resetClik() {
this.listQuery.params = {
dataDateStart: "",
dataDateEnd: "",
}
},
assignClick() {
console.log('confirm', this.listQuery)
this.datetimeShow = false
this.listQuery.params.projectName = this.searchText
this.listQuery.current = 1
this.dataList = [];
this.$refs['drawer'].close()
this.loadData("refresh");
// uni.showToast({
// icon: "none",
// title: JSON.stringify(this.listQuery),
// duration: 5000,
// });
},
//
async loadData(type = 'add', loading) {
//
if (type === 'add') {
if (this.loadingType === 'nomore') {
return;
}
this.loadingType = 'loading';
} else {
this.loadingType = 'more';
}
var list = []
console.log('loadData', this.listQuery)
this.$api.projectListPage(this.listQuery).then((resp) => {
// if (resp.success) {
console.log('1111', resp)
this.listQuery.current=resp.current,
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)
})
},
itemClick(item) {
console.log('itemClick', item)
uni.navigateTo({
url: '../index/RegulatoryReporting?projectSid=' + item.projectSid + "&orderDate=" + item.orderDate
});
}
}
}
</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: 35px;
.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: row;
align-items: center;
background: #fff;
border-radius: 12px;
margin-left: 12px;
margin-right: 12px;
margin-top: 12px;
padding: 15px 20px;
.item {
flex: 1;
display: flex;
flex-direction: column;
.item-name {
font-size: 16px;
color: #000;
font-weight: 1000;
font-family: sans-serif;
overflow: hidden;
text-overflow: ellipsis;
display: -webkit-box;
-webkit-line-clamp: 1;
-webkit-box-orient: vertical;
margin-right: 20px;
}
.item-date {
margin-top: 10px;
font-size: 14px;
color: #717171;
}
}
.item-num {
font-size: 13px;
color: #fff;
background: #F67E35;
border-radius: 15px;
padding: 5px 10px;
}
}
}
}
</style>

208
supervise-uniapp/pages/index/InventoryInfoDetail.vue

@ -0,0 +1,208 @@
<template>
<view class="pages">
<view class="top">
<text class="top-title">{{info.pro_name!=''?info.pro_name:"--"}}</text>
<view class="top-con">
<view class="top-con-blue"></view>
<text class="top-con-text">公司名称</text>
<text class="top-con-text2">{{info.custer_name!=''?info.custer_name:"--"}}</text>
</view>
<view class="top-con">
<view class="top-con-blue"></view>
<text class="top-con-text">仓库名称</text>
<text class="top-con-text2">{{info.store_house_name!=''?info.store_house_name:"--"}}</text>
</view>
<view class="top-con">
<view class="top-con-blue"></view>
<text class="top-con-text">核算价值</text>
<text class="top-con-text3">¥ {{info.calculated_value!=''?info.calculated_value:"--"}}</text>
</view>
</view>
<view class="bom">
<view class="bom-item">
<view class="bom-item-lay">
<text class="bom-item-lay-text1">{{info.pro_model!=''?info.pro_model:"--"}}</text>
<text class="bom-item-lay-text2">商品规格</text>
</view>
<view class="bom-item-lay">
<text class="bom-item-lay-text1">{{info.confirmed_price!=''?info.confirmed_price:"--"}}</text>
<text class="bom-item-lay-text2">单价()</text>
</view>
</view>
<view class="bom-item">
<view class="bom-item-lay">
<text class="bom-item-lay-text1">{{info.num!=''?info.num:"--"}}</text>
<text class="bom-item-lay-text2">数量</text>
</view>
<view class="bom-item-lay">
<text class="bom-item-lay-text1">{{info.pro_unit!=''?info.pro_unit:"--"}}</text>
<text class="bom-item-lay-text2">单位</text>
</view>
</view>
<view class="bom-item">
<view class="bom-item-lay">
<text class="bom-item-lay-text1">{{info.confirmed_price!=''?info.confirmed_price:"--"}}</text>
<text class="bom-item-lay-text2">质权人确认的单价()</text>
</view>
<view class="bom-item-lay">
<text class="bom-item-lay-text1">{{info.location_id!=''?info.location_id:"--"}}</text>
<text class="bom-item-lay-text2">货位号</text>
</view>
</view>
</view>
</view>
</template>
<script>
export default {
data() {
return {
info: {}
}
},
onLoad(options) {
console.log('options', options)
var data = JSON.parse(options.info)
this.info = data
console.log('info', this.info)
},
methods: {
}
}
</script>
<style lang="scss">
.pages {
width: 100%;
height: 100%;
background: #fff;
display: flex;
flex-direction: column;
.top {
padding: 25px;
.top-title {
font-size: 18px;
padding-bottom: 10px;
color: #000;
font-weight: 1000;
font-family: sans-serif;
overflow: hidden;
text-overflow: ellipsis;
display: -webkit-box;
-webkit-line-clamp: 1;
-webkit-box-orient: vertical;
}
.top-con {
margin-top: 12px;
display: flex;
flex-direction: row;
align-items: center;
.top-con-blue {
background: #007AFF;
width: 8px;
height: 8px;
border-radius: 50%;
}
.top-con-text {
margin-left: 5px;
font-size: 16px;
color: #949494;
}
.top-con-text2 {
font-size: 16px;
color: #434343;
}
.top-con-text3 {
font-size: 22px;
color: #F98F54;
}
}
}
.bom {
margin-left: 20px;
margin-right: 20px;
border-top: 1px solid #eee;
display: flex;
flex-direction: column;
.bom-item {
display: flex;
flex-direction: row;
align-items: center;
justify-content: center;
.bom-item-lay {
flex: 1;
margin-top: 20px;
display: flex;
flex-direction: column;
justify-content: center;
.bom-item-lay-text1 {
font-weight: 1000;
font-family: sans-serif;
text-align: center;
font-size: 18px;
color: #434343;
}
.bom-item-lay-text2 {
margin-top: 5px;
text-align: center;
font-size: 15px;
color: #949494;
}
}
}
}
}
</style>

696
supervise-uniapp/pages/index/InventoryInfoList.vue

@ -0,0 +1,696 @@
<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" @click="itemClick(item)">
<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.pro_name)">{{item.pro_name}}</view>
<text class="item-top-text2">¥ {{item.calculated_value}}</text>
</view>
<view class="item-con">
<view class="item-con-item">
<view class="bule"></view>
<text class="item-con-text">公司名称</text>
<text class="item-con-text">{{item.custer_name}}</text>
</view>
<view style="margin-top: 8px;" class="item-con-item">
<view class="bule"></view>
<text class="item-con-text">仓库名称</text>
<text class="item-con-text">{{item.store_house_name}}</text>
</view>
<!-- <view style="margin-top: 8px;" class="item-con-item">
<view class="bule"></view>
<text class="item-con-text">核算价值</text>
<text class="item-con-text2">{{item.calculated_value}}</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.calculated_value" 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.custer_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: {
calculated_value: "",
endDate: "",
},
selectDate: "",
datetimeShow: false,
datetimeIndex: "1",
personnelList: [
],
triggered: true,
status: 'loadmore',
iconType: 'flower',
loadText: {
loadmore: '轻轻上拉',
loading: '努力加载中',
nomore: '拉也没用,没有了'
},
listQuery: {
current: 1,
size: 10,
params: {
proName:""
}
},
loadingType: 'more', //
dataList: [
],
};
},
onShow() {
this.listQuery.current = 1
this.dataList = [];
this.loadData();
},
onLoad() {
},
// onPullDownRefresh() {
// this.listQuery.current = 1
// this.loadData('refresh');
// setTimeout(function() {
// uni.stopPullDownRefresh();
// }, 2000);
// },
// //
// onReachBottom() {
// },
onReady() {
/* #ifdef MP-WEIXIN */
//
this.$refs.datetimePicker.setFormatter(this.formatter)
/* #endif */
},
methods: {
//
preventHandler() {
return
},
/* 滚动到底部 */
scrollBottem() {
console.log("滚动高度")
this.status = "nomore"
console.log("长度:》》》", this.dataList.length);
this.listQuery.current = this.listQuery.current + 1
this.loadData();
},
onRefresh() {
// setTimeout(() => {
// }, 2000)
console.log("进入");
this.listQuery.current = 1
this.loadData('refresh');
setTimeout(function() {
this.triggered = false;
uni.stopPullDownRefresh();
}, 2000);
},
/* 下拉被复位 */
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
this.listQuery.params.proName = this.searchText
this.listQuery.current = 1
this.dataList = [];
console.log("searchInput>>", this.listQuery);
this.loadData("refresh");
},
highLight(value) {
console.log("highLight》》》", value);
if (value == '' || value == undefined || value == null)
return
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.calculated_value = 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].custer_name);
// this.personnelList[index].checked = !this.personnelList[index].checked
},
resetClik() {
this.search = {
calculated_value: "",
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.inventoryInfoListPage(this.listQuery).then((resp) => {
// if (resp.success) {
console.log('1111', resp)
this.listQuery.current=resp.current,
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)
})
},
itemClick(item) {
console.log('itemClick', item)
var data = JSON.stringify(item);
uni.navigateTo({
url: '../index/InventoryInfoDetail?info=' + data
});
}
}
}
</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: 35px;
.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-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-top-text2 {
font-size: 14px;
color: #f00;
}
}
.item-con {
margin-top: 12px;
display: flex;
flex-direction: column;
.item-con-item {
display: flex;
flex-direction: row;
align-items: center;
.bule {
background: #007AFF;
width: 8px;
height: 8px;
border-radius: 50%;
}
.item-con-text {
margin-left: 5px;
font-size: 15px;
color: #666666;
}
.item-con-text2 {
font-size: 15px;
color: #f00;
}
}
}
.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>

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

@ -56,8 +56,11 @@
onLoad() {
},
onShow() {
wx.hideHomeButton()
console.log('onShow', getApp().globalData.isLogin)
let token = uni.getStorageSync("Global-Auth-Token")

12
supervise-uniapp/pages/index/RegulatoryReporting.vue

@ -119,8 +119,8 @@
data() {
return {
params: {
projectSid: "9a2c1e08-0e0a-4440-bc3d-3adbef082cdb",
orderDate: "2023-08-07",
projectSid: "",
orderDate: "",
},
info: {
projectName: "",
@ -184,10 +184,10 @@
},
onLoad(option) {
// this.params = {
// projectSid: option.projectSid,
// orderDate: option.orderDate
// }
this.params = {
projectSid: option.projectSid,
orderDate: option.orderDate
}
},

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

@ -12,13 +12,13 @@
<view class="item" style="margin-left: 10px;" @click="onClick('2')">
<image class="item_img" src="https://supervise.yxtsoft.com/img/newApp/jczl.png" mode="aspectFit"></image>
<text class="item_text">基础资料</text>
<text class="item_text">库存信息</text>
</view>
</view>
<view class="layout">
<!-- <view class="layout">
<view class="item" style="margin-right: 10px;" @click="onClick('3')">
@ -44,14 +44,14 @@
</view>
<view style="margin-left: 10px;flex: 1;
padding: 30px 20px;">
padding: 30px 20px;"> -->
<!-- <image class="item_img" src="../../static/newApp/gzdd.png"></image> -->
<!-- <text class="item_text">云仓列表</text> -->
</view>
<!-- </view>
</view>
</view> -->
</view>
@ -83,11 +83,11 @@
switch (index) {
case "1":
//
uni.showToast({
icon: "none",
title: '云仓列表',
duration: 2000,
});
// uni.showToast({
// icon: "none",
// title: '',
// duration: 2000,
// });
uni.navigateTo({
url: '../index/WarehouseList'
@ -95,12 +95,16 @@
break;
case "2":
//
uni.showToast({
icon: "none",
title: '基础资料',
duration: 2000,
});
uni.navigateTo({
url: '../index/InventoryInfoList'
});
// //
// uni.showToast({
// icon: "none",
// title: '',
// duration: 2000,
// });
break;
case "3":
//

Loading…
Cancel
Save