Browse Source

技术服务企业信息

yuedefeng 6 years ago
parent
commit
5ce05b3166

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

@@ -18,12 +18,19 @@ type OilSupplier struct {
 	OrganCode          string  `xorm:"comment('组织机构代码') VARCHAR(50)"`
 	CountryTaxNo       string  `xorm:"comment('税务登记证国税编号') VARCHAR(50)"`
 	LocalTaxNo         string  `xorm:"comment('税务登记证地税编号') VARCHAR(50)"`
-	Address            string  `xorm:"comment('单位地址') VARCHAR(100)"`
+	Address            string  `xorm:"comment('单位地址') VARCHAR(500)"`
 	Province           string  `xorm:"comment('省直辖市') VARCHAR(20)"`
 	City               string  `xorm:"comment('地市区县') VARCHAR(20)"`
 	Street             string  `xorm:"comment('街道') VARCHAR(20)"`
 	HouseNo            string  `xorm:"comment('门牌号') VARCHAR(10)"`
 	ZipCode            string  `xorm:"comment('邮编') VARCHAR(20)"`
+	LinkAddress        string    `xorm:"comment('通信地址-单位地址') VARCHAR(500)"`
+	LinkProvince       string    `xorm:"comment('通信地址-省直辖市') VARCHAR(20)"`
+	LinkCity           string    `xorm:"comment('通信地址-地市区县') VARCHAR(20)"`
+	LinkStreet         string    `xorm:"comment('通信地址-街道') VARCHAR(20)"`
+	LinkHouseNo        string    `xorm:"comment('通信地址-门牌号') VARCHAR(10)"`
+	LinkZipCode        string    `xorm:"comment('通信地址-邮编') VARCHAR(20)"`
+	HseTraining 	   string    `xorm:"comment('是否需要进行HSE审查培训') VARCHAR(2)"`
 	QualitySystemCert  string  `xorm:"comment('质量管理体系认证情况及认证机构') VARCHAR(200)"`
 	ProductQualityCert string  `xorm:"comment('产品质量认证情况及认证机构') VARCHAR(200)"`
 	MaunLicense        string  `xorm:"comment('生产制造许可证获证情况及编号') VARCHAR(200)"`

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

@@ -970,6 +970,7 @@ func (this *OilSupplierController) GetDictList() {
 	areaJsonSvc := areajson.GetAreaJsonService(utils.DBE)
 	//customerSvc := svccustomer.GetCustomerService(utils.DBE)
 	dictList["UnitRelation"] = dictSvc.GetKeyValueItems("UnitRelation")
+	dictList["CompanyType"] = dictSvc.GetKeyValueItems("CompanyType")
 	var userEntity userRole.Base_User
 	userSvc.GetEntityById(this.User.Id, &userEntity)
 	dictList["Supervisers"] = userSvc.GetUserListByDepartmentId(this.User.AccCode, userEntity.Departmentid)
@@ -1253,6 +1254,13 @@ func (this *OilSupplierController) UpdateEntity() {
 		"ModifiedUserId",
 
 		"ModifiedBy",
+		"LinkAddress",
+		"LinkProvince",
+		"LinkCity",
+		"LinkStreet",
+		"LinkHouseNo",
+		"LinkZipCode",
+		"HseTraining",
 	}
 	err := svc.UpdateEntityBytbl(OilSupplierName, id, &model, cols)
 	if err == nil {

+ 3 - 3
src/dashoo.cn/frontend_web/src/pages/oilsupplier/supplier/_opera/goodsedit.vue

@@ -480,7 +480,7 @@
     },
     name: 'oilsupplierEdit',
 
-    data() {
+    data () {
       return {
         equipmentList: [], //企业主要装备情况
         performanceList: [], //近三年主要工程业绩
@@ -598,7 +598,7 @@
         this.$refs["winningList"].showDialog()
       },
 
-      initDatas() {
+      initDatas () {
         if (this.formData.Id) {
           api.getEntity(this.formData.Id, this.$axios).then(res => {
             this.formData = res.data;
@@ -608,7 +608,7 @@
         }
       },
 
-      getDictOptions() {
+      getDictOptions () {
         api.getDictList(this.$axios).then(res => {
           //this.wellNoOptions = res.data.items['WellNo']
           //this.supervisersOptions = res.data.items['Supervisers']

+ 142 - 51
src/dashoo.cn/frontend_web/src/pages/oilsupplier/supplier/_opera/techedit.vue

@@ -38,7 +38,7 @@
                 <el-button type="primary" size="mini" @click="saveEntity">保存基本信息</el-button>
               </span>
             </div>
-            <el-form label-width="140px" ref="EntityForm" :model="formData">
+            <el-form label-width="140px" ref="EntityForm" :model="formData" :rules="rulesform">
               <el-row>
                 <!--<el-col :span="8">
                   <el-form-item label="DEMO">
@@ -54,16 +54,18 @@
                 </el-col>-->
 
                 <el-col :span="16">
-                  <el-form-item label="供方名称" required>
-                    <el-input v-model="formData.SupplierName" placeholder="请输入" style="width: 100%"></el-input>
+                  <el-form-item label="供方名称" prop="SupplierName" required>
+                    <el-input v-model="formData.SupplierName" maxlength="255" placeholder="请输入" style="width: 100%"></el-input>
                   </el-form-item>
                 </el-col>
 
                 <el-col :span="8">
                   <el-form-item label="单位关系">
-                    <el-select ref="SpecType" multiple v-model="UnitRelationAry" filterable placeholder="请选择"
-                      style="width: 100%">
-                      <el-option v-for="item in UnitRelationOptions" :key="item.Id" :label="item.Key"
+                    <el-select ref="SpecType" multiple v-model="UnitRelationAry" @change="unitRelationChange" filterable placeholder="请选择" style="width: 100%">
+                      <el-option
+                        v-for="item in UnitRelationOptions"
+                        :key="item.Id"
+                        :label="item.Key"
                         :value="item.Value">
                       </el-option>
                     </el-select>
@@ -71,13 +73,13 @@
                 </el-col>
 
                 <el-col :span="8">
-                  <el-form-item label="统一社会信用代码" required>
+                  <el-form-item label="统一社会信用代码" prop="CommercialNo" required>
                     <el-input v-model="formData.CommercialNo" placeholder="请输入" style="width: 100%"></el-input>
                   </el-form-item>
                 </el-col>
 
                 <el-col :span="8">
-                  <el-form-item label="税务登记证编号" required>
+                  <el-form-item label="税务登记证编号" prop="CountryTaxNo" required>
                     <el-input v-model="formData.CountryTaxNo" placeholder="请输入" style="width: 100%"></el-input>
                   </el-form-item>
                 </el-col>
@@ -97,7 +99,7 @@
                   <el-form-item label="注册地址" required>
                     <el-row>
                       <el-col :span="8">
-                        <el-cascader :options="countryoptions" :props="countryprops" placeholder="省市区" v-model="CityAry" style="width: 100%">
+                        <el-cascader :options="countryoptions" :props="countryprops" placeholder="省市区" v-model="CityAry" style="width: 100%" @change="handleAreaChange">
                         </el-cascader>
                       </el-col>
                       <el-col :span="16">
@@ -116,18 +118,18 @@
                   <el-form-item label="通信地址" required>
                     <el-row>
                       <el-col :span="8">
-                        <el-cascader :options="countryoptions" :props="countryprops" placeholder="省市区" v-model="CityAry" style="width: 100%">
+                        <el-cascader :options="countryoptions" :props="countryprops" placeholder="省市区" v-model="LinkCityAry" style="width: 100%" @change="handleLinkAreaChange">
                         </el-cascader>
                       </el-col>
                       <el-col :span="16">
-                        <el-input v-model="formData.Address" placeholder="详细地址" style="width: 100%"></el-input>
+                        <el-input v-model="formData.LinkAddress" placeholder="详细地址" style="width: 100%"></el-input>
                       </el-col>
                     </el-row>
                   </el-form-item>
                 </el-col>
                 <el-col :span="8">
                   <el-form-item label="邮编" required>
-                    <el-input v-model="formData.ZipCode" placeholder="请输入" style="width: 100%"></el-input>
+                    <el-input v-model="formData.LinkZipCode" placeholder="请输入" style="width: 100%"></el-input>
                   </el-form-item>
                 </el-col>
 
@@ -154,13 +156,7 @@
                     <el-input v-model="formData.HouseNo" placeholder="请输入" style="width: 100%"></el-input>
                   </el-form-item>
                 </el-col>-->
-
-
-
               </el-row>
-            </el-form>
-
-            <el-form label-width="140px" ref="EntityFormLic" :model="formData">
               <el-row>
                 <!--<el-col :span="8">
                   <el-form-item label="产品质量认证情况及认证机构">
@@ -179,16 +175,26 @@
                 </el-col>-->
 
                 <el-col :span="8">
-                  <el-form-item label="法定代表人姓名">
-                    <el-input v-model="formData.LegalPerson" placeholder="请输入" style="width: 100%"></el-input>
+                  <el-form-item label="法定代表人姓名" prop="LegalPerson" required>
+                    <el-input v-model="formData.LegalPerson" maxlength="20" placeholder="请输入" style="width: 100%"></el-input>
                   </el-form-item>
                 </el-col>
 
                 <el-col :span="8">
+                  <el-form-item label="公司类型" prop="CompanyType" required>
+                    <!--<el-input v-model="formData.CompanyType" placeholder="请输入" style="width: 100%"></el-input>-->
+                    <el-select v-model="formData.CompanyType" 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%">
+                      </el-option>
+                    </el-select>
+                  </el-form-item>
+                </el-col>
+
+                <!--<el-col :span="8">
                   <el-form-item label="行业类别">
                     <el-input v-model="formData.CategoryCode" placeholder="请输入" style="width: 100%"></el-input>
                   </el-form-item>
-                </el-col>
+                </el-col>-->
 
                 <!--<el-col :span="8">
                   <el-form-item label="行业类别名称">
@@ -197,27 +203,16 @@
                 </el-col>-->
 
                 <el-col :span="8">
-                  <el-form-item label="注册资本">
+                  <el-form-item label="注册资本" required>
                     <el-input v-model="formData.RegCapital" placeholder="请输入" style="width: 100%"></el-input>
                   </el-form-item>
                 </el-col>
-                <el-col :span="8">
-                  <el-form-item label="联系人姓名">
-                    <el-input v-model="formData.ContactName" placeholder="请输入" style="width: 100%"></el-input>
-                  </el-form-item>
-                </el-col>
 
-                <el-col :span="8">
+                <!--<el-col :span="8">
                   <el-form-item label="币种">
                     <el-input v-model="formData.Currency" placeholder="请输入" style="width: 100%"></el-input>
                   </el-form-item>
-                </el-col>
-
-                <el-col :span="8">
-                  <el-form-item label="公司类型">
-                    <el-input v-model="formData.CompanyType" placeholder="请输入" style="width: 100%"></el-input>
-                  </el-form-item>
-                </el-col>
+                </el-col>-->
 
                 <el-col :span="8">
                   <el-form-item label="成立时间">
@@ -226,51 +221,57 @@
                 </el-col>
 
                 <el-col :span="8">
-                  <el-form-item label="开户银行">
+                  <el-form-item label="开户银行" required>
                     <el-input v-model="formData.DepositBank" placeholder="请输入" style="width: 100%"></el-input>
                   </el-form-item>
                 </el-col>
 
                 <el-col :span="8">
-                  <el-form-item label="银行账号">
+                  <el-form-item label="银行账号" required>
                     <el-input v-model="formData.BankAccount" placeholder="请输入" style="width: 100%"></el-input>
                   </el-form-item>
                 </el-col>
 
                 <el-col :span="8">
-                  <el-form-item label="移动电话">
+                  <el-form-item label="联系人姓名" required>
+                    <el-input v-model="formData.ContactName" placeholder="请输入" style="width: 100%"></el-input>
+                  </el-form-item>
+                </el-col>
+
+                <el-col :span="8">
+                  <el-form-item label="移动电话" required>
                     <el-input v-model="formData.Mobile" placeholder="请输入" style="width: 100%"></el-input>
                   </el-form-item>
                 </el-col>
 
                 <el-col :span="8">
-                  <el-form-item label="固定电话">
+                  <el-form-item label="固定电话" required>
                     <el-input v-model="formData.Telphone" placeholder="请输入" style="width: 100%"></el-input>
                   </el-form-item>
                 </el-col>
 
                 <el-col :span="8">
-                  <el-form-item label="传真">
+                  <el-form-item label="传真" required>
                     <el-input v-model="formData.Fax" placeholder="请输入" style="width: 100%"></el-input>
                   </el-form-item>
                 </el-col>
 
                 <el-col :span="8">
-                  <el-form-item label="公司电话">
+                  <el-form-item label="财务电话" prop="CompanyTel" required>
                     <el-input v-model="formData.CompanyTel" placeholder="请输入" style="width: 100%"></el-input>
                   </el-form-item>
                 </el-col>
                 <el-col :span="8">
-                  <el-form-item label="电子邮箱">
+                  <el-form-item label="电子邮箱" prop="EMail" required>
                     <el-input v-model="formData.EMail" placeholder="请输入" style="width: 100%"></el-input>
                   </el-form-item>
                 </el-col>
 
-                <el-col :span="8">
+                <!--<el-col :span="8">
                   <el-form-item label="QQ号码">
                     <el-input v-model="formData.QQ" placeholder="请输入" style="width: 100%"></el-input>
                   </el-form-item>
-                </el-col>
+                </el-col>-->
 
                 <el-col :span="8">
                   <el-form-item label="银行信用等级">
@@ -278,15 +279,20 @@
                   </el-form-item>
                 </el-col>
 
-                <el-col :span="8">
+                <!--<el-col :span="8">
                   <el-form-item label="公司网址">
                     <el-input v-model="formData.CompanyUrl" placeholder="请输入" style="width: 100%"></el-input>
                   </el-form-item>
-                </el-col>
+                </el-col>-->
 
                 <el-col :span="8">
                   <el-form-item label="HSE审查培训">
-                    <el-input v-model="formData.CompanyUrl" placeholder="请输入" style="width: 100%"></el-input>
+                    <!--<el-input v-model="formData.HseTraining" placeholder="请输入" style="width: 100%"></el-input>-->
+                    <el-select v-model="formData.HseTraining" placeholder="请选择" style="width: 100%;">
+                      <el-option v-for="item in HSEOptions" :key="item.value" :label="item.label" :value="item.value" style="width: 100%">
+                      </el-option>
+                    </el-select>
+
                   </el-form-item>
                 </el-col>
 
@@ -536,6 +542,7 @@
         winningList: [], //近三年获得省部级及以上主要技术、管理成果、获奖项目
         businessList: [], //准入业务
         UnitRelationOptions: [],
+        CompanyTypeOptions: [],
         UnitRelationAry: [],
         countryoptions: [],
         countryprops: {
@@ -544,10 +551,19 @@
           children: 'districts'
         },
         CityAry: [],
+        LinkCityAry: [],
         serviceId: '',
         certId: '',
         classId: '03',
 
+        HSEOptions: [{
+          value: '1',
+          label: '是'
+        }, {
+          value: '0',
+          label: '否'
+        }],
+
         formData: {
           Id: '',
           SupplierName: '',
@@ -568,6 +584,12 @@
           Street: '',
           HouseNo: '',
           ZipCode: '',
+          LinkAddress: '',
+          LinkProvince: '',
+          LinkCity: '',
+          LinkStreet: '',
+          LinkHouseNo: '',
+          LinkZipCode: '',
           QualitySystemCert: '',
           ProductQualityCert: '',
           MaunLicense: '',
@@ -619,7 +641,8 @@
           CertId: 0,
           SupplierTypeCode: '03',
           SupplierTypeName: '技术服务类',
-          Step: 0
+          Step: 0,
+          HseTraining: 0,
         },
 
         formDataCert: {
@@ -640,7 +663,47 @@
           process: 'oil_supplier_apply',
           business: '',
           instance: ''
-        }
+        },
+
+        checkemail: (rule, value, callback) => {
+          if (!value) {
+            callback(new Error('请输入邮箱'))
+          } else {
+            let re = /^([a-zA-Z0-9]+[_|-|.|-]?)*[a-zA-Z0-9]+@([a-zA-Z0-9]+[_|-|.|-]?)*[a-zA-Z0-9]+.[a-zA-Z]{2,3}$/
+            if (!re.test(value)) {
+              callback(new Error('请输入正确的邮箱地址'))
+            } else {
+              callback()
+            }
+          }
+        },
+
+        rulesform: {
+          SupplierName: [
+            { required: true, message: '请输入供方名称', trigger: 'change' },
+          ],
+          CommercialNo: [
+            { required: true, message: '请输入统一社会信用代码', trigger: 'change' },
+          ],
+          CountryTaxNo: [
+            { required: true, message: '请输入税务登记证编号', trigger: 'change' },
+          ],
+          CompanyType: [
+            { required: true, message: '请选择公司类型', trigger: 'change' },
+          ],
+          LegalPerson: [
+            { required: true, message: '请输入法定代表人姓名', trigger: 'change' },
+          ],
+          EMail: [
+            { required: true, message: '请输入邮箱地址', trigger: 'change' },
+            { validator: this.checkemail, trigger: 'blur' }
+          ],
+          realname: [{
+            required: true,
+            message: '用户名',
+            trigger: 'blur'
+          }]
+        },
       }
     },
     created() {
@@ -667,8 +730,23 @@
       winningdialog() {
         this.$refs["winningList"].showDialog()
       },
+      unitRelationChange (value) {
+        this.formData.SpecTypeCode = value.join(',')
+      },
+      handleAreaChange (value) {
+        this.formData.Province = value[0]
+        this.formData.City = value[1]
+        this.formData.Street = value[2]
+        //this.formData.ZipCode = value[2]
+      },
+      handleLinkAreaChange (value) {
+        this.formData.LinkProvince = value[0]
+        this.formData.LinkCity = value[1]
+        this.formData.LinkStreet = value[2]
+        //this.formData.LinkZipCode = value[2]
+      },
 
-      initDatas() {
+      initDatas () {
         if (this.formData.Id) {
           api.getEntityAndCert(this.certId, this.$axios).then(res => {
             this.formData = res.data
@@ -684,6 +762,18 @@
             this.formDataCert.SkillerTotal = this.formData.SkillerTotal
             this.formDataCert.Status = this.formData.Status
             this.formDataCert.WorkflowId = this.formData.WorkflowId
+            this.CityAry = []
+            this.CityAry.push(this.formData.Province)
+            this.CityAry.push(this.formData.City)
+            this.CityAry.push(this.formData.Street)
+            this.LinkCityAry = []
+            this.LinkCityAry.push(this.formData.LinkProvince)
+            this.LinkCityAry.push(this.formData.LinkCity)
+            this.LinkCityAry.push(this.formData.LinkStreet)
+            this.UnitRelationAry = []
+            if (this.formData.SpecTypeCode.length > 0) {
+              this.UnitRelationAry = this.formData.SpecTypeCode.split(',')
+            }
 
             this.entrydetail.business = this.certId
             this.entrydetail.instance = this.formDataCert.WorkflowId
@@ -701,6 +791,7 @@
         api.getDictList(this.$axios).then(res => {
           this.UnitRelationOptions = res.data.items['UnitRelation']
           this.getCityList(res.data.items['GaodeMapChinaAreas'])
+          this.CompanyTypeOptions = res.data.items['CompanyType']
         }).catch(err => {
           console.error(err)
         })
@@ -761,7 +852,7 @@
         });
       },
 
-      updateEntity() {
+      updateEntity () {
         api.updateEntity(this.formData.Id, this.formData, this.$axios).then(res => {
           if (res.data.code === 0) {
             //保存成功后,初始化数据,变成修改