Skip to content

Commit 53c94af

Browse files
committed
✨ ERP:初始化其它入库的表单 40%
1 parent d92404f commit 53c94af

File tree

4 files changed

+167
-91
lines changed

4 files changed

+167
-91
lines changed

src/api/erp/stock/stock/index.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,11 @@ export const StockApi = {
2424
return await request.get({ url: `/erp/stock/get?id=` + id })
2525
},
2626

27+
// 查询产品库存详情
28+
getStock2: async (productId: number, warehouseId: number) => {
29+
return await request.get({ url: `/erp/stock/get`, params: { productId, warehouseId } })
30+
},
31+
2732
// 导出产品库存 Excel
2833
exportStock: async (params) => {
2934
return await request.download({ url: `/erp/stock/export-excel`, params })

src/components/UploadFile/src/UploadFile.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -160,7 +160,7 @@ const emitUpdateModelValue = () => {
160160
// 情况1:数组结果
161161
let result: string | string[] = fileList.value.map((file) => file.url!)
162162
// 情况2:逗号分隔的字符串
163-
if (isString(props.modelValue)) {
163+
if (props.limit === 1 || isString(props.modelValue)) {
164164
result = result.join(',')
165165
}
166166
emit('update:modelValue', result)

src/views/erp/stock/in/StockInForm.vue

Lines changed: 34 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -8,54 +8,54 @@
88
v-loading="formLoading"
99
>
1010
<el-row :gutter="20">
11-
<el-col :span="12">
11+
<!-- TODO 芋艿:待接入 -->
12+
<el-col :span="8">
1213
<el-form-item label="入库单号" prop="no">
1314
<el-input v-model="formData.no" placeholder="请输入入库单号" />
1415
</el-form-item>
1516
</el-col>
16-
<el-col :span="12">
17+
<el-col :span="8">
1718
<el-form-item label="入库时间" prop="inTime">
1819
<el-date-picker
1920
v-model="formData.inTime"
2021
type="date"
2122
value-format="x"
2223
placeholder="选择入库时间"
24+
class="!w-1/1"
2325
/>
2426
</el-form-item>
2527
</el-col>
26-
<el-col :span="12">
28+
<!-- TODO 芋艿:待接入 -->
29+
<el-col :span="8">
2730
<el-form-item label="供应商" prop="supplierId">
28-
<el-input v-model="formData.supplierId" placeholder="请输入供应商编号" />
31+
<el-input v-model="formData.supplierId" placeholder="请输入供应商" />
2932
</el-form-item>
3033
</el-col>
31-
<!-- TODO 芋艿:附件 -->
32-
<el-col :span="24">
34+
<el-col :span="16">
3335
<el-form-item label="备注" prop="remark">
34-
<el-input type="textarea" v-model="formData.remark" placeholder="请输入备注" />
36+
<el-input
37+
type="textarea"
38+
v-model="formData.remark"
39+
:rows="1"
40+
placeholder="请输入备注"
41+
/>
42+
</el-form-item>
43+
</el-col>
44+
<el-col :span="8">
45+
<el-form-item label="附件" prop="fileUrl">
46+
<UploadFile :is-show-tip="false" v-model="formData.fileUrl" :limit="1" />
3547
</el-form-item>
3648
</el-col>
3749
</el-row>
3850
</el-form>
3951
<!-- 子表的表单 -->
40-
<el-tabs v-model="subTabsName">
41-
<el-tab-pane label="入库产品清单" name="stockInItem">
42-
<StockInItemForm ref="stockInItemFormRef" :in-id="formData.id" />
43-
</el-tab-pane>
44-
</el-tabs>
45-
<el-form
46-
ref="formRef2"
47-
:model="formData"
48-
:rules="formRules"
49-
label-width="100px"
50-
v-loading="formLoading"
51-
>
52-
<el-form-item label="合计数量" prop="totalCount">
53-
<el-input v-model="formData.totalCount" placeholder="请输入合计数量" />
54-
</el-form-item>
55-
<el-form-item label="合计金额" prop="totalPrice">
56-
<el-input v-model="formData.totalPrice" placeholder="请输入合计金额,单位:元" />
57-
</el-form-item>
58-
</el-form>
52+
<ContentWrap>
53+
<el-tabs v-model="subTabsName" class="-mt-15px -mb-10px">
54+
<el-tab-pane label="入库产品清单" name="stockInItem">
55+
<StockInItemForm ref="stockInItemFormRef" :items="formData.items" />
56+
</el-tab-pane>
57+
</el-tabs>
58+
</ContentWrap>
5959
<template #footer>
6060
<el-button @click="submitForm" type="primary" :disabled="formLoading">确 定</el-button>
6161
<el-button @click="dialogVisible = false">取 消</el-button>
@@ -82,18 +82,15 @@ const formData = ref({
8282
no: undefined,
8383
supplierId: undefined,
8484
inTime: undefined,
85-
totalCount: undefined,
86-
totalPrice: undefined,
87-
remark: undefined
85+
remark: undefined,
86+
fileUrl: '',
87+
items: []
8888
})
8989
const formRules = reactive({
9090
no: [{ required: true, message: '入库单号不能为空', trigger: 'blur' }],
91-
inTime: [{ required: true, message: '入库时间不能为空', trigger: 'blur' }],
92-
totalCount: [{ required: true, message: '合计数量不能为空', trigger: 'blur' }],
93-
totalPrice: [{ required: true, message: '合计金额,单位:元不能为空', trigger: 'blur' }]
91+
inTime: [{ required: true, message: '入库时间不能为空', trigger: 'blur' }]
9492
})
9593
const formRef = ref() // 表单 Ref
96-
const formRef2 = ref() // 表单 Ref TODO 芋艿:需要优化
9794
9895
/** 子表的表单 */
9996
const subTabsName = ref('stockInItem')
@@ -122,20 +119,11 @@ const emit = defineEmits(['success']) // 定义 success 事件,用于操作成
122119
const submitForm = async () => {
123120
// 校验表单
124121
await formRef.value.validate()
125-
await formRef2.value.validate() // TODO 芋艿:需要在看看
126-
// 校验子表单
127-
try {
128-
await stockInItemFormRef.value.validate()
129-
} catch (e) {
130-
subTabsName.value = 'stockInItem'
131-
return
132-
}
122+
await stockInItemFormRef.value.validate()
133123
// 提交请求
134124
formLoading.value = true
135125
try {
136126
const data = formData.value as unknown as StockInVO
137-
// 拼接子表的数据
138-
data.stockInItems = stockInItemFormRef.value.getData()
139127
if (formType.value === 'create') {
140128
await StockInApi.createStockIn(data)
141129
message.success(t('common.createSuccess'))
@@ -160,9 +148,10 @@ const resetForm = () => {
160148
inTime: undefined,
161149
totalCount: undefined,
162150
totalPrice: undefined,
163-
remark: undefined
151+
remark: undefined,
152+
fileUrl: undefined,
153+
items: []
164154
}
165155
formRef.value?.resetFields()
166-
formRef2.value?.resetFields() // TODO 芋艿:需要在看看
167156
}
168157
</script>

0 commit comments

Comments
 (0)