Commit cca0a09d authored by JingChao's avatar JingChao

Merge branch 'wechat'

parents 101b7510 dad53d96
......@@ -42,18 +42,10 @@ module.exports = {
type: 'confirm',
message: 'install workflow modules in App?',
},
/*calculate:{
type: 'confirm',
message: 'install calculate modules in App?',
},*/
riskstrom:{
type: 'confirm',
message: 'install riskstrom modules in App?',
},
robot:{
type: 'confirm',
message: 'install robot modules in App?',
},
esign:{
type: 'confirm',
message: 'install esign modules in App?',
......@@ -97,7 +89,6 @@ module.exports = {
'src/pages/applications/workflow/**/*': 'wfl',
'src/pages/applications/financCalculate/**/*': 'project',
'src/pages/applications/riskStorm/**/*': 'riskstrom',
'src/pages/applications/robot/**/*': 'robot',
'src/pages/applications/esign/**/*': 'esign',
'src/pages/applications/reports/**/*': 'report',
'src/pages/applications/qiXinBao/**/*': 'qixin',
......
......@@ -25,8 +25,8 @@ const webpackConfig = merge(baseWebpackConfig, {
devtool: config.build.productionSourceMap ? config.build.devtool : false,
output: {
path: config.build.assetsRoot,
filename: utils.assetsPath('js/[name].[chunkhash].js'),
chunkFilename: utils.assetsPath('js/[id].[chunkhash].js')
filename: utils.assetsPath('js/[name][id].[chunkhash].js'),
chunkFilename: utils.assetsPath('js/[name][id].[chunkhash].js')
},
plugins: [
// http://vuejs.github.io/vue-loader/en/workflow/production.html
......
<?xml version='1.0' encoding='utf-8'?>
<widget id="com.hls.easy.car" version="1.0.0" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0">
<name>车租易 ToC</name>
<description>
测试环境版
</description>
<author email="jingchao.wu@hand-china.com" href="http://example.com.com/">
chris
</author>
<content src="index.html"/>
<access origin="*"/>
<access origin="mailto:*" launch-external="yes"/>
<access origin="tel:*" launch-external="yes"/>
<allow-intent href="mailto:*"/>
<allow-intent href="tel:*"/>
<allow-navigation href="mailto:*"/>
<allow-navigation href="tel:*"/>
<allow-navigation href="http://wechat.hand-china.com/*" />
<allow-navigation href="https://www.pgyer.com/*"/>
<access launch-external="yes" origin="tel:*"/>
<access launch-external="yes" origin="sms:*"/>
<preference name="ScrollEnabled" value="false" />
<preference name="android-minSdkVersion" value="19" />
<preference name="BackupWebStorage" value="none" />
<preference name="SplashMaintainAspectRatio" value="true" />
<preference name="FadeSplashScreenDuration" value="300" />
<preference name="SplashShowOnlyFirstTime" value="false" />
<preference name="SplashScreen" value="screen" />
<preference name="SplashScreenDelay" value="3000" />
<preference name="android-windowSoftInputMode" value="adjustPan|stateAlwaysHidden"/>
<preference name="KeyboardDisplayRequiresUserAction" value="false"/>
<feature name="StatusBar">
<param name="ios-package" onload="true" value="CDVStatusBar"/>
</feature>
<platform name="android">
<allow-intent href="market:*" />
<hook src="hooks/copy-build-extras-gradle.js" type="before_build"/>
<icon density="ldpi" src="resources/android/icon/drawable-ldpi-icon.png" />
<icon density="mdpi" src="resources/android/icon/drawable-mdpi-icon.png" />
<icon density="hdpi" src="resources/android/icon/drawable-hdpi-icon.png" />
<icon density="xhdpi" src="resources/android/icon/drawable-xhdpi-icon.png" />
<icon density="xxhdpi" src="resources/android/icon/drawable-xxhdpi-icon.png" />
<icon density="xxxhdpi" src="resources/android/icon/drawable-xxxhdpi-icon.png" />
<splash density="land-ldpi" src="resources/android/splash/drawable-land-ldpi-screen.png" />
<splash density="land-mdpi" src="resources/android/splash/drawable-land-mdpi-screen.png" />
<splash density="land-hdpi" src="resources/android/splash/drawable-land-hdpi-screen.png" />
<splash density="land-xhdpi" src="resources/android/splash/drawable-land-xhdpi-screen.png" />
<splash density="land-xxhdpi" src="resources/android/splash/drawable-land-xxhdpi-screen.png" />
<splash density="land-xxxhdpi" src="resources/android/splash/drawable-land-xxxhdpi-screen.png" />
<splash density="port-ldpi" src="resources/android/splash/drawable-port-ldpi-screen.png" />
<splash density="port-mdpi" src="resources/android/splash/drawable-port-mdpi-screen.png" />
<splash density="port-hdpi" src="resources/android/splash/drawable-port-hdpi-screen.png" />
<splash density="port-xhdpi" src="resources/android/splash/drawable-port-xhdpi-screen.png" />
<splash density="port-xxhdpi" src="resources/android/splash/drawable-port-xxhdpi-screen.png" />
<splash density="port-xxxhdpi" src="resources/android/splash/drawable-port-xxxhdpi-screen.png" />
<preference name="webviewbounce" value="false"/>
<preference name="UIWebViewBounce" value="false"/>
<icon src="resources/ios/icon/icon-small@3x.png"/>
<preference name="xwalkVersion" value="19+"/>
<preference name="xwalkCommandLine" value="--disable-pull-to-refresh-effect"/>
<preference name="xwalkMode" value="embedded"/>
<preference name="xwalkMultipleApk" value="true"/>
</platform>
<platform name="ios">
<allow-intent href="itms:*" />
<allow-intent href="itms-apps:*" />
<icon height="57" src="resources/ios/icon/icon.png" width="57" />
<icon height="114" src="resources/ios/icon/icon@2x.png" width="114" />
<icon height="40" src="resources/ios/icon/icon-40.png" width="40" />
<icon height="80" src="resources/ios/icon/icon-40@2x.png" width="80" />
<icon height="120" src="resources/ios/icon/icon-40@3x.png" width="120" />
<icon height="50" src="resources/ios/icon/icon-50.png" width="50" />
<icon height="100" src="resources/ios/icon/icon-50@2x.png" width="100" />
<icon height="60" src="resources/ios/icon/icon-60.png" width="60" />
<icon height="120" src="resources/ios/icon/icon-60@2x.png" width="120" />
<icon height="180" src="resources/ios/icon/icon-60@3x.png" width="180" />
<icon height="72" src="resources/ios/icon/icon-72.png" width="72" />
<icon height="144" src="resources/ios/icon/icon-72@2x.png" width="144" />
<icon height="76" src="resources/ios/icon/icon-76.png" width="76" />
<icon height="152" src="resources/ios/icon/icon-76@2x.png" width="152" />
<icon height="167" src="resources/ios/icon/icon-83.5@2x.png" width="167" />
<icon height="29" src="resources/ios/icon/icon-small.png" width="29" />
<icon height="58" src="resources/ios/icon/icon-small@2x.png" width="58" />
<icon height="87" src="resources/ios/icon/icon-small@3x.png" width="87" />
<icon height="1024" src="resources/ios/icon/icon-1024.png" width="1024" />
<splash height="1136" src="resources/ios/splash/Default-568h@2x~iphone.png" width="640" />
<splash height="1334" src="resources/ios/splash/Default-667h.png" width="750" />
<splash height="2208" src="resources/ios/splash/Default-736h.png" width="1242" />
<splash height="1242" src="resources/ios/splash/Default-Landscape-736h.png" width="2208" />
<splash height="1536" src="resources/ios/splash/Default-Landscape@2x~ipad.png" width="2048" />
<splash height="2048" src="resources/ios/splash/Default-Landscape@~ipadpro.png" width="2732" />
<splash height="768" src="resources/ios/splash/Default-Landscape~ipad.png" width="1024" />
<splash height="2048" src="resources/ios/splash/Default-Portrait@2x~ipad.png" width="1536" />
<splash height="2732" src="resources/ios/splash/Default-Portrait@~ipadpro.png" width="2048" />
<splash height="1024" src="resources/ios/splash/Default-Portrait~ipad.png" width="768" />
<splash height="960" src="resources/ios/splash/Default@2x~iphone.png" width="640" />
<splash height="480" src="resources/ios/splash/Default~iphone.png" width="320" />
<splash height="2732" src="resources/ios/splash/Default@2x~universal~anyany.png" width="2732" />
</platform>
<plugin name="cordova-plugin-whitelist" spec="1.3.3" />
<plugin name="cordova-plugin-statusbar" spec="2.4.2" />
<plugin name="cordova-plugin-device" spec="2.0.2" />
<plugin name="cordova-plugin-splashscreen" spec="5.0.2" />
<plugin name="ionic-plugin-keyboard" spec="^2.2.1" />
</widget>
......@@ -72,7 +72,7 @@ module.exports = {
* Source Maps
*/
productionSourceMap: true,
productionSourceMap: false,
// https://webpack.js.org/configuration/devtool/#production
devtool: '#source-map',
......
......@@ -14,6 +14,7 @@
<script src="https://gw.alipayobjects.com/os/antv/assets/lib/lodash-4.17.4.min.js"></script>
<script src="https://gw.alipayobjects.com/os/antv/assets/lib/jquery-3.2.1.min.js"></script>
<script src="https://gw.alipayobjects.com/os/rmsportal/NjNldKHIVQRozfbAOJUW.js"></script>
<script src="static/prototype.js"></script>
<title>车租易</title>
</head>
<body>
......
......@@ -20,9 +20,6 @@ import {
Picker,
} from 'vux'
import './scripts/prototype'
import './scripts/vuePlatform'
import WorkflowPrj from './components/workflow-prj'
import WorkflowCon from './components/workflow-con'
......@@ -98,11 +95,8 @@ Vue.prototype.$routeGo = routeGo
FastClick.attach(document.body)
Vue.config.productionTip = false
vum.$vumPlatform.ready(function () {
Vue.config.productionTip = true
})
/* eslint-disable no-new */
new Vue({
......
<template>
<h-view class="public-style contract-mainten-list" title="合同维护">
<h-content class="scroll-content">
<s-tab @tabClick="switchTab">
<tab-item>本年</tab-item>
<tab-item>本季</tab-item>
<tab-item>本月</tab-item>
</s-tab>
<div class="info-board">
<div class="board-line">
<div class="ionic-img">
<img src="@/assets/image/contractMainten/total@2x.png">
</div>
<div class="text">合同总计</div>
<s-tab @tabClick="switchTab">
<tab-item>本年</tab-item>
<tab-item>本季</tab-item>
<tab-item>本月</tab-item>
</s-tab>
<div class="info-board">
<div class="board-line">
<div class="ionic-img">
<img src="@/assets/image/contractMainten/total@2x.png">
</div>
<div class="text">合同总计</div>
</div>
<div class="board-line"><span>\{{ infoShow.contract_count }}</span><span></span></div>
<div class="board-line">
<div class="board-block">
<div class="type">新建</div>
<div class="number"><span>\{{ infoShow.new_count }}</span></div>
</div>
<div class="board-block">
<div class="type">签约</div>
<div class="number"><span>\{{ infoShow.sign_count }}</span></div>
</div>
<div class="board-line"><span>\{{ infoShow.contract_count }}</span><span></span></div>
<div class="board-line">
<div class="board-block">
<div class="type">新建</div>
<div class="number"><span>\{{ infoShow.new_count }}</span></div>
</div>
<div class="board-block">
<div class="type">签约</div>
<div class="number"><span>\{{ infoShow.sign_count }}</span></div>
</div>
<div class="board-block">
<div class="type">审批中</div>
<div class="number"><span>\{{ infoShow.incept_count }}</span></div>
</div>
<div class="board-block">
<div class="type">审批中</div>
<div class="number"><span>\{{ infoShow.incept_count }}</span></div>
</div>
<div class="board-block">
<div class="type">拒绝</div>
<div class="number"><span>\{{ infoShow.overdue_count }}</span></div>
</div>
<div class="board-block">
<div class="type">拒绝</div>
<div class="number"><span>\{{ infoShow.overdue_count }}</span></div>
</div>
</div>
<div class="search">
<div class="searchInput">
<div class="img-box"><img src="@/assets/image/contractMainten/search@2x.png"></div>
<input
v-model="searchCondition.input"
placeholder="请输入合同编号/承租人名称"
@input="detectSearchCondition()">
</div>
</div>
<div class="search">
<div class="searchInput">
<div class="img-box"><img src="@/assets/image/contractMainten/search@2x.png"></div>
<input
v-model="searchCondition.input"
placeholder="请输入合同编号/承租人名称"
@input="detectSearchCondition()">
</div>
<scroll
ref="scroll"
:updateData="[con_list]"
:pullUp="true"
class="content-scroll"
@pullingUp="loadMore">
<list-item :item-height="80">
<item
v-for="(list,index) in con_list" :key="index" :proportion="[5,1]" :show-arrow="true"
@click.native="goContractMainten(list)">
<img slot="left-icon" src="@/assets/image/contractMainten/item@2x.png" class="left-icon">
<div slot="name" class="text">
<div class="cont-name" style="font-size: 16px;color: #5D98F6">合同编号:\{{ list.contract_number }}</div>
<div class="cont-type" style="color: #8C8C8C;">承租人名称:\{{ list.bp_id_tenant_n }}</div>
<div class="cont-type" style="color: #8C8C8C;">单据类别:\{{ list.document_type_n }}</div>
<div class="cont-type" style="color: #8C8C8C;">合同创建日期:\{{ list.creation_date }}</div>
</div>
</item>
</list-item>
</scroll>
</h-content>
</div>
<scroll
ref="scroll"
:updateData="[con_list]"
:pullUp="true"
@pullingUp="loadMore">
<list-item :item-height="80">
<item
v-for="(list,index) in con_list" :key="index" :proportion="[5,1]" :show-arrow="true"
@click.native="goContractMainten(list)">
<img slot="left-icon" src="@/assets/image/contractMainten/item@2x.png" class="left-icon">
<div slot="name" class="text">
<div class="cont-name" style="font-size: 16px;color: #5D98F6">合同编号:\{{ list.contract_number }}</div>
<div class="cont-type" style="color: #8C8C8C;">承租人名称:\{{ list.bp_id_tenant_n }}</div>
<div class="cont-type" style="color: #8C8C8C;">单据类别:\{{ list.document_type_n }}</div>
<div class="cont-type" style="color: #8C8C8C;">合同创建日期:\{{ list.creation_date }}</div>
</div>
</item>
</list-item>
</scroll>
</h-view>
</template>
......@@ -198,32 +195,19 @@
<style lang="less" rel="stylesheet">
.contract-mainten-list {
.scroll-content{
position: absolute;
top: 0;
bottom: 0;
height: auto;
overflow: hidden;
-webkit-overflow-scrolling: touch;
overflow-scrolling: touch;
}
.content-scroll{
top:225px;
}
.content{
overflow: hidden;
}
.hls-switch-tab .tab-content .h-tab-item .h-item {
width: 100%;
}
.hls-switch-tab {
position: relative;
}
.info-board {
background-color: #FFF;
background-color: rgb(255, 255, 255);
position: relative;
z-index: 5;
.board-line {
display: flex;
display: -webkit-flex;
......@@ -233,25 +217,20 @@
font-size: 13px;
line-height: 18px;
padding-bottom: 6px;
&:before {
content: '';
}
&:after {
content: '';
}
&:first-child {
justify-content: flex-start;
-webkit-justify-content: flex-start;
}
&:nth-child(2) {
justify-content: center;
-webkit-justify-content: center;
}
.ionic-img {
margin-left: 11px;
margin-right: 4px;
......@@ -264,16 +243,13 @@
border: none;
}
}
.text {
font-size: @font-size-middle;
}
span {
font-size: 26px;
color: #FF8877;
color: rgb(255, 136, 119);
margin-right: 2px;
&:nth-child(2) {
font-size: @font-size-small;
color: #313131;
......@@ -281,7 +257,6 @@
margin-left: 2px;
}
}
.board-block {
height: 100%;
width: 100%;
......@@ -296,37 +271,35 @@
}
}
}
.search {
display: flex;
height: 50px;
background-color: #FFF;
margin-top: 10px;
background-color: rgb(255, 255, 255);
//margin-top: 10px;
position: relative;
z-index: 5;
padding: 5px 0;
// margin-bottom: 10px;
.searchInput {
display: flex;
display: -webkit-flex;
height: 33px;
border: 1px solid #5D98F6; /*no*/
border: 1px solid rgb(93, 152, 246); /*no*/
margin: 7px 10px;
width: 100%;
display: flex;
align-items: center;
-webkit-align-items: center;
.img-box {
height: 17px;
border-right: 1px solid #5D98F6; /*no*/
border-right: 1px solid rgb(93, 152, 246); /*no*/
padding: 2px 0;
margin-left: 10px;
img {
margin-right: 5px;
width: 15px;
}
}
input {
width: 100%;
font-size: 13px;
......@@ -339,48 +312,32 @@
}
}
}
.vue-better-scroll {
// top: 226px;
}
.vue-better-scroll__wrapper {
margin-top: 10px;
}
.hls-item {
&:nth-child(odd) {
background-color: #EFF1F3;
background-color: rgb(239, 241, 243);
}
&:nth-child(even) {
background-color: #fff;
}
.contents .add-name {
.left-icon {
width: 34px;
}
.text {
margin-left: 15px;
.cont {
margin-top: 5px;
font-size: 13px;
line-height: 18px;
&:first-child {
margin-top: 0;
}
}
.cont-num {
margin-top: 8px;
font-size: 15px;
line-height: 21px;
color: #5D98F6;
color: rgb(93, 152, 246);
}
}
}
......
<template>
<h-view class="public-style contract-sign-list" title="合同签约">
<h-content class="scroll-content">
<s-tab @tabClick="switchTab">
<tab-item>本年</tab-item>
<tab-item>本季</tab-item>
<tab-item>本月</tab-item>
</s-tab>
<div class="info-board">
<div class="board-line">
<div class="ionic-img">
<img src="@/assets/image/contractMainten/total@2x.png">
</div>
<div class="text">合同总计</div>
<s-tab @tabClick="switchTab">
<tab-item>本年</tab-item>
<tab-item>本季</tab-item>
<tab-item>本月</tab-item>
</s-tab>
<div class="info-board">
<div class="board-line">
<div class="ionic-img">
<img src="@/assets/image/contractMainten/total@2x.png">
</div>
<div class="text">合同总计</div>
</div>
<div class="board-line"><span>\{{ infoShow.contract_count }}</span><span></span></div>
<div class="board-line">
<div class="board-block">
<div class="type">新建</div>
<div class="number"><span>\{{ infoShow.new_count }}</span></div>
</div>
<div class="board-block">
<div class="type">签约</div>
<div class="number"><span>\{{ infoShow.sign_count }}</span></div>
</div>
<div class="board-line"><span>\{{ infoShow.contract_count }}</span><span></span></div>
<div class="board-line">
<div class="board-block">
<div class="type">新建</div>
<div class="number"><span>\{{ infoShow.new_count }}</span></div>
</div>
<div class="board-block">
<div class="type">签约</div>
<div class="number"><span>\{{ infoShow.sign_count }}</span></div>
</div>
<div class="board-block">
<div class="type">审批中</div>
<div class="number"><span>\{{ infoShow.incept_count }}</span></div>
</div>
<div class="board-block">
<div class="type">审批中</div>
<div class="number"><span>\{{ infoShow.incept_count }}</span></div>
</div>
<div class="board-block">
<div class="type">拒绝</div>
<div class="number"><span>\{{ infoShow.overdue_count }}</span></div>
</div>
<div class="board-block">
<div class="type">拒绝</div>
<div class="number"><span>\{{ infoShow.overdue_count }}</span></div>
</div>
</div>
<div class="search">
<div class="searchInput">
<div class="img-box"><img src="@/assets/image/contractMainten/search@2x.png"></div>
<input
v-model="searchCondition.input"
placeholder="请输入合同编号/承租人名称"
@input="detectSearchCondition()">
</div>
</div>
<div class="search">
<div class="searchInput">
<div class="img-box"><img src="@/assets/image/contractMainten/search@2x.png"></div>
<input
v-model="searchCondition.input"
placeholder="请输入合同编号/承租人名称"
@input="detectSearchCondition()">
</div>
<scroll
ref="scroll"
:updateData="[con_list]"
:pullUp="true"
class="content-scroll"
@pullingUp="loadMore">
<list-item :item-height="80">
<item
v-for="(list,index) in con_list" :key="index" :proportion="[5,1]" :show-arrow="true"
@click.native="goContractMainten(list)">
<img slot="left-icon" src="@/assets/image/contractMainten/item@2x.png" class="left-icon">
<div slot="name" class="text">
<div class="cont-name" style="font-size: 16px;color: #5D98F6">合同编号:\{{ list.contract_number }}</div>
<div class="cont-type" style="color: #8C8C8C;">承租人名称:\{{ list.bp_id_tenant_n }}</div>
<div class="cont-type" style="color: #8C8C8C;">单据类别:\{{ list.document_type_n }}</div>
<div class="cont-type" style="color: #8C8C8C;">合同创建日期:\{{ list.creation_date }}</div>
</div>
</item>
</list-item>
</scroll>
</h-content>
</div>
<scroll
ref="scroll"
:updateData="[con_list]"
:pullUp="true"
@pullingUp="loadMore">
<list-item :item-height="80">
<item
v-for="(list,index) in con_list" :key="index" :proportion="[5,1]" :show-arrow="true"
@click.native="goContractMainten(list)">
<img slot="left-icon" src="@/assets/image/contractMainten/item@2x.png" class="left-icon">
<div slot="name" class="text">
<div class="cont-name" style="font-size: 16px;color: #5D98F6">合同编号:\{{ list.contract_number }}</div>
<div class="cont-type" style="color: #8C8C8C;">承租人名称:\{{ list.bp_id_tenant_n }}</div>
<div class="cont-type" style="color: #8C8C8C;">单据类别:\{{ list.document_type_n }}</div>
<div class="cont-type" style="color: #8C8C8C;">合同创建日期:\{{ list.creation_date }}</div>
</div>
</item>
</list-item>
</scroll>
</h-view>
</template>
......@@ -198,18 +195,6 @@
<style lang="less" rel="stylesheet">
.contract-sign-list {
.scroll-content{
position: absolute;
top: 0;
bottom: 0;
height: auto;
overflow: hidden;
-webkit-overflow-scrolling: touch;
overflow-scrolling: touch;
}
.content-scroll{
top:225px;
}
.content{
overflow: hidden;
}
......@@ -222,7 +207,9 @@
}
.info-board {
background-color: #FFF;
background-color: rgb(255, 255, 255);
position: relative;
z-index: 5;
.board-line {
display: flex;
......@@ -271,7 +258,7 @@
span {
font-size: 26px;
color: #FF8877;
color: rgb(255, 136, 119);
margin-right: 2px;
&:nth-child(2) {
......@@ -300,15 +287,17 @@
.search {
display: flex;
height: 50px;
background-color: #FFF;
margin-top: 10px;
background-color: rgb(255, 255, 255);
padding: 5px 0;
position: relative;
z-index: 5;
// margin-bottom: 10px;
.searchInput {
display: flex;
display: -webkit-flex;
height: 33px;
border: 1px solid #5D98F6; /*no*/
border: 1px solid rgb(93, 152, 246); /*no*/
margin: 7px 10px;
width: 100%;
display: flex;
......@@ -317,7 +306,7 @@
.img-box {
height: 17px;
border-right: 1px solid #5D98F6; /*no*/
border-right: 1px solid rgb(93, 152, 246); /*no*/
padding: 2px 0;
margin-left: 10px;
......@@ -340,17 +329,9 @@
}
}
.vue-better-scroll {
// top: 226px;
}
.vue-better-scroll__wrapper {
margin-top: 10px;
}
.hls-item {
&:nth-child(odd) {
background-color: #EFF1F3;
background-color: rgb(239, 241, 243);
}
&:nth-child(even) {
......@@ -380,7 +361,7 @@
margin-top: 8px;
font-size: 15px;
line-height: 21px;
color: #5D98F6;
color: rgb(93, 152, 246);
}
}
}
......
......@@ -33,55 +33,56 @@
</template>
<script>
import calService from './calculateService'
export default {
name: 'CalculationEnter',
data () {
return {
proList: [],
}
},
mounted: function () {
calService.cleanCalc()
this.initLoad()
},
methods: {
initLoad () {
let vm = this
let url = $config.basePath + 'product_main' // 产品方案查询
let param = {}
vm.hlsPopup.showLoading('请稍候')
vm.hlsHttp.post(url, param).then(function (res) {
if (res.result === 'S') {
vm.proList = res.product_main
vm.hlsPopup.hideLoading()
}
})
import calService from './calculateService'
export default {
name: 'CalculationEnter',
data () {
return {
proList: [],
}
},
mounted: function () {
calService.cleanCalc()
this.initLoad()
},
methods: {
initLoad () {
let vm = this
let url = $config.basePath + 'product_main' // 产品方案查询
let param = {}
vm.hlsPopup.showLoading('请稍候')
vm.hlsHttp.post(url, param).then(function (res) {
if (res.result === 'S') {
vm.proList = res.product_main
vm.hlsPopup.hideLoading()
}
})
},
goNext (list) {
list.annual_pay_times_n = '月' // 还款频率
list.annual_pay_times = 12 // 还款频率
list.lease_charge = 0 // 手续费
list.insurance_price = 0 // 保险费
list.gps_amount = 0 // GPS费
list.travel_tax = 0 // 车船税
list.purchase_tax = 0 // 购置税
calService.setCalc(list)
this.$router.push({
name: 'CalculationMain',
})
goNext (list) {
list.annual_pay_times_n = '月' // 还款频率
list.annual_pay_times = 12 // 还款频率
list.lease_charge = 0 // 手续费
list.insurance_price = 0 // 保险费
list.gps_amount = 0 // GPS费
list.travel_tax = 0 // 车船税
list.purchase_tax = 0 // 购置税
calService.setCalc(list)
this.$router.push({
name: 'CalculationMain',
})
},
},
},
}
}
</script>
<style scoped lang="less">
.calculatEnter{
.content{
background-color:#F7F7F8;
.calculatEnter {
.content {
background-color: rgb(247, 247, 247);
.hls-list-item {
background-color:#F7F7F8;
background-color: rgb(247, 247, 248);
display: -webkit-flex;
display: flex;
flex-direction: column;
......@@ -94,12 +95,10 @@ export default {
padding: 0;
height: 96px;
border-bottom: 1px solid #ccc; /*no*/
background-color:#fff;
background-color: #fff;
display: flex;
justify-content: center;
align-items: center;
&.activated {
opacity: 0.9;
-webkit-transform: scale(0.95);
......@@ -107,54 +106,52 @@ export default {
}
.finaning-contents {
height: 100%;
width: 93%;
width: 100%;
padding: 0 10px;
display: flex;
justify-content: space-between;
align-items: center;
.contents-info{
.contents-info {
height: 100%;
width: 90%;
padding-top: 5px;
padding-bottom: 5px;
display: flex;
flex-direction: column;
justify-content: space-around;
align-items: flex-start;
.contents-info-type{
color: #556B78;
.contents-info-type {
color: rgb(85, 107, 120);
font-size: 15px;
height: 25px;
display: flex;
justify-content: center;
align-items: center;
}
.contents-info-description{
.contents-info-description {
width: 100%;
line-height: 15px;
color: #99AFC6;
color: rgb(153, 175, 198);
font-size: 14px;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
}
.contents-info-time{
color: #99AFC6;
.contents-info-time {
color: rgb(153, 175, 198);
font-size: 14px;
}
}
.next-icon{
.next-icon {
padding-right: 5px;
height: 100%;
display: flex;
justify-content: center;
align-items: center;
.next-icon-img{
.next-icon-img {
width: 28px;
height: 28px;
img{
img {
width: 28px;
}
}
......
......@@ -115,7 +115,8 @@
<style scoped lang="less" rel="stylesheet">
.public-style {
.search {
position: fixed;
position: relative;
z-index: 5;
width: 100%;
height: 45px;
display: -webkit-flex;
......@@ -125,6 +126,7 @@
-webkit-align-items: center;
align-items: center;
padding: 0 15px;
background-color: #fff;
border-bottom:1px solid @background-color-gray;
.searchBox {
background-color: #fff;
......@@ -153,7 +155,7 @@
}
}
.content {
margin-top: 45px;
// margin-top: 45px;
}
}
</style>
......@@ -126,12 +126,14 @@ export default {
.search {
position: relative;
z-index: 5;
width: 100%;
height:45px;
display: flex;
justify-content: center;
align-items: center;
padding: 0 15px;
background-color: #fff;
border-bottom:1px solid @background-color-gray; /*no*/
.searchBox {
background-color: #fff;
......
/**
* @Author think
* @Date 2019-06-18 14:36
*/
<template>
<h-view class="public-style robot" title="小易">
<!--<h-header :has-border="false" class="bar-custom">
<div slot="left" class="h-header-btn" @click="$hlsExit()">
<i class="ion-ios-arrow-back"/>
</div>
<div slot="center">小易</div>
</h-header>-->
<h-content id="home-content" class="has-footer">
<div v-for="item in message" class="message">
<p v-show="false" class="message-time" v-text="item.time"/>
<div v-show="!item.isFromeMe" class="message-wrap">
<img src="@/assets/image/robot/robot.png" class="head-pic">
<span class="triangle-left"/>
<p class="message" @click="showImg($event)" v-html="item.content"/>
</div>
<div v-show="item.isFromeMe" class="message-wrap">
<img v-show="userImg" :src="userImg" class="head-pic-right">
<img v-show="!userImg" src="@/assets/image/robot/user7.png" class="head-pic-right">
<span class="triangle-right"/>
<p class="message-right" v-text="item.content"/>
</div>
</div>
</h-content>
<bottom-tab class="bar bar-footer bar-light">
<label class="item item-input footer-input">
<textarea
v-auto-size ref="textarea" v-model="robot_message.question" placeholder="请输入"
rows="1"/>
</label>
<div class="footer-btn-wrap" @click="sendMsg()">
<div class="send-button">
<p>发送</p>
</div>
</div>
</bottom-tab>
</h-view>
</template>
<script>
export default {
name: 'Robot',
data () {
return {
userImg: window.localStorage.userImg || '',
message: [{
'isFromeMe': false,
'content': '小易7*24小时为您服务!',
}],
robot_message: {
question: null,
},
autosize: true,
height: '',
}
},
watch: {},
created: function () {
},
mounted () {
this.height = this.$refs.textarea.clientHeight
},
methods: {
scrollBottom () {
let div = document.getElementById('home-content')
div.scrollTop = div.scrollHeight
},
sendMsg () {
let vm = this
let RobotMessage = {}
if (this.robot_message.question) {
let object = {
'isFromeMe': true,
'content': this.robot_message.question,
}
this.message.push(object)
let url = process.env.rootPath + '?sysName=HLS_ROBOT&apiName=query_answer'
let question = encodeURIComponent(this.robot_message.question)
let params = {
'channel': 'app',
'userId': window.localStorage.user_id,
'sessionId': window.localStorage.user_id,
'question': question,
}
vm.hlsHttp.post(url, params).then(function (res) {
vm.resetHeight()
// 机器人聊天数据存表
RobotMessage.question = vm.robot_message.question
RobotMessage.chatId = res.chatId
vm.robot_message.question = null
if (res.answers) {
let answer = res.answers[0]
let reponse = {
'isFromeMe': false,
'content': answer.answer,
}
// 界面显示聊天
vm.message.push(reponse)
// 答案
RobotMessage.answer = answer.answer
// 历史记录表
vm.addRobotMessage(RobotMessage)
}
})
} else {
vm.hlsPopup.showLongCenter('内容不能为空')
}
},
addRobotMessage (robotMessage) {
let vm = this
let url = process.env.rootPath + '/app/addRobotMessage'
let params = {
'channel': 'app',
'userId': window.localStorage.user_id,
'sessionId': window.localStorage.user_id,
'question': robotMessage.question,
'chatId': robotMessage.chatId,
'answer': robotMessage.answer,
'respond': robotMessage.answer,
}
vm.hlsHttp.post(url, params).then(function (res) {
vm.scrollBottom()
})
},
showImg ($event) {
let vm = this
if ($event.target.tagName.toLowerCase() === 'img') {
let src = $event.target.src
vm.hlsPopup.showBigPicture({
imgUrl: src,
})
} else if ($event.target.tagName.toLowerCase() === 'a') {
let href = $event.target.href
cordova.InAppBrowser.open(href, '_system', 'location=yes')
}
},
resetHeight () {
// this.$refs.textarea.clientHeight = this.height;
this.$refs.textarea.style.height = this.height + 'px'
},
},
}
</script>
<style lang="less">
.robot {
background-color: #eeeeee;
.h-bottom-tab{
box-shadow: none;
}
.content {
background-color: #eeeeee;
//border: 1px solid red;
.message {
position: relative;
}
.message-wrap {
padding: 7px;
overflow: auto;
position: relative;
.message {
float: left;
margin-left: 16px;
background-color: #fff;
padding: 10px 8px;
line-height: 18px;
max-width: 270px;
border-radius: 5px;
font-size: 16px;
letter-spacing: 1px; /*no*/
text-align: left;
color: #000;
img{
width: 100%;
}
}
.head-pic-right {
float: right;
max-height: 35px;
height: 35px;
max-width: 35px;
width: 35px;
border-radius: 18px;
margin-left: 10px;
}
.head-pic {
float: left;
max-height: 35px;
height: 35px;
max-width: 35px;
width: 35px;
border-radius: 18px;
}
.message-right {
float: right;
margin-right: 8px;
background-color: #97d55b;
padding: 10px 8px;
line-height: 18px;
max-width: 225px;
border-radius: 5px;
font-size: 16px;
letter-spacing: 1px; /*no*/
text-align: left;
word-break: break-all;
color: #000;
}
.triangle-left {
// left: 45px;
border-color: transparent #FFF transparent transparent;
display: inline-block;
width: 0;
height: 0;
position: absolute;
border-width: 8px 10px;
border-style: solid;
top: 17px;
}
.triangle-right {
right: 45px;
border-color: transparent transparent transparent #97d55b;
display: inline-block;
width: 0;
height: 0;
position: absolute;
border-width: 8px 10px;
border-style: solid;
top: 17px;
}
}
}
.bar-footer {
height: auto !important;
min-height: 44px;
margin-top: 0;
background-color: #fafafa;
bottom: 0;
.item-input {
border: none !important;
padding: 3px 0 3px 5px;
width: 85%;
background: #fff;
margin: 5px 0;
}
.footer-btn-wrap {
height: 100%;
font-size: 16px;
width: 15%;
display: flex;
align-items: center;
justify-content: center;
.send-button {
height: 30px;
width: 100%;
//border: 1px solid red;
display: flex;
align-items: center;
justify-content: center;
p {
margin: 0 auto;
}
}
}
textarea {
line-height: 20px;
font-size: 16px;
width: 100%;
resize: none;
padding: 2px;
border: none;
margin-bottom: 0;
}
}
}
</style>
......@@ -11,7 +11,6 @@
ref="scroll"
:autoUpdate="true"
:pullUp="true"
class="content scroll-content"
@pullingUp="loadMore">
<div v-if="index[0]">
<div v-for="(li,index) in list" class="workflow-list">
......@@ -344,7 +343,7 @@ export default {
}
.content {
margin-top: 40px;
// margin-top: 40px;
.workflow-list {
margin-top: 10px;
......
......@@ -243,21 +243,6 @@ export default {
'appCode': 'HLS_APP',
},
{{/riskstrom}}
{{#robot}}
{
'functionId': 48,
'functionCode': '270',
'functionName': '小易',
'functionIcon': require('@/assets/home-manager/robot.png'),
'functionState': 'Robot',
'prodFlag': 'Y',
'enableFlag': 'Y',
'functionType': 'local',
'target': null,
'applicationFlag': 'N',
'appCode': 'HLS_APP',
},
{{/robot}}
],
},
],
......
This diff is collapsed.
This diff is collapsed.
/**
*
* @param fmt
* @returns {*}
* @constructor
*/
Date.prototype.format = function (fmt) { // eslint-disable-line
var o = {
'M+': this.getMonth() + 1, // 月份
'd+': this.getDate(), // 日
'h+': this.getHours(), // 小时
'm+': this.getMinutes(), // 分
's+': this.getSeconds(), // 秒
'q+': Math.floor((this.getMonth() + 3) / 3), // 季度
'S': this.getMilliseconds(), // 毫秒
}
if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (this.getFullYear() + '').substr(4 - RegExp.$1.length))
for (var k in o) { if (new RegExp('(' + k + ')').test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length === 1) ? (o[k]) : (('00' + o[k]).substr(('' + o[k]).length))) }
return fmt
}
/**
* 移除数组的某个元素
* @param dx 下标
* @returns {boolean}
*/
Array.prototype.remove = function (dx) { // eslint-disable-line
if (isNaN(dx) || dx > this.length) {
return false
}
for (var i = 0, n = 0; i < this.length; i++) {
if (this[i] !== this[dx]) {
this[n++] = this[i]
}
}
this.length -= 1
}
......@@ -3841,18 +3841,6 @@ he@1.2.x, he@^1.1.0:
resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f"
integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==
"hls-easy-ui@https://hel.hand-china.com/easyUI/hls-easy-ui.git":
version "0.0.4"
resolved "https://hel.hand-china.com/easyUI/hls-easy-ui.git#5f7b05e25ed733d273c1efa516e493b01ec75e04"
dependencies:
autosize "^3.0.20"
better-scroll "^1.10.3"
fastclick "https://hel.hand-china.com/easyUI/fastclick.git"
vue "^2.5.2"
vue-lazyload "1.2.3"
vue-router "^3.0.1"
vux "^2.9.2"
hmac-drbg@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1"
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment