WXL
2023-12-15 4e32f1188e9d0cafd3511994d2d13617ca6e08f9
完成
已添加1个文件
已修改37个文件
2626 ■■■■■ 文件已修改
src/api/patient/homepage.js 60 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/api/smartorpor/pat_archive.js 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/api/smartorpor/svr_prjtaskline.js 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/comp/smartor3/dwo/dw_list_pat_archive.vue 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/comp/smartor3/dwo/dw_list_pat_archivecontact.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/comp/smartor3/dwo/dw_list_pat_archivetag.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/comp/smartor3/dwo/dw_list_pat_med_apointment.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/comp/smartor3/dwo/dw_list_pat_med_bloodsugar.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/comp/smartor3/dwo/dw_list_pat_med_drug.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/comp/smartor3/dwo/dw_list_pat_med_hypertension.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/comp/smartor3/dwo/dw_list_pat_med_inhosp.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/comp/smartor3/dwo/dw_list_pat_med_inspection.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/comp/smartor3/dwo/dw_list_pat_med_inspection_item.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/comp/smartor3/dwo/dw_list_pat_med_operation.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/comp/smartor3/dwo/dw_list_pat_med_outhosp.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/comp/smartor3/dwo/dw_list_pat_med_physical.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/comp/smartor3/dwo/dw_list_pat_med_registration.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/comp/smartor3/dwo/dw_list_pat_med_weight.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/comp/smartor3/dwo/dw_maint_pat_archive.vue 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/comp/smartor3/dwo/dw_query_pat_archive.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/smartor/dataobject/dw_patarchive_base.vue 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/smartor/dataobject/dw_patarchive_list.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/knowledge/education/compilequer/index.vue 29 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/knowledge/questionbank/index.vue 1188 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/knowledge/questionbank/particulars/index.vue 356 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/knowledge/questionnaire/compilequer/index.vue 30 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/patient/follow/index.vue 40 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/patient/patient/behospitalized.vue 40 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/patient/patient/index.vue 62 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/patient/patient/outpatient.vue 41 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/patient/patient/physical.vue 43 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/patient/patient/profile/index.vue 94 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/patient/viewvant/RightDrawer.vue 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/repositoryai/intention/index.vue 25 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/repositoryai/templateku/configurat/index.vue 31 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/repositoryai/verbaltrick/particulars/index.vue 28 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/shortmessage/healthinformation/index.vue 429 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/system/label/index.vue 58 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/api/patient/homepage.js
@@ -36,14 +36,14 @@
// æ‚£è€…详情
export function particularpatient(userId) {
  return request({
    url: '/smartor/patarchive/' + userId,
    url: '/smartor/patarchive/getInfo/' + userId,
    method: 'get',
  })
};
// åˆ é™¤æ‚£è€…列表
export function deletepatient(userId) {
  return request({
    url: '/smartor/patarchive/' + userId,
    url: '/smartor/patarchive/remove/' + userId,
    method: 'delete',
  })
};
@@ -62,3 +62,59 @@
    method: 'get',
  })
};
// æ–°å¢žæ‚£è€…病史
export function addmedicalhistory(data) {
  return request({
    url: '/medicalhistory/add',
    method: 'post',
    data: data
  })
};
// ç—…史详情
export function getmedicalhistory(userId) {
  return request({
    url: '/medicalhistory/'+userId,
    method: 'get',
  })
};
// ä¿®æ”¹ç—…史
export function editmedicalhistory(data) {
  return request({
    url: '/medicalhistory/edit',
    method: 'post',
    data: data
  })
};
// æ–°å¢žæ‚£è€…联系方式
export function addcontactinformation(data) {
  return request({
    url: '/archivecontact/add',
    method: 'post',
    data: data
  })
};
// ä¿®æ”¹æ‚£è€…联系方式
export function editcontactinformation(data) {
  return request({
    url: '/archivecontact/edit',
    method: 'post',
    data: data
  })
};
// è”系方式详情
export function getcontactinformation(userId) {
  return request({
    url: '/medicalhistory/'+userId,
    method: 'get',
  })
};
// åˆ é™¤è¯¦æƒ…
export function delcontactinformation(userId) {
  return request({
    url: '/archivecontact/'+userId,
    method: 'get',
  })
};
src/api/smartorpor/pat_archive.js
@@ -3,7 +3,7 @@
          patid// è‡ªå¢žID 
   name// å§“名 
   sex// æ€§åˆ«   1:男  2:女
   idno// è¯ä»¶å·ç 
   idcardno// è¯ä»¶å·ç 
   birthdate// ç”Ÿæ—¥ 
   age// å¹´é¾„ 
   source// æ¥æº 
@@ -11,7 +11,7 @@
   archiveby// å»ºæ¡£äºº 
   telcode// æ‰‹æœºå·ç  
   relativetelcode// äº²å±žå·ç  
   idtype// è¯ä»¶ç±»åž‹
   idcardtype// è¯ä»¶ç±»åž‹
   orgid// æœºæž„ID 
   openid// å¾®ä¿¡openid 
   del_flag// åˆ é™¤æ ‡è®° 
src/api/smartorpor/svr_prjtaskline.js
@@ -52,7 +52,7 @@
   pguid//子任务guid
   patname// å§“名 
   patsex// æ€§åˆ«   1:男  2:女
   patidno// è¯ä»¶å·ç 
   patidcardno// è¯ä»¶å·ç 
   patbirthdate// ç”Ÿæ—¥ 
   patage// å¹´é¾„ 
   pattelcode// æ‰‹æœºå·ç  
src/comp/smartor3/dwo/dw_list_pat_archive.vue
@@ -59,7 +59,7 @@
      <el-table-column prop="patid" label="  è‡ªå¢žID " align="center" />
      <el-table-column prop="name" label="  å§“名 " align="center" />
      <el-table-column prop="sex" label="  æ€§åˆ«   1:男  2:女" align="center" />
      <el-table-column prop="idno" label="  è¯ä»¶å·ç  " align="center" />
      <el-table-column prop="idcardno" label="  è¯ä»¶å·ç  " align="center" />
      <el-table-column prop="birthdate" label="  ç”Ÿæ—¥ " align="center" />
      <el-table-column prop="age" label="  å¹´é¾„ " align="center" />
      <el-table-column prop="source" label="  æ¥æº " align="center" />
@@ -71,7 +71,7 @@
        label="  äº²å±žå·ç  "
        align="center"
      />
      <el-table-column prop="idtype" label="  è¯ä»¶ç±»åž‹ " align="center" />
      <el-table-column prop="idcardtype" label="  è¯ä»¶ç±»åž‹ " align="center" />
      <el-table-column prop="orgid" label="  æœºæž„ID " align="center" />
      <el-table-column prop="openid" label="  å¾®ä¿¡openid " align="center" />
      <el-table-column prop="del_flag" label="  åˆ é™¤æ ‡è®° " align="center" />
@@ -130,7 +130,7 @@
        pageNum: 1,
        pageSize: 10,
        name: null,
        idno: null,
        idcardno: null,
        source: null,
        telcode: null,
        orgid: null,
src/comp/smartor3/dwo/dw_list_pat_archivecontact.vue
@@ -113,7 +113,7 @@
        pageNum: 1,
        pageSize: 10,
        name: null,
        idno: null,
        idcardno: null,
        source: null,
        telcode: null,
        orgid: null,
src/comp/smartor3/dwo/dw_list_pat_archivetag.vue
@@ -114,7 +114,7 @@
        pageNum: 1,
        pageSize: 10,
        name: null,
        idno: null,
        idcardno: null,
        source: null,
        telcode: null,
        orgid: null,
src/comp/smartor3/dwo/dw_list_pat_med_apointment.vue
@@ -199,7 +199,7 @@
        pageNum: 1,
        pageSize: 10,
        name: null,
        idno: null,
        idcardno: null,
        source: null,
        telcode: null,
        orgid: null,
src/comp/smartor3/dwo/dw_list_pat_med_bloodsugar.vue
@@ -120,7 +120,7 @@
        pageNum: 1,
        pageSize: 10,
        name: null,
        idno: null,
        idcardno: null,
        source: null,
        telcode: null,
        orgid: null,
src/comp/smartor3/dwo/dw_list_pat_med_drug.vue
@@ -129,7 +129,7 @@
        pageNum: 1,
        pageSize: 10,
        name: null,
        idno: null,
        idcardno: null,
        source: null,
        telcode: null,
        orgid: null,
src/comp/smartor3/dwo/dw_list_pat_med_hypertension.vue
@@ -125,7 +125,7 @@
        pageNum: 1,
        pageSize: 10,
        name: null,
        idno: null,
        idcardno: null,
        source: null,
        telcode: null,
        orgid: null,
src/comp/smartor3/dwo/dw_list_pat_med_inhosp.vue
@@ -196,7 +196,7 @@
        pageNum: 1,
        pageSize: 10,
        name: null,
        idno: null,
        idcardno: null,
        source: null,
        telcode: null,
        orgid: null,
src/comp/smartor3/dwo/dw_list_pat_med_inspection.vue
@@ -142,7 +142,7 @@
        pageNum: 1,
        pageSize: 10,
        name: null,
        idno: null,
        idcardno: null,
        source: null,
        telcode: null,
        orgid: null,
src/comp/smartor3/dwo/dw_list_pat_med_inspection_item.vue
@@ -119,7 +119,7 @@
        pageNum: 1,
        pageSize: 10,
        name: null,
        idno: null,
        idcardno: null,
        source: null,
        telcode: null,
        orgid: null,
src/comp/smartor3/dwo/dw_list_pat_med_operation.vue
@@ -138,7 +138,7 @@
        pageNum: 1,
        pageSize: 10,
        name: null,
        idno: null,
        idcardno: null,
        source: null,
        telcode: null,
        orgid: null,
src/comp/smartor3/dwo/dw_list_pat_med_outhosp.vue
@@ -131,7 +131,7 @@
        pageNum: 1,
        pageSize: 10,
        name: null,
        idno: null,
        idcardno: null,
        source: null,
        telcode: null,
        orgid: null,
src/comp/smartor3/dwo/dw_list_pat_med_physical.vue
@@ -152,7 +152,7 @@
        pageNum: 1,
        pageSize: 10,
        name: null,
        idno: null,
        idcardno: null,
        source: null,
        telcode: null,
        orgid: null,
src/comp/smartor3/dwo/dw_list_pat_med_registration.vue
@@ -140,7 +140,7 @@
        pageNum: 1,
        pageSize: 10,
        name: null,
        idno: null,
        idcardno: null,
        source: null,
        telcode: null,
        orgid: null,
src/comp/smartor3/dwo/dw_list_pat_med_weight.vue
@@ -115,7 +115,7 @@
        pageNum: 1,
        pageSize: 10,
        name: null,
        idno: null,
        idcardno: null,
        source: null,
        telcode: null,
        orgid: null,
src/comp/smartor3/dwo/dw_maint_pat_archive.vue
@@ -16,8 +16,8 @@
        <el-form-item prop="sex" label=" æ€§åˆ«   1:男  2:女">
          <el-input placeholder="请输入 æ€§åˆ«   1:男  2:女" v-model="form.sex" />
        </el-form-item>
        <el-form-item prop="idno" label=" è¯ä»¶å·ç  ">
          <el-input placeholder="请输入 è¯ä»¶å·ç  " v-model="form.idno" />
        <el-form-item prop="idcardno" label=" è¯ä»¶å·ç  ">
          <el-input placeholder="请输入 è¯ä»¶å·ç  " v-model="form.idcardno" />
        </el-form-item>
        <el-form-item prop="birthdate" label=" ç”Ÿæ—¥ ">
          <el-input placeholder="请输入 ç”Ÿæ—¥ " v-model="form.birthdate" />
@@ -43,8 +43,8 @@
            v-model="form.relativetelcode"
          />
        </el-form-item>
        <el-form-item prop="idtype" label=" è¯ä»¶ç±»åž‹ ">
          <el-input placeholder="请输入 è¯ä»¶ç±»åž‹ " v-model="form.idtype" />
        <el-form-item prop="idcardtype" label=" è¯ä»¶ç±»åž‹ ">
          <el-input placeholder="请输入 è¯ä»¶ç±»åž‹ " v-model="form.idcardtype" />
        </el-form-item>
        <el-form-item prop="orgid" label=" æœºæž„ID ">
          <el-input placeholder="请输入 æœºæž„ID " v-model="form.orgid" />
src/comp/smartor3/dwo/dw_query_pat_archive.vue
@@ -2,7 +2,7 @@
      <field name="patid" label=" è‡ªå¢žID "/>
      <field name="name" label=" å§“名 "/>
      <field name="sex" label=" æ€§åˆ«   1:男  2:女"/>
      <field name="idno" label=" è¯ä»¶å·ç  "/>
      <field name="idcardno" label=" è¯ä»¶å·ç  "/>
      <field name="birthdate" label=" ç”Ÿæ—¥ "/>
</dw>
<script>
@@ -42,7 +42,7 @@
        pageNum: 1,
        pageSize: 10,
        name: null,
        idno: null,
        idcardno: null,
        source: null,
        telcode: null,
        orgid: null,
src/smartor/dataobject/dw_patarchive_base.vue
@@ -24,9 +24,9 @@
      </el-row>
      <el-row>
        <el-col :span="12"
          ><el-form-item label=" è¯ä»¶å·ç  " prop="idno">
          ><el-form-item label=" è¯ä»¶å·ç  " prop="idcardno">
            <el-input
              v-model="form.idno"
              v-model="form.idcardno"
              placeholder="请输入 è¯ä»¶å·ç  "
            /> </el-form-item
        ></el-col>
@@ -207,7 +207,7 @@
        patid: null,
        name: null,
        sex: null,
        idno: null,
        idcardno: null,
        birthdate: null,
        age: null,
        source: null,
@@ -215,7 +215,7 @@
        archiveby: null,
        telcode: null,
        relativetelcode: null,
        idtype: null,
        idcardtype: null,
        orgid: null,
        openid: null,
        delFlag: null,
src/smartor/dataobject/dw_patarchive_list.vue
@@ -8,7 +8,7 @@
        <dict-tag :options="dict.type.sys_user_sex" :value="scope.row.sex" />
      </template>
    </el-table-column>
    <el-table-column label=" è¯ä»¶å·ç  " align="center" prop="idno" />
    <el-table-column label=" è¯ä»¶å·ç  " align="center" prop="idcardno" />
    <el-table-column label=" ç”Ÿæ—¥ " align="center" prop="birthdate" width="180">
      <template slot-scope="scope">
        <span>{{ parseTime(scope.row.birthdate, "{y}-{m}-{d}") }}</span>
@@ -79,7 +79,7 @@
        pageNum: 1,
        pageSize: 10,
        name: null,
        idno: null,
        idcardno: null,
        source: null,
        telcode: null,
        orgid: null,
src/views/knowledge/education/compilequer/index.vue
@@ -103,13 +103,15 @@
                v-if="inputVisible"
                @change="handleInputConfirm"
                filterable
                  allow-create
                  default-first-option
                placeholder="请选择"
              >
                <el-option
                  v-for="item in options"
                  :key="item.label"
                  :label="item.label"
                  :value="item.label"
                  v-for="item in optionstag"
                  :key="item.tagname"
                    :label="item.tagname"
                    :value="item.tagname"
                >
                </el-option>
              </el-select>
@@ -303,6 +305,8 @@
import { quillEditor } from "vue-quill-editor";
// import * as Quill from "quill";
import Quill from "quill";
import { listtag } from "@/api/system/label";
// è¿™é‡Œå¼•入修改过的video模块并注册
import Video from "./video";
@@ -471,6 +475,7 @@
          label: "护理宣教",
        },
      ],
      optionstag:[],
      xjxsoptions: [
        {
          value: "选项1",
@@ -531,7 +536,9 @@
    };
  },
  created() {},
  created() {
    this.gettabList();
  },
  watch: {
    content(newVal, oldVal) {
      //this.$emit('input', newVal);
@@ -595,6 +602,18 @@
      //   console.log(rows);
      //   this.list = rows;
    },
    /** æŸ¥è¯¢æ ‡ç­¾åˆ—表 */
    gettabList() {
      const tagqueryParams = {
        pageNum: 1,
        pageSize: 1000,
        tagcategoryid: "0",
      };
      listtag(tagqueryParams).then((response) => {
        console.log(response);
        this.optionstag = response.rows;
      });
    },
    // æ–°å¢žå˜é‡
    addvariable() {
      this.variablelist.push({
src/views/knowledge/questionbank/index.vue
@@ -1,395 +1,353 @@
<template>
  <div class="app-container">
    <el-row :gutter="20">
      <!--用户数据-->
      <el-col :span="24" :xs="24">
        <el-form
          :model="topqueryParams"
          ref="queryForm"
          size="small"
          :inline="true"
          v-show="showSearch"
          label-width="98px"
  <div class="Questionnairemanagement">
    <!-- å·¦ä¾§æ  -->
    <div class="sidecolumn">
      <div class="sidecolumn-top">
        <div class="top-wj">问题类型</div>
        <div class="top-tj" @click="dialogFormVisible = true">+添加</div>
      </div>
      <div class="center-ss">
        <el-input
          placeholder="请输入内容"
          v-model="sidecolumnval"
          class="input-with-select"
          size="medium "
        >
          <el-form-item label="题目名称" prop="userName">
            <el-input
              v-model="topqueryParams.userName"
              placeholder="请输入"
              clearable
              style="width: 200px"
              @keyup.enter.native="handleQuery"
            />
          </el-form-item>
          <el-button
            @click="sidecolumnss"
            slot="append"
            icon="el-icon-search"
          ></el-button>
        </el-input>
      </div>
      <div class="bottom-fl">
        <el-menu
          default-active="3"
          class="el-menu-vertical-demo"
          @open="handleOpen"
          @close="handleClose"
          @select="handleSelect"
        >
          <el-submenu index="1">
            <template slot="title">
              <i class="el-icon-location"></i>
              <span>分类一</span>
            </template>
          <el-form-item label="题目标签" prop="status">
            <el-cascader
              v-model="topqueryParams.tagid"
              :options="optionss"
              :props="propss"
              clearable
            ></el-cascader>
          </el-form-item>
          <el-form-item label="题目类型" prop="status">
            <el-select v-model="topqueryParams.topic" placeholder="请选择">
              <el-option
                v-for="item in topicoptions"
                :key="item.value"
                :label="item.label"
                :value="item.value"
              >
              </el-option>
            </el-select>
          </el-form-item>
          <el-form-item>
            <el-button
              type="primary"
              icon="el-icon-search"
              size="medium"
              @click="handleQuery"
              >搜索</el-button
            <el-menu-item index="1-1">选项1</el-menu-item>
            <el-menu-item index="1-2">选项2</el-menu-item>
            <el-menu-item index="1-3">选项3</el-menu-item>
            <el-menu-item index="1-4">选项3</el-menu-item>
          </el-submenu>
          <el-submenu index="2">
            <template slot="title">
              <i class="el-icon-menu"></i>
              <span>分类二</span>
            </template>
            <el-menu-item index="2-1">选项1</el-menu-item>
            <el-menu-item index="2-2">选项2</el-menu-item>
            <el-menu-item index="2-3">选项3</el-menu-item>
          </el-submenu>
          <el-submenu index="3">
            <template slot="title">
              <i class="el-icon-document"></i>
              <span>分类三</span>
            </template>
            <el-menu-item index="2-1">选项1</el-menu-item>
          </el-submenu>
          <el-submenu index="4">
            <template slot="title">
              <i class="el-icon-setting"></i>
              <span>分类四</span>
            </template>
            <el-menu-item index="2-1">选项1</el-menu-item>
          </el-submenu>
        </el-menu>
      </div>
    </div>
    <!-- å³ä¾§æ•°æ® -->
    <div class="leftvlue">
      <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-button icon="el-icon-refresh" size="medium" @click="resetQuery"
              >重置</el-button
            >
          </el-form-item>
        </el-form>
        <el-divider></el-divider>
        <el-row :gutter="10" class="mb8">
          <el-col :span="1.5">
            <el-button
              type="primary"
              plain
              icon="el-icon-plus"
              size="medium"
              @click="handleAdd"
              v-hasPermi="['system:user:add']"
              >新增</el-button
            >
          </el-col>
          <el-col :span="1.5">
            <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-form-item label="可用院区" prop="status">
                <el-select v-model="queryParams.courtyard" placeholder="请选择">
                  <el-option
                    v-for="item in languagelist"
                    :key="item.value"
                    :label="item.label"
                    :value="item.value"
                  >
                  </el-option>
                </el-select>
              </el-form-item>
              <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="status">
                <el-select v-model="queryParams.status" placeholder="请选择">
                  <el-option
                    v-for="item in languagelist"
                    :key="item.value"
                    :label="item.label"
                    :value="item.value"
                  >
                  </el-option>
                </el-select>
              </el-form-item>
              <el-form-item label="是否可用" prop="status">
                <el-select v-model="queryParams.status" placeholder="请选择">
                  <el-option
                    v-for="item in qyoptions"
                    :key="item.value"
                    :label="item.label"
                    :value="item.value"
                  >
                  </el-option>
                </el-select>
              </el-form-item>
              <el-form-item>
                <el-button
                  type="warning"
                  plain
                  icon="el-icon-download"
                  type="primary"
                  icon="el-icon-search"
                  size="medium"
                  @click="handleExport"
                  v-hasPermi="['system:user:export']"
                  >导出</el-button
                  @click="handleQuery"
                  >搜索</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-column
            label="序号"
            align="center"
            key="userId"
            prop="userId"
          />
                <el-button
                  icon="el-icon-refresh"
                  size="medium"
                  @click="resetQuery"
                  >重置</el-button
                >
              </el-form-item>
            </el-form>
          <el-table-column
            label="题目"
            align="center"
            key="userName"
            prop="userName"
            :show-overflow-tooltip="true"
          />
          <el-table-column
            label="题目类别"
            align="center"
            key="types"
            prop="types"
          />
          <el-table-column
            label="创建人"
            align="center"
            key="nickName"
            prop="nickName"
          />
          <el-table-column
            label="是否必填"
            align="center"
            key="phonenumber"
            prop="phonenumber"
            width="120"
          />
          <el-table-column label="是否启用" align="center" key="status">
            <template slot-scope="scope">
              <el-switch
                v-model="scope.row.status"
                active-value="0"
                inactive-value="1"
                @change="handleStatusChange(scope.row)"
              ></el-switch>
            </template>
          </el-table-column>
            <el-row :gutter="10" class="mb8">
              <el-col :span="1.5">
                <el-button
                  type="primary"
                  plain
                  icon="el-icon-plus"
                  size="medium"
                  @click="compileUpdate"
                  v-hasPermi="['system:user:add']"
                  >新增</el-button
                >
              </el-col>
          <el-table-column
            label="题目标签"
            align="center"
            key="topicnumber"
            prop="topicnumber"
            width="120"
            :show-overflow-tooltip="true"
          />
          <el-table-column
            label="创建日期"
            align="center"
            prop="createTime"
            width="160"
          >
            <template slot-scope="scope">
              <span>{{ parseTime(scope.row.createTime) }}</span>
            </template>
          </el-table-column>
          <el-table-column
            label="最近更新日期"
            align="center"
            prop="createTime"
            width="160"
          >
            <template slot-scope="scope">
              <span>{{ parseTime(scope.row.createTime) }}</span>
            </template>
          </el-table-column>
          <el-table-column
            label="操作"
            align="center"
            width="160"
            class-name="small-padding fixed-width"
          >
            <template slot-scope="scope" v-if="scope.row.userId !== 1">
              <el-button
                size="medium"
                type="text"
                icon="el-icon-edit"
                @click="Referencequestion(scope.row)"
                v-hasPermi="['system:user:edit']"
                >预览</el-button
              >
              <el-button
                size="medium"
                type="text"
                icon="el-icon-edit"
                @click="handleUpdate(scope.row)"
                v-hasPermi="['system:user:edit']"
                >修改</el-button
              >
            </template>
          </el-table-column>
        </el-table>
        <pagination
          v-show="total > 0"
          :total="total"
          :page.sync="topqueryParams.pageNum"
          :limit.sync="topqueryParams.pageSize"
          @pagination="getList"
        />
      </el-col>
    </el-row>
    <!-- æ·»åŠ æˆ–ä¿®æ”¹é¢˜ç›®é…ç½®å¯¹è¯æ¡† -->
    <el-dialog
      :title="title"
      :visible.sync="addalteropen"
      width="900px"
      append-to-body
    >
      <el-form ref="form" :model="form" :rules="rules" label-width="100px">
        <el-row>
          <el-col :span="12">
            <el-form-item label="题目名称" prop="nickName">
              <el-input
                v-model="form.nickName"
                placeholder="请输入"
                maxlength="30"
              <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-row>
            <el-table
              v-loading="loading"
              :data="userList"
              :border="true"
              @selection-change="handleSelectionChange"
            >
              <el-table-column type="selection" width="50" align="center" />
              <el-table-column
                label="序号"
                align="center"
                key="userId"
                prop="userId"
              />
            </el-form-item>
          </el-col>
          <el-col :span="12">
            <el-form-item label="题目类型" prop="deptId">
              <el-select v-model="form.types" placeholder="请选择">
                <el-option
                  v-for="item in topicoptions"
                  :key="item.value"
                  :label="item.label"
                  :value="item.value"
                ></el-option>
              </el-select>
            </el-form-item>
              <el-table-column
                label="题目标题"
                align="center"
                key="userName"
                prop="userName"
                :show-overflow-tooltip="true"
              />
              <el-table-column
                label="题目内容"
                align="center"
                key="nickName"
                prop="nickName"
                width="200"
                :show-overflow-tooltip="true"
              />
              /><el-table-column
                label="适用方式"
                align="center"
                key="application"
                prop="application"
                width="120"
              />
              /><el-table-column
                label="适用疾病"
                align="center"
                key="Applicable"
                prop="Applicable"
                width="120"
              />
              <el-table-column
                label="标签"
                align="center"
                key="tagList"
                prop="tagList"
                width="160"
                :show-overflow-tooltip="true"
              >
                <template slot-scope="scope">
                  <span v-for="item in scope.row.tagList">{{ item }} </span>
                </template>
              </el-table-column>
              <el-table-column
                label="语言"
                align="center"
                key="indicator"
                prop="indicator"
                width="120"
              />
              <el-table-column
                label="可用"
                align="center"
                key="usable"
                prop="usable"
                width="120"
              />
              <el-table-column
                label="最近修改"
                align="center"
                key="Recentrevision"
                prop="Recentrevision"
                width="120"
              />
              <el-table-column label="是否可用" align="center" key="status">
                <template slot-scope="scope">
                  <el-switch
                    v-model="scope.row.status"
                    active-value="0"
                    inactive-value="1"
                    @change="handleStatusChange(scope.row)"
                  ></el-switch>
                </template>
              </el-table-column>
              <el-table-column
                label="操作"
                align="center"
                width="250"
                class-name="small-padding fixed-width"
              >
                <template slot-scope="scope">
                  <el-button
                    size="medium"
                    type="text"
                    @click="compileUpdate(scope.row)"
                    v-hasPermi="['system:user:edit']"
                    ><span class="button-bji"
                      ><i class="el-icon-edit"></i>编辑问题</span
                    ></el-button
                  >
                  <el-button
                    size="medium"
                    type="text"
                    @click="handleDelete(scope.row)"
                    v-hasPermi="['system:user:remove']"
                    ><span class="button-textsc"
                      ><i class="el-icon-delete-solid"></i>删除</span
                    ></el-button
                  >
                  <el-button
                    size="medium"
                    type="text"
                    @click="handleDelete(scope.row)"
                    v-hasPermi="['system:user:remove']"
                    ><span class="button-text"
                      ><i class="el-icon-view"></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>
        <el-row>
          <el-form-item label="答案选项" prop="email">
            <el-tag
              :key="tag"
              v-for="tag in dynamicTags"
              closable
              :disable-transitions="false"
              @close="handleClose(tag)"
      </div>
    </div>
    <!-- æ·»åŠ ç±»åˆ«å¼¹æ¡† -->
    <el-dialog
      :title="amendtag ? '修改类别' : '新增类别'"
      width="30%"
      :visible.sync="dialogFormVisible"
    >
      <el-form :model="classifyform">
        <el-form-item label="请选择问卷题目大类">
          <el-select v-model="classifyform.broadheading" placeholder="请选择">
            <el-option
              v-for="item in editableTabs"
              :key="item.title"
              :label="item.title"
              :value="item.title"
            >
              {{ tag }}
            </el-tag>
            <el-input
              class="input-new-tag"
              v-if="inputVisible"
              v-model="inputValue"
              ref="saveTagInput"
              size="small"
              @keyup.enter.native="handleInputConfirm"
              @blur="handleInputConfirm"
            >
            </el-input>
            <el-button
              v-else
              class="button-new-tag"
              size="small"
              @click="showInput"
              >+ æ–°å¢žé€‰é¡¹</el-button
            >
          </el-form-item>
        </el-row>
        <el-row>
          <el-col :span="12">
            <el-form-item label="题目标签" prop="email">
              <el-cascader
                v-model="form.totagid"
                :options="optionss"
                :props="propss"
                clearable
              ></el-cascader>
            </el-form-item>
          </el-col>
        </el-row>
        <el-row>
          <el-col :span="12">
            <el-form-item label="是否启用">
              <el-radio-group v-model="form.qystatus">
                <el-radio
                  v-for="item in qyoptions"
                  :key="item.value"
                  :label="item.value"
                  >{{ item.label }}</el-radio
                >
              </el-radio-group>
            </el-form-item>
          </el-col>
          <el-col :span="12">
            <el-form-item label="是否必填">
              <el-radio-group v-model="form.btstatus">
                <el-radio
                  v-for="item in btoptions"
                  :key="item.value"
                  :label="item.value"
                  >{{ item.label }}</el-radio
                >
              </el-radio-group>
            </el-form-item>
          </el-col>
        </el-row>
        <el-row>
          <el-col :span="24">
            <el-form-item label="备注">
              <el-input
                v-model="form.remark"
                type="textarea"
                placeholder="请输入内容"
              ></el-input>
            </el-form-item>
          </el-col>
        </el-row>
            </el-option>
          </el-select>
        </el-form-item>
        <el-form-item
          :label="amendtag ? '请输入新的子类别名称' : '请输入子类别名称'"
        >
          <el-input
            v-model="classifyform.categoryname"
            autocomplete="off"
          ></el-input>
        </el-form-item>
      </el-form>
      <div slot="footer" class="dialog-footer">
        <el-button type="primary" @click="submitForm">ç¡® å®š</el-button>
        <el-button @click="cancel">取 æ¶ˆ</el-button>
        <el-button @click="dialogFormVisible = false">取 æ¶ˆ</el-button>
        <el-button type="primary" @click="submitsidecolumn">ç¡® å®š</el-button>
      </div>
    </el-dialog>
    <!-- é¢˜ç›®é¢„览弹框 -->
    <el-dialog width="30%" title="题目预览" :visible.sync="previewVisible">
      <div class="qrcode-dialo">
        <!-- å•选 -->
        <div class="topic-dev" v-if="previewtype == 1">
          <div class="dev-text">
            [单选]&nbsp&nbsp<span>{{ previewvalue.username }}</span>
          </div>
          <div class="dev-xx">
            <el-radio-group v-model="radio">
              <el-radio
                v-for="(items, index) in dynamicTags"
                :key="index"
                :label="index"
                >{{ items }}</el-radio
              >
            </el-radio-group>
          </div>
        </div>
        <!-- å¤šé€‰ -->
        <div class="topic-dev" v-else-if="previewtype == 2">
          <div class="dev-text">
            [多选]&nbsp&nbsp<span>{{ previewvalue.username }}</span>
          </div>
          <div class="dev-xx">
            <el-checkbox-group v-model="radios">
              <el-checkbox
                v-for="(items, index) in dynamicTags"
                :key="index"
                :label="index"
              >
                {{ items }}
              </el-checkbox>
            </el-checkbox-group>
          </div>
        </div>
        <!-- å¡«ç©º -->
        <div class="topic-dev" v-if="previewtype == 3">
          <div class="dev-text">
            [填空]&nbsp&nbsp<span>{{ previewvalue.username }}</span>
          </div>
          <div class="dev-xx">
            <el-input placeholder="请输入答案" v-model="radioas" clearable>
            </el-input>
          </div>
        </div>
    <!-- åˆ é™¤ç±»åˆ«ç¡®è®¤æ¡† -->
    <el-dialog title="警告" :visible.sync="deleteVisible" width="40%">
      <div style="font-size: 20px; color: rgb(247, 76, 76)">
        æ˜¯å¦ç¡®è®¤åˆ é™¤åˆ†ç±»ï¼š[<span>{{ deletefenl }}</span
        >]?
      </div>
      <div style="font-size: 20px">
        æ­¤æ“ä½œä¼šå°†è¯¥ç±»åˆ«ä¸‹æ‰€æœ‰æ¨¡å—转移至[未分类],是否继续删除此分类?
      </div>
      <span slot="footer" class="dialog-footer">
        <el-button @click="deleteVisible = false">取 æ¶ˆ</el-button>
        <el-button type="primary" @click="deletefenlei">ç¡® å®š</el-button>
      </span>
    </el-dialog>
  </div>
</template>
@@ -401,20 +359,19 @@
  delUser,
  addUser,
  updateUser,
  resetUserPwd,
  changeUserStatus,
} from "@/api/system/user";
import { getToken } from "@/utils/auth";
import Treeselect from "@riophae/vue-treeselect";
import "@riophae/vue-treeselect/dist/vue-treeselect.css";
export default {
  name: "User",
  name: "questionnaire",
  dicts: ["sys_normal_disable", "sys_user_sex"],
  components: { Treeselect },
  data() {
    return {
      topactiveName: "Local", //顶部选择
      // é®ç½©å±‚
      loading: true,
      loading: false,
      // é€‰ä¸­æ•°ç»„
      ids: [],
      // éžå•个禁用
@@ -425,113 +382,104 @@
      showSearch: true,
      // æ€»æ¡æ•°
      total: 0,
      // ç”¨æˆ·è¡¨æ ¼æ•°æ®
      userList: null,
      namequestionnaire: "",
      haoquestionnaire: "",
      idds: "",
      amendtag: false, //是否修改类别
      dialogFormVisible: false, //修改添加类别弹框
      deleteVisible: false, //分类删除弹框
      deletefenl: "高血压", //删除项
      classifyform: {
        categoryname: "",
      }, //类别表单
      // è¡¨æ ¼æ•°æ®
      userList: [
        {
          userid: 1,
          userName: "血常规、尿常规",
          nickName: "贫血",
          aphonenumber: "(?!不.*|没.*|未.*)^.*([贫平凭血]|贫血|评学|评学),10",
          bphonenumber: "选择",
          cphonenumber: "普通话",
          status: "0",
        },
      ],
      // å¼¹å‡ºå±‚标题
      title: "",
      // æ˜¯å¦æ˜¾ç¤ºä¿®æ”¹ã€æ·»åŠ å¼¹å‡ºå±‚
      addalteropen: false,
      // éƒ¨é—¨åç§°
      deptName: undefined,
      // é»˜è®¤å¯†ç 
      initPassword: undefined,
      // æ˜¯å¦æ˜¾ç¤ºå¼¹å‡ºå±‚
      open: false,
      // æ—¥æœŸèŒƒå›´
      dateRange: [],
      // å²—位选项
      postOptions: [],
      // è§’色选项
      roleOptions: [],
      dynamicTags: ["选项一", "选项二", "选项三"], //选项
      inputVisible: false,
      inputValue: "",
      previewVisible: false, //题目预览弹框
      radio: "",
      radios: [],
      previewtype: 2, //预览题目类型
      total: 0, // æ€»æ¡æ•°
      ImportQuantity: 999, //导题目数量
      //预览题目信息
      previewvalue: {
        username: "这个医生对你怎么样",
      },
      // è¡¨å•参数
      form: {
        phonenumber: "",
        totagid: "",
        types: "",
        nickName: "",
        qystatus: "",
        btstatus: "",
      },
      //导入进度
      dractive: 1,
      // å¯¼å…¥å±•示表单
      uploadingData: {},
      // æŸ¥è¯¢å‚æ•°
      topqueryParams: {
        pageNum: 1,
        pageSize: 10,
        userName: undefined,
        tagid: undefined,
        topic: undefined,
      },
      // æ·»åŠ ã€ä¿®æ”¹å‚æ•°
      indexform: {},
      numberlb: 22,
      numberlbs: 2,
      sidecolumnform: {}, //添加类别表单
      dialogFormVisible: false, //添加类别弹框
      sidecolumnval: "", //类别搜索
      indexopen: false, //弹框展示否
      propss: { multiple: true },
      optionss: [
      languagelist: [
        {
          value: 1,
          label: "东南",
        },
        {
          value: 2,
          label: "西北",
          label: "汉语",
        },
        {
          value: 3,
          label: "仨仨仨",
          label: "英语",
        },
        {
          value: 4,
          label: "六飒飒飒",
        },
      ],
      ], //语言列表
      qyoptions: [
        {
          value: 1,
          label: "启用",
          label: "可用",
        },
        {
          value: 2,
          label: "关闭",
          label: "禁用",
        },
      ],
      btoptions: [
      //类别列表
      editableTabs: [
        {
          value: 1,
          label: "必填",
          title: "问题分类一",
          number: "1",
        },
        {
          value: 2,
          label: "非必填",
          title: "问题分类二",
          number: "2",
        },
        {
          title: "问题分类三",
          number: "2",
        },
        {
          title: "问题分类四",
          number: "2",
        },
        {
          title: "问题分类五",
          number: "2",
        },
      ],
      topicoptions: [
        {
          value: 1,
          label: "单选",
        },
        {
          value: 2,
          label: "多选",
        },
        {
          value: 3,
          label: "填空",
        },
      ],
      // æŸ¥è¯¢å‚æ•°
      queryParams: {
        pageNum: 1,
        pageSize: 10,
        userName: undefined,
        phonenumber: undefined,
        status: undefined,
        deptId: undefined,
        IDnumber: undefined,
      },
      // è¡¨å•校验
      rules: {
        userName: [
          { required: true, message: "用户名称不能为空", trigger: "blur" },
          { required: true, message: "主旨不能为空", trigger: "blur" },
          {
            min: 2,
            max: 20,
@@ -579,30 +527,65 @@
  watch: {},
  created() {
    this.getList();
    this.getConfigKey("sys.user.initPassword").then((response) => {
      this.initPassword = response.msg;
    });
  },
  methods: {
    /** æŸ¥è¯¢é¢˜ç›®åˆ—表 */
    getList() {
      this.loading = true;
      listUser(this.addDateRange(this.topqueryParams, this.dateRange)).then(
        (response) => {
          this.userList = response.rows;
          this.total = response.total;
          this.loading = false;
        }
      );
    },
    // æŸ¥çœ‹é¢˜ç›®è¯¦æƒ…
    Referencequestion(row) {
      this.previewVisible = true;
    },
  methods: {
    /** æŸ¥è¯¢ç”¨æˆ·åˆ—表 */
    getList() {
      //   this.loading = true;
      listUser().then((response) => {
        console.log(response);
        console.log(this.userList);
      });
    },
    // æ·»åŠ ã€ä¿®æ”¹ç±»åˆ«
    submitsidecolumn() {
      if (this.amendtag) {
        this.classifyform.tagcategoryid = this.idds;
        // toamendtagcategory(this.addDateRange(this.classifyform)).then(
        //   (response) => {
        //     console.log(response);
        //     this.gitclasify();
        //   }
        // );
      } else {
        // addtagcategory(this.addDateRange(this.classifyform)).then(
        //   (response) => {
        //     console.log(response);
        //     this.gitclasify();
        //   }
        // );
      }
      this.classifyform = {
        categoryname: "",
      };
      this.idds = "";
      this.dialogFormVisible = false;
    },
    //删除分类
    deletefenlei(row) {
      if (this.deleteVisible) {
        // deletetagcategory(this.idds).then((response) => {
        //   console.log(response);
        //   this.gitclasify();
        // });
        this.deleteVisible = false;
        this.idds = "";
      } else {
        this.deleteVisible = true;
        this.idds = row.tagcategoryid;
        this.deletefenl = row.title;
      }
    },
    compileUpdate(row) {
      this.$router.push({
        path: "/knowledge/questionbank/particulars/",
        query: { id: "1" },
      });
    },
    // é¢˜ç›®çŠ¶æ€ä¿®æ”¹
    handleStatusChange(row) {
      let text = row.status === "0" ? "启用" : "停用";
      let text = row.status === "0" ? "可用" : "停用";
      this.$modal
        .confirm('确认要"' + text + '""' + row.userName + '"用户吗?')
        .then(function () {
@@ -615,11 +598,26 @@
          row.status = row.status === "0" ? "1" : "0";
        });
    },
    // ä¾§è¾¹--------------
    handleOpen(key, keyPath) {
      console.log(key, keyPath);
    },
    handleClose(key, keyPath) {
      console.log(key, keyPath);
    },
    handleSelect(key, keyPath) {
      console.log(key, keyPath);
    },
    //搜索类别
    sidecolumnss() {},
    // ä¾¿æ·æ ‡ç­¾
    tsgnameto() {},
    // å–消按钮
    cancel() {
      this.addalteropen = false;
      this.indexopen = false;
      this.reset();
    },
    // è¡¨å•重置
    reset() {
      this.form = {
@@ -640,14 +638,14 @@
    },
    /** æœç´¢æŒ‰é’®æ“ä½œ */
    handleQuery() {
      this.topqueryParams.pageNum = 1;
      this.queryParams.pageNum = 1;
      this.getList();
    },
    /** é‡ç½®æŒ‰é’®æ“ä½œ */
    resetQuery() {
      this.dateRange = [];
      this.resetForm("queryForm");
      this.topqueryParams.deptId = undefined;
      this.queryParams.deptId = undefined;
      this.$refs.tree.setCurrentKey(null);
      this.handleQuery();
    },
@@ -657,83 +655,34 @@
      this.single = selection.length != 1;
      this.multiple = !selection.length;
    },
    //删除选项
    handleClose(tag) {
      this.dynamicTags.splice(this.dynamicTags.indexOf(tag), 1);
    },
    //触发新增输入
    showInput() {
      this.inputVisible = true;
      this.$nextTick((_) => {
        this.$refs.saveTagInput.$refs.input.focus();
      });
    },
    //获取失去焦点触发
    handleInputConfirm() {
      let inputValue = this.inputValue;
      if (inputValue) {
        this.dynamicTags.push(inputValue);
      }
      this.inputVisible = false;
      this.inputValue = "";
    },
    /** æ–°å¢žæŒ‰é’®æ“ä½œ */
    handleAdd() {
      this.reset();
      getUser().then((response) => {
        this.postOptions = response.posts;
        this.roleOptions = response.roles;
        this.addalteropen = true;
        this.title = "新增题目";
        this.form.password = this.initPassword;
      this.$router.push({
        path: "/knowledge/verbaltrick/particulars/",
        query: { id: "1" },
      });
    },
    /** ä¿®æ”¹æŒ‰é’®æ“ä½œ */
    handleUpdate(row) {
      this.reset();
      const userId = row.userId || this.ids;
      getUser(userId).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.addalteropen = true;
        this.title = "修改用户";
        this.form.password = "";
      });
    },
    /** é‡ç½®å¯†ç æŒ‰é’®æ“ä½œ */
    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(() => {});
    // ä¿®æ”¹åˆ†ç±»å¼¹æ¡†
    popoveramend(tagcategoryid) {
      this.idds = tagcategoryid;
      this.amendtag = true;
      this.dialogFormVisible = true;
    },
    /** æäº¤æŒ‰é’® */
    /** æ›´æ–°/修改提交按钮 */
    submitForm: function () {
      this.$refs["form"].validate((valid) => {
        if (valid) {
          if (this.form.userId != undefined) {
            updateUser(this.form).then((response) => {
              this.$modal.msgSuccess("修改成功");
              this.open = false;
              this.indexopen = false;
              this.getList();
            });
          } else {
            addUser(this.form).then((response) => {
              this.$modal.msgSuccess("新增成功");
              this.open = false;
              this.indexopen = false;
              this.getList();
            });
          }
@@ -754,80 +703,52 @@
        })
        .catch(() => {});
    },
    /** å¯¼å‡ºæŒ‰é’®æ“ä½œ */
    handleExport() {
      this.download(
        "system/user/export",
        {
          ...this.topqueryParams,
        },
        `user_${new Date().getTime()}.xlsx`
      );
    },
  },
};
</script>
<style lang="scss" scoped>
.el-button--primary.is-plain {
  color: #ffffff;
  background: #409eff;
  border-color: #4fabe9;
}
.document {
  width: 100px;
  height: 50px;
}
.documentf {
.Questionnairemanagement {
  display: flex;
  justify-content: flex-end;
}
.download {
.sidecolumn {
  width: 300px;
  min-height: 100vh;
  text-align: center;
  .el-upload__tip {
    font-size: 23px;
  }
  .el-upload__text {
    font-size: 23px;
  }
}
.uploading {
  //   display: flex;
  margin-top: 20px;
  margin: 20px;
  padding: 30px;
  background: #ffffff;
  background: #edf1f7;
  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);
}
.el-tag + .el-tag {
  margin-left: 10px;
}
.button-new-tag {
  margin-left: 10px;
  height: 32px;
  line-height: 30px;
  padding-top: 0;
  padding-bottom: 0;
}
.input-new-tag {
  width: 90px;
  margin-left: 10px;
  vertical-align: bottom;
}
.drexamine {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 30px;
  background: #daeaf5;
  img {
    width: 100px;
    height: 100px;
  .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;
  }
}
.qrcode-dialo {
  // text-align: center;
  text-align: center;
  //   display: flex;
  margin: 20px;
  padding: 30px;
@@ -835,22 +756,75 @@
  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);
  .topic-dev {
    margin-bottom: 25px;
    font-size: 20px !important;
    .dev-text {
      margin-bottom: 10px;
  .qrcode-text {
    font-size: 20px;
    span {
      margin-left: 20px;
    }
  }
}
::v-deep.el-radio-group {
  span {
    font-size: 24px;
  .qrcode-img {
    width: 300px;
    height: 400px;
  }
}
::v-deep.el-checkbox-group {
  span {
    font-size: 24px;
.tsgname {
  width: 90px;
  margin-right: 10px;
  text-align: center;
  cursor: pointer;
  height: 40px;
  line-height: 40px;
  background: #7799fa;
  color: #ffff;
  font-size: 18px;
  border-radius: 5px;
}
.tsgname:hover {
  background: #3366f5;
}
::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;
  font-size: 20px;
}
.leftvlue {
  //   display: flex;
  //   flex: 1;
  width: 80%;
  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;
  }
}
.button-text {
  color: rgb(70, 204, 238);
}
.button-bji {
  color: rgb(39, 167, 67);
}
.button-textxg {
  color: rgb(35, 81, 233);
}
.button-textsc {
  color: rgb(235, 23, 23);
}
</style>
src/views/knowledge/questionbank/particulars/index.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,356 @@
<template>
  <div>
    <div class="presentation-right">
      <el-card class="box-card">
        <el-form :inline="true" :model="topicobj" class="demo-form-inline">
          <div class="headline">
            é¢˜ç›®è®¾ç½®è¯¦æƒ…
            <span style="margin-left: 30px"
              ><el-button type="primary" @click="Submittopicobj"
                >保存</el-button
              ></span
            >
          </div>
          <el-row :gutter="10">
            <el-col :span="8"
              ><el-form-item label="题目标题">
                <el-input
                  v-model="topicobj.title"
                  placeholder="请输入标题"
                ></el-input> </el-form-item
            ></el-col>
            <el-col :span="6"
              ><el-form-item label="是否隐藏">
                <el-radio-group v-model="topicobj.resourcea">
                  <el-radio label="是"></el-radio>
                  <el-radio label="否"></el-radio>
                </el-radio-group> </el-form-item
            ></el-col>
            <el-col :span="6"
              ><el-form-item label="语言">
                <el-select
                  v-model="topicobj.languageh"
                  size="medium"
                  filterable
                  placeholder="请选择分类"
                >
                  <el-option
                    class="topicobjaa"
                    v-for="item in xjxsoptions"
                    :key="item.value"
                    :label="item.label"
                    :value="item.value"
                  >
                  </el-option>
                </el-select> </el-form-item
            ></el-col>
          </el-row>
          <el-row :gutter="10">
            <el-col :span="8"
              ><el-form-item label="是否必答">
                <el-radio-group v-model="topicobj.resource">
                  <el-radio label="是"></el-radio>
                  <el-radio label="否"></el-radio>
                </el-radio-group> </el-form-item
            ></el-col>
            <el-col :span="12"
              ><el-form-item label="题目类型">
                <el-select
                  v-model="topicobj.languageh"
                  size="medium"
                  filterable
                  placeholder="请选择分类"
                >
                  <el-option
                    class="topicobjaa"
                    v-for="item in xjxsoptions"
                    :key="item.value"
                    :label="item.label"
                    :value="item.value"
                  >
                  </el-option>
                </el-select> </el-form-item
            ></el-col>
          </el-row>
          <el-form-item label="题目内容">
            <el-input
              style="width: 40vw"
              type="textarea"
              v-model="topicobj.title"
              placeholder="请输入标题"
            ></el-input>
          </el-form-item>
          <el-row :gutter="10">
            <el-col :span="8"
              ><el-form-item label="适用方式">
                <el-select
                  v-model="topicobj.languageh"
                  size="medium"
                  filterable
                  placeholder="请选择分类"
                >
                  <el-option
                    class="topicobjaa"
                    v-for="item in xjxsoptions"
                    :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="适用疾病">
                <el-select
                  v-model="topicobj.languageh"
                  size="medium"
                  filterable
                  placeholder="请选择分类"
                >
                  <el-option
                    class="topicobjaa"
                    v-for="item in xjxsoptions"
                    :key="item.value"
                    :label="item.label"
                    :value="item.value"
                  >
                  </el-option>
                </el-select> </el-form-item
            ></el-col>
          </el-row>
          <el-form-item label="标签" prop="desc">
            <div class="xinz-inf">
              <el-tag
                :key="tag"
                type="success"
                v-for="tag in dynamicTags"
                closable
                :disable-transitions="false"
                @close="handleClose(tag)"
              >
                {{ tag }}
              </el-tag>
              <el-select
                v-model="inputValue"
                v-if="inputVisible"
                @change="handleInputConfirm"
                filterable
                  allow-create
                  default-first-option
                placeholder="请选择"
              >
                <el-option
                  v-for="item in optionstag"
                  :key="item.tagname"
                    :label="item.tagname"
                    :value="item.tagname"
                >
                </el-option>
              </el-select>
              <el-button
                v-else
                class="button-new-tag"
                size="small"
                @click="showInput"
                >+ æ–°å¢žæ ‡ç­¾</el-button
              >
            </div>
          </el-form-item>
          <div class="headline">
            é€‰é¡¹è®¾ç½®<span style="margin-left: 30px"
              ><el-button type="primary" @click="addoption"
                >+新增</el-button
              ></span
            >
          </div>
          <div class="topicxq" v-for="item in optionlist">
            <el-row :gutter="10">
              <el-col :span="11"
                ><el-form-item label="选项">
                  <el-input
                    type="text"
                    placeholder="请输入选项"
                    v-model="text"
                    show-word-limit
                  >
                  </el-input> </el-form-item
              ></el-col>
              <el-col :span="11"
                ><el-form-item label="分值">
                  <el-input
                    type="text"
                    placeholder="请输入分值"
                    v-model="text"
                    show-word-limit
                  >
                  </el-input> </el-form-item
              ></el-col>
              <el-col :span="2">
                <el-button
                  type="danger"
                  icon="el-icon-delete"
                  circle
                ></el-button>
              </el-col>
            </el-row>
            <el-row :gutter="10">
              <el-col :span="11"
                ><el-form-item label="选中提示">
                  <el-input
                    type="text"
                    placeholder="请输入内容"
                    v-model="text"
                    maxlength="10"
                    show-word-limit
                  >
                  </el-input> </el-form-item
              ></el-col>
              <el-col :span="11"
                ><el-form-item label="下题跳转">
                  <el-input
                    type="text"
                    placeholder="请输入题号"
                    v-model="text"
                    show-word-limit
                  >
                  </el-input> </el-form-item
              ></el-col>
            </el-row>
          </div>
        </el-form>
      </el-card>
    </div>
  </div>
</template>
<script>
import { listtag } from "@/api/system/label";
export default {
  data() {
    return {
      topicobj: {},
      inputVisible: false,
      inputValue: "",
      dynamicTags: ["标签一", "标签二", "标签三"],
      optionlist: [
        { value: "topic", table: "topic" },
        { value: "topic", table: "topic" },
        { value: "topic", table: "topic" },
      ],
      options: [
        {
          value: "选项1",
          label: "心血管",
        },
        {
          value: "选项2",
          label: "骨科",
        },
        {
          value: "选项3",
          label: "妇科",
        },
      ],
      optionstag:[],
      xjxsoptions: [
        {
          value: "1",
          label: "单选",
        },
        {
          value: "2",
          label: "多选",
        },
      ],
    };
  },
  created() {
    this.gettabList();
  },
  methods: {
    Submittopicobj() {},
    // æ–°å¢žé€‰é¡¹
    addoption() {},
    // æ ‡ç­¾-----------------
    /** æŸ¥è¯¢æ ‡ç­¾åˆ—表 */
    gettabList() {
      const tagqueryParams = {
        pageNum: 1,
        pageSize: 1000,
        tagcategoryid: "0",
      };
      listtag(tagqueryParams).then((response) => {
        console.log(response);
        this.options = response.rows;
      });
    },
    handleClose(tag) {
      this.dynamicTags.splice(this.dynamicTags.indexOf(tag), 1);
    },
    handleInputConfirm() {
      let inputValue = this.inputValue;
      if (inputValue) {
        this.dynamicTags.push(inputValue);
      }
      this.inputVisible = false;
      this.inputValue = "";
    },
    showInput() {
      this.inputVisible = true;
      // è‡ªåŠ¨èŽ·å–ç„¦ç‚¹
      // this.$nextTick((_) => {
      //   this.$refs.saveTagInput.$refs.input.focus();
      // });
    },
  },
};
</script>
<style lang="scss" scoped>
.presentation-right {
  margin-top: 20px;
  padding: 0 20px;
  font-size: 18px;
  overflow: auto;
  .headline {
    font-size: 20px;
    border-left: 3px solid #41a1be;
    padding-left: 5px;
    margin: 15px 0;
  }
  .topicxq {
    width: 50%;
    background-color: #e2f5fc;
    border-radius: 4px;
    margin-top: 10px;
    padding-left: 10px;
    padding-top: 15px;
  }
  .xinz-inf {
    font-size: 18px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    line-height: 48px;
    .el-tag + .el-tag {
      margin-left: 10px;
    }
    .button-new-tag {
      margin-left: 10px;
      height: 32px;
      line-height: 30px;
      padding-top: 0;
      padding-bottom: 0;
    }
    .input-new-tag {
      width: 90px;
      margin-left: 10px;
      vertical-align: bottom;
    }
  }
}
</style>
src/views/knowledge/questionnaire/compilequer/index.vue
@@ -108,13 +108,15 @@
                v-if="inputVisible"
                @change="handleInputConfirm"
                filterable
                  allow-create
                  default-first-option
                placeholder="请选择"
              >
                <el-option
                  v-for="item in options"
                  :key="item.label"
                  :label="item.label"
                  :value="item.label"
                  v-for="item in optionstag"
                  :key="item.tagname"
                    :label="item.tagname"
                    :value="item.tagname"
                >
                </el-option>
              </el-select>
@@ -551,6 +553,8 @@
</template>
<script>
import { listtag } from "@/api/system/label";
export default {
  data() {
    return {
@@ -582,6 +586,7 @@
      },
      rules: {},
      rulesa: {},
      optionstag:[],
      xjxsoptions: [
        {
          value: "选项1",
@@ -671,7 +676,10 @@
    };
  },
  created() {},
  created() {
    this.gettabList();
  },
  methods: {
    submitForm(formName) {
@@ -750,6 +758,18 @@
      this.fileList = fileList.slice(-3);
    },
    // æ ‡ç­¾-----------------
     /** æŸ¥è¯¢æ ‡ç­¾åˆ—表 */
     gettabList() {
      const tagqueryParams = {
        pageNum: 1,
        pageSize: 1000,
        tagcategoryid: "0",
      };
      listtag(tagqueryParams).then((response) => {
        console.log(response);
        this.optionstag = response.rows;
      });
    },
    handleClose(tag) {
      this.dynamicTags.splice(this.dynamicTags.indexOf(tag), 1);
    },
src/views/patient/follow/index.vue
@@ -188,14 +188,14 @@
          <el-table-column
            label="证件类型"
            align="center"
            key="idtype"
            prop="idtype"
            key="idcardtype"
            prop="idcardtype"
            width="120"
          /><el-table-column
            label="证件编号"
            align="center"
            key="idno"
            prop="idno"
            key="idcardno"
            prop="idcardno"
            width="190"
          />
          <el-table-column
@@ -208,8 +208,8 @@
          <el-table-column
            label="家庭住址"
            align="center"
            key="idno"
            prop="idno"
            key="idcardno"
            prop="idcardno"
            width="190"
          />
          <el-table-column
@@ -299,8 +299,8 @@
        </el-row>
        <el-row>
          <el-col :span="12">
            <el-form-item label="证件类型" prop="idtype">
              <el-select v-model="form.idtype" placeholder="请选择性别">
            <el-form-item label="证件类型" prop="idcardtype">
              <el-select v-model="form.idcardtype" placeholder="请选择性别">
                <el-option
                  v-for="item in paperstypes"
                  :key="item.papersname"
@@ -311,9 +311,9 @@
            </el-form-item>
          </el-col>
          <el-col :span="12">
            <el-form-item label="证件号" prop="idno">
            <el-form-item label="证件号" prop="idcardno">
              <el-input
                v-model="form.idno"
                v-model="form.idcardno"
                placeholder="请输入证件号"
                maxlength="50"
              />
@@ -456,9 +456,9 @@
        age: "",
        sex: "",
        tagList: [],
        idno: "",
        idcardno: "",
        telcode: "",
        idtype: "",
        idcardtype: "",
        relativetelcode: "",
      },
      //导入进度
@@ -539,7 +539,7 @@
      queryParams: {
        pageNum: 1,
        pageSize: 10,
        idno: undefined,
        idcardno: undefined,
        name: undefined,
        status: undefined,
        tagIds: undefined,
@@ -572,8 +572,14 @@
    },
    /** æŸ¥è¯¢æ ‡ç­¾åˆ—表 */
    gettabList() {
      const queryParams = {};
      listtag().then((response) => {
      const tagqueryParams = {
        pageNum: 1,
        pageSize: 1000,
        tagname: undefined,
        tagdescription: undefined,
        tagcategoryid: "0",
      };
      listtag(tagqueryParams).then((response) => {
        console.log(response);
        this.optionstag = response.rows;
      });
@@ -611,9 +617,9 @@
        age: "",
        sex: "",
        tagList: [],
        idno: "",
        idcardno: "",
        telcode: "",
        idtype: "",
        idcardtype: "",
        relativetelcode: "",
      };
      // this.resetForm("form");
src/views/patient/patient/behospitalized.vue
@@ -20,9 +20,9 @@
              @keyup.enter.native="handleQuery"
            />
          </el-form-item>
          <el-form-item label="患者住院号" prop="idno">
          <el-form-item label="患者住院号" prop="idcardno">
            <el-input
              v-model="queryParams.idno"
              v-model="queryParams.idcardno"
              placeholder="请输入患者编号"
              clearable
              style="width: 250px"
@@ -234,15 +234,15 @@
          <el-table-column
            label="护理等级"
            align="center"
            key="idtype"
            prop="idtype"
            key="idcardtype"
            prop="idcardtype"
            width="120"
          />
          <el-table-column
            label="病情状态"
            align="center"
            key="idno"
            prop="idno"
            key="idcardno"
            prop="idcardno"
            width="190"
          />
@@ -364,8 +364,8 @@
        </el-row>
        <el-row>
          <el-col :span="12">
            <el-form-item label="证件类型" prop="idtype">
              <el-select v-model="form.idtype" placeholder="请选择性别">
            <el-form-item label="证件类型" prop="idcardtype">
              <el-select v-model="form.idcardtype" placeholder="请选择性别">
                <el-option
                  v-for="item in paperstypes"
                  :key="item.papersname"
@@ -376,9 +376,9 @@
            </el-form-item>
          </el-col>
          <el-col :span="12">
            <el-form-item label="证件号" prop="idno">
            <el-form-item label="证件号" prop="idcardno">
              <el-input
                v-model="form.idno"
                v-model="form.idcardno"
                placeholder="请输入证件号"
                maxlength="50"
              />
@@ -610,9 +610,9 @@
        age: "",
        sex: "",
        tagList: [],
        idno: "",
        idcardno: "",
        telcode: "",
        idtype: "",
        idcardtype: "",
        relativetelcode: "",
      },
      //导入进度
@@ -657,7 +657,7 @@
      queryParams: {
        pageNum: 1,
        pageSize: 10,
        idno: undefined,
        idcardno: undefined,
        name: undefined,
        status: undefined,
        tagIds: undefined,
@@ -734,8 +734,14 @@
    },
    /** æŸ¥è¯¢æ ‡ç­¾åˆ—表 */
    gettabList() {
      const queryParams = {};
      listtag().then((response) => {
      const tagqueryParams = {
        pageNum: 1,
        pageSize: 1000,
        tagname: undefined,
        tagdescription: undefined,
        tagcategoryid: "0",
      };
      listtag(tagqueryParams).then((response) => {
        console.log(response);
        this.optionstag = response.rows;
      });
@@ -773,9 +779,9 @@
        age: "",
        sex: "",
        tagList: [],
        idno: "",
        idcardno: "",
        telcode: "",
        idtype: "",
        idcardtype: "",
        relativetelcode: "",
      };
      // this.resetForm("form");
src/views/patient/patient/index.vue
@@ -246,8 +246,8 @@
              <el-table-column
                label="居住地"
                align="center"
                key="age"
                prop="age"
                key="placeOfResidence"
                prop="placeOfResidence"
                width="120"
              />
              <el-table-column
@@ -265,14 +265,14 @@
              <el-table-column
                label="证件类型"
                align="center"
                key="idtype"
                prop="idtype"
                key="idcardtype"
                prop="idcardtype"
                width="120"
              /><el-table-column
                label="证件号码"
                align="center"
                key="idno"
                prop="idno"
                key="idcardno"
                prop="idcardno"
                width="190"
              />
@@ -286,15 +286,15 @@
              <el-table-column
                label="建档日期"
                align="center"
                key="uploadTime"
                prop="uploadTime"
                key="createTime"
                prop="createTime"
                width="160"
              >
              </el-table-column>
              <el-table-column
                label="更新日期"
                align="center"
                prop="updateTime"
                prop="archivetime"
                width="160"
              >
                <template slot-scope="scope">
@@ -386,7 +386,7 @@
            </el-form-item>
          </el-col>
          <el-col :span="8">
            <el-form-item label="民族" prop="age">
            <el-form-item label="年龄" prop="age">
              <el-input
                v-model="form.age"
                placeholder="请输入年龄"
@@ -399,7 +399,7 @@
          <el-col :span="8">
            <el-form-item label="民族" prop="name">
              <el-input
                v-model="form.name"
                v-model="form.nation"
                placeholder="请输入民族"
                maxlength="30"
              />
@@ -408,7 +408,7 @@
          <el-col :span="8">
            <el-form-item label="籍贯" prop="age">
              <el-input
                v-model="form.age"
                v-model="form.nativePlace"
                placeholder="请输入籍贯"
                maxlength="30"
              />
@@ -426,8 +426,8 @@
        </el-row>
        <el-row>
          <el-col :span="12">
            <el-form-item label="证件类型" prop="idtype">
              <el-select v-model="form.idtype" placeholder="请选择性别">
            <el-form-item label="证件类型" prop="idcardtype">
              <el-select v-model="form.idcardtype" placeholder="请选择性别">
                <el-option
                  v-for="item in paperstypes"
                  :key="item.papersname"
@@ -438,9 +438,9 @@
            </el-form-item>
          </el-col>
          <el-col :span="12">
            <el-form-item label="证件号" prop="idno">
            <el-form-item label="证件号" prop="idcardno">
              <el-input
                v-model="form.idno"
                v-model="form.idcardno"
                placeholder="请输入证件号"
                maxlength="50"
              />
@@ -449,17 +449,17 @@
        </el-row>
        <el-row>
          <el-col :span="12">
            <el-form-item label="出生地" prop="idno">
            <el-form-item label="出生地" prop="idcardno">
              <el-input
                v-model="form.idno"
                v-model="form.birthplace"
                placeholder="国、省、地市、区县、街道等详细信息"
                maxlength="50"
              />
            </el-form-item> </el-col
          ><el-col :span="12">
            <el-form-item label="居住地" prop="idno">
            <el-form-item label="居住地" prop="idcardno">
              <el-input
                v-model="form.idno"
                v-model="form.placeOfResidence"
                placeholder="国、省、地市、区县、街道等详细信息"
                maxlength="50"
              />
@@ -469,7 +469,7 @@
        <el-row>
          <el-col :span="24">
            <el-form-item label="患者类型">
              <el-select v-model="form.Patienttype" placeholder="请选择类型">
              <el-select v-model="form.pattype" placeholder="请选择类型">
                <el-option
                  v-for="item in Patienttype"
                  :key="item.value"
@@ -755,9 +755,9 @@
        age: "",
        sex: "",
        tagList: [],
        idno: "",
        idcardno: "",
        telcode: "",
        idtype: "",
        idcardtype: "",
        relativetelcode: "",
      },
      activeName: "first", //侧边选择
@@ -794,7 +794,7 @@
        pageNum: 1,
        allhosp: "1",
        pageSize: 10,
        idno: undefined,
        idcardno: undefined,
        name: undefined,
        status: undefined,
        tagIds: undefined,
@@ -874,8 +874,14 @@
    },
    /** æŸ¥è¯¢æ ‡ç­¾åˆ—表 */
    gettabList() {
      const queryParams = {};
      listtag().then((response) => {
      const tagqueryParams = {
        pageNum: 1,
        pageSize: 1000,
        tagname: undefined,
        tagdescription: undefined,
        tagcategoryid: "0",
      };
      listtag(tagqueryParams).then((response) => {
        console.log(response);
        this.optionstag = response.rows;
      });
@@ -905,9 +911,9 @@
        age: "",
        sex: "",
        tagList: [],
        idno: "",
        idcardno: "",
        telcode: "",
        idtype: "",
        idcardtype: "",
        relativetelcode: "",
      };
      // this.resetForm("form");
src/views/patient/patient/outpatient.vue
@@ -20,9 +20,9 @@
              @keyup.enter.native="handleQuery"
            />
          </el-form-item>
          <el-form-item label="患者编号" prop="idno">
          <el-form-item label="患者编号" prop="idcardno">
            <el-input
              v-model="queryParams.idno"
              v-model="queryParams.idcardno"
              placeholder="请输入患者编号"
              clearable
              style="width: 250px"
@@ -58,6 +58,7 @@
              <el-select
                v-model="queryParams.tagIds"
                multiple
                filterable
                placeholder="请选择"
              >
                <el-option
@@ -214,15 +215,15 @@
          <el-table-column
            label="就诊类别"
            align="center"
            key="idtype"
            prop="idtype"
            key="idcardtype"
            prop="idcardtype"
            width="120"
          />
          <el-table-column
            label="诊断"
            align="center"
            key="idno"
            prop="idno"
            key="idcardno"
            prop="idcardno"
            width="190"
          />
@@ -344,8 +345,8 @@
        </el-row>
        <el-row>
          <el-col :span="12">
            <el-form-item label="证件类型" prop="idtype">
              <el-select v-model="form.idtype" placeholder="请选择性别">
            <el-form-item label="证件类型" prop="idcardtype">
              <el-select v-model="form.idcardtype" placeholder="请选择性别">
                <el-option
                  v-for="item in paperstypes"
                  :key="item.papersname"
@@ -356,9 +357,9 @@
            </el-form-item>
          </el-col>
          <el-col :span="12">
            <el-form-item label="证件号" prop="idno">
            <el-form-item label="证件号" prop="idcardno">
              <el-input
                v-model="form.idno"
                v-model="form.idcardno"
                placeholder="请输入证件号"
                maxlength="50"
              />
@@ -590,9 +591,9 @@
        age: "",
        sex: "",
        tagList: [],
        idno: "",
        idcardno: "",
        telcode: "",
        idtype: "",
        idcardtype: "",
        relativetelcode: "",
      },
      //导入进度
@@ -637,7 +638,7 @@
      queryParams: {
        pageNum: 1,
        pageSize: 10,
        idno: undefined,
        idcardno: undefined,
        name: undefined,
        status: undefined,
        tagIds: undefined,
@@ -714,8 +715,14 @@
    },
    /** æŸ¥è¯¢æ ‡ç­¾åˆ—表 */
    gettabList() {
      const queryParams = {};
      listtag().then((response) => {
      const tagqueryParams = {
        pageNum: 1,
        pageSize: 1000,
        tagname: undefined,
        tagdescription: undefined,
        tagcategoryid: "0",
      };
      listtag(tagqueryParams).then((response) => {
        console.log(response);
        this.optionstag = response.rows;
      });
@@ -753,9 +760,9 @@
        age: "",
        sex: "",
        tagList: [],
        idno: "",
        idcardno: "",
        telcode: "",
        idtype: "",
        idcardtype: "",
        relativetelcode: "",
      };
      // this.resetForm("form");
src/views/patient/patient/physical.vue
@@ -20,9 +20,9 @@
              @keyup.enter.native="handleQuery"
            />
          </el-form-item>
          <el-form-item label="体检编号" prop="idno">
          <el-form-item label="体检编号" prop="idcardno">
            <el-input
              v-model="queryParams.idno"
              v-model="queryParams.idcardno"
              placeholder="请输入体检编号"
              clearable
              style="width: 250px"
@@ -49,6 +49,7 @@
            <el-select
              v-model="queryParams.tagIds"
              multiple
              filterable
              placeholder="请选择"
            >
              <el-option
@@ -213,8 +214,8 @@
          <el-table-column
            label="体检类型"
            align="center"
            key="idtype"
            prop="idtype"
            key="idcardtype"
            prop="idcardtype"
            width="120"
          />
          <el-table-column
@@ -227,8 +228,8 @@
          <el-table-column
            label="体检报告"
            align="center"
            key="idno"
            prop="idno"
            key="idcardno"
            prop="idcardno"
            width="120"
          />
@@ -246,7 +247,7 @@
            prop="telcode"
            width="120"
          />
          <el-table-column
            label="就诊时间"
            align="center"
@@ -344,8 +345,8 @@
        </el-row>
        <el-row>
          <el-col :span="12">
            <el-form-item label="证件类型" prop="idtype">
              <el-select v-model="form.idtype" placeholder="请选择性别">
            <el-form-item label="证件类型" prop="idcardtype">
              <el-select v-model="form.idcardtype" placeholder="请选择性别">
                <el-option
                  v-for="item in paperstypes"
                  :key="item.papersname"
@@ -356,9 +357,9 @@
            </el-form-item>
          </el-col>
          <el-col :span="12">
            <el-form-item label="证件号" prop="idno">
            <el-form-item label="证件号" prop="idcardno">
              <el-input
                v-model="form.idno"
                v-model="form.idcardno"
                placeholder="请输入证件号"
                maxlength="50"
              />
@@ -590,9 +591,9 @@
        age: "",
        sex: "",
        tagList: [],
        idno: "",
        idcardno: "",
        telcode: "",
        idtype: "",
        idcardtype: "",
        relativetelcode: "",
      },
      //导入进度
@@ -637,7 +638,7 @@
      queryParams: {
        pageNum: 1,
        pageSize: 10,
        idno: undefined,
        idcardno: undefined,
        name: undefined,
        status: undefined,
        tagIds: undefined,
@@ -714,8 +715,14 @@
    },
    /** æŸ¥è¯¢æ ‡ç­¾åˆ—表 */
    gettabList() {
      const queryParams = {};
      listtag().then((response) => {
      const tagqueryParams = {
        pageNum: 1,
        pageSize: 1000,
        tagname: undefined,
        tagdescription: undefined,
        tagcategoryid: "0",
      };
      listtag(tagqueryParams).then((response) => {
        console.log(response);
        this.optionstag = response.rows;
      });
@@ -753,9 +760,9 @@
        age: "",
        sex: "",
        tagList: [],
        idno: "",
        idcardno: "",
        telcode: "",
        idtype: "",
        idcardtype: "",
        relativetelcode: "",
      };
      // this.resetForm("form");
src/views/patient/patient/profile/index.vue
@@ -95,7 +95,10 @@
    <!-- å¥åº·æ¡£æ¡ˆæ¨¡å— -->
    <div class="information-content" v-if="activeName == 'health'">
      <div class="top-message">
        <div class="headline">基础信息</div>
        <div class="headlines">
          <div>基础信息</div>
          <el-button type="primary" @click="savefile">保存患者档案</el-button>
        </div>
        <div class="detailed">
          <el-row :gutter="20">
            <el-col :span="12"
@@ -145,13 +148,15 @@
                  v-if="inputVisible"
                  @change="handleInputConfirm"
                  filterable
                  allow-create
                  default-first-option
                  placeholder="请选择"
                >
                  <el-option
                    v-for="item in options"
                    :key="item.label"
                    :label="item.label"
                    :value="item.label"
                    :key="item.tagname"
                    :label="item.tagname"
                    :value="item.tagname"
                  >
                  </el-option>
                </el-select>
@@ -231,7 +236,7 @@
            </el-row>
            <el-row>
              <el-col :span="8">
                <el-form-item label="吸烟情况" prop="idtype">
                <el-form-item label="吸烟情况" prop="idcardtype">
                  <el-radio-group v-model="form.radio">
                    <el-radio :label="1">有</el-radio>
                    <el-radio :label="2">无</el-radio>
@@ -239,7 +244,7 @@
                </el-form-item>
              </el-col>
              <el-col :span="8">
                <el-form-item label="饮酒情况" prop="idno">
                <el-form-item label="饮酒情况" prop="idcardno">
                  <el-radio-group v-model="form.radios">
                    <el-radio :label="1">有</el-radio>
                    <el-radio :label="2">无</el-radio>
@@ -247,7 +252,7 @@
                </el-form-item>
              </el-col>
              <el-col :span="8">
                <el-form-item label="运动情况" prop="idno">
                <el-form-item label="运动情况" prop="idcardno">
                  <el-radio-group v-model="form.radiosa">
                    <el-radio :label="1">有</el-radio>
                    <el-radio :label="2">无</el-radio>
@@ -257,19 +262,19 @@
            </el-row>
            <el-row>
              <el-col :span="12">
                <el-form-item label="饮食情况" prop="idno">
                <el-form-item label="饮食情况" prop="idcardno">
                  <el-radio-group v-model="form.radiosa">
                    <el-radio :label="1">多度饮食</el-radio>
                    <el-radio :label="1">过度饮食</el-radio>
                    <el-radio :label="2">正常饮食</el-radio>
                    <el-radio :label="2">食欲不振</el-radio>
                    <el-radio :label="3">食欲不振</el-radio>
                  </el-radio-group>
                </el-form-item> </el-col
              ><el-col :span="12">
                <el-form-item label="心理情况" prop="idno">
                <el-form-item label="心理情况" prop="idcardno">
                  <el-radio-group v-model="form.radiosa">
                    <el-radio :label="1">心情愉悦</el-radio>
                    <el-radio :label="2">轻微焦虑</el-radio>
                    <el-radio :label="2">抑郁</el-radio>
                    <el-radio :label="3">抑郁</el-radio>
                  </el-radio-group>
                </el-form-item>
              </el-col>
@@ -280,7 +285,7 @@
      <!-- è”系电话 -->
      <div class="bottom-message">
        <div class="headline">
          å·ç ç»´æŠ¤
          å·ç ç»´æŠ¤<span style="margin-right: 60px">&nbsp;&nbsp;</span>
          <el-button type="primary" @click="AddanumberVisible = true"
            >+新增</el-button
          >
@@ -588,16 +593,23 @@
import resetPwd from "./resetPwd";
import * as echarts from "echarts";
import SFtable from "@/components/SFtable"; //表格组件
import { getUserProfile } from "@/api/system/user";
import { listJob } from "@/api/monitor/job"; //获取列表接口待定
import { listtag } from "@/api/system/label";
import {
  messagelistpatient,
  addmedicalhistory,
  getmedicalhistory,
  editmedicalhistory,
  deletepatient,
  Exporterrorpatient,
  toleadpatient,
} from "@/api/patient/homepage";
export default {
  name: "Profile",
  components: { userAvatar, userInfo, resetPwd, SFtable },
  data() {
    return {
      user: {},
      userform: {},
      roleGroup: {},
      postGroup: {},
      form: {},
@@ -609,6 +621,7 @@
      yynumber: 12,
      total: 0, // æ€»æ¡æ•°
      activeTab: "userinfo",
      id: "",
      activeName: "health", //一类导航
      sonactiveName: "outpatient", //健康监测导航
      sontwoactiveName: "blood", //医疗档案导航
@@ -754,18 +767,42 @@
      this.xueyangechartsInit();
      this.twechartsInit();
    });
    this.getList();
    this.id = this.$route.query.id;
    this.getuserinfo();
    this.gettabList();
  },
  methods() {},
  methods: {
    // æŸ¥è¯¢åˆ—表
    // æŸ¥è¯¢æ¡£æ¡ˆåˆ—表信息
    getList() {
      this.loading = true;
      listJob(this.queryParams).then((response) => {
        this.jobList = 1;
        this.total = 1;
        this.loading = false;
    },
    getuserinfo() {
      console.log(this.id);
      const queryParams = {
        pid: Number(this.id),
        allhosp: "0",
        pageNum: 1,
      };
      messagelistpatient(queryParams).then((response) => {
        console.log(response);
        this.userform = response.rows[0];
        console.log(this.userform);
      });
    },
    // ä¿å­˜æ‚£è€…档案
    savefile() {},
    /** æŸ¥è¯¢æ ‡ç­¾åˆ—表 */
    gettabList() {
      const tagqueryParams = {
        pageNum: 1,
        pageSize: 1000,
        tagcategoryid: "0",
      };
      listtag(tagqueryParams).then((response) => {
        console.log(response);
        this.options = response.rows;
      });
    },
    handleClick(tab, event) {
@@ -1260,7 +1297,7 @@
.personages {
  height: 88px;
  width: 100%;
  background-color: #2486b9;
  background-color: #5e86f9;
  border-radius: 5px;
  padding: 20px;
  margin-bottom: 10px;
@@ -1350,6 +1387,15 @@
    margin-bottom: 10px;
    border-left: 8px solid rgb(65, 161, 190);
  }
  .headlines {
    font-size: 25px;
    display: flex;
    width: 88%;
    justify-content: space-between;
    padding-left: 5px;
    margin-bottom: 10px;
    border-left: 8px solid rgb(65, 161, 190);
  }
  .bottom-message {
    margin-bottom: 25px;
    margin-left: 100px;
src/views/patient/viewvant/RightDrawer.vue
@@ -9,9 +9,9 @@
          </el-form-item>
          <div v-show="showGrid">
            <el-form-item label="网格类型">
              <el-radio-group v-model="grid.type" @change="changeGridType">
              <el-radio-group v-model="grid.type" @change="changeGridcardtype">
                <el-radio
                  v-for="item in gridTypeList"
                  v-for="item in gridcardtypeList"
                  :label="item.value"
                  :key="item.value"
                >
@@ -165,7 +165,7 @@
  name: "RightDrawer",
  data() {
    return {
      gridTypeList: [
      gridcardtypeList: [
        {
          label: "四边网格",
          value: "mesh",
@@ -245,7 +245,7 @@
    changeGrid() {
      this.showGrid ? this.graph.showGrid() : this.graph.hideGrid();
    },
    changeGridType(e) {
    changeGridcardtype(e) {
      this.grid.type = e;
      this.changeGrid();
    },
src/views/repositoryai/intention/index.vue
@@ -396,13 +396,15 @@
                  v-if="inputVisible"
                  @change="handleInputConfirm"
                  filterable
                  allow-create
                  default-first-option
                  placeholder="请选择"
                >
                  <el-option
                    v-for="item in optionss"
                    :key="item.label"
                    :label="item.label"
                    :value="item.label"
                    v-for="item in optionstag"
                    :key="item.tagname"
                    :label="item.tagname"
                    :value="item.tagname"
                  >
                  </el-option>
                </el-select>
@@ -624,6 +626,8 @@
import { getToken } from "@/utils/auth";
import Treeselect from "@riophae/vue-treeselect";
import "@riophae/vue-treeselect/dist/vue-treeselect.css";
import { listtag } from "@/api/system/label";
export default {
  name: "questionnaire",
  dicts: ["sys_normal_disable", "sys_user_sex"],
@@ -754,6 +758,7 @@
          label: "类型四",
        },
      ],
      optionstag:[],
      //类别列表
      editableTabs: [
        {
@@ -848,6 +853,7 @@
  watch: {},
  created() {
    this.getList();
    this.gettabList();
  },
  methods: {
@@ -927,6 +933,17 @@
      console.log(key, keyPath);
    },
    // æ ‡ç­¾-----------------
    gettabList() {
      const tagqueryParams = {
        pageNum: 1,
        pageSize: 1000,
        tagcategoryid: "0",
      };
      listtag(tagqueryParams).then((response) => {
        console.log(response);
        this.optionstag = response.rows;
      });
    },
    handleClose(tag) {
      this.dynamicTags.splice(this.dynamicTags.indexOf(tag), 1);
    },
src/views/repositoryai/templateku/configurat/index.vue
@@ -128,13 +128,15 @@
                v-if="inputVisible"
                @change="handleInputConfirm"
                filterable
                  allow-create
                  default-first-option
                placeholder="请选择"
              >
                <el-option
                  v-for="item in options"
                  :key="item.label"
                  :label="item.label"
                  :value="item.label"
                v-for="item in optionstag"
                  :key="item.tagname"
                    :label="item.tagname"
                    :value="item.tagname"
                >
                </el-option>
              </el-select>
@@ -538,7 +540,7 @@
                      </el-form-item></el-col
                    >
                    <el-col :span="8">
                      <div style="text-align: right; padding-right: 10px;" >
                      <div style="text-align: right; padding-right: 10px">
                        <el-button type="danger" round>删除</el-button>
                      </div>
                    </el-col>
@@ -705,6 +707,8 @@
</template>
<script>
import { listtag } from "@/api/system/label";
export default {
  data() {
    return {
@@ -736,6 +740,7 @@
      },
      rules: {},
      rulesa: {},
      optionstag:[],
      xjxsoptions: [
        {
          value: "选项1",
@@ -839,7 +844,10 @@
    };
  },
  created() {},
  created() {
    this.gettabList();
  },
  methods: {
    getIndexInArray(arr, obj) {
@@ -931,6 +939,17 @@
      );
    },
    // æ ‡ç­¾-----------------
    gettabList() {
      const tagqueryParams = {
        pageNum: 1,
        pageSize: 1000,
        tagcategoryid: "0",
      };
      listtag(tagqueryParams).then((response) => {
        console.log(response);
        this.optionstag = response.rows;
      });
    },
    handleClose(tag) {
      this.dynamicTags.splice(this.dynamicTags.indexOf(tag), 1);
    },
src/views/repositoryai/verbaltrick/particulars/index.vue
@@ -396,13 +396,15 @@
                v-if="inputVisible"
                @change="handleInputConfirm"
                filterable
                allow-create
                default-first-option
                placeholder="请选择"
              >
                <el-option
                  v-for="item in optionss"
                  :key="item.label"
                  :label="item.label"
                  :value="item.label"
                  v-for="item in optionstag"
                  :key="item.tagname"
                  :label="item.tagname"
                  :value="item.tagname"
                >
                </el-option>
              </el-select>
@@ -560,6 +562,8 @@
</template>
<script>
import { listtag } from "@/api/system/label";
export default {
  data() {
    return {
@@ -591,6 +595,7 @@
      },
      rules: {},
      rulesa: {},
      optionstag: [],
      xjxsoptions: [
        {
          value: "选项1",
@@ -716,7 +721,9 @@
    };
  },
  created() {},
  created() {
    this.gettabList();
  },
  methods: {
    submitForm(formName) {
@@ -807,6 +814,17 @@
      );
    },
    // æ ‡ç­¾-----------------
    gettabList() {
      const tagqueryParams = {
        pageNum: 1,
        pageSize: 1000,
        tagcategoryid: "0",
      };
      listtag(tagqueryParams).then((response) => {
        console.log(response);
        this.optionstag = response.rows;
      });
    },
    handleClose(tag) {
      this.dynamicTags.splice(this.dynamicTags.indexOf(tag), 1);
    },
src/views/shortmessage/healthinformation/index.vue
@@ -65,11 +65,28 @@
              v-show="showSearch"
              label-width="98px"
            >
              <el-form-item label="通知类型" prop="userName">
              <el-form-item label="适用科室" prop="userName">
                <el-select
                  v-model="queryParams.statustype"
                  v-model="queryParams.administrative"
                  placeholder="请选择"
                >
                  <el-option
                    v-for="item in optionks"
                    :key="item.value"
                    :label="item.label"
                    :value="item.value"
                  >
                  </el-option>
                </el-select>
              </el-form-item>
              <el-form-item label="通知标题" prop="userName">
                <el-input
                  v-model="queryParams.title"
                  placeholder="请输入内容"
                ></el-input>
              </el-form-item>
              <el-form-item label="内容形式" prop="userName">
                <el-select v-model="queryParams.shape" placeholder="请选择">
                  <el-option
                    v-for="item in options"
                    :key="item.value"
@@ -79,8 +96,19 @@
                  </el-option>
                </el-select>
              </el-form-item>
              <el-form-item label="通知方式" prop="status">
                <el-select v-model="queryParams.status" placeholder="请选择">
              <el-form-item label="适用方式" prop="status">
                <el-select v-model="queryParams.way" placeholder="请选择">
                  <el-option
                    v-for="item in optionsfs"
                    :key="item.value"
                    :label="item.label"
                    :value="item.value"
                  >
                  </el-option>
                </el-select>
              </el-form-item>
              <el-form-item label="可用状态" prop="status">
                <el-select v-model="queryParams.usable" placeholder="请选择">
                  <el-option
                    v-for="item in optionss"
                    :key="item.value"
@@ -156,11 +184,7 @@
              <!-- <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"
@@ -175,7 +199,7 @@
                prop="userId"
              />
              <el-table-column
                label="通知方式"
                label="通知标题"
                align="center"
                key="userName"
                prop="userName"
@@ -184,8 +208,9 @@
              <el-table-column
                label="通知内容"
                align="center"
                key="nickName"
                prop="nickName"
                width="150"
                key="informvalue"
                prop="informvalue"
                :show-overflow-tooltip="true"
              />
              <el-table-column
@@ -210,7 +235,28 @@
                width="120"
              />
              <el-table-column
                label="内容形式"
                align="center"
                key="shape"
                prop="shape"
                width="120"
              />
              <el-table-column
                label="发送方式"
                align="center"
                key="bphonenumber"
                prop="bphonenumber"
                width="120"
              />
              <el-table-column
                label="可用状态"
                align="center"
                key="usable"
                prop="usable"
                width="120"
              />
              <el-table-column
                label="最近修改"
                align="center"
                key="cphonenumber"
                prop="cphonenumber"
@@ -224,16 +270,6 @@
                class-name="small-padding fixed-width"
              >
                <template slot-scope="scope">
                  <el-button
                    size="medium"
                    type="text"
                    @click="goQRCode(scope.row)"
                    v-hasPermi="['system:user:edit']"
                  >
                    <span class="button-text"
                      ><i class="el-icon-edit"></i>二维码</span
                    ></el-button
                  >
                  <el-button
                    size="medium"
                    type="text"
@@ -274,130 +310,172 @@
            />
          </el-col>
        </el-row>
        <!-- æ·»åŠ æˆ–ä¿®æ”¹é€šçŸ¥é…ç½®å¯¹è¯æ¡† -->
        <el-dialog
          :title="title"
          :visible.sync="open"
          width="900px"
          append-to-body
        >
          <el-form ref="form" :model="form" :rules="rules" label-width="100px">
            <el-row>
              <el-col :span="12">
                <el-form-item label="姓名" prop="nickName">
                  <el-input
                    v-model="form.nickName"
                    placeholder="请输入姓名"
                    maxlength="30"
                  />
                </el-form-item>
              </el-col>
              <el-col :span="12">
                <el-form-item label="性别" prop="deptId">
                  <el-select v-model="form.sex" placeholder="请选择性别">
                    <el-option
                      v-for="dict in dict.type.sys_user_sex"
                      :key="dict.value"
                      :label="dict.label"
                      :value="dict.value"
                    ></el-option>
                  </el-select>
                </el-form-item>
              </el-col>
            </el-row>
            <el-row>
              <el-col :span="12">
                <el-form-item label="证件类型" prop="phonenumber">
                  <el-input
                    v-model="form.phonenumber"
                    placeholder="请选择证件类型"
                    maxlength="11"
                  />
                </el-form-item>
              </el-col>
              <el-col :span="12">
                <el-form-item label="证件号" prop="email">
                  <el-input
                    v-model="form.email"
                    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-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="患者标签">
                  <el-cascader
                    :options="optionss"
                    :props="propss"
                    clearable
                  ></el-cascader>
                </el-form-item>
              </el-col>
            </el-row>
            <el-row>
              <el-col :span="24">
                <el-form-item label="备注">
                  <el-input
                    v-model="form.remark"
                    type="textarea"
                    placeholder="请输入内容"
                  ></el-input>
                </el-form-item>
              </el-col>
            </el-row>
          </el-form>
          <div slot="footer" class="dialog-footer">
            <el-button type="primary" @click="submitForm">ç¡® å®š</el-button>
            <el-button @click="cancel">取 æ¶ˆ</el-button>
          </div>
        </el-dialog>
      </div>
    </div>
    <!-- æ·»åŠ ç±»åˆ«å¼¹æ¡† -->
    <!-- æ·»åŠ æˆ–ä¿®æ”¹é€šçŸ¥é…ç½®å¯¹è¯æ¡† -->
    <el-dialog
      :title="amendtag ? '修改类别' : '新增类别'"
      width="30%"
      :visible.sync="dialogFormVisible"
      :title="title"
      :visible.sync="indexopen"
      width="900px"
      append-to-body
    >
      <el-form :model="classifyform">
        <el-form-item
          :label="amendtag ? '请输入新的类别名称' : '请输入类别名称'"
        >
          <el-input
            v-model="classifyform.categoryname"
            autocomplete="off"
          ></el-input>
      <el-form ref="form" :model="indexform" :rules="rules" label-width="100px">
        <el-row>
          <el-col :span="12">
            <el-form-item label="通知标题" prop="deptId">
              <el-input
                v-model="indexform.name"
                placeholder="请输入"
                maxlength="40"
              />
            </el-form-item>
          </el-col>
          <el-col :span="6">
            <el-form-item label="版本号" prop="deptId">
              <el-input
                v-model="indexform.versions"
                placeholder="请输入"
                maxlength="40"
              />
            </el-form-item>
          </el-col>
        </el-row>
        <el-row>
          <el-col :span="12">
            <el-form-item label="语言" prop="deptId">
              <el-select v-model="indexform.language" placeholder="请选择语言">
                <el-option
                  v-for="index in languagelist"
                  :key="index.value"
                  :label="index.label"
                  :value="index.value"
                ></el-option>
              </el-select>
            </el-form-item>
          </el-col>
          <el-col :span="12">
            <el-form-item label="是否可用" prop="deptId">
              <el-select v-model="indexform.useofstateky" placeholder="请选择">
                <el-option
                  v-for="index in optionss"
                  :key="index.value"
                  :label="index.label"
                  :value="index.value"
                ></el-option>
              </el-select>
            </el-form-item>
          </el-col>
        </el-row>
        <el-row>
          <el-col :span="24">
            <el-form-item label="通知内容" prop="nickName">
              <el-input
                type="textarea"
                v-model="indexform.nickName"
                placeholder="请输入通知内容"
                maxlength="80"
              />
            </el-form-item> </el-col
        ></el-row>
        <el-form-item label="通知变量" prop="name">
          <el-row v-for="item in variablelist">
            <el-col :span="4">
              <el-input v-model="item.variable"></el-input>
            </el-col>
            <el-col :span="8" :offset="1">
              <el-input v-model="item.value"></el-input>
            </el-col>
            <el-col :span="4" :offset="1">
              <el-button
                type="success"
                icon="el-icon-plus"
                circle
                @click="addvariable(item)"
              ></el-button>
              <el-button
                type="danger"
                icon="el-icon-delete"
                circle
                @click="delvariable(item)"
              ></el-button>
            </el-col>
          </el-row>
        </el-form-item>
        <el-row>
          <el-col :span="12">
            <el-form-item label="适用疾病" prop="userName">
              <el-select
                v-model="indexform.useofstate"
                multiple
                placeholder="请选择(多选)"
              >
                <el-option
                  v-for="index in optionks"
                  :key="index.value"
                  :label="index.label"
                  :value="index.value"
                ></el-option>
              </el-select>
            </el-form-item>
          </el-col>
          <el-col :span="12">
            <el-form-item label="适用科室" prop="userName">
              <el-select
                v-model="indexform.useofstateks"
                multiple
                placeholder="请选择(多选)"
              >
                <el-option
                  v-for="index in optionks"
                  :key="index.value"
                  :label="index.label"
                  :value="index.value"
                ></el-option>
              </el-select>
            </el-form-item>
          </el-col>
        </el-row>
        <el-row>
          <el-col :span="12">
            <el-form-item label="适用方式" prop="email">
              <el-select
                v-model="indexform.useofstatefs"
                multiple
                placeholder="请选择(多选)"
              >
                <el-option
                  v-for="index in optionsfs"
                  :key="index.value"
                  :label="index.label"
                  :value="index.value"
                ></el-option>
              </el-select>
            </el-form-item>
          </el-col>
          <el-col :span="12">
            <el-form-item label="内容形式" prop="email">
              <el-select
                v-model="indexform.useofstatexs"
                multiple
                placeholder="请选择(多选)"
              >
                <el-option
                  v-for="index in options"
                  :key="index.value"
                  :label="index.label"
                  :value="index.value"
                ></el-option>
              </el-select>
            </el-form-item>
          </el-col>
        </el-row>
      </el-form>
      <div slot="footer" class="dialog-footer">
        <el-button @click="dialogFormVisible = false">取 æ¶ˆ</el-button>
        <el-button type="primary" @click="submitsidecolumn">ç¡® å®š</el-button>
        <el-button type="primary" @click="submitForm">ç¡® å®š</el-button>
        <el-button @click="cancel">取 æ¶ˆ</el-button>
      </div>
    </el-dialog>
    <!-- åˆ é™¤ç±»åˆ«ç¡®è®¤æ¡† -->
@@ -456,17 +534,30 @@
      showSearch: true,
      // æ€»æ¡æ•°
      total: 0,
      indexopen: false, //弹框展示否
      // æ·»åŠ ã€ä¿®æ”¹å‚æ•°
      indexform: {},
      namequestionnaire: "",
      haoquestionnaire: "",
      variablelist: [
        {
          variable: "paitent",
          value: "表示患者的标识",
        },
      ],
      // ç”¨æˆ·è¡¨æ ¼æ•°æ®
      userList: [
        {
          userid: 1,
          userName: "三号通知",
          informvalue: "这个通知很重要啊很重要",
          nickName: "1.2.4",
          aphonenumber: "关节炎症",
          bphonenumber: "很棒",
          bphonenumber: "骨科",
          shape: "文字、图片",
          transmitmode: "钉钉、微信",
          cphonenumber: "2022-12-12 ",
          usable: "可用",
        },
      ],
      // å¼¹å‡ºå±‚标题
@@ -498,11 +589,31 @@
      optionss: [
        {
          value: 1,
          label: "可用",
        },
        {
          value: 2,
          label: "禁用",
        },
      ],
      optionsfs: [
        {
          value: 1,
          label: "短信",
        },
        {
          value: 2,
          label: "微信/钉钉",
        },
      ],
      optionks: [
        {
          value: 1,
          label: "心内科",
        },
        {
          value: 2,
          label: "胸外科",
        },
      ],
      options: [
@@ -695,6 +806,22 @@
        this.optionsvalue = [];
      }
    },
    // æ–°å¢žå˜é‡
    addvariable() {
      this.variablelist.push({
        variable: "",
        value: "",
      });
    },
    // åˆ é™¤å˜é‡
    delvariable(item) {
      const index = this.variablelist.indexOf(item);
      if (index !== -1) {
        this.variablelist.splice(index, 1); // ä»Žç´¢å¼•位置删除一个元素
      } else {
        console.log("未找到该对象");
      }
    },
    //删除分类
    deletefenlei(row) {
      if (this.deleteVisible) {
@@ -763,24 +890,18 @@
    },
    /** æ–°å¢žæŒ‰é’®æ“ä½œ */
    handleAdd() {
      this.$router.push({
        path: "/knowledge/questionnaire/compilequer/",
      });
      this.reset();
      this.title = "新增通知";
      this.indexopen = true;
    },
    /** ä¿®æ”¹æŒ‰é’®æ“ä½œ */
    handleUpdate(row) {
      this.$router.push({
        path: "/knowledge/questionnaire/compilequer/",
        query: { id: "1" },
      });
      this.reset();
      this.title = "通知详情";
      this.indexopen = true;
    },
    // æŸ¥çœ‹é€šçŸ¥
    ViewQuestionnaire() {
      this.$router.push({
        path: "/knowledge/questionnaire/examine/",
        query: { id: "1" },
      });
    },
    // æŸ¥çœ‹
    ViewQuestionnaire() {},
    /** æ›´æ–°/修改提交按钮 */
    submitForm: function () {
src/views/system/label/index.vue
@@ -6,7 +6,7 @@
        <div class="top-wj">患者标签类型</div>
        <div class="top-tj" @click="dialogFormVisible = true">+添加</div>
      </div>
      <div class="center-ss">
      <!-- <div class="center-ss">
        <el-input
          placeholder="请输入内容"
          v-model="sidecolumnval"
@@ -19,14 +19,19 @@
            icon="el-icon-search"
          ></el-button>
        </el-input>
      </div>
      </div> -->
      <div class="bottom-fl">
        <el-tabs tab-position="right">
          <el-tab-pane :label="`全部 (${total})`"></el-tab-pane>
        <el-tabs
          tab-position="right"
          v-model="queryParams.tagcategoryid"
          @tab-click="handleClick"
        >
          <el-tab-pane :label="`全部 (${tagtotal})`" name="0"></el-tab-pane>
          <el-tab-pane
            class="tab-paness"
            :key="item.name"
            v-for="(item, index) in editableTabs"
            :key="item.categoryname"
            :name="item.tagcategoryid.toString()"
          >
            <span slot="label">
              {{
@@ -168,6 +173,7 @@
                align="center"
                key="updateTime"
                prop="updateTime"
                width="200"
              >
                <template slot-scope="scope">
                  <span
@@ -182,7 +188,7 @@
                align="center"
                key="tagdescription"
                prop="tagdescription"
                width="120"
                width="200"
              >
              </el-table-column>
              <el-table-column
@@ -288,7 +294,7 @@
        <el-form-item label="标签名称">
          <el-input v-model="tagform.tagname"></el-input>
        </el-form-item>
        <el-form-item label="标签描述">
        <el-form-item label="标签分类">
          <el-select
            v-model="tagform.tagcategoryid"
            placeholder="请选择标签分类"
@@ -375,6 +381,7 @@
      idds: "", //分类id
      // æ€»æ¡æ•°
      total: 0,
      tagtotal: 0,
      amendtag: false, //是否修改类别
      lstamendtag: false, //是否修改标签
      scavisible: false, //删除弹框
@@ -433,30 +440,14 @@
        },
      ],
      //类别列表
      editableTabs: [
        {
          title: "高血压",
          number: "1",
        },
        {
          title: "糖尿病",
          number: "2",
        },
        {
          title: "骨折",
          number: "2",
        },
        {
          title: "心脏病",
          number: "2",
        },
      ],
      editableTabs: [],
      // æŸ¥è¯¢æ ‡ç­¾åˆ—表参数
      queryParams: {
        pageNum: 1,
        pageSize: 10,
        tagname: undefined,
        tagdescription: undefined,
        tagcategoryid: "0",
      },
      // åˆ—信息
      columns: [
@@ -525,12 +516,14 @@
  methods: {
    /** æŸ¥è¯¢æ ‡ç­¾åˆ—表 */
    getList(row) {
      console.log(row);
      console.log(this.queryParams);
      listtag(this.addDateRange(this.queryParams)).then((response) => {
        this.total = response.total;
        this.userList = response.rows;
      });
    },
    handleClick() {
      this.getList();
    },
    /** ä¿®æ”¹æ ‡ç­¾ */
    handleUpdate(row) {
@@ -559,16 +552,17 @@
    // æ·»åŠ /修改标签
    Maintenancetag() {
      if (this.lstamendtag) {
        toamendtag(this.addDateRange(this.tagform)).then((response) => {
        toamendtag(this.tagform).then((response) => {
          console.log(response);
          this.lstamendtagVisible = false;
          this.gitclasify();
          this.getList();
        });
      } else {
        addapitag(this.addDateRange(this.tagform)).then((response) => {
        addapitag(this.tagform).then((response) => {
          console.log(response);
          this.lstamendtagVisible = false;
          this.gitclasify();
          this.getList();
        });
      }
@@ -587,6 +581,11 @@
        console.log(response);
        this.numberlb = response.total;
        this.editableTabs = response.rows;
        const sum = this.editableTabs.reduce((accumulator, currentValue) => {
          return accumulator + Number(currentValue.tagNum);
        }, 0);
        console.log(sum);
        this.tagtotal = sum;
      });
    },
    // æ·»åŠ /修改类别
@@ -706,6 +705,7 @@
        })
        .then(() => {
          this.getList();
    this.gitclasify();
          this.$modal.msgSuccess("删除成功");
        })
        .catch(() => {});