|
|
@@ -1,159 +1,162 @@
|
|
|
<template>
|
|
|
- <!-- 点价登记-->
|
|
|
- <a-modal class="commonModal someprice"
|
|
|
- :title="selectedRow.contracttype===1? '采购合同-点价登记': '销售合同-点价登记'"
|
|
|
- v-model:visible="visible"
|
|
|
- @cancel="cancel"
|
|
|
- centered
|
|
|
- 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 someprice"
|
|
|
+ :title="selectedRow.contracttype===1? '采购合同-点价登记': '销售合同-点价登记'"
|
|
|
+ v-model:visible="visible"
|
|
|
+ @cancel="cancel"
|
|
|
+ centered
|
|
|
+ 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 { operationContractReq } from '@/services/proto/contract';
|
|
|
-import { message } from 'ant-design-vue';
|
|
|
-import Long from 'long';
|
|
|
-import { objectToUint8Array } from '@/utils/objHandle';
|
|
|
+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 {SomePriceReq} from "@/services/proto/contract/interface";
|
|
|
+import {somePriceReq} from "@/views/business/purchase/components/setup";
|
|
|
|
|
|
export default defineComponent({
|
|
|
name: 'purchase_pending_someprice',
|
|
|
@@ -164,11 +167,12 @@ export default defineComponent({
|
|
|
default: {},
|
|
|
},
|
|
|
},
|
|
|
- setup(props) {
|
|
|
- const { visible, cancel } = closeModal('purchase_pending_someprice');
|
|
|
+ setup(props, context) {
|
|
|
+ const {visible, cancel} = closeModal('purchase_pending_someprice');
|
|
|
const loading = ref<boolean>(false);
|
|
|
const formRef = ref();
|
|
|
- const formState = reactive({ PricedPrice: 0, PricedQty: 0 });
|
|
|
+ const formState = reactive({PricedPrice: 0, PricedQty: 0});
|
|
|
+
|
|
|
const numberIstrue = (rule: any, value: any) => {
|
|
|
if (!value) {
|
|
|
return Promise.reject(new Error('请输入正确的值'));
|
|
|
@@ -177,32 +181,33 @@ export default defineComponent({
|
|
|
}
|
|
|
};
|
|
|
const formStateRules = {
|
|
|
- PricedPrice: [{ required: true, validator: numberIstrue, trigger: 'blur', type: 'number' }],
|
|
|
- PricedQty: [{ required: true, validator: numberIstrue, trigger: 'blur', type: 'number' }],
|
|
|
+ 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;
|
|
|
- operationContractReq({
|
|
|
- OperateType: 1, // uint32 操作类型-1:登记2:确认3:拒绝4:撤销
|
|
|
- Info: {
|
|
|
- OperateApplyType: 1, // uint32 操作申请类型-1:点价2:结算3:款项4:发票
|
|
|
- RelatedID: Long.fromString(props.selectedRow.spotcontractid), // 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();
|
|
|
- });
|
|
|
- });
|
|
|
+ loading.value = true;
|
|
|
+
|
|
|
+ const params: SomePriceReq = {
|
|
|
+ PricedPrice: Number(formState.PricedPrice),
|
|
|
+ PricedQty: Number(formState.PricedQty)
|
|
|
+ }
|
|
|
+ // 发出点价请求
|
|
|
+ somePriceReq(
|
|
|
+ props.selectedRow.spotcontractid,
|
|
|
+ params, loading)
|
|
|
+ .then(res => {
|
|
|
+ cancel()
|
|
|
+ context.emit('refresh')
|
|
|
+ })
|
|
|
+ .catch(err => {
|
|
|
+
|
|
|
+ })
|
|
|
+ }
|
|
|
+
|
|
|
+ );
|
|
|
}
|
|
|
|
|
|
return {
|
|
|
@@ -217,7 +222,8 @@ export default defineComponent({
|
|
|
getPriceTypeName,
|
|
|
};
|
|
|
},
|
|
|
-});
|
|
|
+})
|
|
|
+;
|
|
|
</script>
|
|
|
|
|
|
<style lang="less">
|
|
|
@@ -227,6 +233,7 @@ export default defineComponent({
|
|
|
padding: 24px;
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
legend {
|
|
|
width: auto;
|
|
|
margin-left: 20px;
|