|
@@ -40,17 +40,20 @@
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="12">
|
|
|
- <el-form-item label="仓库:" prop="warehouse_id">
|
|
|
- <el-select v-model="form.warehouse_id" placeholder="请选择仓库">
|
|
|
- <el-option v-for="item in godownList" :key="item.warehouse_id" :label="item.warehouse_name" :value="item.warehouse_id" />
|
|
|
- </el-select>
|
|
|
+ <el-form-item label="材质:" prop="material">
|
|
|
+ <el-input v-model="form.material" placeholder="请输入材质" />
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="12">
|
|
|
- <el-form-item label="库房:" prop="room_id">
|
|
|
- <el-select v-model="form.room_id" placeholder="请选择库房">
|
|
|
- <el-option v-for="item in materialWarehouseRootList" :key="item.id" :label="item.room_name" :value="item.id" />
|
|
|
- </el-select>
|
|
|
+ <el-form-item label="库房名称:" prop="room_id">
|
|
|
+ <el-tree-select
|
|
|
+ v-model="form.room_id"
|
|
|
+ :data="warehouseName"
|
|
|
+ node-key="id"
|
|
|
+ placeholder="请选择库房名称"
|
|
|
+ :render-after-expand="false"
|
|
|
+ :props="defaultProps"
|
|
|
+ />
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="12">
|
|
@@ -175,8 +178,10 @@
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="12">
|
|
|
- <el-form-item label="材质:" prop="material">
|
|
|
- <el-input v-model="form.material" placeholder="请输入材质" />
|
|
|
+ <el-form-item label="来源:" prop="from_sys">
|
|
|
+ <el-select v-model="form.from_sys" placeholder="请选择来源" clearable>
|
|
|
+ <el-option v-for="item in material_source" :key="item.value" :label="item.label" :value="item.value"></el-option>
|
|
|
+ </el-select>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="12">
|
|
@@ -194,13 +199,7 @@
|
|
|
<el-input v-model="form.manufacturer" placeholder="请输入生产厂商" />
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
- <el-col :span="12">
|
|
|
- <el-form-item label="来源:" prop="from_sys">
|
|
|
- <el-select v-model="form.from_sys" placeholder="请选择来源" clearable>
|
|
|
- <el-option v-for="item in material_source" :key="item.value" :label="item.label" :value="item.value"></el-option>
|
|
|
- </el-select>
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
+ <el-col :span="12"></el-col>
|
|
|
<el-col :span="24">
|
|
|
<el-form-item label="备注:" prop="remarks">
|
|
|
<el-input v-model="form.remarks" :autosize="{ minRows: 3, maxRows: 5 }" type="textarea" placeholder="请输入备注" />
|
|
@@ -241,11 +240,13 @@
|
|
|
</template>
|
|
|
<script setup lang="ts">
|
|
|
import { getMaterialWarehouseList } from '@/api/comprehensiveGuarantee/materialReserveManagement/godownManagement';
|
|
|
-import { getMaterialWarehouseRootList } from '@/api/comprehensiveGuarantee/materialReserveManagement/warehouseManagement';
|
|
|
+import { getMaterialWarehouseRootList, getWarehouseTree } from '@/api/comprehensiveGuarantee/materialReserveManagement/warehouseManagement';
|
|
|
import { createMaterial, getMaterialInfo, updateMaterial } from '@/api/comprehensiveGuarantee/materialReserveManagement/materialInformation';
|
|
|
-
|
|
|
+import { reactive, ref } from 'vue';
|
|
|
const { proxy } = getCurrentInstance() as ComponentInternalInstance;
|
|
|
-const { disaster_type, material_source, material_classification, material_type } = toRefs<any>(proxy?.useDict('disaster_type', 'material_source', 'material_classification', 'material_type'));
|
|
|
+const { disaster_type, material_source, material_classification, material_type } = toRefs<any>(
|
|
|
+ proxy?.useDict('disaster_type', 'material_source', 'material_classification', 'material_type')
|
|
|
+);
|
|
|
const emits = defineEmits(['close']);
|
|
|
const buttonLoading = ref(false);
|
|
|
const props = defineProps({
|
|
@@ -316,8 +317,8 @@ const data = reactive({
|
|
|
inventory_warning_pusher: [{ required: true, message: '库存预警推送人不能为空', trigger: 'blur' }],
|
|
|
origin: [{ required: true, message: '产地不能为空', trigger: 'blur' }],
|
|
|
from_sys: [{ required: true, message: '来源系统不能为空', trigger: 'blur' }],
|
|
|
- status: [{ required: true, message: '状态不能为空', trigger: 'change' }],
|
|
|
- room_id: [{ required: true, message: '库房不能为空', trigger: 'blur' }],
|
|
|
+ status: [{ required: true, message: '请选择状态', trigger: 'change' }],
|
|
|
+ room_id: [{ required: true, message: '请选择库房', trigger: 'change' }],
|
|
|
package_quantity: [{ required: true, message: '包装数量不能为空', trigger: 'blur' }],
|
|
|
package_volume: [{ required: true, message: '包装体积不能为空', trigger: 'blur' }],
|
|
|
package_weight: [{ required: true, message: '包装重量不能为空', trigger: 'blur' }],
|
|
@@ -373,18 +374,31 @@ const submitForm = async (formEl) => {
|
|
|
}
|
|
|
});
|
|
|
};
|
|
|
-
|
|
|
+const warehouseName = ref();
|
|
|
+const getWarehouseName = () => {
|
|
|
+ getWarehouseTree().then((res) => {
|
|
|
+ warehouseName.value = res.data;
|
|
|
+ });
|
|
|
+};
|
|
|
+const defaultProps = reactive({
|
|
|
+ children: 'children',
|
|
|
+ label: 'label',
|
|
|
+ disabled: (node) => {
|
|
|
+ return node.isWarehouse && !node.children;
|
|
|
+ }
|
|
|
+});
|
|
|
onMounted(() => {
|
|
|
+ getWarehouseName();
|
|
|
getMaterialWarehouseRootList().then((res) => {
|
|
|
materialWarehouseRootList.value = res.data;
|
|
|
- })
|
|
|
+ });
|
|
|
getMaterialWarehouseList().then((res) => {
|
|
|
godownList.value = res.data;
|
|
|
- })
|
|
|
+ });
|
|
|
if (!props.id) return;
|
|
|
getMaterialInfo(props.id).then((res) => {
|
|
|
form.value = res.data;
|
|
|
- })
|
|
|
+ });
|
|
|
});
|
|
|
</script>
|
|
|
|