yxh
2023-11-27 12ce06c69440bf1bf581fca19aa38e7920bee01b
src/views/patient/patient/index.vue
@@ -1,5 +1,53 @@
<template>
  <div class="app-container">
  <div class="Questionnairemanagement">
    <!-- 左侧栏 -->
    <div class="sidecolumn">
      <div class="sidecolumn-top">
        <div class="top-wj">医院患者</div>
      </div>
      <div class="bottom-fl">
        <el-tabs
          tab-position="right"
          v-model="activeName"
          @tab-click="handleClick"
        >
          <el-tab-pane label="全部" name="first"></el-tab-pane>
          <el-tab-pane label="在院" name="Inhospital"></el-tab-pane>
          <el-tab-pane label="离院" name="Discharge"></el-tab-pane>
          <el-tab-pane label="预约" name="subscribe"></el-tab-pane>
          <el-tab-pane label="已检" name="checked"></el-tab-pane>
          <el-tab-pane label="住院患者" name="behospitalized"></el-tab-pane>
          <el-tab-pane label="门诊患者" name="outpatient"></el-tab-pane>
          <el-tab-pane label="体检患者" name="physical"></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">
              <div style="padding: 8px">
                <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">
@@ -11,49 +59,68 @@
          v-show="showSearch"
          label-width="98px"
        >
          <el-form-item label="姓名" prop="name">
            <el-input
              v-model="queryParams.name"
              placeholder="请输入姓名"
              clearable
              style="width: 200px"
              @keyup.enter.native="handleQuery"
            />
          </el-form-item>
          <el-form-item label="身份证号码" prop="iccardno">
            <el-input
              v-model="queryParams.iccardno"
              placeholder="请输入身份证号码"
              clearable
              style="width: 250px"
              @keyup.enter.native="handleQuery"
            />
          </el-form-item>
          <el-form-item label="联系方式" prop="telcode">
            <el-input
              v-model="queryParams.telcode"
              placeholder="请输入联系方式"
              clearable
              style="width: 280px"
              @keyup.enter.native="handleQuery"
            />
          </el-form-item>
          <el-row>
            <el-form-item label="患者标签" prop="tagId">
              <el-select
                v-model="queryParams.tagIds"
                multiple
                placeholder="请选择"
              >
              <el-form-item label="院区" prop="userName">
                <el-select v-model="queryParams.value1" placeholder="请选择">
                <el-option
                  v-for="item in optionstag"
                  :key="item.tagid"
                  :label="item.tagname"
                  :value="item.tagid"
                    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="选择日期"
                  :picker-options="pickerOptionsa"
                >
                </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-input
                  v-model="queryParams.name"
                  placeholder="请输入姓名"
                  maxlength="30"
                />
              </el-form-item>
            <el-form-item>
              <el-button
                type="primary"
@@ -69,7 +136,6 @@
                >重置</el-button
              >
            </el-form-item>
          </el-row>
        </el-form>
        <el-row :gutter="10" class="mb8">
@@ -148,7 +214,12 @@
            key="patid"
            prop="patid"
          />
          <el-table-column label="姓名" align="center" key="name" prop="name" />
              <el-table-column
                label="姓名"
                align="center"
                key="name"
                prop="name"
              />
          <el-table-column label="性别" align="center" key="sex" prop="sex">
            <template slot-scope="scope">
              <span>{{ scope.row.sex == 1 ? "男" : "女" }}</span>
@@ -276,6 +347,8 @@
        />
      </el-col>
    </el-row>
      </div>
    </div>
    <!-- 添加或修改用户配置对话框 -->
    <el-dialog
@@ -549,6 +622,28 @@
        { papersname: "中国港澳居民身份证" },
        { papersname: "中国台湾居民身份证" },
      ],
      cardlist: [
        {
          name: "患者总数",
          value: 123,
        },
        {
          name: "在院患者",
          value: 23,
        },
        {
          name: "离院患者",
          value: 41,
        },
        {
          name: "诊疗患者",
          value: 56,
        },
        {
          name: "离世患者",
          value: 0,
        },
      ],
      // 表单参数
      form: {
        name: "",
@@ -560,6 +655,7 @@
        iccardtype: "",
        relativetelcode: "",
      },
      activeName: "first", //侧边选择
      //导入进度
      dractive: 1,
      // 导入展示表单
@@ -852,6 +948,88 @@
</script>
<style lang="scss" scoped>
.Questionnairemanagement {
  display: flex;
}
.sidecolumn {
  width: 180px;
  min-height: 100vh;
  text-align: center;
  //   display: flex;
  margin-top: 20px;
  margin: 20px;
  padding: 30px;
  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;
  }
}
::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: #d0e9fd;
}
::v-deep.leftvlue .el-card__body:hover {
  background: #8dc8f8;
}
.leftvlue {
  width: 80%;
  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;