editFinanceProduct.vue 27 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657
  1. <template>
  2. <div class="app-container zap-main">
  3. <header-bar :list="headerList"></header-bar>
  4. <el-form :inline="true" ref="form" :model="form" :rules="rules" label-width="auto">
  5. <div class="zap-title zap-margin-top">基本信息</div>
  6. <el-row class="zap-form">
  7. <el-form-item label="融资产品名称:" prop="zfpName" size="large">
  8. <el-input v-model="form.zfpName" placeholder="请输入融资产品名称" maxlength="20" clearable :disabled="disabled" />
  9. </el-form-item>
  10. <el-form-item label="资金方:" prop="zfpManagementId" size="large">
  11. <el-select v-model="form.zfpManagementId" placeholder="请选择资金方" clearable :disabled="disabled" @change="change">
  12. <el-option v-for="(item,index) in companyList" :key="index" :label="item.scyName" :value="item.scyId" />
  13. </el-select>
  14. </el-form-item>
  15. <el-form-item label="是否可拆转融:" size="large">
  16. <el-radio-group v-model="form.zfpSplit">
  17. <el-radio-button label="0" :disabled="disabled">否</el-radio-button>
  18. <el-radio-button label="1" :disabled="disabled">是</el-radio-button>
  19. </el-radio-group>
  20. </el-form-item>
  21. <el-form-item label="产品类型:" size="large">
  22. <el-radio-group v-model="form.zfpType">
  23. <el-radio-button label="0" :disabled="disabled">正向</el-radio-button>
  24. <el-radio-button label="1" :disabled="disabled">反向</el-radio-button>
  25. </el-radio-group>
  26. </el-form-item>
  27. </el-row>
  28. <div class="zap-title zap-margin-top">平台参数</div>
  29. <el-row class="zap-form">
  30. <el-form-item label="最小融资金额(元):" prop="zfpMinimumAmount" size="lage">
  31. <el-input v-model="form.zfpMinimumAmount" placeholder="请输入最小融资金额" @input.native="changeRate($event,form.zfpMinimumAmount)" clearable maxlength="10" :disabled="disabled" />
  32. </el-form-item>
  33. <el-form-item label="最短融资账期:" prop="zfpShortestPeriod" size="lage">
  34. <el-input v-model="form.zfpShortestPeriod" placeholder="最短14天" maxlength="2" clearable :disabled="disabled" />
  35. </el-form-item>
  36. <el-form-item label="服务费是否可退:" size="lage">
  37. <el-radio-group v-model="form.zfpType">
  38. <el-radio-button v-model="form.zfpCharge" label="0" :disabled="disabled">否</el-radio-button>
  39. <el-radio-button v-model="form.zfpCharge" label="1" :disabled="disabled">是</el-radio-button>
  40. </el-radio-group>
  41. </el-form-item>
  42. <el-form-item label="是否有追索权:" size="lage">
  43. <el-radio-group v-model="form.zfpType">
  44. <el-radio-button v-model="form.zfpRecourse" label="0" :disabled="disabled">否</el-radio-button>
  45. <el-radio-button v-model="form.zfpRecourse" label="1" :disabled="disabled">是</el-radio-button>
  46. </el-radio-group>
  47. </el-form-item>
  48. <el-form-item label="电子凭证类型:" prop="zfpVoucherType" size="lage">
  49. <el-select v-model="form.zfpVoucherType" placeholder="请选择电子凭证类型" clearable :disabled="disabled">
  50. <el-option v-for="dict in voucherTypeOptions" :key="dict.dictValue" :label="dict.dictLabel" :value="dict.dictValue" />
  51. </el-select>
  52. </el-form-item>
  53. </el-row>
  54. <el-divider content-position="left"></el-divider>
  55. <div class="zap-title zap-margin-top">资方参数</div>
  56. <el-row class="zap-form">
  57. <el-form-item label="是否需核心企业开户:" size="large">
  58. <el-radio-group v-model="form.zfpCoreAccount">
  59. <el-radio-button label="0">否</el-radio-button>
  60. <el-radio-button label="1">是</el-radio-button>
  61. </el-radio-group>
  62. </el-form-item>
  63. <el-form-item label="是否需融资企业开户:" size="large">
  64. <el-radio-group v-model="form.zfpSupplierAccount">
  65. <el-radio-button label="0">否</el-radio-button>
  66. <el-radio-button label="1">是</el-radio-button>
  67. </el-radio-group>
  68. </el-form-item>
  69. <el-form-item label="记账簿托管方式:" prop="zfpBookkeeping" size="large">
  70. <el-select v-model="form.zfpBookkeeping" placeholder="请选择记账簿托管方式" clearable>
  71. <el-option v-for="dict in bookkeepingOptions" :key="dict.dictValue" :label="dict.dictLabel" :value="dict.dictValue" />
  72. </el-select>
  73. </el-form-item>
  74. <el-form-item label="是否支持部分融资:" size="large">
  75. <el-radio-group v-model="form.zfpPart">
  76. <el-radio-button label="0">否</el-radio-button>
  77. <el-radio-button label="1">是</el-radio-button>
  78. </el-radio-group>
  79. </el-form-item>
  80. <el-form-item label="资方融资费率(%):" prop="zfpRate" size="large">
  81. <el-input v-model="form.zfpRate" @input.native="inputRate($event,form.zfpRate)" clearable placeholder="请输入资方融资费率" maxlength="5" />
  82. </el-form-item>
  83. <el-form-item label="融资到期方式:" prop="zfpExpire" size="large">
  84. <el-select v-model="form.zfpExpire" placeholder="请选择融资到期方式" clearable>
  85. <el-option v-for="dict in expireOptions" :key="dict.dictValue" :label="dict.dictLabel" :value="dict.dictValue" />
  86. </el-select>
  87. </el-form-item>
  88. <el-form-item label="资方是否支持返佣:" size="large">
  89. <el-radio-group v-model="form.zfpProfit">
  90. <el-radio-button label="0" @change="changeProfit">否</el-radio-button>
  91. <el-radio-button label="1" @change="changeProfit">是</el-radio-button>
  92. </el-radio-group>
  93. </el-form-item>
  94. <el-form-item label="资方返佣方式:" prop="zfpProfitType" v-if="form.zfpProfit== '1' " size="large">
  95. <el-select v-model="form.zfpProfitType" placeholder="请选择资方返佣方式" clearable>
  96. <el-option v-for="dict in profitTypeOptions" :key="dict.dictValue" :label="dict.dictLabel" :value="dict.dictValue" />
  97. </el-select>
  98. </el-form-item>
  99. <el-form-item label="资方返佣费率(%):" prop="zfpProfitRate" v-if="form.zfpProfit== '1' " size="large">
  100. <el-input v-model="form.zfpProfitRate" @input.native="inputRates($event,form.zfpProfitRate)" clearable placeholder="请输入资方返佣费率" maxlength="5" />
  101. </el-form-item>
  102. <el-form-item label="是否需平台审批:" size="large">
  103. <el-radio-group v-model="form.zfpPlatform">
  104. <el-radio-button label="0">否</el-radio-button>
  105. <el-radio-button label="1">是</el-radio-button>
  106. </el-radio-group>
  107. </el-form-item>
  108. <el-form-item label="签署意愿类型:" prop="zfpAuthType" size="large">
  109. <el-select v-model="form.zfpAuthType" placeholder="请选择签署意愿类型" clearable>
  110. <el-option v-for="dict in authTypeOptions" :key="dict.dictValue" :label="dict.dictLabel" :value="dict.dictValue" />
  111. </el-select>
  112. </el-form-item>
  113. </el-row>
  114. <div class="zap-title zap-margin-top">关联合同</div>
  115. <el-row class="zap-form">
  116. <el-form-item class="zap-table" prop="zfcId" style="width: 100%;">
  117. <el-button size="mini" type="primary" v-if="this.form.zfpStatus=='00'" @click="openTicket">选择合同</el-button>
  118. <el-button size="mini" v-if="this.form.zfpStatus=='00'" @click="deleteTicekt">清空全部</el-button>
  119. <el-table :data="contractList1" style="width: 100%;" stripe border>
  120. <el-table-column label="序号" type="index" width="50" align="center">
  121. <template slot-scope="scope">
  122. <span>{{ (queryParams.pageNum - 1) * queryParams.pageSize + scope.$index + 1}}</span>
  123. </template>
  124. </el-table-column>
  125. <el-table-column label="合同模板编号" align="center" prop="zfcId" v-if="false" />
  126. <el-table-column label="合同模板名称" align="center" prop="zfcName" />
  127. <el-table-column label="签署节点" align="center" prop="zfcNode" :formatter="nodeFormat" />
  128. <el-table-column label="操作" align="center" class-name="small-padding fixed-width" width="250" fixed="right">
  129. <template slot-scope="scope">
  130. <el-button v-if="form.zfpStatus=='00'" size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.$index, contractList1)">删除</el-button>
  131. </template>
  132. </el-table-column>
  133. </el-table>
  134. </el-form-item>
  135. </el-row>
  136. </el-form>
  137. <!-- 合同信息 -->
  138. <el-dialog :title="title" :visible.sync="open" width="1120px" append-to-body>
  139. <el-form :model="queryParams" ref="formQuery" :inline="true" label-width="68px" style="margin-bottom: -21px">
  140. <el-form-item label="合同模板名称" prop="zfcName">
  141. <el-input v-model="queryParams.zfcName" placeholder="请输入模板名称" clearable size="small" maxlength="20" />
  142. </el-form-item>
  143. <el-form-item>
  144. <el-button type="cyan" icon="el-icon-search" size="mini" @click="handleQuerys">搜索</el-button>
  145. <el-button icon="el-icon-refresh" size="mini" @click="resetQuerys">重置</el-button>
  146. </el-form-item>
  147. </el-form>
  148. <el-table :data="contractList" ref="tableContract" class="single-select-table" @selection-change="handleSelectionChange" :row-key="rowkey" stripe border>
  149. <el-table-column type="selection" :reserve-selection="true" width="50" align="center" />
  150. <el-table-column label="序号" type="index" width="50" align="center">
  151. <template slot-scope="scope">
  152. <span>{{ (queryParams.pageNum - 1) * queryParams.pageSize + scope.$index + 1}}</span>
  153. </template>
  154. </el-table-column>
  155. <el-table-column label="资金方" align="center" prop="scyName" :show-overflow-tooltip="true" />
  156. <el-table-column label="合同模板名称" align="center" prop="zfcName" :show-overflow-tooltip="true" />
  157. <el-table-column label="合同模板状态" align="center" prop="zfcStatus" :formatter="statusFormat" :show-overflow-tooltip="true" />
  158. <el-table-column label="签署节点" align="center" prop="zfcNode" :formatter="nodeFormat" :show-overflow-tooltip="true" />
  159. <!-- <el-table-column label="签署方" align="center" prop="zfcSubject" :formatter="subjectFormat" :show-overflow-tooltip="true"/> -->
  160. <el-table-column label="创建人" align="center" prop="nickName" :show-overflow-tooltip="true" />
  161. <el-table-column label="创建时间" align="center" prop="createTime" :show-overflow-tooltip="true" />
  162. </el-table>
  163. <pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize" @pagination="getContractList" />
  164. <!-- <el-button type="primary" @click="submitData()">关闭</el-button> -->
  165. <span slot="footer" class="dialog-footer">
  166. <el-button size="mini" @click="cancelTicket">取消</el-button>
  167. <el-button size="mini" type="primary" @click="closeTicket">确认</el-button>
  168. <!-- <el-button @click="cancelSelection">取 消</el-button>
  169. <el-button type="primary" @click="changeInvoice">确 定</el-button> -->
  170. </span>
  171. </el-dialog>
  172. <!-- 保存 -->
  173. <el-row type="flex" justify="center" align="middle" style="height: 82px;">
  174. <el-button type="primary" plain @click="cancel">取消</el-button>
  175. <el-button type="primary" @click="submitForm">提交</el-button>
  176. </el-row>
  177. </div>
  178. </template>
  179. <script>
  180. import {
  181. getFinanceProduct,
  182. updateFinanceProduct
  183. } from "@/api/service/financeProduct/financeProduct";
  184. import {
  185. listCompany
  186. } from "@/api/common/company";
  187. import {
  188. listContract
  189. } from "@/api/common/contract";
  190. export default {
  191. name: "editFinanceProduct",
  192. components: {},
  193. data() {
  194. return {
  195. disabled: false,
  196. //查询合同的表格数据
  197. contractList: [],
  198. //选中合同的表格数据
  199. contractList1: [],
  200. //选中发票数据
  201. chooseTicket: [],
  202. // 日期范围
  203. dateRange: [],
  204. pafCustomerId: "",
  205. activeName: "1",
  206. // 选中数组
  207. ids: [],
  208. // 弹出层标题
  209. title: "",
  210. // 总条数
  211. total: 0,
  212. //创建人
  213. userName: null,
  214. // 是否显示弹出层
  215. open: false,
  216. // 资方列表
  217. companyList: [],
  218. //余额
  219. multipleSelection: [],
  220. content: [],
  221. //数据字典
  222. voucherTypeOptions: [],
  223. bookkeepingOptions: [],
  224. expireOptions: [],
  225. profitTypeOptions: [],
  226. authTypeOptions: [],
  227. // 表单参数
  228. form: {},
  229. queryParams: {
  230. pageNum: 1,
  231. pageSize: 10,
  232. zfcName: null,
  233. zfcManagementId: null,
  234. },
  235. options: [],
  236. value: [],
  237. loading: false,
  238. // 表单校验
  239. rules: {
  240. zfpName: [{
  241. required: true,
  242. message: "产品名称不能为空",
  243. trigger: ["blur", "change"],
  244. }, ],
  245. zfpManagementId: [{
  246. required: true,
  247. message: "资金方不能为空",
  248. trigger: ["blur", "change"],
  249. }, ],
  250. zfpMinimumAmount: [{
  251. required: true,
  252. pattern: /^[0-9][0-9]{0,9}$|^[1-9][0-9]{0,9}[.]\d{1,2}$/,
  253. message: "请输入正确的付款金额",
  254. trigger: ["blur", "change"],
  255. }, ],
  256. zfpShortestPeriod: [{
  257. required: true,
  258. pattern: /^\d+$/,
  259. message: "请输入正确的最短融资账期",
  260. trigger: ["blur", "change"],
  261. }, ],
  262. zfpVoucherType: [{
  263. required: true,
  264. message: "电子凭证类型不能为空",
  265. trigger: ["blur", "change"],
  266. }, ],
  267. zfpAuthType: [{
  268. required: true,
  269. message: "签署意愿类型不能为空",
  270. trigger: ["blur", "change"],
  271. }, ],
  272. zfpRate: [{
  273. pattern: /^100$|^(\d|[1-9]\d)(\.\d{1,2})*$/,
  274. message: "资方融资费率在0-100之内",
  275. trigger: ["blur", "change"],
  276. }, ],
  277. zfpProfitRate: [{
  278. pattern: /^100$|^(\d|[1-9]\d)(\.\d{1,2})*$/,
  279. message: "资方返佣费率在0-100之内",
  280. trigger: ["blur", "change"],
  281. }, ],
  282. },
  283. };
  284. },
  285. computed: {
  286. headerList() {
  287. return [{
  288. icon: require('../../../assets/images/components/headerBar/icon_creater.png'),
  289. label: '创建人:',
  290. value: this.userName
  291. },
  292. {
  293. icon: require('../../../assets/images/components/headerBar/icon_calendar.png'),
  294. label: '创建日期:',
  295. value: this.parseTime(new Date(this.form.createTime))
  296. },
  297. {
  298. icon: require('../../../assets/images/components/headerBar/icon_list.png'),
  299. label: '编号:',
  300. value: this.form.zfpNumber
  301. },
  302. ]
  303. }
  304. },
  305. created() {
  306. const zfpId = this.$route.params && this.$route.params.zfpId;
  307. this.reset();
  308. this.getDicts("zc_zfp_voucher_type").then((response) => {
  309. this.voucherTypeOptions = response.data;
  310. });
  311. this.getDicts("zc_zfp_bookkeeping").then((response) => {
  312. this.bookkeepingOptions = response.data;
  313. });
  314. this.getDicts("zc_zfp_expire").then((response) => {
  315. this.expireOptions = response.data;
  316. });
  317. this.getDicts("zc_zfp_profit_type").then((response) => {
  318. this.profitTypeOptions = response.data;
  319. });
  320. this.getDicts("zc_zfp_auth_type").then((response) => {
  321. this.authTypeOptions = response.data;
  322. });
  323. this.getDicts("zc_zfc_status").then((response) => {
  324. this.statusOptions = response.data;
  325. });
  326. this.getDicts("zc_zfc_node").then((response) => {
  327. this.nodeOptions = response.data;
  328. });
  329. this.getDicts("zc_zfc_subject").then((response) => {
  330. this.subjectOptions = response.data;
  331. });
  332. getFinanceProduct(zfpId).then((response) => {
  333. this.form = response.data.zcFinanceProduct;
  334. this.contractList1 = response.data.contractList1;
  335. this.form.createTime = this.parseTime(new Date(response.data.zcFinanceProduct.createTime), '{y}-{m}-{d} {h}:{m}:{s}');
  336. this.userName = response.data.nickName;
  337. var state = this.form.zfpStatus;
  338. if (state == '01') {
  339. this.disabled = true;
  340. }
  341. const type = "03";
  342. const zfpManagementId = this.form.zfpManagementId;
  343. listCompany(type, zfpManagementId).then(response => {
  344. this.companyList = response.data;
  345. })
  346. });
  347. },
  348. activated() {
  349. this.reset();
  350. },
  351. methods: {
  352. /** 查询资方 */
  353. getCompanyList() {
  354. const type = "03";
  355. listCompany(type).then(response => {
  356. this.companyList = response.data;
  357. })
  358. },
  359. //合同模板状态字典反显
  360. statusFormat(row, column) {
  361. return this.selectDictLabel(this.statusOptions, row.zfcStatus);
  362. },
  363. //签署节点字典反显
  364. nodeFormat(row, column) {
  365. var zfcNodes = row.zfcNode.split(",");
  366. var zfcNodeList = '';
  367. for (var i = 0; i < zfcNodes.length; i++) {
  368. zfcNodeList += this.selectDictLabel(this.nodeOptions, zfcNodes[i]);
  369. if (i < zfcNodes.length - 1) {
  370. zfcNodeList += ",";
  371. }
  372. }
  373. return zfcNodeList;
  374. },
  375. //签署方字典反显
  376. subjectFormat(row, column) {
  377. return this.selectDictLabel(this.subjectOptions, row.zfcSubject);
  378. },
  379. // change(val){
  380. // if(val<=14){
  381. // this.$set(this.form, "zfpShortestPeriod", "14");
  382. // }
  383. // return ;
  384. // },
  385. getContractList() {
  386. this.queryParams.zfcManagementId = this.form.zfpManagementId;
  387. listContract(this.queryParams).then((response) => {
  388. this.contractList = response.data.records;
  389. this.selectChecked();
  390. this.total = response.data.total;
  391. });
  392. },
  393. //打开合同选择列表
  394. openTicket() {
  395. this.resetQuerys();
  396. // this.resetForm("formQuery");
  397. // this.getContractList();
  398. this.open = true;
  399. this.title = "合同信息";
  400. },
  401. selectChecked() {
  402. this.contractList1.forEach((item) => {
  403. this.contractList.forEach((row) => {
  404. if (row.zfcId == item.zfcId) {
  405. this.$nextTick(() => {
  406. this.$refs.tableContract &&
  407. this.$refs.tableContract.toggleRowSelection(row, true);
  408. });
  409. }
  410. });
  411. });
  412. },
  413. changeProfit() {
  414. this.form.zfpProfitType = null
  415. this.form.zfpProfitRate = null
  416. },
  417. /* 多选框跨页 */
  418. rowkey(row) {
  419. return row.zfcId;
  420. },
  421. // 多选框选中数据
  422. handleSelectionChange(val) {
  423. this.chooseTicket = val
  424. },
  425. // 确认选择
  426. closeTicket() {
  427. if (this.chooseTicket.length > 0) {
  428. this.contractList1 = this.chooseTicket
  429. this.open = false
  430. } else {
  431. this.$message({
  432. message: '请选择合同',
  433. type: 'warning'
  434. });
  435. }
  436. },
  437. //取消选择按钮
  438. cancelTicket() {
  439. if (this.contractList1.length > 0) {
  440. this.open = false;
  441. } else {
  442. this.contractList1 = [];
  443. if (this.$refs.tableContract) {
  444. this.$refs.tableContract.clearSelection()
  445. }
  446. this.open = false;
  447. }
  448. },
  449. /** 清空选择发票信息 */
  450. deleteTicekt() {
  451. this.contractList1 = [];
  452. if (this.$refs.tableContract) {
  453. this.$refs.tableContract.clearSelection()
  454. }
  455. },
  456. /* 删除按钮 */
  457. handleDelete(index, rows) {
  458. rows.splice(index, 1);
  459. if (this.$refs.tableContract) {
  460. this.$refs.tableContract.clearSelection()
  461. }
  462. this.selectChecked();
  463. },
  464. onSelectAll() {
  465. if (this.$refs.tableContract) {
  466. this.$refs.tableContract.clearSelection()
  467. }
  468. },
  469. handleQuerys() {
  470. this.queryParams.pageNum = 1;
  471. this.getContractList();
  472. },
  473. resetQuerys() {
  474. this.resetForm("formQuery");
  475. this.handleQuerys();
  476. },
  477. /* ---------------------------------------------------------------------- */
  478. // 多选框选中数据
  479. handleCurrentChange(val) {
  480. // this.currentRow = val;
  481. // this.open = false;
  482. },
  483. /* 清空 */
  484. change() {
  485. this.contractList1 = [];
  486. if (this.$refs.tableContract) {
  487. this.$refs.tableContract.clearSelection()
  488. }
  489. },
  490. reset() {
  491. this.form = {
  492. zfpId: null,
  493. zfpNumber: null,
  494. zfpName: null,
  495. zfpManagementId: null,
  496. zfpSplit: "0",
  497. zfpType: "1",
  498. zfpTransfer: "0",
  499. zfpRecourse: "0",
  500. zfpVoucherType: null,
  501. zfpCoreAccount: "0",
  502. zfpSupplierAccount: "0",
  503. zfpCharge: "0",
  504. zfpStatus: "0",
  505. zfpMinimumAmount: null,
  506. zfpShortestPeriod: null,
  507. zfpBookkeeping: null,
  508. zfpPart: "0",
  509. zfpExpire: null,
  510. zfpRate: null,
  511. zfpProfit: "0",
  512. zfpProfitType: null,
  513. zfpProfitRate: null,
  514. zfpPlatform: "0",
  515. createBy: null,
  516. createTime: null,
  517. updateBy: null,
  518. updateTime: null
  519. };
  520. this.resetForm("form");
  521. },
  522. /* ---------------------------------------------------------------------- */
  523. // 取消按钮
  524. cancel() {
  525. this.reset();
  526. this.$store.dispatch("tagsView/delView", this.$route);
  527. this.$router.go(-1);
  528. this.open = false;
  529. },
  530. changeVal(val) {
  531. if (val > 100) {
  532. this.val = "";
  533. this.$message({
  534. message: '请输入正确的费率',
  535. type: 'warning'
  536. });
  537. }
  538. },
  539. changeRate(e, input) {
  540. e.target.value = (e.target.value.match(/^\d*(\.?\d{0,2})/g)[0]) || null
  541. this.input = e.target.value
  542. this.form.zfpMinimumAmount = this.input
  543. },
  544. inputRate(e, input) {
  545. e.target.value = (e.target.value.match(/^\d*(\.?\d{0,2})/g)[0]) || null
  546. this.input = e.target.value
  547. this.form.zfpRate = this.input
  548. },
  549. inputRates(e, input) {
  550. e.target.value = (e.target.value.match(/^\d*(\.?\d{0,2})/g)[0]) || null
  551. this.input = e.target.value
  552. this.form.zfpProfitRate = this.input
  553. },
  554. /** 保存按钮 */
  555. submitForm() {
  556. this.$refs["form"].validate((valid) => {
  557. this.form.contractList1 = this.contractList1;
  558. console.log(this.form)
  559. if (valid) {
  560. const loading = this.$loading({
  561. lock: true,
  562. text: "Loading",
  563. spinner: "el-icon-loading",
  564. background: "rgba(0, 0, 0, 0.7)",
  565. });
  566. updateFinanceProduct(this.form)
  567. .then((response) => {
  568. loading.close();
  569. this.msgSuccess("修改成功");
  570. this.$store.dispatch("tagsView/delView", this.$route);
  571. this.$router.go(-1);
  572. })
  573. .catch((response) => {
  574. loading.close();
  575. });
  576. }
  577. });
  578. },
  579. // submitData() {
  580. // this.open = false;
  581. // },
  582. /* // 将数字金额转换为大写金额 */
  583. },
  584. };
  585. </script>
  586. <style>
  587. .single-select-table thead .el-table-column--selection .cell {
  588. display: none;
  589. }
  590. </style><style lang="scss" scoped>
  591. .zap-No {
  592. padding: 14px 25px;
  593. background-color: #ffffff;
  594. .icon {
  595. width: 18px;
  596. margin-right: 10px;
  597. }
  598. .label {
  599. white-space: nowrap;
  600. margin-right: 8px;
  601. font-size: 14px;
  602. color: #999999;
  603. }
  604. .value {
  605. font-size: 14px;
  606. color: #333333;
  607. }
  608. }
  609. .zap-title {
  610. padding: 25px;
  611. font-size: 16px;
  612. color: #333333;
  613. background-color: #ffffff;
  614. }
  615. ::v-deep .el-radio-button__inner {
  616. display: flex;
  617. align-items: center;
  618. justify-content: center;
  619. width: 100px;
  620. height: 35px;
  621. padding: 0;
  622. border: 1px solid #e0e0e0;
  623. }
  624. ::v-deep .el-radio-button:first-child .el-radio-button__inner {
  625. margin-right: 20px;
  626. border-radius: 17px;
  627. }
  628. ::v-deep .el-radio-button:last-child .el-radio-button__inner {
  629. border-radius: 17px;
  630. }
  631. ::v-deep .el-radio-button__orig-radio:checked+.el-radio-button__inner {
  632. color: #4280f2;
  633. background: #ecf2fe;
  634. border-color: #b3ccfa;
  635. box-shadow: none;
  636. }
  637. .zap-form {
  638. padding: 0 25px;
  639. background-color: #ffffff;
  640. }
  641. .zap-table ::v-deep .el-form-item__content {
  642. width: 100%;
  643. }
  644. </style>