Jelajahi Sumber

资质配置添加编码名称修改

huahaiyan 6 tahun lalu
induk
melakukan
8ecd935a71
17 mengubah file dengan 782 tambahan dan 122 penghapusan
  1. 18 0
      src/dashoo.cn/backend/api/business/oilsupplier/goodsaptitude/oilgoodsaptitude.go
  2. 18 0
      src/dashoo.cn/backend/api/business/oilsupplier/technologyservice/oiltechnologyservice.go
  3. 1 1
      src/dashoo.cn/backend/api/business/oilsupplier/technologyservice/oiltechnologyserviceService.go
  4. 2 0
      src/dashoo.cn/backend/api/controllers/base.go
  5. 23 1
      src/dashoo.cn/backend/api/controllers/oilsupplier/basisbuild.go
  6. 166 10
      src/dashoo.cn/backend/api/controllers/oilsupplier/goodsaptitude.go
  7. 17 0
      src/dashoo.cn/backend/api/controllers/oilsupplier/goodsaptitudeclass.go
  8. 159 2
      src/dashoo.cn/backend/api/controllers/oilsupplier/technologyservice.go
  9. 16 0
      src/dashoo.cn/backend/api/controllers/oilsupplier/technologyserviceclass.go
  10. 7 0
      src/dashoo.cn/frontend_web/src/api/oilsupplier/goodsaptitude.js
  11. 7 0
      src/dashoo.cn/frontend_web/src/api/oilsupplier/technologyservice.js
  12. 11 0
      src/dashoo.cn/frontend_web/src/pages/oilsupplier/basisbuild/_opera/operation.vue
  13. 10 21
      src/dashoo.cn/frontend_web/src/pages/oilsupplier/basisbuild/index.vue
  14. 12 0
      src/dashoo.cn/frontend_web/src/pages/oilsupplier/goodsaptitude/_opera/operation.vue
  15. 158 41
      src/dashoo.cn/frontend_web/src/pages/oilsupplier/goodsaptitude/index.vue
  16. 28 28
      src/dashoo.cn/frontend_web/src/pages/oilsupplier/technologyservice/_opera/operation.vue
  17. 129 18
      src/dashoo.cn/frontend_web/src/pages/oilsupplier/technologyservice/index.vue

+ 18 - 0
src/dashoo.cn/backend/api/business/oilsupplier/goodsaptitude/oilgoodsaptitude.go

@@ -81,6 +81,24 @@ type OilGoodsAptitudeView struct {
 	OilGoodsAptitude `xorm:"extends"`
 }
 
+type OilGoodsAptitudeClassView struct {
+	Id               int
+	Id1              int
+	Id2              int
+	Id3              int
+	Id4              int
+	Code             string `xorm:"default '' VARCHAR(50) 'code'"`
+	Name             string `xorm:"default '' VARCHAR(50) 'name'"`
+	Code1            string `xorm:"default '' VARCHAR(50) 'code1'"`
+	Name1            string `xorm:"default '' VARCHAR(50) 'name1'"`
+	Code2            string `xorm:"default '' VARCHAR(50) 'code2'"`
+	Name2            string `xorm:"default '' VARCHAR(50) 'name2'"`
+	Code3            string `xorm:"default '' VARCHAR(50) 'code3'"`
+	Name3            string `xorm:"default '' VARCHAR(50) 'name3'"`
+	Code4            string `xorm:"default '' VARCHAR(50) 'code4'"`
+	Name4            string `xorm:"default '' VARCHAR(50) 'name4'"`
+}
+
 type GoodsBusiness struct {
 	Id                int
 	Code              string

+ 18 - 0
src/dashoo.cn/backend/api/business/oilsupplier/technologyservice/oiltechnologyservice.go

@@ -85,6 +85,24 @@ type OilTechnologyServiceView struct {
 	OilTechnologyService `xorm:"extends"`
 }
 
+type OilTechnologyClassServiceView struct {
+	Id    int
+	Id1   int
+	Id2   int
+	Id3   int
+	Id4   int
+	Code  string `xorm:"default '' VARCHAR(50) 'code'"`
+	Name  string `xorm:"default '' VARCHAR(50) 'name'"`
+	Code1 string `xorm:"default '' VARCHAR(50) 'code1'"`
+	Name1 string `xorm:"default '' VARCHAR(50) 'name1'"`
+	Code2 string `xorm:"default '' VARCHAR(50) 'code2'"`
+	Name2 string `xorm:"default '' VARCHAR(50) 'name2'"`
+	Code3 string `xorm:"default '' VARCHAR(50) 'code3'"`
+	Name3 string `xorm:"default '' VARCHAR(50) 'name3'"`
+	Code4 string `xorm:"default '' VARCHAR(50) 'code4'"`
+	Name4 string `xorm:"default '' VARCHAR(50) 'name4'"`
+}
+
 type TechnologyBusiness struct {
 	Id                int
 	Code              string

+ 1 - 1
src/dashoo.cn/backend/api/business/oilsupplier/technologyservice/oiltechnologyserviceService.go

@@ -64,4 +64,4 @@ func (s *OilTechnologyServiceService) GetTechList(techclass, where string) []Tec
 	List := make([]TechnologyBusiness, 0)
 	utils.DBE.Sql(sql).Find(&List)
 	return List
-}
+}

+ 2 - 0
src/dashoo.cn/backend/api/controllers/base.go

@@ -243,6 +243,8 @@ var (
 	OilWinningProjectName                    string = "OilWinningProject"           //近三年获得省部级及以上主要技术、管理成果、获奖项目
 	OilTechsrvDetailViewName                 string = "oil_techsrv_detail_view"     //技术服务类视图
 	OilGoodsAptDetailViewName                string = "oil_goodsapt_detail_view"    //物資类视图
+	OilTechsrvClassViewName                 string = "oil_techsrv_class_view"     //技术服务类视图
+	OilGoodsAptClassViewName                string = "oil_goodsapt_class_view"    //物資类视图
 	OilClassOrgSettingName                   string = "OilClassOrgSetting"          //分类部门审批配置表
 	OilAnnualAuditName                       string = "OilAnnualAudit"              //年审表
 	OilSupplierOpinionName                   string = "OilSupplierOpinion"          //追加意见表

+ 23 - 1
src/dashoo.cn/backend/api/controllers/oilsupplier/basisbuild.go

@@ -163,10 +163,32 @@ func (this *OilBasisBuildController) UpdateEntity() {
 	}
 
 	var model basisbuild.OilBasisBuild
+	var basmodel []basisbuild.OilBasisBuild
 	svc := basisbuild.GetOilBasisBuildService(utils.DBE)
-
 	var jsonBlob = this.Ctx.Input.RequestBody
 	json.Unmarshal(jsonBlob, &model)
+	if model.Name != "" {
+		where := " Name = " + model.Name
+		svc.GetEntitysByWhere(OilBasisBuildName, where, &basmodel)
+		if len(basmodel) > 0 {
+			errinfo.Message = "名称已存在,请重新添加!"
+			errinfo.Code = -1
+			this.Data["json"] = &errinfo
+			this.ServeJSON()
+			return
+		}
+	}
+	if model.Code != "" {
+		cowhere := " Code = " + model.Code
+		svc.GetEntitysByWhere(OilBasisBuildName, cowhere, &basmodel)
+		if len(basmodel) > 0 {
+			errinfo.Message = "编码已存在,请重新添加!"
+			errinfo.Code = -1
+			this.Data["json"] = &errinfo
+			this.ServeJSON()
+			return
+		}
+	}
 	model.ModifiedOn = time.Now()
 	model.ModifiedBy = this.User.Realname
 	model.ModifiedUserId, _ = utils.StrTo(this.User.Id).Int()

+ 166 - 10
src/dashoo.cn/backend/api/controllers/oilsupplier/goodsaptitude.go

@@ -1,6 +1,7 @@
 package oilsupplier
 
 import (
+	"dashoo.cn/backend/api/business/oilsupplier/goodsaptitudeclass"
 	"encoding/json"
 	"strconv"
 	"strings"
@@ -36,7 +37,7 @@ func (this *OilGoodsAptitudeController) GetEntityList() {
 		orderby = Prop
 		if Order == "asc" {
 			asc = true
-		}else {
+		} else {
 			asc = false
 		}
 	}
@@ -152,10 +153,11 @@ func (this *OilGoodsAptitudeController) GetDictList() {
 func (this *OilGoodsAptitudeController) GetEntity() {
 	Id := this.Ctx.Input.Param(":id")
 
-	var model goodsaptitude.OilGoodsAptitude
+	var model goodsaptitude.OilGoodsAptitudeView
 	svc := goodsaptitude.GetOilGoodsAptitudeService(utils.DBE)
-	svc.GetEntityByIdBytbl(""+OilGoodsAptitudeName, Id, &model)
-
+	//svc.GetEntityByIdBytbl(""+OilGoodsAptitudeName, Id, &model)
+	where := " Id  =" + Id
+	svc.GetEntityByWhere(OilGoodsAptDetailViewName, where, &model)
 	this.Data["json"] = &model
 	this.ServeJSON()
 }
@@ -173,7 +175,7 @@ func (this *OilGoodsAptitudeController) AddEntity() {
 	model.CreateOn = time.Now()
 	model.CreateBy = this.User.Realname
 	model.CreateUserId, _ = utils.StrTo(this.User.Id).Int()
-	model.ClassId ,_ = strconv.Atoi(classId)
+	model.ClassId, _ = strconv.Atoi(classId)
 	//model.OrganizeId, _ = utils.StrTo(this.User.DepartmentId).Int()
 	_, err := svc.InsertEntityBytbl(""+OilGoodsAptitudeName, &model)
 
@@ -213,6 +215,7 @@ func (this *OilGoodsAptitudeController) UpdateEntity() {
 
 	var jsonBlob = this.Ctx.Input.RequestBody
 	json.Unmarshal(jsonBlob, &model)
+
 	model.ModifiedOn = time.Now()
 	model.ModifiedBy = this.User.Realname
 	model.ModifiedUserId, _ = utils.StrTo(this.User.Id).Int()
@@ -363,6 +366,159 @@ func (this *OilGoodsAptitudeController) UpdateEntity() {
 	}
 }
 
+// @Title 修改实体
+// @Description 修改实体
+// @Success	200	{object} controllers.Request
+// @router /updatecode/:id [post]
+func (this *OilGoodsAptitudeController) UpdateCodeEntity() {
+	var errinfo ErrorInfo
+	var err error
+	id := this.Ctx.Input.Param(":id")
+	if id == "" {
+		errinfo.Message = "操作失败!请求信息不完整"
+		errinfo.Code = -2
+		this.Data["json"] = &errinfo
+		this.ServeJSON()
+		return
+	}
+
+	var classall goodsaptitude.OilGoodsAptitudeClassView
+	var model goodsaptitudeclass.OilGoodsAptitudeClass
+	var classmodel []goodsaptitudeclass.OilGoodsAptitudeClass
+	svc := goodsaptitude.GetOilGoodsAptitudeService(utils.DBE)
+	var jsonBlob = this.Ctx.Input.RequestBody
+	json.Unmarshal(jsonBlob, &classall)
+	model.ModifiedOn = time.Now()
+	model.ModifiedBy = this.User.Realname
+	model.ModifiedUserId, _ = utils.StrTo(this.User.Id).Int()
+	colsName := []string{"Name"}
+	colsCode := []string{"Code"}
+	//svc.GetEntityById(id, &model)
+	if classall.Name1 != ""{
+		where := " Name = '" + classall.Name1 +"' and Id  <> "+utils.ToStr(classall.Id1)
+		svc.GetEntitysByWhere(OilGoodsAptitudeClassName, where, &classmodel)
+		if len(classmodel) > 0 {
+			errinfo.Message = "大类名称已存在,请重新添加!"
+			errinfo.Code = -1
+			this.Data["json"] = &errinfo
+			this.ServeJSON()
+			return
+		}else {
+			model.Name = classall.Name1
+			err = svc.UpdateEntityBytbl(OilGoodsAptitudeClassName, classall.Id1, &model, colsName)
+		}
+	}
+	if classall.Name2 != ""{
+		where := " Name = '" + classall.Name2 +"' and Id  <> "+utils.ToStr(classall.Id2)
+		svc.GetEntitysByWhere(OilGoodsAptitudeClassName, where, &classmodel)
+		if len(classmodel) > 0 {
+			errinfo.Message = "中类名称已存在,请重新添加!"
+			errinfo.Code = -1
+			this.Data["json"] = &errinfo
+			this.ServeJSON()
+			return
+		}else {
+			model.Name = classall.Name2
+			err = svc.UpdateEntityBytbl(OilGoodsAptitudeClassName, classall.Id2, &model, colsName)
+		}
+	}
+	if classall.Name3 != ""{
+		where := " Name = '" + classall.Name3 +"' and Id  <> "+utils.ToStr(classall.Id3)
+		svc.GetEntitysByWhere(OilGoodsAptitudeClassName, where, &classmodel)
+		if len(classmodel) > 0 {
+			errinfo.Message = "小类名称已存在,请重新添加!"
+			errinfo.Code = -1
+			this.Data["json"] = &errinfo
+			this.ServeJSON()
+			return
+		}else {
+			model.Name = classall.Name3
+			err = svc.UpdateEntityBytbl(OilGoodsAptitudeClassName, classall.Id3, &model, colsName)
+		}
+	}
+	if classall.Name4 != ""{
+		where := " Name = '" + classall.Name4 + "' and Id  <> "+utils.ToStr(classall.Id4)
+		svc.GetEntitysByWhere(OilGoodsAptitudeClassName, where, &classmodel)
+		if len(classmodel) > 0 {
+			errinfo.Message = "品名已存在,请重新添加!"
+			errinfo.Code = -1
+			this.Data["json"] = &errinfo
+			this.ServeJSON()
+			return
+		}else {
+			model.Name = classall.Name4
+			err = svc.UpdateEntityBytbl(OilGoodsAptitudeClassName, classall.Id4, &model, colsName)
+		}
+	}
+	if classall.Code1 != ""{
+		where := " Code = " + classall.Code1 +" and Id <> "+utils.ToStr(classall.Id1)
+		svc.GetEntitysByWhere(OilGoodsAptitudeClassName, where, &classmodel)
+		if len(classmodel) > 0 {
+			errinfo.Message = "大类编码已存在,请重新添加!"
+			errinfo.Code = -1
+			this.Data["json"] = &errinfo
+			this.ServeJSON()
+			return
+		}else {
+			model.Code = classall.Code1
+			err = svc.UpdateEntityBytbl(OilGoodsAptitudeClassName, classall.Id1, &model, colsCode)
+		}
+	}
+	if classall.Code2 != ""{
+		where := " Code = " + classall.Code2 +" and Id <> "+utils.ToStr(classall.Id2)
+		svc.GetEntitysByWhere(OilGoodsAptitudeClassName, where, &classmodel)
+		if len(classmodel) > 0 {
+			errinfo.Message = "中类编码已存在,请重新添加!"
+			errinfo.Code = -1
+			this.Data["json"] = &errinfo
+			this.ServeJSON()
+			return
+		}else {
+			model.Code = classall.Code2
+			err = svc.UpdateEntityBytbl(OilGoodsAptitudeClassName, classall.Id2, &model, colsCode)
+		}
+	}
+	if classall.Code3 != ""{
+		where := " Code = " + classall.Code3 +" and Id <> "+utils.ToStr(classall.Id3)
+		svc.GetEntitysByWhere(OilGoodsAptitudeClassName, where, &classmodel)
+		if len(classmodel) > 0 {
+			errinfo.Message = "小类编码已存在,请重新添加!"
+			errinfo.Code = -1
+			this.Data["json"] = &errinfo
+			this.ServeJSON()
+			return
+		}else {
+			model.Code = classall.Code3
+			err = svc.UpdateEntityBytbl(OilGoodsAptitudeClassName, classall.Id3, &model, colsCode)
+		}
+	}
+	if classall.Code4 != ""{
+		where := " Code = " + classall.Code4 +" and Id <> "+utils.ToStr(classall.Id4)
+		svc.GetEntitysByWhere(OilGoodsAptitudeClassName, where, &classmodel)
+		if len(classmodel) > 0 {
+			errinfo.Message = "品名编码已存在,请重新添加!"
+			errinfo.Code = -1
+			this.Data["json"] = &errinfo
+			this.ServeJSON()
+			return
+		}else {
+			model.Code = classall.Code4
+			err = svc.UpdateEntityBytbl(OilGoodsAptitudeClassName, classall.Id4, &model, colsCode)
+		}
+	}
+	if err == nil {
+		errinfo.Message = "修改成功!"
+		errinfo.Code = 0
+		this.Data["json"] = &errinfo
+		this.ServeJSON()
+	} else {
+		errinfo.Message = "修改失败!" + utils.AlertProcess(err.Error())
+		errinfo.Code = -1
+		this.Data["json"] = &errinfo
+		this.ServeJSON()
+	}
+}
+
 // @Title 删除单条信息
 // @Description
 // @Success 200 {object} ErrorInfo
@@ -402,18 +558,18 @@ func (this *OilGoodsAptitudeController) DeleteEntity() {
 // @router /goodsparentlist/:name [get]
 func (this *OilGoodsAptitudeController) GoodsParentList() {
 	Name := this.Ctx.Input.Param(":name")
-	if Name != ""{
+	if Name != "" {
 		svc := goodsaptitude.GetOilGoodsAptitudeService(utils.DBE)
 		where1 := "1=1"
 		where1 += " AND Name LIKE '%" + Name + "%' OR Code LIKE '" + Name + "%' "
 
 		sqlStr := "SELECT Id, Code, Name, concat(Code, '  ', Name) as CodeName, ParentId FROM OilGoodsAptitudeClass " +
-				  "WHERE " + where1 + " AND DeletionStateCode = 0 ORDER BY Code"
+			"WHERE " + where1 + " AND DeletionStateCode = 0 ORDER BY Code"
 		list, _ := svc.DBE.QueryString(sqlStr)
 		/*
-		sql := "SELECT Id, Code, Name, concat(Code, '  ', Name) as CodeName, ParentId FROM OilGoodsAptitudeClass " +
-				 "WHERE DeletionStateCode = 0 AND " +  where1 + " OR Id = (" + sqlStr + ")" +" ORDER BY Code"
-		list, _ := svc.DBE.QueryString(sql)*/
+			sql := "SELECT Id, Code, Name, concat(Code, '  ', Name) as CodeName, ParentId FROM OilGoodsAptitudeClass " +
+					 "WHERE DeletionStateCode = 0 AND " +  where1 + " OR Id = (" + sqlStr + ")" +" ORDER BY Code"
+			list, _ := svc.DBE.QueryString(sql)*/
 		var datainfo DataInfo
 		datainfo.Items = list
 		this.Data["json"] = &datainfo

+ 17 - 0
src/dashoo.cn/backend/api/controllers/oilsupplier/goodsaptitudeclass.go

@@ -1,6 +1,7 @@
 package oilsupplier
 
 import (
+	"dashoo.cn/backend/api/business/oilsupplier/goodsaptitude"
 	"dashoo.cn/backend/api/business/organize"
 	"encoding/json"
 	"strings"
@@ -157,6 +158,22 @@ func (this *OilGoodsAptitudeClassController) GetEntity() {
 	this.ServeJSON()
 }
 
+// @Title 获取实体
+// @Description 获取实体
+// @Success 200 {object} technologyserviceclass.OilGoodsAptitudeClass
+// @router /getcodename/:id [get]
+func (this *OilGoodsAptitudeClassController) GetCodeEntity() {
+	Id := this.Ctx.Input.Param(":id")
+	where := " Code = "+ Id
+	var model goodsaptitude.OilGoodsAptitudeClassView
+	svc := goodsaptitude.GetOilGoodsAptitudeService(utils.DBE)
+	//svc.GetEntityByIdBytbl(""+OilGoodsAptitudeName, Id, &model)
+	svc.GetEntityByWhere(OilGoodsAptClassViewName, where, &model)
+
+	this.Data["json"] = &model
+	this.ServeJSON()
+}
+
 // @Title 添加
 // @Description 新增
 // @Success	200	{object} controllers.Request

+ 159 - 2
src/dashoo.cn/backend/api/controllers/oilsupplier/technologyservice.go

@@ -1,6 +1,7 @@
 package oilsupplier
 
 import (
+	"dashoo.cn/backend/api/business/oilsupplier/technologyserviceclass"
 	"encoding/json"
 	"strconv"
 	"strings"
@@ -145,9 +146,11 @@ func (this *OilTechnologyServiceController) GetDictList() {
 func (this *OilTechnologyServiceController) GetEntity() {
 	Id := this.Ctx.Input.Param(":id")
 
-	var model technologyservice.OilTechnologyService
+	var model technologyservice.OilTechnologyServiceView
 	svc := technologyservice.GetOilTechnologyServiceService(utils.DBE)
-	svc.GetEntityByIdBytbl(""+OilTechnologyServiceName, Id, &model)
+	//svc.GetEntityByIdBytbl(""+OilTechnologyServiceName, Id, &model)
+	where := " Id  ="+ Id
+	svc.GetEntityByWhere(OilTechsrvDetailViewName, where, &model)
 
 	this.Data["json"] = &model
 	this.ServeJSON()
@@ -374,6 +377,160 @@ func (this *OilTechnologyServiceController) UpdateEntity() {
 	}
 }
 
+// @Title 修改实体
+// @Description 修改实体
+// @Success	200	{object} controllers.Request
+// @router /updatecode/:id [post]
+func (this *OilTechnologyServiceController) UpdateCodeEntity() {
+	var errinfo ErrorInfo
+	var err error
+	id := this.Ctx.Input.Param(":id")
+	if id == "" {
+		errinfo.Message = "操作失败!请求信息不完整"
+		errinfo.Code = -2
+		this.Data["json"] = &errinfo
+		this.ServeJSON()
+		return
+	}
+
+	var classall technologyservice.OilTechnologyClassServiceView
+	var model technologyserviceclass.OilTechnologyServiceClass
+	var classmodel []technologyserviceclass.OilTechnologyServiceClass
+	svc := technologyservice.GetOilTechnologyServiceService(utils.DBE)
+	var jsonBlob = this.Ctx.Input.RequestBody
+	json.Unmarshal(jsonBlob, &classall)
+	model.ModifiedOn = time.Now()
+	model.ModifiedBy = this.User.Realname
+	model.ModifiedUserId, _ = utils.StrTo(this.User.Id).Int()
+	colsName := []string{"Name"}
+	colsCode := []string{"Code"}
+	//svc.GetEntityById(id, &model)
+	if classall.Name1 != ""{
+		where := " Name = '" + classall.Name1 +"' and Id  <> "+utils.ToStr(classall.Id1)
+		svc.GetEntitysByWhere(OilTechnologyServiceClassName, where, &classmodel)
+		if len(classmodel) > 0 {
+			errinfo.Message = "一级名称已存在,请重新添加!"
+			errinfo.Code = -1
+			this.Data["json"] = &errinfo
+			this.ServeJSON()
+			return
+		}else {
+			model.Name = classall.Name1
+			err = svc.UpdateEntityBytbl(OilTechnologyServiceClassName, classall.Id1, &model, colsName)
+		}
+	}
+	if classall.Name2 != ""{
+		where := " Name = '" + classall.Name2 +"' and Id  <> "+utils.ToStr(classall.Id2)
+		svc.GetEntitysByWhere(OilTechnologyServiceClassName, where, &classmodel)
+		if len(classmodel) > 0 {
+			errinfo.Message = "二级名称已存在,请重新添加!"
+			errinfo.Code = -1
+			this.Data["json"] = &errinfo
+			this.ServeJSON()
+			return
+		}else {
+			model.Name = classall.Name2
+			err = svc.UpdateEntityBytbl(OilTechnologyServiceClassName, classall.Id2, &model, colsName)
+		}
+	}
+	if classall.Name3 != ""{
+		where := " Name = '" + classall.Name3 +"' and Id  <> "+utils.ToStr(classall.Id3)
+		svc.GetEntitysByWhere(OilTechnologyServiceClassName, where, &classmodel)
+		if len(classmodel) > 0 {
+			errinfo.Message = "三级名称已存在,请重新添加!"
+			errinfo.Code = -1
+			this.Data["json"] = &errinfo
+			this.ServeJSON()
+			return
+		}else {
+			model.Name = classall.Name3
+			err = svc.UpdateEntityBytbl(OilTechnologyServiceClassName, classall.Id3, &model, colsName)
+		}
+	}
+	if classall.Name4 != ""{
+		where := " Name = '" + classall.Name4 + "' and Id  <> "+utils.ToStr(classall.Id4)
+		svc.GetEntitysByWhere(OilTechnologyServiceClassName, where, &classmodel)
+		if len(classmodel) > 0 {
+			errinfo.Message = "四级名称已存在,请重新添加!"
+			errinfo.Code = -1
+			this.Data["json"] = &errinfo
+			this.ServeJSON()
+			return
+		}else {
+			model.Name = classall.Name4
+			err = svc.UpdateEntityBytbl(OilTechnologyServiceClassName, classall.Id4, &model, colsName)
+		}
+	}
+	if classall.Code1 != ""{
+		where := " Code = " + classall.Code1 +" and Id <> "+utils.ToStr(classall.Id1)
+		svc.GetEntitysByWhere(OilTechnologyServiceClassName, where, &classmodel)
+		if len(classmodel) > 0 {
+			errinfo.Message = "一级编码已存在,请重新添加!"
+			errinfo.Code = -1
+			this.Data["json"] = &errinfo
+			this.ServeJSON()
+			return
+		}else {
+			model.Code = classall.Code1
+			err = svc.UpdateEntityBytbl(OilTechnologyServiceClassName, classall.Id1, &model, colsCode)
+		}
+	}
+	if classall.Code2 != ""{
+		where := " Code = " + classall.Code2 +" and Id <> "+utils.ToStr(classall.Id2)
+		svc.GetEntitysByWhere(OilTechnologyServiceClassName, where, &classmodel)
+		if len(classmodel) > 0 {
+			errinfo.Message = "二级编码已存在,请重新添加!"
+			errinfo.Code = -1
+			this.Data["json"] = &errinfo
+			this.ServeJSON()
+			return
+		}else {
+			model.Code = classall.Code2
+			err = svc.UpdateEntityBytbl(OilTechnologyServiceClassName, classall.Id2, &model, colsCode)
+		}
+	}
+	if classall.Code3 != ""{
+		where := " Code = " + classall.Code3 +" and Id <> "+utils.ToStr(classall.Id3)
+		svc.GetEntitysByWhere(OilTechnologyServiceClassName, where, &classmodel)
+		if len(classmodel) > 0 {
+			errinfo.Message = "三级编码已存在,请重新添加!"
+			errinfo.Code = -1
+			this.Data["json"] = &errinfo
+			this.ServeJSON()
+			return
+		}else {
+			model.Code = classall.Code3
+			err = svc.UpdateEntityBytbl(OilTechnologyServiceClassName, classall.Id3, &model, colsCode)
+		}
+	}
+	if classall.Code4 != ""{
+		where := " Code = " + classall.Code4 +" and Id <> "+utils.ToStr(classall.Id4)
+		svc.GetEntitysByWhere(OilTechnologyServiceClassName, where, &classmodel)
+		if len(classmodel) > 0 {
+			errinfo.Message = "四级编码已存在,请重新添加!"
+			errinfo.Code = -1
+			this.Data["json"] = &errinfo
+			this.ServeJSON()
+			return
+		}else {
+			model.Code = classall.Code4
+			err = svc.UpdateEntityBytbl(OilTechnologyServiceClassName, classall.Id4, &model, colsCode)
+		}
+	}
+	if err == nil {
+		errinfo.Message = "修改成功!"
+		errinfo.Code = 0
+		this.Data["json"] = &errinfo
+		this.ServeJSON()
+	} else {
+		errinfo.Message = "修改失败!" + utils.AlertProcess(err.Error())
+		errinfo.Code = -1
+		this.Data["json"] = &errinfo
+		this.ServeJSON()
+	}
+}
+
+
 // @Title 删除单条信息
 // @Description
 // @Success 200 {object} ErrorInfo

+ 16 - 0
src/dashoo.cn/backend/api/controllers/oilsupplier/technologyserviceclass.go

@@ -1,6 +1,7 @@
 package oilsupplier
 
 import (
+	"dashoo.cn/backend/api/business/oilsupplier/technologyservice"
 	"encoding/json"
 	"strings"
 	"time"
@@ -156,6 +157,21 @@ func (this *OilTechnologyServiceClassController) GetEntity() {
 	this.ServeJSON()
 }
 
+// @Title 获取实体
+// @Description 获取实体
+// @Success 200 {object} technologyserviceclass.OilTechnologyServiceClass
+// @router /getcodename/:id [get]
+func (this *OilTechnologyServiceClassController) GetCodeEntity() {
+	Id := this.Ctx.Input.Param(":id")
+	where := " Code = "+ Id
+	var model technologyservice.OilTechnologyClassServiceView
+	svc := technologyserviceclass.GetOilTechnologyServiceClassService(utils.DBE)
+	svc.GetEntityByWhere(OilTechsrvClassViewName, where, &model)
+
+	this.Data["json"] = &model
+	this.ServeJSON()
+}
+
 // @Title 添加
 // @Description 新增
 // @Success	200	{object} controllers.Request

+ 7 - 0
src/dashoo.cn/frontend_web/src/api/oilsupplier/goodsaptitude.js

@@ -32,6 +32,13 @@ export default {
       data: formData
     })
   },
+  updateCodeEntity (myclassid,formData, myAxios) {
+    return myAxios({
+      url: '/goodsaptitude/updatecode/'+ myclassid,
+      method: 'post',
+      data: formData
+    })
+  },
   deleteEntity (entityId, myAxios) {
     return myAxios({
       url: '/goodsaptitude/delete/' + entityId,

+ 7 - 0
src/dashoo.cn/frontend_web/src/api/oilsupplier/technologyservice.js

@@ -32,6 +32,13 @@ export default {
       data: formData
     })
   },
+  updateCodeEntity (myclassid,formData, myAxios) {
+    return myAxios({
+      url: '/technologyservice/updatecode/'+ myclassid,
+      method: 'post',
+      data: formData
+    })
+  },
   deleteEntity (entityId, myAxios) {
     return myAxios({
       url: '/technologyservice/delete/' + entityId,

+ 11 - 0
src/dashoo.cn/frontend_web/src/pages/oilsupplier/basisbuild/_opera/operation.vue

@@ -19,6 +19,17 @@
       </div>
       <el-form label-width="240px" ref="EntityForm" :model="formData">
         <el-row>
+          <el-col :span="8">
+            <el-form-item v-if="serviceId != 'add'" label="名称" label-width="110px">
+              <el-input v-model="formData.Name" placeholder="请输入">
+              </el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :span="8">
+            <el-form-item v-if="serviceId != 'add'" label-width="110px" label="编码">
+              <el-input v-model="formData.Code" style="width:100%" placeholder="请输入"></el-input>
+            </el-form-item>
+          </el-col>
           <el-col :span="8">
             <el-form-item v-if="serviceId == 'add'" label="名称" label-width="110px">
               <el-input ref="selectAuditer" readonly v-model="auditerName" placeholder="请选择名称">

+ 10 - 21
src/dashoo.cn/frontend_web/src/pages/oilsupplier/basisbuild/index.vue

@@ -33,35 +33,21 @@
           </el-form-item>
         </el-form>
       </div>
-      <el-table :data="entityList" id="rebateSetTable" size="mini" border height="calc(100vh - 243px)" style="width: 100%"
-        @sort-change="orderby">
+      <el-table :data="entityList" id="rebateSetTable" size="mini" border height="calc(100vh - 243px)"
+        style="width: 100%" @sort-change="orderby">
         <el-table-column label="操作" min-width="200" align="center" fixed="right">
           <template slot-scope="scope">
             <router-link :to="'/oilsupplier/basisbuild/' + scope.row.Id + '/operation'">
               <el-button type="primary" plain title="编辑" size="mini">编辑</el-button>
             </router-link>
-            <el-dropdown @command="MoreCmdClick">
+            <!-- <el-dropdown @command="MoreCmdClick">
               <el-button size="mini" type="primary" plain>
                 更多<i class="el-icon-arrow-down el-icon--right"></i>
               </el-button>
               <el-dropdown-menu slot="dropdown">
                 <el-dropdown-item :command="GetCommand('Set', scope.row)">审核部门</el-dropdown-item>
-                <!--<el-dropdown-item :command="GetCommand('Delete', scope.row)">删除数据</el-dropdown-item>-->
               </el-dropdown-menu>
-            </el-dropdown>
-            <!--<el-popover placement="top" title="提示">-->
-            <!--<el-alert-->
-            <!--title=""-->
-            <!--description="确认要删除吗?"-->
-            <!--type="warning"-->
-            <!--:closable="false">-->
-            <!--</el-alert>-->
-            <!--<br/>-->
-            <!--<div style="text-align: right; margin: 0">-->
-            <!--<el-button type="primary" size="mini" @click="deleteEntity(scope.row)">删除</el-button>-->
-            <!--</div>-->
-            <!--<el-button slot="reference" type="primary" plain title="删除" style="margin-left:3px" size="mini">删除</el-button>-->
-            <!--</el-popover>-->
+            </el-dropdown> -->
           </template>
         </el-table-column>
 
@@ -370,9 +356,12 @@
       },
       exportExcel() {
         /* generate workbook object from table */
-        let wb = XLSX.utils.table_to_book(
-          document.querySelector("#rebateSetTable")
-        );
+        let table = document.querySelector("#rebateSetTable").cloneNode(true); //克隆备份(原table不动)
+        // 因为element-ui的表格的fixed属性导致多出一个table,会下载重复内容,这里删除掉
+        table.removeChild(table.querySelector(".el-table__fixed-right")) //删掉备份的子节点
+        let wb = XLSX.utils.table_to_book(table, {
+          raw: true
+        });
         /* get binary string as output */
         let wbout = XLSX.write(wb, {
           bookType: "xlsx",

+ 12 - 0
src/dashoo.cn/frontend_web/src/pages/oilsupplier/goodsaptitude/_opera/operation.vue

@@ -47,6 +47,18 @@
             </el-form-item>
           </el-col> -->
 
+          <!-- <el-col :span="8">
+            <el-form-item v-if="serviceId != 'add'" label="名称" label-width="110px">
+              <el-input v-model="formData.Name" placeholder="请输入">
+              </el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :span="8">
+            <el-form-item v-if="serviceId != 'add'" label-width="110px" label="编码">
+              <el-input v-model="formData.Code" style="width:100%" placeholder="请输入"></el-input>
+            </el-form-item>
+          </el-col> -->
+
           <el-col :span="8">
             <el-form-item v-if="serviceId == 'add'" label="名称" label-width="110px">
               <el-input ref="selectAuditer" readonly v-model="auditerName" placeholder="请选择名称">

+ 158 - 41
src/dashoo.cn/frontend_web/src/pages/oilsupplier/goodsaptitude/index.vue

@@ -35,8 +35,8 @@
           </el-form-item>
         </el-form>
       </div>
-      <el-table :data="entityList" id="rebateSetTable" size="mini" border height="calc(100vh - 243px)" style="width: 100%"
-        @sort-change="orderby">
+      <el-table :data="entityList" id="rebateSetTable" size="mini" border height="calc(100vh - 243px)"
+        style="width: 100%" @sort-change="orderby">
         <el-table-column label="操作" min-width="200" align="center" fixed="right">
           <template slot-scope="scope">
             <router-link :to="'/oilsupplier/goodsaptitude/' + scope.row.Id + '/operation'">
@@ -47,26 +47,10 @@
                 更多<i class="el-icon-arrow-down el-icon--right"></i>
               </el-button>
               <el-dropdown-menu slot="dropdown">
-                <el-dropdown-item :command="GetCommand('Set', scope.row)">审核部门</el-dropdown-item>
-                <!--<el-dropdown-item :command="GetCommand('Delete', scope.row)">删除数据</el-dropdown-item>-->
+                <!-- <el-dropdown-item :command="GetCommand('Set', scope.row)">审核部门</el-dropdown-item> -->
+                <el-dropdown-item :command="GetCommand('CodeEdit', scope.row)">编码名称修改</el-dropdown-item>
               </el-dropdown-menu>
             </el-dropdown>
-            <!--<el-button size="small" type="text" style="margin-left:3px" title="审批部门" @click="deptSet(scope.row)">-->
-            <!--<i class="icon icon-users"></i>-->
-            <!--</el-button>-->
-            <!--<el-popover placement="top" title="提示" v-model="scope.row.deleteConfirmFlag">-->
-            <!--<el-alert-->
-            <!--title=""-->
-            <!--description="确认要删除吗?"-->
-            <!--type="warning"-->
-            <!--:closable="false">-->
-            <!--</el-alert>-->
-            <!--<br/>-->
-            <!--<div style="text-align: right; margin: 0">-->
-            <!--<el-button type="primary" size="mini" @click="deleteEntity(scope.row)">删除</el-button>-->
-            <!--</div>-->
-            <!--<el-button slot="reference" type="primary" plain title="删除" style="margin-left:3px" size="mini">删除</el-button>-->
-            <!--</el-popover>-->
           </template>
         </el-table-column>
 
@@ -202,6 +186,67 @@
         <el-button type="primary" @click="saveApprovalDept()">确定</el-button>
       </div>
     </el-dialog>
+    <el-dialog title="名称编码修改" :visible.sync="codeeditshow" width="720px">
+      <el-form label-width="110px">
+        <el-row>
+          <el-col :span="12">
+            <el-form-item label="大类名称">
+              <el-input size="mini" v-model="formData.Name1" style="width:100%" placeholder="请输入"></el-input>
+            </el-form-item>
+          </el-col>
+
+          <el-col :span="12">
+            <el-form-item label="大类编码">
+              <el-input size="mini" v-model="formData.Code1" @change="Name1Change" style="width:100%" placeholder="请输入">
+              </el-input>
+            </el-form-item>
+          </el-col>
+
+          <el-col :span="12">
+            <el-form-item label="中类名称">
+              <el-input size="mini" v-model="formData.Name2" style="width:100%" placeholder="请输入">
+              </el-input>
+            </el-form-item>
+          </el-col>
+
+          <el-col :span="12">
+            <el-form-item label="中类编码">
+              <el-input size="mini" v-model="formData.Code2" @change="Name2Change" style="width:100%" placeholder="请输入">
+              </el-input>
+            </el-form-item>
+          </el-col>
+
+          <el-col :span="12">
+            <el-form-item label="小类名称">
+              <el-input size="mini" v-model="formData.Name3" style="width:100%" placeholder="请输入"></el-input>
+            </el-form-item>
+          </el-col>
+
+          <el-col :span="12">
+            <el-form-item label="小类编码">
+              <el-input size="mini" v-model="formData.Code3" @change="Name3Change" style="width:100%" placeholder="请输入">
+              </el-input>
+            </el-form-item>
+          </el-col>
+
+          <el-col :span="12">
+            <el-form-item label="品名">
+              <el-input size="mini" v-model="formData.Name4" style="width:100%" placeholder="请输入"></el-input>
+            </el-form-item>
+          </el-col>
+
+          <el-col :span="12">
+            <el-form-item label="品名编码">
+              <el-input size="mini" v-model="formData.Code4" style="width:100%" placeholder="请输入"></el-input>
+            </el-form-item>
+          </el-col>
+        </el-row>
+      </el-form>
+      <span slot="footer" class="dialog-footer">
+        <el-button size="mini" @click="codeeditshow = false">取 消</el-button>
+        <el-button size="mini" type="primary" @click="codeedit">修 改</el-button>
+      </span>
+    </el-dialog>
   </div>
 </template>
 <script>
@@ -223,7 +268,9 @@
 
     data() {
       return {
+        codeeditshow: false,
         classid: '',
+        myclassid: '',
         deptsetVisible: false,
         dialogVisible: false,
         // 列表数据
@@ -237,6 +284,23 @@
           Order: '',
           Prop: ''
         },
+        formData: {
+          Id: '',
+          Id1: '',
+          Id2: '',
+          Id3: '',
+          Id4: '',
+          Code: '',
+          Name: '',
+          Code1: '',
+          Name1: '',
+          Code2: '',
+          Name2: '',
+          Code3: '',
+          Name3: '',
+          Code4: '',
+          Name4: '',
+        },
         // 查询时间
         CreateOn: [],
         // 查询项
@@ -438,29 +502,78 @@
       this.getDictOptions()
     },
     methods: {
+      Name1Change(val) {
+        this.formData.Code2 = this.formData.Code2.replace(/^(\w{0})\w{2}(.*)$/, '$1' + val + '$2')
+        this.formData.Code3 = this.formData.Code3.replace(/^(\w{0})\w{2}(.*)$/, '$1' + val + '$2')
+        this.formData.Code4 = this.formData.Code4.replace(/^(\w{0})\w{2}(.*)$/, '$1' + val + '$2')
+      },
+      Name2Change(val) {
+        this.formData.Code3 = this.formData.Code3.replace(/^(\w{0})\w{4}(.*)$/, '$1' + val + '$2')
+        this.formData.Code4 = this.formData.Code4.replace(/^(\w{0})\w{4}(.*)$/, '$1' + val + '$2')
+      },
+      Name3Change(val) {
+        this.formData.Code4 = this.formData.Code4.replace(/^(\w{0})\w{6}(.*)$/, '$1' + val + '$2')
+      },
+      CodeNameEdit(val) {
+        this.myclassid = val.ClassId
+        this.$axios.get('goodsaptitudeclass/getcodename/' + val.Code, {})
+          .then(res => {
+            // response
+            this.formData = res.data
+            this.codeeditshow = true
+          })
+          .catch(err => {
+            console.log(err)
+          })
+      },
+      codeedit() {
+        api.updateCodeEntity(this.myclassid, this.formData, this.$axios).then(res => {
+          if (res.data.code === 0) {
+            //保存成功后,初始化数据,变成修改
+            this.codeeditshow = false
+            this.initDatas();
+            this.$message({
+              type: 'success',
+              message: res.data.message
+            });
+
+          } else {
+            this.$message({
+              type: 'warning',
+              message: res.data.message
+            });
+          }
+        }).catch(err => {
+          console.error(err)
+        });
+      },
       exportExcel() {
-      /* generate workbook object from table */
-      let wb = XLSX.utils.table_to_book(
-        document.querySelector("#rebateSetTable")
-      );
-      /* get binary string as output */
-      let wbout = XLSX.write(wb, {
-        bookType: "xlsx",
-        bookSST: true,
-        type: "array"
-      });
-      try {
-        FileSaver.saveAs(
-          new Blob([wbout], { type: "application/octet-stream" }),
-          "Goods.xlsx"
-        );
-      } catch (e) {
-        if (typeof console !== "undefined") console.log(e, wbout);
-      }
-      return wbout;
-    },
+        /* generate workbook object from table */
+        let table = document.querySelector("#rebateSetTable").cloneNode(true); //克隆备份(原table不动)
+        // 因为element-ui的表格的fixed属性导致多出一个table,会下载重复内容,这里删除掉
+        table.removeChild(table.querySelector(".el-table__fixed-right")) //删掉备份的子节点
+        let wb = XLSX.utils.table_to_book(table, {
+          raw: true
+        });
+        /* get binary string as output */
+        let wbout = XLSX.write(wb, {
+          bookType: "xlsx",
+          bookSST: true,
+          type: "array"
+        });
+        try {
+          FileSaver.saveAs(
+            new Blob([wbout], {
+              type: "application/octet-stream"
+            }),
+            "Goods.xlsx"
+          );
+        } catch (e) {
+          if (typeof console !== "undefined") console.log(e, wbout);
+        }
+        return wbout;
+      },
       initTableHeader() {
-
         setapi.initGoodTableHeader(this.$axios).then(res => {
           console.log(res)
           this.dynamicTableColumns = res.data.items
@@ -551,11 +664,15 @@
         })
       },
 
+      
+
       MoreCmdClick(cmd) {
         if (cmd.Command === 'Set') {
           this.deptSet(cmd.row)
         } else if (cmd.Command === 'Delete') {
           this.deleteEntity(cmd.row)
+        } else if (cmd.Command === 'CodeEdit') {
+          this.CodeNameEdit(cmd.row)
         }
       },
       GetCommand(cmdType, row) {

+ 28 - 28
src/dashoo.cn/frontend_web/src/pages/oilsupplier/technologyservice/_opera/operation.vue

@@ -18,26 +18,26 @@
         </span>
       </div>
       <el-form label-width="240px" ref="EntityForm" :model="formData">
-         <el-row>
-           <el-col :span="8">
+        <el-row>
+          <el-col :span="8">
             <el-form-item v-if="serviceId == 'add'" label="名称" label-width="110px">
               <el-input ref="selectAuditer" readonly v-model="auditerName" placeholder="请选择名称">
                 <el-button slot="append" placeholder="选择" @click="goodsDialog = true">选择</el-button>
               </el-input>
             </el-form-item>
           </el-col>
-          <el-col :span="8">
+          <!-- <el-col :span="8">
             <el-form-item v-if="serviceId == 'add'" label-width="110px" label="部门ID">
               <el-input v-model="formData.OrgId" style="width:100%" placeholder="请输入"></el-input>
             </el-form-item>
-          </el-col>
+          </el-col> -->
         </el-row>
-       <el-row>
-            <el-col :span="6" v-for="(item,i) in dynamicTableColumns" :key="i" >
-              <el-form-item :label="item.label">
-                <el-switch v-model="formData[item.prop]" active-value="1" inactive-value="0"></el-switch>
-              </el-form-item>
-            </el-col>
+        <el-row>
+          <el-col :span="6" v-for="(item,i) in dynamicTableColumns" :key="i">
+            <el-form-item :label="item.label">
+              <el-switch v-model="formData[item.prop]" active-value="1" inactive-value="0"></el-switch>
+            </el-form-item>
+          </el-col>
         </el-row>
       </el-form>
     </el-card>
@@ -158,7 +158,7 @@
           ModifiedBy: '',
 
         },
-        dynamicTableColumns:[],
+        dynamicTableColumns: [],
         checkList: []
         //下拉选择项
         //wellNoOptions: [],
@@ -170,21 +170,21 @@
       this.serviceId = this.$route.params.opera;
       this.getDictOptions();
       console.log(this.serviceId);
-      if(this.serviceId != 'add' && this.serviceId>0) {
+      if (this.serviceId != 'add' && this.serviceId > 0) {
         this.formData.Id = this.serviceId;
         this.initDatas();
       } else {
         this.formData.Id = 0;
       }
-        this.initTableHeader();
-        this.getorgtreelist()
+      this.initTableHeader();
+      this.getorgtreelist()
     },
     methods: {
-       initTableHeader(){
-        
+      initTableHeader() {
+
         setapi.initTsTableHeader(this.$axios).then(res => {
-          
-          this.dynamicTableColumns=res.data.items
+
+          this.dynamicTableColumns = res.data.items
           console.log(res.data.items)
         })
       },
@@ -203,7 +203,7 @@
             console.error(err)
           })
       },
-      selectgood () {
+      selectgood() {
         let val = this.$refs.orgmanagetree.getCheckedNodes()
         this.checkList = []
         for (var i = 0; i < val.length; i++) {
@@ -211,23 +211,23 @@
             this.checkList.push(val[i])
           }
         }
-        if (this.checkList.length > 1){
+        if (this.checkList.length > 1) {
           this.$message({
             type: 'warning',
             message: '只能选择一个分类!'
           })
           return
-        }else if(this.checkList.length == 1) {
+        } else if (this.checkList.length == 1) {
           this.auditerName = this.checkList[0].Name
-           this.formData.Code = this.checkList[0].Code
-           this.formData.Name = this.checkList[0].Name
-           this.classid = this.checkList[0].id
+          this.formData.Code = this.checkList[0].Code
+          this.formData.Name = this.checkList[0].Name
+          this.classid = this.checkList[0].id
         }
         this.goodsDialog = false
-        console.log("---",this.checkList)
+        console.log("---", this.checkList)
       },
       initDatas() {
-        if(this.formData.Id) {
+        if (this.formData.Id) {
           api.getEntity(this.formData.Id, this.$axios).then(res => {
             this.formData = res.data;
           }).catch(err => {
@@ -264,7 +264,7 @@
       },
 
       addEntity() {
-        api.addEntity(this.classid,this.formData, this.$axios).then(res => {
+        api.addEntity(this.classid, this.formData, this.$axios).then(res => {
           if (res.data.code === 0) {
             //保存成功后,初始化数据,变成修改
             this.formData.Id = res.data.item;
@@ -332,5 +332,5 @@
       }
     }
   }
-</script>
 
+</script>

+ 129 - 18
src/dashoo.cn/frontend_web/src/pages/oilsupplier/technologyservice/index.vue

@@ -45,23 +45,10 @@
                 更多<i class="el-icon-arrow-down el-icon--right"></i>
               </el-button>
               <el-dropdown-menu slot="dropdown">
-                <el-dropdown-item :command="GetCommand('Set', scope.row)">审核部门</el-dropdown-item>
-                <!--<el-dropdown-item :command="GetCommand('Delete', scope.row)">删除数据</el-dropdown-item>-->
+                <!-- <el-dropdown-item :command="GetCommand('Set', scope.row)">审核部门</el-dropdown-item> -->
+                <el-dropdown-item :command="GetCommand('CodeEdit', scope.row)">编码名称修改</el-dropdown-item>
               </el-dropdown-menu>
             </el-dropdown>
-            <!--<el-popover placement="top" title="提示">-->
-            <!--<el-alert-->
-            <!--title=""-->
-            <!--description="确认要删除吗?"-->
-            <!--type="warning"-->
-            <!--:closable="false">-->
-            <!--</el-alert>-->
-            <!--<br/>-->
-            <!--<div style="text-align: right; margin: 0">-->
-            <!--<el-button type="primary" size="mini" @click="deleteEntity(scope.row)">删除</el-button>-->
-            <!--</div>-->
-            <!--<el-button slot="reference" type="primary" plain title="删除" style="margin-left:3px" size="mini">删除</el-button>-->
-            <!--</el-popover>-->
           </template>
         </el-table-column>
 
@@ -198,6 +185,60 @@
         <el-button type="primary" @click="saveApprovalDept()">确定</el-button>
       </div>
     </el-dialog>
+    <el-dialog title="名称编码修改" :visible.sync="codeeditshow" width="720px">
+      <el-form label-width="110px">
+        <el-row>
+          <el-col :span="12">
+            <el-form-item label="一级名称" label-width="110px">
+              <el-input v-model="formData.Name1" placeholder="请输入">
+              </el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :span="12">
+            <el-form-item label-width="110px" label="一级编码">
+              <el-input v-model="formData.Code1" @change="Name1Change"  style="width:100%" placeholder="请输入"></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :span="12">
+            <el-form-item label="二级名称" label-width="110px">
+              <el-input v-model="formData.Name2" placeholder="请输入" :disabled="formData.Name2 == ''">
+              </el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :span="12">
+            <el-form-item label-width="110px" label="二级编码">
+              <el-input v-model="formData.Code2" @change="Name2Change" style="width:100%" placeholder="请输入" :disabled="formData.Code2 == ''"></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :span="12">
+            <el-form-item label="三级名称" label-width="110px">
+              <el-input v-model="formData.Name3" placeholder="请输入"  :disabled="formData.Name3 == ''">
+              </el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :span="12">
+            <el-form-item label-width="110px" label="三级编码">
+              <el-input v-model="formData.Code3" @change="Name3Change" style="width:100%" placeholder="请输入"  :disabled="formData.Code3 == ''"></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :span="12">
+            <el-form-item label="四级名称" label-width="110px">
+              <el-input v-model="formData.Name4" placeholder="请输入"  :disabled="formData.Name4 == ''">
+              </el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :span="12">
+            <el-form-item label-width="110px" label="四级编码">
+              <el-input v-model="formData.Code4" style="width:100%" placeholder="请输入"  :disabled="formData.Code4 == ''"></el-input>
+            </el-form-item>
+          </el-col>
+        </el-row>
+      </el-form>
+      <span slot="footer" class="dialog-footer">
+        <el-button size="mini" @click="codeeditshow = false">取 消</el-button>
+        <el-button size="mini" type="primary" @click="codeedit">修 改</el-button>
+      </span>
+    </el-dialog>
 
   </div>
 </template>
@@ -220,6 +261,8 @@
 
     data() {
       return {
+        codeeditshow: false,
+        classid: '',
         deptsetVisible: false,
         dialogVisible: false,
         // 列表数据
@@ -237,6 +280,23 @@
         CreateOn: [],
         // 查询项
         searchFormReset: {},
+        formData: {
+          Id: '',
+          Id1: '',
+          Id2: '',
+          Id3: '',
+          Id4: '',
+          Code: '',
+          Name: '',
+          Code1: '',
+          Name1: '',
+          Code2: '',
+          Name2: '',
+          Code3: '',
+          Name3: '',
+          Code4: '',
+          Name4: '',
+        },
         searchForm: {
           Code: '',
           Name: '',
@@ -410,12 +470,15 @@
       },
       exportExcel() {
         this.size = this.currentItemCount; //表格长度变长
+        this.initDatas()
         this.$nextTick(function () {
           /* generate workbook object from table */
-          let table = document.querySelector("#rebateSetTable").cloneNode(true);//克隆备份(原table不动)
+          let table = document.querySelector("#rebateSetTable").cloneNode(true); //克隆备份(原table不动)
           // 因为element-ui的表格的fixed属性导致多出一个table,会下载重复内容,这里删除掉
-          table.removeChild(table.querySelector(".el-table__fixed-right"))//删掉备份的子节点
-          let wb = XLSX.utils.table_to_book(table,{raw:true});
+          table.removeChild(table.querySelector(".el-table__fixed-right")) //删掉备份的子节点
+          let wb = XLSX.utils.table_to_book(table, {
+            raw: true
+          });
           /* get binary string as output */
           let wbout = XLSX.write(wb, {
             bookType: "xlsx",
@@ -433,10 +496,23 @@
             if (typeof console !== "undefined") console.log(e, wbout);
           }
           this.size = '10'; //表格还原
+          this.initDatas()
           return wbout
         })
 
       },
+      Name1Change(val) {
+        this.formData.Code2 = this.formData.Code2.replace(/^(\w{0})\w{2}(.*)$/, '$1' + val + '$2')
+        this.formData.Code3 = this.formData.Code3.replace(/^(\w{0})\w{2}(.*)$/, '$1' + val + '$2')
+        this.formData.Code4 = this.formData.Code4.replace(/^(\w{0})\w{2}(.*)$/, '$1' + val + '$2')
+      },
+      Name2Change(val) {
+        this.formData.Code3 = this.formData.Code3.replace(/^(\w{0})\w{4}(.*)$/, '$1' + val + '$2')
+        this.formData.Code4 = this.formData.Code4.replace(/^(\w{0})\w{4}(.*)$/, '$1' + val + '$2')
+      },
+      Name3Change(val) {
+        this.formData.Code4 = this.formData.Code4.replace(/^(\w{0})\w{6}(.*)$/, '$1' + val + '$2')
+      },
       saveApprovalDept() {
         let organizeids = []
         let organize = this.$refs.operationOriganizeTree.getCheckedNodes()
@@ -486,6 +562,8 @@
           this.deptSet(cmd.row)
         } else if (cmd.Command === 'Delete') {
           this.deleteEntity(cmd.row)
+        } else if (cmd.Command === 'CodeEdit') {
+          this.CodeNameEdit(cmd.row)
         }
       },
       GetCommand(cmdType, row) {
@@ -521,7 +599,40 @@
           console.error(err)
         })
       },
+      CodeNameEdit(val) {
+        this.myclassid = val.ClassId
+        this.$axios.get('technologyserviceclass/getcodename/' + val.Code, {})
+          .then(res => {
+            // response
+            this.formData = res.data
+            console.log("----this.fordat",this.formData)
+            this.codeeditshow = true
+          })
+          .catch(err => {
+            console.log(err)
+          })
+      },
+      codeedit() {
+        api.updateCodeEntity(this.myclassid, this.formData, this.$axios).then(res => {
+          if (res.data.code === 0) {
+            //保存成功后,初始化数据,变成修改
+            this.codeeditshow = false
+            this.initDatas();
+            this.$message({
+              type: 'success',
+              message: res.data.message
+            });
 
+          } else {
+            this.$message({
+              type: 'warning',
+              message: res.data.message
+            });
+          }
+        }).catch(err => {
+          console.error(err)
+        });
+      },
       getDictOptions() {
         api.getDictList(this.$axios).then(res => {
           this.AuditStepOptions = res.data.items['AuditStep']