浏览代码

feature(项目):
1、项目详情及升级功能优化

ZZH-wl 2 年之前
父节点
当前提交
681573e4bf
共有 2 个文件被更改,包括 80 次插入35 次删除
  1. 77 32
      opms_parent/app/model/proj/proj_business.go
  2. 3 3
      opms_parent/app/service/proj/business.go

+ 77 - 32
opms_parent/app/model/proj/proj_business.go

@@ -57,49 +57,94 @@ type AddProjBusinessReq struct {
 }
 
 type UpdateProjBusinessReq struct {
-	Id      int    `json:"id"                 v:"required|min:1#|id不能为空"`               // 主键
-	NboType string `json:"nboType"            v:"required|in:10,20,30#项目级别不能为空|项目级别错误"` // 项目级别
+	Id      int    `json:"id"                 ` // 主键
+	NboType string `json:"nboType"            ` // 项目级别
 	// 创建
-	NboName         string `json:"nboName"            v:"required#项目名称不能为空"`                                // 项目名称
-	CustId          int    `json:"custId"             v:"required|min:1#|关联客户不能为空"`                         // 关联客户
-	CustName        string `json:"custName"           v:"required#关联客户不能为空"`                                // 客户名称
-	ProductLine     string `json:"productLine"        v:"required#产品线不能为空"`                                 // 产品线
-	NboSource       string `json:"nboSource"          v:"required#项目来源不能为空"`                                // 项目来源
-	BidId           int    `json:"bidId"              v:"required-if:nboSource,80#客户招标不能为空"`                // 客户招标Id
-	BidInfo         string `json:"bidInfo"            v:"required-if:nboSource,80#客户招标信息不能为空"`              // 客户招标信息
-	SaleId          int    `json:"saleId"             v:"required|min:1#|归属销售不能为空"`                         // 归属销售
-	SaleName        string `json:"saleName"           v:"required#销售姓名不能为空"`                                // 销售姓名
-	SalesModel      string `json:"salesModel"         v:"required|in:10,20,30#销售模式不能为空|销售模式错误"`             // 销售模式(10直销20经销30代理)
-	DistributorId   int    `json:"distributorId"      v:"required-unless:salesModel,10|min:1#|经销商/代理商不能为空"` // 经销商/代理商ID
-	DistributorName string `json:"distributorName"    v:"required-unless:salesModel,10#经销商/代理商名称不能为空"`      // 经销商/代理商名称
-	IsBig           string `json:"isBig"              v:"required#是否大项目不能为空"`                               // 是否大项目
+	NboName         string `json:"nboName"            ` // 项目名称
+	CustId          int    `json:"custId"             ` // 关联客户
+	CustName        string `json:"custName"           ` // 客户名称
+	ProductLine     string `json:"productLine"        ` // 产品线
+	NboSource       string `json:"nboSource"          ` // 项目来源
+	BidId           int    `json:"bidId"              ` // 客户招标Id
+	BidInfo         string `json:"bidInfo"            ` // 客户招标信息
+	SaleId          int    `json:"saleId"             ` // 归属销售
+	SaleName        string `json:"saleName"           ` // 销售姓名
+	SalesModel      string `json:"salesModel"         ` // 销售模式(10直销20经销30代理)
+	DistributorId   int    `json:"distributorId"      ` // 经销商/代理商ID
+	DistributorName string `json:"distributorName"    ` // 经销商/代理商名称
+	IsBig           string `json:"isBig"              ` // 是否大项目
 
 	// C => B
-	NboBudget          float64 `json:"nboBudget"               v:"required|min:1#|项目预算不能为空"`                  // 项目预算
-	DealerSalesId      int     `json:"dealerSalesId"           v:"required-with:distributorName#|经销商销售不能为空"`  // 关联经销商销售
-	DealerSalesName    string  `json:"dealerSalesName"         v:"required-with:distributorName#经销商销售名称不能为空"` // 经销商销售名称
-	DealerSalesContact string  `json:"dealerSalesContact"      v:"required-with:distributorName#经销商销售电话不能为空"` // 经销商销售电话/微信
-	EstTransPrice      float64 `json:"estTransPrice"           v:"required#预计出货金额不能为空"`                       // 预计出货金额
+	NboBudget          float64 `json:"nboBudget"               ` // 项目预算
+	DealerSalesId      int     `json:"dealerSalesId"           ` // 关联经销商销售
+	DealerSalesName    string  `json:"dealerSalesName"         ` // 经销商销售名称
+	DealerSalesContact string  `json:"dealerSalesContact"      ` // 经销商销售电话/微信
+	EstTransPrice      float64 `json:"estTransPrice"           ` // 预计出货金额
 	//QuotationFile     string            `json:"quotationFile"           v:"required#报价单文件不能为空"`   // 报价单文件
-	Products []BusinessProduct `json:"products"                v:"required#产品列表不能为空"` // 产品列表
+	Products []BusinessProduct `json:"products"                ` // 产品列表
 	// B => A
-	PurchasingWay    string      `json:"purchasingWay"               v:"required#采购方式不能为空"`       // 采购方式
-	CapitalSource    string      `json:"capitalSource"               v:"required#资金来源不能为空"`       // 资金来源
-	PlanPurchaseTime *gtime.Time `json:"planPurchaseTime"            v:"required#计划采购时间不能为空"`     // 计划采购时间
-	ContactId        int         `json:"contactId"                   v:"required|min:1#|联系人不能为空"` // 关联联系人
-	ContactName      string      `json:"contactName"                 v:"required#联系人姓名不能为空"`      // 联系人姓名
-	ContactTelephone string      `json:"contactTelephone"            v:"required#联系人电话不能为空"`      // 联系人电话
+	PurchasingWay    string      `json:"purchasingWay"               ` // 采购方式
+	CapitalSource    string      `json:"capitalSource"               ` // 资金来源
+	PlanPurchaseTime *gtime.Time `json:"planPurchaseTime"            ` // 计划采购时间
+	ContactId        int         `json:"contactId"                   ` // 关联联系人
+	ContactName      string      `json:"contactName"                 ` // 联系人姓名
+	ContactTelephone string      `json:"contactTelephone"            ` // 联系人电话
 	//ContactWechat    string      `json:"contactWechat"               v:"required#联系人微信不能为空"`        // 联系人微信
 	//MakerId          int         `json:"makerId"                     v:"required|min:1#|关联决策人不能为空"` // 关联决策人
-	MakerName string `json:"makerName"                   v:"required#决策人姓名不能为空"` // 决策人姓名
-	MakerDept string `json:"makerDept"                   v:"required#决策人部门不能为空"` // 决策人部门
+	MakerName string `json:"makerName"                   ` // 决策人姓名
+	MakerDept string `json:"makerDept"                   ` // 决策人部门
 	//IsAdoptDashoo            string      `json:"isAdoptDashoo"               v:"required#是否采纳大数技术参数不能为空"`   // 是否采纳大数技术参数(上传附件)
 	//DashooParamFile          string      `json:"dashooParamFile"             v:"required-if:isAdoptDashoo,10#大数参数文件不能为空"`       // 大数参数文件
-	Competitor               string `json:"competitor"                  v:"required#竞争公司不能为空"`   // 竞争公司
-	CustomerIntentionFactory string `json:"customerIntentionFactory"    v:"required#客户倾向厂家不能为空"` // 客户倾向厂家
-	Remark                   string `json:"remark"                      `                        // 备注
+	Competitor               string `json:"competitor"                  ` // 竞争公司
+	CustomerIntentionFactory string `json:"customerIntentionFactory"    ` // 客户倾向厂家
+	Remark                   string `json:"remark"                      ` // 备注
 }
 
+// 必填原因注释
+//type UpdateProjBusinessReq struct {
+//	Id      int    `json:"id"                 v:"required|min:1#|id不能为空"`               // 主键
+//	NboType string `json:"nboType"            v:"required|in:10,20,30#项目级别不能为空|项目级别错误"` // 项目级别
+//	// 创建
+//	NboName         string `json:"nboName"            v:"required#项目名称不能为空"`                                // 项目名称
+//	CustId          int    `json:"custId"             v:"required|min:1#|关联客户不能为空"`                         // 关联客户
+//	CustName        string `json:"custName"           v:"required#关联客户不能为空"`                                // 客户名称
+//	ProductLine     string `json:"productLine"        v:"required#产品线不能为空"`                                 // 产品线
+//	NboSource       string `json:"nboSource"          v:"required#项目来源不能为空"`                                // 项目来源
+//	BidId           int    `json:"bidId"              v:"required-if:nboSource,80#客户招标不能为空"`                // 客户招标Id
+//	BidInfo         string `json:"bidInfo"            v:"required-if:nboSource,80#客户招标信息不能为空"`              // 客户招标信息
+//	SaleId          int    `json:"saleId"             v:"required|min:1#|归属销售不能为空"`                         // 归属销售
+//	SaleName        string `json:"saleName"           v:"required#销售姓名不能为空"`                                // 销售姓名
+//	SalesModel      string `json:"salesModel"         v:"required|in:10,20,30#销售模式不能为空|销售模式错误"`             // 销售模式(10直销20经销30代理)
+//	DistributorId   int    `json:"distributorId"      v:"required-unless:salesModel,10|min:1#|经销商/代理商不能为空"` // 经销商/代理商ID
+//	DistributorName string `json:"distributorName"    v:"required-unless:salesModel,10#经销商/代理商名称不能为空"`      // 经销商/代理商名称
+//	IsBig           string `json:"isBig"              v:"required#是否大项目不能为空"`                               // 是否大项目
+//
+//	// C => B
+//	NboBudget          float64 `json:"nboBudget"               v:"required|min:1#|项目预算不能为空"`                  // 项目预算
+//	DealerSalesId      int     `json:"dealerSalesId"           v:"required-with:distributorName#|经销商销售不能为空"`  // 关联经销商销售
+//	DealerSalesName    string  `json:"dealerSalesName"         v:"required-with:distributorName#经销商销售名称不能为空"` // 经销商销售名称
+//	DealerSalesContact string  `json:"dealerSalesContact"      v:"required-with:distributorName#经销商销售电话不能为空"` // 经销商销售电话/微信
+//	EstTransPrice      float64 `json:"estTransPrice"           v:"required#预计出货金额不能为空"`                       // 预计出货金额
+//	//QuotationFile     string            `json:"quotationFile"           v:"required#报价单文件不能为空"`   // 报价单文件
+//	Products []BusinessProduct `json:"products"                v:"required#产品列表不能为空"` // 产品列表
+//	// B => A
+//	PurchasingWay    string      `json:"purchasingWay"               v:"required#采购方式不能为空"`       // 采购方式
+//	CapitalSource    string      `json:"capitalSource"               v:"required#资金来源不能为空"`       // 资金来源
+//	PlanPurchaseTime *gtime.Time `json:"planPurchaseTime"            v:"required#计划采购时间不能为空"`     // 计划采购时间
+//	ContactId        int         `json:"contactId"                   v:"required|min:1#|联系人不能为空"` // 关联联系人
+//	ContactName      string      `json:"contactName"                 v:"required#联系人姓名不能为空"`      // 联系人姓名
+//	ContactTelephone string      `json:"contactTelephone"            v:"required#联系人电话不能为空"`      // 联系人电话
+//	//ContactWechat    string      `json:"contactWechat"               v:"required#联系人微信不能为空"`        // 联系人微信
+//	//MakerId          int         `json:"makerId"                     v:"required|min:1#|关联决策人不能为空"` // 关联决策人
+//	MakerName string `json:"makerName"                   v:"required#决策人姓名不能为空"` // 决策人姓名
+//	MakerDept string `json:"makerDept"                   v:"required#决策人部门不能为空"` // 决策人部门
+//	//IsAdoptDashoo            string      `json:"isAdoptDashoo"               v:"required#是否采纳大数技术参数不能为空"`   // 是否采纳大数技术参数(上传附件)
+//	//DashooParamFile          string      `json:"dashooParamFile"             v:"required-if:isAdoptDashoo,10#大数参数文件不能为空"`       // 大数参数文件
+//	Competitor               string `json:"competitor"                  v:"required#竞争公司不能为空"`   // 竞争公司
+//	CustomerIntentionFactory string `json:"customerIntentionFactory"    v:"required#客户倾向厂家不能为空"` // 客户倾向厂家
+//	Remark                   string `json:"remark"                      `                        // 备注
+//}
+
 // BusinessProduct 项目产品
 type BusinessProduct struct {
 	Id         int     `json:"id"`                                          // 主键

+ 3 - 3
opms_parent/app/service/proj/business.go

@@ -1261,9 +1261,9 @@ func (p *businessService) BusinessDowngrade(req *model.BusinessDowngradeReq) err
 					Value: utils.String(productLine),
 				},
 				{
-					Id:   utils.String("TextField_X4D3QGARU7K0"),
-					Name: utils.String("支持内容"),
-					//Value: utils.String(req.TechnicalSupportContent),
+					Id:    utils.String("TextField_X4D3QGARU7K0"),
+					Name:  utils.String("支持内容"),
+					Value: utils.String("无"),
 				},
 				{
 					Id:    utils.String("TextField_AEUWH63LJ0O0"),