applyPayConfirm.vue 29 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867
  1. <template>
  2. <!-- 发起付款申请/发起审核 -->
  3. <el-dialog
  4. :close-on-click-modal="false"
  5. :close-on-press-escape="false"
  6. :title="dialogTitle"
  7. :visible.sync="dialogVisible"
  8. top="50px"
  9. width="75%"
  10. >
  11. <div class="tabsdom">
  12. <el-tabs v-model="activeName" @tab-click="handleClick">
  13. <el-tab-pane label="付款申请" name="first">
  14. <el-card shadow="always" style="padding: 15px 5px 5px 15px">
  15. <el-form
  16. ref="elformData"
  17. :model="formData"
  18. :rules="rules"
  19. class="payform"
  20. label-width="200px"
  21. size="medium"
  22. >
  23. <el-card style="padding:0px 20px;margin-bottom: 25px">
  24. <h3 style="margin-top: 8px;"><span style="color: red">*</span> 订单详情</h3>
  25. <el-row :gutter="15">
  26. <el-col :span="24">
  27. <el-form-item
  28. :style="{width: '100%'}"
  29. clearable
  30. label="采购单号"
  31. label-width="160px"
  32. >
  33. <el-select
  34. v-model="formData.orderId"
  35. disabled
  36. filterable
  37. placeholder="采购单号"
  38. @change="selectOutOrderDetails"
  39. >
  40. <el-option
  41. v-for="(item,index) in OutOrderList"
  42. :key="index"
  43. :label="item.supplierName+item.orderNo"
  44. :value="item.id"
  45. >
  46. <span style="float: left">{{ item.supplierName }}</span>
  47. <span style="float: right; color: #8492a6; font-size: 13px">
  48. {{ item.orderNo }}
  49. </span>
  50. </el-option>
  51. </el-select>
  52. </el-form-item>
  53. </el-col>
  54. <el-col :span="12">
  55. <el-form-item label="关联项目名称" label-width="160px" prop="proId">
  56. <el-input v-model="formData.proName" readonly/>
  57. </el-form-item>
  58. </el-col>
  59. <el-col :span="12">
  60. <el-form-item label="客户名称" label-width="160px">
  61. <el-input v-model="formData.custName" readonly/>
  62. </el-form-item>
  63. </el-col>
  64. <el-col :span="12">
  65. <el-form-item label="发包日期" label-width="160px">
  66. <el-date-picker
  67. v-model="formData.dealAt"
  68. placeholder="发包日期"
  69. readonly
  70. style="width: 100%"
  71. type="datetime"
  72. value-format="yyyy-MM-dd HH:mm:ss"
  73. />
  74. </el-form-item>
  75. </el-col>
  76. <el-col :span="12">
  77. <el-form-item label="要求完成时间" label-width="160px">
  78. <el-date-picker
  79. v-model="formData.outTimeline"
  80. placeholder="要求完成时间"
  81. readonly
  82. style="width: 100%"
  83. type="datetime"
  84. value-format="yyyy-MM-dd HH:mm:ss"
  85. />
  86. </el-form-item>
  87. </el-col>
  88. <el-col :span="12">
  89. <el-form-item label="供应商" label-width="160px" prop="bizId">
  90. <el-input v-model="formData.supplierName" readonly/>
  91. </el-form-item>
  92. </el-col>
  93. <el-col :span="12">
  94. <el-form-item label="联系人" label-width="160px" prop="bizBy">
  95. <el-input v-model="formData.contactUser" readonly />
  96. <!-- <el-select
  97. v-model="formData.bizBy"
  98. disabled
  99. placeholder="选择联系人"
  100. >
  101. <el-option
  102. v-for="item in bizByList"
  103. :key="item.id"
  104. :label="item.username"
  105. :value="item.id"
  106. />
  107. </el-select>-->
  108. </el-form-item>
  109. </el-col>
  110. <el-col :span="12">
  111. <el-form-item label="订单总金额" label-width="160px" prop="orderAmount">
  112. <el-input v-model="formData.orderAmount" readonly type="number"/>
  113. </el-form-item>
  114. </el-col>
  115. <el-col :span="12">
  116. <el-form-item label="税率(%)" label-width="160px" prop="taxRate">
  117. <el-input v-model="formData.taxRate" readonly type="number"/>
  118. </el-form-item>
  119. </el-col>
  120. <el-col :span="12">
  121. <el-form-item label="支付方式" label-width="160px">
  122. <el-select v-model="formData.payType" disabled placeholder="支付方式">
  123. <el-option
  124. v-for="item in dc_data.PAY_TYPE"
  125. :key="item.value"
  126. :label="item.label"
  127. :value="item.value"
  128. />
  129. </el-select>
  130. </el-form-item>
  131. </el-col>
  132. <el-col :span="12">
  133. <el-form-item label="下单人" label-width="160px">
  134. <el-input v-model="formData.dealBy" readonly/>
  135. </el-form-item>
  136. </el-col>
  137. <el-col :span="24">
  138. <el-form-item label="支付说明" label-width="160px">
  139. <el-input
  140. v-model="formData.remark"
  141. :rows="3"
  142. readonly
  143. type="textarea"
  144. />
  145. </el-form-item>
  146. </el-col>
  147. </el-row>
  148. <!-- <el-row v-if="isPayInfo">-->
  149. <!-- <el-col style="padding-bottom: 10px">-->
  150. <!-- <span class="card_title">支付列表</span>-->
  151. <!-- <el-card shadow="always" style="padding:0px 20px 20px 20px">-->
  152. <!-- <el-row>-->
  153. <!-- <el-col :span="24">-->
  154. <!-- <el-table-->
  155. <!-- :data="payDetailData"-->
  156. <!-- row-class-name="g_table_row"-->
  157. <!-- stripe-->
  158. <!-- >-->
  159. <!-- <el-table-column label="支付日期" prop="payAt"/>-->
  160. <!-- <el-table-column label="付款名称" prop="payName"/>-->
  161. <!-- <el-table-column label="付款金额" prop="payAmount"/>-->
  162. <!-- <el-table-column label="发票号" prop="invoiceNo"/>-->
  163. <!-- <el-table-column label="发票金额" prop="invoiceAmount"/>-->
  164. <!-- <el-table-column label="申请人" prop="applyByName"/>-->
  165. <!-- <el-table-column label="申请日期" prop="applyTime"/>-->
  166. <!-- </el-table>-->
  167. <!-- </el-col>-->
  168. <!-- </el-row>-->
  169. <!-- </el-card>-->
  170. <!-- </el-col>-->
  171. <!-- </el-row>-->
  172. </el-card>
  173. <el-card style="padding:0px 20px;margin-bottom: 25px">
  174. <h3 style="margin-top: 8px;"><span style="color: red">*</span>支付信息</h3>
  175. <el-row :gutter="15">
  176. <el-col :span="12">
  177. <el-form-item
  178. label="项目累计已回款金额(元)"
  179. >
  180. <div style="line-height: 40px;height: 40px">{{ formData.totalReturnMoney }}</div>
  181. <!-- <el-input-->
  182. <!-- v-model="formData.totalReturnMoney"-->
  183. <!-- :style="{width: '100%'}"-->
  184. <!-- clearable-->
  185. <!-- placeholder="请输入项目累计已回款金额(元)"-->
  186. <!-- readonly-->
  187. <!-- />-->
  188. </el-form-item>
  189. </el-col>
  190. <el-col :span="12">
  191. <el-form-item label="订单累计已支付金额(元)" prop="totalPayMoney">
  192. <div style="line-height: 40px;height: 40px">{{ formData.totalPayMoney }}</div>
  193. <!-- <el-input-->
  194. <!-- v-model="formData.totalPayMoney"-->
  195. <!-- :style="{width: '100%'}"-->
  196. <!-- clearable-->
  197. <!-- placeholder="请输入订单累计已支付金额(元)"-->
  198. <!-- readonly-->
  199. <!-- />-->
  200. </el-form-item>
  201. </el-col>
  202. <el-col :span="12">
  203. <el-form-item label="付款名称" prop="payName">
  204. <el-input
  205. v-model="formData.payName"
  206. :style="{width: '100%'}"
  207. clearable
  208. placeholder="请输入付款名称"
  209. readonly
  210. />
  211. </el-form-item>
  212. </el-col>
  213. <el-col :span="12">
  214. <el-form-item label="付款金额" prop="payMoney">
  215. <el-input
  216. v-model="formData.payMoney"
  217. :style="{width: '100%'}"
  218. clearable
  219. placeholder="请输入付款金额"
  220. readonly
  221. />
  222. </el-form-item>
  223. </el-col>
  224. <!-- <el-col :span="24">-->
  225. <!-- <el-form-item label="费用成本归属" prop="costsType">-->
  226. <!-- <el-select-->
  227. <!-- v-model="formData.costsType"-->
  228. <!-- clearable-->
  229. <!-- disabled-->
  230. <!-- filterable-->
  231. <!-- placeholder="请选择"-->
  232. <!-- >-->
  233. <!-- <el-option-->
  234. <!-- v-for="item in dc_data.BUDGET_CB"-->
  235. <!-- :key="item.value"-->
  236. <!-- :label="item.label"-->
  237. <!-- :value="item.value"-->
  238. <!-- />-->
  239. <!-- </el-select>-->
  240. <!-- </el-form-item>-->
  241. <!-- </el-col>-->
  242. </el-row>
  243. </el-card>
  244. <el-card style="padding:0px 20px;margin-bottom: 25px">
  245. <h3 style="margin-top: 8px;">
  246. <span style="color: red">*</span>
  247. 发票信息
  248. </h3>
  249. <el-row :gutter="15">
  250. <el-col :span="12">
  251. <el-form-item label="发票类型" label-width="160px" prop="billType">
  252. <el-radio-group v-model="formData.billType" disabled size="mini">
  253. <el-radio
  254. v-for="(item, index) in billTypeOptions"
  255. :key="index"
  256. :disabled="item.disabled"
  257. :label="item.value"
  258. >
  259. {{ item.label }}
  260. </el-radio>
  261. </el-radio-group>
  262. </el-form-item>
  263. </el-col>
  264. <el-col :span="12">
  265. <el-form-item label="开票金额" label-width="160px" prop="billMoney">
  266. <el-input
  267. v-model="formData.billMoney"
  268. :style="{width: '100%'}"
  269. clearable
  270. placeholder="请输入开票金额"
  271. readonly
  272. />
  273. </el-form-item>
  274. </el-col>
  275. <el-col :span="12">
  276. <el-form-item label="发票号" label-width="160px" prop="billNumber">
  277. <el-input
  278. v-model="formData.billNumber"
  279. :style="{width: '100%'}"
  280. clearable
  281. placeholder="请输入发票号"
  282. readonly
  283. />
  284. </el-form-item>
  285. </el-col>
  286. <el-col :span="12">
  287. <el-form-item label="税率(%)" label-width="160px" prop="billRate">
  288. <el-input
  289. v-model="formData.billRate"
  290. :style="{width: '100%'}"
  291. clearable
  292. placeholder="请输入税率"
  293. readonly
  294. />
  295. </el-form-item>
  296. </el-col>
  297. <el-col :span="24">
  298. <el-form-item label="上传" label-width="160px" prop="fileDataIds">
  299. <el-upload
  300. :action="$constant.BASE_URI+'/FileController/upload'"
  301. :file-list="formData.fileUrlList"
  302. class="upload-demo"
  303. disabled
  304. multiple
  305. show-file-list
  306. >
  307. <el-button size="small" type="primary">点击上传</el-button>
  308. <div slot="file" slot-scope="{file}">
  309. <a :href="file.url">{{ file.name }}</a>
  310. <span class="el-upload-list__item-actions">
  311. </span>
  312. </div>
  313. </el-upload>
  314. </el-form-item>
  315. </el-col>
  316. </el-row>
  317. </el-card>
  318. <el-row :gutter="15">
  319. <el-col :span="24">
  320. <el-form-item label="抄送" label-width="160px" prop="field119"
  321. style="padding-left: 35px;padding-right: 41px"
  322. >
  323. <user-select
  324. ref="defaultSelect"
  325. :default-select="selectList"
  326. :multiple="true"
  327. disab
  328. style="padding-left: 0"
  329. width="700"
  330. />
  331. </el-form-item>
  332. </el-col>
  333. <el-col :span="12">
  334. <el-form-item
  335. label="发起人" label-width="160px" prop="field119"
  336. style="padding-left: 38px;"
  337. >
  338. <el-input v-model="formData.createdByString"></el-input>
  339. </el-form-item>
  340. </el-col>
  341. <el-col :span="12">
  342. <el-form-item
  343. label="发起时间"
  344. label-width="160px"
  345. prop="field119"
  346. style="padding-left: 35px;padding-right: 41px"
  347. >
  348. <el-input v-model="formData.createdAt"></el-input>
  349. </el-form-item>
  350. </el-col>
  351. </el-row>
  352. </el-form>
  353. </el-card>
  354. <el-card v-if="zhidanStatus" style="margin-bottom: 10px;">
  355. <h3 style="margin:0">制单 </h3>
  356. <el-form
  357. ref="confirmForm"
  358. :model="confirmForm"
  359. class="cost_form"
  360. label-width="100px"
  361. style="width: 100%;padding: 5px"
  362. >
  363. <el-row :gutter="10">
  364. <el-col :span="12">
  365. <el-form-item label="支付方式" style="margin-bottom: 15px">
  366. <el-select :disabled="zffhStatus" v-model="confirmForm.payType">
  367. <el-option
  368. v-for="item in dc_data.PAY_TYPE"
  369. :key="item.value"
  370. :label="item.label"
  371. :value="item.value"
  372. />
  373. </el-select>
  374. </el-form-item>
  375. </el-col>
  376. <el-col :span="12">
  377. <el-form-item disabled label="支付账户" style="margin-bottom: 15px">
  378. <el-select :disabled="zffhStatus" v-model="confirmForm.accountType">
  379. <el-option
  380. v-for="item in dc_data.ACCOUNT"
  381. :key="item.value"
  382. :label="item.label"
  383. :value="item.value"
  384. />
  385. </el-select>
  386. </el-form-item>
  387. </el-col>
  388. <el-col :span="12">
  389. <el-form-item label="制单日期" style="margin-bottom: 0">
  390. <el-date-picker
  391. :readonly="zffhStatus"
  392. v-model="confirmForm.makeDate"
  393. placeholder="请填写制单日期"
  394. style="width: 100%"
  395. type="date"
  396. value-format="yyyy-MM-dd"
  397. />
  398. </el-form-item>
  399. </el-col>
  400. <el-col :span="12">
  401. <el-form-item label="制单号" style="margin-bottom: 0">
  402. <el-input :readonly="zffhStatus" v-model="confirmForm.makeNum"></el-input>
  403. </el-form-item>
  404. </el-col>
  405. </el-row>
  406. </el-form>
  407. </el-card>
  408. <el-card v-if="zffhStatus" style="margin-top: 10px;">
  409. <h3 style="margin:0">支付复核 </h3>
  410. <el-form
  411. ref="confirmForm"
  412. :model="confirmForm"
  413. class="cost_form"
  414. label-width="100px"
  415. style="width: 100%;padding: 5px"
  416. >
  417. <el-row :gutter="10">
  418. <el-col :span="24">
  419. <el-form-item label="实际支付日期" style="margin-bottom: 15px">
  420. <el-date-picker
  421. v-model="confirmForm.payTime"
  422. placeholder="处理日期"
  423. style="width: 100%"
  424. type="date"
  425. value-format="yyyy-MM-dd"
  426. />
  427. </el-form-item>
  428. </el-col>
  429. <el-col :span="24">
  430. <el-form-item label="备注" style="margin-bottom: 0">
  431. <el-input v-model="confirmForm.payRemark" style="margin-top:10px" type="textarea"/>
  432. </el-form-item>
  433. </el-col>
  434. </el-row>
  435. </el-form>
  436. </el-card>
  437. <h3>流程历史</h3>
  438. <el-card>
  439. <div class="tableDom">
  440. <el-table
  441. :data="tableData"
  442. :header-cell-style="{
  443. background:'#1890FF !important',
  444. color:'white'
  445. }"
  446. border
  447. style="width: 100%"
  448. >
  449. <el-table-column fixed label="序号" type="index" width="60"/>
  450. <el-table-column
  451. label="节点名称"
  452. prop="nodeName"
  453. width="180"
  454. />
  455. <el-table-column
  456. label="处理人"
  457. prop="auditUserName"
  458. width="180"
  459. />
  460. <el-table-column
  461. label="审核结果"
  462. prop="auditResultString"
  463. />
  464. <el-table-column
  465. label="审核意见"
  466. prop="auditContent"
  467. />
  468. <el-table-column
  469. label="发起/审核时间"
  470. prop="createdAt"
  471. >
  472. <template slot-scope="scope">
  473. {{ $common.transTime(scope.row.createdAt) }}
  474. </template>
  475. </el-table-column>
  476. </el-table>
  477. </div>
  478. </el-card>
  479. <h3>处理</h3>
  480. <el-card shadow="always" style="padding: 0px 5px 5px 15px">
  481. <el-form
  482. ref="confirmForm"
  483. :model="confirmForm"
  484. class="cost_form"
  485. label-width="100px"
  486. style="width: 100%;padding: 5px"
  487. >
  488. <el-row :gutter="10">
  489. <el-col :span="24">
  490. <el-form-item label="处理结果" style="margin-bottom: 15px">
  491. <el-radio-group v-model="confirmForm.confirmResult">
  492. <el-radio :label="1">同意</el-radio>
  493. <el-radio v-if="argeeNoStatus" :label="2">退回发起人</el-radio>
  494. <el-radio v-if="argeeBackStatus" :label="3">退回上节点</el-radio>
  495. <!-- <el-radio :label="4">结束流程</el-radio>-->
  496. </el-radio-group>
  497. </el-form-item>
  498. </el-col>
  499. <el-col :span="24">
  500. <el-form-item label="处理意见">
  501. <el-input
  502. v-model="confirmForm.confirmContent"
  503. style="margin-top:10px"
  504. type="textarea"
  505. />
  506. <el-dropdown size="mini" split-button trigger="hover" type="primary">
  507. 常用语选择
  508. <el-dropdown-menu slot="dropdown">
  509. <el-dropdown-item
  510. v-for="item in dc_data.COMMON_PHRASES"
  511. @click.native="selectCommonPhrases(item.label)"
  512. >
  513. {{ item.label }}
  514. </el-dropdown-item>
  515. </el-dropdown-menu>
  516. </el-dropdown>
  517. </el-form-item>
  518. </el-col>
  519. <el-col :span="24">
  520. <el-form-item label="审核人抄送">
  521. <user-select
  522. :default-select="confirmList"
  523. :multiple="true"
  524. class="cclist"
  525. @selectValue="parentMethod"
  526. />
  527. </el-form-item>
  528. </el-col>
  529. </el-row>
  530. </el-form>
  531. </el-card>
  532. </el-tab-pane>
  533. <el-tab-pane label="流程图" name="second">
  534. <pay-canvas ref="PayCanvas"/>
  535. </el-tab-pane>
  536. </el-tabs>
  537. </div>
  538. <div slot="footer">
  539. <el-button @click="dialogVisible = false">取 消</el-button>
  540. <el-button type="primary" @click="confirmSubmit()">确 定</el-button>
  541. </div>
  542. </el-dialog>
  543. </template>
  544. <script>
  545. import Base from '@/views/base/base'
  546. import BaseData from '@/views/base/baseData'
  547. import UserSelect from '@/views/components/UserSelect'
  548. import payCanvas from '@/views/workflow/components/myProcess/payCanvas.vue'
  549. export default {
  550. name: 'applyPay',
  551. components: {
  552. payCanvas,
  553. UserSelect
  554. },
  555. mixins: [Base, BaseData],
  556. data() {
  557. return {
  558. row: {},
  559. zffhStatus: false,
  560. zhidanStatus: false,
  561. canVasStatus: false,
  562. tableData: [],
  563. fileError: false,
  564. bizByList: [],
  565. selectList: [],
  566. CcconfirmList: [],
  567. detailsForm: {},
  568. buttonLoading: false,
  569. confirmForm: {
  570. makeDate:'',
  571. payType:null,
  572. makeNum:'',
  573. confirmContent: '',
  574. accountType:'',
  575. confirmResult: 1
  576. },
  577. confirmList: [],
  578. // 查询的时候用的字典========================================
  579. dc_key: ['PAY_TYPE', 'BUDGET_CB', 'RECEIPT_TYPE', 'COMMON_PHRASES','ACCOUNT'],
  580. fileDataIdsAction: 'https://jsonplaceholder.typicode.com/posts/',
  581. formData: {},
  582. billTypeOptions: [
  583. { 'label': '增票', 'value': 1 },
  584. { 'label': '普票', 'value': 2 },
  585. { 'label': '发票候补', 'value': 3 }
  586. ],
  587. argeeBackStatus: false,
  588. argeeNoStatus: false,
  589. onlineForm: {},
  590. dialogTitle: '付款申请-审核',
  591. dialogVisible: false,
  592. form: {},
  593. activeName: 'first',
  594. OutOrderList: [],
  595. payDetailData: [],
  596. rules: {
  597. fileDataIds: [{ required: false, message: '请上传发票文件', trigger: 'change' }],
  598. totalPayMoney: [{ required: true, message: '请输入订单累计已支付金额', trigger: 'change' }],
  599. payName: [{ required: true, message: '请输入付款名称', trigger: 'change' }],
  600. payMoney: [{ required: true, message: '请输入付款金额', trigger: 'change' }],
  601. costsType: [{ required: true, message: '请选择', trigger: 'change' }]
  602. }
  603. }
  604. },
  605. mounted() {
  606. const _this = this
  607. _this.initDict(_this.dc_key).then((res) => {
  608. _this.getOutOrderList()
  609. _this.getBizeUserList()
  610. })
  611. // /webServer/BugLibraryController/listBizUserAll
  612. },
  613. methods: {
  614. handleClick(tab, event) {
  615. if (this.activeName == 'second') this.$refs.PayCanvas.createNodeCanvas(this.row)
  616. },
  617. selectCommonPhrases(e) {
  618. if (!this.confirmForm.confirmContent) this.confirmForm.confirmContent = ''
  619. this.confirmForm.confirmContent += e
  620. },
  621. closeDianlog() {
  622. this.dialogVisible = false
  623. this.formData = {}
  624. },
  625. downloadFaPiao(url) {
  626. window.open(url)
  627. },
  628. parentMethod(val) {
  629. if (val.length > 0) {
  630. this.confirmForm.ccList = val.join(',')
  631. }
  632. },
  633. async getBizeUserList() {
  634. const { data } = await this.baseRequest1('BugLibraryController', 'listBizUserAll', {})
  635. this.bizByList = data
  636. },
  637. async selectOutOrderDetails(e) {
  638. const postData = { id: e }
  639. const { data } = await this.baseRequest1('OutOrderMainController', 'getVoById', postData)
  640. this.formData = data
  641. this.formData.projectName = this.formData.proName
  642. this.formData.customerName = this.formData.custName
  643. // this.formData.supplierName = this.formData.bizName
  644. this.formData.dealAt = this.$common.transServDate(data.dealAt)
  645. this.formData.outTimeline = this.$common.transServDate(data.outTimeline)
  646. this.formData.orderNo = data.supplierName + '-' + data.orderNo
  647. },
  648. // /webServer/OutOrderMainController/list
  649. async getOutOrderList() {
  650. // 获取采购订单号下拉数据
  651. const postData = {
  652. shouldAmount: 0
  653. }
  654. const { data } = await this.baseRequest1('OutOrderMainController', 'listAllVo', postData)
  655. this.OutOrderList = data
  656. },
  657. baseRequest1(prefix, opUrl, postData) {
  658. return this.$channel.globleRequest(prefix, opUrl, postData, 'project task')
  659. },
  660. async confirmSubmit() {
  661. const { data } = await this.baseRequest1('ApplyPaymentController', 'AddConfirmResultApplyPayment', { ...this.confirmForm })
  662. if (data.code == 200) {
  663. this.$message.success('处理成功')
  664. this.form = {}
  665. this.confirmForm = {
  666. makeDate:'',
  667. payType:null,
  668. makeNum:'',
  669. confirmContent: '',
  670. accountType: '',
  671. confirmResult: 1
  672. },
  673. this.dialogVisible = false
  674. this.$emit('getData')
  675. }
  676. },
  677. async setVisible(status, row) {
  678. // this.confirmForm = {
  679. // confirmContent: ''
  680. // }
  681. if (this.$refs.elformData) {
  682. this.$refs.elformData.clearValidate()
  683. }
  684. this.confirmForm.flowMainPushId = row.flowMainPushId
  685. const { data } = await this.baseRequest1('ApplyPaymentController', 'getInfoByFlowMainId', { flowMainId: row.id })
  686. this.zffhStatus = data.pushUserKey.indexOf('flow_zffh') != -1 ? true : false
  687. this.zhidanStatus = data.pushUserKey.indexOf('flow_cnzf') != -1 ? true : false|| this.zffhStatus
  688. const { data: formData } = await this.baseRequest1('OutOrderMainController', 'getVoById', { id: data.orderId })
  689. const { data: flowHistroy } = await this.baseRequest1('FlowMainController', 'getFlowHistroyByFlowMainId', { flowMainId: row.id })
  690. const noAndbackstatus = await this.baseRequest1('FlowMainController', 'getOutgoingFlowsByFlowMainPushId', { flowMainPushId: row.flowMainPushId })
  691. for (let i = 0; i < noAndbackstatus.data.length; i++) {
  692. if (noAndbackstatus.data[i].conditionExpression == '${agree==\'no\'}') this.argeeNoStatus = true
  693. if (noAndbackstatus.data[i].conditionExpression == '${agree==\'back\'}') this.argeeBackStatus = true
  694. }
  695. this.selectList = data.flowMainCcList.map((e) => {
  696. return e.ccUser
  697. })
  698. let confirmForm= {...data}
  699. this.tableData = flowHistroy
  700. this.formData = { ...data, ...formData }
  701. this.confirmForm.makeNum = this.formData.makeNum? this.formData.makeNum:null
  702. this.confirmForm.makeDate = this.formData.makeDate?this.$common.transDate(this.formData.makeDate):''
  703. this.confirmForm.payType = confirmForm.payType?confirmForm.payType:null
  704. this.confirmForm.accountType =this.formData.accountType? this.formData.accountType:null
  705. this.formData.projectName = formData.proName
  706. this.formData.createdAt = this.$common.transDate(data.createdAt)
  707. this.formData.dealAt = this.$common.transServDate(this.formData.dealAt)
  708. this.formData.outTimeline = this.$common.transServDate(this.formData.outTimeline)
  709. this.formData.createdByString = data.createdByString
  710. if (data.fileDataIds) {
  711. let fileList = data.fileDataIds.split(',')
  712. this.formData.fileUrlList = fileList.map((e) => {
  713. if (e.length > 0) {
  714. return {
  715. url: e.length > 0 ? this.$constant.BASE_URI + '/FileController/download/' + e : [],
  716. name: e.length > 0 ? this.$constant.BASE_URI + '/FileController/download/' + e : [],
  717. data: e,
  718. uid: new Date().getTime()
  719. }
  720. }
  721. })
  722. }
  723. this.row = row
  724. this.dialogVisible = status
  725. },
  726. basePayDetailRequest(opUrl, postData) {
  727. return this.$channel.globleRequest('OutOrderPayController', opUrl, postData, 'project')
  728. }
  729. }
  730. }
  731. </script>
  732. <style lang="scss">
  733. .changyongyu {
  734. height: 16px;
  735. color: #2e88f4;
  736. float: left;
  737. margin-left: 10px;
  738. cursor: pointer;
  739. }
  740. .mb25 {
  741. margin-bottom: 25px;
  742. }
  743. .pdtopbottom16 {
  744. padding: 0px 16px;
  745. }
  746. .pdtop16px {
  747. padding-top: 16px;
  748. }
  749. .elformdom {
  750. label {
  751. text-align: right;
  752. font-size: 16px;
  753. font-family: 微软雅黑;
  754. padding-right: 10px;
  755. line-height: 40px;
  756. word-break: keep-all;
  757. white-space: nowrap;
  758. -webkit-font-smoothing: antialiased;
  759. color: #303133;
  760. text-rendering: optimizeLegibility;
  761. font-weight: 400;
  762. }
  763. .el-radio {
  764. height: 15px;
  765. margin-top: -19px;
  766. }
  767. }
  768. .payform {
  769. .el-form-item__label {
  770. text-align: right;
  771. font-size: 16px;
  772. font-family: 微软雅黑;
  773. padding-right: 10px;
  774. line-height: 40px;
  775. word-break: keep-all;
  776. white-space: nowrap;
  777. font-weight: 400;
  778. }
  779. }
  780. .tabsdom {
  781. .el-tabs__header {
  782. text-align: center !important;
  783. width: 139px !important;
  784. text-align: center !important;
  785. display: block !important;
  786. margin: auto !important;
  787. margin-bottom: 15px !important;
  788. }
  789. .el-tabs__nav-wrap::after {
  790. display: none;
  791. }
  792. }
  793. .cost_form {
  794. .col-input {
  795. font-weight: 400;
  796. }
  797. .el-form-item__label {
  798. text-align: right;
  799. font-size: 16px;
  800. font-family: 微软雅黑;
  801. padding-right: 10px;
  802. line-height: 40px;
  803. word-break: keep-all;
  804. white-space: nowrap;
  805. color: #606266;
  806. text-rendering: optimizeLegibility;
  807. font-weight: 400;
  808. }
  809. .el-form-item__label .moneydetails {
  810. text-align: right;
  811. font-size: 16px;
  812. font-family: 微软雅黑;
  813. padding-right: 10px;
  814. line-height: 40px;
  815. word-break: keep-all;
  816. white-space: nowrap;
  817. color: #606266;
  818. text-rendering: optimizeLegibility;
  819. font-weight: 400;
  820. }
  821. }
  822. </style>