<template> 
 | 
  <div class="Questionnairemanagement"> 
 | 
    <!-- 左侧栏 --> 
 | 
    <div class="sidecolumn"> 
 | 
      <div> 
 | 
        <el-steps finish-status="success" :active="Editprogress" simple> 
 | 
          <el-step> 
 | 
            <template slot="title"> 
 | 
              <span style="cursor: pointer" @click="Editprogress = 1" 
 | 
                >话术基础信息编辑</span 
 | 
              > 
 | 
            </template> 
 | 
          </el-step> 
 | 
          <el-step> 
 | 
            <template slot="title"> 
 | 
              <span style="cursor: pointer" @click="nextstep" 
 | 
                >话术指标编辑</span 
 | 
              > 
 | 
            </template> 
 | 
          </el-step> 
 | 
        </el-steps> 
 | 
      </div> 
 | 
    </div> 
 | 
    <!-- 右侧数据 --> 
 | 
    <div class="leftvlue"> 
 | 
      <!-- 基本信息 --> 
 | 
      <div v-if="Editprogress == 1"> 
 | 
        <div class="leftvlue-jbxx"> 
 | 
          基本信息 
 | 
          <span style="margin-left: 30px" 
 | 
            ><el-button type="success" round @click="gettargetInfo" 
 | 
              >+选择指标</el-button 
 | 
            ></span 
 | 
          > 
 | 
        </div> 
 | 
        <el-divider></el-divider> 
 | 
        <el-form 
 | 
          ref="form" 
 | 
          :model="indexform" 
 | 
          :rules="rules" 
 | 
          label-width="100px" 
 | 
        > 
 | 
        <el-row :gutter="20"> 
 | 
            <el-col :span="12"> 
 | 
              <el-form-item label="问题主旨" prop="scriptTopic"> 
 | 
                <el-input 
 | 
                  v-model="indexform.scriptTopic" 
 | 
                  placeholder="请输入问题主旨" 
 | 
                  maxlength="80" 
 | 
                /> 
 | 
              </el-form-item> 
 | 
            </el-col> 
 | 
          </el-row> 
 | 
          <el-form-item label="问题文本" prop="scriptContent"> 
 | 
                <el-input 
 | 
                  :rows="2" 
 | 
                  type="textarea" 
 | 
                  id="scriptContent" 
 | 
                  show-word-limit 
 | 
                  placeholder="请输入内容" 
 | 
                  v-model.sync="indexform.scriptContent" 
 | 
                  @focus="handleInput('scriptContent')" 
 | 
                /> 
 | 
              </el-form-item> 
 | 
              <el-form-item label="问题描述" prop="scriptDesc"> 
 | 
                <el-input 
 | 
                  :rows="1" 
 | 
                  type="textarea" 
 | 
                  id="scriptDesc" 
 | 
                  show-word-limit 
 | 
                  placeholder="请输入描述内容" 
 | 
                  v-model.sync="indexform.scriptDesc" 
 | 
                /> 
 | 
              </el-form-item> 
 | 
          <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="status"> 
 | 
                <el-select 
 | 
                  v-model="indexform.isAvailable" 
 | 
                  placeholder="请选择状态" 
 | 
                > 
 | 
                  <el-option 
 | 
                    v-for="item in usable" 
 | 
                    :key="item.value" 
 | 
                    :label="item.label" 
 | 
                    :value="item.value" 
 | 
                  > 
 | 
                  </el-option> 
 | 
                </el-select> 
 | 
              </el-form-item> 
 | 
            </el-col> 
 | 
          </el-row> 
 | 
  
 | 
          <el-row :gutter="20"> 
 | 
            <el-col :span="12"> 
 | 
              <el-form-item label="问题分类" prop="status"> 
 | 
                <el-select 
 | 
                  v-model="indexform.assortid" 
 | 
                  filterable 
 | 
                  placeholder="请选择分类" 
 | 
                > 
 | 
                  <el-option-group 
 | 
                    v-for="group in questionclass" 
 | 
                    :key="group.id" 
 | 
                    :label="group.indexAssortName" 
 | 
                  > 
 | 
                    <el-option 
 | 
                      v-for="item in group.ivrLibaScriptAssortList" 
 | 
                      :key="item.id" 
 | 
                      :label="item.indexAssortName" 
 | 
                      :value="item.id" 
 | 
                    > 
 | 
                    </el-option> 
 | 
                  </el-option-group> 
 | 
                </el-select> 
 | 
              </el-form-item> 
 | 
            </el-col> 
 | 
  
 | 
            <el-col :span="5"> 
 | 
              <el-form-item label="版本号" prop="version"> 
 | 
                <el-input 
 | 
                  v-model="indexform.version" 
 | 
                  placeholder="请输入" 
 | 
                  maxlength="80" 
 | 
                /> 
 | 
              </el-form-item> 
 | 
            </el-col> 
 | 
          </el-row> 
 | 
  
 | 
          <el-form-item label="标签" prop="desc"> 
 | 
            <div class="xinz-inf"> 
 | 
              <el-tag 
 | 
                :key="tag.tagname" 
 | 
                type="success" 
 | 
                v-for="tag in dynamicTags" 
 | 
                closable 
 | 
                :disable-transitions="false" 
 | 
                @close="handleClosetag(tag)" 
 | 
              > 
 | 
                {{ tag.tagname }} 
 | 
              </el-tag> 
 | 
              <el-select 
 | 
                v-model="inputValue" 
 | 
                v-if="inputVisible" 
 | 
                @change="handleInputConfirm" 
 | 
                filterable 
 | 
                remote 
 | 
                allow-create 
 | 
                reserve-keyword 
 | 
                default-first-option 
 | 
                :remote-method="remoteMethodtag" 
 | 
                :loading="loading" 
 | 
                placeholder="请选择" 
 | 
              > 
 | 
                <el-option 
 | 
                  v-for="item in optionstag" 
 | 
                  :key="item.tagid" 
 | 
                  :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> 
 | 
          <el-drawer 
 | 
            title="变量编辑" 
 | 
            :visible.sync="variabledeawer" 
 | 
            direction="ttb" 
 | 
            size="35%" 
 | 
          > 
 | 
            <el-form-item label="通知变量" prop="name"> 
 | 
              <div style="margin-bottom: 5px" v-for="item in variablelist"> 
 | 
                <el-row> 
 | 
                  <el-col :span="5"> 
 | 
                    <el-input 
 | 
                      v-model="item.variatename" 
 | 
                      placeholder="请输入变量名" 
 | 
                    ></el-input> 
 | 
                  </el-col> 
 | 
                  <el-col :span="8" :offset="1"> 
 | 
                    <el-input 
 | 
                      v-model="item.variate" 
 | 
                      placeholder="请输入变量内容" 
 | 
                    ></el-input> 
 | 
                  </el-col> 
 | 
                  <el-col :span="8" :offset="1"> 
 | 
                    <el-button 
 | 
                      type="success" 
 | 
                      icon="el-icon-plus" 
 | 
                      circle 
 | 
                      @click="addvariable(item)" 
 | 
                    ></el-button> 
 | 
                    <el-button 
 | 
                      v-if="!item.default" 
 | 
                      type="danger" 
 | 
                      icon="el-icon-delete" 
 | 
                      circle 
 | 
                      @click="delvariable(item)" 
 | 
                    ></el-button> 
 | 
                  </el-col> 
 | 
                </el-row> 
 | 
              </div> 
 | 
            </el-form-item> 
 | 
          </el-drawer> 
 | 
          <!-- <el-row> 
 | 
            <el-col :span="6"> 
 | 
              <el-form-item label="仅限院区" prop="region"> 
 | 
                <el-select 
 | 
                  v-model="indexform.campus" 
 | 
                  size="medium" 
 | 
                  filterable 
 | 
                  placeholder="请选择" 
 | 
                > 
 | 
                  <el-option 
 | 
                    class="indexformaa" 
 | 
                    v-for="item in courtyardlist" 
 | 
                    :key="item.value" 
 | 
                    :label="item.label" 
 | 
                    :value="item.value" 
 | 
                  > 
 | 
                  </el-option> 
 | 
                </el-select> 
 | 
              </el-form-item> 
 | 
            </el-col> 
 | 
            <el-col :span="6"> 
 | 
              <el-form-item label="适用方式" prop="status"> 
 | 
                <el-select 
 | 
                  disabled 
 | 
                  v-model="indexform.suitway" 
 | 
                  placeholder="请选择" 
 | 
                > 
 | 
                  <el-option 
 | 
                    v-for="item in mode" 
 | 
                    :key="item.value" 
 | 
                    :label="item.label" 
 | 
                    :value="item.value" 
 | 
                  > 
 | 
                  </el-option> 
 | 
                </el-select> 
 | 
              </el-form-item> 
 | 
            </el-col> 
 | 
          </el-row> --> 
 | 
          <el-row> 
 | 
            <el-col :span="24"> 
 | 
              <el-form-item label="问题变量" prop="scriptContent"> 
 | 
                <div style="display: flex; margin-bottom: 10px"> 
 | 
                  <div 
 | 
                    v-for="item in variablelist" 
 | 
                    :class="item.default ? 'tsgname' : 'tsgnames'" 
 | 
                    @click="tsgnameto(item)" 
 | 
                  > 
 | 
                    {{ item.variatename }} 
 | 
                  </div> 
 | 
                  <div class="tsgnamebj" @click="variabledeawer = true"> 
 | 
                    变量编辑 
 | 
                  </div> 
 | 
                </div> 
 | 
              </el-form-item> 
 | 
            </el-col></el-row 
 | 
          > 
 | 
          <el-row> 
 | 
            <el-col :span="24"> 
 | 
              <el-form-item label="语音文本" prop="scriptContent"> 
 | 
                <el-input 
 | 
                  :rows="2" 
 | 
                  type="textarea" 
 | 
                  id="scriptContent" 
 | 
                  show-word-limit 
 | 
                  placeholder="请输入内容" 
 | 
                  v-model.sync="indexform.ivrtext" 
 | 
                  @focus="handleInput('scriptContent')" 
 | 
                /> 
 | 
              </el-form-item> </el-col 
 | 
          ></el-row> 
 | 
          <el-row> 
 | 
            <el-col :span="6"> 
 | 
              <el-form-item label="语音文件" prop="verbaltrickyy"> 
 | 
                <el-upload 
 | 
                  class="upload-demo" 
 | 
                  :action="uploadImgUrl" 
 | 
                  :headers="headers" 
 | 
                  :show-file-list="false" 
 | 
                  :on-success=" 
 | 
                    (response, file) => handleChange(response, file, 1) 
 | 
                  " 
 | 
                  accept=".wav,.mp3" 
 | 
                  :limit="1" 
 | 
                > 
 | 
                  <el-button size="small" type="primary">点击上传</el-button> 
 | 
                </el-upload> 
 | 
              </el-form-item> 
 | 
            </el-col> 
 | 
            <el-col :span="6"> 
 | 
              <span style="font-size: 12px" v-if="indexform.ivrVoice">{{ 
 | 
                indexform.ivrVoice.substring( 
 | 
                  indexform.ivrVoice.lastIndexOf("/") + 1 
 | 
                ) 
 | 
              }}</span> 
 | 
            </el-col> 
 | 
            <el-col :span="6"> 
 | 
              <mini-audio 
 | 
                :audio-source=" 
 | 
                  indexform.ivrVoice 
 | 
                    ? indexform.ivrVoice 
 | 
                    : 'https://example.com/example.mp3' 
 | 
                " 
 | 
              ></mini-audio> 
 | 
            </el-col> 
 | 
          </el-row> 
 | 
  
 | 
          <el-row> 
 | 
            <el-col :span="24"> 
 | 
              <el-form-item label="无匹配文本" prop="noMatchText"> 
 | 
                <el-input 
 | 
                  type="textarea" 
 | 
                  :rows="2" 
 | 
                  id="noMatchText" 
 | 
                  placeholder="请输入内容" 
 | 
                  v-model.sync="indexform.noMatchText" 
 | 
                  @focus="handleInput('noMatchText')" 
 | 
                  show-word-limit 
 | 
                /> 
 | 
              </el-form-item> </el-col 
 | 
          ></el-row> 
 | 
          <el-row> 
 | 
            <el-col :span="6"> 
 | 
              <el-form-item label="无匹配语音" prop="verbaltrickyy"> 
 | 
                <el-upload 
 | 
                  class="upload-demo" 
 | 
                  :action="uploadImgUrl" 
 | 
                  :show-file-list="false" 
 | 
                  :headers="headers" 
 | 
                  :on-success=" 
 | 
                    (response, file) => handleChange(response, file, 2) 
 | 
                  " 
 | 
                  accept=".wav,.mp3" 
 | 
                  :limit="1" 
 | 
                > 
 | 
                  <el-button size="small" type="primary">点击上传</el-button> 
 | 
                </el-upload> 
 | 
              </el-form-item> 
 | 
            </el-col> 
 | 
            <el-col :span="6"> 
 | 
              <span style="font-size: 12px" v-if="indexform.nomatchvoice">{{ 
 | 
                indexform.nomatchvoice.substring( 
 | 
                  indexform.nomatchvoice.lastIndexOf("/") + 1 
 | 
                ) 
 | 
              }}</span> 
 | 
            </el-col> 
 | 
            <el-col :span="6"> 
 | 
              <mini-audio 
 | 
                :audio-source=" 
 | 
                  indexform.nomatchvoice 
 | 
                    ? indexform.nomatchvoice 
 | 
                    : 'https://example.com/example.mp3' 
 | 
                " 
 | 
              ></mini-audio> 
 | 
            </el-col> 
 | 
          </el-row> 
 | 
          <el-row> 
 | 
            <el-col :span="24"> 
 | 
              <el-form-item label="静默文本" prop="slienceText"> 
 | 
                <el-input 
 | 
                  type="textarea" 
 | 
                  :rows="2" 
 | 
                  id="slienceText" 
 | 
                  placeholder="请输入内容" 
 | 
                  v-model.sync="indexform.slienceText" 
 | 
                  @focus="handleInput('slienceText')" 
 | 
                  show-word-limit 
 | 
                /> 
 | 
              </el-form-item> </el-col 
 | 
          ></el-row> 
 | 
          <el-row> 
 | 
            <el-col :span="6"> 
 | 
              <el-form-item label="静默语音" prop="verbaltrickyy"> 
 | 
                <el-upload 
 | 
                  class="upload-demo" 
 | 
                  :action="uploadImgUrl" 
 | 
                  :show-file-list="false" 
 | 
                  :headers="headers" 
 | 
                  :on-success=" 
 | 
                    (response, file) => handleChange(response, file, 3) 
 | 
                  " 
 | 
                  accept=".wav,.mp3" 
 | 
                  :limit="1" 
 | 
                > 
 | 
                  <el-button size="small" type="primary">点击上传</el-button> 
 | 
                </el-upload> 
 | 
              </el-form-item> 
 | 
            </el-col> 
 | 
            <el-col :span="6"> 
 | 
              <span style="font-size: 12px" v-if="indexform.sliencevoice">{{ 
 | 
                indexform.sliencevoice.substring( 
 | 
                  indexform.sliencevoice.lastIndexOf("/") + 1 
 | 
                ) 
 | 
              }}</span> 
 | 
            </el-col> 
 | 
            <el-col :span="6"> 
 | 
              <mini-audio 
 | 
                :audio-source=" 
 | 
                  indexform.sliencevoice 
 | 
                    ? indexform.sliencevoice 
 | 
                    : 'https://example.com/example.mp3' 
 | 
                " 
 | 
              ></mini-audio> 
 | 
            </el-col> 
 | 
          </el-row> 
 | 
  
 | 
          <el-row> 
 | 
            <el-col :span="24"> 
 | 
              <el-form-item label="听不清文本" prop="noClearlyText"> 
 | 
                <el-input 
 | 
                  type="textarea" 
 | 
                  id="noClearlyText" 
 | 
                  :rows="2" 
 | 
                  placeholder="请输入内容" 
 | 
                  @focus="handleInput('noClearlyText')" 
 | 
                  v-model.sync="indexform.noClearlyText" 
 | 
                  show-word-limit 
 | 
                /> 
 | 
              </el-form-item> </el-col 
 | 
          ></el-row> 
 | 
          <el-row> 
 | 
            <el-col :span="6"> 
 | 
              <el-form-item label="听不清语音" prop="verbaltrickyy"> 
 | 
                <el-upload 
 | 
                  class="upload-demo" 
 | 
                  :action="uploadImgUrl" 
 | 
                  :show-file-list="false" 
 | 
                  :headers="headers" 
 | 
                  :on-success=" 
 | 
                    (response, file) => handleChange(response, file, 4) 
 | 
                  " 
 | 
                  accept=".wav,.mp3" 
 | 
                  :limit="1" 
 | 
                > 
 | 
                  <el-button size="small" type="primary">点击上传</el-button> 
 | 
                </el-upload> 
 | 
              </el-form-item> 
 | 
            </el-col> 
 | 
            <el-col :span="6"> 
 | 
              <span style="font-size: 12px" v-if="indexform.noclearlyvoice">{{ 
 | 
                indexform.noclearlyvoice.substring( 
 | 
                  indexform.noclearlyvoice.lastIndexOf("/") + 1 
 | 
                ) 
 | 
              }}</span> 
 | 
            </el-col> 
 | 
            <el-col :span="6"> 
 | 
              <mini-audio 
 | 
                :audio-source=" 
 | 
                  indexform.noclearlyvoice 
 | 
                    ? indexform.noclearlyvoice 
 | 
                    : 'https://example.com/example.mp3' 
 | 
                " 
 | 
              ></mini-audio> 
 | 
            </el-col> 
 | 
          </el-row> 
 | 
        </el-form> 
 | 
        <div slot="footer" class="dialog-footer"> 
 | 
          <el-button type="primary" @click="nextstep">下一步</el-button> 
 | 
          <el-button @click="closeFm">关 闭</el-button> 
 | 
          <el-button @click="Saveproblem()">保存数据</el-button> 
 | 
        </div> 
 | 
      </div> 
 | 
      <!-- 指标设置 --> 
 | 
      <div v-if="Editprogress == 2"> 
 | 
        <div class="leftvlue-jbxx"> 
 | 
          指标题目设置 
 | 
          <span style="margin-left: 30px" 
 | 
            ><el-button type="success" round @click="gettargetInfo" 
 | 
              >+选择指标</el-button 
 | 
            ></span 
 | 
          > 
 | 
        </div> 
 | 
        <el-divider></el-divider> 
 | 
        <el-form 
 | 
          ref="form" 
 | 
          :model="indexform" 
 | 
          :rules="rules" 
 | 
          label-width="100px" 
 | 
        > 
 | 
          <el-row> 
 | 
            <el-col :span="8"> 
 | 
              <el-form-item label="指标名称" prop="deptId"> 
 | 
                <el-input 
 | 
                  v-model="indexform.targetname" 
 | 
                  placeholder="请输入指标名称" 
 | 
                  maxlength="20" 
 | 
                /> 
 | 
              </el-form-item> 
 | 
            </el-col> 
 | 
            <el-col :span="12"> 
 | 
              <el-form-item label="指标描述" prop="deptId"> 
 | 
                <el-input 
 | 
                  v-model="indexform.targetdesc" 
 | 
                  placeholder="请输入指标描述" 
 | 
                  maxlength="60" 
 | 
                /> 
 | 
              </el-form-item> 
 | 
            </el-col> 
 | 
          </el-row> 
 | 
  
 | 
          <el-row> 
 | 
            <el-col :span="24"> 
 | 
              <el-form-item label="值类型"> 
 | 
                <el-radio-group 
 | 
                  :disabled="indexform.targetid" 
 | 
                  v-model="indexform.valueType" 
 | 
                > 
 | 
                  <el-radio :label="1">选项</el-radio> 
 | 
                  <el-radio :label="2">文本</el-radio> 
 | 
                  <el-radio :label="3">数值</el-radio> 
 | 
                </el-radio-group> 
 | 
              </el-form-item> 
 | 
  
 | 
              <el-form-item label="题目类型"> 
 | 
                <el-radio-group 
 | 
                  @input="typeselection" 
 | 
                  :disabled="indexform.targetid" 
 | 
                  v-model="indexform.scriptType" 
 | 
                > 
 | 
                  <el-radio :label="1">单选</el-radio> 
 | 
                  <!-- <el-radio :label="2">多选</el-radio> --> 
 | 
                  <el-radio :label="4">问答</el-radio> 
 | 
                </el-radio-group> 
 | 
              </el-form-item> 
 | 
            </el-col></el-row 
 | 
          > 
 | 
          <div v-if="indexform.scriptType == 1 || indexform.scriptType == 2"> 
 | 
            <el-card class="box-card" style="margin-bottom: 20px"> 
 | 
              <Regular 
 | 
                :TargetoptionList="indexform.ivrLibaScriptTargetoptionList" 
 | 
                @addoption="addoption" 
 | 
                @deloption="deloption" 
 | 
                @syioption="syioption" 
 | 
                @xiayioption="xiayioption" 
 | 
                :intent="false" 
 | 
                :Verbalproblem="false" 
 | 
              /> 
 | 
            </el-card> 
 | 
            <el-row :gutter="20"> 
 | 
              <el-col :span="12"> 
 | 
                <el-form-item label="测试输入" prop="targetvalue"> 
 | 
                  <el-input 
 | 
                    v-model="indexform.content" 
 | 
                    placeholder="请输入测试内容" 
 | 
                    maxlength="40" 
 | 
                  /> 
 | 
                </el-form-item> 
 | 
              </el-col> 
 | 
              <el-col :span="4"> 
 | 
                <el-button type="success" @click="testtagerlist" 
 | 
                  >开始测试</el-button 
 | 
                > 
 | 
              </el-col> 
 | 
            </el-row> 
 | 
            <div style="margin-bottom: 20px"> 
 | 
              <el-input 
 | 
                type="textarea" 
 | 
                :rows="4" 
 | 
                placeholder="此处展示识别结果" 
 | 
                v-model="testgovalue" 
 | 
              > 
 | 
              </el-input> 
 | 
            </div> 
 | 
          </div> 
 | 
          <div style="margin-bottom: 20px" v-else> 
 | 
            <el-input 
 | 
              type="textarea" 
 | 
              :rows="4" 
 | 
              placeholder="此处展示收集信息" 
 | 
              v-model="testgovalue" 
 | 
            > 
 | 
            </el-input> 
 | 
          </div> 
 | 
        </el-form> 
 | 
  
 | 
        <el-button type="primary" @click="laststep()">上一步</el-button> 
 | 
        <el-button type="info" @click="closeFm()">关闭</el-button> 
 | 
        <el-button @click="Saveproblem()">保存数据</el-button> 
 | 
      </div> 
 | 
    </div> 
 | 
    <el-drawer 
 | 
      title="选择指标" 
 | 
      :visible.sync="drawer" 
 | 
      custom-class="demo-drawer" 
 | 
      size="50%" 
 | 
    > 
 | 
      <div class="preview-left"> 
 | 
        <el-form 
 | 
          :model="queryParams" 
 | 
          ref="queryForm" 
 | 
          size="small" 
 | 
          :inline="true" 
 | 
          label-width="98px" 
 | 
        > 
 | 
          <el-form-item label="标题" prop="userName"> 
 | 
            <el-input 
 | 
              v-model="queryParams.targetname" 
 | 
              placeholder="请输入" 
 | 
              clearable 
 | 
              style="width: 200px" 
 | 
              @keyup.enter.native="gettargetInfo" 
 | 
            /> 
 | 
          </el-form-item> 
 | 
          <el-form-item label="指标类型" prop="scriptType"> 
 | 
            <el-select v-model="queryParams.scriptType" placeholder="请选择"> 
 | 
              <el-option 
 | 
                v-for="(item, index) 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="gettargetInfo" 
 | 
              >搜索</el-button 
 | 
            > 
 | 
            <el-button icon="el-icon-refresh" size="medium" @click="resetQuery" 
 | 
              >重置</el-button 
 | 
            > 
 | 
          </el-form-item> 
 | 
        </el-form> 
 | 
        <el-table v-loading="loading" :data="targetList"> 
 | 
          <el-table-column 
 | 
            label="标题" 
 | 
            align="center" 
 | 
            key="targetname" 
 | 
            prop="targetname" 
 | 
            width="100" 
 | 
          /> 
 | 
          <el-table-column 
 | 
            label="问题内容" 
 | 
            align="center" 
 | 
            key="targetdesc" 
 | 
            prop="targetdesc" 
 | 
            width="200" 
 | 
            :show-overflow-tooltip="true" 
 | 
          /> 
 | 
  
 | 
          <el-table-column 
 | 
            label="操作" 
 | 
            align="center" 
 | 
            class-name="small-padding fixed-width" 
 | 
          > 
 | 
            <template slot-scope="scope"> 
 | 
              <el-button 
 | 
                size="medium" 
 | 
                type="text" 
 | 
                @click="selectlabel(scope.row)" 
 | 
                ><span class="button-textxg" 
 | 
                  ><i class="el-icon-circle-plus-outline"></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="gettargetInfo" 
 | 
        /> 
 | 
      </div> 
 | 
    </el-drawer> 
 | 
  </div> 
 | 
</template> 
 | 
  
 | 
<script> 
 | 
import { listtag } from "@/api/system/label"; 
 | 
import { 
 | 
  gettagerlist, 
 | 
  testtagerlist, 
 | 
  delverbaltrickinfo, 
 | 
  compileverbaltrick, 
 | 
  getverbaltrick, 
 | 
  getbaltrickclassify, 
 | 
  gettargetInfolist, 
 | 
  gettargetInfo, 
 | 
} from "@/api/AiCentre/index"; 
 | 
import Regular from "@/components/Regular"; //正则组件 
 | 
import store from "@/store"; 
 | 
import { getToken } from "@/utils/auth"; 
 | 
  
 | 
export default { 
 | 
  name: "Verbalproblem", 
 | 
  components: { Regular }, 
 | 
  data() { 
 | 
    return { 
 | 
      headers: { 
 | 
        Authorization: "Bearer " + getToken(), 
 | 
      }, 
 | 
      uploadImgUrl: process.env.VUE_APP_BASE_API + "/common/uploadSort", 
 | 
      Editprogress: 1, //编辑进度 
 | 
      loading: false, // 遮罩层 
 | 
      radio: "false", //单选题选中 
 | 
      radios: [], //多选题选中 
 | 
      radioas: "", //填空题答案 
 | 
      dynamicTags: [], 
 | 
      dellist: [], 
 | 
      targetList: [], 
 | 
      inputVisible: false, 
 | 
      drawer: false, 
 | 
      inputValue: "", 
 | 
      testvalue: "", 
 | 
      testgovalue: "", 
 | 
      topicobj: {}, 
 | 
      indexform: { 
 | 
        ivrLibaScriptTargetoptionList: [], 
 | 
        ivrLibaScriptTagList: [], 
 | 
        suitway: "2", 
 | 
        noMatchText:'抱歉,我没有听懂,您能再说一遍吗?', 
 | 
        noClearlyText:'抱歉,我没有听清您说的话,您可以再说一次吗?', 
 | 
        slienceText:'抱歉,我没有听到您说的话,您可以再说一次吗?', 
 | 
      }, 
 | 
      mode: [], 
 | 
      questionclass: [], 
 | 
      currentInputId: "", 
 | 
      courtyardlist: [], 
 | 
      // 总条数 
 | 
      total: 1, 
 | 
      rules: {}, 
 | 
      rulesa: {}, 
 | 
      optionstag: [], 
 | 
  
 | 
      fileList: [ 
 | 
        { 
 | 
          name: "food.jpeg", 
 | 
          url: "https://fuss10.elemecdn.com/3/63/4e7f3a15429bfda99bce42a18cdd1jpeg.jpeg?imageMogr2/thumbnail/360x360/format/webp/quality/100", 
 | 
        }, 
 | 
      ], 
 | 
      usable: [], 
 | 
      options: [], 
 | 
      variablelist: [ 
 | 
        { variatename: "姓名", variate: "${name}", default: 1 }, 
 | 
        { variatename: "电话", variate: "${phone}", default: 1 }, 
 | 
        { variatename: "病情", variate: "${illness}", default: 1 }, 
 | 
      ], 
 | 
  
 | 
      addvalue: "添加题目", 
 | 
      languagelist: [], //语言列表 
 | 
      qyoptions: [], 
 | 
      // 查询参数 
 | 
      queryParams: { 
 | 
        pageNum: 1, 
 | 
        pageSize: 10, 
 | 
      }, 
 | 
      variabledeawer: false, 
 | 
    }; 
 | 
  }, 
 | 
  
 | 
  created() { 
 | 
    this.gettabList(); 
 | 
    this.getverbaltrick(); 
 | 
    this.mode = store.getters.mode; 
 | 
    this.valuetype = store.getters.valuetype; 
 | 
    this.languagelist = store.getters.languagelist; 
 | 
    this.usable = store.getters.usable; 
 | 
    this.courtyardlist = store.getters.courtyardlist; 
 | 
    this.qyoptions = store.getters.askvaluetype; 
 | 
  }, 
 | 
  
 | 
  methods: { 
 | 
    // 获取详情数据 
 | 
    getverbaltrick() { 
 | 
      let id = this.$route.query.id; 
 | 
      this.indexform.language = "普通话"; 
 | 
      this.indexform.isAvailable = "1"; 
 | 
  
 | 
      if (id) { 
 | 
        getverbaltrick({ id: id }).then((res) => { 
 | 
          this.indexform = res.data; 
 | 
  
 | 
          this.indexform.assortid = parseInt(this.indexform.assortid); 
 | 
          this.variablelist = JSON.parse(this.indexform.otherdata).length 
 | 
            ? JSON.parse(this.indexform.otherdata) 
 | 
            : this.variablelist; 
 | 
          this.dynamicTags = this.indexform.ivrLibaScriptTagList.map( 
 | 
            this.processElement 
 | 
          ); 
 | 
        }); 
 | 
      } 
 | 
      // 树 
 | 
      getbaltrickclassify({}).then((res) => { 
 | 
        this.questionclass = res.rows; 
 | 
        console.log(res); 
 | 
      }); 
 | 
    }, 
 | 
  
 | 
    // 保存详细信息 
 | 
    Saveproblem() { 
 | 
      this.indexform.otherdata = JSON.stringify(this.variablelist); 
 | 
  
 | 
      if (this.indexform.id) { 
 | 
        this.indexform.ivrLibaScriptTargetoptionList = 
 | 
          this.indexform.ivrLibaScriptTargetoptionList.map((res) => { 
 | 
            if (res.isoperation != 1) { 
 | 
              res.isoperation = 2; 
 | 
            } 
 | 
            return res; 
 | 
          }); 
 | 
  
 | 
        this.indexform.isoperation = 2; 
 | 
        console.log(this.dellist); 
 | 
        this.indexform.ivrLibaScriptTargetoptionList = 
 | 
          this.indexform.ivrLibaScriptTargetoptionList.concat(this.dellist); 
 | 
        this.indexform.targetoptions = 
 | 
          this.indexform.ivrLibaScriptTargetoptionList 
 | 
            .filter((item) => item.isope != 3) // 过滤掉 isope 为 3 的项 
 | 
            .map((item) => item.targetvalue) 
 | 
            .join(", "); 
 | 
        compileverbaltrick(this.indexform).then((res) => { 
 | 
          if (res.code == 200) { 
 | 
            this.$modal.msgSuccess("修改成功"); 
 | 
            this.$router.go(-1); 
 | 
          } else { 
 | 
            this.$message({ 
 | 
              message: "修改失败", 
 | 
              type: "error", 
 | 
            }); 
 | 
          } 
 | 
        }); 
 | 
      } else { 
 | 
        this.indexform.isoperation = 1; 
 | 
  
 | 
        compileverbaltrick(this.indexform).then((res) => { 
 | 
          if (res.code == 200) { 
 | 
            this.$modal.msgSuccess("新增成功"); 
 | 
            this.$router.go(-1); 
 | 
          } else { 
 | 
            this.$message({ 
 | 
              message: "新增失败", 
 | 
              type: "error", 
 | 
            }); 
 | 
          } 
 | 
        }); 
 | 
      } 
 | 
    }, 
 | 
  
 | 
    testtagerlist() { 
 | 
      if (this.indexform.content) { 
 | 
        let data = this.indexform; 
 | 
        data.targetoptionList = 
 | 
          this.indexform.ivrLibaScriptTargetoptionList.concat(this.dellist); 
 | 
        testtagerlist(data).then((res) => { 
 | 
          this.$modal.msgSuccess("测试成功"); 
 | 
          this.testgovalue = res.msg; 
 | 
          this.getList(); 
 | 
        }); 
 | 
      } else { 
 | 
        this.$modal.msgError("请填写测试内容"); 
 | 
        return; 
 | 
      } 
 | 
    }, 
 | 
    // 选择指标 
 | 
    selectlabel(row) { 
 | 
      this.$modal 
 | 
        .confirm( 
 | 
          '是否选择标题为"' + row.targetname + '"的指标并替换填充问题信息?' 
 | 
        ) 
 | 
        .then(() => { 
 | 
          console.log(row); 
 | 
          this.indexform.valueType = row.valueType; 
 | 
          this.indexform.scriptType = row.scriptType; 
 | 
          this.indexform.scriptTopic = row.targetname; 
 | 
          this.indexform.targetname = row.targetname; 
 | 
          this.indexform.targetid = row.id; 
 | 
          this.indexform.targetdesc = row.targetdesc; 
 | 
          this.indexform.isAvailable = "0"; 
 | 
          this.indexform.language = "普通话"; 
 | 
          this.indexform.isenable = row.isenable; 
 | 
          const labellist = row.targetoptionList; 
 | 
          labellist.forEach((item) => { 
 | 
            item.isoperation = 1; 
 | 
            this.indexform.ivrLibaScriptTargetoptionList.push(item); 
 | 
          }); 
 | 
          this.drawer = false; 
 | 
        }) 
 | 
        .catch(() => {}); 
 | 
    }, 
 | 
    gettargetInfo() { 
 | 
      this.queryParams.suitWay = 2; 
 | 
      gettargetInfo(this.queryParams).then((res) => { 
 | 
        console.log(res); 
 | 
        this.targetList = res.rows; 
 | 
        this.total = res.total; 
 | 
        this.drawer = true; 
 | 
      }); 
 | 
    }, 
 | 
    resetQuery() { 
 | 
      this.queryParams = { 
 | 
        pageNum: 1, 
 | 
        pageSize: 10, 
 | 
      }; 
 | 
      this.gettargetInfo(); 
 | 
    }, 
 | 
  
 | 
    // 题目类型更换 
 | 
    typeselection(row) { 
 | 
      if ( 
 | 
        (row == 1 || row == 2) && 
 | 
        !this.indexform.ivrLibaScriptTargetoptionList.length 
 | 
      ) { 
 | 
        this.indexform.ivrLibaScriptTargetoptionList.push({ 
 | 
          guid: 1, 
 | 
          isoperation: 1, 
 | 
          targetvalue: "", 
 | 
          targetregex: "", 
 | 
          targetregex2: "", 
 | 
          dynamiccruxs: [], 
 | 
          nodynamiccruxs: [], 
 | 
          dynamiccruxsJson: "", 
 | 
          nodynamiccruxsJson: "", 
 | 
        }); 
 | 
      } 
 | 
    }, 
 | 
    // 下一步 
 | 
    nextstep() { 
 | 
      if (this.Editprogress <= 1) { 
 | 
        // if (this.indexform.targetid) { 
 | 
        return this.Editprogress++; 
 | 
        // } else { 
 | 
        //   this.$message.warning("请先选择关联指标"); 
 | 
        // } 
 | 
      } else { 
 | 
      } 
 | 
    }, 
 | 
    // 上一步 
 | 
    laststep() { 
 | 
      this.Editprogress = this.Editprogress - 1; 
 | 
    }, 
 | 
    // 关闭 
 | 
    closeFm() { 
 | 
      this.$confirm("退出不会保留页面内容更改, 是否继续?", "提示", { 
 | 
        confirmButtonText: "确定", 
 | 
        cancelButtonText: "取消", 
 | 
        type: "warning", 
 | 
      }) 
 | 
        .then(() => { 
 | 
          this.$router.go(-1); 
 | 
        }) 
 | 
        .catch(() => { 
 | 
          this.$message({ 
 | 
            type: "info", 
 | 
            message: "已取消", 
 | 
          }); 
 | 
        }); 
 | 
    }, 
 | 
    // 文件---------------------- 
 | 
    // 控制文件 
 | 
    handleChange(response, file, additionalParam) { 
 | 
      console.log(response); 
 | 
      if (additionalParam == 1) { 
 | 
        this.indexform.ivrVoice = response.url; 
 | 
      } else if (additionalParam == 2) { 
 | 
        this.indexform.nomatchvoice = response.url; 
 | 
        console.log(this.indexform.nomatchvoice); 
 | 
      } else if (additionalParam == 3) { 
 | 
        this.indexform.sliencevoice = response.url; 
 | 
      } else if (additionalParam == 4) { 
 | 
        this.indexform.noclearlyvoice = response.url; 
 | 
      } 
 | 
    }, 
 | 
  
 | 
    // 标签----------------- 
 | 
    gettabList() { 
 | 
      const tagqueryParams = { 
 | 
        pageNum: 1, 
 | 
        pageSize: 1000, 
 | 
        tagcategoryid: "0", 
 | 
      }; 
 | 
      listtag(tagqueryParams).then((response) => { 
 | 
        console.log(response); 
 | 
        this.optionstag = response.rows; 
 | 
      }); 
 | 
    }, 
 | 
    handleClosetag(tag) { 
 | 
      console.log(tag); 
 | 
      console.log(this.dynamicTags.indexOf(tag)); 
 | 
      const lindex = this.dynamicTags.indexOf(tag); 
 | 
      this.dynamicTags.splice(this.dynamicTags.indexOf(tag), 1); 
 | 
      this.indexform.ivrLibaScriptTagList[lindex].isoperation = 3; 
 | 
    }, 
 | 
    handleInputConfirm() { 
 | 
      let tagvalue = {}; 
 | 
      let tagname = this.inputValue; 
 | 
      if (tagname) { 
 | 
        listtag({ 
 | 
          pageNum: 1, 
 | 
          pageSize: 1000, 
 | 
          tagcategoryid: "0", 
 | 
          tagname: tagname, 
 | 
        }).then((res) => { 
 | 
          if (res.rows[0]) { 
 | 
            tagvalue = res.rows[0]; 
 | 
            tagvalue.isoperation = 1; 
 | 
          } else { 
 | 
            tagvalue = { 
 | 
              tagname: tagname, 
 | 
              isoperation: 1, 
 | 
            }; 
 | 
          } 
 | 
          this.indexform.ivrLibaScriptTagList.push(tagvalue); 
 | 
          this.dynamicTags.push(tagvalue); 
 | 
        }); 
 | 
      } 
 | 
      this.inputVisible = false; 
 | 
      this.inputValue = ""; 
 | 
    }, 
 | 
    remoteMethodtag(query) { 
 | 
      if (query !== "") { 
 | 
        this.loading = true; 
 | 
        setTimeout(() => { 
 | 
          this.loading = false; 
 | 
          listtag({ tagname: query, tagcategoryid: "0" }).then((res) => { 
 | 
            this.optionstag = res.rows; 
 | 
          }); 
 | 
        }, 200); 
 | 
      } else { 
 | 
        this.optionstag = []; 
 | 
      } 
 | 
    }, 
 | 
    showInput() { 
 | 
      this.inputVisible = true; 
 | 
    }, 
 | 
    //测试表单 -------------------------- 
 | 
    gettagerlist() { 
 | 
      gettagerlist({ targetname: this.targetname }).then((response) => { 
 | 
        console.log(response); 
 | 
        this.optionstag = response.rows; 
 | 
      }); 
 | 
    }, 
 | 
    addoption() { 
 | 
      this.indexform.ivrLibaScriptTargetoptionList.push({ 
 | 
        guid: 1, 
 | 
        isoperation: 1, 
 | 
        targetvalue: "", 
 | 
        targetregex: "", 
 | 
        targetregex2: "", 
 | 
        dynamiccruxs: [], 
 | 
        nodynamiccruxs: [], 
 | 
        dynamiccruxsJson: "", 
 | 
        nodynamiccruxsJson: "", 
 | 
      }); 
 | 
      this.sortFn(); 
 | 
    }, 
 | 
    deloption(item) { 
 | 
      const index = this.indexform.ivrLibaScriptTargetoptionList.indexOf(item); 
 | 
      if (index !== -1) { 
 | 
        if (item.id) { 
 | 
          console.log(item, "chunz"); 
 | 
          item.isoperation = 3; 
 | 
          this.dellist.push(item); 
 | 
        } 
 | 
        console.log(this.dellist, "dellist"); 
 | 
        this.indexform.ivrLibaScriptTargetoptionList.splice(index, 1); // 从索引位置删除一个元素 
 | 
        this.sortFn(); 
 | 
      } else { 
 | 
        console.log("未找到该对象"); 
 | 
      } 
 | 
    }, 
 | 
    getIndexInArray(arr, obj) { 
 | 
      return arr.indexOf(obj); 
 | 
    }, 
 | 
    processElement(element) { 
 | 
      return { ...element, isoperation: 1 }; 
 | 
    }, 
 | 
    syioption(row) { 
 | 
      const index = this.getIndexInArray( 
 | 
        this.indexform.ivrLibaScriptTargetoptionList, 
 | 
        row 
 | 
      ); 
 | 
      const item = this.indexform.ivrLibaScriptTargetoptionList.splice( 
 | 
        index, 
 | 
        1 
 | 
      )[0]; // 移除指定索引处的元素,并保存到item变量中 
 | 
      this.indexform.ivrLibaScriptTargetoptionList.splice(index - 1, 0, item); // 将item插入到索引位置的前一位 
 | 
      this.sortFn(); 
 | 
    }, 
 | 
    xiayioption(row) { 
 | 
      const index = this.getIndexInArray( 
 | 
        this.indexform.ivrLibaScriptTargetoptionList, 
 | 
        row 
 | 
      ); 
 | 
      const item = this.indexform.ivrLibaScriptTargetoptionList.splice( 
 | 
        index, 
 | 
        1 
 | 
      )[0]; // 移除指定索引处的元素,并保存到item变量中 
 | 
      this.indexform.ivrLibaScriptTargetoptionList.splice(index + 1, 0, item); // 将item插入到索引位置的前一位 
 | 
      this.sortFn(); 
 | 
    }, 
 | 
    sortFn() { 
 | 
      this.indexform.ivrLibaScriptTargetoptionList = 
 | 
        this.indexform.ivrLibaScriptTargetoptionList.map((item, index) => { 
 | 
          return { 
 | 
            guid: index + 1, 
 | 
            targetvalue: item.targetvalue, 
 | 
            targetregex2: item.targetregex2, 
 | 
            targetregex: item.targetregex, 
 | 
            id: item.id, 
 | 
            targettype: this.indexform.targettype, 
 | 
            isoperation: item.id ? 2 : 1, 
 | 
            categoryName: item.categoryName, 
 | 
            language: item.language, 
 | 
            dynamiccruxs: item.dynamiccruxs, 
 | 
            nodynamiccruxs: item.nodynamiccruxs, 
 | 
            dynamiccruxsJson: item.dynamiccruxsJson, 
 | 
            nodynamiccruxsJson: item.nodynamiccruxsJson, 
 | 
          }; 
 | 
        }); 
 | 
      console.log(this.indexform.ivrLibaScriptTargetoptionList); 
 | 
    }, 
 | 
    // --------------------- 
 | 
    // 便捷标签 
 | 
    tsgnameto(row) { 
 | 
      let inputValueArr = ""; 
 | 
      let el = document.querySelector("#" + this.currentInputId); 
 | 
      //el.selectionStart; 这就是当前光标所在的位置(字符串中字符的index) 
 | 
      if (this.currentInputId == "scriptContent") { 
 | 
        inputValueArr = this.indexform.scriptContent.split(""); 
 | 
      } else if (this.currentInputId == "noMatchText") { 
 | 
        inputValueArr = this.indexform.noMatchText.split(""); 
 | 
      } else if (this.currentInputId == "slienceText") { 
 | 
        inputValueArr = this.indexform.slienceText.split(""); 
 | 
      } else if (this.currentInputId == "noClearlyText") { 
 | 
        inputValueArr = this.indexform.noClearlyText.split(""); 
 | 
      } else if (this.currentInputId == "submoduletext") { 
 | 
        inputValueArr = this.indexform.submoduletext.split(""); 
 | 
      } else { 
 | 
        return; 
 | 
      } 
 | 
      //将输入框内容切成数组,方便后续操作 
 | 
      // inputValueArr = this.inputValue.split(""); 
 | 
      // 拿到选中文字的长度(后续可以用来替换选中的文字) 
 | 
      let selectLength = el.selectionEnd - el.selectionStart; 
 | 
      // 将要插入/替换的文字插入/替换(value.name是要插入/替换的字符串) 
 | 
      inputValueArr.splice(el.selectionStart, selectLength, `${row.variate}`); 
 | 
      // 把数组重新转换为字符串并赋值 
 | 
      inputValueArr = inputValueArr.join(""); 
 | 
      console.log(inputValueArr); 
 | 
      if (this.currentInputId == "scriptContent") { 
 | 
        this.indexform.scriptContent = inputValueArr; 
 | 
      } else if (this.currentInputId == "noMatchText") { 
 | 
        this.indexform.noMatchText = inputValueArr; 
 | 
      } else if (this.currentInputId == "slienceText") { 
 | 
        this.indexform.slienceText = inputValueArr; 
 | 
      } else if (this.currentInputId == "noClearlyText") { 
 | 
        this.indexform.noClearlyText = inputValueArr; 
 | 
      } else if (this.currentInputId == "submoduletext") { 
 | 
        this.indexform.submoduletext = inputValueArr; 
 | 
      } else { 
 | 
        return; 
 | 
      } 
 | 
    }, 
 | 
  
 | 
    // 新增变量 
 | 
    addvariable() { 
 | 
      this.variablelist.push({ 
 | 
        variatename: "", 
 | 
        variate: "", 
 | 
      }); 
 | 
    }, 
 | 
    // 删除变量 
 | 
    delvariable(item) { 
 | 
      const index = this.variablelist.indexOf(item); 
 | 
      if (index !== -1) { 
 | 
        this.variablelist.splice(index, 1); // 从索引位置删除一个元素 
 | 
      } else { 
 | 
        console.log("未找到该对象"); 
 | 
      } 
 | 
    }, 
 | 
    // 输入获取id 
 | 
    handleInput(id) { 
 | 
      this.currentInputId = id; 
 | 
      console.log("输入框的值已更新:", this.currentInputId); 
 | 
      // 在这里执行更新数据的逻辑 
 | 
    }, 
 | 
  }, 
 | 
}; 
 | 
</script> 
 | 
  
 | 
<style lang="scss" scoped> 
 | 
.Questionnairemanagement { 
 | 
  // display: flex; 
 | 
} 
 | 
.sidecolumn { 
 | 
  margin: 20px; 
 | 
  margin-bottom: 0; 
 | 
  padding: 15px; 
 | 
  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); 
 | 
} 
 | 
.leftvlue { 
 | 
  margin: 20px; 
 | 
  margin-top: 10px; 
 | 
  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); 
 | 
  
 | 
  .leftvlue-jbxx { 
 | 
    font-size: 24px; 
 | 
    border-left: 5px solid #41a1be; 
 | 
    padding-left: 5px; 
 | 
    margin: 15px 0; 
 | 
  } 
 | 
} 
 | 
.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; 
 | 
  } 
 | 
} 
 | 
.button-new-tag { 
 | 
  margin-left: 10px; 
 | 
  height: 32px; 
 | 
  line-height: 30px; 
 | 
  padding-top: 0; 
 | 
  padding-bottom: 0; 
 | 
} 
 | 
.tsgnames { 
 | 
  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; 
 | 
} 
 | 
.tsgnames:hover { 
 | 
  background: #3366f5; 
 | 
} 
 | 
.tsgname { 
 | 
  width: 90px; 
 | 
  margin-right: 10px; 
 | 
  text-align: center; 
 | 
  cursor: pointer; 
 | 
  height: 40px; 
 | 
  line-height: 40px; 
 | 
  background: #66c18c; 
 | 
  color: #ffff; 
 | 
  font-size: 18px; 
 | 
  border-radius: 5px; 
 | 
} 
 | 
.tsgname:hover { 
 | 
  background: #20894d; 
 | 
} 
 | 
.tsgnamebj { 
 | 
  width: 90px; 
 | 
  margin-left: 15px; 
 | 
  text-align: center; 
 | 
  cursor: pointer; 
 | 
  height: 40px; 
 | 
  line-height: 40px; 
 | 
  background: #49dbb7; 
 | 
  color: #ffff; 
 | 
  font-size: 18px; 
 | 
  border-radius: 5px; 
 | 
} 
 | 
.tsgnamebj:hover { 
 | 
  background: #27c449; 
 | 
} 
 | 
.preview-left { 
 | 
  margin: 20px; 
 | 
  //   margin: 20px; 
 | 
  padding: 30px; 
 | 
  background: #ffff; 
 | 
  border: 1px solid #dcdfe6; 
 | 
  -webkit-box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.12), 
 | 
    0 0 6px 0 rgba(0, 0, 0, 0.04); 
 | 
  .scriptTopic-dev { 
 | 
    margin-bottom: 25px; 
 | 
    font-size: 20px !important; 
 | 
    .dev-text { 
 | 
      margin-bottom: 10px; 
 | 
    } 
 | 
  } 
 | 
} 
 | 
  
 | 
::v-deep .addtopic-input { 
 | 
  input { 
 | 
    background: #02a7f0; 
 | 
    color: #edf1f7; 
 | 
    width: 150px; 
 | 
  } 
 | 
} 
 | 
::v-deep.el-step.is-vertical .el-step__title { 
 | 
  font-size: 25px; 
 | 
} 
 | 
::v-deep.el-input--medium { 
 | 
  font-size: 18px !important; 
 | 
} 
 | 
  
 | 
.el-select__tags { 
 | 
  font-size: 20px; 
 | 
  max-width: 888px !important; 
 | 
} 
 | 
::v-deep.el-radio__inner { 
 | 
  width: 22px; 
 | 
  height: 22px; 
 | 
} 
 | 
// ::v-deep.topic-dev.el-radio__label { 
 | 
//   font-size: 24px; 
 | 
// } 
 | 
::v-deep.el-radio-group { 
 | 
  span { 
 | 
    font-size: 24px; 
 | 
  } 
 | 
} 
 | 
::v-deep.upload-demo { 
 | 
  display: flex; 
 | 
} 
 | 
::v-deep.el-checkbox-group { 
 | 
  span { 
 | 
    font-size: 24px; 
 | 
  } 
 | 
} 
 | 
// ::v-deep.el-form-item--medium .el-form-item__content { 
 | 
//   line-height: 36px; 
 | 
//   display: flex; 
 | 
// } 
 | 
</style> 
 |