Sfoglia il codice sorgente

Merge remote-tracking branch 'origin/feature/v4.10.9' into feature/v4.10.9

jianghan 4 mesi fa
parent
commit
5a30987d0e

+ 1 - 1
src/jfw/modules/subscribepay/src/config.json

@@ -91,7 +91,7 @@
     "maxIdleConns": 2
   },
   "appPushServiceRpc": "127.0.0.1:5566",
-  "webdomain": "https://jybx2-webtest.jydev.jianyu360.com",
+  "webdomain": "https://jybx-webtest.jydev.jianyu360.com",
   "appdomain": "http://web-zxl.jydev.jianyu360.com",
   "wxdomain": "http://web-zxl.jydev.jianyu360.com",
   "mail": [

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

@@ -78,7 +78,6 @@ bidCreditReport:
   warnStart: "09:00"
   warnEnd: "21:00"
   warnUserMail:
-    - "wangchuanjin@topnet.net.cn"
   productEnv: false
   testIds:
     - "5d6378301c298a5aac7b5402"

+ 1 - 1
src/jfw/modules/subscribepay/src/entity/bidCreditReport/bidCreditReport.go

@@ -333,7 +333,7 @@ func (b *bidCreditReport) Create(id int64) error {
 				}
 				infoUrl := ""
 				if infos := vv.GetVar("list").Maps(); len(infos) > 0 {
-					infoUrl = config.Config.WebDomain + "/nologin/content/" + encrypt.CommonEncodeArticle("content", gmap.NewStrAnyMapFrom(infos[len(infos)-1]).GetVar("infoid").String()) + ".html"
+					infoUrl = config.Config.WebDomain + "/nologin/content/" + encrypt.CommonEncodeArticle("content", gmap.NewStrAnyMapFrom(infos[len(infos)-1]).GetVar("infoid").String()) + ".html?source=bidCreditReport"
 				}
 				records = append(records, []string{vv.GetVar("id").String(), projectName, buyer, gtime.New(vv.GetVar("lasttime").Int64()).Layout(time.DateTime), "-", sortprice, "-", area, city, "-", "-", infoUrl})
 			}

BIN
src/web/staticres/common-module/order-list/image/creditReport.png


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

@@ -242,3 +242,39 @@
 	margin-left: -17px;
 	display: inline-block;
 }
+.credit-report-dialog{
+  margin: 0 auto !important;
+  position: absolute!important;
+  top: 50%;
+  left: 50%;
+  transform: translate(-50%, -50%);
+  padding: 32px!important;
+  border-radius: 8px!important;
+}
+.credit-report-dialog .el-dialog__header{
+  padding: 0!important;
+}
+.credit-report-dialog .el-dialog__body{
+  padding: 20px 0 32px!important;
+}
+.credit-report-dialog .el-dialog__footer{
+  padding: 0!important;
+}
+.credit-report-dialog .dialog-content{
+  font-size: 14px;
+  line-height: 22px;
+  color: #686868;
+  text-align: center;
+}
+.credit-report-dialog .dialog-footer{
+  display: flex;
+  justify-content: space-between;
+}
+.credit-report-dialog .el-button{
+  width: 132px;
+  height: 36px;
+  padding: 0;
+  line-height: 36px;
+  border-radius: 6px;
+  font-size: 16px;
+}

+ 340 - 0
src/web/templates/order/pc/creditReport/detail.html

@@ -0,0 +1,340 @@
+<!DOCTYPE html>
+<html lang="en">
+
+<head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <meta name="viewport" content="width=device-width, initial-scale=1">
+    <title>订单详情</title>
+    <meta content="增值服务" theme="light" name="enable-header"/>
+    <script>
+      var myPageNavIsNormal = true;
+    </script>
+    <link rel="stylesheet" href="{{Msg "seo" "cdn"}}/course/css/bootstrap.min.css?v={{Msg "seo" "version"}}">
+    <link rel="stylesheet" href="{{Msg "seo" "cdn"}}/course/iconfont/iconfont.css?v={{Msg "seo" "version"}}">
+    <link rel="stylesheet" href="{{Msg "seo" "cdn"}}/course/css/reset_pc.css?v={{Msg "seo" "version"}}">
+    <link rel="stylesheet" href="{{Msg "seo" "cdn"}}/course/css/order_detail.css?v={{Msg "seo" "version"}}">
+    {{include "/common/pnc.html"}}
+    <link href="{{Msg "seo" "cdn"}}/css/pc.css?v={{Msg "seo" "version"}}" rel="stylesheet">
+    <link href="{{Msg "seo" "cdn"}}/css/dev2/reset_pc.css?v={{Msg "seo" "version"}}" rel="stylesheet">
+    <link rel="stylesheet" type="text/css"
+          href="{{Msg "seo" "cdn"}}/pccss/public-nav-1200.css?v={{Msg "seo" "version"}}"/>
+    <script type="text/javascript" src="{{Msg "seo" "cdn"}}/js/public-nav.js?v={{Msg "seo" "version"}}3"></script>
+    <!--[if lt IE 9]>
+    <script src="https://cdn-common.jianyu360.com/cdn/lib/html5shiv/3.7.3/html5shiv.min.js"></script>
+    <script src="https://cdn-common.jianyu360.com/cdn/lib/respond-js/1.4.2/respond.min.js"></script>
+    <![endif]-->
+    <style>
+        .filter_data p {
+            font-size: 14px;
+            margin-bottom: 10px;
+        }
+
+        #order_detail {
+            line-height: 1;
+            padding-bottom: 0px !important;
+            background-color: #fff;
+        }
+
+        .qxBg {
+            border-top: 2px solid #999999;
+            background-color: #ececec;
+        }
+
+        .qxBgFont {
+            color: #686868;
+        }
+        .date-row{
+            display: none;
+        }
+    </style>
+</head>
+<body>
+{{include "/common/pchead.html"}}
+<!-- header -->
+<!-- main  START -->
+<div class="order_detail" id="order_detail">
+    <div class="w order_crumb">
+        <a href="#" onclick="window.location.href='/front/swordfish/toMyOrder'">我的订单</a><em> > </em>
+        <a href="#" class="active">订单详情</a>
+    </div>
+    <div class="w order_main">
+        <!-- greenBg 为绿色背景及边框 redBg为红色背景及边框 -->
+        <div id="bg" class="o_m_thead greenBg">
+            <p class="order_id"></p>
+            <p class="clearfix order_state">
+                <!--greenFont为绿色字体 redFont为红色字体 -->
+                <span class="greenFont hide" id="status_success">已完成</span>
+                <span class="redFont hide" id="status_wait_pay">待付款</span>
+                <span class="qxBgFont hide" id="status_cancelled">已取消</span>
+
+                <a class="go_pay payOrder" style="display: none;">去支付</a>
+
+                <!-- 当状态为已完成时显示开发票 或 查看发票 -->
+                <a class="openinvoice go_pay" style="display: none;">开发票</a>
+                <a class="lookinvoice go_pay" style="display: none;">查看发票</a>
+            </p>
+        </div>
+
+        <div class="o_m_tbody">
+            <div class="b_list">
+                <div class="list_thead">
+                    <span class="fl">购买信息</span>
+                </div>
+                <div class="clearfix list_tbody">
+                    <div class="filter_data">
+                        <p><span class="pt_text">产品类型</span>:<span class="product_type"></span></p>
+                        <p><span class="hy_text">报告下载份数</span>:<span class="hysl"></span>份<span class="give_num"  style="color:#2CB7CA"></span></p>
+                        <!-- <p><span class="year_Text">使用有效期</span>: <span class="year"></span>年</p>
+                        <p class="date-row"><span class="zq_text">有效期至</span>:<span class="dyzq"></span></p> -->
+                        <p><span>投标企业名称:</span><span class="bidding-name"></span></p>
+                        <p><span>招标单位名称:</span><span class="buyer-name"></span></p>
+                        <p><span>邮箱:</span><span class="email"></span></p>
+                    </div>
+                </div>
+            </div>
+            <div class="b_list">
+                <div class="list_thead">
+                    <span class="fl">订单信息</span>
+                </div>
+                <div class="clearfix list_tbody">
+                    <div class="filter_data">
+                        <p>订单编号:<span class="order_code"></span></p>
+                        <p>下单时间:<span class="order_time"></span></p>
+                        <p class="pay_time_p" style="display: none;">支付时间:<span class="pay_time"></span></p>
+                        <p class="pay_way_p" style="display:none">支付方式:<span class="pay_way"></span></p>
+                        <p class="pay_num_p" style="display:none">支付单号:<span class="pay_num"></span></p>
+                        <p class="price_p" data-need-before-money>商品总价:<span class="price"></span> &nbsp; <span class="valuationList"
+                                                                                                                style="color:#2CB7CA;display:none;cursor:pointer">计费清单</span>
+                        </p>
+                    </div>
+                </div>
+            </div>
+        </div>
+
+    </div>
+    <div style="margin-top: 20px;"></div>
+    <!-- main END -->
+    {{include "/common/pcbottom.html"}}
+    {{include "/common/baiducc.html"}}
+    <script src="{{Msg "seo" "cdn"}}/course/js/jquery-2.1.4.min.js?v={{Msg "seo" "version"}}"></script>
+    <script src="{{Msg "seo" "cdn"}}/course/js/bootstrap.min.js?v={{Msg "seo" "version"}}"></script>
+    <!-- footer -->
+    <script>
+      $(function () {
+        $("#public-nav").css("background", "#fff");
+        $(".public-nav").css("border-bottom", "1px solid #e0e0e0");
+        haslogin({{.T.logid}});
+
+        var orderCode = {{.T.orderId}};
+        $(".order_id").text("订单编号:" + orderCode);
+        $.post("/subscribepay/orderListDetails/getOrderPayAllMsg", {"orderCode": orderCode}, function (r) {
+          if (r == '{"error":"需要登录!"}') {
+            location.href = '/';
+          }
+          if (r.success) {
+            //订单信息
+            $(".order_code").text(orderCode);
+            var filterObj = JSON.parse(r.data.order.filter);
+            if (r.data.order.create_time) {
+              $(".order_time").text(r.data.order.create_time.replace(/-/g, "."));
+            }
+            // 产品名称
+            $('.product_type').text(r.data.order.product_type)
+
+            /*---S-优惠券---*/
+            function insetMoneyItem () {
+              // 商品总价=订单金额(order_money)+优惠金额(order.discount_price)
+              var order_money = (r.data.order.order_money / 100)
+              var getPayMoney = (r.data.order.pay_money / 100)
+              var getCouponMoney = (r.data.order.discount_price / 100) || 0
+              var prodMoney = (order_money * 100) + (getCouponMoney * 100)
+              var insetDom = $('*[data-need-before-money]')
+
+              $(".price").text("¥ " + formatMoney(prodMoney / 100) + "元");
+              // 只有已完成的订单展示有效期至
+              if(r.data.order.order_status === 1) {
+                $('.date-row').show()
+              }
+              // 已取消和已退款订单不显示优惠信息
+              if (r.data.order.order_status != -2 && r.data.order.order_status != -3) {
+                if (getPayMoney) {
+                  // const dom = `<span style="color: #FF3A20;font-size:14px">退款成功</span>`
+                  // insetDom.after('<p>实付金额:¥' + formatMoney(getPayMoney) +'元'+ dom + '</p>')
+                  if(!r.data.order.refund_status) {
+                    insetDom.after('<p>实付金额:¥' + formatMoney(getPayMoney) +'元</p>')
+                  } else {
+                    const dom = `<span style="margin-left: 20px;color: #FF3A20;font-size:14px">退款成功</span>`
+                    insetDom.after('<p>实付金额:¥' + formatMoney(getPayMoney) +'元'+ dom + '</p>')
+                  }
+                }
+                if (getCouponMoney) {
+                  insetDom.after('<p>优惠金额:-¥' + formatMoney(getCouponMoney) +'元</p>')
+                }
+              }
+
+            }
+            insetMoneyItem()
+            /*---E-优惠券---*/
+
+            //优惠码
+            if (r.data.order.isUsedActiveCode) {
+              $(".discount-container").removeClass("hide");
+              $(".highlight-text").text("赠送30天");
+            }
+            var give_cycle=filterObj.give_cycle;
+            if (give_cycle!=undefined){
+              give_cycle = give_cycle < 12 ? (give_cycle + '个月') : ('1年');
+            }
+            if (give_cycle) {
+              $(".discount-container").removeClass("hide");
+              $(".highlight-text").text("赠送"+give_cycle);
+            }
+            if (r.data.order.order_status == 1) {
+              $("#status_success").removeClass("hide");
+              if (r.data.order.pay_time){
+                $(".pay_time_p").css("display", "");
+                $(".pay_time").text(r.data.order.pay_time.replace("-", ".").replace("-", "."));
+              }
+              //支付方式
+              if (r.data.order.pay_way && r.data.order.pay_way.indexOf("wx") > -1) {
+                $(".pay_way_p").css("display", "");
+                $(".pay_way").text("微信支付");
+              } else if (r.data.order.pay_way && r.data.order.pay_way.indexOf("ali") > -1) {
+                $(".pay_way").text("支付宝支付");
+                $(".pay_way_p").css("display", "");
+              }
+              if (r.data.order.original_price == 0) {
+                $(".pay_time_p").css("display", "none");
+                $(".vip_type").text("(试用)");
+              } else if (r.data.order.pay_money > 0){
+                $(".pay_num_p").css("display", "");
+                if (r.data.transaction_id) $(".pay_num").text(r.data.transaction_id);
+                //发票
+                if (r.data.order.is_can_invoice && r.data.order.refund_status) {
+                  $(".openinvoice").css("display", "");
+                }
+                if (r.data.invoice_show) {
+                  $(".lookinvoice").css("display", "").on("click", function () {
+                    checkinvoice(r.data.applybill_status, orderCode)//查看发票
+                  })
+                }
+              }
+            }
+            if (r.data.order.order_status == -2 || r.data.order.order_status == -3) {
+              $("#status_cancelled").removeClass("hide");
+              $("#bg").addClass("qxBg").removeClass("greenBg");
+            }
+            if (r.data.order.order_status == 0) {
+              $("#status_wait_pay").removeClass("hide");
+              $("#bg").addClass("redBg").removeClass("greenBg");
+              $(".payOrder").show();
+            }
+            // 展示字段
+            $('.filter_data .dyzq').text(filterObj.endTime)
+            $('.filter_data .hysl').text(filterObj.pNum || 1)
+            $('.filter_data .year').text(filterObj.validYear)
+            $('.filter_data .give_num').text((filterObj.give_cycle > 0 ? ' 赠'+filterObj.give_cycle + '份' : ''))
+            $('.filter_data .bidding-name').text(filterObj.ent_name)
+            $('.filter_data .buyer-name').text(filterObj.buyer)
+            $('.filter_data .email').text(filterObj.email)
+            $(".payOrder").on("click", function () {
+              location.href = "/front/creditReport/orderPay/" + orderCode;
+            })
+
+            //计价清单
+            var filterObj = JSON.parse(r.data.order.filter);
+            var upgradeSubtotail = filterObj.upgradeSubtotail;
+            if (upgradeSubtotail) {	//有则显示
+              $(".valuationList").css("display", "");
+              $(".valuationList").on("click", function () {
+                window.location.href = "/front/order/valuationList/" + orderCode;
+              })
+            }
+          }
+        })
+
+
+        $(".openinvoice").on("click", function () {
+          window.open("/front/order/invoice/" + orderCode, '_self');
+        })
+      })
+
+      // 格式化金钱的函数
+      // s: 金额(number) 必传
+      // n: 保留小数的位数(int:0-100)
+      function formatMoney(s, n) {
+        if (n === undefined) {
+          n = -1
+        } else {
+          n = n > 0 && n <= 20 ? n : 2;
+        }
+        var intS = parseInt(s)
+        var point = '.'
+        var left;
+        var right;
+        s = parseFloat((s + '').replace(/[^\d\.-]/g, ''))
+        // 没传n,默认(如果为整数,则不保留小数。如果为浮点数,则保留两位小数)
+        if (n === -1) {
+          if (s === intS) {
+            n = 0
+            right = ''
+            point = ''
+          } else {
+            n = 2
+            s = s.toFixed(n);
+            right = s.split('.')[1];
+          }
+          s = s + ''
+          left = s.split('.')[0].split("").reverse();
+        } else {
+          s = parseFloat((s + '').replace(/[^\d\.-]/g, '')).toFixed(n) + '';
+          left = s.split('.')[0].split('').reverse();
+          right = s.split('.')[1];
+        }
+
+        t = "";
+        for (i = 0; i < left.length; i++) {
+          t += left[i] + ((i + 1) % 3 == 0 && (i + 1) != left.length ? ',' : '');
+        }
+
+        var money = t.split('').reverse().join('') + point + right;
+        return money;
+      }
+
+
+      /******* 获取url参数(正则)********/
+      function getParam(name) {
+        var search = document.location.search;
+        // alert(search);
+        var pattern = new RegExp("[?&]" + name + "\=([^&]+)", "g");
+        var matcher = pattern.exec(search);
+        var items = null;
+        if (null != matcher) {
+          try {
+            items = decodeURIComponent(decodeURIComponent(matcher[1]));
+          } catch (e) {
+            try {
+              items = decodeURIComponent(matcher[1]);
+            } catch (e) {
+              items = matcher[1];
+            }
+          }
+        }
+        return items;
+      };
+      //查看发票
+      function checkinvoice(flag, orderCode) {
+        // if (flag === 2) {
+        //     var showHtml = '<div style="width: 100%;height: 100%;z-index: 999; position: absolute;top: 0;background: rgba(0, 0, 0, 0.65);">   <div style="position: fixed;z-index: 9999;width: 540px;height: 262px;left: 50%;top: 30%;margin-left: -270px;background-color: #fff;border-radius: 6px;padding: 32px;display: flex;flex-direction: column;justify-items: center;align-items: center;">       <div class="invoice_title" style="color: #1D1D1D;font-size: 18px;line-height: 28px;">提示</div>       <div class="invoice_body"            style="height: 78px;margin: 20px 0px;font-size: 14px;line-height: 24px;text-align: center;">           您已开具发票<br>           如有问题请联系客服<br>           400-108-6670       </div>       <div class="invoice_control"            style="width: 132px;height: 36px;text-align: center;background: #2CB7CA;border-radius: 6px;font-size: 16px;line-height: 36px;color: #FFFFFF;cursor: pointer;"            onclick="document.querySelector(\'#invoice_tip\').remove()"       >           我知道了       </div>   </div>\n</div>'
+        //     var div_invoice_tip = document.createElement('div');
+        //     div_invoice_tip.innerHTML = showHtml;
+        //     div_invoice_tip.id = "invoice_tip"
+        //     document.body.appendChild(div_invoice_tip)
+        //     return
+        // }
+        window.open("/front/order/check_invoice/" + orderCode, '_self');
+      }
+    </script>
+</body>
+</html>

+ 40 - 0
src/web/templates/order/pc/paySuccess.html

@@ -189,6 +189,9 @@
             {{else if eq .T.orderType "propPack"}}
                 <a class="check_order sm-size default" href="/front/downloadPack/packDetail?order_code={{.T.orderCode}}">查看订单</a>
                 <span style="margin-left:16px;cursor:pointer;" class="check_order" onclick="getAnalysisJumpUrl('prop')" >下载报告</span>
+            {{else if eq .T.orderType "creditReport"}}
+                <a class="check_order sm-size default" href="/front/creditReport/orderDetail?order_code={{.T.orderCode}}">查看订单</a>
+                <!-- <span style="margin-left:16px;cursor:pointer;" class="check_order" onclick="getAnalysisJumpUrl('creditReport')" >下载报告</span> -->
             {{end}}
 
             </div>
@@ -200,6 +203,22 @@
           </div>
         </div>
     </div>
+    {{if eq .T.orderType "creditReport"}}
+    <el-dialog
+      center
+      title="报告下载成功"
+      :visible.sync="dialogVisible"
+      width="380px"
+      :show-close="false"
+      custom-class="credit-report-dialog"
+    >
+      <div class="dialog-content">报告将于${bidCreditReport_makeTime}分钟内发送至您的邮箱,您也可前往“资产-报告下载记录”查看详情。</div>
+      <span slot="footer" class="dialog-footer">
+        <el-button type="primary" @click="goDownloadRecord">查看下载记录</el-button>
+        <el-button @click="dialogVisible = false">取 消</el-button>
+      </span>
+    </el-dialog>
+    {{end}}
 </div>
 {{include "/common/pcbottom.html"}}
 
@@ -474,10 +493,15 @@
         data () {
           return {
             isShowGift: false,
+            dialogVisible: true,
+            bidCreditReport_makeTime: '', // 报告生成时间
           }
         },
         created() {
           this.fetchConfigTime()
+          if (orderType === 'creditReport') {
+            this.getTimeConfig()
+          }
         },
 
         methods: {
@@ -513,6 +537,22 @@
             }
            
           },
+          getTimeConfig: function() {
+            var _this = this
+            $.ajax({
+              url: '/subscribepay/config',
+              type: 'post',
+              success: function(res) {
+                console.log(res);
+                if (res && res.data) {
+                  _this.bidCreditReport_makeTime = res.data.bidCreditReport_makeTime
+                }
+              }
+            })
+          },
+          goDownloadRecord: function() {
+            window.location.href = '/page_workDesktop/work-bench/app/big/report/download_record'
+          }
         }
    })
 

+ 19 - 3
src/web/templates/pc/myOrder.html

@@ -460,7 +460,12 @@
                             item.filter.give_cycle +'份': ''#@</span></p>
                     <p>使用有效期:@# item.filter.validYear#@年</p>
                     <p v-if="item.order_status === 1">有效期至:@#item.filter.endTime#@</p>
-                 </div>
+                  </div>
+                  <div class="fl shop_main" v-if="item.product_type === '投标企业信用报告'">
+                    <p>产品类型: @#item.product_type#@</p>
+                    <!-- 后端说只有一份,可以写死,没必要存 -->
+                    <p>报告下载份数:1份</p>
+                  </div>
                 </div>
 
                 <!-- 商品金额 -->
@@ -784,7 +789,7 @@
       delimiters: ['@#', '#@'],
       data: function () {
         return {
-          typeEnum: ["医械通", "VIP订阅", "中标必听课", "企业商机管理", "剑鱼币", "历史数据", "大会员", "大会员-AI中标预测包", "大会员-子账号", "大会员-招标文件解读", "大会员-补充包", "招标文件解读", "数据报告", '数据流量包', '省份订阅包', '附件下载包', '采购单位画像包', '数据文件', '剑鱼文库会员', '市场分析定制报告下载包', '企业中标分析报告下载包', '业主采购分析报告下载包'],
+          typeEnum: ["医械通", "VIP订阅", "中标必听课", "企业商机管理", "剑鱼币", "历史数据", "大会员", "大会员-AI中标预测包", "大会员-子账号", "大会员-招标文件解读", "大会员-补充包", "招标文件解读", "数据报告", '数据流量包', '省份订阅包', '附件下载包', '采购单位画像包', '数据文件', '剑鱼文库会员', '市场分析定制报告下载包', '企业中标分析报告下载包', '业主采购分析报告下载包', '投标企业信用报告'],
           imgMap: {
             '医械通': {
               icon: '/electronic_invoice/image/med_aratus.png?v=1001'
@@ -892,7 +897,10 @@
             },
             '业主采购分析报告下载包': {
               icon: '/order/image/yzcgfxbg.png'
-            }
+            },
+            '投标企业信用报告': {
+              icon: '/common-module/order-list/image/creditReport.png'
+            },
           },
           bigIndexMap: {
             1: '专家版',
@@ -1369,6 +1377,10 @@
               href = '/front/entPack/orderPay/' + item.order_code
               break
             }
+            case '投标企业信用报告': {
+              href = '/front/creditReport/orderPay/' + item.order_code
+              break
+            }
           }
           // 添加市场分析报告
           if (goTemplateData.inIframe) {
@@ -1600,6 +1612,10 @@
               href = '/front/downloadPack/packDetail?order_code=' + item.order_code
               break
             }
+            case '投标企业信用报告': {
+              href = '/front/creditReport/jyOrderDetail/' + item.order_code
+              break
+            }
           }
           window.open(href)
         },