<template>
|
<div class="add-realer inner-bg-style">
|
<div class="add-content">
|
<div class="title">{{$route.meta.title}}</div>
|
<el-form :model="ruleForm"
|
:disabled="isDisabled"
|
status-icon
|
:rules="rules" ref="ruleForm" label-width="160px"
|
class="demo-ruleForm">
|
<el-form-item label="经销商名称" prop="merchantName">
|
<el-input v-model="ruleForm.merchantName"></el-input>
|
</el-form-item>
|
<el-form-item label="统一社会信用代码" prop="creditCode">
|
<el-input v-model="ruleForm.creditCode" autocomplete="off"></el-input>
|
</el-form-item>
|
<el-form-item label="法定代表人" prop="legalPerson">
|
<el-input v-model="ruleForm.legalPerson" autocomplete="off"></el-input>
|
</el-form-item>
|
<el-form-item label="省市区" prop="provinceId">
|
<el-cascader style="width: 100%" v-model="adress" filterable :options="adressArray" @change="handleChange" :disabled ="isDisabled" clearable></el-cascader>
|
</el-form-item>
|
<el-form-item label="详细地址" prop="detail">
|
<el-input v-model="ruleForm.detail" autocomplete="off"></el-input>
|
</el-form-item>
|
<el-form-item label="联系人" prop="contactName">
|
<el-input v-model="ruleForm.contactName" autocomplete="off"></el-input>
|
</el-form-item>
|
<el-form-item label="联系电话" prop="contactPhone">
|
<el-input v-model="ruleForm.contactPhone" :disabled="$route.query.id ? true : false" autocomplete="off"></el-input>
|
</el-form-item>
|
<el-form-item label="开户银行" prop="bankName">
|
<el-input v-model="ruleForm.bankName" autocomplete="off"></el-input>
|
</el-form-item>
|
<el-form-item label="开户名称" prop="bankAccount">
|
<el-input v-model="ruleForm.bankAccount" autocomplete="off"></el-input>
|
</el-form-item>
|
<el-form-item label="银行账户" prop="bankAccountNo">
|
<el-input v-model="ruleForm.bankAccountNo" autocomplete="off"></el-input>
|
</el-form-item>
|
<el-form-item label="经销商简介" prop="content">
|
<el-input type="textarea" :maxlength="256" rows="3" show-word-limit v-model="ruleForm.content" autocomplete="off"></el-input>
|
</el-form-item>
|
<el-form-item prop="fileUrl" label="资料上传">
|
<!-- <div class="upload-tips">资料上传 (上传仅支持PDF格式,大小不能超过20MB)</div> -->
|
<div class="upload-box">
|
<upload-img :limitNumber="5" @handle-success="handleSuccess" @handle-remove="handleRemove" :fileList="UploadFileList" :hideAddUpload="isDisabled" :uploadPath="'pdf'"></upload-img>
|
</div>
|
</el-form-item>
|
</el-form>
|
<el-form :model="Form"
|
v-if="$route.name === 'dealerMgtReview'"
|
status-icon
|
:rules="FormRules" ref="Form" label-width="160px"
|
class="demo-ruleForm">
|
<el-form-item label="审核意见" prop="auditContent">
|
<el-input type="textarea" :maxlength="100" rows="4" show-word-limit v-model="Form.auditContent" autocomplete="off"></el-input>
|
</el-form-item>
|
</el-form>
|
<div class="button-box">
|
<el-button v-if="$route.name === 'dealerMgtAdd' || $route.name === 'dealerMgtEdit'" size="mini" type="primary" @click="saveRealer">保存</el-button>
|
<el-button v-if="$route.name === 'dealerMgtReview'" size="mini" type="primary" @click="saveReview('1')">通过</el-button>
|
<el-button v-if="$route.name === 'dealerMgtReview'" size="mini" type="warning" @click="saveReview('2')">驳回</el-button>
|
<el-button size="mini" @click="cancel">取消</el-button>
|
</div>
|
</div>
|
</div>
|
</template>
|
|
<script>
|
import AddressResourcesApi from '@/api/addressResources'
|
// import { validateMobile } from '@/utils/validator'
|
import {
|
ecMarketMerchantInsertSelective,
|
ecMarketMerchantGetEcMarketMerchantBymerchantId,
|
ecMarketMerchantUpdateByPrimaryKeySelective,
|
ecMarketMerchantExamineMerchant
|
} from '../../../api/MarketingMgt/dealerMgt'
|
export default {
|
name: 'dealerMgtAdd',
|
data () {
|
// const validateCreditCode = (rule, value, callback) => {
|
// const reg = /^[0-9a-zA-Z]{15,20}$/
|
// if (value) {
|
// if (!reg.test(value)) {
|
// callback(new Error('请输入正确的统一社会信用代码'))
|
// } else {
|
// callback()
|
// }
|
// } else {
|
// callback(new Error('请输入统一社会信用代码'))
|
// }
|
// }
|
// const validateBankNo = (rule, value, callback) => {
|
// const reg = /^([1-9]{1})(\d{14}|\d{18})$/
|
// if (value) {
|
// if (!reg.test(value)) {
|
// callback(new Error('请输入正确的银行账户'))
|
// } else {
|
// callback()
|
// }
|
// } else {
|
// callback(new Error('请输入银行账户'))
|
// }
|
// }
|
return {
|
dialogVisible: false,
|
dialogImageUrl: '',
|
adressArray: [],
|
UploadFileList: [],
|
adress: [],
|
fileList: [],
|
isDisabled: false,
|
ruleForm: {
|
merchantId: null,
|
merchantName: '',
|
creditCode: '',
|
legalPerson: '',
|
detail: '',
|
contactName: '',
|
contactPhone: '',
|
bankName: '',
|
bankAccount: '',
|
bankAccountNo: '',
|
content: '',
|
provinceId: '',
|
province: '',
|
cityId: '',
|
city: '',
|
aera: '',
|
aeraId: '',
|
auditContent: ''
|
},
|
Form: {
|
auditContent: ''
|
},
|
FormRules: {
|
auditContent: [
|
{ required: true, message: '请输入审核意见', trigger: 'change' }
|
]
|
},
|
rules: {
|
// merchantName: [
|
// { required: true, message: '请输入经销商名称', trigger: 'change' },
|
// { message: '经销商名称最大长度为32', max: 32, trigger: 'change' }
|
// ],
|
// creditCode: [
|
// { required: true, validator: validateCreditCode, trigger: 'change' }
|
// ],
|
// legalPerson: [
|
// { required: true, message: '请输入法定代表人', trigger: 'change' },
|
// { message: '法定代表人最大长度为32', max: 32, trigger: 'change' }
|
// ],
|
// detail: [
|
// { required: true, message: '请输入详细地址', trigger: 'change' },
|
// { message: '详细地址最大长度为32', max: 32, trigger: 'change' }
|
// ],
|
// contactName: [
|
// { required: true, message: '请输入联系人', trigger: 'change' },
|
// { message: '联系人最大长度为32', max: 32, trigger: 'change' }
|
// ],
|
// contactPhone: [
|
// { validator: validateMobile, required: true, trigger: 'change' }
|
// ],
|
// bankName: [
|
// { required: true, message: '请输入开户银行', trigger: 'change' },
|
// { message: '开户银行最大长度为32', max: 32, trigger: 'change' }
|
// ],
|
// bankAccount: [
|
// { required: true, message: '请输入开户名称', trigger: 'change' },
|
// { message: '开户名称最大长度为32', max: 32, trigger: 'change' }
|
// ],
|
// bankAccountNo: [
|
// { required: true, validator: validateBankNo, trigger: 'change' }
|
// ]
|
}
|
}
|
},
|
created () {
|
this.getAddressList()
|
if (this.$route.name === 'dealerMgtDetail' || this.$route.name === 'dealerMgtReview') {
|
this.isDisabled = true
|
}
|
if (this.$route.name !== 'dealerMgtAdd') {
|
this._ecMarketMerchantGetEcMarketMerchantBymerchantId()
|
}
|
},
|
methods: {
|
/**
|
* 获取上传成功的图片
|
*/
|
handleSuccess (data) {
|
this.fileList.push(data.like)
|
},
|
/**
|
* 移除图片
|
*/
|
handleRemove (file, data) {
|
this.fileList = data.map((v) => {
|
return v.response && v.response.data ? v.response.data.url : v.url
|
})
|
},
|
// 获取省市区
|
handleChange (val) {
|
if (val.length) {
|
const proArr = this.adressArray.filter((v) => {
|
return v.value === val[0]
|
})
|
this.ruleForm.provinceId = proArr[0].value
|
this.ruleForm.province = proArr[0].label
|
const cityArr = proArr[0].children.filter((v) => {
|
return v.value === val[1]
|
})
|
this.ruleForm.cityId = cityArr[0].value
|
this.ruleForm.city = cityArr[0].label
|
const aeraArr = cityArr[0].children.filter((v) => {
|
return v.value === val[2]
|
})
|
this.ruleForm.aeraId = aeraArr[0].value
|
this.ruleForm.aera = aeraArr[0].label
|
} else {
|
this.ruleForm.provinceId = ''
|
this.ruleForm.province = ''
|
this.ruleForm.cityId = ''
|
this.ruleForm.city = ''
|
this.ruleForm.aera = ''
|
this.ruleForm.aeraId = ''
|
}
|
},
|
async getAddressList () {
|
const res = await AddressResourcesApi.getList()
|
if (res.data) {
|
this.adressArray = res.data
|
}
|
},
|
async _ecMarketMerchantInsertSelective () {
|
const req = Object.assign(this.ruleForm, {
|
fileUrl: this.fileList.join(',')
|
})
|
const res = await ecMarketMerchantInsertSelective(req)
|
if (res.code === '0') {
|
this.$message({
|
message: '保存成功',
|
type: 'success'
|
})
|
this.$router.push('/dash/dealerMgt/list')
|
}
|
},
|
// 保存 经销商
|
saveRealer () {
|
this.$refs.ruleForm.validate((valid) => {
|
if (valid) {
|
if (this.$route.name === 'dealerMgtEdit') {
|
this._ecMarketMerchantUpdateByPrimaryKeySelective()
|
} else {
|
this._ecMarketMerchantInsertSelective()
|
}
|
} else {
|
console.log('error submit!!')
|
return false
|
}
|
})
|
},
|
// 取消添加经销商
|
cancel () {
|
this.$router.go(-1)
|
},
|
async _ecMarketMerchantGetEcMarketMerchantBymerchantId () {
|
const res = await ecMarketMerchantGetEcMarketMerchantBymerchantId({ merchantId: this.$route.query.id })
|
if (res.code === '0') {
|
this.ruleForm = res.data
|
if (res.data.expInfo) {
|
this.fileList = JSON.parse(res.data.expInfo)
|
console.log(this.fileList)
|
this.UploadFileList = this.fileList.map((v, i) => {
|
return {
|
name: i,
|
url: v.url
|
}
|
})
|
}
|
this.adress = [res.data.provinceId, res.data.cityId, res.data.aeraId]
|
}
|
},
|
// 修改经销商
|
async _ecMarketMerchantUpdateByPrimaryKeySelective () {
|
const req = Object.assign(this.ruleForm, {
|
fileUrl: this.fileList.join(',')
|
})
|
const res = await ecMarketMerchantUpdateByPrimaryKeySelective(req)
|
if (res.code === '0') {
|
this.$message({
|
message: '修改成功',
|
type: 'success'
|
})
|
this.$router.push('/dash/dealerMgt/list')
|
}
|
},
|
// 审核经销商
|
async _ecMarketMerchantExamineMerchant (status) {
|
const res = await ecMarketMerchantExamineMerchant({
|
auditContent: this.Form.auditContent,
|
auditStatus: status,
|
contactPhone: this.ruleForm.contactPhone,
|
merchantId: this.ruleForm.merchantId
|
})
|
if (res.code === '0') {
|
this.$message({
|
message: '修改成功',
|
type: 'success'
|
})
|
this.$router.push('/dash/dealerMgt/list')
|
}
|
},
|
saveReview (status) {
|
this.$refs.Form.validate((valid) => {
|
if (valid) {
|
this._ecMarketMerchantExamineMerchant(status)
|
} else {
|
console.log('error submit!!')
|
return false
|
}
|
})
|
}
|
}
|
}
|
</script>
|
|
<style lang="scss" scoped>
|
.add-realer {
|
padding:20px;
|
.title {
|
line-height: 60px;
|
font-weight: 600;
|
}
|
/deep/ .el-form {
|
width: 800px;
|
/deep/.button-row {
|
margin: 0 auto;
|
}
|
.upload-tips {
|
text-align: center;
|
line-height: 60px;
|
border-bottom: 1px solid #dedede;
|
}
|
/deep/.upload-box {
|
display: flex;
|
justify-content: flex-start;
|
align-items: center;
|
}
|
}
|
.button-box {
|
display: flex;
|
justify-content: center;
|
align-items: center;
|
}
|
}
|
</style>
|