From c0d97faf6b21c033a0a11f0b21083eac9dc1b82e Mon Sep 17 00:00:00 2001 From: liangjin <liangjin@finlean.com> Date: Fri, 09 Apr 2021 15:06:44 +0800 Subject: [PATCH] 和微分和微分 --- public/index.html | 7 src/router/routes.js | 896 ------------------- src/views/user/loginByWx.vue | 2 src/store/index.js | 12 src/views/user/register-home.vue | 2 src/views/user/register.vue | 2 src/assets/imgs/product_xhzw.png | 0 src/assets/imgs/product_xrw.png | 0 /dev/null | 428 --------- webpack.common.js | 4 src/views/user/login.vue | 2 src/api/oldapi.js | 311 ------ src/api/index.js | 233 ---- src/assets/imgs/hwf_bg.png | 0 src/views/old/store/wx-pay-score.vue | 11 src/views/main/product.vue | 2 src/views/old/store/business-center.vue | 876 +++--------------- src/assets/imgs/product_cl.png | 0 18 files changed, 177 insertions(+), 2,611 deletions(-) diff --git a/public/index.html b/public/index.html index 0ed8ac6..7d69cd0 100644 --- a/public/index.html +++ b/public/index.html @@ -70,13 +70,6 @@ <body> <div id="app"></div> - <!--<script src="../src/utils/agreement1.js"></script>--> - <!--<script src="../src/utils/agreement2.js"></script>--> - - <script src="static/agreement1.js"></script> - <script src="static/agreement2.js"></script> - <script src="static/agreement3.js"></script> - <script src="static/agreement4.js"></script> <script src="static/agreement5.js"></script> <!-- cdn 生产环境打开注释!!! --> <!-- icon 图标 --> diff --git a/src/api/index.js b/src/api/index.js index 13911d0..47527c6 100644 --- a/src/api/index.js +++ b/src/api/index.js @@ -266,82 +266,6 @@ - // 手机分期订单列表 - ljOrderList(data){ - return $http.post('/ljOrder/list', data); - }, - // 手机分期——导出 - ljOrderExport(data){ - return $http.post('/ljOrder/export', data); - }, - // 智享花 ——订单 - getHeydOrder(data){ - return $http.post('/heydOrder/list', data); - }, - // 智享花 ——导出 - zxhExport(data){ - return $http.post('/heydOrder/export', data); - }, - - // 信用购 ——订单 - getXygOrder(data){ - return $http.post('/xygOrder/list', data); - }, - // 信用购 ——导出 - xygExport(data){ - return $http.post('/xygOrder/export', data); - }, - getXygDetail(orderId){ - return $http.post('/xygOrder/orderDtl', {orderId}); - }, - // 信用购 ——订单 - getGzzjOrder(data){ - return $http.post('/gzzjOrder/list', data); - }, - // 信用购 ——导出 - gzzjExport(data){ - return $http.post('/gzzjOrder/export', data); - }, - getGzzjDetail(orderId){ - return $http.post('/gzzjOrder/orderDtl', {orderId}); - }, - // 获取商户收款订单列表 - getDmfOrderList(data){ - return $http.post('/dmfOrder/orderList', data); - }, - //商户收款 详情 - getDmfOrderDetail(orderId){ - return $http.post('/dmfOrder/orderDetails', {orderId}); - }, - //商户收款 退款 - facepay_refund(data){ - return $http.post('/dmfOrder/refund', data); - }, - // 商户收款 获取支付状态 - facepay_getStatus(orderId){ - return $http.post('/dmfOrder/findOrderSts', {orderId}); - }, - - // 购机直降——订单列表 - getGjzjList(data){ - return $http.post('/gjzjOrder/list', data); - }, - // 购机直降——详情 - getGjzjDetail(orderId){ - return $http.post('/gjzjOrder/orderDtl', {orderId}); - }, - // 购机直降——导出 - gjzjExport(data){ - return $http.post('/gjzjOrder/export', data); - }, - - getZxhDetail(orderId){ - return $http.post('/heydOrder/orderDtl', {orderId}); - }, - - - - //商户注册 merRegist(data) { @@ -399,138 +323,6 @@ return $http.post('/temp/saveMerListTemp',data); }, - //红包接口 - redPacketInit(data){ - return $http.post('/redPacket/init',data) - }, - redPacketIncomeList(data){ - return $http.post('/redPacket/incomeList',data) - }, - redPacketExpendList(data){ - return $http.post('/redPacket/expendList',data) - }, - redPacketBindAliInfo(data){ - return $http.post('/redPacket/bindAliInfo',data) - }, - redPacketExpend(data){ - return $http.post('/redPacket/expend',data) - }, - //花呗合约机套餐信息获取 - categoryList(data){ - return $http.post('/contract/categoryList',data) - }, - // 信用购花呗导出 - xygOrderHbExport(data){ - return $http.post('/xygOrder/hbExport',data) - }, - // 信用购花呗列表获取 - xygOrderHbList(data){ - return $http.post('/xygOrder/hbList',data) - }, - // 验证是否需要手动绑定 - xygOrderCheckInfo(data){ - return $http.post('/xygOrder/checkInfo',data) - }, - //绑定信息 - xygOrderBindInfo(data){ - return $http.post('/xygOrder/bindInfo',data) - }, - //信用购花呗创建订单 - xygOrderCreateHbOrder(data){ - return $http.post('/xygOrder/createHbOrder',data) - }, - // 信用购花呗订单详情 - xygOrderHbOrderDtl(data){ - return $http.post('/xygOrder/hbOrderDtl',data) - }, - // 信用购花呗 退款 - xygOrderRefundHb(data){ - return $http.post('/xygOrder/refundHb',data) - }, - - // 花呗间联接口 - hbjlOrderList(data){ - return $http.post('/hbjlOrder/list',data) - }, - hbjlOrderInit(data){ - return $http.post('/hbjlOrder/init',data) - },//创建订单初始化 - hbjlOrderExport(data){ - return $http.post('/hbjlOrder/export',data) - }, - hbjlOrderTrial(data){ - return $http.post('/hbjlOrder/trial',data) - }, - hbjlOrderOrderDtl(data){ - return $http.post('/hbjlOrder/orderDtl',data) - }, - /** - * 通联接口 - * **/ - tltMerOpenInit(data){ - return $http.post('/tlt/merOpen/init',data) - },//页面信息初始化 - tltMerOpenOpen(data){ - return $http.post('/tlt/merOpen/open',data) - },//商户开通 - tltMerOpenFindOpenSts(data){ - return $http.post('/tlt/merOpen/findOpenSts',data) - },//查询开通状态 - tltMerOpenSendSmsCode(data){ - return $http.post('/tlt/merOpen/sendSmsCode',data) - },//获取网商验证码 - tltMerOpenReOpenMer(data){ - return $http.post('/tlt/merOpen/reOpenMer',data) - },//重置开通状态 - tltMerOpenQueryElectUrl(data){ - return $http.post('/tlt/merOpen/queryElectUrl',data) - },//进件电子协议URL查询 - tltMerOpenRepair(data){ - return $http.post('/tlt/merOpen/repair',data) - },//商户资料补录 - tltMerOpenPayAuth(data){ - return $http.post('/tlt/merOpen/payAuth',data) - },//打款验证接口 - /** - * 通联提现接口 - * **/ - tltWalletOpenStatus(data){ - return $http.post('tlt/wallet/openStatus',data) - }, - tltWalletInit(data){ - return $http.post('/tlt/wallet/init',data) - },//钱包初始化 - tltWalletSendSmsCode(data){ - return $http.post('/tlt/wallet/sendSmsCode',data) - },//获取网商验证码 - tltWalletWithdraw(data){ - return $http.post('/tlt/wallet/withdraw',data) - },//提现 - tltWalletWithdrawDetails(data){ - return $http.post('/tlt/wallet/withdrawDetails',data) - },//提现记录 - tltWalletWithdrawStatus(data){ - return $http.post('/tlt/wallet/withdrawStatus',data) - },//提现状态 - tltMerOpenSendAuthFile(data){ - return $http.post('/tlt/merOpen/sendAuthFile',data) - },//获取授权书模板 - // 风控订单接口 - riskNum(data){ - return $http.post('/risk/num',data) - }, - riskInit(data){ - return $http.post('/risk/init',data) - }, - riskList(data){ - return $http.post('/risk/list',data) - }, - riskHandle(data){ - return $http.post('/risk/handle',data) - }, - riskExport(data){ - return $http.post('/risk/export',data) - }, // 微信扫码登录 loginByOpenId(data){ return $http.post('/login/loginByOpenId',data) @@ -541,31 +333,6 @@ userAddStoreManager(data){ return $http.post('/user/addStoreManager',data) },//资料补充 - - // 商户收款接口 - shskTypeList(data){ - return $http.post('/prod/dmfTypeList',data) - },//获取支付方式列表 - shskCalAmt(data){ - return $http.post('/prod/calAmt',data) - }, - shskProdFee(data){ - return $http.post('/dmfOrder/prodFee',data) - },//获取支付方式费率 - - // 联通合约机 - cuccOrderInit(data){ - return $http.post('/cuccOrder/init',data) - },//初始化合约套餐 - cuccOrderPreCreate(data){ - return $http.post('/cuccOrder/preCreate',data) - },//订单预创建 - cuccOrderList(data){ - return $http.post('/cuccOrder/list',data) - },//订单列表 - cuccOrderDetail(data){ - return $http.post('cuccOrder/detail',data) - },//订单详情 } diff --git a/src/api/oldapi.js b/src/api/oldapi.js index cd2e905..421de97 100644 --- a/src/api/oldapi.js +++ b/src/api/oldapi.js @@ -9,26 +9,6 @@ export default { //创建订单 - facepay_create(data) { - return $http.post('/dmfOrder/create', data); - }, - //查询订单支付状态 - facepay_getStatus(data) { - data.hiddenLoading = true; - return $http.post('/dmfOrder/findOrderSts', data); - }, - //订单列表 - facepay_orderList(data) { - return $http.post('/dmfOrder/orderList', data); - }, - //订单 退款 - facepay_refund(data) { - return $http.post('/dmfOrder/refund', data); - }, - //订单详情 - facepay_orderDetails(orderId) { - return $http.post('/dmfOrder/orderDetails', {orderId}); - }, //订单列表导出 facepayOrderExport(data) { @@ -70,66 +50,6 @@ calAmt(data){ return $http.post('/prod/calAmt', data); }, - hbOrderInit(data) { - return $http.post('/hbOrder/init', data); - }, - shtxOrderInit(data){ - return $http.post('/shtxOrder/init',data) - }, - shtxOrderCreate(data){ - return $http.post('/shtxOrder/create',data) - }, - getMonthMoney(data){ - return $http.post('/shtxOrder/trial',data) - }, - calcMonthMoney(data){ - return $http.post('/hbOrder/trial', data); - }, - hbOrderCreate(data) { - return $http.post('/hbOrder/create', data); - }, - hbhyjCreate(data) { - return $http.post('/hbOrder/createMbl', data); - }, - contractList(data) { - return $http.post('/contract/list', data); - }, - hbOrderFindOrderSts(data){ - return $http.post('/hbOrder/findOrderSts', data); - }, - shtxOrderFindOrderSts(data){ - return $http.post('/shtxOrder/findOrderSts', data); - }, - getShtxDetail(data){ - return $http.post('/shtxOrder/refund',data) - }, - /** - * 手机分期相关 - */ - //订单创建 - ljOrderCreate(data) { - return $http.post('/ljOrder/create', data); - }, - //订单创建初始化 - ljOrderCreateInit(data) { - return $http.post('/ljOrder/createInit', data); - }, - //订单列表导出 - ljOrderExport(data) { - return $http.post('/ljOrder/export', data); - }, - //订单列表 - ljOrderList(data) { - return $http.post('/ljOrder/list', data); - }, - //订单详情 - ljOrderOrderDtl(data) { - return $http.post('/ljOrder/orderDtl', data); - }, - //订单创建试算 - ljOrderTrial(data) { - return $http.post('/ljOrder/trial', data); - }, saveProtocol(data){ @@ -155,30 +75,9 @@ }, - - // 检查授权 - checkAuth (data) { - return $http.post('/hbOpen/checkAuth', data); - }, - // 花呗开户初始化 - hbOpenInit (data) { - return $http.post('/hbOpen/init', data); - }, // 商户详情 merPayInfo(data) { return $http.post('/merchant/merPayInfo', data); - }, - // xyg花呗开户初始化 - xygHbOpenInit (data) { - return $http.post('/hbOpen/xygInit', data); - }, - // xyg花呗检查授权 - xygCheckAuth(data){ - return $http.post('/hbOpen/xygCheckAuth',data) - }, - // xyg花呗开通 - hbOpenXygOpen(data){ - return $http.post('/hbOpen/xygOpen',data) }, //照片上传 merUploadPhoto(data) { @@ -193,29 +92,6 @@ return $http.post('/public/uploadFile', data); }, - heydInitOpen(data) { - return $http.post('/heydOpen/init', data); - }, - // 开通 - heydOpen(data) { - return $http.post('/heydOpen/open', data); - }, - // 开通 - heydInitStore(data) { - return $http.post('/heydOpen/initStore', data); - }, - // 开通 - heydInitMgr(data) { - return $http.post('/heydOpen/initMgr', data); - }, - // 营业员开通 - heydOpenMgr(data) { - return $http.post('/heydOpen/openMgr', data); - }, - // 门店开通 - heydOpenStore(data) { - return $http.post('/heydOpen/openStore', data); - }, getMerInfo(merId){ return $http.post('/heydOpen/merInfo', {merId}); @@ -228,39 +104,12 @@ h_getFileType(data={}){ return $http.post('/heydOrder/getFileType', data); }, - //退货 - h_refund(data) { - return $http.post('/heydOrder/refund', data); - }, - //海尔云贷经纬度保存 - gpsAddr(data){ - return $http.post('/heydOpen/updateMgrDeviceInfo',data); - }, - gjzjOpenInit (data) { - return $http.post('/gjzjOpen/init', data); - }, - // 商户开通 - gjzjOpen (data) { - return $http.post('/gjzjOpen/open', data); - }, - - // 商户开通 - hbOpenOpen (data) { - return $http.post('/hbOpen/open', data); - }, - // 商户重新开通 - hbOpenReOpen (data) { - return $http.post('/hbOpen/reOpen', data); - }, // 查询商户开通状态 findOpenSts (data) { return $http.post('/hbOpen/findOpenSts', data); }, getJson() { return $http.get('/scene/json/childChanList.json'); - }, - getShsUrl() { - return $http.post('/shsOrder/getUrl'); }, //门店优化 @@ -270,126 +119,12 @@ indexDetail(data){ return $http.post('/index/bannerDetail',data); }, - //消息 - noticeDetail(data){ - return $http.post('/notice/detail',data); - }, - noticeList(data){ - return $http.post('/notice/list',data); - }, - //商户 merchantDetail(data){ return $http.post('/merchant/merDetail',data); }, merchantEdit(data){ return $http.post('/merchant/merEdit',data); - }, - //逾期用户列表 - overdueList(data){ - return $http.post('/overdue/oveList',data); - }, - //逾期详情 - overdueDetail(data){ - return $http.post('/overdue/oveDetail',data); - }, - //逾期用户数 - overdueNum(data){ - return $http.post('/overdue/oveNum',data); - }, - //保存跟进记录 - overdueSaveOveFol(data){ - return $http.post('/overdue/saveOveFol',data); - }, - // 支付宝拉新 - zfbLxSave(data){ - return $http.post('/zfb/lx/save',data); - }, - //支付宝拉新查询列表 - zfbLxList(data){ - return $http.post('/zfb/lx/list',data); - }, - //支付宝拉新列表初始化 - zfbLxInit(data){ - return $http.post('/zfb/lx/init',data); - }, - //支付宝拉新查询 - zfbLxReport(data){ - return $http.post('/zfb/lx/report',data); - }, - //支付宝周数据统计 - zfbLxWeekReport(data){ - return $http.post('/zfb/lx/weekReport',data); - }, - //支付宝数据导出 - zfbLxExport(data){ - return $http.post('/zfb/lx/export',data); - }, - // 信用购接口开始 - - xygInitOpen(data) { - return $http.post('/xygOpen/init', data); - }, - // 信用购开通 - xygOpen(data) { - return $http.post('/xygOpen/open', data); - }, - // 信用购开通 - xygInitStore(data) { - return $http.post('/xygOpen/initStore', data); - }, - // 信用购开通 - xygInitMgr(data) { - return $http.post('/xygOpen/initMgr', data); - }, - // 信用购营业员开通 - xygOpenMgr(data) { - return $http.post('/xygOpen/openMgr', data); - }, - // 信用购门店开通 - xygOpenStore(data) { - return $http.post('/xygOpen/openStore', data); - }, - getXygMerInfo(merId){ - return $http.post('/xygOpen/merInfo', {merId}); - }, - getunhandingList(data){ - return $http.post('xygOrder/unhandingList',data) - }, - getGoodsTypeList(data){ - return $http.post('xygOrder/createInit',data) - }, - h_uploadXygProtocol(data) { - return $http.post('/xygOrder/uploadProtocol', data); - }, - h_getXygFileType(data={}){ - return $http.post('/xygOrder/getFileType', data); - }, - //信用购退货 - h_xygRefund(data) { - return $http.post('/xygOrder/refund', data); - }, - //信用购经纬度保存 - gpsXygAddr(data){ - return $http.post('/xygOpen/updateMgrDeviceInfo',data); - }, - - // 信用购接口结束 - //开通花呗省市区数据获取 - getAliAreaList(data){ - return $http.post('/public/aliAreaList',data); - }, - // 获取通道 - prodZfbVersion(data){ - return $http.post('/prod/zfbVersion',data); - }, - // 信用购花呗开通结果 - findXygOpenSts(data){ - return $http.post('/hbOpen/findXygOpenSts',data) - }, - // xyg花呗开通详情获取 - merXygPayInfo(data){ - return $http.post('/merchant/merXygPayInfo',data) }, // 门店管理分页 storeStoreList(data){ @@ -434,49 +169,7 @@ wxScoreExport(data){ return $http.post('/cmccWxpay/export', data); }, - //公众租机接口开始 - gzzjInitOpen(data) { - return $http.post('/gzzjOpen/init', data); + wxScoreCreInit(data){ + return $http.post('/cmccWxpay/creInit', data); }, - // 开通 - gzzjOpen(data) { - return $http.post('/gzzjOpen/open', data); - }, - // 开通 - gzzjInitStore(data) { - return $http.post('/gzzjOpen/initStore', data); - }, - // 开通 - gzzjInitMgr(data) { - return $http.post('/gzzjOpen/initMgr', data); - }, - // 营业员开通 - gzzjOpenMgr(data) { - return $http.post('/gzzjOpen/openMgr', data); - }, - // 门店开通 - gzzjOpenStore(data) { - return $http.post('/gzzjOpen/openStore', data); - }, - - getGzzjMerInfo(merId){ - return $http.post('/gzzjOpen/merInfo', {merId}); - }, - gzzjOrderInit(data) { - return $http.post('/gzzjOrder/init', data); - }, - gzzjOrderPrecreate(data) { - return $http.post('/gzzjOrder/preCreate', data); - }, - gzzj_h_uploadProtocol(data) { - return $http.post('/gzzjOrder/uploadProtocol', data); - }, - gzzj_h_getFileType(data={}){ - return $http.post('/gzzjOrder/getFileType', data); - }, - //退货 - gzzj_h_refund(data) { - return $http.post('/gzzjOrder/refund', data); - }, - //公众租机接口结束 } diff --git a/src/assets/imgs/hwf_bg.png b/src/assets/imgs/hwf_bg.png new file mode 100755 index 0000000..154e6e3 --- /dev/null +++ b/src/assets/imgs/hwf_bg.png Binary files differ diff --git a/src/assets/imgs/product_cl.png b/src/assets/imgs/product_cl.png new file mode 100755 index 0000000..6f2eaf0 --- /dev/null +++ b/src/assets/imgs/product_cl.png Binary files differ diff --git a/src/assets/imgs/product_xhzw.png b/src/assets/imgs/product_xhzw.png new file mode 100755 index 0000000..3a42030 --- /dev/null +++ b/src/assets/imgs/product_xhzw.png Binary files differ diff --git a/src/assets/imgs/product_xrw.png b/src/assets/imgs/product_xrw.png new file mode 100755 index 0000000..ce696e5 --- /dev/null +++ b/src/assets/imgs/product_xrw.png Binary files differ diff --git a/src/router/routes.js b/src/router/routes.js index 4868113..cdde9a4 100644 --- a/src/router/routes.js +++ b/src/router/routes.js @@ -7,189 +7,6 @@ */ const oldRouter = [ { - path: '/credit-installment', - name: 'credit-installment', - component:()=>import("@/views/old/store/credit-installment.vue") - }, - { - path: '/getQRCode', - name: 'getQRCode', - component:()=>import("@/views/old/store/getQRCode.vue") - - }, - //商户贴息 - { - path: '/hb-merchant-installment', - name: 'hb-merchant-installment', - component:()=>import("@/views/old/store/hb-merchant-installment.vue") - }, - { - path: '/hb-credit-installment', - name: 'hb-credit-installment', - component:()=>import("@/views/old/store/hb-credit-installment.vue") - }, - { - path: '/hb-contract', - name: 'hb-contract', - component:()=>import("@/views/old/store/hb-contract.vue") - }, - - { - path: '/hb-getHBQRCode', - name: 'hb-getHBQRCode', - component:()=>import("@/views/old/store/getHBQRCode.vue") - - }, - { - path: '/pay-result', - name: 'pay-result', - component:()=>import("@/views/old/store/pay-result.vue") - - }, - { - path: '/xyg-getXygHbQRCode', - name: 'hb-getHBQRCode', - component:()=>import("@/views/old/store/getXygHbQRCode.vue") - - }, - { - path: '/product/shtx-detail', - name: 'shtx-detail', - component:()=>import("@/views/product/shtx-detail.vue") - }, - { - path: '/shtx/staging', - name: 'shtx-staging', - component:()=>import("@/views/old/merchant/shtx/staging.vue") - }, - { - path: '/shtx-getShtxQRCode', - name: 'shtx-getShtxQRCode', - component:()=>import("@/views/old/store/getShtxQRCode.vue") - }, - { - path: '/order/shtx', - name: 'order-shtx', - component:()=>import("@/views/order/shtx.vue") - }, - { - path: '/mobile-installment', - name: 'mobile-installment', - component:()=>import("@/views/old/store/mobile/mobileInstallment.vue") - }, - { - path: '/mobile-submit-result', - name: 'mobile-submit-result', - component:()=>import("@/views/old/store/mobile/submitResult.vue") - }, - - - { - path: '/contract-installment', - name: 'contract-installment', - component:()=>import("@/views/old/store/contract/contractInstallment.vue") - }, - // 生成二维码 - { - path: '/contract-qrcode', - name: 'contract-qrcode', - component:()=>import("@/views/old/store/contract/contractQrcode.vue") - }, - { - path: '/lthyj-qrcode', - name: 'lthyj-qrcode', - component:()=>import("@/views/old/store/lthyjQrcode.vue") - }, - { - path: '/contract-order-upload/:orderId', - name: 'contract-order-upload', - props:true, - component:()=>import("@/views/old/store/contract/upload.vue") - }, - - - { - path: '/hrydset', - name: 'hryd_set', - component:()=>import("@/views/old/store/zxh/set.vue") - }, - { - path: '/hryd/upload/:orderId', //上传合约资料 - name: 'hryd_upload', - props: true, - component:()=>import("@/views/old/store/zxh/upload.vue") - }, - { - path: '/hryd/createcode', //生成二维码 - name: 'hryd_createcode', - props: true, - component:()=>import("@/views/old/store/zxh/createcode.vue") - }, - - { - path: '/xygset', - name: 'xyg_set', - component:()=>import("@/views/old/store/xyg/set.vue") - }, - { - path: '/xyg/upload/:orderId', //上传合约资料 - name: 'xyg_upload', - props: true, - component:()=>import("@/views/old/store/xyg/upload.vue") - }, - // { - // path: '/xyg/upload/', //上传合约资料 - // name: 'xyg_upload', - // props: true, - // component:()=>import("@/views/old/store/xyg/upload.vue") - // }, - { - path: '/xyg/mation', //花呗,储蓄卡信用购选择表页面 - name: 'xyg_mation', - props: true, - component:()=>import("@/views/old/store/xyg/xyg-mation.vue") - }, - { - path: '/xyg/xygHb', //信用购花呗办单页面 - name: 'xygHb', - props: true, - component:()=>import("@/views/old/store/xyg/xygHb.vue") - }, - { - path: '/xyg/list', //信用购列表页面 - name: 'xyg_list', - props: true, - component:()=>import("@/views/old/store/xyg/xygList.vue") - }, - { - path: '/xyg/createcode', //生成二维码 - name: 'xyg_createcode', - props: true, - component:()=>import("@/views/old/store/xyg/createcode.vue") - }, - { - path: '/gzzjset', - name: 'gzzj_set', - component:()=>import("@/views/old/store/gzzj/set.vue") - }, - { - path: '/gzzj/upload/:orderId', //上传合约资料 - name: 'gzzj_upload', - props: true, - component:()=>import("@/views/old/store/gzzj/upload.vue") - }, - { - path: '/gzzj/createcode', //生成二维码 - name: 'gzzj_createcode', - props: true, - component:()=>import("@/views/old/store/gzzj/createcode.vue") - }, - { - path:"/gzzj/gzzjQrCode", - name:'gzzj_qrCode', - component:()=>import("@/views/old/store/gzzj/gzzjQrCode.vue") - }, - { path: '/main/productManagement', // 商户-产品管理 name: 'productManagement', component: function(resolve) { @@ -203,358 +20,11 @@ require(['../views/old/merchant/hb-product'], resolve); } }, - - //选择通道 - { - path:'/channel-selection', - name:'channel-selection', - component(resolve) { - require(['@/views/old/store/channel-selection.vue'], resolve); - } - }, - - { - path:'/facepay/calcmoney', - name:'facepay_calcmoney', - component(resolve) { - require(['@/views/old/facepay/calcmoney.vue'], resolve); - } - }, - { - path:'/facepay/details', - name:'facepay_details', - component(resolve) { - require(['@/views/old/facepay/orderDetails.vue'], resolve); - } - }, - { - path:'/facepay/list', - name:'facepay_list', - component(resolve) { - require(['@/views/old/facepay/orderList.vue'], resolve); - } - }, - { - path:'/facepay/code', - name:'facepay_code', - component(resolve) { - require(['@/views/old/facepay/code.vue'], resolve); - } - }, - - ] -const old_merRouter = [ - { - path: '/ljcreditStaging', // 商户-信用卡分期 - name: 'ljcreditStaging', - component: function(resolve) { - require(['../views/old/merchant/lj/ljcreditStaging'], resolve); - } - }, - - { - path: '/creditStaging', // 商户-信用卡分期 - name: 'creditStaging', - component: function(resolve) { - require(['../views/old/merchant/creditStaging'], resolve); - } - }, - - { - path: '/tonglian/startOpen', // 开通通联通道页面 - name: 'tonglianStartOpen', - component: function(resolve) { - require(['../views/old/merchant/tonglian/startOpen'], resolve); - } - }, - { - path: '/tonglian/store-pictures', // 开通通联通道上传图片页面 - name: 'tonglianStorePictures', - component: function(resolve) { - require(['../views/old/merchant/tonglian/storePictures'], resolve); - } - }, - { - path: '/tonglian/open', // 确认开通通联通道页面 - name: 'tonglianOpen', - component: function(resolve) { - require(['../views/old/merchant/tonglian/open'], resolve); - } - }, - { - path: '/tonglian/open-result', // 开通通联通道开通结果页面 - name: 'tonglianOpenResult', - component: function(resolve) { - require(['../views/old/merchant/tonglian/openResult'], resolve); - } - }, - { - path: '/tonglian/verification', // - name: 'verification', - component: function(resolve) { - require(['../views/old/merchant/tonglian/verification'], resolve); - } - }, - { - path: '/tonglian/staging', // 开通通联通道开通信息页面 - name: 'tonglianStaging', - component: function(resolve) { - require(['../views/old/merchant/tonglian/staging'], resolve); - } - }, - { - path: '/tonglian/withdrawal', // 通联通道提现 - name: 'tonglianWithdrawal', - component: function(resolve) { - require(['../views/old/merchant/tonglian/withdrawal'], resolve); - } - }, - { - path: '/tonglian/withdrawal-history', // 通联通道提现纪录 - name: 'tonglianWithdrawalHistory', - component: function(resolve) { - require(['../views/old/merchant/tonglian/withdrawal-history'], resolve); - } - }, - { - path: '/tonglian/Withdrawal-result', // 通联通道提现结果 - name: 'tonglianWithdrawalResult', - component: function(resolve) { - require(['../views/old/merchant/tonglian/withdrawal-result'], resolve); - } - }, - { - path: '/huabei/open', // 开通花呗页面 - name: 'huaBeiOpen', - component: function(resolve) { - require(['../views/old/merchant/huabei/open'], resolve); - } - }, - { - path: '/huabei/alipay', // 开通花呗--选择支付宝账号页面 - name: 'huaBeiAlipay', - component: function(resolve) { - require(['../views/old/merchant/huabei/alipay'], resolve); - } - }, - { - path: '/huabei/store-pictures', // 开通花呗--门店相关照片上传 - name: 'huaBeiStorePictures', - component: function(resolve) { - require(['../views/old/merchant/huabei/storePictures'], resolve); - } - }, - { - path: '/huabei/open-result', // 开通花呗--审核结果 - name: 'huaBeiOpenResult', - component: function(resolve) { - require(['../views/old/merchant/huabei/openResult'], resolve); - } - }, - { - path: '/huabei/staging', // 花呗开通成功后-使用花呗分期时,填写详情页面 - name: 'huaBeiStaging', - component: function(resolve) { - require(['../views/old/merchant/huabei/staging'], resolve); - } - }, - { - path: '/huabei/staging_hbjl', // 花呗开通成功后-使用花呗分期时,填写详情页面 - name: 'huaBeiStaging_hbjl', - component: function(resolve) { - require(['../views/old/merchant/huabei/staging_hbjl'], resolve); - } - }, - { - path: '/huabei/staging_dmf', // 花呗开通成功后-使用花呗分期时,填写详情页面 - name: 'huaBeiStaging_dmf', - component: function(resolve) { - require(['../views/old/merchant/huabei/staging_dmf'], resolve); - } - }, - - { - path: '/gjzj/open', // 开通购机直降 - name: 'gjzjOpen', - component: function(resolve) { - require(['../views/old/merchant/gjzj/open'], resolve); - } - }, - { - path: '/gjzj/open-result', // 购机直降--审核结果 - name: 'gjzjOpenResult', - component: function(resolve) { - require(['../views/old/merchant/gjzj/openResult'], resolve); - } - }, - { - path: '/heyd/merOpen', // 开通海尔云贷 - name: 'heydMerOpen', - component: function(resolve) { - require(['../views/old/merchant/heyd/merOpen'], resolve); - } - }, - { - path: '/heyd/storeOpen', // 开通海尔云贷 - name: 'heydStoreOpen', - component: function(resolve) { - require(['../views/old/merchant/heyd/storeOpen'], resolve); - } - }, - { - path: '/heyd/mgrOpen', // 开通海尔云贷 - name: 'heydMgrOpen', - component: function(resolve) { - require(['../views/old/merchant/heyd/mgrOpen'], resolve); - } - }, - { - path: '/heyd/open-result', // 海尔云贷--审核结果 - name: 'heydOpenResult', - component: function(resolve) { - require(['../views/old/merchant/heyd/openResult'], resolve); - } - }, - { - path: '/xyg/merOpen', // 开通海尔云贷 - name: 'xygMerOpen', - component: function(resolve) { - require(['../views/old/merchant/xyg/merOpen'], resolve); - } - }, - { - path: '/xyg/storeOpen', // 开通海尔云贷 - name: 'xygStoreOpen', - component: function(resolve) { - require(['../views/old/merchant/xyg/storeOpen'], resolve); - } - }, - { - path: '/xyg/mgrOpen', // 开通海尔云贷 - name: 'xygMgrOpen', - component: function(resolve) { - require(['../views/old/merchant/xyg/mgrOpen'], resolve); - } - }, - { - path: '/xyg/open-result', // 海尔云贷--审核结果 - name: 'xygOpenResult', - component: function(resolve) { - require(['../views/old/merchant/xyg/openResult'], resolve); - } - }, - { - path: '/gzzj/merOpen', // 开通海尔云贷 - name: 'gzzjMerOpen', - component: function(resolve) { - require(['../views/old/merchant/gzzj/merOpen'], resolve); - } - }, - { - path: '/gzzj/storeOpen', // 开通海尔云贷 - name: 'gzzjStoreOpen', - component: function(resolve) { - require(['../views/old/merchant/gzzj/storeOpen'], resolve); - } - }, - { - path: '/gzzj/mgrOpen', // 开通海尔云贷 - name: 'gzzjMgrOpen', - component: function(resolve) { - require(['../views/old/merchant/gzzj/mgrOpen'], resolve); - } - }, - { - path: '/gzzj/open-result', // 海尔云贷--审核结果 - name: 'gzzjOpenResult', - component: function(resolve) { - require(['../views/old/merchant/gzzj/openResult'], resolve); - } - }, -] - -const APPRouter = [ - { - path: '/app/login', // app联登主页 - name: 'AppHome', - component: function(resolve) { - require(['../views/appLiandeng/login.vue'], resolve); - }, - meta:{ - isLogin:false - } - }, - { - path: '/app/home', // app联登主页 - name: 'AppHome', - component: function(resolve) { - require(['../views/appLiandeng/home.vue'], resolve); - } - }, - { - path: '/app/changeMer', - name: 'AppchangeMer', - component: function(resolve) { - require(['../views/appLiandeng/changeMer.vue'], resolve); - } - }, - { - path: '/app/choseVersion', - name: 'AppchoseVersion', - component: function(resolve) { - require(['../views/appLiandeng/choseVersion.vue'], resolve); - } - }, - { - path: '/app/shskVersionDetail', - name: 'AppshskVersionDetail', - component: function(resolve) { - require(['../views/appLiandeng/shskVersionDetail.vue'], resolve); - } - }, - { - path: '/app/zfbVersionDetail', - name: 'AppzfbVersionDetail', - component: function(resolve) { - require(['../views/appLiandeng/zfbVersionDetail.vue'], resolve); - } - }, - { - path: '/app/opening/startOpen', - name: 'AppopeningstartOpen', - component: function(resolve) { - require(['../views/appLiandeng/opening/startOpen.vue'], resolve); - } - }, - { - path: '/app/opening/fillingInfo', - name: 'AppopeningfillingInfo', - component: function(resolve) { - require(['../views/appLiandeng/opening/fillingInfo.vue'], resolve); - } - }, - { - path: '/app/opening/pictureUpload', - name: 'AppopeningpictureUpload', - component: function(resolve) { - require(['../views/appLiandeng/opening/pictureUpload.vue'], resolve); - } - }, - { - path: '/app/opening/openResult', - name: 'AppopeningopenResult', - component: function(resolve) { - require(['../views/appLiandeng/opening/openResult.vue'], resolve); - } - }, -] export default [ - ...old_merRouter, ...oldRouter, - ...APPRouter, // 用户中心 { path:"/", @@ -590,12 +60,6 @@ isLogin:false } }, - { - path:"/message", - name:'message', - component:()=>import("@/views/old/store/zxh/message.vue"), - }, - @@ -649,26 +113,6 @@ powerId: 100006, } }, - // { - // path: 'productManagement', // 商户-产品管理 - // name: 'productManagement', - // component: function(resolve) { - // require(['../views/old/merchant/productManagement'], resolve); - // }, - // meta:{ - // powerId: 100004, - // } - // },//hb-product - // { - // path: 'hb-product', // 花呗通道内产品管理 - // name: 'hb-product', - // component: function(resolve) { - // require(['../views/old/merchant/hb-product'], resolve); - // }, - // // meta:{ - // // powerId: 100004, - // // } - // }, ] }, { @@ -692,10 +136,6 @@ component:()=>import("@/views/mine/toggle-identity.vue") }, - - - - // 设置中心 - 路由 { path:"/mine/setting", name:'setting', @@ -707,153 +147,10 @@ component:()=>import("@/views/mine/setting/merchants-approval.vue") }, { - path:"/mine/red-envelopes", - name:'red-envelopes', - component:()=>import("@/views/mine/redEnvelopes/red-envelopes.vue") - },//红包账户 - { - path:"/mine/withdrawals", - name:'withdrawals', - component:()=>import("@/views/mine/redEnvelopes/withdrawals.vue") - },//红包提现 - - - - - // 产品管理 - 路由 - { - path:"/product/credit-detail", - name:'credit-detail', - component:()=>import("@/views/product/credit-detail.vue") - }, - { - path:"/product/dmf-detail", - name:'dmf-detail', - component:()=>import("@/views/product/dmf-detail.vue") - }, - { - path:"/product/hbjl-detail", - name:'hbjl-detail', - component:()=>import("@/views/product/hbjl-detail.vue") - }, - { - path:"/product/hb-detail", - name:'hb-detail', - component:()=>import("@/views/product/hb-detail.vue") - }, - { - path:"/product/xyg-hb-detail", - name:'xyg-hb-detail', - component:()=>import("@/views/product/xyg-hb-detail.vue") - }, - { - path:"/product/gjzj-detail", - name:'gjzj-detail', - component:()=>import("@/views/product/gjzj-detail.vue") - }, - { - path:"/product/zxh-detail", - name:'zxh-detail', - component:()=>import("@/views/product/zxh-detail.vue") - }, - { - path:"/product/xyg-detail", - name:'xyg-detail', - component:()=>import("@/views/product/xyg-detail.vue") - }, - { - path:"/product/gzzj-detail", - name:'gzzj-detail', - component:()=>import("@/views/product/gzzj-detail.vue") - }, - { - path:"/product/gzzj_order_detail_pics", - name:'gzzj_order_detail_pics', - component:()=>import("@/views/product/gzzj_order_detail_pics.vue") - }, - { - path:"/product/productMent", - name:'mer-productMent', - component:()=>import("@/views/mdyh/product/productMent.vue") - }, - { - path:"/product/lthyj-detail", - name:'lthyj-detail', - component:()=>import("@/views/product/lthyj-detail.vue") - }, - { path:"/product/wxScore-detail", name:'wxScore-detail', component:()=>import("@/views/product/wxScore-detail.vue") }, - //花呗合约套餐页面 - { - path:"/hbhy-installment", - name:'hbhy-installment', - component:()=>import("@/views/old/store/hbhy-installment.vue") - }, - //花呗合约机办理页面 - { - path:"/hbhy-detail", - name:'hbhy-detail', - component:()=>import("@/views/product/hbhy-detail.vue") - }, - { - path:"/product/facepay", - name:'facepay', - component:()=>import("@/views/product/facepay/facepay.vue") - }, - { - path:"/product/orderlist", - name:'orderlist', - component:()=>import("@/views/product/facepay/orderlist.vue") - }, - { - path:"/product/facepay-qrcode", - name:'facepay-qrcode', - component:()=>import("@/views/product/facepay/facepay-qrcode.vue") - }, - //支付宝拉新 - { - path:"/product/zfblx", - name:'zfblx', - component:()=>import("@/views/zfblx/lxLogin.vue"), - // children:[ - // { - // path: "lxexplain", - // name: "lxexplain", - // component:()=>import("@/views/zfblx/lxExplain.vue"), - // }, - // { - // path: "lxcode", - // name: "lxcode", - // component:()=>import("@/views/zfblx/lxCode.vue"), - // }, - // ] - }, - { - path:"/product/zfblx/lxexplain", - name:'lxexplain', - component:()=>import("@/views/zfblx/lxExplain.vue") - }, - { - path:"/product/zfblx/lxcode", - name:'lxcode', - component:()=>import("@/views/zfblx/lxCode.vue") - }, - //支付宝拉新订单 - { - path:"/order/lxOredr", - name:'lxOredr', - component:()=>import("@/views/zfblx/lxOrder.vue") - }, - //支付宝拉新订单详情 - { - path:"/order/lxOredrDetail", - name:'lxOredrDetail', - component:()=>import("@/views/zfblx/lxOrderDetail.vue") - }, - @@ -895,75 +192,10 @@ component:()=>import("@/views/mine/stores/stores-detail.vue") }, - - - - // 订单相关 - { - path:"/order/credit", - name:'order-credit', - component:()=>import("@/views/order/credit.vue") - }, - { - path:"/order/hb", - name:'order-hb', - component:()=>import("@/views/order/hb.vue") - }, { path:"/order/wxScore", name:'order-wxScore', component:()=>import("@/views/order/wxScore.vue") - }, - { - path:"/order/gzzj", - name:'order-wxScore', - component:()=>import("@/views/order/gzzj.vue") - }, - { - path:"/order/dmf", - name:'order-dmf', - component:()=>import("@/views/order/dmf.vue") - }, - { - path:"/order/hbjl", - name:'order-hbjl', - component:()=>import("@/views/order/hbjl.vue") - }, - { - path:"/order/gjzj", - name:'order-gjzj', - component:()=>import("@/views/order/gjzj.vue") - }, - { - path:"/order/phone", - name:'order-phone', - component:()=>import("@/views/order/phone.vue") - }, - { - path:"/order/zxh", - name:'order-zxh', - component:()=>import("@/views/order/zxh.vue") - }, - - { - path:"/order/xyg", - name:'order-xyg', - component:()=>import("@/views/order/xyg.vue") - }, - { - path:"/order/xyg-hb", - name:'order-xyg-hb', - component:()=>import("@/views/order/xyg-hb.vue") - }, - { - path:"/order/xyg-cx", - name:'order-xyg-cx', - component:()=>import("@/views/order/xyg-cx.vue") - }, - { - path:"/order/order-lthyj", - name:'order-lthyj', - component:()=>import("@/views/order/order-lthyj.vue") }, //和微分 { @@ -981,11 +213,6 @@ name:'wx-scoreResult', component:()=>import("@/views/old/store/wx-score-result.vue") }, - { - path:"/order/order-lthyj", - name:'order-lthyj', - component:()=>import("@/views/order/order-lthyj.vue") - }, // 账号管理 - 路由 { @@ -998,18 +225,6 @@ name:'account-add', component:()=>import("@/views/mine/account/account-add.vue") }, - - - - - - - { - path:"/relatedpictures", - name:'relatedpictures', - component:()=>import("@/views/relatedPictures.vue") - }, - { path:"/template/list", @@ -1032,121 +247,10 @@ name:'template_distribute', component:()=>import("@/views/template/distribute.vue") }, - - - //banner主要内容 - { - path:"/bannerContent", - name:'bannerContent', - component:()=>import("@/views/old/store/bannerContent/bannerContent.vue") - }, - - //逾期 - { - path:"/overdue", - name:'overdue', - component:()=>import("@/views/mdyh/overdue/overdue.vue"), - }, - { - path:"/ovderdueDetail", - name:'ovderdueDetail', - component:()=>import("@/views/mdyh/overdue/ovderdueDetail.vue"), - }, - //办单教程 - { - path:"/bdCourse", - name:'bdCourse', - component:()=>import("@/views/mdyh/bdjc/bdCourse.vue") - }, - //商户贴息 - { - path:"/shtx", - name:'shtx', - component:()=>import("@/views/mdyh/shtx/shtx.vue") - }, - //商户资料 - { - path:"/setting/mer-date", - name:'mer-date', - component:()=>import("@/views/mdyh/shtx/mer-date.vue") - }, - - // 花呗间联 - { - path:"/creat-hbjl", - name:'creat-hbjl', - component:()=>import("@/views/old/store/hbjl/creat-hbjl.vue") - }, - { - path:"/hbjl-qr", - name:'hbjl-qr', - component:()=>import("@/views/old/store/hbjl/hbjl-qr.vue") - }, - - { - path:"/hbcp", - name:'hbcp', - component:()=>import("@/views/old/store/hbcp.vue") - }, - // 云南联通合约机 - { - path:"/lthyj", - name:'lthyj', - component:()=>import("@/views/old/store/lthyj.vue") - }, - { - path:"/hbcp_sh", - name:'hbcp_sh', - component:()=>import("@/views/old/store/hbcp_sh.vue") - }, - { - path:'/channel-selection_sh', - name:'channel-selection_sh', - component(resolve) { - require(['@/views/old/store/channel-selection_sh.vue'], resolve); - } - }, - { - path:'/choose-payment-method', - name:'choose-payment-method', - component(resolve) { - require(['@/views/old/store/choose-payment-method.vue'], resolve); - } - }, - { - path:'/store-shsk', - name:'store-shsk', - component(resolve) { - require(['@/views/old/store/shsk/shsk.vue'], resolve); - } - }, - { - path:'/getShskQRCode', - name:'getShskQRCode', - component(resolve) { - require(['@/views/old/store/getShskQRCode.vue'], resolve); - } - }, - { - path:'/shsk-payResult', - name:'shsk-payResult', - component(resolve) { - require(['@/views/old/store/shsk/payResult.vue'], resolve); - } - }, { path:'/loginByWx', name:'login-by-wx', component:()=>import("@/views/user/loginByWx.vue"), - // meta:{ - // isLogin:false, - // isOpenId:true - // } - }, - { - path:'/supplement', - name:'supplement', - component:()=>import("@/views/user/supplement.vue"), // meta:{ // isLogin:false, // isOpenId:true diff --git a/src/store/index.js b/src/store/index.js index 8a462f1..39b336e 100644 --- a/src/store/index.js +++ b/src/store/index.js @@ -228,7 +228,7 @@ icon: 'iconshuju_h', Aicon: 'iconshuju', label: '数据', - path: '/main/home' + path: '/order/wxScore' }, { powerId: 100003, @@ -293,15 +293,7 @@ console.log(userPage) - //增加消息tabbar - if (orgType != 1 && orgType != 2) - footernav.push({ - powerId: 300000, - icon: 'iconxiaoxi_h', - Aicon: 'iconxiaoxi', - label: '消息', - path: '/main/message' - }) + if (orgType == 1 || orgType == 3 || orgType == 2) { footernav.unshift({ powerId: 100006, diff --git a/src/text.vue b/src/text.vue deleted file mode 100644 index 59880c5..0000000 --- a/src/text.vue +++ /dev/null @@ -1,27 +0,0 @@ -<template> - <div> - <van-popup v-model="ShowAgreen"> - <div class="agreenBox"> - <div class="agreen-html"> - - </div> - <div class="close-agreen" @click="ShowAgreen = false"> - <van-icon name="close" /> - </div> - </div> - </van-popup> - </div> -</template> -<script> - export default { - data () { - return { - ShowAgreen:true - } - } - } - -</script> -<style lang="less" scoped> - -</style> \ No newline at end of file diff --git a/src/views/JSX_Demo.vue b/src/views/JSX_Demo.vue deleted file mode 100644 index f5699af..0000000 --- a/src/views/JSX_Demo.vue +++ /dev/null @@ -1,67 +0,0 @@ -<script> -import {mapState} from 'vuex'; -import Test from '@/components/Test'; -export default { - data() { - return { - com:'Test', - isShow:false, - arrs:[ - <Test a='aaa'></Test>, - <Test a='bbb'></Test> - ], - dom:<h1 onClick={this.click}>点我 改变test dom</h1> - } - }, - computed:{ - ...mapState(["message"]) - }, - components:{ - Test - }, - methods:{ - click(){ - this.dom = <h3>我变成了 h3~</h3> - }, - test(){ - return new Promise((resolve,reject)=>{ - setTimeout(() => { - resolve('test'); - }, 2000); - }) - }, - chengeArrs(){ - setTimeout(() => { - this.isShow = true; - this.arrs.reverse(); - console.log(11) - // [].reverse() - }, 500); - } - }, - created(){ - this.chengeArrs(); - }, - render(){ - if(this.isShow){ - return ( - <div> - {this.arrs} - {this.dom} - <h2 class="test1">{this.message}</h2> - </div> - ) - }else{ - return - } - } -} -</script> - -<style lang="less" scoped> -.test1{ - color: @c-white; - padding: 15px; - background-color: @c-pink; -} -</style> diff --git a/src/views/appLiandeng/changeMer.vue b/src/views/appLiandeng/changeMer.vue deleted file mode 100644 index 4d940d8..0000000 --- a/src/views/appLiandeng/changeMer.vue +++ /dev/null @@ -1,118 +0,0 @@ -<!-- - * @Author: 小明丶 - * @Date: 2020-12-29 09:53:52 - * @LastEditors: 小明丶 - * @LastEditTime: 2021-01-05 17:53:43 - * @Description: App切换商户 ---> -<template> - <div class="change-mer"> - <van-nav-bar - left-arrow - left-text="返回" - @click-left="onClickLeft" - > - <div slot="title"> - <h4>切换商户</h4> - </div> - </van-nav-bar> - <div class="mer-list"> - <ul class="list"> - <van-radio-group v-model="radio"> - <li class="item" v-for="item in merList" :key="item.id"> - <div class="left"> - <p>{{ item.orgName }}</p> - <p>创建时间:{{ item.creTime | timeformat('yyyy-MM-dd')}}</p> - </div> - <div class="right"> - <van-radio :name="item.id"></van-radio> - </div> - </li> - </van-radio-group> - </ul> - </div> - <div class="btn-box"> - <button class="btn" @click="changeMer">确认切换</button> - </div> - </div> -</template> -<script> -import { mapMutations } from 'vuex'; -export default { - data() { - return { - merList: [], - radio: "", - }; - }, - created() { - this.radio = this.$store.state.userinfo.id - this.$api.getAgencyMerList().then(res=>{ - this.merList = res.body.merchantList - }) - }, - methods: { - ...mapMutations(['SET_USER_INFO']), - onClickLeft() { - this.$router.go(-1); - }, - changeMer(){ - this.$api.getPowerInfo(this.radio).then(res=>{ - this.SET_USER_INFO(res.body); - this.$router.push('/app/home') - }) - } - }, -}; -</script> -<style lang="less" scoped> -.change-mer { - & { - min-height: 100vh; - background: #fafafa; - } - .mer-list { - width: 100%; - height: 80vh; - box-sizing: border-box; - padding: 10px 15px; - overflow: scroll; - } - .mer-list::-webkit-scrollbar {display:none} - .item { - height: 60px; - background: #fff; - width: 100%; - padding: 0 10px; - box-sizing: border-box; - display: flex; - justify-content: space-between; - align-items: center; - margin-bottom: 10px; - } - .left > p:nth-of-type(1) { - font-size: 16px; - font-weight: 550; - margin-bottom: 8px; - } - .left > p:nth-of-type(2) { - font-size: 12px; - color: #999; - } - .btn-box{ - position: fixed; - bottom: 20px; - text-align: center; - width: 100%; - .btn{ - width: 320px; - height: 44px; - background: #896EDB; - border-radius: 22px; - outline: none; - border: 0; - color:#fff; - } - } -} -</style> \ No newline at end of file diff --git a/src/views/appLiandeng/choseVersion.vue b/src/views/appLiandeng/choseVersion.vue deleted file mode 100644 index 454e88b..0000000 --- a/src/views/appLiandeng/choseVersion.vue +++ /dev/null @@ -1,147 +0,0 @@ -<!-- - * @Author: 小明丶 - * @Date: 2020-12-29 11:35:46 - * @LastEditors: 小明丶 - * @LastEditTime: 2021-01-05 17:49:40 - * @Description: ---> -<template> - <div class="chose-mer"> - <van-nav-bar - left-arrow - left-text="返回" - @click-left="onClickLeft" - > - <div slot="title"> - <h4>选择通道</h4> - </div> - </van-nav-bar> - <div class="proudct-box"> - <div class="list-box" v-for="(e,i) in list" :key="i" @click="goNext(e)" v-show="e.zfbVersion !== 5"> <!-- v-show="e.zfbVersion !== 1 && e.zfbVersion !== 4" --> - <img :src="e.icon" alt=""> - <p>{{e.typeName}}</p> - <div class="tip-box" :style="e.openStatus==0?{background:'#F2F2F2'}:e.openStatus==1?{background:'#FFF5D9'}:e.openStatus==2?{background:'#E3FAEF'}:e.openStatus==3?{background:'#FCF0F0'}:''"> - <p v-if="e.openStatus==2" style="color:#19BE6B;">已开通</p> - <p v-if="e.openStatus==1" style="color:#FFC421;">开通中</p> - <p v-if="e.openStatus==3" style="color:#FF6666;">未通过</p> - <p v-if="e.openStatus==0" style="color:#999999;">未开通</p> - </div> - - </div> - </div> - </div> -</template> -<script> -export default { - data() { - return { - list:[], - } - }, - computed:{ - prodId(){ - return Number(this.$route.query.prodId) - } - }, - mounted(){ - this.$api.prodZfbVersion({prodId:this.prodId}).then(res=>{ - this.list = res.body - }) - }, - methods:{ - onClickLeft(){ - this.$router.go(-1) - }, - goNext(e){ - let path,obj={}; - obj.title = e.typeName; - obj.zfbVersion = e.zfbVersion; - obj.isApp = 1; - if(e.zfbVersion == 5){ - switch(e.openStatus){ - case 0: - path='/tonglian/startOpen'; - break; - case 1: - path="/tonglian/open-result"; - break; - case 2: - this.$route.query.prodId == 30000003?path="/app/zfbVersionDetail":path="/app/shskVersionDetail"; - break; - } - }else{ - switch(e.openStatus){ - case 0: - path='/huabei/open'; - break; - case 1: - path="/huabei/open-result"; - break; - case 2: - this.$route.query.prodId == 30000003?path="/app/zfbVersionDetail":path="/app/shskVersionDetail"; - break; - } - } - - - this.$router.push({ - path:path, - query:{ - ...obj, - ...this.$route.query - } - }) - } - } -} -</script> -<style lang="less" scoped> -.chose-mer{ - &{ - min-height: 100vh; - background: #fafafa; - } - .proudct-box{ - width: 359px; - margin: auto; - margin-top: 10px; - box-sizing: border-box; - padding:16px 0; - // display: flex; - // justify-items: space-between; - background: #fff; - .list-box{ - display: inline-block; - position: relative; - width: 115px; - height: 90px; - box-shadow:0px 0px 15px 0px rgba(66,61,93,0.08); - border-radius:8px; - margin: 16px 31px 16px 31px; - text-align: center; - box-sizing: border-box; - padding: 14px 0 18px 0; - img{ - width: 42px; - height: 42px; - } - p{ - font-size: 13px; - color: #333; - } - .tip-box{ - position: absolute; - width:45px; - height:16px; - line-height: 16px; - border-radius:8px 0px 0px 8px; - top: 7px; - right: 0; - p{ - font-size: 10px; - } - } - } - } -} -</style> \ No newline at end of file diff --git a/src/views/appLiandeng/home.vue b/src/views/appLiandeng/home.vue deleted file mode 100644 index 055e01d..0000000 --- a/src/views/appLiandeng/home.vue +++ /dev/null @@ -1,208 +0,0 @@ -<!-- - * @Author: 小明丶 - * @Date: 2020-12-29 09:42:04 - * @LastEditors: 小明丶 - * @LastEditTime: 2021-01-08 11:17:00 - * @Description:APP联登主页 ---> -<template> - <div class="APP-home"> - <van-nav-bar - right-text="切换商户" - @click-right="onClickRight" - > - <div slot="title"> - <h4 class="title-span">{{$store.state.userinfo.orgName}}</h4> - </div> - </van-nav-bar> - <div class="producat"> - <ul class="list"> - <li - class="item" - v-for="item in list" - :key="item.prodId" - @click="goNext(item)" - > - <img :src="item.icon" alt="商品图" v-if="item.prodId === 30000008"/> - <i v-else class="iconfont iconhuabei"></i> - <p>{{ item.typeName }}</p> - </li> - </ul> - <div class="no-data" v-if="list.length === 0"> - <div> - <img class="no-data-pic" src="../../assets/imgs/nodata.png" alt="暂无产品"> - <p>暂无产品</p> - </div> - </div> - </div> - <button class="btn" @click="goBack" v-show="hasurl">返回首页</button> - </div> -</template> -<script> -export default { - data() { - return { - proList: [], - shskHasOpen:false, - url:'' - }; - }, - computed:{ - list(){ - return this.proList.map(item=>{ - if(item.prodId == 30000003){ - item.typeName = '花呗分期' - } - return item - }) - }, - hasurl(){ - console.log(typeof this.url) - // if(this.url != 'undefined' && this.url){ - if(typeof this.url == 'string' && this.url != 'null'){ - - return true; - }else{ - return false; - } - } - }, - created(){ - this.url = sessionStorage.backUrl; - }, - mounted(){ - this.$api.prodManagerInit().then(res=>{ - res.body.prodTypeRespVoList2.forEach(item=>{ - if (item.prodId == 30000003 || item.prodId == 30000008 ){ - this.proList.push(item) - } - }) - }) - }, - methods: { - onClickRight() { - this.$router.push({ - path: "/app/changeMer" - }); - }, - goNext(item) { - if(item.prodId == 30000003){ - this.$router.push({ - path: "/app/choseVersion", - query: { - prodId: item.prodId, - typeId: item.typeId - }, - }); - }else{ - this.$api.prodZfbVersion({prodId:item.prodId}).then(res=>{ - let list = res.body; - for(let i = 0; i < list.length; i++){ - if(list[i].zfbVersion == 3 && list[i].openStatus == 2){ - this.$router.push({ - path:'/app/shskVersionDetail', - query:{ - prodId: item.prodId, - typeId: item.typeId, - isApp: 1, - zfbVersion: 3, - title: '商户收款' - } - }) - }else if(list[i].zfbVersion == 3 && list[i].openStatus == 0){ - this.$router.push({ - path:'/huabei/open', - query:{ - prodId: item.prodId, - typeId: item.typeId, - isApp: 1, - zfbVersion: 3, - title: '商户收款' - } - }) - }else if(list[i].zfbVersion == 3 && list[i].openStatus == 1){ - this.$router.push({ - path:'/huabei/open-result', - query:{ - prodId: item.prodId, - typeId: item.typeId, - isApp: 1, - zfbVersion: 3, - title: '商户收款' - } - }) - } - } - }) - } - }, - goBack(){ - location.href = sessionStorage.backUrl - } - }, -}; -</script> -<style lang="less" scoped> -.APP-home { - & { - min-height: 100vh; - background: #fafafa; - } - .title-span{ - display: inline-block; - width: 200px; - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; - } - .producat { - width: 340px; - margin: auto; - margin-top: 10px; - border-radius: 15px; - background: #fff; - padding: 20px 0; - } - .list { - display: flex; - justify-content: space-between; - } - .item { - text-align: center; - width: 49%; - img { - width: 60px; - height: 60px; - } - } - .btn { - width: 320px; - height: 44px; - background: #896edb; - border-radius: 22px; - outline: none; - border: 0; - position: fixed; - bottom: 30px; - left: 50%; - transform: translateX(-50%); - color: #fff; - } - .no-data{ - display: flex; - justify-content: center; - div{ - text-align: center; - } - } - .no-data-pic{ - width: 80px; - height: 80px; - margin-bottom: 10px; - } - .iconhuabei{ - font-size: 55px; - color: rgb(16, 143, 234); - } -} -</style> \ No newline at end of file diff --git a/src/views/appLiandeng/login.vue b/src/views/appLiandeng/login.vue deleted file mode 100644 index 33aeafd..0000000 --- a/src/views/appLiandeng/login.vue +++ /dev/null @@ -1,7 +0,0 @@ -<!-- - * @Author: 小明丶 - * @Date: 2021-01-04 09:45:06 - * @LastEditors: 小明丶 - * @LastEditTime: 2021-01-04 09:45:06 - * @Description: ---> diff --git a/src/views/appLiandeng/opening/fillingInfo.vue b/src/views/appLiandeng/opening/fillingInfo.vue deleted file mode 100644 index 2d9ac02..0000000 --- a/src/views/appLiandeng/opening/fillingInfo.vue +++ /dev/null @@ -1,7 +0,0 @@ -<!-- - * @Author: 小明丶 - * @Date: 2020-12-29 09:57:20 - * @LastEditors: 小明丶 - * @LastEditTime: 2020-12-29 09:57:21 - * @Description: ---> diff --git a/src/views/appLiandeng/opening/openResult.vue b/src/views/appLiandeng/opening/openResult.vue deleted file mode 100644 index 2196ebc..0000000 --- a/src/views/appLiandeng/opening/openResult.vue +++ /dev/null @@ -1,7 +0,0 @@ -<!-- - * @Author: 小明丶 - * @Date: 2020-12-29 09:58:21 - * @LastEditors: 小明丶 - * @LastEditTime: 2020-12-29 09:58:22 - * @Description: ---> diff --git a/src/views/appLiandeng/opening/pictureUpload.vue b/src/views/appLiandeng/opening/pictureUpload.vue deleted file mode 100644 index f2a6b05..0000000 --- a/src/views/appLiandeng/opening/pictureUpload.vue +++ /dev/null @@ -1,7 +0,0 @@ -<!-- - * @Author: 小明丶 - * @Date: 2020-12-29 09:58:08 - * @LastEditors: 小明丶 - * @LastEditTime: 2020-12-29 09:58:09 - * @Description: ---> diff --git a/src/views/appLiandeng/opening/startOpen.vue b/src/views/appLiandeng/opening/startOpen.vue deleted file mode 100644 index 8a7fa98..0000000 --- a/src/views/appLiandeng/opening/startOpen.vue +++ /dev/null @@ -1,7 +0,0 @@ -<!-- - * @Author: 小明丶 - * @Date: 2020-12-29 09:57:09 - * @LastEditors: 小明丶 - * @LastEditTime: 2020-12-29 09:57:09 - * @Description: ---> diff --git a/src/views/appLiandeng/shskVersionDetail.vue b/src/views/appLiandeng/shskVersionDetail.vue deleted file mode 100644 index 127b550..0000000 --- a/src/views/appLiandeng/shskVersionDetail.vue +++ /dev/null @@ -1,64 +0,0 @@ -<!-- - * @Author: 小明丶 - * @Date: 2020-12-29 09:55:28 - * @LastEditors: 小明丶 - * @LastEditTime: 2021-01-05 17:50:09 - * @Description: ---> -<template> - <div class="shsk-detail"> - <van-nav-bar - left-arrow - fixed - left-text="返回" - @click-left="onClickLeft" - > - <div slot="title"> - <h4>{{$route.query.title}}</h4> - </div> - </van-nav-bar> - <van-cell-group> - <van-cell v-for="item in list" :key="item.payMethodName" title="支付费率" :value="item.fee+'%'" /> - </van-cell-group> - </div> -</template> -<script> -export default { - data() { - return { - list:[], - } - }, - mounted(){ - this.$api.merPayInfo({ - zfbVersion:this.zfbVersion, - prodId:this.prodId - }).then(res=>{ - this.list = res.body.payMethods || [] - }) - }, - computed:{ - typeName(){ - return this.$route.query.name - }, - zfbVersion(){ - return Number(this.$route.query.zfbVersion) - }, - prodId(){ - return Number(this.$route.query.prodId) - } - }, - methods:{ - onClickLeft(){ - this.$router.go(-1) - } - } -} -</script> -<style lang="less" scoped> -.shsk-detail{ - min-height: 100vh; - background: #fafafa; - padding-top: 54px; -} -</style> \ No newline at end of file diff --git a/src/views/appLiandeng/zfbVersionDetail.vue b/src/views/appLiandeng/zfbVersionDetail.vue deleted file mode 100644 index 8a17d2e..0000000 --- a/src/views/appLiandeng/zfbVersionDetail.vue +++ /dev/null @@ -1,152 +0,0 @@ -<!-- - * @Author: 小明丶 - * @Date: 2020-12-29 09:54:37 - * @LastEditors: 小明丶 - * @LastEditTime: 2021-01-05 14:28:29 - * @Description: ---> -<template> - <div class="zfb-detail"> - <van-nav-bar - left-arrow - left-text="返回" - @click-left="onClickLeft" - > - <div slot="title"> - <h4>{{$route.query.title}}</h4> - </div> - </van-nav-bar> - <div class="info-box-bottom"> - <div class="rate-title">用户付息</div> - <div class="item"> - <span>期数</span> - <span>支付费率</span> - <span>分期利率</span> - </div> - <div class="item" v-for="item in list" :key="item.trem"> - <span>{{item.termName}}</span> - <span>{{$route.query.zfbVersion == 6?'0.38%':'0%'}}</span> - <span>{{item.rate}}%</span> - </div> - </div> - <div class="info-box-bottom"> - <div class="rate-title">商户贴息</div> - <div class="item"> - <span>期数</span> - <span>支付费率</span> - <span>分期利率</span> - </div> - <div class="item" v-for="item in list2" :key="item.trem"> - <span>{{item.termName}}</span> - <span>{{$route.query.zfbVersion == 6?'0.38%':'0%'}}</span> - <span>{{item.rate}}%</span> - </div> - </div> - </div> -</template> -<script> -export default { - data() { - return { - list:[], - list2:[] - }; - }, - computed:{ - typeName(){ - return this.$route.query.typeName - }, - zfbVersion(){ - return Number(this.$route.query.zfbVersion) - }, - prodId(){ - return Number(this.$route.query.prodId) - } - }, - created() { - this.$api.merPayInfo({ - zfbVersion:this.zfbVersion, - prodId:this.prodId - }).then(res=>{ - this.list = res.body.prodBaseTermInfVo || [] - }) - this.$api.merPayInfo({ - zfbVersion:this.zfbVersion, - prodId:30000010 - }).then(res=>{ - this.list2 = res.body.prodBaseTermInfVo || [] - }) - }, - methods:{ - onClickLeft(){ - this.$router.go(-1) - }, - } -}; -</script> -<style lang="less" scoped> -.zfb-detail { - & { - min-height: 100vh; - background: #fafafa; - } - .info-box-bottom { - margin-top: 20px; - box-sizing: border-box; - padding: 0 17px 20px 17px; - position: relative; - background-color: #fff; - .left-cr { - position: absolute; - width: 14px; - height: 14px; - border-radius: 50%; - background: #f5f5f7; - top: -7px; - left: -7px; - } - .right-cr { - position: absolute; - width: 14px; - height: 14px; - border-radius: 50%; - background: #f5f5f7; - top: -7px; - right: -7px; - } - .rate-title { - padding: 20px 0 0 0; - font-size: 14px; - color: #999999; - font-weight: normal; - line-height: 1.6; - } - } - - .item { - width: 100%; - margin-top: 5px; - padding: 0 10px; - box-sizing: border-box; - display: inline-block; - background: rgba(249, 247, 252, 1); - height: 40px; - line-height: 40px; - display: flex; - justify-content: space-around; - span { - text-align: center; - display: inline-block; - } - span:nth-child(1) { - width: 15%; - } - span:nth-child(2) { - width: 40%; - } - span:nth-child(3) { - width: 45%; - } - } -} -</style> \ No newline at end of file diff --git a/src/views/main/product.vue b/src/views/main/product.vue index 52c9544..b47345a 100644 --- a/src/views/main/product.vue +++ b/src/views/main/product.vue @@ -101,7 +101,7 @@ alert("codeId:"+codeId); if(codeId == undefined) { var strUrl = "https://open.weixin.qq.com/connect/oauth2/authorize?appid=" + "wx594ab33e0466eccf" + - "&redirect_uri=" + "https%3a%2f%2fsie.jycash.cn%2fsib_wx_scorec%2f%23%2f" + "&response_type=code&scope=snsapi_userinfo" + "#wechat_redirect"; + "&redirect_uri=" + "https%3a%2f%2fsie.jycash.cn%2fsib_wx_scored%2f%23%2f" + "&response_type=code&scope=snsapi_userinfo" + "#wechat_redirect"; window.location.href = strUrl; }else if(openId == undefined){ this.$api.getWeChatUserInfo({"code":codeId}).then( diff --git a/src/views/mdyh/bdjc/bdCourse.vue b/src/views/mdyh/bdjc/bdCourse.vue deleted file mode 100644 index 77fd7be..0000000 --- a/src/views/mdyh/bdjc/bdCourse.vue +++ /dev/null @@ -1,290 +0,0 @@ - -<template> - <div class="getQRCode"> - <!-- <x-header class="message-head" :title="courseName" :left-options="{backText:''}"></x-header> --> - <v-navbar :title="courseName" fixed ></v-navbar> - <!-- 视频窗口 v-if="playerOptions.sources[0].src"--> - <div style="margin-top: 40px" > - <video-player class="video-player vjs-custom-skin" - ref="videoPlayer" - :playsinline="true" - :options="playerOptions" - v-if="playerOptions.sources[0].src" - ></video-player> - </div> - <!-- 选项卡 --> - <div class="table-active"> - <van-tabs v-model="active" color="#896EDB" title-active-color="#896EDB" line-width="24px"> - <van-tab title="操作教程"> - <div class="course-text-c"> - <div v-for="item in sum" class="course-text-c-img"> - <img :src="`${imgUrl}${fileName}${item}.png`" alt=""> - </div> - </div> - </van-tab> - <van-tab title="常见问题"> - <van-collapse v-model="activeNames"> - <div v-if="sum != 9"> - <van-collapse-item v-for="(item, index) in questionList"> - <div class="question-title" slot="title">{{item.title}}</div> - <div class="course-text" v-if="index == 1" slot="default"> - <p class="course-text-item" v-for="it in specialQueList">{{it.course}}</p> - </div> - <div class="course-text" v-if="index == 11" slot="default"> - <p class="course-text-item" v-for="el in specialQueList">{{el.course2}}</p> - </div> - <div class="course-text" v-if="index != 1 && index != 11" slot="default"> - <p class="course-text-item">{{item.course}}</p> - </div> - </van-collapse-item> - </div> - <div v-if="sum == 9"> - <van-collapse-item v-for="(item, index) in questionList"> - <div class="question-title" slot="title">{{item.title}}</div> - <div class="course-text" v-if="index == 6" slot="default"> - <p class="course-text-item" v-for="it in specialQueList">{{it.course}}</p> - </div> - <div class="course-text" v-if="index != 6" slot="default"> - <p class="course-text-item">{{item.course}}</p> - </div> - </van-collapse-item> - </div> - </van-collapse> - </van-tab> - </van-tabs> - </div> - </div> -</template> -<script> -import { XHeader } from 'vux'; -import {dateFormat} from 'vux'; -import Vue from 'vue'; -import { - Tab, - Tabs, - Collapse, - CollapseItem -} from 'vant'; -import { videoPlayer } from 'vue-video-player' -import 'video.js/dist/video-js.css' -import '../../../style/myVideo' -import { NavBar } from "vant"; - -Vue.use(NavBar); -Vue.use(Tab).use(Tabs); -Vue.use(Collapse).use(CollapseItem); - export default { - name: 'message', - components: { - XHeader, - videoPlayer - }, - data() { - return { - sum: Number(this.$route.query.sum), - fileName: this.$route.query.fileName, - imgUrl: 'https://t.finlean.com/czjc/img/sib_merao/', - specialQueList:[], //特殊格式的常见问题 - active: 2, - activeNames: ['1'], - questionList: [], - courseName: this.$route.query.courseName, - // 视频播放初始化 - playerOptions : { - playbackRates: [0.7, 1.0, 1.5, 2.0], //播放速度 - autoplay: false, //如果true,浏览器准备好时开始回放。 - muted: false, // 默认情况下将会消除任何音频。 - loop: false, // 导致视频一结束就重新开始。 - preload: 'auto', // 建议浏览器在<video>加载元素后是否应该开始下载视频数据。auto浏览器选择最佳行为,立即开始加载视频(如果浏览器支持) - language: 'zh-CN', - aspectRatio: '16:9', // 将播放器置于流畅模式,并在计算播放器的动态大小时使用该值。值应该代表一个比例 - 用冒号分隔的两个数字(例如"16:9"或"4:3") - fluid: true, // 当true时,Video.js player将拥有流体大小。换句话说,它将按比例缩放以适应其容器。 - sources: [{ - src: '', // 路径 - type: 'video/mp4' // 类型 - }, - // { - // src: '//path/to/video.webm', - // type: 'video/webm' - // } - ], - // poster: "../../static/images/test.jpg", //你的封面地址 - width: document.documentElement.clientWidth, - notSupportedMessage: '此视频暂无法播放,请稍后再试', //允许覆盖Video.js无法播放媒体源时显示的默认信息。 - controlBar: { - timeDivider: true, - durationDisplay: true, - remainingTimeDisplay: false, - fullscreenToggle: true //全屏按钮 - } - } - } - }, - created() { - this. bdCourseInit() - }, - methods: { - bdCourseInit() { - this.$nextTick(() => { - // this.playerOptions.sources[0].src = "http://vjs.zencdn.net/v/oceans.mp4"; - }) - this.questionList = [ - { - title: "名称不匹配(支付宝账号和商户名不一致",course: "检查支付宝账号与支付宝名称是否与法人信息一致,个体户的支付宝账号的支付宝名称应为法人姓名。企业支付宝名称应为营业执照名称。" - },{ - title: "未能通过工商校验,请检查身份信息正确性",course: "1.确认收款账号和收款名称是不是对的(企业商户只能填写企业支付宝账号,个体工商户填写法人的) 2.确认营业执照编码和营业执照名称是否与营业执照一致。3.确认法人身份证号码是否是正确的 4.确认商户类型是否选择正确。 5.检查填写的法人身份证号和法人姓名是否与法人真实信息一致。" - },{ - title: "支付宝账号不存在",course: "检查支付宝账号是否填写错误,重新填写资料提交。" - },{ - title: "区码非法",course: "商户录入的省市区和支付宝那边的区码不一致,提供商户名称给技术处理。" - },{ - title: "签约失败(存在风险)",course: "出现此提示的原因是该商户未能通过支付宝的风控系统核查,暂无解决办法。" - },{ - title: "唯一键被占用",course: "商户已经用同一个营业执照注册过账号,不需要重新注册。上报代理查询已通过账号切换到第一次注册的账号。" - },{ - title: "交易结算异常、二级商户支付宝账号不存在",course: "https://docs.open.alipay.com/58/103544根据网址的教程使用(花呗分期收款支付宝账号)登录查询pid,将商户名称和Pid提交处理。" - },{ - title: "ALIN39446 ALIN43812 ALIN43791 ALIN43798 ALIN39423 ALIN39425 ALI39448",course: "为了确保资金安全,系统会综合评估用户的使用场景,如果当下无法使用花呗支付,建议您更换其他付款方式,如果用户表示就一定要用花呗,可以建议用户更换商家尝试或者第二天再尝试使用花呗支付。" - },{ - title: "花呗分期交易时的资金流是如何变动的",course: "创建并支付时,花呗分期账户一次性将订单全额结算至商户收款账户。如果商户贴息,花呗一次性将商户承担的手续费全部从商户收费账户扣除。用户每期还款时,资金(本金+用户承担手续费)由用户账户结算至花呗账户。" - },{ - title: "花呗分期退手续费遵循什么原则",course: "商户承担手续费,自交易发生后15天内发生退款,花呗全额退手续费,15天后不退手续费。 用户已经支付的手续费一概不退,未支付的手续费,如果已经出了账单则不能退,未出账单的,根据退款金额按比例减免。。" - },{ - title: "报错“花呗分期暂不可用,你可以使用其他付款方式继续支付或稍后重试” 怎么办",course: "导致该报错的原因可能是:用户没有花呗额度;用户花呗额度不足;该笔交易被判定为高风险交易。用户此时可以选择其它付款方式唤起支付宝收银台继续支付。" - },{ - title: "花呗分期如何还款?",course: "花呗分期的账单与花呗账单在一起,每个月出账日计算当月应还金额,用户需在当月还款日之前将应还金额还清;还款方式支持系统自动扣款与用户主动还款两种:系统自动扣款:在还款日当天,系统发起自动扣款,会从用户余额、支付宝绑定借记卡、余额宝依次进行扣款,请保证支付宝金额充足;用户主动还款:用户可以登录支付宝-蚂蚁花呗,进行账单主动还款。" - } - ] - this.specialQueList = [ - { - course:'1.确认收款账号和收款名称是不是对的(企业商户只能填写企业支付宝账号,个体工商户填写法人的)', - }, - { - course:'2.确认营业执照编码和营业执照名称是否与营业执照一致。' - }, - { - course:'3.确认法人身份证号码是否是正确的。' - }, - { - course:'4.确认商户类型是否选择正确。' - }, - { - course:'5.检查填写的法人身份证号和法人姓名是否与法人真实信息一致。' - }, - { - course2:'花呗分期的账单与花呗账单在一起,每个月出账日计算当月应还金额,用户需在当月还款日之前将应还金额还清;' - }, - { - course2:'还款方式支持系统自动扣款与用户主动还款两种' - }, - { - course2:'系统自动扣款:在还款日当天,系统发起自动扣款,会从用户余额、支付宝绑定借记卡、余额宝依次进行扣款,请保证支付宝金额充足;' - }, - { - course2:'用户主动还款:用户可以登录支付宝-蚂蚁花呗,进行账单主动还款。' - }, - ] - if(this.sum == 9) { - this.questionList = [ - { - title: '资方审核需要多长时间?', - course: '30秒左右;', - }, - { - title: '用户办单过程中资料填写错误或合约选择错误能否重新办单?', - course: '在商户上传合约凭证及合约手机号之前,用户可重新扫码办理订单,之前的订单系统会自动取消;', - }, - { - title: '若用户想要退货,是否有条件限制?', - course: '只要用户在放款成功7个自然日之前与商户协商达成一致,商户可在商户后台发起退货申请,发起后需当天把结算款结算至资方指定银行账户,资方确认收到结算款后受理退货;若商户当天未把结算款结算至资方指定银行账户,资方会拒绝退货申请;', - }, - { - title: '用户办单完成后后续如何还款?', - course: '用户每月20号以前需根据合约资费充值话费,若用户当月未充值话费,资方会从每月27日开始向用户银行卡代扣当月应还本金及利息;', - }, - { - title: '用户不还款是否会影响征信?', - course: '若用户当月未缴话费,资方会从当月27号开始对用户银行卡进行代扣,若连续5个工作日均代扣失败,资方会上报人行征信;', - }, - { - title: '智享花对用户年龄是否有限制?', - course: '需要用户年龄在 22-55 岁之间;', - }, - - ] - this.specialQueList = [ - { - course:'1. 每个用户在花呗有自己的额度,只能在可用额度内办单,智享花是针对用户所选择合约、商品及个人情况综合评估判断能否办单;', - }, - - ] - } - }, - //返回上一级按钮 - onClickLeft() { - this.$router.go(-1); - }, - - } - } -</script> -<style lang="less" scoped> -.vjs-big-play-button{ - // position: absolute; - top: 35% !important; - left: 35% !important; -} -.getQRCode{ - background: #F5F5F7; - width: 96%; - padding: 0 2%; - height: 100%; -} -.course-text{ - color: #999999; - font-size: 12px; - line-height: 18px; - background-color: #fff; - // padding: 19px 15px 22px 12px; -} -.course-text-c{ - // color: #666666; - // font-size: 12px; - // line-height: 18px; - // background-color: #fff; - // padding: 19px 15px 22px 12px; - &-img{ - width: 100%; - img{ - width: 100%; - height: 100%; - } - } -} -/deep/.van-collapse-item__content{ - border-bottom: 1px solid #EEEEEE; -} -.message-head{ - position: relative; -} -.table-active{ - overflow: hidden; - margin-top: 40px; -} -.van-collapse-item{ - margin: 0; -} -.question-title{ - font-size: 12px; - color: #333; -} -/deep/.question-title{ - font-weight: normal; -} -/deep/.van-collapse-item{ - border-bottom: 1px solid #EEEEEE; -} -.course-text-item{ - line-height: 25px; -} -</style> diff --git a/src/views/mdyh/overdue/ovderdueDetail.vue b/src/views/mdyh/overdue/ovderdueDetail.vue deleted file mode 100644 index 9202eea..0000000 --- a/src/views/mdyh/overdue/ovderdueDetail.vue +++ /dev/null @@ -1,422 +0,0 @@ - -<template> - <div class="getQRCode"> - <!-- <x-header class="message-head" title="逾期用户" :left-options="{backText:''}"></x-header> --> - <van-nav-bar title="逾期详情" left-text="返回" left-arrow @click-left="onClickLeft" style="line-height: 43px;"> - <i class="iconfont iconzuojiantou" slot="left" style="font-size: 25px;"></i> - </van-nav-bar> - <div class="overdue-body"> - <div class="overdue-body-header"> - <div class="overdue-body-header-left"> - <span>{{ overdueList.prodName }}</span> - <p>{{ overdueList.usrName }}</p> - </div> - <div class="overdue-body-header-right"> - <span>{{ overdueList.usrMbl }}</span> - <a :href="'tel:' + overdueList.usrMbl"><van-icon class="phone-icon" name="phone"/></a> - </div> - </div> - <div class="border"></div> - <div class="overdue-body-content"> - <div> - <p class="overdue-body-content-day"> - 逾期天数: - <span :style="{color:(overdueList.status==0? '#FF6666' : '#666666')}">{{ overdueList.oveDay }}</span> - </p> - <p> - 应还日期:{{ overdueList.shoDate | timeformat('yyyy-MM-dd')}} - </p> - </div> - <div class="overdue-body-content-total"> - <p >{{overdueList.status==0? "应还总额(元)" : "已还总额(元)"}}</p> - <span :style="{color:(overdueList.status==0? '#FF6666' : '#666666')}">{{ overdueList.oveAmt }}</span> - </div> - </div> - <div class="border"></div> - <div class="overdue-body-store"> - <p>渠道:<span>{{ overdueList.chanName == 9999? '无' : overdueList.chanName }}</span></p> - <p>办理商户:<span>{{ overdueList.merName }}</span></p> - <p>办理门店:<span>{{ overdueList.storeName }}</span></p> - </div> - </div> - <div class="gj-body"> - <div class="gj-body-header"> - <p class="gj-body-header-title">跟进记录</p> - <div class="gj-body-header-add" @click="showAddModel"> - 新增+ - </div> - </div> - <div class="gj-body-content"> - <div class="gj-body-content-item"> - <!-- <div class="gj-body-content-item-label"> - <span></span> - <div></div> - </div> --> - <div class="step" v-for="(item, index) in msgList" :key="index"> - <span class="spot"></span> - <div class="step-content" v-if="msgList.length == index+1" style="border: none;padding-bottom: 0px;"> - <p class="gj-body-content-item-msg">{{ item.folCont }} </p> - <span>{{ item.creTime | timeformat('yyyy-MM-dd HH:mm')}}</span> - <span>{{ item.mgrName }}</span> - <span v-if="item.isOpr == 1" style="color: #4A75FF; margin-left:15px;" @click="showAddModel(this, 'edit', item.folCont, item.folId)">编辑</span> - </div> - <div class="step-content" v-else> - <p class="gj-body-content-item-msg">{{ item.folCont }} </p> - <span>{{ item.creTime | timeformat('yyyy-MM-dd HH:mm')}}</span> - <span>{{ item.mgrName }}</span> - <span v-if="item.isOpr == 1" style="color: #4A75FF; margin-left:15px;" @click="showAddModel(this, 'edit', item.folCont, item.folId)">编辑</span> - </div> - </div> - </div> - </div> - <!-- 新增记录模态窗 --> - <van-popup v-model="showAdd" class="addModel"> - <div class="addModel-title">{{ modelTitle }}</div> - <div class="addModel-textarea"> - <textarea name="" id="" cols="30" rows="10" placeholder="请输入跟进记录" maxlength="100" v-model="val" @keydown="textareaChange" @keyup="textareaChange"></textarea> - <span><i>{{ textSum }}</i>/100</span> - </div> - <div class="addModel-btn"> - <van-button class="btnNo" type="default" round @click='showAdd = false'>取消</van-button> - <van-button class="btnYes" type="default" round @click='AddRec'>提交</van-button> - </div> - </van-popup> - </div> - </div> -</template> -<script> -import { XHeader } from 'vux'; -import { dateFormat} from 'vux'; -import Vue from 'vue'; -import { Notify } from 'vant'; - -Vue.use(Notify); - export default { - name: 'message', - components: { - XHeader, - }, - data() { - return { - id: this.$route.query.overdueId, - val: '', - textSum: 0, - msgList:[], - showAdd: false, - overdueList: {}, - modelTitle: '新增跟进记录', //模态窗标题 - folCount: '', - folId: '', - } - }, - created() { - this. overdueInt(); - }, - methods: { - //新增跟进记录模态窗textarea键盘事件 - textareaChange() { - // this.val = this.val.slice(0,100) - // console.log(this.val.length) - this.textSum = this.val.length; - }, - //显示新增跟进记录模态窗 - showAddModel(e, val, folCount, folId) { - this.modelTitle = '新增跟进记录' - this.val = ''; - if(val == 'edit') { - console.log(folCount); - console.log(folId); - this.modelTitle = '编辑跟进记录'; - // this. folCount = folCount; - this.folId = folId; - this.val = folCount; - } - this.showAdd = true; - - }, - //新增跟进记录模态窗确认事件 - AddRec() { - console.log(this.val == null || this.val =='') - if(this.val == null || this.val =='') { - Notify({ type: 'danger', message: '请输入跟进记录'}); - } else { - let date = {} - date.oveId = this.id; - date.folCont = this.val; - if(this.modelTitle == '编辑跟进记录') { - date.folId = this.folId; - } - console.log(date) - this.$api.overdueSaveOveFol(date).then(res => { - this.showAdd = false; - this.folId = ''; - this.folCount = ''; - this.$router.go(0); - }) - } - }, - overdueInt() { - // this.$api.overdueList().then(res => { - // console.log(res.body) - // // this.id = 1111; - // this.overdueList = res.body.map(item => { - // if(item.id == this.id) { - // return item - // } - // }); - // this.overdueList = this.overdueList[0] - // console.log( this.overdueList) - // }) - this.$api.overdueDetail({oveId: this.id}).then(res => { - // console.log(res.body); - this.overdueList = res.body; - this.msgList = res.body.overFolInfList - }) - - }, - //返回上一级按钮 - onClickLeft() { - this.$router.go(-1); - }, - } - } -</script> -<style lang="less" scoped> -// src='../../../../style/mixins.less' -// @import'@/style/mixins.less'; -.step{ - .flexLayout(flex-start, center); - position: relative; - margin-bottom: 5px; - // padding-left: 28px; - &-content{ - // padding-left: 28px; - margin-left: 15px; - padding-left: 17px; - border-left: 1px solid #E6E6E6; - padding-bottom: 30px; - span{ - color: #999999; - } - } -} -.phone-icon{ - width: 20px; - height: 20px; - background: rgba(137,110,219,1); - border-radius: 20px; - color: #fff; - line-height: 20px; - text-align: center; - transform: translateY(1px); -} -.spot{ - width: 7px; - height: 7px; - background: rgba(255,255,255,1); - border: 2px solid rgba(204,204,204,1); - border-radius: 50%; - position: absolute; - top: 0; - left: 10px; - margin-right: 10px; -} -.getQRCode{ - background: #F5F5F7; - width: 100%; - height: 100%; -} -.message-head{ - position: relative; -} -.addModel{ - width: 280px; - border-radius: 6px; - // height: 275px; - background-color: #fff; - &-title{ - color: #000; - font-size: 14px; - height: 58px; - line-height: 58px; - text-align: center; - } - &-textarea{ - textarea{ - width: 227px; - height: 130px; - margin-left: 18px; - // margin: 0 auto; - position: relative; - border:1px solid rgba(230,230,230,1); - color: #999999; - padding: 0 8px; - padding-top: 15px; - } - span{ - font-size: 12px; - color: #999999; - position: absolute; - right: 20px; - bottom: 83px; - } - } - &-btn{ - height: 77px; - .flexLayout(center, center); - .van-button{ - width:110px; - height:36px; - background:rgba(238,238,238,1); - background:rgba(0,0,0,0.72); - border-radius:36px; - color: #FFFFFF; - font-size: 16px; - line-height: 36px; - } - .btnNo{ - background: #EEEEEE; - color: #666666; - margin-right: 10px; - font-size: 16px; - } - .btnYes{ - background: #896EDB; - font-size: 16px; - } - } -} -.overdue-body{ - overflow: hidden; - width: 92%; - margin: 10px 2%; - padding: 0 2%; - background-color: #fff; - font-weight:500; - color:rgba(102,102,102,1); - &-header{ - height: 50px; - .flex(space-between, center); - &-left{ - .flex(flex-start, center); - span{ - width: 68px; - height: 20px; - line-height: 20px; - font-size: @font-12; - text-align: center; - background: rgba(66,61,93,1); - border-radius: 10px; - font-weight:500; - color:rgba(255,255,255,1); - margin-right: 12px; - } - p{ - font-weight:bold; - color:rgba(51,51,51,1); - font-size: 16px; - } - } - &-right{ - span{ - font-weight:500; - color:rgba(102,102,102,1); - font-size: 13px; - } - } - } - .border{ - height:1px; - background:rgba(238,238,238,1); - width: 100%; - } - &-content{ - height: 48px; - padding: 10px 0; - font-size: @font-14; - .flex(space-between, center); - p{ - margin-bottom: 5px; - } - span{ - color: #FF6666; - font-family: "微软雅黑"; - } - &-day{ - margin-top: 12px; - } - &-total{ - span{ - font-size: 24px; - font-weight: bold; - font-family: "微软雅黑"; - } - } - } - &-store{ - // height: 153px; - // line-height: 51px; - padding: 18px 0; - p{ - margin-top: 10px; - } - :first-child{ - margin-top: 0; - } - } - &-channel{ - height: 30px; - line-height: 30px; - } -} -.gj-body{ - overflow: hidden; - width: 92%; - margin: 10px 2%; - padding: 0 2%; - background-color: #fff; - font-weight:500; - color:rgba(102,102,102,1); - &-header{ - .flex(space-between, center); - padding-top: 14px; - &-title{ - font-weight: bold; - color: #333; - } - &-add{ - text-decoration:underline; - color:rgba(137,110,219,1); - font-size: 14px; - } - } - &-content{ - margin-top: 25px; - color: #666; - font-size: 13px; - &-item{ - // margin-left: 18px; - // .flex(space-between, center); - &-msg{ - margin-bottom: 10px; - } - &-label{ - height: 100%; - span{ - width:9px; - height:9px; - background:rgba(255,255,255,1); - border:2px solid rgba(204,204,204,1); - border-radius:50%; - } - div{ - width:2px; - // height:60px; - height: 96%; - background:rgba(230,230,230,1); - } - } - } - } -} -</style> \ No newline at end of file diff --git a/src/views/mdyh/overdue/overdue.vue b/src/views/mdyh/overdue/overdue.vue deleted file mode 100644 index 2f41be6..0000000 --- a/src/views/mdyh/overdue/overdue.vue +++ /dev/null @@ -1,446 +0,0 @@ - -<template> - <div class="overdue"> - <div class="top" :style="{background:$store.state.defaultBgColor}"> - <van-nav-bar title="风控订单" left-text="返回" left-arrow @click-left="onClickLeft" style="line-height: 43px;" class="navBar"> - <i class="iconfont iconzuojiantou" slot="left" style="font-size: 25px;"></i> - <span slot="right" @click="isShow = true;">筛选</span> - </van-nav-bar> - <div class="tabBar"> - <div class="tabBar_item" @click="changeOrderType(1)"> - <p>投诉订单</p> - <p class="line" v-show="orderTypeNum == 1"></p> - </div> - <div class="tabBar_item" @click="changeOrderType(2)"> - <p>风险订单</p> - <p class="line" v-show="orderTypeNum == 2"></p> - </div> - </div> - </div> - <div class="type"> - <div class="type_item" v-show="orderTypeNum == 1"> - <p class="type_num">{{unHandleNum}}笔</p> - <p class="complaint">投诉中</p> - </div> - <div class="type_item" v-show="orderTypeNum == 1" > - <p class="type_num">{{handleNum}}笔</p> - <p class="deal">已处理</p> - </div> - <div class="type_item" v-show="orderTypeNum != 1"> - <p class="type_num">{{unHandleNum + handleNum}}笔</p> - <p>风险订单</p> - </div> - </div> - <!-- 订单列表--> - <div class="list"> - <van-list v-model="loading" :finished="finished" finished-text="没有更多了" @load="onLoad" :immediate-check="false" offset="10" class="loadMore"> - <div class="list_item" v-for="(item, index) in list" :key="index" @click="go(item)"> - <div class="list_item_left"> - <p class="leftTop">{{item.userName}} <span>{{item.userMblNo}}</span></p> - <p>订单状态:{{item.orderStatus}}</p> - <p>订单号:{{item.orderId}}</p> - <p>办单日期:{{item.creTime | dealCreTime}}</p> - <p v-show="orderTypeNum == 1">投诉日期:{{item.noticeTime | dealNoticeTime}}</p> - <p v-show="orderTypeNum != 1">风险识别日期:{{item.noticeTime | dealNoticeTime}}</p> - </div> - <div class="list_item_right"> - <div class="list_item_right_top" v-if="orderTypeNum == 1"> - <p class="typeText" :class="item.status == 1 ? 'activetypeText' : ''" v-if="orderTypeNum == 1">{{item.status | dealStatus}}</p> - <p class="typebtn" v-if="orderTypeNum == 1">({{item.type}})</p> - </div> - <p class="typeTextFx" v-show="orderTypeNum != 1">{{item.type}}风险</p> - <p class="btn" :style="{background:$store.state.defaultBgColor}" @click.stop="dealOrderStatus(item.orderId)" v-if="orderTypeNum == 1 && item.status == 0">已处理</p> - <p class="btn" :style="{background:$store.state.defaultBgColor}" @click.stop="haveRead(item.orderId)" v-if="orderTypeNum != 1 && item.status == 0">已读</p> - </div> - </div> - </van-list> - </div> - <v-button-circle icon='icondaochu' title='导出' @click="exportFile"></v-button-circle> - <!-- 筛选弹出层--> - <v-filter v-model="isShow" - :belongArr="belongArr" - :periodsArr="periodsArr" - :riskLevelArr="riskLevelArr" - :riskTypeArr="riskTypeArr" - customTitle="分期本金" - :hasSearch="true" - @search="(v)=>search(v,true)"> - </v-filter> - <!-- 无订单展示--> - <div class="overdue-pic" v-if="noOrder"> - <div class="overdue-pic-img"> - <img src="../../../assets/imgs/yqpic.png" alt="暂无逾期"> - </div> - <p class="overdue-pic-text">您目前无风控订单,请继续保持~</p> - </div> - </div> -</template> -<script> -import { XHeader } from 'vux'; -import {dateFormat} from 'vux'; -export default { - name: 'message', - components: { - XHeader - }, - data() { - return { - orderTypeNum: 1, //控制订单类型切换 - list: [],// 订单列表 - isShow: false, //控制筛选弹出层 - belongArr: [], // 所属代理、渠道、商户、门店 - periodsArr: [],// 期数 - riskLevelArr: [],// 风险级别 - riskTypeArr: [],// 风险种类 - loading: false, // 上拉加载状态 - finished: false,// 上拉加载无更多数据 - id: '', // 上拉加载时最后一条数据orderId - unHandleNum: '', // 未处理订单 - handleNum: '',// 已处理订单 - obj: '', - noOrder: false - } - }, - computed: { - }, - created() { - this.init() - this.getList() - this.loading = true - }, - filters: { - dealStatus(val) { - return val == 0 ? '投诉中' : '已处理' - }, - dealCreTime(val) { - return dateFormat(val) - }, - dealNoticeTime(val) { - return dateFormat(val) - } - }, - methods: { - // 筛选条件数据初始化 - init() { - this.$api.riskInit().then(res => { - this.periodsArr = res.body.insTermVoList - this.belongArr = res.body.orgBaseInfVoList - this.riskLevelArr = res.body.riskTypeList - this.riskTypeArr = res.body.typeList - }) - }, - // 获取风控订单列表 - getList(type, obj) { - let data = { - chanList: [], - endAmt: '', - startDay: "", - endDay: "", - insTerm: '', - merList: [], - mgrList: [], - orderId: this.id || '', // 如果有最后一条数据orderId,执行为上拉加载,如不存在该字段为空。 - orderType: type || 1, - queryStr: "", - riskType: '', - startAmt: '', - storeList: [], - type: "" - } - // 筛选条件下data对象值变化 - if (this.obj) { - data.chanList = this.obj.chanList - data.merList = this.obj.merList - data.mgrList = this.obj.mgrList - data.storeList = this.obj.storeList - data.startDay = this.obj.startDay - data.endDay = this.obj.endDay - data.insTerm = this.obj.insTerm - data.startAmt = this.obj.startAmt - data.endAmt = this.obj.endAmt - data.queryStr = this.obj.queryStr - data.riskType = this.obj.riskLevelArrCode - data.type = this.obj.riskTypeArrCode - } - this.$api.riskList(data).then(res => { - this.unHandleNum = res.body.unHandleNum - this.handleNum = res.body.handleNum - if (this.id) { - this.list = [...this.list, ...res.body.items] - this.loading = false - if (!res.body.items.length) { - this.finished = true - this.id = '' - } - } else { - this.list = res.body.items - if (!res.body.items.length) { - this.loading = false - this.noOrder = true - } - } - this.loading = false - }) - }, - // 返回上一级 - onClickLeft() { - this.$router.go(-1) - }, - // 切换风控订单类型 - changeOrderType(num) { - this.finished = false - this.id = '' - if (num == 1) { - this.orderTypeNum = 1 - this.getList(1) - } else { - this.orderTypeNum = 2 - this.getList(2) - } - - }, - // 上拉加载获取最后一条数据id再查询 - onLoad() { - this.id = this.list[this.list.length - 1].orderId - this.getList(this.orderTypeNum) - }, - // 处理投诉订单 - dealOrderStatus(id) { - this.$api.riskHandle({orderId: id}).then(res => { - this.getList(this.orderTypeNum) - this.$notify({type: 'success', message: '处理成功'}) - this.finished = false - }) - }, - // 已读风险订单 - haveRead(id) { - this.$api.riskHandle({orderId: id}).then(res => { - this.getList(this.orderTypeNum) - this.$notify({type: 'success', message: '处理成功'}) - this.finished = false - }) - }, - // 筛选 - search(v,isClear){ - this.obj = v - this.getList(this.orderTypeNum) - this.isShow = false - }, - // 导出订单列表 - exportFile() { - if (!this.list.length) { - this.$notify('暂无数据导出') - return - } - this.$api.riskExport({orderType: this.orderTypeNum}).then((res) => { - this.$notify({type: 'success', message: '导出成功'}) - }).catch((err) => {}) - }, - // 根据不同的typeId进入详情页 - go(item) { - let path = '' - if (item.prodId == '30000003') {// 用户贴息 - path = `product/hb-detail?id=${item.orderId}` - } else if (item.prodId == '30000009') { // 商品消费 - path = `product/hb-detail?id=${item.orderId}` - } else if (item.prodId == '30000010') { // 商户贴息 - path = `product/shtx-detail?id=${item.orderId}` - } else if (item.prodId == '30000012') { // 运营商消费花呗分期 - path = `product/xyg-hb-detail?id=${item.orderId}` - } else if (item.prodId == '30000008') { // 商户收款 - path = `product/dmf-detail?id=${item.orderId}` - } - this.$router.push(path) - } - } -} -</script> -<style lang="less" scoped> -.overdue{ - background: #F5F5F7; - width: 100vw; - height: 100vh; - font-family: PingFang SC; - .top { - width: 100vw; - height: 124px; - background: linear-gradient(180deg, #9072EB, #6F61D7); - /deep/ .van-nav-bar { - color: #fff; - background:rgba(255,0,0,0); - border: none; - } - /deep/ .van-nav-bar__title { - color: #fff; - } - /deep/ .van-hairline--bottom::after { - border-bottom-width: 0; - } - .tabBar { - width: 100vw; - height: 36px; - display: flex; - justify-content: space-around; - .tabBar_item { - height: 15px; - font-size: 15px; - font-weight: bold; - color: #FFFFFF; - .line { - width: 32px; - height: 2px; - display: block; - background: #FFFFFF; - border-radius: 1px; - margin: 0 auto; - margin-top: 10px; - } - } - } - } - .type { - width: 95%; - height: 72px; - background: #FFFFFF; - box-shadow: 0px 3px 8px 0px rgba(217, 208, 231, 0.3); - border-radius: 3px; - margin: 0 auto; - margin-top: -30px; - display: flex; - justify-content: space-around; - align-items: center; - .type_item { - display: flex; - flex-direction: column; - justify-content: center; - align-items: center; - color: #999; - .type_num { - font-size: 18px; - color: #333333; - font-weight: bold; - margin-bottom: 8px; - } - .complaint { - font-size: 14px; - color: #FF7A7A; - } - .deal { - font-size: 14px; - color: #71CD9F; - } - } - } - .list { - width: 100%; - margin-top: 20px; - .loadMore { - width: 100%; - display: flex; - flex-direction: column; - justify-content: flex-start; - align-content: center; - align-items: center; - } - .list_item { - width: 95%; - height: 121px; - margin-right: calc(100% - 100vw); - background: #FFFFFF; - box-shadow: 0px 0px 7px 0px rgba(217, 208, 231, 0.28); - border-radius: 3px; - margin-bottom: 10px; - padding: 16px 16px 12px 19px; - box-sizing: border-box; - display: flex; - flex-shrink: 0; - .list_item_left { - width: 75%; - height: 12px; - font-size: 12px; - font-weight: 500; - color: #999999; - display: flex; - flex-direction: column; - .leftTop { - font-size: 14px; - font-weight: 500; - color: #333333; - margin-top: 0px; - span { - margin-left: 13px; - } - } - p { - margin-top: 6px; - } - } - .list_item_right { - width: 25%; - display: flex; - flex-direction: column; - justify-content: space-between; - align-items: center; - .list_item_right_top { - // width: 100%; - .typeText { - height: 16px; - font-size: 16px; - font-family: PingFang SC; - font-weight: bold; - color: #FF7A7A; - text-align: center; - } - } - .typeTextFx { - height: 16px; - font-size: 16px; - font-family: PingFang SC; - font-weight: bold; - color: #FF7A7A; - text-align: center; - } - .activetypeText { - color: #71CD9F; - } - .typebtn { - font-size: 12px; - font-family: PingFang SC; - color: #999999; - margin-top: 5px; - text-align: center; - } - .btn { - width: 77px; - height: 28px; - background: linear-gradient(90deg, #8F6AFF, #9459EC); - box-shadow: 0px 4px 7px 0px rgba(99, 19, 232, 0.25); - border-radius: 14px; - font-size: 14px; - font-weight: 500; - color: #FFFFFF; - text-align: center; - line-height: 28px; - } - } - } - } - .overdue-pic{ - margin-top: 117px; - text-align: center; - &-img{ - width: 100%; - img{ - width: 164px; - height: 112px; - display: inline-block; - } - } - &-text{ - font-size: 14px; - color: #333333; - margin-top: 24px; - } - } -} -</style> \ No newline at end of file diff --git a/src/views/mdyh/product/productMent.vue b/src/views/mdyh/product/productMent.vue deleted file mode 100644 index ed5aa3d..0000000 --- a/src/views/mdyh/product/productMent.vue +++ /dev/null @@ -1,761 +0,0 @@ -<!-- - * @Descripttion: - * @Author: WD丶 - * @Date: 2019-08-19 09:20:27 - * @LastEditors: 小明丶 - * @LastEditTime: 2020-12-09 20:30:28 - --> -<template> - <div class="business-center"> - <!-- <x-header class="head-title" title="产品管理" :left-options="{backText:'',showBack:false}"></x-header> --> - <van-nav-bar title="产品管理" left-text="返回" left-arrow @click-left="onClickLeft" style="line-height: 43px;"> - <i class="iconfont iconzuojiantou" slot="left" style="font-size: 25px;"></i> - </van-nav-bar> - <!-- 顶部轮播 --> - <!-- <div class="content" v-if="installmentList.length"> - <div class="content-title"> - 办理分期 - </div> - <div class="nav-code" v-if="hasDmf" @click="goDmf"> - <i class="icon iconfont scene_Staging-scan" style="font-size:45px"></i> - <p>支付宝扫码收款</p> - </div> - <div class="installment-box "> - <div class="item " v-for="(i,index) in installmentList" :key="index" @click="go(i)"> - <i v-if="i.prodId == 33000001" class="iconfont" :class="i.icon" :style="{color:i.active?'#B036F6':'#a3a3a3'}"></i> - <i v-else class="iconfont" :class="i.icon" :style="{color:i.active?'#bfa073':'#a3a3a3'}"></i> - <p v-text="i.typeName"></p> - </div> - <div class="item " @click="shsClick"> - <i class="iconfont scene_Staging-shanhuishou" :style="{color:'#bfa073'}"></i> - <p>闪回收</p> - </div> - </div> - </div> --> - <div class="content"> - <!-- <div class="content-title"> - 办理分期 - </div> --> - <div class="installment-box "> - - <div class="item " v-for="(i,index) in installmentList" :key="index" @click="go(i)"> - <!-- <i v-if="i.prodId == 33000001" class="iconfont" :class="i.icon" :style="{color:i.active?'#B036F6':'#a3a3a3'}"></i> - <i v-else class="iconfont" :class="i.icon" :style="{color:i.active?'#bfa073':'#a3a3a3'}"></i> --> - <i v-if="i.prodId == 33000001" class="iconfont" :class="i.icon" style="color:#B036F6"></i> - <i v-else class="iconfont" :class="i.icon" style="color:#bfa073"></i> - <p v-text="i.typeName"></p> - </div> - <div class="item " @click="shsClick"> - <img class="item-logo" src="../../../assets/img/shs.png" alt="闪回收"> - <p>闪回收</p> - </div> - <div class="nav-code" v-if="hasDmf" @click="goDmf"> - <div class="nav-code-logo"> - <img src="../../../assets/img/shsk.png" alt="商户收款"> - </div> - <p>商户收款</p> - </div> - </div> - - </div> - <f-confirm v-model="showModal" showIcon iconClass='scene_Staging-shenhezhong' iconColor='#fff' - :showCancelBtn='false'> - <div>{{ tipText }}</div> - </f-confirm> - - - <div class="dialog"> - <x-dialog v-model="showDialogStyle" @on-hide='clearTel' - :dialog-style="{'max-width': '100%', width: '100%', height: '50%', 'background-color': 'transparent'}"> - <img class="logo" src="@/assets/imgs/img_details.png" alt=""> - <div class="dialog-content" > - <p class="text" @click="copyLink"> - 将发送花呗提额链接 - <span class="blue">http://t.cn/AiTDRMMO</span> - 至以下手机号 - </p> - <div class="input-box"> - <i class="icon iconfont scene_Staging-shoujihao"></i> - <input v-model="mblNo" class="input" :class="[errorMsg ? 'error':'']" type="tel" maxlength="11" - placeholder="请输入接收短信的手机号码" @focus="errorMsg = '';" @blur="changeBlur"> - </div> - <p class="errmsg">{{errorMsg}}</p> - <button class="btn" @click.stop="hbLinesSMS">发送短信</button> - </div> - <van-icon name="cross" size='36' color="#fff" class="close" @click.stop="showDialogStyle =false;"></van-icon> - </x-dialog> - </div> - - </div> -</template> -<script> - import { - XHeader, - XDialog, - } from 'vux'; - import FBlock from '@/components/old/FBlock'; - import FConfirm from '@/components/old/FConfirm'; - import { - _copyToClipboard - } from '@/utils/index'; - import { mapState, mapGetters } from 'vuex'; - import { async } from 'q'; - import Vue from 'vue'; - import { Toast } from 'vant'; - - Vue.use(Toast); -// import { mapState } from 'vuex'; - export default { - name: 'business-center', - components: { - XHeader, - FBlock, - FConfirm, - XDialog - }, - data() { - return { - errorMsg: '', - mblNo: '', - showDialogStyle: false, - showModal: false, - tipText: '敬请期待...', - installmentList: [], - dmfprod_list: [], - shsUrl:'', - // swiperList: [], - // messageList: [], - messageId: '', - oveNum: '', - }; - }, - computed:{ - ...mapState(['userinfo', 'msgCount']), - ...mapGetters(['orgType']), - hasDmf(){ - return this.dmfprod_list.length && this.dmfprod_list[0].openStatus!=0; - } - }, - created() { - // this.indexInit() - this.getShsUrl(); - this.$api.prodList({ - pageType: 2 - }).then(res => { - let list = res.body.prodTypeRespVoList2 || []; - this.dmfprod_list = res.body.prodTypeRespVoList1 || []; - list.forEach(item => { - item.active = item.openStatus === 2; - }); - - this.installmentList.push(...list); - }); - this.$api.overdueNum().then(res => { - // console.log(res.body) - this.oveNum = res.body; - // this.$nextTick(() => { - // }) - console.log(this.oveNum) - }) - }, - methods: { - //初始化banner,notice - // indexInit() { - // this.$api.indexInit().then(res => { - // console.log(res.body) - // this.swiperList = res.body.bannerInfoVos - // this.messageList = res.body.noticeInfos.noticeInfos - // // if(res.body.bannerInfoVos == null){ - // // this.showSwiper = false; - // // } - // // if(res.body.noticeInfos.noticeInfos == null){ - // // this.showNotice = false; - // // } - // }) - // }, - //点击banner跳转到主要内容 - onClickLeft() { - this.$router.go(-1); - }, - toBdCourse(e, name) { - console.log(name) - // if(name == '合约分期') { - // Toast('商品分期教程功能暂未开通,敬请期待') - // } else { - let sum = ''; - let fileName = ''; - if(name == '商品分期') { - sum = 7 - fileName = 'hbfq/' - } - if(name == '智享花') { - sum = 9; - fileName = 'zxh/' - } - if(name == '合约分期') { - sum = 3; - fileName = 'hyfq/' - } - console.log(sum) - this.$router.push(`/bdCourse?courseName=${name}&&sum=${sum}&&fileName=${fileName}`) - // } - }, - jump(id) { - this.$router.push(`/bannerContent?bannerId=${id}`) - }, - //跳转到逾期界面.. - toOverdue() { - this.$router.push('/overdue') - }, - shsClick(){ - location.href = this.shsUrl; - }, - toMessage(e,id) { - this.$router.push(`/message?messageId=${id}`) - }, - getShsUrl(){ - this.$api.getShsUrl().then((res) => { - this.shsUrl = res.body.url; - }).catch((err) => { - - }); - }, - goDmf(){ - let item = this.dmfprod_list[0]; - this.$router.push(`/facepay/calcmoney?typeId=${item.typeId}&prodId=${item.prodId}`) - // this.$router.push(`/order/dmf?typeId=${item.typeId}&prodId=${item.prodId}`) - }, - changeBlur() { - let u = navigator.userAgent, - app = navigator.appVersion; - let isIOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/); - if (isIOS) { - setTimeout(() => { - const scrollHeight = document.documentElement.scrollTop || document.body.scrollTop || 0 - window.scrollTo(0, Math.max(scrollHeight - 1, 0)) - }, 200) - } - }, - - - - - clearTel() { - this.mblNo = ''; - this.errorMsg = ''; - }, - // 复制链接 - copyLink() { - let isCopy = _copyToClipboard('http://t.cn/AiTDRMMO') - this.$tool.toast('链接已复制'); - }, - // 花呗提额功能 - hbLinesSMS() { - let v = this.$tool; - if (v.checkValEmpty(this.mblNo)) { - this.errorMsg = '*请输入手机号'; - return; - } - if (!v.checkPhone(this.mblNo)) { - this.errorMsg = '*请输入正确的手机号'; - return; - } - this.$api.hbLinesSMS({ - mblNo: this.mblNo, - content: 'http://t.cn/AiTDRMMO' - }).then((res) => { - this.showDialogStyle = false; - setTimeout(() => { - this.$tool.toast('短信发送成功'); - }, 500); - }).catch((err) => { - - }); - }, - // flag 代表是产品 还是收款的标志(flag为true代表收款) - go(item, flag = false) { - if (item.active) { - let path = ''; - item.typeId = Number(item.typeId); - switch (item.typeId) { - case 200001: - path = '/credit-installment'; - break; - case 200002: - path = '/hb-credit-installment'; - - break; - case 200003: - path = '/mobile-installment'; - - break; - case 200004: - path = '/contract-installment'; - - break; - case 200005: - path = '/hryd/createcode'; - break; - case 200009: - path = '/hbhy-installment'; - break; - case 200010: - path = '/hb-merchant-installment'; - break; - } - // 花呗提额弹窗显示 - if (item.prodId == 33000001) { - this.showDialogStyle = true; - return - } - this.$router.push({ - path, - query: { - typeId: item.typeId, - prodId: item.prodId, - } - }); - } else { - if(item.typeId == 200005) { - if (item.statusType == 3) { - this.tipText = '商户未开通该产品'; - } else if (item.statusType == 4 ) { - this.tipText = '门店未开通该产品'; - } else if (item.statusType == 5) { - this.tipText = '营业员未开通该产品'; - } else { - this.tipText = '敬请期待...'; - } - } else{ - this.tipText = flag ? '敬请期待...' : '商户未开通该产品'; - } - this.showModal = true; - } - }, - }, - - }; -</script> -<style lang='less' scoped> - // @import '../../style/mixin'; - .cus-service{ - position: absolute; - top: 10px; - right: 10px; - z-index: 1; - width: 24px; - height: 24px; - background: rgba(0,0,0,1); - opacity: 0.3; - border-radius: 50%; - text-align: center; - line-height: 24px; - i{ - color: #fff !important; - font-size: 16px; - } - } - .head-title{ - z-index: 10; - } - // 顶部轮播 - .swiper-banner { - width: 100%; - height: 150px; - margin: 0 auto; - overflow: hidden; - position: relative; - margin-top:-10px; - padding: 0; - .vipBg { - width: 100%; - height: 160px; - background-size: 100% 100%; - background-repeat: no-repeat; - // background-image: url("../../../assets/img/bg-qr-code.png"); - } - - .my-swiper-banner { - height: 150px; - width: 100%; - } - } - //播报 部分 - .category { - height: 30px; - position: relative; - width: 94%; - padding: 0 3%; - background: #fff; - .bobao { - background: rgba(255, 255, 255, 1); - border-radius: 5px; - width: 100%; - - } - .notice-log{ - position: absolute; - top: 0; - left: 15px; - font-size: 20px; - line-height: 30px; - } - } - .my-swiper-notice{ - width: 100%; - margin: 0 auto; - overflow: hidden; - // .flexLayout(flex-start, center, row); - // flex-wrap: nowrap; - } - .swipe-item-box{ - display: flex; - flex-direction: column; - justify-content: flex-start; - align-items: center; - width: 100% !important; - } - .notice-item-title{ - height: 30px; - line-height: 30px; - font-size: 12px; - margin-left: 20px; - white-space: nowrap; - color: @c-text-999; - } - .notice-item { - line-height: 30px; - width: 230px; - word-wrap: normal; - white-space: nowrap; - overflow: hidden; - text-overflow: ellipsis; - font-size: 12px; - // padding-right: 20px; - color: @c-text-999; - } - .notice-item-f{ - color: @c-text-999; - } - .business-center { - // padding-top: 54px; - .installment-box { - .flexLayout(flex-start, center, row); - flex-wrap: wrap; - background: #fff; - padding: 15px 0; - .item { - margin-bottom: 15px; - // width: 33.33%; - width: 25%; - text-align: center; - i { - font-size: 36px; - } - - p { - font-size: 12px; - color: #3a3a3a; - } - .item-logo{ - display: block-line; - vertical-align: middle; - width: 45px; - height: 45px; - margin-left: auto; - } - } - } - } - .nav-code { - // display: flex; - // flex-direction: column; - // justify-content: center; - // align-items: center; - // text-align: center; - // height: 120px; - // background-color: #fff; - // color: #bb8b52; - // margin-top: 15px; - .flexLayout(center, center, row); - width: 335px; - height: 50px; - margin: 12px; - margin-bottom: 0; - border: 1px solid rgba(217,217,217,1); - border-radius: 6px; - &-logo{ - width: 36px; - height: 36px; - margin-right: 12px; - img{ - width: 100%; - height: 100%; - } - } - p{ - font-size: 16px; - } - } - .merCollection{ - width: 94%; - margin: 0 3%; - height: 50px; - border: 1px dashed #D9D9D9; - .flexLayout(center, center, row); - i{ - font-size: 36px; - margin-right: 10px; - } - } - - .dialog { - position: relative; - - .dialog-content { - background-color: #fff; - width: 300px; - height: 270px; - margin: 0 auto; - padding: 40px 15px 0; - box-sizing: border-box; - border-radius: 5px; - } - - .text { - width: 150px; - font-size: 14px; - margin: 0 auto; - color: #666666; - - .blue { - color: #4074F8; - text-decoration: underline; - } - } - - .input-box { - height: 44px; - .flexLayout(flex-start, center); - padding-left: 10px; - border: 1px solid rgba(230, 230, 230, 1); - width: 250px; - margin: 20px auto 0; - box-sizing: border-box; - - .icon { - position: relative; - padding-right: 10px; - - &::after { - content: ''; - display: block; - position: absolute; - right: 0; - top: 50%; - transform: translateY(-50%); - width: 1px; - height: 15px; - background-color: #3A3A3A; - - } - } - - .input { - margin-left: 10px; - padding: 10px 0; - flex: 1; - font-size: 12px; - border: none; - outline: none; - - &.error { - color: #FE2A2A; - } - } - } - - .errmsg { - text-align: left; - margin-left: 10px; - margin-bottom: 20px; - height: 15px; - color: #FE2A2A; - font-size: 10px; - } - - .btn { - - width: 250px; - height: 44px; - text-align: center; - outline: none; - border: none; - background-color: #3A3A3A; - color: #fff; - } - - .logo { - width: 64px; - height: 64px; - transform: translateY(32px); - } - - .close { - margin-top: 20px; - } - - } - //逾期 - .overdue-box{ - width: 96%; - margin: 12px 2%; - background: #fff; - border-radius:6px; - .flexLayout(space-between, center); - height: 80px; - &-text{ - padding: 0 10px; - font-size: 16px; - color: #333; - :nth-child(1){ - span{ - font-size: 20px; - } - margin-bottom: 5px; - } - :nth-child(2){ - font-size: 12px; - color: #999999; - span{ - margin-left: 15px; - padding: 3px 10px; - padding-right: 20px; - width: 40px; - height: 14px; - line-height: 23px; - border-radius: 20px; - background: #896EDB; - color: #fff; - position: relative; - i{ - font-size: 20px; - position: absolute; - right: 2px; - top: 1px; - } - } - } - } - &-log{ - width: 94px; - height: 65px; - img{ - width: 100%; - height: 100%; - } - } - } - .content{ - // width: 100%; - width: 96%; - margin: 12px 2%; - border-radius: 6px; - } -// .content-title{ -// width: 96%; -// height: 45px; -// background-color: #fff; -// line-height: 45px; -// margin-top: 20px; -// padding-left: 4%; -// margin-bottom: 5px; -// } -//办单教程 -.course{ - width: 96%; - height: 140px; - margin: 12px 2%; - margin-bottom: 20px; - padding-bottom: 27px; - background: #fff; - box-sizing: border-box; - border-radius: 6px; - &-title{ - // padding: 10px; - padding-top: 15px; - padding-left: 12px; - padding-bottom: 15px; - font-size: 16px; - font-weight:bold; - color:rgba(51,51,51,1) - } - &-content{ - margin-top: 10px; - .flexLayout(space-between, center); - &-item{ - width: 25%; - text-align: center; - i{ - font-size: 36px; - } - p{ - color: #666666; - margin-top: 5px; - font-size: 14px; - } - } - } -} -.courseDl{ - width: 96%; - height: 165px; - margin: 12px 2% 0 2%; - // margin-bottom: 20px; - // padding-bottom: 27px; - background: #fff; - box-sizing: border-box; - border-radius: 6px; - &-title{ - // padding: 10px; - padding-top: 15px; - padding-left: 12px; - padding-bottom: 15px; - font-size: 16px; - font-weight:bold; - color:rgba(51,51,51,1) - } - &-content{ - // margin-top: 10px; - width: 100%; - .flexLayout(space-between, center); - flex-wrap: wrap; - &-item{ - width: 50%; - height: 50px; - text-align: center; - .flexLayout(flex-start, center); - i{ - margin-left: 40px; - font-size: 30px; - margin-right: 13px; - } - p{ - width: 60px; - color: #666666; - text-align: left; - // margin-top: 5px; - font-size: 14px; - line-height: 50px; - } - } - } -} -.notice-continer{ - width: 95%; - display: flex; - justify-content: flex-start; - align-items: center; - padding-left: 5%; -} -</style> diff --git a/src/views/mdyh/shtx/mer-date.vue b/src/views/mdyh/shtx/mer-date.vue deleted file mode 100644 index e00e4ec..0000000 --- a/src/views/mdyh/shtx/mer-date.vue +++ /dev/null @@ -1,463 +0,0 @@ -<!-- - * @Author: 小明丶 - * @Date: 2019-09-24 18:22:58 - * @LastEditors: 小明丶 - * @LastEditTime: 2020-12-26 14:41:46 - * @Description: - --> -<template> - <div class="hb-merchant-installment"> - <!-- <van-nav-bar title="商户贴息" left-arrow @click-left="onClickLeft" /> --> - <van-nav-bar title="商户资料" left-text="返回" left-arrow @click-left="onClickLeft" style="line-height: 43px;"> - <!-- <van-icon name="iconzuojiantou" slot="left" /> --> - <i class="iconfont iconzuojiantou" slot="left" style="font-size: 25px;"></i> - </van-nav-bar> - <div class="form-content"> - <van-field - class="ipt" - v-model="contractGoodsName" - label="商户名称" - placeholder="请输入" - input-align="right" - border="true" - required - /> - <van-field - class="ipt" - label="营业执照号" - placeholder="请输入" - input-align="right" - border="false" - :maxlength="20" - v-model="businesslicenseNo" - required - /> - <van-field - class="ipt" - label="法人姓名" - placeholder="请输入" - input-align="right" - border="false" - :maxlength="10" - v-model="contractUserName" - /> - <van-field - class="ipt" - label-width='100' - label="法人身份证号" - placeholder="请输入" - input-align="right" - border="false" - :maxlength="18" - v-model="contractUserNo" - /> - <!-- <v-cell :value="areaText" label='所在地区' isLink disabled placeholder='请选择' @click.native="isShowArea = true;"></v-cell> --> - <van-field - class="fenqi" - readonly - clickable - label="商户地址" - :value="areaLists" - placeholder="请选择" - @click="ShowArea" - input-align="right" - border="true" - required - /> - <van-field - class="ipt" - label="详细地址" - placeholder="请输入" - input-align="right" - border="false" - :maxlength="10" - v-model="dtlAddress" - /> - <van-cell-group v-if="merZfbInfos.length > 0"> - <van-field - v-for="(item,i) in merZfbInfos" - v-show="item.hbStatus == 2" - :key="i" - class="ipt" - label-width="150px" - :label='item.zfbVersionName+"-PID"' - placeholder="请输入" - input-align="right" - border="false" - :maxlength="20" - v-model="item.pid" - /> - </van-cell-group> - - </div> - <!-- <van-popup v-model="showPicker" position="bottom" :style="{ height: '30%' }"> - <van-picker - title="选择地址" - show-toolbar - item-height="30" - :columns="columns" - @cancel="showPicker = false" - @confirm="onConfirm" - /> - </van-popup> --> - <van-popup v-model="isShowArea" position="bottom" :close-on-click-overlay="false"> - <van-area ref='Area' :area-list='areaList' @cancel="closeAreaModal" @confirm="setAreaValue"></van-area> - </van-popup> - <van-button - round - type="info" - class="btn" - block="true" - :color="$store.state.backColor" - @click="createdQRCode" - >保存</van-button> - <!--点击创建订单展示 弹窗 --> - <!-- <FConfirmSimple - v-model="showConfirm" - ref="FConfirmQRCode" - @on-hide="handleHide" - iconClass="scene_Staging-dingdan" - class="hb-order-confirm" - :showIcon="true" - > - <div class="trial-list"> - <div>还款总额:{{trial.totalAmount}}元</div> - <div>每月还款额:{{trial.repayPerMonth}}元</div> - <div>费率:{{trial.feeRate}}%</div> - </div> - <f-button @on-click="createdQRCode">生成二维码</f-button> - </FConfirmSimple> --> - </div> -</template> -<script> -import {mapState, mapMutations} from 'vuex'; -import QRCode from "qrcode"; -import FConfirmSimple from "@/components/old/FConfirmSimple.vue"; -import axios from "axios"; -import Vue from "vue"; -import { NavBar } from "vant"; -import { Grid, GridItem } from "vant"; -import { Field } from "vant"; -import { DropdownMenu, DropdownItem } from "vant"; -import { Popup } from "vant"; -import { Picker } from "vant"; -import { Toast } from "vant"; -import { async } from "q"; - -Vue.use(Toast); -Vue.use(Picker); -Vue.use(Popup); -Vue.use(DropdownMenu).use(DropdownItem); -Vue.use(Field); -Vue.use(Grid).use(GridItem); -Vue.use(NavBar); -export default { - components: { - FConfirmSimple - }, - data() { - return { - merId:'', - isShowArea: false, - capitalAmt: "0.00", //商家到账金额 - monthMoney: "0.00", //客户月还款总额 - merId: this.$route.query.merId || [], //商户id - contractGoodsBrand: "", //商品品牌 - contractGoodsName: "", //商品名称 - contractUserMblNo: "", //用户手机号 - contractUserName: "", //用户名称 - businesslicenseNo: '', //营业执照号 - contractUserNo: '', //法人身份证 - dtlAddress: '', //详细地址 - contractUserPID: '', //商户PID - merZfbInfos:[],//商户PID列表 - totalAmount: "0.00", - orderNo: "", //未知参数 - term: null, //分期期数 - userMblNo: "", //用户手机号 - userName: "", //用户名称 - trial: {}, // 利率相关信息 - orderId: "", //订单id - typeId: "", - payQrCodeUrl: "", // 二维码 - termList: [], //分期期数列表 - showConfirm: false, - howMouch: "", //商品金额 - value: "", //期数选择值 - showPicker: false, //期数选择弹出层控制 - columns: [], //分期期数列表 - - - form: { - areaLists: '', - provCode: '', - cityCode: '', - areaCode: '', - }, - arrDress:'', - }; - }, - computed: { - ...mapState(['areaList']), - }, - created() { - this.merInit(); - }, - methods: { - ShowArea(){ - this.isShowArea=true - console.log(this.form.areaLists) - }, - handleHide() { - this.showConfirm = false; - }, - setAreaValue(arr){ - console.log(arr); - this.areaLists = arr[0].name +arr[1].name + arr[2].name + ''; - // this.form.provCode= arr[0].code; - // this.form.cityCode= arr[1].code; - // this.form.areaCode= arr[2].code; - this.form.provCode= arr[0]; - this.form.cityCode= arr[1]; - this.form.areaCode= arr[2]; - this.isShowArea = false; - // this.$refs.Area.reset() - this.$forceUpdate(); - console.log(this.areaLists) - }, - //返回上一级按钮 - onClickLeft() { - this.$router.go(-1); - }, - //关闭地区弹窗 - closeAreaModal(){ - this.isShowArea = false; - this.$refs.Area.reset() - }, - //弹出层显示 - showPopup() { - this.show = true; - }, - // 弹出层地址选择 - onConfirm(arr) { - this.arrDress = arr - this.areaTexts = arr[0].name + '-' +arr[1].name +'-'+ arr[2].name; - // this.form.provCode= arr[0].code; - // this.form.cityCode= arr[1].code; - // this.form.areaCode= arr[2].code; - this.form.provCode= arr[0]; - this.form.cityCode= arr[1]; - this.form.areaCode= arr[2]; - this.isShowArea = false; - this.$refs.Area.reset() - }, - //商户资料初始化 - merInit() { - this.$api.merchantDetail({merId: this.merId}).then( - res => { - console.log(res.body); - this.contractGoodsName = res.body.merName; - this.businesslicenseNo = res.body.licenseNo; - this.contractUserName = res.body.legalName; - this.contractUserNo = res.body.legalIdNo; - this.dtlAddress = res.body.addr.dtlAddr; - this.contractUserPID = res.body.pid; - this.merId = res.body.merId; - this.arrDress = res.body.addr - let list = res.body.merZfbInfos.filter((item, index) => { - if(sessionStorage.isddxt == 1){ - return item.zfbVersion == 6 || item.zfbVersion == 7 - }else{ - return item.zfbVersion != 6 && item.zfbVersion != 7 - } - }) - this.merZfbInfos = list - console.log(this.merZfbInfos) - let arr = []; - if(res.body.addr.area) { - arr.push(res.body.addr.province) - arr.push(res.body.addr.city) - arr.push(res.body.addr.area) - this.setAreaValue(arr); - } - }, - err => err - ); - }, - //保存 - createdQRCode() { - let v = this.$tool; - let res = /^[A-Za-z0-9\u4e00-\u9fa5]+$/; - if (v.checkValEmpty(this.contractGoodsName)) { - v.toast("请输入商户名称"); - return ; - } - if (!res.test(this.contractGoodsName)) { - v.toast("请输入文字/字母/数字且不包含特殊字符的商品名称"); - return false; - } - // res = /^[0-9a-zA-Z]{1,20}$/; - if (v.checkValEmpty(this.businesslicenseNo)) { - v.toast("请输入营业执照号"); - return; - } - // if (!res.test(this.businesslicenseNo)) { - // v.toast("请输入正确的营业执照号"); - // return false; - // } - if (v.checkValEmpty(this.contractUserName)) { - v.toast("请输入法人姓名"); - return; - } - res = /^[1-9]\d{7}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}$|^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}([0-9]|X)$/ - if (v.checkValEmpty(this.contractUserNo)) { - v.toast("请输入身份证号"); - return ; - } - if (!res.test(this.contractUserNo)) { - v.toast("请输入正确的身份证号"); - return false; - } - if (v.checkValEmpty(this.areaLists)) { - v.toast("请选择商户地址"); - return; - } - if (v.checkValEmpty(this.dtlAddress)) { - v.toast("请输入详细地址"); - return; - } - if(this.contractUserPID) { - if (v.checkValEmpty(this.contractUserPID)) { - v.toast("请输入商户PID"); - return; - } - } - let date = {} - if(this.contractUserPID) { - date.pid = this.contractUserPID; - } - - this.arrDress.dtlAddr = this.dtlAddress - this.arrDress.area = this.form.areaCode - this.arrDress.city = this.form.cityCode - this.arrDress.province = this.form.provCode - - date.dtlAddress = this.dtlAddress; - date.legalIdNo = this.contractUserNo; - date.addr = this.arrDress; - date.legalName = this.contractUserName; - date.merName = this.contractGoodsName; - date.licenseNo = this.businesslicenseNo; - date.merId = this.merId; - date.merZfbInfos = this.merZfbInfos; - console.log(date) - this.$api.merchantEdit(date).then(() => { - // console.log('保存商戶資料') - this.$router.push('/mine/setting') - }) - this.showConfirm = false; - var queryObj = { - term: this.value.slice(0, -1), //分期期数 - payQrCodeUrl: this.payQrCodeUrl, //二维码 - totalAmount: this.totalAmount //还款总额,本金 - }; - if (this.$route.query.typeId) { - queryObj.typeId = this.$route.query.typeId; - } - } - } -}; -</script> -<style lang="less" scoped> -// @import '../../../style/myVant.less'; -/deep/.van-field__control{ - color: #999 !important; - font-size: 14px !important; -} -.van-button--info{ - background: #896EDB; -} -.hb-merchant-installment{ - background-color: #F3F4F5; - height: 100vh; -} - .form-content{ - width: 359px; - // height: 300px; - margin: 10px 8px; - // transform: translateY(-30px); - // position: absolute; - // top: 165px; - border-radius: 6px; - } - .ipt, - .fenqi { - & { - border-bottom: 1px solid #e0e1e6; - color: #333; - font-size: 16px; - // .van-field__control--right{ - // color: #999 !important; - // font-size: 14px !important; - // } - } - } - .btn { - width: 80vw; - height: 6vh; - line-height: 6vh; - margin: auto; - position: fixed; - bottom: 3vh; - right: 10vw; - } - .hb-order-confirm { - .trial-list { - padding-left: 20px; - } - - .f-button-component .f-button { - margin-top: 12px; - } - } - - .hb-credit-installment { - background-color: #f1f1f1; - padding-top: 54px; - .title { - padding: 14px 12px; - font-size: 15px; - color: #333; - .line { - display: inline-block; - width: 2px; - height: 16px; - margin-right: 8px; - background: @color-text-three; - vertical-align: middle; - margin-top: -1px; - } - } - - .qrCode-box { - padding-top: 0; - .flexLayout(center, center, row); - - .qrCode { - width: 200px; - height: 200px; - box-sizing: border-box; - background-color: #fff; - border: 5px solid @color-border-theme; - padding: 5px; - - img { - width: 100%; - height: 100%; - vertical-align: middle; - display: block; - } - } - } - } -</style> \ No newline at end of file diff --git a/src/views/mdyh/shtx/shtx.vue b/src/views/mdyh/shtx/shtx.vue deleted file mode 100644 index cc07b0d..0000000 --- a/src/views/mdyh/shtx/shtx.vue +++ /dev/null @@ -1,750 +0,0 @@ -<!-- - * @Author: 小明丶 - * @Date: 2019-09-24 18:22:58 - * @LastEditors: 小明丶 - * @LastEditTime: 2020-12-08 13:49:02 - * @Description: - --> -<template> - <div class="hb-merchant-installment"> - <!-- <van-nav-bar title="商户贴息" left-arrow @click-left="onClickLeft" /> --> - <van-nav-bar title="商户贴息" left-text="返回" left-arrow @click-left="onClickLeft"> - <!-- <van-icon name="iconzuojiantou" slot="left" /> --> - <i class="iconfont iconzuojiantou" slot="left" style="font-size: 25px;"></i> - </van-nav-bar> - <div class="money-box"> - <div class="item-content"> - <div v-if="hasHjToken()" class="item-box"> - <p class="money">{{ trial.capitalAmt ? trial.capitalAmt : '0.00 '}}</p> - <p class="tit">商家到账金额</p> - </div> - <span class="line"></span> - <div class="item-box"> - <p class="money">{{ trial.totalAmount ? trial.totalAmount : '0.00' }}</p> - <p class="tit">客户总还款金额</p> - </div> - <span class="line"></span> - <div class="item-box"> - <p class="money">{{ trial.repayPerMonth ? trial.repayPerMonth : '0.00' }}</p> - <p class="tit">客户月还款金额</p> - </div> - </div> - </div> - <div class="form-content"> - <van-field - class="ipt" - v-model="howMouch" - type="number" - label="商品金额" - placeholder="请输入商品金额" - input-align="right" - border="true" - @input="changeMoney" - :maxlength="5" - /> - <van-field - class="fenqi" - readonly - clickable - label="分期期数" - :value="value" - placeholder="请选择" - @click="showPicker = true" - input-align="right" - border="true" - is-link="true" - /> - <van-field - class="ipt" - label="商品名称" - placeholder="请输入商品名称" - input-align="right" - border="false" - :maxlength="20" - v-model="contractGoodsName" - /> - <van-field - class="ipt" - label="商品品牌" - placeholder="请输入商品品牌" - input-align="right" - border="false" - :maxlength="10" - v-model="contractGoodsBrand" - /> - <van-field - class="ipt" - label="用户姓名" - placeholder="请输入用户姓名" - input-align="right" - border="false" - :maxlength="10" - v-model="contractUserName" - /> - <van-field - class="ipt" - type="tel" - label="用户手机号" - placeholder="请输入用户手机号" - input-align="right" - border="false" - :maxlength="11" - v-model="contractUserMblNo" - /> - <van-field - disabled - class="ipt" - type="tel" - label="智享服务费率" - placeholder="请输入智享服务费率" - label-width="150px" - input-align="right" - border="false" - :maxlength="11" - v-model="platRatePr" - /> - <van-field - disabled - class="ipt" - type="tel" - label-width="150px" - label="花呗分期手续费率" - placeholder="请输入花呗分期手续费率" - input-align="right" - border="false" - :maxlength="11" - v-model="zfbRatePr" - /> - </div> - <div class="btn-box"> - <van-button - round - type="info" - class="btn" - block="true" - color="#896EDB" - @click="goodInstallmentOrder" - :class="sysPlat == 2 ? 'active' : ''" - >生成二维码</van-button> - <van-button - round - type="info" - class="btn" - block="true" - color="#896EDB" - @click="WeChatSanCode" - v-if="sysPlat != 2" - >扫描付款码</van-button> - </div> - - <van-popup v-model="showPicker" position="bottom" :style="{ height: '30%' }"> - <van-picker - title="选择期数" - show-toolbar - item-height="30" - :columns="columns" - @cancel="showPicker = false" - @confirm="onConfirm" - /> - </van-popup> - <Vdialog @cancel="cancel" :show="showDia"></Vdialog> - </div> -</template> -<script> -import QRCode from "qrcode"; -import FConfirmSimple from "@/components/old/FConfirmSimple.vue"; -import axios from "axios"; -import Vue from "vue"; -import { NavBar } from "vant"; -import { Grid, GridItem } from "vant"; -import { Field } from "vant"; -import { DropdownMenu, DropdownItem } from "vant"; -import { Popup } from "vant"; -import { Picker } from "vant"; -import { Toast } from "vant"; -import { async } from "q"; -import Vdialog from "@/components/common/v-dialog.vue"; - -Vue.use(Toast); -Vue.use(Picker); -Vue.use(Popup); -Vue.use(DropdownMenu).use(DropdownItem); -Vue.use(Field); -Vue.use(Grid).use(GridItem); -Vue.use(NavBar); -export default { - components: { - FConfirmSimple,Vdialog - }, - data() { - return { - backUrl: "", //回调地址 - zfbRate: "", - platRate: "", - showConfirm: false, - showDia:false, - contractGoodsBrand: "", //商品品牌 - contractGoodsName: "", //商品名称 - contractUserMblNo: "", //用户手机号 - contractUserName: "", //用户名称 - orderNo: "", //未知参数 - term: null, //分期期数 - userMblNo: "", //用户手机号 - userName: "", //用户名称 - trial: { - capitalAmt: "", - repayPerMonth: "", - totalAmount: "" - }, // 利率相关信息 - orderId: "", //订单id - typeId: "", - payQrCodeUrl: "", // 二维码 - termList: [], //分期期数列表 - showConfirm: false, - howMouch: "", //商品金额 - value: "", //期数选择值 - showPicker: false, //期数选择弹出层控制 - columns: [], //分期期数列表 - sysPlat: null, - isGoBack:'',//用于重新扫码后判断值 - }; - }, - computed: { - zfbRatePr() { - if (this.zfbRate || this.zfbRate==0) { - return this.zfbRate + "%"; - } else { - return ""; - } - }, - platRatePr() { - if (this.platRate || this.platRate==0) { - return this.platRate + "%"; - } else { - return ""; - } - } - }, - created() { - if(sessionStorage.hb_session_info&&this.$route.query.isCreateOrderPush){ - this.isGoBack = 1 - let hb_session_info = JSON.parse(sessionStorage.hb_session_info) - this.contractGoodsBrand=hb_session_info.goodsBrand //商品品牌 - this.contractGoodsName=hb_session_info.goodsName //商品名称 - this.value = hb_session_info.term - this.term = hb_session_info.term.slice(0, -1) - this.howMouch=hb_session_info.totalAmount //商品总价 - this.contractUserMblNo=hb_session_info.userMblNo//用户电话号 - this.contractUserName=hb_session_info.userName // 用户名称 - this.sysPlat=hb_session_info.sysPlat - this.changeMoney() - } - let sysPlat = localStorage.sib_mer_sysPlat - if (sysPlat === 'undefined' || sysPlat === '1') { - sysPlat = 1 - } - if (sysPlat === '2') { - sysPlat = 2 - } - this.sysPlat = sysPlat - this.$api.shtxOrderInit().then( - res => { - var arr = res.body.terms; - arr.forEach((ele, i) => { - this.columns.push(`${ele.code}期`); - }); - }, - err => err - ); - this.getWeChatConfig() - }, - methods: { - cancel(val){ - this.showDia = val - }, - // 调用微信摄像头,扫一扫 - WeChatSanCode() { - let _this = this; - this.totalAmount = this.howMouch; - let sysPlat = localStorage.sib_mer_sysPlat - if (sysPlat === 'undefined' || sysPlat === '1') { - sysPlat = 1 - } - if (sysPlat === '2') { - sysPlat = 2 - } - if (this.totalAmount != "") { - this.$api - .getMonthMoney({ - totalAmount: this.howMouch, - term: this.value.slice(0, -1) - }) - .then(res => { - this.trial.capitalAmt = res.body.capitalAmt; - this.trial.monthMoney = res.body.repayPerMonth; - this.trial.totalAmount = res.body.totalAmount; - }); - } - let v = this.$tool; - if (v.checkValEmpty(this.totalAmount)) { - v.toast("请输入商品金额"); - return; - } - //临时调整价格 - if (Number(this.totalAmount) <= 0) { - v.toast("商品金额不能为0"); - return false; - } - let res = /^[A-Za-z0-9\u4e00-\u9fa5]+$/; - if (v.checkValEmpty(this.contractGoodsName)) { - v.toast("请输入商品名称"); - return; - } - if (!res.test(this.contractGoodsName)) { - v.toast("请输入文字/字母/数字且不包含特殊字符的商品名称"); - return; - } - if (v.checkValEmpty(this.term)) { - v.toast("请输入分期期数"); - return; - } - if (v.checkValEmpty(this.contractGoodsBrand)) { - v.toast("请输入商品品牌"); - return; - } - if (v.checkValEmpty(this.contractUserName)) { - v.toast("请输入用户姓名"); - return; - } - if (v.checkValEmpty(this.contractUserMblNo)) { - v.toast("请输入用户手机号"); - return; - } - if (sysPlat == 1) { - this.checkIsReady().then(() => { - wx.scanQRCode({ - needResult: 1, // 默认为0,扫描结果由微信处理,1则直接返回扫描结果, - scanType: ["qrCode", "barCode"], // 可以指定扫二维码还是一维码,默认二者都有 - success: function(res) { // 当needResult 为 1 时,扫码返回的结果 - // 扫码成功后调用接口 - let queryObj = { - goodsBrand: _this.contractGoodsBrand, //商品品牌 - goodsName: _this.contractGoodsName, //商品名称 - prodId: 30000010, //产品id - term: _this.value.slice(0, -1), //分期期数 - totalAmount: _this.totalAmount, //商品总价 - userMblNo: _this.contractUserMblNo, //用户电话号 - userName: _this.contractUserName, // 用户名称 - zfbVersion: Number(_this.$route.query.zfbVersion), - payType: 2,//正扫 - authCode: res.resultStr, - sysPlat: sysPlat - }; - _this.$api.shtxOrderCreate(queryObj).then(res=>{ - _this.orderId = res.body.orderId; - _this.$router.push({ - path:'/pay-result', - query:{ - orderId: _this.orderId, - mode:'shtx' - } - }) - }) - } - }); - }); - } - if (sysPlat == 2) { - my.postMessage({'sendToMiniProgram': '0'}) - my.onMessage = function(e) { - let queryObj = { - goodsBrand: _this.contractGoodsBrand, //商品品牌 - goodsName: _this.contractGoodsName, //商品名称 - prodId: 30000010, //产品id - term: _this.value.slice(0, -1), //分期期数 - totalAmount: _this.totalAmount, //商品总价 - userMblNo: _this.contractUserMblNo, //用户电话号 - userName: _this.contractUserName, // 用户名称 - zfbVersion: Number(_this.$route.query.zfbVersion), - payType: 2,//正扫 - authCode: e, - sysPlat: sysPlat - }; - _this.$api.shtxOrderCreate(queryObj).then(res=>{ - _this.orderId = res.body.orderId; - _this.$router.push({ - path:'/pay-result', - query:{ - orderId: _this.orderId, - mode:'shtx' - } - }) - }) - } - } - }, - // 异步准备微信环境 - checkIsReady() { - return new Promise((resolve, reject) => { - wx.ready(() => resolve()); - wx.error(err => reject(console.log(res + "wx.error"))); - }); - }, - // 获取微信配置 - getWeChatConfig() { - let url = location.href.split("#")[0]; - this.$api - .getTokenInfo({ - url: url - }) - .then(res => { - // 获取微信配置 - wx.config({ - debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印 - appId: res.body.appId, // 必填,公众号的唯一标识 - timestamp: res.body.timestamp, // 必填,生成签名的时间戳 - nonceStr: res.body.nonceStr, // 必填,生成签名的随机串 - signature: res.body.signature, // 必填,签名 - jsApiList: ["checkJsApi", "scanQRCode"], // 必填,需要使用的JS接口列表 - openTagList: [] // 可选,需要使用的开放标签列表,例如['wx-open-launch-app'] - }); - }); - }, - hasHjToken() { - if (localStorage.hjToken) { - return false; - } else { - return true; - } - }, - handleHide() { - this.showConfirm = false; - }, - //返回上一级按钮 - onClickLeft() { - this.$router.go(-1); - }, - //弹出层显示 - showPopup() { - this.show = true; - }, - // 弹出层期数选项控制 - onConfirm(value) { - this.value = value; - //console.log(value.slice(0, -1)); - this.showPicker = false; - this.term = value.slice(0, -1); - //得到月还款额 - this.$api - .getMonthMoney({ - totalAmount: this.howMouch, - term: value.slice(0, -1) - }) - .then(res => { - // console.log(1111); - this.trial.capitalAmt = res.body.capitalAmt; - this.trial.repayPerMonth = res.body.repayPerMonth; - this.trial.totalAmount = res.body.totalAmount; - this.platRate = res.body.platRate; - this.zfbRate = res.body.zfbRate; - }); - }, - changeMoney() { - if ( - this.howMouch != this.totalAmount && - this.term != null && - this.howMouch != "" - ) { - //得到月还款额 - this.$api - .getMonthMoney({ - totalAmount: this.howMouch, - term: this.value.slice(0, -1) - }) - .then(res => { - this.trial.capitalAmt = res.body.capitalAmt; - this.trial.repayPerMonth = res.body.repayPerMonth; - this.trial.totalAmount = res.body.totalAmount; - this.platRate = res.body.platRate; - this.zfbRate = res.body.zfbRate; - }); - } else if (this.howMouch == "") { - this.trial.capitalAmt = 0.0; - this.trial.repayPerMonth = 0.0; - this.trial.totalAmount = 0.0; - } - }, - //订单生成 - goodInstallmentOrder() { - this.totalAmount = this.howMouch; - if (this.totalAmount != "") { - this.$api - .getMonthMoney({ - totalAmount: this.howMouch, - term: this.value.slice(0, -1) - }) - .then(res => { - console.log(res); - this.trial.capitalAmt = res.body.capitalAmt; - this.trial.monthMoney = res.body.repayPerMonth; - this.trial.totalAmount = res.body.totalAmount; - }); - } - let v = this.$tool; - if (v.checkValEmpty(this.totalAmount)) { - v.toast("请输入商品金额"); - return; - } - // if (!Number(this.totalAmount)) { - // v.toast("请输入正确的结算金额"); - // return false; - // } - //临时调整价格 - if (Number(this.totalAmount) <= 0) { - v.toast("商品金额不能为0"); - return false; - } - let res = /^[A-Za-z0-9\u4e00-\u9fa5]+$/; - if (v.checkValEmpty(this.contractGoodsName)) { - v.toast("请输入商品名称"); - return; - } - if (!res.test(this.contractGoodsName)) { - v.toast("请输入文字/字母/数字且不包含特殊字符的商品名称"); - return; - } - if (v.checkValEmpty(this.term)) { - v.toast("请输入分期期数"); - return; - } - if (v.checkValEmpty(this.contractGoodsBrand)) { - v.toast("请输入商品品牌"); - return; - } - if (v.checkValEmpty(this.contractUserName)) { - v.toast("请输入用户姓名"); - return; - } - if (v.checkValEmpty(this.contractUserMblNo)) { - v.toast("请输入用户手机号"); - return; - } - - // 用来整体存储缓存数据 - let hb_session_info = { - goodsBrand: this.contractGoodsBrand, //商品品牌 - goodsName: this.contractGoodsName, //商品名称 - prodId: 30000010, //产品id - term: this.value, //分期期数 - totalAmount: this.totalAmount, //商品总价 - userMblNo: this.contractUserMblNo, //用户电话号 - userName: this.contractUserName, // 用户名称 - zfbVersion: Number(this.$route.query.zfbVersion), - payType: 1,//正扫 - sysPlat: this.sysPlat - } - sessionStorage.hb_session_info = JSON.stringify(hb_session_info) - - let queryObj = { - goodsBrand: this.contractGoodsBrand, //商品品牌 - goodsName: this.contractGoodsName, //商品名称 - prodId: 30000010, //产品id - term: this.value.slice(0, -1), //分期期数 - totalAmount: this.totalAmount, //商品总价 - userMblNo: this.contractUserMblNo, //用户电话号 - userName: this.contractUserName, // 用户名称 - zfbVersion: Number(this.$route.query.zfbVersion), - payType: 1,//正扫 - sysPlat: this.sysPlat - }; - this.$api.shtxOrderCreate(queryObj).then(res => { - this.orderId = res.body.orderId; - this.payQrCodeUrl = res.body.payQrCodeUrl; - this.trial.totalAmount = res.body.totalAmount; - this.trial.repayPerMonth = res.body.repayPerMonth; - this.trial.feeRate = res.body.feeRate; - this.showConfirm = true; - this.backUrl = res.body.backUrl; - sessionStorage.hjBackUrl = res.body.backUrl; - this.createdQRCode(); - },err=>{ - if(err.errorCode===30006007){ - this.showDia = true - } - }); - }, - //生成二维码 - createdQRCode() { - this.showConfirm = false; - - var queryObj = { - term: this.value.slice(0, -1), //分期期数 - payQrCodeUrl: this.payQrCodeUrl, //二维码 - totalAmount: this.totalAmount, //还款总额,本金 - platRate: this.platRate, - zfbRate: this.zfbRate, - capitalAmt: this.capitalAmt, - backUrl: this.backUrl - }; - if (this.$route.query.typeId) { - queryObj.typeId = this.$route.query.typeId; - } - this.$router.push({ - path: "/shtx-getShtxQRCode", - query: { - orderId: this.orderId, - ...queryObj - } - }); - } - } -}; -</script> -<style lang="less" scoped> -.hb-merchant-installment { - & { - background-color: #f3f4f5; - width: 100%; - min-height: 100vh; - } - /deep/.van-field__control:disabled { - color: #666; - -webkit-text-fill-color: #666; - } - .money-box { - & { - width: 100%; - height: 150px; - background: linear-gradient( - -45deg, - rgba(104, 98, 133, 1), - rgba(76, 69, 113, 1) - ); - display: flex; - justify-content: space-between; - text-align: center; - } - .item-content { - width: 359px; - height: 72px; - margin: 28px 8px 0 8px; - background: #716d8e; - border-radius: 72px; - .flexLayout(flex-start, center, row); - } - .line { - width: 1px; - height: 20px; - opacity: 0.1; - background: rgba(255, 255, 255, 1); - } - .item-box { - & { - display: flex; - flex-wrap: wrap; - align-content: center; - width: 33%; - color: #fff; - } - .tit { - font-size: 12px; - // font-weight: 700; - display: inline-block; - vertical-align: middle; - width: 100%; - } - .money { - margin: 0px 0 11px 0; - width: 100%; - font-size: 20px; - font-weight: bold; - } - } - } - .form-content { - width: 359px; - // height: 300px; - margin: 0 8px; - transform: translateY(-30px); - // position: absolute; - // top: 165px; - border-radius: 6px; - } - .ipt, - .fenqi { - & { - border-bottom: 1px solid rgba(238, 238, 238, 1); - color: #333; - font-size: 16px; - height: 50px; - } - } - .btn-box { - margin-top: 90px; - margin-bottom: 20px; - display: flex; - justify-content: space-around; - align-items: center; - .btn { - width: 40vw; - height: 44px; - line-height: 44px; - background-color: #896edb; - border: none; - } - .active { - width: 80vw; - } - } - - .hb-order-confirm { - .trial-list { - padding-left: 20px; - } - - .f-button-component .f-button { - margin-top: 12px; - } - } - - .hb-credit-installment { - background-color: #f1f1f1; - padding-top: 54px; - .title { - padding: 14px 12px; - font-size: 15px; - color: #333; - .line { - display: inline-block; - width: 2px; - height: 16px; - margin-right: 8px; - background: @color-text-three; - vertical-align: middle; - margin-top: -1px; - } - } - - .qrCode-box { - padding-top: 0; - .flexLayout(center, center, row); - - .qrCode { - width: 200px; - height: 200px; - box-sizing: border-box; - background-color: #fff; - border: 5px solid @color-border-theme; - padding: 5px; - - img { - width: 100%; - height: 100%; - vertical-align: middle; - display: block; - } - } - } - } -} -</style> diff --git a/src/views/mine/redEnvelopes/red-envelopes.vue b/src/views/mine/redEnvelopes/red-envelopes.vue deleted file mode 100644 index ee71e2e..0000000 --- a/src/views/mine/redEnvelopes/red-envelopes.vue +++ /dev/null @@ -1,430 +0,0 @@ -<!-- - * @Author: 小明丶 - * @Date: 2019-10-23 17:26:01 - * @LastEditors: 小明丶 - * @LastEditTime: 2020-04-24 15:06:29 - * @Description: - --> -<template> - <div class="hb-box"> - <!-- <van-nav-bar title="红包账户" left-arrow @click-left="onClickLeft" /> --> - <v-navbar title="红包账户"></v-navbar> - <div class="color-squre"> - <img src="../../../../static/img/bg.png" style="width:100%;height:100%"> - </div> - <div class="balance-box"> - <div class="left"> - <p class="tit"> - <img src="../../../../static/img/hongbaoxiao.png" />红包余额(元) - <!-- <img src="../static/img/hongbaoxiao.png" />红包余额(元) --> - </p> - <p class="balance">{{this.balance}}</p> - </div> - <div class="right"> - <van-button - round - type="info" - size="small" - color="#896EDB" - style="width:75px; - background:rgba(137,110,219,1); - box-shadow:0px 5px 7px 0px rgba(137,98,255,0.32); - border-radius:14px; - margin-top:44px;box-shadow:0px 10px 14px 0px rgba(137,98,255,0.32);border: .02rem solid rgb(137, 110, 219);" - @click="goNext" - >提现</van-button> - </div> - </div> - <div class="tab"> - <div class="packet-records" @click="checkPacket" :class="col.clOne"> - <p>红包记录</p> - </div> - <div class="withdrawals-record" @click="checkWithdrawals" :class="col.clTwo"> - <p>提现记录</p> - </div> - <div class="packet-box" v-if="tabValue=='packet'"> - <van-list - v-model="loading" - :finished="finished" - finished-text="没有更多了" - @load="onLoad" - > - <div class="content-box" v-for="(item,index) in packet" :key="index"> - <p>{{item.redPacketTitle}}</p> - <p> - <span>{{item.redPacketDtl}}</span> - <span>{{item.amount}}</span> - </p> - <p>{{item.creTimeStr}}</p> - </div> - </van-list> - </div> - <div class="withdrawals-box" v-if="tabValue=='withdrawals'"> - <van-list - v-model="loadingTwo" - :finished="finishedTwo" - finished-text="没有更多了" - @load="onLoadTwo" - > - <div class="content-box-two" v-for="(item,index) in withdrawals" :key="index"> - <div class="left"> - <p>{{item.expendDesc}}</p> - <p>{{item.creTimeStr}}</p> - </div> - <div class="right"> - <p>{{item.amount}}</p> - </div> - </div> - </van-list> - </div> - </div> - </div> -</template> -<script> -import Vue from "vue"; -import { NavBar } from "vant"; -import myApi from "../../../api/index" -Vue.use(NavBar); -export default { - data() { - return { - list: [], - loading: false, - loadingTwo:false, - finished: false, - finishedTwo:false, - balance: "", //红包余额 - tabValue: "packet", //tab切换控制 - packet: [ - ], //红包记录数据 - withdrawals: [ - ], //提现记录数据 - col: { - clOne: { - checked: true - }, - clTwo: { - checked: false - } - }, //样式控制 - phoneNumber: "", //账号绑定的支付宝账号 - state: 2, //是否绑定支付宝 - }; - }, - created(){ - this.$api.redPacketInit().then((res)=>{ - //console.log(res) - this.balance = res.body.balanceAmount - if(res.body.aliAccount!=null){ - this.phoneNumber = res.body.aliAccount - this.state = 1 - } - }) - }, - mounted(){ - // this.$api.redPacketIncomeList().then((res)=>{ - // //console.log(res) - // this.packet = res.body.items - // }) - - }, - updated(){ - window.onresize - }, - methods: { - onLoadTwo(){ - if(!this.finishedTwo){ - // 异步更新数据 - if(this.withdrawals.length<=0){ - this.$api.redPacketExpendList().then((res)=>{ - //console.log(res) - if(res.body.items.length>0){ - this.withdrawals = [...res.body.items] - // 加载状态结束 - this.loadingTwo = false; - } - if(res.body.items.length==0){ - //console.log(1) - this.loadingTwo = false; - this.finishedTwo = true; - } - }) - }else{ - this.$api.redPacketExpendList({ - incomeId: this.withdrawals[this.withdrawals.length-1].id, - }).then((res)=>{ - //console.log(res) - if(res.body.items.length>0){ - this.withdrawals = [...this.withdrawals,...res.body.items] - // 加载状态结束 - - this.loadingTwo = false; - } - if(res.body.items.length==0){ - //console.log(1) - this.loadingTwo = false; - this.finishedTwo = true; - } - }) - } - - } - - - }, - onLoad() { - console.log(1) - if(!this.finished){ - // 异步更新数据 - if(this.packet.length<=0){ - this.$api.redPacketIncomeList({}).then((res)=>{ - //console.log(res) - if(res.body.items.length>0){ - this.packet = [...res.body.items] - // 加载状态结束 - this.loading = false; - } - if(res.body.items.length==0){ - //console.log(1) - this.loading = false; - this.finished = true; - } - }) - }else{ - this.$api.redPacketIncomeList({ - incomeId: this.packet[this.packet.length-1].id, - }).then((res)=>{ - //console.log(res) - if(res.body.items.length>0){ - this.packet = [...this.packet,...res.body.items] - // 加载状态结束 - this.loading = false; - } - if(res.body.items.length==0){ - //console.log(1) - this.loading = false; - this.finished = true; - } - }) - } - - } - - - },//滑动加载 - onClickLeft() { - this.$router.go(-1); - }, //返回 - checkPacket() { - this.tabValue = "packet"; - this.col.clOne.checked = true; - this.col.clTwo.checked = false; - }, //切换红包记录 - checkWithdrawals() { - //console.log('checkWithdrawals') - this.$api.redPacketExpendList().then((res)=>{ - //console.log(res) - this.withdrawals = res.body.items - }) - this.tabValue = "withdrawals"; - this.col.clOne.checked = false; - this.col.clTwo.checked = true; - }, //切换提现记录 - goNext() { - this.$router.push({ - name: "withdrawals", - params: { - phoneNumber: this.phoneNumber, - balance: this.balance, - state: this.state, - } - }); - } //跳转提现 - } -}; -</script> -<style lang="less" scoped> -.hb-box { - & { - position: relative; - background-color: #f0f1f3; - height: 100vh; - } - .color-squre { - width: 100%; - height: 130px; - // background-image: url("../static/img/bg.png"); - // background-size: cover; - } - .balance-box { - & { - width: 94%; - height: 115px; - background: rgba(255, 255, 255, 1); - box-shadow: 0px 8px 20px 0px rgba(66, 61, 93, 0.05); - border-radius: 10px; - position: absolute; - top: 1.8rem; - left: 3%; - display: flex; - } - .left { - & { - width: 50%; - } - .tit { - color: #333333; - font-size: 14px; - font-weight: Medium; - text-align: center; - margin-top: 9px; - img { - width: 27px; - height: 32px; - position: relative; - top: 15px; - } - } - .balance { - color: #333333; - font-size: 36px; - font-weight: Bold; - text-align: center; - margin-top: 10px; - margin-bottom: 14px; - } - } - .right { - & { - width: 50%; - margin-right: 10px; - text-align: center; - } - } - } - .tab { - & { - width: 94%; - display: flex; - flex-wrap: wrap; - margin-top: 1.06rem; - margin-left: 3%; - } - .checked { - background-color: white !important; - color: #896edb !important; - } - .packet-box::-webkit-scrollbar,.withdrawals-box::-webkit-scrollbar { - display: none; - } - .packet-records { - width: 50%; - height: 44px; - font-weight: Bold; - font-size: 16px; - color: #666666; - background-color: #fafafa; - border-radius: 10px 10px 0px 0px; - p { - text-align: center; - line-height: 44px; - } - } - .withdrawals-record { - font-weight: Bold; - width: 50%; - height: 44px; - font-size: 16px; - color: #666666; - background-color: #fafafa; - border-radius: 10px 10px 0px 0px; - p { - text-align: center; - line-height: 44px; - } - } - .packet-box { - & { - width: 100%; - height: 325px; - overflow: scroll; - background-color: #ffffff; - box-sizing: border-box; - padding: 8px 24px 24px 24px; - } - .content-box { - border-bottom: 1px solid #eeeeee; - box-sizing: border-box; - padding: 16px 0 16px 0; - p:nth-of-type(1) { - font-size: 14px; - font-weight: bold; - margin-bottom: 5px; - } - p:nth-of-type(2) { - margin-bottom: 10px; - span:nth-of-type(1) { - display: inline-block; - font-size: 12px; - color: #666666; - width: 50%; - text-align: left; - } - span:nth-of-type(2) { - font-size: 18px; - color: #ff6666; - display: inline-block; - text-align: right; - width: 48%; - } - } - p:nth-of-type(3) { - margin-bottom: 10px; - font-size: 12px; - color: #666666; - } - } - } - .withdrawals-box { - & { - width: 100%; - height: 300px; - overflow: scroll; - background-color: #ffffff; - box-sizing: border-box; - padding: 8px 24px 24px 24px; - } - .content-box-two { - border-bottom: 1px solid #eeeeee; - box-sizing: border-box; - padding: 16px 0 16px 0; - display: flex; - .left, - .right { - width: 50%; - } - .left { - p:nth-of-type(1) { - margin-bottom: 10px; - color: #666666; - font-size: 12px; - } - p:nth-of-type(2) { - color: #666666; - font-size: 12px; - } - } - .right { - box-sizing: border-box; - padding-top: 10px; - p { - color: #666666; - font-size: 18px; - text-align: right; - } - } - } - } - } -} -</style> \ No newline at end of file diff --git a/src/views/mine/redEnvelopes/withdrawals.vue b/src/views/mine/redEnvelopes/withdrawals.vue deleted file mode 100644 index b83d3b2..0000000 --- a/src/views/mine/redEnvelopes/withdrawals.vue +++ /dev/null @@ -1,404 +0,0 @@ -<!-- - * @Author: 小明丶 - * @Date: 2019-10-24 15:13:33 - * @LastEditors: 小明丶 - * @LastEditTime: 2019-11-08 15:43:18 - * @Description: - --> -<template> - <div class="withdrawals-box"> - <v-navbar title="提现"></v-navbar> - <div class="zfb-box"> - <div class="left"> - <p>提现到</p> - </div> - <div class="middle"> - <i class="iconfont iconzhifubao"></i> - </div> - <div class="right"> - <p v-if="sta == 1" style="color:#333333;font-size:14px;margin-bottom:5px;">支付宝账号</p> - <p - v-if="sta == 1" - style="color:#999999;font-size:14px;" - >{{this.userNumber}}</p> - <p - v-if="sta == 2" - style="color:#999999;font-size:14px;margin-top:10px" - @click="showPopup" - >请绑定支付宝账号</p> - </div> - </div> - <van-popup - v-model="show" - @close="aferClose" - class="clearfix" - style="width:280px;height:280px;" - > - <div class="payCode" style="width: 280px;height: 170px;position: relative;"> - <van-icon name="cross" size="20px" style="position: absolute;right:10px;top:10px;color:#cccccc" @click="close" color="#CCCCCC"/> - <img src="../../../../static/img/back.png" style="width:280px;height:170px"> - <img class="myimg" :src="qrCode" style="width: 110px;height: 110px; position: absolute; - top: 45px; - left: 85px; - z-index: 1000;"/> - </div> - <div class="prod" style="width: 280px;height: 110px;text-align: center;background-color: white;z-index: 1000;"> - <p>0.01元</p> - <p>请使用支付宝扫描并进行支付</p> - <p>红包金额将提现至该支付宝账户</p> - </div> - </van-popup> - <van-popup - v-model="showTwo" - @close="aferClose" - style="width:200px;height:200px;" - > - <van-icon name="cross" size="20px" style="position: absolute;right:10px;top:10px;color:#cccccc" @click="closeTwo" color="#CCCCCC"/> - <p style="text-align:center;margin-top:55px;"><van-icon name="checked" size="56px" color="#896edb"/></p> - <p style="font-size:18px;font-weight:550;margin-top:10px;text-align:center">提现成功</p> - </van-popup> - <div class="money-box"> - <div class="tit"> - <p>提现金额</p> - </div> - <div class="input-box"> - <span>¥</span> - <van-field - v-model="value" - placeholder="请输入提现金额" - style="width:70%;display:inline-block;margin-left:30px;font-size:16px;" - :border="false" - maxlength="10" - /> - <span @click="allWithd">全部提现</span> - </div> - <div class="yue"> - <p> - <span>账户余额</span> - <span>¥{{this.balanceAmount}}</span> - <span>(余额不足10元无法提现)</span> - </p> - </div> - </div> - <van-button - v-if="balanceAmount>10" - round - type="info" - color="#896EDB" - style="width:86%;margin-top:60px;margin-left:7%;background:#896EDB;color:#fff;border: .02rem solid rgb(137, 110, 219);" - @click="getWidthrawals" - >立即提现</van-button> - <van-button - v-else - disabled - round - type="info" - color="#896EDB" - style="width:86%;margin-top:60px;margin-left:7%;background:#896EDB;color:#fff;border: .02rem solid rgb(137, 110, 219);" - @click="getWidthrawals" - >立即提现</van-button> - <p class="notes">注:提现单笔限额为1000元,每日最多可提现3次。</p> - </div> -</template> -<script> -import Vue from 'vue'; -import QRCode from "qrcode"; -//import { setInterval } from 'timer'; -import { Notify } from 'vant'; -import { Icon } from 'vant'; - -Vue.use(Icon); -Vue.use(Notify); -export default { - data() { - return { - qrCode: "", - params: {}, //路由接收的参数 - show: false, //弹出层控制 - showTwo:false, - payQrCodeUrl: "", - value: "", - aliAccount:'', - timerTwo:'',//轮训定时器 - balanceAmount:'', - sta:0, - userNumber:'', - }; - }, - created() { - this.$api.redPacketInit().then((res)=>{ - console.log(res) - this.balanceAmount = res.body.balanceAmount - this.userNumber = res.body.aliAccount - if(res.body.aliAccount){ - this.sta = 1 - }else{ - this.sta = 2 - } - }) - // this.$api.redPacketBindAliInfo().then(res => { - // console.log(1); - // this.payQrCodeUrl = res.body.payQrCodeUrl; - // let url = res.body.payQrCodeUrl; - // console.log(url); - // QRCode.toDataURL( - // url, - // { - // margin: 1, - // width: 100 - // }, - // (err, url) => { - // //if (err) console.error(err); - // this.qrCode = url; - // console.log(this.qrCode); - - // } - // ); - // }); - }, - mounted() { - //console.log(this.$route.params) - this.params = this.$route.params; - }, - updated(){ - window.onresize - }, - beforeDestroy() { - clearInterval(this.timerTwo); - this.timerTwo = null; - }, - methods: { - close(){ - clearInterval(this.timerTwo) - this.timerTwo = '' - this.show = false; - },//绑定支付宝弹出层关闭按钮 - closeTwo(){ - this.showTwo = false - },//提现成功关闭按钮 - aferClose(){ - clearInterval(this.timerTwo) - this.timerTwo = '' - this.show = false; - },//支付宝绑定弹出层关闭后执行的事件 - getWidthrawals() { - if (this.value <= 10) { - Notify({ type: "primary", message: "提现金额需大于10元" }); - } else if(this.value >= 1000){ - Notify({ type: "primary", message: "提现金额需小于1000元" }); - }else { - this.$api - .redPacketExpend({ - amount: this.value - }) - .then(res => { - console.log(res); - if(res.errMsg=='操作成功'){ - this.showTwo = true - this.$api.redPacketInit().then((res)=>{ - this.balanceAmount = res.body.balanceAmount - }) - } - }); - } - }, //提现 - allWithd() { - this.value = this.balanceAmount; - }, //全部提现 - onClickLeft() { - this.$router.go(-1); - }, //返回按钮 - showPopup() { - this.$api.redPacketBindAliInfo().then(res => { - console.log(1); - this.payQrCodeUrl = res.body.payQrCodeUrl; - let url = res.body.payQrCodeUrl; - console.log(url); - QRCode.toDataURL( - url, - { - margin: 1, - width: 100 - }, - (err, url) => { - //if (err) console.error(err); - this.qrCode = url; - console.log(this.qrCode); - - } - ); - }); - this.show = true; - this.timerFun(); - }, //弹出层控制 - timerFun(){ - var _this = this - this.timerTwo = setInterval(()=>{ - _this.$api.redPacketInit().then((res)=>{ - if(res.body.aliAccount){ - clearInterval(_this.timerTwo); - _this.timerTwo = '' - _this.show = false - Notify({ type: "primary", message: "绑定成功" }); - _this.userNumber = res.body.aliAccount - _this.sta = 1 - return - }else{ - console.log('未清除') - //clearInterval(this.timerTwo); - //this.show = false - //Notify({ type: "primary", message: "绑定失败,请稍后再试" }); - //window.location.reload() - } - }, - err=>{ - err,clearInterval(_this.timerTwo); - }) - },10000) - }, - } -}; -</script> -<style lang="less" scoped> -.withdrawals-box { - & { - - background-color: #f0f1f3; - height: 100vh; - } - .clearfix{ - *zoom: 1; -} -.clearfix:after { - clear: both; - display: block; - visibility: hidden; - height: 0; - content: "."; -} - .zfb-box { - height: 60px; - width: 94%; - background-color: white; - border-radius: 3px; - margin-left: 3%; - margin-top: 20px; - display: flex; - .left { - width: 30%; - box-sizing: border-box; - padding: 21px 0 23px 13px; - - p { - color: #333333; - font-size: 18px; - font-weight: Bold; - text-align: left; - } - } - .middle { - width: 10%; - box-sizing: border-box; - padding: 12px 0 12px 0; - i { - font-size: 36px; - color: #00a9f2; - } - } - .right { - width: 60%; - box-sizing: border-box; - padding: 15px 0 0 10px; - } - } - .money-box { - width: 94%; - background-color: white; - margin-left: 3%; - height: 145px; - margin-top: 20px; - border-radius: 3px; - .tit { - height: 50px; - box-sizing: border-box; - padding: 18px 0 17px 13px; - p { - color: #333333; - font-weight: bold; - font-size: 16px; - } - } - .input-box { - border-bottom: 1px solid #eeeeee; - box-sizing: border-box; - padding-left: 13px; - padding-right: 12px; - vertical-align: middle; - position: relative; - span:nth-of-type(1) { - font-size: 18px; - display: inline-block; - position: absolute; - bottom: 15px; - z-index: 1000; - } - span:nth-of-type(2) { - font-size: 14px; - color: #896edb; - text-decoration: underline; - position: absolute; - bottom: 15px; - z-index: 1000; - } - } - .yue { - box-sizing: border-box; - padding-left: 13px; - padding-top: 16px; - p { - span:nth-of-type(1), - span:nth-of-type(3) { - font-size: 12px; - color: #999999; - } - span:nth-of-type(2) { - font-size: 12px; - } - } - } - } - .notes { - font-size: 12px; - color: #999999; - text-align: center; - margin-top: 12px; - } - .payCode { - - - - .myimg { - position: absolute; - top: 45px; - left: 85px; - z-index: 1000; - } - } - .prod { - - - p:nth-of-type(1) { - font-size: 18px; - color: #333333; - margin-bottom: 20px; - margin-top: 25px; - } - p:nth-of-type(2), - p:nth-of-type(3) { - font-size: 12px; - color: #999999; - margin-bottom: 5px; - } - } -} -</style> \ No newline at end of file diff --git a/src/views/old/merchant/gjzj/baseInfo.vue b/src/views/old/merchant/gjzj/baseInfo.vue deleted file mode 100644 index a0d5b18..0000000 --- a/src/views/old/merchant/gjzj/baseInfo.vue +++ /dev/null @@ -1,183 +0,0 @@ -<!-- -* @Author: c.y - * @Date: 2019-09-02 09:01:22 - * @LastEditors: 小明丶 - * @LastEditTime: 2019-09-02 09:15:03 - * @Description: - --> -<template> - <div class="open-gjzj-page"> - <group> - <div class="title"> - <span class="line"></span> - 基本信息 - </div> - <x-input title='商户名称' v-model.trim="storeInfo.merName" readonly text-align='right'></x-input> - <x-input title='营业执照号' v-model.trim="storeInfo.licenseNo" readonly text-align='right'></x-input> - <x-input title='地址' v-model.trim="storeInfo.merAddr" readonly text-align='right'></x-input> - <x-input title='详细地址' v-model.trim="storeInfo.merDtlAddr" readonly text-align='right'></x-input> - <x-input title='营业面积' v-model.trim="storeInfo.merArea" placeholder='请输入' :max='10' text-align='right'> - </x-input> - <datetime title="成立日期" v-model.trim="storeInfo.foundDate" placeholder='请选择'></datetime> - <datetime v-if="isHeyd" v-model="storeInfo.agreeStartTime" format="YYYY-MM-DD" title="协议开始时间"></datetime> - <datetime v-if="isHeyd" v-model="storeInfo.agreeEndTime" format="YYYY-MM-DD" title="协议结束时间"></datetime> - </group> - <f-space></f-space> - <group> - <div class="title"> - <span class="line"></span> - 法人信息 - </div> - <x-input title='法人姓名' v-model.trim="storeInfo.legalName" readonly text-align='right'></x-input> - <x-input title='法人身份证号' v-model.trim="storeInfo.legalIdNo" readonly text-align='right'></x-input> - <x-input title='法人电话' v-model.trim="storeInfo.legalMblNo" placeholder='请输入' :max='11' text-align='right'> - </x-input> - <x-input title='法人家庭住址' v-model.trim="storeInfo.legalHomeAddr" placeholder='请输入' :max='20' - text-align='right'></x-input> - </group> - <f-space></f-space> - <group> - <div class="title"> - <span class="line"></span> - 联系人信息 - </div> - <x-input title='联系人姓名' v-model.trim="storeInfo.contactName" placeholder='请输入' :max='8' text-align='right'> - </x-input> - <x-input title='联系人电话' v-model.trim="storeInfo.contactMblNo" placeholder='请输入' :max='11' text-align='right'> - </x-input> - <x-input title='联系人职务' v-model.trim="storeInfo.contactDuty" placeholder='请输入' :max='10' text-align='right'> - </x-input> - </group> - <f-space></f-space> - - <group> - <div class="title"> - <span class="line"></span> - 银行信息 - </div> - <selector title='银行名称' placeholder='请选择' @on-change='handleBankChange' v-model="storeInfo.bankCode" - :options='bankList' :value-map="['code','name']" direction='rtl'></selector> - <x-input title='开户行' v-model.trim="storeInfo.bankDtlName" placeholder='请输入' :max='20' text-align='right'> - </x-input> - - <x-address v-model="calcAddress" title="地址" v-if="isHeyd" :list="addressList" hide-district placeholder="请选择" ></x-address> - - <x-input title='户名' v-model.trim="storeInfo.cardName" placeholder='请输入' text-align='right'></x-input> - <x-input title='银行账号' v-model.trim="storeInfo.cardNo" placeholder='请输入' :max='30' text-align='right'> - </x-input> - <selector title='账号类型' placeholder='请选择' @on-change='handleCardTypeChange' v-model="storeInfo.cardType" - :options='cardTypeList' :value-map="['code','name']" direction='rtl'></selector> - <x-input v-show="storeInfo.cardType==='pu'" v-if="isHeyd" title='开户行行号' v-model.trim="storeInfo.bankNo" :max='20' type="number" placeholder='请输入' - text-align='right'></x-input> - </group> - </div> -</template> - -<script> - import { - Datetime, - XAddress - } from 'vux'; - export default { - name: 'huaGjzjOpen', - components: { - Datetime, - XAddress - }, - data() { - return { - - }; - }, - props: { - addressList: { - type: Array, - default: [] - }, - address: { - type: Array, - default: [] - }, - storeInfo: { - type: Object - }, - // 银行列表 - bankList: { - type: Array, - default: () => { - return []; - } - }, - cardTypeList: { - type: Array, - default: () => { - return []; - } - }, - isHeyd: { - type: Boolean, - default: false - } - }, - computed:{ - calcAddress:{ - get(){ - return this.address || []; - }, - set(newV){ - this.$emit('addr-change', newV); - } - } - }, - methods: { - // 处理银行名称的改变 - handleBankChange(val) { - let currentEle = this.bankList.find(item => { - return item.code === val; - }) - // 银行卡姓名 - this.storeInfo.bankName = currentEle.name; - }, - // 账号类型 - handleCardTypeChange(val) { - let currentEle = JSON.parse(JSON.stringify(this.cardTypeList)).find((item) => { - return item.code = val; - }); - this.storeInfo.cardTypeName = currentEle.name; - } - } - }; - -</script> - -<style lang="less" scoped> - .open-gjzj-page { - .title { - padding: 14px 12px; - font-size: 15px; - color: #333; - - .line { - display: inline-block; - width: 2px; - height: 16px; - margin-right: 8px; - background: @color-text-three; - vertical-align: middle; - margin-top: -1px; - } - } - - .vux-datetime { - font-size: 15Px; - } - - .vux-datetime-value { - span { - width: 100%; - text-align: right; - } - } - } - -</style> diff --git a/src/views/old/merchant/gjzj/open.vue b/src/views/old/merchant/gjzj/open.vue deleted file mode 100644 index a86a527..0000000 --- a/src/views/old/merchant/gjzj/open.vue +++ /dev/null @@ -1,359 +0,0 @@ -<!-- - * @Date: 2019-09-02 09:01:22 - * @LastEditors: 小明丶 - * @LastEditTime: 2019-09-02 09:20:18 - * @Description: - --> -<template> - <div class="open-gjzj-index"> - <x-header :title="isHeyd ? '开通智享花':'开通购机直降'" :left-options="{backText: '', preventGoBack: true}" @on-click-back="goBackPage"> - </x-header> - <!-- v-show="step === 1" --> - <base-info - v-show="step === 1" - :cardTypeList="cardTypeList" - :bankList="bankList" - :isHeyd="isHeyd" - :address="address" - :addressList="addressList" - :storeInfo="storeInfo" - @addr-change="setCitycode" - > - </base-info> - <store-pictures v-show="step === 2 && !isHeyd" :storeInfo="storeInfo"></store-pictures> - <!-- 海尔云贷的文件上传type + 6 --> - <store-pictures v-show="step === 2 && isHeyd" :storeInfo="storeInfo" :filetype="6" ></store-pictures> - <!-- <store-pictures :storeInfo="storeInfo" :filetype="6" ></store-pictures> --> - <f-space type="large"></f-space> - <f-button @on-click="handleNextStep" fixed>{{ step === 1 ? '下一步' : '提交开通' }}</f-button> - </div> -</template> - -<script> - import BaseInfo from './baseInfo.vue'; - import StorePictures from './storePictures.vue'; - import formCheckAndComt from '@/utils/formCheckAndComb'; - - import { - dateFormat - } from 'vux' - - export default { - name: 'gjzjOpen_2', - components: { - BaseInfo, - StorePictures - }, - data() { - return { - step: 1, - stepText: '下一步', - bankList: [], - cardTypeList: [], - addressList:[], - address:[], - storeInfo: { - //协议开始时间,结束时间(智享花才有) - agreeStartTime:'', - agreeEndTime:'', - provCode:'',//省code - cityCode:'',//市code - bankNo:'',//开户行行号 - - merName: '', - licenseNo: '', - merAddr: '', - merDtlAddr: '', - merArea: '', - foundDate: '', - legalName: '', - legalIdNo: '', - legalMblNo: '', - legalHomeAddr: '', - contactName: '', - contactMblNo: '', - contactDuty: '', - bankCode: '', // 银行code - bankName: '', // 银行名称 - bankDtlName: '', // 开户行 - cardName: '', // 户名 - cardNo: '', // 银行卡号 - cardType: '', // 账号类型code - cardTypeName: '', // 账号类型name - licencePhotos: [], // 营业执照 - legalCardPhotos: [], // 法人身份证 - houseContractPhotos: [], // 房产证和租赁合同 - storePhotos: [], // 门店照 - mealBillPhotos: [], // 终端商品的定价单 - accreditFilePhotos: [], // 授权文件 - }, - // 验证开户信息字段 - storeCheckInfo: [{ - key: 'merArea', - tipType: 1, - message: '营业面积' - }, - { - key: 'foundDate', - tipType: 2, - message: '成立日期' - }, - - { - key: 'legalMblNo', - tipType: 1, - type: 'tel', - message: '法人电话' - }, - { - key: 'legalHomeAddr', - tipType: 1, - message: '法人家庭住址' - }, - { - key: 'contactName', - tipType: 1, - type: 'name', - message: '联系人姓名' - }, - { - key: 'contactMblNo', - tipType: 1, - type: 'tel', - message: '联系人电话' - }, - { - key: 'contactDuty', - tipType: 1, - message: '联系人职务' - }, - { - key: 'bankCode', - tipType: 2, - message: '银行名称' - }, - { - key: 'bankDtlName', - tipType: 1, - message: '开户行' - }, - { - key: 'cardName', - tipType: 1, - message: '户名' - }, - { - key: 'cardNo', - tipType: 1, - type:"bankCardNo", - message: '银行账号' - }, - ], - bankNo:'' - }; - }, - computed:{ - // 通过icon字段判断是智享云还是购机直降 - isHeyd(){ - return this.$route.query.icon=='scene_Staging-zxh'; - } - }, - created(){ - if(this.isHeyd){ - this.$api.getArea().then(res => { - this.addressList = res.body.provList; - }); - } - this.init(); - }, - methods: { - // 设置地区code - setCitycode(val){ - this.storeInfo.provCode = val[0]; - this.storeInfo.cityCode = val[1]; - this.address = val; - }, - goBackPage() { - if (this.step === 2) { - this.step -= 1; - } else { - this.$router.push({ - path: '/main/productManagement' - }); - } - }, - // 初始化页面 - init() { - let fn; - if(this.isHeyd){ - fn = this.$api.heydInitOpen; - }else{ - fn = this.$api.gjzjOpenInit; - } - fn().then(res => { - let body = res.body; - this.bankList = body.bankList; - this.cardTypeList = body.cardTypeList; - for (let i in this.storeInfo) { - if(Array.isArray(this.storeInfo[i])){ - this.storeInfo[i] = body[i] ? body[i] : []; - }else{ - this.storeInfo[i] = body[i] ? body[i] : ''; - } - } - if(this.isHeyd && body.cityCode){ - this.address.push(body.provCode+'') - this.address.push(body.cityCode+'') - } - this.storeInfo.foundDate = dateFormat(this.storeInfo.foundDate, 'YYYY-MM-DD'); - }); - }, - // 处理点击下一步跳转处理 - handleNextStep() { - // 判断表单字段必填性 - if (this.step === 1) { - // 智享花增加这两个字段验证 - if(this.isHeyd){ - let rules = [ - { - key: 'agreeStartTime', - tipType: 1, - message: '协议开始时间' - }, - { - key: 'agreeEndTime', - tipType: 1, - message: '协议结束时间' - }, - { - key: 'cityCode', - tipType: 2, - message: '地区' - } - ] - // 对公时验证开户行行号 - if(this.storeInfo.cardType ==='pu'){ - rules.push({ - key: 'bankNo', - tipType: 1, - message: '开户行行号' - }) - } - this.storeCheckInfo.push(...rules) - } - // 判断表单是否必填 - if (!formCheckAndComt.checkRequiredField(this.storeCheckInfo,this.storeInfo,this)) { - return false; - } - this.step += 1; - } else { - this.handleSubmitOpen(); - } - }, - // 处理提交 - handleSubmitOpen() { - - // 需要判断图片的字段 - let checkPicList = [{ - checkField: 'licencePhotos', - msg: '营业执照照片' - }, - { - checkField: 'legalCardPhotos', - msg: '法人身份证正反面照片' - }, - { - checkField: 'houseContractPhotos', - msg: '房产证或租赁合同' - }, - { - checkField: 'storePhotos', - msg: '外景照、门头照片、前台照、内景照' - }, - { - checkField: 'mealBillPhotos', - msg: '套餐活动清单、终端商品定价清单' - }, - { - checkField: 'accreditFilePhotos', - msg: '运营商授权文件' - }, - ]; - // 判断图片是否上传 - for (let item of checkPicList) { - if (!(this.storeInfo[item.checkField] instanceof Array && - this.storeInfo[item.checkField].length)) { - this.$notify('请上传' + item.msg); - - return false; - } - } - - // 由于后端初始化返回的图片字段{url: xx, id: 121}, 而此时在提交的时候,我们 - // 提交图片字段为[id1, id2], 为id的列表 - let picIdList = { - licencePhotos: [], - legalCardPhotos: [], - houseContractPhotos: [], - storePhotos: [], - mealBillPhotos: [], - accreditFilePhotos: [] - }; - for (let i in picIdList) { - if (this.storeInfo[i] instanceof Array && - this.storeInfo[i].length) { - // 后端图片初始文件id为id.而控件上传id为fieldId,这里需要兼容处理一下 - this.storeInfo[i].forEach((item) => { - item.fileId ? picIdList[i].push(item.fileId) : - picIdList[i].push(item.id) - }); - } - } - - - // 覆盖submitInfo中的 (agreeStartTime 、agreeEndTime) - let time = { - agreeStartTime:this.storeInfo.agreeStartTime.split('-').join(''), - agreeEndTime:this.storeInfo.agreeEndTime.split('-').join('') - } - let submitInfo = { - ...this.storeInfo, - ...time, - ...picIdList - }; - - - let fn; - if(this.isHeyd){ - // 对私时开户行行号不传值 - if(this.storeInfo.cardType ==='pr'){ - submitInfo.bankNo = ''; - } - fn = this.$api.heydOpen; //海尔云贷接口 - }else{ - fn = this.$api.gjzjOpenOpen; - } - - fn(submitInfo).then((res) => { - this.$router.push({ - path: '/gjzj/open-result', - // 提交后,默认跳转审核结果页面,状态为开通中 - query: { - openStatus: 1, - icon:this.$route.query.icon - } - }) - }); - } - } - }; - -</script> - -<style lang="less" scoped> -.open-gjzj-index{ - padding-top: 54px; - background-color: #f1f1f1; -} -</style> - diff --git a/src/views/old/merchant/gjzj/openResult.vue b/src/views/old/merchant/gjzj/openResult.vue deleted file mode 100644 index 5f09f6a..0000000 --- a/src/views/old/merchant/gjzj/openResult.vue +++ /dev/null @@ -1,100 +0,0 @@ -<!-- - * @Date: 2019-09-02 09:01:22 - * @LastEditors: 小明丶 - * @LastEditTime: 2019-09-04 10:50:04 - * @Description: - --> - -<template> - <div class="gjzj-result-page"> - <x-header :title="isHeyd ? '开通智享花' : '开通购机直降'" :left-options="{backText:'',preventGoBack:true}" - @on-click-back="pageGoBack"></x-header> - <div class="status-icon"> - <i v-if="openStatus === 1" - class="iconfont scene_Staging-shenhezhong1"></i> - <i v-if="openStatus === 2" - class="iconfont scene_Staging-danxuan"></i> - <i v-if="openStatus === 3" - class="iconfont scene_Staging-shibai1"></i> - </div> - <div class="tips"> - <p v-if="openStatus === 1">您的资料已提交成功,请耐心等待审核。</p> - <p v-if="openStatus === 2">您已通过审核。</p> - <p v-if="openStatus === 3">产品被停用,请联系管理员</p> - </div> - <f-button @on-click="handleBack">{{ buttonText }}</f-button> - </div> -</template> - -<script> - export default { - name: 'add-account', - data() { - return { - // 0-待开通,1-开通中,2-已开通,3-开通失败 - openStatus: 0, // 开通状态 - buttonText: '返回', // 底部按钮文字 - }; - }, - computed:{ - isHeyd(){ - let icon = this.$route.query.icon; - if(icon ==='scene_Staging-zxh'){ - return true - }else{ - return false - } - } - }, - methods: { - pageGoBack(){ - this.$router.push({ - path: '/main/productManagement' - }); - }, - handleBack () { - // 如果是在开通中的话,那么底部有重新提交按钮 - // 点击重新提交,那么用户可以重新填写资料 - if (this.openStatus === 1) { - this.$router.push({ - path: `/gjzj/open?icon=${this.$route.query.icon}` - }); - } else { - this.$router.push({ - path: '/main/productManagement' - }); - } - - }, - }, - created() { - this.openStatus = Number(this.$route.query.openStatus); - this.buttonText = this.openStatus === 1 ? '重新提交' : '返回'; - } - }; -</script> - -<style lang="less" scoped> - .gjzj-result-page { - height: 100%; - padding-top: 54px; - background-color: #f1f1f1; - .status-icon { - padding-top: 20px; - text-align: center; - } - .iconfont { - font-size: 64px; - color: #BFA073; - } - .scene_Staging-shibai1 { - color: #F76260; - } - .tips { - color: #999; - font-size: 14px; - line-height: 1.6; - text-align: center; - } - } -</style> diff --git a/src/views/old/merchant/gjzj/storePictures.vue b/src/views/old/merchant/gjzj/storePictures.vue deleted file mode 100644 index 58d94b7..0000000 --- a/src/views/old/merchant/gjzj/storePictures.vue +++ /dev/null @@ -1,71 +0,0 @@ -<!-- - * @Date: 2019-09-02 09:01:22 - * @LastEditors: 小明丶 - * @LastEditTime: 2019-09-02 09:14:44 - * @Description: - --> -<template> - <div class="gjzj-picture-page"> - <div class="pic-content"> - <UploadFile - :fileType="9+filetype" - :title="'营业执照照片'" - :picList="storeInfo.licencePhotos"></UploadFile> - <UploadFile - :fileType="10+filetype" - :title="'法人身份证正反面照片'" - :picList="storeInfo.legalCardPhotos"></UploadFile> - <UploadFile - :fileType="11+filetype" - :title="'房产证或租赁合同'" - :picList="storeInfo.houseContractPhotos"></UploadFile> - <UploadFile - :fileType="12+filetype" - :title="'外景照、门头照片、前台照、内景照'" - :picList="storeInfo.storePhotos"></UploadFile> - <UploadFile - :fileType="13+filetype" - :title="'套餐活动清单、终端商品定价清单'" - :picList="storeInfo.mealBillPhotos"></UploadFile> - <UploadFile - :fileType="14+filetype" - :title="'运营商授权文件'" - :picList="storeInfo.accreditFilePhotos"></UploadFile> - </div> - </div> -</template> - -<script> - import UploadFile from '@/components/old/upload/uploadImg.vue'; - - export default { - name: 'gjzjStorePicture', - components: { - UploadFile - }, - data() { - return { - }; - }, - props: { - storeInfo: { - type: Object, - required: true, - }, - // + 6的是海尔云贷的上传 - filetype:{ - type:Number, - default:0 - } - } - }; -</script> - -<style lang="less" scoped> - .gjzj-picture-page { - background: @color-white; - .pic-content { - padding: 0 15px; - } - } -</style> diff --git a/src/views/old/merchant/gzzj/merBaseInfo.vue b/src/views/old/merchant/gzzj/merBaseInfo.vue deleted file mode 100644 index 8427205..0000000 --- a/src/views/old/merchant/gzzj/merBaseInfo.vue +++ /dev/null @@ -1,168 +0,0 @@ -<!-- -* @Author: c.y - * @Date: 2019-09-02 09:01:22 - * @LastEditors: 小明丶 - * @LastEditTime: 2019-09-02 09:15:03 - * @Description: - --> -<template> - <div class="open-heyd-page"> - <group> - <x-input title='运营商内部名称' v-model.trim="merInfo.merchantName" placeholder='请输入' :max='100' text-align='right'></x-input> - <x-input title='营业执照号' v-model.trim="merInfo.licenseNo" :max='30' text-align='right'></x-input> - <x-input title='营业执照名称' v-model.trim="merInfo.orgName" placeholder='请输入' :max='50' text-align='right'></x-input> - </group> - <f-space></f-space> - <group> - <x-input title='法人名称' v-model.trim="merInfo.legalName" :max='30' placeholder='请输入' text-align='right'></x-input> - <x-input title='实控人身份证号' v-model.trim="merInfo.actualCtlIdCardNo" :max='18' placeholder='请输入' text-align='right'></x-input> - <x-input title='实控人身份证地址' v-model.trim="merInfo.actualCtl" placeholder='请输入' text-align='right'></x-input> - <x-input title='实控人手机号' v-model.trim="merInfo.actualCtlPhone" placeholder='请输入' :max='11' text-align='right'></x-input> - </group> - <f-space></f-space> - <group> - <van-field v-model.trim="merInfo.addrText" clearable :readonly="true" right-icon="arrow" label="省市区" placeholder=" 请选择" - @click="isShowArea = !isShowArea" text-align='right'/> - <x-input title='详细地址' v-model.trim="merInfo.regDetailAddr" placeholder='请输入' :max='100' text-align='right'></x-input> - </group> - <f-space></f-space> - <group> - <x-input title='商户账户名称' v-model.trim="merInfo.acctName" placeholder='请输入' text-align='right' /> - <selector title='商户银行名称' placeholder='请选择' @on-change='handleBankChange' v-model="merInfo.acctBankname" - :options='bankList' :value-map="['code','name']" direction='rtl'></selector> - <x-input title='开户支行名称' v-model.trim="merInfo.acctOpenBankname" placeholder='请输入' :max='50' text-align='right'/> - <x-input title='开户银行卡号' v-model.trim="merInfo.acctNo" placeholder='请输入' :max='30' text-align='right'/> - <x-input title='开户行联行号' v-model.trim="merInfo.acctCnaps" :max='20' placeholder='请输入' - text-align='right'></x-input> - </group> - <van-popup v-model="isShowArea" position="bottom" :close-on-click-overlay="false"> - <van-area ref='Area' :area-list='areaList' @cancel="closeAreaModal" @confirm="setAreaValue"></van-area> - </van-popup> - </div> - -</template> - -<script> - import {calcArea} from '@/utils/index'; - import { - mapState, - mapActions - } from 'vuex'; - import { - Datetime, - XAddress, - } from 'vux'; - export default { - name: 'heydMerBase', - components: { - Datetime, - XAddress, - ...mapState(['areaList']) - }, - data() { - return { - areaList:{//地区列表 - province_list:{}, //省 - city_list:{}, //市 - county_list:{}, //地区、县 - }, - }; - }, - props: { - addressList: { - type: Array, - default: [] - }, - isShowArea: { - type: Boolean, - default: false - }, - merInfo: { - type: Object, - }, - // 银行列表 - bankList: { - type: Array, - default: () => { - return []; - } - }, - }, - computed:{ - - }, - methods: { - ...mapActions(['getArea']), - // 获取地区列表 - getArea() { - Vue.prototype.$api.getArea().then((res) => { - let { provList } = res.body; - let obj = calcArea(provList) - this.areaList = { - province_list:obj.province_list, - city_list:obj.city_list, - county_list:obj.county_list - } - }).catch((err) => { - - }); - }, - //关闭地区弹窗 - closeAreaModal() { - this.isShowArea = false; - this.$refs.Area.reset() - }, - //保存 地区选择 - setAreaValue(arr) { - this.merInfo.addrText = arr[0].name + '-' + arr[1].name + '-' + arr[2].name; - this.merInfo.regProvinceCode = arr[0].code; - this.merInfo.regCityCode = arr[1].code; - this.merInfo.regDistrictCode = arr[2].code; - this.isShowArea = false; - this.$refs.Area.reset() - }, - // 处理银行名称的改变 - handleBankChange(val) { - let currentEle = this.bankList.find(item => { - return item.code === val; - }) - }, - }, - created() { - this.getArea(); - }, - }; - -</script> - -<style lang="less" scoped> - .open-heyd-page { - .title { - padding: 14px 12px; - font-size: 15px; - color: #333; - - .line { - display: inline-block; - width: 2px; - height: 16px; - margin-right: 8px; - background: @color-text-three; - vertical-align: middle; - margin-top: -1px; - } - } - - .vux-datetime { - font-size: 15Px; - } - - .vux-datetime-value { - span { - width: 100%; - text-align: right; - } - } - } - -</style> diff --git a/src/views/old/merchant/gzzj/merOpen.vue b/src/views/old/merchant/gzzj/merOpen.vue deleted file mode 100644 index 41fa191..0000000 --- a/src/views/old/merchant/gzzj/merOpen.vue +++ /dev/null @@ -1,416 +0,0 @@ -<!-- - * @Date: 2019-09-02 09:01:22 - * @LastEditors: 小明丶 - * @LastEditTime: 2019-09-02 09:20:18 - * @Description: - --> -<template> - <div class="open-heyd-index"> - <x-header :title="'开通公众租机'" :left-options="{backText: '', preventGoBack: true}" @on-click-back="goBackPage"> - </x-header> - <!-- v-show="step === 1" --> - <mer-info - v-show="step === 1" - :merRefList="merRefList" - :bankList="bankList" - :address="address" - :addressList="addressList" - :merInfo="merInfo" - @addr-change="setCitycode" - > - </mer-info> - <store-info - v-show="step === 2" - :bizLicenseTypeList="bizLicenseTypeList" - :storeInfo="storeInfo" - > - </store-info> - <mgr-info - v-show="step === 3" - :mgrReqVo="mgrReqVo" - > - </mgr-info> - <f-space type="large"></f-space> - <f-button @on-click="handleNextStep" fixed>{{ (step!== 3) ? '下一步' : '提交开通' }}</f-button> - </div> -</template> - -<script> - import MerInfo from './merBaseInfo.vue'; - import StoreInfo from './storeBaseInfo.vue'; - import MgrInfo from './storeBaseMgrInfo.vue'; - import formCheckAndComt from '@/utils/formCheckAndComb'; - import {calcArea} from '@/utils/index'; - import { - dateFormat - } from 'vux' - - export default { - name: 'gzzjMerOpen', - components: { - MerInfo, - StoreInfo, - MgrInfo - }, - data() { - return { - orgType: 0, - step: 1, - stepText: '下一步', - bankList: [], - cardTypeList: [], - merRefList:[], - addressList:[], - address:[], - bizLicenseTypeList: [{ - code: 1, - name: "无", - }, - { - code: 2, - name: "有", - }], - merInfo: { - acctOpenBankname:'', - merchantName: '', - licenseNo: '', - orgName:'', - actualCtl:'', - actualCtlIdCardNo:'', - actualCtlPhone:'', - addrText:'', - regDetailAddr:'', - acctName:'', - acctBankname:'', - acctNo:'', - acctCnaps:'', - addressList:'', - address:'', - regProvinceCode:'', - regCityCode:'', - regDistrictCode:'', - bankList:'', - }, - storeInfo: { - bizLicenseType:'', - storeName:'', - licenseNo:'', - orgName:'', - storeDetailAddr:'', - legalName:'', - actualCtl:'', - actualCtlPhone:'', - actualCtlIdCardNo:'', - addrText:'', - storeProvinceCode:'', - storeCityCode:'', - storeDistrictCode:'', - }, - mgrReqVo: { - staffName:'', - staffPhone:'', - staffIdcardNo:'', - }, - // 商户开户信息字段 - merCheckInfo: [ - { - key: 'merchantName', - tipType: 1, - message: '运营商内部名称' - }, - { - key: 'orgName', - tipType: 1, - message: '营业执照名称' - }, - { - key: 'licenseNo', - tipType: 1, - message: '营业执照编号' - }, - { - key: 'legalName', - tipType: 1, - message: '法人名称' - }, - { - key: 'actualCtl', - tipType: 1, - message: '实控人身份证地址' - }, - { - key: 'actualCtlIdCardNo', - tipType: 1, - message: '实控人身份证号' - }, - { - key: 'actualCtlPhone', - tipType: 1, - message: '实控人手机号' - }, - { - key: 'regDetailAddr', - tipType: 1, - message: '详细地址' - }, - { - key: 'acctName', - tipType: 1, - message: '商户账户名称' - }, - { - key: 'acctBankname', - tipType: 2, - message: '商户银行名称' - }, - { - key: 'acctNo', - tipType: 1, - message: '开户银行卡号' - }, - { - key: 'acctOpenBankname', - tipType: 1, - message: '开户支行名称' - }, - { - key: 'acctCnaps', - tipType: 1, - message: '开户行联行号' - }, - { - key: 'regProvinceCode', - tipType: 1, - message: '省' - }, - { - key: 'regCityCode', - tipType: 1, - message: '市' - }, - { - key: 'regDistrictCode', - tipType: 1, - message: '区' - }, - ], - // 门店验证信息 - storeCheckInfo: [ - { - key: 'bizLicenseType', - tipType: 2, - message: '商户是否有独立营业执照' - }, - { - key: 'storeName', - tipType: 1, - message: '门店名称' - }, - { - key: 'actualCtl', - tipType: 1, - message: '门店管理员姓名' - }, - { - key: 'actualCtlPhone', - tipType: 1, - message: '门店管理员手机号' - }, - { - key: 'actualCtlIdCardNo', - tipType: 1, - message: '门店管理员身份证号' - }, - ], - // 门店验证信息 - mgrCheckInfo: [ - { - key: 'staffName', - tipType: 1, - message: '营业员姓名' - }, - { - key: 'staffPhone', - tipType: 1, - message: '营业员电话' - }, - { - key: 'staffIdcardNo', - tipType: 1, - message: '营业员身份证号' - }, - ], - }; - }, - computed:{ - // 通过icon字段判断是智享云还是购机直降 - }, - created(){ - this.$api.getArea().then(res => { - this.addressList = res.body.provList; - }); - this.init(); - this.orgType = Number(this.$route.query.orgType); - }, - methods: { - // 获取地区列表 - getArea({commit}) { - Vue.prototype.$api.getArea().then((res) => { - let { provList } = res.body; - let obj = calcArea(provList) - commit(SET_AREA_LIST,{ - province_list:obj.province_list, - city_list:obj.city_list, - county_list:obj.county_list - }) - }).catch((err) => { - - }); - }, - // 设置地区code - setCitycode(val){ - this.merInfo.provCode = val[0]; - this.merInfo.cityCode = val[1]; - }, - goBackPage() { - if (this.step === 2 || this.step === 3) { - this.step -= 1; - } else { - this.$router.push({ - path: '/main/productManagement' - }); - } - }, - // 初始化页面 - init() { - let fn = this.$api.heydInitOpen; - fn().then(res => { - let body = res.body; - this.bankList = body.bankList; - this.cardTypeList = body.acctTypeList; - this.merRefList = body.acctEnpRelList; - for (let i in this.merInfo) { - if(Array.isArray(this.merInfo[i])){ - this.merInfo[i] = body[i] ? body[i] : []; - console.log(i+":"+this.merInfo[i]); - }else{ - this.merInfo[i] = body[i] ? body[i] : ''; - } - } - if(body.cityCode){ - this.address.push(body.provCode+'') - this.address.push(body.cityCode+'') - } - this.merInfo.merAddrText = this.merInfo.bizProvinceName +'-'+ this.merInfo.bizCityName +'-'+ this.merInfo.bizDistrictName; - if(this.merInfo.regProvinceName) { - this.merInfo.addrText = this.merInfo.regProvinceName + '-' + this.merInfo.regCityName + '-' + this.merInfo.regDistrictName; - } - }); - }, - // 处理点击下一步跳转处理 - handleNextStep() { - console.log("step:"+this.step); - // 判断表单字段必填性 - if (this.step === 1) { - if(!formCheckAndComt.checkRequiredField(this.merCheckInfo,this.merInfo,this)){ - return false; - } - this.step += 1; - }else if (this.step === 2) { - let rules = [ - ] - // 对公时验证开户行行号 - if(this.storeInfo.bizLicenseType ===2){ - rules.push({ - key: 'licenseNo', - tipType: 1, - message: '营业执照号' - }); - rules.push({ - key: 'orgName', - tipType: 1, - message: '营业执照名称' - }); - rules.push({ - key: 'storeProvinceCode', - tipType: 1, - message: '省份' - }); - rules.push({ - key: 'storeCityCode', - tipType: 1, - message: '市区' - }); - rules.push({ - key: 'storeDistrictCode', - tipType: 1, - message: '区域' - }); - rules.push({ - key: 'storeDetailAddr', - tipType: 1, - message: '门店详细地址' - }); - rules.push({ - key: 'legalName', - tipType: 1, - message: '法人姓名' - }); - rules.push({ - key: 'addrText', - tipType: 2, - message: '省市区选择' - }); - } - this.storeCheckInfo.push(...rules) - if(!formCheckAndComt.checkRequiredField(this.storeCheckInfo,this.storeInfo,this)){ - return false; - } - this.step += 1; - }else if (this.step === 3) { - if(!formCheckAndComt.checkRequiredField(this.mgrCheckInfo,this.mgrReqVo,this)){ - return false; - } - // 判断表单是否必填 - this.handleSubmitOpen(); - } - }, - // 处理提交 - handleSubmitOpen() { - - let submitInfo = { - ...this.merInfo, - openStoreInfo:{ - ...this.storeInfo, - mgrReqVo:{...this.mgrReqVo} - }, - - }; - - let fn; - fn = this.$api.gzzjOpen; //海尔云贷接口 - fn(submitInfo).then((res) => { - this.$router.push({ - path: '/gzzj/open-result', - // 提交后,默认跳转审核结果页面,状态为开通中 - query: { - orgType: this.orgType, - openStatus: 1, - icon:this.$route.query.icon - } - }) - }); - } - } - }; - -</script> - -<style lang="less" scoped> -.open-heyd-index{ - padding-top: 54px; - height:100%; - background-color: #f1f1f1; -} -</style> - diff --git a/src/views/old/merchant/gzzj/merPictures.vue b/src/views/old/merchant/gzzj/merPictures.vue deleted file mode 100644 index cd14bde..0000000 --- a/src/views/old/merchant/gzzj/merPictures.vue +++ /dev/null @@ -1,55 +0,0 @@ -<!-- - * @Date: 2019-09-02 09:01:22 - * @LastEditors: 小明丶 - * @LastEditTime: 2019-09-02 09:14:44 - * @Description: - --> -<template> - <div class="heyd-picture-page"> - <div class="pic-content"> - <UploadFile - :fileType="1" - :bizLicenseType= "2" - :title="'上传营业执照'" - :picList="storeInfo.licencePhotos"></UploadFile> - <div> - <span style="font-size: 15px">上传法人身份证正反面照</span><span style="font-size: 13px;color: #FF6666">(第一张正面,第二张反面)</span> - </div> - <UploadFile - :fileType="2" - :bizLicenseType= "2" - :title="''" - :picList="storeInfo.legalCardPhotos"></UploadFile> - </div> - </div> -</template> - -<script> - import UploadFile from '@/components/old/upload/uploadImgStore.vue'; - - export default { - name: 'heydMerPicture', - components: { - UploadFile - }, - data() { - return { - }; - }, - props: { - storeInfo: { - type: Object, - required: true, - }, - } - }; -</script> - -<style lang="less" scoped> - .heyd-picture-page { - background: @color-white; - .pic-content { - padding: 0 15px; - } - } -</style> diff --git a/src/views/old/merchant/gzzj/mgrBaseInfo.vue b/src/views/old/merchant/gzzj/mgrBaseInfo.vue deleted file mode 100644 index f3455e7..0000000 --- a/src/views/old/merchant/gzzj/mgrBaseInfo.vue +++ /dev/null @@ -1,79 +0,0 @@ -<!-- -* @Author: c.y - * @Date: 2019-09-02 09:01:22 - * @LastEditors: 小明丶 - * @LastEditTime: 2019-09-02 09:15:03 - * @Description: - --> -<template> - <div class="open-heyd-page"> - <group> - <x-input title='营业员姓名' v-model.trim="mgrInfo.staffName" placeholder='请输入' text-align='right'></x-input> - <x-input title='营业员身份证号' v-model.trim="mgrInfo.staffIdcardNo" placeholder='请输入' text-align='right'></x-input> - <x-input title='营业员电话' v-model.trim="mgrInfo.staffPhone" placeholder='请输入' :max='11' text-align='right'></x-input> - </group> - </div> -</template> - -<script> - import { - Datetime, - XAddress - } from 'vux'; - export default { - name: 'gzzjMgrBase', - components: { - Datetime, - XAddress - }, - data() { - return { - - }; - }, - props: { - mgrInfo: { - type: Object - }, - }, - computed:{ - - }, - methods: { - - } - }; - -</script> - -<style lang="less" scoped> - .open-heyd-page { - .title { - padding: 14px 12px; - font-size: 15px; - color: #333; - - .line { - display: inline-block; - width: 2px; - height: 16px; - margin-right: 8px; - background: @color-text-three; - vertical-align: middle; - margin-top: -1px; - } - } - - .vux-datetime { - font-size: 15Px; - } - - .vux-datetime-value { - span { - width: 100%; - text-align: right; - } - } - } - -</style> diff --git a/src/views/old/merchant/gzzj/mgrOpen.vue b/src/views/old/merchant/gzzj/mgrOpen.vue deleted file mode 100644 index 28d3379..0000000 --- a/src/views/old/merchant/gzzj/mgrOpen.vue +++ /dev/null @@ -1,147 +0,0 @@ -<!-- - * @Date: 2019-09-02 09:01:22 - * @LastEditors: 小明丶 - * @LastEditTime: 2019-09-02 09:20:18 - * @Description: - --> -<template> - <div class="open-heyd-index"> - <x-header :title="'开通公众租机'" :left-options="{backText: '', preventGoBack: true}" @on-click-back="goBackPage"> - </x-header> - <!-- v-show="step === 1" --> - <mgr-info - v-show="step === 1" - :mgrInfo="mgrInfo" - > - </mgr-info> - <f-space type="large"></f-space> - <!-- <f-button @on-click="handleNextStep" fixed>{{'提交开通'}}</f-button> --> - <van-button class="btn" round @click="handleNextStep" >{{'提交开通'}}</van-button> - </div> -</template> - -<script> - import MgrInfo from './mgrBaseInfo.vue'; - import formCheckAndComt from '@/utils/formCheckAndComb'; - - import { - dateFormat - } from 'vux' - - export default { - name: 'gzzjMgrOpen', - components: { - MgrInfo, - }, - data() { - return { - orgType:0, - step: 1, - stepText: '下一步', - mgrInfo: { - staffName: '', - staffPhone: '', - staffIdcardNo:'', - }, - // 验证开户信息字段 - mgrCheckInfo: [ - { - key: 'staffName', - tipType: 1, - message: '营业员姓名' - }, - { - key: 'staffPhone', - tipType: 1, - message: '营业员电话' - }, - { - key: 'staffIdcardNo', - tipType: 1, - message: '门店管理员身份证号' - }, - ], - bankNo:'' - }; - }, - computed:{ - // 通过icon字段判断是智享云还是购机直降 - }, - created(){ - this.init(); - this.orgType = Number(this.$route.query.orgType); - }, - methods: { - // 设置地区code - - goBackPage() { - if (this.step === 2) { - this.step -= 1; - } else { - this.$router.push({ - path: '/store/productManage' - }); - } - }, - // 初始化页面 - init() { - }, - // 处理点击下一步跳转处理 - handleNextStep() { - // 判断表单字段必填性 - if (this.step === 1) { - // 智享花增加这两个字段验证 - - // 判断表单是否必填 - if (!formCheckAndComt.checkRequiredField(this.mgrCheckInfo,this.mgrInfo,this)) { - return false; - } - } else { - this.handleSubmitOpen(); - } - this.handleSubmitOpen(); - }, - // 处理提交 - handleSubmitOpen() { - let submitInfo = { - ...this.mgrInfo - }; - - - let fn; - fn = this.$api.gzzjOpenMgr; //营业员开通接口 - fn(submitInfo).then((res) => { - this.$router.push({ - path: '/gzzj/open-result', - // 提交后,默认跳转审核结果页面,状态为开通中 - query: { - orgType: this.orgType, - openStatus: 1, - icon:this.$route.query.icon - } - }) - }); - } - } - }; - -</script> - -<style lang="less" scoped> - .open-heyd-index{ - padding-top: 54px; - height:100%; - background-color: #f1f1f1; - } - .btn { - position: fixed; - bottom: 15px; - width: 84%; - margin: 0 8%; - background: @c-default; - color: @c-text-fff; - display: block; - margin-top: 15px; - } -</style> - diff --git a/src/views/old/merchant/gzzj/openResult.vue b/src/views/old/merchant/gzzj/openResult.vue deleted file mode 100644 index bad6df9..0000000 --- a/src/views/old/merchant/gzzj/openResult.vue +++ /dev/null @@ -1,168 +0,0 @@ -<!-- - * @Date: 2019-09-02 09:01:22 - * @LastEditors: 小明丶 - * @LastEditTime: 2019-09-04 10:50:04 - * @Description: - --> - -<template> - <div class="gjzj-result-page"> - <x-header :title="'开通公众租机'" :left-options="{backText:'',preventGoBack:true}" - @on-click-back="pageGoBack"></x-header> - <div class="status-icon"> - <i v-if="openStatus === 1" - class="iconfont scene_Staging-shenhezhong1" - style="color: #896EDB;" - ></i> - <i v-if="openStatus === 2" - class="iconfont scene_Staging-tijiaochenggong" - style="color: #19BE6B;" - ></i> - <i v-if="openStatus === 3" - class="iconfont scene_Staging-tijiaoshibai" - style="color: #F76260;" - ></i> - <i v-if="openStatus === 4" - class="iconfont scene_Staging-tijiaoshibai" - style="color: #F76260;" - ></i> - </div> - <div class="tips"> - <p v-if="openStatus === 1">{{ statusType }}审批中</p> - <p v-if="openStatus === 2"> {{ statusType }}审批通过</p> - <p v-if="openStatus === 3"> {{ statusType}}审批失败</p> - <p v-if="openStatus === 4">冻结</p> - </div> - <van-button round @click="handleBack">{{ buttonText }}</van-button> - </div> -</template> - -<script> - export default { - name: 'add-account', - data() { - return { - // 0-待开通,1-审批中,2-审批通过,3-审批失败,4-冻结 - openStatus: 0, // 开通状态 - orgType:0, - buttonText: '返回', // 底部按钮文字 - statusType: this.$route.query.statusType, - }; - }, - computed:{ - }, - methods: { - pageGoBack(){ - if(this.orgType==3) { - this.$router.push({ - path: '/main/productManagement' - }); - }else if(this.orgType==4){ - this.$router.push({ - path: '/store/productManage' - }); - }else if(this.orgType==5){ - this.$router.push({ - path: '/store/productManage' - }); - } - }, - handleBack () { - // 如果是在开通中的话,那么底部有重新提交按钮 - // 点击重新提交,那么用户可以重新填写资料 - if(this.openStatus == 1 || this.openStatus == 2) { - if (this.orgType == 3) { - this.$router.replace({ - path: '/main/productManagement' - }); - this.$router.go(-1) - } else if (this.orgType == 4) { - this.$router.replace({ - path: '/store/productManage' - }); - this.$router.go(-1) - } else if (this.orgType == 5) { - this.$router.replace({ - path: '/store/productManage' - }); - this.$router.go(-1) - } - } else if(this.openStatus == 3 || this.openStatus == 4){ - if (this.orgType == 3) { - let query = { - typeId:'200017', - openStatus: this.openStatus, - orgType: this.orgType - } - this.$router.push({ - path:'/gzzj/merOpen', - query - }); - } else if (this.orgType == 4) { - let query = { - typeId:'200017', - openStatus: this.openStatus, - orgType: this.orgType - } - this.$router.push({ - path:'/gzzj/storeOpen', - query - }); - } else if (this.orgType == 5) { - let query = { - typeId:'200017', - openStatus: this.openStatus, - orgType: this.orgType - } - this.$router.push({ - path:'/gzzj/mgrOpen', - query - }); - } - } - }, - }, - created() { - console.log(this.statusType) - this.openStatus = Number(this.$route.query.openStatus); - this.orgType = Number(this.$route.query.orgType); - if(this.openStatus == 1 || this.openStatus == 2) { - this.buttonText = '返回'; - }else if(this.openStatus == 3 || this.openStatus == 4){ - this.buttonText = '再次提交'; - } - } - }; -</script> - -<style lang="less" scoped> - .gjzj-result-page { - height: 100%; - padding-top: 54px; - background-color: #f1f1f1; - .status-icon { - padding-top: 20px; - text-align: center; - } - .iconfont { - font-size: 64px; - color: #BFA073; - } - .scene_Staging-shibai1 { - color: #F76260; - } - .tips { - color: #999; - font-size: 14px; - line-height: 1.6; - text-align: center; - } - } - .van-button { - width: 90%; - margin: 0 5%; - margin-top: 60px; - color: white !important; - background: #896edb; - } -</style> diff --git a/src/views/old/merchant/gzzj/storeBaseInfo.vue b/src/views/old/merchant/gzzj/storeBaseInfo.vue deleted file mode 100644 index 24e124c..0000000 --- a/src/views/old/merchant/gzzj/storeBaseInfo.vue +++ /dev/null @@ -1,176 +0,0 @@ -<!-- -* @Author: c.y - * @Date: 2019-09-02 09:01:22 - * @LastEditors: 小明丶 - * @LastEditTime: 2019-09-02 09:15:03 - * @Description: - --> -<template> - <div class="open-heyd-page"> - <group> - <selector title='商户是否有独立营业执照' placeholder='请选择' @on-change='handleLicenseTypeChange' v-model="storeInfo.bizLicenseType" - :options='bizLicenseTypeList' :value-map="['code','name']" direction='rtl'></selector> - <x-input title='门店名称' v-model.trim="storeInfo.storeName" :max='50' placeholder='请输入' text-align='right'></x-input> - <x-input v-if="storeInfo.bizLicenseType===2" title='营业执照号' v-model.trim="storeInfo.licenseNo" placeholder='请输入' :max='30' text-align='right'/> - <x-input v-if="storeInfo.bizLicenseType===2" title='营业执照名称' v-model.trim="storeInfo.orgName" :max='50' placeholder='请输入' - text-align='right'></x-input> - <van-field v-if="storeInfo.bizLicenseType===2" v-model.trim="storeInfo.addrText" clearable :readonly="true" right-icon="arrow" label="省市区" - @click="isShowArea = !isShowArea" text-align='right'/> - <x-input v-if="storeInfo.bizLicenseType===2" title='详细地址' v-model.trim="storeInfo.storeDetailAddr" placeholder='请输入' text-align='right'></x-input> - <x-input v-if="storeInfo.bizLicenseType===2" title='法人姓名' v-model.trim="storeInfo.legalName" :max='20' placeholder='请输入' - text-align='right'></x-input> - </group> - <f-space></f-space> - <group> - <x-input title='门店管理员姓名' v-model.trim="storeInfo.actualCtl" :max='30' placeholder='请输入' text-align='right'></x-input> - <x-input title='门店管理员手机号' v-model.trim="storeInfo.actualCtlPhone" :max='11' placeholder='请输入' text-align='right'></x-input> - <x-input title='门店管理员身份证号' v-model.trim="storeInfo.actualCtlIdCardNo" :max='18' placeholder='请输入' text-align='right'></x-input> - </group> - <van-popup v-model="isShowArea" position="bottom" :close-on-click-overlay="false"> - <van-area ref='Area' :area-list='areaList' @cancel="closeAreaModal" @confirm="setAreaValue"></van-area> - </van-popup> - </div> -</template> - -<script> - import {calcArea} from '@/utils/index'; - import { - mapState, - mapActions - } from 'vuex'; - import { - Datetime, - XAddress - } from 'vux'; - export default { - name: 'heydStoreBase', - components: { - Datetime, - XAddress, - ...mapState(['areaList']) - }, - data() { - return { - areaList:{//地区列表 - province_list:{}, //省 - city_list:{}, //市 - county_list:{}, //地区、县 - } - }; - }, - props: { - addressList: { - type: Array, - default: [] - }, - address: { - type: Array, - default: [] - }, - isShowArea: { - type: Boolean, - default: false - }, - storeInfo: { - type: Object - }, - bizLicenseTypeList: { - type: Array, - default: () => { - return []; - } - }, - }, - computed:{ - calcAddress:{ - get(){ - return this.address || []; - }, - set(newV){ - this.$emit('addr-change', newV); - } - } - - }, - created() { - this.getArea(); - }, - methods: { - ...mapActions(['getArea']), - // 获取地区列表 - getArea() { - Vue.prototype.$api.getArea().then((res) => { - let { provList } = res.body; - let obj = calcArea(provList); - this.areaList = { - province_list:obj.province_list, - city_list:obj.city_list, - county_list:obj.county_list - } - }).catch((err) => { - - }); - }, - //关闭地区弹窗 - closeAreaModal() { - console.log(this.areaList); - this.isShowArea = false; - this.$refs.Area.reset() - }, - //保存 地区选择 - setAreaValue(arr) { - this.storeInfo.addrText = arr[0].name + '-' + arr[1].name + '-' + arr[2].name; - this.storeInfo.storeProvinceCode = arr[0].code; - this.storeInfo.storeCityCode = arr[1].code; - this.storeInfo.storeDistrictCode = arr[2].code; - this.isShowArea = false; - this.$refs.Area.reset() - }, - // 账号类型 - handleLicenseTypeChange(val) { - let currentEle=JSON.parse(JSON.stringify(this.bizLicenseTypeList)).find(item=>item.code===val) - this.storeInfo.bizLicenseType = currentEle.code; - }, - // 账号类型 - handleLiChange(val) { - let currentEle = JSON.parse(JSON.stringify(this.cardTypeList)).find((item) => { - return item.code = val; - }); - this.storeInfo.acctTypeName = currentEle.name; - }, - } - }; - -</script> - -<style lang="less" scoped> - .open-heyd-page { - .title { - padding: 14px 12px; - font-size: 15px; - color: #333; - - .line { - display: inline-block; - width: 2px; - height: 16px; - margin-right: 8px; - background: @color-text-three; - vertical-align: middle; - margin-top: -1px; - } - } - - .vux-datetime { - font-size: 15Px; - } - - .vux-datetime-value { - span { - width: 100%; - text-align: right; - } - } - } - -</style> diff --git a/src/views/old/merchant/gzzj/storeBaseMgrInfo.vue b/src/views/old/merchant/gzzj/storeBaseMgrInfo.vue deleted file mode 100644 index c29566b..0000000 --- a/src/views/old/merchant/gzzj/storeBaseMgrInfo.vue +++ /dev/null @@ -1,87 +0,0 @@ -<!-- -* @Author: c.y - * @Date: 2019-09-02 09:01:22 - * @LastEditors: 小明丶 - * @LastEditTime: 2019-09-02 09:15:03 - * @Description: - --> -<template> - <div class="open-heyd-page"> - <group> - <x-input title='营业员姓名' v-model.trim="mgrReqVo.staffName" placeholder='请输入' text-align='right'></x-input> - <x-input title='营业员身份证号' v-model.trim="mgrReqVo.staffIdcardNo" placeholder='请输入' text-align='right'></x-input> - <x-input title='营业员电话' v-model.trim="mgrReqVo.staffPhone" placeholder='请输入' :max='11' text-align='right'></x-input> - </group> - </div> -</template> - -<script> - import { - Datetime, - XAddress - } from 'vux'; - export default { - name: 'gzzjStoreMgrBase', - components: { - Datetime, - XAddress - }, - data() { - return { - - }; - }, - props: { - mgrReqVo: { - type: Object - }, - }, - computed:{ - calcAddress:{ - get(){ - return this.address || []; - }, - set(newV){ - this.$emit('addr-change', newV); - } - } - - }, - methods: { - - } - }; - -</script> - -<style lang="less" scoped> - .open-heyd-page { - .title { - padding: 14px 12px; - font-size: 15px; - color: #333; - - .line { - display: inline-block; - width: 2px; - height: 16px; - margin-right: 8px; - background: @color-text-three; - vertical-align: middle; - margin-top: -1px; - } - } - - .vux-datetime { - font-size: 15Px; - } - - .vux-datetime-value { - span { - width: 100%; - text-align: right; - } - } - } - -</style> diff --git a/src/views/old/merchant/gzzj/storeOpen.vue b/src/views/old/merchant/gzzj/storeOpen.vue deleted file mode 100644 index 992fb0d..0000000 --- a/src/views/old/merchant/gzzj/storeOpen.vue +++ /dev/null @@ -1,278 +0,0 @@ -<!-- - * @Date: 2019-09-02 09:01:22 - * @LastEditors: 小明丶 - * @LastEditTime: 2019-09-02 09:20:18 - * @Description: - --> -<template> - <div class="open-heyd-index"> - <x-header :title="'开通公众租机门店'" :left-options="{backText: '', preventGoBack: true}" @on-click-back="goBackPage"> - </x-header> - <!-- v-show="step === 1" --> - <store-info - v-show="step === 1" - :bizLicenseTypeList="bizLicenseTypeList" - :storeInfo="storeInfo" - > - </store-info> - <mgr-info - v-show="step === 2" - :mgrReqVo="mgrReqVo" - > - </mgr-info> - <!-- <store-pictures :storeInfo="storeInfo" :filetype="6" ></store-pictures> --> - <f-space type="large"></f-space> - <!-- <f-button @on-click="handleNextStep" fixed>{{ step !== 3 ? '下一步' : '提交开通' }}</f-button> --> - <van-button class="btn" round @click="handleNextStep" fixed>{{ step !== 3 ? '下一步' : '提交开通' }}</van-button> - </div> -</template> - -<script> - import StoreInfo from './storeBaseInfo.vue'; - import MgrInfo from './storeBaseMgrInfo.vue'; - import formCheckAndComt from '@/utils/formCheckAndComb'; - - import { - dateFormat - } from 'vux' - - export default { - name: 'gzzjStoreOpen', - components: { - StoreInfo, - MgrInfo - }, - data() { - return { - orgType:0, - step: 1, - stepText: '下一步', - bizLicenseTypeList: [{ - code: 1, - name: "无", - }, - { - code: 2, - name: "有", - } - ], - storeInfo: { - bizLicenseType:'', - storeName:'', - licenseNo:'', - orgName:'', - storeDetailAddr:'', - legalName:'', - actualCtl:'', - actualCtlPhone:'', - actualCtlIdCardNo:'', - addrText:'', - storeProvinceCode:'', - storeCityCode:'', - storeDistrictCode:'', - }, - mgrReqVo: { - staffName:'', - staffPhone:'', - staffIdcardNo:'', - }, - // 门店验证信息 - storeCheckInfo: [ - { - key: 'bizLicenseType', - tipType: 2, - message: '商户是否有独立营业执照' - }, - { - key: 'storeName', - tipType: 1, - message: '门店名称' - }, - { - key: 'actualCtl', - tipType: 1, - message: '门店管理员姓名' - }, - { - key: 'actualCtlPhone', - tipType: 1, - message: '门店管理员手机号' - }, - { - key: 'actualCtlIdCardNo', - tipType: 1, - message: '门店管理员身份证号' - }, - ], - // 门店验证信息 - mgrCheckInfo: [ - { - key: 'staffName', - tipType: 1, - message: '营业员姓名' - }, - { - key: 'staffPhone', - tipType: 1, - message: '营业员电话' - }, - { - key: 'staffIdcardNo', - tipType: 1, - message: '营业员身份证号' - }, - ], - }; - }, - computed:{ - // 通过icon字段判断是智享云还是购机直降 - }, - created(){ - this.init(); - this.orgType = Number(this.$route.query.orgType); - }, - methods: { - goBackPage() { - if (this.step === 3 || this.step === 2) { - this.step -= 1; - } else { - this.$router.replace({ - path: '/store/productManage' - }); - this.$router.go(-1) - } - }, - // 初始化页面 - init() { - let fn = this.$api.gzzjInitStore; - fn().then(res => { - let body = res.body; - if(body.mgrReqVo && body.mgrReqVo.staffName){ - this.mgrReqVo = body.mgrReqVo; - } - for (let i in this.storeInfo) { - if(Array.isArray(this.storeInfo[i])){ - this.storeInfo[i] = body[i] ? body[i] : []; - }else{ - this.storeInfo[i] = body[i] ? body[i] : ''; - } - } - if(this.storeInfo.storeProvinceCode) { - if(this.storeInfo.regProvinceName && this.storeInfo.regCityName && this.storeInfo.regDistrictName){ - this.storeInfo.addrText = this.storeInfo.regProvinceName + '-' + this.storeInfo.regCityName + '-' + this.storeInfo.regDistrictName; - } - } - }); - }, - // 处理点击下一步跳转处理 - handleNextStep() { - // 判断表单字段必填性 - if (this.step === 1) { - let rules = [ - ] - // 对公时验证开户行行号 - if(this.storeInfo.bizLicenseType ===2){ - rules.push({ - key: 'licenseNo', - tipType: 1, - message: '营业执照号' - }); - rules.push({ - key: 'orgName', - tipType: 1, - message: '营业执照名称' - }); - rules.push({ - key: 'storeProvinceCode', - tipType: 1, - message: '省份' - }); - rules.push({ - key: 'storeCityCode', - tipType: 1, - message: '市区' - }); - rules.push({ - key: 'storeDistrictCode', - tipType: 1, - message: '区域' - }); - rules.push({ - key: 'storeDetailAddr', - tipType: 1, - message: '门店详细地址' - }); - rules.push({ - key: 'legalName', - tipType: 1, - message: '法人姓名' - }); - rules.push({ - key: 'addrText', - tipType: 2, - message: '省市区选择' - }); - } - this.storeCheckInfo.push(...rules) - if(!formCheckAndComt.checkRequiredField(this.storeCheckInfo,this.storeInfo,this)){ - return false; - } - // 判断表单是否必填 - if (!formCheckAndComt.checkRequiredField(this.storeCheckInfo, this.storeInfo, this)) { - return false; - } - - this.step += 1; - } else if(this.step === 2){ - if (!formCheckAndComt.checkRequiredField(this.mgrCheckInfo, this.mgrReqVo, this)) { - return false; - } - this.handleSubmitOpen(); - } - }, - // 处理提交 - handleSubmitOpen() { - // 处理提交 - let submitInfo = { - ...this.merInfo, - ...this.storeInfo, - mgrReqVo:{...this.mgrReqVo} - }; - - let fn; - fn = this.$api.gzzjOpenStore; //海尔云贷接口 - fn(submitInfo).then((res) => { - this.$router.push({ - path: '/gzzj/open-result', - // 提交后,默认跳转审核结果页面,状态为开通中 - query: { - orgType: this.orgType, - openStatus: 1, - icon:this.$route.query.icon - } - }) - }); - } - } - }; - -</script> - -<style lang="less" scoped> - .open-heyd-index{ - padding-top: 54px; - height:100%; - background-color: #f1f1f1; - } - .btn { - position: fixed; - bottom: 15px; - width: 84%; - margin: 0 8%; - background: @c-default; - color: @c-text-fff; - display: block; - margin-top: 15px; - } -</style> - diff --git a/src/views/old/merchant/gzzj/storePictures.vue b/src/views/old/merchant/gzzj/storePictures.vue deleted file mode 100644 index 2158f79..0000000 --- a/src/views/old/merchant/gzzj/storePictures.vue +++ /dev/null @@ -1,114 +0,0 @@ -<!-- - * @Date: 2019-09-02 09:01:22 - * @LastEditors: 小明丶 - * @LastEditTime: 2019-09-02 09:14:44 - * @Description: - --> -<template> - <div class="heyd-picture-page"> - <div class="pic-content"> - <UploadFile - :fileType="1" - :bizLicenseType="storeInfo.bizLicenseType" - :title="'上传营业执照'" - :picList="storeInfo.licencePhotos"></UploadFile> - <div v-if="storeInfo.bizLicenseType == 2"> - <span style="font-size: 15px">上传法人身份证正反面照</span><span style="font-size: 13px;color: #FF6666">(第一张正面,第二张反面)</span> - </div> - <UploadFile - :fileType="2" - :bizLicenseType="storeInfo.bizLicenseType" - :showNum="2" - :title="''" - :picList="storeInfo.legalCardPhotos"></UploadFile> - <div> - <p style="font-size: 15px">上传门头照片</p> - <p style="font-size: 13px;color: #999999;margin: 10px 0 0 0">(需要体现运营商logo、门店名称、门牌号)</p> - </div> - <UploadFile - :fileType="1" - :bizLicenseType= "2" - :showNum="1" - :title="''" - :picList="storeInfo.storeHeadPhotos"></UploadFile> - <div> - <p style="font-size: 15px">上传店内照片</p> - <p style="font-size: 13px;color: #999999;margin: 10px 0 0 0">(至少从4个角度拍摄全景体现店铺面积和主要业务区域,至少包括合约分期业务受理区(若有运营商logo背景,则包含在内)手机终端柜台))</p> - </div> - <UploadFile - :fileType="4" - :bizLicenseType= "2" - :title="''" - :showNum="4" - :picList="storeInfo.storeInPhotos"></UploadFile> - <div> - <p style="font-size: 15px">上传周边照片</p> - <p style="font-size: 13px;color: #999999;margin: 10px 0 0 0">(门店外部街景、左右各一张,展示左右至少各一间门店)</p> - </div> - <UploadFile - :fileType="3" - :bizLicenseType= "2" - :title="''" - :showNum="3" - :picList="storeInfo.storeAroundPhotos"></UploadFile> - <div> - <span style="font-size: 15px">授权牌</span><span style="font-size: 13px;color: #FF6666"></span> - </div> - <UploadFile - :fileType="1" - :bizLicenseType= "2" - :title="''" - :picList="storeInfo.authorizedBrand"></UploadFile> - <div> - <span style="font-size: 15px">联通系统截图</span> - </div> - <UploadFile - :fileType="1" - :bizLicenseType= "2" - :title="''" - :picList="storeInfo.sysScreenShot"></UploadFile> - </div> - </div> -</template> - -<script> - import UploadFile from '@/components/old/upload/uploadImgStore.vue'; - - export default { - name: 'heydStorePicture', - components: { - UploadFile - }, - data() { - return { - }; - }, - props: { - storeInfo: { - type: Object, - required: true, - }, - // + 6的是海尔云贷的上传 - filetype:{ - type:Number, - default:0 - } - } - }; -</script> - -<style lang="less" scoped> - .legal-card-title { - padding: 10px 0; - font-size: 13px; - line-height: 1; - color: #333; - font-weight: normal; - } - .heyd-picture-page { - background: @color-white; - .pic-content { - padding: 10px 15px; - } - } -</style> diff --git a/src/views/old/merchant/heyd/merBaseInfo.vue b/src/views/old/merchant/heyd/merBaseInfo.vue deleted file mode 100644 index 8ae33cf..0000000 --- a/src/views/old/merchant/heyd/merBaseInfo.vue +++ /dev/null @@ -1,267 +0,0 @@ -<!-- -* @Author: c.y - * @Date: 2019-09-02 09:01:22 - * @LastEditors: 小明丶 - * @LastEditTime: 2019-09-02 09:15:03 - * @Description: - --> -<template> - <div class="open-heyd-page"> - <group> - <x-input title='营业执照号' v-model.trim="storeInfo.licenseNo" readonly text-align='right'></x-input> - <x-input title='营业执照名称' v-model.trim="storeInfo.orgName" placeholder='请输入' :max='50' text-align='right'></x-input> - <datetime v-model="storeInfo.issueDate" format="YYYY-MM-DD" title="注册日期" placeholder="请选择"></datetime> - </group> - <group> - <van-field v-model.trim="storeInfo.addrText" clearable :readonly="true" right-icon="arrow" label="注册省市区" placeholder=" 请选择" - @click="isShowArea = !isShowArea" text-align='right'/> - <x-input title='注册详细地址' v-model.trim="storeInfo.regDetailAddr" placeholder='请输入' :max='100' text-align='right'></x-input> - <x-input title='渠道编码' v-model.trim="storeInfo.outMerchantNo" placeholder='请输入' :max='100' text-align='right'></x-input> - <x-input title='渠道名称' v-model.trim="storeInfo.merchantName" placeholder='请输入' :max='100' text-align='right'></x-input> - </group> - - <f-space></f-space> - <group> - <x-input title='法人名称' v-model.trim="storeInfo.legalName" readonly text-align='right'></x-input> - <x-input title='法人身份证号' v-model.trim="storeInfo.legalIdCardNo" readonly text-align='right'></x-input> - <x-input title='法人身份证地址' v-model.trim="storeInfo.legalIdCardAddress" placeholder='请输入' text-align='right'></x-input> - <x-input title='法人手机号' v-model.trim="storeInfo.legalPhone" placeholder='请输入' :max='11' text-align='right'></x-input> - </group> - <f-space></f-space> - <group> - <x-input title='联系人姓名' v-model.trim="storeInfo.contactName" placeholder='请输入' text-align='right'></x-input> - <x-input title='联系人手机号' v-model.trim="storeInfo.contactPhone" placeholder='请输入' :max='11' text-align='right'></x-input> - <x-input title='联系人邮箱' v-model="storeInfo.contactEmail" text-align='right' max="50" placeholder="请输入"></x-input> - <selector title='与企业关系' placeholder='请选择' @on-change='handleCusRefChange' v-model="storeInfo.objContactReal" - :options='merRefList' :value-map="['code','name']" direction='rtl'></selector> - </group> - <f-space></f-space> - <group> - <van-field v-model.trim="storeInfo.merAddrText" clearable :readonly="true" right-icon="arrow" label="经营省市区" - @click="isShowMerArea = !isShowMerArea" text-align='right'/> - <x-input title='经营详细地址' v-model.trim="storeInfo.bizDetailAddr" placeholder='请输入' text-align='right'></x-input> - </group> - <f-space></f-space> - <group> - <selector title='商户账号类型' placeholder='请选择' @on-change='handleCardTypeChange' v-model="storeInfo.acctType" - :options='cardTypeList' :value-map="['code','name']" direction='rtl'></selector> - <x-input title='商户账户名称' v-model.trim="storeInfo.acctName" placeholder='请输入' text-align='right' /> - <selector title='商户银行名称' placeholder='请选择' @on-change='handleBankChange' v-model="storeInfo.acctBankname" - :options='bankList' :value-map="['code','name']" direction='rtl'></selector> - <x-input title='商户银行账号' v-model.trim="storeInfo.acctNo" placeholder='请输入' :max='30' text-align='right'/> - <x-input v-if="storeInfo.acctType===1" title='商户开户支行名称' v-model.trim="storeInfo.acctOpenBankname" placeholder='请输入' :max='30' text-align='right'/> - <x-input v-if="storeInfo.acctType===1" title='开户行行号' v-model.trim="storeInfo.acctCnaps" :max='20' placeholder='请输入' - text-align='right'></x-input> - <selector v-if="storeInfo.acctType===2" title='账户企业关系' placeholder='请选择' @on-change='handleMerRefChange' v-model="storeInfo.acctEnpRel" - :options='merRefList' :value-map="['code','name']" direction='rtl'></selector> - </group> - <van-popup v-model="isShowArea" position="bottom" :close-on-click-overlay="false"> - <van-area ref='Area' :area-list='areaList' @cancel="closeAreaModal" @confirm="setAreaValue"></van-area> - </van-popup> - <van-popup v-model="isShowMerArea" position="bottom" :close-on-click-overlay="false"> - <van-area ref='Area' :area-list='areaList' @cancel="closeMerAreaModal" @confirm="setMerAreaValue"></van-area> - </van-popup> - </div> - -</template> - -<script> - import {calcArea} from '@/utils/index'; - import { - mapState, - mapActions - } from 'vuex'; - import { - Datetime, - XAddress, - } from 'vux'; - export default { - name: 'heydMerBase', - components: { - Datetime, - XAddress, - ...mapState(['areaList']) - }, - data() { - return { - merValue:'', - areaList:{//地区列表 - province_list:{}, //省 - city_list:{}, //市 - county_list:{}, //地区、县 - }, - merAreaList:{//地区列表 - province_list:{}, //省 - city_list:{}, //市 - county_list:{}, //地区、县 - } - }; - }, - props: { - addressList: { - type: Array, - default: [] - }, - address: { - type: Array, - default: [] - }, - isShowArea: { - type: Boolean, - default: false - }, - isShowMerArea: { - type: Boolean, - default: false - }, - storeInfo: { - type: Object, - }, - // 银行列表 - bankList: { - type: Array, - default: () => { - return []; - } - }, - cardTypeList: { - type: Array, - default: () => { - return []; - } - }, - merRefList: { - type: Array, - default: () => { - return []; - } - }, - }, - computed:{ - calcAddress:{ - get(){ - return this.address || []; - }, - set(newV){ - this.$emit('addr-change', newV); - } - } - - }, - methods: { - ...mapActions(['getArea']), - // 获取地区列表 - getArea() { - Vue.prototype.$api.getArea().then((res) => { - let { provList } = res.body; - let obj = calcArea(provList) - this.areaList = { - province_list:obj.province_list, - city_list:obj.city_list, - county_list:obj.county_list - } - }).catch((err) => { - - }); - }, - getMerArea() { - this.merAreaList = this.areaList; - }, - //关闭地区弹窗 - closeAreaModal() { - this.isShowArea = false; - this.$refs.Area.reset() - }, - //关闭地区弹窗 - closeMerAreaModal() { - this.isShowMerArea = false; - this.$refs.Area.reset() - }, - //保存 地区选择 - setAreaValue(arr) { - this.storeInfo.addrText = arr[0].name + '-' + arr[1].name + '-' + arr[2].name; - this.storeInfo.regProvinceCode = arr[0].code; - this.storeInfo.regCityCode = arr[1].code; - this.storeInfo.regDistrictCode = arr[2].code; - this.isShowArea = false; - this.$refs.Area.reset() - }, - //经营地保存地区选择 - setMerAreaValue(arr) { - this.storeInfo.merAddrText = arr[0].name + '-' + arr[1].name + '-' + arr[2].name; - this.storeInfo.bizProvinceCode = arr[0].code; - this.storeInfo.bizProvinceName = arr[0].name; - this.storeInfo.bizCityCode = arr[1].code; - this.storeInfo.bizCityName = arr[1].name; - this.storeInfo.bizDistrictCode = arr[2].code; - this.storeInfo.bizDistrictName = arr[2].name; - this.isShowMerArea = false; - this.$refs.Area.reset() - }, - // 处理银行名称的改变 - handleBankChange(val) { - let currentEle = this.bankList.find(item => { - return item.code === val; - }) - }, - // 账号类型 - handleCardTypeChange(val) { - let currentEle = JSON.parse(JSON.stringify(this.cardTypeList)).find((item) => { - return item.code = val; - }); - this.storeInfo.acctTypeName = currentEle.name; - }, - // 商户与账户关系 - handleMerRefChange(val) { - let currentEle = JSON.parse(JSON.stringify(this.merRefList)).find((item) => { - return item.code = val; - }); - this.storeInfo.acctEnpRelName = currentEle.name; - }, - // 商户与账户关系 - handleCusRefChange(val) { - let currentEle = JSON.parse(JSON.stringify(this.merRefList)).find((item) => { - return item.code = val; - }); - } - }, - created() { - this.getArea(); - this.getMerArea(); - this.merAddrValue = this.merAddrText; - }, - }; - -</script> - -<style lang="less" scoped> - .open-heyd-page { - .title { - padding: 14px 12px; - font-size: 15px; - color: #333; - - .line { - display: inline-block; - width: 2px; - height: 16px; - margin-right: 8px; - background: @color-text-three; - vertical-align: middle; - margin-top: -1px; - } - } - - .vux-datetime { - font-size: 15Px; - } - - .vux-datetime-value { - span { - width: 100%; - text-align: right; - } - } - } - -</style> diff --git a/src/views/old/merchant/heyd/merOpen.vue b/src/views/old/merchant/heyd/merOpen.vue deleted file mode 100644 index d66efff..0000000 --- a/src/views/old/merchant/heyd/merOpen.vue +++ /dev/null @@ -1,413 +0,0 @@ -<!-- - * @Date: 2019-09-02 09:01:22 - * @LastEditors: 小明丶 - * @LastEditTime: 2019-09-02 09:20:18 - * @Description: - --> -<template> - <div class="open-heyd-index"> - <x-header :title="'开通智享花'" :left-options="{backText: '', preventGoBack: true}" @on-click-back="goBackPage"> - </x-header> - <!-- v-show="step === 1" --> - <base-info - v-show="step === 1" - :cardTypeList="cardTypeList" - :merRefList="merRefList" - :bankList="bankList" - :address="address" - :addressList="addressList" - :storeInfo="storeInfo" - @addr-change="setCitycode" - > - </base-info> - <!-- 海尔云贷的文件上传type + 6 --> - <mer-pictures v-show="step === 2" :storeInfo="storeInfo" :filetype="9" ></mer-pictures> - <!-- <store-pictures :storeInfo="storeInfo" :filetype="6" ></store-pictures> --> - <f-space type="large"></f-space> - <f-button @on-click="handleNextStep" fixed>{{ step === 1 ? '下一步' : '提交开通' }}</f-button> - </div> -</template> - -<script> - import BaseInfo from './merBaseInfo.vue'; - import MerPictures from './merPictures.vue'; - import formCheckAndComt from '@/utils/formCheckAndComb'; - import {calcArea} from '@/utils/index'; - import { - dateFormat - } from 'vux' - - export default { - name: 'heydMerOpen', - components: { - BaseInfo, - MerPictures - }, - data() { - return { - orgType: 0, - step: 1, - stepText: '下一步', - bankList: [], - cardTypeList: [], - merRefList:[], - addressList:[], - address:[], - storeInfo: { - merName: '', - legalPhone:'', - merAddrText:'', - contactPhone:'', - contactName:'', - acctBankname:'', - orgName:'', - legalIdCardAddress:'', - issueDate:'', - regDetailAddr:'', - addr:{}, - isShowArea:false, - regCityCode:'', - regCityName:'', - regDistrictCode:'', - regDistrictName:'', - regProvinceCode:'', - regProvinceName:'', - contactEmail:'', - addrText:'', - bizProvinceCode:'', - bizProvinceName:'', - bizCityCode:'', - bizCityName:'', - bizDistrictCode:'', - bizDistrictName:'', - acctOpenBankname:'', - provCode:'',//省code - cityCode:'',//市code - bankNo:'',//开户行行号 - legalIdCardNo:'', - bizDetailAddr:'', - licenseNo: '', - acctCnaps: '', - merAddr: '', - merDtlAddr: '', - merArea: '', - foundDate: '', - legalName: '', - legalIdNo: '', - legalMblNo: '', - legalHomeAddr: '', - outMerchantNo: '', - merchantName: '', - acctName: '', // 户名 - acctNo: '', // 银行卡号 - acctType: '', // 账号类型code - acctEnpRel:'',//账户企业关系 - acctEnpRelName:'',//账户企业关系 - acctTypeName: '', // 账号类型name - objContactReal: '',//联系人与企业关系 - licencePhotos: [], // 营业执照 - legalCardPhotos: [], // 法人身份证 - legalCardPhotosF: [], //法人身份证反面 - legalCardPhotosZ: [], //法人身份证正面 - }, - // 验证开户信息字段 - storeCheckInfo: [ - { - key: 'orgName', - tipType: 1, - message: '营业执照名称' - }, - { - key: 'legalPhone', - tipType: 1, - message: '法人手机号' - }, - { - key: 'acctBankname', - tipType: 2, - message: '银行名称' - }, - { - key: 'acctName', - tipType: 1, - message: '账户名称' - }, - { - key: 'acctType', - tipType: 2, - message: '账号类型' - }, - { - key: 'contactEmail', - tipType: 1, - type:"isEmail", - message: '联系人邮箱' - }, - { - key: 'contactName', - tipType: 1, - message: '联系人手机号' - }, - { - key: 'contactPhone', - tipType: 1, - message: '联系人姓名' - }, - { - key: 'addrText', - tipType: 2, - message: '省市区' - }, - { - key: 'legalIdCardAddress', - tipType: 1, - message: '法人身份证地址' - }, - { - key: 'regDetailAddr', - tipType: 1, - message: '注册详细地址' - }, - { - key: 'issueDate', - tipType: 2, - message: '注册日期' - }, - { - key: 'merchantName', - tipType: 1, - message: '渠道名称' - }, - { - key: 'outMerchantNo', - tipType: 1, - message: '渠道编码' - }, - ], - bankNo:'' - }; - }, - computed:{ - // 通过icon字段判断是智享云还是购机直降 - }, - created(){ - this.$api.getArea().then(res => { - this.addressList = res.body.provList; - }); - this.init(); - this.orgType = Number(this.$route.query.orgType); - }, - methods: { - // 获取地区列表 - getArea({commit}) { - Vue.prototype.$api.getArea().then((res) => { - let { provList } = res.body; - let obj = calcArea(provList) - commit(SET_AREA_LIST,{ - province_list:obj.province_list, - city_list:obj.city_list, - county_list:obj.county_list - }) - }).catch((err) => { - - }); - }, - // 设置地区code - setCitycode(val){ - this.storeInfo.provCode = val[0]; - this.storeInfo.cityCode = val[1]; - this.address = val; - }, - goBackPage() { - if (this.step === 2) { - this.step -= 1; - } else { - this.$router.push({ - path: '/main/productManagement' - }); - } - }, - // 初始化页面 - init() { - let fn = this.$api.heydInitOpen; - fn().then(res => { - let body = res.body; - this.bankList = body.bankList; - this.cardTypeList = body.acctTypeList; - this.merRefList = body.acctEnpRelList; - for (let i in this.storeInfo) { - if(Array.isArray(this.storeInfo[i])){ - this.storeInfo[i] = body[i] ? body[i] : []; - console.log(i+":"+this.storeInfo[i]); - }else{ - this.storeInfo[i] = body[i] ? body[i] : ''; - } - } - if(body.cityCode){ - this.address.push(body.provCode+'') - this.address.push(body.cityCode+'') - } - this.storeInfo.merAddrText = this.storeInfo.bizProvinceName +'-'+ this.storeInfo.bizCityName +'-'+ this.storeInfo.bizDistrictName; - if(this.storeInfo.regProvinceName) { - this.storeInfo.addrText = this.storeInfo.regProvinceName + '-' + this.storeInfo.regCityName + '-' + this.storeInfo.regDistrictName; - } - if (this.storeInfo.licencePhotos && this.storeInfo.licencePhotos.length) { - let fileId = this.storeInfo.licencePhotos[0]; - this.storeInfo.licencePhotos = []; - this.storeInfo.licencePhotos.push({ - fileId: fileId, - fileUrl: '/'+fileId - }); - } - if (this.storeInfo.legalCardPhotosZ && this.storeInfo.legalCardPhotosZ.length) { - let fileIdZ = this.storeInfo.legalCardPhotosZ[0]; - let fileIdF = this.storeInfo.legalCardPhotosF[0]; - this.storeInfo.legalCardPhotos = []; - this.storeInfo.legalCardPhotos.push({ - fileId: fileIdZ, - fileUrl: '/'+fileIdZ - }); - this.storeInfo.legalCardPhotos.push({ - fileId: fileIdF, - fileUrl: '/'+fileIdF - }); - } - }); - }, - // 处理点击下一步跳转处理 - handleNextStep() { - // 判断表单字段必填性 - if (this.step === 1) { - // 智享花增加这两个字段验证 - let rules = [ - ] - // 对公时验证开户行行号 - if(this.storeInfo.acctType ===1){ - rules.push({ - key: 'acctOpenBankname', - tipType: 1, - message: '开户支行名称' - }); - rules.push({ - key: 'acctCnaps', - tipType: 1, - message: '开户行行号' - }); - rules.push({ - key: 'acctNo', - tipType: 1, - message: '银行账号' - }); - } - // 对私时验证账户企业关系 - if(this.storeInfo.acctType ===2){ - rules.push({ - key: 'acctEnpRel', - tipType: 2, - message: '账户企业关系' - }); - rules.push({ - key: 'acctNo', - tipType: 1, - type:"bankCardNo", - message: '银行账号' - }); - } - this.storeCheckInfo.push(...rules) - // 判断表单是否必填 - if (!formCheckAndComt.checkRequiredField(this.storeCheckInfo,this.storeInfo,this)) { - return false; - } - this.step += 1; - } else { - this.handleSubmitOpen(); - } - }, - // 处理提交 - handleSubmitOpen() { - - // 需要判断图片的字段 - let checkPicList = [{ - checkField: 'licencePhotos', - msg: '营业执照照片' - }, - { - checkField: 'legalCardPhotos', - msg: '法人身份证正反面照片' - }, - ]; - // 判断图片是否上传 - for (let item of checkPicList) { - if (!(this.storeInfo[item.checkField] instanceof Array && - this.storeInfo[item.checkField].length)) { - this.$notify('请上传' + item.msg); - return false; - } - if (item.checkField == 'legalCardPhotos' && this.storeInfo[item.checkField].length < 2){ - this.$notify('请上传' + item.msg); - return false; - } - } - - // 由于后端初始化返回的图片字段{url: xx, id: 121}, 而此时在提交的时候,我们 - // 提交图片字段为[id1, id2], 为id的列表 - this.storeInfo.legalCardPhotosF = []; - this.storeInfo.legalCardPhotosZ = []; - let picIdList = { - licencePhotos: [], - legalCardPhotosF: [], - legalCardPhotosZ: [], - }; - picIdList.legalCardPhotosF.push(this.storeInfo.legalCardPhotos[0].fileId); - picIdList.legalCardPhotosZ.push(this.storeInfo.legalCardPhotos[1].fileId); - for (let i in picIdList) { - if (this.storeInfo[i] instanceof Array && - this.storeInfo[i].length) { - // 后端图片初始文件id为id.而控件上传id为fieldId,这里需要兼容处理一下 - this.storeInfo[i].forEach((item) => { - item.fileId ? picIdList[i].push(item.fileId) : - picIdList[i].push(item.id) - }); - } - } - - let submitInfo = { - ...this.storeInfo, - ...picIdList - }; - - let fn; - // 对私时开户行行号不传值 - if(this.storeInfo.acctType === 2){ - submitInfo.acctOpenBankname = ''; - submitInfo.acctCnaps = ''; - } - if(this.storeInfo.acctType === 1){ - submitInfo.acctEnpRel = ''; - } - fn = this.$api.heydOpen; //海尔云贷接口 - fn(submitInfo).then((res) => { - this.$router.push({ - path: '/heyd/open-result', - // 提交后,默认跳转审核结果页面,状态为开通中 - query: { - orgType: this.orgType, - openStatus: 1, - icon:this.$route.query.icon - } - }) - }); - } - } - }; - -</script> - -<style lang="less" scoped> -.open-heyd-index{ - padding-top: 54px; - height:100%; - background-color: #f1f1f1; -} -</style> - diff --git a/src/views/old/merchant/heyd/merPictures.vue b/src/views/old/merchant/heyd/merPictures.vue deleted file mode 100644 index cd14bde..0000000 --- a/src/views/old/merchant/heyd/merPictures.vue +++ /dev/null @@ -1,55 +0,0 @@ -<!-- - * @Date: 2019-09-02 09:01:22 - * @LastEditors: 小明丶 - * @LastEditTime: 2019-09-02 09:14:44 - * @Description: - --> -<template> - <div class="heyd-picture-page"> - <div class="pic-content"> - <UploadFile - :fileType="1" - :bizLicenseType= "2" - :title="'上传营业执照'" - :picList="storeInfo.licencePhotos"></UploadFile> - <div> - <span style="font-size: 15px">上传法人身份证正反面照</span><span style="font-size: 13px;color: #FF6666">(第一张正面,第二张反面)</span> - </div> - <UploadFile - :fileType="2" - :bizLicenseType= "2" - :title="''" - :picList="storeInfo.legalCardPhotos"></UploadFile> - </div> - </div> -</template> - -<script> - import UploadFile from '@/components/old/upload/uploadImgStore.vue'; - - export default { - name: 'heydMerPicture', - components: { - UploadFile - }, - data() { - return { - }; - }, - props: { - storeInfo: { - type: Object, - required: true, - }, - } - }; -</script> - -<style lang="less" scoped> - .heyd-picture-page { - background: @color-white; - .pic-content { - padding: 0 15px; - } - } -</style> diff --git a/src/views/old/merchant/heyd/mgrBaseInfo.vue b/src/views/old/merchant/heyd/mgrBaseInfo.vue deleted file mode 100644 index 73b8332..0000000 --- a/src/views/old/merchant/heyd/mgrBaseInfo.vue +++ /dev/null @@ -1,79 +0,0 @@ -<!-- -* @Author: c.y - * @Date: 2019-09-02 09:01:22 - * @LastEditors: 小明丶 - * @LastEditTime: 2019-09-02 09:15:03 - * @Description: - --> -<template> - <div class="open-heyd-page"> - <group> - <x-input title='营业员姓名' v-model.trim="storeInfo.staffName" placeholder='请输入营业员姓名' text-align='right'></x-input> - <x-input title='营业员电话' v-model.trim="storeInfo.staffPhone" placeholder='请输入营业员电话' :max='11' text-align='right'></x-input> - <x-input title='营业员职务' v-model.trim="storeInfo.post" placeholder='请输入营业员职务' text-align='right'></x-input> - </group> - </div> -</template> - -<script> - import { - Datetime, - XAddress - } from 'vux'; - export default { - name: 'heydMgrBase', - components: { - Datetime, - XAddress - }, - data() { - return { - - }; - }, - props: { - storeInfo: { - type: Object - }, - }, - computed:{ - - }, - methods: { - - } - }; - -</script> - -<style lang="less" scoped> - .open-heyd-page { - .title { - padding: 14px 12px; - font-size: 15px; - color: #333; - - .line { - display: inline-block; - width: 2px; - height: 16px; - margin-right: 8px; - background: @color-text-three; - vertical-align: middle; - margin-top: -1px; - } - } - - .vux-datetime { - font-size: 15Px; - } - - .vux-datetime-value { - span { - width: 100%; - text-align: right; - } - } - } - -</style> diff --git a/src/views/old/merchant/heyd/mgrOpen.vue b/src/views/old/merchant/heyd/mgrOpen.vue deleted file mode 100644 index bbfd1fd..0000000 --- a/src/views/old/merchant/heyd/mgrOpen.vue +++ /dev/null @@ -1,154 +0,0 @@ -<!-- - * @Date: 2019-09-02 09:01:22 - * @LastEditors: 小明丶 - * @LastEditTime: 2019-09-02 09:20:18 - * @Description: - --> -<template> - <div class="open-heyd-index"> - <x-header :title="'开通智享花'" :left-options="{backText: '', preventGoBack: true}" @on-click-back="goBackPage"> - </x-header> - <!-- v-show="step === 1" --> - <base-info - v-show="step === 1" - :storeInfo="storeInfo" - > - </base-info> - <f-space type="large"></f-space> - <!-- <f-button @on-click="handleNextStep" fixed>{{'提交开通'}}</f-button> --> - <van-button class="btn" round @click="handleNextStep" >{{'提交开通'}}</van-button> - </div> -</template> - -<script> - import BaseInfo from './mgrBaseInfo.vue'; - import formCheckAndComt from '@/utils/formCheckAndComb'; - - import { - dateFormat - } from 'vux' - - export default { - name: 'heydMgrOpen', - components: { - BaseInfo, - }, - data() { - return { - orgType:0, - step: 1, - stepText: '下一步', - storeInfo: { - staffName: '', - staffPhone: '', - post:'', - }, - // 验证开户信息字段 - storeCheckInfo: [ - { - key: 'staffName', - tipType: 1, - message: '营业员姓名' - }, - { - key: 'staffPhone', - tipType: 1, - message: '营业员电话' - }, - { - key: 'post', - tipType: 1, - message: '营业员岗位' - }, - ], - bankNo:'' - }; - }, - computed:{ - // 通过icon字段判断是智享云还是购机直降 - }, - created(){ - this.init(); - this.orgType = Number(this.$route.query.orgType); - }, - methods: { - // 设置地区code - - goBackPage() { - if (this.step === 2) { - this.step -= 1; - } else { - this.$router.push({ - path: '/store/productManage' - }); - } - }, - // 初始化页面 - init() { - let fn = this.$api.heydInitMgr; - fn().then(res => { - let body = res.body; - for (let i in this.storeInfo) { - this.storeInfo[i] = body[i] ? body[i] : ''; - } - }); - }, - // 处理点击下一步跳转处理 - handleNextStep() { - // 判断表单字段必填性 - if (this.step === 1) { - // 智享花增加这两个字段验证 - - // 判断表单是否必填 - if (!formCheckAndComt.checkRequiredField(this.storeCheckInfo,this.storeInfo,this)) { - return false; - } - } else { - this.handleSubmitOpen(); - } - this.handleSubmitOpen(); - }, - // 处理提交 - handleSubmitOpen() { - let submitInfo = { - ...this.storeInfo - }; - - - let fn; - fn = this.$api.heydOpenMgr; //营业员开通接口 - fn(submitInfo).then((res) => { - this.$router.push({ - path: '/heyd/open-result', - // 提交后,默认跳转审核结果页面,状态为开通中 - query: { - orgType: this.orgType, - openStatus: 1, - icon:this.$route.query.icon - } - }) - }); - } - } - }; - -</script> - -<style lang="less" scoped> - .open-heyd-index{ - padding-top: 54px; - height:100%; - background-color: #f1f1f1; - } - .btn { - position: fixed; - bottom: 15px; - width: 84%; - margin: 0 8%; - background: @c-default; - color: @c-text-fff; - display: block; - margin-top: 15px; - } -</style> - diff --git a/src/views/old/merchant/heyd/openResult.vue b/src/views/old/merchant/heyd/openResult.vue deleted file mode 100644 index 4adfc0b..0000000 --- a/src/views/old/merchant/heyd/openResult.vue +++ /dev/null @@ -1,168 +0,0 @@ -<!-- - * @Date: 2019-09-02 09:01:22 - * @LastEditors: 小明丶 - * @LastEditTime: 2019-09-04 10:50:04 - * @Description: - --> - -<template> - <div class="gjzj-result-page"> - <x-header :title="'开通智享花'" :left-options="{backText:'',preventGoBack:true}" - @on-click-back="pageGoBack"></x-header> - <div class="status-icon"> - <i v-if="openStatus === 1" - class="iconfont scene_Staging-shenhezhong1" - style="color: #896EDB;" - ></i> - <i v-if="openStatus === 2" - class="iconfont scene_Staging-tijiaochenggong" - style="color: #19BE6B;" - ></i> - <i v-if="openStatus === 3" - class="iconfont scene_Staging-tijiaoshibai" - style="color: #F76260;" - ></i> - <i v-if="openStatus === 4" - class="iconfont scene_Staging-tijiaoshibai" - style="color: #F76260;" - ></i> - </div> - <div class="tips"> - <p v-if="openStatus === 1">{{ statusType }}审批中</p> - <p v-if="openStatus === 2"> {{ statusType }}审批通过</p> - <p v-if="openStatus === 3"> {{ statusType}}审批失败</p> - <p v-if="openStatus === 4">冻结</p> - </div> - <van-button round @click="handleBack">{{ buttonText }}</van-button> - </div> -</template> - -<script> - export default { - name: 'add-account', - data() { - return { - // 0-待开通,1-审批中,2-审批通过,3-审批失败,4-冻结 - openStatus: 0, // 开通状态 - orgType:0, - buttonText: '返回', // 底部按钮文字 - statusType: this.$route.query.statusType, - }; - }, - computed:{ - }, - methods: { - pageGoBack(){ - if(this.orgType==3) { - this.$router.push({ - path: '/main/productManagement' - }); - }else if(this.orgType==4){ - this.$router.push({ - path: '/store/productManage' - }); - }else if(this.orgType==5){ - this.$router.push({ - path: '/store/productManage' - }); - } - }, - handleBack () { - // 如果是在开通中的话,那么底部有重新提交按钮 - // 点击重新提交,那么用户可以重新填写资料 - if(this.openStatus == 1 || this.openStatus == 2) { - if (this.orgType == 3) { - this.$router.replace({ - path: '/main/productManagement' - }); - this.$router.go(-1) - } else if (this.orgType == 4) { - this.$router.replace({ - path: '/store/productManage' - }); - this.$router.go(-1) - } else if (this.orgType == 5) { - this.$router.replace({ - path: '/store/productManage' - }); - this.$router.go(-1) - } - } else if(this.openStatus == 3 || this.openStatus == 4){ - if (this.orgType == 3) { - let query = { - typeId:'200005', - openStatus: this.openStatus, - orgType: this.orgType - } - this.$router.push({ - path:'/heyd/merOpen', - query - }); - } else if (this.orgType == 4) { - let query = { - typeId:'200005', - openStatus: this.openStatus, - orgType: this.orgType - } - this.$router.push({ - path:'/heyd/storeOpen', - query - }); - } else if (this.orgType == 5) { - let query = { - typeId:'200005', - openStatus: this.openStatus, - orgType: this.orgType - } - this.$router.push({ - path:'/heyd/mgrOpen', - query - }); - } - } - }, - }, - created() { - console.log(this.statusType) - this.openStatus = Number(this.$route.query.openStatus); - this.orgType = Number(this.$route.query.orgType); - if(this.openStatus == 1 || this.openStatus == 2) { - this.buttonText = '返回'; - }else if(this.openStatus == 3 || this.openStatus == 4){ - this.buttonText = '再次提交'; - } - } - }; -</script> - -<style lang="less" scoped> - .gjzj-result-page { - height: 100%; - padding-top: 54px; - background-color: #f1f1f1; - .status-icon { - padding-top: 20px; - text-align: center; - } - .iconfont { - font-size: 64px; - color: #BFA073; - } - .scene_Staging-shibai1 { - color: #F76260; - } - .tips { - color: #999; - font-size: 14px; - line-height: 1.6; - text-align: center; - } - } - .van-button { - width: 90%; - margin: 0 5%; - margin-top: 60px; - color: white !important; - background: #896edb; - } -</style> diff --git a/src/views/old/merchant/heyd/storeBaseInfo.vue b/src/views/old/merchant/heyd/storeBaseInfo.vue deleted file mode 100644 index b9f44a9..0000000 --- a/src/views/old/merchant/heyd/storeBaseInfo.vue +++ /dev/null @@ -1,179 +0,0 @@ -<!-- -* @Author: c.y - * @Date: 2019-09-02 09:01:22 - * @LastEditors: 小明丶 - * @LastEditTime: 2019-09-02 09:15:03 - * @Description: - --> -<template> - <div class="open-heyd-page"> - <group> - <x-input title='门店名称' v-model.trim="storeInfo.storeName" readonly text-align='right'></x-input> - <x-input title='经营地所在省' v-model.trim="storeInfo.storeProvinceName" readonly text-align='right'></x-input> - <x-input title='经营地所在市' v-model.trim="storeInfo.storeCityName" readonly text-align='right'></x-input> - <x-input title='经营地所在区' v-model.trim="storeInfo.storeDistrictName" readonly text-align='right'></x-input> - <x-input title='经营详细地址' v-model.trim="storeInfo.storeDetailAddr" readonly placeholder='请输入' text-align='right'></x-input> - </group> - <f-space></f-space> - <group> - <selector title='营业执照类型' placeholder='请选择' @on-change='handleLicenseTypeChange' v-model="storeInfo.bizLicenseType" - :options='bizLicenseTypeList' :value-map="['code','name']" direction='rtl'></selector> - <x-input title='营业执照号' v-if="storeInfo.bizLicenseType ===2" v-model.trim="storeInfo.licenseNo" placeholder='请输入' text-align='right'></x-input> - <x-input title='营业执照名称' v-if="storeInfo.bizLicenseType ===2" v-model.trim="storeInfo.orgName" placeholder='请输入' :max='50' text-align='right'></x-input> - <datetime v-if="storeInfo.bizLicenseType ===2" v-model="storeInfo.issueDate" format="YYYY-MM-DD" title="注册日期" placeholder="请选择"></datetime> - </group> - <group> - <van-field v-if="storeInfo.bizLicenseType ===2" v-model.trim="storeInfo.addrText" clearable :readonly="true" right-icon="arrow" label="注册省市区" - @click="isShowArea = !isShowArea" placeholder=" 请选择" text-align='right'/> - <x-input title='注册详细地址' v-if="storeInfo.bizLicenseType ===2" v-model.trim="storeInfo.regDetailAddr" placeholder='请输入' :max='100' text-align='right'></x-input> - <x-input title='营业厅编码' v-model.trim="storeInfo.outStoreNo" placeholder='请输入' :max='100' text-align='right'></x-input> - </group> - <f-space></f-space> - <group> - <x-input title='法人名称' v-if="storeInfo.bizLicenseType ===2" v-model.trim="storeInfo.legalName" placeholder='请输入' text-align='right'></x-input> - <x-input title='法人身份证号' v-if="storeInfo.bizLicenseType ===2" v-model.trim="storeInfo.legalIdCardNo" placeholder='请输入' text-align='right'></x-input> - <x-input title='法人身份证地址' v-if="storeInfo.bizLicenseType ===2" v-model.trim="storeInfo.legalIdCardAddress" placeholder='请输入' text-align='right'></x-input> - <x-input title='法人手机号' v-if="storeInfo.bizLicenseType ===2" v-model.trim="storeInfo.legalPhone" placeholder='请输入' :max='11' text-align='right'></x-input> - </group> - <van-popup v-model="isShowArea" position="bottom" :close-on-click-overlay="false"> - <van-area ref='Area' :area-list='areaList' @cancel="closeAreaModal" @confirm="setAreaValue"></van-area> - </van-popup> - </div> -</template> - -<script> - import {calcArea} from '@/utils/index'; - import { - mapState, - mapActions - } from 'vuex'; - import { - Datetime, - XAddress - } from 'vux'; - export default { - name: 'heydStoreBase', - components: { - Datetime, - XAddress, - ...mapState(['areaList']) - }, - data() { - return { - areaList:{//地区列表 - province_list:{}, //省 - city_list:{}, //市 - county_list:{}, //地区、县 - } - }; - }, - props: { - addressList: { - type: Array, - default: [] - }, - address: { - type: Array, - default: [] - }, - isShowArea: { - type: Boolean, - default: false - }, - storeInfo: { - type: Object - }, - bizLicenseTypeList: { - type: Array, - default: () => { - return []; - } - }, - }, - computed:{ - calcAddress:{ - get(){ - return this.address || []; - }, - set(newV){ - this.$emit('addr-change', newV); - } - } - - }, - created() { - this.getArea(); - }, - methods: { - ...mapActions(['getArea']), - // 获取地区列表 - getArea() { - Vue.prototype.$api.getArea().then((res) => { - let { provList } = res.body; - let obj = calcArea(provList); - this.areaList = { - province_list:obj.province_list, - city_list:obj.city_list, - county_list:obj.county_list - } - }).catch((err) => { - - }); - }, - //关闭地区弹窗 - closeAreaModal() { - console.log(this.areaList); - this.isShowArea = false; - this.$refs.Area.reset() - }, - //保存 地区选择 - setAreaValue(arr) { - this.storeInfo.addrText = arr[0].name + '-' + arr[1].name + '-' + arr[2].name; - this.storeInfo.regProvinceCode = arr[0].code; - this.storeInfo.regCityCode = arr[1].code; - this.storeInfo.regDistrictCode = arr[2].code; - this.isShowArea = false; - this.$refs.Area.reset() - }, - // 账号类型 - handleLicenseTypeChange(val) { - let currentEle = JSON.parse(JSON.stringify(this.bizLicenseTypeList)).find((item) => { - return item.code = val; - }); - } - } - }; - -</script> - -<style lang="less" scoped> - .open-heyd-page { - .title { - padding: 14px 12px; - font-size: 15px; - color: #333; - - .line { - display: inline-block; - width: 2px; - height: 16px; - margin-right: 8px; - background: @color-text-three; - vertical-align: middle; - margin-top: -1px; - } - } - - .vux-datetime { - font-size: 15Px; - } - - .vux-datetime-value { - span { - width: 100%; - text-align: right; - } - } - } - -</style> diff --git a/src/views/old/merchant/heyd/storeBaseMgrInfo.vue b/src/views/old/merchant/heyd/storeBaseMgrInfo.vue deleted file mode 100644 index d661e5e..0000000 --- a/src/views/old/merchant/heyd/storeBaseMgrInfo.vue +++ /dev/null @@ -1,87 +0,0 @@ -<!-- -* @Author: c.y - * @Date: 2019-09-02 09:01:22 - * @LastEditors: 小明丶 - * @LastEditTime: 2019-09-02 09:15:03 - * @Description: - --> -<template> - <div class="open-heyd-page"> - <group> - <x-input title='营业员姓名' v-model.trim="mgrReqVo.staffName" placeholder='请输入' text-align='right'></x-input> - <x-input title='营业员电话' v-model.trim="mgrReqVo.staffPhone" placeholder='请输入' :max='11' text-align='right'></x-input> - <x-input title='营业员职务' v-model.trim="mgrReqVo.post" placeholder='请输入' text-align='right'></x-input> - </group> - </div> -</template> - -<script> - import { - Datetime, - XAddress - } from 'vux'; - export default { - name: 'heydStoreMgrBase', - components: { - Datetime, - XAddress - }, - data() { - return { - - }; - }, - props: { - mgrReqVo: { - type: Object - }, - }, - computed:{ - calcAddress:{ - get(){ - return this.address || []; - }, - set(newV){ - this.$emit('addr-change', newV); - } - } - - }, - methods: { - - } - }; - -</script> - -<style lang="less" scoped> - .open-heyd-page { - .title { - padding: 14px 12px; - font-size: 15px; - color: #333; - - .line { - display: inline-block; - width: 2px; - height: 16px; - margin-right: 8px; - background: @color-text-three; - vertical-align: middle; - margin-top: -1px; - } - } - - .vux-datetime { - font-size: 15Px; - } - - .vux-datetime-value { - span { - width: 100%; - text-align: right; - } - } - } - -</style> diff --git a/src/views/old/merchant/heyd/storeOpen.vue b/src/views/old/merchant/heyd/storeOpen.vue deleted file mode 100644 index a766639..0000000 --- a/src/views/old/merchant/heyd/storeOpen.vue +++ /dev/null @@ -1,459 +0,0 @@ -<!-- - * @Date: 2019-09-02 09:01:22 - * @LastEditors: 小明丶 - * @LastEditTime: 2019-09-02 09:20:18 - * @Description: - --> -<template> - <div class="open-heyd-index"> - <x-header :title="'开通智享花'" :left-options="{backText: '', preventGoBack: true}" @on-click-back="goBackPage"> - </x-header> - <!-- v-show="step === 1" --> - <base-info - v-show="step === 1" - :bizLicenseTypeList="bizLicenseTypeList" - :storeInfo="storeInfo" - > - </base-info> - <mgr-info - v-show="step === 2" - :mgrReqVo="mgrReqVo" - > - </mgr-info> - <!-- 海尔云贷的文件上传type + 6 --> - <store-pictures v-show="step === 3" :storeInfo="storeInfo" :filetype="9" ></store-pictures> - <!-- <store-pictures :storeInfo="storeInfo" :filetype="6" ></store-pictures> --> - <f-space type="large"></f-space> - <!-- <f-button @on-click="handleNextStep" fixed>{{ step !== 3 ? '下一步' : '提交开通' }}</f-button> --> - <van-button class="btn" round @click="handleNextStep" fixed>{{ step !== 3 ? '下一步' : '提交开通' }}</van-button> - </div> -</template> - -<script> - import BaseInfo from './storeBaseInfo.vue'; - import MgrInfo from './storeBaseMgrInfo.vue'; - import StorePictures from './storePictures.vue'; - import formCheckAndComt from '@/utils/formCheckAndComb'; - - import { - dateFormat - } from 'vux' - - export default { - name: 'heydStoreOpen', - components: { - BaseInfo, - StorePictures, - MgrInfo - }, - data() { - return { - orgType:0, - step: 1, - stepText: '下一步', - bizLicenseTypeList: [], - mgrReqVo: { - staffName:'', - staffPhone:'', - post:'', - }, - storeInfo: { - legalIdCardAddress:'', - issueDate:'', - regDetailAddr:'', - addr:{}, - isShowArea:false, - regCityCode:'', - regDistrictCode:'', - regProvinceCode:'', - storeName: '', - outStoreNo:'', - storeProvinceCode:'', - storeProvinceName:'', - storeCityCode:'', - storeCityName:'', - storeDistrictCode:'', - storeDistrictName:'', - storeDetailAddr:'', - bizLicenseType:'', - licenseNo:'', - orgName:'', - addrText:'', - legalCardPhotosF: [], //法人身份证反面 - legalCardPhotosZ: [], //法人身份证正面 - legalIdCardNo:'',//省code - legalPhone:'',//市code - legalName:'', - licencePhotos:[], // 营业执照照片 - legalCardPhotos: [], // 法人身份证 - storeHeadPhotos: [], // 门店图片 - storeInPhotos: [], // 店内图片 - storeAroundPhotos: [], // 门店周边图片 - authorizedBrand: [], // 授权牌 - sysScreenShot: [], //联通系统截图 - }, - // 验证开户信息字段 - storeCheckInfo: [ - { - key: 'legalPhone', - tipType: 1, - message: '法人手机号' - }, - { - key: 'legalIdCardNo', - tipType: 1, - message: '法人身份证' - }, - { - key: 'legalName', - tipType: 2, - message: '法人名称' - }, - { - key: 'orgName', - tipType: 1, - message: '营业执照名称' - }, - { - key: 'bizLicenseType', - tipType: 2, - message: '营业执照类型' - }, - { - key: 'addrText', - tipType: 2, - message: '省市区' - }, - { - key: 'legalIdCardAddress', - tipType: 1, - message: '法人身份证地址' - }, - { - key: 'regDetailAddr', - tipType: 1, - message: '注册详细地址' - }, - { - key: 'issueDate', - tipType: 2, - message: '注册日期' - }, - { - key: 'outStoreNo', - tipType: 1, - message: '营业厅编码' - }, - ],// 验证开户信息字段 - storeCheckInfoForBizType: [ - { - key: 'bizLicenseType', - tipType: 2, - message: '营业执照类型' - }, - ], - storeCheckInfoForStaff: [ - { - key: 'staffName', - tipType: 1, - message: '营业员姓名' - }, - { - key: 'staffPhone', - tipType: 1, - message: '营业员电话' - }, - { - key: 'post', - tipType: 1, - message: '营业员职务' - }, - ], - bankNo:'' - }; - }, - computed:{ - // 通过icon字段判断是智享云还是购机直降 - }, - created(){ - this.init(); - this.orgType = Number(this.$route.query.orgType); - }, - methods: { - goBackPage() { - if (this.step === 3 || this.step === 2) { - this.step -= 1; - } else { - this.$router.replace({ - path: '/store/productManage' - }); - this.$router.go(-1) - } - }, - // 初始化页面 - init() { - let fn = this.$api.heydInitStore; - fn().then(res => { - let body = res.body; - this.bizLicenseTypeList = body.bizLicenseTypeList; - if(body.mgrReqVo && body.mgrReqVo.staffName){ - this.mgrReqVo = body.mgrReqVo; - } - for (let i in this.storeInfo) { - if(Array.isArray(this.storeInfo[i])){ - this.storeInfo[i] = body[i] ? body[i] : []; - }else{ - this.storeInfo[i] = body[i] ? body[i] : ''; - } - } - if(this.storeInfo.storeProvinceCode) { - if(this.storeInfo.regProvinceName && this.storeInfo.regCityName && this.storeInfo.regDistrictName){ - this.storeInfo.addrText = this.storeInfo.regProvinceName + '-' + this.storeInfo.regCityName + '-' + this.storeInfo.regDistrictName; - } - if (this.storeInfo.licencePhotos && this.storeInfo.licencePhotos !== []) { - this.storeInfo.bizLicenseType = 2; - } else { - this.storeInfo.bizLicenseType = 3; - } - } - if (this.storeInfo.licencePhotos && this.storeInfo.licencePhotos.length) { - let fileId = this.storeInfo.licencePhotos[0]; - this.storeInfo.licencePhotos = []; - this.storeInfo.licencePhotos.push({ - fileId: fileId, - fileUrl: '/'+fileId - }); - } - if (this.storeInfo.legalCardPhotosZ && this.storeInfo.legalCardPhotosZ.length) { - let fileIdZ = this.storeInfo.legalCardPhotosZ[0]; - let fileIdF = this.storeInfo.legalCardPhotosF[0]; - this.storeInfo.legalCardPhotos = []; - this.storeInfo.legalCardPhotos.push({ - fileId: fileIdZ, - fileUrl: '/'+fileIdZ - }); - this.storeInfo.legalCardPhotos.push({ - fileId: fileIdF, - fileUrl: '/'+fileIdF - }); - } - if (this.storeInfo.storeAroundPhotos && this.storeInfo.storeAroundPhotos.length) { - let storeAroundPhotosNew = []; - for (let i in this.storeInfo.storeAroundPhotos) { - let fileId = this.storeInfo.storeAroundPhotos[i]; - storeAroundPhotosNew.push({ - fileId: fileId, - fileUrl: '/'+fileId - }); - } - this.storeInfo.storeAroundPhotos = storeAroundPhotosNew; - } - if (this.storeInfo.storeHeadPhotos && this.storeInfo.storeHeadPhotos.length) { - let fileId = this.storeInfo.storeHeadPhotos[0]; - this.storeInfo.storeHeadPhotos = []; - this.storeInfo.storeHeadPhotos.push({ - fileId: fileId, - fileUrl: '/'+fileId - }); - } - if (this.storeInfo.storeInPhotos && this.storeInfo.storeInPhotos.length) { - let storeInPhotosNew = []; - for (let i in this.storeInfo.storeInPhotos) { - let fileId = this.storeInfo.storeInPhotos[i]; - storeInPhotosNew.push({ - fileId: fileId, - fileUrl: '/'+fileId - }); - } - this.storeInfo.storeInPhotos = storeInPhotosNew; - } - if (this.storeInfo.authorizedBrand && this.storeInfo.authorizedBrand.length) { - let fileId = this.storeInfo.authorizedBrand[0]; - this.storeInfo.authorizedBrand = []; - this.storeInfo.authorizedBrand.push({ - fileId: fileId, - fileUrl: '/'+fileId - }); - } - if (this.storeInfo.sysScreenShot && this.storeInfo.sysScreenShot.length) { - let fileId = this.storeInfo.sysScreenShot[0]; - this.storeInfo.sysScreenShot = []; - this.storeInfo.sysScreenShot.push({ - fileId: fileId, - fileUrl: '/'+fileId - }); - } - }); - }, - // 处理点击下一步跳转处理 - handleNextStep() { - // 判断表单字段必填性 - if (this.step === 1) { - // 判断表单是否必填 - if(this.storeInfo.bizLicenseType === 2) { - if (!formCheckAndComt.checkRequiredField(this.storeCheckInfo, this.storeInfo, this)) { - return false; - } - }else{ - if (!formCheckAndComt.checkRequiredField(this.storeCheckInfoForBizType, this.storeInfo, this)) { - return false; - } - } - this.step += 1; - } else if(this.step === 2){ - if (!formCheckAndComt.checkRequiredField(this.storeCheckInfoForStaff, this.mgrReqVo, this)) { - return false; - } - this.step += 1; - } else { - this.handleSubmitOpen(); - } - }, - // 处理提交 - handleSubmitOpen() { - let checkPicList = []; - if(this.storeInfo.bizLicenseType === 2) { - // 需要判断图片的字段 - checkPicList = [{ - checkField: 'licencePhotos', - msg: '营业执照照片' - }, - { - checkField: 'legalCardPhotos', - msg: '法人身份证正反面照片' - }, - { - checkField: 'storeHeadPhotos', - msg: '门头照片' - }, - { - checkField: 'storeInPhotos', - msg: '店内照片' - }, - { - checkField: 'storeAroundPhotos', - msg: '周边照片' - }, - ]; - }else{ - checkPicList = [ - { - checkField: 'storeHeadPhotos', - msg: '门头照片' - }, - { - checkField: 'storeInPhotos', - msg: '店内照片' - }, - { - checkField: 'storeAroundPhotos', - msg: '周边照片' - }, - ]; - } - // 判断图片是否上传 - for (let item of checkPicList) { - if (!(this.storeInfo[item.checkField] instanceof Array && - this.storeInfo[item.checkField].length)) { - this.$notify('请上传' + item.msg); - return false; - } - if(this.storeInfo.bizLicenseType === 2) { - if (item.checkField == 'legalCardPhotos' && this.storeInfo[item.checkField].length < 2) { - this.$notify('请上传' + item.msg); - return false; - } - } - if (item.checkField == 'storeInPhotos' && this.storeInfo[item.checkField].length < 4){ - this.$notify('请上传' + item.msg); - return false; - } - if (item.checkField == 'storeAroundPhotos' && this.storeInfo[item.checkField].length < 3){ - this.$notify('请上传' + item.msg); - return false; - } - } - - // 由于后端初始化返回的图片字段{url: xx, id: 121}, 而此时在提交的时候,我们 - // 提交图片字段为[id1, id2], 为id的列表 - let picIdList = {}; - this.storeInfo.legalCardPhotosF = []; - this.storeInfo.legalCardPhotosZ = []; - if(this.storeInfo.bizLicenseType === 2) { - picIdList = { - licencePhotos: [], - legalCardPhotosF: [], - legalCardPhotosZ: [], - storeHeadPhotos: [], - storeInPhotos:[], - storeAroundPhotos:[], - authorizedBrand: [], - sysScreenShot: [], - }; - picIdList.legalCardPhotosF.push(this.storeInfo.legalCardPhotos[0].fileId); - picIdList.legalCardPhotosZ.push(this.storeInfo.legalCardPhotos[1].fileId); - }else{ - picIdList = { - storeHeadPhotos: [], - storeInPhotos:[], - storeAroundPhotos:[], - authorizedBrand: [], - sysScreenShot: [], - }; - } - for (let i in picIdList) { - if (this.storeInfo[i] instanceof Array && - this.storeInfo[i].length) { - // 后端图片初始文件id为id.而控件上传id为fieldId,这里需要兼容处理一下 - this.storeInfo[i].forEach((item) => { - item.fileId ? picIdList[i].push(item.fileId) : - picIdList[i].push(item.id) - }); - } - } - if(this.storeInfo.bizLicenseType !== 2) { - this.storeInfo.licencePhotos = []; - } - let submitInfo = { - ...this.storeInfo, - ...picIdList, - mgrReqVo:this.mgrReqVo - }; - - let fn; - fn = this.$api.heydOpenStore; //海尔云贷接口 - fn(submitInfo).then((res) => { - this.$router.push({ - path: '/heyd/open-result', - // 提交后,默认跳转审核结果页面,状态为开通中 - query: { - orgType:this.orgType, - openStatus: 1, - icon:this.$route.query.icon - } - }) - }); - } - } - }; - -</script> - -<style lang="less" scoped> - .open-heyd-index{ - padding-top: 54px; - height:100%; - background-color: #f1f1f1; - } - .btn { - position: fixed; - bottom: 15px; - width: 84%; - margin: 0 8%; - background: @c-default; - color: @c-text-fff; - display: block; - margin-top: 15px; - } -</style> - diff --git a/src/views/old/merchant/heyd/storePictures.vue b/src/views/old/merchant/heyd/storePictures.vue deleted file mode 100644 index 2158f79..0000000 --- a/src/views/old/merchant/heyd/storePictures.vue +++ /dev/null @@ -1,114 +0,0 @@ -<!-- - * @Date: 2019-09-02 09:01:22 - * @LastEditors: 小明丶 - * @LastEditTime: 2019-09-02 09:14:44 - * @Description: - --> -<template> - <div class="heyd-picture-page"> - <div class="pic-content"> - <UploadFile - :fileType="1" - :bizLicenseType="storeInfo.bizLicenseType" - :title="'上传营业执照'" - :picList="storeInfo.licencePhotos"></UploadFile> - <div v-if="storeInfo.bizLicenseType == 2"> - <span style="font-size: 15px">上传法人身份证正反面照</span><span style="font-size: 13px;color: #FF6666">(第一张正面,第二张反面)</span> - </div> - <UploadFile - :fileType="2" - :bizLicenseType="storeInfo.bizLicenseType" - :showNum="2" - :title="''" - :picList="storeInfo.legalCardPhotos"></UploadFile> - <div> - <p style="font-size: 15px">上传门头照片</p> - <p style="font-size: 13px;color: #999999;margin: 10px 0 0 0">(需要体现运营商logo、门店名称、门牌号)</p> - </div> - <UploadFile - :fileType="1" - :bizLicenseType= "2" - :showNum="1" - :title="''" - :picList="storeInfo.storeHeadPhotos"></UploadFile> - <div> - <p style="font-size: 15px">上传店内照片</p> - <p style="font-size: 13px;color: #999999;margin: 10px 0 0 0">(至少从4个角度拍摄全景体现店铺面积和主要业务区域,至少包括合约分期业务受理区(若有运营商logo背景,则包含在内)手机终端柜台))</p> - </div> - <UploadFile - :fileType="4" - :bizLicenseType= "2" - :title="''" - :showNum="4" - :picList="storeInfo.storeInPhotos"></UploadFile> - <div> - <p style="font-size: 15px">上传周边照片</p> - <p style="font-size: 13px;color: #999999;margin: 10px 0 0 0">(门店外部街景、左右各一张,展示左右至少各一间门店)</p> - </div> - <UploadFile - :fileType="3" - :bizLicenseType= "2" - :title="''" - :showNum="3" - :picList="storeInfo.storeAroundPhotos"></UploadFile> - <div> - <span style="font-size: 15px">授权牌</span><span style="font-size: 13px;color: #FF6666"></span> - </div> - <UploadFile - :fileType="1" - :bizLicenseType= "2" - :title="''" - :picList="storeInfo.authorizedBrand"></UploadFile> - <div> - <span style="font-size: 15px">联通系统截图</span> - </div> - <UploadFile - :fileType="1" - :bizLicenseType= "2" - :title="''" - :picList="storeInfo.sysScreenShot"></UploadFile> - </div> - </div> -</template> - -<script> - import UploadFile from '@/components/old/upload/uploadImgStore.vue'; - - export default { - name: 'heydStorePicture', - components: { - UploadFile - }, - data() { - return { - }; - }, - props: { - storeInfo: { - type: Object, - required: true, - }, - // + 6的是海尔云贷的上传 - filetype:{ - type:Number, - default:0 - } - } - }; -</script> - -<style lang="less" scoped> - .legal-card-title { - padding: 10px 0; - font-size: 13px; - line-height: 1; - color: #333; - font-weight: normal; - } - .heyd-picture-page { - background: @color-white; - .pic-content { - padding: 10px 15px; - } - } -</style> diff --git a/src/views/old/merchant/huabei/alipay.vue b/src/views/old/merchant/huabei/alipay.vue deleted file mode 100644 index 82a77a4..0000000 --- a/src/views/old/merchant/huabei/alipay.vue +++ /dev/null @@ -1,298 +0,0 @@ -<!-- - * @Author: 小明丶 - * @Date: 2019-08-30 18:04:49 - * @LastEditors: 小明丶 - * @LastEditTime: 2021-01-04 15:28:08 - * @Description: - --> -/* - * @Author: c.y - * @Date: 2018-12-24 15:28:12 - * @Last Modified by: mikey.zhaopeng - * @Last Modified time: 2019-11-20 09:52:07 - * @文件说明:花呗分期--开通花呗--选择个人或者启企业支付宝类型 - */ -<template> - <div class="huabei-alipay-page h-100-g"> - <x-header - :title="'开通' + this.$route.query.title" - :left-options="{backText:'',preventGoBack:true}" - @on-click-back="pageGoBack()" - ></x-header> - <group> - <popup-picker - placeholder="请选择省市区" - ref="Area" - :title="tit" - :data="areaList" - :columns="3" - v-model="areValue" - show-name - cancel-text="取消" - confirm-text="确定" - @on-hide="setAreaValue(true)" - ></popup-picker> - <x-input - title="支付宝账号" - :max="40" - placeholder="请输入支付宝账号" - text-align="right" - v-model.trim="alipayInfo.accountNumber" - ></x-input> - <x-input - title="支付宝名称" - :max="40" - placeholder="请输入支付名称" - text-align="right" - v-model.trim="alipayInfo.accountName" - ></x-input> - <x-input - title="客服电话" - :max="12" - placeholder="请输入客服电话" - text-align="right" - v-model.trim="alipayInfo.servicePhone" - ></x-input> - <!-- <van-cell @click="showPop=true" title="请选择经营类目:" v-show="isddxt" is-link :value="categoryStr" /> --> - <!-- <popup-picker title="请选择经营类目:" v-show="isddxt" :columns="1" :data="mccList" v-model="category" :placeholder="$t('please select')"></popup-picker> --> - </group> - <f-space></f-space> - <f-button @on-click="handleNextStep">下一步</f-button> - <!-- <van-popup v-model="showPop" position="bottom" :style="{ height: '30%' }" > - <van-picker - title="经营类目" - value-key="name" - show-toolbar - :columns="mccList" - @confirm="onConfirm" - @cancel="onCancel" - /> - </van-popup> --> - </div> -</template> - -<script> -import { mapState } from "vuex"; -import { PopupPicker } from "vux"; -import sysApi from "../../../../api/oldapi"; -import { calcArea } from "@/utils/index"; -export default { - components: { - PopupPicker - }, - name: "add-account", - data() { - return { - showPop:false, - tit: "请选择省市区", - areValue: [], - category:'', - categoryStr:'', - areaList: [], - // mccList:[],//类目数组 - showArea: false, // 省市区选择器显示控制 - addrText: "", //省市区 - addr: { - province: { - code: "", - name: "" - }, - city: { - code: "", - name: "" - }, - area: { - code: "", - name: "" - } - }, - alipayInfo: { - // addr: '', //省市区 - accountNumber: "", // 账号 - accountName: "", // 账号名称 - servicePhone: "" // 客服电话 - }, - aliAreaList: { - city_list: {}, - county_list: {}, - province_list: {} - } - }; - }, - computed: { - ...mapState(["areaList"]), - isddxt(){ - if(sessionStorage.isddxt == 1){ - return true - }else{ - return false - } - } - }, - created() { - - // this.mccList = JSON.parse(sessionStorage.getItem('huabei_mccList')) - // console.log(this.mccList) - this.$nextTick(() => { - console.log(this.areaList); - }); - this.getMyMation() - this.$api.getAliAreaList().then(res => { - this.areaList = res.body.provList; - }); - }, - methods: { - onConfirm(val){ - console.log(val) - this.categoryStr = val.name - this.category = val.code - this.showPop = false - }, - onCancel(){ - this.showPop = false - }, - // 获取返显资料 - getMyMation(){ - if(sessionStorage.getItem('huabei_detailInfo')){ - console.log(JSON.parse(sessionStorage.getItem('huabei_detailInfo'))) - var obj = JSON.parse(sessionStorage.getItem('huabei_detailInfo')) - if(obj.addr){ - this.areValue[0] = obj.addr.province.code - this.areValue[1] = obj.addr.city.code - this.areValue[2] = obj.addr.area.code - this.addr = obj.addr - } - if(obj.aliAccount){ - this.alipayInfo.accountNumber = obj.aliAccount - } - if(obj.aliAccountName){ - this.alipayInfo.accountName = obj.aliAccountName - } - if(obj.servicePhone){ - this.alipayInfo.servicePhone = obj.servicePhone - } - } - }, - //地区选择确认事件 - setAreaValue() { - this.addrText = this.$refs.Area.getNameValues(); - this.alipayInfo.addr = this.addr = { - province: { - code: this.areValue[0], - name: this.addrText.split(" ")[0] - }, - city: { - code: this.areValue[1], - name: this.addrText.split(" ")[1] - }, - area: { - code: this.areValue[2], - name: this.addrText.split(" ")[2] - } - }; - console.log(this.areValue) - }, - // 点击下一步 - handleNextStep() { - console.log(this.addr); - if (this.$tool.checkValEmpty(this.addr.area.code)) { - this.$notify_success("请选择省市区"); - return false; - } - if (this.$tool.checkValEmpty(this.alipayInfo.accountNumber)) { - this.$notify_success("请输入支付宝账号"); - return false; - } - if (this.$tool.checkValEmpty(this.alipayInfo.accountName)) { - this.$notify_success("请输入支付宝名称"); - return false; - } - if (this.$tool.checkValEmpty(this.alipayInfo.servicePhone)) { - this.$notify_success("请输入客服电话"); - return false; - } - var req = / ^[\-]?\d+(\.\d+)?$/ - if (req.test(this.alipayInfo.servicePhone)) { - this.$notify_success("请输入正确客服电话"); - return false; - } - // if (this.$tool.checkValEmpty(this.category)&&sessionStorage.isddxt == 1) { - // this.$notify_success("请选择经营类目"); - // return false; - // } - // if ( - // !( - // this.$tool.checkPhone(this.alipayInfo.accountNumber) || - // this.$tool.checkEmail(this.alipayInfo.accountNumber) - // ) - // ) { - // this.$notify_success("请输入正确的支付宝账号"); - // return false; - // } - // 由于支付宝名称,可以有个人账号或者企业账号,并不知道其具体的规则,所以 - // 不进行具体规则的效验,只进行必填的验证。 - // 存在在本地,统一提交开通花呗分期 - - sessionStorage.setItem( - "huabei_accountNumber", - this.alipayInfo.accountNumber - ); - sessionStorage.setItem("huabei_accountName", this.alipayInfo.accountName); - sessionStorage.setItem( - "huabei_servicePhone", - this.alipayInfo.servicePhone - ); - sessionStorage.setItem("huabei_addr", JSON.stringify(this.addr)); - if(sessionStorage.isddxt == 1){ - sessionStorage.setItem("huabei_category", JSON.stringify(this.category)); - } - - - this.$router.push({ - path: "/huabei/store-pictures", - query: { - ...this.$route.query - } - }); - }, - pageGoBack() { - if(this.$route.query.isApp == 1){ - this.$router.go(-1) - }else{ - if (this.$route.query.typeId) { - this.$router.push({ - path: "/huabei/open", - query: { ...this.$route.query } - }); - } else { - this.$router.push({ path: "/huabei/open" }); - } - } - - } - } -}; -</script> - -<style lang="less" scoped> -.huabei-alipay-page { - padding-top: 54px; - background-color: #f1f1f1; -} -/deep/.vux-cell-value { - color: #333; - font-size: 16px; -} -.choose { - font-size: 14px; -} -/deep/.van-cell__value { - position: relative; - overflow: hidden; - color: #333; - font-size: 16px; - text-align: right; - vertical-align: middle; - word-wrap: break-word; -} -</style> diff --git a/src/views/old/merchant/huabei/open.vue b/src/views/old/merchant/huabei/open.vue deleted file mode 100644 index bcd34c5..0000000 --- a/src/views/old/merchant/huabei/open.vue +++ /dev/null @@ -1,178 +0,0 @@ -<!-- - * @Date: 2019-08-30 18:04:49 - * @LastEditors: 小明丶 - * @LastEditTime: 2021-01-04 15:23:51 - * @Description: - --> -<template> - <div class="open-huabei-page h-100-g"> - <x-header :title="'开通' + this.$route.query.title" :left-options="{backText:'',preventGoBack:true}" - @on-click-back="pageGoBack"></x-header> - <div class="tip">请用支付宝客户端,扫一扫</div> - <div class="qrcode-url" v-if="qrCodeUrl"> - <img :src="qrCodeUrl" alt=""> - </div> - <f-space></f-space> - <f-button @on-click="handleNextStep" - :disabled="buttonText === '等待授权'">{{ buttonText }}</f-button> - - <p class="tip">企业类型商户请使用企业支付宝账号扫码授权,个体工商户请使用经营者支付宝账号扫码授权</p> - </div> -</template> - -<script> - import QRCode from 'qrcode' - - export default { - name: 'huaBeiOpen', - data() { - return { - tit:'', - isClickNextBtn: false, // 是否点击下一步btn的状态 - alAccountTypeList: [], - qrCodeUrl: '', // 二维码图片地址 - timeId: '', // 轮询时间id - buttonText: '等待授权' // 按钮文字 - }; - }, - created() { - console.log(this.$route.query.path) - this.qrCodeUrl = ''; - this.timeId = ''; - this.buttonText = '等待授权'; - this.isClickNextBtn = false; - this.init(); - }, - mounted(){ - - }, - methods: { - // 点击返回 - pageGoBack () { - if(this.$route.query.isCreateOrderPush || this.$route.query.isApp==1){ - this.$router.go(-1) - }else{ - this.$router.push({ - path:'/channel-selection_sh', - query:{ - ...this.$route.query - } - }) - } - }, - // 检查授权 - checkAuth (isNext) { - // authStatus: 0 未授权 1授权---用户授权后才能执行下一步 - this.$api.checkAuth({ - zfbVersion:this.$route.query.zfbVersion - }).then((res) => { - if (res.body.authStatus === 1) { - this.buttonText = '下一步'; - clearTimeout(this.timeId); - if (isNext && !this.$route.query.isCreateOrderPush) { - this.$router.push({ - path: '/huabei/alipay', - query: { - ...this.$route.query - } - }); - } - if(isNext && this.$route.query.isCreateOrderPush){ - this.$router.push({ - path:this.$route.query.path, - query:{ - ...this.$route.query - } - }) - } - } else if(res.body.authStatus === 2){ - // 3秒钟,轮询一次 - this.$notify_success('请重新进入此页面'); - }else { - // 3秒钟,轮询一次 - this.timeId = setTimeout(() => { - this.checkAuth(); - }, 3000); - } - }, (error) => { - clearTimeout(this.timeId); - }); - // } - - }, - // 获取列表 - init () { - this.$api.hbOpenInit({ - zfbVersion:this.$route.query.zfbVersion - }).then((res) => { - // 这个类型列表(缓存在初始化列表, 等待上传图片的是,支付宝类型) - let alAccountTypeList = res.body.alAccountTypeList || []; - // let mccList = res.body.mccList || [] - sessionStorage.setItem('huabei_accountTypeList', JSON.stringify(alAccountTypeList)); - sessionStorage.setItem('huabei_mccList',JSON.stringify(res.body.mccList)); - // sessionStorage.setItem('huabei_mccList', JSON.stringify(mccList)); - // 如果已有开通记录 取值存起来 后面返显 - if(res.body.detailInfo){ - sessionStorage.setItem('huabei_detailInfo',JSON.stringify(res.body.detailInfo)) - } - // 1-图片,2-路径 - if (res.body.urlType === 1) { - this.qrCodeUrl = res.body.qrCodeUrl; - } else if (res.body.urlType === 2) { - // 生成图片 - QRCode.toDataURL(res.body.qrCodeUrl) - .then(url => { - this.qrCodeUrl = url; - }) - .catch(err => { - console.error(err) - }); - } - // 进入这个页面,就进行授权 - this.checkAuth(false); - }); - // } - - - - }, - // 点击下一步 - handleNextStep () { - this.checkAuth(true); - } - }, - beforeRouteLeave(to,form,next){ - clearTimeout(this.timeId); - this.qrCodeUrl = null; - next(); - }, - // destroyed() { - // clearTimeout(this.timeId); - // this.qrCodeUrl = null; - // }, - - }; -</script> - -<style lang="less"> - .open-huabei-page { - padding-top: 54px; - background-color: #f1f1f1; - - .tip { - color: #999; - text-align: center; - font-size: 14px; - line-height: 1.6; - padding: 14px 8%; - } - .qrcode-url { - text-align: center; - img { - width: 60%; - height: auto; - border: 5px solid @color-border-theme;; - } - } - } -</style> diff --git a/src/views/old/merchant/huabei/openResult.vue b/src/views/old/merchant/huabei/openResult.vue deleted file mode 100644 index 323c683..0000000 --- a/src/views/old/merchant/huabei/openResult.vue +++ /dev/null @@ -1,237 +0,0 @@ -/* - * @Author: c.y - * @Date: 2018-12-24 15:25:57 - * @Last Modified by: c.y - * @Last Modified time: 2019-06-06 15:22:27 - * @文件说明:开通花呗--审核结果 - */ -<template> - <div class="huabei-result-page"> - <x-header - :title="'开通' + this.$route.query.title" - :left-options="{backText:'',preventGoBack:true}" - @on-click-back="pageGoBack()" - ></x-header> - <div class="status-icon"> - <i v-if="openStatus == 1" class="iconfont scene_Staging-shenhezhong1"></i> - <i v-if="openStatus == 2" class="iconfont scene_Staging-danxuan"></i> - <i v-if="openStatus == 3" class="iconfont scene_Staging-shibai1"></i> - <i v-if="openStatus == 4" class="iconfont scene_Staging-shenhezhong1"></i> - </div> - <div class="tips"> - <p v-if="openStatus == 1">审核中</p> - <p v-if="openStatus == 2">审核通过</p> - <p v-if="openStatus == 3">审核未通过</p> - <p v-if="openStatus == 4">人工审核中,请联系客服</p> - </div> - <div style="padding:0 15px;margin-top:20px;color:#999;" v-if="openStatus != 4"> - <x-input title="花呗审核备注" v-model="hbAuditRemark" :readonly="true" text-align="right"></x-input> - </div> - <f-button @on-click="handleBack">{{ buttonText }}</f-button> - <f-button v-if="signUrl" @on-click="goSign">去签约</f-button> - </div> -</template> - -<script> -export default { - name: "add-account", - data() { - return { - openStatus: 0, // 开通状态 - buttonText: "", // 底部按钮文字 - signUrl: null, //签约地址 - hbAuditRemark: "无", //花呗审核备注 - timer:"",//定时器 - }; - }, - computed:{ - isApp(){ - return Number(this.$route.query.isApp) - } - }, - methods: { - goSign() { - window.location.href = this.signUrl; - }, - pageGoBack() { - if(this.isApp==1){ - this.$router.push({ - path: "/app/home" - }); - }else{ - this.$router.push({ - path: "/main/productManagement" - }); - } - - }, - // 1.商户提交开通花呗分期申请后状态:审核中,审核不通过,开通成功。 - // 2.如果是审核中,点击返回按钮回到“我”的界面; - // 3.如果审核失败,底部按钮改为“重新开通”,点击进入产品管理页并可以重新开通花呗分期; - // 4.如果开通成功,按钮改为“查看详情”,点击进入花呗详情页面; - // 5.如果是审核中,点击返回按钮回到“我”的界面; - handleBack() { - let jumpUrl = ""; - switch (this.openStatus) { - case 1: - if(this.isApp==1){ - jumpUrl = "/app/home"; - }else{ - jumpUrl = "/main/mine"; - } - break; - case 2: - if(this.isApp==1){ - if(this.$route.query.prodId == 30000003){ - jumpUrl = "/app/zfbVersionDetail"; - }else{ - jumpUrl = "/app/shskVersionDetail"; - } - }else{ - if (this.$route.query.title == "花呗分期") { - jumpUrl = "/huabei/staging"; - } else { - jumpUrl = "/huabei/staging_dmf"; - } - } - break; - case 3: - if(this.isApp==1){ - jumpUrl = "/app/home"; - }else{ - jumpUrl = "/main/productManagement"; - } - break; - case 4: - if(this.isApp==1){ - jumpUrl = "/app/home"; - }else{ - jumpUrl = "/main/mine"; - } - } - // 审核未通过3---需要调用--重新开通接口 - if (this.openStatus === 3) { - this.$api.hbOpenReOpen({}).then(res => { - this.$router.push({ - path: jumpUrl, - query:{ - ...this.$route.query - } - }); - }); - } else { - this.$router.push({ - path: jumpUrl, - query:{ - ...this.$route.query - } - }); - } - }, - // * 开通状态 mOpenStatus 0-待开户,1-审核中,2-审核通过,3-审核未通过 4-人工审核 - init() { - if (this.$route.query.prodId == "30000011") { - this.$api.findXygOpenSts().then(res => { - console.log(res); - try { - this.signUrl = res.body.signUrl || null; - this.hbAuditRemark = res.body.hbAuditRemark || "无"; - } catch (err) {} - this.openStatus = res.body.openStatus; - console.log("aaa" + this.openStatus); - switch (res.body.openStatus) { - case 1: - this.buttonText = "返回"; - - break; - case 2: - this.buttonText = "查看详情"; - clearInterval(this.timer) - break; - case 3: - this.buttonText = "重新开通"; - clearInterval(this.timer) - break; - case 4: - this.buttonText = "返回"; - clearInterval(this.timer) - } - console.log("bbb" + this.buttonText); - }); - } else { - this.$api - .findOpenSts({ - zfbVersion: this.$route.query.zfbVersion - }) - .then(res => { - console.log(res); - try { - this.signUrl = res.body.signUrl || null; - this.hbAuditRemark = res.body.hbAuditRemark || "无"; - } catch (err) {} - this.openStatus = res.body.openStatus; - console.log("aaa" + this.openStatus); - switch (res.body.openStatus) { - case 1: - this.buttonText = "返回"; - - break; - case 2: - this.buttonText = "查看详情"; - clearInterval(this.timer) - break; - case 3: - this.buttonText = "重新开通"; - clearInterval(this.timer) - break; - case 4: - this.buttonText = "返回"; - clearInterval(this.timer) - } - console.log("bbb" + this.buttonText); - }); - } - } - }, - created() { - console.log(this.$route.query.title); - this.buttonText = ""; - this.openStatus = 0; - this.init(); - }, - mounted(){ - let _this = this - this.timer = setInterval(()=>{ - _this.init(); - },5000) - }, - beforeRouteLeave (to, from, next) { - // 清除定时器 - clearInterval(this.timer) - next() - } -}; -</script> - -<style lang="less"> -.huabei-result-page { - padding-top: 45px; - .status-icon { - padding-top: 20px; - text-align: center; - } - .iconfont { - font-size: 64px; - color: #bfa073; - } - .scene_Staging-shibai1 { - color: #f76260; - } - .tips { - color: #999; - font-size: 14px; - line-height: 1.6; - text-align: center; - } -} -</style> diff --git a/src/views/old/merchant/huabei/staging.vue b/src/views/old/merchant/huabei/staging.vue deleted file mode 100644 index 883c1eb..0000000 --- a/src/views/old/merchant/huabei/staging.vue +++ /dev/null @@ -1,259 +0,0 @@ -<!-- - * @Date: 2019-08-30 18:04:49 - * @LastEditors: 小明丶 - * @LastEditTime: 2020-12-29 14:16:38 - * @Description: - --> -<template> - <div class="huabei-detail-page"> - <van-nav-bar - :title="this.$route.query.title" - left-text="返回" - left-arrow - @click-left="onClickLeft" - fixed - style="line-height: 43px;" - > - <i class="iconfont iconzuojiantou" slot="left" style="font-size: 25px;"></i> - </van-nav-bar> - <div class="top-back"></div> - <HstagingDetail :infoList="alipayInfo" :rateList="prodRef" :rateListRule="rateListRule" :hasTitle="true"></HstagingDetail> - - <!-- <div class="info-box"> - <div class="info-box-top"> - <van-cell - :title="alipayInfo.accountType === 1 ? '姓名' : '企业名称'" - :value="alipayInfo.accountName" - title-class="tit-class" - value-class="val-class" - - /> - <van-cell - title="支付宝账号" - :value="alipayInfo.accountNumber" - title-class="tit-class" - value-class="val-class" - /> - <van-cell - title="支付宝类型" - :value="alipayInfo.accountTypeName" - title-class="tit-class" - value-class="val-class" - /> - <van-cell - title="商户编号" - :value="alipayInfo.merNo" - title-class="tit-class" - value-class="val-class" - /> - <van-cell - title="开通日期" - :value="alipayInfo.authTime" - title-class="tit-class" - value-class="val-class" - /> - </div> - <div class="info-box-bottom" v-if="prodRef.length > 1"> - <div class="left-cr"></div> - <div class="right-cr"></div> - <div class="rate-title">费率</div> - <div class="item" v-for="i in prodRef" :key="i.termName"> - <span>{{i.termName}}</span> - <span>{{i.platRate}} <span v-show="i.termName !== '期数'">%</span></span> - <span>{{i.zfbRate}} <span v-show="i.termName !== '期数'">%</span></span> - </div> - </div> - </div> --> - - </div> -</template> - -<script> -import HstagingDetail from "@/components/common/h-staging-detail.vue"; -import Vue from "vue"; -import { NavBar } from "vant"; -import { dateFormat } from "vux"; -Vue.use(NavBar); -export default { - name: "add-account", - components:{ - HstagingDetail - }, - data() { - return { - prodRef: [{termName: '期数', platRate: '智享服务费率', zfbRate: '花呗分期手续费率'}], - alipayInfo:[], - rateListRule:[{keyName:'termName'},{keyName:'platRate',type:'isRate'},{keyName:'zfbRate',type:'isRate'}] - }; - }, - methods: { - // 返回上一页 - onClickLeft() { - this.$router.go(-1); - }, - // 初始化页面 - init() { - if (this.$route.query.prodId == 30000011) { - this.$api - .merXygPayInfo({ - prodId: this.$route.query.prodId - }) - .then(res => { - this.prodRef = res.body.prodBaseTermInfVo; - this.alipayInfo = { - accountNumber: res.body.payCode, - merNo: res.body.merNo, - accountName: res.body.payName, - accountType: Number(res.body.payType), - authTime: res.body.authTimeStr, - accountTypeName: res.body.payType === 1 ? "个人" : "企业" - }; - }); - } else { - this.$api - .merPayInfo({ - zfbVersion: this.$route.query.zfbVersion, - prodId: this.$route.query.prodId - }) - .then(res => { - this.prodRef = [...this.prodRef, ...res.body.prodBaseTermInfVo] - - this.alipayInfo = [ - { - title:Number(res.body.payType) === 1 ? '姓名' : '企业名称', - value:res.body.payName - }, - { - title:'支付宝账号', - value:res.body.payCode - }, - { - title:'支付宝类型', - value:res.body.payType === 1 ? "个人" : "企业" - }, - { - title:'商户编号', - value:res.body.merNo - }, - { - title:'开通日期', - value:res.body.authTimeStr - }, - ] - }); - } - } - }, - created() { - this.init(); - } -}; -</script> - -<style lang="less" scoped> -.huabei-detail-page { - padding-top: 45px; - background: #f5f5f7; - min-height: 100vh; - /deep/.van-cell__value { - position: relative; - overflow: visible; - text-align: right; - vertical-align: middle; - } - .top-back { - width: 100%; - height: 140px; - background: linear-gradient( - 180deg, - rgba(85, 78, 122, 1), - rgba(66, 61, 93, 1) - ); - } - .info-box { - width: 92%; - background: rgba(255, 255, 255, 1); - box-shadow: 0px 18px 15px 0px rgba(40, 23, 92, 0.04); - border-radius: 3px; - position: absolute; - top: 96px; - left: 4%; - .info-box-bottom { - box-sizing: border-box; - padding: 0 17px 20px 17px; - position: relative; - background-color: #fff; - .left-cr { - position: absolute; - width: 14px; - height: 14px; - border-radius: 50%; - background: #f5f5f7; - top: -7px; - left: -7px; - } - .right-cr { - position: absolute; - width: 14px; - height: 14px; - border-radius: 50%; - background: #f5f5f7; - top: -7px; - right: -7px; - } - } - .item { - width: 100%; - margin-top: 5px; - padding: 0 10px; - box-sizing: border-box; - display: inline-block; - background: rgba(249, 247, 252, 1); - height: 40px; - line-height: 40px; - display: flex; - justify-content: space-around; - span { - text-align: center; - } - span:nth-child(1) { - width: 15%; - } - span:nth-child(2) { - width: 40%; - } - span:nth-child(3) { - width: 45%; - } - } - } - .tit-class { - min-width: 30%; - font-size: 14px; - font-family: PingFang SC; - font-weight: 500; - color: rgba(153, 153, 153, 1); - } - .val-class { - min-width: 69%; - font-size: 14px; - font-family: PingFang SC; - font-weight: 500; - color: rgba(51, 51, 51, 1); - } - .van-cell:not(:last-child)::after { - border-bottom: 0; - } - .rate-title { - padding: 20px 0 0 0; - font-size: 14px; - color: #999999; - font-weight: normal; - line-height: 1.6; - border-top: 1px dashed #e6e6e6; - } - .unit { - font-size: 14px; - } -} -</style> diff --git a/src/views/old/merchant/huabei/staging_dmf.vue b/src/views/old/merchant/huabei/staging_dmf.vue deleted file mode 100644 index b0c0970..0000000 --- a/src/views/old/merchant/huabei/staging_dmf.vue +++ /dev/null @@ -1,225 +0,0 @@ -<!-- - * @Author: 小明丶 - * @Date: 2019-08-30 18:04:49 - * @LastEditors: 小明丶 - * @LastEditTime: 2020-12-08 14:08:09 - * @Description: - --> -<template> - <div class="huabei-detail-page"> - <van-nav-bar - title="商户收款" - left-text="返回" - left-arrow - @click-left="onClickLeft" - fixed - style="line-height: 43px;" - > - <i class="iconfont iconzuojiantou" slot="left" style="font-size: 25px;"></i> - </van-nav-bar> - <div class="top-back"></div> - - <div class="info-box"> - <van-cell - :title="alipayInfo.accountType === 1 ? '姓名' : '企业名称'" - :value="alipayInfo.accountName" - title-class="tit-class" - value-class="val-class" - /> - <van-cell - title="支付宝账号" - :value="alipayInfo.accountNumber" - title-class="tit-class" - value-class="val-class" - /> - <van-cell - title="支付宝类型" - :value="alipayInfo.accountTypeName" - title-class="tit-class" - value-class="val-class" - /> - <van-cell - title="商户编号" - :value="alipayInfo.merNo" - title-class="tit-class" - value-class="val-class" - /> - <van-cell - title="开通日期" - :value="alipayInfo.authTime" - title-class="tit-class" - value-class="val-class" - /> - <div class="info-box-bottom" > - <div class="left-cr"></div> - <div class="right-cr"></div> - <div class="rate-title">费率</div> - <div class="item" v-for="i in payMethods" :key="i.payMethodName"> - <span>{{i.payMethodName}}</span> - <span>{{i.fee}}%</span> - </div> - </div> - </div> - <!-- v-if="prodRef.length > 1" --> - - </div> -</template> - -<script> -import Vue from "vue"; -import { NavBar } from "vant"; - -Vue.use(NavBar); -export default { - name: "add-account", - data() { - return { - payMethods:[], - alipayInfo: { - accountNumber: "", // 账号 - accountName: "", // 账号名称 - accountType: "", // 账户类型 1为个人 2为企业 - accountTypeName: "", - merNo: "", - authTime: "" - } - }; - }, - methods: { - // 返回上一页 - onClickLeft() { - this.$router.go(-1); - }, - // 初始化页面 - init() { - this.$api - .merPayInfo({ - zfbVersion: this.$route.query.zfbVersion, - prodId: this.$route.query.prodId - }) - .then(res => { - this.alipayInfo = { - accountNumber: res.body.payCode, - merNo: res.body.merNo, - accountName: res.body.payName, - authTime: res.body.authTimeStr, - accountType: Number(res.body.payType), - accountTypeName: res.body.payType === 1 ? "个人" : "企业" - }; - this.payMethods = res.body.payMethods - }); - } - }, - created() { - this.init(); - } -}; -</script> - -<style lang="less"> -.huabei-detail-page { - padding-top: 45px; - position: relative; - min-height: 100vh; - background: #fafafa; - /deep/.van-cell__value { - position: relative; - overflow: visible; - text-align: right; - vertical-align: middle; - } - .top-back { - width: 100%; - height: 140px; - background: linear-gradient( - 180deg, - rgba(85, 78, 122, 1), - rgba(66, 61, 93, 1) - ); - } - .info-box { - width: 92%; - height: 227px; - background: rgba(255, 255, 255, 1); - box-shadow: 0px 18px 15px 0px rgba(40, 23, 92, 0.04); - border-radius: 3px; - position: absolute; - top: 96px; - left: 4%; - } - .tit-class { - min-width: 30%; - font-size: 14px; - font-family: PingFang SC; - font-weight: 500; - color: rgba(153, 153, 153, 1); - } - .val-class { - min-width: 69%; - font-size: 14px; - font-family: PingFang SC; - font-weight: 500; - color: rgba(51, 51, 51, 1); - } - .van-cell:not(:last-child)::after { - border-bottom: 0; - } - .rate-title { - padding: 20px 15px 10px; - font-size: 16px; - color: #333; - font-weight: normal; - line-height: 1.6; - } - .unit { - font-size: 14px; - } - .info-box-bottom { - border-top: 1px dashed #eee; - box-sizing: border-box; - padding: 0 17px 20px 17px; - position: relative; - background-color: #fff; - .left-cr { - position: absolute; - width: 14px; - height: 14px; - border-radius: 50%; - background: #f5f5f7; - top: -7px; - left: -7px; - } - .right-cr { - position: absolute; - width: 14px; - height: 14px; - border-radius: 50%; - background: #f5f5f7; - top: -7px; - right: -7px; - } - } - .item { - width: 100%; - margin-top: 5px; - padding: 0 10px; - box-sizing: border-box; - display: inline-block; - background: rgba(249, 247, 252, 1); - height: 40px; - line-height: 40px; - display: flex; - justify-content: space-around; - span { - text-align: center; - } - span:nth-child(1) { - width: 45%; - } - span:nth-child(2) { - width: 40%; - } - - } -} -</style> diff --git a/src/views/old/merchant/huabei/staging_hbjl.vue b/src/views/old/merchant/huabei/staging_hbjl.vue deleted file mode 100644 index 390ee9d..0000000 --- a/src/views/old/merchant/huabei/staging_hbjl.vue +++ /dev/null @@ -1,213 +0,0 @@ -<!-- - * @Date: 2019-08-30 18:04:49 - * @LastEditors: 小明丶 - * @LastEditTime: 2020-06-12 17:27:17 - * @Description: - --> -<template> - <div class="hbjl-detail-page"> - <van-nav-bar - title="花呗间联" - left-text="返回" - left-arrow - @click-left="onClickLeft" - fixed - style="line-height: 43px;" - > - <i class="iconfont iconzuojiantou" slot="left" style="font-size: 25px;"></i> - </van-nav-bar> - <div class="top-back"></div> - <div class="info-box"> - <div class="info-box-top" v-if="alipayInfo.inviteCode"> - <p>{{alipayInfo.inviteCode}}</p> - <p>推广码</p> - </div> - <div class="info-box-bottom" v-if="prodRef"> - <!-- <div class="left-cr"></div> - <div class="right-cr"></div> --> - <!-- <div v-if="prodRef instanceof Array && prodRef.length" class="rate-title">费率</div> --> - <div class="trem-box"> - <div v-for="i in prodRef" :key="i.termName"> - <template v-if="prodRef instanceof Array && prodRef.length"> - <span>{{i.term}}期</span> - <span>费率:{{i.fee}}%</span> - <span>固定收益:{{i.amt}}</span> - </template> - </div> - </div> - </div> - </div> - </div> -</template> - -<script> -import Vue from "vue"; -import { NavBar } from "vant"; -import { dateFormat } from "vux"; -Vue.use(NavBar); -export default { - name: "add-account", - data() { - return { - prodRef: [], - alipayInfo: { - inviteCode:'', - } - }; - }, - methods: { - // 返回上一页 - onClickLeft() { - this.$router.go(-1); - }, - // 初始化页面 - init() { - this.$api.prodRefInit({ - orgId:this.$route.query.orgId, - orgType:this.$route.query.orgType, - typeId:this.$route.query.typeId - }).then(res=>{ - this.alipayInfo = res.body - this.prodRef = res.body.prodSkDtlInfoList - }) - - } - }, - created() { - this.init(); - } -}; -</script> - -<style lang="less" scoped> -.hbjl-detail-page { - padding-top: 45px; - background: #f5f5f7; - min-height: 100vh; - /deep/.van-cell__value { - position: relative; - overflow: visible; - text-align: right; - vertical-align: middle; - } - .top-back { - width: 100%; - height: 140px; - background: linear-gradient( - 180deg, - rgba(85, 78, 122, 1), - rgba(66, 61, 93, 1) - ); - } - .info-box { - width: 92%; - background: rgba(255, 255, 255, 1); - box-shadow: 0px 18px 15px 0px rgba(40, 23, 92, 0.04); - border-radius: 3px; - position: absolute; - top: 96px; - left: 4%; - .info-box-top{ - text-align: center; - height: 128px; - box-sizing: border-box; - padding-top: 47px; - p:nth-of-type(1){ - font-size:18px; - font-family:PingFang SC; - font-weight:bold; - color:rgba(51,51,51,1); - margin-bottom: 10px; - } - p:nth-of-type(2){ - font-size:14px; - font-family:PingFang SC; - font-weight:500; - color:rgba(153,153,153,1); - } - } - .info-box-bottom { - box-sizing: border-box; - padding: 24px 17px 20px 17px; - position: relative; - background-color: #fff; - border-top:1px dashed #E6E6E6; - .left-cr { - position: absolute; - width: 14px; - height: 14px; - border-radius: 50%; - background: linear-gradient(180deg,#423D5D 50%,#F5F5F7 50%); - top: -7px; - left: -7px; - } - .right-cr { - position: absolute; - width: 14px; - height: 14px; - border-radius: 50%; - background: linear-gradient(180deg,#423D5D 50%,#F5F5F7 50%); - top: -7px; - right: -7px; - } - } - - .trem-box { - width: 100%; - color: #271D5E; - box-sizing: border-box; - //padding: 0 15px; - div{ - width: 100%; - height: 40px; - border:1px solid rgba(249,247,252,1); - display: flex; - line-height: 40px; - margin-bottom: 5px; - span{ - display: inline-block; - text-align: center; - } - span:nth-of-type(1){ - background:rgba(249,247,252,1); - width: 20%; - } - span:nth-of-type(2){ - width: 40%; - } - span:nth-of-type(3){ - width: 40%; - } - } - } - } - .tit-class { - min-width: 30%; - font-size: 14px; - font-family: PingFang SC; - font-weight: 500; - color: rgba(153, 153, 153, 1); - } - .val-class { - min-width: 69%; - font-size: 14px; - font-family: PingFang SC; - font-weight: 500; - color: rgba(51, 51, 51, 1); - } - .van-cell:not(:last-child)::after { - border-bottom: 0; - } - .rate-title { - padding: 20px 0 0 0; - font-size: 14px; - color: #999999; - font-weight: normal; - line-height: 1.6; - border-top: 1px dashed #e6e6e6; - } - .unit { - font-size: 14px; - } -} -</style> diff --git a/src/views/old/merchant/huabei/storePictures.vue b/src/views/old/merchant/huabei/storePictures.vue deleted file mode 100644 index 80f5dbf..0000000 --- a/src/views/old/merchant/huabei/storePictures.vue +++ /dev/null @@ -1,278 +0,0 @@ -<!-- - * @Author: 小明丶 - * @Date: 2019-08-30 18:04:49 - * @LastEditors: 小明丶 - * @LastEditTime: 2021-01-04 15:30:29 - * @Description: - --> -/* - * @Author: c.y - * @Date: 2018-12-24 15:04:57 - * @Last Modified by: mikey.zhaopeng - * @Last Modified time: 2019-11-15 09:02:18 - * @文件说明:花呗分期--开通花呗--上传门店相关照片 - */ -<template> - <div class="huabei-picture-page"> - <x-header - :title="'开通' + this.$route.query.title" - :left-options="{backText:'',preventGoBack:true}" - @on-click-back="pageGoBack()" - ></x-header> - <group v-if="alAccountTypeList instanceof Array && alAccountTypeList.length"> - <selector - :title="isddxt?'商户类型':'支付宝类型'" - ref="insTerm" - placeholder="请选择" - v-model="accountType" - :options="alAccountTypeList" - :value-map="['code', 'name']" - direction="rtl" - ></selector> - </group> - <div class="pic-content"> - <UploadFile - :fileType="0" - :title="isddxt && accountType == 3?'民办非企业登记证书':'营业执照'" - :typeId="this.$route.query.typeId" - :sourceType="this.$route.query.zfbVersion" - :picList="uploadObj.licencePhotos" - ></UploadFile> - <UploadFile - v-if="isddxt && accountType == 3" - :fileType="24" - :title="'办学许可证'" - :typeId="this.$route.query.typeId" - :sourceType="this.$route.query.zfbVersion" - :picList="uploadObj.schoolPermit" - ></UploadFile> - <UploadFile - :fileType="2" - :title="'身份证正面照'" - :typeId="this.$route.query.typeId" - :sourceType="this.$route.query.zfbVersion" - :picList="uploadObj.cardFrontPhotos" - ></UploadFile> - <UploadFile - :fileType="3" - :title="'身份证反面照'" - :typeId="this.$route.query.typeId" - :sourceType="this.$route.query.zfbVersion" - :picList="uploadObj.cardBackPhotos" - ></UploadFile> - <UploadFile - :fileType="6" - :title="'门店店内照'" - :typeId="this.$route.query.typeId" - :sourceType="this.$route.query.zfbVersion" - :picList="uploadObj.storeInnerPhotos" - ></UploadFile> - <UploadFile - :fileType="7" - :title="'门店招牌照'" - :typeId="this.$route.query.typeId" - :sourceType="this.$route.query.zfbVersion" - :picList="uploadObj.storeSignPhotos" - ></UploadFile> - </div> - <f-space></f-space> - <f-button @on-click="handleOpenHuaBei">提交开通</f-button> - </div> -</template> - -<script> -import UploadFile from "@/components/old/upload/uploadImg"; - -export default { - name: "add-account", - components: { - UploadFile - }, - data() { - return { - alAccountTypeList: [], - accountType: "", // 选择的账号类型 - uploadObj: { - licencePhotos: [], // 营业执照 - schoolPermit:[],//办学许可证 - cardFrontPhotos: [], // 身份证正面照 - cardBackPhotos: [], // 身份证反面照 - storeSignPhotos: [], // 门店招牌照 - storeInnerPhotos: [] // 门店店内照 - } - }; - }, - computed:{ - isddxt(){ - if(sessionStorage.isddxt == 1 || this.$route.query.zfbVersion == 6){ - return true - }else{ - return false - } - } - }, - methods: { - pageGoBack() { - if(this.$route.query.isApp == 1){ - this.$router.go(-1) - }else{ - if (this.$route.query.accountType) { - this.$router.push({ - path: "/huabei/alipay", - query: { accountType: this.$route.query.accountType,...this.$route.query } - }); - } else { - this.$router.push({ - path: "/huabei/alipay", - query: { ...this.$route.query } - }); - } - } - - }, - // 开通花呗 - handleOpenHuaBei() { - if (this.$tool.checkValEmpty(this.accountType)) { - this.$tool.toast("请选择支付宝类型"); - return false; - } - if (this.$tool.checkValEmpty(this.uploadObj.licencePhotos)) { - let str ; - if(this.isddxt){ - str="请上传营业执照" - }else{ - str="民办非企业登记证书" - } - this.$tool.toast(str); - return false; - } - if (this.$tool.checkValEmpty(this.uploadObj.schoolPermit)&&this.isddxt && this.accountType == 3) { - this.$tool.toast("请上传办学许可证"); - return false; - } - if (this.$tool.checkValEmpty(this.uploadObj.cardFrontPhotos)) { - this.$tool.toast("请上传身份证正面照"); - return false; - } - if (this.$tool.checkValEmpty(this.uploadObj.cardBackPhotos)) { - this.$tool.toast("请上传身份证反面照"); - return false; - } - if (this.$tool.checkValEmpty(this.uploadObj.storeSignPhotos)) { - this.$tool.toast("请上传门店招牌照"); - return false; - } - if (this.$tool.checkValEmpty(this.uploadObj.storeInnerPhotos)) { - this.$tool.toast("请上传门店店内照"); - return false; - } - console.log(this.uploadObj) - let picIdList = { - licencePhotos: [], - schoolPermit:[], - cardFrontPhotos: [], - cardBackPhotos: [], - storeSignPhotos: [], - storeInnerPhotos: [] - }; - - for (let i in this.uploadObj) { - this.uploadObj[i].forEach(item => { - picIdList[i].push(item.id + ""); - }); - } - console.log(JSON.parse(sessionStorage.getItem("huabei_addr"))); - let submitInfo = { - aliAccount: sessionStorage.getItem("huabei_accountNumber"), - aliAccountName: sessionStorage.getItem("huabei_accountName"), - servicePhone: sessionStorage.getItem("huabei_servicePhone"), - addr: JSON.parse(sessionStorage.getItem("huabei_addr")), - aliAccountType: this.accountType, - zfbVersion: this.$route.query.zfbVersion, - ...picIdList - }; - // if(sessionStorage.isddxt==1){ - // submitInfo.mcc = Number(JSON.parse(sessionStorage.getItem('huabei_category'))) - // } - console.log(submitInfo); - // if (this.$route.query.typeId == "200011") { - // this.$api.hbOpenXygOpen(submitInfo).then(res => { - // this.$router.push({ - // path: "/huabei/open-result", - // query: { - // title: "信用购-花呗分期", - // ...this.$route.query - // } - // }); - // }); - // } else { - this.$api.hbOpenOpen(submitInfo).then(res => { - this.$router.push({ - path: "/huabei/open-result", - query: { - title: "花呗分期", - ...this.$route.query - } - }); - }); - // } - }, - // 获取返显资料 - getMyMation() { - if (sessionStorage.getItem("huabei_detailInfo")) { - console.log(JSON.parse(sessionStorage.getItem("huabei_detailInfo"))); - var obj = JSON.parse(sessionStorage.getItem("huabei_detailInfo")); - if(obj.aliAccountType){ - this.accountType = obj.aliAccountType - } - if(obj.licencePhotos && obj.licencePhotos.length > 0){ - this.uploadObj.licencePhotos = obj.licencePhotos - } - if(obj.schoolPermit && obj.schoolPermit.length > 0){ - this.uploadObj.schoolPermit = obj.schoolPermit - } - if(obj.cardFrontPhotos && obj.cardFrontPhotos.length > 0){ - this.uploadObj.cardFrontPhotos = obj.cardFrontPhotos - } - if(obj.cardBackPhotos && obj.cardBackPhotos.length > 0){ - this.uploadObj.cardBackPhotos = obj.cardBackPhotos - } - if(obj.storeSignPhotos && obj.storeSignPhotos.length > 0){ - this.uploadObj.storeSignPhotos = obj.storeSignPhotos - } - if(obj.storeInnerPhotos && obj.storeInnerPhotos.length > 0){ - this.uploadObj.storeInnerPhotos = obj.storeInnerPhotos - } - } - } - }, - created() { - if (typeof sessionStorage.huabei_accountTypeList !== "undefined") { - this.alAccountTypeList = JSON.parse( - sessionStorage.getItem("huabei_accountTypeList") - ); - } - //this.getMyMation(); - this.accountType = ""; - this.uploadObj = { - licencePhotos: [], // 营业执照 - schoolPermit:[], - cardFrontPhotos: [], // 身份证正面照 - cardBackPhotos: [], // 身份证反面照 - storeSignPhotos: [], // 门店招牌照 - storeInnerPhotos: [] // 门店店内照 - }; - this.getMyMation(); - } -}; -</script> - -<style lang="less"> -.huabei-picture-page { - padding-top: 45px; - background: @color-white; - .pic-content { - padding: 0 24px; - } -} -</style> diff --git a/src/views/old/merchant/lj/ljcreditStaging.vue b/src/views/old/merchant/lj/ljcreditStaging.vue deleted file mode 100644 index c7eb9fb..0000000 --- a/src/views/old/merchant/lj/ljcreditStaging.vue +++ /dev/null @@ -1,81 +0,0 @@ -<!-- - * @Date: 2019-08-30 18:04:49 - * @LastEditors: 小明丶 - * @LastEditTime: 2019-09-02 10:11:37 - * @Description: - --> -<template> - <div class="creditStaging-page"> - <x-header title="手机分期" :left-options="{backText:''}"></x-header> - <group> - <x-input title="状态" v-model="prodRef.typeIdName" text-align='right' readonly></x-input> - </group> - </div> -</template> - -<script> - import { mapState } from 'vuex'; -export default { - name: 'creditStaging', - data() { - return { - prodRef: { - status: '', - prodSkDtlInfoList: [], - typeIdName: '' - } - }; - }, - computed:{ - ...mapState(['userinfo']) - }, - methods: { - init() { - let parObj = this.$route.query; - parObj.orgId = this.userinfo.orgId; - this.$api.prodRefInit(this.$route.query).then(res => { - this.prodRef = res.body; - if (this.$route.query.typeId == 200003) { - if (res.body.status) { - this.prodRef.typeIdName = '已分配'; - } else { - this.prodRef.typeIdName = '未分配'; - } - } - }); - } - }, - created() { - this.init(); - } -}; -</script> - -<style lang="less" scoped> - .creditStaging-page { - padding-top: 54px; - background-color: #f1f1f1; - & /deep/ .weui-switch { - width: 44px; - height: 24px; - &::before { - width: 42px; - height: 22px; - } - &::after { - width: 22px; - height: 22px; - } - } - .unit { - margin-left: 5px; - color: @color-text-main; - font-size: @font-size-medium; - } - .tips { - padding: 12px; - font-size: @font-size-small; - color: @color-text-three; - } - } -</style> diff --git a/src/views/old/merchant/shtx/open.vue b/src/views/old/merchant/shtx/open.vue deleted file mode 100644 index d39141b..0000000 --- a/src/views/old/merchant/shtx/open.vue +++ /dev/null @@ -1,140 +0,0 @@ -<!-- - * @Author: 小明丶 - * @Date: 2019-09-26 15:50:59 - * @LastEditors: 小明丶 - * @LastEditTime: 2019-09-26 15:50:59 - * @Description: - --> -<template> - <div class="open-huabei-page h-100-g"> - <x-header :title="'开通' + this.$route.query.title" :left-options="{backText:'',preventGoBack:true}" - @on-click-back="pageGoBack"></x-header> - <div class="tip">请用支付宝客户端,扫一扫</div> - <div class="qrcode-url" v-if="qrCodeUrl"> - <img :src="qrCodeUrl" alt=""> - </div> - <f-space></f-space> - <f-button @on-click="handleNextStep" - :disabled="buttonText === '等待授权'">{{ buttonText }}</f-button> - </div> -</template> - -<script> - import QRCode from 'qrcode' - - export default { - name: 'huaBeiOpen', - data() { - return { - isClickNextBtn: false, // 是否点击下一步btn的状态 - alAccountTypeList: [], - qrCodeUrl: '', // 二维码图片地址 - timeId: '', // 轮询时间id - buttonText: '等待授权' // 按钮文字 - }; - }, - methods: { - // 点击返回 - pageGoBack () { - this.$router.push({ - path: '/main/productManagement' - }); - }, - // 检查授权 - checkAuth (isNext) { - // authStatus: 0 未授权 1授权---用户授权后才能执行下一步 - this.$api.checkAuth({}).then((res) => { - if (res.body.authStatus === 1) { - this.buttonText = '下一步'; - clearTimeout(this.timeId); - if (isNext) { - this.$router.push({ - path: '/huabei/alipay', - query: { - typeId: this.$route.query.typeId, // 产品typeId - } - }); - } - } else if(res.body.authStatus === 2){ - // 3秒钟,轮询一次 - this.$notify_success('请重新进入此页面'); - }else { - // 3秒钟,轮询一次 - this.timeId = setTimeout(() => { - this.checkAuth(); - }, 3000); - } - }, (error) => { - clearTimeout(this.timeId); - }); - }, - // 获取列表 - init () { - this.$api.hbOpenInit({}).then((res) => { - // 这个类型列表(缓存在初始化列表, 等待上传图片的是,支付宝类型) - let alAccountTypeList = res.body.alAccountTypeList || []; - sessionStorage.setItem('huabei_accountTypeList', JSON.stringify(alAccountTypeList)); - // 1-图片,2-路径 - if (res.body.urlType === 1) { - this.qrCodeUrl = res.body.qrCodeUrl; - } else if (res.body.urlType === 2) { - // 生成图片 - QRCode.toDataURL(res.body.qrCodeUrl) - .then(url => { - this.qrCodeUrl = url; - }) - .catch(err => { - console.error(err) - }); - } - - }); - // 进入这个页面,就进行授权 - this.checkAuth(false); - }, - // 点击下一步 - handleNextStep () { - this.checkAuth(true); - } - }, - beforeRouteLeave(to,form,next){ - clearTimeout(this.timeId); - this.qrCodeUrl = null; - next(); - }, - // destroyed() { - // clearTimeout(this.timeId); - // this.qrCodeUrl = null; - // }, - created() { - this.qrCodeUrl = ''; - this.timeId = ''; - this.buttonText = '等待授权'; - this.isClickNextBtn = false; - this.init(); - } - }; -</script> - -<style lang="less"> - .open-huabei-page { - padding-top: 54px; - background-color: #f1f1f1; - - .tip { - color: #999; - text-align: center; - font-size: 14px; - line-height: 1.6; - padding: 14px 0; - } - .qrcode-url { - text-align: center; - img { - width: 60%; - height: auto; - border: 5px solid @color-border-theme;; - } - } - } -</style> diff --git a/src/views/old/merchant/shtx/staging.vue b/src/views/old/merchant/shtx/staging.vue deleted file mode 100644 index f9158ad..0000000 --- a/src/views/old/merchant/shtx/staging.vue +++ /dev/null @@ -1,268 +0,0 @@ -<!-- - * @Author: 小明丶 - * @Date: 2019-09-26 15:29:46 - * @LastEditors: 小明丶 - * @LastEditTime: 2020-06-28 11:17:36 - * @Description: - --> -<template> - <div class="huabei-detail-page"> - <van-nav-bar - :title="this.$route.query.title" - left-text="返回" - left-arrow - @click-left="onClickLeft" - fixed - style="line-height: 43px;" - > - <i class="iconfont iconzuojiantou" slot="left" style="font-size: 25px;"></i> - </van-nav-bar> - <div class="top-back"></div> - <div class="info-box"> - <div class="info-box-top"> - <van-cell - :title="alipayInfo.accountType === 1 ? '姓名' : '企业名称'" - :value="alipayInfo.accountName" - title-class="tit-class" - value-class="val-class" - /> - <van-cell - title="支付宝账号" - :value="alipayInfo.accountNumber" - title-class="tit-class" - value-class="val-class" - /> - <van-cell - title="支付宝类型" - :value="alipayInfo.accountTypeName" - title-class="tit-class" - value-class="val-class" - /> - <van-cell - title="商户编号" - :value="alipayInfo.merNo" - title-class="tit-class" - value-class="val-class" - /> - <van-cell - title="开通日期" - :value="alipayInfo.authTime" - title-class="tit-class" - value-class="val-class" - /> - </div> - <div class="info-box-bottom" v-if="prodRef.length > 1"> - <div class="left-cr"></div> - <div class="right-cr"></div> - <div class="rate-title">费率</div> - <div class="item" v-for="i in prodRef" :key="i.termName"> - <span>{{i.termName}}</span> - <span>{{i.platRate}} <span v-show="i.termName !== '期数'">%</span></span> - <span>{{i.zfbRate}} <span v-show="i.termName !== '期数'">%</span></span> - </div> - </div> - </div> - <!-- <x-header title="商户贴息" :left-options="{backText:''}"></x-header> - <group> - <x-input title="支付宝类型" - :max="20" - text-align="right" - readonly - v-model.trim="alipayInfo.accountTypeName"></x-input> - <x-input title="支付宝账号" - readonly - text-align="right" - v-model.trim="alipayInfo.accountNumber"></x-input> - <x-input :title="alipayInfo.accountType === 1 ? '姓名' : '企业名称'" - :max="20" - readonly - text-align="right" - v-model.trim="alipayInfo.accountName"></x-input> - <x-input :title="'商户编号'" - :max="20" - readonly - text-align="right" - v-model.trim="alipayInfo.merNo"></x-input> - </group> - <div v-if="prodRef instanceof Array && prodRef.length" class="rate-title">费率</div> - <group v-if="prodRef instanceof Array && prodRef.length"> - <x-input v-for="i in prodRef" - :key="i.termName" - :title="i.termName" - v-model="i.rate" - readonly - text-align="right"> - <div slot="right" class="unit"> %</div> - </x-input> - </group>--> - </div> -</template> - -<script> -export default { - name: "add-account", - data() { - return { - prodRef: [{termName: '期数', platRate: '智享服务费率', zfbRate: '花呗分期手续费率'}], - alipayInfo: { - accountNumber: "", // 账号 - accountName: "", // 账号名称 - accountType: "", // 账户类型 1为个人 2为企业 - accountTypeName: "", - merNo: "", - authTime: "" - } - }; - }, - methods: { - // 返回上一页 - onClickLeft() { - this.$router.go(-1); - }, - // 初始化页面 - init() { - this.$api - .merPayInfo({ - zfbVersion: this.$route.query.zfbVersion, - prodId: this.$route.query.prodId - }) - .then(res => { - this.prodRef = [...this.prodRef, ...res.body.prodBaseTermInfVo] - this.alipayInfo = { - accountNumber: res.body.payCode, - merNo: res.body.merNo, - accountName: res.body.payName, - authTime: res.body.authTimeStr, - accountType: Number(res.body.payType), - accountTypeName: res.body.payType === 1 ? "个人" : "企业" - }; - }); - } - }, - created() { - this.init(); - } -}; -</script> - -<style lang="less"> -.huabei-detail-page { - padding-top: 45px; - background: #f5f5f7; - min-height: 100vh; - /deep/.van-cell__value { - position: relative; - overflow: visible; - text-align: right; - vertical-align: middle; - } - .top-back { - width: 100%; - height: 140px; - background: linear-gradient( - 180deg, - rgba(85, 78, 122, 1), - rgba(66, 61, 93, 1) - ); - } - .info-box { - width: 92%; - background: rgba(255, 255, 255, 1); - box-shadow: 0px 18px 15px 0px rgba(40, 23, 92, 0.04); - border-radius: 3px; - position: absolute; - top: 96px; - left: 4%; - .info-box-bottom { - box-sizing: border-box; - padding: 0 17px 20px 17px; - position: relative; - background-color: #fff; - .left-cr { - position: absolute; - width: 14px; - height: 14px; - border-radius: 50%; - background: #f5f5f7; - top: -7px; - left: -7px; - } - .right-cr { - position: absolute; - width: 14px; - height: 14px; - border-radius: 50%; - background: #f5f5f7; - top: -7px; - right: -7px; - } - } - - .item { - width: 100%; - margin-top: 5px; - padding: 0 10px; - box-sizing: border-box; - display: inline-block; - background: rgba(249, 247, 252, 1); - height: 40px; - line-height: 40px; - display: flex; - justify-content: space-around; - span { - text-align: center; - } - span:nth-child(1) { - width: 15%; - } - span:nth-child(2) { - width: 40%; - } - span:nth-child(3) { - width: 45%; - } - } - } - .tit-class { - min-width: 30%; - font-size: 14px; - font-family: PingFang SC; - font-weight: 500; - color: rgba(153, 153, 153, 1); - } - .val-class { - min-width: 69%; - font-size: 14px; - font-family: PingFang SC; - font-weight: 500; - color: rgba(51, 51, 51, 1); - } - .van-cell:not(:last-child)::after { - border-bottom: 0; - } - .rate-title { - padding: 20px 0 0 0; - font-size: 14px; - color: #999999; - font-weight: normal; - line-height: 1.6; - border-top: 1px dashed #e6e6e6; - } - .unit { - font-size: 14px; - } -} -// .huabei-detail-page { -// padding-top: 45px; -// .rate-title { -// padding: 20px 15px 10px; -// font-size: 16px; -// color: #333; -// font-weight: normal; -// line-height: 1.6; -// } -// .unit { -// font-size: 14px; -// } -// } -</style> diff --git a/src/views/old/merchant/tonglian/open.vue b/src/views/old/merchant/tonglian/open.vue deleted file mode 100644 index 43fd1c8..0000000 --- a/src/views/old/merchant/tonglian/open.vue +++ /dev/null @@ -1,215 +0,0 @@ -<!-- - * @Author: 小明丶 - * @Date: 2020-08-10 14:02:37 - * @LastEditors: 小明丶 - * @LastEditTime: 2020-10-23 09:47:15 - * @Description: 通联通道开通 ---> -<template> - <div class="tonglian-open-page"> - <v-navbar title="开通通联通道"></v-navbar> - <div class="info-box"> - <van-cell-group> - <van-field - label-class="label-class" - label-width="200px" - input-align="right" - maxlength="11" - disabled - v-model="legalMblNo" - label="法人手机号" - /> - <van-field - v-model="authCode" - input-align="right" - center - clearable - maxlength="6" - label="验证码" - placeholder="请输入短信验证码" - > - <template #button> - <button class="code-btn" :disabled="btnDis" @click="getCode">{{btnText}}</button> - </template> - </van-field> - </van-cell-group> - </div> - <p style="font-size:12px;color:#666;padding:20px 1vw">您正在开通网商银行订单账款服务,开通后可使用和微分钱包服务。请点击合同查看并确认后勾选以提交申请。</p> - - <van-checkbox v-model="checked" icon-size="16px" checked-color="#896EDB" style="padding:0 2vw"> - <span style="font-size:12px;color:#896EDB" @click.stop="ShowAgreen = true">《网商银行订单账款合同》</span> - </van-checkbox> - - - - - <van-button - round - size="large" - @click="goNext" - color="#896EDB" - style="width:86vw;margin-left:7vw;margin-top:60px" - >提交申请</van-button> - <van-popup v-model="ShowAgreen"> - <div class="agreenBox"> - <div class="agreen-html" v-html="Agreend"></div> - <div class="close-agreen" @click="ShowAgreen = false"> - <van-icon name="close" /> - </div> - </div> - </van-popup> - </div> -</template> -<script> -import Vue from "vue"; -import { Field, Toast } from "vant"; -import { mapState } from "vuex"; -Vue.use(Toast); -Vue.use(Field); -export default { - data() { - return { - btnDis: false, - btnText: "发送验证码", - authCode: "", - timer: "", - hasGetCode:1, - ShowAgreen:true, - checked:'', - }; - }, - computed: { - ...mapState(['userinfo']), - legalMblNo() { - return JSON.parse(sessionStorage.getItem(`sib_tl_openInfo_${this.userinfo.orgId}`)).detailInfo - .legalMblNo; - }, - }, - created(){ - this.Agreend = agreement4 - }, - methods: { - /** - * @description:下一步跳转 - * @return void - * **/ - goNext() { - if(this.authCode==''){ - Toast.fail('请输入验证码'); - return false - } - if(!this.checked){ - Toast.fail('请阅读并勾选《网商银行订单账款合同》'); - return false - } - let obj = JSON.parse(sessionStorage.getItem(`sib_tl_openInfo_${this.userinfo.orgId}`)); - - let picIdList = { - licencePhotos: obj.detailInfo.licencePhotos, - cardFrontPhotos: obj.detailInfo.cardFrontPhotos, - cardBackPhotos: obj.detailInfo.cardBackPhotos, - handCardPhotos: obj.detailInfo.handCardPhotos, - storeInnerPhotos: obj.detailInfo.storeInnerPhotos, - storeSignPhotos: obj.detailInfo.storeSignPhotos, - industryLicensePhotos: obj.detailInfo.industryLicensePhotos - }; - // for (let i in this.uploadObj) { - // this.uploadObj[i].forEach(item => { - // picIdList[i].push(item.id + ""); - // }); - // } - if(this.hasGetCode==2){ - this.$api - .tltMerOpenOpen({ - ...obj.detailInfo, - authCode:this.authCode - }) - .then((res) => { - sessionStorage.removeItem(`sib_tl_openInfo_${this.userinfo.orgId}`) - sessionStorage.removeItem(`sib_tl_pic_${this.userinfo.orgId}`) - this.$router.push({ - path: "/tonglian/open-result", - query: { - ...this.$route.query, - nck:true - }, - }); - }); - }else{ - Toast.fail('请获取验证码'); - } - - }, - /** - * @description:获取验证码 - * @return void - * **/ - getCode() { - this.$api - .tltMerOpenSendSmsCode({ - mblNo: this.legalMblNo, - }) - .then((res) => { - this.hasGetCode = 2 - this.btnDis = true; - this.btnText = 60; - this.timer = setInterval(() => { - if (this.btnText == 1) { - this.btnText = "重新获取"; - this.btnDis = false; - clearInterval(this.timer); - } else { - this.btnText = --this.btnText; - } - }, 1000); - }); - }, - }, -}; -</script> -<style lang="less" scoped> -.tonglian-open-page { - & { - min-height: 100vh; - background: #f5f5f7; - } - /deep/.label-class{ - font-size: 16px; - color: #333; - } - .info-box { - margin-top: 10px; - width: 98vw; - margin-left: 1vw; - } - .code-btn { - border: 0; - border-left: 1px solid #e6e6e6; - background: #fff; - outline: none; - color: #896edb; - padding-right: 0; - text-align: right; - } - .agreenBox { - width: 80vw; - height: 70vh; - padding: 60px 20px 30px 20px; - position: relative; - } - .agreen-html { - width: 100%; - height: 100%; - overflow: scroll; - box-sizing: border-box; - } - .close-agreen { - .lh(30px); - .flex(center, center); - - .van-icon { - font-size: @font-16; - } - } -} -</style> diff --git a/src/views/old/merchant/tonglian/openResult.vue b/src/views/old/merchant/tonglian/openResult.vue deleted file mode 100644 index 848a400..0000000 --- a/src/views/old/merchant/tonglian/openResult.vue +++ /dev/null @@ -1,327 +0,0 @@ -<!-- - * @Author: 小明丶 - * @Date: 2020-08-10 15:48:30 - * @LastEditors: 小明丶 - * @LastEditTime: 2021-01-04 15:45:07 - * @Description: ---> -<template> - <div class="tonglian-open-res-page"> - <!-- <v-navbar title="开通通联通道"></v-navbar> --> - <van-nav-bar - title="开通通联通道" - left-arrow - @click-left="onClickLeft" - fixed - style="line-height: 43px" - > - <i - class="iconfont iconzuojiantou" - slot="left" - style="font-size: 25px" - ></i> - </van-nav-bar> - <div class="res-box" v-show="showContent || $route.query.nck"> - <img - v-if="status == 0" - src="../../../../../static/img/post_agree.png" - alt="提交成功" - /> - <img - v-if="status == 1 || status == 4" - src="../../../../../static/img/img_refuse.png" - alt="审核失败或签约失败" - /> - <img - v-if="status == 2 || status == 6" - src="../../../../../static/img/img_auditing.png" - alt="审核中" - /> - <img - v-if="status == 3 || status == 7" - src="../../../../../static/img/img_agree.png" - alt="审核通过" - /> - <img - v-if="status == 5" - src="../../../../../static/img/img_reupload.png" - alt="图片不清晰" - /> - <img - v-if="status == 8" - src="../../../../../static/img/paying.png" - alt="打款中" - /> - <p>{{ openResText }}</p> - <p v-if="status == 8" style="padding: 0 15%;line-height:20px">我们将向您的对公结算银行卡进行一笔小额转账以确保银行卡信息准确无误</p> - <p v-if="status == 0 || status == 5">{{ tipText }}</p> - <!-- || status != 7 && verificationDone == 'done' --> - <button @click="getRefresh" v-if="status != 7 && status != 8"> - {{ btnTextOfFunction }} - </button> - <button v-if="status == 0 || status == 7" @click="goNext"> - {{ btnTextOfRouter }} - </button> - <div class="dk-bankNo" v-if="status==8"> - <p>打款银行卡号:{{bankCard}}</p> - </div> - </div> - </div> -</template> -<script> -import Vue from 'vue'; -import { Dialog,Toast } from 'vant'; - -// 全局注册 -Vue.use(Toast); -Vue.use(Dialog); -export default { - data() { - return { - uploadFileTypes:[],//动态显示数组 - timer:'',//跳转定时器 - timer2:"", - show:false, - showContent: false, - openResText: "",//状态文字解释 - btnTextOfRouter: "", - btnTextOfFunction: "", - tipText: "", - status: '', //开通状态0-提交成功,1-审核失败,2-初审中,3-初审通过 4-签约失败 5-图片不清晰 6-终审中 7-审核成功 打款中-8 9-打款验证 - merType:"",//商户类型 - canGoverification:1, //是否可以前往打款验证 0-不是 1-是 - verificationDone:'', - bankCard:'',//打款银行卡号 - }; - }, - created() { - this.verificationDone = this.$route.query.verificationDone - this.getStatus(); - }, - methods: { - /** - * @description 打款验证失败弹窗确认 - * @returns void - * **/ - onconfirm(){ - this.$router.push({ - path:'/tonglian/verification' - }) - }, - onClickLeft(){ - if(this.$route.query.isApp == 1){ - this.$router.push({ - path:'/app/home' - }); - }else{ - this.$router.push({ - path:'/main/mine' - }); - } - - }, - /** - * @description:去首页 - * @returns void - * **/ - goNext() { - if(this.$route.query.isApp == 1){ - this.$router.push("/app/home"); - }else{ - this.$router.push("/main/mine"); - } - }, - /** - * @description:刷新按钮 - * @return void - * **/ - getRefresh() { - if (this.status == 0 || this.status == 2) { - this.getStatus(); - } else if (this.status == 3) { - // 跳转签约页面 - this.$api.tltMerOpenQueryElectUrl().then(res=>{ - window.location.href = res.body - }) - } else if (this.status == 1) { - this.$api.tltMerOpenReOpenMer().then(res=>{ - this.$router.push("/tonglian/startOpen"); - }) - } else if (this.status == 5) { - this.$router.push({ - path:"/tonglian/store-pictures", - query:{ - merType:this.merType, - isUploadAgain:1, - zfbVersion: 5, - uploadFileTypes:JSON.stringify(this.uploadFileTypes) - } - }); - } else if (this.status == 4) { - // 跳转签约页面重新签约 - this.$api.tltMerOpenQueryElectUrl().then(res=>{ - window.location.href = res.body - }) - }else if (this.status == 6) { - this.getStatus(); - } else if (this.status == 7) { - // 跳转办单页面 - if(this.$route.query.isApp == 1){ - this.$router.push("/app/home"); - }else{ - this.$router.push("/main/mine"); - } - - } - }, - /** - * @description:获取状态 - * @return void - * **/ - getStatus() { - clearInterval(this.timer) - this.$api - .tltMerOpenFindOpenSts() - .then((res) => { - this.merType = res.body.merType - this.status = res.body.pageNum - this.uploadFileTypes = res.body.uploadFileTypes - this.canGoverification = res.body.payStatus - - switch (this.status) { - case 0: - this.openResText = "提交成功"; - this.tipText = "申请已提交请耐心等待"; - this.btnTextOfFunction = "刷新"; - this.btnTextOfRouter = "返回首页"; - break; - case 1: - this.openResText = "审核失败"; - this.btnTextOfFunction = "重新开通"; - break; - case 2: - this.openResText = "初审中"; - this.btnTextOfFunction = "刷新"; - break; - case 3: - this.openResText = "审核通过"; - this.btnTextOfFunction = "去签约"; - break; - case 4: - this.openResText = "签约失败"; - this.btnTextOfFunction = "重新签约"; - break; - case 5: - this.openResText = "图片不清晰"; - this.tipText = "请重新上传图片"; - this.btnTextOfFunction = "上传图片"; - break; - case 6: - this.openResText = "终审中"; - this.btnTextOfFunction = "刷新"; - break; - case 7: - this.openResText = "审核通过"; - this.btnTextOfRouter = "返回首页"; - break; - case 8: - this.bankCard = res.body.bankCard - this.openResText = "打款中,请稍后" - this.timer = setInterval(()=>{ - this.getStatus() - },5000) - break; - case 9: - this.$router.push({ - path:'/tonglian/verification', - query:{ - ...this.$route.query - } - }) - break; - } - this.showContent = true; - }) - .catch((err) => {}); - }, - }, - beforeRouteLeave (to, from, next) { - // ... - Toast.clear() - clearInterval(this.timer) - clearInterval(this.timer2) - next() - } -}; -</script> -<style lang="less" scoped> -.tonglian-open-res-page { - & { - min-height: 100vh; - background: #f5f5f7; - padding-top: 54px; - } - .res-box { - width: 96vw; - height: 365px; - //margin-top: 56px; - margin-left: 2vw; - background: #fff; - text-align: center; - padding-top: 35px; - img { - width: 115px; - height: 106px; - } - p:nth-of-type(1) { - margin-top: 20px; - font-size: 16px; - font-family: PingFang SC; - font-weight: 500; - color: rgba(58, 58, 58, 1); - } - p:nth-of-type(2) { - margin-top: 8px; - font-size: 12px; - font-family: PingFang SC; - font-weight: 500; - color: rgba(153, 153, 153, 1); - } - button:nth-of-type(1) { - width: 320px; - height: 44px; - background: rgba(137, 110, 219, 1); - border-radius: 22px; - outline: none; - border: 0; - color: #fff; - margin-top: 50px; - margin-bottom: 20px; - } - button:nth-of-type(2) { - width: 320px; - height: 44px; - background: rgba(255, 255, 255, 1); - border: 1px solid rgba(137, 110, 219, 1); - border-radius: 22px; - color: rgba(137, 110, 219, 1); - } - .dk-bankNo{ - margin-top: 13px; - display: inline-block; - width: 262px; - height: 28px; - background: #FFFFFF; - border: 1px solid #EEEEEE; - border-radius: 14px; - text-align: center; - p{ - color: #666666; - font-size: 12px; - margin-top: 0; - line-height: 30px; - } - } - } -} -</style> \ No newline at end of file diff --git a/src/views/old/merchant/tonglian/staging.vue b/src/views/old/merchant/tonglian/staging.vue deleted file mode 100644 index 694a217..0000000 --- a/src/views/old/merchant/tonglian/staging.vue +++ /dev/null @@ -1,199 +0,0 @@ -<!-- - * @Author: 小明丶 - * @Date: 2019-09-26 15:29:46 - * @LastEditors: 小明丶 - * @LastEditTime: 2020-12-08 14:42:58 - * @Description: 通联开通详情 - --> -<template> - <div class="huabei-detail-page"> - <van-nav-bar - :title="this.$route.query.title" - left-text="返回" - left-arrow - @click-left="onClickLeft" - fixed - style="line-height: 43px;" - > - <i class="iconfont iconzuojiantou" slot="left" style="font-size: 25px;"></i> - </van-nav-bar> - <div class="top-back"></div> - <div v-show="this.$route.query.typeId == 200008"> - <HstagingDetailDmf :infoList="infoList" :rateList="prodRef" :rateListRule="rateListRule" :hasTitle="false"></HstagingDetailDmf> - </div> - <div v-show="this.$route.query.typeId != 200008"> - <HstagingDetail :infoList="infoList" :rateList="prodRef" :rateListRule="rateListRule" :hasTitle="true"></HstagingDetail> - </div> - </div> -</template> - -<script> -import HstagingDetailDmf from "@/components/common/h-staging-detail-dmf.vue"; -import HstagingDetail from "@/components/common/h-staging-detail.vue"; -export default { - name: "add-account", - components:{ - HstagingDetail,HstagingDetailDmf - }, - data() { - return { - prodRef: [{termName: '期数', platRate: '智享服务费率', zfbRate: '花呗分期手续费率'}], - detailInfo:{}, - alipayInfo: {}, - infoList:[], - rateListRule:'' - }; - }, - computed:{ - addrss(){ - if(this.detailInfo.bankAddr){ - return this.detailInfo.bankAddr.province.name + '-' + this.detailInfo.bankAddr.city.name - }else{ - return '' - } - }, - userAddrss(){ - if(this.detailInfo.addr){ - return this.detailInfo.addr.province.name + '-' + this.detailInfo.addr.city.name - }else{ - return '' - } - }, - merTypeStr(){ - if(this.detailInfo.merType == '02'){ - return '个体工商户' - } - if(this.detailInfo.merType == '03'){ - return '企业商户' - } - }, - settTypeStr(){ - if(this.detailInfo.settType == '01'){ - return '银行卡' - } - if(this.detailInfo.settType == '02'){ - return '支付宝' - } - } - }, - methods: { - // 返回上一页 - onClickLeft() { - this.$router.go(-1); - }, - // 初始化页面 - init() { - this.$api - .merPayInfo({ - zfbVersion: this.$route.query.zfbVersion, - prodId: this.$route.query.prodId - }) - .then(res => { - if(this.$route.query.typeId != 200008){ - this.prodRef = [ ...this.prodRef,...res.body.prodBaseTermInfVo] - this.rateListRule = [{keyName:'termName'},{keyName:'platRate',type:'isRate'},{keyName:'zfbRate',type:'isRate'}] - }else{ - this.prodRef = [...res.body.payMethods] - this.rateListRule = [{keyName:'payMethodName'},{keyName:'fee',type:'isRate'}] - } - this.detailInfo = res.body.detailInfo - this.alipayInfo = res.body - - // 组装展示数组 - this.infoList = [ - { - title:'企业名称', - value:this.detailInfo.merName - }, - { - title:'网商商户号', - value:this.detailInfo.mybankMerNo - }, - { - title:'开通日期', - value:this.alipayInfo.authTimeStr - }, - { - title:'所在地址', - value:this.userAddrss - }, - { - title:'详细地址', - value:this.detailInfo.addr?this.detailInfo.addr.dtlAddr:'' - }, - { - title:'法人手机号', - value:this.detailInfo.legalMblNo - }, - { - title:'结算方式', - value:this.settTypeStr - }, - { - title:this.detailInfo.settType=='01'?this.detailInfo.merType=='02'?'经营者银行卡号':'企业对公银行账户账号':'支付宝账号', - value:this.detailInfo.settType=='01'?this.detailInfo.bankCardNo:this.detailInfo.aliLogonId - } - ] - if(this.detailInfo.settType=='01' && this.detailInfo.merType=='02'){ - this.infoList.push({ - title:'经营者银行卡户名', - value:this.detailInfo.legalName - }) - } - if(this.detailInfo.settType=='01' && this.detailInfo.merType=='03'){ - this.infoList.push({ - title:'企业对公银行账户名称', - value:this.detailInfo.merName - }) - } - this.infoList.push({ - title:'账号类型', - value:this.detailInfo.merType=='02'?'个体工商户':'企业用户' - }) - if(this.detailInfo.settType=='01' && this.detailInfo.merType=='03'){ - this.infoList.push({ - title:'开户支行联行号', - value:this.detailInfo.contactLine - }) - } - if(this.detailInfo.settType=='01' && this.detailInfo.merType=='02'){ - this.infoList.push({ - title:'开户支行名称', - value:this.detailInfo.bankAddr?this.detailInfo.bankAddr.dtlAddr:'' - },{ - title:'开户支行所在地', - value:this.addrss - } - ) - } - - }); - } - }, - created() { - this.init(); - } -}; -</script> - -<style lang="less"> -.huabei-detail-page { - padding-top: 45px; - background: #f5f5f7; - min-height: 100vh; - - .top-back { - width: 100%; - height: 140px; - background: linear-gradient( - 180deg, - rgba(85, 78, 122, 1), - rgba(66, 61, 93, 1) - ); - } - - .unit { - font-size: 14px; - } -} -</style> diff --git a/src/views/old/merchant/tonglian/startOpen.vue b/src/views/old/merchant/tonglian/startOpen.vue deleted file mode 100644 index 7a017d9..0000000 --- a/src/views/old/merchant/tonglian/startOpen.vue +++ /dev/null @@ -1,985 +0,0 @@ -<!-- - * @Author: 小明丶 - * @Date: 2020-08-18 10:39:57 - * @LastEditors: 小明丶 - * @LastEditTime: 2020-12-25 11:41:23 - * @Description: 通联通道开通信息录入页面 ---> -<template> - <div class="startOpen-page"> - <v-navbar title="开通通联通道"></v-navbar> - <div class="info-box"> - <van-cell-group> - <van-cell title-class="title-class" title="所在省市" :value="addr" is-link @click="show=true" /> - <van-field - label-class="label-class" - label-width="100px" - input-align="right" - v-model="detailInfo.addr.dtlAddr" - label="详细地址" - placeholder="请输入" - /> - <van-field - label-class="label-class" - label-width="150px" - input-align="right" - maxlength="11" - v-model="detailInfo.legalMblNo" - label="法人手机号" - placeholder="请输入" - /> - <van-cell - title-class="title-class" - title="商户类型" - :value="storeTypeStr" - is-link - @click="showStore=true" - /> - <van-cell - title-class="title-class" - title="经营类目" - :value="categoryStr" - is-link - @click="showCategory=true" - /> - <van-field - label-class="label-class" - :disabled="isdisabledlegalName" - v-if="storeType=='02'" - label-width="130px" - input-align="right" - maxlength="8" - v-model="legalName" - label="经营者身份证姓名" - placeholder="请输入" - /> - <van-field - v-else - label-class="label-class" - :disabled="isdisabledlegalName" - label-width="130px" - input-align="right" - maxlength="8" - v-model="legalName" - label="法人身份证姓名" - placeholder="请输入" - /> - <van-field - label-class="label-class" - :disabled="isdisabledlegalIdNo" - v-if="storeType=='02'" - label-width="130px" - input-align="right" - maxlength="18" - v-model="legalIdNo" - label="经营者身份证号" - placeholder="请输入" - /> - <van-field - v-else - label-class="label-class" - :disabled="isdisabledlegalIdNo" - label-width="130px" - input-align="right" - maxlength="18" - v-model="legalIdNo" - label="法人身份证号" - placeholder="请输入" - /> - <van-field - label-class="label-class" - label-width="120px" - disabled - center - clearable - label="身份证期限类型" - > - <template #button> - <van-button - size="mini" - color="#896edb" - :plain="idType==1?false:true" - style="border-radius: 3px;width:50px" - type="primary" - @click="btnClick(1)" - >有效期</van-button> - <van-button - size="mini" - color="#896edb" - :plain="idType==2?false:true" - style="border-radius: 3px;width:50px" - type="primary" - @click="btnClick(2)" - >长期</van-button> - </template> - </van-field> - <van-cell - v-show="idType==1" - title-class="title-class" - title="身份证有效期" - :value="detailInfo.legalIdVld" - is-link - @click="showIdDate=true" - /> - <!-- 新增字段 --> - <van-cell - title-class="title-class" - :title="storeType=='02'?'经营者职业':'法人职业'" - :value="legalOccupStr" - is-link - @click="showOccupation=true" - /> - <van-field - label-class="label-class" - label-width="160px" - input-align="right" - maxlength="18" - v-model="detailInfo.busDtl" - label="经营内容" - placeholder="请输入" - /> - - <van-field - label-class="label-class" - :disabled="isdisabledlicenseNo" - v-if="storeType=='02'" - label-width="160px" - input-align="right" - maxlength="18" - v-model="licenseNo" - label="营业执照工商注册号" - placeholder="请输入" - /> - <van-field - v-else - label-class="label-class" - :disabled="isdisabledlicenseNo" - label-width="130px" - input-align="right" - maxlength="18" - v-model="licenseNo" - label="统一社会信用代码" - placeholder="请输入" - /> - <van-field - label-class="label-class" - label-width="120px" - disabled - center - clearable - label="营业执照期限类型" - > - <template #button> - <van-button - size="mini" - color="#896edb" - :plain="yyType==1?false:true" - style="border-radius: 3px;width:50px" - type="primary" - @click="btnClickyy(1)" - >有效期</van-button> - <van-button - size="mini" - color="#896edb" - :plain="yyType==2?false:true" - style="border-radius: 3px;width:50px" - type="primary" - @click="btnClickyy(2)" - >长期</van-button> - </template> - </van-field> - <van-cell - title-class="title-class" - v-show="yyType==1" - title="营业执照有效期" - :value="detailInfo.licenseVld" - is-link - @click="showDate=true" - /> - <van-cell - title-class="title-class" - title="结算方式" - :value="endTypeStr" - is-link - @click="showType=true" - /> - <van-field - label-class="label-class" - v-if="storeType=='02'&&endType=='02'" - label-width="160px" - input-align="right" - maxlength="18" - v-model="detailInfo.aliLogonId" - label="支付宝账号" - placeholder="请输入经营者支付宝账号" - /> - <van-field - label-class="label-class" - v-if="storeType=='03'&&endType=='02'" - label-width="160px" - input-align="right" - maxlength="18" - v-model="detailInfo.aliLogonId" - label="支付宝账号" - placeholder="请输入公司支付宝账号" - /> - <van-field - label-class="label-class" - v-if="storeType=='02'&&endType!='02'" - label-width="160px" - input-align="right" - maxlength="19" - v-model="detailInfo.bankCardNo" - label="经营者银行卡号" - placeholder="请输入" - /> - <van-field - label-class="label-class" - v-if="storeType=='03'&&endType!='02'" - label-width="160px" - input-align="right" - maxlength="30" - v-model="detailInfo.bankCardNo" - label="企业对公银行账户号" - placeholder="请输入" - /> - <van-field - label-class="label-class" - v-if="storeType=='02'&&endType!='02'" - :disabled="isdisabledlegalName" - label-width="130px" - input-align="right" - maxlength="18" - v-model="legalName" - label="经营者银行卡户名" - placeholder="请输入" - /> - <van-field - label-class="label-class" - v-if="storeType=='03'&&endType!='02'" - :disabled="isdisabledmerName" - label-width="160px" - input-align="right" - maxlength="18" - v-model="merName" - label="企业对公银行账户名称" - placeholder="请输入" - /> - <van-field - label-class="label-class" - :disabled="accountType?true:false" - v-if="endType!='02'" - label-width="140px" - input-align="right" - maxlength="18" - v-model="accountType" - label="账户类型" - placeholder="请输入" - /> - <van-field - label-class="label-class" - v-if="storeType=='03'&&endType!='02'" - label-width="130px" - input-align="right" - maxlength="18" - v-model="detailInfo.contactLine" - label="开户行联行号" - placeholder="请输入" - /> - <van-field - label-class="label-class" - v-if="storeType!='03'&&endType!='02'" - label-width="130px" - input-align="right" - maxlength="18" - v-model="detailInfo.bankAddr.dtlAddr" - label="开户支行名称" - placeholder="请输入" - /> - <van-cell - title-class="title-class" - v-if="endType!='02'&&storeType!='03'" - title="开户支行所在地" - :value="bankAddr" - is-link - @click="showAddress=true" - /> - </van-cell-group> - <button class="btn-y" :style="{background:$store.state.defaultColor}" @click="goNext">下一步</button> - <!-- 省市弹窗 --> - <van-popup v-model="show" position="bottom" :style="{ height: '30%' }"> - <van-picker - value-key="name" - show-toolbar - title="省市选择" - :columns="areaInfos" - @cancel="show=false" - @confirm="onConfirmArea" - /> - </van-popup> - <!-- 商户类型弹窗 --> - <van-popup v-model="showStore" position="bottom" :style="{ height: '30%' }"> - <van-picker - value-key="name" - show-toolbar - title="商户类型选择" - :columns="merTypes" - @cancel="showStore=false" - @confirm="onConfirmmerTypes" - /> - </van-popup> - <!-- 经营类目弹窗 --> - <van-popup v-model="showCategory" position="bottom" :style="{ height: '30%' }"> - <van-picker - value-key="name" - show-toolbar - title="商户类型选择" - :columns="categorys" - @cancel="showCategory=false" - @confirm="onConfirmmerCategory" - /> - </van-popup> - <!-- 营业执照有效期弹窗 --> - <van-popup v-model="showIdDate" position="bottom" :style="{ height: '40%' }"> - <van-datetime-picker - v-model="currentIdDate" - type="date" - title="选择身份证时间" - :min-date="minDate" - :max-date="maxDate" - @cancel="showIdDate=false" - @confirm="onConfirmIdDate" - /> - </van-popup> - <!-- 营业执照有效期弹窗 --> - <van-popup v-model="showDate" position="bottom" :style="{ height: '40%' }"> - <van-datetime-picker - v-model="currentDate" - type="date" - title="选择年月日" - :min-date="minDate" - :max-date="maxDate" - @cancel="showDate=false" - @confirm="onConfirmDate" - /> - </van-popup> - <!-- 结算方式弹窗 --> - <van-popup v-model="showType" position="bottom" :style="{ height: '30%' }"> - <van-picker - value-key="name" - show-toolbar - title="结算方式选择" - :columns="storeType=='02'?settTypes:settTypes2" - @cancel="showType=false" - @confirm="onConfirmsettTypes" - /> - </van-popup> - <!-- 开户支行所在地弹窗 --> - <van-popup v-model="showAddress" position="bottom" :style="{ height: '30%' }"> - <van-picker - value-key="name" - show-toolbar - title="开户支行所在地选择" - :columns="bankAreaInfos" - @cancel="showAddress=false" - @confirm="onConfirmbankArea" - /> - </van-popup> - <!-- 经营者职业弹窗 --> - <van-popup v-model="showOccupation" position="bottom" :style="{ height: '30%' }"> - <van-picker - value-key="name" - show-toolbar - title="职业选择" - :columns="legalOccups" - @cancel="showOccupation=false" - @confirm="onConfirmOccupation" - /> - </van-popup> - </div> - </div> -</template> -<script> -import { mapState, mapGetters } from 'vuex'; -export default { - data() { - return { - minDate: new Date(), - maxDate: new Date(2099, 11, 31), - currentDate: new Date(), - currentIdDate: new Date(), - - isdisabledlegalName: false, //法人及户名是否禁用 - isdisabledlegalIdNo: false, //身份证号是否禁用 - isdisabledmerName: false, //企业对公银行账户名称是否禁用 - isdisabledlicenseNo: false, //营业执照号是否禁用 - - show: false, //省市弹出层展示 - showStore: false, //商户类型弹出层 - showCategory:false,//经营类目弹窗层 - showDate: false, //营业执照有效期弹出层 - showIdDate: false, //身份证有效期弹出层 - showType: false, //结算方式弹出层 - showAddress: false, //开户支行所在地弹窗 - showUserSex:false,//经营者性别弹窗 - showOccupation:false,//经营者职业弹窗 - merTypes: [], //商户类型数组 - categorys:[], //经营类目数组 - settTypes: [], //结算类型数组-个体 - settTypes2:[],//结算类型数组-企业 - areaInfos: [], //地址数组 - bankAreaInfos: [], //银行地址数组 - legalOccups:[],//经营者-法人职业数组 - endType: "", //结算状态-用于判断输入框 - endTypeStr: "", //结算状态字符串 - storeType: "", //商户状态-用于判断输入框 - storeTypeStr: "", //商户状态字符串 - category:'',//经营类目-用于判断输入框 - categoryStr:'',//经营类目字符串 - legalOccupStr:'',//经营者-法人职业字符串 - idType: 1, //身份证有效期类型 - yyType: 1, //营业执照有效期类型 - detailInfo: { - addr: { - dtlAddr: "", //省市详细地址 - province: { - code: "", - name: "", - }, //省 - city: { - code: "", - name: "", - }, //市 - area: "", //区 - }, - bankAddr: { - dtlAddr: "", - province: { - code: "", - name: "", - }, - city: { - code: "", - name: "", - }, - area: "", - }, - legalMblNo: "", //法人电话号码 - merType: "", //商户类型 - settType: "", //结算类型 - legalOccup:'',//经营者-法人职业 - busDtl:"",//经营内容 - bankCardNo: "", //银行卡号 - aliLogonId: "", //支付宝账号 - licenseVld: "", //社会信用代码证有效期 - legalIdVld: "", //法人身份证有效期 - }, - legalIdNo: "", //法人身份证号 - legalName: "", //法人姓名 - licenseNo: "", //商户营业执照号 - merName: "", //商户名称 - }; - }, - computed: { - ...mapState(['userinfo']), - accountType() { - if (this.detailInfo.merType == "02") { - return "对私"; - } - if (this.detailInfo.merType == "03") { - return "对公"; - } - }, - addr() { - let str = ""; - let _this = this; - if (_this.detailInfo.addr.province.code) { - _this.areaInfos.forEach((e) => { - if (e.code == _this.detailInfo.addr.province.code) { - e.children.forEach((i) => { - if (i.code == _this.detailInfo.addr.city.code) { - str = e.name + "/" + i.name; - } - }); - } - }); - return str; - } - }, - bankAddr() { - let str = ""; - let _this = this; - if (_this.detailInfo.bankAddr.province.code) { - _this.bankAreaInfos.forEach((e) => { - if (e.code == _this.detailInfo.bankAddr.province.code) { - e.children.forEach((i) => { - if (i.code == _this.detailInfo.bankAddr.city.code) { - str = e.name + "/" + i.name; - } - }); - } - }); - return str; - } - }, - }, - created() { - this.init(); - }, - methods: { - /** - * @description:获取页面初始化信息 - * @return void - * **/ - init() { - this.$api.tltMerOpenInit().then((res) => { - // 附值弹出层选择项 - this.merTypes = res.body.merTypes; - this.categorys = res.body.merMccs; - this.settTypes = res.body.settTypes;//个体工商户结算类型 - this.settTypes2 = [res.body.settTypes[0]];//企业商户只能选银行卡 - this.areaInfos = res.body.areaInfos; - this.bankAreaInfos = res.body.bankAreaInfos; - this.legalOccups = res.body.legalOccups; - // 如果初始化接口拿到信息并且本地没有保存信息,显示取初始化信息 - if (res.body.detailInfo && !sessionStorage.getItem(`sib_tl_openInfo_${this.userinfo.orgId}`)) { - this.detailInfo = res.body.detailInfo; - // 处理两个地址 - if (!res.body.detailInfo.addr) { - this.detailInfo.addr = { - dtlAddr: "", //省市详细地址 - province: { - code: "", - name: "", - }, //省 - city: { - code: "", - name: "", - }, //市 - area: "", //区 - }; - } - if (!res.body.detailInfo.bankAddr) { - this.detailInfo.bankAddr = { - dtlAddr: "", - province: { - code: "", - name: "", - }, - city: { - code: "", - name: "", - }, - area: "", - }; - } - // 获取选择框值 - this.storeType = res.body.detailInfo.merType; - this.category = res.body.detailInfo.merMcc; - this.endType = res.body.detailInfo.settType; - // 循环取出对应名字 - // 商户类型 - this.merTypes.forEach((e) => { - if (e.code == this.detailInfo.merType) { - this.storeTypeStr = e.name; - } - }); - // 经营类目 - this.categorys.forEach((e) => { - if (e.code == this.detailInfo.merMcc) { - this.categoryStr = e.name; - } - }); - // 结算类型 - this.settTypes.forEach((e) => { - if (e.code == this.detailInfo.settType) { - this.endTypeStr = e.name; - } - }); - this.legalOccups.forEach(item=>{ - if(item.code == this.detailInfo.legalOccup){ - this.legalOccupStr = item.name - } - }) - // 处理图片 - let picIdList = { - licencePhotos: this.detailInfo.licencePhotos, - cardFrontPhotos: this.detailInfo.cardFrontPhotos, - cardBackPhotos: this.detailInfo.cardBackPhotos, - handCardPhotos: this.detailInfo.handCardPhotos, - storeInnerPhotos: this.detailInfo.storeInnerPhotos, - storeSignPhotos: this.detailInfo.storeSignPhotos, - industryLicensePhotos: this.detailInfo.industryLicensePhotos, - }; - // 进行本地存储图片列表 - sessionStorage.setItem(`sib_tl_pic_${this.userinfo.orgId}`, JSON.stringify(picIdList)); - } - // 本地有存储则返显存储信息,显示存储信息的情况仅限输入跳转下一页又返回这种情况,一旦开通成功则清除了本地存储 - if(sessionStorage.getItem(`sib_tl_openInfo_${this.userinfo.orgId}`)) { - this.idType = JSON.parse( - sessionStorage.getItem(`sib_tl_openInfo_${this.userinfo.orgId}`) - ).idType; - this.yyType = JSON.parse(sessionStorage.getItem(`sib_tl_openInfo_${this.userinfo.orgId}`)).yyType - this.detailInfo = JSON.parse( - sessionStorage.getItem(`sib_tl_openInfo_${this.userinfo.orgId}`) - ).detailInfo; - this.storeType = this.detailInfo.merType; - this.merTypes.forEach((e) => { - if (e.code == this.detailInfo.merType) { - this.storeTypeStr = e.name; - } - }); - this.category = this.detailInfo.merMcc; - this.categorys.forEach((e) => { - if (e.code == this.detailInfo.merMcc) { - this.categoryStr = e.name; - } - }); - this.endType = this.detailInfo.settType; - this.settTypes.forEach((e) => { - if (e.code == this.detailInfo.settType) { - this.endTypeStr = e.name; - } - }); - this.legalOccups.forEach(item=>{ - if(item.code == this.detailInfo.legalOccup){ - this.legalOccupStr = item.name - } - }) - } - // 下列字段有则返显不可编辑,无则可输入 - if (res.body.legalIdNo) { - this.isdisabledlegalIdNo = true; - } - if (res.body.legalName) { - this.isdisabledlegalName = true; - } - if (res.body.merName) { - this.isdisabledmerName = true; - } - if (res.body.licenseNo) { - this.isdisabledlicenseNo = true; - } - this.legalIdNo = res.body.legalIdNo; - this.legalName = res.body.legalName; - this.licenseNo = res.body.licenseNo; - this.merName = res.body.merName; - }); - }, - /** - * @description:省份选择 - * @return void - * **/ - onConfirmArea(indexText, indexList) { - /** - * 根据索引获取对应的省市code值 - * **/ - this.detailInfo.addr.province.code = this.areaInfos[indexList[0]].code; - this.detailInfo.addr.city.code = this.areaInfos[indexList[0]].children[ - indexList[1] - ].code; - this.detailInfo.addr.province.name = this.areaInfos[indexList[0]].name; - this.detailInfo.addr.city.name = this.areaInfos[indexList[0]].children[ - indexList[1] - ].name; - this.show = false; - }, - /** - * @description:开户行地址选择 - * @return void - * **/ - onConfirmbankArea(indexText, indexList) { - /** - * 根据索引获取对应的省市code值 - * **/ - this.detailInfo.bankAddr.province.code = this.bankAreaInfos[ - indexList[0] - ].code; - this.detailInfo.bankAddr.city.code = this.bankAreaInfos[ - indexList[0] - ].children[indexList[1]].code; - this.detailInfo.bankAddr.province.name = this.bankAreaInfos[ - indexList[0] - ].name; - this.detailInfo.bankAddr.city.name = this.bankAreaInfos[ - indexList[0] - ].children[indexList[1]].name; - this.showAddress = false; - }, - /** - * @description:身份证时间选择 - * @return void - * **/ - onConfirmIdDate() { - console.log(this.currentIdDate.getDate()); - let timeStr = - this.currentIdDate.getFullYear() + - "-" + - (this.currentIdDate.getMonth() + 1) + - "-" + - this.currentIdDate.getDate(); - this.detailInfo.legalIdVld = timeStr; - this.showIdDate = false; - }, - /** - * @description:商户类型选择成功 - * @param {Object} 选择的信息 - * @return void - * **/ - onConfirmmerTypes(value) { - this.detailInfo.merType = value.code; - this.storeType = value.code; - this.storeTypeStr = value.name; - // 企业商户只能使用银行卡,故此在选择企业03时 对下面结算框手动更改 - if(this.storeType == '03'){ - this.detailInfo.settType = '01'; - this.endType = '01'; - this.endTypeStr = '银行卡'; - } - this.showStore = false; - }, - /** - * @description:经营类目选择成功 - * @param {Object} 选择的信息 - * @return void - * **/ - onConfirmmerCategory(value){ - this.detailInfo.merMcc = value.code; - this.category = value.code; - this.categoryStr = value.name; - this.showCategory = false; - }, - /** - * @description:结算类型选择成功 - * @param {Object} 选择的信息 - * @return void - * **/ - onConfirmsettTypes(value) { - this.detailInfo.settType = value.code; - this.endType = value.code; - this.endTypeStr = value.name; - this.showType = false; - }, - /** - * @description:营业执照有效期选择 - * @return void - * **/ - onConfirmDate() { - let timeStr = - this.currentDate.getFullYear() + - "-" + - (this.currentDate.getMonth() + 1) + - "-" + - this.currentDate.getDate(); - this.detailInfo.licenseVld = timeStr; - this.showDate = false; - }, - /** - * @description:法人-经营者职业选择 - * @return void - * **/ - onConfirmOccupation(val){ - this.legalOccupStr = val.name - this.detailInfo.legalOccup = val.code - this.showOccupation = false - }, - /** - * @description:身份证有效期类型选择 - * @param {Number} 类型 - * @return void - * **/ - btnClick(id) { - console.log(this.addr); - this.detailInfo.legalIdVld = ""; - if (id == 1) { - this.idType = 1; - } else { - this.idType = 2; - this.detailInfo.legalIdVld = "2099-12-31"; - } - }, - /** - * @description:营业执照有效期类型选择 - * @param {Number} 类型 - * @return void - * **/ - btnClickyy(id) { - this.detailInfo.licenseVld = ""; - if (id == 1) { - this.yyType = 1; - } else { - this.yyType = 2; - this.detailInfo.licenseVld = "2099-12-31"; - } - }, - /** - * @description:下一步 - * @return void - * **/ - goNext() { - let obj = {}, - openObj = {}; - /** - * 校验 - * **/ - if (this.$tool.checkValEmpty(this.detailInfo.addr.province.code)) { - this.$notify_success("请选择省市"); - return false; - } - if (this.$tool.checkValEmpty(this.detailInfo.addr.dtlAddr)) { - this.$notify_success("请填写具体地址"); - return false; - } - if (this.$tool.checkValEmpty(this.detailInfo.legalMblNo)) { - this.$notify_success("请填写法人手机号"); - return false; - } - if (this.$tool.checkValEmpty(this.detailInfo.merType)) { - this.$notify_success("请选择商户类型"); - return false; - } - if (this.$tool.checkValEmpty(this.detailInfo.merMcc)) { - this.$notify_success("请选择经营类目"); - return false; - } - if (this.$tool.checkValEmpty(this.legalName)) { - if (this.storeType == "02") { - this.$notify_success("请填写经营者身份证姓名"); - } else { - this.$notify_success("请填写法人身份证姓名"); - } - return false; - } - if (this.$tool.checkValEmpty(this.legalIdNo)) { - if (this.storeType == "02") { - this.$notify_success("请填写经营者身份证号"); - } else { - this.$notify_success("请填写法人身份证号"); - } - return false; - } - if (this.$tool.checkValEmpty(this.detailInfo.legalIdVld)) { - this.$notify_success("请选择身份证有效期"); - return false; - } - if (this.$tool.checkValEmpty(this.detailInfo.legalOccup)) { - if (this.storeType == "02") { - this.$notify_success("请选择经营者职业"); - } else { - this.$notify_success("请选择法人职业"); - } - return false; - } - if (this.$tool.checkValEmpty(this.detailInfo.busDtl)) { - this.$notify_success("请输入经营内容"); - return false; - } - if (this.$tool.checkValEmpty(this.licenseNo)) { - if (this.storeType == "02") { - this.$notify_success("营业执照工商注册号"); - } else { - this.$notify_success("请填写统一社会信用代码"); - } - return false; - } - if (this.$tool.checkValEmpty(this.detailInfo.licenseVld)) { - this.$notify_success("请选择营业执照有效期"); - return false; - } - if (this.$tool.checkValEmpty(this.detailInfo.settType)) { - this.$notify_success("请选择结算类型"); - return false; - } - if (this.$tool.checkValEmpty(this.detailInfo.bankCardNo) && this.endType == "01") { - if (this.storeType == "02" && this.endType == "01") { - this.$notify_success("请填写经营者银行卡号"); - } - if(this.storeType == "03" && this.endType == "01") { - this.$notify_success("请填写企业对公银行账户号"); - } - return false; - } - if (this.$tool.checkValEmpty(this.accountType) && this.endType == "01") { - this.$notify_success("请填写账户类型(对公/对私)"); - return false; - } - if ( - this.$tool.checkValEmpty(this.detailInfo.contactLine) && - this.storeType=='03' && this.endType!='02' - ) { - this.$notify_success("请填写开户行联行号"); - return false; - } - if ( - this.$tool.checkValEmpty(this.detailInfo.bankAddr.dtlAddr) && - this.endType == "01"&&this.storeType!='03' - ) { - this.$notify_success("请输入开户行名称"); - return false; - } - if ( - this.$tool.checkValEmpty(this.detailInfo.bankAddr.province.code) && - this.endType == "01"&&this.storeType!='03' - ) { - this.$notify_success("请选择开户支行所在地"); - return false; - } - if ( - this.$tool.checkValEmpty(this.detailInfo.aliLogonId) && - this.endType == "02" - ) { - this.$notify_success("请填写支付宝账号"); - return false; - } - - obj.legalIdNo = this.legalIdNo //法人身份证号 - obj.legalName = this.legalName //法人姓名 - obj.licenseNo = this.licenseNo //商户营业执照号 - obj.merName = this.merName //商户名称 - obj.idType = this.idType - obj.yyType = this.yyType - openObj = { ...obj, detailInfo: this.detailInfo }; - sessionStorage.setItem(`sib_tl_openInfo_${this.userinfo.orgId}`, JSON.stringify(openObj)); - this.$router.push({ - path: "/tonglian/store-pictures", - query: { - ...this.$route.query, - }, - }); - }, - }, -}; -</script> -<style lang="less" scoped> -.startOpen-page { - & { - min-height: 100vh; - background: #f5f5f7; - } - /deep/.label-class { - font-size: 14px; - color: #333; - } - /deep/.title-class { - font-size: 14px; - } - .info-box { - margin-top: 10px; - width: 96vw; - margin-left: 2vw; - } - .btn-y { - width: 78%; - margin-left: 11%; - margin-top: 40px; - height: 44px; - background: #896edb; - border-radius: 22px; - color: #fff; - outline: none; - border: 0; - margin-bottom: 30px; - - } -} -</style> \ No newline at end of file diff --git a/src/views/old/merchant/tonglian/storePictures.vue b/src/views/old/merchant/tonglian/storePictures.vue deleted file mode 100644 index 0696fd8..0000000 --- a/src/views/old/merchant/tonglian/storePictures.vue +++ /dev/null @@ -1,350 +0,0 @@ -<!-- - * @Author: 小明丶 - * @Date: 2020-08-10 14:52:49 - * @LastEditors: 小明丶 - * @LastEditTime: 2020-12-25 11:37:35 - * @Description: 通联通道图片上传页面 ---> -<template> - <div class="tonglian-store-pictures-page"> - <v-navbar title="开通通联通道"></v-navbar> - <div class="pic-content"> - <p class="tip" v-if="uploadFileTypes.indexOf(0)!= -1"> - <span>上传营业执照</span> - <span>(请上传实拍原件或上传实拍加盖公章复印件)</span> - </p> - <UploadFile - v-if="uploadFileTypes.indexOf(0)!= -1" - :fileType="0" - :isCard="0" - :typeId="this.$route.query.typeId" - :sourceType="this.$route.query.zfbVersion" - :picList="uploadObj.licencePhotos" - ></UploadFile> - <p class="tip" v-if="uploadFileTypes.indexOf(2)!= -1||uploadFileTypes.indexOf(3)!= -1"> - <span>上传法人身份证正反面</span> - <span>(第一张人像面,第二张国徽面)(请上传实拍原件或上传实拍加盖公章复印件)</span> - </p> - <div class="idcard-box"> - <UploadFile - v-if="uploadFileTypes.indexOf(2)!= -1" - :fileType="2" - :isCard="1" - :typeId="this.$route.query.typeId" - :sourceType="this.$route.query.zfbVersion" - :picList="uploadObj.cardFrontPhotos" - ></UploadFile> - <!-- :title="'2、上传法人身份证正反面'" - :tips="'(第一张人像面,第二张国徽面)'" --> - <UploadFile - v-if="uploadFileTypes.indexOf(3)!= -1" - :fileType="3" - :isCard="2" - :typeId="this.$route.query.typeId" - :sourceType="this.$route.query.zfbVersion" - :picList="uploadObj.cardBackPhotos" - ></UploadFile> - </div> - <UploadFile - v-if="uploadFileTypes.indexOf(21)!= -1" - :fileType="21" - :isCard="0" - :title="'上传手持身份证照片'" - :typeId="this.$route.query.typeId" - :sourceType="this.$route.query.zfbVersion" - :picList="uploadObj.handCardPhotos" - ></UploadFile> - <UploadFile - v-if="uploadFileTypes.indexOf(6)!= -1" - :fileType="6" - :isCard="0" - :title="'上传经营内景照片'" - :typeId="this.$route.query.typeId" - :sourceType="this.$route.query.zfbVersion" - :picList="uploadObj.storeInnerPhotos" - ></UploadFile> - <UploadFile - v-if="uploadFileTypes.indexOf(7)!= -1" - :fileType="7" - :isCard="0" - :title="'上传门头照'" - :typeId="this.$route.query.typeId" - :sourceType="this.$route.query.zfbVersion" - :picList="uploadObj.storeSignPhotos" - ></UploadFile> - <UploadFile - v-if="uploadFileTypes.indexOf(22)!= -1" - :fileType="22" - :isCard="0" - :title="merType=='03'?'上传开户许可证照片':'上传银行卡正面照片'" - :typeId="this.$route.query.typeId" - :sourceType="this.$route.query.zfbVersion" - :picList="uploadObj.industryLicensePhotos" - ></UploadFile> - <!-- 新增补录图片 --> - <p class="tip" v-if="uploadFileTypes.indexOf(25)!= -1"> - <span>签字授权委托书</span> - <span>检测到手机号非法人手机号,请下载签字授权委托书模板并按照指导完成填写后拍照上传</span> - <span @click="getModal">下载模板</span> - </p> - <UploadFile - v-if="uploadFileTypes.indexOf(25)!= -1" - :fileType="25" - :isCard="0" - :typeId="this.$route.query.typeId" - :sourceType="this.$route.query.zfbVersion" - :picList="uploadObj.authorPhotos" - ></UploadFile> - </div> - <f-space></f-space> - <button - class="btn-y" - :style="{background:$store.state.defaultColor}" - @click="handleOpenHuaBei" - >{{btnText}}</button> - - </div> -</template> -<script> -import UploadFile from "@/components/old/upload/uploadImgTl"; -import { mapState, mapGetters } from 'vuex'; -export default { - name: "add-account", - components: { - UploadFile - }, - data() { - return { - btnText:'下一步', - uploadObj: { - licencePhotos: [], // 营业执照 - cardFrontPhotos: [], // 身份证正面照 - cardBackPhotos: [], // 身份证反面照 - handCardPhotos:[],//手持身份证照片 - storeSignPhotos: [], // 门店招牌照 - storeInnerPhotos: [], // 门店店内照 - industryLicensePhotos:[],//开户许可证照片 - authorPhotos:[] - } - }; - }, - created() { - this.uploadObj = { - licencePhotos: [], // 营业执照 - cardFrontPhotos: [], // 身份证正面照 - cardBackPhotos: [], // 身份证反面照 - handCardPhotos:[],//手持身份证照 - storeSignPhotos: [], // 门店招牌照 - storeInnerPhotos: [], // 门店店内照 - industryLicensePhotos:[], - authorPhotos:[], - }; - this.getMyMation(); - }, - computed:{ - ...mapState(['userinfo']), - merType(){ - if(this.$route.query.merType && this.$route.query.merType != undefined){ - this.btnText = '提交开通' - return this.$route.query.merType - }else{ - return JSON.parse(sessionStorage.getItem(`sib_tl_openInfo_${this.userinfo.orgId}`)).detailInfo.merType - } - }, - uploadFileTypes(){ - if(this.$route.query.uploadFileTypes != undefined){ - console.log(this.$route.query.uploadFileTypes) - return JSON.parse(this.$route.query.uploadFileTypes) - }else{ - return [0,2,3,21,6,7,22] - } - } - }, - methods: { - getModal(){ - this.$api.tltMerOpenSendAuthFile().then(res=>{ - this.$tool.toast("模板已下发至注册邮箱,请查收"); - }) - }, - // 开通花呗 - handleOpenHuaBei() { - if (this.$tool.checkValEmpty(this.uploadObj.licencePhotos)&&this.uploadFileTypes.indexOf(0) != -1) { - this.$tool.toast("请上传营业执照"); - return false; - } - if (this.$tool.checkValEmpty(this.uploadObj.cardFrontPhotos)&&this.uploadFileTypes.indexOf(2) != -1) { - this.$tool.toast("请上传身份证正面照"); - return false; - } - if (this.$tool.checkValEmpty(this.uploadObj.cardBackPhotos)&&this.uploadFileTypes.indexOf(3) != -1) { - this.$tool.toast("请上传身份证反面照"); - return false; - } - if (this.$tool.checkValEmpty(this.uploadObj.handCardPhotos)&&this.uploadFileTypes.indexOf(21) != -1) { - this.$tool.toast("请上传手持身份证照"); - return false; - } - if (this.$tool.checkValEmpty(this.uploadObj.storeInnerPhotos)&&this.uploadFileTypes.indexOf(6) != -1) { - this.$tool.toast("请上传经营内景照"); - return false; - } - if (this.$tool.checkValEmpty(this.uploadObj.storeSignPhotos)&&this.uploadFileTypes.indexOf(7) != -1) { - this.$tool.toast("请上传门头照"); - return false; - } - if (this.$tool.checkValEmpty(this.uploadObj.industryLicensePhotos)&&this.uploadFileTypes.indexOf(22) != -1) { - this.$tool.toast(this.merType=='03'?"请上传开户许可证照":"请上传银行卡正面照片"); - return false; - } - if (this.$tool.checkValEmpty(this.uploadObj.authorPhotos)&&this.uploadFileTypes.indexOf(25) != -1) { - this.$tool.toast("请上传签字授权委托书"); - return false; - } - - let picIdList = { - licencePhotos: [], - cardFrontPhotos: [], - cardBackPhotos: [], - handCardPhotos:[], - storeInnerPhotos: [], - storeSignPhotos: [], - industryLicensePhotos:[], - authorPhotos:[] - }; - - for (let i in this.uploadObj) { - this.uploadObj[i].forEach(item => { - picIdList[i].push(item.id + ""); - }); - } - - - if(!this.$route.query.merType && this.$route.query.merType == undefined){ - sessionStorage.setItem(`sib_tl_pic_${this.userinfo.orgId}`,JSON.stringify(this.uploadObj)) - let obj = JSON.parse(sessionStorage.getItem(`sib_tl_openInfo_${this.userinfo.orgId}`)) - obj.detailInfo = {...JSON.parse(sessionStorage.getItem(`sib_tl_openInfo_${this.userinfo.orgId}`)).detailInfo,...picIdList} - sessionStorage.setItem(`sib_tl_openInfo_${this.userinfo.orgId}`,JSON.stringify(obj)) - this.$router.push({ - path: "/tonglian/open", - query: { - title: "开通通联通道", - ...this.$route.query - } - }); - }else{ - this.$api.tltMerOpenRepair({...picIdList}).then(res=>{ - this.$router.push({ - path: "/tonglian/open-result", - query: { - title: "开通通联通道" - } - }); - }) - } - - - - }, - // 获取返显资料 - getMyMation() { - if (sessionStorage.getItem(`sib_tl_pic_${this.userinfo.orgId}`)) { - // if(sessionStorage.getItem("sib_tl_openInfo")){ - // var obj = JSON.parse(sessionStorage.getItem("sib_tl_openInfo")).detailInfo; - // } - if(sessionStorage.getItem(`sib_tl_pic_${this.userinfo.orgId}`)){ - var obj = JSON.parse(sessionStorage.getItem(`sib_tl_pic_${this.userinfo.orgId}`)); - } - if (obj.licencePhotos && obj.licencePhotos.length > 0) { - this.uploadObj.licencePhotos = obj.licencePhotos; - } - if (obj.cardFrontPhotos && obj.cardFrontPhotos.length > 0) { - this.uploadObj.cardFrontPhotos = obj.cardFrontPhotos; - } - if (obj.cardBackPhotos && obj.cardBackPhotos.length > 0) { - this.uploadObj.cardBackPhotos = obj.cardBackPhotos; - } - if (obj.handCardPhotos && obj.handCardPhotos.length > 0) { - this.uploadObj.handCardPhotos = obj.handCardPhotos; - } - if (obj.storeSignPhotos && obj.storeSignPhotos.length > 0) { - this.uploadObj.storeSignPhotos = obj.storeSignPhotos; - } - if (obj.storeInnerPhotos && obj.storeInnerPhotos.length > 0) { - this.uploadObj.storeInnerPhotos = obj.storeInnerPhotos; - } - if (obj.industryLicensePhotos && obj.industryLicensePhotos.length > 0) { - this.uploadObj.industryLicensePhotos = obj.industryLicensePhotos; - } - if (obj.authorPhotos && obj.authorPhotos.length > 0) { - this.uploadObj.authorPhotos = obj.authorPhotos; - } - } - } - }, - -}; -</script> - -<style lang="less" scoped> -.tonglian-store-pictures-page { - & { - min-height: 100vh; - background: #f5f5f7; - } - .info-box { - margin-top: 10px; - width: 96vw; - margin-left: 2vw; - } - .pic-content { - padding: 20px 0px 20px 10px; - box-sizing: border-box; - background: #fff; - width: 96vw; - margin-left: 2vw; - margin-top: 10px; - .tip{ - span:nth-of-type(2){ - font-size:12px; - font-family:PingFang SC; - font-weight:500; - color:rgba(255,102,102,1); - } - span:nth-of-type(3){ - margin-top: 10px; - display: block; - font-size:12px; - font-family:PingFang SC; - font-weight:500; - color:#1890FF; - } - } - } - - .idcard-box { - &{ - display: flex; - //justify-content: space-around; - } - div { - display: inline-block; - width: 40%; - } - div:nth-of-type(2) { - //margin-left: -240px; - } - } - .btn-y { - width: 78%; - margin-left: 11%; - //margin-top: 40px; - height: 44px; - background: #896EDB; - border-radius: 22px; - color: #fff; - outline: none; - border: 0; - margin-bottom: 30px; - } -} -</style> \ No newline at end of file diff --git a/src/views/old/merchant/tonglian/verification.vue b/src/views/old/merchant/tonglian/verification.vue deleted file mode 100644 index 6ce84aa..0000000 --- a/src/views/old/merchant/tonglian/verification.vue +++ /dev/null @@ -1,204 +0,0 @@ -<!-- - * @Author: 小明丶 - * @Date: 2020-10-21 19:42:42 - * @LastEditors: 小明丶 - * @LastEditTime: 2021-01-04 15:47:59 - * @Description: ---> -!<template> - <div class="verification-page"> - <van-nav-bar - title="打款验证" - left-arrow - @click-left="onClickLeft" - style="line-height: 43px" - > - <i - class="iconfont iconzuojiantou" - slot="left" - style="font-size: 25px" - ></i> - </van-nav-bar> - <div class="ipt-box"> - <p class="ipt-p">收款金额验证</p> - <span class="ipt-tip">¥</span> - <input type="text" v-model="payAmt" class="ipt" placeholder="请输入验证金额" maxlength="4"> - </div> - <div class="tip-box"> - <p class="tip-p">我们将向您的对公结算银行卡进行一笔小额转账以确保银行卡信息准确无误,请将我们的打款金额输入至输入框后点击确认完成验证</p> - </div> - <button class="confirm-btn" @click="hanldClick">确认</button> - <van-dialog v-model="show" title="打款提示" confirm-button-color="#896EDB"> - <div style="text-align:center;box-size:border-box;padding:20px 10px;font-size:14px"> - <p>打款金额输入错误,请重新输入</p> - </div> - </van-dialog> - <van-dialog v-model="show2" title="打款提示" @confirm="handConfirm" confirm-button-color="#896EDB"> - <div style="text-align:center;box-size:border-box;padding:20px 10px;font-size:14px"> - <p>打款金额输入错误,两次验证错误,我们将重新打款进行验证,请稍后</p> - </div> - </van-dialog> - </div> -</template> - -<script> -import Vue from "vue"; -import { Toast, Dialog } from "vant"; - -Vue.use(Toast); -Vue.use(Dialog); -export default { - data(){ - return { - show:false, - show2:false, - payAmt:'',//验证金额 - timer:'', - isValid:'',//验证金额结果 - cont:1 // 计数器 - } - }, - created(){}, - mounted(){}, - methods:{ - handConfirm(){ - this.$router.push({ - path:'/tonglian/open-result', - query:{ - verificationDone:'done', - ...this.$route.query - } - }) - }, - /** - * @description 返回至个人中心首页 - * @returns void - * **/ - onClickLeft(){ - if(this.$route.query.isApp == 1){ - this.$router.push({ - path:'/app/home' - }); - }else{ - this.$router.push({ - path:'/main/mine' - }); - } - - }, - /** - * @description 提交验证 - * @returns void - * **/ - hanldClick(){ - /** - * 1.发起验证请求 - * 2.验证成功后返回状态页面 - * - * **/ - this.cont = this.cont + 1 - this.$api.tltMerOpenPayAuth({ - payAmt: Number(this.payAmt) - }).then(res=>{ - this.isValid = res.body.isValid - this.cont = res.body.matchNum - if(this.isValid){ - this.$router.push({ - path:'/tonglian/open-result', - query:{ - verificationDone:'done', - ...this.$route.query - } - }) - }else{ - if(this.cont == 2){ - this.show2 = true - - }else{ - this.show = true - } - } - }) - }, - }, - beforeRouteLeave (to, from, next) { - // ... - Toast.clear() - clearInterval(this.timer) - next() - } -} -</script> -<style lang="less"> - .verification-page{ - &{ - min-height: 100vh; - background-color: #f5f5f7; - } - .ipt-box{ - &{ - padding: 15px 20px; - box-sizing: border-box; - background: #fff; - width: 100%; - margin-top: 15px; - } - .ipt-p{ - margin-bottom: 10px; - } - .ipt-tip{ - font-size: 30px; - font-weight: 550; - margin-right: 10px; - } - .ipt{ - border: 0; - outline: none; - font-size:20px; - height: 30px; - line-height: 30px; - width: 80%; - } - input::-webkit-input-placeholder { /* WebKit browsers */ - font-size: 20px; - color: #999999; - } - - input:-moz-placeholder { /* Mozilla Firefox 4 to 18 */ - font-size: 20px; - color: #999999; - } - - input::-moz-placeholder { /* Mozilla Firefox 19+ */ - font-size: 20px; - color: #999999; - } - - input:-ms-input-placeholder { /* Internet Explorer 10+ */ - font-size: 20px; - color: #999999; - } - } - .tip-box{ - &{ - box-sizing: border-box; - width: 100%; - padding: 15px 20px; - } - .tip-p{ - color: #999999; - } - } - .confirm-btn{ - width: 94%; - height: 44px; - background: #896EDB; - border-radius: 22px; - margin-left: 3%; - margin-top: 100px; - outline: none; - border: 0; - color: #fff; - } - } -</style> \ No newline at end of file diff --git a/src/views/old/merchant/tonglian/withdrawal-history.vue b/src/views/old/merchant/tonglian/withdrawal-history.vue deleted file mode 100644 index d1ef851..0000000 --- a/src/views/old/merchant/tonglian/withdrawal-history.vue +++ /dev/null @@ -1,139 +0,0 @@ -<!-- - * @Author: 小明丶 - * @Date: 2020-08-17 15:34:17 - * @LastEditors: 小明丶 - * @LastEditTime: 2020-10-12 20:30:01 - * @Description: ---> -<template> - <div class="withdrawal-history-page"> - <v-navbar title="提现记录"></v-navbar> - <div class="history-box"> - <van-list - offset="50" - :immediate-check="false" - v-model="loading" - :finished="finished" - :error.sync="error" - finished-text="没有更多了" - error-text="加载失败,请稍后再试" - @load="onLoad" - > - <div class="list-item" v-for="(item,index) in list" :key="index"> - <div class="left"> - <p>{{item.statusName}}</p> - <p>{{item.withdTime | dateFmt(item.withdTime)}}</p> - </div> - <div class="right"> - <p>{{item.status==0?'':item.status==1?'':item.status==2?'+':''}}{{item.amount}}</p> - <p>{{item.settType=='01'?'银行卡':'支付宝'}} {{item.withdAccount}}</p> - </div> - </div> - </van-list> - </div> - </div> -</template> -<script> -import dateFmt from "../../../../utils/date"; -export default { - data() { - return { - list:[], - error:false,//加载错误 - loading: false,//加载中 - finished: false,//全部加载完成 - lastId:'',//最后一条Id - } - }, - filters: { - dateFmt(val) { - return dateFmt(val, "YYYY-MM-DD HH:mm"); - }, - }, - created(){ - this.onLoad() - }, - methods:{ - onLoad(){ - this.loading = true - this.$api.tltWalletWithdrawDetails({ - withdrawId:this.lastId - }).then(res=>{ - if(res.body.items){ - if(res.body.items.length < 10){ - this.list = [...this.list,...res.body.items] - this.lastId = this.list[this.list.length-1].withdrawId - this.loading = false - this.finished = true - }else{ - this.list = [...this.list,...res.body.items] - this.lastId = this.list[this.list.length-1].withdrawId - this.loading = false - } - }else{ - this.loading = false - this.finished = true - } - }).catch(err=>{ - this.error = true - }) - } - }, - -} -</script> -<style lang="less"> - .withdrawal-history-page{ - &{ - background: #F5F5F7; - min-height: 100vh; - } - .history-box{ - margin-top: 10px; - box-sizing: border-box; - padding: 0 17px; - background: #fff; - .list-item{ - display: flex; - border-bottom:1px solid #F1F1F1; - padding: 16px 0; - .left{ - width: 40%; - p:nth-of-type(1){ - margin-bottom: 10px; - font-size:14px; - font-family:PingFang SC; - font-weight:500; - color:rgba(51,51,51,1); - } - p:nth-of-type(2){ - font-size:12px; - font-family:PingFang SC; - font-weight:500; - color:rgba(153,153,153,1); - } - } - .right{ - width: 59%; - text-align: right; - p:nth-of-type(1){ - margin-bottom: 10px; - font-size:16px; - font-family:PingFang SC; - font-weight:bold; - color:rgba(51,51,51,1); - } - p:nth-of-type(2){ - font-size:12px; - font-family:PingFang SC; - font-weight:500; - color:rgba(153,153,153,1); - } - } - } - .list-item:last-child{ - border-bottom:0; - } - } - } -</style> \ No newline at end of file diff --git a/src/views/old/merchant/tonglian/withdrawal-result.vue b/src/views/old/merchant/tonglian/withdrawal-result.vue deleted file mode 100644 index f744388..0000000 --- a/src/views/old/merchant/tonglian/withdrawal-result.vue +++ /dev/null @@ -1,115 +0,0 @@ -<!-- - * @Author: 小明丶 - * @Date: 2020-08-17 15:34:00 - * @LastEditors: 小明丶 - * @LastEditTime: 2020-10-12 17:22:28 - * @Description: 通联提现结果页面 ---> -<template> - <div class="withdrawal-result-page"> - <v-navbar title="提现结果"></v-navbar> - <div class="res-box"> - <img - v-if="status == 2" - src="../../../../../static/img/cg.png" - alt="提现成功" - /> - <img - v-if="status == 0" - src="../../../../../static/img/ing.png" - alt="初始化" - /> - <img - v-if="status == 1" - src="../../../../../static/img/ing.png" - alt="提现中" - /> - <img - v-if="status == 3" - src="../../../../../static/img/cs.png" - alt="提现失败" - /> - <p>{{ resultText }}</p> - </div> - <button class="btn-y" v-show="status != 0 && status != 1" @click="$router.go(-1)">返回</button> - </div> -</template> -<script> -export default { - data() { - return { - status: 0, //0 初始化 1提现中 2成功 3失败 - resultText: "提现中,请稍后", - timer:"", - }; - }, - created() { - this.init() - }, - methods: { - init() { - clearInterval(this.timer) - this.$api - .tltWalletWithdrawStatus({ - withdrawId: this.$route.query.withdrawId, - }) - .then((res) => { - - this.status = res.body.status; - if (res.body.status == 3) { - this.resultText = "提现失败,请重试"; - } else if (res.body.status == 2) { - this.resultText = "提现成功"; - } else { - this.resultText = "提现中,请稍后"; - this.timer = setInterval(()=>{ - this.init() - },5000) - } - }); - }, - }, - beforeRouteLeave (to, from, next) { - clearInterval(this.timer) - next() - } -}; -</script> -<style lang="less"> -.withdrawal-result-page { - & { - min-height: 100vh; - background: #f5f5f7; - } - .res-box { - width: 96vw; - margin-left: 2vw; - box-sizing: border-box; - padding: 33px; - margin-top: 10px; - background: #fff; - text-align: center; - img { - width: 95px; - height: 95px; - } - p { - margin-top: 17px; - font-size: 14px; - color: #333; - font-weight: 500; - } - } - .btn-y{ - width: 94%; - margin-left: 3%; - margin-top: 20px; - color:#fff ; - height: 44px; - background: #896edb; - border: 0; - outline: none; - border-radius: 22px; - } -} -</style> \ No newline at end of file diff --git a/src/views/old/merchant/tonglian/withdrawal.vue b/src/views/old/merchant/tonglian/withdrawal.vue deleted file mode 100644 index 53b6e14..0000000 --- a/src/views/old/merchant/tonglian/withdrawal.vue +++ /dev/null @@ -1,408 +0,0 @@ -<!-- - * @Author: 小明丶 - * @Date: 2019-10-24 15:13:33 - * @LastEditors: 小明丶 - * @LastEditTime: 2020-11-20 17:26:19 - * @Description: - --> -<template> - <div class="tonglian-withdrawals-page"> - <v-navbar title="提现"> - <div slot="right" @click="goHistory">提现纪录</div> - </v-navbar> - <!-- 账号 --> - <div class="zfb-box"> - <div class="left"> - <p>提现至</p> - </div> - <div class="right"> - <span - v-if="sta == '02'" - style="color: #333333; font-size: 14px; margin-bottom: 5px" - >支付宝账号</span - > - <span - v-if="sta == '01'" - style="color: #333333; font-size: 14px; margin-top: 9px" - >银行卡账号</span - > - <span style="color: #333333; font-size: 14px">{{ - withdAccount.replace(/^(.{3})(?:\d+)(.{4})$/, "$1****$2") - }}</span> - </div> - </div> - <!-- 金额 --> - <div class="money-box"> - <div class="tit"> - <p>提现金额</p> - </div> - <div class="input-box"> - <span>¥</span> - <van-field - v-model="amount" - placeholder="请输入提现金额" - style=" - width: 70%; - display: inline-block; - margin-left: 30px; - font-size: 18px; - " - :border="false" - maxlength="10" - /> - <span @click="allWithd">全部提现</span> - </div> - <div class="yue"> - <p> - <span>可提现金额:</span> - <span>¥{{ this.balanceAmt }}</span> - </p> - </div> - </div> - <van-button - round - type="info" - color="#896EDB" - style=" - width: 86%; - margin-top: 60px; - margin-left: 7%; - background: #896edb; - color: #fff; - border: 0.02rem solid rgb(137, 110, 219); - " - @click="getWidthrawals" - >下一步</van-button - > - <!-- 短信弹窗 --> - <van-popup - v-model="showSendCode" - style="width: 75%; text-align: center; padding: 34px 18px 20px 18px" - > - <van-icon - name="cross" - size="20px" - style="position: absolute; right: 10px; top: 10px; color: #cccccc" - @click="closePop" - color="#CCCCCC" - /> - <p style="font-size: 16px; font-weight: 500; color: rgba(0, 0, 0, 1)"> - 请确认提现金额 - </p> - <p - style=" - font-size: 14px; - font-weight: 500; - color: rgba(153, 153, 153, 1); - margin: 12px 0 20px 0; - " - > - 您当前发起提现金额为: - </p> - <p style="font-size: 18px;">{{amount}}元</p> - <!-- <div class="withdrawal-code-box"> - <input - type="text" - v-model="authCode" - placeholder="请输入验证码" - maxlength="6" - /> - <van-button size="small" color="#896EDB" plain type="info" @click="getCode">{{ - btnText - }}</van-button> - </div> --> - <button class="withdrawal-btn" @click="goResrult">发起提现</button> - </van-popup> - </div> -</template> -<script> -import Vue from "vue"; -import QRCode from "qrcode"; -//import { setInterval } from 'timer'; -import { Notify,Toast } from "vant"; -import { Icon } from "vant"; - -Vue.use(Toast); -Vue.use(Icon); -Vue.use(Notify); -export default { - data() { - return { - btnDis: false, //获取验证码按钮是否禁用 - btnText: "发送验证码", - params: {}, //路由接收的参数 - showSendCode: false, //短信验证码弹窗 - showTip: false, //提示弹窗 - amount: "", //提现金额 - timer: "", //轮训定时器 - balanceAmt: "", //可提现余额 - branchName: "", //开户支行名称 - withdAccount: "", //提现账户 - legalMblNo: "", //提现手机号 - authCode: "", //验证码 - withdrawId: "", //提现id - sta: 1, - hasGetCode:true, - }; - }, - created() { - this.$api.tltWalletInit().then((res) => { - this.balanceAmt = res.body.balanceAmt; - this.sta = res.body.settType; - this.branchName = res.body.branchName; - this.withdAccount = res.body.withdAccount; - this.legalMblNo = res.body.legalMblNo; - }); - }, - mounted() { - this.params = this.$route.params; - }, - updated() { - window.onresize; - }, - beforeDestroy() { - clearInterval(this.timer); - this.timer = null; - }, - methods: { - /** - * @description:获取验证码 - * @return void - * **/ - getCode() { - let _this = this; - this.$api - .tltWalletSendSmsCode({ - amount: this.amount, - }) - .then((res) => { - this.hasGetCode = true - this.withdrawId = res.body.withdrawId; - this.btnText = 60; - this.btnDis = true; - this.timer = setInterval(function () { - if (_this.btnText == 1) { - _this.btnText = "重新获取"; - _this.btnDis = false; - clearInterval(_this.timer); - } else { - _this.btnText = --_this.btnText; - } - }, 1000); - }); - }, - /** - * @description:弹出层关闭 - * @return void - * **/ - closePop() { - this.showSendCode = false; - }, - /** - * @description:提现函数 - * @return void - * **/ - getWidthrawals() { - if (this.amount <= 0) { - Notify({ type: "primary", message: "提现金额需大于0元" }); - }else if (this.amount > this.balanceAmt) { - Notify({ type: "primary", message: "提现金额不得大于余额" }); - } else { - this.showSendCode = true; - this.getCode() - } - }, - /** - * @description:全部提现 - * @return void - * **/ - allWithd() { - this.amount = this.balanceAmt; - }, - /** - * @description:提交提现,跳转提现结果 - * @return void - * **/ - goResrult() { - if(!this.hasGetCode){ - Toast.fail('请先获取验证码'); - return false - } - this.$api - .tltWalletWithdraw({ - withdrawId: this.withdrawId, - authCode: '888888', - amount: this.amount, - }) - .then((res) => { - this.$router.push({ - path: "/tonglian/Withdrawal-result", - query: { - withdrawId: this.withdrawId, - }, - }); - }); - }, - /** - * @description:跳转提现记录 - * @return void - * **/ - - goHistory() { - this.$router.push({ - path: "/tonglian/withdrawal-history", - }); - }, - }, -}; -</script> -<style lang="less" scoped> -.tonglian-withdrawals-page { - & { - background-color: #f0f1f3; - height: 100vh; - } - .clearfix { - *zoom: 1; - } - .clearfix:after { - clear: both; - display: block; - visibility: hidden; - height: 0; - content: "."; - } - .zfb-box { - height: 60px; - width: 94%; - background-color: white; - border-radius: 3px; - margin-left: 3%; - margin-top: 20px; - display: flex; - .left { - width: 20%; - box-sizing: border-box; - padding-left: 13px; - line-height: 60px; - p { - color: #333333; - font-size: 18px; - font-weight: Bold; - text-align: left; - } - } - .right { - width: 84%; - box-sizing: border-box; - padding-left: 10px; - line-height: 60px; - } - } - .money-box { - width: 94%; - background-color: white; - margin-left: 3%; - height: 145px; - margin-top: 20px; - border-radius: 3px; - .tit { - height: 50px; - box-sizing: border-box; - padding: 18px 0 17px 13px; - p { - color: #333333; - font-weight: bold; - font-size: 16px; - } - } - .input-box { - border-bottom: 1px solid #eeeeee; - box-sizing: border-box; - padding-left: 13px; - padding-right: 12px; - vertical-align: middle; - position: relative; - span:nth-of-type(1) { - font-size: 18px; - display: inline-block; - position: absolute; - bottom: 15px; - z-index: 1000; - } - span:nth-of-type(2) { - font-size: 14px; - color: #896edb; - text-decoration: underline; - position: absolute; - bottom: 15px; - z-index: 1000; - } - } - .yue { - box-sizing: border-box; - padding-left: 13px; - padding-top: 16px; - p { - span:nth-of-type(1), - span:nth-of-type(3) { - font-size: 12px; - color: #999999; - } - span:nth-of-type(2) { - font-size: 12px; - } - } - } - } - .notes { - font-size: 12px; - color: #999999; - text-align: center; - margin-top: 12px; - } - .payCode { - .myimg { - position: absolute; - top: 45px; - left: 85px; - z-index: 1000; - } - } - .prod { - p:nth-of-type(1) { - font-size: 18px; - color: #333333; - margin-bottom: 20px; - margin-top: 25px; - } - p:nth-of-type(2), - p:nth-of-type(3) { - font-size: 12px; - color: #999999; - margin-bottom: 5px; - } - } - .withdrawal-btn { - width: 70%; - height: 36px; - background: rgba(137, 110, 219, 1); - border-radius: 18px; - border: 0; - outline: none; - margin-top: 28px; - color: #fff; - } - .withdrawal-code-box { - text-align: center; - border-bottom: 1px solid #eeeeee; - padding-bottom: 5px; - display: flex; - input { - border: 0; - width: 66%; - text-align: center; - } - } -} -</style> \ No newline at end of file diff --git a/src/views/old/merchant/xyg/merBaseInfo.vue b/src/views/old/merchant/xyg/merBaseInfo.vue deleted file mode 100644 index d4d7a6b..0000000 --- a/src/views/old/merchant/xyg/merBaseInfo.vue +++ /dev/null @@ -1,267 +0,0 @@ -<!-- -* @Author: c.y - * @Date: 2019-09-02 09:01:22 - * @LastEditors: 小明丶 - * @LastEditTime: 2019-09-02 09:15:03 - * @Description: - --> -<template> - <div class="open-xyg-page"> - <group> - <x-input title='营业执照号' v-model.trim="storeInfo.licenseNo" readonly text-align='right'></x-input> - <x-input title='营业执照名称' v-model.trim="storeInfo.orgName" placeholder='请输入' :max='50' text-align='right'></x-input> - <datetime v-model="storeInfo.issueDate" format="YYYY-MM-DD" title="注册日期" placeholder="请选择"></datetime> - </group> - <group> - <van-field v-model.trim="storeInfo.addrText" clearable :readonly="true" right-icon="arrow" label="注册省市区" placeholder=" 请选择" - @click="isShowArea = !isShowArea" text-align='right'/> - <x-input title='注册详细地址' v-model.trim="storeInfo.regDetailAddr" placeholder='请输入' :max='100' text-align='right'></x-input> - <x-input title='渠道编码' v-model.trim="storeInfo.outMerchantNo" placeholder='请输入' :max='100' text-align='right'></x-input> - <x-input title='渠道名称' v-model.trim="storeInfo.merchantName" placeholder='请输入' :max='100' text-align='right'></x-input> - </group> - - <f-space></f-space> - <group> - <x-input title='法人名称' v-model.trim="storeInfo.legalName" readonly text-align='right'></x-input> - <x-input title='法人身份证号' v-model.trim="storeInfo.legalIdCardNo" readonly text-align='right'></x-input> - <x-input title='法人身份证地址' v-model.trim="storeInfo.legalIdCardAddress" placeholder='请输入' text-align='right'></x-input> - <x-input title='法人手机号' v-model.trim="storeInfo.legalPhone" placeholder='请输入' :max='11' text-align='right'></x-input> - </group> - <f-space></f-space> - <group> - <x-input title='联系人姓名' v-model.trim="storeInfo.contactName" placeholder='请输入' text-align='right'></x-input> - <x-input title='联系人手机号' v-model.trim="storeInfo.contactPhone" placeholder='请输入' :max='11' text-align='right'></x-input> - <x-input title='联系人邮箱' v-model="storeInfo.contactEmail" text-align='right' max="50" placeholder="请输入"></x-input> - <selector title='与企业关系' placeholder='请选择' @on-change='handleCusRefChange' v-model="storeInfo.objContactReal" - :options='merRefList' :value-map="['code','name']" direction='rtl'></selector> - </group> - <f-space></f-space> - <group> - <van-field v-model.trim="storeInfo.merAddrText" clearable :readonly="true" right-icon="arrow" label="经营省市区" - @click="isShowMerArea = !isShowMerArea" text-align='right'/> - <x-input title='经营详细地址' v-model.trim="storeInfo.bizDetailAddr" placeholder='请输入' text-align='right'></x-input> - </group> - <f-space></f-space> - <group> - <selector title='商户账号类型' placeholder='请选择' @on-change='handleCardTypeChange' v-model="storeInfo.acctType" - :options='cardTypeList' :value-map="['code','name']" direction='rtl'></selector> - <x-input title='商户账户名称' v-model.trim="storeInfo.acctName" placeholder='请输入' text-align='right' /> - <selector title='商户银行名称' placeholder='请选择' @on-change='handleBankChange' v-model="storeInfo.acctBankname" - :options='bankList' :value-map="['code','name']" direction='rtl'></selector> - <x-input title='商户银行账号' v-model.trim="storeInfo.acctNo" placeholder='请输入' :max='30' text-align='right'/> - <x-input v-if="storeInfo.acctType===1" title='商户开户支行名称' v-model.trim="storeInfo.acctOpenBankname" placeholder='请输入' :max='30' text-align='right'/> - <x-input v-if="storeInfo.acctType===1" title='开户行行号' v-model.trim="storeInfo.acctCnaps" :max='20' placeholder='请输入' - text-align='right'></x-input> - <selector v-if="storeInfo.acctType===2" title='账户企业关系' placeholder='请选择' @on-change='handleMerRefChange' v-model="storeInfo.acctEnpRel" - :options='merRefList' :value-map="['code','name']" direction='rtl'></selector> - </group> - <van-popup v-model="isShowArea" position="bottom" :close-on-click-overlay="false"> - <van-area ref='Area' :area-list='areaList' @cancel="closeAreaModal" @confirm="setAreaValue"></van-area> - </van-popup> - <van-popup v-model="isShowMerArea" position="bottom" :close-on-click-overlay="false"> - <van-area ref='Area' :area-list='areaList' @cancel="closeMerAreaModal" @confirm="setMerAreaValue"></van-area> - </van-popup> - </div> - -</template> - -<script> - import {calcArea} from '@/utils/index'; - import { - mapState, - mapActions - } from 'vuex'; - import { - Datetime, - XAddress, - } from 'vux'; - export default { - name: 'xygMerBase', - components: { - Datetime, - XAddress, - ...mapState(['areaList']) - }, - data() { - return { - merValue:'', - areaList:{//地区列表 - province_list:{}, //省 - city_list:{}, //市 - county_list:{}, //地区、县 - }, - merAreaList:{//地区列表 - province_list:{}, //省 - city_list:{}, //市 - county_list:{}, //地区、县 - } - }; - }, - props: { - addressList: { - type: Array, - default: [] - }, - address: { - type: Array, - default: [] - }, - isShowArea: { - type: Boolean, - default: false - }, - isShowMerArea: { - type: Boolean, - default: false - }, - storeInfo: { - type: Object, - }, - // 银行列表 - bankList: { - type: Array, - default: () => { - return []; - } - }, - cardTypeList: { - type: Array, - default: () => { - return []; - } - }, - merRefList: { - type: Array, - default: () => { - return []; - } - }, - }, - computed:{ - calcAddress:{ - get(){ - return this.address || []; - }, - set(newV){ - this.$emit('addr-change', newV); - } - } - - }, - methods: { - ...mapActions(['getArea']), - // 获取地区列表 - getArea() { - Vue.prototype.$api.getArea().then((res) => { - let { provList } = res.body; - let obj = calcArea(provList) - this.areaList = { - province_list:obj.province_list, - city_list:obj.city_list, - county_list:obj.county_list - } - }).catch((err) => { - - }); - }, - getMerArea() { - this.merAreaList = this.areaList; - }, - //关闭地区弹窗 - closeAreaModal() { - this.isShowArea = false; - this.$refs.Area.reset() - }, - //关闭地区弹窗 - closeMerAreaModal() { - this.isShowMerArea = false; - this.$refs.Area.reset() - }, - //保存 地区选择 - setAreaValue(arr) { - this.storeInfo.addrText = arr[0].name + '-' + arr[1].name + '-' + arr[2].name; - this.storeInfo.regProvinceCode = arr[0].code; - this.storeInfo.regCityCode = arr[1].code; - this.storeInfo.regDistrictCode = arr[2].code; - this.isShowArea = false; - this.$refs.Area.reset() - }, - //经营地保存地区选择 - setMerAreaValue(arr) { - this.storeInfo.merAddrText = arr[0].name + '-' + arr[1].name + '-' + arr[2].name; - this.storeInfo.bizProvinceCode = arr[0].code; - this.storeInfo.bizProvinceName = arr[0].name; - this.storeInfo.bizCityCode = arr[1].code; - this.storeInfo.bizCityName = arr[1].name; - this.storeInfo.bizDistrictCode = arr[2].code; - this.storeInfo.bizDistrictName = arr[2].name; - this.isShowMerArea = false; - this.$refs.Area.reset() - }, - // 处理银行名称的改变 - handleBankChange(val) { - let currentEle = this.bankList.find(item => { - return item.code === val; - }) - }, - // 账号类型 - handleCardTypeChange(val) { - let currentEle = JSON.parse(JSON.stringify(this.cardTypeList)).find((item) => { - return item.code = val; - }); - this.storeInfo.acctTypeName = currentEle.name; - }, - // 商户与账户关系 - handleMerRefChange(val) { - let currentEle = JSON.parse(JSON.stringify(this.merRefList)).find((item) => { - return item.code = val; - }); - this.storeInfo.acctEnpRelName = currentEle.name; - }, - // 商户与账户关系 - handleCusRefChange(val) { - let currentEle = JSON.parse(JSON.stringify(this.merRefList)).find((item) => { - return item.code = val; - }); - } - }, - created() { - this.getArea(); - this.getMerArea(); - this.merAddrValue = this.merAddrText; - }, - }; - -</script> - -<style lang="less" scoped> - .open-xyg-page { - .title { - padding: 14px 12px; - font-size: 15px; - color: #333; - - .line { - display: inline-block; - width: 2px; - height: 16px; - margin-right: 8px; - background: @color-text-three; - vertical-align: middle; - margin-top: -1px; - } - } - - .vux-datetime { - font-size: 15Px; - } - - .vux-datetime-value { - span { - width: 100%; - text-align: right; - } - } - } - -</style> diff --git a/src/views/old/merchant/xyg/merOpen.vue b/src/views/old/merchant/xyg/merOpen.vue deleted file mode 100644 index cca2beb..0000000 --- a/src/views/old/merchant/xyg/merOpen.vue +++ /dev/null @@ -1,413 +0,0 @@ -<!-- - * @Date: 2019-09-02 09:01:22 - * @LastEditors: 小明丶 - * @LastEditTime: 2019-09-02 09:20:18 - * @Description: - --> -<template> - <div class="open-xyg-index"> - <x-header :title="'开通信用购'" :left-options="{backText: '', preventGoBack: true}" @on-click-back="goBackPage"> - </x-header> - <!-- v-show="step === 1" --> - <base-info - v-show="step === 1" - :cardTypeList="cardTypeList" - :merRefList="merRefList" - :bankList="bankList" - :address="address" - :addressList="addressList" - :storeInfo="storeInfo" - @addr-change="setCitycode" - > - </base-info> - <!-- 信用购的文件上传type + 6 --> - <mer-pictures v-show="step === 2" :storeInfo="storeInfo" :filetype="9" ></mer-pictures> - <!-- <store-pictures :storeInfo="storeInfo" :filetype="6" ></store-pictures> --> - <f-space type="large"></f-space> - <f-button @on-click="handleNextStep" fixed>{{ step === 1 ? '下一步' : '提交开通' }}</f-button> - </div> -</template> - -<script> - import BaseInfo from './merBaseInfo.vue'; - import MerPictures from './merPictures.vue'; - import formCheckAndComt from '@/utils/formCheckAndComb'; - import {calcArea} from '@/utils/index'; - import { - dateFormat - } from 'vux' - - export default { - name: 'xygMerOpen', - components: { - BaseInfo, - MerPictures - }, - data() { - return { - orgType: 0, - step: 1, - stepText: '下一步', - bankList: [], - cardTypeList: [], - merRefList:[], - addressList:[], - address:[], - storeInfo: { - merName: '', - legalPhone:'', - merAddrText:'', - contactPhone:'', - contactName:'', - acctBankname:'', - orgName:'', - legalIdCardAddress:'', - issueDate:'', - regDetailAddr:'', - addr:{}, - isShowArea:false, - regCityCode:'', - regCityName:'', - regDistrictCode:'', - regDistrictName:'', - regProvinceCode:'', - regProvinceName:'', - contactEmail:'', - addrText:'', - bizProvinceCode:'', - bizProvinceName:'', - bizCityCode:'', - bizCityName:'', - bizDistrictCode:'', - bizDistrictName:'', - acctOpenBankname:'', - provCode:'',//省code - cityCode:'',//市code - bankNo:'',//开户行行号 - legalIdCardNo:'', - bizDetailAddr:'', - licenseNo: '', - acctCnaps: '', - merAddr: '', - merDtlAddr: '', - merArea: '', - foundDate: '', - legalName: '', - legalIdNo: '', - legalMblNo: '', - legalHomeAddr: '', - outMerchantNo: '', - merchantName: '', - acctName: '', // 户名 - acctNo: '', // 银行卡号 - acctType: '', // 账号类型code - acctEnpRel:'',//账户企业关系 - acctEnpRelName:'',//账户企业关系 - acctTypeName: '', // 账号类型name - objContactReal: '',//联系人与企业关系 - licencePhotos: [], // 营业执照 - legalCardPhotos: [], // 法人身份证 - legalCardPhotosF: [], //法人身份证反面 - legalCardPhotosZ: [], //法人身份证正面 - }, - // 验证开户信息字段 - storeCheckInfo: [ - { - key: 'orgName', - tipType: 1, - message: '营业执照名称' - }, - { - key: 'legalPhone', - tipType: 1, - message: '法人手机号' - }, - { - key: 'acctBankname', - tipType: 2, - message: '银行名称' - }, - { - key: 'acctName', - tipType: 1, - message: '账户名称' - }, - { - key: 'acctType', - tipType: 2, - message: '账号类型' - }, - { - key: 'contactEmail', - tipType: 1, - type:"isEmail", - message: '联系人邮箱' - }, - { - key: 'contactName', - tipType: 1, - message: '联系人手机号' - }, - { - key: 'contactPhone', - tipType: 1, - message: '联系人姓名' - }, - { - key: 'addrText', - tipType: 2, - message: '省市区' - }, - { - key: 'legalIdCardAddress', - tipType: 1, - message: '法人身份证地址' - }, - { - key: 'regDetailAddr', - tipType: 1, - message: '注册详细地址' - }, - { - key: 'issueDate', - tipType: 2, - message: '注册日期' - }, - { - key: 'merchantName', - tipType: 1, - message: '渠道名称' - }, - { - key: 'outMerchantNo', - tipType: 1, - message: '渠道编码' - }, - ], - bankNo:'' - }; - }, - computed:{ - // 通过icon字段判断是智享云还是购机直降 - }, - created(){ - this.$api.getArea().then(res => { - this.addressList = res.body.provList; - }); - this.init(); - this.orgType = Number(this.$route.query.orgType); - }, - methods: { - // 获取地区列表 - getArea({commit}) { - Vue.prototype.$api.getArea().then((res) => { - let { provList } = res.body; - let obj = calcArea(provList) - commit(SET_AREA_LIST,{ - province_list:obj.province_list, - city_list:obj.city_list, - county_list:obj.county_list - }) - }).catch((err) => { - - }); - }, - // 设置地区code - setCitycode(val){ - this.storeInfo.provCode = val[0]; - this.storeInfo.cityCode = val[1]; - this.address = val; - }, - goBackPage() { - if (this.step === 2) { - this.step -= 1; - } else { - this.$router.push({ - path: '/main/productManagement' - }); - } - }, - // 初始化页面 - init() { - let fn = this.$api.xygInitOpen; - fn().then(res => { - let body = res.body; - this.bankList = body.bankList; - this.cardTypeList = body.acctTypeList; - this.merRefList = body.acctEnpRelList; - for (let i in this.storeInfo) { - if(Array.isArray(this.storeInfo[i])){ - this.storeInfo[i] = body[i] ? body[i] : []; - console.log(i+":"+this.storeInfo[i]); - }else{ - this.storeInfo[i] = body[i] ? body[i] : ''; - } - } - if(body.cityCode){ - this.address.push(body.provCode+'') - this.address.push(body.cityCode+'') - } - this.storeInfo.merAddrText = this.storeInfo.bizProvinceName +'-'+ this.storeInfo.bizCityName +'-'+ this.storeInfo.bizDistrictName; - if(this.storeInfo.regProvinceName) { - this.storeInfo.addrText = this.storeInfo.regProvinceName + '-' + this.storeInfo.regCityName + '-' + this.storeInfo.regDistrictName; - } - if (this.storeInfo.licencePhotos && this.storeInfo.licencePhotos.length) { - let fileId = this.storeInfo.licencePhotos[0]; - this.storeInfo.licencePhotos = []; - this.storeInfo.licencePhotos.push({ - fileId: fileId, - fileUrl: '/'+fileId - }); - } - if (this.storeInfo.legalCardPhotosZ && this.storeInfo.legalCardPhotosZ.length) { - let fileIdZ = this.storeInfo.legalCardPhotosZ[0]; - let fileIdF = this.storeInfo.legalCardPhotosF[0]; - this.storeInfo.legalCardPhotos = []; - this.storeInfo.legalCardPhotos.push({ - fileId: fileIdZ, - fileUrl: '/'+fileIdZ - }); - this.storeInfo.legalCardPhotos.push({ - fileId: fileIdF, - fileUrl: '/'+fileIdF - }); - } - }); - }, - // 处理点击下一步跳转处理 - handleNextStep() { - // 判断表单字段必填性 - if (this.step === 1) { - // 信用购增加这两个字段验证 - let rules = [ - ] - // 对公时验证开户行行号 - if(this.storeInfo.acctType ===1){ - rules.push({ - key: 'acctOpenBankname', - tipType: 1, - message: '开户支行名称' - }); - rules.push({ - key: 'acctCnaps', - tipType: 1, - message: '开户行行号' - }); - rules.push({ - key: 'acctNo', - tipType: 1, - message: '银行账号' - }); - } - // 对私时验证账户企业关系 - if(this.storeInfo.acctType ===2){ - rules.push({ - key: 'acctEnpRel', - tipType: 2, - message: '账户企业关系' - }); - rules.push({ - key: 'acctNo', - tipType: 1, - type:"bankCardNo", - message: '银行账号' - }); - } - this.storeCheckInfo.push(...rules) - // 判断表单是否必填 - if (!formCheckAndComt.checkRequiredField(this.storeCheckInfo,this.storeInfo,this)) { - return false; - } - this.step += 1; - } else { - this.handleSubmitOpen(); - } - }, - // 处理提交 - handleSubmitOpen() { - - // 需要判断图片的字段 - let checkPicList = [{ - checkField: 'licencePhotos', - msg: '营业执照照片' - }, - { - checkField: 'legalCardPhotos', - msg: '法人身份证正反面照片' - }, - ]; - // 判断图片是否上传 - for (let item of checkPicList) { - if (!(this.storeInfo[item.checkField] instanceof Array && - this.storeInfo[item.checkField].length)) { - this.$notify('请上传' + item.msg); - return false; - } - if (item.checkField == 'legalCardPhotos' && this.storeInfo[item.checkField].length < 2){ - this.$notify('请上传' + item.msg); - return false; - } - } - - // 由于后端初始化返回的图片字段{url: xx, id: 121}, 而此时在提交的时候,我们 - // 提交图片字段为[id1, id2], 为id的列表 - this.storeInfo.legalCardPhotosF = []; - this.storeInfo.legalCardPhotosZ = []; - let picIdList = { - licencePhotos: [], - legalCardPhotosF: [], - legalCardPhotosZ: [], - }; - picIdList.legalCardPhotosF.push(this.storeInfo.legalCardPhotos[0].fileId); - picIdList.legalCardPhotosZ.push(this.storeInfo.legalCardPhotos[1].fileId); - for (let i in picIdList) { - if (this.storeInfo[i] instanceof Array && - this.storeInfo[i].length) { - // 后端图片初始文件id为id.而控件上传id为fieldId,这里需要兼容处理一下 - this.storeInfo[i].forEach((item) => { - item.fileId ? picIdList[i].push(item.fileId) : - picIdList[i].push(item.id) - }); - } - } - - let submitInfo = { - ...this.storeInfo, - ...picIdList - }; - - let fn; - // 对私时开户行行号不传值 - if(this.storeInfo.acctType === 2){ - submitInfo.acctOpenBankname = ''; - submitInfo.acctCnaps = ''; - } - if(this.storeInfo.acctType === 1){ - submitInfo.acctEnpRel = ''; - } - fn = this.$api.xygOpen; //信用购接口 - fn(submitInfo).then((res) => { - this.$router.push({ - path: '/xyg/open-result', - // 提交后,默认跳转审核结果页面,状态为开通中 - query: { - orgType: this.orgType, - openStatus: 1, - icon:this.$route.query.icon - } - }) - }); - } - } - }; - -</script> - -<style lang="less" scoped> -.open-xyg-index{ - padding-top: 54px; - height:100%; - background-color: #f1f1f1; -} -</style> - diff --git a/src/views/old/merchant/xyg/merPictures.vue b/src/views/old/merchant/xyg/merPictures.vue deleted file mode 100644 index 1181d5d..0000000 --- a/src/views/old/merchant/xyg/merPictures.vue +++ /dev/null @@ -1,55 +0,0 @@ -<!-- - * @Date: 2019-09-02 09:01:22 - * @LastEditors: 小明丶 - * @LastEditTime: 2019-09-02 09:14:44 - * @Description: - --> -<template> - <div class="xyg-picture-page"> - <div class="pic-content"> - <UploadFile - :fileType="1" - :bizLicenseType= "2" - :title="'上传营业执照'" - :picList="storeInfo.licencePhotos"></UploadFile> - <div> - <span style="font-size: 15px">上传法人身份证正反面照</span><span style="font-size: 13px;color: #FF6666">(第一张正面,第二张反面)</span> - </div> - <UploadFile - :fileType="2" - :bizLicenseType= "2" - :title="''" - :picList="storeInfo.legalCardPhotos"></UploadFile> - </div> - </div> -</template> - -<script> - import UploadFile from '@/components/old/upload/uploadImgStore.vue'; - - export default { - name: 'xygMerPicture', - components: { - UploadFile - }, - data() { - return { - }; - }, - props: { - storeInfo: { - type: Object, - required: true, - }, - } - }; -</script> - -<style lang="less" scoped> - .xyg-picture-page { - background: @color-white; - .pic-content { - padding: 0 15px; - } - } -</style> diff --git a/src/views/old/merchant/xyg/mgrBaseInfo.vue b/src/views/old/merchant/xyg/mgrBaseInfo.vue deleted file mode 100644 index 4c0d74f..0000000 --- a/src/views/old/merchant/xyg/mgrBaseInfo.vue +++ /dev/null @@ -1,80 +0,0 @@ -<!-- -* @Author: c.y - * @Date: 2019-09-02 09:01:22 - * @LastEditors : 小明丶 - * @LastEditTime : 2019-12-27 10:50:14 - * @Description: - --> -<template> - <div class="open-xyg-page"> - <group> - <x-input title='营业员姓名' v-model.trim="storeInfo.staffName" placeholder='请输入营业员姓名' text-align='right'></x-input> - <x-input title='营业员电话' v-model.trim="storeInfo.staffPhone" placeholder='请输入营业员电话' :max='11' text-align='right'></x-input> - <x-input title='营业员职务' v-model.trim="storeInfo.post" placeholder='请输入营业员职务' text-align='right'></x-input> - <x-input title='营业员编号' v-model.trim="storeInfo.oprId" placeholder='请输入营业员编号' text-align='right'></x-input> - </group> - </div> -</template> - -<script> - import { - Datetime, - XAddress - } from 'vux'; - export default { - name: 'xygMgrBase', - components: { - Datetime, - XAddress - }, - data() { - return { - - }; - }, - props: { - storeInfo: { - type: Object - }, - }, - computed:{ - - }, - methods: { - - } - }; - -</script> - -<style lang="less" scoped> - .open-xyg-page { - .title { - padding: 14px 12px; - font-size: 15px; - color: #333; - - .line { - display: inline-block; - width: 2px; - height: 16px; - margin-right: 8px; - background: @color-text-three; - vertical-align: middle; - margin-top: -1px; - } - } - - .vux-datetime { - font-size: 15Px; - } - - .vux-datetime-value { - span { - width: 100%; - text-align: right; - } - } - } - -</style> diff --git a/src/views/old/merchant/xyg/mgrOpen.vue b/src/views/old/merchant/xyg/mgrOpen.vue deleted file mode 100644 index 421660a..0000000 --- a/src/views/old/merchant/xyg/mgrOpen.vue +++ /dev/null @@ -1,155 +0,0 @@ -<!-- - * @Date: 2019-09-02 09:01:22 - * @LastEditors : 小明丶 - * @LastEditTime : 2019-12-27 10:50:39 - * @Description: - --> -<template> - <div class="open-xyg-index"> - <x-header :title="'开通信用购'" :left-options="{backText: '', preventGoBack: true}" @on-click-back="goBackPage"> - </x-header> - <!-- v-show="step === 1" --> - <base-info - v-show="step === 1" - :storeInfo="storeInfo" - > - </base-info> - <f-space type="large"></f-space> - <!-- <f-button @on-click="handleNextStep" fixed>{{'提交开通'}}</f-button> --> - <van-button class="btn" round @click="handleNextStep" >{{'提交开通'}}</van-button> - </div> -</template> - -<script> - import BaseInfo from './mgrBaseInfo.vue'; - import formCheckAndComt from '@/utils/formCheckAndComb'; - - import { - dateFormat - } from 'vux' - - export default { - name: 'xygMgrOpen', - components: { - BaseInfo, - }, - data() { - return { - orgType:0, - step: 1, - stepText: '下一步', - storeInfo: { - staffName: '', - staffPhone: '', - post:'', - oprId:''//营业员编号 - }, - // 验证开户信息字段 - storeCheckInfo: [ - { - key: 'staffName', - tipType: 1, - message: '营业员姓名' - }, - { - key: 'staffPhone', - tipType: 1, - message: '营业员电话' - }, - { - key: 'post', - tipType: 1, - message: '营业员岗位' - }, - ], - bankNo:'' - }; - }, - computed:{ - // 通过icon字段判断是智享云还是购机直降 - }, - created(){ - this.init(); - this.orgType = Number(this.$route.query.orgType); - }, - methods: { - // 设置地区code - - goBackPage() { - if (this.step === 2) { - this.step -= 1; - } else { - this.$router.push({ - path: '/store/productManage' - }); - } - }, - // 初始化页面 - init() { - let fn = this.$api.xygInitMgr; - fn().then(res => { - let body = res.body; - for (let i in this.storeInfo) { - this.storeInfo[i] = body[i] ? body[i] : ''; - } - }); - }, - // 处理点击下一步跳转处理 - handleNextStep() { - // 判断表单字段必填性 - if (this.step === 1) { - // 信用购增加这两个字段验证 - - // 判断表单是否必填 - if (!formCheckAndComt.checkRequiredField(this.storeCheckInfo,this.storeInfo,this)) { - return false; - } - } else { - this.handleSubmitOpen(); - } - this.handleSubmitOpen(); - }, - // 处理提交 - handleSubmitOpen() { - let submitInfo = { - ...this.storeInfo - }; - - - let fn; - fn = this.$api.xygOpenMgr; //营业员开通接口 - fn(submitInfo).then((res) => { - this.$router.push({ - path: '/xyg/open-result', - // 提交后,默认跳转审核结果页面,状态为开通中 - query: { - orgType: this.orgType, - openStatus: 1, - icon:this.$route.query.icon - } - }) - }); - } - } - }; - -</script> - -<style lang="less" scoped> - .open-xyg-index{ - padding-top: 54px; - height:100%; - background-color: #f1f1f1; - } - .btn { - position: fixed; - bottom: 15px; - width: 84%; - margin: 0 8%; - background: @c-default; - color: @c-text-fff; - display: block; - margin-top: 15px; - } -</style> - diff --git a/src/views/old/merchant/xyg/openResult.vue b/src/views/old/merchant/xyg/openResult.vue deleted file mode 100644 index b922485..0000000 --- a/src/views/old/merchant/xyg/openResult.vue +++ /dev/null @@ -1,168 +0,0 @@ -<!-- - * @Date: 2019-09-02 09:01:22 - * @LastEditors: 小明丶 - * @LastEditTime: 2019-09-04 10:50:04 - * @Description: - --> - -<template> - <div class="gjzj-result-page"> - <x-header :title="'开通信用购'" :left-options="{backText:'',preventGoBack:true}" - @on-click-back="pageGoBack"></x-header> - <div class="status-icon"> - <i v-if="openStatus === 1" - class="iconfont scene_Staging-shenhezhong1" - style="color: #896EDB;" - ></i> - <i v-if="openStatus === 2" - class="iconfont scene_Staging-tijiaochenggong" - style="color: #19BE6B;" - ></i> - <i v-if="openStatus === 3" - class="iconfont scene_Staging-tijiaoshibai" - style="color: #F76260;" - ></i> - <i v-if="openStatus === 4" - class="iconfont scene_Staging-tijiaoshibai" - style="color: #F76260;" - ></i> - </div> - <div class="tips"> - <p v-if="openStatus === 1">{{ statusType }}审批中</p> - <p v-if="openStatus === 2"> {{ statusType }}审批通过</p> - <p v-if="openStatus === 3"> {{ statusType}}审批失败</p> - <p v-if="openStatus === 4">冻结</p> - </div> - <van-button round @click="handleBack">{{ buttonText }}</van-button> - </div> -</template> - -<script> - export default { - name: 'add-account', - data() { - return { - // 0-待开通,1-审批中,2-审批通过,3-审批失败,4-冻结 - openStatus: 0, // 开通状态 - orgType:0, - buttonText: '返回', // 底部按钮文字 - statusType: this.$route.query.statusType, - }; - }, - computed:{ - }, - methods: { - pageGoBack(){ - if(this.orgType==3) { - this.$router.push({ - path: '/main/productManagement' - }); - }else if(this.orgType==4){ - this.$router.push({ - path: '/store/productManage' - }); - }else if(this.orgType==5){ - this.$router.push({ - path: '/store/productManage' - }); - } - }, - handleBack () { - // 如果是在开通中的话,那么底部有重新提交按钮 - // 点击重新提交,那么用户可以重新填写资料 - if(this.openStatus == 1 || this.openStatus == 2) { - if (this.orgType == 3) { - this.$router.replace({ - path: '/main/productManagement' - }); - this.$router.go(-1) - } else if (this.orgType == 4) { - this.$router.replace({ - path: '/store/productManage' - }); - this.$router.go(-1) - } else if (this.orgType == 5) { - this.$router.replace({ - path: '/store/productManage' - }); - this.$router.go(-1) - } - } else if(this.openStatus == 3 || this.openStatus == 4){ - if (this.orgType == 3) { - let query = { - typeId:'200005', - openStatus: this.openStatus, - orgType: this.orgType - } - this.$router.push({ - path:'/xyg/merOpen', - query - }); - } else if (this.orgType == 4) { - let query = { - typeId:'200005', - openStatus: this.openStatus, - orgType: this.orgType - } - this.$router.push({ - path:'/xyg/storeOpen', - query - }); - } else if (this.orgType == 5) { - let query = { - typeId:'200005', - openStatus: this.openStatus, - orgType: this.orgType - } - this.$router.push({ - path:'/xyg/mgrOpen', - query - }); - } - } - }, - }, - created() { - console.log(this.statusType) - this.openStatus = Number(this.$route.query.openStatus); - this.orgType = Number(this.$route.query.orgType); - if(this.openStatus == 1 || this.openStatus == 2) { - this.buttonText = '返回'; - }else if(this.openStatus == 3 || this.openStatus == 4){ - this.buttonText = '再次提交'; - } - } - }; -</script> - -<style lang="less" scoped> - .gjzj-result-page { - height: 100%; - padding-top: 54px; - background-color: #f1f1f1; - .status-icon { - padding-top: 20px; - text-align: center; - } - .iconfont { - font-size: 64px; - color: #BFA073; - } - .scene_Staging-shibai1 { - color: #F76260; - } - .tips { - color: #999; - font-size: 14px; - line-height: 1.6; - text-align: center; - } - } - .van-button { - width: 90%; - margin: 0 5%; - margin-top: 60px; - color: white !important; - background: #896edb; - } -</style> diff --git a/src/views/old/merchant/xyg/storeBaseInfo.vue b/src/views/old/merchant/xyg/storeBaseInfo.vue deleted file mode 100644 index 00ed64e..0000000 --- a/src/views/old/merchant/xyg/storeBaseInfo.vue +++ /dev/null @@ -1,179 +0,0 @@ -<!-- -* @Author: c.y - * @Date: 2019-09-02 09:01:22 - * @LastEditors: 小明丶 - * @LastEditTime: 2019-09-02 09:15:03 - * @Description: - --> -<template> - <div class="open-xyg-page"> - <group> - <x-input title='门店名称' v-model.trim="storeInfo.storeName" readonly text-align='right'></x-input> - <x-input title='经营地所在省' v-model.trim="storeInfo.storeProvinceName" readonly text-align='right'></x-input> - <x-input title='经营地所在市' v-model.trim="storeInfo.storeCityName" readonly text-align='right'></x-input> - <x-input title='经营地所在区' v-model.trim="storeInfo.storeDistrictName" readonly text-align='right'></x-input> - <x-input title='经营详细地址' v-model.trim="storeInfo.storeDetailAddr" readonly placeholder='请输入' text-align='right'></x-input> - </group> - <f-space></f-space> - <group> - <selector title='营业执照类型' placeholder='请选择' @on-change='handleLicenseTypeChange' v-model="storeInfo.bizLicenseType" - :options='bizLicenseTypeList' :value-map="['code','name']" direction='rtl'></selector> - <x-input title='营业执照号' v-if="storeInfo.bizLicenseType ===2" v-model.trim="storeInfo.licenseNo" placeholder='请输入' text-align='right'></x-input> - <x-input title='营业执照名称' v-if="storeInfo.bizLicenseType ===2" v-model.trim="storeInfo.orgName" placeholder='请输入' :max='50' text-align='right'></x-input> - <datetime v-if="storeInfo.bizLicenseType ===2" v-model="storeInfo.issueDate" format="YYYY-MM-DD" title="注册日期" placeholder="请选择"></datetime> - </group> - <group> - <van-field v-if="storeInfo.bizLicenseType ===2" v-model.trim="storeInfo.addrText" clearable :readonly="true" right-icon="arrow" label="注册省市区" - @click="isShowArea = !isShowArea" placeholder=" 请选择" text-align='right'/> - <x-input title='注册详细地址' v-if="storeInfo.bizLicenseType ===2" v-model.trim="storeInfo.regDetailAddr" placeholder='请输入' :max='100' text-align='right'></x-input> - <x-input title='营业厅编码' v-model.trim="storeInfo.outStoreNo" placeholder='请输入' :max='100' text-align='right'></x-input> - </group> - <f-space></f-space> - <group> - <x-input title='法人名称' v-if="storeInfo.bizLicenseType ===2" v-model.trim="storeInfo.legalName" placeholder='请输入' text-align='right'></x-input> - <x-input title='法人身份证号' v-if="storeInfo.bizLicenseType ===2" v-model.trim="storeInfo.legalIdCardNo" placeholder='请输入' text-align='right'></x-input> - <x-input title='法人身份证地址' v-if="storeInfo.bizLicenseType ===2" v-model.trim="storeInfo.legalIdCardAddress" placeholder='请输入' text-align='right'></x-input> - <x-input title='法人手机号' v-if="storeInfo.bizLicenseType ===2" v-model.trim="storeInfo.legalPhone" placeholder='请输入' :max='11' text-align='right'></x-input> - </group> - <van-popup v-model="isShowArea" position="bottom" :close-on-click-overlay="false"> - <van-area ref='Area' :area-list='areaList' @cancel="closeAreaModal" @confirm="setAreaValue"></van-area> - </van-popup> - </div> -</template> - -<script> - import {calcArea} from '@/utils/index'; - import { - mapState, - mapActions - } from 'vuex'; - import { - Datetime, - XAddress - } from 'vux'; - export default { - name: 'xygStoreBase', - components: { - Datetime, - XAddress, - ...mapState(['areaList']) - }, - data() { - return { - areaList:{//地区列表 - province_list:{}, //省 - city_list:{}, //市 - county_list:{}, //地区、县 - } - }; - }, - props: { - addressList: { - type: Array, - default: [] - }, - address: { - type: Array, - default: [] - }, - isShowArea: { - type: Boolean, - default: false - }, - storeInfo: { - type: Object - }, - bizLicenseTypeList: { - type: Array, - default: () => { - return []; - } - }, - }, - computed:{ - calcAddress:{ - get(){ - return this.address || []; - }, - set(newV){ - this.$emit('addr-change', newV); - } - } - - }, - created() { - this.getArea(); - }, - methods: { - ...mapActions(['getArea']), - // 获取地区列表 - getArea() { - Vue.prototype.$api.getArea().then((res) => { - let { provList } = res.body; - let obj = calcArea(provList); - this.areaList = { - province_list:obj.province_list, - city_list:obj.city_list, - county_list:obj.county_list - } - }).catch((err) => { - - }); - }, - //关闭地区弹窗 - closeAreaModal() { - console.log(this.areaList); - this.isShowArea = false; - this.$refs.Area.reset() - }, - //保存 地区选择 - setAreaValue(arr) { - this.storeInfo.addrText = arr[0].name + '-' + arr[1].name + '-' + arr[2].name; - this.storeInfo.regProvinceCode = arr[0].code; - this.storeInfo.regCityCode = arr[1].code; - this.storeInfo.regDistrictCode = arr[2].code; - this.isShowArea = false; - this.$refs.Area.reset() - }, - // 账号类型 - handleLicenseTypeChange(val) { - let currentEle = JSON.parse(JSON.stringify(this.bizLicenseTypeList)).find((item) => { - return item.code = val; - }); - } - } - }; - -</script> - -<style lang="less" scoped> - .open-xyg-page { - .title { - padding: 14px 12px; - font-size: 15px; - color: #333; - - .line { - display: inline-block; - width: 2px; - height: 16px; - margin-right: 8px; - background: @color-text-three; - vertical-align: middle; - margin-top: -1px; - } - } - - .vux-datetime { - font-size: 15Px; - } - - .vux-datetime-value { - span { - width: 100%; - text-align: right; - } - } - } - -</style> diff --git a/src/views/old/merchant/xyg/storeBaseMgrInfo.vue b/src/views/old/merchant/xyg/storeBaseMgrInfo.vue deleted file mode 100644 index 29987fe..0000000 --- a/src/views/old/merchant/xyg/storeBaseMgrInfo.vue +++ /dev/null @@ -1,88 +0,0 @@ -<!-- -* @Author: c.y - * @Date: 2019-09-02 09:01:22 - * @LastEditors : 小明丶 - * @LastEditTime : 2019-12-26 17:28:46 - * @Description: - --> -<template> - <div class="open-xyg-page"> - <group> - <x-input title='营业员姓名' v-model.trim="mgrReqVo.staffName" placeholder='请输入' text-align='right'></x-input> - <x-input title='营业员电话' v-model.trim="mgrReqVo.staffPhone" placeholder='请输入' :max='11' text-align='right'></x-input> - <x-input title='营业员职务' v-model.trim="mgrReqVo.post" placeholder='请输入' text-align='right'></x-input> - <x-input title='营业员编号' v-model.trim="mgrReqVo.oprId" placeholder='请输入' text-align='right'></x-input> - </group> - </div> -</template> - -<script> - import { - Datetime, - XAddress - } from 'vux'; - export default { - name: 'xygStoreMgrBase', - components: { - Datetime, - XAddress - }, - data() { - return { - - }; - }, - props: { - mgrReqVo: { - type: Object - }, - }, - computed:{ - calcAddress:{ - get(){ - return this.address || []; - }, - set(newV){ - this.$emit('addr-change', newV); - } - } - - }, - methods: { - - } - }; - -</script> - -<style lang="less" scoped> - .open-xyg-page { - .title { - padding: 14px 12px; - font-size: 15px; - color: #333; - - .line { - display: inline-block; - width: 2px; - height: 16px; - margin-right: 8px; - background: @color-text-three; - vertical-align: middle; - margin-top: -1px; - } - } - - .vux-datetime { - font-size: 15Px; - } - - .vux-datetime-value { - span { - width: 100%; - text-align: right; - } - } - } - -</style> diff --git a/src/views/old/merchant/xyg/storeOpen.vue b/src/views/old/merchant/xyg/storeOpen.vue deleted file mode 100644 index a161635..0000000 --- a/src/views/old/merchant/xyg/storeOpen.vue +++ /dev/null @@ -1,460 +0,0 @@ -<!-- - * @Date: 2019-09-02 09:01:22 - * @LastEditors : 小明丶 - * @LastEditTime : 2019-12-26 17:28:15 - * @Description:门店开通信用购 - --> -<template> - <div class="open-xyg-index"> - <x-header :title="'开通信用购'" :left-options="{backText: '', preventGoBack: true}" @on-click-back="goBackPage"> - </x-header> - <!-- v-show="step === 1" --> - <base-info - v-show="step === 1" - :bizLicenseTypeList="bizLicenseTypeList" - :storeInfo="storeInfo" - > - </base-info> - <mgr-info - v-show="step === 2" - :mgrReqVo="mgrReqVo" - > - </mgr-info> - <!-- 信用购的文件上传type + 6 --> - <store-pictures v-show="step === 3" :storeInfo="storeInfo" :filetype="9" ></store-pictures> - <!-- <store-pictures :storeInfo="storeInfo" :filetype="6" ></store-pictures> --> - <f-space type="large"></f-space> - <!-- <f-button @on-click="handleNextStep" fixed>{{ step !== 3 ? '下一步' : '提交开通' }}</f-button> --> - <van-button class="btn" round @click="handleNextStep" fixed>{{ step !== 3 ? '下一步' : '提交开通' }}</van-button> - </div> -</template> - -<script> - import BaseInfo from './storeBaseInfo.vue'; - import MgrInfo from './storeBaseMgrInfo.vue'; - import StorePictures from './storePictures.vue'; - import formCheckAndComt from '@/utils/formCheckAndComb'; - - import { - dateFormat - } from 'vux' - - export default { - name: 'xygStoreOpen', - components: { - BaseInfo, - StorePictures, - MgrInfo - }, - data() { - return { - orgType:0, - step: 1, - stepText: '下一步', - bizLicenseTypeList: [], - mgrReqVo: { - staffName:'', - staffPhone:'', - post:'', - oprId:''//营业员编号 - }, - storeInfo: { - legalIdCardAddress:'', - issueDate:'', - regDetailAddr:'', - addr:{}, - isShowArea:false, - regCityCode:'', - regDistrictCode:'', - regProvinceCode:'', - storeName: '', - outStoreNo:'', - storeProvinceCode:'', - storeProvinceName:'', - storeCityCode:'', - storeCityName:'', - storeDistrictCode:'', - storeDistrictName:'', - storeDetailAddr:'', - bizLicenseType:'', - licenseNo:'', - orgName:'', - addrText:'', - legalCardPhotosF: [], //法人身份证反面 - legalCardPhotosZ: [], //法人身份证正面 - legalIdCardNo:'',//省code - legalPhone:'',//市code - legalName:'', - licencePhotos:[], // 营业执照照片 - legalCardPhotos: [], // 法人身份证 - storeHeadPhotos: [], // 门店图片 - storeInPhotos: [], // 店内图片 - storeAroundPhotos: [], // 门店周边图片 - authorizedBrand: [], // 授权牌 - sysScreenShot: [], //联通系统截图 - }, - // 验证开户信息字段 - storeCheckInfo: [ - { - key: 'legalPhone', - tipType: 1, - message: '法人手机号' - }, - { - key: 'legalIdCardNo', - tipType: 1, - message: '法人身份证' - }, - { - key: 'legalName', - tipType: 2, - message: '法人名称' - }, - { - key: 'orgName', - tipType: 1, - message: '营业执照名称' - }, - { - key: 'bizLicenseType', - tipType: 2, - message: '营业执照类型' - }, - { - key: 'addrText', - tipType: 2, - message: '省市区' - }, - { - key: 'legalIdCardAddress', - tipType: 1, - message: '法人身份证地址' - }, - { - key: 'regDetailAddr', - tipType: 1, - message: '注册详细地址' - }, - { - key: 'issueDate', - tipType: 2, - message: '注册日期' - }, - { - key: 'outStoreNo', - tipType: 1, - message: '营业厅编码' - }, - ],// 验证开户信息字段 - storeCheckInfoForBizType: [ - { - key: 'bizLicenseType', - tipType: 2, - message: '营业执照类型' - }, - ], - storeCheckInfoForStaff: [ - { - key: 'staffName', - tipType: 1, - message: '营业员姓名' - }, - { - key: 'staffPhone', - tipType: 1, - message: '营业员电话' - }, - { - key: 'post', - tipType: 1, - message: '营业员职务' - }, - ], - bankNo:'' - }; - }, - computed:{ - // 通过icon字段判断是智享云还是购机直降 - }, - created(){ - this.init(); - this.orgType = Number(this.$route.query.orgType); - }, - methods: { - goBackPage() { - if (this.step === 3 || this.step === 2) { - this.step -= 1; - } else { - this.$router.replace({ - path: '/store/productManage' - }); - this.$router.go(-1) - } - }, - // 初始化页面 - init() { - let fn = this.$api.xygInitStore; - fn().then(res => { - let body = res.body; - this.bizLicenseTypeList = body.bizLicenseTypeList; - if(body.mgrReqVo && body.mgrReqVo.staffName){ - this.mgrReqVo = body.mgrReqVo; - } - for (let i in this.storeInfo) { - if(Array.isArray(this.storeInfo[i])){ - this.storeInfo[i] = body[i] ? body[i] : []; - }else{ - this.storeInfo[i] = body[i] ? body[i] : ''; - } - } - if(this.storeInfo.storeProvinceCode) { - if(this.storeInfo.regProvinceName && this.storeInfo.regCityName && this.storeInfo.regDistrictName){ - this.storeInfo.addrText = this.storeInfo.regProvinceName + '-' + this.storeInfo.regCityName + '-' + this.storeInfo.regDistrictName; - } - if (this.storeInfo.licencePhotos && this.storeInfo.licencePhotos !== []) { - this.storeInfo.bizLicenseType = 2; - } else { - this.storeInfo.bizLicenseType = 3; - } - } - if (this.storeInfo.licencePhotos && this.storeInfo.licencePhotos.length) { - let fileId = this.storeInfo.licencePhotos[0]; - this.storeInfo.licencePhotos = []; - this.storeInfo.licencePhotos.push({ - fileId: fileId, - fileUrl: '/'+fileId - }); - } - if (this.storeInfo.legalCardPhotosZ && this.storeInfo.legalCardPhotosZ.length) { - let fileIdZ = this.storeInfo.legalCardPhotosZ[0]; - let fileIdF = this.storeInfo.legalCardPhotosF[0]; - this.storeInfo.legalCardPhotos = []; - this.storeInfo.legalCardPhotos.push({ - fileId: fileIdZ, - fileUrl: '/'+fileIdZ - }); - this.storeInfo.legalCardPhotos.push({ - fileId: fileIdF, - fileUrl: '/'+fileIdF - }); - } - if (this.storeInfo.storeAroundPhotos && this.storeInfo.storeAroundPhotos.length) { - let storeAroundPhotosNew = []; - for (let i in this.storeInfo.storeAroundPhotos) { - let fileId = this.storeInfo.storeAroundPhotos[i]; - storeAroundPhotosNew.push({ - fileId: fileId, - fileUrl: '/'+fileId - }); - } - this.storeInfo.storeAroundPhotos = storeAroundPhotosNew; - } - if (this.storeInfo.storeHeadPhotos && this.storeInfo.storeHeadPhotos.length) { - let fileId = this.storeInfo.storeHeadPhotos[0]; - this.storeInfo.storeHeadPhotos = []; - this.storeInfo.storeHeadPhotos.push({ - fileId: fileId, - fileUrl: '/'+fileId - }); - } - if (this.storeInfo.storeInPhotos && this.storeInfo.storeInPhotos.length) { - let storeInPhotosNew = []; - for (let i in this.storeInfo.storeInPhotos) { - let fileId = this.storeInfo.storeInPhotos[i]; - storeInPhotosNew.push({ - fileId: fileId, - fileUrl: '/'+fileId - }); - } - this.storeInfo.storeInPhotos = storeInPhotosNew; - } - if (this.storeInfo.authorizedBrand && this.storeInfo.authorizedBrand.length) { - let fileId = this.storeInfo.authorizedBrand[0]; - this.storeInfo.authorizedBrand = []; - this.storeInfo.authorizedBrand.push({ - fileId: fileId, - fileUrl: '/'+fileId - }); - } - if (this.storeInfo.sysScreenShot && this.storeInfo.sysScreenShot.length) { - let fileId = this.storeInfo.sysScreenShot[0]; - this.storeInfo.sysScreenShot = []; - this.storeInfo.sysScreenShot.push({ - fileId: fileId, - fileUrl: '/'+fileId - }); - } - }); - }, - // 处理点击下一步跳转处理 - handleNextStep() { - // 判断表单字段必填性 - if (this.step === 1) { - // 判断表单是否必填 - if(this.storeInfo.bizLicenseType === 2) { - if (!formCheckAndComt.checkRequiredField(this.storeCheckInfo, this.storeInfo, this)) { - return false; - } - }else{ - if (!formCheckAndComt.checkRequiredField(this.storeCheckInfoForBizType, this.storeInfo, this)) { - return false; - } - } - this.step += 1; - } else if(this.step === 2){ - if (!formCheckAndComt.checkRequiredField(this.storeCheckInfoForStaff, this.mgrReqVo, this)) { - return false; - } - this.step += 1; - } else { - this.handleSubmitOpen(); - } - }, - // 处理提交 - handleSubmitOpen() { - let checkPicList = []; - if(this.storeInfo.bizLicenseType === 2) { - // 需要判断图片的字段 - checkPicList = [{ - checkField: 'licencePhotos', - msg: '营业执照照片' - }, - { - checkField: 'legalCardPhotos', - msg: '法人身份证正反面照片' - }, - { - checkField: 'storeHeadPhotos', - msg: '门店店头照片' - }, - { - checkField: 'storeInPhotos', - msg: '门店店内照片' - }, - { - checkField: 'storeAroundPhotos', - msg: '门店周边照片' - }, - ]; - }else{ - checkPicList = [ - { - checkField: 'storeHeadPhotos', - msg: '门店店头照片' - }, - { - checkField: 'storeInPhotos', - msg: '门店店内照片' - }, - { - checkField: 'storeAroundPhotos', - msg: '门店周边照片' - }, - ]; - } - // 判断图片是否上传 - for (let item of checkPicList) { - if (!(this.storeInfo[item.checkField] instanceof Array && - this.storeInfo[item.checkField].length)) { - this.$notify('请上传' + item.msg); - return false; - } - if(this.storeInfo.bizLicenseType === 2) { - if (item.checkField == 'legalCardPhotos' && this.storeInfo[item.checkField].length < 2) { - this.$notify('请上传' + item.msg); - return false; - } - } - if (item.checkField == 'storeInPhotos' && this.storeInfo[item.checkField].length < 4) { - this.$notify('请上传' + item.msg); - return false; - } - if (item.checkField == 'storeAroundPhotos' && this.storeInfo[item.checkField].length < 3) { - this.$notify('请上传' + item.msg); - return false; - } - } - - // 由于后端初始化返回的图片字段{url: xx, id: 121}, 而此时在提交的时候,我们 - // 提交图片字段为[id1, id2], 为id的列表 - let picIdList = {}; - this.storeInfo.legalCardPhotosF = []; - this.storeInfo.legalCardPhotosZ = []; - if(this.storeInfo.bizLicenseType === 2) { - picIdList = { - licencePhotos: [], - legalCardPhotosF: [], - legalCardPhotosZ: [], - storeHeadPhotos: [], - storeInPhotos:[], - storeAroundPhotos:[], - authorizedBrand: [], - sysScreenShot: [], - }; - picIdList.legalCardPhotosF.push(this.storeInfo.legalCardPhotos[0].fileId); - picIdList.legalCardPhotosZ.push(this.storeInfo.legalCardPhotos[1].fileId); - }else{ - picIdList = { - storeHeadPhotos: [], - storeInPhotos:[], - storeAroundPhotos:[], - authorizedBrand: [], - sysScreenShot: [], - }; - } - for (let i in picIdList) { - if (this.storeInfo[i] instanceof Array && - this.storeInfo[i].length) { - // 后端图片初始文件id为id.而控件上传id为fieldId,这里需要兼容处理一下 - this.storeInfo[i].forEach((item) => { - item.fileId ? picIdList[i].push(item.fileId) : - picIdList[i].push(item.id) - }); - } - } - if(this.storeInfo.bizLicenseType !== 2) { - this.storeInfo.licencePhotos = []; - } - let submitInfo = { - ...this.storeInfo, - ...picIdList, - mgrReqVo:this.mgrReqVo - }; - - let fn; - fn = this.$api.xygOpenStore; //信用购接口 - fn(submitInfo).then((res) => { - this.$router.push({ - path: '/xyg/open-result', - // 提交后,默认跳转审核结果页面,状态为开通中 - query: { - orgType:this.orgType, - openStatus: 1, - icon:this.$route.query.icon - } - }) - }); - } - } - }; - -</script> - -<style lang="less" scoped> - .open-xyg-index{ - padding-top: 54px; - height:100%; - background-color: #f1f1f1; - } - .btn { - position: fixed; - bottom: 15px; - width: 84%; - margin: 0 8%; - background: @c-default; - color: @c-text-fff; - display: block; - margin-top: 15px; - } -</style> - diff --git a/src/views/old/merchant/xyg/storePictures.vue b/src/views/old/merchant/xyg/storePictures.vue deleted file mode 100644 index 129b8fc..0000000 --- a/src/views/old/merchant/xyg/storePictures.vue +++ /dev/null @@ -1,114 +0,0 @@ -<!-- - * @Date: 2019-09-02 09:01:22 - * @LastEditors: 小明丶 - * @LastEditTime: 2019-09-02 09:14:44 - * @Description: - --> -<template> - <div class="xyg-picture-page"> - <div class="pic-content"> - <UploadFile - :fileType="1" - :bizLicenseType="storeInfo.bizLicenseType" - :title="'上传营业执照'" - :picList="storeInfo.licencePhotos"></UploadFile> - <div v-if="storeInfo.bizLicenseType == 2"> - <span style="font-size: 15px">上传法人身份证正反面照</span><span style="font-size: 13px;color: #FF6666">(第一张正面,第二张反面)</span> - </div> - <UploadFile - :fileType="2" - :bizLicenseType="storeInfo.bizLicenseType" - :showNum="2" - :title="''" - :picList="storeInfo.legalCardPhotos"></UploadFile> - <div> - <p style="font-size: 15px">上传门头照片</p> - <p style="font-size: 13px;color: #999999;margin: 10px 0 0 0">(需要体现运营商logo、门店名称、门牌号)</p> - </div> - <UploadFile - :fileType="1" - :bizLicenseType= "2" - :showNum="1" - :title="''" - :picList="storeInfo.storeHeadPhotos"></UploadFile> - <div> - <p style="font-size: 15px">上传店内照片</p> - <p style="font-size: 13px;color: #999999;margin: 10px 0 0 0">(至少从4个角度拍摄全景体现店铺面积和主要业务区域,至少包括合约分期业务受理区(若有运营商logo背景,则包含在内)手机终端柜台))</p> - </div> - <UploadFile - :fileType="4" - :bizLicenseType= "2" - :title="''" - :showNum="4" - :picList="storeInfo.storeInPhotos"></UploadFile> - <div> - <p style="font-size: 15px">上传周边照片</p> - <p style="font-size: 13px;color: #999999;margin: 10px 0 0 0">(门店外部街景、左右各一张,展示左右至少各一间门店)</p> - </div> - <UploadFile - :fileType="3" - :bizLicenseType= "2" - :title="''" - :showNum="3" - :picList="storeInfo.storeAroundPhotos"></UploadFile> - <div> - <span style="font-size: 15px">授权牌</span><span style="font-size: 13px;color: #FF6666"></span> - </div> - <UploadFile - :fileType="1" - :bizLicenseType= "2" - :title="''" - :picList="storeInfo.authorizedBrand"></UploadFile> - <div> - <span style="font-size: 15px">联通系统截图</span> - </div> - <UploadFile - :fileType="1" - :bizLicenseType= "2" - :title="''" - :picList="storeInfo.sysScreenShot"></UploadFile> - </div> - </div> -</template> - -<script> - import UploadFile from '@/components/old/upload/uploadImgStore.vue'; - - export default { - name: 'xygStorePicture', - components: { - UploadFile - }, - data() { - return { - }; - }, - props: { - storeInfo: { - type: Object, - required: true, - }, - // + 6的是信用购的上传 - filetype:{ - type:Number, - default:0 - } - } - }; -</script> - -<style lang="less" scoped> - .legal-card-title { - padding: 10px 0; - font-size: 13px; - line-height: 1; - color: #333; - font-weight: normal; - } - .xyg-picture-page { - background: @color-white; - .pic-content { - padding: 10px 15px; - } - } -</style> diff --git a/src/views/old/store/business-center.vue b/src/views/old/store/business-center.vue index 27458fd..427e108 100644 --- a/src/views/old/store/business-center.vue +++ b/src/views/old/store/business-center.vue @@ -1,758 +1,210 @@ <!-- - * @Descripttion: - * @Author: WD丶 - * @Date: 2019-08-19 09:20:27 + * @Author: 小明丶 + * @Date: 2021-01-06 15:50:26 * @LastEditors: 小明丶 - * @LastEditTime: 2020-12-19 09:58:28 - --> + * @LastEditTime: 2021-01-06 15:50:27 + * @Description: +--> <template> - <div class="business-center"> - <div class="content" v-if="orgType == 4"> - <!-- <div class="content-title"> - 办理分期 - </div> --> - <div class="installment-box "> - - <div class="item " v-for="(i,index) in installmentList" :key="index" @click="go(i)"> - <img class="item-logo" :src="i.icon" :alt="i.typeName"> - <p v-text="i.typeName"></p> + <div class="hb-gmzf"> + <x-header :left-options="{backText: '', showBack: false}">和微分</x-header> + <div v-if="showHwfProd"> + <div class="tab"> + <div class="tab-index"> + <p class="tab-index-one">请选择手机号类型</p> </div> </div> - - </div> - <!-- 产品未开通弹窗 --> - <van-popup v-model="noOpenShow" class="no-open"> - <div class="no-open-img"> - <img src="../../../assets/imgs/openpic.png" alt=""> + <div class="order-xrw" v-if="showXrwType" @click="productPage(0)"> + <div class="order-xrw-create"> + <div class="order-xrw-create-icon"> + <img class="order-xrw-create-icon-image" src="../../../assets/imgs/product_xrw.png"></img> + </div> + <p class="order-xrw-create-text"> + 新入网号码 + </p> + <i class="iconfont iconyou tab-index-two" style="width:10%;height:30px;"></i> + </div> </div> - <p>{{ noOpenText }}</p> - <van-button type="default" class="no-open-btn" @click="noOpenShow = false" round>确定</van-button> - </van-popup> + <div class="order-xrw" style="margin-top: 30px" v-if="showXhzwType" @click="productPage(2)"> + <div class="order-xrw-create"> + <div class="order-xrw-create-icon"> + <img class="order-xrw-create-icon-image" src="../../../assets/imgs/product_xhzw.png"></img> + </div> + <p class="order-xrw-create-text"> + 携号转网号码 + </p> + <i class="iconfont iconyou tab-index-two" style="width:10%;height:30px;"></i> + </div> + </div> + <div class="order-xrw" style="margin-top: 30px" v-if="showClType" @click="productPage(1)"> + <div class="order-xrw-create"> + <div class="order-xrw-create-icon"> + <img class="order-xrw-create-icon-image" src="../../../assets/imgs/product_cl.png"></img> + </div> + <p class="order-xrw-create-text"> + 存量号码 + </p> + <i class="iconfont iconyou tab-index-two" style="width:10%;height:30px;"></i> + </div> + </div> + </div> </div> </template> <script> - import { - XHeader, - XDialog, - } from 'vux'; - import FBlock from '@/components/old/FBlock'; - import FConfirm from '@/components/old/FConfirm'; - import { - _copyToClipboard - } from '@/utils/index'; import { mapState, mapGetters } from 'vuex'; import { async } from 'q'; import Vue from 'vue'; import { Toast } from 'vant'; - import QRCode from "qrcode"; - - Vue.use(Toast); -// import { mapState } from 'vuex'; export default { - name: 'business-center', components: { - XHeader, - FBlock, - FConfirm, - XDialog }, data() { return { - qrCode:'', - errorMsg: '', - mblNo: '', - showDialogStyle: false, - showModal: false, - tipText: '敬请期待...', - installmentList: [], - dmfprod_list: [], - shsUrl:'', - // swiperList: [], - // messageList: [], - messageId: '', - riskNum: '', //风险订单数 - complaintNum: '', //投诉订单数 - noOpenShow: false, //产品未开通弹窗控制 - noOpenText: '', //产品未开通文本内容 - info: {}, - prodTypeRespVoList2: [] + mblNoTypeList:{}, + showHwfProd:false, + showXrwType:false, + showClType:false, + showXhzwType:false, }; }, computed:{ ...mapState(['userinfo', 'msgCount']), ...mapGetters(['orgType']), - hasDmf(){ - return this.dmfprod_list.length && this.dmfprod_list[0].openStatus!=0; - } }, - created() { - this.info = this.userinfo - this.getShsUrl(); - if(this.orgType == 4){ - this.$api.prodIndexTypeList().then(res => { - let list = res.body.prodTypeRespVoList3 || []; - this.prodTypeRespVoList2 = res.body.prodTypeRespVoList2 || []; - localStorage.hbcp = JSON.stringify(res.body.prodTypeRespVoList2) - this.dmfprod_list = res.body.prodTypeRespVoList1 || []; - list.forEach(item => { - item.active = item.openStatus === 2; - }); - - this.installmentList.push(...list,...res.body.prodTypeRespVoList1); - }); + created () { + if(this.orgType == 4) { + this.getProdcuctList(); + this.init(); } - // 获取风控订单数 - this.$api.riskNum().then(res => { - this.complaintNum = res.body.complaintNum; - this.riskNum = res.body.riskNum; - }) }, methods: { - hasHjToken(){ - if(localStorage.hjToken){ - return false - }else{ - return true - } - }, - // 前往选择花呗产品 - goHbCp(){ - this.$router.push('/hbcp') - }, - goLthyj() { - this.$router.push('/lthyj') - }, - toBdCourse(e, name) { - // if(name == '合约分期') { - // Toast('花呗分期教程功能暂未开通,敬请期待') - // } else { - let sum = ''; - let fileName = ''; - if(name == '花呗分期') { - sum = 7 - fileName = 'hbfq/' - } - if(name == '智享花' || name == '信用购') { - sum = 9; - fileName = 'zxh/' - } - if(name == '花呗合约机') { - sum = 3; - fileName = 'hyfq/' - } - this.$router.push(`/bdCourse?courseName=${name}&&sum=${sum}&&fileName=${fileName}`) - // } - }, - jump(id) { - this.$router.push(`/bannerContent?bannerId=${id}`) - }, - //跳转到逾期界面.. - toOverdue() { - this.$router.push('/overdue') - }, - shsClick(val){ - if(val == 'zfblx') { - this.$router.push("/product/zfblx"); - } - if(val != 'zfblx' && val != 'hbjl') { - location.href = this.shsUrl; - } - // if(val == 'hbjl'){ - // this.$router.push('/creat-hbjl') - // } - }, - toMessage(e,id) { - this.$router.push(`/message?messageId=${id}`) - }, - getShsUrl(){ - this.$api.getShsUrl().then((res) => { - this.shsUrl = res.body.url; - }).catch((err) => { - - }); - }, - goDmf(){ - let item = this.dmfprod_list[0]; - if(item.openStatus == 2){ - //this.$router.push(`/facepay/calcmoney?typeId=${item.typeId}&prodId=${item.prodId}`) - this.$router.push(`/channel-selection?typeId=${item.typeId}&prodId=${item.prodId}&text=商户收款通道`) - }else{ - this.noOpenShow = true - } - // this.$router.push(`/order/dmf?typeId=${item.typeId}&prodId=${item.prodId}`) - }, - changeBlur() { - let u = navigator.userAgent, - app = navigator.appVersion; - let isIOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/); - if (isIOS) { - setTimeout(() => { - const scrollHeight = document.documentElement.scrollTop || document.body.scrollTop || 0 - window.scrollTo(0, Math.max(scrollHeight - 1, 0)) - }, 200) - } - }, - clearTel() { - this.mblNo = ''; - this.errorMsg = ''; - }, - // 复制链接 - copyLink() { - - let isCopy = _copyToClipboard('http://t.cn/AiTDRMMO') - this.$tool.toast('链接已复制'); - }, - // 花呗提额功能 - hbLinesSMS() { - let v = this.$tool; - if (v.checkValEmpty(this.mblNo)) { - this.errorMsg = '*请输入手机号'; - return; - } - if (!v.checkPhone(this.mblNo)) { - this.errorMsg = '*请输入正确的手机号'; - return; - } - this.$api.hbLinesSMS({ - mblNo: this.mblNo, - content: 'http://t.cn/AiTDRMMO' - }).then((res) => { - this.showDialogStyle = false; - setTimeout(() => { - this.$tool.toast('短信发送成功'); - }, 500); - }).catch((err) => { - - }); - }, - // flag 代表是产品 还是收款的标志(flag为true代表收款) - go(item, flag = false) { - //alert('item.active:',item.active) - if (item.active) { - let path = ''; - let text = ''; - item.typeId = Number(item.typeId); - if(item.isHbProd == 1){ - path = "/channel-selection" - switch (item.typeId) { - case 200002: - text = '花呗通道'; - break; - case 200009: - text = '花呗合约机通道'; - break; - case 200010: - text = '商户贴息通道'; - break; - } - }else{ - if(item.typeId) { - path = '/wx-pay-score'; - } - } - this.$router.push({ - path, - query: { - typeId: item.typeId, - prodId: item.prodId, - text: text + init(){ + this.$api.wxScoreCreInit().then(res => { + this.mblNoTypeList = res.body.mblNoTypeList|| {}; + this.mblNoTypeList.forEach(item => { + if(item.code == '0'){ + this.showXrwType = true; + }else if(item.code == '1'){ + this.showClType = true; + }else if(item.code == '2'){ + this.showXhzwType = true; } }); - } else { - this.noOpenText = flag ? '敬请期待...' : '商户未开通该产品'; - this.noOpenShow = true; - } + }, err => err); }, - }, - + productPage(type){ + let queryObj = { + mblNoType:type, + } + this.$router.push({ + path: "/wx-pay-score", + query: queryObj + }) + }, + getProdcuctList(){ + this.$api.prodIndexTypeList().then(res => { + let list = res.body.prodTypeRespVoList3 || []; + list.forEach(item => { + if(item.prodId ==30000016 && item.openStatus == 2){ + this.showHwfProd = true; + } + }); + }); + }, + } }; </script> -<style lang='less' scoped> - // @import '../../style/mixin'; - @font-face { - font-family: 'iconfont'; /* project id 1351259 */ - src: url('//at.alicdn.com/t/font_1351259_bg2i5vlti7u.eot'); - src: url('//at.alicdn.com/t/font_1351259_bg2i5vlti7u.eot?#iefix') format('embedded-opentype'), - url('//at.alicdn.com/t/font_1351259_bg2i5vlti7u.woff2') format('woff2'), - url('//at.alicdn.com/t/font_1351259_bg2i5vlti7u.woff') format('woff'), - url('//at.alicdn.com/t/font_1351259_bg2i5vlti7u.ttf') format('truetype'), - url('//at.alicdn.com/t/font_1351259_bg2i5vlti7u.svg#iconfont') format('svg'); - } - .no-open{ - width: 280px; - height: 190px; - text-align: center; - border-radius: 6px; - &-img{ - width: 100%; - margin-top: 13px; - img{ - width: 75px; - height: 75px; - } - } - p{ - font-size: 14px; - color: #666666; - margin-top: 7px; - } - &-btn{ - height: 36px; - width: 60%; - margin: 0 20%; - background: #896EDB; - color: #fff; - margin-top: 28px; - line-height: 36px; - } - } - .cus-service{ - position: absolute; - top: 10px; - right: 10px; - z-index: 1; - width: 24px; - height: 24px; - background: rgba(0,0,0,1); - background:rgba(0,0,0,0.3); - border-radius: 50%; - text-align: center; - line-height: 24px; - i{ - color: #fff; - font-size: 16px; - // opacity: 1; - } - } - - .head-title{ - z-index: 10; - } - // 顶部轮播 - .swiper-banner { +<style lang="less" scoped> + .hb-gmzf { width: 100%; - height: 150px; - margin: 0 auto; - overflow: hidden; - position: relative; - // margin-top:-10px; - padding: 0; - .vipBg { - width: 100%; - height: 150px; - background-size: 100% 100%; - background-repeat: no-repeat; - // background-image: url("../../../assets/img/bg-qr-code.png"); - } - - .my-swiper-banner { - height: 150px; - width: 100%; - } + height: 100%; + background: #FAFAFC; } - //播报 部分 - .category { - height: 30px; - position: relative; - width: 94%; - padding: 0 3%; - background: #fff; - .bobao { - background: rgba(255, 255, 255, 1); - border-radius: 6px; - width: 100%; - } - .notice-log{ - position: absolute; - top: 0; - left: 15px; - font-size: 20px; - line-height: 30px; - } - } - .my-swiper-notice{ + .tab { width: 100%; - margin: 0 auto; - overflow: hidden; - // .flexLayout(flex-start, center, row); - // flex-wrap: nowrap; - } - .swipe-item-box{ - display: flex; - flex-direction: column; - justify-content: flex-start; - align-items: center; - width: 100% !important; - } - .notice-item-title{ - height: 30px; - line-height: 30px; - font-size: 12px; - margin-left: 10px; - white-space: nowrap; - color: #333; - } - .notice-item { - line-height: 30px; - width: 230px; - word-wrap: normal; - white-space: nowrap; - overflow: hidden; - text-overflow: ellipsis; - font-size: 12px; - // padding-right: 20px; - color: #333; - } - .notice-item-f{ - color: @c-text-999; - } - .business-center { - padding-bottom: 50px; - // padding-top: 54px; - // padding-top: 9px; - .installment-box { - border-radius: 6px; - .flexLayout(flex-start, center, row); - flex-wrap: wrap; - background: #fff; - padding: 15px 0; - .item { - margin-bottom: 15px; - width: 33.33%; - //width: 25%; - text-align: center; - i { - font-size: 36px; - } - - p { - font-size: 12px; - color: #3a3a3a; - } - .item-logo{ - display: block-line; - vertical-align: middle; - width: 45px; - height: 45px; - margin-left: auto; - } - } - } - } - .nav-code { - // display: flex; - // flex-direction: column; - // justify-content: center; - // align-items: center; - // text-align: center; - // height: 120px; - // background-color: #fff; - // color: #bb8b52; - // margin-top: 15px; - .flexLayout(center, center, row); - width: 335px; - height: 50px; - margin: 12px; - margin-bottom: 0; - margin-top: 0; - border: 1px solid rgba(217,217,217,1); - border-radius: 6px; - &-logo{ - width: 36px; - height: 36px; - margin-right: 12px; - img{ - width: 100%; - height: 100%; - } - } - p{ - font-size: 16px; - } - } - .merCollection{ - width: 94%; - margin: 0 3%; - height: 50px; - border: 1px dashed #D9D9D9; - .flexLayout(center, center, row); - i{ - font-size: 36px; - margin-right: 10px; - } + height: 200px; + background: url('../../../assets/imgs/hwf_bg.png'); + background-size: 100% 100%; } - .dialog { - position: relative; - - .dialog-content { - background-color: #fff; - width: 280px; - height: 270px; - margin: 0 auto; - padding: 40px 15px 0; - box-sizing: border-box; - border-radius: 6px; - } - - .text { - width: 150px; - font-size: 14px; - margin: 0 auto; - color: #666666; - - .blue { - color: #4074F8; - text-decoration: underline; - } - } - - .input-box { - height: 44px; - .flexLayout(flex-start, center); - padding-left: 10px; - border: 1px solid rgba(230, 230, 230, 1); - width: 250px; - margin: 20px auto 0; - box-sizing: border-box; - - .icon { - position: relative; - padding-right: 10px; - - &::after { - content: ''; - display: block; - position: absolute; - right: 0; - top: 50%; - transform: translateY(-50%); - width: 1px; - height: 15px; - background-color: #3A3A3A; - - } - } - - .input { - margin-left: 10px; - padding: 10px 0; - flex: 1; - font-size: 12px; - border: none; - outline: none; - - &.error { - color: #FE2A2A; - } - } - } - - .errmsg { - text-align: left; - margin-left: 10px; - margin-bottom: 20px; - height: 15px; - color: #FE2A2A; - font-size: 10px; - } - - .btn { - - width: 250px; - height: 44px; - text-align: center; - outline: none; - border: none; - background-color: #3A3A3A; - color: #fff; - } - - .logo { - width: 64px; - height: 64px; - transform: translateY(32px); - } - - .close { - margin-top: 20px; - } - - } - //逾期 - .overdue-box{ - width: 96%; - margin: 12px 2%; - background: #fff; - border-radius:6px; - height: 92px; - display: flex; - padding: 10px; + .tab-index { + width: 100%; + height: 40px; + line-height: 40px; box-sizing: border-box; - font-family: PingFang SC; - color: #666666; - .overdue-box-left { - width: 74%; - display: flex; - flex-direction: column; - justify-content: space-around; - .title { - font-size: 12px; - font-weight: 500; - } - .title:before { - content: ""; - width: 3px; - height: 12px; - background: #9459EC; - border-radius: 2px; - display: inline-block; - margin-right: 6px; - } - .order { - margin-top: 5px; - font-size: 12px; - color: #666; - .orderItem { - margin-right: 10px; - } - .ordernum { - font-size: 18px; - font-weight: bold; - color: #333; - margin-right: 5px; - } - } - .tip { - height: 12px; - font-size: 12px; - font-weight: 500; - color: #999999; - margin-top: 5px; - } + padding: 100px 0px 0px 20px; + color: #ffffff; + i { + font-size: 36px; } - .overdue-box-right { - width: 26%; - display: flex; - flex-direction: column; - justify-items: center; - justify-content: center; - .view { - width: 80px; - height: 28px; - background: linear-gradient(90deg, #8F6AFF, #9459EC); - box-shadow: 0px 4px 7px 0px rgba(99, 19, 232, 0.25); - border-radius: 14px; - font-size: 12px; - font-weight: 500; - color: #FFFFFF; + &-one,&-two{ + width: 100%; + float: left; + box-sizing: border-box; + font-size: 20px; + } + } + + + + .order-xrw { + margin:-50px 10px 10px 10px; + padding: 0 10px 0 10px; + line-height: 100px; + background: #FFFFFF; + box-shadow: 0px 0px 26px 0px rgba(0, 0, 0, 0.04); + border-radius: 16px; + &-create { + width: 100%; + height: 100px; + margin:0px 10px 0px 10px; + &-icon { + width:20%; + height: 100%; + float: left; text-align: center; - line-height: 28px; + &-image { + width:43px; + height:43px; + margin-top:25px; + } + } + &-text { + width: 70%; + float: left; + heght:100%; + font-size: 18px; + font-family: PingFang SC; + color: #333333; + } + &-arrow { + margin-right:10px; + width: 10%; + background: url('../../../assets/imgs/product_xrw.png'); + float: right; } } } - .content{ - // width: 100%; - width: 96%; - margin: 12px 2%; - border-radius: 6px; - } -// .content-title{ -// width: 96%; -// height: 45px; -// background-color: #fff; -// line-height: 45px; -// margin-top: 20px; -// padding-left: 4%; -// margin-bottom: 5px; -// } -//办单教程 -.course{ - width: 96%; - height: 140px; - margin: 12px 2%; - margin-bottom: 20px; - padding-bottom: 27px; - background: #fff; - box-sizing: border-box; - border-radius: 6px; - &-title{ - // padding: 10px; - padding-top: 15px; - padding-left: 12px; - padding-bottom: 15px; - font-size: 16px; - font-weight:bold; - color:rgba(51,51,51,1) + + .button-maintain { + width:100%; + height:100%; + padding: 0 20px 0 20px; + box-sizing: inherit; + .button { + margin: 50px 0 0 0; + width:100%; + height:50px; + text-align: center; + line-height: 50px; + background: linear-gradient(90deg, #1C87FD, #219FFD); + border-radius: 44px; + .button-txt { + margin: 8px 0 0 0; + font-size: 22px; + color: #FFFFFF; + } + } } - &-content{ - margin-top: 10px; - .flexLayout(space-between, center); - &-item{ - width: 33.33%; - text-align: center; - i{ - font-size: 36px; - } - p{ - color: #666666; - margin-top: 5px; - font-size: 14px; - } - } - } -} -.courseDl{ - width: 96%; - height: 165px; - margin: 12px 2% 0 2%; - // margin-bottom: 20px; - // padding-bottom: 27px; - background: #fff; - box-sizing: border-box; - border-radius: 6px; - &-title{ - // padding: 10px; - padding-top: 15px; - padding-left: 12px; - padding-bottom: 15px; - font-size: 16px; - font-weight:bold; - color:rgba(51,51,51,1) - } - &-content{ - // margin-top: 10px; - border-radius: 6px; - width: 100%; - .flexLayout(space-between, center); - flex-wrap: wrap; - &-item{ - width: 50%; - height: 50px; - text-align: center; - .flexLayout(flex-start, center); - i{ - margin-left: 40px; - font-size: 30px; - margin-right: 13px; - } - p{ - width: 60px; - color: #666666; - text-align: left; - // margin-top: 5px; - font-size: 14px; - line-height: 50px; - } - } - } -} -.notice-continer{ - width: 95%; - display: flex; - justify-content: flex-start; - align-items: center; - padding-left: 5%; -} </style> diff --git a/src/views/old/store/channel-selection.vue b/src/views/old/store/channel-selection.vue deleted file mode 100644 index 0481cea..0000000 --- a/src/views/old/store/channel-selection.vue +++ /dev/null @@ -1,206 +0,0 @@ -<!-- - * @Author: 小明丶 - * @Date: 2020-04-03 14:58:33 - * @LastEditors: 小明丶 - * @LastEditTime: 2020-12-04 16:56:16 - * @Description: 选择通道 - --> -<template> - <div class="tdxz-div"> - <van-nav-bar - title="选择通道" - left-text="返回" - left-arrow - @click-left="onClickLeft" - fixed - style="line-height: 43px" - > - <i - class="iconfont iconzuojiantou" - slot="left" - style="font-size: 25px" - ></i> - </van-nav-bar> - <div class="proudct-box"> - <div v-for="(e, i) in list" :key="i" @click="goNext(e)"> - <img :src="e.icon" alt="" /> - <p>{{ e.typeName }}</p> - <p v-if="e.openStatus == 2" style="color: #19be6b; margin-top: 4px"> - 已开通 - </p> - <p v-if="e.openStatus == 1" style="color: #ed4014; margin-top: 4px"> - 开通中 - </p> - <p v-if="e.openStatus == 3" style="color: #ed4014; margin-top: 4px"> - 未通过 - </p> - <p v-if="e.openStatus == 0" style="color: #b3b3b3; margin-top: 4px"> - 未开通 - </p> - </div> - </div> - <van-popup v-model="noOpenShow" class="no-open"> - <div class="no-open-img"> - <img src="../../../assets/imgs/openpic.png" alt="" /> - </div> - <p>{{ noOpenText }}</p> - <van-button - :color="$store.state.backColor" - type="default" - class="no-open-btn" - @click="noOpenShow = false" - round - >确定</van-button - > - </van-popup> - </div> -</template> -<script> -import Vue from "vue"; -import { NavBar } from "vant"; - -Vue.use(NavBar); -export default { - data() { - return { - noOpenText: "门店暂未开通此通道", //产品未开通文本内容 - noOpenShow: false, //产品未开通弹窗控制 - list: [], //通道列表 - showId: "", - }; - }, - computed: { - isddxt() { - if (sessionStorage.isddxt == 1) { - return true; - } else { - return false; - } - }, - }, - created() { - let typeId = this.$route.query.typeId; - this.$api - .prodZfbVersion({ - prodId: this.$route.query.prodId * 1, - }) - .then((res) => { - this.list = res.body.filter((item, index) => { - if (sessionStorage.isddxt == 1) { - return item.zfbVersion == 6 || item.zfbVersion == 7; - } else { - return item.zfbVersion != 6 && item.zfbVersion != 7; - } - }); - }); - }, - methods: { - // 返回上一页 - onClickLeft() { - this.$router.go(-1); - }, - // 跳转 - goNext(item) { - console.log(item); - var id = this.$route.query.typeId, - path = "", - obj = {}; - if (item.openStatus == 2) { - switch (Number(id)) { - case 200008: - path = "/store-shsk"; - obj.payMethod = this.$route.query.payMethod; - break; - case 200002: - path = "/hb-credit-installment"; - break; - case 200009: - path = "/hbhy-installment"; - break; - case 200010: - path = "/shtx"; - break; - case 200011: - path = "/xyg/list"; - break; - } - } else { - this.noOpenShow = true; - return; - } - this.$router.push({ - path: path, - query: { - ...obj, - typeId: this.$route.query.typeId, - prodId: this.$route.query.prodId, - zfbVersion: item.zfbVersion, - }, - }); - }, - }, -}; -</script> -<style lang="less" scoped> -.tdxz-div { - min-height: 100vh; - background: #f5f5f7; - padding-top: 56px; - .proudct-box { - width: 359px; - margin: auto; - box-sizing: border-box; - padding: 16px 0; - // display: flex; - // justify-items: space-between; - background: #fff; - div { - display: inline-block; - width: 115px; - height: 90px; - box-shadow: 0px 0px 15px 0px rgba(66, 61, 93, 0.08); - border-radius: 8px; - margin: 16px 31px 16px 31px; - text-align: center; - box-sizing: border-box; - padding: 14px 0 18px 0; - img { - width: 42px; - height: 42px; - } - p { - font-size: 13px; - color: #333; - } - } - } - .no-open { - width: 280px; - height: 190px; - text-align: center; - border-radius: 6px; - &-img { - width: 100%; - margin-top: 13px; - img { - width: 75px; - height: 75px; - } - } - p { - font-size: 14px; - color: #666666; - margin-top: 7px; - } - &-btn { - height: 36px; - width: 60%; - margin: 0 20%; - background: #896edb; - color: #fff; - margin-top: 28px; - line-height: 36px; - } - } -} -</style> \ No newline at end of file diff --git a/src/views/old/store/channel-selection_sh.vue b/src/views/old/store/channel-selection_sh.vue deleted file mode 100644 index 4c3c66f..0000000 --- a/src/views/old/store/channel-selection_sh.vue +++ /dev/null @@ -1,250 +0,0 @@ -<!-- - * @Author: 小明丶 - * @Date: 2020-04-03 14:58:33 - * @LastEditors: 小明丶 - * @LastEditTime: 2020-12-29 13:54:19 - * @Description: 选择通道 - --> -<template> - <div class="tdxz-div"> - <van-nav-bar title="选择通道" left-text="返回" left-arrow @click-left="onClickLeft" fixed style="line-height: 43px;"> - <i class="iconfont iconzuojiantou" slot="left" style="font-size: 25px;"></i> - </van-nav-bar> - <div class="proudct-box"> - <div class="list-box" v-for="(e,i) in list" :key="i" @click="goNext(e)"> <!-- v-show="e.zfbVersion !== 1 && e.zfbVersion !== 4" --> - <img :src="e.icon" alt=""> - <p>{{e.typeName}}</p> - <div class="tip-box" :style="e.openStatus==0?{background:'#F2F2F2'}:e.openStatus==1?{background:'#FFF5D9'}:e.openStatus==2?{background:'#E3FAEF'}:e.openStatus==3?{background:'#FCF0F0'}:''"> - <p v-if="e.openStatus==2" style="color:#19BE6B;">已开通</p> - <p v-if="e.openStatus==1" style="color:#FFC421;">开通中</p> - <p v-if="e.openStatus==3" style="color:#FF6666;">未通过</p> - <p v-if="e.openStatus==0" style="color:#999999;">未开通</p> - </div> - - </div> - </div> - </div> -</template> -<script> -import Vue from 'vue'; -import { NavBar } from 'vant'; -import { mapState } from 'vuex'; -Vue.use(NavBar); -export default { - data() { - return { - noOpenText: '门店暂未开通此通道', //产品未开通文本内容 - noOpenShow: false, //产品未开通弹窗控制 - list:[],//通道列表 - showId: '', - path: '' - } - }, - created(){ - - let typeId = this.$route.query.typeId - this.$api.prodZfbVersion({ - prodId:this.$route.query.prodId*1 - }).then(res=>{ - console.log(sessionStorage.isddxt) - // this.list = res.body - this.list = res.body.filter((item, index) => { - if(sessionStorage.isddxt == 1){ - return item.zfbVersion == 6 || item.zfbVersion == 7 - } - else{ - return item.zfbVersion != 6 && item.zfbVersion != 7 - } - }) - }) - }, - computed:{ - ...mapState(['userinfo']), - isddxt(){ - if(sessionStorage.isddxt == 1){ - return true - }else{ - return false - } - } - }, - methods:{ - // 返回上一页 - onClickLeft() { - this.$router.push('/main/productManagement'); - }, - // 跳转 - goNext(item){ - var typeId, openStatus, zfbVersion, prodId, icon, title, query - typeId = this.$route.query.typeId - openStatus = item.openStatus - prodId = this.$route.query.prodId - icon = this.$route.query.icon - zfbVersion = item.zfbVersion - if(typeId =='200010'){ - title = '商户贴息' - if(item.zfbVersion==5){ - title = '开通通联通道' - switch(openStatus){ - case 0: - this.path = '/tonglian/startOpen' - break; - case 1: - case 3: - this.path = '/tonglian/open-result'; - break; - case 2: - this.path = '/tonglian/staging'; - break; - default: - this.path = '/tonglian/startOpen'; - break; - } - }else{ - switch(openStatus){ - case 0: - this.path = '/huabei/open'; - break; - case 1: - case 3: - this.path = '/huabei/open-result'; - break; - case 2: - this.path = '/shtx/staging'; - break; - default: - this.path = '/huabei/open'; - break; - } - } - } - if (typeId == '200002' || typeId == '200008' || typeId=='200009') { - if(item.zfbVersion==5){ - title = '开通通联通道' - switch (openStatus) { - case 0: - this.path = '/tonglian/startOpen'; - break; - case 1: - case 3: - this.path = '/tonglian/open-result'; - break; - case 2: - this.path = '/tonglian/staging'; - break; - default: - this.path = '/tonglian/startOpen'; - break; - } - }else{ - switch (openStatus) { - case 0: - this.path = '/huabei/open'; - break; - case 1: - case 3: - this.path = '/huabei/open-result'; - break; - case 2: - if(typeId=='200008'){ - this.path = '/huabei/staging_dmf'; - // this.path = '/huabei/staging'; - }else{ - this.path = '/huabei/staging'; - } - break; - default: - this.path = '/huabei/open'; - break; - } - } - - if(typeId=='200002'&&item.zfbVersion!=5){ - title = '用户付息'; - }else if(typeId=='200008'){ - title = '商户收款'; - }else { - title = '商品消费'; - } - } - if (typeId == '200011') { - switch (openStatus) { - case 0: - this.path = '/huabei/open'; - break; - case 1: - case 3: - this.path = '/huabei/open-result'; - break; - case 2: - this.path = '/huabei/staging'; - break; - default: - this.path = '/huabei/open'; - break; - } - title = '信用购-花呗分期'; - } - query = { - typeId, - openStatus, - zfbVersion, - prodId, - title, - } - this.$router.push({ - path: this.path, - query - }); - } - } -} -</script> -<style lang="less" scoped> - .tdxz-div{ - min-height: 100vh; - background: #F5F5F7; - padding-top: 56px; - .proudct-box{ - width: 359px; - margin: auto; - box-sizing: border-box; - padding:16px 0; - // display: flex; - // justify-items: space-between; - background: #fff; - .list-box{ - display: inline-block; - position: relative; - width: 115px; - height: 90px; - box-shadow:0px 0px 15px 0px rgba(66,61,93,0.08); - border-radius:8px; - margin: 16px 31px 16px 31px; - text-align: center; - box-sizing: border-box; - padding: 14px 0 18px 0; - img{ - width: 42px; - height: 42px; - } - p{ - font-size: 13px; - color: #333; - } - .tip-box{ - position: absolute; - width:45px; - height:16px; - line-height: 16px; - border-radius:8px 0px 0px 8px; - top: 7px; - right: 0; - p{ - font-size: 10px; - } - } - } - } - } -</style> diff --git a/src/views/old/store/choose-payment-method.vue b/src/views/old/store/choose-payment-method.vue deleted file mode 100644 index 88d741b..0000000 --- a/src/views/old/store/choose-payment-method.vue +++ /dev/null @@ -1,152 +0,0 @@ -<!-- - * @Author: 小明丶 - * @Date: 2020-11-23 16:35:48 - * @LastEditors: 小明丶 - * @LastEditTime: 2020-12-07 14:14:49 - * @Description: 支付方式选择页面 ---> -<template> - <div class="choose-payment-method-page"> - <van-nav-bar title="付款方式" left-text="返回" left-arrow @click-left="onClickLeft" style="line-height: 43px;"> - <i class="iconfont iconzuojiantou" slot="left" style="font-size: 25px;"></i> - </van-nav-bar> - <div class="content"> - <div class="cp-box" @click="goNext(item)" v-for="(item,index) in list" :key="index"> - <img :src="item.icon" alt=""> - <p>{{item.typeName}}</p> - <p v-if="item.openStatus == 2 && item.payMethod != 1" style="color: #19be6b; margin-top: 4px"> - 已开通 - </p> - <p v-if="item.openStatus == 1 && item.payMethod != 1" style="color: #ed4014; margin-top: 4px"> - 开通中 - </p> - <p v-if="item.openStatus == 3 && item.payMethod != 1" style="color: #ed4014; margin-top: 4px"> - 未通过 - </p> - <p v-if="item.openStatus == 0 && item.payMethod != 1" style="color: #b3b3b3; margin-top: 4px"> - 未开通 - </p> - </div> - </div> - <van-popup v-model="noOpenShow" class="no-open"> - <div class="no-open-img"> - <img src="../../../assets/imgs/openpic.png" alt=""> - </div> - <p>{{ noOpenText }}</p> - <van-button :color="$store.state.backColor" type="default" class="no-open-btn" @click="noOpenShow = false" round>确定</van-button> - </van-popup> - </div> -</template> -<script> -export default { - data() { - return { - noOpenText: '门店暂未开通此方式', //产品未开通文本内容 - noOpenShow: false, //产品未开通弹窗控制 - list:[] - } - }, - mounted(){ - this.init() - }, - methods:{ - init(){ - this.$api.shskTypeList().then(res=>{ - this.list = res.body - }) - }, - onClickLeft(){ - this.$router.go(-1) - }, - goNext(item){ - if(item.payMethod===1){ - this.$router.push({ - path:'/channel-selection', - query:{ - ...this.$route.query, - payMethod:item.payMethod, - zfbVersion:item.zfbVersion - } - }) - }else{ - if(item.openStatus !== 2){ - this.noOpenShow = true - }else{ - this.$router.push({ - path:'/store-shsk', - query:{ - ...this.$route.query, - payMethod:item.payMethod, - zfbVersion:item.zfbVersion - } - }) - } - - } - } - } -} -</script> -<style lang="less" scoped> -.choose-payment-method-page{ - &{ - background-color: #F5F5F7; - min-height: 100vh; - } - .content{ - width: 359px; - margin: auto; - box-sizing: border-box; - padding:32px; - background: #fff; - margin-top: 10px; - display: flex; - justify-content: space-between; - flex-wrap: wrap; - .cp-box{ - width: 115px; - height: 100px; - background: #FFFFFF; - box-shadow: 0px 0px 15px 0px rgba(66, 61, 93, 0.08); - border-radius: 8px; - text-align: center; - align-content: center; - margin-bottom: 28px; - padding: 14px; - box-sizing: border-box; - img{ - width: 42px; - height: 42px; - } - } - } - .no-open { - width: 280px; - height: 190px; - text-align: center; - border-radius: 6px; - &-img { - width: 100%; - margin-top: 13px; - img { - width: 75px; - height: 75px; - } - } - p { - font-size: 14px; - color: #666666; - margin-top: 7px; - } - &-btn { - height: 36px; - width: 60%; - margin: 0 20%; - background: #896edb; - color: #fff; - margin-top: 28px; - line-height: 36px; - } - } -} -</style> \ No newline at end of file diff --git a/src/views/old/store/contract/contractInstallment.vue b/src/views/old/store/contract/contractInstallment.vue deleted file mode 100644 index 2c69c26..0000000 --- a/src/views/old/store/contract/contractInstallment.vue +++ /dev/null @@ -1,178 +0,0 @@ -<!-- - * @Descripttion: - * @Author: CY - * @LastEditors: 小明丶 - * @Date: 2019-3-1 15:00:00 - * @LastEditTime: 2019-09-02 11:07:15 - --> -<template> - <div class="contract-installment h-100-g"> - <x-header title="购机直降" :left-options="{backText:''}"></x-header> - <group> - <div class="title"> - <span class="line"></span> - 合约信息 - </div> - <selector title='合约套餐' placeholder='请选择' v-model="selectContract" :options='contractList' - :value-map="['contId','contName']" @on-change='handleChangeContract' direction='rtl'></selector> - <x-input title='结算金额' v-model.trim="selectConInfo.capitalAmt" readonly text-align='right'><span slot="right" - style="font-size: 14px;">元</span></x-input> - <x-input title='月缴话费' v-model.trim="selectConInfo.monthlyFees" readonly text-align='right'><span - slot="right" style="font-size: 14px;">元</span></x-input> - <x-input title='月还款额' v-model.trim="selectConInfo.monthlyPayments" readonly text-align='right'><span - slot="right" style="font-size: 14px;">元</span></x-input> - <x-input title='期数' v-model.trim="selectConInfo.term" readonly text-align='right'><span slot="right" - style="font-size: 14px;">期</span></x-input> - </group> - <f-space></f-space> - <group> - <div class="title"> - <span class="line"></span> - 商品信息 - </div> - <x-input title='品牌' v-model.trim="goodsInfo.goodsBrand" placeholder='请输入' :max='10' text-align='right'> - </x-input> - <x-input title='名称' v-model.trim="goodsInfo.goodsName" placeholder='请输入' :max='10' text-align='right'> - </x-input> - <x-input title='型号' v-model.trim="goodsInfo.goodsModel" placeholder='请输入' :max='15' text-align='right'> - </x-input> - <x-input title='价格' v-model.trim="goodsInfo.goodsPrice" placeholder='请输入' :max='5' text-align='right'> - </x-input> - </group> - <f-button fixed @on-click='createdQRCode'>生成二维码</f-button> - </div> -</template> - -<script> - import QRCode from 'qrcode'; - - export default { - name: 'contract-installment', - data() { - return { - selectContract: '', // 选中的合约 - // 合约信息 - selectConInfo: { - capitalAmt: '', // 结算金额 - monthlyFees: '', // 月缴话费 - monthlyPayments: '', // 月还款额 - term: '', // 期数 - }, - // 商品信息 - goodsInfo: { - goodsBrand: '', //商品品牌 - goodsName: '', //商品名称 - goodsModel: '', // 商品型号 - goodsPrice: '', // 价格 - // goodsImei: '', // IMEI - }, - // 营业厅联系人信息 - contactInfo: { - hallName: "", //营业厅名称 - hallAddr: "", //营业厅地址 - sellName: "", //联系人名称 - sellNum: "", //联系人手机 - sellCardNo: "", //联系人身份证 - }, - contractList: [], // 合约列表 - }; - }, - methods: { - // 处理合约的修改 - handleChangeContract(val) { - if (!val) { - return; - } - this.selectConInfo = this.contractList.find((item) => { - return item.contId === val; - }) - }, - // 生成二维码 - createdQRCode() { - let v = this.$tool; - if (v.checkValEmpty(this.selectContract)) { - v.toast('请选择合约套餐'); - return false; - } - if (v.checkValEmpty(this.goodsInfo.goodsBrand)) { - v.toast('请输入商品品牌'); - return false; - } - if (!/^[A-Za-z0-9\u4e00-\u9fa5]+$/.test(this.goodsInfo.goodsBrand)) { - v.toast('请输入文字/字母/数字且不包含特殊字符的商品品牌'); - return false; - } - if (v.checkValEmpty(this.goodsInfo.goodsName)) { - v.toast('请输入商品名称'); - return false; - } - if (!/^[A-Za-z0-9\u4e00-\u9fa5]+$/.test(this.goodsInfo.goodsName)) { - v.toast('请输入文字/字母/数字且不包含特殊字符的商品名称'); - return false; - } - if (v.checkValEmpty(this.goodsInfo.goodsModel)) { - v.toast('请输入商品型号'); - return false; - } - if (v.checkValEmpty(this.goodsInfo.goodsPrice)) { - v.toast('请输入商品价格'); - return false; - } - if (!/^[1-9]\d{0,4}/.test(this.goodsInfo.goodsPrice)) { - v.toast('请输入商品正确的价格'); - return false; - } - - let queryObj = { - ...this.selectConInfo, - ...this.goodsInfo, - mgrId: sessionStorage.sid, // 办单员id - contId: this.selectContract, // 合约id - typeId: this.$route.query.typeId - }; - - - this.$router.push({ - path: "/contract-qrcode", - query: queryObj - }) - }, - }, - created() { - // 初始化合约列表 - this.$api.contractList({ - typeId:+this.$route.query.typeId - }).then(res => { - this.contractList = res.body; - }, err => err); - }, - }; - -</script> - - -<style lang='less' scoped> - .contract-installment { - padding-top: 54px; - background-color: #f1f1f1; - padding-bottom: 80px; - overflow-y: scroll; - - .title { - padding: 14px 12px; - font-size: 15px; - color: #333; - - .line { - display: inline-block; - width: 2px; - height: 16px; - margin-right: 8px; - background: @color-text-three; - vertical-align: middle; - margin-top: -1px; - } - } - } - -</style> diff --git a/src/views/old/store/contract/contractQrcode.vue b/src/views/old/store/contract/contractQrcode.vue deleted file mode 100644 index 48d1f03..0000000 --- a/src/views/old/store/contract/contractQrcode.vue +++ /dev/null @@ -1,113 +0,0 @@ -<!-- - * @Date: 2019-08-30 14:37:51 - * @LastEditors: 小明丶 - * @LastEditTime: 2019-09-02 11:07:46 - * @Description: - --> -<template> - <div class="contract-qrcode-page h-100-g"> - <x-header title="扫码办理" :left-options="{backText:''}"></x-header> - <div class="order-info"> - <div v-if="qrCodeBase64Url" class='canvasImg'> - <img :src="qrCodeBase64Url" alt="qrcode"> - </div> - <div id="QRCode" v-else class='qr-code'> - <div class='qeimg'> - <img :src="dataUrl" alt=""> - </div> - </div> - <p class="notice">请向用户展示二维码,扫码后开始办理分期。</p> - </div> - </div> -</template> -<script> - import html2canvas from 'html2canvas'; - import QRCode from 'qrcode'; - - export default { - name: 'contract-qrcode', - data() { - return { - dataUrl: '', - qrCodeBase64Url: '', - params: '' - } - }, - created(){ - this.params = { - ...this.$route.query - }; - QRCode.toDataURL( - JSON.stringify(this.params), { - margin: 0, - width: 400 - }, - (err, url) => { - if (err) console.error(err); - this.dataUrl = url; - setTimeout(() => { - html2canvas(document.getElementById('QRCode')).then( - canvas => { - this.qrCodeBase64Url = canvas.toDataURL( - 'image/jpeg' - ); - } - ); - }, 100); - } - ); - } - } - -</script> -<style lang="less" scoped> - .contract-qrcode-page { - background-color: #f1f1f1; - padding-top: 54px; - .order-info { - padding-top: 46px; - - .canvasImg { - margin: 0 auto; - width: 220px; - height: 220px; - - img { - width: 100%; - } - } - - .notice { - padding-top: 40px; - text-align: center; - color: #666; - } - - .qr-code { - background: #fff; - width: 220px; - height: 220px; - margin: 0 auto; - display: flex; - justify-content: center; - align-items: center; - flex-direction: column; - border: 4px solid @color-text-three; - color: @color-text-three; - - .qeimg { - width: 200px; - height: 200px; - padding: 5px; - - img { - width: 100%; - height: 100%; - } - } - } - - } - } - -</style> diff --git a/src/views/old/store/contract/upload.vue b/src/views/old/store/contract/upload.vue deleted file mode 100644 index 59f5c0d..0000000 --- a/src/views/old/store/contract/upload.vue +++ /dev/null @@ -1,218 +0,0 @@ -<!-- - * @Descripttion: 上传合约凭证 - * @Author: TM丶 - * @LastEditors: 小明丶 - * @Date: 2019-04-08 09:16:44 - * @LastEditTime: 2019-09-05 17:41:40 - --> -<template> - <div class="box h-100-g"> - <x-header :left-options="{'backText': ''}" title="上传合约凭证" class="gradient-color"></x-header> - <div class="content"> - <h4 class="title"> - <span>合约凭证</span> - <div @click="showSelect = true;"> - <i class="iconfont scene_Staging-xiangji"></i> - <input ref="photo" type="file" accept="image/*" @change="getFile($event.currentTarget)"> - <input ref="picture" type="file" accept="image/*" capture="camera" @change="getFile($event.currentTarget)"> - </div> - </h4> - <ul class="upload"> - <li class="upload-item" v-for="(item, index) in form.fileIds" :key="index" :style="{'background-image':`url(${item.fileUrl})`}"> - <i class="iconfont scene_Staging-shibai1" @click="deleteImgItem(index)"></i> - </li> - </ul> - </div> - <group> - <x-input title="手机号" v-model="form.contMblNo" placeholder="请输入" text-align="right" :max="11"></x-input> - </group> - <f-button @on-click="submit()" >提交</f-button> - - <van-action-sheet v-model="showSelect" :close-on-click-overlay="false" cancel-text="取消" :actions="nav" @select="handleSelect"> - </van-action-sheet> - </div> -</template> - -<script> -import {compress} from "@/utils/index"; - -export default { - name:"order_upload", - data() { - return { - showSelect:false, - nav:[ - {name:'拍照'}, - {name:'从手机相册选择'}, - ], - form:{ - orderId:'', - contMblNo:'', - fileIds:[] - } - } - }, - props:["orderId"], - created(){ - this.form.orderId = this.orderId; - }, - methods:{ - imgCompress(path, options={}) { - return new Promise((resolve,reject)=>{ - let img = new Image(); - img.src = path; - img.onload = function () { - let that = this, - w = that.width, - h = that.height, - scale = w / h,// 默认按比例压缩 - quality = options.quality || 0.92, - canvas = document.createElement('canvas'), - ctx = canvas.getContext('2d'); - - w = options.width || w; - h = options.height || (w / scale); - canvas.width = w; - canvas.height = h; - ctx.drawImage(that, 0, 0, w, h); - if (options.quality && options.quality <= 1 && options.quality > 0) { - quality = options.quality; - } - let base64 = canvas.toDataURL('image/jpeg', quality); - resolve(base64); - } - }) - }, - handleSelect(item, index) { - if(index===0){ - this.$refs['picture'].click(); - }else{ - this.$refs['photo'].click(); - } - this.showSelect = false; - }, - // 删除图片 - deleteImgItem(index){ - this.form.fileIds.splice(index,1); - }, - // 获取base64 - getFile(el){ - let file = el.files[0]; - if(typeof file === 'undefined') return; - let reader = new FileReader(), - that = this; - reader.readAsDataURL(file); - reader.onload = function(){ - that.imgCompress(this.result).then(base64=>{ - that.upload(base64.split(',')[1],file.type.split('/')[1]); - }) - } - }, - //上传文件 - upload(base64,suffix){ - let params ={ - fileType:1, - suffix, - base64Data:base64 - } - this.$api.uploadFile(params).then(res=>{ - this.form.fileIds.push(res.body); - }) - }, - // 提交保存 - submit(){ - let form = this.form, - tel = form.contMblNo; - - if(form.fileIds.length===0){ - this.$tool.toast("请上传合约凭证") - return; - } - - if(tel.length===0){ - this.$tool.toast("请输入电话号码") - return; - } - - if(!this.$tool.checkPhone(tel)){ - this.$tool.toast("请输入正确的电话号码") - return - } - let params = { - orderId:form.orderId, - contMblNo:tel, - fileIds:[] - }; - let fileIds = form.fileIds.map(item=>{ - return item.id; - }) - params.fileIds = fileIds; - this.$api.saveProtocol(params).then(res=>{ - this.$tool.toast("提交成功") - this.$router.go(-1) - }) - } - } -} -</script> - -<style lang="less" scoped> -.box{ - background-color: #f1f1f1; - padding-top: 54px; -} -.content{ - margin-bottom: 10px; - padding-bottom: 12px; - background-color: @color-white; - .title{ - display: flex; - justify-content: space-between; - align-items: center; - padding: 0 12px; - height: 49px; - line-height: 49px; - font-size: @font-size-base; - font-weight: @font-weight-base; - input{ - display: none; - } - } -} - -.upload{ - margin: 5px 12px 0; - display: flex; - justify-content: flex-start; - align-items: center; - flex-wrap: wrap; - .upload-item{ - margin-right: 12px; - width: 109px; - height: 109px; - position: relative; - background-position: center; - background-size: contain; - background-repeat: no-repeat; - margin-bottom: 12px; - &:nth-child(3n){ - margin-right: 0; - } - .iconfont{ - position: absolute; - right: 3Px; - top: 0; - } - } -} - -#file{ - display: none; -} -.scene_Staging-xiangji{ - fill: @color-border-theme; - color: @color-border-theme; - font-size: 20px; -} -</style> - diff --git a/src/views/old/store/credit-installment.vue b/src/views/old/store/credit-installment.vue deleted file mode 100644 index acc645d..0000000 --- a/src/views/old/store/credit-installment.vue +++ /dev/null @@ -1,221 +0,0 @@ -<!-- - * @Date: 2019-08-30 11:07:43 - * @LastEditors: 小明丶 - * @LastEditTime: 2019-10-22 09:53:09 - * @Description: - --> -<template> - <div class="credit-installment h-100-g"> - <x-header title="办理分期" :left-options="{backText:''}"></x-header> - <group> - <x-input title='商品金额' v-model="settAmt" @on-change='changeSettAmt' @on-blur='blurToCalc' :show-clear='false' :max='5' :placeholder="settLock?'选择期数后系统自动计算':'请输入商品金额'" :disabled='settLock' text-align='right'></x-input> - <x-input title='还款总额' v-model="insAmt" @on-change='changeInsAmt' @on-blur='blurToCalc' :show-clear='false' :max='5' :placeholder="insLock?'选择期数后系统自动计算':'请输入还款总额'" :disabled='insLock' text-align='right'></x-input> - <selector title='分期期数' ref="insTerm" placeholder='请选择分期期数' v-model="insTerm" :options='termList' :value-map="['termCode','termName']" @on-change='selectTerms' direction='rtl'></selector> - <x-input title='商品名称' v-model="prodName" placeholder='请输入商品名称' :max='20' text-align='right'></x-input> - <!-- <selector title='银行名称' ref='bankName' placeholder='请选择银行名称' v-model="bankName" :options='bankList' :value-map="['bankCode','bankName']" direction='rtl'></selector> --> - <x-input title='费率' v-model="feeRate" @on-change='changeInsAmt' @on-blur='blurToCalc' :show-clear='false' :placeholder="insLock?'选择期数后系统自动计算':'请输入费率'" :disabled='insLock' text-align='right'></x-input> - </group> - - <div class="qrCode-box" v-if="dataURL"> - <div class="qrCode"> - <!-- <canvas id="canvas"></canvas> --> - - <img :src="dataURL" alt="qrcode"> - </div> - </div> - <f-button fixed @on-click='createdQRCode'>生成二维码</f-button> - </div> -</template> - -<script> -import QRCode from 'qrcode'; -import { mapState } from 'vuex'; -export default { - name: 'credit-installment', - data() { - return { - //分期期数opt - settAmt: '', - insAmt: '', - insLock: false, - settLock: false, - needCalcInputName: '', - feeRate: '', - insTerm: null, - termList: [], - bankList: [], - dataURL: '', - prodName: '', - bankName: '' - }; - }, - computed:{ - ...mapState(['userinfo']) - }, - created() { - this.$api.findTerms({ typeId: this.$route.query.typeId }).then(res => { - this.termList = res.body; - }, err => err); - }, - methods: { - //计算商品金额或者还款金额的方法,因为下拉框change和input的blur都是统一方法,所以抽出来 - calcFunc() { - if (!this.insTerm || !this.needCalcInputName) return; - let obj = { - term: this.insTerm - }; - //如果填入的是商品金额,则计算还款总额,反之计算商品金额 - let v = this.$tool; - if (this.needCalcInputName === 'insAmt') { - if (!Number(this.settAmt)) { - v.toast('请输入正确的商品金额'); - return false; - } - if ( - Number(this.settAmt) < 600 || - Number(this.settAmt) > 50000 - ) { - v.toast('商品金额必须在600-50000之间'); - return false; - } - obj.settAmt = this.settAmt; - } else if (this.needCalcInputName === 'settAmt') { - if (!Number(this.insAmt)) { - v.toast('请输入正确的还款总额'); - return false; - } - if (Number(this.insAmt) < 600 || Number(this.insAmt) > 50000) { - v.toast('还款总额必须在600-50000之间'); - return false; - } - obj.insAmt = this.insAmt; - } - obj.resultFiled = this.needCalcInputName; - this.$api.calAmt(obj).then(res => { - //赋值运算结果 - this[this.needCalcInputName] = res.body.terAmt; - this.feeRate = res.body.feeRate; - }, err => err); - }, - //选择期数后会自动计算商品金额和还款总额,并且渲染对应的银行列表 - selectTerms(val) { - this.calcFunc(); - }, - createdQRCode() { - let v = this.$tool; - if (v.checkValEmpty(this.settAmt)) { - v.toast('请输入商品金额'); - return false; - } - if (v.checkValEmpty(this.insAmt)) { - v.toast('请输入还款总额'); - return false; - } - if (v.checkValEmpty(this.feeRate)) { - v.toast('请输入费率'); - return false; - } - if (!Number(this.settAmt)) { - v.toast('请输入正确的商品金额'); - return false; - } - if (!Number(this.insAmt)) { - v.toast('请输入正确的还款总额'); - return false; - } - if (Number(this.settAmt) < 600 || Number(this.settAmt) > 50000) { - v.toast('商品金额必须在600-50000之间'); - return false; - } - if (Number(this.insAmt) < 600 || Number(this.insAmt) > 50000) { - v.toast('还款总额必须在600-50000之间'); - return false; - } - if (v.checkValEmpty(this.insTerm)) { - v.toast('请选择分期期数'); - return false; - } - if (v.checkValEmpty(this.prodName)) { - v.toast('请输入商品名称'); - return false; - } - - let itemObj = this.termList[0].bankList[0].prodId; - let url = `${sessionStorage.getItem('jumpUrl')}/#/?insTerm=${this.insTerm}&prodName=${this.prodName}&prodId=${itemObj}&settAmt=${this.settAmt}&insAmt=${this.insAmt}&mgrId=${this.userinfo.id}`; - this.$router.push({ - path: '/getQRCode', - query: { - insTerm: this.insTerm, - prodName: this.prodName, - prodId: itemObj, - settAmt: this.settAmt, - insAmt: this.insAmt, - mgrId: this.userinfo.id - } - }); - }, - //输入商品金额或者还款总额都会触发这个方法 - changeSettAmt(settAmt) { - //如果等于settAmt,则说明当前正在填写商品金额或者已经计算了还款总额,就要阻止change事件继续触发 - //当needCalcInputName为空的时候,说明两个输入框的值都应该清空,这时都变成可以填写的状态 - if (this.needCalcInputName === 'settAmt') return; - //代表正在输入商品金额,需要计算还款总额,还款总额将不可填写 - if (settAmt) { - this.needCalcInputName = 'insAmt'; - this.insLock = true; - } else { - //如果输入框为空,则还原最初的状态 - this.needCalcInputName = ''; - this.insAmt = ''; - this.insLock = false; - } - }, - changeInsAmt(insAmt) { - //如果等于settAmt,则说明当前正在填写商品金额或者已经计算了还款总额,就要阻止change事件继续触发 - //当needCalcInputName为空的时候,说明两个输入框的值都应该清空,这时都变成可以填写的状态 - if (this.needCalcInputName === 'insAmt') return; - //代表正在输入还款总额,需要计算商品金额,商品金额将不可填写 - if (insAmt) { - this.needCalcInputName = 'settAmt'; - this.settLock = true; - } else { - //如果输入框为空,则还原最初的状态 - this.needCalcInputName = ''; - this.settAmt = ''; - this.feeRate = ''; - this.settLock = false; - } - }, - //失去焦点时计算金额 - blurToCalc(val) { - if (val) { - this.calcFunc(); - } - } - } - -}; -</script> -<style lang='less' scoped> - .credit-installment { - padding-top: 54px; - background-color: #f1f1f1; - .qrCode-box { - padding-top: 60px; - .flexLayout(center, center, row); - .qrCode { - width: 200px; - height: 200px; - box-sizing: border-box; - background-color: #fff; - border: 5px solid @color-border-theme; - padding: 5px; - img { - width: 100%; - height: 100%; - vertical-align: middle; - } - } - } - } -</style> diff --git a/src/views/old/store/getHBQRCode.vue b/src/views/old/store/getHBQRCode.vue deleted file mode 100644 index b3e05c9..0000000 --- a/src/views/old/store/getHBQRCode.vue +++ /dev/null @@ -1,273 +0,0 @@ -<!-- - * @Date: 2019-08-30 14:08:02 - * @LastEditors: 小明丶 - * @LastEditTime: 2020-11-16 16:44:00 - * @Description: - --> -<template> - <div class="getQRCode"> - <!-- <x-header title="扫码办理" :left-options="{backText:''}" style="background-color:#3A3A3A;"></x-header> --> - <van-nav-bar title="扫码办理" left-text="返回" left-arrow @click-left="onClickLeft" style="line-height: 43px;"> - <i class="iconfont iconzuojiantou" slot="left" style="font-size: 25px;"></i> - </van-nav-bar> - <div class="black-block" :style="{background:$store.state.backColor}"></div> - <div class="order-info"> - <img class="qrcodeImg" :src="qrCode" alt="qrcode"> - <!-- <p class="notice">扫一扫,办理分期业务</p> --> - <div class="cell-item-style"> - <span class="title">分期金额</span> - <span class="value">{{params.capitalAmt}}元</span> - </div> - <div class="cell-item-style"> - <span class="title">花呗分期手续费率</span> - <span class="value">{{params.zfbRate}}%</span> - </div> - <div class="cell-item-style"> - <span class="title">智享服务费率</span> - <span class="value">{{params.platRate}}%</span> - </div> - <div class="cell-item-style"> - <span class="title">分期期数</span> - <span class="value">{{params.term}}期</span> - </div> - <div class="cell-item-style"> - <span class="title">客户还款总额</span> - <span class="value">{{params.totalAmount}}元</span> - </div> - <p style="width:94%;margin-left:3%;text-align:left;padding-top:14px"> - <span style="color:#999999;font-size:12px">请主动向用户展示</span> - <span style="color:#896EDB;font-size:12px" @click="ShowAgreen=true">《用户协议》</span> - <span style="color:#999999;font-size:12px">,扫描二维码则视为用户同意此协议。</span> - </p> - </div> - <f-confirm v-model="showModal" showIcon iconClass='scene_Staging-shenhezhong' iconColor='#fff' @on-confirm='onSubmit' :showCancelBtn='false'> - <div>支付完成</div> - </f-confirm> - <f-confirm v-model="Invalid" showIcon iconClass='scene_Staging-shenhezhong' iconColor='#fff' :showCancelBtn='false'> - <div>当前二维码已经失效,请点击重新生成二维码</div> - </f-confirm> - <div class="btn-box" v-if="$route.query.backUrl"> - <button @click="goHj">返回红茄</button> - </div> - <van-popup v-model="ShowAgreen"> - <div class="agreenBox"> - <div class="agreen-html" v-html="Agreend"></div> - <div class="close-agreen" @click="ShowAgreen = false"> - <van-icon name="close" /> - </div> - </div> - </van-popup> - </div> -</template> -<script> - import QRCode from 'qrcode'; - - export default { - name: 'getQRCode', - data() { - return { - ShowAgreen:false, - Agreend:'', - qrCode: '', - orderId:"", - timer: '', //轮询定时器 - showModal: false, //模态窗提示 - Invalid: false, //模态窗提示 - params: { - totalAmount: 0, - term: 0, - - } - } - }, - methods:{ - // 跳转红茄 - goHj(){ - console.log(this.$route.query.backUrl.split('https:')) - location.href=this.$route.query.backUrl - }, - onClickLeft() { - this.$router.go(-1); - }, - //轮询查询订单状态 - orderSts() { - this.timer = setInterval(() => { - this.$api.hbOrderFindOrderSts({ orderId: this.orderId }).then( - res => { - if (res.body.orderStatus == 1) { - clearInterval(this.timer); - this.showModal = true; - } else if (res.body.orderStatus == 2) { - clearInterval(this.timer); - this.Invalid = true; - } else if (res.body.orderStatus == 3) { - clearInterval(this.timer); - this.showModal = true; - } - }, - err => { - err, clearInterval(this.timer); - } - ); - }, 10000); - }, - // 支付成功确定 - onSubmit() { - let queryObj = { id: this.orderId,backUrl:this.$route.query.backUrl}; - if(this.$route.query.typeId){ - queryObj.typeId = this.$route.query.typeId; - } - this.$router.push({ - path: '/product/hb-detail', - query: queryObj - }); - } - }, - created() { - this.Agreend = agreement3 - console.log(this.$route.query) - this.params = { ...this.$route.query }; - this.orderId = this.$route.query.orderId; - if (this.timer) { - clearInterval(this.timer); - } - let url = window.sessionStorage.getItem('hbpayQrCodeUrl'); - QRCode.toDataURL( - url, - { - margin: 1, - width: 400 - }, - (err, url) => { - if (err) console.error(err); - this.qrCode = url; - this.orderSts(); - } - ); - }, - beforeRouteLeave (to, from, next) { - if (this.timer) { - clearInterval(this.timer); - } - next() - }, - } -</script> -<style lang="less" scoped> -@import '../../../style/mixin'; - -.getQRCode { - position: relative; - background: #F3F4F5; - min-height: 100%; - padding-bottom: 40px; - .vux-header { - &:after { - border-bottom: none !important; - } - } - .vux-header-title { - span { - color: #ffffff; - } - } - .left-arrow { - &:before { - border-color: #ffffff !important; - } - } - .black-block { - margin-top: -11px; - width: 100%; - height: 150px; - background:linear-gradient(-45deg,rgba(104,98,133,1),rgba(76,69,113,1)); - } - .order-info { - height:587px; - width: 351px; - text-align: center; - box-sizing: border-box; - border-radius: 6px; - background-color: #ffffff; - padding-top: 28px; - position: absolute; - - top: 85px; - left: 50%; - transform: translateX(-50%); - .cell-item-style { - width: 80%; - margin: 0 3%; - padding: 0 7%; - height: 50px; - line-height: 50px; - background: #FAFAFA; - font-size: 16px; - // box-sizing: border-box; - // padding-bottom: 10px; - // margin-bottom: 40px; - // border-bottom: 1px solid #dddddd; - .flexLayout(space-between, center, row); - .title { - color: #666666; - } - .value { - color: #333333; - // font-size: 14px; - } - } - .last-cell { - margin-bottom: 25px !important; - } - .qrcodeImg { - width: 190px; - height: 190px; - background:rgba(255,255,255,1); - border:6px solid rgba(223,212,255,1); - border-radius:8px; - margin-bottom: 37px; - } - .notice { - color: #3a3a3a; - font-size: 12px; - } - } - .agreenBox { - width: 80vw; - height: 70vh; - padding: 60px 20px 30px 20px; - position: relative; - } - .agreen-html { - width: 100%; - height: 100%; - overflow: scroll; - box-sizing: border-box; - } - .close-agreen { - .lh(30px); - .flex(center, center); - - .van-icon { - font-size: @font-16; - } - } - .btn-box{ - &{ - margin-top: 520px; - text-align: center; - } - button{ - width: 90vw; - height:44px; - background:rgba(137,110,219,1); - border-radius:22px; - color: #fff; - border: 0; - outline: none; - } - } -} -</style> - - diff --git a/src/views/old/store/getQRCode.vue b/src/views/old/store/getQRCode.vue deleted file mode 100644 index b6d3704..0000000 --- a/src/views/old/store/getQRCode.vue +++ /dev/null @@ -1,124 +0,0 @@ -<!-- - * @Date: 2019-08-30 11:29:46 - * @LastEditors: 小明丶 - * @LastEditTime: 2019-10-28 15:10:38 - * @Description: - --> -<template> - <div class="getQRCode"> - <x-header title="扫码办理" :left-options="{backText:''}" style="background-color:#3A3A3A;"></x-header> - <div class="black-block"></div> - <div class="order-info"> - <div class="cell-item-style"> - <span class="title">还款总额</span> - <span class="value">{{params.insAmt}}元</span> - </div> - <div class="cell-item-style"> - <span class="title">分期期数</span> - <span class="value">{{params.insTerm}}期</span> - </div> - <img class="qrcodeImg" :src="qrCode" alt="qrcode"> - <p class="notice">扫一扫,办理分期业务</p> - </div> - </div> -</template> -<script> - import QRCode from 'qrcode'; - import {mapGetters} from 'vuex'; - export default { - name: 'getQRCode', - data() { - return { - qrCode: '', - params: { - insAmt: 0, - insTerm: 0, - }, - } - }, - computed:{ - ...mapGetters(['orgType']) - }, - created() { - this.params = { ...this.$route.query }; - let url = `${sessionStorage.getItem('jumpUrl')}/#/?insTerm=${this.params.insTerm}&prodName=${this.params.prodName}&prodId=${this.params.prodId}&storeId=${this.orgType}&settAmt=${this.params.settAmt}&insAmt=${this.params.insAmt}&mgrId=${this.params.mgrId}`; - QRCode.toDataURL( - url, - { - margin: 1, - width: 400 - }, - (err, url) => { - if (err) console.error(err); - this.qrCode = url; - } - ); - } - } -</script> -<style lang="less" scoped> -.getQRCode { - padding-top: 44px; - position: relative; - .vux-header { - &:after { - border-bottom: none !important; - } - } - .vux-header-title { - span { - color: #ffffff; - } - } - .left-arrow { - &:before { - border-color: #ffffff !important; - } - } - .black-block { - margin-top: -11px; - width: 100%; - height: 116px; - background-color: #3a3a3a; - } - .order-info { - height: 480px; - width: 351px; - text-align: center; - box-sizing: border-box; - background-color: #ffffff; - padding-top: 50px; - position: absolute; - top: 85px; - left: 50%; - transform: translateX(-50%); - .cell-item-style { - box-sizing: border-box; - padding-bottom: 10px; - margin: 0 35px; - margin-bottom: 40px; - border-bottom: 1px solid #dddddd; - .flexLayout(space-between, center, row); - .title { - color: #a3a3a3; - font-size: 14px; - } - .value { - color: #3a3a3a; - font-size: 14px; - } - } - .last-cell { - margin-bottom: 25px !important; - } - .qrcodeImg { - width: 190px; - height: 190px; - } - .notice { - color: #3a3a3a; - font-size: 12px; - } - } -} -</style> diff --git a/src/views/old/store/getShskQRCode.vue b/src/views/old/store/getShskQRCode.vue deleted file mode 100644 index 9bbeadd..0000000 --- a/src/views/old/store/getShskQRCode.vue +++ /dev/null @@ -1,127 +0,0 @@ -<!-- - * @Author: 小明丶 - * @Date: 2020-11-26 16:45:20 - * @LastEditors: 小明丶 - * @LastEditTime: 2020-12-10 09:35:07 - * @Description: 商户收款二维码页面 ---> -<template> - <div class="getShskQRCode-page"> - <van-nav-bar - title="生成二维码" - left-text="返回" - left-arrow - @click-left="onClickLeft" - style="line-height: 43px" - > - <i - class="iconfont iconzuojiantou" - slot="left" - style="font-size: 25px" - ></i> - </van-nav-bar> - <div - class="bc-box" - :style="{ background: $store.state.defaultBgColor }" - ></div> - <div class="qr-box"> - <div class="border-box"> - <img :src="qrCodeBase64Url" alt="" /> - </div> - <p>二维码失效时间为半小时</p> - <p>请尽快提供给用户进行扫码</p> - </div> - </div> -</template> -<script> -import html2canvas from "html2canvas"; -import QRCode from "qrcode"; - -export default { - data() { - return { - qrCodeBase64Url: "", - timeId:'', - }; - }, - created() { - console.log(this.$route.query.orderId) - QRCode.toDataURL( - this.$route.query.url, - { - margin: 1, - width: 400 - }, - (err, url) => { - if (err) console.error(err); - this.qrCodeBase64Url = url; - // this.search_status(); - this.timeId = setInterval(() => { - this.search_status(); - }, 2000); - } - ); - }, - methods: { - onClickLeft() { - this.$router.go(-1); - }, - // 轮询 支付状态 - search_status() { - this.$api.facepay_getStatus( - this.$route.query.orderId - ).then((res) => { - let orderStatus = res.body.orderStatus; - if(orderStatus !== 0){ - clearInterval(this.timeId); - this.$router.push( - `/shsk-payResult?orderStatus=${orderStatus}` - ); - } - }); - }, - }, - beforeRouteLeave(to, from, next) { - clearInterval(this.timeId); - next(); - }, -}; -</script> -<style lang="less" scoped> -.getShskQRCode-page { - & { - background: #f5f5f5; - min-height: 100vh; - } - .bc-box { - width: 100%; - height: 150px; - } - .qr-box { - width: 335px; - height: 300px; - background: #fff; - position: absolute; - top: 86px; - left: 5.5%; - box-sizing: border-box; - padding: 29px 73px; - .border-box { - padding: 5px; - border: 3px solid #dfd4ff; - border-radius: 4px; - margin-bottom: 22px; - img { - width: 100%; - height: 100%; - } - } - p { - text-align: center; - font-weight: 500; - color: #999999; - line-height: 17px; - } - } -} -</style> \ No newline at end of file diff --git a/src/views/old/store/getShtxQRCode.vue b/src/views/old/store/getShtxQRCode.vue deleted file mode 100644 index 8565a5c..0000000 --- a/src/views/old/store/getShtxQRCode.vue +++ /dev/null @@ -1,293 +0,0 @@ -<!-- - * @Date: 2019-08-30 14:08:02 - * @LastEditors: 小明丶 - * @LastEditTime: 2020-10-27 10:15:57 - * @Description: - --> -<template> - <div class="getQRCode"> - <!-- <x-header title="扫码办理" :left-options="{backText:''}" style="background-color:#3A3A3A;"></x-header> --> - <van-nav-bar title="扫码办理" left-text="返回" left-arrow @click-left="onClickLeft" style="line-height: 43px;"> - <i class="iconfont iconzuojiantou" slot="left" style="font-size: 25px;"></i> - </van-nav-bar> - <div class="black-block"></div> - <div class="order-info"> - <img class="qrcodeImg" :src="qrCode" alt="qrcode"> - <!-- <p class="notice">扫一扫,办理分期业务</p> --> - <div v-if="hasHjToken()" class="cell-item-style"> - <span class="title">分期金额</span> - <!-- <span class="value">{{params.capitalAmt}}元</span> --> - <span class="value">{{params.totalAmount}}元</span> - </div> - <div class="cell-item-style"> - <span class="title">花呗分期手续费率</span> - <span class="value">{{params.zfbRate}}%</span> - </div> - <div class="cell-item-style"> - <span class="title">智享服务费率</span> - <span class="value">{{params.platRate}}%</span> - </div> - <div class="cell-item-style"> - <span class="title">分期期数</span> - <span class="value">{{params.term}}期</span> - </div> - <div class="cell-item-style"> - <span class="title">客户还款总额</span> - <span class="value">{{params.totalAmount}}元</span> - </div> - <p style="width:94%;margin-left:3%;text-align:left;padding-top:14px"> - <span style="color:#999999;font-size:12px">请主动向用户展示</span> - <span style="color:#896EDB;font-size:12px" @click="ShowAgreen=true">《用户协议》</span> - <span style="color:#999999;font-size:12px">,扫描二维码则视为用户同意此协议。</span> - </p> - </div> - <f-confirm v-model="showModal" showIcon iconClass='scene_Staging-shenhezhong' iconColor='#fff' @on-confirm='onSubmit' :showCancelBtn='false'> - <div>支付完成</div> - </f-confirm> - <f-confirm v-model="Invalid" showIcon iconClass='scene_Staging-shenhezhong' iconColor='#fff' :showCancelBtn='false'> - <div>当前二维码已经失效,请点击重新生成二维码</div> - </f-confirm> - <div class="btn-box" v-if="$route.query.backUrl"> - <button @click="goHj">返回红茄</button> - </div> - <van-popup v-model="ShowAgreen"> - <div class="agreenBox"> - <div class="agreen-html" v-html="Agreend"></div> - <div class="close-agreen" @click="ShowAgreen = false"> - <van-icon name="close" /> - </div> - </div> - </van-popup> - </div> -</template> -<script> -import QRCode from "qrcode"; -import {mapMutations} from 'vuex' - -export default { - name: "getQRCode", - data() { - return { - ShowAgreen:false, - Agreend:'', - qrCode: "", - orderId: "", - timer: "", //轮询定时器 - showModal: false, //模态窗提示 - Invalid: false, //模态窗提示 - params: { - totalAmount: 0, - term: 0 - } - }; - }, - - methods: { - ...mapMutations(['setShtxInfo']), - hasHjToken(){ - if(localStorage.hjToken){ - return false - }else{ - return true - } - }, - // 跳转红茄 - goHj(){ - console.log(this.$route.query.backUrl.split('https:')) - location.href=this.$route.query.backUrl - }, - onClickLeft() { - this.$router.go(-1); - }, - //轮询查询订单状态 - orderSts() { - this.timer = setInterval(() => { - this.$api.shtxOrderFindOrderSts({ orderId: this.orderId }).then( - res => { - if (res.body.orderStatus == 1) { - clearInterval(this.timer); - this.showModal = true; - } else if (res.body.orderStatus == 2) { - clearInterval(this.timer); - this.Invalid = true; - } else if (res.body.orderStatus == 3) { - clearInterval(this.timer); - this.showModal = true; - } - }, - err => { - err, clearInterval(this.timer); - } - ); - }, 10000); - }, - // 支付成功确定 - onSubmit() { - let queryObj = { - id: this.params.orderId, - // term: this.params.value, //分期期数 - // totalAmount: this.params.totalAmount, //商品总价 - // payQrCodeUrl: this.params.payQrCodeUrl, //二维码 - // userName: this.params.contractUserName, //用户名 - // userMblNo: this.params.contractUserMblNo, //用户电话号 - // totalAmount: this.params.totalAmount, //还款总额,本金 - // goodsBrand: this.params.contractGoodsBrand, //商品品牌 - // goodsName: this.params.contractGoodsName, //商品名称 - feeRate:this.params.feeRate //费率 - }; - // this.$store.commit('setShtxInfo',queryObj) - - if (this.$route.query.typeId) { - queryObj.typeId = this.$route.query.typeId; - } - this.$router.push({ - path: "/product/shtx-detail", - query:queryObj - }); - } - }, - created() { - this.Agreend = agreement3 - this.params = { ...this.$route.query }; - this.orderId = this.$route.query.orderId; - if (this.timer) { - clearInterval(this.timer); - } - let url = this.params.payQrCodeUrl; - QRCode.toDataURL( - url, - { - margin: 1, - width: 400 - }, - (err, url) => { - if (err) console.error(err); - this.qrCode = url; - this.orderSts(); - } - ); - }, - beforeRouteLeave(to, from, next) { - if (this.timer) { - clearInterval(this.timer); - } - next(); - } -}; -</script> -<style lang="less" scoped> -@import "../../../style/mixin"; - -.getQRCode { - position: relative; - background: #F3F4F5; - min-height: 100%; - .btn-box{ - &{ - margin-top: 520px; - text-align: center; - } - button{ - width: 90vw; - height:44px; - background:rgba(137,110,219,1); - border-radius:22px; - color: #fff; - border: 0; - outline: none; - } - } - .vux-header { - &:after { - border-bottom: none !important; - } - } - .vux-header-title { - span { - color: #ffffff; - } - } - .left-arrow { - &:before { - border-color: #ffffff !important; - } - } - .black-block { - margin-top: -11px; - width: 100%; - height: 150px; - background:linear-gradient(-45deg,rgba(104,98,133,1),rgba(76,69,113,1)); - } - .order-info { - height: 587px; - width: 351px; - text-align: center; - box-sizing: border-box; - border-radius: 6px; - background-color: #ffffff; - padding-top: 28px; - position: absolute; - top: 85px; - left: 50%; - transform: translateX(-50%); - .cell-item-style { - width: 80%; - margin: 0 3%; - padding: 0 7%; - height: 50px; - line-height: 50px; - background: #FAFAFA; - font-size: 16px; - // box-sizing: border-box; - // padding-bottom: 10px; - // margin-bottom: 40px; - // border-bottom: 1px solid #dddddd; - .flexLayout(space-between, center, row); - .title { - color: #666666; - } - .value { - color: #333333; - // font-size: 14px; - } - } - .last-cell { - margin-bottom: 25px !important; - } - .qrcodeImg { - width: 190px; - height: 190px; - background:rgba(255,255,255,1); - border:6px solid rgba(223,212,255,1); - border-radius:8px; - margin-bottom: 37px; - } - .notice { - color: #3a3a3a; - font-size: 12px; - } - } - .agreenBox { - width: 80vw; - height: 70vh; - padding: 60px 20px 30px 20px; - position: relative; - } - .agreen-html { - width: 100%; - height: 100%; - overflow: scroll; - box-sizing: border-box; - } - .close-agreen { - .lh(30px); - .flex(center, center); - - .van-icon { - font-size: @font-16; - } - } -} -</style> - - diff --git a/src/views/old/store/getXygHbQRCode.vue b/src/views/old/store/getXygHbQRCode.vue deleted file mode 100644 index 8cfbba0..0000000 --- a/src/views/old/store/getXygHbQRCode.vue +++ /dev/null @@ -1,248 +0,0 @@ -<!-- - * @Author: 小明丶 - * @Date: 2020-03-19 13:48:16 - * @LastEditors: 小明丶 - * @LastEditTime: 2020-03-23 10:15:36 - * @Description: 信用购花呗二维码页面 - --> -<template> - <div class="getQRCode"> - <van-nav-bar title="扫码办理" left-text="返回" left-arrow @click-left="onClickLeft" style="line-height: 43px;"> - <i class="iconfont iconzuojiantou" slot="left" style="font-size: 25px;"></i> - </van-nav-bar> - <div class="black-block"></div> - <div class="order-info"> - <img class="qrcodeImg" :src="qrCode" alt="qrcode"> - <!-- <p class="notice">扫一扫,办理分期业务</p> --> - <div class="cell-item-style"> - <span class="title">分期金额</span> - <span class="value">{{params.capitalAmt}}元</span> - </div> - <div class="cell-item-style"> - <span class="title">花呗分期手续费率</span> - <span class="value">{{params.zfbRate}}%</span> - </div> - <div class="cell-item-style"> - <span class="title">智享服务费率</span> - <span class="value">{{params.platRate}}%</span> - </div> - <div class="cell-item-style"> - <span class="title">分期期数</span> - <span class="value">{{params.term}}期</span> - </div> - <div class="cell-item-style"> - <span class="title">客户还款总额</span> - <span class="value">{{params.totalAmount}}元</span> - </div> - <p style="width:94%;margin-left:3%;text-align:left;padding-top:14px"> - <span style="color:#999999;font-size:12px">请主动向用户展示</span> - <span style="color:#896EDB;font-size:12px" @click="ShowAgreen=true">《用户协议》</span> - <span style="color:#999999;font-size:12px">,扫描二维码则视为用户同意此协议。</span> - </p> - </div> - <f-confirm v-model="showModal" showIcon iconClass='scene_Staging-shenhezhong' iconColor='#fff' @on-confirm='onSubmit' :showCancelBtn='false'> - <div>支付完成</div> - </f-confirm> - <f-confirm v-model="Invalid" showIcon iconClass='scene_Staging-shenhezhong' iconColor='#fff' :showCancelBtn='false'> - <div>当前二维码已经失效,请点击重新生成二维码</div> - </f-confirm> - <van-popup v-model="ShowAgreen"> - <div class="agreenBox"> - <div class="agreen-html" v-html="Agreend"></div> - <div class="close-agreen" @click="ShowAgreen = false"> - <van-icon name="close" /> - </div> - </div> - </van-popup> - </div> -</template> -<script> - import QRCode from 'qrcode'; - - export default { - name: 'getQRCode', - data() { - return { - ShowAgreen:false, - Agreend:'', - qrCode: '', - orderId:"", - timer: '', //轮询定时器 - showModal: false, //模态窗提示 - Invalid: false, //模态窗提示 - params: { - totalAmount: 0, - term: 0, - - } - } - }, - methods:{ - onClickLeft() { - this.$router.go(-1); - }, - //轮询查询订单状态 - orderSts() { - this.timer = setInterval(() => { - this.$api.hbOrderFindOrderSts({ orderId: this.orderId }).then( - res => { - if (res.body.orderStatus == 1) { - clearInterval(this.timer); - this.showModal = true; - } else if (res.body.orderStatus == 2) { - clearInterval(this.timer); - this.Invalid = true; - } else if (res.body.orderStatus == 3) { - clearInterval(this.timer); - this.showModal = true; - } - }, - err => { - err, clearInterval(this.timer); - } - ); - }, 10000); - }, - // 支付成功确定 - onSubmit() { - let queryObj = { id: this.orderId,whereGo:1}; - if(this.$route.query.typeId){ - queryObj.typeId = this.$route.query.typeId; - } - this.$router.push({ - path: '/product/xyg-hb-detail', - query: queryObj - }); - } - }, - created() { - this.Agreend = agreement3 - this.params = { ...this.$route.query }; - this.orderId = this.$route.query.orderId; - if (this.timer) { - clearInterval(this.timer); - } - let url = window.sessionStorage.getItem('xygHbpayQrCodeUrl'); - QRCode.toDataURL( - url, - { - margin: 1, - width: 400 - }, - (err, url) => { - if (err) console.error(err); - this.qrCode = url; - this.orderSts(); - } - ); - }, - beforeRouteLeave (to, from, next) { - if (this.timer) { - clearInterval(this.timer); - } - next() - }, - } -</script> -<style lang="less" scoped> -@import '../../../style/mixin'; - -.getQRCode { - position: relative; - background: #F3F4F5; - min-height: 100%; - .vux-header { - &:after { - border-bottom: none !important; - } - } - .vux-header-title { - span { - color: #ffffff; - } - } - .left-arrow { - &:before { - border-color: #ffffff !important; - } - } - .black-block { - margin-top: -11px; - width: 100%; - height: 150px; - background:linear-gradient(-45deg,rgba(104,98,133,1),rgba(76,69,113,1)); - } - .order-info { - height: 587px; - width: 351px; - text-align: center; - box-sizing: border-box; - border-radius: 6px; - background-color: #ffffff; - padding-top: 28px; - position: absolute; - top: 85px; - left: 50%; - transform: translateX(-50%); - .cell-item-style { - width: 80%; - margin: 0 3%; - padding: 0 7%; - height: 50px; - line-height: 50px; - background: #FAFAFA; - font-size: 16px; - // box-sizing: border-box; - // padding-bottom: 10px; - // margin-bottom: 40px; - // border-bottom: 1px solid #dddddd; - .flexLayout(space-between, center, row); - .title { - color: #666666; - } - .value { - color: #333333; - // font-size: 14px; - } - } - .last-cell { - margin-bottom: 25px !important; - } - .qrcodeImg { - width: 190px; - height: 190px; - background:rgba(255,255,255,1); - border:6px solid rgba(223,212,255,1); - border-radius:8px; - margin-bottom: 37px; - } - .notice { - color: #3a3a3a; - font-size: 12px; - } - } - .agreenBox { - width: 80vw; - height: 70vh; - padding: 60px 20px 30px 20px; - position: relative; - } - .agreen-html { - width: 100%; - height: 100%; - overflow: scroll; - box-sizing: border-box; - } - .close-agreen { - .lh(30px); - .flex(center, center); - - .van-icon { - font-size: @font-16; - } - } -} -</style> - - - diff --git a/src/views/old/store/gzzj/createcode.vue b/src/views/old/store/gzzj/createcode.vue deleted file mode 100644 index d7a6f95..0000000 --- a/src/views/old/store/gzzj/createcode.vue +++ /dev/null @@ -1,280 +0,0 @@ -<!-- - * @Descripttion: 智享云生成二维码 - * @Author:TM丶 - * @LastEditors: 小明丶 - * @Date: 2019-3-1 15:00:00 - * @LastEditTime: 2019-09-02 11:13:02 - --> -<template> - <div class="contract-installment-zxh"> - <x-header title="公众租机" :left-options="{backText:''}"></x-header> - <group> - <div class="title"> - <span class="line"></span> - 合约信息 - </div> - <selector title='合约套餐' placeholder='请选择' v-model="contId" :options='contList' - :value-map="['contCode','contName']" @on-change='contractChange' direction='rtl'></selector> - <x-input title='直降金额' v-model.trim="capitalAmt" readonly text-align='right'><span slot="right" style="font-size: 14px;"></span></x-input> - <x-input title='电子券金额' v-model.trim="ticketAmt" readonly text-align='right'><span slot="right" style="font-size: 14px;"></span></x-input> - <x-input title='月缴话费' v-model.trim="monthlyFees" readonly text-align='right'><span slot="right" style="font-size: 14px;"></span></x-input> - <x-input title='期数' v-model.trim="term" readonly text-align='right'><span slot="right" style="font-size: 14px;"></span></x-input> - </group> - <f-space></f-space> - <group> - <div class="title"> - <span class="line"></span> - 商品信息 - </div> - <selector title='设备类型' placeholder='请选择' v-model="goodsType" :options='deviceTypeList' - :value-map="['code','name']" @on-change='goodsTypeChange' direction='rtl'></selector> - <selector v-if="goodsType==1" title='品牌' placeholder='请选择' v-model="goodsBrand" :options='goodsBrandList' - :value-map="['skuName','skuName']" @on-change='goodsBrandChange' direction='rtl'></selector> - <selector v-if="goodsType==1" title='名称' placeholder='请选择' v-model="goodsModel" :options='goodsModelList' - :value-map="['size','size']" @on-change='goodsModelChange' direction='rtl'></selector> - <x-input title='价格' v-model.trim="goodsPrice" readonly placeholder='请输入' :max='5' text-align='right'> - </x-input> - <x-input title='IMEI' v-model.trim="goodsImei" placeholder='请输入' :max='20' text-align='right' v-if="goodsType==1"> - </x-input> - <x-input title='SN' v-model.trim="goodsSn" placeholder='请输入SN' :max='20' text-align='right' v-else> - </x-input> - - </group> - - <van-button class="btn" round @click="gzzjOrderCreate">生成二维码</van-button> - </div> -</template> - -<script> - import { - XAddress - } from 'vux'; - import QRCode from 'qrcode'; - import IDValidator from '@/utils/IDValidator'; - - export default { - name: 'gzzj_createcode', - components: { - XAddress - }, - data() { - return { - contList: [], - deviceTypeList: [{ - code: 1, - name: "手机", - }, - { - code: 2, - name: "电子商品", - }, - { - code: 3, - name: "智能家电", - }, - { - code: 4, - name: "其他", - }], - goodsBrandList: [], - goodsModelList: [], - goodsDescList: [], - sibSkuRespVoList: [], - contId: '', // 选中的合约 - contName: '', // 选中的合约 - capitalAmt:'', //直降金额 - ticketAmt:'', //电子券金额 - monthlyFees: '', // 月缴话费 - term: '', // 期数 - goodsType: '', // 选中的类型 - goodsBrand: '', //商品品牌 - goodsModel: '', //商品名称 - goodsDesc: '', // 商品描述 - goodsPrice: '', // 价格 - goodsImei: '', // IMEI - goodsSn: '', //SN - } - }, - created() { - this.$api.gzzjOrderInit().then(res => { - this.contList = res.body.contList; - this.sibSkuRespVoList =res.body.sibSkuRespVoList; - }, err => err); - }, - watch: { - }, - methods: { - // 处理合约的修改 - contractChange(val) { - if (!val) { - return; - } - let currentEle=JSON.parse(JSON.stringify(this.contList)).find(item=>item.contCode===val) - this.contId = currentEle.contCode; - this.contName = currentEle.contName; - this.term = currentEle.term; - this.capitalAmt = currentEle.strDownAmt; - this.monthlyFees = currentEle.monthConsAmt; - this.ticketAmt = currentEle.eleBondAmt; - }, - // 处理合约的修改 - goodsTypeChange(val) { - if (!val) { - return; - } - let indexNum = -1; - let currentEle = JSON.parse(JSON.stringify(this.deviceTypeList)).find(item => { - //定义一个index,index接收我们找到的全部数据 - indexNum++; - return item.code == val - //当我们里面循环的值和我们要找的值相等的时候返回 - }) - this.goodsType = currentEle.code; - if(this.goodsType== 1) { - this.goodsBrandList = this.sibSkuRespVoList[0].phoneSkuReqVoList; - }else{ - this.goodsDescList = this.sibSkuRespVoList[indexNum].ortherSkuReqVoList; - } - }, - // 处理合约的修改 - goodsBrandChange(val) { - if (!val) { - return; - } - let indexNum = -1; - let currentEle = JSON.parse(JSON.stringify(this.goodsBrandList)).find(item => { - //定义一个index,index接收我们找到的全部数据 - indexNum++; - return item.skuName == val - //当我们里面循环的值和我们要找的值相等的时候返回 - }) - this.goodsBrand = currentEle.skuName; - this.goodsModelList = this.goodsBrandList[indexNum].skuSize; - }, - // 处理合约的修改 - goodsModelChange(val) { - if (!val) { - return; - } - let indexNum = -1; - let currentEle = JSON.parse(JSON.stringify(this.goodsModelList)).find(item => { - //定义一个index,index接收我们找到的全部数据 - indexNum++; - return item.size == val - //当我们里面循环的值和我们要找的值相等的时候返回 - }) - this.goodsModel = currentEle.size; - this.goodsPrice = currentEle.price; - }, - // 处理合约的修改 - goodsDescChange(val) { - if (!val) { - return; - } - let indexNum = -1; - let currentEle = JSON.parse(JSON.stringify(this.goodsDescList)).find(item => { - //定义一个index,index接收我们找到的全部数据 - indexNum++; - return item.deviceDepict == val - //当我们里面循环的值和我们要找的值相等的时候返回 - }) - this.goodsDesc = currentEle.deviceDepict; - this.goodsPrice = currentEle.price; - }, - // 生成二维码 - gzzjOrderCreate() { - let v = this.$tool; - if (v.checkValEmpty(this.contId)) { - v.toast('请选择合约套餐'); - return false; - } - if (this.goodsType == 1 && v.checkValEmpty(this.goodsType)) { - v.toast('请输入商品品牌'); - return false; - } - if (this.goodsType == 1 && !/^[A-Za-z0-9\u4e00-\u9fa5]+$/.test(this.goodsBrand)) { - v.toast('请选择商品品牌'); - return false; - } - if (this.goodsType == 1 && v.checkValEmpty(this.goodsModel)) { - v.toast('请选择商品名称'); - return false; - } - if (this.goodsType == 1 && v.checkValEmpty(this.goodsImei)) { - v.toast('请输入商品IMEI'); - return false; - }else if (this.goodsType != 1 && v.checkValEmpty(this.goodsSn)) { - v.toast('请输入商品SN'); - return false; - } - this.$api.gzzjOrderPrecreate({ - contId:Number(this.contId), - deviceDepict: this.goodsType, - deviceType: this.goodsType, - goodsBrand: this.goodsBrand, - goodsPrice: this.goodsPrice, - goodsModel: this.goodsModel, - imeicode: this.goodsImei, - sn: this.goodsSn, - }).then(res => { - this.qrCode = res.body - if (this.qrCode) { - this.createdQRCode(); - } - }, err => err); - }, - // 生成二维码 - createdQRCode() { - let queryObj = { - qrCode:this.qrCode - } - this.$router.push({ - path: "/gzzj/gzzjQrCode", - query: queryObj - }) - }, - // 根据城市code 获取拼接的字符串 - getAddrText(arr) { - let str = ''; - this.cityList.forEach(item => { - if (arr.indexOf(item.value) > -1) { - str += item.name - } - }) - return str; - } - } - }; -</script> -<style lang='less' > - .contract-installment-zxh { - padding-top: 54px; - background-color: #f1f1f1; - padding-bottom: 80px; - overflow-y: scroll; - - .title { - padding: 14px 12px; - font-size: 15px; - color: #333; - - .line { - display: inline-block; - width: 2px; - height: 16px; - margin-right: 8px; - background: @color-text-three; - vertical-align: middle; - margin-top: -1px; - } - } - } - .btn { - width: 84%; - margin: 0 8%; - background: @c-default; - color: @c-text-fff; - display: block; - margin-top: 15px; - } -</style> diff --git a/src/views/old/store/gzzj/gzzjQrCode.vue b/src/views/old/store/gzzj/gzzjQrCode.vue deleted file mode 100644 index 087c3a0..0000000 --- a/src/views/old/store/gzzj/gzzjQrCode.vue +++ /dev/null @@ -1,198 +0,0 @@ -<!-- - * @Date: 2019-08-30 14:08:02 - * @LastEditors: 小明丶 - * @LastEditTime: 2020-11-16 16:44:00 - * @Description: - --> -<template> - <div class="getQRCode"> - <!-- <x-header title="扫码办理" :left-options="{backText:''}" style="background-color:#3A3A3A;"></x-header> --> - <van-nav-bar title="扫码办理" left-text="返回" left-arrow @click-left="onClickLeft" style="line-height: 43px;"> - <i class="iconfont iconzuojiantou" slot="left" style="font-size: 25px;"></i> - </van-nav-bar> - <div class="black-block" :style="{background:$store.state.backColor}"></div> - <div class="order-info"> - <div style="text-align: center;"> - <img class="qrcodeImg" :src="qrCode" alt="qrCode"> - </div> - <div class="cell-cont-item-style"> - <span class="title">二维码失效时间为半小时,请尽快提供给用户进行扫码</span> - </div> - </div> - </div> -</template> -<script> - import QRCode from 'qrcode'; - - export default { - name: 'getQRCode', - data() { - return { - qrCode: '', - } - }, - methods:{ - onClickLeft() { - this.$router.go(-1); - }, - }, - created() { - this.params = { ...this.$route.query }; - let url = this.$route.query.qrCode; - QRCode.toDataURL( - url, - { - margin: 1, - width: 400 - }, - (err, url) => { - this.qrCode = url; - } - ); - } - } -</script> -<style lang="less" scoped> -@import '../../../../style/mixin'; - -.getQRCode { - position: relative; - background: #F3F4F5; - min-height: 100%; - padding-bottom: 40px; - .vux-header { - &:after { - border-bottom: none !important; - } - } - .vux-header-title { - span { - color: #ffffff; - } - } - .left-arrow { - &:before { - border-color: #ffffff !important; - } - } - .black-block { - margin-top: -11px; - width: 100%; - height: 150px; - background:linear-gradient(-45deg,rgba(104,98,133,1),rgba(76,69,113,1)); - } - .order-info { - height:587px; - width: 351px; - - box-sizing: border-box; - border-radius: 6px; - background-color: #ffffff; - padding-top: 28px; - position: absolute; - - top: 85px; - left: 50%; - transform: translateX(-50%); - .cell-cont-item-style { - width: 80%; - margin: 0 3%; - padding: 0 5%; - height: 50px; - line-height: 20px; - background: #FAFAFA; - font-size: 16px; - // box-sizing: border-box; - // padding-bottom: 10px; - // margin-bottom: 40px; - // border-bottom: 1px solid #dddddd; - .flexLayout(space-between, center, row); - .title { - text-align: center; - color: #FF0000; - } - .value { - text-align: right; - color: #333333; - // font-size: 14px; - } - } - .cell-item-style { - width: 80%; - margin: 0 3%; - padding: 0 5%; - height: 50px; - line-height: 50px; - background: #FAFAFA; - font-size: 16px; - // box-sizing: border-box; - // padding-bottom: 10px; - // margin-bottom: 40px; - // border-bottom: 1px solid #dddddd; - .flexLayout(space-between, center, row); - .title { - text-align: left; - color: #666666; - } - .value { - text-align: right; - color: #333333; - // font-size: 14px; - } - } - .last-cell { - margin-bottom: 25px !important; - height:100px; - } - .qrcodeImg { - width: 190px; - height: 190px; - background:rgba(255,255,255,1); - border:6px solid rgba(223,212,255,1); - border-radius:8px; - margin-bottom: 37px; - } - .notice { - color: #3a3a3a; - font-size: 12px; - } - } - .agreenBox { - width: 80vw; - height: 70vh; - padding: 60px 20px 30px 20px; - position: relative; - } - .agreen-html { - width: 100%; - height: 100%; - overflow: scroll; - box-sizing: border-box; - } - .close-agreen { - .lh(30px); - .flex(center, center); - - .van-icon { - font-size: @font-16; - } - } - .btn-box{ - &{ - margin-top: 520px; - text-align: center; - } - button{ - width: 90vw; - height:44px; - background:rgba(137,110,219,1); - border-radius:22px; - color: #fff; - border: 0; - outline: none; - } - } -} -</style> - - diff --git a/src/views/old/store/gzzj/message.vue b/src/views/old/store/gzzj/message.vue deleted file mode 100644 index 3ef6437..0000000 --- a/src/views/old/store/gzzj/message.vue +++ /dev/null @@ -1,105 +0,0 @@ - -<template> - <div class="getQRCode"> - <!-- <x-header class="message-head" title="消息详情" :left-options="{backText:''}"></x-header> --> - <van-nav-bar title="消息详情" left-text="返回" left-arrow @click-left="onClickLeft" style="line-height: 43px;"> - <i class="iconfont iconzuojiantou" slot="left" style="font-size: 25px;"></i> - </van-nav-bar> - <div class="message-body"> - <div class="notice"> - <p class="notice-title">{{ message.msgTitle }}</p> - <p>{{ message.msgTime }}</p> - </div> - <span class="line"></span> - <div class="notice-continue" v-html=" message.msgCon"> - </div> - </div> - </div> -</template> -<script> -import { XHeader } from 'vux'; -import { - dateFormat - } from 'vux' -import { mapActions } from 'vuex'; - export default { - name: 'message', - components: { - XHeader, - }, - data() { - return { - messageId: this.$route.query.messageId, - message:{ - msgCon: '', - msgTitle: '', - msgTime: '', - } - } - }, - computed:{ - - }, - created() { - this.msgInt() - this.getCount() - }, - methods: { - ...mapActions(['getCount']), - onClickLeft() { - this.$router.go(-1); - }, - msgInt() { - this.$api.noticeDetail({id: this.messageId}).then(res => { - console.log(res.body) - this.message.msgCon = res.body.noticeContent; - this.message.msgTitle = res.body.title; - this.message.msgTime = dateFormat(res.body.pubTime); - }) - - } - } - } -</script> -<style lang="less" scoped> -.getQRCode{ - background: #F5F5F7; - width: 100%; - height: 100%; -} -.message-head{ - position: relative; -} -.message-body{ - width: 96%; - margin: 12px 2%; - margin-top: 10px; - background: #fff; - .notice{ - padding: 15px 12px; - border-bottom: 1px solid #EEEEEE; - p{ - color: #999999; - } - &-title{ - font-size: 16px; - font-weight: bold; - color: #333333 !important; - margin-bottom: 10px; - } - } - .notice-continue{ - width: 94%; - margin: 0px 2%; - padding: 15px 0; - white-space: wrap; - font-size: 14px; - word-wrap: break-word; - height: auto; - padding-left: 2%; - background: #fff; - color: #666666; - line-height: 22px; - } -} -</style> diff --git a/src/views/old/store/gzzj/set.vue b/src/views/old/store/gzzj/set.vue deleted file mode 100644 index e051e6c..0000000 --- a/src/views/old/store/gzzj/set.vue +++ /dev/null @@ -1,197 +0,0 @@ -<!-- - * @Descripttion: 智享云状态切换 + 数据资料的反显,无复杂逻辑 - * @Author: TM丶 - * @LastEditors: 小明丶 - * @Date: 2019-04-21 18:06:00 - * @LastEditTime: 2019-09-02 11:15:49 - --> -<template> - <div class="zxh-set-box"> - <x-header title="公众租机" :left-options="{backText:''}"></x-header> - <group> - <x-switch title="状态" v-model="status"></x-switch> - </group> - <f-space></f-space> - <group> - <div class="title"> - <span class="line"></span> - 基本信息 - </div> - <cell title="商户名称" :value="info.merName"></cell> - <cell title="营业执照号" :value="info.licenseNo"></cell> - <cell title="地址" :value="info.merAddr"></cell> - <cell title="详细地址" :value="info.merDtlAddr"></cell> - <cell title="营业面积" :value="info.merArea"></cell> - <cell title="成立日期" :value="info.foundDate | timeformat('yyyy-MM-dd')"></cell> - <cell title="协议开始时间" :value="(info.agreeStartTime || '') | parseDate"></cell> - <cell title="协议结束时间" :value="(info.agreeEndTime || '') | parseDate"></cell> - </group> - <f-space></f-space> - - <group> - <div class="title"> - <span class="line"></span> - 法人信息 - </div> - <cell title="法人姓名" :value="info.legalName"></cell> - <cell title="法人身份证号" :value="info.legalIdNo"></cell> - <cell title="法人电话" :value="info.legalMblNo"></cell> - <cell title="法人家庭住址" :value="info.legalHomeAddr"></cell> - </group> - <f-space></f-space> - - <group> - <div class="title"> - <span class="line"></span> - 银行信息 - </div> - <cell title="银行名称" :value="info.bankName"></cell> - <cell title="开户行" :value="info.bankDtlName"></cell> - <cell title="地址" :value="info.bankAddr"></cell> - <cell title="户名" :value="info.cardName"></cell> - <cell title="银行账号" :value="info.cardNo"></cell> - <cell title="账号类型" :value="info.cardTypeName"></cell> - <cell title="开户行行号" v-if="info.cardType ==='pu'" :value="info.bankNo"></cell> - </group> - - <f-space></f-space> - - <!-- 图片反显 --> - <section class="img-box"> - <h4>营业执照照片</h4> - <div class="img-item" v-for="(item, index) in info.licencePhotos" :key="index" - :style="item.fileUrl | generate"> - </div> - </section> - <section class="img-box"> - <h4>法人身份证正反面照片</h4> - <div class="img-item" v-for="(item, index) in info.legalCardPhotos" :key="index" - :style="item.fileUrl | generate"></div> - </section> - <section class="img-box"> - <h4>房产证或租赁合同</h4> - <div class="img-item" v-for="(item, index) in info.houseContractPhotos" :key="index" - :style="item.fileUrl | generate"></div> - </section> - <section class="img-box"> - <h4>外景照、门头照片、前台照、内景照</h4> - <div class="img-item" v-for="(item, index) in info.storePhotos" :key="index" - :style="item.fileUrl | generate"></div> - </section> - <section class="img-box"> - <h4>套餐活动清单、终端商品定价清单</h4> - <div class="img-item" v-for="(item, index) in info.mealBillPhotos" :key="index" - :style="item.fileUrl | generate"></div> - </section> - <section class="img-box"> - <h4>运营商授权文件</h4> - <div class="img-item" v-for="(item, index) in info.accreditFilePhotos" :key="index" - :style="item.fileUrl | generate"></div> - </section> - <f-button fixed @on-click="submit">保存</f-button> - </div> -</template> - -<script> - import { - XSwitch - } from 'vux'; - - export default { - name: "heyd_info", - components: { - XSwitch - }, - data() { - return { - status: true, - info: {}, - productInfo: {} - } - }, - filters: { - generate(path) { - return { - 'background-image': `url(${path})` - } - }, - parseDate(v = '') { - if (v) { - return v.slice(0, 4) + '-' + v.slice(4, 6) + '-' + v.slice(-2); - } else { - return '暂无'; - } - } - }, - created() { - this.init(); - }, - methods: { - init() { - this.$api.prodRefInit(this.$route.query).then(res => { - this.productInfo = res.body; - this.status = !!this.productInfo.status; - }); - // 获取商户信息反显 - this.$api.getMerInfo(this.$route.query.orgId).then(res => { - this.info = res.body; - }) - }, - // 保存 - submit() { - this.$api.prodSaveRef({ - ...this.$route.query, - prodSkDtlInfoList: this.productInfo.prodSkDtlInfoList, - status: this.status ? 1 : 0 - }).then(() => { - this.$notify('保存成功'); - }); - } - }, - } -</script> - -<style lang="less"> - .zxh-set-box { - padding-bottom: 60px; - - .title { - padding: 14px 12px; - font-size: 15px; - color: #333; - - .line { - display: inline-block; - width: 2px; - height: 16px; - margin-right: 8px; - background: @color-text-three; - vertical-align: middle; - margin-top: -1px; - } - } - - .img-box { - padding: 0 12px; - background-color: #fff; - margin-bottom: 20px; - - h4 { - font-weight: normal; - font-size: 15px; - line-height: 40px; - } - - .img-item { - display: inline-block; - height: 100px; - width: 100px; - margin: 0 10px 10px 0; - border: 1Px dashed #d9d9d9; - background-repeat: no-repeat; - background-size: contain; - background-position: center; - } - } - } -</style> diff --git a/src/views/old/store/gzzj/upload.vue b/src/views/old/store/gzzj/upload.vue deleted file mode 100644 index 459e24c..0000000 --- a/src/views/old/store/gzzj/upload.vue +++ /dev/null @@ -1,273 +0,0 @@ -<!-- - * @Descripttion: 上传合约凭证 - * @Author: TM丶 - * @LastEditors: 小明丶 - * @Date: 2019-04-08 09:16:44 - * @LastEditTime: 2019-09-03 09:25:14 - --> -<template> - <div class="zxh-upload-box h-100-g"> - <x-header :left-options="{'backText': ''}" title="上传合约凭证" class="gradient-color"></x-header> - <div class="content" v-for="(item, index) in fileTypeArr" :key="index"> - <h4 class="title"> - <span>{{item.name}}</span> - <div @click="changeShowselect(item)"> - <i class="iconfont scene_Staging-xiangji"></i> - <input ref="photo" type="file" accept="image/*" @change="getFile($event.currentTarget,item.code)"> - <input ref="picture" type="file" accept="image/*" capture="camera" - @change="getFile($event.currentTarget,item.code)"> - </div> - </h4> - <ul class="upload"> - <li class="upload-item" v-for="(item, index) in item.fileIds" :key="index" - :style="{'background-image':`url(${item.fileUrl})`}"> - <i class="iconfont scene_Staging-shibai1" @click="deleteImgItem(index)"></i> - </li> - </ul> - </div> - <group> - <x-input title="手机号" v-model="form.contMblNo" placeholder="请输入" text-align="right" :max="11"></x-input> - </group> - <f-button @on-click="submit()">提交</f-button> - - - <van-action-sheet v-model="showSelect" :close-on-click-overlay="false" cancel-text="取消" :actions="nav" - @select="handleSelect"> - </van-action-sheet> - </div> -</template> - -<script> - import { - compress - } from "@/utils/index"; - import { - Actionsheet - } from "vux"; - - export default { - name: "heyd_upload", - data() { - return { - showSelect: false, - nav: [{ - name: '拍照' - }, - { - name: '从手机相册选择' - }, - ], - form: { - orderId: '', - contMblNo: '', - fileIds: [] - }, - fileTypeArr: [], - currentItem: {} - } - }, - components: { - Actionsheet - }, - props: ["orderId"], - created() { - this.form.orderId = this.orderId; - this.$api.h_getFileType().then(res => { - let list = res.body || []; - this.fileTypeArr = list.map(item => { - return { - ...item, - fileIds: [] - } - }) - }) - }, - methods: { - changeShowselect(item) { - if (item.fileIds.length) { - this.$tool.toast(`最多上传一张照片~`) - return - } - this.showSelect = true; - this.currentItem = item; - }, - imgCompress(path, options = {}) { - return new Promise((resolve, reject) => { - let img = new Image(); - img.src = path; - img.onload = function () { - let that = this, - w = that.width, - h = that.height, - scale = w / h, // 默认按比例压缩 - quality = options.quality || 0.92, - canvas = document.createElement('canvas'), - ctx = canvas.getContext('2d'); - - w = options.width || w; - h = options.height || (w / scale); - canvas.width = w; - canvas.height = h; - ctx.drawImage(that, 0, 0, w, h); - if (options.quality && options.quality <= 1 && options.quality > 0) { - quality = options.quality; - } - let base64 = canvas.toDataURL('image/jpeg', quality); - resolve(base64); - } - }) - }, - handleSelect(item, index) { - if (index === 0) { - this.$refs['picture'][0].click(); - } else { - this.$refs['photo'][0].click(); - } - this.showSelect = false; - }, - // 删除图片 - deleteImgItem(index) { - this.currentItem.fileIds.splice(index, 1); - }, - // 获取base64 - getFile(el, fileType) { - let file = el.files[0]; - if (typeof file === 'undefined') return; - let reader = new FileReader(), - that = this; - reader.readAsDataURL(file); - reader.onload = function () { - that.imgCompress(this.result).then(base64 => { - that.upload(base64.split(',')[1], file.type.split('/')[1], fileType); - }) - } - }, - //上传文件 - upload(base64, suffix, fileType) { - let params = { - fileType, - suffix, - base64Data: base64 - } - this.$api.uploadFile(params).then(res => { - this.currentItem.fileIds.push(res.body); - }) - }, - // 提交保存 - submit() { - let form = this.form, - tel = form.contMblNo; - - let len = this.fileTypeArr.length; - for (let index = 0; index < len; index++) { - const item = this.fileTypeArr[index]; - if (item.fileIds.length === 0) { - this.$tool.toast(`请上传${item.name}`) - return - } - } - - - if (tel.length === 0) { - this.$tool.toast("请输入电话号码") - return; - } - - if (!this.$tool.checkPhone(tel)) { - this.$tool.toast("请输入正确的电话号码") - return - } - let params = { - orderId: form.orderId, - contMblNo: tel, - fileIds: [] - }; - - - let fileIds = []; - - for (let k = 0; k < len; k++) { - const item = this.fileTypeArr[k]; - let arr = item.fileIds; - arr.forEach(child => { - fileIds.push(child.id) - }) - // fileIds.push(...item.fileIds); - } - - params.fileIds = fileIds; - this.$api.h_uploadProtocol(params).then(res => { - this.$tool.toast("提交成功") - this.$router.go(-1) - }) - } - } - } -</script> - -<style lang="less" scoped> - .zxh-upload-box { - padding-top: 54px; - background-color: #f1f1f1; - } - - .content { - margin-bottom: 10px; - padding-bottom: 12px; - background-color: @color-white; - - .title { - display: flex; - justify-content: space-between; - align-items: center; - padding: 0 12px; - height: 49px; - line-height: 49px; - font-size: @font-size-base; - font-weight: @font-weight-base; - - input { - display: none; - } - } - } - - .upload { - margin: 5px 12px 0; - display: flex; - justify-content: flex-start; - align-items: center; - flex-wrap: wrap; - - .upload-item { - margin-right: 12px; - width: 109px; - height: 109px; - position: relative; - background-position: center; - background-size: contain; - background-repeat: no-repeat; - margin-bottom: 12px; - - &:nth-child(3n) { - margin-right: 0; - } - - .iconfont { - position: absolute; - right: 3Px; - top: 0; - } - } - } - - #file { - display: none; - } - - .scene_Staging-xiangji { - fill: @color-border-theme; - color: @color-border-theme; - font-size: 20px; - } -</style> \ No newline at end of file diff --git a/src/views/old/store/hb-contract.vue b/src/views/old/store/hb-contract.vue deleted file mode 100644 index 5f0277a..0000000 --- a/src/views/old/store/hb-contract.vue +++ /dev/null @@ -1,264 +0,0 @@ -<!-- - * @Date: 2019-08-30 13:38:35 - * @LastEditors: 小明丶 - * @LastEditTime: 2019-10-28 15:24:08 - * @Description: - --> - -<template> - <div class="hb-credit-installment h-100-g"> - <x-header title="办理分期" :left-options="{backText:''}"></x-header> - <!--合约机分期--> - <group v-show="activeTab === 0"> - <div class="title"> - <span class="line"></span> - 合约信息 - </div> - <selector title='合约套餐' placeholder='请选择' v-model="selectContract" :options='contractList' - :value-map="['contId','contName']" @on-change='handleChangeContract' direction='rtl'></selector> - <x-input title='结算金额' v-model.trim="selectContractInfo.capitalAmt" readonly text-align='right'></x-input> - <x-input title='月缴话费' v-model.trim="selectContractInfo.monthlyFees" readonly text-align='right'></x-input> - <x-input title='月还款额' v-model.trim="selectContractInfo.monthlyPayments" readonly text-align='right'> - </x-input> - <x-input title='期数' v-model.trim="selectContractInfo.term" readonly text-align='right'></x-input> - </x-input> - <div style="height: 10px; background: #f5f5f5;"></div> - <div class="title"> - <span class="line"></span> - 商品信息 - </div> - - <x-input title='商品品牌' v-model.trim="contractGoodsBrand" placeholder='请输入' :max='10' text-align='right'> - </x-input> - <x-input title='商品名称' v-model.trim="contractGoodsName" placeholder='请输入' :max='20' text-align='right'> - </x-input> - <div style="height: 10px; background: #f5f5f5;"></div> - <div class="title"> - <span class="line"></span> - 用户信息 - </div> - <x-input title='用户姓名' v-model.trim="contractUserName" placeholder='请输入' :max='10' text-align='right'> - </x-input> - <x-input title='用户手机号' v-model.trim="contractUserMblNo" placeholder='请输入' :max='11' text-align='right'> - </x-input> - </group> - - - <div class="qrCode-box" v-if="dataURL"> - <div class="qrCode"> - <img :src="dataURL" alt="qrcode"> - </div> - </div> - - <!--点击创建订单展示 弹窗 --> - <FConfirmSimple v-model="showConfirm" ref="FConfirmQRCode" @on-hide="handleHide" - iconClass="scene_Staging-dingdan" class="hb-order-confirm" :showIcon="true" > - <div class="trial-list"> - <div>还款总额:{{trial.totalAmount}}元</div> - <div>每月还款额:{{trial.repayPerMonth}}元</div> - <div>费率:{{trial.feeRate}}%</div> - </div> - <f-button @on-click='createdQRCode'>生成二维码</f-button> - </FConfirmSimple> - <!--此次修改为 生成订单--> - <f-space type="large"></f-space> - <f-button fixed @on-click='contractInstallmentOrder'>生成订单</f-button> - </div> -</template> - -<script> - import QRCode from 'qrcode'; - import FConfirmSimple from '@/components/old/FConfirmSimple.vue'; - - export default { - name: 'hb-credit-installment', - components: { - FConfirmSimple, - }, - data() { - return { - monthMoney: '', //月还款总额 - activeTab: 0, // 处于激活状态下的tab, 最开始为合约机分期 - tabList: ['合约机分期', '商品分期'], - selectContract: '', // 选中的合约 - contractList: [], // 合约列表 - selectContractInfo: {// 当前选中合约元素 - capitalAmt:"", - monthlyFees:"", - monthlyPayments:"", - term:"" - }, - contractGoodsBrand: '', //商品品牌 - contractGoodsName: '', //商品名称 - contractUserMblNo: '', //用户手机号 - contractUserName: '', //用户名称 - // hb - capitalAmt: '', //分期本金 - goodsBrand: '', //商品品牌 - goodsName: '', //商品名称 - orderNo: '', //未知参数 - term: null, //分期期数 - userMblNo: '', //用户手机号 - userName: '', //用户名称 - trial: {}, // 利率相关信息 - orderId: '', //订单id - payQrCodeUrl: '', // 二维码 - termList: [], //分期期数列表 - dataURL: '', // QRcode - showConfirm: false, - }; - }, - created() { - this.getContractList(); - }, - methods: { - // 处理合约的修改 - handleChangeContract(val) { - this.selectContractInfo = this.contractList.find((item) => { - return item.contId === val; - }) - }, - handleHide() { - this.showConfirm = false; - }, - // 生成二维码 - createdQRCode() { - this.showConfirm = false; - let queryObj = { - orderId: this.orderId, - totalAmount: this.trial.totalAmount, - term: this.term, - typeId: this.$route.query.typeId - } - if(this.activeTab===0){ - queryObj.term = this.selectContractInfo.term; - } - if (this.$route.query.typeId) { - queryObj.typeId = this.$route.query.typeId; - } - this.$router.push({ - path: "/hb-getHBQRCode", - query: queryObj - }) - }, - // 合约分期生成订单 - contractInstallmentOrder() { - let v = this.$tool; - if (v.checkValEmpty(this.selectContract)) { - v.toast('请选择合约套餐'); - return false; - } - let reg = /^[A-Za-z0-9\u4e00-\u9fa5]+$/; - if (v.checkValEmpty(this.contractGoodsBrand)) { - v.toast('请输入商品品牌'); - return false; - } - if (!reg.test(this.contractGoodsBrand)) { - v.toast('请输入文字/字母/数字且不包含特殊字符的商品品牌'); - return false; - } - if (v.checkValEmpty(this.contractGoodsName)) { - v.toast('请输入商品名称'); - return false; - } - if (!reg.test(this.contractGoodsName)) { - v.toast('请输入文字/字母/数字且不包含特殊字符的商品名称'); - return false; - } - if (v.checkValEmpty(this.contractUserName)) { - v.toast('请输入用户姓名'); - return false; - } - if (v.checkValEmpty(this.contractUserMblNo)) { - v.toast('请输入用户手机号'); - return false; - } - if (!v.checkPhone(this.contractUserMblNo)) { - v.toast('请输入正确的用户手机号'); - return false; - } - let params = { - contId: this.selectContract, - goodsName: this.contractGoodsName, - goodsBrand: this.contractGoodsBrand, - userName: this.contractUserName, - userMblNo: this.contractUserMblNo, - } - this.$api.hbhyjCreate(params).then(res => { - let body = res.body; - this.orderId = body.orderId; - this.payQrCodeUrl = body.payQrCodeUrl; - this.trial.totalAmount = body.totalAmount; - this.trial.repayPerMonth = body.repayPerMonth; - this.trial.feeRate = body.feeRate; - this.showConfirm = true; - if (body.payQrCodeUrl) { - sessionStorage.setItem("hbpayQrCodeUrl", body.payQrCodeUrl); - } - }) - // todo 数据组装,接口的调取 - }, - // 获取当前的合约列表 - getContractList() { - this.$api.contractList({ - typeId: +this.$route.query.typeId - }).then(res => { - this.contractList = res.body; - }, err => err); - } - }, - }; - -</script> -<style lang='less' scoped > - .hb-order-confirm { - .trial-list { - padding-left: 20px; - } - - .f-button-component .f-button { - margin-top: 12px; - } - } - - .hb-credit-installment { - background-color: #f1f1f1; - padding-top: 54px; - .title { - padding: 14px 12px; - font-size: 15px; - color: #333; - .line { - display: inline-block; - width: 2px; - height: 16px; - margin-right: 8px; - background: @color-text-three; - vertical-align: middle; - margin-top: -1px; - } - } - - .qrCode-box { - padding-top: 0; - .flexLayout(center, center, row); - - .qrCode { - width: 200px; - height: 200px; - box-sizing: border-box; - background-color: #fff; - border: 5px solid @color-border-theme; - padding: 5px; - - img { - width: 100%; - height: 100%; - vertical-align: middle; - display: block; - } - } - } - } - -</style> diff --git a/src/views/old/store/hb-credit-installment.vue b/src/views/old/store/hb-credit-installment.vue deleted file mode 100644 index 4efa5eb..0000000 --- a/src/views/old/store/hb-credit-installment.vue +++ /dev/null @@ -1,714 +0,0 @@ -<!-- - * @Date: 2019-08-30 13:38:35 - * @LastEditors: 小明丶 - * @LastEditTime: 2020-12-09 15:17:58 - * @Description: - --> - -<template> - <div class="hb-credit-installment h-100-g"> - <!-- <x-header title="办理分期" :left-options="{backText:''}"></x-header> --> - <!-- <tab :line-width=1 active-color='#bfa073'> - <tab-item v-for="(item, index) in tabList" :key="index" :selected="activeTab === index" - @on-item-click="handleTabChange(index)">{{ item }}</tab-item> - </tab> --> - <van-nav-bar title="用户付息" left-text="返回" left-arrow @click-left="onClickLeft" style="line-height: 43px;"> - <i class="iconfont iconzuojiantou" slot="left" style="font-size: 25px;"></i> - </van-nav-bar> - <!--商品分期--> - <div class="mer" :style="{background:$store.state.defaultBgColor}"> - <div class="mer-head"> - <div class="mer-head-item"> - <p>{{ capitalAmt? capitalAmt : '0.00' }}</p> - <p>商家到账金额</p> - </div> - <div class="mer-head-line"></div> - <div class="mer-head-item"> - <p>{{ trial.totalAmount ? trial.totalAmount : '0.00' }}</p> - <p>客户总还款额</p> - </div> - <div class="mer-head-line"></div> - <div class="mer-head-item"> - <p>{{ trial.repayPerMonth ? trial.repayPerMonth : '0.00'}}</p> - <p>客户月还款额</p> - </div> - </div> - </div> - <group class="group-content"> - <div class="title"> - <span class="line" :style="{background:$store.state.defaultBgColor}"></span> - 分期信息 - </div> - <div class="form-content"> - <van-field - class="ipt" - v-model="capitalAmt" - type="number" - label="商品金额" - placeholder="请输入商品金额" - input-align="right" - border="true" - :maxlength="5" - /> - <!-- @input="changeMoney" --> - <van-field - class="fenqi" - readonly - clickable - label="分期期数" - :value="value" - placeholder="请选择" - @click="showPickerModel" - input-align="right" - border="true" - is-link='true' - /> - <van-field - class="ipt" - label="商品名称" - placeholder="请输入商品名称" - input-align="right" - border="false" - :maxlength="20" - v-model="goodsName" - /> - <van-field - class="ipt myDisableIpt" - label="月还款额" - placeholder="请输入月还款额" - input-align="right" - border="false" - :maxlength="20" - v-model="monthMoney" - disabled="true" - /> - <van-field - label-width="150px" - class="ipt myDisableIpt" - label="智享服务费率" - placeholder="请输入智享服务费率" - input-align="right" - border="false" - :maxlength="3" - v-model="platRatePr" - disabled="true" - /> - <van-field - label-width="150px" - class="ipt myDisableIpt" - label="花呗分期手续费率" - placeholder="请输入花呗分期手续费率" - input-align="right" - border="false" - :maxlength="3" - v-model="zfbRatePr" - disabled="true" - /> - - </div> - <div style="height: 10px; background: #f5f5f5;"></div> - <div class="title" style="border-radius:6px;"> - <span class="line" :style="{background:$store.state.defaultBgColor}"></span> - 用户信息 - </div> - <div class="form-content"> - <van-field - class="ipt" - label="用户姓名" - placeholder="请输入用户姓名" - input-align="right" - border="false" - :maxlength="10" - v-model="userName" - /> - <van-field - class="ipt" - type="tel" - label="用户手机号" - placeholder="请输入用户手机号" - input-align="right" - border="false" - :maxlength="11" - v-model="userMblNo" - /> - </div> - </group> - - <van-popup v-model="showPicker" position="bottom" :style="{ height: '30%'}"> - <van-picker - title="选择期数" - show-toolbar - item-height="30" - :columns="termList" - value-key="name" - @cancel="showPicker = false" - @confirm="selectTerms" - /> - </van-popup> - <van-popup - v-model="showTwo" - @close="aferClose" - style="width:280px;height:150px;" - > - <van-icon name="cross" size="20px" style="position: absolute;right:10px;top:10px;color:#cccccc" @click="closeTwo" color="#CCCCCC"/> - <img src="../../../../static/img/img.png" style="width:60px;height:67px;margin-left: 110px;margin-top: 30px;"> - <p style="font-size:14px;font-family:PingFang SC;font-weight:500;color:rgba(102,102,102,1);margin-top:10px;text-align:center">因{{this.showQi}}期业务调整,暂停{{this.showQi}}期办单通道。</p> - </van-popup> - <div class="btn-box"> - <van-button round :color="$store.state.backColor" class="btn2" :class="sysPlat == 2 ? 'active' : ''" @click="goodInstallmentOrder">生成二维码</van-button> - <van-button round :color="$store.state.backColor" class="btn2" @click="WeChatSanCode" v-if="sysPlat != 2 && $route.query.zfbVersion != 5">扫描付款码</van-button> - </div> - <Vdialog @cancel="cancel" :show="showDia"></Vdialog> - </div> -</template> - -<script> - import QRCode from 'qrcode'; - import FConfirmSimple from '@/components/old/FConfirmSimple.vue'; - import Vdialog from "@/components/common/v-dialog.vue"; - - export default { - name: 'hb-credit-installment', - components: { - FConfirmSimple,Vdialog - }, - data() { - return { - zfbRate:'',//花呗分期手续费率 - platRate:'',//智享服务费率 - showTwo:false, - showQi:'', - showDia:false, - monthMoney: '', //月还款总额 - contractGoodsBrand: '', //商品品牌 - contractGoodsName: '', //商品名称 - contractUserMblNo: '', //用户手机号 - contractUserName: '', //用户名称 - // hb - capitalAmt: '', //分期本金 - goodsBrand: '', //商品品牌 - goodsName: '', //商品名称 - orderNo: '', //未知参数 - term: null, //分期期数 - userMblNo: '', //用户手机号 - userName: '', //用户名称 - trial: {}, // 利率相关信息 - orderId: '', //订单id - payQrCodeUrl: '', // 二维码 - termList: [], //分期期数列表 - showConfirm: false, - value: "", //期数选择值 - showPicker: false, //期数选择弹出层控制 - backUrl:'',//红茄跳转链接 - sysPlat: null, - isGoBack:'',//用于重新扫码后判断值 - }; - }, - computed:{ - zfbRatePr(){ - if(this.zfbRate || this.zfbRate==0){ - return this.zfbRate + '%' - }else{ - return '' - } - - }, - platRatePr(){ - if(this.platRate || this.platRate==0){ - return this.platRate + '%' - }else{ - return '' - } - - } - }, - watch: { - capitalAmt(newV) { - if (+newV > 0 && Number(this.term) > 0) { - this.selectTerms(this.term); - } - } - }, - created() { - if(sessionStorage.hb_session_info&&this.$route.query.isCreateOrderPush){ - this.isGoBack = 1 - let hb_session_info = JSON.parse(sessionStorage.hb_session_info) - this.value = hb_session_info.term, - this.capitalAmt=hb_session_info.capitalAmt, - this.term=hb_session_info.term, - this.goodsName=hb_session_info.goodsName, - this.userName=hb_session_info.userName, - this.userMblNo=hb_session_info.userMblNo - } - //初始化 - let sysPlat = localStorage.sib_mer_sysPlat - if (sysPlat === 'undefined' || sysPlat === '1') { - sysPlat = 1 - } - if (sysPlat === '2') { - sysPlat = 2 - } - this.sysPlat = sysPlat - this.$api.hbOrderInit({ - prodId:this.$route.query.prodId*1, - zfbVersion:this.$route.query.zfbVersion - }).then(res => { - this.termList = []; - var arr = res.body.terms; - arr.forEach((ele, i) => { - ele.name = ele.name + '期' - }); - this.termList = arr - - }, err => err); - //获取微信配置 - this.getWeChatConfig() - }, - methods: { - cancel(val){ - this.showDia = val - }, - showPickerModel(){ - this.isGoBack = 2 - this.showPicker = true - }, - // 调用微信摄像头,扫一扫 - WeChatSanCode(){ - let sysPlat = localStorage.sib_mer_sysPlat - if (sysPlat === 'undefined' || sysPlat === '1') { - sysPlat = 1 - } - if (sysPlat === '2') { - sysPlat = 2 - } - let _this = this - let v = this.$tool; - if (v.checkValEmpty(this.capitalAmt)) { - v.toast('请输入商品金额'); - return false; - } - if (!Number(this.capitalAmt)) { - v.toast('请输入正确的商品金额'); - return false; - } - // 临时调整价格 - if ( - Number(this.capitalAmt) < 0 || - Number(this.capitalAmt) > 50000 - ) { - v.toast('商品金额必须在100-50000元之间'); - return false; - } - let res = /^[A-Za-z0-9\u4e00-\u9fa5]+$/; - if (v.checkValEmpty(this.goodsName)) { - v.toast('请输入商品名称'); - return false; - } - if (!res.test(this.goodsName)) { - v.toast('请输入文字/字母/数字且不包含特殊字符的商品名称'); - return false; - } - if (v.checkValEmpty(this.term)) { - v.toast('请输入分期期数'); - return false; - } - if (v.checkValEmpty(this.userName)) { - v.toast('请输入用户姓名'); - return false; - } - if (v.checkValEmpty(this.userMblNo)) { - v.toast('请输入用户手机号'); - return false; - } - if (!v.checkPhone(this.userMblNo)) { - v.toast('请输入正确的用户手机号'); - return false; - } - //判断是不是微信 - if (sysPlat == 1) { - this.checkIsReady().then(()=>{ - wx.scanQRCode({ - needResult: 1, // 默认为0,扫描结果由微信处理,1则直接返回扫描结果, - scanType: ["qrCode","barCode"], // 可以指定扫二维码还是一维码,默认二者都有 - success: function (res) { - // 当needResult 为 1 时,扫码返回的结果 - // 扫码成功后调用接口 - let obj = { - capitalAmt: _this.capitalAmt, - // goodsBrand: this.goodsBrand, - goodsName: _this.goodsName, - orderNo: _this.orderNo, - term: _this.term, - userMblNo: _this.userMblNo, - userName: _this.userName, - zfbVersion: _this.$route.query.zfbVersion, - payType: 2 ,//反扫 - authCode: res.resultStr, - sysPlat: sysPlat - }; - _this.$api.hbOrderCreate(obj).then(res=>{ - _this.orderId = res.body.orderId; - _this.$router.push({ - path:'/pay-result', - query:{ - orderId: _this.orderId, - mode: 'hb' - } - }) - }) - } - }); - }) - } - //判断是不是支付宝 - if (sysPlat == 2) { - my.postMessage({'sendToMiniProgram': '0'}) - my.onMessage = function(e) { - console.log(e); - let obj = { - capitalAmt: _this.capitalAmt, - // goodsBrand: this.goodsBrand, - goodsName: _this.goodsName, - orderNo: _this.orderNo, - term: _this.term, - userMblNo: _this.userMblNo, - userName: _this.userName, - zfbVersion: _this.$route.query.zfbVersion, - payType: 2 ,//反扫 - authCode: e, - sysPlat: sysPlat - }; - _this.$api.hbOrderCreate(obj).then(res=>{ - _this.orderId = res.body.orderId; - _this.$router.push({ - path:'/pay-result', - query:{ - orderId: _this.orderId, - mode: 'hb' - } - }) - }) - } - } - }, - // 异步准备微信环境 - checkIsReady() { - return new Promise((resolve, reject) => { - wx.ready(() => resolve()); - wx.error(err => reject(console.log(res + "wx.error"))); - }); - }, - // 获取微信配置 - getWeChatConfig(){ - let url = location.href.split('#')[0] - this.$api.getTokenInfo({ - url: url - }).then(res=>{ - // 获取微信配置 - wx.config({ - debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印 - appId: res.body.appId, // 必填,公众号的唯一标识 - timestamp: res.body.timestamp, // 必填,生成签名的时间戳 - nonceStr: res.body.nonceStr, // 必填,生成签名的随机串 - signature: res.body.signature,// 必填,签名 - jsApiList: ['checkJsApi','scanQRCode'], // 必填,需要使用的JS接口列表 - openTagList: [] // 可选,需要使用的开放标签列表,例如['wx-open-launch-app'] - }); - }) - }, - closeTwo(){ - this.showTwo=false - this.showPicker = false - }, - //顶部tabbar返回按钮 - onClickLeft() { - this.$router.go(-1); - }, - selectTerms(val) { - console.log(val) - if (!this.capitalAmt) { - this.$tool.toast('请输入商品金额'); - return; - } - if(val.serverStatus==0){ - this.showTwo = true - this.showQi = val.code - return - } - if(this.isGoBack!=1){ - //console.log(val.slice(0,-1)) - this.value = val.code; - //let valNum = val.slice(0,-1) - this.term = val.code; - } - - - this.$api.calcMonthMoney({ - capitalAmt: this.capitalAmt, - term: this.value - }).then(res => { - console.log(res.body) - this.zfbRate = res.body.zfbRate - this.platRate = res.body.platRate - this.trial.totalAmount = res.body.totalAmount; - this.trial.repayPerMonth = res.body.repayPerMonth; - this.trial.feeRate = res.body.feeRate + '%'; - this.monthMoney = res.body.repayPerMonth - }) - this.showPicker = false; - }, - handleHide() { - this.showConfirm = false; - }, - // 生成二维码 - createdQRCode() { - this.showConfirm = false; - let queryObj = { - orderId: this.orderId, - totalAmount: this.trial.totalAmount, - term: this.term, - typeId: this.$route.query.typeId, - zfbRate: this.zfbRate, - platRate: this.platRate, - capitalAmt: this.capitalAmt, - backUrl: this.backUrl, - } - if (this.$route.query.typeId) { - queryObj.typeId = this.$route.query.typeId; - } - this.$router.push({ - path: "/hb-getHBQRCode", - query: queryObj - }) - }, - // 商品分期生成订单 - goodInstallmentOrder() { - let v = this.$tool; - if (v.checkValEmpty(this.capitalAmt)) { - v.toast('请输入商品金额'); - return false; - } - if (!Number(this.capitalAmt)) { - v.toast('请输入正确的商品金额'); - return false; - } - // 临时调整价格 - if ( - Number(this.capitalAmt) < 100 || - Number(this.capitalAmt) > 50000 - ) { - v.toast('商品金额必须在100-50000元之间'); - return false; - } - let res = /^[A-Za-z0-9\u4e00-\u9fa5]+$/; - if (v.checkValEmpty(this.goodsName)) { - v.toast('请输入商品名称'); - return false; - } - if (!res.test(this.goodsName)) { - v.toast('请输入文字/字母/数字且不包含特殊字符的商品名称'); - return false; - } - if (v.checkValEmpty(this.term)) { - v.toast('请输入分期期数'); - return false; - } - if (v.checkValEmpty(this.userName)) { - v.toast('请输入用户姓名'); - return false; - } - if (v.checkValEmpty(this.userMblNo)) { - v.toast('请输入用户手机号'); - return false; - } - if (!v.checkPhone(this.userMblNo)) { - v.toast('请输入正确的用户手机号'); - return false; - } - // 用来整体存储缓存数据 - let hb_session_info = { - capitalAmt:this.capitalAmt, - term:this.term, - goodsName:this.goodsName, - userName:this.userName, - userMblNo:this.userMblNo - } - sessionStorage.hb_session_info = JSON.stringify(hb_session_info) - - let obj = { - capitalAmt: this.capitalAmt, - // goodsBrand: this.goodsBrand, - goodsName: this.goodsName, - orderNo: this.orderNo, - term: this.term, - userMblNo: this.userMblNo, - userName: this.userName, - zfbVersion: this.$route.query.zfbVersion, - payType:1, //正扫 - sysPlat: this.sysPlat - }; - this.$api.hbOrderCreate(obj).then(res => { - let body = res.body; - this.orderId = body.orderId; - this.payQrCodeUrl = body.payQrCodeUrl; - this.trial.totalAmount = body.totalAmount; - this.trial.repayPerMonth = body.repayPerMonth; - this.trial.feeRate = body.feeRate; - this.showConfirm = true; - this.zfbRate = res.body.zfbRate - this.platRate = res.body.platRate - - this.backUrl = res.body.backUrl - sessionStorage.hjBackUrl = res.body.backUrl - //this.capitalAmt = res.body.capitalAmt - - if (body.payQrCodeUrl) { - window.sessionStorage.setItem("hbpayQrCodeUrl", body.payQrCodeUrl); - this.createdQRCode(); - } - }, err => { - if(err.errorCode===30006007){ - this.showDia = true - } - }); - }, - }, - }; - -</script> -<style lang='less' scoped > - // /deep/.myDisableIpt{ - // color: #999999; - // } - /deep/.van-field__control:disabled { - color: #666; - -webkit-text-fill-color: #666; - background-color: transparent; - opacity: 1; - } - - .ipt, - .fenqi { - & { - border-bottom: 1px solid rgba(238,238,238,1); - color: #333; - font-size: 16px; - height: 50px; - } - } - .mer{ - width: 100%; - height: 150px; - background: linear-gradient(-45deg,rgba(104,98,133,1),rgba(76,69,113,1)); - overflow: hidden; - &-head{ - width: 96%; - margin: 28px 2% 0 2%; - height: 72px; - background:rgba(255,255,255,0.1); - // background: (0,0,0, 0.1); - border-radius: 36px; - .flex(); - &-item{ - width: 33%; - color: #fff; - text-align: center; - :first-child{ - margin-bottom: 11px; - font-size: 20px; - font-weight: bold; - } - :last-child{ - font-size: 12px; - } - } - &-line{ - width: 1px; - height: 20px; - background: #fff; - } - } - } - .group-content{ - transform: translateY(-25px); - width: 96%; - margin: 0 2%; - } - /deep/.weui-cells{ - border-radius: 6px; - font-size: 16px; - input{ - font-size: 14px; - } - } - .hb-order-confirm { - .trial-list { - padding-left: 20px; - } - - .f-button-component .f-button { - margin-top: 12px; - } - } - - .hb-credit-installment { - background-color: #F5F5F7; - // padding-top: 54px; - min-height: 100%; - .title { - padding: 14px 0px 14px 12px; - font-size: 16px; - font-weight: bold; - color: #333; - border-bottom: 1px solid rgba(238,238,238,1); - .line { - display: inline-block; - width: 3px; - height: 16px; - // margin-right: 8px; - background:rgba(137,110,219,1); - border-radius:0px 6px 0px 6px; - vertical-align: middle; - margin-top: -1px; - } - } - - .qrCode-box { - padding-top: 0; - .flexLayout(center, center, row); - - .qrCode { - width: 200px; - height: 200px; - box-sizing: border-box; - background-color: #fff; - border: 5px solid @color-border-theme; - padding: 5px; - - img { - width: 100%; - height: 100%; - vertical-align: middle; - display: block; - } - } - } - } - .btn-box{ - margin-top: 40px; - margin-bottom: 22px; - display: flex; - justify-content: space-around; - align-items: center; - .btn2{ - width: 40%; - height: 44px; - background:rgba(137,110,219,1); - color: white; - } - .active { - width: 80%; - } - } - -</style> diff --git a/src/views/old/store/hb-merchant-installment.vue b/src/views/old/store/hb-merchant-installment.vue deleted file mode 100644 index 3012297..0000000 --- a/src/views/old/store/hb-merchant-installment.vue +++ /dev/null @@ -1,439 +0,0 @@ -<!-- - * @Author: 小明丶 - * @Date: 2019-09-24 18:22:58 - * @LastEditors: 小明丶 - * @LastEditTime: 2019-09-27 15:10:45 - * @Description: - --> -<template> - <div class="hb-merchant-installment"> - <van-nav-bar title="办理分期" left-arrow @click-left="onClickLeft" /> - <div class="money-box"> - <div class="item-box"> - <p class="tit">商家到账金额</p> - <p v-if="this.capitalAmt == ''" class="money">0.00</p> - <p v-else class="money">{{this.capitalAmt}}</p> - </div> - <div class="item-box"> - <p class="tit">客户总还款金额</p> - <p v-if="this.totalAmount == ''" class="money">0.00</p> - <p v-else class="money">{{this.totalAmount}}</p> - </div> - <div class="item-box"> - <p class="tit">客户月还款金额</p> - <p v-if="this.monthMoney == ''" class="money">0.00</p> - <p v-else class="money">{{this.monthMoney}}</p> - </div> - </div> - <van-field - class="ipt" - v-model="howMouch" - type="number" - label="商品金额" - placeholder="请输入" - input-align="right" - border="true" - @input="changeMoney" - :maxlength="5" - required - /> - <van-field - class="fenqi" - readonly - clickable - label="分期期数" - :value="value" - placeholder="请选择" - @click="showPicker = true" - input-align="right" - border="true" - required - /> - - <van-popup v-model="showPicker" position="bottom" :style="{ height: '30%' }"> - <van-picker - title="选择期数" - show-toolbar - item-height="30" - :columns="columns" - @cancel="showPicker = false" - @confirm="onConfirm" - /> - </van-popup> - <van-field - class="ipt" - label="商品名称" - placeholder="请输入" - input-align="right" - border="true" - :maxlength="20" - v-model="contractGoodsName" - required - /> - <van-field - class="ipt" - label="商品品牌" - placeholder="请输入" - input-align="right" - border="true" - :maxlength="10" - v-model="contractGoodsBrand" - /> - <van-field - class="ipt" - label="用户姓名" - placeholder="请输入" - input-align="right" - border="true" - :maxlength="10" - v-model="contractUserName" - required - /> - <van-field - class="ipt" - type="tel" - label="用户手机号" - placeholder="请输入" - input-align="right" - border="true" - :maxlength="11" - v-model="contractUserMblNo" - required - /> - <van-button - round - type="info" - class="btn" - block="true" - color="linear-gradient(to right, #4bb0ff, #6149f6)" - @click="goodInstallmentOrder" - >创建订单</van-button> - <!--点击创建订单展示 弹窗 --> - <FConfirmSimple - v-model="showConfirm" - ref="FConfirmQRCode" - @on-hide="handleHide" - iconClass="scene_Staging-dingdan" - class="hb-order-confirm" - :showIcon="true" - > - <div class="trial-list"> - <div>还款总额:{{trial.totalAmount}}元</div> - <div>每月还款额:{{trial.repayPerMonth}}元</div> - <div>费率:{{trial.feeRate}}%</div> - </div> - <f-button @on-click="createdQRCode">生成二维码</f-button> - </FConfirmSimple> - </div> -</template> -<script> -import QRCode from "qrcode"; -import FConfirmSimple from "@/components/old/FConfirmSimple.vue"; -import axios from "axios"; -import Vue from "vue"; -import { NavBar } from "vant"; -import { Grid, GridItem } from "vant"; -import { Field } from "vant"; -import { DropdownMenu, DropdownItem } from "vant"; -import { Popup } from "vant"; -import { Picker } from "vant"; -import { Toast } from "vant"; -import { async } from "q"; - -Vue.use(Toast); -Vue.use(Picker); -Vue.use(Popup); -Vue.use(DropdownMenu).use(DropdownItem); -Vue.use(Field); -Vue.use(Grid).use(GridItem); -Vue.use(NavBar); -export default { - components: { - FConfirmSimple - }, - data() { - return { - showConfirm: false, - capitalAmt: "0.00", //商家到账金额 - monthMoney: "0.00", //客户月还款总额 - contractGoodsBrand: "", //商品品牌 - contractGoodsName: "", //商品名称 - contractUserMblNo: "", //用户手机号 - contractUserName: "", //用户名称 - totalAmount: "0.00", - orderNo: "", //未知参数 - term: null, //分期期数 - userMblNo: "", //用户手机号 - userName: "", //用户名称 - trial: {}, // 利率相关信息 - orderId: "", //订单id - typeId: "", - payQrCodeUrl: "", // 二维码 - termList: [], //分期期数列表 - showConfirm: false, - howMouch: "", //商品金额 - value: "", //期数选择值 - showPicker: false, //期数选择弹出层控制 - columns: [] //分期期数列表 - }; - }, - created() { - this.$api.shtxOrderInit().then( - res => { - console.log(res); - var arr = res.body.terms; - arr.forEach((ele, i) => { - this.columns.push(`${ele.code}期`); - }); - console.log(this.columns); - }, - err => err - ); - }, - methods: { - handleHide() { - this.showConfirm = false; - }, - //返回上一级按钮 - onClickLeft() { - this.$router.go(-1); - }, - //弹出层显示 - showPopup() { - this.show = true; - }, - // 弹出层期数选项控制 - onConfirm(value) { - this.value = value; - //console.log(value.slice(0, -1)); - this.showPicker = false; - this.term = value.slice(0, -1) - //得到月还款额 - this.$api - .getMonthMoney({ - totalAmount: this.howMouch, - term: value.slice(0, -1) - }) - .then(res => { - console.log(res); - this.capitalAmt = res.body.capitalAmt; - this.monthMoney = res.body.repayPerMonth; - this.totalAmount = res.body.totalAmount; - }); - }, - changeMoney(){ - if(this.howMouch != this.totalAmount && this.term!= null && this.howMouch !=''){ - //得到月还款额 - this.$api - .getMonthMoney({ - totalAmount: this.howMouch, - term: this.value.slice(0, -1) - }) - .then(res => { - this.capitalAmt = res.body.capitalAmt; - this.monthMoney = res.body.repayPerMonth; - this.totalAmount = res.body.totalAmount; - }); - } else if(this.howMouch == ''){ - this.capitalAmt = 0.00; - this.monthMoney = 0.00 - this.totalAmount = 0.00 - } - }, - //订单生成 - goodInstallmentOrder() { - this.totalAmount = this.howMouch - if(this.totalAmount != ''){ - this.$api - .getMonthMoney({ - totalAmount: this.howMouch, - term: this.value.slice(0, -1) - }) - .then(res => { - console.log(res); - this.capitalAmt = res.body.capitalAmt; - this.monthMoney = res.body.repayPerMonth; - this.totalAmount = res.body.totalAmount; - }); - } - let v = this.$tool; - if (v.checkValEmpty(this.totalAmount)) { - v.toast("请输入商品金额"); - return ; - } - // if (!Number(this.totalAmount)) { - // v.toast("请输入正确的结算金额"); - // return false; - // } - //临时调整价格 - if (Number(this.totalAmount) <= 0 ) { - v.toast("商品金额不能为0"); - return false; - } - let res = /^[A-Za-z0-9\u4e00-\u9fa5]+$/; - if (v.checkValEmpty(this.contractGoodsName)) { - v.toast("请输入商品名称"); - return ; - } - if (!res.test(this.contractGoodsName)) { - v.toast("请输入文字/字母/数字且不包含特殊字符的商品名称"); - return ; - } - if (v.checkValEmpty(this.term)) { - v.toast("请输入分期期数"); - return ; - } - if (v.checkValEmpty(this.contractUserName)) { - v.toast('请输入用户姓名'); - return false; - } - if (v.checkValEmpty(this.contractUserMblNo)) { - v.toast('请输入用户手机号'); - return false; - } - if (!v.checkPhone(this.contractUserMblNo)) { - v.toast('请输入正确的用户手机号'); - return false; - } - let queryObj = { - goodsBrand: this.contractGoodsBrand, //商品品牌 - goodsName: this.contractGoodsName, //商品名称 - prodId: 30000010, //产品id - term: this.value.slice(0, -1), //分期期数 - totalAmount: this.totalAmount, //商品总价 - userMblNo: this.contractUserMblNo, //用户电话号 - userName: this.contractUserName // 用户名称 - }; - this.$api.shtxOrderCreate(queryObj).then(res => { - console.log(res); - this.orderId = res.body.orderId; - this.payQrCodeUrl = res.body.payQrCodeUrl; - this.trial.totalAmount = res.body.totalAmount; - this.trial.repayPerMonth = res.body.repayPerMonth; - this.trial.feeRate = res.body.feeRate; - this.showConfirm = true; - }); - }, - //生成二维码 - createdQRCode() { - this.showConfirm = false; - var queryObj = { - term: this.value.slice(0, -1), //分期期数 - payQrCodeUrl: this.payQrCodeUrl, //二维码 - totalAmount: this.totalAmount //还款总额,本金 - }; - if (this.$route.query.typeId) { - queryObj.typeId = this.$route.query.typeId; - } - this.$router.push({ - path: "/shtx-getShtxQRCode", - query: { - orderId: this.orderId, - ...queryObj - } - }); - } - } -}; -</script> -<style lang="less" scoped> -.hb-merchant-installment { - & { - background-color: #e0e1e6; - width: 100%; - height: 100vh; - } - .money-box { - & { - width: 100%; - height: 13vh; - background-color: #e0e1e6; - display: flex; - justify-content: space-between; - text-align: center; - } - .item-box { - & { - display: flex; - flex-wrap: wrap; - align-content: center; - } - .tit { - font-size: 14px; - font-weight: 700; - display: inline-block; - vertical-align: middle; - width: 100%; - } - .money { - margin: 15px 0 0 0; - width: 100%; - } - } - } - .ipt, - .fenqi { - & { - border-bottom: 1px solid #e0e1e6; - } - } - .btn { - width: 80vw; - height: 6vh; - line-height: 6vh; - margin: auto; - position: fixed; - bottom: 3vh; - right: 10vw; - } - .hb-order-confirm { - .trial-list { - padding-left: 20px; - } - - .f-button-component .f-button { - margin-top: 12px; - } - } - - .hb-credit-installment { - background-color: #f1f1f1; - padding-top: 54px; - .title { - padding: 14px 12px; - font-size: 15px; - color: #333; - .line { - display: inline-block; - width: 2px; - height: 16px; - margin-right: 8px; - background: @color-text-three; - vertical-align: middle; - margin-top: -1px; - } - } - - .qrCode-box { - padding-top: 0; - .flexLayout(center, center, row); - - .qrCode { - width: 200px; - height: 200px; - box-sizing: border-box; - background-color: #fff; - border: 5px solid @color-border-theme; - padding: 5px; - - img { - width: 100%; - height: 100%; - vertical-align: middle; - display: block; - } - } - } - } -} -</style> diff --git a/src/views/old/store/hbcp.vue b/src/views/old/store/hbcp.vue deleted file mode 100644 index 73be15c..0000000 --- a/src/views/old/store/hbcp.vue +++ /dev/null @@ -1,147 +0,0 @@ -<template> - <div class="hbcp-page"> - <v-navbar title="花呗分期"></v-navbar> - <div class="list-box"> - <p v-if="list.length > 0">请选择产品</p> - <div class="cp-box"> - <div style="margin-top:16px" v-for="(item,i) in list" :key="i" > - <div class="box" @click="go(item)"> - <img :src="item.icon" alt /> - <p>{{item.typeName}}</p> - </div> - </div> - </div> - <p style="margin-top:40px" v-if="list2.length > 0">请选择消费场景</p> - <div class="cp-box-2"> - <div style="margin-top:16px" v-for="(item,i) in list2" :key="i" > - <div class="box" @click="go(item)"> - <img :src="item.icon" alt /> - <p>{{item.typeName}}</p> - </div> - </div> - </div> - </div> - </div> -</template> -<script> -export default { - data() { - return { - list: [], - list2:[], - }; - }, - created() { - JSON.parse(localStorage.hbcp).forEach(e=>{ - if(e.lineType==1){ - this.list.push(e) - }else{ - this.list2.push(e) - } - }) - - }, - methods: { - go(item) { - console.log(item) - // return - var path = "", - text = ""; - item.typeId = Number(item.typeId); - if (item.isHbProd == 1) { - path = "/channel-selection"; - switch (item.typeId) { - case 200002: - text = "用户付息通道"; - break; - case 200009: - text = "商品消费通道"; - break; - case 200010: - text = "商户贴息通道"; - break; - case 200011: - text = "运营商消费通道"; - break; - } - } else { - // switch (item.typeId) { - // case 200011: - // path = "/xyg/list"; - // break; - // } - } - this.$router.push({ - path, - query: { - typeId: item.typeId, - prodId: item.prodId, - text: text - } - }); - } - } -}; -</script> -<style lang="less" scoped> -.hbcp-page { - & { - min-height: 100vh; - background: #f5f5f7; - } - .list-box { - width: 94%; - min-height: 335px; - background: rgba(255, 255, 255, 1); - border-radius: 3px; - margin-top: 10px; - margin-left: 3%; - box-sizing: border-box; - padding: 24px 13px; - & > p { - font-size: 16px; - font-family: PingFang SC; - font-weight: 500; - color: rgba(51, 51, 51, 1); - } - & > .cp-box { - display: flex; - justify-content: space-around; - flex-wrap: wrap; - .box { - text-align: center; - width: 115px; - height: 90px; - background: rgba(255, 255, 255, 1); - box-shadow: 0px 0px 15px 0px rgba(66, 61, 93, 0.08); - border-radius: 8px; - padding-top: 15px; - box-sizing: border-box; - } - img { - width: 46px; - height: 46px; - } - } - & > .cp-box-2 { - display: flex; - justify-content: space-around; - flex-wrap: wrap; - .box { - text-align: center; - width: 115px; - height: 90px; - background: rgba(255, 255, 255, 1); - box-shadow: 0px 0px 15px 0px rgba(66, 61, 93, 0.08); - border-radius: 8px; - padding-top: 15px; - box-sizing: border-box; - } - img { - width: 46px; - height: 46px; - } - } - } -} -</style> \ No newline at end of file diff --git a/src/views/old/store/hbcp_sh.vue b/src/views/old/store/hbcp_sh.vue deleted file mode 100644 index d93a504..0000000 --- a/src/views/old/store/hbcp_sh.vue +++ /dev/null @@ -1,180 +0,0 @@ -<template> - <div class="hbcp-page"> - <van-nav-bar title="选择通道" left-text="返回" left-arrow @click-left="onClickLeft" fixed style="line-height: 43px;"> - <i class="iconfont iconzuojiantou" slot="left" style="font-size: 25px;"></i> - </van-nav-bar> - <div class="list-box"> - <p v-if="list.length > 0">请选择产品</p> - <div class="cp-box"> - <div style="margin-top:16px" v-for="(item,i) in list" :key="i" > - <div class="box" @click="go(item)"> - <img :src="item.icon" alt /> - <p>{{item.typeName}}</p> - <!-- <p v-if="item.openStatus==2" class="open">已开通</p> - <p v-if="item.openStatus==1" class="notOpen">开通中</p> - <p v-if="item.openStatus==3" style="color:#ED4014;margin-top: 8px;">未通过</p> - <p v-if="item.openStatus==0" style="color:#B3B3B3;margin-top: 8px;">未开通</p> --> - </div> - </div> - </div> - <p style="margin-top:40px" v-if="list2.length > 0">请选择消费场景</p> - <div class="cp-box-2"> - <div style="margin-top:16px" v-for="(item,i) in list2" :key="i"> - <div class="box" @click="go(item)"> - <img :src="item.icon" alt /> - <p>{{item.typeName}}</p> - <!-- <p v-if="item.openStatus==2 && item.typeId == 200011" class="open">已开通</p> - <p v-if="item.openStatus==1 && item.typeId == 200011" class="notOpen">开通中</p> - <p v-if="item.openStatus==3 && item.typeId == 200011" style="color:#ED4014;margin-top: 8px;">未通过</p> - <p v-if="item.openStatus==0 && item.typeId == 200011" style="color:#B3B3B3;margin-top: 8px;">未开通</p> --> - </div> - </div> - </div> - </div> - </div> -</template> -<script> -export default { - data() { - return { - list: [], - list2:[], - }; - }, - created() { - let list = JSON.parse(localStorage.getItem('hbcp_sh')) - list.forEach(e=>{ - if(e.lineType==1){ - this.list.push(e) - }else{ - if(e.prodId != 30000008){ - this.list2.push(e) - } - } - }) - - }, - methods: { - onClickLeft(){ - this.$router.push('/main/productManagement'); - }, - go(item) { - console.log(item) - // return - var path = "", - text = ""; - item.typeId = Number(item.typeId); - if (item.isHbProd == 1) { - path = "/channel-selection_sh"; - switch (item.typeId) { - case 200002: - text = "用户付息通道"; - break; - case 200009: - text = "商品消费通道"; - break; - case 200010: - text = "商户贴息通道"; - break; - case 200011: - text = "运营商消费通道"; - break; - } - } else { - // switch (item.typeId) { - // case 200011: - // path = "/xyg/list"; - // break; - // } - } - this.$router.push({ - path, - query: { - typeId: item.typeId, - prodId: item.prodId, - openStatus: item.openStatus - } - }); - } - } -}; -</script> -<style lang="less" scoped> -.hbcp-page { - & { - min-height: 100vh; - padding-top: 56px; - background: #f5f5f7; - } - .list-box { - width: 94%; - min-height: 335px; - background: rgba(255, 255, 255, 1); - border-radius: 3px; - margin-top: 10px; - margin-left: 3%; - box-sizing: border-box; - padding: 24px 23px; - & > p { - font-size: 16px; - font-family: PingFang SC; - font-weight: 500; - color: rgba(51, 51, 51, 1); - } - & > .cp-box { - display: flex; - justify-content: space-between; - flex-wrap: wrap; - .box { - text-align: center; - width: 140px; - height: 100px; - background: rgba(255, 255, 255, 1); - box-shadow: 0px 0px 15px 0px rgba(66, 61, 93, 0.08); - border-radius: 8px; - padding-top: 15px; - box-sizing: border-box; - .open{ - color:#19BE6B; - margin-top: 8px; - } - .notOpen{ - color:#ED4014; - margin-top: 8px; - } - } - img { - width: 46px; - height: 46px; - } - } - & > .cp-box-2 { - display: flex; - justify-content: space-between; - flex-wrap: wrap; - .box { - text-align: center; - width: 140px; - height: 100px; - background: rgba(255, 255, 255, 1); - box-shadow: 0px 0px 15px 0px rgba(66, 61, 93, 0.08); - border-radius: 8px; - padding-top: 15px; - box-sizing: border-box; - .open{ - color:#19BE6B; - margin-top: 8px; - } - .notOpen{ - color:#ED4014; - margin-top: 8px; - } - } - img { - width: 46px; - height: 46px; - } - } - } -} -</style> \ No newline at end of file diff --git a/src/views/old/store/hbhy-installment.vue b/src/views/old/store/hbhy-installment.vue deleted file mode 100644 index a59e764..0000000 --- a/src/views/old/store/hbhy-installment.vue +++ /dev/null @@ -1,448 +0,0 @@ -<!-- - * @Author: 小明丶 - * @Date: 2019-10-18 16:12:03 - * @LastEditors: 小明丶 - * @LastEditTime: 2020-11-16 16:50:51 - * @Description: - --> -<template> - <div class="hbhy-box"> - <!-- <van-nav-bar title="办理套餐" left-arrow @click-left="onClickLeft" fixed /> --> - <!-- <x-header title="办理套餐" :left-options="{backText:''}"></x-header> --> - <v-navbar title="办理套餐" fixed> - - </v-navbar> - <div class="mine-box"> - <div class="left-box" ref="boxLeft" > - <!-- <div class="top-tit"> - <p>常用套餐</p> - </div>--> - <div - class="list-tit" - v-for="(item,i) in myList" - :key="i" - @click="check(item,i)" - :class="item.baColor" - > - <div class="text-box" :class="item.checkColor" :style="{'border-left':`4px solid ${$store.state.backColor}`}"> - <p v-if="i==0" style="line-height:30px;" :style="{color:$store.state.backColor}">常用套餐</p> - <p v-if="i!=0" :style="{color:$store.state.backColor}">{{item.categoryName}}</p> - </div> - </div> - </div> - <div class="right-box" ref="boxRight"> - <div class="right-top" v-if="myContent[0].tit==2"> - <p>{{this.myContent[0].categoryName}}</p> - </div> - <div class="right-top" v-if="myContent[0].tit==1"> - <p>常用套餐</p> - </div> - <div v-for="(v,i) in myContent" :key="i" style="margin-top:20px;width:94%;margin-left:3%" v-if="v.tit==1"> - <p>{{v.categoryName}}</p> - <div - class="right-text-box" - v-for="(ele,index) in v.contracts" - :key="index" - @click="goNext(ele,index)" - > - <div class="yuan" style="width:5%"></div> - <div class="taocan"> - <p> - <span class="one">{{ele.packagePrices}}</span> - <span class="two">元套餐</span> - </p> - </div> - <div class="bus"> - <p style="font-size:14px">{{ele.capitalAmt}}</p> - <p style="margin-top:5px;color:#999999">商户到账</p> - </div> - <div class="huankuan" style="margin-right:5px;margin-left:5px;"> - <p style="font-size:14px">{{ele.monthlyPayments}}</p> - <p style="margin-top:5px;color:#999999">每月还款</p> - </div> - <div class="zong"> - <p style="font-size:14px">{{ele.insAmt}}</p> - <p style="margin-top:5px;color:#999999">总还款额</p> - </div> - <div class="yuan" style="width:5%"></div> - </div> - </div> - - <div v-for="(ele,i) in myContent" :key="i" style="margin-top:20px;width:94%;margin-left:3%" v-if="ele.tit==2"> - <div - class="right-text-box" - :key="index" - @click="goNext(ele,index)" - > - <div class="yuan" style="width:5%"></div> - <div class="taocan"> - <p> - <span class="one">{{ele.packagePrices}}</span> - <span class="two">元套餐</span> - </p> - </div> - <div class="bus"> - <p style="font-size:14px">{{ele.capitalAmt}}</p> - <p style="margin-top:5px;color:#999999">商户到账</p> - </div> - <div class="huankuan" style="margin-right:5px;margin-left:5px;"> - <p style="font-size:14px">{{ele.monthlyPayments}}</p> - <p style="margin-top:5px;color:#999999">每月还款</p> - </div> - <div class="zong"> - <p style="font-size:14px">{{ele.insAmt}}</p> - <p style="margin-top:5px;color:#999999">总还款额</p> - </div> - <div class="yuan" style="width:5%"></div> - </div> - </div> - </div> - </div> - </div> -</template> -<script> -import Vue from "vue"; -import { NavBar } from "vant"; - -Vue.use(NavBar); -export default { - data() { - return { - myList: [ - { - tit: "常用套餐", - checkColor: { checkColor: true }, - baColor: { baColor: true } - } - ], //左侧导航显示内容 - myContent: [ - { - taocan: "98", - bus: "785", - huankuan: "64", - zong: "1264" - }, - { - taocan: "98", - bus: "785", - huankuan: "64", - zong: "1264" - }, - { - taocan: "98", - bus: "785", - huankuan: "64", - zong: "1264" - }, - { - taocan: "98", - bus: "785", - huankuan: "64", - zong: "1264" - }, - { - taocan: "98", - bus: "785", - huankuan: "64", - zong: "1264" - }, - { - taocan: "98", - bus: "785", - huankuan: "64", - zong: "1264" - }, - { - taocan: "98", - bus: "785", - huankuan: "64", - zong: "1264" - }, - { - taocan: "98", - bus: "785", - huankuan: "64", - zong: "1264" - }, - { - taocan: "98", - bus: "785", - huankuan: "64", - zong: "1264" - }, - { - taocan: "198", - bus: "785", - huankuan: "64", - zong: "1264" - }, - { - taocan: "298", - bus: "785", - huankuan: "64", - zong: "1264" - }, - { - taocan: "398", - bus: "785", - huankuan: "64", - zong: "1264" - } - ], //右侧显示套餐内容 - content: [], //暂存数据 - typeId:'', - }; - }, - mounted() { - //console.log(this.$route.query) - //获取设备高度减去头部高度,防止高度溢出 - this.$refs.boxLeft.style.height = `${document.body.clientHeight - 46}px`; - this.$refs.boxRight.style.height = `${document.body.clientHeight - 46}px`; - this.typeId = this.$route.query.typeId - this.$api - .categoryList({ - typeId: this.$route.query.typeId - }) - .then(res => { - console.log(res); - res.body.categoryList.forEach((ele, i) => { - ele.checkColor = { checkColor: false }; - ele.baColor = { baColor: false }; - }); - //console.log(res.body.categoryList) - if(res.body.commonUse.length > 0){ - res.body.commonUse.forEach((ele, i) => { - ele.checkColor = { checkColor: true }; - ele.baColor = { baColor: true }; - ele.tit = 1; - }); - this.myList = [res.body.commonUse[0], ...res.body.categoryList]; - } - if(res.body.commonUse.length <= 0){ - var arr = res.body.commonUse.push({ - checkColor : { checkColor: true }, - baColor : { baColor: true }, - tit : 1 - }) - console.log('arr',arr) - this.myList = [...res.body.commonUse, ...res.body.categoryList]; - } - - this.myContent = [...res.body.commonUse]; - this.content = res.body.commonUse; - console.log(this.myContent) - }); - }, - computed: { - getContent(){ - - }, - }, - updated() { - console.log("修改了"); - window.onresize; - }, - methods: { - //路由回退 - onClickLeft() { - this.$router.go(-1); - }, - //左侧点击选中样式改变 - check(item, i) { - console.log('item',item) - this.myList.forEach((ele, i) => { - ele.checkColor.checkColor = false; - ele.baColor.baColor = false; - }); - item.checkColor.checkColor = true; - item.baColor.baColor = true; - - if (i > 0) { - //console.log(1); - item.contracts.forEach((ele)=>{ - ele.tit = 2 - }) - this.myContent = item.contracts; - } else { - //console.log(2); - item.tit = 1 - this.myContent = this.content; - } - console.log("content", this.myContent); - }, - //跳转办单页面 - goNext(ele, index) { - console.log(ele) - this.$router.push({ - path: "/hbhy-detail", - query: { - packageTariff:ele.packagePrices, - totalRepayment:ele.insAmt, - monthlyRepayment:ele.monthlyPayments, - trim:ele.term, - merchantArrival:ele.capitalAmt, - contId:ele.contId, - contName:ele.contName, - typeId:this.$route.query.typeId, - zfbVersion:this.$route.query.zfbVersion, - zfbRate:ele.zfbRate, - platRate:ele.platRate - } - }); - } - } -}; -</script> -<style lang="less" scoped> -.hbhy-box { - & { - height: 100vh; - background-color: #f5f5f5; - } - .mine-box { - display: flex; - width: 100%; - .left-box::-webkit-scrollbar { - display: none; - } - .left-box { - margin-top: 46px; - overflow-y: scroll; - width: 23%; - background-color: white; - .top-tit, - .list-tit { - border-bottom: 1px rgb(226, 226, 226) solid; - height: 60px; - box-sizing: border-box; - } - .top-tit { - padding: 25px 12px 24px 12px; - p { - color: #666666; - width: 100%; - text-align: center; - } - } - .baColor { - background-color: #f5f5f7; - } - .list-tit { - padding-top: 14px; - .checkColor { - border-left: 4px solid #896edb; - color: #896edb !important; - } - - .text-box { - height: 30px; - color: #666666; - font-weight: Medium; - p { - display: block; - height: 30px; - width: 70%; - margin: auto auto; - word-break: break-all; - text-overflow: ellipsis; - display: -webkit-box; - -webkit-box-orient: vertical; - -webkit-line-clamp: 2; - overflow: hidden; - } - } - } - } - .right-box::-webkit-scrollbar { - display: none; - } - .right-box { - margin-top: 46px; - box-sizing: border-box; - padding-top: 15px; - width: 77%; - overflow-y: scroll; - background-color: #f5f5f7; - .right-top { - background-color: rgba(237, 237, 247, 1); - border: 1px dashed rgba(174, 172, 187, 1); - border-radius: 4px; - text-align: center; - width: 94%; - height: 36px; - margin: auto; - p { - font-size: 14px; - color: #423d5d; - line-height: 36px; - } - } - .right-text-box::after { - width: 16px; - height: 16px; - content: ""; - right: -12px; - top: 24px; - position: absolute; - display: block; - background: #f5f5f5; - border-radius: 20px; - border-left: 1px solid #c3b5ec; - } - .right-text-box::before { - width: 16px; - height: 16px; - content: ""; - left: -12px; - top: 24px; - position: absolute; - display: block; - background: #f5f5f5; - border-radius: 20px; - border-right: 1px solid #c3b5ec; - } - .right-text-box { - & { - display: flex; - width: 100%; - height: 62px; - margin: auto; - margin-top: 10px; - margin-bottom: 10px; - background: rgba(255, 255, 255, 1); - border: 1px solid rgba(195, 181, 236, 1); - border-radius: 5px; - position: relative; - } - .taocan { - width: 38%; - .one { - font-size: 14px; - color: #ff6666; - font-weight: bold; - } - .two { - font-size: 14px; - } - p { - display: inline-block; - height: 20px; - width: 92%; - margin-top: 24px; - border-right: 1px solid black; - box-sizing: border-box; - } - } - .bus, - .huankuan, - .zong { - width: 25%; - font-size: 12px; - text-align: center; - margin-top: 16px; - } - } - } - } -} -</style> \ No newline at end of file diff --git a/src/views/old/store/hbjl/creat-hbjl.vue b/src/views/old/store/hbjl/creat-hbjl.vue deleted file mode 100644 index 1157d3a..0000000 --- a/src/views/old/store/hbjl/creat-hbjl.vue +++ /dev/null @@ -1,191 +0,0 @@ -<!-- - * @Author: 小明丶 - * @Date: 2020-06-08 10:25:54 - * @LastEditors: 小明丶 - * @LastEditTime: 2020-06-13 19:04:28 - * @Description: 花呗间联办单 ---> -<template> - <div class="creat-hbjl-page"> - <v-navbar title="创建订单"></v-navbar> - <div class="order-info-box"> - <van-field center clearable label="还款期数"> - <template #button> - <div> - <button - v-for="(item,index) in btnList" - :key="index" - style="margin:0 5px" - :class="isAct==index?'act':'noAct'" - @click="getTerm(item,index)" - >{{item.name}}期</button> - </div> - </template> - </van-field> - <van-field v-model="form.userAmt" label="到账金额" placeholder="请输入到账金额" @input="getTrial(1)" input-align="right" /> - <van-field v-model="form.insAmt" label="还款金额" placeholder="请输入还款金额" @input="getTrial(2)" input-align="right" /> - </div> - <div class="btn-box"> - <button class="btn" @click="goNext">生成二维码</button> - <p> - <span>推广码:{{inviteCode}}</span> - <button class="small-btn" @click="copy">复制</button> - </p> - </div> - <van-dialog v-model="show" title="提示" confirmButtonColor="#423D5D" @confirm="onConfirm" show-cancel-button> - <div class="tip-box"> - <p>由于相关政策及对应计算</p> - <p>还款金额发送变动</p> - <p>当前还款金额为:{{form.insAmt}}元</p> - </div> - </van-dialog> - </div> -</template> -<script> -import {_copyToClipboard} from '@/utils/index'; -import Vue from "vue"; -import { Field } from "vant"; -import { Dialog } from "vant"; - -Vue.use(Dialog); -Vue.use(Field); -export default { - data() { - return { - form: { - insAmt: "", - userAmt: "", - term: '' - }, - show:false, - isAct: 0, - btnList: [], - inviteCode:'', - mgrId:'' - }; - }, - created() { - this.$api.hbjlOrderInit().then(res => { - this.btnList = res.body.terms; - this.inviteCode = res.body.inviteCode - this.mgrId = res.body.mgrId - this.form.term = res.body.terms[0].code - }); - }, - methods: { - getTrial(i) { - if(i==1){ - this.$api.hbjlOrderTrial({ - insAmt:'', - userAmt:this.form.userAmt, - term:this.form.term - }).then(res=>{ - this.form.insAmt = res.body.insAmt - this.form.userAmt = res.body.userAmt - }) - } - if(i==2){ - this.$api.hbjlOrderTrial({ - insAmt:this.form.insAmt, - userAmt:'', - term:this.form.term - }).then(res=>{ - this.form.insAmt = res.body.insAmt - this.form.userAmt = res.body.userAmt - }) - } - }, - // 期数选择 - getTerm(item, index) { - this.isAct = index; - this.form.term = item.code; - }, - goNext() { - this.show = true - - }, - onConfirm(){ - this.$router.push({ - path:'/hbjl-qr', - query:{ - ...this.form, - inviteCode:this.inviteCode, - mgrId:this.mgrId, - } - }) - }, - copy() { - _copyToClipboard(this.inviteCode); - this.$notify_success('复制成功'); - }, - } -}; -</script> -<style lang="less" scoped> -.creat-hbjl-page { - & { - min-height: 100vh; - background: #efefef; - } - .order-info-box { - & { - background: #fff; - border-radius: 3px; - width: 359px; - min-height: 150px; - margin: 10px auto; - } - button { - width: 50px; - height: 28px; - outline: none; - border-radius: 3px; - } - .act { - background: rgba(244, 241, 255, 1); - border: 1px solid rgba(137, 110, 219, 1); - color: #896edb; - } - .noAct { - background: rgba(255, 255, 255, 1); - border: 1px solid rgba(230, 230, 230, 1); - } - } - .btn-box { - & { - text-align: center; - margin-top: 60px; - } - .btn { - width: 320px; - height: 44px; - background: rgba(137, 110, 219, 1); - border-radius: 22px; - border: 0; - outline: none; - color: #fff; - } - p{ - margin-top: 24px; - .small-btn{ - width:60px; - height:20px; - background:rgba(244,241,255,1); - border:1px solid rgba(137,110,219,1); - border-radius:3px; - font-size: 12px; - color: #896EDB; - } - } - } - .tip-box{ - font-size:14px; - font-family:PingFang SC; - font-weight:500; - color:rgba(102,102,102,1); - line-height:20px; - text-align: center; - padding: 24px 0; - } -} -</style> \ No newline at end of file diff --git a/src/views/old/store/hbjl/hbjl-qr.vue b/src/views/old/store/hbjl/hbjl-qr.vue deleted file mode 100644 index ecfd5f3..0000000 --- a/src/views/old/store/hbjl/hbjl-qr.vue +++ /dev/null @@ -1,117 +0,0 @@ -<!-- - * @Author: 小明丶 - * @Date: 2020-06-08 11:13:16 - * @LastEditors: 小明丶 - * @LastEditTime: 2020-06-13 19:15:35 - * @Description: 花呗间联二维码页面 ---> -<template> - <div class="hbjl-qr-vue"> - <v-navbar title="生成订单"></v-navbar> - <div class="top-back-box"> - <div class="back-line-box"></div> - <div class="qr-box"> - <div class="code-box"> - <img :src="qrCode" alt /> - </div> - <div class="tip-box"> - <p>二维码失效时间为半小时</p> - <p>请尽快提供给用户完成扫码</p> - </div> - </div> - </div> - </div> -</template> -<script> -import QRCode from 'qrcode'; -export default { - data() { - return { - qrCode:'', - params:{} - } - }, - created(){ - //创建二维码 - this.params = { ...this.$route.query }; - let url = JSON.stringify(this.params) - //let url = `{'insAmt':'${this.params.insAmt}','userAmt':'${this.params.userAmt}','term':'${this.params.term}','inviteCode':'${this.params.inviteCode}','mgrId':'${this.params.mgrId}'}`; - QRCode.toDataURL( - url, - { - margin: 1, - width: 400 - }, - (err, url) => { - if (err) console.error(err); - this.qrCode = url; - } - ); - }, -}; -</script> -<style lang="less" scoped> -.hbjl-qr-vue { - & { - min-height: 100vh; - background: #efefef; - position: relative; - } - .top-back-box { - width: 100%; - height: 117px; - background: url("../../../../assets/img/bg_top.png"); - background-size: cover; - display: flex; - justify-content: center; - flex-wrap: wrap; - // align-items: center; - .back-line-box { - width: 335px; - height: 14px; - background: rgba(56, 50, 87, 1); - border-radius: 7px; - margin-top: 49px; - } - .qr-box { - & { - width: 300px; - height: 300px; - background: rgba(255, 255, 255, 1); - box-shadow: 0px 12px 15px 0px rgba(63, 58, 80, 0.05); - border-radius: 0px 0px 5px 5px; - margin-top: -7px; - display: flex; - flex-wrap: wrap; - justify-content: center; - } - .code-box { - & { - width: 200px; - height: 200px; - background: url("../../../../assets/img/bg_code.png"); - margin-top: 36px; - box-sizing: border-box; - padding: 8px; - } - img { - width: 184px; - height: 184px; - } - } - .tip-box { - & { - text-align: center; - width: 100%; - } - p { - font-size: 12px; - font-family: PingFang SC; - font-weight: 500; - color: rgba(153, 153, 153, 1); - } - } - } - } -} -</style> \ No newline at end of file diff --git a/src/views/old/store/lthyj.vue b/src/views/old/store/lthyj.vue deleted file mode 100644 index bc9c972..0000000 --- a/src/views/old/store/lthyj.vue +++ /dev/null @@ -1,188 +0,0 @@ - -<template> - <div class="lthyj"> - <v-navbar title="办理合约"></v-navbar> - <div class="info"> - <div class="hyInfo"> - <div class="title">合约信息</div> - <van-field readonly clickable - label="合约套餐" - :value="selectConInfo.contName" - placeholder="选择合约套餐" - @click="showPicker = true" - /> - <van-cell title="月缴话费" :value="selectConInfo.monthConsAmt | dealMoney" /> - <van-cell title="期数" :value="selectConInfo.term | dealTerm" /> - <van-cell title="电子券金额" :value="selectConInfo.eleBondAmt | dealMoney" /> - <van-cell title="直降金额" :value="selectConInfo.strDownAmt | dealMoney" /> - </div> - <div class="spInfo"> - <div class="title">商品信息</div> - <van-cell-group> - <van-field v-model.trim="goodsInfo.goodsBrand" label="品牌" placeholder="请输入品牌" /> - <van-field v-model.trim="goodsInfo.goodsModel" label="规格" placeholder="请输入规格" /> - <van-field v-model.trim="goodsInfo.goodsPrice" label="价格" placeholder="请输入价格" /> - </van-cell-group> - </div> - </div> - <van-button round type="info" color="#896EDB" class="btn" @click='createdQRCode'>生成二维码</van-button> - <van-popup v-model="showPicker" round position="bottom"> - <van-picker - show-toolbar - :columns="columns" - @cancel="showPicker = false" - @confirm="onConfirm" - /> - </van-popup> - </div> -</template> - -<script> - import QRCode from 'qrcode'; - export default { - name: 'lthyj', - data() { - return { - columns: [], - tcInfoList: [], - showPicker: false, - // 合约信息 - selectConInfo: { - contId: '', - eleBondAmt: '', - monthConsAmt: '', - strDownAmt: '', - contName: '', - term: '' - }, - // 商品信息 - goodsInfo: { - goodsBrand: '', //商品品牌 - goodsModel: '', // 商品型号 - goodsPrice: '' // 价格 - }, - }; - }, - filters: { - dealMoney(val) { - return val ? `${val}元` : '' - }, - dealTerm(val) { - return val ? `${val}期` : '' - } - }, - created() { - this.init() - }, - methods: { - init() { - this.$api.cuccOrderInit().then(res => { - this.tcInfoList = res.body - this.columns = res.body.map(it => { - return it.contName - }) - }); - }, - onConfirm(picker, value) { - console.log(picker, value) - this.selectConInfo.contId = this.tcInfoList[value].contId - this.selectConInfo.eleBondAmt = this.tcInfoList[value].eleBondAmt - this.selectConInfo.monthConsAmt = this.tcInfoList[value].monthConsAmt - this.selectConInfo.strDownAmt = this.tcInfoList[value].strDownAmt - this.selectConInfo.contName = this.tcInfoList[value].contName - this.selectConInfo.term = this.tcInfoList[value].term - - this.showPicker = false; - }, - // 生成二维码 - createdQRCode() { - let v = this.$tool; - if (v.checkValEmpty(this.selectConInfo.contName)) { - v.toast('请选择合约套餐'); - return false; - } - if (v.checkValEmpty(this.goodsInfo.goodsBrand)) { - v.toast('请输入商品品牌'); - return false; - } - if (!/^[A-Za-z0-9\u4e00-\u9fa5]+$/.test(this.goodsInfo.goodsBrand)) { - v.toast('请输入文字/字母/数字且不包含特殊字符的商品品牌'); - return false; - } - if (v.checkValEmpty(this.goodsInfo.goodsModel)) { - v.toast('请输入商品规格'); - return false; - } - if (v.checkValEmpty(this.goodsInfo.goodsPrice)) { - v.toast('请输入商品价格'); - return false; - } - if (!/^[1-9]\d{0,4}/.test(this.goodsInfo.goodsPrice)) { - v.toast('请输入商品正确的价格'); - return false; - } - let queryObj = { - ...this.goodsInfo, - contId: this.selectConInfo.contId, // 合约id - }; - this.$api.cuccOrderPreCreate(queryObj).then(res => { - console.log(res) - this.$router.push({ - path: "/lthyj-qrcode", - query: { - str: res.body - } - }) - }); - - }, - } - }; - -</script> - - -<style lang='less' scoped> - .lthyj { - width: 100%; - height: 100%; - background: #F3F4F5; - .van-cell { - height: 50px; - } - .info { - padding: 0 16px; - .hyInfo, .spInfo { - width: 100%; - background: #fff; - border-radius: 6px; - // padding: 0 12px; - margin-top: 10px; - box-sizing: border-box; - .title { - padding-left: 12px; - height: 50px; - line-height: 50px; - font-size: 16px; - font-family: PingFang SC; - font-weight: bold; - color: #423D5D; - border-bottom: 1px solid #E9E9E9; - } - } - } - .btn { - margin: 40px 0 20px 10% ; - width: 80%; - } - } - -</style> -<style scoped> - .spInfo >>> .van-field__control { - text-align: right; - } - .hyInfo >>> .van-field__control { - text-align: right; - } -</style> diff --git a/src/views/old/store/lthyjQrcode.vue b/src/views/old/store/lthyjQrcode.vue deleted file mode 100644 index 51ac7f8..0000000 --- a/src/views/old/store/lthyjQrcode.vue +++ /dev/null @@ -1,105 +0,0 @@ - -<template> - <div class="lthyjQrcode"> - <v-navbar title="扫码办理"></v-navbar> - <div class="bj"> - <div class="qrcodeBox"> - <div class="qrcode"> - <img :src="qrCodeBase64Url" alt="qrcode" v-if="qrCodeBase64Url"> - <img :src="dataUrl" alt="" v-else > - </div> - <p class="notice">二维码失效时间为半小时请尽快提供给用户进行扫码</p> - </div> - </div> - </div> -</template> -<script> - import html2canvas from 'html2canvas'; - import QRCode from 'qrcode'; - - export default { - name: 'contract-qrcode', - data() { - return { - dataUrl: '', - qrCodeBase64Url: '', - params: '' - } - }, - methods: { - clickLeft() { - this.$router.go(-1) - } - }, - created(){ - QRCode.toDataURL( - JSON.stringify(this.$route.query.str), { - margin: 0, - width: 400 - }, - (err, url) => { - if (err) console.error(err); - this.dataUrl = url; - setTimeout(() => { - html2canvas(document.getElementById('QRCode')).then( - canvas => { - this.qrCodeBase64Url = canvas.toDataURL( - 'image/jpeg' - ); - } - ); - }, 100); - } - ); - } - } - -</script> -<style lang="less" scoped> - .lthyjQrcode { - width: 100%; - height: 100%; - background: #F3F4F5; - .bj { - width: 100%; - height: 150px; - background: linear-gradient(-45deg, #686285, #4C4571); - position: relative; - .qrcodeBox { - position: absolute; - top: 40px; - left: 5.5%; - width: 89%; - height: 287px; - background: #FFFFFF; - border-radius: 3px; - display: flex; - flex-direction: column; - align-items: center; - .qrcode { - width: 190px; - height: 190px; - border: 1px solid #514B75; - margin-top: 28px; - display: flex; - flex-direction: column; - align-items: center; - justify-content: center; - img { - width: 182px; - height: 182px; - } - } - .notice { - font-size: 12px; - font-family: PingFang SC; - font-weight: 500; - color: #333333; - line-height: 18px; - text-align: center; - margin-top: 16px; - } - } - } - } -</style> diff --git a/src/views/old/store/mobile/mobileInstallment.vue b/src/views/old/store/mobile/mobileInstallment.vue deleted file mode 100644 index 4d691f4..0000000 --- a/src/views/old/store/mobile/mobileInstallment.vue +++ /dev/null @@ -1,279 +0,0 @@ -<!-- - * @Author: 小明丶 - * @Date: 2019-08-30 14:24:40 - * @LastEditors: 小明丶 - * @LastEditTime: 2019-09-05 11:22:31 - * @Description: - --> -/* -* @Author: c.y -* @Date: 2019-1-14 16:02:10 - * @Last Modified by: CL - * @Last Modified time: 2019-01-30 11:53:21 -* @文件说明: 手机分期创建订单 -*/ -<template> - <div class="mobile-installment h-100-g"> - <x-header title="办理分期" :left-options="{backText:''}"></x-header> - <group> - <x-input title='客户手机号' v-model.trim="mobileInfo.userMblNo" - type="tel" - :max='11' - placeholder="请输入" text-align='right'></x-input> - <x-input title='客户姓名' v-model.trim="mobileInfo.userName" placeholder='请输入' :max='6' - text-align='right'></x-input> - <x-input title='身份证' v-model.trim="mobileInfo.idNo" placeholder='请输入' :max='18' - text-align='right'></x-input> - <selector title='手机品牌' placeholder='请选择' @on-change='other' v-model="mobileInfo.mblBrand" :options='mobileBrandList' - :value-map="['code','name']" - direction='rtl'></selector> - <x-input v-if="others" title='品牌名称' v-model.trim="mobileInfo.mblBrand1" placeholder='请输入' :max='10' text-align='right'></x-input> - - <selector title='分期期数' placeholder='请选择' v-model="mobileInfo.term" :options='termList' - :value-map="['code','name']" - direction='rtl'></selector> - <x-input title='手机型号' v-model.trim="mobileInfo.mblModel" placeholder='请输入' :max='15' - text-align='right'></x-input> - <x-input title='IMEI' v-model.trim="mobileInfo.mblImei" placeholder='请输入' :max='20' - text-align='right'></x-input> - </group> - <f-space></f-space> - <group> - <x-input title='手机价格(元)' @input.native='blurToCalc' - v-model.trim.number="mobileInfo.mblAmt" - placeholder='最高12000元' :max='5' - text-align='right'></x-input> - <div class="vux-1px-t" v-if="mobileInfo.mblAmt"> - <p><span>首付比例:</span>{{ firstRate }}%</p> - <p><span>门店收取首付:</span>{{ firstAmt }}元</p> - <p><span>客户分期金额:</span>{{insAmt }}元</p> - <p><span>每期还款金额:</span>{{ termAmt }}元</p> - </div> - </group> - <f-button fixed @on-click='handleCreateOrder'>提交订单</f-button> - </div> -</template> - -<script> - import { Cell} from 'vux'; - export default { - name: 'mobile-installment', - components: { - Cell - }, - data() { - return { - mobileInfo: { - mblBrand: '', // 手机牌子 - mblModel: '', // 型号 - userMblNo: '', // 客户手机号 - userName: '', // 客户姓名 - idNo: '', // 客户身份证号---暂时添加 - mblImei: '', // imei - mblAmt: '', // 手机价格 - term:'',// 分期期数 - mblBrand1:'' - }, - firstRate: '-', // 首付比例 - firstAmt: '-', // 首付 - insAmt: '-', // 分期金额 - termAmt: '-', // 每期还款金额 - mobileBrandList: [], // 手机品牌列表 - termList: [], // 分期期数 - others:false - }; - }, - methods: { - other(val){ - if(this.mobileInfo.mblBrand == '其它'){ - this.others = true - }else{ - this.others = false; - } - }, - //失去焦点时计算金额 - blurToCalc(ele) { - let v = this.$tool; - if (!/^[1-9]\d{0,4}$/.test(ele.target.value)) { - this.firstRate = ''; - this.firstAmt = ''; - this.insAmt = ''; - this.termAmt = ''; - this.mobileInfo.mblAmt = ''; - v.toast('请输入正确的手机价格'); - return false; - } else if (Number(ele.target.value) > 12000) { - this.firstRate = ''; - this.firstAmt = ''; - this.insAmt = ''; - this.termAmt = ''; - this.mobileInfo.mblAmt = ''; - v.toast('请输入12000以下价格'); - return false; - } - if(ele.target.value){ - this.firstRate = '-'; // 首付比例 - this.firstAmt = '-'; // 首付 - this.insAmt = '-'; // 分期金额 - this.termAmt= '-'; // 每期还款金额 - this.$api.ljOrderTrial({mblAmt: ele.target.value}).then( - res=>{ - this.firstRate = res.body.firstRate; - this.firstAmt = this.$tool.formatMoney(res.body.firstAmt); - this.insAmt = this.$tool.formatMoney(res.body.insAmt); - this.termAmt = this.$tool.formatMoney(res.body.termAmt); - }, err => { - this.firstRate = '-'; // 首付比例 - this.firstAmt = '-'; // 首付 - this.insAmt = '-'; // 分期金额 - this.termAmt= '-'; // 每期还款金额 - } - ) - } - }, - // 生成订单 - handleCreateOrder() { - let v = this.$tool; - let fieldList = [{ - field: 'userMblNo', - msg: '客户手机号' - }, - { - field: 'userName', - msg: '客户姓名' - }, - { - field: 'idNo', - msg: '身份证' - }, - { - field: 'mblBrand', - msg: '手机品牌' - }, - { - field: 'term', - msg: '分期期数' - }, - { - field: 'mblModel', - msg: '手机型号' - }, - { - field: 'mblImei', - msg: '手机IMEI' - }, - { - field: 'mblAmt', - msg: '手机价格' - }]; - for (let i of fieldList) { - if (v.checkValEmpty(this.mobileInfo[i.field])) { - v.toast(`请输入${i.msg}`); - return false; - } - } - // 添加身份证号的验证 客户年龄需要20-25岁 - let reg = /^[1-9]\d{7}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}$|^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}([0-9]|X)$/; - if (!reg.test(this.mobileInfo.idNo)) { - v.toast('请输入正确的身份证号'); - return false; - } - if(!this.checkAgeRange(this.mobileInfo.idNo)) { - v.toast('客户年龄需在20-55周岁之间'); - return false; - } - - if(this.mobileInfo.mblBrand=='其它'){ - if (v.checkValEmpty(this.mobileInfo.mblBrand1)) { - v.toast(`请输入品牌名称`); - return false; - } - } - if (!v.checkPhone(this.mobileInfo.userMblNo)) { - v.toast('请输入正确的用户手机号'); - return false; - } - if (!/^[1-9]\d{0,4}$/.test(this.mobileInfo.mblAmt)) { - v.toast('请输入正确的手机价格'); - return false; - } - let obj = {...this.mobileInfo}; - if(obj.mblBrand =='其它'){ - obj.mblBrand = obj.mblBrand1 - } - this.$api.ljOrderCreate(obj).then( - res => { - obj.crt = res.body.creTime; - obj.firstAmt = res.body.firstAmt; - obj.surplusAmt = res.body.surplusAmt; - this.$router.push({ - path: "/mobile-submit-result", - query:{...obj} - }) - }, - err => err - ); - }, - // 判断客户年龄是否在20-50周岁 - checkAgeRange (idNumber) { - if (idNumber.length !== 18) { - this.$tool.toast('请输入正确的身份证号'); - return false; - } - // 获取当前系统时间 - const curDate = new Date(); - const curYear = curDate.getFullYear(); - const curMonth = curDate.getMonth() + 1; - const curDay = curDate.getDate(); - // 获取客户出生年月 - const cusYear = Number(idNumber.substring(6, 10)); - const cusMonth = Number(idNumber.substring(10, 12)); - const cusDay = Number(idNumber.substring(12, 14)); - // 周岁=今年-出生年(已过生日)(未过生日还要-1),判断当前是否在20-55周岁之间 - // 判断是否过生日, 先判断月,当前月小于用户生日月,那么就未过生日 - if (curMonth < cusMonth) { - return curYear - cusYear - 1 >= 20 && curYear - cusYear - 1 <= 55; - // 如果月份相同,那么需要判断日期 - } else if (curMonth === cusMonth) { - // 当前日期小于客户生日日期,还未过生日 - if (curDay < cusDay) { - return curYear - cusYear - 1 >= 20 && curYear - cusYear - 1 <= 55; - } else { - // 当前日期大于等于生日日期,以过生日 - return curYear - cusYear >= 20 && curYear - cusYear <= 55; - } - // 已过生日 - } else { - return curYear - cusYear >= 20 && curYear - cusYear <= 55; - } - } - }, - created() { - this.$api.ljOrderCreateInit().then(res => { - this.mobileBrandList = res.body.mblBrandList; - this.termList = res.body.termList; - this.mobileInfo.term =res.body.termList[0].code - }, err => err); - }, - }; -</script> -<style lang='less'> - .mobile-installment { - padding-bottom: 46px; - padding-top: 54px; - background-color: #f1f1f1; - .vux-1px-t { - padding-left: 15px; - padding-bottom: 16px; - color: #3a3a3a; - span { - color: #666666; - } - font-size: 12px; - line-height: 1.2; - p { - padding-top: 16px; - } - } - } -</style> diff --git a/src/views/old/store/mobile/submitResult.vue b/src/views/old/store/mobile/submitResult.vue deleted file mode 100644 index 8e4b5e8..0000000 --- a/src/views/old/store/mobile/submitResult.vue +++ /dev/null @@ -1,98 +0,0 @@ -<!-- - * @Date: 2019-08-30 14:24:41 - * @LastEditors: 小明丶 - * @LastEditTime: 2019-09-02 11:04:01 - * @Description: - --> -<template> - <div class="mobile-result-page h-100-g"> - <x-header title="提交结果" :left-options="{backText:''}"></x-header> - <div class="status-icon"> - <i class="iconfont scene_Staging-danxuan"></i> - </div> - <div class="result">提交成功</div> - <div class="tips">客户订单已生成,有效期2小时,请指导客户通过以下手机号登录APP补充资料进行审核</div> - <div class="detail"> - <p><span>品牌:</span>{{info.mblBrand}}</p> - <p><span>型号:</span>{{info.mblModel}}</p> - <p><span>姓名:</span>{{info.userName}}</p> - <p><span>手机号码:</span>{{info.userMblNo}}</p> - <p><span>手机价格:</span>{{info.mblAmt}}元</p> - <p><span>分期金额:</span>{{info.surplusAmt}}元</p> - <p><span>分期期数:</span>{{info.term}}</p> - <p><span>订单时间:</span>{{$tool.date(info.crt,'YYYY-MM-DD HH:mm')}}</p> - </div> - <f-button type="normal" @on-click="handleBack">返回首页</f-button> - </div> -</template> - -<script> - export default { - name: 'add-account', - data() { - return { - info:{} - }; - }, - methods: { - // 处理返回首页 - handleBack () { - this.$router.push({ - path:'/business-center' - }) - }, - // 根据orderId获取详情 - init () { - - } - }, - computed:{ - info(){ - let obj ={ - ...this.$route.query - } - return obj; - } - } - }; -</script> - -<style lang="less"> - .mobile-result-page { - padding-top: 54px; - background-color: #f1f1f1; - .status-icon { - text-align: center; - } - .iconfont { - font-size: 64px; - color: #BFA073; - } - .result { - font-size: 16px; - color: #BFA073; - text-align: center; - } - .tips { - padding: 10px 25px 25px; - color: #999; - font-size: 12px; - line-height: 1.6; - text-align: center; - } - .detail { - margin: 0 25px; - padding: 30px 0 20px 25px; - font-size: 14px; - line-height: 1.6; - color: #3A3A3A; - span { - color: #A3A3A3; - } - p { - padding-bottom: 10px; - } - background: #fff; - } - } -</style> diff --git a/src/views/old/store/shsk/payResult.vue b/src/views/old/store/shsk/payResult.vue deleted file mode 100644 index 92ad313..0000000 --- a/src/views/old/store/shsk/payResult.vue +++ /dev/null @@ -1,144 +0,0 @@ -<!-- - * @Author: 小明丶 - * @Date: 2020-11-27 09:14:20 - * @LastEditors: 小明丶 - * @LastEditTime: 2020-12-10 09:36:40 - * @Description: 商户收款支付结果页面 ---> -<template> - <div class="payResult-page"> - <van-nav-bar - title="支付结果" - left-text="返回" - left-arrow - @click-left="onClickLeft" - style="line-height: 43px" - > - <i - class="iconfont iconzuojiantou" - slot="left" - style="font-size: 25px" - ></i> - </van-nav-bar> - <div class="result"> - <img - src="../../../../assets/img/支付成功.png" - alt="" - v-show="status == 1" - /> - <img - src="../../../../assets/img/支付中.png" - alt="" - v-show="status == 0" - /> - <img src="../../../../assets/img/超时.png" alt="" v-show="status == 2" /> - <p>{{ text }}</p> - </div> - <div class="btn-box" v-show="status != 0"> - <button - class="getQrCode" - @click="goback" - :style="{ background: $store.state.backColor, color: '#fff' }" - > - 返回 - </button> - </div> - </div> -</template> -<script> -export default { - data() { - return { - timeId:'', - status: 0, - text: "用户支付中,请稍后", - }; - }, - created() { - if(this.$route.query.needSearch == 1){ - this.timeId = setInterval(() => { - this.search() - }, 2000); - }else{ - this.search_status() - } - - }, - methods: { - // 轮询 支付状态 - search_status() { - let status = this.$route.query.orderStatus - this.status = status - console.log(this.status,status) - if(status==0){ - this.text = '用户支付中,请稍后' - }else if(status==1){ - this.text = '用户支付成功' - }else{ - this.text = '用户支付失败,请重试' - } - }, - search(){ - this.$api.facepay_getStatus( - this.$route.query.orderId - ).then((res) => { - let orderStatus = res.body.orderStatus; - this.status = orderStatus - if(orderStatus == 0){ - this.text = '用户支付中,请稍后' - }else if(orderStatus == 1){ - this.text = '用户支付成功' - clearInterval(this.timeId); - }else{ - this.text = '用户支付失败,请重试' - clearInterval(this.timeId); - } - }); - }, - goback(){ - this.$router.push('/main/product') - } - }, - beforeRouteLeave(to, from, next) { - clearInterval(this.timeId); - next(); - }, -}; -</script> -<style lang="less" scoped> -.payResult-page { - & { - min-height: 100vh; - background: #f5f5f5; - } - .result { - & { - width: 359px; - height: 190px; - background: #ffffff; - border-radius: 3px; - margin: auto; - margin-top: 10px; - text-align: center; - box-sizing: border-box; - padding: 32px 0; - } - img { - width: 95px; - height: 95px; - margin-bottom: 16px; - } - } - .btn-box{ - text-align: center; - } - .getQrCode { - width: 320px; - height: 44px; - outline: none; - border-radius: 22px; - border: 0; - margin-top: 42px; - } -} -</style> \ No newline at end of file diff --git a/src/views/old/store/shsk/shsk.vue b/src/views/old/store/shsk/shsk.vue deleted file mode 100644 index 8fea33b..0000000 --- a/src/views/old/store/shsk/shsk.vue +++ /dev/null @@ -1,231 +0,0 @@ -<!-- - * @Author: 小明丶 - * @Date: 2020-11-26 15:12:47 - * @LastEditors: 小明丶 - * @LastEditTime: 2020-12-16 10:01:32 - * @Description: 商户收款页面 ---> -<template> - <div class="store-shsk-page"> - <van-nav-bar - title="商户收款" - left-text="返回" - left-arrow - @click-left="onClickLeft" - style="line-height: 43px" - > - <i - class="iconfont iconzuojiantou" - slot="left" - style="font-size: 25px" - ></i> - </van-nav-bar> - <div class="content"> - <p class="title">收款金额</p> - <div class="input-box"> - <span>¥</span> - <input type="text" v-model="price" placeholder="请输入收款金额" /> - </div> - <p class="tip">本次收款渠道手续费:{{rate}}%</p> - </div> - <button - class="getQrCode" - @click="getQrCode" - :style="{ background: $store.state.backColor, color: '#fff' }" - > - 生成收款二维码 - </button> - <button - v-if="$route.query.zfbVersion != 5" - class="toQrCode" - @click="toQrCode" - :style="{ - background: '#fff', - border: `solid 1px ${$store.state.backColor}`, - color: $store.state.backColor, - }" - > - 扫描用户付款码 - </button> - </div> -</template> -<script> -export default { - data() { - return { - rate:'0.38', - price:'',//金额 - }; - }, - created() { - this.getWeChatConfig(); - }, - mounted(){ - this.$api.shskProdFee({ - payMethod:this.$route.query.payMethod, - zfbVersion:this.$route.query.zfbVersion - }).then(res=>{ - this.rate = res.body.fee - }) - }, - methods: { - onClickLeft() { - this.$router.go(-1); - }, - getQrCode(){ - if(!this.price){ - this.$tool.toast('交易金额不能为空'); - return - } - this.$api.facepay_create({ - payAmt:this.price, - term:0, - payType: 1,//反扫 - zfbVersion:this.$route.query.zfbVersion, - payMethod:this.$route.query.payMethod - }).then(res=>{ - let url = res.body.payQrCodeUrl; - let id = res.body.orderId; - this.$router.push({ - path:'/getShskQRCode', - query:{ - url:res.body.payQrCodeUrl, - orderId:res.body.orderId - } - }) - }) - }, - toQrCode() { - let that = this - if(!this.price){ - this.$tool.toast('交易金额不能为空'); - return - } - this.checkIsReady().then(() => { - wx.scanQRCode({ - needResult: 1, // 默认为0,扫描结果由微信处理,1则直接返回扫描结果, - scanType: ["qrCode", "barCode"], // 可以指定扫二维码还是一维码,默认二者都有 - success: function (res) { - // 当needResult 为 1 时,扫码返回的结果 - // 扫码成功后调用接口 - console.log(res) - that.$api.facepay_create({ - payAmt:that.price, - term:0, - payType: 2,//正扫 - zfbVersion:that.$route.query.zfbVersion, - payMethod:that.$route.query.payMethod, - authCode: res.resultStr, - }).then(res=>{ - let id = res.body.orderId; - that.$router.push({ - path:'/shsk-payResult', - query:{ - orderId:id, - needSearch:1 - } - }) - }) - }, - }); - }); - }, - // 异步准备微信环境 - checkIsReady() { - return new Promise((resolve, reject) => { - wx.ready(() => resolve()); - wx.error(err => reject(console.log(res + "wx.error"))); - }); - }, - // 获取微信配置 - getWeChatConfig() { - let url = location.href.split("#")[0]; - // let url = 'http://t.finlean.com/' - this.$api - .getTokenInfo({ - url: url, - }) - .then((res) => { - // 获取微信配置 - wx.config({ - debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印 - appId: res.body.appId, // 必填,公众号的唯一标识 - timestamp: res.body.timestamp, // 必填,生成签名的时间戳 - nonceStr: res.body.nonceStr, // 必填,生成签名的随机串 - signature: res.body.signature, // 必填,签名 - jsApiList: ["checkJsApi", "scanQRCode"], // 必填,需要使用的JS接口列表 - openTagList: [], // 可选,需要使用的开放标签列表,例如['wx-open-launch-app'] - }); - }); - }, - }, -}; -</script> -<style lang="less" scoped> -.store-shsk-page { - & { - min-height: 100vh; - background: #f5f5f5; - text-align: center; - } - .content { - & { - text-align: left; - background: #fff; - width: 359px; - // height: 154px; - margin: auto; - margin-top: 10px; - box-sizing: border-box; - padding: 32px 12px; - } - .title { - font-size: 14px; - font-family: PingFang SC; - font-weight: 500; - color: #333333; - } - .input-box { - border-bottom: 1px solid #e6e6e6; - padding: 24px 0 7px 0; - span { - font-size: 20px; - font-family: PingFang SC; - font-weight: bold; - color: #333333; - } - input { - border: 0; - outline: none; - height: 30px; - font-size: 20px; - } - input::placeholder { - font-size: 20px; - } - } - .tip { - font-size: 12px; - font-family: PingFang SC; - font-weight: 500; - color: #999999; - margin-top: 16px; - } - } - .getQrCode { - width: 320px; - height: 44px; - outline: none; - border-radius: 22px; - border: 0; - margin-top: 42px; - } - .toQrCode { - width: 320px; - height: 44px; - outline: none; - border-radius: 22px; - margin-top: 16px; - } -} -</style> \ No newline at end of file diff --git a/src/views/old/store/wx-pay-score.vue b/src/views/old/store/wx-pay-score.vue index 35b9e37..a1881ef 100644 --- a/src/views/old/store/wx-pay-score.vue +++ b/src/views/old/store/wx-pay-score.vue @@ -36,8 +36,6 @@ 用户信息 </div> <div class="form-content"> - <selector title='手机号类型' placeholder='请选择' @on-change='handleMblTypeChange' v-model="mblNoType" - :options='form.mblNoTypeList' :value-map="['code','name']" direction='rtl'></selector> <x-input title='用户姓名' v-model.trim="userName" placeholder='请输入' text-align='right' /> <selector title='归属地' placeholder='请选择' @on-change='handleRegionChange' v-model="regionCode" :options='form.regionList' :value-map="['code','name']" direction='rtl'></selector> @@ -122,7 +120,8 @@ }, created(){ - this.$api.wxScoreInit().then(res => { + this.mblNoType = this.$route.query.mblNoType; + this.$api.wxScoreInit({type:this.mblNoType}).then(res => { this.form = res.body || {}; var arr = res.body.terms; }, err => err); @@ -141,12 +140,6 @@ this.term = currentEle.term; this.guaranteedAmt = currentEle.guaranteedAmt; this.monGiftAmt = currentEle.monGiftAmt; - }, - // 账号类型 - handleMblTypeChange(val) { - let currentEle = JSON.parse(JSON.stringify(this.form.mblNoTypeList)).find((item) => { - return item.code = val; - }); }, // 市区 handleRegionChange(val) { diff --git a/src/views/old/store/xyg/createcode.vue b/src/views/old/store/xyg/createcode.vue deleted file mode 100644 index a971f43..0000000 --- a/src/views/old/store/xyg/createcode.vue +++ /dev/null @@ -1,420 +0,0 @@ -<!-- - * @Descripttion: 智享云生成二维码 - * @Author:TM丶 - * @LastEditors: 小明丶 - * @Date: 2019-3-1 15:00:00 - * @LastEditTime: 2020-11-13 17:25:14 - --> -<template> - <div class="contract-installment-zxh"> - <van-nav-bar title="信用购"> - <i class="iconfont iconzuojiantou" slot="left" style="font-size:20px;color:#333;font-weight:blod" @click="goFrom"></i> - </van-nav-bar> - <div class="heyue-info"> - <p class="tit"> - <span>合约信息</span> - <span></span> - </p> - <!-- <div style="margin-bottom:16px"> - <p style="margin-bottom:10px"> - <span style="color:#999999;font-size:13px">合约套餐</span> - <span style="color:#FF6666;font-size:13px">*</span> - </p> - <el-select v-model="selectContract" placeholder="请选择"> - <el-option - v-for="item in contractList" - :key="item.value" - :label="item.label" - :value="item.value"> - </el-option> - </el-select> - </div> --> - <Ipt :type="'text'" :mustFill="true" :tit="'合约套餐'" :readonly="true" v-model="contName"></Ipt> - <Ipt :type="'text'" :mustFill="true" :tit="'结算金额'" :readonly="true" v-model="selectConInfo.capitalAmt"></Ipt> - <Ipt :type="'text'" :mustFill="true" :tit="'月缴话费'" :readonly="true" v-model="selectConInfo.monthlyFees"></Ipt> - <Ipt :type="'text'" :mustFill="true" :tit="'期数'" :readonly="true" v-model="selectConInfo.term"></Ipt> - </div> - <div class="sp-info"> - <p class="tit"> - <span>商品信息</span> - <span></span> - </p> - <div style="margin-bottom:16px"> - <p style="margin-bottom:10px"> - <span style="color:#999999;font-size:13px">商品类型</span> - </p> - <el-select v-model="goodsInfo.goodsType" placeholder="请选择"> - <el-option - v-for="item in columns" - :key="item.code" - :label="item.name" - :value="item.code" - @change="onConfirm"> - </el-option> - </el-select> - </div> - <Ipt :type="'text'" :tit="'品牌'" :placeholder="'请输入品牌'" :readonly="false" v-model="goodsInfo.goodsBrand"></Ipt> - <Ipt :type="'text'" :tit="'名称'" :placeholder="'请输入名称'" :readonly="false" v-model="goodsInfo.goodsName"></Ipt> - <Ipt :type="'text'" :tit="'型号'" :placeholder="'请输入型号'" :readonly="false" v-model="goodsInfo.goodsModel"></Ipt> - <Ipt :type="'text'" :tit="'价格'" :placeholder="'请输入价格'" :readonly="false" v-model="goodsInfo.goodsPrice"></Ipt> - <Ipt :type="'text'" :tit="'IMEI'" :placeholder="'请输入IMEI'" :readonly="false" v-model.trim="goodsInfo.goodsImei" v-if="goodsInfo.goodsType==1"></Ipt> - <Ipt :type="'text'" :tit="'SN'" v-model.trim="goodsInfo.goodsSn" placeholder='请输入SN' :max='20' v-else></Ipt> - </div> - <van-button class="btn" round @click="submit">生成二维码</van-button> - </div> -</template> - -<script> - import { - XAddress - } from 'vux'; - import QRCode from 'qrcode'; - import IDValidator from '@/utils/IDValidator'; - import Vue from 'vue'; - import { Picker } from 'vant'; - import Ipt from '../../../../components/common/h-ipt' - Vue.use(Picker); - export default { - name: 'xyg_createcode', - components: { - XAddress,Ipt - }, - data() { - return { - value:'', - showPicker: false,//弹出层 - - cityList: [], - selectContract: '', // 选中的合约 - contName:'',//合约名称 - // 合约信息 - selectConInfo: { - capitalAmt: '', // 结算金额 - monthlyFees: '', // 月缴话费 - term: '', // 期数 - }, - // 商品信息 - goodsInfo: { - //selectContract: '', // 选中的合约 - goodsBrand: '', //商品品牌 - goodsName: '', //商品名称 - goodsModel: '', // 商品型号 - goodsPrice: '', // 价格 - goodsImei: '', // IMEI - goodsSn: '', // SN - goodsType:'',//设备类型,1-手机(IMEI)2-电子商品、3-智能家电、4-其他(SN) - }, - contractList: [], // 合约列表 - columns: [],//设备下拉表 - } - }, - created() { - if(sessionStorage.hb_session_info){ - this.goodsInfo = JSON.parse(sessionStorage.hb_session_info) - } - this.contName = this.$route.query.prodName; - this.selectContract = this.$route.query.prodId - this.selectConInfo.capitalAmt = this.$route.query.prodAmt - this.selectConInfo.monthlyFees = this.$route.query.monthlyFees //月缴话费 - this.selectConInfo.term = this.$route.query.term - - this.initWXToken(location.origin + location.pathname); - this.$api.getGoodsTypeList().then(res=>{ - this.columns = res.body.prodTypes - }) - this.$api.getArea().then(res => { - this.cityList = res.body.provList; - }); - }, - watch: { - }, - methods: { - // 返回上一页 - goFrom(){ - this.$router.go(-1) - }, - onConfirm() { - console.log(this.goodsInfo.goodsType) - // this.value = value - // this.goodsInfo.goodsType = index+1; - //this.showPicker = false; - if(this.goodsInfo.goodsType==1||this.goodsInfo.goodsType==''){ - this.goodsInfo.goodsSn = '' - }else{ - this.goodsInfo.goodsImei = '' - } - }, - initWXToken(parUrl) { - this.$api.getTokenInfo({ - url: parUrl - }).then( - function (res) { - if (res.errorCode === 0) { - // 第二步骤 只需要首页地址分享 ,需要在每次变化时调用 - wx.config({ - debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。 - appId: res.body.appId, - timestamp: res.body.timestamp, // 必填,生成签名的时间戳 - nonceStr: res.body.nonceStr, // 必填,生成签名的随机串 - signature: res.body.signature, // 必填,签名,见附录1 - jsApiList: [ - 'checkJsApi', - 'scanQRCode', - 'getLocation' - ] // 必填,需要使用的JS接口列表,所有JS接口列表见附录2 - }); - } - }, - function (error) { - if (error.response) { - console.log(error.response); - } - } - ); - }, - getLocation(){ - console.log('getLocation'); - let _this = this; - wx.getLocation({ - type: 'wgs84', - success: function (res) { - console.log(JSON.stringify(res)); - let longitude = res.longitude - let latitude = res.latitude - _this.$api.gpsAddr({ - gpsAddrLongitude: longitude, - gpsAddrLatitude: latitude - }).then(res => { - console.log('gpsSucess'); - }, err => err); - }, - cancel: function (res) { - console.log('用户拒绝授权获取地理位置'); - _this.$api.gpsAddr({ - gpsAddrLongitude: '', - gpsAddrLatitude: '' - }).then(res => { - console.log('gpsfail'); - }, err => err); - } - }) - }, - // 处理合约的修改 - contractChange(val) { - if (!val) { - return; - } - this.selectConInfo = this.contractList.find((item) => { - return item.contId === val; - }) - }, - // 生成二维码 - submit() { - this.getLocation(); - let v = this.$tool; - if (v.checkValEmpty(this.selectContract)) { - v.toast('请选择合约套餐'); - return false; - } - if (v.checkValEmpty(this.goodsInfo.goodsBrand)) { - v.toast('请输入商品品牌'); - return false; - } - if (!/^[A-Za-z0-9\u4e00-\u9fa5]+$/.test(this.goodsInfo.goodsBrand)) { - v.toast('请输入文字/字母/数字且不包含特殊字符的商品品牌'); - return false; - } - if (v.checkValEmpty(this.goodsInfo.goodsName)) { - v.toast('请输入商品名称'); - return false; - } - if (!/^[A-Za-z0-9\u4e00-\u9fa5]+$/.test(this.goodsInfo.goodsName)) { - - v.toast('请输入文字/字母/数字且不包含特殊字符的商品名称'); - return false; - } - if (v.checkValEmpty(this.goodsInfo.goodsModel)) { - v.toast('请输入商品型号'); - return false; - } - if (v.checkValEmpty(this.goodsInfo.goodsPrice)) { - v.toast('请输入商品价格'); - return false; - } - if (!/^[1-9]\d{0,4}/.test(this.goodsInfo.goodsPrice)) { - v.toast('请输入商品正确的价格'); - return false; - } - if(this.goodsInfo.goodsType == 1){ - if (v.checkValEmpty(this.goodsInfo.goodsImei)) { - v.toast('请输入商品IMEI'); - return false; - } - }else{ - if (v.checkValEmpty(this.goodsInfo.goodsSn)) { - v.toast('请输入商品SN'); - return false; - } - } - if (v.checkValEmpty(this.goodsInfo.goodsType)) { - v.toast('请选择设备类型'); - return false; - } - // 用来整体存储缓存数据 - let hb_session_info = { - ...this.goodsInfo - } - sessionStorage.hb_session_info = JSON.stringify(hb_session_info) - - let queryObj = { - ...this.selectConInfo, - ...this.goodsInfo, - mgrId: sessionStorage.sid, // 办单员id - contId: this.selectContract, // 合约id - contName: this.contName, - typeId: this.$route.query.typeId, - seq:this.$route.query.seq - }; - - this.$router.push({ - path: "/contract-qrcode", - query: queryObj - }) - }, - // 根据城市code 获取拼接的字符串 - getAddrText(arr) { - let str = ''; - this.cityList.forEach(item => { - if (arr.indexOf(item.value) > -1) { - str += item.name - } - }) - return str; - } - } - }; -</script> -<style lang='less' > - .contract-installment-zxh { - min-height: 100vh; - background-color: #f1f1f1; - padding-bottom: 80px; - //overflow-y: scroll; - input::-webkit-input-placeholder{color:#333333;} - .van-cell { - padding: 0.22rem 0.32rem 0.22rem 8px; - border: 1px solid #CDD3F6; - border-radius: 4px; - background-color: #F9FAFF; - margin-bottom: 16px; - } - .van-cell:after { - content: " "; - position: absolute; - left: 0.3rem; - top: 0; - right: 0; - height: 0.02rem; - width: 98%; - border-top: 0.02rem solid #D9D9D9; - color: #D9D9D9; - transform-origin: 0 100%; - transform: scaleY(0.5); - } - .van-nav-bar__title { - max-width: 60%; - margin: 0 auto; - color: #333; - font-weight: bold; - font-size: 16px; - } - .el-input__inner{ - background-color: #F9FAFF; - padding-left: 8px; - } - .el-select{ - width: 100%; - height: 40px; - } - .heyue-info{ - width:100%; - height:385px; - background:rgba(255,255,255,1); - box-shadow:1px 5px 13px 0px rgba(0, 0, 0, 0.08); - margin-top: 12px; - box-sizing: border-box; - padding: 17px 20px 0 20px; - .tit{ - margin-bottom: 19px; - color: #6C4AD5; - font-size: 16px; - position: relative; - span:nth-of-type(1){ - display: inline-block; - font-weight: bold; - } - span:nth-of-type(2){ - display: inline-block; - width:64px; - height:7px; - background:rgba(255,236,190,0.5); - position: absolute; - left: 0; - bottom: 0; - } - } - } - .sp-info{ - width:375px; - height:560px; - background:rgba(255,255,255,1); - box-shadow:1px 5px 13px 0px rgba(0, 0, 0, 0.08); - border-radius:3px; - margin-top: 15px; - box-sizing: border-box; - padding: 17px 20px 0 20px; - .tit{ - margin-bottom: 19px; - color: #6C4AD5; - font-size: 16px; - position: relative; - span:nth-of-type(1){ - display: inline-block; - font-weight: bold; - } - span:nth-of-type(2){ - display: inline-block; - width:64px; - height:7px; - background:rgba(255,236,190,0.5); - position: absolute; - left: 0; - bottom: 0; - } - } - } - .title { - padding: 14px 12px; - font-size: 15px; - color: #333; - - .line { - display: inline-block; - width: 2px; - height: 16px; - margin-right: 8px; - background: @color-text-three; - vertical-align: middle; - margin-top: -1px; - } - } - } - .btn { - width: 84%; - margin: 0 8%; - background: @c-default; - color: @c-text-fff; - display: block; - margin-top: 24px; - } -</style> diff --git a/src/views/old/store/xyg/message.vue b/src/views/old/store/xyg/message.vue deleted file mode 100644 index 3ef6437..0000000 --- a/src/views/old/store/xyg/message.vue +++ /dev/null @@ -1,105 +0,0 @@ - -<template> - <div class="getQRCode"> - <!-- <x-header class="message-head" title="消息详情" :left-options="{backText:''}"></x-header> --> - <van-nav-bar title="消息详情" left-text="返回" left-arrow @click-left="onClickLeft" style="line-height: 43px;"> - <i class="iconfont iconzuojiantou" slot="left" style="font-size: 25px;"></i> - </van-nav-bar> - <div class="message-body"> - <div class="notice"> - <p class="notice-title">{{ message.msgTitle }}</p> - <p>{{ message.msgTime }}</p> - </div> - <span class="line"></span> - <div class="notice-continue" v-html=" message.msgCon"> - </div> - </div> - </div> -</template> -<script> -import { XHeader } from 'vux'; -import { - dateFormat - } from 'vux' -import { mapActions } from 'vuex'; - export default { - name: 'message', - components: { - XHeader, - }, - data() { - return { - messageId: this.$route.query.messageId, - message:{ - msgCon: '', - msgTitle: '', - msgTime: '', - } - } - }, - computed:{ - - }, - created() { - this.msgInt() - this.getCount() - }, - methods: { - ...mapActions(['getCount']), - onClickLeft() { - this.$router.go(-1); - }, - msgInt() { - this.$api.noticeDetail({id: this.messageId}).then(res => { - console.log(res.body) - this.message.msgCon = res.body.noticeContent; - this.message.msgTitle = res.body.title; - this.message.msgTime = dateFormat(res.body.pubTime); - }) - - } - } - } -</script> -<style lang="less" scoped> -.getQRCode{ - background: #F5F5F7; - width: 100%; - height: 100%; -} -.message-head{ - position: relative; -} -.message-body{ - width: 96%; - margin: 12px 2%; - margin-top: 10px; - background: #fff; - .notice{ - padding: 15px 12px; - border-bottom: 1px solid #EEEEEE; - p{ - color: #999999; - } - &-title{ - font-size: 16px; - font-weight: bold; - color: #333333 !important; - margin-bottom: 10px; - } - } - .notice-continue{ - width: 94%; - margin: 0px 2%; - padding: 15px 0; - white-space: wrap; - font-size: 14px; - word-wrap: break-word; - height: auto; - padding-left: 2%; - background: #fff; - color: #666666; - line-height: 22px; - } -} -</style> diff --git a/src/views/old/store/xyg/set.vue b/src/views/old/store/xyg/set.vue deleted file mode 100644 index d73868d..0000000 --- a/src/views/old/store/xyg/set.vue +++ /dev/null @@ -1,197 +0,0 @@ -<!-- - * @Descripttion: 智享云状态切换 + 数据资料的反显,无复杂逻辑 - * @Author: TM丶 - * @LastEditors: 小明丶 - * @Date: 2019-04-21 18:06:00 - * @LastEditTime: 2019-09-02 11:15:49 - --> -<template> - <div class="zxh-set-box"> - <x-header title="智享花" :left-options="{backText:''}"></x-header> - <group> - <x-switch title="状态" v-model="status"></x-switch> - </group> - <f-space></f-space> - <group> - <div class="title"> - <span class="line"></span> - 基本信息 - </div> - <cell title="商户名称" :value="info.merName"></cell> - <cell title="营业执照号" :value="info.licenseNo"></cell> - <cell title="地址" :value="info.merAddr"></cell> - <cell title="详细地址" :value="info.merDtlAddr"></cell> - <cell title="营业面积" :value="info.merArea"></cell> - <cell title="成立日期" :value="info.foundDate | timeformat('yyyy-MM-dd')"></cell> - <cell title="协议开始时间" :value="(info.agreeStartTime || '') | parseDate"></cell> - <cell title="协议结束时间" :value="(info.agreeEndTime || '') | parseDate"></cell> - </group> - <f-space></f-space> - - <group> - <div class="title"> - <span class="line"></span> - 法人信息 - </div> - <cell title="法人姓名" :value="info.legalName"></cell> - <cell title="法人身份证号" :value="info.legalIdNo"></cell> - <cell title="法人电话" :value="info.legalMblNo"></cell> - <cell title="法人家庭住址" :value="info.legalHomeAddr"></cell> - </group> - <f-space></f-space> - - <group> - <div class="title"> - <span class="line"></span> - 银行信息 - </div> - <cell title="银行名称" :value="info.bankName"></cell> - <cell title="开户行" :value="info.bankDtlName"></cell> - <cell title="地址" :value="info.bankAddr"></cell> - <cell title="户名" :value="info.cardName"></cell> - <cell title="银行账号" :value="info.cardNo"></cell> - <cell title="账号类型" :value="info.cardTypeName"></cell> - <cell title="开户行行号" v-if="info.cardType ==='pu'" :value="info.bankNo"></cell> - </group> - - <f-space></f-space> - - <!-- 图片反显 --> - <section class="img-box"> - <h4>营业执照照片</h4> - <div class="img-item" v-for="(item, index) in info.licencePhotos" :key="index" - :style="item.fileUrl | generate"> - </div> - </section> - <section class="img-box"> - <h4>法人身份证正反面照片</h4> - <div class="img-item" v-for="(item, index) in info.legalCardPhotos" :key="index" - :style="item.fileUrl | generate"></div> - </section> - <section class="img-box"> - <h4>房产证或租赁合同</h4> - <div class="img-item" v-for="(item, index) in info.houseContractPhotos" :key="index" - :style="item.fileUrl | generate"></div> - </section> - <section class="img-box"> - <h4>外景照、门头照片、前台照、内景照</h4> - <div class="img-item" v-for="(item, index) in info.storePhotos" :key="index" - :style="item.fileUrl | generate"></div> - </section> - <section class="img-box"> - <h4>套餐活动清单、终端商品定价清单</h4> - <div class="img-item" v-for="(item, index) in info.mealBillPhotos" :key="index" - :style="item.fileUrl | generate"></div> - </section> - <section class="img-box"> - <h4>运营商授权文件</h4> - <div class="img-item" v-for="(item, index) in info.accreditFilePhotos" :key="index" - :style="item.fileUrl | generate"></div> - </section> - <f-button fixed @on-click="submit">保存</f-button> - </div> -</template> - -<script> - import { - XSwitch - } from 'vux'; - - export default { - name: "xyg_info", - components: { - XSwitch - }, - data() { - return { - status: true, - info: {}, - productInfo: {} - } - }, - filters: { - generate(path) { - return { - 'background-image': `url(${path})` - } - }, - parseDate(v = '') { - if (v) { - return v.slice(0, 4) + '-' + v.slice(4, 6) + '-' + v.slice(-2); - } else { - return '暂无'; - } - } - }, - created() { - this.init(); - }, - methods: { - init() { - this.$api.prodRefInit(this.$route.query).then(res => { - this.productInfo = res.body; - this.status = !!this.productInfo.status; - }); - // 获取商户信息反显 - this.$api.getXygMerInfo(this.$route.query.orgId).then(res => { - this.info = res.body; - }) - }, - // 保存 - submit() { - this.$api.prodSaveRef({ - ...this.$route.query, - prodSkDtlInfoList: this.productInfo.prodSkDtlInfoList, - status: this.status ? 1 : 0 - }).then(() => { - this.$notify('保存成功'); - }); - } - }, - } -</script> - -<style lang="less"> - .zxh-set-box { - padding-bottom: 60px; - - .title { - padding: 14px 12px; - font-size: 15px; - color: #333; - - .line { - display: inline-block; - width: 2px; - height: 16px; - margin-right: 8px; - background: @color-text-three; - vertical-align: middle; - margin-top: -1px; - } - } - - .img-box { - padding: 0 12px; - background-color: #fff; - margin-bottom: 20px; - - h4 { - font-weight: normal; - font-size: 15px; - line-height: 40px; - } - - .img-item { - display: inline-block; - height: 100px; - width: 100px; - margin: 0 10px 10px 0; - border: 1Px dashed #d9d9d9; - background-repeat: no-repeat; - background-size: contain; - background-position: center; - } - } - } -</style> diff --git a/src/views/old/store/xyg/upload.vue b/src/views/old/store/xyg/upload.vue deleted file mode 100644 index 4563382..0000000 --- a/src/views/old/store/xyg/upload.vue +++ /dev/null @@ -1,498 +0,0 @@ -<!-- - * @Descripttion: 上传合约凭证 - * @Author: TM丶 - * @LastEditors: 小明丶 - * @Date: 2019-04-08 09:16:44 - * @LastEditTime: 2019-09-03 09:25:14 - --> -<template> - <div class="zxh-upload-box h-100-g"> - <x-header :left-options="{'backText': ''}" title="上传合约凭证" class="gradient-color"></x-header> - <div class="up-div"> - <p>合约办理凭证截图</p> - <van-uploader :after-read="afterRead"> - <div class="upload-div"> - <img :src="pic" alt v-if="pic" /> - <i class="iconfont iconzhaoxiang" v-else></i> - </div> - </van-uploader> - <p>合约手机号</p> - <Ipt v-model="form.contMblNo" :max="11" :placeholder="'请输入手机号'" :type="'text'"></Ipt> - </div> - <button class="btn" @click="submit">提交</button> - <!-- <div class="content" v-for="(item, index) in fileTypeArr" :key="index"> - <h4 class="title"> - <span>{{item.name}}</span> - <div @click="changeShowselect(item)"> - <i class="iconfont scene_Staging-xiangji"></i> - <input ref="photo" type="file" accept="image/*" @change="getFile($event.currentTarget,item.code)"> - <input ref="picture" type="file" accept="image/*" capture="camera" - @change="getFile($event.currentTarget,item.code)"> - </div> - </h4> - <ul class="upload"> - <li class="upload-item" v-for="(item, index) in item.fileIds" :key="index" - :style="{'background-image':`url(${item.fileUrl})`}"> - <i class="iconfont scene_Staging-shibai1" @click="deleteImgItem(index)"></i> - </li> - </ul> - </div> - <group> - <x-input title="手机号" v-model="form.contMblNo" placeholder="请输入" text-align="right" :max="11"></x-input> - </group> - <f-button @on-click="submit()">提交</f-button> - - - <van-action-sheet v-model="showSelect" :close-on-click-overlay="false" cancel-text="取消" :actions="nav" - @select="handleSelect"> - </van-action-sheet> --> - </div> -</template> - -<script> -import { compress } from "@/utils/index"; -import { Actionsheet } from "vux"; -import Vue from "vue"; -import { Uploader } from "vant"; -import Ipt from "../../../../components/common/h-ipt"; -Vue.use(Uploader); -export default { - name: "xyg_upload", - data() { - return { - pic: "", - showSelect: false, - nav: [ - { - name: "拍照" - }, - { - name: "从手机相册选择" - } - ], - form: { - orderId: "", - contMblNo: "", - fileIds: [] - }, - fileTypeArr: [], - currentItem: {} - }; - }, - components: { - Actionsheet, - Ipt - }, - props: ["orderId"], - created() { - this.form.orderId = this.orderId; - this.$api.h_getXygFileType().then(res => { - let list = res.body || []; - this.fileTypeArr = list.map(item => { - return { - ...item, - fileIds: [] - }; - }); - console.log(this.fileTypeArr) - }); - }, - methods: { - uploadSectionFile(f, t) { - // 图片上传 - let self = this; - let Orientation; - let ndata; - let pic; - if (t.size <= 1 * 1024 * 1024) { - console.log("未压缩"); - //判断图片是否小于1M,是就直接上传 - ndata = f; - self.postImg(ndata); - } else { - //反之压缩图片 - //BASE64转图片 - var arr = f.split(","), - mime = arr[0].match(/:(.*?);/)[1], - bstr = atob(arr[1]), - n = bstr.length, - u8arr = new Uint8Array(n); - while (n--) { - u8arr[n] = bstr.charCodeAt(n); - } - pic = new File([u8arr], t.name, { type: mime }); - let reader = new FileReader(); - // 将图片将转成 base64 格式 - reader.readAsDataURL(pic); - // 读取成功后的回调 - reader.onloadend = function() { - let result = this.result; - //let result = f; - let img = new Image(); - img.src = result; - img.onload = function() { - let data = self.compress(img, Orientation); - self.headerImage = data; - ndata = self.compress(img, Orientation); - //console.log('111',self.headerImage) - self.postImg(ndata); - }; - }; - } - }, - - async postImg(ndata) { - let self = this; - var FileUpload = function(ndata) { - //console.log(index) - self.$api - .uploadFile({ - fileType:6304, - base64Data: ndata.split(",")[1], // 文件base64 - suffix: ndata - .split(",")[0] - .split(";") - ["0"].split("/")[1] - }) - .then(res => { - console.log("res", res.body); - console.log("self.fileTypeAr", self.fileTypeAr); - self.pic = ndata - //self.currentItem.fileIds.push(res.body) - //self.fileTypeArr.fileIds.push(res.body) - if(self.form.fileIds.length<1){ - self.form.fileIds.push(res.body.id) - }else{ - self.form.fileIds.shift() - self.form.fileIds.push(res.body.id) - } - }); - }; - await FileUpload(ndata); - }, - compress(img, Orientation) { - let canvas = document.createElement("canvas"); - let ctx = canvas.getContext("2d"); - //瓦片canvas - let tCanvas = document.createElement("canvas"); - let tctx = tCanvas.getContext("2d"); - let initSize = img.src.length; - let width = img.width; - let height = img.height; - //如果图片大于四百万像素,计算压缩比并将大小压至400万以下 - let ratio; - if ((ratio = (width * height) / 4000000) > 1) { - console.log("大于400万像素"); - ratio = Math.sqrt(ratio); - width /= ratio; - height /= ratio; - } else { - ratio = 1; - } - canvas.width = width; - canvas.height = height; - // 铺底色 - ctx.fillStyle = "#fff"; - ctx.fillRect(0, 0, canvas.width, canvas.height); - //如果图片像素大于100万则使用瓦片绘制 - let count; - if ((count = (width * height) / 1000000) > 1) { - console.log("超过100W像素"); - count = ~~(Math.sqrt(count) + 1); //计算要分成多少块瓦片 - // 计算每块瓦片的宽和高 - let nw = ~~(width / count); - let nh = ~~(height / count); - tCanvas.width = nw; - tCanvas.height = nh; - for (let i = 0; i < count; i++) { - for (let j = 0; j < count; j++) { - tctx.drawImage( - img, - i * nw * ratio, - j * nh * ratio, - nw * ratio, - nh * ratio, - 0, - 0, - nw, - nh - ); - ctx.drawImage(tCanvas, i * nw, j * nh, nw, nh); - } - } - } else { - ctx.drawImage(img, 0, 0, width, height); - } - //修复ios上传图片的时候 被旋转的问题 - if (Orientation != "" && Orientation != 1) { - switch (Orientation) { - case 6: //需要顺时针(向左)90度旋转 - this.rotateImg(img, "left", canvas); - break; - case 8: //需要逆时针(向右)90度旋转 - this.rotateImg(img, "right", canvas); - break; - case 3: //需要180度旋转 - this.rotateImg(img, "right", canvas); //转两次 - this.rotateImg(img, "right", canvas); - break; - } - } - //进行最小压缩 - let ndata = canvas.toDataURL("image/jpeg", 0.1); - - //console.log("压缩前:" + initSize); - //console.log("压缩后:" + ndata.length); - //console.log("ndata:" + ndata); - - console.log( - "压缩率:" + ~~((100 * (initSize - ndata.length)) / initSize) + "%" - ); - tCanvas.width = tCanvas.height = canvas.width = canvas.height = 0; - - return ndata; - }, - afterRead(file) { - this.uploadSectionFile(file.content, file.file) - }, - changeShowselect(item) { - if (item.fileIds.length) { - this.$tool.toast(`最多上传一张照片~`); - return; - } - this.showSelect = true; - this.currentItem = item; - }, - imgCompress(path, options = {}) { - return new Promise((resolve, reject) => { - let img = new Image(); - img.src = path; - img.onload = function() { - let that = this, - w = that.width, - h = that.height, - scale = w / h, // 默认按比例压缩 - quality = options.quality || 0.92, - canvas = document.createElement("canvas"), - ctx = canvas.getContext("2d"); - - w = options.width || w; - h = options.height || w / scale; - canvas.width = w; - canvas.height = h; - ctx.drawImage(that, 0, 0, w, h); - if (options.quality && options.quality <= 1 && options.quality > 0) { - quality = options.quality; - } - let base64 = canvas.toDataURL("image/jpeg", quality); - resolve(base64); - }; - }); - }, - handleSelect(item, index) { - if (index === 0) { - this.$refs["picture"][0].click(); - } else { - this.$refs["photo"][0].click(); - } - this.showSelect = false; - }, - // 删除图片 - deleteImgItem(index) { - this.currentItem.fileIds.splice(index, 1); - }, - // 获取base64 - getFile(el, fileType) { - let file = el.files[0]; - if (typeof file === "undefined") return; - let reader = new FileReader(), - that = this; - reader.readAsDataURL(file); - reader.onload = function() { - that.imgCompress(this.result).then(base64 => { - that.upload(base64.split(",")[1], file.type.split("/")[1], fileType); - }); - }; - }, - //上传文件 - upload(base64, suffix, fileType) { - let params = { - fileType, - suffix, - base64Data: base64 - }; - console.log(fileType) - this.$api.uploadFile(params).then(res => { - this.currentItem.fileIds.push(res.body); - }); - }, - // 提交保存 - submit() { - let form = this.form, - tel = form.contMblNo; - - let len = this.fileTypeArr.length; - console.log(this.fileTypeArr) - // for (let index = 0; index < len; index++) { - // const item = this.fileTypeArr[index]; - // if (item.fileIds.length === 0) { - // this.$tool.toast(`请上传${item.name}`); - // return; - // } - // } - if(form.fileIds.length<1){ - this.$tool.toast(`请上传合约凭证截图`) - return - } - if (tel.length === 0) { - this.$tool.toast("请输入电话号码"); - return; - } - - if (!this.$tool.checkPhone(tel)) { - this.$tool.toast("请输入正确的电话号码"); - return; - } - let params = { - orderId: form.orderId, - contMblNo: tel, - fileIds: this.form.fileIds - }; - - // let fileIds = []; - - // for (let k = 0; k < len; k++) { - // const item = this.fileTypeArr[k]; - // let arr = item.fileIds; - // arr.forEach(child => { - // fileIds.push(child.id); - // }); - // // fileIds.push(...item.fileIds); - // } - - //params.fileIds = fileIds; - this.$api.h_uploadXygProtocol(params).then(res => { - this.$tool.toast("提交成功"); - this.$router.go(-1); - }); - } - } -}; -</script> - -<style lang="less" scoped> -.zxh-upload-box { - padding-top: 56px; - background-color: #f1f1f1; - .up-div { - width: 100%; - height: 250px; - background: rgba(255, 255, 255, 1); - box-shadow: 1px 5px 13px 0px rgba(0, 0, 0, 0.08); - padding: 20px; - box-sizing: border-box; - p:nth-of-type(1) { - font-size: 14px; - font-family: PingFang SC; - font-weight: 500; - color: rgba(51, 51, 51, 1); - margin-bottom: 10px; - } - .upload-div { - width: 100px; - height: 100px; - background: rgba(249, 250, 255, 1); - border: 1px dashed rgba(205, 211, 246, 1); - border-radius: 4px; - text-align: center; - line-height: 100px; - img { - width: 100%; - height: 100%; - } - i { - font-size: 30px; - color: #8365e1; - } - } - p:nth-of-type(2) { - margin: 16px 0 10px 0; - font-size: 13px; - font-family: PingFang SC; - font-weight: 500; - color: rgba(153, 153, 153, 1); - } - } - .btn { - width: 88%; - height: 44px; - background: rgba(137, 110, 219, 1); - border-radius: 22px; - color: white; - outline: none; - border: 0; - margin-left: 6%; - margin-top: 37px; - } -} - -.content { - margin-bottom: 10px; - padding-bottom: 12px; - background-color: @color-white; - - .title { - display: flex; - justify-content: space-between; - align-items: center; - padding: 0 12px; - height: 49px; - line-height: 49px; - font-size: @font-size-base; - font-weight: @font-weight-base; - - input { - display: none; - } - } -} - -.upload { - margin: 5px 12px 0; - display: flex; - justify-content: flex-start; - align-items: center; - flex-wrap: wrap; - - .upload-item { - margin-right: 12px; - width: 109px; - height: 109px; - position: relative; - background-position: center; - background-size: contain; - background-repeat: no-repeat; - margin-bottom: 12px; - - &:nth-child(3n) { - margin-right: 0; - } - - .iconfont { - position: absolute; - right: 3px; - top: 0; - } - } -} - -#file { - display: none; -} - -.scene_Staging-xiangji { - fill: @color-border-theme; - color: @color-border-theme; - font-size: 20px; -} -</style> diff --git a/src/views/old/store/xyg/xyg-mation.vue b/src/views/old/store/xyg/xyg-mation.vue deleted file mode 100644 index d3dd58d..0000000 --- a/src/views/old/store/xyg/xyg-mation.vue +++ /dev/null @@ -1,318 +0,0 @@ -<!-- - * @Author: 小明丶 - * @Date: 2020-03-19 10:25:57 - * @LastEditors: 小明丶 - * @LastEditTime: 2020-06-28 10:28:58 - * @Description: - --> -<!-- - * @Author: 小明丶 - * @Date: 2019-10-21 17:19:32 - * @LastEditors: 小明丶 - * @LastEditTime: 2019-11-04 17:28:32 - * @Description: - --> -<template> - <div class="hbhy-big-box"> - <!-- <van-nav-bar title="办理套餐" left-arrow @click-left="onClickLeft" /> --> - <!-- <x-header title="办理套餐" :left-options="{backText:''}"></x-header> --> - <v-navbar title="办理套餐" fixed></v-navbar> - <div class="color-box"></div> - <div class="package-information"> - <div class="tit"> - <p>套餐信息</p> - </div> - <div class="package-tariff"> - <van-field - class="myStyle" - disabled - custom-style="color:#333333" - v-model="query.packageTariff" - label="套餐资费" - placeholder="请输入套餐资费" - input-align="right" - label-class="input-text" - style="font-size: 14px; - color: rgba(102, 102, 102, 1); - font-family:PingFang SC;" - /> - </div> - <div class="total-repayment"> - <van-field - class="myStyle" - disabled - v-model="query.totalRepayment" - label="总还款额" - placeholder="请输入总还款额" - input-align="right" - label-class="input-text" - style="font-size: 14px; - color: rgba(102, 102, 102, 1); - font-family:PingFang SC;" - /> - </div> - <div class="monthly-repayment"> - <van-field - class="myStyle" - disabled - v-model="query.monthlyRepayment" - label="每月还款" - placeholder="请输入每月还款" - input-align="right" - label-class="input-text" - style="font-size: 14px; - color: rgba(102, 102, 102, 1); - font-family:PingFang SC;" - /> - </div> - <div class="trim"> - <van-field - class="myStyle" - disabled - v-model="query.trim" - label="还款期数" - placeholder="请输入还款期数" - input-align="right" - label-class="input-text" - style="font-size: 14px; - color: rgba(102, 102, 102, 1); - font-family:PingFang SC;" - /> - </div> - <div class="merchant-arrival"> - <van-field - disabled - v-model="query.merchantArrival" - label="商户到账" - placeholder="请输入商户到账" - input-align="right" - label-class="input-text" - style="font-size: 14px; - color: rgba(102, 102, 102, 1); - font-family:PingFang SC;" - /> - </div> - </div> - <div class="btn-grounp"> - <button @click="goHbPage">花呗分期</button> - <button @click="goCxPage">储蓄卡分期</button> - </div> - </div> -</template> -<script> -import Vue from "vue"; -import { NavBar } from "vant"; -import { Field } from "vant"; -import { Button } from "vant"; -import { Notify } from "vant"; - -Vue.use(Notify); -Vue.use(Button); -Vue.use(Field); -Vue.use(NavBar); -export default { - data() { - return { - query: { - merchantArrival: "", //商户到账 - trim: "", //分期期数 - monthlyRepayment: "", //每月还款 - totalRepayment: "", //总还款额 - packageTariff: "", //套餐资费 - contId: "", //套餐id - contName: "" //套餐名称 - }, - userName: "", //用户名 - userNumber: "", //用户手机号 - tradeName: "", //商品名称 - contMblNo:"",//合约手机号 - idNo:""//身份证号 - }; - }, - mounted() { - this.query = this.$route.query; - console.log(this.query); - }, - methods: { - goCxPage(){ - this.$route.push({ - path:"/xyg/list", - query:this.query - }) - }, - goHbPage(){ - this.$route.push({ - path:"/xyg/list", - query:this.query - }) - }, - onClickLeft() { - this.$router.go(-1); - }, - createdQRCode() { - if ( - this.userName == "" || - this.userNumber == "" || - this.tradeName == "" || - this.contMblNo == "" || - this.idNo == "" - ) { - Notify({ type: "primary", message: "姓名、入网号码、合约号码、身份证号、商品名称不能为空" }); - return; - } - let params = { - contId: this.query.contId, - goodsName: this.tradeName, - userName: this.userName, - userMblNo: this.userNumber, - contMblNo:this.contMblNo, - idNo:this.idNo - }; - this.$api.hbhyjCreate(params).then(res => { - let body = res.body; - this.orderId = body.orderId; - this.payQrCodeUrl = body.payQrCodeUrl; - this.totalAmount = body.totalAmount; - // this.trial.repayPerMonth = body.repayPerMonth; - // this.trial.feeRate = body.feeRate; - this.showConfirm = true; - if (body.payQrCodeUrl) { - sessionStorage.setItem("hbpayQrCodeUrl", body.payQrCodeUrl); - } - this.$router.push({ - path: "/hb-getHBQRCode", - query: { - orderId: body.orderId, - payQrCodeUrl: body.payQrCodeUrl, - totalAmount: body.totalAmount, - term: this.query.trim, - typeId: this.query.typeId || "" - } - }); - }); - } - } -}; -</script> -<style lang="less" scoped> -.hbhy-big-box { - & { - position: relative; - background-color: #f5f5f5; - height: auto; - padding-bottom: 20px; - min-height: 100vh; - } - .color-box { - width: 100%; - height: 260px; - background: linear-gradient( - 180deg, - rgba(85, 78, 128, 1), - rgba(66, 61, 93, 1) - ); - } - .user-information { - & { - position: absolute; - width: 90%; - height: 220px; - background-color: white; - left: 5%; - top: 98px; - border-radius: 6px; - } - div { - height: 50px; - width: 100%; - border-bottom: 1px solid #f5f5f5; - } - .tit { - p { - color: #333333; - font-size: 16px; - font-weight: bold; - line-height: 50px; - margin-left: 5px; - } - p::before { - width: 3px; - height: 16px; - content: ""; - background: rgba(137, 110, 219, 1); - border-radius: 0px 3px 0px 3px; - // left: -8px; - // top: 24px; - // position: absolute; - display: inline-block; - margin-right: 5px; - } - } - } - .package-information { - & { - width: 94%; - height: 302px; - background-color: white; - margin: auto; - margin-top: -150px; - border-radius:6px; - } - div:not(:last-child) { - height: 50px; - width: 100%; - border-bottom: 1px solid #f5f5f5; - } - /deep/ .van-field__control:disabled { - //color: #333333; - -webkit-text-fill-color: #333333!important; - background-color: transparent; - opacity: 1; - } - .tit { - p { - color: #333333; - font-size: 16px; - font-weight: bold; - line-height: 50px; - margin-left: 5px; - } - p::before { - width: 3px; - height: 16px; - content: ""; - background: rgba(137, 110, 219, 1); - border-radius: 0px 3px 0px 3px; - // left: -8px; - // top: 24px; - // position: absolute; - display: inline-block; - margin-right: 5px; - } - } - } - .btn-grounp{ - margin-top: 40px; - color: #fff; - text-align: center; - button:nth-of-type(1){ - width:160px; - height:44px; - background:rgba(137,110,219,1); - border-radius:22px; - outline: none; - border: 0; - margin-right: 12px; - } - button:nth-of-type(2){ - width:160px; - height:44px; - background:rgba(81,74,120,1); - border-radius:22px; - outline: none; - border: 0; - } - } -} - -</style> diff --git a/src/views/old/store/xyg/xygHb.vue b/src/views/old/store/xyg/xygHb.vue deleted file mode 100644 index 8f7e597..0000000 --- a/src/views/old/store/xyg/xygHb.vue +++ /dev/null @@ -1,419 +0,0 @@ -<!-- - * @Author: 小明丶 - * @Date: 2020-03-19 12:38:43 - * @LastEditors: 小明丶 - * @LastEditTime: 2020-11-16 10:54:46 - * @Description: 信用购花呗办理套餐页面 - --> -<template> - <div class="hbhy-big-box"> - <!-- <van-nav-bar title="办理套餐" left-arrow @click-left="onClickLeft" /> --> - <!-- <x-header title="办理套餐" :left-options="{backText:''}"></x-header> --> - <v-navbar title="办理套餐" fixed></v-navbar> - <div class="color-box"></div> - <div class="user-information"> - <div class="tit"> - <p>用户信息</p> - </div> - <div class="user-cont"> - <van-field - v-model="contMblNo" - maxlength="11" - label="合约号码" - placeholder="请输入用户合约号码" - input-align="right" - label-class="input-text" - style="font-size: 14px; - color: rgba(102, 102, 102, 1); - font-family:PingFang SC;" - /> - </div> - <div class="user-name"> - <van-field - v-model="userName" - label="用户姓名" - placeholder="请输入用户姓名" - input-align="right" - label-class="input-text" - style="font-size: 14px; - color: rgba(102, 102, 102, 1); - font-family:PingFang SC;" - /> - </div> - <div class="user-idno"> - <van-field - v-model="idNo" - maxlength="18" - label="身份证号" - placeholder="请输入用户身份证号" - input-align="right" - label-class="input-text" - style="font-size: 14px; - color: rgba(102, 102, 102, 1); - font-family:PingFang SC;" - /> - </div> - <div class="user-number"> - <van-field - v-model="tradeName" - label="商品名称" - placeholder="请输入商品名称" - input-align="right" - label-class="input-text" - style="font-size: 14px; - color: rgba(102, 102, 102, 1); - font-family:PingFang SC;" - /> - </div> - </div> - <div class="package-information"> - <div class="tit"> - <p>套餐信息</p> - </div> - <div class="package-tariff"> - <van-field - class="myStyle" - disabled - custom-style="color:#333333" - v-model="query.packagePrices" - label="套餐资费" - placeholder="请输入" - input-align="right" - label-class="input-text" - style="font-size: 14px; - color: rgba(102, 102, 102, 1); - font-family:PingFang SC;" - /> - </div> - <div class="total-repayment"> - <van-field - class="myStyle" - disabled - v-model="query.totalPayments" - label="总还款额" - placeholder="请输入" - input-align="right" - label-class="input-text" - style="font-size: 14px; - color: rgba(102, 102, 102, 1); - font-family:PingFang SC;" - /> - </div> - <div class="monthly-repayment"> - <van-field - class="myStyle" - disabled - v-model="query.retFee" - label="每月还款" - placeholder="请输入" - input-align="right" - label-class="input-text" - style="font-size: 14px; - color: rgba(102, 102, 102, 1); - font-family:PingFang SC;" - /> - </div> - <div class="trim"> - <van-field - class="myStyle" - disabled - v-model="query.term" - label="还款期数" - placeholder="请输入" - input-align="right" - label-class="input-text" - style="font-size: 14px; - color: rgba(102, 102, 102, 1); - font-family:PingFang SC;" - /> - </div> - <div class="merchant-arrival"> - <van-field - disabled - v-model="query.prodAmt" - label="结算金额" - placeholder="请输入" - input-align="right" - label-class="input-text" - style="font-size: 14px; - color: rgba(102, 102, 102, 1); - font-family:PingFang SC;" - /> - <van-field - disabled - v-model="platRatePr" - label="智享服务费率" - label-width="150px" - placeholder="请输入" - input-align="right" - label-class="input-text" - style="font-size: 14px; - color: rgba(102, 102, 102, 1); - font-family:PingFang SC;" - /> - <van-field - disabled - v-model="zfbRatePr" - label="花呗分期手续费率" - label-width="150px" - placeholder="请输入" - input-align="right" - label-class="input-text" - style="font-size: 14px; - color: rgba(102, 102, 102, 1); - font-family:PingFang SC;" - /> - </div> - </div> - <van-button - round - type="default" - color="#896EDB" - style="margin-left:10%;margin-top:125px;width:80%;background:#896EDB;color:#fff" - @click="createdQRCode" - >生成二维码</van-button> - <Vdialog @cancel="cancel" :show="showDia"></Vdialog> - </div> -</template> -<script> -import Vue from "vue"; -import { NavBar } from "vant"; -import { Field } from "vant"; -import { Button } from "vant"; -import { Notify } from "vant"; -import Vdialog from "@/components/common/v-dialog.vue"; - -Vue.use(Notify); -Vue.use(Button); -Vue.use(Field); -Vue.use(NavBar); -export default { - components:{ - Vdialog - }, - data() { - return { - showDia:false, - query: { - platRate:'', - zfbRate:'', - prodAmt: "", //结算金额 - term: "", //分期期数 - retFee: "", //月还款 - totalPayments: "", //总还款额 - packagePrices: "", //套餐资费 - // contId: "", //套餐id - // contName: "" //套餐名称 - }, - mblNo:'',// - userName: "", //用户名 - //userNumber: "", //用户入网号码 - tradeName: "", //商品名称 - contMblNo:"",//合约手机号 - idNo:"",//身份证号 - //prodName:'',//商品名称 - }; - }, - computed:{ - zfbRatePr(){ - if(this.query.zfbRate){ - return this.query.zfbRate + '%' - }else{ - return '' - } - - }, - platRatePr(){ - if(this.query.platRate){ - return this.query.platRate + '%' - }else{ - return '' - } - - } - }, - created(){ - if(sessionStorage.hb_session_info&&this.$route.query.isCreateOrderPush){ - let hb_session_info = JSON.parse(sessionStorage.hb_session_info) - this.tradeName=hb_session_info.goodsName - this.userName=hb_session_info.userName - this.contMblNo=hb_session_info.contMblNo - this.idNo=hb_session_info.idNo - } - }, - mounted() { - this.query = this.$route.query; - this.contMblNo = this.$route.query.mblNo - console.log(this.query); - }, - methods: { - cancel(val){ - this.showDia = val - }, - onClickLeft() { - this.$router.go(-1); - }, - createdQRCode() { - if ( - this.userName == "" || - this.tradeName == "" || - this.contMblNo == "" || - this.idNo == "" - ) { - Notify({ type: "primary", message: "姓名、合约号码、身份证号、商品名称不能为空" }); - return; - } - // 用来整体存储缓存数据 - let hb_session_info = { - goodsName: this.tradeName, - userName: this.userName, - contMblNo:this.contMblNo, - idNo:this.idNo, - } - sessionStorage.hb_session_info = JSON.stringify(hb_session_info) - - let params = { - //contId:this.query.contId, - goodsName: this.tradeName, - userName: this.userName, - contMblNo:this.contMblNo, - idNo:this.idNo, - seq:this.query.seq, - term:this.query.term, - capitalAmt:this.query.prodAmt, - zfbVersion: this.$route.query.zfbVersion - }; - this.$api.xygOrderCreateHbOrder(params).then(res => { - let body = res.body; - this.orderId = body.orderId; - this.payQrCodeUrl = body.payQrCodeUrl; - this.totalAmount = body.totalAmount; - this.capitalAmt = body.capitalAmt - // this.trial.repayPerMonth = body.repayPerMonth; - // this.trial.feeRate = body.feeRate; - this.showConfirm = true; - if (body.payQrCodeUrl) { - sessionStorage.setItem("xygHbpayQrCodeUrl", body.payQrCodeUrl); - } - this.$router.push({ - path: "/xyg-getXygHbQRCode", - query: { - orderId: body.orderId, - payQrCodeUrl: body.payQrCodeUrl, - totalAmount: body.totalAmount, - term: this.query.term, - typeId: this.query.typeId || "", - platRate: this.query.platRate, - zfbRate: this.query.zfbRate, - capitalAmt:this.capitalAmt - } - }); - },err=>{ - if(err.errorCode===30006007){ - this.showDia = true - } - }); - } - } -}; -</script> -<style lang="less" scoped> -.hbhy-big-box { - & { - position: relative; - background-color: #f5f5f5; - height: auto; - padding-bottom: 60px; - min-height: 100vh; - } - .color-box { - width: 100%; - height: 260px; - background: linear-gradient( - 180deg, - rgba(85, 78, 128, 1), - rgba(66, 61, 93, 1) - ); - } - .user-information { - & { - position: absolute; - width: 94%; - height: 220px; - background-color: white; - left: 3%; - top: 98px; - border-radius: 6px; - } - div { - height: 50px; - width: 100%; - border-bottom: 1px solid #f5f5f5; - } - .tit { - p { - color: #333333; - font-size: 16px; - font-weight: bold; - line-height: 50px; - margin-left: 5px; - } - p::before { - width: 3px; - height: 16px; - content: ""; - background: rgba(137, 110, 219, 1); - border-radius: 0px 3px 0px 3px; - // left: -8px; - // top: 24px; - // position: absolute; - display: inline-block; - margin-right: 5px; - } - } - } - .package-information { - & { - width: 94%; - height: 302px; - background-color: white; - margin: auto; - margin-top: 100px; - border-radius:6px; - } - div:not(:last-child) { - height: 50px; - width: 100%; - border-bottom: 1px solid #f5f5f5; - } - /deep/ .van-field__control:disabled { - //color: #333333; - -webkit-text-fill-color: #333333!important; - background-color: transparent; - opacity: 1; - } - .tit { - p { - color: #333333; - font-size: 16px; - font-weight: bold; - line-height: 50px; - margin-left: 5px; - } - p::before { - width: 3px; - height: 16px; - content: ""; - background: rgba(137, 110, 219, 1); - border-radius: 0px 3px 0px 3px; - // left: -8px; - // top: 24px; - // position: absolute; - display: inline-block; - margin-right: 5px; - } - } - } -} -</style> - diff --git a/src/views/old/store/xyg/xygList.vue b/src/views/old/store/xyg/xygList.vue deleted file mode 100644 index 3e556bf..0000000 --- a/src/views/old/store/xyg/xygList.vue +++ /dev/null @@ -1,557 +0,0 @@ -<!-- - * @Author: 小明丶 - * @Date: 2019-12-26 10:37:53 - * @LastEditors: 小明丶 - * @LastEditTime: 2020-11-13 17:07:22 - * @Description: - --> -<template> - <div class="order-hb-box h-100-g"> - <van-nav-bar title="运营商消费"> - <i class="iconfont iconzuojiantou" slot="left" style="font-size:18px;color:#fff;font-weight:blod" @click="goFrom"></i> - </van-nav-bar> - <div class="top-back"> - <div class="big-cri"> - - </div> - <div class="small-cri"> - - </div> - <!-- <div class="btn-grounp"> - <span class="btn-hb" ref="hb" @click="showHb">花呗分期</span> - <span class="btn-cx" ref="cx" @click="showCx">储蓄卡分期</span> - <span class="squer" ref="sqe"></span> - </div> --> - </div> - <div v-if="list.length > 0" class="list-box"> - <MyList :defScroll="10" :finished="finished" :loading="loading" @scroll="init"> - <div class="list-div" v-for="(item,i) in list" :key="i" @click="goHandle(item)"> - <p class="list-top"> - <i class="iconfont iconshanghuzhuce"></i> - <span>{{item.mblNo}}</span> - <span v-if="item.creTime">{{item.creTime | timeformat('yyyy-MM-dd HH:mm:ss')}}</span> - </p> - <div class="list-left"> - <p>{{item.prodAmt}}</p> - <p>结算金额(元)</p> - </div> - <div class="list-right"> - <p>{{item.term}}</p> - <p>分期期数(月)</p> - </div> - </div> - </MyList> - </div> - <div v-else class="nothing-div"> - <img class="nothing-pic" src="../../../../assets/img/xygpic.png" alt="暂无信用购数据"> - <p class="nothing-text">暂无订单</p> - </div> - <van-popup v-model="show" closeable :style="{ width: '280px' }"> - <template> - <div class="pro-div"> - <p>录入营业员编码</p> - <p>该编号为营业员的移动工号,请确保准确无误,否则将无法为用户办理信用购业务。</p> - <input type="text" placeholder="请输入营业员编码" v-model="iptObj.empCode"> - <input type="text" placeholder="请输入营业厅编码" v-model="iptObj.orgBizCode"> - <button @click="bindInfo">确定</button> - </div> - </template> - </van-popup> - </div> -</template> -<script> -import Vue from 'vue'; -import MyList from "../../../../components/common/h-list" -import { - mapState, - mapGetters - } from 'vuex'; -import { - getParams - } from '@/utils/index'; -import { Popup } from 'vant'; -import { Toast } from 'vant'; - -Vue.use(Toast); -Vue.use(Popup); -export default { - components:{ - MyList - }, - data() { - return { - iptObj:{ - empCode: "", - orgBizCode: "" - },//弹出层输入框值 - getWhichList:30000012,//判断获取花呗还是储蓄卡列表 - show:false,//弹出层控制 - goIdList:[],//判断跳转页面 - lastId:'',//分页最后一笔订单ID - loading: false, - finished: false, - list: [], - typeId:'', - prodId:'', - mblNo:'', - prodAmt:"", - seq:"", - prodName:'', - monthlyFees:'', - } - }, - created(){ - this.typeId = this.$route.query.typeId - this.getCkeck() - //this.init() - }, - methods:{ - bindInfo(){ - this.$api.xygOrderBindInfo(this.iptObj).then(res=>{ - this.show = false - this.init() - }) - },//绑定信息 - - getCkeck(){ - this.$api.xygOrderCheckInfo().then(res=>{ - if(res.body.isbind == 1){ - this.init() - }else{ - this.show = true - } - }) - },//初始化获取 是否有绑定信息 有显示列表,没有显示绑定信息的弹出层 - - showCx(){ - this.$refs.sqe.style["transform"] = `translateX(100%)` - this.$refs.sqe.style["transition"] = `0.5s` - this.$refs.hb.style['color'] = `#fff` - this.$refs.cx.style['color'] = `#5C4CD0` - this.getWhichList = 30000011 - this.list=[] - this.init() - },//tab切换储蓄卡 - - showHb(){ - this.$refs.sqe.style["transform"] = `translateX(0%)` - this.$refs.sqe.style["transition"] = `0.5s` - this.$refs.hb.style['color'] = `#5C4CD0` - this.$refs.cx.style['color'] = `#fff` - this.getWhichList = 30000012 - this.list=[] - this.init() - },//tab切换花呗分期 - - // 返回上一页 - goFrom(){ - this.$router.go(-1) - }, - // 跳转办单 - goHandle(item){ - this.prodId = item.prodId - this.mblNo = item.mblNo - this.prodAmt = item.prodAmt - this.seq = item.seq - this.prodName = item.prodName - if(item.hasCont == 0){ - Toast('您暂不具有该合约,请分配以后重试'); - return - } - - var path - if(this.getWhichList==30000011 && item.isUse == 1){ - path = '/xyg/createcode' - }else if(this.getWhichList==30000011 && item.isUse == 0){ - Toast('暂未开通'); - return - } - - if(this.getWhichList==30000012 && item.isUse == 1){ - path = '/xyg/xygHb' - }else if(this.getWhichList==30000012 && item.isUse == 0){ - Toast('暂未开通'); - return - } - - console.log(path) - this.$router.push({ - path:path, - query:{ - // contId:item.contId, - prodId:this.prodId, - mblNo:this.mblNo, - prodAmt:this.prodAmt, - seq: this.seq, - prodName:this.prodName, - term:item.term, - typeId:this.typeId, - monthlyFees:item.monthlyFees, - totalPayments:item.totalPayments, - retFee:item.retFee, - packagePrices:item.packagePrices, - platRate:item.platRate, - zfbRate:item.zfbRate, - zfbVersion: this.$route.query.zfbVersion - } - }) - }, - //获取订单列表 - init() { - if(this.list.length>0){ - this.lastId = this.list[this.list.length-1].id - } - this.$api.getunhandingList({ - prodId:this.getWhichList, - id:this.lastId - }).then(res=>{ - this.goIdList = res.body.prodIds - if(res.body.orderItemInfos.length<10){ - this.loading = false - this.finished = true - this.list = [...this.list,...res.body.orderItemInfos] - }else{ - this.loading = false - this.finished = false - this.list = [...this.list,...res.body.orderItemInfos] - } - }).catch((err) => { - this.finished = true; - this.loading = false; - }); - }, - } -} -</script> -<style lang="less" scoped> - -.order-hb-box { - background-color:#fff; - position: relative; - } - .van-hairline--bottom::after { - border: 0; - } - .van-nav-bar { - background-color: rgba(255,255,255,0); - } - .van-nav-bar__title { - max-width: 60%; - margin: 0 auto; - color: #fff; - font-weight: bold; - font-size: 16px; - } - .pro-div{ - &{ - padding: 30px 20px 16px 20px; - text-align: center; - } - p:nth-of-type(1){ - font-size:16px; - font-family:PingFang SC; - font-weight:500; - color:rgba(0,0,0,1); - text-align: center; - margin-bottom: 12px; - } - p:nth-of-type(2){ - font-size:12px; - font-family:PingFang SC; - font-weight:500; - color:rgba(153,153,153,1); - margin-bottom: 23px; - } - input{ - width:244px; - height:36px; - background:rgba(255,255,255,1); - border:1px solid rgba(230,230,230,1); - border-radius:18px; - padding-left: 21px; - box-sizing: border-box; - margin-bottom: 31px; - } - button{ - width:175px; - height:36px; - background:rgba(137,110,219,1); - border-radius:18px; - color:#fff; - border: 0; - outline: none; - } - } - .top-back{ - width:100%; - height:130px; - background:linear-gradient(180deg,rgba(137,110,219,1),rgba(90,74,207,1)); - position: relative; - overflow: hidden; - top: -46px; - .big-cri{ - width:92px; - height:92px; - background:rgba(255,255,255,1); - opacity:0.1; - border-radius:50%; - position: absolute; - top: -13px; - right: -46px; - } - .small-cri{ - width:55px; - height:55px; - background:rgba(255,255,255,1); - opacity:0.05; - border-radius:50%; - position: absolute; - top: 49px; - left: 7px; - } - .btn-grounp{ - width:94%; - margin-left: 3%; - margin-top: 55px; - height:36px; - background:rgba(138,117,220,1); - border-radius:18px; - position: relative; - text-align: center; - line-height: 36px; - .squer{ - display: inline-block; - width:50%; - height:36px; - background:rgba(255,255,255,1); - border-radius:18px; - position: absolute; - top: 0; - left: 0; - } - .btn-hb{ - position: relative; - z-index: 100; - display: inline-block; - outline: none; - border: 0; - color:#5C4CD0; - width:49%; - height:36px; - border-radius:18px; - } - .btn-cx{ - position: relative; - z-index: 100; - display: inline-block; - outline: none; - border: 0; - color:#fff; - width:49%; - height:36px; - border-radius:18px; - } - } - } - .list-box{ - height: 83vh; - width: 100%; - overflow: scroll; - position: absolute; - top: 105px; - .list-div{ - width:94%; - height:130px; - background:rgba(255,255,255,1); - box-shadow:0px 1px 19px 0px rgba(91,55,201,0.16); - border-radius:3px; - margin-left: 3%; - margin-bottom: 15px; - box-sizing: border-box; - padding: 18px 8px 0 8px; - position: relative; - .list-top{ - border-bottom:1px solid #E5E5E5; - padding-bottom: 13px; - i{ - font-size: 18px; - color: #8365E1; - display: inline-block; - vertical-align: middle; - } - span:nth-of-type(1){ - font-size:16px; - font-weight:bold; - color:rgba(51,51,51,1); - display: inline-block; - vertical-align: middle; - width: 40%; - } - span:nth-of-type(2){ - font-size: 12px; - color: #666666; - display: inline-block; - vertical-align: middle; - width: 50%; - text-align: right; - } - } - .list-left::after{ - content: ''; - width:1px; - height:32px; - background:rgba(230,230,230,1); - position: absolute; - top: 73px; - left: 49%; - } - .list-left,.list-right{ - display: inline-block; - width: 49%; - padding-top: 19px; - text-align: center; - p:nth-of-type(1){ - font-size:18px; - font-family:PingFang SC; - font-weight:bold; - margin-bottom: 7px; - color:rgba(51,51,51,1); - } - p:nth-of-type(2){ - font-size:12px; - font-family:PingFang SC; - font-weight:500; - color:rgba(153,153,153,1); - } - } - } - } - .nothing-div{ - text-align: center; - margin-top: 15vh; - .nothing-pic{ - width: 165px; - height: 94px; - } - .nothing-text{ - font-size:14px; - font-family:PingFang SC; - font-weight:500; - color:rgba(51,51,51,1); - margin-top: 16px; - } - } - .list-box::-webkit-scrollbar,.withdrawals-box::-webkit-scrollbar { - display: none; - } - .order-list { - padding: 0 8px 30px; - - .info { - margin-bottom: 20px; - } - } - .popup-content{ - height: 150px; - width: 280px; - border-radius: 3px; - .icon-box{ - z-index: 99999; - height: 64px; - width: 64px; - position: absolute; - left: 50%; - background:rgba(66,61,93,0.1); - border-radius: 50%; - transform: translate(-50%,-50%); - - .child{ - height: 55px; - width: 55px; - background:rgba(66,61,93,0.8); - border-radius: 50%; - } - } - .text{ - width: 210px; - text-align: center; - margin: 0 auto; - padding-top: 50px; - line-height: 18px; - .top{ - color: @c-text-666; - } - } - .btn-submit{ - .lh(44px); - position: absolute; - width: 100%; - bottom: 0; - color: @c-text-default; - } - } - // .xyg-list-box{ - // min-height: 100vh; - // background-color: #F5F5F7; - // .order-list { - // padding: 0 8px 30px; - // .list-item { - // width: 98%; - // background: #fff; - // padding:20px 8px 10px 8px; - // box-sizing: border-box; - // margin: 10px 1%; - // } - // .amt-term{ - // position: relative; - // .box::after{ - // content: ""; - // position: absolute; - // height: 36px; - // color: #EBEBEB; - // top: 0; - // right: 50%; - // border-right:1px solid #EBEBEB; - // } - // div{ - // display: inline-block; - // width: 49%; - // text-align: center; - // p{ - // margin-bottom:7px; - // } - // p:nth-of-type(1){ - // color: #2B2B2B; - // font-size: 18px; - // font-weight: bold; - // } - // p:nth-of-type(2){ - // color: #989898; - // font-size: 12px; - // } - // } - // } - // .tel-time{ - // background-color: #F7F5FB; - // height: 40px; - // box-sizing: border-box; - // padding: 0 5px; - // margin-top:10px; - // span{ - // display: inline-block; - // line-height: 40px; - // width: 49%; - // } - // span:nth-of-type(1){ - // font-size: 14px; - // color: #848485; - // } - // span:nth-of-type(2){ - // text-align: right; - // font-size: 12px; - // color: #979796; - // } - // } - // } - // } -</style> \ No newline at end of file diff --git a/src/views/old/store/zxh/createcode.vue b/src/views/old/store/zxh/createcode.vue deleted file mode 100644 index e21561d..0000000 --- a/src/views/old/store/zxh/createcode.vue +++ /dev/null @@ -1,258 +0,0 @@ -<!-- - * @Descripttion: 智享云生成二维码 - * @Author:TM丶 - * @LastEditors: 小明丶 - * @Date: 2019-3-1 15:00:00 - * @LastEditTime: 2019-09-02 11:13:02 - --> -<template> - <div class="contract-installment-zxh"> - <x-header title="智享花" :left-options="{backText:''}"></x-header> - <group> - <div class="title"> - <span class="line"></span> - 合约信息 - </div> - <selector title='合约套餐' placeholder='请选择' v-model="selectContract" :options='contractList' - :value-map="['contId','contName']" @on-change='contractChange' direction='rtl'></selector> - <x-input title='结算金额' v-model.trim="selectConInfo.capitalAmt" readonly text-align='right'><span slot="right" - style="font-size: 14px;">元</span></x-input> - <x-input title='月缴话费' v-model.trim="selectConInfo.monthlyFees" readonly text-align='right'><span - slot="right" style="font-size: 14px;">元</span></x-input> - <x-input title='期数' v-model.trim="selectConInfo.term" readonly text-align='right'><span slot="right" - style="font-size: 14px;">期</span></x-input> - </group> - <f-space></f-space> - <group> - <div class="title"> - <span class="line"></span> - 商品信息 - </div> - <x-input title='品牌' v-model.trim="goodsInfo.goodsBrand" placeholder='请输入' :max='10' text-align='right'> - </x-input> - <x-input title='名称' v-model.trim="goodsInfo.goodsName" placeholder='请输入' :max='10' text-align='right'> - </x-input> - <x-input title='型号' v-model.trim="goodsInfo.goodsModel" placeholder='请输入' :max='15' text-align='right'> - </x-input> - <x-input title='价格' v-model.trim="goodsInfo.goodsPrice" placeholder='请输入' :max='5' text-align='right'> - </x-input> - <x-input title='IMEI' v-model.trim="goodsInfo.goodsImei" placeholder='请输入' :max='20' text-align='right'> - </x-input> - - </group> - - <van-button class="btn" round @click="submit">生成二维码</van-button> - </div> -</template> - -<script> - import { - XAddress - } from 'vux'; - import QRCode from 'qrcode'; - import IDValidator from '@/utils/IDValidator'; - - export default { - name: 'heyd_createcode', - components: { - XAddress - }, - data() { - return { - cityList: [], - selectContract: '', // 选中的合约 - // 合约信息 - selectConInfo: { - capitalAmt: '', // 结算金额 - monthlyFees: '', // 月缴话费 - term: '', // 期数 - }, - // 商品信息 - goodsInfo: { - goodsBrand: '', //商品品牌 - goodsName: '', //商品名称 - goodsModel: '', // 商品型号 - goodsPrice: '', // 价格 - goodsImei: '', // IMEI - }, - contractList: [], // 合约列表 - } - }, - created() { - this.initWXToken(location.origin + location.pathname); - this.$api.h_contractList({ - typeId: this.$route.query.typeId - }).then(res => { - this.contractList = res.body; - }, err => err); - this.$api.getArea().then(res => { - this.cityList = res.body.provList; - }); - }, - watch: { - }, - methods: { - initWXToken(parUrl) { - this.$api.getTokenInfo({ - url: parUrl - }).then( - function (res) { - if (res.errorCode === 0) { - // 第二步骤 只需要首页地址分享 ,需要在每次变化时调用 - wx.config({ - debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。 - appId: res.body.appId, - timestamp: res.body.timestamp, // 必填,生成签名的时间戳 - nonceStr: res.body.nonceStr, // 必填,生成签名的随机串 - signature: res.body.signature, // 必填,签名,见附录1 - jsApiList: [ - 'checkJsApi', - 'scanQRCode', - 'getLocation' - ] // 必填,需要使用的JS接口列表,所有JS接口列表见附录2 - }); - } - }, - function (error) { - if (error.response) { - console.log(error.response); - } - } - ); - }, - getLocation(){ - console.log('getLocation'); - let _this = this; - wx.getLocation({ - type: 'wgs84', - success: function (res) { - console.log(JSON.stringify(res)); - let longitude = res.longitude - let latitude = res.latitude - _this.$api.gpsAddr({ - gpsAddrLongitude: longitude, - gpsAddrLatitude: latitude - }).then(res => { - console.log('gpsSucess'); - }, err => err); - }, - cancel: function (res) { - console.log('用户拒绝授权获取地理位置'); - _this.$api.gpsAddr({ - gpsAddrLongitude: '', - gpsAddrLatitude: '' - }).then(res => { - console.log('gpsfail'); - }, err => err); - } - }) - }, - // 处理合约的修改 - contractChange(val) { - if (!val) { - return; - } - this.selectConInfo = this.contractList.find((item) => { - return item.contId === val; - }) - }, - // 生成二维码 - submit() { - this.getLocation(); - let v = this.$tool; - if (v.checkValEmpty(this.selectContract)) { - v.toast('请选择合约套餐'); - return false; - } - if (v.checkValEmpty(this.goodsInfo.goodsBrand)) { - v.toast('请输入商品品牌'); - return false; - } - if (!/^[A-Za-z0-9\u4e00-\u9fa5]+$/.test(this.goodsInfo.goodsBrand)) { - v.toast('请输入文字/字母/数字且不包含特殊字符的商品品牌'); - return false; - } - if (v.checkValEmpty(this.goodsInfo.goodsName)) { - v.toast('请输入商品名称'); - return false; - } - if (!/^[A-Za-z0-9\u4e00-\u9fa5]+$/.test(this.goodsInfo.goodsName)) { - - v.toast('请输入文字/字母/数字且不包含特殊字符的商品名称'); - return false; - } - if (v.checkValEmpty(this.goodsInfo.goodsModel)) { - v.toast('请输入商品型号'); - return false; - } - if (v.checkValEmpty(this.goodsInfo.goodsPrice)) { - v.toast('请输入商品价格'); - return false; - } - if (!/^[1-9]\d{0,4}/.test(this.goodsInfo.goodsPrice)) { - v.toast('请输入商品正确的价格'); - return false; - } - if (v.checkValEmpty(this.goodsInfo.goodsImei)) { - v.toast('请输入商品IMEI'); - return false; - } - - let queryObj = { - ...this.selectConInfo, - ...this.goodsInfo, - mgrId: sessionStorage.sid, // 办单员id - contId: this.selectContract, // 合约id - typeId: this.$route.query.typeId - }; - - this.$router.push({ - path: "/contract-qrcode", - query: queryObj - }) - }, - // 根据城市code 获取拼接的字符串 - getAddrText(arr) { - let str = ''; - this.cityList.forEach(item => { - if (arr.indexOf(item.value) > -1) { - str += item.name - } - }) - return str; - } - } - }; -</script> -<style lang='less' > - .contract-installment-zxh { - padding-top: 54px; - background-color: #f1f1f1; - padding-bottom: 80px; - overflow-y: scroll; - - .title { - padding: 14px 12px; - font-size: 15px; - color: #333; - - .line { - display: inline-block; - width: 2px; - height: 16px; - margin-right: 8px; - background: @color-text-three; - vertical-align: middle; - margin-top: -1px; - } - } - } - .btn { - width: 84%; - margin: 0 8%; - background: @c-default; - color: @c-text-fff; - display: block; - margin-top: 15px; - } -</style> diff --git a/src/views/old/store/zxh/message.vue b/src/views/old/store/zxh/message.vue deleted file mode 100644 index 3ef6437..0000000 --- a/src/views/old/store/zxh/message.vue +++ /dev/null @@ -1,105 +0,0 @@ - -<template> - <div class="getQRCode"> - <!-- <x-header class="message-head" title="消息详情" :left-options="{backText:''}"></x-header> --> - <van-nav-bar title="消息详情" left-text="返回" left-arrow @click-left="onClickLeft" style="line-height: 43px;"> - <i class="iconfont iconzuojiantou" slot="left" style="font-size: 25px;"></i> - </van-nav-bar> - <div class="message-body"> - <div class="notice"> - <p class="notice-title">{{ message.msgTitle }}</p> - <p>{{ message.msgTime }}</p> - </div> - <span class="line"></span> - <div class="notice-continue" v-html=" message.msgCon"> - </div> - </div> - </div> -</template> -<script> -import { XHeader } from 'vux'; -import { - dateFormat - } from 'vux' -import { mapActions } from 'vuex'; - export default { - name: 'message', - components: { - XHeader, - }, - data() { - return { - messageId: this.$route.query.messageId, - message:{ - msgCon: '', - msgTitle: '', - msgTime: '', - } - } - }, - computed:{ - - }, - created() { - this.msgInt() - this.getCount() - }, - methods: { - ...mapActions(['getCount']), - onClickLeft() { - this.$router.go(-1); - }, - msgInt() { - this.$api.noticeDetail({id: this.messageId}).then(res => { - console.log(res.body) - this.message.msgCon = res.body.noticeContent; - this.message.msgTitle = res.body.title; - this.message.msgTime = dateFormat(res.body.pubTime); - }) - - } - } - } -</script> -<style lang="less" scoped> -.getQRCode{ - background: #F5F5F7; - width: 100%; - height: 100%; -} -.message-head{ - position: relative; -} -.message-body{ - width: 96%; - margin: 12px 2%; - margin-top: 10px; - background: #fff; - .notice{ - padding: 15px 12px; - border-bottom: 1px solid #EEEEEE; - p{ - color: #999999; - } - &-title{ - font-size: 16px; - font-weight: bold; - color: #333333 !important; - margin-bottom: 10px; - } - } - .notice-continue{ - width: 94%; - margin: 0px 2%; - padding: 15px 0; - white-space: wrap; - font-size: 14px; - word-wrap: break-word; - height: auto; - padding-left: 2%; - background: #fff; - color: #666666; - line-height: 22px; - } -} -</style> diff --git a/src/views/old/store/zxh/set.vue b/src/views/old/store/zxh/set.vue deleted file mode 100644 index 6935865..0000000 --- a/src/views/old/store/zxh/set.vue +++ /dev/null @@ -1,197 +0,0 @@ -<!-- - * @Descripttion: 智享云状态切换 + 数据资料的反显,无复杂逻辑 - * @Author: TM丶 - * @LastEditors: 小明丶 - * @Date: 2019-04-21 18:06:00 - * @LastEditTime: 2019-09-02 11:15:49 - --> -<template> - <div class="zxh-set-box"> - <x-header title="智享花" :left-options="{backText:''}"></x-header> - <group> - <x-switch title="状态" v-model="status"></x-switch> - </group> - <f-space></f-space> - <group> - <div class="title"> - <span class="line"></span> - 基本信息 - </div> - <cell title="商户名称" :value="info.merName"></cell> - <cell title="营业执照号" :value="info.licenseNo"></cell> - <cell title="地址" :value="info.merAddr"></cell> - <cell title="详细地址" :value="info.merDtlAddr"></cell> - <cell title="营业面积" :value="info.merArea"></cell> - <cell title="成立日期" :value="info.foundDate | timeformat('yyyy-MM-dd')"></cell> - <cell title="协议开始时间" :value="(info.agreeStartTime || '') | parseDate"></cell> - <cell title="协议结束时间" :value="(info.agreeEndTime || '') | parseDate"></cell> - </group> - <f-space></f-space> - - <group> - <div class="title"> - <span class="line"></span> - 法人信息 - </div> - <cell title="法人姓名" :value="info.legalName"></cell> - <cell title="法人身份证号" :value="info.legalIdNo"></cell> - <cell title="法人电话" :value="info.legalMblNo"></cell> - <cell title="法人家庭住址" :value="info.legalHomeAddr"></cell> - </group> - <f-space></f-space> - - <group> - <div class="title"> - <span class="line"></span> - 银行信息 - </div> - <cell title="银行名称" :value="info.bankName"></cell> - <cell title="开户行" :value="info.bankDtlName"></cell> - <cell title="地址" :value="info.bankAddr"></cell> - <cell title="户名" :value="info.cardName"></cell> - <cell title="银行账号" :value="info.cardNo"></cell> - <cell title="账号类型" :value="info.cardTypeName"></cell> - <cell title="开户行行号" v-if="info.cardType ==='pu'" :value="info.bankNo"></cell> - </group> - - <f-space></f-space> - - <!-- 图片反显 --> - <section class="img-box"> - <h4>营业执照照片</h4> - <div class="img-item" v-for="(item, index) in info.licencePhotos" :key="index" - :style="item.fileUrl | generate"> - </div> - </section> - <section class="img-box"> - <h4>法人身份证正反面照片</h4> - <div class="img-item" v-for="(item, index) in info.legalCardPhotos" :key="index" - :style="item.fileUrl | generate"></div> - </section> - <section class="img-box"> - <h4>房产证或租赁合同</h4> - <div class="img-item" v-for="(item, index) in info.houseContractPhotos" :key="index" - :style="item.fileUrl | generate"></div> - </section> - <section class="img-box"> - <h4>外景照、门头照片、前台照、内景照</h4> - <div class="img-item" v-for="(item, index) in info.storePhotos" :key="index" - :style="item.fileUrl | generate"></div> - </section> - <section class="img-box"> - <h4>套餐活动清单、终端商品定价清单</h4> - <div class="img-item" v-for="(item, index) in info.mealBillPhotos" :key="index" - :style="item.fileUrl | generate"></div> - </section> - <section class="img-box"> - <h4>运营商授权文件</h4> - <div class="img-item" v-for="(item, index) in info.accreditFilePhotos" :key="index" - :style="item.fileUrl | generate"></div> - </section> - <f-button fixed @on-click="submit">保存</f-button> - </div> -</template> - -<script> - import { - XSwitch - } from 'vux'; - - export default { - name: "heyd_info", - components: { - XSwitch - }, - data() { - return { - status: true, - info: {}, - productInfo: {} - } - }, - filters: { - generate(path) { - return { - 'background-image': `url(${path})` - } - }, - parseDate(v = '') { - if (v) { - return v.slice(0, 4) + '-' + v.slice(4, 6) + '-' + v.slice(-2); - } else { - return '暂无'; - } - } - }, - created() { - this.init(); - }, - methods: { - init() { - this.$api.prodRefInit(this.$route.query).then(res => { - this.productInfo = res.body; - this.status = !!this.productInfo.status; - }); - // 获取商户信息反显 - this.$api.getMerInfo(this.$route.query.orgId).then(res => { - this.info = res.body; - }) - }, - // 保存 - submit() { - this.$api.prodSaveRef({ - ...this.$route.query, - prodSkDtlInfoList: this.productInfo.prodSkDtlInfoList, - status: this.status ? 1 : 0 - }).then(() => { - this.$notify('保存成功'); - }); - } - }, - } -</script> - -<style lang="less"> - .zxh-set-box { - padding-bottom: 60px; - - .title { - padding: 14px 12px; - font-size: 15px; - color: #333; - - .line { - display: inline-block; - width: 2px; - height: 16px; - margin-right: 8px; - background: @color-text-three; - vertical-align: middle; - margin-top: -1px; - } - } - - .img-box { - padding: 0 12px; - background-color: #fff; - margin-bottom: 20px; - - h4 { - font-weight: normal; - font-size: 15px; - line-height: 40px; - } - - .img-item { - display: inline-block; - height: 100px; - width: 100px; - margin: 0 10px 10px 0; - border: 1Px dashed #d9d9d9; - background-repeat: no-repeat; - background-size: contain; - background-position: center; - } - } - } -</style> \ No newline at end of file diff --git a/src/views/old/store/zxh/upload.vue b/src/views/old/store/zxh/upload.vue deleted file mode 100644 index 459e24c..0000000 --- a/src/views/old/store/zxh/upload.vue +++ /dev/null @@ -1,273 +0,0 @@ -<!-- - * @Descripttion: 上传合约凭证 - * @Author: TM丶 - * @LastEditors: 小明丶 - * @Date: 2019-04-08 09:16:44 - * @LastEditTime: 2019-09-03 09:25:14 - --> -<template> - <div class="zxh-upload-box h-100-g"> - <x-header :left-options="{'backText': ''}" title="上传合约凭证" class="gradient-color"></x-header> - <div class="content" v-for="(item, index) in fileTypeArr" :key="index"> - <h4 class="title"> - <span>{{item.name}}</span> - <div @click="changeShowselect(item)"> - <i class="iconfont scene_Staging-xiangji"></i> - <input ref="photo" type="file" accept="image/*" @change="getFile($event.currentTarget,item.code)"> - <input ref="picture" type="file" accept="image/*" capture="camera" - @change="getFile($event.currentTarget,item.code)"> - </div> - </h4> - <ul class="upload"> - <li class="upload-item" v-for="(item, index) in item.fileIds" :key="index" - :style="{'background-image':`url(${item.fileUrl})`}"> - <i class="iconfont scene_Staging-shibai1" @click="deleteImgItem(index)"></i> - </li> - </ul> - </div> - <group> - <x-input title="手机号" v-model="form.contMblNo" placeholder="请输入" text-align="right" :max="11"></x-input> - </group> - <f-button @on-click="submit()">提交</f-button> - - - <van-action-sheet v-model="showSelect" :close-on-click-overlay="false" cancel-text="取消" :actions="nav" - @select="handleSelect"> - </van-action-sheet> - </div> -</template> - -<script> - import { - compress - } from "@/utils/index"; - import { - Actionsheet - } from "vux"; - - export default { - name: "heyd_upload", - data() { - return { - showSelect: false, - nav: [{ - name: '拍照' - }, - { - name: '从手机相册选择' - }, - ], - form: { - orderId: '', - contMblNo: '', - fileIds: [] - }, - fileTypeArr: [], - currentItem: {} - } - }, - components: { - Actionsheet - }, - props: ["orderId"], - created() { - this.form.orderId = this.orderId; - this.$api.h_getFileType().then(res => { - let list = res.body || []; - this.fileTypeArr = list.map(item => { - return { - ...item, - fileIds: [] - } - }) - }) - }, - methods: { - changeShowselect(item) { - if (item.fileIds.length) { - this.$tool.toast(`最多上传一张照片~`) - return - } - this.showSelect = true; - this.currentItem = item; - }, - imgCompress(path, options = {}) { - return new Promise((resolve, reject) => { - let img = new Image(); - img.src = path; - img.onload = function () { - let that = this, - w = that.width, - h = that.height, - scale = w / h, // 默认按比例压缩 - quality = options.quality || 0.92, - canvas = document.createElement('canvas'), - ctx = canvas.getContext('2d'); - - w = options.width || w; - h = options.height || (w / scale); - canvas.width = w; - canvas.height = h; - ctx.drawImage(that, 0, 0, w, h); - if (options.quality && options.quality <= 1 && options.quality > 0) { - quality = options.quality; - } - let base64 = canvas.toDataURL('image/jpeg', quality); - resolve(base64); - } - }) - }, - handleSelect(item, index) { - if (index === 0) { - this.$refs['picture'][0].click(); - } else { - this.$refs['photo'][0].click(); - } - this.showSelect = false; - }, - // 删除图片 - deleteImgItem(index) { - this.currentItem.fileIds.splice(index, 1); - }, - // 获取base64 - getFile(el, fileType) { - let file = el.files[0]; - if (typeof file === 'undefined') return; - let reader = new FileReader(), - that = this; - reader.readAsDataURL(file); - reader.onload = function () { - that.imgCompress(this.result).then(base64 => { - that.upload(base64.split(',')[1], file.type.split('/')[1], fileType); - }) - } - }, - //上传文件 - upload(base64, suffix, fileType) { - let params = { - fileType, - suffix, - base64Data: base64 - } - this.$api.uploadFile(params).then(res => { - this.currentItem.fileIds.push(res.body); - }) - }, - // 提交保存 - submit() { - let form = this.form, - tel = form.contMblNo; - - let len = this.fileTypeArr.length; - for (let index = 0; index < len; index++) { - const item = this.fileTypeArr[index]; - if (item.fileIds.length === 0) { - this.$tool.toast(`请上传${item.name}`) - return - } - } - - - if (tel.length === 0) { - this.$tool.toast("请输入电话号码") - return; - } - - if (!this.$tool.checkPhone(tel)) { - this.$tool.toast("请输入正确的电话号码") - return - } - let params = { - orderId: form.orderId, - contMblNo: tel, - fileIds: [] - }; - - - let fileIds = []; - - for (let k = 0; k < len; k++) { - const item = this.fileTypeArr[k]; - let arr = item.fileIds; - arr.forEach(child => { - fileIds.push(child.id) - }) - // fileIds.push(...item.fileIds); - } - - params.fileIds = fileIds; - this.$api.h_uploadProtocol(params).then(res => { - this.$tool.toast("提交成功") - this.$router.go(-1) - }) - } - } - } -</script> - -<style lang="less" scoped> - .zxh-upload-box { - padding-top: 54px; - background-color: #f1f1f1; - } - - .content { - margin-bottom: 10px; - padding-bottom: 12px; - background-color: @color-white; - - .title { - display: flex; - justify-content: space-between; - align-items: center; - padding: 0 12px; - height: 49px; - line-height: 49px; - font-size: @font-size-base; - font-weight: @font-weight-base; - - input { - display: none; - } - } - } - - .upload { - margin: 5px 12px 0; - display: flex; - justify-content: flex-start; - align-items: center; - flex-wrap: wrap; - - .upload-item { - margin-right: 12px; - width: 109px; - height: 109px; - position: relative; - background-position: center; - background-size: contain; - background-repeat: no-repeat; - margin-bottom: 12px; - - &:nth-child(3n) { - margin-right: 0; - } - - .iconfont { - position: absolute; - right: 3Px; - top: 0; - } - } - } - - #file { - display: none; - } - - .scene_Staging-xiangji { - fill: @color-border-theme; - color: @color-border-theme; - font-size: 20px; - } -</style> \ No newline at end of file diff --git a/src/views/order/credit.vue b/src/views/order/credit.vue deleted file mode 100644 index e66f597..0000000 --- a/src/views/order/credit.vue +++ /dev/null @@ -1,299 +0,0 @@ -<!-- - * @Author: 小明丶 - * @Date: 2019-08-20 14:07:56 - * @LastEditors: 小明丶 - * @LastEditTime: 2019-09-04 18:49:04 - * @Description: 信用卡分期——订单 - --> -<template> - <div class="order-hb-box"> - <v-navbar title="信用卡分期订单" fixed> - <template v-slot:right> - <div class="flex-center-g" @click="isShow = true;"> - <span>筛选</span> - <svg class="icon" aria-hidden="true" style="width:18px;height:18px;"> - <use xlink:href="#iconshaixuan"></use> - </svg> - </div> - </template> - </v-navbar> - <!-- 订单列表 --> - <div class="order-list"> - <v-datacard class='info' :list="orderData"></v-datacard> - <van-list v-model="loading" :finished="finished" finished-text="没有更多了" @load="init" > - <v-order-item :name="item.userName || '无'" :user='item.label' :time='+item.creTime' :list='item.list' - v-for="(item,k) in list" :key="k" @click="go(item.orderId)"></v-order-item> - </van-list> - - </div> - <v-button-circle icon='icondaochu' title='导出' @click="exportFile"></v-button-circle> - - <v-filter v-model="isShow" :belongArr="belongArr" :periodsArr="periodsArr" :statusArr="statusArr" :hasSearch="true" - @search="(v)=>search(v,true)"></v-filter> - <van-popup v-model="exporShow"> - <div class="popup-content"> - <div class="icon-box flex-center-g"> - <div class="child flex-center-g"> - <svg class="icon" aria-hidden="true" style="width:33px;height:27px;fill:#fff;" @click="$router.back()"> - <use xlink:href="#iconyoujian"></use> - </svg> - </div> - </div> - <p class="text"> - <span class="top">已将信息发送至邮箱,请注意查收</span> - <span v-text="userinfo.email || ''">1244667@163.com</span> - </p> - <van-button class="btn-submit" @click="exporShow=false;">确定</van-button> - </div> - </van-popup> - </div> -</template> - -<script> - import { - mapState, - mapGetters - } from 'vuex'; - import { - getParams - } from '@/utils/index'; - export default { - data() { - return { - loading:false, - finished:false, - - exporShow:false, - - isShow: false, - list: [], - orderData: [], - belongArr: [], - periodsArr: [], - statusArr: [], - filter: {} - } - }, - computed: { - ...mapState(['userinfo']), - ...mapGetters(['orgType']), - prodId() { - return this.$route.query.prodId - }, - typeId(){ - return this.$route.query.typeId - }, - id() { - return this.$route.query.id; - }, - dataLabel(){ - if(this.orgType===1 || this.orgType===2){ - return "交易商户数" - }else if(this.orgType ===3){ - return "交易门店数" - }else{ - return "交易门店数" - } - } - }, - created() { - this.getOrderReport() - this.getOrderInit() - }, - methods: { - calcLabel(item){ - switch (this.orgType) { - case 1: - item.label = item.merName - break; - case 2: - item.label = item.merName - break; - case 3: - item.label = item.storeName - break; - case 4: - item.label = item.recordPerson - break; - } - }, - search(v,isClear){ - this.filter.orderId =""; - this.finished = false; - this.init(v,isClear) - this.getOrderReport(v) - }, - // 获取过滤条件 - getOrderInit() { - this.$api.getOrderInit({ - orgType: this.userinfo.orgType, - prodTypeId: this.typeId - }).then((res) => { - let body = res.body, - insTermVoList = body.insTermVoList || [], - orderStatusList = body.orderStatusList || [], - orgBaseInfVoList = body.orgBaseInfVoList || []; - this.periodsArr = insTermVoList; - this.statusArr = orderStatusList; - this.belongArr = orgBaseInfVoList; - }).catch((err) => { - - }); - - }, - // 跳转到详情页面 - go(id) { - this.$router.push(`/product/credit-detail?id=${id}`) - }, - // 获取订单列表 - init(params = this.filter,isClear) { - let p = getParams(this.orgType, this.id) - params.prodTypeId = this.typeId; - params = Object.assign(params, p) - this.loading = true; - this.$api.getCreditOrderList(params).then(res => { - this.filter = {...params}; - if(isClear){ - this.list = []; - } - let list = res.body || [], - len = list.length; - if (len) { - this.filter.orderId = list[list.length - 1].orderId; - list.forEach(item => { - this.calcLabel(item) - this.list.push({ - ...item, - list: [{ - value: item.settAmt, - label: '商品金额(元)', - }, - { - value: item.insTermStr, - label: '分期期数(月)', - } - ] - }) - }) - // this.msgList.push(...list); - } - if (len < 10) { - this.finished = true; - } - this.loading = false; - this.isShow = false; - }).catch((err) => { - this.finished = true; - this.loading = false; - }); - }, - //订单导出 - exportFile() { - if (!this.list.length) { - this.$notify('暂无数据导出') - return; - } - this.$api.creditExport(this.filter).then((res) => { - - this.exporShow = true; - // - // this.$dialog.alert({ - // showCancelButton: false, - // message: `<div> - // <p>已将信息发送至邮箱,请注意查收</p> - // <p>${this.userinfo.email}</p> - // </div>` - // }).then(() => { - // - // }); - }).catch((err) => { - - }); - }, - // 获取订单统计数据 - getOrderReport(params) { - this.$api.getOrderReport({ - ...params, - prodId: this.prodId, - pageType: 2, - }).then(({ - body - }) => { - this.orderData = []; - this.orderData.push({ - title: '交易额', - num: body.amtNum || 0, - }) - this.orderData.push({ - title: '交易单数', - num: body.orderNum || 0, - }) - let num = body.merNum || 0; - if(this.orgType==4){ - num = "—"; - } - this.orderData.push({ - title: this.dataLabel, - num - }) - }).catch((err) => { - - }) - }, - }, - } -</script> - -<style lang="less" scoped> - .order-hb-box { - padding-top: 44px; - background-color: @c-bg-f5; - } - - .order-list { - padding: 0 8px 30px; - - .info { - margin-bottom: 20px; - } - } - .popup-content{ - height: 150px; - width: 280px; - border-radius: 3px; - .icon-box{ - z-index: 99999; - height: 64px; - width: 64px; - position: absolute; - left: 50%; - background:rgba(66,61,93,0.1); - border-radius: 50%; - transform: translate(-50%,-50%); - - .child{ - height: 55px; - width: 55px; - background:rgba(66,61,93,0.8); - border-radius: 50%; - } - } - .text{ - width: 210px; - text-align: center; - margin: 0 auto; - padding-top: 50px; - line-height: 18px; - .top{ - color: @c-text-666; - } - } - .btn-submit{ - .lh(44px); - position: absolute; - width: 100%; - bottom: 0; - color: @c-text-default; - } - } -</style> diff --git a/src/views/order/dmf.vue b/src/views/order/dmf.vue deleted file mode 100644 index 81d5ff3..0000000 --- a/src/views/order/dmf.vue +++ /dev/null @@ -1,337 +0,0 @@ -<!-- - * @Author: 小明丶 - * @Date: 2019-08-20 14:07:56 - * @LastEditors: 小明丶 - * @LastEditTime: 2020-11-23 16:29:56 - * @Description: 商户收款订单 - --> -<template> - <div class="order-hb-box"> - <v-navbar title="商户收款订单" fixed> - <template v-slot:right> - <div class="flex-center-g" @click="isShow = true;"> - <span>筛选</span> - <svg class="icon" aria-hidden="true" style="width:18px;height:18px;"> - <use xlink:href="#iconshaixuan"></use> - </svg> - </div> - </template> - </v-navbar> - <!-- 订单列表 --> - <div class="order-list"> - <v-datacard class='info' :list="orderData"></v-datacard> - - <van-list v-model="loading" :finished="finished" finished-text="没有更多了" @load="init"> - <v-order-item :user='item.merName' :orderId='item.orderId' :time='item.creTime' :list='item.list' - v-for="(item,index) in list" :key="index" @click="go(item.orderId)"></v-order-item> - </van-list> - - </div> - <v-button-circle icon='icondaochu' title='导出' @click="exportFile"></v-button-circle> - <v-filter v-model="isShow" :belongArr="belongArr" :statusArr="statusArr" :zfbVersionArr="zfbVersionArr" - customTitle="分期本金" :hasMoney="false" @search="(v)=>search(v,true)"></v-filter> - - <van-popup v-model="exporShow"> - <div class="popup-content"> - <div class="icon-box flex-center-g"> - <div class="child flex-center-g"> - <svg class="icon" aria-hidden="true" style="width:33px;height:27px;fill:#fff;" - @click="$router.back()"> - <use xlink:href="#iconyoujian"></use> - </svg> - </div> - </div> - <p class="text"> - <span class="top">已将信息发送至邮箱,请注意查收</span> - <span v-text="userinfo.email || ''">1244667@163.com</span> - </p> - <van-button class="btn-submit" @click="exporShow=false;">确定</van-button> - </div> - </van-popup> - </div> -</template> - -<script> - import { - mapState, - mapGetters - } from 'vuex'; - import { - getParams - } from '@/utils/index'; - export default { - data() { - return { - - exporShow: false, - - loading: false, - finished: false, - isShow: false, - list: [], - filter: {}, - statusArr: [], - belongArr: [], - zfbVersionArr:[], - countPrice: 0, //今日交易金额 - orderData: [] - } - }, - created() { - this.getOrderInit() - this.getOrderReport() - - }, - computed: { - ...mapState(['userinfo']), - ...mapGetters(['orgType']), - typeId() { - return this.$route.query.typeId - }, - prodId() { - return this.$route.query.prodId - }, - id() { - return this.$route.query.id; - }, - dataLabel(){ - if(this.orgType===1 || this.orgType===2){ - return "交易商户数" - }else if(this.orgType ===3){ - return "交易门店数" - }else{ - return "交易门店数" - } - } - }, - methods: { - - //订单导出 - exportFile() { - if (!this.list.length) { - this.$notify('暂无数据导出') - return; - } - this.$api.facepayOrderExport(this.filter).then((res) => { - - this.exporShow = true; - - // this.$dialog.alert({ - // showCancelButton: false, - // message: `<div>exportFile - // <p>已将信息发送至邮箱,请注意查收</p> - // <p>${this.userinfo.email}</p> - // </div>` - // }).then(() => { - // - // }); - }).catch((err) => { - - }); - }, - - - - search(v, isClear) { - this.filter.orderId = ""; - this.finished = false; - this.init(v, isClear) - this.getOrderReport(v) - }, - // 获取过滤条件 - getOrderInit() { - this.$api.getOrderInit({ - orgType: this.userinfo.orgType, - prodTypeId: this.typeId - }).then((res) => { - let body = res.body, - orderStatusList = body.orderStatusList || [], - orgBaseInfVoList = body.orgBaseInfVoList || [], - zfbVersionList = body.zfbVersions || []; - this.statusArr = orderStatusList; - this.belongArr = orgBaseInfVoList; - this.zfbVersionArr = zfbVersionList; - }).catch((err) => { - - }); - - }, - go(id) { - this.$router.push(`/product/dmf-detail?id=${id}`) - }, - // 计算产品状态 - getStatus(v) { - if(v==2){ - return { - text: '订单超时', - color: 'error' - } - }else if(v==3){ - return { - text: '退款成功', - color: 'warning' - } - }else if(v==0){ - return { - text: '待支付', - color: 'warning' - } - } - return { - text: '交易成功', - color: 'success' - } - }, - calcLabel(item){ - switch (this.orgType) { - case 1: - item.label = item.merName - break; - case 2: - item.label = item.merName - break; - case 3: - item.label = item.storeName - break; - case 4: - item.label = item.mgrName - break; - } - }, - init(params = this.filter, isClear) { - let p = getParams(this.orgType, this.id) - params.prodTypeId = this.typeId; - params = Object.assign(params, p) - this.loading = true; - this.$api.getDmfOrderList(params).then(res => { - this.filter = { - ...params - }; - if (isClear) { - this.list = []; - } - let list = res.body.dmfOrderVoList || [], - len = list.length; - if (len) { - this.filter.orderId = list[list.length - 1].orderId; - list.forEach(item => { - let info = this.getStatus(item.status) - this.calcLabel(item) - this.list.push({ - ...item, - list:[ - { - value: item.payAmt, - label: '支付金额', - },{ - value: info.text, - label: '订单状态', - color: info.color - }] - }) - }) - } - if (len < 10) { - this.finished = true; - } - this.loading = false; - this.isShow = false; - }).catch((err) => { - this.finished = true; - this.loading = false; - this.isShow = false; - }); - }, - // 获取订单统计数据 - getOrderReport(params) { - this.$api.getOrderReport({ - ...params, - prodId: this.prodId, - pageType: 2, - }).then(({ - body - }) => { - this.orderData = []; - this.orderData.push({ - title: '交易额', - num: body.amtNum || 0, - }) - this.orderData.push({ - title: '交易单数', - num: body.orderNum || 0, - }) - - let num = body.merNum || 0; - if(this.orgType==4){ - num = "—"; - } - this.orderData.push({ - title: this.dataLabel, - num - }) - }).catch((err) => { - - }) - }, - }, - } -</script> - -<style lang="less" scoped> - .order-hb-box { - padding-top: 55px; - background-color: @c-bg-f5; - } - - .order-list { - padding: 0 8px 30px; - - .info { - margin-bottom: 20px; - } - } - - .popup-content { - height: 150px; - width: 280px; - border-radius: 3px; - - .icon-box { - z-index: 99999; - height: 64px; - width: 64px; - position: absolute; - left: 50%; - background: rgba(66, 61, 93, 0.1); - border-radius: 50%; - transform: translate(-50%, -50%); - - .child { - height: 55px; - width: 55px; - background: rgba(66, 61, 93, 0.8); - border-radius: 50%; - } - } - - .text { - width: 210px; - text-align: center; - margin: 0 auto; - padding-top: 50px; - line-height: 18px; - - .top { - color: @c-text-666; - } - } - - .btn-submit { - .lh(44px); - position: absolute; - width: 100%; - bottom: 0; - color: @c-text-default; - } - } -</style> diff --git a/src/views/order/gjzj.vue b/src/views/order/gjzj.vue deleted file mode 100644 index 57f0bd5..0000000 --- a/src/views/order/gjzj.vue +++ /dev/null @@ -1,318 +0,0 @@ -<!-- - * @Author: 小明丶 - * @Date: 2019-08-20 14:07:56 - * @LastEditors: 小明丶 - * @LastEditTime: 2019-09-04 18:50:21 - * @Description: 购机直降订单 - --> -<template> - <div class="order-hb-box"> - - <v-navbar title="购机直降订单" fixed> - <template v-slot:right> - <div class="flex-center-g" @click="isShow = true;"> - <span>筛选</span> - <svg class="icon" aria-hidden="true" style="width:18px;height:18px;"> - <use xlink:href="#iconshaixuan"></use> - </svg> - </div> - </template> - </v-navbar> - <!-- 订单列表 --> - <div class="order-list"> - <v-datacard class='info' :list="orderData"></v-datacard> - <van-list v-model="loading" :finished="finished" finished-text="没有更多了" @load="init"> - <v-order-item :name="item.userName || '无'" :user='item.label' :time='item.creTime' :list='item.list' - v-for="(item,index) in list" :key="index" - @click="$router.push(`/product/gjzj-detail?id=${item.orderId}`)"> - </v-order-item> - </van-list> - - </div> - <v-button-circle icon='icondaochu' title='导出' @click="exportFile"></v-button-circle> - <v-filter v-model="isShow" :belongArr="belongArr" :statusArr="statusArr" customTitle="手机价格" :hasSearch="true" - @search="(v)=>search(v,true)"></v-filter> - <van-popup v-model="exporShow"> - <div class="popup-content"> - <div class="icon-box flex-center-g"> - <div class="child flex-center-g"> - <svg class="icon" aria-hidden="true" style="width:33px;height:27px;fill:#fff;" @click="$router.back()"> - <use xlink:href="#iconyoujian"></use> - </svg> - </div> - </div> - <p class="text"> - <span class="top">已将信息发送至邮箱,请注意查收</span> - <span v-text="userinfo.email || ''">1244667@163.com</span> - </p> - <van-button class="btn-submit" @click="exporShow=false;">确定</van-button> - </div> - </van-popup> - </div> -</template> - -<script> - import { - mapState, - mapGetters - } from 'vuex'; - import { - getParams - } from '@/utils/index'; - export default { - data() { - return { - loading: false, - finished: false, - - exporShow:false, - - isShow: false, - list: [], - filter: {}, - statusArr: [], - belongArr: [], - orderData: [], - - } - }, - computed: { - ...mapState(['userinfo']), - ...mapGetters(['orgType']), - prodId() { - return this.$route.query.prodId - }, - typeId(){ - return this.$route.query.typeId - }, - id() { - return this.$route.query.id; - }, - dataLabel(){ - if(this.orgType===1 || this.orgType===2){ - return "交易商户数" - }else if(this.orgType ===3){ - return "交易门店数" - }else{ - return "交易门店数" - } - } - }, - created() { - this.getOrderInit() - this.getOrderReport() - - - }, - methods: { - search(v, isClear) { - this.filter.orderId = ""; - this.finished = false; - this.init(v, isClear) - this.getOrderReport(v) - }, - // 获取过滤条件 - getOrderInit() { - this.$api.getOrderInit({ - orgType: this.orgType, - prodTypeId: this.typeId - }).then((res) => { - let body = res.body, - orderStatusList = body.orderStatusList || [], - orgBaseInfVoList = body.orgBaseInfVoList || []; - this.statusArr = orderStatusList; - this.belongArr = orgBaseInfVoList; - }).catch((err) => { - - }); - }, - calcLabel(item){ - switch (this.orgType) { - case 1: - item.label = item.merName - break; - case 2: - item.label = item.merName - break; - case 3: - item.label = item.storeName - break; - case 4: - item.label = item.recordPerson - break; - } - }, - //获取购机直降列表 - init(params = this.filter, isClear) { - let p = getParams(this.orgType, this.id) - params.prodTypeId = this.typeId; - params = Object.assign(params, p) - this.loading = true; - this.$api.getGjzjList(params).then(res => { - this.filter = { - ...params - }; - if (isClear) { - this.list = []; - } - let list = res.body || [], - len = list.length; - if (len) { - this.filter.orderId = list[list.length - 1].orderId; - list.forEach(item => { - this.calcLabel(item) - let color = ''; - switch (item.status) { - case 1: - color = 'success'; - break; - case 2: - color = 'error'; - break; - case 0: - case 6: - color = 'warning'; - break; - } - this.list.push({ - ...item, - list: [{ - value: item.insAmt, - label: '商品金额(元)', - }, - { - value: item.insTermStr, - label: '分期期数(月)' - }, - { - value: item.statusStr, - label: '订单状态', - color - } - ] - }) - }) - } - if (len < 10) { - this.finished = true; - } - this.loading = false; - this.isShow = false; - }).catch((err) => { - this.finished = true; - this.loading = false; - }); - }, - // 获取订单统计数据 - - getOrderReport(params) { - this.$api.getOrderReport({ - ...params, - prodId: this.prodId, - pageType: 2, - }).then(({ - body - }) => { - this.orderData = []; - this.orderData.push({ - title: '交易额', - num: body.amtNum || 0, - }) - this.orderData.push({ - title: '交易单数', - num: body.orderNum || 0, - }) - let num = body.merNum || 0; - if(this.orgType==4){ - num = "—"; - } - this.orderData.push({ - title: this.dataLabel, - num - }) - }).catch((err) => { - - }) - }, - // 导出 - exportFile() { - if (!this.list.length) { - this.$notify('暂无数据导出') - return; - } - this.$api.gjzjExport(this.filter).then((res) => { - - - this.exporShow = true; - - - // this.$dialog.alert({ - // showCancelButton: false, - // message: `<div> - // <p>已将信息发送至邮箱,请注意查收</p> - // <p>${this.userinfo.email}</p> - // </div>` - // }).then(() => { - // - // }); - }).catch((err) => { - - }); - } - }, - } -</script> - -<style lang="less" scoped> - .order-hb-box { - padding-top: 44px; - background-color: @c-bg-f5; - } - - .order-list { - padding: 0 8px 30px; - - .info { - margin-bottom: 20px; - } - } - .popup-content{ - height: 150px; - width: 280px; - border-radius: 3px; - .icon-box{ - z-index: 99999; - height: 64px; - width: 64px; - position: absolute; - left: 50%; - background:rgba(66,61,93,0.1); - border-radius: 50%; - transform: translate(-50%,-50%); - - .child{ - height: 55px; - width: 55px; - background:rgba(66,61,93,0.8); - border-radius: 50%; - } - } - .text{ - width: 210px; - text-align: center; - margin: 0 auto; - padding-top: 50px; - line-height: 18px; - .top{ - color: @c-text-666; - } - } - .btn-submit{ - .lh(44px); - position: absolute; - width: 100%; - bottom: 0; - color: @c-text-default; - } - } -</style> diff --git a/src/views/order/gzzj.vue b/src/views/order/gzzj.vue deleted file mode 100644 index d8ba569..0000000 --- a/src/views/order/gzzj.vue +++ /dev/null @@ -1,271 +0,0 @@ -<!-- - * @Author: 小明丶 - * @Date: 2019-08-20 14:07:56 - * @LastEditors: 小明丶 - * @LastEditTime: 2019-09-04 18:49:56 - * @Description: 智享花订单 该页面跟购机直降相差无几 - --> -<template> - <div class="order-hb-box h-100-g"> - <v-navbar title="公众租机订单" fixed> - </v-navbar> - <!-- 订单列表 --> - <div class="order-list"> - <v-datacard class='info' :list="orderData"></v-datacard> - <van-list v-model="loading" :finished="finished" finished-text="没有更多了" @load="init"> - <v-gzzj-order-item :userName="item.userName || '无'" :storeName="item.label" :mblNo="item.mblNo" :orderTime='item.creTime' :signTime='item.signTime' :list='item.list' :orderId='item.orderId' - v-for="(item,index) in list" :key="index" - @click="$router.push(`/product/gzzj-detail?id=${item.orderId}`)"> - </v-gzzj-order-item> - </van-list> - - </div> - </div> -</template> - -<script> - import { - mapState, - mapGetters - } from 'vuex'; - import { - getParams - } from '@/utils/index'; - export default { - data() { - return { - loading: false, - finished: false, - storeOrgType:"", - exporShow:false, - isShow: false, - list: [], - filter: {}, - statusArr: [], - belongArr: [], - orderData: [], - - } - }, - computed: { - ...mapState(['userinfo']), - ...mapGetters(['orgType']), - prodId() { - return this.$route.query.prodId - }, - typeId(){ - return this.$route.query.typeId - }, - id() { - return this.$route.query.id; - }, - dataLabel(){ - if(this.orgType===1 || this.orgType===2){ - return "交易商户数" - }else if(this.orgType ===3){ - return "交易门店数" - }else{ - return "交易门店数" - } - } - }, - created() { - this.getOrderInit() - this.getOrderReport() - }, - methods: { - calcLabel(item){ - switch (this.orgType) { - case 1: - item.label = item.merName - break; - case 2: - item.label = item.merName - break; - case 3: - item.label = item.storeName - break; - case 4: - item.label = item.storeName - if(this.storeOrgType == 5){ - item.label = '' - break; - } - } - }, - search(v, isClear) { - this.filter.orderId = ""; - this.finished = false; - this.init(v, isClear) - this.getOrderReport(v) - }, - // 获取过滤条件 - getOrderInit() { - this.$api.getOrderInit({ - orgType: this.orgType, - prodTypeId: this.typeId - }).then((res) => { - let body = res.body, - orderStatusList = body.orderStatusList || [], - orgBaseInfVoList = body.orgBaseInfVoList || []; - this.statusArr = orderStatusList; - this.belongArr = orgBaseInfVoList; - }).catch((err) => { - - }); - if(this.orgType == 4) { - this.$api.storeProdList({}).then(res => { - this.storeOrgType = res.body.orgType; - }); - } - }, - //获取订单列表 - init(params = this.filter, isClear) { - let p = getParams(this.orgType, this.id) - params.prodTypeId = this.typeId; - params = Object.assign(params, p) - this.loading = true; - this.$api.getGzzjOrder(params).then(res => { - this.filter = { - ...params - }; - if (isClear) { - this.list = []; - } - let list = res.body || [], - len = list.length; - if (len) { - this.filter.orderId = list[list.length - 1].orderId; - list.forEach(item => { - this.calcLabel(item) - let color = ''; - this.list.push({ - ...item, - list: [{ - value: item.insAmt, - label: '分期本金(元)', - }, - { - value: item.insTermStr, - label: '分期期数(月)' - }, - { - value: item.statusStr, - label: '订单状态', - color - } - ] - }) - }) - } - if (len < 10) { - this.finished = true; - } - this.loading = false; - this.isShow = false; - }).catch((err) => { - this.finished = true; - this.loading = false; - }); - }, - // 获取订单统计数据 - getOrderReport(params) { - this.$api.getOrderReport({ - ...params, - prodId: this.prodId, - pageType: 2, - }).then(({ - body - }) => { - this.orderData = []; - this.orderData.push({ - title: '交易额', - num: body.amtNum || 0, - }) - this.orderData.push({ - title: '交易单数', - num: body.orderNum || 0, - }) - let num = body.merNum || 0; - if(this.orgType==4){ - num = "—"; - } - this.orderData.push({ - title: this.dataLabel, - num - }) - }).catch((err) => { - - }) - }, - // 导出 - exportFile() { - if (!this.list.length) { - this.$notify('暂无数据导出') - return; - } - this.$api.gzzjExport(this.filter).then((res) => { - - this.exporShow = true; - - }).catch((err) => { - - }); - } - }, - } -</script> - -<style lang="less" scoped> - .order-hb-box { - padding-top: 44px; - background-color: @c-bg-f5; - } - - .order-list { - padding: 0 8px 30px; - - .info { - margin-bottom: 20px; - } - } - .popup-content{ - height: 150px; - width: 280px; - border-radius: 3px; - .icon-box{ - z-index: 99999; - height: 64px; - width: 64px; - position: absolute; - left: 50%; - background:rgba(66,61,93,0.1); - border-radius: 50%; - transform: translate(-50%,-50%); - - .child{ - height: 55px; - width: 55px; - background:rgba(66,61,93,0.8); - border-radius: 50%; - } - } - .text{ - width: 210px; - text-align: center; - margin: 0 auto; - padding-top: 50px; - line-height: 18px; - .top{ - color: @c-text-666; - } - } - .btn-submit{ - .lh(44px); - position: absolute; - width: 100%; - bottom: 0; - color: @c-text-default; - } - } -</style> diff --git a/src/views/order/hb.vue b/src/views/order/hb.vue deleted file mode 100644 index c74283f..0000000 --- a/src/views/order/hb.vue +++ /dev/null @@ -1,334 +0,0 @@ -<!-- - * @Author: 小明丶 - * @Date: 2019-08-20 14:07:56 - * @LastEditors: 小明丶 - * @LastEditTime: 2020-11-16 16:54:51 - * @Description: 花呗订单 - --> -<template> - <div class="order-hb-box"> - <v-navbar :title="typeId ==200002? '用户付息' : '商品消费'" fixed> - <template v-slot:right> - <div class="flex-center-g" @click="isShow = true;"> - <span>筛选</span> - <svg class="icon" aria-hidden="true" style="width:18px;height:18px;"> - <use xlink:href="#iconshaixuan"></use> - </svg> - </div> - </template> - </v-navbar> - <!-- 订单列表 --> - <div class="order-list"> - <v-datacard class='info' :list="orderData"></v-datacard> - <van-list v-model="loading" :finished="finished" finished-text="没有更多了" @load="init" > - <v-order-item :name="item.userName || '无'" :user='item.label' :time='+item.creTime' :list='item.list' - v-for="(item,k) in list" :key="k" @click="go(item.orderId)"></v-order-item> - </van-list> - - </div> - <v-button-circle icon='icondaochu' v-if="hasExport" title='导出' @click="exportFile"></v-button-circle> - - <v-filter v-model="isShow" :belongArr="belongArr" :periodsArr="periodsArr" :statusArr="statusArr" customTitle="分期本金" :hasSearch="true" :zfbVersionArr="zfbVersionArr" - @search="(v)=>search(v,true)"></v-filter> - - - <van-popup v-model="exporShow"> - <div class="popup-content"> - <div class="icon-box flex-center-g" > - <div class="child flex-center-g" :style="{background:$store.state.backColor, opacity: 0.8}"> - <svg class="icon" aria-hidden="true" style="width:33px;height:27px;fill:#fff;" @click="$router.back()"> - <use xlink:href="#iconyoujian"></use> - </svg> - </div> - </div> - <p class="text"> - <span class="top">已将信息发送至邮箱,请注意查收</span> - <span v-text="userinfo.email || ''">1244667@163.com</span> - </p> - <van-button class="btn-submit" @click="exporShow=false;" :style="{color:$store.state.backColor}">确定</van-button> - </div> - </van-popup> - </div> -</template> - -<script> - import { - mapState, - mapGetters - } from 'vuex'; - import { - getParams - } from '@/utils/index'; - export default { - data() { - return { - loading:false, - finished:false, - - exporShow:false, - - isShow: false, - list: [], - orderData: [], - belongArr: [], - periodsArr: [], - statusArr: [], - zfbVersionArr:[], - filter: {} - } - }, - computed: { - ...mapState(['userinfo']), - ...mapGetters(['orgType']), - prodId() { - return this.$route.query.prodId - }, - typeId(){ - return this.$route.query.typeId - }, - id() { - return this.$route.query.id; - }, - dataLabel(){ - if(this.orgType===1 || this.orgType===2){ - return "交易商户数" - }else if(this.orgType ===3){ - return "交易门店数" - }else{ - return "交易门店数" - } - }, - hasExport(){ - if(localStorage.hjToken){ - return false - }else{ - return true - } - } - }, - created() { - // this.init() - console.log(this.orgType) - this.getOrderReport() - this.getOrderInit() - }, - methods: { - search(v,isClear){ - this.filter.orderId =""; - this.finished = false; - this.init(v,isClear) - this.getOrderReport(v) - }, - // 获取过滤条件 - getOrderInit() { - this.$api.getOrderInit({ - orgType: this.userinfo.orgType, - prodTypeId: this.typeId - }).then((res) => { - let body = res.body, - insTermVoList = body.insTermVoList || [], - orderStatusList = body.orderStatusList || [], - orgBaseInfVoList = body.orgBaseInfVoList || [], - zfbVersionList = body.zfbVersions || []; - this.periodsArr = insTermVoList; - this.statusArr = orderStatusList; - this.belongArr = orgBaseInfVoList; - console.log('zfbVersionList:',zfbVersionList) - this.zfbVersionArr = zfbVersionList; - }).catch((err) => { - - }); - - }, - // 跳转到详情页面 - go(id) { - this.$router.push(`/product/hb-detail?id=${id}&typeId=${this.typeId}`) - }, - calcLabel(item){ - switch (this.orgType) { - case 1: - item.label = item.merName - break; - case 2: - item.label = item.merName - break; - case 3: - item.label = item.storeName - break; - case 4: - item.label = item.recordPerson - break; - } - }, - // 获取订单列表 - init(params = this.filter,isClear) { - let p = getParams(this.orgType, this.id) - params.prodTypeId = this.typeId; - params = Object.assign(params, p) - this.loading = true; - this.$api.getHBList(params).then(res => { - this.filter = {...params}; - if(isClear){ - this.list = []; - } - let list = res.body || [], - len = list.length; - if (len) { - this.filter.orderId = list[list.length - 1].orderId; - list.forEach(item => { - this.calcLabel(item) - let color = 'success'; - switch (item.status) { - case 1: - color = 'success'; - break; - case 2: - color = 'error'; - break; - case 0: - color = 'warning'; - break; - case 3: - color = 'warning'; - break; - } - this.list.push({ - ...item, - list: [{ - value: item.settAmt, - label: '分期本金(元)', - }, - { - value: item.insTermStr, - label: '分期期数(月)', - }, - { - value: item.statusStr, - label: '订单状态', - color - } - ] - }) - }) - } - if (len < 10) { - this.finished = true; - } - this.loading = false; - this.isShow = false; - }).catch((err) => { - this.finished = true; - this.loading = false; - }); - }, - //订单导出 - exportFile() { - if (!this.list.length) { - this.$notify('暂无数据导出') - return; - } - this.$api.hbExport(this.filter).then((res) => { - - this.exporShow = true; - - // this.$dialog.alert({ - // showCancelButton: false, - // message: `<div> - // <p>已将信息发送至邮箱,请注意查收</p> - // <p>${this.userinfo.email}</p> - // </div>` - // }).then(() => { - // - // }); - }).catch((err) => { - - }); - }, - // 获取订单统计数据 - getOrderReport(params) { - this.$api.getOrderReport({ - ...params, - prodId: this.prodId, - pageType: 2, - }).then(({ - body - }) => { - this.orderData = []; - this.orderData.push({ - title: '交易额', - num: body.amtNum || 0, - }) - this.orderData.push({ - title: '交易单数', - num: body.orderNum || 0, - }) - let num = body.merNum || 0; - if(this.orgType==4){ - num = "—"; - } - this.orderData.push({ - title: this.dataLabel, - num - }) - }).catch((err) => { - - }) - }, - }, - } -</script> - -<style lang="less" scoped> - .order-hb-box { - padding-top: 44px; - background-color: @c-bg-f5; - } - - .order-list { - padding: 0 8px 30px; - - .info { - margin-bottom: 20px; - } - } - .popup-content{ - height: 150px; - width: 280px; - border-radius: 3px; - .icon-box{ - z-index: 99999; - height: 64px; - width: 64px; - position: absolute; - left: 50%; - background:rgba(66,61,93,0.1); - border-radius: 50%; - transform: translate(-50%,-50%); - - .child{ - height: 55px; - width: 55px; - background:rgba(66,61,93,0.8); - border-radius: 50%; - - } - } - .text{ - width: 210px; - text-align: center; - margin: 0 auto; - padding-top: 50px; - line-height: 18px; - .top{ - color: @c-text-666; - } - } - .btn-submit{ - .lh(44px); - position: absolute; - width: 100%; - bottom: 0; - color: @c-text-default; - } - } -</style> diff --git a/src/views/order/hbjl.vue b/src/views/order/hbjl.vue deleted file mode 100644 index 80df6a5..0000000 --- a/src/views/order/hbjl.vue +++ /dev/null @@ -1,322 +0,0 @@ -<!-- - * @Author: 小明丶 - * @Date: 2019-08-20 14:07:56 - * @LastEditors: 小明丶 - * @LastEditTime: 2020-06-09 16:44:45 - * @Description: 花呗订单 - --> -<template> - <div class="hbjl-box"> - <v-navbar title="花呗间联" fixed> - <template v-slot:right> - <div class="flex-center-g" @click="isShow = true;"> - <span>筛选</span> - <svg class="icon" aria-hidden="true" style="width:18px;height:18px;"> - <use xlink:href="#iconshaixuan"></use> - </svg> - </div> - </template> - </v-navbar> - <!-- 订单列表 --> - <div class="order-list"> - <v-datacard class='info' :list="orderData"></v-datacard> - <van-list v-model="loading" :finished="finished" finished-text="没有更多了" @load="init" > - <v-order-item :name="item.userName || '无'" :user='item.label' :time='+item.creTime' :list='item.list' - v-for="(item,k) in list" :key="k" @click="go(item.orderId)"></v-order-item> - </van-list> - - </div> - <v-button-circle icon='icondaochu' title='导出' @click="exportFile"></v-button-circle> - - <v-filter v-model="isShow" :belongArr="belongArr" :periodsArr="periodsArr" :statusArr="statusArr" customTitle="分期本金" :hasSearch="false" - @search="(v)=>search(v,true)"></v-filter> - - - <van-popup v-model="exporShow"> - <div class="popup-content"> - <div class="icon-box flex-center-g"> - <div class="child flex-center-g"> - <svg class="icon" aria-hidden="true" style="width:33px;height:27px;fill:#fff;" @click="$router.back()"> - <use xlink:href="#iconyoujian"></use> - </svg> - </div> - </div> - <p class="text"> - <span class="top">已将信息发送至邮箱,请注意查收</span> - <span v-text="userinfo.email || ''">1244667@163.com</span> - </p> - <van-button class="btn-submit" @click="exporShow=false;">确定</van-button> - </div> - </van-popup> - </div> -</template> - -<script> - import { - mapState, - mapGetters - } from 'vuex'; - import { - getParams - } from '@/utils/index'; - export default { - data() { - return { - loading:false, - finished:false, - - exporShow:false, - - isShow: false, - list: [], - orderData: [], - belongArr: [], - periodsArr: [], - statusArr: [], - filter: {} - } - }, - computed: { - ...mapState(['userinfo']), - ...mapGetters(['orgType']), - prodId() { - return this.$route.query.prodId - }, - typeId(){ - return this.$route.query.typeId - }, - id() { - return this.$route.query.id; - }, - dataLabel(){ - if(this.orgType===1 || this.orgType===2){ - return "交易商户数" - }else if(this.orgType ===3){ - return "交易门店数" - } - } - }, - created() { - // this.init() - console.log(this.orgType) - this.getOrderReport() - this.getOrderInit() - }, - methods: { - search(v,isClear){ - this.filter.orderId =""; - this.finished = false; - this.init(v,isClear) - this.getOrderReport(v) - }, - // 获取过滤条件 - getOrderInit() { - this.$api.getOrderInit({ - orgType: this.userinfo.orgType, - prodTypeId: this.typeId - }).then((res) => { - let body = res.body, - insTermVoList = body.insTermVoList || [], - orderStatusList = body.orderStatusList || [], - orgBaseInfVoList = body.orgBaseInfVoList || [], - zfbVersionList = body.zfbVersions || []; - this.periodsArr = insTermVoList; - this.statusArr = orderStatusList; - this.belongArr = orgBaseInfVoList; - - }).catch((err) => { - - }); - - }, - // 跳转到详情页面 - go(id) { - this.$router.push(`/product/hbjl-detail?id=${id}&typeId=${this.typeId}`) - }, - calcLabel(item){ - switch (this.orgType) { - case 1: - item.label = item.merName - break; - case 2: - item.label = item.merName - break; - case 3: - item.label = item.storeName - break; - case 4: - item.label = item.recordPerson - break; - } - }, - // 获取订单列表 - init(params = this.filter,isClear) { - let p = getParams(this.orgType, this.id) - params.prodTypeId = this.typeId; - params = Object.assign(params, p) - this.loading = true; - this.$api.hbjlOrderList(params).then(res => { - this.filter = {...params}; - if(isClear){ - this.list = []; - } - let list = res.body || [], - len = list.length; - if (len) { - this.filter.orderId = list[list.length - 1].orderId; - list.forEach(item => { - this.calcLabel(item) - let color = 'success'; - switch (item.status) { - case 1: - color = 'success'; - break; - case 2: - color = 'error'; - break; - case 0: - color = 'warning'; - break; - case 3: - color = 'warning'; - break; - } - this.list.push({ - ...item, - list: [{ - value: item.settAmt, - label: '分期本金(元)', - }, - { - value: item.insTermStr, - label: '分期期数(月)', - }, - { - value: item.statusStr, - label: '订单状态', - color - } - ] - }) - }) - } - if (len < 10) { - this.finished = true; - } - this.loading = false; - this.isShow = false; - }).catch((err) => { - this.finished = true; - this.loading = false; - }); - }, - //订单导出 - exportFile() { - if (!this.list.length) { - this.$notify('暂无数据导出') - return; - } - this.$api.hbjlOrderExport(this.filter).then((res) => { - - this.exporShow = true; - - // this.$dialog.alert({ - // showCancelButton: false, - // message: `<div> - // <p>已将信息发送至邮箱,请注意查收</p> - // <p>${this.userinfo.email}</p> - // </div>` - // }).then(() => { - // - // }); - }).catch((err) => { - - }); - }, - // 获取订单统计数据 - getOrderReport(params) { - this.$api.getOrderReport({ - ...params, - prodId: this.prodId, - pageType: 2, - }).then(({ - body - }) => { - this.orderData = []; - this.orderData.push({ - title: '交易额', - num: body.amtNum || 0, - }) - this.orderData.push({ - title: '交易单数', - num: body.orderNum || 0, - }) - if(this.orgType!= 4){ - var num = body.merNum || 0; - this.orderData.push({ - title: this.dataLabel, - num - }) - } - - }).catch((err) => { - - }) - }, - }, - } -</script> - -<style lang="less" scoped> - .hbjl-box { - padding-top: 44px; - background-color: @c-bg-f5; - } - - .order-list { - padding: 0 8px 30px; - - .info { - margin-bottom: 20px; - } - } - .popup-content{ - height: 150px; - width: 280px; - border-radius: 3px; - .icon-box{ - z-index: 99999; - height: 64px; - width: 64px; - position: absolute; - left: 50%; - background:rgba(66,61,93,0.1); - border-radius: 50%; - transform: translate(-50%,-50%); - - .child{ - height: 55px; - width: 55px; - background:rgba(66,61,93,0.8); - border-radius: 50%; - } - } - .text{ - width: 210px; - text-align: center; - margin: 0 auto; - padding-top: 50px; - line-height: 18px; - .top{ - color: @c-text-666; - } - } - .btn-submit{ - .lh(44px); - position: absolute; - width: 100%; - bottom: 0; - color: @c-text-default; - } - } -</style> diff --git a/src/views/order/order-lthyj.vue b/src/views/order/order-lthyj.vue deleted file mode 100644 index cb4d952..0000000 --- a/src/views/order/order-lthyj.vue +++ /dev/null @@ -1,277 +0,0 @@ -<!-- - * @Author: 小明丶 - * @Date: 2019-08-20 14:07:56 - * @LastEditors: 小明丶 - * @LastEditTime: 2020-11-16 16:54:51 - * @Description: 花呗订单 - --> -<template> - <div class="order-lthyj"> - <v-navbar title="订单列表"> - <!-- <template v-slot:right> - <div class="flex-center-g" @click="isShow = true;"> - <span>筛选</span> - <svg class="icon" aria-hidden="true" style="width:18px;height:18px;"> - <use xlink:href="#iconshaixuan"></use> - </svg> - </div> - </template> --> - </v-navbar> - <!-- 订单列表 --> - <div class="order-list"> - <!-- <v-datacard class='info' :list="orderData"></v-datacard> --> - <van-list v-model="loading" :finished="finished" finished-text="没有更多了" @load="init" > - <new-v-order-item :name="item.userName || '无'" :time='+item.signTime' :list='item.list' :orderId="item.orderId" - v-for="(item,k) in list" :key="k" @click="go(item.orderId)"> - </new-v-order-item> - </van-list> - </div> - <!-- <v-button-circle icon='icondaochu' v-if="hasExport" title='导出' @click="exportFile"></v-button-circle> --> - <!-- <v-filter v-model="isShow" :belongArr="belongArr" :periodsArr="periodsArr" :statusArr="statusArr" customTitle="分期本金" :hasSearch="true" :zfbVersionArr="zfbVersionArr" - @search="(v)=>search(v,true)"> - </v-filter> --> - <van-popup v-model="exporShow"> - <div class="popup-content"> - <div class="icon-box flex-center-g" > - <div class="child flex-center-g" :style="{background:$store.state.backColor, opacity: 0.8}"> - <svg class="icon" aria-hidden="true" style="width:33px;height:27px;fill:#fff;" @click="$router.back()"> - <use xlink:href="#iconyoujian"></use> - </svg> - </div> - </div> - <p class="text"> - <span class="top">已将信息发送至邮箱,请注意查收</span> - <span v-text="userinfo.email || ''">1244667@163.com</span> - </p> - <van-button class="btn-submit" @click="exporShow=false;" :style="{color:$store.state.backColor}">确定</van-button> - </div> - </van-popup> - </div> -</template> - -<script> - import { - mapState, - mapGetters - } from 'vuex'; - import { - getParams - } from '@/utils/index'; - export default { - data() { - return { - loading:false, - finished:false, - - exporShow:false, - - isShow: false, - list: [], - orderData: [], - belongArr: [], - periodsArr: [], - statusArr: [], - zfbVersionArr:[], - filter: {} - } - }, - computed: { - ...mapState(['userinfo']), - ...mapGetters(['orgType']), - prodId() { - return this.$route.query.prodId - }, - typeId(){ - return this.$route.query.typeId - }, - id() { - return this.$route.query.id; - }, - dataLabel(){ - if(this.orgType===1 || this.orgType===2){ - return "交易商户数" - }else if(this.orgType ===3){ - return "交易门店数" - }else{ - return "交易门店数" - } - }, - hasExport(){ - if(localStorage.hjToken){ - return false - }else{ - return true - } - } - }, - created() { - // this.init() - // this.getOrderReport() - // this.getOrderInit() - }, - methods: { - // search(v,isClear){ - // this.filter.orderId =""; - // this.finished = false; - // this.init(v,isClear) - // this.getOrderReport(v) - // }, - // 获取过滤条件 - // getOrderInit() { - // this.$api.getOrderInit({ - // orgType: this.userinfo.orgType, - // prodTypeId: this.typeId - // }).then((res) => { - // let body = res.body, - // insTermVoList = body.insTermVoList || [], - // orderStatusList = body.orderStatusList || [], - // orgBaseInfVoList = body.orgBaseInfVoList || [], - // zfbVersionList = body.zfbVersions || []; - // this.periodsArr = insTermVoList; - // this.statusArr = orderStatusList; - // this.belongArr = orgBaseInfVoList; - // console.log('zfbVersionList:',zfbVersionList) - // this.zfbVersionArr = zfbVersionList; - // }).catch((err) => { - - // }); - // }, - // 跳转到详情页面 - go(id) { - this.$router.push(`/product/lthyj-detail?id=${id}&typeId=${this.typeId}`) - }, - calcLabel(item){ - switch (this.orgType) { - case 1: - item.label = item.merName - break; - case 2: - item.label = item.merName - break; - case 3: - item.label = item.storeName - break; - case 4: - item.label = item.recordPerson - break; - } - }, - // 获取订单列表 - init(params = this.filter,isClear) { - let p = getParams(this.orgType, this.id) - params.prodTypeId = this.typeId; - params = Object.assign(params, p) - this.loading = true; - this.$api.cuccOrderList(params).then(res => { - this.filter = {...params}; - if(isClear){ - this.list = []; - } - let list = res.body || [], - len = list.length; - if (len) { - this.filter.orderId = list[list.length - 1].orderId; - list.forEach(item => { - this.calcLabel(item) - let color = 'success'; - switch (item.status) { - case 1: - color = 'success'; - break; - case 2: - color = 'error'; - break; - case 0: - color = 'warning'; - break; - case 3: - color = 'warning'; - break; - } - this.list.push({ - ...item, - list: [{ - value: item.strDownAmt, - label: '分期本金(元)', - }, - { - value: item.term, - label: '分期期数(月)', - }, - { - value: item.orderStatus, - label: '订单状态', - color - } - ] - }) - }) - } - if (len < 10) { - this.finished = true; - } - this.loading = false; - this.isShow = false; - }).catch((err) => { - this.finished = true; - this.loading = false; - }); - }, - }, - } -</script> - -<style lang="less" scoped> - .order-lthyj { - height: 100%; - background-color: @c-bg-f5; - } - .order-list { - margin-top: 10px; - padding: 0 8px 30px; - background-color: @c-bg-f5; - .info { - margin-bottom: 20px; - } - } - .popup-content{ - height: 150px; - width: 280px; - border-radius: 3px; - .icon-box{ - z-index: 99999; - height: 64px; - width: 64px; - position: absolute; - left: 50%; - background:rgba(66,61,93,0.1); - border-radius: 50%; - transform: translate(-50%,-50%); - - .child{ - height: 55px; - width: 55px; - background:rgba(66,61,93,0.8); - border-radius: 50%; - - } - } - .text{ - width: 210px; - text-align: center; - margin: 0 auto; - padding-top: 50px; - line-height: 18px; - .top{ - color: @c-text-666; - } - } - .btn-submit{ - .lh(44px); - position: absolute; - width: 100%; - bottom: 0; - color: @c-text-default; - } - } -</style> diff --git a/src/views/order/phone.vue b/src/views/order/phone.vue deleted file mode 100644 index d8bf027..0000000 --- a/src/views/order/phone.vue +++ /dev/null @@ -1,345 +0,0 @@ -<!-- - * @Author: 小明丶 - * @Date: 2019-08-27 10:24:42 - * @LastEditors: 小明丶 - * @LastEditTime: 2019-09-03 11:11:55 - * @Description: - --> -<template> - <div class="phone-box h-100-g"> - <v-navbar title="手机分期订单" fixed> - <template v-slot:right> - <div class="flex-center-g" @click="isShow = true;"> - <span>筛选</span> - <svg class="icon" aria-hidden="true" style="width:18px;height:18px;"> - <use xlink:href="#iconshaixuan"></use> - </svg> - </div> - </template> - </v-navbar> - - <div class="num-box"> - <v-datacard class='info' :list="orderData"></v-datacard> - </div> - <van-list v-model="loading" :finished="finished" finished-text="没有更多了" @load="init"> - <div class="mobile-order-list" v-for="(item,index) in list" :key="index"> - <div class="header vux-1px-b"> - <span>{{item.mblBrand}} {{item.mblModel}}</span> - <span v-if="orgType==1">商户名称:{{item.merName}}</span> - </div> - <div class="body"> - <div class="content"> - <p>姓名:<span>{{item.userName}}</span></p> - <p>手机:<span>{{item.mblNo}}</span></p> - <p>手机价格:<span class="mony">{{item.settAmt}}元</span></p> - <p>门店收取首付:<span class="mony">{{item.firstAmt}}元</span></p> - <p>首付比例:<span>{{item.firstRate}}%</span></p> - <p>分期金额:<span class="mony">{{item.surplusAmt}}元</span></p> - <p>每期还款金额:<span class="mony">{{item.termAmt}}元</span></p> - <p>分期期数:<span>{{item.insTerm}}期</span></p> - </div> - <div class="status">{{item.statusStr}}</div> - </div> - <div class="footer vux-1px-b"> - <time> - <i class="iconfont scene_Staging-shijian"></i> - <span>{{item.creTime | timeformat('yyyy-MM-dd HH:mm')}} </span> - </time> - <!-- <span>门店名称:{{item.storeName}}</span> --> - <span v-if="orgType==3">门店名称:{{item.storeName}}</span> - <span v-if="orgType==4">办单员:{{item.recordPerson}}</span> - <span v-if="orgType==2">商户名称:{{item.merName}}</span> - <span v-if="orgType==1">渠道名称:{{item.chanName}}</span> - </div> - </div> - </van-list> - - <v-button-circle icon='icondaochu' title='导出' @click="exportFile"></v-button-circle> - - <v-filter v-model="isShow" :belongArr="belongArr" :statusArr="statusArr" customTitle="手机价格" :hasSearch="true" - @search="(v)=>search(v,true)"></v-filter> - - <van-popup v-model="exporShow"> - <div class="popup-content"> - <div class="icon-box flex-center-g"> - <div class="child flex-center-g"> - <svg class="icon" aria-hidden="true" style="width:33px;height:27px;fill:#fff;" @click="$router.back()"> - <use xlink:href="#iconyoujian"></use> - </svg> - </div> - </div> - <p class="text"> - <span class="top">已将信息发送至邮箱,请注意查收</span> - <span v-text="userinfo.email || ''">1244667@163.com</span> - </p> - <van-button class="btn-submit" @click="exporShow=false;">确定</van-button> - </div> - </van-popup> - </div> -</template> -<script> - import { - mapState, - mapGetters - } from 'vuex'; - import { - getParams - } from '@/utils/index'; - export default { - data() { - return { - finished: false, - loading: false, - - isShow: false, - list: [], - statusArr: [], - belongArr: [], - filter: {}, - orderData: [], - - exporShow:false, - - } - }, - created() { - this.getOrderInit() - this.getOrderReport() - }, - computed: { - ...mapState(['userinfo']), - ...mapGetters(['orgType']), - typeId() { - return this.$route.query.typeId - }, - prodId() { - return this.$route.query.prodId - }, - id() { - return this.$route.query.id; - }, - dataLabel(){ - if(this.orgType===1 || this.orgType===2){ - return "交易商户数" - }else if(this.orgType ===3){ - return "交易门店数" - }else{ - return "交易门店数" - } - } - }, - methods: { - search(v, isClear) { - this.filter.orderId = ""; - this.finished = false; - this.init(v, isClear) - this.getOrderReport(v) - }, - // 获取过滤条件 - getOrderInit() { - this.$api.getOrderInit({ - orgType: this.orgType, - prodTypeId: this.typeId - }).then((res) => { - let body = res.body, - orderStatusList = body.orderStatusList || [], - orgBaseInfVoList = body.orgBaseInfVoList || []; - this.statusArr = orderStatusList; - this.belongArr = orgBaseInfVoList; - }).catch((err) => { - - }); - - }, - //获取订单 - init(params = this.filter, isClear) { - let p = getParams(this.orgType, this.id) - params.prodTypeId = this.typeId; - params = Object.assign(params, p) - this.loading = true; - this.$api.ljOrderList(params).then(res => { - this.filter = { - ...params - }; - if (isClear) { - this.list = []; - } - let list = res.body || [], - len = list.length; - if (len) { - this.filter.orderId = list[list.length - 1].orderId; - this.list.push(...list) - } - if (len < 10) { - this.finished = true; - } - this.loading = false; - this.isShow = false; - }).catch((err) => { - this.finished = true; - this.loading = false; - }); - }, - // 订单导出 - exportFile() { - if (!this.list.length) { - this.$notify('暂无数据导出') - return; - } - this.$api.ljOrderExport(this.filter).then((res) => { - - this.exporShow = true; - - // this.$dialog.alert({ - // showCancelButton: false, - // message: `<div> - // <p>已将信息发送至邮箱,请注意查收</p> - // <p>${this.userinfo.email}</p> - // </div>` - // }).then(() => { - // - // }); - }).catch((err) => { - - }); - }, - // 获取订单统计数据 - getOrderReport(params) { - this.$api.getOrderReport({ - ...params, - prodId: this.prodId, - pageType: 2, - }).then(({ - body - }) => { - this.orderData = []; - this.orderData.push({ - title: '交易额', - num: body.amtNum || 0, - }) - this.orderData.push({ - title: '交易单数', - num: body.orderNum || 0, - }) - let num = body.merNum || 0; - if(this.orgType==4){ - num = "—"; - } - this.orderData.push({ - title: this.dataLabel, - num - }) - }).catch((err) => { - - }) - }, - }, - } -</script> -<style lang="less" scoped> - .phone-box { - padding-top: 44px; - background-color: #f1f1f1; - - } - - .num-box { - margin: 0 8px; - } - - .mobile-order-list { - background: @c-bg-fff; - margin-bottom: 10px; - - } - - .popup-content{ - height: 150px; - width: 280px; - border-radius: 3px; - .icon-box{ - z-index: 99999; - height: 64px; - width: 64px; - position: absolute; - left: 50%; - background:rgba(66,61,93,0.1); - border-radius: 50%; - transform: translate(-50%,-50%); - - .child{ - height: 55px; - width: 55px; - background:rgba(66,61,93,0.8); - border-radius: 50%; - } - } - .text{ - width: 210px; - text-align: center; - margin: 0 auto; - padding-top: 50px; - line-height: 18px; - .top{ - color: @c-text-666; - } - } - .btn-submit{ - .lh(44px); - position: absolute; - width: 100%; - bottom: 0; - color: @c-text-default; - } - } - .header { - display: flex; - padding: 0 12px; - line-height: 44px; - font-size: @font-12; - - - >span:first-child { - font-size: 15px; - color: @c-text-default; - flex: 1; - } - } - - .footer { - display: flex; - padding: 0 12px; - line-height: 44px; - font-size: @font-12; - background: rgba(191, 160, 115, 0.1); - - time { - flex: 1; - } - } - - .body { - display: flex; - padding: 12px; - align-items: center; - - .content { - flex: 1; - font-size: @font-12; - line-height: 2; - - span { - padding-left: 5px; - } - - .mony { - color: @c-text-default; - - } - } - - .status { - color: @c-text-default; - } - } -</style> diff --git a/src/views/order/shtx.vue b/src/views/order/shtx.vue deleted file mode 100644 index fbabea9..0000000 --- a/src/views/order/shtx.vue +++ /dev/null @@ -1,322 +0,0 @@ -<!-- - * @Author: 小明丶 - * @Date: 2019-09-26 12:33:49 - * @LastEditors: 小明丶 - * @LastEditTime: 2020-04-09 11:30:57 - * @Description: - --> -<template> - <div class="order-hb-box"> - <v-navbar title="商户贴息" fixed> - <template v-slot:right> - <div class="flex-center-g" @click="isShow = true;"> - <span>筛选</span> - <svg class="icon" aria-hidden="true" style="width:18px;height:18px;"> - <use xlink:href="#iconshaixuan"></use> - </svg> - </div> - </template> - </v-navbar> - <!-- 订单列表 --> - <div class="order-list"> - <v-datacard class='info' :list="orderData"></v-datacard> - <van-list v-model="loading" :finished="finished" finished-text="没有更多了" @load="init" > - <v-order-item :name="item.userName || '无'" :user='item.label' :time='+item.creTime' :list='item.list' - v-for="(item,k) in list" :key="k" @click="go(item.orderId)"></v-order-item> - </van-list> - - </div> - <v-button-circle icon='icondaochu' title='导出' @click="exportFile"></v-button-circle> - - <v-filter v-model="isShow" :belongArr="belongArr" :periodsArr="periodsArr" :statusArr="statusArr" customTitle="商家到账金额" :hasSearch="true" :zfbVersionArr="zfbVersionArr" - @search="(v)=>search(v,true)"></v-filter> - - - <van-popup v-model="exporShow"> - <div class="popup-content"> - <div class="icon-box flex-center-g"> - <div class="child flex-center-g"> - <svg class="icon" aria-hidden="true" style="width:33px;height:27px;fill:#fff;" @click="$router.back()"> - <use xlink:href="#iconyoujian"></use> - </svg> - </div> - </div> - <p class="text"> - <span class="top">已将信息发送至邮箱,请注意查收</span> - <span v-text="userinfo.email || ''">1244667@163.com</span> - </p> - <van-button class="btn-submit" @click="exporShow=false;">确定</van-button> - </div> - </van-popup> - </div> -</template> - -<script> - import { - mapState, - mapGetters - } from 'vuex'; - import { - getParams - } from '@/utils/index'; - export default { - data() { - return { - loading:false, - finished:false, - exporShow:false, - isShow: false, - list: [], - orderData: [], - belongArr: [], - periodsArr: [], - statusArr: [], - zfbVersionArr:[], - filter: {} - } - }, - computed: { - ...mapState(['userinfo']), - ...mapGetters(['orgType']), - prodId() { - return this.$route.query.prodId - }, - typeId(){ - return this.$route.query.typeId - }, - id() { - return this.$route.query.id; - }, - dataLabel(){ - if(this.orgType===1 || this.orgType===2){ - return "交易商户数" - }else if(this.orgType ===3){ - return "交易门店数" - }else{ - return "交易门店数" - } - } - }, - created() { - // this.init() - this.getOrderReport() - this.getOrderInit() - }, - methods: { - search(v,isClear){ - this.filter.orderId =""; - this.finished = false; - this.init(v,isClear) - this.getOrderReport(v) - }, - // 获取过滤条件 - getOrderInit() { - this.$api.getOrderInit({ - orgType: this.userinfo.orgType, - prodTypeId: this.typeId - }).then((res) => { - let body = res.body, - insTermVoList = body.insTermVoList || [], - orderStatusList = body.orderStatusList || [], - orgBaseInfVoList = body.orgBaseInfVoList || [], - zfbVersionList = body.zfbVersions || []; - this.periodsArr = insTermVoList; - this.statusArr = orderStatusList; - this.belongArr = orgBaseInfVoList; - this.zfbVersionArr = zfbVersionList; - }).catch((err) => { - - }); - - }, - // 跳转到详情页面 - go(id) { - this.$router.push(`/product/shtx-detail?id=${id}`) - }, - calcLabel(item){ - switch (this.orgType) { - case 1: - item.label = item.merName - break; - case 2: - item.label = item.merName - break; - case 3: - item.label = item.storeName - break; - case 4: - item.label = item.recordPerson - break; - } - }, - // 获取订单列表 - init(params = this.filter,isClear) { - let p = getParams(this.orgType, this.id) - params.prodTypeId = this.typeId; - params = Object.assign(params, p) - this.loading = true; - this.$api.getHBList(params).then(res => { - this.filter = {...params}; - if(isClear){ - this.list = []; - } - let list = res.body || [], - len = list.length; - if (len) { - this.filter.orderId = list[list.length - 1].orderId; - list.forEach(item => { - this.calcLabel(item) - let color = 'success'; - switch (item.status) { - case 1: - color = 'success'; - break; - case 2: - color = 'error'; - break; - case 0: - color = 'warning'; - break; - case 3: - color = 'warning'; - break; - } - this.list.push({ - ...item, - list: [{ - value: item.settAmt, - label: '商家到账金额(元)', - }, - { - value: item.insTermStr, - label: '分期期数(月)', - }, - { - value: item.statusStr, - label: '订单状态', - color - } - ] - }) - }) - } - if (len < 10) { - this.finished = true; - } - this.loading = false; - this.isShow = false; - }).catch((err) => { - this.finished = true; - this.loading = false; - }); - }, - //订单导出 - exportFile() { - if (!this.list.length) { - this.$notify('暂无数据导出') - return; - } - this.$api.hbExport(this.filter).then((res) => { - - this.exporShow = true; - - // this.$dialog.alert({ - // showCancelButton: false, - // message: `<div> - // <p>已将信息发送至邮箱,请注意查收</p> - // <p>${this.userinfo.email}</p> - // </div>` - // }).then(() => { - // - // }); - }).catch((err) => { - - }); - }, - // 获取订单统计数据 - getOrderReport(params) { - this.$api.getOrderReport({ - ...params, - prodId: this.prodId, - pageType: 2, - }).then(({ - body - }) => { - this.orderData = []; - this.orderData.push({ - title: '交易额', - num: body.amtNum || 0, - }) - this.orderData.push({ - title: '交易单数', - num: body.orderNum || 0, - }) - let num = body.merNum || 0; - if(this.orgType==4){ - num = "—"; - } - this.orderData.push({ - title: this.dataLabel, - num - }) - }).catch((err) => { - - }) - }, - }, - } -</script> - -<style lang="less" scoped> - .order-hb-box { - padding-top: 44px; - background-color: @c-bg-f5; - } - - .order-list { - padding: 0 8px 30px; - - .info { - margin-bottom: 20px; - } - } - .popup-content{ - height: 150px; - width: 280px; - border-radius: 3px; - .icon-box{ - z-index: 99999; - height: 64px; - width: 64px; - position: absolute; - left: 50%; - background:rgba(66,61,93,0.1); - border-radius: 50%; - transform: translate(-50%,-50%); - - .child{ - height: 55px; - width: 55px; - background:rgba(66,61,93,0.8); - border-radius: 50%; - } - } - .text{ - width: 210px; - text-align: center; - margin: 0 auto; - padding-top: 50px; - line-height: 18px; - .top{ - color: @c-text-666; - } - } - .btn-submit{ - .lh(44px); - position: absolute; - width: 100%; - bottom: 0; - color: @c-text-default; - } - } -</style> diff --git a/src/views/order/xyg-cx.vue b/src/views/order/xyg-cx.vue deleted file mode 100644 index 7aead06..0000000 --- a/src/views/order/xyg-cx.vue +++ /dev/null @@ -1,329 +0,0 @@ -<!-- - * @Author: 小明丶 - * @Date: 2020-03-19 11:02:45 - * @LastEditors: 小明丶 - * @LastEditTime: 2020-03-19 11:20:52 - * @Description: - --> -<!-- - * @Author: 小明丶 - * @Date: 2019-08-20 14:07:56 - * @LastEditors: 小明丶 - * @LastEditTime: 2019-09-04 16:11:37 - * @Description: 花呗订单 - --> -<template> - <div class="order-hb-box"> - <v-navbar :title="typeId ==200012? '信用购-花呗' : '信用购-储蓄'" fixed> - <template v-slot:right> - <div class="flex-center-g" @click="isShow = true;"> - <span>筛选</span> - <svg class="icon" aria-hidden="true" style="width:18px;height:18px;"> - <use xlink:href="#iconshaixuan"></use> - </svg> - </div> - </template> - </v-navbar> - <!-- 订单列表 --> - <div class="order-list"> - <v-datacard class='info' :list="orderData"></v-datacard> - <van-list v-model="loading" :finished="finished" finished-text="没有更多了" @load="init" > - <v-order-item :name="item.userName || '无'" :user='item.label' :time='+item.creTime' :list='item.list' - v-for="(item,k) in list" :key="k" @click="go(item.orderId)"></v-order-item> - </van-list> - - </div> - <v-button-circle icon='icondaochu' title='导出' @click="exportFile"></v-button-circle> - - <v-filter v-model="isShow" :belongArr="belongArr" :periodsArr="periodsArr" :statusArr="statusArr" customTitle="分期本金" :hasSearch="true" - @search="(v)=>search(v,true)"></v-filter> - - - <van-popup v-model="exporShow"> - <div class="popup-content"> - <div class="icon-box flex-center-g"> - <div class="child flex-center-g"> - <svg class="icon" aria-hidden="true" style="width:33px;height:27px;fill:#fff;" @click="$router.back()"> - <use xlink:href="#iconyoujian"></use> - </svg> - </div> - </div> - <p class="text"> - <span class="top">已将信息发送至邮箱,请注意查收</span> - <span v-text="userinfo.email || ''">1244667@163.com</span> - </p> - <van-button class="btn-submit" @click="exporShow=false;">确定</van-button> - </div> - </van-popup> - </div> -</template> - -<script> - import { - mapState, - mapGetters - } from 'vuex'; - import { - getParams - } from '@/utils/index'; - export default { - data() { - return { - loading:false, - finished:false, - - exporShow:false, - - isShow: false, - list: [], - orderData: [], - belongArr: [], - periodsArr: [], - statusArr: [], - filter: {} - } - }, - computed: { - ...mapState(['userinfo']), - ...mapGetters(['orgType']), - prodId() { - return this.$route.query.prodId - }, - typeId(){ - return this.$route.query.typeId - }, - id() { - return this.$route.query.id; - }, - dataLabel(){ - if(this.orgType===1 || this.orgType===2){ - return "交易商户数" - }else if(this.orgType ===3){ - return "交易门店数" - }else{ - return "交易门店数" - } - } - }, - created() { - // this.init() - console.log(this.orgType) - this.getOrderReport() - this.getOrderInit() - }, - methods: { - search(v,isClear){ - this.filter.orderId =""; - this.finished = false; - this.init(v,isClear) - this.getOrderReport(v) - }, - // 获取过滤条件 - getOrderInit() { - this.$api.getOrderInit({ - orgType: this.userinfo.orgType, - prodTypeId: this.typeId - }).then((res) => { - let body = res.body, - insTermVoList = body.insTermVoList || [], - orderStatusList = body.orderStatusList || [], - orgBaseInfVoList = body.orgBaseInfVoList || []; - this.periodsArr = insTermVoList; - this.statusArr = orderStatusList; - this.belongArr = orgBaseInfVoList; - }).catch((err) => { - - }); - - }, - // 跳转到详情页面 - go(id) { - this.$router.push(`/product/hb-detail?id=${id}&typeId=${this.typeId}`) - }, - calcLabel(item){ - switch (this.orgType) { - case 1: - item.label = item.merName - break; - case 2: - item.label = item.merName - break; - case 3: - item.label = item.storeName - break; - case 4: - item.label = item.recordPerson - break; - } - }, - // 获取订单列表 - init(params = this.filter,isClear) { - let p = getParams(this.orgType, this.id) - params.prodTypeId = this.typeId; - params = Object.assign(params, p) - this.loading = true; - this.$api.getHBList(params).then(res => { - this.filter = {...params}; - if(isClear){ - this.list = []; - } - let list = res.body || [], - len = list.length; - if (len) { - this.filter.orderId = list[list.length - 1].orderId; - list.forEach(item => { - this.calcLabel(item) - let color = 'success'; - switch (item.status) { - case 1: - color = 'success'; - break; - case 2: - color = 'error'; - break; - case 0: - color = 'warning'; - break; - case 3: - color = 'warning'; - break; - } - this.list.push({ - ...item, - list: [{ - value: item.settAmt, - label: '分期本金(元)', - }, - { - value: item.insTermStr, - label: '分期期数(月)', - }, - { - value: item.statusStr, - label: '订单状态', - color - } - ] - }) - }) - } - if (len < 10) { - this.finished = true; - } - this.loading = false; - this.isShow = false; - }).catch((err) => { - this.finished = true; - this.loading = false; - }); - }, - //订单导出 - exportFile() { - if (!this.list.length) { - this.$notify('暂无数据导出') - return; - } - this.$api.hbExport(this.filter).then((res) => { - - this.exporShow = true; - - // this.$dialog.alert({ - // showCancelButton: false, - // message: `<div> - // <p>已将信息发送至邮箱,请注意查收</p> - // <p>${this.userinfo.email}</p> - // </div>` - // }).then(() => { - // - // }); - }).catch((err) => { - - }); - }, - // 获取订单统计数据 - getOrderReport(params) { - this.$api.getOrderReport({ - ...params, - prodId: this.prodId, - pageType: 2, - }).then(({ - body - }) => { - this.orderData = []; - this.orderData.push({ - title: '交易额', - num: body.amtNum || 0, - }) - this.orderData.push({ - title: '交易单数', - num: body.orderNum || 0, - }) - let num = body.merNum || 0; - if(this.orgType==4){ - num = "—"; - } - this.orderData.push({ - title: this.dataLabel, - num - }) - }).catch((err) => { - - }) - }, - }, - } -</script> - -<style lang="less" scoped> - .order-hb-box { - padding-top: 44px; - background-color: @c-bg-f5; - } - - .order-list { - padding: 0 8px 30px; - - .info { - margin-bottom: 20px; - } - } - .popup-content{ - height: 150px; - width: 280px; - border-radius: 3px; - .icon-box{ - z-index: 99999; - height: 64px; - width: 64px; - position: absolute; - left: 50%; - background:rgba(66,61,93,0.1); - border-radius: 50%; - transform: translate(-50%,-50%); - - .child{ - height: 55px; - width: 55px; - background:rgba(66,61,93,0.8); - border-radius: 50%; - } - } - .text{ - width: 210px; - text-align: center; - margin: 0 auto; - padding-top: 50px; - line-height: 18px; - .top{ - color: @c-text-666; - } - } - .btn-submit{ - .lh(44px); - position: absolute; - width: 100%; - bottom: 0; - color: @c-text-default; - } - } -</style> diff --git a/src/views/order/xyg-hb.vue b/src/views/order/xyg-hb.vue deleted file mode 100644 index 5789c09..0000000 --- a/src/views/order/xyg-hb.vue +++ /dev/null @@ -1,323 +0,0 @@ -<!-- - * @Author: 小明丶 - * @Date: 2020-03-19 11:02:28 - * @LastEditors: 小明丶 - * @LastEditTime: 2020-03-23 16:47:35 - * @Description: - --> -<template> - <div class="order-hb-box"> - <v-navbar title="运营商消费-花呗分期订单" fixed> - <template v-slot:right> - <div class="flex-center-g" @click="isShow = true;"> - <span>筛选</span> - <svg class="icon" aria-hidden="true" style="width:18px;height:18px;"> - <use xlink:href="#iconshaixuan"></use> - </svg> - </div> - </template> - </v-navbar> - <!-- 订单列表 --> - <div class="order-list"> - <v-datacard class='info' :list="orderData"></v-datacard> - <van-list v-model="loading" :finished="finished" finished-text="没有更多了" @load="init" > - <v-order-item :name="item.userName || '无'" :user='item.label' :time='+item.creTime' :list='item.list' - v-for="(item,k) in list" :key="k" @click="go(item.orderId)"></v-order-item> - </van-list> - - </div> - <v-button-circle icon='icondaochu' title='导出' @click="exportFile"></v-button-circle> - - <v-filter v-model="isShow" :belongArr="belongArr" :periodsArr="periodsArr" :statusArr="statusArr" customTitle="结算金额" :hasSearch="true" - @search="(v)=>search(v,true)"></v-filter> - - - <van-popup v-model="exporShow"> - <div class="popup-content"> - <div class="icon-box flex-center-g"> - <div class="child flex-center-g"> - <svg class="icon" aria-hidden="true" style="width:33px;height:27px;fill:#fff;" @click="$router.back()"> - <use xlink:href="#iconyoujian"></use> - </svg> - </div> - </div> - <p class="text"> - <span class="top">已将信息发送至邮箱,请注意查收</span> - <span v-text="userinfo.email || ''">1244667@163.com</span> - </p> - <van-button class="btn-submit" @click="exporShow=false;">确定</van-button> - </div> - </van-popup> - </div> -</template> - -<script> - import { - mapState, - mapGetters - } from 'vuex'; - import { - getParams - } from '@/utils/index'; - export default { - data() { - return { - loading:false, - finished:false, - - exporShow:false, - - isShow: false, - list: [], - orderData: [], - belongArr: [], - periodsArr: [], - statusArr: [], - filter: {} - } - }, - computed: { - ...mapState(['userinfo']), - ...mapGetters(['orgType']), - prodId() { - return this.$route.query.prodId - }, - typeId(){ - return this.$route.query.typeId - }, - id() { - return this.$route.query.id; - }, - dataLabel(){ - if(this.orgType===1 || this.orgType===2){ - return "交易商户数" - }else if(this.orgType ===3){ - return "交易门店数" - }else{ - return "交易门店数" - } - } - }, - created() { - // this.init() - console.log(this.orgType) - this.getOrderReport() - this.getOrderInit() - }, - methods: { - search(v,isClear){ - this.filter.orderId =""; - this.finished = false; - this.init(v,isClear) - this.getOrderReport(v) - }, - // 获取过滤条件 - getOrderInit() { - this.$api.getOrderInit({ - orgType: this.userinfo.orgType, - prodTypeId: this.typeId - }).then((res) => { - let body = res.body, - insTermVoList = body.insTermVoList || [], - orderStatusList = body.orderStatusList || [], - orgBaseInfVoList = body.orgBaseInfVoList || []; - this.periodsArr = insTermVoList; - this.statusArr = orderStatusList; - this.belongArr = orgBaseInfVoList; - }).catch((err) => { - - }); - - }, - // 跳转到详情页面 - go(id) { - this.$router.push(`/product/xyg-hb-detail?id=${id}&typeId=${this.typeId}`) - }, - calcLabel(item){ - switch (this.orgType) { - case 1: - item.label = item.merName - break; - case 2: - item.label = item.merName - break; - case 3: - item.label = item.storeName - break; - case 4: - item.label = item.recordPerson - break; - } - }, - // 获取订单列表 - init(params = this.filter,isClear) { - let p = getParams(this.orgType, this.id) - params.prodTypeId = this.typeId; - params = Object.assign(params, p) - this.loading = true; - this.$api.xygOrderHbList(params).then(res => { - this.filter = {...params}; - if(isClear){ - this.list = []; - } - let list = res.body || [], - len = list.length; - if (len) { - this.filter.orderId = list[list.length - 1].orderId; - list.forEach(item => { - this.calcLabel(item) - let color = 'success'; - switch (item.status) { - case 1: - color = 'success'; - break; - case 2: - color = 'error'; - break; - case 0: - color = 'warning'; - break; - case 3: - color = 'warning'; - break; - } - this.list.push({ - ...item, - list: [{ - value: item.settAmt, - label: '结算金额(元)', - }, - { - value: item.insTermStr, - label: '分期期数(月)', - }, - { - value: item.statusStr, - label: '订单状态', - color - } - ] - }) - }) - } - if (len < 10) { - this.finished = true; - } - this.loading = false; - this.isShow = false; - }).catch((err) => { - this.finished = true; - this.loading = false; - }); - }, - //订单导出 - exportFile() { - if (!this.list.length) { - this.$notify('暂无数据导出') - return; - } - this.$api.xygOrderHbExport(this.filter).then((res) => { - - this.exporShow = true; - - // this.$dialog.alert({ - // showCancelButton: false, - // message: `<div> - // <p>已将信息发送至邮箱,请注意查收</p> - // <p>${this.userinfo.email}</p> - // </div>` - // }).then(() => { - // - // }); - }).catch((err) => { - - }); - }, - // 获取订单统计数据 - getOrderReport(params) { - this.$api.getOrderReport({ - ...params, - prodId: this.prodId, - pageType: 2, - }).then(({ - body - }) => { - this.orderData = []; - this.orderData.push({ - title: '交易额', - num: body.amtNum || 0, - }) - this.orderData.push({ - title: '交易单数', - num: body.orderNum || 0, - }) - let num = body.merNum || 0; - if(this.orgType==4){ - num = "—"; - } - this.orderData.push({ - title: this.dataLabel, - num - }) - }).catch((err) => { - - }) - }, - }, - } -</script> - -<style lang="less" scoped> - .order-hb-box { - padding-top: 44px; - background-color: @c-bg-f5; - min-height: 100vh; - } - - .order-list { - padding: 0 8px 30px; - - .info { - margin-bottom: 20px; - } - } - .popup-content{ - height: 150px; - width: 280px; - border-radius: 3px; - .icon-box{ - z-index: 99999; - height: 64px; - width: 64px; - position: absolute; - left: 50%; - background:rgba(66,61,93,0.1); - border-radius: 50%; - transform: translate(-50%,-50%); - - .child{ - height: 55px; - width: 55px; - background:rgba(66,61,93,0.8); - border-radius: 50%; - } - } - .text{ - width: 210px; - text-align: center; - margin: 0 auto; - padding-top: 50px; - line-height: 18px; - .top{ - color: @c-text-666; - } - } - .btn-submit{ - .lh(44px); - position: absolute; - width: 100%; - bottom: 0; - color: @c-text-default; - } - } -</style> diff --git a/src/views/order/xyg.vue b/src/views/order/xyg.vue deleted file mode 100644 index 3b975bb..0000000 --- a/src/views/order/xyg.vue +++ /dev/null @@ -1,292 +0,0 @@ -<!-- - * @Author: 小明丶 - * @Date: 2019-08-20 14:07:56 - * @LastEditors: 小明丶 - * @LastEditTime: 2020-03-20 09:55:50 - * @Description: 信用购订单 该页面跟购机直降相差无几 - --> -<template> - <div class="order-hb-box h-100-g"> - <v-navbar title="运营商消费-储蓄卡订单" fixed> - <template v-slot:right> - <div class="flex-center-g" @click="isShow = true;"> - <span>筛选</span> - <svg class="icon" aria-hidden="true" style="width:18px;height:18px;"> - <use xlink:href="#iconshaixuan"></use> - </svg> - </div> - </template> - </v-navbar> - <!-- 订单列表 --> - <div class="order-list"> - <v-datacard class='info' :list="orderData"></v-datacard> - <van-list v-model="loading" :finished="finished" finished-text="没有更多了" @load="init"> - <v-order-item :name="item.userName || '无'" :user='item.label' :time='item.creTime' :list='item.list' - v-for="(item,index) in list" :key="index" - @click="$router.push(`/product/xyg-detail?id=${item.orderId}`)"> - </v-order-item> - </van-list> - - </div> - <v-button-circle icon='icondaochu' title='导出' @click="exportFile"></v-button-circle> - <v-filter v-model="isShow" :belongArr="belongArr" :statusArr="statusArr" customTitle="手机价格" :hasSearch="true" - @search="(v)=>search(v,true)"></v-filter> - <van-popup v-model="exporShow"> - <div class="popup-content"> - <div class="icon-box flex-center-g"> - <div class="child flex-center-g"> - <svg class="icon" aria-hidden="true" style="width:33px;height:27px;fill:#fff;" @click="$router.back()"> - <use xlink:href="#iconyoujian"></use> - </svg> - </div> - </div> - <p class="text"> - <span class="top">已将信息发送至邮箱,请注意查收</span> - <span v-text="userinfo.email || ''">1244667@163.com</span> - </p> - <van-button class="btn-submit" @click="exporShow=false;">确定</van-button> - </div> - </van-popup> - </div> -</template> - -<script> - import { - mapState, - mapGetters - } from 'vuex'; - import { - getParams - } from '@/utils/index'; - export default { - data() { - return { - loading: false, - finished: false, - - - exporShow:false, - - isShow: false, - list: [], - filter: {}, - statusArr: [], - belongArr: [], - orderData: [], - - } - }, - computed: { - ...mapState(['userinfo']), - ...mapGetters(['orgType']), - prodId() { - return this.$route.query.prodId - }, - typeId(){ - return this.$route.query.typeId - }, - id() { - return this.$route.query.id; - }, - dataLabel(){ - if(this.orgType===1 || this.orgType===2){ - return "交易商户数" - }else if(this.orgType ===3){ - return "交易门店数" - }else{ - return "交易门店数" - } - } - }, - created() { - this.getOrderInit() - this.getOrderReport() - }, - methods: { - calcLabel(item){ - switch (this.orgType) { - case 1: - item.label = item.merName - break; - case 2: - item.label = item.merName - break; - case 3: - item.label = item.storeName - break; - case 4: - item.label = item.recordPerson - break; - } - }, - search(v, isClear) { - this.filter.orderId = ""; - this.finished = false; - this.init(v, isClear) - this.getOrderReport(v) - }, - // 获取过滤条件 - getOrderInit() { - this.$api.getOrderInit({ - orgType: this.orgType, - prodTypeId: this.typeId - }).then((res) => { - let body = res.body, - orderStatusList = body.orderStatusList || [], - orgBaseInfVoList = body.orgBaseInfVoList || []; - this.statusArr = orderStatusList; - this.belongArr = orgBaseInfVoList; - }).catch((err) => { - - }); - }, - //获取订单列表 - init(params = this.filter, isClear) { - let p = getParams(this.orgType, this.id) - params.prodTypeId = this.typeId; - params = Object.assign(params, p) - this.loading = true; - this.$api.getXygOrder(params).then(res => { - this.filter = { - ...params - }; - if (isClear) { - this.list = []; - } - let list = res.body || [], - len = list.length; - if (len) { - this.filter.orderId = list[list.length - 1].orderId; - list.forEach(item => { - this.calcLabel(item) - let color = ''; - this.list.push({ - ...item, - list: [{ - value: item.insAmt, - label: '商品金额(元)', - }, - { - value: item.insTermStr, - label: '分期期数(月)' - }, - { - value: item.statusStr, - label: '订单状态', - color - } - ] - }) - }) - } - if (len < 10) { - this.finished = true; - } - this.loading = false; - this.isShow = false; - }).catch((err) => { - this.finished = true; - this.loading = false; - }); - }, - // 获取订单统计数据 - getOrderReport(params) { - this.$api.getOrderReport({ - ...params, - prodId: this.prodId, - pageType: 2, - }).then(({ - body - }) => { - this.orderData = []; - this.orderData.push({ - title: '交易额', - num: body.amtNum || 0, - }) - this.orderData.push({ - title: '交易单数', - num: body.orderNum || 0, - }) - let num = body.merNum || 0; - if(this.orgType==4){ - num = "—"; - } - this.orderData.push({ - title: this.dataLabel, - num - }) - }).catch((err) => { - - }) - }, - // 导出 - exportFile() { - if (!this.list.length) { - this.$notify('暂无数据导出') - return; - } - this.$api.xygExport(this.filter).then((res) => { - - this.exporShow = true; - - }).catch((err) => { - - }); - } - }, - } -</script> - -<style lang="less" scoped> - .order-hb-box { - padding-top: 44px; - background-color: @c-bg-f5; - } - - .order-list { - padding: 0 8px 30px; - - .info { - margin-bottom: 20px; - } - } - .popup-content{ - height: 150px; - width: 280px; - border-radius: 3px; - .icon-box{ - z-index: 99999; - height: 64px; - width: 64px; - position: absolute; - left: 50%; - background:rgba(66,61,93,0.1); - border-radius: 50%; - transform: translate(-50%,-50%); - - .child{ - height: 55px; - width: 55px; - background:rgba(66,61,93,0.8); - border-radius: 50%; - } - } - .text{ - width: 210px; - text-align: center; - margin: 0 auto; - padding-top: 50px; - line-height: 18px; - .top{ - color: @c-text-666; - } - } - .btn-submit{ - .lh(44px); - position: absolute; - width: 100%; - bottom: 0; - color: @c-text-default; - } - } -</style> diff --git a/src/views/order/zxh.vue b/src/views/order/zxh.vue deleted file mode 100644 index 2aa6cee..0000000 --- a/src/views/order/zxh.vue +++ /dev/null @@ -1,292 +0,0 @@ -<!-- - * @Author: 小明丶 - * @Date: 2019-08-20 14:07:56 - * @LastEditors: 小明丶 - * @LastEditTime: 2019-09-04 18:49:56 - * @Description: 智享花订单 该页面跟购机直降相差无几 - --> -<template> - <div class="order-hb-box h-100-g"> - <v-navbar title="智享花订单" fixed> - <template v-slot:right> - <div class="flex-center-g" @click="isShow = true;"> - <span>筛选</span> - <svg class="icon" aria-hidden="true" style="width:18px;height:18px;"> - <use xlink:href="#iconshaixuan"></use> - </svg> - </div> - </template> - </v-navbar> - <!-- 订单列表 --> - <div class="order-list"> - <v-datacard class='info' :list="orderData"></v-datacard> - <van-list v-model="loading" :finished="finished" finished-text="没有更多了" @load="init"> - <v-order-item :name="item.userName || '无'" :user='item.label' :time='item.creTime' :list='item.list' - v-for="(item,index) in list" :key="index" - @click="$router.push(`/product/zxh-detail?id=${item.orderId}`)"> - </v-order-item> - </van-list> - - </div> - <v-button-circle icon='icondaochu' title='导出' @click="exportFile"></v-button-circle> - <v-filter v-model="isShow" :belongArr="belongArr" :statusArr="statusArr" customTitle="手机价格" :hasSearch="true" - @search="(v)=>search(v,true)"></v-filter> - <van-popup v-model="exporShow"> - <div class="popup-content"> - <div class="icon-box flex-center-g"> - <div class="child flex-center-g"> - <svg class="icon" aria-hidden="true" style="width:33px;height:27px;fill:#fff;" @click="$router.back()"> - <use xlink:href="#iconyoujian"></use> - </svg> - </div> - </div> - <p class="text"> - <span class="top">已将信息发送至邮箱,请注意查收</span> - <span v-text="userinfo.email || ''">1244667@163.com</span> - </p> - <van-button class="btn-submit" @click="exporShow=false;">确定</van-button> - </div> - </van-popup> - </div> -</template> - -<script> - import { - mapState, - mapGetters - } from 'vuex'; - import { - getParams - } from '@/utils/index'; - export default { - data() { - return { - loading: false, - finished: false, - - - exporShow:false, - - isShow: false, - list: [], - filter: {}, - statusArr: [], - belongArr: [], - orderData: [], - - } - }, - computed: { - ...mapState(['userinfo']), - ...mapGetters(['orgType']), - prodId() { - return this.$route.query.prodId - }, - typeId(){ - return this.$route.query.typeId - }, - id() { - return this.$route.query.id; - }, - dataLabel(){ - if(this.orgType===1 || this.orgType===2){ - return "交易商户数" - }else if(this.orgType ===3){ - return "交易门店数" - }else{ - return "交易门店数" - } - } - }, - created() { - this.getOrderInit() - this.getOrderReport() - }, - methods: { - calcLabel(item){ - switch (this.orgType) { - case 1: - item.label = item.merName - break; - case 2: - item.label = item.merName - break; - case 3: - item.label = item.storeName - break; - case 4: - item.label = item.recordPerson - break; - } - }, - search(v, isClear) { - this.filter.orderId = ""; - this.finished = false; - this.init(v, isClear) - this.getOrderReport(v) - }, - // 获取过滤条件 - getOrderInit() { - this.$api.getOrderInit({ - orgType: this.orgType, - prodTypeId: this.typeId - }).then((res) => { - let body = res.body, - orderStatusList = body.orderStatusList || [], - orgBaseInfVoList = body.orgBaseInfVoList || []; - this.statusArr = orderStatusList; - this.belongArr = orgBaseInfVoList; - }).catch((err) => { - - }); - }, - //获取订单列表 - init(params = this.filter, isClear) { - let p = getParams(this.orgType, this.id) - params.prodTypeId = this.typeId; - params = Object.assign(params, p) - this.loading = true; - this.$api.getHeydOrder(params).then(res => { - this.filter = { - ...params - }; - if (isClear) { - this.list = []; - } - let list = res.body || [], - len = list.length; - if (len) { - this.filter.orderId = list[list.length - 1].orderId; - list.forEach(item => { - this.calcLabel(item) - let color = ''; - this.list.push({ - ...item, - list: [{ - value: item.insAmt, - label: '商品金额(元)', - }, - { - value: item.insTermStr, - label: '分期期数(月)' - }, - { - value: item.statusStr, - label: '订单状态', - color - } - ] - }) - }) - } - if (len < 10) { - this.finished = true; - } - this.loading = false; - this.isShow = false; - }).catch((err) => { - this.finished = true; - this.loading = false; - }); - }, - // 获取订单统计数据 - getOrderReport(params) { - this.$api.getOrderReport({ - ...params, - prodId: this.prodId, - pageType: 2, - }).then(({ - body - }) => { - this.orderData = []; - this.orderData.push({ - title: '交易额', - num: body.amtNum || 0, - }) - this.orderData.push({ - title: '交易单数', - num: body.orderNum || 0, - }) - let num = body.merNum || 0; - if(this.orgType==4){ - num = "—"; - } - this.orderData.push({ - title: this.dataLabel, - num - }) - }).catch((err) => { - - }) - }, - // 导出 - exportFile() { - if (!this.list.length) { - this.$notify('暂无数据导出') - return; - } - this.$api.zxhExport(this.filter).then((res) => { - - this.exporShow = true; - - }).catch((err) => { - - }); - } - }, - } -</script> - -<style lang="less" scoped> - .order-hb-box { - padding-top: 44px; - background-color: @c-bg-f5; - } - - .order-list { - padding: 0 8px 30px; - - .info { - margin-bottom: 20px; - } - } - .popup-content{ - height: 150px; - width: 280px; - border-radius: 3px; - .icon-box{ - z-index: 99999; - height: 64px; - width: 64px; - position: absolute; - left: 50%; - background:rgba(66,61,93,0.1); - border-radius: 50%; - transform: translate(-50%,-50%); - - .child{ - height: 55px; - width: 55px; - background:rgba(66,61,93,0.8); - border-radius: 50%; - } - } - .text{ - width: 210px; - text-align: center; - margin: 0 auto; - padding-top: 50px; - line-height: 18px; - .top{ - color: @c-text-666; - } - } - .btn-submit{ - .lh(44px); - position: absolute; - width: 100%; - bottom: 0; - color: @c-text-default; - } - } -</style> diff --git a/src/views/product/credit-detail.vue b/src/views/product/credit-detail.vue deleted file mode 100644 index a2085c5..0000000 --- a/src/views/product/credit-detail.vue +++ /dev/null @@ -1,109 +0,0 @@ -<!-- - * @Author: 小明丶 - * @Date: 2019-08-19 16:20:48 - * @LastEditors: 小明丶 - * @LastEditTime: 2019-09-06 15:42:01 - * @Description: 信用卡分期——订单详情 - --> -<template> - <div class="credit-detail-box h-100-g"> - <v-navbar title="订单详情" fixed></v-navbar> - <div class="content"> - <div class="cell-group"> - <van-cell :value="form.userName" title='用户名称' readonly></van-cell> - <van-cell :value="form.mblNo" title='手机号' readonly></van-cell> - </div> - - <div class="cell-group"> - <van-cell :value="form.settAmt" title='商品金额' readonly></van-cell> - <van-cell :value="form.insAmt" title='还款总额' readonly></van-cell> - <van-cell :value="form.insTermStr" title='分期期数' readonly></van-cell> - <van-cell :value="form.dealTime" title='交易时间' readonly></van-cell> - <van-cell :value="form.goodsName" title='商品信息' readonly></van-cell> - <van-cell :value="form.statusStr" :value-class="statusColor" title='订单状态' readonly></van-cell> - </div> - - <div class="cell-group" > - <van-cell :value="form.chanName || '无'" title='办理渠道' readonly></van-cell> - <van-cell :value="form.merName || '无'" title='办理商户' readonly></van-cell> - <van-cell :value="form.storeName || '无'" title='办理门店' readonly></van-cell> - <van-cell :value="form.recordPerson || '无'" title='办单员' readonly></van-cell> - </div> - - <div class="cell-group" v-if="form.feeRate != null"> - <van-cell :value="form.feeRate" title='费率' readonly></van-cell> - </div> - </div> - </div> -</template> - -<script> - import { - mapState - } from 'vuex'; - export default { - data() { - return { - form: {}, - statusColor:'' - } - }, - computed: { - id() { - return this.$route.query.id - }, - ...mapState(['userinfo']) - }, - created() { - this.init() - }, - methods: { - init() { - this.$api.getCreditDetail(this.id).then((res) => { - this.form = res.body || {}; - if(this.form && this.form.status) { - if (this.form.status == 1) { - this.statusColor = 'status-val-done'; - } else if (this.form.status == 2) { - this.statusColor = 'status-val-error'; - } else if (this.form.status == 3) { - this.statusColor = 'status-val-refund'; - } else if (this.form.status == 0) { - this.statusColor = 'status-val-wait'; - } else { - this.statusColor = 'status-val-done'; - } - } - }).catch((err) => { - - }); - }, - }, - } -</script> -<style lang="less" scoped> - .status-val-done { - color:#19BE6B; - } - .status-val-refund { - color:#FF9900; - } - .status-val-wait { - color:#FF9900; - } - .status-val-error { - color:#ED4014; - } - .credit-detail-box { - padding-top: 44px; - background-color: @c-bg-f5; - - .content { - padding: 10px 8px; - } - - .cell-group { - margin-bottom: 10px; - } - } -</style> diff --git a/src/views/product/dmf-code.vue b/src/views/product/dmf-code.vue deleted file mode 100644 index 3ea98d7..0000000 --- a/src/views/product/dmf-code.vue +++ /dev/null @@ -1,139 +0,0 @@ -<!-- - * @Author: 小明丶 - * @Date: 2019-08-27 11:20:46 - * @LastEditors: 小明丶 - * @LastEditTime: 2019-08-27 11:25:45 - * @Description: - --> -<template> - <!-- 商户收款:扫描二维码页面 --> - <div class="contract-qrcode-page"> - <v-navbar title="扫码收款" fixed></v-navbar> - <div class="order-info"> - <div v-if="qrCodeBase64Url" class='canvasImg'> - <img :src="qrCodeBase64Url" alt="qrcode"> - </div> - <div id="QRCode" v-else class='qr-code'> - <div class='qeimg'> - <img :src="dataUrl" alt=""> - </div> - </div> - </div> - </div> -</template> -<script> - import html2canvas from 'html2canvas'; - import QRCode from 'qrcode'; - - export default { - name: 'facepay_code', - data() { - return { - dataUrl: '', - qrCodeBase64Url: '', - params: '', - timeId: null - } - }, - computed: { - orderId() { - let id = this.$route.query.id; - return id; - } - }, - beforeRouteLeave(to, from, next) { - clearInterval(this.timeId); - next() - }, - methods: { - // 轮询 支付状态 - search_status() { - this.$api.facepay_getStatus(this.orderId).then(res => { - let orderStatus = res.body.orderStatus; - if (orderStatus !== 0) { - if (orderStatus === 1) { - // 成功 - this.$router.replace( - `/product/dmf-detail?orderStatus=1&page=facepay_code&id=${this.orderId}`) - } else if (orderStatus === 2) { - // 失败 - this.$router.replace( - `/product/dmf-detail?orderStatus=2&page=facepay_code&id=${this.orderId}`) - } - } - }) - } - }, - created() { - QRCode.toDataURL(this.$route.query.url, { - margin: 0, - width: 400 - }, - (err, url) => { - this.dataUrl = url; - setTimeout(() => { - html2canvas(document.getElementById('QRCode')).then( - canvas => { - this.qrCodeBase64Url = canvas.toDataURL( - 'image/jpeg' - ); - this.timeId = setInterval(() => { - this.search_status(); - }, 2000); - } - ); - }, 100); - } - ); - } - } -</script> -<style lang="less" scoped> - .contract-qrcode-page { - padding-top: 44px; - - .order-info { - padding-top: 46px; - - .canvasImg { - margin: 0 auto; - width: 220px; - height: 220px; - - img { - width: 100%; - } - } - - .notice { - padding-top: 40px; - text-align: center; - color: #666; - } - - .qr-code { - background: #fff; - width: 220px; - height: 220px; - margin: 0 auto; - display: flex; - justify-content: center; - align-items: center; - flex-direction: column; - border: 4px solid @color-text-three; - color: @color-text-three; - - .qeimg { - width: 200px; - height: 200px; - padding: 5px; - - img { - width: 100%; - height: 100%; - } - } - } - } - } -</style> \ No newline at end of file diff --git a/src/views/product/dmf-detail.vue b/src/views/product/dmf-detail.vue deleted file mode 100644 index daa01bf..0000000 --- a/src/views/product/dmf-detail.vue +++ /dev/null @@ -1,351 +0,0 @@ -<!-- - * @Author: 小明丶 - * @Date: 2019-08-19 16:20:48 - * @LastEditors: 小明丶 - * @LastEditTime: 2020-12-11 10:54:57 - * @Description: 商户收款——订单详情 - --> -<template> - <div class="hb-detail-box h-100-g"> - <v-navbar title="订单详情" fixed></v-navbar> - - <div class="status" v-if="isShowStatus"> - <div v-if="isSuccess"> - <van-icon name="success" size="45px" color="#19BE6B" /> - <p class="info">交易成功</p> - <h3 class="price">¥{{orderInfo.payAmt}}</h3> - </div> - <div v-else> - <van-icon name="fail" size="45px" color="#FF9900" /> - <p class="info">订单超时</p> - </div> - </div> - - <div class="content"> - <div class="cell-group"> - <van-cell :value="form.creTime | timeformat('yyyy-MM-dd HH:mm:ss')" title='交易时间' readonly ></van-cell> - <van-cell :value="form.orderId" title='订单号' readonly ></van-cell> - <van-cell :value="(form.payAmt || '0')+'元'" title='支付金额' readonly ></van-cell> - <van-cell :value="form.zfbVersionName || '无'" title="办单通道" readonly></van-cell> - <van-cell :value="status" title='订单状态' :value-class="statusColor" readonly ></van-cell> - <van-cell v-if="form.aliAccount" :value="form.aliAccount" title='用户支付宝账号' readonly></van-cell> - </div> - <div class="cell-group"> - <van-cell v-if="userinfo.orgType < 2" :value="form.chanName || '无'" title='渠道名称' readonly></van-cell> - <van-cell v-if="userinfo.orgType < 3" :value="form.merName || '无'" title='商户名称' readonly></van-cell> - <van-cell v-if="userinfo.orgType < 4" :value="form.storeName || '无'" title='门店名称' readonly></van-cell> - <van-cell v-if="userinfo.orgType < 5" :value="form.mgrName || '无'" title='办单员名称' readonly></van-cell> - - </div> - <div class="cell-group"> - <van-cell :value="form.fee || '无'" title='商户收款费率' readonly></van-cell> - </div> - <div class="cell-group"> - <van-cell v-if="userinfo.orgType == 3" :value="form.settStatus || '无'" title='到账状态' readonly></van-cell> - </div> - <!-- <van-button class="btn" v-if="" @click="yzmShow = true">退单</van-button> --> - <van-button class="btn" :color="$store.state.backColor" v-if="form.refundStatus==1&&form.zfbVersion != 5 && $store.state.userinfo.orgType != 1 && $store.state.userinfo.orgType != 2" @click="refund">退款</van-button> - <van-button class="btn" :color="$store.state.backColor" v-if="status === '待支付'" @click="$router.replace(`/facepay/code?url=${form.payCode}&id=${form.orderId}`)">展示二维码</van-button> - </div> - <!-- 短信验证码弹窗 --> - <van-popup v-model="yzmShow"> - <div class="yzmbox"> - <van-icon name="cross" class="yzmbox-close" @click="yzmShow = false" /> - <p style="font-size:16px;color:#000;">请输入短信验证码</p> - <div class="yzmbox-contnet"> - <div class="yzmbox-contnet-yzm"> - <span>将发送到手机号:</span> - <span>{{userinfo.mblNo.replace(/(\d{3})\d*(\d{4})/, '$1****$2') }}</span> - </div> - </div> - <div class="yzmbox-contnet-get"> - <input type="text" v-model="yzmVal" placeholder="请输入验证码"> - <span class="yzmbox-contnet-get-yzm" @click="getYzm">{{ yzmText }}</span> - </div> - <van-button class="showbtn" :color="$store.state.backColor" round @click="yzmYes">确认</van-button> - </div> - </van-popup> - <!-- 退单成功弹窗 --> - <van-popup v-model="yzmOkShow"> - <div class="yzmOkbox"> - <van-icon name="cross" class="yzmbox-close" @click="yzmOkShow = false" /> - <div class="yzmOkbox-img"> - <img src="../../assets/img/tkimg.png" alt=""> - </div> - <p>退款成功</p> - </div> - </van-popup> - </div> -</template> - -<script> -import { async } from 'q'; -import Vue from 'vue'; -import { Notify } from 'vant'; -import { mapState } from 'vuex'; - -Vue.use(Notify); - export default { - data() { - return { - Open: true, //倒计时开关 - yzmText:'获取验证码', - yzmOkShow: false, - yzmVal: '', - yzmShow: false, //获取验证码弹窗 - isSuccess: false, - isShowStatus: false, - isShowListBtn: false, - form:{ - creTime:new Date() - }, - statusColor:'' - } - }, - computed:{ - ...mapState(['userinfo']), - orderId(){ - return this.$route.query.id - }, - status() { - let v = this.form.status; - switch (v) { - case 0: - return '待支付'; - case 1: - return '交易成功'; - case 2: - return '订单超时'; - case 3: - return '退款成功'; - } - } - }, - created(){ - let query = this.$route.query, - orderStatus = query.orderStatus, - page = query.page; - if (orderStatus == '1') { - this.isSuccess = true; - } - if (page == 'facepay_code') { - this.isShowStatus = true; - this.isShowListBtn = true; - } - this.init() - }, - methods: { - //验证码弹窗确认事件 - yzmYes() { - console.log(this.orderId) - if(this.yzmVal == '' || this.yzmVal == null){ - Notify({ type: 'danger', message: '验证码为空!' }); - } else { - this.$api.facepay_refund({orderId: Number(this.orderId), verCode:this.yzmVal}).then(() => { - // this.$router.replace(`/product/dmf-detail?id=${this.orderId}`) - this.$notify('退款成功') - this.yzmShow = false; - this.yzmVal = '', - this.yzmOkShow = true; - setTimeout(() => { - location.reload() - }, 700); - }) - - } - }, - //获取验证码 - getYzm() { - let sendParams = { - mblNo: this.userinfo.mblNo, - // mblNo: 13980353202, - verCodeType: 12, - }; - if(this.Open) { - this.$api.userSendMsg(sendParams).then(res => { - console.log(res.body) - this.Open = false - let num = 60; - this.yzmText = num + 's重发'; - let _this = this - let timer = setInterval(() => { - num--; - // _this.$set(_this.yzmText = num + 's重发') - if(num === 0) { - clearInterval(timer); - _this.Open = true; - _this.yzmText = '重新发送'; - } else { - _this.yzmText = num + 's重发'; - } - },1000) - }).catch(()=>{ - this.Open = true; - }) - } - }, - // 退款 - refund(){ - this.$dialog.confirm({ - message: '是否确认退款' - }).then(() => { - this.yzmShow = true - - }).catch(() => { - // on cancel - }); - // this - - }, - getStatusClass(){ - let styleClass = ['.status-val-done']; - return styleClass; - }, - // 获取详情 - init(){ - this.$api.getDmfOrderDetail(this.orderId).then((res) => { - this.form = { - ...res.body - } - if(this.form) { - if (this.form.status == 1) { - this.statusColor = 'status-val-done'; - } else if (this.form.status == 2) { - this.statusColor = 'status-val-error'; - } else if (this.form.status == 3) { - this.statusColor = 'status-val-refund'; - } else if (this.form.status == 0) { - this.statusColor = 'status-val-wait'; - } else { - this.statusColor = 'status-val-done'; - } - } - }).catch((err) => { - - }); - - } - }, - } -</script> -<style lang="less" scoped> - .showbtn{ - width: 60%; - background: @c-default; - color: #fff; - position: absolute; - bottom: 15px; - } - .yzmbox{ - box-sizing: border-box; - width: 280px; - height: 225px; - position: relative; - overflow: hidden; - // background: #f5f5f5; - .flex('', center, center, column); - text-align: center; - border-radius: 6px; - background: #fff; - padding-top: 34px; - &-close{ - color: #999; - font-size: 16px; - position: absolute; - right: 8px; - top: 8px; - } - &-contnet{ - margin-top: 11px; - color: #999; - font-size: 14px; - &-yzm{ - .flex(center, center); - // font-size: 14px; - span{ - font-size: 14px; - // color: #999; - } - - } - &-get{ - width: 80%; - margin: 0 10%; - margin-top: 30px; - .flex(space-between, center); - input{ - border: none; - width: 45%; - background: #fff; - height: 30px; - } - &-yzm{ - color: @c-default; - } - } - } - } - .yzmOkbox{ - box-sizing: border-box; - width: 280px; - height: 225px; - position: relative; - overflow: hidden; - .flex(center, center,'',column); - &-img{ - width: 90px; - height: 90px; - img{ - width: 100%; - height: 100%; - } - } - p{ - font-size: 16px; - color: #000; - margin-top: 16px; - } - } - .status-val-done { - color:#19BE6B; - } - .status-val-refund { - color:#FF9900; - } - .status-val-wait { - color:#FF9900; - } - .status-val-error { - color:#ED4014; - } - .hb-detail-box { - padding-top: 44px; - background-color: @c-bg-f5; - .content{ - padding: 10px 8px; - } - .cell-group { - margin-bottom: 10px; - } - } - .status { - text-align: center; - padding: 15px 0; - margin-bottom: 15px; - .info { - margin-top: 10px; - } - - .price { - font-size: 26px; - color: @c-text-default; - } - } - .btn{ - width: 320px; - background: @c-bg-default; - color: @c-text-fff; - display: block; - margin: 30px auto; - } -</style> diff --git a/src/views/product/gjzj-detail.vue b/src/views/product/gjzj-detail.vue deleted file mode 100644 index ed1848c..0000000 --- a/src/views/product/gjzj-detail.vue +++ /dev/null @@ -1,118 +0,0 @@ -<!-- - * @Author: 小明丶 - * @Date: 2019-08-19 16:20:48 - * @LastEditors: 小明丶 - * @LastEditTime: 2019-09-06 15:36:43 - * @Description: 购机直降——订单详情 - --> -<template> - <div class="hb-detail-box h-100-g"> - <v-navbar title="订单详情" fixed></v-navbar> - <div class="content"> - <div class="cell-group"> - <van-cell title='客户信息' readonly isTitle></van-cell> - <van-cell :value="form.userName" title='用户名称' readonly ></van-cell> - <van-cell :value="form.mblNo" title='手机号' readonly ></van-cell> - <van-cell :value="form.statusStr" :value-class="statusColor" title='订单状态' readonly ></van-cell> - </div> - - <div class="cell-group"> - <van-cell title='合约信息' readonly isTitle></van-cell> - <van-cell :value="form.contName" title='合约套餐' readonly ></van-cell> - <van-cell :value="form.settAmt + '元'" title='结算金额' readonly ></van-cell> - <van-cell :value="form.monthlyFees+ '元'" title='月缴话费' readonly ></van-cell> - <van-cell :value="form.monthlyPayments+ '元'" title='月还款额' readonly ></van-cell> - <van-cell :value="form.insTermStr" title='期数' readonly ></van-cell> - </div> - - <div class="cell-group"> - <van-cell title='商品信息' readonly isTitle></van-cell> - <van-cell :value="form.goodsBrand" title='品牌' readonly ></van-cell> - <van-cell :value="form.goodsName" title='名称' readonly ></van-cell> - <van-cell :value="form.goodsModel" title='型号' readonly ></van-cell> - <van-cell :value="form.goodsPrice +'元'" title='价格' readonly ></van-cell> - <van-cell :value="form.goodsImei" title='IMEI' readonly ></van-cell> - </div> - - <div class="cell-group" > - <van-cell :value="form.chanName || '无'" title='办理渠道' readonly></van-cell> - <van-cell :value="form.merName || '无'" title='办理商户' readonly></van-cell> - <van-cell :value="form.storeName || '无'" title='办理门店' readonly></van-cell> - <van-cell :value="form.recordPerson || '无'" title='办单员' readonly></van-cell> - </div> - </div> - - <!-- <f-button class="btn-upload" v-if="orderInfo.uploadBtn == 1" @on-click="$router.push(`/contract-order-upload/${orderInfo.orderId}`)" >上传合约凭证</f-button> --> - <van-button class="btn" v-if="form.uploadBtn == 1" @click="go">上传合约凭证</van-button> - </div> -</template> - -<script> - export default { - data(){ - - return { - form:{}, - statusColor:'' - } - }, - created(){ - this.init() - }, - methods:{ - init() { - this.$api.getGjzjDetail(this.$route.query.id).then(res => { - this.form = res.body; - if(this.form) { - if (this.form.status == 1) { - this.statusColor = 'status-val-done'; - } else if (this.form.status == 2) { - this.statusColor = 'status-val-error'; - } else if (this.form.status == 6) { - this.statusColor = 'status-val-wait'; - } else if (this.form.status == 0) { - this.statusColor = 'status-val-wait'; - } - } - }) - }, - // 跳转到上传合约凭证页面 - go(){ - this.$router.push(`/contract-order-upload/${this.form.orderId}`) - }, - } - } -</script> -<style lang="less" scoped> - .status-val-done { - color:#19BE6B; - } - .status-val-refund { - color:#FF9900; - } - .status-val-wait { - color:#FF9900; - } - .status-val-error { - color:#ED4014; - } - .hb-detail-box { - padding-top: 44px; - background-color: @c-bg-f5; - - .content { - padding: 10px 8px; - } - - .cell-group { - margin-bottom: 10px; - } - } - .btn{ - width: 320px; - background: @c-bg-default; - color: @c-text-fff; - display: block; - margin: 30px auto; - } -</style> diff --git a/src/views/product/gzzj-detail.vue b/src/views/product/gzzj-detail.vue deleted file mode 100644 index 844ac13..0000000 --- a/src/views/product/gzzj-detail.vue +++ /dev/null @@ -1,146 +0,0 @@ -<!-- - * @Author: 小明丶 - * @Date: 2019-08-19 16:20:48 - * @LastEditors: 小明丶 - * @LastEditTime: 2019-09-06 15:38:14 - * @Description: 购机直降——订单详情 - --> -<template> - <div class="hb-detail-box h-100-g"> - <v-navbar title="订单详情" fixed></v-navbar> - <div class="content"> - <group title="合约信息"> - <van-cell title="合约套餐" :value="form.contName"></van-cell> - <van-cell title="直降金额" :value="form.strDownAmt"></van-cell> - <van-cell title="电子券金额" :value="form.eleBondAmt"></van-cell> - <van-cell title="月缴话费" :value="form.monthConsAmt"></van-cell> - <van-cell title="期数" :value="form.term"></van-cell> - </group> - <group title="商品信息"> - <van-cell title="设备类型" :value="form.deviceType"></van-cell> - <van-cell title="品牌" :value="form.goodsBrand"></van-cell> - <van-cell title="名称" :value="form.goodsName"></van-cell> - <van-cell title="价格" :value="form.goodsPrice"></van-cell> - <van-cell title="IMEI/SN" :value="form.goodsImei||form.snCode"></van-cell> - </group> - <group title="订单信息"> - <van-cell title="订单号" :value="form.orderId"></van-cell> - <van-cell title="订单状态" :value="form.status"></van-cell> - <van-cell title="用户姓名" :value="form.userName"></van-cell> - <van-cell title="合约手机号" :value="form.mblNo"></van-cell> - <van-cell v-if="form.applyTime" title="申请日期" :value="form.applyTime | timeformat('yyyy-MM-dd HH:mm:ss')"></van-cell> - <van-cell v-if="form.signTime" title="签约日期" :value="form.signTime | timeformat('yyyy-MM-dd HH:mm:ss')"></van-cell> - </group> - <group title="照片信息"> - <div class="content_item fl_flex fl_row" @click="enterPics"> - <div>相关图片</div> - <van-icon name="arrow" /> - </div> - </group> - </div> - </div> -</template> - -<script> - import Vue from "vue"; - import { Dialog } from "vant"; - import { - dateFormat - } from 'vux' - Vue.use(Dialog); - export default { - data(){ - return { - form:{}, - canRefund: 0, - orderId: this.$route.query.id, - showModal: false - } - }, - created(){ - this.init() - }, - methods:{ - init() { - this.$api.getGzzjDetail(this.$route.query.id).then(res => { - this.form = res.body; - this.canRefund = res.body.canRefund; - }); - }, - enterPics() { - sessionStorage.pics = JSON.stringify(this.form.gzzjPicUrlVoList) - let queryObj = JSON.stringify(this.form.gzzjPicUrlVoList) - this.$router.push({ - path: '/product/gzzj_order_detail_pics', - query:queryObj - }) - } - } - } -</script> -<style lang="less" scoped> - .status-val-done { - color:#19BE6B; - } - .status-val-refund { - color:#FF9900; - } - .status-val-wait { - color:#FF9900; - } - .status-val-error { - color:#ED4014; - } - .hb-detail-box { - padding-top: 44px; - background-color: @c-bg-f5; - - .content { - padding: 10px 8px; - } - - .van-cell-group { - margin-bottom: 10px; - } - } - .btn{ - width: 320px; - background: @c-bg-default; - color: @c-text-fff; - display: block; - margin: 30px auto; - } - .btn-return { - width: 84%; - margin: 0 8%; - background: @c-default; - color: @c-text-fff; - display: block; - margin-top: 15px; - } - .content_item { - width: 100%; - min-height: 39px; - padding-right: 20px; - padding-left: 10px; - margin: 10px; - margin-top: 20px; - border-bottom: 1px solid #F1F1F1; - justify-content: space-between; - box-sizing: border-box; - position: relative; - display: flex; - div:nth-child(1) { - width: 35%; - } - div:nth-child(2) { - width: 60%; - text-align: right; - word-break:break-all; - span { - display: inline-block; - text-align: left; - } - } - } -</style> diff --git a/src/views/product/gzzj_order_detail_pics.vue b/src/views/product/gzzj_order_detail_pics.vue deleted file mode 100644 index 0c0a57e..0000000 --- a/src/views/product/gzzj_order_detail_pics.vue +++ /dev/null @@ -1,82 +0,0 @@ - -<template> - <div class="hb-detail-box h-100-g"> - <v-navbar title="订单详情" fixed></v-navbar> - <div class="order_detail_pics fl_flex"> - <van-nav-bar :fixed="true"> - <template #left> - <i class="iconfont iconzuojiantou" style="font-size: 24px" @click="back"></i> - </template> - <template #title> - <span class="header-title">相关图片</span> - </template> - </van-nav-bar> - <div class="imgs fl_flex fl_row fl_wrap" @click="bigImg"> - <img :src="item" alt="" v-for="(item,index) in list" :key="index"> - </div> - </div> - </div> -</template> - -<script> - - import { NavBar } from 'vant'; - Vue.use(NavBar); - import { ImagePreview } from 'vant'; - Vue.use(ImagePreview) - export default { - name: 'order_detail_pics', - data() { - return { - list: [] - } - }, - created() { - // let src = 'https://t.finlean.com' - let src = `https://${window.location.host}`; - this.list = JSON.parse(sessionStorage.getItem('pics')).map((item,index) => { - return `${src}/${item.path}` - }) - }, - methods: { - back() { - this.$router.go(-1) - }, - bigImg() { - ImagePreview(this.list); - } - } - } -</script> -<style lang="less"> - .order_detail_pics{ - width: 100%; - height: 100%; - background: #F5F5F7; - .imgs { - width: 100%; - margin-top: 40px; - padding: 10px 10px; - box-sizing: border-box; - justify-content: flex-start; - img { - width: 22vw; - height: 22vw; - margin-top: 5px; - margin-right: 6px; - } - } - } - .hb-detail-box { - padding-top: 44px; - background-color: @c-bg-f5; - - .content { - padding: 10px 8px; - } - - .van-cell-group { - margin-bottom: 10px; - } - } -</style> diff --git a/src/views/product/hb-detail.vue b/src/views/product/hb-detail.vue deleted file mode 100644 index 4c8916f..0000000 --- a/src/views/product/hb-detail.vue +++ /dev/null @@ -1,382 +0,0 @@ -<!-- - * @Author: 小明丶 - * @Date: 2019-08-19 16:20:48 - * @LastEditors: 小明丶 - * @LastEditTime: 2020-12-09 20:32:32 - * @Description: 花呗分期——订单详情 - --> -<template> - <div class="hb-detail-box h-100-g"> - <v-navbar title="订单详情" fixed></v-navbar> - <div class="content"> - <div class="cell-group"> - <van-cell :value="form.userName" title='用户名称' readonly></van-cell> - <van-cell :value="form.mblNo" title='手机号' readonly></van-cell> - <!-- <van-cell :value="form.aliAccount.replace(/(\d{3})\d*(\d{2})/,'$1xxxxxx$2')" title='用户支付宝账号' readonly></van-cell> --> - <van-cell v-if="form.aliAccount" :value="form.aliAccount" title='用户支付宝账号' readonly></van-cell> - </div> - - <div class="cell-group"> - <van-cell :value="form.platRate" title='智享服务费率' readonly></van-cell> - <van-cell :value="form.zfbRate" title='花呗分期手续费率' readonly></van-cell> - <van-cell :value="form.settAmt" title='分期本金' readonly></van-cell> - <van-cell :value="form.insTerm" title='分期期数' readonly></van-cell> - <van-cell :value="form.insAmt" title='还款总额' readonly></van-cell> - <van-cell v-if="form.dealTime" :value="form.dealTime | timeformat('yyyy-MM-dd')" title='交易时间' readonly></van-cell> - <van-cell v-else title='交易时间' readonly></van-cell> - <van-cell :value="form.goodsBrand" title='商品品牌' readonly></van-cell> - <van-cell :value="form.goodsName" title='商品名称' readonly></van-cell> - <van-cell :value="form.statusStr" :value-class="statusColor" title='订单状态' readonly></van-cell> - <van-cell :value="form.zfbVersionName" title='办单通道' readonly></van-cell> - <van-cell :value="form.payTypeName" title='支付方式' readonly></van-cell> - </div> - - <div class="cell-group" > - <van-cell :value="form.chanName || '无'" title='办理渠道' readonly></van-cell> - <van-cell :value="form.merName || '无'" title='办理商户' readonly></van-cell> - <van-cell :value="form.storeName || '无'" title='办理门店' readonly></van-cell> - <van-cell :value="form.recordPerson || '无'" title='办单员' readonly></van-cell> - </div> - - <!-- <div class="cell-group"> - <van-cell :value="form.rate + '%'" title='费率' readonly></van-cell> - </div> --> - </div> - <!-- 短信验证码弹窗 --> - <van-popup v-model="yzmShow"> - <div class="yzmbox"> - <van-icon name="cross" class="yzmbox-close" @click="yzmShow = false" /> - <p style="font-size:16px;color:#000;">请输入短信验证码</p> - <div class="yzmbox-contnet"> - <div class="yzmbox-contnet-yzm"> - <span>将发送到手机号:</span> - <span>{{userinfo.mblNo.replace(/(\d{3})\d*(\d{4})/, '$1****$2') }}</span> - </div> - </div> - <div class="yzmbox-contnet-get"> - <input type="text" v-model="yzmVal" placeholder="请输入验证码"> - <span class="yzmbox-contnet-get-yzm" @click="getYzm">{{ yzmText }}</span> - </div> - <van-button class="showbtn" :color="$store.state.backColor" round @click="yzmYes">确认</van-button> - </div> - </van-popup> - <!-- 退单成功弹窗 --> - <van-popup v-model="yzmOkShow"> - <div class="yzmOkbox"> - <van-icon name="cross" class="yzmbox-close" @click="yzmOkShow = false" /> - <div class="yzmOkbox-img"> - <img src="../../assets/img/tkimg.png" alt=""> - </div> - <p>退款成功</p> - </div> - </van-popup> - <footer class="footer flex-center-g"> - <van-button class="btn" :color="$store.state.backColor" v-if="hasHjBackUrl" @click="goHj">返回红茄</van-button> - <van-button class="btn" :color="$store.state.backColor" v-if="form.refundStatus==1&&hasHjTokenGetRefBtn" @click="refund">退款</van-button> - <van-button class="btn" :color="$store.state.backColor" v-if="form.status==0&&form.payTypeName!='反扫'" @click="showCode">显示支付二维码</van-button> - </footer> - - </div> -</template> - -<script> - import { - mapState - } from 'vuex'; - import Vue from 'vue'; - import { Notify } from 'vant'; - - Vue.use(Notify); - export default { - data() { - return { - // typeId: this.$route.query.typeId, - Open: true, //倒计时开关 - yzmText:'获取验证码', - yzmOkShow: false, - yzmVal: '', - yzmShow: false, //获取验证码弹窗 - form: {}, - statusColor:'', - hasHjBackUrl:false, - backUrl:'' - } - }, - computed: { - payTypeStr(){ - if(this.form.payType == 1){ - return '正选' - } - if(this.form.payType == 2){ - return '反选' - } - }, - id() { - return this.$route.query.id - }, - typeId() { - return this.$route.query.typeId - }, - // hasHjBackUrl(){ - // if(sessionStorage.hjBackUrl!='null' && sessionStorage.hjBackUrl){ - // return true - // }else{ - // return false - // } - // }, - hasHjTokenGetRefBtn(){ - if(typeof localStorage.hjToken !='undefined' && localStorage.hjToken){ - return false - }else{ - return true - } - }, - ...mapState(['userinfo']) - }, - created() { - this.init() - console.log(this.typeId) - }, - methods: { - goHj(){ - //console.log(this.$route.query.backUrl.split('https')) - location.href=sessionStorage.hjBackUrl - }, - //验证码弹窗确认事件 - yzmYes() { - // console.log(this.yzmVal) - if(this.yzmVal == '' || this.yzmVal == null){ - Notify({ type: 'danger', message: '验证码为空!' }); - } else { - this.$api.hbOrderRefund({orderId:Number(this.id), verCode:this.yzmVal}).then(() => { - // this.$router.replace(`/product/dmf-detail?id=${this.orderId}`) - this.$notify('退款成功') - this.yzmShow = false; - this.yzmVal = '', - this.yzmOkShow = true; - setTimeout(() => { - location.reload() - }, 700); - }) - - } - }, - //获取验证码 - getYzm() { - let sendParams = { - // mblNo: this.userinfo.mblNo, - mblNo: this.userinfo.mblNo, - verCodeType: 11, - }; - if(this.typeId != 200002) { - sendParams.verCodeType =11; - } - if(this.Open) { - this.$api.userSendMsg(sendParams).then(res => { - console.log(res.body) - this.Open = false - let num = 60; - this.yzmText = num + '秒后重发'; - let _this = this - let timer = setInterval(() => { - num--; - // _this.$set(_this.yzmText = num + 's重发') - if(num === 0) { - clearInterval(timer); - _this.Open = true; - _this.yzmText = '重新发送'; - } else { - _this.yzmText = num + '秒后重发'; - } - },1000) - }).catch(()=>{ - this.Open = true; - }) - } - }, - init() { - this.$api.getHBDetail(this.id).then((res) => { - this.form = res.body || {}; - - if(res.body.backUrl !='null' && res.body.backUrl){ - this.hasHjBackUrl = true - this.backUrl = res.body.backUrl - }else{ - this.hasHjBackUrl = false - } - if(this.form) { - if (this.form.status == 1) { - this.statusColor = 'status-val-done'; - } else if (this.form.status == 2) { - this.statusColor = 'status-val-error'; - } else if (this.form.status == 3) { - this.statusColor = 'status-val-refund'; - } else if (this.form.status == 0) { - this.statusColor = 'status-val-wait'; - } else { - this.statusColor = 'status-val-done'; - } - } - }).catch((err) => { - - }); - }, - //退款 - refund() { - this.$dialog.confirm({ - message: '是否确认退款' - }).then(() => { - this.yzmShow = true - // this.$api.hbOrderRefund(this.id).then((res) => { - // if (res.errorCode == 0) { - // this.$notify('退款成功'); - // this.$router.back(); - // } - // }).catch((err) => { - - // }); - }).catch(() => { - // on cancel - }); - // this - - }, - //展示二维码 - showCode() { - if (this.form.payCode) { - window.sessionStorage.setItem("hbpayQrCodeUrl", this.form.payCode); - let queryObj = { - payQrCodeUrl:this.form.payCode, - orderId: this.form.orderId, - totalAmount: this.form.insAmt, - term: this.form.insTerm, - typeId:this.typeId || '', - platRate:this.form.platRate, - zfbRate:this.form.zfbRate, - backUrl:this.backUrl, - capitalAmt:this.form.settAmt - } - this.$router.push({ - path: "/hb-getHBQRCode", - query: queryObj - }) - } - } - }, - } -</script> -<style lang="less" scoped> - .showbtn{ - width: 60%; - background: @c-default; - color: #fff; - position: absolute; - bottom: 15px; - } - .yzmbox{ - box-sizing: border-box; - width: 280px; - height: 225px; - position: relative; - overflow: hidden; - // background: #f5f5f5; - .flex('', center, center, column); - text-align: center; - border-radius: 6px; - background: #fff; - padding-top: 34px; - &-close{ - color: #999; - font-size: 16px; - position: absolute; - right: 8px; - top: 8px; - } - &-contnet{ - margin-top: 11px; - color: #999; - font-size: 14px; - &-yzm{ - .flex(center, center); - // font-size: 14px; - span{ - font-size: 14px; - // color: #999; - } - - } - &-get{ - width: 80%; - margin: 0 10%; - margin-top: 30px; - .flex(space-between, center); - input{ - border: none; - width: 45%; - background: #fff; - height: 30px; - } - &-yzm{ - color: @c-default; - } - } - } - } - .yzmOkbox{ - box-sizing: border-box; - width: 280px; - height: 225px; - position: relative; - overflow: hidden; - .flex(center, center,'',column); - &-img{ - width: 90px; - height: 90px; - img{ - width: 100%; - height: 100%; - } - } - p{ - font-size: 16px; - color: #000; - margin-top: 16px; - } - } - .status-val-done { - color:#19BE6B; - } - .status-val-refund { - color:#FF9900; - } - .status-val-wait { - color:#FF9900; - } - .status-val-error { - color:#ED4014; - } - .hb-detail-box { - padding-top: 44px; - background-color: @c-bg-f5; - - .content { - padding: 10px 8px; - } - - .cell-group { - margin-bottom: 10px; - } - } - - .footer { - padding-bottom: 30px; - margin: 0 8px; - background-color: @c-bg-f5; - - .btn { - width: 50%; - color: @c-text-fff; - background-color: @c-bg-default; - } - } -</style> diff --git a/src/views/product/hbhy-detail.vue b/src/views/product/hbhy-detail.vue deleted file mode 100644 index bd51d61..0000000 --- a/src/views/product/hbhy-detail.vue +++ /dev/null @@ -1,393 +0,0 @@ -<!-- - * @Author: 小明丶 - * @Date: 2019-10-21 17:19:32 - * @LastEditors: 小明丶 - * @LastEditTime: 2020-11-16 10:54:36 - * @Description: - --> -<template> - <div class="hbhy-big-box"> - <!-- <van-nav-bar title="办理套餐" left-arrow @click-left="onClickLeft" /> --> - <!-- <x-header title="办理套餐" :left-options="{backText:''}"></x-header> --> - <v-navbar title="办理套餐" fixed></v-navbar> - <div class="color-box"></div> - <div class="user-information"> - <div class="tit"> - <p>用户信息</p> - </div> - <div class="user-name"> - <van-field - v-model="userName" - label="用户姓名" - placeholder="请输入用户姓名" - input-align="right" - label-class="input-text" - style="font-size: 14px; - color: rgba(102, 102, 102, 1); - font-family:PingFang SC;" - /> - </div> - <div class="user-number"> - <van-field - v-model="userNumber" - maxlength="11" - label="入网号码" - placeholder="请输入用户入网号码" - input-align="right" - label-class="input-text" - style="font-size: 14px; - color: rgba(102, 102, 102, 1); - font-family:PingFang SC;" - /> - </div> - <div class="user-number"> - <van-field - v-model="tradeName" - label="商品名称" - placeholder="请输入商品名称" - input-align="right" - label-class="input-text" - style="font-size: 14px; - color: rgba(102, 102, 102, 1); - font-family:PingFang SC;" - /> - </div> - </div> - <div class="package-information"> - <div class="tit"> - <p>套餐信息</p> - </div> - <div class="package-tariff"> - <van-field - class="myStyle" - disabled - custom-style="color:#333333" - v-model="query.packageTariff" - label="套餐资费" - placeholder="请输入套餐资费" - input-align="right" - label-class="input-text" - style="font-size: 14px; - color: rgba(102, 102, 102, 1); - font-family:PingFang SC;" - /> - </div> - <div class="total-repayment"> - <van-field - class="myStyle" - disabled - v-model="query.totalRepayment" - label="总还款额" - placeholder="请输入总还款额" - input-align="right" - label-class="input-text" - style="font-size: 14px; - color: rgba(102, 102, 102, 1); - font-family:PingFang SC;" - /> - </div> - <div class="monthly-repayment"> - <van-field - class="myStyle" - disabled - v-model="query.monthlyRepayment" - label="每月还款" - placeholder="请输入每月还款" - input-align="right" - label-class="input-text" - style="font-size: 14px; - color: rgba(102, 102, 102, 1); - font-family:PingFang SC;" - /> - </div> - <div class="trim"> - <van-field - class="myStyle" - disabled - v-model="query.trim" - label="还款期数" - placeholder="请输入还款期数" - input-align="right" - label-class="input-text" - style="font-size: 14px; - color: rgba(102, 102, 102, 1); - font-family:PingFang SC;" - /> - </div> - <div class="merchant-arrival"> - <van-field - disabled - v-model="query.merchantArrival" - label="商户到账" - placeholder="请输入商户到账" - input-align="right" - label-class="input-text" - style="font-size: 14px; - color: rgba(102, 102, 102, 1); - font-family:PingFang SC;" - /> - <van-field - disabled - v-model="platRatePr" - label="智享服务费率" - label-width="150px" - placeholder="请输入智享服务费率" - input-align="right" - label-class="input-text" - style="font-size: 14px; - color: rgba(102, 102, 102, 1); - font-family:PingFang SC;" - /> - <van-field - disabled - v-model="zfbRatePr" - label="花呗分期手续费率" - label-width="150px" - placeholder="请输入花呗分期手续费率" - input-align="right" - label-class="input-text" - style="font-size: 14px; - color: rgba(102, 102, 102, 1); - font-family:PingFang SC;" - /> - </div> - </div> - <van-button - round - type="default" - color="#896EDB" - style="margin-left:10%;margin-top:120px;width:80%;background:#896EDB;color:#fff" - @click="createdQRCode" - >生成二维码</van-button> - <Vdialog @cancel="cancel" :show="showDia"></Vdialog> - </div> -</template> -<script> -import Vue from "vue"; -import { NavBar } from "vant"; -import { Field } from "vant"; -import { Button } from "vant"; -import { Notify } from "vant"; -import Vdialog from "@/components/common/v-dialog.vue"; -Vue.use(Notify); -Vue.use(Button); -Vue.use(Field); -Vue.use(NavBar); -export default { - components:{ - Vdialog - }, - data() { - return { - showDia:false, - query: { - zfbRate:'', - platRate:'', - merchantArrival: "", //商户到账 - trim: "", //分期期数 - monthlyRepayment: "", //每月还款 - totalRepayment: "", //总还款额 - packageTariff: "", //套餐资费 - contId: "", //套餐id - contName: "" //套餐名称 - }, - userName: "", //用户名 - userNumber: "", //用户手机号 - tradeName: "" //商品名称 - }; - }, - computed:{ - zfbRatePr(){ - if(this.query.zfbRate){ - return this.query.zfbRate + '%' - }else{ - return '' - } - - }, - platRatePr(){ - if(this.query.platRate){ - return this.query.platRate + '%' - }else{ - return '' - } - - } - }, - created(){ - if(sessionStorage.hb_session_info&&this.$route.query.isCreateOrderPush){ - let hb_session_info = JSON.parse(sessionStorage.hb_session_info) - this.tradeName=hb_session_info.tradeName - this.userName=hb_session_info.userName - this.userNumber=hb_session_info.userNumber - } - }, - mounted() { - this.query = this.$route.query; - console.log(this.query); - }, - methods: { - cancel(val){ - this.showDia = val - }, - onClickLeft() { - this.$router.go(-1); - }, - createdQRCode() { - if ( - this.userName == "" || - this.userNumber == "" || - this.tradeName == "" - ) { - Notify({ type: "primary", message: "姓名、入网号码、商品名称不能为空" }); - return; - } - let hb_session_info = { - userName:this.userName, - userNumber:this.userNumber, - tradeName:this.tradeName - } - sessionStorage.hb_session_info=JSON.stringify(hb_session_info) - - let params = { - contId: this.query.contId, - goodsName: this.tradeName, - userName: this.userName, - userMblNo: this.userNumber, - zfbVersion: this.$route.query.zfbVersion - }; - this.$api.hbhyjCreate(params).then(res => { - let body = res.body; - this.orderId = body.orderId; - this.payQrCodeUrl = body.payQrCodeUrl; - this.totalAmount = body.totalAmount; - // this.trial.repayPerMonth = body.repayPerMonth; - // this.trial.feeRate = body.feeRate; - this.zfbRate = body.zfbRate - this.platRate = body.platRate - this.capitalAmt = body.capitalAmt - this.showConfirm = true; - if (body.payQrCodeUrl) { - sessionStorage.setItem("hbpayQrCodeUrl", body.payQrCodeUrl); - } - this.$router.push({ - path: "/hb-getHBQRCode", - query: { - orderId: body.orderId, - payQrCodeUrl: body.payQrCodeUrl, - totalAmount: body.totalAmount, - term: this.query.trim, - typeId: this.query.typeId || "", - zfbRate: this.zfbRate, - platRate: this.platRate, - capitalAmt:this.capitalAmt - } - }); - },err=>{ - if(err.errorCode === 30006007){ - console.log(111) - this.showDia = true - } - }); - } - } -}; -</script> -<style lang="less" scoped> -.hbhy-big-box { - & { - position: relative; - background-color: #f5f5f5; - height: auto; - padding-bottom: 70px; - } - .color-box { - width: 100%; - height: 260px; - background: linear-gradient( - 180deg, - rgba(85, 78, 128, 1), - rgba(66, 61, 93, 1) - ); - } - .user-information { - & { - position: absolute; - width: 90%; - //height: 220px; - background-color: white; - left: 5%; - top: 98px; - border-radius: 6px; - } - div { - height: 50px; - width: 100%; - border-bottom: 1px solid #f5f5f5; - } - .tit { - p { - color: #333333; - font-size: 16px; - font-weight: bold; - line-height: 50px; - margin-left: 5px; - } - p::before { - width: 3px; - height: 16px; - content: ""; - background: rgba(137, 110, 219, 1); - border-radius: 0px 3px 0px 3px; - // left: -8px; - // top: 24px; - // position: absolute; - display: inline-block; - margin-right: 5px; - } - } - } - .package-information { - & { - width: 90%; - height: 302px; - background-color: white; - margin: auto; - margin-top: 65px; - border-radius:6px; - } - div:not(:last-child) { - height: 50px; - width: 100%; - border-bottom: 1px solid #f5f5f5; - } - /deep/ .van-field__control:disabled { - //color: #333333; - -webkit-text-fill-color: #333333!important; - background-color: transparent; - opacity: 1; - } - .tit { - p { - color: #333333; - font-size: 16px; - font-weight: bold; - line-height: 50px; - margin-left: 5px; - } - p::before { - width: 3px; - height: 16px; - content: ""; - background: rgba(137, 110, 219, 1); - border-radius: 0px 3px 0px 3px; - // left: -8px; - // top: 24px; - // position: absolute; - display: inline-block; - margin-right: 5px; - } - } - } -} -</style> diff --git a/src/views/product/hbjl-detail.vue b/src/views/product/hbjl-detail.vue deleted file mode 100644 index 24190f4..0000000 --- a/src/views/product/hbjl-detail.vue +++ /dev/null @@ -1,339 +0,0 @@ -<!-- - * @Author: 小明丶 - * @Date: 2019-08-19 16:20:48 - * @LastEditors: 小明丶 - * @LastEditTime: 2020-06-13 16:44:11 - * @Description: 花呗间联——订单详情 - --> -<template> - <div class="hbjl-detail-box h-100-g"> - <v-navbar title="订单详情" fixed></v-navbar> - <div class="content"> - <div class="cell-group"> - <van-cell :value="form.userName" title='用户名称' readonly></van-cell> - <van-cell :value="form.mblNo" title='联系方式' readonly></van-cell> - <!-- <van-cell :value="form.aliAccount.replace(/(\d{3})\d*(\d{2})/,'$1xxxxxx$2')" title='用户支付宝账号' readonly></van-cell> --> - <van-cell v-if="form.aliAccount" :value="form.aliAccount" title='银行卡账户' readonly></van-cell> - </div> - - <div class="cell-group"> - <van-cell :value="form.userAmt" title='到账金额' readonly></van-cell> - <van-cell :value="form.insAmt" title='还款金额' readonly></van-cell> - <!-- <van-cell :value="form.insAmt" title='还款总额' readonly></van-cell> --> - <van-cell v-if="form.dealTime" :value="form.dealTime | timeformat('yyyy-MM-dd')" title='交易日期' readonly></van-cell> - <van-cell v-else title='交易时间' readonly></van-cell> - <van-cell :value="form.insTermStr" title='期数' readonly></van-cell> - <van-cell :value="form.statusStr" :value-class="statusColor" title='订单状态' readonly></van-cell> - <van-cell :value="form.orderId" title='订单号' readonly></van-cell> - </div> - - <div class="cell-group" > - <van-cell :value="form.chanName || '无'" title='办理渠道' readonly></van-cell> - <van-cell :value="form.merName || '无'" title='办理商户' readonly></van-cell> - <van-cell :value="form.storeName || '无'" title='办理门店' readonly></van-cell> - <van-cell :value="form.recordPerson || '无'" title='办单员' readonly></van-cell> - </div> - </div> - <!-- 短信验证码弹窗 --> - <van-popup v-model="yzmShow"> - <div class="yzmbox"> - <van-icon name="cross" class="yzmbox-close" @click="yzmShow = false" /> - <p style="font-size:16px;color:#000;">请输入短信验证码</p> - <div class="yzmbox-contnet"> - <div class="yzmbox-contnet-yzm"> - <span>将发送到手机号:</span> - <span>{{userinfo.mblNo.replace(/(\d{3})\d*(\d{4})/, '$1****$2') }}</span> - </div> - </div> - <div class="yzmbox-contnet-get"> - <input type="text" v-model="yzmVal" placeholder="请输入验证码"> - <span class="yzmbox-contnet-get-yzm" @click="getYzm">{{ yzmText }}</span> - </div> - <van-button class="showbtn" round @click="yzmYes">确认</van-button> - </div> - </van-popup> - <!-- 退单成功弹窗 --> - <van-popup v-model="yzmOkShow"> - <div class="yzmOkbox"> - <van-icon name="cross" class="yzmbox-close" @click="yzmOkShow = false" /> - <div class="yzmOkbox-img"> - <img src="../../assets/img/tkimg.png" alt=""> - </div> - <p>退款成功</p> - </div> - </van-popup> - <!-- <footer class="footer flex-center-g"> - <van-button class="btn" v-if="form.refundStatus==1" @click="refund">退款</van-button> - <van-button class="btn" v-if="form.status==0" @click="showCode">显示支付二维码</van-button> - </footer> --> - - </div> -</template> - -<script> - import { - mapState, - mapGetters - } from 'vuex'; - import Vue from 'vue'; - import { Notify } from 'vant'; - - Vue.use(Notify); - export default { - data() { - return { - // typeId: this.$route.query.typeId, - Open: true, //倒计时开关 - yzmText:'获取验证码', - yzmOkShow: false, - yzmVal: '', - yzmShow: false, //获取验证码弹窗 - form: {}, - statusColor:'' - } - }, - computed: { - ...mapState(['userinfo']), - ...mapGetters(['orgType']), - id() { - return this.$route.query.id - }, - typeId() { - return this.$route.query.typeId - }, - }, - created() { - this.init() - console.log(this.typeId) - }, - methods: { - //验证码弹窗确认事件 - yzmYes() { - // console.log(this.yzmVal) - if(this.yzmVal == '' || this.yzmVal == null){ - Notify({ type: 'danger', message: '验证码为空!' }); - } else { - this.$api.hbOrderRefund({orderId:Number(this.id), verCode:this.yzmVal}).then(() => { - // this.$router.replace(`/product/dmf-detail?id=${this.orderId}`) - this.$notify('退款成功') - this.yzmShow = false; - this.yzmVal = '', - this.yzmOkShow = true; - setTimeout(() => { - location.reload() - }, 700); - }) - - } - }, - //获取验证码 - getYzm() { - let sendParams = { - // mblNo: this.userinfo.mblNo, - mblNo: this.userinfo.mblNo, - verCodeType: 11, - }; - if(this.typeId != 200002) { - sendParams.verCodeType =11; - } - if(this.Open) { - this.$api.userSendMsg(sendParams).then(res => { - console.log(res.body) - this.Open = false - let num = 60; - this.yzmText = num + '秒后重发'; - let _this = this - let timer = setInterval(() => { - num--; - // _this.$set(_this.yzmText = num + 's重发') - if(num === 0) { - clearInterval(timer); - _this.Open = true; - _this.yzmText = '重新发送'; - } else { - _this.yzmText = num + '秒后重发'; - } - },1000) - }).catch(()=>{ - this.Open = true; - }) - } - }, - init() { - console.log(111) - this.$api.hbjlOrderOrderDtl({ - orderId:this.id - }).then((res) => { - this.form = res.body || {}; - if(this.form) { - if (this.form.status == 1) { - this.statusColor = 'status-val-done'; - } else if (this.form.status == 2) { - this.statusColor = 'status-val-error'; - } else if (this.form.status == 3) { - this.statusColor = 'status-val-refund'; - } else if (this.form.status == 0) { - this.statusColor = 'status-val-wait'; - } else { - this.statusColor = 'status-val-done'; - } - } - }).catch((err) => { - - }); - }, - //退款 - refund() { - this.$dialog.confirm({ - message: '是否确认退款' - }).then(() => { - this.yzmShow = true - // this.$api.hbOrderRefund(this.id).then((res) => { - // if (res.errorCode == 0) { - // this.$notify('退款成功'); - // this.$router.back(); - // } - // }).catch((err) => { - - // }); - }).catch(() => { - // on cancel - }); - // this - - }, - //展示二维码 - showCode() { - if (this.form.payCode) { - window.sessionStorage.setItem("hbpayQrCodeUrl", this.form.payCode); - let queryObj = { - payQrCodeUrl:this.form.payCode, - orderId: this.form.orderId, - totalAmount: this.form.insAmt, - term: this.form.insTerm, - typeId:this.typeId || '' - } - this.$router.push({ - path: "/hb-getHBQRCode", - query: queryObj - }) - } - } - }, - } -</script> -<style lang="less" scoped> - .showbtn{ - width: 60%; - background: @c-default; - color: #fff; - position: absolute; - bottom: 15px; - } - .yzmbox{ - box-sizing: border-box; - width: 280px; - height: 225px; - position: relative; - overflow: hidden; - // background: #f5f5f5; - .flex('', center, center, column); - text-align: center; - border-radius: 6px; - background: #fff; - padding-top: 34px; - &-close{ - color: #999; - font-size: 16px; - position: absolute; - right: 8px; - top: 8px; - } - &-contnet{ - margin-top: 11px; - color: #999; - font-size: 14px; - &-yzm{ - .flex(center, center); - // font-size: 14px; - span{ - font-size: 14px; - // color: #999; - } - - } - &-get{ - width: 80%; - margin: 0 10%; - margin-top: 30px; - .flex(space-between, center); - input{ - border: none; - width: 45%; - background: #fff; - height: 30px; - } - &-yzm{ - color: @c-default; - } - } - } - } - .yzmOkbox{ - box-sizing: border-box; - width: 280px; - height: 225px; - position: relative; - overflow: hidden; - .flex(center, center,'',column); - &-img{ - width: 90px; - height: 90px; - img{ - width: 100%; - height: 100%; - } - } - p{ - font-size: 16px; - color: #000; - margin-top: 16px; - } - } - .status-val-done { - color:#19BE6B; - } - .status-val-refund { - color:#FF9900; - } - .status-val-wait { - color:#FF9900; - } - .status-val-error { - color:#ED4014; - } - .hbjl-detail-box { - padding-top: 44px; - background-color: @c-bg-f5; - - .content { - padding: 10px 8px; - } - - .cell-group { - margin-bottom: 10px; - } - } - - .footer { - padding-bottom: 30px; - margin: 0 8px; - background-color: @c-bg-f5; - - .btn { - width: 50%; - color: @c-text-fff; - background-color: @c-bg-default; - } - } -</style> diff --git a/src/views/product/lthyj-detail.vue b/src/views/product/lthyj-detail.vue deleted file mode 100644 index edc5825..0000000 --- a/src/views/product/lthyj-detail.vue +++ /dev/null @@ -1,120 +0,0 @@ -<!-- - * @Author: 小明丶 - * @Date: 2019-08-19 16:20:48 - * @LastEditors: 小明丶 - * @LastEditTime: 2020-12-09 20:32:32 - * @Description: 花呗分期——订单详情 - --> -<template> - <div class="lthyj-detail h-100-g"> - <v-navbar title="订单详情" fixed></v-navbar> - <div class="content"> - <div class="cell-group"> - <van-cell value="" title='合约信息' readonly style="font-weight: bold"></van-cell> - <van-cell :value="form.contName" title='合约套餐' readonly></van-cell> - <van-cell :value="form.monthConsAmt | dealMoney" title='月缴话费' readonly></van-cell> - <van-cell :value="form.term | dealTerm" title='期数' readonly></van-cell> - <van-cell :value="form.eleBondAmt | dealMoney" title='电子券金额' readonly></van-cell> - <van-cell :value="form.strDownAmt | dealMoney" title='直降金额' readonly></van-cell> - </div> - - <div class="cell-group"> - <van-cell value="" title='商品信息' readonly style="font-weight: bold"></van-cell> - <van-cell :value="form.goodsBrand" title='品牌' readonly></van-cell> - <van-cell :value="form.goodsModel" title='规格' readonly></van-cell> - <van-cell :value="form.goodsPrice | dealMoney" title='价格' readonly></van-cell> - </div> - - <div class="cell-group" > - <van-cell value="" title='订单信息' readonly style="font-weight: bold"></van-cell> - <van-cell :value="form.orderId || '暂无'" title='订单号' readonly></van-cell> - <van-cell :value="form.orderStatus || '暂无'" title='订单状态' readonly></van-cell> - <van-cell :value="form.userName || '暂无'" title='用户姓名' readonly></van-cell> - <van-cell :value="form.contMblNo || '暂无'" title='合约手机号' readonly></van-cell> - <van-cell :value="form.applyTime | dealTime" title='申请时间' readonly></van-cell> - <van-cell :value="form.signTime | dealTime" title='签约时间' readonly></van-cell> - </div> - - <div class="cell-group" > - <van-cell value="" title='收货照片' readonly style="font-weight: bold"></van-cell> - <van-image width="100px" height="100px" :src="form.recImage" @click="preview(form.recImage)"/> - </div> - <van-image-preview v-model="showImg" :images="images"> - </van-image-preview> - </div> - </div> -</template> - -<script> - import {mapState} from 'vuex'; - import Vue from 'vue'; - import { Image as VanImage } from 'vant'; - import dataformat from "@/utils/dateformat"; - import { ImagePreview } from 'vant'; - // 全局注册 - Vue.use(ImagePreview); - Vue.use(VanImage); - export default { - data() { - return { - form: {}, - showImg: false, - images: [] - } - }, - filters: { - dealMoney(val) { - return val ? `${val}元` : '' - }, - dealTerm(val) { - return val ? `${val}期` : '' - }, - dealTime(val) { - return val ? dataformat.format(val, 'yyyy-MM-dd HH:mm') : "暂无" - }, - }, - computed: { - id() { - return this.$route.query.id - }, - typeId() { - return this.$route.query.typeId - }, - ...mapState(['userinfo']) - }, - created() { - this.init() - }, - methods: { - init() { - this.$api.cuccOrderDetail({orderId: this.$route.query.id}).then((res) => { - this.form = res.body || {}; - }).catch((err) => {}); - }, - preview(src) { - console.log(src) - this.showImg = true - this.images = [src] - } - }, - } -</script> -<style lang="less" scoped> - .lthyj-detail { - padding-top: 44px; - background-color: @c-bg-f5; - - .content { - padding: 10px 8px; - } - - .cell-group { - width: 100%; - background: #fff; - margin-bottom: 10px; - .van-image { - margin: 20px - } - } - } -</style> diff --git a/src/views/product/shtx-detail.vue b/src/views/product/shtx-detail.vue deleted file mode 100644 index 44d50ed..0000000 --- a/src/views/product/shtx-detail.vue +++ /dev/null @@ -1,363 +0,0 @@ -<!-- - * @Author: 小明丶 - * @Date: 2019-09-26 12:48:29 - * @LastEditors: 小明丶 - * @LastEditTime: 2020-07-30 16:28:00 - * @Description: - --> -<template> - <div class="hb-detail-box h-100-g"> - <v-navbar title="订单详情" fixed></v-navbar> - <div class="content"> - <div class="cell-group"> - <v-cell :value="form.userName" label='用户名称' readonly></v-cell> - <v-cell :value="form.mblNo" label='手机号' readonly></v-cell> - <van-cell v-if="form.aliAccount" :value="form.aliAccount" title='用户支付宝账号' readonly></van-cell> - </div> - - <div class="cell-group"> - <van-cell :value="form.platRate" title='智享服务费率' readonly></van-cell> - <van-cell :value="form.zfbRate" title='花呗分期手续费率' readonly></van-cell> - <v-cell :value="form.settAmt" label='分期本金' readonly></v-cell> - <v-cell :value="form.insTerm" label='分期期数' readonly></v-cell> - <v-cell :value="form.insAmt" label='还款总额' readonly></v-cell> - <v-cell v-if="form.dealTime" :value="form.dealTime | timeformat('yyyy-MM-dd')" label='交易时间' readonly></v-cell> - <v-cell v-else label='交易时间' readonly></v-cell> - <v-cell :value="form.goodsBrand" label='商品品牌' readonly></v-cell> - <v-cell :value="form.goodsName" label='商品名称' readonly></v-cell> - <v-cell :value="form.statusStr" label='订单状态' readonly></v-cell> - <v-cell :value="form.zfbVersionName" label='办单通道' readonly></v-cell> - <v-cell :value="form.payTypeName" label='支付方式' readonly></v-cell> - </div> - - <div class="cell-group" > - <v-cell :value="form.chanName || '无'" label='办理渠道' readonly></v-cell> - <v-cell :value="form.merName || '无'" label='办理商户' readonly></v-cell> - <v-cell :value="form.storeName || '无'" label='办理门店' readonly></v-cell> - <v-cell :value="form.recordPerson || '无'" label='办单员' readonly></v-cell> - </div> - - <!-- <div class="cell-group"> - <v-cell :value="form.rate + '%'" label='费率' readonly></v-cell> - </div> --> - </div> - <!-- 短信验证码弹窗 --> - <van-popup v-model="yzmShow"> - <div class="yzmbox"> - <van-icon name="cross" class="yzmbox-close" @click="yzmShow = false" /> - <p style="font-size:16px;color:#000;">请输入短信验证码</p> - <div class="yzmbox-contnet"> - <div class="yzmbox-contnet-yzm"> - <span>将发送到手机号:</span> - <span>{{userinfo.mblNo.replace(/(\d{3})\d*(\d{4})/, '$1****$2') }}</span> - </div> - </div> - <div class="yzmbox-contnet-get"> - <input type="text" v-model="yzmVal" placeholder="请输入验证码"> - <span class="yzmbox-contnet-get-yzm" @click="getYzm">{{ yzmText }}</span> - </div> - <van-button class="showbtn" round @click="yzmYes">确认</van-button> - </div> - </van-popup> - <!-- 退单成功弹窗 --> - <van-popup v-model="yzmOkShow"> - <div class="yzmOkbox"> - <van-icon name="cross" class="yzmbox-close" @click="yzmOkShow = false" /> - <div class="yzmOkbox-img"> - <img src="../../assets/img/tkimg.png" alt=""> - </div> - <p>退款成功</p> - </div> - </van-popup> - <footer class="footer flex-center-g"> - <van-button class="btn" v-if="hasHjBackUrl" @click="goHj">返回红茄</van-button> - <van-button class="btn" v-if="form.refundStatus==1&&hasHjTokenGetRefBtn" @click="refund">退款</van-button> - <van-button class="btn" v-if="form.status==0&&form.payTypeName!='反扫'" @click="showCode">显示支付二维码</van-button> - </footer> - - </div> -</template> - -<script> - import { - mapState - } from 'vuex'; - import Vue from 'vue'; - import { Notify } from 'vant'; - - Vue.use(Notify); - export default { - data() { - return { - Open: true, //倒计时开关 - yzmText:'获取验证码', - yzmOkShow: false, - yzmVal: '', - noDemo: 13900000000, - yzmShow: false, //获取验证码弹窗 - form: {}, - statusColor:'', - hasHjBackUrl:false, - backUrl:'', - } - }, - computed: { - payTypeStr(){ - if(this.form.payType == 1){ - return '正选' - } - if(this.form.payType == 2){ - return '反选' - } - }, - id() { - return this.$route.query.id - }, - typeId() { - return this.$route.query.typeId - }, - // hasHjBackUrl(){ - // if(sessionStorage.hjBackUrl!='null' && sessionStorage.hjBackUrl){ - // return true - // }else{ - // return false - // } - // }, - hasHjTokenGetRefBtn(){ - if(typeof localStorage.hjToken !='undefined' && localStorage.hjToken){ - return false - }else{ - return true - } - }, - ...mapState(['userinfo']) - }, - created() { - this.init() - }, - methods: { - goHj(){ - //console.log(this.$route.query.backUrl.split('https')) - location.href=sessionStorage.hjBackUrl - }, - //验证码弹窗确认事件 - yzmYes() { - // console.log(this.yzmVal) - if(this.yzmVal == '' || this.yzmVal == null){ - Notify({ type: 'danger', message: '验证码为空!' }); - } else { - this.$api.hbOrderRefund({orderId:Number(this.id), verCode:this.yzmVal}).then(() => { - // this.$router.replace(`/product/dmf-detail?id=${this.orderId}`) - this.$notify('退款成功') - this.yzmShow = false; - this.yzmVal = '', - this.yzmOkShow = true; - setTimeout(() => { - location.reload() - }, 700); - }) - - } - }, - //获取验证码 - getYzm() { - let sendParams = { - mblNo: this.userinfo.mblNo, - verCodeType: 13, - }; - if(this.Open) { - this.$api.userSendMsg(sendParams).then(res => { - console.log(res.body) - this.Open = false - let num = 60; - this.yzmText = num + 's重发'; - let _this = this - let timer = setInterval(() => { - num--; - // _this.$set(_this.yzmText = num + 's重发') - if(num === 0) { - clearInterval(timer); - _this.Open = true; - _this.yzmText = '重新发送'; - } else { - _this.yzmText = num + 's重发'; - } - },1000) - }).catch(()=>{ - this.Open = true; - }) - } - }, - init() { - // console.log(this.id) - this.$api.getHBDetail(this.id).then((res) => { - this.form = res.body || {}; - if(res.body.backUrl !='null' && res.body.backUrl){ - this.hasHjBackUrl = true - this.backUrl = res.body.backUrl - }else{ - this.hasHjBackUrl = false - } - if(this.form && this.form.status) { - if (this.form.status == 1) { - this.statusColor = 'status-val-done'; - } else if (this.form.status == 2) { - this.statusColor = 'status-val-error'; - } else if (this.form.status == 3) { - this.statusColor = 'status-val-refund'; - } else if (this.form.status == 0) { - this.statusColor = 'status-val-wait'; - } else { - this.statusColor = 'status-val-done'; - } - } - }).catch((err) => { - - }); - }, - //退款 - refund() { - this.$dialog.confirm({ - message: '是否确认退款' - }).then(() => { - this.yzmShow = true - // this.$api.hbOrderRefund(this.id).then((res) => { - // if (res.errorCode == 0) { - // this.$notify('退款成功'); - // this.$router.back(); - // } - // }).catch((err) => { - - // }); - }).catch(() => { - // on cancel - }); - // this - - }, - //展示二维码 - showCode() { - if (this.form.payCode) { - // window.sessionStorage.setItem("hbpayQrCodeUrl", this.payCode); - let queryObj = { - orderId: this.form.orderId, - totalAmount: this.form.insAmt, - term: this.form.insTerm, - payQrCodeUrl:this.form.payCode, - typeId:this.typeId || '', - platRate:this.form.platRate, - zfbRate:this.form.zfbRate, - backUrl:this.backUrl - } - this.$router.push({ - path: "/shtx-getShtxQRCode", - query: queryObj - }) - } - } - }, - } -</script> -<style lang="less" scoped> - .showbtn{ - width: 60%; - background: @c-default; - color: #fff; - position: absolute; - bottom: 15px; - } - .yzmbox{ - box-sizing: border-box; - width: 280px; - height: 225px; - position: relative; - overflow: hidden; - // background: #f5f5f5; - .flex('', center, center, column); - text-align: center; - border-radius: 6px; - background: #fff; - padding-top: 34px; - &-close{ - color: #999; - font-size: 16px; - position: absolute; - right: 8px; - top: 8px; - } - &-contnet{ - margin-top: 11px; - color: #999; - font-size: 14px; - &-yzm{ - .flex(center, center); - // font-size: 14px; - span{ - font-size: 14px; - // color: #999; - } - - } - &-get{ - width: 80%; - margin: 0 10%; - margin-top: 30px; - .flex(space-between, center); - input{ - border: none; - width: 45%; - background: #fff; - height: 30px; - } - &-yzm{ - color: @c-default; - } - } - } - } - .yzmOkbox{ - box-sizing: border-box; - width: 280px; - height: 225px; - position: relative; - overflow: hidden; - .flex(center, center,'',column); - &-img{ - width: 90px; - height: 90px; - img{ - width: 100%; - height: 100%; - } - } - p{ - font-size: 16px; - color: #000; - margin-top: 16px; - } - } - .hb-detail-box { - padding-top: 44px; - background-color: @c-bg-f5; - - .content { - padding: 10px 8px; - } - - .cell-group { - margin-bottom: 10px; - } - } - - .footer { - padding-bottom: 30px; - margin: 0 8px; - background-color: @c-bg-f5; - - .btn { - width: 50%; - color: @c-text-fff; - background-color: @c-bg-default; - } - } -</style> diff --git a/src/views/product/xyg-detail.vue b/src/views/product/xyg-detail.vue deleted file mode 100644 index 221083f..0000000 --- a/src/views/product/xyg-detail.vue +++ /dev/null @@ -1,175 +0,0 @@ -<!-- - * @Author: 小明丶 - * @Date: 2019-08-19 16:20:48 - * @LastEditors : 小明丶 - * @LastEditTime : 2020-01-16 11:22:19 - * @Description: 购机直降——订单详情 - --> -<template> - <div class="hb-detail-box h-100-g"> - <v-navbar title="订单详情" fixed></v-navbar> - <div class="content"> - <div class="cell-group"> - <van-cell readonly isTitle> - <template slot="title"> - <img src="../../assets/img/imgti.png" alt="" class="imgti"> - <span class="custom-title">客户信息</span> - </template> - </van-cell> - <van-cell :value="form.userName" title='用户名称' readonly title-class="tot" value-class="val" style="width: 96%;margin-left: 2%;"></van-cell> - <van-cell :value="form.mblNo" title='手机号' readonly title-class="tot" value-class="val" style="width: 96%;margin-left: 2%;"></van-cell> - <van-cell :value="form.statusStr" title='订单状态' readonly title-class="tot" value-class="val" style="width: 96%;margin-left: 2%;"></van-cell> - </div> - - <div class="cell-group"> - <van-cell readonly isTitle> - <template slot="title"> - <img src="../../assets/img/imgti.png" alt="" class="imgti"> - <span class="custom-title">合约信息</span> - </template> - </van-cell> - <van-cell :value="form.contName" title='合约套餐' readonly title-class="tot" value-class="val" style="width: 96%;margin-left: 2%;"></van-cell> - <van-cell :value="form.settAmt + '元'" title='结算金额' readonly title-class="tot" value-class="val" style="width: 96%;margin-left: 2%;"></van-cell> - <van-cell :value="form.monthlyFees+ '元'" title='月缴话费' readonly title-class="tot" value-class="val" style="width: 96%;margin-left: 2%;"></van-cell> - <!--<van-cell :value="form.monthlyPayments+ '元'" title='月还款额' readonly ></van-cell>--> - <van-cell :value="form.insTermStr" title='期数' readonly title-class="tot" value-class="val" style="width: 96%;margin-left: 2%;"></van-cell> - </div> - - <div class="cell-group"> - <van-cell readonly isTitle> - <template slot="title"> - <img src="../../assets/img/imgti.png" alt="" class="imgti"> - <span class="custom-title">商品信息</span> - </template> - </van-cell> - <van-cell :value="form.goodsBrand" title='品牌' readonly title-class="tot" value-class="val" style="width: 96%;margin-left: 2%;"></van-cell> - <van-cell :value="form.goodsName" title='名称' readonly title-class="tot" value-class="val" style="width: 96%;margin-left: 2%;"></van-cell> - <van-cell :value="form.goodsModel" title='型号' readonly title-class="tot" value-class="val" style="width: 96%;margin-left: 2%;"></van-cell> - <van-cell :value="form.goodsPrice +'元'" title='价格' readonly title-class="tot" value-class="val" style="width: 96%;margin-left: 2%;"></van-cell> - <van-cell :value="form.goodsImei" title='IMEI' readonly title-class="tot" value-class="val" style="width: 96%;margin-left: 2%;"></van-cell> - </div> - - </div> - - <!-- <f-button class="btn-upload" v-if="orderInfo.uploadBtn == 1" @on-click="$router.push(`/contract-order-upload/${orderInfo.orderId}`)" >上传合约凭证</f-button> --> - <f-confirm v-model="showModal" @on-confirm='confirmYes' :showCancelBtn='true'> - <div>是否确认退货</div> - </f-confirm> - <van-button class="btn" v-if="form.uploadBtn == 1" @click="go">上传合约凭证</van-button> - <van-button class="btn-return" v-if="canRefund == 1" round @click="returnGoods">退货</van-button> - </div> -</template> - -<script> - import Vue from "vue"; - import { Dialog } from "vant"; - Vue.use(Dialog); - export default { - data(){ - return { - form:{}, - canRefund: 0, - orderId: this.$route.query.id, - showModal: false - } - }, - created(){ - this.init() - }, - methods:{ - init() { - this.$api.getXygDetail(this.$route.query.id).then(res => { - this.form = res.body; - this.canRefund = res.body.canRefund; - }); - }, - // 跳转到上传合约凭证页面 - go(){ - this.$router.push(`/xyg/upload/${this.form.orderId}`) - }, - //退货 - returnGoods() { - this.showModal = true; - }, - - confirmYes () { - this.$api.h_xygRefund({ orderId: this.orderId }).then(res => { - this.init(); - }); - } - } - } -</script> -<style lang="less" scoped> - .status-val-done { - color:#19BE6B; - } - .status-val-refund { - color:#FF9900; - } - .status-val-wait { - color:#FF9900; - } - .status-val-error { - color:#ED4014; - } - .hb-detail-box { - padding-top: 44px; - background-color: @c-bg-f5; - .imgti{ - width: 6px; - height: 13px; - display: inline-block; - vertical-align: middle; - } - .content { - padding: 10px 0; - } - - .cell-group { - margin-bottom: 12px; - width: 100%; - box-sizing: border-box; - padding: 0 16px; - background-color: white; - .tixing{ - display:inline-block; - border-right:solid 6px rgb(226, 112, 207); - border-top:solid 6px transparent; - border-bottom:solid 6px transparent; - height:6px; - vertical-align: middle; - background:linear-gradient(180deg,rgba(241,120,220,1),rgba(210,125,249,1)); - } - .tot{ - font-size: 14px; - color: #999999; - } - .val{ - font-size: 14px; - color: #333333; - - } - .custom-title{ - font-size: 15px; - font-weight:bold; - color:rgba(51,51,51,1); - } - } - } - .btn{ - width: 320px; - background: @c-bg-default; - color: @c-text-fff; - display: block; - margin: 30px auto; - } - .btn-return { - width: 84%; - margin: 0 8%; - background: @c-default; - color: @c-text-fff; - display: block; - margin-top: 15px; - } -</style> diff --git a/src/views/product/xyg-hb-detail.vue b/src/views/product/xyg-hb-detail.vue deleted file mode 100644 index 15f3a05..0000000 --- a/src/views/product/xyg-hb-detail.vue +++ /dev/null @@ -1,336 +0,0 @@ -<!-- - * @Author: 小明丶 - * @Date: 2020-03-19 15:52:24 - * @LastEditors: 小明丶 - * @LastEditTime: 2020-08-11 16:22:06 - * @Description: - --> -<template> - <div class="hb-detail-box h-100-g"> - <van-nav-bar title="订单详情" fixed @click-left="goBack" v-if="this.$route.query.whereGo==1"> - <template slot='left'> - <i class="iconfont iconzuojiantou" style="font-size:25px;color:#333;vertical-align: middle;"></i> - </template> - </van-nav-bar> - <v-navbar title="订单详情" fixed v-else></v-navbar> - <div class="content"> - <div class="cell-group"> - <van-cell :value="form.userName" title='用户名称' readonly></van-cell> - <van-cell :value="form.mblNo" title='手机号' readonly></van-cell> - <van-cell v-if="form.aliAccount" :value="form.aliAccount" title='用户支付宝账号' readonly></van-cell> - </div> - - <div class="cell-group"> - <van-cell :value="form.platRate" title='智享服务费率' readonly></van-cell> - <van-cell :value="form.zfbRate" title='花呗分期手续费率' readonly></van-cell> - <van-cell :value="form.settAmt" title='结算金额' readonly></van-cell> - <van-cell :value="form.insTermStr" title='分期期数' readonly></van-cell> - <van-cell :value="form.insAmt" title='还款总额' readonly></van-cell> - <van-cell v-if="form.dealTime" :value="form.dealTime | timeformat('yyyy-MM-dd')" title='交易时间' readonly></van-cell> - <van-cell v-else title='交易时间' readonly></van-cell> - <van-cell :value="form.retFee" title='每月还款' readonly></van-cell> - <van-cell :value="form.goodsName" title='商品名称' readonly></van-cell> - <van-cell :value="form.statusStr" :value-class="statusColor" title='订单状态' readonly></van-cell> - </div> - - <div class="cell-group" > - <van-cell :value="form.chanName || '无'" title='办理渠道' readonly></van-cell> - <van-cell :value="form.merName || '无'" title='办理商户' readonly></van-cell> - <van-cell :value="form.storeName || '无'" title='办理门店' readonly></van-cell> - <van-cell :value="form.recordPerson || '无'" title='办单员' readonly></van-cell> - </div> - </div> - <!-- 短信验证码弹窗 --> - <van-popup v-model="yzmShow"> - <div class="yzmbox"> - <van-icon name="cross" class="yzmbox-close" @click="yzmShow = false" /> - <p style="font-size:16px;color:#000;">请输入短信验证码</p> - <div class="yzmbox-contnet"> - <div class="yzmbox-contnet-yzm"> - <span>将发送到手机号:</span> - <span>{{userinfo.mblNo.replace(/(\d{3})\d*(\d{4})/, '$1****$2') }}</span> - </div> - </div> - <div class="yzmbox-contnet-get"> - <input type="text" v-model="yzmVal" placeholder="请输入验证码"> - <span class="yzmbox-contnet-get-yzm" @click="getYzm">{{ yzmText }}</span> - </div> - <van-button class="showbtn" round @click="yzmYes">确认</van-button> - </div> - </van-popup> - <!-- 退单成功弹窗 --> - <!-- <van-popup v-model="yzmOkShow"> - <div class="yzmOkbox"> - <van-icon name="cross" class="yzmbox-close" @click="yzmOkShow = false" /> - <div class="yzmOkbox-img"> - <img src="../../assets/img/tkimg.png" alt=""> - </div> - <p>退款成功</p> - </div> - </van-popup> --> - <footer class="footer flex-center-g"> - <!-- <van-button class="btn" v-if="form.refundStatus==1" @click="refund">退款</van-button> --> - <van-button class="btn" v-if="form.status==0" @click="showCode">显示支付二维码</van-button> - </footer> - - </div> -</template> - -<script> - import { - mapState - } from 'vuex'; - import Vue from 'vue'; - import { Notify } from 'vant'; - import { NavBar } from 'vant'; - - Vue.use(NavBar); - Vue.use(Notify); - export default { - data() { - return { - // typeId: this.$route.query.typeId, - Open: true, //倒计时开关 - yzmText:'获取验证码', - yzmVal: '', - yzmShow: false, //获取验证码弹窗 - form: {}, - statusColor:'' - } - }, - computed: { - id() { - return this.$route.query.id - }, - typeId() { - return this.$route.query.typeId - }, - ...mapState(['userinfo']) - }, - created() { - this.init() - }, - methods: { - // 返回 - goBack(){ - this.$router.push({ - path:'/main/home', - query:{ - navIndex:6, - typeId:200011, - prodId:30000012 - } - }) - }, - //验证码弹窗确认事件 - yzmYes() { - if(this.yzmVal == '' || this.yzmVal == null){ - Notify({ type: 'danger', message: '验证码为空!' }); - } else { - this.$api.xygOrderRefundHb({orderId:Number(this.id), verCode:this.yzmVal}).then(() => { - this.$notify('退款成功') - this.yzmShow = false; - this.yzmVal = '', - setTimeout(() => { - location.reload() - }, 700); - }) - - } - }, - //获取验证码 - getYzm() { - let sendParams = { - mblNo: this.userinfo.mblNo, - verCodeType: 15, - }; - if(this.Open) { - this.$api.userSendMsg(sendParams).then(res => { - console.log(res.body) - this.Open = false - let num = 60; - this.yzmText = num + '秒后重发'; - let _this = this - let timer = setInterval(() => { - num--; - if(num === 0) { - clearInterval(timer); - _this.Open = true; - _this.yzmText = '重新发送'; - } else { - _this.yzmText = num + '秒后重发'; - } - },1000) - }).catch(()=>{ - this.Open = true; - }) - } - }, - init() { - this.$api.xygOrderHbOrderDtl({ - orderId:this.id - }).then((res) => { - this.form = res.body || {}; - if(this.form) { - if (this.form.status == 1) { - this.statusColor = 'status-val-done'; - } else if (this.form.status == 2) { - this.statusColor = 'status-val-error'; - } else if (this.form.status == 3) { - this.statusColor = 'status-val-refund'; - } else if (this.form.status == 0) { - this.statusColor = 'status-val-wait'; - } else { - this.statusColor = 'status-val-done'; - } - } - }).catch((err) => { - - }); - }, - //退款 - refund() { - this.$dialog.confirm({ - message: '是否确认退款' - }).then(() => { - this.yzmShow = true - }).catch(() => { - - }); - }, - //展示二维码 - showCode() { - if (this.form.payCode) { - window.sessionStorage.setItem("xygHbpayQrCodeUrl", this.form.payCode); - let queryObj = { - payQrCodeUrl:this.form.payCode, - orderId: this.form.orderId, - totalAmount: this.form.insAmt, - term: this.form.insTerm, - typeId:this.typeId || '' - } - this.$router.push({ - path: "/xyg-getXygHbQRCode", - query: queryObj - }) - } - } - }, - } -</script> -<style lang="less" scoped> - .showbtn{ - width: 60%; - background: @c-default; - color: #fff; - position: absolute; - bottom: 15px; - } - .yzmbox{ - box-sizing: border-box; - width: 280px; - height: 225px; - position: relative; - overflow: hidden; - // background: #f5f5f5; - .flex('', center, center, column); - text-align: center; - border-radius: 6px; - background: #fff; - padding-top: 34px; - &-close{ - color: #999; - font-size: 16px; - position: absolute; - right: 8px; - top: 8px; - } - &-contnet{ - margin-top: 11px; - color: #999; - font-size: 14px; - &-yzm{ - .flex(center, center); - // font-size: 14px; - span{ - font-size: 14px; - // color: #999; - } - - } - &-get{ - width: 80%; - margin: 0 10%; - margin-top: 30px; - .flex(space-between, center); - input{ - border: none; - width: 45%; - background: #fff; - height: 30px; - } - &-yzm{ - color: @c-default; - } - } - } - } - .yzmOkbox{ - box-sizing: border-box; - width: 280px; - height: 225px; - position: relative; - overflow: hidden; - .flex(center, center,'',column); - &-img{ - width: 90px; - height: 90px; - img{ - width: 100%; - height: 100%; - } - } - p{ - font-size: 16px; - color: #000; - margin-top: 16px; - } - } - .status-val-done { - color:#19BE6B; - } - .status-val-refund { - color:#FF9900; - } - .status-val-wait { - color:#FF9900; - } - .status-val-error { - color:#ED4014; - } - .hb-detail-box { - padding-top: 44px; - background-color: @c-bg-f5; - - .content { - padding: 10px 8px; - } - - .cell-group { - margin-bottom: 10px; - } - } - - .footer { - padding-bottom: 30px; - margin: 0 8px; - background-color: @c-bg-f5; - - .btn { - width: 50%; - color: @c-text-fff; - background-color: @c-bg-default; - } - } -</style> - diff --git a/src/views/product/zxh-detail.vue b/src/views/product/zxh-detail.vue deleted file mode 100644 index c890eea..0000000 --- a/src/views/product/zxh-detail.vue +++ /dev/null @@ -1,129 +0,0 @@ -<!-- - * @Author: 小明丶 - * @Date: 2019-08-19 16:20:48 - * @LastEditors: 小明丶 - * @LastEditTime: 2019-09-06 15:38:14 - * @Description: 购机直降——订单详情 - --> -<template> - <div class="hb-detail-box h-100-g"> - <v-navbar title="订单详情" fixed></v-navbar> - <div class="content"> - <div class="cell-group"> - <van-cell title='客户信息' readonly isTitle></van-cell> - <van-cell :value="form.userName" title='用户名称' readonly ></van-cell> - <van-cell :value="form.mblNo" title='手机号' readonly ></van-cell> - <van-cell :value="form.statusStr" title='订单状态' readonly ></van-cell> - <van-cell v-if="form.rejMessage" :value="form.rejMessage" title='拒绝原因 ' readonly ></van-cell> - </div> - - <div class="cell-group"> - <van-cell title='合约信息' readonly isTitle></van-cell> - <van-cell :value="form.contName" title='合约套餐' readonly ></van-cell> - <van-cell :value="form.settAmt + '元'" title='结算金额' readonly ></van-cell> - <van-cell :value="form.monthlyFees+ '元'" title='月缴话费' readonly ></van-cell> - <!--<van-cell :value="form.monthlyPayments+ '元'" title='月还款额' readonly ></van-cell>--> - <van-cell :value="form.insTermStr" title='期数' readonly ></van-cell> - </div> - - <div class="cell-group"> - <van-cell title='商品信息' readonly isTitle></van-cell> - <van-cell :value="form.goodsBrand" title='品牌' readonly ></van-cell> - <van-cell :value="form.goodsName" title='名称' readonly ></van-cell> - <van-cell :value="form.goodsModel" title='型号' readonly ></van-cell> - <van-cell :value="form.goodsPrice +'元'" title='价格' readonly ></van-cell> - <van-cell :value="form.goodsImei" title='IMEI' readonly ></van-cell> - </div> - - </div> - - <!-- <f-button class="btn-upload" v-if="orderInfo.uploadBtn == 1" @on-click="$router.push(`/contract-order-upload/${orderInfo.orderId}`)" >上传合约凭证</f-button> --> - <f-confirm v-model="showModal" @on-confirm='confirmYes' :showCancelBtn='true'> - <div>是否确认退货</div> - </f-confirm> - <van-button class="btn" v-if="form.uploadBtn == 1" @click="go">上传合约凭证</van-button> - <van-button class="btn-return" v-if="canRefund == 1" round @click="returnGoods">退货</van-button> - </div> -</template> - -<script> - import Vue from "vue"; - import { Dialog } from "vant"; - Vue.use(Dialog); - export default { - data(){ - return { - form:{}, - canRefund: 0, - orderId: this.$route.query.id, - showModal: false - } - }, - created(){ - this.init() - }, - methods:{ - init() { - this.$api.getZxhDetail(this.$route.query.id).then(res => { - this.form = res.body; - this.canRefund = res.body.canRefund; - }); - }, - // 跳转到上传合约凭证页面 - go(){ - this.$router.push(`/hryd/upload/${this.form.orderId}`) - }, - //退货 - returnGoods() { - this.showModal = true; - }, - - confirmYes () { - this.$api.h_refund({ orderId: this.orderId }).then(res => { - this.init(); - }); - } - } - } -</script> -<style lang="less" scoped> - .status-val-done { - color:#19BE6B; - } - .status-val-refund { - color:#FF9900; - } - .status-val-wait { - color:#FF9900; - } - .status-val-error { - color:#ED4014; - } - .hb-detail-box { - padding-top: 44px; - background-color: @c-bg-f5; - - .content { - padding: 10px 8px; - } - - .cell-group { - margin-bottom: 10px; - } - } - .btn{ - width: 320px; - background: @c-bg-default; - color: @c-text-fff; - display: block; - margin: 30px auto; - } - .btn-return { - width: 84%; - margin: 0 8%; - background: @c-default; - color: @c-text-fff; - display: block; - margin-top: 15px; - } -</style> diff --git a/src/views/relatedPictures.vue b/src/views/relatedPictures.vue deleted file mode 100644 index 30890e2..0000000 --- a/src/views/relatedPictures.vue +++ /dev/null @@ -1,174 +0,0 @@ -<template> - <div class="relatedPictures h-100-g"> - <v-navbar title="相关照片" fixed></v-navbar> - - <div class="imageUpload-header"> - <div class="imageUpload-title"> - <h4>营业执照照片</h4> - <div class="imageUpload-img" @click="clickImg(businessLicense)"> - <img :src="businessLicense" alt=""> - </div> - </div> - <div class="imageUpload-title" v-if="zfbVersion==6 || zfbVersion==7"> - <h4>办学许可证照片</h4> - <div class="imageUpload-img" @click="clickImg(bxxkPic)"> - <img :src="bxxkPic" alt=""> - </div> - </div> - <div class="imageUpload-title"> - <h4>法人身份证正反面</h4> - <div @click="clickImg(idPositive)" class="imageUpload-img" style="width: 48%;margin-right: 1%;height: 100px; display: inline-block;vertical-align: middle"> - <img :src="idPositive" alt=""> - </div> - <div @click="clickImg(idBack)" class="imageUpload-img" style="width: 48%;display: inline-block;height: 100px;vertical-align: middle"> - <img :src="idBack" alt=""> - </div> - </div> - <div class="imageUpload-title "> - <h4>门店店内照</h4> - <div class="image_fix"> - <div class="imageUpload-img" v-for="(i,index) in storeHouse" :key="index"> - <img @click="clickImg(i)" :src="i"> - </div> - </div> - </div> - <div class="imageUpload-title "> - <h4>门店招牌照</h4> - <div class="image_fix"> - <div class="imageUpload-img" v-for="(i,index) in storeSign" :key="index"> - <img @click="clickImg(i)" :src="i"> - </div> - </div> - </div> - </div> - - - <van-popup v-model="showToast" class="dialog-demo"> - <div class="img-box" style="font-size: 0"> - <img :src="curSrc" @click="closeDialog()" style="max-width:100%"> - </div> - </van-popup> - </div> -</template> - -<script> - export default { - name: "relatedPictures", - data(){ - return { - list: [], - showToast:false, - curSrc:null, - businessLicense: '', - storeOne: [], - bxxkPic:'', - idPositive: '', - idBack: '', - storeSign:[], // 门店招牌照片 - storeHouse:[] // 门店内照片 - } - }, - computed:{ - zfbVersion(){ - return this.$route.query.zfbVersion - } - }, - created(){ - this.init(); - }, - methods:{ - init() { - let _orgId = this.$route.query.merId; - this.$api.merFile({merId: _orgId,zfbVersion:this.$route.query.zfbVersion}).then(res => { - this.list = res.body; - for (let i = 0; i < this.list.length; i++) { - if (this.list[i].fileType == 0) { - this.businessLicense = this.list[i].fileUrl; - } else if (this.list[i].fileType == 1) { - this.storeOne.push(this.list[i].fileUrl); - } else if (this.list[i].fileType == 2) { - this.idPositive = this.list[i].fileUrl; - } else if (this.list[i].fileType == 3) { - this.idBack = this.list[i].fileUrl; - }else if (this.list[i].fileType == 6) { - this.storeHouse.push(this.list[i].fileUrl); - } else if (this.list[i].fileType == 7) { - this.storeSign.push(this.list[i].fileUrl); - } else if(this.list[i].fileType == 24){ - this.bxxkPic = this.list[i].fileUrl - } - } - }); - }, - clickImg(item){ - this.curSrc = null; - this.curSrc = item; - this.showToast=true; - }, - closeDialog(){ - this.curSrc = null; - this.showToast=false - } - } - } -</script> - -<style scoped lang="less"> -.relatedPictures{ - padding:60px 25px 100px 25px; - - height: 100%; - .imageUpload-header{ - height: 100%; - } - .imageUpload-title { - padding: 12px 24px; - h4 { - font-weight: normal; - padding-bottom: 0.5rem; - } - .imageUpload-img { - border: 1px dashed ; - width: 100%; - height: 150px; - position: relative; - img { - width: 100%; - height: 100%; - } - } - .add-center { - text-align: center; - width: 100%; - position: absolute; - left: 50%; - top: 50%; - transform: translate(-50%, -50%); - i { - font-size: 30px; - } - p { - span { - display: inline-block; - } - } - } - } - .image_fix { - display: flex; - > div { - width: 102px !important; - height: 102px !important; - margin-right: 7px; - } - > div:last-child { - margin-right: 0 !important; - } - } - - - - - -} -</style> diff --git a/src/views/user/login.vue b/src/views/user/login.vue index c883297..1475826 100644 --- a/src/views/user/login.vue +++ b/src/views/user/login.vue @@ -49,7 +49,7 @@ </div> </form> <div style="font-size: 12px; color: #666;text-align: center;width: 100%;margin-top: 150px;"> - 客服电话:028-64063350 + 客服电话:028-86043722 </div> </div> </template> diff --git a/src/views/user/loginByWx.vue b/src/views/user/loginByWx.vue index fc02f92..24e5678 100644 --- a/src/views/user/loginByWx.vue +++ b/src/views/user/loginByWx.vue @@ -96,7 +96,7 @@ console.log(111); let url = location.host; // url = "t.finlean.com"; - var str = encodeURIComponent(`https://${url}/sib_wx_scorec/#/loginByWx`); + var str = encodeURIComponent(`https://${url}/sib_wx_scored/#/loginByWx`); var fn = new GoWeChat("wx594ab33e0466eccf", str); fn.gocontract(); } else { diff --git a/src/views/user/register-home.vue b/src/views/user/register-home.vue index 4ba869b..cb62319 100644 --- a/src/views/user/register-home.vue +++ b/src/views/user/register-home.vue @@ -103,7 +103,7 @@ </van-popup> </div> <div style="font-size: 12px; color: #666;text-align: center;width: 100%;margin-top: 20px;"> - 客服电话:028-60102895 + 客服电话:028-86043722 </div> </div> </template> diff --git a/src/views/user/register.vue b/src/views/user/register.vue index 83578ac..cd8c4a5 100644 --- a/src/views/user/register.vue +++ b/src/views/user/register.vue @@ -66,7 +66,7 @@ <img :src="base64" alt="" class="img-fluid-g"> </div> <div class="ser-phone" style="font-size: 12px; color: #666;text-align: center;width: 100%;position: absolute;bottom: 20px;"> - 客服电话:028-60102895 + 客服电话:028-86043722 </div> </div> diff --git a/src/views/user/supplement.vue b/src/views/user/supplement.vue deleted file mode 100644 index 07bac0b..0000000 --- a/src/views/user/supplement.vue +++ /dev/null @@ -1,163 +0,0 @@ -<!-- - * @Author: 小明丶 - * @Date: 2020-11-09 11:44:43 - * @LastEditors: 小明丶 - * @LastEditTime: 2020-11-11 16:51:59 - * @Description: 信息补充页面 ---> -<template> - <div class="information-supplement"> - <v-navbar title="信息补充"></v-navbar> - <div class="content-box"> - <van-cell-group> - <van-field - v-model.trim="info.userName" - label="姓名" - input-align="right" - placeholder="请填写真实姓名" - clearable - /> - <van-field - v-model.trim="info.email" - clearable - input-align="right" - label="邮箱" - placeholder="请输入邮箱" - /> - <van-field - v-model.trim="info.orgName" - is-link - disabled - label="归属门店" - input-align="right" - placeholder="请选择归属门店" - @click="show=true" - /> - </van-cell-group> - <van-button round type="info" color="#896EDB" style="width:100%;margin-top:150px" @click="hanldClick">完成</van-button> - </div> - <van-popup v-model="show" position="bottom" :style="{ height: '40%' }"> - <van-picker - title="选择归属门店" - show-toolbar - value-key="orgName" - :columns="storeList" - @confirm="onConfirm" - @cancel="onCancel" - /> - </van-popup> - </div> -</template> -<script> -import Vue from 'vue'; -import { Toast } from 'vant'; -import { mapActions } from 'vuex'; -Vue.use(Toast); -export default { - data() { - return { - info:{ - orgId:'', - orgName:'', - email:'', - userName:'', - }, - show:false, - storeList:[], - } - }, - created(){ - this.init() - }, - methods:{ - ...mapActions(['loginByOpenId']), - /** - * @description:初始化 - * @returns void - * **/ - init(){ - - this.storeList = JSON.parse(this.$route.query.storeList) - - }, - /** - * @description:确认归属门店选择 - * @returns void - * **/ - onConfirm(value){ - this.info.orgName = value.orgName - this.info.orgId = value.orgId - this.show = false - }, - /** - * @description:取消选择门店 - * @returns void - * **/ - onCancel(){ - this.show = false - }, - /** - * @description:提交 - * @returns void - * **/ - hanldClick(){ - let v = this.$tool; - if (v.checkValEmpty(this.info.userName)) { - Toast.fail('请输入姓名'); - return; - } - if (v.checkValEmpty(this.info.email)) { - Toast.fail('请输入邮箱'); - return; - } - if (!v.checkEmail(this.info.email)) { - Toast.fail('请输入正确的邮箱'); - return; - } - if (v.checkValEmpty(this.info.orgId)) { - Toast.fail('请选择归属门店'); - return; - } - this.$api.userAddStoreManager({ - email: this.info.email, - mblNo: localStorage.sib_wx_mblNo, - merId: sessionStorage.sib_wx_merId, - storeId: this.info.orgId, - username: this.info.userName, - wechatOpenId: localStorage.sib_wx_openId - }).then(res=>{ - localStorage.sib_wx_userId = res.body.userId - this.loginByOpenId({ - vm: this, - loginType:2, - mblNo:localStorage.sib_wx_mblNo, - merId:sessionStorage.sib_wx_merId, - wechatOpenId:localStorage.sib_wx_openId, - userId:localStorage.sib_wx_userId - }) - - - // this.$router.push({ - // path:'/main/mine', - // query:{ - // isLoginByOpenId:1 - // } - // }) - }) - } - } -}; -</script> -<style lang="less" scoped> -.information-supplement { - & { - background-color: #f5f5f5; - min-height: 100vh; - } - .content-box{ - width: 96vw; - margin: auto; - margin-top: 10px; - } -} -</style> \ No newline at end of file diff --git a/src/views/zfblx/lxCode.vue b/src/views/zfblx/lxCode.vue deleted file mode 100644 index 33f18c2..0000000 --- a/src/views/zfblx/lxCode.vue +++ /dev/null @@ -1,127 +0,0 @@ -<template> - <div class="lxcode"> - <van-nav-bar title="支付宝拉新" left-text="返回" left-arrow @click-left="onClickLeft" style="line-height: 43px;"> - <i class="iconfont iconzuojiantou" slot="left" style="font-size: 25px;"></i> - </van-nav-bar> - <div class="lxcoed-bg"> - <img src="../../assets/zfblx/bg4.png" alt=""> - </div> - <div class="lxcoed-code"> - <img src="../../assets/zfblx/bg2.png" alt="" style=""> - <div class="lxcoed-code-content"> - <img class="ewm-img" src="../../assets/zfblx/bg3.png" alt=""> - <img class="code-img" src="../../assets/zfblx/code.png" alt=""> - </div> - <div class="lxcoed-code-text"> - 支付宝拉新二维码 - </div> - </div> - <van-button round color="#896EDB" class="btn2" @click="bankHome">返回首页</van-button> - </div> -</template> - -<script> -export default { - data() { - return{ - - } - }, - created() { - - }, - methods: { - onClickLeft() { - this.$router.go(-1); - }, - //返回首页 - bankHome() { - this.$router.push("/main/product") - } - } -} -</script> - -<style lang='less' scoped> - .code-img{ - width: 86% !important; - height: 86% !important; - // position: absolute; - margin-bottom: 4%; - } - .ewm-img{ - position: absolute; - left: 0; - right: 0; - z-index: 2222; - } - .lxcode{ - background: #F3F4F5; - min-height: 100%; - text-align: center; - img{ - width: 100%; - height: 100%; - } - } - .lxcoed-bg{ - width: 100%; - height: 225px; - // background: url('../../assets/zfblx/bg4.png'); - background-size: 100% 100%; - } - .lxcoed-code{ - width: 94%; - height: 360px; - margin: 0 3%; - position: relative; - // background: url("../../assets/zfblx/bg2.png"); - // background-size: 100% 100%; - transform: translateY(-50%); - overflow: hidden; - // padding: 3px; - text-align: center; - line-height: 330px; - img{ - width: 100%; - height: 100%; - } - &-content{ - // width: 175px; - width: 50%; - margin: 0 25%; - height: 175px; - // background: url("../../assets/zfblx/bg3.png"); - background-size: 100% 100%; - margin-top: 50px; - // margin-left: 90px; - position: absolute; - top: 0; - left: 0; - bottom: 0; - right: 0; - } - &-text{ - width: 100%; - margin-top: 66px; - font-size: 14px; - color: #333333; - text-align: center; - line-height: 20px; - position: absolute; - bottom: 55px; - } - } - .btn2{ - // width: 280px; - width: 86%; - margin: 0 7%; - height: 44px; - margin-top: 20px; - background:rgba(137,110,219,1); - - color: white; - transform: translateY(-180px); - } - -</style> \ No newline at end of file diff --git a/src/views/zfblx/lxExplain.vue b/src/views/zfblx/lxExplain.vue deleted file mode 100644 index 70a8b77..0000000 --- a/src/views/zfblx/lxExplain.vue +++ /dev/null @@ -1,34 +0,0 @@ -<template> - <div> - <van-nav-bar title="核算说明" left-text="返回" left-arrow @click-left="onClickLeft" style="line-height: 43px;"> - <i class="iconfont iconzuojiantou" slot="left" style="font-size: 25px;"></i> - </van-nav-bar> - <div class="img-container" v-for="item in 3"> - <img :src="`${imgUrl}${item}.png`" :alt="'核算说明'+ item"> - </div> - </div> -</template> - -<script> -export default { - data() { - return{ - imgUrl: 'https://t.finlean.com/czjc/img/sib_mer/hssm/', - } - }, - methods: { - onClickLeft() { - this.$router.go(-1); - } - }, -} -</script> - -<style lang='less' scoped> - .img-container{ - width: 100%; - img{ - width: 100%; - } - } -</style> \ No newline at end of file diff --git a/src/views/zfblx/lxLogin.vue b/src/views/zfblx/lxLogin.vue deleted file mode 100644 index 980a980..0000000 --- a/src/views/zfblx/lxLogin.vue +++ /dev/null @@ -1,192 +0,0 @@ -<template> - <div> - <van-nav-bar left-text="返回" left-arrow @click-left="onClickLeft" style="line-height: 43px;"> - <div slot="title"> - <p style="font-weight: bold;">支付宝拉新</p> - </div> - <i class="iconfont iconzuojiantou" slot="left" style="font-size: 25px;"></i> - <div class="" slot="right" style="font-size: 14px;line-height: 50px;" @click="toExplain">说明</div> - </van-nav-bar> - <div class="lx-content"> - <div class="lx-content-head"> - <img src="../../assets/zfblx/bg.png" alt=""> - <div class="lx-content-head-text"> - <p v-for="item in text"> - {{ item }} - </p> - </div> - <div class="lx-content-head-login"> - <div> - <i class="iconfont" style="font-size: 20px"></i> - <input type="text" placeholder="请输入姓名" v-model="username" maxlength="5"> - </div> - <div> - <i class="iconfont" style="font-size: 20px"></i> - <input type="text" placeholder="请输入手机号" v-model="usephone" maxlength="11"> - </div> - </div> - <van-button round color="#896EDB" class="btn" @click="toCode">生成二维码</van-button> - </div> - <div class="lx-content-course"> - <div class="lx-content-course-item1"> - <img :src="`${imgAdd}1.png`" :alt="'图文教程'+ item"> - </div> - <div class="lx-content-course-item" v-for="item in 5"> - <img :src="`${imgAdd}${item + 1}.png`" :alt="'图文教程'+ item"> - </div> - </div> - </div> - </div> -</template> - -<script> -import rule from '../../utils/formValidator'; -export default { - data() { - return{ - text: [], - usephone: '', - username: '', - imgAdd: 'https://t.finlean.com/czjc/img/sib_mer/zfblx/', //图片存后台的地址路径 - } - }, - created() { - this.init(); - - }, - methods: { - init() { - this.text = [ - " 1、请保证填写信息与客户注册支付宝信息一致,不然无法进行结算。", - "2、需要用户关闭WiFi,使用4G网络,同意所有授权。", - "3、客户注册支付宝前需提醒客户千万不要领取系统红包。" - ] - }, - //回退按钮 - onClickLeft() { - this.$router.go(-1); - }, - //跳转到拉新说明页面 - toExplain() { - this.$router.push("/product/zfblx/lxexplain") - }, - //跳转到拉新二维码页面 - toCode() { - let v = this.$tool; - if (v.checkValEmpty(this.username)) { - v.toast('请输入用户名'); - return; - } - if (v.checkValEmpty(this.usephone)) { - v.toast('请输入手机号'); - return; - } - if (!v.checkPhone(this.usephone)) { - v.toast('请输入正确的手机号'); - return; - } - console.log(this.usephone) - - this.$api.zfbLxSave({usrName: this.username, usrNo: this.usephone}).then(res => { - this.$router.push("/product/zfblx/lxcode") - },err => err) - // this.$api.zfbLxList().then(res => { - // console.log(res.body) - // }) - }, - } -} -</script> - -<style lang='less' scoped> -@font-face { - font-family: 'iconfont'; /* project id 1351259 */ - src: url('//at.alicdn.com/t/font_1351259_rg7lh167259.eot'); - src: url('//at.alicdn.com/t/font_1351259_rg7lh167259.eot?#iefix') format('embedded-opentype'), - url('//at.alicdn.com/t/font_1351259_rg7lh167259.woff2') format('woff2'), - url('//at.alicdn.com/t/font_1351259_rg7lh167259.woff') format('woff'), - url('//at.alicdn.com/t/font_1351259_rg7lh167259.ttf') format('truetype'), - url('//at.alicdn.com/t/font_1351259_rg7lh167259.svg#iconfont') format('svg'); -} -.lx-content{ - width: 100%; - margin-top: 16px; - img{ - width: 100%; - height: 100%; - } - &-head{ - height: 395px; - width: 94%; - margin: 0 3%; - // background: url('../../assets/zfblx/bg.png') no-repeat; - background-size: 100% 100%; - overflow: hidden; - position: relative; - &-text{ - position: absolute; - top: 0; - margin: 50px 25px 0 30px; - p{ - line-height: 20px; - font-size: 13px; - color: #705BAF; - } - } - &-login{ - width: 100%; - // margin: 55px 25px 0 35px; - position: absolute; - // left: 35px; - width: 80%; - margin: 0 10%; - bottom: 78px; - input{ - border: none; - height: 38px; - width: 85%; - border-radius: 20px; - padding-left: 15%; - box-sizing: content-box; - } - i{ - position: absolute; - left: 16px; - line-height: 40px; - } - :first-child{ - margin-bottom: 15px; - } - } - } - &-course{ - width: 100%; - text-align: center; - &-item{ - width: 100%; - img{ - width: 100%; - } - } - &-item1{ - margin-top: 32px; - width: 100%; - img{ - display: inline-block; - width: 110px; - } - } - } -} -.btn{ - width: 80%; - margin: 0 10%; - height: 40px; - position: absolute; - background:rgba(137,110,219,1); - // margin: 15px 30px 0 30px; - bottom: 23px; - // left: 35px; - color: white; -} -</style> \ No newline at end of file diff --git a/src/views/zfblx/lxOrder.vue b/src/views/zfblx/lxOrder.vue deleted file mode 100644 index a4f4b2c..0000000 --- a/src/views/zfblx/lxOrder.vue +++ /dev/null @@ -1,526 +0,0 @@ -<!-- - * @Author: 小明丶 - * @Date: 2019-08-20 14:07:56 - * @LastEditors: 小明丶 - * @LastEditTime: 2019-09-04 16:11:37 - * @Description: 花呗订单 - --> -<template> - <div class="order-hb-box"> - <v-navbar title="支付宝拉新" fixed> - <template v-slot:right> - <div class="flex-center-g" @click="isShow = true;"> - <span>筛选</span> - <svg class="icon" aria-hidden="true" style="width:18px;height:18px;"> - <use xlink:href="#iconshaixuan"></use> - </svg> - </div> - </template> - </v-navbar> - <!-- 订单列表 --> - <div class="order-list"> - <v-datacard class='info' :list="orderData"></v-datacard> - <van-list v-model="loading" :finished="finished" finished-text="没有更多了" @load="init" > - <!-- <v-order-item :name="item.userName || '无'" :user='item.label' :time='+item.creTime' :list='item.list' - v-for="(item,k) in list" :key="k" @click="go(item.orderId)"></v-order-item> --> - <div class="lx-list fs-14" v-for="(item, index) in list" :key="index" @click="go(item.id)"> - <div class="lx-list-head"> - <div class="lx-list-head-item"> - <p class="fw">{{ item.usrName }}</p> - <p>姓名</p> - </div> - <div class="lx-list-head-item" style="width: 40%;"> - <p class="fw">{{ item.usrNo }}</p> - <p>手机号</p> - </div> - <div class="lx-list-head-item"> - <p class="fw" :style="{color:item.status == 3?'#ED4014': item.status == 0 ? '#333' : '#19BE6B'}">{{ item.status == 0 ? '待确认' : item.status == 1? '拉新' : item.status == 2? '拉新+绑卡' : '无效' }}</p> - <p>订单状态</p> - </div> - </div> - <div class="lx-list-foot"> - <div class="lx-list-foot-top"> - <p class="flex"> - <svg class="icon" aria-hidden="true" style="width:18px;height:18px;margin-ringt:7px;"> - <use xlink:href="#iconyonghu"></use> - </svg> - <span style="margin-left:7px;">{{ }}</span> - - </p> - <p class="flex"> - <svg class="icon" aria-hidden="true" style="width:18px;height:18px;margin-ringt:7px;"> - <use xlink:href="#iconshijian"></use> - </svg> - <span style="margin-left:7px;">{{ item.creTime | timeformat('yyyy-MM-dd HH:mm:ss') }}</span> - - </p> - </div> - <div class="lx-list-foot-bottom flex"> - <svg class="icon" aria-hidden="true" style="width:18px;height:18px;margin-ringt:7px;"> - <use xlink:href="#iconshanghumingcheng"></use> - </svg> - <span style="margin-left:7px;">{{ orgType==4? item.mgrName : orgType==3? item.storeName : item.merName }}</span> - </div> - </div> - </div> - </van-list> - </div> - <v-button-circle icon='icondaochu' title='导出' @click="exportFile"></v-button-circle> - - <v-filter v-model="isShow" :belongArr="belongArr" :statusArr="statusArr" :hasMoney='false' - @search="(v)=>search(v,true)"></v-filter> - <!-- <v-filter v-model="isShow" :belongArr="belongArr" :periodsArr="periodsArr" :statusArr="statusArr" customTitle="分期本金" :hasSearch="true" - @search="(v)=>search(v,true)"></v-filter> --> - - - <van-popup v-model="exporShow"> - <div class="popup-content"> - <div class="icon-box flex-center-g"> - <div class="child flex-center-g"> - <svg class="icon" aria-hidden="true" style="width:33px;height:27px;fill:#fff;" @click="$router.back()"> - <use xlink:href="#iconyoujian"></use> - </svg> - </div> - </div> - <p class="text"> - <span class="top">已将信息发送至邮箱,请注意查收</span> - <span v-text="userinfo.email || ''">1244667@163.com</span> - </p> - <van-button class="btn-submit" @click="exporShow=false;">确定</van-button> - </div> - </van-popup> - </div> -</template> - -<script> - import { - mapState, - mapGetters - } from 'vuex'; - import { - getParams - } from '@/utils/index'; - export default { - data() { - return { - loading:false, - finished:false, - - exporShow:false, - - isShow: false, - list: [], - orderData: [], - belongArr: [], - periodsArr: [], - statusArr: [], - filter: {} - } - }, - computed: { - ...mapState(['userinfo']), - ...mapGetters(['orgType']), - prodId() { - return this.$route.query.prodId - }, - typeId(){ - return this.$route.query.typeId - }, - id() { - return this.$route.query.id; - }, - dataLabel(){ - if(this.orgType===1 || this.orgType===2){ - return "交易商户数" - }else if(this.orgType ===3){ - return "交易门店数" - }else{ - return "交易门店数" - } - } - }, - created() { - // console.log(null == 0) - this.init() - // console.log(this.orgType) - this.getOrderReport() - this.getOrderInit() - }, - methods: { - search(v,isClear){ - console.log(v) - v.status = v.orderStatus; - v.endTime = v.endDay; - v.staTime = v.startDay; - // v.orgId = v.mgrList[0] || ''; - this.filter.orderId =""; - this.finished = false; - this.init(v,isClear) - this.getOrderReport(v) - }, - // 获取过滤条件 - getOrderInit() { - // this.$api.zfbLxReport({ - - // }).then((res) => { - // let body = res.body, - // insTermVoList = body.insTermVoList || [], - // orderStatusList = body.orderStatusList || [], - // orgBaseInfVoList = body.orgBaseInfVoList || []; - // this.periodsArr = insTermVoList; - // // this.statusArr = orderStatusList; - // // this.belongArr = orgBaseInfVoList; - - // }).catch((err) => { - - // }); - - }, - // 跳转到详情页面 - go(id) { - this.$router.push(`/order/lxOredrDetail?id=${id}`) - }, - calcLabel(item){ - switch (this.orgType) { - case 1: - item.label = item.merName - break; - case 2: - item.label = item.merName - break; - case 3: - item.label = item.storeName - break; - case 4: - item.label = item.recordPerson - break; - } - }, - // 获取订单列表 - init(params = this.filter,isClear) { - let p = getParams(this.orgType, this.id) - params.prodTypeId = this.typeId; - params = Object.assign(params, p) - this.loading = true; - // this.list = [ - // { - // userName: '刘肖百', - // usrNo: 13688892222, - // statusStr: 0, - // bdUsr: '马小琴', - // time: '2019-08-13 11:59:09', - // address: '银川市金凤区鼎诚中国移动通讯服务' - // }, - // { - // userName: '刘肖百', - // usrNo: 13688892222, - // statusStr: 2, - // bdUsr: '马小琴', - // time: '2019-08-13 11:59:09', - // address: '银川市金凤区鼎诚中国移动通讯服务' - // }, - // { - // userName: '刘肖百', - // usrNo: 13688892222, - // statusStr: 1, - // bdUsr: '马小琴', - // time: '2019-08-13 11:59:09', - // address: '银川市金凤区鼎诚中国移动通讯服务' - // }, - // ] - // console.log(new Date().valueOf()) - //拉新列表初始化 - this.$api.zfbLxInit().then(res => { - this.belongArr = res.body.orgInfList; - console.log(this.belongArr.length) - if(this.belongArr.length == 0){ - console.log('this.belongArr') - this.belongArr.push({code:'code', name:''}) - } - this.statusArr = res.body.statusList; - }) - // this.$api.zfbLxList().then(res => { - - // }) - console.log(params.merList) - let date = { - status : params.orderStatus, - endTime : params.endDay, - staTime : params.startDay, - orgId : '' - } - if(params.merList) { - date.orgId = params.merList[0]; - } - if(params.chanList) { - date.orgId = params.chanList[0]; - } - if(params.storeList) { - date.orgId = params.storeList[0]; - } - this.$api.zfbLxList({...date}).then(res => { - // console.log(res.body) - this.filter = {...params}; - this.list = res.body; - // console.log(this.list) - this.$forceUpdate(); - // if(isClear){ - // this.list = []; - // console.log('is') - // } - let list = res.body || [], - len = list.length; - if (len) { - this.filter.orderId = list[list.length - 1].orderId; - // list.forEach(item => { - // this.calcLabel(item) - // let color = 'success'; - // switch (item.status) { - // case 1: - // color = 'success'; - // break; - // case 2: - // color = 'error'; - // break; - // case 0: - // color = 'warning'; - // break; - // case 3: - // color = 'warning'; - // break; - // } - // this.list.push({ - // ...item, - // list: [{ - // value: item.settAmt, - // label: '分期本金(元)', - // }, - // { - // value: item.insTermStr, - // label: '分期期数(月)', - // }, - // { - // value: item.statusStr, - // label: '订单状态', - // color - // } - // ] - // }) - // }) - } - if (len < 10) { - this.finished = true; - } - this.loading = false; - this.isShow = false; - }).catch((err) => { - this.finished = true; - this.loading = false; - }); - }, - //订单导出 - exportFile() { - if (!this.list.length) { - this.$notify('暂无数据导出') - return; - } - console.log(this.filter) - let date = { - status : this.filter.orderStatus, - endTime : this.filter.endDay, - staTime : this.filter.startDay, - orgId : '' - } - if(params.merList) { - date.orgId = params.merList[0]; - } - if(params.chanList) { - date.orgId = params.chanList[0]; - } - if(params.storeList) { - date.orgId = params.storeList[0]; - } - this.$api.zfbLxExport(date).then((res) => { - - this.exporShow = true; - - // this.$dialog.alert({ - // showCancelButton: false, - // message: `<div> - // <p>已将信息发送至邮箱,请注意查收</p> - // <p>${this.userinfo.email}</p> - // </div>` - // }).then(() => { - // - // }); - }).catch((err) => { - - }); - }, - // 获取订单统计数据 - getOrderReport(params) { - console.log(params) - // params.status = params.orderStatus; - let date = { - status : '', - endTime : '', - staTime : '', - orgId : '' - } - if(params) { - console.log('1') - date.endTime = params.endDay; - date.staTime = params.startDay; - date.status = params.orderStatus; - if(params.merList) { - date.orgId = params.merList[0]; - } - if(params.chanList) { - date.orgId = params.chanList[0]; - } - if(params.storeList) { - date.orgId = params.storeList[0]; - } - } - this.$api.zfbLxReport({ - ...date, - prodId: this.prodId, - pageType: 2, - }).then(({ - body - }) => { - this.orderData = []; - this.orderData.push({ - title: '待确认', - num: body.dqrNum || 0, - }) - this.orderData.push({ - title: '拉新', - num: body.lxNum || 0, - }) - let num = body.lxAndBkNum || 0; - // if(this.orgType==4){ - // num = "—"; - // } - this.orderData.push({ - title: "拉新+绑卡", - num - }) - }).catch((err) => { - - }) - }, - }, - } -</script> - -<style lang="less" scoped> - .fs-12{ - font-size: 12px; - color: #999; - } - .fs-14{ - font-size: 14px; - color: #333333; - } - .bor-box{ - box-sizing: border-box; - } - .flex{ - .flex(); - } - .fw{ - font-weight: bold; - } - .order-hb-box { - padding-top: 44px; - background-color: @c-bg-f5; - } - .order-list { - padding: 0 8px 30px; - - .info { - margin-bottom: 20px; - } - } - .popup-content{ - height: 150px; - width: 280px; - border-radius: 3px; - .icon-box{ - z-index: 99999; - height: 64px; - width: 64px; - position: absolute; - left: 50%; - background:rgba(66,61,93,0.1); - border-radius: 50%; - transform: translate(-50%,-50%); - - .child{ - height: 55px; - width: 55px; - background:rgba(66,61,93,0.8); - border-radius: 50%; - } - } - .text{ - width: 210px; - text-align: center; - margin: 0 auto; - padding-top: 50px; - line-height: 18px; - .top{ - color: @c-text-666; - } - } - .btn-submit{ - .lh(44px); - position: absolute; - width: 100%; - bottom: 0; - color: @c-text-default; - } - } - .lx-list{ - width: 96%; - height: 135px; - margin: 0 2%; - background: #FFFFFF; - margin-top: 10px; - // &:extend(.bor-box); - // box-sizing: border-box; - &-head{ - width: 100%; - .flex(); - text-align: center; - &-item{ - width: 30%; - height: 77px; - :first-child{ - margin-top: 22px; - margin-bottom: 9px; - } - :last-child{ - font-size: 12px; - color: #999; - } - } - } - &-foot{ - height: 50px; - width: 92%; - margin: 0 2%; - padding: 0 2%; - font-size: 12px; - color: #999; - background: #F7F7FA; - &-top{ - .flex(space-between, center); - height: 25px; - line-height: 25px; - margin-bottom: 3px; - } - } - } -</style> diff --git a/src/views/zfblx/lxOrderDetail.vue b/src/views/zfblx/lxOrderDetail.vue deleted file mode 100644 index 19190df..0000000 --- a/src/views/zfblx/lxOrderDetail.vue +++ /dev/null @@ -1,189 +0,0 @@ -<!-- - * @Author: 小明丶 - * @Date: 2019-08-19 16:20:48 - * @LastEditors: 小明丶 - * @LastEditTime: 2019-10-22 08:56:10 - * @Description: 花呗分期——订单详情 - --> -<template> - <div class="hb-detail-box h-100-g"> - <v-navbar title="订单详情" fixed></v-navbar> - <div class="content"> - <div class="cell-group"> - <van-cell :value="form.usrName" title='姓名' readonly></van-cell> - <van-cell :value="form.usrNo" title='手机号' readonly></van-cell> - </div> - - <div class="cell-group"> - <van-cell v-if="form.creTime" :value="form.creTime | timeformat('yyyy-MM-dd')" title='交易时间' readonly></van-cell> - <van-cell v-else title='交易时间' readonly></van-cell> - <van-cell :value="form.status" :value-class="statusColor" title='订单状态' readonly>{{ form.status == 0 ? '待确认' : form.status == 1? '拉新' : form.status == 2? '拉新+绑卡' : '无效' }}</van-cell> - </div> - - <div class="cell-group" > - <van-cell :value="form.chanName || '无'" title='办理渠道' readonly></van-cell> - <van-cell :value="form.merName || '无'" title='办理商户' readonly></van-cell> - <van-cell :value="form.storeName || '无'" title='办理门店' readonly></van-cell> - <van-cell :value="form.mgrName || '无'" title='办单员' readonly></van-cell> - </div> - - <!-- <div class="cell-group"> - <van-cell :value="form.rate + '%'" title='费率' readonly></van-cell> - </div> --> - </div> - - <!-- <footer class="footer flex-center-g"> - <van-button class="btn" v-if="form.refundStatus==1" @click="refund">退款</van-button> - <van-button class="btn" v-if="form.status==0" @click="showCode">显示支付二维码</van-button> - </footer> --> - - </div> -</template> - -<script> - import { - mapState - } from 'vuex'; - export default { - data() { - return { - form: {}, - statusColor:'', - id: this.$route.query.id, //lx订单详情id - } - }, - computed: { - id() { - return this.$route.query.id - }, - typeId() { - return this.$route.query.typeId - }, - ...mapState(['userinfo']) - }, - created() { - this.init() - }, - methods: { - init() { - // this.$api.getHBDetail(this.id).then((res) => { - // this.form = res.body || {}; - // if(this.form) { - // if (this.form.status == 1) { - // this.statusColor = 'status-val-done'; - // } else if (this.form.status == 2) { - // this.statusColor = 'status-val-error'; - // } else if (this.form.status == 3) { - // this.statusColor = 'status-val-refund'; - // } else if (this.form.status == 0) { - // this.statusColor = 'status-val-wait'; - // } else { - // this.statusColor = 'status-val-done'; - // } - // } - // }).catch((err) => { - - // }); - //拉新列表初始化 - this.$api.zfbLxList().then(res => { - res.body.filter( item => { - if(item.id == this.id) this.form = item - }) - // console.log(this.form) - switch (this.form.status) { - case 0: - this.statusColor = 'status-val-wait' - break; - case 1: - this.statusColor = 'status-val-done' - case 2: - this.statusColor = 'status-val-done' - break; - case 2: - this.statusColor = 'status-val-error' - break; - - default: - break; - } - }).catch((err) => { - - }); - }, - //退款 - refund() { - this.$dialog.confirm({ - message: '是否确认退款' - }).then(() => { - this.$api.hbOrderRefund(this.id).then((res) => { - if (res.errorCode == 0) { - this.$notify('退款成功'); - this.$router.back(); - } - }).catch((err) => { - - }); - }).catch(() => { - // on cancel - }); - // this - - }, - //展示二维码 - showCode() { - if (this.form.payCode) { - // window.sessionStorage.setItem("hbpayQrCodeUrl", this.payCode); - let queryObj = { - payQrCodeUrl:this.form.payCode, - orderId: this.form.orderId, - totalAmount: this.form.insAmt, - term: this.form.insTerm, - typeId:this.typeId || '' - } - this.$router.push({ - path: "/hb-getHBQRCode", - query: queryObj - }) - } - } - }, - } -</script> -<style lang="less" scoped> - .status-val-done { - color:#19BE6B; - } - .status-val-refund { - color:#FF9900; - } - .status-val-wait { - color:#333333; - } - .status-val-error { - color:#ED4014; - } - .hb-detail-box { - padding-top: 44px; - background-color: @c-bg-f5; - - .content { - padding: 10px 8px; - } - - .cell-group { - margin-bottom: 10px; - } - } - - .footer { - padding-bottom: 30px; - margin: 0 8px; - background-color: @c-bg-f5; - - .btn { - width: 50%; - color: @c-text-fff; - background-color: @c-bg-default; - } - } -</style> diff --git a/static/agreement1.js b/static/agreement1.js deleted file mode 100644 index b2e6235..0000000 --- a/static/agreement1.js +++ /dev/null @@ -1,3 +0,0 @@ -const agreement1='<div><p style="line-height:19pt; margin:0pt; orphans:0; text-align:center; widows:0"><span style="font-family:DengXian; font-size:20pt">智享微金融</span><span style="font-family:DengXian; font-size:20pt">用户服务协议</span></p><p style="line-height:19pt; margin:0pt; orphans:0; text-indent:26.25pt; widows:0"><span style="font-family:DengXian; font-size:13pt">为使用</span><span style="font-family:DengXian; font-size:13pt">智享微金融</span><span style="font-family:DengXian; font-size:13pt">的服务</span><span style=" font-size:13pt">,</span><span style="font-family:DengXian; font-size:13pt">您应当阅读并遵守《</span><span style="font-family:DengXian; font-size:13pt">智享微金融</span><span style="font-family:DengXian; font-size:13pt">服务协议》</span><span style=" font-size:13pt">(</span><span style="font-family:DengXian; font-size:13pt">以下简称</span><span style=" font-size:13pt">“</span><span style="font-family:DengXian; font-size:13pt">本协议</span><span style=" font-size:13pt">”)</span><span style="font-family:DengXian; font-size:13pt">。请您务必审慎阅读、充分理解各条款内容</span><span style=" font-size:13pt">,</span><span style="font-family:DengXian; font-size:13pt">特别是免除或者限制责任的条款、管辖与法律适用条款</span><span style=" font-size:13pt">,</span><span style="font-family:DengXian; font-size:13pt">以及开通或使用某项服务的单独协议。限制、免责条款可能以黑体加粗或加下划线的形式提示您重点注意。除非您已阅读并接受本协议所有条款</span><span style=" font-size:13pt">,</span><span style="font-family:DengXian; font-size:13pt">否则您无权使用</span><span style="font-family:DengXian; font-size:13pt">智享微金融</span><span style="font-family:DengXian; font-size:13pt">提供的服务。您使用</span><span style="font-family:DengXian; font-size:13pt">智享微金融</span><span style="font-family:DengXian; font-size:13pt">的服务即视为您已阅读并同意上述协议的约束。如果您未满</span><span style=" font-size:13pt">18</span><span style="font-family:DengXian; font-size:13pt">周岁</span><span style=" font-size:13pt">,</span><span style="font-family:DengXian; font-size:13pt">请在法定监护人的陪同下阅读本协议</span><span style=" font-size:13pt">,</span><span style="font-family:DengXian; font-size:13pt">并特别注意未成年人使用条款。</span></p><p style="line-height:19pt; margin:0pt; orphans:0; widows:0"><span style="font-family:DengXian; font-size:13pt">一、</span><span style="font-family:DengXian; font-size:13pt">【</span><span style="font-family:DengXian; font-size:13pt">协议的范围】</span></p><p style="line-height:19pt; margin:0pt; orphans:0; widows:0"><span style=" font-size:13pt">1.1</span><span style="font-family:DengXian; font-size:13pt">本协议是您与</span><span style="font-family:DengXian; font-size:13pt">智享微金融</span><span style="font-family:DengXian; font-size:13pt">之间关于用户使用</span><span style="font-family:DengXian; font-size:13pt">智享微金融</span><span style="font-family:DengXian; font-size:13pt">相关服务所订立的协议。</span><span style=" font-size:13pt">“</span><span style="font-family:DengXian; font-size:13pt">智享微金融</span><span style=" font-size:13pt">”</span><span style="font-family:DengXian; font-size:13pt">是指</span><span style="font-family:DengXian; font-size:13pt">唯知科技</span><span style="font-family:DengXian; font-size:13pt">公司的产品。</span><span style=" font-size:13pt">“</span><span style="font-family:DengXian; font-size:13pt">用户</span><span style=" font-size:13pt">”</span><span style="font-family:DengXian; font-size:13pt">是指使用</span><span style="font-family:DengXian; font-size:13pt">智享微金融</span><span style="font-family:DengXian; font-size:13pt">相关服务的使用人</span><span style=" font-size:13pt">,</span><span style="font-family:DengXian; font-size:13pt">在本协议中更多地称为</span><span style=" font-size:13pt">“</span><span style="font-family:DengXian; font-size:13pt">您</span><span style=" font-size:13pt">”</span><span style="font-family:DengXian; font-size:13pt">。</span></p><p style="line-height:19pt; margin:0pt; orphans:0; widows:0"><span style=" font-size:13pt">1.2</span><span style="font-family:DengXian; font-size:13pt">本协议项下的服务是指</span><span style="font-family:DengXian; font-size:13pt">智享微金融</span><span style="font-family:DengXian; font-size:13pt">向用户提供的包括但不限于</span><span style="font-family:DengXian; font-size:13pt">零售金融服务、</span><span style="font-family:DengXian; font-size:13pt">移动服务</span><span style="font-family:DengXian; font-size:13pt">、</span><span style="font-family:DengXian; font-size:13pt">电子商务和广告等产品及服务</span><span style=" font-size:13pt">(</span><span style="font-family:DengXian; font-size:13pt">以下简称</span><span style=" font-size:13pt">“</span><span style="font-family:DengXian; font-size:13pt">本服务</span><span style=" font-size:13pt">”</span><span style=" font-size:13pt">)</span></p><p style="line-height:19pt; margin:0pt; orphans:0; widows:0"><span style="font-family:DengXian; font-size:13pt">二、</span><span style="font-family:DengXian; font-size:13pt">【帐号与密码安全</span><span style="font-family:DengXian; font-size:13pt">】</span></p><p style="line-height:19pt; margin:0pt; orphans:0; widows:0"><span style=" font-size:13pt">2.1</span><span style="font-family:DengXian; font-size:13pt">您在使用</span><span style="font-family:DengXian; font-size:13pt">智享微金融</span><span style="font-family:DengXian; font-size:13pt">的服务时需要注册一个帐号。</span></p><p style="line-height:19pt; margin:0pt; orphans:0; widows:0"><span style=" font-size:13pt">2.2</span><span style="font-family:DengXian; font-size:13pt">智享微金融</span><span style="font-family:DengXian; font-size:13pt">特别提醒您应妥善保管您的帐号和密码。当您使用完毕后</span><span style=" font-size:13pt">,</span><span style="font-family:DengXian; font-size:13pt">应安全退出。因您保管不善可能导致遭受盗号或密码失窃</span><span style=" font-size:13pt">,</span><span style="font-family:DengXian; font-size:13pt">责任由您自行承担。</span></p><p style="line-height:19pt; margin:0pt; orphans:0; widows:0"><span style="font-family:DengXian; font-size:13pt">三、【用户</span><span style="font-family:DengXian; font-size:13pt">信息保护】</span></p><p style="line-height:19pt; margin:0pt; orphans:0; widows:0"><span style=" font-size:13pt">3.1</span><span style="font-family:DengXian; font-size:13pt">保护用户</span><span style="font-family:DengXian; font-size:13pt">信息是</span><span style="font-family:DengXian; font-size:13pt">智享微金融</span><span style="font-family:DengXian; font-size:13pt">的一项基本原则</span><span style="font-family:DengXian; font-size:13pt">智享微金融</span><span style="font-family:DengXian; font-size:13pt">将按照本协议的规定收集、使用、储存和分享您的</span><span style="font-family:DengXian; font-size:13pt">信息</span></p><p style="line-height:19pt; margin:0pt; orphans:0; widows:0"><span style=" font-size:13pt">3.2</span><span style="font-family:DengXian; font-size:13pt">您在注册帐号或使用本服务的过程中</span><span style=" font-size:13pt">,</span><span style="font-family:DengXian; font-size:13pt">可能需要填写一些必要的信息。若国家法律法规有特殊规定的</span><span style=" font-size:13pt">,</span><span style="font-family:DengXian; font-size:13pt">您需要填写真实的身份信息。若您填写的信息不完整</span><span style=" font-size:13pt">,</span><span style="font-family:DengXian; font-size:13pt">无法使用本服务或在使用过程中受到限制。</span></p><p style="line-height:19pt; margin:0pt; orphans:0; widows:0"><span style=" font-size:13pt">3.3</span><span style="font-family:DengXian; font-size:13pt">一般情况下</span><span style=" font-size:13pt">,</span><span style="font-family:DengXian; font-size:13pt">您可随时浏览、修改自己提交的信息</span><span style=" font-size:13pt">,</span><span style="font-family:DengXian; font-size:13pt">但出于安全性和身份识别的考虑</span><span style=" font-size:13pt">,</span><span style="font-family:DengXian; font-size:13pt">您可能无法修改注册时提供的初始注册信息及其他验证信息。</span></p><p style="line-height:19pt; margin:0pt; orphans:0; widows:0"><span style=" font-size:13pt">3.4</span><span style="font-family:DengXian; font-size:13pt">智享微金融</span><span style="font-family:DengXian; font-size:13pt">将运用各种安全</span><span style="font-family:DengXian; font-size:13pt">技术和程序建立完善的管理制度来保护您的</span><span style="font-family:DengXian; font-size:13pt">信息</span><span style=" font-size:13pt">,</span><span style="font-family:DengXian; font-size:13pt">以免遭受未经授权的访问、使用或披露</span></p><p style="line-height:19pt; margin:0pt; orphans:0; widows:0"><span style=" font-size:13pt">3.</span><span style=" font-size:13pt">5</span><span style="font-family:DengXian; font-size:13pt">智享微金融</span><span style="font-family:DengXian; font-size:13pt">不会将您的</span><span style="font-family:DengXian; font-size:13pt">信息转移或披露给任何非关联的第三方</span><span style=" font-size:13pt">,</span><span style="font-family:DengXian; font-size:13pt">除非</span><span style="font-family:DengXian; font-size:13pt">:</span></p><p style="line-height:19pt; margin:0pt; orphans:0; widows:0"><span style=" font-size:13pt">(1)</span><span style="font-family:DengXian; font-size:13pt">相关法律法规或法院、政府机关要求</span><span style=" font-size:13pt">;</span></p><p style="line-height:19pt; margin:0pt; orphans:0; widows:0"><span style=" font-size:13pt">(2)</span><span style="font-family:DengXian; font-size:13pt">为完成合并、分立、收购或资产转让而转移</span><span style=" font-size:13pt">;</span></p><p style="line-height:19pt; margin:0pt; orphans:0; widows:0"><span style=" font-size:13pt">(3)</span><span style="font-family:DengXian; font-size:13pt">为提供您要求的服务所必需。</span></p><p style="line-height:19pt; margin:0pt; orphans:0; widows:0"><span style=" font-size:13pt">3.</span><span style=" font-size:13pt">6</span><span style="font-family:DengXian; font-size:13pt">智享微金融</span><span style="font-family:DengXian; font-size:13pt">非常重视对未成年人</span><span style="font-family:DengXian; font-size:13pt">信息的保护。若您是</span><span style=" font-size:13pt">18</span><span style="font-family:DengXian; font-size:13pt">周岁以下的未</span><span style="font-family:DengXian; font-size:13pt">成年人</span><span style=" font-size:13pt">,</span><span style="font-family:DengXian; font-size:13pt">在使用</span><span style="font-family:DengXian; font-size:13pt">智享微金融</span><span style="font-family:DengXian; font-size:13pt">的服务前</span><span style=" font-size:13pt">,</span><span style="font-family:DengXian; font-size:13pt">应事先取得您家长或法定监护人</span><span style=" font-size:13pt">(</span><span style="font-family:DengXian; font-size:13pt">以下简称</span><span style=" font-size:13pt">"</span><span style="font-family:DengXian; font-size:13pt">监护人</span><span style=" font-size:13pt">")</span><span style="font-family:DengXian; font-size:13pt">的书面同意。</span></p><p style="line-height:19pt; margin:0pt; orphans:0; widows:0"><span style="font-family:DengXian; font-size:13pt">四、【使用本服务的方式】</span></p><p style="line-height:19pt; margin:0pt; orphans:0; widows:0"><span style=" font-size:13pt">4.1</span><span style="font-family:DengXian; font-size:13pt">除非您与</span><span style="font-family:DengXian; font-size:13pt">智享微金融</span><span style="font-family:DengXian; font-size:13pt">另有约定</span><span style=" font-size:13pt">,</span><span style="font-family:DengXian; font-size:13pt">您同意本服务为商业性质的使用。</span></p><p style="line-height:19pt; margin:0pt; orphans:0; widows:0"><span style=" font-size:13pt">4.2</span><span style="font-family:DengXian; font-size:13pt">您应当通过</span><span style="font-family:DengXian; font-size:13pt">智享微金融</span><span style="font-family:DengXian; font-size:13pt">提供或认可的方式使用本服务。您依本协议条款所取得的权利不可转让。</span></p><p style="line-height:19pt; margin:0pt; orphans:0; widows:0"><span style=" font-size:13pt">4.3</span><span style="font-family:DengXian; font-size:13pt">您不得使用未经</span><span style="font-family:DengXian; font-size:13pt">智享微金融</span><span style="font-family:DengXian; font-size:13pt">授权的插件、外挂或第三方工具对本协议项下的服务进行干扰、破坏、修改或施加其他影响。</span></p><p style="line-height:19pt; margin:0pt; orphans:0; widows:0"><span style="font-family:DengXian; font-size:13pt">五、【按现状提供服务】</span></p><p style="line-height:19pt; margin:0pt; orphans:0; widows:0"><span style="font-family:DengXian; font-size:13pt">您理解并同意</span><span style=" font-size:13pt">,</span><span style="font-family:DengXian; font-size:13pt">智享微金融</span><span style="font-family:DengXian; font-size:13pt">的服务是按照现有技术和条件所能达到的现状提供的。</span><span style="font-family:DengXian; font-size:13pt">智享微金融</span><span style="font-family:DengXian; font-size:13pt">会尽最大努力向您提供服务</span><span style=" font-size:13pt">,</span><span style="font-family:DengXian; font-size:13pt">确保服务的连贯性和安全性</span><span style=" font-size:13pt">;</span><span style="font-family:DengXian; font-size:13pt">但</span><span style="font-family:DengXian; font-size:13pt">智享微金融</span><span style="font-family:DengXian; font-size:13pt">不能随时预见和防范法律、技术以及其他风险</span><span style=" font-size:13pt">,</span><span style="font-family:DengXian; font-size:13pt">包括但不限于不可抗力、病毒、木马、黑客攻击、系统不稳定、第三方服务瑕疵、政府行为等原因可能导致的服务中断、数据丢失以及其他的损失和风险。</span></p><p style="line-height:19pt; margin:0pt; orphans:0; widows:0"><span style="font-family:DengXian; font-size:13pt">六、【自备设备】</span></p><p style="line-height:19pt; margin:0pt; orphans:0; widows:0"><span style=" font-size:13pt">6.</span><span style=" font-size:13pt">1</span><span style="font-family:DengXian; font-size:13pt">您应当理解</span><span style=" font-size:13pt">,</span><span style="font-family:DengXian; font-size:13pt">您使用</span><span style="font-family:DengXian; font-size:13pt">智享微金融</span><span style="font-family:DengXian; font-size:13pt">的服务需自行准备与相关服务有关的终端设备</span><span style=" font-size:13pt">(</span><span style="font-family:DengXian; font-size:13pt">如手机</span><span style=" font-size:13pt">),</span><span style="font-family:DengXian; font-size:13pt">并承担所需的费用</span><span style=" font-size:13pt">(</span><span style="font-family:DengXian; font-size:13pt">如电话费、上网费等费用</span><span style=" font-size:13pt">)</span><span style="font-family:DengXian; font-size:13pt">。</span></p><p style="line-height:19pt; margin:0pt; orphans:0; widows:0"><span style=" font-size:13pt">6.2</span><span style="font-family:DengXian; font-size:13pt">您理解并同意</span><span style=" font-size:13pt">,</span><span style="font-family:DengXian; font-size:13pt">您使用本服务时会耗用您的终端设备和带宽等资源。</span></p><p style="line-height:19pt; margin:0pt; orphans:0; widows:0"><span style="font-family:DengXian; font-size:13pt">七、【广告】</span></p><p style="line-height:19pt; margin:0pt; orphans:0; widows:0"><span style=" font-size:13pt">7.1</span><span style="font-family:DengXian; font-size:13pt">您同意</span><span style="font-family:DengXian; font-size:13pt">智享微金融</span><span style="font-family:DengXian; font-size:13pt">可以在提供服务的过程中自行或由第三方广告商向您发送广告、推广或宣传信息</span><span style=" font-size:13pt">(</span><span style="font-family:DengXian; font-size:13pt">包括商业与非商业信息</span><span style=" font-size:13pt">),</span><span style="font-family:DengXian; font-size:13pt">其方式和范围可不经向您特别通知而变更</span><span style="font-family:DengXian; font-size:13pt">。</span></p><p style="line-height:19pt; margin:0pt; orphans:0; widows:0"><span style=" font-size:13pt">7.</span><span style=" font-size:13pt">2</span><span style="font-family:DengXian; font-size:13pt">智享微金融</span><span style="font-family:DengXian; font-size:13pt">可能为您提供选择关闭广告信息的功能</span><span style=" font-size:13pt">,</span><span style="font-family:DengXian; font-size:13pt">但任何时候您都不得以本协议未明确约定或</span><span style="font-family:DengXian; font-size:13pt">智享微金融</span><span style="font-family:DengXian; font-size:13pt">未书面许可的方式屏蔽、过滤广告信息</span><span style="font-family:DengXian; font-size:13pt">。</span></p><p style="line-height:19pt; margin:0pt; orphans:0; widows:0"><span style=" font-size:13pt">7.3</span><span style="font-family:DengXian; font-size:13pt">智享微金融</span><span style="font-family:DengXian; font-size:13pt">依照法律的规定对广告商履行相关义务</span><span style=" font-size:13pt">,</span><span style="font-family:DengXian; font-size:13pt">您应当自行判断广告信息的真实性并为自己的判断行为负责</span><span style=" font-size:13pt">,</span><span style="font-family:DengXian; font-size:13pt">除法律明确规定外</span><span style=" font-size:13pt">,</span><span style="font-family:DengXian; font-size:13pt">您因依该广告信息进行的交易或前述广告商提供的内容而遭受的损失或损害</span><span style="font-family:DengXian; font-size:13pt">智享微金融</span><span style="font-family:DengXian; font-size:13pt">不承担责任</span><span style="font-family:DengXian; font-size:13pt">。</span></p><p style="line-height:19pt; margin:0pt; orphans:0; widows:0"><span style=" font-size:13pt">7.4</span><span style="font-family:DengXian; font-size:13pt">您同意</span><span style=" font-size:13pt">,</span><span style="font-family:DengXian; font-size:13pt">对</span><span style="font-family:DengXian; font-size:13pt">智享微金融</span><span style="font-family:DengXian; font-size:13pt">服务中出现的广告信息</span><span style=" font-size:13pt">,</span><span style="font-family:DengXian; font-size:13pt">您应审慎判断其真实性和可靠性</span><span style=" font-size:13pt">,</span><span style="font-family:DengXian; font-size:13pt">除法律明确规定外</span><span style=" font-size:13pt">,</span><span style="font-family:DengXian; font-size:13pt">您应对依该广告信息进行的交易负责。</span></p><p style="line-height:19pt; margin:0pt; orphans:0; widows:0"><span style="font-family:DengXian; font-size:13pt">八、【收费服务】</span></p><p style="line-height:19pt; margin:0pt; orphans:0; widows:0"><span style=" font-size:13pt">8.1</span><span style="font-family:DengXian; font-size:13pt">智享微金融</span><span style="font-family:DengXian; font-size:13pt">的部分服务是以收费方式提供的</span><span style=" font-size:13pt">,</span><span style="font-family:DengXian; font-size:13pt">如您使用收费服务</span><span style=" font-size:13pt">,</span><span style="font-family:DengXian; font-size:13pt">请遵守相关的协议</span><span style="font-family:DengXian; font-size:13pt">。</span></p><p style="line-height:19pt; margin:0pt; orphans:0; widows:0"><span style=" font-size:13pt">8.2</span><span style="font-family:DengXian; font-size:13pt">智享微金融</span><span style="font-family:DengXian; font-size:13pt">可能根据实际需要对收费服务的收费标准、方式进行修改</span><span style="font-family:DengXian; font-size:13pt">和变更</span><span style=" font-size:13pt">,</span><span style="font-family:DengXian; font-size:13pt">智享微金融</span><span style="font-family:DengXian; font-size:13pt">也可能会对部分免费服务开始收费。前述修改、变更或开始收费前</span><span style=" font-size:13pt">,</span><span style="font-family:DengXian; font-size:13pt">智享微金融</span><span style="font-family:DengXian; font-size:13pt">将在相应服务页面进行通知或公告。如果您不同意上述修改、变更或付费内容</span><span style=" font-size:13pt">,</span><span style="font-family:DengXian; font-size:13pt">则应停止使用该服务</span><span style="font-family:DengXian; font-size:13pt">。</span></p><p style="line-height:19pt; margin:0pt; orphans:0; widows:0"><span style="font-family:DengXian; font-size:13pt">九、【第三方提供的产品或服务】</span></p><p style="line-height:19pt; margin:0pt; orphans:0; widows:0"><span style="font-family:DengXian; font-size:13pt">您在</span><span style="font-family:DengXian; font-size:13pt">智享微金融</span><span style="font-family:DengXian; font-size:13pt">平台上使用第三方提供的产品或服务时</span><span style=" font-size:13pt">,</span><span style="font-family:DengXian; font-size:13pt">除遵守本协议约定外</span><span style=" font-size:13pt">,</span><span style="font-family:DengXian; font-size:13pt">还应遵守第三方的用户协议。</span><span style="font-family:DengXian; font-size:13pt">智享微金融</span><span style="font-family:DengXian; font-size:13pt">和第三方对可能岀现的纠纷在法律规定和约定的范围内各自承担责任。</span></p><p style="line-height:19pt; margin:0pt; orphans:0; widows:0"><span style="font-family:DengXian; font-size:13pt">十、【基于软件提供服务】</span></p><p style="line-height:19pt; margin:0pt; orphans:0; widows:0"><span style="font-family:DengXian; font-size:13pt">若</span><span style="font-family:DengXian; font-size:13pt">智享微金融</span><span style="font-family:DengXian; font-size:13pt">依托</span><span style=" font-size:13pt">“</span><span style="font-family:DengXian; font-size:13pt">软件</span><span style=" font-size:13pt">”</span><span style="font-family:DengXian; font-size:13pt">向您提供服务</span><span style=" font-size:13pt">,</span><span style="font-family:DengXian; font-size:13pt">您还应遵守以</span></p><p style="line-height:19pt; margin:0pt; orphans:0; widows:0"><span style="font-family:DengXian; font-size:13pt">下约定</span><span style="font-family:DengXian; font-size:13pt">:</span></p><p style="line-height:19pt; margin:0pt; orphans:0; widows:0"><span style=" font-size:13pt">1</span><span style=" font-size:13pt">0.1</span><span style="font-family:DengXian; font-size:13pt">您在使用本服务的过程中可能需要下载软件</span><span style=" font-size:13pt">,</span><span style="font-family:DengXian; font-size:13pt">对于这些软件</span><span style=" font-size:13pt">,</span><span style="font-family:DengXian; font-size:13pt">智享微金融</span><span style="font-family:DengXian; font-size:13pt">给予您一项个人</span><span style="font-family:DengXian; font-size:13pt">或工商主体</span><span style="font-family:DengXian; font-size:13pt">的、不可转让及非排他性的许可。您仅可为访问或使用本服务的目的而使用这些软件</span><span style="font-family:DengXian; font-size:13pt">。</span></p><p style="line-height:19pt; margin:0pt; orphans:0; widows:0"><span style=" font-size:13pt">1</span><span style=" font-size:13pt">0.2</span><span style="font-family:DengXian; font-size:13pt">为了改善用户体验、保证服务的安全性及产品功能的一致性</span><span style=" font-size:13pt">,</span><span style="font-family:DengXian; font-size:13pt">智享微金融</span><span style="font-family:DengXian; font-size:13pt">可能会对软件进行更新。您应该将相关软件更新到最新版本</span><span style=" font-size:13pt">,</span><span style="font-family:DengXian; font-size:13pt">否则</span><span style="font-family:DengXian; font-size:13pt">智享微金融</span><span style="font-family:DengXian; font-size:13pt">并不保证其能正常使用。</span></p><p style="line-height:19pt; margin:0pt; orphans:0; widows:0"><span style=" font-size:13pt">1</span><span style=" font-size:13pt">0.3</span><span style="font-family:DengXian; font-size:13pt">智享微金融</span><span style="font-family:DengXian; font-size:13pt">可能为不同的终端设备开发不同的软件版本</span><span style=" font-size:13pt">,</span><span style="font-family:DengXian; font-size:13pt">您应当根据实际情况选择下载合适的版本进行安装。您可以直接从</span><span style="font-family:DengXian; font-size:13pt">智享微金融</span><span style="font-family:DengXian; font-size:13pt">的网站上获取软件</span><span style=" font-size:13pt">,</span><span style="font-family:DengXian; font-size:13pt">也可以从得到</span><span style="font-family:DengXian; font-size:13pt">智享微金融</span><span style="font-family:DengXian; font-size:13pt">授权的第三方获取。如果您从未经</span><span style="font-family:DengXian; font-size:13pt">智享微金融</span><span style="font-family:DengXian; font-size:13pt">授权的第三方获取软件或与软件名称相同的安装程序</span><span style=" font-size:13pt">,</span><span style="font-family:DengXian; font-size:13pt">智享微金融</span><span style="font-family:DengXian; font-size:13pt">无法保证该软件能够正常使用</span><span style=" font-size:13pt">,</span><span style="font-family:DengXian; font-size:13pt">并对因此给您造成的损失不予负责。</span></p><p style="line-height:19pt; margin:0pt; orphans:0; widows:0"><span style=" font-size:13pt">1</span><span style=" font-size:13pt">0.4</span><span style="font-family:DengXian; font-size:13pt">除非</span><span style="font-family:DengXian; font-size:13pt">智享微金融</span><span style="font-family:DengXian; font-size:13pt">书面许可</span><span style=" font-size:13pt">,</span><span style="font-family:DengXian; font-size:13pt">您不得从事下列任一行为</span><span style="font-family:DengXian; font-size:13pt">:</span></p><p style="line-height:19pt; margin:0pt; orphans:0; widows:0"><span style=" font-size:13pt">(1)</span><span style="font-family:DengXian; font-size:13pt">删除软件及其副本上关于著作权的信息</span><span style=" font-size:13pt">;</span></p><p style="line-height:19pt; margin:0pt; orphans:0; widows:0"><span style=" font-size:13pt">(</span><span style=" font-size:13pt">2)</span><span style="font-family:DengXian; font-size:13pt">对软件进行反向工程、反向汇编、反向编译</span><span style=" font-size:13pt">,</span><span style="font-family:DengXian; font-size:13pt">或者以其他方式尝试发现软件的源代码</span><span style=" font-size:13pt">;</span></p><p style="line-height:19pt; margin:0pt; orphans:0; widows:0"><span style=" font-size:13pt">(</span><span style=" font-size:13pt">3</span><span style=" font-size:13pt">)</span><span style="font-family:DengXian; font-size:13pt">对</span><span style="font-family:DengXian; font-size:13pt">智享微金融</span><span style="font-family:DengXian; font-size:13pt">拥有知识产权的内容进行使用、出租、岀借、复制、修改、链接、转载、汇编、发表、出版、建立镜像站点等</span></p><p style="line-height:19pt; margin:0pt; orphans:0; widows:0"><span style=" font-size:13pt">(4)</span><span style="font-family:DengXian; font-size:13pt">对软件或者软件运行过程中释放到任何终端内存中的数据、软件运行过程中客户端与服务器端的交互数据</span><span style=" font-size:13pt">,</span><span style="font-family:DengXian; font-size:13pt">以及软件运行所必需的系统数据</span><span style=" font-size:13pt">,</span><span style="font-family:DengXian; font-size:13pt">进行复制、修改、增加、删除、挂接运行或创作任何衍生作品</span><span style=" font-size:13pt">,</span><span style="font-family:DengXian; font-size:13pt">形式包括但不限于使用插件、外挂或非经</span><span style="font-family:DengXian; font-size:13pt">智享微金融</span><span style="font-family:DengXian; font-size:13pt">授权的第三方工具</span><span style=" font-size:13pt">/</span><span style="font-family:DengXian; font-size:13pt">服务接入软件和相关系统</span><span style=" font-size:13pt">;</span></p><p style="line-height:19pt; margin:0pt; orphans:0; widows:0"><span style=" font-size:13pt">(5)</span><span style="font-family:DengXian; font-size:13pt">通过修改或伪造软件运行中的指令、数据</span><span style=" font-size:13pt">,</span><span style="font-family:DengXian; font-size:13pt">增加、删减、变动软件的功能或运行效果</span><span style=" font-size:13pt">,</span><span style="font-family:DengXian; font-size:13pt">或者将用于上述用途的软件、方法进行运营或向公众传播</span><span style=" font-size:13pt">,</span><span style="font-family:DengXian; font-size:13pt">无论这些行为是否为商业目的</span><span style=" font-size:13pt">;</span></p><p style="line-height:19pt; margin:0pt; orphans:0; widows:0"><span style=" font-size:13pt">(6)</span><span style="font-family:DengXian; font-size:13pt">通过非</span><span style="font-family:DengXian; font-size:13pt">智享微金融</span><span style="font-family:DengXian; font-size:13pt">开发、授权的第三方软件、插件、外挂、系统</span><span style=" font-size:13pt">,</span><span style="font-family:DengXian; font-size:13pt">登录或使用</span><span style="font-family:DengXian; font-size:13pt">智享微金融</span><span style="font-family:DengXian; font-size:13pt">软件及服务或制作、发布、传播非掌上客如去开发、授权的第三方软件、插件、外挂、系统</span></p><p style="line-height:19pt; margin:0pt; orphans:0; widows:0"><span style="font-family:DengXian; font-size:13pt">十一、【知识产权声明】</span></p><p style="line-height:19pt; margin:0pt; orphans:0; widows:0"><span style=" font-size:13pt">12.1</span><span style="font-family:DengXian; font-size:13pt">您在使用本服务时须遵守法律法规</span><span style=" font-size:13pt">,</span><span style="font-family:DengXian; font-size:13pt">不得利用本服务从事违法违规行为</span><span style=" font-size:13pt">,</span><span style="font-family:DengXian; font-size:13pt">包括但不限于</span><span style="font-family:DengXian; font-size:13pt">:</span></p><p style="line-height:19pt; margin:0pt; orphans:0; widows:0"><span style=" font-size:13pt">(1)</span><span style="font-family:DengXian; font-size:13pt">发布、传送、传播、储存危害国家安全统一、破坏社会稳定、违反公序良俗、侮辱、诽谤、淫秽、暴力以及任何违反国家法律法规的内容</span><span style=" font-size:13pt">;</span></p><p style="line-height:19pt; margin:0pt; orphans:0; widows:0"><span style=" font-size:13pt">(2)</span><span style="font-family:DengXian; font-size:13pt">发布、传送、传播、储存侵害他人知识产权、商业秘密等合法权利的内容</span><span style=" font-size:13pt">;</span></p><p style="line-height:19pt; margin:0pt; orphans:0; widows:0"><span style=" font-size:13pt">(3)</span><span style="font-family:DengXian; font-size:13pt">恶意虚构事实、隐瞒真相以误导、欺骗他人</span><span style=" font-size:13pt">;</span></p><p style="line-height:19pt; margin:0pt; orphans:0; widows:0"><span style=" font-size:13pt">(4)</span><span style="font-family:DengXian; font-size:13pt">发布、传送、传播广告信息及垃圾信息</span></p><p style="line-height:19pt; margin:0pt; orphans:0; widows:0"><span style=" font-size:13pt">(</span><span style=" font-size:13pt">5)</span><span style="font-family:DengXian; font-size:13pt">其他法律法规禁止的行为。</span></p><p style="line-height:19pt; margin:0pt; orphans:0; widows:0"><span style=" font-size:13pt">12.2</span><span style="font-family:DengXian; font-size:13pt">如果您违反了本条约定</span><span style=" font-size:13pt">,</span><span style="font-family:DengXian; font-size:13pt">相关国家机关或机构可能会对您提起诉讼、罚款或采取其他制裁措施</span><span style=" font-size:13pt">,</span><span style="font-family:DengXian; font-size:13pt">并要求</span><span style="font-family:DengXian; font-size:13pt">智享微金融</span><span style="font-family:DengXian; font-size:13pt">给予协助。造成损害的</span><span style=" font-size:13pt">,</span><span style="font-family:DengXian; font-size:13pt">您应依法予以赔偿</span><span style=" font-size:13pt">,</span><span style="font-family:DengXian; font-size:13pt">智享微金融</span><span style="font-family:DengXian; font-size:13pt">不承担任何责任</span></p><p style="line-height:19pt; margin:0pt; orphans:0; widows:0"><span style=" font-size:13pt">12.3</span><span style="font-family:DengXian; font-size:13pt">如果</span><span style="font-family:DengXian; font-size:13pt">智享微金融</span><span style="font-family:DengXian; font-size:13pt">发现或收到他人举报您发布的信息违反本条约定</span><span style=" font-size:13pt">,</span><span style="font-family:DengXian; font-size:13pt">智享微金融</span><span style="font-family:DengXian; font-size:13pt">有权进行独立判断并采取技术手段予以删除、屏蔽或断开链接。同时</span><span style=" font-size:13pt">,</span><span style="font-family:DengXian; font-size:13pt">智享微金融</span><span style="font-family:DengXian; font-size:13pt">有权视用户的行为性质</span><span style=" font-size:13pt">,</span><span style="font-family:DengXian; font-size:13pt">采取包括但不限于暂停或终止服务</span><span style=" font-size:13pt">,</span><span style="font-family:DengXian; font-size:13pt">限制、冻结或终止用户账号的使用</span><span style=" font-size:13pt">,</span><span style="font-family:DengXian; font-size:13pt">追究法律责任等措施。</span></p><p style="line-height:19pt; margin:0pt; orphans:0; widows:0"><span style=" font-size:13pt">12.4</span><span style="font-family:DengXian; font-size:13pt">您违反本条约定</span><span style=" font-size:13pt">,</span><span style="font-family:DengXian; font-size:13pt">导致任何第三方损害的</span><span style=" font-size:13pt">,</span><span style="font-family:DengXian; font-size:13pt">您应当独立承担责任</span><span style=" font-size:13pt">;</span><span style="font-family:DengXian; font-size:13pt">智享微金融</span><span style="font-family:DengXian; font-size:13pt">因此遭受损失的</span><span style=" font-size:13pt">,</span><span style="font-family:DengXian; font-size:13pt">您也应当并赔偿。</span></p><p style="line-height:19pt; margin:0pt; orphans:0; widows:0"><span style="font-family:DengXian; font-size:13pt">十三、【遵守当地法律监管】</span></p><p style="line-height:19pt; margin:0pt; orphans:0; widows:0"><span style=" font-size:13pt">13.1</span><span style="font-family:DengXian; font-size:13pt">您在使用本服务过程中应当遵守当地相关的法律法规</span><span style=" font-size:13pt">,</span><span style="font-family:DengXian; font-size:13pt">并尊重当地的道德和风俗习惯。如果您的行为违反了当地法律法规或道德风俗</span><span style=" font-size:13pt">,</span><span style="font-family:DengXian; font-size:13pt">您应当为此独立承担责任</span></p><p style="line-height:19pt; margin:0pt; orphans:0; widows:0"><span style=" font-size:13pt">13.</span><span style=" font-size:13pt">2</span><span style="font-family:DengXian; font-size:13pt">您应避免因使用本服务而使</span><span style="font-family:DengXian; font-size:13pt">智享微金融</span><span style="font-family:DengXian; font-size:13pt">卷入政治和公共事件</span><span style=" font-size:13pt">,</span><span style="font-family:DengXian; font-size:13pt">否则</span><span style="font-family:DengXian; font-size:13pt">智享微金融</span><span style="font-family:DengXian; font-size:13pt">有权暂停或终止对您的服务</span></p><p style="line-height:19pt; margin:0pt; orphans:0; widows:0"><span style="font-family:DengXian; font-size:13pt">十四、【用户发送、传播的內容与第三方投诉处理】</span></p><p style="line-height:19pt; margin:0pt; orphans:0; widows:0"><span style=" font-size:13pt">14.</span><span style=" font-size:13pt">1</span><span style="font-family:DengXian; font-size:13pt">您通过本服务发送或传播的内容</span><span style=" font-size:13pt">(</span><span style="font-family:DengXian; font-size:13pt">包括但不限于网页、文字、图片、音频、视频、图表等</span><span style=" font-size:13pt">)</span><span style="font-family:DengXian; font-size:13pt">均由您自行承担责任。</span></p><p style="line-height:19pt; margin:0pt; orphans:0; widows:0"><span style=" font-size:13pt">1</span><span style=" font-size:13pt">4.2</span><span style="font-family:DengXian; font-size:13pt">您发送或传播的内容应有合法来源</span><span style=" font-size:13pt">,</span><span style="font-family:DengXian; font-size:13pt">相关内容为您所有或您已获得权利人的授权。</span></p><p style="line-height:19pt; margin:0pt; orphans:0; widows:0"><span style=" font-size:13pt">14.3</span><span style="font-family:DengXian; font-size:13pt">您同意</span><span style="font-family:DengXian; font-size:13pt">智享微金融</span><span style="font-family:DengXian; font-size:13pt">可为履行本协议或提供本服务的目的而使用您发送或传播的内容。</span></p><p style="line-height:19pt; margin:0pt; orphans:0; widows:0"><span style=" font-size:13pt">14.4</span><span style="font-family:DengXian; font-size:13pt">如果</span><span style="font-family:DengXian; font-size:13pt">智享微金融</span><span style="font-family:DengXian; font-size:13pt">收到权利人通知</span><span style=" font-size:13pt">,</span><span style="font-family:DengXian; font-size:13pt">主张您发送或传播的内容侵犯其相</span><span style="font-family:DengXian; font-size:13pt">关权利的</span><span style=" font-size:13pt">,</span><span style="font-family:DengXian; font-size:13pt">您同意</span><span style="font-family:DengXian; font-size:13pt">智享微金融</span><span style="font-family:DengXian; font-size:13pt">有权进行独立判断并采取删除、屏蔽或断开链接等措施</span></p><p style="line-height:19pt; margin:0pt; orphans:0; widows:0"><span style=" font-size:13pt">14.</span><span style=" font-size:13pt">5</span><span style="font-family:DengXian; font-size:13pt">您使用本服务时不得违反国家法律法规、侵害他人合法权益。您理解并同意</span><span style=" font-size:13pt">,</span><span style="font-family:DengXian; font-size:13pt">如您被他人投诉侵权或您投诉他人侵权</span><span style=" font-size:13pt">,</span><span style="font-family:DengXian; font-size:13pt">智享微金融</span><span style="font-family:DengXian; font-size:13pt">有权将争议中相关方的主体联系方式、投诉相关内容等必要信息提供给其他争议方或相关部门</span><span style=" font-size:13pt">,</span><span style="font-family:DengXian; font-size:13pt">以便及时解决投诉纠纷</span><span style=" font-size:13pt">,</span><span style="font-family:DengXian; font-size:13pt">保护他人合法权</span></p><p style="line-height:19pt; margin:0pt; orphans:0; widows:0"><span style="font-family:DengXian; font-size:13pt">十五、【不可抗力及其他免责事由】</span></p><p style="line-height:19pt; margin:0pt; orphans:0; widows:0"><span style=" font-size:13pt">15.1</span><span style="font-family:DengXian; font-size:13pt">您理解并同意</span><span style=" font-size:13pt">,</span><span style="font-family:DengXian; font-size:13pt">在使用本服务的过程中</span><span style=" font-size:13pt">,</span><span style="font-family:DengXian; font-size:13pt">可能会遇到不可抗力等风险因素</span><span style=" font-size:13pt">,</span><span style="font-family:DengXian; font-size:13pt">使本服务发生中断。不可抗力是指不能预见、不能克服并不能避免且对一方或双方造成重大影响的客观事件</span><span style=" font-size:13pt">,</span><span style="font-family:DengXian; font-size:13pt">包括但不限于自然灾害如洪水、地震、瘟疫流行和风暴等以及社会事件如战争、动乱、政府行为等。岀现上述情况时</span><span style=" font-size:13pt">,</span><span style="font-family:DengXian; font-size:13pt">智享微金融</span><span style="font-family:DengXian; font-size:13pt">将努力在第一时间与相关单位配合</span><span style=" font-size:13pt">,</span><span style="font-family:DengXian; font-size:13pt">及时进行修复</span><span style=" font-size:13pt">,</span><span style="font-family:DengXian; font-size:13pt">但是由此给您造成的损失</span><span style="font-family:DengXian; font-size:13pt">智享微金融</span><span style="font-family:DengXian; font-size:13pt">在法律允许的范围内免责</span></p><p style="line-height:19pt; margin:0pt; orphans:0; widows:0"><span style=" font-size:13pt">15.2</span><span style="font-family:DengXian; font-size:13pt">在法律允许的范围内</span><span style=" font-size:13pt">,</span><span style="font-family:DengXian; font-size:13pt">智享微金融</span><span style="font-family:DengXian; font-size:13pt">对以下情形导致的服务中断或受阻不承担责任</span><span style="font-family:DengXian; font-size:13pt">:</span></p><p style="line-height:19pt; margin:0pt; orphans:0; widows:0"><span style=" font-size:13pt">(</span><span style=" font-size:13pt">1)</span><span style="font-family:DengXian; font-size:13pt">受到手机病毒、木马或其他恶意程序、黑客攻击的破坏</span><span style=" font-size:13pt">;</span></p><p style="line-height:19pt; margin:0pt; orphans:0; widows:0"><span style=" font-size:13pt">(2)</span><span style="font-family:DengXian; font-size:13pt">用户或</span><span style="font-family:DengXian; font-size:13pt">智享微金融</span><span style="font-family:DengXian; font-size:13pt">的电脑软件、系统、硬件和通信线路出现故障</span><span style=" font-size:13pt">;</span></p><p style="line-height:19pt; margin:0pt; orphans:0; widows:0"><span style=" font-size:13pt">(3)</span><span style="font-family:DengXian; font-size:13pt">用户操作不当</span><span style=" font-size:13pt">;</span></p><p style="line-height:19pt; margin:0pt; orphans:0; widows:0"><span style=" font-size:13pt">(</span><span style=" font-size:13pt">4)</span><span style="font-family:DengXian; font-size:13pt">用户通过非</span><span style="font-family:DengXian; font-size:13pt">智享微金融</span><span style="font-family:DengXian; font-size:13pt">授权的方式使用本服务</span><span style=" font-size:13pt">;</span></p><p style="line-height:19pt; margin:0pt; orphans:0; widows:0"><span style=" font-size:13pt">(5)</span><span style="font-family:DengXian; font-size:13pt">其他</span><span style="font-family:DengXian; font-size:13pt">智享微金融</span><span style="font-family:DengXian; font-size:13pt">无法控制或合理预见的情形</span></p><p style="line-height:19pt; margin:0pt; orphans:0; widows:0"><span style=" font-size:13pt">15.3</span><span style="font-family:DengXian; font-size:13pt">您理解并同意</span><span style=" font-size:13pt">,</span><span style="font-family:DengXian; font-size:13pt">在使用本服务的过程中</span><span style=" font-size:13pt">,</span><span style="font-family:DengXian; font-size:13pt">可能会遇到网络信息或其他用户行为带来的风险</span><span style=" font-size:13pt">,</span><span style="font-family:DengXian; font-size:13pt">智享微金融</span><span style="font-family:DengXian; font-size:13pt">不对任何信息的真实性、适用性、合法性承担责任</span><span style=" font-size:13pt">,</span><span style="font-family:DengXian; font-size:13pt">也不对因侵权行为给您造成的损害负责。这些风险包括但不限于</span><span style="font-family:DengXian; font-size:13pt">:</span></p><p style="line-height:19pt; margin:0pt; orphans:0; widows:0"><span style=" font-size:13pt">(1)</span><span style="font-family:DengXian; font-size:13pt">来自他人匿名或冒名的含有威胁、诽谤、令人反感或非法内容的信息</span></p><p style="line-height:19pt; margin:0pt; orphans:0; widows:0"><span style=" font-size:13pt">(2)</span><span style="font-family:DengXian; font-size:13pt">因使用本协议项下的服务</span><span style=" font-size:13pt">,</span><span style="font-family:DengXian; font-size:13pt">遭受他人误导、欺骗或其他导致或可能导致的任何心理、生理上的伤害以及经济上的损失</span><span style=" font-size:13pt">;</span></p><p style="line-height:19pt; margin:0pt; orphans:0; widows:0"><span style=" font-size:13pt">(</span><span style=" font-size:13pt">3)</span><span style="font-family:DengXian; font-size:13pt">其他因网络信息或用户行为引起的风险</span></p><p style="line-height:19pt; margin:0pt; orphans:0; widows:0"><span style=" font-size:13pt">15.4</span><span style="font-family:DengXian; font-size:13pt">您理解并同意</span><span style=" font-size:13pt">,</span><span style="font-family:DengXian; font-size:13pt">本服务并非为某些特定目的而设计</span><span style=" font-size:13pt">,</span><span style="font-family:DengXian; font-size:13pt">包括但不限于核设施、军事用途、医疗设施、交通通讯等重要领域。如果因为软件或服务的原因导致上述操作失败而带来的人员伤亡、财产损失和环境破坏等</span><span style=" font-size:13pt">,</span><span style="font-family:DengXian; font-size:13pt">智享微金融</span><span style="font-family:DengXian; font-size:13pt">不承担法律责任。</span></p><p style="line-height:19pt; margin:0pt; orphans:0; widows:0"><span style=" font-size:13pt">15.5</span><span style="font-family:DengXian; font-size:13pt">智享微金融</span><span style="font-family:DengXian; font-size:13pt">依据本协议约定获得处理违法违规内容的权利</span><span style=" font-size:13pt">,</span><span style="font-family:DengXian; font-size:13pt">该权利不构成</span><span style="font-family:DengXian; font-size:13pt">智享微金融</span><span style="font-family:DengXian; font-size:13pt">的义务或承诺</span><span style=" font-size:13pt">,</span><span style="font-family:DengXian; font-size:13pt">智享微金融</span><span style="font-family:DengXian; font-size:13pt">不能保证及时发现违法行为或进行相应处理。</span></p><p style="line-height:19pt; margin:0pt; orphans:0; widows:0"><span style=" font-size:13pt">15.6</span><span style="font-family:DengXian; font-size:13pt">在任何情况下</span><span style=" font-size:13pt">,</span><span style="font-family:DengXian; font-size:13pt">您不应轻信借款、索要密码或其他涉及财产的网络信</span><span style="font-family:DengXian; font-size:13pt">息。涉及财产操作的</span><span style=" font-size:13pt">,</span><span style="font-family:DengXian; font-size:13pt">请一定先核实对方身份</span><span style=" font-size:13pt">,</span><span style="font-family:DengXian; font-size:13pt">并请经常留意</span><span style="font-family:DengXian; font-size:13pt">智享微金融</span><span style="font-family:DengXian; font-size:13pt">有关防范诈骗犯罪的提示。</span></p><p style="line-height:19pt; margin:0pt; orphans:0; widows:0"><span style="font-family:DengXian; font-size:13pt">十六、【协议的生效与变更】</span></p><p style="line-height:19pt; margin:0pt; orphans:0; widows:0"><span style=" font-size:13pt">16.1</span><span style="font-family:DengXian; font-size:13pt">您使用</span><span style="font-family:DengXian; font-size:13pt">智享微金融</span><span style="font-family:DengXian; font-size:13pt">的服务即视为您已阅读本协议并接受本协议的约束</span></p><p style="line-height:19pt; margin:0pt; orphans:0; widows:0"><span style=" font-size:13pt">16.2</span><span style="font-family:DengXian; font-size:13pt">智享微金融</span><span style="font-family:DengXian; font-size:13pt">有权在必要时修改本协议条款。您可以在相关服务页面查阅最新版本的协议条款</span></p><p style="line-height:19pt; margin:0pt; orphans:0; widows:0"><span style=" font-size:13pt">16.3</span><span style="font-family:DengXian; font-size:13pt">本协议条款变更后</span><span style=" font-size:13pt">,</span><span style="font-family:DengXian; font-size:13pt">如果您继续使用</span><span style="font-family:DengXian; font-size:13pt">智享微金融</span><span style="font-family:DengXian; font-size:13pt">提供的软件或服务</span><span style=" font-size:13pt">,</span><span style="font-family:DengXian; font-size:13pt">即视为您已接受修改后的协议。如果您不接受修改后的协议</span><span style=" font-size:13pt">,</span><span style="font-family:DengXian; font-size:13pt">应当停止使用</span><span style="font-family:DengXian; font-size:13pt">智享微金融</span><span style="font-family:DengXian; font-size:13pt">提供的软件或服务</span></p><p style="line-height:19pt; margin:0pt; orphans:0; widows:0"><span style="font-family:DengXian; font-size:13pt">十七、【服务的变更、中断、终止</span><span style="font-family:DengXian; font-size:13pt">】</span></p><p style="line-height:19pt; margin:0pt; orphans:0; widows:0"><span style=" font-size:13pt">17.1</span><span style="font-family:DengXian; font-size:13pt">智享微金融</span><span style="font-family:DengXian; font-size:13pt">可能会对服务内容进行变更</span><span style=" font-size:13pt">,</span><span style="font-family:DengXian; font-size:13pt">也可能会中断、中止或终止服务。</span></p><p style="line-height:19pt; margin:0pt; orphans:0; widows:0"><span style=" font-size:13pt">17.</span><span style=" font-size:13pt">2</span><span style="font-family:DengXian; font-size:13pt">您理解并同意</span><span style=" font-size:13pt">,</span><span style="font-family:DengXian; font-size:13pt">智享微金融</span><span style="font-family:DengXian; font-size:13pt">有权自主决定经营策略。在</span><span style="font-family:DengXian; font-size:13pt">智享微金融</span><span style="font-family:DengXian; font-size:13pt">发生合并、分立、收购、资产转让时</span><span style=" font-size:13pt">,</span><span style="font-family:DengXian; font-size:13pt">智享微金融</span><span style="font-family:DengXian; font-size:13pt">可向第三方转让本服务下相关资产</span><span style=" font-size:13pt">;</span><span style="font-family:DengXian; font-size:13pt">智享微金融</span><span style="font-family:DengXian; font-size:13pt">也可在单方通知您后</span><span style=" font-size:13pt">,</span><span style="font-family:DengXian; font-size:13pt">将本协议下部分或全部服务转交由第三方运营或履行。具体受让主体以</span><span style="font-family:DengXian; font-size:13pt">智享微金融</span><span style="font-family:DengXian; font-size:13pt">通知的为准</span></p><p style="line-height:19pt; margin:0pt; orphans:0; widows:0"><span style=" font-size:13pt">17.</span><span style=" font-size:13pt">3</span><span style="font-family:DengXian; font-size:13pt">如发生下列任何一种情形</span><span style=" font-size:13pt">,</span><span style="font-family:DengXian; font-size:13pt">智享微金融</span><span style="font-family:DengXian; font-size:13pt">有权不经通知而中断或终止向您提供的服务</span><span style="font-family:DengXian; font-size:13pt">:</span></p><p style="line-height:19pt; margin:0pt; orphans:0; widows:0"><span style=" font-size:13pt">(1)</span><span style="font-family:DengXian; font-size:13pt">根据法律规定您应提交真实信息</span><span style=" font-size:13pt">,</span><span style="font-family:DengXian; font-size:13pt">而您提供的个人资料不真实、或与注册时信息不一致又未能提供合理证明</span><span style="font-family:DengXian; font-size:13pt">;</span></p><p style="line-height:19pt; margin:0pt; orphans:0; widows:0"><span style=" font-size:13pt">(2)</span><span style="font-family:DengXian; font-size:13pt">您违反相关法律法规或本协议的约定</span><span style=" font-size:13pt">;</span></p><p style="line-height:19pt; margin:0pt; orphans:0; widows:0"><span style=" font-size:13pt">(3)</span><span style="font-family:DengXian; font-size:13pt">按照法律规定或主管部门的要求</span><span style=" font-size:13pt">;</span></p><p style="line-height:19pt; margin:0pt; orphans:0; widows:0"><span style=" font-size:13pt">(4)</span><span style="font-family:DengXian; font-size:13pt">出于安全的原因或其他必要的情形。</span></p><p style="line-height:19pt; margin:0pt; orphans:0; widows:0"><span style=" font-size:13pt">17.</span><span style=" font-size:13pt">4</span><span style="font-family:DengXian; font-size:13pt">智享微金融</span><span style="font-family:DengXian; font-size:13pt">有权按本协议</span><span style=" font-size:13pt">8.2</span><span style="font-family:DengXian; font-size:13pt">条的约定进行收费。若您未按时足额付费</span><span style=" font-size:13pt">,</span><span style="font-family:DengXian; font-size:13pt">智享微金融</span><span style="font-family:DengXian; font-size:13pt">有权中断、中止或终止提供服务。</span></p><p style="line-height:19pt; margin:0pt; orphans:0; widows:0"><span style=" font-size:13pt">17.5</span><span style="font-family:DengXian; font-size:13pt">您有责任自行备份存储在本服务中的数据。如果您的服务被终止</span><span style=" font-size:13pt">,</span><span style="font-family:DengXian; font-size:13pt">智享微金融</span><span style="font-family:DengXian; font-size:13pt">可以从服务器上永久地删除您的数据</span><span style=" font-size:13pt">,</span><span style="font-family:DengXian; font-size:13pt">但法律法规另有规定的除外。服务终止后</span><span style=" font-size:13pt">,</span><span style="font-family:DengXian; font-size:13pt">智享微金融</span><span style="font-family:DengXian; font-size:13pt">没有义务向您返还数据。</span></p><p style="line-height:19pt; margin:0pt; orphans:0; widows:0"><span style="font-family:DengXian; font-size:13pt">十八、【管辖与法律适用】</span></p><p style="line-height:19pt; margin:0pt; orphans:0; widows:0"><span style=" font-size:13pt">18.1</span><span style="font-family:DengXian; font-size:13pt">本协议的成立、生效、履行、解释及纠纷解决</span><span style=" font-size:13pt">,</span><span style="font-family:DengXian; font-size:13pt">适用中华人民共和国大陆地区法律</span><span style=" font-size:13pt">(</span><span style="font-family:DengXian; font-size:13pt">不包括冲突法</span><span style=" font-size:13pt">)</span><span style="font-family:DengXian; font-size:13pt">。</span></p><p style="line-height:19pt; margin:0pt; orphans:0; widows:0"><span style=" font-size:13pt">18.</span><span style=" font-size:13pt">2</span><span style="font-family:DengXian; font-size:13pt">本协议签订地为中华人民共和国四川省成都市。</span></p><p style="line-height:19pt; margin:0pt; orphans:0; widows:0"><span style=" font-size:13pt">18.3</span><span style="font-family:DengXian; font-size:13pt">若您和</span><span style="font-family:DengXian; font-size:13pt">智享微金融</span><span style="font-family:DengXian; font-size:13pt">之间发生任何纠纷或争议</span><span style=" font-size:13pt">,</span><span style="font-family:DengXian; font-size:13pt">首先应友好协商解决</span><span style=" font-size:13pt">;</span><span style="font-family:DengXian; font-size:13pt">协商不成的</span><span style=" font-size:13pt">,</span><span style="font-family:DengXian; font-size:13pt">您同意将纠纷或争议提交本协议签订地有管辖权的人民法院管辖。</span></p><p style="line-height:19pt; margin:0pt; orphans:0; widows:0"><span style=" font-size:13pt">18.</span><span style=" font-size:13pt">4</span><span style="font-family:DengXian; font-size:13pt">本协议所有条款的标题仅为阅读方便</span><span style=" font-size:13pt">,</span><span style="font-family:DengXian; font-size:13pt">本身并无实际涵义</span><span style=" font-size:13pt">,</span><span style="font-family:DengXian; font-size:13pt">不能作为本协议涵义解释的依据。</span></p><p style="line-height:19pt; margin:0pt; orphans:0; widows:0"><span style=" font-size:13pt">18.5</span><span style="font-family:DengXian; font-size:13pt">本协议条款无论因何种原因部分无效或不可执行</span><span style=" font-size:13pt">,</span><span style="font-family:DengXian; font-size:13pt">其余条款仍有效</span><span style=" font-size:13pt">,</span><span style="font-family:DengXian; font-size:13pt">对双方具有约束力。</span></p><p style="line-height:19pt; margin:0pt; orphans:0; widows:0"><span style="font-family:DengXian; font-size:13pt">十九、【未成年人使用条款</span><span style="font-family:DengXian; font-size:13pt">】</span></p><p style="line-height:19pt; margin:0pt; orphans:0; widows:0"><span style=" font-size:13pt">19.1</span><span style="font-family:DengXian; font-size:13pt">若用户未满</span><span style=" font-size:13pt">18</span><span style="font-family:DengXian; font-size:13pt">周岁</span><span style=" font-size:13pt">,</span><span style="font-family:DengXian; font-size:13pt">则为未成年人</span><span style=" font-size:13pt">,</span><span style="font-family:DengXian; font-size:13pt">应在监护人监护、指导下阅读本协议和使用本服务</span></p><p style="line-height:19pt; margin:0pt; orphans:0; widows:0"><span style=" font-size:13pt">19.2</span><span style="font-family:DengXian; font-size:13pt">未成年人用户涉世未深</span><span style=" font-size:13pt">,</span><span style="font-family:DengXian; font-size:13pt">容易被网络虚象迷惑</span><span style=" font-size:13pt">,</span><span style="font-family:DengXian; font-size:13pt">且好奇心强</span><span style=" font-size:13pt">,</span><span style="font-family:DengXian; font-size:13pt">遇事缺乏随机应变的处理能力</span><span style=" font-size:13pt">,</span><span style="font-family:DengXian; font-size:13pt">很容易被别有用心的人利用而又缺乏自我保护能力。因此</span><span style=" font-size:13pt">,</span><span style="font-family:DengXian; font-size:13pt">未成年人用户在使用本服务时应注意以下事项</span><span style=" font-size:13pt">,</span><span style="font-family:DengXian; font-size:13pt">提高安全意识</span><span style=" font-size:13pt">,</span><span style="font-family:DengXian; font-size:13pt">加强自我保护</span><span style="font-family:DengXian; font-size:13pt">:</span></p><p style="line-height:19pt; margin:0pt; orphans:0; widows:0"><span style=" font-size:13pt">(1)</span><span style="font-family:DengXian; font-size:13pt">认清网络世界与现实世界的区别</span><span style=" font-size:13pt">,</span><span style="font-family:DengXian; font-size:13pt">避免沉迷于网络</span><span style=" font-size:13pt">,</span><span style="font-family:DengXian; font-size:13pt">影响日常的学习生活</span></p><p style="line-height:19pt; margin:0pt; orphans:0; widows:0"><span style=" font-size:13pt">(2)</span><span style="font-family:DengXian; font-size:13pt">填写个人资料时</span><span style=" font-size:13pt">,</span><span style="font-family:DengXian; font-size:13pt">加强个人保护意识</span><span style=" font-size:13pt">,</span><span style="font-family:DengXian; font-size:13pt">以免不良分子对个人生活造成骚扰</span><span style=" font-size:13pt">;</span></p><p style="line-height:19pt; margin:0pt; orphans:0; widows:0"><span style=" font-size:13pt">(3)</span><span style="font-family:DengXian; font-size:13pt">在监护人或老师的指导下</span><span style=" font-size:13pt">,</span><span style="font-family:DengXian; font-size:13pt">学习正确使用网络</span></p><p style="line-height:19pt; margin:0pt; orphans:0; widows:0"><span style=" font-size:13pt">(4)</span><span style="font-family:DengXian; font-size:13pt">避免陌生网友随意会面或参与联谊活动</span><span style=" font-size:13pt">,</span><span style="font-family:DengXian; font-size:13pt">以免不法分子有机可乘</span><span style=" font-size:13pt">,</span><span style="font-family:DengXian; font-size:13pt">危及自身安全。</span></p><p style="line-height:19pt; margin:0pt; orphans:0; widows:0"><span style=" font-size:13pt">1</span><span style=" font-size:13pt">9.3</span><span style="font-family:DengXian; font-size:13pt">监护人、学校均应对未成年人使用本服务时多做引导。特别是家长应关心子女的成长</span><span style=" font-size:13pt">,</span><span style="font-family:DengXian; font-size:13pt">注意与子女的沟通</span><span style=" font-size:13pt">,</span><span style="font-family:DengXian; font-size:13pt">指导子女上网应该注意的安全问题</span><span style=" font-size:13pt">,</span><span style="font-family:DengXian; font-size:13pt">防患于未然。</span></p><p style="line-height:19pt; margin:0pt; orphans:0; widows:0"><span style="font-family:DengXian; font-size:13pt">二十、【其他】</span></p><p style="line-height:19pt; margin:0pt; orphans:0; widows:0"><span style="font-family:DengXian; font-size:13pt">如果您对本协议或本服务有意见或建议</span><span style=" font-size:13pt">,</span><span style="font-family:DengXian; font-size:13pt">可与</span><span style="font-family:DengXian; font-size:13pt">智享微金融</span><span style="font-family:DengXian; font-size:13pt">客户服务部门联系</span><span style=" font-size:13pt">,</span><span style="font-family:DengXian; font-size:13pt">我们会给予您必要的帮助。</span><span style=" font-size:13pt">(</span><span style="font-family:DengXian; font-size:13pt">正文完</span><span style=" font-size:13pt">)</span></p></div>' - -// export default agreement; \ No newline at end of file diff --git a/static/agreement2.js b/static/agreement2.js deleted file mode 100644 index 2506e90..0000000 --- a/static/agreement2.js +++ /dev/null @@ -1 +0,0 @@ -const agreement2='<div><p style="font-size:16pt; line-height:150%; margin:0pt; orphans:0; text-align:center; widows:0"><span style="font-family:仿宋; font-size:16pt; font-weight:bold">智分期业务合作协议(普通商户版)</span><span style="font-family:仿宋; font-size:12pt"> </span></p><p style="font-size:12pt; line-height:125%; margin:0pt 0pt 0pt 271.45pt; orphans:0; padding-left:61.3pt; text-align:right; text-indent:-61.3pt; widows:0"><span style="font-family:仿宋; font-size:12pt"> </span><span style="font-family:仿宋; font-size:12pt">协议</span><span style="font-family:仿宋; font-size:12pt">编号:</span><span style="font-family:仿宋; font-size:12pt">ZFQ-SY-QC</span><span style="font-family:仿宋; font-size:12pt">-</span><span style="font-family:仿宋; font-size:12pt">2018-</span><span style="font-family:仿宋; font-size:12pt; text-decoration:underline">0001</span><span style="font-family:仿宋; font-size:12pt"> </span><span style="font-family:仿宋; font-size:12pt"> </span><span style="font-family:仿宋; font-size:12pt"> </span></p><p style="font-size:12pt; line-height:125%; margin:0pt 0pt 0pt 271.45pt; orphans:0; padding-left:61.3pt; text-align:right; text-indent:-61.3pt; widows:0"><span style="font-family:仿宋; font-size:12pt">协议</span><span style="font-family:仿宋; font-size:12pt">签订地:</span><span style="font-family:仿宋; font-size:12pt">成都市高新区</span></p><p style="font-size:12pt; line-height:150%; margin:0pt 63pt 0pt 0pt; orphans:0; text-align:justify; text-indent:24pt; widows:0"><span style="font-family:仿宋; font-size:12pt"> </span></p><p style="font-size:12pt; line-height:150%; margin:0pt 0.5pt 0pt 0pt; orphans:0; text-align:justify; text-indent:24pt; widows:0"><span style="font-family:仿宋; font-size:12pt">甲 方:</span><span style="font-family:仿宋; font-size:12pt">深圳前海彩蜂商业保理有限公司</span></p><p style="font-size:12pt; line-height:150%; margin:0pt; orphans:0; text-align:justify; text-indent:24pt; widows:0"><span style="font-family:仿宋; font-size:12pt">统一社会信用代码为:</span><span style="font-family:仿宋; font-size:12pt; text-decoration:underline">91440300MA5F1HWU0L</span></p><p style="font-size:12pt; line-height:150%; margin:0pt; orphans:0; text-align:justify; text-indent:24pt; widows:0"><span style="font-family:仿宋; font-size:12pt">业务联系人:</span><span style="font-family:仿宋; font-size:12pt; text-decoration:underline">余梦颖</span></p><p style="font-size:12pt; line-height:150%; margin:0pt; orphans:0; text-align:justify; text-indent:24pt; widows:0"><span style="font-family:仿宋; font-size:12pt">联系</span><span style="font-family:仿宋; font-size:12pt">方式:</span><span style="font-family:仿宋; font-size:12pt; text-decoration:underline">18828020724</span></p><p style="font-size:12pt; line-height:150%; margin:0pt; orphans:0; text-align:justify; widows:0"><span style="font-family:仿宋; font-size:12pt"> </span></p><p style="font-size:12pt; line-height:150%; margin:0pt 0.5pt 0pt 0pt; orphans:0; text-align:justify; text-indent:24pt; widows:0"><span style="font-family:仿宋; font-size:12pt">乙 方:</span><span style="font-family:仿宋; font-size:12pt">本次注册商户</span></p><p style="font-size:12pt; line-height:150%; margin:0pt; orphans:0; text-align:justify; text-indent:24pt; widows:0"><span style="font-family:仿宋; font-size:12pt">统一社会信用代码为:</span><span style="background-color:#ffff00; font-family:仿宋; font-size:12pt; text-decoration:underline">商户注册时填写的营业执照号</span></p><p style="font-size:12pt; line-height:150%; margin:0pt; orphans:0; text-align:justify; text-indent:24pt; widows:0"><span style="font-family:仿宋; font-size:12pt">业务联系人:</span><span style="background-color:#ffff00; font-family:仿宋; font-size:12pt; text-decoration:underline">商户注册时填写的负责人姓名</span></p><p style="font-size:12pt; line-height:150%; margin:0pt; orphans:0; text-align:justify; text-indent:24pt; widows:0"><span style="font-family:仿宋; font-size:12pt">联系</span><span style="font-family:仿宋; font-size:12pt">方式:</span><span style="background-color:#ffff00; font-family:仿宋; font-size:12pt; text-decoration:underline">商户注册时填写的负责人手机号</span></p><p style="font-size:12pt; line-height:150%; margin:0pt; orphans:0; text-align:justify; text-indent:24pt; widows:0"><span style="font-family:仿宋; font-size:12pt"> </span></p><p style="font-size:12pt; line-height:150%; margin:0pt 63pt 0pt 0pt; orphans:0; text-align:justify; text-indent:24pt; widows:0"><span style="font-family:仿宋; font-size:12pt">丙 方</span><span style="font-family:仿宋; font-size:12pt">:</span><span style="font-family:仿宋; font-size:12pt">成都唯知信息科技有限公司</span></p><p style="font-size:12pt; line-height:150%; margin:0pt; orphans:0; text-align:justify; text-indent:24pt; widows:0"><span style="font-family:仿宋; font-size:12pt">统一社会信用代码为:</span><span style="font-family:仿宋; font-size:12pt; text-decoration:underline">91510100MA6C9H4L1L</span></p><p style="font-size:12pt; line-height:150%; margin:0pt; orphans:0; text-align:justify; text-indent:24pt; widows:0"><span style="font-family:仿宋; font-size:12pt">业务联系人:</span><span style="font-family:仿宋; font-size:12pt; text-decoration:underline">易轩弘</span></p><p style="font-size:12pt; line-height:150%; margin:0pt; orphans:0; text-align:justify; text-indent:24pt; widows:0"><span style="font-family:仿宋; font-size:12pt">联系</span><span style="font-family:仿宋; font-size:12pt">方式:</span><span style="font-family:仿宋; font-size:12pt; text-decoration:underline">18108214026</span></p><p style="font-size:12pt; line-height:150%; margin:0pt; orphans:0; text-align:justify; text-indent:24pt; widows:0"><span style="font-family:仿宋; font-size:12pt"> </span></p><p style="font-size:12pt; line-height:150%; margin:0pt; orphans:0; text-align:justify; text-indent:24pt; widows:0"><span style="font-family:仿宋; font-size:12pt; font-weight:bold">鉴于</span><span style="font-family:仿宋; font-size:12pt">:</span></p><p style="font-size:12pt; line-height:150%; margin:0pt; orphans:0; text-align:justify; text-indent:24pt; widows:0"><span style="font-family:仿宋; font-size:12pt">甲方是一家依法设立并有效存续的商业保理公司。主要受让乙方拥有或控制的基于消费场景下产生的应收账款,为乙方用户提供分期付款服务(即“智分期”服务),进而提升乙方平台交易量。</span></p><p style="font-size:12pt; line-height:150%; margin:0pt 0pt 0pt 0.85pt; orphans:0; text-align:justify; text-indent:24pt; widows:0"><span style="font-family:仿宋; font-size:12pt">乙方是一家依法成立并有效存续的独立公司法人企业,主营</span><span style="font-family:仿宋; font-size:12pt; text-decoration:underline">汽车</span><span style="font-family:仿宋; font-size:12pt">类</span><span style="font-family:仿宋; font-size:12pt">相关产品</span><span style="font-family:仿宋; font-size:12pt">(</span><span style="font-family:仿宋; font-size:12pt">商品或服务</span><span style="font-family:仿宋; font-size:12pt">)的销售</span><span style="font-family:仿宋; font-size:12pt">并</span><span style="font-family:仿宋; font-size:12pt">提供相关服务</span><span style="font-family:仿宋; font-size:12pt">。</span></p><p style="font-size:12pt; line-height:150%; margin:0pt; orphans:0; text-align:justify; text-indent:24pt; widows:0"><span style="font-family:仿宋; font-size:12pt">丙方是一家专业的</span><span style="font-family:仿宋; font-size:12pt">系统开发服务商</span><span style="font-family:仿宋; font-size:12pt">,受甲方委托提供消费分期技术服务,致力于为商户及消费者提供基于互联网的更加便捷、安全、高效的一体化解决方案(分期服务),专注于消费品交易为主的在线分期购物商城及消费金融服务平台,是国内领先的消费品分期服务公司。</span></p><p style="font-size:12pt; line-height:150%; margin:0pt; orphans:0; text-align:justify; text-indent:24pt; widows:0"><span style="font-family:仿宋; font-size:12pt">为合理利用甲乙丙三方的有利资源,实现互利共赢,三方将合作运营并推广智分期业务,共同促进在消费业务领域的深度合作,在自愿、平等、诚信的基础上,交易各方经友好协商就智分期服务合作相关事宜达成共识,并就已经</span><span style="font-family:仿宋; font-size:12pt">确定</span><span style="font-family:仿宋; font-size:12pt">智分期交易规则、各方权利义务等内容达成如下协议,以资共同遵守。</span></p><p style="font-size:12pt; line-height:150%; margin:0pt; orphans:0; text-align:justify; text-indent:24pt; widows:0"><span style="font-family:仿宋; font-size:12pt; font-weight:bold">第一条 定义</span></p><p style="font-size:12pt; line-height:150%; margin:0pt; orphans:0; text-align:justify; text-indent:24pt; widows:0"><span style="font-family:仿宋; font-size:12pt">本协议中,除非文义另有所指,下列名词具有如下特定含义:</span></p><p style="font-size:12pt; line-height:150%; margin:0pt; orphans:0; text-align:justify; text-indent:24pt; widows:0"><span style="font-family:仿宋; font-size:12pt">1、用户:指基于甲方提供的智分期服务基础上在乙方处进行消费的个人。</span></p><p style="font-size:12pt; line-height:150%; margin:0pt; orphans:0; text-align:justify; text-indent:24pt; widows:0"><span style="font-family:仿宋; font-size:12pt">2</span><span style="font-family:仿宋; font-size:12pt">、商户:指为用户提供商品或服务(本协议统称“产品”)的供应商,即本协议中的乙方。</span></p><p style="font-size:12pt; line-height:150%; margin:0pt; orphans:0; text-align:justify; text-indent:24pt; widows:0"><span style="font-family:仿宋; font-size:12pt">3、交易规则:指标示在乙方店面或网站之上的,与用户使用乙方所提供的平台服务有关的任何规范性文件,包括但不限于购物流程、售后政策、退款说明等,同时包括智分期服务交易规则,以下统称</span><span style="font-family:仿宋; font-size:12pt">“</span><span style="font-family:仿宋; font-size:12pt">交易规则</span><span style="font-family:仿宋; font-size:12pt">”</span><span style="font-family:仿宋; font-size:12pt">。</span></p><p style="font-size:12pt; line-height:150%; margin:0pt; orphans:0; text-align:justify; text-indent:24pt; widows:0"><span style="font-family:仿宋; font-size:12pt">4、智分期服务:指甲方作为商业保理公司,受让乙方平台拥有或者控制的基于消费场景产生的应收账款,并通过乙方向用户提供的一种先消费后付款的购物体验的信用</span><span style="font-family:仿宋; font-size:12pt">分期</span><span style="font-family:仿宋; font-size:12pt">付款</span><span style="font-family:仿宋; font-size:12pt">服务</span><span style="font-family:仿宋; font-size:12pt">(以下</span><span style="font-family:仿宋; font-size:12pt">简称“</span><span style="font-family:仿宋; font-size:12pt">智分期</span><span style="font-family:仿宋; font-size:12pt">”</span><span style="font-family:仿宋; font-size:12pt">服务)</span><span style="font-family:仿宋; font-size:12pt">。</span><span style="font-family:仿宋; font-size:12pt">甲方可根据法律、法规和规范性文件的规定和营销推广的实际情况对相关技术服务的名称进行调整。甲方委托丙方为“智分期”服务提供技术支持,“智分期”服务包括但不限于以下特点:</span></p><p style="font-size:12pt; line-height:150%; margin:0pt; orphans:0; text-align:justify; text-indent:24pt; widows:0"><span style="font-family:仿宋; font-size:12pt">(1)用户可延期支付或者分期支付;</span></p><p style="font-size:12pt; line-height:150%; margin:0pt; orphans:0; text-align:justify; text-indent:24pt; widows:0"><span style="font-family:仿宋; font-size:12pt">(2)以用户的真实交易为背景;</span></p><p style="font-size:12pt; line-height:150%; margin:0pt; orphans:0; text-align:justify; text-indent:24pt; widows:0"><span style="font-family:仿宋; font-size:12pt">(3)依赖丙方优质的信用分期付款技术服务;</span></p><p style="font-size:12pt; line-height:150%; margin:0pt; orphans:0; text-align:justify; text-indent:24pt; widows:0"><span style="font-family:仿宋; font-size:12pt">(4)浮动费率。</span></p><p style="font-size:12pt; line-height:150%; margin:0pt; orphans:0; text-align:justify; text-indent:24pt; widows:0"><span style="font-family:仿宋; font-size:12pt">5</span><span style="font-family:仿宋; font-size:12pt">、信用分期服务:指商户基于智分期服务为符合条件的用户提供 “先购物、后付款”的信用赊购方式付款的平台服务。“赊购方式付款”指用户在乙方消费时,可依据乙方交易规则及相应申请流程,享受由甲方在商业保理业务基础上提供的相应的延后付款或分期付款的付款方式。</span></p><p style="font-size:12pt; line-height:150%; margin:0pt; orphans:0; text-align:justify; text-indent:24pt; widows:0"><span style="font-family:仿宋; font-size:12pt">6、</span><span style="font-family:仿宋; font-size:12pt">商业保理:是指销售商(债权人)将其与买方(债务人)订立的货物销售(服务)协议所产生的应收账款转让给商业保理公司,由商业保理公司为其提供贸易融资、应收账款管理与催收等综合性商贸服务。在本协议项下,由甲方受让乙方基于消费场景产生的应收账款,提供商业保理服务。</span></p><p style="font-size:12pt; line-height:150%; margin:0pt; orphans:0; text-align:justify; text-indent:24pt; widows:0"><span style="font-family:仿宋; font-size:12pt">7、资金服务机构:指为智分期中受让合作商户信用分期应收账款的资金机构和个人,包括且不限于银行、商业保理、融资租赁、消费金融公司、小贷公司、信托、私募基金等机构。</span></p><p style="font-size:12pt; line-height:150%; margin:0pt; orphans:0; text-align:justify; text-indent:24pt; widows:0"><span style="font-family:仿宋; font-size:12pt">8、分期服务费:指用户使用甲方提供的智分期服务需承担的服务费用,具体标准以甲方及乙方页面显示为准。</span></p><p style="font-size:12pt; line-height:150%; margin:0pt; orphans:0; text-align:justify; text-indent:24pt; widows:0"><span style="font-family:仿宋; font-size:12pt">9</span><span style="font-family:仿宋; font-size:12pt">、</span><span style="font-family:仿宋; font-size:12pt">保理</span><span style="font-family:仿宋; font-size:12pt">服务费:</span><span style="font-family:仿宋; font-size:12pt">指用户</span><span style="font-family:仿宋; font-size:12pt">使用“</span><span style="font-family:仿宋; font-size:12pt">智</span><span style="font-family:仿宋; font-size:12pt">分期</span><span style="font-family:仿宋; font-size:12pt">”</span><span style="font-family:仿宋; font-size:12pt">服务</span><span style="font-family:仿宋; font-size:12pt">时,</span><span style="font-family:仿宋; font-size:12pt">乙方</span><span style="font-family:仿宋; font-size:12pt">按照交易账款的</span><span style="font-family:仿宋; font-size:12pt">约</span><span style="font-family:仿宋; font-size:12pt">定比例</span><span style="font-family:仿宋; font-size:12pt">向甲</span><span style="font-family:仿宋; font-size:12pt">方支付的服务费用</span><span style="font-family:仿宋; font-size:12pt">即甲方在受让乙方拥有或控制的应收账款时,乙方应向甲方支付的费用,本协议项下保理服务费费率详见附表一(甲方有权根据业务发展情况调整该项费率,经相关各方书面确认后生效)。</span></p><p style="font-size:12pt; line-height:150%; margin:0pt; orphans:0; text-align:justify; text-indent:24pt; widows:0"><span style="font-family:仿宋; font-size:12pt">10</span><span style="font-family:仿宋; font-size:12pt">、交易</span><span style="font-family:仿宋; font-size:12pt">账款</span><span style="font-family:仿宋; font-size:12pt">:指用户在乙方使用“智分期</span><span style="font-family:仿宋; font-size:12pt">”</span><span style="font-family:仿宋; font-size:12pt">服务的</span><span style="font-family:仿宋; font-size:12pt">消费</span><span style="font-family:仿宋; font-size:12pt">订单(根据</span><span style="font-family:仿宋; font-size:12pt">甲方后台确认</span><span style="font-family:仿宋; font-size:12pt">的订单确定</span><span style="font-family:仿宋; font-size:12pt">)</span><span style="font-family:仿宋; font-size:12pt">对应价款的金额(即乙方与用户基于商品销售及服务并符合《合同法》相关政策法规的基础交易约定,由乙方向用户提供服务或货物产生的应收账款金额),其中不包括用户已经另行向乙方支付的款项。</span></p><p style="font-size:12pt; line-height:150%; margin:0pt; orphans:0; text-align:justify; text-indent:24pt; widows:0"><span style="font-family:仿宋; font-size:12pt">11</span><span style="font-family:仿宋; font-size:12pt">、</span><span style="font-family:仿宋; font-size:12pt">应收账款</span><span style="font-family:仿宋; font-size:12pt">受让款</span><span style="font-family:仿宋; font-size:12pt">:</span><span style="font-family:仿宋; font-size:12pt">指甲方在受让乙方拥有或控制的应收账款后,在</span><span style="font-family:仿宋; font-size:12pt">交易账款中</span><span style="font-family:仿宋; font-size:12pt">扣除保理</span><span style="font-family:仿宋; font-size:12pt">服务费</span><span style="font-family:仿宋; font-size:12pt">后应向乙方支付</span><span style="font-family:仿宋; font-size:12pt">的账款余额</span><span style="font-family:仿宋; font-size:12pt">。</span></p><p style="font-size:12pt; line-height:150%; margin:0pt; orphans:0; text-align:justify; text-indent:24pt; widows:0"><span style="font-family:仿宋; font-size:12pt">12</span><span style="font-family:仿宋; font-size:12pt">、清算服务机构:指甲乙丙三方基于智分期相关协议约定基础上,甲方或丙方委托其负责交易账款及相关业务中交易结算资金清分服务的机构。</span></p><p style="font-size:12pt; line-height:150%; margin:0pt; orphans:0; text-align:justify; text-indent:24pt; widows:0"><span style="font-family:仿宋; font-size:12pt">13</span><span style="font-family:仿宋; font-size:12pt">、用户个人信息:指用户依据智分期服务相关各方要求所提供的个人身份信息及历史消费情况,包括但不限于姓名、证件号、联系地址、手机号码等。</span></p><p style="font-size:12pt; line-height:150%; margin:0pt; orphans:0; text-align:justify; text-indent:24pt; widows:0"><span style="font-family:仿宋; font-size:12pt">14</span><span style="font-family:仿宋; font-size:12pt">、关联公司:本协议所称“关联公司”是指由一方直接控制或间接控制;或直接或间接控制一方;或与一方共同控制同一家公司或能对其施加重大影响;或与一方受同一家公司直接或间接控制的公司。包括但不限于一方的母公司、子公司;与一方受同一母公司控制的子公司;一方的合营企业、联营企业等。这里的“公司”指任何一人公司、有限责任公司或股份有限公司;“控制”是指直接或间接地拥有影响所提及公司管理的能力,无论是通过所有权、有投票权的股份、协议或其他被人民法院认定的方式。</span></p><p style="font-size:12pt; line-height:150%; margin:0pt; orphans:0; text-align:justify; text-indent:24pt; widows:0"><span style="font-family:仿宋; font-size:12pt">本协议未作定义或约定的词语,按相关法律、法规及行业惯例解释。</span></p><p style="font-size:12pt; line-height:150%; margin:0pt; orphans:0; text-align:justify; text-indent:24pt; widows:0"><span style="font-family:仿宋; font-size:12pt; font-weight:bold">第二条 分期业务合作约定与业务流程</span></p><p style="font-size:12pt; line-height:150%; margin:0pt; orphans:0; text-align:justify; text-indent:24pt; widows:0"><span style="font-family:仿宋; font-size:12pt">1</span><span style="font-family:仿宋; font-size:12pt">、甲方为乙方用户提供“智分期”服务。乙方向用户提供所需要的产品或服务后,甲方受让基于前述消费场景产生的应收账款。</span></p><p style="font-size:12pt; line-height:150%; margin:0pt; orphans:0; text-align:justify; text-indent:24pt; widows:0"><span style="font-family:仿宋; font-size:12pt">2、丙方接受甲乙二方的委托,为“智分期”服务提供技术服务。</span></p><p style="font-size:12pt; line-height:150%; margin:0pt; orphans:0; text-align:justify; text-indent:24pt; widows:0"><span style="font-family:仿宋; font-size:12pt">3</span><span style="font-family:仿宋; font-size:12pt">、乙方放置“智分期”业务的链接、端口或分期二维码,引导用户使用“智分期”服务完成订单支付,并协助用户在申请“智分期”服务过程中完成授权及其他资料的提供。</span></p><p style="font-size:12pt; line-height:150%; margin:0pt; orphans:0; text-align:justify; text-indent:24pt; widows:0"><span style="font-family:仿宋; font-size:12pt">4</span><span style="font-family:仿宋; font-size:12pt">、甲方对用户进行实名认证,用户资质审核通过后,同意用户使用智分期信用分期付款,乙方认可用户通过“智分期”业务支付的订单,乙方应根据订单向用户提供相应商品交付或服务。订单交易完成确认后,甲方受让该等应收账款并向乙方支付应收账款转让对价款项。</span></p><p style="font-size:12pt; line-height:150%; margin:0pt; orphans:0; text-align:justify; text-indent:24pt; widows:0"><span style="font-family:仿宋; font-size:12pt">5、</span><span style="font-family:仿宋; font-size:12pt">乙方基于“</span><span style="font-family:仿宋; font-size:12pt">智</span><span style="font-family:仿宋; font-size:12pt">分期”服务形成的对用户的分期应收账款债权及其附属权益,包括但不限于对该等分期应收账款等款项以及请求、起诉、收回、接受与该等分期应收账款相关的全部应偿付款项的权利、与该等分期应收账款相关的承诺的利益、强制执行该等分期应收账款的全部权利和申请法律救济的权利。</span></p><p style="font-size:12pt; line-height:150%; margin:0pt; orphans:0; text-align:justify; text-indent:24pt; widows:0"><span style="font-family:仿宋; font-size:12pt">6、乙方在此不可撤销地确认, 将以其自身名义向用户告知应收账款转让事宜,乙方应在签署</span><span style="font-family:仿宋; font-size:12pt">本</span><span style="font-family:仿宋; font-size:12pt">协议的同时一并签署《分期应收账款转让通知书》交甲方保存,在债务人(即用户)违约或出现本协议约定的风险事件情形下,乙方授权甲方向债务人发送其已签署的《分期应收账款转让通知书》,以行使该资产转让后在甲方和用户之间的相关权利。同时甲方如需在中国人民银行的债权转让相关登记或公示系统进行转让登记的,乙方应积极配合协助,根据甲方要求及时提供必要的转让登记资料,不得以任何理由拒绝。</span><br /><span style="font-family:仿宋; font-size:12pt"> 7</span><span style="font-family:仿宋; font-size:12pt">、甲乙丙</span><span style="font-family:仿宋; font-size:12pt">三</span><span style="font-family:仿宋; font-size:12pt">方共同约定,自甲方支付应收账款受让款之日起,该等应收账款即转让给甲方,该应收账款包括但不限于截止转让日债务人尚未支付的全部款项(无论是否已满足支付条件)及其自转让日起产生的全部逾期利息、违约金、赔偿金、补偿金及任何其他应付款项等。同时,乙方基于前述债权享有的任何从权利包括但不限于抵押权、质押权、保证金等担保权利以及为实现债权而享有的任何实体性权利及程序性权利等也于转让日一并转让给甲方。</span><br /><span style="font-family:仿宋; font-size:12pt"> </span><span style="font-family:仿宋; font-size:12pt">8、自甲方支付应收账款受让款之日起,该应收账款回收款由用户直接支付至甲方指定的账户,若用户未按约定进行还款,甲方有权对用户进行催收,并对该应收账款债权资产处置。</span><br /><span style="font-family:仿宋; font-size:12pt"> 9</span><span style="font-family:仿宋; font-size:12pt">、根据本协议执行情况及乙方所属行业,甲、乙双方后续可根据业务开展情况通过签署书面补充协议的形式调整具体的业务规则及业务流程等产品信息。在任何</span><span style="font-family:仿宋; font-size:12pt">情形下</span><span style="font-family:仿宋; font-size:12pt">,如本协议项下智分期业务终止,协议各方</span><span style="font-family:仿宋; font-size:12pt">仍应按照</span><span style="font-family:仿宋; font-size:12pt">本</span><span style="font-family:仿宋; font-size:12pt">协议约定</span><span style="font-family:仿宋; font-size:12pt">,承担其在业务开展期间所产生的上述风险及法律责任。</span><br /><span style="font-family:仿宋; font-size:12pt"> </span><span style="font-family:仿宋; font-size:12pt; font-weight:bold">第三条 商品服务承诺</span><br /><span style="font-family:仿宋; font-size:12pt; font-weight:bold"> </span><span style="font-family:仿宋; font-size:12pt">1、乙方应保证所销售的商品或服务与其对外承诺保持一致且符合国家、地区及行业标准;乙方应按照法律、法规和规范性文件的规定对其出售给用户的商品或服务承担产品质量责任,并按照法律规定向用户履行“三包”义务。</span><br /><span style="font-family:仿宋; font-size:12pt"> </span><span style="font-family:仿宋; font-size:12pt">2、</span><a name="OLE_LINK2"><span style="font-family:仿宋; font-size:12pt">乙方应保证乙方具备所销售商品和服务的经营资质,并确认其拥有开具对应发票的资格</span></a><span style="font-family:仿宋; font-size:12pt">。</span><br /><span style="font-family:仿宋; font-size:12pt"> </span><span style="font-family:仿宋; font-size:12pt">3、甲方、丙方无须因乙方产品及服务问题承担任何责任。如因应归责于乙方原因(如产品质量有瑕疵、未实现服务承诺等)而产生的纠纷或争议,从而导致用户逾期付款或拒绝履行付款义务的,甲方有权就其所遭受的一切损失及不利后果向乙方进行追偿。</span></p><p style="font-size:12pt; line-height:150%; margin:0pt 0pt 0pt 24pt; orphans:0; padding-left:12pt; text-align:justify; text-indent:-12pt; widows:0"><span style="font-family:仿宋; font-size:12pt; font-weight:bold">第四条 甲方权利与义务</span></p><p style="font-size:12pt; line-height:150%; margin:0pt; orphans:0; text-align:justify; text-indent:24pt; widows:0"><span style="font-family:仿宋; font-size:12pt">1</span><span style="font-family:仿宋; font-size:12pt">、乙方基于向用户提供产品或服务形成对用户(或者基础债务人)的分期应收账款债权及其附属权益,甲方按照本协议从乙方处受让全部分期应收账款债权及其附属权益, 包括但不限于对该等分期应收账款等款项以及请求、起诉、收回、接受与该等分期应收账款相关的全部应偿付款项的权利、与该等分期应收账款相关的承诺的利益、强制执行该等分期应收账款的全部权利和申请法律救济的权利。</span></p><p style="font-size:12pt; line-height:150%; margin:0pt; orphans:0; text-align:justify; text-indent:24pt; widows:0"><span style="font-family:仿宋; font-size:12pt">2</span><span style="font-family:仿宋; font-size:12pt">、自甲方支付乙方分期应收账款受让款之日起,对应的智分期交易应收账款即转让给甲方,该应收账款包括但不限于截止甲方付款日用户尚未支付的全部款项(无论是否已满足支付条件)及其自甲方付款日起产生的全部逾期利息、违约金、赔偿金、补偿金及任何其他应付款项等。同时,乙方基于前述债权享有的任何权利包括但不限于抵押权、质押权、保证金等担保权利以及为实现债权而享有的任何实体性权利及程序性权利等也于转让日一并转让给甲方。</span></p><p style="font-size:12pt; line-height:150%; margin:0pt; orphans:0; text-align:justify; text-indent:24pt; widows:0"><span style="font-family:仿宋; font-size:12pt">3、甲方应按照本协议第7.1款将相应分期应收账款受让款按时支付至乙方指定账户。</span></p><p style="font-size:12pt; line-height:150%; margin:0pt; orphans:0; text-align:justify; text-indent:24pt; widows:0"><span style="font-family:仿宋; font-size:12pt">4</span><span style="font-family:仿宋; font-size:12pt">、本协议项下的分期应收账款转让后,相关分期应收账款回收款由用户支付至甲方指定账户,若甲方在用户还款期未能按期足额收到应收账款回收款时,由甲方根据风险控制措施处理,与乙方无关。</span></p><p style="font-size:12pt; line-height:150%; margin:0pt; orphans:0; text-align:justify; text-indent:24pt; widows:0"><span style="font-family:仿宋; font-size:12pt">5</span><span style="font-family:仿宋; font-size:12pt">、当发生下列情形之一时,甲方在书面通知后即可暂停、终止、中止向乙方提供服务而无需承担任何违约责任:</span></p><p style="font-size:12pt; line-height:150%; margin:0pt; orphans:0; text-align:justify; text-indent:24pt; widows:0"><span style="font-family:仿宋; font-size:12pt">1)乙方提供的资料不真实、且未能提供合理说明及证明;</span></p><p style="font-size:12pt; line-height:150%; margin:0pt; orphans:0; text-align:justify; text-indent:24pt; widows:0"><span style="font-family:仿宋; font-size:12pt">2)乙方违反法律、法规、规章及政府规范性文件或本协议约定;</span></p><p style="font-size:12pt; line-height:150%; margin:0pt; orphans:0; text-align:justify; text-indent:24pt; widows:0"><span style="font-family:仿宋; font-size:12pt">3)中国人民银行、公安机关、政府机关或司法机关等国家机关向甲方发出要求的。</span></p><p style="font-size:12pt; line-height:150%; margin:0pt; orphans:0; text-align:justify; text-indent:24pt; widows:0"><span style="font-family:仿宋; font-size:12pt">6</span><span style="font-family:仿宋; font-size:12pt">、如乙方发生退货次数超过成功交易次数的</span><span style="font-family:仿宋; font-size:12pt">5</span><span style="font-family:仿宋; font-size:12pt">%,甲方有权向乙方提出警示或终止合作。</span></p><p style="font-size:12pt; line-height:150%; margin:0pt 0pt 0pt 24pt; orphans:0; padding-left:12pt; text-align:justify; text-indent:-12pt; widows:0"><span style="font-family:仿宋; font-size:12pt; font-weight:bold"> </span></p><p style="font-size:12pt; line-height:150%; margin:0pt; orphans:0; text-align:justify; text-indent:24pt; widows:0"><span style="font-family:仿宋; font-size:12pt; font-weight:bold">第五条 乙方权利与义务</span></p><p style="font-size:12pt; line-height:150%; margin:0pt; orphans:0; text-align:justify; text-indent:24pt; widows:0"><span style="font-family:仿宋; font-size:12pt">1</span><span style="font-family:仿宋; font-size:12pt">、乙方应向甲方提供的基本信息、营业执照复印件、税务登记证复印件和法定代表人或负责人身份证复印件等均真实、合法、有效。乙方应在安全的场所提供符合国家法律法规或相关质量标准或管理标准规定的商品和服务,乙方的经营应符合国家法律法规对其经营的要求。</span></p><p style="font-size:12pt; line-height:150%; margin:0pt; orphans:0; text-align:justify; text-indent:24pt; widows:0"><span style="font-family:仿宋; font-size:12pt">2</span><span style="font-family:仿宋; font-size:12pt">、乙方承诺其拥有合法有效的经营资质在其乙方经营场所向用户销售相关产品或服务。</span></p><p style="font-size:12pt; line-height:150%; margin:0pt; orphans:0; text-align:justify; text-indent:24pt; widows:0"><span style="font-family:仿宋; font-size:12pt">3</span><span style="font-family:仿宋; font-size:12pt">、由于乙方原因造成乙方所提供的服务引起的一切客户投诉、质疑、纠纷或引起的法律上的责任,由乙方负责;如因前述情况导致甲方被裁定承担法律责任的,乙方应依法赔偿甲方损失。</span></p><p style="font-size:12pt; line-height:150%; margin:0pt; orphans:0; text-align:justify; text-indent:24pt; widows:0"><span style="font-family:仿宋; font-size:12pt">4</span><span style="font-family:仿宋; font-size:12pt">、乙方在使用“智分期”业务过程中,有义务遵守包括国家法律、金融政策、中国银联规章制度在内的所有政策法规。乙方违法违规所造成的全部法律责任由乙方承担,造成甲方损失或承担责任的,甲方可随时向乙方追偿,并有权立即解除协议。</span></p><p style="font-size:12pt; line-height:150%; margin:0pt; orphans:0; text-align:justify; text-indent:24pt; widows:0"><span style="font-family:仿宋; font-size:12pt">5</span><span style="font-family:仿宋; font-size:12pt">、乙方应及时有效地处理用户、客户或合作伙伴的各种投诉以及由乙方提供的产品和服务引发的质量、价格、售后服务等纠纷。由于乙方原因造成其客户投诉或引起其他法律纠纷和责任的,均与甲方无关,由此造成甲方损失的,应由乙方承担赔偿责任。</span></p><p style="font-size:12pt; line-height:150%; margin:0pt; orphans:0; text-align:justify; text-indent:24pt; widows:0"><span style="font-family:仿宋; font-size:12pt">6</span><span style="font-family:仿宋; font-size:12pt">、当用户至乙方使用“智分期”服务过程中,若用户采取银行信用卡作为风险信用担保的,乙方务必保证用户所用信用卡持卡人信息真实有效,并和分期交易确认单上所填信息一致,否则由此造成的损失由乙方自行承担。同时乙方有义务确保分期交易的真实性及有效性,乙方有义务向甲方提供真实有效的用户订单信息和配送物流信息,乙方如发现用户有欺诈、非法套现、提供虚假资料、恶意刷单等情况,应及时采取包括且不限于通知甲方、协助甲方进行调查、处理,暂停对该用户提供服务等措施。如给甲方造成任何损失的,乙方还应该负责赔偿。</span></p><p style="font-size:12pt; line-height:150%; margin:0pt; orphans:0; text-align:justify; text-indent:24pt; widows:0"><span style="font-family:仿宋; font-size:12pt">7</span><span style="font-family:仿宋; font-size:12pt">、乙方应该在分期交易后及时通知用户应收账款转让事宜,并协助甲方对用户进行还款提醒,若用户未能在还款日还款,乙方应协助甲方开展催收工作及惩罚。</span></p><p style="font-size:12pt; line-height:150%; margin:0pt; orphans:0; text-align:justify; text-indent:24pt; widows:0"><span style="font-family:仿宋; font-size:12pt">8</span><span style="font-family:仿宋; font-size:12pt">、乙方保证其有权获得通过乙方使用智分期的用户的充分授权,可以合理使用并授权丙方使用用户的相关信息,包括但不限于用户在乙方平台的注册信息、交易关系、浏览行为记录、相关消费记录和支付结算结果等。</span></p><p style="font-size:12pt; line-height:150%; margin:0pt; orphans:0; text-align:justify; text-indent:24pt; widows:0"><span style="font-family:仿宋; font-size:12pt">9</span><span style="font-family:仿宋; font-size:12pt">、乙方有权设定智分期的使用范围,但该设定范围应取得甲方的同意且不得歧视智分期的用户。但依据商品的属性(如话费充值卡、游戏点卡、游戏币等虚拟商品和黄金、珠宝、钻石等投资性贵金属等)不宜采用“智分期”服务的,乙方不得支持用户使用。</span></p><p style="font-size:12pt; line-height:150%; margin:0pt; orphans:0; text-align:justify; text-indent:24pt; widows:0"><span style="font-family:仿宋; font-size:12pt">10</span><span style="font-family:仿宋; font-size:12pt">、乙方保证具备开具所销售商品发票的资格且应按乙方与用户约定的价格向用户开具相应法定足额发票。</span></p><p style="font-size:12pt; line-height:150%; margin:0pt; orphans:0; text-align:justify; text-indent:24pt; widows:0"><span style="font-family:仿宋; font-size:12pt">11</span><span style="font-family:仿宋; font-size:12pt">、如甲方通过技术手段判定或有证据证明乙方联合用户进行套利套现交易,甲方有权要求乙方对甲方造成的损失进行全额赔偿。如套利套现情况严重的,甲方有权立即停止与乙方的合作及结算,并保留追究乙方违约责任的权利。如出现乙方用户进行套利套现交易,乙方承担同样的连带赔偿责任。</span></p><p style="font-size:12pt; line-height:150%; margin:0pt; orphans:0; text-align:justify; text-indent:24pt; widows:0"><span style="font-family:仿宋; font-size:12pt; font-weight:bold">第</span><span style="font-family:仿宋; font-size:12pt; font-weight:bold">六</span><span style="font-family:仿宋; font-size:12pt; font-weight:bold">条 丙方权利与义务</span></p><p style="font-size:12pt; line-height:150%; margin:0pt; orphans:0; text-align:justify; text-indent:24pt; widows:0"><span style="font-family:仿宋; font-size:12pt">1</span><span style="font-family:仿宋; font-size:12pt">、丙方有义务向甲方提供智分期业务运营所需的技术支持,维护智分期正常运行,并努力提升和改进技术能力,但不对因通信故障等非甲方原因引起的用户与甲方的交易中断、交易错误等承担责任。</span></p><p style="font-size:12pt; line-height:150%; margin:0pt; orphans:0; text-align:justify; text-indent:24pt; widows:0"><span style="font-family:仿宋; font-size:12pt">2</span><span style="font-family:仿宋; font-size:12pt">、丙方受甲方的委托,有权要求乙方提供使用智分期服务付款的用户在其交易平台上的相关消费记录和支付结算结果,丙方有权依据本协议从甲方及</span><span style="font-family:仿宋; font-size:12pt">/或乙方处获得并合理使用本协议</span><span style="font-family:仿宋; font-size:12pt">约定的用户相关信息,乙方应负责取得对于上述事项的合法授权。</span></p><p style="font-size:12pt; line-height:150%; margin:0pt; orphans:0; text-align:justify; text-indent:24pt; widows:0"><span style="font-family:仿宋; font-size:12pt">3</span><span style="font-family:仿宋; font-size:12pt">、丙方有义务按照本协议约定就</span><span style="font-family:仿宋; font-size:12pt">本协议约定的服务流程</span><span style="font-family:仿宋; font-size:12pt">提供技术服务支持</span><span style="font-family:仿宋; font-size:12pt">并保证系统安全稳定</span><span style="font-family:仿宋; font-size:12pt">。</span></p><p style="font-size:12pt; line-height:150%; margin:0pt; orphans:0; text-align:justify; text-indent:24pt; widows:0"><span style="font-family:仿宋; font-size:12pt; font-weight:bold"> </span></p><p style="font-size:12pt; line-height:150%; margin:0pt; orphans:0; text-align:justify; text-indent:24pt; widows:0"><span style="font-family:仿宋; font-size:12pt; font-weight:bold">第七条 费用结算及支付</span></p><p style="font-size:12pt; line-height:150%; margin:0pt; orphans:0; text-align:justify; text-indent:24pt; widows:0"><span style="font-family:仿宋; font-size:12pt">甲乙丙三方同意并确认,本协议项下涉及的付款、还款、退款等操作处理均以以下方式处理:</span><br /><span style="font-family:仿宋; font-size:12pt"> 1</span><span style="font-family:仿宋; font-size:12pt">、账款结算约定,用户通过</span><span style="font-family:仿宋; font-size:12pt">“</span><span style="font-family:仿宋; font-size:12pt">智分期</span><span style="font-family:仿宋; font-size:12pt">”</span><span style="font-family:仿宋; font-size:12pt">服务</span><span style="font-family:仿宋; font-size:12pt">支付成功</span><span style="font-family:仿宋; font-size:12pt">时,甲方</span><span style="font-family:仿宋; font-size:12pt">于交易成功后</span><span style="font-family:仿宋; font-size:12pt">T+</span><span style="font-family:仿宋; font-size:12pt">0</span><span style="font-family:仿宋; font-size:12pt">个工作日内由清算服务机构在扣除依照附表一约定的费率扣除保理服务费后,将应收账款受让款结算至乙方指定账户。</span><br /><span style="font-family:仿宋; font-size:12pt"> 2</span><span style="font-family:仿宋; font-size:12pt">、在甲方开展营销活动时,涉及的促销费率双方另行以补充协议形式约定。</span><br /><span style="font-family:仿宋; font-size:12pt"> 3</span><span style="font-family:仿宋; font-size:12pt">、技术服务费约定,甲方基于丙方提供的技术服务一次性向丙方支付技术服务费人民币</span><span style="font-family:仿宋; font-size:12pt; text-decoration:underline"> 零 </span><span style="font-family:仿宋; font-size:12pt">元。</span><br /><span style="font-family:仿宋; font-size:12pt"> </span><span style="font-family:仿宋; font-size:12pt">4</span><span style="font-family:仿宋; font-size:12pt">、本协议项下,</span><span style="font-family:仿宋; font-size:12pt">双</span><span style="font-family:仿宋; font-size:12pt">方指定收款账户信息</span><span style="font-family:仿宋; font-size:12pt">:</span></p><table cellspacing="0" cellpadding="0" style="border-collapse:collapse; margin-left:26.55pt; width:498.45pt"><tr style="height:16.95pt"><td style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-left-color:#000000; border-left-style:solid; border-left-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; padding-left:5.03pt; padding-right:5.03pt; vertical-align:middle; width:54.55pt"><p style="font-size:12pt; line-height:150%; margin:0pt; orphans:0; text-align:justify; widows:0"><span style="font-family:仿宋; font-size:12pt">账户信息</span></p></td><td style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-left-color:#000000; border-left-style:solid; border-left-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; padding-left:5.03pt; padding-right:5.03pt; vertical-align:middle; width:230.2pt"><p style="font-size:12pt; line-height:150%; margin:0pt; orphans:0; text-align:center; widows:0"><span style="font-family:仿宋; font-size:12pt">甲方</span></p></td><td style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-left-color:#000000; border-left-style:solid; border-left-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; padding-left:5.03pt; padding-right:5.03pt; vertical-align:top; width:180.55pt"><p style="font-size:12pt; line-height:150%; margin:0pt; orphans:0; text-align:center; widows:0"><span style="font-family:仿宋; font-size:12pt">乙方</span></p></td></tr><tr style="height:13.6pt"><td style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-left-color:#000000; border-left-style:solid; border-left-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; padding-left:5.03pt; padding-right:5.03pt; vertical-align:middle; width:54.55pt"><p style="font-size:12pt; line-height:150%; margin:0pt; orphans:0; text-align:justify; widows:0"><span style="font-family:仿宋; font-size:12pt">账户名称</span></p></td><td style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-left-color:#000000; border-left-style:solid; border-left-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; padding-left:5.03pt; padding-right:5.03pt; vertical-align:middle; width:230.2pt"><p style="font-size:12pt; line-height:150%; margin:0pt; orphans:0; text-align:justify; widows:0"><span style="font-family:仿宋; font-size:12pt"> </span></p></td><td style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-left-color:#000000; border-left-style:solid; border-left-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; padding-left:5.03pt; padding-right:5.03pt; vertical-align:top; width:180.55pt"><p style="font-size:12pt; line-height:150%; margin:0pt; orphans:0; text-align:justify; widows:0"><span style="background-color:#ffff00; font-family:仿宋; font-size:12pt; text-decoration:underline">商户名称或法人姓名</span></p></td></tr><tr style="height:27.4pt"><td style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-left-color:#000000; border-left-style:solid; border-left-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; padding-left:5.03pt; padding-right:5.03pt; vertical-align:middle; width:54.55pt"><p style="font-size:12pt; line-height:150%; margin:0pt; orphans:0; text-align:justify; widows:0"><span style="font-family:仿宋; font-size:12pt">账 号</span></p></td><td style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-left-color:#000000; border-left-style:solid; border-left-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; padding-left:5.03pt; padding-right:5.03pt; vertical-align:middle; width:230.2pt"><p style="font-size:12pt; line-height:150%; margin:0pt; orphans:0; text-align:justify; widows:0"><span style="font-family:仿宋; font-size:12pt"> </span></p></td><td style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-left-color:#000000; border-left-style:solid; border-left-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; padding-left:5.03pt; padding-right:5.03pt; vertical-align:top; width:180.55pt"><p style="font-size:12pt; line-height:150%; margin:0pt; orphans:0; widows:0"><span style="background-color:#ffff00; font-family:仿宋; font-size:12pt; text-decoration:underline">商户注册时填写的银行卡号</span></p></td></tr><tr style="height:15.9pt"><td style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-left-color:#000000; border-left-style:solid; border-left-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; padding-left:5.03pt; padding-right:5.03pt; vertical-align:middle; width:54.55pt"><p style="font-size:12pt; line-height:150%; margin:0pt; orphans:0; text-align:justify; widows:0"><span style="font-family:仿宋; font-size:12pt">开 户 行</span></p></td><td style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-left-color:#000000; border-left-style:solid; border-left-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; padding-left:5.03pt; padding-right:5.03pt; vertical-align:middle; width:230.2pt"><p style="font-size:12pt; line-height:150%; margin:0pt; orphans:0; text-align:justify; widows:0"><span style="font-family:仿宋; font-size:12pt"> </span></p></td><td style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-left-color:#000000; border-left-style:solid; border-left-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; padding-left:5.03pt; padding-right:5.03pt; vertical-align:top; width:180.55pt"><p style="font-size:12pt; line-height:150%; margin:0pt; orphans:0; text-align:justify; widows:0"><span style="background-color:#ffff00; font-family:仿宋; font-size:12pt; text-decoration:underline">商户注册时选择的银行</span></p></td></tr></table><p style="font-size:12pt; line-height:150%; margin:0pt; orphans:0; text-align:justify; text-indent:24pt; widows:0"><span style="font-family:仿宋; font-size:12pt">任何一方如需改变账户信息,应提前</span><span style="font-family:仿宋; font-size:12pt">5</span><span style="font-family:仿宋; font-size:12pt">个工作日书面通知另一方,否则协议其他方仍然有权视原账户为有效账户,因变更方未及时通知账户变更信息导致协议其他方将支付款项汇入变更方原账户的,视为变更方已经足额收到协议其他方应付的款项,因此产生的一切费用由变更方承担。</span></p><p style="font-size:12pt; line-height:150%; margin:0pt; orphans:0; text-align:justify; text-indent:24pt; widows:0"><span style="font-family:仿宋; font-size:12pt">5</span><span style="font-family:仿宋; font-size:12pt">、在甲乙丙三方协商一致的情况下,可在协议期内根据合作的业务量、交易成功率等因素,对相关费用标准进行调整。</span></p><p style="font-size:12pt; line-height:150%; margin:0pt; orphans:0; text-align:justify; text-indent:24pt; widows:0"><span style="font-family:仿宋; font-size:12pt">6</span><span style="font-family:仿宋; font-size:12pt">、除甲方依照本协议约定收取的保理服务费及分期服务费外,用户、乙方及/或资金服务机构之间的任何资金款项往来涉及的相关责任均由该等主体之间通过资金提供协议或其他协议自行约定承担方式,该等主体之间的资金款项往来是否按时足额支付给相关方、是否发生逾期或资金提供协议或其他协议项下的违约等与甲方无关。</span></p><p style="font-size:12pt; line-height:150%; margin:0pt; orphans:0; text-align:justify; text-indent:24pt; widows:0"><span style="font-family:仿宋; font-size:12pt">7、甲乙双方在前期非系统(单指结算系统)状态下,按照以下流程进行应收账款受让款结算。乙方按照附件四</span><span style="font-family:仿宋; font-size:12pt">—</span><span style="font-family:仿宋; font-size:12pt">商户交易确认单填写订单信息,填写完成,经过核对,待确认无误后,连同用户办理“智分期”业务所填写贷记卡原件,用户确认办理“智分期”业务的确认短信三者一起拍照留存,将所拍照片发送到甲方指定邮箱。甲方按照收到照片所呈现的信息进行核对付款。信息核对无误按照7.1执行。如存在信息差异的,由甲乙双方协商处理,甲乙双方协商后无法达成一致意见的,以甲方所持有信息</span><span style="font-family:仿宋; font-size:12pt">为准。</span><span style="font-family:仿宋; font-size:12pt">乙方应保证所提供资料信息的正确性。甲乙双方在系统状态下,按照系统定义结算流程结算。</span></p><p style="font-size:12pt; line-height:150%; margin:0pt; orphans:0; text-align:justify; text-indent:24pt; widows:0"><span style="font-family:仿宋; font-size:12pt; font-weight:bold">第八条 退货退款的处理</span></p><p style="font-size:12pt; line-height:150%; margin:0pt; orphans:0; text-align:justify; text-indent:24pt; widows:0"><span style="font-family:仿宋; font-size:12pt">1、如用户提出退货申请且乙方已受理的,同时甲方针对该笔订单对应应收账款已向乙方完成受让支付的,乙方应在退货申请受理后的第二个工作日将甲方支付的应收</span><span style="font-family:仿宋; font-size:12pt">账款</span><span style="font-family:仿宋; font-size:12pt">及应收账款的退还至甲方指定收款账户。</span></p><p style="font-size:12pt; line-height:150%; margin:0pt; orphans:0; text-align:justify; text-indent:24pt; widows:0"><span style="font-family:仿宋; font-size:12pt">2</span><span style="font-family:仿宋; font-size:12pt">、当乙方为用户办理退货时,应按照以下规定和退货流程办理:</span></p><p style="font-size:12pt; line-height:150%; margin:0pt; orphans:0; text-align:justify; text-indent:24pt; widows:0"><span style="font-family:仿宋; font-size:12pt">(1)用户不得直接向甲方申请退款,只得向乙方发出申请。</span></p><p style="font-size:12pt; line-height:150%; margin:0pt; orphans:0; text-align:justify; text-indent:24pt; widows:0"><span style="font-family:仿宋; font-size:12pt">(2)乙方同意用户退货退款申请后,需通过“智分期”后台提交退款申请,同时将已清算应收账款退回至甲方指定账户。上述应收账款确认退回后,甲方将用户已发生分期金额原路径返还并对剩余期数平账。</span></p><p style="font-size:12pt; line-height:150%; margin:0pt; orphans:0; text-align:justify; text-indent:24pt; widows:0"><span style="font-family:仿宋; font-size:12pt">(3)自交易日起30日内用户可向乙方申请退款,该笔交易所产生的保理服务费由甲方部分承担,超过上述期限甲方不再受理退款申请。其中0.2%的支付通道费用由乙方承担。甲方承担其余保理服务费用。</span></p><p style="font-size:12pt; line-height:150%; margin:0pt; orphans:0; text-align:justify; text-indent:24pt; widows:0"><span style="font-family:仿宋; font-size:12pt">(4)乙方</span><span style="font-family:仿宋; font-size:12pt">若</span><span style="font-family:仿宋; font-size:12pt">以现金方式退款给用户</span><span style="font-family:仿宋; font-size:12pt">,</span><span style="font-family:仿宋; font-size:12pt">因此产生的一切法律及经济责任由乙方承担。</span></p><p style="font-size:12pt; line-height:150%; margin:0pt; orphans:0; text-align:justify; text-indent:24pt; widows:0"><span style="font-family:仿宋; font-size:12pt; font-weight:bold">第九条 违约事件与违约责任</span></p><p style="font-size:12pt; line-height:150%; margin:0pt; orphans:0; text-align:justify; text-indent:24pt; widows:0"><span style="font-family:仿宋; font-size:12pt">1、甲乙丙三方应当严格遵守本合作协议之规定,保障合作顺利进行。协议的任何一方违反其于本协议项下的陈述、承诺、保证或义务,则视为违约。</span></p><p style="font-size:12pt; line-height:150%; margin:0pt; orphans:0; text-align:justify; text-indent:24pt; widows:0"><span style="font-family:仿宋; font-size:12pt">2、出现下列情况之一的,视为已发生违约事件:</span></p><p style="font-size:12pt; line-height:150%; margin:0pt; orphans:0; text-align:justify; text-indent:24pt; widows:0"><span style="font-family:仿宋; font-size:12pt">(</span><span style="font-family:仿宋; font-size:12pt">1</span><span style="font-family:仿宋; font-size:12pt">)</span><span style="font-family:仿宋; font-size:12pt">任何一方提供的资料不真实或隐瞒重大事项、且未能提供合理说明及证明;</span></p><p style="font-size:12pt; line-height:150%; margin:0pt; orphans:0; text-align:justify; text-indent:24pt; widows:0"><span style="font-family:仿宋; font-size:12pt">(2)</span><span style="font-family:仿宋; font-size:12pt">任何一方违反法律、法规、规章及政府规范性文件或本协议约定</span><span style="font-family:仿宋; font-size:12pt">或侵害第三人包括知识产权在内的一切权利的</span><span style="font-family:仿宋; font-size:12pt">;</span></p><p style="font-size:12pt; line-height:150%; margin:0pt; orphans:0; text-align:justify; text-indent:24pt; widows:0"><span style="font-family:仿宋; font-size:12pt">(3)乙方</span><span style="font-family:仿宋; font-size:12pt">或其员工,故意构造虚假订单或虚假资料</span><span style="font-family:仿宋; font-size:12pt">或冒充</span><span style="font-family:仿宋; font-size:12pt">他人或联合他人不以真实消费为目的的申请</span><span style="font-family:仿宋; font-size:12pt">“智分期”服务;</span></p><p style="font-size:12pt; line-height:150%; margin:0pt; orphans:0; text-align:justify; text-indent:24pt; widows:0"><span style="font-family:仿宋; font-size:12pt">(4)用户提交分期申请后,乙方无法向用户提供相应产品或服务;或因</span><span style="font-family:仿宋; font-size:12pt">乙方商品、发布的信息或提供的售后服务问题引发</span><span style="font-family:仿宋; font-size:12pt">用户大量投诉并影响三方合作的;</span></p><p style="font-size:12pt; line-height:150%; margin:0pt; orphans:0; text-align:justify; text-indent:24pt; widows:0"><span style="font-family:仿宋; font-size:12pt">(5)乙方故意销售假冒伪劣、有毒有害商品或构造虚假订单或虚假资料或冒充他人或联合他人不以真实消费为目的申请“智分期”服务或利用甲方提供的服务进行不正当交易的。</span></p><p style="font-size:12pt; line-height:150%; margin:0pt; orphans:0; text-align:justify; text-indent:24pt; widows:0"><span style="font-family:仿宋; font-size:12pt">3、违约方发生违约事项时,守约方有权视具体情况分别或同时采取以下措施:</span></p><p style="font-size:12pt; line-height:150%; margin:0pt; orphans:0; text-align:justify; text-indent:24pt; widows:0"><span style="font-family:仿宋; font-size:12pt">(1)要求违约方在一定时限内停止违约行为,消除相关影响。</span></p><p style="font-size:12pt; line-height:150%; margin:0pt; orphans:0; text-align:justify; text-indent:24pt; widows:0"><span style="font-family:仿宋; font-size:12pt">(2)要求违约方就违约事项的背景、原因、过程进行详细说明,并对后续按约定履行义务进行承诺和保证。</span></p><p style="font-size:12pt; line-height:150%; margin:0pt; orphans:0; text-align:justify; text-indent:24pt; widows:0"><span style="font-family:仿宋; font-size:12pt">(3)要求违约方就违约行为所导致的守约方实际经济损失、产生的额外费用进行赔偿。</span></p><p style="font-size:12pt; line-height:150%; margin:0pt; orphans:0; text-align:justify; text-indent:24pt; widows:0"><span style="font-family:仿宋; font-size:12pt">(4)要求违约方妥善解决其违约行为而给守约方带来的诉讼、纠纷、索赔、处罚或其他不利影响。</span></p><p style="font-size:12pt; line-height:150%; margin:0pt; orphans:0; text-align:justify; text-indent:24pt; widows:0"><span style="font-family:仿宋; font-size:12pt">(5)守约方认为有必要的其他合理措施。</span></p><p style="font-size:12pt; line-height:150%; margin:0pt; orphans:0; text-align:justify; text-indent:24pt; widows:0"><span style="font-family:仿宋; font-size:12pt">任何一方发生前述违约事件或因中国人民银行、公安机关、政府机关或司法机关等国家机关向守约方发出要求的,守约方有权要求违约方限期整改其违约行为,给守约方造成损失的,有权要求违约方承担赔偿责任,同时守约方有权采取暂停、中止或终止合作或其他违约救济措施而无需承担任何违约责任。</span></p><p style="font-size:12pt; line-height:150%; margin:0pt; orphans:0; text-align:justify; text-indent:24pt; widows:0"><span style="font-family:仿宋; font-size:12pt">4、除非发生不可抗力之情形,否则违约方须在违约事项发生后承担违约责任。违约方经催告后拒不纠正违约行为或拒绝承担违约责任的,守约方有权中止或终止协议。</span></p><p style="font-size:12pt; line-height:150%; margin:0pt; orphans:0; text-align:justify; text-indent:24pt; widows:0"><span style="font-family:仿宋; font-size:12pt">5</span><span style="font-family:仿宋; font-size:12pt">、任何一方未行使其权利或未就违约方的违约行为采取任何行动,不应被视为对权利的放弃或对追究违约责任或义务的放弃。任何一方放弃针对违约方的任何权利或放弃追究违约方的任何责任,不应被视为放弃对违约方的任何其他权利或任何其他任何责任的追究,所有放弃均应以书面形式做出。</span></p><p style="font-size:12pt; line-height:150%; margin:0pt 1.3pt 0pt 0pt; orphans:0; text-align:justify; text-indent:24pt; widows:0"><span style="font-family:仿宋; font-size:12pt; font-weight:bold">第十</span><span style="font-family:仿宋; font-size:12pt; font-weight:bold">条 </span><span style="font-family:仿宋; font-size:12pt; font-weight:bold">知识产权及保密条款</span></p><p style="font-size:12pt; line-height:150%; margin:0pt; orphans:0; text-align:justify; text-indent:24pt; widows:0"><span style="font-family:仿宋; font-size:12pt">1、因本协议约定事项进行的合作如涉及甲乙丙三方知识产权研发、归属的,原则上相关知识产权归属于研发主体。涉及合作开发的,由</span><span style="font-family:仿宋; font-size:12pt">双方</span><span style="font-family:仿宋; font-size:12pt">另行签署协议约定,并以该协议的约定为准。</span></p><p style="font-size:12pt; line-height:150%; margin:0pt 1.3pt 0pt 0pt; orphans:0; text-align:justify; text-indent:24pt; widows:0"><span style="font-family:仿宋; font-size:12pt">2、甲乙丙三方确认,“智分期”所</span><span style="font-family:仿宋; font-size:12pt">涉及</span><span style="font-family:仿宋; font-size:12pt">相关的知识产权归甲方所有,包括 “</span><span style="font-family:仿宋; font-size:12pt">智</span><span style="font-family:仿宋; font-size:12pt">分期”著作权、商标权以及甲方受乙方委托为其设计的产品页面等</span><span style="font-family:仿宋; font-size:12pt">均</span><span style="font-family:仿宋; font-size:12pt">由</span><span style="font-family:仿宋; font-size:12pt">甲方</span><span style="font-family:仿宋; font-size:12pt">和/或甲方关联方享有,</span><span style="font-family:仿宋; font-size:12pt">未经甲方书面同意,乙方不得将其用于本次合作以外的目的或授权他人使用</span><span style="font-family:仿宋; font-size:12pt">。</span></p><p style="font-size:12pt; line-height:150%; margin:0pt 1.3pt 0pt 0pt; orphans:0; text-align:justify; text-indent:24pt; widows:0"><span style="font-family:仿宋; font-size:12pt">3、在履行本协议期间,本协议项下各方在使用其他方授权的企业名称、商标、商号、品牌、域名和网站时,应当仅限于为各方在本协议中约定的内容服务,不得用于与“智分期”业务无关的其他业务内容或经营目的。各方在其自身宣传材料、名片、市场宣传、网站建设以及其他任何方面使用其他方授权的名称、域名和网站,都必须事先书面通知其他方,并获得其他方的许可后方可进行,否则一方有权要求违约方承担由此而产生的一切法律责任,并赔偿因此造成的直接损失。</span></p><p style="font-size:12pt; line-height:150%; margin:0pt 1.3pt 0pt 0pt; orphans:0; text-align:justify; text-indent:24pt; widows:0"><span style="font-family:仿宋; font-size:12pt">4、甲乙丙三方应对其在履行本协议过程中获悉的任何有关其他方及其他客户的非公开信息和资料给予保密,未经其他方事先书面同意,不得用于本协议之外的目的,不得向任何第三方披露或以其他方式予以公开,但相关法律法规及规范性文件另有规定或监管部门另有要求的,以及第三方专业服务机构(法律、财务、审计等)和资金服务机构的合理要求除外。如因任何一方原因造成前述信息揭露且无法消除影响的,过错方应承担一切违约责任。</span></p><p style="font-size:12pt; line-height:150%; margin:0pt 1.3pt 0pt 0pt; orphans:0; text-align:justify; text-indent:24pt; widows:0"><span style="font-family:仿宋; font-size:12pt">5、甲乙丙三方承认在合作过程中获得的信息的敏感性及保密性,并承诺对该等信息进行保密。保密信息包括但不限于:①本合作本身,包括合作各方的名称及本协议的条款和内容;②一方因本协议协商和履行而获得的另一方的任何信息,包括但不限于交易数据、信用卡持卡人或乙方用户的信息和资料、另一方的财务状况、商业活动计划和安排、市场调查结果、数据模型、数据分析报告、所有关于履行本合作项目所产生的相关数据;③任何其它因本协议而获悉的另一方的任何信息。一方同意在未取得另一方事先书面同意前不得以口头或书面的方式向任何第三方披露任何该等保密信息,除非该等披露是法律或法定程序所强制要求的。</span></p><p style="font-size:12pt; line-height:150%; margin:0pt 1.3pt 0pt 0pt; orphans:0; text-align:justify; text-indent:24pt; widows:0"><span style="font-family:仿宋; font-size:12pt">6、甲乙丙三方应保证其所有雇员、佣工、代理人和承包商对上述保密信息保密。</span></p><p style="font-size:12pt; line-height:150%; margin:0pt 1.3pt 0pt 0pt; orphans:0; text-align:justify; text-indent:24pt; widows:0"><span style="font-family:仿宋; font-size:12pt; font-weight:bold">第十一条 协议的生效、解除与终止</span></p><p style="font-size:12pt; line-height:150%; margin:0pt; orphans:0; text-align:justify; text-indent:24pt; widows:0"><span style="font-family:仿宋; font-size:12pt">1、本协议自甲乙丙三方法定</span><span style="font-family:仿宋; font-size:12pt">代表人</span><span style="font-family:仿宋; font-size:12pt">/授权</span><span style="font-family:仿宋; font-size:12pt">签约人签字并</span><span style="font-family:仿宋; font-size:12pt">加盖各自公章或协议章后生效,有效期为自本协议生效之日起</span><span style="font-family:仿宋; font-size:12pt; text-decoration:underline"> </span><span style="font-family:仿宋; font-size:12pt; text-decoration:underline">壹</span><span style="font-family:仿宋; font-size:12pt; text-decoration:underline"> </span><span style="font-family:仿宋; font-size:12pt">年,</span><span style="font-family:仿宋; font-size:12pt">有效期届满,</span><span style="font-family:仿宋; font-size:12pt">双</span><span style="font-family:仿宋; font-size:12pt">方如需继续开展合作的,应另行</span><span style="font-family:仿宋; font-size:12pt">签署</span><span style="font-family:仿宋; font-size:12pt">书面协议</span><span style="font-family:仿宋; font-size:12pt">,</span><span style="font-family:仿宋; font-size:12pt">本协议</span><span style="font-family:仿宋; font-size:12pt">的</span><span style="font-family:仿宋; font-size:12pt">有效期满/终止/</span><span style="font-family:仿宋; font-size:12pt">中止</span><span style="font-family:仿宋; font-size:12pt">均不影响</span><span style="font-family:仿宋; font-size:12pt">甲乙双</span><span style="font-family:仿宋; font-size:12pt">方</span><span style="font-family:仿宋; font-size:12pt">在本协议有效期间</span><span style="font-family:仿宋; font-size:12pt">对</span><span style="font-family:仿宋; font-size:12pt">用</span><span style="font-family:仿宋; font-size:12pt">户所承诺服务的履行,</span><span style="font-family:仿宋; font-size:12pt">同时本协议有效期间双方已产生的权利义务</span><span style="font-family:仿宋; font-size:12pt">也不受影响。</span></p><p style="font-size:12pt; line-height:150%; margin:0pt; orphans:0; text-align:justify; text-indent:24pt; widows:0"><span style="font-family:仿宋; font-size:12pt">2、本协议对本协议各方的承继人或受让人具有同等约束力。</span></p><p style="font-size:12pt; line-height:150%; margin:0pt; orphans:0; text-align:justify; text-indent:24pt; widows:0"><span style="font-family:仿宋; font-size:12pt">3、除本协议另有约定外,如发生以下情形之一的,甲方有权单方面解除本协议,本协议自甲方发出的解除通知到达本协议其他方之日起解除:</span></p><p style="font-size:12pt; line-height:150%; margin:0pt; orphans:0; text-align:justify; text-indent:24pt; widows:0"><span style="font-family:仿宋; font-size:12pt">(1)因不可抗力,或因法律、法规或国家政策调整或监管机关、司法部门等国家机关要求终止本协议,从而导致本协议无法继续履行;</span></p><p style="font-size:12pt; line-height:150%; margin:0pt; orphans:0; text-align:justify; text-indent:24pt; widows:0"><span style="font-family:仿宋; font-size:12pt">(2)因甲方发生重组、股权调整、经营决策调整导致甲方无法继续履行本协议;</span></p><p style="font-size:12pt; line-height:150%; margin:0pt; orphans:0; text-align:justify; text-indent:24pt; widows:0"><span style="font-family:仿宋; font-size:12pt">(3)因乙方严重违约导致本协议无法继续履行;</span></p><p style="font-size:12pt; line-height:150%; margin:0pt; orphans:0; text-align:justify; text-indent:24pt; widows:0"><span style="font-family:仿宋; font-size:12pt">本协议因前款第(1)、(2)项情形解除的,本协议双方互不负任何违约责任;本协议因前款第(3)项情形解除的,</span><span style="font-family:仿宋; font-size:12pt">甲方</span><span style="font-family:仿宋; font-size:12pt">有权要求乙方承担违约责任,如造成损失或其他不利影响的,</span><span style="font-family:仿宋; font-size:12pt">甲方</span><span style="font-family:仿宋; font-size:12pt">有权要求乙方承担赔偿责任。</span></p><p style="font-size:12pt; line-height:150%; margin:0pt; orphans:0; text-align:justify; text-indent:24pt; widows:0"><span style="font-family:仿宋; font-size:12pt; font-weight:bold">第十二条 通知与送达</span></p><p style="font-size:12pt; line-height:150%; margin:0pt; orphans:0; text-align:justify; text-indent:24pt; widows:0"><span style="font-family:仿宋; font-size:12pt">1、本协议项下任一方做出或者发出的任何通知、要求或者信函应以书面形式(包含电子邮件等方式)交付或者发送至另一方,相关方联系方式如下:</span></p><p style="font-size:12pt; line-height:150%; margin:0pt; orphans:0; text-align:justify; text-indent:24pt; widows:0"><span style="font-family:仿宋; font-size:12pt">(</span><span style="font-family:仿宋; font-size:12pt">1</span><span style="font-family:仿宋; font-size:12pt">)甲方接收通知方式:邮箱</span><span style="font-family:仿宋; font-size:12pt; text-decoration:underline">yumengying@finlean.com</span><span style="font-family:仿宋; font-size:12pt"> </span><span style="font-family:仿宋; font-size:12pt">电话</span><span style="font-family:仿宋; font-size:12pt; text-decoration:underline">18828020724</span></p><p style="font-size:12pt; line-height:150%; margin:0pt; orphans:0; text-align:justify; text-indent:24pt; widows:0"><span style="font-family:仿宋; font-size:12pt">甲方接收通知地址</span><span style="font-family:仿宋; font-size:12pt">:</span><span style="font-family:仿宋; font-size:12pt">四川省</span><span style="font-family:仿宋; font-size:12pt; text-decoration:underline">成都市高新区香年广场T3-4301</span></p><p style="font-size:12pt; line-height:150%; margin:0pt; orphans:0; text-align:justify; text-indent:24pt; widows:0"><span style="font-family:仿宋; font-size:12pt">(</span><span style="font-family:仿宋; font-size:12pt">2</span><span style="font-family:仿宋; font-size:12pt">)乙方接收通知方式:邮箱</span><span style="font-family:仿宋; font-size:12pt"> </span><span style="background-color:#ffff00; font-family:仿宋; font-size:12pt; text-decoration:underline">商户注册时填写的负责人邮箱</span><span style="font-family:仿宋; font-size:12pt"> </span><span style="font-family:仿宋; font-size:12pt">电话</span><span style="font-family:仿宋; font-size:12pt"> </span><span style="background-color:#ffff00; font-family:仿宋; font-size:12pt; text-decoration:underline">负责人手机号</span></p><p style="font-size:12pt; line-height:150%; margin:0pt; orphans:0; text-align:justify; text-indent:24pt; widows:0"><span style="font-family:仿宋; font-size:12pt">乙方接收通知地址:</span><span style="background-color:#ffff00; font-family:仿宋; font-size:12pt; text-decoration:underline">商户注册时选择及填写的地址</span></p><p style="font-size:12pt; line-height:150%; margin:0pt; orphans:0; text-align:justify; text-indent:24pt; widows:0"><span style="font-family:仿宋; font-size:12pt">(</span><span style="font-family:仿宋; font-size:12pt">3</span><span style="font-family:仿宋; font-size:12pt">)丙方接收通知方式:邮箱</span><span style="font-family:仿宋; font-size:12pt; text-decoration:underline">yixuanhong@finlean.com</span><span style="font-family:仿宋; font-size:12pt"> </span><span style="font-family:仿宋; font-size:12pt">电话</span><span style="font-family:仿宋; font-size:12pt; text-decoration:underline">18108214026</span></p><p style="font-size:12pt; line-height:150%; margin:0pt; orphans:0; text-align:justify; text-indent:24pt; widows:0"><span style="font-family:仿宋; font-size:12pt">丙方接收通知地址:四川省</span><span style="font-family:仿宋; font-size:12pt; text-decoration:underline">成都市高新区香年广场T3-4301</span></p><p style="font-size:12pt; line-height:150%; margin:0pt; orphans:0; text-align:justify; text-indent:24pt; widows:0"><span style="font-family:仿宋; font-size:12pt">甲乙丙三方合作期内,如联系方式发生变更的,变更方应当提前十个工作日以电子邮件或邮寄等书面方式通知对方。未及时书面通知而造成的任何损失,由违约方承担相应责任。</span></p><p style="font-size:12pt; line-height:150%; margin:0pt; orphans:0; text-align:justify; text-indent:24pt; widows:0"><span style="font-family:仿宋; font-size:12pt">2、任何通知、要求或其它文件都应当以书面形式做出,如通过传真或邮件等有线传输方式发送的,发出方传送系统确认传送成功之时,视为送达。如通过邮资预付的挂号邮递或快递的方式发送,在发出后的第三日视为已经送达。</span></p><p style="font-size:12pt; line-height:150%; margin:0pt; orphans:0; text-align:justify; text-indent:24pt; widows:0"><span style="font-family:仿宋; font-size:12pt">3、任何一方没有向对方预留或补留通讯地址、或预留的通讯地址有误的、或在邮寄途中发生延误或丢失的,对方不承担任何延误或未送达的责任。</span></p><p style="font-size:12pt; line-height:150%; margin:0pt; orphans:0; text-align:justify; text-indent:24pt; widows:0"><span style="font-family:仿宋; font-size:12pt">4、本协议有效期间,如乙方发生重大产权转让、体制变更、申请停业整顿、申请解散、申请破产等足以影响甲方权利实现的行为时,乙方保证提前30个工作日通知甲方。</span></p><p style="font-size:12pt; line-height:150%; margin:0pt 1.3pt 0pt 0pt; orphans:0; text-align:justify; text-indent:24pt; widows:0"><span style="font-family:仿宋; font-size:12pt; font-weight:bold">第十三条</span><span style="font-family:仿宋; font-size:12pt; font-weight:bold"> </span><span style="font-family:仿宋; font-size:12pt; font-weight:bold">争议的解决</span></p><p style="font-size:12pt; line-height:150%; margin:0pt; orphans:0; text-align:justify; text-indent:24pt; widows:0"><span style="font-family:仿宋; font-size:12pt">1</span><span style="font-family:仿宋; font-size:12pt">、</span><span style="font-family:仿宋; font-size:12pt">甲乙丙三方确认,本协议的签署、生效和履行以不违反中国的法律法规为前提。如本协议中任一条款违反适用的法律法规,则该条款将被视为无效,但该无效条款并不影响本协议其他条款的效力。</span></p><p style="font-size:12pt; line-height:150%; margin:0pt; orphans:0; text-align:justify; text-indent:24pt; widows:0"><span style="font-family:仿宋; font-size:12pt">2</span><span style="font-family:仿宋; font-size:12pt">、</span><span style="font-family:仿宋; font-size:12pt">因本协议引发的或与本协议有关的争议,由双</span><span style="font-family:仿宋; font-size:12pt">方</span><span style="font-family:仿宋; font-size:12pt">协商解决,也可由有关部门调解;协商或调解不成的,任何一方可以将争议提交北京仲裁委员会申请仲裁,甲乙丙三方同意根据申请仲裁时北京仲裁委员会现行有效的仲裁规则进行仲裁。仲裁裁决是终局的,对甲乙丙三方具有约束力,双方特此不可撤销地放弃向可能对争议事项有管辖权的任何法院提起诉讼的权利。仲裁费用和胜诉方因办理案件所支出的合理费用由败诉方承担。</span></p><p style="font-size:12pt; line-height:150%; margin:0pt 1.3pt 0pt 0pt; orphans:0; text-align:justify; text-indent:24pt; widows:0"><span style="font-family:仿宋; font-size:12pt; font-weight:bold">第十四条 其他条款</span></p><p style="font-size:12pt; line-height:150%; margin:0pt; orphans:0; text-align:justify; text-indent:24pt; widows:0"><span style="font-family:仿宋; font-size:12pt">1、除前述第五条相关条款约定以外,乙方承诺在本协议签署之日起的一年内,乙方不会就信用卡分期以及类似智分期业务模式的任何其他机构开展基于信用卡分期合作。</span></p><p style="font-size:12pt; line-height:150%; margin:0pt; orphans:0; text-align:justify; text-indent:24pt; widows:0"><span style="font-family:仿宋; font-size:12pt">2、甲乙丙三方均系合法成立并有效存续的公司,其拥有充分的权力和权利签署并履行本协议;各方均已经充分知悉、理解本协议的全部条款内容,并且已采取一切适当和必要的公司行为,授权签署和履行本协议,签署和履行本协议是各方真实意思表示,该等签署是真实、合法、有效的。</span></p><p style="font-size:12pt; line-height:150%; margin:0pt; orphans:0; text-align:justify; text-indent:24pt; widows:0"><span style="font-family:仿宋; font-size:12pt">3、本协议附件为本协议不可分割的组成部分,与本协议具有同等法律效力。</span></p><p style="font-size:12pt; line-height:150%; margin:0pt; orphans:0; text-align:justify; text-indent:24pt; widows:0"><span style="font-family:仿宋; font-size:12pt">4、本协议的任何一方不得就本协议的内容做出单方面修改,本协议中未尽事宜由甲乙丙三方协商,需采用书面形式签订补充协议,补充协议与本协议具有同等法律效力。</span></p><p style="font-size:12pt; line-height:150%; margin:0pt; orphans:0; text-align:justify; text-indent:24pt; widows:0"><span style="font-family:仿宋; font-size:12pt">5、本协议正文、本协议附件和本协议之补充协议(如有)共同组成本协议之完整内容。甲乙丙三方认可并同意在就“智分期”业务进行合作时,除遵守本协议正文的相关约定外,还应遵守本协议附件和本协议之补充协议(如有)的约定。</span></p><p style="font-size:12pt; line-height:150%; margin:0pt; orphans:0; text-align:justify; text-indent:24pt; widows:0"><span style="font-family:仿宋; font-size:12pt">6、本协议一式叁份,甲乙丙三方</span><span style="font-family:仿宋; font-size:12pt">各</span><span style="font-family:仿宋; font-size:12pt">执壹份,具有同等法律效力。</span></p><p style="font-size:12pt; line-height:150%; margin:0pt; orphans:0; text-align:justify; text-indent:24pt; widows:0"><span style="font-family:仿宋; font-size:12pt"> </span></p><p style="font-size:12pt; line-height:150%; margin:0pt; orphans:0; text-align:justify; text-indent:24pt; widows:0"><span style="font-family:仿宋; font-size:12pt">附件列表</span><span style="font-family:仿宋; font-size:12pt">:</span></p><p style="font-size:12pt; line-height:150%; margin:0pt; orphans:0; text-align:justify; text-indent:24pt; widows:0"><span style="font-family:仿宋; font-size:12pt">附件一:智分期服务费费率标准</span></p><p style="font-size:12pt; line-height:150%; margin:0pt; orphans:0; text-align:justify; text-indent:24pt; widows:0"><span style="font-family:仿宋; font-size:12pt">附件二:分期交易确认单模板</span></p><p style="font-size:12pt; line-height:150%; margin:0pt; orphans:0; text-align:justify; text-indent:24pt; widows:0"><span style="font-family:仿宋; font-size:12pt">附件</span><span style="font-family:仿宋; font-size:12pt">三:</span><span style="font-family:仿宋; font-size:12pt">《分期应收账款转让通知书》</span></p><p style="margin:0pt"><span style="font-family:仿宋; font-size:12pt"> </span></p><p style="font-size:12pt; line-height:150%; margin:0pt; orphans:0; text-align:justify; widows:0"><span style="font-family:仿宋; font-size:12pt; font-style:italic"> </span><span style="font-family:仿宋; font-size:12pt; font-style:italic">---------------------</span><span style="font-family:仿宋; font-size:12pt; font-style:italic">以下无正文,</span><span style="font-family:仿宋; font-size:12pt; font-style:italic">签</span><span style="font-family:仿宋; font-size:12pt; font-style:italic">字页</span><span style="font-family:仿宋; font-size:12pt; font-style:italic">随附</span><span style="font-family:仿宋; font-size:12pt; font-style:italic">-</span><span style="font-family:仿宋; font-size:12pt; font-style:italic">-------------------</span><span style="font-family:仿宋; font-size:12pt; font-style:italic">-</span></p><p style="font-size:12pt; line-height:150%; margin:0pt; orphans:0; text-align:justify; widows:0"><span style="font-family:仿宋; font-size:12pt"> </span></p><p style="font-size:12pt; line-height:150%; margin:0pt; orphans:0; text-align:justify; widows:0"><span style="font-family:仿宋; font-size:12pt">甲方(盖章):</span><span style="font-family:仿宋; font-size:12pt">深圳前海彩蜂商业保理有限公司</span></p><p style="font-size:12pt; line-height:150%; margin:0pt; orphans:0; text-align:justify; widows:0"><span style="font-family:仿宋; font-size:12pt">法定</span><span style="font-family:仿宋; font-size:12pt">代表人</span><span style="font-family:仿宋; font-size:12pt">/授权</span><span style="font-family:仿宋; font-size:12pt">签约人</span><span style="font-family:仿宋; font-size:12pt">签字:</span><a name="Text41"><span style="font-family:仿宋; font-size:12pt; text-decoration:underline">余雁南</span><span style="font-family:仿宋; font-size:12pt"> </span></a></p><p style="font-size:12pt; line-height:150%; margin:0pt; orphans:0; text-align:justify; text-indent:300pt; widows:0"><span style="-aw-bookmark-end:Text41"></span><span style="background-color:#ffff00; font-family:仿宋; font-size:12pt; text-decoration:underline">当天日期年</span><span style="font-family:仿宋; font-size:12pt">年</span><span style="background-color:#ffff00; font-family:仿宋; font-size:12pt; text-decoration:underline">当天日期月</span><span style="font-family:仿宋; font-size:12pt">月</span><span style="background-color:#ffff00; font-family:仿宋; font-size:12pt; text-decoration:underline">当天日期日</span><span style="font-family:仿宋; font-size:12pt">日 </span></p><p style="font-size:12pt; line-height:150%; margin:0pt; orphans:0; text-align:justify; widows:0"><span style="font-family:仿宋; font-size:12pt">乙方(盖章):</span><span style="font-family:仿宋; font-size:12pt"> </span></p><p style="font-size:12pt; line-height:150%; margin:0pt; orphans:0; text-align:justify; widows:0"><span style="font-family:仿宋; font-size:12pt">法定</span><span style="font-family:仿宋; font-size:12pt">代表人</span><span style="font-family:仿宋; font-size:12pt">/授权</span><span style="font-family:仿宋; font-size:12pt">签约人</span><span style="font-family:仿宋; font-size:12pt">签字:</span><span style="background-color:#ffff00; font-family:仿宋; font-size:12pt; text-decoration:underline">法人姓名</span><span style="font-family:仿宋; font-size:12pt"> </span></p><p style="font-size:12pt; line-height:150%; margin:0pt; orphans:0; text-align:justify; text-indent:288pt; widows:0"><span style="font-family:仿宋; font-size:12pt"> </span><span style="background-color:#ffff00; font-family:仿宋; font-size:12pt; text-decoration:underline">当天日期年</span><span style="font-family:仿宋; font-size:12pt">年</span><span style="background-color:#ffff00; font-family:仿宋; font-size:12pt; text-decoration:underline">当天日期月</span><span style="font-family:仿宋; font-size:12pt">月</span><span style="background-color:#ffff00; font-family:仿宋; font-size:12pt; text-decoration:underline">当天日期日</span><span style="font-family:仿宋; font-size:12pt">日 </span></p><p style="font-size:12pt; line-height:150%; margin:0pt; orphans:0; text-align:justify; widows:0"><span style="font-family:仿宋; font-size:12pt">丙方(盖章):</span><span style="font-family:仿宋; font-size:12pt">成都唯知信息科技有限公司</span></p><p style="font-size:12pt; line-height:150%; margin:0pt; orphans:0; text-align:justify; widows:0"><span style="font-family:仿宋; font-size:12pt">法定</span><span style="font-family:仿宋; font-size:12pt">代表人</span><span style="font-family:仿宋; font-size:12pt">/授权</span><span style="font-family:仿宋; font-size:12pt">签约人</span><span style="font-family:仿宋; font-size:12pt">签字:</span><span style="font-family:仿宋; font-size:12pt; text-decoration:underline">赵育梓</span><span style="font-family:仿宋; font-size:12pt"> </span></p><p style="font-size:12pt; line-height:150%; margin:0pt; orphans:0; text-align:justify; widows:0"><span style="font-family:仿宋; font-size:12pt"> </span><span style="font-family:仿宋; font-size:12pt"> </span><span style="font-family:仿宋; font-size:12pt"> </span><span style="font-family:仿宋; font-size:12pt"> </span><span style="background-color:#ffff00; font-family:仿宋; font-size:12pt; text-decoration:underline">当天日期年</span><span style="font-family:仿宋; font-size:12pt">年</span><span style="background-color:#ffff00; font-family:仿宋; font-size:12pt; text-decoration:underline">当天日期月</span><span style="font-family:仿宋; font-size:12pt">月</span><span style="background-color:#ffff00; font-family:仿宋; font-size:12pt; text-decoration:underline">当天日期日</span><span style="font-family:仿宋; font-size:12pt">日 </span></p><p style="font-size:12pt; line-height:150%; margin:0pt; orphans:0; text-align:justify; widows:0"><span style="font-family:仿宋; font-size:12pt"> </span></p><p style="font-size:12pt; line-height:150%; margin:0pt; orphans:0; widows:0"><span style="font-family:仿宋; font-size:12pt; font-weight:bold">附件</span><span style="font-family:仿宋; font-size:12pt; font-weight:bold">: 分期</span><span style="font-family:仿宋; font-size:12pt; font-weight:bold">应收账款转让通知书</span></p><p style="font-size:12pt; line-height:150%; margin:0pt; orphans:0; widows:0"><span style="font-family:仿宋; font-size:12pt"> </span></p><p style="font-size:12pt; line-height:150%; margin:0pt; orphans:0; text-align:center; widows:0"><span style="font-family:仿宋; font-size:12pt; font-weight:bold">分期应收账款转让通知书</span></p><p style="font-size:12pt; line-height:150%; margin:0pt; orphans:0; text-align:center; widows:0"><span style="font-family:仿宋; font-size:12pt; font-weight:bold">(致用户声明)</span></p><p style="font-size:12pt; line-height:150%; margin:0pt; orphans:0; text-align:justify; widows:0"><span style="font-family:仿宋; font-size:12pt"> </span></p><p style="font-size:12pt; line-height:150%; margin:0pt; orphans:0; text-align:justify; widows:0"><span style="font-family:仿宋; font-size:12pt">【此处填写用户名称】(下称“贵方”):</span><span style="font-family:仿宋; font-size:12pt"> </span></p><p style="font-size:12pt; line-height:150%; margin:0pt; orphans:0; text-align:justify; text-indent:24pt; widows:0"><span style="font-family:仿宋; font-size:12pt">贵方通过智分期服务</span><span style="font-family:仿宋; font-size:12pt">向</span><span style="font-family:仿宋; font-size:12pt">乙方购买商品而与乙方形成了买卖关系及保理公司自【乙方】处受让【乙方】在该买卖约定项下对贵方享有的应收账款而与贵方形成了交易关系及在此基础上形成了应收账款,现就应收账款项下我方对贵方享有的应收账款转让的事宜我方向贵方通知如下:</span></p><p style="font-size:12pt; line-height:150%; margin:0pt; orphans:0; text-align:justify; text-indent:24pt; widows:0"><span style="font-family:仿宋; font-size:12pt">1、我方与保理公司签署了智分期业务合作协议,我方将我方对贵方在商务协议项下享有的应收账款(截至保理公司支付转让对价之日)及自该日起(含该日)产生的全部逾期利息、违约金、赔偿金、补偿金及任何其他应付款项等及任何从权利包括但不限于抵押权、质押权、保证金等担保权利以及为实现应收账款而享有的任何实体性权利及程序性权利等,全部转让给保理公司。</span></p><p style="font-size:12pt; line-height:150%; margin:0pt; orphans:0; text-align:justify; text-indent:24pt; widows:0"><span style="font-family:仿宋; font-size:12pt">2、自本通知书签署之日起,保理公司作为新债权人有权要求贵方根据上述商务协议向保理公司清偿本通知书列明的应收账款及履行商务协议项下的其他义务。</span></p><p style="font-size:12pt; line-height:150%; margin:0pt; orphans:0; text-align:justify; text-indent:24pt; widows:0"><span style="font-family:仿宋; font-size:12pt">贵方应自收到本通知书之日起,将上述商务协议项下的全部应付款项于其到期之日支付至保理公司与贵方约定的指定账户或自本通知书签署之日起保理公司另行通知的其他账户。</span></p><p style="font-size:12pt; line-height:150%; margin:0pt; orphans:0; text-align:justify; text-indent:24pt; widows:0"><span style="font-family:仿宋; font-size:12pt">贵方仅得通过上述收款账户以电汇货币方式偿付本通知书列明的应收账款,除非保理公司另行书面同意或通知,我方无权通知贵方更改上述还款账户信息,贵方亦不得向保理公司指定账户外的其他任何账户或以其他方式偿付应收账款,否则视为贵方未能偿付相应债务,贵方仍应按保理公司的要求再行偿付。由此产生的一切损失、责任</span><span style="font-family:仿宋; font-size:12pt">等,由贵方自行承担。</span></p><p style="font-size:12pt; line-height:150%; margin:0pt; orphans:0; text-align:justify; text-indent:24pt; widows:0"><span style="font-family:仿宋; font-size:12pt">3、为避免歧义,我方在此确认:我方在商品服务项下的任何义务和责任均不转让给保理公司,仍由我方承担。</span></p><p style="font-size:12pt; line-height:150%; margin:0pt; orphans:0; text-align:justify; text-indent:24pt; widows:0"><span style="font-family:仿宋; font-size:12pt">4、本通知书一式三份,贵我双方各执一份,另一份由我方提交保理公司备存。</span><span style="font-family:仿宋; font-size:12pt"> </span></p><p style="font-size:12pt; line-height:150%; margin:0pt; orphans:0; text-align:justify; text-indent:24pt; widows:0"><span style="font-family:仿宋; font-size:12pt"> </span></p><p style="font-size:12pt; line-height:150%; margin:0pt; orphans:0; text-align:justify; text-indent:24pt; widows:0"><span style="font-family:仿宋; font-size:12pt"> </span><span style="font-family:仿宋; font-size:12pt"> </span><span style="font-family:仿宋; font-size:12pt"> </span><span style="font-family:仿宋; font-size:12pt">乙方</span><span style="font-family:仿宋; font-size:12pt">法人签字</span><span style="font-family:仿宋; font-size:12pt">(公章):</span><span style="background-color:#ffff00; font-family:仿宋; font-size:12pt; text-decoration:underline">法人姓名</span><span style="font-family:仿宋; font-size:12pt"> </span></p><p style="font-size:12pt; line-height:150%; margin:0pt 36pt 0pt 0pt; orphans:0; text-align:center; text-indent:24pt; widows:0"><span style="font-family:仿宋; font-size:12pt"> </span><span style="font-family:仿宋; font-size:12pt"> </span><span style="font-family:仿宋; font-size:12pt"> </span><span style="background-color:#ffff00; font-family:仿宋; font-size:12pt; text-decoration:underline">当天日期年</span><span style="font-family:仿宋; font-size:12pt">年</span><span style="background-color:#ffff00; font-family:仿宋; font-size:12pt; text-decoration:underline">当天日期月</span><span style="font-family:仿宋; font-size:12pt">月</span><span style="background-color:#ffff00; font-family:仿宋; font-size:12pt; text-decoration:underline">当天日期日</span><span style="font-family:仿宋; font-size:12pt">日</span><span style="font-family:仿宋; font-size:12pt"> </span><span style="font-family:仿宋; font-size:12pt"> </span><span style="font-family:仿宋; font-size:12pt"> </span></p></div>' \ No newline at end of file diff --git a/static/agreement3.js b/static/agreement3.js deleted file mode 100644 index 9a348de..0000000 --- a/static/agreement3.js +++ /dev/null @@ -1,126 +0,0 @@ -const agreement3= `<p style="line-height:19pt; margin:0pt; orphans:0; text-align:center; widows:0"> -<span style="font-family:DengXian; font-size:14pt">和微分扫码支付客户服务协议</span> -</p> -<p style="line-height:19pt; margin:0pt; orphans:0; text-indent:26.25pt; widows:0"> - 和微分扫码支付客户服务协议(以下简称“本协议”)是作为您(以下简称“客户”)与和微分商户办理花呗分期业务(以下简称“商户’)就使用扫码支付服务(以下简称“本服务”)等相关事宜而共同缔结。 -</p> -<p style="line-height:19pt; margin:0pt; orphans:0; text-indent:26.25pt; widows:0"> -一、声明与承诺 -</p> -<p style="line-height:19pt; margin:0pt; orphans:0; text-indent:26.25pt; widows:0"> - (一) 和微分提醒客户认真阅读并充分理解本协议各条款。请谨慎阅读并选择是否接受本协议。在阅读本协议的过程中,如果不同意本协议或其中任何条款约定,客户可以立即停止使用本服务。客户一经使用本服务即视为对本协议的理解和接受。 -</p> -<p style="line-height:19pt; margin:0pt; orphans:0; text-indent:26.25pt; widows:0"> - (二)客户在使用本服务时,应自行判断交易对方是否具有完全民事行为能力并自行决定是否使用本服务与对方进行交易,且客户应自行承担与此相关的所有风险。 -</p> -<p style="line-height:19pt; margin:0pt; orphans:0; text-indent:26.25pt; widows:0"> - (三)客户在使用本服务时,应完全遵循本协议及和微分不时制定的各项规定及相关页面提示内容。 -</p> -<p style="line-height:19pt; margin:0pt; orphans:0; text-indent:26.25pt; widows:0"> - 二、 和微分扫码支付业务条款 -</p> -<p style="line-height:19pt; margin:0pt; orphans:0; text-indent:26.25pt; widows:0"> - 和微分扫码支付业务仅限于用户个人消费领域,不得用于生成经营、投资等非消费领域,不得从事套现、洗钱和其他非法活动。 -</p> -<p style="line-height:19pt; margin:0pt; orphans:0; text-indent:26.25pt; widows:0"> - 和微分扫码支付业务名称如发生更改,以和微分公告为准,本协议的有效期不受业务名称变而影响。 -</p> -<p style="line-height:19pt; margin:0pt; orphans:0; text-indent:26.25pt; widows:0"> -(一)向商户付款 -</p> -<p style="line-height:19pt; margin:0pt; orphans:0; text-indent:26.25pt; widows:0"> -向商户付款:是客户使用支付宝客户端向商户出示付款二维码并经商户扫描(以下简称“被扫业务”),或客户使用支付宝客户端扫描商户出示的二维码(以下简称“主扫业务“)经收单机构受理后完成资金支付的服务。 -</p> -<p style="line-height:19pt; margin:0pt; orphans:0; text-indent:26.25pt; widows:0"> -使用本服务付款是基于付款客户对收款客户的充分了解(包括但不限于对方的真实身份及交易背景等),付款客户应当承担自身指示错误(失误)而导致的风险。 -</p> -<p style="line-height:19pt; margin:0pt; orphans:0; text-indent:26.25pt; widows:0"> -(二)交易撤销及退货 -</p> -<p style="line-height:19pt; margin:0pt; orphans:0; text-indent:26.25pt; widows:0"> -向商户付款业务提供交易撤销与退货功能,客户在消费并成功使用扫码支付业务付款后,如需撤销该笔支付交易或退货,可通过商户申请发起交易撤销或退货,和微分将根据相关业务规则将交易款项退还至客户原付款账户中。 -</p> -<p style="line-height:19pt; margin:0pt; orphans:0; text-indent:26.25pt; widows:0"> -三、本服务的其他业务规则 -</p> -<p style="line-height:19pt; margin:0pt; orphans:0; text-indent:26.25pt; widows:0"> -1. 和微分银行依据客户付款指示,根据本协议的约定向收款客户/商户完成支付后,即完成了当次服务的所有义务。对于收付款双方之间产生的关于当次交易的任何纠纷不承担任何责任,客户应当自行处理相关的纠纷。 -</p> -<p style="line-height:19pt; margin:0pt; orphans:0; text-indent:26.25pt; widows:0"> -2. 客户使用本协议,即表明同意授权和微分在付款客户符合指定条件或状态时,支付款项给收款商户。 -</p> -<p style="line-height:19pt; margin:0pt; orphans:0; text-indent:26.25pt; widows:0"> -四、信息保密与使用 -</p> -<p style="line-height:19pt; margin:0pt; orphans:0; text-indent:26.25pt; widows:0"> -客户授权并同意和微分为提供本服务而收集、保留和使用由客户提供并保存在和微分的个人信息(包括但不限于客户姓名、手机号码等)以及客户在使用本协议时留存在和微分客户端及各类数据信息,(以下合称“客户信息”)。 -</p> -<p style="line-height:19pt; margin:0pt; orphans:0; text-indent:26.25pt; widows:0"> -对于和微分在为客户提供本本地服务过程中获取和知悉的客户信息,和微分对相关的使用不得违反法律法规和监管要求,并应当承担保密责任,不向第三方披露该信息,但下列情形除外: -</p> -<p style="line-height:19pt; margin:0pt; orphans:0; text-indent:26.25pt; widows:0"> -(一)使用法律法规要求披露的: -</p> -<p style="line-height:19pt; margin:0pt; orphans:0; text-indent:26.25pt; widows:0"> -(二)司法部门或监管机构依法要求披露的: -</p> -<p style="line-height:19pt; margin:0pt; orphans:0; text-indent:26.25pt; widows:0"> -(三)客户另行同意或授权和微分进行披露的。 -</p> -<p style="line-height:19pt; margin:0pt; orphans:0; text-indent:26.25pt; widows:0"> -五、和微分的权利与义务 -</p> -<p style="line-height:19pt; margin:0pt; orphans:0; text-indent:26.25pt; widows:0"> -(一)和微分有权对使用本服务进行的交易及交易风险进行监控和评估,并根据相关法律法规、监管要求及本协议约定,根据客户风险状况采取调整、限制客户付款项金额、限制涉嫌违规的交易款项、终止受理业务等风险管理措施。 -</p> -<p style="line-height:19pt; margin:0pt; orphans:0; text-indent:26.25pt; widows:0"> -(二)和微分应向客户提供符合相关法律法规规定、监管要求及支付宝业务规则的支付服务。 -</p> -<p style="line-height:19pt; margin:0pt; orphans:0; text-indent:26.25pt; widows:0"> -六、客户的与义务 -</p> -<p style="line-height:19pt; margin:0pt; orphans:0; text-indent:26.25pt; widows:0"> -(一)客户有权享有和微分提供的符合相关法律法规规定、监管要求及支付宝业务规则的扫码支付服务。 -</p> -<p style="line-height:19pt; margin:0pt; orphans:0; text-indent:26.25pt; widows:0"> -(二)客户有权知悉本服务的所有功能、使用方法、各类收费项目和标准等信息。 -</p> -<p style="line-height:19pt; margin:0pt; orphans:0; text-indent:26.25pt; widows:0"> -(三)客户应根据本协议相关说明及和微分扫码支付交易支付页面中明示的相关规定/提示进行支付。 -</p> -<p style="line-height:19pt; margin:0pt; orphans:0; text-indent:26.25pt; widows:0"> -七、责任承担及责任限制 -</p> -<p style="line-height:19pt; margin:0pt; orphans:0; text-indent:26.25pt; widows:0"> -(一)使用本服务的付款客户和收款商户之间发生的任何交易纠纷应由纠纷各方自行解决,和微分不承担任何责任。 -</p> -<p style="line-height:19pt; margin:0pt; orphans:0; text-indent:26.25pt; widows:0"> -(二)客户在未受安全保护的手机客户端上使用本服务的,包括但不限于在受到病毒侵害的电脑或手机或其他移动设备终端上、在不安全的wifi环境里使用本服务等情形造成的损失,应由客户本人承担,和微分对此不承担任何责任。 -</p> -<p style="line-height:19pt; margin:0pt; orphans:0; text-indent:26.25pt; widows:0"> -(三)客户未按照本服务相关规则/页面提示内容操作,或未及时进行支付操作等原因造成付款失败所造成的一切损失,应由客户本人承担,和微分对此不承担任何责任。 -</p> -<p style="line-height:19pt; margin:0pt; orphans:0; text-indent:26.25pt; widows:0"> -(四)客户使用本服务时同意并认可,由于不可抗力及/或国家政策变化、IT系统故障、通讯系统故障、电力系统故障、金融危机等非银行所能控制的原因导致的损失,客户须自行承担。 -</p> -<p style="line-height:19pt; margin:0pt; orphans:0; text-indent:26.25pt; widows:0"> -八、法律使用及争议解决条款 -</p> -<p style="line-height:19pt; margin:0pt; orphans:0; text-indent:26.25pt; widows:0"> -(一)本协议的生效、履行、解释及争议的解决均适用中华人民共和国法律。本条款如因与中华人民共和国现行法律相抵触而导致部分无效,不影响其他部分的效力。 -</p> -<p style="line-height:19pt; margin:0pt; orphans:0; text-indent:26.25pt; widows:0"> -(二)如就本协议内容或其他执行发生任何争议,则双方应首先通过友好协商方式解决:协商不成的,任何一方均应向和微分所在地的人民法院提起诉讼。双方在补充协议/补充条款中另有约定的除外。 -</p> -<p style="line-height:19pt; margin:0pt; orphans:0; text-indent:26.25pt; widows:0"> -九、其他 -</p> -<p style="line-height:19pt; margin:0pt; orphans:0; text-indent:26.25pt; widows:0"> -(一)本协议经客户扫码付款二维码后生效。 -</p> -<p style="line-height:19pt; margin:0pt; orphans:0; text-indent:26.25pt; widows:0"> -(二)如本协议中的任何条款无论任何原因被视为完全或部分无效或不具有执行力,均不影响本协议的任何其余条款的有效性、约束力及可执行性。 -</p> -<p style="line-height:19pt; margin:0pt; orphans:0; text-indent:26.25pt; widows:0"> -(三)和微分修改本协议内容的,应根据适用的法律、法规、规章和监管规定提前在和微分门户网站、相关渠道公告。 -</p>` diff --git a/static/agreement4.js b/static/agreement4.js deleted file mode 100644 index 5cd50c8..0000000 --- a/static/agreement4.js +++ /dev/null @@ -1,428 +0,0 @@ -const agreement4= `<p style="line-height:19pt; margin:0pt; orphans:0; text-align:center; widows:0"> -<span style="font-family:DengXian; font-size:14pt">订单账款管理服务合同</span> -</p> -<p style="line-height:19pt; margin:0pt; orphans:0; text-indent:26.25pt; widows:0;font-size:10pt"> - 合同签订地及履行地:杭州市西湖区 -</p> -<p style="line-height:19pt; margin:0pt; orphans:0; text-indent:26.25pt; widows:0"> - 特别提醒:鉴于您(或称“客户”)通过四川纷领信息技术科技有限公司运营的和微分(域名为sie.jycash.cn,以下简称“交易平台”)向浙江网商银行股份有限公司(以下简称“网商银行”)申请开通“订单账款管理”服务(以下简称“本服务”),网商银行诚恳地建议您:在网商银行网站或其他与网商银行相关的软件客户端(简称“银行平台”)点击接受本合同之前,应事先了解清楚并充分理解本合同条款的全部内容。一旦您在任何银行平台点击接受本合同,即意味着您愿意向网商银行申请本服务,并已阅读、充分理解和接受本合同所有条款,同意接受本合同约束。 -</p> -<p style="line-height:19pt; margin:0pt; orphans:0; text-indent:26.25pt; widows:0"> - 为充分维护您的合法权益,网商银行特提醒您特别关注本合同条款中的加粗及加下划线部分。如您无法准确理解或不同意本合同任一条款,请勿继续之后的流程;如有疑问,烦请致电网商银行客服电话【95188-3】。 -</p> -<p style="line-height:19pt; margin:0pt; orphans:0; text-indent:26.25pt; widows:0"> - 第一条 了解订单账款安全 -</p> -<p style="line-height:19pt; margin:0pt; orphans:0; text-indent:26.25pt; widows:0"> - 1.1 考虑到订单账款安全,建议您:(1)妥善保管法定代表人身份证、营业执照、组织机构代码证、税务登记证、开户许可证等身份证明文件;(2)妥善保管手机、电脑等电子终端,并确保前述设备在安全的环境下使用服务;(3)妥善保管银行平台登录名、账号、密码、交易验证码等重要信息,不要轻信他人随意泄露;(4)交易完成后及时核对交易记录;(5)及时通知网商银行任何可疑的事项。 -</p> -<p style="line-height:19pt; margin:0pt; orphans:0; text-indent:26.25pt; widows:0"> - 1.2 对于可能发生或实际已发生的资金安全问题,建议您采取如下措施:(1)即刻自行操作或致电网商银行冻结资金,并及时修改密码;(2)如身份证明文件丢失,即刻向发证机关提出挂失申请;(3)如手机等电子终端丢失,向电信运营商提出号码挂失及换领申请。网商银行将尽力协助您减少可能损失的发生,但不会就您申请冻结资金之前发生的损失承担责任。 -</p> -<p style="line-height:19pt; margin:0pt; orphans:0; text-indent:26.25pt; widows:0"> - 1.3 为了保障您的订单账款安全,当网商银行判断存在较高的欺诈,盗用,不当使用,黑客入侵,病毒,恶意的、破坏性的或损坏性的代码、程序或宏指令攻击风险,或者存在疑似洗钱等违反法律法规的操作时,网商银行可以视情况在最长不超过180天的一定期间(简称“锁定期”)内锁定您的服务使用,并且拒绝接收您的任何交易指令。在该等情况下,您可以在锁定期后重新使用服务或者发送交易指令,也可以在锁定期内拨打网商银行客服电话申请解除锁定。该等锁定不应被视为网商银行的义务,网商银行也免于为此承担责任。 -</p> -<p style="line-height:19pt; margin:0pt; orphans:0; text-indent:26.25pt; widows:0"> - 第二条 了解服务申请的条件 -</p> -<p style="line-height:19pt; margin:0pt; orphans:0; text-indent:26.25pt; widows:0"> - 2.1 本服务申请过程中,您须根据监管规定及网商银行要求向网商银行提供相应资料并按照银行平台提示的流程提交申请。网商银行可能会对不同客户增减所需信息、验证步骤及具体要求,请以申请时银行平台的具体提示为准。网商银行将根据监管规定及网商银行要求对您的申请进行审核,并通过银行平台提示告知审核结果,烦请您关注。 -</p> -<p style="line-height:19pt; margin:0pt; orphans:0; text-indent:26.25pt; widows:0"> - 2.2 本服务申请过程中,您须根据银行平台提示的流程关联同名银行账户,并且应根据银行平台的提示完成相关验证。操作及使用关联同名银行账户时应遵循如下约定: -</p> -<p style="line-height:19pt; margin:0pt; orphans:0; text-indent:26.25pt; widows:0"> - (a) 为了确保您的合法权益,您应确保同名银行账户为您实名开立并使用。如非本人实名开立的账户请勿进行关联,否则网商银行有权拒绝您的关联申请或单方面解除已关联账户的关联关系。如因您的关联行为造成您自身、网商银行或第三方损失的,您同意就前述损失承担全部责任。 -</p> -<p style="line-height:19pt; margin:0pt; orphans:0; text-indent:26.25pt; widows:0"> - (b) 您授权同意,除留存您主动提供的同名银行账户信息外,网商银行亦可通过非银行支付机构、清算机构、合作银行获取并留存您的同名银行账户信息,包括但不限于账号、户名、证件类型、证件号码。并同意网商银行通过非银行支付机构、清算机构、合作银行进行上述账户信息的校验,您亦同意前述非银行支付机构、清算机构、合作银行将校验信息反馈给网商银行。您应确保同名银行账户信息的真实、完整、准确、合法、有效。 -</p> -<p style="line-height:19pt; margin:0pt; orphans:0; text-indent:26.25pt; widows:0"> - 2.3 基于运营及风险考虑,服务开通后,根据您的具体情况,对于以下第三条所述的网商银行的各项服务,网商银行可能会增减具体服务内容和(或)限制条件,请以银行平台的具体提示为准,烦请您关注。 -</p> - -<p style="line-height:19pt; margin:0pt; orphans:0; text-indent:26.25pt; widows:0"> - 第三条 了解订单账款管理服务 -</p> -<p style="line-height:19pt; margin:0pt; orphans:0; text-indent:26.25pt; widows:0"> - 一  服务内容 -</p> -<p style="line-height:19pt; margin:0pt; orphans:0; text-indent:26.25pt; widows:0"> -3.1订单账款管理服务是指您向交易对手提供商品或服务时,由网商银行为您提供保理服务,即您同意委托网商银行向您在交易平台的交易对手或合作机构(如收单机构、支付机构等)代收订单账款,并将订单账款根据本协议约定的方式进行结算。 -</p> -<p style="line-height:19pt; margin:0pt; orphans:0; text-indent:26.25pt; widows:0"> -3.2您在使用订单账款管理服务时应遵守银行平台及交易平台设定的流程、规则,否则网商银行有权拒绝向您提供本服务。 -</p> -<p style="line-height:19pt; margin:0pt; orphans:0; text-indent:26.25pt; widows:0"> - 二  订单账款结算 -</p> -<p style="line-height:19pt; margin:0pt; orphans:0; text-indent:26.25pt; widows:0"> -3.3您同意并理解,您可以通过以下方式实现订单账款结算: -</p> -<p style="line-height:19pt; margin:0pt; orphans:0; text-indent:26.25pt; widows:0"> -(a)网商银行仅为您代收基于交易平台上的订单账款,如前述资金非交易款项,则网商银行保留拒绝接收并退回原汇入账户的权利;此外,网商银行亦会根据交易平台的指令将订单账款退返。 -</p> -<p style="line-height:19pt; margin:0pt; orphans:0; text-indent:26.25pt; widows:0"> -(b)根据您与交易平台的约定将订单账款结算至您已关联的同名银行账户。网商银行将视情况,在交易当日或之后的工作日尽快处理。您确认并同意,前述交易的完成将受限于网商银行及/或其他机构操作此类交易的工作时间。 -</p> -<p style="line-height:19pt; margin:0pt; orphans:0; text-indent:26.25pt; widows:0"> -3.4您在提交指令时,请反复确认指令的准确性及完整性(包括转出金额、转出账户的户名、开户行、账号及其他网商银行要求的信息),网商银行没有义务对上述信息进行核实。一旦网商银行收到您或交易平台的任何结算指令,除非网商银行另行同意,网商银行将不会受理和执行您随后要求取消、撤销或修改该转账指令的任何指令。 -</p> -<p style="line-height:19pt; margin:0pt; orphans:0; text-indent:26.25pt; widows:0"> -3.5基于运营及风险考虑,网商银行将对可结算的金额、次数及使用方式进行限制,并单方面决定本服务的服务费用及交易指令的截止时间。除非紧急情况,网商银行将在银行平台公示前述信息。 -</p> -<p style="line-height:19pt; margin:0pt; orphans:0; text-indent:26.25pt; widows:0"> -3.6您理解并同意,对于本服务,除非因网商银行欺诈行为或重大过失导致的直接损失,网商银行对资金划转或传输过程中可能产生的任何损失或迟延,信息传输途中可能发生的任何错误、遗漏或毁损,或对收到的信息的错误解释,免于承担责任。 -</p> -<p style="line-height:19pt; margin:0pt; orphans:0; text-indent:26.25pt; widows:0"> - 三 订单账款融资 -</p> -<p style="line-height:19pt; margin:0pt; orphans:0; text-indent:26.25pt; widows:0"> -3.7您理解,基于付款机构、交易平台等因素,网商银行将上述订单账款结算给您存在一定的期间。为了保证您的流动性,您可选择向网商银行申请订单账款融资。该申请是一次性的,即在您同意办理订单账款融资至您终止本服务的期间,您无须针对每笔订单账款进行单独申请,网商银行将在确认您确实存在该笔订单账款后的约定时间内将款项支付至您授权的账户。前述约定时间具体以交易平台的规则、页面展示为准。 -</p> -<p style="line-height:19pt; margin:0pt; orphans:0; text-indent:26.25pt; widows:0"> -3.8鉴于网商银行向您提供了订单账款融资服务,为此您须向网商银行支付相应的服务费。具体服务费收取标准详以交易平台或银行平台的展示为准。 -</p> -<p style="line-height:19pt; margin:0pt; orphans:0; text-indent:26.25pt; widows:0"> -3.9您在申请订单账款融资服务并收到对应的款项后,除网商银行书面同意外,您不得就该笔订单账款向交易对手或合作机构主张债权。网商银行将享有该笔订单账款的权利,包括向交易对手或合作机构请求付款至网商银行指定账户等。 -</p> -<p style="line-height:19pt; margin:0pt; orphans:0; text-indent:26.25pt; widows:0"> -3.10如您与交易对手的交易存在瑕疵(如商品瑕疵、货不对版、伪造交易、交易对手拒付等),网商银行有权不向您提供订单账款融资服务。如网商银行已将融资款支付给您指定账户的,则您同意通过第三方(如支付宝(中国)网络技术有限公司等,以下简称“支付宝”)划转相应款项,或从您的其他交易资金中划转相应款项,针对其他交易资金划转的款项,网商银行将不再向您承担本协议项下订单账款结算的义务。 -</p> -<p style="line-height:19pt; margin:0pt; orphans:0; text-indent:26.25pt; widows:0"> -(二)和微分应向客户提供符合相关法律法规规定、监管要求及支付宝业务规则的支付服务。 -</p> -<p style="line-height:19pt; margin:0pt; orphans:0; text-indent:26.25pt; widows:0"> -四 对账查询 -</p> -<p style="line-height:19pt; margin:0pt; orphans:0; text-indent:26.25pt; widows:0"> -3.11您可以通过银行平台的指定页面查询您的账户信息及明细。如您对相关服务信息及结算明细存在疑问的,烦请致电网商银行客服电话咨询。 -</p> -<p style="line-height:19pt; margin:0pt; orphans:0; text-indent:26.25pt; widows:0"> -第四条 了解交易指令 -</p> -<p style="line-height:19pt; margin:0pt; orphans:0; text-indent:26.25pt; widows:0"> -4.1网商银行接受并执行通过以下任意一种或者多种方式发送的交易指令: -</p> -<p style="line-height:19pt; margin:0pt; orphans:0; text-indent:26.25pt; widows:0"> -(a)根据交易平台的规则或与您的约定,交易平台自行或代您发送的交易指令。前述指令包括但不限于冻结、解冻、划转款项等; -</p> -<p style="line-height:19pt; margin:0pt; orphans:0; text-indent:26.25pt; widows:0"> -(b)验证您在网商银行预留的交易密码(如有); -</p> -<p style="line-height:19pt; margin:0pt; orphans:0; text-indent:26.25pt; widows:0"> -(c)网商银行不时认可的其他方式。 -</p> -<p style="line-height:19pt; margin:0pt; orphans:0; text-indent:26.25pt; widows:0"> -4.2您确认并同意,依据4.1条约定发送的交易指令,无论是否由您本人亲自做出,均视为您本人做出,对您具有法律上的约束力。您不得因为前述指令存在交易平台转交情况而拒绝认可该交易指令,并就网商银行执行该交易指令提出任何赔偿请求。 -</p> -<p style="line-height:19pt; margin:0pt; orphans:0; text-indent:26.25pt; widows:0"> -4.3您可以通过银行平台指定的操作流程变更或者网商银行客服电话予以变更交易密码(如有),或以网商银行不时允许的其他方式予以操作。在网商银行收到上述申请并确认完成该变更操作之后,该变更方生效。交易密码变更的生效不影响变更前使用原交易密码已进行的交易的效力。 -</p> -<p style="line-height:19pt; margin:0pt; orphans:0; text-indent:26.25pt; widows:0"> -4.4如果您连续多次未通过网商银行认可的验证方式的验证,并达到网商银行认为合理的次数限制,网商银行将视情况在一定期间(简称“锁定期”)内锁定您的访问,或者拒绝接收您的任何交易指令。在该等情况下,您可以在锁定期结束后重新使用本服务,也可以在锁定期内拨打网商银行客服电话,按照银行平台的提示验证您的身份,并申请解除锁定。 -</p> -<p style="line-height:19pt; margin:0pt; orphans:0; text-indent:26.25pt; widows:0"> -第五条 服务状态异常将会影响交易指令执行 -</p> -<p style="line-height:19pt; margin:0pt; orphans:0; text-indent:26.25pt; widows:0"> -5.1当服务状态异常(比如订单账款余额不足、被冻结等)时,网商银行将不会执行您的交易指令(包括任何网商银行收费或网商银行应当代收的费用、手续费、佣金)。网商银行亦不就因延迟或未执行该等交易指令所导致的任何后果承担责任。 -</p> -<p style="line-height:19pt; margin:0pt; orphans:0; text-indent:26.25pt; widows:0"> -5.2如网商银行收到数项付款或其他交易指令,并且其涉及的总额超出订单账款余额或任何交易限额时,网商银行有权不考虑相关指令的发出日期以及收到该等指令的时间先后,自行决定选择执行和不执行其中的一项或若干项交易指令。 -</p> -<p style="line-height:19pt; margin:0pt; orphans:0; text-indent:26.25pt; widows:0"> -第六条 了解资金使用限制的情形 -</p> -<p style="line-height:19pt; margin:0pt; orphans:0; text-indent:26.25pt; widows:0"> -您不可撤销地授权网商银行,在为了确保您有足够资金执行您的任何交易指令,及根据交易平台自行或代您发送的交易指令,或基于法律法规规定、有权机关要求及其他合理理由的情况下,网商银行有权限制您使用相应资金,或冻结、划转部分或全部资金。 -</p> -<p style="line-height:19pt; margin:0pt; orphans:0; text-indent:26.25pt; widows:0"> -第七条 了解您应承担的债务追讨费用 -</p> -<p style="line-height:19pt; margin:0pt; orphans:0; text-indent:26.25pt; widows:0"> -网商银行可采取合理行动,以强制执行本合同,包括在向网商银行所知悉的您的任一联系方式发出通知后,聘请律师及/或第三方催收公司等代理人追讨您所欠网商银行的任何款项。您应当向网商银行赔偿网商银行为行使或实现网商银行在本合同项下任何权利或利益所产生的一切合理的法律及其他合理费用及开支(包括但不限于诉讼费用、律师费用、催收费用、调查费用、公证费用、评估费、鉴定费、拍卖费及差旅费等)。您不可撤销地同意及授权网商银行为上述目的向该等人士披露您的相关资料及信息。 -</p> -<p style="line-height:19pt; margin:0pt; orphans:0; text-indent:26.25pt; widows:0"> -第八条 如何终止服务 -</p> -<p style="line-height:19pt; margin:0pt; orphans:0; text-indent:26.25pt; widows:0"> -8.1在您违反本合同约定时,网商银行有权随时经通知您,自通知时起不再为您提供本服务,而免于为此承担责任。网商银行在发出该等通知后,即无任何义务执行与本服务有关的任何交易指令。 -</p> -<p style="line-height:19pt; margin:0pt; orphans:0; text-indent:26.25pt; widows:0"> -8.2网商银行有权在出现下列情况时,随时暂停您使用或中止本服务,而无须提供任何通知或理由: -</p> -<p style="line-height:19pt; margin:0pt; orphans:0; text-indent:26.25pt; widows:0"> -(a)本服务的维持或操作,因任何法律、法规或监管规定而被禁止或变得不合法/不合规; -</p> -<p style="line-height:19pt; margin:0pt; orphans:0; text-indent:26.25pt; widows:0"> -(b)您违反本合同的任何条款或与网商银行达成的其他约定; -</p> -<p style="line-height:19pt; margin:0pt; orphans:0; text-indent:26.25pt; widows:0"> -(c)您未按照网商银行的要求更新您的客户资料,包括但不限于身份证明信息、手机号等; -</p> -<p style="line-height:19pt; margin:0pt; orphans:0; text-indent:26.25pt; widows:0"> -(d)经网商银行合理判断,本服务被用作任何不合法或不正当的用途,或者存在被用作任何不合法或不正当的用途的嫌疑; -</p> -<p style="line-height:19pt; margin:0pt; orphans:0; text-indent:26.25pt; widows:0"> -(e)网商银行就有关本服务的操作收到互相抵触的指示; -</p> -<p style="line-height:19pt; margin:0pt; orphans:0; text-indent:26.25pt; widows:0"> -(f)网商银行收到任何第三方对您的订单账款的权利主张。 -</p> -<p style="line-height:19pt; margin:0pt; orphans:0; text-indent:26.25pt; widows:0"> -8.3如您申请终止本服务,应当通过客服电话办理。网商银行将酌情决定接受或拒绝您的服务终止申请。如果存在任何未结清的交易,或者您欠付网商银行的任何款项尚未结清,网商银行将不会接受您的服务终止申请。请您理解,网商银行目前暂不提供服务主动终止服务,如有疑问可咨询网商银行客服电话。 -</p> -<p style="line-height:19pt; margin:0pt; orphans:0; text-indent:26.25pt; widows:0"> -8.4服务终止后如有订单账款未处理,网商银行可根据网商银行认为妥当的途径和方式将扣除您欠付网商银行的任何网商银行收费及其他款项后的余额交还您,包括将款项转入您另行指定的您本人在其他银行或机构开立的账户。 -</p> -<p style="line-height:19pt; margin:0pt; orphans:0; text-indent:26.25pt; widows:0"> -8.5不论您的部分或全部服务是否已暂停或终止,您仍有责任向网商银行支付手续费、佣金及您应当支付的其他款项,以及截至服务暂停或终止时所累积的欠款,即使本合同之效力终止,您仍应承担该等付款责任。 -</p> -<p style="line-height:19pt; margin:0pt; orphans:0; text-indent:26.25pt; widows:0"> -8.6服务终止后,您将无法继续使用网商银行的本服务。 -</p> -<p style="line-height:19pt; margin:0pt; orphans:0; text-indent:26.25pt; widows:0"> -第九条 了解反洗钱的相关约定 -</p> -<p style="line-height:19pt; margin:0pt; orphans:0; text-indent:26.25pt; widows:0"> -9.1根据法律、法规和该司法管辖区的政府和监管机关的要求,若我们怀疑或认为任何账户的收支款项是恐怖分子/恐怖组织的财产或资金、或是毒品交易、恐怖活动或任何犯罪的收入、或者该等汇款或支付可能另行受到任何司法管辖区的制裁,我们可以决定并采取我们认为适当的任何行动。该等行动包括但不限于:拦截和调查任何付款指示以及通过网商银行的系统发往您或由您发出或代表您发出的其他信息或通讯;就可能涉及被制裁的任何个人或实体的姓名/名称是否确为该受制裁的个人或实体作进一步查询;在一段合理时间内推迟处理该等资金划转或支付以进行我们认为必需的调查和查询;拒绝进行该等资金划转或支付或拒绝接受该等交易指令。 -</p> -<p style="line-height:19pt; margin:0pt; orphans:0; text-indent:26.25pt; widows:0"> -9.2网商银行对任何一方由于以下任何事项遭受的任何损失(无论是直接损失还是间接损失,包括但不限于利润损失或利息损失)或损害免于承担责任: -</p> -<p style="line-height:19pt; margin:0pt; orphans:0; text-indent:26.25pt; widows:0"> -(a)网商银行迟延或未能处理任何该等交易指令或其他信息或通讯,或迟延或未能履行与任何账户或向您提供任何服务相关的任何职责或其他义务,只要该等迟延或未能处理/未能履行是全部或部分由于网商银行根据前述法律、法规和要求而采取的任何行为或措施而导致的; -</p> -<p style="line-height:19pt; margin:0pt; orphans:0; text-indent:26.25pt; widows:0"> -(b)网商银行行使本合同下的任何权利。在某些情况下,网商银行采取的行为可能导致不予或迟延处理某些指令或信息。在采取该等行为时,网商银行均不保证网商银行系统中的相关付款指示或其他信息和通讯是准确的、现时的或更新的。 -</p> -<p style="line-height:19pt; margin:0pt; orphans:0; text-indent:26.25pt; widows:0"> -第十条 了解网商银行如何行使抵销权 -</p> -<p style="line-height:19pt; margin:0pt; orphans:0; text-indent:26.25pt; widows:0"> -在不损害(现有或将来设立的)任何留置权、抵押权、质押权或其他担保权利的情况下,除网商银行可行使的所有其他权利及救济外,网商银行有权(但无义务)在不经事先通知您或取得您事先同意的情况下,抵销或转移本服务项下的订单账款,以偿还您对网商银行在任何账户或任何服务项下或其他任何方式的义务、债务或责任,不论该等义务、债务或责任为连带或单独的、基本或从属的,亦不论是否需要通过您的交易指令执行。您在此同意并授权网商银行执行(或要求执行)任何必要的资金划转。 -</p> -<p style="line-height:19pt; margin:0pt; orphans:0; text-indent:26.25pt; widows:0"> -第十一条 了解网商银行如何行使留置权 -</p> -<p style="line-height:19pt; margin:0pt; orphans:0; text-indent:26.25pt; widows:0"> -网商银行有权留置您通过任何途径由网商银行持有或控制的任何现有和将来的财产,作为您对网商银行的任何义务、债务或责任的持续性担保,直至该等义务、债务或责任已完全清偿。网商银行有权出售该等财产,并在扣除相关费用、手续费、佣金或您应当支付的其他款项后,将所获款项用作偿还您对网商银行的任何义务、债务及责任(包括诉讼费用、律师费用、评估费、拍卖费及差旅费等)。如该等款项不足以偿付您对网商银行的所欠款项,您应一经网商银行要求立即补足其差额。 -</p> -<p style="line-height:19pt; margin:0pt; orphans:0; text-indent:26.25pt; widows:0"> -第十二条 了解网商银行的免责条款 -</p> -<p style="line-height:19pt; margin:0pt; orphans:0; text-indent:26.25pt; widows:0"> -12.1除非由于网商银行或网商银行员工的欺诈行为或重大过失,否则网商银行或网商银行员工就下列事宜向您或第三人均免于承担责任或义务: -</p> -<p style="line-height:19pt; margin:0pt; orphans:0; text-indent:26.25pt; widows:0"> -(a)本服务因任何法律、法规或监管要求而被禁止或变得不合法/不合规 -</p> -<p style="line-height:19pt; margin:0pt; orphans:0; text-indent:26.25pt; widows:0"> -(b)您没有遵守本合同的约定; -</p> -<p style="line-height:19pt; margin:0pt; orphans:0; text-indent:26.25pt; widows:0"> -(c)网商银行按照交易平台之指示行事; -</p> -<p style="line-height:19pt; margin:0pt; orphans:0; text-indent:26.25pt; widows:0"> -(d)任何与本服务有关的设备或装置的机械故障、电力故障、失灵、停顿、运作中断或设备或装置的不足,或任何天灾、恐怖活动、战争或延期偿付之宣布或任何其他不在网商银行控制范围内的事宜; -</p> -<p style="line-height:19pt; margin:0pt; orphans:0; text-indent:26.25pt; widows:0"> -(e)网商银行执行符合本合同的任何指令,或网商银行基于合理理由未能执行或决定不执行该等指令; -</p> -<p style="line-height:19pt; margin:0pt; orphans:0; text-indent:26.25pt; widows:0"> -(f)网商银行基于合理理由未能或延迟执行您的指令。 -</p> -<p style="line-height:19pt; margin:0pt; orphans:0; text-indent:26.25pt; widows:0"> -12.2网商银行相关系统或软件因下列状况无法正常运作,使您无法使用或无法正常使用各项服务或使网商银行无法根据您的指令行事或者履行本合同项下的其他义务时,网商银行不承担损害赔偿责任,该状况包括但不限于: -</p> -<p style="line-height:19pt; margin:0pt; orphans:0; text-indent:26.25pt; widows:0"> -(a)在网商银行相关系统或软件或与交易相关的其他系统或软件公告之系统维护期间; -</p> -<p style="line-height:19pt; margin:0pt; orphans:0; text-indent:26.25pt; widows:0"> -(b)电信设备出现故障不能正常进行数据传输的; -</p> -<p style="line-height:19pt; margin:0pt; orphans:0; text-indent:26.25pt; widows:0"> -(c)因台风、地震、海啸、洪水、停电、战争、恐怖袭击等不可抗力之因素,造成网商银行系统障碍不能正常执行业务的; -</p> -<p style="line-height:19pt; margin:0pt; orphans:0; text-indent:26.25pt; widows:0"> -(d)由于黑客攻击、电信部门技术调整或故障、网站升级、第三人方面的问题等原因而造成的服务中断或者延迟。 -</p> -<p style="line-height:19pt; margin:0pt; orphans:0; text-indent:26.25pt; widows:0"> -12.3在任何情况下,网商银行对您或任何第三人的责任均仅限于直接及纯粹因上述事宜导致的直接且可合理预计的损失。 -</p> -<p style="line-height:19pt; margin:0pt; orphans:0; text-indent:26.25pt; widows:0"> -12.4除非网商银行另行明确书面同意,网商银行不对您承担任何咨询、建议或类似服务的义务。您确认,您已经就任何账户、服务、您与网商银行之间的任何交易或网商银行按您任何指示而进行的交易,在相关的法律、税务、财务和其他方面,取得了必要的独立咨询意见。 -</p> -<p style="line-height:19pt; margin:0pt; orphans:0; text-indent:26.25pt; widows:0"> -12.5您使用本服务或进行任何交易或投资的任何决定,均是根据您本身的独立判断和评估而作出的,并不依赖网商银行给予的任何意见、建议或信息;您亦同意,即使决策是根据网商银行给予的任何具有参考性的意见、建议或信息而进行的,网商银行不会就您的决策导致的损失或损害承担责任,您不会就此要求网商银行承担责任,亦不会就此加入或进行针对网商银行的任何行动或诉讼。您了解,进行任何投资前应当寻求独立的专业咨询,并且就与本合同有关的任何事项而言,网商银行并非专业的独立顾问。 -</p> -<p style="line-height:19pt; margin:0pt; orphans:0; text-indent:26.25pt; widows:0"> -第十三条 了解网商银行对交易记录及资料保存的方式方法 -</p> -<p style="line-height:19pt; margin:0pt; orphans:0; text-indent:26.25pt; widows:0"> -13.1在提供本合同项下服务的过程中,您同意且网商银行有权(但无义务),以各种可行方式记录您的客户资料、交易指令、交流信息(包括但不限于客服电话的录音)及其他相关文件。所有资料均属网商银行所有,并可作为您的交易指令或证明网商银行与您之间沟通情况的决定性证据,对您具有法律上的约束力。 -</p> -<p style="line-height:19pt; margin:0pt; orphans:0; text-indent:26.25pt; widows:0"> -13.2网商银行可自行确定保存客户资料、交易指令、交流信息及其他相关文件的期限,并可能在期限届满后销毁其正本。该正本可能会被复制成数字存储的副本,该等数字存储的副本应被视为与其正本具有相同的真实性及效力。 -</p> -<p style="line-height:19pt; margin:0pt; orphans:0; text-indent:26.25pt; widows:0"> -13.3所有以上客户资料、交易指令、交流信息及其他相关文件,以及相应的数字存储的副本等均具有法律上完全的证据效力,对您具有法律上的约束力。 -</p> -<p style="line-height:19pt; margin:0pt; orphans:0; text-indent:26.25pt; widows:0"> -第十四条 了解您及时更改客户资料的义务 -</p> -<p style="line-height:19pt; margin:0pt; orphans:0; text-indent:26.25pt; widows:0"> -14.1您保证您提供给网商银行的任何资料均为真实、准确、有效。当您的任何客户资料出现任何更改或更新,应立即通过网商银行认可的方式提交更新申请。在网商银行确认上述更新之后,客户资料变更方生效。 -</p> -<p style="line-height:19pt; margin:0pt; orphans:0; text-indent:26.25pt; widows:0"> -14.2客户资料包括但不限于身份信息、联系方式等。提交客户资料更新申请后,网商银行可能要求您提交相关补充资料,您应尽协助之义务。 -</p> -<p style="line-height:19pt; margin:0pt; orphans:0; text-indent:26.25pt; widows:0"> -14.3所有源于您没有向网商银行提供最新客户资料而引致的后果均由您自行承担。 -</p> -<p style="line-height:19pt; margin:0pt; orphans:0; text-indent:26.25pt; widows:0"> -第十五条 了解您的建议及投诉渠道 -</p> -<p style="line-height:19pt; margin:0pt; orphans:0; text-indent:26.25pt; widows:0"> -如您对网商银行提供的服务有任何建议或投诉,可致电网商银行的客服电话或登录网商银行银行平台。您的所有建议和投诉将按网商银行的内部处理程序予以处理。 -</p> -<p style="line-height:19pt; margin:0pt; orphans:0; text-indent:26.25pt; widows:0"> -第十六条 了解网商银行更正错误记录 -</p> -<p style="line-height:19pt; margin:0pt; orphans:0; text-indent:26.25pt; widows:0"> -即使有任何明示或默示的相反规定,网商银行有权并且您授权网商银行在发现:(i)任何交易记录错误; (ii)任何交易记录遗漏;或(iii)任何交易存在计算错误时,随时更正交易记录。您同意并授权,如该等错误或遗漏造成网商银行向相关账户支付了超过应付数额的任何款项,则网商银行有权调整任何相关交易记录、要求您退款及/或从您在本网商银行开立的任何账户扣除相关款项。 -</p> -<p style="line-height:19pt; margin:0pt; orphans:0; text-indent:26.25pt; widows:0"> -第十七条 了解网商银行承担赔偿的范围 -</p> -<p style="line-height:19pt; margin:0pt; orphans:0; text-indent:26.25pt; widows:0"> -如网商银行因为或出于向您提供任何服务、与您进行任何交易、为您维持履行本合同项下义务、您违反本合同或适用的法律而基于合同、侵权或其他方面遭受或产生任何索赔、责任、损失、损害、成本、费用和开支(不论因税款、税费或其他事由产生的,包括但不限于全额赔偿网商银行为维护和实现本条款项下权利而发生的诉讼费用、律师费用、评估费、拍卖费及差旅费等,且不论是实际发生的还是可能发生的),您应向网商银行赔偿该等索赔、责任、损失、损害或费用,并且确保网商银行免受该等索赔、责任、损失、损害、费用或开支的影响,除非该等索赔、责任、损失、损害或费用是由网商银行的欺诈或重大过失造成。网商银行出具的任何您就上述赔偿责任而对网商银行应承担的责任或债务的证明,应对您具有约束力,并且作为最终证据,而无须进一步证明该等索赔、责任、损失、损害、费用或开支。 -</p> -<p style="line-height:19pt; margin:0pt; orphans:0; text-indent:26.25pt; widows:0"> -第十八条 了解网商银行如何收集信息 -</p> -<p style="line-height:19pt; margin:0pt; orphans:0; text-indent:26.25pt; widows:0"> -18.1您理解并同意,当您使用网商银行服务时,您会向网商银行主动提供一些信息,网商银行也会通过您授权的渠道收集您的一些信息。网商银行将依据《网商银行隐私权政策》的要求严格保护您的信息。请您仔细阅读该政策,如有任何疑问,请随时联系网商银行。 -</p> -<p style="line-height:19pt; margin:0pt; orphans:0; text-indent:26.25pt; widows:0"> -18.2您理解并同意,网商银行在遵循合法、正当、必要原则的前提下,按照如下方式收集您的相关信息: -</p> -<p style="line-height:19pt; margin:0pt; orphans:0; text-indent:26.25pt; widows:0"> -(a)为减少可能存在的资金损失风险,网商银行将对您根据本协议2.2条关联的银行账户进行验证,验证的信息应当至少包括:开户申请人姓名、居民身份证号码、手机号码、绑定账户账号(卡号)、绑定账户是否为Ⅰ类银行账户或者信用卡账户。您理解并同意网商银行在监管要求的必要范围内,收集您的前述信息; -</p> -<p style="line-height:19pt; margin:0pt; orphans:0; text-indent:26.25pt; widows:0"> -(b)为了遵守法律法规及监管机构的管理的要求,以及向您提供更个性化、更便捷的服务,网商银行需要收集您主动提供的身份信息,或向支付宝等网商银行关联公司及合法留存您信息的其他方(如:I类银行账户或信用卡账户开户银行)收集您的身份信息,并进行交叉验证核对。身份信息包括:您的姓名、身份证件、地址、职业、电话号码和电子邮件地址及相关附加信息(如您所在的省份和城市、邮政编码等); -</p> -<p style="line-height:19pt; margin:0pt; orphans:0; text-indent:26.25pt; widows:0"> -(c)为便于您查询您的交易状态或历史记录,也为了遵守法律法规的规定,网商银行会保存您使用网商银行服务产生的交易信息,并严格按照法律法规及监管的要求对这些信息进行妥善保管; -</p> -<p style="line-height:19pt; margin:0pt; orphans:0; text-indent:26.25pt; widows:0"> -(d)为了保护您的账户安全,防止您的资金、个人信息被不法分子获取,当您使用网商银行提供的服务时,您理解并同意网商银行记录您操作的相关信息,如:您的网络信息、设备标识符、硬件型号、操作系统版本、您的位置以及与网商银行服务相关的日志信息。这些信息可帮助网商银行更好地保护您的账户安全。您可以关闭收集位置功能,这样网商银行会停止对您的位置信息的收集,这样做不会影响您使用网商银行服务,但可能会影响网商银行判断您的账户是否安全; -</p> -<p style="line-height:19pt; margin:0pt; orphans:0; text-indent:26.25pt; widows:0"> -(e)网商银行为了提供服务及改进服务质量的合理需要,您理解并同意网商银行收集其他必要信息,如:您与网商银行的客户服务团队联系时您提供的相关信息,您参与提供的与网商银行服务或产品相关的问卷答复信息。与此同时,为提高您使用网商银行提供的服务的安全性,更准确地预防钓鱼网站、短信欺诈和木马病毒,网商银行可能会通过了解一些您的网络使用习惯、您使用的移动应用(App)或软件信息等手段来判断您账户的风险,并可能会记录一些网商银行认为有风险的URL。 -</p> -<p style="line-height:19pt; margin:0pt; orphans:0; text-indent:26.25pt; widows:0"> -第十九条 了解网商银行如何使用信息 -</p> -<p style="line-height:19pt; margin:0pt; orphans:0; text-indent:26.25pt; widows:0"> -19.1收集您的信息是出于遵守国家法律法规的规定或监管要求,以及向您提供服务及提升服务质量的目的。为了实现前述目的,您理解并同意网商银行把您的信息用于下列用途: -</p> -<p style="line-height:19pt; margin:0pt; orphans:0; text-indent:26.25pt; widows:0"> -(a)向您提供网商银行的各项服务及客户服务,并维护、改进这些服务; -</p> -<p style="line-height:19pt; margin:0pt; orphans:0; text-indent:26.25pt; widows:0"> -(b)比较信息的准确性,并与第三方进行验证。例如,将您向网商银行提交的身份信息与身份验证的服务机构进行验证; -</p> -<p style="line-height:19pt; margin:0pt; orphans:0; text-indent:26.25pt; widows:0"> -(c)为使您知晓自己使用网商银行的各项服务的情况或了解网商银行的服务,向您发送服务状态的通知、营销活动及其他商业性电子信息。如您不希望接收该等信息,请您收到营销信息后按照信息提示的方式退订; -</p> -<p style="line-height:19pt; margin:0pt; orphans:0; text-indent:26.25pt; widows:0"> -(d)对网商银行用户的身份数据、交易信息等进行综合统计、分析或加工等处理,为您提供理财、信贷等服务; -</p> -<p style="line-height:19pt; margin:0pt; orphans:0; text-indent:26.25pt; widows:0"> -(e)预防或禁止非法的活动; -</p> -<p style="line-height:19pt; margin:0pt; orphans:0; text-indent:26.25pt; widows:0"> -(f)行政和司法机关根据法律及行政法规的合法要求。 -</p> -<p style="line-height:19pt; margin:0pt; orphans:0; text-indent:26.25pt; widows:0"> -19.2为了提升服务效率,降低服务成本,或提高服务质量,网商银行可能需要委托关联公司或专业机构(以下合称“受托机构”)协助完成本协议项下服务或职责,例如: -</p> -<p style="line-height:19pt; margin:0pt; orphans:0; text-indent:26.25pt; widows:0"> -(a)委托具备专业技术能力的关联公司按照本协议的约定采集您的信息或对您的信息进行分析、加工和处理,用于网商银行服务的风险控制或维护、改善网商银行服务; -</p> -<p style="line-height:19pt; margin:0pt; orphans:0; text-indent:26.25pt; widows:0"> -(b)委托具备专业技术能力的关联公司评估您的履约能力和履约意愿,供网商银行决策参考; -</p> -<p style="line-height:19pt; margin:0pt; orphans:0; text-indent:26.25pt; widows:0"> -(c)委托受托机构提供客户服务(如:客服热线接听)。 -</p> -<p style="line-height:19pt; margin:0pt; orphans:0; text-indent:26.25pt; widows:0"> -为此,网商银行将在与相关服务必要范围内向受托机构提供您的部分信息。网商银行承诺受托机构同样遵守严格的保密义务及采取有效的保密措施,禁止其将这些信息用于未经您同意的用途,网商银行对此承担相应的责任。 -</p> -<p style="line-height:19pt; margin:0pt; orphans:0; text-indent:26.25pt; widows:0"> -第二十条 了解网商银行如何共享信息 -</p> -<p style="line-height:19pt; margin:0pt; orphans:0; text-indent:26.25pt; widows:0"> -网商银行对您的信息承担严格保密义务,您理解并同意,网商银行为了遵守国家法律法规的规定或监管要求,以及向您提供服务并提升服务质量的目的,在下列情况下将您的信息与第三方共享: -</p> -<p style="line-height:19pt; margin:0pt; orphans:0; text-indent:26.25pt; widows:0"> -(a)若第三方根据其与您的约定可以获取您提供给或留存在网商银行的信息,网商银行将依据您同意的范围向第三方提供该等信息; -</p> -<p style="line-height:19pt; margin:0pt; orphans:0; text-indent:26.25pt; widows:0"> -(b)某些情况下,只有共享您的信息,才能提供您需要的服务和(或)产品,或处理您与他人的交易纠纷或争议; -</p> -<p style="line-height:19pt; margin:0pt; orphans:0; text-indent:26.25pt; widows:0"> -(c)某些情况下,只有共享您的信息,才能判断您的账户或交易是否安全; -</p> -<p style="line-height:19pt; margin:0pt; orphans:0; text-indent:26.25pt; widows:0"> -(d)某些服务和(或)产品由网商银行的合作伙伴提供或由网商银行与合作伙伴、供应商共同提供,网商银行会与其共享提供服务和(或)产品必须的信息; -</p> -<p style="line-height:19pt; margin:0pt; orphans:0; text-indent:26.25pt; widows:0"> -(e)网商银行与第三方进行联合推广活动,网商银行可能与其共享活动过程中产生的、为完成活动所必要的个人信息,如参加活动的用户数、中奖名单、中奖人联系方式等,以便第三方能及时向您发放奖品; -</p> -<p style="line-height:19pt; margin:0pt; orphans:0; text-indent:26.25pt; widows:0"> -(f)为促进社会信用体系的建立和完善,您同意将您提供的或履约中产生的相关必要信息(包括不良信息)向征信机构、信用服务机构以及中国互联网金融协会提供; -</p> -<p style="line-height:19pt; margin:0pt; orphans:0; text-indent:26.25pt; widows:0"> -(g)行政和司法机关根据法律及行政法规的合法要求。 -</p> -<p style="line-height:19pt; margin:0pt; orphans:0; text-indent:26.25pt; widows:0"> -第二十一条 合同的适用法律及争议解决方式 -</p> -<p style="line-height:19pt; margin:0pt; orphans:0; text-indent:26.25pt; widows:0"> -本合同适用中华人民共和国法律。本合同在履行过程中发生争议,可以协商解决,协商不成,向合同签订地及履行地人民法院起诉。在诉讼期间,本合同不涉及争议部分的条款仍须履行。 -</p> -<p style="line-height:19pt; margin:0pt; orphans:0; text-indent:26.25pt; widows:0"> -第二十二条 合同的生效、变更、解除 -</p> -<p style="line-height:19pt; margin:0pt; orphans:0; text-indent:26.25pt; widows:0"> -22.1本合同自网商银行向您提供具体服务之日起生效。 -</p> -<p style="line-height:19pt; margin:0pt; orphans:0; text-indent:26.25pt; widows:0"> -22.2网商银行有权不定期修改本合同,不时增加、减少或变更任何服务(包括其相关范围及使用条件)、网商银行服务收费表。当本合同的相关变更涉及增加网商银行收费及/或影响您的责任及义务时,网商银行将通过银行平台的相应页面,至少提前三十天予以公布。 -</p> -<p style="line-height:19pt; margin:0pt; orphans:0; text-indent:26.25pt; widows:0"> -22.3除法律法规另有强制性规定外,如您在相关修改生效后继续使用相关服务,即视为同意该等变更或修订。 -</p> -<p style="line-height:19pt; margin:0pt; orphans:0; text-indent:26.25pt; widows:0"> -22.4本合同生效后,除本合同另有约定外,未与网商银行协商一致的情况下您不得变更或解除本合同。网商银行基于自身经营考虑,可以中断、终止本合同或其任何部分,但网商银行将尽最大可能减少或避免侵害您的合法权益。 -</p> -<p style="line-height:19pt; margin:0pt; orphans:0; text-indent:26.25pt; widows:0"> -第二十三条 通知及其他 -</p> -<p style="line-height:19pt; margin:0pt; orphans:0; text-indent:26.25pt; widows:0"> -23.1通知 -</p> -<p style="line-height:19pt; margin:0pt; orphans:0; text-indent:26.25pt; widows:0"> -本合同履行过程中,网商银行可以通过银行平台的内置信息、您留存在网商银行或交易平台的电子邮箱等途径向您发出通知,发送当日即视为送达。 -</p> -<p style="line-height:19pt; margin:0pt; orphans:0; text-indent:26.25pt; widows:0"> -23.2其他 -</p> -<p style="line-height:19pt; margin:0pt; orphans:0; text-indent:26.25pt; widows:0"> -除本合同的相关约定外,您还须遵守国家法律法规、监管规定关于支付结算、银行服务等相关规定。 -</p> -` diff --git a/webpack.common.js b/webpack.common.js index 930f1ac..f9a3922 100644 --- a/webpack.common.js +++ b/webpack.common.js @@ -15,7 +15,7 @@ let env = process.env.NODE_ENV; //打包地址 -let srcUrl = '/sib_wx_scorec/' +let srcUrl = '/sib_wx_scored/' module.exports = { entry: { index: "./src/index.js", @@ -23,7 +23,7 @@ output: { filename: 'js/[name].js', path: path.resolve(__dirname, 'dist'), - publicPath: env ? '/sib_wx_scorec/' : '/' //根据线上项目路径更改 /projectpath + publicPath: env ? '/sib_wx_scored/' : '/' //根据线上项目路径更改 /projectpath }, /**防止将某些 import 的包(package)打包到 bundle 中,而是在运行时(runtime)再去从外部获取这些扩展依赖, * 简而言之:就是使用cdn~不打包这些变量引用的文件,生成环境时需要在index.html中手动引入cdn -- Gitblit v1.8.0