YangJian0701 1 year ago
parent
commit
49d2aff2c7

+ 1 - 0
package.json

@@ -29,6 +29,7 @@
     "xlsx": "^0.18.5"
   },
   "devDependencies": {
+    "@rollup/plugin-dynamic-import-vars": "^2.1.2",
     "@types/aos": "^3.0.7",
     "@types/node": "^20.9.0",
     "@types/three": "^0.158.2",

BIN
public/favicon.ico


+ 1 - 1
public/index.html

@@ -5,7 +5,7 @@
   <meta charset="utf-8">
   <meta http-equiv="X-UA-Compatible" content="IE=edge">
   <meta name="viewport" content="width=device-width,initial-scale=1.0">
-  <link rel="icon" href="<%= BASE_URL %>favicon.ico">
+  <link rel="ico" href="<%= BASE_URL %>favicon.ico">
   <title>
     <%= htmlWebpackPlugin.options.title %>
   </title>

BIN
src/assets/img/logo.png


BIN
src/assets/img/logo4.png


BIN
src/assets/img/logos.png


+ 2 - 2
src/plugins/newData.ts

@@ -2,7 +2,7 @@ import {
     specAdd,//规格
     dosageAdd,//剂型
     unitAdd,//单位
-    productadd,//疫苗名称
+    productadd,//血液制品名称
     enterpriseAdd,//生产企业
 
 } from "@/api";
@@ -46,7 +46,7 @@ export function showDialog(key: any) {
             return '单位'
             break;
         case 'e':
-            return '疫苗名称'
+            return '血液制品名称'
             break;
         default:
             return '生产企业'

+ 2 - 2
src/plugins/selectData.ts

@@ -1,6 +1,6 @@
 import {
     inventoryList,
-    productList,//疫苗名称
+    productList,//血液制品名称
     enterpriseList,//生产企业
     stockunit,//收发货单位 2收货,3发货
     specList,//规格
@@ -25,7 +25,7 @@ export async function specification(){
     return reslut.data?.list
 }
 /**
- * 品名(疫苗名称)
+ * 品名(血液制品名称)
  */
 export async function gradeName(){
     const reslut:any =await productList({ page: 1, pageSize: 999 })

+ 9 - 0
src/rollup.config.js

@@ -0,0 +1,9 @@
+import dynamicImportVars from '@rollup/plugin-dynamic-import-vars';
+
+export default {
+  plugins: [
+    dynamicImportVars({
+      // options
+    })
+  ]
+};

+ 34 - 17
src/router/index.ts

@@ -2,9 +2,9 @@ import { createRouter, createWebHistory, RouteRecordRaw } from 'vue-router'
 import { dynamicRoutes, errorRouter } from "./module/dynamicRoutes";
 import { globalRoutes } from "./module/globalRoutes";
 import { useStore } from 'vuex'
-import { menuList } from "@/api";
-import { fork } from 'child_process';
-import { toRaw } from "vue";
+import stores from '@/store'
+
+import { menuList, postEnter } from "@/api";
 const routes: any = [
 	...globalRoutes,
 ]
@@ -23,6 +23,21 @@ function initDynamicRouter() {
 		})
 	})
 }
+/**
+ * 进入公司
+ */
+export const enterCompanyFun = async(data: any)=>{
+	const reslut: any = await postEnter({ id: data.id })
+	if (reslut.code == 200) {
+		stores.commit('setCompany', data.deptName) //存储公司
+		const dynamicRouter = Fn(reslut.data)
+		dynamicRouter.forEach((item: any) => {
+			router.addRoute('layout', item)
+		});
+		stores.commit('setMenuFun', [...dynamicRouter]) //存储用户个人信息
+		router.push('/home')
+	}
+}
 
 /**
  * 设置标题
@@ -31,24 +46,24 @@ router.afterEach((to, from) => {
 	document.title = '宝智达科技 - ' + to.meta.title;
 })
 router.beforeEach(async (to, from, next) => {
-	const token = sessionStorage.getItem('token')
+	// console.log('to, from', to, from)
 	const store = useStore()
 	if (store.state.setMenu.length == 0) {//当前动态导航为空,调取
-		if (to.path == '/') {//登录界面直接放行
-			next()
-		} else {
+		if (to.path != '/') {//登录界面直接放行
 			const reslut: any = await initDynamicRouter()
 			const dynamicRouter = Fn(reslut)
-			routes[1].children = [...dynamicRouter]
-			console.log('返回',dynamicRouter)
-			dynamicRouter.forEach((item:any) => {
-				router.addRoute(item)
+			// routes[1].children = [...dynamicRouter]
+			dynamicRouter.forEach((item: any) => {
+				router.addRoute('layout', item)
 			});
-			store.commit('setMenuFun', dynamicRouter) //存储用户个人信息
-			return next({ ...to, replace: true })
+			store.commit('setMenuFun', [...dynamicRouter]) //存储用户个人信息
+			next({ path: to.path, replace: true })// 登录之后跳转页面使用 replace 避免用户回退到 login 页面
+		} else {
+			next()
 		}
 	} else {//当前存在动态导航
 		if (to.name == 'login') {//直接进入了登录,清除token
+			store.commit('setMenuFun', []) //存储用户个人信息
 			sessionStorage.setItem('token', '')
 			store.commit('setIsUserInfo', null) //存储用户个人信息
 			store.commit('setCompany', '')
@@ -62,11 +77,13 @@ router.beforeEach(async (to, from, next) => {
  * @param arr 
  * @returns 
  */
-function Fn(arr: any) {
+export function Fn(arr: any) {
 	for (let j = 0; j < arr.length; j++) {
-		arr[j].component = () => import(`${arr[j].component}`)
-		if(arr[j].children && arr[j].children.length) Fn(arr[j].children)
+		// arr[j].component = (resolve:any) => require([`@/${arr[j].component}`], resolve(null))
+		arr[j].component = () => import('../views' + arr[j].path + '/index.vue')
+		if (arr[j].children && arr[j].children.length) Fn(arr[j].children)
 	}
-	return toRaw(arr)
+	return arr
 }
+
 export default router

+ 0 - 1
src/utils/download.ts

@@ -1,4 +1,3 @@
-import iconv from 'iconv-lite';
 /**
  * @author yxm 
  * @description  导出文件流

+ 2 - 2
src/views/essentialinfo/index.vue

@@ -15,7 +15,7 @@
             </bgPure>
             <bgPure>
                 <template #bg>
-                    <statistics :imgUrl="require('@/assets/img/1700228181332.jpg')" titles="疫苗名称" :subhea="data.basicObj.productCount.toString()">
+                    <statistics :imgUrl="require('@/assets/img/1700228181332.jpg')" titles="血液制品名称" :subhea="data.basicObj.productCount.toString()">
                     </statistics>
                 </template>
             </bgPure>
@@ -45,7 +45,7 @@
                     <el-tab-pane label="单位" name="third">
                         <unit ref="units" @setTable="setTableFun" @setBasic="basicDataApi()" v-if="activeName == 'third'"></unit>
                     </el-tab-pane>
-                    <el-tab-pane label="疫苗名称" name="fourth">
+                    <el-tab-pane label="血液制品名称" name="fourth">
                         <vaccineName ref="vaccine" @setTable="setTableFun" @setBasic="basicDataApi()" v-if="activeName == 'fourth'"></vaccineName>
                     </el-tab-pane>
                     <el-tab-pane label="生产企业" name="third1">

+ 1 - 1
src/views/essentialinfo/newData.vue

@@ -10,7 +10,7 @@
                     <el-dropdown-item :icon="CircleCheck" command="b">规格</el-dropdown-item>
                     <el-dropdown-item :icon="CircleCheck" command="c">剂型</el-dropdown-item>
                     <el-dropdown-item :icon="CircleCheck" command="d">单位</el-dropdown-item>
-                    <el-dropdown-item :icon="CircleCheck" command="e">疫苗名称</el-dropdown-item>
+                    <el-dropdown-item :icon="CircleCheck" command="e">血液制品名称</el-dropdown-item>
                     <el-dropdown-item :icon="CircleCheck" command="f">生产企业</el-dropdown-item>
                 </el-dropdown-menu>
             </template>

+ 7 - 5
src/views/home/index.vue

@@ -14,8 +14,10 @@
         <template #card-tit>
           库存统计-图表
         </template>
+        <div v-if="!data.lineData">123</div>
         <template #card-content>
-          <echartBarRow id="bar1" :lineData="data.lineData"></echartBarRow>
+          <el-empty v-if="data.lineData.length==0" description="Tip,暂时没有可展示曲线数据哟!" />
+          <echartBarRow v-else id="bar1" :lineData="data.lineData"></echartBarRow>
         </template>
       </cards>
       <cards class="home-echarts-card1">
@@ -51,7 +53,7 @@
         库存统计-表格
       </template>
       <template #card-subhead>
-        <el-select v-model.number="data.initParam.productId" filterable remote reserve-keyword placeholder="疫苗名称"
+        <el-select v-model.number="data.initParam.productId" filterable remote reserve-keyword placeholder="血液制品名称"
             :remote-method="remoteMethod1" :loading="loading" clearable style="width: 200px;"
             @clear="data.initParam.productId = null" @click="click1" @change="changeFun">
             <el-option v-for="item in options1" :key="item.value" :label="item.label" :value="item.value" />
@@ -89,7 +91,7 @@ const getuserInfoApi = async () => {
 // 渲染表格
 const columns: any = [
   { type: 'index', label: '编号', width: 80, },
-  { prop: 'product_name', label: '疫苗名称'},
+  { prop: 'product_name', label: '血液制品名称'},
   { prop: 'spec_name', label: '规格(剂/支或粒)'},
   { prop: 'balance', label: '数量', },
   { prop: 'unit_name', label: '单位'},
@@ -98,7 +100,7 @@ interface ListItem {
     value: string
     label: string
 }
-const list1 = ref<ListItem[]>([])//疫苗名称
+const list1 = ref<ListItem[]>([])//血液制品名称
 const options1 = ref<ListItem[]>([])
 const loading = ref(false)
 const remoteMethod1 = async (query: string) => {
@@ -132,7 +134,7 @@ const changeFun = async ()=>{
 }
 // 渲染表格
 onMounted(async () => {
-  const result1: any = await productList({ age: 1, pageSize: 999 })//疫苗名称
+  const result1: any = await productList({ age: 1, pageSize: 999 })//血液制品名称
   list1.value = findMap(result1.data?.list || [], 'obj')
 
 })

+ 4 - 9
src/views/layout/logo.vue

@@ -1,13 +1,9 @@
 <!-- logo -->
 <template>
     <div class="logos">
-        <img
-        style="width: 100px"
-        src="@/assets/img/element-plus-logo.svg"
-        alt="Element logo"
-      />
-        <!-- <img style="height: 50px;width: 50px;" src="@/assets/img/logo3.png" alt="Element logo" />
-        <p class="logos-text">深圳宝智达科技</p> -->
+        <!-- <img style="width:100px" src="@/assets/img/element-plus-logo.svg" alt="Element logo" /> -->
+        <!-- <img style="height: 50px;width: 50px;" src="@/assets/img/logo3.png" alt="Element logo" /> -->
+        <p class="logos-text">疾控中心-血液制品出入库管理系统<span style="font-size: 70%;padding-left: 8px;">v.1.0</span></p>
     </div>
 </template>
 
@@ -17,9 +13,8 @@
 .logos {
     display: flex;
     align-items: center;
-
     &-text {
-        font-family: douyuzhuiguangti;
+        font-family: fontLED1;
         color: #409eff;
         margin-top: 5px;
         background: var(--theme_bg_color);

+ 1 - 1
src/views/layout/popover.vue

@@ -26,7 +26,7 @@
                                         <el-button type="primary" style="margin-left: 20px;">修改</el-button>
                                    </div>
                                 </el-collapse-item>
-                                <el-collapse-item title="设置展开/关闭" name="2">
+                                <el-collapse-item title="设置菜单展开/关闭" name="2">
                                     <el-switch v-model="data.switchValue" @change="changeSwiper" :inactive-value="true"
                                         :active-value="false" width="60" inline-prompt active-text="展开"
                                         inactive-text="收起" />

+ 6 - 4
src/views/layout/routerMenu.vue

@@ -39,6 +39,9 @@ const data = reactive({
 Bus.on('on-click',(flag:boolean)=>{
   data.iscollapse = flag
 })
+const screenWidth = ref()
+const routerData: any = ref([])
+routerData.value = store.state.setMenu
 
 watch(() => store.state.switchValue, (toPath: any) => {
   data.iscollapse = store.state.switchValue
@@ -48,10 +51,10 @@ watch(() => router, (toPath: any) => {
   data.isRouter = toPath.options.history.location
 }, { immediate: true, deep: true })
 
+watch(() => store.state.setMenu, (toPath: any) => {
+  routerData.value = store.state.setMenu
+}, { immediate: true, deep: true })
 
-const screenWidth = ref()
-const routerData: any = ref([])
-routerData.value = store.state.setMenu
 
 
 screenWidth.value = document.body.clientWidth
@@ -59,7 +62,6 @@ window.onresize = () => (() => {
   screenWidth.value = document.body.clientWidth
 })();
 
-
 const setTag = (data: any) => {
   store.commit('addTab', {
     title: data.meta.title,

+ 5 - 1
src/views/login/index.vue

@@ -2,7 +2,7 @@
     <div class="login">
         <div class="login-main">
             <div class="login-main-left">
-                <div class="login-main-left-h1"><span style="color: #f3cd45;">宝智达</span>出入库管理系统</div>
+                <div class="login-main-left-h1">疾控中心-血液制品出入库管理系统</div>
                 <div class="login-main-left-h2">提升管理效率/出库/入库/统计</div>
                 <img src="@/assets/img/1700450751581.png" alt="" srcset="">
             </div>
@@ -26,6 +26,10 @@
                         <loadingBtn text="登录" :data="data" />
                     </el-form-item>
                 </el-form>
+                <div style="font-size: 14px;">
+                    <div>技术支持:宝智达冷链</div>
+                    <div>联系电话:400-6000968</div>
+                </div>
             </div>
         </div>
     </div>

+ 1 - 1
src/views/login/loadingBtn.vue

@@ -61,7 +61,7 @@ const submitForm = async () => {
             message: 'ok,登录成功,欢迎进入宝智达出入库管理系统!',
             type: 'success',
         })
-        router.push('/layout')
+        router.push('/usermanagement/company')
     }
 }
 </script>

+ 1 - 1
src/views/personalInfo/card.vue

@@ -4,7 +4,7 @@
       <div class="y-card-main-img">
         <div class="y-card-main-img-l">
           <img src="@/assets/img/1700227167756.jpg" style="width:40px;height: 40px;">
-          <el-text class="elText">疫苗名称</el-text>
+          <el-text class="elText">血液制品名称</el-text>
         </div>
         <div class="y-card-main-img-r"><el-button type="primary">添加</el-button></div>
       </div>

+ 2 - 2
src/views/personalInfo/index.vue

@@ -15,7 +15,7 @@
                     </div>
                 </div>
             </template>
-            <template #card-subhead>疫苗名称</template>
+            <template #card-subhead>血液制品名称</template>
             <template #card-content>
                 <tables :requestApi="CompanyTree" :columns="columns" :initParam="initParam">
                     <template #right="{ row }">
@@ -47,7 +47,7 @@ import { ref } from "vue";
 import type { TabsPaneContext } from 'element-plus'
 
 const tabData = [
-    { name: 'first', label: '疫苗名称' },
+    { name: 'first', label: '血液制品名称' },
     { name: 'first1', label: '生产企业' },
     { name: 'first2', label: '规格' },
     { name: 'first3', label: '剂型' },

+ 1 - 1
src/views/salesmanagement/sellManage/index.vue

@@ -96,7 +96,7 @@ const columns: any = [
     { prop: 'enterprise_name', label: '生产企业', width: 150 },
     { prop: 'spec_name', label: '规格(剂/支或粒)', width: 150 },
     { prop: 'dosage_form_name', label: '剂型', width: 100 },
-    { prop: 'batch_number', label: '疫苗批号', width: 150 },
+    { prop: 'batch_number', label: '血液制品批号', width: 150 },
     { prop: 'quantity', label: '数量', width: 70 },
     { prop: 'unit_name', label: '单位', width: 70 },
     { prop: 'purchase_unit_price', label: '购进单价', width: 100 },

+ 1 - 1
src/views/salesmanagement/storageOrderGoods/index.vue

@@ -74,7 +74,7 @@ const columns: any = [
     { prop: 'dosage_form_name', label: '剂型', width: 100 },
     { prop: 'spec_name', label: '规格(剂/支或粒)', width: 150 },
     { prop: 'enterprise_name', label: '生产企业', width: 150 },
-    { prop: 'batch_number', label: '疫苗批号', width: 150 },
+    { prop: 'batch_number', label: '血液制品批号', width: 150 },
     { prop: 'expiry_date', label: '效期', width: 120 },
     
     { prop: 'approval_number', label: '批准文号', width: 120 },

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

@@ -24,7 +24,7 @@
                     <el-input v-model="initParam.unit_price" autocomplete="off" class="inputWidth"/>
                 </el-form-item>
                 <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-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">

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

@@ -3,8 +3,8 @@
     <div class="storagePut">
         <searchAdd isButtom="查询" @event="eventFun">
             <template #searchConter>
-                <el-form-item label="疫苗名称">
-                    <el-select v-model.number="initParam.productId" filterable remote reserve-keyword placeholder="疫苗名称"
+                <el-form-item label="血液制品名称">
+                    <el-select v-model.number="initParam.productId" filterable remote reserve-keyword placeholder="血液制品名称"
                         :remote-method="remoteMethod1" :loading="loading" clearable style="width: 200px;"
                         @clear="initParam.productId = null" @click="click1">
                         <el-option v-for="item in options1" :key="item.value" :label="item.label" :value="item.value" />
@@ -18,7 +18,7 @@
                     </el-select>
                 </el-form-item>
                 <el-form-item label="批准文号">
-                    <el-input v-model="initParam.batchNumber" placeholder="疫苗批号" clearable style="width: 200px;" />
+                    <el-input v-model="initParam.batchNumber" placeholder="血液制品批号" clearable style="width: 200px;" />
                 </el-form-item>
                 <el-form-item label="出库日期">
                     <el-date-picker v-model="data.datepick" type="daterange" placeholder="出/入库日期" clearable
@@ -52,7 +52,7 @@
 <script setup lang="ts">
 import { 
     stockOutList,
-    productList,//疫苗名称
+    productList,//血液制品名称
     enterpriseList,//生产企业
     stockunit,//收发货单位
     medicineColumns,//表头
@@ -97,7 +97,7 @@ const data = reactive({
     TableRef.value?.getTableList()
 }
 const loading = ref(false)
-const list1 = ref<ListItem[]>([])//疫苗名称
+const list1 = ref<ListItem[]>([])//血液制品名称
 const list2 = ref<ListItem[]>([])//生产企业
 const list3 = ref<ListItem[]>([])//收发货单位
 //函数
@@ -114,7 +114,7 @@ onMounted(async () => {
      }
      
 
-    const result1: any = await productList({ age: 1, pageSize: 999 })//疫苗名称
+    const result1: any = await productList({ age: 1, pageSize: 999 })//血液制品名称
     const result2: any = await enterpriseList({ age: 1, pageSize: 999 })//生产企业
     const result3: any = await stockunit({ type: 2 })//收发货单位
 

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

@@ -23,7 +23,7 @@
                     <el-input v-model="initParam.unitPrice" autocomplete="off" class="inputWidth"/>
                 </el-form-item>
                 <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-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">

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

@@ -3,8 +3,8 @@
     <div class="storageInquire">
         <searchAdd isButtom="查询" @event="eventFun">
             <template #searchConter>
-                <el-form-item label="疫苗名称">
-                    <el-select v-model.number="initParam.productId" filterable remote reserve-keyword placeholder="疫苗名称"
+                <el-form-item label="血液制品名称">
+                    <el-select v-model.number="initParam.productId" filterable remote reserve-keyword placeholder="血液制品名称"
                         :remote-method="remoteMethod1" :loading="loading" clearable style="width: 200px;"
                         @clear="initParam.productId = null" @click="click1">
                         <el-option v-for="item in options1" :key="item.value" :label="item.label" :value="item.value" />
@@ -17,10 +17,10 @@
                         <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="疫苗批号">
-                    <el-input v-model="initParam.batchNumber" placeholder="疫苗批号" clearable style="width: 200px;" />
+                <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" />
@@ -51,7 +51,7 @@ import searchAdd from "@/components/searchAdd.vue";
 import {
     stockStatList,
     stockStatexcel,
-    productList,//疫苗名称
+    productList,//血液制品名称
     enterpriseList,//生产企业
 } from "@/api";
 import tables from "@/components/table.vue";
@@ -74,7 +74,7 @@ const downloadExcel = () => {
 // 渲染表格
 const columns: any = [
     { type: 'index', label: '编号', width: 80, },
-    { prop: 'product_name', label: '疫苗名称', width: 150 },
+    { prop: 'product_name', label: '血液制品名称', width: 150 },
     { prop: 'enterprise_name', label: '生产企业', 'min-width': 150 },
     { prop: 'spec_name', label: '规格(剂/支或粒)', width: 150 },
     { prop: 'dosage_form_name', label: '剂型', width: 100, },
@@ -115,7 +115,7 @@ const eventFun = (val: any) => {
     TableRef.value?.getTableList()
 }
 onMounted(async () => {
-    const result1: any = await productList({ age: 1, pageSize: 999 })//疫苗名称
+    const result1: any = await productList({ age: 1, pageSize: 999 })//血液制品名称
     const result2: any = await enterpriseList({ age: 1, pageSize: 999 })//生产企业
 
     list1.value = findMap(result1.data?.list || [], 'obj')
@@ -134,7 +134,7 @@ interface ListItem {
 const click1 = async () => { options1.value = list1.value }
 const click2 = async () => { options2.value = list2.value }
 
-const list1 = ref<ListItem[]>([])//疫苗名称
+const list1 = ref<ListItem[]>([])//血液制品名称
 const list2 = ref<ListItem[]>([])//生产企业
 
 //函数

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

@@ -24,7 +24,7 @@
                     <el-input v-model="initParam.unit_price" autocomplete="off" class="inputWidth"/>
                 </el-form-item>
                 <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-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">

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

@@ -3,8 +3,8 @@
     <div class="storagePut">
         <searchAdd isButtom="查询" @event="eventFun">
             <template #searchConter>
-                <el-form-item label="疫苗名称">
-                    <el-select v-model.number="initParam.productId" filterable remote reserve-keyword placeholder="疫苗名称"
+                <el-form-item label="血液制品名称">
+                    <el-select v-model.number="initParam.productId" filterable remote reserve-keyword placeholder="血液制品名称"
                         :remote-method="remoteMethod1" :loading="loading" clearable style="width: 200px;"
                         @clear="initParam.productId = null" @click="click1">
                         <el-option v-for="item in options1" :key="item.value" :label="item.label" :value="item.value" />
@@ -17,10 +17,10 @@
                         <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="疫苗批号">
-                    <el-input v-model="initParam.batchNumber" placeholder="疫苗批号" clearable style="width: 200px;" />
+                <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" />
@@ -52,7 +52,7 @@
 <script setup lang="ts">
 import { 
     stockInList,
-    productList,//疫苗名称
+    productList,//血液制品名称
     enterpriseList,//生产企业
     stockunit,//收发货单位
     medicineColumns,//表头
@@ -94,7 +94,7 @@ const data = reactive({
     TableRef.value?.getTableList()
 }
 const loading = ref(false)
-const list1 = ref<ListItem[]>([])//疫苗名称
+const list1 = ref<ListItem[]>([])//血液制品名称
 const list2 = ref<ListItem[]>([])//生产企业
 const list3 = ref<ListItem[]>([])//收发货单位
 //函数
@@ -115,7 +115,7 @@ onMounted(async () => {
         TableRef.value.tableColumns = [...obj,...columnsTable]
      }
 
-    const result1: any = await productList({ age: 1, pageSize: 999 })//疫苗名称
+    const result1: any = await productList({ age: 1, pageSize: 999 })//血液制品名称
     const result2: any = await enterpriseList({ age: 1, pageSize: 999 })//生产企业
     const result3: any = await stockunit({ type: 1 })//收发货单位
 

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

@@ -23,7 +23,7 @@
                     <el-input v-model="initParam.unitPrice" autocomplete="off" class="inputWidth"/>
                 </el-form-item>
                 <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-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">

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

@@ -3,8 +3,8 @@
     <div class="storagePut">
         <searchAdd isButtom="查询" @event="userListApi()">
             <template #searchConter>
-                <el-form-item label="疫苗名称">
-                    <el-select v-model.number="initParam.productId" filterable remote reserve-keyword placeholder="疫苗名称"
+                <el-form-item label="血液制品名称">
+                    <el-select v-model.number="initParam.productId" filterable remote reserve-keyword placeholder="血液制品名称"
                         :remote-method="remoteMethod1" :loading="loading" clearable style="width: 200px;" @clear="initParam.productId=null" @click="click1">
                         <el-option v-for="item in options1" :key="item.value" :label="item.label" :value="item.value" />
                     </el-select>
@@ -15,8 +15,8 @@
                         <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="疫苗批号">
-                    <el-input v-model="initParam.batchNumber" placeholder="疫苗批号" clearable style="width: 200px;" />
+                <el-form-item label="血液制品批号">
+                    <el-input v-model="initParam.batchNumber" placeholder="血液制品批号" clearable style="width: 200px;" />
                 </el-form-item>
                 <el-form-item label="出/入库日期">
                     <el-date-picker v-model="data.datepick" type="daterange" placeholder="出/入库日期" clearable value-format="YYYY-MM-DD"
@@ -62,7 +62,7 @@
 <script setup lang="ts">
 import {
     inventoryList,
-    productList,//疫苗名称
+    productList,//血液制品名称
     enterpriseList,//生产企业
     stockunit,//收发货单位
 } from "@/api";
@@ -112,11 +112,11 @@ const changFun = async (e:any)=>{
 // 渲染表格
 const columns: any = [
     { type: 'selection', width: '60px', fixed: 'left' },
-    { prop: 'product_name', label: '疫苗名称', width: '120px' },
+    { prop: 'product_name', label: '血液制品名称', width: '120px' },
     { prop: 'enterprise_name', label: '生产企业', width: '120px' },
     { prop: 'approval_number', label: '批准文号', width: '120px' },
-    { prop: 'batch_number', label: '疫苗批号', width: 100 },
-    { prop: 'expiry_date', label: '疫苗效期', width: 120 },
+    { prop: 'batch_number', label: '血液制品批号', width: 120 },
+    { prop: 'expiry_date', label: '血液制品效期', width: 120 },
     { prop: 'total_in', label: '收入数量', width: 100 },
     { prop: 'total_out', label: '发出数量', width: 80 },
     { prop: 'balance', label: '结余数量', width: 100 },
@@ -161,7 +161,7 @@ interface ListItem {
     label: string
 }
 onMounted(async () => {
-    const result1: any = await productList({ page: 1, pageSize: 999 })//疫苗名称
+    const result1: any = await productList({ page: 1, pageSize: 999 })//血液制品名称
     const result2: any = await enterpriseList({ page: 1, pageSize: 999 })//生产企业
     const result3: any = await stockunit({ type: 3 })//收发货单位
 
@@ -174,7 +174,7 @@ const click1 = async ()=>{options1.value = list1.value  }
 const click2 = async ()=>{options2.value = list2.value }
 const click3 = async ()=>{options3.value = list3.value}
 
-const list1 = ref<ListItem[]>([])//疫苗名称
+const list1 = ref<ListItem[]>([])//血液制品名称
 const list2 = ref<ListItem[]>([])//生产企业
 const list3 = ref<ListItem[]>([])//收发货单位
 

+ 6 - 16
src/views/usermanagement/company/index.vue

@@ -11,10 +11,10 @@
         <bg istitle="公司列表">
             <template #btn v-if="store.state.isuserInfo&&store.state.isuserInfo.deptId==0">
                 <el-form :inline="true" class="demo-form-inline">
-                    <el-form-item label="添加一级目录">
+                    <el-form-item label="添加一级目录" style="margin-bottom: 0;">
                         <el-input v-model="datas.params.deptName" placeholder="请输入添加一级目录" clearable style="width: 150px;" />
                     </el-form-item>
-                    <el-form-item style="margin-right: 20px;">
+                    <el-form-item style="margin-right: 20px;margin-bottom: 0;">
                         <el-button type="primary" @click="firstOrder">添加</el-button>
                     </el-form-item>
                 </el-form>
@@ -34,7 +34,7 @@
                                 <el-button @click.stop="addFun(node, data)" type="primary">新增子级</el-button>
                                 <el-button @click.stop="editFun(node, data)" style="margin-left: 20px;"
                                     type="success">编辑</el-button>
-                                <el-button @click.stop="EnterFun(node, data)" style="margin-left: 20px;"
+                                <el-button @click.stop="enterCompanyFun(data)" style="margin-left: 20px;"
                                     type="warning">进入</el-button>
                                 <el-button @click.stop="delFun(node, data)" style="margin-left: 20px;"
                                     type="danger">删除</el-button>
@@ -52,8 +52,9 @@ import bg from '@/components/bg.vue'
 import { ElMessage, ElMessageBox, ElNotification } from 'element-plus'
 import searchAdd from "@/components/searchAdd.vue";
 import { reactive } from "vue";
-import { companyDept, postTree,deleteTree,putTree,postEnter,lateInit } from "@/api";
-import router from '@/router';
+import { companyDept, postTree,deleteTree,putTree,lateInit } from "@/api";
+import {enterCompanyFun} from '@/router';
+
 import { useStore } from "vuex";
 const store = useStore()
 const datas = reactive({
@@ -157,17 +158,6 @@ const delFun = (node: any, data: any) => {
     })
 }
 
-/**
- * 进入公司
- * @param node 
- * @param data 当前行数据
- */
-const EnterFun = (node: any, data: any) => {
-    store.commit('setCompany', data.deptName) //存储公司
-    postEnter({id:data.id})
-    router.push('/home')
-}
-
 
 
 </script>

+ 1 - 1
src/views/usermanagement/user/index.vue

@@ -3,7 +3,7 @@
     <searchAdd isButtom="查询" @event="eventFun">
       <template #searchConter>
         <el-form-item label="用户名称">
-          <el-input v-model="data.initParam.username" placeholder="请输入用户名" />
+          <el-input v-model="data.initParam.username" placeholder="请输入用户名" style="width: 200px;" />
         </el-form-item>
       </template>
     </searchAdd>

+ 13 - 5
vue.config.js

@@ -3,9 +3,9 @@ module.exports = defineConfig({
 	transpileDependencies: true,
 	devServer: {
 		client: {
-		  overlay: false,
+			overlay: false,
 		},
-	  }
+	}
 })
 module.exports = {
 	lintOnSave: false, //关闭eslint验证
@@ -23,9 +23,17 @@ module.exports = {
 		// 	}
 		// }
 	},
-	
+	pwa: {
+		iconPaths: {
+			favicon32: './favicon.ico',
+			favicon16: './favicon.ico',
+			appleTouchIcon: './favicon.ico',
+			maskIcon: './favicon.ico',
+			msTileImage: './favicon.ico'
+		}
+	}
+
 
 }
 
-  
-  
+

BIN
出入库管理系统.rar