diff --git a/pkg/model/approval_oa.go b/pkg/model/approval_oa.go
index 367b565..0254e09 100644
--- a/pkg/model/approval_oa.go
+++ b/pkg/model/approval_oa.go
@@ -1,6 +1,8 @@
 package model
 
 import (
+	"database/sql/driver"
+	"encoding/json"
 	"errors"
 	"fmt"
 	"github.com/fonchain_enterprise/fonchain-approval/api/approval"
@@ -43,6 +45,17 @@ type LeaveApply struct {
 	CopyUsers     CopyUsers     `json:"copyUsers" gorm:"column:copy_users;type:json;comment:抄送人"`
 }
 
+func (la *LeaveApply) Scan(src interface{}) error {
+	return json.Unmarshal(src.([]byte), la)
+}
+
+func (la *LeaveApply) Value() (driver.Value, error) {
+
+	v, err := json.Marshal(la)
+
+	return string(v), err
+}
+
 // OutWorkApply
 // 外勤申请
 type OutWorkApply struct {
@@ -64,6 +77,17 @@ type OutWorkApply struct {
 	CopyUsers      CopyUsers     `json:"copyUsers" gorm:"column:copy_users;type:json;comment:抄送人"`
 }
 
+func (owa *OutWorkApply) Scan(src interface{}) error {
+	return json.Unmarshal(src.([]byte), owa)
+}
+
+func (owa *OutWorkApply) Value() (driver.Value, error) {
+
+	v, err := json.Marshal(owa)
+
+	return string(v), err
+}
+
 // MakeUpApply
 // 补卡申请
 type MakeUpApply struct {
@@ -82,6 +106,17 @@ type MakeUpApply struct {
 	CopyUsers     CopyUsers     `json:"copyUsers" gorm:"column:copy_users;type:json;comment:抄送人"`
 }
 
+func (mua *MakeUpApply) Scan(src interface{}) error {
+	return json.Unmarshal(src.([]byte), mua)
+}
+
+func (mua *MakeUpApply) Value() (driver.Value, error) {
+
+	v, err := json.Marshal(mua)
+
+	return string(v), err
+}
+
 // TurnoverApply
 // 离职申请
 type TurnoverApply struct {
@@ -102,6 +137,17 @@ type TurnoverApply struct {
 	CopyUsers     CopyUsers     `json:"copyUsers" gorm:"column:copy_users;type:json;comment:抄送人"`
 }
 
+func (ta *TurnoverApply) Scan(src interface{}) error {
+	return json.Unmarshal(src.([]byte), ta)
+}
+
+func (ta *TurnoverApply) Value() (driver.Value, error) {
+
+	v, err := json.Marshal(ta)
+
+	return string(v), err
+}
+
 // OverTimeApply
 // 加班申请
 type OverTimeApply struct {
@@ -121,6 +167,17 @@ type OverTimeApply struct {
 	CopyUsers     CopyUsers     `json:"copyUsers" gorm:"column:copy_users;type:json;comment:抄送人"`
 }
 
+func (ota *OverTimeApply) Scan(src interface{}) error {
+	return json.Unmarshal(src.([]byte), ota)
+}
+
+func (ota *OverTimeApply) Value() (driver.Value, error) {
+
+	v, err := json.Marshal(ota)
+
+	return string(v), err
+}
+
 // Leave
 // 请假
 type Leave struct {
@@ -141,6 +198,17 @@ type Leave struct {
 	CopyUsers     CopyUsers     `json:"copyUsers" gorm:"column:copy_users;type:json;comment:抄送人"`
 }
 
+func (l *Leave) Scan(src interface{}) error {
+	return json.Unmarshal(src.([]byte), l)
+}
+
+func (l *Leave) Value() (driver.Value, error) {
+
+	v, err := json.Marshal(l)
+
+	return string(v), err
+}
+
 type VerifyFiles []string
 
 type ApplyTime struct {
@@ -211,7 +279,7 @@ func (oa *ApprovalOA) SaveApprovalContent(in *approval.CreateRequest, a *Approva
 	if err != nil {
 		return err
 	}
-
+	// TODO   序列化  leave_apply 等
 	fmt.Println("存入 数据库 approval_oa 信息 ")
 
 	return DB.Create(&approvalOA).Error