500 lines
19 KiB
Vue
500 lines
19 KiB
Vue
<template>
|
|
<div >
|
|
<el-row :gutter="0">
|
|
<el-form ref="form" size="mini" :model="form" :rules="rules" label-width="80px">
|
|
<el-col :span="8">
|
|
<el-form-item label="月结账号" prop="custNo">
|
|
<el-input v-model="form.custNo" placeholder="规则是TAN+区号+顺序号" />
|
|
</el-form-item>
|
|
</el-col>
|
|
<el-col :span="8">
|
|
<el-form-item label="客户名称" prop="custName">
|
|
<el-input v-model="form.custName" placeholder="请输入客户名称" />
|
|
</el-form-item>
|
|
</el-col>
|
|
<el-col :span="8">
|
|
<el-form-item label="客户英文" prop="custNameEn">
|
|
<el-input v-model="form.custNameEn" placeholder="请输入客户英文" />
|
|
</el-form-item>
|
|
</el-col>
|
|
<!-- <el-col :span="24">
|
|
<el-form-item label="账号持有人编码" prop="customerCode">
|
|
<el-input v-model="form.customerCode" placeholder="请输入账号持有人编码" />
|
|
</el-form-item>
|
|
</el-col> -->
|
|
<!-- <el-col :span="24">
|
|
<el-form-item label="客户类型" prop="userType">
|
|
<el-input v-model="form.userType" placeholder="请输入客户类型" />
|
|
</el-form-item>
|
|
</el-col> -->
|
|
|
|
<el-col :span="8">
|
|
<el-form-item label="公司名称" prop="company">
|
|
<el-input v-model="form.company" placeholder="请输入公司名称" />
|
|
</el-form-item>
|
|
</el-col>
|
|
<el-col :span="8">
|
|
<el-form-item label="营业执照号" prop="licNo" label-width="110px">
|
|
<el-input v-model="form.licNo" placeholder="" />
|
|
</el-form-item>
|
|
</el-col>
|
|
<el-col :span="8">
|
|
<el-form-item label="客户联系人" prop="contact" label-width="110px">
|
|
<el-input v-model="form.contact" placeholder="请输入业务联系人" />
|
|
</el-form-item>
|
|
</el-col>
|
|
<el-col :span="8">
|
|
<el-form-item label="联系电话" prop="phone">
|
|
<el-input v-model="form.phone" placeholder="请输入联系电话" />
|
|
</el-form-item>
|
|
</el-col>
|
|
<el-col :span="8">
|
|
<el-form-item label="email" prop="email">
|
|
<el-input v-model="form.email" placeholder="请输入email" />
|
|
</el-form-item>
|
|
</el-col>
|
|
<el-col :span="8">
|
|
<el-form-item label="客户等级" prop="custLevel">
|
|
<el-select v-model="form.custLevel" placeholder="客户等级" clearable filterable style="width:100%">
|
|
<el-option
|
|
v-for="dict in dict.type.emis_customer_level"
|
|
:key="dict.value"
|
|
:label="dict.label"
|
|
:value="dict.value"
|
|
/>
|
|
</el-select>
|
|
</el-form-item>
|
|
</el-col>
|
|
|
|
|
|
<el-col :span="6">
|
|
<el-form-item label="国家" prop="country" label-width="60px">
|
|
<CountryPicker :placeholder="$t('国家')" v-model="form.country" ></CountryPicker>
|
|
</el-form-item>
|
|
</el-col>
|
|
<el-col :span="6">
|
|
<el-form-item label="省份" prop="province" label-width="60px">
|
|
<ProvincePicker :placeholder="$t('省')" v-model="form.province" :countryCode="form.country" ></ProvincePicker>
|
|
</el-form-item>
|
|
</el-col>
|
|
<el-col :span="6">
|
|
<el-form-item label="地级市" prop="city" label-width="60px">
|
|
<CityPicker :placeholder="$t('市')" v-model="form.city" :parentCode="form.province" ></CityPicker>
|
|
</el-form-item>
|
|
</el-col>
|
|
<el-col :span="6">
|
|
<el-form-item label="区县" prop="county" label-width="60px">
|
|
<DistrictPicker :placeholder="$t('区县')" v-model="form.county" :parentCode="form.city" ></DistrictPicker>
|
|
</el-form-item>
|
|
</el-col>
|
|
<el-col :span="24">
|
|
<el-form-item label="地址" prop="address" label-width="60px">
|
|
<el-input v-model="form.address" type="textarea" placeholder="请输入地址" />
|
|
</el-form-item>
|
|
</el-col>
|
|
<el-col :span="24">
|
|
<el-form-item label="业务情况" prop="bizInfo">
|
|
<el-input v-model="form.bizInfo" type="textarea" placeholder="请输入业务情况" />
|
|
</el-form-item>
|
|
</el-col>
|
|
<!-- 分隔 -->
|
|
<el-col :span="24">
|
|
<el-divider content-position="left"></el-divider>
|
|
</el-col>
|
|
|
|
<el-col :span="8">
|
|
<el-form-item label="归属网点" prop="ownerSite" >
|
|
<EmisSiteSimplePicker :placeholder="$t('归属网点')" v-model="form.ownerSite" isInitiated="true"></EmisSiteSimplePicker>
|
|
</el-form-item>
|
|
</el-col>
|
|
<el-col :span="8">
|
|
<el-form-item label="回款联系人" prop="payee" label-width="90px">
|
|
<EmisUserSimplePicker0 v-model="form.payee" postCode="0" ></EmisUserSimplePicker0>
|
|
</el-form-item>
|
|
</el-col>
|
|
<el-col :span="8">
|
|
<el-form-item label="销售联系人" prop="salesmen" label-width="90px">
|
|
<EmisUserSimplePicker1 v-model="form.salesmen" postCode="0"></EmisUserSimplePicker1>
|
|
</el-form-item>
|
|
</el-col>
|
|
<el-col :span="8">
|
|
<el-form-item label="所属业务员" prop="marketMan" label-width="90px">
|
|
<EmisUserSimplePicker2 v-model="form.marketMan" postCode="0" ></EmisUserSimplePicker2>
|
|
</el-form-item>
|
|
</el-col>
|
|
|
|
<el-col :span="8">
|
|
<el-form-item label="启用状态" prop="status">
|
|
<el-radio-group v-model="form.status">
|
|
<el-radio :label="1">是</el-radio>
|
|
<el-radio :label="0">否</el-radio>
|
|
</el-radio-group>
|
|
</el-form-item>
|
|
</el-col>
|
|
<!-- 分隔 -->
|
|
<el-col :span="24">
|
|
<el-divider content-position="left"></el-divider>
|
|
</el-col>
|
|
|
|
<!--
|
|
<el-col :span="24">
|
|
<el-form-item label="邀请人" prop="invitationInfo">
|
|
<el-input v-model="form.invitationInfo" placeholder="请输入邀请人" />
|
|
</el-form-item>
|
|
</el-col> -->
|
|
<!-- <el-col :span="8">
|
|
<el-form-item label="合同类型" prop="contractType">
|
|
<el-input v-model="form.contractType" placeholder="请输入合同类型" />
|
|
</el-form-item>
|
|
</el-col> -->
|
|
<!-- <el-col :span="24">
|
|
<el-form-item label="排序" prop="orderNum">
|
|
<el-input v-model="form.orderNum" placeholder="请输入排序" />
|
|
</el-form-item>
|
|
</el-col> -->
|
|
<!-- <el-col :span="24">
|
|
<el-form-item label="合同内容" prop="contractContent">
|
|
<el-input v-model="form.contractContent" placeholder="请输入合同内容" />
|
|
</el-form-item>
|
|
</el-col>
|
|
<el-col :span="24">
|
|
<el-form-item label="改动内容" prop="contractChangeContent">
|
|
<el-input v-model="form.contractChangeContent" placeholder="请输入改动内容" />
|
|
</el-form-item>
|
|
</el-col> -->
|
|
<el-col :span="8">
|
|
<el-form-item label="合同开始日" prop="contractStartdate" label-width="90px">
|
|
<el-date-picker
|
|
style="width:100%"
|
|
clearable
|
|
v-model="form.contractStartdate"
|
|
type="date"
|
|
value-format="yyyy-MM-dd"
|
|
placeholder="请选择合同开始日">
|
|
</el-date-picker>
|
|
</el-form-item>
|
|
</el-col>
|
|
<el-col :span="8">
|
|
<el-form-item label="合同结束日" prop="contractEnddate" label-width="90px">
|
|
<el-date-picker
|
|
style="width:100%"
|
|
clearable
|
|
v-model="form.contractEnddate"
|
|
type="date"
|
|
value-format="yyyy-MM-dd"
|
|
placeholder="请选择合同结束日">
|
|
</el-date-picker>
|
|
</el-form-item>
|
|
</el-col>
|
|
<el-col :span="8">
|
|
<el-form-item label="合同签署日" prop="contractSigndate" label-width="90px">
|
|
<el-date-picker
|
|
style="width:100%"
|
|
|
|
clearable
|
|
v-model="form.contractSigndate"
|
|
type="date"
|
|
value-format="yyyy-MM-dd"
|
|
placeholder="请选择合同签署日">
|
|
</el-date-picker>
|
|
</el-form-item>
|
|
</el-col>
|
|
<!-- <el-col :span="8">
|
|
<el-form-item label="合同寄出日" prop="contractSenddate">
|
|
<el-date-picker clearable
|
|
v-model="form.contractSenddate"
|
|
type="date"
|
|
value-format="yyyy-MM-dd"
|
|
placeholder="请选择合同寄出日">
|
|
</el-date-picker>
|
|
</el-form-item>
|
|
</el-col> -->
|
|
<!-- <el-col :span="8">
|
|
<el-form-item label="合同收到日" prop="contractRecievedate">
|
|
<el-date-picker clearable
|
|
v-model="form.contractRecievedate"
|
|
type="date"
|
|
value-format="yyyy-MM-dd"
|
|
placeholder="请选择合同收到日">
|
|
</el-date-picker>
|
|
</el-form-item>
|
|
</el-col> -->
|
|
<!-- <el-col :span="24">
|
|
<el-form-item label="快递公司" prop="expressName">
|
|
<el-input v-model="form.expressName" placeholder="请输入快递公司" />
|
|
</el-form-item>
|
|
</el-col>
|
|
<el-col :span="24">
|
|
<el-form-item label="快递单号" prop="expressBillcode">
|
|
<el-input v-model="form.expressBillcode" placeholder="请输入快递单号" />
|
|
</el-form-item>
|
|
</el-col> -->
|
|
<!-- <el-col :span="8">
|
|
<el-form-item label="开户行" prop="bank">
|
|
<el-input v-model="form.bank" placeholder="请输入开户行" />
|
|
</el-form-item>
|
|
</el-col>
|
|
<el-col :span="8">
|
|
<el-form-item label="开户账号" prop="accountNo">
|
|
<el-input v-model="form.accountNo" placeholder="请输入开户账号" />
|
|
</el-form-item>
|
|
</el-col>
|
|
<el-col :span="8">
|
|
<el-form-item label="发票地址" prop="invoiceAddress">
|
|
<el-input v-model="form.invoiceAddress" placeholder="请输入发票地址" />
|
|
</el-form-item>
|
|
</el-col>
|
|
<el-col :span="8">
|
|
<el-form-item label="财务联系人" prop="financialContact">
|
|
<el-input v-model="form.financialContact" placeholder="请输入财务联系人" />
|
|
</el-form-item>
|
|
</el-col> -->
|
|
<!-- <el-col :span="24">
|
|
<el-form-item label="寄件人" prop="sender">
|
|
<el-input v-model="form.sender" placeholder="请输入寄件人" />
|
|
</el-form-item>
|
|
</el-col>
|
|
<el-col :span="24">
|
|
<el-form-item label="寄件地址" prop="sendAddress">
|
|
<el-input v-model="form.sendAddress" placeholder="请输入寄件地址" />
|
|
</el-form-item>
|
|
</el-col> -->
|
|
<el-col :span="24">
|
|
<el-form-item label="备注" prop="remark">
|
|
<el-input v-model="form.remark" type="textarea" placeholder="请输入备注" />
|
|
</el-form-item>
|
|
</el-col>
|
|
|
|
|
|
</el-form>
|
|
</el-row>
|
|
<div style="text-align: center;margin-bottom: 10px;">
|
|
<el-button type="primary" @click="submitForm">确 定</el-button>
|
|
<el-button @click="cancel">取 消</el-button>
|
|
</div>
|
|
|
|
<el-dialog title="选择网点" :visible.sync="openSiteSelectTreeForm" width="40%" :destroy-on-close="true" v-dialogDrag append-to-body>
|
|
<EmisSiteSelectTreePicker :areaId="form.areaId" :selectSiteCode="form.areaSiteCode" @on-changed="onSelectSiteTreeCheckChange" @on-cancel="onCancelSelectSiteTreeForm"></EmisSiteSelectTreePicker>
|
|
</el-dialog>
|
|
|
|
</div>
|
|
</template>
|
|
|
|
<script>
|
|
import { listEmisMonthpayAccount, getEmisMonthpayAccount, delEmisMonthpayAccount, addEmisMonthpayAccount, updateEmisMonthpayAccount } from "@/api/emis/emisMonthpayAccount";
|
|
import CountryPicker from '@/views/emis/EmisBaseTools/CountryPicker.vue';
|
|
import EmisSiteSimplePicker from '@/views/emis/EmisBaseTools/EmisSiteSimplePicker.vue';
|
|
import ProvincePicker from '@/views/emis/EmisBaseTools/ProvincePicker.vue';
|
|
import CityPicker from '@/views/emis/EmisBaseTools/CityPicker.vue';
|
|
import DistrictPicker from '@/views/emis/EmisBaseTools/DistrictPicker.vue';
|
|
import EmisUserSimplePicker0 from '@/views/emis/EmisBaseTools/EmisUserSimplePicker.vue';
|
|
import EmisUserSimplePicker1 from '@/views/emis/EmisBaseTools/EmisUserSimplePicker.vue';
|
|
import EmisUserSimplePicker2 from '@/views/emis/EmisBaseTools/EmisUserSimplePicker.vue';
|
|
import EmisSiteSelectTreePicker from '@/views/emis/EmisBaseTools/EmisSiteSelectTreePicker.vue';
|
|
|
|
|
|
export default {
|
|
name: "emisMonthpayAccountForm",
|
|
props:{
|
|
id:{
|
|
type:Number
|
|
}
|
|
},
|
|
components: { EmisSiteSelectTreePicker,EmisUserSimplePicker0,EmisUserSimplePicker1,EmisUserSimplePicker2,CountryPicker,EmisSiteSimplePicker,ProvincePicker,CityPicker,DistrictPicker },
|
|
dicts: ['emis_customer_level'],
|
|
data() {
|
|
return {
|
|
emisMonthpayAccountOptions: [],
|
|
// 遮罩层
|
|
loading: true,
|
|
// 表单参数
|
|
form: {},
|
|
// 表单校验
|
|
rules: {
|
|
id: [
|
|
{ required: true, message: "id不能为空", trigger: "blur" }
|
|
],
|
|
custNo: [
|
|
{ required: true, message: "月结编号不能为空", trigger: "blur" }
|
|
],
|
|
custName: [
|
|
{ required: true, message: "客户名称不能为空", trigger: "blur" }
|
|
],
|
|
custNameEn: [
|
|
{ required: true, message: "客户英文不能为空", trigger: "blur" }
|
|
],
|
|
userType: [
|
|
{ required: true, message: "客户类型不能为空", trigger: "blur" }
|
|
],
|
|
company: [
|
|
{ required: true, message: "公司名称不能为空", trigger: "blur" }
|
|
],
|
|
country: [
|
|
{ required: true, message: "国家不能为空", trigger: "blur" }
|
|
],
|
|
province: [
|
|
{ required: true, message: "省份不能为空", trigger: "blur" }
|
|
],
|
|
city: [
|
|
{ required: true, message: "地级市不能为空", trigger: "blur" }
|
|
],
|
|
ownerSite: [
|
|
{ required: true, message: "归属站点不能为空", trigger: "blur" }
|
|
],
|
|
contact: [
|
|
{ required: true, message: "业务联系人不能为空", trigger: "blur" }
|
|
],
|
|
phone: [
|
|
{ required: true, message: "联系电话不能为空", trigger: "blur" }
|
|
],
|
|
email: [
|
|
{ required: true, message: "email不能为空", trigger: "blur" }
|
|
],
|
|
payee: [
|
|
{ required: true, message: "回款联系人不能为空", trigger: "blur" }
|
|
],
|
|
salesmen: [
|
|
{ required: true, message: "销售联系人不能为空", trigger: "blur" }
|
|
],
|
|
marketMan: [
|
|
{ required: true, message: "所属业务员不能为空", trigger: "blur" }
|
|
],
|
|
}
|
|
};
|
|
},
|
|
watch: {
|
|
"id": {
|
|
handler (newValue, oldValue) {
|
|
this.id = newValue;
|
|
this.initData();
|
|
},
|
|
deep: true
|
|
}
|
|
},
|
|
created() {
|
|
this.initData();
|
|
},
|
|
|
|
methods: {
|
|
initData() {
|
|
|
|
if(this.id !=null) {
|
|
this.loading = true;
|
|
getEmisMonthpayAccount(this.id).then(response => {
|
|
this.form = response.data;
|
|
this.loading = false;
|
|
});
|
|
}else{
|
|
this.reset();
|
|
}
|
|
// this.getTreeselect();
|
|
},
|
|
// 取消按钮
|
|
cancel() {
|
|
this.reset();
|
|
this.$emit("on-cancel");
|
|
},
|
|
// 表单重置
|
|
reset() {
|
|
this.form = {
|
|
id: null,
|
|
custNo: null,
|
|
custName: null,
|
|
custNameEn: null,
|
|
customerCode: null,
|
|
userType: null,
|
|
company: null,
|
|
licNo: null,
|
|
bizInfo: null,
|
|
custLevel: null,
|
|
country: null,
|
|
province: null,
|
|
city: null,
|
|
county: null,
|
|
address: null,
|
|
sex: null,
|
|
ownerSite: null,
|
|
contact: null,
|
|
phone: null,
|
|
email: null,
|
|
status: null,
|
|
payee: null,
|
|
salesmen: null,
|
|
marketMan: null,
|
|
invitationInfo: null,
|
|
contractType: null,
|
|
orderNum: null,
|
|
contractContent: null,
|
|
contractChangeContent: null,
|
|
contractStartdate: null,
|
|
contractEnddate: null,
|
|
contractSigndate: null,
|
|
contractSenddate: null,
|
|
contractRecievedate: null,
|
|
expressName: null,
|
|
expressBillcode: null,
|
|
bank: null,
|
|
accountNo: null,
|
|
invoiceAddress: null,
|
|
financialContact: null,
|
|
sender: null,
|
|
sendAddress: 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) {
|
|
updateEmisMonthpayAccount(this.form).then(response => {
|
|
this.$modal.msgSuccess("修改成功");
|
|
this.$emit("on-changed");
|
|
});
|
|
} else {
|
|
addEmisMonthpayAccount(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 = {}
|
|
// listEmisMonthpayAccount(queryParams).then(response => {
|
|
// this.emisMonthpayAccountOptions = [];
|
|
// const rootItem = { idId: 0, emisMonthpayAccountName: '-', children: [] };
|
|
// rootItem.children = this.handleTree(response.data, "id");
|
|
// this.emisMonthpayAccountOptions.push(rootItem);
|
|
|
|
// if(this.parentId != undefined) {
|
|
// this.form.parentId = this.parentId;
|
|
// }
|
|
|
|
// });
|
|
// },
|
|
}
|
|
};
|
|
</script>
|