|
@@ -38,17 +38,24 @@
|
|
|
</el-form-item>
|
|
|
|
|
|
<el-form-item label="等级:" prop="level">
|
|
|
- <el-select v-model="form.level" placeholder="等级">
|
|
|
+ <el-select v-model="form.level" placeholder="请选择等级">
|
|
|
<el-option v-for="(item, index) in material_category_level" :key="index" :label="item.label" :value="item.value" />
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
-
|
|
|
- <el-form-item label="存放类型:" prop="storage_type">
|
|
|
- <el-input v-model="form.storage_type" placeholder="请输入存放类型" style="width: 468px !important" />
|
|
|
+ <el-form-item label="存放类型:" prop="storage_type_code">
|
|
|
+ <el-select v-model="form.storage_type_code" placeholder="请选择存放类型">
|
|
|
+ <el-option v-for="(item, index) in storageTypeList" :key="index" :label="item.storage_type" :value="item.storage_type_code" />
|
|
|
+ </el-select>
|
|
|
</el-form-item>
|
|
|
|
|
|
<el-form-item label="库存确认最新时间:" prop="last_inventory_time">
|
|
|
- <el-date-picker v-model="form.last_inventory_time" type="datetime" placeholder="请选择库存确认最新时间" style="width: 468px !important" />
|
|
|
+ <el-date-picker
|
|
|
+ v-model="form.last_inventory_time"
|
|
|
+ type="datetime"
|
|
|
+ value-format="YYYY-MM-DD HH:mm:ss"
|
|
|
+ placeholder="请选择库存确认最新时间"
|
|
|
+ style="width: 468px !important"
|
|
|
+ />
|
|
|
</el-form-item>
|
|
|
</el-form>
|
|
|
<div class="common-dialog-footer">
|
|
@@ -63,9 +70,10 @@
|
|
|
import {
|
|
|
createMaterialRoot,
|
|
|
getMaterialRootInfo,
|
|
|
- updateMaterialRoot
|
|
|
+ updateMaterialRoot,
|
|
|
+ getTypeList
|
|
|
} from '@/api/comprehensiveGuarantee/materialReserveManagement/warehouseManagement';
|
|
|
-import { getMaterialWarehouseList, } from '@/api/comprehensiveGuarantee/materialReserveManagement/godownManagement';
|
|
|
+import { getMaterialWarehouseList } from '@/api/comprehensiveGuarantee/materialReserveManagement/godownManagement';
|
|
|
const emits = defineEmits(['close']);
|
|
|
const { proxy } = getCurrentInstance() as ComponentInternalInstance;
|
|
|
const { material_category_level } = toRefs<any>(proxy?.useDict('material_category_level'));
|
|
@@ -85,8 +93,9 @@ const data = reactive({
|
|
|
room_volume: '',
|
|
|
available_volume: '',
|
|
|
level: '',
|
|
|
- storage_type: '',
|
|
|
- last_inventory_time: ''
|
|
|
+ last_inventory_time: '',
|
|
|
+ storage_type_code: '',
|
|
|
+ storage_type: ''
|
|
|
},
|
|
|
rules: {
|
|
|
room_name: [{ required: true, message: '库房名称不能为空', trigger: 'blur' }],
|
|
@@ -97,11 +106,12 @@ const data = reactive({
|
|
|
room_volume: [{ required: true, message: '库房容积不能为空', trigger: 'blur' }],
|
|
|
available_volume: [{ required: true, message: '可用库房容积不能为空', trigger: 'blur' }],
|
|
|
level: [{ required: true, message: '请选择等级', trigger: 'change' }],
|
|
|
- storage_type: [{ required: true, message: '存放类型不能为空', trigger: 'blur' }],
|
|
|
+ storage_type_code: [{ required: true, message: '请选择存放类型', trigger: 'change' }],
|
|
|
last_inventory_time: [{ required: true, message: '请选择库存确认最新时间', trigger: 'change' }]
|
|
|
}
|
|
|
});
|
|
|
let godownList = ref([]);
|
|
|
+let storageTypeList = ref([]);
|
|
|
const { form, rules } = toRefs(data);
|
|
|
|
|
|
const closeDialog = () => {
|
|
@@ -139,14 +149,44 @@ const submitForm = async (formEl) => {
|
|
|
});
|
|
|
};
|
|
|
onMounted(() => {
|
|
|
+ // 获取仓库列表
|
|
|
getMaterialWarehouseList().then((res) => {
|
|
|
godownList.value = res.data;
|
|
|
});
|
|
|
- if (!props.id) return;
|
|
|
- getMaterialRootInfo(props.id).then((res) => {
|
|
|
- form.value = res.data;
|
|
|
+
|
|
|
+ // 获取类型列表数据
|
|
|
+ getTypeList().then((res) => {
|
|
|
+ const uniqueStorageTypes = new Map();
|
|
|
+
|
|
|
+ res.data.forEach((item) => {
|
|
|
+ if (!uniqueStorageTypes.has(item.material_category_level)) {
|
|
|
+ uniqueStorageTypes.set(item.material_category_level, {
|
|
|
+ storage_type: item.material_category_name,
|
|
|
+ storage_type_code: item.material_category_level
|
|
|
+ });
|
|
|
+ }
|
|
|
+ });
|
|
|
+
|
|
|
+ storageTypeList.value = Array.from(uniqueStorageTypes.values());
|
|
|
});
|
|
|
+
|
|
|
+ if (props.id) {
|
|
|
+ getMaterialRootInfo(props.id).then((res) => {
|
|
|
+ form.value = res.data;
|
|
|
+ });
|
|
|
+ }
|
|
|
});
|
|
|
+watch(
|
|
|
+ () => form.value.storage_type_code,
|
|
|
+ (newVal) => {
|
|
|
+ const selectedType = storageTypeList.value.find((type) => type.storage_type_code === newVal);
|
|
|
+ if (selectedType) {
|
|
|
+ form.value.storage_type = selectedType.storage_type;
|
|
|
+ } else {
|
|
|
+ form.value.storage_type = '';
|
|
|
+ }
|
|
|
+ }
|
|
|
+);
|
|
|
</script>
|
|
|
|
|
|
<style lang="scss" scoped>
|