From 9290a0a7023a612cddc5971553a6efb727a51165 Mon Sep 17 00:00:00 2001
From: qx <1084500556@qq.com>
Date: 星期二, 19 八月 2025 17:34:58 +0800
Subject: [PATCH] qx
---
src/views/sampling/sampling/index.vue | 190 +++++++++++++++++++++++++++-------------------
1 files changed, 111 insertions(+), 79 deletions(-)
diff --git a/src/views/sampling/sampling/index.vue b/src/views/sampling/sampling/index.vue
index 925f7e6..57d952b 100644
--- a/src/views/sampling/sampling/index.vue
+++ b/src/views/sampling/sampling/index.vue
@@ -69,18 +69,20 @@
<el-button type="primary" :disabled="!disabled" @click="Cancellation">鎾ら攢鍚堝苟</el-button>
<el-button type="primary" @click="Confirmreceipt" :disabled="!selectList.length">閲囨牱鎵撶爜</el-button>
<el-button type="primary" @click="piliangPrint" :disabled="!isAllSelected">鎵归噺鎵撳嵃</el-button>
+
</el-col>
<el-col :span="12" style="margin: 10px 15px" v-show="samplingList.length > 0 && tjStatus == 0">
<el-button type="primary" :disabled="!selectList.length" @click="buda">琛ユ墦鏉$爜</el-button>
<!-- @click="Collection" -->
<el-button type="primary" :disabled="!disabled" @click="Cancellation">鎾ら攢鍚堝苟</el-button>
+ <el-button type="primary" @click="jydPrint">鎵撳嵃妫�楠屽崟</el-button>
</el-col>
</el-row>
<div style="width: 100%; margin-left: 10px; display: flex">
<div style="width: 40%; margin-right: 20px">
<el-table id="ta" v-loading="loading1" ref="tb" :data="samplingList" @selection-change="handleSelectionChange"
- border height="520px" :row-class-name="tableRowClassName">
+ @current-change="handleCurrentChangess" border height="520px" :row-class-name="tableRowClassName">
<el-table-column type="selection" width="40" align="center" :selectable="selectable" />
<el-table-column label="浣撴鍙�" align="center" prop="tjNumber" width="160px" />
<el-table-column label="濮撳悕" align="center" prop="cusName" width="80px" />
@@ -105,8 +107,9 @@
</div>
<div style="width: 50%">
<!-- v-if="this.rightTabShow" -->
- <el-table v-loading="loading" :data="tableList" @selection-change="handleChange" :span-method="objectSpanMethod"
- ref="tab1" :row-class-name="tableRowClassName" border height="520px">
+ <el-table :key="tableKey" :row-key="getRowKey" v-if="tableList.length > 0" v-loading="loading" :data="tableList"
+ @selection-change="handleChange" :span-method="objectSpanMethod" ref="tab1"
+ :row-class-name="tableRowClassName" border height="520px">
<el-table-column type="selection" width="40" align="center" />
<!-- :selectable="selectEnable" -->
<!-- <el-table-column label="鏄惁绛炬敹" align="center" prop="isSignFor" /> -->
@@ -197,7 +200,7 @@
:limit.sync="queryParams.pageSize" @pagination="getList" />
</div> -->
- <div style="margin-right: 70%">
+ <div style="margin-right: 63%">
<!-- <el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange" :pager-count="5" :current-page.sync="currentPage1" :current-page="page"
:page-sizes="pageSize" :page-size="size" layout="total, sizes, prev, pager, next, jumper" :total="total">
</el-pagination> -->
@@ -297,7 +300,9 @@
proId: null,
proName: null,
},
+ tjNumber: null,
startTime: "",
+ tableKey: "",
pickerOptions: {
shortcuts: [
{
@@ -342,7 +347,6 @@
// this.getNowTime();
getTxmmccd().then((res) => {
this.msg = Number(res.msg);
- console.log(res, 444);
});
getCompany(this.queryParams).then((response) => {
this.CompanyList = response.data;
@@ -379,7 +383,6 @@
searchSelect(val) {
this.CheckBox = val;
this.queryParams.dw = this.CheckBox.drugManufacturerId;
- console.log(this.CheckBox, 9999);
},
getRemoteData(query) {
if (query) {
@@ -448,6 +451,23 @@
this.selectList = []; // 娓呯┖ selectList
loadingInstance.close();
}
+ },
+
+
+ jydPrint() {
+ if (this.piliangList.length != 0) {
+ const tjnumber = this.piliangList[0].tjNumber;
+ const viewNum = "1086792376946569216";
+ const params = { viewNum, tjnumber };
+ this.$tab.openPage("妫�楠岀瀵兼鍗�", "/report/clinical", params);
+ this.$refs.tb.toggleRowSelection(this.piliangList[0], false);
+ this.piliangList = []
+ } else {
+ this.$message.info('璇烽噸鏂伴�夋嫨瑕佹墦鍗扮殑鏁版嵁');
+ this.$refs.tb.toggleRowSelection(this.piliangList[0], false);
+ this.piliangList = []
+ }
+
},
getTruncatedName(proName) {
// 鍘绘帀鎵�鏈夌┖鏍�
@@ -532,6 +552,7 @@
return ""; // 濡傛灉 applicationTime 鏃犳晥锛岃繑鍥炵┖瀛楃涓�
},
/** 鏌ヨ浣撴閲囨牱绠$悊鍒楄〃 */
+ /** 鏌ヨ浣撴閲囨牱绠$悊鍒楄〃 */
getList() {
this.queryParams.compId = this.CheckBox.drugManufacturerId;
this.loading1 = true;
@@ -540,68 +561,32 @@
if (this.createTimeList) {
this.queryParams.beginTime = this.createTimeList[0];
this.queryParams.endTime = this.createTimeList[1];
- } else if (this.createTimeList == null) {
+ } else {
this.queryParams.beginTime = null;
this.queryParams.endTime = null;
}
+
getList(this.queryParams).then((response) => {
this.loading1 = false;
- if (response.data) {
- if (!response.data.list || response.data.list.length === 0) {
- this.samplingList = [];
- this.tableList = [];
- this.loading1 = false;
- this.loading = false;
- return;
- } else {
- this.samplingList = response.data.list;
- // 鍒ゆ柇鏄惁闇�瑕佸埛鏂板彸杈硅〃鏍�
- this.$nextTick(() => {
- this.$refs.tb.toggleRowSelection(this.samplingList[0], true);
- // 妫�鏌ユ槸鍚﹀叏閫�
- if (this.samplingList.length === this.selectedRows.length) {
- this.disableSelections = true;
- } else {
- this.disableSelections = false;
- }
- });
- }
+ if (response.data && response.data.list && response.data.list.length > 0) {
+ this.samplingList = response.data.list;
this.total = response.data.total;
- this.loading1 = false;
+ // 绉婚櫎榛樿閫変腑绗竴琛岀殑閫昏緫
+ // this.$nextTick(() => {
+ // this.$refs.tb.toggleRowSelection(this.samplingList[0], true); // 榛樿閫変腑绗竴琛�
+ // this.fetchData(this.samplingList[0].tjNumber); // 鍒锋柊鍙充晶琛ㄦ牸
+ // });
} else {
this.samplingList = [];
this.tableList = [];
- this.loading1 = false;
+ this.selectList = []; // 娓呯┖ selectList
+ this.ids = []; // 娓呯┖ ids
+ if (this.$refs.tab1) {
+ this.$refs.tab1.clearSelection(); // 娓呯┖鍙充晶琛ㄦ牸閫変腑鐘舵��
+ }
}
+ this.loading1 = false;
});
-
- /* getList(this.queryParams).then((response) => {
- if (response.data) {
- if (response.data.list == null) {
- this.samplingList = [];
- this.tableList = [];
- this.loading = false;
- } else {
- this.samplingList = response.data.list;
- console.log(this.samplingList,888);
-
- this.loading = false;
- if (this.samplingList.length != 0) {
- this.$nextTick(() => {
- this.$refs.tb.toggleRowSelection(this.samplingList[0], true);
- });
- } else {
- this.$refs.tb.clearSelection();
- }
- }
- this.total = response.data.total;
- this.loading = false;
- } else {
- this.samplingList = [];
- this.tableList = [];
- this.loading = false;
- }
- }); */
},
// 鍙栨秷鎸夐挳
cancel() {
@@ -639,12 +624,29 @@
},
/** 閲嶇疆鎸夐挳鎿嶄綔 */
resetQuery() {
- this.createTimeList = [];
- this.handleQuery();
+ this.createTimeList = []; // 娓呯┖鏃ユ湡鑼冨洿
+ this.queryParams.tjNumber = null; // 娓呯┖浣撴鍙�
+ this.queryParams.name = null; // 娓呯┖濮撳悕
+ this.queryParams.tjCompName = null; // 娓呯┖鍗曚綅鍚嶇О
+ this.selectList = []; // 娓呯┖鍙充晶閫変腑椤�
+ this.selectedRows = []; // 娓呯┖宸︿晶閫変腑椤�
+ this.tableList = []; // 娓呯┖鍙充晶琛ㄦ牸鏁版嵁
+ this.ids = []; // 娓呯┖閫変腑鐨� ID
+ this.$refs.tb.clearSelection(); // 娓呯┖宸︿晶琛ㄦ牸閫変腑鐘舵��
+ if (this.$refs.tab1) {
+ this.$refs.tab1.clearSelection(); // 娓呯┖鍙充晶琛ㄦ牸閫変腑鐘舵��
+ }
+ this.handleQuery(); // 閲嶆柊鏌ヨ
+ },
+ handleCurrentChangess(val) {
+ if (val != null) {
+ this.$refs.tb.toggleRowSelection(val, true);
+ this.handleSelectionChange(val);
+ }
},
handleSelectionChange(selection) {
- this.piliangList = selection;
+
const selectedCount = selection.length;
const totalCount = this.samplingList.length;
@@ -652,6 +654,7 @@
if (selectedCount === 1) {
this.disableSelections = false;
const selectedPerson = selection[0];
+ this.piliangList = selection;
const tjNumber = selectedPerson.tjNumber;
console.log(`閫変腑鐨勪綋妫�鍙�: ${tjNumber}`);
this.fetchData(tjNumber);
@@ -684,6 +687,11 @@
// 璋冭瘯鏃ュ織
console.log(`褰撳墠閫変腑鏁伴噺: ${selectedCount}`);
console.log(`鏄惁绂佺敤閫夋嫨: ${this.disableSelections}`);
+
+ },
+
+ getRowKey(row) {
+ return row.id; // 蹇呴』鍞竴涓旂ǔ瀹�
},
fetchData(tjNumber) {
@@ -693,9 +701,25 @@
.then((response) => {
if (response.data) {
this.tableList = response.data;
+ this.tableKey = Date.now()
+ this.$nextTick(() => {
+ if (this.$refs.tab1) {
+ this.$refs.tab1.doLayout(); // 淇敼涓烘纭殑 ref 鍚嶇О
+ this.$refs.tab1.clearSelection(); // 娓呯┖閫変腑鐘舵��
+ const headerCheckbox = this.$refs.tab1.$el.querySelector('.el-table__header .el-checkbox');
+ if (headerCheckbox) headerCheckbox.style.display = 'inline';
+
+ }
+ });
resolve(this.tableList);
+ this.loading = false;
} else {
this.tableList = [];
+ this.selectList = [];
+ this.ids = [];
+ if (this.$refs.tab1) {
+ this.$refs.tab1.clearSelection();
+ }
resolve([]);
}
})
@@ -916,10 +940,7 @@
},
handleChange(selection) {
- // console.log(selection);
-
this.selectList = selection;
- console.log(this.selectList, 9977);
var array = selection;
this.ids = array.map((item) => item.id);
},
@@ -939,6 +960,7 @@
};
websocket.onopen = () => {
this.websocket = websocket;
+ console.log(this.selectList, "this.selectList")
this.dayinData = this.selectList.map((item) => ({
jyxh: item.jyxh,
proName: item.proName,
@@ -948,6 +970,8 @@
cardId: item.cardId,
tjTime: item.createTime,
}));
+
+
// 杩炴帴璁惧
this.jsonObj = {
type: "3",
@@ -956,7 +980,12 @@
},
};
var jStr = JSON.stringify(this.jsonObj);
+ console.log(jStr, "jStr");
+
this.websocket.send(jStr);
+ this.$refs.tab1.clearSelection(); // 娓呴櫎鍙充晶琛ㄦ牸鐨勯�変腑鐘舵��
+ this.selectList = []; // 娓呯┖ selectList
+ this.ids = []; // 娓呯┖ ids
this.jsonObj = {};
// this.dialogVisible = false;
};
@@ -965,23 +994,24 @@
// 纭閲囨牱
Confirmreceipt() {
const loadingInstance = this.$loading({
- lock: true, // 閿佸畾灞忓箷
- text: "鍔犺浇涓�...", // 鍔犺浇鏂囨湰
- spinner: "el-icon-loading", // 鑷畾涔夊姞杞藉浘鏍�
- background: "rgba(255, 255, 255, 0.7)", // 鑳屾櫙棰滆壊
+ lock: true,
+ text: "鍔犺浇涓�...",
+ spinner: "el-icon-loading",
+ background: "rgba(255, 255, 255, 0.7)",
});
confirmSampling(this.ids)
.then((res) => {
- console.log(this.selectList, 2222);
-
if (res.code === 200) {
- this.buda();
- this.getList();
+ this.buda(); // 鎵撳嵃鏉$爜
+
+ this.getList(); // 鍒锋柊宸︿晶琛ㄦ牸
+ console.log("閲囨牱鍚� - selectList:", this.selectList, "qiehuan:", this.qiehuan);
} else {
this.$message.error(res.msg);
}
})
.catch((error) => {
+ console.error("閲囨牱澶辫触:", error);
})
.finally(() => {
loadingInstance.close();
@@ -1004,6 +1034,7 @@
});
},
// 鍗曢�夋寜閽�
+ // 鍗曢�夋寜閽�
radioChange(value) {
this.loading = true;
this.queryParams.isSignFor = value;
@@ -1016,13 +1047,14 @@
} else {
this.samplingList = response.data.list;
this.loading = false;
- if (this.samplingList.length != 0) {
- this.$nextTick(() => {
- this.$refs.tb.toggleRowSelection(this.samplingList[0], true);
- });
- } else {
- this.$refs.tb.clearSelection();
- }
+ // 绉婚櫎榛樿閫変腑绗竴琛岀殑閫昏緫
+ // if (this.samplingList.length != 0) {
+ // this.$nextTick(() => {
+ // this.$refs.tb.toggleRowSelection(this.samplingList[0], true);
+ // });
+ // } else {
+ // this.$refs.tb.clearSelection();
+ // }
}
this.total = response.data.total;
this.loading = false;
@@ -1084,7 +1116,7 @@
<style>
#ta .el-table__header-wrapper .el-checkbox {
- /* display: none; */
+ display: none;
}
.el-table .warning-row {
--
Gitblit v1.8.0