YangJian0701 1 year ago
parent
commit
a45c16d0a0

+ 48 - 11
src/views/stockcontrol/storageFrom/Editinventory.vue

@@ -26,15 +26,13 @@
                 <el-form-item class="el-form-item-main" label="入库日期" :label-width="formLabelWidth" prop="date">
                     <el-date-picker v-model="initParam.date" type="date" placeholder="血液制品效期" value-format="YYYY-MM-DD" clearable style="width: 200px;" />
                 </el-form-item>
-                <el-form-item class="el-form-item-main" label="发货单位" :label-width="formLabelWidth">
-                    <el-select v-model="initParam.forwarding_unit" placeholder="请选择发货单位" class="inputWidth">
-                        <el-option :value="it" v-for="it,j in data.itemPir" :key="j" />
-                    </el-select>
+                <el-form-item class="el-form-item-main" label="收货单位" :label-width="formLabelWidth">
+                    <el-autocomplete v-model="initParam.forwarding_unit" :fetch-suggestions="querySearch1" clearable class="inputWidth"
+                        placeholder="收货单位" />
                 </el-form-item>
                 <el-form-item label="经办人" :label-width="formLabelWidth" prop="operator">
-                    <el-select v-model="initParam.operator" placeholder="请选择经办人" class="inputWidth">
-                        <el-option :label="it" :value="it" v-for="(it,j) in data.itemOpen" :key="j+Math.random()" />
-                    </el-select>
+                    <el-autocomplete v-model="initParam.operator" :fetch-suggestions="querySearch" clearable class="inputWidth"
+                        placeholder="经办人" />
                 </el-form-item>
             </el-form>
             <template #footer>
@@ -86,8 +84,6 @@ let initParam:any = reactive({
 let data:any = reactive({
     tableData:[],
     showDiaData:[],
-    itemPir:[],
-    itemOpen:[],
     rules1:{},
     columns:[],// 渲染表格
     selectType:[],//表格的下拉对应
@@ -102,8 +98,39 @@ const editFun = async (row:any)=>{
     await medicListStockFun()//获取入库表单
     await itemPirFun()//发货单位
     await operatorListApi()//经办人
+}
+
+
+interface RestaurantItem {
+  value: string
+  link: string
+}
+const restaurants = ref<RestaurantItem[]>([])
+const querySearch = (queryString: string, cb: any) => {
+  const results = queryString
+    ? restaurants.value.filter(createFilter(queryString))
+    : restaurants.value
+  cb(results)
+}
+const createFilter = (queryString: string) => {
+  return (restaurant: RestaurantItem) => {
+    return (
+      restaurant.value.toLowerCase().indexOf(queryString.toLowerCase()) === 0
+    )
+  }
+}
 
+const restaurants1 = ref<RestaurantItem[]>([])
+const querySearch1 = (queryString: string, cb: any) => {
+  const results = queryString
+    ? restaurants1.value.filter(createFilter(queryString))
+    : restaurants1.value
+  cb(results)
 }
+
+
+
+
 const emit:any = defineEmits(['scanCode','editinvent'])
 
 //重置
@@ -138,12 +165,22 @@ const stockouteditApi = async ()=>{
 //收发货单位Api
 const itemPirFun = async()=>{
     const reslut:any = await stockunit({ type: 3 })
-    data.itemPir = reslut.data?.list
+    const arrMap = reslut.data?.list
+    const arr:any = []
+    arrMap.forEach((item:any)=>{
+        arr.push({ value: item, link: item})  
+    })
+    restaurants1.value = arr
 }
 //经办人Api
 const operatorListApi = async()=>{
     const reslut:any = await operatorList({})
-    data.itemOpen = reslut.data?.list
+    const arrMap = reslut.data?.list
+    const arr:any = []
+    arrMap.forEach((item:any)=>{
+        arr.push({ value: item, link: item})  
+    })
+    restaurants.value = arr
 }
 
 //获取入库表单Api

+ 1 - 1
src/views/stockcontrol/storageFrom/index.vue

@@ -11,7 +11,7 @@
                     </el-select>
                 </el-form-item>
                 <el-form-item label="生产企业">
-                    <el-select v-model.number="initParam.enterpriseId" filterable remote reserve-keyword placeholder="购货单位"
+                    <el-select v-model.number="initParam.enterpriseId" filterable remote reserve-keyword placeholder="生产企业"
                         :remote-method="remoteMethod2" :loading="loading" clearable @clear="initParam.enterpriseId = null"
                         @click="click2" style="width: 200px;">
                         <el-option v-for="item in options2" :key="item.value" :label="item.label" :value="item.value" />

+ 3 - 7
src/views/stockcontrol/storageFrom/scanCode.vue

@@ -25,13 +25,9 @@
                 <el-form-item class="el-form-item-main" label="出库日期" :label-width="formLabelWidth" prop="date">
                     <el-date-picker v-model="initParam.date" type="date" placeholder="出库日期" value-format="YYYY-MM-DD" clearable style="width: 200px;" />
                 </el-form-item>
-                <el-form-item class="el-form-item-main" label="发货单位" :label-width="formLabelWidth">
-                    <!-- <el-select v-model="initParam.forwardingUnit" placeholder="请选择发货单位" class="inputWidth">
-                        <el-option :value="it" v-for="it,j in data.itemPir" :key="j" />
-                        
-                    </el-select> -->
+                <el-form-item class="el-form-item-main" label="收货单位" :label-width="formLabelWidth">
                     <el-autocomplete v-model="initParam.forwardingUnit" :fetch-suggestions="querySearch1" clearable class="inputWidth"
-                        placeholder="货单位" />
+                        placeholder="收货单位" />
                 </el-form-item>
                 <el-form-item label="经办人" :label-width="formLabelWidth" prop="operator">
                     <!-- <el-select v-model="initParam.operator" placeholder="请选择经办人" class="inputWidth">
@@ -123,7 +119,7 @@ let data:any = reactive({
 const emit:any = defineEmits(['scanCode'])
 //立即出库
 const subStock = async ()=>{
-    const reslut:any = await stockTemplateBatchOut({"stockInList": data.tableData})
+    const reslut:any = await stockTemplateBatchOut({"stockOutList": data.tableData})
     console.log('返回',reslut)
     if(reslut.code==200 && reslut.msg=='出库成功'){
         ElMessage.success(reslut.msg)

+ 1 - 1
src/views/stockcontrol/storageInquire/index.vue

@@ -11,7 +11,7 @@
                     </el-select>
                 </el-form-item>
                 <el-form-item label="生产企业">
-                    <el-select v-model.number="initParam.enterpriseId" filterable remote reserve-keyword placeholder="购货单位"
+                    <el-select v-model.number="initParam.enterpriseId" filterable remote reserve-keyword placeholder="生产企业"
                         :remote-method="remoteMethod2" :loading="loading" clearable @clear="initParam.enterpriseId = null"
                         @click="click2" style="width: 200px;">
                         <el-option v-for="item in options2" :key="item.value" :label="item.label" :value="item.value" />

+ 44 - 10
src/views/stockcontrol/storagePut/Editinventory.vue

@@ -27,14 +27,12 @@
                     <el-date-picker v-model="initParam.date" type="date" placeholder="血液制品效期" value-format="YYYY-MM-DD" clearable style="width: 200px;" />
                 </el-form-item>
                 <el-form-item class="el-form-item-main" label="发货单位" :label-width="formLabelWidth">
-                    <el-select v-model="initParam.forwarding_unit" placeholder="请选择发货单位" class="inputWidth">
-                        <el-option :value="it" v-for="it,j in data.itemPir" :key="j" />
-                    </el-select>
+                    <el-autocomplete v-model="initParam.forwarding_unit" :fetch-suggestions="querySearch1" clearable class="inputWidth"
+                        placeholder="发货单位" />
                 </el-form-item>
                 <el-form-item label="经办人" :label-width="formLabelWidth" prop="operator">
-                    <el-select v-model="initParam.operator" placeholder="请选择经办人" class="inputWidth">
-                        <el-option :label="it" :value="it" v-for="(it,j) in data.itemOpen" :key="j+Math.random()" />
-                    </el-select>
+                    <el-autocomplete v-model="initParam.operator" :fetch-suggestions="querySearch" clearable class="inputWidth"
+                        placeholder="经办人" />
                 </el-form-item>
             </el-form>
             <template #footer>
@@ -86,8 +84,6 @@ let initParam:any = reactive({
 let data:any = reactive({
     tableData:[],
     showDiaData:[],
-    itemPir:[],
-    itemOpen:[],
     rules1:{},
     columns:[],// 渲染表格
     selectType:[],//表格的下拉对应
@@ -104,6 +100,34 @@ const editFun = async (row:any)=>{
     await operatorListApi()//经办人
 
 }
+
+interface RestaurantItem {
+  value: string
+  link: string
+}
+const restaurants = ref<RestaurantItem[]>([])
+const querySearch = (queryString: string, cb: any) => {
+  const results = queryString
+    ? restaurants.value.filter(createFilter(queryString))
+    : restaurants.value
+  cb(results)
+}
+const createFilter = (queryString: string) => {
+  return (restaurant: RestaurantItem) => {
+    return (
+      restaurant.value.toLowerCase().indexOf(queryString.toLowerCase()) === 0
+    )
+  }
+}
+
+const restaurants1 = ref<RestaurantItem[]>([])
+const querySearch1 = (queryString: string, cb: any) => {
+  const results = queryString
+    ? restaurants1.value.filter(createFilter(queryString))
+    : restaurants1.value
+  cb(results)
+}
+
 const emit:any = defineEmits(['scanCode','editinvent'])
 
 //重置
@@ -138,12 +162,22 @@ const stockeditApi = async ()=>{
 //收发货单位Api
 const itemPirFun = async()=>{
     const reslut:any = await stockunit({ type: 3 })
-    data.itemPir = reslut.data?.list
+    const arrMap = reslut.data?.list
+    const arr:any = []
+    arrMap.forEach((item:any)=>{
+        arr.push({ value: item, link: item})  
+    })
+    restaurants1.value = arr
 }
 //经办人Api
 const operatorListApi = async()=>{
     const reslut:any = await operatorList({})
-    data.itemOpen = reslut.data?.list
+    const arrMap = reslut.data?.list
+    const arr:any = []
+    arrMap.forEach((item:any)=>{
+        arr.push({ value: item, link: item})  
+    })
+    restaurants.value = arr
 }
 
 //获取入库表单Api

+ 2 - 2
src/views/stockcontrol/storagePut/index.vue

@@ -11,7 +11,7 @@
                     </el-select>
                 </el-form-item>
                 <el-form-item label="生产企业">
-                    <el-select v-model.number="initParam.enterpriseId" filterable remote reserve-keyword placeholder="购货单位"
+                    <el-select v-model.number="initParam.enterpriseId" filterable remote reserve-keyword placeholder="生产企业"
                         :remote-method="remoteMethod2" :loading="loading" clearable @clear="initParam.enterpriseId = null"
                         @click="click2" style="width: 200px;">
                         <el-option v-for="item in options2" :key="item.value" :label="item.label" :value="item.value" />
@@ -20,7 +20,7 @@
                 <el-form-item label="血液制品批号">
                     <el-input v-model="initParam.batchNumber" placeholder="血液制品批号" clearable style="width: 200px;" />
                 </el-form-item>
-                <el-form-item label="血液制品效期">
+                <el-form-item label="入库日期">
                     <el-date-picker v-model="data.datepick" type="daterange" placeholder="出/入库日期" clearable
                         start-placeholder="开始" end-placeholder="结束" value-format="YYYY-MM-DD" style="width: 200px;"
                         @change="changFun" />

+ 48 - 13
src/views/stockcontrol/transmitReceive/downing.vue

@@ -1,5 +1,5 @@
-<template>
-    <el-button el-button type="primary" icon="Download" @click="dialogFormVisible = true">收发登记表</el-button>
+<template> 
+    <el-button el-button type="primary" icon="Download" @click="showdialog">收发登记表</el-button>
     <el-button el-button type="primary" icon="Download" @click="dialogFormVisible1 = true">运输登记表</el-button>
     <el-dialog v-model="dialogFormVisible" title="收发登记表" :append-to-body="true" draggable width="30%">
         <el-form :model="initParam" ref="ruleFormRef" :rules="rules">
@@ -25,9 +25,11 @@
                 </el-select>
             </el-form-item>
             <el-form-item label="批号" :label-width="formLabelWidth" prop="batchNumber">
-                <el-select v-model="initParam.batchNumber" class="m-2" placeholder="Select" style="width: 100%;">
+                <!-- <el-select v-model="initParam.batchNumber" class="m-2" placeholder="Select" style="width: 100%;">
                     <el-option v-for="item in options5" :key="item" :label="item" :value="item" />
-                </el-select>
+                </el-select> -->
+                <el-autocomplete v-model="initParam.batchNumber" :fetch-suggestions="querySearch" clearable 
+                class="inputWidth" placeholder="批号" style="width: 100%;"/>
             </el-form-item>
         </el-form>
         <template #footer>
@@ -45,14 +47,14 @@
                     style="width: 100%;" />
             </el-form-item>
             <el-form-item label="收货单位" :label-width="formLabelWidth" prop="receivingUnit">
-                <el-select v-model.number="initParamWord.receivingUnit" filterable remote reserve-keyword placeholder="疫苗名称"
+                <el-select v-model.number="initParamWord.receivingUnit" filterable remote reserve-keyword placeholder="收货单位"
                     :remote-method="remoteMethod4" :loading="loading" clearable style="width: 100%;"
                     @clear="initParamWord.receivingUnit = null" @click="click4">
                     <el-option v-for="item in options4" :key="item.value" :label="item.label" :value="item.value" />
                 </el-select>
             </el-form-item>
-            <el-form-item label="疫苗名称" :label-width="formLabelWidth">
-                <el-select v-model.number="initParamWord.productId" filterable remote reserve-keyword placeholder="疫苗名称"
+            <el-form-item label="品名" :label-width="formLabelWidth">
+                <el-select v-model.number="initParamWord.productId" filterable remote reserve-keyword placeholder="品名"
                     :remote-method="remoteMethod1" :loading="loading" clearable style="width: 100%;"
                     @clear="initParamWord.productId = null" @click="click1">
                     <el-option v-for="item in options1" :key="item.value" :label="item.label" :value="item.value" />
@@ -90,7 +92,7 @@ interface RuleForm {
     type: string
 }
 const initParam = reactive<RuleForm>({//请求参数
-    "batchNumber": null,
+    "batchNumber":'',
     "enterpriseId": null,
     "productId": null,
     "specId": null,
@@ -118,7 +120,6 @@ onMounted(async () => {
     list2.value = findMap(result2 || [], 'obj')
     list3.value = findMap(result3 || [], 'obj')
     list4.value = findMap(result4 || [], 'map')
-
 })
 //函数
 const findMap = (arr: any, obj: any) => {
@@ -147,7 +148,6 @@ const options1 = ref<ListItem[]>([])
 const options2 = ref<ListItem[]>([])
 const options3 = ref<ListItem[]>([])
 const options4 = ref<ListItem[]>([])
-const options5 = ref<ListItem[]>([])
 
 
 
@@ -204,9 +204,41 @@ const remoteMethod4 = async (query: string) => {
         options3.value = []
     }
 }
-onMounted(async () => {
-    options5.value = await LotNumber()
-})
+//函数
+const showdialog = async ()=>{
+    dialogFormVisible.value = true
+    const reslut:any  = await LotNumber()
+    console.log('数据1',reslut)
+    const arrMap = reslut
+    const arr:any = []
+    arrMap.forEach((item:any)=>{
+        arr.push({ value: item, link: item})  
+    })
+    restaurants.value = arr
+    console.log('数据2',restaurants.value)
+}
+
+interface RestaurantItem {
+  value: string
+  link: string
+}
+const restaurants = ref<RestaurantItem[]>([])
+const querySearch = (queryString: string, cb: any) => {
+  const results = queryString
+    ? restaurants.value.filter(createFilter(queryString))
+    : restaurants.value
+  cb(results)
+}
+const createFilter = (queryString: string) => {
+  return (restaurant: RestaurantItem) => {
+    return (
+      restaurant.value.toLowerCase().indexOf(queryString.toLowerCase()) === 0
+    )
+  }
+}
+
+
+
 const rules = reactive({
     batchNumber: [{ required: true, message: '必填项', trigger: 'change' }],
     enterpriseId: [{ required: true, message: '必填项', trigger: 'change' }],
@@ -244,4 +276,7 @@ const submitForm1 = async (formEl: FormInstance | undefined,ty:any) => {
 </script>
 <style lang="scss">
 /* @import url(); 引入css类 */
+.inputWidth {
+    width: 200px;
+}
 </style>

+ 1 - 1
src/views/stockcontrol/transmitReceive/index.vue

@@ -10,7 +10,7 @@
                     </el-select>
                 </el-form-item>
                 <el-form-item label="生产企业">
-                    <el-select v-model.number="initParam.enterpriseId" filterable remote reserve-keyword placeholder="购货单位"
+                    <el-select v-model.number="initParam.enterpriseId" filterable remote reserve-keyword placeholder="生产企业"
                         :remote-method="remoteMethod2" :loading="loading" clearable @clear="initParam.enterpriseId=null" @click="click2" style="width: 200px;">
                         <el-option v-for="item in options2" :key="item.value" :label="item.label" :value="item.value" />
                     </el-select>