Browse Source

报表增加报名人员信息

master
liupopo 2 years ago
parent
commit
1b6036847b
  1. 6
      docs/databases/report/table_create_report_project_daily-modify.sql
  2. 7
      docs/databases/report/table_create_report_project_daily.sql
  3. 159
      supervise-report-ui/src/views/project/projectDaily.vue
  4. 8
      yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/projectdaily/ProjectDaily.java
  5. 5
      yxt_supervise/supervise-report/supervise-report-biz/src/main/resources/application-devv.yml

6
docs/databases/report/table_create_report_project_daily-modify.sql

@ -0,0 +1,6 @@
ALTER TABLE project_daily ADD userSid varchar(100) NULL DEFAULT NULL COMMENT '用户(报告人)Sid';
ALTER TABLE project_daily ADD userMobile varchar(100) NULL DEFAULT NULL COMMENT '用户(报告人)手机号';
ALTER TABLE project_daily ADD userName varchar(100) NULL DEFAULT NULL COMMENT '用户(报告人)姓名';
ALTER TABLE project_daily ADD userType int(11) DEFAULT 1 COMMENT '用户(报告人)类型:1监管、2客户、3银行';
ALTER TABLE project_daily ADD userStaffSid varchar(100) NULL DEFAULT NULL COMMENT '关联人员的Sid';

7
docs/databases/report/table_create_report_project_daily.sql

@ -21,6 +21,13 @@ CREATE TABLE `project_daily` (
`messState` int(11) DEFAULT 0 COMMENT '消息发送状态: 0=未发送;1=已发送',
`messNum` int(11) DEFAULT 0 COMMENT '消息发送次数',
`userSid` VARCHAR(100) DEFAULT NULL COMMENT '用户(报告人)Sid',
`userMobile` VARCHAR(100) DEFAULT NULL COMMENT '用户(报告人)手机号',
`userName` VARCHAR(100) DEFAULT NULL COMMENT '用户(报告人)姓名',
`userType` int(11) DEFAULT 1 COMMENT '用户(报告人)类型:1监管、2客户、3银行',
`userStaffSid` VARCHAR(100) DEFAULT NULL COMMENT '关联人员的Sid',
PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB COMMENT='项目监管报表';

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

@ -40,15 +40,19 @@
<!-- Start 项目列表 -->
<div class="">
<el-table v-loading="tableLoading" :data="dataList" border style="width: 100%">
<el-table-column fixed width="60" label="序号" type="index" :index="indexMethod" align="center" />
<el-table-column prop="orderDate" label="数据日期" align="center" width="110" />
<el-table-column prop="createTime" label="录入时间" align="center" width="160" />
<el-table-column prop="projectName" label="项目名称" align="center" />
<el-table-column prop="totalLoan" label="贷款总额(元)" align="center" width="140" />
<el-table-column prop="accountsBalance" label="帐户余额(元)" align="center" width="140" />
<el-table-column prop="accountsReceivable" label="应收账款(元)" align="center" width="140" />
<el-table-column prop="stockAmount" label="库存货值(元)" align="center" width="140" />
<el-table-column prop="transitAmount" label="在途货值(元)" align="center" width="140" />
<el-table-column prop="advancePayment" label="预付款(元)" align="center" width="140" />
<el-table-column prop="advancePayment" label="质押率" align="center" width="80">
<template slot-scope="scope">
<div>{{ scope.row.pledgeRatePercent }}%</div>
</template>
</el-table-column>
<el-table-column label="操作" align="center" width="130">
<template slot-scope="scope">
<el-button type="primary" icon="el-icon-chat-dot-round" size="small" @click="sendMess(scope.row)">发送通知</el-button>
@ -101,7 +105,7 @@
</el-col>
<el-col :span="18" class="trightb">
<el-form-item prop="totalLoan">
<el-input v-model="projectDaily.totalLoan" oninput="value=value.replace(/[^0-9.]/g,'')" placeholder="" class="addinputw" clearable />
<el-input v-model="projectDaily.totalLoan" class="addinputw" clearable @blur="zyl" />
</el-form-item>
</el-col>
</el-row>
@ -111,14 +115,14 @@
</el-col>
<el-col :span="10" class="trightb">
<el-form-item prop="accountsBalance">
<el-input v-model="projectDaily.accountsBalance" oninput="value=value.replace(/[^0-9.]/g,'')" placeholder="" class="addinputw" clearable />
<el-input v-model="projectDaily.accountsBalance" class="addinputw" clearable @blur="zyl" />
</el-form-item>
</el-col>
<el-col :span="8" class="trightb">
<el-form-item>
<el-upload class="upload-demo" :action="updateAction" :on-success="handleSuccess1" :show-file-list="false">
<!-- <el-upload class="upload-demo" :action="updateAction" :on-success="handleSuccess1" :show-file-list="false">
<el-button size="small" type="primary">上传账户余额报表</el-button>
</el-upload>
</el-upload> -->
</el-form-item>
</el-col>
</el-row>
@ -128,15 +132,11 @@
</el-col>
<el-col :span="10" class="trightb">
<el-form-item prop="accountsReceivable">
<el-input v-model="projectDaily.accountsReceivable" oninput="value=value.replace(/[^0-9.]/g,'')" placeholder="" class="addinputw" clearable />
<el-input v-model="projectDaily.accountsReceivable" class="addinputw" clearable @blur="zyl" />
</el-form-item>
</el-col>
<el-col :span="8" class="trightb">
<el-form-item>
<el-upload class="upload-demo" :action="updateAction" :on-success="handleSuccess2" :show-file-list="false">
<el-button size="small" type="primary">上传应收账款报表</el-button>
</el-upload>
</el-form-item>
<el-form-item />
</el-col>
</el-row>
<el-row>
@ -145,15 +145,11 @@
</el-col>
<el-col :span="10" class="trightb">
<el-form-item prop="stockAmount">
<el-input v-model="projectDaily.stockAmount" oninput="value=value.replace(/[^0-9.]/g,'')" placeholder="" class="addinputw" clearable />
<el-input v-model="projectDaily.stockAmount" class="addinputw" clearable @blur="zyl" />
</el-form-item>
</el-col>
<el-col :span="8" class="trightb">
<el-form-item>
<el-upload class="upload-demo" :action="updateAction" :on-success="handleSuccess3" :show-file-list="false">
<el-button size="small" type="primary">上传库存货值报表</el-button>
</el-upload>
</el-form-item>
<el-form-item />
</el-col>
</el-row>
<el-row>
@ -162,15 +158,11 @@
</el-col>
<el-col :span="10" class="trightb">
<el-form-item prop="transitAmount">
<el-input v-model="projectDaily.transitAmount" oninput="value=value.replace(/[^0-9.]/g,'')" placeholder="" class="addinputw" clearable />
<el-input v-model="projectDaily.transitAmount" class="addinputw" clearable @blur="zyl" />
</el-form-item>
</el-col>
<el-col :span="8" class="trightb">
<el-form-item>
<el-upload class="upload-demo" :action="updateAction" :on-success="handleSuccess4" :show-file-list="false">
<el-button size="small" type="primary">上传在途货值报表</el-button>
</el-upload>
</el-form-item>
<el-form-item />
</el-col>
</el-row>
<el-row>
@ -179,15 +171,11 @@
</el-col>
<el-col :span="10" class="trightb">
<el-form-item prop="advancePayment">
<el-input v-model="projectDaily.advancePayment" oninput="value=value.replace(/[^0-9.]/g,'')" placeholder="" class="addinputw" clearable />
<el-input v-model="projectDaily.advancePayment" class="addinputw" clearable @blur="zyl" />
</el-form-item>
</el-col>
<el-col :span="8" class="trightb">
<el-form-item>
<el-upload class="upload-demo" :action="updateAction" :on-success="handleSuccess5" :show-file-list="false">
<el-button size="small" type="primary">上传预付款报表</el-button>
</el-upload>
</el-form-item>
<el-form-item />
</el-col>
</el-row>
@ -199,6 +187,26 @@
<el-form-item><el-input v-model="projectDaily.remarks" type="textarea" :rows="2" placeholder="" class="addinputw" clearable /></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="6" class="tleftb">
<span>质押率</span>
</el-col>
<el-col :span="18" class="trightb">
<el-form-item>{{ zhiyalv }}</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="6" class="tleftb">
<span>上传附件</span>
</el-col>
<el-col :span="18" class="trightb">
<el-form-item style="padding-bottom: 20px;">
<el-upload class="upload-demo" :action="updateAction" :on-success="handleSuccess" :on-remove="handleRemove" :file-list="uploadFileList">
<el-button size="small" type="primary">点击上传报表文件</el-button>
</el-upload>
</el-form-item>
</el-col>
</el-row>
</el-form>
<span slot="footer" class="dialog-footer">
<el-button @click="projectDailyClose"> </el-button>
@ -224,23 +232,6 @@
pageye
},
data() {
var checkIsNumber = (rule, value, callback) => {
if (!value) { // 使text
callback(new Error(rule.text ? rule.text : '请输入'))
} else {
// const reg = /^[0-9]*$/
const reg = /^[+-]?\d+(?:\.\d{1,4})?$/
if (reg.test(value) && value >= 0) {
callback()
} else {
if (!String(value).indexOf('.') + 1) {
callback(new Error('请输入数字!'))
} else {
callback(new Error('仅支持小数点后4位!'))
}
}
}
}
return {
btndisabled: false,
viewState: 1, // 1 2 3 4
@ -312,32 +303,45 @@
trigger: 'blur'
}],
totalLoan: [{
validator: checkIsNumber,
trigger: 'blur'
type: 'number',
message: '请输入正确数据',
trigger: 'blur',
transform: (value) => Number(value)
}],
accountsBalance: [{
validator: checkIsNumber,
trigger: 'blur'
type: 'number',
message: '请输入正确数据',
trigger: 'blur',
transform: (value) => Number(value)
}],
accountsReceivable: [{
validator: checkIsNumber,
pattern: /^-?\d+\.?\d*$/,
message: '请输入正确数据',
trigger: 'blur'
}],
stockAmount: [{
validator: checkIsNumber,
trigger: 'blur'
type: 'number',
message: '请输入正确数据',
trigger: 'blur',
transform: (value) => Number(value)
}],
transitAmount: [{
validator: checkIsNumber,
trigger: 'blur'
type: 'number',
message: '请输入正确数据',
trigger: 'blur',
transform: (value) => Number(value)
}],
advancePayment: [{
validator: checkIsNumber,
trigger: 'blur'
type: 'number',
message: '请输入正确数据',
trigger: 'blur',
transform: (value) => Number(value)
}]
},
projectList: [],
reportFileList: []
reportFileList: [],
zhiyalv: '0',
uploadFileList: []
}
},
mounted() {
@ -348,6 +352,16 @@
this.loadList()
},
methods: {
zyl() {
const a = Number(this.projectDaily.totalLoan) - Number(this.projectDaily.accountsBalance)
const b = Number(this.projectDaily.accountsReceivable) + Number(this.projectDaily.stockAmount) + Number(this.projectDaily.transitAmount) + Number(this.projectDaily
.advancePayment)
if (b === 0) {
this.zhiyalv = '0'
} else {
this.zhiyalv = Number(a / b * 100).toFixed(2) + '%'
}
},
initData() {
req.projectListAll().then(res => {
this.projectList = res.data
@ -441,6 +455,9 @@
this.projectDaily.fileList = []
this.reportFileList = []
this.uploadFileList = []
this.zhiyalv = 0
this.$refs['form_daily'].resetFields()
this.dialogVisible = false
},
@ -600,6 +617,30 @@
}
_this.reportFileList.push(upfile)
}
},
handleSuccess(resp, file, fileList) {
console.log('handleSuccess----', resp)
const _this = this
const upfile = {
fileTypeId: 6, // ': 1=;2=;3=;4=;5=;',
fileTypeName: '报表文件', // ': 1=;2=;3=;4=;5=',
fileSrcName: resp.data.sourceFileName, // '',
filePath: resp.data.filePath, // '',
fullUrl: resp.data.fullUrl, // '访URL',
fileuid: file.uid // '访URL',
}
_this.reportFileList.push(upfile)
},
handleRemove(file, fileList) {
const _this = this
let delete_index = 0
for (let i = 0, len = _this.reportFileList.length; i < len; i++) {
if (file.uid === _this.reportFileList[i].fileuid) {
delete_index = i
break
}
}
_this.reportFileList.splice(delete_index, 1)
}
}
}

8
yxt_supervise/supervise-report/supervise-report-biz/src/main/java/com/yxt/supervise/report/biz/projectdaily/ProjectDaily.java

@ -37,6 +37,14 @@ public class ProjectDaily extends EntityWithId {
private int messState = 0; // 消息发送状态: 0=未发送;1=已发送',
private int messNum = 0; // 消息发送次数',
private String userSid; // 用户(报告人)Sid',
private String userMobile; // 用户(报告人)手机号',
private String userName; // 用户(报告人)姓名',
private int userType = 1; // 用户(报告人)类型:1监管、2客户、3银行',
private String userStaffSid; // 关联人员的Sid',
/**
* 计算出的质押率
*

5
yxt_supervise/supervise-report/supervise-report-biz/src/main/resources/application-devv.yml

@ -24,6 +24,11 @@ spring:
url: jdbc:mysql://127.0.0.1:3306/supervise_crm?serverTimezone=GMT%2B8&autoReconnect=true&useUnicode=true&characterEncoding=UTF-8&nullCatalogMeansCurrent=true
username: root
password: root
system:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://127.0.0.1:3306/yxt_portal?serverTimezone=GMT%2B8&autoReconnect=true&useUnicode=true&characterEncoding=UTF-8&nullCatalogMeansCurrent=true
username: root
password: root
cloud:
nacos:
discovery:

Loading…
Cancel
Save