This commit is contained in:
2026-04-01 19:36:50 +08:00
5 changed files with 81 additions and 43 deletions

View File

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

View File

@ -68,6 +68,15 @@
<a-input v-model:value="formState.comName" disabled /> <a-input v-model:value="formState.comName" disabled />
</a-form-item> </a-form-item>
</a-col> </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-col :span="8">
<a-form-item label="定价机制" name="prcTypeCode"> <a-form-item label="定价机制" name="prcTypeCode">
<a-select v-model:value="formState.prcTypeCode" :disabled="isDisable" style="width: 100%" allow-clear> <a-select v-model:value="formState.prcTypeCode" :disabled="isDisable" style="width: 100%" allow-clear>
@ -78,18 +87,18 @@
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :span="8"> <a-col :span="8">
<a-form-item label="量价周期" name="periodTypeCode"> <a-form-item label="主计量单位" name="uomCode">
<a-select v-model:value="formState.periodTypeCode" :disabled="isDisable" style="width: 100%" allow-clear> <a-select v-model:value="formState.uomCode" :disabled="isDisable" style="width: 100%" allow-clear>
<a-select-option v-for="item in optionSelect.periodTypeCodeList" :key="item.code" :value="item.code"> <a-select-option v-for="item in optionSelect.uomCodeList" :key="item.code" :value="item.code">
{{ item.name }} {{ item.name }}
</a-select-option> </a-select-option>
</a-select> </a-select>
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :span="8"> <a-col :span="8">
<a-form-item label="主计量单位" name="uomCode"> <a-form-item label="量价周期" name="periodTypeCode">
<a-select v-model:value="formState.uomCode" :disabled="isDisable" style="width: 100%" allow-clear> <a-select v-model:value="formState.periodTypeCode" :disabled="isDisable" style="width: 100%" allow-clear>
<a-select-option v-for="item in optionSelect.uomCodeList" :key="item.code" :value="item.code"> <a-select-option v-for="item in optionSelect.periodTypeCodeList" :key="item.code" :value="item.code">
{{ item.name }} {{ item.name }}
</a-select-option> </a-select-option>
</a-select> </a-select>
@ -307,7 +316,8 @@
periodTypeCodeList: [], periodTypeCodeList: [],
transSignList: [], transSignList: [],
baseIncList: [], baseIncList: [],
zfbyTypeCodeList: [] zfbyTypeCodeList: [],
longSpotCodeList: []
}); });
watch( watch(
() => props.id, () => props.id,
@ -406,7 +416,7 @@
optionSelect.transSignList = await getDictionary('LNG_YN') optionSelect.transSignList = await getDictionary('LNG_YN')
optionSelect.baseIncList = await getDictionary('LNG_BASE') optionSelect.baseIncList = await getDictionary('LNG_BASE')
optionSelect.zfbyTypeCodeList = await getDictionary('LNG_ZFBY') optionSelect.zfbyTypeCodeList = await getDictionary('LNG_ZFBY')
optionSelect.longSpotCodeList = await getDictionary('LNG_LONG_D')
if (!pageId.value) { if (!pageId.value) {
getCompDeptInfo(userInfo.id) 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-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-form-item>
</a-col> </a-col>
<a-col :span="8"> <a-col :span="16">
<a-form-item label="合同名称" name="kName"> <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-input v-model:value="formState.kName" placeholder="请输入合同名称" :disabled="isDisable"/>
</a-form-item> </a-form-item>
</a-col> </a-col>
@ -54,18 +54,12 @@
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :span="8"> <a-col :span="8">
<a-form-item label="业务人员" name="empName"> <a-form-item label="长协/现货/年度合同" name="longSpotCode">
<a-input-search v-model:value="formState.empName" :disabled="isDisable" placeholder="请选择业务联系人" readonly @search="onSearchUser"/> <a-select v-model:value="formState.lngContractSalesLngList[0].longSpotCode" :disabled="isDisable" style="width: 100%" allow-clear>
</a-form-item> <a-select-option v-for="item in optionSelect.longSpotCodeList" :key="item.code" :value="item.code">
</a-col> {{ item.name }}
<a-col :span="8"> </a-select-option>
<a-form-item label="业务部门" name="bDeptName"> </a-select>
<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> </a-form-item>
</a-col> </a-col>
<a-col :span="8"> <a-col :span="8">
@ -77,6 +71,21 @@
</a-select> </a-select>
</a-form-item> </a-form-item>
</a-col> </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-col :span="8">
<a-form-item label="量价周期" name="periodTypeCode"> <a-form-item label="量价周期" name="periodTypeCode">
<a-select v-model:value="formState.periodTypeCode" :disabled="isDisable" style="width: 100%" allow-clear> <a-select v-model:value="formState.periodTypeCode" :disabled="isDisable" style="width: 100%" allow-clear>
@ -260,7 +269,8 @@
onlineSignList: [], onlineSignList: [],
discTypeCodeList: [], discTypeCodeList: [],
baseIncList: [], baseIncList: [],
zfbyTypeCodeList: [] zfbyTypeCodeList: [],
longSpotCodeList: []
}); });
watch( watch(
() => props.id, () => props.id,
@ -343,6 +353,7 @@
optionSelect.discTypeCodeList = await getDictionary('LNG_DISC') optionSelect.discTypeCodeList = await getDictionary('LNG_DISC')
optionSelect.baseIncList = await getDictionary('LNG_BASE') optionSelect.baseIncList = await getDictionary('LNG_BASE')
optionSelect.zfbyTypeCodeList = await getDictionary('LNG_ZFBY') optionSelect.zfbyTypeCodeList = await getDictionary('LNG_ZFBY')
optionSelect.longSpotCodeList = await getDictionary('LNG_LONG_D')
if (!pageId.value) { 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-form-item label="比值(方/吉焦)" name="rateM3Gj" :class="diffResultList.includes('rateM3Gj')?'changeStyle':''">{{ formState.rateM3Gj }}</a-form-item>
</a-col> </a-col>
<a-col :span="8"> <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>
<a-col :span="8"> <a-col :span="8">
<a-form-item label="版本号" name="verNo" :class="diffResultList.includes('verNo')?'changeStyle':''">{{ formState.verNo }}</a-form-item> <a-form-item label="版本号" name="verNo" :class="diffResultList.includes('verNo')?'changeStyle':''">{{ formState.verNo }}</a-form-item>
</a-col> </a-col>
<a-col :span="8"> <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>
<a-col :span="24"> <a-col :span="24">
<a-form-item label="开机方式" name="" :label-col="{ span: 3 }" :wrapper-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 { useUserStore } from '/@/store/modules/user';
import { getLngPngDemandContractList, getLngPngDemandPointDely, getLngPngDemandContractQty, getLngPngDemandPurList, getLngPngDemandRate } from '/@/api/dayPlan/Demand'; import { getLngPngDemandContractList, getLngPngDemandPointDely, getLngPngDemandContractQty, getLngPngDemandPurList, getLngPngDemandRate } from '/@/api/dayPlan/Demand';
import NP from 'number-precision'; import NP from 'number-precision';
import { getDictionary } from '/@/api/sales/Customer';
const numFormat = "###,###,###,###,###,###.000" const numFormat = "###,###,###,###,###,###.000"
const userStore = useUserStore(); const userStore = useUserStore();
@ -184,6 +187,9 @@
labelCol: { span: 9 }, labelCol: { span: 9 },
wrapperCol: { span: 18 }, wrapperCol: { span: 18 },
} }
let optionSelect= reactive({
approCodeList: [],
});
const { t } = useI18n(); const { t } = useI18n();
const [registerContract, { openModal:openModalContractSales}] = useModal(); const [registerContract, { openModal:openModalContractSales}] = useModal();
const [registerUpLoad, { openModal:openModalUpLoad}] = useModal(); const [registerUpLoad, { openModal:openModalUpLoad}] = useModal();
@ -209,6 +215,7 @@
const contractList = ref([]) const contractList = ref([])
const pointDelyList = ref([]) const pointDelyList = ref([])
onMounted(async () =>{ onMounted(async () =>{
optionSelect.approCodeList = await getDictionary('LNG_APPRO')
if (!pageType.value) { if (!pageType.value) {
formState.value.lastVerSign = 'Y' formState.value.lastVerSign = 'Y'
formState.value.validSign = 'N' formState.value.validSign = 'N'

View File

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