2
3
王宇昕 5 жил өмнө
parent
commit
76632757e4
20 өөрчлөгдсөн 892 нэмэгдсэн , 278 устгасан
  1. 6 2
      src/dashoo.cn/backend/api/business/oilcontract/contract/contract.go
  2. 18 0
      src/dashoo.cn/backend/api/business/oilcontract/contractEvaluationItems/contractEvaluationItems.go
  3. 20 0
      src/dashoo.cn/backend/api/business/oilcontract/contractEvaluationOrder/contractEvaluationOrder.go
  4. 16 0
      src/dashoo.cn/backend/api/business/oilcontract/contractEvaluationOrder/contractEvaluationOrderService.go
  5. 29 0
      src/dashoo.cn/backend/api/business/oilcontract/contractReview/contractReview.go
  6. 3 1
      src/dashoo.cn/backend/api/business/oilcontract/contractReview/contractReviewService.go
  7. 20 0
      src/dashoo.cn/backend/api/business/oilcontract/contractSumScore/contractSumScore.go
  8. 54 0
      src/dashoo.cn/backend/api/business/oilcontract/contractSumScore/contractSumScoreService.go
  9. 11 0
      src/dashoo.cn/backend/api/controllers/base.go
  10. 91 210
      src/dashoo.cn/backend/api/controllers/oilcontract/contractDailyListener.go
  11. 55 0
      src/dashoo.cn/backend/api/controllers/oilcontract/contractEvaluationItems.go
  12. 270 0
      src/dashoo.cn/backend/api/controllers/oilcontract/contractEvaluationOrder.go
  13. 120 59
      src/dashoo.cn/backend/api/controllers/oilcontract/contractReview.go
  14. 49 1
      src/dashoo.cn/backend/api/controllers/oilcontract/contractSumScore.go
  15. 5 3
      src/dashoo.cn/backend/api/controllers/oilcontract/evaluationItems.go
  16. 31 0
      src/dashoo.cn/backend/api/routers/router.go
  17. 5 0
      src/dashoo.cn/frontend_web/src/api/oilcontract/contractReview.js
  18. 1 0
      src/dashoo.cn/frontend_web/src/pages/oilcontract/contract-basis/_opera/operation.vue
  19. 87 2
      src/dashoo.cn/frontend_web/src/pages/oilcontract/contract-service/_opera/operation.vue
  20. 1 0
      src/dashoo.cn/frontend_web/src/pages/oilcontract/contract-service/index.vue

+ 6 - 2
src/dashoo.cn/backend/api/business/oilcontract/contract/contract.go

@@ -12,8 +12,8 @@ type OilContract struct {
 	ProjectPlace         string    `json:"ProjectPlace" xorm:"comment('工程地点') VARCHAR(100) 'ProjectPlace'"`
 	ProjectOwner         string    `json:"ProjectOwner" xorm:"comment('项目负责人') VARCHAR(50) 'ProjectOwner'"`
 	Telephone            string    `json:"Telephone" xorm:"comment('联系人电话') VARCHAR(50) 'Telephone'"`
-	ContractClass        string    `json:"ContractClass" xorm:"comment('合同类别') VARCHAR(50) 'ContractClass'"`
 	ProjectType          string    `json:"ProjectType" xorm:"comment('项目类别') VARCHAR(50) 'ProjectType'"`
+	ContractClass        string    `json:"ContractClass" xorm:"comment('合同类别') VARCHAR(50) 'ContractClass'"`
 	ContractMode         string    `json:"ContractMode" xorm:"comment('合同模式') VARCHAR(50) 'ContractMode'"`
 	Amount               string    `json:"Amount" xorm:"comment('合同总金额(万元)') DECIMAL(11,2) 'Amount'"`
 	ContractPeriod       string    `json:"ContractPeriod" xorm:"comment('合同总工期(天)') VARCHAR(50) 'ContractPeriod'"`
@@ -31,12 +31,16 @@ type OilContract struct {
 	QualityUnit          string    `json:"QualityUnit" xorm:"comment('质量监督单位') VARCHAR(50) 'QualityUnit'"`
 	QualityOwner         string    `json:"QualityOwner" xorm:"comment('质量监督负责人') VARCHAR(50) 'QualityOwner'"`
 	QualityTelphone      string    `json:"QualityTelphone" xorm:"comment('手机号') VARCHAR(50) 'QualityTelphone'"`
+	SettleStatus         string    `json:"SettleStatus" xorm:"comment('结算状态 1未结算2阶段性结算') VARCHAR(50) 'SettleStatus'"`
+	Status               int       `json:"Status" xorm:"comment('合同状态 1未履行2履行中2履行完毕') INT(1) 'Status'"`
 	Remark               string    `json:"Remark" xorm:"comment('备注') VARCHAR(500) 'Remark'"`
 	IsDelete             int       `json:"IsDelete" xorm:"default 0 comment('删除状态,0正常,1已删除') INT(11) 'IsDelete'"`
+	StartDate            time.Time `json:"StartDate" xorm:"comment('开始时间') DATETIME 'StartDate'"`
+	EndDate              time.Time `json:"EndDate" xorm:"comment('截止时间(履行期限)') DATETIME 'EndDate'"`
 	CreateOn             time.Time `json:"CreateOn" xorm:"DATETIME 'CreateOn'"`
 	CreateUserId         int       `json:"CreateUserId" xorm:"INT(11) 'CreateUserId'"`
 	CreateBy             string    `json:"CreateBy" xorm:"VARCHAR(50) 'CreateBy'"`
 	ModifiedOn           time.Time `json:"ModifiedOn" xorm:"DATETIME 'ModifiedOn'"`
 	ModifiedUserId       int       `json:"ModifiedUserId" xorm:"INT(11) 'ModifiedUserId'"`
-	ModifiedBy           string    `json:"ModifiedBy" xorm:"VARCHAR(50) 'ModifiedBy'"`
+	ModifiedBy           string    `json:"ModifiedBy" xorm:"default '1' VARCHAR(50) 'ModifiedBy'"`
 }

+ 18 - 0
src/dashoo.cn/backend/api/business/oilcontract/contractEvaluationItems/contractEvaluationItems.go

@@ -6,6 +6,7 @@ import (
 
 type OilContractEvaluationItems struct {
 	Id              int       `json:"Id" xorm:"not null pk autoincr comment('ID') INT(11) 'Id'"`
+	Category        int       `json:"Category" xorm:"default 0 comment('0二级单位创建1专业处创建') INT(11) 'Category'"`
 	ContentReviewId int       `json:"ContentReviewId" xorm:"default 0 comment('评价ID') INT(11) 'ContentReviewId'"`
 	ParentId        int       `json:"ParentId" xorm:"not null default 0 comment('上级节点ID') INT(11) 'ParentId'"`
 	SequenceNo      string    `json:"SequenceNo" xorm:"default '0' comment('序号') VARCHAR(50) 'SequenceNo'"`
@@ -18,3 +19,20 @@ type OilContractEvaluationItems struct {
 	ModifiedUserId  int       `json:"ModifiedUserId" xorm:"INT(11) 'ModifiedUserId'"`
 	ModifiedBy      string    `json:"ModifiedBy" xorm:"VARCHAR(50) 'ModifiedBy'"`
 }
+type EvaluationItems struct {
+	Id             int       `json:"Id"`
+	ParentId       int       `json:"ParentId"`
+	SequenceNo     string    `json:"SequenceNo"`
+	Content        string    `json:"content"`
+	NormalScore    string    `json:"NormalScore"`
+	LevelCode      int       `json:"LevelCode"`
+	Remark         string    `json:"Remark"`
+	IsDelete       int       `json:"IsDelete"`
+	CreateOn       time.Time `json:"CreateOn"`
+	CreateUserId   int       `json:"CreateUserId"`
+	CreateBy       string    `json:"CreateBy"`
+	ModifiedOn     time.Time `json:"ModifiedOn"`
+	ModifiedUserId int       `json:"ModifiedUserId"`
+	ModifiedBy     string    `json:"ModifiedBy"`
+	Child		   []EvaluationItems
+}

+ 20 - 0
src/dashoo.cn/backend/api/business/oilcontract/contractEvaluationOrder/contractEvaluationOrder.go

@@ -0,0 +1,20 @@
+package contractEvaluationOrder
+
+import (
+	"time"
+)
+
+type OilContractEvaluationOrder struct {
+	Id             int       `json:"Id" xorm:"not null pk autoincr INT(11) 'Id'"`
+	ContractId     int       `json:"ContractId" xorm:"not null comment('合同表Id') INT(11) 'ContractId'"`
+	ReviewId       int       `json:"ReviewId" xorm:"comment('日常评价审批id') INT(11) 'ReviewId'"`
+	UnitId         int       `json:"AuditId" xorm:"comment('审核工单接收部门id') INT(11) 'AuditId'"`
+	UnitBy         string    `json:"AuditBy" xorm:"comment('接收部门') VARCHAR(50) 'AuditBy'"`
+	IsConfirm      int       `json:"IsConfirm" xorm:"default 0 comment('是否确认 0未确认,1已确认') INT(11) 'IsConfirm'"`
+	CreateOn       time.Time `json:"CreateOn" xorm:"DATETIME 'CreateOn'"`
+	CreateUserId   int       `json:"CreateUserId" xorm:"INT(11) 'CreateUserId'"`
+	CreateBy       string    `json:"CreateBy" xorm:"VARCHAR(50) 'CreateBy'"`
+	ModifiedOn     time.Time `json:"ModifiedOn" xorm:"DATETIME 'ModifiedOn'"`
+	ModifiedUserId int       `json:"ModifiedUserId" xorm:"INT(11) 'ModifiedUserId'"`
+	ModifiedBy     string    `json:"ModifiedBy" xorm:"default '1' VARCHAR(50) 'ModifiedBy'"`
+}

+ 16 - 0
src/dashoo.cn/backend/api/business/oilcontract/contractEvaluationOrder/contractEvaluationOrderService.go

@@ -0,0 +1,16 @@
+package contractEvaluationOrder
+
+import (
+	. "dashoo.cn/backend/api/mydb"
+	"github.com/go-xorm/xorm"
+)
+
+type OilContractEvaluationOrderService struct {
+	MyServiceBase
+}
+
+func GetOilContractEvaluationOrderService(xormEngine *xorm.Engine) *OilContractEvaluationOrderService {
+	s := new(OilContractEvaluationOrderService)
+	s.DBE = xormEngine
+	return s
+}

+ 29 - 0
src/dashoo.cn/backend/api/business/oilcontract/contractReview/contractReview.go

@@ -14,8 +14,10 @@ type OilContractReview struct {
 	SecondAudit       int       `json:"SecondAudit" xorm:"comment('复审') INT(11) 'SecondAudit'"`
 	ThirdAudit        int       `json:"ThirdAudit" xorm:"comment('专业科室审批') INT(11) 'ThirdAudit'"`
 	FourthAudit       int       `json:"FourthAudit" xorm:"comment('集中审批') INT(11) 'FourthAudit'"`
+	CommitComId       string    `xorm:"default '0' comment('提交二级单位Id') VARCHAR(50)"`
 	ProfessionalAudit int       `json:"ProfessionalAudit" xorm:"comment('业务处室专业审批人id') INT(11) 'ProfessionalAudit'"`
 	AuditIndex        int       `json:"AuditIndex" xorm:"default 0 comment('审批次数') INT(11) 'AuditIndex'"`
+	IsFinal           string    `json:"IsFinal" xorm:"comment('是否最终评价(履行完成) 0否1是')  INT(11) 'IsFinal'"`
 	CreateOn          time.Time `json:"CreateOn" xorm:"DATETIME 'CreateOn'"`
 	CreateUserId      int       `json:"CreateUserId" xorm:"INT(11) 'CreateUserId'"`
 	CreateBy          string    `json:"CreateBy" xorm:"VARCHAR(50) 'CreateBy'"`
@@ -23,6 +25,33 @@ type OilContractReview struct {
 	ModifiedUserId    int       `json:"ModifiedUserId" xorm:"INT(11) 'ModifiedUserId'"`
 	ModifiedBy        string    `json:"ModifiedBy" xorm:"VARCHAR(50) 'ModifiedBy'"`
 }
+type OilContractReviewListVo struct {
+	Id                int       `json:"Id"`
+	ContractId        int       `json:"ContractId"`
+	Status            string    `json:"Status"`
+	WorkflowId        string    `json:"WorkflowId"`
+	BusinessKey       string    `json:"BusinessKey"`
+	ProcessKey        string    `json:"ProcessKey"`
+	BackRemark        string    `json:"BackRemark"`
+	FirstAudit        int       `json:"FirstAudit"`
+	SecondAudit       int       `json:"SecondAudit"`
+	ThirdAudit        int       `json:"ThirdAudit"`
+	FourthAudit       int       `json:"FourthAudit"`
+	CommitComId       string    `json:"FourthAudit"`
+	ProfessionalAudit int       `json:"ProfessionalAudit"`
+	AuditIndex        int       `json:"AuditIndex"`
+	IsFinal           string    `json:"IsFinal"`
+	CreateOn          time.Time `json:"CreateOn"`
+	CreateUserId      int       `json:"CreateUserId"`
+	CreateBy          string    `json:"CreateBy"`
+	ModifiedOn        time.Time `json:"ModifiedOn"`
+	ModifiedUserId    int       `json:"ModifiedUserId"`
+	ModifiedBy        string    `json:"ModifiedBy"`
+
+	SupplierName      string    `json:"SupplierName"`   // 供应商名称
+	ProjectName       string    `json:"ProjectName"`    // 项目名称
+	ContractNo        string    `json:"ContractNo"`     // 合同编号
+}
 type OilContractReviewVo struct {
 	Items []*OilContractEvaluationItemsVo
 	Id             int       `json:"Id" xorm:"not null pk INT(11) 'Id'"`

+ 3 - 1
src/dashoo.cn/backend/api/business/oilcontract/contractReview/contractReviewService.go

@@ -18,13 +18,15 @@ func GetOilContractReviewService(xormEngine *xorm.Engine) *OilContractReviewServ
 }
 func (s *OilContractReviewService) GetContractReviewList(pageIndex, itemsPerPage int64, order string, asc string, entitiesPtr interface{}, where string) (total int64) {
 	var err error
+	if pageIndex < 1 { pageIndex = 1}
+	if itemsPerPage < 1 { itemsPerPage = 10 }
 	var resultsSlice []map[string][]byte
 	sqlconunt := "SELECT count(*) " +
 		"FROM OilContractReview r " +
 		"LEFT JOIN OilContract c ON r.ContractId=c.id " +
 		"WHERE "+ where
 
-	sql := "SELECT r.* " +
+	sql := "SELECT r.*,c.SupplierName " +
 		"FROM OilContractReview r " +
 		"LEFT JOIN OilContract c ON r.ContractId=c.id " +
 		"WHERE "+ where +

+ 20 - 0
src/dashoo.cn/backend/api/business/oilcontract/contractSumScore/contractSumScore.go

@@ -7,6 +7,7 @@ import (
 type OilContractSumScore struct {
 	Id               int       `json:"Id" xorm:"not null pk autoincr comment('ID') INT(11) 'Id'"`
 	ContractId       int       `json:"ContractId" xorm:"not null default 0 comment('合同表ID') INT(11) 'ContractId'"`
+	Category         int       `json:"Category" xorm:"not null default 0 comment('0二级单位创建1专业处创建') INT(11) 'Category'"`
 	SumScore         string    `json:"SumScore" xorm:"default 0.00 comment('实际分值') DECIMAL(11,2) 'SumScore'"`
 	Content1    	 string    `json:"Content1" xorm:"default '0' comment('评价内容') VARCHAR(50) 'Content1'"`
 	NormalSumScore1  string    `json:"NormalSumScore1" xorm:"default 0.00 comment('标准分值') DECIMAL(11,2) 'NormalSumScore1'"`
@@ -20,6 +21,9 @@ type OilContractSumScore struct {
 	Content4    	 string    `json:"Content4" xorm:"default '0' comment('评价内容') VARCHAR(50) 'Content4'"`
 	NormalSumScore4  string    `json:"NormalSumScore4" xorm:"default 0.00 comment('标准分值') DECIMAL(11,2) 'NormalSumScore4'"`
 	SumScore4        string    `json:"SumScore4" xorm:"default 0.00 comment('实际分值') DECIMAL(11,2) 'SumScore4'"`
+	Content5    	 string    `json:"Content5" xorm:"default '0' comment('评价内容') VARCHAR(50) 'Content5'"`
+	NormalSumScore5  string    `json:"NormalSumScore5" xorm:"default 0.00 comment('标准分值') DECIMAL(11,2) 'NormalSumScore5'"`
+	SumScore5        string    `json:"SumScore5" xorm:"default 0.00 comment('实际分值') DECIMAL(11,2) 'SumScore5'"`
 	Note			 string    `json:"Note" xorm:"comment('备注') VARCHAR(255) 'Note'"`
 	ConclusionReason string    `json:"ConclusionReason" xorm:"comment('不合格原因') VARCHAR(255) 'ConclusionReason'"`
 	Conclusion       int       `json:"Conclusion" xorm:"default 0 comment('0不合格,1观察使用,2合格,3优秀') INT(11) 'Conclusion'"`
@@ -33,3 +37,19 @@ type OilContractSumScore struct {
 	ModifiedUserId   int       `json:"ModifiedUserId" xorm:"INT(11) 'ModifiedUserId'"`
 	ModifiedBy       string    `json:"ModifiedBy" xorm:"VARCHAR(50) 'ModifiedBy'"`
 }
+
+type OilContractComputeSumScoreVo struct {
+	SupplierId    int       `json:"SupplierId"`
+	SupplierName  string    `json:"SupplierName"`
+	Score         string    `json:"Score"`
+	Score1    	  string    `json:"Score1"`
+	Score2  	  string    `json:"Score2"`
+	Score3        string    `json:"Score3"`
+	Score4    	  string    `json:"Score4"`
+	Score5  	  string    `json:"Score5"`
+	Score6        string    `json:"Score6"`
+	Score7    	  string    `json:"Score7"`
+	Score8  	  string    `json:"Score8"`
+	Score9        string    `json:"Score9"`
+	Evaluate 	  string    `json:"Evaluate"`
+}

+ 54 - 0
src/dashoo.cn/backend/api/business/oilcontract/contractSumScore/contractSumScoreService.go

@@ -1,8 +1,11 @@
 package contractSumScore
 
 import (
+	"dashoo.cn/backend/api/controllers"
 	. "dashoo.cn/backend/api/mydb"
+	"dashoo.cn/utils"
 	"github.com/go-xorm/xorm"
+	"strconv"
 )
 
 type OilContractSumScoreService struct {
@@ -14,3 +17,54 @@ func GetOilContractSumScoreService(xormEngine *xorm.Engine) *OilContractSumScore
 	s.DBE = xormEngine
 	return s
 }
+
+func (s *OilContractSumScoreService) GetPagingComputeEntitiesWithOrderBytbl(pageIndex, itemsPerPage int64, orderby string, asc bool, entitiesPtr interface{}, where string) (total int64) {
+	var resultsSlice []map[string][]byte
+	//获取总记录数
+	sqlCount := ` select count(*) from ( `
+	sqlCount += ` select contract.SupplierId from ` + controllers.OilContractReviewName + ` review `
+	sqlCount += ` left join ` + controllers.OilContractName + ` contract on review.ContractId=contract.id `
+	sqlCount += ` left join ` + controllers.OilContractEvaluationItemsName + ` items on items.ContentReviewId=review.id and items.LevelCode=1 `
+	sqlCount += ` where ` + where
+	sqlCount += ` group by contract.SupplierId,contract.SupplierName `
+	sqlCount += ` ) t `
+
+	var sql string
+	sql =  `select contract.SupplierId,contract.SupplierName,sum(items.Score) as Score, `
+	sql += ` sum(case when items.SequenceNo in  ('1') then items.Score else 0 end) Score1,  `
+	sql += ` sum(case when items.SequenceNo in  ('2') then items.Score else 0 end) Score2,  `
+	sql += ` sum(case when items.SequenceNo in  ('3') then items.Score else 0 end) Score3,  `
+	sql += ` sum(case when items.SequenceNo in  ('4') then items.Score else 0 end) Score4,  `
+	sql += ` sum(case when items.SequenceNo in  ('5') then items.Score else 0 end) Score5,  `
+	sql += ` sum(case when items.SequenceNo in  ('6') then items.Score else 0 end) Score6,  `
+	sql += ` sum(case when items.SequenceNo in  ('7') then items.Score else 0 end) Score7,  `
+	sql += ` sum(case when items.SequenceNo in  ('8') then items.Score else 0 end) Score8,  `
+	sql += ` sum(case when items.SequenceNo in  ('9') then items.Score else 0 end) Score9,  `
+	sql += ` case when sum(items.Score) <60 then '不合格' when sum(items.Score) <80 then '合格' else '优秀' end as Evaluate `
+	sql += ` from ` + controllers.OilContractReviewName + ` review `
+	sql += ` left join ` + controllers.OilContractName + ` contract on review.ContractId=contract.id `
+	sql += ` left join ` + controllers.OilContractEvaluationItemsName + ` items on items.ContentReviewId=review.id and items.LevelCode=1 `
+	sql += ` where ` + where
+	sql += ` group by contract.SupplierId,contract.SupplierName `
+
+	if asc {
+		sql += ` order by ` + orderby + ` ASC `
+	} else {
+		sql += ` order by ` + orderby + ` DESC `
+	}
+	if (pageIndex != 0 && itemsPerPage !=0) {
+		sql += ` limit ` + utils.ToStr((pageIndex-1)*itemsPerPage) + "," + utils.ToStr(itemsPerPage)
+	}
+
+	s.DBE.SQL(sql).Find(entitiesPtr)
+	resultsSlice, _ = s.DBE.Query(sqlCount)
+	if len(resultsSlice) > 0 {
+		results := resultsSlice[0]
+		for _, value := range results {
+			total, _ = strconv.ParseInt(string(value), 10, 64)
+			break
+		}
+	}
+	return total
+}
+

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

@@ -291,6 +291,7 @@ var (
 	OilContractEvaluationItemsName           string = "OilContractEvaluationItems" //合同业绩评价项目
 	OilContractReviewName                    string = "OilContractReview"          //合同审核工作流
 	OilEvaluationItemsName                   string = "OilEvaluationItems"         //业绩评价项目
+	OilContractEvaluationOrderName           string = "OilContractEvaluationOrder" //评价工单表
 	OilContractOffGradeName					 string = "OilContractOffGrade"        //业绩评价不合格原因
 	OilContractSumScoreName                  string = "OilContractSumScore"        //年度汇总评分
 )
@@ -377,6 +378,16 @@ func (this *BaseController) Prepare() {
 			fmt.Println("/api/info-change-listener/")
 			break
 		}
+		if strings.Contains(this.Ctx.Input.URL(), "/api/contract-daily-listener/") {
+			find = true
+			fmt.Println("/api/contract-daily-listener/")
+			break
+		}
+		if strings.Contains(this.Ctx.Input.URL(), "/api/contract-annual-listener/") {
+			find = true
+			fmt.Println("/api/contract-annual-listener/")
+			break
+		}
 	}
 
 	if !find { // 如果是登录操作不做验证

+ 91 - 210
src/dashoo.cn/backend/api/controllers/oilcontract/contractDailyListener.go

@@ -1,21 +1,16 @@
 package oilcontract
 
 import (
-	msg2 "dashoo.cn/backend/api/business/msg"
-	"dashoo.cn/backend/api/business/oilsupplier/annualaudit"
-	"dashoo.cn/backend/api/business/oilsupplier/oilcostmanage"
-	"dashoo.cn/backend/api/business/oilsupplier/supplier"
-	"dashoo.cn/backend/api/business/paymentinfo"
-	"encoding/json"
-	"strconv"
-	"strings"
-	"time"
-
 	"dashoo.cn/backend/api/business/auditsetting"
+	"dashoo.cn/backend/api/business/oilcontract/contract"
+	"dashoo.cn/backend/api/business/oilcontract/contractReview"
 	"dashoo.cn/backend/api/business/oilsupplier/suppliercert"
 	"dashoo.cn/backend/api/business/workflow"
 	. "dashoo.cn/backend/api/controllers"
 	"dashoo.cn/utils"
+	"encoding/json"
+	"strconv"
+	"strings"
 )
 
 type OilContractDailyListenerController struct {
@@ -38,28 +33,28 @@ func (this *OilContractDailyListenerController) PreFenTrialStatus() {
 	var jsonBlob = this.Ctx.Input.RequestBody
 	var listenerApprove ListenerApproveParams
 	json.Unmarshal(jsonBlob, &listenerApprove)
-	annualId := strings.Split(listenerApprove.BusinessKey, "-")[0]
+	var contractReviewEntity contractReview.OilContractReview
+	srv := contractReview.GetOilContractReviewService(utils.DBE)
+	reviewId := strings.Split(listenerApprove.BusinessKey, "-")[0]
 
-	srv := annualaudit.GetOilAnnualAuditService(utils.DBE)
-	var annualEntity annualaudit.OilAnnualAudit
-	srv.GetEntityById(annualId, &annualEntity)
+	srv.GetEntityById(reviewId, &contractReviewEntity)
 	cols := []string{
 		"Id",
 		"Status",
 	}
 	//进入此步骤,记录在数据库中
-	annualEntity.Status = suppliercert.FEN_TRIAL_STATUS //二级单位分办
-	srv.UpdateEntityByIdCols(annualId, annualEntity, cols)
+	contractReviewEntity.Status = suppliercert.FEN_TRIAL_STATUS //二级单位分办
+	srv.UpdateEntityByIdCols(reviewId, contractReviewEntity, cols)
 
 	//查出二级单位分办的人员
-	// 获取准入资质信息:
-	supplierCertSrv := suppliercert.GetOilSupplierCertService(utils.DBE)
-	var supplierCertEntity suppliercert.OilSupplierCert
-	supplierCertSrv.GetEntityById(annualEntity.CerId, &supplierCertEntity)
+	//取出合同表
+	contractSvc := contract.GetOilContractService(utils.DBE)
+	var contractEntity contract.OilContract
+	contractSvc.GetEntityById(contractReviewEntity.ContractId, &contractEntity)
 
-	stepCode := workflow.GetWorkFlowStepCode(supplierCertEntity.SupplierTypeCode) // TODO 年审的准入方式
+	stepCode := workflow.GetWorkFlowStepCode(contractEntity.ContractClass)
 	auditSettingService := auditsetting.GetOilAuditSettingService(utils.DBE)
-	approverIds := auditSettingService.GetApproverIdsByStepCodeAndUnitId(stepCode, annualEntity.CommitComId)
+	approverIds := auditSettingService.GetApproverIdsByStepCodeAndUnitId(stepCode, contractReviewEntity.CommitComId)
 	var approveInfo ListenerApproveInfo
 	approveInfo.Users = approverIds
 	this.Data["json"] = &approveInfo
@@ -73,21 +68,21 @@ func (this *OilContractDailyListenerController) PreFenTrialStatus() {
 // @router /pre-first-trail [get]
 func (this *OilContractDailyListenerController) PreFirstTrail() {
 	businessKey := this.GetString("businessKey")
-	annualId := strings.Split(businessKey, "-")[0]
+	reviewId := strings.Split(businessKey, "-")[0]
 
-	svc := annualaudit.GetOilAnnualAuditService(utils.DBE)
-	var annualEntity annualaudit.OilAnnualAudit
-	svc.GetEntityById(annualId, &annualEntity)
+	var contractReviewEntity contractReview.OilContractReview
+	svc := contractReview.GetOilContractReviewService(utils.DBE)
+	svc.GetEntityById(reviewId, &contractReviewEntity)
 	cols := []string{
 		"Id",
 		"Status",
 	}
 	//进入此步骤,记录在数据库中
-	annualEntity.Status = suppliercert.FIRST_TRIAL_STATUS //二级单位初审
-	svc.UpdateEntityByIdCols(annualId, annualEntity, cols)
+	contractReviewEntity.Status = suppliercert.FIRST_TRIAL_STATUS //二级单位初审
+	svc.UpdateEntityByIdCols(reviewId, contractReviewEntity, cols)
 
 	//返回查出的初审人员操作人员列表
-	approverIds := annualEntity.FirstAudit
+	approverIds := contractReviewEntity.FirstAudit
 	this.Data["json"] = approverIds
 	this.ServeJSON()
 }
@@ -98,129 +93,83 @@ func (this *OilContractDailyListenerController) PreFirstTrail() {
 // @router /pre-second-trail [get]
 func (this *OilContractDailyListenerController) PreSecondTrail() {
 	businessKey := this.GetString("businessKey")
-	annualId := strings.Split(businessKey, "_")[0]
+	dailyId := strings.Split(businessKey, "_")[0]
 
-	certSrv := annualaudit.GetOilAnnualAuditService(utils.DBE)
-	var annualEntity annualaudit.OilAnnualAudit
-	certSrv.GetEntityById(annualId, &annualEntity)
+	var contractReviewEntity contractReview.OilContractReview
+	svc := contractReview.GetOilContractReviewService(utils.DBE)
+	svc.GetEntityById(dailyId, &contractReviewEntity)
 	cols := []string{
 		"Id",
 		"Status",
 	}
 	//进入此步骤,记录在数据库中
-	annualEntity.Status = suppliercert.SECOND_TRIAL_STATUS //二级单位复审
-	certSrv.UpdateEntityByIdCols(annualId, annualEntity, cols)
+	contractReviewEntity.Status = suppliercert.SECOND_TRIAL_STATUS //二级单位复审
+	svc.UpdateEntityByIdCols(dailyId, contractReviewEntity, cols)
 
 	//返回查出的复审人员操作人员列表
-	approverIds := annualEntity.SecondAudit
+	approverIds := contractReviewEntity.SecondAudit
 	this.Data["json"] = approverIds
 	this.ServeJSON()
 }
 
-// @Title 查询是否交费--回调
+// @Title 获取业务处室接收分办人员列表 --回调
 // @Description get user by token
 // @Success 200 {string} string
-// @router /check-need-pay [get]
-func (this *OilContractDailyListenerController) CheckNeedPay() {
-	businessKey := this.GetString("businessKey")
-	annualId := strings.Split(businessKey, "-")[0]
-
-	svc := annualaudit.GetOilAnnualAuditService(utils.DBE)
-	var annualEntity annualaudit.OilAnnualAudit
-	svc.GetEntityById(annualId, &annualEntity)
-
-	certSvc := annualaudit.GetOilAnnualAuditService(utils.DBE)
-	var supplierCertEntity suppliercert.OilSupplierCert
-	certSvc.GetEntityById(annualEntity.CerId, &supplierCertEntity)
+// @router /pre-third-trail [post]
+func (this *OilContractDailyListenerController) PreThirdTrialStatus() {
+	var jsonBlob = this.Ctx.Input.RequestBody
+	var listenerApprove ListenerApproveParams
+	json.Unmarshal(jsonBlob, &listenerApprove)
+	dailyId := strings.Split(listenerApprove.BusinessKey, "-")[0]
 
-	var isPayList []string
-	isPayList = append(isPayList, suppliercert.PINGSHEN)
-	isPayList = append(isPayList, suppliercert.WAIBUSHICHANG)
-	var unPayList []string
-	unPayList = append(unPayList, suppliercert.YIJIWUZI)
-	unPayList = append(unPayList, suppliercert.ERJIWUZI)
-	unPayList = append(unPayList, suppliercert.ZHANLUEHEZUO)
-	unPayList = append(unPayList, suppliercert.NEIBUDUOYUAN)
+	var contractReviewEntity contractReview.OilContractReview
+	svc := contractReview.GetOilContractReviewService(utils.DBE)
+	svc.GetEntityById(dailyId, &contractReviewEntity)
 
-	result := 0
-	isPay := "false"
-	unPay := "false"
-	for _, eachItem := range isPayList {
-		if eachItem == supplierCertEntity.InStyle {
-			// 需要付费
-			isPay = "true"
-			result = 1
-			break
-		}
-	}
-	for _, eachItem := range unPayList {
-		if eachItem == supplierCertEntity.InStyle {
-			// 不需要付费
-			unPay = "true"
-			result = 2
-			break
+	//查出业务处室接收分办的人员
+	stepCode := workflow.PROF_RECE //专业处室接收
+	auditSettingService := auditsetting.GetOilAuditSettingService(utils.DBE)
+	approverIds := auditSettingService.GetApproverIdsByStepCodeAndUnitId(stepCode, strconv.Itoa(contractReviewEntity.ThirdAudit))
+	if approverIds != "" {
+		cols := []string{
+			"Id",
+			"Status",
 		}
+		//进入此步骤,记录在数据库中
+		contractReviewEntity.Status = suppliercert.THIRD_TRIAL_STATUS ////专业处接收
+		svc.UpdateEntityByIdCols(dailyId, contractReviewEntity, cols)
 	}
-	if isPay == unPay {
-		// 准入类型是否付费有误!请联系管理员
-		result = 0
-	}
-
-	this.Data["json"] = result
+	var approveInfo ListenerApproveInfo
+	approveInfo.Users = approverIds
+	this.Data["json"] = &approveInfo
 	this.ServeJSON()
 }
 
-// @Title 获取交费人--回调
+// @Title 获取业务处室专业审批人员列表--回调
 // @Description get user by token
 // @Success 200 {string} string
-// @router /pre-payer [get]
-func (this *OilContractDailyListenerController) GetPrePayer() {
+// @router /pre-prof-audit [get]
+func (this *OilContractDailyListenerController) PreProfAudit() {
 	businessKey := this.GetString("businessKey")
-	annualId := strings.Split(businessKey, "-")[0]
-	srv := annualaudit.GetOilAnnualAuditService(utils.DBE)
-	var annualEntity annualaudit.OilAnnualAudit
-	srv.GetEntityById(annualId, &annualEntity)
+	dailyId := strings.Split(businessKey, "-")[0]
 
+	var contractReviewEntity contractReview.OilContractReview
+	svc := contractReview.GetOilContractReviewService(utils.DBE)
+	svc.GetEntityById(dailyId, &contractReviewEntity)
 	cols := []string{
 		"Id",
 		"Status",
 	}
 	//进入此步骤,记录在数据库中
-	annualEntity.Status = suppliercert.PAYING_AUDIT_STATUS //待缴费
-	srv.UpdateEntityByIdCols(annualId, annualEntity, cols)
-
-	// 获取准入资质信息:
-	supplierCertSrv := suppliercert.GetOilSupplierCertService(utils.DBE)
-	var supplierCertEntity suppliercert.OilSupplierCert
-	supplierCertSrv.GetEntityById(annualEntity.CerId, &supplierCertEntity)
-
-	// 年审审批通过且需要交费, 创建交费信息
-	supplierSrv := supplier.GetOilSupplierService(utils.DBE)
-	var supplierEntity supplier.OilSupplier
-	supplierSrv.GetEntityById(annualEntity.SupplierId, &supplierEntity)
-
-	paySvc := paymentinfo.GetPaymentService(utils.DBE)
-	var Amount float64
-	costSvc := oilcostmanage.GetOilCostManageService(utils.DBE)
-	Amount = costSvc.GetAmount("ANNUAL", supplierCertEntity.SupplierTypeCode)
-	var payInfo paymentinfo.OilPaymentInfo
-	payInfo.SrcId = annualEntity.Id
-	payInfo.SupplierId = annualEntity.SupplierId
-	payInfo.SupplierCertId = annualEntity.CerId
-	payInfo.USCCode = supplierEntity.CommercialNo
-	payInfo.SupplierName = supplierEntity.SupplierName
-	payInfo.PayType = "2"
-	payInfo.IsPay = "0"
-	payInfo.IsInvoice = "0"
-	payInfo.Amount = strconv.FormatFloat(Amount, 'E', -1, 64)
-	payInfo.CreateUserId = annualEntity.CreateUserId
-	payInfo.CreateBy = annualEntity.CreateBy
-	payInfo.CreateOn = time.Now()
-	paySvc.InsertEntity(&payInfo)
-
-	//创建人即为交费的人员
-	approverIds := annualEntity.CreateUserId
-	this.Data["json"] = approverIds
+	contractReviewEntity.Status = suppliercert.PROF_AUDIT_STATUS //业务处室专业审批
+	svc.UpdateEntityByIdCols(dailyId, contractReviewEntity, cols)
+
+	//查出业务处室专业审批的人员
+	//专业审批人已在分办时指定
+	//stepCode := workflow.PROF_AUDIT
+	//auditSettingService := auditsetting.GetOilAuditSettingService(utils.DBE)
+	//approverIds := auditSettingService.GetApproverIdsByStepCodeAndUnitId(stepCode, supplierCertEntity.CommitComId)
+	this.Data["json"] = 1
 	this.ServeJSON()
 }
 
@@ -232,18 +181,18 @@ func (this *OilContractDailyListenerController) GetLawOfficeAuditors() {
 	var jsonBlob = this.Ctx.Input.RequestBody
 	var listenerApprove ListenerApproveParams
 	json.Unmarshal(jsonBlob, &listenerApprove)
-	annualId := strings.Split(listenerApprove.BusinessKey, "-")[0]
+	dailylId := strings.Split(listenerApprove.BusinessKey, "-")[0]
 
-	svc := annualaudit.GetOilAnnualAuditService(utils.DBE)
-	var annualEntity annualaudit.OilAnnualAudit
-	svc.GetEntityById(annualId, &annualEntity)
+	var contractReviewEntity contractReview.OilContractReview
+	svc := contractReview.GetOilContractReviewService(utils.DBE)
+	svc.GetEntityById(dailylId, &contractReviewEntity)
 	cols := []string{
 		"Id",
 		"Status",
 	}
 	//进入此步骤,记录在数据库中
-	annualEntity.Status = suppliercert.CENT_AUDIT_STATUS //企业法规处
-	svc.UpdateEntityByIdCols(annualId, annualEntity, cols)
+	contractReviewEntity.Status = suppliercert.STOREING_STATUS //企业法规处
+	svc.UpdateEntityByIdCols(dailylId, contractReviewEntity, cols)
 
 	//查出企业法规处审批的人员
 	stepCode := workflow.PROF_REGULATION //企业法规处
@@ -255,47 +204,17 @@ func (this *OilContractDailyListenerController) GetLawOfficeAuditors() {
 	this.ServeJSON()
 }
 
-// @Title 企业法规处入库人员列表 --回调
-// @Description get user by token
-// @Success 200 {string} string
-// @router /pre-storage-audit [post]
-func (this *OilContractDailyListenerController) GetStorageAuditor() {
-	var jsonBlob = this.Ctx.Input.RequestBody
-	var listenerApprove ListenerApproveParams
-	json.Unmarshal(jsonBlob, &listenerApprove)
-	annualId := strings.Split(listenerApprove.BusinessKey, "-")[0]
-
-	srv := annualaudit.GetOilAnnualAuditService(utils.DBE)
-	var annualEntity annualaudit.OilAnnualAudit
-	srv.GetEntityById(annualId, &annualEntity)
-	cols := []string{
-		"Id",
-		"Status",
-	}
-	//进入此步骤,记录在数据库中
-	annualEntity.Status = suppliercert.STOREING_STATUS //待入库
-	srv.UpdateEntityByIdCols(annualId, annualEntity, cols)
-
-	//查出入库审批的人员
-	stepCode := workflow.PROF_REGULATION //待入库(企业法规处)
-	auditSettingService := auditsetting.GetOilAuditSettingService(utils.DBE)
-	approverIds := auditSettingService.GetApproverIdsByStepCodeForConcentrateAudit(stepCode)
-	var approveInfo ListenerApproveInfo
-	approveInfo.Users = approverIds
-	this.Data["json"] = &approveInfo
-	this.ServeJSON()
-}
 
-// @Title 企业法规处审批入库完成, 工作流结束--回调
+// @Title 企业法规处审批完成, 工作流结束--回调
 // @Description get user by token
 // @Success 200 {string} string
 // @router /workflow-end [get]
 func (this *OilContractDailyListenerController) WorkflowEndAudit() {
 	businessKey := this.GetString("businessKey")
-	annualId := strings.Split(businessKey, "-")[0]
-	srv := annualaudit.GetOilAnnualAuditService(utils.DBE)
-	var annualEntity annualaudit.OilAnnualAudit
-	srv.GetEntityById(annualId, &annualEntity)
+	dailyId := strings.Split(businessKey, "-")[0]
+	var contractReviewEntity contractReview.OilContractReview
+	srv := contractReview.GetOilContractReviewService(utils.DBE)
+	srv.GetEntityById(dailyId, &contractReviewEntity)
 
 	cols := []string{
 		"Id",
@@ -303,16 +222,8 @@ func (this *OilContractDailyListenerController) WorkflowEndAudit() {
 		"ApplyTime",
 	}
 	//进入此步骤,记录在数据库中
-	annualEntity.Status = suppliercert.STORE_STATUS                  //审核完成
-	annualEntity.ApplyTime = annualEntity.ApplyTime.AddDate(1, 0, 0) //更新年审表时间
-	srv.UpdateEntityByIdCols(annualId, annualEntity, cols)
-
-	//更新准入表时间
-	paymentInfoSvc := paymentinfo.GetPaymentService(utils.DBE)
-	var certModel suppliercert.OilSupplierCert
-	certModel.ApplyTime = annualEntity.ApplyTime.AddDate(1, 0, 0)
-	certModel.InFlag = "1"
-	paymentInfoSvc.UpdateEntityByIdCols(strconv.Itoa(annualEntity.CerId), &certModel, []string{"ApplyTime", "InFlag"})
+	contractReviewEntity.Status = suppliercert.STORE_STATUS                  //审核完成
+	srv.UpdateEntityByIdCols(dailyId, contractReviewEntity, cols)
 
 	this.Data["json"] = 1
 	this.ServeJSON()
@@ -325,49 +236,19 @@ func (this *OilContractDailyListenerController) WorkflowEndAudit() {
 func (this *OilContractDailyListenerController) ApprovalRefuse() {
 	businessKey := this.GetString("businessKey")
 	stepCodeStatus := this.GetString("stepCode")
-	annualId := strings.Split(businessKey, "-")[0]
-	srv := annualaudit.GetOilAnnualAuditService(utils.DBE)
-	var annualEntity annualaudit.OilAnnualAudit
-	srv.GetEntityById(annualId, &annualEntity)
+	dailyId := strings.Split(businessKey, "-")[0]
+	var contractReviewEntity contractReview.OilContractReview
+	srv := contractReview.GetOilContractReviewService(utils.DBE)
+	srv.GetEntityById(dailyId, &contractReviewEntity)
 
 	cols := []string{
 		"Id",
 		"Status",
 	}
 	//进入此步骤,记录在数据库中
-	annualEntity.Status = stepCodeStatus
-	srv.UpdateEntityByIdCols(annualId, annualEntity, cols)
-
-	// 获取准入资质信息:
-	//supplierCertSrv := suppliercert.GetOilSupplierCertService(utils.DBE)
-	//var supplierCertEntity suppliercert.OilSupplierCert
-	//supplierCertSrv.GetEntityById(annualEntity.CerId, &supplierCertEntity)
-	//supplierSrv := supplier.GetOilSupplierService(utils.DBE)
-	//var supplierEntity supplier.OilSupplier
-	//supplierSrv.GetEntityById(annualEntity.SupplierId, &supplierEntity)
-
-	// TODO 发送驳回通知短信
-	//this.AuditRejectNotice(supplierCertEntity, supplierEntity)
+	contractReviewEntity.Status = stepCodeStatus
+	srv.UpdateEntityByIdCols(dailyId, contractReviewEntity, cols)
 
-	this.Data["json"] = annualEntity.CreateUserId
+	this.Data["json"] = contractReviewEntity.CreateUserId
 	this.ServeJSON()
 }
-
-// @Title 增项申请审核未通过短信通知
-// @Description 审核未通过短信通知
-// @Success	200	{object}
-// @router /audit-reject-notice/:id [post]
-func (this *OilContractDailyListenerController) AuditRejectNotice(supplierCertEntity suppliercert.OilSupplierCert, supplierEntity supplier.OilSupplier) {
-	toMobile := supplierEntity.Mobile
-	bFlag := ""
-	if supplierCertEntity.SupplierTypeCode == "01" {
-		bFlag = "物资类"
-	} else if supplierCertEntity.SupplierTypeCode == "02" {
-		bFlag = "基建类"
-	} else {
-		bFlag = "服务类"
-	}
-	msg := "您的" + bFlag + "年审申请审核未通过,请及时查看!"
-	msgService := msg2.GetMsgService(utils.DBE)
-	msgService.HandleMsg(toMobile, msg, "5-2", supplierCertEntity.CreateBy, supplierEntity.ContactName, strconv.Itoa(supplierCertEntity.CreateUserId), this.User.Username)
-}

+ 55 - 0
src/dashoo.cn/backend/api/controllers/oilcontract/contractEvaluationItems.go

@@ -2,6 +2,7 @@ package oilcontract
 
 import (
 	"encoding/json"
+	"strconv"
 	"time"
 
 	"dashoo.cn/backend/api/business/baseUser"
@@ -108,6 +109,60 @@ func (this *OilContractEvaluationItemsController) GetEntityList() {
 	this.ServeJSON()
 }
 
+func (this *OilContractEvaluationItemsController) GetTreeList() {
+	//获取分页信息
+	page := this.GetPageInfoForm()
+	orderby := "Id"
+	where := " ParentId = 0 "
+	Id      := this.GetString("ContentReviewId")      // 评价主表ID
+	Category:= this.GetString("Category","0")   // 类型  0 二级部门创建  1 专业处创建
+	if Id != "" {
+		where = where + " and ContentReviewId = '" + Id + "'"
+	}
+	if Category != "" {
+		where = where + " and Category = '" + Category + "'"
+	}
+	svc := contractEvaluationItems.GetOilContractEvaluationItemsService(utils.DBE)
+	var list []contractEvaluationItems.OilContractEvaluationItems
+	var result []contractEvaluationItems.EvaluationItems
+	total := svc.GetPagingEntitiesWithOrderBytbl("", page.CurrentPage, page.Size, orderby, true, &list, where)
+	for _, value := range list {
+		var firstTmp contractEvaluationItems.EvaluationItems
+		firstTmp.Content = value.Content
+		firstTmp.ParentId = value.ParentId
+		firstTmp.Id = value.Id
+		firstTmp.SequenceNo = value.SequenceNo
+		firstTmp.NormalScore = value.NormalScore
+		firstTmp.Remark = value.Remark
+		firstTmp.LevelCode = value.LevelCode
+
+		var list1 []contractEvaluationItems.EvaluationItems
+		where1 := " ParentId = " + strconv.Itoa(value.Id)
+		svc.GetPagingEntitiesWithOrderBytbl("", page.CurrentPage, page.Size, orderby, true, &list1, where1)
+		for _, v := range list1 {
+			var secTmp contractEvaluationItems.EvaluationItems
+			secTmp.Content = v.Content
+			secTmp.Content = v.Content
+			secTmp.ParentId = v.ParentId
+			secTmp.Id = v.Id
+			secTmp.SequenceNo = v.SequenceNo
+			secTmp.NormalScore = v.NormalScore
+			secTmp.Remark = v.Remark
+			secTmp.LevelCode = v.LevelCode
+			firstTmp.Child = append(firstTmp.Child, secTmp)
+		}
+		result = append(result, firstTmp)
+	}
+	var datainfo DataInfo
+	datainfo.Items = result
+	datainfo.CurrentItemCount = total
+	//datainfo.PageIndex = page.CurrentPage
+	//datainfo.ItemsPerPage = page.Size
+	this.Data["json"] = &datainfo
+	this.ServeJSON()
+}
+
+
 // @Title 获取字典列表
 // @Description get user by token
 // @Success 200 {object} map[string]interface{}

+ 270 - 0
src/dashoo.cn/backend/api/controllers/oilcontract/contractEvaluationOrder.go

@@ -0,0 +1,270 @@
+package oilcontract
+
+import (
+	"dashoo.cn/backend/api/business/oilcontract/contractEvaluationOrder"
+	"dashoo.cn/backend/api/business/oilcontract/contractReview"
+	"encoding/json"
+	"strconv"
+	"strings"
+	"time"
+
+	"dashoo.cn/backend/api/business/baseUser"
+
+	. "dashoo.cn/backend/api/controllers"
+	"dashoo.cn/business2/userRole"
+	"dashoo.cn/utils"
+)
+
+type OilContractEvaluationOrderController struct {
+	BaseController
+}
+
+// @Title 获取列表
+// @Description get user by token
+// @Success 200 {object} []evaluationItems.OilEvaluationItems
+// @router /list [get]
+func (this *OilContractEvaluationOrderController) GetEntityList() {
+
+	//获取分页信息
+	page := this.GetPageInfoForm()
+	where := " 1=1 "
+	orderby := "Id"
+	asc := false
+	Order := this.GetString("Order")
+	Prop := this.GetString("Prop")
+	if Order != "" && Prop != "" {
+		orderby = Prop
+		if Order == "asc" {
+			asc = true
+		}
+	}
+	Id := this.GetString("Id")
+	ContractId := this.GetString("ContractId")
+	ReviewId := this.GetString("ReviewId")
+	UnitId := this.GetString("UnitId")
+	UnitBy := this.GetString("UnitBy")
+	IsConfirm := this.GetString("IsConfirm")
+	CreateOn := this.GetString("CreateOn")
+	CreateUserId := this.GetString("CreateUserId")
+	CreateBy := this.GetString("CreateBy")
+	ModifiedOn := this.GetString("ModifiedOn")
+	ModifiedUserId := this.GetString("ModifiedUserId")
+	ModifiedBy := this.GetString("ModifiedBy")
+
+	if Id != "" {
+		where = where + " and Id like '%" + Id + "%'"
+	}
+
+	if ContractId != "" {
+		where = where + " and ContractId like '%" + ContractId + "%'"
+	}
+
+	if ReviewId != "" {
+		where = where + " and ReviewId like '%" + ReviewId + "%'"
+	}
+
+	if UnitId != "" {
+		where = where + " and UnitId like '%" + UnitId + "%'"
+	}
+
+	if UnitBy != "" {
+		where = where + " and UnitBy like '%" + UnitBy + "%'"
+	}
+
+	if IsConfirm != "" {
+		where = where + " and IsConfirm like '%" + IsConfirm + "%'"
+	}
+
+	if CreateOn != "" {
+		where = where + " and CreateOn like '%" + CreateOn + "%'"
+	}
+
+	if CreateUserId != "" {
+		where = where + " and CreateUserId like '%" + CreateUserId + "%'"
+	}
+
+	if CreateBy != "" {
+		where = where + " and CreateBy like '%" + CreateBy + "%'"
+	}
+
+	if ModifiedOn != "" {
+		where = where + " and ModifiedOn like '%" + ModifiedOn + "%'"
+	}
+
+	if ModifiedUserId != "" {
+		where = where + " and ModifiedUserId like '%" + ModifiedUserId + "%'"
+	}
+
+	if ModifiedBy != "" {
+		where = where + " and ModifiedBy like '%" + ModifiedBy + "%'"
+	}
+
+	if CreateOn != "" {
+		dates := strings.Split(CreateOn, ",")
+		if len(dates) == 2 {
+			minDate := dates[0]
+			maxDate := dates[1]
+			where = where + " and CreateOn>='" + minDate + "' and CreateOn<='" + maxDate + "'"
+		}
+	}
+
+	svc := contractEvaluationOrder.GetOilContractEvaluationOrderService(utils.DBE)
+	var list []contractEvaluationOrder.OilContractEvaluationOrder
+	total := svc.GetPagingEntitiesWithOrderBytbl("", page.CurrentPage, page.Size, orderby, asc, &list, where)
+	var datainfo DataInfo
+	datainfo.Items = list
+	datainfo.CurrentItemCount = total
+	datainfo.PageIndex = page.CurrentPage
+	datainfo.ItemsPerPage = page.Size
+	this.Data["json"] = &datainfo
+	this.ServeJSON()
+}
+
+// @Title 获取字典列表
+// @Description get user by token
+// @Success 200 {object} map[string]interface{}
+// @router /dictlist [get]
+func (this *OilContractEvaluationOrderController) GetDictList() {
+	dictList := make(map[string]interface{})
+	//dictSvc := items.GetItemsService(utils.DBE)
+	userSvc := baseUser.GetBaseUserService(utils.DBE)
+	//customerSvc := svccustomer.GetCustomerService(utils.DBE)
+	//dictList["WellNo"] = dictSvc.GetKeyValueItems("WellNo", "")
+	var userEntity userRole.Base_User
+	userSvc.GetEntityById(this.User.Id, &userEntity)
+	dictList["Supervisers"] = userSvc.GetUserListByDepartmentId("", userEntity.Departmentid)
+
+	//var dictCustomer []svccustomer.Customer
+	//customerSvc.GetEntitysByWhere("" + CustomerName, "", &dictCustomer)
+	//dictList["EntrustCorp"] = &dictCustomer
+
+	var datainfo DataInfo
+	datainfo.Items = dictList
+	this.Data["json"] = &datainfo
+	this.ServeJSON()
+}
+
+// @Title 获取实体
+// @Description 获取实体
+// @Success 200 {object} contractEvaluationOrder.OilContractEvaluationOrder
+// @router /get/:id [get]
+func (this *OilContractEvaluationOrderController) GetEntity() {
+	Id := this.Ctx.Input.Param(":id")
+
+	svc := contractEvaluationOrder.GetOilContractEvaluationOrderService(utils.DBE)
+	var model contractEvaluationOrder.OilContractEvaluationOrder
+	svc.GetEntityByIdBytbl(OilContractEvaluationOrderName, Id, &model)
+
+	this.Data["json"] = &model
+	this.ServeJSON()
+}
+
+// @Title 添加
+// @Description 创建工单
+// @Param 	body body contractEvaluationOrder.OilContractEvaluationOrder
+// @Success	200	{object} controllers.Request
+// @router /add [post]
+func (this *OilContractEvaluationOrderController) AddEntity() {
+	var model contractEvaluationOrder.OilContractEvaluationOrder
+	var jsonBlob = this.Ctx.Input.RequestBody
+	svc := contractEvaluationOrder.GetOilContractEvaluationOrderService(utils.DBE)
+
+	json.Unmarshal(jsonBlob, &model)
+	model.CreateOn = time.Now()
+	model.CreateBy = this.User.Realname
+	model.CreateUserId, _ = utils.StrTo(this.User.Id).Int()
+	var errinfo ErrorDataInfo
+	defer func() { //finally处理失败的异常
+		if err := recover(); err != nil {
+			errinfo.Message = err.(string)
+			errinfo.Code = -1
+			this.Data["json"] = &errinfo
+			this.ServeJSON()
+		} else {
+			//返回正确结果
+			errinfo.Message = "添加成功!"
+			errinfo.Code = 0
+			errinfo.Item = model.Id
+			this.Data["json"] = &errinfo
+			this.ServeJSON()
+		}
+	}()
+
+	svc.InsertEntityBytbl(OilContractEvaluationOrderName, &model)
+
+}
+
+// @Title 确认
+// @Description 点击确认
+// @Param 	body body contractEvaluationOrder.OilContractEvaluationOrder
+// @Success	200	{object} controllers.Request
+// @router /update/:id [post]
+func (this *OilContractEvaluationOrderController) UpdateEntity() {
+	id := this.Ctx.Input.Param(":id")
+	var errinfo ErrorInfo
+	defer func() { //finally处理失败的异常
+		if err := recover(); err != nil {
+			errinfo.Message = err.(string)
+			errinfo.Code = -1
+			this.Data["json"] = &errinfo
+			this.ServeJSON()
+		} else {
+			//返回正确结果
+			errinfo.Message = "修改成功!"
+			errinfo.Code = 0
+			this.Data["json"] = &errinfo
+			this.ServeJSON()
+		}
+	}()
+	if id == "" {
+		panic("操作失败!请求信息不完整")
+	}
+
+	var model contractEvaluationOrder.OilContractEvaluationOrder
+	var model1 contractEvaluationOrder.OilContractEvaluationOrder
+	svc := contractEvaluationOrder.GetOilContractEvaluationOrderService(utils.DBE)
+	svc.GetEntityByIdBytbl(OilContractEvaluationOrderName, id, &model1)
+	if model1.IsConfirm == 1 {
+		panic("操作失败!不能再次确认")
+	}
+
+	// 获取最后一条评价
+	where := " IsFinal = 1 and ContractId = " + strconv.Itoa(model1.ContractId)
+	var contractRev []contractReview.OilContractReview
+	contractSvc := contractReview.GetOilContractReviewService(utils.DBE)
+	contractSvc.GetEntitysByOrderbyWhere(OilContractReviewName, where, "Id Desc", &contractRev)
+	if len(contractRev) <= 0 {
+		panic("操作失败!找不到评价")
+	}
+	var ReviewId int
+	for _, value := range contractRev {
+		if value.Status != "8" {
+			panic("操作失败!审核未结束不能确认")
+		}
+		ReviewId = value.Id
+		break
+	}
+
+	var jsonBlob = this.Ctx.Input.RequestBody
+	json.Unmarshal(jsonBlob, &model)
+	model.ReviewId = ReviewId
+	model.IsConfirm = 1
+	model.ModifiedOn = time.Now()
+	model.ModifiedBy = this.User.Realname
+	model.ModifiedUserId, _ = utils.StrTo(this.User.Id).Int()
+
+
+	cols := []string{
+		"ReviewId",
+
+		"IsConfirm",
+
+		"ModifiedOn",
+
+		"ModifiedUserId",
+
+		"ModifiedBy",
+	}
+	svc.UpdateEntityBytbl(OilContractEvaluationOrderName, id, &model, cols)
+}
+

+ 120 - 59
src/dashoo.cn/backend/api/controllers/oilcontract/contractReview.go

@@ -34,13 +34,13 @@ func (this *OilContractReviewController) GetEntityList() {
 	page := this.GetPageInfoForm()
 	where := " 1=1 "
 	orderby := "Id"
-	asc := "desc"
+	asc := " desc "
 	Order := this.GetString("Order")
 	Prop := this.GetString("Prop")
 	if Order != "" && Prop != "" {
 		orderby = Prop
 		if Order == "asc" {
-			asc = "asc"
+			asc = " asc "
 		}
 	}
 	Id := this.GetString("Id")
@@ -101,7 +101,7 @@ func (this *OilContractReviewController) GetEntityList() {
 		}
 	}
 	svc := contractReview.GetOilContractReviewService(utils.DBE)
-	var list []contractReview.OilContractReview
+	var list []contractReview.OilContractReviewListVo
 	total := svc.GetContractReviewList(page.CurrentPage, page.Size, orderby, asc, &list, where)
 	var datainfo DataInfo
 	datainfo.Items = list
@@ -177,6 +177,7 @@ func (this *OilContractReviewController) AddEntity() {
 		fmt.Print(i)
 		var temp contractEvaluationItems.OilContractEvaluationItems
 		temp.ContentReviewId = reviewMode.Id
+		temp.Category = 0
 		temp.ParentId = v.ParentId
 		temp.SequenceNo = v.SequenceNo
 		temp.Content = v.Content
@@ -285,6 +286,7 @@ func (this *OilContractReviewController) UpdateEntity() {
 		fmt.Print(i)
 		var temp contractEvaluationItems.OilContractEvaluationItems
 		temp.ContentReviewId = reviewMode.Id
+		temp.Category = 0
 		temp.ParentId = v.ParentId
 		temp.SequenceNo = v.SequenceNo
 		temp.Content = v.Content
@@ -365,8 +367,8 @@ func (this *OilContractReviewController) UnitAuditEntity() {
 	var baseUserInfo userRole.Base_User
 	userService := userRole.GetUserService(utils.DBE)
 	userService.GetEntityById(userId, &baseUserInfo)
-	//unitId := baseUserInfo.UnitId
-
+	unitId := baseUserInfo.UnitId
+	fmt.Println("2222222222")
 	var errinfo ErrorDataInfo
 	defer func() { //finally处理失败的异常
 		if err := recover(); err != nil {
@@ -417,7 +419,7 @@ func (this *OilContractReviewController) UnitAuditEntity() {
 		"WorkflowId",
 		"BusinessKey",
 		"ProcessKey",
-		//"CommitComId",
+		"CommitComId",
 		"AuditIndex",
 	}
 	contractReviewEntity.ProcessKey = workflow.OIL_DAILY_CONTRACT_EVALUATION
@@ -426,7 +428,7 @@ func (this *OilContractReviewController) UnitAuditEntity() {
 	contractReviewEntity.FirstAudit, _ = strconv.Atoi(firstAudit)
 	contractReviewEntity.SecondAudit, _ = strconv.Atoi(secondAudit)
 	contractReviewEntity.ThirdAudit, _ = strconv.Atoi(thirdAudit)
-	//contractReviewEntity.CommitComId = strconv.Itoa(unitId)
+	contractReviewEntity.CommitComId = strconv.Itoa(unitId)
 	conRev.UpdateEntityByIdCols(Id, contractReviewEntity, cols)
 
 	var ActiComplete workflow.ActiCompleteVM
@@ -443,7 +445,7 @@ func (this *OilContractReviewController) UnitAuditEntity() {
 	}
 }
 
-// @Title 分办之后的各级审批  --审批 包含:二级单位初审、复审, 业务处室专业审核, 集中评审
+// @Title 分办之后的各级审批  --审批 包含:二级单位初审、复审, 业务处室专业审核
 // @Description 分办之后的各级审批
 // @Success	200	{object} controllers.Request
 // @router /common-audit/:id [post]
@@ -487,8 +489,8 @@ func (this *OilContractReviewController) CommonAuditEntity() {
 	}
 }
 
-// @Title 业务处室接收分办 专业审批
-// @Description 业务处室接收分办 专业审批
+// @Title 业务处室接收分办
+// @Description 业务处室接收分办
 // @Success 200 {object} controllers.Request
 // @router /business-separate-audit/:id [post]
 func (this *OilContractReviewController) BusinessOfficeSeparateAuditEntity() {
@@ -541,54 +543,113 @@ func (this *OilContractReviewController) BusinessOfficeSeparateAuditEntity() {
 	conRev.UpdateEntityByIdCols(supplierCertId, contractReviewEntity, cols)
 }
 
-// @Title 集中审批
-// @Description 集中审批
-// @Success 200 {object} controllers.Request
-// @router /concentrate-audit/:id [post]
-func (this *OilContractReviewController) ConcentrateAuditEntity() {
-	Id := this.Ctx.Input.Param(":id")
-	AuditRemark := this.GetString("AuditRemark")
-
-	var errInfo ErrorDataInfo
-	defer func() { //finally处理失败的异常
-		if err := recover(); err != nil {
-			errInfo.Message = err.(string)
-			errInfo.Code = -1
-			this.Data["json"] = &errInfo
-			this.ServeJSON()
-		} else {
-			//返回正确结果
-			errInfo.Message = "审核提交成功"
-			errInfo.Code = 0
-			this.Data["json"] = &errInfo
-			this.ServeJSON()
-		}
-	}()
-
-	//取出日常评审主表信息
-	conRev := contractReview.GetOilContractReviewService(utils.DBE)
-	var contractReviewEntity contractReview.OilContractReview
-	conRev.GetEntityById(Id, &contractReviewEntity)
-
-	svcActiviti := workflow.GetActivitiService(utils.DBE)
-	var ActiComplete workflow.ActiCompleteVM
-	ActiComplete.ProcessKey = workflow.OIL_DAILY_CONTRACT_EVALUATION
-	ActiComplete.BusinessKey = contractReviewEntity.BusinessKey
-	ActiComplete.UserId = this.User.Id //审批人员
-	ActiComplete.Result = "1"          //前台审批[同意、不同意]
-	ActiComplete.Remarks = AuditRemark
-	ActiComplete.CallbackUrl = utils.Cfg.MustValue("workflow", "callbackHost")
-	receiveVal := svcActiviti.TaskComplete(ActiComplete)
-	if receiveVal != "true" {
-		panic("工作流异常,请联系管理员!" + receiveVal)
-	}
-	//cols := []string{
-	//	"Id",
-	//	"Status",
-	//}
-	//supplierCertId := strings.Split(supplierCertEntity.BusinessKey, "-")[0]
-	//supplierCertEntity.Status = suppliercert.PROF_AUDIT_STATUS //专业处室接收
-	//certSrv.UpdateEntityByIdCols(supplierCertId, supplierCertEntity, cols)
-}
+// @Title 确认是否入库
+// @Description 确认是否入库
+// @Success	200	{object} controllers.Request
+// @router /update-is-storage/:id [post]
+//func (this *OilContractReviewController) UpdateIsStorage() {
+//	id := this.Ctx.Input.Param(":id")
+//	result := this.GetString("result")
+//	AccessCardNo := this.GetString("AccessCardNo")
+//	BackRemark := this.GetString("BackRemark")
+//	SupplierId := this.GetString("SupplierId")
+//	var errinfo ErrorInfo
+//	if id == "" {
+//		errinfo.Message = "操作失败!请求信息不完整"
+//		errinfo.Code = -2
+//		this.Data["json"] = &errinfo
+//		this.ServeJSON()
+//		return
+//	}
+//	defer func() { //finally处理失败的异常
+//		if err := recover(); err != nil {
+//			errinfo.Message = err.(string)
+//			errinfo.Code = -1
+//			this.Data["json"] = &errinfo
+//			this.ServeJSON()
+//		} else {
+//			//返回正确结果
+//			if result == "1" {
+//				errinfo.Message = "入库成功"
+//			} else {
+//				errinfo.Message = "退回成功"
+//			}
+//			errinfo.Code = 0
+//			this.Data["json"] = &errinfo
+//			this.ServeJSON()
+//		}
+//	}()
+//
+//	var supplierCertEntity suppliercert.OilSupplierCert
+//	certSrv := suppliercert.GetOilSupplierCertService(utils.DBE)
+//	certSrv.GetEntityById(id, &supplierCertEntity)
+//
+//	AuditRemark := ""
+//	if result == "1" {
+//		AuditRemark = "审批通过, 已入库。"
+//		var supplierEntity supplier.OilSupplier
+//		srv := supplier.GetOilSupplierService(utils.DBE)
+//		srv.GetEntityById(SupplierId, &supplierEntity)
+//		var srvCols []string
+//		if supplierCertEntity.SupplierTypeCode == "01" {
+//			supplierEntity.WZAccessCardNo = AccessCardNo
+//			srvCols = append(srvCols, "WZAccessCardNo")
+//		} else if supplierCertEntity.SupplierTypeCode == "02" {
+//			supplierEntity.WZAccessCardNo = AccessCardNo
+//			srvCols = append(srvCols, "JSAccessCardNo")
+//		} else if supplierCertEntity.SupplierTypeCode == "03" {
+//			supplierEntity.WZAccessCardNo = AccessCardNo
+//			srvCols = append(srvCols, "JFAccessCardNo")
+//		} else {
+//			panic("准入类别错误!")
+//		}
+//
+//		srv.UpdateEntityByIdCols(SupplierId, &supplierEntity, srvCols)
+//	} else {
+//		if BackRemark != "" {
+//			AuditRemark = BackRemark
+//		} else {
+//			AuditRemark = "待入库未通过。"
+//		}
+//	}
+//
+//	cols := []string{
+//		"Id",
+//		"Status",
+//		"ApplyTime",
+//		"InFlag",
+//		"StorageOn",
+//		"ModifiedOn",
+//		"BackRemark",
+//	}
+//	//进入此步骤,记录在数据库中
+//	if result == "1" {
+//		supplierCertEntity.Status = suppliercert.STORE_STATUS // 7 已入库
+//		supplierCertEntity.StorageOn = time.Now()
+//		supplierCertEntity.ApplyTime = time.Now().AddDate(1, 0, 0)
+//		supplierCertEntity.InFlag = "1"
+//		supplierCertEntity.BackRemark = ""
+//	} else {
+//		supplierCertEntity.Status = suppliercert.NO_STOREING_STATUS // -7 待入库未通过
+//		supplierCertEntity.BackRemark = AuditRemark // 未通过理由
+//	}
+//
+//	supplierCertEntity.ModifiedOn = time.Now()
+//	certSrv.UpdateEntityByIdCols(id, supplierCertEntity, cols)
+//
+//	svcActiviti := workflow.GetActivitiService(utils.DBE)
+//	var ActiComplete workflow.ActiCompleteVM
+//	ActiComplete.ProcessKey = workflow.OIL_ENUSER_SUPPLIER_APPLY
+//	ActiComplete.BusinessKey = supplierCertEntity.BusinessKey
+//	ActiComplete.UserId = this.User.Id //审批人员
+//	ActiComplete.Result = result
+//	ActiComplete.Remarks = AuditRemark
+//	ActiComplete.CallbackUrl = utils.Cfg.MustValue("workflow", "callbackHost")
+//	receiveVal := svcActiviti.TaskComplete(ActiComplete)
+//	if receiveVal != "true" {
+//		panic("工作流异常,请联系管理员!" + receiveVal)
+//	}
+//
+//}
 
 

+ 49 - 1
src/dashoo.cn/backend/api/controllers/oilcontract/contractSumScore.go

@@ -181,6 +181,54 @@ func (this *OilContractSumScoreController) GetEntityList() {
 	this.ServeJSON()
 }
 
+// @Title 获取核算列表
+// @Description get user by token
+// @Success 200 {object} []contractSumScore.OilContractSumScore
+// @router /compute-list [get]
+func (this *OilContractSumScoreController) GetComputeEntityList(){
+	//获取分页信息
+	page := this.GetPageInfoForm()
+	where := " 1=1 "
+	orderby := "contract.SupplierId"
+	asc := false
+	Order := this.GetString("Order")
+	Prop := this.GetString("Prop")
+	if Order != "" && Prop != "" {
+		orderby = Prop
+		if Order == "asc" {
+			asc = true
+		}
+	}
+	SupplierName := this.GetString("SupplierName")
+	CreateOn     := this.GetString("CreateOn")
+	Type         := this.GetString("Type","01")
+
+	if SupplierName != "" {
+		where = where + " and contract.SupplierName like '%" + SupplierName + "%'"
+	}
+	if Type != ""{
+		where = where + " and contract.ContractClass = '" + Type + "'"
+	}
+	if CreateOn != "" {
+		dates := strings.Split(CreateOn, ",")
+		if len(dates) == 2 {
+			minDate := dates[0]
+			maxDate := dates[1]
+			where = where + " and review.CreateOn>='" + minDate + "' and review.CreateOn<='" + maxDate + "'"
+		}
+	}
+	svc := contractSumScore.GetOilContractSumScoreService(utils.DBE)
+	var list []contractSumScore.OilContractComputeSumScoreVo
+	total := svc.GetPagingComputeEntitiesWithOrderBytbl(page.CurrentPage, page.Size, orderby, asc, &list, where)
+	var datainfo DataInfo
+	datainfo.Items = list
+	datainfo.CurrentItemCount = total
+	datainfo.PageIndex = page.CurrentPage
+	datainfo.ItemsPerPage = page.Size
+	this.Data["json"] = &datainfo
+	this.ServeJSON()
+}
+
 // @Title 获取字典列表
 // @Description get user by token
 // @Success 200 {object} map[string]interface{}
@@ -231,12 +279,12 @@ func (this *OilContractSumScoreController) AddEntity() {
 	svc := contractSumScore.GetOilContractSumScoreService(utils.DBE)
 
 	json.Unmarshal(jsonBlob, &model)
+	model.Category = 1                      // 二级单位创建
 	model.CreateOn = time.Now()
 	model.CreateBy = this.User.Realname
 	model.CreateUserId, _ = utils.StrTo(this.User.Id).Int()
 
 	_, err := svc.InsertEntityBytbl(this.User.AccCode+OilContractSumScoreName, &model)
-
 	var errinfo ErrorDataInfo
 	if err == nil {
 		//新增

+ 5 - 3
src/dashoo.cn/backend/api/controllers/oilcontract/evaluationItems.go

@@ -161,14 +161,16 @@ func (this *OilEvaluationItemsController) GetDictList() {
 // @Title 获取一级列表
 // @Description get user by token
 // @Success 200 {object} []evaluationItems.OilEvaluationItems
-// @router /onelist [get]
+// @router /onelist/:type [get]
 func (this *OilEvaluationItemsController) GetOneEntityList() {
-
+	Type := this.Ctx.Input.Param(":type")
 	//获取分页信息
 	page := this.GetPageInfoForm()
 	orderby := "Id"
 	where := " ParentId = 0"
-
+	if Type != "0" {
+		where += " AND Type = " + Type
+	}
 	svc := evaluationItems.GetOilEvaluationItemsService(utils.DBE)
 	var list []evaluationItems.OilEvaluationItems
 	var result []evaluationItems.DailyItems

+ 31 - 0
src/dashoo.cn/backend/api/routers/router.go

@@ -489,6 +489,37 @@ func init() {
 				&oilcontract.OilContractReviewController{},
 			),
 		),
+		// 合同评价明细
+		beego.NSNamespace("/contract-evaluation",
+			beego.NSInclude(
+				&oilcontract.OilContractEvaluationItemsController{},
+			),
+		),
+		// 合同评价工单
+		beego.NSNamespace("/contract-order",
+			beego.NSInclude(
+				&oilcontract.OilContractEvaluationOrderController{},
+			),
+		),
+		// 合同年度汇总分
+		beego.NSNamespace("/contract-score",
+			beego.NSInclude(
+				&oilcontract.OilContractSumScoreController{},
+			),
+		),
+
+		// 合同日常评审回调
+		beego.NSNamespace("/contract-daily-listener",
+			beego.NSInclude(
+				&oilcontract.OilContractDailyListenerController{},
+			),
+		),
+		// 合同年度评审回调
+		beego.NSNamespace("/contract-annual-listener",
+			beego.NSInclude(
+				&oilcontract.OilAnnualListenerController{},
+			),
+		),
 	)
 	beego.AddNamespace(ns)
 }

+ 5 - 0
src/dashoo.cn/frontend_web/src/api/oilcontract/contractReview.js

@@ -0,0 +1,5 @@
+export default {
+    
+   
+}
+  

+ 1 - 0
src/dashoo.cn/frontend_web/src/pages/oilcontract/contract-basis/_opera/operation.vue

@@ -15,6 +15,7 @@
         </span>
         <span style="float: right;">
           <el-button type="primary" size="mini" style="margin-left: 8px" >提交</el-button>
+          <el-button type="primary" size="mini" style="margin-left: 8px">提交审批</el-button>
           <router-link :to="'/oilcontract/contract-basis'">
             <el-button type="primary" size="mini" style="margin-left: 8px">返回</el-button>
           </router-link>

+ 87 - 2
src/dashoo.cn/frontend_web/src/pages/oilcontract/contract-service/_opera/operation.vue

@@ -17,6 +17,7 @@
           <router-link :to="'/oilcontract/contract-service'">
             <el-button type="primary" size="mini" style="margin-left: 8px">返回</el-button>
           </router-link>
+          <el-button type="primary" size="mini" style="margin-left: 8px" @click="commitAudit()">提交审批</el-button>
         </span>
       </div>
       <el-tabs v-model="activeName" style="margin-top: -10px">
@@ -110,6 +111,75 @@
       </el-tabs>
     </el-card>
 
+    <el-dialog title="提交初审"
+               :visible.sync="dialogVisible"
+               width="520px">
+      <el-form ref="searchForm"
+               label-width="100px">
+        <el-row>
+          <el-col :span="24">
+            <el-form-item label="初审人员">
+              <el-select ref="selectAuditer"
+                         v-model="auditer"
+                         placeholder="请选择初审人"
+                         style="width: 100%"
+                         filterable
+                         default-first-option
+                          @change="auditOrgChang()">
+                <el-option v-for="item in firOptions"
+                           :key="item.Id"
+                           :label="item.Realname"
+                           :value="item.Id">
+                </el-option>
+              </el-select>
+            </el-form-item>
+            <el-form-item label="复审人员">
+              <el-select ref="selectAuditer"
+                         v-model="fushenauditer"
+                         placeholder="请选择复审人"
+                         style="width: 100%"
+                         filterable
+                         default-first-option>
+                <el-option v-for="item in secauditerOptions"
+                           :key="item.Id"
+                           :label="item.Realname"
+                           :value="item.Id">
+                </el-option>
+              </el-select>
+            </el-form-item>
+            <el-form-item label="专业处室">
+              <el-select v-model="selectDept"
+                         filterable
+                         disabled
+                         placeholder="请选择"
+                         style="width: 100%"
+                         @change="changeOrgUnit">
+                <el-option v-for="item in allorgunitOptions"
+                           :key="item.Id"
+                           :label="item.Fullname"
+                           :value="item.Id">
+                </el-option>
+              </el-select>
+            </el-form-item>
+          </el-col>
+          <el-col :span="24">
+            <el-form-item label="备注">
+              <el-input v-model="auditform.AuditRemark"
+                        type="textarea"
+                        placeholder="请输入备注内容"></el-input>
+            </el-form-item>
+          </el-col>
+        </el-row>
+      </el-form>
+      <span slot="footer"
+            class="dialog-footer">
+        <el-button size="mini"
+                   @click="dialogVisible = false">取 消</el-button>
+        <el-button size="mini"
+                   type="primary"
+                   @click="secondaryUnitSubmitApply" :loading="loading">确定</el-button>
+      </span>
+    </el-dialog>
 
   </div>
 </template>
@@ -172,14 +242,22 @@
           ModifiedBy: '',
           //缺少
           SubPackage: '',
-          ContractType: ''
-
+          ContractType: '',
         },
 
         //下拉选择项
         //wellNoOptions: [],
         //supervisersOptions: [],
 
+        dialogVisible: false,
+        auditform: {
+            FirstAuditName: '',
+            SecondAudit: '',
+            ThirdAudit: '',
+            CertId: '',
+            AuditRemark: '',
+            TypeCode: '01' 
+        },
       }
     },
     created() {
@@ -301,6 +379,13 @@
         var minute = date.getMinutes();
         minute = minute < 10 ? ('0' + minute) : minute;
         return y + '-' + m + '-' + d + ' ' + h + ':' + minute;
+      },
+    
+      selectAuditOrg(){
+        this.dialogVisible = true
+      },
+      commitAudit () {
+         this.selectAuditOrg()
       }
     }
   }

+ 1 - 0
src/dashoo.cn/frontend_web/src/pages/oilcontract/contract-service/index.vue

@@ -16,6 +16,7 @@
             <el-button type="primary" size="mini" style="margin-left:10px; margin-top: -4px;">添加</el-button>
           </router-link> -->
           <!-- <el-button type="primary" size="mini" style="margin-left:10px; margin-top: -4px;">导入</el-button> -->
+
         </span>
         <el-form ref="form" :inline="true" style="float: right; margin-top: -10px">
           <el-form-item label="上报时间">