Преглед на файлове

出入库 - 部门选择

unknown преди 3 дни
родител
ревизия
27e86c4c59

+ 20 - 2
src/views/rtkwms/inrequest/InRequestForm.vue

@@ -44,8 +44,20 @@
                 :label="dict.label"
                 :value="dict.value"
               />
-            </el-select> </el-form-item
-        ></el-col>
+            </el-select>
+          </el-form-item>
+        </el-col>
+        <el-col :span="12">
+          <el-form-item label="部门" prop="departmentNo">
+            <DepartMentSelect
+              ref="departMentSelect"
+              :disabled="formData.businessType ? false : true"
+              v-model="formData.departmentNo"
+              placeholder="请选择部门"
+              clearable
+            />
+          </el-form-item>
+        </el-col>
         <el-col :span="12"
           ><el-form-item label="业务分类名称" prop="businessDescribe">
             <el-select
@@ -326,11 +338,13 @@
 
 <script>
 import * as InRequestApi from "@/api/wms/output/inrequest";
+import DepartMentSelect from "./components/DepartMentSelect.vue";
 // import ShipmentNotification from "./ShipmentNotification.vue";
 export default {
   name: "InRequestForm",
   components: {
     // ShipmentNotification,
+    DepartMentSelect,
   },
   data() {
     return {
@@ -346,6 +360,7 @@ export default {
       formLoading: false,
       // 表单参数
       formData: {
+        departmentNo: undefined,
         id: undefined,
         requestNo: undefined,
         requestType: undefined,
@@ -378,6 +393,9 @@ export default {
       },
       // 表单校验
       formRules: {
+        departmentNo: [
+          { required: true, message: "请选择部门", trigger: "blur" },
+        ],
         requestNo: [
           { required: true, message: "申请单号不能为空", trigger: "blur" },
         ],

+ 81 - 0
src/views/rtkwms/inrequest/components/DepartMentSelect.vue

@@ -0,0 +1,81 @@
+<template>
+  <el-select
+    v-model="selected"
+    v-bind="$attrs"
+    :loading="loading"
+    @change="change"
+  >
+    <el-option
+      v-for="item in options"
+      :key="item.id"
+      :label="item.name"
+      :value="item.code"
+    >
+      <el-row :gutter="20">
+        <el-col :span="12">{{ item.code }}</el-col>
+        <el-col :span="12" class="text-right">{{ item.name }}</el-col>
+      </el-row>
+    </el-option>
+  </el-select>
+
+</template>
+
+<script>
+import { getDepartmentList } from '@/api/wms/incoming/register'
+
+export default {
+  props: {
+    value: {
+      type: [String, Number],
+      default: ''
+    },
+    inspectionType: {
+      type: Number,
+      default: 0
+    }
+  },
+  data() {
+    return {
+      options: [],
+      loading: false
+    }
+  },
+  computed: {
+    selected: {
+      get() {
+        return this.value
+      },
+      set(v) {
+        this.$emit('input', v)
+      }
+    }
+  },
+  created() {
+    this.fetchCustomerList()
+  },
+  methods: {
+    fetchCustomerList() {
+      this.loading = true
+      const params = {
+        pageNo: 1,
+        pageSize: 100
+      }
+      getDepartmentList(params).then(res => {
+        const { list = [] } = res.data || {}
+        this.options = list
+      }).finally(() => {
+        this.loading = false
+      })
+    },
+    change(value) {
+      const item = this.options.find(item => item.code === value)
+      this.$emit('change', item)
+    }
+  }
+}
+</script>
+
+    <style>
+
+    </style>
+

+ 81 - 0
src/views/wms/output/inrequest/components/DepartMentSelect.vue

@@ -0,0 +1,81 @@
+<template>
+  <el-select
+    v-model="selected"
+    v-bind="$attrs"
+    :loading="loading"
+    @change="change"
+  >
+    <el-option
+      v-for="item in options"
+      :key="item.id"
+      :label="item.name"
+      :value="item.code"
+    >
+      <el-row :gutter="20">
+        <el-col :span="12">{{ item.code }}</el-col>
+        <el-col :span="12" class="text-right">{{ item.name }}</el-col>
+      </el-row>
+    </el-option>
+  </el-select>
+
+</template>
+
+<script>
+import { getDepartmentList } from '@/api/wms/incoming/register'
+
+export default {
+  props: {
+    value: {
+      type: [String, Number],
+      default: ''
+    },
+    inspectionType: {
+      type: Number,
+      default: 0
+    }
+  },
+  data() {
+    return {
+      options: [],
+      loading: false
+    }
+  },
+  computed: {
+    selected: {
+      get() {
+        return this.value
+      },
+      set(v) {
+        this.$emit('input', v)
+      }
+    }
+  },
+  created() {
+    this.fetchCustomerList()
+  },
+  methods: {
+    fetchCustomerList() {
+      this.loading = true
+      const params = {
+        pageNo: 1,
+        pageSize: 100
+      }
+      getDepartmentList(params).then(res => {
+        const { list = [] } = res.data || {}
+        this.options = list
+      }).finally(() => {
+        this.loading = false
+      })
+    },
+    change(value) {
+      const item = this.options.find(item => item.code === value)
+      this.$emit('change', item)
+    }
+  }
+}
+</script>
+
+    <style>
+
+    </style>
+

+ 17 - 0
src/views/wms/output/inrequest/components/InRequestForm.vue

@@ -41,6 +41,17 @@
             />
           </el-select> </el-form-item
       ></el-col>
+      <el-col :span="12">
+        <el-form-item label="部门" prop="departmentNo">
+          <DepartMentSelect
+            ref="departMentSelect"
+            :disabled="formData.businessType ? false : true"
+            v-model="formData.departmentNo"
+            placeholder="请选择部门"
+            clearable
+          />
+        </el-form-item>
+      </el-col>
       <el-col :span="12"
         ><el-form-item label="业务分类名称" prop="businessDescribe">
           <el-select
@@ -322,11 +333,13 @@
 
 <script>
 import * as InRequestApi from "@/api/wms/output/inrequest";
+import DepartMentSelect from "./components/DepartMentSelect.vue";
 // import ShipmentNotification from "./ShipmentNotification.vue";
 export default {
   name: "OutRequestForm",
   components: {
     // ShipmentNotification,
+    DepartMentSelect,
   },
   data() {
     return {
@@ -342,6 +355,7 @@ export default {
       formLoading: false,
       // 表单参数
       formData: {
+        departmentNo: undefined,
         id: undefined,
         requestNo: undefined,
         requestType: undefined,
@@ -374,6 +388,9 @@ export default {
       },
       // 表单校验
       formRules: {
+        departmentNo: [
+          { required: true, message: "请选择部门", trigger: "blur" },
+        ],
         requestNo: [
           { required: true, message: "申请单号不能为空", trigger: "blur" },
         ],