index.vue 8.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239
  1. <template>
  2. <!-- 入库审核-->
  3. <a-modal class="add-custom custom-detail" title="入库审核" v-model:visible="visible" centered :maskClosable="false" @cancel="cancel" width="890px">
  4. <template #footer>
  5. <a-button key="submit" type="primary" :loading="loading" @click="cancel">关闭
  6. </a-button>
  7. <a-button key="submit" type="primary" :loading="loading" v-if="isShowContractCheck(selectedRow.applystatus)" @click="pass">审核通过
  8. </a-button>
  9. <a-button key="submit" type="primary" :loading="loading" v-if="isShowContractCheck(selectedRow.applystatus)" @click="refuse">审核拒绝
  10. </a-button>
  11. </template>
  12. <a-form class="inlineForm">
  13. <fieldset class="formFieldSet" v-if="isShowContractInfo(selectedRow.inouttype)">
  14. <legend>合同基本信息</legend>
  15. <a-row :gutter="24">
  16. <a-col :span="12">
  17. <a-form-item label="合同编号">
  18. <span class="white">{{
  19. getContractTypeName(selectedRow.contracttype) + '/' + formatValue(selectedRow.contractno)
  20. }}</span>
  21. </a-form-item>
  22. </a-col>
  23. <a-col :span="12">
  24. <a-form-item label="定价类型">
  25. <span class="white">{{ getPriceTypeName(selectedRow.pricetype) }}</span>
  26. </a-form-item>
  27. </a-col>
  28. </a-row>
  29. <a-row :gutter="24">
  30. <a-col :span="12">
  31. <a-form-item label="销售方">
  32. <span class="white">{{ formatValue(selectedRow.sellusername) }}</span>
  33. </a-form-item>
  34. </a-col>
  35. <a-col :span="12">
  36. <a-form-item label="现货品种">
  37. <span class="white">{{ formatValue(selectedRow.deliverygoodsname) }}</span>
  38. </a-form-item>
  39. </a-col>
  40. </a-row>
  41. <a-row :gutter="24">
  42. <a-col :span="12">
  43. <a-form-item label="采购方">
  44. <span class="white">{{ formatValue(selectedRow.buyusername) }}</span>
  45. </a-form-item>
  46. </a-col>
  47. <a-col :span="12">
  48. <a-form-item label="合同签署量">
  49. <span class="white">{{ formatValue(selectedRow.contractqty) + " " + selectedRow.enumdicname }}</span>
  50. </a-form-item>
  51. </a-col>
  52. </a-row>
  53. </fieldset>
  54. <fieldset class="formFieldSet">
  55. <legend>登记信息</legend>
  56. <a-row :gutter="24">
  57. <a-col :span="12">
  58. <a-form-item label="出库类型">
  59. <span class="white">{{ InOutTypeName(selectedRow.inouttype) }}</span>
  60. </a-form-item>
  61. </a-col>
  62. <a-col :span="12">
  63. <a-form-item label="商品">
  64. <span class="white">{{ formatValue(selectedRow.wrstandardname) }}</span>
  65. </a-form-item>
  66. </a-col>
  67. </a-row>
  68. <a-row :gutter="24">
  69. <a-col :span="12">
  70. <a-form-item label="品牌">
  71. <span class="white">{{ formatValue(selectedRow.brandname) }}</span>
  72. </a-form-item>
  73. </a-col>
  74. <a-col :span="12">
  75. <a-form-item label="入库仓库">
  76. <span class="white">{{ formatValue(selectedRow.warehousecode) }}</span>
  77. </a-form-item>
  78. </a-col>
  79. </a-row>
  80. <a-row :gutter="24">
  81. <a-col :span="12">
  82. <a-form-item label="入库数量">
  83. <span class="white">{{
  84. formatValue(selectedRow.qty) + getGoodsUnitEnumItemName(selectedRow.unitid)
  85. }}</span>
  86. </a-form-item>
  87. </a-col>
  88. <a-col :span="12">
  89. <a-form-item label="登记时间">
  90. <span class="white">{{ formatValue(selectedRow.applytime) }}</span>
  91. </a-form-item>
  92. </a-col>
  93. </a-row>
  94. <a-row :gutter="24">
  95. <a-col :span="12">
  96. <a-form-item label="登记人">
  97. <span class="white">{{ formatValue(selectedRow.applyname) }}</span>
  98. </a-form-item>
  99. </a-col>
  100. <a-col :span="12">
  101. <a-form-item label="状态">
  102. <span class="white">{{ getApplyStatusName(selectedRow.applystatus) }}</span>
  103. </a-form-item>
  104. </a-col>
  105. </a-row>
  106. </fieldset>
  107. <fieldset class="formFieldSet">
  108. <legend>审核信息</legend>
  109. <a-row :gutter="24">
  110. <a-col :span="12">
  111. <a-form-item label="审核时间">
  112. <span class="white">{{ formatValue(selectedRow.audittime) }}</span>
  113. </a-form-item>
  114. </a-col>
  115. <a-col :span="12">
  116. <a-form-item label="审核人">
  117. <span class="white">{{ formatValue(selectedRow.auditname) }}</span>
  118. </a-form-item>
  119. </a-col>
  120. </a-row>
  121. <a-row :gutter="24">
  122. <a-col :span="12">
  123. <a-form-item label="审核意见">
  124. <span class="white">{{ formatValue(selectedRow.auditremark) }}</span>
  125. </a-form-item>
  126. </a-col>
  127. </a-row>
  128. </fieldset>
  129. </a-form>
  130. </a-modal>
  131. </template>
  132. <script lang="ts">
  133. import { defineComponent, PropType, reactive, ref, watchEffect } from 'vue';
  134. import { closeModal } from '@/common/setup/modal/index';
  135. import { QueryCustomInfoType } from '@/services/go/ermcp/customInfo/interface';
  136. import { mergeObj } from '@/utils/objHandle';
  137. import { getStatusName } from '@/common/constants/enumsName';
  138. import { formatValue, formatTime } from '@/common/methods';
  139. import { Ermcp3AreaStockApply } from '@/services/go/ermcp/inventory-review/interface';
  140. import { InOutTypeName, isShowContractCheck, isShowContractInfo } from '@/views/manage/inventory-review/setup';
  141. import { getContractTypeName, getPriceTypeName, getApplyStatusName } from '@/common/constants/enumsName';
  142. import { getGoodsUnitEnumItemName } from '@/common/constants/enumsName';
  143. import { Modal } from 'ant-design-vue';
  144. import { AreaInOutApplyAuditPassReq, AuditERMCPAreaInOutStockApplyReq } from '@/services/proto/warehouse/interface';
  145. import Long from 'long';
  146. import { geLoginID_number } from '@/services/bus/login';
  147. import { LongType } from '@/services/socket/login/interface';
  148. import { passStockControl, refuseStockControl } from '@/views/manage/inventory-review/components/setup';
  149. import moment from 'moment';
  150. import { _closeModal } from '@/common/setup/modal/modal';
  151. export default defineComponent({
  152. name: 'inventory_review_checkin_audit',
  153. emits: ['cancel', 'update'],
  154. props: {
  155. selectedRow: {
  156. type: Object as PropType<Ermcp3AreaStockApply>,
  157. default: {},
  158. },
  159. },
  160. setup(props, context) {
  161. const { visible, cancel } = _closeModal(context);
  162. const loading = ref<boolean>(false);
  163. const maskClosableFlag = ref<boolean>(false);
  164. // 审核通过
  165. function pass() {
  166. Modal.confirm({
  167. title: '是否确认审核通过',
  168. okText: '审核通过',
  169. cancelText: '取消',
  170. onOk() {
  171. const param: AreaInOutApplyAuditPassReq = {
  172. InOutApplyID: Long.fromString(props.selectedRow.inoutapplyid),
  173. AuditID: geLoginID_number()!,
  174. Remark: '',
  175. };
  176. passStockControl(param, loading)
  177. .then((res) => {
  178. cancel(true);
  179. })
  180. .catch((err) => { });
  181. },
  182. onCancel() { },
  183. });
  184. }
  185. // 审核拒绝
  186. function refuse() {
  187. Modal.confirm({
  188. title: '是否确认审核拒绝',
  189. okText: '审核拒绝',
  190. cancelText: '取消',
  191. onOk() {
  192. const param: AuditERMCPAreaInOutStockApplyReq = {
  193. InOutApplyID: Long.fromString(props.selectedRow.inoutapplyid), // uint64 申请ID
  194. AuditID: geLoginID_number()!, // uint64 审核人
  195. AuditRemark: '', // string 审核备注
  196. AuditTradeDate: moment().format('YYYYMMDD'), // string 审核交易日(yyyyMMdd)
  197. ApplyStatus: 3, // int32 审核状态:3-审核拒绝 5-已撤回
  198. };
  199. refuseStockControl(param, loading)
  200. .then((res) => {
  201. cancel(true);
  202. })
  203. .catch((err) => { });
  204. },
  205. onCancel() { },
  206. });
  207. }
  208. return {
  209. visible,
  210. cancel,
  211. loading,
  212. formatValue,
  213. getStatusName,
  214. maskClosableFlag,
  215. isShowContractInfo,
  216. getContractTypeName,
  217. getPriceTypeName,
  218. InOutTypeName,
  219. getGoodsUnitEnumItemName,
  220. getApplyStatusName,
  221. isShowContractCheck,
  222. refuse,
  223. pass,
  224. };
  225. },
  226. });
  227. </script>
  228. <style lang="less">
  229. .inventory_review_checkin_audit {
  230. .ant-form.inlineForm {
  231. margin-top: 20px;
  232. }
  233. }
  234. </style>;