瀏覽代碼

审批路径配置

lining 6 年之前
父節點
當前提交
4c26923883
共有 18 個文件被更改,包括 359 次插入136 次删除
  1. 14 1
      src/dashoo.cn/backend/api/business/auditsetting/oilauditsetting.go
  2. 8 0
      src/dashoo.cn/backend/api/business/auditsetting/oilauditsettingService.go
  3. 0 5
      src/dashoo.cn/backend/api/business/oilsupplier/suppliercert/oilsuppliercert.go
  4. 7 0
      src/dashoo.cn/backend/api/business/oilsupplier/suppliercert/oilsuppliercertService.go
  5. 1 0
      src/dashoo.cn/backend/api/controllers/base.go
  6. 8 4
      src/dashoo.cn/backend/api/controllers/oilsupplier/annualaudit.go
  7. 26 14
      src/dashoo.cn/backend/api/controllers/oilsupplier/supplier.go
  8. 21 12
      src/dashoo.cn/backend/api/controllers/oilsupplier/suppliercert.go
  9. 15 9
      src/dashoo.cn/backend/api/controllers/oilsupplier/suppliercertappend.go
  10. 74 12
      src/dashoo.cn/backend/api/controllers/system/auditsetting.go
  11. 6 0
      src/dashoo.cn/frontend_web/src/api/system/auditsetting.js
  12. 1 1
      src/dashoo.cn/frontend_web/src/pages/oilsupplier/supplier/_opera/basisedit.vue
  13. 1 1
      src/dashoo.cn/frontend_web/src/pages/oilsupplier/supplier/_opera/goodsedit.vue
  14. 1 1
      src/dashoo.cn/frontend_web/src/pages/oilsupplier/supplier/_opera/techedit.vue
  15. 2 2
      src/dashoo.cn/frontend_web/src/pages/oilsupplier/supplieraudit/_opera/basisedit.vue
  16. 6 6
      src/dashoo.cn/frontend_web/src/pages/oilsupplier/supplieraudit/_opera/goodsedit.vue
  17. 6 6
      src/dashoo.cn/frontend_web/src/pages/oilsupplier/supplieraudit/_opera/techedit.vue
  18. 162 62
      src/dashoo.cn/frontend_web/src/pages/system/auditsetting/_opera/operation.vue

+ 14 - 1
src/dashoo.cn/backend/api/business/auditsetting/oilauditsetting.go

@@ -12,7 +12,7 @@ type Base_OilAuditSetting struct {
 	AuditStepName  string    `xorm:"comment('审批步骤名称') VARCHAR(50)"`
 	RoleId         int       `xorm:"not null default 0 comment('角色ID') INT(10)"`
 	RoleName       string    `xorm:"comment('角色名称') VARCHAR(50)"`
-	UserId         int       `xorm:"not null default 0 comment('审批人ID') INT(11)"`
+	UserId         string       `xorm:"comment('审批人ID') VARCHAR(50)"`
 	UserName       string    `xorm:"comment('审批人') VARCHAR(50)"`
 	WorkFlowCord   string    `xorm:"comment('工作流编码') VARCHAR(50)"`
 	WorkFlowName   string    `xorm:"comment('工作流名称') VARCHAR(50)"`
@@ -25,3 +25,16 @@ type Base_OilAuditSetting struct {
 	ModifiedUserId int       `xorm:"INT(10)"`
 	ModifiedBy     string    `xorm:"VARCHAR(50)"`
 }
+
+type OilAuditUser struct {
+	Id             int       `xorm:"not null pk autoincr INT(11)"`
+	SettingId      int       `xorm:"INT(11)"`
+	UserId         int       `xorm:"INT(11)"`
+	UserName       string    `xorm:"VARCHAR(20)"`
+	CreateOn       time.Time `xorm:"DATETIME"`
+	CreateUserId   int       `xorm:"INT(10)"`
+	CreateBy       string    `xorm:"VARCHAR(50)"`
+	ModifiedOn     time.Time `xorm:"DATETIME"`
+	ModifiedUserId int       `xorm:"INT(10)"`
+	ModifiedBy     string    `xorm:"VARCHAR(50)"`
+}

+ 8 - 0
src/dashoo.cn/backend/api/business/auditsetting/oilauditsettingService.go

@@ -38,3 +38,11 @@ func (s *OilAuditSettingService) GetUserByRole(roleid string, acccode string) (u
 	//	`where a.RoleId =` + roleid + ` and b.Realname is not null and b.AccCode = '` + acccode + `' `).Find(&users)
 	return users
 }
+
+// 获取审核人列表
+func (s *OilAuditSettingService)GetAuditUserList (Id string, entityPtr interface{})  {
+	where := "SettingId=" + Id
+	sql := "SELECT UserId Id, UserName RealName FROM OilAuditUser where " + where
+	s.DBE.SQL(sql).Find(entityPtr)
+	return
+}

+ 0 - 5
src/dashoo.cn/backend/api/business/oilsupplier/suppliercert/oilsuppliercert.go

@@ -67,11 +67,6 @@ type OilSupplierVM struct {
 	SupplierTypeName string
 }
 
-type UserList struct {
-	UserId       int64  `json:"userid"`
-	UserName string `json:"username"`
-}
-
 const (
 	DRAFT_STATUS string = "0" //草稿状态
 	FIRST_TRIAL_STATUS string = "1" //二级单位初审

+ 7 - 0
src/dashoo.cn/backend/api/business/oilsupplier/suppliercert/oilsuppliercertService.go

@@ -131,3 +131,10 @@ func (s *OilSupplierCertService) IsCanApplyByExtOrganizeUser(applyType, departme
 	}
 	return true
 }
+
+func (s *OilSupplierCertService) GetAuditUser(organizeId, auditstepcode string, entitiesPtr interface{}){
+	where := "OrganizeId=" + organizeId + " and AuditStepCode='" + auditstepcode + "'"
+	sql := "SELECT a.UserId Id, a.UserName RealName FROM Base_OilAuditSetting o LEFT JOIN OilAuditUser a ON o.Id = a.SettingId where " + where
+	s.DBE.SQL(sql).Find(entitiesPtr)
+	return
+}

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

@@ -224,6 +224,7 @@ var (
 	UserQualificationName                    string = "UserQualification"           //用户资质表
 	LimsInstrumentGroup                      string = "LimsInstrumentGroup"         // 检测仪器关联
 	OilAuditSettingName                      string = "Base_OilAuditSetting"        // 单位审批步骤自定义配置
+	OilAuditUserName                         string = "OilAuditUser"                // 单位审批步骤 --审核人
 	OilBasisBuildName                        string = "OilBasisBuild"               // 基建类资质对照表
 	OilGoodsAptitudeName                     string = "OilGoodsAptitude"            // 物资类项目与资质对照表
 	OilTableFiledSettingName                 string = "OilTableFiledSetting"        // 资质项目与字段对照表

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

@@ -2,7 +2,6 @@ package oilsupplier
 
 import (
 	"dashoo.cn/backend/api/business/baseUser"
-	"dashoo.cn/backend/api/business/oilsupplier/suppliercert"
 	"dashoo.cn/backend/api/business/organize"
 	"dashoo.cn/backend/api/business/paymentinfo"
 	"dashoo.cn/business2/areajson"
@@ -435,12 +434,17 @@ func (this *AnnualAuditController) AnnualAudit() {
 	//审核状态判断进行的操作
 	if dataother.SuccessStatus == 1 {
 		var errinfo ErrorInfo
-		var users []suppliercert.UserList
+		var auditset []auditsetting.Base_OilAuditSetting
 		where := "OrganizeId=" + ProfAudit + " and AuditStepCode='" + workflow.PROF_RECE + "'"
-		svc.GetEntitysByWhere(OilAuditSettingName,where, &users)
+		svc.GetEntitysByWhere(OilAuditSettingName,where, &auditset)
+		var users []userRole.Base_RoleList
+		if auditset != nil {
+			svc := auditsetting.GetOilAuditSettingService(utils.DBE)
+			svc.GetAuditUserList(strconv.Itoa(auditset[0].Id), &users)
+		}
 		var userIds string
 		for _, tmpUser := range users {
-			userIds += strconv.FormatInt(tmpUser.UserId, 10) + ","
+			userIds += strconv.FormatInt(tmpUser.Id, 10) + ","
 		}
 		userIds = strings.Trim(userIds, ",")
 		var ActiComplete workflow.ActiCompleteVM

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

@@ -1079,23 +1079,28 @@ func (this *OilSupplierController) GetDictListByStatus() {
 	//dictList["EntrustCorp"] = &dictCustomer
 
 	//获得有审核权限的人员
-	var users []suppliercert.UserList
-	rsvc := auditsetting.GetOilAuditSettingService(utils.DBE)
+	//var users []suppliercert.UserList
+	//rsvc := auditsetting.GetOilAuditSettingService(utils.DBE)
+	certSrv := suppliercert.GetOilSupplierCertService(utils.DBE)
+	var users []userRole.Base_RoleList
 	if status == suppliercert.FIRST_TRIAL_STATUS {
 		//rsvc.GetAuditStepRoleEntity(OilAuditSettingName, this.User.DepartmentId, workflow.SECOND_TRIAL, &auditWorkflow)
 		//users = rsvc.GetUserByRole(strconv.Itoa(auditWorkflow.RoleId), this.User.AccCode) //
-		where := "OrganizeId=" + this.User.DepartmentId + " and AuditStepCode='" + workflow.SECOND_TRIAL + "'"
-		rsvc.GetEntitysByWhere(OilAuditSettingName, where, &users)
+		//where := "OrganizeId=" + this.User.DepartmentId + " and AuditStepCode='" + workflow.SECOND_TRIAL + "'"
+		//rsvc.GetEntitysByWhere(OilAuditSettingName, where, &users)
+		certSrv.GetAuditUser(this.User.DepartmentId, workflow.SECOND_TRIAL, &users)
 		dictList["Auditer"] = users
 	} else if status == suppliercert.SECOND_TRIAL_STATUS {
 		//rsvc.GetAuditStepRoleEntity(OilAuditSettingName, this.User.DepartmentId, workflow.SECOND_TRIAL, &auditWorkflow)
 	} else if status == suppliercert.THIRD_TRIAL_STATUS {
-		where := "OrganizeId=" + majorAduit + " and AuditStepCode='" + workflow.SECOND_TRIAL + "'"
-		rsvc.GetEntitysByWhere(OilAuditSettingName, where, &users)
+		//where := "OrganizeId=" + majorAduit + " and AuditStepCode='" + workflow.SECOND_TRIAL + "'"
+		//rsvc.GetEntitysByWhere(OilAuditSettingName, where, &users)
+		certSrv.GetAuditUser(majorAduit, workflow.SECOND_TRIAL, &users)
 		dictList["Auditer"] = users
 	} else if status == suppliercert.PROF_AUDIT_STATUS {
-		where := "OrganizeId=" + this.User.DepartmentId + " and AuditStepCode='" + workflow.PROF_AUDIT + "'"
-		rsvc.GetEntitysByWhere(OilAuditSettingName, where, &users)
+		//where := "OrganizeId=" + this.User.DepartmentId + " and AuditStepCode='" + workflow.PROF_AUDIT + "'"
+		//rsvc.GetEntitysByWhere(OilAuditSettingName, where, &users)
+		certSrv.GetAuditUser(this.User.DepartmentId, workflow.PROF_AUDIT, &users)
 		dictList["Auditer"] = users
 	} else if status == suppliercert.CENT_AUDIT_STATUS {
 
@@ -1479,15 +1484,22 @@ func (this *OilSupplierController) GetAuditerByDept() {
 	Id := this.Ctx.Input.Param(":deptId")
 	auditstepcode := this.GetString("auditstepcode")
 	//var auditWorkflow []auditsetting.Base_OilAuditSetting
-	rsvc := auditsetting.GetOilAuditSettingService(utils.DBE)
+	//rsvc := auditsetting.GetOilAuditSettingService(utils.DBE)
 	//rsvc.GetAuditStepRoleEntity(OilAuditSettingName, Id, workflow.FIRST_TRIAL, &auditWorkflow)
 
-	var user []suppliercert.UserList
-	where := "OrganizeId=" + Id + " and AuditStepCode='" + auditstepcode + "'"
-	rsvc.GetEntitysByWhere(OilAuditSettingName, where, &user)
-
+	//var auditset []auditsetting.Base_OilAuditSetting
+	//where := "OrganizeId=" + Id + " and AuditStepCode='" + auditstepcode + "'"
+	//rsvc.GetEntitysByWhere(OilAuditSettingName, where, &auditset)
+	//var users []userRole.Base_RoleList
+	//if auditset != nil {
+	//	svc := auditsetting.GetOilAuditSettingService(utils.DBE)
+	//	svc.GetAuditUserList(strconv.Itoa(auditset[0].Id), &users)
+	//}
+	certSrv := suppliercert.GetOilSupplierCertService(utils.DBE)
+	var users []userRole.Base_RoleList
+	certSrv.GetAuditUser(Id, auditstepcode, &users)
 	var datainfo ErrorDataInfo
-	datainfo.Item = user
+	datainfo.Item = users
 	this.Data["json"] = &datainfo
 	this.ServeJSON()
 }

+ 21 - 12
src/dashoo.cn/backend/api/controllers/oilsupplier/suppliercert.go

@@ -739,12 +739,15 @@ func (this *OilSupplierCertController) AuditEntityFir() {
 		//rsvc.GetAuditStepRoleEntity(OilAuditSettingName, strconv.Itoa(supplierCertEntity.ThirdAudit), workflow.PROF_RECE, &auditWorkflow1)
 		//users1 = rsvc.GetUserByRole(strconv.Itoa(auditWorkflow1.RoleId), this.User.AccCode)
 
-		var users []suppliercert.UserList
-		where := "OrganizeId=" + strconv.Itoa(supplierCertEntity.ThirdAudit) + " and AuditStepCode='" + workflow.PROF_RECE + "'"
-		certSrv.GetEntitysByWhere(OilAuditSettingName,where, &users)
+		//var auditset []auditsetting.Base_OilAuditSetting
+		//where := "OrganizeId=" + strconv.Itoa(supplierCertEntity.ThirdAudit) + " and AuditStepCode='" + workflow.PROF_RECE + "'"
+		//certSrv.GetEntitysByWhere(OilAuditSettingName,where, &users)
+		var users []userRole.Base_RoleList
+		certSrv.GetAuditUser(strconv.Itoa(supplierCertEntity.ThirdAudit), workflow.PROF_RECE, &users)
+
 
 		for _, tmpUser := range users {
-			userIds += strconv.FormatInt(tmpUser.UserId, 10) + ","
+			userIds += strconv.FormatInt(tmpUser.Id, 10) + ","
 		}
 		userIds = strings.Trim(userIds, ",")
 	} else if supplierCertEntity.Status == "3" {
@@ -759,12 +762,15 @@ func (this *OilSupplierCertController) AuditEntityFir() {
 		//rsvc := auditsetting.GetOilAuditSettingService(utils.DBE)
 		//users1 = rsvc.GetUserByRole("10000204", this.User.AccCode)
 
-		var users []suppliercert.UserList
-		where := "OrganizeId=100000178 and AuditStepCode='" + workflow.PROF_REGULATION + "'"
-		certSrv.GetEntitysByWhere(OilAuditSettingName,where, &users)
+		//var users []suppliercert.UserList
+		//where := "OrganizeId=100000178 and AuditStepCode='" + workflow.PROF_REGULATION + "'"
+		//certSrv.GetEntitysByWhere(OilAuditSettingName,where, &users)
+
+		var users []userRole.Base_RoleList
+		certSrv.GetAuditUser("100000178", workflow.PROF_REGULATION, &users)
 
 		for _, tmpUser := range users {
-			userIds += strconv.FormatInt(tmpUser.UserId, 10) + ","
+			userIds += strconv.FormatInt(tmpUser.Id, 10) + ","
 		}
 		userIds = strings.Trim(userIds, ",")
 	} else if supplierCertEntity.Status == "5" {
@@ -885,13 +891,16 @@ func (this *OilSupplierCertController) IsAccess() {
 			}
 		}
 	} else {
-		var users []suppliercert.UserList
-		where := "OrganizeId=" + this.User.DepartmentId + " and AuditStepCode='" + auditstepcode + "'"
-		rsvc.GetEntitysByWhere(OilAuditSettingName,where, &users)
+		//var users []suppliercert.UserList
+		//where := "OrganizeId=" + this.User.DepartmentId + " and AuditStepCode='" + auditstepcode + "'"
+		//rsvc.GetEntitysByWhere(OilAuditSettingName,where, &users)
 		//rsvc.GetAuditStepRoleEntity(OilAuditSettingName, this.User.DepartmentId, auditstepcode, &auditWorkflow)
 		//users = rsvc.GetUserByRole(strconv.Itoa(auditWorkflow.RoleId), this.User.AccCode)
+		var users []userRole.Base_RoleList
+		certSrv := suppliercert.GetOilSupplierCertService(utils.DBE)
+		certSrv.GetAuditUser(this.User.DepartmentId, auditstepcode, &users)
 		for _, user := range users {
-			if this.User.Id == strconv.Itoa(int(user.UserId))  {
+			if this.User.Id == strconv.Itoa(int(user.Id))  {
 				res = true
 				break
 			}

+ 15 - 9
src/dashoo.cn/backend/api/controllers/oilsupplier/suppliercertappend.go

@@ -1,6 +1,7 @@
 package oilsupplier
 
 import (
+	"dashoo.cn/business2/userRole"
 	"encoding/json"
 	"strconv"
 	"strings"
@@ -514,12 +515,14 @@ func (this *OilSupplierCertAppendController) AuditEntityFir() {
 	} else if supplierCertAppendEntity.Status == "2" {
 		status = suppliercert.THIRD_TRIAL_STATUS
 		step = 2
-		var users []suppliercert.UserList
-		where := "OrganizeId=" + strconv.Itoa(supplierCertAppendEntity.ThirdAudit) + " and AuditStepCode='" + workflow.PROF_RECE + "'"
-		certSrv.GetEntitysByWhere(OilAuditSettingName, where, &users)
-
+		//var users []suppliercert.UserList
+		//where := "OrganizeId=" + strconv.Itoa(supplierCertAppendEntity.ThirdAudit) + " and AuditStepCode='" + workflow.PROF_RECE + "'"
+		//certSrv.GetEntitysByWhere(OilAuditSettingName, where, &users)
+		supsvc := suppliercert.GetOilSupplierCertService(utils.DBE)
+		var users []userRole.Base_RoleList
+		supsvc.GetAuditUser(strconv.Itoa(supplierCertAppendEntity.ThirdAudit), workflow.PROF_RECE, &users)
 		for _, tmpUser := range users {
-			userIds += strconv.FormatInt(tmpUser.UserId, 10) + ","
+			userIds += strconv.FormatInt(tmpUser.Id, 10) + ","
 		}
 		userIds = strings.Trim(userIds, ",")
 	} else if supplierCertAppendEntity.Status == "3" {
@@ -529,12 +532,15 @@ func (this *OilSupplierCertAppendController) AuditEntityFir() {
 	} else if supplierCertAppendEntity.Status == "4" {
 		status = suppliercert.CENT_AUDIT_STATUS
 		step = 2
-		var users []suppliercert.UserList
-		where := "OrganizeId=100000178 and AuditStepCode='" + workflow.PROF_REGULATION + "'"
-		certSrv.GetEntitysByWhere(OilAuditSettingName, where, &users)
+		//var users []suppliercert.UserList
+		//where := "OrganizeId=100000178 and AuditStepCode='" + workflow.PROF_REGULATION + "'"
+		//certSrv.GetEntitysByWhere(OilAuditSettingName, where, &users)
+		supsvc := suppliercert.GetOilSupplierCertService(utils.DBE)
+		var users []userRole.Base_RoleList
+		supsvc.GetAuditUser("100000178", workflow.PROF_REGULATION, &users)
 
 		for _, tmpUser := range users {
-			userIds += strconv.FormatInt(tmpUser.UserId, 10) + ","
+			userIds += strconv.FormatInt(tmpUser.Id, 10) + ","
 		}
 		userIds = strings.Trim(userIds, ",")
 	} else if supplierCertAppendEntity.Status == "5" {

+ 74 - 12
src/dashoo.cn/backend/api/controllers/system/auditsetting.go

@@ -179,6 +179,7 @@ func (this *OilAuditSettingController) AddEntity() {
 	auditIds := strings.Split(audits, ",")
 	fmt.Println(audits)
 	var model auditsetting.Base_OilAuditSetting
+	var audituser auditsetting.OilAuditUser
 	var jsonBlob = this.Ctx.Input.RequestBody
 	svc := auditsetting.GetOilAuditSettingService(utils.DBE)
 
@@ -188,17 +189,37 @@ func (this *OilAuditSettingController) AddEntity() {
 	model.CreateUserId, _ = utils.StrTo(this.User.Id).Int()
 	model.OrganizeId, _ = utils.StrTo(this.User.DepartmentId).Int()
 
+	var errinfo ErrorDataInfo
+	var modelsele auditsetting.Base_OilAuditSetting
+	where := "OrganizeId=" + this.User.DepartmentId + " and AuditStepCode='" + model.AuditStepCode + "'"
+	has := svc.GetEntity(&modelsele, where)
+	if (has) {
+		errinfo.Message = "审批步骤已经存在,不允许重复添加!"
+		errinfo.Code = -1
+		this.Data["json"] = &errinfo
+		this.ServeJSON()
+		return
+	}
+
 	var err error
-	for _, Id := range auditIds {
-		var user userRole.Base_User
-		svc.GetEntityById(Id, &user)
-		model.Id = 0
-		model.UserId,_ = strconv.Atoi(Id)
-		model.UserName = user.Realname
-		_, err = svc.InsertEntityBytbl(OilAuditSettingName, &model)
+	_, err = svc.InsertEntityBytbl(OilAuditSettingName, &model)
+	if (err == nil) {
+		for _, Id := range auditIds {
+			var user userRole.Base_User
+			svc.GetEntityById(Id, &user)
+			audituser.Id = 0
+			audituser.SettingId = model.Id
+			audituser.UserId,_ = strconv.Atoi(Id)
+			audituser.UserName = user.Realname
+			audituser.CreateOn = time.Now()
+			audituser.CreateBy = this.User.Realname
+			audituser.CreateUserId, _ = utils.StrTo(this.User.Id).Int()
+			_, err = svc.InsertEntityBytbl(OilAuditUserName, &audituser)
+		}
 	}
 
-	var errinfo ErrorDataInfo
+
+
 	if err == nil {
 		//新增
 		errinfo.Message = "添加成功!"
@@ -250,6 +271,8 @@ func (this *OilAuditSettingController) UpdateEntity() {
 		"RoleName",
 		"WorkFlowCord",
 		"WorkFlowName",
+		"UserId",
+		"UserName",
 		"Remark",
 		"IsDelete",
 		"CreateOn",
@@ -260,6 +283,24 @@ func (this *OilAuditSettingController) UpdateEntity() {
 		"ModifiedBy",
 	}
 	err := svc.UpdateEntityBytbl(OilAuditSettingName, id, &model, cols)
+	auditIds := strings.Split(model.UserId, ",")
+	var audituser auditsetting.OilAuditUser
+	if err == nil {
+		where := "SettingId=" + id
+		err = svc.DeleteEntityBytbl(OilAuditUserName, where)
+		for _, Id := range auditIds {
+			var user userRole.Base_User
+			svc.GetEntityById(Id, &user)
+			audituser.Id = 0
+			audituser.SettingId = model.Id
+			audituser.UserId,_ = strconv.Atoi(Id)
+			audituser.UserName = user.Realname
+			audituser.CreateOn = time.Now()
+			audituser.CreateBy = this.User.Realname
+			audituser.CreateUserId, _ = utils.StrTo(this.User.Id).Int()
+			_, err = svc.InsertEntityBytbl(OilAuditUserName, &audituser)
+		}
+	}
 	if err == nil {
 		errinfo.Message = "修改成功!"
 		errinfo.Code = 0
@@ -288,9 +329,12 @@ func (this *OilAuditSettingController) DeleteEntity() {
 		this.ServeJSON()
 		return
 	}
+
 	var model auditsetting.Base_OilAuditSetting
 	var entityempty auditsetting.Base_OilAuditSetting
 	svc := auditsetting.GetOilAuditSettingService(utils.DBE)
+	where := "SettingId=" + Id
+	svc.DeleteEntityBytbl(OilAuditUserName, where)
 	opdesc := "删除-" + Id
 	err := svc.DeleteOperationAndWriteLogBytbl(OilAuditSettingName, BaseOperationLogName, Id, &model, &entityempty, utils.ToStr(this.User.Id), this.User.Username, opdesc, this.User.AccCode, "钻井日报")
 	if err == nil {
@@ -337,10 +381,10 @@ func (this *OilAuditSettingController) IsAccess() {
 func (this *OilAuditSettingController) GetAuditerByDept() {
 	Id := this.Ctx.Input.Param(":deptId")
 
-	var users []userRole.Base_User
-	svcRole := userRole.GetRoleService(utils.DBE)
+	var users []userRole.Base_RoleList
+	rsvc := auditsetting.GetOilAuditSettingService(utils.DBE)
 	where := "DepartmentId=" + Id
-	svcRole.GetEntities(&users, where)
+	rsvc.GetEntitysByWhere(BaseUserName, where, &users)
 
 	var datainfo ErrorDataInfo
 	if users == nil {
@@ -352,4 +396,22 @@ func (this *OilAuditSettingController) GetAuditerByDept() {
 	datainfo.Item = users
 	this.Data["json"] = &datainfo
 	this.ServeJSON()
-}
+}
+
+// @Title 获取审核人列表
+// @Description 获取审核人列表
+// @Success 200 {object} auditsetting.Base_OilAuditSetting
+// @router /getaudituserlist/:id [get]
+func (this *OilAuditSettingController) GetAuditUserList() {
+	Id := this.Ctx.Input.Param(":id")
+
+	var users []userRole.Base_RoleList
+	rsvc := auditsetting.GetOilAuditSettingService(utils.DBE)
+	rsvc.GetAuditUserList(Id, &users)
+	////where := "SettingId=" + Id
+	////sql := "SELECT UserId Id, UserName RealName FROM " + OilAuditUserName + " where " + where
+	//rsvc.DBE.SQL(sql).Find(&users)
+
+	this.Data["json"] = &users
+	this.ServeJSON()
+}

+ 6 - 0
src/dashoo.cn/frontend_web/src/api/system/auditsetting.js

@@ -43,5 +43,11 @@ export default {
       url: '/auditsetting/getauditerbydept/' + deptId,
       method: 'GET'
     })
+  },
+  getAuditUserList (Id, myAxios) {
+    return myAxios({
+      url: '/auditsetting/getaudituserlist/' + Id,
+      method: 'GET'
+    })
   }
 }

+ 1 - 1
src/dashoo.cn/frontend_web/src/pages/oilsupplier/supplier/_opera/basisedit.vue

@@ -219,7 +219,7 @@
             <el-form-item label="审批人">
               <el-select ref="selectAuditer" v-model="auditer" placeholder="请选择" style="width: 90%" filterable
                 allow-create default-first-option>
-                <el-option v-for="item in auditerOption" :key="item.userid" :label="item.username" :value="item.userid">
+                <el-option v-for="item in auditerOption" :key="item.id" :label="item.realname" :value="item.id">
                 </el-option>
               </el-select>
             </el-form-item>

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

@@ -219,7 +219,7 @@
             <el-form-item label="审批人">
               <el-select ref="selectAuditer" v-model="auditer" placeholder="请选择" style="width: 90%" filterable
                 allow-create default-first-option>
-                <el-option v-for="item in auditerOption" :key="item.userid" :label="item.username" :value="item.userid">
+                <el-option v-for="item in auditerOption" :key="item.id" :label="item.realname" :value="item.id">
                 </el-option>
               </el-select>
             </el-form-item>

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

@@ -217,7 +217,7 @@
             <el-form-item label="审批人">
               <el-select ref="selectAuditer" v-model="auditer" placeholder="请选择" style="width: 90%" filterable
                 allow-create default-first-option>
-                <el-option v-for="item in auditerOption" :key="item.userid" :label="item.username" :value="item.userid">
+                <el-option v-for="item in auditerOption" :key="item.id" :label="item.realname" :value="item.id">
                 </el-option>
               </el-select>
             </el-form-item>

+ 2 - 2
src/dashoo.cn/frontend_web/src/pages/oilsupplier/supplieraudit/_opera/basisedit.vue

@@ -215,7 +215,7 @@
           v-if="this.formData.Status != '2' && this.formData.Status != '4' && this.formData.Status !== '5' ">
           <el-select ref="selectAuditer" v-model="auditer" placeholder="请选择" style="width: 100%" filterable allow-create
             default-first-option>
-            <el-option v-for="item in secauditerOptions" :key="item.userid" :label="item.username" :value="item.userid">
+            <el-option v-for="item in secauditerOptions" :key="item.id" :label="item.realname" :value="item.id">
             </el-option>
           </el-select>
         </el-form-item>
@@ -244,7 +244,7 @@
         <el-form-item label="审批人">
           <el-select ref="selectAuditer" v-model="auditer" placeholder="请选择" style="width: 90%" filterable allow-create
             default-first-option>
-            <el-option v-for="item in secauditerOptions" :key="item.userid" :label="item.username" :value="item.userid">
+            <el-option v-for="item in secauditerOptions" :key="item.id" :label="item.realname" :value="item.id">
             </el-option>
           </el-select>
         </el-form-item>

+ 6 - 6
src/dashoo.cn/frontend_web/src/pages/oilsupplier/supplieraudit/_opera/goodsedit.vue

@@ -228,9 +228,9 @@
                      style="width: 100%" filterable allow-create default-first-option>
             <el-option
               v-for="item in secauditerOptions"
-              :key="item.userid"
-              :label="item.username"
-              :value="item.userid">
+              :key="item.id"
+              :label="item.realname"
+              :value="item.id">
             </el-option>
           </el-select>
         </el-form-item>
@@ -262,9 +262,9 @@
                      style="width: 90%" filterable allow-create default-first-option>
             <el-option
               v-for="item in secauditerOptions"
-              :key="item.userid"
-              :label="item.username"
-              :value="item.userid">
+              :key="item.id"
+              :label="item.realname"
+              :value="item.id">
             </el-option>
           </el-select>
         </el-form-item>

+ 6 - 6
src/dashoo.cn/frontend_web/src/pages/oilsupplier/supplieraudit/_opera/techedit.vue

@@ -219,9 +219,9 @@
                      style="width: 100%" filterable allow-create default-first-option>
             <el-option
               v-for="item in secauditerOptions"
-              :key="item.userid"
-              :label="item.username"
-              :value="item.userid">
+              :key="item.id"
+              :label="item.realname"
+              :value="item.id">
             </el-option>
           </el-select>
         </el-form-item>
@@ -253,9 +253,9 @@
                      style="width: 90%" filterable allow-create default-first-option>
             <el-option
               v-for="item in secauditerOptions"
-              :key="item.userid"
-              :label="item.username"
-              :value="item.userid">
+              :key="item.id"
+              :label="item.realname"
+              :value="item.id">
             </el-option>
           </el-select>
         </el-form-item>

+ 162 - 62
src/dashoo.cn/frontend_web/src/pages/system/auditsetting/_opera/operation.vue

@@ -17,72 +17,72 @@
       </div>
       <el-form label-width="110px" ref="EntityForm" :model="formData">
         <el-row>
-          <el-col :span="12">
-            <el-form-item label="单位名称" required>
-              <el-cascader :options="orgtreelist" :props="orgtreeprops" change-on-select :show-all-levels="false"
-                           v-model="selectedorg" filterable style="width: 100%" @change="auditOrgChang"
-                           placeholder="请选择组织"></el-cascader>
-            </el-form-item>
-          </el-col>
-          <el-col :span="12">
-            <el-form-item label="审批人" required>
-              <el-select v-model="auditers" multiple placeholder="请选择" style="width: 100%">
-                <el-option
-                  v-for="item in userOptions"
-                  :key="item.Id"
-                  :label="item.Realname"
-                  :value="item.Id">
-                </el-option>
-              </el-select>
-
-            </el-form-item>
-          </el-col>
-        <!--<el-row>-->
           <!--<el-col :span="12">-->
             <!--<el-form-item label="单位名称" required>-->
-              <!--<el-input v-model="formData.OrganizeName" placeholder="请输入" Readonly style="width: 100%"></el-input>-->
+              <!--<el-cascader :options="orgtreelist" :props="orgtreeprops" change-on-select :show-all-levels="false"-->
+                           <!--v-model="selectedorg" filterable style="width: 100%" @change="auditOrgChang"-->
+                           <!--placeholder="请选择组织"></el-cascader>-->
             <!--</el-form-item>-->
           <!--</el-col>-->
-
-          <!-- <el-col :span="6">
-            <el-form-item label="审批步骤" required>
-              <el-select ref="selectAuditStep" v-model="formData.AuditStepCode" filterable placeholder="请选择" style="width: 100%">
-                <el-option
-                  v-for="item in auditStepOptions"
-                  :key="item.Id"
-                  :label="item.Key"
-                  :value="item.Value">
-                </el-option>
-              </el-select>
-            </el-form-item>
-          </el-col> -->
-
           <!--<el-col :span="12">-->
-            <!--<el-form-item label="角色" required>-->
-              <!--<el-select ref="selectRole" v-model="formData.RoleId" filterable placeholder="请选择" style="width: 100%">-->
-                <!--<el-option v-for="item in userOptions" :key="item.Id" :label="item.Realname" :value="item.Id">-->
+            <!--<el-form-item label="审批人" required>-->
+              <!--<el-select v-model="auditers" multiple placeholder="请选择" style="width: 100%">-->
+                <!--<el-option-->
+                  <!--v-for="item in userOptions"-->
+                  <!--:key="item.Id"-->
+                  <!--:label="item.Realname"-->
+                  <!--:value="item.Id">-->
                 <!--</el-option>-->
               <!--</el-select>-->
+
             <!--</el-form-item>-->
           <!--</el-col>-->
-          <!--<el-col :span="6">
-            <el-form-item label="工作流" required>
-              <el-select ref="selectWorkFlow" v-model="formData.WorkFlowCord" filterable placeholder="请选择" style="width: 100%">
-                <el-option
-                  v-for="item in WorkFlowOptions"
-                  :key="item.Id"
-                  :label="item.Key"
-                  :value="item.Value">
-                </el-option>
-              </el-select>
-            </el-form-item>
-          </el-col>-->
 
           <el-col :span="24">
             <el-form-item label="备注">
               <el-input v-model="formData.Remark" type="textarea" placeholder="请输入" style="width: 100%"></el-input>
             </el-form-item>
           </el-col>
+          <el-col :span="8">
+            <el-tree :data="orgtreelist" :props="orgtreeprops"
+                     @node-click="handleNodeClick" ></el-tree>
+          </el-col>
+          <el-col :span="8">
+            <!--<el-transfer v-model="auditers" :data="userOptions" ></el-transfer>-->
+            <el-table :data="userOptions" style="width: 100%" @selection-change="handleSelectionChange">
+              <el-table-column
+                type="selection"
+                width="55">
+              </el-table-column>
+              <el-table-column
+                prop="realname"
+                label="未选择"
+                width="180">
+              </el-table-column>
+            </el-table>
+            <div style="margin-top: 7px">
+              <el-button type="primary" round style="margin-left: 10px;width: 80px" size="small" @click="toggleSelection">&gt;&gt;
+              </el-button>
+            </div>
+          </el-col>
+          <el-col :span="8">
+            <el-table
+              :data="userselectOptions"
+              style="width: 100%" @selection-change="delSelectionChange">
+              <el-table-column
+                type="selection"
+                width="55">
+              </el-table-column>
+              <el-table-column
+                prop="realname"
+                label="已选择"
+                width="180">
+              </el-table-column>
+            </el-table>
+            <div style="margin-top: 7px">
+              <el-button type="primary" round style="margin-left: 10px;width: 80px" size="small" @click="delSelection">&lt;&lt;</el-button>
+            </div>
+          </el-col>
         </el-row>
       </el-form>
     </el-card>
@@ -107,8 +107,11 @@
         serviceId: '',
         auditStepOptions: [],
         roleList: [],
-        auditers: [],
+        auditers: '',
         userOptions: [],
+        userselectOptions: [],
+        selectedOptions: [],
+        selectdelOptions: [],
         orgtreelist: [],
         orgtreeprops: {
           value: 'id',
@@ -126,6 +129,8 @@
           AuditStepName: '',
           RoleId: '',
           RoleName: '',
+          UserId: '',
+          UserName: '',
           WorkFlowCord: '',
           WorkFlowName: '',
           Remark: '',
@@ -157,10 +162,87 @@
       this.getorgtreelist()
     },
     methods: {
+      handleNodeClick (data) {
+        console.log(data)
+        this.userOptions = []
+        api.getAuditerByDept(data.id, this.$axios).then(res => {
+          if (res.data.code === 1) {
+            this.userOptions = res.data.item
+          }
+          //   let userarr = res.data.item
+          //   console.log(res.data.item, 'res.data.item')
+          //   for (let i = 0; i < userarr.length; i++) {
+          //     this.userOptions.push({
+          //       key: userarr[i].Id,
+          //       label: userarr[i].Realname,
+          //       disabled: false
+          //     })
+          //   }
+          // }
+          console.log(this.userOptions, 'userOptions')
+        }).catch(err => {
+          console.error(err)
+        })
+      },
+      handleSelectionChange (val) {
+        this.selectedOptions = val
+        console.log(val, 'val')
+      },
+      delSelectionChange (val) {
+        this.selectdelOptions = val
+        console.log(this.selectdelOptions, 'val')
+      },
+      toggleSelection () {
+        if (!this.userselectOptions) {
+          this.userselectOptions = []
+        }
+        if (this.userselectOptions.length === 0) {
+          console.log('qqq')
+          this.userselectOptions = this.selectedOptions.concat()
+        } else {
+          for (let i = 0; i < this.selectedOptions.length; i++) {
+            let bool = true
+            for (let j = 0; j < this.userselectOptions.length; j++) {
+              if (this.selectedOptions[i].id === this.userselectOptions[j].id) {
+                bool = false
+              }
+            }
+            if (bool) {
+              this.userselectOptions.push(this.selectedOptions[i])
+            }
+          }
+        }
+        console.log(this.selectedOptions, 'selectedOptions')
+        console.log(this.userselectOptions, 'userselectOptions')
+      },
+      delSelection () {
+        console.log(this.selectdelOptions.length)
+        if (this.selectdelOptions.length > 0) {
+          console.log()
+          for (let i = 0; i < this.selectdelOptions.length; i++) {
+            for (let j = 0; j < this.userselectOptions.length; j++) {
+              if (this.selectdelOptions[i].id === this.userselectOptions[j].id) {
+                this.userselectOptions.splice(j, 1)
+                j--
+              }
+            }
+          }
+          console.log(this.userselectOptions, 'this.userselectOptions')
+        }
+      },
+      getAuditUserList () {
+        api.getAuditUserList(this.formData.Id, this.$axios).then(res => {
+          this.userselectOptions = res.data
+          console.log(this.userselectOptions, '11111111111')
+        }).catch(err => {
+          console.error(err)
+        })
+      },
       initDatas () {
         if (this.formData.Id) {
           api.getEntity(this.formData.Id, this.$axios).then(res => {
             this.formData = res.data
+            this.getAuditUserList()
           }).catch(err => {
             console.error(err)
           })
@@ -192,22 +274,23 @@
         })
           .then(res => {
             _this.orgtreelist = window.toolfun_gettreejson(res.data.items, 'Id', 'Parentid', 'Id,Fullname')
+            console.log(_this.orgtreelist)
           })
           .catch(err => {
             console.error(err)
           })
       },
       auditOrgChang (val) {
-        let deptId = val[val.length - 1]
-        this.userOptions = []
-        this.auditers = []
-        api.getAuditerByDept(deptId, this.$axios).then(res => {
-          if (res.data.code === 1) {
-            this.userOptions = res.data.item
-          }
-        }).catch(err => {
-          console.error(err)
-        })
+        // let deptId = val[val.length - 1]
+        // this.userOptions = []
+        // this.auditers = []
+        // api.getAuditerByDept(deptId, this.$axios).then(res => {
+        //   if (res.data.code === 1) {
+        //     this.userOptions = res.data.item
+        //   }
+        // }).catch(err => {
+        //   console.error(err)
+        // })
       },
       // 保存信息
       saveEntity () {
@@ -241,6 +324,23 @@
             }
             // this.formData.WorkFlowName = this.$refs.selectWorkFlow.selectedLabel + ''
             this.formData.OrganizeId = parseInt(this.formData.OrganizeId)
+            if (!this.userselectOptions || this.userselectOptions.length <= 0) {
+              this.$message({
+                type: 'error',
+                message: '审批人为空,不允许保存!'
+              })
+              return
+            }
+            this.auditers = ''
+            let names = ''
+            for (let i = 0; i < this.userselectOptions.length; i++) {
+              this.auditers = this.auditers + this.userselectOptions[i].id + ','
+              names = names + this.userselectOptions[i].realname + ','
+            }
+            this.auditers = this.auditers.substring(0, this.auditers.lastIndexOf(','))
+            this.formData.UserId = this.auditers
+            this.formData.UserName = names.substring(0, names.lastIndexOf(','))
+            console.log(this.formData)
             if (!this.formData.Id) {
               this.addEntity()
             } else {