|
|
@@ -1,143 +1,157 @@
|
|
|
<template>
|
|
|
- <!-- 交收登记-->
|
|
|
- <a-modal class="commonModal paddingDialog settlement"
|
|
|
- :title="selectedRow.contracttype===1? '采购合同-交收登记': '销售合同-交收登记'"
|
|
|
- v-model:visible="visible"
|
|
|
- @cancel="cancel"
|
|
|
- width="890px">
|
|
|
- <template #footer>
|
|
|
- <a-button key="submit"
|
|
|
- class="cancelBtn"
|
|
|
- @click="cancel">取消
|
|
|
- </a-button>
|
|
|
- <a-button key="submit"
|
|
|
- type="primary"
|
|
|
- :loading="loading"
|
|
|
- @click="submit">交收登记
|
|
|
- </a-button>
|
|
|
- </template>
|
|
|
- <fieldset class="formFieldSet">
|
|
|
- <legend>合同基本信息</legend>
|
|
|
- <a-form class="inlineForm">
|
|
|
- <a-row :gutter="24">
|
|
|
- <a-col :span="12">
|
|
|
- <a-form-item label="合同编号">
|
|
|
- <span class="white">{{ formatValue(selectedRow.contractno) }}</span>
|
|
|
- </a-form-item>
|
|
|
- </a-col>
|
|
|
- <a-col :span="12">
|
|
|
- <a-form-item label="定价.
|
|
|
+ <!-- 交收登记-->
|
|
|
+ <a-modal class="commonModal paddingDialog settlement"
|
|
|
+ :title="selectedRow.contracttype===1? '采购合同-交收登记': '销售合同-交收登记'"
|
|
|
+ v-model:visible="visible"
|
|
|
+ @cancel="cancel"
|
|
|
+ width="890px">
|
|
|
+ <template #footer>
|
|
|
+ <a-button key="submit"
|
|
|
+ class="cancelBtn"
|
|
|
+ @click="cancel">取消
|
|
|
+ </a-button>
|
|
|
+ <a-button key="submit"
|
|
|
+ type="primary"
|
|
|
+ :loading="loading"
|
|
|
+ @click="submit">交收登记
|
|
|
+ </a-button>
|
|
|
+ </template>
|
|
|
+ <fieldset class="formFieldSet">
|
|
|
+ <legend>合同基本信息</legend>
|
|
|
+ <a-form class="inlineForm">
|
|
|
+ <a-row :gutter="24">
|
|
|
+ <a-col :span="12">
|
|
|
+ <a-form-item label="合同编号">
|
|
|
+ <span class="white">{{ 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="selectedRow.contracttype===1? '采购方': '销售方'">
|
|
|
- <span class="white">{{ formatValue(selectedRow.accountname) }}</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.qty + selectedRow.enumdicname) }}</span>
|
|
|
- </a-form-item>
|
|
|
- </a-col>
|
|
|
- <a-col :span="12">
|
|
|
- <a-form-item label="合同暂定价">
|
|
|
- <span class="white">{{ formatValue(selectedRow.price) }}</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.goodsname) }}</span>
|
|
|
- </a-form-item>
|
|
|
- </a-col>
|
|
|
- </a-row>
|
|
|
- </a-form>
|
|
|
- </fieldset>
|
|
|
- <fieldset class="formFieldSet">
|
|
|
- <legend>已登记信息</legend>
|
|
|
- <a-form class="inlineForm">
|
|
|
- <a-row :gutter="24">
|
|
|
- <a-col :span="12">
|
|
|
- <a-form-item label="已定价量">
|
|
|
- <span class="white">{{ selectedRow.pricedqty + selectedRow.enumdicname }}</span>
|
|
|
- </a-form-item>
|
|
|
- </a-col>
|
|
|
- <a-col :span="12">
|
|
|
- <a-form-item label="已点均价">
|
|
|
- <span class="white">{{ formatValue(selectedRow.pricedavg) }}</span>
|
|
|
- </a-form-item>
|
|
|
- </a-col>
|
|
|
- </a-row>
|
|
|
- </a-form>
|
|
|
- </fieldset>
|
|
|
- <fieldset class="formFieldSet">
|
|
|
- <legend>本次点价信息</legend>
|
|
|
- <a-form class="inlineForm"
|
|
|
- ref="formRef"
|
|
|
- :model="formState"
|
|
|
- :rules="formStateRules">
|
|
|
- <a-row :gutter="24">
|
|
|
- <a-col :span="12">
|
|
|
- <a-form-item label="点价价格" name="PricedPrice">
|
|
|
- <a-input-number class="dialogInput" style="width: 200px" v-model:value="formState.PricedPrice" :min="0" placeholder="请输入点价价格"/>
|
|
|
- </a-form-item>
|
|
|
- </a-col>
|
|
|
- <a-col :span="12">
|
|
|
- <a-form-item label="升贴水">
|
|
|
- <span class="white">{{ formatValue(selectedRow.pricemove) }}</span>
|
|
|
- </a-form-item>
|
|
|
- </a-col>
|
|
|
- </a-row>
|
|
|
+ <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="selectedRow.contracttype===1? '采购方': '销售方'">
|
|
|
+ <span class="white">{{ formatValue(selectedRow.accountname) }}</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.qty + selectedRow.enumdicname) }}</span>
|
|
|
+ </a-form-item>
|
|
|
+ </a-col>
|
|
|
+ <a-col :span="12">
|
|
|
+ <a-form-item label="合同暂定价">
|
|
|
+ <span class="white">{{ formatValue(selectedRow.price) }}</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.goodsname) }}</span>
|
|
|
+ </a-form-item>
|
|
|
+ </a-col>
|
|
|
+ </a-row>
|
|
|
+ </a-form>
|
|
|
+ </fieldset>
|
|
|
+ <fieldset class="formFieldSet">
|
|
|
+ <legend>已登记信息</legend>
|
|
|
+ <a-form class="inlineForm">
|
|
|
+ <a-row :gutter="24">
|
|
|
+ <a-col :span="12">
|
|
|
+ <a-form-item label="已定价量">
|
|
|
+ <span class="white">{{ selectedRow.pricedqty + selectedRow.enumdicname }}</span>
|
|
|
+ </a-form-item>
|
|
|
+ </a-col>
|
|
|
+ <a-col :span="12">
|
|
|
+ <a-form-item label="已点均价">
|
|
|
+ <span class="white">{{ formatValue(selectedRow.pricedavg) }}</span>
|
|
|
+ </a-form-item>
|
|
|
+ </a-col>
|
|
|
+ </a-row>
|
|
|
+ </a-form>
|
|
|
+ </fieldset>
|
|
|
+ <fieldset class="formFieldSet">
|
|
|
+ <legend>本次点价信息</legend>
|
|
|
+ <a-form class="inlineForm"
|
|
|
+ ref="formRef"
|
|
|
+ :model="formState"
|
|
|
+ :rules="formStateRules">
|
|
|
+ <a-row :gutter="24">
|
|
|
+ <a-col :span="12">
|
|
|
+ <a-form-item label="点价价格"
|
|
|
+ name="PricedPrice">
|
|
|
+ <a-input-number class="dialogInput"
|
|
|
+ style="width: 200px"
|
|
|
+ v-model:value="formState.PricedPrice"
|
|
|
+ :min="0"
|
|
|
+ placeholder="请输入点价价格" />
|
|
|
+ </a-form-item>
|
|
|
+ </a-col>
|
|
|
+ <a-col :span="12">
|
|
|
+ <a-form-item label="升贴水">
|
|
|
+ <span class="white">{{ formatValue(selectedRow.pricemove) }}</span>
|
|
|
+ </a-form-item>
|
|
|
+ </a-col>
|
|
|
+ </a-row>
|
|
|
|
|
|
- <a-row :gutter="24">
|
|
|
- <a-col :span="12">
|
|
|
- <a-form-item label="商品价格">
|
|
|
- <span class="white">{{ Number(selectedRow.pricemove) + Number(formState.PricedPrice) }}</span>
|
|
|
- </a-form-item>
|
|
|
- </a-col>
|
|
|
- <a-col :span="12">
|
|
|
- <a-form-item label="点价数量" class="relative" name="PricedQty">
|
|
|
- <a-input-number class="dialogInput" style="width: 200px" v-model:value="formState.PricedQty" :min="0" :max="selectedRow.unpricedqty" placeholder="请输入点价数量"/>
|
|
|
- <div class="tip">
|
|
|
- <span>未定价量<span class="white">{{selectedRow.unpricedqty}}{{selectedRow.enumdicname}} </span></span>
|
|
|
- <a class="blue ml10" @click="formState.PricedQty = selectedRow.unpricedqty"> 全部登记</a>
|
|
|
- </div>
|
|
|
- </a-form-item>
|
|
|
- </a-col>
|
|
|
- </a-row>
|
|
|
+ <a-row :gutter="24">
|
|
|
+ <a-col :span="12">
|
|
|
+ <a-form-item label="商品价格">
|
|
|
+ <span class="white">{{ Number(selectedRow.pricemove) + Number(formState.PricedPrice) }}</span>
|
|
|
+ </a-form-item>
|
|
|
+ </a-col>
|
|
|
+ <a-col :span="12">
|
|
|
+ <a-form-item label="点价数量"
|
|
|
+ class="relative"
|
|
|
+ name="PricedQty">
|
|
|
+ <a-input-number class="dialogInput"
|
|
|
+ style="width: 200px"
|
|
|
+ v-model:value="formState.PricedQty"
|
|
|
+ :min="0"
|
|
|
+ :max="selectedRow.unpricedqty"
|
|
|
+ placeholder="请输入点价数量" />
|
|
|
+ <div class="tip">
|
|
|
+ <span>未定价量<span class="white">{{selectedRow.unpricedqty}}{{selectedRow.enumdicname}} </span></span>
|
|
|
+ <a class="blue ml10"
|
|
|
+ @click="formState.PricedQty = selectedRow.unpricedqty"> 全部登记</a>
|
|
|
+ </div>
|
|
|
+ </a-form-item>
|
|
|
+ </a-col>
|
|
|
+ </a-row>
|
|
|
|
|
|
- <a-row :gutter="24">
|
|
|
- <a-col :span="12">
|
|
|
- <a-form-item label="点价金额">
|
|
|
- <span class="white">{{( Number(selectedRow.pricemove) + Number(formState.PricedPrice)) * formState.PricedQty }}</span>
|
|
|
- </a-form-item>
|
|
|
- </a-col>
|
|
|
- </a-row>
|
|
|
- </a-form>
|
|
|
- </fieldset>
|
|
|
- </a-modal>
|
|
|
+ <a-row :gutter="24">
|
|
|
+ <a-col :span="12">
|
|
|
+ <a-form-item label="点价金额">
|
|
|
+ <span class="white">{{( Number(selectedRow.pricemove) + Number(formState.PricedPrice)) * formState.PricedQty }}</span>
|
|
|
+ </a-form-item>
|
|
|
+ </a-col>
|
|
|
+ </a-row>
|
|
|
+ </a-form>
|
|
|
+ </fieldset>
|
|
|
+ </a-modal>
|
|
|
</template>
|
|
|
|
|
|
<script lang="ts">
|
|
|
-import {defineComponent, PropType, reactive, ref,unref} from 'vue';
|
|
|
-import {closeModal} from '@/common/setup/modal/index';
|
|
|
-import {formatValue} from "@/common/methods";
|
|
|
-import {Ermcp3SellBuyContract} from "@/services/go/ermcp/purchase/interface";
|
|
|
-import {getPriceTypeName} from "@/views/business/purchase/setup";
|
|
|
+import { defineComponent, PropType, reactive, ref, unref } from 'vue';
|
|
|
+import { closeModal } from '@/common/setup/modal/index';
|
|
|
+import { formatValue } from '@/common/methods';
|
|
|
+import { Ermcp3SellBuyContract } from '@/services/go/ermcp/purchase/interface';
|
|
|
+import { getPriceTypeName } from '@/views/business/purchase/setup';
|
|
|
import { operationContractReq } from '@/services/proto/contract';
|
|
|
import { message } from 'ant-design-vue';
|
|
|
+import { objectToUint8Array } from '@/utils/objHandle';
|
|
|
|
|
|
export default defineComponent({
|
|
|
name: 'purchase_pending_settlement',
|
|
|
@@ -149,21 +163,8 @@ export default defineComponent({
|
|
|
},
|
|
|
},
|
|
|
setup(props) {
|
|
|
- const {visible, cancel} = closeModal('purchase_pending_settlement');
|
|
|
+ const { visible, cancel } = closeModal('purchase_pending_settlement');
|
|
|
const loading = ref<boolean>(false);
|
|
|
- function objectToUint8Array(data: object) {
|
|
|
- const encode = encodeURI(JSON.stringify(data));// 对字符串进行编码
|
|
|
- const base64String = btoa(encode);// 对编码的字符串转化base64
|
|
|
- const padding = '='.repeat((4 - base64String.length % 4) % 4);
|
|
|
- const base64 = (base64String + padding).replace(/\-/g, '+').replace(/_/g, '/');
|
|
|
- const rawData = window.atob(base64);
|
|
|
- const outputArray = new Uint8Array(rawData.length);
|
|
|
- for (var i = 0; i < rawData.length; ++i) {
|
|
|
- outputArray[i] = rawData.charCodeAt(i);
|
|
|
- }
|
|
|
- return outputArray;
|
|
|
- }
|
|
|
-
|
|
|
const formRef = ref();
|
|
|
const formState = reactive({ PricedPrice: 0, PricedQty: 0 });
|
|
|
const numberIstrue = (rule: any, value: any) => {
|
|
|
@@ -176,28 +177,29 @@ export default defineComponent({
|
|
|
const formStateRules = {
|
|
|
PricedPrice: [{ required: true, validator: numberIstrue, trigger: 'blur', type: 'number' }],
|
|
|
PricedQty: [{ required: true, validator: numberIstrue, trigger: 'blur', type: 'number' }],
|
|
|
- }
|
|
|
+ };
|
|
|
function submit() {
|
|
|
const wrapEl = unref(formRef);
|
|
|
wrapEl.validate().then(() => {
|
|
|
loading.value = true;
|
|
|
- console.log(objectToUint8Array(formState));
|
|
|
operationContractReq({
|
|
|
OperateType: 1, // uint32 操作类型-1:登记2:确认3:拒绝4:撤销
|
|
|
Info: {
|
|
|
OperateApplyType: 1, // uint32 操作申请类型-1:点价2:结算3:款项4:发票
|
|
|
RelatedID: 1, // uint64 现货合同ID(602+Unix秒时间戳(10位)+xxxxxx)
|
|
|
- DetailJson : objectToUint8Array(formState), // bytes 明细JSON {}
|
|
|
- }
|
|
|
- }).then(()=>{
|
|
|
- message.success('登记成功!')
|
|
|
- loading.value = false;
|
|
|
- cancel();
|
|
|
- }).catch(err=>{
|
|
|
- message.error(err)
|
|
|
- loading.value = false;
|
|
|
- cancel();
|
|
|
+ DetailJson: objectToUint8Array(formState), // bytes 明细JSON {}
|
|
|
+ },
|
|
|
})
|
|
|
+ .then(() => {
|
|
|
+ message.success('登记成功!');
|
|
|
+ loading.value = false;
|
|
|
+ cancel();
|
|
|
+ })
|
|
|
+ .catch((err) => {
|
|
|
+ message.error(err);
|
|
|
+ loading.value = false;
|
|
|
+ cancel();
|
|
|
+ });
|
|
|
});
|
|
|
}
|
|
|
|