<template>
|
<el-dialog
|
title="供应商详情"
|
width="40%"
|
:visible.sync="dialogVisible"
|
>
|
<el-form :model="model" label-width="auto">
|
<el-row>
|
<el-col :span="12">
|
<el-form-item label="供应商">
|
<el-input v-model="model.supplierName" placeholder="请输入" :disabled="type=='详情'" />
|
</el-form-item>
|
</el-col>
|
<el-col :span="12">
|
<el-form-item label="编号">
|
<el-input v-model="model.supplierRef" placeholder="请输入" :disabled="type=='详情'" />
|
</el-form-item>
|
</el-col>
|
</el-row>
|
<el-row>
|
<el-col :span="24">
|
<el-form-item label="供应商物品服务名称">
|
<el-input v-model="model.supplierItemServiceName" :disabled="type=='详情'" placeholder="请输入" />
|
</el-form-item>
|
</el-col>
|
</el-row>
|
<el-row>
|
<el-col :span="12">
|
<el-form-item label="邮编">
|
<el-input v-model="model.postalCode" :disabled="type=='详情'" placeholder="请输入" />
|
</el-form-item>
|
</el-col>
|
<el-col :span="12">
|
<el-form-item label="地址">
|
<el-input v-model="model.adress" :disabled="type=='详情'" placeholder="请输入" />
|
</el-form-item>
|
</el-col>
|
</el-row>
|
<el-row>
|
<el-col :span="24">
|
<el-form-item label="logo">
|
<div class="rows">
|
<el-input placeholder="请输入" :disabled="type=='详情'" v-model="model.logo" style="width: 100%;" />
|
<el-upload
|
ref="upload"
|
style="float: left; margin: 0 12px 0 20px;"
|
:action="action"
|
:show-file-list="false"
|
:on-success="onSuccess"
|
>
|
<el-button class="uploadFile" slot="trigger" type="primary" :disabled="type=='详情'">浏览</el-button>
|
</el-upload>
|
</div>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
<el-row>
|
<el-col :span="12">
|
<el-form-item label="联系人">
|
<el-input v-model="model.contacts" placeholder="请输入" :disabled="type=='详情'" />
|
</el-form-item>
|
</el-col>
|
<el-col :span="12">
|
<el-form-item label="联系电话">
|
<el-input v-model="model.phone" placeholder="请输入" :disabled="type=='详情'" />
|
</el-form-item>
|
</el-col>
|
</el-row>
|
<el-row>
|
<el-col :span="12">
|
<el-form-item label="户名">
|
<el-input v-model="model.householdName" placeholder="请输入" :disabled="type=='详情'" />
|
</el-form-item>
|
</el-col>
|
<el-col :span="12">
|
<el-form-item label="传真">
|
<el-input v-model="model.fax" placeholder="请输入" :disabled="type=='详情'" />
|
</el-form-item>
|
</el-col>
|
</el-row>
|
<el-row>
|
<el-col :span="12">
|
<el-form-item label="开户行">
|
<el-input v-model="model.openingName" placeholder="请输入" :disabled="type=='详情'" />
|
</el-form-item>
|
</el-col>
|
<el-col :span="12">
|
<el-form-item label="网址">
|
<el-input v-model="model.website" placeholder="请输入" :disabled="type=='详情'" />
|
</el-form-item>
|
</el-col>
|
</el-row>
|
<el-row>
|
<el-col :span="12">
|
<el-form-item label="账号">
|
<el-input v-model="model.accountName" placeholder="请输入" :disabled="type=='详情'" />
|
</el-form-item>
|
</el-col>
|
<el-col :span="12">
|
<el-form-item label="Email">
|
<el-input v-model="model.email" placeholder="请输入" :disabled="type=='详情'" />
|
</el-form-item>
|
</el-col>
|
</el-row>
|
</el-form>
|
<span slot="footer" v-if="type!='详情'">
|
<el-button @click="dialogVisible = false">取 消</el-button>
|
<el-button type="primary" @click="submit">保 存</el-button>
|
</span>
|
</el-dialog>
|
</template>
|
|
<script>
|
import { addSupplierManagement, updateSupplierManagement } from "@/assets/api/api";
|
import axios from 'axios';
|
export default {
|
props: {
|
contentsId: {
|
type: Number,
|
default: 0
|
},
|
type:{
|
type: String,
|
default: '编辑'
|
}
|
},
|
data() {
|
return {
|
dialogVisible: false,
|
model: {
|
parentId: this.contentsId,
|
supplierManagementId: undefined,
|
supplierName: undefined, // 供应商
|
supplierRef: undefined, // 编号
|
supplierItemServiceName: undefined, // 供应商物品服务名称
|
postalCode: undefined, // 邮编
|
adress: undefined, // 地址
|
logo: undefined, // logo
|
contacts: undefined, // 联系人
|
phone: undefined, // 联系电话
|
householdName: undefined, // 户名
|
fax: undefined, // 传真
|
openingName: undefined, // 开户行
|
website: undefined, // 网址
|
accountName: undefined, // 账号
|
email: undefined // Email
|
}
|
}
|
},
|
computed: {
|
action() {
|
return `${this.javaApi}/${this.$api.personnel.saveCNASFile}`
|
}
|
},
|
methods: {
|
openDialog(form) {
|
if(form) {
|
console.log(form.row)
|
this.model.supplierManagementId = form.row.supplierManagementId
|
this.model.supplierName = form.row.supplierName
|
this.model.supplierRef = form.row.supplierRef
|
this.model.supplierItemServiceName = form.row.supplierItemServiceName
|
this.model.postalCode = form.row.postalCode
|
this.model.adress = form.row.adress
|
this.model.logo = form.row.logo
|
this.model.contacts = form.row.contacts
|
this.model.phone = form.row.phone
|
this.model.householdName = form.row.householdName
|
this.model.fax = form.row.fax
|
this.model.openingName = form.row.openingName
|
this.model.website = form.row.website
|
this.model.accountName = form.row.accountName
|
this.model.email = form.row.email
|
}else{
|
this.model = {
|
parentId: this.contentsId,
|
supplierManagementId: undefined,
|
supplierName: undefined, // 供应商
|
supplierRef: undefined, // 编号
|
supplierItemServiceName: undefined, // 供应商物品服务名称
|
postalCode: undefined, // 邮编
|
adress: undefined, // 地址
|
logo: undefined, // logo
|
contacts: undefined, // 联系人
|
phone: undefined, // 联系电话
|
householdName: undefined, // 户名
|
fax: undefined, // 传真
|
openingName: undefined, // 开户行
|
website: undefined, // 网址
|
accountName: undefined, // 账号
|
email: undefined // Email
|
}
|
}
|
this.model.parentId = this.contentsId
|
this.dialogVisible = true
|
},
|
async submit() {
|
if(this.model.supplierManagementId) {
|
const { code } = await axios({
|
url: updateSupplierManagement,
|
method: 'post',
|
data: this.model,
|
noQs: true
|
})
|
if(code == 200) {
|
this.$message.success('修改成功')
|
this.$emit('submit')
|
this.dialogVisible = false
|
}
|
} else {
|
const { code } = await axios({
|
url: addSupplierManagement,
|
method: 'post',
|
data: this.model,
|
noQs: true
|
})
|
if(code == 200) {
|
this.$message.success('新增成功')
|
this.$emit('submit')
|
this.dialogVisible = false
|
}
|
}
|
},
|
async onSuccess(response) {
|
this.$set(this.model, "logo", response.data)
|
}
|
}
|
}
|
</script>
|
|
<style scoped>
|
.rows {
|
width: 100%;
|
display: flex;
|
justify-content: space-between;
|
}
|
</style>
|