<template>
|
<div class="customer-edit">
|
<el-dialog :title="title"
|
:visible.sync="dialogVisible"
|
:modal-append-to-body="false"
|
:close-on-click-modal="false"
|
@close="cancal"
|
custom-class="comm-dialog"
|
center
|
width="850px">
|
<el-form :model="formData"
|
:rules="rules"
|
ref="ruleForm"
|
label-width="140px"
|
class="demo-ruleForm"
|
inline>
|
<div class="_block">
|
<div class="form">
|
<el-form-item label="项目名称"
|
prop="projectSerialno">
|
<el-select v-model="formData.projectSerialno"
|
filterable
|
clearable
|
placeholder="支持输入搜索选择">
|
<el-option v-for="(item,index) in applyListAll"
|
:key="index"
|
:label="item.label"
|
:value="`${item.value}|${item.label}`"></el-option>
|
</el-select>
|
</el-form-item>
|
<el-form-item label="经纪公司名称"
|
prop="agencyName">
|
<el-input v-model="formData.agencyName"></el-input>
|
</el-form-item>
|
<el-form-item label="经纪公司账户"
|
prop="agencyAccount">
|
<el-input v-model="formData.agencyAccount"></el-input>
|
</el-form-item>
|
<el-form-item label="支付金额"
|
prop="trxAmt">
|
<el-input v-model="formData.trxAmt"
|
@change="formData.trxAmt = formatMoney(formData.trxAmt, function(val){ console.log('**', val);})"></el-input>
|
</el-form-item>
|
<el-form-item label="交易流水号"
|
prop="trxId">
|
<el-input v-model="formData.trxId"></el-input>
|
</el-form-item>
|
<el-form-item label="支付时间"
|
prop="trxDate">
|
<el-date-picker v-model="formData.trxDate"
|
type="date"
|
format="yyyy/MM/dd"
|
value-format="yyyy/MM/dd"
|
placeholder="选择日期">
|
</el-date-picker>
|
</el-form-item>
|
|
</div>
|
</div>
|
</el-form>
|
<div slot="footer"
|
class="dialog-footer popup-form-buttons">
|
<el-button class="comm-button"
|
size="small"
|
@click="cancal">取消</el-button>
|
<el-button class="comm-button"
|
size="small"
|
@click="submit"
|
type="primary">保存</el-button>
|
</div>
|
</el-dialog>
|
</div>
|
</template>
|
<script>
|
// 返现佣金-经纪公司转账管理-新增
|
import { addOrModifyHouseholdBagAgencyFlow } from '@/api/comprehensiveTransaction';
|
|
export default {
|
props: {
|
dialogVisible: {
|
type: Boolean,
|
default: false,
|
},
|
title: {
|
type: String,
|
default: '新增',
|
},
|
applyListAll: {
|
type: Array,
|
default: () => [],
|
},
|
},
|
data() {
|
return {
|
loading: false,
|
model: null,
|
formData: {},
|
rules: {
|
projectSerialno: [
|
{ required: true, message: '请选择', trigger: 'change' },
|
],
|
agencyName: [{ required: true, message: '请输入', trigger: 'blur' }],
|
agencyAccount: [{ required: true, message: '请输入', trigger: 'blur' }],
|
trxAmt: [{ required: true, message: '请输入', trigger: 'blur' }],
|
trxId: [{ required: true, message: '请输入', trigger: 'blur' }],
|
trxDate: [{ required: true, message: '请选择时间', trigger: 'change' }],
|
},
|
};
|
},
|
async mounted() {},
|
methods: {
|
async submit() {
|
this.$refs.ruleForm.validate((valid) => {
|
if (valid) {
|
this.loading = true;
|
let { formData } = this;
|
const proJect = formData.projectSerialno.split('|');
|
addOrModifyHouseholdBagAgencyFlow({
|
...formData,
|
projectSerialno: proJect[0],
|
projectName: proJect[1],
|
}).then((res) => {
|
if (res.code == '00') {
|
this.$emit('doAction', 'succ');
|
this.loading = false;
|
}
|
});
|
} else {
|
this.$message.warning(
|
'当前页面存在必填项未录入或数据录入错误,请检查!'
|
);
|
return false;
|
}
|
});
|
},
|
cancal() {
|
this.$refs.ruleForm.resetFields();
|
this.$emit('doAction', 'close');
|
},
|
// 金额格式化
|
formatMoney(value) {
|
if (value) {
|
value =
|
parseFloat((value + "").replace(/[^\d\.-]/g, "")).toFixed(2) + "";
|
if (value == "NaN") return;
|
let l = value
|
.split(".")[0]
|
.split("")
|
.reverse();
|
let r = value.split(".")[1];
|
let t = "";
|
for (let i = 0; i < l.length; i++) {
|
t += l[i] + ((i + 1) % 3 === 0 && i + 1 !== l.length ? "," : "");
|
}
|
return (
|
t
|
.split("")
|
.reverse()
|
.join("") +
|
"." +
|
r
|
);
|
}
|
},
|
},
|
computed: {
|
// 表单值信息
|
formValues() {
|
const { model, formList } = this;
|
return model.getFormValues(formList);
|
},
|
},
|
watch: {
|
info() {
|
// this.init();
|
},
|
},
|
};
|
</script>
|
<style lang="postcss" scoped>
|
.disable-input {
|
background-color: #f5f7fa;
|
border: 1px solid #f5f7fa;
|
border-radius: 4px;
|
color: #c0c4cc;
|
cursor: pointer;
|
width: 190px;
|
height: 32px;
|
line-height: 32px;
|
padding: 0 15px;
|
display: flex;
|
justify-content: space-between;
|
& p {
|
flex: 1;
|
}
|
& >>> .el-icon-tickets {
|
line-height: 34px;
|
}
|
}
|
.customer-edit {
|
& >>> .el-dialog {
|
width: 950px;
|
}
|
& >>> .el-form-item__content {
|
width: 214px;
|
}
|
}
|
</style>
|