chris 3 жил өмнө
parent
commit
bcffe9d038

+ 401 - 0
src/views/modules/warehouse/inventory-begin.vue

@@ -0,0 +1,401 @@
+<template>
+  <el-dialog
+    :title="!id ? '新增': display ? '查看' : '开始盘点'"
+    width="70%"
+    :close-on-click-modal="false"
+    :visible.sync="visible">
+    <el-form :model="dataForm" :rules="dataRule" ref="dataForm" label-width="auto">
+      <el-row class="my-row">
+        <el-col :span="8">
+          <el-form-item label="盘点编码" prop="inventoryCode">
+            <el-input v-model="dataForm.inventoryCode" :disabled="true"></el-input>
+          </el-form-item>
+        </el-col>
+        <el-col :span="8" style="padding-left: 20px">
+          <el-form-item label="盘点员" prop="checkerName">
+            <el-input v-model="dataForm.checkerName" :disabled="true"></el-input>
+          </el-form-item>
+        </el-col>
+        <el-col :span="8" style="padding-left: 20px">
+          <el-form-item label="复核员" prop="dcheckerName">
+            <el-input v-model="dataForm.dcheckerName" :disabled="true"></el-input>
+          </el-form-item>
+        </el-col>
+      </el-row>
+      <el-row class="my-row">
+        <el-form-item label="备注说明">
+            <el-input v-model="dataForm.notes" :disabled="true"></el-input>
+          </el-form-item>
+      </el-row>
+      <el-row>
+        <el-form :inline="true" :model="dataForm1" @keyup.enter.native="queryData()">
+          <el-form-item label="仓库名称" prop="warehouseId">
+            <el-select
+              v-model="dataForm1.warehouseId"
+              filterable
+              remote
+              :remote-method="remoteWarehouse"
+              placeholder="请选择">
+              <el-option
+                v-for="item in optionsWh"
+                :key="item.code"
+                :label="item.value"
+                :value="item.code">
+              </el-option>
+            </el-select>
+          </el-form-item>
+          <el-form-item label="货架名称" prop="shelveId">
+            <el-select
+              v-model="dataForm1.shelveId"
+              filterable
+              remote
+              :remote-method="remoteShelve"
+              placeholder="请选择">
+              <el-option
+                v-for="item in optionsShelve"
+                :key="item.code"
+                :label="item.value"
+                :value="item.code">
+              </el-option>
+            </el-select>
+          </el-form-item>
+          <el-form-item>
+            <el-button @click="queryData()">查询</el-button>
+          </el-form-item>
+        </el-form>
+      </el-row>
+      <el-table
+        :data="dataList"
+        border
+        v-loading="dataListLoading"
+        @selection-change="selectionChangeHandle"
+        style="width: 100%;">
+        <el-table-column
+          label="序号"
+          type="index"
+          width="50"
+          align="center">
+        </el-table-column>
+        <el-table-column
+          prop="warehouseName"
+          header-align="center"
+          align="center"
+          label="仓库名称">
+        </el-table-column>
+        <el-table-column
+          prop="materialName"
+          header-align="center"
+          align="center"
+          min-width="160"
+          label="物品名称">
+        </el-table-column>
+        <el-table-column
+          prop="specifications"
+          header-align="center"
+          align="center"
+          min-width="160"
+          label="规格">
+        </el-table-column>
+        <el-table-column
+          prop="unitName"
+          header-align="center"
+          align="center"
+          label="单位">
+        </el-table-column>
+        <el-table-column
+          prop="cnt"
+          header-align="center"
+          align="center"
+          label="仓库库存数量">
+        </el-table-column>
+        <el-table-column
+          prop="inventoryCnt"
+          header-align="center"
+          align="center"
+          min-width="160"
+          label="请选择数量">
+          <template slot-scope="scope">
+            <el-input-number v-model="scope.row.inventoryCnt" :disabled="display" :step="1" :min="1" style="width: 140px;"/>
+          </template>
+        </el-table-column>
+        <el-table-column
+          prop="inventoryState"
+          header-align="center"
+          align="center"
+          :formatter="formatState"
+          label="盘库状态">
+        </el-table-column>
+        <el-table-column
+          prop="materialState"
+          header-align="center"
+          align="center"
+          :formatter="formatMs"
+          label="物品状态">
+        </el-table-column>
+        <el-table-column
+          fixed="right"
+          header-align="center"
+          align="center"
+          width="150"
+          label="操作"
+          v-if="!display">
+          <template slot-scope="scope">
+            <el-button v-if="isAuth('wh:inventory:complete')" type="text" size="small" @click="finish(scope.row)">完成</el-button>
+            <el-button v-if="isAuth('wh:inventory:start')" type="text" size="small" @click="begin(scope.row)">开始盘点</el-button>
+          </template>
+        </el-table-column>
+      </el-table>
+      <el-pagination
+        @size-change="sizeChangeHandle"
+        @current-change="currentChangeHandle"
+        :current-page="pageIndex"
+        :page-sizes="[10, 20, 50, 100]"
+        :page-size="pageSize"
+        :total="totalPage"
+        layout="total, sizes, prev, pager, next, jumper">
+      </el-pagination>
+    </el-form>
+  </el-dialog>
+</template>
+
+<script>
+  import {getInventoryDetail, getWarehouseList, getShelveList, beginInventory, finishInventory} from '@/api/warehouse'
+  export default {
+    name: 'inventory-begin',
+    data () {
+      return {
+        visible: false,
+        display: false,
+        dataList: [],
+        optionsWh: [],
+        optionsShelve: [],
+        id: 0,
+        pageIndex: 1,
+        pageSize: 10,
+        totalPage: 0,
+        dataListLoading: false,
+        dataListSelections: [],
+        dataForm: {},
+        dataForm1: {},
+        dataRule: {
+        },
+        optionsMs: [
+          {
+            code: '0',
+            value: '正常'
+          },
+          {
+            code: '1',
+            value: '盘点中'
+          }
+        ],
+        optionsState: [
+          {
+            code: '0',
+            value: '正常'
+          },
+          {
+            code: '-1',
+            value: '盘亏'
+          },
+          {
+            code: '1',
+            value: '盘盈'
+          }
+        ]
+      }
+    },
+    methods: {
+      init (id, display) {
+        this.visible = true
+        this.id = id || 0
+        this.display = display
+        this.dataForm = {}
+        this.dataForm1 = {}
+        // 获取详情
+        this.queryData()
+      },
+      // 查询
+      queryData () {
+        this.pageIndex = 1
+        this.getDataList()
+      },
+      // 获取数据列表
+      getDataList () {
+        this.dataListLoading = true
+        let params = {
+          'current': this.pageIndex,
+          'size': this.pageSize,
+          'inventoryId': this.id,
+          'warehouseId': this.dataForm1.warehouseId ? this.dataForm1.warehouseId : null,
+          'shelveId': this.dataForm1.shelveId ? this.dataForm1.shelveId : null
+        }
+        getInventoryDetail(params).then(({data}) => {
+          if (data && data.code === '200') {
+            this.dataList = data.data.records
+            this.totalPage = Number(data.data.total)
+            if (this.dataList.length > 0) {
+              let item = this.dataList[0]
+              this.dataForm.inventoryCode = item.inventoryCode
+              this.dataForm.checkerName = item.checkerName
+              this.dataForm.dcheckerName = item.dcheckerName
+              this.dataForm.notes = item.notes
+            }
+          } else {
+            this.dataList = []
+            this.totalPage = 0
+          }
+          this.dataListLoading = false
+        })
+      },
+      // 每页数
+      sizeChangeHandle (val) {
+        this.pageSize = val
+        this.pageIndex = 1
+        this.getDataList()
+      },
+      // 当前页
+      currentChangeHandle (val) {
+        this.pageIndex = val
+        this.getDataList()
+      },
+      // 多选
+      selectionChangeHandle (val) {
+        this.dataListSelections = val
+      },
+      // 表单提交
+      dataFormSubmit () {
+        this.$refs['dataForm'].validate((valid) => {
+          if (valid) {
+            this.$http({
+              url: this.$http.adornUrl(`/biz-service/in-out-bound-ctl/inbound`),
+              method: 'post',
+              data: this.$http.adornData({
+                'amount': this.dataForm.amount,
+                'applicant': this.dataForm.applicant,
+                'approver': this.dataForm.approver,
+                'batchNumber': this.dataForm.batchNumber,
+                'cnt': this.dataForm.cnt,
+                'materialId': this.dataForm.materialId,
+                'materialName': this.dataForm.materialName,
+                'notes': this.dataForm.notes,
+                'price': this.dataForm.price,
+                'orgId': this.dataForm.orgId,
+                'recordType': this.dataForm.recordType,
+                'source': this.dataForm.source,
+                'state': this.dataForm.state,
+                'templateItemPlanId': this.dataForm.templateItemPlanId,
+                'usage': this.dataForm.usage,
+                'userId': this.dataForm.userId,
+                'creatorId': this.$store.state.user.id
+              })
+            }).then(({data}) => {
+              if (data && data.code === '200') {
+                this.$message({
+                  message: '操作成功',
+                  type: 'success',
+                  duration: 1500,
+                  onClose: () => {
+                    this.visible = false
+                    this.$emit('refreshDataList')
+                  }
+                })
+              } else {
+                this.$message.error(data.msg)
+              }
+            })
+          }
+        })
+      },
+      validateField (type) {
+        this.$refs.dataForm.validateField(type)
+      },
+      // 仓库列表
+      async remoteWarehouse (query) {
+        let warehouseName = query || null
+        await getWarehouseList({'warehouseName': warehouseName}).then(({data}) => {
+          if (data && data.code === '200') {
+            this.dataForm1 = {}
+            this.optionsWh = []
+            data.data.records.forEach((item) => {
+              this.optionsWh.push({
+                code: item.warehouseId,
+                value: item.warehouseName
+              })
+            })
+          }
+        })
+      },
+      // 货架列表
+      async remoteShelve (query) {
+        let name = query || null
+        let warehouseId = this.dataForm1.warehouseId || null
+        await getShelveList({'name': name, 'warehouseId': warehouseId}).then(({data}) => {
+          if (data && data.code === '200') {
+            this.optionsShelve = []
+            data.data.records.forEach((item) => {
+              this.optionsShelve.push({
+                code: item.shelveId,
+                value: item.name
+              })
+            })
+          }
+        })
+      },
+      // 完成盘点
+      async finish (row) {
+        let params = {
+          'recordId': this.id,
+          'cnt': row.inventoryCnt,
+          'materialId': row.materialId,
+          'inventoryState': row.inventoryState
+        }
+        await finishInventory(params).then(({data}) => {
+          if (data && data.code === '200') {
+            this.$message.success('成功')
+          } else {
+            this.$message.error(data.msg)
+          }
+        })
+      },
+      // 开始盘点
+      async begin (row) {
+        let params = {
+          'materialId': row.materialId,
+          'recordId': this.id
+        }
+        await beginInventory(params).then(({data}) => {
+          if (data && data.code === '200') {
+            this.getDataList()
+            this.$message.success('成功')
+          } else {
+            this.$message.error(data.msg)
+          }
+        })
+      },
+      // 物品状态转换
+      formatMs (row) {
+        for (let i = 0; i < this.optionsMs.length; i++) {
+          if (this.optionsMs[i].code === row.materialState) {
+            return this.optionsMs[i].value
+          }
+        }
+      },
+      // 盘库状态转换
+      formatState (row) {
+        for (let i = 0; i < this.optionsState.length; i++) {
+          if (this.optionsState[i].code === row.inventoryState) {
+            return this.optionsState[i].value
+          }
+        }
+      }
+    }
+  }
+</script>
+
+<style scoped>
+.my-line{
+  border-bottom: 1px solid #c0c4cc;
+  margin-bottom: 10px;
+}
+</style>

+ 167 - 196
src/views/modules/warehouse/inventory-detail.vue

@@ -1,33 +1,38 @@
 <template>
   <el-dialog
-    :title="!id ? '新增': display ? '查看' : '开始盘点'"
+    title="查看"
     width="70%"
     :close-on-click-modal="false"
     :visible.sync="visible">
-    <el-form :model="dataForm" :rules="dataRule" ref="dataForm" label-width="auto">
-      <el-row class="my-row">
-        <el-col :span="8">
-          <el-form-item label="盘点编码" prop="inventoryCode">
-            <el-input v-model="dataForm.inventoryCode" :disabled="true"></el-input>
-          </el-form-item>
-        </el-col>
-        <el-col :span="8" style="padding-left: 20px">
-          <el-form-item label="盘点员" prop="checkerName">
-            <el-input v-model="dataForm.checkerName" :disabled="true"></el-input>
-          </el-form-item>
-        </el-col>
-        <el-col :span="8" style="padding-left: 20px">
-          <el-form-item label="复核员" prop="dcheckerName">
-            <el-input v-model="dataForm.dcheckerName" :disabled="true"></el-input>
-          </el-form-item>
-        </el-col>
-      </el-row>
-      <el-row class="my-row">
-        <el-form-item label="备注说明">
-            <el-input v-model="dataForm.notes" :disabled="true"></el-input>
-          </el-form-item>
-      </el-row>
-      <el-row>
+    <div style="margin-left: 20px;margin-right: 20px">
+      <!-- 工作流 -->
+      <div v-show="dataForm.workFlowBusinessExt">
+        <el-steps :active="dataForm.workFlowBusinessExt?dataForm.workFlowBusinessExt.workFlowProcessStepList.length + 2:0" align-center style="margin-bottom: 20px">
+          <template v-for="(item, i) in stepList">
+            <el-step :icon="item.icon" :title="item.title" :description="item.description"></el-step>
+          </template>
+        </el-steps>
+        <el-collapse style="margin-bottom: 20px">
+          <el-collapse-item>
+            <template slot="title">
+              <span style="color: red">审批日志(展开查看更多):</span>
+            </template>
+            <template v-for="(item, i) in logList">
+              <div>{{++i}}:{{item.approverName}}  {{item.createTime}}  {{item.approvalValue}}</div>
+            </template>
+          </el-collapse-item>
+        </el-collapse>
+      </div>
+      <div v-show="isFlow">
+        <approve-component ref="approve" @approveFinished="approveFinished"/>
+      </div>
+      <e-desc title="基本信息" column="3">
+        <e-desc-item label="盘点编码">{{dataForm.inventoryCode}}</e-desc-item>
+        <e-desc-item label="盘点员">{{dataForm.checkerName}}</e-desc-item>
+        <e-desc-item label="复核员">{{dataForm.dcheckerName}}</e-desc-item>
+        <e-desc-item label="备注说明" span="3">{{dataForm.notes}}</e-desc-item>
+      </e-desc>
+      <el-row style="margin-top: 20px">
         <el-form :inline="true" :model="dataForm1" @keyup.enter.native="queryData()">
           <el-form-item label="仓库名称" prop="warehouseId">
             <el-select
@@ -63,122 +68,119 @@
             <el-button @click="queryData()">查询</el-button>
           </el-form-item>
         </el-form>
+        <el-table
+          :data="dataList"
+          border
+          v-loading="dataListLoading"
+          @selection-change="selectionChangeHandle"
+          style="width: 100%;">
+          <el-table-column
+            label="序号"
+            type="index"
+            width="50"
+            align="center">
+          </el-table-column>
+          <el-table-column
+            prop="warehouseName"
+            header-align="center"
+            align="center"
+            label="仓库名称">
+          </el-table-column>
+          <el-table-column
+            prop="materialName"
+            header-align="center"
+            align="center"
+            min-width="160"
+            label="物品名称">
+          </el-table-column>
+          <el-table-column
+            prop="specifications"
+            header-align="center"
+            align="center"
+            min-width="160"
+            label="规格">
+          </el-table-column>
+          <el-table-column
+            prop="unitName"
+            header-align="center"
+            align="center"
+            label="单位">
+          </el-table-column>
+          <el-table-column
+            prop="cnt"
+            header-align="center"
+            align="center"
+            label="仓库库存数量">
+          </el-table-column>
+          <el-table-column
+            prop="inventoryCnt"
+            header-align="center"
+            align="center"
+            label="数量">
+          </el-table-column>
+          <el-table-column
+            prop="inventoryState"
+            header-align="center"
+            align="center"
+            :formatter="formatState"
+            label="盘库状态">
+          </el-table-column>
+          <el-table-column
+            prop="materialState"
+            header-align="center"
+            align="center"
+            :formatter="formatMs"
+            label="物品状态">
+          </el-table-column>
+        </el-table>
+        <el-pagination
+          @size-change="sizeChangeHandle"
+          @current-change="currentChangeHandle"
+          :current-page="pageIndex"
+          :page-sizes="[10, 20, 50, 100]"
+          :page-size="pageSize"
+          :total="totalPage"
+          layout="total, sizes, prev, pager, next, jumper">
+        </el-pagination>
       </el-row>
-      <el-table
-        :data="dataList"
-        border
-        v-loading="dataListLoading"
-        @selection-change="selectionChangeHandle"
-        style="width: 100%;">
-        <el-table-column
-          label="序号"
-          type="index"
-          width="50"
-          align="center">
-        </el-table-column>
-        <el-table-column
-          prop="warehouseName"
-          header-align="center"
-          align="center"
-          label="仓库名称">
-        </el-table-column>
-        <el-table-column
-          prop="materialName"
-          header-align="center"
-          align="center"
-          min-width="160"
-          label="物品名称">
-        </el-table-column>
-        <el-table-column
-          prop="specifications"
-          header-align="center"
-          align="center"
-          min-width="160"
-          label="规格">
-        </el-table-column>
-        <el-table-column
-          prop="unitName"
-          header-align="center"
-          align="center"
-          label="单位">
-        </el-table-column>
-        <el-table-column
-          prop="cnt"
-          header-align="center"
-          align="center"
-          label="仓库库存数量">
-        </el-table-column>
-        <el-table-column
-          prop="inventoryCnt"
-          header-align="center"
-          align="center"
-          min-width="160"
-          label="请选择数量">
-          <template slot-scope="scope">
-            <el-input-number v-model="scope.row.inventoryCnt" :disabled="display" :step="1" :min="1" style="width: 140px;"/>
-          </template>
-        </el-table-column>
-        <el-table-column
-          prop="inventoryState"
-          header-align="center"
-          align="center"
-          :formatter="formatState"
-          label="盘库状态">
-        </el-table-column>
-        <el-table-column
-          prop="materialState"
-          header-align="center"
-          align="center"
-          :formatter="formatMs"
-          label="物品状态">
-        </el-table-column>
-        <el-table-column
-          fixed="right"
-          header-align="center"
-          align="center"
-          width="150"
-          label="操作"
-          v-if="!display">
-          <template slot-scope="scope">
-            <el-button v-if="isAuth('wh:inventory:complete')" type="text" size="small" @click="finish(scope.row)">完成</el-button>
-            <el-button v-if="isAuth('wh:inventory:start')" type="text" size="small" @click="begin(scope.row)">开始盘点</el-button>
-          </template>
-        </el-table-column>
-      </el-table>
-      <el-pagination
-        @size-change="sizeChangeHandle"
-        @current-change="currentChangeHandle"
-        :current-page="pageIndex"
-        :page-sizes="[10, 20, 50, 100]"
-        :page-size="pageSize"
-        :total="totalPage"
-        layout="total, sizes, prev, pager, next, jumper">
-      </el-pagination>
-    </el-form>
+    </div>
+    <span slot="footer" class="dialog-footer">
+      <el-button @click="visible = false">返回</el-button>
+    </span>
   </el-dialog>
 </template>
 
 <script>
-  import {getInventoryDetail, getWarehouseList, getShelveList, beginInventory, finishInventory} from '@/api/warehouse'
+  import EDesc from '../common/e-desc'
+  import EDescItem from '../common/e-desc-item'
+  import uploadComponent from '../common/upload-component'
+  import { dealStepData, dealStepLogs } from '@/api/util'
+  import ApproveComponent from '../common/approve-component'
+  import {getInventoryDetail, getWarehouseList, getShelveList} from '@/api/warehouse'
   export default {
     name: 'inventory-detail',
+    components: {
+      EDesc, EDescItem, uploadComponent, ApproveComponent
+    },
     data () {
       return {
         visible: false,
-        display: false,
+        isFlow: false,
+        id: 0,
+        dataForm: {},
+        dataForm1: {},
         dataList: [],
         optionsWh: [],
         optionsShelve: [],
-        id: 0,
+        fileList: [],
+        fileList1: [],
+        stepList: [],
+        logList: [],
         pageIndex: 1,
         pageSize: 10,
         totalPage: 0,
         dataListLoading: false,
         dataListSelections: [],
-        dataForm: {},
-        dataForm1: {},
-        dataRule: {
-        },
         optionsMs: [
           {
             code: '0',
@@ -206,12 +208,17 @@
       }
     },
     methods: {
-      init (id, display) {
+      async init (id, businessType) {
         this.visible = true
+        this.isFlow = !!(businessType && businessType !== '')
         this.id = id || 0
-        this.display = display
         this.dataForm = {}
+        this.fileList = []
+        this.fileList1 = []
+        this.stepList = []
+        this.logList = []
         this.dataForm1 = {}
+        this.getDetails(businessType)
         // 获取详情
         this.queryData()
       },
@@ -263,53 +270,6 @@
       selectionChangeHandle (val) {
         this.dataListSelections = val
       },
-      // 表单提交
-      dataFormSubmit () {
-        this.$refs['dataForm'].validate((valid) => {
-          if (valid) {
-            this.$http({
-              url: this.$http.adornUrl(`/biz-service/in-out-bound-ctl/inbound`),
-              method: 'post',
-              data: this.$http.adornData({
-                'amount': this.dataForm.amount,
-                'applicant': this.dataForm.applicant,
-                'approver': this.dataForm.approver,
-                'batchNumber': this.dataForm.batchNumber,
-                'cnt': this.dataForm.cnt,
-                'materialId': this.dataForm.materialId,
-                'materialName': this.dataForm.materialName,
-                'notes': this.dataForm.notes,
-                'price': this.dataForm.price,
-                'orgId': this.dataForm.orgId,
-                'recordType': this.dataForm.recordType,
-                'source': this.dataForm.source,
-                'state': this.dataForm.state,
-                'templateItemPlanId': this.dataForm.templateItemPlanId,
-                'usage': this.dataForm.usage,
-                'userId': this.dataForm.userId,
-                'creatorId': this.$store.state.user.id
-              })
-            }).then(({data}) => {
-              if (data && data.code === '200') {
-                this.$message({
-                  message: '操作成功',
-                  type: 'success',
-                  duration: 1500,
-                  onClose: () => {
-                    this.visible = false
-                    this.$emit('refreshDataList')
-                  }
-                })
-              } else {
-                this.$message.error(data.msg)
-              }
-            })
-          }
-        })
-      },
-      validateField (type) {
-        this.$refs.dataForm.validateField(type)
-      },
       // 仓库列表
       async remoteWarehouse (query) {
         let warehouseName = query || null
@@ -342,36 +302,39 @@
           }
         })
       },
-      // 完成盘点
-      async finish (row) {
-        let params = {
-          'recordId': this.id,
-          'cnt': row.inventoryCnt,
-          'materialId': row.materialId,
-          'inventoryState': row.inventoryState
-        }
-        await finishInventory(params).then(({data}) => {
+      getDetails (businessType) {
+        getInventoryDetail(this.id).then(({data}) => {
           if (data && data.code === '200') {
-            this.$message.success('成功')
+            this.dataList = data.data.records
+            this.totalPage = Number(data.data.total)
+            if (this.dataList.length > 0) {
+              let item = this.dataList[0]
+              this.dataForm.inventoryCode = item.inventoryCode
+              this.dataForm.checkerName = item.checkerName
+              this.dataForm.dcheckerName = item.dcheckerName
+              this.dataForm.notes = item.notes
+            }
+            // 流程图展示
+            if (data.data.workFlowBusinessExt) {
+              dealStepData(data.data.workFlowBusinessExt.workFlowProcessStepList, this.stepList)
+              dealStepLogs(data.data.workFlowBusinessExt.processLogList, this.logList)
+            }
+            // 初始化审批Form
+            this.showApproveForm(businessType, this.id)
           } else {
-            this.$message.error(data.msg)
+            this.dataList = []
+            this.totalPage = 0
           }
+          this.dataListLoading = false
         })
       },
-      // 开始盘点
-      async begin (row) {
-        let params = {
-          'materialId': row.materialId,
-          'recordId': this.id
+      // 初始化审批Form
+      showApproveForm (businessType, businessId) {
+        if (this.isFlow) {
+          this.$nextTick(() => {
+            this.$refs.approve.init(businessType, businessId)
+          })
         }
-        await beginInventory(params).then(({data}) => {
-          if (data && data.code === '200') {
-            this.getDataList()
-            this.$message.success('成功')
-          } else {
-            this.$message.error(data.msg)
-          }
-        })
       },
       // 物品状态转换
       formatMs (row) {
@@ -388,6 +351,11 @@
             return this.optionsState[i].value
           }
         }
+      },
+      // 审批完成
+      approveFinished () {
+        this.visible = false
+        this.$emit('approveFinished')
       }
     }
   }
@@ -398,4 +366,7 @@
   border-bottom: 1px solid #c0c4cc;
   margin-bottom: 10px;
 }
+.title{
+  padding: 10px 0 ;
+}
 </style>

+ 13 - 4
src/views/modules/warehouse/inventory.vue

@@ -85,7 +85,7 @@
         width="150"
         label="操作">
         <template slot-scope="scope">
-          <el-button v-if="isAuth('wh:inventory:info') && scope.row.state === '1'" type="text" size="small" @click="addOrUpdateHandle(scope.row.inventoryId, true)">查看</el-button>
+          <el-button v-if="isAuth('wh:inventory:info') && scope.row.state === '1'" type="text" size="small" @click="detailHandle(scope.row.inventoryId)">查看</el-button>
           <el-button v-if="isAuth('wh:inventory:start') && scope.row.state === '0'" type="text" size="small" @click="addOrUpdateHandle(scope.row.inventoryId, false)">开始盘点</el-button>
         </template>
       </el-table-column>
@@ -101,21 +101,24 @@
     </el-pagination>
     <!--    入库-->
     <inventory-add v-if="inventoryAddVisible" ref="inventoryAdd" @refreshDataList="getDataList"></inventory-add>
-    <inventory-detail v-if="inventoryDetailVisible" ref="inventoryDetail" @refreshDataList="getDataList"></inventory-detail>
+    <inventory-begin v-if="inventoryDetailVisible" ref="inventoryDetail" @refreshDataList="getDataList"></inventory-begin>
+    <detail v-if="detailVisible" ref="detail"/>
   </div>
 </template>
 
 <script>
   import inventoryAdd from './inventory-add'
-  import inventoryDetail from './inventory-detail'
+  import inventoryBegin from './inventory-begin'
+  import Detail from './inventory-detail'
   import {getInventoryList} from '@/api/warehouse'
   export default {
     name: 'stock-order',
-    components: {inventoryAdd, inventoryDetail},
+    components: {inventoryAdd, inventoryBegin, Detail},
     data () {
       return {
         inventoryAddVisible: false,
         inventoryDetailVisible: false,
+        detailVisible: false,
         dataForm: {},
         dataList: [],
         pageIndex: 1,
@@ -199,6 +202,12 @@
         if (!row.state) return ''
         const item1 = this.optionsState.find((item) => item.code === row.state.toString())
         return item1 ? item1.value : ''
+      },
+      detailHandle (id) {
+        this.detailVisible = true
+        this.$nextTick(() => {
+          this.$refs.detail.init(id)
+        })
       }
     }
   }