location-edit.vue 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. <!-- 搜索表单 -->
  2. <template>
  3. <simple-form-modal
  4. :title="title"
  5. :items="formItems"
  6. ref="editRef"
  7. :baseUrl="baseUrl"
  8. @success="(data) => emit('success', data)"
  9. ></simple-form-modal>
  10. </template>
  11. <script setup>
  12. import { reactive, ref, defineEmits, getCurrentInstance } from 'vue';
  13. import { useFormData } from '@/utils/use-form-data';
  14. import SimpleFormModal from '@/components/CommonPage/SimpleFormModal.vue';
  15. const { proxy } = getCurrentInstance();
  16. //获取仓库
  17. const godownList = ref([]);
  18. const title = ref('新增库位');
  19. const emit = defineEmits(['success']);
  20. const formItems = computed(() => {
  21. return [
  22. { type: 'input', label: '库位编号', prop: 'code', required: true },
  23. {
  24. type: 'select',
  25. label: '仓库名称',
  26. prop: 'godownId',
  27. required: true,
  28. options: godownList.value.map((d) => {
  29. return { label: d.godownName, value: d.id };
  30. }),
  31. props: {
  32. placeholder: '请选择或输入搜索',
  33. filterable: true
  34. }
  35. },
  36. {
  37. type: 'dictRadio',
  38. label: '状态',
  39. prop: 'useStatus',
  40. props: { code: 'use_status' },
  41. required: true
  42. },
  43. { type: 'textarea', label: '备注', prop: 'remark' }
  44. ];
  45. });
  46. //默认值
  47. const baseUrl = reactive({
  48. add: '/baseinfo/godownposition/add',
  49. update: '/baseinfo/godownposition/edit'
  50. });
  51. const formData = ref({ useStatus: '1' });
  52. const editRef = ref(null);
  53. function handleOpen(data) {
  54. if (data) {
  55. title.value = '编辑库位';
  56. data.useStatus = data.useStatus + '';
  57. } else {
  58. title.value = '新增库位';
  59. }
  60. let name = data?.godownName || '';
  61. formData.value = Object.assign(formData.value, data || {});
  62. getStoreList(name).then((res) => {
  63. godownList.value = res.data.data;
  64. });
  65. editRef.value?.handleOpen(formData.value);
  66. }
  67. function getStoreList(name = '') {
  68. return proxy.$http.post(`/baseinfo/godown/searchGodown?name=${name}`);
  69. }
  70. defineExpose({ handleOpen });
  71. </script>