From d53fc70e109dc36794cb592a228f96e7181755e2 Mon Sep 17 00:00:00 2001
From: qushaowei <qushaowei@163.com>
Date: 星期四, 05 六月 2025 17:46:17 +0800
Subject: [PATCH] 备件借用归还

---
 src/views/eam/spare/EamSparePartReceiveList.vue |  254 ++++++++++++++++++++++++++++++++++++++++++--------
 1 files changed, 211 insertions(+), 43 deletions(-)

diff --git a/src/views/eam/spare/EamSparePartReceiveList.vue b/src/views/eam/spare/EamSparePartReceiveList.vue
index fc30b5b..80b1766 100644
--- a/src/views/eam/spare/EamSparePartReceiveList.vue
+++ b/src/views/eam/spare/EamSparePartReceiveList.vue
@@ -15,24 +15,11 @@
             :md="8"
             :sm="24"
           >
-            <a-form-item label="鍒犻櫎鏍囪">
-              <a-input
-                placeholder="璇疯緭鍏ュ垹闄ゆ爣璁�"
-                v-model="queryParam.delFlag"
-              ></a-input>
-            </a-form-item>
-          </a-col>
-          <a-col
-            :xl="6"
-            :lg="7"
-            :md="8"
-            :sm="24"
-          >
             <a-form-item label="棰嗙敤鍗曠紪鐮�">
               <a-input
                 placeholder="璇疯緭鍏ラ鐢ㄥ崟缂栫爜"
                 v-model="queryParam.receiveCode"
-              ></a-input>
+              />
             </a-form-item>
           </a-col>
           <template v-if="toggleSearchStatus">
@@ -55,24 +42,19 @@
               :md="8"
               :sm="24"
             >
-              <a-form-item label="棰嗙敤浜嬬敱">
-                <a-input
-                  placeholder="璇疯緭鍏ラ鐢ㄤ簨鐢�"
-                  v-model="queryParam.receiveReason"
-                ></a-input>
-              </a-form-item>
-            </a-col>
-            <a-col
-              :xl="6"
-              :lg="7"
-              :md="8"
-              :sm="24"
-            >
               <a-form-item label="棰嗙敤鐘舵��">
-                <a-input
+                <!-- <a-input
                   placeholder="璇疯緭鍏ラ鐢ㄧ姸鎬�"
                   v-model="queryParam.receiveStatus"
-                ></a-input>
+                ></a-input> -->
+                <j-dict-select-tag
+                  allow-clear
+                  :disabled="false"
+                  placeholder="璇烽�夋嫨棰嗙敤鐘舵��"
+                  :triggerChange="true"
+                  dictCode="receive_status"
+                  v-model="queryParam.receiveStatus"
+                />
               </a-form-item>
             </a-col>
           </template>
@@ -118,7 +100,7 @@
         type="primary"
         icon="plus"
       >鏂板</a-button>
-      <a-button
+      <!-- <a-button
         type="primary"
         icon="download"
         @click="handleExportXls('澶囧搧澶囦欢棰嗙敤鍗�')"
@@ -135,7 +117,7 @@
           type="primary"
           icon="import"
         >瀵煎叆</a-button>
-      </a-upload>
+      </a-upload> -->
       <a-dropdown v-if="selectedRowKeys.length > 0">
         <a-menu slot="overlay">
           <a-menu-item
@@ -172,16 +154,46 @@
         class="j-table-force-nowrap"
         :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}"
         @change="handleTableChange"
+        :customRow='clickThenSelect'
       >
 
         <span
           slot="action"
           slot-scope="text, record"
         >
-          <a @click="handleEdit(record)">缂栬緫</a>
+          <a
+            v-show="record.receiveStatus === '1'"
+            @click="handleEdit(record)"
+          >缂栬緫</a>
 
           <a-divider type="vertical" />
-          <a-dropdown>
+          <a-popconfirm
+            title="纭畾鍒犻櫎鍚�?"
+            @confirm="() => handleDelete(record.id)"
+          >
+            <a v-show="record.receiveStatus === '1'">鍒犻櫎</a>
+          </a-popconfirm>
+          <a-divider type="vertical" />
+          <a
+            v-show="record.receiveStatus === '1'"
+            @click="handleSubmit(record)"
+          >鎻愪氦</a>
+          <a-divider type="vertical" />
+          <a
+            v-show="record.receiveStatus === '2'"
+            @click="handleConfirm(record)"
+          >纭</a>
+          <a-divider type="vertical" />
+          <a
+            v-show="record.receiveStatus === '3' && record.giveBackFlag === 'yes'"
+            @click="handleReturn(record)"
+          >褰掕繕</a>
+          <a-divider type="vertical" />
+          <a
+            v-show="record.receiveStatus === '4' && record.giveBackFlag === 'yes'"
+            @click="handleReturnConfirm(record)"
+          >褰掕繕纭</a>
+          <!-- <a-dropdown>
             <a class="ant-dropdown-link">鏇村 <a-icon type="down" /></a>
             <a-menu slot="overlay">
               <a-menu-item>
@@ -193,10 +205,23 @@
                 </a-popconfirm>
               </a-menu-item>
             </a-menu>
-          </a-dropdown>
+          </a-dropdown> -->
         </span>
 
       </a-table>
+      <a-tabs defaultActiveKey="1">
+        <a-tab-pane
+          tab='澶囦欢棰嗙敤鏄庣粏'
+          key="1"
+        >
+          <div
+            class="table-operator"
+            style="margin:-16px"
+          >
+            <eamSparePartReceive-Detail-list :sparePartReceiveId='sparePartReceiveId' />
+          </div>
+        </a-tab-pane>
+      </a-tabs>
     </div>
     <!-- table鍖哄煙-end -->
 
@@ -211,17 +236,22 @@
 <script>
 import '@assets/less/TableExpand.less'
 import EamSparePartReceiveModal from './modules/EamSparePartReceive/EamSparePartReceiveModal.vue'
+import EamSparePartReceiveDetailList from './modules/EamSparePartReceive/EamSparePartReceiveDetailList.vue'
 import { JeecgListMixin } from '@/mixins/JeecgListMixin'
+import { deleteAction, getAction, postAction } from '@api/manage'
 
 export default {
   name: "EamSparePartReceiveList",
   mixins: [JeecgListMixin],
   components: {
-    EamSparePartReceiveModal
+    EamSparePartReceiveModal,
+    EamSparePartReceiveDetailList
   },
   data() {
     return {
       description: '澶囧搧澶囦欢棰嗙敤鍗曠鐞嗛〉闈�',
+      sparePartReceiveId: "-1",
+      dataSource: [],
       // 琛ㄥご
       columns: [
         {
@@ -233,11 +263,6 @@
           customRender: function (t, r, index) {
             return parseInt(index) + 1;
           }
-        },
-        {
-          title: '鍒犻櫎鏍囪',
-          align: "center",
-          dataIndex: 'delFlag'
         },
         {
           title: '棰嗙敤鍗曠紪鐮�',
@@ -257,12 +282,12 @@
         {
           title: '棰嗙敤鐘舵��',
           align: "center",
-          dataIndex: 'receiveStatus'
+          dataIndex: 'receiveStatus_dictText'
         },
         {
-          title: '鏄惁闇�瑕佸綊杩�;鏄細瀛樺湪褰掕繕鍔ㄤ綔锛屽惁锛氱洿鎺ュ畬鎴�',
+          title: '鏄惁闇�瑕佸綊杩�',
           align: "center",
-          dataIndex: 'giveBackFlag'
+          dataIndex: 'giveBackFlag_dictText'
         },
         {
           title: '瀹℃牳浜�',
@@ -292,6 +317,10 @@
         deleteBatch: "/eam/eamSparePartReceive/deleteBatch",
         exportXlsUrl: "eam/eamSparePartReceive/exportXls",
         importExcelUrl: "eam/eamSparePartReceive/importExcel",
+        submit: "eam/eamSparePartReceive/submit",
+        confirm: "eam/eamSparePartReceive/confirm",
+        return: "eam/eamSparePartReceive/return",
+        returnConfirm: "eam/eamSparePartReceive/returnConfirm",
       },
     }
   },
@@ -302,6 +331,145 @@
   },
   methods: {
 
+    searchReset() {
+      this.queryParam = {}
+      this.onClearSelected()
+      this.loadData(1);
+    },
+    searchQuery() {
+      this.onClearSelected()
+      this.loadData(1);
+    },
+
+    clickThenSelect(record) {
+      return {
+        on: {
+          click: () => {
+            this.onSelectChange(record.id.split(','), [record])
+          }
+        }
+      }
+    },
+    onClearSelected() {
+      this.selectedRowKeys = []
+      this.selectionRows = []
+      this.sparePartReceiveId = '-1'
+    },
+    onSelectChange(selectedRowKeys, selectionRows) {
+      if (selectedRowKeys.length == 1) {
+        this.sparePartReceiveId = selectionRows[0]['id']
+      } else {
+        this.sparePartReceiveId = '-1'
+      }
+      this.selectedRowKeys = selectedRowKeys
+      this.selectionRows = selectionRows
+    },
+
+    handleSubmit(record) {
+      if (!this.url.submit) {
+        this.$message.error('璇疯缃畊rl.submit灞炴��!')
+        return
+      }
+      var that = this
+      this.$confirm({
+        title: '纭鎻愪氦',
+        content: '纭畾鎻愪氦鍚�?',
+        onOk: function () {
+          that.loading = true;
+          postAction(that.url.submit, record).then((res) => {
+            if (res.success) {
+              that.$message.success(res.message)
+              that.loadData()
+            } else {
+              that.$message.warning(res.message)
+            }
+            that.loading = false
+          }).finally(() => {
+            that.loading = false;
+          });
+        }
+      })
+    },
+
+    handleConfirm(record) {
+      if (!this.url.confirm) {
+        this.$message.error('璇疯缃畊rl.confirm灞炴��!')
+        return
+      }
+      var that = this
+      this.$confirm({
+        title: '纭棰嗗彇',
+        content: '纭畾棰嗗彇澶囦欢鍚�?',
+        onOk: function () {
+          that.loading = true;
+          postAction(that.url.confirm, record).then((res) => {
+            if (res.success) {
+              that.$message.success(res.message)
+              that.loadData()
+            } else {
+              that.$message.warning(res.message)
+            }
+            that.loading = false
+          }).finally(() => {
+            that.loading = false;
+          });
+        }
+      })
+    },
+
+    handleReturn(record) {
+      if (!this.url.return) {
+        this.$message.error('璇疯缃畊rl.return灞炴��!')
+        return
+      }
+      var that = this
+      this.$confirm({
+        title: '澶囦欢褰掕繕',
+        content: '纭畾褰掕繕澶囦欢鍚�?',
+        onOk: function () {
+          that.loading = true;
+          postAction(that.url.return, record).then((res) => {
+            if (res.success) {
+              that.$message.success(res.message)
+              that.loadData()
+            } else {
+              that.$message.warning(res.message)
+            }
+            that.loading = false
+          }).finally(() => {
+            that.loading = false;
+          });
+        }
+      })
+    },
+
+
+    handleReturnConfirm(record) {
+      if (!this.url.returnConfirm) {
+        this.$message.error('璇疯缃畊rl.returnConfirm灞炴��!')
+        return
+      }
+      var that = this
+      this.$confirm({
+        title: '澶囦欢褰掕繕纭',
+        content: '纭畾澶囦欢褰掕繕鍚�?',
+        onOk: function () {
+          that.loading = true;
+          postAction(that.url.returnConfirm, record).then((res) => {
+            if (res.success) {
+              that.$message.success(res.message)
+              that.loadData()
+            } else {
+              that.$message.warning(res.message)
+            }
+            that.loading = false
+          }).finally(() => {
+            that.loading = false;
+          });
+        }
+      })
+    },
+
   }
 }
 </script>

--
Gitblit v1.9.3