2
3
Эх сурвалжийг харах

Merge branch 'develop' of http://code.dashoo.cn/dashoo/supplier_system into develop

dubch 4 жил өмнө
parent
commit
e79aac4435

+ 8 - 8
src/dashoo.cn/backend/api/controllers/oilsupplier/supplier.go

@@ -1707,13 +1707,13 @@ func (this *OilSupplierController) UpdateEntity() {
 		if err1 == nil {
 			var user userRole.Base_User
 			user.Realname = model.SupplierName
-			svc.UpdateEntityBywheretbl("Base_User", &user, []string{"Realname"}, "Id = " + strconv.Itoa(info.UserId))
+			svc.UpdateEntityBywheretbl("Base_User", &user, []string{"Realname"}, "Id = "+strconv.Itoa(info.UserId))
 		}
 	}
 
 	svc1 := suppliercert.GetOilSupplierCertService(utils.DBE)
 	var cert suppliercert.OilSupplierCert
-	svc1.GetEntityByWhere(OilSupplierCertName, "SupplierId = " + id + " and SupplierTypeCode='" + typeCode + "'", &cert)
+	svc1.GetEntityByWhere(OilSupplierCertName, "SupplierId = "+id+" and SupplierTypeCode='"+typeCode+"'", &cert)
 	//对资质的检查
 	//svc1.IsSupplierCertCanSubmit(strconv.Itoa(model.Id), strconv.Itoa(cert.Id))
 	type1 := 0
@@ -2519,8 +2519,8 @@ func (this *OilSupplierController) CheckSupplierFile() {
 	supplierService.GetEntityById(file.SupplierId, &supplierEntity)
 	//获取准入信息表
 	var supplierCertEntity []suppliercert.OilSupplierCert
-	supplierService.GetEntitysByWhere("OilSupplierCert", "SupplierId = " + strconv.Itoa(file.SupplierId), &supplierCertEntity)
-	for _,cert := range supplierCertEntity {
+	supplierService.GetEntitysByWhere("OilSupplierCert", "SupplierId = "+strconv.Itoa(file.SupplierId), &supplierCertEntity)
+	for _, cert := range supplierCertEntity {
 		if cert.SupplierTypeCode == "01" {
 			//对准入范围的判断
 			var certSubList []suppliercertsub.OilSupplierCertSub
@@ -2553,7 +2553,7 @@ func (this *OilSupplierController) CheckSupplierFile() {
 				}
 
 				for _, needHeader := range needList {
-					if ( supplierEntity.CredentialFlag == "1" ||  supplierEntity.CredentialFlag == "2") &&
+					if (supplierEntity.CredentialFlag == "1" || supplierEntity.CredentialFlag == "2") &&
 						strings.Contains(mergerCertSkipField, needHeader.FileName+",") {
 						//三证合一或五证合一的证件,不需要验证了
 						continue
@@ -2563,9 +2563,9 @@ func (this *OilSupplierController) CheckSupplierFile() {
 					filesvc.GetEntityByWhere("OilSupplierFile", where1, &fileist1)
 
 					var filelist2 suppliercertappendsub.OilAppendChangeDetail
-					where2 := " SupplierId = '" + strconv.Itoa(file.SupplierId) + "' and NeedFileType = '" +needHeader.FileName + "'"
-					svc2 := suppliercertappendsub.GetOilSupplierCertAppendSubService (utils.DBE)
-					svc2.GetEntityByWhere("OilAppendChangeDetail", where2, &filelist2)
+					where2 := " SupplierId = '" + strconv.Itoa(file.SupplierId) + "' and NeedFileType = '" + needHeader.FileName + "'"
+					svc2 := suppliercertappendsub.GetOilSupplierCertAppendSubService(utils.DBE)
+					svc2.GetEntityByWhere("OilQualChangeDetail", where2, &filelist2)
 
 					if !strings.Contains(companyHasHeaders, needHeader.FileName+",") {
 						errinfo.Message = "请上传!" + needHeader.FileName + "!"

+ 13 - 0
src/dashoo.cn/frontend_web/src/api/oilsupplier/supplier.js

@@ -205,5 +205,18 @@ export default {
       url: '/supplier/getBankAccount?bankAccount=' + bankAccount + '&supId=' + supId,
       method: 'GET'
     })
+  },
+  /**
+   * 供应商类型变更后,检查对应资质是否缺少
+   * @param fileType
+   * @param myAxios
+   * @returns {*}
+   */
+  checkCertFileForSupTypeChange (fileType, myAxios) {
+    return myAxios({
+      url: '/supplier/checkSupplierFile',
+      method: 'post',
+      data: fileType
+    })
   }
 }

+ 110 - 51
src/dashoo.cn/frontend_web/src/pages/oilsupplier/infochangech/_opera/auditoperation.vue

@@ -25,7 +25,7 @@
       </div>
       <el-tabs tab-position="top" v-model="activeName" style="margin-top: -10px">
         <el-tab-pane label="企业信息">
-          <el-form label-width="135px" ref="formData" :model="formData">
+          <el-form class="formDataInfo" label-width="135px" ref="formData" :model="formData">
             <el-row>
 
               <el-col :span="16">
@@ -55,40 +55,38 @@
               <el-col :span="8">
                 <el-form-item label="单位关系">
                   <el-select ref="SpecType" v-model="formData.SpecTypeCode"
-                    :class="changedForm['SpecTypeCode'] ? 'modified-form-input' : ''" :readonly="true" placeholder="请选择"
+                    :class="changedForm['SpecTypeCode'] ? 'modified-form-input' : ''" :disabled="true" placeholder="请选择"
                     style="width: 100%">
                     <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-col :span="8">
-                <el-form-item label="国家" prop="Country">
-                  <el-select v-model="formData.Country" filterable placeholder="请选择" :readonly="true"
-                    style="width: 100%" :class="changedForm['Country'] ? 'modified-form-input' : ''">
-                    <el-option v-for="item in countryListOptions" :key="item.key" :label="item.value"
-                      :value="item.value">
-                      <span style="float: left">{{ item.value }}</span>
-                      <span style="float: right; color: #8492a6; font-size: 13px">{{ item.label }}</span>
+              <el-col :span="8" v-if="accessedType.includes('01')">
+                <el-form-item label="供应商类型" prop="OperType">
+                  <el-select ref="OperType"
+                             v-model="formData.OperType"
+                             :disabled="true"
+                             placeholder="请选择"
+                             style="width: 100%">
+                    <el-option v-for="item in OperTypeOptions"
+                               :key="item.Id"
+                               :label="item.Key"
+                               :value="item.Key">
                     </el-option>
                   </el-select>
                 </el-form-item>
               </el-col>
-
-              <!-- <el-col :span="8">
-              <el-form-item label="准入方式">
-                <el-select ref="inStyle" v-model="formData.InStyle" :disabled="true" placeholder="请选择"
-                  :class="getchange('InStyle') ? 'modified-form-input' : ''" style="width: 100%">
-                  <el-option v-for="item in InOptions" :key="item.Id" :label="item.Key" :value="item.Value">
-                  </el-option>
-                </el-select>
-              </el-form-item>
-            </el-col> -->
-
-              <el-col :span="8">
-                <el-form-item label="级别" prop="Gradechange">
-                  <el-select v-model="formData.Grade" :readonly="true"
+              <el-col :span="8" v-if="accessedType.includes('01')">
+                <el-form-item label="中石油准入证编号">
+                  <el-input v-model="formData.PACNumber" maxlength="255" :readonly="true" placeholder="请输入"
+                            :class="changedForm['PACNumber'] ? 'modified-form-input' : ''" style="width: 100%">
+                  </el-input>
+                </el-form-item>
+              </el-col>
+              <el-col :span="8" v-if="accessedType.includes('01')">
+                <el-form-item label="级别" prop="Gradechange" v-if="accessedType.includes('01')">
+                  <el-select v-model="formData.Grade" :disabled="true"
                              placeholder="请选择级别"
                              :class="changedForm['Grade'] ? 'modified-form-input' : ''"
                              style="width: 100%">
@@ -102,30 +100,41 @@
                 </el-form-item>
               </el-col>
 
-              <el-col :span="8">
+              <el-col :span="8" v-if="accessedType.includes('01')">
                 <el-form-item label="管理单位">
-                  <el-select filterable v-model="formData.MgrUnit" maxlength="255" :readonly="true"
-                    :class="changedForm['MgrUnit'] ? 'modified-form-input' : ''" placeholder="请输入" style="width: 100%">
+                  <el-select filterable v-model="formData.MgrUnit" maxlength="255" :disabled="true"
+                             :class="changedForm['MgrUnit'] ? 'modified-form-input' : ''" placeholder="请输入" style="width: 100%">
                     <el-option v-for="item in ManagementUnitOptions" :key="item.Value" :label="item.Key"
-                      :value="item.Key">
+                               :value="item.Key">
                     </el-option>
                   </el-select>
                 </el-form-item>
               </el-col>
-
               <el-col :span="8">
-                <el-form-item label="中石油准入证编号">
-                  <el-input v-model="formData.PACNumber" maxlength="255" :readonly="true" placeholder="请输入"
-                    :class="changedForm['PACNumber'] ? 'modified-form-input' : ''" style="width: 100%">
-                  </el-input>
+                <el-form-item label="国家" prop="Country">
+                  <el-select v-model="formData.Country" filterable placeholder="请选择" :disabled="true"
+                    style="width: 100%" :class="changedForm['Country'] ? 'modified-form-input' : ''">
+                    <el-option v-for="item in countryListOptions" :key="item.key" :label="item.value"
+                      :value="item.value">
+                      <span style="float: left">{{ item.value }}</span>
+                      <span style="float: right; color: #8492a6; font-size: 13px">{{ item.label }}</span>
+                    </el-option>
+                  </el-select>
                 </el-form-item>
               </el-col>
 
-
-
+              <!-- <el-col :span="8">
+              <el-form-item label="准入方式">
+                <el-select ref="inStyle" v-model="formData.InStyle" :disabled="true" placeholder="请选择"
+                  :class="getchange('InStyle') ? 'modified-form-input' : ''" style="width: 100%">
+                  <el-option v-for="item in InOptions" :key="item.Id" :label="item.Key" :value="item.Value">
+                  </el-option>
+                </el-select>
+              </el-form-item>
+            </el-col> -->
               <el-col :span="8">
-                <el-form-item label="证件合一">
-                  <el-select v-model="formData.CredentialFlag" placeholder="请选择" :readonly="true" style="width: 100%"
+                <el-form-item label="证件类型">
+                  <el-select v-model="formData.CredentialFlag" placeholder="请选择" :disabled="true" style="width: 100%"
                     :class="changedForm['CredentialFlag'] ? 'modified-form-input' : ''">
                     <el-option v-for="item in selectoptions" :key="item.value" :label="item.label" :value="item.value">
                     </el-option>
@@ -142,8 +151,6 @@
                 </el-form-item>
               </el-col>
 
-
-
               <el-col :span="8">
                 <el-form-item label="税务登记证编号" prop="CountryTaxNo" v-if="showorhidflag=='show'">
                   <el-input v-model="formData.CountryTaxNo" maxlength="50" :readonly="true"
@@ -167,7 +174,7 @@
                   <el-row>
                     <el-col :span="10">
                       <el-cascader :options="countryoptions" :props="countryprops" maxlength="20" filterable
-                        :class="changedForm['Province'] || changedForm['City'] || changedForm['Street'] ? 'modified-form-input' : ''" :readonly="true" placeholder="省市区"
+                        :class="changedForm['Province'] || changedForm['City'] || changedForm['Street'] ? 'modified-form-input' : ''" :disabled="true" placeholder="省市区"
                         v-model="CityAry" style="width: 100%">
                       </el-cascader>
                     </el-col>
@@ -191,7 +198,7 @@
                 <el-form-item label="通信地址" prop="LinkProvince">
                   <el-row>
                     <el-col :span="10">
-                      <el-cascader :options="countryoptions" :props="countryprops" :readonly="true" filterable
+                      <el-cascader :options="countryoptions" :props="countryprops" :disabled="true" filterable
                         :class="changedForm['LinkProvince'] || changedForm['LinkCity'] || changedForm['LinkStreet'] ? 'modified-form-input' : ''" placeholder="省市区"
                         v-model="LinkCityAry" maxlength="20" style="width: 100%">
                       </el-cascader>
@@ -226,7 +233,7 @@
                 <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
-                    :class="changedForm['CompanyType'] ? 'modified-form-input' : ''" :readonly="true" placeholder="请选择"
+                    :class="changedForm['CompanyType'] ? 'modified-form-input' : ''" :disabled="true" placeholder="请选择"
                     style="width: 100%;">
                     <el-option v-for="item in CompanyTypeOptions" :key="item.Id" :label="item.Key" :value="item.Value"
                       style="width: 100%">
@@ -343,9 +350,16 @@
               </el-col>
 
             </el-row>
+            <el-row v-if="accessedType.includes('02')">
+              <el-col :span="8">
+                <el-form-item label="进津备案通知书">
+                  <el-input v-model="formData.TjinNotify"  :readonly="true" placeholder="请输入" style="width: 100%"></el-input>
+                </el-form-item>
+              </el-col>
+            </el-row>
           </el-form>
 
-          <el-form label-position="top" ref="EntityFormCert" :model="formData">
+          <el-form class="formDataInfo" label-position="top" ref="EntityFormCert" :model="formData">
             <el-row :gutter="60">
               <el-col :span="8">
                 <el-form-item label="质量管理体系认证情况及认证机构">
@@ -353,20 +367,27 @@
                     type="textarea" :class="changedForm['QualitySystemCert'] ? 'modified-form-input' : ''" style="width: 100%"></el-input>
                 </el-form-item>
               </el-col>
-              <el-col :span="8">
+              <el-col :span="8" v-if="accessedType.includes('01')">
                 <el-form-item label="产品质量认证情况及认证机构">
                   <el-input v-model="formData.ProductQualityCert" :readonly="true" placeholder="请输入" maxlength="200"
                     type="textarea" :class="changedForm['ProductQualityCert']  ? 'modified-form-input' : ''">
                   </el-input>
                 </el-form-item>
               </el-col>
-              <el-col :span="8">
+              <el-col :span="8" v-if="!accessedType.includes('01')">
+                <el-form-item label="企业资质证书(编号  级别)">
+                  <el-input v-model="formData.QualifCert" :readonly="this.formData.Status > '0'" placeholder="请输入" maxlength="200" type="textarea"
+                            style="width: 100%">
+                  </el-input>
+                </el-form-item>
+              </el-col>
+              <el-col :span="8" v-if="!accessedType.includes('01')">
                 <el-form-item label="生产/制造许可证获证情况及编号">
                   <el-input v-model="formData.MaunLicense" :readonly="true" placeholder="请输入" maxlength="200"
                     type="textarea" :class="changedForm['MaunLicense']  ? 'modified-form-input' : ''"></el-input>
                 </el-form-item>
               </el-col>
-              <el-col :span="8">
+              <el-col :span="8" v-if="accessedType.includes('01')">
                 <el-form-item label="所代理制造商名称">
                   <el-input v-model="formData.MaunAgent" :readonly="true" maxlength="255" placeholder="请输入"
                     type="textarea" :class="changedForm['MaunAgent']  ? 'modified-form-input' : ''">
@@ -414,7 +435,7 @@
 
           </el-form>
         </el-tab-pane>
-        <el-tab-pane label="物资类">
+        <el-tab-pane label="物资类" v-if="accessedType.includes('01')">
           <el-card class="box-card" style="margin-top: 10px;">
             <div slot="header" class="clearfix">
               <span style="font-weight: bold">企业资质</span>
@@ -514,7 +535,7 @@
             </el-pagination>
           </el-card>
         </el-tab-pane>
-        <el-tab-pane label="基建类">
+        <el-tab-pane label="基建类" v-if="accessedType.includes('02')">
           <el-card class="box-card" style="margin-top: 10px;">
             <div slot="header" class="clearfix">
               <span style="font-weight: bold">企业资质</span>
@@ -614,7 +635,7 @@
             </el-pagination>
           </el-card>
         </el-tab-pane>
-        <el-tab-pane label="服务类">
+        <el-tab-pane label="服务类" v-if="accessedType.includes('03')">
           <el-card class="box-card" style="margin-top: 10px;">
             <div slot="header" class="clearfix">
               <span style="font-weight: bold">企业资质</span>
@@ -863,6 +884,8 @@
     },
     data () {
       return {
+        OperTypeOptions: [],
+        accessedType: [], // 已准入的类别:物资类、服务类、基建类
         firOptions: [],
         btnloading: false,
         sizeProject: 10,
@@ -1078,7 +1101,7 @@
           QualifCertLevel: '',
           SafetyLicense: '',
           TechServiceLic: '',
-          TJInNotify: '',
+          TjinNotify: '',
           SpecIndustryCert: '',
           LegalPerson: '',
           CategoryCode: '',
@@ -1162,6 +1185,7 @@
       this.serviceId = this.$route.params.opera
       this.InfoStatus = this.$route.query.InfoStatus
       this.infoId = this.serviceId
+      this.getAccessedType()
       this.initDatas()
       this.auditget()
       this.getDictOptions()
@@ -1172,6 +1196,18 @@
       this.getAccessCardNo()
     },
     methods: {
+      getAccessedType () {
+        if (this.SuppId > 0) {
+          api.GetAccessedType(this.SuppId, this.$axios)
+            .then(res => {
+              console.log('已准入的类别', res.data)
+              this.accessedType = res.data
+            })
+            .catch(err => {
+              console.error(err)
+            })
+        }
+      },
       InfoStatusBool () {
         if (this.InfoStatus === '10' || this.InfoStatus === '-10' || this.InfoStatus === '-1' ||
           this.InfoStatus === '-2' || this.InfoStatus === '-5') {
@@ -1764,6 +1800,7 @@
           this.dictData = res.data.items
           this.ManagementUnitOptions = this.dictData['ManagementUnit']
           this.UnitRelationOptions = this.dictData['UnitRelation']
+          this.OperTypeOptions = this.dictData['OperType']
           this.InOptions = this.dictData['InOptions']
           this.CompanyTypeOptions = this.dictData['CompanyType']
           this.getCityList(this.dictData['GaodeMapChinaAreas'])
@@ -1950,4 +1987,26 @@
     width:140px;
     height: 60px;
   }
+  .formDataInfo .el-input__inner[readonly]{
+    border-color:#DCDFE6;
+  }
+  .formDataInfo .el-input__inner[readonly]:focus{
+    border-color:#DCDFE6;
+  }
+  .formDataInfo .el-textarea__inner[readonly]{
+    border-color:#DCDFE6;
+  }
+  .formDataInfo .el-textarea__inner[readonly]:focus{
+    border-color:#DCDFE6;
+  }
+  .formDataInfo .el-input__inner[disabled]{
+    color:black;
+    opacity: 1;
+    background-color: white;
+  }
+  .formDataInfo .el-textarea__inner[disabled]{
+    color:black;
+    opacity: 1;
+    background-color: white;
+  }
 </style>

+ 92 - 16
src/dashoo.cn/frontend_web/src/pages/oilsupplier/infochangech/_opera/operation.vue

@@ -13,7 +13,7 @@
         <span style="float: right;">
           <el-button type="primary" size="mini" style="margin-left: 8px" @click="itemsshow">查看变更项</el-button>
           <el-button type="primary" size="mini" style="margin-left: 8px" @click="auhistory">审批流程</el-button>
-          <el-button type="primary" size="mini" style="margin-left: 8px"
+          <el-button type="primary" size="mini" style="margin-left: 8px" :loading="saveLoading"
             v-if="(InfoStatus == '' || InfoStatus <= 0) && !butnab" @click="saveinfochange">保存
           </el-button>
           <!-- <el-button type="primary" size="mini" style="margin-left: 8px" @click="auhistory">审批历史</el-button> -->
@@ -76,8 +76,22 @@
                   </el-select>
                 </el-form-item>
               </el-col> -->
-
-              <el-col :span="8">
+              <el-col :span="8" v-if="accessedType.includes('01')">
+                <el-form-item label="供应商类型" prop="OperType">
+                  <el-select ref="OperType"
+                             v-model="formData.OperType"
+                             :disabled="InfoStatus > 0"
+                             placeholder="请选择"
+                             style="width: 100%">
+                    <el-option v-for="item in OperTypeOptions"
+                               :key="item.Id"
+                               :label="item.Key"
+                               :value="item.Key">
+                    </el-option>
+                  </el-select>
+                </el-form-item>
+              </el-col>
+              <el-col :span="8" v-if="accessedType.includes('01')">
                 <el-form-item label="中石油准入证编号">
                   <el-input v-model="formData.PACNumber" maxlength="255" placeholder="请输入" :readonly="InfoStatus > 0 || butnab"
                             :class="changedForm['PACNumber'] ? 'modified-form-input' : ''" style="width: 100%">
@@ -85,7 +99,7 @@
                 </el-form-item>
               </el-col>
 
-              <el-col :span="8">
+              <el-col :span="8" v-if="accessedType.includes('01')">
                 <el-form-item label="级别" prop="Gradechange">
                   <el-select v-model="formData.Grade"
                              placeholder="请选择级别"
@@ -102,7 +116,7 @@
                 </el-form-item>
               </el-col>
 
-              <el-col :span="8">
+              <el-col :span="8" v-if="accessedType.includes('01')">
                 <el-form-item label="管理单位">
                   <el-select filterable clearable v-model="formData.MgrUnit" maxlength="255" :disabled="InfoStatus > 0 || butnab"
                     :class="changedForm['MgrUnit'] ? 'modified-form-input' : ''" placeholder="请输入" style="width: 100%">
@@ -138,7 +152,7 @@
 
               <el-col :span="8">
                 <el-form-item label="统一社会信用代码" prop="CommercialNo">
-                  <el-input v-model="formData.CommercialNo" maxlength="50" :readonly="true"
+                  <el-input v-model="formData.CommercialNo" maxlength="50" :disabled="true"
                     :class="changedForm['CommercialNo'] ? 'modified-form-input' : ''" placeholder="请输入"
                     style="width: 100%">
                   </el-input>
@@ -339,6 +353,13 @@
               </el-col>
 
             </el-row>
+            <el-row v-if="accessedType.includes('02')">
+              <el-col :span="8">
+                <el-form-item label="进津备案通知书">
+                  <el-input v-model="formData.TjinNotify"  :readonly="InfoStatus > '0'" placeholder="请输入" style="width: 100%"></el-input>
+                </el-form-item>
+              </el-col>
+            </el-row>
           </el-form>
 
           <el-form label-position="top" ref="EntityFormCert" :rules="rulesform" :model="formData" :disabled="disabled">
@@ -350,20 +371,27 @@
                   </el-input>
                 </el-form-item>
               </el-col>
-              <el-col :span="8">
+              <el-col :span="8" v-if="accessedType.includes('01')">
                 <el-form-item label="产品质量认证情况及认证机构">
                   <el-input v-model="formData.ProductQualityCert" placeholder="请输入" maxlength="200" type="textarea" :readonly="InfoStatus > 0 || butnab"
                     :class="changedForm['ProductQualityCert'] ? 'modified-form-input' : ''">
                   </el-input>
                 </el-form-item>
               </el-col>
-              <el-col :span="8">
+              <el-col :span="8" v-if="!accessedType.includes('01')">
+                <el-form-item label="企业资质证书(编号  级别)">
+                  <el-input v-model="formData.QualifCert" :readonly="this.formData.Status > '0'" placeholder="请输入" maxlength="200" type="textarea"
+                            style="width: 100%">
+                  </el-input>
+                </el-form-item>
+              </el-col>
+              <el-col :span="8" v-if="accessedType.includes('01')">
                 <el-form-item label="生产/制造许可证获证情况及编号">
                   <el-input v-model="formData.MaunLicense" placeholder="请输入" maxlength="200" type="textarea" :readonly="InfoStatus > 0 || butnab"
                     :class="changedForm['MaunLicense'] ? 'modified-form-input' : ''"></el-input>
                 </el-form-item>
               </el-col>
-              <el-col :span="8">
+              <el-col :span="8" v-if="accessedType.includes('01')">
                 <el-form-item label="所代理制造商名称">
                   <el-input v-model="formData.MaunAgent" maxlength="255" placeholder="请输入" type="textarea" :readonly="InfoStatus > 0 || butnab"
                     :class="changedForm['MaunAgent'] ? 'modified-form-input' : ''">
@@ -372,6 +400,7 @@
               </el-col>
 
               <el-col :span="8">
+                <!-- 这证书在准入时三类别都没要,这里突然有,保留 -->
                 <el-form-item label="中石油物资供应商证书">
                   <el-input v-model="formData.SupplierCertificate" maxlength="255" placeholder="请输入" type="textarea" style="width: 100%" :readonly="InfoStatus > 0 || butnab"
                     :class="changedForm['SupplierCertificate'] ? 'modified-form-input' : ''">
@@ -411,7 +440,7 @@
 
           </el-form>
         </el-tab-pane>
-        <el-tab-pane label="物资类">
+        <el-tab-pane label="物资类" v-if="accessedType.includes('01')">
           <!-- <el-card class="box-card">
             <el-form :model="formData">
               <el-col :span="8">
@@ -543,7 +572,7 @@
           </el-card>
         </el-tab-pane>
 
-        <el-tab-pane label="基建类">
+        <el-tab-pane label="基建类" v-if="accessedType.includes('02')">
           <el-card class="box-card" style="margin-top: 10px;">
             <div slot="header" class="clearfix">
               <span style="font-weight: bold">企业资质</span>
@@ -652,7 +681,7 @@
             </el-table>
           </el-card>
         </el-tab-pane>
-        <el-tab-pane label="服务类">
+        <el-tab-pane label="服务类" v-if="accessedType.includes('03')">
           <el-card class="box-card" style="margin-top: 10px;">
             <div slot="header" class="clearfix">
               <span style="font-weight: bold">企业资质</span>
@@ -1081,6 +1110,10 @@
         }
       }
       return {
+        saveLoading: false,
+        OperTypeCopy: '',
+        OperTypeOptions: [],
+        accessedType: [], // 已准入的类别:物资类、服务类、基建类
         firOptions: [],
         btnloading: false,
         lineheightpx: '23',
@@ -1531,6 +1564,7 @@
       this.MInfoId = this.$route.query.infoId + ''
       this.backhistroy.certId = this.MInfoId
       this.formData.Id = this.serviceId
+      this.getAccessedType()
       this.initDatas()
       this.getDictOptions()
       // this.getbusList1()
@@ -1544,6 +1578,17 @@
       // this.getAccessCardNo()
     },
     methods: {
+      getAccessedType () {
+        if (this.supplierId > 0) {
+          api.GetAccessedType(this.supplierId, this.$axios)
+            .then(res => {
+              this.accessedType = res.data
+            })
+            .catch(err => {
+              console.error(err)
+            })
+        }
+      },
       lineheight (list) {
         return list * 23 + ''
       },
@@ -1705,6 +1750,7 @@
             .then(res => {
               this.copyformdata = _.cloneDeep(res.data[0])
               this.formData = res.data[1]
+              this.OperTypeCopy = this.formData.OperType
               this.Grade = this.formData.Grade
               this.CityAry = []
               this.CityAry.push(this.formData.Province)
@@ -2472,8 +2518,9 @@
           this.dictData = res.data.items
           this.ManagementUnitOptions = this.dictData['ManagementUnit']
           this.UnitRelationOptions = this.dictData['UnitRelation']
+          this.OperTypeOptions = this.dictData['OperType']
           if (this.formData.SpecTypeCode == '') {
-            this.formData.SpecTypeCode = "1"
+            this.formData.SpecTypeCode = '1'
           }
           this.InOptions = this.dictData['InOptions']
           this.CompanyTypeOptions = this.dictData['CompanyType']
@@ -2512,6 +2559,7 @@
       },
       // 保存信息变更数据
       saveinfochange (val) {
+        this.saveLoading = true
         let v1 = false
         let v2 = false
         this.$refs['formData'].validate((valid) => {
@@ -2531,12 +2579,32 @@
                 type: 'warning',
                 message: '该银行账号与其他公司重复'
               })
+              this.saveLoading = false
             } else {
-              this.addInfoChangeItemCh(val)
+              // 供应商类型变更时检查是否缺少资质
+              let fileType = {
+                Type: this.formData.OperType === '制造商' ? 1 : 2,
+                SupplierId: this.formData.Id
+              }
+              supplierapi.checkCertFileForSupTypeChange(fileType, this.$axios).then(res => {
+                if (res.data.code === 1) {
+                  this.addInfoChangeItemCh(val)
+                } else {
+                  this.$message({
+                    type: 'warning',
+                    message: res.data.message
+                  })
+                  this.saveLoading = false
+                  return false
+                }
+              })
             }
           }).catch(err => {
+            this.saveLoading = false
             console.error(err)
           })
+        } else {
+          this.saveLoading = false
         }
       },
       addInfoChangeItemCh (val) {
@@ -2554,14 +2622,21 @@
                 type: 'success',
                 message: res.data.message
               })
+            } else {
+              // val等于1 说明是提交时保存,保存通过后再弹框
+              this.getFirAuditerByDept()
+              this.commitshow = true
             }
+            this.saveLoading = false
           } else {
             this.$message({
               type: 'warning',
               message: res.data.message
             })
+            this.saveLoading = false
           }
         }).catch(err => {
+          this.saveLoading = false
           console.error(err)
         })
       },
@@ -2634,10 +2709,11 @@
           console.error(err)
         })
       },
+      // 二级分办单位替企业申请:
       separateUnitSubmitApplyBtn () {
         this.saveinfochange(1)
-        this.getFirAuditerByDept()
-        this.commitshow = true
+        // this.getFirAuditerByDept()
+        // this.commitshow = true
       },
       // 二级分办单位提交审批
       separateUnitSubmitAuditMakeSure () {

+ 20 - 0
src/dashoo.cn/frontend_web/src/pages/oilsupplier/infochangech/index.vue

@@ -188,6 +188,7 @@
 
     data () {
       return {
+        accessedType: [],
         tableLoading: false,
         addshow: false,
         dialogVisible: false,
@@ -331,8 +332,20 @@
       this.getselectsupplier()
       // this.getDictOptions()
       this.getSupplierList()
+      this.getAccessedType()
     },
     methods: {
+      getAccessedType () {
+        if (this.supplierId > 0) {
+          api.GetAccessedType(this.entityForm.SupplierId, this.$axios)
+            .then(res => {
+              this.accessedType = res.data
+            })
+            .catch(err => {
+              console.error(err)
+            })
+        }
+      },
       NameChange (event) {
         this.selectsupplierlist.find((item) => {
           if (item.Id === event) {
@@ -410,6 +423,13 @@
         })
       },
       addinfochange () {
+        if (this.accessedType === []) {
+          this.$message({
+            type: 'warning',
+            message: '请准入申请通过后进行信息资质变更'
+          })
+          return
+        }
         if (this.IsCompanyUser === 1) {
           this.addInfoChangeCom()
         } else {