...
|
...
|
@@ -5,13 +5,22 @@ import ( |
|
|
"gitlab.fjmaimaimai.com/allied-creation/allied-creation-gateway/pkg/infrastructure/service_gateway/allied_creation_user"
|
|
|
)
|
|
|
|
|
|
type DataFieldOptions struct {
|
|
|
EnName string `json:"enName"`
|
|
|
CnName string `json:"cnName"`
|
|
|
IsDefault bool `json:"isDefault"`
|
|
|
}
|
|
|
|
|
|
// ExportCompanyUserData 导出公司用户数据
|
|
|
type ExportCompanyUserData []allied_creation_user.UserDetail
|
|
|
type ExportCompanyUserData struct {
|
|
|
SourceData []allied_creation_user.UserDetail
|
|
|
SelectedField []string
|
|
|
}
|
|
|
|
|
|
var _ excel.ExcelMaker = (*ExportCompanyUserData)(nil)
|
|
|
|
|
|
func (data ExportCompanyUserData) DataFieldList() []excel.DataField {
|
|
|
return []excel.DataField{
|
|
|
func (data ExportCompanyUserData) AllField() []DataFieldOptions {
|
|
|
return []DataFieldOptions{
|
|
|
{EnName: "UserCode", CnName: "用户编码"},
|
|
|
{EnName: "UserName", CnName: "用户姓名"},
|
|
|
{EnName: "Phone", CnName: "手机号"},
|
...
|
...
|
@@ -21,25 +30,42 @@ func (data ExportCompanyUserData) DataFieldList() []excel.DataField { |
|
|
}
|
|
|
}
|
|
|
|
|
|
func (data ExportCompanyUserData) DataFieldList() []excel.DataField {
|
|
|
fields := []excel.DataField{}
|
|
|
allFields := data.AllField()
|
|
|
for _, value2 := range allFields {
|
|
|
if len(data.SelectedField) == 0 || value2.IsDefault {
|
|
|
fields = append(fields, excel.DataField{EnName: value2.EnName, CnName: value2.CnName})
|
|
|
continue
|
|
|
}
|
|
|
for _, value3 := range data.SelectedField {
|
|
|
if value2.EnName == value3 {
|
|
|
fields = append(fields, excel.DataField{EnName: value2.EnName, CnName: value2.CnName})
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
return fields
|
|
|
}
|
|
|
|
|
|
func (data ExportCompanyUserData) CellValue(index int, enName string) (value interface{}) {
|
|
|
if index > data.DataListLen() {
|
|
|
return ""
|
|
|
}
|
|
|
switch enName {
|
|
|
case "UserCode":
|
|
|
return data[index].UserCode
|
|
|
return data.SourceData[index].UserCode
|
|
|
case "UserName":
|
|
|
return data[index].UserInfo.UserName
|
|
|
return data.SourceData[index].UserInfo.UserName
|
|
|
case "Phone":
|
|
|
return data[index].UserInfo.Phone
|
|
|
return data.SourceData[index].UserInfo.Phone
|
|
|
case "DepartmentName":
|
|
|
if data[index].Department != nil {
|
|
|
return data[index].Department.DepartmentName
|
|
|
if data.SourceData[index].Department != nil {
|
|
|
return data.SourceData[index].Department.DepartmentName
|
|
|
} else {
|
|
|
return ""
|
|
|
}
|
|
|
case "EnableStatus":
|
|
|
status := data[index].EnableStatus
|
|
|
status := data.SourceData[index].EnableStatus
|
|
|
statusName := ""
|
|
|
// 状态(1:启用 2:禁用 3:注销)
|
|
|
switch status {
|
...
|
...
|
@@ -52,8 +78,8 @@ func (data ExportCompanyUserData) CellValue(index int, enName string) (value int |
|
|
}
|
|
|
return statusName
|
|
|
case "OrgName":
|
|
|
if data[index].Org != nil {
|
|
|
return data[index].Org.OrgName
|
|
|
if data.SourceData[index].Org != nil {
|
|
|
return data.SourceData[index].Org.OrgName
|
|
|
} else {
|
|
|
return ""
|
|
|
}
|
...
|
...
|
@@ -62,7 +88,7 @@ func (data ExportCompanyUserData) CellValue(index int, enName string) (value int |
|
|
}
|
|
|
|
|
|
func (data ExportCompanyUserData) DataListLen() int {
|
|
|
return len(data)
|
|
|
return len(data.SourceData)
|
|
|
}
|
|
|
|
|
|
func (data ExportCompanyUserData) TableTitle() []string {
|
...
|
...
|
|