PaymentFiled.vue 30 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747
  1. <template>
  2. <div v-loading.fullscreen.lock="fullscreenLoading">
  3. <div class="paymentfiled-all">
  4. <div class="paymentfiled-haed-box">
  5. <div class="paymentfiled-haed">
  6. <el-date-picker value-format="yyyy-MM-dd" style="width:400px" v-model="value2" type="daterange" align="left" unlink-panels range-separator="至"
  7. start-placeholder="开始日期" end-placeholder="结束日期" @change="datechange"
  8. :picker-options="pickerOptions">
  9. </el-date-picker>
  10. <div class="haed-btn">
  11. <el-button @click="PostPayRequestCheckedChange(1)" type="primary">保存勾选</el-button>
  12. <el-button @click="PostPayRequestCheckedChange(2)" type="primary">清空勾选</el-button>
  13. <el-button @click="checkCheckbox" type="primary">查看勾选</el-button>
  14. <el-button @click="datechange" type="primary">查看全部</el-button>
  15. <el-select style="width:200px" v-model="value" filterable placeholder="请选择">
  16. <el-option
  17. v-for="item in options"
  18. :key="item.id"
  19. :label="item.conpamyName"
  20. :value="item.id">
  21. </el-option>
  22. </el-select>
  23. <el-button @click="generatebtn" type="primary">生成</el-button>
  24. <el-button @click="paymentbtn" type="primary">付款</el-button>
  25. </div>
  26. </div>
  27. </div>
  28. <div class="paymentfiled-info">
  29. <div class="paymentfiled-info-li">
  30. <label>付款申请人:</label>
  31. <span>{{applicant}}</span>
  32. </div>
  33. <div class="paymentfiled-info-li">
  34. <label>申请付款日期:</label>
  35. <span>{{application}}</span>
  36. </div>
  37. <!-- <div class="paymentfiled-info-li">
  38. <label>申请付款金额:</label>
  39. <span>公转:{{revolution}} CNY</span>
  40. &nbsp;
  41. &nbsp;
  42. <span>私转:{{privateTransfer}} CNY</span>
  43. </div> -->
  44. </div>
  45. <div class="paymentfiled-form">
  46. <el-collapse v-model="activeNames" @change="handleChange">
  47. <el-collapse-item name="2">
  48. <template slot="title">
  49. <div style="width: 100%;">
  50. <p style="float: left;user-select: none;">
  51. 团组付款申请
  52. </p>
  53. <p align="right" style="user-select: none;">
  54. <span>公转:{{tzrevolution}} CNY</span>
  55. &nbsp;
  56. &nbsp;
  57. <span>私转:{{tzprivateTransfer}} CNY</span>
  58. &nbsp;
  59. &nbsp;
  60. &nbsp;
  61. &nbsp;
  62. </p>
  63. </div>
  64. </template>
  65. <div class="tree-box">
  66. <el-tree
  67. @check="handleSelectionChange"
  68. :data="groupstableData"
  69. ref="tree"
  70. show-checkbox
  71. :default-expand-all="false"
  72. :default-checked-keys="defaultarr"
  73. node-key="id"
  74. :props="defaultProps"
  75. highlight-current>
  76. <span class="custom-tree-node" slot-scope="{ data }">
  77. <span>
  78. {{data.groupName?'(团组:'+data.groupName+')':'' }}
  79. </span>
  80. <span>
  81. {{ data.applicant?'申请人:'+data.applicant:''}}
  82. </span>
  83. <span>
  84. {{ data.payType?'【'+data.payType+'】':''}}
  85. </span>
  86. <span>
  87. {{ data.moduleName?'['+data.moduleName+']':''}}
  88. </span>
  89. <span :style="data.auditStatus==3?'color:red':''">
  90. {{ data.priceName?data.priceName:''}}
  91. </span>
  92. <span>
  93. {{ data.payee?'(收款方:'+data.payee+')':'' }}
  94. </span>
  95. <span>
  96. {{ data.payCurrCode?' : '+data.payCurrCode+' ':'' }}
  97. </span>
  98. <span>
  99. {{ data.paymentAmount!=undefined?' '+twonumder(data.paymentAmount):'' }}
  100. </span>
  101. <span>
  102. {{ data.cnyTotalAmount!=undefined?'&nbsp;&nbsp;&nbsp;付款金额&nbsp;&nbsp;&nbsp;CNY '+twonumder(data.cnyTotalAmount):'' }}
  103. </span>
  104. <span>
  105. {{ data.cnySubTotalAmount!=undefined?' 、 CNY '+twonumder(data.cnySubTotalAmount=data.paymentAmount*data.payRate)+'&nbsp;&nbsp;&nbsp;汇率:':'' }}
  106. </span>
  107. <el-input-number v-if="data.payRate!=undefined" style="width:100px" @blur="inputblur(data.id,data.payRate,data.hotelSubId)" :precision="4" placeholder="公务翻译费" v-model="data.payRate" :controls='false'>
  108. </el-input-number>
  109. </span>
  110. </el-tree>
  111. </div>
  112. </el-collapse-item>
  113. <el-collapse-item name="1">
  114. <template slot="title">
  115. <div style="width: 100%;">
  116. <p style="float: left;user-select: none;">
  117. 日付申请
  118. </p>
  119. <p align="right" style="user-select: none;">
  120. <span>公转:{{rfrevolution}} CNY</span>
  121. &nbsp;
  122. &nbsp;
  123. <span>私转:{{rfprivateTransfer}} CNY</span>
  124. &nbsp;
  125. &nbsp;
  126. &nbsp;
  127. &nbsp;
  128. </p>
  129. </div>
  130. </template>
  131. <div class="tree-box">
  132. <el-tree
  133. @check="everydayChange"
  134. :data="everydayData"
  135. ref="abc"
  136. show-checkbox
  137. :default-expand-all="false"
  138. :default-checked-keys="everydayarr"
  139. node-key="id"
  140. :check-strictly="true"
  141. :props="everydayProps"
  142. highlight-current>
  143. <span class="custom-tree-node" slot-scope="{ data }">
  144. <span >
  145. {{ data.companyName?'【'+data.companyName+'】':'' }}
  146. </span>
  147. <span>
  148. {{ data.transferParentIdStr?' 【'+data.transferParentIdStr+'】':'' }}
  149. </span>
  150. <span>
  151. {{ data.priceTypeStr?' 【'+data.priceTypeStr+'】':'' }}
  152. </span>
  153. <span>
  154. {{ data.instructions?'('+data.instructions+'):':'' }}
  155. </span>
  156. <span>
  157. {{ data.sumPrice?' CNY: '+twonumder(data.sumPrice):'' }}
  158. </span>
  159. <span>
  160. {{ data.createUser?'【申请人: '+data.createUser:'' }}
  161. </span>
  162. <span>
  163. {{ data.createTime?'申请时间: '+data.createTime+'】':'' }}
  164. </span>
  165. <span style="color:rgb(149 149 149);">
  166. {{ data.remaksDescription?data.remaksDescription:'' }}
  167. </span>
  168. </span>
  169. </el-tree>
  170. </div>
  171. </el-collapse-item>
  172. </el-collapse>
  173. </div>
  174. </div>
  175. </div>
  176. </template>
  177. <script>
  178. export default {
  179. data() {
  180. return {
  181. value:2,
  182. options:[],
  183. pageId:'',
  184. token:'',
  185. userId:'',
  186. applicant:'',
  187. application:'',
  188. rfrevolution:'0.00',//日付公转
  189. rfprivateTransfer:'0.00',//日付私转
  190. tzrevolution:'0.00',//团组公转
  191. tzprivateTransfer:'0.00',//团组私转
  192. defaultProps: {
  193. children: 'childList',
  194. label: 'groupName'
  195. },
  196. everydayProps: {
  197. children: 'childList',
  198. label: 'instructions',
  199. disabled:function(data, node) {
  200. if(data.transferParentIdStr==undefined){
  201. return true
  202. }
  203. }
  204. },
  205. activeNames: ['1','2'],
  206. multipleSelection: [],
  207. //选择日期快捷选项
  208. pickerOptions: {
  209. shortcuts: [{
  210. text: '最近一周',
  211. onClick(picker) {
  212. const end = new Date();
  213. const start = new Date();
  214. start.setTime(start.getTime() - 3600 * 1000 * 24 * 7);
  215. picker.$emit('pick', [start, end]);
  216. }
  217. }, {
  218. text: '最近一个月',
  219. onClick(picker) {
  220. const end = new Date();
  221. const start = new Date();
  222. start.setTime(start.getTime() - 3600 * 1000 * 24 * 30);
  223. picker.$emit('pick', [start, end]);
  224. }
  225. }, {
  226. text: '最近三个月',
  227. onClick(picker) {
  228. const end = new Date();
  229. const start = new Date();
  230. start.setTime(start.getTime() - 3600 * 1000 * 24 * 90);
  231. picker.$emit('pick', [start, end]);
  232. }
  233. }, {
  234. text: '最近一年',
  235. onClick(picker) {
  236. const end = new Date();
  237. const start = new Date();
  238. start.setTime(start.getTime() - 3600 * 1000 * 24 * 365);
  239. picker.$emit('pick', [start, end]);
  240. }
  241. }
  242. , {
  243. text: '最近两年',
  244. onClick(picker) {
  245. const end = new Date();
  246. const start = new Date();
  247. start.setTime(start.getTime() - 3600 * 1000 * 24 * 730);
  248. picker.$emit('pick', [start, end]);
  249. }
  250. }]
  251. },
  252. value2: '',
  253. checked:'',
  254. groupstableData:[],//团组付款申请
  255. everydayData:[],//日常付款申请
  256. defaultarr:[],//团组勾选中
  257. everydayarr:[],//日付勾选中
  258. fullscreenLoading:false,
  259. hotelSubIdarr:[],
  260. hotelSubIdarrs:[],
  261. arrid:[]
  262. };
  263. },
  264. methods:{
  265. //两位小数
  266. twonumder(val){
  267. return val.toFixed(2)
  268. },
  269. handleChange(val) {
  270. console.log(val);
  271. },
  272. //获取基础数据
  273. PostPayRequestInit(){
  274. var url = "/api/Financial/PostPayRequestInit"
  275. var that = this
  276. this.$axios({
  277. method: 'post',
  278. url: url,
  279. headers: {
  280. Authorization: 'Bearer ' + that.token
  281. },
  282. }).then(function (res) {
  283. if(res.data.code==200){
  284. console.log(res)
  285. that.options=res.data.data.conpanyData;
  286. }else{
  287. that.$message({
  288. message: res.data.msg,
  289. type: 'warning'
  290. });
  291. }
  292. })
  293. },
  294. //处理数组
  295. filt(array) {
  296. return array.filter(x => Number.isFinite(x));
  297. },
  298. //勾选
  299. handleSelectionChange(data,node) {
  300. for(let i=0;i<node.checkedNodes.length;i++){
  301. for(let j=0;j<node.checkedKeys.length;j++){
  302. if(node.checkedNodes[i].id==node.checkedKeys[j]){
  303. this.hotelSubIdarr.push(node.checkedNodes[i].hotelSubId)
  304. }
  305. }
  306. }
  307. // this.hotelSubIdarr=Array.from(new Set(this.hotelSubIdarr))
  308. // console.log(this.arrstring(this.hotelSubIdarr));
  309. // var arrid=[]
  310. // for(let i=0;i<node.checkedKeys.length;i++){
  311. // if(Number(node.checkedKeys[i].split('p')[1])==Number(node.checkedKeys[i].split('p')[1])){
  312. // arrid.push(Number(node.checkedKeys[i].split('p')[1]));
  313. // }
  314. // }
  315. // for(let j=0;j<this.groupstableData.length;j++){
  316. // for(let s=0;s<this.groupstableData[j].childList.length;s++){
  317. // for(let x=0;x<arrid.length;x++){
  318. // if(arrid[x]==Number(this.groupstableData[j].childList[s].id.split("p")[1])){
  319. // console.log(this.groupstableData[j].childList[s].id);
  320. // this.defaultarr.push(this.groupstableData[j].childList[s].id)
  321. // }
  322. // }
  323. // }
  324. // }
  325. // arrid=Array.from(new Set(arrid))
  326. this.defaultarr=node.checkedKeys
  327. // console.log(this.arrstring(this.defaultarr));
  328. },
  329. //日付勾选
  330. everydayChange(data,node){
  331. this.everydayarr=node.checkedKeys
  332. console.log(this.arrstring(this.everydayarr));
  333. },
  334. //数组处理成字符串
  335. arrstring(val){
  336. var stringarr='';
  337. for(let s=0;s<val.length;s++){
  338. stringarr += val[s].toString()+',';
  339. }
  340. return stringarr.substring(0, stringarr.length-1);
  341. },
  342. //处理时间
  343. getdate(val){
  344. var date=new Date(val);
  345. var y=date.getFullYear();
  346. var m=date.getMonth()+1<10?'0'+(date.getMonth()+1):date.getMonth()+1;
  347. var d=date.getDate()<10?'0'+date.getDate():date.getDate();
  348. return y+'-'+m+'-'+d
  349. },
  350. //查看勾选
  351. checkCheckbox(){
  352. console.log(this.defaultarr)
  353. console.log(this.everydayarr)
  354. if(this.defaultarr.length==0&&this.everydayarr.length==0){
  355. this.$message({
  356. message:'请保存勾选后再查看!',
  357. type: 'warning'
  358. });
  359. return;
  360. }
  361. //初始化
  362. this.groupstableData=[];
  363. this.everydayData=[];
  364. this.rfrevolution='0.00';//日付公转
  365. this.rfprivateTransfer='0.00';//日付私转
  366. this.tzrevolution='0.00';//团组公转
  367. this.tzprivateTransfer='0.00';//团组私转
  368. this.PostPayRequest_Center(this.getdate(this.value2[0]),this.getdate(this.value2[1]),2);
  369. // this.PostPayRequest_Center('2023-01-01','2024-03-25',2);
  370. },
  371. //选择日期
  372. datechange(){
  373. //初始化
  374. this.groupstableData=[];
  375. this.everydayData=[];
  376. this.rfrevolution='0.00';//日付公转
  377. this.rfprivateTransfer='0.00';//日付私转
  378. this.tzrevolution='0.00';//团组公转
  379. this.tzprivateTransfer='0.00';//团组私转
  380. this.PostPayRequest_Center(this.getdate(this.value2[0]),this.getdate(this.value2[1]),1);
  381. // this.PostPayRequest_Center('2023-01-01','2024-03-25',1);
  382. },
  383. //汇率更改
  384. inputblur(id,raet,hotelSubId){
  385. this.PostPayRequestRateChange(id,raet,hotelSubId)
  386. },
  387. //获取付款申请list
  388. PostPayRequest_Center(beginDt,endDt,status){
  389. this.fullscreenLoading=true;
  390. this.defaultarr=[]
  391. this.hotelSubIdarr=[]
  392. var url = "/api/Financial/PostPayRequest_Center"
  393. var that = this
  394. this.$axios({
  395. method: 'post',
  396. url: url,
  397. headers: {
  398. Authorization: 'Bearer ' + that.token
  399. },
  400. data:{
  401. portType:1,
  402. status:status,
  403. beginDt:beginDt,
  404. endDt:endDt,
  405. pageId: that.pageId,
  406. userId: that.userId,
  407. }
  408. }).then(function (res) {
  409. if(res.data.code==200){
  410. console.log(res)
  411. that.rfrevolution=res.data.data.daily.gz;
  412. that.rfprivateTransfer=res.data.data.daily.sz;
  413. that.tzrevolution=res.data.data.group.gz;
  414. that.tzprivateTransfer=res.data.data.group.sz;
  415. that.groupstableData=res.data.data.group.dataList;
  416. if(that.groupstableData!=null){
  417. var arrid=[]
  418. for(let i=0;i<that.groupstableData.length;i++){
  419. for(let j=0;j<that.groupstableData[i].childList.length;j++){
  420. that.groupstableData[i].childList[j].id=j+'p'+that.groupstableData[i].childList[j].id
  421. arrid.push(that.groupstableData[i].childList[j].id)
  422. if(that.groupstableData[i].childList[j].isChecked==true){
  423. that.defaultarr.push(that.groupstableData[i].childList[j].id)
  424. that.hotelSubIdarr.push(that.groupstableData[i].childList[j].hotelSubId)
  425. }
  426. }
  427. }
  428. console.log(that.hotelSubIdarr);
  429. console.log(that.defaultarr);
  430. }
  431. that.everydayData=res.data.data.daily.dataList;
  432. if(that.everydayData!=null){
  433. for(let s=0;s<that.everydayData.length;s++){
  434. if(that.everydayData[s].isChecked==true){
  435. that.everydayarr.push(that.everydayData[s].id)
  436. }
  437. }
  438. }
  439. that.fullscreenLoading=false;
  440. }else{
  441. that.$message({
  442. message: '加载失败!原因:'+res.data.msg,
  443. type: 'warning'
  444. });
  445. that.fullscreenLoading=false;
  446. }
  447. })
  448. },
  449. //保存勾选
  450. PostPayRequestCheckedChange(type){
  451. for(let n=0;n<this.hotelSubIdarr.length;n++){
  452. if(this.hotelSubIdarr[n]!=undefined&&this.hotelSubIdarr[n]!=-1){
  453. this.hotelSubIdarrs.push(this.hotelSubIdarr[n]);
  454. }
  455. }
  456. this.hotelSubIdarr=Array.from(new Set(this.hotelSubIdarrs))
  457. for(let i=0;i<this.defaultarr.length;i++){
  458. if(typeof this.defaultarr[i]!== 'number'){
  459. if(Number(this.defaultarr[i].split('p')[1])==Number(this.defaultarr[i].split('p')[1])){
  460. this.arrid.push(Number(this.defaultarr[i].split('p')[1]));
  461. }
  462. }
  463. }
  464. this.arrid=Array.from(new Set(this.arrid))
  465. this.defaultarr=this.filt(this.arrid);
  466. console.log(this.defaultarr);
  467. var url = "/api/Financial/PostPayRequestCheckedChange"
  468. var that = this
  469. this.$axios({
  470. method: 'post',
  471. url: url,
  472. headers: {
  473. Authorization: 'Bearer ' + that.token
  474. },
  475. data:{
  476. userId:that.userId,
  477. hotelSubIds:that.arrstring(that.hotelSubIdarr),
  478. groupIds:that.arrstring(that.defaultarr),
  479. dailyPaymentIds:that.arrstring(that.everydayarr),
  480. type:type
  481. }
  482. }).then(function (res) {
  483. if(res.data.code==200){
  484. // that.$message({
  485. // message: res.data.msg,
  486. // type: 'success'
  487. // });
  488. if(type==2){
  489. that.$refs.tree.setCheckedKeys([]);
  490. that.$refs.abc.setCheckedKeys([]);
  491. that.defaultarr=[];
  492. that.everydayarr=[];
  493. that.hotelSubIdarr=[];
  494. that.arrid=[];
  495. that.hotelSubIdarrs=[];
  496. }
  497. }else{
  498. that.$message({
  499. message: '保存失败!原因:'+res.data.msg,
  500. type: 'warning'
  501. });
  502. }
  503. })
  504. },
  505. //修改汇率
  506. PostPayRequestRateChange(id,rate,hotelSubId){
  507. var url = "/api/Financial/PostPayRequestRateChange"
  508. var that = this
  509. this.$axios({
  510. method: 'post',
  511. url: url,
  512. headers: {
  513. Authorization: 'Bearer ' + that.token
  514. },
  515. data:{
  516. portType:1,
  517. pageId:that.pageId,
  518. userId:that.userId,
  519. status:1,
  520. beginDt:that.getdate(that.value2[0]),
  521. endDt:that.getdate(that.value2[1]),
  522. id:Number(id.split('p')[1]),
  523. hotelSubId:hotelSubId,
  524. rate:rate
  525. }
  526. }).then(function (res) {
  527. if(res.data.code==200){
  528. that.$message({
  529. message: res.data.msg,
  530. type: 'success'
  531. });
  532. }else{
  533. that.$message({
  534. message: '保存失败!原因:'+res.data.msg,
  535. type: 'warning'
  536. });
  537. }
  538. })
  539. },
  540. //付款btn
  541. paymentbtn(){
  542. this.$confirm('是否确认付款?', '提示', {
  543. confirmButtonText: '确定',
  544. cancelButtonText: '取消',
  545. type: 'warning'
  546. }).then(() => {
  547. this.PostPayRequestCheckedChange(1)
  548. setTimeout(this.PostPayRequestPayChange(),1000)
  549. }).catch(() => {
  550. this.$message({
  551. type: 'info',
  552. message: '已取消付款'
  553. });
  554. });
  555. },
  556. //付款api
  557. PostPayRequestPayChange(){
  558. var hotelSubIdarrs=[]
  559. for(let n=0;n<this.hotelSubIdarr.length;n++){
  560. if(this.hotelSubIdarr[n]!=undefined&&this.hotelSubIdarr[n]!=-1){
  561. hotelSubIdarrs.push(this.hotelSubIdarr[n]);
  562. }
  563. }
  564. this.hotelSubIdarr=Array.from(new Set(hotelSubIdarrs))
  565. var url = "/api/Financial/PostPayRequestPayChange"
  566. var that = this
  567. this.$axios({
  568. method: 'post',
  569. url: url,
  570. headers: {
  571. Authorization: 'Bearer ' + that.token
  572. },
  573. data:{
  574. userId:that.userId,
  575. hotelSubIds:that.arrstring(that.hotelSubIdarr),
  576. groupIds:that.arrstring(that.defaultarr),
  577. dailyPaymentIds:that.arrstring(that.everydayarr),
  578. }
  579. }).then(function (res) {
  580. if(res.data.code==200){
  581. that.datechange()
  582. that.$message({
  583. message: res.data.msg,
  584. type: 'success'
  585. });
  586. }else{
  587. that.$message({
  588. message:res.data.msg,
  589. type: 'warning'
  590. });
  591. }
  592. })
  593. },
  594. //生成btn
  595. generatebtn(){
  596. this.PostPayRequestCheckedChange(1)
  597. setTimeout(this.PostPayRequestFileDownload,1000)
  598. },
  599. //生成api
  600. PostPayRequestFileDownload(){
  601. // this.PostPayRequestCheckedChange(1)
  602. var url = "/api/Financial/PostPayRequestFileDownload"
  603. var that = this
  604. console.log(that.value2);
  605. this.$axios({
  606. method: 'post',
  607. url: url,
  608. headers: {
  609. Authorization: 'Bearer ' + that.token
  610. },
  611. data:{
  612. portType:1,
  613. userId:that.userId,
  614. pageId:that.pageId,
  615. beginDt:that.getdate(that.value2[0]),
  616. endDt:that.getdate(that.value2[1]),
  617. conpanyId:that.value
  618. }
  619. }).then(function (res) {
  620. if(res.data.code==200){
  621. that.$message({
  622. message: res.data.msg,
  623. type: 'success'
  624. });
  625. window.open(res.data.data.url)
  626. }else{
  627. that.$message({
  628. message: res.data.msg,
  629. type: 'warning'
  630. });
  631. }
  632. })
  633. },
  634. },
  635. filters: {
  636. numFilter(value) {
  637. let realVal = "";
  638. if (!isNaN(value) && value !== "") {
  639. // 截取当前数据到小数点后两位,改变toFixed的值即可截取你想要的数值
  640. realVal = parseFloat(value).toFixed(2);
  641. } else {
  642. realVal = "--";
  643. }
  644. return realVal;
  645. },
  646. },
  647. mounted(){
  648. this.pageId = localStorage.getItem('indexs').split('-')[1];
  649. this.token = JSON.parse(localStorage.getItem('userinif')).token;
  650. this.userId = JSON.parse(localStorage.getItem('userinif')).userInfo.userId;
  651. this.applicant=JSON.parse(localStorage.getItem('userinif')).userInfo.cnName;
  652. this.application=this.getdate(new Date());
  653. //调用获取基础数据
  654. this.PostPayRequestInit()
  655. }
  656. }
  657. </script>
  658. <style>
  659. .paymentfiled-all{
  660. background-color: #fff;
  661. padding: 10px;
  662. box-shadow: 0 0 5px #0005;
  663. border-radius: 10px;
  664. height: 100%;
  665. min-height: 830px;
  666. }
  667. .paymentfiled-haed{
  668. display: flex;
  669. justify-content: space-between;
  670. margin-bottom: 10px;
  671. }
  672. .paymentfiled-info{
  673. display: flex;
  674. margin-bottom: 15px;
  675. }
  676. .paymentfiled-info-li{
  677. margin-right: 30px;
  678. }
  679. .paymentfiled-info-li label{
  680. color: #606266;
  681. font-size: 15px;
  682. font-weight: 600;
  683. }
  684. .paymentfiled-info-li span{
  685. color: #606266;
  686. font-size: 14px;
  687. }
  688. .paymentfiled-form{
  689. max-height: 700px;
  690. overflow: auto;
  691. }
  692. .paymentfiled-form-li:nth-child(1){
  693. border-top:2px solid #409EFF ;
  694. }
  695. .paymentfiled-form-li{
  696. border-bottom:1px solid #ccc ;
  697. padding: 10px 0;
  698. }
  699. .paymentfiled-haed .el-date-editor--monthrange.el-input__inner{
  700. width: 300px;
  701. }
  702. .childtable{
  703. text-align: -webkit-center;
  704. }
  705. .childtable .el-table tr {
  706. background-color: #f2f6fd !important;
  707. font-weight: bold;
  708. }
  709. .custom-tree-node {
  710. font-size: 16px;
  711. white-space: normal;
  712. }
  713. .custom-tree-nodes {
  714. flex: 1;
  715. display: flex;
  716. align-items: center;
  717. justify-content: space-between;
  718. font-size: 14px;
  719. padding-right: 8px;
  720. }
  721. .paymentfiled-form .el-tree-node__content{
  722. height:70px;
  723. }
  724. .paymentfiled-form .el-input__inner{
  725. height:30px;
  726. line-height:30px;
  727. }
  728. .tree-box{
  729. border: 1px solid #EBEEF5;
  730. padding: 10px;
  731. }
  732. ::v-deep .el-tree .el-tree-node .is-leaf + .el-checkbox .el-checkbox__inner {
  733. display: none;
  734. }
  735. ::v-deep .el-tree .el-tree-node .el-checkbox .el-checkbox__inner {
  736. display: inline-block;
  737. }
  738. </style>