receivable_list-approval.vue 8.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236
  1. <template>
  2. <div>
  3. <div class="sty">
  4. <el-page-header @back="goBack"> </el-page-header>
  5. </div>
  6. <br />
  7. <span>基本信息</span>
  8. <el-divider></el-divider>
  9. <!-- 表头 -->
  10. <div>
  11. <el-form ref="searchForm" :model="searchForm" label-width="100px" size="small" label-position="left">
  12. <el-row :gutter="20">
  13. <el-col :xs="24" :sm="12" :lg="6">
  14. <el-form-item label="单据类型" prop="">
  15. <el-input disabled v-model="searchForm.billType" placeholder=""></el-input>
  16. </el-form-item>
  17. </el-col>
  18. <el-col :xs="24" :sm="12" :lg="6">
  19. <el-form-item label="单据编号" prop="">
  20. <el-input disabled v-model="searchForm.code" placeholder=""></el-input>
  21. </el-form-item>
  22. </el-col>
  23. <el-col :xs="24" :sm="12" :lg="6">
  24. <el-form-item label="单据来源" prop="">
  25. <el-input disabled v-model="searchForm.source" placeholder=""></el-input>
  26. </el-form-item>
  27. </el-col>
  28. <el-col :xs="24" :sm="12" :lg="6">
  29. <el-form-item label="业务日期" prop="">
  30. <el-input disabled v-model="searchForm.theTime" placeholder=""></el-input>
  31. </el-form-item>
  32. </el-col>
  33. <el-col :xs="24" :sm="12" :lg="6">
  34. <el-form-item label="到期日" prop="">
  35. <el-input disabled v-model="searchForm.endTime" placeholder=""></el-input>
  36. </el-form-item>
  37. </el-col>
  38. <el-col :xs="24" :sm="12" :lg="6">
  39. <el-form-item label="总金额" prop="">
  40. <el-input disabled v-model="searchForm.totalAmount" placeholder=""></el-input>
  41. </el-form-item>
  42. </el-col>
  43. <el-col :xs="24" :sm="12" :lg="6">
  44. <el-form-item label="制单人" prop="">
  45. <el-input disabled v-model="searchForm.createBy" placeholder=""></el-input>
  46. </el-form-item>
  47. </el-col>
  48. <el-col :xs="24" :sm="12" :lg="6">
  49. <el-form-item label="制单日期" prop="">
  50. <el-input disabled v-model="searchForm.createTime" placeholder=""></el-input>
  51. </el-form-item>
  52. </el-col>
  53. <el-col :xs="24" :sm="12" :lg="6">
  54. <el-form-item label="单据状态" prop="">
  55. <el-input disabled v-model="searchForm.examineStatus" placeholder=""></el-input>
  56. </el-form-item>
  57. </el-col>
  58. <el-col :xs="24" :sm="12" :lg="6">
  59. <el-form-item label="备注" prop="">
  60. <el-input disabled v-model="searchForm.remark" placeholder=""></el-input>
  61. </el-form-item>
  62. </el-col>
  63. </el-row>
  64. </el-form>
  65. </div>
  66. <span>明细</span>
  67. <el-divider></el-divider>
  68. <!-- 列表 -->
  69. <div class="mymain-container">
  70. <div class="table">
  71. <el-table v-loading="listLoading" :data="dataList" element-loading-text="Loading" border fit highlight-current-row stripe>
  72. <el-table-column label="序号" align="left" type="index" width="100" show-overflow-tooltip></el-table-column>
  73. <el-table-column align="left" label="经销商编号" prop="customerNumber" min-width="160" show-overflow-tooltip>
  74. <template slot-scope="scope">
  75. <CopyButton :copyText="scope.row.customerNumber" />
  76. <span>{{scope.row.customerNumber}}</span>
  77. </template>
  78. </el-table-column>
  79. <el-table-column align="left" label="经销商名称" prop="customerName" min-width="260" show-overflow-tooltip>
  80. <template slot-scope="scope">
  81. <CopyButton :copyText="scope.row.customerName" />
  82. <span>{{scope.row.customerName}}</span>
  83. </template>
  84. </el-table-column>
  85. <el-table-column align="left" label="*费用项目编码" prop="projectCode" min-width="160" show-overflow-tooltip></el-table-column>
  86. <el-table-column align="left" label="项目费用名称" prop="projectName" min-width="160" show-overflow-tooltip></el-table-column>
  87. <el-table-column align="left" label="*费用承担部门" prop="departmentId" min-width="160" show-overflow-tooltip></el-table-column>
  88. <el-table-column align="left" label="*收入部门" prop="incomeDept" min-width="160" show-overflow-tooltip></el-table-column>
  89. <el-table-column align="left" label="现金钱包" prop="customerWalletName" min-width="160" show-overflow-tooltip></el-table-column>
  90. <el-table-column align="left" label="*发票类型" prop="invoiceType" min-width="160" show-overflow-tooltip>
  91. <template slot-scope="scope">
  92. <el-select disabled filterable v-model="scope.row.invoiceType" placeholder="请选择">
  93. <el-option label="普通发票" value=""> </el-option>
  94. <el-option label="增值税发票" value="1"> </el-option>
  95. <el-option label="机票" value="P"> </el-option>
  96. <el-option label="火车票" value="R"> </el-option>
  97. <el-option label="其他运输票" value="O"> </el-option>
  98. <el-option label="其他" value="E"> </el-option>
  99. </el-select>
  100. </template>
  101. </el-table-column>
  102. <!-- <el-table-column
  103. align="left"
  104. label="不含税金额"
  105. prop="afterTaxAmount"
  106. min-width="160"
  107. show-overflow-tooltip
  108. ></el-table-column>
  109. <el-table-column
  110. align="left"
  111. label="税额"
  112. prop="tax"
  113. min-width="160"
  114. show-overflow-tooltip
  115. ></el-table-column> -->
  116. <el-table-column align="right" label="总金额" prop="totalAmount" min-width="160" show-overflow-tooltip></el-table-column>
  117. <el-table-column align="left" label="备注" prop="remark" min-width="160" show-overflow-tooltip></el-table-column>
  118. </el-table>
  119. </div>
  120. </div>
  121. <span>审批信息</span>
  122. <el-divider></el-divider>
  123. <div class="diy-table-1">
  124. <el-row :gutter="0">
  125. <el-col :span="12" class="item">
  126. <div class="label">审批人</div>
  127. <div class="value">{{ this.name }}</div>
  128. </el-col>
  129. <el-col :span="12" class="item">
  130. <div class="label">审批结果</div>
  131. <div class="value">
  132. <div class="value">
  133. <el-radio v-model="examineStatus" label="OK">通过</el-radio>
  134. <el-radio v-model="examineStatus" label="FAIL">驳回</el-radio>
  135. </div>
  136. </div>
  137. </el-col>
  138. <el-col :span="24" class="item">
  139. <div class="label">审批说明</div>
  140. <div class="value">
  141. <el-input v-model="examineRemark" placeholder="请输入内容"></el-input>
  142. </div>
  143. </el-col>
  144. </el-row>
  145. </div>
  146. <br />
  147. <!-- 按钮 -->
  148. <div class="btn-group clearfix">
  149. <div class="fl">
  150. <el-button type="primary" size="small" @click="btnOK">提交审批</el-button>
  151. <el-button type="primary" size="small" @click="resetFn">重置</el-button>
  152. </div>
  153. </div>
  154. </div>
  155. </template>
  156. <script>
  157. import {
  158. getFinanceOtherReceDetail,
  159. getFinanceOtherReceExamine,
  160. } from "@/api/finance/receivable_list";
  161. import { mapGetters } from "vuex";
  162. export default {
  163. props: {
  164. approvalId: {
  165. type: String,
  166. required: true,
  167. },
  168. },
  169. data() {
  170. return {
  171. examineRemark: "",
  172. examineStatus: "OK",
  173. dataList: [],
  174. listLoading: false, // 列表加载loading
  175. searchForm: {
  176. billType: "",
  177. code: "",
  178. source: "",
  179. theTime: "",
  180. endTime: "",
  181. totalAmount: "",
  182. create: "",
  183. createTime: "",
  184. examineStatus: "",
  185. remark: "",
  186. },
  187. };
  188. },
  189. computed: { ...mapGetters(["name"]) },
  190. created() {
  191. this.getDataList();
  192. },
  193. methods: {
  194. //重置
  195. resetFn() {
  196. this.examineRemark = "";
  197. this.examineStatus = "";
  198. },
  199. //审核
  200. async btnOK() {
  201. await getFinanceOtherReceExamine({
  202. id: this.approvalId,
  203. examineRemark: this.examineRemark,
  204. examineStatus: this.examineStatus,
  205. });
  206. this.$emit("updateList");
  207. this.$parent.showPage = 1;
  208. this.$message.success("审核成功");
  209. },
  210. async getDataList() {
  211. const res = await getFinanceOtherReceDetail({ id: this.approvalId });
  212. console.log(res);
  213. this.searchForm = {
  214. billType: res.data.billType,
  215. code: res.data.code,
  216. source: res.data.source,
  217. theTime: res.data.theTime,
  218. endTime: res.data.endTime,
  219. totalAmount: res.data.totalAmount,
  220. createBy: res.data.createBy,
  221. createTime: res.data.createTime,
  222. examineStatus: res.data.examineStatus == "WAIT" ? "待审核" : "",
  223. remark: res.data.remark,
  224. };
  225. this.dataList = res.data.items;
  226. },
  227. goBack() {
  228. this.$parent.showPage = 1;
  229. },
  230. },
  231. };
  232. </script>
  233. <style></style>