financeClaimsFormadd.vue 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224
  1. <template>
  2. <div id="financeClaimsForm">
  3. <el-row>
  4. <el-col :span="24" class="form">
  5. <el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-width="120px" class="demo-ruleForm">
  6. <el-col :span="24">
  7. <el-form-item label="产品名称" prop="name">
  8. <el-input v-model="ruleForm.name" placeholder="请输入产品名称"></el-input>
  9. </el-form-item>
  10. </el-col>
  11. <el-col :span="12">
  12. <el-form-item label="利率范围" prop="mongey_min_rate">
  13. <el-input class="mongeyrate" v-model="ruleForm.mongey_min_rate" placeholder="利率范围(小)"></el-input>%~
  14. </el-form-item>
  15. </el-col>
  16. <el-col :span="12">
  17. <el-form-item prop="mongey_max_rate" class="formItem">
  18. <el-input class="mongeyrate" v-model="ruleForm.mongey_max_rate" placeholder="利率范围(大)"></el-input>%
  19. </el-form-item>
  20. </el-col>
  21. <el-col :span="12">
  22. <el-form-item label="贷款期限(个月)" prop="claims_min_term">
  23. <el-input class="mongeyrate" v-model="ruleForm.claims_min_term" placeholder="贷款期限(小)"></el-input>个月~
  24. </el-form-item>
  25. </el-col>
  26. <el-col :span="12">
  27. <el-form-item prop="claims_max_term" class="formItem">
  28. <el-input class="mongeyrate" v-model="ruleForm.claims_max_term" placeholder="贷款期限(大)"></el-input>个月
  29. </el-form-item>
  30. </el-col>
  31. <el-col :span="12">
  32. <el-form-item label="贷款额度(万元)" prop="claims_min_money">
  33. <el-input class="mongeyrate" v-model="ruleForm.claims_min_money" placeholder="贷款额度(小)"></el-input>~
  34. </el-form-item>
  35. </el-col>
  36. <el-col :span="12">
  37. <el-form-item prop="claims_max_money" class="formItem">
  38. <el-input class="mongeyrate" v-model="ruleForm.claims_max_money" placeholder="贷款额度(大)"></el-input>
  39. </el-form-item>
  40. </el-col>
  41. <el-col :span="24">
  42. <el-form-item label="所属金融机构" prop="ensure_id">
  43. <el-select v-model="ruleForm.uid" placeholder="请选择金融机构">
  44. <el-option v-for="(item, index) in insList" :key="index" :label="item.name" :value="item.id"></el-option>
  45. </el-select>
  46. </el-form-item>
  47. </el-col>
  48. <el-col :span="24">
  49. <el-form-item label="担保方式" prop="ensure_id">
  50. <el-select v-model="ruleForm.ensure_id" placeholder="请选择担保方式">
  51. <el-option v-for="(item, index) in dbList" :key="index" :label="item.name" :value="item.code"></el-option>
  52. </el-select>
  53. </el-form-item>
  54. </el-col>
  55. <el-col :span="24">
  56. <el-form-item label="还款方式" prop="repayment_id">
  57. <el-select v-model="ruleForm.repayment_id" placeholder="请选择还款方式">
  58. <el-option v-for="(item, index) in hkList" :key="index" :label="item.name" :value="item.code"></el-option>
  59. </el-select>
  60. </el-form-item>
  61. </el-col>
  62. <el-col :span="24">
  63. <el-form-item label="产品类型" prop="repayment_id">
  64. <el-select v-model="ruleForm.cplx_id" placeholder="请选择产品类型">
  65. <el-option v-for="(item, index) in lxList" :key="index" :label="item.name" :value="item.code"></el-option>
  66. </el-select>
  67. </el-form-item>
  68. </el-col>
  69. <el-col :span="24">
  70. <el-form-item label="产品属性" prop="cattribute">
  71. <el-select v-model="ruleForm.cattribute" multiple placeholder="请选择产品属性">
  72. <el-option v-for="(item, index) in sxList" :key="index" :label="item.name" :value="item.code"> </el-option>
  73. </el-select>
  74. </el-form-item>
  75. </el-col>
  76. <el-col :span="24">
  77. <el-form-item label="简介名称">
  78. <el-input v-model="ruleForm.news[0].news_name" placeholder="请输入简介名称"></el-input>
  79. </el-form-item>
  80. </el-col>
  81. <el-col :span="24">
  82. <el-form-item label="简介内容">
  83. <el-input type="textarea" v-model="ruleForm.news[0].news_info" placeholder="请输入简介内容"></el-input>
  84. </el-form-item>
  85. </el-col>
  86. <el-col :span="24">
  87. <el-form-item label="视频附件(请上传MP4格式文件)" prop="enclosure">
  88. <uploadFile
  89. :limit="1"
  90. :data="ruleForm.video"
  91. :isBtn="true"
  92. :url="`/files/financial/custom/upload`"
  93. @uploadSuccess="uploadFileSuccess"
  94. @remove="removeFile"
  95. ></uploadFile>
  96. </el-form-item>
  97. </el-col>
  98. <el-col :span="24">
  99. <el-form-item label="视频图片附件" prop="enclosure">
  100. <uploadFileImage
  101. :limit="1"
  102. :data="ruleForm.videoimg"
  103. :isBtn="true"
  104. :url="`/files/financial/custom/upload`"
  105. @uploadSuccess="uploadFileSuccessvideoimg"
  106. @remove="removeFilevideoimg"
  107. ></uploadFileImage>
  108. </el-form-item>
  109. </el-col>
  110. <el-col :span="24" class="btn">
  111. <el-button size="small" @click="resetForm('ruleForm')">取消</el-button>
  112. <el-button type="primary" size="small" @click="submitForm('ruleForm')">提交</el-button>
  113. </el-col>
  114. </el-form>
  115. </el-col>
  116. </el-row>
  117. </div>
  118. <!--:disabled="isAble"-->
  119. </template>
  120. <script>
  121. import uploadFile from '@/layout/custom/uploadFile.vue';
  122. import uploadFileImage from '@/layout/custom/uploadImage.vue';
  123. export default {
  124. name: 'financeClaimsForm',
  125. props: {
  126. ruleForm: null,
  127. hkList: null,
  128. dbList: null,
  129. lxList: null,
  130. sxList:null,
  131. insList:null,
  132. },
  133. components: {
  134. uploadFile,
  135. uploadFileImage,
  136. },
  137. data: () => ({
  138. rules: {
  139. mongey_min_rate: [
  140. { required: true, message: '请输入利率', trigger: 'blur' },
  141. { pattern: /(^[1-9](\d+)?(\.\d{1,2})?$)|(^\d\.\d{1,2}$)/, message: '请输入大于0的数字' },
  142. ],
  143. cattribute: [
  144. { required: true, message: '选择产品属性', trigger: 'blur' },
  145. ],
  146. mongey_max_rate: [
  147. { required: true, message: '请输入利率', trigger: 'blur' },
  148. { pattern: /(^[1-9](\d+)?(\.\d{1,2})?$)|(^\d\.\d{1,2}$)/, message: '请输入大于0的数字' },
  149. ],
  150. claims_min_term: [
  151. { required: true, message: '请输入贷款期限', trigger: 'blur' },
  152. { pattern: /^\+?[1-9]\d*$/, message: '请输入大于0的正整数' },
  153. ],
  154. claims_max_term: [
  155. { required: true, message: '请输入贷款期限', trigger: 'blur' },
  156. { pattern: /^\+?[1-9]\d*$/, message: '请输入大于0的正整数' },
  157. ],
  158. claims_min_money: [
  159. { required: true, message: '贷款额度', trigger: 'blur' },
  160. { pattern: /^\+?[1-9]\d*$/, message: '请输入大于0的正整数' },
  161. ],
  162. claims_max_money: [
  163. { required: true, message: '贷款额度', trigger: 'blur' },
  164. { pattern: /^\+?[1-9]\d*$/, message: '请输入大于0的正整数' },
  165. ],
  166. ensure_id: [{ required: true, message: '请选择担保方式', trigger: 'blur' }],
  167. repayment_id: [
  168. { required: true, message: '请输入贷款期限', trigger: 'blur' },
  169. { pattern: /^\+?[1-9]\d*$/, message: '请选择还款方式' },
  170. ],
  171. claimsmoney: [
  172. { required: true, message: '请输入贷款额度', trigger: 'blur' },
  173. { pattern: /(^[1-9](\d+)?(\.\d{1,2})?$)|(^\d\.\d{1,2}$)/, message: '请输入大于0的数字' },
  174. ],
  175. },
  176. }),
  177. created() {},
  178. computed: {},
  179. methods: {
  180. submitForm() {
  181. this.$emit('submitForm', { data: this.ruleForm });
  182. },
  183. resetForm() {
  184. this.$emit('resetForm');
  185. },
  186. uploadFileSuccess({ data }) {
  187. this.$set(this.ruleForm, 'video', data.uri);
  188. },
  189. removeFile(file) {
  190. this.$set(this.ruleForm, 'video', '');
  191. },
  192. uploadFileSuccessvideoimg({ data }) {
  193. this.$set(this.ruleForm, 'videoimg', data.uri);
  194. },
  195. removeFilevideoimg(file) {
  196. this.$set(this.ruleForm, 'videoimg', '');
  197. },
  198. },
  199. };
  200. </script>
  201. <style lang="less" scoped>
  202. .form {
  203. padding: 0 200px 0 0;
  204. }
  205. .mongeyrate {
  206. width: 93%;
  207. }
  208. /deep/.formItem .el-form-item__content {
  209. margin-left: 0 !important;
  210. }
  211. .btn {
  212. text-align: center;
  213. padding: 30px 0;
  214. }
  215. /deep/.el-textarea__inner {
  216. height: 150px;
  217. }
  218. </style>