优化收预付款的逻辑

This commit is contained in:
季圣华
2021-07-08 01:23:42 +08:00
parent ec87cd182b
commit d72baacfd8
6 changed files with 200 additions and 9 deletions

View File

@@ -127,7 +127,6 @@
{ title: '操作员', dataIndex: 'userName',width:80}, { title: '操作员', dataIndex: 'userName',width:80},
{ title: '单据日期 ', dataIndex: 'billTimeStr',width:160}, { title: '单据日期 ', dataIndex: 'billTimeStr',width:160},
{ title: '合计金额', dataIndex: 'totalPrice',width:80}, { title: '合计金额', dataIndex: 'totalPrice',width:80},
{ title: '优惠金额', dataIndex: 'discountMoney',width:80},
{ title: '收款金额', dataIndex: 'changeAmount',width:80}, { title: '收款金额', dataIndex: 'changeAmount',width:80},
{ title: '备注', dataIndex: 'remark',width:200}, { title: '备注', dataIndex: 'remark',width:200},
{ {

View File

@@ -155,6 +155,9 @@ export const FinancialModalMixin = {
autoChangeAmount(target) { autoChangeAmount(target) {
let allEachAmount = target.statisticsColumns.eachAmount-0 let allEachAmount = target.statisticsColumns.eachAmount-0
let discountMoney = this.form.getFieldValue('discountMoney')-0 let discountMoney = this.form.getFieldValue('discountMoney')-0
if(!discountMoney) {
discountMoney = 0
}
let changeAmount = (allEachAmount-discountMoney).toFixed(2) let changeAmount = (allEachAmount-discountMoney).toFixed(2)
this.$nextTick(() => { this.$nextTick(() => {
this.form.setFieldsValue({'totalPrice':allEachAmount, 'changeAmount':changeAmount}) this.form.setFieldsValue({'totalPrice':allEachAmount, 'changeAmount':changeAmount})

View File

@@ -67,11 +67,6 @@
<a-input placeholder="请输入合计收款" v-decorator.trim="[ 'totalPrice' ]" :readOnly="true"/> <a-input placeholder="请输入合计收款" v-decorator.trim="[ 'totalPrice' ]" :readOnly="true"/>
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :lg="6" :md="12" :sm="24">
<a-form-item :labelCol="labelCol" :wrapperCol="wrapperCol" label="优惠金额">
<a-input placeholder="请输入优惠金额" v-decorator.trim="[ 'discountMoney' ]" @keyup="onKeyUpDiscountMoney" />
</a-form-item>
</a-col>
<a-col :lg="6" :md="12" :sm="24"> <a-col :lg="6" :md="12" :sm="24">
<a-form-item :labelCol="labelCol" :wrapperCol="wrapperCol" label="收款金额"> <a-form-item :labelCol="labelCol" :wrapperCol="wrapperCol" label="收款金额">
<a-input placeholder="请输入收款金额" v-decorator.trim="[ 'changeAmount' ]" :readOnly="true"/> <a-input placeholder="请输入收款金额" v-decorator.trim="[ 'changeAmount' ]" :readOnly="true"/>
@@ -79,6 +74,8 @@
</a-col> </a-col>
<a-col :lg="6" :md="12" :sm="24"> <a-col :lg="6" :md="12" :sm="24">
</a-col> </a-col>
<a-col :lg="6" :md="12" :sm="24">
</a-col>
</a-row> </a-row>
<a-row class="form-row" :gutter="24"> <a-row class="form-row" :gutter="24">
<a-col :lg="6" :md="12" :sm="24"> <a-col :lg="6" :md="12" :sm="24">
@@ -176,7 +173,7 @@
this.model.billTime = this.model.billTimeStr this.model.billTime = this.model.billTimeStr
this.$nextTick(() => { this.$nextTick(() => {
this.form.setFieldsValue(pick(this.model,'organId', 'handsPersonId', 'billTime', 'billNo', 'remark', this.form.setFieldsValue(pick(this.model,'organId', 'handsPersonId', 'billTime', 'billNo', 'remark',
'totalPrice', 'discountMoney', 'changeAmount')) 'totalPrice', 'changeAmount'))
}); });
this.fileList = this.model.fileName this.fileList = this.model.fileName
// 加载子表数据 // 加载子表数据

View File

@@ -19,7 +19,7 @@
<a-col :md="6" :sm="10"> <a-col :md="6" :sm="10">
<a-form-item label="创建时间" :labelCol="labelCol" :wrapperCol="wrapperCol"> <a-form-item label="创建时间" :labelCol="labelCol" :wrapperCol="wrapperCol">
<a-range-picker <a-range-picker
style="width: 210px" style="width: 280px"
v-model="queryParam.createTimeRange" v-model="queryParam.createTimeRange"
format="YYYY-MM-DD" format="YYYY-MM-DD"
:placeholder="['开始时间', '结束时间']" :placeholder="['开始时间', '结束时间']"

View File

@@ -192,7 +192,7 @@
}, },
uploadTemplate(record) { uploadTemplate(record) {
var rootPath = record.path.substring(0, record.path.indexOf("plugins")); var rootPath = record.path.substring(0, record.path.indexOf("plugins"));
this.$message.info('请将页面上传到服务器目录:' + " /前端根目录/plugin/"); this.$message.info('请将页面上传到服务器目录:' + " /前端根目录/plugins/");
}, },
startPlugin(pluginId) { startPlugin(pluginId) {
postAction('/plugin/start/' + pluginId).then((res)=>{ postAction('/plugin/start/' + pluginId).then((res)=>{

View File

@@ -0,0 +1,192 @@
<template>
<a-card :bordered="false">
<!-- 查询区域 -->
<div class="table-page-search-wrapper">
<a-form layout="inline" @keyup.enter.native="searchQuery">
<a-row :gutter="24">
<a-col :span="6">
<a-form-item label="标题">
<a-input placeholder="请输入标题" v-model="queryParam.titile"></a-input>
</a-form-item>
</a-col>
<a-col :span="6">
<a-form-item label="发布人">
<a-input placeholder="请输入发布人" v-model="queryParam.sender"></a-input>
</a-form-item>
</a-col>
<a-col :span="8" >
<span style="float: left;overflow: hidden;" class="table-page-search-submitButtons">
<a-button type="primary" @click="searchQuery" icon="search">查询</a-button>
<a-button type="primary" @click="searchReset" icon="reload" style="margin-left: 8px">重置</a-button>
</span>
</a-col>
</a-row>
</a-form>
</div>
<div class="table-operator">
<a-button type="primary" @click="readAll" icon="book">全部标注已读</a-button>
</div>
<a-table
ref="table"
size="default"
bordered
rowKey="id"
:columns="columns"
:dataSource="dataSource"
:pagination="ipagination"
:loading="loading"
@change="handleTableChange">
<span slot="action" slot-scope="text, record">
<a @click="showAnnouncement(record)">查看</a>
</span>
</a-table>
<show-announcement ref="ShowAnnouncement"></show-announcement>
<dynamic-notice ref="showDynamNotice" :path="openPath" :formData="formData"/>
</a-card>
</template>
<script>
import { filterObj } from '@/utils/util'
import { getAction,putAction } from '@/api/manage'
import ShowAnnouncement from '@/components/tools/ShowAnnouncement'
import {JeecgListMixin} from '@/mixins/JeecgListMixin'
import DynamicNotice from '../../components/tools/DynamicNotice'
export default {
name: "UserAnnouncementList",
mixins: [JeecgListMixin],
components: {
DynamicNotice,
ShowAnnouncement
},
data () {
return {
description: '系统通告表管理页面',
queryParam: {},
columns: [{
title: '标题',
align:"center",
dataIndex: 'titile'
},{
title: '消息类型',
align: "center",
dataIndex: 'msgCategory',
customRender: function (text) {
if (text == '1') {
return "通知公告";
} else if (text == "2") {
return "系统消息";
} else {
return text;
}
}
},{
title: '发布人',
align:"center",
dataIndex: 'sender'
},{
title: '发布时间',
align:"center",
dataIndex: 'sendTime'
},{
title: '优先级',
align:"center",
dataIndex: 'priority',
customRender:function (text) {
if(text=='L'){
return "";
}else if(text=="M"){
return "";
}else if(text=="H"){
return "";
} else {
return text;
}
}
},{
title: '阅读状态',
align:"center",
dataIndex: 'readFlag',
customRender:function (text) {
if(text=='0'){
return "未读";
}else if(text=="1"){
return "已读";
} else {
return text;
}
}
},{
title: '操作',
dataIndex: 'action',
align:"center",
scopedSlots: { customRender: 'action' },
}],
url: {
list: "/sys/sysAnnouncementSend/getMyAnnouncementSend",
editCementSend:"sys/sysAnnouncementSend/editByAnntIdAndUserId",
readAllMsg:"sys/sysAnnouncementSend/readAll",
},
loading:false,
openPath:'',
formData:''
}
},
methods: {
handleDetail: function(record){
this.$refs.sysAnnouncementModal.detail(record);
this.$refs.sysAnnouncementModal.title="查看";
},
showAnnouncement(record){
putAction(this.url.editCementSend,{anntId:record.anntId}).then((res)=>{
if(res.success){
this.loadData();
this.syncHeadNotic(record.anntId)
}
});
if(record.openType==='component'){
this.openPath = record.openPage;
this.formData = {id:record.busId};
this.$refs.showDynamNotice.detail();
}else{
this.$refs.ShowAnnouncement.detail(record);
}
},
syncHeadNotic(anntId){
getAction("sys/annountCement/syncNotic",{anntId:anntId})
},
readAll(){
var that = this;
that.$confirm({
title:"确认操作",
content:"是否全部标注已读?",
onOk: function(){
putAction(that.url.readAllMsg).then((res)=>{
if(res.success){
that.$message.success(res.message);
that.loadData();
that.syncHeadNotic();
}
});
}
});
},
}
}
</script>
<style scoped>
.ant-card-body .table-operator{
margin-bottom: 18px;
}
.anty-row-operator button{margin: 0 5px}
.ant-btn-danger{background-color: #ffffff}z
.ant-modal-cust-warp{height: 100%}
.ant-modal-cust-warp .ant-modal-body{height:calc(100% - 110px) !important;overflow-y: auto}
.ant-modal-cust-warp .ant-modal-content{height:90% !important;overflow-y: hidden}
</style>