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