<template> 
 | 
  <div class="Questionnairemanagement"> 
 | 
    <!-- 左侧栏 --> 
 | 
    <div class="sidecolumn"> 
 | 
      <div class="sidecolumn-top"> 
 | 
        <div class="top-wj">问题类型</div> 
 | 
        <div class="top-tj" @click="Newcategory">+添加</div> 
 | 
      </div> 
 | 
      <div class="center-ss"> 
 | 
        <el-input 
 | 
          placeholder="请输入内容" 
 | 
          v-model="sidecolumnval" 
 | 
          class="input-with-select" 
 | 
          size="medium " 
 | 
        > 
 | 
        </el-input> 
 | 
      </div> 
 | 
      <div class="head-container" style="margin-top: 20px"> 
 | 
        <el-tree 
 | 
          :data="deptOptions" 
 | 
          :props="defaultProps" 
 | 
          :expand-on-click-node="false" 
 | 
          :filter-node-method="filterNode" 
 | 
          ref="tree" 
 | 
          node-key="id" 
 | 
          default-expand-all 
 | 
          highlight-current 
 | 
          @node-click="handleNodeClick" 
 | 
        > 
 | 
          <span class="custom-tree-node" slot-scope="{ node, data }"> 
 | 
            <span>{{ node.label }}</span> 
 | 
            <span v-if="data.id > 0"> 
 | 
              <el-button 
 | 
                type="text" 
 | 
                icon="el-icon-delete" 
 | 
                circle 
 | 
                size="mini" 
 | 
                @click="() => remove(node, data)" 
 | 
              > 
 | 
              </el-button> 
 | 
            </span> 
 | 
            <span v-if="data.id > 0"> 
 | 
              <el-button 
 | 
                type="text" 
 | 
                circle 
 | 
                size="mini" 
 | 
                @click="() => altertag(node, data)" 
 | 
                ><span class="button-textxg" 
 | 
                  ><i class="el-icon-edit-outline"></i 
 | 
                ></span> 
 | 
              </el-button> 
 | 
            </span> 
 | 
          </span> 
 | 
        </el-tree> 
 | 
      </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-form-item label="问题标题" prop="scriptTopic"> 
 | 
                <el-input 
 | 
                  v-model="queryParams.scriptTopic" 
 | 
                  placeholder="请输入" 
 | 
                  clearable 
 | 
                  style="width: 200px" 
 | 
                  @keyup.enter.native="handleQuery" 
 | 
                /> 
 | 
              </el-form-item> 
 | 
              <el-form-item label="关联指标" prop="targetname"> 
 | 
                <el-input 
 | 
                  v-model="queryParams.targetname" 
 | 
                  placeholder="请输入" 
 | 
                  clearable 
 | 
                  style="width: 200px" 
 | 
                  @keyup.enter.native="handleQuery" 
 | 
                /> 
 | 
              </el-form-item> 
 | 
              <el-form-item label="语言" prop="status"> 
 | 
                <el-select v-model="queryParams.language" 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="isavailable"> 
 | 
                <el-select 
 | 
                  v-model="queryParams.isavailable" 
 | 
                  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="primary" 
 | 
                  icon="el-icon-search" 
 | 
                  size="medium" 
 | 
                  @click="handleQuery" 
 | 
                  >搜索</el-button 
 | 
                > 
 | 
                <el-button 
 | 
                  icon="el-icon-refresh" 
 | 
                  size="medium" 
 | 
                  @click="resetQuery" 
 | 
                  >重置</el-button 
 | 
                > 
 | 
              </el-form-item> 
 | 
            </el-form> 
 | 
  
 | 
            <el-row :gutter="10" class="mb8"> 
 | 
              <el-col :span="1.5"> 
 | 
                <el-button 
 | 
                  type="primary" 
 | 
                  plain 
 | 
                  icon="el-icon-plus" 
 | 
                  size="medium" 
 | 
                  @click="handleAdd" 
 | 
                  v-hasPermi="['system:user:add']" 
 | 
                  >新增</el-button 
 | 
                > 
 | 
              </el-col> 
 | 
  
 | 
              <el-col :span="1.5"> 
 | 
                <el-button 
 | 
                  type="danger" 
 | 
                  plain 
 | 
                  icon="el-icon-delete" 
 | 
                  size="medium" 
 | 
                  :disabled="multiple" 
 | 
                  @click="handleDelete" 
 | 
                  v-hasPermi="['system:user:remove']" 
 | 
                  >删除</el-button 
 | 
                > 
 | 
              </el-col> 
 | 
            </el-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="序号" 
 | 
                fixed 
 | 
                align="center" 
 | 
                key="id" 
 | 
                prop="id" 
 | 
              /> 
 | 
              <el-table-column 
 | 
                label="问题标题" 
 | 
                fixed 
 | 
                align="center" 
 | 
                key="scriptTopic" 
 | 
                prop="scriptTopic" 
 | 
                :show-overflow-tooltip="true" 
 | 
              /> 
 | 
              <el-table-column 
 | 
                label="问题文本" 
 | 
                align="center" 
 | 
                key="scriptContent" 
 | 
                prop="scriptContent" 
 | 
                width="200" 
 | 
                :show-overflow-tooltip="true" 
 | 
              /> 
 | 
  
 | 
             <el-table-column 
 | 
                label="关联指标" 
 | 
                align="center" 
 | 
                key="targetname" 
 | 
                prop="targetname" 
 | 
                width="120" 
 | 
              /> 
 | 
  
 | 
              /><el-table-column 
 | 
                label="适用方式" 
 | 
                align="center" 
 | 
                key="suitway" 
 | 
                prop="suitway" 
 | 
                width="120" 
 | 
              > 
 | 
                <template slot-scope="scope"> 
 | 
                  <dict-tag :options="mode" :value="scope.row.suitway" /> 
 | 
                </template> 
 | 
              </el-table-column> 
 | 
              <el-table-column 
 | 
                label="问题类型" 
 | 
                align="center" 
 | 
                key="valueType" 
 | 
                prop="valueType" 
 | 
                width="120" 
 | 
              > 
 | 
                <template slot-scope="scope"> 
 | 
                  <dict-tag :options="valuetype" :value="scope.row.valueType" /> 
 | 
                </template> 
 | 
              </el-table-column> 
 | 
              <el-table-column 
 | 
                label="适用疾病" 
 | 
                align="center" 
 | 
                key="suitDisease" 
 | 
                prop="suitDisease" 
 | 
                width="120" 
 | 
              > 
 | 
                <template slot-scope="scope"> 
 | 
                  <el-button 
 | 
                    size="medium" 
 | 
                    type="text" 
 | 
                    @click="illnessUpdate(scope.row)" 
 | 
                    v-hasPermi="['system:user:edit']" 
 | 
                    ><span class="button-textxg" 
 | 
                      ><i class="el-icon-date"></i>详情</span 
 | 
                    ></el-button 
 | 
                  > 
 | 
                </template> 
 | 
              </el-table-column> 
 | 
              <el-table-column 
 | 
                label="语言" 
 | 
                align="center" 
 | 
                key="language" 
 | 
                prop="language" 
 | 
                width="120" 
 | 
              /> 
 | 
              <el-table-column 
 | 
                label="版本" 
 | 
                align="center" 
 | 
                key="version" 
 | 
                prop="version" 
 | 
                width="120" 
 | 
              /> 
 | 
              <el-table-column 
 | 
                label="可用" 
 | 
                align="center" 
 | 
                key="usestate" 
 | 
                prop="usestate" 
 | 
                width="120" 
 | 
              > 
 | 
                <template slot-scope="scope"> 
 | 
                  <dict-tag :options="qyoptions" :value="scope.row.usestate" /> 
 | 
                </template> 
 | 
              </el-table-column> 
 | 
              <el-table-column 
 | 
                label="最近修改" 
 | 
                align="center" 
 | 
                key="modifytime" 
 | 
                prop="modifytime" 
 | 
                width="120" 
 | 
              /> 
 | 
  
 | 
              <el-table-column 
 | 
                label="操作" 
 | 
                fixed="right" 
 | 
                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="preview(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> 
 | 
      </div> 
 | 
    </div> 
 | 
    <!-- 添加类别弹框 --> 
 | 
    <el-dialog :title="title" width="30%" :visible.sync="dialogFormVisible"> 
 | 
      <div style="text-align: center; margin-bottom: 20px"> 
 | 
        <el-radio-group v-model="radio"> 
 | 
          <el-radio-button label="主分类" v-show="zifon"></el-radio-button> 
 | 
          <el-radio-button label="子分类" v-show="zufon"></el-radio-button> 
 | 
        </el-radio-group> 
 | 
      </div> 
 | 
      <el-divider></el-divider> 
 | 
  
 | 
      <el-form :model="classifyform"> 
 | 
        <el-form-item label="请选择问题大类" v-if="radio == '子分类'"> 
 | 
          <el-select v-model="classifyform.pid" placeholder="请选择"> 
 | 
            <el-option 
 | 
              v-for="item in deptOptions" 
 | 
              :key="item.id" 
 | 
              :label="item.indexAssortName" 
 | 
              :value="item.id" 
 | 
            > 
 | 
            </el-option> 
 | 
          </el-select> 
 | 
        </el-form-item> 
 | 
        <el-form-item label="请输入类别名称"> 
 | 
          <el-input 
 | 
            v-model="classifyform.indexAssortName" 
 | 
            autocomplete="off" 
 | 
          ></el-input> 
 | 
        </el-form-item> 
 | 
      </el-form> 
 | 
      <div slot="footer" class="dialog-footer"> 
 | 
        <el-button @click="getDeptTree()">取 消</el-button> 
 | 
        <el-button type="primary" @click="submitsidecolumn">确 定</el-button> 
 | 
      </div> 
 | 
    </el-dialog> 
 | 
    <!-- 添加疾病对话框 --> 
 | 
    <el-dialog title="指标疾病" :visible.sync="illnessVisible" width="50%"> 
 | 
      <div> 
 | 
        <div class="xinz-infs"> 
 | 
          <el-tag 
 | 
            :key="item.icd10name" 
 | 
            type="warning" 
 | 
            v-for="item in illnesslist" 
 | 
            closable 
 | 
            :disable-transitions="false" 
 | 
            @close="handleCloseillness(item)" 
 | 
          > 
 | 
            {{ item.icd10name }} 
 | 
          </el-tag> 
 | 
          <el-select 
 | 
            v-model="inputValue" 
 | 
            v-if="inputVisible" 
 | 
            @change="illnessConfirm" 
 | 
            :remote-method="remoteMethod" 
 | 
            filterable 
 | 
            remote 
 | 
            allow-create 
 | 
            default-first-option 
 | 
            placeholder="请选择/查询" 
 | 
            :loading="loading" 
 | 
          > 
 | 
            <el-option 
 | 
              v-for="item in optionsillness" 
 | 
              :key="item.icdid" 
 | 
              :label="item.icdname" 
 | 
              :value="item.icdid" 
 | 
            > 
 | 
            </el-option> 
 | 
          </el-select> 
 | 
          <el-button 
 | 
            v-else 
 | 
            class="button-new-tag" 
 | 
            size="small" 
 | 
            @click="showInput" 
 | 
            >+ 新增疾病</el-button 
 | 
          > 
 | 
        </div> 
 | 
      </div> 
 | 
      <span slot="footer" class="dialog-footer"> 
 | 
        <el-button @click="illnessVisible = false">取 消</el-button> 
 | 
        <el-button type="primary" @click="confirmillness">确 定</el-button> 
 | 
      </span> 
 | 
    </el-dialog> 
 | 
    <!-- 随访题目预览 --> 
 | 
    <el-dialog title="随访题目预览" :visible.sync="topicVisible" width="50%"> 
 | 
      <div class="preview-left"> 
 | 
        <div v-if="topicform.valueType == 1"> 
 | 
          <div class="dev-text"> 
 | 
            [单选]<span>{{ topicform.scriptContent }}</span> 
 | 
          </div> 
 | 
  
 | 
          <div class="dev-xx"> 
 | 
            <el-radio-group v-model="topicform.asrtext"> 
 | 
              <el-radio 
 | 
                v-for="( 
 | 
                  topicforms, index 
 | 
                ) in topicform.ivrLibaScriptTargetoptionList" 
 | 
                :key="topicforms.targetvalue" 
 | 
                :label="topicforms.targetvalue" 
 | 
                >{{ topicforms.targetvalue }}</el-radio 
 | 
              > 
 | 
            </el-radio-group> 
 | 
          </div> 
 | 
        </div> 
 | 
        <div class="scriptTopic-dev" v-if="topicform.valueType == 2"> 
 | 
          <div class="dev-text"> 
 | 
            [多选]<span>{{ topicform.scriptContent }}</span> 
 | 
          </div> 
 | 
          <div class="dev-xx"> 
 | 
            <el-checkbox-group v-model="topicform.remark"> 
 | 
              <el-checkbox 
 | 
                v-for="( 
 | 
                  topicforms, index 
 | 
                ) in topicform.ivrLibaScriptTargetoptionList" 
 | 
                :key="topicforms.targetvalue" 
 | 
                :label="topicforms.targetvalue" 
 | 
                >{{ topicforms.targetvalue }} 
 | 
              </el-checkbox> 
 | 
            </el-checkbox-group> 
 | 
          </div> 
 | 
        </div> 
 | 
        <div class="scriptTopic-dev" v-if="topicform.valueType == 3"> 
 | 
          <div class="dev-text"> 
 | 
            [填空]<span>{{ topicform.scriptContent }}</span> 
 | 
          </div> 
 | 
          <div class="dev-xx"> 
 | 
            <el-input placeholder="请输入答案" v-model="radioas" clearable> 
 | 
            </el-input> 
 | 
          </div> 
 | 
        </div> 
 | 
      </div> 
 | 
    </el-dialog> 
 | 
  </div> 
 | 
</template> 
 | 
  
 | 
<script> 
 | 
import { 
 | 
  getverbaltricklist, 
 | 
  verbaltrickinfo, 
 | 
  getverbaltrick, 
 | 
  delverbaltrickinfo, 
 | 
  compileverbaltrickclassify, 
 | 
  getillnesslist, 
 | 
  illnesslistget, 
 | 
  getillness, 
 | 
  deltargetillness, 
 | 
  addtargetillness, 
 | 
  getbaltrickclassify, 
 | 
  delbaltrickclassify, 
 | 
  addbaltrickclassify, 
 | 
} from "@/api/AiCentre/index"; 
 | 
import store from "@/store"; 
 | 
import { getToken } from "@/utils/auth"; 
 | 
import Treeselect from "@riophae/vue-treeselect"; 
 | 
import "@riophae/vue-treeselect/dist/vue-treeselect.css"; 
 | 
export default { 
 | 
  name: "questionnaire", 
 | 
  components: { Treeselect }, 
 | 
  data() { 
 | 
    return { 
 | 
      topactiveName: "Local", //顶部选择 
 | 
      // 遮罩层 
 | 
      loading: false, 
 | 
      // 选中数组 
 | 
      ids: [], 
 | 
      // 非单个禁用 
 | 
      single: true, 
 | 
      // 非多个禁用 
 | 
      multiple: true, 
 | 
      // 显示搜索条件 
 | 
      showSearch: true, 
 | 
      // 总条数 
 | 
      total: 0, 
 | 
      namequestionnaire: "", 
 | 
      haoquestionnaire: "", 
 | 
      topicform: { 
 | 
        scriptContent: "", 
 | 
      }, 
 | 
      idds: "", 
 | 
      amendtag: false, //是否修改类别 
 | 
      dialogFormVisible: false, //修改添加类别弹框 
 | 
      topicVisible: false, //预览弹框 
 | 
      indexid: null, 
 | 
      inputValue: "", 
 | 
      inputVisible: false, 
 | 
      illnessVisible: false, //指标疾病弹框 
 | 
      deptOptions: [], 
 | 
      optionsillness: [], 
 | 
      illnesslistapi: [], 
 | 
      illnesslist: [], 
 | 
      defaultProps: { 
 | 
        children: "ivrLibaScriptAssortList", 
 | 
        label: "indexAssortName", 
 | 
      }, 
 | 
      classifyform: { 
 | 
        categoryname: "", 
 | 
      }, //类别表单 
 | 
      // 表格数据 
 | 
      userList: [ 
 | 
        { 
 | 
          userid: 1, 
 | 
          userName: "血常规、尿常规", 
 | 
          nickName: "贫血", 
 | 
          aphonenumber: "(?!不.*|没.*|未.*)^.*([贫平凭血]|贫血|评学|评学),10", 
 | 
          bphonenumber: "选择", 
 | 
          cphonenumber: "普通话", 
 | 
          status: "0", 
 | 
        }, 
 | 
      ], 
 | 
      // 弹出层标题 
 | 
      title: "类别编辑", 
 | 
      // 是否显示弹出层 
 | 
      open: false, 
 | 
      // 日期范围 
 | 
      dateRange: [], 
 | 
      // 岗位选项 
 | 
      postOptions: [], 
 | 
      // 角色选项 
 | 
      roleOptions: [], 
 | 
      // 添加、修改参数 
 | 
      indexform: {}, 
 | 
      numberlb: 22, 
 | 
      numberlbs: 2, 
 | 
      sidecolumnform: {}, //添加类别表单 
 | 
      dialogFormVisible: false, //添加类别弹框 
 | 
      sidecolumnval: "", //类别搜索 
 | 
      indexopen: false, //弹框展示否 
 | 
      propss: { multiple: true }, 
 | 
      radio: "主分类", 
 | 
      zufon: true, 
 | 
      zifon: true, 
 | 
      usable: [], 
 | 
  
 | 
      mode: [], 
 | 
      languagelist: [], 
 | 
      valuetype:[], 
 | 
      qyoptions: [], 
 | 
      // 查询参数 
 | 
      queryParams: { 
 | 
        pageNum: 1, 
 | 
        pageSize: 10, 
 | 
      }, 
 | 
      // 表单校验 
 | 
      rules: {}, 
 | 
    }; 
 | 
  }, 
 | 
  watch: { 
 | 
    // 根据名称筛选部门树 
 | 
    sidecolumnval(val) { 
 | 
      this.$refs.tree.filter(val); 
 | 
    }, 
 | 
  }, 
 | 
  created() { 
 | 
    this.getList(); 
 | 
    this.getDeptTree(); 
 | 
    this.mode = store.getters.mode; 
 | 
    this.languagelist = store.getters.languagelist; 
 | 
    this.valuetype = store.getters.valuetypelb; 
 | 
    this.qyoptions = store.getters.usable; 
 | 
  }, 
 | 
  
 | 
  methods: { 
 | 
    /** 查询用户列表 */ 
 | 
    getList() { 
 | 
      this.loading = true; 
 | 
      getverbaltricklist(this.queryParams).then((res) => { 
 | 
        this.userList = res.rows; 
 | 
        this.loading = false; 
 | 
        this.total = res.total; 
 | 
      }); 
 | 
    }, 
 | 
  
 | 
    compileUpdate(row) { 
 | 
      this.$router.push({ 
 | 
        path: "/knowledge/verbaltrick/particulars/", 
 | 
        query: { id: row.id }, 
 | 
      }); 
 | 
    }, 
 | 
    /** 删除按钮操作 */ 
 | 
    handleDelete(row) { 
 | 
      const userIds = row.id || this.ids; 
 | 
      this.$modal 
 | 
        .confirm('是否确认删除用户编号为"' + userIds + '"的数据项?') 
 | 
        .then(function () { 
 | 
          return delverbaltrickinfo(userIds); 
 | 
        }) 
 | 
        .then(() => { 
 | 
          this.getList(); 
 | 
          this.$modal.msgSuccess("删除成功"); 
 | 
        }) 
 | 
        .catch(() => {}); 
 | 
    }, 
 | 
    // 表单重置 
 | 
    reset() { 
 | 
      this.form = {}; 
 | 
      this.resetForm("form"); 
 | 
    }, 
 | 
    /** 搜索按钮操作 */ 
 | 
    handleQuery() { 
 | 
      this.queryParams.pageNum = 1; 
 | 
      this.getList(); 
 | 
    }, 
 | 
    /** 重置按钮操作 */ 
 | 
    resetQuery() { 
 | 
      this.dateRange = []; 
 | 
      this.resetForm("queryForm"); 
 | 
      this.queryParams.deptId = undefined; 
 | 
      this.$refs.tree.setCurrentKey(null); 
 | 
      this.handleQuery(); 
 | 
    }, 
 | 
    // 多选框选中数据 
 | 
    handleSelectionChange(selection) { 
 | 
      this.ids = selection.map((item) => item.id); 
 | 
      this.single = selection.length != 1; 
 | 
      this.multiple = !selection.length; 
 | 
    }, 
 | 
    /** 新增按钮操作 */ 
 | 
    handleAdd() { 
 | 
      this.$router.push({ 
 | 
        path: "/knowledge/verbaltrick/particulars/", 
 | 
        query: { id: "", categoryid: this.queryParams.categoryid }, 
 | 
      }); 
 | 
    }, 
 | 
    // 分类树----------------------------------------- 
 | 
    // 修改分类弹框 
 | 
    popoveramend(tagcategoryid) { 
 | 
      this.idds = tagcategoryid; 
 | 
      this.amendtag = true; 
 | 
      this.dialogFormVisible = true; 
 | 
    }, 
 | 
    // 查询树 
 | 
    getDeptTree() { 
 | 
      getbaltrickclassify({}).then((res) => { 
 | 
        this.deptOptions = res.rows; 
 | 
        this.dialogFormVisible = false; 
 | 
      }); 
 | 
    }, 
 | 
  
 | 
    // 添加类别树 
 | 
    submitsidecolumn() { 
 | 
      if (this.classifyform.id) { 
 | 
        compileverbaltrickclassify(this.classifyform).then((res) => { 
 | 
          this.getDeptTree(); 
 | 
          this.$modal.msgSuccess("修改成功"); 
 | 
          this.classifyform = {}; 
 | 
          this.dialogFormVisible = false; 
 | 
        }); 
 | 
        return; 
 | 
      } 
 | 
      let calssvalue = {}; 
 | 
      if ( 
 | 
        this.classifyform.pid && 
 | 
        this.classifyform.indexAssortName && 
 | 
        this.radio == "子分类" 
 | 
      ) { 
 | 
        const index = this.deptOptions.findIndex( 
 | 
          (obj) => obj.id == this.classifyform.pid 
 | 
        ); 
 | 
        calssvalue = this.deptOptions[index]; 
 | 
        calssvalue.ivrLibaScriptAssortList.push(this.classifyform); 
 | 
      } else if (this.radio == "主分类" && this.classifyform.indexAssortName) { 
 | 
        this.classifyform.pid = null; 
 | 
        this.classifyform.ivrLibaScriptAssortList = []; 
 | 
      } else { 
 | 
        return this.$modal.msgError("请填写完整信息"); 
 | 
      } 
 | 
      addbaltrickclassify(this.classifyform).then((res) => { 
 | 
        this.getDeptTree(); 
 | 
        this.$modal.msgSuccess("新增成功"); 
 | 
        this.classifyform = {}; 
 | 
        this.dialogFormVisible = false; 
 | 
      }); 
 | 
    }, 
 | 
    remove(a, b) { 
 | 
      if (b.pid) { 
 | 
        this.$modal 
 | 
          .confirm('是否确认删除分类项为"' + b.indexAssortName + '"的数据项?') 
 | 
          .then(function () { 
 | 
            return delbaltrickclassify(b.id); 
 | 
          }) 
 | 
          .then(() => { 
 | 
            this.getDeptTree(); 
 | 
            this.$modal.msgSuccess("删除成功"); 
 | 
          }) 
 | 
          .catch(() => {}); 
 | 
      } else { 
 | 
        this.$modal 
 | 
          .confirm( 
 | 
            '是否确认删除一级分类"' + 
 | 
              b.indexAssortName + 
 | 
              '"?删除后其下分类将归类‘未分类’' 
 | 
          ) 
 | 
          .then(() => { 
 | 
            return delbaltrickclassify(b.id); 
 | 
          }) 
 | 
          .then(() => { 
 | 
            this.getDeptTree(); 
 | 
            this.$modal.msgSuccess("删除成功"); 
 | 
          }) 
 | 
          .catch(() => {}); 
 | 
      } 
 | 
    }, 
 | 
    altertag(a, b) { 
 | 
      this.dialogFormVisible = true; 
 | 
      if (!b.pid) { 
 | 
        this.radio = "主分类"; 
 | 
        this.title = "修改主分类"; 
 | 
        this.zufon = false; 
 | 
      } else { 
 | 
        this.radio = "子分类"; 
 | 
        this.title = "修改子分类"; 
 | 
        this.zifon = false; 
 | 
      } 
 | 
      this.classifyform = b; 
 | 
      this.dialogFormVisible = true; 
 | 
    }, 
 | 
    Newcategory(){ 
 | 
      this.classifyform= {}, //类别表单 
 | 
      this.radio = "主分类"; 
 | 
     this.dialogFormVisible = true 
 | 
     this.zifon = true; 
 | 
     this.zufon = true; 
 | 
    }, 
 | 
  
 | 
    // 筛选节点 
 | 
    filterNode(value, data) { 
 | 
      if (!value) return true; 
 | 
      return data.indexAssortName.indexOf(value) !== -1; 
 | 
    }, 
 | 
    handleNodeClick(data) { 
 | 
      this.queryParams.assortid = data.id; 
 | 
      this.getList(); 
 | 
    }, 
 | 
  
 | 
    // 预览 
 | 
    preview(row) { 
 | 
      getverbaltrick({ id: row.id }).then((res) => { 
 | 
        this.topicform = res.data; 
 | 
        console.log(this.topicform); 
 | 
        this.topicVisible = true; 
 | 
      }); 
 | 
    }, 
 | 
    // 疾病----------------------- 
 | 
    illnessUpdate(row) { 
 | 
      this.illnessVisible = true; 
 | 
      this.indexid = row.id; 
 | 
      this.illnesslistapi = []; 
 | 
      const illnessqueryParams = { 
 | 
        pageNum: 1, 
 | 
        pageSize: 100, 
 | 
      }; 
 | 
      getillnesslist(illnessqueryParams).then((response) => { 
 | 
        console.log(response); 
 | 
        this.optionsillness = response.rows; 
 | 
      }); 
 | 
      getillness({ outid: row.id, type: 2 }).then((res) => { 
 | 
        this.illnesslist = res.rows; 
 | 
        console.log(res); 
 | 
      }); 
 | 
    }, 
 | 
    handleCloseillness(tag) { 
 | 
      this.illnesslist.splice(this.illnesslist.indexOf(tag), 1); 
 | 
      if (tag.id) { 
 | 
        this.illnesslistapi.push(tag.id); 
 | 
      } 
 | 
    }, 
 | 
    remoteMethod(value) { 
 | 
      console.log(value); 
 | 
      const illnessqueryParams = { 
 | 
        pageNum: 1, 
 | 
        pageSize: 100, 
 | 
        icdname: value, 
 | 
      }; 
 | 
      this.loading = true; 
 | 
      setTimeout(() => { 
 | 
        this.loading = false; 
 | 
        getillnesslist(illnessqueryParams).then((response) => { 
 | 
          this.optionsillness = response.rows; 
 | 
        }); 
 | 
      }, 200); 
 | 
    }, 
 | 
    illnessConfirm(item) { 
 | 
      let opeavalue = {}; 
 | 
      let tagname = this.inputValue; 
 | 
      illnesslistget(item).then((res) => { 
 | 
        opeavalue = res.data; 
 | 
        opeavalue.outid = this.indexid; 
 | 
        opeavalue.type = 2; 
 | 
        opeavalue.icd10id = opeavalue.icdid; 
 | 
        opeavalue.icd10name = opeavalue.icdname; 
 | 
        opeavalue.icd10code = opeavalue.icdcode; 
 | 
        if (tagname) { 
 | 
          this.illnesslist.push(opeavalue); 
 | 
        } 
 | 
      }); 
 | 
      console.log(this.illnesslist); 
 | 
      this.inputVisible = false; 
 | 
      this.inputValue = ""; 
 | 
    }, 
 | 
    confirmillness() { 
 | 
      this.illnesslist.forEach((item, index) => { 
 | 
        if (!item.id) { 
 | 
          addtargetillness(item).then((res) => {}); 
 | 
        } 
 | 
      }); 
 | 
      if (this.illnesslistapi.length) { 
 | 
        deltargetillness(this.illnesslistapi.join(",")).then((res) => {}); 
 | 
      } 
 | 
      this.illnessVisible = false; 
 | 
      this.$modal.msgSuccess("编辑成功"); 
 | 
    }, 
 | 
    showInput() { 
 | 
      this.inputVisible = true; 
 | 
    }, 
 | 
  }, 
 | 
}; 
 | 
</script> 
 | 
  
 | 
<style lang="scss" scoped> 
 | 
.Questionnairemanagement { 
 | 
  display: flex; 
 | 
} 
 | 
.sidecolumn { 
 | 
  width: 300px; 
 | 
  min-height: 100vh; 
 | 
  text-align: center; 
 | 
  //   display: flex; 
 | 
  margin-top: 20px; 
 | 
  margin: 20px; 
 | 
  padding: 30px; 
 | 
  background: #fff; 
 | 
  border: 1px solid #dcdfe6; 
 | 
  -webkit-box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.12), 
 | 
    0 0 6px 0 rgba(0, 0, 0, 0.04); 
 | 
  .sidecolumn-top { 
 | 
    display: flex; 
 | 
    justify-content: space-between; 
 | 
    .top-wj { 
 | 
      font-size: 20px; 
 | 
    } 
 | 
    .top-tj { 
 | 
      font-size: 18px; 
 | 
  
 | 
      color: rgb(0, 89, 255); 
 | 
      cursor: pointer; 
 | 
    } 
 | 
  } 
 | 
  .center-ss { 
 | 
    margin-top: 30px; 
 | 
    .input-with-select { 
 | 
      height: 40px !important; 
 | 
    } 
 | 
  } 
 | 
  .bottom-fl { 
 | 
    margin-top: 30px; 
 | 
    display: center !important; 
 | 
  } 
 | 
} 
 | 
.xinz-infs { 
 | 
  font-size: 18px; 
 | 
  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; 
 | 
  } 
 | 
} 
 | 
.qrcode-dialo { 
 | 
  text-align: center; 
 | 
  //   display: flex; 
 | 
  margin: 20px; 
 | 
  padding: 30px; 
 | 
  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); 
 | 
  .qrcode-text { 
 | 
    font-size: 20px; 
 | 
    span { 
 | 
      margin-left: 20px; 
 | 
    } 
 | 
  } 
 | 
  .qrcode-img { 
 | 
    width: 300px; 
 | 
    height: 400px; 
 | 
  } 
 | 
} 
 | 
.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; 
 | 
} 
 | 
::v-deep .el-tree-node__content { 
 | 
  display: -webkit-box; 
 | 
  display: -ms-flexbox; 
 | 
  display: flex; 
 | 
  -webkit-box-align: center; 
 | 
  -ms-flex-align: center; 
 | 
  align-items: center; 
 | 
  height: 46px; 
 | 
  font-size: 20px; 
 | 
  cursor: pointer; 
 | 
} 
 | 
::v-deep .el-tree { 
 | 
  position: relative; 
 | 
  cursor: default; 
 | 
  border-radius: 5px; 
 | 
  background: #eff8fe; 
 | 
  color: #606266; 
 | 
  border: 1px solid #bbe1fa; 
 | 
  // 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); 
 | 
} 
 | 
::v-deep 
 | 
  .el-tree--highlight-current 
 | 
  .el-tree-node.is-current 
 | 
  > .el-tree-node__content { 
 | 
  background-color: #7799fb; 
 | 
  color: #fff; 
 | 
} 
 | 
::v-deep .el-button--mini.is-circle { 
 | 
  padding: 7px; 
 | 
  margin: 0; 
 | 
  color: red; 
 | 
} 
 | 
.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; 
 | 
  } 
 | 
} 
 | 
.preview-left { 
 | 
  margin: 20px; 
 | 
  //   margin: 20px; 
 | 
  padding: 30px; 
 | 
  // background: #ffff; 
 | 
  border: 1px solid #dcdfe6; 
 | 
  -webkit-box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.12), 
 | 
    0 0 6px 0 rgba(0, 0, 0, 0.04); 
 | 
  
 | 
  .dev-text { 
 | 
    margin-bottom: 10px; 
 | 
    text-align: left; 
 | 
    font-size: 22px; 
 | 
  } 
 | 
  .scriptTopic-dev { 
 | 
    margin-bottom: 25px; 
 | 
    font-size: 20px !important; 
 | 
    .dev-text { 
 | 
      margin-bottom: 10px; 
 | 
    } 
 | 
  } 
 | 
} 
 | 
.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> 
 |