浏览代码

出入库申请

chris 3 年之前
父节点
当前提交
0a95c2d89a
共有 3 个文件被更改,包括 76 次插入41 次删除
  1. 8 0
      src/api/warehouse.js
  2. 64 37
      src/views/modules/warehouse/stock-order-inbound.vue
  3. 4 4
      src/views/modules/warehouse/stock-order.vue

+ 8 - 0
src/api/warehouse.js

@@ -58,3 +58,11 @@ export function outboundBatch (data) {
     data
   })
 }
+
+// 出入库详情
+export function getBoundDetails (id) {
+  return request({
+    url: request.adornUrl(`/biz-service/in-out-bound-ctl/info/${id}`),
+    method: 'get'
+  })
+}

+ 64 - 37
src/views/modules/warehouse/stock-order-inbound.vue

@@ -1,6 +1,6 @@
 <template>
   <el-dialog
-    title="入库申请"
+    :title="!display ? '入库申请':'详情'"
     width="80%"
     :close-on-click-modal="false"
     :visible.sync="visible">
@@ -13,7 +13,8 @@
         </el-col>
         <el-col :span="8" style="padding-left: 20px">
           <el-form-item label="入库申请人" prop="userId">
-            <user-component v-model="dataForm.userId" @userSelected="userChanged"></user-component>
+            <el-input v-if="display" v-model="dataForm.applicant" :disabled="true"/>
+            <user-component v-else v-model="dataForm.userId" @userSelected="userChanged"></user-component>
           </el-form-item>
         </el-col>
         <el-col :span="8" style="padding-left: 20px">
@@ -27,7 +28,8 @@
           <el-row class="my-row">
             <el-col :span="8">
               <el-form-item label="名称" prop="materialName">
-                <el-select v-model="item.materialId"
+                <el-input v-if="display" v-model="item.materialName" :disabled="true"/>
+                <el-select v-else v-model="item.materialId"
                            remote
                            filterable
                            :remote-method="remoteMaterial"
@@ -48,7 +50,7 @@
               </el-form-item>
             </el-col>
             <el-col :span="8" style="text-align: right;">
-              <el-button @click="removeOne(index)" type="danger" icon="el-icon-delete" circle style="padding: 6px"></el-button>
+              <el-button v-if="!display" @click="removeOne(index)" type="danger" icon="el-icon-delete" circle style="padding: 6px"></el-button>
             </el-col>
           </el-row>
           <el-row class="my-row">
@@ -64,19 +66,19 @@
             </el-col>
             <el-col :span="8" style="padding-left: 20px">
               <el-form-item label="批次号" prop="batchNumber">
-                <el-input v-model="item.batchNumber" placeholder="请填写入库物品(零件)批次"></el-input>
+                <el-input v-model="item.batchNumber" :disabled="display" placeholder="请填写入库物品(零件)批次"></el-input>
               </el-form-item>
             </el-col>
           </el-row>
           <el-row class="my-row">
             <el-col :span="8">
               <el-form-item label="单价" prop="price">
-                <el-input-number v-model="item.price" :precision="2" :min="0.00" :step="0.1"></el-input-number>
+                <el-input-number v-model="item.price" :disabled="display" :precision="2" :min="0.00" :step="0.1"></el-input-number>
               </el-form-item>
             </el-col>
             <el-col :span="8" style="padding-left: 20px">
               <el-form-item label="数量" prop="cnt">
-                <el-input-number v-model="item.cnt" :min="0"></el-input-number>
+                <el-input-number v-model="item.cnt" :disabled="display" :min="0"></el-input-number>
               </el-form-item>
             </el-col>
             <el-col :span="8" style="padding-left: 20px">
@@ -88,12 +90,13 @@
           <el-row class="my-row">
             <el-col :span="8">
               <el-form-item label="来源" prop="source">
-                <el-input v-model="item.source" placeholder="来源"></el-input>
+                <el-input v-model="item.source" :disabled="display" placeholder="来源"></el-input>
               </el-form-item>
             </el-col>
             <el-col :span="8" style="padding-left: 20px">
               <el-form-item label="是否换算" prop="unitNeedChange">
-                <el-select v-model="item.unitNeedChange"
+                <el-input v-if="display" v-model="item.unitNeedChange" :disabled="true"></el-input>
+                <el-select v-else v-model="item.unitNeedChange"
                            placeholder="请选择">
                   <el-option
                     v-for="item in optionsConversion"
@@ -107,16 +110,16 @@
           </el-row>
           <el-row>
             <el-form-item label="备注" prop="notes">
-              <el-input v-model="item.notes" placeholder="备注"></el-input>
+              <el-input v-model="item.notes" :disabled="display" placeholder="备注"></el-input>
             </el-form-item>
           </el-row>
         </div>
       </template>
       <el-row style="text-align: center;">
-        <el-button type="primary" icon="el-icon-plus" @click="addOne"></el-button>
+        <el-button v-if="!display" type="primary" icon="el-icon-plus" @click="addOne"></el-button>
       </el-row>
     </el-form>
-    <span slot="footer" class="dialog-footer">
+    <span v-if="!display" slot="footer" class="dialog-footer">
       <el-button @click="visible = false">取消</el-button>
       <el-button type="primary" @click="dataFormSubmit()">确定</el-button>
     </span>
@@ -127,7 +130,7 @@
   import UserComponent from '../common/user-component'
   import DictSelect from '../sys/dict-select'
   import { getUserInfo } from '@/api/user'
-  import { getMaterialList, getConversionList, inboundBatch } from '@/api/warehouse'
+  import { getMaterialList, getConversionList, inboundBatch, getBoundDetails } from '@/api/warehouse'
   export default {
     name: 'stock-order-inbound',
     components: {DictSelect, UserComponent},
@@ -139,6 +142,8 @@
     data () {
       return {
         visible: false,
+        display: false,
+        id: 0,
         dataForm: {},
         dataList: [],
         dataRule: {
@@ -148,35 +153,57 @@
       }
     },
     methods: {
-      init () {
+      async init (id, display) {
+        this.display = display
+        this.id = id || 0
         this.visible = true
         this.dataForm = {}
         this.dataList = []
-        this.addOne()
+        if (!display) {
+          this.addOne()
+        } else {
+          // 获取详情
+          await getBoundDetails(id).then(({data}) => {
+            if (data && data.code === '200') {
+              console.log('data = ' + JSON.stringify(data.data))
+              if (data.data[0]) {
+                this.dataForm = {
+                  recordCode: data.data[0].recordCode,
+                  applicant: data.data[0].applicant
+                }
+              }
+              data.data.forEach((item) => {
+                this.addOne(item)
+              })
+            }
+          })
+        }
       },
-      addOne () {
+      addOne (item) {
         this.dataList.push({
-          id: '',
-          code: '',
-          amount: 0,
-          applicant: '',
-          approver: '',
-          batchNumber: '',
-          cnt: '',
-          categoryName: '',
-          materialId: '',
-          materialName: '',
-          notes: '',
-          orgId: '',
-          price: '',
-          recordType: '',
-          source: '',
-          state: 0,
-          templateItemPlanId: '',
-          usage: '',
-          userId: '',
-          orgName: '',
-          unitNeedChange: ''
+          id: item ? item.id : '',
+          // code: item ? item.id : '',
+          amount: item ? item.amount : 0,
+          applicant: item ? item.applicant : '',
+          approver: item ? item.approver : '',
+          unitName: item ? item.unitName : '',
+          specifications: item ? item.specifications : '',
+          batchNumber: item ? item.batchNumber : '',
+          cnt: item ? item.cnt : '',
+          categoryName: item ? item.categoryName : '',
+          materialId: item ? item.materialId : '',
+          materialName: item ? item.materialName : '',
+          notes: item ? item.notes : '',
+          orgId: item ? item.orgId : '',
+          price: item ? item.price : '',
+          recordType: item ? item.recordType : '',
+          source: item ? item.source : '',
+          state: item ? item.state : 0,
+          templateItemPlanId: item ? item.templateItemPlanId : '',
+          usage: item ? item.usage : '',
+          userId: item ? item.userId : '',
+          orgName: item ? item.orgName : '',
+          unitNeedChange: item ? item.unitNeedChange : ''
         })
       },
       removeOne (index) {

+ 4 - 4
src/views/modules/warehouse/stock-order.vue

@@ -32,7 +32,7 @@
         <el-button @click="queryData()">查询</el-button>
       </el-form-item>
       <el-form-item>
-        <el-button v-if="isAuth('wh:in-out-bound-ctl:inbound')" type="primary" @click="inBound()">入库申请</el-button>
+        <el-button v-if="isAuth('wh:in-out-bound-ctl:inbound')" type="primary" @click="inBound(0, false)">入库申请</el-button>
         <el-button v-if="isAuth('wh:in-out-bound-ctl:outbound')" type="primary" @click="outBound()">出库申请</el-button>
         <el-button v-if="isAuth('wh:in-out-bound-ctl:outbound')" type="primary" @click="outBound()">模板出库</el-button>
       </el-form-item>
@@ -109,7 +109,7 @@
         width="150"
         label="操作">
         <template slot-scope="scope">
-          <el-button v-if="isAuth('wh:inbound-record-ctl:info')" type="text" size="small" @click="details(scope.row.id)">查看</el-button>
+          <el-button v-if="isAuth('wh:inbound-record-ctl:info')" type="text" size="small" @click="inBound(scope.row.id, true)">查看</el-button>
           <el-button type="text" size="small" @click="exportItem(scope.row.id)">导出</el-button>
           <el-button type="text" size="small" @click="cancelItem(scope.row.id)">撤回</el-button>
         </template>
@@ -237,10 +237,10 @@
         this.dataListSelections = val
       },
       // 入库申请
-      inBound () {
+      inBound (id, display) {
         this.inboundVisible = true
         this.$nextTick(() => {
-          this.$refs.inbound.init()
+          this.$refs.inbound.init(id, display)
         })
       },
       outBound () {