|
@@ -1,6 +1,6 @@
|
|
|
<template>
|
|
<template>
|
|
|
<!-- 发票审核-->
|
|
<!-- 发票审核-->
|
|
|
- <a-modal class="inventory_review_checkout_audit custom-detail"
|
|
|
|
|
|
|
+ <a-modal class="add-custom custom-detail"
|
|
|
title="发票审核"
|
|
title="发票审核"
|
|
|
v-model:visible="visible"
|
|
v-model:visible="visible"
|
|
|
centered
|
|
centered
|
|
@@ -8,33 +8,170 @@
|
|
|
@cancel="cancel"
|
|
@cancel="cancel"
|
|
|
width="890px">
|
|
width="890px">
|
|
|
<template #footer>
|
|
<template #footer>
|
|
|
- <a-button key="submit"
|
|
|
|
|
- type="primary"
|
|
|
|
|
- :loading="loading.loading"
|
|
|
|
|
- @click="submit">关闭</a-button>
|
|
|
|
|
|
|
+ <a-button key="submit"
|
|
|
|
|
+ type="primary"
|
|
|
|
|
+ :loading="loading"
|
|
|
|
|
+ @click="cancel">关闭
|
|
|
|
|
+ </a-button>
|
|
|
|
|
+ <a-button key="submit"
|
|
|
|
|
+ type="primary"
|
|
|
|
|
+ :loading="loading"
|
|
|
|
|
+ @click="pass">审核通过
|
|
|
|
|
+ </a-button>
|
|
|
|
|
+ <a-button key="submit"
|
|
|
|
|
+ type="primary"
|
|
|
|
|
+ :loading="loading"
|
|
|
|
|
+ @click="refuse">审核拒绝
|
|
|
|
|
+ </a-button>
|
|
|
</template>
|
|
</template>
|
|
|
-
|
|
|
|
|
|
|
+ <a-form class="inlineForm"
|
|
|
|
|
+ :form="form"
|
|
|
|
|
+ @submit="handleSearch">
|
|
|
|
|
+ <fieldset class="formFieldSet" v-if = "isShowContractInfo(selectedRow.inouttype)" >
|
|
|
|
|
+ <legend>合同基本信息</legend>
|
|
|
|
|
+ <a-row :gutter="24">
|
|
|
|
|
+ <a-col :span="12">
|
|
|
|
|
+ <a-form-item label="合同编号">
|
|
|
|
|
+ <span class="white">{{ getContractTypeName(selectedRow.contracttype) + '/' + formatValue(selectedRow.contractno) }}</span>
|
|
|
|
|
+ </a-form-item>
|
|
|
|
|
+ </a-col>
|
|
|
|
|
+ <a-col :span="12">
|
|
|
|
|
+ <a-form-item label="定价类型">
|
|
|
|
|
+ <span class="white">{{ getPriceTypeName(selectedRow.pricetype) }}</span>
|
|
|
|
|
+ </a-form-item>
|
|
|
|
|
+ </a-col>
|
|
|
|
|
+ </a-row>
|
|
|
|
|
+ <a-row :gutter="24">
|
|
|
|
|
+ <a-col :span="12">
|
|
|
|
|
+ <a-form-item label="销售方">
|
|
|
|
|
+ <span class="white">{{ formatValue(selectedRow.sellusername) }}</span>
|
|
|
|
|
+ </a-form-item>
|
|
|
|
|
+ </a-col>
|
|
|
|
|
+ <a-col :span="12">
|
|
|
|
|
+ <a-form-item label="现货品种">
|
|
|
|
|
+ <span class="white">{{ formatValue(selectedRow.deliverygoodsname) }}</span>
|
|
|
|
|
+ </a-form-item>
|
|
|
|
|
+ </a-col>
|
|
|
|
|
+ </a-row>
|
|
|
|
|
+ <a-row :gutter="24">
|
|
|
|
|
+ <a-col :span="12">
|
|
|
|
|
+ <a-form-item label="采购方">
|
|
|
|
|
+ <span class="white">{{ formatValue(selectedRow.buyusername) }}</span>
|
|
|
|
|
+ </a-form-item>
|
|
|
|
|
+ </a-col>
|
|
|
|
|
+ <a-col :span="12">
|
|
|
|
|
+ <a-form-item label="合同签署量">
|
|
|
|
|
+ <span class="white">{{ formatValue(selectedRow.contractqty) }}</span>
|
|
|
|
|
+ </a-form-item>
|
|
|
|
|
+ </a-col>
|
|
|
|
|
+ </a-row>
|
|
|
|
|
+ </fieldset>
|
|
|
|
|
+ <fieldset class="formFieldSet">
|
|
|
|
|
+ <legend>登记信息</legend>
|
|
|
|
|
+ <a-row :gutter="24">
|
|
|
|
|
+ <a-col :span="12">
|
|
|
|
|
+ <a-form-item label="出库类型">
|
|
|
|
|
+ <span class="white">{{ InOutTypeName(selectedRow.inouttype) }}</span>
|
|
|
|
|
+ </a-form-item>
|
|
|
|
|
+ </a-col>
|
|
|
|
|
+ <a-col :span="12">
|
|
|
|
|
+ <a-form-item label="品类">
|
|
|
|
|
+ <span class="white">{{ formatValue(selectedRow.deliverygoodsname) }}</span>
|
|
|
|
|
+ </a-form-item>
|
|
|
|
|
+ </a-col>
|
|
|
|
|
+ </a-row>
|
|
|
|
|
+ <a-row :gutter="24">
|
|
|
|
|
+ <a-col :span="12">
|
|
|
|
|
+ <a-form-item label="品牌">
|
|
|
|
|
+ <span class="white">{{ formatValue(selectedRow.brandname) }}</span>
|
|
|
|
|
+ </a-form-item>
|
|
|
|
|
+ </a-col>
|
|
|
|
|
+ <a-col :span="12">
|
|
|
|
|
+ <a-form-item label="入库仓库">
|
|
|
|
|
+ <span class="white">{{ formatValue(selectedRow.warehousename) }}</span>
|
|
|
|
|
+ </a-form-item>
|
|
|
|
|
+ </a-col>
|
|
|
|
|
+ </a-row>
|
|
|
|
|
+ <a-row :gutter="24">
|
|
|
|
|
+ <a-col :span="12">
|
|
|
|
|
+ <a-form-item label="入库数量">
|
|
|
|
|
+ <span class="white">{{ formatValue(selectedRow.qty) + getGoodsUnit(selectedRow.unitid) }}</span>
|
|
|
|
|
+ </a-form-item>
|
|
|
|
|
+ </a-col>
|
|
|
|
|
+ <a-col :span="12">
|
|
|
|
|
+ <a-form-item label="登记时间">
|
|
|
|
|
+ <span class="white">{{ formatValue(selectedRow.applytime) }}</span>
|
|
|
|
|
+ </a-form-item>
|
|
|
|
|
+ </a-col>
|
|
|
|
|
+ </a-row>
|
|
|
|
|
+ <a-row :gutter="24">
|
|
|
|
|
+ <a-col :span="12">
|
|
|
|
|
+ <a-form-item label="登记人">
|
|
|
|
|
+ <span class="white">{{ formatValue(selectedRow.applyname) }}</span>
|
|
|
|
|
+ </a-form-item>
|
|
|
|
|
+ </a-col>
|
|
|
|
|
+ <a-col :span="12">
|
|
|
|
|
+ <a-form-item label="状态">
|
|
|
|
|
+ <span class="white">{{ getApplyStatusName(selectedRow.applystatus) }}</span>
|
|
|
|
|
+ </a-form-item>
|
|
|
|
|
+ </a-col>
|
|
|
|
|
+ </a-row>
|
|
|
|
|
+ </fieldset>
|
|
|
|
|
+ <fieldset class="formFieldSet">
|
|
|
|
|
+ <legend>审核信息</legend>
|
|
|
|
|
+ <a-row :gutter="24">
|
|
|
|
|
+ <a-col :span="12">
|
|
|
|
|
+ <a-form-item label="审核时间">
|
|
|
|
|
+ <span class="white">{{ formatValue(selectedRow.audittime) }}</span>
|
|
|
|
|
+ </a-form-item>
|
|
|
|
|
+ </a-col>
|
|
|
|
|
+ <a-col :span="12">
|
|
|
|
|
+ <a-form-item label="审核人">
|
|
|
|
|
+ <span class="white">{{ formatValue(selectedRow.auditname) }}</span>
|
|
|
|
|
+ </a-form-item>
|
|
|
|
|
+ </a-col>
|
|
|
|
|
+ </a-row>
|
|
|
|
|
+ <a-row :gutter="24">
|
|
|
|
|
+ <a-col :span="12">
|
|
|
|
|
+ <a-form-item label="审核意见">
|
|
|
|
|
+ <span class="white">{{ formatValue(selectedRow.auditremark) }}</span>
|
|
|
|
|
+ </a-form-item>
|
|
|
|
|
+ </a-col>
|
|
|
|
|
+ </a-row>
|
|
|
|
|
+ </fieldset>
|
|
|
|
|
+ </a-form>
|
|
|
</a-modal>
|
|
</a-modal>
|
|
|
</template>
|
|
</template>
|
|
|
|
|
|
|
|
<script lang="ts">
|
|
<script lang="ts">
|
|
|
import { defineComponent, PropType, reactive, ref, watchEffect } from 'vue';
|
|
import { defineComponent, PropType, reactive, ref, watchEffect } from 'vue';
|
|
|
import { closeModal } from '@/common/setup/modal/index';
|
|
import { closeModal } from '@/common/setup/modal/index';
|
|
|
-import { QueryCustomInfoType } from '@/services/go/ermcp/customInfo/interface';
|
|
|
|
|
-import { mergeObj } from '@/utils/objHandle';
|
|
|
|
|
import { getStatusName } from '@/views/information/custom/setup';
|
|
import { getStatusName } from '@/views/information/custom/setup';
|
|
|
import { formatValue, formatTime } from '@/common/methods';
|
|
import { formatValue, formatTime } from '@/common/methods';
|
|
|
|
|
+import {InOutTypeName, isShowContractInfo} from "@/views/manage/inventory-review/setup";
|
|
|
|
|
+import {getContractTypeName} from "@/views/information/spot-contract/setup";
|
|
|
|
|
+import {getPriceTypeName} from "@/views/business/purchase/setup";
|
|
|
|
|
+import {getGoodsUnit} from "@/views/information/goods/setup";
|
|
|
|
|
+import {getApplyStatusName} from "@/views/manage/business-review/setup";
|
|
|
|
|
+import {Ermcp3AreaStockApply} from "@/services/go/ermcp/inventory-review/interface";
|
|
|
|
|
+import {Modal} from "ant-design-vue";
|
|
|
|
|
+import Long from "long";
|
|
|
|
|
+import {passStockControl, refuseStockControl} from "@/views/manage/inventory-review/components/setup";
|
|
|
|
|
+import {AreaInOutApplyAuditPassReq, AuditERMCPAreaInOutStockApplyReq} from "@/services/proto/warehouse/interface";
|
|
|
|
|
+import {getLongTypeLoginID} from "@/services/bus/login";
|
|
|
|
|
+import moment from "moment";
|
|
|
|
|
+import {LongType} from "@/services/socket/login/interface";
|
|
|
|
|
|
|
|
export default defineComponent({
|
|
export default defineComponent({
|
|
|
name: 'inventory_review_checkout_audit',
|
|
name: 'inventory_review_checkout_audit',
|
|
|
components: {},
|
|
components: {},
|
|
|
props: {
|
|
props: {
|
|
|
selectedRow: {
|
|
selectedRow: {
|
|
|
- type: Object as PropType<QueryCustomInfoType>,
|
|
|
|
|
|
|
+ type: Object as PropType<Ermcp3AreaStockApply>,
|
|
|
default: {},
|
|
default: {},
|
|
|
},
|
|
},
|
|
|
},
|
|
},
|
|
|
- setup(props) {
|
|
|
|
|
|
|
+ setup(props, context) {
|
|
|
const { visible, cancel } = closeModal('inventory_review_checkout_audit');
|
|
const { visible, cancel } = closeModal('inventory_review_checkout_audit');
|
|
|
const loading = ref<boolean>(false);
|
|
const loading = ref<boolean>(false);
|
|
|
const maskClosableFlag = ref<boolean>(false);
|
|
const maskClosableFlag = ref<boolean>(false);
|
|
@@ -43,8 +180,64 @@ export default defineComponent({
|
|
|
setTimeout(() => {
|
|
setTimeout(() => {
|
|
|
loading.value = false;
|
|
loading.value = false;
|
|
|
cancel();
|
|
cancel();
|
|
|
- }, 2000);
|
|
|
|
|
|
|
+ }, 200);
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
|
|
+ // 审核通过
|
|
|
|
|
+ function pass() {
|
|
|
|
|
+ Modal.confirm({
|
|
|
|
|
+ title: '是否确认审核通过',
|
|
|
|
|
+ okText: '确认审核通过',
|
|
|
|
|
+ cancelText: '取消',
|
|
|
|
|
+ onOk() {
|
|
|
|
|
+ const param: AreaInOutApplyAuditPassReq = {
|
|
|
|
|
+ InOutApplyID: Long.fromString(props.selectedRow.inoutapplyid),
|
|
|
|
|
+ AuditID: Long.fromString( (getLongTypeLoginID() as LongType).toString()),
|
|
|
|
|
+ Remark: '',
|
|
|
|
|
+ }
|
|
|
|
|
+ passStockControl(param, loading)
|
|
|
|
|
+ .then(res => {
|
|
|
|
|
+ context.emit('refresh');
|
|
|
|
|
+ cancel()
|
|
|
|
|
+ })
|
|
|
|
|
+ .catch(err => {
|
|
|
|
|
+
|
|
|
|
|
+ })
|
|
|
|
|
+ },
|
|
|
|
|
+ onCancel() {
|
|
|
|
|
+ console.log('Cancel');
|
|
|
|
|
+ },
|
|
|
|
|
+ });
|
|
|
|
|
+ }
|
|
|
|
|
+ // 审核拒绝
|
|
|
|
|
+ function refuse(){
|
|
|
|
|
+ Modal.confirm({
|
|
|
|
|
+ title: '是否确认审核拒绝',
|
|
|
|
|
+ okText: '确认审核拒绝',
|
|
|
|
|
+ cancelText: '取消',
|
|
|
|
|
+ onOk() {
|
|
|
|
|
+ const param: AuditERMCPAreaInOutStockApplyReq = {
|
|
|
|
|
+ InOutApplyID: Long.fromString(props.selectedRow.inoutapplyid), // uint64 申请ID
|
|
|
|
|
+ AuditID: Long.fromString( (getLongTypeLoginID() as LongType).toString()), // uint64 审核人
|
|
|
|
|
+ AuditRemark: '', // string 审核备注
|
|
|
|
|
+ AuditTradeDate: moment().format('YYYYMMDD'), // string 审核交易日(yyyyMMdd)
|
|
|
|
|
+ ApplyStatus: 3, // int32 审核状态:3-审核拒绝 5-已撤回
|
|
|
|
|
+ }
|
|
|
|
|
+ refuseStockControl(param, loading)
|
|
|
|
|
+ .then(res => {
|
|
|
|
|
+ context.emit('refresh');
|
|
|
|
|
+ cancel()
|
|
|
|
|
+ })
|
|
|
|
|
+ .catch(err => {
|
|
|
|
|
+
|
|
|
|
|
+ })
|
|
|
|
|
+ },
|
|
|
|
|
+ onCancel() {
|
|
|
|
|
+ console.log('Cancel');
|
|
|
|
|
+ },
|
|
|
|
|
+ });
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
return {
|
|
return {
|
|
|
visible,
|
|
visible,
|
|
|
cancel,
|
|
cancel,
|
|
@@ -53,6 +246,16 @@ export default defineComponent({
|
|
|
formatValue,
|
|
formatValue,
|
|
|
getStatusName,
|
|
getStatusName,
|
|
|
maskClosableFlag,
|
|
maskClosableFlag,
|
|
|
|
|
+
|
|
|
|
|
+ isShowContractInfo,
|
|
|
|
|
+ getContractTypeName,
|
|
|
|
|
+ getPriceTypeName,
|
|
|
|
|
+ InOutTypeName,
|
|
|
|
|
+ getGoodsUnit,
|
|
|
|
|
+ getApplyStatusName,
|
|
|
|
|
+
|
|
|
|
|
+ pass,
|
|
|
|
|
+ refuse,
|
|
|
};
|
|
};
|
|
|
},
|
|
},
|
|
|
});
|
|
});
|