deposit-order.5381f128.chunk.js.map 17 KB
Newer Older
dazhou committed
1
{"version":3,"sources":["components/order/deposit/deposit-order/index.js"],"names":["Item","OrderList","props","listData","list","map","item","index","course_id","image_name","sale_price","simpledescription","course_title","coupon_num","coupon_desc","NewPrice","className","locationState","group","groupPrice","Info","style","overflow","textOverflow","whiteSpace","onClick","toDetail","WebkitBoxOrient","WebkitLineClamp","wordBreak","display","src","id","key","info","isaist","type","simple","arrow","to","pathname","search","state","from","justify","color","fontSize","Order","submitOrder","http","post","API","plat_form","source","getParam","is_deduction","useBalance","then","res","data","errno","history","replace","msg","showInfo","setState","prevState","toCourseDetail","push","user_account","depositPrice","parseFloat","offset","updateUserAccount","total","discount","orderList","finalStartTime","this","course","title","courseId","location","align","marginRight","length","position","top","left","width","height","backgroundColor","zIndex","padding","margin","transform","direction","lineHeight","textAlign","borderRadius","border","Component"],"mappings":"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","file":"mrstaticjs/deposit-order.5381f128.chunk.js","sourcesContent":["import React, { Component } from \"react\"\nimport { Flex, List, Toast } from \"antd-mobile\"\nimport { OrderItem } from \"src/common/index\"\nimport { Link } from \"react-router-dom\"\nimport { http, getParam } from \"src/utils\"\nimport { HeaderBar } from \"src/common/index\"\n\nimport \"./index.scss\"\n\nconst Item = List.Item\n\nfunction OrderList(props) {\n  const listData = props.list\n  return (\n    <div>\n      {listData.map((item, index) => {\n        const {\n          course_id,\n          image_name,\n          sale_price,\n          simpledescription,\n          course_title,\n          coupon_num,\n          coupon_desc,\n        } = item\n        let NewPrice = <span className=\"order-newprice\">¥{sale_price}</span>\n        if (props.locationState && props.locationState.group) {\n          NewPrice = <span className=\"order-newprice\">¥{props.groupPrice}</span>\n        }\n        const Info = (\n          <div className=\"order-info\">\n            <p\n              className=\"order-title\"\n              style={{\n                overflow: \"hidden\",\n                textOverflow: \"ellipsis\",\n                whiteSpace: \"nowrap\",\n              }}\n              onClick={() => props.toDetail(course_id)}\n            >\n              {course_title}\n            </p>\n            <p\n              className=\"order-content\"\n              style={{\n                WebkitBoxOrient: \"vertical\",\n                WebkitLineClamp: \"2\",\n                wordBreak: \"break-all\",\n                overflow: \"hidden\",\n                textOverflow: \"ellipsis\",\n                display: \"-webkit-box\",\n              }}\n            >\n              {simpledescription}\n            </p>\n            <p className=\"order-des\">\n              {NewPrice}\n              <span className={\"price-des\"}>(预付定金)</span>\n            </p>\n          </div>\n        )\n\n        return (\n          <OrderItem\n            {...item}\n            src={image_name}\n            id={course_id}\n            key={index}\n            info={Info}\n            isaist={props.isaist}\n            toDetail={props.toDetail}\n          >\n            {props.locationState &&\n            (props.locationState.type || props.locationState.simple) ? (\n              <div className=\"order-prefer\">\n                <List key={index}>\n                  <Item arrow=\"horizontal\" onClick={() => {}}>\n                    <Link\n                      to={{\n                        pathname: `/coupons`,\n                        search: `?id=${course_id}`,\n                        state: {\n                          from: \"/order\",\n                        },\n                      }}\n                    >\n                      <Flex justify=\"between\">\n                        <span\n                          style={{\n                            color: \"#333\",\n                            fontSize: \"15px\",\n                          }}\n                        >\n                          优惠券\n                        </span>\n                        <span\n                          style={{\n                            fontSize: \"14px\",\n                            color: \"#999999\",\n                          }}\n                        >\n                          {!coupon_desc\n                            ? coupon_num === 0\n                              ? \"无\"\n                              : `${coupon_num}张可用`\n                            : coupon_desc}\n                        </span>\n                      </Flex>\n                    </Link>\n                  </Item>\n                </List>\n              </div>\n            ) : null}\n          </OrderItem>\n        )\n      })}\n    </div>\n  )\n}\n\nclass Order extends Component {\n  constructor(props) {\n    super(props)\n    this.state = {\n      groupPrice: \"\",\n      total: 0.0, // 需要支付总金额\n      discount: 0.0, //\n      useBalance: false,\n      orderList: [],\n      info: false,\n      offset: 0,\n      depositPrice: 0,\n      course_id: getParam(\"oid\"),\n      user_account: \"\",\n      finalStartTime: \"\",\n    }\n  }\n\n  // 提交订单\n  submitOrder = () => {\n    http\n      .post(`${API[\"base-api\"]}/m/deposit/create`, {\n        plat_form: 5,\n        source: getParam(\"source\"), //来源 1-详情页 2-活动页,\n        course_id: this.state.course_id,\n        is_deduction: this.state.useBalance ? 1 : 0,\n      })\n      .then((res) => {\n        const { data } = res\n        if (data.errno === 200) {\n          if (data.data[\"pay_jump\"]) {\n            this.props.history.replace(\n              `/expand/callback?order_id=${data.data[\"order_id\"]}`\n            )\n          } else {\n            this.props.history.replace({\n              pathname: \"/deposit-pay-order\",\n              search: `?oid=${data.data[\"order_id\"]}`,\n            })\n          }\n        } else {\n          Toast.info(data.msg)\n        }\n      })\n  }\n\n  showInfo = () => {\n    this.setState((prevState) => ({\n      info: !prevState.info,\n    }))\n  }\n\n  componentDidMount() {\n    http\n      .post(`${API[\"base-api\"]}/m/deposit/preorder`, {\n        course_id: this.state.course_id,\n      })\n      .then((res) => {\n        const { data } = res\n        if (data.errno === 200) {\n          this.setState({\n            orderList: [data.data.course],\n            depositPrice: data.data.course[\"sale_price\"],\n            user_account: data.data[\"user_account\"],\n            finalStartTime: data.data[\"final_start_time\"],\n          })\n        } else {\n          Toast.info(data.msg)\n        }\n      })\n  }\n\n  toCourseDetail = (id) => {\n    const { history } = this.props\n    history.push(`/detail?id=${id}`)\n  }\n\n  useBalance = () => {\n    let { user_account, depositPrice } = this.state\n    if (parseFloat(user_account) === 0) {\n      return\n    }\n    let offset = parseFloat(user_account) - parseFloat(depositPrice)\n    offset = offset > 0 ? depositPrice : user_account\n    this.setState((prevState) => ({\n      useBalance: !prevState.useBalance,\n      offset,\n    }))\n  }\n\n  updateUserAccount = () => {}\n\n  render() {\n    const {\n      orderList,\n      discount,\n      groupPrice,\n      depositPrice,\n      user_account,\n      useBalance,\n      info,\n      offset,\n      finalStartTime,\n    } = this.state\n\n    return (\n      <div className=\"order-wrapper\">\n        <Flex>\n          <Flex.Item>\n            <HeaderBar title=\"课程报名\" arrow={true} />\n            <div className=\"order-list\">\n              <OrderList\n                list={orderList}\n                courseId={getParam(\"id\")}\n                locationState={this.props.location.state}\n                groupPrice={groupPrice}\n                toDetail={this.toCourseDetail}\n              />\n            </div>\n\n            <div className=\"order-balance\">\n              <List>\n                <Item className=\"order-prefer-text\">\n                  <Flex justify=\"between\">\n                    <Flex align=\"center\">\n                      <span>余额抵扣</span>\n                      <span className=\"order-balanceprice\">\n                        {\" \"}\n                        (余额:{\" \"}\n                        <i className=\"order-money\">{`${user_account}元`}</i>)\n                      </span>\n                      <i\n                        className=\"iconfont iconiconfront-22 question-mark\"\n                        onClick={this.showInfo}\n                      ></i>\n                    </Flex>\n                    <Flex>\n                      {useBalance ? (\n                        <>\n                          <span\n                            style={{\n                              color: \"#FF2121\",\n                              fontSize: \"15px\",\n                              marginRight: \"6px\",\n                            }}\n                          >{`-¥${offset}`}</span>\n                          <i\n                            className={`iconfont icondanseshixintubiao-5 balance-used`}\n                            onClick={this.useBalance}\n                          ></i>\n                        </>\n                      ) : (\n                        <i\n                          className=\"circle-icon\"\n                          onClick={this.useBalance}\n                        ></i>\n                      )}\n                    </Flex>\n                  </Flex>\n                </Item>\n              </List>\n            </div>\n\n            <ul className={\"deposit-limit-time\"}>\n              <li>· {finalStartTime}开始支付尾款</li>\n              <li>· 代金券只能在支付尾款时使用</li>\n            </ul>\n            <div className=\"order-bar\">\n              <div className=\"order-course\">\n                <span className=\"order-course-text\">{`${orderList.length}门课程`}</span>\n              </div>\n              <div className=\"order-bar-text\">\n                <div className=\"order-amount\">\n                  <span className=\"order-amount-title\">合计:</span>\n                  <span className=\"order-amount-price\">{`¥${depositPrice}`}</span>\n                </div>\n                <div className=\"order-preprice\">\n                  <span className=\"order-preprice-title\">已优惠:</span>\n                  <span className=\"order-preprice-price\">{`¥${discount}`}</span>\n                </div>\n              </div>\n              <button type=\"button\" className=\"order-button has-info\">\n                <span className=\"order-button-text\" onClick={this.submitOrder}>\n                  确定订单\n                </span>\n              </button>\n            </div>\n          </Flex.Item>\n        </Flex>\n        {info ? (\n          <div\n            style={{\n              position: \"fixed\",\n              top: 0,\n              left: 0,\n              width: \"100%\",\n              height: \"100%\",\n              backgroundColor: \"rgba(0, 0, 0, 0.8)\",\n              zIndex: \"99\",\n            }}\n          >\n            <div\n              style={{\n                padding: \"20px\",\n                backgroundColor: \"#FFF\",\n                width: \"300px\",\n                height: \"170px\",\n                margin: \"0 auto\",\n                position: \"absolute\",\n                left: \"50%\",\n                top: \"50%\",\n                transform: \"translate(-50%, -50%)\",\n              }}\n            >\n              <Flex\n                direction=\"column\"\n                justify=\"between\"\n                align=\"center\"\n                style={{ height: \"100%\" }}\n              >\n                <p style={{ fontSize: \"16px\", color: \"#333333\" }}>\n                  余额抵扣说明\n                </p>\n                <p\n                  style={{\n                    lineHeight: \"20px\",\n                    fontSize: \"13px\",\n                    color: \"#666666\",\n                  }}\n                >\n                  分销课程或者参与七月在线的相关活动,可获得资金奖励。账户资金可直接提现,也可抵扣课程费用。\n                </p>\n                <div\n                  onClick={this.showInfo}\n                  style={{\n                    width: \"260px\",\n                    height: \"30px\",\n                    lineHeight: \"30px\",\n                    textAlign: \"center\",\n                    borderRadius: \"3px\",\n                    border: \"1px solid #0099FF\",\n                    color: \"#0099FF\",\n                    fontSize: \"15px\",\n                  }}\n                >\n                  知道了\n                </div>\n              </Flex>\n            </div>\n          </div>\n        ) : null}\n      </div>\n    )\n  }\n}\n\nexport default Order\n"],"sourceRoot":""}