<template>
|
<GlobalWindow
|
:title="title"
|
width="60%"
|
:visible.sync="visible"
|
:confirm-working="isWorking"
|
@confirm="confirm"
|
>
|
<el-form :model="form" ref="form" :rules="rules" style="width: 50%;">
|
<el-form-item label="公司名称" prop="name">
|
<el-input v-model="form.name" placeholder="请输入" v-trim/>
|
</el-form-item>
|
<el-form-item label="统一信用代码" prop="code">
|
<el-input v-model="form.code" placeholder="请输入" v-trim/>
|
</el-form-item>
|
<el-form-item label="法人姓名" prop="legalName">
|
<el-input v-model="form.legalName" placeholder="请输入" v-trim/>
|
</el-form-item>
|
<el-form-item label="绑定手机号" prop="phone" v-if="!form.id">
|
<div style="width: 100%; display: flex; align-items: center;">
|
<el-input v-model="form.phone" maxlength="11" type="number" style="flex: 1;" placeholder="请输入" v-trim/>
|
<el-button type="primary" style="flex-shrink: 0; margin-left: 15px;" @click="send" v-if="num === 0">发送验证码</el-button>
|
<el-button type="primary" style="flex-shrink: 0; margin-left: 15px;" v-else>{{num}}s</el-button>
|
</div>
|
</el-form-item>
|
<el-form-item label="验证码" prop="captche" v-if="form.type !== 1">
|
<el-input v-model="form.captche" placeholder="请输入" v-trim/>
|
</el-form-item>
|
<el-form-item label="公司账号" prop="username" v-if="form.type !== 1">
|
<el-input v-model="form.username" placeholder="请输入" v-trim/>
|
</el-form-item>
|
<el-form-item label="认证邮箱" prop="email" >
|
<el-input v-model="form.email" placeholder="请输入" v-trim/>
|
</el-form-item>
|
<el-form-item label="纳税人识别号" prop="taxCode">
|
<el-input v-model="form.taxCode" placeholder="请输入" v-trim/>
|
</el-form-item>
|
<el-form-item label="银行账号" prop="taxAccount">
|
<el-input v-model="form.taxAccount" placeholder="请输入" v-trim/>
|
</el-form-item>
|
<el-form-item label="开户行" prop="taxBank">
|
<el-input v-model="form.taxBank" placeholder="请输入" v-trim/>
|
</el-form-item>
|
<el-form-item label="地址、电话" prop="taxAddr">
|
<el-input v-model="form.taxAddr" placeholder="请输入" v-trim/>
|
</el-form-item>
|
<el-form-item label="电子发票接收地址" prop="invoiceEmail">
|
<el-input v-model="form.invoiceEmail" placeholder="请输入" v-trim/>
|
</el-form-item>
|
<el-form-item label="纸质发票接收地址" prop="invoiceAddr">
|
<el-input v-model="form.invoiceAddr" placeholder="请输入" v-trim/>
|
</el-form-item>
|
<el-form-item label="营业执照" prop="businessImg">
|
<div style="width: 100%; height: 100px; display: flex; align-items: center;">
|
<UploadAvatarImage :uploadData="{ folder: 'company' }" :file="form.file" @uploadSuccess="result" />
|
</div>
|
</el-form-item>
|
<el-form-item label="法人身份证" prop="idcardImgList" style="height: 120px">
|
<div style="width: 100%; display: flex; align-items: center;">
|
<UploadAvatarImage :uploadData="{ folder: 'company' }" :file="form.file1" @uploadSuccess="result1" />
|
<div style="width: 15px;height: 100%;"></div>
|
<UploadAvatarImage :uploadData="{ folder: 'company' }" :file="form.file2" @uploadSuccess="result2" />
|
</div>
|
</el-form-item>
|
<!-- <el-form-item label="电子签章" prop="signImg">-->
|
<!-- <div style="width: 100%; height: 100px; display: flex; align-items: center;">-->
|
<!-- <UploadAvatarImage :uploadData="{ folder: 'company' }" :file="form.file3" @uploadSuccess="result3" />-->
|
<!-- </div>-->
|
<!-- </el-form-item>-->
|
</el-form>
|
<el-button type="primary" style="margin-bottom: 15px;" @click="add" v-if="form.type !== 1">添加</el-button>
|
<el-table
|
v-if="form.type !== 1"
|
:data="form.solutionList"
|
border
|
style="width: 100%">
|
<el-table-column
|
label="序号"
|
align="center"
|
width="80">
|
<template slot-scope="scope">
|
<span>{{scope.$index + 1}}</span>
|
</template>
|
</el-table-column>
|
<el-table-column
|
align="center"
|
label="保险方案">
|
<template slot-scope="scope">
|
<el-select v-model="scope.row.solution" value-key="id" placeholder="请选择" change="changeSolution($event,scope.$index)">
|
<el-option
|
v-for="item in programme"
|
:key="item.id"
|
:label="item.name"
|
:value="item">
|
</el-option>
|
</el-select>
|
</template>
|
</el-table-column>
|
<el-table-column
|
align="center"
|
label="加减保功能">
|
<template slot-scope="{row}">
|
<el-checkbox :true-label="1" :false-label="0" v-model="row.canAdd">加保</el-checkbox>
|
<el-checkbox :true-label="1" :false-label="0" v-model="row.canReduce">减保</el-checkbox>
|
</template>
|
</el-table-column>
|
<el-table-column
|
label="操作"
|
align="center"
|
width="100">
|
<template slot-scope="scope">
|
<el-button type="text" size="small" style="color: red;" @click="dele(scope.$index)">删除</el-button>
|
</template>
|
</el-table-column>
|
</el-table>
|
</GlobalWindow>
|
</template>
|
|
<script>
|
import BaseOpera from '@/components/base/BaseOpera'
|
import GlobalWindow from '@/components/common/GlobalWindow'
|
import UploadAvatarImage from '@/components/common/UploadAvatarImage'
|
import { all } from '@/api/business/solutions'
|
import { sendSms } from '@/api/business/smsEmail'
|
export default {
|
name: 'OperaCompanyWindow',
|
extends: BaseOpera,
|
components: { GlobalWindow, UploadAvatarImage },
|
data () {
|
return {
|
// 表单数据
|
initParam:{
|
id: null,
|
name: '',
|
code: '',
|
legalName: '',
|
taxCode: '',
|
taxAccount: '',
|
username: '',
|
taxBank: '',
|
taxAddr: '',
|
invoiceEmail: '',
|
invoiceAddr: '',
|
phone: '',
|
email: '',
|
captche: '',
|
businessImg: {
|
fileurl: '',
|
name: ''
|
},
|
idcardImgList: [],
|
signImg: {
|
fileurl: '',
|
name: ''
|
},
|
solutionList: [
|
{
|
solution: null,
|
canAdd: 0,
|
canReduce: 0
|
}
|
],
|
type: '0',
|
file: {
|
imgurl: '',
|
imgurlfull: ''
|
},
|
file1: {
|
imgurl: '',
|
imgurlfull: ''
|
},
|
file2: {
|
imgurl: '',
|
imgurlfull: ''
|
},
|
file3: {
|
imgurl: '',
|
imgurlfull: ''
|
},
|
},
|
form: {},
|
timer: null,
|
num: 0,
|
// 验证规则
|
rules: {
|
name: [
|
{ required: true, message: '请输入公司名称' }
|
],
|
code: [
|
{ required: true, message: '请输入统一信用代码' }
|
],
|
captche: [
|
{ required: true, message: '请输入验证码' }
|
],
|
legalName: [
|
{ required: true, message: '请输入法人姓名' }
|
],
|
phone: [
|
{ required: true, message: '请输入手机号' }
|
],
|
// taxAccount: [
|
// { required: true, message: '请输入银行卡' }
|
// ],
|
email: [
|
{ required: true, message: '请输入认证邮箱' }
|
],
|
businessImg: [
|
{ required: true, message: '请上传营业执照' }
|
],
|
idcardImgList: [
|
{ required: true, message: '请上传法人身份证' }
|
],
|
signImg: [
|
{ required: true, message: '请上传电子签章' }
|
],
|
username: [
|
{ required: true, message: '请输入公司账号' }
|
]
|
},
|
|
programme: []
|
}
|
},
|
created () {
|
this.config({
|
api: '/business/company',
|
'field.id': 'id'
|
})
|
},
|
watch: {
|
visible: {
|
handler (news) {
|
if (news) {
|
clearInterval(this.timer)
|
this.num = 0
|
}
|
}
|
}
|
},
|
methods: {
|
changeSolution(row,index){
|
this.form.solutionList[index].solution=row
|
// console.log(this.form.solutionList)
|
},
|
send () {
|
if (!this.form.phone) {
|
this.$message.warning('请输入手机号')
|
return
|
}
|
sendSms({ phone: this.form.phone })
|
.then(res => {
|
this.num = 60
|
this.setTime()
|
})
|
},
|
setTime () {
|
this.timer = setInterval(() => {
|
this.num -= 1
|
if (this.num === 0) {
|
clearInterval(this.timer)
|
this.num = 0
|
}
|
}, 1000)
|
},
|
open (title, target,type) {
|
this.title = title
|
this.visible = true
|
this.form = this.initParam
|
this.getAll()
|
// 新建
|
if (target == null) {
|
this.$nextTick(() => {
|
this.$refs.form.resetFields()
|
this.form[this.configData['field.id']] = null
|
})
|
return
|
}
|
// 编辑
|
this.$nextTick(() => {
|
for (const key in this.form) {
|
this.form[key] = target[key]
|
}
|
})
|
},
|
// 获取全部方案
|
getAll () {
|
all({})
|
.then(res => {
|
this.programme = res
|
})
|
},
|
dele (index) {
|
if (this.form.solutionList.length === 1) {
|
this.$message.warning('至少保留一项')
|
return
|
}
|
this.form.solutionList.splice(index, 1)
|
},
|
add () {
|
this.form.solutionList.push({
|
solutionId:null,
|
solution: {},
|
canAdd: '',
|
canReduce: ''
|
})
|
},
|
handleRemove (file, fileList) {
|
console.log(file, fileList)
|
},
|
// 接收营业执照数据
|
result (data) {
|
this.form.businessImg = {
|
fileurl: '',
|
name: ''
|
}
|
this.form.businessImg.fileurl = data.imgurl
|
this.form.businessImg.name = data.name
|
},
|
// 身份证照片1
|
result1 (data) {
|
this.form.idcardImgList[0] = {
|
fileurl: '',
|
name: ''
|
}
|
this.form.idcardImgList[0] = { fileurl: data.imgurl, name: data.name }
|
},
|
// 身份证照片2
|
result2 (data) {
|
this.form.idcardImgList[1] = {
|
fileurl: '',
|
name: ''
|
}
|
this.form.idcardImgList[1] = { fileurl: data.imgurl, name: data.name }
|
},
|
// 电子签章
|
result3 (data) {
|
this.form.signImg = {
|
fileurl: '',
|
name: ''
|
}
|
this.form.signImg.fileurl = data.imgurl
|
this.form.signImg.name = data.name
|
}
|
}
|
}
|
</script>
|