From ad54cf427ee94e01e8c72a01f738615eb2b6569d Mon Sep 17 00:00:00 2001
From: qx <1084500556@qq.com>
Date: 星期五, 04 七月 2025 17:58:34 +0800
Subject: [PATCH] Merge branch 'master' of http://101.42.27.146:5001/r/ltkj_peisweb

---
 src/components/Packagese/index.vue |  351 ++++++++++++++++++++++++++++++++++++++--------------------
 1 files changed, 229 insertions(+), 122 deletions(-)

diff --git a/src/components/Packagese/index.vue b/src/components/Packagese/index.vue
index 627fc05..ecf67a9 100644
--- a/src/components/Packagese/index.vue
+++ b/src/components/Packagese/index.vue
@@ -1,129 +1,236 @@
 <template>
-    <div>
-        <el-dialog :title="title" :visible.sync="open" width="1200px" append-to-body>
-            <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" label-width="68px">
-                <el-form-item label="缂栫爜" prop="pacCode">
-                    <el-input v-model="queryParams.pacCode" placeholder="璇疯緭鍏ョ紪鐮�" clearable
-                        @keyup.enter.native="handleQuery" style="width: 120px;" />
-                </el-form-item>
-                <el-form-item label="鍚嶇О" prop="pacName">
-                    <el-input v-model="queryParams.pacName" placeholder="璇疯緭鍏ュ悕绉�" clearable
-                        @keyup.enter.native="handleQuery" style="width: 130px;" />
-                </el-form-item>
-                <el-form-item label="鍐呭" prop="pacRemark">
-                    <el-input v-model="queryParams.pacRemark" placeholder="璇疯緭鍏ュ唴瀹�" clearable
-                        @keyup.enter.native="handleQuery" style="width: 130px;" />
-                </el-form-item>
-                <el-form-item>
-                    <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">鎼滅储</el-button>
-                </el-form-item>
-            </el-form>
-            <el-table :data="dataList" ref="elTable" v-loading="loading" @selection-change="handleSelectionChange" border
-                height="320px">
-                <el-table-column type="selection" width="40" align="center" />
-                <el-table-column label="搴忓彿"  prop="xh" align="center" />
-                <el-table-column label="缂栫爜" align="center" prop="pacCode" />
-                <el-table-column label="鍚嶇О" align="center" prop="pacName" width="100px" />
-                <el-table-column label="鎷奸煶鐮�" align="center" prop="detail" width="100px" />
-                <el-table-column label="鍐呭" align="center" prop="pacRemark" />
-                <el-table-column label="澶囨敞" align="center" prop="price" />
-            </el-table>
-            <span slot="footer" class="dialog-footer">
-                <el-button @click="open = false">鍙� 娑�</el-button>
-                <el-button type="primary" @click="handleOk">纭� 瀹�</el-button>
-            </span>
-        </el-dialog>
+  <div>
+    <el-dialog
+      :title="title"
+      :visible.sync="open"
+      width="1200px"
+      append-to-body
+    >
+      <el-form
+        :model="queryParams"
+        ref="queryForm"
+        size="small"
+        :inline="true"
+        label-width="68px"
+      >
+        <el-form-item label="缂栫爜" prop="pid">
+          <el-input
+            v-model="queryParams.pid"
+            placeholder="璇疯緭鍏ョ紪鐮�"
+            clearable
+            @keyup.enter.native="handleQuery"
+            style="width: 120px"
+          />
+        </el-form-item>
+        <el-form-item label="鍚嶇О" prop="pname">
+          <el-input
+            v-model="queryParams.pname"
+            placeholder="璇疯緭鍏ュ悕绉�"
+            clearable
+            @keyup.enter.native="handleQuery"
+            style="width: 130px"
+          />
+        </el-form-item>
+        <el-form-item label="鍐呭" prop="pym">
+          <el-input
+            v-model="queryParams.pym"
+            placeholder="璇疯緭鍏ュ唴瀹�"
+            clearable
+            @keyup.enter.native="handleQuery"
+            style="width: 130px"
+          />
+        </el-form-item>
+        <el-form-item>
+          <el-button
+            type="primary"
+            icon="el-icon-search"
+            size="mini"
+            @click="handleQuery"
+            >鎼滅储</el-button
+          >
+        </el-form-item>
+      </el-form>
+      
+      <el-table
+        :data="dataList"
+        ref="elTable"
+        v-loading="loading"
+        @selection-change="handleSelectionChange"
+        border
+        height="320px"
+      >
+        <el-table-column type="selection" width="40" align="center" />
+        <el-table-column label="搴忓彿" prop="xh" align="center" />
+        <el-table-column label="缂栫爜" align="center" prop="pacCode" />
+        <el-table-column
+          label="鍚嶇О"
+          align="center"
+          prop="pacName"
+          width="100px"
+        />
+        <el-table-column
+          label="鎷奸煶鐮�"
+          align="center"
+          prop="detail"
+          width="100px"
+        />
+        <el-table-column label="鍐呭" align="center" prop="pacRemark" />
+        <el-table-column label="澶囨敞" align="center" prop="price" />
+      </el-table>
 
-    </div>
+      <div class="pag">
+        <div class="pag1">
+          <pagination
+            v-show="total > 0"
+            :total="total"
+            :page.sync="queryParams.page"
+            :limit.sync="queryParams.pageSize"
+            @pagination="getAllList"
+          />
+        </div>
+      </div>
+
+      <span slot="footer" class="dialog-footer">
+        <el-button @click="open = false">鍙� 娑�</el-button>
+        <el-button type="primary" @click="handleOk">纭� 瀹�</el-button>
+      </span>
+    </el-dialog>
+  </div>
 </template>
-  
+
 <script>
-import {
-  getTjHyBgList,
-} from "@/api/hosp/project";
+import { getTjHyBgList } from "@/api/hosp/project";
+
 export default {
-    name: 'Packagese',
-    // props: {
-    //     row: {
-    //         type: Object,
-    //     }
-
-    // },
-    data() {
-        return {
-            open: false,
-            openone:false,
-            // 寮瑰嚭灞傛爣棰�
-            title: "",
-            dataList: [],
-            // 閬僵灞�
-            loading: false,
-            form: {
-                desc: ""
-            },
-            queryParams: {
-                pacCode: "",
-                pacName: "",
-                pacRemark: "",
-            },
-            list: [],
-            fList: {}
-        };
+  name: "Packagese",
+  props: {
+    selectedId: {
+      type: String,
+      default: "",  // 鐖剁粍浠朵紶閫掔殑閫変腑ID
     },
-    watch: {
-        // 'row'(val, newVla) {
-        //     console.log(val,newVla)
-        //     this.fList = val
-        //     console.log(this.fList);
-
-        // }
-
-    },
-    mounted() {
-        // this.getList()
-    },
-
-    created() {
-        // this.getList()
-    },
-    methods: {
-        getAllList(){
-            this.openone = true
-            getTjHyBgList(this.queryParams).then(res => {
-                this.dataList = res.data
-            })
-        },
-        getList() {
-            this.openone = false
-            Packagestlist(this.queryParams).then(res => {
-                this.dataList = res.rows
-            })
-        },
-        handleQuery() {
-            // if(this.openone == false){
-            //     this.getList()
-            // }else  if(this.openone == true){
-                this.getAllList()
-            // }
-        },
-        handleSelectionChange(selection) {
-            if (selection.length > 1) {
-                this.$refs.elTable.clearSelection(); // 娓呯┖鎵�鏈夐�夋嫨
-                this.$refs.elTable.toggleRowSelection(selection.pop()); // 璁剧疆閫夋嫨椤�
-            }
-            this.list = selection;
-            console.log(this.list)
-
-        },
-        handleOk() {
-            this.open = false
-            if (this.list.length == 1) {
-                this.$emit('add',this.list);
-            }
-        }
-    }
-}
-</script>
+  },
+  data() {
+    return {
+      open: false,
+      title: "",
+      dataList: [],
+      loading: false,
+      queryParams: {
+        pid: "",
+        pname: "",
+        pym: "",
+        checktype: "deptdict",
+        page: 1,
+        pageSize: 10,
+      },
+      total: 0,
+      list: [],
+    };
+  },
   
-<style scoped></style>
-  
\ No newline at end of file
+  watch: {
+    // 鐩戝惉鐖剁粍浠朵紶閫掔殑 selectedId
+    selectedId(newVal) {
+      // 濡傛灉 selectedId 涓虹┖锛屾竻绌烘墍鏈夐�変腑鐨勯」
+      if (!newVal) {
+        this.clearSelection();
+      } else {
+        this.handleSelectionEcho(newVal);
+      }
+    },
+  },
+
+  methods: {
+    // 鑾峰彇鏁版嵁
+    getAllList() {
+      this.loading = true;
+      getTjHyBgList(this.queryParams).then((res) => {
+        this.dataList = res.data.list;
+        this.total = res.data.total;
+        this.loading = false;
+        
+        // 鍦ㄨ幏鍙栨暟鎹悗鍥炴樉閫変腑椤�
+        this.handleSelectionEcho(this.selectedId);
+      });
+    },
+
+    // 鏍规嵁 selectedId 鏌ユ壘瀵瑰簲鐨勯」骞跺洖鏄鹃�夋嫨
+    handleSelectionEcho(selectedId) {
+      if (this.dataList.length > 0 && selectedId) {
+        const selectedItem = this.dataList.find(
+          (item) => item.pacCode === selectedId
+        );
+        if (selectedItem) {
+          this.$nextTick(() => {
+            this.$refs.elTable.clearSelection();  // 娓呴櫎涔嬪墠鐨勯�夋嫨
+            this.$refs.elTable.toggleRowSelection(selectedItem, true); // 閫変腑瀵瑰簲椤�
+            this.list = [selectedItem];  // 璁剧疆閫変腑鐨勯」
+          });
+        }
+      }
+    },
+
+    // 娓呯┖鎵�鏈夐�変腑鐨勯」
+    clearSelection() {
+      this.$nextTick(() => {
+        this.$refs.elTable.clearSelection();  // 娓呯┖鎵�鏈夐�変腑鐨勯」
+        this.list = [];  // 娓呯┖閫変腑鐨勫垪琛�
+      });
+    },
+
+    // 澶勭悊閫夋嫨鍙樺寲
+    handleSelectionChange(selection) {
+      if (selection.length > 1) {
+        // 濡傛灉閫夋嫨浜嗗琛岋紝淇濈暀鏈�鍚庝竴琛�
+        this.$refs.elTable.clearSelection();  // 娓呯┖鎵�鏈夐�夋嫨
+        this.$refs.elTable.toggleRowSelection(selection[selection.length - 1]);  // 閲嶆柊閫夋嫨鏈�鍚庝竴椤�
+      }
+
+      // 鑾峰彇鏈�鍚庨�夋嫨鐨勮
+      this.list = [selection[selection.length - 1]];
+    },
+
+    // 纭畾閫夋嫨
+    handleOk() {
+      this.open = false;
+      this.queryParams = {
+        pid: "",
+        pname: "",
+        pym: "",
+        checktype: "deptdict",
+        page: 1,
+        pageSize: 10,
+      };
+
+      if (this.list.length > 0) {
+        const pac = [
+          {
+            pacCode: this.list[this.list.length - 1].pacCode,
+            pacName: this.list[this.list.length - 1].pacName,
+          },
+        ];
+        this.$emit("add", pac);
+      } else {
+        this.$message.warning("璇烽�夋嫨涓�涓」鐩�");
+      }
+    },
+
+    // 瑙﹀彂鏌ヨ
+    handleQuery() {
+      this.getAllList();
+    },
+  },
+};
+</script>
+
+<style scoped>
+.pag {
+  width: 100%;
+  display: flex;
+  justify-content: center;
+}
+
+.pag1 {
+  width: 60%;
+}
+</style>

--
Gitblit v1.8.0