合同添加长协字段

This commit is contained in:
‘huanghaiixia’
2026-03-31 17:37:26 +08:00
parent 607411a71b
commit 57d260f049
5 changed files with 81 additions and 43 deletions

View File

@ -68,6 +68,15 @@
<a-input v-model:value="formState.comName" disabled />
</a-form-item>
</a-col>
<a-col :span="8">
<a-form-item label="长协/现货/年度合同" name="longSpotCode">
<a-select v-model:value="formState.lngContractPurPngList[0].longSpotCode" :disabled="isDisable" style="width: 100%" allow-clear>
<a-select-option v-for="item in optionSelect.longSpotCodeList" :key="item.code" :value="item.code">
{{ item.name }}
</a-select-option>
</a-select>
</a-form-item>
</a-col>
<a-col :span="8">
<a-form-item label="定价机制" name="prcTypeCode">
<a-select v-model:value="formState.prcTypeCode" :disabled="isDisable" style="width: 100%" allow-clear>
@ -78,18 +87,18 @@
</a-form-item>
</a-col>
<a-col :span="8">
<a-form-item label="量价周期" name="periodTypeCode">
<a-select v-model:value="formState.periodTypeCode" :disabled="isDisable" style="width: 100%" allow-clear>
<a-select-option v-for="item in optionSelect.periodTypeCodeList" :key="item.code" :value="item.code">
<a-form-item label="主计量单位" name="uomCode">
<a-select v-model:value="formState.uomCode" :disabled="isDisable" style="width: 100%" allow-clear>
<a-select-option v-for="item in optionSelect.uomCodeList" :key="item.code" :value="item.code">
{{ item.name }}
</a-select-option>
</a-select>
</a-form-item>
</a-col>
<a-col :span="8">
<a-form-item label="主计量单位" name="uomCode">
<a-select v-model:value="formState.uomCode" :disabled="isDisable" style="width: 100%" allow-clear>
<a-select-option v-for="item in optionSelect.uomCodeList" :key="item.code" :value="item.code">
<a-form-item label="量价周期" name="periodTypeCode">
<a-select v-model:value="formState.periodTypeCode" :disabled="isDisable" style="width: 100%" allow-clear>
<a-select-option v-for="item in optionSelect.periodTypeCodeList" :key="item.code" :value="item.code">
{{ item.name }}
</a-select-option>
</a-select>
@ -286,7 +295,8 @@
periodTypeCodeList: [],
transSignList: [],
baseIncList: [],
zfbyTypeCodeList: []
zfbyTypeCodeList: [],
longSpotCodeList: []
});
watch(
() => props.id,
@ -375,7 +385,7 @@
optionSelect.transSignList = await getDictionary('LNG_YN')
optionSelect.baseIncList = await getDictionary('LNG_BASE')
optionSelect.zfbyTypeCodeList = await getDictionary('LNG_ZFBY')
optionSelect.longSpotCodeList = await getDictionary('LNG_LONG_D')
if (!pageId.value) {
getCompDeptInfo(userInfo.id)

View File

@ -68,6 +68,15 @@
<a-input v-model:value="formState.comName" disabled />
</a-form-item>
</a-col>
<a-col :span="8">
<a-form-item label="长协/现货/年度合同" name="longSpotCode">
<a-select v-model:value="formState.lngContractSalesPngList[0].longSpotCode" :disabled="isDisable" style="width: 100%" allow-clear>
<a-select-option v-for="item in optionSelect.longSpotCodeList" :key="item.code" :value="item.code">
{{ item.name }}
</a-select-option>
</a-select>
</a-form-item>
</a-col>
<a-col :span="8">
<a-form-item label="定价机制" name="prcTypeCode">
<a-select v-model:value="formState.prcTypeCode" :disabled="isDisable" style="width: 100%" allow-clear>
@ -78,18 +87,18 @@
</a-form-item>
</a-col>
<a-col :span="8">
<a-form-item label="量价周期" name="periodTypeCode">
<a-select v-model:value="formState.periodTypeCode" :disabled="isDisable" style="width: 100%" allow-clear>
<a-select-option v-for="item in optionSelect.periodTypeCodeList" :key="item.code" :value="item.code">
<a-form-item label="主计量单位" name="uomCode">
<a-select v-model:value="formState.uomCode" :disabled="isDisable" style="width: 100%" allow-clear>
<a-select-option v-for="item in optionSelect.uomCodeList" :key="item.code" :value="item.code">
{{ item.name }}
</a-select-option>
</a-select>
</a-form-item>
</a-col>
<a-col :span="8">
<a-form-item label="主计量单位" name="uomCode">
<a-select v-model:value="formState.uomCode" :disabled="isDisable" style="width: 100%" allow-clear>
<a-select-option v-for="item in optionSelect.uomCodeList" :key="item.code" :value="item.code">
<a-form-item label="量价周期" name="periodTypeCode">
<a-select v-model:value="formState.periodTypeCode" :disabled="isDisable" style="width: 100%" allow-clear>
<a-select-option v-for="item in optionSelect.periodTypeCodeList" :key="item.code" :value="item.code">
{{ item.name }}
</a-select-option>
</a-select>
@ -307,7 +316,8 @@
periodTypeCodeList: [],
transSignList: [],
baseIncList: [],
zfbyTypeCodeList: []
zfbyTypeCodeList: [],
longSpotCodeList: []
});
watch(
() => props.id,
@ -406,7 +416,7 @@
optionSelect.transSignList = await getDictionary('LNG_YN')
optionSelect.baseIncList = await getDictionary('LNG_BASE')
optionSelect.zfbyTypeCodeList = await getDictionary('LNG_ZFBY')
optionSelect.longSpotCodeList = await getDictionary('LNG_LONG_D')
if (!pageId.value) {
getCompDeptInfo(userInfo.id)

View File

@ -9,8 +9,8 @@
<a-input v-model:value="formState.kNo" :disabled="isDisable" style="width: 65%" /><a-button v-if="!isDisable" type="primary" @click="onContract">关联合同</a-button>
</a-form-item>
</a-col>
<a-col :span="8">
<a-form-item label="合同名称" name="kName">
<a-col :span="16">
<a-form-item label="合同名称" name="kName" :label-col="{ span: 4 }" :wrapper-col="{ span: 24 }">
<a-input v-model:value="formState.kName" placeholder="请输入合同名称" :disabled="isDisable"/>
</a-form-item>
</a-col>
@ -54,18 +54,12 @@
</a-form-item>
</a-col>
<a-col :span="8">
<a-form-item label="业务人员" name="empName">
<a-input-search v-model:value="formState.empName" :disabled="isDisable" placeholder="请选择业务联系人" readonly @search="onSearchUser"/>
</a-form-item>
</a-col>
<a-col :span="8">
<a-form-item label="业务部门" name="bDeptName">
<a-input-search v-model:value="formState.bDeptName" disabled placeholder="请选择业务部门" readonly @search="onSearch"/>
</a-form-item>
</a-col>
<a-col :span="8">
<a-form-item label="合同主体" name="comName">
<a-input v-model:value="formState.comName" disabled />
<a-form-item label="长协/现货/年度合同" name="longSpotCode">
<a-select v-model:value="formState.lngContractSalesLngList[0].longSpotCode" :disabled="isDisable" style="width: 100%" allow-clear>
<a-select-option v-for="item in optionSelect.longSpotCodeList" :key="item.code" :value="item.code">
{{ item.name }}
</a-select-option>
</a-select>
</a-form-item>
</a-col>
<a-col :span="8">
@ -77,6 +71,21 @@
</a-select>
</a-form-item>
</a-col>
<a-col :span="8">
<a-form-item label="合同主体" name="comName">
<a-input v-model:value="formState.comName" disabled />
</a-form-item>
</a-col>
<a-col :span="8">
<a-form-item label="业务人员" name="empName">
<a-input-search v-model:value="formState.empName" :disabled="isDisable" placeholder="请选择业务联系人" readonly @search="onSearchUser"/>
</a-form-item>
</a-col>
<a-col :span="8">
<a-form-item label="业务部门" name="bDeptName">
<a-input-search v-model:value="formState.bDeptName" disabled placeholder="请选择业务部门" readonly @search="onSearch"/>
</a-form-item>
</a-col>
<a-col :span="8">
<a-form-item label="量价周期" name="periodTypeCode">
<a-select v-model:value="formState.periodTypeCode" :disabled="isDisable" style="width: 100%" allow-clear>
@ -260,7 +269,8 @@
onlineSignList: [],
discTypeCodeList: [],
baseIncList: [],
zfbyTypeCodeList: []
zfbyTypeCodeList: [],
longSpotCodeList: []
});
watch(
() => props.id,
@ -343,6 +353,7 @@
optionSelect.discTypeCodeList = await getDictionary('LNG_DISC')
optionSelect.baseIncList = await getDictionary('LNG_BASE')
optionSelect.zfbyTypeCodeList = await getDictionary('LNG_ZFBY')
optionSelect.longSpotCodeList = await getDictionary('LNG_LONG_D')
if (!pageId.value) {

View File

@ -74,13 +74,15 @@
<a-form-item label="比值(方/吉焦)" name="rateM3Gj" :class="diffResultList.includes('rateM3Gj')?'changeStyle':''">{{ formState.rateM3Gj }}</a-form-item>
</a-col>
<a-col :span="8">
<a-form-item label="交易主体" name="comName" :class="diffResultList.includes('comName')?'changeStyle':''">{{ formState.name }}</a-form-item>
<a-form-item label="交易主体" name="comName" :class="diffResultList.includes('comName')?'changeStyle':''">{{ formState.comName }}</a-form-item>
</a-col>
<a-col :span="8">
<a-form-item label="版本号" name="verNo" :class="diffResultList.includes('verNo')?'changeStyle':''">{{ formState.verNo }}</a-form-item>
</a-col>
<a-col :span="8">
<a-form-item label="审批状态" name="approName" :class="diffResultList.includes('approName')?'changeStyle':''">{{ formState.approName }}</a-form-item>
<a-form-item label="审批状态" name="approName" :class="diffResultList.includes('approName')?'changeStyle':''">
{{ (optionSelect.approCodeList.find(v=>v.code == formState.approCode)||{}).name }}
</a-form-item>
</a-col>
<a-col :span="24">
<a-form-item label="开机方式" name="" :label-col="{ span: 3 }" :wrapper-col="{ span: 24 }">
@ -166,6 +168,7 @@
import { useUserStore } from '/@/store/modules/user';
import { getLngPngDemandContractList, getLngPngDemandPointDely, getLngPngDemandContractQty, getLngPngDemandPurList, getLngPngDemandRate } from '/@/api/dayPlan/Demand';
import NP from 'number-precision';
import { getDictionary } from '/@/api/sales/Customer';
const numFormat = "###,###,###,###,###,###.000"
const userStore = useUserStore();
@ -184,6 +187,9 @@
labelCol: { span: 9 },
wrapperCol: { span: 18 },
}
let optionSelect= reactive({
approCodeList: [],
});
const { t } = useI18n();
const [registerContract, { openModal:openModalContractSales}] = useModal();
const [registerUpLoad, { openModal:openModalUpLoad}] = useModal();
@ -209,6 +215,7 @@
const contractList = ref([])
const pointDelyList = ref([])
onMounted(async () =>{
optionSelect.approCodeList = await getDictionary('LNG_APPRO')
if (!pageType.value) {
formState.value.lastVerSign = 'Y'
formState.value.validSign = 'N'

View File

@ -79,7 +79,7 @@ export const columns: BasicColumn[] = [
title: '下载点',
componentType: 'input',
align: 'left',
width: 120,
sorter: true,
},
@ -88,7 +88,7 @@ export const columns: BasicColumn[] = [
title: '指定量(吉焦)',
componentType: 'input',
align: 'left',
width: 120,
sorter: true,
},
@ -97,7 +97,7 @@ export const columns: BasicColumn[] = [
title: '指定量(万方)',
componentType: 'input',
align: 'left',
width: 120,
sorter: true,
},
@ -106,7 +106,7 @@ export const columns: BasicColumn[] = [
title: '批复量(吉焦)',
componentType: 'input',
align: 'left',
width: 120,
sorter: true,
},
@ -115,7 +115,7 @@ export const columns: BasicColumn[] = [
title: '批复量(万方)',
componentType: 'input',
align: 'left',
width: 120,
sorter: true,
},
@ -141,7 +141,7 @@ export const columns: BasicColumn[] = [
title: '审批状态',
componentType: 'input',
align: 'left',
width: 100,
width: 80,
sorter: true,
},
];