From e353f0e17dc46203512dd272c5b559b094e40761 Mon Sep 17 00:00:00 2001
From: WXL <1785969728@qq.com>
Date: 星期五, 25 七月 2025 15:02:36 +0800
Subject: [PATCH] 测试完成
---
src/views/patient/patient/index.vue | 776 ++++++++++++++++++++++++++++++++++++++++-------------------
1 files changed, 521 insertions(+), 255 deletions(-)
diff --git a/src/views/patient/patient/index.vue b/src/views/patient/patient/index.vue
index 468b2c7..270fb81 100644
--- a/src/views/patient/patient/index.vue
+++ b/src/views/patient/patient/index.vue
@@ -1,7 +1,7 @@
<template>
<div class="Questionnairemanagement">
<!-- 宸︿晶鏍� -->
- <div class="sidecolumn">
+ <!-- <div class="sidecolumn">
<div class="sidecolumn-top">
<div class="top-wj">鍖婚櫌鎮h��</div>
</div>
@@ -12,20 +12,23 @@
v-model="queryParams.allhosp"
@tab-click="handleClick"
>
- <el-tab-pane label="浣忛櫌鎮h��" name="1"></el-tab-pane>
+ <el-tab-pane label="鍑哄叆闄㈡偅鑰�" name="1"></el-tab-pane>
<el-tab-pane label="闂ㄨ瘖鎮h��" name="2"></el-tab-pane>
<el-tab-pane label="浣撴鎮h��" name="3"></el-tab-pane>
</el-tabs>
</div>
- </div>
+ </div> -->
<!-- 鍙充晶鏁版嵁 -->
<div class="leftvlue">
- <div>
+ <!-- <div>
<el-row :gutter="10">
<el-col :span="2.5" v-for="(item, index) in cardlist" :key="index">
- <el-card shadow="hover">
- <div style="padding: 8px">
+ <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="
@@ -41,7 +44,7 @@
</el-card>
</el-col>
</el-row>
- </div>
+ </div> -->
<div class="leftvlue-bg">
<el-row :gutter="20">
<!--鐢ㄦ埛鏁版嵁-->
@@ -54,73 +57,42 @@
v-show="showSearch"
label-width="98px"
>
- <el-form-item label="闄㈠尯" prop="userName">
- <el-select v-model="queryParams.value1" placeholder="璇烽�夋嫨">
- <el-option
- v-for="item in options"
- :key="item.value"
- :label="item.label"
- :value="item.value"
- >
- </el-option>
- </el-select>
- </el-form-item>
- <el-form-item label="绉戝/鐥呭尯" prop="userName">
- <el-select v-model="queryParams.value2" placeholder="璇烽�夋嫨">
- <el-option
- v-for="item in options"
- :key="item.value"
- :label="item.label"
- :value="item.value"
- >
- </el-option>
- </el-select>
- </el-form-item>
- <el-form-item
- label-width="138px"
- label="涓绘不鍖荤敓"
- prop="userName"
- >
- <el-select v-model="queryParams.value3" placeholder="璇烽�夋嫨">
- <el-option
- v-for="item in options"
- :key="item.value"
- :label="item.label"
- :value="item.value"
- >
- </el-option>
- </el-select>
- </el-form-item>
- <el-form-item label="鍏ラ櫌鏃ユ湡" prop="userName">
- <el-date-picker
- v-model="queryParams.valuetime1"
- align="right"
- type="date"
- placeholder="閫夋嫨鏃ユ湡"
- >
- </el-date-picker>
- </el-form-item>
- <el-form-item label="鍑洪櫌鏃ユ湡" prop="departuretime">
- <el-date-picker
- v-model="queryParams.departuretime"
- align="right"
- type="date"
- placeholder="閫夋嫨鏃ユ湡"
- >
- </el-date-picker>
- </el-form-item>
- <el-form-item label="灏辫瘖缂栧彿" prop="number">
- <el-input
- v-model="queryParams.number"
- placeholder="璇疯緭鍏ョ紪鍙�"
- maxlength="30"
- />
- </el-form-item>
- <el-form-item label="濮撳悕" prop="name">
+ <el-form-item label="鎮h�呭鍚�" prop="name">
<el-input
v-model="queryParams.name"
placeholder="璇疯緭鍏ュ鍚�"
maxlength="30"
+ @keyup.enter.native="handleQuery"
+ />
+ </el-form-item>
+ <el-form-item label="鎮h�呮爣绛�" prop="tagname">
+ <el-input
+ v-model="queryParams.tagname"
+ placeholder="杈撳叆杩涜妯$硦鏌ヨ"
+ maxlength="30"
+ @keyup.enter.native="handleQuery"
+ />
+ </el-form-item>
+ <!-- <el-form-item label="鎮h�呰寖鍥�" prop="tagId">
+ <el-select
+ v-model="queryParams.searchscope"
+ placeholder="璇烽�夋嫨鎮h�呰寖鍥�"
+ >
+ <el-option
+ v-for="item in source"
+ :key="item.value"
+ :label="item.label"
+ :value="item.value"
+ >
+ </el-option>
+ </el-select>
+ </el-form-item> -->
+ <el-form-item label="鑱旂郴鐢佃瘽" prop="telcode">
+ <el-input
+ v-model="queryParams.telcode"
+ placeholder="璇疯緭鍏ヨ仈绯荤數璇�"
+ maxlength="30"
+ @keyup.enter.native="handleQuery"
/>
</el-form-item>
@@ -142,7 +114,7 @@
</el-form>
<el-row :gutter="10" class="mb8">
- <el-col :span="1.5">
+ <!-- <el-col :span="1.5">
<el-button
type="primary"
plain
@@ -152,19 +124,8 @@
v-hasPermi="['system:user:add']"
>鏂板</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> -->
+
<el-col :span="1.5">
<el-button
type="danger"
@@ -175,6 +136,16 @@
@click="handleDelete"
v-hasPermi="['system:user:remove']"
>鍒犻櫎</el-button
+ >
+ </el-col>
+ <el-col :span="1.5">
+ <el-button
+ type="primary"
+ plain
+ icon="el-icon-s-promotion"
+ size="medium"
+ @click="distribute"
+ >鍚戜换鍔℃淳鍙戞偅鑰�</el-button
>
</el-col>
<el-col :span="6">
@@ -208,21 +179,25 @@
<el-table
v-loading="loading"
:data="userList"
+ height="660"
@selection-change="handleSelectionChange"
>
<el-table-column type="selection" width="50" align="center" />
<el-table-column
- label="搴忓彿"
- align="center"
- key="patid"
- prop="patid"
- />
- <el-table-column
+ fixed
label="濮撳悕"
align="center"
key="name"
prop="name"
/>
+ <el-table-column
+ label="鎮h�呯紪鍙�"
+ align="center"
+ key="patientno"
+ prop="patientno"
+ width="180"
+ />
+
<el-table-column label="鎬у埆" align="center" key="sex" prop="sex">
<template slot-scope="scope">
<span>{{ scope.row.sex == 1 ? "鐢�" : "濂�" }}</span>
@@ -233,14 +208,22 @@
align="center"
key="age"
prop="age"
- width="120"
- />
+ width="160"
+ >
+ <template slot-scope="scope">
+ <span v-if="scope.row.age"
+ >{{ scope.row.age }}{{ scope.row.ageUnit }}</span
+ ><span v-if="scope.row.age2"
+ >{{ scope.row.age2 }}{{ scope.row.ageUnit2 }}</span
+ >
+ </template>
+ </el-table-column>
<el-table-column
label="鍑虹敓骞存湀"
align="center"
key="birthdate"
prop="birthdate"
- width="160"
+ width="120"
>
</el-table-column>
<el-table-column
@@ -248,7 +231,8 @@
align="center"
key="placeOfResidence"
prop="placeOfResidence"
- width="120"
+ width="150"
+ :show-overflow-tooltip="true"
/>
<el-table-column
label="鎮h�呮爣绛�"
@@ -259,16 +243,12 @@
:show-overflow-tooltip="true"
>
<template slot-scope="scope">
- <span v-for="item in scope.row.tagList">{{ item.tagname }} </span>
+ <span v-for="item in scope.row.tagList"
+ >{{ item.tagname }}
+ </span>
</template>
</el-table-column>
<el-table-column
- label="璇佷欢绫诲瀷"
- align="center"
- key="idcardtype"
- prop="idcardtype"
- width="120"
- /><el-table-column
label="璇佷欢鍙风爜"
align="center"
key="idcardno"
@@ -290,6 +270,9 @@
prop="createTime"
width="160"
>
+ <template slot-scope="scope">
+ <span>{{ formatTime(scope.row.createTime) }}</span>
+ </template>
</el-table-column>
<el-table-column
label="鏇存柊鏃ユ湡"
@@ -298,10 +281,11 @@
width="160"
>
<template slot-scope="scope">
- <span>{{ parseTime(scope.row.createTime) }}</span>
+ <span>{{ formatTime(scope.row.archivetime) }}</span>
</template>
</el-table-column>
<el-table-column
+ fixed="right"
label="鎿嶄綔"
align="center"
width="190"
@@ -314,32 +298,37 @@
@click="
$router.push({
path: '/patient/patient/profile/',
- query: { id: scope.row.patid },
+ query: { id: scope.row.id },
})
"
- v-hasPermi="['system:user:edit']"
><span class="button-textsc"
- ><i class="el-icon-zoom-in"></i>鏌ョ湅</span
+ ><i class="el-icon-zoom-in"></i>璇︽儏缂栬緫</span
></el-button
>
<el-button
size="medium"
type="text"
@click="handleUpdate(scope.row)"
- v-hasPermi="['system:user:edit']"
><span class="button-textxga"
- ><i class="el-icon-edit"></i>淇敼</span
+ ><i class="el-icon-edit"></i>鎮h�呰繃婊�</span
></el-button
>
- <el-button
+ <!-- <el-button
size="medium"
type="text"
@click="Distributionservice(scope.row)"
- v-hasPermi="['system:user:edit']"
><span class="button-textxg"
><i class="el-icon-menu"></i>鏈嶅姟</span
></el-button
- >
+ > -->
+ <!-- <el-button
+ size="medium"
+ type="text"
+ @click="RiskMarker(scope.row)"
+ ><span class="button-textxg"
+ ><i class="el-icon-menu"></i>椋庨櫓鏍囪</span
+ ></el-button
+ > -->
</template>
</el-table-column>
</el-table>
@@ -355,6 +344,127 @@
</el-row>
</div>
</div>
+ <el-dialog title="閫夋嫨浠诲姟" :visible.sync="distributeVisible" width="70%">
+ <div class="preview-left">
+ <el-form
+ :model="queryParams"
+ ref="queryForm"
+ size="small"
+ :inline="true"
+ label-width="98px"
+ >
+ <el-select
+ @change="distribute"
+ v-model="tasktopic"
+ placeholder="璇烽�夋嫨浠诲姟绫诲瀷"
+ >
+ <el-option
+ v-for="item in taskoptions"
+ :key="item.value"
+ :label="item.label"
+ :value="item.value"
+ >
+ </el-option>
+ </el-select>
+ </el-form>
+ <el-table v-loading="loading" :data="taskuserList">
+ <el-table-column
+ label="浠诲姟鍚嶇О"
+ fixed
+ align="center"
+ key="taskName"
+ prop="taskName"
+ width="140"
+ :show-overflow-tooltip="true"
+ />
+ <el-table-column
+ label="浠诲姟鎻忚堪"
+ align="center"
+ key="taskDesc"
+ prop="taskDesc"
+ width="180"
+ :show-overflow-tooltip="true"
+ />
+ <el-table-column
+ label="鏈嶅姟椤圭洰"
+ align="center"
+ key="templatename"
+ prop="templatename"
+ />
+ <el-table-column
+ label="寰呮墽琛�/鎬讳换鍔�"
+ align="center"
+ key="nickName"
+ prop="nickName"
+ >
+ <template slot-scope="scope">
+ <span>{{ scope.row.wfs }}/{{ scope.row.yfs }}</span>
+ </template>
+ </el-table-column>
+ <el-table-column
+ label="鍒涘缓浜�"
+ align="center"
+ key="createBy"
+ prop="createBy"
+ width="120"
+ :show-overflow-tooltip="true"
+ />
+ <el-table-column
+ label="鍒涘缓鏃堕棿"
+ sortable
+ align="center"
+ prop="createTime"
+ width="160"
+ >
+ <template slot-scope="scope">
+ <span>{{ formatTime(scope.row.createTime) }}</span>
+ </template>
+ </el-table-column>
+ <el-table-column
+ label="鐘舵��"
+ fixed="right"
+ align="center"
+ key="sendState"
+ prop="sendState"
+ width="120"
+ >
+ <template slot-scope="scope">
+ <dict-tag
+ :options="dict.type.task_status"
+ :value="scope.row.sendState"
+ />
+ </template>
+ </el-table-column>
+
+ <el-table-column
+ label="浠诲姟璇︽儏"
+ fixed="right"
+ align="center"
+ width="200"
+ class-name="small-padding fixed-width"
+ >
+ <template slot-scope="scope">
+ <el-button
+ size="medium"
+ type="text"
+ @click="handleUpdate(scope.row)"
+ ><span class="button-xq"
+ ><i class="el-icon-s-data"></i>閫夋嫨娲惧彂</span
+ ></el-button
+ >
+ </template>
+ </el-table-column>
+ </el-table>
+
+ <pagination
+ v-show="tasktotal > 0"
+ :total="tasktotal"
+ :page.sync="queryParams.pageNum"
+ :limit.sync="queryParams.pageSize"
+ @pagination="distribute"
+ />
+ </div>
+ </el-dialog>
<!-- 娣诲姞鎴栦慨鏀圭敤鎴烽厤缃璇濇 -->
<el-dialog
@@ -377,7 +487,7 @@
<el-form-item label="鎬у埆" prop="sex">
<el-select v-model="form.sex" placeholder="璇烽�夋嫨鎬у埆">
<el-option
- v-for="dict in dict.type.sys_user_sex"
+ v-for="dict in sextype"
:key="dict.value"
:label="dict.label"
:value="dict.value"
@@ -395,7 +505,7 @@
</el-form-item>
</el-col>
</el-row>
- <el-row>
+ <el-row v-if="!amendtag">
<el-col :span="8">
<el-form-item label="姘戞棌" prop="name">
<el-input
@@ -424,32 +534,10 @@
</el-form-item>
</el-col>
</el-row>
- <el-row>
+
+ <el-row v-if="!amendtag">
<el-col :span="12">
- <el-form-item label="璇佷欢绫诲瀷" prop="idcardtype">
- <el-select v-model="form.idcardtype" placeholder="璇烽�夋嫨鎬у埆">
- <el-option
- v-for="item in paperstypes"
- :key="item.papersname"
- :label="item.papersname"
- :value="item.papersname"
- ></el-option>
- </el-select>
- </el-form-item>
- </el-col>
- <el-col :span="12">
- <el-form-item label="璇佷欢鍙�" prop="idcardno">
- <el-input
- v-model="form.idcardno"
- placeholder="璇疯緭鍏ヨ瘉浠跺彿"
- maxlength="50"
- />
- </el-form-item>
- </el-col>
- </el-row>
- <el-row>
- <el-col :span="12">
- <el-form-item label="鍑虹敓鍦�" prop="idcardno">
+ <el-form-item label="鍑虹敓鍦�" prop="birthplace">
<el-input
v-model="form.birthplace"
placeholder="鍥姐�佺渷銆佸湴甯傘�佸尯鍘裤�佽閬撶瓑璇︾粏淇℃伅"
@@ -457,7 +545,7 @@
/>
</el-form-item> </el-col
><el-col :span="12">
- <el-form-item label="灞呬綇鍦�" prop="idcardno">
+ <el-form-item label="灞呬綇鍦�" prop="placeOfResidence">
<el-input
v-model="form.placeOfResidence"
placeholder="鍥姐�佺渷銆佸湴甯傘�佸尯鍘裤�佽閬撶瓑璇︾粏淇℃伅"
@@ -466,8 +554,9 @@
</el-form-item>
</el-col>
</el-row>
+
<el-row>
- <el-col :span="24">
+ <el-col :span="amendtag ? 12 : 24" v-if="!amendtag">
<el-form-item label="鎮h�呯被鍨�">
<el-select v-model="form.pattype" placeholder="璇烽�夋嫨绫诲瀷">
<el-option
@@ -479,9 +568,32 @@
</el-select>
</el-form-item>
</el-col>
+ <!-- <el-col :span="12" v-if="amendtag">
+ <el-form-item label="杩囨护璇存槑">
+ <el-select v-model="form.notrequiredreason" placeholder="璇烽�夋嫨杩囨护绫诲瀷">
+ <el-option
+ v-for="item in dict.type.futter_patient"
+ :key="item.value"
+ :label="item.label"
+ :value="item.value"
+ ></el-option>
+ </el-select>
+ </el-form-item>
+ </el-col> -->
</el-row>
<el-row>
- <el-col :span="24">
+ <el-col :span="24" v-if="amendtag">
+ <el-form-item label="杩囨护鍘熷洜">
+ <el-input
+ v-model="form.notrequiredreason"
+ type="textarea"
+ placeholder="璇疯緭鍏ヨ繃婊ゅ師鍥�"
+ ></el-input>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row>
+ <el-col :span="24" v-if="!amendtag">
<el-form-item label="澶囨敞">
<el-input
v-model="form.remark"
@@ -518,20 +630,19 @@
:limit="1"
accept=".xlsx, .xls"
:headers="upload.headers"
- :action="upload.url + '?updateSupport=' + upload.updateSupport"
+ :action="upload.url"
:disabled="upload.isUploading"
:on-progress="handleFileUploadProgress"
:on-success="handleFileSuccess"
- :auto-upload="false"
drag
>
<i class="el-icon-upload"></i>
<div class="el-upload__text">灏嗘枃浠舵嫋鍒版澶勶紝鎴�<em>鐐瑰嚮涓婁紶</em></div>
<div class="el-upload__tip text-center" slot="tip">
- <div class="el-upload__tip" slot="tip">
+ <!-- <div class="el-upload__tip" slot="tip">
<el-checkbox v-model="upload.updateSupport" />
鏄惁鏇存柊宸茬粡瀛樺湪鐨勭敤鎴锋暟鎹�
- </div>
+ </div> -->
<span>浠呭厑璁稿鍏ls銆亁lsx鏍煎紡鏂囦欢銆�</span>
<el-link
type="primary"
@@ -540,15 +651,15 @@
@click="importTemplate"
>涓嬭浇妯℃澘
</el-link>
- <el-link
+ <!-- <el-link
type="success"
:underline="false"
style="font-size: 24px; vertical-align: baseline"
href="http://m.qpic.cn/psc?/V50ZTolo1AIhq00dqrJP2169QM2VHGTU/ruAMsa53pVQWN7FLK88i5qfmCJclyMduqqL6kjE4h7TXDAjimVtmLmTyGVfF4qlkyOISsYQ4Mxx705X2tkXEIUPrfCS4L4yK.f11SmO8Tq0!/b&bo=twb0AgAAAAADB2U!&rf=viewer_4"
target="_blank"
>
- 鏌ョ湅妯$増</el-link
- >
+ 鏌ョ湅妯℃澘</el-link
+ > -->
</div>
</el-upload>
</div>
@@ -558,8 +669,7 @@
<el-table-column prop="serial" label="搴忓彿"> </el-table-column>
<el-table-column prop="name" label="濮撳悕"> </el-table-column>
<el-table-column prop="sex" label="鎬у埆"> </el-table-column>
- <el-table-column prop="certificate" label="璇佷欢绫诲瀷">
- </el-table-column>
+
<el-table-column prop="certificatenum" label="璇佷欢鍙风爜">
</el-table-column>
<el-table-column prop="goday" label="鍑虹敓鏃ユ湡"> </el-table-column>
@@ -598,8 +708,6 @@
<el-table-column prop="serial" label="搴忓彿"> </el-table-column>
<el-table-column prop="name" label="濮撳悕"> </el-table-column>
<el-table-column prop="sex" label="鎬у埆"> </el-table-column>
- <el-table-column prop="certificate" label="璇佷欢绫诲瀷">
- </el-table-column>
<el-table-column prop="certificatenum" label="璇佷欢鍙风爜">
</el-table-column>
<el-table-column prop="goday" label="鍑虹敓鏃ユ湡"> </el-table-column>
@@ -631,17 +739,45 @@
</el-dialog>
<!-- 璺宠浆鏈嶅姟瀵硅瘽妗� -->
<el-dialog title="閫夋嫨鏈嶅姟绫诲瀷" :visible.sync="serviceVisible">
- <el-radio-group v-model="serviceradio">
- <el-radio :label="1">瀹f暀闅忚</el-radio>
- <el-radio :label="2">闂ㄨ瘖鏈嶅姟</el-radio>
- <el-radio :label="3">鍑洪櫌鏈嶅姟</el-radio>
- <el-radio :label="4">澶嶈瘖鏈嶅姟</el-radio>
- <el-radio :label="5">浣撴閫氱煡</el-radio>
- <el-radio :label="6">闂嵎鏈嶅姟</el-radio>
- </el-radio-group>
+ <el-card class="box-card">
+ <el-radio-group v-model="serviceradio">
+ <el-radio :label="1">瀹f暀闅忚</el-radio>
+ <el-radio :label="2">闂ㄨ瘖鏈嶅姟</el-radio>
+ <el-radio :label="3">鍑洪櫌鏈嶅姟</el-radio>
+ <el-radio :label="4">澶嶈瘖鏈嶅姟</el-radio>
+ <el-radio :label="5">浣撴閫氱煡</el-radio>
+ <el-radio :label="6">闂嵎鏈嶅姟</el-radio>
+ </el-radio-group>
+ </el-card>
<div slot="footer" class="dialog-footer">
<el-button @click="serviceVisible = false">鍙� 娑�</el-button>
<el-button type="primary" @click="CreateService">鍒涘缓鏈嶅姟</el-button>
+ </div>
+ </el-dialog>
+ <!-- 椋庨櫓绫诲瀷 -->
+ <el-dialog title="閫夋嫨椋庨櫓绫诲瀷" :visible.sync="RiskVisible">
+ <el-card class="box-card">
+ <el-form>
+ <el-form-item label="椋庨櫓绫诲瀷">
+ <el-radio-group v-model="Riskradio">
+ <el-radio :label="1">姝e父</el-radio>
+ <el-radio :label="2">杞诲井</el-radio>
+ <el-radio :label="3">楂樺嵄</el-radio>
+ </el-radio-group>
+ </el-form-item>
+ <el-form-item label="娲诲姩鎬ц川">
+ <el-checkbox-group v-model="Risklist">
+ <el-checkbox label="鎯呭喌1" name="type"></el-checkbox>
+ <el-checkbox label="鎯呭喌2" name="type"></el-checkbox>
+ <el-checkbox label="鎯呭喌3" name="type"></el-checkbox>
+ <el-checkbox label="鎯呭喌4" name="type"></el-checkbox>
+ </el-checkbox-group>
+ </el-form-item>
+ </el-form>
+ </el-card>
+ <div slot="footer" class="dialog-footer">
+ <el-button @click="RiskVisible = false">鍙� 娑�</el-button>
+ <el-button type="primary" @click="RiskService">纭淇敼</el-button>
</div>
</el-dialog>
</div>
@@ -659,14 +795,21 @@
Exporterrorpatient,
toleadpatient,
} from "@/api/patient/homepage";
+import { getTasklist } from "@/api/AiCentre/index";
import { listtag } from "@/api/system/label";
import { getToken } from "@/utils/auth";
import Treeselect from "@riophae/vue-treeselect";
+import store from "@/store";
import "@riophae/vue-treeselect/dist/vue-treeselect.css";
export default {
- name: "Userhuanze",
- dicts: ["sys_normal_disable", "sys_user_sex"],
+ name: "Patient",
+ dicts: [
+ "sys_normal_disable",
+ "task_status",
+ "sys_user_sex",
+ "futter_patient",
+ ],
components: { Treeselect },
data() {
return {
@@ -682,8 +825,11 @@
showSearch: true,
// 鎬绘潯鏁�
total: 0,
+ tasktotal: 0,
+ Risklist: [],
// 鐢ㄦ埛琛ㄦ牸鏁版嵁
userList: null,
+ taskuserList: null,
// 寮瑰嚭灞傛爣棰�
title: "",
// 閮ㄩ棬鏍戦�夐」
@@ -698,8 +844,22 @@
amendtag: false, //鏄惁淇敼
serviceVisible: false,
serviceradio: 1,
+ distributeVisible: false,
+ RiskVisible: false,
+ tasktopic: "5", //鏂板绫诲瀷
+ Riskradio: 1,
+ RiskObj: {},
+ // 鏌ヨ鍙傛暟
+ topqueryParams: {
+ pageNum: 1,
+ pageSize: 10,
+ userName: undefined,
+ tagid: undefined,
+ topic: undefined,
+ },
// 鏃ユ湡鑼冨洿
dateRange: [],
+ taskoptions: [],
paperstypes: [
{ papersname: "韬唤璇�" },
{ papersname: "鎶ょ収" },
@@ -709,15 +869,26 @@
Patienttype: [
{
value: "1",
- label: "浣忛櫌鎮h��",
+ label: "鍦ㄩ櫌鎮h��",
},
- {
- value: "2",
- label: "闂ㄨ瘖鎮h��",
- },
+
{
value: "3",
label: "浣撴鎮h��",
+ },
+ {
+ value: "4",
+ label: "鍑洪櫌鎮h��",
+ },
+ ],
+ sextype: [
+ {
+ value: 1,
+ label: "鐢�",
+ },
+ {
+ value: 2,
+ label: "濂�",
},
],
@@ -729,18 +900,30 @@
{
name: "鍦ㄩ櫌鎮h��",
value: 23,
+ router: "/patient/inpatient",
},
{
- name: "绂婚櫌鎮h��",
+ name: "鍑洪櫌鎮h��",
value: 41,
- },
- {
- name: "璇婄枟鎮h��",
- value: 56,
+ router: "/patient/hospital",
},
{
name: "绂讳笘鎮h��",
value: 0,
+ },
+ ],
+ source: [
+ {
+ value: 0,
+ label: "鎵�灞炴偅鑰�",
+ },
+ {
+ value: 1,
+ label: "绉戝鎮h��",
+ },
+ {
+ value: 2,
+ label: "鐥呭尯鎮h��",
},
],
// 琛ㄥ崟鍙傛暟
@@ -781,13 +964,16 @@
// 璁剧疆涓婁紶鐨勮姹傚ご閮�
headers: { Authorization: "Bearer " + getToken() },
// 涓婁紶鐨勫湴鍧�
- url: process.env.VUE_APP_BASE_API + "/system/user/importData",
+ url: process.env.VUE_APP_BASE_API + "/smartor/import/importPatInfo",
},
// 鏌ヨ鍙傛暟
queryParams: {
pageNum: 1,
- allhosp: "1",
+ allhosp: "0",
pageSize: 10,
+ searchscope: 2,
+ notrequiredFlag: 0,
+ tagname: "",
idcardno: undefined,
name: undefined,
status: undefined,
@@ -796,49 +982,43 @@
},
// 琛ㄥ崟鏍¢獙
rules: {
- // userName: [
- // { required: true, message: "鐢ㄦ埛鍚嶇О涓嶈兘涓虹┖", trigger: "blur" },
- // {
- // min: 2,
- // max: 20,
- // message: "鐢ㄦ埛鍚嶇О闀垮害蹇呴』浠嬩簬 2 鍜� 20 涔嬮棿",
- // trigger: "blur",
- // },
- // ],
- // nickName: [
- // { required: true, message: "鐢ㄦ埛鏄电О涓嶈兘涓虹┖", trigger: "blur" },
- // ],
- // password: [
- // { required: true, message: "鐢ㄦ埛瀵嗙爜涓嶈兘涓虹┖", trigger: "blur" },
- // {
- // min: 5,
- // max: 20,
- // message: "鐢ㄦ埛瀵嗙爜闀垮害蹇呴』浠嬩簬 5 鍜� 20 涔嬮棿",
- // trigger: "blur",
- // },
- // ],
- // email: [
- // {
- // type: "email",
- // message: "璇疯緭鍏ユ纭殑閭鍦板潃",
- // trigger: ["blur", "change"],
- // },
- // ],
- // phonenumber: [
- // {
- // pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/,
- // message: "璇疯緭鍏ユ纭殑鎵嬫満鍙风爜",
- // trigger: "blur",
- // },
- // ],
- // IDnumber: [
- // {
- // pattern:
- // /^\d{6}((((((19|20)\d{2})(0[13-9]|1[012])(0[1-9]|[12]\d|30))|(((19|20)\d{2})(0[13578]|1[02])31)|((19|20)\d{2})02(0[1-9]|1\d|2[0-8])|((((19|20)([13579][26]|[2468][048]|0[48]))|(2000))0229))\d{3})|((((\d{2})(0[13-9]|1[012])(0[1-9]|[12]\d|30))|((\d{2})(0[13578]|1[02])31)|((\d{2})02(0[1-9]|1\d|2[0-8]))|(([13579][26]|[2468][048]|0[048])0229))\d{2}))(\d|X|x)$/,
- // message: "璇疯緭鍏ユ纭殑韬唤璇佸彿鐮�",
- // trigger: "blur",
- // },
- // ],
+ name: [
+ { required: true, message: "鐢ㄦ埛鍚嶇О涓嶈兘涓虹┖", trigger: "blur" },
+ {
+ min: 2,
+ max: 20,
+ message: "鐢ㄦ埛鍚嶇О闀垮害蹇呴』浠嬩簬 2 鍜� 20 涔嬮棿",
+ trigger: "blur",
+ },
+ ],
+
+ sex: [{ required: true, message: "鎬у埆涓嶈兘涓虹┖", trigger: "blur" }],
+ age: [{ required: true, message: "骞撮緞涓嶈兘涓虹┖", trigger: "blur" }],
+ nation: [{ required: true, message: "姘戞棌涓嶈兘涓虹┖", trigger: "blur" }],
+ telcode: [
+ { required: true, message: "鑱旂郴鏂瑰紡涓嶈兘涓虹┖", trigger: "blur" },
+ {
+ pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/,
+ message: "璇疯緭鍏ユ纭殑鎵嬫満鍙风爜",
+ trigger: "blur",
+ },
+ ],
+
+ idcardno: [
+ { required: true, message: "璇佷欢鍙峰彲鑳戒负绌�", trigger: "blur" },
+ {
+ pattern:
+ /^\d{6}((((((19|20)\d{2})(0[13-9]|1[012])(0[1-9]|[12]\d|30))|(((19|20)\d{2})(0[13578]|1[02])31)|((19|20)\d{2})02(0[1-9]|1\d|2[0-8])|((((19|20)([13579][26]|[2468][048]|0[48]))|(2000))0229))\d{3})|((((\d{2})(0[13-9]|1[012])(0[1-9]|[12]\d|30))|((\d{2})(0[13578]|1[02])31)|((\d{2})02(0[1-9]|1\d|2[0-8]))|(([13579][26]|[2468][048]|0[048])0229))\d{2}))(\d|X|x)$/,
+ message: "璇疯緭鍏ユ纭殑韬唤璇佸彿鐮�",
+ trigger: "blur",
+ },
+ ],
+ placeOfResidence: [
+ { required: true, message: "灞呬綇鍦颁笉鑳戒负绌�", trigger: "blur" },
+ ],
+ birthplace: [
+ { required: true, message: "鍑虹敓鍦颁笉鑳戒负绌�", trigger: "blur" },
+ ],
},
};
},
@@ -851,14 +1031,30 @@
created() {
this.getList();
this.gettabList();
+ //鑾峰彇宸茬瓫閫夊悗鐨勫彲閫変换鍔$被鍨�
+ this.taskoptions = store.getters.Serviceauthority;
},
methods: {
/** 鏌ヨ鎮h�呭垪琛� */
getList() {
- console.log(this.dict.type.sys_user_sex);
+ if (this.queryParams.searchscope == 1) {
+ this.queryParams.leaveldeptcodes = store.getters.belongDepts.map(
+ (obj) => obj.deptCode
+ );
+ this.queryParams.leavehospitaldistrictcodes = null;
+ } else if (this.queryParams.searchscope == 2) {
+ this.queryParams.leavehospitaldistrictcodes =
+ store.getters.belongWards.map((obj) => obj.districtCode);
+ this.queryParams.leaveldeptcodes = null;
+ } else {
+ this.queryParams.leaveldeptcodes = store.getters.belongDepts.map(
+ (obj) => obj.deptCode
+ );
+ this.queryParams.leavehospitaldistrictcodes =
+ store.getters.belongWards.map((obj) => obj.districtCode);
+ }
this.loading = true;
messagelistpatient(this.queryParams).then((response) => {
- console.log(response);
this.userList = response.rows;
this.total = response.total;
this.loading = false;
@@ -866,6 +1062,10 @@
},
handleClick() {
this.getList();
+ },
+ findLabelByValue(data, value) {
+ const item = data.find((item) => item.value === value);
+ return item ? item.label : null;
},
/** 鏌ヨ鏍囩鍒楄〃 */
gettabList() {
@@ -892,6 +1092,10 @@
},
Distributionservice(row) {
this.serviceVisible = true;
+ },
+ RiskMarker(row) {
+ this.RiskVisible = true;
+ this.RiskObj = row;
},
// 鍙栨秷鎸夐挳
@@ -921,13 +1125,17 @@
/** 閲嶇疆鎸夐挳鎿嶄綔 */
resetQuery() {
this.dateRange = [];
- this.resetForm("queryForm");
- this.$refs.tree.setCurrentKey(null);
- this.handleQuery();
+ this.queryParams = {
+ pageNum: 1,
+ allhosp: "0",
+ pageSize: 10,
+ searchscope: 2,
+ };
+ this.handleQuery();
},
// 澶氶�夋閫変腑鏁版嵁
handleSelectionChange(selection) {
- this.ids = selection.map((item) => item.patid);
+ this.ids = selection.map((item) => item.id);
this.single = selection.length != 1;
this.multiple = !selection.length;
},
@@ -940,40 +1148,44 @@
},
/** 淇敼鎸夐挳鎿嶄綔 */
handleUpdate(row) {
- console.log(row);
- const userIds = row.patid || this.ids;
+ const userIds = row.id || this.ids;
particularpatient(userIds).then((response) => {
- console.log(response);
this.form = response.data;
});
this.amendtag = true;
this.Labelchange = true;
},
-
//淇敼/鏂板鎮h��
submitForm() {
- if (this.amendtag) {
- alterpatient(this.form)
- .then((response) => {
- console.log(response);
- })
- .then(() => {
- this.getList();
- this.$modal.msgSuccess("淇敼鎴愬姛");
- });
- } else {
- addpatient(this.form)
- .then((response) => {
- console.log(response);
- })
- .then(() => {
- this.getList();
- this.$modal.msgSuccess("娣诲姞鎴愬姛");
- });
- }
- this.reset();
- // this.idds = "";
- this.Labelchange = false;
+ this.$refs["form"].validate((valid) => {
+ if (valid) {
+ if (this.amendtag) {
+ this.form.isoperation = 2;
+ this.form.notrequiredFlag = 1;
+ alterpatient(this.form)
+ .then((response) => {
+ console.log(response);
+ })
+ .then(() => {
+ this.getList();
+ this.$modal.msgSuccess("鎮h�呰繃婊ゆ垚鍔�");
+ });
+ } else {
+ this.form.isoperation = 1;
+ alterpatient(this.form)
+ .then((response) => {
+ console.log(response);
+ })
+ .then(() => {
+ this.getList();
+ this.$modal.msgSuccess("娣诲姞鎴愬姛");
+ });
+ }
+ this.reset();
+ // this.idds = "";
+ this.Labelchange = false;
+ }
+ });
},
/** 鍒犻櫎鎸夐挳鎿嶄綔 */
@@ -997,6 +1209,43 @@
query: { type: this.serviceradio },
});
},
+ RiskService() {
+ this.RiskObj.visitFlag = this.Risklist.join(", ");
+ this.RiskObj.visitType = this.Riskradio;
+ alterpatient(this.RiskObj).then((res) => {
+ if (res.code == 200) {
+ this.getList();
+ this.Risklist = [];
+ this.Riskradio = 1;
+ this.$modal.msgSuccess("寮傚父璁板綍鎴愬姛");
+ }
+ });
+ },
+ distribute() {
+ this.distributeVisible = true;
+ if (this.tasktopic == 1) {
+ this.topqueryParams.type = 3;
+ } else if (this.tasktopic == 2) {
+ this.topqueryParams.type = 1;
+ } else if (this.tasktopic == 3) {
+ this.topqueryParams.type = 1;
+ } else if (this.tasktopic == 4) {
+ this.topqueryParams.type = 1;
+ } else if (this.tasktopic == 5) {
+ this.topqueryParams.type = 1;
+ } else if (this.tasktopic == 6) {
+ this.topqueryParams.type = 2;
+ }
+ this.topqueryParams.typename = this.findLabelByValue(
+ this.taskoptions,
+ this.tasktopic
+ );
+ getTasklist(this.topqueryParams).then((response) => {
+ this.taskuserList = response.rows;
+ this.tasktotal = response.total;
+ this.$forceUpdate();
+ });
+ },
/** 瀵煎嚭鎸夐挳鎿嶄綔 */
handleExport() {
this.download(
@@ -1015,7 +1264,7 @@
/** 涓嬭浇妯℃澘鎿嶄綔 */
importTemplate() {
this.download(
- "system/user/importTemplate",
+ "smartor/import/getImportPatTemplate",
{},
`user_template_${new Date().getTime()}.xlsx`
);
@@ -1057,9 +1306,9 @@
</script>
<style lang="scss" scoped>
-.Questionnairemanagement {
- display: flex;
-}
+// .Questionnairemanagement {
+// display: flex;
+// }
.sidecolumn {
width: 180px;
min-height: 100vh;
@@ -1067,7 +1316,7 @@
// display: flex;
margin-top: 20px;
margin: 20px;
- padding: 30px;
+ padding: 15px;
background: #d0e9fd;
border: 1px solid #dcdfe6;
-webkit-box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.12),
@@ -1096,6 +1345,22 @@
display: center !important;
}
}
+.preview-left {
+ margin: 20px;
+ // margin: 20px;
+ padding: 30px;
+ background: #ffff;
+ border: 1px solid #dcdfe6;
+ -webkit-box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.12),
+ 0 0 6px 0 rgba(0, 0, 0, 0.04);
+ .scriptTopic-dev {
+ margin-bottom: 25px;
+ font-size: 20px !important;
+ .dev-text {
+ margin-bottom: 10px;
+ }
+ }
+}
::v-deep.el-tabs--left,
.el-tabs--right {
overflow: hidden;
@@ -1120,10 +1385,11 @@
}
::v-deep.leftvlue .el-card__body:hover {
background: #8dc8f8;
+ cursor: pointer; /* 榧犳爣鎮诞鏃跺彉涓烘墜褰� */
}
.leftvlue {
- width: 80%;
- margin-top: 10px;
+ width: 100%;
+ // margin-top: 10px;
}
.leftvlue-bg {
// display: flex;
--
Gitblit v1.9.3