Browse Source

采购人信息

master
jiazhipeng 4 weeks ago
parent
commit
0a9888e1cf
  1. 174
      src/views/User/PurchaserAdd.vue

174
src/views/User/PurchaserAdd.vue

@ -11,66 +11,74 @@
<i v-else style="color: #fff;" class="el-icon-check"></i> <i v-else style="color: #fff;" class="el-icon-check"></i>
</div> </div>
</el-step> </el-step>
</el-steps> </el-steps>
</div> </div>
</div> </div>
<div class="notice-bar" v-if="showNotice">拒绝理由{{ user.reason }}</div>
<el-card style="width: 100%;"> <el-card style="width: 100%;">
<el-form :model="user" label-width="150px" size="small" >
<el-form :model="user" ref="userForm" label-width="150px" size="small" :disabled="!canSubmit">
<div class="flex-between">
<div class="header-title">单位信息</div> <div class="header-title">单位信息</div>
<el-form-item label="营业执照"> <el-button type="primart" size="small" v-if="user && user.status==1" @click="editUser" :disabled="false">编辑</el-button>
</div>
<el-form-item label="营业执照" prop="business_license" :rules="selectRequired">
<el-upload class="avatar-uploader" action="#" :auto-upload="false" <el-upload class="avatar-uploader" action="#" :auto-upload="false"
:on-change="handleAvatarChange" :show-file-list="false"> :on-change="handleAvatarChange" :show-file-list="false" :disabled="isEdit">
<img :src="user.avatar" class="avatar" v-if="user.avatar"> <img :src="user.business_license" class="avatar" v-if="user.business_license">
<i v-else class="el-icon-plus avatar-uploader-icon"></i> <i v-else class="el-icon-plus avatar-uploader-icon"></i>
</el-upload> </el-upload>
</el-form-item> </el-form-item>
<div class="grid-container"> <div class="grid-container">
<el-form-item label="公司名称:" :rules="inputRequired"> <el-form-item label="公司名称:" prop="company_name" :rules="inputRequired">
<el-input v-model="user.nickname" placeholder="请输入"></el-input> <el-input v-model="user.company_name" placeholder="请输入" :disabled="isEdit"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="统一信用代码:" :rules="inputRequired"> <el-form-item label="统一信用代码:" prop="standard_translation" :rules="inputRequired">
<el-input v-model="user.nickname" placeholder="请输入"></el-input> <el-input v-model="user.standard_translation" placeholder="请输入" :disabled="isEdit"></el-input>
</el-form-item> </el-form-item>
</div> </div>
<div class="grid-container"> <div class="grid-container">
<el-form-item label="法人代表:" :rules="inputRequired"> <el-form-item label="法人代表:" prop="legal_representative" :rules="inputRequired">
<el-input v-model="user.nickname" placeholder="请输入"></el-input> <el-input v-model="user.legal_representative" placeholder="请输入" :disabled="isEdit"></el-input>
</el-form-item> </el-form-item>
<div></div> <div></div>
</div> </div>
<div class="header-title" style="margin-top: 50px;">联系人信息</div> <div class="header-title" style="margin-top: 50px;">联系人信息</div>
<div class="grid-container"> <div class="grid-container">
<el-form-item label="联系人名称:" :rules="inputRequired"> <el-form-item label="联系人名称:" prop="contact_name" :rules="inputRequired">
<el-input v-model="user.nickname" placeholder="请输入"></el-input> <el-input v-model="user.contact_name" placeholder="请输入"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="手机号码:" :rules="inputRequired"> <el-form-item label="手机号码:" prop="mobile" :rules="inputRequired">
<el-input v-model="user.nickname" placeholder="请输入"></el-input> <el-input v-model="user.mobile" placeholder="请输入"></el-input>
</el-form-item> </el-form-item>
</div> </div>
<div class="grid-container"> <div class="grid-container">
<el-form-item label="公司地址:" :rules="inputRequired"> <el-form-item label="邮箱:" prop="email" :rules="inputRequired">
<el-cascader style="width: 100%;" v-model="user.address" :options="options" filterable></el-cascader> <el-input v-model="user.email" placeholder="请输入"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="详细地址:" :rules="inputRequired"> <el-form-item label="固定电话:" prop="fixed_telephone" :rules="inputRequired">
<el-input v-model="user.nickname" placeholder="请输入"></el-input> <el-input v-model="user.fixed_telephone" placeholder="请输入"></el-input>
</el-form-item> </el-form-item>
</div> </div>
<div class="grid-container"> <div class="grid-container">
<el-form-item label="邮箱:" :rules="inputRequired"> <!-- <el-form-item label="公司地址:" prop="addressId" :rules="inputRequired">
<el-input v-model="user.nickname" placeholder="请输入"></el-input> <el-cascader style="width: 100%;" v-model="user.addressId" :options="options" filterable></el-cascader>
</el-form-item> </el-form-item> -->
<el-form-item label="固定电话:" :rules="inputRequired"> <el-form-item label="公司地址:" prop="address" :rules="inputRequired">
<el-input v-model="user.nickname" placeholder="请输入"></el-input> <el-input v-model="user.address" placeholder="请输入"></el-input>
</el-form-item> </el-form-item>
</div> </div>
<div style="display: flex;justify-content: center;margin-top: 50px;"> <div style="display: flex;justify-content: center;margin-top: 50px;" v-if="canSubmit">
<el-button size="small" type="primary" @click="saveUser">保存</el-button> <el-button size="small" type="primary" @click="saveUser">保存</el-button>
<el-button size="small" @click="close">关闭</el-button> <!-- <el-button size="small" @click="close">关闭</el-button> -->
</div> </div>
@ -85,39 +93,125 @@ export default {
name: 'OrderDetail', name: 'OrderDetail',
data() { data() {
return { return {
canSubmit: true, //
isEdit: false, //
showNotice:false, //
activities: [ activities: [
{ status: '待完善', }, { status: '待完善', },
{ status: '信息待审核', }, { status: '信息审核', },
{ status: '审核通过', }, { status: '审核通过', },
], ],
options: [ options: [
{value: 'zhinan',label: '指南', children: [{value: 'shejiyuanze',label: '设计原则', {value: 'zhinan',label: '指南', children: [{value: 'shejiyuanze',label: '设计原则',
children: [{value: 'yizhi', label: '一致'}]}]}, children: [{value: 'yizhi', label: '一致'}]}]},
], ],
activeIndex:2, activeIndex:0, //
activeIndexFlag:1, activeIndexFlag:0, //
user: {}, user: {
business_license: "",
},
inputRequired: { required: true, message: '请输入', trigger: 'blur' }, inputRequired: { required: true, message: '请输入', trigger: 'blur' },
selectRequired: { required: true, message: '请选择', trigger: 'change' }, selectRequired: { required: true, message: '请选择', trigger: 'change' },
}; };
}, },
computed: { mounted() {
this.getEnterprise()
}, },
methods: { methods: {
handleAvatarChange(file) { handleAvatarChange(file) {
this.user.avatar = URL.createObjectURL(file.raw); this.util.imgToBase64(file.raw).then(base64 => {
console.log(base64);
this.post({
img_base64: base64
}, "/api/pbservice/Other/base64Upload").then(res=>{
this.user.business_license = res.data.url;
})
})
},
getEnterprise () {
this.post({},"/api/enterprise/index").then(res=>{
console.log(res)
//
if (!res.data) {
this.activeIndex = 0;
this.activeIndexFlag = 0;
this.canSubmit = true;
return
}
//
if (res.data.status == 0) {
this.activeIndex = 1;
this.activeIndexFlag = 1;
this.user = res.data;
this.canSubmit = false;
return
}
//
if (res.data.status == 1) {
this.activeIndex = 3;
this.activeIndexFlag = 3;
this.user = res.data;
this.canSubmit = false;
return
}
//
if (res.data.status == 2) {
this.activeIndex = 2;
this.activeIndexFlag = 2;
this.user = res.data;
this.canSubmit = true;
this.activities = [
{ status: '待完善', },
{ status: '信息审核中', },
{ status: '审核拒绝,请重新提交', },
];
if (res.data.reason) {
this.showNotice = true;
}
}
})
},
saveUser () {
this.$refs.userForm.validate((valid) => {
if (valid) {
let api = "/api/enterprise/edit";
if (!this.isEdit) {
api = "/api/enterprise/create";
delete this.user.id
delete this.user.status
delete this.user.reason
}
this.post(this.user, api).then(res => {
if (res.code == 1 || res.code == 200) {
this.$message.success(res.msg);
this.getEnterprise();
}
})
}
})
},
editUser () {
this.canSubmit = true;
this.isEdit = true;
}, },
} }
} }
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
.bg{ .bg{
display: flex; display: flex;
flex-direction: column; flex-direction: column;
font-size: 14px; font-size: 14px;
::v-deep .el-input.is-disabled .el-input__inner {
color: #606266;
}
} }
.common-card{ .common-card{
width: 100%; width: 100%;
@ -125,6 +219,18 @@ export default {
padding: 20px; padding: 20px;
box-shadow: 0 2px 12px 0 rgba(0, 0, 0, .1); box-shadow: 0 2px 12px 0 rgba(0, 0, 0, .1);
} }
.notice-bar {
background-color: #fffbe6;
border: 1px solid #ffe58f;
padding: 12px 16px;
border-radius: 4px;
margin-bottom: 20px;
display: flex;
justify-content: space-between;
align-items: center;
color: #fa8c16;
font-size: 14px;
}
.order-status { .order-status {
border-right: 1px solid #eee; border-right: 1px solid #eee;
width: 350px; width: 350px;

Loading…
Cancel
Save