From 91f78c7a3c325b7627f269524cdf92f006948cdf Mon Sep 17 00:00:00 2001
From: WXL (wul) <wl_5969728@163.com>
Date: 星期一, 20 十月 2025 17:37:35 +0800
Subject: [PATCH] 景宁电话接入
---
src/views/followvisit/discharge/index.vue | 1813 +++++++++++++++++++++++++++++++++++++++++++++++-----------
1 files changed, 1,464 insertions(+), 349 deletions(-)
diff --git a/src/views/followvisit/discharge/index.vue b/src/views/followvisit/discharge/index.vue
index 3d30a2e..080eb02 100644
--- a/src/views/followvisit/discharge/index.vue
+++ b/src/views/followvisit/discharge/index.vue
@@ -1,5 +1,67 @@
<template>
<div class="app-container">
+ <div class="leftvlue" style="margin-bottom: 20px">
+ <el-row :gutter="10">
+ <el-col :span="2.5" v-for="(item, index) in cardlist" :key="index">
+ <el-card
+ shadow="hover"
+ :body-style="item.router ? ' cursor: pointer' : 'cursor: default'"
+ >
+ <div style="padding: 8px" @click="$router.push(item.router)">
+ <span>{{ item.name }}</span>
+ <div
+ style="
+ text-align: center;
+ font-size: 18px;
+ margin-top: 10px;
+ font-weight: 600;
+ "
+ >
+ {{ item.value ? item.value : 0 }}
+ </div>
+ </div>
+ </el-card>
+ </el-col>
+ <el-col :span="2.5">
+ <div class="ysfleftvlue">
+ <el-card shadow="hover">
+ <div style="padding: 8px">
+ <span>琛ㄥ崟宸插彂閫�</span>
+ <div
+ style="
+ text-align: center;
+ font-size: 18px;
+ margin-top: 10px;
+ font-weight: 600;
+ "
+ >
+ {{ yfsvalue }}
+ </div>
+ </div>
+ </el-card>
+ </div>
+ </el-col>
+ <el-col :span="2.5">
+ <div class="errleftvlue">
+ <el-card shadow="hover">
+ <div style="padding: 8px">
+ <span>寮傚父</span>
+ <div
+ style="
+ text-align: center;
+ font-size: 18px;
+ margin-top: 10px;
+ font-weight: 600;
+ "
+ >
+ {{ ycvalue }}
+ </div>
+ </div>
+ </el-card>
+ </div>
+ </el-col>
+ </el-row>
+ </div>
<el-row :gutter="20">
<!--鐢ㄦ埛鏁版嵁-->
<el-form
@@ -11,12 +73,13 @@
label-width="98px"
>
<el-form-item label="浠诲姟鍚嶇О">
- <el-input v-model="topqueryParams.taskName"></el-input>
+ <el-input
+ v-model="topqueryParams.taskName"
+ placeholder="璇烽�夋嫨浠诲姟鍚嶇О"
+ ></el-input>
</el-form-item>
- <el-form-item label="鍙戣捣浜�">
- <el-input v-model="topqueryParams.createBy"></el-input>
- </el-form-item>
- <!-- <el-form-item label="瀹℃牳鏃堕棿">
+
+ <el-form-item label="鍑洪櫌鏃堕棿">
<el-date-picker
v-model="dateRange"
style="width: 240px"
@@ -27,21 +90,70 @@
end-placeholder="缁撴潫鏃ユ湡"
></el-date-picker>
</el-form-item>
- <el-form-item label="闅忚绫诲瀷" prop="status">
- <el-select v-model="topqueryParams.topic" placeholder="璇烽�夋嫨">
+ <el-form-item label="搴旈殢璁挎椂闂�">
+ <el-date-picker
+ v-model="dateRangefs"
+ style="width: 240px"
+ value-format="yyyy-MM-dd"
+ type="daterange"
+ range-separator="-"
+ start-placeholder="寮�濮嬫棩鏈�"
+ end-placeholder="缁撴潫鏃ユ湡"
+ ></el-date-picker>
+ </el-form-item>
+
+ <el-form-item label="鎮h�呭鍚�" prop="sendname">
+ <el-input
+ v-model="topqueryParams.sendname"
+ placeholder="璇疯緭鍏ユ偅鑰呭鍚�"
+ ></el-input>
+ </el-form-item>
+ <el-form-item label="璇婃柇鍚嶇О" prop="leavediagname">
+ <el-input
+ v-model="topqueryParams.leavediagname"
+ placeholder="璇疯緭鍏ヨ瘖鏂悕绉�"
+ ></el-input>
+ </el-form-item>
+ <el-form-item label="闅忚浜哄憳" prop="updateBy">
+ <el-input
+ v-model="topqueryParams.updateBy"
+ placeholder="璇疯緭鍏ラ殢璁夸汉鍛�"
+ ></el-input>
+ </el-form-item>
+ <el-form-item label="涓绘不鍖荤敓" prop="drname">
+ <el-input
+ v-model="topqueryParams.drname"
+ placeholder="璇疯緭鍏ヤ富娌诲尰鐢�"
+ ></el-input>
+ </el-form-item>
+ <el-form-item label="缁忕鍖荤敓" prop="managementDoctor">
+ <el-input
+ v-model="topqueryParams.managementDoctor"
+ placeholder="璇疯緭鍏ヤ富娌诲尰鐢�"
+ ></el-input>
+ </el-form-item>
+ <el-form-item label="鏃ユ湡闄愬埗" prop="status">
+ <el-select v-model="endOut" placeholder="璇烽�夋嫨">
<el-option
- v-for="item in topicoptions"
+ v-for="item in endOuts"
:key="item.value"
:label="item.label"
:value="item.value"
>
</el-option>
</el-select>
- </el-form-item> -->
- <el-form-item label="妯℃澘鍚嶇О" prop="status">
- <el-input v-model="topqueryParams.templatename"></el-input>
</el-form-item>
- <el-form-item label="鍑洪櫌闅忚鐘舵��" prop="status">
+ <el-form-item label="鎮h�呰寖鍥�" prop="status">
+ <el-cascader
+ v-model="topqueryParams.scopetype"
+ placeholder="榛樿鍏ㄩ儴"
+ :options="sourcetype"
+ :props="{ expandTrigger: 'hover' }"
+ @change="handleChange"
+ ></el-cascader>
+ </el-form-item>
+
+ <el-form-item label="浠诲姟鐘舵��" prop="status">
<el-select v-model="topqueryParams.sendstate" placeholder="璇烽�夋嫨">
<el-option
v-for="item in topicoptions"
@@ -52,12 +164,24 @@
</el-option>
</el-select>
</el-form-item>
+ <el-form-item label="鎺掑簭鏂瑰紡" prop="status">
+ <el-select v-model="topqueryParams.sort" placeholder="璇烽�夋嫨">
+ <el-option
+ v-for="item in topicoptionssort"
+ :key="item.value"
+ :label="item.label"
+ :value="item.value"
+ >
+ </el-option>
+ </el-select>
+ </el-form-item>
+
<el-form-item>
<el-button
type="primary"
icon="el-icon-search"
size="medium"
- @click="handleQuery"
+ @click="handleQuery(1)"
>鎼滅储</el-button
>
<el-button icon="el-icon-refresh" size="medium" @click="resetQuery"
@@ -67,17 +191,6 @@
</el-form>
<el-divider></el-divider>
<el-row :gutter="10" class="mb8">
- <el-col :span="1.5">
- <el-button
- type="primary"
- plain
- icon="el-icon-plus"
- size="medium"
- @click="handleAdd"
- v-hasPermi="['system:user:add']"
- >鏂板</el-button
- >
- </el-col>
<!-- <el-col :span="1.5">
<div class="documentf">
<div class="document">
@@ -87,8 +200,45 @@
icon="el-icon-upload2"
size="medium"
@click="handleExport"
- v-hasPermi="['system:user:export']"
>瀵煎嚭</el-button
+ >
+ </div>
+ </div>
+ </el-col> -->
+ <el-col :span="1.5">
+ <el-button
+ type="primary"
+ icon="el-icon-plus"
+ size="medium"
+ @click="handleAdd"
+ >鏂板</el-button
+ >
+ </el-col>
+
+ <el-col :span="1.5">
+ <div class="documentf">
+ <div class="document">
+ <el-button
+ type="warning"
+ plain
+ icon="el-icon-warning-outline"
+ size="medium"
+ @click="toleadExport(1)"
+ >鎵ц澶辫触</el-button
+ >
+ </div>
+ </div>
+ </el-col>
+ <el-col :span="1.5">
+ <div class="documentf">
+ <div class="document">
+ <el-button
+ type="danger"
+ plain
+ icon="el-icon-warning"
+ size="medium"
+ @click="toleadExport(2)"
+ >缁撴灉寮傚父</el-button
>
</div>
</div>
@@ -99,11 +249,9 @@
<el-button
type="success"
plain
- icon="el-icon-download"
size="medium"
- @click="toleadExport"
- v-hasPermi="['system:user:export']"
- >瀵煎叆</el-button
+ @click="buidegetTasklist()"
+ >寰呭姙鏈嶅姟</el-button
>
</div>
</div>
@@ -111,13 +259,8 @@
<el-col :span="1.5">
<div class="documentf">
<div class="document">
- <el-button
- type="info"
- icon="el-icon-refresh"
- size="medium"
- @click="TaskReset"
- v-hasPermi="['system:user:export']"
- >浠诲姟閲嶇疆</el-button
+ <el-button type="primary" size="medium" @click="affiliation()"
+ >鏈汉鎵�灞炴湇鍔�</el-button
>
</div>
</div>
@@ -125,142 +268,152 @@
<el-col :span="1.5">
<div class="documentf">
<div class="document">
- <el-button
- type="success"
- icon="el-icon-position"
- size="medium"
- @click="AllStarted"
- v-hasPermi="['system:user:export']"
- >鍏ㄩ儴寮�濮�</el-button
+ <el-button type="success" size="medium" @click="onthatday()"
+ >浠婃棩鏈嶅姟</el-button
>
</div>
</div>
</el-col>
- <el-col :span="1.5">
+ <!-- <el-col :span="1.5">
<div class="documentf">
<div class="document">
- <el-button
- type="warning"
- icon="el-icon-remove"
- size="medium"
- @click="AllStop"
- v-hasPermi="['system:user:export']"
- >鍏ㄩ儴鍋滄</el-button
+ <el-tooltip
+ content="璇峰厛閫変腑鏈嶅姟"
+ placement="top"
+ :disabled="!multiple"
>
- </div>
- </div>
- </el-col>
- <el-col :span="1.5">
- <div class="documentf">
- <div class="document">
- <el-button
- type="primary"
- icon="el-icon-remove"
- size="medium"
- @click="Sendtimesetting"
- v-hasPermi="['system:user:export']"
- >鍙戦�佹椂闂磋缃�</el-button
- >
+ <div class="tooltip-wrapper">
+ <el-button
+ type="primary"
+ :disabled="multiple"
+ class="purple-button"
+ @click="scoreDialogVisible = true"
+ >
+ 婊℃剰搴﹁皟鏌�
+ </el-button>
+ </div>
+ </el-tooltip>
</div>
</div>
</el-col> -->
-
- <!-- <el-col :span="1.5"> </el-col> -->
</el-row>
<el-table
v-loading="loading"
+ ref="userform"
:data="userList"
+ :row-class-name="tableRowClassName"
@selection-change="handleSelectionChange"
>
<el-table-column type="selection" width="50" align="center" />
- <el-table-column label="搴忓彿" fixed align="center" key="id" prop="id" />
+ <el-table-column
+ label="浠诲姟鍚嶇О"
+ fixed
+ width="150"
+ show-overflow-tooltip
+ align="center"
+ key="taskName"
+ prop="taskName"
+ />
+ <!-- <el-table-column label="搴忓彿" fixed align="center" key="id" prop="id" /> -->
<el-table-column
label="濮撳悕"
- fixed
+ width="100"
align="center"
key="sendname"
prop="sendname"
- />
- <el-table-column
- label="鐥呭巻鍙�"
- align="center"
- sortable
- key="medicalRecordNo"
- prop="medicalRecordNo"
- width="120"
- />
-
- <el-table-column label="骞撮緞" align="center" key="age" prop="age" />
- <el-table-column label="鎬у埆" align="center" key="sex" prop="sex" />
- <el-table-column label="搴婂彿" align="center" key="badNo" prop="badNo" />
- <el-table-column
- label="鐥呭尯"
- align="center"
- key="deptname"
- prop="deptname"
- width="120"
>
+ <template slot-scope="scope">
+ <el-button
+ size="medium"
+ type="text"
+ @click="
+ gettoken360(scope.row.sfzh, scope.row.drcode, scope.row.drname)
+ "
+ ><span class="button-textsc">{{
+ scope.row.sendname
+ }}</span></el-button
+ >
+ </template>
</el-table-column>
-
<el-table-column
- label="鐤剧梾鍚嶇О"
+ label="璇婃柇鍚嶇О"
align="center"
- key="icdName"
- prop="icdName"
+ key="leavediagname"
+ prop="leavediagname"
width="120"
:show-overflow-tooltip="true"
>
</el-table-column>
<el-table-column
- label="浠诲姟鍚嶇О"
+ label="浠诲姟鐘舵��"
align="center"
- key="taskName"
- prop="taskName"
+ key="sendstate"
+ prop="sendstate"
width="120"
- />
-
- <el-table-column
- label="闅忚鏂瑰紡锛堥渶璋冩暣鏍煎紡锛�"
- align="center"
- key="serviceform"
- prop="serviceform"
- width="120"
- />
- <el-table-column
- label="闅忚浜哄憳"
- align="center"
- key="operator"
- prop="operator"
- width="120"
- />
-
- <el-table-column
- label="灏辫瘖鏃堕棿"
- sortable
- align="center"
- prop="admindate"
- width="160"
>
<template slot-scope="scope">
- <span>{{ parseTime(scope.row.admindate) }}</span>
+ <el-tooltip
+ class="item"
+ effect="dark"
+ :content="scope.row.remark"
+ placement="top-start"
+ >
+ <div v-if="scope.row.sendstate == 1">
+ <el-tag type="primary" :disable-transitions="false"
+ >琛ㄥ崟宸查鍙�</el-tag
+ >
+ </div>
+ <div v-if="scope.row.sendstate == 2">
+ <el-tag type="primary" :disable-transitions="false"
+ >寰呴殢璁�</el-tag
+ >
+ </div>
+ <div v-if="scope.row.sendstate == 3">
+ <el-tag type="success" :disable-transitions="false"
+ >琛ㄥ崟宸插彂閫�</el-tag
+ >
+ </div>
+ <div v-if="scope.row.sendstate == 4">
+ <el-tag type="info" :disable-transitions="false">涓嶆墽琛�</el-tag>
+ </div>
+ <div v-if="scope.row.sendstate == 5">
+ <el-tag type="danger" :disable-transitions="false"
+ >鍙戦�佸け璐�</el-tag
+ >
+ </div>
+ <div v-if="scope.row.sendstate == 6">
+ <el-tag type="success" :disable-transitions="false"
+ >宸插畬鎴�</el-tag
+ >
+ </div>
+ </el-tooltip>
</template>
</el-table-column>
<!-- <el-table-column
- label="闅忚鏃堕棿"
- sortable
+ label="浠诲姟寮傚父璇存槑"
+ width="120"
align="center"
- prop="createTime"
- width="160"
+ key="remark"
+ prop="remark" -->
+ />
+
+ <el-table-column
+ label="澶勭悊鎰忚"
+ align="center"
+ key="suggest"
+ prop="suggest"
+ width="120"
>
<template slot-scope="scope">
- <span v-if="scope.row.sendType != 3">{{
- parseTime(scope.row.createTime)
- }}</span>
- <span v-else>鍗冲埢鍙戦��</span>
+ <dict-tag
+ :options="dict.type.sys_suggest"
+ :value="scope.row.suggest"
+ />
</template>
- </el-table-column> -->
+ </el-table-column>
+
<el-table-column
- label="闅忚鏃堕棿"
+ label="闅忚瀹屾垚鏃堕棿"
sortable
align="center"
prop="finishtime"
@@ -271,46 +424,196 @@
</template>
</el-table-column>
<el-table-column
- label="闅忚鐘舵��"
- fixed="right"
+ label="鍑洪櫌鏃ユ湡"
+ width="200"
align="center"
- key="sendstate"
- prop="sendstate"
- width="120"
- :show-overflow-tooltip="true"
+ key="endtime"
+ prop="endtime"
>
<template slot-scope="scope">
- <dict-tag :options="serviceState" :value="scope.row.sendstate" />
+ <span>{{ formatTime(scope.row.endtime) }}</span>
+ </template></el-table-column
+ >
+ <el-table-column
+ label="搴旈殢璁挎棩鏈�"
+ width="200"
+ align="center"
+ key="longSendTime"
+ prop="longSendTime"
+ >
+ <template slot-scope="scope">
+ <span>{{ formatTime(scope.row.longSendTime) }}</span>
+ </template></el-table-column
+ >
+ <el-table-column
+ label="涓绘不鍖荤敓"
+ width="120"
+ align="center"
+ key="drname"
+ prop="drname"
+ />
+ <el-table-column
+ v-if="orgname != '涓芥按甯備腑鍖婚櫌'"
+ label="闅忚浜哄憳"
+ align="center"
+ key="updateBy"
+ prop="updateBy"
+ width="120"
+ />
+ <el-table-column
+ v-if="orgname != '涓芥按甯備腑鍖婚櫌'"
+ label="缁忕鍖荤敓"
+ align="center"
+ key="managementDoctor"
+ prop="managementDoctor"
+ width="120"
+ />
+ <el-table-column
+ label="鍑洪櫌澶╂暟"
+ width="120"
+ align="center"
+ key="endDay"
+ prop="endDay"
+ >
+ <template slot-scope="scope">
+ <span>{{ scope.row.endDay ? scope.row.endDay + "澶�" : "" }}</span>
</template>
+ </el-table-column>
+ <el-table-column
+ label="韬唤璇佸彿鐮�"
+ width="200"
+ align="center"
+ key="sfzh"
+ prop="sfzh"
+ />
+ <el-table-column
+ label="鑱旂郴鐢佃瘽"
+ width="200"
+ align="center"
+ key="phone"
+ prop="phone"
+ />
+ <el-table-column
+ label="璐d换鎶ゅ+"
+ width="120"
+ align="center"
+ key="nurseName"
+ prop="nurseName"
+ />
+
+ <!-- <el-table-column
+ label="鐥呭巻鍙�"
+ align="center"
+ sortable
+ key="medicalRecordNo"
+ prop="medicalRecordNo"
+ width="120"
+ /> -->
+
+ <!-- <el-table-column label="骞撮緞" align="center" key="age" prop="age" /> -->
+ <!-- <el-table-column label="鎬у埆"width="100" align="center" key="sex" prop="sex" /> -->
+ <!-- <el-table-column label="搴婂彿" align="center" key="badNo" prop="badNo" /> -->
+ <el-table-column
+ label="绉戝"
+ align="center"
+ key="deptname"
+ prop="deptname"
+ width="120"
+ >
+ </el-table-column>
+ <el-table-column
+ label="鐥呭尯"
+ align="center"
+ key="leavehospitaldistrictname"
+ prop="leavehospitaldistrictname"
+ width="120"
+ >
</el-table-column>
<el-table-column
- label="鎿嶄綔"
- fixed="right"
+ label="鍑洪櫌闅忚妯℃澘鍚嶇О"
align="center"
+ key="templatename"
+ prop="templatename"
width="200"
+ />
+ <el-table-column
+ label="浠诲姟鎵ц鏂瑰紡"
+ align="center"
+ key="preachform"
+ prop="preachform"
+ width="160"
+ :show-overflow-tooltip="true"
+ >
+ <template slot-scope="scope">
+ <span v-for="item in scope.row.preachform">{{ item }}銆� </span>
+ </template>
+ </el-table-column>
+ <!-- <el-table-column
+ label="浠诲姟鍙戦�佹祦绋�"
+ align="center"
+ key="serviceSubtaskRecordList"
+ prop="serviceSubtaskRecordList"
+ width="160"
+ :show-overflow-tooltip="true"
+ >
+ <template slot-scope="scope">
+ <span v-for="item in scope.row.serviceSubtaskRecordList"
+ >{{ item.remark }}銆�
+ </span>
+ </template>
+ </el-table-column> -->
+ <el-table-column
+ label="浠诲姟缁撴灉璇存槑"
+ width="220"
+ align="center"
+ key="remark"
+ prop="remark"
+ >
+ <template slot-scope="scope" v-if="scope.row.remark">
+ <el-tooltip
+ :content="scope.row.remark"
+ placement="top"
+ effect="dark"
+ >
+ <el-tag
+ type="warning"
+ v-if="scope.row.sendstate != 5 && scope.row.sendstate != 4"
+ >{{ scope.row.remark }}</el-tag
+ >
+ <el-tag type="warning" v-else>{{ scope.row.remark }}</el-tag>
+ </el-tooltip>
+ </template>
+ </el-table-column>
+ <el-table-column
+ label="鎿嶄綔"
+ align="center"
+ fixed="right"
+ width="300"
class-name="small-padding fixed-width"
>
<template slot-scope="scope">
<!-- <el-tooltip
class="item"
effect="dark"
- content="閲嶆柊闅忚"
+ content="鍐嶆闅忚"
placement="top"
>
<el-button
size="medium"
type="text"
+ v-if="scope.row.isVisitAgain!=2"
@click="followupvisit(scope.row)"
- v-hasPermi="['system:user:edit']"
><span class="button-bb"
- ><i class="el-icon-s-promotion"></i></span
- ></el-button>
- </el-tooltip> -->
- <!-- <el-tooltip
+ ><i class="el-icon-s-promotion"></i>鍐嶆闅忚</span
+ ></el-button
+ >
+ </el-tooltip>
+ <el-tooltip
+ v-if="scope.row.sendstate == 1 || scope.row.sendstate == 2"
class="item"
effect="dark"
- content="鍋滄"
+ content="鏆傚仠鏈嶅姟"
placement="top"
>
<el-button
@@ -318,30 +621,22 @@
type="text"
@click="handlestop(scope.row)"
v-hasPermi="['system:user:edit']"
- ><span class="button-sc"><i class="el-icon-delete"></i></span
- ></el-button>
+ ><span class="button-sc"
+ ><i class="el-icon-remove-outline"></i>鏆傚仠鏈嶅姟</span
+ ></el-button
+ >
</el-tooltip> -->
- <!-- <el-tooltip
- class="item"
- effect="dark"
- content="鏌ョ湅浠诲姟璇︽儏"
- placement="top"
+ <el-button size="medium" type="text" @click="Seedetails(scope.row)"
+ ><span class="button-zx"
+ ><i class="el-icon-s-order"></i>鏌ョ湅璇︽儏</span
+ ></el-button
>
- <el-button
- size="medium"
- type="text"
- @click="Seedetails(scope.row)"
- v-hasPermi="['system:user:edit']"
- ><span class="button-zx"><i class="el-icon-s-order"></i></span
- ></el-button>
- </el-tooltip> -->
<el-button
size="medium"
type="text"
- @click="Seedetails(scope.row)"
- v-hasPermi="['system:user:edit']"
- ><span class="button-zx"
- ><i class="el-icon-s-order"></i>鏌ョ湅璇︽儏</span
+ @click="handleUpdate(scope.row)"
+ ><span class="button-textxga"
+ ><i class="el-icon-edit"></i>鎮h�呰繃婊�</span
></el-button
>
</template>
@@ -356,58 +651,246 @@
@pagination="getList"
/>
</el-row>
- <!-- 娣诲姞鎴栦慨鏀归棬璇婇殢璁垮璇濇 -->
+ <!-- 婊℃剰搴﹀脊妗� -->
<el-dialog
- :title="title"
- :visible.sync="addalteropen"
- width="700px"
- append-to-body
+ title="闅忚婊℃剰搴﹁瘎鍒�"
+ :visible.sync="scoreDialogVisible"
+ width="80%"
+ :close-on-click-modal="false"
>
- <el-form ref="form" :model="form" label-width="100px">
- <el-row :gutter="20">
- <el-col :span="12"
- ><el-form-item label="浠诲姟鍚嶇О">
- <el-input v-model="form.name"></el-input> </el-form-item
- ></el-col>
- </el-row>
- <el-row :gutter="20">
- <el-col :span="24"
- ><el-form-item label="鎵�灞炵瀹�">
- <el-select v-model="form.region" placeholder="璇烽�夋嫨绉戝">
- <el-option label="鍖哄煙涓�" value="shanghai"></el-option>
- <el-option label="鍖哄煙浜�" value="beijing"></el-option>
- </el-select> </el-form-item></el-col
- ></el-row>
- <el-row :gutter="20">
- <el-col :span="24"
- ><el-form-item label="闅忚绫诲瀷">
- <el-select v-model="form.region" placeholder="璇烽�夋嫨闅忚绫诲瀷">
- <el-option label="鍖哄煙涓�" value="shanghai"></el-option>
- <el-option label="鍖哄煙浜�" value="beijing"></el-option>
- </el-select> </el-form-item
- ></el-col>
- </el-row>
- <el-row :gutter="20">
- <el-col :span="24">
- <el-form-item label="鏈嶅姟妯″潡">
- <el-select v-model="form.region" placeholder="璇烽�夋嫨妯″潡">
- <el-option label="鍖哄煙涓�" value="shanghai"></el-option>
- <el-option label="鍖哄煙浜�" value="beijing"></el-option>
+ <el-table :data="selectedRows" border style="width: 100%">
+ <el-table-column
+ label="濮撳悕"
+ width="100"
+ align="center"
+ prop="sendname"
+ />
+ <el-table-column
+ label="浠诲姟鍚嶇О"
+ width="180"
+ align="center"
+ prop="taskName"
+ />
+ <!-- 鏂板璇勫垎鍒� -->
+ <el-table-column
+ label="鐪熷疄鎬�(20)"
+ align="center"
+ key="authenticity"
+ prop="authenticity"
+ width="150"
+ >
+ <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"
+ width="150"
+ >
+ <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"
+ width="150"
+ >
+ <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"
+ width="150"
+ >
+ <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"
+ width="150"
+ >
+ <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"
+ width="150"
+ >
+ <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="150"
+ >
+ <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="150"
+ >
+ <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"
+ fixed="right"
+ >
+ <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��'"
+ :visible.sync="Labelchange"
+ width="900px"
+ >
+ <el-form ref="form" :model="form" :rules="rules" label-width="100px">
+ <el-row>
+ <el-col :span="8">
+ <el-form-item label="濮撳悕" width="100" prop="name">
+ <el-input
+ v-model="form.name"
+ placeholder="璇疯緭鍏ュ鍚�"
+ maxlength="30"
+ />
+ </el-form-item>
+ </el-col>
+ <el-col :span="8">
+ <el-form-item label="鎬у埆" width="100" prop="sex">
+ <el-select v-model="form.sex" placeholder="璇烽�夋嫨鎬у埆">
+ <el-option
+ v-for="dict in sextype"
+ :key="dict.value"
+ :label="dict.label"
+ :value="dict.value"
+ ></el-option>
</el-select>
</el-form-item>
</el-col>
+ <el-col :span="8">
+ <el-form-item label="骞撮緞" prop="age">
+ <el-input
+ v-model="form.age"
+ placeholder="璇疯緭鍏ュ勾榫�"
+ maxlength="30"
+ />
+ </el-form-item>
+ </el-col>
</el-row>
- <el-row :gutter="20">
+ <el-row>
+ <el-col :span="8">
+ <el-form-item label="杩囨护鍖荤敓" width="100" prop="filterDrname">
+ <el-input
+ v-model="form.filterDrname"
+ placeholder="璇疯緭鍏ュ尰鐢熷鍚�"
+ maxlength="30"
+ />
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row>
<el-col :span="24">
- <el-form-item label="闂ㄨ瘖闅忚瑕佹眰">
- <el-input type="textarea" v-model="form.desc"></el-input>
+ <el-form-item label="杩囨护鍘熷洜">
+ <el-input
+ v-model="form.notrequiredreason"
+ type="textarea"
+ placeholder="璇疯緭鍏ヨ繃婊ゅ師鍥�"
+ ></el-input>
</el-form-item>
</el-col>
</el-row>
</el-form>
<div slot="footer" class="dialog-footer">
- <el-button type="primary" @click="submitForm">鎻� 浜�</el-button>
- <el-button @click="cancel">杩� 鍥�</el-button>
+ <el-button type="primary" @click="submitForm">纭� 瀹�</el-button>
+ <el-button @click="cancel">鍙� 娑�</el-button>
</div>
</el-dialog>
<!-- 淇敼鍙戦�佹椂闂村璇濇 -->
@@ -485,27 +968,104 @@
>
</span>
</el-dialog>
+ <!-- 鍐嶆闅忚 -->
+ <el-dialog title="鎮h�呭啀娆¢殢璁�" :visible.sync="dialogFormVisible">
+ <el-form ref="zcform" :rules="zcrules" :model="zcform" label-width="80px">
+ <el-form-item label="浠诲姟鍚嶇О">
+ <el-input
+ style="width: 400px"
+ disabled
+ v-model="zcform.taskName"
+ ></el-input>
+ </el-form-item>
+ <el-form-item label="鎮h�呭悕绉�">
+ <el-input
+ style="width: 400px"
+ disabled
+ v-model="zcform.sendname"
+ ></el-input>
+ </el-form-item>
+ <el-form-item label="骞撮緞">
+ <el-input
+ style="width: 400px"
+ disabled
+ v-model="zcform.age"
+ ></el-input>
+ </el-form-item>
+ <el-form-item label="绉戝">
+ <el-input
+ style="width: 400px"
+ disabled
+ v-model="zcform.deptname"
+ ></el-input>
+ </el-form-item>
+ <el-form-item label="鐥呭尯">
+ <el-input
+ style="width: 400px"
+ disabled
+ v-model="zcform.leavehospitaldistrictname"
+ ></el-input>
+ </el-form-item>
+
+ <el-form-item label="闅忚鏂瑰紡" prop="resource">
+ <el-radio-group v-model="zcform.resource">
+ <el-radio label="1">鏈梾鍖洪殢璁�</el-radio>
+ <el-radio label="2">闅忚涓績闅忚</el-radio>
+ </el-radio-group>
+ </el-form-item>
+ <!-- <el-form-item label="鍗冲埢鍙戦��">
+ <el-switch v-model="zcform.delivery"></el-switch>
+ </el-form-item> -->
+ <el-form-item label="鍑洪櫌鏃堕棿">
+ <el-input
+ style="width: 400px"
+ disabled
+ v-model="zcform.endtime"
+ ></el-input>
+ </el-form-item>
+ <el-form-item label="闅忚瀹屾垚鏃堕棿" prop="date1">
+ <el-date-picker
+ type="date"
+ placeholder="閫夋嫨鏃ユ湡"
+ v-model="zcform.date1"
+ style="width: 100%"
+ ></el-date-picker>
+ </el-form-item>
+ <el-form-item label="闅忚璁板綍">
+ <el-input type="textarea" v-model="zcform.remark"></el-input>
+ </el-form-item>
+ </el-form>
+ <div slot="footer" class="dialog-footer">
+ <el-button @click="dialogFormVisible = false">鍙� 娑�</el-button>
+ <el-button type="primary" @click="setupsubtask">纭鍒涘缓鏈嶅姟</el-button>
+ </div>
+ </el-dialog>
</div>
</template>
<script>
import {
- listUser,
- getUser,
delUser,
addUser,
updateUser,
resetUserPwd,
changeUserStatus,
} from "@/api/system/user";
-import { getTaskservelist } from "@/api/AiCentre/index";
+import {
+ getTaskservelist,
+ buidegetTasklist,
+ addserviceSubtask,
+ query360PatInfo,
+ addsatisfaction,
+} from "@/api/AiCentre/index";
+import { alterpatient, particularpatient } from "@/api/patient/homepage";
import Treeselect from "@riophae/vue-treeselect";
import store from "@/store";
import "@riophae/vue-treeselect/dist/vue-treeselect.css";
export default {
- name: "User",
- dicts: ["sys_normal_disable", "sys_user_sex"],
+ name: "Discharge",
+ dicts: ["sys_normal_disable", "sys_user_sex", "sys_yujing", "sys_suggest"],
components: { Treeselect },
data() {
return {
@@ -519,12 +1079,13 @@
multiple: true,
// 鏄剧ず鎼滅储鏉′欢
showSearch: true,
+ dialogFormVisible: false,
// 鎬绘潯鏁�
total: 0,
// 鐢ㄦ埛琛ㄦ牸鏁版嵁
userList: null,
// 寮瑰嚭灞傛爣棰�
- title: "鏂板闂ㄨ瘖闅忚",
+ title: "鏂板褰卞儚闅忚",
// 鏄惁鏄剧ず淇敼銆佹坊鍔犲脊鍑哄眰
addalteropen: false,
// 淇敼鍙戦�佹椂闂村璇濇
@@ -535,106 +1096,86 @@
initPassword: undefined,
// 鏃ユ湡鑼冨洿
dateRange: [],
+ dateRangefs: [],
// 宀椾綅閫夐」
postOptions: [],
ruleForm: {
type: [],
},
+ zcform: {},
dynamicTags: ["閫夐」涓�", "閫夐」浜�", "閫夐」涓�"], //閫夐」
inputVisible: false,
+ Labelchange: false,
+ ycvalue: "",
+ yfsvalue: "",
inputValue: "",
- previewVisible: false, //闂ㄨ瘖闅忚棰勮寮规
+ preachform: "",
+ previewVisible: false, //褰卞儚闅忚棰勮寮规
radio: "",
radios: [],
- previewtype: 2, //棰勮闂ㄨ瘖闅忚绫诲瀷
+ previewtype: 2, //棰勮褰卞儚闅忚绫诲瀷
total: 0, // 鎬绘潯鏁�
- ImportQuantity: 999, //瀵奸棬璇婇殢璁挎暟閲�
- //棰勮闂ㄨ瘖闅忚淇℃伅
- previewvalue: {
- username: "杩欎釜鍖荤敓瀵逛綘鎬庝箞鏍�",
- },
+ // 婊℃剰搴﹁皟鏌ユ暟鎹�
+ scoreDialogVisible: false,
+ selectedRows: [],
+
value: [],
list: [],
- loading: false,
- states: [
- "Alabama",
- "Alaska",
- "Arizona",
- "Arkansas",
- "California",
- "Colorado",
- "Connecticut",
- "Delaware",
- "Florida",
- "Georgia",
- "Hawaii",
- "Idaho",
- "Illinois",
- "Indiana",
- "Iowa",
- "Kansas",
- "Kentucky",
- "Louisiana",
- "Maine",
- "Maryland",
- "Massachusetts",
- "Michigan",
- "Minnesota",
- "Mississippi",
- "Missouri",
- "Montana",
- "Nebraska",
- "Nevada",
- "New Hampshire",
- "New Jersey",
- "New Mexico",
- "New York",
- "North Carolina",
- "North Dakota",
- "Ohio",
- "Oklahoma",
- "Oregon",
- "Pennsylvania",
- "Rhode Island",
- "South Carolina",
- "South Dakota",
- "Tennessee",
- "Texas",
- "Utah",
- "Vermont",
- "Virginia",
- "Washington",
- "West Virginia",
- "Wisconsin",
- "Wyoming",
- ],
- pickerOptions: {
- disabledDate(time) {
- return time.getTime() > Date.now();
+
+ sourcetype: [
+ {
+ value: 1,
+ label: "绉戝",
+ children: [],
},
- shortcuts: [
- {
- text: "浠婂ぉ",
- onClick(picker) {
- picker.$emit("pick", new Date());
- },
- },
- {
- text: "鏄ㄥぉ",
- onClick(picker) {
- const date = new Date();
- date.setTime(date.getTime() - 3600 * 1000 * 24);
- picker.$emit("pick", date);
- },
- },
- {
- text: "涓�鍛ㄥ墠",
- onClick(picker) {
- const date = new Date();
- date.setTime(date.getTime() - 3600 * 1000 * 24 * 7);
- picker.$emit("pick", date);
- },
- },
+ {
+ value: 2,
+ label: "鐥呭尯",
+ children: [],
+ },
+ {
+ value: 3,
+ label: "鍏ㄩ儴",
+ },
+ ],
+ loading: false,
+ cardlist: [
+ {
+ name: "鍑洪櫌鏈嶅姟鎬婚噺",
+ value: 0,
+ },
+ // {
+ // name: "鎮h�呰繃婊�",
+ // value: 0,
+ // },
+ {
+ name: "闇�闅忚",
+ value: 0,
+ },
+ {
+ name: "鍙戦�佸け璐�",
+ value: 0,
+ },
+ {
+ name: "寰呴殢璁�",
+ value: 0,
+ },
+ // {
+ // name: "宸插彂閫�",
+ // value: 0,
+ // },
+
+ // {
+ // name: "琛ㄥ崟宸插彂閫�",
+ // value: 0,
+ // },
+ ],
+ zcrules: {
+ date1: [
+ { required: true, message: "璇烽�夋嫨闅忚鏂瑰紡", trigger: "change" },
+ ],
+ resource: [
+ { required: true, message: "璇烽�夋嫨闅忚鏃堕棿", trigger: "blur" },
],
},
// 琛ㄥ崟鍙傛暟
@@ -646,30 +1187,149 @@
qystatus: "",
btstatus: "",
},
+ endOut: 1,
+ endOuts: [
+ {
+ value: 0,
+ label: "鎴鑷冲綋鏃ユ湇鍔�",
+ },
+ {
+ value: 1,
+ label: "鍏ㄩ儴鏈嶅姟",
+ },
+ ],
+ topicoptionssort: [
+ {
+ value: 0,
+ label: "鍑洪櫌鏃堕棿(姝e簭)",
+ },
+ {
+ value: 1,
+ label: "鍑洪櫌鏃堕棿(鍊掑簭)",
+ },
+ {
+ value: 2,
+ label: "鍙戦�佹椂闂�(姝e簭)",
+ },
+ {
+ value: 3,
+ label: "鍙戦�佹椂闂�(鍊掑簭)",
+ },
+ {
+ value: 7,
+ label: "搴旈殢璁挎棩鏈�(姝e簭)",
+ },
+ {
+ value: 8,
+ label: "搴旈殢璁挎棩鏈�(鍊掑簭)",
+ },
+ ],
// 鏌ヨ鍙傛暟
topqueryParams: {
pageNum: 1,
pageSize: 10,
- serviceType:2,
+ sendstate: 2,
+ sort: localStorage.getItem("orgname") == "涓芥按甯備腑鍖婚櫌" ? 8 : 2, //0 鍑洪櫌鏃堕棿(姝e簭) 1 鍑洪櫌鏃堕棿(鍊掑簭) 2 鍙戦�佹椂闂�(姝e簭) 3 鍙戦�佹椂闂�(鍊掑簭) 7搴旈殢璁挎棩鏈�(鍊掑簭) 搴旈殢璁挎棩鏈�(姝e簭)
+ serviceType: 2,
+ searchscope: 3,
+ visitCount: 1,
+ scopetype: [],
+ leaveldeptcodes: [],
+ leavehospitaldistrictcodes: [],
},
+ orgname: "",
propss: { multiple: true },
options: [],
topicoptions: [
{
+ value: null,
+ label: "鍏ㄩ儴",
+ },
+ {
value: 1,
- label: "琚鍙�",
+ label: "琛ㄥ崟宸查鍙�",
},
{
value: 2,
- label: "寰呭彂閫�",
+ label: "寰呴殢璁�",
},
{
value: 3,
- label: "宸插彂閫�",
+ label: "琛ㄥ崟宸插彂閫�",
+ },
+ {
+ value: 4,
+ label: "涓嶆墽琛�",
+ },
+ {
+ value: 5,
+ label: "鍙戦�佸け璐�",
+ },
+ {
+ value: 6,
+ label: "宸插畬鎴�",
},
],
+ sextype: [
+ {
+ value: 1,
+ label: "鐢�",
+ },
+ {
+ value: 2,
+ label: "濂�",
+ },
+ ],
+ topicoptionsyj: [
+ {
+ value: 1,
+ label: "寮傚父",
+ },
+ {
+ value: 0,
+ label: "姝e父",
+ },
+ ],
+ url: "http://9.208.2.190:8090/smartor/serviceExternal/query360PatInfo",
+ postData: {
+ XiaoXiTou: {
+ FaSongFCSJC: "ZJHES",
+ FaSongJGID: localStorage.getItem("orgid"),
+ FaSongJGMC: localStorage.getItem("orgname"),
+ FaSongSJ: "2025-01-09聽17:29:36",
+ FaSongXTJC: "SUIFANGXT",
+ FaSongXTMC: "闅忚绯荤粺",
+ XiaoXiID: "5FA92AFB-9833-4608-87C7-F56A654AC171",
+ XiaoXiLX: "SC_LC_360STCX",
+ XiaoXiMC: "360聽瑙嗗浘鏌ヨ",
+ ZuHuID: localStorage.getItem("ZuHuID"),
+ ZuHuMC: localStorage.getItem("orgname"),
+ },
+ YeWuXX: {
+ BingRenXX: {
+ ZhengJianHM: "",
+ ZhengJianLXDM: "01",
+ ZhengJianLXMC: "灞呮皯韬唤璇�",
+ ZuZhiJGID: localStorage.getItem("orgid"),
+ ZuZhiJGMC: localStorage.getItem("orgname"),
+ },
+ YongHuXX: {
+ XiTongID: "SUIFANGXT",
+ XiTongMC: "闅忚绯荤粺",
+ YongHuID: localStorage.getItem("YongHuID"),
+ YongHuXM: localStorage.getItem("YongHuXM"),
+ ZuZhiJGID: localStorage.getItem("orgid"),
+ ZuZhiJGMC: localStorage.getItem("orgname"),
+ idp: "lyra",
+ },
+ },
+ },
+ amendtag: false,
+ errtype: "",
+ leavehospitaldistrictcode: "",
serviceState: [],
+ checkboxlist: [],
// 琛ㄥ崟鏍¢獙
rules: {},
};
@@ -677,25 +1337,200 @@
watch: {},
created() {
this.serviceState = store.getters.serviceState;
- this.getList();
+ this.checkboxlist = store.getters.checkboxlist;
+ this.errtype = this.$route.query.errtype;
+ this.orgname = localStorage.getItem("orgname");
+ this.leavehospitaldistrictcode =
+ this.$route.query.leavehospitaldistrictcode;
+ this.sourcetype[0].children = store.getters.belongDepts.map((dept) => {
+ return {
+ label: dept.deptName,
+ value: dept.deptCode,
+ };
+ });
+ this.sourcetype[1].children = store.getters.belongWards.map((dept) => {
+ return {
+ label: dept.districtName,
+ value: dept.districtCode,
+ };
+ });
+ if (this.errtype) {
+ this.toleadExport(2);
+ } else {
+ this.getList(1);
+ }
this.getConfigKey("sys.user.initPassword").then((response) => {
this.initPassword = response.msg;
});
},
- // 鎼滅储
- mounted() {
- this.list = this.states.map((item) => {
- return { value: `value:${item}`, label: `label:${item}` };
- });
+ activated() {
+ this.getList(1);
},
methods: {
- /** 鏌ヨ闂ㄨ瘖闅忚鏈嶅姟鍒楄〃 */
- getList() {
+ /** 鏌ヨ闅忚鏈嶅姟鍒楄〃 */
+ getList(refresh) {
+ // 榛樿鍏ㄩ儴
+ if (this.topqueryParams.searchscope == 3) {
+ this.topqueryParams.leaveldeptcodes = store.getters.belongDepts.map(
+ (obj) => obj.deptCode
+ );
+ this.topqueryParams.leavehospitaldistrictcodes =
+ store.getters.belongWards.map((obj) => obj.districtCode);
+ }
+ console.log(this.endOut);
+
+ if (this.endOut == 0) {
+ this.topqueryParams.endOutHospTime = this.formatDateToYYYYMMDDHHMMSS(
+ this.getEndOfDay()
+ );
+ } else {
+ this.topqueryParams.endOutHospTime = null;
+ }
+ // 鎺ュ彈寮傚父璺宠浆
+ if (this.errtype) {
+ this.topqueryParams.leavehospitaldistrictcodes.push(
+ this.leavehospitaldistrictcode
+ );
+ console.log(this.topqueryParams.leavehospitaldistrictcodes, "11");
+ }
this.loading = true;
+ if (
+ this.topqueryParams.leavehospitaldistrictcodes[0] &&
+ this.topqueryParams.leaveldeptcodes[0]
+ ) {
+ this.topqueryParams.deptOrDistrict = 2;
+ } else {
+ this.topqueryParams.deptOrDistrict = 1;
+ }
getTaskservelist(this.topqueryParams).then((response) => {
- this.userList = response.rows;
+ this.userList = response.rows[0].serviceSubtaskList;
this.total = response.total;
+ if (refresh) {
+ this.cardlist[0].value =
+ Number(response.rows[0].wzx) + Number(response.rows[0].ysf);
+ // this.cardlist[1].value = response.rows[0].wzx;
+ this.cardlist[1].value = response.rows[0].ysf;
+ this.ycvalue = response.rows[0].yc;
+ this.cardlist[2].value = response.rows[0].fssb;
+ this.cardlist[3].value = response.rows[0].dsf;
+ // this.cardlist[4].value = response.rows[0].yfs2;
+ this.yfsvalue = response.rows[0].yfs;
+ }
this.loading = false;
+ this.userList.forEach((item) => {
+ let idArray = null;
+ if (item.endtime) {
+ item.endDay = this.daysBetween(item.endtime);
+ }
+
+ if (item.preachform) {
+ if (item.endtime) {
+ item.preachformson = item.preachform;
+ idArray = item.preachform.split(",");
+ }
+
+ item.preachform = idArray.map((value) => {
+ // 鏌ユ壘id瀵瑰簲鐨勫璞�
+ const item = this.checkboxlist.find(
+ (item) => item.value == value
+ );
+ // 濡傛灉鎵惧埌瀵瑰簲鐨刬d锛岃繑鍥瀕abel鍊硷紝鍚﹀垯杩斿洖null
+ return item ? item.label : null;
+ });
+ }
+ });
+ this.total = response.total;
+ });
+ },
+ // 鏃堕棿
+ getEndOfDay() {
+ const date = new Date(); // 鍒涘缓涓�涓〃绀哄綋鍓嶆椂闂寸殑Date瀵硅薄
+ date.setHours(23, 59, 59, 0); // 灏嗘椂闂磋缃负23:59:59.000
+ return date;
+ },
+ formatDateToYYYYMMDDHHMMSS(date) {
+ const year = date.getFullYear();
+ const month = String(date.getMonth() + 1).padStart(2, "0"); // 鏈堜唤琛ラ浂
+ const day = String(date.getDate()).padStart(2, "0"); // 鏃ユ湡琛ラ浂
+ const hours = String(date.getHours()).padStart(2, "0");
+ const minutes = String(date.getMinutes()).padStart(2, "0");
+ const seconds = String(date.getSeconds()).padStart(2, "0");
+
+ return `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`;
+ },
+ affiliation() {
+ this.topqueryParams.managementDoctorCode = store.getters.hisUserId;
+ this.getList(1);
+ },
+ onthatday() {
+ this.topqueryParams.startSendDateTime = this.getCurrentDate();
+ this.topqueryParams.endSendDateTime = this.getCurrentDate();
+ this.getList(1);
+ },
+ getCurrentDate() {
+ const now = new Date();
+ return now.toISOString().slice(0, 10); // 鎴彇鍓�10涓瓧绗︼紝鍗� YYYY-MM-DD
+ },
+ buidegetTasklist(type) {
+ if (this.topqueryParams.searchscope == 3) {
+ this.topqueryParams.leaveldeptcodes = store.getters.belongDepts.map(
+ (obj) => obj.deptCode
+ );
+ this.topqueryParams.leavehospitaldistrictcodes =
+ store.getters.belongWards.map((obj) => obj.districtCode);
+ }
+ // 鎺ュ彈寮傚父璺宠浆
+ if (this.errtype) {
+ this.topqueryParams.leavehospitaldistrictcodes.push(
+ this.leavehospitaldistrictcode
+ );
+ }
+ let obj = {
+ pageNum: 1,
+ pageSize: 10,
+ leavehospitaldistrictcodes:
+ this.topqueryParams.leavehospitaldistrictcodes,
+ sendstates: [2, 3],
+ leaveldeptcodes: this.topqueryParams.leaveldeptcodes,
+ };
+ buidegetTasklist(obj).then((response) => {
+ this.userList = response.rows[0].serviceSubtaskList;
+ this.total = response.total;
+ if (refresh) {
+ this.cardlist[0].value =
+ Number(response.rows[0].wzx) + Number(response.rows[0].ysf);
+ this.cardlist[1].value = response.rows[0].wzx;
+ this.cardlist[2].value = response.rows[0].ysf;
+ this.ycvalue = response.rows[0].yc;
+ this.cardlist[3].value = response.rows[0].fssb;
+ this.cardlist[4].value = response.rows[0].dsf;
+ // this.cardlist[5].value = response.rows[0].yfs2;
+ this.yfsvalue = response.rows[0].yfs;
+ }
+ this.loading = false;
+ this.userList.forEach((item) => {
+ let idArray = null;
+ if (item.endtime) {
+ item.endDay = this.daysBetween(item.endtime);
+ }
+
+ if (item.preachform) {
+ if (item.endtime) {
+ item.preachformson = item.preachform;
+ idArray = item.preachform.split(",");
+ }
+
+ item.preachform = idArray.map((value) => {
+ // 鏌ユ壘id瀵瑰簲鐨勫璞�
+ const item = this.checkboxlist.find(
+ (item) => item.value == value
+ );
+ // 濡傛灉鎵惧埌瀵瑰簲鐨刬d锛岃繑鍥瀕abel鍊硷紝鍚﹀垯杩斿洖null
+ return item ? item.label : null;
+ });
+ }
+ });
+ this.total = response.total;
});
},
// 鏌ョ湅闂ㄨ瘖闅忚璇︽儏
@@ -716,7 +1551,7 @@
this.options = [];
}
},
- // 闂ㄨ瘖闅忚鐘舵�佷慨鏀�
+ // 褰卞儚闅忚鐘舵�佷慨鏀�
handleStatusChange(row) {
let text = row.status === "0" ? "鍚敤" : "鍋滅敤";
this.$modal
@@ -731,11 +1566,7 @@
row.status = row.status === "0" ? "1" : "0";
});
},
- // 鍙栨秷鎸夐挳
- cancel() {
- this.addalteropen = false;
- this.reset();
- },
+
// 琛ㄥ崟閲嶇疆
reset() {
this.form = {
@@ -755,23 +1586,115 @@
this.resetForm("form");
},
/** 鎼滅储鎸夐挳鎿嶄綔 */
- handleQuery() {
+ handleQuery(refresh) {
+ if (this.topqueryParams.searchscope == 3) {
+ this.topqueryParams.leaveldeptcodes = store.getters.belongDepts.map(
+ (obj) => obj.deptCode
+ );
+ this.topqueryParams.leavehospitaldistrictcodes =
+ store.getters.belongWards.map((obj) => obj.districtCode);
+ }
this.topqueryParams.pageNum = 1;
- this.getList();
+ this.topqueryParams.startOutHospTime = this.dateRange[0];
+ this.topqueryParams.endOutHospTime = this.dateRange[1];
+ this.topqueryParams.startSendDateTime = this.dateRangefs[0];
+ this.topqueryParams.endSendDateTime = this.dateRangefs[1];
+ this.getList(refresh);
+ },
+ // 鎮h�呰寖鍥村鐞�
+ handleChange(value) {
+ let type = value[0];
+ let code = value.slice(-1)[0];
+ this.topqueryParams.leavehospitaldistrictcodes = [];
+ this.topqueryParams.leaveldeptcodes = [];
+ if (type == 1) {
+ this.topqueryParams.leaveldeptcodes.push(code);
+ this.topqueryParams.leavehospitaldistrictcodes = [];
+ this.topqueryParams.searchscope = 1;
+ } else if (type == 2) {
+ this.topqueryParams.leavehospitaldistrictcodes.push(code);
+ this.topqueryParams.leaveldeptcodes = [];
+ this.topqueryParams.searchscope = 2;
+ } else {
+ this.topqueryParams.searchscope = 3;
+ }
},
/** 閲嶇疆鎸夐挳鎿嶄綔 */
resetQuery() {
this.dateRange = [];
- this.resetForm("queryForm");
- this.topqueryParams.deptId = undefined;
- this.$refs.tree.setCurrentKey(null);
- this.handleQuery();
+ this.dateRangefs = [];
+ this.topqueryParams = {
+ pageNum: 1,
+ pageSize: 10,
+ sendstate: 2,
+ sort: 2, //0 鍑洪櫌鏃堕棿(姝e簭) 1 鍑洪櫌鏃堕棿(鍊掑簭) 2 鍙戦�佹椂闂�(姝e簭) 3 鍙戦�佹椂闂�(鍊掑簭)
+ serviceType: 2,
+ searchscope: 3,
+ visitCount: 1,
+ scopetype: [],
+ leaveldeptcodes: [],
+ leavehospitaldistrictcodes: [],
+ };
+ 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 = false;
+ } else {
+ 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() {
+ this.selectedRows.forEach((item) => {
+ item.createBy = null;
+ item.patName = item.sendname;
+ item.hospitaldistrictname = item.leavehospitaldistrictname;
+ });
+ addsatisfaction(this.selectedRows).then((res) => {
+ if (res.code == 200) {
+ this.$message.success("璇勫垎淇濆瓨鎴愬姛");
+ this.scoreDialogVisible = false;
+ this.selectedRows = [];
+ this.$refs.userform.clearSelection();
+ } else {
+ this.$modal.msgWarning("璇勫垎淇濆瓨澶辫触");
+ this.scoreDialogVisible = false;
+ this.selectedRows = [];
+ this.$refs.userform.clearSelection();
+ }
+ });
+ // 杩欓噷鍙互娣诲姞淇濆瓨閫昏緫锛屽璋冪敤API淇濆瓨璇勫垎
},
//鍒犻櫎閫夐」
handleClose(tag) {
@@ -803,6 +1726,21 @@
},
});
},
+ //鎮h��360璺宠浆
+ gettoken360(sfzh, drcode, drname) {
+ // this.$modal.msgWarning("360鍔熻兘鏆傛湭寮�閫�");
+
+ this.postData.YeWuXX.BingRenXX.ZhengJianHM = sfzh;
+
+ query360PatInfo(this.postData).then((res) => {
+ if (res.data.url) {
+ window.open(res.data.url, "_blank");
+ // this.linkUrl = res.data.url;
+ } else {
+ this.$modal.msgWarning("360鏌ヨ鏃犵粨鏋�");
+ }
+ });
+ },
/** 閲嶇疆瀵嗙爜鎸夐挳鎿嶄綔 */
handleResetPwd(row) {
@@ -820,24 +1758,28 @@
})
.catch(() => {});
},
-
+ // 鍙栨秷鎸夐挳
+ cancel() {
+ this.Labelchange = false;
+ this.reset();
+ },
/** 鎻愪氦鎸夐挳 */
submitForm: function () {
this.$refs["form"].validate((valid) => {
if (valid) {
- if (this.form.userId != undefined) {
- updateUser(this.form).then((response) => {
- this.$modal.msgSuccess("淇敼鎴愬姛");
- this.open = false;
- this.getList();
+ this.form.isoperation = 2;
+ this.form.notrequiredFlag = 1;
+ alterpatient(this.form)
+ .then((response) => {
+ console.log(response);
+ })
+ .then(() => {
+ this.getList(1);
+ this.$modal.msgSuccess("鎮h�呰繃婊ゆ垚鍔�");
});
- } else {
- addUser(this.form).then((response) => {
- this.$modal.msgSuccess("鏂板鎴愬姛");
- this.open = false;
- this.getList();
- });
- }
+
+ this.reset();
+ this.Labelchange = false;
}
});
},
@@ -850,7 +1792,7 @@
return delUser(userIds);
})
.then(() => {
- this.getList();
+ this.getList(1);
this.$modal.msgSuccess("鍒犻櫎鎴愬姛");
})
.catch(() => {});
@@ -863,7 +1805,7 @@
return console.log("鍋滄鎴愬姛");
})
.then(() => {
- this.getList();
+ this.getList(1);
this.$modal.msgWarning("鍋滄鎴愬姛");
})
.catch(() => {});
@@ -876,7 +1818,7 @@
return console.log("寮�鍚垚鍔�");
})
.then(() => {
- this.getList();
+ this.getList(1);
this.$modal.msgSuccess("寮�鍚垚鍔�");
})
.catch(() => {});
@@ -889,7 +1831,7 @@
return console.log("閫変腑鎴愬姛");
})
.then(() => {
- this.getList();
+ this.getList(1);
this.$modal.msgSuccess("閲嶇疆鎴愬姛");
})
.catch(() => {});
@@ -900,22 +1842,142 @@
},
// 璺宠浆璇︽儏椤�
Seedetails(row) {
+ let type = "";
+ console.log(row, "rwo");
+ if (row.preachformson) {
+ if (row.preachformson.includes("3") || row.type == 1) {
+ type = 1;
+ }
+ }
this.$router.push({
path: "/followvisit/record/detailpage/",
- query: { taskid: row.taskid, patid: row.patid },
+ query: {
+ taskid: row.taskid,
+ patid: row.patid,
+ id: row.id,
+ Voicetype: type,
+ visitCount: this.topqueryParams.visitCount,
+ },
});
},
- // 瀵煎叆鎸夐挳
- toleadExport() {},
+ // 鍐嶆闅忚
+ followupvisit(row) {
+ this.zcform = row;
+ this.zcform.endtime = this.formatTime(this.zcform.endtime);
+ this.dialogFormVisible = true;
+ },
+ onSubmit() {},
+ // 鏆傚仠鏈嶅姟
+ handlestop(row) {
+ let objson = row;
+ this.$modal
+ .confirm(
+ '鏄惁纭鏆傚仠浠诲姟鍚嶇О涓�"' +
+ row.taskName +
+ '鎮h�呭悕绉颁负"' +
+ row.sendname +
+ '"鐨勬暟鎹」锛�'
+ )
+ .then(() => {
+ getTaskservelist({
+ patid: row.patid,
+ taskid: row.taskid,
+ }).then((res) => {
+ if (res.code == 200) {
+ objson.sendstate = 4;
+ objson.remark = "鏈嶅姟鏆傚仠";
+ Editsingletaskson(objson).then((res) => {
+ if (res.code) {
+ this.$modal.msgSuccess("璁板綍鎴愬姛");
+ this.getList(1);
+ }
+ });
+ }
+ });
+ })
+ .catch(() => {});
+ },
+ // 鎮h�呰繃婊よЕ鍙�
+ handleUpdate(row) {
+ particularpatient(row.patid).then((response) => {
+ this.form = response.data;
+ this.form.filterDrname = store.getters.nickName;
+ });
+ this.amendtag = true;
+ this.Labelchange = true;
+ },
+ // 渚挎嵎鎸夐挳
+ toleadExport(too) {
+ if (too == 1) {
+ this.topqueryParams.sendstate = 4;
+ this.topqueryParams.excep = null;
+ } else if (too == 2) {
+ this.topqueryParams.excep = 1;
+ }
+ this.handleQuery();
+ },
/** 瀵煎嚭鎸夐挳鎿嶄綔 */
handleExport() {
+ this.topqueryParams.pageNum = null;
+ this.topqueryParams.pageSize = null;
this.download(
- "system/user/export",
+ "smartor/serviceSubtask/patItemExport",
{
...this.topqueryParams,
},
`user_${new Date().getTime()}.xlsx`
);
+ },
+ // 寮傚父鍒楁覆鏌�
+ tableRowClassName({ row, rowIndex }) {
+ if (row.excep == 1) {
+ return "warning-row";
+ } else if (row.excep == 2) {
+ return "remind-row";
+ }
+ return "";
+ },
+ // 鍒涘缓鍐嶆闅忚鏈嶅姟
+ setupsubtask() {
+ this.$refs["zcform"].validate((valid) => {
+ if (valid) {
+ this.zcform.remark =
+ this.zcform.remark + "銆�" + this.getCurrentTime() + "銆�";
+ let form = structuredClone(this.zcform);
+ form.longSendTime = this.formatTime(form.date1);
+ form.finishtime = "";
+ if (form.resource) {
+ if (form.resource == 2) {
+ form.serviceType = 13;
+ }
+ } else {
+ this.$modal.msgError("鏈�夋嫨闅忚鏂瑰紡");
+ }
+ form.id = null;
+ form.sendstate = 2;
+ form.preachform = form.preachformson;
+ form.longTask = 0;
+ addserviceSubtask(form).then((res) => {
+ if (res.code == 200) {
+ this.$modal.msgSuccess("鍒涘缓鎴愬姛");
+ } else {
+ this.$modal.msgError("鍒涘缓澶辫触");
+ }
+ this.dialogFormVisible = false;
+ });
+ }
+ });
+ },
+ getCurrentTime() {
+ const now = new Date();
+ const year = now.getFullYear();
+ const month = String(now.getMonth() + 1).padStart(2, "0");
+ const day = String(now.getDate()).padStart(2, "0");
+ const hours = String(now.getHours()).padStart(2, "0");
+ const minutes = String(now.getMinutes()).padStart(2, "0");
+ const seconds = String(now.getSeconds()).padStart(2, "0");
+
+ return `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`;
},
},
};
@@ -931,6 +1993,12 @@
.document {
// width: 100px;
height: 50px;
+}
+::v-deep.el-table .warning-row {
+ background: #eec4c4;
+}
+::v-deep.el-table .remind-row {
+ background: #fcf5aa;
}
.documentf {
@@ -1010,6 +2078,30 @@
}
}
}
+::v-deep.leftvlue .el-card__body {
+ background: #f2f8ff;
+ color: #324a9b;
+}
+::v-deep.leftvlue .el-card__body:hover {
+ background: #3664d9;
+ color: #fff;
+ cursor: pointer; /* 榧犳爣鎮诞鏃跺彉涓烘墜褰� */
+}
+::v-deep.errleftvlue .el-card__body {
+ background: #fdd0d7;
+}
+::v-deep.errleftvlue .el-card__body:hover {
+ background: #f88d96;
+ cursor: pointer; /* 榧犳爣鎮诞鏃跺彉涓烘墜褰� */
+}
+
+::v-deep.ysfleftvlue .el-card__body {
+ background: #d0fdd8;
+}
+::v-deep.ysfleftvlue .el-card__body:hover {
+ background: #0abc54;
+ cursor: pointer; /* 榧犳爣鎮诞鏃跺彉涓烘墜褰� */
+}
.button-bb {
font-weight: 500;
background-color: #2ba05c;
@@ -1026,13 +2118,13 @@
}
.button-sc {
font-weight: 500;
- background-color: #dd302a;
+ background-color: #b3a21f;
padding: 5px;
border-radius: 1px;
color: #ffffff;
}
.button-zx {
- background: #4fabe9;
+ background: #324a9b;
padding: 5px;
border-radius: 1px;
color: #ffffff;
@@ -1043,7 +2135,30 @@
font-size: 24px;
}
}
+.purple-button {
+ background-color: #7e22ce;
+ border-color: #7e22ce;
+ color: #fff;
+}
+.purple-button:hover,
+.purple-button:focus {
+ background-color: #9333ea;
+ border-color: #9333ea;
+}
+
+.purple-button:active {
+ background-color: #6b21a8;
+ border-color: #6b21a8;
+}
+.button-textxga {
+ color: #de7897;
+}
+.purple-button.is-disabled {
+ background-color: #d8b4fe;
+ border-color: #d8b4fe;
+ opacity: 1; /* 淇濇寔绂佺敤鐘舵�侀�忔槑搴� */
+}
// 閫夐」瀛椾綋鏀惧ぇ
// ::v-deep.el-checkbox-group {
// span {
--
Gitblit v1.9.3