生成订单转弹窗

master
mhsnet 2 months ago
parent 0685a2bfc5
commit dddc9896ab

@ -565,6 +565,11 @@
@close="selectDialogVisible = false" @close="selectDialogVisible = false"
/> />
</el-row> </el-row>
<JNPF-Form-Order
v-if="formOrderVisible"
ref="JNPFFormOrder"
@refresh="fnRefreshFormOrder"
/>
</div> </div>
</transition> </transition>
</template> </template>
@ -584,8 +589,11 @@ import {
getLaterTime getLaterTime
} from "@/components/Generator/utils/index.js"; } from "@/components/Generator/utils/index.js";
import { thousandsFormat } from "@/components/Generator/utils/index"; import { thousandsFormat } from "@/components/Generator/utils/index";
import JNPFFormOrder from "./formOrder";
export default { export default {
components: {}, components: {
JNPFFormOrder
},
props: [], props: [],
data() { data() {
return { return {
@ -726,7 +734,8 @@ export default {
orderStatus: undefined, orderStatus: undefined,
orderFiles: [] orderFiles: []
}, },
procurementOrderList: [] procurementOrderList: [],
formOrderVisible: true
}; };
}, },
computed: { computed: {
@ -740,19 +749,28 @@ export default {
}, },
mounted() {}, mounted() {},
methods: { methods: {
fnRefreshFormOrder(isrRefresh) {
this.formOrderVisible = false;
if (isrRefresh) this.reset();
},
fnProcurementOrderCreate(row) { fnProcurementOrderCreate(row) {
this.procurementOrderItem = { ...this.procurementOrderItemO }; this.$nextTick(() => {
this.procurementOrderItem.materialId = row.id; this.$refs.JNPFFormOrder.init(this.dataForm, row);
this.procurementOrderItem.materialCode = row.materialCode; });
this.procurementOrderItem.materialName = row.materialName;
this.procurementOrderItem.materialType = row.materialType;
this.procurementOrderItem.lackNumber = row.lackNumber;
this.procurementOrderItem.unit = row.unit;
this.procurementOrderItem.procurementNumber = this.dataForm.procurementNumber;
this.procurementOrderList = [];
this.procurementOrderList.push({ ...this.procurementOrderItem });
this.isOrdering = true;
}, },
// fnProcurementOrderCreate(row) {
// this.procurementOrderItem = { ...this.procurementOrderItemO };
// this.procurementOrderItem.materialId = row.id;
// this.procurementOrderItem.materialCode = row.materialCode;
// this.procurementOrderItem.materialName = row.materialName;
// this.procurementOrderItem.materialType = row.materialType;
// this.procurementOrderItem.lackNumber = row.lackNumber;
// this.procurementOrderItem.unit = row.unit;
// this.procurementOrderItem.procurementNumber = this.dataForm.procurementNumber;
// this.procurementOrderList = [];
// this.procurementOrderList.push({ ...this.procurementOrderItem });
// this.isOrdering = true;
// },
fnProcurementOrderItemAdd() { fnProcurementOrderItemAdd() {
this.procurementOrderList.push({ ...this.procurementOrderItem }); this.procurementOrderList.push({ ...this.procurementOrderItem });
}, },

@ -0,0 +1,299 @@
<template>
<el-dialog
:title="'生成采购单'"
:close-on-click-modal="false"
append-to-body
:visible.sync="visible"
class="JNPF-dialog JNPF-dialog_center"
lock-scroll
width="860px"
>
<el-row :gutter="15" class="">
<el-col :span="24"></el-col>
<el-col :span="24">
<el-row style="padding: 20px 0px;">
<el-col :span="5"
>物料编码{{ procurementOrderItem.materialCode }}</el-col
>
<el-col :span="5"
>物料名称{{ procurementOrderItem.materialName }}</el-col
>
<el-col :span="5"
>物料类型{{ procurementOrderItem.materialType }}</el-col
>
<el-col :span="5"
>欠缺量{{ procurementOrderItem.lackNumber }}</el-col
>
<el-col :span="4">计量单位{{ procurementOrderItem.unit }}</el-col>
</el-row>
</el-col>
<el-col :span="24">
<el-table :data="procurementOrderList" size="mini" border>
<el-table-column
type="index"
width="50"
label="序号"
align="center"
/>
<el-table-column label="供应商" prop="supplier">
<template slot="header">
<span class="required-sign">*</span> 供应商
</template>
<template slot-scope="scope">
<JnpfPopupSelect
v-model="scope.row.supplier"
:rowIndex="null"
:formData="scope.row"
:templateJson="[]"
placeholder="请选择"
propsValue="supplier_id"
popupWidth="800px"
popupTitle="选择数据"
popupType="dialog"
relationField="supplier_cname"
field="supplier"
interfaceId="591554794397630469"
:pageSize="20"
:columnOptions="suppliercolumnOptions"
clearable
:style="{ width: '100%' }"
>
</JnpfPopupSelect>
</template>
</el-table-column>
<el-table-column label="下单数量" prop="orderQuantity">
<template slot="header">
<span class="required-sign">*</span> 下单数量
</template>
<template slot-scope="scope">
<JnpfInputNumber
v-model="scope.row.orderQuantity"
placeholder="数字文本"
:precision="2"
:step="1"
>
</JnpfInputNumber>
</template>
</el-table-column>
<el-table-column label="要求到货日期" prop="requestDeliveryDate">
<template slot-scope="scope">
<JnpfDatePicker
v-model="scope.row.requestDeliveryDate"
:startTime="dateTime(false, 1, 1, '', '')"
:endTime="dateTime(false, 1, 1, '', '')"
placeholder="请选择"
clearable
:style="{ width: '100%' }"
type="month"
format="yyyy-MM-dd"
>
</JnpfDatePicker>
</template>
</el-table-column>
<el-table-column label="操作" width="200">
<template slot-scope="scope">
<el-button
size="mini"
type="text"
class="JNPF-table-delBtn"
@click="fnProcurementOrderItemDel(scope.$index)"
>删除</el-button
>
</template>
</el-table-column>
</el-table>
<div class="table-actions" @click="fnProcurementOrderItemAdd()">
<el-button type="text" icon="el-icon-plus">添加</el-button>
</div>
</el-col>
</el-row>
<span slot="footer" class="dialog-footer">
<el-button @click="visible = false"> </el-button>
<el-button
type="primary"
@click="fnProcurementOrderSub()"
:loading="btnLoading"
>
</el-button
>
</span>
</el-dialog>
</template>
<script>
import request from "@/utils/request";
import {
getDateDay,
getLaterData,
getBeforeData,
getBeforeTime,
getLaterTime
} from "@/components/Generator/utils/index.js";
export default {
components: {},
props: [],
data() {
return {
visible: false,
loading: false,
btnLoading: false,
dataForm: {},
row: {},
procurementOrderItemO: {
orderNumber: undefined,
orderDate: undefined,
procurementNumber: undefined,
supplier: undefined,
materialId: undefined,
materialCode: undefined,
materialName: undefined,
specification: undefined,
orderQuantity: undefined,
unit: undefined,
totalProductionQuantity: undefined,
totalSendQuantity: undefined,
requestDeliveryDate: undefined,
delayReason: undefined,
delayedDeliveryDate: undefined,
batchDeliveryDate: undefined,
batchShipmentQuantity: undefined,
confirmQuantityReceived: undefined,
orderStatus: undefined,
orderFiles: []
},
procurementOrderItem: {
orderNumber: undefined,
orderDate: undefined,
procurementNumber: undefined,
supplier: undefined,
materialId: undefined,
materialCode: undefined,
materialName: undefined,
specification: undefined,
orderQuantity: undefined,
unit: undefined,
totalProductionQuantity: undefined,
totalSendQuantity: undefined,
requestDeliveryDate: undefined,
delayReason: undefined,
delayedDeliveryDate: undefined,
batchDeliveryDate: undefined,
batchShipmentQuantity: undefined,
confirmQuantityReceived: undefined,
orderStatus: undefined,
orderFiles: []
},
procurementOrderList: [],
suppliercolumnOptions: [
{ label: "物料需求计划单", value: "supplier_id" },
{ label: "物料信息", value: "supplier_sname" },
{ label: "年月", value: "supplier_cname" },
{ label: "单据日期", value: "supplier_classification" }
]
};
},
computed: {
},
watch: {},
created() {
},
mounted() {},
methods: {
fnProcurementOrderSub() {
let _data = {
orderData: this.procurementOrderList
};
request({
url: "/api/example/YysMaterialProcurementOrder/initOrder",
method: "post",
data: _data
})
.then(res => {
if (res.code == 200) {
this.$message({
message: res.msg,
type: "success",
duration: 1500,
onClose: () => {
this.goBack();
}
});
}
console.log(res);
})
.catch(err => {});
///api/example/YysMaterialProcurementOrder/initOrder
},
fnProcurementOrderItemAdd() {
this.procurementOrderList.push({ ...this.procurementOrderItem });
},
fnProcurementOrderItemDel(index) {
this.$confirm("此操作将永久删除该数据, 是否继续?", "提示", {
type: "warning"
})
.then(() => {
this.procurementOrderList.splice(index, 1);
})
.catch(() => {});
},
goBack() {
this.visible = false;
this.$emit("refreshDataList", true);
},
init(dataForm, row) {
this.dataForm = dataForm;
this.row = row;
this.fnProcurementOrderCreate(row);
this.visible = true;
},
fnProcurementOrderCreate(row) {
this.procurementOrderItem = { ...this.procurementOrderItemO };
this.procurementOrderItem.materialId = row.id;
this.procurementOrderItem.materialCode = row.materialCode;
this.procurementOrderItem.materialName = row.materialName;
this.procurementOrderItem.materialType = row.materialType;
this.procurementOrderItem.lackNumber = row.lackNumber;
this.procurementOrderItem.unit = row.unit;
this.procurementOrderItem.procurementNumber = this.dataForm.procurementNumber;
this.procurementOrderList = [];
this.procurementOrderList.push({ ...this.procurementOrderItem });
},
dateTime(timeRule, timeType, timeTarget, timeValueData, dataValue) {
let timeDataValue = null;
let timeValue = Number(timeValueData);
if (timeRule) {
if (timeType == 1) {
timeDataValue = timeValue;
} else if (timeType == 2) {
timeDataValue = dataValue;
} else if (timeType == 3) {
timeDataValue = new Date().getTime();
} else if (timeType == 4) {
let previousDate = "";
if (timeTarget == 1 || timeTarget == 2) {
previousDate = getDateDay(timeTarget, timeType, timeValue);
timeDataValue = new Date(previousDate).getTime();
} else if (timeTarget == 3) {
previousDate = getBeforeData(timeValue);
timeDataValue = new Date(previousDate).getTime();
} else {
timeDataValue = getBeforeTime(timeTarget, timeValue).getTime();
}
} else if (timeType == 5) {
let previousDate = "";
if (timeTarget == 1 || timeTarget == 2) {
previousDate = getDateDay(timeTarget, timeType, timeValue);
timeDataValue = new Date(previousDate).getTime();
} else if (timeTarget == 3) {
previousDate = getLaterData(timeValue);
timeDataValue = new Date(previousDate).getTime();
} else {
timeDataValue = getLaterTime(timeTarget, timeValue).getTime();
}
}
}
return timeDataValue;
},
}
};
</script>
Loading…
Cancel
Save