detailDialog.vue 8.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259
  1. <template>
  2. <ele-modal
  3. custom-class="ele-dialog-form long-dialog-form"
  4. :centered="true"
  5. :visible.sync="detailDialogFlag"
  6. :title="title"
  7. :close-on-click-modal="false"
  8. width="60%"
  9. :maxable="true"
  10. :resizable="true"
  11. @close="cancel"
  12. >
  13. <div class="switch_left">
  14. <ul>
  15. <li
  16. v-for="item in tabOptions"
  17. :key="item.key"
  18. :class="{ active: activeComp == item.key }"
  19. @click="activeComp = item.key"
  20. >
  21. {{ item.name }}
  22. </li>
  23. </ul>
  24. </div>
  25. <div v-if="activeComp === 'main'">
  26. <el-form ref="form" class="el-form-box" :model="form" label-width="100px">
  27. <headerTitle title="基本信息"></headerTitle>
  28. <el-row >
  29. <el-col :span="8">
  30. <el-form-item
  31. label="单据类型"
  32. prop="documentType">
  33. <dict-selection dict-name="单据类型" v-model="form.documentType" disabled
  34. ></dict-selection>
  35. </el-form-item>
  36. </el-col>
  37. <el-col :span="8">
  38. <el-form-item
  39. label="申请部门"
  40. prop="applyDeptId"
  41. >
  42. <el-input v-model="form.applyDeptName" disabled></el-input>
  43. </el-form-item>
  44. </el-col>
  45. <el-col :span="8">
  46. <el-form-item
  47. label="申请人"
  48. prop="applyUserId"
  49. >
  50. <el-input v-model="form.applyUserName" disabled></el-input>
  51. </el-form-item>
  52. </el-col>
  53. </el-row>
  54. <el-row>
  55. <el-col :span="8">
  56. <el-form-item
  57. label="收款名称"
  58. >
  59. <el-input v-model="form.collectionName" clearable disabled></el-input>
  60. </el-form-item>
  61. </el-col>
  62. <el-col :span="8">
  63. <el-form-item
  64. label="开户行"
  65. >
  66. <el-input v-model="form.bankAccount" disabled></el-input>
  67. </el-form-item>
  68. </el-col>
  69. <el-col :span="8">
  70. <el-form-item
  71. label="账户"
  72. >
  73. <el-input v-model="form.bankName" disabled></el-input>
  74. </el-form-item>
  75. </el-col>
  76. <!-- <el-col :span="8">-->
  77. <!-- <el-form-item-->
  78. <!-- label="费用类型"-->
  79. <!-- prop="feeTypeId"-->
  80. <!-- -->
  81. <!-- >-->
  82. <!-- <ele-tree-select-->
  83. <!-- clearable-->
  84. <!-- filterable-->
  85. <!-- ref="feeTypeTree"-->
  86. <!-- :data="feeTypeList"-->
  87. <!-- v-model="form.feeTypeId"-->
  88. <!-- valueKey="id"-->
  89. <!-- labelKey="name"-->
  90. <!-- placeholder="请选择"-->
  91. <!-- @change="changeFeeTypeInfo"-->
  92. <!-- default-expand-all-->
  93. <!-- />-->
  94. <!-- </el-form-item>-->
  95. <!-- </el-col>-->
  96. <!-- <el-col :span="8">-->
  97. <!-- <el-form-item-->
  98. <!-- label="金额"-->
  99. <!-- prop="amount"-->
  100. <!-- >-->
  101. <!-- <el-input-number v-model="form.amount" :precision="2" :controls="false" style="width: 100%"-->
  102. <!-- :min="0"></el-input-number>-->
  103. <!-- </el-form-item>-->
  104. <!-- </el-col>-->
  105. </el-row>
  106. <!-- <el-col :span="12">-->
  107. <!-- <el-form-item-->
  108. <!-- label="会计科目"-->
  109. <!-- prop="accountingSubjectId"-->
  110. <!-- -->
  111. <!-- >-->
  112. <!-- <ele-tree-select-->
  113. <!-- clearable-->
  114. <!-- filterable-->
  115. <!-- ref="treeSelect"-->
  116. <!-- :data="accountingSubjectList"-->
  117. <!-- v-model="form.accountingSubjectId"-->
  118. <!-- valueKey="id"-->
  119. <!-- labelKey="name"-->
  120. <!-- placeholder="请选择"-->
  121. <!-- @change="changeSubjectInfo"-->
  122. <!-- default-expand-all-->
  123. <!-- />-->
  124. <!-- </el-form-item>-->
  125. <!-- </el-col>-->
  126. <el-row>
  127. <el-col :span="8">
  128. <el-row style="display: flex;flex-direction: column">
  129. <el-col :span="24">
  130. <el-form-item
  131. label="金额"
  132. >
  133. <el-input v-model="form.amount" disabled></el-input>
  134. </el-form-item>
  135. </el-col>
  136. <el-col :span="24">
  137. <el-form-item prop="repliedFiles" label="附件">
  138. <fileMain v-model="form.repliedFiles"></fileMain>
  139. <!-- <el-link-->
  140. <!-- v-if="form.files.length"-->
  141. <!-- v-for="item in form.files"-->
  142. <!-- type="primary"-->
  143. <!-- :underline="false"-->
  144. <!-- @click="downloadFile(item)">-->
  145. <!-- {{ item.name }}-->
  146. <!-- </el-link>-->
  147. </el-form-item>
  148. </el-col>
  149. <!-- <el-col :span="24">-->
  150. <!-- <el-form-item-->
  151. <!-- label="会计科目:">-->
  152. <!-- <el-input v-model="form.accountingSubjectName" disabled></el-input>-->
  153. <!-- </el-form-item>-->
  154. <!-- </el-col>-->
  155. </el-row>
  156. </el-col>
  157. <el-col :span="16">
  158. <el-form-item
  159. label="备注"
  160. >
  161. <el-input :rows="3" v-model="form.remark" type="textarea" disabled></el-input>
  162. </el-form-item>
  163. </el-col>
  164. </el-row>
  165. <el-row>
  166. </el-row>
  167. </el-form>
  168. <headerTitle title="关联信息"></headerTitle>
  169. <fee-related-info-table ref="feeRelatedInfoTable" :dialogType="dialogType" v-if="form.link.length" :link.sync="form.link"></fee-related-info-table>
  170. </div>
  171. <bpmDetail v-if="activeComp === 'bpm' && form.processInstanceId" :id="form.processInstanceId"></bpmDetail>
  172. <div slot="footer" class="footer">
  173. <el-button @click="cancel">返回</el-button>
  174. </div>
  175. </ele-modal>
  176. </template>
  177. <script>
  178. import {getFile} from '@/api/system/file';
  179. import dictMixins from '@/mixins/dictMixins';
  180. import bpmDetail from '@/views/bpm/processInstance/detail.vue';
  181. import fileUpload from "@/components/upload/fileUpload.vue";
  182. import {getFeeApplyInfoAPI} from "@/api/financialManage/fee-manage/fee-application";
  183. import feeRelatedInfoTable from "@/views/financialManage/components/feeRelatedInfoTable.vue";
  184. import personSelect from "@/components/CommomSelect/person-select.vue";
  185. // import fileMain from "@/components/addDoc/index.vue";
  186. export default {
  187. mixins: [dictMixins],
  188. props: ['detailDialogFlag'],
  189. components: {
  190. // fileMain,
  191. personSelect,
  192. feeRelatedInfoTable,
  193. fileUpload,
  194. bpmDetail
  195. },
  196. data() {
  197. return {
  198. fullscreen:false,
  199. activeComp: 'main',
  200. tabOptions: [
  201. {key: 'main', name: '申请详情'},
  202. {key: 'bpm', name: '流程详情'}
  203. ],
  204. title: '详情',
  205. dialogType: '',
  206. form: {},
  207. };
  208. },
  209. methods: {
  210. //初始化
  211. async init(row = {}, type) {
  212. this.title = '详情'
  213. this.dialogType = type
  214. await this.getFeeApplyInfoInfo(row.id)
  215. },
  216. //获取详情
  217. async getFeeApplyInfoInfo(id) {
  218. this.form = await getFeeApplyInfoAPI(id)
  219. this.form.documentType = this.form.documentType+''
  220. },
  221. downloadFile(file) {
  222. getFile({objectName: file.storePath}, file.name);
  223. },
  224. cancel() {
  225. this.$emit('update:detailDialogFlag', false)
  226. }
  227. }
  228. };
  229. </script>
  230. <style scoped lang="scss">
  231. .ele-dialog-form {
  232. .el-form-item {
  233. margin-bottom: 10px;
  234. }
  235. }
  236. .headbox {
  237. display: flex;
  238. justify-content: flex-start;
  239. align-items: center;
  240. .amount {
  241. font-size: 14px;
  242. font-weight: bold;
  243. margin-right: 20px;
  244. }
  245. }
  246. </style>