Pārlūkot izejas kodu

保存值班子表

dbcgit 5 gadi atpakaļ
vecāks
revīzija
fffafd209d

+ 13 - 4
backend/src/dashoo.cn/modi_webapi/app/api/duty/detail.go

@@ -6,8 +6,8 @@ import (
 	"dashoo.cn/modi_webapi/app/model/duty/detail"
 	detailService "dashoo.cn/modi_webapi/app/service/duty"
 	"dashoo.cn/modi_webapi/library/request"
-	"fmt"
 	"github.com/gogf/gf/net/ghttp"
+	"github.com/gogf/gf/util/gvalid"
 )
 
 // 值周详情控制器
@@ -182,9 +182,18 @@ func (c *DetailController) BatchAdd(r *ghttp.Request) {
 	if err != nil {
 		response.Json(r, -1, err.Error())
 	}
-	detail := r.GetArray("detail")
-	fmt.Println(detail)
-	if id, err := service.Adds(detail); err != nil {
+ 	detail  := new(detail.ListEntity)
+ 	if err := r.Parse(detail); err != nil {
+		// 数据验证错误
+		if v, ok := err.(*gvalid.Error); ok {
+			response.Json(r, 1, v.FirstString())
+			r.ExitAll()
+		}
+		// 其他错误
+		response.Json(r, 1, err.Error())
+		r.ExitAll()
+	}
+ 	if id, err := service.Adds(detail); err != nil {
 		response.Json(r, -1, err.Error())
 	} else {
 		response.Json(r, 0, "ok", id)

+ 3 - 0
backend/src/dashoo.cn/modi_webapi/app/model/duty/detail/detail_entity.go

@@ -32,6 +32,9 @@ type Entity struct {
 	IsDel       int         `xorm:"INT(11)"`                      // 删除标志
 
 }
+type ListEntity struct {
+	 DataList []Entity  `json:"DataList"`
+}
 
 // OmitEmpty sets OPTION_OMITEMPTY option for the model, which automatically filers
 // the data and where attributes for empty values.

+ 2 - 2
backend/src/dashoo.cn/modi_webapi/app/service/duty/detail.go

@@ -88,8 +88,8 @@ func (s DetailService) Save(Id int, param *detail.UpdDateReq) (*detail.Entity, e
 }
 
 // 批量添加
-func (s DetailService) Adds(param []string) (id int64, err error) {
-	result, err := s.DB.Table(detail.Table).Data(param).Insert()
+func (s DetailService) Adds(param *detail.ListEntity) (id int64, err error) {
+	result, err := s.SafeModel.Insert(param.DataList)
 	if err != nil {
 		return 0, err
 	} else {

+ 10 - 2
frontend_web/src/api/duty.js

@@ -38,9 +38,17 @@ export default {
    // 保存值班管理子表信息
    addDetail (data) {
     return request({
-      url: process.env.VUE_APP_API + 'duty/detail/adddetail',
+      url: process.env.VUE_APP_API + 'duty/detail/batchadd',
       method: 'post',
       data: data
     })
-  }
+  },
+  // 获取一条值班子表信息
+  getDetailByDutyId (params) {
+    return request({
+      url: process.env.VUE_APP_API + 'duty/detail/getdetailbydutyid',
+      method: 'get',
+      params: params
+    })
+  },
 }

+ 11 - 1
frontend_web/src/views/duty/detail/index.vue

@@ -199,8 +199,18 @@ export default {
     _this.dutyDetail = _this.$route.query.duty
     _this.termList = _this.$route.query.term
     this.getTerm()
+    this.getDetailData()
   },
   methods: {
+    // 获取值班子表表格
+    getDetailData () {
+      let _this = this
+      DutyApi.getDetailByDutyId({
+        Id: _this.dutyDetail.Id
+      }).then(res => {
+        _this.list = res
+      })
+    },
     // 新增表格
     addList () {
       if (this.selectLocal == 0 && this.selectTime.length == 0) {
@@ -230,7 +240,7 @@ export default {
     addDuytDetail () {
       let _this = this
       if (this.dutyDetail.Id) {
-        DutyApi.addDetail(this.list)
+        DutyApi.addDetail({ DataList: this.list })
           .then(res => {
 
           })