<template> <div class="info-div"> <Goback title="保险公司详情" /> <a-form-model ref="form" layout="vertical" :model="detailObj" :rules="formRules"> <a-row :gutter="30"> <a-col :lg="6" :sm="12"> <a-form-model-item label="保险公司名称" prop="longName"> <a-input v-model="detailObj.longName" placeholder="保险公司名称" /> </a-form-model-item> </a-col> <a-col :lg="6" :sm="12"> <a-form-model-item label="保险公司英文名称"> <a-input v-model="detailObj.englishName" placeholder="保险公司英文名称" /> </a-form-model-item> </a-col> <a-col :lg="6" :sm="12"> <a-form-model-item label="国家"> <a-select v-model="detailObj.country" placeholder="请选择" showSearch> <a-select-option v-for="(item) in countyList" :value="item.descCh" :key="item.id">{{item.descCh}}</a-select-option> </a-select> </a-form-model-item> </a-col> </a-row> <a-row :gutter="30"> <a-col :lg="3" :sm="12"> <a-form-model-item label="有效" prop="status"> <a-select v-model="detailObj.status" placeholder="请选择"> <a-select-option value="1">有效</a-select-option> <a-select-option value="2">无效</a-select-option> </a-select> </a-form-model-item> </a-col> <a-col :lg="9" :sm="12"> <a-row :gutter="30"> <a-col :lg="12" :sm="12"> <a-form-model-item label="合同起始日期"> <a-date-picker v-model="detailObj.startDate" format="YYYY年MM月DD日" placeholder="选择日期"/> </a-form-model-item> </a-col> <a-col :lg="12" :sm="12"> <a-form-model-item label="合同终止日期"> <a-date-picker v-model="detailObj.endDate" format="YYYY年MM月DD日" placeholder="选择日期"/> </a-form-model-item> </a-col> </a-row> </a-col> <a-col :lg="10" :sm="12"> <a-form-model-item label="保险公司地址" prop="address"> <a-input v-model="detailObj.address" placeholder="保险公司地址" /> </a-form-model-item> </a-col> <a-col :lg="6" :sm="12"> <a-form-model-item label="网络联系人"> <a-input v-model="detailObj.contactPerson" placeholder="请输入联系人"/> </a-form-model-item> </a-col> <a-col :lg="8" :sm="12"> <a-form-model-item label="理赔件邮寄地址"> <a-input v-model="detailObj.claimAddress" placeholder="理赔件邮寄地址"/> </a-form-model-item> </a-col> <a-col :lg="4" :sm="12"> <a-form-model-item label="保险公司联系电话" prop="contactPhone"> <a-input v-model="detailObj.contactPhone" placeholder="保险公司联系电话"/> </a-form-model-item> </a-col> <a-col :lg="6" :sm="12"> <a-form-model-item label="客服电话" prop="customerTel"> <a-input v-model="detailObj.customerTel" placeholder="客服电话" /> </a-form-model-item> </a-col> <a-col :lg="6" :sm="12"> <a-form-model-item label="预授权电话"> <a-input v-model="detailObj.authorTel" placeholder="预授权电话" /> </a-form-model-item> </a-col> <a-col :lg="6" :sm="12"> <a-form-model-item label="保险公司邮件地址" prop="email"> <a-input v-model="detailObj.email" placeholder="保险公司邮件地址" /> </a-form-model-item> </a-col> <a-col :lg="6" :sm="12"> <a-form-model-item label="客服邮件地址"> <a-input v-model="detailObj.customerEmail" placeholder="客服邮件地址" /> </a-form-model-item> </a-col> <a-col :lg="6" :sm="12"> <a-form-model-item label="预授权邮件地址"> <a-input v-model="detailObj.authorEmail" placeholder="预授权邮件地址" /> </a-form-model-item> </a-col> <a-col :lg="6" :sm="12"> <a-form-model-item label="理赔邮件地址"> <a-input v-model="detailObj.claimEmail" placeholder="理赔邮件地址" /> </a-form-model-item> </a-col> <a-col :lg="8" :sm="12"> <a-form-model-item label="保险公司Protal链接"> <a-input v-model="detailObj.portalUrl" placeholder="保险公司Protal链接" /> </a-form-model-item> </a-col> <a-col :lg="4" :sm="12"> <a-form-model-item label="登录名"> <a-input v-model="detailObj.loginName" placeholder="登录名" /> </a-form-model-item> </a-col> <a-col :lg="6" :sm="12"> <a-form-model-item label="密码"> <a-input-password type="password" v-model="detailObj.loginPwd" placeholder="密码" /> </a-form-model-item> </a-col> <a-col :lg="6" :sm="12"> <a-form-model-item label="备注"> <a-textarea type="password" v-model="detailObj.remark" :maxLength="500" :auto-size="{minRows: 3}" /> </a-form-model-item> </a-col> </a-row> <a-row :gutter="30"> <a-col :lg="6" :sm="12"> <a-form-model-item label="理赔申请书模板"> <a-upload name="file" :multiple="false" accept="application/pdf" :showUploadList="true" :fileList="detailObj.claimApplicationTemplate" :customRequest="file => uploadPdf(file, 1)" :remove="(file)=> removeFile(file, 1)"> <a-button type="primary"> <Icon name="ssiupload" :size="18" />上传模板 </a-button> </a-upload> </a-form-model-item> </a-col> <a-col :lg="6" :sm="12"> <a-form-model-item label="预授权申请书模板"> <a-upload name="file" :multiple="false" accept="application/pdf" :showUploadList="true" :fileList="detailObj.authApplicationTemplate" :customRequest="file => uploadPdf(file, 2)" :remove="(file)=> removeFile(file, 2)"> <a-button type="primary"> <Icon name="ssiupload" :size="18" />上传模板 </a-button> </a-upload> </a-form-model-item> </a-col> </a-row> <a-row> <a-col :sm="24" class="none-label"> <a-form-model-item label="button"> <a-button type="primary" @click="handlerSava"> <Icon :name="detailObj.id?'ssibaocun':'ssiadd'" :size="14" />{{detailObj.id?'保存':'新建'}} </a-button> </a-form-model-item> </a-col> </a-row> </a-form-model> </div> </template> <script> import Goback from "@/components/Customers/goback"; import moment from "moment"; export default { props: { detailObj: { claimApplicationTemplate: [], authApplicationTemplate: [] } }, data() { return { countyList: [], formRules: { longName: [{ required: true, message: "请输入保险公司名称", trigger: "blur" }], status: [{ required: true, message: "请选择是否有效", trigger: "change" }], address: [{ required: true, message: "请输入保险公司地址", trigger: "blur" }], contactPhone: [{ required: true, message: "请输入保险公司联系电话", trigger: "blur" }], customerTel: [{ required: true, message: "请输入客服电话", trigger: "blur" }], email: [{ required: true, message: "请输入保险公司邮件地址", trigger: "blur" }], }, } }, components: { Goback, }, created(){ this.getRefcdByRefgrp(); }, methods: { comfileList1(){ if(this.detailObj.claimApplicationTemplate){ return [ { uid: Math.random()*10000, name: this.detailObj.claimApplicationTemplate.slice(this.detailObj.claimApplicationTemplate.lastIndexOf('/')+1), status: 'done', url: this.detailObj.claimApplicationTemplate, } ] }else{ return []; } }, // 获取国家列表 getRefcdByRefgrp() { this.$apis.getRefcdByRefgrp({ modid: "CI", refgrp: "COUNTRY_MAPPING" }).then((res) => { this.countyList = res.content || []; }); }, //新建保存 handlerSava(){ this.$refs.form.validate((valid) => { if (valid) { let formData = { ...this.detailObj, startDate: this.detailObj.startDate?moment(this.detailObj.startDate).format('YYYY-MM-DD HH:mm:ss'):'', endDate: this.detailObj.endDate?moment(this.detailObj.endDate).format('YYYY-MM-DD HH:mm:ss'):'', claimApplicationTemplate: this.detailObj.claimApplicationTemplate.length>0? this.detailObj.claimApplicationTemplate[0].url: '', authApplicationTemplate: this.detailObj.authApplicationTemplate.length>0? this.detailObj.authApplicationTemplate[0].url: '', } let api = this.detailObj.id? 'payorUpdate': 'createPayor'; this.$apis[api](formData) .then((res) => { if (res.returnCode == "0000") { this.$message.success("保存成功"); if(!this.detailObj.id){ this.$router.replace({ path: '/info/companyDetail', query: { id: res.content } }) } } else { this.$message.error(res.returnMsg); } }); } }); }, removeFile(file,type=1){ return new Promise((resolve)=>{ if(type==1){ this.detailObj.claimApplicationTemplate = []; }else{ this.detailObj.authApplicationTemplate = []; } resolve(); }); }, //上传pdf uploadPdf(fileData, type=1){ let formData = new FormData(); formData.append("file", fileData.file); this.$apis.uploadImg(formData) .then((res)=>{ fileData.onSuccess(); let fileList = [ { uid: Math.random()*10000, name: res.title, status: 'done', url: res.url, } ] if(type==1){ this.detailObj.claimApplicationTemplate = fileList; }else{ this.detailObj.authApplicationTemplate = fileList; } this.$forceUpdate(); }) } }, }; </script> <style lang="less" scoped> .title-div { line-height: 56px; color: #252631; } </style>