瀏覽代碼

资产管理-耗材领用记录

yanshichao 1 年之前
父節點
當前提交
9a2149307d

+ 8 - 1
src/api/material/transfer.js

@@ -36,4 +36,11 @@ export function confirmReceive(transferId) {
   })
 }
 
-
+// 耗材领用记录
+export function consumablesReceiveList(data) {
+  return request({
+    url: '/material/asset/transfer/consumablesReceiveList',
+    method: 'post',
+    data: data
+  })
+}

+ 13 - 0
src/views/material/asset.vue

@@ -69,6 +69,16 @@
               >导出
               </el-button>
             </el-col>
+            <el-col :span="1.5">
+              <el-button
+                plain
+                icon="el-icon-document"
+                size="mini"
+                @click="toConsumablesReceive"
+                v-hasPermi="['material:asset:add']"
+              >耗材领用记录
+              </el-button>
+            </el-col>
           </el-row>
         </div>
 
@@ -560,6 +570,9 @@ export default {
     handleExport() {
       exportAsset()
     },
+    toConsumablesReceive() {
+      this.$router.push('/material/consumablesReceive')
+    },
     /** 修改按钮操作 */
     handleUpdate(row) {
       this.reset();

+ 22 - 13
src/views/material/components/assetDetail.vue

@@ -19,26 +19,23 @@
           <el-form-item v-if="form.assetType==='1'" label="库存数">
             <div>{{ form.num }}</div>
           </el-form-item>
-<!--          <el-form-item label="设备设施名称" prop="equipmentName">-->
-<!--            <div>{{ form.equipmentName }}</div>-->
-<!--          </el-form-item>-->
+          <!--          <el-form-item label="设备设施名称" prop="equipmentName">-->
+          <!--            <div>{{ form.equipmentName }}</div>-->
+          <!--          </el-form-item>-->
           <el-form-item label="设备型号" prop="equipmentType">
             <div>{{ form.equipmentType }}</div>
           </el-form-item>
-<!--          <el-form-item label="设备编号" prop="equipmentNumber">-->
-<!--            <div>{{ form.equipmentNumber }}</div>-->
-<!--          </el-form-item>-->
-<!--          <el-form-item label="原厂编号" prop="factoryNumber">-->
-<!--            <div>{{ form.factoryNumber }}</div>-->
-<!--          </el-form-item>-->
+          <!--          <el-form-item label="设备编号" prop="equipmentNumber">-->
+          <!--            <div>{{ form.equipmentNumber }}</div>-->
+          <!--          </el-form-item>-->
+          <!--          <el-form-item label="原厂编号" prop="factoryNumber">-->
+          <!--            <div>{{ form.factoryNumber }}</div>-->
+          <!--          </el-form-item>-->
           <el-form-item label="生产厂家" prop="factoryName">
             <div>{{ form.factoryName }}</div>
           </el-form-item>
           <el-form-item label="入库来源" prop="source">
-            <el-tag v-if="form.source==='1'" size="mini">采购</el-tag>
-            <el-tag v-else-if="form.source==='2'" size="mini">租赁</el-tag>
-            <el-tag v-else-if="form.source==='3'" size="mini">借用</el-tag>
-            <el-tag v-else size="mini">赠送</el-tag>
+            <el-tag size="mini">{{ getSourceName(form.source) }}</el-tag>
           </el-form-item>
           <el-form-item label="购入日期" prop="buyDate">
             <div>{{ form.buyDate }}</div>
@@ -67,11 +64,23 @@
 <script>
 export default {
   name: "assetDetail",
+  dicts: ['s_source'],
   props: {
     form: {
       type: Object,
       default: {}
     }
+  },
+  methods: {
+    getSourceName(sourceCode) {
+      let label = ''
+      this.dict.type.s_source.forEach(dict => {
+        if (dict.value === sourceCode) {
+          label = dict.label
+        }
+      })
+      return label
+    }
   }
 }
 </script>

+ 137 - 0
src/views/material/consumablesReceive.vue

@@ -0,0 +1,137 @@
+<template>
+  <div class="app-container">
+    <el-row>
+      <el-col :span="22">
+        <el-form :model="queryParams" ref="queryForm" size="mini" :inline="true">
+          <el-form-item label="耗材名称" prop="assetName">
+            <el-input v-model="queryParams.assetName" placeholder="请输入耗材名称"></el-input>
+          </el-form-item>
+          <el-form-item label="资产编号" prop="deptAssetNumber">
+            <el-input v-model="queryParams.deptAssetNumber" placeholder="请输入资产编号"></el-input>
+          </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-form-item>
+        </el-form>
+      </el-col>
+      <el-col :span="2">
+        <el-button icon="el-icon-back" @click="goBack">返回</el-button>
+      </el-col>
+    </el-row>
+
+    <el-table :data="receiveList"
+              size="mini"
+              height="calc(100vh - 180px)"
+              row-key="id">
+      <el-table-column label="唯一编码" prop="deptAssetNumber" :show-overflow-tooltip="true"/>
+      <el-table-column label="公司资产编号" prop="assetNumber" :show-overflow-tooltip="true"/>
+      <el-table-column label="物品名称" prop="assetName" min-width="100" :show-overflow-tooltip="true"/>
+      <el-table-column label="设备型号" prop="equipmentType" :show-overflow-tooltip="true"/>
+      <!--      <el-table-column label="设备编号" prop="equipmentNumber" :show-overflow-tooltip="true"/>-->
+      <!--      <el-table-column label="原厂编号" prop="factoryNumber" :show-overflow-tooltip="true"/>-->
+      <el-table-column label="生产厂家" prop="factoryName" :show-overflow-tooltip="true"/>
+      <el-table-column label="领用数量" prop="receiveNum" width="80"/>
+      <el-table-column label="领用人" prop="receiveUserName" width="80"/>
+      <el-table-column label="领用日期" prop="transferDate">
+        <template slot-scope="scope">
+          <span>{{ parseTime(scope.row.transferDate) }}</span>
+        </template>
+      </el-table-column>
+      <el-table-column label="领用备注" prop="transferRemark" :show-overflow-tooltip="true"/>
+    </el-table>
+    <div style="margin-top: 10px;text-align: center">
+      <el-pagination
+        background
+        @size-change="handleSizeChange"
+        @current-change="handleCurrentChange"
+        :current-page="queryParams.pageNum"
+        :page-sizes="[10, 20, 50]"
+        :page-size="queryParams.pageSize"
+        layout="total, sizes, prev, pager, next, jumper"
+        :total="total">
+      </el-pagination>
+    </div>
+  </div>
+
+</template>
+
+<script>
+import {consumablesReceiveList} from "@/api/material/transfer";
+import {getAsset} from "@/api/material/asset";
+
+export default {
+  name: "consumablesReceive",
+  data() {
+    return {
+      queryParams: {
+        pageNum: 1,
+        pageSize: 10
+      },
+      total: 0,
+      receiveList: []
+    }
+  },
+  created() {
+    this.getList()
+  },
+  methods: {
+    goBack() {
+      this.$router.go(-1)
+    },
+    /** 搜索按钮操作 */
+    handleQuery() {
+      this.queryParams.pageNum = 1;
+      this.getList();
+    },
+    /** 重置按钮操作 */
+    resetQuery() {
+      this.resetForm("queryForm");
+      this.handleQuery();
+    },
+    getList() {
+      consumablesReceiveList(this.queryParams).then(res => {
+        this.receiveList = res.data.records;
+        this.total = res.data.total;
+      })
+    },
+    handleSizeChange(val) {
+      this.queryParams.pageSize = val;
+      this.getList();
+    },
+    handleCurrentChange(val) {
+      this.queryParams.pageNum = val;
+      this.getList();
+    },
+    cellClick(row, column, event) {
+      if (column.property != 'assetName') {
+        return
+      }
+      getAsset(row.id).then(res => {
+        this.form = res.data
+        this.title = '物品详情'
+        this.detailOpen = true;
+      })
+    },
+    cellMouseEnter(row, column, cell, event) {
+      if (column.property != 'assetName') {
+        return
+      }
+      cell.style.color = '#306FB1';
+      cell.style.cursor = 'pointer';
+      cell.style.textDecoration = 'underline';
+    },
+    cellMouseLeave(row, column, cell, event) {
+      if (column.property != 'assetName') {
+        return
+      }
+      cell.style.color = '#606266';
+      cell.style.textDecoration = 'none';
+    },
+  }
+}
+</script>
+
+<style scoped>
+
+</style>