index.vue 6.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199
  1. <template>
  2. <!-- 发票审核-->
  3. <a-modal class="add-custom custom-detail"
  4. title="发票审核"
  5. v-model:visible="visible"
  6. centered
  7. :maskClosable="maskClosableFlag"
  8. @cancel="cancel"
  9. width="890px">
  10. <template #footer>
  11. <a-button key="submit"
  12. type="primary"
  13. :loading="loading"
  14. @click="cancel">关闭
  15. </a-button>
  16. <a-button key="submit"
  17. type="primary"
  18. :loading="loading"
  19. @click="pass">审核通过
  20. </a-button>
  21. <a-button key="submit"
  22. type="primary"
  23. :loading="loading"
  24. @click="refuse">审核拒绝
  25. </a-button>
  26. </template>
  27. <a-form class="inlineForm">
  28. <fieldset class="formFieldSet">
  29. <legend>合同基本信息</legend>
  30. <a-row :gutter="24">
  31. <a-col :span="12">
  32. <a-form-item label="合同编号">
  33. <span class="white">{{ formatValue(selectedRow.contractno) }}</span>
  34. </a-form-item>
  35. </a-col>
  36. <a-col :span="12">
  37. <a-form-item label="点价类型">
  38. <span class="white">{{ getPriceTypeName(selectedRow.pricetype) }}</span>
  39. </a-form-item>
  40. </a-col>
  41. </a-row>
  42. <a-row :gutter="24">
  43. <a-col :span="12">
  44. <a-form-item label="销售方">
  45. <span class="white">{{ formatValue(selectedRow.sellusername) }}</span>
  46. </a-form-item>
  47. </a-col>
  48. <a-col :span="12">
  49. <a-form-item label="现货品种">
  50. <span class="white">{{ formatValue(selectedRow.deliverygoodsname) }}</span>
  51. </a-form-item>
  52. </a-col>
  53. </a-row>
  54. </fieldset>
  55. <fieldset class="formFieldSet">
  56. <legend>待审核登记信息</legend>
  57. <a-row :gutter="24">
  58. <a-col :span="12">
  59. <a-form-item label="类型">
  60. <span class="white">{{ invoiceStatusName(selectedRow.contracttype) }}</span>
  61. </a-form-item>
  62. </a-col>
  63. <a-col :span="12">
  64. <a-form-item label="发票金额">
  65. <span class="white">{{ formatValue(selectedRow.invoiceamount) }}</span>
  66. </a-form-item>
  67. </a-col>
  68. </a-row>
  69. <a-row :gutter="24">
  70. <a-col :span="12">
  71. <a-form-item label="发票附件">
  72. <span class="white">{{ formatValue(selectedRow.invoiceamount) }}</span>
  73. </a-form-item>
  74. </a-col>
  75. <a-col :span="12">
  76. <a-form-item label="登记时间">
  77. <span class="white">{{ formatValue(selectedRow.applytime) }}</span>
  78. </a-form-item>
  79. </a-col>
  80. </a-row>
  81. <a-row :gutter="24">
  82. <a-col :span="12">
  83. <a-form-item label="登记人">
  84. <span class="white">{{ formatValue(selectedRow.applyname) }}</span>
  85. </a-form-item>
  86. </a-col>
  87. </a-row>
  88. </fieldset>
  89. </a-form>
  90. </a-modal>
  91. </template>
  92. <script lang="ts">
  93. import { defineComponent, PropType, reactive, ref, watchEffect } from 'vue';
  94. import { closeModal } from '@/common/setup/modal/index';
  95. import { QueryCustomInfoType } from '@/services/go/ermcp/customInfo/interface';
  96. import { mergeObj } from '@/utils/objHandle';
  97. import { getStatusName } from '@/views/information/custom/setup';
  98. import { formatValue, formatTime } from '@/common/methods';
  99. import { QryBussinessFpRsp } from '@/services/go/ermcp/finance-review/interface';
  100. import { invoiceStatusName } from '@/views/manage/finance-review/setup';
  101. import { getPriceTypeName } from '@/views/information/spot-contract/setup';
  102. import { Modal } from 'ant-design-vue';
  103. import { ContractOperateApplyReq } from '@/services/proto/contract/interface';
  104. import Long from 'long';
  105. import { somePriceControl } from '@/views/manage/business-review/components/setup';
  106. import { financeControl } from '@/views/manage/finance-review/components/setup';
  107. export default defineComponent({
  108. name: 'finance_review_invoice_audit',
  109. components: {},
  110. props: {
  111. selectedRow: {
  112. type: Object as PropType<QryBussinessFpRsp>,
  113. default: {},
  114. },
  115. },
  116. setup(props, context) {
  117. const { visible, cancel } = closeModal('finance_review_invoice_audit');
  118. const loading = ref<boolean>(false);
  119. const maskClosableFlag = ref<boolean>(false);
  120. function submit() {
  121. loading.value = true;
  122. setTimeout(() => {
  123. loading.value = false;
  124. cancel();
  125. }, 200);
  126. }
  127. // 审核通过
  128. function pass() {
  129. Modal.confirm({
  130. title: '是否确认审核通过',
  131. okText: '确认审核通过',
  132. cancelText: '取消',
  133. onOk() {
  134. const param: ContractOperateApplyReq = {
  135. OperateApplyID: Long.fromString(props.selectedRow.operateapplyid),
  136. OperateType: 2,
  137. };
  138. financeControl(param, loading)
  139. .then((res) => {
  140. context.emit('refresh');
  141. cancel();
  142. })
  143. .catch((err) => {});
  144. },
  145. onCancel() {
  146. console.log('Cancel');
  147. },
  148. });
  149. }
  150. // 审核拒绝
  151. function refuse() {
  152. Modal.confirm({
  153. title: '是否确认审核拒绝',
  154. okText: '确认审核拒绝',
  155. cancelText: '取消',
  156. onOk() {
  157. const param: ContractOperateApplyReq = {
  158. OperateApplyID: Long.fromString(props.selectedRow.operateapplyid),
  159. OperateType: 3,
  160. };
  161. financeControl(param, loading)
  162. .then((res) => {
  163. context.emit('refresh');
  164. cancel();
  165. })
  166. .catch((err) => {});
  167. },
  168. onCancel() {
  169. console.log('Cancel');
  170. },
  171. });
  172. }
  173. return {
  174. visible,
  175. cancel,
  176. submit,
  177. loading,
  178. formatValue,
  179. getStatusName,
  180. maskClosableFlag,
  181. invoiceStatusName,
  182. getPriceTypeName,
  183. pass,
  184. refuse,
  185. };
  186. },
  187. });
  188. </script>
  189. <style lang="less">
  190. .finance_review_invoice_audit {
  191. .ant-form.inlineForm {
  192. margin-top: 20px;
  193. }
  194. }
  195. </style>;