版本更新
This commit is contained in:
392
openhis-ui-vue3/src/template/nursingRecordSheet.vue
Normal file
392
openhis-ui-vue3/src/template/nursingRecordSheet.vue
Normal file
@@ -0,0 +1,392 @@
|
||||
<!--
|
||||
* @Author: sjjh
|
||||
* @Date: 2025-10-08 23:33:29
|
||||
* @Description: 护理记录单
|
||||
-->
|
||||
<template>
|
||||
<div class="container">
|
||||
<div class="header">
|
||||
<h2 class="title">乾安县人民医院</h2>
|
||||
<h3 class="subtitle">患者护理记录单</h3>
|
||||
</div>
|
||||
|
||||
<el-form :model="state.formData" label-position="top" class="nursing-form">
|
||||
<!-- 患者基本信息 -->
|
||||
<div class="patient-info">
|
||||
<el-row :gutter="20">
|
||||
<el-col :span="2">
|
||||
<el-form-item label="姓名">
|
||||
<el-input v-model="state.formData.name" placeholder="请输入姓名"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="2">
|
||||
<el-form-item label="年龄">
|
||||
<el-input v-model="state.formData.age" placeholder="请输入年龄"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="4">
|
||||
<el-form-item label="性别">
|
||||
<el-select v-model="state.formData.gender" placeholder="请选择性别">
|
||||
<el-option label="男" value="male"></el-option>
|
||||
<el-option label="女" value="female"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="4">
|
||||
<el-form-item label="病区">
|
||||
<el-input v-model="state.formData.ward" placeholder="请输入病区"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="4">
|
||||
<el-form-item label="床号">
|
||||
<el-input v-model="state.formData.bedNumber" placeholder="请输入床号"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="4">
|
||||
<el-form-item label="住院号">
|
||||
<el-input
|
||||
v-model="state.formData.hospitalNumber"
|
||||
placeholder="请输入住院号"
|
||||
></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="4">
|
||||
<el-form-item label="入院诊断">
|
||||
<el-input v-model="state.formData.diagnosis" placeholder="请输入入院诊断"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</div>
|
||||
|
||||
<!-- 基本信息记录表格 -->
|
||||
<div class="vital-signs-table">
|
||||
<el-table :data="state.vitalSigns" border style="width: 100%">
|
||||
<el-table-column label="日期" width="100">
|
||||
<template #default="scope">
|
||||
<el-date-picker
|
||||
v-model="scope.row.date"
|
||||
type="date"
|
||||
placeholder="选择日期"
|
||||
format="YYYY-MM-DD"
|
||||
value-format="YYYY-MM-DD"
|
||||
style="width: 100%"
|
||||
></el-date-picker>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="时间" width="100">
|
||||
<template #default="scope">
|
||||
<el-time-picker
|
||||
v-model="scope.row.time"
|
||||
placeholder="选择时间"
|
||||
format="HH:mm"
|
||||
value-format="HH:mm"
|
||||
style="width: 100%"
|
||||
></el-time-picker>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="基本信息">
|
||||
<el-table-column label="意识" width="80">
|
||||
<template #default="scope">
|
||||
<el-select v-model="scope.row.consciousness" placeholder="选择">
|
||||
<el-option label="清醒" value="清醒"></el-option>
|
||||
<el-option label="嗜睡" value="嗜睡"></el-option>
|
||||
<el-option label="昏迷" value="昏迷"></el-option>
|
||||
</el-select>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="体温℃" width="80">
|
||||
<template #default="scope">
|
||||
<el-input v-model="scope.row.temperature" placeholder="体温"></el-input>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="心率次/分" width="100">
|
||||
<template #default="scope">
|
||||
<el-input v-model="scope.row.heartRate" placeholder="心率"></el-input>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="脉搏次/分" width="100">
|
||||
<template #default="scope">
|
||||
<el-input v-model="scope.row.heartRate" placeholder="心率"></el-input>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="呼吸次/分" width="100">
|
||||
<template #default="scope">
|
||||
<el-input v-model="scope.row.respiratoryRate" placeholder="呼吸"></el-input>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="血压mmHg" width="120">
|
||||
<template #default="scope">
|
||||
<el-input v-model="scope.row.bloodPressure" placeholder="血压"></el-input>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="血氧饱和度" width="120">
|
||||
<template #default="scope">
|
||||
<el-input v-model="scope.row.bloodPressure" placeholder="血压"></el-input>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table-column>
|
||||
<el-table-column label="氧疗L/min" width="200">
|
||||
<el-table-column label="方式" >
|
||||
<template #default="scope">
|
||||
<el-select v-model="scope.row.oxygenMethod" placeholder="选择">
|
||||
<el-option label="鼻导管" value="鼻导管"></el-option>
|
||||
<el-option label="面罩" value="面罩"></el-option>
|
||||
<el-option label="无" value="无"></el-option>
|
||||
</el-select>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="流量" width="80">
|
||||
<template #default="scope">
|
||||
<el-input v-model="scope.row.flowRate" placeholder="流量"></el-input>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table-column>
|
||||
<el-table-column label="入量" width="200">
|
||||
<el-table-column label="名称" >
|
||||
<template #default="scope">
|
||||
<el-select v-model="scope.row.oxygenMethod" placeholder="选择">
|
||||
<el-option label="鼻导管" value="鼻导管"></el-option>
|
||||
<el-option label="面罩" value="面罩"></el-option>
|
||||
<el-option label="无" value="无"></el-option>
|
||||
</el-select>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="ml" width="80">
|
||||
<template #default="scope">
|
||||
<el-input v-model="scope.row.flowRate" placeholder="流量"></el-input>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="途径" width="80">
|
||||
<template #default="scope">
|
||||
<el-input v-model="scope.row.flowRate" placeholder="流量"></el-input>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table-column>
|
||||
<el-table-column label="出量" width="200">
|
||||
<el-table-column label="名称" >
|
||||
<template #default="scope">
|
||||
<el-select v-model="scope.row.oxygenMethod" placeholder="选择">
|
||||
<el-option label="鼻导管" value="鼻导管"></el-option>
|
||||
<el-option label="面罩" value="面罩"></el-option>
|
||||
<el-option label="无" value="无"></el-option>
|
||||
</el-select>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="ml" width="80">
|
||||
<template #default="scope">
|
||||
<el-input v-model="scope.row.flowRate" placeholder="流量"></el-input>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table-column>
|
||||
<el-table-column label="皮肤情况" width="80">
|
||||
<template #default="scope">
|
||||
<el-input v-model="scope.row.flowRate" placeholder="流量"></el-input>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="管路护理" width="80">
|
||||
<template #default="scope">
|
||||
<el-input v-model="scope.row.flowRate" placeholder="流量"></el-input>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="病情与措施" width="80">
|
||||
<template #default="scope">
|
||||
<el-input v-model="scope.row.flowRate" placeholder="流量"></el-input>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="护士签名" width="100">
|
||||
<template #default="scope">
|
||||
<el-input v-model="scope.row.nurseSignature" placeholder="签名"></el-input>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="操作" width="120" fixed="right">
|
||||
<template #default="scope">
|
||||
<el-button type="danger" size="small" @click="removeVitalSign(scope.$index)"
|
||||
>删除</el-button
|
||||
>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<div class="add-row">
|
||||
<el-button type="primary" @click="addVitalSign">添加记录</el-button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 表单底部按钮 -->
|
||||
<div class="form-actions">
|
||||
<div>
|
||||
一、意识:①清醒;②嗜睡;③意识模糊;④昏睡;⑤谗妄;⑥浅昏迷;⑦中度昏迷;⑧深昏迷;⑨全麻未醒;⑩镇静。
|
||||
</div>
|
||||
<div>
|
||||
二、氧疗方式:①鼻导管;②面罩;③HFNC;④HIPPV;⑤IMV。
|
||||
</div>
|
||||
<div>
|
||||
三、皮肤情况:①完好;②压疮;③出血点;④破损;⑤水肿;⑥瘀斑;⑦过敏;⑧其他。
|
||||
</div>
|
||||
<div>
|
||||
四、管路护理:①胃管;②尿导管;③静脉置管;④吸氧管;⑤“T”管;⑥胸腔引流管;⑦腹腔引流管;⑧伤口引流管;⑨脑室引流管;⑩其他。
|
||||
</div>
|
||||
</div>
|
||||
</el-form>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
defineOptions({
|
||||
name: 'NursingRecordSheet',
|
||||
});
|
||||
import { getCurrentInstance, onBeforeMount, onMounted, reactive } from 'vue';
|
||||
const { proxy } = getCurrentInstance();
|
||||
const emits = defineEmits([]);
|
||||
const props = defineProps({
|
||||
patientId: {
|
||||
type: String,
|
||||
default: '',
|
||||
},
|
||||
});
|
||||
|
||||
// 表单数据
|
||||
const state = reactive({
|
||||
formData: {
|
||||
name: '',
|
||||
age: '',
|
||||
gender: '',
|
||||
ward: '',
|
||||
bedNumber: '',
|
||||
hospitalNumber: '',
|
||||
diagnosis: '',
|
||||
},
|
||||
vitalSigns: [
|
||||
{
|
||||
date: new Date().toISOString().split('T')[0],
|
||||
time: new Date().toTimeString().slice(0, 5),
|
||||
consciousness: '清醒',
|
||||
temperature: '',
|
||||
heartRate: '',
|
||||
respiratoryRate: '',
|
||||
bloodPressure: '',
|
||||
oxygenMethod: '无',
|
||||
flowRate: '',
|
||||
nurseSignature: '',
|
||||
},
|
||||
],
|
||||
|
||||
});
|
||||
|
||||
// 添加生命体征记录
|
||||
const addVitalSign = () => {
|
||||
state.vitalSigns.push({
|
||||
date: new Date().toISOString().split('T')[0],
|
||||
time: new Date().toTimeString().slice(0, 5),
|
||||
consciousness: '清醒',
|
||||
temperature: '',
|
||||
heartRate: '',
|
||||
respiratoryRate: '',
|
||||
bloodPressure: '',
|
||||
oxygenMethod: '无',
|
||||
flowRate: '',
|
||||
nurseSignature: '',
|
||||
});
|
||||
};
|
||||
|
||||
// 删除生命体征记录
|
||||
const removeVitalSign = (index) => {
|
||||
state.vitalSigns.splice(index, 1);
|
||||
if (state.vitalSigns.length === 0) {
|
||||
addVitalSign();
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
|
||||
// 重置表单
|
||||
const resetForm = () => {
|
||||
state.formData = {
|
||||
name: '',
|
||||
age: '',
|
||||
gender: '',
|
||||
ward: '',
|
||||
bedNumber: '',
|
||||
hospitalNumber: '',
|
||||
diagnosis: '',
|
||||
};
|
||||
state.vitalSigns = [
|
||||
{
|
||||
date: new Date().toISOString().split('T')[0],
|
||||
time: new Date().toTimeString().slice(0, 5),
|
||||
consciousness: '清醒',
|
||||
temperature: '',
|
||||
heartRate: '',
|
||||
respiratoryRate: '',
|
||||
bloodPressure: '',
|
||||
oxygenMethod: '无',
|
||||
flowRate: '',
|
||||
nurseSignature: '',
|
||||
},
|
||||
];
|
||||
};
|
||||
|
||||
onBeforeMount(() => {
|
||||
// 如果有patientId,可以在这里加载患者数据
|
||||
if (props.patientId) {
|
||||
// 加载患者数据的逻辑
|
||||
}
|
||||
});
|
||||
|
||||
onMounted(() => {
|
||||
// 组件挂载后的逻辑
|
||||
});
|
||||
|
||||
defineExpose({ state });
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
.container {
|
||||
padding: 20px;
|
||||
background-color: #fff;
|
||||
}
|
||||
|
||||
.header {
|
||||
text-align: center;
|
||||
margin-bottom: 20px;
|
||||
|
||||
.title {
|
||||
font-size: 24px;
|
||||
font-weight: bold;
|
||||
margin-bottom: 5px;
|
||||
}
|
||||
|
||||
.subtitle {
|
||||
font-size: 20px;
|
||||
font-weight: bold;
|
||||
}
|
||||
}
|
||||
|
||||
.nursing-form {
|
||||
.patient-info {
|
||||
padding: 15px;
|
||||
border: 1px solid #dcdfe6;
|
||||
border-radius: 4px;
|
||||
}
|
||||
|
||||
.vital-signs-table
|
||||
{
|
||||
margin-bottom: 20px;
|
||||
|
||||
h4 {
|
||||
margin-bottom: 10px;
|
||||
font-size: 16px;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.add-row {
|
||||
margin-top: 10px;
|
||||
text-align: center;
|
||||
}
|
||||
}
|
||||
|
||||
.form-actions {
|
||||
margin-top: 30px;
|
||||
text-align: left;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
@@ -20,7 +20,7 @@
|
||||
<div class="info-item">姓名:{{ state.formData.patientName }}</div>
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
<div class="info-item">性别:{{ state.formData.gender }}</div>
|
||||
<div class="info-item">性别:{{ state.formData.sex }}</div>
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
<div class="info-item">年龄:{{ state.formData.age }}岁</div>
|
||||
@@ -89,13 +89,35 @@
|
||||
<div class="form-item">
|
||||
<span class="item-label">手术标识</span>
|
||||
<el-radio-group v-model="state.formData.surgeryMark">
|
||||
<el-radio :label="1">无</el-radio>
|
||||
<el-radio :label="2">有</el-radio>
|
||||
<el-radio
|
||||
v-for="item in getStatisticsOptionList('surgeryMark')"
|
||||
:key="item.dictValue"
|
||||
:label="item.dictValue"
|
||||
>{{ item.dictLabel }}</el-radio
|
||||
>
|
||||
</el-radio-group>
|
||||
</div>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
<el-row :gutter="20">
|
||||
<el-col :span="24">
|
||||
<div class="form-item">
|
||||
<span class="item-label">药物使用方法</span>
|
||||
<el-select
|
||||
v-model="state.formData.drugMethod"
|
||||
placeholder="Select"
|
||||
style="width: 240px"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in getStatisticsOptionList('drugMethod')"
|
||||
:key="item.dictValue"
|
||||
:label="item.dictLabel"
|
||||
:value="item.dictValue"
|
||||
/>
|
||||
</el-select>
|
||||
</div>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row :gutter="20">
|
||||
<el-col :span="24">
|
||||
<div class="form-item">
|
||||
@@ -166,7 +188,11 @@
|
||||
<div class="form-item">
|
||||
<span class="item-label">皮肤情况</span>
|
||||
<span>部位</span>
|
||||
<el-input v-model="state.formData.skinPosition1" class="inline-input" style="width: 50px" />
|
||||
<el-input
|
||||
v-model="state.formData.skinPosition1"
|
||||
class="inline-input"
|
||||
style="width: 50px"
|
||||
/>
|
||||
<span>面积</span>
|
||||
<el-input
|
||||
v-model="state.formData.skinArea1"
|
||||
@@ -184,7 +210,11 @@
|
||||
<el-col :span="12">
|
||||
<div class="form-item">
|
||||
<span>部位</span>
|
||||
<el-input v-model="state.formData.skinPosition2" class="inline-input" style="width: 50px" />
|
||||
<el-input
|
||||
v-model="state.formData.skinPosition2"
|
||||
class="inline-input"
|
||||
style="width: 50px"
|
||||
/>
|
||||
<span>面积</span>
|
||||
<el-input
|
||||
v-model="state.formData.skinArea3"
|
||||
@@ -192,7 +222,7 @@
|
||||
style="width: 50px"
|
||||
/>
|
||||
<span>×</span>
|
||||
<el-input
|
||||
<el-input
|
||||
v-model="state.formData.skinArea4"
|
||||
class="inline-input"
|
||||
style="width: 50px"
|
||||
@@ -360,7 +390,11 @@
|
||||
<div class="form-item">
|
||||
<span class="item-label">皮肤情况</span>
|
||||
<span>部位</span>
|
||||
<el-input v-model="state.formData.postSkinPosition1" class="inline-input" style="width: 50px" />
|
||||
<el-input
|
||||
v-model="state.formData.postSkinPosition1"
|
||||
class="inline-input"
|
||||
style="width: 50px"
|
||||
/>
|
||||
<span>面积</span>
|
||||
<el-input
|
||||
v-model="state.formData.postSkinArea1"
|
||||
@@ -378,7 +412,11 @@
|
||||
<el-col :span="12">
|
||||
<div class="form-item">
|
||||
<span>部位</span>
|
||||
<el-input v-model="state.formData.postSkinPosition2" class="inline-input" style="width: 50px" />
|
||||
<el-input
|
||||
v-model="state.formData.postSkinPosition2"
|
||||
class="inline-input"
|
||||
style="width: 50px"
|
||||
/>
|
||||
<span>面积</span>
|
||||
<el-input
|
||||
v-model="state.formData.postSkinArea3"
|
||||
@@ -386,7 +424,7 @@
|
||||
style="width: 50px"
|
||||
/>
|
||||
<span>×</span>
|
||||
<el-input
|
||||
<el-input
|
||||
v-model="state.formData.postSkinArea4"
|
||||
class="inline-input"
|
||||
style="width: 50px"
|
||||
@@ -462,7 +500,7 @@
|
||||
<el-row :gutter="20">
|
||||
<el-col :span="12">
|
||||
<div class="form-item">
|
||||
<span class="item-label" style="width: 220px;">手术室/麻醉复苏室护士签名</span>
|
||||
<span class="item-label" style="width: 220px">手术室/麻醉复苏室护士签名</span>
|
||||
<el-input v-model="state.formData.surgeryRecoveryNurseName" class="inline-input" />
|
||||
</div>
|
||||
</el-col>
|
||||
@@ -491,14 +529,13 @@
|
||||
<span>mmHg</span>
|
||||
</div>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-col :span="12">
|
||||
<div class="form-item">
|
||||
<span class="item-label">交接时间</span>
|
||||
<el-input v-model="state.formData.postHandoverTime" class="inline-input" />
|
||||
</div>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
</div>
|
||||
|
||||
<!-- 其他 -->
|
||||
@@ -525,6 +562,9 @@ defineOptions({
|
||||
});
|
||||
import { getCurrentInstance, onBeforeMount, onMounted, reactive } from 'vue';
|
||||
import { ElMessageBox, ElMessage, ElLoading, ElTree } from 'element-plus';
|
||||
import useOptionsList from './useOptionsList';
|
||||
// import { A } from '../../dist/assets/api-DmiMW8YF';
|
||||
const { statisticsOptionList, getStatisticsOptionList } = useOptionsList();
|
||||
const { proxy } = getCurrentInstance();
|
||||
const emits = defineEmits(['submitOk']);
|
||||
const props = defineProps({});
|
||||
@@ -533,7 +573,7 @@ const state = reactive({
|
||||
// 患者基本信息
|
||||
date: '2025/8/13 13:36:41',
|
||||
patientName: '于学斌',
|
||||
gender: '男',
|
||||
sex: '男',
|
||||
age: '46',
|
||||
department: '普外科门诊区',
|
||||
bedNumber: '035',
|
||||
@@ -591,20 +631,22 @@ const state = reactive({
|
||||
},
|
||||
});
|
||||
|
||||
const submit = ()=> {
|
||||
const submit = () => {
|
||||
// ElMessage.success('提交成功');
|
||||
emits('submitOk',state.formData)
|
||||
}
|
||||
emits('submitOk', state.formData);
|
||||
};
|
||||
const setFormData = (data) => {
|
||||
|
||||
if (data) {
|
||||
state.formData = data;
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
onBeforeMount(() => {});
|
||||
onMounted(() => {});
|
||||
|
||||
defineExpose({ state, submit,setFormData });
|
||||
onMounted(() => {
|
||||
// { statisticsOptionList,getStatisticsOptionList } =await useOptionsList();
|
||||
});
|
||||
|
||||
defineExpose({ state, submit, setFormData });
|
||||
</script>
|
||||
<style lang="scss" scoped>
|
||||
.surgicalPatientHandover-container {
|
||||
@@ -684,10 +726,10 @@ defineExpose({ state, submit,setFormData });
|
||||
}
|
||||
}
|
||||
}
|
||||
:deep(.el-input-group__prepend){
|
||||
:deep(.el-input-group__prepend) {
|
||||
padding: 0 8px;
|
||||
}
|
||||
:deep(.el-input-group__append){
|
||||
:deep(.el-input-group__append) {
|
||||
padding: 0 8px;
|
||||
}
|
||||
}
|
||||
|
||||
21
openhis-ui-vue3/src/template/useOptionsList.js
Normal file
21
openhis-ui-vue3/src/template/useOptionsList.js
Normal file
@@ -0,0 +1,21 @@
|
||||
import { getListWithOptionList } from '@/views/basicmanage/caseTemplatesStatistics/api';
|
||||
import { onMounted, ref } from 'vue';
|
||||
const statisticsOptionList = ref([]);
|
||||
const initStatic = async () => {
|
||||
try {
|
||||
const res = await getListWithOptionList();
|
||||
statisticsOptionList.value = res.data;
|
||||
} catch (error) {
|
||||
console.log(error);
|
||||
}
|
||||
};
|
||||
export default function useOptionsList() {
|
||||
initStatic();
|
||||
const getStatisticsOptionList = (code) => {
|
||||
return statisticsOptionList.value.find((item) => item.code === code)?.optionList || [];
|
||||
};
|
||||
return {
|
||||
statisticsOptionList,
|
||||
getStatisticsOptionList,
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user