From 08881d6b6412822d5035f63a0775ca1f213c8668 Mon Sep 17 00:00:00 2001
From: WXL (wul) <wl_5969728@163.com>
Date: 星期一, 20 十月 2025 10:17:22 +0800
Subject: [PATCH] 测试完成
---
src/views/patient/patient/index.vue | 1726 ++++++++++++++++++++++++++++++++++++++++------------------
1 files changed, 1,179 insertions(+), 547 deletions(-)
diff --git a/src/views/patient/patient/index.vue b/src/views/patient/patient/index.vue
index 487ba90..ba844d4 100644
--- a/src/views/patient/patient/index.vue
+++ b/src/views/patient/patient/index.vue
@@ -1,298 +1,554 @@
<template>
- <div class="app-container">
- <el-row :gutter="20">
- <!--閮ㄩ棬鏁版嵁-->
- <!-- <el-col :span="4" :xs="24">
- <div class="head-container">
- <el-input
- v-model="deptName"
- placeholder="璇疯緭鍏ラ儴闂ㄥ悕绉�"
- clearable
- size="small"
- prefix-icon="el-icon-search"
- style="margin-bottom: 20px"
- />
- </div>
- <div class="head-container">
- <el-tree
- :data="deptOptions"
- :props="defaultProps"
- :expand-on-click-node="false"
- :filter-node-method="filterNode"
- ref="tree"
- node-key="id"
- default-expand-all
- highlight-current
- @node-click="handleNodeClick"
- />
- </div>
- </el-col> -->
- <!--鐢ㄦ埛鏁版嵁-->
- <el-col :span="24" :xs="24">
+ <div class="Questionnairemanagement">
+ <!-- 宸︿晶鏍� -->
+ <!-- <div class="sidecolumn">
+ <div class="sidecolumn-top">
+ <div class="top-wj">鍖婚櫌鎮h��</div>
+ </div>
+
+ <div class="bottom-fl">
+ <el-tabs
+ tab-position="right"
+ v-model="queryParams.allhosp"
+ @tab-click="handleClick"
+ >
+ <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 class="leftvlue">
+ <!-- <div>
+ <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 }}
+ </div>
+ </div>
+ </el-card>
+ </el-col>
+ </el-row>
+ </div> -->
+ <div class="leftvlue-bg">
+ <el-row :gutter="20">
+ <!--鐢ㄦ埛鏁版嵁-->
+ <el-col :span="24" :xs="24">
+ <el-form
+ :model="queryParams"
+ ref="queryForm"
+ size="small"
+ :inline="true"
+ 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-input
+ v-model="queryParams.drname"
+ placeholder="璇疯緭鍏ュ尰鐢熷鍚�"
+ maxlength="30"
+ @keyup.enter.native="handleQuery"
+ />
+ </el-form-item>
+
+ <el-form-item label="鎮h�呮。妗堝彿" prop="visitno">
+ <el-input
+ v-model="queryParams.visitno"
+ placeholder="璇疯緭鍏ョ紪鍙�"
+ maxlength="30"
+ @keyup.enter.native="handleQuery"
+ />
+ </el-form-item>
+ <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="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="鎮h�呰寖鍥�" prop="status">
+ <el-cascader
+ v-model="queryParams.scopetype"
+ placeholder="榛樿鍏ㄩ儴"
+ :options="sourcetype"
+ :props="{ expandTrigger: 'hover' }"
+ @change="handleChange"
+ ></el-cascader>
+ </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>
+
+ <el-form-item>
+ <el-button
+ type="primary"
+ icon="el-icon-search"
+ size="medium"
+ @click="handleQuery"
+ >鎼滅储</el-button
+ >
+ <el-button
+ icon="el-icon-refresh"
+ size="medium"
+ @click="resetQuery"
+ >閲嶇疆</el-button
+ >
+ </el-form-item>
+ </el-form>
+
+ <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">
+ <el-button
+ type="danger"
+ plain
+ icon="el-icon-delete"
+ size="medium"
+ :disabled="multiple"
+ @click="handleDelete"
+ v-hasPermi="['system:user:remove']"
+ >鍒犻櫎</el-button
+ >
+ </el-col>
+ <el-col :span="1.5">
+ <el-button
+ type="primary"
+ icon="el-icon-s-promotion"
+ size="medium"
+ @click="distribute"
+ >鍚戜换鍔℃淳鍙戞偅鑰�</el-button
+ >
+ </el-col>
+ <el-col :span="6">
+ <div class="documentf">
+ <div class="document">
+ <el-button
+ type="info"
+ plain
+ icon="el-icon-upload2"
+ size="medium"
+ @click="handleImport"
+ v-hasPermi="['system:user:import']"
+ >瀵煎叆</el-button
+ >
+ </div>
+ <div class="document">
+ <el-button
+ type="warning"
+ plain
+ icon="el-icon-download"
+ size="medium"
+ @click="handleExport"
+ v-hasPermi="['system:user:export']"
+ >瀵煎嚭</el-button
+ >
+ </div>
+ </div>
+ </el-col>
+ <!-- <el-col :span="1.5"> </el-col> -->
+ </el-row>
+ <el-table
+ v-loading="loading"
+ :data="userList"
+ height="808"
+ @selection-change="handleSelectionChange"
+ >
+ <el-table-column type="selection" width="50" align="center" />
+ <!-- <el-table-column
+ fixed
+ label="搴忓彿"
+ align="center"
+ key="id"
+ prop="id"
+ /> -->
+ <!-- <el-table-column
+ fixed
+ label="濮撳悕"
+ width="100"
+ align="center"
+ key="name"
+ prop="name"
+ /> -->
+ <el-table-column
+ label="濮撳悕"
+ width="100"
+ align="center"
+ key="name"
+ prop="name"
+ >
+ <template slot-scope="scope">
+ <el-button
+ size="medium"
+ type="text"
+ @click="gettoken360(scope.row.idcardno,scope.row.drcode,scope.row.drname)"
+ ><span class="button-textsc">{{
+ scope.row.name
+ }}</span></el-button
+ >
+ </template>
+ </el-table-column>
+ <el-table-column
+ label="鎬у埆"
+ width="100"
+ align="center"
+ key="sex"
+ prop="sex"
+ >
+ <template slot-scope="scope">
+ <span>{{ scope.row.sex == 1 ? "鐢�" : "濂�" }}</span>
+ </template>
+ </el-table-column>
+ <el-table-column
+ label="骞撮緞"
+ align="center"
+ key="age"
+ prop="age"
+ width="100"
+ />
+ <el-table-column
+ label="鍑虹敓骞存湀"
+ align="center"
+ key="birthdate"
+ prop="birthdate"
+ width="120"
+ >
+ </el-table-column>
+ <el-table-column
+ label="灞呬綇鍦�"
+ align="center"
+ key="placeOfResidence"
+ prop="placeOfResidence"
+ width="150"
+ :show-overflow-tooltip="true"
+ />
+ <el-table-column
+ label="鎮h�呮爣绛�"
+ align="center"
+ key="tagList"
+ prop="tagList"
+ width="180"
+ :show-overflow-tooltip="true"
+ >
+ <template slot-scope="scope">
+ <span v-for="item in scope.row.tagList"
+ >{{ item.tagname }}
+ </span>
+ </template>
+ </el-table-column>
+ <el-table-column
+ label="璇佷欢鍙风爜"
+ align="center"
+ key="idcardno"
+ prop="idcardno"
+ width="190"
+ />
+
+ <el-table-column
+ label="鑱旂郴鏂瑰紡"
+ align="center"
+ key="telcode"
+ prop="telcode"
+ />
+ <el-table-column
+ label="寤烘。鏃ユ湡"
+ align="center"
+ key="createTime"
+ prop="createTime"
+ >
+ <template slot-scope="scope">
+ <span>{{ formatTime(scope.row.createTime) }}</span>
+ </template>
+ </el-table-column>
+ <el-table-column
+ label="鏇存柊鏃ユ湡"
+ align="center"
+ prop="archivetime"
+ >
+ <template slot-scope="scope">
+ <span>{{ formatTime(scope.row.archivetime) }}</span>
+ </template>
+ </el-table-column>
+ <el-table-column
+ fixed="right"
+ label="鎿嶄綔"
+ align="center"
+ width="200"
+ class-name="small-padding fixed-width"
+ >
+ <template slot-scope="scope">
+ <el-button
+ size="medium"
+ type="text"
+ @click="
+ $router.push({
+ path: '/patient/patient/profile/',
+ query: { id: scope.row.id },
+ })
+ "
+ ><span class="button-textsc"
+ ><i class="el-icon-zoom-in"></i>璇︽儏缂栬緫</span
+ ></el-button
+ >
+ <el-button
+ size="medium"
+ type="text"
+ @click="handleUpdate(scope.row)"
+ ><span class="button-textxga"
+ ><i class="el-icon-edit"></i>鎮h�呰繃婊�</span
+ ></el-button
+ >
+ <!-- <el-button
+ size="medium"
+ type="text"
+ @click="Distributionservice(scope.row)"
+ ><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>
+
+ <pagination
+ v-show="total > 0"
+ :total="total"
+ :page.sync="queryParams.pageNum"
+ :limit.sync="queryParams.pageSize"
+ @pagination="getList"
+ />
+ </el-col>
+ </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"
- v-show="showSearch"
label-width="98px"
>
- <el-form-item label="濮撳悕" prop="userName">
- <el-input
- v-model="queryParams.userName"
- placeholder="璇疯緭鍏ュ鍚�"
- clearable
- style="width: 200px"
- @keyup.enter.native="handleQuery"
- />
- </el-form-item>
- <el-form-item label="韬唤璇佸彿鐮�" prop="IDnumber">
- <el-input
- v-model="queryParams.IDnumber"
- placeholder="璇疯緭鍏ヨ韩浠借瘉鍙风爜"
- clearable
- style="width: 250px"
- @keyup.enter.native="handleQuery"
- />
- </el-form-item>
- <el-form-item label="鑱旂郴鏂瑰紡" prop="phonenumber">
- <el-input
- v-model="queryParams.phonenumber"
- placeholder="璇疯緭鍏ヨ仈绯绘柟寮�"
- clearable
- style="width: 280px"
- @keyup.enter.native="handleQuery"
- />
- </el-form-item>
- <el-row>
- <el-form-item label="鎮h�呮爣绛�" prop="status">
- <el-cascader
- v-model="queryParams.status"
- :options="optionss"
- :props="propss"
- clearable
- ></el-cascader>
- </el-form-item>
- </el-row>
-
- <!-- <el-form-item label="鍒涘缓鏃堕棿">
- <el-date-picker
- v-model="dateRange"
- 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>
- <el-button type="primary" icon="el-icon-search" size="medium" @click="handleQuery">鎼滅储</el-button>
- <el-button icon="el-icon-refresh" size="medium" @click="resetQuery">閲嶇疆</el-button>
- </el-form-item> -->
+ <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-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">
- <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"
- size="medium"
- :disabled="multiple"
- @click="handleDelete"
- v-hasPermi="['system:user:remove']"
- >鍒犻櫎</el-button
- >
- </el-col>
- <el-col :span="19">
- <div class="documentf">
- <div class="document">
- <el-button
- type="info"
- plain
- icon="el-icon-upload2"
- size="medium"
- @click="handleImport"
- v-hasPermi="['system:user:import']"
- >瀵煎叆</el-button
- >
- </div>
- <div class="document">
- <el-button
- type="warning"
- plain
- icon="el-icon-download"
- size="medium"
- @click="handleExport"
- v-hasPermi="['system:user:export']"
- >瀵煎嚭</el-button
- >
- </div>
- </div>
- </el-col>
- <!-- <el-col :span="1.5"> </el-col> -->
- </el-row>
- <!-- <right-toolbar
- :showSearch.sync="showSearch"
- @queryTable="getList"
- :columns="columns"
- ></right-toolbar> -->
- <el-table
- v-loading="loading"
- :data="userList"
- @selection-change="handleSelectionChange"
- >
- <el-table-column type="selection" width="50" align="center" />
+ <el-table v-loading="loading" :data="taskuserList">
<el-table-column
- label="搴忓彿"
+ label="浠诲姟鍚嶇О"
+ fixed
align="center"
- key="userId"
- prop="userId"
- />
- <el-table-column
- label="濮撳悕"
- align="center"
- key="userName"
- prop="userName"
+ key="taskName"
+ prop="taskName"
+ width="140"
:show-overflow-tooltip="true"
/>
<el-table-column
- label="鎬у埆"
+ 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"
+ width="120"
prop="nickName"
+ >
+ <template slot-scope="scope">
+ <span
+ >{{ scope.row.wfs ? scope.row.wfs + scope.row.yfs : "" }}/{{
+ 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="鎮h�呮爣绛�"
+ label="鍒涘缓鏃堕棿"
+ sortable
align="center"
- key="deptName"
- prop="dept.deptName"
- :show-overflow-tooltip="true"
- />
+ prop="createTime"
+ width="160"
+ >
+ <template slot-scope="scope">
+ <span>{{ formatTime(scope.row.createTime) }}</span>
+ </template>
+ </el-table-column>
<el-table-column
- label="璇佷欢绫诲瀷"
+ label="鐘舵��"
+ fixed="right"
align="center"
- key="phonenumber"
- prop="phonenumber"
- width="120"
- /><el-table-column
- label="璇佷欢鍙风爜"
- align="center"
- key="phonenumber"
- prop="phonenumber"
- width="120"
- />
- <el-table-column
- label="骞撮緞"
- align="center"
- key="phonenumber"
- prop="phonenumber"
- v-if="columns[4].visible"
- width="120"
- />
+ key="sendState"
+ prop="sendState"
+ width="180"
+ >
+ <template slot-scope="scope">
+ <dict-tag
+ :options="dict.type.task_status"
+ :value="scope.row.sendState"
+ />
+ </template>
+ </el-table-column>
<el-table-column
- label="鑱旂郴鏂瑰紡"
+ label="浠诲姟璇︽儏"
+ fixed="right"
align="center"
- key="phonenumber"
- prop="phonenumber"
- v-if="columns[4].visible"
- width="120"
- />
- <el-table-column
- label="寤烘。鏃ユ湡"
- align="center"
- prop="createTime"
- v-if="columns[6].visible"
- width="160"
- >
- <template slot-scope="scope">
- <span>{{ parseTime(scope.row.createTime) }}</span>
- </template>
- </el-table-column>
- <el-table-column
- label="鏇存柊鏃ユ湡"
- align="center"
- prop="createTime"
- v-if="columns[6].visible"
- width="160"
- >
- <template slot-scope="scope">
- <span>{{ parseTime(scope.row.createTime) }}</span>
- </template>
- </el-table-column>
- <el-table-column
- label="鎿嶄綔"
- align="center"
- width="160"
+ width="200"
class-name="small-padding fixed-width"
>
- <template slot-scope="scope" v-if="scope.row.userId !== 1">
+ <template slot-scope="scope">
<el-button
size="medium"
type="text"
- icon="el-icon-edit"
- @click="$router.push('/patient/patient/profile/')"
- v-hasPermi="['system:user:edit']"
- >鏌ョ湅</el-button
+ @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="total > 0"
- :total="total"
+ v-show="tasktotal > 0"
+ :total="tasktotal"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
- @pagination="getList"
+ @pagination="distribute"
/>
- </el-col>
- </el-row>
+ </div>
+ </el-dialog>
<!-- 娣诲姞鎴栦慨鏀圭敤鎴烽厤缃璇濇 -->
- <el-dialog :title="title" :visible.sync="open" width="900px" append-to-body>
+ <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="12">
- <el-form-item label="濮撳悕" prop="nickName">
+ <el-col :span="8">
+ <el-form-item label="濮撳悕" width="100" prop="name">
<el-input
- v-model="form.nickName"
+ v-model="form.name"
placeholder="璇疯緭鍏ュ鍚�"
maxlength="30"
/>
</el-form-item>
</el-col>
- <el-col :span="12">
- <el-form-item label="鎬у埆" prop="deptId">
+ <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 dict.type.sys_user_sex"
+ v-for="dict in sextype"
:key="dict.value"
:label="dict.label"
:value="dict.value"
@@ -300,112 +556,116 @@
</el-select>
</el-form-item>
</el-col>
- </el-row>
- <el-row>
- <el-col :span="12">
- <el-form-item label="璇佷欢绫诲瀷" prop="phonenumber">
+ <el-col :span="8">
+ <el-form-item label="骞撮緞" prop="age">
<el-input
- v-model="form.phonenumber"
- placeholder="璇烽�夋嫨璇佷欢绫诲瀷"
- maxlength="11"
+ v-model="form.age"
+ placeholder="璇疯緭鍏ュ勾榫�"
+ maxlength="30"
/>
</el-form-item>
</el-col>
- <el-col :span="12">
- <el-form-item label="璇佷欢鍙�" prop="email">
+ </el-row>
+ <el-row v-if="amendtag">
+ <el-col :span="8">
+ <el-form-item label="杩囨护鍖荤敓" width="100" prop="filterDrname">
<el-input
- v-model="form.email"
- placeholder="璇疯緭鍏ヨ瘉浠跺彿"
+ v-model="form.filterDrname"
+ placeholder="璇疯緭鍏ュ尰鐢熷鍚�"
+ maxlength="30"
+ />
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row v-if="!amendtag">
+ <el-col :span="8">
+ <el-form-item label="姘戞棌" prop="name">
+ <el-input
+ v-model="form.nation"
+ placeholder="璇疯緭鍏ユ皯鏃�"
+ maxlength="30"
+ />
+ </el-form-item>
+ </el-col>
+ <el-col :span="8">
+ <el-form-item label="绫嶈疮" prop="age">
+ <el-input
+ v-model="form.nativePlace"
+ placeholder="璇疯緭鍏ョ睄璐�"
+ maxlength="30"
+ />
+ </el-form-item>
+ </el-col>
+ <el-col :span="8">
+ <el-form-item label="鑱旂郴鏂瑰紡" prop="telcode">
+ <el-input
+ v-model="form.telcode"
+ placeholder="璇疯緭鍏ヨ仈绯绘柟寮�"
+ maxlength="30"
+ />
+ </el-form-item>
+ </el-col>
+ </el-row>
+
+ <el-row v-if="!amendtag">
+ <el-col :span="12">
+ <el-form-item label="鍑虹敓鍦�" prop="birthplace">
+ <el-input
+ v-model="form.birthplace"
+ placeholder="鍥姐�佺渷銆佸湴甯傘�佸尯鍘裤�佽閬撶瓑璇︾粏淇℃伅"
+ maxlength="50"
+ />
+ </el-form-item> </el-col
+ ><el-col :span="12">
+ <el-form-item label="灞呬綇鍦�" prop="placeOfResidence">
+ <el-input
+ v-model="form.placeOfResidence"
+ placeholder="鍥姐�佺渷銆佸湴甯傘�佸尯鍘裤�佽閬撶瓑璇︾粏淇℃伅"
maxlength="50"
/>
</el-form-item>
</el-col>
</el-row>
+
<el-row>
- <el-col :span="12">
- <el-form-item label="鏈汉鎵嬫満鍙�" prop="userName">
- <el-input
- v-model="form.userName"
- placeholder="璇疯緭鍏ユ墜鏈哄彿"
- maxlength="30"
- />
+ <el-col :span="amendtag ? 12 : 24" v-if="!amendtag">
+ <el-form-item label="鎮h�呯被鍨�">
+ <el-select v-model="form.pattype" placeholder="璇烽�夋嫨绫诲瀷">
+ <el-option
+ v-for="item in Patienttype"
+ :key="item.value"
+ :label="item.label"
+ :value="item.value"
+ ></el-option>
+ </el-select>
</el-form-item>
</el-col>
- <el-col :span="12">
- <el-form-item label="浜插睘鎵嬫満鍙�" prop="password">
- <el-input
- v-model="form.password"
- placeholder="璇疯緭鍏ヤ翰灞炴墜鏈哄彿"
- type="password"
- maxlength="20"
- show-password
- />
- </el-form-item>
- </el-col>
- </el-row>
- <el-row>
- <el-col :span="12">
- <el-form-item label="鎮h�呮爣绛�">
- <!-- <el-select v-model="form.sex" placeholder="璇烽�夋嫨"> -->
- <el-cascader
- :options="optionss"
- :props="propss"
- clearable
- ></el-cascader>
- <!-- </el-select> -->
- </el-form-item>
- </el-col>
- <!-- <el-col :span="12">
- <el-form-item label="鐘舵��">
- <el-radio-group v-model="form.status">
- <el-radio
- v-for="dict in dict.type.sys_normal_disable"
- :key="dict.value"
- :label="dict.value"
- >{{ dict.label }}</el-radio
- >
- </el-radio-group>
+ <!-- <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="12">
- <el-form-item label="宀椾綅">
- <el-select
- v-model="form.postIds"
- multiple
- placeholder="璇烽�夋嫨宀椾綅"
- >
- <el-option
- v-for="item in postOptions"
- :key="item.postId"
- :label="item.postName"
- :value="item.postId"
- :disabled="item.status == 1"
- ></el-option>
- </el-select>
- </el-form-item>
- </el-col>
- <el-col :span="12">
- <el-form-item label="瑙掕壊">
- <el-select
- v-model="form.roleIds"
- multiple
- placeholder="璇烽�夋嫨瑙掕壊"
- >
- <el-option
- v-for="item in roleOptions"
- :key="item.roleId"
- :label="item.roleName"
- :value="item.roleId"
- :disabled="item.status == 1"
- ></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"
@@ -442,28 +702,36 @@
: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"
:underline="false"
style="font-size: 24px; vertical-align: baseline"
@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
+ > -->
</div>
</el-upload>
</div>
@@ -471,10 +739,11 @@
<div class="uploading" v-else-if="dractive == 2">
<el-table :data="uploadingData" style="width: 100%">
<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 prop="name" label="濮撳悕" width="100">
</el-table-column>
+ <el-table-column prop="sex" label="鎬у埆" width="100">
+ </el-table-column>
+
<el-table-column prop="certificatenum" label="璇佷欢鍙风爜">
</el-table-column>
<el-table-column prop="goday" label="鍑虹敓鏃ユ湡"> </el-table-column>
@@ -483,6 +752,7 @@
</el-table-column>
<el-table-column prop="tag" label="鎮h�呮爣绛�"> </el-table-column>
<el-table-column prop="erry" label="閿欒鍘熷洜"> </el-table-column>
+ <el-table-column prop="opinion" label="澶勭悊鎰忚"> </el-table-column>
</el-table>
<pagination
v-show="total > 0"
@@ -494,44 +764,129 @@
</div>
<!-- 瀹屾垚 -->
<div class="drexamine" v-else-if="dractive == 3">
- <img
- src="https://fuss10.elemecdn.com/e/5d/4a731a90594a4af544c0c25941171jpeg.jpeg"
- />
+ <img src="@/assets/images/瀵煎叆.png" />
<p>瀵煎叆鎮h�呮垚鍔燂紒</p>
- <p>鏈鍏辫瀵煎叆{{ ImportQuantity }}浣嶆偅鑰�</p>
+ <p>
+ 鏈
+ <span style="color: #158bb8; font-size: 20px">{{
+ ImportQuantity
+ }}</span>
+ 鏉℃暟鎹垚鍔熷鍏�<span style="color: #72d3a9; font-size: 20px">{{
+ ImportQuantity
+ }}</span
+ >浣嶆偅鑰�
+ </p>
+ </div>
+ <div v-if="dractive == 3">
+ <el-table :data="uploadingData" style="width: 100%">
+ <el-table-column prop="serial" label="搴忓彿"> </el-table-column>
+ <el-table-column prop="name" label="濮撳悕" width="100">
+ </el-table-column>
+ <el-table-column prop="sex" label="鎬у埆" width="100">
+ </el-table-column>
+ <el-table-column prop="certificatenum" label="璇佷欢鍙风爜">
+ </el-table-column>
+ <el-table-column prop="goday" label="鍑虹敓鏃ユ湡"> </el-table-column>
+ <el-table-column prop="menum" label="鏈汉鑱旂郴鏂瑰紡"> </el-table-column>
+ <el-table-column prop="younum" label="浜插睘鑱旂郴鏂瑰紡">
+ </el-table-column>
+ <el-table-column prop="tag" label="鎮h�呮爣绛�"> </el-table-column>
+ <el-table-column prop="erry" label="閿欒鍘熷洜"> </el-table-column>
+ <el-table-column prop="opinion" label="澶勭悊鎰忚"> </el-table-column>
+ </el-table>
+ <pagination
+ v-show="total > 0"
+ :total="total"
+ :page.sync="queryParams.pageNum"
+ :limit.sync="queryParams.pageSize"
+ @pagination="geterryList"
+ />
</div>
<div slot="footer" class="dialog-footer" v-if="dractive == 3">
<!-- <el-button type="primary" @click="submitFileForm">涓嬩竴姝�</el-button> -->
<el-button @click="submitclose">瀹屾垚</el-button>
+ <el-button type="warning" @click="submitclose">瀵煎嚭澶辫触鏁版嵁</el-button>
</div>
<div slot="footer" v-else>
<el-button type="primary" @click="submitFileForm">涓嬩竴姝�</el-button>
<el-button @click="submitclose">鍙� 娑�</el-button>
</div>
</el-dialog>
+ <!-- 璺宠浆鏈嶅姟瀵硅瘽妗� -->
+ <el-dialog title="閫夋嫨鏈嶅姟绫诲瀷" :visible.sync="serviceVisible">
+ <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>
</template>
<script>
+import { delUser } from "@/api/system/user";
+
import {
- listUser,
- getUser,
- delUser,
- addUser,
- updateUser,
- resetUserPwd,
- changeUserStatus,
- deptTreeSelect,
-} from "@/api/system/user";
-import { listpatient } from "@/api/patient/homepage";
+ messagelistpatient,
+ alterpatient,
+ addpatient,
+ particularpatient,
+ deletepatient,
+ Exporterrorpatient,
+ toleadpatient,
+} from "@/api/patient/homepage";
+import { getTasklist,query360PatInfo } 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: "User",
- dicts: ["sys_normal_disable", "sys_user_sex"],
+ name: "Patient",
+ dicts: [
+ "sys_normal_disable",
+ "task_status",
+ "sys_user_sex",
+ "futter_patient",
+ ],
components: { Treeselect },
data() {
return {
@@ -547,59 +902,161 @@
showSearch: true,
// 鎬绘潯鏁�
total: 0,
+ tasktotal: 0,
+ Risklist: [],
// 鐢ㄦ埛琛ㄦ牸鏁版嵁
userList: null,
+ taskuserList: null,
// 寮瑰嚭灞傛爣棰�
title: "",
// 閮ㄩ棬鏍戦�夐」
deptOptions: undefined,
+ options: [],
// 鏄惁鏄剧ず寮瑰嚭灞�
open: false,
// 閮ㄩ棬鍚嶇О
deptName: undefined,
// 榛樿瀵嗙爜
initPassword: undefined,
+ 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: [],
- // 宀椾綅閫夐」
- postOptions: [],
- // 瑙掕壊閫夐」
- roleOptions: [],
+ taskoptions: [],
+ paperstypes: [
+ { papersname: "韬唤璇�" },
+ { papersname: "鎶ょ収" },
+ { papersname: "涓浗娓境灞呮皯韬唤璇�" },
+ { papersname: "涓浗鍙版咕灞呮皯韬唤璇�" },
+ ],
+ Patienttype: [
+ {
+ value: "1",
+ label: "鍦ㄩ櫌鎮h��",
+ },
+
+ {
+ value: "3",
+ label: "浣撴鎮h��",
+ },
+ {
+ value: "4",
+ label: "鍑洪櫌鎮h��",
+ },
+ ],
+ sextype: [
+ {
+ value: 1,
+ label: "鐢�",
+ },
+ {
+ value: 2,
+ label: "濂�",
+ },
+ ],
+
+ cardlist: [
+ {
+ name: "鎮h�呮�绘暟",
+ value: 123,
+ },
+ {
+ name: "鍦ㄩ櫌鎮h��",
+ value: 23,
+ router: "/patient/inpatient",
+ },
+ {
+ name: "鍑洪櫌鎮h��",
+ value: 41,
+ router: "/patient/hospital",
+ },
+ {
+ name: "绂讳笘鎮h��",
+ value: 0,
+ },
+ ],
+ source: [
+ {
+ value: 0,
+ label: "鎵�灞炴偅鑰�",
+ },
+ {
+ value: 1,
+ label: "绉戝鎮h��",
+ },
+ {
+ value: 2,
+ label: "鐥呭尯鎮h��",
+ },
+ ],
// 琛ㄥ崟鍙傛暟
- form: {},
+ form: {
+ name: "",
+ age: "",
+ sex: "",
+ tagList: [],
+ idcardno: "",
+ telcode: "",
+ idcardtype: "",
+ relativetelcode: "",
+ },
+ 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",
+ },
+ },
+ },
+ activeName: "first", //渚ц竟閫夋嫨
//瀵煎叆杩涘害
dractive: 1,
// 瀵煎叆灞曠ず琛ㄥ崟
uploadingData: {},
total: 0, // 鎬绘潯鏁�
ImportQuantity: 999, //瀵煎叆鎮h�呮暟閲�
- // 鏌ヨ鍙傛暟
- queryParams: {
- pageNum: 1,
- pageSize: 10,
- jobName: undefined,
- jobGroup: undefined,
- status: undefined,
- },
+ Labelchange: false, //淇敼鏂板寮圭獥
propss: { multiple: true },
- optionss: [
- {
- value: 1,
- label: "涓滃崡",
- },
- {
- value: 2,
- label: "瑗垮寳",
- },
- {
- value: 3,
- label: "浠ㄤ花浠�",
- },
- {
- value: 4,
- label: "鍏椋掗",
- },
- ],
+ optionstag: [], //鏍囩鍒楄〃
defaultProps: {
children: "children",
label: "label",
@@ -617,32 +1074,38 @@
// 璁剧疆涓婁紶鐨勮姹傚ご閮�
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,
- name: "鐜嬪ぇ",
+ allhosp: "0",
pageSize: 10,
- userName: undefined,
- phonenumber: undefined,
- status: undefined,
- deptId: undefined,
- IDnumber: undefined,
+ notrequiredFlag: 0,
+ searchscope: 2,
+ scopetype: [],
+ leaveldeptcodes: [],
+ leavehospitaldistrictcodes: [],
},
- // 鍒椾俊鎭�
- columns: [
- { key: 0, label: `鐢ㄦ埛缂栧彿`, visible: true },
- { key: 1, label: `鐢ㄦ埛鍚嶇О`, visible: true },
- { key: 2, label: `鐢ㄦ埛鏄电О`, visible: true },
- { key: 3, label: `閮ㄩ棬`, visible: true },
- { key: 4, label: `鎵嬫満鍙风爜`, visible: true },
- { key: 5, label: `鐘舵�乣, visible: true },
- { key: 6, label: `鍒涘缓鏃堕棿`, visible: true },
+ sourcetype: [
+ {
+ value: 1,
+ label: "绉戝",
+ children: [],
+ },
+ {
+ value: 2,
+ label: "鐥呭尯",
+ children: [],
+ },
+ {
+ value: 3,
+ label: "鍏ㄩ儴",
+ },
],
// 琛ㄥ崟鏍¢獙
rules: {
- userName: [
+ name: [
{ required: true, message: "鐢ㄦ埛鍚嶇О涓嶈兘涓虹┖", trigger: "blur" },
{
min: 2,
@@ -651,39 +1114,32 @@
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: [
+
+ sex: [{ 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",
},
],
- IDnumber: [
+
+ 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" },
],
},
};
@@ -696,20 +1152,72 @@
},
created() {
this.getList();
- this.getDeptTree();
- this.getConfigKey("sys.user.initPassword").then((response) => {
- this.initPassword = response.msg;
+ this.gettabList();
+ //鑾峰彇宸茬瓫閫夊悗鐨勫彲閫変换鍔$被鍨�
+ 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,
+ };
+ });
+ this.taskoptions = store.getters.Serviceauthority;
},
methods: {
/** 鏌ヨ鎮h�呭垪琛� */
getList() {
+ if (this.queryParams.searchscope == 3) {
+ this.queryParams.leaveldeptcodes = store.getters.belongDepts.map(
+ (obj) => obj.deptCode
+ );
+ this.queryParams.leavehospitaldistrictcodes =
+ store.getters.belongWards.map((obj) => obj.districtCode);
+ }
this.loading = true;
- listUser(this.queryParams).then((response) => {
- console.log(response);
+ messagelistpatient(this.queryParams).then((response) => {
this.userList = response.rows;
this.total = response.total;
this.loading = false;
+ });
+ },
+ handleClick() {
+ this.getList();
+ },
+ findLabelByValue(data, value) {
+ const item = data.find((item) => item.value === value);
+ return item ? item.label : null;
+ },
+ /** 鏌ヨ鏍囩鍒楄〃 */
+ gettabList() {
+ const tagqueryParams = {
+ pageNum: 1,
+ pageSize: 1000,
+ tagname: undefined,
+ tagdescription: undefined,
+ tagcategoryid: "0",
+ };
+ listtag(tagqueryParams).then((response) => {
+ console.log(response);
+ this.optionstag = response.rows;
+ });
+ },
+ //鎮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鏌ヨ鏃犵粨鏋�");
+ }
});
},
// 鏌ヨ瀵煎叆灞曠ず鍒楄〃
@@ -721,59 +1229,32 @@
this.loading = false;
});
},
- /** 鏌ヨ閮ㄩ棬涓嬫媺鏍戠粨鏋� */
- getDeptTree() {
- deptTreeSelect().then((response) => {
- this.deptOptions = response.data;
- });
+ Distributionservice(row) {
+ this.serviceVisible = true;
},
- // 绛涢�夎妭鐐�
- filterNode(value, data) {
- if (!value) return true;
- return data.label.indexOf(value) !== -1;
+ RiskMarker(row) {
+ this.RiskVisible = true;
+ this.RiskObj = row;
},
- // 鑺傜偣鍗曞嚮浜嬩欢
- handleNodeClick(data) {
- this.queryParams.deptId = data.id;
- this.handleQuery();
- },
- // 鐢ㄦ埛鐘舵�佷慨鏀�
- handleStatusChange(row) {
- let text = row.status === "0" ? "鍚敤" : "鍋滅敤";
- this.$modal
- .confirm('纭瑕�"' + text + '""' + row.userName + '"鐢ㄦ埛鍚楋紵')
- .then(function () {
- return changeUserStatus(row.userId, row.status);
- })
- .then(() => {
- this.$modal.msgSuccess(text + "鎴愬姛");
- })
- .catch(function () {
- row.status = row.status === "0" ? "1" : "0";
- });
- },
+
// 鍙栨秷鎸夐挳
cancel() {
- this.open = false;
+ this.Labelchange = false;
this.reset();
},
// 琛ㄥ崟閲嶇疆
reset() {
this.form = {
- userId: undefined,
- deptId: undefined,
- userName: undefined,
- nickName: undefined,
- password: undefined,
- phonenumber: undefined,
- email: undefined,
- sex: undefined,
- status: "0",
- remark: undefined,
- postIds: [],
- roleIds: [],
+ name: "",
+ age: "",
+ sex: "",
+ tagList: [],
+ idcardno: "",
+ telcode: "",
+ idcardtype: "",
+ relativetelcode: "",
};
- this.resetForm("form");
+ // this.resetForm("form");
},
/** 鎼滅储鎸夐挳鎿嶄綔 */
handleQuery() {
@@ -783,96 +1264,91 @@
/** 閲嶇疆鎸夐挳鎿嶄綔 */
resetQuery() {
this.dateRange = [];
- this.resetForm("queryForm");
- this.queryParams.deptId = undefined;
- this.$refs.tree.setCurrentKey(null);
- this.handleQuery();
+ this.queryParams = {
+ pageNum: 1,
+ allhosp: "0",
+ pageSize: 10,
+ notrequiredFlag: 0,
+ searchscope: 2,
+ scopetype: [],
+ leaveldeptcodes: [],
+ leavehospitaldistrictcodes: [],
+ };
+ this.handleQuery();
},
// 澶氶�夋閫変腑鏁版嵁
handleSelectionChange(selection) {
- this.ids = selection.map((item) => item.userId);
+ this.ids = selection.map((item) => item.id);
this.single = selection.length != 1;
this.multiple = !selection.length;
},
- // 鏇村鎿嶄綔瑙﹀彂
- handleCommand(command, row) {
- switch (command) {
- case "handleResetPwd":
- this.handleResetPwd(row);
- break;
- case "handleAuthRole":
- this.handleAuthRole(row);
- break;
- default:
- break;
- }
- },
+
/** 鏂板鎸夐挳鎿嶄綔 */
handleAdd() {
this.reset();
- getUser().then((response) => {
- this.postOptions = response.posts;
- this.roleOptions = response.roles;
- this.open = true;
- this.title = "鏂板鎮h��";
- this.form.password = this.initPassword;
- });
+ this.Labelchange = true;
+ this.amendtag = false;
},
/** 淇敼鎸夐挳鎿嶄綔 */
handleUpdate(row) {
- this.reset();
- const userId = row.userId || this.ids;
- getUser(userId).then((response) => {
+ const userIds = row.id || this.ids;
+ particularpatient(userIds).then((response) => {
this.form = response.data;
- this.postOptions = response.posts;
- this.roleOptions = response.roles;
- this.$set(this.form, "postIds", response.postIds);
- this.$set(this.form, "roleIds", response.roleIds);
- this.open = true;
- this.title = "淇敼鐢ㄦ埛";
- this.form.password = "";
+ this.form.filterDrname = store.getters.nickName;
});
+ this.amendtag = true;
+ this.Labelchange = true;
},
- /** 閲嶇疆瀵嗙爜鎸夐挳鎿嶄綔 */
- handleResetPwd(row) {
- this.$prompt('璇疯緭鍏�"' + row.userName + '"鐨勬柊瀵嗙爜', "鎻愮ず", {
- confirmButtonText: "纭畾",
- cancelButtonText: "鍙栨秷",
- closeOnClickModal: false,
- inputPattern: /^.{5,20}$/,
- inputErrorMessage: "鐢ㄦ埛瀵嗙爜闀垮害蹇呴』浠嬩簬 5 鍜� 20 涔嬮棿",
- })
- .then(({ value }) => {
- resetUserPwd(row.userId, value).then((response) => {
- this.$modal.msgSuccess("淇敼鎴愬姛锛屾柊瀵嗙爜鏄細" + value);
- });
- })
- .catch(() => {});
- },
- /** 鍒嗛厤瑙掕壊鎿嶄綔 */
- handleAuthRole: function (row) {
- const userId = row.userId;
- this.$router.push("/system/user-auth/role/" + userId);
- },
- /** 鎻愪氦鎸夐挳 */
- submitForm: function () {
+ //淇敼/鏂板鎮h��
+ submitForm() {
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();
- });
+ 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 {
- addUser(this.form).then((response) => {
- this.$modal.msgSuccess("鏂板鎴愬姛");
- this.open = false;
- this.getList();
- });
+ 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;
}
});
+ },
+ // 鎮h�呰寖鍥村鐞�
+ handleChange(value) {
+ let type = value[0];
+ let code = value.slice(-1)[0];
+ this.queryParams.leavehospitaldistrictcodes = [];
+ this.queryParams.leaveldeptcodes = [];
+
+ if (type == 1) {
+ this.queryParams.leaveldeptcodes.push(code);
+ this.queryParams.leavehospitaldistrictcodes = [];
+ this.queryParams.searchscope = 1;
+ } else if (type == 2) {
+ this.queryParams.leavehospitaldistrictcodes.push(code);
+ this.queryParams.leaveldeptcodes = [];
+ this.queryParams.searchscope = 2;
+ } else {
+ this.queryParams.searchscope = 3;
+ }
},
/** 鍒犻櫎鎸夐挳鎿嶄綔 */
handleDelete(row) {
@@ -880,13 +1356,57 @@
this.$modal
.confirm('鏄惁纭鍒犻櫎鐢ㄦ埛缂栧彿涓�"' + userIds + '"鐨勬暟鎹」锛�')
.then(function () {
- return delUser(userIds);
+ return deletepatient(userIds);
})
.then(() => {
this.getList();
this.$modal.msgSuccess("鍒犻櫎鎴愬姛");
})
.catch(() => {});
+ },
+ //鏈嶅姟璺宠浆
+ CreateService() {
+ this.$router.push({
+ path: "/followvisit/particty",
+ 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() {
@@ -906,7 +1426,7 @@
/** 涓嬭浇妯℃澘鎿嶄綔 */
importTemplate() {
this.download(
- "system/user/importTemplate",
+ "smartor/import/getImportPatTemplate",
{},
`user_template_${new Date().getTime()}.xlsx`
);
@@ -948,6 +1468,109 @@
</script>
<style lang="scss" scoped>
+.Questionnairemanagement {
+ // display: flex;
+}
+.sidecolumn {
+ width: 180px;
+ min-height: 80vh;
+ position: fixed;
+ text-align: center;
+ // display: flex;
+ margin-top: 20px;
+ margin: 20px;
+ padding: 15px;
+ background: #d0e9fd;
+ 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);
+ .sidecolumn-top {
+ display: flex;
+ justify-content: space-between;
+ .top-wj {
+ font-size: 20px;
+ }
+ .top-tj {
+ font-size: 18px;
+
+ color: rgb(0, 89, 255);
+ cursor: pointer;
+ }
+ }
+ .center-ss {
+ margin-top: 30px;
+ .input-with-select {
+ height: 40px !important;
+ }
+ }
+ .bottom-fl {
+ margin-top: 30px;
+ 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;
+ align-items: center;
+ display: flex;
+}
+::v-deep.el-input--medium .el-input__inner {
+ height: 40px !important;
+}
+::v-deep.el-tabs--right .el-tabs__active-bar.is-right {
+ height: 40px;
+ width: 5px;
+ left: 0;
+}
+::v-deep.el-tabs--right .el-tabs__item.is-right {
+ display: block;
+ text-align: left;
+ font-size: 20px;
+}
+::v-deep.leftvlue .el-card__body {
+ background: #F2F8FF;
+ color: #324A9B;
+}
+::v-deep.leftvlue .el-card__body:hover {
+ background: #3664D9;
+ color: #fff;
+ cursor: pointer; /* 榧犳爣鎮诞鏃跺彉涓烘墜褰� */
+}
+.leftvlue {
+ // width: 100%;
+ // margin-left: 220px;
+ margin-top: 10px;
+}
+.leftvlue-bg {
+ // display: flex;
+ // flex: 1;
+ margin-top: 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);
+ .mulsz {
+ font-size: 20px;
+ }
+}
.el-button--primary.is-plain {
color: #ffffff;
background: #409eff;
@@ -983,11 +1606,20 @@
display: flex;
align-items: center;
justify-content: center;
- padding: 30px;
+ padding: 20px;
background: #daeaf5;
img {
- width: 100px;
- height: 100px;
+ width: 50px;
+ height: 50px;
}
}
+.button-textsc {
+ color: #3664D9;
+}
+.button-textxga {
+ color: #de7897;
+}
+.button-textxg {
+ color: #de7897;
+}
</style>
--
Gitblit v1.9.3