|
@@ -16,15 +16,20 @@
|
|
|
>
|
|
|
添加物品
|
|
|
</el-button>
|
|
|
- <el-table :data="formData.data.salesReturnDetailList">
|
|
|
- <el-table-column prop="productCode" label="货品编码" />
|
|
|
- <el-table-column prop="productName" label="货品名称" />
|
|
|
+ <el-table :data="formData.data.subscribeDetailList">
|
|
|
+ <el-table-column
|
|
|
+ prop="goodType"
|
|
|
+ label="物品类型"
|
|
|
+ :formatter="(row) => (row.goodType == 1 ? '产品' : '物料')"
|
|
|
+ />
|
|
|
+ <el-table-column prop="productCode" label="物品编码" />
|
|
|
+ <el-table-column prop="productName" label="物品名称" />
|
|
|
<el-table-column prop="productSpec" label="规格型号" />
|
|
|
<el-table-column prop="productUnit" label="单位" />
|
|
|
- <el-table-column prop="count" label="退货数量" min-width="150">
|
|
|
+ <el-table-column prop="count" label="申购数量" min-width="150">
|
|
|
<template #default="{ row, $index }">
|
|
|
<el-form-item
|
|
|
- :prop="'salesReturnDetailList.' + $index + '.count'"
|
|
|
+ :prop="'subscribeDetailList.' + $index + '.count'"
|
|
|
:rules="rules.count"
|
|
|
:inline-message="true"
|
|
|
>
|
|
@@ -37,10 +42,10 @@
|
|
|
</el-form-item>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column prop="remark" label="退货原因" min-width="150">
|
|
|
+ <el-table-column prop="remark" label="备注" min-width="150">
|
|
|
<template #default="{ row, $index }">
|
|
|
<el-form-item
|
|
|
- :prop="'salesReturnDetailList.' + $index + '.remark'"
|
|
|
+ :prop="'subscribeDetailList.' + $index + '.remark'"
|
|
|
:rules="rules.remark"
|
|
|
:inline-message="true"
|
|
|
>
|
|
@@ -61,7 +66,7 @@
|
|
|
</byForm>
|
|
|
<el-dialog
|
|
|
v-model="openProduct"
|
|
|
- title="选择货品"
|
|
|
+ title="选择物品"
|
|
|
width="70%"
|
|
|
append-to-body
|
|
|
>
|
|
@@ -82,15 +87,18 @@ const { proxy } = getCurrentInstance();
|
|
|
|
|
|
let formData = reactive({
|
|
|
data: {
|
|
|
- supplyId: "",
|
|
|
- salesReturnDetailList: [],
|
|
|
- returnName: "",
|
|
|
+ subscribeDetailList: [],
|
|
|
},
|
|
|
});
|
|
|
let rules = ref({
|
|
|
- supplyId: [{ required: true, message: "请选择供应商", trigger: "change" }],
|
|
|
- count: [{ required: true, message: "请输入退货数量", trigger: "blur" }],
|
|
|
- remark: [{ required: true, message: "请输入退货原因", trigger: "blur" }],
|
|
|
+ receiptWarehouseId: [
|
|
|
+ { required: true, message: "请选择收获仓库", trigger: "change" },
|
|
|
+ ],
|
|
|
+ planArrivalTime: [
|
|
|
+ { required: true, message: "请选择要求到货时间", trigger: "change" },
|
|
|
+ ],
|
|
|
+ count: [{ required: true, message: "请输入申购数量", trigger: "blur" }],
|
|
|
+ remark: [{ required: true, message: "请输入申购备注", trigger: "blur" }],
|
|
|
});
|
|
|
const formOption = reactive({
|
|
|
inline: true,
|
|
@@ -101,8 +109,8 @@ const formConfig = computed(() => {
|
|
|
return [
|
|
|
{
|
|
|
type: "input",
|
|
|
- prop: "returnDept",
|
|
|
- label: "申请部门",
|
|
|
+ prop: "deptName",
|
|
|
+ label: "申购部门",
|
|
|
itemWidth: 25,
|
|
|
disabled: true,
|
|
|
style: {
|
|
@@ -111,8 +119,8 @@ const formConfig = computed(() => {
|
|
|
},
|
|
|
{
|
|
|
type: "input",
|
|
|
- prop: "returnName",
|
|
|
- label: "申请人",
|
|
|
+ prop: "subcribeName",
|
|
|
+ label: "申购人",
|
|
|
itemWidth: 25,
|
|
|
disabled: true,
|
|
|
style: {
|
|
@@ -121,9 +129,9 @@ const formConfig = computed(() => {
|
|
|
},
|
|
|
{
|
|
|
type: "date",
|
|
|
- prop: "purchaseTime",
|
|
|
- label: "申请时间",
|
|
|
- itemWidth: 25,
|
|
|
+ prop: "subcribeTime",
|
|
|
+ label: "申购时间",
|
|
|
+ itemWidth: 26,
|
|
|
disabled: true,
|
|
|
style: {
|
|
|
"margin-right": "10px",
|
|
@@ -131,10 +139,11 @@ const formConfig = computed(() => {
|
|
|
},
|
|
|
{
|
|
|
type: "select",
|
|
|
- prop: "supplyId",
|
|
|
- label: "供应商",
|
|
|
+ prop: "receiptWarehouseId",
|
|
|
+ label: "收获仓库",
|
|
|
+ itemWidth: 25,
|
|
|
isLoad: {
|
|
|
- url: "/supplierInfo/page",
|
|
|
+ url: "/warehouse/page",
|
|
|
req: {
|
|
|
pageNum: 1,
|
|
|
pageSize: 9999,
|
|
@@ -146,9 +155,25 @@ const formConfig = computed(() => {
|
|
|
},
|
|
|
},
|
|
|
{
|
|
|
+ type: "date",
|
|
|
+ prop: "planArrivalTime",
|
|
|
+ label: "要求到货时间",
|
|
|
+ itemWidth: 25,
|
|
|
+ format: "YYYY-MM-DD",
|
|
|
+ style: {
|
|
|
+ "margin-left": "10px",
|
|
|
+ },
|
|
|
+ },
|
|
|
+ {
|
|
|
+ type: "input",
|
|
|
+ itemType: "textarea",
|
|
|
+ prop: "subcribeContent",
|
|
|
+ label: "申购说明",
|
|
|
+ },
|
|
|
+ {
|
|
|
type: "slot",
|
|
|
slotName: "details",
|
|
|
- label: "退货明细",
|
|
|
+ label: "申购明细",
|
|
|
},
|
|
|
];
|
|
|
});
|
|
@@ -156,13 +181,13 @@ const formDom = ref(null);
|
|
|
const handleSubmit = async () => {
|
|
|
const vaild = await formDom.value.handleSubmit(() => {}); //拿到内部表单是否验证通过
|
|
|
if (vaild) {
|
|
|
- if (formData.data.salesReturnDetailList.length > 0) {
|
|
|
- const list = formData.data.salesReturnDetailList;
|
|
|
+ if (formData.data.subscribeDetailList.length > 0) {
|
|
|
+ const list = formData.data.subscribeDetailList;
|
|
|
for (let i = 0; i < list.length; i++) {
|
|
|
const e = list[i];
|
|
|
if (e.count == 0) {
|
|
|
ElMessage({
|
|
|
- message: "退货数量不能为0!",
|
|
|
+ message: "申购数量不能为0!",
|
|
|
type: "info",
|
|
|
});
|
|
|
return false;
|
|
@@ -171,7 +196,7 @@ const handleSubmit = async () => {
|
|
|
return true;
|
|
|
}
|
|
|
ElMessage({
|
|
|
- message: "请添加退货明细!",
|
|
|
+ message: "请添加申购明细!",
|
|
|
type: "info",
|
|
|
});
|
|
|
return false;
|
|
@@ -179,7 +204,7 @@ const handleSubmit = async () => {
|
|
|
};
|
|
|
let openProduct = ref(false);
|
|
|
const handleRemove = (index) => {
|
|
|
- formData.data.salesReturnDetailList.splice(index, 1);
|
|
|
+ formData.data.subscribeDetailList.splice(index, 1);
|
|
|
return ElMessage({
|
|
|
message: "删除成功!",
|
|
|
type: "success",
|
|
@@ -196,8 +221,8 @@ const pushGoods = (goods) => {
|
|
|
bussinessId: x.id,
|
|
|
remark: "",
|
|
|
}));
|
|
|
- formData.data.salesReturnDetailList =
|
|
|
- formData.data.salesReturnDetailList.concat(arr);
|
|
|
+ formData.data.subscribeDetailList =
|
|
|
+ formData.data.subscribeDetailList.concat(arr);
|
|
|
return ElMessage({
|
|
|
message: "添加成功!",
|
|
|
type: "success",
|
|
@@ -212,9 +237,9 @@ const props = defineProps({
|
|
|
// 获取用户信息并赋默认值
|
|
|
const userInfo = useUserStore().user;
|
|
|
onMounted(() => {
|
|
|
- formData.data.purchaseTime = proxy.parseTime(new Date());
|
|
|
- formData.data.returnDept = userInfo.dept.deptName;
|
|
|
- formData.data.returnName = userInfo.nickName;
|
|
|
+ formData.data.subcribeTime = proxy.parseTime(new Date());
|
|
|
+ formData.data.deptName = userInfo.dept.deptName;
|
|
|
+ formData.data.subcribeName = userInfo.nickName;
|
|
|
});
|
|
|
// 向父组件暴露
|
|
|
defineExpose({
|