|
|
|
|
@ -89,7 +89,7 @@
|
|
|
|
|
</el-col>
|
|
|
|
|
<el-col :span="12">
|
|
|
|
|
<el-form-item label="发货类型" prop="shippingType">
|
|
|
|
|
<el-select v-model="form.shippingType" placeholder="请选择发货类型" style="width: 100%">
|
|
|
|
|
<el-select v-model="form.shippingType" placeholder="请选择发货类型" style="width: 100%" @change="handleShippingTypeChange">
|
|
|
|
|
<el-option v-for="dict in shipping_type" :key="dict.value" :label="dict.label" :value="dict.value" />
|
|
|
|
|
</el-select>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
@ -198,8 +198,8 @@
|
|
|
|
|
<el-form-item label="计划到货时间" prop="planArrivalTime">
|
|
|
|
|
<el-date-picker
|
|
|
|
|
v-model="form.planArrivalTime"
|
|
|
|
|
type="datetime"
|
|
|
|
|
value-format="YYYY-MM-DD HH:mm:ss"
|
|
|
|
|
type="date"
|
|
|
|
|
value-format="YYYY-MM-DD"
|
|
|
|
|
placeholder="请选择计划到货时间"
|
|
|
|
|
style="width: 100%"
|
|
|
|
|
/>
|
|
|
|
|
@ -377,7 +377,16 @@
|
|
|
|
|
<el-button icon="Refresh" @click="resetContractQuery">重置</el-button>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
</el-form>
|
|
|
|
|
<el-table v-loading="contractLoading" :data="contractList" border @row-click="handleContractRowClick" max-height="400">
|
|
|
|
|
<el-table
|
|
|
|
|
ref="contractTableRef"
|
|
|
|
|
v-loading="contractLoading"
|
|
|
|
|
:data="contractList"
|
|
|
|
|
border
|
|
|
|
|
@row-click="handleContractRowClick"
|
|
|
|
|
@select="handleContractSelect"
|
|
|
|
|
max-height="400"
|
|
|
|
|
>
|
|
|
|
|
<el-table-column type="selection" width="55" align="center" />
|
|
|
|
|
<el-table-column label="合同编号" align="center" prop="contractCode" min-width="120" />
|
|
|
|
|
<el-table-column label="合同名称" align="center" prop="contractName" min-width="180" show-overflow-tooltip />
|
|
|
|
|
<el-table-column label="合同总价" align="center" prop="totalPrice" min-width="120" />
|
|
|
|
|
@ -640,6 +649,7 @@ const projectSelectRef = ref<InstanceType<typeof ProjectSelect>>();
|
|
|
|
|
// 合同选择
|
|
|
|
|
const selectedContractName = ref<string>('');
|
|
|
|
|
const selectedSapOrderCode = ref<string>(''); // SAP订单号(来自合同)
|
|
|
|
|
const contractTableRef = ref();
|
|
|
|
|
const contractDialog = reactive({ visible: false });
|
|
|
|
|
const contractLoading = ref(false);
|
|
|
|
|
const contractList = ref<ContractInfoVO[]>([]);
|
|
|
|
|
@ -884,6 +894,24 @@ const resetContractQuery = () => {
|
|
|
|
|
|
|
|
|
|
const handleContractRowClick = (row: ContractInfoVO) => {
|
|
|
|
|
selectedContract.value = row;
|
|
|
|
|
// 同步选中状态到选择框
|
|
|
|
|
if (contractTableRef.value) {
|
|
|
|
|
contractTableRef.value.clearSelection();
|
|
|
|
|
contractTableRef.value.toggleRowSelection(row, true);
|
|
|
|
|
}
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
/** 合同选择框点击事件 - 实现单选 */
|
|
|
|
|
const handleContractSelect = (selection: any[], row: any) => {
|
|
|
|
|
if (contractTableRef.value) {
|
|
|
|
|
contractTableRef.value.clearSelection();
|
|
|
|
|
if (selection.length > 0) {
|
|
|
|
|
contractTableRef.value.toggleRowSelection(row, true);
|
|
|
|
|
selectedContract.value = row;
|
|
|
|
|
} else {
|
|
|
|
|
selectedContract.value = null;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
const submitContractSelect = () => {
|
|
|
|
|
@ -1090,6 +1118,23 @@ const handleWarehouseChange = (warehouseId: any) => {
|
|
|
|
|
}
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
/** 发货类型变化 - 联动需到货确认标识 */
|
|
|
|
|
const handleShippingTypeChange = (val: any) => {
|
|
|
|
|
if (val === '1') {
|
|
|
|
|
form.value.needArrivalConfirm = '1';
|
|
|
|
|
} else if (val === '2' || val === '3') {
|
|
|
|
|
form.value.needArrivalConfirm = '0';
|
|
|
|
|
}
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
/** 监听发货类型,确保逻辑一致性 */
|
|
|
|
|
watch(
|
|
|
|
|
() => form.value.shippingType,
|
|
|
|
|
(val) => {
|
|
|
|
|
handleShippingTypeChange(val);
|
|
|
|
|
}
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
/** 物料来源切换 */
|
|
|
|
|
const handleMaterialSourceChange = () => {
|
|
|
|
|
// 切换物料来源时,可以选择是否清空已选物料
|
|
|
|
|
|