From b6a27b9ca71d636a1598751f8114c36a5d7007fe Mon Sep 17 00:00:00 2001
From: 马宇豪 <978517621@qq.com>
Date: 星期一, 15 四月 2024 16:52:36 +0800
Subject: [PATCH] 修改

---
 src/views/warehouse/components/addStock.vue |   91 ++++++++++++++++++++++++++++++++++-----------
 1 files changed, 69 insertions(+), 22 deletions(-)

diff --git a/src/views/warehouse/components/addStock.vue b/src/views/warehouse/components/addStock.vue
index b07eca3..506cfe3 100644
--- a/src/views/warehouse/components/addStock.vue
+++ b/src/views/warehouse/components/addStock.vue
@@ -10,7 +10,7 @@
                 <el-row :gutter="20">
                     <el-col :span="12">
                         <el-form-item label="库区名称:" prop="reserveName" >
-                            <el-input v-model.trim="dataForm.reserveName"/>
+                            <el-input v-model.trim="dataForm.reserveName" :readonly="isDisabled"/>
                         </el-form-item>
                     </el-col>
                     <el-col :span="12">
@@ -22,7 +22,7 @@
                 <el-row :gutter="20">
                     <el-col :span="10">
                         <el-form-item label="所属省份:" prop="province">
-                            <el-select v-model="dataForm.province" clearable @change="changeArea('province')" style="width: 100%;">
+                            <el-select v-model="dataForm.province" clearable @change="changeArea('province')" style="width: 100%;" :disabled="isDisabled">
                                 <el-option
                                     v-for="item in provinceList"
                                     :key="item.id"
@@ -35,7 +35,7 @@
                     </el-col>
                     <el-col :span="6">
                         <el-form-item prop="city" class="selector">
-                            <el-select v-model="dataForm.city" prop="city" clearable @change="changeArea('city')" style="width: 100%;">
+                            <el-select v-model="dataForm.city" prop="city" clearable @change="changeArea('city')" style="width: 100%;" :disabled="isDisabled">
                                 <el-option
                                     v-for="item in cityList"
                                     :key="item.id"
@@ -48,7 +48,7 @@
                     </el-col>
                     <el-col :span="6">
                         <el-form-item prop="area" class="selector">
-                            <el-select v-model="dataForm.area" clearable filterable @change="changeArea('district')" style="width: 100%;">
+                            <el-select v-model="dataForm.area" clearable filterable @change="changeArea('district')" style="width: 100%;" :disabled="isDisabled">
                                 <el-option
                                     v-for="item in districtList"
                                     :key="item.id"
@@ -63,31 +63,31 @@
                 <el-row>
                     <el-col :span="22">
                         <el-form-item label="库区地址:" prop="reserveAddress" >
-                            <el-input v-model.trim="dataForm.reserveAddress"/>
+                            <el-input v-model.trim="dataForm.reserveAddress" :readonly="isDisabled"/>
                         </el-form-item>
                     </el-col>
                 </el-row>
                 <el-row :gutter="20">
                     <el-col :span="11">
                         <el-form-item label="库区总面积:" prop="square" class="numInput">
-                            <el-input type="number" v-model.number="dataForm.square"><template slot="append">㎡</template></el-input>
+                            <el-input type="number" v-model.number="dataForm.square" :readonly="isDisabled"><template slot="append">㎡</template></el-input>
                         </el-form-item>
                     </el-col>
                     <el-col :span="11">
                         <el-form-item label="有效仓储面积:" prop="effectiveStorageSquare" class="numInput">
-                            <el-input type="number" v-model.number="dataForm.effectiveStorageSquare"><template slot="append">㎡</template></el-input>
+                            <el-input type="number" v-model.number="dataForm.effectiveStorageSquare" :readonly="isDisabled"><template slot="append">㎡</template></el-input>
                         </el-form-item>
                     </el-col>
                 </el-row>
                 <el-row :gutter="20">
                     <el-col :span="11">
                         <el-form-item label="核定储量:" prop="approvedReserves" class="numInput">
-                            <el-input type="number" v-model.number="dataForm.approvedReserves"><template slot="append">箱</template></el-input>
+                            <el-input type="number" v-model.number="dataForm.approvedReserves" :readonly="isDisabled"><template slot="append">箱</template></el-input>
                         </el-form-item>
                     </el-col>
                     <el-col :span="11">
                         <el-form-item label="核药量:" prop="nuclearDose" class="numInput">
-                            <el-input type="number" v-model.number="dataForm.nuclearDose"><template slot="append">kg</template></el-input>
+                            <el-input type="number" v-model.number="dataForm.nuclearDose" :readonly="isDisabled"><template slot="append">kg</template></el-input>
                         </el-form-item>
                     </el-col>
                 </el-row>
@@ -104,41 +104,41 @@
                 <td>核定储量(箱)</td>
                 <td>等级</td>
                 <td>核药量</td>
-                <td>操作</td>
+                <td v-if="isDisabled == false">操作</td>
             </tr>
             <tr v-for="(item,index) in dataForm.storehouseInfos" :key="index">
                 <td class="w-12">
                     {{ index + 1 }}
                 </td>
                 <td class="w-20">
-                    <el-input v-model="item.storehouseName"></el-input>
+                    <el-input v-model="item.storehouseName" :readonly="isDisabled"></el-input>
                 </td>
                 <td>
-                    <el-input type="number" v-model.number="item.square"><template slot="append">㎡</template></el-input>
+                    <el-input type="number" v-model.number="item.square" :readonly="isDisabled"><template slot="append">㎡</template></el-input>
                 </td>
                 <td>
-                    <el-input type="number" v-model.number="item.effectiveStorageSquare"><template slot="append">㎡</template></el-input>
+                    <el-input type="number" v-model.number="item.effectiveStorageSquare" :readonly="isDisabled"><template slot="append">㎡</template></el-input>
                 </td>
                 <td>
-                    <el-input type="number" v-model.number="item.approvedReserves"><template slot="append">箱</template></el-input>
+                    <el-input type="number" v-model.number="item.approvedReserves" :readonly="isDisabled"><template slot="append">箱</template></el-input>
                 </td>
                 <td>
-                    <el-select v-model="item.storehouseLevel" clearable filterable>
+                    <el-select v-model="item.storehouseLevel" clearable filterable :disabled="isDisabled">
                         <el-option label="1.1" :value="1.1"></el-option>
                         <el-option label="1.3" :value="1.3"></el-option>
                     </el-select>
                 </td>
                 <td>
-                    <el-input type="number" v-model.number="item.nuclearDose"><template slot="append">kg</template></el-input>
+                    <el-input type="number" v-model.number="item.nuclearDose" :readonly="isDisabled"><template slot="append">kg</template></el-input>
                 </td>
-                <td>
+                <td v-if="isDisabled == false">
                     <el-button type="danger" @click="delItem(item,index)">删除</el-button>
                 </td>
             </tr>
-            <el-button type="primary" style="margin-top: 20px" @click="addItem()">新增仓库</el-button>
+            <el-button type="primary" style="margin-top: 20px" @click="addItem()" v-if="isDisabled == false">新增仓库</el-button>
         </el-form>
         <br>
-        <span slot="footer" class="dialog-footer">
+        <span slot="footer" class="dialog-footer" v-if="isDisabled == false">
             <el-button @click="dialogVisible = false">取 消</el-button>
             <el-button type="primary" @click="handleSubmit">保 存</el-button>
         </span>
@@ -148,8 +148,9 @@
 <script>
     import {mapGetters} from "vuex";
     import {getCityListData, getProvinceListData} from "../../../api/area";
-    import {saveReserveInfo, getInfoById, editReserveInfo} from '../../../api/warehouse'
+    import {saveReserveInfo, getInfoById, editReserveInfo, delStore} from '../../../api/warehouse'
     import Cookies from 'js-cookie'
+    import {MessageBox} from "_element-ui@2.14.1@element-ui";
     export default {
         name: "addStock",
         data() {
@@ -186,6 +187,7 @@
                     approvedReserves:[{ required: true, message: '请填写库区核定储量', trigger: 'blur' }],
                     nuclearDose:[{ required: true, message: '请填写库区核药量', trigger: 'blur' }]
                 },
+                isDisabled: false
             }
         },
         created() {
@@ -203,7 +205,8 @@
                 if(type == 'add'){
                     this.dataForm.company = Cookies.get('company')
                     this.dialogTitle = '新增库区'
-                }else{
+                    this.isDisabled = false
+                }else if(type == 'edit'){
                     this.dialogTitle = '编辑库区'
                     getInfoById({id: data.topId}).then((res)=>{
                         if(res.data.code == 200){
@@ -224,6 +227,29 @@
                     }).catch((res)=>{
                         this.$message.warning(res.data.message)
                     })
+                    this.isDisabled = false
+                }else{
+                    this.dialogTitle = '查看库区'
+                    getInfoById({id: data.topId}).then((res)=>{
+                        if(res.data.code == 200){
+                            if(res.data.result){
+                                for(let i in this.dataForm){
+                                    if(this.isKey(i,res.data.result)){
+                                        this.dataForm[i] = res.data.result[i]
+                                    }
+                                }
+                            }
+                            this.dataForm['storehouseInfos'] = res.data.result.storehouseInfo.map((i)=>{
+                                const{reserveId,...data} = i
+                                return data
+                            })
+                            this.dataForm['company'] = data.enterpriseName
+                            this.dataForm['enterpriseId'] = res.data.result.enterpriseId
+                        }
+                    }).catch((res)=>{
+                        this.$message.warning(res.data.message)
+                    })
+                    this.isDisabled = true
                 }
                 this.dialogVisible = true
             },
@@ -232,7 +258,27 @@
             },
 
             delItem(item,index){
-                this.dataForm.storehouseInfos.splice(index,1);
+                MessageBox.confirm('确定删除信息', '确定删除', {
+                    confirmButtonText: '确定',
+                    cancelButtonText: '取消',
+                    type: 'warning'
+                }).then(async () => {
+                    const res = await delStore({id: item.id})
+                    if(res.data.code == 200){
+                        this.$message({
+                            type:'success',
+                            message: '删除成功'
+                        })
+                        this.dataForm.storehouseInfos.splice(index,1);
+                    }else{
+                        this.$message({
+                            type:'warning',
+                            message: res.data.message
+                        })
+                    }
+                }).catch(() => {
+                    console.log('已取消删除')
+                })
             },
             addItem(){
               const obj = {
@@ -316,6 +362,7 @@
             reset(){
                 this.$refs.dataForm.resetFields()
                 this.$refs.dataForm.clearValidate()
+                this.$emit('refresh')
             }
         }
     }

--
Gitblit v1.9.2