瀏覽代碼

完成了耗材的入库

sunyanqiang 3 年之前
父節點
當前提交
ee59e18add

+ 9 - 0
src/api/medicalhealth/antiepidemicputin.js

@@ -50,4 +50,13 @@ export function exportAntiepidemicputin(query) {
     method: 'get',
     params: query
   })
+}
+
+//  获取防疫用品列表
+export function exportAntiepidemiFangYi(query) {
+  return request({
+    url: '/medicalhealth/antiepidemicputin/getlist',
+    method: 'get',
+    params: query
+  })
 }

+ 7 - 7
src/api/medicalhealth/antiepidemicputout.js

@@ -1,7 +1,7 @@
 import request from '@/utils/request'
 
 // 查询防疫用品发放登记列表
-export function listPutout(query) {
+export function listAntiepidemicputout(query) {
   return request({
     url: '/medicalhealth/antiepidemicputout/list',
     method: 'get',
@@ -10,7 +10,7 @@ export function listPutout(query) {
 }
 
 // 查询防疫用品发放登记详细
-export function getPutout(id) {
+export function getAntiepidemicputout(id) {
   return request({
     url: '/medicalhealth/antiepidemicputout/' + id,
     method: 'get'
@@ -18,16 +18,16 @@ export function getPutout(id) {
 }
 
 // 新增防疫用品发放登记
-export function addPutout(data) {
+export function addAntiepidemicputout(data) {
   return request({
-    url: '/antiepidemicputout/putout',
+    url: '/medicalhealth/antiepidemicputout',
     method: 'post',
     data: data
   })
 }
 
 // 修改防疫用品发放登记
-export function updatePutout(data) {
+export function updateAntiepidemicputout(data) {
   return request({
     url: '/medicalhealth/antiepidemicputout',
     method: 'put',
@@ -36,7 +36,7 @@ export function updatePutout(data) {
 }
 
 // 删除防疫用品发放登记
-export function delPutout(id) {
+export function delAntiepidemicputout(id) {
   return request({
     url: '/medicalhealth/antiepidemicputout/' + id,
     method: 'delete'
@@ -44,7 +44,7 @@ export function delPutout(id) {
 }
 
 // 导出防疫用品发放登记
-export function exportPutout(query) {
+export function exportAntiepidemicputout(query) {
   return request({
     url: '/medicalhealth/antiepidemicputout/export',
     method: 'get',

+ 9 - 14
src/api/medicalhealth/consumeputin.js

@@ -60,20 +60,6 @@ export function exportYaoPing(query) {
     params: query
   })
 }
-// // 过期药品销毁
-// export function exportYaoPingXiaoHui(id) {
-//   return request({
-//     url: '/medicalhealth/yaopinguoqi' + id,
-//     method: 'get',
-//   })
-// }
-// export function exportYaoPingXiaoHui(query) {
-//   return request({
-//     url: '/medicalhealth/yaopinguoqi',
-//     method: 'get',
-//     params: query
-//   })
-// }
 // 过期药品销毁
 export function exportYaoPingXiaoHui(query) {
   return request({
@@ -81,4 +67,13 @@ export function exportYaoPingXiaoHui(query) {
     method: 'get',
     params: { 'id': query }
   })
+}
+
+// 获取耗材所有名称
+export function exportHaoCai(query) {
+  return request({
+    url: '/medicalhealth/consumeputin/getlist',
+    method: 'get',
+    params: query
+  })
 }

+ 239 - 25
src/views/medicalhealth/antiepidemicarchives/index.vue

@@ -168,10 +168,10 @@
           >导出</el-button
         >
       </el-col>
-      <right-toolbar
+      <!-- <right-toolbar
         :showSearch.sync="showSearch"
         @queryTable="getList"
-      ></right-toolbar>
+      ></right-toolbar> -->
     </el-row>
 
     <el-table
@@ -185,18 +185,25 @@
       <el-table-column label="防疫品名称" align="center" prop="durgName" />
       <el-table-column label="品牌" align="center" prop="durgBrand" />
       <el-table-column label="规格" align="center" prop="specifications" />
-      <el-table-column label="库房" align="center" prop="storeHouse" />
-      <el-table-column label="单位" align="center" prop="unitId" />
+      <el-table-column label="库房" align="center" prop="storeHouse">
+        <template slot-scope="scope">
+          <dict-tag
+            :options="dict.type.storage_room"
+            :value="scope.row.storeHouse"
+          />
+        </template>
+      </el-table-column>
+      <el-table-column label="单位" align="center" prop="unitName" />
       <el-table-column label="库存数量" align="center" prop="amount" />
       <el-table-column label="入库数量" align="center" prop="putIn" />
       <el-table-column label="出库数量" align="center" prop="putOut" />
       <!-- <el-table-column label="备注" align="center" prop="remarks" /> -->
-      <el-table-column label="录入人(创建人)" align="center" prop="adminId" />
-      <el-table-column
+      <el-table-column label="创建人" align="center" prop="userName" />
+      <!-- <el-table-column
         label="录入时间(创建时间)"
         align="center"
         prop="createtime"
-      />
+      /> -->
       <!-- <el-table-column label="修改时间" align="center" prop="updatetime" /> -->
       <el-table-column
         label="操作"
@@ -234,7 +241,13 @@
 
     <!-- 添加或修改防疫用品库存档案对话框 -->
     <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
-      <el-form ref="form" :model="form" :rules="rules" label-width="80px">
+      <el-form
+        ref="form"
+        :model="form"
+        :rules="rules"
+        label-width="80px"
+        inline
+      >
         <el-form-item label="防疫品名称" prop="durgName">
           <el-input v-model="form.durgName" placeholder="请输入防疫品名称" />
         </el-form-item>
@@ -245,30 +258,45 @@
           <el-input v-model="form.specifications" placeholder="请输入规格" />
         </el-form-item>
         <el-form-item label="库房" prop="storeHouse">
-          <el-input v-model="form.storeHouse" placeholder="请输入库房" />
+          <el-select v-model="form.storeHouse" placeholder="请选择库房">
+            <el-option
+              v-for="(item, i) in warehouse"
+              :key="i"
+              :value="item.dictValue"
+              :label="item.dictLabel"
+            >
+            </el-option>
+          </el-select>
         </el-form-item>
         <el-form-item label="单位" prop="unitId">
-          <el-input v-model="form.unitId" placeholder="请输入单位" />
-        </el-form-item>
-        <el-form-item label="库存数量" prop="amount">
-          <el-input v-model="form.amount" placeholder="请输入库存数量" />
-        </el-form-item>
-        <el-form-item label="入库数量" prop="putIn">
-          <el-input v-model="form.putIn" placeholder="请输入入库数量" />
-        </el-form-item>
-        <el-form-item label="出库数量" prop="putOut">
-          <el-input v-model="form.putOut" placeholder="请输入出库数量" />
+          <!-- <el-input v-model="form.unitId" placeholder="请输入单位" /> -->
+          <treeselect
+            v-model="form.unitId"
+            :options="deptOptions"
+            placeholder="选择单位"
+            @select="selectPeo"
+          />
         </el-form-item>
-        <el-form-item label="备注" prop="remarks">
+        <div class="jiben">备注</div>
+        <el-form-item prop="remarks">
           <el-input
             v-model="form.remarks"
             type="textarea"
             placeholder="请输入内容"
           />
         </el-form-item>
-        <el-form-item label="录入人(创建人)" prop="adminId">
+        <!-- <el-form-item label="库存数量" prop="amount">
+          <el-input v-model="form.amount" placeholder="请输入库存数量" />
+        </el-form-item> -->
+        <!-- <el-form-item label="入库数量" prop="putIn">
+          <el-input v-model="form.putIn" placeholder="请输入入库数量" />
+        </el-form-item> -->
+        <!-- <el-form-item label="出库数量" prop="putOut">
+          <el-input v-model="form.putOut" placeholder="请输入出库数量" />
+        </el-form-item> -->
+        <!-- <el-form-item label="录入人(创建人)" prop="adminId">
           <el-input v-model="form.adminId" placeholder="请输入录入人(创建人)" />
-        </el-form-item>
+        </el-form-item> -->
       </el-form>
       <div slot="footer" class="dialog-footer">
         <el-button type="primary" @click="submitForm">确 定</el-button>
@@ -287,9 +315,19 @@ import {
   updateAntiepidemicarchives,
   exportAntiepidemicarchives,
 } from "@/api/medicalhealth/antiepidemicarchives";
+import { getDept } from "@/api/medicalhealth/bdgldurgarchives";
+// 查询字典
+import { getDicts } from "@/api/system/dict/data";
+// 导入树形结构
+import Treeselect from "@riophae/vue-treeselect";
+import "@riophae/vue-treeselect/dist/vue-treeselect.css";
 
 export default {
   name: "Antiepidemicarchives",
+  dicts: ["storage_room"],
+  components: {
+    Treeselect,
+  },
   data() {
     return {
       // 遮罩层
@@ -341,12 +379,29 @@ export default {
           },
         ],
       },
+      // 库房
+      warehouse: [],
+      // 树形单位
+      deptOptions: [],
     };
   },
   created() {
     this.getList();
+    getDicts("warehouse_type").then((response) => {
+      this.warehouse = response.data;
+    });
   },
   methods: {
+    // 选择单位
+    selectPeo(data) {
+      this.form.unitName = data.label;
+    },
+    /** 查询部门下拉树结构 */
+    getTreeselect() {
+      getDept().then((response) => {
+        this.deptOptions = response.data;
+      });
+    },
     /** 查询防疫用品库存档案列表 */
     getList() {
       this.loading = true;
@@ -398,15 +453,20 @@ export default {
     },
     /** 新增按钮操作 */
     handleAdd() {
+      this.getTreeselect();
       this.reset();
       this.open = true;
       this.title = "添加防疫用品库存档案";
     },
     /** 修改按钮操作 */
     handleUpdate(row) {
+      this.getTreeselect();
       this.reset();
       const id = row.id || this.ids;
       getAntiepidemicarchives(id).then((response) => {
+        getDicts("warehouse_type").then((response) => {
+          this.warehouse = response.data;
+        });
         this.form = response.data;
         this.open = true;
         this.title = "修改防疫用品库存档案";
@@ -418,13 +478,13 @@ export default {
         if (valid) {
           if (this.form.id != null) {
             updateAntiepidemicarchives(this.form).then((response) => {
-              this.msgSuccess("修改成功");
+              this.$modal.msgSuccess("修改成功");
               this.open = false;
               this.getList();
             });
           } else {
             addAntiepidemicarchives(this.form).then((response) => {
-              this.msgSuccess("新增成功");
+              this.$modal.msgSuccess("新增成功");
               this.open = false;
               this.getList();
             });
@@ -449,7 +509,7 @@ export default {
         })
         .then(() => {
           this.getList();
-          this.msgSuccess("删除成功");
+          this.$modal.msgSuccess("删除成功");
         })
         .catch(() => {});
     },
@@ -474,3 +534,157 @@ export default {
   },
 };
 </script>
+<style scoped>
+/* 对话框背景颜色 */
+::v-deep .el-dialog {
+  background: #004d86 !important;
+}
+::v-deep .el-textarea__inner {
+  width: 920px;
+  height: 104px;
+  margin: auto;
+}
+::v-deep .el-dialog__header {
+  border-bottom: 1px solid #718a9d;
+}
+::v-deep .el-dialog__title {
+  color: #fff;
+  font: 18px;
+}
+::v-deep .el-dialog__headerbtn .el-dialog__close {
+  color: #fff;
+}
+::v-deep .el-form-item__label {
+  font: 16px;
+  color: #fff;
+  width: 100px !important;
+}
+::v-deep .el-input__inner {
+  /* width: 200px !important;
+  height: 36px; */
+  background: transparent;
+  color: #fff;
+  border: 1px solid white !important;
+}
+/* 单位框背景颜色 */
+::v-deep .vue-treeselect__control {
+  background: #004d86 !important;
+}
+/* 基本信息背景 */
+.jiben {
+  width: 920px;
+  height: 32px;
+  background-image: url(../../../images/小标题底.png);
+  margin-bottom: 25px;
+  color: #fff;
+  padding-left: 16px;
+  line-height: 32px;
+}
+/*调整表单间距 */
+::v-deep .el-form-item__content {
+  width: 200px;
+}
+::v-deep .el-input__inner {
+  cursor: pointer !important;
+}
+/* 底部确定取消按钮 */
+::v-deep .el-dialog__footer {
+  padding: 30px 50px;
+}
+::v-deep .el-dialog__body {
+  margin: 10px 30px 20px 50px;
+  padding-top: 20px !important;
+  box-sizing: border-box;
+  /* padding: 30px 12px 30px 28px; */
+}
+.contents {
+  padding: 0px 40px !important;
+}
+/* 下拉菜单 */
+.el-dropdown-link {
+  cursor: pointer;
+  color: #409eff;
+}
+.el-icon-arrow-down {
+  font-size: 12px;
+}
+/* 刷新图标 */
+/* .el-icon-refresh {
+  width: 76px;
+  height: 36px;
+  color: #fff;
+  background-color: #1d96ff !important;
+  border-radius: 4px;
+  border: none;
+  margin-left: 20px;
+  font-size: 14px;
+} */
+/* 下拉菜单字体/背景颜色 */
+.el-select-dropdown__item.hover,
+.el-select-dropdown__item:hover {
+  background-color: #004d86;
+  color: #fff;
+}
+.el-select-dropdown__item {
+  color: #fff;
+}
+/* 时间选择 */
+::v-deep .el-input--small .el-input__inner {
+  width: 200px;
+  height: 36px;
+  line-height: 36px;
+}
+.el-date-editor.el-input {
+  width: 200px;
+  height: 36px;
+  line-height: 36px;
+}
+::v-deep .el-date-editor.el-input .el-input__inner {
+  height: 36px;
+  line-height: 36px;
+}
+/* 单位框背景颜色 */
+::v-deep .vue-treeselect__control {
+  background: #004d86 !important;
+  color: #fff;
+}
+/* 单位下拉菜单选中字体颜色 */
+::v-deep .vue-treeselect__single-value {
+  color: #fff !important;
+}
+/* 分页按钮 */
+::v-deep .el-pagination.is-background .el-pager li {
+  background-color: #004d86;
+  color: #fff;
+}
+::v-deep .el-pagination.is-background .btn-next {
+  background-color: #004d86;
+  color: #fff;
+}
+/* 底部确定取消按钮 */
+::v-deep .el-dialog__footer {
+  padding: 18px 42px 30px 0px;
+  margin-right: 30px;
+}
+/* 增加按钮弹框 */
+::v-deep .el-dialog {
+  width: 1060px !important;
+}
+::v-deep .el-dialog__body {
+  padding: none !important;
+}
+::v-deep .box4 .el-textarea__inner {
+  min-height: 120px !important;
+}
+
+/* 调整输入框提示文字颜色 */
+::v-deep .vue-treeselect__placeholder {
+  color: #bdbdbd4f !important;
+}
+::v-deep input::-webkit-input-placeholder {
+  color: #bdbdbd4f !important;
+}
+::v-deep input:-moz-placeholder {
+  color: #bdbdbd4f !important;
+}
+</style>

+ 323 - 66
src/views/medicalhealth/antiepidemicputin/index.vue

@@ -1,16 +1,22 @@
 <template>
   <div class="app-container">
-    <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px">
-      <el-form-item label="防疫品ID" prop="durgArchivesId">
+    <el-form
+      :model="queryParams"
+      ref="queryForm"
+      :inline="true"
+      v-show="showSearch"
+      label-width="68px"
+    >
+      <el-form-item prop="durgArchivesId">
         <el-input
           v-model="queryParams.durgArchivesId"
-          placeholder="请输入防疫品ID"
+          placeholder="请输入防疫品名称"
           clearable
           size="small"
           @keyup.enter.native="handleQuery"
         />
       </el-form-item>
-      <el-form-item label="入库数量" prop="putIn">
+      <!-- <el-form-item label="入库数量" prop="putIn">
         <el-input
           v-model="queryParams.putIn"
           placeholder="请输入入库数量"
@@ -98,10 +104,18 @@
           size="small"
           @keyup.enter.native="handleQuery"
         />
-      </el-form-item>
+      </el-form-item> -->
       <el-form-item>
-        <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
-        <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
+        <el-button
+          type="primary"
+          icon="el-icon-search"
+          size="mini"
+          @click="handleQuery"
+          >搜索</el-button
+        >
+        <el-button icon="el-icon-refresh" size="mini" @click="resetQuery"
+          >重置</el-button
+        >
       </el-form-item>
     </el-form>
 
@@ -114,7 +128,8 @@
           size="mini"
           @click="handleAdd"
           v-hasPermi="['medicalhealth:antiepidemicputin:add']"
-        >新增</el-button>
+          >新增</el-button
+        >
       </el-col>
       <el-col :span="1.5">
         <el-button
@@ -125,7 +140,8 @@
           :disabled="single"
           @click="handleUpdate"
           v-hasPermi="['medicalhealth:antiepidemicputin:edit']"
-        >修改</el-button>
+          >修改</el-button
+        >
       </el-col>
       <el-col :span="1.5">
         <el-button
@@ -136,7 +152,8 @@
           :disabled="multiple"
           @click="handleDelete"
           v-hasPermi="['medicalhealth:antiepidemicputin:remove']"
-        >删除</el-button>
+          >删除</el-button
+        >
       </el-col>
       <el-col :span="1.5">
         <el-button
@@ -147,30 +164,58 @@
           :loading="exportLoading"
           @click="handleExport"
           v-hasPermi="['medicalhealth:antiepidemicputin:export']"
-        >导出</el-button>
+          >导出</el-button
+        >
       </el-col>
-      <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
+      <!-- <right-toolbar
+        :showSearch.sync="showSearch"
+        @queryTable="getList"
+      ></right-toolbar> -->
     </el-row>
 
-    <el-table v-loading="loading" :data="antiepidemicputinList" @selection-change="handleSelectionChange">
+    <el-table
+      v-loading="loading"
+      :data="antiepidemicputinList"
+      @selection-change="handleSelectionChange"
+      :header-cell-style="{ background: '#003C69', color: 'white' }"
+    >
       <el-table-column type="selection" width="55" align="center" />
-      <el-table-column label="主键ID" align="center" prop="id" />
-      <el-table-column label="防疫品ID" align="center" prop="durgArchivesId" />
+      <el-table-column label="序号" align="center" prop="id" />
+      <el-table-column label="防疫品名称" align="center" prop="durgName" />
+      <el-table-column label="品牌" align="center" prop="durgBrand" />
+      <el-table-column label="规格" align="center" prop="specifications" />
+      <el-table-column label="库房" align="center" prop="storeHouse">
+        <template slot-scope="scope">
+          <dict-tag
+            :options="dict.type.storage_room"
+            :value="scope.row.storeHouse"
+          />
+        </template>
+      </el-table-column>
+      <el-table-column label="单位" align="center" prop="unitName" />
       <el-table-column label="入库数量" align="center" prop="putIn" />
       <el-table-column label="入库位置" align="center" prop="place" />
-      <el-table-column label="入库时间" align="center" prop="putTime" width="180">
+      <el-table-column
+        label="入库时间"
+        align="center"
+        prop="putTime"
+        width="180"
+      >
         <template slot-scope="scope">
-          <span>{{ parseTime(scope.row.putTime, '{y}-{m}-{d}') }}</span>
+          <span>{{ parseTime(scope.row.putTime, "{y}-{m}-{d}") }}</span>
         </template>
       </el-table-column>
-      <el-table-column label="录入人(创建人)" align="center" prop="adminId" />
-      <el-table-column label="录入时间" align="center" prop="createtime" />
+      <!-- <el-table-column label="录入人(创建人)" align="center" prop="adminId" /> -->
+      <!-- <el-table-column label="录入时间" align="center" prop="createtime" />
       <el-table-column label="更新时间" align="center" prop="updatetime" />
-      <el-table-column label="品牌" align="center" prop="durgBrand" />
-      <el-table-column label="规格" align="center" prop="specifications" />
+
       <el-table-column label="规格" align="center" prop="unitId" />
-      <el-table-column label="规格" align="center" prop="storeHouse" />
-      <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
+      <el-table-column label="规格" align="center" prop="storeHouse" /> -->
+      <!-- <el-table-column
+        label="操作"
+        align="center"
+        class-name="small-padding fixed-width"
+      >
         <template slot-scope="scope">
           <el-button
             size="mini"
@@ -178,20 +223,22 @@
             icon="el-icon-edit"
             @click="handleUpdate(scope.row)"
             v-hasPermi="['medicalhealth:antiepidemicputin:edit']"
-          >修改</el-button>
+            >修改</el-button
+          >
           <el-button
             size="mini"
             type="text"
             icon="el-icon-delete"
             @click="handleDelete(scope.row)"
             v-hasPermi="['medicalhealth:antiepidemicputin:remove']"
-          >删除</el-button>
+            >删除</el-button
+          >
         </template>
-      </el-table-column>
+      </el-table-column> -->
     </el-table>
-    
+
     <pagination
-      v-show="total>0"
+      v-show="total > 0"
       :total="total"
       :page.sync="queryParams.pageNum"
       :limit.sync="queryParams.pageSize"
@@ -200,9 +247,24 @@
 
     <!-- 添加或修改防疫用品入库登记对话框 -->
     <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
-      <el-form ref="form" :model="form" :rules="rules" label-width="80px">
-        <el-form-item label="防疫品ID" prop="durgArchivesId">
-          <el-input v-model="form.durgArchivesId" placeholder="请输入防疫品ID" />
+      <el-form
+        ref="form"
+        :model="form"
+        :rules="rules"
+        label-width="80px"
+        inline
+      >
+        <el-form-item label="防疫品名称" prop="durgArchivesId">
+          <el-select v-model="form.durgName" placeholder="请选择防疫品名称">
+            <el-option
+              v-for="(item, i) in fangYi"
+              :key="i"
+              :value="item.durgName"
+              :label="item.name"
+              @click.native="fangYiPingXuan(item)"
+            >
+            </el-option>
+          </el-select>
         </el-form-item>
         <el-form-item label="入库数量" prop="putIn">
           <el-input v-model="form.putIn" placeholder="请输入入库数量" />
@@ -211,14 +273,17 @@
           <el-input v-model="form.place" placeholder="请输入入库位置" />
         </el-form-item>
         <el-form-item label="入库时间" prop="putTime">
-          <el-date-picker clearable size="small"
+          <el-date-picker
+            clearable
+            size="small"
             v-model="form.putTime"
             type="date"
             value-format="yyyy-MM-dd"
-            placeholder="选择入库时间">
+            placeholder="选择入库时间"
+          >
           </el-date-picker>
         </el-form-item>
-        <el-form-item label="录入人(创建人)" prop="adminId">
+        <!-- <el-form-item label="录入人(创建人)" prop="adminId">
           <el-input v-model="form.adminId" placeholder="请输入录入人(创建人)" />
         </el-form-item>
         <el-form-item label="品牌" prop="durgBrand">
@@ -232,7 +297,7 @@
         </el-form-item>
         <el-form-item label="规格" prop="storeHouse">
           <el-input v-model="form.storeHouse" placeholder="请输入规格" />
-        </el-form-item>
+        </el-form-item> -->
       </el-form>
       <div slot="footer" class="dialog-footer">
         <el-button type="primary" @click="submitForm">确 定</el-button>
@@ -243,10 +308,21 @@
 </template>
 
 <script>
-import { listAntiepidemicputin, getAntiepidemicputin, delAntiepidemicputin, addAntiepidemicputin, updateAntiepidemicputin, exportAntiepidemicputin } from "@/api/medicalhealth/antiepidemicputin";
+import {
+  listAntiepidemicputin,
+  getAntiepidemicputin,
+  delAntiepidemicputin,
+  addAntiepidemicputin,
+  updateAntiepidemicputin,
+  exportAntiepidemicputin,
+  exportAntiepidemiFangYi,
+} from "@/api/medicalhealth/antiepidemicputin";
+// 查询字典
+import { getDicts } from "@/api/system/dict/data";
 
 export default {
   name: "Antiepidemicputin",
+  dicts: ["storage_room"],
   data() {
     return {
       // 遮罩层
@@ -283,23 +359,39 @@ export default {
         durgBrand: null,
         specifications: null,
         unitId: null,
-        storeHouse: null
+        storeHouse: null,
       },
       // 表单参数
       form: {},
       // 表单校验
-      rules: {
-      }
+      rules: {},
+      // 防疫品名称
+      fangYi: [],
     };
   },
   created() {
     this.getList();
   },
   methods: {
+    // 选择防疫品
+    fangYiPingXuan(data) {
+      this.form.unitId = data.unitId;
+      this.form.durgArchivesId = data.id;
+      this.form.durgBrand = data.durgBrand;
+      this.form.specifications = data.specifications;
+      this.form.storeHouse = data.storeHouse;
+      this.form.unitName = data.unitName;
+    },
+    // 查询防疫品名称列表
+    fangYiPing() {
+      exportAntiepidemiFangYi().then((response) => {
+        this.fangYi = response.data;
+      });
+    },
     /** 查询防疫用品入库登记列表 */
     getList() {
       this.loading = true;
-      listAntiepidemicputin(this.queryParams).then(response => {
+      listAntiepidemicputin(this.queryParams).then((response) => {
         this.antiepidemicputinList = response.rows;
         this.total = response.total;
         this.loading = false;
@@ -324,7 +416,7 @@ export default {
         durgBrand: null,
         specifications: null,
         unitId: null,
-        storeHouse: null
+        storeHouse: null,
       };
       this.resetForm("form");
     },
@@ -340,12 +432,13 @@ export default {
     },
     // 多选框选中数据
     handleSelectionChange(selection) {
-      this.ids = selection.map(item => item.id)
-      this.single = selection.length!==1
-      this.multiple = !selection.length
+      this.ids = selection.map((item) => item.id);
+      this.single = selection.length !== 1;
+      this.multiple = !selection.length;
     },
     /** 新增按钮操作 */
     handleAdd() {
+      this.fangYiPing();
       this.reset();
       this.open = true;
       this.title = "添加防疫用品入库登记";
@@ -353,8 +446,8 @@ export default {
     /** 修改按钮操作 */
     handleUpdate(row) {
       this.reset();
-      const id = row.id || this.ids
-      getAntiepidemicputin(id).then(response => {
+      const id = row.id || this.ids;
+      getAntiepidemicputin(id).then((response) => {
         this.form = response.data;
         this.open = true;
         this.title = "修改防疫用品入库登记";
@@ -362,17 +455,17 @@ export default {
     },
     /** 提交按钮 */
     submitForm() {
-      this.$refs["form"].validate(valid => {
+      this.$refs["form"].validate((valid) => {
         if (valid) {
           if (this.form.id != null) {
-            updateAntiepidemicputin(this.form).then(response => {
-              this.msgSuccess("修改成功");
+            updateAntiepidemicputin(this.form).then((response) => {
+              this.$modal.msgSuccess("修改成功");
               this.open = false;
               this.getList();
             });
           } else {
-            addAntiepidemicputin(this.form).then(response => {
-              this.msgSuccess("新增成功");
+            addAntiepidemicputin(this.form).then((response) => {
+              this.$modal.msgSuccess("新增成功");
               this.open = false;
               this.getList();
             });
@@ -383,32 +476,196 @@ export default {
     /** 删除按钮操作 */
     handleDelete(row) {
       const ids = row.id || this.ids;
-      this.$confirm('是否确认删除防疫用品入库登记编号为"' + ids + '"的数据项?', "警告", {
+      this.$confirm(
+        '是否确认删除防疫用品入库登记编号为"' + ids + '"的数据项?',
+        "警告",
+        {
           confirmButtonText: "确定",
           cancelButtonText: "取消",
-          type: "warning"
-        }).then(function() {
+          type: "warning",
+        }
+      )
+        .then(function () {
           return delAntiepidemicputin(ids);
-        }).then(() => {
+        })
+        .then(() => {
           this.getList();
-          this.msgSuccess("删除成功");
-        }).catch(() => {});
+          this.$modal.msgSuccess("删除成功");
+        })
+        .catch(() => {});
     },
     /** 导出按钮操作 */
     handleExport() {
       const queryParams = this.queryParams;
-      this.$confirm('是否确认导出所有防疫用品入库登记数据项?', "警告", {
-          confirmButtonText: "确定",
-          cancelButtonText: "取消",
-          type: "warning"
-        }).then(() => {
+      this.$confirm("是否确认导出所有防疫用品入库登记数据项?", "警告", {
+        confirmButtonText: "确定",
+        cancelButtonText: "取消",
+        type: "warning",
+      })
+        .then(() => {
           this.exportLoading = true;
           return exportAntiepidemicputin(queryParams);
-        }).then(response => {
+        })
+        .then((response) => {
           this.download(response.msg);
           this.exportLoading = false;
-        }).catch(() => {});
-    }
-  }
+        })
+        .catch(() => {});
+    },
+  },
 };
 </script>
+<style scoped>
+/* 对话框背景颜色 */
+::v-deep .el-dialog {
+  background: #004d86 !important;
+}
+::v-deep .el-textarea__inner {
+  width: 920px;
+  height: 104px;
+  margin: auto;
+}
+::v-deep .el-dialog__header {
+  border-bottom: 1px solid #718a9d;
+}
+::v-deep .el-dialog__title {
+  color: #fff;
+  font: 18px;
+}
+::v-deep .el-dialog__headerbtn .el-dialog__close {
+  color: #fff;
+}
+::v-deep .el-form-item__label {
+  font: 16px;
+  color: #fff;
+  width: 100px !important;
+}
+::v-deep .el-input__inner {
+  /* width: 200px !important;
+  height: 36px; */
+  background: transparent;
+  color: #fff;
+  border: 1px solid white !important;
+}
+/* 单位框背景颜色 */
+::v-deep .vue-treeselect__control {
+  background: #004d86 !important;
+}
+/* 基本信息背景 */
+.jiben {
+  width: 920px;
+  height: 32px;
+  background-image: url(../../../images/小标题底.png);
+  margin-bottom: 25px;
+  color: #fff;
+  padding-left: 16px;
+  line-height: 32px;
+}
+/*调整表单间距 */
+::v-deep .el-form-item__content {
+  width: 200px;
+}
+::v-deep .el-input__inner {
+  cursor: pointer !important;
+}
+/* 底部确定取消按钮 */
+::v-deep .el-dialog__footer {
+  padding: 30px 50px;
+}
+::v-deep .el-dialog__body {
+  margin: 10px 30px 20px 50px;
+  padding-top: 20px !important;
+  box-sizing: border-box;
+  /* padding: 30px 12px 30px 28px; */
+}
+.contents {
+  padding: 0px 40px !important;
+}
+/* 下拉菜单 */
+.el-dropdown-link {
+  cursor: pointer;
+  color: #409eff;
+}
+.el-icon-arrow-down {
+  font-size: 12px;
+}
+/* 刷新图标 */
+/* .el-icon-refresh {
+  width: 76px;
+  height: 36px;
+  color: #fff;
+  background-color: #1d96ff !important;
+  border-radius: 4px;
+  border: none;
+  margin-left: 20px;
+  font-size: 14px;
+} */
+/* 下拉菜单字体/背景颜色 */
+.el-select-dropdown__item.hover,
+.el-select-dropdown__item:hover {
+  background-color: #004d86;
+  color: #fff;
+}
+.el-select-dropdown__item {
+  color: #fff;
+}
+/* 时间选择 */
+::v-deep .el-input--small .el-input__inner {
+  width: 200px;
+  height: 36px;
+  line-height: 36px;
+}
+.el-date-editor.el-input {
+  width: 200px;
+  height: 36px;
+  line-height: 36px;
+}
+::v-deep .el-date-editor.el-input .el-input__inner {
+  height: 36px;
+  line-height: 36px;
+}
+/* 单位框背景颜色 */
+::v-deep .vue-treeselect__control {
+  background: #004d86 !important;
+  color: #fff;
+}
+/* 单位下拉菜单选中字体颜色 */
+::v-deep .vue-treeselect__single-value {
+  color: #fff !important;
+}
+/* 分页按钮 */
+::v-deep .el-pagination.is-background .el-pager li {
+  background-color: #004d86;
+  color: #fff;
+}
+::v-deep .el-pagination.is-background .btn-next {
+  background-color: #004d86;
+  color: #fff;
+}
+/* 底部确定取消按钮 */
+::v-deep .el-dialog__footer {
+  padding: 18px 42px 30px 0px;
+  margin-right: 30px;
+}
+/* 增加按钮弹框 */
+::v-deep .el-dialog {
+  width: 1060px !important;
+}
+::v-deep .el-dialog__body {
+  padding: none !important;
+}
+::v-deep .box4 .el-textarea__inner {
+  min-height: 120px !important;
+}
+
+/* 调整输入框提示文字颜色 */
+::v-deep .vue-treeselect__placeholder {
+  color: #bdbdbd4f !important;
+}
+::v-deep input::-webkit-input-placeholder {
+  color: #bdbdbd4f !important;
+}
+::v-deep input:-moz-placeholder {
+  color: #bdbdbd4f !important;
+}
+</style>

+ 294 - 103
src/views/medicalhealth/antiepidemicputout/index.vue

@@ -7,15 +7,13 @@
       v-show="showSearch"
       label-width="68px"
     >
-      <el-form-item label="防疫品ID" prop="durgArchivesId">
-        <el-select
-          v-model="queryParams.durgArchivesId"
-          placeholder="请选择防疫品ID"
+      <el-form-item prop="durgName">
+        <el-input
+          v-model="queryParams.durgName"
           clearable
           size="small"
-        >
-          <el-option label="请选择字典生成" value="" />
-        </el-select>
+          placeholder="请输入防疫品名称"
+        />
       </el-form-item>
       <!-- <el-form-item label="发放数量" prop="putOut">
         <el-input
@@ -34,7 +32,7 @@
           size="small"
           @keyup.enter.native="handleQuery"
         />
-      </el-form-item> -->
+      </el-form-item>
       <el-form-item label="领用时间" prop="putTime">
         <el-date-picker
           clearable
@@ -43,7 +41,6 @@
           type="date"
           value-format="yyyy-MM-dd"
           placeholder="选择领用时间"
-          :editable="false"
         >
         </el-date-picker>
       </el-form-item>
@@ -56,7 +53,7 @@
           @keyup.enter.native="handleQuery"
         />
       </el-form-item>
-      <!-- <el-form-item label="录入人(创建人)" prop="adminId">
+      <el-form-item label="录入人(创建人)" prop="adminId">
         <el-input
           v-model="queryParams.adminId"
           placeholder="请输入录入人(创建人)"
@@ -104,7 +101,7 @@
           size="small"
           @keyup.enter.native="handleQuery"
         />
-      </el-form-item> -->
+      </el-form-item>
       <el-form-item label="领用单位" prop="unitId">
         <el-select
           v-model="queryParams.unitId"
@@ -115,7 +112,7 @@
           <el-option label="请选择字典生成" value="" />
         </el-select>
       </el-form-item>
-      <!-- <el-form-item label="使用人" prop="unitId1">
+      <el-form-item label="使用人" prop="unitId1">
         <el-select
           v-model="queryParams.unitId1"
           placeholder="请选择使用人"
@@ -133,12 +130,45 @@
           size="small"
           @keyup.enter.native="handleQuery"
         />
+      </el-form-item>
+      <el-form-item label="领用人姓名" prop="peopleName">
+        <el-input
+          v-model="queryParams.peopleName"
+          placeholder="请输入领用人姓名"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="领用人单位" prop="unitName">
+        <el-input
+          v-model="queryParams.unitName"
+          placeholder="请输入领用人单位"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="发放单位名称" prop="unitName1">
+        <el-input
+          v-model="queryParams.unitName1"
+          placeholder="请输入发放单位名称"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
       </el-form-item> -->
       <el-form-item>
-        <el-button type="primary" size="btn" @click="handleQuery"
+        <el-button
+          type="primary"
+          icon="el-icon-search"
+          size="mini"
+          @click="handleQuery"
           >搜索</el-button
         >
-        <el-button size="btr" @click="resetQuery">重置</el-button>
+        <el-button icon="el-icon-refresh" size="mini" @click="resetQuery"
+          >重置</el-button
+        >
       </el-form-item>
     </el-form>
 
@@ -150,7 +180,7 @@
           icon="el-icon-plus"
           size="mini"
           @click="handleAdd"
-          v-hasPermi="['system:putout:add']"
+          v-hasPermi="['medicalhealth:antiepidemicputout:add']"
           >新增</el-button
         >
       </el-col>
@@ -162,7 +192,7 @@
           size="mini"
           :disabled="single"
           @click="handleUpdate"
-          v-hasPermi="['system:putout:edit']"
+          v-hasPermi="['medicalhealth:antiepidemicputout:edit']"
           >修改</el-button
         >
       </el-col>
@@ -174,7 +204,7 @@
           size="mini"
           :disabled="multiple"
           @click="handleDelete"
-          v-hasPermi="['system:putout:remove']"
+          v-hasPermi="['medicalhealth:antiepidemicputout:remove']"
           >删除</el-button
         >
       </el-col>
@@ -186,29 +216,40 @@
           size="mini"
           :loading="exportLoading"
           @click="handleExport"
-          v-hasPermi="['system:putout:export']"
+          v-hasPermi="['medicalhealth:antiepidemicputout:export']"
           >导出</el-button
         >
       </el-col>
-      <right-toolbar
+      <!-- <right-toolbar
         :showSearch.sync="showSearch"
         @queryTable="getList"
-      ></right-toolbar>
+      ></right-toolbar> -->
     </el-row>
 
     <el-table
       v-loading="loading"
-      :data="putoutList"
+      :data="antiepidemicputoutList"
       @selection-change="handleSelectionChange"
       :header-cell-style="{ background: '#003C69', color: 'white' }"
     >
       <el-table-column type="selection" width="55" align="center" />
-      <el-table-column label="主键ID" align="center" prop="id" />
-      <el-table-column label="防疫品ID" align="center" prop="durgArchivesId" />
+      <el-table-column label="序号" align="center" prop="id" />
+      <el-table-column label="防疫品名称" align="center" prop="durgName" />
+      <el-table-column label="单位" align="center" prop="unitName" />
+      <el-table-column label="库房" align="center" prop="storeHouse">
+        <template slot-scope="scope">
+          <dict-tag
+            :options="dict.type.storage_room"
+            :value="scope.row.storeHouse"
+          />
+        </template>
+      </el-table-column>
+      <el-table-column label="品牌" align="center" prop="durgBrand" />
+      <el-table-column label="规格" align="center" prop="specifications" />
       <el-table-column label="发放数量" align="center" prop="putOut" />
-      <el-table-column label="存放位置" align="center" prop="place" />
+      <el-table-column label="所在位置" align="center" prop="place" />
       <el-table-column
-        label="领用时间"
+        label="发放时间"
         align="center"
         prop="putTime"
         width="180"
@@ -217,8 +258,8 @@
           <span>{{ parseTime(scope.row.putTime, "{y}-{m}-{d}") }}</span>
         </template>
       </el-table-column>
-      <el-table-column label="领用人" align="center" prop="peopleId" />
-      <el-table-column label="录入/创建人" align="center" prop="adminId" />
+      <!-- <el-table-column label="领用人" align="center" prop="peopleId" />
+      <el-table-column label="录入人(创建人)" align="center" prop="adminId" />
       <el-table-column
         label="录入时间"
         align="center"
@@ -239,35 +280,37 @@
           <span>{{ parseTime(scope.row.updatetime, "{y}-{m}-{d}") }}</span>
         </template>
       </el-table-column>
-      <el-table-column label="品牌" align="center" prop="durgBrand" />
-      <el-table-column label="规格" align="center" prop="specifications" />
-      <el-table-column label="领用单位" align="center" prop="unitId" />
+
       <el-table-column label="备注" align="center" prop="remark" />
       <el-table-column label="使用人" align="center" prop="unitId1" />
       <el-table-column label="使用人" align="center" prop="storeHouse" />
-      <el-table-column
+      <el-table-column label="领用人姓名" align="center" prop="peopleName" />
+      <el-table-column label="领用人单位" align="center" prop="unitName" />
+      <el-table-column label="发放单位名称" align="center" prop="unitName1" /> -->
+      <!-- <el-table-column
         label="操作"
         align="center"
         class-name="small-padding fixed-width"
-        width="200"
       >
         <template slot-scope="scope">
           <el-button
-            size="btu"
+            size="mini"
             type="text"
+            icon="el-icon-edit"
             @click="handleUpdate(scope.row)"
-            v-hasPermi="['system:putout:edit']"
+            v-hasPermi="['medicalhealth:antiepidemicputout:edit']"
             >修改</el-button
           >
           <el-button
-            size="btd"
+            size="mini"
             type="text"
+            icon="el-icon-delete"
             @click="handleDelete(scope.row)"
-            v-hasPermi="['system:putout:remove']"
+            v-hasPermi="['medicalhealth:antiepidemicputout:remove']"
             >删除</el-button
           >
         </template>
-      </el-table-column>
+      </el-table-column> -->
     </el-table>
 
     <pagination
@@ -279,24 +322,35 @@
     />
 
     <!-- 添加或修改防疫用品发放登记对话框 -->
-    <el-dialog :title="title" :visible.sync="open" width="700px" append-to-body>
-      <div class="jiben">基本信息</div>
-      <el-form ref="form" :model="form" :rules="rules" label-width="80px" :inline="true">
-         <!-- <el-form-item label="领用单位" prop="unitId">
-          <el-select v-model="form.unitId" placeholder="请选择领用单位">
-            <el-option label="请选择字典生成" value="" />
-          </el-select>
-        </el-form-item> -->
+    <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
+      <el-form
+        ref="form"
+        :model="form"
+        :rules="rules"
+        label-width="80px"
+        inline
+      >
         <el-form-item label="防疫品名称" prop="durgArchivesId">
-          <el-select v-model="form.durgArchivesId" placeholder="请选择防疫品名称">
-            <el-option label="请选择字典生成" value="" />
+          <el-select v-model="form.durgName" placeholder="请选择防疫品名称">
+            <el-option
+              v-for="(item, i) in fangYi"
+              :key="i"
+              :value="item.durgName"
+              :label="item.name"
+              @click.native="fangYiPingXuan(item)"
+            >
+            </el-option>
           </el-select>
         </el-form-item>
         <el-form-item label="发放数量" prop="putOut">
-          <el-input v-model="form.putOut" placeholder="请输入发放数量" />
+          <el-input
+            v-model="form.putOut"
+            placeholder="请输入发放数量"
+            @blur="shuLiang"
+          />
         </el-form-item>
         <el-form-item label="所在位置" prop="place">
-          <el-input v-model="form.place" placeholder="请输所在放位置" />
+          <el-input v-model="form.place" placeholder="请输所在位置" />
         </el-form-item>
         <el-form-item label="使用时间" prop="putTime">
           <el-date-picker
@@ -305,15 +359,48 @@
             v-model="form.putTime"
             type="date"
             value-format="yyyy-MM-dd"
-            placeholder="选使用用时间"
-            :editable="false"
+            placeholder="选择领用时间"
           >
           </el-date-picker>
         </el-form-item>
-        <el-form-item label="领用单位" prop="peopleId">
-          <el-input v-model="form.peopleId" placeholder="请输入领用单位" />
+        <el-form-item label="领用单位" prop="unitId">
+          <!-- <el-select v-model="form.unitId" placeholder="请选择领用单位">
+            <el-option label="请选择字典生成" value="" />
+          </el-select> -->
+          <treeselect
+            v-model="form.unitId"
+            :options="deptOptions"
+            placeholder="选择单位"
+            @select="selectPeo"
+          />
         </el-form-item>
-        <!-- <el-form-item label="录入/创建人" prop="adminId">
+        <el-form-item label="使用人" prop="peopleId">
+          <!-- <el-select v-model="form.unitId1" placeholder="">
+            <el-option label="请选择字典生成" value="" />
+          </el-select> -->
+          <el-select v-model="form.peopleId" placeholder="请选择使用人">
+            <el-option
+              v-for="(item, i) in renYuan"
+              :key="i"
+              :label="item.name"
+              :value="item.id"
+              @click.native="compere(item.name)"
+            >
+            </el-option>
+          </el-select>
+        </el-form-item>
+        <div class="jiben">备注</div>
+        <el-form-item prop="remarks">
+          <el-input
+            v-model="form.remarks"
+            type="textarea"
+            placeholder="请输入内容"
+          />
+        </el-form-item>
+        <!-- <el-form-item label="领用人" prop="peopleId">
+          <el-input v-model="form.peopleId" placeholder="请输入领用人" />
+        </el-form-item>
+        <el-form-item label="录入人(创建人)" prop="adminId">
           <el-input v-model="form.adminId" placeholder="请输入录入人(创建人)" />
         </el-form-item>
         <el-form-item label="品牌" prop="durgBrand">
@@ -322,23 +409,22 @@
         <el-form-item label="规格" prop="specifications">
           <el-input v-model="form.specifications" placeholder="请输入规格" />
         </el-form-item> -->
-       <el-form-item label="使用人" prop="unitId1">
-          <el-select v-model="form.unitId1" placeholder="请选择使用人">
-            <el-option label="请选择字典生成" value="" />
-          </el-select>
+        <!-- <el-form-item label="备注" prop="remark">
+          <el-input v-model="form.remark" placeholder="请输入备注" />
         </el-form-item>
-        <!-- <el-form-item label="使用人" prop="storeHouse">
+       
+        <el-form-item label="使用人" prop="storeHouse">
           <el-input v-model="form.storeHouse" placeholder="请输入使用人" />
-        </el-form-item> -->
-        <div class="jiben">备注</div>
-        <el-form-item label="" prop="remark">
-          <el-input
-            v-model="form.remarks"
-            type="textarea"
-            placeholder="请输入内容"
-          />
         </el-form-item>
-        
+        <el-form-item label="领用人姓名" prop="peopleName">
+          <el-input v-model="form.peopleName" placeholder="请输入领用人姓名" />
+        </el-form-item>
+        <el-form-item label="领用人单位" prop="unitName">
+          <el-input v-model="form.unitName" placeholder="请输入领用人单位" />
+        </el-form-item>
+        <el-form-item label="发放单位名称" prop="unitName1">
+          <el-input v-model="form.unitName1" placeholder="请输入发放单位名称" />
+        </el-form-item> -->
       </el-form>
       <div slot="footer" class="dialog-footer">
         <el-button type="primary" @click="submitForm">确 定</el-button>
@@ -350,16 +436,26 @@
 
 <script>
 import {
-  listPutout,
-  getPutout,
-  delPutout,
-  addPutout,
-  updatePutout,
-  exportPutout,
+  listAntiepidemicputout,
+  getAntiepidemicputout,
+  delAntiepidemicputout,
+  addAntiepidemicputout,
+  updateAntiepidemicputout,
+  exportAntiepidemicputout,
 } from "@/api/medicalhealth/antiepidemicputout";
+import { exportAntiepidemiFangYi } from "@/api/medicalhealth/antiepidemicputin";
+import { getZhuChiRen } from "@/api/grassrootsregistration/bdglmeeting";
+import { getDept } from "@/api/medicalhealth/bdgldurgarchives";
+// 导入树形结构
+import Treeselect from "@riophae/vue-treeselect";
+import "@riophae/vue-treeselect/dist/vue-treeselect.css";
 
 export default {
-  name: "Putout",
+  name: "Antiepidemicputout",
+  dicts: ["storage_room"],
+  components: {
+    Treeselect,
+  },
   data() {
     return {
       // 遮罩层
@@ -377,7 +473,7 @@ export default {
       // 总条数
       total: 0,
       // 防疫用品发放登记表格数据
-      putoutList: [],
+      antiepidemicputoutList: [],
       // 弹出层标题
       title: "",
       // 是否显示弹出层
@@ -399,22 +495,76 @@ export default {
         unitId: null,
         unitId1: null,
         storeHouse: null,
+        peopleName: null,
+        unitName: null,
+        unitName1: null,
       },
       // 表单参数
       form: {},
       // 表单校验
       rules: {},
+      // 防疫品名称
+      fangYi: [],
+      // 树形单位
+      deptOptions: [],
+      // 人员
+      renYuan: [],
+      yaoPingShu: "",
     };
   },
   created() {
     this.getList();
   },
   methods: {
+    // 数量的判断
+    shuLiang() {
+      if (this.form.putOut > this.yaoPingShu) {
+        return this.$modal.msgWarning(`库存数量为${this.yaoPingShu}`);
+      }
+    },
+    //  人员点击触发
+    compere(name) {
+      this.form.peopleName = name;
+    },
+    // 获取人员
+    getZhuChi(id) {
+      getZhuChiRen(id).then((res) => {
+        this.renYuan = res.data;
+      });
+    },
+    // 新增选择单位触发
+    selectPeo(val) {
+      this.form.unitId = val.id;
+      // 选中单位触发获取人员
+      this.getZhuChi(this.form.unitId);
+    },
+    /** 查询部门下拉树结构 */
+    getTreeselect() {
+      getDept().then((response) => {
+        this.deptOptions = response.data;
+        console.log(this.deptOptions);
+      });
+    },
+    // 选择防疫品
+    fangYiPingXuan(data) {
+      this.form.durgArchivesId = data.id;
+      this.form.durgBrand = data.durgBrand;
+      this.form.specifications = data.specifications;
+      this.form.storeHouse = data.storeHouse;
+      this.form.unitName = data.unitName;
+      this.yaoPingShu = data.amount;
+    },
+    // 查询防疫品名称列表
+    fangYiPing() {
+      exportAntiepidemiFangYi().then((response) => {
+        this.fangYi = response.data;
+      });
+    },
     /** 查询防疫用品发放登记列表 */
     getList() {
       this.loading = true;
-      listPutout(this.queryParams).then((response) => {
-        this.putoutList = response.rows;
+      listAntiepidemicputout(this.queryParams).then((response) => {
+        this.antiepidemicputoutList = response.rows;
         this.total = response.total;
         this.loading = false;
       });
@@ -442,6 +592,9 @@ export default {
         remark: null,
         unitId1: null,
         storeHouse: null,
+        peopleName: null,
+        unitName: null,
+        unitName1: null,
       };
       this.resetForm("form");
     },
@@ -463,6 +616,8 @@ export default {
     },
     /** 新增按钮操作 */
     handleAdd() {
+      this.fangYiPing();
+      this.getTreeselect();
       this.reset();
       this.open = true;
       this.title = "添加防疫用品发放登记";
@@ -471,7 +626,7 @@ export default {
     handleUpdate(row) {
       this.reset();
       const id = row.id || this.ids;
-      getPutout(id).then((response) => {
+      getAntiepidemicputout(id).then((response) => {
         this.form = response.data;
         this.open = true;
         this.title = "修改防疫用品发放登记";
@@ -482,13 +637,16 @@ export default {
       this.$refs["form"].validate((valid) => {
         if (valid) {
           if (this.form.id != null) {
-            updatePutout(this.form).then((response) => {
+            updateAntiepidemicputout(this.form).then((response) => {
               this.$modal.msgSuccess("修改成功");
               this.open = false;
               this.getList();
             });
           } else {
-            addPutout(this.form).then((response) => {
+            if (this.form.putOut > this.yaoPingShu) {
+              return;
+            }
+            addAntiepidemicputout(this.form).then((response) => {
               this.$modal.msgSuccess("新增成功");
               this.open = false;
               this.getList();
@@ -503,7 +661,7 @@ export default {
       this.$modal
         .confirm('是否确认删除防疫用品发放登记编号为"' + ids + '"的数据项?')
         .then(function () {
-          return delPutout(ids);
+          return delAntiepidemicputout(ids);
         })
         .then(() => {
           this.getList();
@@ -518,7 +676,7 @@ export default {
         .confirm("是否确认导出所有防疫用品发放登记数据项?")
         .then(() => {
           this.exportLoading = true;
-          return exportPutout(queryParams);
+          return exportAntiepidemicputout(queryParams);
         })
         .then((response) => {
           this.$download.name(response.msg);
@@ -530,21 +688,14 @@ export default {
 };
 </script>
 <style scoped>
-/* 设置按钮透明边框  */
-.el-button {
-  border: 1px solid transparent;
-}
-.el-button--warning.is-plain {
-  width: auto;
-}
 /* 对话框背景颜色 */
 ::v-deep .el-dialog {
   background: #004d86 !important;
 }
 ::v-deep .el-textarea__inner {
-  width: 660px;
+  width: 920px;
   height: 104px;
-  margin: auto !important;
+  margin: auto;
 }
 ::v-deep .el-dialog__header {
   border-bottom: 1px solid #718a9d;
@@ -566,6 +717,7 @@ export default {
   height: 36px; */
   background: transparent;
   color: #fff;
+  border: 1px solid white !important;
 }
 /* 单位框背景颜色 */
 ::v-deep .vue-treeselect__control {
@@ -573,7 +725,7 @@ export default {
 }
 /* 基本信息背景 */
 .jiben {
-  width: 660px;
+  width: 920px;
   height: 32px;
   background-image: url(../../../images/小标题底.png);
   margin-bottom: 25px;
@@ -585,7 +737,19 @@ export default {
 ::v-deep .el-form-item__content {
   width: 200px;
 }
-
+::v-deep .el-input__inner {
+  cursor: pointer !important;
+}
+/* 底部确定取消按钮 */
+::v-deep .el-dialog__footer {
+  padding: 30px 50px;
+}
+::v-deep .el-dialog__body {
+  margin: 10px 30px 20px 50px;
+  padding-top: 20px !important;
+  box-sizing: border-box;
+  /* padding: 30px 12px 30px 28px; */
+}
 .contents {
   padding: 0px 40px !important;
 }
@@ -597,6 +761,17 @@ export default {
 .el-icon-arrow-down {
   font-size: 12px;
 }
+/* 刷新图标 */
+/* .el-icon-refresh {
+  width: 76px;
+  height: 36px;
+  color: #fff;
+  background-color: #1d96ff !important;
+  border-radius: 4px;
+  border: none;
+  margin-left: 20px;
+  font-size: 14px;
+} */
 /* 下拉菜单字体/背景颜色 */
 .el-select-dropdown__item.hover,
 .el-select-dropdown__item:hover {
@@ -639,14 +814,30 @@ export default {
   background-color: #004d86;
   color: #fff;
 }
-::v-deep .el-pagination.is-background .btn-prev,
-.el-pagination.is-background .btn-next,
-.el-pagination.is-background .el-pager li {
-  background: #004d86 !important;
-  color: #fff !important;
+/* 底部确定取消按钮 */
+::v-deep .el-dialog__footer {
+  padding: 18px 42px 30px 0px;
+  margin-right: 30px;
 }
-/* 输入框显示手指 */
-::v-deep .el-input__inner {
-  cursor: pointer !important;
+/* 增加按钮弹框 */
+::v-deep .el-dialog {
+  width: 1060px !important;
+}
+::v-deep .el-dialog__body {
+  padding: none !important;
+}
+::v-deep .box4 .el-textarea__inner {
+  min-height: 120px !important;
+}
+
+/* 调整输入框提示文字颜色 */
+::v-deep .vue-treeselect__placeholder {
+  color: #bdbdbd4f !important;
+}
+::v-deep input::-webkit-input-placeholder {
+  color: #bdbdbd4f !important;
+}
+::v-deep input:-moz-placeholder {
+  color: #bdbdbd4f !important;
 }
-</style>
+</style>

+ 50 - 15
src/views/medicalhealth/archives/index.vue

@@ -7,7 +7,16 @@
       v-show="showSearch"
       label-width="68px"
     >
-      <el-form-item label="单位" prop="unitId">
+      <el-form-item prop="durgBrand">
+        <el-input
+          v-model="queryParams.durgBrand"
+          placeholder="请输入耗材名称"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <!-- <el-form-item label="单位" prop="unitId">
         <el-select
           v-model="queryParams.unitId"
           placeholder="请选择单位"
@@ -25,7 +34,7 @@
           size="small"
           @keyup.enter.native="handleQuery"
         />
-      </el-form-item>
+      </el-form-item> -->
       <!-- <el-form-item label="品牌" prop="durgBrand">
         <el-input
           v-model="queryParams.durgBrand"
@@ -170,10 +179,10 @@
           >导出</el-button
         >
       </el-col>
-      <right-toolbar
+      <!-- <right-toolbar
         :showSearch.sync="showSearch"
         @queryTable="getList"
-      ></right-toolbar>
+      ></right-toolbar> -->
     </el-row>
 
     <el-table
@@ -183,8 +192,8 @@
       :header-cell-style="{ background: '#003C69', color: 'white' }"
     >
       <el-table-column type="selection" width="55" align="center" />
-      <el-table-column label="主键ID" align="center" prop="id" />
-      <el-table-column label="药品名称" align="center" prop="durgName" />
+      <el-table-column label="序号" align="center" prop="id" />
+      <el-table-column label="耗材名称" align="center" prop="durgName" />
       <el-table-column label="品牌" align="center" prop="durgBrand" />
       <el-table-column label="厂家" align="center" prop="manufacturer" />
       <el-table-column label="规格" align="center" prop="specifications" />
@@ -201,13 +210,13 @@
           />
         </template>
       </el-table-column>
-      <el-table-column label="单位" align="center" prop="unitId" />
+      <el-table-column label="单位" align="center" prop="unitName" />
       <el-table-column label="库存数量" align="center" prop="amount" />
       <el-table-column label="入库数量" align="center" prop="putIn" />
       <el-table-column label="出库数量" align="center" prop="putOut" />
       <el-table-column label="过期数量" align="center" prop="overdue" />
-      <el-table-column label="备注" align="center" prop="remarks" />
-      <el-table-column label="录入/创建人" align="center" prop="adminId" />
+      <!-- <el-table-column label="备注" align="center" prop="remarks" /> -->
+      <el-table-column label="录入/创建人" align="center" prop="userName" />
       <el-table-column
         label="操作"
         align="center"
@@ -251,7 +260,7 @@
         label-width="120px"
         :inline="true"
       >
-      <el-form-item label="耗材名称" prop="durgName">
+        <el-form-item label="耗材名称" prop="durgName">
           <el-input v-model="form.durgName" placeholder="请输入耗材名称" />
         </el-form-item>
         <el-form-item label="库房" prop="storeHouse">
@@ -264,10 +273,16 @@
             ></el-option>
           </el-select>
         </el-form-item>
-      <el-form-item label="单位" prop="unitId">
-          <el-select v-model="form.unitId" placeholder="请选择单位">
+        <el-form-item label="单位" prop="unitId">
+          <treeselect
+            v-model="form.unitId"
+            :options="deptOptions"
+            placeholder="选择单位"
+            @select="selectPeo"
+          />
+          <!-- <el-select v-model="form.unitId" placeholder="请选择单位">
             <el-option label="请选择字典生成" value="" />
-          </el-select>
+          </el-select> -->
         </el-form-item>
         <el-form-item label="品牌" prop="durgBrand">
           <el-input v-model="form.durgBrand" placeholder="请输入品牌" />
@@ -294,7 +309,7 @@
         <el-form-item label="过期数量" prop="overdue">
           <el-input v-model="form.overdue" placeholder="请输入过期数量" />
         </el-form-item> -->
-        <div class="jiben">主治功能</div>
+        <div class="jiben">功能主治</div>
         <el-form-item label="" prop="productIntroduction">
           <el-input
             v-model="form.productIntroduction"
@@ -310,7 +325,6 @@
             placeholder="请输入内容"
           />
         </el-form-item>
-        
       </el-form>
       <div slot="footer" class="dialog-footer">
         <el-button type="primary" @click="submitForm">确 定</el-button>
@@ -329,10 +343,17 @@ import {
   updateArchives,
   exportArchives,
 } from "@/api/medicalhealth/archives";
+// 导入树形结构
+import Treeselect from "@riophae/vue-treeselect";
+import "@riophae/vue-treeselect/dist/vue-treeselect.css";
+import { getDept } from "@/api/medicalhealth/bdgldurgarchives";
 
 export default {
   name: "Archives",
   dicts: ["storage_room"],
+  components: {
+    Treeselect,
+  },
   data() {
     return {
       // 遮罩层
@@ -406,12 +427,24 @@ export default {
           },
         ],
       },
+      // 树形单位
+      deptOptions: [],
     };
   },
   created() {
     this.getList();
   },
   methods: {
+    // 新增选择单位触发
+    selectPeo(val) {
+      this.form.unitName = val.label;
+    },
+    /** 查询部门下拉树结构 */
+    getTreeselect() {
+      getDept().then((response) => {
+        this.deptOptions = response.data;
+      });
+    },
     /** 查询耗材库存档案列表 */
     getList() {
       this.loading = true;
@@ -466,12 +499,14 @@ export default {
     },
     /** 新增按钮操作 */
     handleAdd() {
+      this.getTreeselect();
       this.reset();
       this.open = true;
       this.title = "添加耗材库存档案";
     },
     /** 修改按钮操作 */
     handleUpdate(row) {
+      this.getTreeselect();
       this.reset();
       const id = row.id || this.ids;
       getArchives(id).then((response) => {

+ 1 - 1
src/views/medicalhealth/bdgldurgputout/index.vue

@@ -482,6 +482,7 @@ export default {
       deptOptions: [],
       // 人员
       renYuan: [],
+      // 数量
       yaoPingShu: "",
     };
   },
@@ -628,7 +629,6 @@ export default {
               this.getList();
             });
           } else {
-            console.log(this.form);
             if (this.form.putOut > this.yaoPingShu) {
               return;
             }

+ 81 - 53
src/views/medicalhealth/consumeputin/index.vue

@@ -7,17 +7,15 @@
       v-show="showSearch"
       label-width="68px"
     >
-      <el-form-item label="药品ID" prop="durgArchivesId">
-        <el-select
+      <el-form-item prop="durgArchivesId">
+        <el-input
           v-model="queryParams.durgArchivesId"
-          placeholder="请选择药品ID"
+          placeholder="请选择耗材名称"
           clearable
           size="small"
-        >
-          <el-option label="请选择字典生成" value="" />
-        </el-select>
+        />
       </el-form-item>
-      <el-form-item label="入库数量" prop="putIn">
+      <!-- <el-form-item label="入库数量" prop="putIn">
         <el-input
           v-model="queryParams.putIn"
           placeholder="请输入入库数量"
@@ -25,7 +23,7 @@
           size="small"
           @keyup.enter.native="handleQuery"
         />
-      </el-form-item>
+      </el-form-item> -->
       <!-- <el-form-item label="入库位置" prop="place">
         <el-input
           v-model="queryParams.place"
@@ -64,7 +62,7 @@
         >
         </el-date-picker>
       </el-form-item> -->
-      <el-form-item label="入库时间" prop="putTime">
+      <!-- <el-form-item label="入库时间" prop="putTime">
         <el-date-picker
           clearable
           size="small"
@@ -75,7 +73,7 @@
           :editable="false"
         >
         </el-date-picker>
-      </el-form-item>
+      </el-form-item> -->
       <!-- <el-form-item label="录入人(创建人)" prop="adminId">
         <el-select
           v-model="queryParams.adminId"
@@ -194,7 +192,7 @@
           >新增</el-button
         >
       </el-col>
-      <el-col :span="1.5">
+      <!-- <el-col :span="1.5">
         <el-button
           type="success"
           plain
@@ -229,11 +227,11 @@
           v-hasPermi="['system:putin:export']"
           >导出</el-button
         >
-      </el-col>
-      <right-toolbar
+      </el-col> -->
+      <!-- <right-toolbar
         :showSearch.sync="showSearch"
         @queryTable="getList"
-      ></right-toolbar>
+      ></right-toolbar> -->
     </el-row>
 
     <el-table
@@ -243,54 +241,58 @@
       :header-cell-style="{ background: '#003C69', color: 'white' }"
     >
       <el-table-column type="selection" width="55" align="center" />
-      <el-table-column label="主键ID" align="center" prop="id" />
-      <el-table-column label="药品ID" align="center" prop="durgArchivesId" />
+      <el-table-column label="序号" align="center" prop="id" />
+      <el-table-column label="耗材名称" align="center" prop="durgName" />
+      <el-table-column label="单位" align="center" prop="unitName" />
+      <el-table-column label="库房" align="center" prop="storeHouse">
+        <template slot-scope="scope">
+          <dict-tag
+            :options="dict.type.storage_room"
+            :value="scope.row.storeHouse"
+          />
+        </template>
+      </el-table-column>
+      <el-table-column label="品牌" align="center" prop="durgBrand" />
+      <el-table-column label="生产厂商" align="center" prop="manufacturer" />
+      <el-table-column label="规格" align="center" prop="specifications" />
       <el-table-column label="入库数量" align="center" prop="putIn" />
       <el-table-column label="入库位置" align="center" prop="place" />
-      <el-table-column label="药品来源" align="center" prop="source" />
-      <el-table-column label="入库说明" align="center" prop="remarks" />
+      <el-table-column label="耗材来源" align="center" prop="source" />
+      <!-- <el-table-column label="入库说明" align="center" prop="remarks" /> -->
+      <el-table-column label="录入人" align="center" prop="userName" />
       <el-table-column
-        label="过期日期"
+        label="入库时间"
         align="center"
-        prop="overduedate"
+        prop="putTime"
         width="180"
       >
         <template slot-scope="scope">
-          <span>{{ parseTime(scope.row.overduedate, "{y}-{m}-{d}") }}</span>
+          <span>{{ parseTime(scope.row.putTime, "{y}-{m}-{d}") }}</span>
         </template>
       </el-table-column>
       <el-table-column
-        label="入库时间"
+        label="过期日期"
         align="center"
-        prop="putTime"
+        prop="overduedate"
         width="180"
       >
         <template slot-scope="scope">
-          <span>{{ parseTime(scope.row.putTime, "{y}-{m}-{d}") }}</span>
+          <span>{{ parseTime(scope.row.overduedate, "{y}-{m}-{d}") }}</span>
         </template>
       </el-table-column>
-      <el-table-column label="录入人(创建人)" align="center" prop="adminId" />
+
+      <!-- 
       <el-table-column label="编号" align="center" prop="number" />
       <el-table-column label="剩余库存" align="center" prop="surplus" />
-      <el-table-column label="是否销毁" align="center" prop="status" />
-      <el-table-column label="品牌" align="center" prop="durgBrand" />
-      <el-table-column label="生产厂商" align="center" prop="manufacturer" />
-      <el-table-column label="规格" align="center" prop="specifications" />
-      <el-table-column
+      <el-table-column label="是否销毁" align="center" prop="status" /> -->
+
+      <!-- <el-table-column
         label="功能主治"
         align="center"
         prop="productIntroduction"
-      />
-      <el-table-column label="库房" align="center" prop="storeHouse">
-        <template slot-scope="scope">
-          <dict-tag
-            :options="dict.type.storage_room"
-            :value="scope.row.storeHouse"
-          />
-        </template>
-      </el-table-column>
-      <el-table-column label="库房" align="center" prop="unitId" />
-      <el-table-column
+      /> -->
+
+      <!-- <el-table-column
         label="操作"
         align="center"
         class-name="small-padding fixed-width"
@@ -312,7 +314,7 @@
             >删除</el-button
           >
         </template>
-      </el-table-column>
+      </el-table-column> -->
     </el-table>
 
     <pagination
@@ -332,10 +334,17 @@
         label-width="120px"
         :inline="true"
       >
-      <div class="jiben">基本信息</div>
+        <div class="jiben">基本信息</div>
         <el-form-item label="耗材名称" prop="durgArchivesId">
-          <el-select v-model="form.durgArchivesId" placeholder="请选择药品ID">
-            <el-option label="请选择字典生成" value="" />
+          <el-select v-model="form.durgName" placeholder="请选择耗材名称">
+            <el-option
+              v-for="(item, i) in Consumables"
+              :key="i"
+              :label="item.name"
+              :value="item.durgName"
+              @click.native="haocailie(item)"
+            >
+            </el-option>
           </el-select>
         </el-form-item>
         <el-form-item label="入库数量" prop="putIn">
@@ -347,27 +356,26 @@
         <el-form-item label="药品来源" prop="source">
           <el-input v-model="form.source" placeholder="请输入药品来源" />
         </el-form-item>
-        
-        <el-form-item label="过期日期" prop="overduedate">
+        <el-form-item label="入库时间" prop="putTime">
           <el-date-picker
             clearable
             size="small"
-            v-model="form.overduedate"
+            v-model="form.putTime"
             type="date"
             value-format="yyyy-MM-dd"
-            placeholder="选择过期日期"
+            placeholder="选择入库时间"
             :editable="false"
           >
           </el-date-picker>
         </el-form-item>
-        <el-form-item label="入库时间" prop="putTime">
+        <el-form-item label="过期日期" prop="overduedate">
           <el-date-picker
             clearable
             size="small"
-            v-model="form.putTime"
+            v-model="form.overduedate"
             type="date"
             value-format="yyyy-MM-dd"
-            placeholder="选择入库时间"
+            placeholder="选择过期日期"
             :editable="false"
           >
           </el-date-picker>
@@ -446,6 +454,7 @@ import {
   addPutin,
   updatePutin,
   exportPutin,
+  exportHaoCai,
 } from "@/api/medicalhealth/consumeputin";
 
 export default {
@@ -499,7 +508,7 @@ export default {
       form: {},
       // 表单校验
       rules: {
-         durgArchivesId: [
+        durgArchivesId: [
           {
             required: true,
             message: "耗材名称不能为空",
@@ -521,12 +530,30 @@ export default {
           },
         ],
       },
+      // 耗材列表
+      Consumables: [],
     };
   },
   created() {
     this.getList();
   },
   methods: {
+    // 选中耗材
+    haocailie(data) {
+      this.form.unitId = data.unitId;
+      this.form.unitName = data.unitName;
+      this.form.durgArchivesId = data.id;
+      this.form.durgBrand = data.durgBrand;
+      this.form.manufacturer = data.manufacturer;
+      this.form.specifications = data.specifications;
+      this.form.storeHouse = data.storeHouse;
+    },
+    // 获取耗材列表
+    getHaoCai() {
+      exportHaoCai().then((res) => {
+        this.Consumables = res.data;
+      });
+    },
     /** 查询耗材入库登记列表 */
     getList() {
       this.loading = true;
@@ -585,6 +612,7 @@ export default {
     },
     /** 新增按钮操作 */
     handleAdd() {
+      this.getHaoCai();
       this.reset();
       this.open = true;
       this.title = "添加耗材入库登记";