|
|
@@ -18,7 +18,10 @@
|
|
|
|
|
|
<el-col :span="16">
|
|
|
<el-form-item label="供方名称" prop="SupplierName" >
|
|
|
- <el-input v-model="formData.SupplierName" maxlength="255" placeholder="请输入" style="width: 100%">
|
|
|
+ <el-autocomplete class="inline-input" v-model="formData.SupplierName" :readonly="companyReadonly" :fetch-suggestions="querySearch"
|
|
|
+ :maxlength="255" placeholder="请输入内容" style="width: 100%" @select="handleSelect" v-if="authUser.Profile.IsCompanyUser == 1">
|
|
|
+ </el-autocomplete>
|
|
|
+ <el-input v-model="formData.SupplierName" :maxlength="255" @change="inputCompanyName" :readonly="!canUpdateSupplier" placeholder="请输入" style="width: 100%" v-if="authUser.Profile.IsCompanyUser == 0">
|
|
|
</el-input>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
@@ -26,31 +29,32 @@
|
|
|
<el-col :span="8">
|
|
|
<el-form-item label="单位关系">
|
|
|
<el-select ref="SpecType" multiple v-model="UnitRelationAry" @change="unitRelationChange" filterable
|
|
|
- placeholder="请选择" style="width: 100%">
|
|
|
+ placeholder="请选择" style="width: 100%" :disabled="!canUpdateSupplier">
|
|
|
<el-option v-for="item in UnitRelationOptions" :key="item.Id" :label="item.Key"
|
|
|
:value="item.Value">
|
|
|
</el-option>
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
-
|
|
|
+ </el-row>
|
|
|
+ <el-row>
|
|
|
<el-col :span="8">
|
|
|
<el-form-item label="统一社会信用代码" prop="CommercialNo" >
|
|
|
- <el-input v-model="formData.CommercialNo" maxlength="50" placeholder="请输入" style="width: 100%">
|
|
|
+ <el-input v-model="formData.CommercialNo" maxlength="50" :readonly="!canUpdateSupplier" placeholder="请输入" style="width: 100%">
|
|
|
</el-input>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
|
|
|
<el-col :span="8">
|
|
|
<el-form-item label="税务登记证编号" prop="CountryTaxNo" >
|
|
|
- <el-input v-model="formData.CountryTaxNo" maxlength="50" placeholder="请输入" style="width: 100%">
|
|
|
+ <el-input v-model="formData.CountryTaxNo" maxlength="50" :readonly="!canUpdateSupplier" placeholder="请输入" style="width: 100%">
|
|
|
</el-input>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
|
|
|
<el-col :span="8">
|
|
|
<el-form-item label="组织机构代码" prop="OrganCode" >
|
|
|
- <el-input v-model="formData.OrganCode" maxlength="50" placeholder="请输入" style="width: 100%">
|
|
|
+ <el-input v-model="formData.OrganCode" maxlength="50" :readonly="!canUpdateSupplier" placeholder="请输入" style="width: 100%">
|
|
|
</el-input>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
@@ -65,11 +69,11 @@
|
|
|
<el-row>
|
|
|
<el-col :span="10">
|
|
|
<el-cascader :options="countryoptions" :props="countryprops" maxlength="20" placeholder="省市区"
|
|
|
- v-model="CityAry" style="width: 100%" @change="handleAreaChange">
|
|
|
+ v-model="CityAry" style="width: 100%" @change="handleAreaChange" :disabled="!canUpdateSupplier">
|
|
|
</el-cascader>
|
|
|
</el-col>
|
|
|
<el-col :span="14">
|
|
|
- <el-input v-model="formData.Address" maxlength="500" placeholder="详细地址" style="width: 100%">
|
|
|
+ <el-input v-model="formData.Address" maxlength="500" :readonly="!canUpdateSupplier" placeholder="详细地址" style="width: 100%">
|
|
|
</el-input>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
@@ -77,7 +81,7 @@
|
|
|
</el-col>
|
|
|
<el-col :span="8">
|
|
|
<el-form-item label="邮编" prop="ZipCode" >
|
|
|
- <el-input v-model="formData.ZipCode" maxlength="20" placeholder="请输入" style="width: 100%">
|
|
|
+ <el-input v-model="formData.ZipCode" :readonly="!canUpdateSupplier" maxlength="20" placeholder="请输入" style="width: 100%">
|
|
|
</el-input>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
@@ -87,11 +91,11 @@
|
|
|
<el-row>
|
|
|
<el-col :span="10">
|
|
|
<el-cascader :options="countryoptions" :props="countryprops" placeholder="省市区"
|
|
|
- v-model="LinkCityAry" maxlength="20" style="width: 100%" @change="handleLinkAreaChange">
|
|
|
+ v-model="LinkCityAry" :disabled="!canUpdateSupplier" maxlength="20" style="width: 100%" @change="handleLinkAreaChange">
|
|
|
</el-cascader>
|
|
|
</el-col>
|
|
|
<el-col :span="14">
|
|
|
- <el-input v-model="formData.LinkAddress" maxlength="500" placeholder="详细地址" style="width: 100%">
|
|
|
+ <el-input v-model="formData.LinkAddress" :readonly="!canUpdateSupplier" maxlength="500" placeholder="详细地址" style="width: 100%">
|
|
|
</el-input>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
@@ -99,7 +103,7 @@
|
|
|
</el-col>
|
|
|
<el-col :span="8">
|
|
|
<el-form-item label="邮编" prop="LinkZipCode" >
|
|
|
- <el-input v-model="formData.LinkZipCode" maxlength="20" placeholder="请输入" style="width: 100%">
|
|
|
+ <el-input v-model="formData.LinkZipCode" :readonly="!canUpdateSupplier" maxlength="20" placeholder="请输入" style="width: 100%">
|
|
|
</el-input>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
@@ -147,7 +151,7 @@
|
|
|
|
|
|
<el-col :span="8">
|
|
|
<el-form-item label="法定代表人姓名" prop="LegalPerson" >
|
|
|
- <el-input v-model="formData.LegalPerson" maxlength="20" placeholder="请输入" style="width: 100%">
|
|
|
+ <el-input v-model="formData.LegalPerson" :readonly="!canUpdateSupplier" maxlength="20" placeholder="请输入" style="width: 100%">
|
|
|
</el-input>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
@@ -155,7 +159,7 @@
|
|
|
<el-col :span="8">
|
|
|
<el-form-item label="公司类型" prop="CompanyType" >
|
|
|
<!--<el-input v-model="formData.CompanyType" placeholder="请输入" style="width: 100%"></el-input>-->
|
|
|
- <el-select v-model="formData.CompanyType" maxlength="50" filterable allow-create placeholder="请选择"
|
|
|
+ <el-select v-model="formData.CompanyType" :disabled="!canUpdateSupplier" maxlength="50" filterable allow-create placeholder="请选择"
|
|
|
style="width: 100%;">
|
|
|
<el-option v-for="item in CompanyTypeOptions" :key="item.Id" :label="item.Key" :value="item.Value"
|
|
|
style="width: 100%">
|
|
|
@@ -178,7 +182,7 @@
|
|
|
|
|
|
<el-col :span="8">
|
|
|
<el-form-item label="注册资本" prop="RegCapital" >
|
|
|
- <el-input type="number" v-model="formData.RegCapital" :min="1" placeholder="请输入" style="width: 100%">
|
|
|
+ <el-input type="number" :readonly="!canUpdateSupplier" v-model="formData.RegCapital" :min="1" placeholder="请输入" style="width: 100%">
|
|
|
<template slot="append">万元</template>
|
|
|
</el-input>
|
|
|
</el-form-item>
|
|
|
@@ -194,7 +198,7 @@
|
|
|
<el-form-item label="成立时间">
|
|
|
<!--<el-date v-model="formData.SetupTime" maxlength="50" type="date" placeholder="请输入"
|
|
|
style="width: 100%"> </el-date>-->
|
|
|
- <el-date-picker v-model="formData.SetupTime" type="date" format="yyyy 年 MM 月 dd 日"
|
|
|
+ <el-date-picker v-model="formData.SetupTime" :readonly="!canUpdateSupplier" type="date" format="yyyy 年 MM 月 dd 日"
|
|
|
value-format="yyyy-MM-dd" placeholder="选择日期" style="width: 100%">
|
|
|
</el-date-picker>
|
|
|
</el-form-item>
|
|
|
@@ -202,53 +206,53 @@
|
|
|
|
|
|
<el-col :span="8">
|
|
|
<el-form-item label="开户银行" prop="DepositBank" >
|
|
|
- <el-input v-model="formData.DepositBank" maxlength="50" placeholder="请输入" style="width: 100%">
|
|
|
+ <el-input v-model="formData.DepositBank" :readonly="!canUpdateSupplier" maxlength="50" placeholder="请输入" style="width: 100%">
|
|
|
</el-input>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
|
|
|
<el-col :span="8">
|
|
|
<el-form-item label="银行账号" prop="BankAccount" >
|
|
|
- <el-input v-model="formData.BankAccount" maxlength="50" placeholder="请输入" style="width: 100%">
|
|
|
+ <el-input v-model="formData.BankAccount" :readonly="!canUpdateSupplier" maxlength="50" placeholder="请输入" style="width: 100%">
|
|
|
</el-input>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
|
|
|
<el-col :span="8">
|
|
|
<el-form-item label="联系人姓名" prop="ContactName">
|
|
|
- <el-input v-model="formData.ContactName" maxlength="20" placeholder="请输入" style="width: 100%">
|
|
|
+ <el-input v-model="formData.ContactName" :readonly="!canUpdateSupplier" maxlength="20" placeholder="请输入" style="width: 100%">
|
|
|
</el-input>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
|
|
|
<el-col :span="8">
|
|
|
<el-form-item label="移动电话" prop="Mobile" >
|
|
|
- <el-input v-model="formData.Mobile" maxlength="20" placeholder="请输入" style="width: 100%"></el-input>
|
|
|
+ <el-input v-model="formData.Mobile" :readonly="!canUpdateSupplier" maxlength="20" placeholder="请输入" style="width: 100%"></el-input>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
|
|
|
<el-col :span="8">
|
|
|
<el-form-item label="固定电话" prop="Telphone" >
|
|
|
- <el-input v-model="formData.Telphone" maxlength="20" placeholder="请输入" style="width: 100%">
|
|
|
+ <el-input v-model="formData.Telphone" :readonly="!canUpdateSupplier" maxlength="20" placeholder="请输入" style="width: 100%">
|
|
|
</el-input>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
|
|
|
<el-col :span="8">
|
|
|
<el-form-item label="传真" prop="Fax" >
|
|
|
- <el-input v-model="formData.Fax" maxlength="20" placeholder="请输入" style="width: 100%"></el-input>
|
|
|
+ <el-input v-model="formData.Fax" :readonly="!canUpdateSupplier" maxlength="20" placeholder="请输入" style="width: 100%"></el-input>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
|
|
|
<el-col :span="8">
|
|
|
<el-form-item label="财务电话" prop="CompanyTel" >
|
|
|
- <el-input v-model="formData.CompanyTel" placeholder="请输入" maxlength="20" style="width: 100%">
|
|
|
+ <el-input v-model="formData.CompanyTel" :readonly="!canUpdateSupplier" placeholder="请输入" maxlength="20" style="width: 100%">
|
|
|
</el-input>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="8">
|
|
|
<el-form-item label="电子邮箱" prop="EMail" >
|
|
|
- <el-input v-model="formData.EMail" maxlength="50" placeholder="请输入" style="width: 100%"></el-input>
|
|
|
+ <el-input v-model="formData.EMail" :readonly="!canUpdateSupplier" maxlength="50" placeholder="请输入" style="width: 100%"></el-input>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
|
|
|
@@ -260,7 +264,7 @@
|
|
|
|
|
|
<el-col :span="8">
|
|
|
<el-form-item label="银行信用等级">
|
|
|
- <el-input v-model="formData.BankCreditRating" maxlength="10" placeholder="请输入" style="width: 100%">
|
|
|
+ <el-input v-model="formData.BankCreditRating" :readonly="!canUpdateSupplier" maxlength="10" placeholder="请输入" style="width: 100%">
|
|
|
</el-input>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
@@ -274,7 +278,7 @@
|
|
|
<el-col :span="8">
|
|
|
<el-form-item label="HSE审查培训">
|
|
|
<!--<el-input v-model="formData.HseTraining" placeholder="请输入" style="width: 100%"></el-input>-->
|
|
|
- <el-select v-model="formData.HseTraining" placeholder="请选择" style="width: 100%;">
|
|
|
+ <el-select v-model="formData.HseTraining" placeholder="请选择" style="width: 100%;" :disabled="!canUpdateSupplier">
|
|
|
<el-option v-for="item in HSEOptions" :key="item.value" :label="item.label" :value="item.value"
|
|
|
style="width: 100%">
|
|
|
</el-option>
|
|
|
@@ -351,14 +355,23 @@
|
|
|
type: Object,
|
|
|
default: null
|
|
|
},
|
|
|
+ authUser: {
|
|
|
+ type: Object,
|
|
|
+ default: null
|
|
|
+ },
|
|
|
disabled: {
|
|
|
type: Boolean,
|
|
|
default: false
|
|
|
},
|
|
|
+ canUpdateSupplier: {
|
|
|
+ type: Boolean,
|
|
|
+ default: true
|
|
|
+ },
|
|
|
},
|
|
|
-
|
|
|
data () {
|
|
|
return {
|
|
|
+ companyReadonly: false,
|
|
|
+ companynames: [],
|
|
|
UnitRelationOptions: [],
|
|
|
CompanyTypeOptions: [],
|
|
|
UnitRelationAry: [],
|
|
|
@@ -511,6 +524,7 @@
|
|
|
},
|
|
|
}
|
|
|
},
|
|
|
+
|
|
|
created () {
|
|
|
},
|
|
|
watch: {
|
|
|
@@ -527,6 +541,17 @@
|
|
|
this.UnitRelationOptions = this.dictData['UnitRelation']
|
|
|
this.getCityList(this.dictData['GaodeMapChinaAreas'])
|
|
|
this.CompanyTypeOptions = this.dictData['CompanyType']
|
|
|
+ let suppliers = this.dictData['CompanyNames']
|
|
|
+ for (let idx in suppliers) {
|
|
|
+ suppliers[idx]['value'] = suppliers[idx].SupplierName
|
|
|
+ this.companynames.push(suppliers[idx])
|
|
|
+ }
|
|
|
+ if (this.authUser && this.authUser.Profile.IsCompanyUser === 1 && this.companynames.length > 0) {
|
|
|
+ if (!this.formData.Id) {
|
|
|
+ this.formData.SupplierName = ''
|
|
|
+ }
|
|
|
+ this.companyReadonly = true
|
|
|
+ }
|
|
|
}
|
|
|
},
|
|
|
getCityList (val) {
|
|
|
@@ -544,7 +569,7 @@
|
|
|
this.formData.Street = value[2]
|
|
|
//this.formData.ZipCode = value[2]
|
|
|
},
|
|
|
- handleLinkAreaChange(value) {
|
|
|
+ handleLinkAreaChange (value) {
|
|
|
this.formData.LinkProvince = value[0]
|
|
|
this.formData.LinkCity = value[1]
|
|
|
this.formData.LinkStreet = value[2]
|
|
|
@@ -561,7 +586,26 @@
|
|
|
var minute = date.getMinutes();
|
|
|
minute = minute < 10 ? ('0' + minute) : minute;
|
|
|
return y + '-' + m + '-' + d + ' ' + h + ':' + minute;
|
|
|
+ },
|
|
|
+
|
|
|
+ /** ----------------------- */
|
|
|
+ querySearch (queryString, cb) {
|
|
|
+ var results = queryString ? this.companynames.filter(this.createFilter(queryString)) : this.companynames
|
|
|
+ // 调用 callback 返回建议列表的数据
|
|
|
+ cb(results)
|
|
|
+ },
|
|
|
+ createFilter (queryString) {
|
|
|
+ return (restaurant) => {
|
|
|
+ return (restaurant.value.toLowerCase().indexOf(queryString.toLowerCase()) === 0)
|
|
|
+ }
|
|
|
+ },
|
|
|
+ handleSelect (item) {
|
|
|
+ this.$emit('selectcompany', item)
|
|
|
+ },
|
|
|
+ inputCompanyName (val) {
|
|
|
+ this.$emit('inputcompany', val)
|
|
|
}
|
|
|
+
|
|
|
}
|
|
|
}
|
|
|
|