limit.vue 7.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218
  1. <template>
  2. <view class="limbox">
  3. <!-- 申请额度 -->
  4. <view class="tit">申请额度</view>
  5. <view class="txt">请如实填写您所需申请的额度</view>
  6. <view class="flexc limlist">
  7. <view class="limimg"><image :src="limita" class="imga"></image></view>
  8. <input placeholder="请输入申请额度" type="number" v-model="datainfo.applicationAmount" placeholder-class="coa" class="ltit flex1"/>
  9. <view class="ltit flex0 ml8">万元</view>
  10. </view>
  11. <!-- 申贷银行 -->
  12. <view class="tit">申贷银行</view>
  13. <view class="txt">请根据您的实际情况选择申请银行</view>
  14. <picker range-key='label' :value="sdyhidx" :range="sdyhlist" @change='bindDateChangea'>
  15. <view class="flexc limlist">
  16. <view class="limimg"><image :src="limitb" class="imgb"></image></view>
  17. <view class="ltit flex1" :class="applicationBank?'':'coa'">{{applicationBank||'请选择申贷银行'}}</view>
  18. <image :src="hrimg" class="rimg"></image>
  19. </view>
  20. </picker>
  21. <!-- 使用期限 -->
  22. <view class="tit">使用期限</view>
  23. <view class="txt">自放款日开始计算</view>
  24. <view class="flexc limlist">
  25. <picker range-key='label' :value="syqxidx" :range="syqxlist" @change='bindDateChangeb'>
  26. <view class="limimg"><image :src="limitc" class="imgc"></image></view>
  27. </picker>
  28. <input @click.top="" placeholder="请选择或输入期限" @input="getInput" v-model="datainfo.usagePeriod" type="number" placeholder-class="coa" class="ltit flex1"/>
  29. <picker range-key='label' :value="syqxidx" :range="syqxlist" @change='bindDateChangeb'>
  30. <view class="flexc">
  31. <image :src="hrimg" class="rimg"></image>
  32. <view class="ltit flex0 ml33">个月</view>
  33. </view>
  34. </picker>
  35. </view>
  36. <!-- 资金用途 200-->
  37. <view class="tit">资金用途</view>
  38. <view class="txt">请如实填写您需借款的资金用途</view>
  39. <view class="flexc limlist">
  40. <picker range-key='label' :value="zjytidx" :range="zjytlist" @change='bindDateChangec'>
  41. <view class="limimg"><image :src="limitd" class="imgd"></image></view>
  42. </picker>
  43. <input @click.top="" placeholder="请选择或输入资金用途" maxlength="200" v-model="datainfo.purposeFunds" placeholder-class="coa" class="ltit flex1"/>
  44. <picker range-key='label' :value="zjytidx" :range="zjytlist" @change='bindDateChangec'>
  45. <image :src="hrimg" class="rimg"></image>
  46. </picker>
  47. </view>
  48. <!-- 还款来源 100-->
  49. <view class="tit">还款来源</view>
  50. <view class="txt">请如实填写您的还款来源</view>
  51. <view class="flexc limlist">
  52. <picker range-key='label' :value="hklyidx" :range="hklylist" @change='bindDateChanged'>
  53. <view class="limimg"><image :src="limite" class="imge"></image></view>
  54. </picker>
  55. <input @click.top="" placeholder="请选择或输入还款来源" maxlength="100" v-model="datainfo.repaymentSource" placeholder-class="coa" class="ltit flex1"/>
  56. <picker range-key='label' :value="hklyidx" :range="hklylist" @change='bindDateChanged'>
  57. <image :src="hrimg" class="rimg"></image>
  58. </picker>
  59. </view>
  60. <view class="rzbtn mt38" @click="getNextFn">下一步</view>
  61. </view>
  62. </template>
  63. <script>
  64. import { checkPermi, checkRole } from "@/utils/permission"; // 权限判断函数
  65. import {getDictionaryFn} from "@/api/mine/register.js"
  66. export default{
  67. components:{},
  68. data(){
  69. return{
  70. limita: require('@/work/static/images/busin/limita.png'),
  71. limitb: require('@/work/static/images/busin/limitb.png'),
  72. limitc: require('@/work/static/images/busin/limitc.png'),
  73. limitd: require('@/work/static/images/busin/limitd.png'),
  74. limite: require('@/work/static/images/busin/limite.png'),
  75. hrimg:require('@/work/static/images/hrimg.png'),
  76. datainfo:{
  77. applicationAmount:'',//申请额度(万元)
  78. applicationBank:'',//申请银行
  79. usagePeriod:'',//使用期限(月)
  80. purposeFunds:'',//资金用途
  81. repaymentSource:'',//还款来源
  82. applicationType:'',//申请类型 1:企业 2:个人
  83. },
  84. sdyhidx:'',
  85. syqxidx:'',
  86. zjytidx:'',
  87. hklyidx:'',
  88. applicationBank:'',//申贷银行
  89. sdyhlist:[],//申贷银行
  90. syqxlist:[],//使用期限
  91. zjytlist:[],//资金用途
  92. hklylist:[],//还款来源
  93. }
  94. },
  95. onLoad(e) {
  96. this.init();
  97. this.datainfo.applicationType=e.type;
  98. },
  99. methods:{
  100. checkPermi, checkRole,
  101. init(){
  102. // 申贷银行
  103. getDictionaryFn('shendai_bank').then(res=>{
  104. if(res.code==200){
  105. this.sdyhlist = res.data.map(v => {
  106. return {
  107. label: v.dictLabel,
  108. value: v.dictValue
  109. }
  110. })
  111. }
  112. })
  113. // 使用期限
  114. getDictionaryFn('service_life').then(res=>{
  115. if(res.code==200){
  116. this.syqxlist = res.data.map(v => {
  117. return {
  118. label: v.dictLabel,
  119. value:v.dictValue
  120. }
  121. })
  122. }
  123. })
  124. // 资金用途
  125. getDictionaryFn('purpose_of_funds').then(res=>{
  126. if(res.code==200){
  127. this.zjytlist = res.data.map(v => {
  128. return {
  129. label: v.dictLabel,
  130. value:v.dictValue
  131. }
  132. })
  133. }
  134. })
  135. // 还款来源
  136. getDictionaryFn('repayment_source').then(res=>{
  137. if(res.code==200){
  138. this.hklylist = res.data.map(v => {
  139. return {
  140. label: v.dictLabel,
  141. value: v.dictValue
  142. }
  143. })
  144. }
  145. })
  146. },
  147. getNextFn(){
  148. var params=JSON.parse(JSON.stringify(this.datainfo))
  149. if(!params.applicationAmount||params.applicationAmount<=0){
  150. this.$toast('请输入申请额度')
  151. return
  152. }
  153. if(!this.applicationBank){
  154. this.$toast('请选择申贷银行')
  155. return
  156. }
  157. if(!params.usagePeriod){
  158. this.$toast('请选择或输入期限')
  159. return
  160. }
  161. if(!params.purposeFunds){
  162. this.$toast('请选择或输入资金用途')
  163. return
  164. }
  165. if(!params.repaymentSource){
  166. this.$toast('请选择或输入还款来源')
  167. return
  168. }
  169. // 数据保存
  170. this.$tab.navigateTo("/work/pages/business/add?data="+encodeURIComponent(JSON.stringify(params)))
  171. },
  172. getInput(e){
  173. var val = e.detail.value.replace(/^0|[^\d]|[.]/g, '');
  174. this.datainfo.usagePeriod=val
  175. },
  176. bindDateChangea(e){
  177. var val=e.detail.value;
  178. this.datainfo.applicationBank=this.sdyhlist[val].value;
  179. this.applicationBank=this.sdyhlist[val].label;
  180. },
  181. bindDateChangeb(e){
  182. var val=e.detail.value;
  183. this.datainfo.usagePeriod=this.syqxlist[val].label;
  184. },
  185. bindDateChangec(e){
  186. var val=e.detail.value;
  187. this.datainfo.purposeFunds=this.zjytlist[val].label;
  188. },
  189. bindDateChanged(e){
  190. var val=e.detail.value;
  191. this.datainfo.repaymentSource=this.hklylist[val].label;
  192. },
  193. }
  194. }
  195. </script>
  196. <style>
  197. page{background:#ffffff;}
  198. </style>
  199. <style lang="scss" scoped>
  200. .limbox{padding: 24rpx 36rpx 54rpx;
  201. .tit{font-size: 40rpx;font-weight: bold;color: #222327;padding-top: 40rpx;margin-bottom: 18rpx;}
  202. .txt{font-weight: 500;font-size: 26rpx;color: #666666;margin-bottom: 28rpx;}
  203. .limlist{padding: 36rpx 0;
  204. border-bottom: 2rpx solid #E6E6E6;display: flex;align-items: center;
  205. .limimg{width: 40rpx;height: 40rpx;display: flex;align-items: center;justify-content: center;flex: 0 0 auto;margin-right: 38rpx;
  206. .imga{width: 30rpx;height: 40rpx;}
  207. .imgb{width: 38rpx;height: 38rpx;}
  208. .imgc{width: 40rpx;height: 40rpx;}
  209. .imgd{width: 36rpx;height: 40rpx;}
  210. .imge{width: 36rpx;height: 36rpx;}
  211. }
  212. .ltit{font-weight: 500;font-size: 38rpx;color: #222327;}
  213. .rimg{width: 16rpx;height: 30rpx;margin-left: 16rpx;flex: 0 0 auto;}
  214. }
  215. }
  216. </style>