package request

//添加合同请求
type AddContractReq struct {
	ContractBusinessType string                  `description:"合同业务类型,枚举值:'业务合同','代付合同'"`
	ContractType         string                  `description:"合同类型,枚举值:'新签合同','续约合同','补充协议'"`
	StartDate            string                  `description:"合同开始日期"`
	EndDate              string                  `description:"合同结束日期"`
	OriginalPrice        float64                 `description:"合同原金额,优惠前的金额"`
	Price                float64                 `description:"合同金额,优惠后的金额"`
	PayRemark            string                  `description:"付款方式说明,字符长度最大255"`
	PayChannel           string                  `description:"付款渠道,字符长度最大255"`
	CompanyName          string                  `description:"客户名称,甲方名称,字符长度最大32"`
	CreditCode           string                  `description:"社会统一信用代码,字符长度最大64"`
	ProvinceId           int                     `description:"省级id"`
	Province             string                  `description:"省级名称"`
	CityId               int                     `description:"市级id"`
	City                 string                  `description:"市级名称"`
	Address              string                  `description:"详细地址,字符长度最大128"`
	Fax                  string                  `description:"传真"`
	Phone                string                  `description:"电话"`
	Postcode             string                  `description:"邮编"`
	Remark               string                  `description:"补充内容"`
	SellerRemark         string                  `description:"销售备注"`
	TemplateId           int                     `description:"合同模板id"`
	SourceId             int                     `description:"复制来源的合同id"`
	RelationContractId   int                     `description:"关联的业务合同id"`
	Service              []AddContractServiceReq `description:"服务套餐内容"`
	IsAudit              bool                    `description:"是否发起审核"`
}

//套餐列表
type AddContractServiceReq struct {
	ServiceTemplateId int                             `description:"服务套餐id"`
	Title             string                          `description:"服务套餐名称"`
	Value             string                          `description:"服务套餐内容"`
	Detail            [][]AddContractServiceDetailReq `description:"详情数据"`
}

//套餐列表
type AddContractServiceDetailListReq struct {
	List []AddContractServiceDetailReq `description:"详情列表数据"`
}

//套餐详情(自定义表格类数据)
type AddContractServiceDetailReq struct {
	CanEdit    bool   `json:"CanEdit" description:"是否可编辑"`
	Type       string `json:"Type" description:"类型"`
	Value      string `json:"Value" description:"值"`
	ValueId    []int  `json:"ValueId" description:"类型"`
	HeadName   string `json:"HeadName" description:"表头名称"`
	Tag        string `json:"Tag" description:"表头名称"`
	RowDisable bool   `json:"RowDisable" description:"该行是否禁用操作"`
	RowName    string `json:"RowName" description:"该行关联名称"`
	Name       string `json:"Name" description:"行名称"`
}

//编辑合同请求
type EditContractReq struct {
	ContractId         int                     `description:"合同id"`
	ContractType       string                  `description:"合同类型,枚举值:'新签合同','续约合同','补充协议'"`
	StartDate          string                  `description:"合同开始日期"`
	EndDate            string                  `description:"合同结束日期"`
	OriginalPrice      float64                 `description:"合同原金额,优惠前的金额"`
	Price              float64                 `description:"合同金额,优惠后的金额"`
	PayRemark          string                  `description:"付款方式说明,字符长度最大255"`
	PayChannel         string                  `description:"付款渠道,字符长度最大255"`
	CompanyName        string                  `description:"客户名称,甲方名称,字符长度最大32"`
	CreditCode         string                  `description:"社会统一信用代码,字符长度最大64"`
	ProvinceId         int                     `description:"省级id"`
	Province           string                  `description:"省级名称"`
	CityId             int                     `description:"市级id"`
	City               string                  `description:"市级名称"`
	Address            string                  `description:"详细地址,字符长度最大128"`
	Fax                string                  `description:"传真"`
	Phone              string                  `description:"电话"`
	Postcode           string                  `description:"邮编"`
	Remark             string                  `description:"补充内容"`
	SellerRemark       string                  `description:"销售备注"`
	TemplateId         int                     `description:"合同模板id"`
	Service            []AddContractServiceReq `description:"服务套餐内容"`
	ReAudit            bool                    `description:"是否发起重申"`
	RelationContractId int                     `description:"关联的业务合同id"`
}

// UploadCheckBackFileReq 上传签回合同请求
type UploadCheckBackFileReq struct {
	FileUrl    string `description:"签回合同url"`
	ContractId int    `description:"合同id"`
}

// UploadRescindFileReq 上传解约合同请求
type UploadRescindFileReq struct {
	FileUrl    string `description:"解约合同url"`
	ContractId int    `description:"合同id"`
}

// UploadFileReq 更新合同附件请求
type UploadFileReq struct {
	FileUrl    string `description:"合同url"`
	ContractId int    `description:"合同id"`
}