From 1e487a42549384f6e937a5c7d557563aedafec2c Mon Sep 17 00:00:00 2001 From: WXL <1785969728@qq.com> Date: 星期三, 20 三月 2024 18:41:29 +0800 Subject: [PATCH] 11 --- src/views/project/indexstatistics/index.vue | 307 ++++++++++++++++++++++++++++++++++++--------------- 1 files changed, 216 insertions(+), 91 deletions(-) diff --git a/src/views/project/indexstatistics/index.vue b/src/views/project/indexstatistics/index.vue index f6057db..7c1a8e9 100644 --- a/src/views/project/indexstatistics/index.vue +++ b/src/views/project/indexstatistics/index.vue @@ -2,12 +2,12 @@ <div class="app-container" style="background-color: #f2f2f2; color: #fff"> <el-card shadow="always" style="color: #566f94"> <el-row :gutter="8"> - <el-col :span="6"> + <el-col :span="8"> <el-date-picker v-model="selecttime" type="monthrange" range-separator="鑷�" - start-placeholder="寮�濮嬫湀浠�" + start-placeholder="寮�濮嬫湀浠斤紙榛樿鏈勾搴︼級" end-placeholder="缁撴潫鏈堜唤" value-format="yyyy-MM-dd" @change="getTimeList" @@ -61,15 +61,15 @@ <div style="width: 76%;"> <el-row :gutter="10" - style="font-size: 16px; font-weight: bold; margin-top: 10px" + style="font-size: 18px; font-weight: bold; margin-top: 10px" > <el-col :span="6"> <router-link :to="{ name: 'Donatebaseinfo', params: { - starttime: this.starttime, - endtime: this.endtime, + starttime: starttime, + endtime: endtime, tempRecordState: '', reporterno: reportervalue, shen: searchAddress.shen, @@ -85,7 +85,7 @@ <!-- @click="tobaseinfo0" --> <el-card shadow="always" style="color: #566f94"> <svg-icon icon-class="user" /> 娼滃湪鎹愮尞绱锛歿{ - this.donateNumData.numberOfDonate + donateNumData.numberOfDonate }} 渚� </el-card> </router-link> @@ -95,8 +95,8 @@ :to="{ name: 'Medicalevaluation', params: { - starttime: this.starttime, - endtime: this.endtime, + starttime: starttime, + endtime: endtime, tempRecordState: '', reporterno: reportervalue, shen: searchAddress.shen, @@ -112,7 +112,7 @@ @click="Tomedicalevalua" > <svg-icon icon-class="tool" /> 瀹屾垚鍖诲璇勪及绱锛歿{ - this.donateNumData.numberOfMedicalEvaluation + donateNumData.numberOfMedicalEvaluation }} 渚� </el-card> </router-link> @@ -122,8 +122,8 @@ :to="{ name: 'Relativesconfirmation', params: { - starttime: this.starttime, - endtime: this.endtime, + starttime: starttime, + endtime: endtime, tempRecordState: '', reporterno: reportervalue, shen: searchAddress.shen, @@ -136,7 +136,7 @@ <el-card shadow="always" style="color: #566f94"> <svg-icon icon-class="checkbox" /> 瀹屾垚浜插睘纭绱锛歿{ - this.donateNumData.numberOfRelativeConfirmation + donateNumData.numberOfRelativeConfirmation }} 渚� </el-card> </router-link> @@ -146,8 +146,8 @@ :to="{ name: 'EthicalReview', params: { - starttime: this.starttime, - endtime: this.endtime, + starttime: starttime, + endtime: endtime, tempRecordState: '', reporterno: reportervalue, shen: searchAddress.shen, @@ -160,7 +160,7 @@ <el-card shadow="always" style="color: #566f94"> <svg-icon icon-class="education" /> 瀹屾垚浼︾悊瀹℃煡绱锛歿{ - this.donateNumData.numberOfEthicalReview + donateNumData.numberOfEthicalReview }} 渚� </el-card> </router-link> @@ -171,36 +171,20 @@ style="margin-top: 10px; font-size: 18px; font-weight: bold" > <el-col :span="6"> - <router-link - :to="{ - name: 'Organallocation', - params: { - starttime: this.starttime, - endtime: this.endtime, - tempRecordState: '', - reporterno: reportervalue, - shen: searchAddress.shen, - shi: searchAddress.shi, - qu: searchAddress.qu, - city: city - } - }" - > - <el-card shadow="always" style="color: #566f94"> - <svg-icon icon-class="druid" /> 瀹屾垚鍣ㄥ畼鍒嗛厤绱锛歿{ - this.donateNumData.numberOfDonatePeople - }} 涓� - <!-- this.donateNumData.numberOfOrgans --> - </el-card> - </router-link> + <el-card shadow="always" style="color: #566f94"> + <svg-icon icon-class="druid" /> 瀹屾垚鍣ㄥ畼鍒嗛厤绱锛歿{ + donateNumData.numberOfDonatePeople + }} 涓� + <!-- donateNumData.numberOfOrgans --> + </el-card> </el-col> <el-col :span="6"> <router-link :to="{ name: 'Donationwitness', params: { - starttime: this.starttime, - endtime: this.endtime, + starttime: starttime, + endtime: endtime, tempRecordState: '', reporterno: reportervalue, shen: searchAddress.shen, @@ -212,7 +196,7 @@ > <el-card shadow="always" style="color: #566f94"> <svg-icon icon-class="job" /> 瀹屾垚鑾峰彇瑙佽瘉绱锛歿{ - this.donateNumData.numberOfWitness + donateNumData.numberOfWitness }} 渚� </el-card> </router-link> @@ -222,8 +206,8 @@ :to="{ name: 'Donatefinish', params: { - starttime: this.starttime, - endtime: this.endtime, + starttime: starttime, + endtime: endtime, tempRecordState: '', reporterno: reportervalue, shen: searchAddress.shen, @@ -235,7 +219,7 @@ > <el-card shadow="always" style="color: #566f94"> <svg-icon icon-class="lock" /> 鎹愮尞瀹屾垚绱锛歿{ - this.donateNumData.numberOfCompletion + donateNumData.numberOfCompletion }} 渚� </el-card> </router-link> @@ -246,8 +230,8 @@ :to="{ name: 'Donatebaseinfo', params: { - starttime: this.starttime, - endtime: this.endtime, + starttime: starttime, + endtime: endtime, tempRecordState: 99, reporterno: reportervalue, shen: searchAddress.shen, @@ -259,7 +243,7 @@ > <el-card shadow="always" style="color: #566f94"> <svg-icon icon-class="lock" /> 鎹愮尞缁堟绱锛歿{ - this.donateNumData.numberOfTerminated + donateNumData.numberOfTerminated }} 渚� </el-card> </router-link> @@ -284,9 +268,7 @@ style="padding: 0; margin: 0; width: 100%; color: #566f94" > 鍣ㄥ畼鎹愮尞杞寲鐜�<br /> - {{ - (this.qualirtData.donateTransferRate * 100).toFixed(2) - }}% + {{ (qualirtData.donateTransferRate * 100).toFixed(2) }}% </el-card> </el-col> <el-col :span="8" style="text-align: center"> @@ -295,9 +277,7 @@ style="padding: 0; margin: 0; width: 100%; color: #566f94" > 骞冲潎鍣ㄥ畼浜у嚭鐜�<br /> - {{ - (this.qualirtData.organProductionRate * 100).toFixed(2) - }}% + {{ (qualirtData.organProductionRate * 100).toFixed(2) }}% </el-card> </el-col> <el-col :span="8" style="text-align: center"> @@ -306,7 +286,7 @@ style="padding: 0; margin: 0; width: 100%; color: #566f94" > 鑾峰彇鍣ㄥ畼鍒╃敤鐜�<br /> - {{ (this.qualirtData.organUsedRate * 100).toFixed(2) }}% + {{ (qualirtData.organUsedRate * 100).toFixed(2) }}% </el-card> </el-col> </el-row> @@ -317,17 +297,15 @@ <el-row :gutter="10" style="margin-top: 10px"> <el-col :span="8" style="text-align: center" >DBD: - {{ (this.qualirtData.dbddonateRate * 100).toFixed(2) }}% + {{ (qualirtData.dbddonateRate * 100).toFixed(2) }}% </el-col> <el-col :span="8" style="text-align: center"> DCD: - {{ (this.qualirtData.dcddonateRate * 100).toFixed(2) }}% + {{ (qualirtData.dcddonateRate * 100).toFixed(2) }}% </el-col> <el-col :span="8" style="text-align: center"> DBCD: - {{ - (this.qualirtData.dbcddonateRate * 100).toFixed(2) - }}% + {{ (qualirtData.dbcddonateRate * 100).toFixed(2) }}% </el-col> </el-row> </el-card> @@ -343,9 +321,7 @@ <span style="font-size: 14px"> 鑾峰彇鍓嶆椿妫�鐜�</span> </el-row> {{ - (this.qualirtData.organBeforeGetCheckRate * 100).toFixed( - 2 - ) + (qualirtData.organBeforeGetCheckRate * 100).toFixed(2) }}% </el-card> </el-col> @@ -357,11 +333,7 @@ <el-row> <span style="font-size: 14px">鑾峰彇鍚庢椿妫�鐜�</span> </el-row> - {{ - (this.qualirtData.organAfterGetCheckRate * 100).toFixed( - 2 - ) - }}% + {{ (qualirtData.organAfterGetCheckRate * 100).toFixed(2) }}% </el-card> </el-col> </el-row> @@ -372,7 +344,7 @@ style="padding: 0; margin: 0; width: 100%; color: #566f94" > <span style="font-size: 14px">杈圭紭渚涘櫒瀹樻瘮鐜�</span><br /> - {{ (this.qualirtData.marginOrganRate * 100).toFixed(2) }}% + {{ (qualirtData.marginOrganRate * 100).toFixed(2) }}% </el-card> </el-col> <el-col :span="12" style="text-align: center"> @@ -382,8 +354,8 @@ > <span style="font-size: 14px" >鍣ㄥ畼淇濆瓨娑茬梾鍘熻弻鍩瑰吇闃虫�х巼</span - > - {{ (this.qualirtData.germPositiveRate * 100).toFixed(2) }}% + ><br /> + {{ (qualirtData.germPositiveRate * 100).toFixed(2) }}% </el-card> </el-col> </el-row> @@ -395,21 +367,19 @@ <el-row> <el-col :span="6" style="text-align: center"> 鎬诲彂鐢熺巼<br /> - {{ - (this.qualirtData.totalPNFRate * 100).toFixed(2) - }}% + {{ (qualirtData.totalPNFRate * 100).toFixed(2) }}% </el-col> <el-col :span="6" style="text-align: center"> DBD<br /> - {{ (this.qualirtData.dbdpnfrate * 100).toFixed(2) }}% + {{ (qualirtData.dbdpnfrate * 100).toFixed(2) }}% </el-col> <el-col :span="6" style="text-align: center"> DCD<br /> - {{ (this.qualirtData.dcdpnfrate * 100).toFixed(2) }}% + {{ (qualirtData.dcdpnfrate * 100).toFixed(2) }}% </el-col> <el-col :span="6" style="text-align: center"> DBCD<br /> - {{ (this.qualirtData.dbcdpnfrate * 100).toFixed(2) }}% + {{ (qualirtData.dbcdpnfrate * 100).toFixed(2) }}% </el-col> </el-row> </el-row> @@ -424,22 +394,22 @@ <el-row> <el-col :span="6" style="text-align: center"> 鎬诲彂鐢熺巼<br />{{ - (this.qualirtData.totalDGFRate * 100).toFixed(2) + (qualirtData.totalDGFRate * 100).toFixed(2) }}% </el-col> <el-col :span="6" style="text-align: center"> DBD<br />{{ - (this.qualirtData.dbddgfrate * 100).toFixed(2) + (qualirtData.dbddgfrate * 100).toFixed(2) }}% </el-col> <el-col :span="6" style="text-align: center"> DCD<br />{{ - (this.qualirtData.dcddgfrate * 100).toFixed(2) + (qualirtData.dcddgfrate * 100).toFixed(2) }}% </el-col> <el-col :span="6" style="text-align: center"> DBCD<br />{{ - (this.qualirtData.dbcddgfrate * 100).toFixed(2) + (qualirtData.dbcddgfrate * 100).toFixed(2) }}% </el-col> </el-row> @@ -475,17 +445,86 @@ </el-col> </el-row> </div> - <div style="width: 24%; margin-top: 10px; padding-left: 10px;"> - <el-card class="box-card" style="padding: 0; font-weight: bold; height: 780px"> + <div style="width: 24%; margin-top: 10px; padding-left: 10px; "> + <el-card + class="box-card" + style="padding: 0; font-weight: bold; height: 780px; " + > <div slot="header" class="clearfix"> - <span style="font-size: 18px; color: #566f94; font-weight: bold">娑堟伅鍒楄〃</span> - <el-button style="float: right; padding: 3px 0" type="text" - >鍏ㄩ儴宸茶</el-button + <span style="font-size: 18px; color: #566f94; font-weight: bold" + >娑堟伅鍒楄〃</span + > + <el-button + v-if="ReadState == 1" + style="float: right; padding: 6px " + type="danger" + plain + @click="FnReadState" + >鏌ョ湅鏈娑堟伅</el-button + > + <el-button + v-else + style="float: right; padding: 6px " + type="info" + plain + @click="FnReadState" + >鏌ョ湅宸茶娑堟伅</el-button > </div> - <div v-for="o in 4" :key="o" class="text item"> - {{ "鍒楄〃鍐呭 " + o }} + <div style="height: 606px;overflow: auto;"> + <el-table :data="tableData" v-loading="loading" style="width: 100%"> + <el-table-column label="閫氱煡鏃ユ湡"> + <template slot-scope="scope"> + <i class="el-icon-time"></i> + <span style="margin-left: 10px">{{ + scope.row.createTime + }}</span> + </template> + </el-table-column> + <el-table-column label="姒傝"> + <template slot-scope="scope"> + <el-popover trigger="hover" placement="top"> + <div class="dialog-class" style="margin: 20px;"> + <div>{{ scope.row.messagecontent }}</div> + <div style=" height: 100px;margin-top: 40px;"> + <span>{{ "澶勭悊浜猴細" + scope.row.sendusername }}</span> + <div>{{ "澶勭悊鏃堕棿锛�" + scope.row.updateTime }}</div> + </div> + <div style="text-align: right; ; margin: 0"> + <el-button + type="primary" + size="mini" + @click="clickMessageDetailed(scope.row)" + >纭畾</el-button + > + </div> + </div> + <div slot="reference" class="name-wrapper"> + <el-tag size="medium">{{ + scope.row.messagetitle + }}</el-tag> + </div> + </el-popover> + </template> + </el-table-column> + <el-table-column label="鐘舵��" align="center" prop="paystatus"> + <template slot-scope="scope"> + <dict-tag + :options="dict.type.sys_messagestatus" + :value="scope.row.isread" + /> + </template> + </el-table-column> + </el-table> </div> + + <pagination + v-show="total > 0" + :total="total" + :page.sync="searchData.pageNum" + :limit.sync="searchData.pageSize" + @pagination="GetMessageList" + /> </el-card> </div> </div> @@ -557,6 +596,13 @@ getOrgansOfHospitalByMonth, getDonateorganSum } from "@/api/project/donateorgan"; +import { getUserProfile } from "@/api/system/user"; +import { + listSystemmessageList, + listSystemmessageCount, + updateSystemmessage +} from "@/api/project/message"; + import Li_area_select from "@/components/Address"; const DEF_TABLE_CONFIG = { @@ -569,6 +615,7 @@ export default { name: "home", + dicts: ["sys_messagestatus"], components: { RankChart, OrganNumChart, @@ -579,7 +626,7 @@ return { city: "", reportno: "", - selecttime: [], + selecttime: [ new Date(new Date().getFullYear(), 0),new Date()], year: "閫夋嫨骞翠唤", isloading: false, maxHeight: 0, @@ -597,7 +644,18 @@ { label: "鍙板窞甯�", value: "A" }, { label: "涓芥按甯�", value: "B" } ], + ReadState: 1, + searchData: { + del_flag: 0, + receiveuserno: "", + isread: null, + pageNum: 1, + pageSize: 10 + }, + total: 0, + loading: false, value: "", + userID: "", //鏃堕棿閫夐」 timeoption: "", //璧峰鏃堕棿 @@ -696,6 +754,28 @@ // value: 0, // }, ], + tableData: [ + { + date: "2016-05-02", + name: "鐜嬪皬铏�", + address: "涓婃捣甯傛櫘闄�鍖洪噾娌欐睙璺� 1518 寮�" + }, + { + date: "2016-05-04", + name: "鐜嬪皬铏�", + address: "涓婃捣甯傛櫘闄�鍖洪噾娌欐睙璺� 1517 寮�" + }, + { + date: "2016-05-01", + name: "鐜嬪皬铏�", + address: "涓婃捣甯傛櫘闄�鍖洪噾娌欐睙璺� 1519 寮�" + }, + { + date: "2016-05-03", + name: "鐜嬪皬铏�", + address: "涓婃捣甯傛櫘闄�鍖洪噾娌欐睙璺� 1516 寮�" + } + ], //缁熻鎸囨爣鏁版嵁 qualirtData: { dbcddgfrate: 0, @@ -760,6 +840,7 @@ // listnewEthicalreviewopinions created() { // this.listnewMedicalevaluation() + this.GetUser(); }, mounted() { this.$nextTick(() => { @@ -773,7 +854,53 @@ }, methods: { getprovincedata() {}, - + GetUser() { + this.loading = true; + getUserProfile() + .then(res => { + this.searchData.receiveuserno = res.data.userName; + this.GetMessageList(); + }) + .catch(error => { + this.$message.error(error); + }); + }, + GetMessageList() { + listSystemmessageList(this.searchData).then(res => { + if (res.code == 200) { + this.tableData = res.rows; + this.loading = false; + this.total = res.total; + } + }); + }, + // 纭畾宸茶 + clickMessageDetailed(item) { + let data = item; + if (data.isread == 0) { + item.isread = 1; + updateSystemmessage(item) + .then(res => { + this.$message.success("宸茶"); + this.GetMessageList(); + }) + .catch(error => {}); + } else { + this.$message.info("姝ゆ秷鎭凡璇�"); + } + }, + // 鍒囨崲璇诲彇鐘舵�� + FnReadState() { + if (this.ReadState == 1) { + this.searchData.isread = 0; + this.ReadState = 0; + this.GetMessageList(); + } else { + this.searchData.isread = 1; + this.ReadState = 1; + this.GetMessageList(); + } + }, get_unix_time(dateStr) { var newstr = dateStr.replace(/-/g, "/"); var date = new Date(newstr); @@ -988,8 +1115,6 @@ // : ""; let info = { - pageNum: 1, - pageSize: 10, starttime: this.starttime, endtime: this.endtime @@ -1036,7 +1161,7 @@ }); //缁堟 - info.recordstate = "99"; + info.terminationCase = 1; listDonatebaseinfo(info).then(res => { this.donateNumData.numberOfTerminated = res.total; }); -- Gitblit v1.9.3