YangJian0701 10 months ago
parent
commit
681f6871ea
100 changed files with 514 additions and 29 deletions
  1. 313 0
      src/views/stockcontrol/storageFrom/downing.vue
  2. 7 4
      src/views/stockcontrol/storageFrom/index.vue
  3. 26 2
      src/views/stockcontrol/storageFrom/scanCode.vue
  4. 24 16
      src/views/stockcontrol/storagePut/Labour.vue
  5. 1 1
      src/views/stockcontrol/storagePut/index.vue
  6. 26 3
      src/views/stockcontrol/storagePut/scanCode.vue
  7. 1 1
      src/views/stockcontrol/storagePut/transportScanCode.vue
  8. 2 2
      src/views/stockcontrol/transmitReceive/index.vue
  9. BIN
      出入库管理系统.rar
  10. 1 0
      出入库管理系统/css/134.41fb80da.css
  11. 0 0
      出入库管理系统/css/179.78b05970.css
  12. 1 0
      出入库管理系统/css/253.b6e1abc9.css
  13. 1 0
      出入库管理系统/css/264.dfb159e9.css
  14. 0 0
      出入库管理系统/css/275.4f034e44.css
  15. 0 0
      出入库管理系统/css/342.4f034e44.css
  16. 1 0
      出入库管理系统/css/357.4b5d2e9a.css
  17. 1 0
      出入库管理系统/css/401.3289778d.css
  18. 1 0
      出入库管理系统/css/422.20fdc38f.css
  19. 1 0
      出入库管理系统/css/521.42ad3fcf.css
  20. 0 0
      出入库管理系统/css/538.4f034e44.css
  21. 0 0
      出入库管理系统/css/605.2b0d00a5.css
  22. 0 0
      出入库管理系统/css/607.4f034e44.css
  23. 1 0
      出入库管理系统/css/670.b00fd934.css
  24. 0 0
      出入库管理系统/css/674.2f535045.css
  25. 1 0
      出入库管理系统/css/894.9502257d.css
  26. 1 0
      出入库管理系统/css/940.d4407f76.css
  27. 0 0
      出入库管理系统/css/app.fa206cd9.css
  28. 0 0
      出入库管理系统/css/chunk-vendors.c5343724.css
  29. BIN
      出入库管理系统/favicon.ico
  30. BIN
      出入库管理系统/fonts/1639093199705607.23cb1cbf.ttf
  31. BIN
      出入库管理系统/fonts/1640748942940454.8d571a5b.ttf
  32. BIN
      出入库管理系统/fonts/1645487823772202.188bbc5c.otf
  33. BIN
      出入库管理系统/fonts/Logo.10a8e37a.ttf
  34. BIN
      出入库管理系统/fonts/UnidreamLED.df04847a.ttf
  35. BIN
      出入库管理系统/fonts/douyuzhuiguangti.23cb1cbf.ttf
  36. BIN
      出入库管理系统/fonts/iconfont.70052f61.ttf
  37. BIN
      出入库管理系统/img/1700227167756.2203a3ea.jpg
  38. BIN
      出入库管理系统/img/1700227576514.0f0dfe16.jpg
  39. BIN
      出入库管理系统/img/1700228167058.6445352d.jpg
  40. BIN
      出入库管理系统/img/1700228181332.9528a5c4.jpg
  41. BIN
      出入库管理系统/img/1700228207945.f1b33668.jpg
  42. BIN
      出入库管理系统/img/1700450751581.b7423ad9.png
  43. BIN
      出入库管理系统/img/404.52ac3ffa.png
  44. 1 0
      出入库管理系统/img/BarCodeQR.69f4fb5e.svg
  45. BIN
      出入库管理系统/img/icons/android-chrome-192x192.png
  46. BIN
      出入库管理系统/img/icons/android-chrome-512x512.png
  47. BIN
      出入库管理系统/img/icons/android-chrome-maskable-192x192.png
  48. BIN
      出入库管理系统/img/icons/android-chrome-maskable-512x512.png
  49. BIN
      出入库管理系统/img/icons/apple-touch-icon-120x120.png
  50. BIN
      出入库管理系统/img/icons/apple-touch-icon-152x152.png
  51. BIN
      出入库管理系统/img/icons/apple-touch-icon-180x180.png
  52. BIN
      出入库管理系统/img/icons/apple-touch-icon-60x60.png
  53. BIN
      出入库管理系统/img/icons/apple-touch-icon-76x76.png
  54. BIN
      出入库管理系统/img/icons/apple-touch-icon.png
  55. BIN
      出入库管理系统/img/icons/favicon-16x16.png
  56. BIN
      出入库管理系统/img/icons/favicon-32x32.png
  57. BIN
      出入库管理系统/img/icons/msapplication-icon-144x144.png
  58. BIN
      出入库管理系统/img/icons/mstile-150x150.png
  59. 3 0
      出入库管理系统/img/icons/safari-pinned-tab.svg
  60. 86 0
      出入库管理系统/index.html
  61. 0 0
      出入库管理系统/js/134.49129ba1.js
  62. 0 0
      出入库管理系统/js/134.49129ba1.js.map
  63. 0 0
      出入库管理系统/js/179.05fdfd25.js
  64. 0 0
      出入库管理系统/js/179.05fdfd25.js.map
  65. 0 0
      出入库管理系统/js/253.94c75931.js
  66. 0 0
      出入库管理系统/js/253.94c75931.js.map
  67. 0 0
      出入库管理系统/js/264.7ddb9f74.js
  68. 0 0
      出入库管理系统/js/264.7ddb9f74.js.map
  69. 2 0
      出入库管理系统/js/275.9d7a5ba8.js
  70. 1 0
      出入库管理系统/js/275.9d7a5ba8.js.map
  71. 0 0
      出入库管理系统/js/33.e42ea9ae.js
  72. 0 0
      出入库管理系统/js/33.e42ea9ae.js.map
  73. 2 0
      出入库管理系统/js/342.a30662e9.js
  74. 1 0
      出入库管理系统/js/342.a30662e9.js.map
  75. 0 0
      出入库管理系统/js/357.b7381f47.js
  76. 0 0
      出入库管理系统/js/357.b7381f47.js.map
  77. 0 0
      出入库管理系统/js/401.91f77812.js
  78. 0 0
      出入库管理系统/js/401.91f77812.js.map
  79. 0 0
      出入库管理系统/js/422.fc41c509.js
  80. 0 0
      出入库管理系统/js/422.fc41c509.js.map
  81. 2 0
      出入库管理系统/js/521.87d3381f.js
  82. 0 0
      出入库管理系统/js/521.87d3381f.js.map
  83. 2 0
      出入库管理系统/js/538.0ccb0686.js
  84. 1 0
      出入库管理系统/js/538.0ccb0686.js.map
  85. 0 0
      出入库管理系统/js/605.b261a02e.js
  86. 0 0
      出入库管理系统/js/605.b261a02e.js.map
  87. 2 0
      出入库管理系统/js/607.7daaeffa.js
  88. 1 0
      出入库管理系统/js/607.7daaeffa.js.map
  89. 0 0
      出入库管理系统/js/670.b9c22b4c.js
  90. 0 0
      出入库管理系统/js/670.b9c22b4c.js.map
  91. 0 0
      出入库管理系统/js/674.084146e3.js
  92. 0 0
      出入库管理系统/js/674.084146e3.js.map
  93. 0 0
      出入库管理系统/js/894.412012ab.js
  94. 0 0
      出入库管理系统/js/894.412012ab.js.map
  95. 0 0
      出入库管理系统/js/940.233d102f.js
  96. 0 0
      出入库管理系统/js/940.233d102f.js.map
  97. 0 0
      出入库管理系统/js/app.6ed78eac.js
  98. 0 0
      出入库管理系统/js/app.6ed78eac.js.map
  99. 0 0
      出入库管理系统/js/chunk-vendors.eac145c3.js
  100. 0 0
      出入库管理系统/js/chunk-vendors.eac145c3.js.map

+ 313 - 0
src/views/stockcontrol/storageFrom/downing.vue

@@ -0,0 +1,313 @@
+<template> 
+    <!-- <el-button el-button type="primary" icon="Download" @click="showdialog">收发登记表</el-button> -->
+    <el-button el-button type="primary" icon="Download" @click="showdialogdialog">运输登记表</el-button>
+    <el-dialog v-model="dialogFormVisible" title="收发登记表" :append-to-body="true" draggable width="30%">
+        <el-form :model="initParam" ref="ruleFormRef" :rules="rules">
+            <el-form-item label="品名" :label-width="formLabelWidth" prop="productId">
+                <el-select v-model.number="initParam.productId" filterable remote reserve-keyword placeholder="品名"
+                    :remote-method="remoteMethod1" :loading="loading" clearable style="width: 100%;"
+                    @clear="initParam.productId = null" @click="click1">
+                    <el-option v-for="item in options1" :key="item.value" :label="item.label" :value="item.value" />
+                </el-select>
+            </el-form-item>
+            <el-form-item label="生产企业" :label-width="formLabelWidth" prop="enterpriseId">
+                <el-select v-model.number="initParam.enterpriseId" filterable remote reserve-keyword placeholder="生产企业"
+                    :remote-method="remoteMethod2" :loading="loading" clearable style="width: 100%;"
+                    @clear="initParam.enterpriseId = null" @click="click2">
+                    <el-option v-for="item in options2" :key="item.value" :label="item.label" :value="item.value" />
+                </el-select>
+            </el-form-item>
+            <el-form-item label="规格" :label-width="formLabelWidth" prop="specId">
+                <el-select v-model.number="initParam.specId" filterable remote reserve-keyword placeholder="规格"
+                    :remote-method="remoteMethod3" :loading="loading" clearable style="width: 100%;"
+                    @clear="initParam.specId = null" @click="click3">
+                    <el-option v-for="item in options3" :key="item.value" :label="item.label" :value="item.value" />
+                </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-option v-for="item in options5" :key="item" :label="item" :value="item" />
+                </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>
+            <span class="dialog-footer">
+                <el-button @click="dialogFormVisible = false">Cancel</el-button>
+                <el-button type="primary" @click="submitForm(ruleFormRef,'excel')">导出</el-button>
+                <el-button type="primary" @click="submitForm(ruleFormRef,'pdf')">打印</el-button>
+            </span>
+        </template>
+    </el-dialog>
+    <el-dialog v-model="dialogFormVisible1" title="运输登记表" :append-to-body="true" draggable width="30%">
+        <el-form :model="initParamWord" ref="ruleFormRef1" :rules="rules1">
+            <el-form-item label="出库日期" :label-width="formLabelWidth" prop="date">
+                <el-date-picker v-model="initParamWord.date" type="date" value-format="YYYY-MM-DD" clearable
+                    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="收货单位"
+                    :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-autocomplete v-model="initParamWord.receivingUnit" :fetch-suggestions="querySearch1" clearable class="inputWidth"
+                        placeholder="收货单位" style="width: 100%;" />
+            </el-form-item>
+            <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" />
+                </el-select>
+            </el-form-item>
+        </el-form>
+        <template #footer>
+            <span class="dialog-footer">
+                <el-button @click="dialogFormVisible1 = false">Cancel</el-button>
+                <el-button type="primary" @click="submitForm1(ruleFormRef1,'word')">导出</el-button>
+                <el-button type="primary" @click="submitForm1(ruleFormRef1,'pdf')">打印</el-button>
+
+            </span>
+        </template>
+    </el-dialog>
+</template>
+
+<script setup lang="ts">
+import { inventoryExcel, transportWord,stockunit } from "@/api";
+import { gradeName, enterpriseFun, stockunitFun, specification, LotNumber,shoubat } from "@/plugins/selectData";
+import { reactive, ref, onMounted } from 'vue'
+import { downPDF, downloadExcelFun } from "@/utils/download";
+import type { FormInstance } from 'element-plus'
+const dialogFormVisible = ref(false)
+const dialogFormVisible1 = ref(false)
+const ruleFormRef = ref<FormInstance>()
+const ruleFormRef1 = ref<FormInstance>()
+const formLabelWidth = '80px'
+const loading = ref(false)
+interface RuleForm {
+    batchNumber: any,
+    enterpriseId?: any,
+    productId?: any,
+    specId: any,
+    type: string
+}
+const initParam = reactive<RuleForm>({//请求参数
+    "batchNumber":'',
+    "enterpriseId": null,
+    "productId": null,
+    "specId": null,
+    "type": ''
+})
+interface RuleForm1 {
+    date: any,
+    receivingUnit?: any,
+    productId?: any,
+    type: string
+}
+const initParamWord = reactive<RuleForm1>({//请求参数
+    "date": null,
+    "receivingUnit": '',
+    "productId": null,
+    "type": ''
+})
+onMounted(async () => {
+    const result1: any = await gradeName()//疫苗名称
+    const result2: any = await enterpriseFun()//生产企业
+    const result3: any = await specification()//规格
+    const result4: any = await stockunitFun(2)//收发货单位
+
+    list1.value = findMap(result1 || [], 'obj')
+    list2.value = findMap(result2 || [], 'obj')
+    list3.value = findMap(result3 || [], 'obj')
+    list4.value = findMap(result4 || [], 'map')
+})
+//函数
+const findMap = (arr: any, obj: any) => {
+    return arr.map((item: any) => {
+        return { value: obj == 'obj' ? item.id : item, label: obj == 'obj' ? item.name : item }
+    })
+}
+interface ListItem {
+    value: string
+    label: string
+}
+
+const click1 = async () => { options1.value = list1.value }
+const click2 = async () => { options2.value = list2.value }
+const click3 = async () => { options3.value = list3.value }
+const click4 = async () => { options4.value = list4.value }
+
+
+const list1 = ref<ListItem[]>([])//疫苗名称
+const list2 = ref<ListItem[]>([])//生产企业
+const list3 = ref<ListItem[]>([])//收发货单位
+const list4 = ref<ListItem[]>([])//收发货单位
+
+
+const options1 = ref<ListItem[]>([])
+const options2 = ref<ListItem[]>([])
+const options3 = ref<ListItem[]>([])
+const options4 = ref<ListItem[]>([])
+
+
+
+const remoteMethod1 = async (query: string) => {
+    if (query) {
+        loading.value = true
+        setTimeout(() => {
+            loading.value = false
+            options1.value = list1.value.filter((item: any) => {
+                return item.label.toLowerCase().includes(query.toLowerCase())
+            })
+        }, 200)
+    } else {
+        options1.value = []
+    }
+}
+const remoteMethod2 = async (query: string) => {
+    if (query) {
+        loading.value = true
+        setTimeout(() => {
+            loading.value = false
+            options2.value = list2.value.filter((item: any) => {
+                console.log('第一个', query, item)
+                return item.label.toLowerCase().includes(query.toLowerCase())
+            })
+        }, 200)
+    } else {
+        options2.value = []
+    }
+}
+const remoteMethod3 = async (query: string) => {
+    if (query) {
+        loading.value = true
+        setTimeout(() => {
+            loading.value = false
+            options3.value = list3.value.filter((item: any) => {
+                return item.label.toLowerCase().includes(query.toLowerCase())
+            })
+        }, 200)
+    } else {
+        options3.value = []
+    }
+}
+const remoteMethod4 = async (query: string) => {
+    if (query) {
+        loading.value = true
+        setTimeout(() => {
+            loading.value = false
+            options4.value = list4.value.filter((item: any) => {
+                return item.label.toLowerCase().includes(query.toLowerCase())
+            })
+        }, 200)
+    } else {
+        options3.value = []
+    }
+}
+//函数
+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 showdialogdialog = async ()=>{
+    dialogFormVisible1.value = true
+    const reslut:any  = await shoubat()
+    console.log('数据1',reslut)
+    const arrMap = reslut
+    const arr:any = []
+    arrMap.forEach((item:any)=>{
+        arr.push({ value: item, link: item})  
+    })
+    restaurants1.value = arr
+    console.log('数据2',restaurants1.value)
+}
+const restaurants1 = ref<RestaurantItem[]>([])
+const querySearch1 = (queryString: string, cb: any) => {
+  const results = queryString
+    ? restaurants1.value.filter(createFilter(queryString))
+    : restaurants1.value
+  cb(results)
+}
+
+
+const rules = reactive({
+    batchNumber: [{ required: true, message: '必填项', trigger: 'change' }],
+    enterpriseId: [{ required: true, message: '必填项', trigger: 'change' }],
+    productId: [{ required: true, message: '必填项', trigger: 'change' }],
+    specId: [{ required: true, message: '必填项', trigger: 'change' }],
+})
+const submitForm = async (formEl: FormInstance | undefined,ty:string) => {
+    if (!formEl) return
+    await formEl.validate(async (valid, fields) => {
+        if (valid) {
+            initParam.type = ty
+            const result = await inventoryExcel(initParam)
+            ty=='excel'?downloadExcelFun(result):downPDF(result)
+        } else {
+            console.log('error submit!', fields)
+        }
+    })
+}
+const rules1 = reactive({
+    date: [{ required: true, message: '必填项', trigger: 'change' }],
+    receivingUnit: [{ required: true, message: '必填项', trigger: 'change' }],
+})
+const submitForm1 = async (formEl: FormInstance | undefined,ty:any) => {
+    if (!formEl) return
+    await formEl.validate(async (valid, fields) => {
+        if (valid) {
+            initParamWord.type = ty
+            const result:any = await transportWord(initParamWord)
+
+            console.log('result',result,ty)
+            ty=='word'?downloadExcelFun(result):downPDF(result)
+        } else {
+            console.log('error submit!', fields)
+        }
+    })
+}
+</script>
+<style lang="scss">
+/* @import url(); 引入css类 */
+.inputWidth {
+    width: 200px;
+}
+</style>

+ 7 - 4
src/views/stockcontrol/storageFrom/index.vue

@@ -35,8 +35,9 @@
         </searchAdd>
         <bg istitle="基本信息">
             <template #btn>
-                <Labour @scanCode="scanCodeFun" style="margin-right: 20px;"></Labour>
-                <scanCode @scanCode="scanCodeFun"></scanCode>
+                <Labour @scanCode="scanCodeFun"></Labour>
+                <scanCode @scanCode="scanCodeFun" style="margin:0 10px;"></scanCode>
+                <downing></downing>
             </template>
             <template #bg>
                 <tables ref="TableRef" :requestApi="stockOutList" :columns="columns" :initParam="initParam">
@@ -64,6 +65,8 @@ import searchAdd from "@/components/searchAdd.vue";
 import bg from '@/components/bg.vue'
 import scanCode from './scanCode.vue'
 import Labour from './Labour.vue'
+import downing from './downing.vue'
+
 
 const TableRef = ref()
 import { columnsTableOut } from "@/plugins/rulesData";
@@ -87,8 +90,8 @@ const datepickFn = ()=>{
     data.datepick = [j,j]
     initParam.startDate = j; initParam.endDate = j
 }
-onBeforeMount(()=>{
-    datepickFn()
+onBeforeMount(()=>{//默认获取当天的时间
+    // datepickFn()
 })
 
 const columns:any = []

+ 26 - 2
src/views/stockcontrol/storageFrom/scanCode.vue

@@ -11,8 +11,13 @@
                         {{ findFun(scope.row.medicineInfo[item.prop], item.list) }}
                     </template>
                 </el-table-column>
-                <el-table-column :label="item.label" min-width="150" v-for="item,index in scanCodeTableOut" :key="index"
+                <el-table-column min-width="150" v-for="item,index in scanCodeTableOut" :key="index"
                 :fixed="item.prop == 'operation'&&'right'">
+                    <template v-slot:header="scope">  
+                        <div @dblclick="dbclicklable(item)">  
+                            {{item.label}}  
+                        </div>  
+                    </template> 
                     <template #default="scope">
                         <el-input v-if="['quantity','unitPrice','operator'].includes(item.prop)" v-model="scope.row[item.prop]" style="width: 100px;"/>
                         <el-date-picker v-if="item.prop == 'date'" v-model="scope.row[item.prop]" type="date" value-format="YYYY-MM-DD" style="width: 120px;"/>
@@ -73,7 +78,23 @@ let initParam: any = reactive({
     "quantity": '',
     "unitPrice": null
 })
-
+//双击填充经办人,发货单位
+const dbclicklable = (item:any)=>{
+    if(['收货单位','经办人'].includes(item.label)){
+        if(data.tableData.length!=0){
+            if(data.tableData[0][item.prop]==''){
+                ElMessage.error('请填写第一项,在双击全部填充')
+                return
+            }
+            data.tableData.forEach((obj:any)=>{
+                obj[item.prop] = data.tableData[0][item.prop]
+            })
+        }else{
+            ElMessage.error('请先扫描在进行批量填充')
+            return
+        }
+    }
+}
 /**
  * 当前搜索到的样式
  * @param param0 
@@ -160,6 +181,9 @@ const inputSearchfn = async (e:any)=>{
     initParamObj.Qrcode = e
     if (reslut.code==200 && reslut.msg=='查询成功') {
         initParamObj.medicineInfo = reslut.data[0] || {}
+        if(reslut.data[0].quantity!=undefined){
+            initParamObj.quantity = reslut.data[0].quantity
+        }
         initParamObj.date = timesFn()
         data.tableData.push(initParamObj)
         inputSearchRef.value?.inputFocus()

+ 24 - 16
src/views/stockcontrol/storagePut/Labour.vue

@@ -12,12 +12,12 @@
                         class="inputWidth" v-if="[1, 2, 3, 4, 5].includes(item.type)">
                         <el-option :label="itemIt.name" :value="itemIt.id" v-for="itemIt, i in item.list" :key="i" />
                     </el-select>
+                    
+
                     <el-input v-model="initParam.medicineInfo[item.field_name]" autocomplete="off"
-                        :placeholder="'请输入' + item.name" class="inputWidth" v-if="item.type == 6" />
-                    <el-input v-model="initParam.medicineInfo[item.field_name]" autocomplete="off"
-                        :placeholder="'请输入' + item.name" class="inputWidth" v-if="item.type == 7" />
-                    <el-input v-model="initParam.medicineInfo[item.field_name]" autocomplete="off"
-                        :placeholder="'请输入' + item.name" class="inputWidth" v-if="item.type == 8" />
+                        :placeholder="'请输入' + item.name" class="inputWidth" v-if="[6,7,8].includes(item.type)" />
+
+
                     <el-date-picker v-model="initParam.medicineInfo[item.field_name]" type="date" value-format="YYYY-MM-DD"
                         :placeholder="'请输入' + item.name" clearable style="width: 200px;" v-if="item.type == 9" />
                     <el-date-picker v-model="initParam.medicineInfo[item.field_name]" type="datetime"
@@ -90,6 +90,8 @@ import { reactive, ref ,onMounted} from 'vue'
 import type { FormInstance, FormRules } from 'element-plus'
 import { ElNotification } from 'element-plus'
 import { syrulesData, columnsTable } from "@/plugins/rulesData";
+import {timesFn} from "@/plugins/settime";
+
 const dialogFormVisible = ref(false)
 const ruleFormRef = ref<FormInstance>()
 
@@ -107,7 +109,7 @@ import { ElMessage, ElMessageBox } from 'element-plus'
 import { Delete, Edit, } from '@element-plus/icons-vue'
 const formLabelWidth = '110px'
 let initParam: any = reactive({
-    "date": "",
+    "date":"",
     "forwardingUnit": "",
     "medicineInfo": {},
     "operator": '',
@@ -115,8 +117,6 @@ let initParam: any = reactive({
     "unitPrice":null
 })
 
-
-
 interface RestaurantItem {
   value: string
   link: string
@@ -265,10 +265,11 @@ const showDia = async () => {
     data.selectType = []
     data.editStrot = false
     resetFun()//复原表单
-
     medicListStockFun()//获取入库表单
     itemPirFun()//发货单位
     operatorListApi()//经办人
+    initParam.date = timesFn()
+
 }
 //复原表单
 const resetFun = async () => {
@@ -293,18 +294,25 @@ const medicListStockFun = async () => {
             data.selectType.push({ type: value.type, list: value.list })
             data.columns.push({ prop: value.field_name, label: value.name, list: value.list })
             initParam.medicineInfo[value.field_name] = ''; // 这里可以根据需要设置其他值作为键的内容
-            if (['product_id', 'enterprise_id', 'spec_id', 'batch_number', 'expiry_date', 'approval_number'].includes(value.field_name)) {
-                if (value.type == 6) {
-                    data.rules1['medicineInfo.' + value.field_name] = [{ required: true, message: '必填项', trigger: 'change' }, { pattern: /^([1-9]\d*|0)(\.\d{1,2})?$/, message: '请输入>=0,(最多两位小数)', trigger: "blur" },]
+            if (['product_id', 'enterprise_id', 'spec_id', 'batch_number', 'expiry_date'].includes(value.field_name)) {
+                // if (value.type == 6) {
+                //     data.rules1['medicineInfo.' + value.field_name] = [{ required: true, message: '必填项', trigger: 'change' }, { pattern: /^([1-9]\d*|0)(\.\d{1,2})?$/, message: '请输入>=0,(最多两位小数)', trigger: "blur" },]
+                // } else if (value.type == 7) {
+                //     data.rules1['medicineInfo.' + value.field_name] = [{ required: true, message: '必填项', trigger: 'change' }, { pattern: /^(?:[1-9]\d*)$/, message: '请输入正整数', trigger: "blur" },]
+                // } else {
+                //     data.rules1['medicineInfo.' + value.field_name] = [{ required: true, message: '必填项', trigger: 'change', }]
+                // }
+                data.rules1['medicineInfo.' + value.field_name] = [{ required: true, message: '必填项', trigger: 'change', }]
+            }else{
+                if (value.type == 8) {
+                    data.rules1['medicineInfo.' + value.field_name] = [{ required: false, message: '必填项', trigger: 'change' }, { pattern: /^([1-9]\d*|0)(\.\d{1,2})?$/, message: '请输入>=0,(最多两位小数)', trigger: "blur" },]
                 } else if (value.type == 7) {
-                    data.rules1['medicineInfo.' + value.field_name] = [{ required: true, message: '必填项', trigger: 'change' }, { pattern: /^(?:[1-9]\d*)$/, message: '请输入正整数', trigger: "blur" },]
-                } else {
-                    data.rules1['medicineInfo.' + value.field_name] = [{ required: true, message: '必填项', trigger: 'change', }]
+                    data.rules1['medicineInfo.' + value.field_name] = [{ required: false, message: '必填项', trigger: 'change' }, { pattern: /^(?:[1-9]\d*)$/, message: '请输入正整数', trigger: "blur" },]
                 }
             }
         });
         Object.assign(rules, { ...data.rules1, ...syrulesData })
-        console.log('表格', data.selectType)
+        // console.log('表格', data.selectType)
         dialogFormVisible.value = true
     }
 }

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

@@ -89,7 +89,7 @@ const datepickFn = ()=>{
     initParam.startDate = j; initParam.endDate = j
 }
 onBeforeMount(()=>{
-    datepickFn()
+    // datepickFn()
 })
 const columns:any = []
 //提交参数

+ 26 - 3
src/views/stockcontrol/storagePut/scanCode.vue

@@ -11,8 +11,13 @@
                         {{ findFun(scope.row.medicineInfo[item.prop], item.list) }}
                     </template>
                 </el-table-column>
-                <el-table-column :label="item.label" min-width="150" v-for="item,index in scanCodeTable" :key="index"
+                <el-table-column min-width="150" v-for="item,index in scanCodeTable" :key="index"
                 :fixed="item.prop == 'operation'&&'right'">
+                    <template v-slot:header="scope">  
+                        <div @dblclick="dbclicklable(item)">  
+                            {{item.label}}  
+                        </div>  
+                    </template>    
                     <template #default="scope">
                         <el-input v-if="['quantity','unitPrice','operator'].includes(item.prop)" v-model="scope.row[item.prop]" style="width: 100px;"/>
                         <el-date-picker v-if="item.prop == 'date'" v-model="scope.row[item.prop]" type="date" value-format="YYYY-MM-DD" style="width: 120px;"/>
@@ -77,8 +82,22 @@ let initParam: any = reactive({
     "unitPrice": null
 })
 
-
-
+const dbclicklable = (item:any)=>{
+    if(['发货单位','经办人'].includes(item.label)){
+        if(data.tableData.length!=0){
+            if(data.tableData[0][item.prop]==''){
+                ElMessage.error('请填写第一项,在双击全部填充')
+                return
+            }
+            data.tableData.forEach((obj:any)=>{
+                obj[item.prop] = data.tableData[0][item.prop]
+            })
+        }else{
+            ElMessage.error('请先扫描在进行批量填充')
+            return
+        }
+    }
+}
 /**
  * 当前搜索到的样式
  * @param param0 
@@ -163,8 +182,12 @@ const inputSearchfn = async (e:any)=>{
     const reslut:any = await medicMsfx({code:e})
     let initParamObj = {...initParam}
     initParamObj.Qrcode = e
+    console.log('扫描出',reslut)
     if (reslut.code==200 && reslut.msg=='查询成功') {
         initParamObj.medicineInfo = reslut.data[0] || {}
+        if(reslut.data[0].quantity!=undefined){
+            initParamObj.quantity = reslut.data[0].quantity
+        }
         initParamObj.date = timesFn()
         console.log('initParamObj',initParamObj)
         data.tableData.push(initParamObj)

+ 1 - 1
src/views/stockcontrol/storagePut/transportScanCode.vue

@@ -1,7 +1,7 @@
 <!-- 运输扫码 -->
 <template>
     <div class="">
-        <el-button el-button type="primary" icon="Camera" @click="showDia">条码入库</el-button>
+        <el-button el-button type="primary" icon="Camera" @click="showDia">运输单条码入库</el-button>
         <el-dialog v-model="dialogFormVisible" title="扫描运输条码入库" :append-to-body="true" draggable :close-on-click-modal="false"
             :close-on-press-escape="false" width="95%">
             <inputSearch ref="inputSearchRef" placeholderData="请扫描运输条码" style="margin:0 auto 40px auto;" @inputSearchData="inputSearchfn"></inputSearch>

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

@@ -40,7 +40,7 @@
                     <template v-for="(item, i) in columns" :key="i">
                         <el-table-column :type="item.type" width="55" v-if="item.type" :reserve-selection="true"
                             align="center" fixed />
-                        <el-table-column :property="item.prop" v-if="item.prop" :label="item.label" align="center" :width="item.width">
+                        <el-table-column :property="item.prop" v-if="item.prop" :label="item.label" align="center" :width="item.width" :show-overflow-tooltip="true">
                         </el-table-column>
                         <el-table-column v-if="item.prop == 'operation'" :label="item.label" fixed="right" min-width="200">
                             <template #default="scope">
@@ -142,7 +142,7 @@ const datepickFn = ()=>{
     initParam.startDate = j; 
     initParam.endDate = j
 }
-datepickFn()
+// datepickFn()
 const userListApi = async () => {
     const result: any = await inventoryList(initParam)
     data.tableData = result.data?.list || []

BIN
出入库管理系统.rar


+ 1 - 0
出入库管理系统/css/134.41fb80da.css

@@ -0,0 +1 @@
+.mark-green1{width:30px;height:30px;background:#d8f2e3}.mark-green1,.mark-green2{border-radius:50%;display:flex;align-items:center;justify-content:center}.mark-green2{width:70%;height:70%;background:#b2efcc}.mark-green3{width:50%;height:50%;justify-content:center;border-radius:50%;background:#69d297}.bg-tit,.mark-green3{display:flex;align-items:center}.bg-tit{padding:var(--y-padding) 0;border-bottom:1px solid var(--el-card-border-color);box-sizing:border-box;margin-bottom:var(--y-margin);justify-content:space-between}.y-tabs{background:var(--y-card-background);border-radius:var(--y-radius);margin-top:var(--y-margin)}.y-tabs-headers{border-bottom:var(--y-border);box-sizing:border-box}.bg,.y-tabs-headers,.y-tabs-item{padding:var(--y-padding)}.bg{border-radius:var(--el-card-border-radius);background-color:var(--el-card-bg-color);overflow:hidden;color:var(--el-text-color-primary);transition:var(--el-transition-duration);--el-card-border-color:var(--el-border-color-light);--el-card-border-radius:4px;--el-card-bg-color:var(--el-fill-color-blank);margin-bottom:var(--y-margin)}.statistics{display:flex;align-items:center}.statistics-right{display:block;line-height:25px;margin-left:var(--y-margin)}.essentialinfo{overflow-y:auto}.essentialinfo-main{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));grid-gap:0 20px}

File diff suppressed because it is too large
+ 0 - 0
出入库管理系统/css/179.78b05970.css


+ 1 - 0
出入库管理系统/css/253.b6e1abc9.css

@@ -0,0 +1 @@
+.y-tabs{background:var(--y-card-background);border-radius:var(--y-radius);margin-top:var(--y-margin)}.y-tabs-headers{border-bottom:var(--y-border);box-sizing:border-box}.y-tabs-headers,.y-tabs-item{padding:var(--y-padding)}.card-header{display:flex;justify-content:space-between;align-items:center}.el-card.is-always-shadow{box-shadow:none}.text{font-size:14px}.item{margin-bottom:18px}.el-card__header{padding:var(--y-padding);border-bottom:1px solid var(--el-card-border-color);box-sizing:border-box}.box-card{border:none}

+ 1 - 0
出入库管理系统/css/264.dfb159e9.css

@@ -0,0 +1 @@
+.searchAdd{border-radius:var(--el-card-border-radius);background-color:var(--el-card-bg-color);overflow:hidden;color:var(--el-text-color-primary);transition:var(--el-transition-duration);--el-card-border-color:var(--el-border-color-light);--el-card-border-radius:4px;--el-card-bg-color:var(--el-fill-color-blank);padding:var(--y-padding) var(--y-padding) 0 var(--y-padding);justify-content:space-between;margin-bottom:var(--y-margin)}.searchAdd,.searchAdd-left{display:flex;align-items:center}.el-form-item{display:flex;--font-size:14px}.y-tabs{background:var(--y-card-background);border-radius:var(--y-radius);margin-top:var(--y-margin)}.y-tabs-headers{border-bottom:var(--y-border);box-sizing:border-box}.y-tabs-headers,.y-tabs-item{padding:var(--y-padding)}.mark-green1{width:30px;height:30px;background:#d8f2e3}.mark-green1,.mark-green2{border-radius:50%;display:flex;align-items:center;justify-content:center}.mark-green2{width:70%;height:70%;background:#b2efcc}.mark-green3{width:50%;height:50%;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#69d297}.bg{border-radius:var(--el-card-border-radius);background-color:var(--el-card-bg-color);overflow:hidden;color:var(--el-text-color-primary);transition:var(--el-transition-duration);--el-card-border-color:var(--el-border-color-light);--el-card-border-radius:4px;--el-card-bg-color:var(--el-fill-color-blank);padding:var(--y-padding)}.bg,.bg-tit{margin-bottom:var(--y-margin)}.bg-tit{padding:var(--y-padding) 0;border-bottom:1px solid var(--el-card-border-color);box-sizing:border-box;display:flex;align-items:center;justify-content:space-between}.user-conter{gap:20px;display:flex}.user-conter-table{flex:.6}.user-conter-prog{flex:.4}

+ 0 - 0
出入库管理系统/css/275.4f034e44.css


+ 0 - 0
出入库管理系统/css/342.4f034e44.css


+ 1 - 0
出入库管理系统/css/357.4b5d2e9a.css

@@ -0,0 +1 @@
+.inputWidth{width:200px}.searchAdd{border-radius:var(--el-card-border-radius);background-color:var(--el-card-bg-color);overflow:hidden;color:var(--el-text-color-primary);transition:var(--el-transition-duration);--el-card-border-color:var(--el-border-color-light);--el-card-border-radius:4px;--el-card-bg-color:var(--el-fill-color-blank);padding:var(--y-padding) var(--y-padding) 0 var(--y-padding);justify-content:space-between;margin-bottom:var(--y-margin)}.searchAdd,.searchAdd-left{display:flex;align-items:center}.el-form-item{display:flex;--font-size:14px}.mark-green1{width:30px;height:30px;background:#d8f2e3}.mark-green1,.mark-green2{border-radius:50%;display:flex;align-items:center;justify-content:center}.mark-green2{width:70%;height:70%;background:#b2efcc}.mark-green3{width:50%;height:50%;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#69d297}.bg{border-radius:var(--el-card-border-radius);background-color:var(--el-card-bg-color);overflow:hidden;color:var(--el-text-color-primary);transition:var(--el-transition-duration);--el-card-border-color:var(--el-border-color-light);--el-card-border-radius:4px;--el-card-bg-color:var(--el-fill-color-blank);padding:var(--y-padding)}.bg,.bg-tit{margin-bottom:var(--y-margin)}.bg-tit{padding:var(--y-padding) 0;border-bottom:1px solid var(--el-card-border-color);box-sizing:border-box;display:flex;align-items:center;justify-content:space-between}.storagePut{-webkit-user-select:none;-moz-user-select:none;user-select:none}

+ 1 - 0
出入库管理系统/css/401.3289778d.css

@@ -0,0 +1 @@
+.mark-green1{width:30px;height:30px;background:#d8f2e3}.mark-green1,.mark-green2{border-radius:50%;display:flex;align-items:center;justify-content:center}.mark-green2{width:70%;height:70%;background:#b2efcc}.mark-green3{width:50%;height:50%;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#69d297}.bg{border-radius:var(--el-card-border-radius);background-color:var(--el-card-bg-color);overflow:hidden;color:var(--el-text-color-primary);transition:var(--el-transition-duration);--el-card-border-color:var(--el-border-color-light);--el-card-border-radius:4px;--el-card-bg-color:var(--el-fill-color-blank);padding:var(--y-padding);margin-bottom:var(--y-margin)}.bg-tit{padding:var(--y-padding) 0;border-bottom:1px solid var(--el-card-border-color);box-sizing:border-box}.bg-tit,.searchAdd{margin-bottom:var(--y-margin);display:flex;align-items:center;justify-content:space-between}.searchAdd{border-radius:var(--el-card-border-radius);background-color:var(--el-card-bg-color);overflow:hidden;color:var(--el-text-color-primary);transition:var(--el-transition-duration);--el-card-border-color:var(--el-border-color-light);--el-card-border-radius:4px;--el-card-bg-color:var(--el-fill-color-blank);padding:var(--y-padding) var(--y-padding) 0 var(--y-padding)}.searchAdd-left{display:flex;align-items:center}.el-form-item{display:flex;--font-size:14px}.company{-webkit-user-select:none;-moz-user-select:none;user-select:none}.el-tree-node__content{height:50px}.custom-tree-node{flex:1;display:flex;align-items:center}.el-tree-node:focus>.el-tree-node__content,.el-tree-node__content:hover{border-radius:20px 0 20px 0}.custom-tree-node>span:first-child{flex:1;display:block}.el-tree{width:100%}

+ 1 - 0
出入库管理系统/css/422.20fdc38f.css

@@ -0,0 +1 @@
+.bg{border-radius:var(--el-card-border-radius);background-color:var(--el-card-bg-color);overflow:hidden;color:var(--el-text-color-primary);transition:var(--el-transition-duration);--el-card-border-color:var(--el-border-color-light);--el-card-border-radius:4px;--el-card-bg-color:var(--el-fill-color-blank);padding:var(--y-padding);margin-bottom:var(--y-margin)}.card-header{display:flex;justify-content:space-between;align-items:center}.el-card.is-always-shadow{box-shadow:none}.text{font-size:14px}.item{margin-bottom:18px}.el-card__header{padding:var(--y-padding);border-bottom:1px solid var(--el-card-border-color);box-sizing:border-box}.box-card{border:none}.statistics{display:flex;align-items:center}.statistics-right{display:block;line-height:25px;margin-left:var(--y-margin)}.y-tabs{background:var(--y-card-background);border-radius:var(--y-radius);margin-top:var(--y-margin)}.y-tabs-headers{border-bottom:var(--y-border);box-sizing:border-box}.y-tabs-headers,.y-tabs-item{padding:var(--y-padding)}.home{overflow-y:auto}.home-main{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));grid-gap:20px}.home-echarts{display:grid;grid-template-columns:repeat(auto-fit,minmax(500px,1fr));grid-gap:20px}.fixedstyle{position:fixed;top:0;left:0;right:0;bottom:0;width:100%;z-index:99999!important;border:1px solid red}

+ 1 - 0
出入库管理系统/css/521.42ad3fcf.css

@@ -0,0 +1 @@
+.not-container[data-v-708bd337]{height:100%}.not-container[data-v-708bd337],.not-detail[data-v-708bd337]{display:flex;align-items:center;justify-content:center;flex-direction:column}.not-detail[data-v-708bd337]{line-height:80px}.not-detail p[data-v-708bd337]{font-size:24px}

+ 0 - 0
出入库管理系统/css/538.4f034e44.css


File diff suppressed because it is too large
+ 0 - 0
出入库管理系统/css/605.2b0d00a5.css


+ 0 - 0
出入库管理系统/css/607.4f034e44.css


+ 1 - 0
出入库管理系统/css/670.b00fd934.css

@@ -0,0 +1 @@
+.y-tabs{background:var(--y-card-background);border-radius:var(--y-radius);margin-top:var(--y-margin)}.y-tabs-headers{border-bottom:var(--y-border);box-sizing:border-box}.y-tabs-headers,.y-tabs-item{padding:var(--y-padding)}.searchAdd{border-radius:var(--el-card-border-radius);background-color:var(--el-card-bg-color);overflow:hidden;color:var(--el-text-color-primary);transition:var(--el-transition-duration);--el-card-border-color:var(--el-border-color-light);--el-card-border-radius:4px;--el-card-bg-color:var(--el-fill-color-blank);padding:var(--y-padding) var(--y-padding) 0 var(--y-padding);justify-content:space-between;margin-bottom:var(--y-margin)}.searchAdd,.searchAdd-left{display:flex;align-items:center}.el-form-item{display:flex;--font-size:14px}.mark-green1{width:30px;height:30px;background:#d8f2e3}.mark-green1,.mark-green2{border-radius:50%;display:flex;align-items:center;justify-content:center}.mark-green2{width:70%;height:70%;background:#b2efcc}.mark-green3{width:50%;height:50%;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#69d297}.bg{border-radius:var(--el-card-border-radius);background-color:var(--el-card-bg-color);overflow:hidden;color:var(--el-text-color-primary);transition:var(--el-transition-duration);--el-card-border-color:var(--el-border-color-light);--el-card-border-radius:4px;--el-card-bg-color:var(--el-fill-color-blank);padding:var(--y-padding)}.bg,.bg-tit{margin-bottom:var(--y-margin)}.bg-tit{padding:var(--y-padding) 0;border-bottom:1px solid var(--el-card-border-color);box-sizing:border-box;display:flex;align-items:center;justify-content:space-between}

File diff suppressed because it is too large
+ 0 - 0
出入库管理系统/css/674.2f535045.css


+ 1 - 0
出入库管理系统/css/894.9502257d.css

@@ -0,0 +1 @@
+.searchAdd{border-radius:var(--el-card-border-radius);background-color:var(--el-card-bg-color);overflow:hidden;color:var(--el-text-color-primary);transition:var(--el-transition-duration);--el-card-border-color:var(--el-border-color-light);--el-card-border-radius:4px;--el-card-bg-color:var(--el-fill-color-blank);padding:var(--y-padding) var(--y-padding) 0 var(--y-padding);justify-content:space-between;margin-bottom:var(--y-margin)}.searchAdd,.searchAdd-left{display:flex;align-items:center}.el-form-item{display:flex;--font-size:14px}.y-tabs{background:var(--y-card-background);border-radius:var(--y-radius);margin-top:var(--y-margin)}.y-tabs-headers{border-bottom:var(--y-border);box-sizing:border-box}.y-tabs-headers,.y-tabs-item{padding:var(--y-padding)}.mark-green1{width:30px;height:30px;background:#d8f2e3}.mark-green1,.mark-green2{border-radius:50%;display:flex;align-items:center;justify-content:center}.mark-green2{width:70%;height:70%;background:#b2efcc}.mark-green3{width:50%;height:50%;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#69d297}.bg{border-radius:var(--el-card-border-radius);background-color:var(--el-card-bg-color);overflow:hidden;color:var(--el-text-color-primary);transition:var(--el-transition-duration);--el-card-border-color:var(--el-border-color-light);--el-card-border-radius:4px;--el-card-bg-color:var(--el-fill-color-blank);padding:var(--y-padding);margin-bottom:var(--y-margin)}.bg-tit{padding:var(--y-padding) 0;border-bottom:1px solid var(--el-card-border-color);box-sizing:border-box;align-items:center;justify-content:space-between}.bg-tit,.storageInquire-main{margin-bottom:var(--y-margin);display:flex}.storageInquire-main{background:var(--y-card-background);border-radius:var(--y-radius);gap:60px}.storageInquire-main-bg{display:flex;flex-direction:column;align-items:center;justify-content:center}

+ 1 - 0
出入库管理系统/css/940.d4407f76.css

@@ -0,0 +1 @@
+.y-tabs{background:var(--y-card-background);border-radius:var(--y-radius);margin-top:var(--y-margin)}.y-tabs-headers{border-bottom:var(--y-border);box-sizing:border-box}.y-tabs-headers,.y-tabs-item{padding:var(--y-padding)}.searchAdd{border-radius:var(--el-card-border-radius);background-color:var(--el-card-bg-color);overflow:hidden;color:var(--el-text-color-primary);transition:var(--el-transition-duration);--el-card-border-color:var(--el-border-color-light);--el-card-border-radius:4px;--el-card-bg-color:var(--el-fill-color-blank);padding:var(--y-padding) var(--y-padding) 0 var(--y-padding);justify-content:space-between;margin-bottom:var(--y-margin)}.searchAdd,.searchAdd-left{display:flex;align-items:center}.el-form-item{display:flex;--font-size:14px}.mark-green1{width:30px;height:30px;background:#d8f2e3}.mark-green1,.mark-green2{border-radius:50%;display:flex;align-items:center;justify-content:center}.mark-green2{width:70%;height:70%;background:#b2efcc}.mark-green3{width:50%;height:50%;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#69d297}.bg{border-radius:var(--el-card-border-radius);background-color:var(--el-card-bg-color);overflow:hidden;color:var(--el-text-color-primary);transition:var(--el-transition-duration);--el-card-border-color:var(--el-border-color-light);--el-card-border-radius:4px;--el-card-bg-color:var(--el-fill-color-blank);padding:var(--y-padding)}.bg,.bg-tit{margin-bottom:var(--y-margin)}.bg-tit{padding:var(--y-padding) 0;border-bottom:1px solid var(--el-card-border-color);box-sizing:border-box;display:flex;align-items:center;justify-content:space-between}

File diff suppressed because it is too large
+ 0 - 0
出入库管理系统/css/app.fa206cd9.css


File diff suppressed because it is too large
+ 0 - 0
出入库管理系统/css/chunk-vendors.c5343724.css


BIN
出入库管理系统/favicon.ico


BIN
出入库管理系统/fonts/1639093199705607.23cb1cbf.ttf


BIN
出入库管理系统/fonts/1640748942940454.8d571a5b.ttf


BIN
出入库管理系统/fonts/1645487823772202.188bbc5c.otf


BIN
出入库管理系统/fonts/Logo.10a8e37a.ttf


BIN
出入库管理系统/fonts/UnidreamLED.df04847a.ttf


BIN
出入库管理系统/fonts/douyuzhuiguangti.23cb1cbf.ttf


BIN
出入库管理系统/fonts/iconfont.70052f61.ttf


BIN
出入库管理系统/img/1700227167756.2203a3ea.jpg


BIN
出入库管理系统/img/1700227576514.0f0dfe16.jpg


BIN
出入库管理系统/img/1700228167058.6445352d.jpg


BIN
出入库管理系统/img/1700228181332.9528a5c4.jpg


BIN
出入库管理系统/img/1700228207945.f1b33668.jpg


BIN
出入库管理系统/img/1700450751581.b7423ad9.png


BIN
出入库管理系统/img/404.52ac3ffa.png


+ 1 - 0
出入库管理系统/img/BarCodeQR.69f4fb5e.svg

@@ -0,0 +1 @@
+<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1703836388491" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="7152" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M170.6496 263.68h20.48v503.5776h-20.48z m50.3552 0h98.0224v503.5776H221.0048z m120.32 0h55.296v503.5776h-55.296z m465.408 0h55.296v503.5776h-55.296z m-232.704 0h18.432v503.5776h-18.432z m170.6496 0h18.432v503.5776h-18.432z m-325.7856 0h92.16v503.5776h-92.16z m201.6768 0h92.16v503.5776h-92.16z m333.5936 684.1344v-157.9776H1024V1024h-221.4912v-76.1856h151.6544zM1024 117.0176v117.0176h-69.8368V76.0576h-151.6544V0H1024zM69.7344 947.8144h151.6288V1024H0v-234.1632h69.7344z m0-871.7568v157.9776H0V0h221.3632v76.0576H69.7344z" fill="#409eff" p-id="7153"></path></svg>

BIN
出入库管理系统/img/icons/android-chrome-192x192.png


BIN
出入库管理系统/img/icons/android-chrome-512x512.png


BIN
出入库管理系统/img/icons/android-chrome-maskable-192x192.png


BIN
出入库管理系统/img/icons/android-chrome-maskable-512x512.png


BIN
出入库管理系统/img/icons/apple-touch-icon-120x120.png


BIN
出入库管理系统/img/icons/apple-touch-icon-152x152.png


BIN
出入库管理系统/img/icons/apple-touch-icon-180x180.png


BIN
出入库管理系统/img/icons/apple-touch-icon-60x60.png


BIN
出入库管理系统/img/icons/apple-touch-icon-76x76.png


BIN
出入库管理系统/img/icons/apple-touch-icon.png


BIN
出入库管理系统/img/icons/favicon-16x16.png


BIN
出入库管理系统/img/icons/favicon-32x32.png


BIN
出入库管理系统/img/icons/msapplication-icon-144x144.png


BIN
出入库管理系统/img/icons/mstile-150x150.png


+ 3 - 0
出入库管理系统/img/icons/safari-pinned-tab.svg

@@ -0,0 +1,3 @@
+<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
+<path d="M8.00251 14.9297L0 1.07422H6.14651L8.00251 4.27503L9.84583 1.07422H16L8.00251 14.9297Z" fill="black"/>
+</svg>

+ 86 - 0
出入库管理系统/index.html

@@ -0,0 +1,86 @@
+<!doctype html><html lang=""><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1"><link rel="ico" href="/favicon.ico"><title>baozhidao-putoutstorage</title><style>* {
+      margin: 0;
+      padding: 0;
+    }
+
+    .loadingSpinn {
+      height: 100vh;
+      display: flex;
+      align-items: center;
+      justify-content: center;
+    }
+
+    .atom-spinner,
+    .atom-spinner * {
+      box-sizing: border-box;
+    }
+
+    .atom-spinner {
+      height:100px;
+      width: 100px;
+      overflow: hidden;
+    }
+
+    .atom-spinner .spinner-inner {
+      position: relative;
+      display: block;
+      height: 100%;
+      width: 100%;
+    }
+
+    .atom-spinner .spinner-circle {
+      display: block;
+      position: absolute;
+      color: #409eff;
+      font-size: calc(60px * 0.24);
+      top: 50%;
+      left: 50%;
+      transform: translate(-50%, -50%);
+    }
+
+    .atom-spinner .spinner-line {
+      position: absolute;
+      width: 100%;
+      height: 100%;
+      border-radius: 50%;
+      animation-duration: 1s;
+      border-left-width: calc(60px / 25);
+      border-top-width: calc(60px / 25);
+      border-left-color: #409eff;
+      border-left-style: solid;
+      border-top-style: solid;
+      border-top-color: transparent;
+    }
+
+    .atom-spinner .spinner-line:nth-child(1) {
+      animation: atom-spinner-animation-1 1s linear infinite;
+      transform: rotateZ(120deg) rotateX(66deg) rotateZ(0deg);
+    }
+
+    .atom-spinner .spinner-line:nth-child(2) {
+      animation: atom-spinner-animation-2 1s linear infinite;
+      transform: rotateZ(240deg) rotateX(66deg) rotateZ(0deg);
+    }
+
+    .atom-spinner .spinner-line:nth-child(3) {
+      animation: atom-spinner-animation-3 1s linear infinite;
+      transform: rotateZ(360deg) rotateX(66deg) rotateZ(0deg);
+    }
+
+    @keyframes atom-spinner-animation-1 {
+      100% {
+        transform: rotateZ(120deg) rotateX(66deg) rotateZ(360deg);
+      }
+    }
+
+    @keyframes atom-spinner-animation-2 {
+      100% {
+        transform: rotateZ(240deg) rotateX(66deg) rotateZ(360deg);
+      }
+    }
+
+    @keyframes atom-spinner-animation-3 {
+      100% {
+        transform: rotateZ(360deg) rotateX(66deg) rotateZ(360deg);
+      }
+    }</style><script defer="defer" src="/js/chunk-vendors.eac145c3.js"></script><script defer="defer" src="/js/app.6ed78eac.js"></script><link href="/css/chunk-vendors.c5343724.css" rel="stylesheet"><link href="/css/app.fa206cd9.css" rel="stylesheet"><!--[if IE]><link rel="icon" type="image/svg+xml" href="/img/icons/favicon.svg"><![endif]--><link rel="icon" type="image/png" sizes="32x32" href="/./favicon.ico"><link rel="icon" type="image/png" sizes="16x16" href="/./favicon.ico"><link rel="manifest" href="/manifest.json"><meta name="theme-color" content="#4DBA87"><meta name="apple-mobile-web-app-capable" content="no"><meta name="apple-mobile-web-app-status-bar-style" content="default"><meta name="apple-mobile-web-app-title" content="baozhidao-putoutstorage"><link rel="apple-touch-icon" href="/./favicon.ico"><link rel="mask-icon" href="/./favicon.ico" color="#4DBA87"><meta name="msapplication-TileImage" content="/./favicon.ico"><meta name="msapplication-TileColor" content="#000000"></head><body><noscript><strong>We're sorry but baozhidao-putoutstorage doesn't work properly without JavaScript enabled.Please enable it to continue.</strong></noscript><div id="app"><div class="loadingSpinn"><div class="atom-spinner"><div class="spinner-inner"><div class="spinner-line"></div><div class="spinner-line"></div><div class="spinner-line"></div><div class="spinner-circle">&#9679;</div></div></div></div></div></body></html>

File diff suppressed because it is too large
+ 0 - 0
出入库管理系统/js/134.49129ba1.js


File diff suppressed because it is too large
+ 0 - 0
出入库管理系统/js/134.49129ba1.js.map


File diff suppressed because it is too large
+ 0 - 0
出入库管理系统/js/179.05fdfd25.js


File diff suppressed because it is too large
+ 0 - 0
出入库管理系统/js/179.05fdfd25.js.map


File diff suppressed because it is too large
+ 0 - 0
出入库管理系统/js/253.94c75931.js


File diff suppressed because it is too large
+ 0 - 0
出入库管理系统/js/253.94c75931.js.map


File diff suppressed because it is too large
+ 0 - 0
出入库管理系统/js/264.7ddb9f74.js


File diff suppressed because it is too large
+ 0 - 0
出入库管理系统/js/264.7ddb9f74.js.map


+ 2 - 0
出入库管理系统/js/275.9d7a5ba8.js

@@ -0,0 +1,2 @@
+"use strict";(self["webpackChunkbaozhidao_putoutstorage"]=self["webpackChunkbaozhidao_putoutstorage"]||[]).push([[275],{3275:function(t,u,o){o.r(u),o.d(u,{default:function(){return i}});var r=o(6252);const e={class:""};function n(t,u){const o=(0,r.up)("router-view");return(0,r.wg)(),(0,r.iD)("div",e,[(0,r.Wm)(o)])}var a=o(3744);const s={},c=(0,a.Z)(s,[["render",n]]);var i=c}}]);
+//# sourceMappingURL=275.9d7a5ba8.js.map

+ 1 - 0
出入库管理系统/js/275.9d7a5ba8.js.map

@@ -0,0 +1 @@
+{"version":3,"file":"js/275.9d7a5ba8.js","mappings":"iNACSA,MAAM,I,kEAAXC,EAAAA,EAAAA,IAAmC,MAAnCC,EAAmC,EAArBC,EAAAA,EAAAA,IAAeC,I,eCAjC,MAAMC,EAAS,CAAC,EAKVC,GAA2B,OAAgBD,EAAQ,CAAC,CAAC,SAASE,KAEpE,O","sources":["webpack://baozhidao-putoutstorage/./src/views/medicine/index.vue","webpack://baozhidao-putoutstorage/./src/views/medicine/index.vue?5078"],"sourcesContent":["<template>\n    <div class=\"\"><router-view /></div>\n</template>\n\n<script setup lang=\"ts\">\n</script>\n<style lang=\"scss\">\n/* @import url(); 引入css类 */\n\n</style>n","import { render } from \"./index.vue?vue&type=template&id=4e5891e4\"\nconst script = {}\n\nimport \"./index.vue?vue&type=style&index=0&id=4e5891e4&lang=scss\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__"],"names":["class","_createElementBlock","_hoisted_1","_createVNode","_component_router_view","script","__exports__","render"],"sourceRoot":""}

File diff suppressed because it is too large
+ 0 - 0
出入库管理系统/js/33.e42ea9ae.js


File diff suppressed because it is too large
+ 0 - 0
出入库管理系统/js/33.e42ea9ae.js.map


+ 2 - 0
出入库管理系统/js/342.a30662e9.js

@@ -0,0 +1,2 @@
+"use strict";(self["webpackChunkbaozhidao_putoutstorage"]=self["webpackChunkbaozhidao_putoutstorage"]||[]).push([[342],{8342:function(t,u,o){o.r(u),o.d(u,{default:function(){return i}});var r=o(6252);const e={class:""};function n(t,u){const o=(0,r.up)("router-view");return(0,r.wg)(),(0,r.iD)("div",e,[(0,r.Wm)(o)])}var a=o(3744);const s={},c=(0,a.Z)(s,[["render",n]]);var i=c}}]);
+//# sourceMappingURL=342.a30662e9.js.map

+ 1 - 0
出入库管理系统/js/342.a30662e9.js.map

@@ -0,0 +1 @@
+{"version":3,"file":"js/342.a30662e9.js","mappings":"iNACSA,MAAM,I,kEAAXC,EAAAA,EAAAA,IAAmC,MAAnCC,EAAmC,EAArBC,EAAAA,EAAAA,IAAeC,I,eCAjC,MAAMC,EAAS,CAAC,EAKVC,GAA2B,OAAgBD,EAAQ,CAAC,CAAC,SAASE,KAEpE,O","sources":["webpack://baozhidao-putoutstorage/./src/views/stockcontrol/index.vue","webpack://baozhidao-putoutstorage/./src/views/stockcontrol/index.vue?4e47"],"sourcesContent":["<template>\r\n    <div class=\"\"><router-view /></div>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\n</script>\r\n<style lang=\"scss\">\r\n/* @import url(); 引入css类 */\r\n\r\n</style>n","import { render } from \"./index.vue?vue&type=template&id=65f5b331\"\nconst script = {}\n\nimport \"./index.vue?vue&type=style&index=0&id=65f5b331&lang=scss\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__"],"names":["class","_createElementBlock","_hoisted_1","_createVNode","_component_router_view","script","__exports__","render"],"sourceRoot":""}

File diff suppressed because it is too large
+ 0 - 0
出入库管理系统/js/357.b7381f47.js


File diff suppressed because it is too large
+ 0 - 0
出入库管理系统/js/357.b7381f47.js.map


File diff suppressed because it is too large
+ 0 - 0
出入库管理系统/js/401.91f77812.js


File diff suppressed because it is too large
+ 0 - 0
出入库管理系统/js/401.91f77812.js.map


File diff suppressed because it is too large
+ 0 - 0
出入库管理系统/js/422.fc41c509.js


File diff suppressed because it is too large
+ 0 - 0
出入库管理系统/js/422.fc41c509.js.map


+ 2 - 0
出入库管理系统/js/521.87d3381f.js

@@ -0,0 +1,2 @@
+"use strict";(self["webpackChunkbaozhidao_putoutstorage"]=self["webpackChunkbaozhidao_putoutstorage"]||[]).push([[521],{9532:function(t,a,n){n.r(a),n.d(a,{default:function(){return v}});n(560);var o=n(6252),s=n(2262),u=n.p+"img/404.52ac3ffa.png",e=n(2201);const c=t=>((0,o.dD)("data-v-708bd337"),t=t(),(0,o.Cn)(),t),r={class:"not-container"},i=c((()=>(0,o._)("img",{src:u,class:"not-img",alt:"404"},null,-1))),l={class:"not-detail"},d=c((()=>(0,o._)("p",null,"很遗憾,您访问的页面不存在",-1)));var p=(0,o.aZ)({__name:"404",setup(t){const a=(0,e.tv)();return(t,n)=>{const u=(0,o.up)("el-button");return(0,o.wg)(),(0,o.iD)("div",r,[i,(0,o._)("div",l,[d,(0,o.Wm)(u,{type:"primary",onClick:n[0]||(n[0]=t=>(0,s.SU)(a).push("/"))},{default:(0,o.w5)((()=>[(0,o.Uk)("返回首页")])),_:1})])])}}}),_=n(3744);const f=(0,_.Z)(p,[["__scopeId","data-v-708bd337"]]);var v=f}}]);
+//# sourceMappingURL=521.87d3381f.js.map

File diff suppressed because it is too large
+ 0 - 0
出入库管理系统/js/521.87d3381f.js.map


+ 2 - 0
出入库管理系统/js/538.0ccb0686.js

@@ -0,0 +1,2 @@
+"use strict";(self["webpackChunkbaozhidao_putoutstorage"]=self["webpackChunkbaozhidao_putoutstorage"]||[]).push([[538],{8538:function(t,u,o){o.r(u),o.d(u,{default:function(){return i}});var r=o(6252);const e={class:""};function n(t,u){const o=(0,r.up)("router-view");return(0,r.wg)(),(0,r.iD)("div",e,[(0,r.Wm)(o)])}var a=o(3744);const s={},c=(0,a.Z)(s,[["render",n]]);var i=c}}]);
+//# sourceMappingURL=538.0ccb0686.js.map

+ 1 - 0
出入库管理系统/js/538.0ccb0686.js.map

@@ -0,0 +1 @@
+{"version":3,"file":"js/538.0ccb0686.js","mappings":"iNACSA,MAAM,I,kEAAXC,EAAAA,EAAAA,IAAmC,MAAnCC,EAAmC,EAArBC,EAAAA,EAAAA,IAAeC,I,eCAjC,MAAMC,EAAS,CAAC,EAKVC,GAA2B,OAAgBD,EAAQ,CAAC,CAAC,SAASE,KAEpE,O","sources":["webpack://baozhidao-putoutstorage/./src/views/usermanagement/index.vue","webpack://baozhidao-putoutstorage/./src/views/usermanagement/index.vue?46db"],"sourcesContent":["<template>\r\n    <div class=\"\"><router-view /></div>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\n</script>\r\n<style lang=\"scss\">\r\n/* @import url(); 引入css类 */\r\n\r\n</style>n","import { render } from \"./index.vue?vue&type=template&id=663c5078\"\nconst script = {}\n\nimport \"./index.vue?vue&type=style&index=0&id=663c5078&lang=scss\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__"],"names":["class","_createElementBlock","_hoisted_1","_createVNode","_component_router_view","script","__exports__","render"],"sourceRoot":""}

File diff suppressed because it is too large
+ 0 - 0
出入库管理系统/js/605.b261a02e.js


File diff suppressed because it is too large
+ 0 - 0
出入库管理系统/js/605.b261a02e.js.map


+ 2 - 0
出入库管理系统/js/607.7daaeffa.js

@@ -0,0 +1,2 @@
+"use strict";(self["webpackChunkbaozhidao_putoutstorage"]=self["webpackChunkbaozhidao_putoutstorage"]||[]).push([[607],{8607:function(t,u,o){o.r(u),o.d(u,{default:function(){return i}});var r=o(6252);const e={class:""};function n(t,u){const o=(0,r.up)("router-view");return(0,r.wg)(),(0,r.iD)("div",e,[(0,r.Wm)(o)])}var a=o(3744);const s={},c=(0,a.Z)(s,[["render",n]]);var i=c}}]);
+//# sourceMappingURL=607.7daaeffa.js.map

+ 1 - 0
出入库管理系统/js/607.7daaeffa.js.map

@@ -0,0 +1 @@
+{"version":3,"file":"js/607.7daaeffa.js","mappings":"iNACSA,MAAM,I,kEAAXC,EAAAA,EAAAA,IAAmC,MAAnCC,EAAmC,EAArBC,EAAAA,EAAAA,IAAeC,I,eCAjC,MAAMC,EAAS,CAAC,EAKVC,GAA2B,OAAgBD,EAAQ,CAAC,CAAC,SAASE,KAEpE,O","sources":["webpack://baozhidao-putoutstorage/./src/views/salesmanagement/index.vue","webpack://baozhidao-putoutstorage/./src/views/salesmanagement/index.vue?4551"],"sourcesContent":["<template>\r\n    <div class=\"\"><router-view /></div>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\n</script>\r\n<style lang=\"scss\">\r\n/* @import url(); 引入css类 */\r\n\r\n</style>","import { render } from \"./index.vue?vue&type=template&id=de5dfc4e\"\nconst script = {}\n\nimport \"./index.vue?vue&type=style&index=0&id=de5dfc4e&lang=scss\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__"],"names":["class","_createElementBlock","_hoisted_1","_createVNode","_component_router_view","script","__exports__","render"],"sourceRoot":""}

File diff suppressed because it is too large
+ 0 - 0
出入库管理系统/js/670.b9c22b4c.js


File diff suppressed because it is too large
+ 0 - 0
出入库管理系统/js/670.b9c22b4c.js.map


File diff suppressed because it is too large
+ 0 - 0
出入库管理系统/js/674.084146e3.js


File diff suppressed because it is too large
+ 0 - 0
出入库管理系统/js/674.084146e3.js.map


File diff suppressed because it is too large
+ 0 - 0
出入库管理系统/js/894.412012ab.js


File diff suppressed because it is too large
+ 0 - 0
出入库管理系统/js/894.412012ab.js.map


File diff suppressed because it is too large
+ 0 - 0
出入库管理系统/js/940.233d102f.js


File diff suppressed because it is too large
+ 0 - 0
出入库管理系统/js/940.233d102f.js.map


File diff suppressed because it is too large
+ 0 - 0
出入库管理系统/js/app.6ed78eac.js


File diff suppressed because it is too large
+ 0 - 0
出入库管理系统/js/app.6ed78eac.js.map


File diff suppressed because it is too large
+ 0 - 0
出入库管理系统/js/chunk-vendors.eac145c3.js


File diff suppressed because it is too large
+ 0 - 0
出入库管理系统/js/chunk-vendors.eac145c3.js.map


Some files were not shown because too many files changed in this diff