From bdea6f89251e2e11a92d38e41a64edf53b2cb95d Mon Sep 17 00:00:00 2001
From: 石广澎 <shiguangpeng@163.com>
Date: 星期三, 29 十一月 2023 16:22:25 +0800
Subject: [PATCH] feat: 1、物品分发使用人修改,使用记录

---
 admin-web/src/views/departmentitem/itemdis/disDetails/edit.vue |  249 +++++++++++++++++++++++++------------------------
 1 files changed, 126 insertions(+), 123 deletions(-)

diff --git a/admin-web/src/views/departmentitem/itemdis/disDetails/edit.vue b/admin-web/src/views/departmentitem/itemdis/disDetails/edit.vue
index 43846f4..8314d8e 100644
--- a/admin-web/src/views/departmentitem/itemdis/disDetails/edit.vue
+++ b/admin-web/src/views/departmentitem/itemdis/disDetails/edit.vue
@@ -1,20 +1,20 @@
 <template>
   <el-dialog
-    width="1000px"
-    :visible="true"
-    :top="'15vh'"
-    :close-on-click-modal="false"
-    :append-to-body="true"
-    :destroy-on-close="true"
-    @close="close"
+      width="1000px"
+      :visible="true"
+      :top="'15vh'"
+      :close-on-click-modal="false"
+      :append-to-body="true"
+      :destroy-on-close="true"
+      @close="close"
   >
     <div slot="title" align="left" class="dialog-title">
       <div
-        class="tab-item"
-        :class="tabIndex == index ? 'active' : ''"
-        v-for="(item, index) in tabs"
-        :key="index"
-        @click="tabIndex = index"
+          class="tab-item"
+          :class="tabIndex == index ? 'active' : ''"
+          v-for="(item, index) in tabs"
+          :key="index"
+          @click="tabIndex = index"
       >
         {{ item }}
       </div>
@@ -24,7 +24,7 @@
         <el-row :gutter="20">
           <el-col :span="6">
             <el-form-item label="瑙勬牸鍨嬪彿:">
-              {{ item.modelName }}
+              {{ item.baseGoodModelName }}
             </el-form-item>
           </el-col>
           <el-col :span="6">
@@ -33,7 +33,7 @@
             </el-form-item>
           </el-col>
         </el-row>
-        <el-row :gutter="20" v-for="(childItem, childIndex) in item.list" :key="childIndex">
+        <el-row :gutter="20" v-for="(childItem, childIndex) in item.recordUserInfos" :key="childIndex">
           <el-col :span="6">
             <el-form-item label="鍒嗗彂鏁伴噺:">
               {{ childItem.count }}
@@ -41,7 +41,8 @@
           </el-col>
           <el-col :span="6">
             <el-form-item label="浣跨敤浜�:">
-              {{ childItem.user }}
+              <el-input v-if="childItem.isEdit" v-model="childItem.userName" style="width: 120px"></el-input>
+              <span v-else>{{ childItem.userName }}</span>
             </el-form-item>
           </el-col>
           <el-col :span="6">
@@ -50,72 +51,77 @@
               <span v-else>{{ childItem.phone }}</span>
             </el-form-item>
           </el-col>
-          <el-col :span="6" v-if="!childItem.isEdit">
+          <el-col :span="6">
             <el-form-item>
-              <span class="edit-text" @click="handleEditItem(index, childIndex, childItem.isEdit)">淇敼</span>
+              <span class="edit-text" @click="handleEditItem(childItem)">{{childItem.isEdit?'鍙栨秷':'淇敼'}}</span>
             </el-form-item>
           </el-col>
         </el-row>
+
+        <el-divider v-if="index+1<formData.list.length"></el-divider>
       </div>
     </el-form>
 
     <el-form
-      v-show="tabIndex == 1"
-      ref="ruleForm"
-      :model="formData"
-      :rules="rules"
-      class="demo-ruleForm"
-      style="width: 96%"
+        v-show="tabIndex == 1"
+        ref="ruleForm"
+        :model="formData"
+        :rules="rules"
+        class="demo-ruleForm"
+        style="width: 96%"
     >
-      <div v-for="(item, index) in formData.list" :key="index">
+      <div v-for="(item, index) in list" :key="index">
         <el-row :gutter="20" class="item-header">
           <el-col :span="6">
             <el-form-item label="淇敼鏃堕棿:">
-              {{ item.time }}
+              {{ item.updateTime }}
             </el-form-item>
           </el-col>
           <el-col :span="6">
             <el-form-item label="淇敼浜�:">
-              {{ item.userName }}
+              {{ item.updateUserName }}
             </el-form-item>
           </el-col>
         </el-row>
-        <div class="line"></div>
-        <el-row :gutter="20">
-          <el-col :span="6">
-            <el-form-item label="瑙勬牸鍨嬪彿:">
-              {{ item.modelName }}
-            </el-form-item>
-          </el-col>
-          <el-col :span="6">
-            <el-form-item label="鍗曚綅:">
-              {{ item.unit }}
-            </el-form-item>
-          </el-col>
-        </el-row>
-        <el-row :gutter="20" v-for="(childItem, childIndex) in item.list" :key="childIndex">
-          <el-col :span="6">
-            <el-form-item label="鍒嗗彂鏁伴噺:">
-              {{ childItem.count }}
-            </el-form-item>
-          </el-col>
-          <el-col :span="6">
-            <el-form-item label="浣跨敤浜�:">
-              {{ childItem.user }}
-            </el-form-item>
-          </el-col>
-          <el-col :span="6">
-            <el-form-item label="鑱旂郴鐢佃瘽:">
-              <span>{{ childItem.phone }}</span>
-            </el-form-item>
-          </el-col>
-        </el-row>
-        <div class="line"></div>
+        <el-divider></el-divider>
+        <template v-for="(record,i) in item.recordSkuDtoList">
+          <el-row :key="i" :gutter="20">
+            <el-col :span="6">
+              <el-form-item label="瑙勬牸鍨嬪彿:">
+                {{ record.baseGoodModelName }}
+              </el-form-item>
+            </el-col>
+            <el-col :span="6">
+              <el-form-item label="鍗曚綅:">
+                {{ record.unit }}
+              </el-form-item>
+            </el-col>
+          </el-row>
+          <el-row :gutter="20" v-for="(use, k) in record.recordUserInfos" :key="k+'_'+i">
+            <el-col :span="6">
+              <el-form-item label="鍒嗗彂鏁伴噺:">
+                {{ use.num }}
+              </el-form-item>
+            </el-col>
+            <el-col :span="6">
+              <el-form-item label="浣跨敤浜�:">
+                {{ use.useName }}
+              </el-form-item>
+            </el-col>
+            <el-col :span="6">
+              <el-form-item label="鑱旂郴鐢佃瘽:">
+                <span>{{ use.phone }}</span>
+              </el-form-item>
+            </el-col>
+          </el-row>
+<!--          <el-divider v-if="index+1<list.length"></el-divider>-->
+          <el-divider></el-divider>
+        </template>
       </div>
     </el-form>
     <div v-if="tabIndex == 0" slot="footer" align="center" class="dialog-footer">
-      <my-button name="鍙栨秷" site="form" @click="close" />
-      <my-button name="淇濆瓨" site="form" @click="save" />
+      <my-button name="鍙栨秷" site="form" @click="close"/>
+      <my-button name="淇濆瓨" site="form" @click="save"/>
     </div>
   </el-dialog>
 </template>
@@ -123,62 +129,61 @@
 <script>
 import myButton from '@/components/myButton/myButton';
 import * as finsystenant from '@/api/baseSetting/finsystenant';
+import {transferDetail, useInfoUpdate, useRecord} from "@/api/stock/transfer";
 
 export default {
-  components: { myButton },
+  components: {myButton},
   props: {
     setting: {
       type: Object,
-      default: () => {},
+      default: () => {
+      },
     },
   },
   data() {
     return {
       tabs: ['淇敼浣跨敤浜�', '浣跨敤璁板綍'],
       tabIndex: 0,
-      checkedList: [],
+      list: [],
       formData: {
-        list: [
-          {
-            modelName: '鍨嬪彿111111',
-            unit: '濂�',
-            time: '2023-08-08 10:23:34',
-            userName: '绠$悊鍛�',
-            list: [
-              {
-                count: 1,
-                user: '寮犱笁',
-                phone: '18500000001',
-                isEdit: false,
-              },
-            ],
-          },
-          {
-            modelName: '鍨嬪彿222222',
-            unit: '濂�',
-            list: [
-              {
-                count: 1,
-                user: '寮犱笁',
-                phone: '18500000001',
-                isEdit: false,
-              },
-            ],
-          },
-        ],
+        list: [],
       },
       rules: {
-        code: [{ required: true, message: '璇疯緭鍏ユ満鏋勭紪鍙�', trigger: 'blur' }],
-        name: [{ required: true, message: '璇疯緭鍏ユ満鏋勫悕绉�', trigger: 'blur' }],
-        status: [{ required: true, message: '璇烽�夋嫨鐘舵��', trigger: 'blur' }],
+        code: [{required: true, message: '璇疯緭鍏ユ満鏋勭紪鍙�', trigger: 'blur'}],
+        name: [{required: true, message: '璇疯緭鍏ユ満鏋勫悕绉�', trigger: 'blur'}],
+        status: [{required: true, message: '璇烽�夋嫨鐘舵��', trigger: 'blur'}],
       },
     };
   },
-  created() {},
+  created() {
+    useRecord({transferOrderId: this.setting.id}).then((res) => {
+      let model = JSON.parse(JSON.stringify(res[0].recordSkuDtoList))
+      model.map(m => {
+        m.recordUserInfos.map(u => {
+          u.baseGoodModelId = m.baseGoodModelId
+          u.baseUnit = m.unit
+          u.businessId = this.setting.id
+          u.count = u.num
+          u.tel = u.phone
+          u.procureModelId = m.procureModelId
+          u.userName = u.useName
+          u.isEdit = false
+        })
+      })
+      this.formData.list = model;
+      this.list = res
+    });
+  },
   methods: {
-    getEditInfo(id) {},
-    handleEditItem(index, childIndex) {
-      this.formData.list[index].list[childIndex].isEdit = true;
+    getEditInfo(id) {
+    },
+    handleEditItem(user) {
+      user.isEdit = !user.isEdit;
+      if(!user.isEdit){
+        console.log(user)
+        user.phone = user.tel
+        user.userName = user.useName
+      }
     },
     close() {
       this.$emit('close');
@@ -186,30 +191,19 @@
     save() {
       this.$refs.ruleForm.validate((valid) => {
         if (valid) {
-          const params = Object.assign({}, this.formData);
-          if (this.setting.id) {
-            // 缂栬緫鎺ュ彛
-            finsystenant.edit(params).then((res) => {
-              if (res) {
-                this.$message.success('淇濆瓨鎴愬姛锛�');
-                this.close();
-                this.$emit('search');
-              } else {
-                this.$message.error('淇濆瓨澶辫触');
-              }
-            });
-          } else {
-            params.orgId = this.setting.orgId;
-            finsystenant.add(params).then((res) => {
-              if (res) {
-                this.$message.success('淇濆瓨鎴愬姛锛�');
-                this.close();
-                this.$emit('search');
-              } else {
-                this.$message.error('淇濆瓨澶辫触');
-              }
-            });
-          }
+          let recordInfoList = []
+          this.formData.list.map(item=>{
+            item.recordUserInfos.map(re=>{
+              recordInfoList.push(re)
+            })
+          })
+          useInfoUpdate({recordInfoList}).then((res) => {
+            this.$message.success('淇濆瓨鎴愬姛锛�');
+            this.close();
+            this.$emit('search');
+          }).catch(()=>{
+            this.$message.error('淇濆瓨澶辫触');
+          });
         } else {
           this.$message.error('鏍¢獙鏈�氳繃锛岃妫�鏌ャ��');
         }
@@ -222,6 +216,7 @@
 .dialog-title {
   display: flex;
   align-items: center;
+
   .tab-item {
     color: #3d3d3d;
     font-size: 16px;
@@ -229,6 +224,7 @@
     padding: 0 10px;
     position: relative;
     cursor: pointer;
+
     &.active::after {
       content: '';
       width: 100%;
@@ -240,10 +236,12 @@
     }
   }
 }
+
 .edit-text {
   color: #409eff;
   cursor: pointer;
 }
+
 .item-header {
   ::v-deep {
     .el-form-item__label,
@@ -252,12 +250,17 @@
     }
   }
 }
+
+::v-deep .el-divider--horizontal {
+  margin: 10px 0;
+}
+
 ::v-deep {
   .el-form-item {
-    margin-top: 10px;
-    margin-bottom: 10px;
+    margin-bottom: 5px;
   }
 }
+
 .line {
   width: 100%;
   height: 1px;

--
Gitblit v1.9.1