Browse Source

2023-11-24

master
guoxing 2 years ago
parent
commit
aa936a9827
  1. 2
      supervise-report-ui/.env.development
  2. 28
      supervise-report-ui/src/api/main/main.js
  3. 2
      supervise-report-ui/src/main.js
  4. 207
      supervise-report-ui/src/views/index.vue
  5. 6
      supervise-report-ui/src/views/project/projectDaily.vue
  6. 3
      supervise-uniapp/common/config.js
  7. 111
      supervise-uniapp/pages/index/RegulatoryReporting.vue
  8. BIN
      supervise-uniapp/static/baseIcon/user.png

2
supervise-report-ui/.env.development

@ -6,4 +6,4 @@ VUE_APP_BASE_API = '/api'
## 配置测试和本地开发时的 接口地址
##VUE_APP_URL = "http://8.130.39.13:8112"
VUE_APP_URL = "http://192.168.0.108:7009"
VUE_APP_URL = "http://192.168.2.112:7009"

28
supervise-report-ui/src/api/main/main.js

@ -2,9 +2,35 @@ import request from '@/utils/request'
// 主页
// 列表
export default {
// 获取全部项目
getProjectListAllNew(data) {
return request({
url: '/v1/projectinformation/listAllNew',
method: 'get',
data: data
})
},
// 顶部数据
getProjectDailySum(data) {
return request({
url: '/projectdaily/getProjectDailySum',
method: 'post',
data: data
})
},
// 分析图
getProjectDailyZx(data) {
return request({
url: '/projectdaily/getProjectDailyZx',
method: 'post',
data: data
})
},
// 底部列表
getProjectDailys(data) {
return request({
url: '/projectdaily/getProjectDailys',

2
supervise-report-ui/src/main.js

@ -50,7 +50,7 @@ VueAMap.initAMapApiLoader({
Vue.config.productionTip = false
let token = null
// let token = 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VyTm8iOiI4NWUwYWY0Yi1lMGJhLTQyM2UtOTIxMS1kYjI2MDg2NTgwM2YiLCJpc3MiOiJXQksiLCJleHAiOjE3MDA2NDM3OTN9.a9Zmp99E33LC4fCVSwD5rDpiivzQCXRShw8p8voL4OQ'
// let token = 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VyTm8iOiI4NWUwYWY0Yi1lMGJhLTQyM2UtOTIxMS1kYjI2MDg2NTgwM2YiLCJpc3MiOiJXQksiLCJleHAiOjE3MDA4Nzk3NjF9.2LvPpT8YheMSXVJN7B94LP0RCyx87XdNxTM9W2XDiEo'
token = GetQueryString('token')
if (token) {
setStorage(token)

207
supervise-report-ui/src/views/index.vue

@ -9,9 +9,9 @@
<div class="title-select">
<el-select v-model="projectValue" placeholder="请选择项目" style="width: 250px;margin-right: 50px;"
<el-select v-model="projectValue" placeholder="请选择项目" style="width: 350px;margin-right: 50px;"
@change="projectSelect">
<el-option v-for="item in projectList" :key="item.value" :label="item.label" :value="item.value">
<el-option v-for="item in projectList" :key="item.sid" :label="item.entryName" :value="item.sid">
</el-option>
</el-select>
@ -34,10 +34,10 @@
<span>动产质押类项目</span>
</div>
<div class="top-left-item-centre">
<span class="top-left-item-centre-span">1</span>
<span class="top-left-item-centre-span">{{info.dongChan}}</span>
<span></span>
</div>
<span class="top-left-item-right">165161655</span>
<span class="top-left-item-right">{{info.dcUseLimit}}</span>
</div>
@ -48,10 +48,10 @@
<span>保证类项目</span>
</div>
<div class="top-left-item-centre">
<span class="top-left-item-centre-span">1</span>
<span class="top-left-item-centre-span">{{info.baoZheng}}</span>
<span></span>
</div>
<span class="top-left-item-right">165161655</span>
<span class="top-left-item-right">{{info.bzUseLimit}}</span>
</div>
@ -62,10 +62,10 @@
<span>应收帐款质押类项目</span>
</div>
<div class="top-left-item-centre">
<span class="top-left-item-centre-span">1</span>
<span class="top-left-item-centre-span">{{info.yingShou}}</span>
<span></span>
</div>
<span class="top-left-item-right">165161655</span>
<span class="top-left-item-right">{{info.ysUseLimit}}</span>
</div>
@ -77,9 +77,9 @@
<div class="top-right-item">
<span class="top-right-item-text1">账户余额</span>
<span class="top-right-item-text2">155651.15</span>
<span class="top-right-item-text3"> 15.66%</span>
<span class="top-right-item-text4"> 12.21%</span>
<span class="top-right-item-text2">{{info.accountsBalance}}</span>
<span class="top-right-item-text3" v-show="info.accountsBalanceBfb>0"> {{info.accountsBalanceBfb}}%</span>
<span class="top-right-item-text4" v-show="info.accountsBalanceBfb<0"> {{info.accountsBalanceBfb}}%</span>
</div>
<div class="top-right-item-view"></div>
@ -87,9 +87,9 @@
<div class="top-right-item">
<span class="top-right-item-text1">应收账款</span>
<span class="top-right-item-text2">155651.15</span>
<span class="top-right-item-text3"> 15.66%</span>
<span class="top-right-item-text4"> 12.21%</span>
<span class="top-right-item-text2">{{info.accountsReceivable}}</span>
<span class="top-right-item-text3" v-show="info.accountsReceivableBfb>0"> {{info.accountsReceivableBfb}}%</span>
<span class="top-right-item-text4" v-show="info.accountsReceivableBfb<0"> {{info.accountsReceivableBfb}}%</span>
</div>
<div class="top-right-item-view"></div>
@ -97,9 +97,9 @@
<div class="top-right-item">
<span class="top-right-item-text1">库存货值</span>
<span class="top-right-item-text2">155651.15</span>
<span class="top-right-item-text3"> 15.66%</span>
<span class="top-right-item-text4"> 12.21%</span>
<span class="top-right-item-text2">{{info.stockAmount}}</span>
<span class="top-right-item-text3" v-show="info.stockAmountBfb>0"> {{info.stockAmountBfb}}%</span>
<span class="top-right-item-text4" v-show="info.stockAmountBfb<0"> {{info.stockAmountBfb}}%</span>
</div>
<div class="top-right-item-view"></div>
@ -107,9 +107,9 @@
<div class="top-right-item">
<span class="top-right-item-text1">在途货值</span>
<span class="top-right-item-text2">155651.15</span>
<span class="top-right-item-text3"> 15.66%</span>
<span class="top-right-item-text4"> 12.21%</span>
<span class="top-right-item-text2">{{info.transitAmount}}</span>
<span class="top-right-item-text3" v-show="info.transitAmountBfb>0"> {{info.transitAmountBfb}}%</span>
<span class="top-right-item-text4" v-show="info.transitAmountBfb<0"> {{info.transitAmountBfb}}%</span>
</div>
<span class="top-right-item-view"></span>
@ -117,10 +117,9 @@
<div class="top-right-item">
<span class="top-right-item-text1">预付款</span>
<span class="top-right-item-text2">155651.15</span>
<span class="top-right-item-text3"> 15.66%</span>
<span class="top-right-item-text4"> 12.21%</span>
<span class="top-right-item-text2">{{info.advancePayment}}</span>
<span class="top-right-item-text3" v-show="info.advancePaymentBfb>0"> {{info.advancePaymentBfb}}%</span>
<span class="top-right-item-text4" v-show="info.advancePaymentBfb<0"> {{info.advancePaymentBfb}}%</span>
</div>
@ -134,7 +133,13 @@
<img src="@/assets/loginImg/char.png" />
<span>库存分析图</span>
<div class="centre-title-view"></div>
<div class="centre-title-view">
<div style="flex: 1;"></div>
<el-select v-model="dayValue" placeholder="请选择日期" @change="dayValueChange">
<el-option v-for="item in day" :key="item.value" :label="item.label" :value="item.value">
</el-option>
</el-select>
</div>
</div>
<div id="main" style="width: 100%;height: 250px;margin-top: 20px;"></div>
@ -144,7 +149,8 @@
<div class="bom">
<el-table v-loading="tableLoading" :data="projectlistlData" border style="width: 100%;" :row-style="{height: '50px'}">
<el-table v-loading="tableLoading" :data="projectlistlData" :key='tableKey' border style="width: 100%;"
:row-style="{height: '50px'}">
<el-table-column width="200" label="项目名称" prop="projectName" align="center" />
<el-table-column label="授信额度(元)" prop="totalLoan" align="center" />
<el-table-column label="用信额度(元)" prop="useLimit" align="center" />
@ -175,59 +181,114 @@
name: '',
data() {
return {
tableKey:0,
tableLoading: false,
times: getDateRang('yesterday'),
projectValue: "全部项目",
projectList: [
{
label: "111111111",
value: "项目1"
},
{
label: "222222",
value: "项目2"
},
{
label: "333333",
value: "项目3"
}
],
projectlistlData: [
],
projectSid: "",
projectList: [],
day: [{
value: "7",
label: "7日",
}, {
value: "15",
label: "15日",
}],
dayValue: "15",
projectlistlData: [],
info: {}
}
},
mounted() {
this.drawLine()
},
created() {
this.getProjectListAllNew()
this.getProjectDailySum()
this.getReportInventory()
this.init()
},
methods: {
getProjectListAllNew(){
req.getProjectListAllNew().then(res => {
console.log('getProjectListAllNew:', res)
this.projectList = res.data
})
},
getProjectDailySum() {
let params = {
orderDate: this.times,
projectSid: this.projectSid,
}
req.getProjectDailySum(params).then(res => {
console.log('getProjectDailySum:', res)
this.info = res.data
})
},
init() {
//
let params = {
orderDate: this.times,
projectSid: "",
projectSid: this.projectSid,
}
req.getProjectDailys(params).then(res => {
console.log('getProjectDailys:', res)
this.projectlistlData = res.data
console.log('projectlistlData:', this.projectlistlData)
})
},
dayValueChange(val) {
console.log('val:', val)
this.dayValue = val
this.getReportInventory()
},
getReportInventory() {
let params = {
orderDate: this.times,
projectSid: this.projectSid,
intervalTime: this.dayValue
}
req.getProjectDailyZx(params).then(res => {
console.log('getProjectDailyZx:', res)
// this.projectlistlData = res.data
this.drawLine(res.data)
})
},
projectSelect(val) {
console.log('projectSelect:', val)
this.projectSid = val
this.getProjectDailySum()
this.getReportInventory()
this.init()
},
selectTime(val) {
@ -238,7 +299,7 @@
},
// 线
drawLine() {
drawLine(obj) {
// domecharts
var myChart = echarts.init(document.getElementById('main'));
//
@ -250,7 +311,7 @@
trigger: 'axis'
},
legend: {
data: ['Email', 'Union Ads', 'Video Ads', 'Direct', 'Search Engine']
data: ['账户余额', '应收账款', '库存货值', '在途货值', '预付款']
},
grid: {
left: '3%',
@ -282,43 +343,38 @@
xAxis: {
type: 'category',
boundaryGap: false,
data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']
data: obj.date
},
yAxis: {
type: 'value'
},
series: [{
name: 'Email',
name: '账户余额',
type: 'line',
stack: 'Total',
data: [120, 132, 101, 134, 90, 230, 210]
data: obj.accountsBalance
},
{
name: 'Union Ads',
name: '应收账款',
type: 'line',
stack: 'Total',
data: [220, 182, 191, 234, 290, 330, 310]
data: obj.accountsReceivable
},
{
name: 'Video Ads',
name: '库存货值',
type: 'line',
stack: 'Total',
data: [150, 232, 201, 154, 190, 330, 410]
data: obj.stockAmount
},
{
name: 'Direct',
name: '在途货值',
type: 'line',
stack: 'Total',
data: [320, 332, 301, 334, 390, 330, 320]
data: obj.transitAmount
},
{
name: 'Search Engine',
name: '预付款',
type: 'line',
stack: 'Total',
data: [820, 932, 901, 934, 1290, 1330, 1320]
data: obj.advancePayment
}
]
})
}, true)
},
@ -434,7 +490,7 @@
}
.top-right {
width: 55%;
width:60%;
display: flex;
flex-direction: row;
align-items: center;
@ -508,10 +564,25 @@
.centre-title-view {
margin-left: 10px;
margin-top: 10px;
flex: 1;
height: 3px;
background: #efefef;
display: flex;
flex-direction: row;
border-bottom: solid 4px #dadada;
::v-deep .el-select {
width: 100px;
margin-bottom: -10px;
margin-top: -10px;
.el-input {
.el-input__inner {
color: #999;
background: transparent;
border: none;
font-size: 15px;
}
}
}
}
}
}

6
supervise-report-ui/src/views/project/projectDaily.vue

@ -52,8 +52,8 @@
<el-table-column label="操作" align="center" width="250">
<template slot-scope="scope">
<el-button type="primary" icon="el-icon-view" size="small" @click="showView(scope.row)">查看</el-button>
<el-button type="primary" icon="el-icon-chat-dot-round" size="small"
@click="sendMess(scope.row)">发送通知</el-button>
<!-- <el-button type="primary" icon="el-icon-chat-dot-round" size="small"
@click="sendMess(scope.row)">发送通知</el-button> -->
</template>
</el-table-column>
</el-table>
@ -192,7 +192,7 @@
<el-row>
<el-col :span="4" class="tleftb2" style="padding-top: 12px;padding-bottom: 5px;">
<span>备注</span>
<span>工作日报</span>
</el-col>
<el-col :span="20" class="trightb">
<el-form-item style="padding-top: 5px;padding-bottom: 5px;"><el-input v-model="projectDaily.remarks"

3
supervise-uniapp/common/config.js

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

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

@ -13,14 +13,6 @@
</view>
<view v-if="show">
<view class="download">
<view style="flex: 1;"></view>
<view class="download-lift-view" @click="jump">
<image src="../../static/baseIcon/download.png" style="width: 16px;height: 16px;" mode="aspectFill">
</image>
<text class="download-lift-view-text">报表下载</text>
</view>
</view>
<view class="centre">
@ -48,7 +40,7 @@
</view> -->
<view style="margin-top: 3px;padding-bottom: 50px; display: flex;flex-direction: column;">
<view style="margin-top: 3px; display: flex;flex-direction: column;">
<view class="layout" @click="itemClick('1')">
@ -124,12 +116,37 @@
<image src="../../static/baseIcon/zy.png" mode="aspectFill" style="width: 14px;height: 14px;">
</image>
</view>
</view>
<view style="margin-top: 3px;padding-bottom: 100px;display: flex;flex-direction: column;">
<view class="download">
<view class="download-left">
<text class="download-left-text">工作日报</text>
<view class="download-lift-view" @click="makeCall">
<image src="../../static/baseIcon/user.png" style="width: 16px;height: 16px;"
mode="aspectFill">
</image>
<text class="download-lift-view-text">{{info.userName}}</text>
</view>
</view>
<view class="download-right" @click="jump">
<image src="../../static/baseIcon/download.png" style="width: 16px;height: 16px;"
mode="aspectFill">
</image>
<text class="download-right-text">报表下载</text>
</view>
</view>
<text style="background-color: #fff;padding: 18px;color: #6C6C6C;font-size: 14px;">{{info.remarks}}</text>
</view>
</view>
<view v-if="!show">
@ -140,11 +157,10 @@
</view>
</view>
<u-datetime-picker ref="datetimePicker" :closeOnClickOverlay='true' @close="cancelClick"
@cancel="cancelClick" @confirm="confirmClick" :show="datetimeShow" v-model="orderDate" mode="date"
:formatter="formatter">
</u-datetime-picker>
<u-datetime-picker ref="datetimePicker" :closeOnClickOverlay='true' @close="cancelClick" @cancel="cancelClick"
@confirm="confirmClick" :show="datetimeShow" v-model="orderDate" mode="date" :formatter="formatter">
</u-datetime-picker>
</view>
</template>
@ -277,10 +293,10 @@
},
confirmClick(date) {
console.log('confirmClick', date)
console.log('date.value',date.value)
console.log('getTime',(new Date(date.value)).getTime())
console.log('date.value', date.value)
console.log('getTime', (new Date(date.value)).getTime())
console.log('formatTimeTwo', formatTimeTwo((new Date(date.value)).getTime(), "Y-M-D"))
this.params.orderDate = formatTimeTwo((new Date(date.value)).getTime(), "Y-M-D")
@ -449,6 +465,12 @@
})
},
makeCall(){
wx.makePhoneCall({
//
phoneNumber: this.info.userMobile
})
},
jump() {
//
@ -544,7 +566,7 @@
justify-content: space-between;
.top-name {
flex: 1;
flex: 1;
overflow: hidden;
text-overflow: ellipsis;
display: -webkit-box;
@ -562,26 +584,55 @@
}
.download {
position: absolute;
top: 100px;
right: 5px;
background-color: #fff;
display: flex;
align-items: center;
flex-direction: row;
justify-content: space-between;
padding: 18px 18px 11px 18px;
border-bottom: 1px #eee solid;
.download-lift-view {
z-index: 2222;
.download-left {
margin-right: 20px;
flex: 1;
display: flex;
align-items: center;
flex-direction: row;
justify-content: space-between;
.download-left-text {
font-size: 16px;
color: #191919;
}
.download-lift-view {
display: flex;
align-items: center;
flex-direction: row;
.download-lift-view-text {
margin-left: 5px;
font-size: 14px;
color: #018AD2;
padding-bottom: 2px;
border-bottom: 1px #018AD2 solid;
}
}
}
.download-right {
display: flex;
align-items: center;
flex-direction: row;
.download-lift-view-text {
margin-left: 10px;
.download-right-text {
margin-left: 5px;
font-size: 14px;
color: #018AD2;
padding-bottom: 2px;
border-bottom: 1px #018AD2 solid;
}
}
}

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

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Loading…
Cancel
Save