From 36d1334695a28fe6b49c1c7bb4bccb7f3ae5c443 Mon Sep 17 00:00:00 2001 From: WXL <1785969728@qq.com> Date: 星期三, 02 七月 2025 10:29:07 +0800 Subject: [PATCH] 测试完成 --- src/views/followvisit/satisfaction/index.vue | 38 +++---- src/views/followvisit/discharge/index.vue | 258 +++++++++++++++++++++++++++++++++++++++++++++++++-- 2 files changed, 261 insertions(+), 35 deletions(-) diff --git a/src/views/followvisit/discharge/index.vue b/src/views/followvisit/discharge/index.vue index de4b41e..296305f 100644 --- a/src/views/followvisit/discharge/index.vue +++ b/src/views/followvisit/discharge/index.vue @@ -257,6 +257,18 @@ </div> </div> </el-col> + <el-col :span="1.5"> + <div class="documentf"> + <div class="document"> + <el-button + :disabled="multiple" + style="background: #983680; color: azure" + @click="scoreDialogVisible = true" + >婊℃剰搴﹁皟鏌�</el-button + > + </div> + </div> + </el-col> </el-row> <el-table v-loading="loading" @@ -355,7 +367,6 @@ prop="suggest" width="120" > - <template slot-scope="scope"> <dict-tag :options="dict.type.sys_suggest" @@ -604,6 +615,188 @@ @pagination="getList" /> </el-row> + <!-- 婊℃剰搴﹀脊妗� --> + <el-dialog + title="闅忚璇勫垎" + :visible.sync="scoreDialogVisible" + width="80%" + :close-on-click-modal="false" + > + <el-table :data="selectedRows" border style="width: 100%"> + <el-table-column + label="濮撳悕" + width="100" + align="center" + prop="sendname" + /> + <el-table-column + label="浠诲姟鍚嶇О" + width="150" + align="center" + prop="taskName" + /> + <!-- 鏂板璇勫垎鍒� --> + <el-table-column + label="鐪熷疄鎬�(20)" + align="center" + key="authenticity" + prop="authenticity" + sortable + width="120" + > + <template slot-scope="scope"> + <el-input-number + v-model="scope.row.authenticity" + :min="0" + :max="20" + :step="1" + size="small" + /> + </template> + </el-table-column> + <el-table-column + label="涓�鍛ㄥ唴瀹屾垚(20)" + align="center" + key="weekFinish" + prop="weekFinish" + sortable + width="120" + > + <template slot-scope="scope"> + <el-input-number + v-model="scope.row.weekFinish" + :min="0" + :max="20" + :step="1" + size="small" + /> + </template> + </el-table-column> + <el-table-column + label="瑙勮寖鎬�(10)" + align="center" + key="standard" + prop="standard" + sortable + > + <template slot-scope="scope"> + <el-input-number + v-model="scope.row.standard" + :min="0" + :max="10" + :step="1" + size="small" + /> + </template> + </el-table-column> + <el-table-column + label="鍙婃椂鎬�(10)" + align="center" + key="timeliness" + prop="timeliness" + sortable + width="120" + > + <template slot-scope="scope"> + <el-input-number + v-model="scope.row.timeliness" + :min="0" + :max="10" + :step="1" + size="small" + /> + </template> + </el-table-column> + <el-table-column + label="瀹f暀鎯呭喌(10)" + align="center" + key="library" + prop="library" + sortable + width="120" + > + <template slot-scope="scope"> + <el-input-number + v-model="scope.row.library" + :min="0" + :max="10" + :step="1" + size="small" + /> + </template> + </el-table-column> + <el-table-column + label="鐜婊℃剰搴�(10)" + align="center" + key="environment" + prop="environment" + sortable + width="120" + > + <template slot-scope="scope"> + <el-input-number + v-model="scope.row.environment" + :min="0" + :max="10" + :step="1" + size="small" + /> + </template> + </el-table-column> + <el-table-column + label="鍖荤敓婊℃剰搴�(10)" + align="center" + key="doctorSatisfaction" + prop="doctorSatisfaction" + width="120" + sortable + > + <template slot-scope="scope"> + <el-input-number + v-model="scope.row.doctorSatisfaction" + :min="0" + :max="10" + :step="1" + size="small" + /> + </template> + </el-table-column> + <el-table-column + label="鎶ゅ+婊℃剰搴�(10)" + align="center" + key="nurseSatisfaction" + prop="nurseSatisfaction" + width="120" + sortable + > + <template slot-scope="scope"> + <el-input-number + v-model="scope.row.nurseSatisfaction" + :min="0" + :max="10" + :step="1" + size="small" + /> + </template> + </el-table-column> + <el-table-column + label="鎬诲垎" + align="center" + key="total" + prop="total" + sortable + > + <template slot-scope="scope"> + <span>{{ calculateTotal(scope.row) }}</span> + </template> + </el-table-column> + </el-table> + + <div slot="footer" class="dialog-footer"> + <el-button @click="scoreDialogVisible = false">鍙栨秷</el-button> + <el-button type="primary" @click="saveScores">淇濆瓨</el-button> + </div> + </el-dialog> <!-- 娣诲姞鎴栦慨鏀瑰奖鍍忛殢璁垮璇濇 --> <el-dialog :title="amendtag ? '淇敼鎮h�呬俊鎭�' : '鏂板鎮h��'" @@ -882,11 +1075,10 @@ radios: [], previewtype: 2, //棰勮褰卞儚闅忚绫诲瀷 total: 0, // 鎬绘潯鏁� - ImportQuantity: 999, //瀵煎奖鍍忛殢璁挎暟閲� - //棰勮褰卞儚闅忚淇℃伅 - previewvalue: { - username: "杩欎釜鍖荤敓瀵逛綘鎬庝箞鏍�", - }, + // 婊℃剰搴﹁皟鏌ユ暟鎹� + scoreDialogVisible: false, + selectedRows: [], + value: [], list: [], @@ -980,7 +1172,8 @@ sendstate: 2, sort: 2, //0 鍑洪櫌鏃堕棿(姝e簭) 1 鍑洪櫌鏃堕棿(鍊掑簭) 2 鍙戦�佹椂闂�(姝e簭) 3 鍙戦�佹椂闂�(鍊掑簭) serviceType: 2, - searchscope: 3,visitCount: 1, + searchscope: 3, + visitCount: 1, scopetype: [], leaveldeptcodes: [], leavehospitaldistrictcodes: [], @@ -1360,11 +1553,52 @@ }; this.handleQuery(1); }, - // 澶氶�夋閫変腑鏁版嵁 - handleSelectionChange(selection) { - this.ids = selection.map((item) => item.userId); - this.single = selection.length != 1; - this.multiple = !selection.length; + handleSelectionChange(rows) { + this.selectedRows = rows.map((row) => { + // 鍒濆鍖栬瘎鍒嗗瓧娈� + return { + ...row, + authenticity: row.authenticity || 0, + weekFinish: row.weekFinish || 0, + standard: row.standard || 0, + timeliness: row.timeliness || 0, + library: row.library || 0, + environment: row.environment || 0, + doctorSatisfaction: row.doctorSatisfaction || 0, + nurseSatisfaction: row.nurseSatisfaction || 0, + }; + }); + + if (this.selectedRows.length > 0) { + this.multiple = true; + } + }, + + // 璁$畻鎬诲垎 + calculateTotal(row) { + return ( + (row.authenticity || 0) + + (row.weekFinish || 0) + + (row.standard || 0) + + (row.timeliness || 0) + + (row.library || 0) + + (row.environment || 0) + + (row.doctorSatisfaction || 0) + + (row.nurseSatisfaction || 0) + ); + }, + + // 淇濆瓨璇勫垎 + saveScores() { + // 杩欓噷鍙互娣诲姞淇濆瓨閫昏緫锛屽璋冪敤API淇濆瓨璇勫垎 + this.$message.success("璇勫垎淇濆瓨鎴愬姛"); + this.scoreDialogVisible = false; + + // 鏇存柊涓昏〃鏍兼暟鎹� + this.userList = this.userList.map((user) => { + const updatedUser = this.selectedRows.find((row) => row.id === user.id); + return updatedUser ? updatedUser : user; + }); }, //鍒犻櫎閫夐」 handleClose(tag) { diff --git a/src/views/followvisit/satisfaction/index.vue b/src/views/followvisit/satisfaction/index.vue index 0e1ea1f..e405d10 100644 --- a/src/views/followvisit/satisfaction/index.vue +++ b/src/views/followvisit/satisfaction/index.vue @@ -78,28 +78,6 @@ </el-col> <el-col :span="1.5"> <el-button - type="primary" - icon="el-icon-plus" - size="medium" - :disabled="!tasktopic" - @click="handleAdd" - >鏂板</el-button - > - </el-col> - <el-col :span="1.5"> - <el-button - type="success" - plain - icon="el-icon-edit" - size="medium" - :disabled="single" - @click="handleUpdate" - v-hasPermi="['system:user:edit']" - >淇敼</el-button - > - </el-col> - <el-col :span="1.5"> - <el-button type="danger" plain icon="el-icon-delete" @@ -180,36 +158,47 @@ align="center" key="authenticity" prop="authenticity" + sortable + width="120" /> <el-table-column label="涓�鍛ㄥ唴瀹屾垚(20)" align="center" key="weekFinish" prop="weekFinish" + sortable + width="120" /> <el-table-column label="瑙勮寖鎬�(10)" align="center" key="standard" prop="standard" + sortable /> <el-table-column label="鍙婃椂鎬�(10)" align="center" key="timeliness" prop="timeliness" + sortable + width="120" /> <el-table-column label="瀹f暀鎯呭喌(10)" align="center" key="library" prop="library" + sortable + width="120" /> <el-table-column label="鐜婊℃剰搴�(10)" align="center" key="environment" prop="environment" + sortable + width="120" /> <el-table-column @@ -217,6 +206,8 @@ align="center" key="doctorSatisfaction" prop="doctorSatisfaction" + width="120" + sortable /> <el-table-column @@ -224,6 +215,7 @@ align="center" key="nurseSatisfaction" prop="nurseSatisfaction" + width="120" sortable /> @@ -646,7 +638,7 @@ /** 瀵煎嚭鎸夐挳鎿嶄綔 */ handleExport() { this.download( - "system/user/export", + "smartor/satisfaction/export", { ...this.topqueryParams, }, -- Gitblit v1.9.3