This commit is contained in:
linfso 2024-08-15 14:14:43 +08:00
parent 3758b46b70
commit dc0644e586

View File

@ -0,0 +1,501 @@
<template>
<div >
<el-form ref="form" :model="form" size="mini" :rules="rules" label-width="80px">
<el-row :gutter="0" style="display: flex;flex-wrap: wrap;">
<el-col :span="12">
<el-form-item label="" prop="recType" label-width="100px">
<span slot="label">
<span style="color: red">收退款类型</span>
</span>
<el-radio-group v-model="form.recType">
<el-radio :label="1">收款</el-radio>
<el-radio :label="2">退款</el-radio>
</el-radio-group>
</el-form-item>
</el-col>
<el-col :span="8">
<span style="font-size: 14px;font-weight: 500;color: #000000;">
已收款:<span style="color: blue;">{{ settleBillItem.recedMoney }}</span>
待收款:<span style="color: red;">{{ settleBillItem.recMoney-settleBillItem.recedMoney }}</span>
</span>
</el-col>
<el-col :span="4">
<span v-if="settleBillItem.settleType==1">现金账单</span>
<span v-if="settleBillItem.settleType==2">月结账单</span>
</el-col>
<el-col :span="6">
<el-form-item label="账单编号" prop="settleBillNo">
<el-input v-model="form.settleBillNo" disabled />
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="账单名称" prop="settleBillName">
<el-input v-model="settleBillItem.settleBillName" disabled />
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="客户名称" prop="custName">
<el-input v-model="settleBillItem.custName" disabled />
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="应收款" prop="recMoney">
<el-input v-model="settleBillItem.recMoney" disabled />
</el-form-item>
</el-col>
<!-- <el-col :span="6">
<el-form-item label="已款" prop="recedMoney">
<el-input v-model="settleBillItem.recedMoney" disabled />
</el-form-item>
</el-col> -->
<!--
<el-col :span="6">
<el-form-item label="账单月份" prop="billMonth">
<el-input v-model="settleBillObj.billMonth" disabled />
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="票数" prop="sendPieceSum">
<el-input v-model="settleBillObj.sendPieceSum" disabled />
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="已收金额" prop="recedMoney">
<el-input v-model="settleBillObj.recedMoney" disabled />
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="未收金额" prop="recMoney">
<el-input v-model="settleBillObj.recMoney" disabled />
</el-form-item>
</el-col> -->
<el-col :span="24">
</el-col>
<el-col :span="6" v-if="form.recType==1">
<el-form-item label="收款方式" prop="payType">
<span slot="label">
<span style="color: red">收款方式</span>
</span>
<el-select v-model="form.payType" placeholder="收款方式" clearable filterable style="width:100%">
<el-option
v-for="dict in dict.type.emis_settlebill_pay_type"
:key="dict.value"
:label="dict.label"
:value="dict.value"
></el-option>
</el-select>
</el-form-item>
</el-col>
<!--
<el-col :span="6">
<el-form-item label="支付人名称" prop="payMan">
<el-input v-model="form.payMan" placeholder="请输入支付人名称" />
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="支付人编码" prop="payManCode">
<el-input v-model="form.payManCode" placeholder="请输入支付人编码" />
</el-form-item>
</el-col> -->
<!-- <el-col :span="6">
<el-form-item label="客户编码" prop="customerCode">
<el-input v-model="form.customerCode" placeholder="请输入客户编码" />
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="客户名称" prop="customerName">
<el-input v-model="form.customerName" placeholder="请输入客户名称" />
</el-form-item>
</el-col> -->
<el-col :span="6" v-if="form.recType==1 && settleType==2">
<el-form-item :label="$t('缴款客户')" prop="customerCode" >
<span slot="label">
<span style="color: red">缴款客户</span>
</span>
<EmisMonthpayAccountPicker v-model="form.payManCode" @onChange="onMonthpayAccountSelect"></EmisMonthpayAccountPicker>
<!-- <CustomerSimplePicker v-model="form.customerCode" @onChange="onCustomerSelect" ></CustomerSimplePicker> -->
</el-form-item>
</el-col>
<el-col :span="6" v-if="form.recType==1 && settleType==1">
<el-form-item :label="$t('缴款人')" prop="customerCode" >
<span slot="label">
<span style="color: red">缴款人</span>
</span>
<PayeePicker v-model="form.payManCode" @onChange="onPayeeSelect"></PayeePicker>
</el-form-item>
</el-col>
<el-col :span="6" v-if="form.recType==1">
<el-form-item label="收款金额" prop="payMoney">
<span slot="label">
<span style="color: red">收款金额</span>
</span>
<el-input-number v-model="form.payMoney" size="mini" placeholder="开票金额" :min="0.00" :controls="false" :precision="2"></el-input-number>
<!-- <el-input v-model="form.payMoney" placeholder="" /> -->
</el-form-item>
</el-col>
<el-col :span="6" v-if="form.recType==1">
<el-form-item label="交易时间" prop="tradeDate">
<span slot="label">
<span style="color: red">交易时间</span>
</span>
<el-date-picker clearable
v-model="form.tradeDate"
type="date"
value-format="yyyy-MM-dd"
placeholder="请选择交易时间"
style="width:100%"
>
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="6" v-if="form.recType==1">
<el-form-item label="理赔金额" prop="satisfyMoney">
<el-input v-model="form.satisfyMoney" placeholder="" />
</el-form-item>
</el-col>
<el-col :span="6" v-if="form.recType==1">
<el-form-item label="理赔原因" prop="satisfyReason">
<el-input v-model="form.satisfyReason" placeholder="" />
</el-form-item>
</el-col>
<el-col :span="6" v-if="form.recType==1">
<el-form-item label="折让金额" prop="allowanceMoney">
<el-input v-model="form.allowanceMoney" placeholder="" />
</el-form-item>
</el-col>
<el-col :span="6" v-if="form.recType==1">
<el-form-item label="折让原因" prop="allowanceReason">
<el-input v-model="form.allowanceReason" placeholder="" />
</el-form-item>
</el-col>
<el-col :span="6" v-if="form.recType==1">
<el-form-item label="抵扣金额" prop="deductionMoney">
<el-input v-model="form.deductionMoney" placeholder="" />
</el-form-item>
</el-col>
<el-col :span="6" v-if="form.recType==1">
<el-form-item label="抵扣原因" prop="deductionReason">
<el-input v-model="form.deductionReason" placeholder="" />
</el-form-item>
</el-col>
<el-col :span="6" v-if="form.recType==1">
<el-form-item label="其他费用" prop="otherMoney">
<el-input v-model="form.otherMoney" placeholder="" />
</el-form-item>
</el-col>
<el-col :span="6" v-if="form.recType==1">
<el-form-item label="其他原因" prop="otherReason">
<el-input v-model="form.otherReason" placeholder="" />
</el-form-item>
</el-col>
<el-col :span="24" v-if="form.recType==1">
<el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" type="textarea" placeholder="" />
</el-form-item>
</el-col>
<el-col :span="6" v-if="form.recType==2 && settleType==2">
<el-form-item :label="$t('退款人')" prop="customerCode" >
<span slot="label">
<span style="color: red">退款人</span>
</span>
<EmisMonthpayAccountPicker v-model="form.payManCode" @onChange="onMonthpayAccountSelect"></EmisMonthpayAccountPicker>
<!-- <CustomerSimplePicker v-model="form.customerCode" @onChange="onCustomerSelect" ></CustomerSimplePicker> -->
</el-form-item>
</el-col>
<el-col :span="6" v-if="form.recType==2 && settleType==1">
<el-form-item :label="$t('退款人')" prop="customerCode" >
<span slot="label">
<span style="color: red">退款人</span>
</span>
<PayeePicker v-model="form.payManCode" @onChange="onPayeeSelect"></PayeePicker>
</el-form-item>
</el-col>
<el-col :span="6" v-if="form.recType==2">
<el-form-item label="退款方式" prop="refundMode">
<span slot="label">
<span style="color: red">退款方式</span>
</span>
<el-select v-model="form.refundMode" placeholder="退款方式" clearable filterable style="width:100%">
<el-option label="对公账户" :value="4"></el-option>
<el-option label="微信支付" :value="1"></el-option>
<el-option label="支付宝" :value="2"></el-option>
<el-option label="其他" :value="5"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="6" v-if="form.recType==2">
<el-form-item label="退款金额" prop="refundMoney">
<span slot="label">
<span style="color: red">退款金额</span>
</span>
<el-input v-model="form.refundMoney" placeholder="" />
</el-form-item>
</el-col>
<el-col :span="6" v-if="form.recType==2">
<el-form-item label="退款时间" prop="refundDate">
<span slot="label">
<span style="color: red">退款时间</span>
</span>
<el-date-picker clearable
v-model="form.refundDate"
type="date"
value-format="yyyy-MM-dd"
placeholder="请选择退款日期"
style="width:100%"
>
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="6" v-if="form.recType==2">
<el-form-item label="退款原因" prop="refundReason">
<span slot="label">
<span style="color: red">退款原因</span>
</span>
<el-input v-model="form.refundReason" placeholder="" />
</el-form-item>
</el-col>
<el-col :span="24" v-if="form.recType==2">
<el-form-item label="退款备注" prop="refundRemark">
<el-input v-model="form.refundRemark" type="textarea" placeholder="" />
</el-form-item>
</el-col>
</el-row>
</el-form>
<div style="text-align: center;margin-bottom: 10px;">
<el-button type="primary" @click="submitForm">确 定</el-button>
<el-button @click="cancel">取 消</el-button>
</div>
</div>
</template>
<script>
import { getInfoBySettleBillNo} from "@/api/emis/emisSettleBill";
import { listEmisSettlePayRecord, getEmisSettlePayRecord, delEmisSettlePayRecord, addEmisSettlePayRecord, updateEmisSettlePayRecord } from "@/api/emis/emisSettlePayRecord";
import EmisMonthpayAccountPicker from '@/views/emis/EmisBaseTools/EmisMonthpayAccountPicker.vue';
import PayeePicker from '@/views/emis/EmisBaseTools/PayeePicker.vue';
export default {
name: "emisSettlePayRecordForm",
props:{
reqId:{
type:Number
}
},
components: { EmisMonthpayAccountPicker,PayeePicker },
dicts: ['emis_settlebill_pay_type'],
data() {
return {
emisSettlePayRecordOptions: [],
settleBillItem:this.settleBillObj,
// 遮罩层
loading: true,
// 表单参数
form: {},
// 表单校验
rules: {
id: [
{ required: true, message: "id不能为空", trigger: "blur" }
],
payType: [
{ required: true, message: "支付类型不能为空", trigger: ["blur","change"] }
],
recType: [
{ required: true, message: "收付类型不能为空", trigger: ["blur","change"] }
],
payManCode: [
{ required: true, message: "缴款人不能为空", trigger: ["blur","change"] }
],
payMoney: [
{ required: true, message: "金额不能为空", trigger: ["blur","change"] }
],
refundMoney: [
{ required: true, message: "退款金额不能为空", trigger: ["blur","change"] }
],
tradeDate: [
{ required: true, message: "交易时间不能为空", trigger: ["blur","change"] }
],
}
};
},
computed: {
// getBillCode(){
// this.form.settleBillNo = this.settleBillNo;
// this.initData();
// return this.form.settleBillNo ;
// }
},
watch: {
"reqId": {
handler (newValue, oldValue) {
// this.form.reqNo = this.reqNo;
this.initData();
},
deep: true
},
},
created() {
this.initData();
},
mounted(){
this.initData();
},
methods: {
initData() {
this.reset();
this.form.recType=1;
// 获取发票信息
// reqId
// console.log("===>initData2222===>",this.settleBillNo)
// if(this.settleBillNo){
// this.loading = true;
// getInfoBySettleBillNo(this.settleBillNo).then(response => {
// this.settleBillItem = response.data;
// console.log("===>settleBillItem3333===>",this.settleBillItem)
// this.loading = false;
// });
// }
},
onPayeeSelect(item){
this.form.payMan=item;
},
onMonthpayAccountSelect(item){
this.form.payMan=item.custName;
},
// 取消按钮
cancel() {
this.reset();
this.$emit("on-cancel");
},
// 表单重置
reset() {
this.form = {
id: null,
payId: null,
payType: null,
recType: null,
payMan: null,
payManCode: null,
settleBillNo: this.settleBillNo,
blAudit: null,
auditDate: null,
auditManCode: null,
auditSiteCode: null,
customerCode: null,
customerName: null,
payMoney: null,
payStatus: null,
payStatusDesc: null,
breakType: null,
breakReason: null,
breakEmpCode: null,
recManCode: null,
settleType: this.settleType,
refundDate: null,
refundManCode: null,
refundSeq: null,
refundMode: null,
refundMoney: null,
refundReason: null,
refundRemark: null,
refundOpManCode: null,
refundRegisterSiteCode: null,
refundRegisterManCode: null,
satisfyMoney: null,
satisfyReason: null,
allowanceMoney: null,
allowanceReason: null,
deductionMoney: null,
deductionReason: null,
otherMoney: null,
otherReason: null,
tradeDate: null,
remark: null,
delFlag: null,
createBy: null,
createTime: null,
updateBy: null,
updateTime: null,
createSite: null,
updateSite: null
};
this.resetForm("form");
},
/** 提交按钮 */
submitForm() {
this.$refs["form"].validate(valid => {
if (valid) {
// if (this.form.id != null) {
// updateEmisSettlePayRecord(this.form).then(response => {
// this.$modal.msgSuccess("修改成功");
// this.$emit("on-changed");
// });
// } else {
// }
if(this.form.tradeDate){
this.form.tradeDate = this.form.tradeDate + " 00:00:00";
}
if(this.form.refundDate){
this.form.refundDate = this.form.refundDate + " 00:00:00";
}
addEmisSettlePayRecord(this.form).then(response => {
this.$modal.msgSuccess("新增成功");
this.$emit("on-changed");
});
}
});
},
// /** 转换菜单数据结构 */
// normalizer(node) {
// if (node.children && !node.children.length) {
// delete node.children;
// }
// return {
// id: node.id,
// label: node.idName,
// children: node.children
// };
// },
// /** 查询菜单下拉树结构 */
// getTreeselect() {
// const queryParams = {}
// listEmisSettlePayRecord(queryParams).then(response => {
// this.emisSettlePayRecordOptions = [];
// const rootItem = { idId: 0, emisSettlePayRecordName: '-', children: [] };
// rootItem.children = this.handleTree(response.data, "id");
// this.emisSettlePayRecordOptions.push(rootItem);
// if(this.parentId != undefined) {
// this.form.parentId = this.parentId;
// }
// });
// },
}
};
</script>