Эх сурвалжийг харах

Merge branch 'master' into feature/v4.8.88

lianbingjie 1 жил өмнө
parent
commit
574c804bcb
93 өөрчлөгдсөн 948 нэмэгдсэн , 331 устгасан
  1. 11 0
      src/jfw/front/dataExport.go
  2. 13 0
      src/jfw/front/front.go
  3. 23 15
      src/jfw/modules/app/src/web/staticres/jyapp/vipsubscribe/js/vip_order_detail.js
  4. 2 2
      src/jfw/modules/app/src/web/templates/big-member/page_orderdetail_aiForecastPack.html
  5. 5 4
      src/jfw/modules/app/src/web/templates/big-member/page_orderdetail_member.html
  6. 2 2
      src/jfw/modules/app/src/web/templates/big-member/page_orderdetail_subAccount.html
  7. 2 2
      src/jfw/modules/app/src/web/templates/commonPay/bidfile/bidfileDetail.html
  8. 2 2
      src/jfw/modules/app/src/web/templates/commonPay/integral/integralDetail.html
  9. 2 2
      src/jfw/modules/app/src/web/templates/dataExport/dataExport_toOrderDetail.html
  10. 2 2
      src/jfw/modules/app/src/web/templates/entniche/entniche_order_detail.html
  11. 1 1
      src/jfw/modules/bigmember/src/service/analysis/forecastproject.go
  12. 11 10
      src/jfw/modules/bigmember/src/service/search/search.go
  13. 103 102
      src/jfw/modules/subscribepay/src/config.json
  14. 1 0
      src/jfw/modules/subscribepay/src/config/config.go
  15. 4 2
      src/jfw/modules/subscribepay/src/filter/sessionfilter.go
  16. 2 2
      src/jfw/modules/subscribepay/src/invoice.json
  17. 5 5
      src/jfw/modules/subscribepay/src/mailtemplate.html
  18. 187 0
      src/jfw/modules/subscribepay/src/mailtemplateNew.html
  19. 1 1
      src/jfw/modules/subscribepay/src/service/dataExportPay.go
  20. 407 24
      src/jfw/modules/subscribepay/src/service/invoice.go
  21. 4 0
      src/jfw/modules/subscribepay/src/service/orderListDetails.go
  22. 2 2
      src/web/staticres/common-module/exhibition/css/index.css
  23. 1 1
      src/web/staticres/common-module/exhibition/css/index_pc.css
  24. BIN
      src/web/staticres/common-module/exhibition/img/QRcode.png
  25. BIN
      src/web/staticres/common-module/exhibition/img/bannerBG.png
  26. BIN
      src/web/staticres/common-module/exhibition/img/mobile_head.png
  27. BIN
      src/web/staticres/common-module/exhibition/img/work_bg.png
  28. 3 0
      src/web/staticres/common-module/order-list/js/order-detail.js
  29. 4 0
      src/web/staticres/common-module/order-list/js/order-list.js
  30. 0 1
      src/web/staticres/course/css/code_pay.css
  31. 0 1
      src/web/staticres/course/css/order_detail.css
  32. 0 1
      src/web/staticres/course/css/pay_success.css
  33. 0 1
      src/web/staticres/course/css/transfer_pay.css
  34. 0 1
      src/web/staticres/css/dataService.css
  35. 0 1
      src/web/staticres/css/dataSmt/dataMart_detail.css
  36. 3 2
      src/web/staticres/css/dev2/biddingSearch.css
  37. 1 1
      src/web/staticres/css/dev2/superSearch-inside.css
  38. 1 0
      src/web/staticres/css/dev2/superSearch.css
  39. 40 41
      src/web/staticres/electronic_invoice/css/check_invoice.css
  40. 0 1
      src/web/staticres/electronic_invoice/css/invoice.css
  41. 0 1
      src/web/staticres/electronic_invoice/css/invoice_error.css
  42. 0 1
      src/web/staticres/electronic_invoice/css/order_detail.css
  43. 0 1
      src/web/staticres/electronic_invoice/css/order_list.css
  44. 0 1
      src/web/staticres/electronic_invoice/scss/check_invoice.scss
  45. 0 1
      src/web/staticres/electronic_invoice/scss/invoice.scss
  46. 0 1
      src/web/staticres/electronic_invoice/scss/invoice_error.scss
  47. 0 1
      src/web/staticres/electronic_invoice/scss/order_detail.scss
  48. 1 3
      src/web/staticres/frontRouter/pc/user/js/set_favorite.js
  49. 11 0
      src/web/staticres/js/login.js
  50. 0 1
      src/web/staticres/order/css/order_detail.css
  51. 0 1
      src/web/staticres/order/css/pay_success.css
  52. 28 4
      src/web/staticres/pccss/index_pc.css
  53. 1 1
      src/web/staticres/public-pc/css/sub-page.css
  54. 9 1
      src/web/staticres/public-pc/js/header-nav-mini.js
  55. 1 3
      src/web/templates/areaPack/pc/page_order.html
  56. 0 1
      src/web/templates/course/pc/applyInvoice.html
  57. 1 1
      src/web/templates/course/pc/course_detail.html
  58. 1 1
      src/web/templates/course/pc/course_list.html
  59. 0 1
      src/web/templates/course/pc/orderPay.html
  60. 0 1
      src/web/templates/course/pc/refund.html
  61. 0 1
      src/web/templates/course/pc/viewInvoice.html
  62. 2 4
      src/web/templates/frontRouter/pc/dataFile/sess/orderDetail.html
  63. 2 4
      src/web/templates/order/pc/bidfile/bidfileDetail.html
  64. 1 3
      src/web/templates/order/pc/buyerPortraitPack/detail.html
  65. 1 3
      src/web/templates/order/pc/datareport/detail.html
  66. 0 2
      src/web/templates/order/pc/filePack/detail.html
  67. 0 2
      src/web/templates/order/pc/integral/integralDetail.html
  68. 0 2
      src/web/templates/order/pc/medical/detail.html
  69. 0 1
      src/web/templates/order/pc/orderPay.html
  70. 0 2
      src/web/templates/pc/aiPack_orderDetail.html
  71. 3 3
      src/web/templates/pc/biddetail_rec.html
  72. 0 1
      src/web/templates/pc/billing_list.html
  73. 0 1
      src/web/templates/pc/check_invoice.html
  74. 1 3
      src/web/templates/pc/dataPack/packDetail.html
  75. 0 2
      src/web/templates/pc/entniche_orderDetail.html
  76. 0 1
      src/web/templates/pc/invoice.html
  77. 0 1
      src/web/templates/pc/invoice_error.html
  78. 1 3
      src/web/templates/pc/medaratus_orderDetail.html
  79. 1 3
      src/web/templates/pc/member_orderDetail.html
  80. 7 8
      src/web/templates/pc/myOrder.html
  81. 3 3
      src/web/templates/pc/newIndex.html
  82. 7 2
      src/web/templates/pc/orderDetail.html
  83. 2 4
      src/web/templates/pc/subAccount_orderDetail.html
  84. 1 0
      src/web/templates/pc/supsearch.html
  85. 1 1
      src/web/templates/pc/template/index/ent-service-module.html
  86. 2 4
      src/web/templates/pc/vip_orderDetail.html
  87. 1 1
      src/web/templates/weixin/commonPay/bidfile/bidfiledetail.html
  88. 1 1
      src/web/templates/weixin/commonPay/integral/integralDetail.html
  89. 1 1
      src/web/templates/weixin/dataExport/dataExport_toOrderDetail.html
  90. 1 1
      src/web/templates/weixin/member/aiForecastPackdetail.html
  91. 5 2
      src/web/templates/weixin/member/memberdetail.html
  92. 1 1
      src/web/templates/weixin/member/subAccountDetail.html
  93. 5 2
      src/web/templates/weixin/vipsubscribe/vip_order_detail.html

+ 11 - 0
src/jfw/front/dataExport.go

@@ -359,6 +359,8 @@ func (d *DataExport) ToOrderDetail(orderCode string) error {
 	}
 	if orderCode != "" {
 		orderDetail = *public.Mysql.FindOne(tableName_order, queryMap, "", "")
+		//最后一次开票查询
+		orderDetail["source"] = LastInvoiceSource(orderCode)
 	}
 	//	log.Println("ToOrderDetail", orderCode, orderDetail)
 	if orderDetail["pay_money"] != nil {
@@ -437,6 +439,15 @@ func (d *DataExport) ToOrderDetail(orderCode string) error {
 	return d.Render("/pc/orderDetail.html", &d.T)
 }
 
+// 查询订单最后开票状态
+func LastInvoiceSource(orderCode string) int64 {
+	orderData := public.Mysql.SelectBySql("select source  from  invoice   where   order_code  =? ORDER BY  create_time desc ", orderCode)
+	if orderData != nil && len(*orderData) > 0 {
+		return util.Int64All((*orderData)[0]["source"])
+	}
+	return 0
+}
+
 // ------------------------------申请发票跳转页面-----------------------------
 func (d *DataExport) GetOrderCode(order_code string) error {
 	var status, order_status int64

+ 13 - 0
src/jfw/front/front.go

@@ -106,6 +106,7 @@ type Front struct {
 	recInof         xweb.Mapper `xweb:"/front/recovery/info"`    //纠错记录
 	downloadJyApp   xweb.Mapper `xweb:"/front/downloadJyApp"`    //下载剑鱼标讯app的中转地址
 	downloadJyAppQr xweb.Mapper `xweb:"/front/downloadJyApp/qr"` //扫码下载
+	invoiceScan     xweb.Mapper `xweb:"/front/invoiceScan/qr"`   //微信扫码开发票
 	//downloadJyAppQrOther xweb.Mapper `xweb:"/front/downloadJyApp/qrOther"` //扫码下载
 	limitSearchText xweb.Mapper `xweb:"/front/limitSearchText"`  //扫码下载
 	hpshare         xweb.Mapper `xweb:"/front/homepage/wxshare"` //扫码分享
@@ -1358,6 +1359,18 @@ func (f *Front) DownloadJyAppQr() error {
 	_, err := w.Write(pngdat)
 	return err
 }
+func (f *Front) InvoiceScan() error {
+	w := f.ResponseWriter
+	w.Header().Set("Cache-Control", "no-cache, no-store, must-revalidate")
+	w.Header().Set("Pragma", "no-cache")
+	w.Header().Set("Expires", "0")
+	w.Header().Set("Content-Type", "image/png")
+	data := config.Sysconfig["webdomain"].(string) + "/jy_mobile/invoice/Invoicing?onlyIdentifying=" + f.GetString("onlyIdentifying") + "&invoiceMoney=" + f.GetString("invoiceMoney") + "&operator=" + f.GetString("operator")
+	r, _ := qr.Encode(data, qr.M)
+	pngdat := r.PNG()
+	_, err := w.Write(pngdat)
+	return err
+}
 func (f *Front) DownloadJyAppQrOther() error {
 	w := f.ResponseWriter
 	w.Header().Set("Cache-Control", "no-cache, no-store, must-revalidate")

+ 23 - 15
src/jfw/modules/app/src/web/staticres/jyapp/vipsubscribe/js/vip_order_detail.js

@@ -457,24 +457,30 @@ $(function () {
                     //发票
                     if (r.data.order.applybill_status === 0) {
                         //已支付未申请发票
-                        pay_again += "<button class=\"j-button-cancel\" onclick='invoiceAdd()' style='width: 100%!important;'>开发票</button>"
-                        $(".invoice .invoicing").css("display", "");
-                        $(".invoicing").on("click", function () {
-                            var nowTimestamp = (new Date()).valueOf();
-                            $.post("/subscribepay/orderListDetails/emailOperation?v=" + nowTimestamp, {}, function (r) {
-                                if (r.success) {
-                                    //没有绑定邮箱
-                                    weuiDialog();
-                                } else {
-                                    //绑定了邮箱
-                                    window.location.href = "/jyapp/front/myOrder/getOrderCode/" + orderCode;
-                                }
-                            })
-                        });
+                        if(r.data.order.source !== 1){
+                            pay_again += "<button class=\"j-button-cancel\" onclick='invoiceAdd()' style='width: 100%!important;'>开发票</button>"
+                            $(".invoice .invoicing").css("display", "");
+                            $(".invoicing").on("click", function () {
+                                var nowTimestamp = (new Date()).valueOf();
+                                $.post("/subscribepay/orderListDetails/emailOperation?v=" + nowTimestamp, {}, function (r) {
+                                    if (r.success) {
+                                        //没有绑定邮箱
+                                        weuiDialog();
+                                    } else {
+                                        //绑定了邮箱
+                                        window.location.href = "/jyapp/front/myOrder/getOrderCode/" + orderCode;
+                                    }
+                                })
+                            });
+
+                        }
                     } else {
                         //已支付已申请发票
+                        if(r.data.order.source !== 1){
                         pay_again += "<button class=\"j-button-cancel\" onclick= 'checkinvoice(" + r.data.order.applybill_status + ")' style='width: 100%!important;'>查看发票</button >"
                         $(".invoice").css("display", "none");
+                        }
+
                         switch (r.data.order.applybill_type) {
                             case 0:
                                 $(".person").css("display", "");
@@ -486,7 +492,9 @@ $(function () {
                                 break;
                         }
                     }
-                    $(".j-footer").show().html(pay_again)
+                    if(r.data.order.source !== 1){
+                       $(".j-footer").show().html(pay_again) 
+                    }  
                 }
             } else if (r.data.order.order_status == -2 || r.data.order.order_status == -3) {
                 $("#card-header-bg").addClass("bg cancel-bg")

+ 2 - 2
src/jfw/modules/app/src/web/templates/big-member/page_orderdetail_aiForecastPack.html

@@ -222,10 +222,10 @@
                 if (source === ""){
                   var pay_again = ""
                   //发票
-                  if (r.data.applybill_status === 0) {
+                  if (r.data.applybill_status === 0 && r.data.source !== 1) {
                       //已支付未申请发票
                       pay_again += "<button class=\"j-button-cancel\" style=\"width: 100%!important;height: 0.92rem!important;\"; onclick='invoiceAdd()'>开发票</button>"
-                  } else if (r.data.applybill_status === 1 || r.data.applybill_status === 2) {
+                  } else if ((r.data.applybill_status === 1 || r.data.applybill_status === 2) && r.data.source !== 1) {
                       //已支付已申请发票
                       pay_again += "<button class=\"j-button-cancel\" style=\"width: 100%!important;height: 0.92rem!important;\" onclick='checkinvoice(" + r.data.applybill_status + ")'>查看发票</button>"
                   }

+ 5 - 4
src/jfw/modules/app/src/web/templates/big-member/page_orderdetail_member.html

@@ -312,16 +312,17 @@
                 if (source === ""&&filterObj.badge!="exchange") {
                     var pay_again = ""
                     //发票
-                    if (r.data.applybill_status === 0) {
+                    if (r.data.applybill_status === 0 && r.data.source !== 1) {
                         //已支付未申请发票
                         pay_again += "<button class=\"j-button-cancel\" style=\"width: 100%!important;height: 0.92rem!important;\"; onclick='invoiceAdd()'>开发票</button>"
-                    } else if (r.data.applybill_status === 1 || r.data.applybill_status === 2) {
+                    } else if ((r.data.applybill_status === 1 || r.data.applybill_status === 2) && r.data.source !== 1) {
                         //已支付已申请发票
                         pay_again += "<button class=\"j-button-cancel\" style=\"width: 100%!important;height: 0.92rem!important;\" onclick='checkinvoice(" + r.data.applybill_status + ")'>查看发票</button>"
                     }
-                    $('.j-footer').show().html(pay_again);
+                    if(r.data.source !== 1){
+                      $('.j-footer').show().html(pay_again);
+                    }    
                 }
-
                 //支付方式
                 if (r.data.billingMode===1){
                     if (r.data.pay_way.indexOf("wx") > -1||r.data.return_type===1) {

+ 2 - 2
src/jfw/modules/app/src/web/templates/big-member/page_orderdetail_subAccount.html

@@ -212,10 +212,10 @@
                 if (source === "") {
                   var pay_again = ""
                   //发票
-                  if (r.data.applybill_status === 0) {
+                  if (r.data.applybill_status === 0 && r.data.source !== 1) {
                       //已支付未申请发票
                       pay_again += "<button class=\"j-button-cancel\" style=\"width: 100%!important;height: 0.92rem!important;\"; onclick='invoiceAdd()'>开发票</button>"
-                  } else if (r.data.applybill_status === 1 || r.data.applybill_status === 2) {
+                  } else if ((r.data.applybill_status === 1 || r.data.applybill_status === 2)  && r.data.source !== 1) {
                       //已支付已申请发票
                       pay_again += "<button class=\"j-button-cancel\" style=\"width: 100%!important;height: 0.92rem!important;\" onclick='checkinvoice(" + r.data.applybill_status + ")'>查看发票</button>"
                   }

+ 2 - 2
src/jfw/modules/app/src/web/templates/commonPay/bidfile/bidfileDetail.html

@@ -194,10 +194,10 @@
 
                 var pay_again = ""
                 //发票
-                if (r.data.applybill_status === 0) {
+                if (r.data.applybill_status === 0  && r.data.source !== 1) {
                     //已支付未申请发票
                     pay_again += "<button class=\"j-button-cancel\" style=\"width: 100%!important;height: 0.92rem!important;\"; onclick='invoiceAdd()'>开发票</button>"
-                } else if (r.data.applybill_status === 1 || r.data.applybill_status === 2) {
+                } else if ((r.data.applybill_status === 1 || r.data.applybill_status === 2) && r.data.source !== 1) {
                     //已支付已申请发票
                     pay_again += "<button class=\"j-button-cancel\" style=\"width: 100%!important;height: 0.92rem!important;\" onclick='checkinvoice(" + r.data.applybill_status + ")'>查看发票</button>"
                 }

+ 2 - 2
src/jfw/modules/app/src/web/templates/commonPay/integral/integralDetail.html

@@ -196,10 +196,10 @@
 
                     var pay_again = ""
                     //发票
-                    if (r.data.applybill_status === 0) {
+                    if (r.data.applybill_status === 0  && r.data.source !== 1) {
                         //已支付未申请发票
                         pay_again += "<button class=\"j-button-cancel\" style=\"width: 100%!important;height: 0.92rem!important;\"; onclick='invoiceAdd()'>开发票</button>"
-                    } else if (r.data.applybill_status === 1 || r.data.applybill_status === 2) {
+                    } else if ((r.data.applybill_status === 1 || r.data.applybill_status === 2)  && r.data.source !== 1) {
                         //已支付已申请发票
                         pay_again += "<button class=\"j-button-cancel\" style=\"width: 100%!important;height: 0.92rem!important;\" onclick='checkinvoice(" + r.data.applybill_status + ")'>查看发票</button>"
                     }

+ 2 - 2
src/jfw/modules/app/src/web/templates/dataExport/dataExport_toOrderDetail.html

@@ -723,9 +723,9 @@
                                 $(".order-main").before(finish_html)
 
                                 var html = '<div class="j-button-group">'
-                                if (r.data.applybill_status === 0) {
+                                if (r.data.applybill_status === 0 && r.data.source !== 1) {
                                     html += '<button class="j-button-cancel" onclick="invoiceAdd()">开发票</button><button class="j-button-confirm" id="buytwo" onclick="payAgain()">再次购买</button>'
-                                } else if (r.data.applybill_status === 1 || r.data.applybill_status === 2) {
+                                } else if ((r.data.applybill_status === 1 || r.data.applybill_status === 2) && r.data.source !== 1) {
                                     html += '<button class="j-button-cancel" onclick= checkinvoice(' + r.data.applybill_status+ ')>查看发票</button><button class="j-button-confirm" id="buytwo" onclick="payAgain()">再次购买</button>'
                                 }
                             } else {

+ 2 - 2
src/jfw/modules/app/src/web/templates/entniche/entniche_order_detail.html

@@ -467,9 +467,9 @@
                     $("#card-header-bg").addClass("bg finish-bg")
                     $("#pageTitle").addClass("status")
                     $(".order_status").text("已完成");
-                    if (data.applybill_status === 0) {
+                    if (data.applybill_status === 0 && data.source !== 1) {
                         pay_again += "<button class=\"j-button-cancel\" onclick='invoiceAdd()'>开发票</button></div>"
-                    } else if (data.applybill_status === 1 || data.applybill_status === 2) {
+                    } else if ((data.applybill_status === 1 || data.applybill_status === 2) && data.source !== 1) {
                         pay_again += "<button class=\"j-button-cancel\" onclick= 'checkinvoice(" + data.applybill_status + ")'>查看发票</button></div>"
                     }
                     $(".j-footer").html(pay_again)

+ 1 - 1
src/jfw/modules/bigmember/src/service/analysis/forecastproject.go

@@ -55,7 +55,7 @@ func getForecastProjectSql(scd *util.ViewCondition, startTime, endTime int, data
 	bools := []string{}
 	entTimeStr := ``
 	if endTime != 0 {
-		entTimeStr = fmt.Sprintf(`,\"lte\":%d"`, endTime)
+		entTimeStr = fmt.Sprintf(`,"lte":%d`, endTime)
 	}
 	name := ""
 	mustStr := "{\"constant_score\":{\"filter\":{\"exists\":{\"field\":\"%s\"}}}},{\"range\":{\"%s\":{\"gte\":%d %s}}}"

+ 11 - 10
src/jfw/modules/bigmember/src/service/search/search.go

@@ -22,7 +22,7 @@ type Search struct {
 }
 
 // 查询中标企业名称【带曾用名检索】
-const queryFullEntName = `{"query":{"function_score":{"query":{"multi_match":{"query":"%s","type":"phrase","fields":["name","history_name"]}},"field_value_factor":{"field":"company_type_int","modifier":"reciprocal","factor":2}}},"_source":["name","history_name","company_type_int","_id","company_area","company_city","establish_date","capital","company_phone","legal_person"],"size":%d}`
+const queryFullEntName = `{"query":{"function_score":{"query":{"multi_match":{"query":"%s","type":"phrase","fields":["name","history_name"]}},"field_value_factor":{"field":"company_type_int","modifier":"reciprocal","factor":2}}},"_source":["name","history_name","company_type_int","_id","company_area","company_city","establish_date","capital","company_phone","legal_person","tax_code","credit_no"],"size":%d}`
 
 func (s *Search) EntAssociation() {
 	if !R.CheckReqParam(s.ResponseWriter, s.Request, "name") {
@@ -39,15 +39,16 @@ func (s *Search) EntAssociation() {
 		if r != nil {
 			for _, v := range *r {
 				tmp := map[string]interface{}{
-					"name":           v["name"],
-					"entId":          util.EncodeId(qutil.ObjToString(v["_id"])),
-					"company_area":   qutil.ObjToString(v["company_area"]),  //地区
-					"company_city":   qutil.ObjToString(v["company_city"]),  //城市
-					"establish_date": qutil.Int64All(v["establish_date"]),   //注册日期
-					"capital":        qutil.Float64All(v["capital"]),        //注册资本
-					"company_phone":  qutil.ObjToString(v["company_phone"]), //企业联系方式
-					"legal_person":   qutil.ObjToString(v["legal_person"]),  //企业法人
-				}
+                    "name":           v["name"],
+                    "entId":          util.EncodeId(qutil.ObjToString(v["_id"])),
+                    "company_area":   qutil.ObjToString(v["company_area"]),  //地区
+                    "company_city":   qutil.ObjToString(v["company_city"]),  //城市
+                    "establish_date": qutil.Int64All(v["establish_date"]),   //注册日期
+                    "capital":        qutil.Float64All(v["capital"]),        //注册资本
+                    "company_phone":  qutil.ObjToString(v["company_phone"]), //企业联系方式
+                    "legal_person":   qutil.ObjToString(v["legal_person"]),  //企业法人
+                    "taxCode":        qutil.ObjToString(v["credit_no"]),
+                }
 				if timestamp := qutil.Int64All(v["establish_date"]); timestamp > 0 {
 					tmp["establish_date"] = time.Unix(timestamp, 0).Format(Date_Short_Layout)
 				}

+ 103 - 102
src/jfw/modules/subscribepay/src/config.json

@@ -1,16 +1,16 @@
 {
-  "smsServiceRpc":"192.168.3.149:932",
+  "smsServiceRpc": "192.168.3.149:932",
   "mongodbServers": "192.168.3.206:27080",
   "mongodbPoolSize": 10,
   "mongodbName": "qfw",
-  "mongoent":{
+  "mongoent": {
     "address": "192.168.3.206:27002",
     "size": 5,
     "dbName": "qfw_data",
     "userName": "jyDevGroup",
     "password": "jy@DevGroup"
   },
-  "mongobidding":{
+  "mongobidding": {
     "address": "192.168.3.206:27002",
     "size": 5,
     "dbName": "qfw_data",
@@ -59,104 +59,105 @@
       "size": 5
     }
   },
-    "mysql": {
-        "dbName": "jianyu",
-        "address": "192.168.3.149:3306",
-        "userName": "root",
-        "passWord": "Topnet123",
-		"maxOpenConns":5,
-		"maxIdleConns":5
-	},
-    "infoMysql": {
-        "dbName": "base_service",
-        "address": "192.168.3.217:4000",
-        "userName": "root",
-        "passWord": "=PDT49#80Z!RVv52_z",
-		"maxOpenConns":2,
-		"maxIdleConns":2
-	},
-	"activityMysql":{
-		 "dbName": "jyactivities",
-        "address": "192.168.3.149:3306",
-        "userName": "root",
-        "passWord": "Topnet123",
-		"maxOpenConns":5,
-		"maxIdleConns":5
-	},
-	"baseMysql": {
-	    "dbName": "base_service",
-	    "address": "192.168.3.217:4000",
-	    "userName": "root",
-	    "passWord": "=PDT49#80Z!RVv52_z",
-	    "maxOpenConns":2,
-	    "maxIdleConns":2
-	},
-  	"appPushServiceRpc": "127.0.0.1:5566",
-  	"webdomain": "http://web-zxl.jydev.jianyu360.com",
-  	"appdomain": "http://web-zxl.jydev.jianyu360.com",
-    "wxdomain": "http://web-zxl.jydev.jianyu360.com",
-  	"mail": [
-	    {
-	      "addr": "smtp.exmail.qq.com",
-	      "port": 465,
-	      "pwd": "ue9Rg9Sf4CVtdm5a",
-	      "user": "public03@topnet.net.cn"
-	    },
-		{
-	      "addr": "smtp.exmail.qq.com",
-	      "port": 465,
-	      "pwd": "ue9Rg9Sf4CVtdm5a",
-	      "user": "public03@topnet.net.cn"
-	    }
-  	],
-	"orderCountdown": "48h",
-	"allPayMoney": 1,
-	"autoMergeTime": 1599667200,
-	"profitTitle": "您有%s元佣金可领取!",
-	"profitDescript": "您的好友已通过您的分享购买%s成功!您已获得%s元佣金!",
-	"termValidity": 60,
-	"accountMergeOnline":"2021-04-07 12:00:00",
-	"optimalTime":"2021-08-03 12:00:00",
-	"activityName":"1111",
-	"shareRedisName":"other",
-	"product":{
-	    "历史数据":true,
-		"VIP订阅":true,
-		"企业商机管理":true,
-		"大会员":true,
-		"大会员-AI中标预测包":true,
-		"大会员-子账号":true,
-		"大会员-补充包":true,
-		"剑鱼币":true,
-		"数据流量包":true,
-		"省份订阅包":true,
-		"附件下载包":true,
-		"采购单位画像包":true,
-		"数据报告":true,
-		"中标必听课":true
-	},
-	"smsServiceRpc":"127.0.0.1:932",
-	"nsq":"192.168.3.240:4260",
-  	"nsq_topic": "jy_event",
-  	"userCenterApi":"https://web-zxl.jydev.jianyu360.com",
-  	"vipKeyMaxLength":300,
-  	"activityOrderCountdown":30,
-  	"companySize": 10,
-  	"webSiteParameter": {
-	    "addr": "https://webdev-qmx_admin.jydev.jianyu360.com/api/admin/",
-	    "action": "/message/sendMessageApi",
-	    "title": "你有新的未支付订单",
-	    "content": "购买超级订阅,立享专属限时优惠!点击前往支付>>",
-	    "link": "/front/vipOrder/vipOrderDetail?order_code=%s",
-	    "androidUrl": "/jyapp/vipsubscribe/toOrderDetailPage?orderCode=%s",
-	    "iosUrl": "/jyapp/vipsubscribe/toOrderDetailPage?orderCode=%s",
-	    "weChatUrl": "/front/vipsubscribe/toOrderDetailPage?orderCode=%s"
- 	},
-  	"keywordsLimit":35,
-  	"breakRenewTipTime":"2022-09-30 00:00:00",
-    "etcd": {
-    	"hosts": "192.168.3.149:2379",
-    	"key": "powercheck.rpc"
+  "mysql": {
+    "dbName": "jianyu",
+    "address": "192.168.3.217:4000",
+    "userName": "root",
+    "passWord": "=PDT49#80Z!RVv52_z",
+    "maxOpenConns": 2,
+    "maxIdleConns": 2
+  },
+  "infoMysql": {
+    "dbName": "base_service",
+    "address": "192.168.3.217:4000",
+    "userName": "root",
+    "passWord": "=PDT49#80Z!RVv52_z",
+    "maxOpenConns": 2,
+    "maxIdleConns": 2
+  },
+  "activityMysql": {
+    "dbName": "jyactivities",
+    "address": "192.168.3.149:3306",
+    "userName": "root",
+    "passWord": "Topnet123",
+    "maxOpenConns": 5,
+    "maxIdleConns": 5
+  },
+  "baseMysql": {
+    "dbName": "base_service",
+    "address": "192.168.3.217:4000",
+    "userName": "root",
+    "passWord": "=PDT49#80Z!RVv52_z",
+    "maxOpenConns": 2,
+    "maxIdleConns": 2
+  },
+  "appPushServiceRpc": "127.0.0.1:5566",
+  "webdomain": "http://web-zxl.jydev.jianyu360.com",
+  "appdomain": "http://web-zxl.jydev.jianyu360.com",
+  "wxdomain": "http://web-zxl.jydev.jianyu360.com",
+  "mail": [
+    {
+      "addr": "smtp.exmail.qq.com",
+      "port": 465,
+      "pwd": "ue9Rg9Sf4CVtdm5a",
+      "user": "public03@topnet.net.cn"
     },
-    "taskStartTime":1698020000
+    {
+      "addr": "smtp.exmail.qq.com",
+      "port": 465,
+      "pwd": "ue9Rg9Sf4CVtdm5a",
+      "user": "public03@topnet.net.cn"
+    }
+  ],
+  "orderCountdown": "48h",
+  "allPayMoney": 1,
+  "autoMergeTime": 1599667200,
+  "profitTitle": "您有%s元佣金可领取!",
+  "profitDescript": "您的好友已通过您的分享购买%s成功!您已获得%s元佣金!",
+  "termValidity": 60,
+  "accountMergeOnline": "2021-04-07 12:00:00",
+  "optimalTime": "2021-08-03 12:00:00",
+  "activityName": "1111",
+  "shareRedisName": "other",
+  "product": {
+    "历史数据": true,
+    "VIP订阅": true,
+    "企业商机管理": true,
+    "大会员": true,
+    "大会员-AI中标预测包": true,
+    "大会员-子账号": true,
+    "大会员-补充包": true,
+    "剑鱼币": true,
+    "数据流量包": true,
+    "省份订阅包": true,
+    "附件下载包": true,
+    "采购单位画像包": true,
+    "数据报告": true,
+    "中标必听课": true
+  },
+  "smsServiceRpc": "127.0.0.1:932",
+  "nsq": "192.168.3.240:4260",
+  "nsq_topic": "jy_event",
+  "userCenterApi": "https://web-zxl.jydev.jianyu360.com",
+  "vipKeyMaxLength": 300,
+  "activityOrderCountdown": 30,
+  "companySize": 10,
+  "webSiteParameter": {
+    "addr": "https://webdev-qmx_admin.jydev.jianyu360.com/api/admin/",
+    "action": "/message/sendMessageApi",
+    "title": "你有新的未支付订单",
+    "content": "购买超级订阅,立享专属限时优惠!点击前往支付>>",
+    "link": "/front/vipOrder/vipOrderDetail?order_code=%s",
+    "androidUrl": "/jyapp/vipsubscribe/toOrderDetailPage?orderCode=%s",
+    "iosUrl": "/jyapp/vipsubscribe/toOrderDetailPage?orderCode=%s",
+    "weChatUrl": "/front/vipsubscribe/toOrderDetailPage?orderCode=%s"
+  },
+  "keywordsLimit": 35,
+  "breakRenewTipTime": "2022-09-30 00:00:00",
+  "etcd": {
+    "hosts": "192.168.3.149:2379",
+    "key": "powercheck.rpc"
+  },
+  "taskStartTime": 1698020000,
+  "financeMail": "wanghao@topnet.net.cn"
 }

+ 1 - 0
src/jfw/modules/subscribepay/src/config/config.go

@@ -117,6 +117,7 @@ type config struct {
 	KeywordsLimit     int
 	BreakRenewTipTime string
 	TaskStartTime     int64
+	FinanceMail       string
 }
 type mgoConf struct {
 	Address           string

+ 4 - 2
src/jfw/modules/subscribepay/src/filter/sessionfilter.go

@@ -5,14 +5,14 @@ import (
 	"strings"
 )
 
-//登录限制
+// 登录限制
 type sessionfilter struct {
 	W          http.ResponseWriter
 	R          *http.Request
 	GetSession map[string]interface{}
 }
 
-//继承过滤器方法
+// 继承过滤器方法
 func (l *sessionfilter) Do() bool {
 	rqu := l.R.URL.Path
 	if strings.HasPrefix(rqu, "/jypay/callback/") || //支付回调
@@ -23,6 +23,8 @@ func (l *sessionfilter) Do() bool {
 		strings.HasPrefix(rqu, "/res/dataexport") ||
 		strings.HasPrefix(rqu, "/jyactive") ||
 		strings.HasPrefix(rqu, "/jypay/free/") || //销售代创建订单
+		strings.HasPrefix(rqu, "/jypay/invoice/submit") || //发票信息提交
+		strings.HasPrefix(rqu, "/jypay/invoice/query") || //发票信息查询
 		rqu == "/jypay/wx/getwxSdkSign" ||
 		rqu == "/jypay/user/company/association" { //微信js调用参数
 		return true

+ 2 - 2
src/jfw/modules/subscribepay/src/invoice.json

@@ -3,11 +3,11 @@
   "tax_rate": "0.06",
   "tax_policy": "0",
   "invoice_nature": "0",
-  "invoice_interface_address": "http://192.168.3.14:7081",
+  "invoice_interface_address": "https://jybx3-webtest.jydev.jianyu360.com",
   "code": "3040205000000000000",
   "switch_paymch":{
 	"model":1,
 	"time":"2022-01-17 10:00:00"
   },
   "invoice_switch": true
-}
+}

+ 5 - 5
src/jfw/modules/subscribepay/src/mailtemplate.html

@@ -41,19 +41,19 @@
     <div class="middle">
         <p class="user">尊敬的用户您好!</p><b></b>
         <p class="text">感谢您在剑鱼标讯(<a href="https://www.jianyu360.com" style="color: #2CB7CA;">jianyu360.com</a>)购物!</p>
-        <p class="text">剑鱼标讯已为您的订单: <span id="order_code">%s</span> 开具电子普通发票,总共 1 张。</p>
+        <p class="text">剑鱼标讯已为您的订单: <span id="order_code">%s</span> 开具%s,总共 1 张。</p>
         <div style="padding: 32px 0;">
-            <a href="%s" download class="download">下载发票</a>
+              %s
         </div>
         <p class="warning">安全提醒:剑鱼标讯平台及销售商不会以订单异常、系统升级等理由,通过任何方式发送给您退款链接。请您谨防钓鱼链接或诈骗电话!</p>
         <div class="bottom" >
             <p style="padding-bottom:16px;color: #2CB7CA; font-size: 14px;line-height: 24px;">发票信息</p>
             <p class="item">
                 <span class="label">发票类型:</span>
-                <span class="value">普通发票(电子发票)</span>
+                <span class="value">%s</span>
             </p>
             <p class="item">
                 <span class="label">发票内容:</span>
-                <span class="value">明细</span>
+                <span class="value">信息技术服务-技术服务费</span>
             </p>
-            %s
+            %s

+ 187 - 0
src/jfw/modules/subscribepay/src/mailtemplateNew.html

@@ -0,0 +1,187 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+  <meta charset="UTF-8">
+</head>
+<style type="text/css">
+  html, body, a, div, p {
+    margin: 0;
+    padding: 0;
+  }
+
+  .jymail a {
+    text-decoration: none !important;
+    font-family: "PingFang SC";
+    font-size: 15px;
+  }
+
+  .email {
+    width: 680px;
+    border: 1px solid #E0E0E0;
+    background: #fff;
+    margin: 20px auto;
+    border-radius: 8px;
+  }
+
+  .jymail .top {
+    height: 80px;
+    width: 100%%;
+    padding: 0 40px;
+    margin: 0 auto;
+    background-color: #2CB7CA;
+    border-radius: 8px 8px 0 0;
+    clear: both;
+    box-sizing: border-box;
+  }
+
+  .jymail .left {
+    float: left;
+    width: 120px;
+    height: 32px;
+    margin: 20px 0;
+  }
+
+  .jymail .left img {
+    width: 100%%;
+    height: 100%%;
+  }
+
+  .jymail .right {
+    float: right;
+    margin: 30px 0;
+  }
+
+  .jymail .right a {
+    color: #fff;
+    font-size: 14px;
+    line-height: 18px;
+  }
+
+  .jymail .middle {
+    width: 100%%;
+    padding: 64px 40px;
+    box-sizing: border-box;
+  }
+
+  .jymail .user {
+    font-size: 18px;
+    line-height: 24px;
+    color: #1D1D1D;
+    padding-bottom: 32px;
+  }
+
+  .jymail .text {
+    font-size: 13px;
+    line-height: 20px;
+    color: #1D1D1D;
+  }
+
+  .jymail .download {
+    display: inline-block;
+    width: 90px;
+    height: 30px;
+    background-color: #2CB7CA;
+    color: #fff;
+    text-align: center;
+    border-radius: 6px;
+    line-height: 30px;
+  }
+
+  .jymail .warning {
+    font-size: 12px;
+    line-height: 20px;
+    color: red;
+    color: #FE737A;
+  }
+
+  .jymail .bottom {
+    margin-top: 32px;
+    border-top: 4px solid #2CB7CA;
+    background: #F5F5FB;
+    padding: 32px 40px;
+    box-sizing: border-box;
+    border-bottom-left-radius: 8px;
+    border-bottom-right-radius: 8px;
+  }
+
+  .jymail .item {
+    margin-bottom: 10px;
+    font-size: 12px;
+    line-height: 24px;
+  }
+
+  .jymail .label {
+    display: inline-block;
+    min-width: 92px;
+    color: #686868;
+  }
+
+  .jymail .value {
+    color: #1D1D1D;
+  }
+</style>
+<body>
+<div class="email jymail">
+  <div class="bottom">
+    <p style="padding-bottom:16px;color: #2CB7CA; font-size: 14px;line-height: 24px;">申请内容</p>
+    <p class="item">
+      <span class="label">申请时间:</span>
+      <span class="value">%s</span>
+    </p>
+    <p class="item">
+      <span class="label">订单编号:</span>
+      <span class="value">%s</span>
+    </p>
+    <p class="item">
+      <span class="label">金额明细:</span>
+      <span class="value">%s</span>
+    </p>
+    <p class="item">
+      <span class="label">开票金额:</span>
+      <span class="value">%v</span>
+    </p>
+    <p class="item">
+      <span class="label">发票类型:</span>
+      <span class="value">%s</span>
+    </p>
+    <p class="item">
+      <span class="label">发票抬头:</span>
+      <span class="value">%s</span>
+    </p>
+    <p class="item">
+      <span class="label">公司名称:</span>
+      <span class="value">%s</span>
+    </p>
+    <p class="item">
+      <span class="label">单位税号:</span>
+      <span class="value">%s</span>
+    </p>
+    <p class="item">
+      <span class="label">单位地址:</span>
+      <span class="value">%s</span>
+    </p>
+    <p class="item">
+      <span class="label">电话号码:</span>
+      <span class="value">%s</span>
+    </p>
+    <p class="item">
+      <span class="label">开户银行:</span>
+      <span class="value">%s</span>
+    </p>
+    <p class="item">
+      <span class="label">银行账号:</span>
+      <span class="value">%s</span>
+    </p>
+    <p class="item">
+      <span class="label">开票备注:</span>
+      <span class="value">%s</span>
+    </p>
+    %s
+    <p class="item">
+      <span class="label">联系电话:</span>
+      <span class="value">%s</span>
+    </p>
+    %s
+
+  </div>
+</div></body>

+ 1 - 1
src/jfw/modules/subscribepay/src/service/dataExportPay.go

@@ -55,7 +55,7 @@ func dataExportPhoneAndMailCheck(sess *httpsession.Session) (phone, mail string,
 }
 
 // 移动端创建订单
-func (p *DataExportPay) CreateOrder() {
+func (p *DataExportPay) export_search() {
 	defer qutil.Catch()
 	openId, _ := p.GetSession("s_m_openid").(string)
 	userId, _ := p.GetSession("userId").(string)

+ 407 - 24
src/jfw/modules/subscribepay/src/service/invoice.go

@@ -1,8 +1,17 @@
 package service
 
 import (
+	. "app.yhyue.com/moapp/jybase/api"
+	qutil "app.yhyue.com/moapp/jybase/common"
+	. "app.yhyue.com/moapp/jybase/date"
+	"app.yhyue.com/moapp/jybase/encrypt"
+	"app.yhyue.com/moapp/jybase/go-xweb/log"
+	"app.yhyue.com/moapp/jybase/go-xweb/xweb"
+	"app.yhyue.com/moapp/jybase/mail"
 	"bytes"
+	"database/sql"
 	"encoding/json"
+	"errors"
 	"fmt"
 	"io/ioutil"
 	"jy/src/jfw/modules/subscribepay/src/config"
@@ -13,13 +22,6 @@ import (
 	"strings"
 	"sync"
 	"time"
-
-	qutil "app.yhyue.com/moapp/jybase/common"
-	. "app.yhyue.com/moapp/jybase/date"
-	"app.yhyue.com/moapp/jybase/encrypt"
-	"app.yhyue.com/moapp/jybase/go-xweb/log"
-	"app.yhyue.com/moapp/jybase/go-xweb/xweb"
-	"app.yhyue.com/moapp/jybase/mail"
 )
 
 type Invoice struct {
@@ -32,6 +34,8 @@ type Invoice struct {
 	invoiceinfo     xweb.Mapper `xweb:"/invoice/info"`      //订单详情数据
 	available       xweb.Mapper `xweb:"/invoice/available"` //是否可用开发票
 	invoiceswitch   xweb.Mapper `xweb:"/invoice/switch"`    //发票开关
+	invoiceQuery    xweb.Mapper `xweb:"/invoice/query"`     //发票信息查询
+	invoiceSubmit   xweb.Mapper `xweb:"/invoice/submit"`    //发票信息提交
 }
 
 var dbname = "invoice"
@@ -62,7 +66,7 @@ var emailHtml_gs = `<p class="item">
 				<span class="value">%s</span>
 			</p>
 			<p class="item">
-				<span class="label">手机号:</span>
+				<span class="label">联系电话:</span>
 				<span class="value">%s</span>
 			</p>
 			<p class="item">
@@ -76,7 +80,7 @@ var emailHtml_gs = `<p class="item">
 </html>`
 
 var emailHtml_gr = `<p class="item">
-				<span class="label">手机号:</span>
+				<span class="label">联系电话:</span>
 				<span class="value">%s</span>
 			</p>
 			<p class="item">
@@ -90,6 +94,7 @@ var emailHtml_gr = `<p class="item">
 </html>`
 var locks = [11]sync.Mutex{}
 var email_format = ""
+var email_format_new = ""
 
 func init() {
 	for i := 0; i < 10; i++ {
@@ -102,6 +107,13 @@ func init() {
 	defer r.Close()
 	bs, _ := ioutil.ReadAll(r)
 	email_format = string(bs)
+	r, err = os.Open("./mailtemplateNew.html")
+	if err != nil {
+		log.Println("err", err)
+	}
+	defer r.Close()
+	bs, _ = ioutil.ReadAll(r)
+	email_format_new = string(bs)
 }
 
 func (this *Invoice) Invoiceswitch() {
@@ -408,7 +420,13 @@ func (this *Invoice) Callbackinvoice() {
 			if changed == "1" {
 				m := make(map[string]interface{})
 				query := make(map[string]interface{})
-				query["order_code"] = order_code
+				if strings.Contains(order_code, "xx") {
+					//自助开票
+					query["only_Identifying"] = order_code
+				} else {
+					//系统开票
+					query["order_code"] = order_code
+				}
 				query["invoice_changed"] = 1
 				m["invoice_code"] = fpdm
 				m["invoice_number"] = fphm
@@ -436,13 +454,30 @@ func (this *Invoice) Callbackinvoice() {
 							}
 							emailHtml := emailHtml_gr
 							emailHtmls := fmt.Sprintf(emailHtml, (*res)["phone"], user_mail)
-							html := fmt.Sprintf(email_format, order_code, url, emailHtmls)
-							InvoiceSendMail(user_mail, html)
+							if strings.Contains(order_code, "xx") {
+								//自助开票
+								orderCodeArr := util.Mysql.SelectBySql("select   GROUP_CONCAT(order_code) as  order_code  from   invoice  where  only_Identifying=?", order_code)
+								if len(*orderCodeArr) > 0 {
+									order_code = qutil.ObjToString((*orderCodeArr)[0]["order_code"])
+									for _, v := range strings.Split(order_code, ",") {
+										//订单信息保存
+										updateData := map[string]interface{}{}
+										if InvoiceStatusHandle(v) {
+											updateData["applybill_status"] = 2
+										} else {
+											updateData["applybill_status"] = 3
+										}
+										util.Mysql.Update("dataexport_order", map[string]interface{}{
+											"order_code": v,
+										}, updateData)
+									}
+								}
 
+							}
+							html := fmt.Sprintf(email_format, order_code, "电子普通发票", fmt.Sprintf("<a href=\"%s\" download class=\"download\">下载发票</a>", url), "电子普通发票", emailHtmls)
+							InvoiceSendMail(user_mail, html, "电子发票")
 						}()
-
 					} else {
-
 						var company_mail string
 						if (*res)["mail"] == nil {
 							company_mail = (*user_info)["user_mail"].(string)
@@ -457,8 +492,27 @@ func (this *Invoice) Callbackinvoice() {
 						}
 						emailHtml := emailHtml_gs
 						emailHtmls := fmt.Sprintf(emailHtml, (*res)["company_name"], (*res)["taxpayer_identnum"], (*res)["phone"], company_mail)
-						html := fmt.Sprintf(email_format, order_code, url, emailHtmls)
-						InvoiceSendMail((*res)["mail"].(string), html)
+						if strings.Contains(order_code, "xx") {
+							//自助开票
+							orderCodeArr := util.Mysql.SelectBySql("select   GROUP_CONCAT(order_code) as  order_code  from   invoice  where  only_Identifying=?", order_code)
+							if len(*orderCodeArr) > 0 {
+								order_code = qutil.ObjToString((*orderCodeArr)[0]["order_code"])
+								for _, v := range strings.Split(order_code, ",") {
+									//订单信息保存
+									updateData := map[string]interface{}{}
+									if InvoiceStatusHandle(v) {
+										updateData["applybill_status"] = 2
+									} else {
+										updateData["applybill_status"] = 3
+									}
+									util.Mysql.Update("dataexport_order", map[string]interface{}{
+										"order_code": v,
+									}, updateData)
+								}
+							}
+						}
+						html := fmt.Sprintf(email_format, order_code, "电子普通发票", fmt.Sprintf("<a href=\"%s\" download class=\"download\">下载发票</a>", url), "电子普通发票", emailHtmls)
+						InvoiceSendMail((*res)["mail"].(string), html, "电子发票")
 
 					}
 					this.ServeJson(map[string]interface{}{
@@ -500,8 +554,8 @@ func (this *Invoice) Callbackinvoice() {
 								}
 								emailHtml := emailHtml_gr
 								emailHtmls := fmt.Sprintf(emailHtml, (*res)["phone"], user_mail)
-								html := fmt.Sprintf(email_format, order_code, url, emailHtmls)
-								InvoiceSendMail(user_mail, html)
+								html := fmt.Sprintf(email_format, order_code, "电子普通发票", fmt.Sprintf("<a href=\"%s\" download class=\"download\">下载发票</a>", url), "电子普通发票", emailHtmls)
+								InvoiceSendMail(user_mail, html, "电子发票")
 
 							}()
 
@@ -520,8 +574,8 @@ func (this *Invoice) Callbackinvoice() {
 							}
 							emailHtml := emailHtml_gs
 							emailHtmls := fmt.Sprintf(emailHtml, (*res)["company_name"], (*res)["taxpayer_identnum"], (*res)["phone"], company_mail)
-							html := fmt.Sprintf(email_format, order_code, url, emailHtmls)
-							InvoiceSendMail((*res)["mail"].(string), html)
+							html := fmt.Sprintf(email_format, order_code, "电子普通发票", fmt.Sprintf("<a href=\"%s\" download class=\"download\">下载发票</a>", url), "电子普通发票", emailHtmls)
+							InvoiceSendMail((*res)["mail"].(string), html, "电子发票")
 
 						}
 						this.ServeJson(map[string]interface{}{
@@ -646,7 +700,7 @@ func (this *Invoice) Replaceinvoice() {
 						})
 					}
 				}
-				InvoiceSendMail((*res)["mail"].(string), html)
+				InvoiceSendMail((*res)["mail"].(string), html, "电子发票")
 				return
 			}
 		} else {
@@ -694,7 +748,7 @@ func (this *Invoice) Replaceinvoice() {
 						})
 					}
 				}
-				InvoiceSendMail((*res)["mail"].(string), html)
+				InvoiceSendMail((*res)["mail"].(string), html, "电子发票")
 				return
 			}
 		}
@@ -903,6 +957,7 @@ func (this *Invoice) Invoiceinfo() {
 	countdowntime := config.Config.OrderCountdown.(string)
 	status := util.Mysql.FindOne("dataexport_order", data, "", "")
 	if *status != nil {
+		(*status)["source"] = LastInvoiceSource(qutil.InterfaceToStr((*status)["order_code"]))
 		//卡卷id加密
 		if (*status)["d_relation_id"] != "" {
 			(*status)["userLotteryId"] = encrypt.SE.Encode2Hex(qutil.ObjToString((*status)["d_relation_id"]))
@@ -930,9 +985,9 @@ func (this *Invoice) Invoiceinfo() {
 
 }
 
-func InvoiceSendMail(target_mail, html string) {
+func InvoiceSendMail(target_mail, html, title string) {
 	for k, v := range config.GmailAuth {
-		if mail.GSendMail("剑鱼标讯", target_mail, "", "", "电子发票", html, "", "", v) {
+		if mail.GSendMail("剑鱼标讯", target_mail, "", "", title, html, "", "", v) {
 			log.Println(target_mail, fmt.Sprintf("使用%s发送邮件成功", v.User))
 			break
 		}
@@ -945,6 +1000,14 @@ func InvoiceSendMail(target_mail, html string) {
 	}
 }
 
+// 查询订单最后开票状态
+func LastInvoiceSource(orderCode string) int64 {
+	orderData := util.Mysql.SelectBySql("select source  from  invoice   where   order_code  =? ORDER BY  create_time desc ", orderCode)
+	if orderData != nil && len(*orderData) > 0 {
+		return qutil.Int64All((*orderData)[0]["source"])
+	}
+	return 0
+}
 func (this *Invoice) Available() {
 	u := util.Mysql.FindOne("dataexport_order", map[string]interface{}{"order_code": this.GetString("order_code")}, "pay_time", "")
 	status := 0
@@ -980,3 +1043,323 @@ func delReplaceInvoice(query map[string]interface{}) bool {
 	}
 	return util.Mysql.Delete(dbname, query)
 }
+
+// 发票信息提交
+func (this *Invoice) InvoiceSubmit() {
+	now := time.Now()
+	onlyIdentifying := encrypt.SE.DecodeString(this.GetString("onlyIdentifying"))
+	invoiceMoney := encrypt.SE.DecodeString(this.GetString("invoiceMoney"))
+	operator := encrypt.SE.DecodeString(this.GetString("operator"))
+	if onlyIdentifying == "" || invoiceMoney == "" {
+		this.ServeJson(NewResult("", errors.New("传入参数不正确")))
+		return
+	}
+	data := util.Mysql.FindOne("invoice", map[string]interface{}{
+		"only_Identifying": onlyIdentifying,
+	}, "id", "")
+	if data != nil {
+		this.ServeJson(NewResult("", errors.New("该订单发票信息已经提交过申请")))
+		return
+	}
+	orderArr := []string{}
+	mailOrderArr := []string{}
+	orderMap := map[string]interface{}{}
+	Allmoney := int64(0)
+	for _, v := range strings.Split(invoiceMoney, ",") {
+		invoiceMoneyArr := strings.Split(v, ":")
+		orderArr = append(orderArr, invoiceMoneyArr[0])
+		Allmoney += qutil.Int64All(invoiceMoneyArr[1])
+		orderMap[invoiceMoneyArr[0]] = invoiceMoneyArr[1]
+		prices := qutil.Float64All(invoiceMoneyArr[1]) / float64(100)
+		price := strconv.FormatFloat(prices, 'f', -1, 64)
+		mailOrderArr = append(mailOrderArr, fmt.Sprintf("%s(%s元)", invoiceMoneyArr[0], price))
+
+	}
+	//提交时订单金额再做一次校验
+	for orderCode, money := range orderMap {
+		if ResidueMoney(orderCode) < qutil.Int64All(money) {
+			this.ServeJson(NewResult("", errors.New("该订单发票信息已经提交过申请")))
+			return
+		}
+	}
+	if !util.Mysql.ExecTx("发票信息保存", func(tx *sql.Tx) bool {
+		for orderCode, money := range orderMap {
+			userId := GetUserId(orderCode)
+			data := map[string]interface{}{
+				"order_code":          orderCode,
+				"company_name":        this.GetString("company_name"),
+				"phone":               this.GetString("phone"),
+				"mail":                this.GetString("mail"),
+				"invoice_type":        this.GetString("invoice_type"),
+				"invoice_content":     "信息技术服务-技术服务费",
+				"invoice_status":      0,
+				"invoice_changed":     0,
+				"invoice_order_code":  strings.Join(orderArr, ","),
+				"company_phone":       this.GetString("company_phone"),
+				"taxpayer_identnum":   this.GetString("taxpayer_identnum"),
+				"create_time":         time.Now().Unix(),
+				"user_id":             userId,
+				"operator":            operator,
+				"operable_time":       FormatDate(&now, Date_Full_Layout),
+				"invoice_money":       Allmoney,
+				"invoice_order_money": money,
+				"invoicing_entity":    "北京剑鱼信息技术有限公司",
+				"remark":              this.GetString("remark"),
+				"source":              1,
+				"invoice_variety":     this.GetString("invoice_variety"),
+				"bank_account":        this.GetString("bank_account"),
+				"only_Identifying":    onlyIdentifying,
+				"company_address":     this.GetString("company_address"),
+				"bank_name":           this.GetString("bank_name"),
+				"recipient":           this.GetString("recipient"),
+				"delivery_address":    this.GetString("delivery_address"),
+			}
+			if util.Mysql.Insert("invoice", data) <= 0 {
+				return false
+			}
+			//订单发票状态改成已申请
+			if !util.Mysql.Update("dataexport_order", map[string]interface{}{
+				"order_code": orderCode,
+			}, map[string]interface{}{
+				"applybill_status": 1,
+			}) {
+				return false
+			}
+		}
+		if this.GetString("invoice_variety") == "电子普通发票" && Allmoney < 1000000 {
+			//走航天金税开票
+			var orders = []map[string]interface{}{}
+			var items = []map[string]interface{}{}
+			prices := qutil.Float64All(Allmoney) / float64(100)
+			price := strconv.FormatFloat(prices, 'f', -1, 64)
+			item := map[string]interface{}{
+				"name":        "技术服务费",
+				"code":        config.InvoiceConfig.Code,
+				"yhzcbs":      config.InvoiceConfig.Tax_policy,
+				"lineType":    config.InvoiceConfig.Invoice_nature,
+				"taxRate":     config.InvoiceConfig.Tax_rate,
+				"taxPrice":    price,
+				"totalAmount": price,
+				"quantity":    "1",
+			}
+			items = append(items, item)
+			order := map[string]interface{}{
+				"billNo": onlyIdentifying,
+				"items":  items,
+			}
+			orders = append(orders, order)
+			body := map[string]interface{}{
+				"Swno":      onlyIdentifying,
+				"custType":  "03",
+				"orders":    orders,
+				"custTaxNo": this.GetString("taxpayer_identnum"),
+				"changed":   "0",
+				"phone":     this.GetString("phone"),
+			}
+			if this.GetString("invoice_type") == "单位" {
+				body["custName"] = this.GetString("company_name")
+			} else {
+				body["custName"] = "个人"
+			}
+			go htjs(body, orderArr, this.GetString("invoice_type"), this.GetString("company_name"), this.GetString("taxpayer_identnum"), this.GetString("mail"), this.GetString("phone"))
+		} else {
+			//给王航发信息
+			recipientStr := ""
+			deliveryAddressStr := ""
+			if this.GetString("invoice_variety") == "纸质普通发票" || this.GetString("invoice_variety") == "纸质专用发票" {
+				recipientStr = fmt.Sprintf("<p class=\"item\">\n      <span class=\"label\">收件人:</span>\n      <span class=\"value\">%s</span>\n    </p>", this.GetString("recipient"))
+				deliveryAddressStr = fmt.Sprintf("<p class=\"item\">\n      <span class=\"label\">收件地址:</span>\n      <span class=\"value\">%s</span>\n    </p>", this.GetString("delivery_address"))
+			}
+			prices := qutil.Float64All(Allmoney) / float64(100)
+			price := strconv.FormatFloat(prices, 'f', -1, 64)
+			html := fmt.Sprintf(email_format_new,
+				FormatDate(&now, Date_Full_Layout),
+				strings.Join(orderArr, ","),
+				strings.Join(mailOrderArr, ","),
+				price,
+				this.GetString("invoice_variety"),
+				qutil.InterfaceToStr(qutil.If(this.GetString("invoice_type") == "", "--", this.GetString("invoice_type"))),
+				qutil.InterfaceToStr(qutil.If(this.GetString("company_name") == "", "--", this.GetString("company_name"))),
+				qutil.InterfaceToStr(qutil.If(this.GetString("taxpayer_identnum") == "", "--", this.GetString("taxpayer_identnum"))),
+				qutil.InterfaceToStr(qutil.If(this.GetString("company_address") == "", "--", this.GetString("company_address"))),
+				qutil.InterfaceToStr(qutil.If(this.GetString("company_phone") == "", "--", this.GetString("company_phone"))),
+				qutil.InterfaceToStr(qutil.If(this.GetString("bank_name") == "", "--", this.GetString("bank_name"))),
+				qutil.InterfaceToStr(qutil.If(this.GetString("bank_account") == "", "--", this.GetString("bank_account"))),
+				qutil.InterfaceToStr(qutil.If(this.GetString("remark") == "", "--", this.GetString("remark"))),
+				recipientStr,
+				this.GetString("phone"),
+				deliveryAddressStr,
+			)
+			for _, v := range strings.Split(config.Config.FinanceMail, ",") {
+				go InvoiceSendMail(v, html, fmt.Sprintf("客户申请开具%s", this.GetString("invoice_variety")))
+			}
+		}
+		return true
+	}) {
+		this.ServeJson(NewResult("", errors.New("发票信息保存失败")))
+		return
+	}
+	this.ServeJson(NewResult("保存信息成功", nil))
+}
+
+// 发票信息查询
+func (this *Invoice) InvoiceQuery() {
+	onlyIdentifying := encrypt.SE.DecodeString(this.GetString("onlyIdentifying"))
+	invoiceMoney := encrypt.SE.DecodeString(this.GetString("invoiceMoney"))
+	operator := ""
+	if onlyIdentifying == "" || invoiceMoney == "" {
+		this.ServeJson(NewResult("", errors.New("传入参数不正确")))
+		return
+	}
+	orderArr := []string{}
+	money := int64(0)
+	for _, v := range strings.Split(invoiceMoney, ",") {
+		invoiceMoneyArr := strings.Split(v, ":")
+		orderArr = append(orderArr, invoiceMoneyArr[0])
+		money += qutil.Int64All(invoiceMoneyArr[1])
+	}
+	invoiceOne := util.Mysql.FindOne("invoice", map[string]interface{}{
+		"only_Identifying": onlyIdentifying,
+	}, " bank_account, company_phone,company_name, phone, mail,company_phone, invoice_type, invoice_content, url, invoice_status, invoice_serialnum, taxpayer_identnum,    operator, operable_time, invoicing_entity, remark, invoice_variety, logistics_code, company_address, bank_name, recipient, delivery_address", "")
+	companyName := ""
+	if invoiceOne == nil {
+		//查询公司名称
+		querySQL := fmt.Sprintf("select company_name  from   dataexport_order  where order_code  in  (%s)   and  company_name!=''   ORDER BY  create_time   DESC LIMIT 1", fmt.Sprintf("\"%s\"", strings.Join(orderArr, "\",\"")))
+		orderArr := util.Mysql.SelectBySql(querySQL)
+		if orderArr != nil && len(*orderArr) > 0 {
+			companyName = qutil.ObjToString((*orderArr)[0]["company_name"])
+		}
+	}
+	this.ServeJson(NewResult(map[string]interface{}{
+		"orderCodes":   strings.Join(orderArr, ","),
+		"money":        money,
+		"invoice":      &invoiceOne,
+		"operator":     operator,
+		"company_name": companyName,
+	}, nil))
+}
+
+// GetUserId 获取用户id从订单中
+func GetUserId(orderCode string) (userId string) {
+	rs := util.Mysql.SelectBySql(fmt.Sprintf("select user_id from %s where order_code=?", "dataexport_order"), orderCode)
+	if rs != nil && len(*rs) > 0 {
+		userId = qutil.ObjToString((*rs)[0]["userId"])
+	}
+	return userId
+}
+
+// 调航天金税接口
+func htjs(body map[string]interface{}, orderCode []string, invoiceType, companyName, taxpayerIdentnum, mail, phone string) {
+	invoice_status := 0
+	client := &http.Client{}
+	b, _ := json.Marshal(body)
+	buffer := bytes.NewBuffer(b)
+	request, _ := http.NewRequest("POST", config.InvoiceConfig.Invoice_interface_address+"/Invoice/Add", buffer)
+	response, err := client.Do(request)
+	if err == nil {
+		res, err := ioutil.ReadAll(response.Body)
+		if err != nil {
+			invoice_status = -1
+		} else {
+			resMap := qutil.ObjToMap(string(res))
+			if *resMap != nil {
+				if qutil.IntAll((*resMap)["code"]) == 0 { //开票成功
+					invoice_status = 1
+				} else if qutil.IntAll((*resMap)["code"]) == 2 { //开票中
+					invoice_status = 0
+				} else { //开票失败
+					invoice_status = -1
+				}
+			}
+			defer response.Body.Close()
+			resData := (*resMap)["data"].(map[string]interface{})
+			for _, v := range orderCode {
+				util.Mysql.Update(dbname, map[string]interface{}{"order_code": v, "invoice_status": 0}, map[string]interface{}{
+					"invoice_serialnum": resData["swno"],
+					"invoice_code":      resData["fpdm"],
+					"invoice_number":    resData["fphm"],
+					"url":               resData["path"],
+					"invoice_status":    invoice_status,
+				})
+				//订单信息保存
+				updateData := map[string]interface{}{}
+				if InvoiceStatusHandle(v) {
+					updateData["applybill_status"] = 2
+				} else {
+					updateData["applybill_status"] = 3
+				}
+				util.Mysql.Update("dataexport_order", map[string]interface{}{
+					"order_code": v,
+				}, updateData)
+			}
+			sendMail(invoiceType, strings.Join(orderCode, ","), companyName, taxpayerIdentnum, mail, phone, qutil.InterfaceToStr(resData["path"]))
+		}
+	}
+}
+
+// 判断是全额还是部分回款
+func InvoiceStatusHandle(orderCode string) bool {
+	orderData := util.Mysql.FindOne("dataexport_order", map[string]interface{}{
+		"order_code": orderCode,
+	}, "pay_money", "")
+	if orderData == nil {
+		return false
+	}
+	invoiceData := util.Mysql.SelectBySql("select sum(invoice_order_money) as  money  from  invoice where  order_code=?  and  invoice_status>=0  ", orderCode)
+	if invoiceData == nil || len(*invoiceData) == 0 {
+		return false
+	}
+	allMoney := qutil.Int64All((*invoiceData)[0]["money"])
+	pay_money := qutil.Int64All((*orderData)["pay_money"])
+	if pay_money == allMoney {
+		return true
+	}
+	return false
+}
+
+// 电子普票发邮箱
+func sendMail(invoiceType, orderCode, companyName, taxpayerIdentnum, mail, phone, url string) {
+	if invoiceType == "个人" {
+		emailHtml := emailHtml_gr
+		emailHtmls := fmt.Sprintf(emailHtml, phone, mail)
+		html := fmt.Sprintf(email_format, orderCode, "电子普通发票", fmt.Sprintf("<a href=\"%s\" download class=\"download\">下载发票</a>", url), "电子普通发票", emailHtmls)
+		InvoiceSendMail(mail, html, "电子发票")
+	} else {
+		emailHtml := emailHtml_gs
+		emailHtmls := fmt.Sprintf(emailHtml, companyName, taxpayerIdentnum, phone, mail)
+		html := fmt.Sprintf(email_format, orderCode, "电子普通发票", fmt.Sprintf("<a href=\"%s\" download class=\"download\">下载发票</a>", url), "电子普通发票", emailHtmls)
+		InvoiceSendMail(mail, html, "电子发票")
+	}
+}
+
+// 订单剩余金额查询
+func ResidueMoney(orderCode string) int64 {
+	residueMoney := int64(0)
+	//订单信息查询
+	orderData := util.Mysql.SelectBySql("select  pay_money,applybill_status from  dataexport_order  where  order_code =?", orderCode)
+	if len(*orderData) == 0 || orderData == nil {
+		return residueMoney
+	}
+	if qutil.Int64All((*orderData)[0]["applybill_status"]) == 2 {
+		return residueMoney
+	}
+	//发票信息查询
+	invoiceData := util.Mysql.SelectBySql("select invoice_status,sum(invoice_order_money) as  money  from  invoice where  order_code=?  and  invoice_status>=0  GROUP BY  invoice_status", orderCode)
+	if len(*orderData) == 0 || orderData == nil {
+	} else {
+		//开过几次票
+		payMoney := qutil.Int64All((*orderData)[0]["pay_money"])
+		allMoney := int64(0)
+		for _, invoice := range *invoiceData {
+			invoice_status := qutil.Int64All(invoice["invoice_status"])
+			money := qutil.Int64All(invoice["money"])
+			if invoice_status == 0 {
+				return residueMoney
+			} else {
+				allMoney += money
+			}
+		}
+		residueMoney = payMoney - allMoney
+	}
+	return residueMoney
+}

+ 4 - 0
src/jfw/modules/subscribepay/src/service/orderListDetails.go

@@ -661,6 +661,9 @@ func (o *OrderListDetails) Datas(sql string, pageNum, pagesize_max int) (haveNex
 				result[i]["order_status"] = orderStatus_cancel
 				go FortyEightHoursCancel(qutil.ObjToString(result[i]["order_code"]), create_time_stamp, time.Now().Unix())
 			}
+			//新增最后开票
+			result[i]["source"] = LastInvoiceSource(qutil.InterfaceToStr(result[i]["order_code"]))
+
 		}
 	}
 	haveNextPage = len(result) >= pagesize_max
@@ -856,6 +859,7 @@ func CommonDetail(bigm int, fields, userId, order_code string, session *httpsess
 			data = *util.Mysql.FindOne(tableName_order, info, fields, "")
 
 			if data != nil {
+				data["source"] = LastInvoiceSource(qutil.InterfaceToStr(data["order_code"]))
 				if bigm == 0 || bigm == 4 {
 					//查询回款记录
 					if qutil.IntAll((data)["is_backstage_order"]) == 1 && qutil.IntAll((data)["return_status"]) > 0 {

+ 2 - 2
src/web/staticres/common-module/exhibition/css/index.css

@@ -9,7 +9,7 @@
   #vm_exhibition .head {
     width: 100%;
     height: 360px;
-    background: url('/common-module/exhibition/img/bannerBG.png') center center no-repeat;
+    background: url('/common-module/exhibition/img/bannerBG.png?v=1') center center no-repeat;
     background-size: cover;
 
   }
@@ -275,7 +275,7 @@
   #vm_exhibition .head {
     width: 100%;
     height: 3.2rem;
-    background: url('/common-module/exhibition/img/mobile_head.png') center center no-repeat;
+    background: url('/common-module/exhibition/img/mobile_head.png?v=1') center center no-repeat;
     background-size: cover;
 
   }

+ 1 - 1
src/web/staticres/common-module/exhibition/css/index_pc.css

@@ -11,7 +11,7 @@
   #vm_exhibition .head {
     width: 100%;
     height: 360px;
-    background: url('/common-module/exhibition/img/bannerBG.png') center center no-repeat;
+    background: url('/common-module/exhibition/img/bannerBG.png?v=1') center center no-repeat;
     background-size: cover;
 
   }

BIN
src/web/staticres/common-module/exhibition/img/QRcode.png


BIN
src/web/staticres/common-module/exhibition/img/bannerBG.png


BIN
src/web/staticres/common-module/exhibition/img/mobile_head.png


BIN
src/web/staticres/common-module/exhibition/img/work_bg.png


+ 3 - 0
src/web/staticres/common-module/order-list/js/order-detail.js

@@ -238,7 +238,10 @@ var vm = new Vue({
       if ((order.pay_money <= 0)||(filterInfo.canInvoice!=undefined &&!filterInfo.canInvoice)) {
         this.orderStateMap[1].bottomButtonShow.invoke = false
       }
+      if(order.source === 1){ // 线下发票隐藏按钮
+        this.orderStateMap[this.orderInfo.state].bottomButtonShow.invoke = false
 
+      }
       this.orderInfo.productInfoList = this.getProductInfoList(info)
       this.orderInfo.orderInfoList = this.getOrderInfoListList(info)
       // this.getOrderBottomButton(info.order)

+ 4 - 0
src/web/staticres/common-module/order-list/js/order-list.js

@@ -868,7 +868,11 @@ var vm = new Vue({
       if (cbConf) {
         Object.assign(state, cbConf)
       }
+      if(order.source === 1){ // 线下发票隐藏按钮
+        state.invokeButtonShow = false
+      }
       return state
+
     },
     // 底部按钮状态不同产品的定制
     buttonConfProductCustom: function (order) {

+ 0 - 1
src/web/staticres/course/css/code_pay.css

@@ -1,6 +1,5 @@
 .code_pay {
   line-height: 1;
-  padding-top: 76px;
   padding-bottom: 60px;
   background-color: #F5F5FB;
 }

+ 0 - 1
src/web/staticres/course/css/order_detail.css

@@ -1,6 +1,5 @@
 #order_detail {
   line-height: 1;
-  padding-top: 76px;
   padding-bottom: 60px;
   background-color: #fff;
 }

+ 0 - 1
src/web/staticres/course/css/pay_success.css

@@ -1,6 +1,5 @@
 .pay_success {
   line-height: 1;
-  padding-top: 76px;
   padding-bottom: 60px;
   background-color: #F5F5FB;
 }

+ 0 - 1
src/web/staticres/course/css/transfer_pay.css

@@ -1,6 +1,5 @@
 #transfer {
   line-height: 1;
-  padding-top: 76px;
   padding-bottom: 60px;
   background-color: #F5F5FB;
 }

+ 0 - 1
src/web/staticres/css/dataService.css

@@ -8,7 +8,6 @@
 
 .data {
 	display: flex;
-	padding-top: 76px;
 	width: 1200px;
 	margin: 0 auto;
 	opacity: 1;

+ 0 - 1
src/web/staticres/css/dataSmt/dataMart_detail.css

@@ -1,5 +1,4 @@
 .dataMart_detail {
-  padding-top: 72px;
   background-color: #F5F5FB;
   overflow: hidden;
 }

+ 3 - 2
src/web/staticres/css/dev2/biddingSearch.css

@@ -681,7 +681,8 @@ border-radius:2px;
 }
 
 #searchInner .searchControl .searchTender .information .info-content {
-  float: left;
+  display: flex;
+  flex-wrap: wrap;
   width: 1010px;
 }
 
@@ -711,7 +712,7 @@ border-radius:2px;
 
 #searchInner .searchControl .searchTender .information .info-content font {
   float: left;
-  padding: 5px 7px;
+  padding: 4px 7px;
   cursor: pointer;
   margin: 0 7px 8px 0;
 }

+ 1 - 1
src/web/staticres/css/dev2/superSearch-inside.css

@@ -208,7 +208,7 @@
 	margin:0px auto;
 	height:80px;
 	text-align:center;
-	margin-bottom:40px;
+	margin-top:32px;
 	cursor:pointer;
 }
 .adv-pcsearch-bottom img{

+ 1 - 0
src/web/staticres/css/dev2/superSearch.css

@@ -40,6 +40,7 @@
 #searchInner{
 	line-height:1;
   min-height: calc(100vh - 364px);
+  padding-bottom: 32px;
 }
 .com-highlight{
 	color: #2cb7ca;

+ 40 - 41
src/web/staticres/electronic_invoice/css/check_invoice.css

@@ -1,6 +1,5 @@
 #check_invoice {
   line-height: 1;
-  padding-top: 76px;
   padding-bottom: 60px;
   background-color: #fff;
   font-size: 14px;
@@ -40,39 +39,39 @@
   float: left;
   margin-right: 8px;
 }
-
-#check_invoice .step .l {
-  position: relative;
-  z-index: 3;
-}
-
-#check_invoice .step .l:after {
-  content: "";
-  position: absolute;
-  right: -23px;
-  top: 0;
-  width: 0;
-  height: 0;
-  border-top: 19px solid transparent;
-  border-left: 23px solid #2CB7CA;
-  border-bottom: 19px solid transparent;
-}
-
-#check_invoice .step .lo {
-  position: relative;
-  z-index: 3;
-}
-
-#check_invoice .step .lo:after {
-  content: "";
-  position: absolute;
-  right: -23px;
-  top: 0;
-  width: 0;
-  height: 0;
-  border-top: 19px solid transparent;
-  border-left: 23px solid #72DAE8;
-  border-bottom: 19px solid transparent;
+
+#check_invoice .step .l {
+  position: relative;
+  z-index: 3;
+}
+
+#check_invoice .step .l:after {
+  content: "";
+  position: absolute;
+  right: -23px;
+  top: 0;
+  width: 0;
+  height: 0;
+  border-top: 19px solid transparent;
+  border-left: 23px solid #2CB7CA;
+  border-bottom: 19px solid transparent;
+}
+
+#check_invoice .step .lo {
+  position: relative;
+  z-index: 3;
+}
+
+#check_invoice .step .lo:after {
+  content: "";
+  position: absolute;
+  right: -23px;
+  top: 0;
+  width: 0;
+  height: 0;
+  border-top: 19px solid transparent;
+  border-left: 23px solid #72DAE8;
+  border-bottom: 19px solid transparent;
 }
 
 #check_invoice .step .c {
@@ -102,9 +101,9 @@
   border-top: 19px solid transparent;
   border-left: 23px solid #BFBFBF;
   border-bottom: 19px solid transparent;
-}
-
-/* 财务处理*/
+}
+
+/* 财务处理*/
 #check_invoice .step .ci {
   position: relative;
   z-index: 2;
@@ -132,8 +131,8 @@
   border-top: 19px solid transparent;
   border-left: 23px solid #2CB7CA;
   border-bottom: 19px solid transparent;
-}
-
+}
+
 #check_invoice .step .co {
   position: relative;
   z-index: 2;
@@ -161,8 +160,8 @@
   border-top: 19px solid transparent;
   border-left: 23px solid #72DAE8;
   border-bottom: 19px solid transparent;
-}
-
+}
+
 /* 财务处理结束 */
 
 #check_invoice .step .r {

+ 0 - 1
src/web/staticres/electronic_invoice/css/invoice.css

@@ -14,7 +14,6 @@ input[type="number"] {
 
 #invoice {
   line-height: 1;
-  padding-top: 76px;
   padding-bottom: 60px;
   background-color: #fff;
   font-size: 14px;

+ 0 - 1
src/web/staticres/electronic_invoice/css/invoice_error.css

@@ -1,6 +1,5 @@
 .invoice_error {
   line-height: 1;
-  padding-top: 76px;
   padding-bottom: 60px;
   background-color: #f5f5fb;
   font-size: 14px;

+ 0 - 1
src/web/staticres/electronic_invoice/css/order_detail.css

@@ -1,6 +1,5 @@
 #order_detail {
   line-height: 1;
-  padding-top: 76px;
   padding-bottom: 60px;
   background-color: #fff;
 }

+ 0 - 1
src/web/staticres/electronic_invoice/css/order_list.css

@@ -1,6 +1,5 @@
 #order {
   line-height: 1;
-  padding-top: 76px;
   padding-bottom: 60px;
   background-color: #fff;
 }

+ 0 - 1
src/web/staticres/electronic_invoice/scss/check_invoice.scss

@@ -5,7 +5,6 @@ $c1D:#1D1D1D;
 $F5:#F5F5FB;
 #check_invoice{
     line-height: 1;
-    padding-top: 76px;
     padding-bottom: 60px;
     background-color: #fff;
     font-size: 14px;

+ 0 - 1
src/web/staticres/electronic_invoice/scss/invoice.scss

@@ -13,7 +13,6 @@ input[type="number"]{
 }
 #invoice{
     line-height: 1;
-    padding-top: 76px;
     padding-bottom: 60px;
     background-color: #fff;
     font-size: 14px;

+ 0 - 1
src/web/staticres/electronic_invoice/scss/invoice_error.scss

@@ -5,7 +5,6 @@ $c1D:#1D1D1D;
 $F5:#F5F5FB;
 .invoice_error{
     line-height: 1;
-    padding-top: 76px;
     padding-bottom: 60px;
     background-color: #E5E5E5;
     font-size: 14px;

+ 0 - 1
src/web/staticres/electronic_invoice/scss/order_detail.scss

@@ -5,7 +5,6 @@ $c1D:#1D1D1D;
 $F5:#F5F5FB;
 #order_detail{
     line-height: 1;
-    padding-top: 76px;
     padding-bottom: 60px;
     background-color: #fff;
     .order_crumb{

+ 1 - 3
src/web/staticres/frontRouter/pc/user/js/set_favorite.js

@@ -358,10 +358,8 @@ var favorite = new Vue({
             // 是否window.open打开
             if (window.opener && window.opener !== window) {
                 window.close()
-                location.href = '/?from=set_favorite'
-            } else {
-                location.href = '/?from=set_favorite'
             }
+            window.top.location.href = '/?from=set_favorite'
         },
         // 变更微信提醒按钮
         changeWxSwitch (val, key) {

+ 11 - 0
src/web/staticres/js/login.js

@@ -29,6 +29,10 @@ var unseatzbqyflag = false;//未登录情况下,用户点击中标企业等开
 var sendMsgInterval = null;
 var entjumpflag = false;
 var isBindPage = false; // 是否是绑定手机号页面功能
+var _reconnectedConf = {
+  count: 0, // ws重连了几次
+  max: 10, // ws最大重连次数,重连max次后不再重连
+}
 //轮询查询
 var LoginPolling = {
 	isPostLoginPolling: true,//是否发起轮询请求
@@ -184,11 +188,18 @@ function reconnect() {
 	if(webSocketHeartCheck.lockReconnect || loginflag){
 		return;
 	}
+  // 达到最大重连次数后,不再重连
+  if (_reconnectedConf.count >= _reconnectedConf.max) {
+    console.log('ws重连达到最大次数,不再重连')
+    return
+  }
 	LoginPolling.isPostLoginPolling = true;
     webSocketHeartCheck.lockReconnect = true;
 	LoginPolling.init();
     //没连接上会一直重连,设置延迟避免请求过多
     setTimeout(function () {
+        _reconnectedConf.count++;
+        console.log('ws第' + _reconnectedConf.count + '次重连')
         createWebSocket();
 		webSocketHeartCheck.lockReconnect = false;
     }, 2000);

+ 0 - 1
src/web/staticres/order/css/order_detail.css

@@ -1,6 +1,5 @@
 #order_detail {
   line-height: 1;
-  padding-top: 76px;
   padding-bottom: 60px;
   background-color: #fff;
 }

+ 0 - 1
src/web/staticres/order/css/pay_success.css

@@ -1,6 +1,5 @@
 .pay_success {
   line-height: 1;
-  padding-top: 76px;
   padding-bottom: 60px;
   background-color: #F5F5FB;
 }

+ 28 - 4
src/web/staticres/pccss/index_pc.css

@@ -44,6 +44,21 @@
     font-size: 14px;
     line-height: 22px;
 }
+.main-module.mt0 {
+    margin-top: 0px;
+}
+.main-module.mt6 {
+    margin-top: 6px;
+}
+.main-module.mt8 {
+    margin-top: 8px;
+}
+.main-module.mt10 {
+    margin-top: 10px;
+}
+.main-module.mt12 {
+    margin-top: 12px;
+}
 .main-module.mt14 {
     margin-top: 14px;
 }
@@ -194,6 +209,7 @@
 }
 .cms-card-content.border-ec {
     border: 1px solid #ECECEC;
+    border-top: none;
 }
 
 
@@ -1041,7 +1057,11 @@
 }
 
 .ent-service-module .service-desc-card {
+    display: flex;
+    flex-direction: column;
+    justify-content: space-between;
     width: 288px;
+    height: 314px;
 }
 .ent-service-module .service-desc-header {
     padding: 0 20px;
@@ -1049,21 +1069,22 @@
 }
 .ent-service-module .service-desc-main {
     padding: 0 20px;
+    flex: 1;
 }
 .ent-service-module .service-desc-text {
-    margin-bottom: 26px;
+    margin-bottom: 12px;
     color: #686868;
     font-size: 12px;
     line-height: 22px;
 }
 .ent-service-module .service-desc-list li:not(:first-of-type) {
-    margin-top: 12px;
+    margin-top: 10px;
 }
 .ent-service-module .service-desc-list li {
     width: 100%;
 }
 .ent-service-module .service-desc-footer {
-    margin-top: 24px;
+    /* margin-top: 24px; */
 }
 
 /* data-service-module */
@@ -1241,7 +1262,7 @@
 .partners-project-item {
     width: 184px;
     height: 80px;
-    border-radius: 4px;
+    border-radius: 8px;
     overflow: hidden;
 }
 
@@ -1317,6 +1338,9 @@
 /* 底部地区导航 end */
 
 /* important-gov-card */
+.important-gov-bidding-module {
+    margin-top: -16px;
+}
 .important-gov-card .module-card-header::after {
     /* border-color: #EAF8FA; */
     background: #EAF8FA;

+ 1 - 1
src/web/staticres/public-pc/css/sub-page.css

@@ -246,7 +246,7 @@ body.in-iframe {
   width: calc(100% - 48px) !important ;
   height: calc(20.3vw - 48px) !important;
   margin: auto;
-  background: url('/common-module/exhibition/img/work_bg.png') center center no-repeat;
+  background: url('/common-module/exhibition/img/work_bg.png?v=1') center center no-repeat;
   background-size: cover;
   border-radius: 8px;
 }

+ 9 - 1
src/web/staticres/public-pc/js/header-nav-mini.js

@@ -1,4 +1,5 @@
 var headerNavMini = {
+  inIframe: window.parent !== window,
   headerNavContainer: $('#header-nav-container'),
   headerNav: $('#public-nav'),
   headerNavPlaceholder: $('#header-nav-mini-placeholder'),
@@ -11,7 +12,12 @@ var headerNavMini = {
     this.initEvents()
   },
   initStyle: function () {
-    this.headerNav.show()
+    if (this.inIframe) {
+      this.headerNav.hide()
+      this.headerNavContainer.hide()
+    } else {
+      this.headerNav.show()
+    }
   },
   headerFixed: function (f) {
     if (f) {
@@ -30,11 +36,13 @@ var headerNavMini = {
   },
   // 登陆前不展示。登陆后工作台外的页面顶部统一展示(除了首页)
   secondHeaderShow: function (login) {
+    if (this.inIframe) return
     if (!login) return
     // exclude中的页面不会显示第二个头部
     var pathname = location.pathname
     var excludeReg = [
       /^\/$/, // 首页
+      new RegExp('/free/loading'), // 部分中转页(画像)
       // new RegExp('/brand/index'),
     ]
     var findTarget = false

+ 1 - 3
src/web/templates/areaPack/pc/page_order.html

@@ -34,7 +34,6 @@
 
         #order_detail {
             line-height: 1;
-            padding-top: 76px;
             padding-bottom: 0px !important;
             background-color: #fff;
         }
@@ -145,7 +144,6 @@
         $(function () {
             $("#public-nav").css("background", "#fff");
             $(".public-nav").css("border-bottom", "1px solid #e0e0e0");
-            $("section[id='drder']").css("padding-top", "80px");
             haslogin({{.T.logid}});
 
             var orderCode = getParam("order_code");
@@ -225,7 +223,7 @@
                             //发票
                             if (r.data.order.applybill_status === 0) {
                                 $(".openinvoice").css("display", "");
-                            } else if (r.data.applybill_status === 1 || r.data.applybill_status === 2) {
+                            } else if ((r.data.applybill_status === 1 || r.data.applybill_status === 2) && r.data.source !== 1) {
                                 $(".lookinvoice").css("display", "").on("click", function () {
                                     checkinvoice(r.data.applybill_status, orderCode)//查看发票
                                 })

+ 0 - 1
src/web/templates/course/pc/applyInvoice.html

@@ -246,7 +246,6 @@
 		$(function(){
 			$("#public-nav").css("background","#fff");
 			$(".public-nav").css("border-bottom", "1px solid #e0e0e0");
-			$("section[id='drder']").css("padding-top", "80px");
 			haslogin({{.T.logid}});
 			$(document).off("keydown");
 			//

+ 1 - 1
src/web/templates/course/pc/course_detail.html

@@ -172,7 +172,7 @@
 <body>
 {{include "/common/pchead.html"}}
 <!-- header -->
-<section style="line-height: 1;padding-top: 76px;">
+<section style="line-height: 1;">
 	<!-- main  start -->
 	<div class="course_detail" id="course_detail">
 	    <div class="w" style="min-height: auto">

+ 1 - 1
src/web/templates/course/pc/course_list.html

@@ -113,7 +113,7 @@
     <!-- header -->
     {{include "/common/pchead.html"}}
     {{include "/common/baiducc.html"}}
-	<section style="line-height: 1;padding-top: 76px;min-height: calc(100vh - 364px);">
+	<section style="line-height: 1;min-height: calc(100vh - 364px);">
         <!-- main  start -->
         <div class="course">
             <div class="w course-header">

+ 0 - 1
src/web/templates/course/pc/orderPay.html

@@ -254,7 +254,6 @@
     $(function () {
         $("#public-nav").css("background", "#fff");
         $(".public-nav").css("border-bottom", "1px solid #e0e0e0");
-        $("section[id='drder']").css("padding-top", "80px");
         haslogin({{.T.logid}});
         $(document).off("keydown");
         reloadMore(orderCode)

+ 0 - 1
src/web/templates/course/pc/refund.html

@@ -90,7 +90,6 @@
         var refund_reason = ""
         $("#public-nav").css("background","#fff");
 		$(".public-nav").css("border-bottom", "1px solid #e0e0e0");
-		$("section[id='drder']").css("padding-top", "80px");
 
         haslogin({{.T.logid}});
 		$(document).off("keydown");

+ 0 - 1
src/web/templates/course/pc/viewInvoice.html

@@ -77,7 +77,6 @@
 		$(function(){
 			$("#public-nav").css("background","#fff");
 			$(".public-nav").css("border-bottom", "1px solid #e0e0e0");
-			$("section[id='drder']").css("padding-top", "80px");
 			haslogin({{.T.logid}});
 
 			reloadInvoice();

+ 2 - 4
src/web/templates/frontRouter/pc/dataFile/sess/orderDetail.html

@@ -32,7 +32,6 @@
 
         #order_detail {
             line-height: 1;
-            padding-top: 76px;
             padding-bottom: 0px !important;
             background-color: #fff;
         }
@@ -117,7 +116,6 @@
         $(function () {
             $("#public-nav").css("background", "#fff");
             $(".public-nav").css("border-bottom", "1px solid #e0e0e0");
-            $("section[id='drder']").css("padding-top", "80px");
             haslogin({{.T.logid}});
             var orderCode = getParam("order_code");
             $(".order_id").text("订单编号:" + orderCode);
@@ -191,9 +189,9 @@
                             $(".pay_num_p").css("display", "");
                             if (r.data.transaction_id) $(".pay_num").text(r.data.transaction_id);
                             //发票
-                            if (r.data.order.applybill_status === 0 && r.data.order.billingMode === 1 && r.data.order.is_backstage_order === 0) {
+                            if (r.data.order.applybill_status === 0 && r.data.order.billingMode === 1 && r.data.order.is_backstage_order === 0 && r.data.order.source !== 1) {
                                 $(".openinvoice").css("display", "");
-                            } else if (r.data.applybill_status === 1 || r.data.applybill_status === 2) {
+                            } else if ((r.data.applybill_status === 1 || r.data.applybill_status === 2) && r.data.order.source !== 1 ) {
                                 $(".lookinvoice").css("display", "").on("click", function () {
                                     checkinvoice(r.data.applybill_status, orderCode)//查看发票
                                 })

+ 2 - 4
src/web/templates/order/pc/bidfile/bidfileDetail.html

@@ -32,7 +32,6 @@
 
         #order_detail {
             line-height: 1;
-            padding-top: 76px;
             padding-bottom: 0px !important;
             background-color: #fff;
         }
@@ -130,7 +129,6 @@
         $(function () {
             $("#public-nav").css("background", "#fff");
             $(".public-nav").css("border-bottom", "1px solid #e0e0e0");
-            $("section[id='drder']").css("padding-top", "80px");
             haslogin({{.T.logid}});
 
             var orderCode = getParam("order_code");
@@ -180,9 +178,9 @@
                             $(".pay_num_p").show();
                         }
                         //发票
-                        if (r.data.applybill_status === 0) {
+                        if (r.data.applybill_status === 0 && r.data.source !== 1) {
                             $(".openinvoice").css("display", "");
-                        } else if (r.data.applybill_status === 1 || r.data.applybill_status === 2) {
+                        } else if ((r.data.applybill_status === 1 || r.data.applybill_status === 2) && r.data.source !== 1) {
                             $(".lookinvoice").css("display", "").on("click", function () {
                                 checkinvoice(r.data.applybill_status, orderCode)
                             })

+ 1 - 3
src/web/templates/order/pc/buyerPortraitPack/detail.html

@@ -32,7 +32,6 @@
 
         #order_detail {
             line-height: 1;
-            padding-top: 76px;
             padding-bottom: 0px !important;
             background-color: #fff;
         }
@@ -117,7 +116,6 @@
         $(function () {
             $("#public-nav").css("background", "#fff");
             $(".public-nav").css("border-bottom", "1px solid #e0e0e0");
-            $("section[id='drder']").css("padding-top", "80px");
             haslogin({{.T.logid}});
 
             var orderCode = {{.T.orderId}}
@@ -194,7 +192,7 @@
                             //发票
                             if (r.data.order.applybill_status === 0) {
                                 $(".openinvoice").css("display", "");
-                            } else if (r.data.applybill_status === 1 || r.data.applybill_status === 2) {
+                            } else if ((r.data.applybill_status === 1 || r.data.applybill_status === 2) && r.data.source !== 1) {
                                 $(".lookinvoice").css("display", "").on("click", function () {
                                     checkinvoice(r.data.applybill_status, orderCode)//查看发票
                                 })

+ 1 - 3
src/web/templates/order/pc/datareport/detail.html

@@ -38,7 +38,6 @@
 
         #order_detail {
             line-height: 1;
-            padding-top: 76px;
             padding-bottom: 0px !important;
             background-color: #fff;
         }
@@ -130,7 +129,6 @@
         $(function () {
             $("#public-nav").css("background", "#fff");
             $(".public-nav").css("border-bottom", "1px solid #e0e0e0");
-            $("section[id='drder']").css("padding-top", "80px");
             haslogin({{.T.logid}});
 
             var orderCode = {{.T.orderId}};
@@ -170,7 +168,7 @@
                         //发票
                         if (r.data.orderInfo.applybillStatus === 0) {
                             $(".openinvoice").css("display", "");
-                        } else if (r.data.applybill_status === 1 || r.data.applybill_status === 2) {
+                        } else if ((r.data.applybill_status === 1 || r.data.applybill_status === 2) && r.data.source !== 1) {
                             $(".lookinvoice").css("display", "").on("click", function () {
                                 checkinvoice(r.data.applybill_status, orderCode)
                             })

+ 0 - 2
src/web/templates/order/pc/filePack/detail.html

@@ -32,7 +32,6 @@
 
         #order_detail {
             line-height: 1;
-            padding-top: 76px;
             padding-bottom: 0px !important;
             background-color: #fff;
         }
@@ -117,7 +116,6 @@
         $(function () {
             $("#public-nav").css("background", "#fff");
             $(".public-nav").css("border-bottom", "1px solid #e0e0e0");
-            $("section[id='drder']").css("padding-top", "80px");
             haslogin({{.T.logid}});
 
             var orderCode = getParam("order_code");

+ 0 - 2
src/web/templates/order/pc/integral/integralDetail.html

@@ -32,7 +32,6 @@
 
         #order_detail {
             line-height: 1;
-            padding-top: 76px;
             padding-bottom: 0px !important;
             background-color: #fff;
         }
@@ -130,7 +129,6 @@
         $(function () {
             $("#public-nav").css("background", "#fff");
             $(".public-nav").css("border-bottom", "1px solid #e0e0e0");
-            $("section[id='drder']").css("padding-top", "80px");
             haslogin({{.T.logid}});
 
             var orderCode = getParam("order_code");

+ 0 - 2
src/web/templates/order/pc/medical/detail.html

@@ -32,7 +32,6 @@
 
         #order_detail {
             line-height: 1;
-            padding-top: 76px;
             padding-bottom: 0px !important;
             background-color: #fff;
         }
@@ -174,7 +173,6 @@
                 initAdjustTime()
                 $("#public-nav").css("background", "#fff");
                 $(".public-nav").css("border-bottom", "1px solid #e0e0e0");
-                $("section[id='drder']").css("padding-top", "80px");
                 haslogin({{.T.logid }});
 
             // var orderCode = getParam("order_code");

+ 0 - 1
src/web/templates/order/pc/orderPay.html

@@ -169,7 +169,6 @@
         //nav样式
         $("#public-nav").css("background", "#fff");
         $(".public-nav").css("border-bottom", "1px solid #e0e0e0");
-        $("section[id='drder']").css("padding-top", "80px");
         //获取支付信息
         getPayCode("wx_pc");
         //支付方式切换

+ 0 - 2
src/web/templates/pc/aiPack_orderDetail.html

@@ -32,7 +32,6 @@
 
         #order_detail {
             line-height: 1;
-            padding-top: 76px;
             padding-bottom: 0px !important;
             background-color: #fff;
         }
@@ -134,7 +133,6 @@
             var orderType="aiForecastPack";
             $("#public-nav").css("background", "#fff");
             $(".public-nav").css("border-bottom", "1px solid #e0e0e0");
-            $("section[id='drder']").css("padding-top", "80px");
             haslogin({{.T.logid}});
 
             var orderCode = getParam("order_code");

+ 3 - 3
src/web/templates/pc/biddetail_rec.html

@@ -1598,11 +1598,11 @@
                         <div class="com-status">
                             {{if $v.area}}<span class="com-area"><a href="/list/area/{{$v.areaadd}}.html">{{$v.area}}</a></span>{{end}}
                             {{if or (eq  $v.type "拟建") ( eq  $v.type "采购意向")}}
-                            <span class="com-type"><a href="javascript:volid(0);">{{$v.type}}</a></span>
+                            <span class="com-type"><a target="_top" href="javascript:volid(0);">{{$v.type}}</a></span>
                             {{else}}
-                            <span class="com-type"><a href="/list/stype/{{$v.stypeadd}}.html">{{$v.type}}</a></span>
+                            <span class="com-type"><a target="_top" href="/list/stype/{{$v.stypeadd}}.html">{{$v.type}}</a></span>
                             {{end}}
-                            {{if $v.industry}}<span class="com-industry"><a href="/list/industry/{{$v.indadd}}.html">{{$v.industry}}</a></span>{{end}}
+                            {{if $v.industry}}<span class="com-industry"><a target="_top" href="/list/industry/{{$v.indadd}}.html">{{$v.industry}}</a></span>{{end}}
                             {{if $v.publishtime}}<span class="com-time" data-value="{{$v.pbtime}}"><i class="glyphicon bofangjilu"></i>{{$v.publishtime}}</span>{{end}}
                         </div>
                     </li>

+ 0 - 1
src/web/templates/pc/billing_list.html

@@ -81,7 +81,6 @@
         $(function(){
             $("#public-nav").css("background","#fff");
             $(".public-nav").css("border-bottom", "1px solid #e0e0e0");
-            $("section[id='drder']").css("padding-top", "80px");
             haslogin({{.T.logid}});
 			//
 			$.ajax({

+ 0 - 1
src/web/templates/pc/check_invoice.html

@@ -373,7 +373,6 @@
 
 		$("#public-nav").css("background","#fff");
 		$(".public-nav").css("border-bottom", "1px solid #e0e0e0");
-		$("section[id='drder']").css("padding-top", "80px");
 		haslogin({{.T.logid}});
     </script>
 </body>

+ 1 - 3
src/web/templates/pc/dataPack/packDetail.html

@@ -32,7 +32,6 @@
 
         #order_detail {
             line-height: 1;
-            padding-top: 76px;
             padding-bottom: 0px !important;
             background-color: #fff;
         }
@@ -136,7 +135,6 @@
             initAdjustTime()
             $("#public-nav").css("background", "#fff");
             $(".public-nav").css("border-bottom", "1px solid #e0e0e0");
-            $("section[id='drder']").css("padding-top", "80px");
             haslogin({{.T.logid}});
 
             var orderCode = getParam("order_code");
@@ -222,7 +220,7 @@
                             //发票 "item.applybill_status === 0 &&  && item.is_backstage_order === 0"
                             if (r.data.order.applybill_status === 0 && r.data.order.billingMode === 1 && r.data.order.is_backstage_order === 0) {
                                 $(".openinvoice").css("display", "");
-                            } else if (r.data.applybill_status === 1 || r.data.applybill_status === 2) {
+                            } else if ((r.data.applybill_status === 1 || r.data.applybill_status === 2) && r.data.source !== 1) {
                                 $(".lookinvoice").css("display", "").on("click", function () {
                                     checkinvoice(r.data.applybill_status, orderCode)//查看发票
                                 })

+ 0 - 2
src/web/templates/pc/entniche_orderDetail.html

@@ -32,7 +32,6 @@
 
         #order_detail {
             line-height: 1;
-            padding-top: 76px;
             padding-bottom: 0px !important;
             background-color: #fff;
         }
@@ -121,7 +120,6 @@
         $(function () {
             $("#public-nav").css("background", "#fff");
             $(".public-nav").css("border-bottom", "1px solid #e0e0e0");
-            $("section[id='drder']").css("padding-top", "80px");
             haslogin({{.T.logid}});
 
             var orderCode = getParam("order_code");

+ 0 - 1
src/web/templates/pc/invoice.html

@@ -245,7 +245,6 @@
 
           			  $("#public-nav").css("background","#fff");
           			  $(".public-nav").css("border-bottom", "1px solid #e0e0e0");
-          			  $("section[id='drder']").css("padding-top", "80px");
                 }
               });
             }

+ 0 - 1
src/web/templates/pc/invoice_error.html

@@ -78,7 +78,6 @@
             }
       			$("#public-nav").css("background","#fff");
       			$(".public-nav").css("border-bottom", "1px solid #e0e0e0");
-      			$("section[id='drder']").css("padding-top", "80px");
       			haslogin({{.T.logid}});
             $('#ruleModal').on('show.bs.modal', function () {
                 var $this = $(this);

+ 1 - 3
src/web/templates/pc/medaratus_orderDetail.html

@@ -32,7 +32,6 @@
 
         #order_detail {
             line-height: 1;
-            padding-top: 76px;
             padding-bottom: 0px !important;
             background-color: #fff;
         }
@@ -165,7 +164,6 @@
             initAdjustTime()
             $("#public-nav").css("background", "#fff");
             $(".public-nav").css("border-bottom", "1px solid #e0e0e0");
-            $("section[id='drder']").css("padding-top", "80px");
             haslogin({{.T.logid}});
 
             var orderCode = getParam("order_code");
@@ -299,7 +297,7 @@
                             if (r.data.order.is_backstage_order!==1 || r.data.order.order_channel === 'xdqd04'){
                                 if (r.data.order.applybill_status === 0) {
                                     $(".openinvoice").css("display", "");
-                                } else if (r.data.applybill_status === 1 || r.data.applybill_status === 2) {
+                                } else if ((r.data.applybill_status === 1 || r.data.applybill_status === 2) && r.data.source !== 1) {
                                     $(".lookinvoice").css("display", "").on("click", function () {
                                         checkinvoice(r.data.applybill_status, orderCode)//查看发票
                                     })

+ 1 - 3
src/web/templates/pc/member_orderDetail.html

@@ -32,7 +32,6 @@
 
         #order_detail {
             line-height: 1;
-            padding-top: 76px;
             padding-bottom: 0px !important;
             background-color: #fff;
         }
@@ -137,7 +136,6 @@
         $(function () {
             $("#public-nav").css("background", "#fff");
             $(".public-nav").css("border-bottom", "1px solid #e0e0e0");
-            $("section[id='drder']").css("padding-top", "80px");
             haslogin({{.T.logid}});
             var orderCode = getParam("order_code");
             $(".order_id").text("订单编号:" + orderCode);
@@ -287,7 +285,7 @@
                                             }
                                         })
                                     });
-                                }else if (r.data.applybill_status === 1 || r.data.applybill_status === 2) {
+                                }else if ((r.data.applybill_status === 1 || r.data.applybill_status === 2) && r.data.source !== 1) {
                                     $(".lookinvoice").css("display", "").on("click", function () {
                                         checkinvoice(r.data.applybill_status, orderCode)//查看发票
                                     })

+ 7 - 8
src/web/templates/pc/myOrder.html

@@ -542,10 +542,9 @@
                       <p><a data-jy-track="click-hover" @click="goCancel(item)">取消订单</a></p>
                     </div>
                     <div v-if="item.order_status === 1 && (item.filter.source || '') === '' && item.filter.badge!='exchange'">
-                      <p><a v-if="item.applybill_status === 0" data-jy-track="click-hover"
+                      <p><a v-if="item.applybill_status === 0 && item.source !== 1" data-jy-track="click-hover"
                           @click="goInvoice(item)">开发票</a></p>
-                      <p><a v-if="item.applybill_status === 1 || item.applybill_status === 2"
-                          data-jy-track="click-hover" @click="goInvoice(item)">发票信息</a></p>
+                      <p><a v-if="(item.applybill_status === 1 || item.applybill_status === 2) && item.source !== 1" data-jy-track="click-hover" @click="goInvoice(item)">发票信息</a></p>
                     </div>
                   </div>
                   <div class="handleBox" v-else-if="item.product_type === '大会员-AI中标预测包'
@@ -562,9 +561,9 @@
                     </div>
                     <div v-if="item.order_status === 1 && (item.filter.source || '') === ''&& item.filter.badge!='exchange'">
                       <!--                                        <div v-if="(item.filter.canInvoice !=undefined  && !item.filter.canInvoice)">-->
-                      <p><a v-if="item.applybill_status === 0" data-jy-track="click-hover"
+                      <p><a v-if="item.applybill_status === 0 && item.source !== 1" data-jy-track="click-hover"
                           @click="goInvoice(item)">开发票</a></p>
-                      <p><a v-if="item.applybill_status === 1 || item.applybill_status === 2"
+                      <p><a v-if="(item.applybill_status === 1 || item.applybill_status === 2) && item.source !== 1"
                           data-jy-track="click-hover" @click="goInvoice(item)">发票信息</a></p>
                       <!--                                        </div>-->
                     </div>
@@ -581,10 +580,10 @@
                     </p>
                     <!--已完成 && && item.filter.badge!='exchange' P307 权益码兑换 不开发票-->
                     <p v-if="item.order_status === 1 && item.filter.badge!='exchange'"><a
-                        v-if="item.applybill_status === 0 && item.billingMode === 1 && (item.is_backstage_order === 0 || item.order_channel === 'xdqd04')"
+                        v-if="item.applybill_status === 0 && item.billingMode === 1 && (item.is_backstage_order === 0 || item.order_channel === 'xdqd04') && item.source !== 1"
                         data-jy-track="click-hover" @click="goInvoice(item)">开发票</a></p>
                     <p v-if="item.order_status === 1"><a
-                        v-if="item.applybill_status === 1 || item.applybill_status === 2" data-jy-track="click-hover"
+                        v-if="(item.applybill_status === 1 || item.applybill_status === 2) && item.source !== 1" data-jy-track="click-hover"
                         @click="goInvoice(item)">发票信息</a></p>
                     <!--已取消-->
                     <!--历史数据 再次购买-->
@@ -645,7 +644,7 @@
     $(document).off("keydown");
     $("body").css("line-height", "1");
     $(".public-nav").css("border-bottom", "1px solid #e0e0e0");
-    $("section[id='drder']").css({ "padding-top": "97px", "min-height": "calc(100% - 340px)" });
+    $("section[id='drder']").css({ "min-height": "calc(100% - 340px)" });
 
     $(".order_tab span.tab_item").on("click", function () {
       var $Index = $(this).index();

+ 3 - 3
src/web/templates/pc/newIndex.html

@@ -33,11 +33,11 @@
     <main class="body-main">
       <section class="w">
         <!-- 头部logo+搜索模块 -->
-        <section class="main-module mt16">
+        <section class="main-module mt10">
           {{include "/pc/template/index/search-module.html"}}
         </section>
         <!-- 招标采购模块 -->
-        <section class="main-module mt14">
+        <section class="main-module mt6">
           {{include "/pc/template/index/zb-nav-module.html"}}
         </section>
         <!-- banner swiper -->
@@ -193,7 +193,7 @@
           {{include "/pc/template/index/area-nav-module.html"}}
         </section>
         <!-- 重点招标 -->
-        <section class="main-module">
+        <section class="main-module important-gov-bidding-module">
           {{include "/pc/template/index/important-gov-bidding.html"}}
         </section>
       </section>

+ 7 - 2
src/web/templates/pc/orderDetail.html

@@ -249,7 +249,6 @@
         haslogin({{.T.logid}});
         $(".public-nav").css("background-color", "#fff");
         $(".public-nav").css("border-bottom", "1px solid #e0e0e0");
-        $("section[id='order_two']").css("padding-top", "107px");
 
         /*---S-优惠券---*/
         function insetMoneyItem () {
@@ -487,6 +486,12 @@
         var orderStatus = {{ .T.o.order_status }};
         var invoiceStatus = {{ .T.o.applybill_status }}
         var orderCode = {{.T.o.order_code}}
+        try{
+        var source_ ={{.T.o.source}}
+        }catch(e){
+
+        } 
+        
         if (orderStatus === 0) {
             $("#status_wait_pay").show();
             $(".payOrder").show();
@@ -495,7 +500,7 @@
             $("#status_success").show();
             if (invoiceStatus === 0) {
                 $(".openinvoice").show();
-            } else if (invoiceStatus === 1 || invoiceStatus === 2) {
+            } else if ((invoiceStatus === 1 || invoiceStatus === 2) && source_ !== 1) {
                 $(".lookinvoice").show().on("click", function () {
                     checkinvoice({{.T.o.applybill_status}}, orderCode)
                 });

+ 2 - 4
src/web/templates/pc/subAccount_orderDetail.html

@@ -32,7 +32,6 @@
 
         #order_detail {
             line-height: 1;
-            padding-top: 76px;
             padding-bottom: 0px !important;
             background-color: #fff;
         }
@@ -133,7 +132,6 @@
         $(function () {
             $("#public-nav").css("background", "#fff");
             $(".public-nav").css("border-bottom", "1px solid #e0e0e0");
-            $("section[id='drder']").css("padding-top", "80px");
             haslogin({{.T.logid}});
 
             var orderCode = getParam("order_code");
@@ -208,9 +206,9 @@
                         if (source===""){
                           //发票
                             if (r.data.is_backstage_order!==1){
-                                if (r.data.applybill_status === 0) {
+                                if (r.data.applybill_status === 0 && r.data.source !== 1) {
                                     $(".openinvoice").css("display", "");
-                                } else if (r.data.applybill_status === 1 || r.data.applybill_status === 2) {
+                                } else if ((r.data.applybill_status === 1 || r.data.applybill_status === 2) && r.data.source !== 1) {
                                     $(".lookinvoice").css("display", "").on("click", function () {
                                         checkinvoice(r.data.applybill_status, orderCode)//查看发票
                                     })

+ 1 - 0
src/web/templates/pc/supsearch.html

@@ -5078,6 +5078,7 @@ function checkTagDisabled () {
         if (item === this.searchTab) {
           return
         }
+        // 优化-点击当前tab不刷新
         if (!goTemplateData.inIframe) {
           if(item === 1) {
             location.replace('/jylab/supsearch/index.html')

+ 1 - 1
src/web/templates/pc/template/index/ent-service-module.html

@@ -10,7 +10,7 @@
           <h3 class="title-left-line">数字化营销</h3>
         </header>
         <main class="service-desc-main">
-          <p class="service-desc-text">实现用户在平台上完成资讯、销售线索、销售机会、客户的全线跟踪处理。</p>
+          <p class="service-desc-text">剑鱼平台结合自身的资讯优势,推出的企业营销数字化产品,旨在帮助企业实现数字化转型和升级。</p>
           <ul class="service-desc-list clearfix">
             <li>
               <a class="service-desc-button s-main cms-link" href="/swordfish/frontPage/digitalMarketing/free/index" target="_blank">专属情报库</a>

+ 2 - 4
src/web/templates/pc/vip_orderDetail.html

@@ -32,7 +32,6 @@
 
         #order_detail {
             line-height: 1;
-            padding-top: 76px;
             padding-bottom: 0px !important;
             background-color: #fff;
         }
@@ -166,7 +165,6 @@
             initAdjustTime()
             $("#public-nav").css("background", "#fff");
             $(".public-nav").css("border-bottom", "1px solid #e0e0e0");
-            $("section[id='drder']").css("padding-top", "80px");
             haslogin({{.T.logid}});
 
             var orderCode = getParam("order_code");
@@ -304,9 +302,9 @@
                             //发票
                             // 后台渠道为xdqd04(销售代下单)可以开发票,其他后台创建订单不可以开发票
                             if (r.data.order.is_backstage_order!==1 || r.data.order.order_channel === 'xdqd04'){
-                                if (r.data.order.applybill_status === 0) {
+                                if (r.data.order.applybill_status === 0 && r.data.order.source !== 1) {
                                     $(".openinvoice").css("display", "");
-                                } else if (r.data.applybill_status === 1 || r.data.applybill_status === 2) {
+                                } else if ((r.data.applybill_status === 1 || r.data.applybill_status === 2) && r.data.source !== 1) {
                                     $(".lookinvoice").css("display", "").on("click", function () {
                                         checkinvoice(r.data.applybill_status, orderCode)//查看发票
                                     })

+ 1 - 1
src/web/templates/weixin/commonPay/bidfile/bidfiledetail.html

@@ -187,7 +187,7 @@
                 if (r.data.applybill_status === 0) {
                     //已支付未申请发票
                     pay_again += "<button class=\"j-button-cancel\" onclick='invoiceAdd()'>开发票</button>"
-                } else if (r.data.applybill_status === 1 || r.data.applybill_status === 2) {
+                } else if ((r.data.applybill_status === 1 || r.data.applybill_status === 2) && r.data.source !== 1) {
                     //已支付已申请发票
                     pay_again += "<button class=\"j-button-cancel\" onclick='checkInvoice(" + r.data.applybill_status + ")'>查看发票</button>"
                 }

+ 1 - 1
src/web/templates/weixin/commonPay/integral/integralDetail.html

@@ -193,7 +193,7 @@
                     if (r.data.applybill_status === 0) {
                         //已支付未申请发票
                         pay_again += "<button class=\"j-button-cancel\" onclick='invoiceAdd()'>开发票</button>"
-                    } else if (r.data.applybill_status === 1 || r.data.applybill_status === 2) {
+                    } else if ((r.data.applybill_status === 1 || r.data.applybill_status === 2) && r.data.source !== 1) {
                         //已支付已申请发票
                         pay_again += "<button class=\"j-button-cancel\" onclick='checkInvoice(" + r.data.applybill_status + ")'>查看发票</button>"
                     }

+ 1 - 1
src/web/templates/weixin/dataExport/dataExport_toOrderDetail.html

@@ -536,7 +536,7 @@
                                 var html = '<div class="j-button-group">'
                                 if (r.data.applybill_status === 0) {
                                     html += '<button class="j-button-cancel" onclick="invoiceAdd(\'' + r.data.order_code + '\')">开发票</button><button class="j-button-confirm" id="buytwo" onclick="payAgain(\'' + r.data.order_code + '\')">再次购买</button>'
-                                } else if (r.data.applybill_status === 1 || r.data.applybill_status === 2) {
+                                } else if ((r.data.applybill_status === 1 || r.data.applybill_status === 2) && r.data.source !== 1) {
                                     html += '<button class="j-button-cancel" onclick= checkinvoice(\'' + r.data.order_code + '\',' + r.data.applybill_status + ')>查看发票</button><button class="j-button-confirm" id="buytwo" onclick="payAgain(\'' + r.data.order_code + '\')">再次购买</button>'
                                 }
                             } else {

+ 1 - 1
src/web/templates/weixin/member/aiForecastPackdetail.html

@@ -224,7 +224,7 @@
                       if (r.data.applybill_status === 0) {
                           //已支付未申请发票
                           pay_again += "<button class=\"j-button-cancel\" onclick='invoiceAdd()'>开发票</button>"
-                      } else if (r.data.applybill_status === 1 || r.data.applybill_status === 2) {
+                      } else if ((r.data.applybill_status === 1 || r.data.applybill_status === 2) && r.data.source !== 1) {
                           //已支付已申请发票
                           pay_again += "<button class=\"j-button-cancel\" onclick='checkInvoice(" + r.data.applybill_status + ")'>查看发票</button>"
                       }

+ 5 - 2
src/web/templates/weixin/member/memberdetail.html

@@ -299,11 +299,14 @@
                   if (r.data.applybill_status === 0) {
                       //已支付未申请发票
                       pay_again += "<button class=\"j-button-cancel\" onclick='invoiceAdd()'>开发票</button>"
-                  } else if (r.data.applybill_status === 1 || r.data.applybill_status === 2) {
+                  } else if ((r.data.applybill_status === 1 || r.data.applybill_status === 2) && r.data.source !== 1) {
                       //已支付已申请发票
                       pay_again += "<button class=\"j-button-cancel\" onclick='checkInvoice(" + r.data.applybill_status + ")'>查看发票</button>"
                   }
-                  $('.j-footer').show().html(pay_again);
+                  if(r.data.source !== 1){
+                     $('.j-footer').show().html(pay_again);
+                  }
+                  
                 }else{
                   var buchongbaoHtml = '';
                   var serversName = filterObj.serversName;

+ 1 - 1
src/web/templates/weixin/member/subAccountDetail.html

@@ -220,7 +220,7 @@
                   if (r.data.applybill_status === 0) {
                       //已支付未申请发票
                       pay_again += "<button class=\"j-button-cancel\" onclick='invoiceAdd()'>开发票</button>"
-                  } else if (r.data.applybill_status === 1 || r.data.applybill_status === 2) {
+                  } else if ((r.data.applybill_status === 1 || r.data.applybill_status === 2) && r.data.source !== 1) {
                       //已支付已申请发票
                       pay_again += "<button class=\"j-button-cancel\" onclick='checkInvoice(" + r.data.applybill_status + ")'>查看发票</button>"
                   }

+ 5 - 2
src/web/templates/weixin/vipsubscribe/vip_order_detail.html

@@ -747,11 +747,14 @@
                         if (r.data.order.applybill_status === 0) {
                             //已支付未申请发票
                             pay_again += "<button class=\"j-button-cancel\" onclick='invoiceAdd()'>开发票</button>"
-                        } else if (r.data.order.applybill_status === 1 || r.data.order.applybill_status === 2) {
+                        } else if ((r.data.order.applybill_status === 1 || r.data.order.applybill_status === 2) && r.data.order.source !== 1) {
                             //已支付已申请发票
                             pay_again += "<button class=\"j-button-cancel\" onclick='checkInvoice(" + r.data.order.applybill_status + ")'>查看发票</button>"
                         }
-                        $('.j-footer').show().html(pay_again)
+                        if(r.data.order.source !== 1){
+                          $('.j-footer').show().html(pay_again)
+                         }
+                        
                     }
                     if (r.data.order.billingMode==0){
                        $(".j-footer").hide();//隐藏开发票