WXL
2024-11-01 7611c86d2b45b64112dd4a21cfc283543a46f29d
src/components/Regular/index.vue
@@ -1,7 +1,7 @@
<template>
  <div>
    <div class="topicxq" v-for="item in TargetoptionList">
      <el-form :rules="rules" :model="item">
      <el-form :inline="true" :rules="rules" :model="item" label-width="80px">
        <el-row :gutter="10">
          <el-col :span="12"
            ><el-form-item prop="targetvalue" label="选项名称">
@@ -14,14 +14,14 @@
              </el-input> </el-form-item
          ></el-col>
          <el-col :span="12"
            ><el-form-item label="预警提醒">
            ><el-form-item label="异常提醒">
              <el-radio-group v-model="item.isabnormal">
                <el-radio :label="1">是</el-radio>
                <el-radio :label="0">否</el-radio>
              </el-radio-group>
            </el-form-item></el-col
          >
          <el-col :span="12" v-if="intent"
          <!-- <el-col :span="12" v-if="intent"
            ><el-form-item label="选项节点">
              <el-input
                type="text"
@@ -30,13 +30,15 @@
                show-word-limit
              >
              </el-input> </el-form-item
          ></el-col>
          ></el-col> -->
        </el-row>
        <el-row :gutter="10" v-if="!intent">
          <el-col :span="20"
            ><el-form-item label="选项说明">
              <el-input
                type="text"
                style="width: 500px"
                type="textarea"
                :rows="2"
                placeholder="请输入"
                v-model="item.optiondesc"
                show-word-limit
@@ -44,6 +46,13 @@
              </el-input> </el-form-item
          ></el-col>
        </el-row>
        <el-form-item label="结束对话">
              <el-radio-group v-model="item.isEnd">
                <el-radio :label="1">是</el-radio>
                <el-radio :label="0">否</el-radio>
              </el-radio-group>
            </el-form-item>
        <el-row :gutter="10" v-if="intent">
          <el-col :span="12"
            ><el-form-item label="处理">
@@ -56,10 +65,11 @@
              >
              </el-input> </el-form-item
          ></el-col>
          <el-col :span="12"
          <el-col :span="12" v-show="branchFlag"
            ><el-form-item label="选中跳转">
              <el-input
                type="text"
                @blur="$emit('branchFlagfn', item.nextQuestion)"
                placeholder="请输入题目节点"
                v-model="item.nextQuestion"
                show-word-limit
@@ -67,90 +77,107 @@
              </el-input> </el-form-item
          ></el-col>
        </el-row>
        <el-form-item label="关键字(含)" prop="desc" v-if="hasValue">
          <div class="xinz-inf">
            <el-tag
              :key="crux"
              type="success"
              v-for="crux in item.dynamiccruxs"
              closable
              effect="dark"
              :disable-transitions="false"
              @close="handleClosecrux(crux, item, 1)"
            >
              {{ crux }}
            </el-tag>
            <el-select
              v-model="inputValue"
              v-if="item.inputVisible"
              @change="handleInputConfirm(item)"
              filterable
              remote
              allow-create
              reserve-keyword
              default-first-option
              :loading="loading"
              placeholder="请选择"
            >
              <el-option
                v-for="items in regular"
                :key="items.label"
                :label="items.label"
                :value="items.label"
        <el-row :gutter="10" v-if="scriptType == 1">
                      <el-form-item label="选中提示">
                        <el-input
                          style="width: 24vw"
                          type="textarea"
                          autosize
                          placeholder="请输入内容"
                          v-model="item.prompt"
                        >
                        </el-input
                      ></el-form-item>
                    </el-row>
        <el-row>
          <el-form-item label="关键字(含)" prop="desc" v-if="hasValue">
            <div class="xinz-inf">
              <el-tag
                :key="crux"
                type="success"
                v-for="crux in item.dynamiccruxs"
                closable
                effect="dark"
                :disable-transitions="false"
                @close="handleClosecrux(crux, item, 1)"
              >
              </el-option>
            </el-select>
            <el-button
              v-else
              class="button-new-tag"
              size="small"
              @click="showInput(item)"
              >+ 新增</el-button
            >
          </div>
        </el-form-item>
        <el-form-item label="关键字(非)" prop="adesc" v-if="hasValue">
          <div class="xinz-inf">
            <el-tag
              :key="crux"
              type="warning"
              v-for="crux in item.nodynamiccruxs"
              closable
              effect="dark"
              :disable-transitions="false"
              @close="handleClosecrux(crux, item, 2)"
            >
              {{ crux }}
            </el-tag>
            <el-select
              v-model="inputValue"
              v-if="item.noinputVisible"
              @change="handleInputConfirm(item)"
              filterable
              remote
              allow-create
              reserve-keyword
              default-first-option
              :loading="loading"
              placeholder="请选择"
            >
              <el-option
                v-for="items in noregular"
                :key="items.value"
                :label="items.label"
                :value="items.label"
                {{ crux }}
              </el-tag>
              <el-select
                v-model="inputValue"
                v-if="item.inputVisible"
                @change="handleInputConfirm(item)"
                filterable
                remote
                allow-create
                reserve-keyword
                default-first-option
                :loading="loading"
                placeholder="请选择"
              >
              </el-option>
            </el-select>
            <el-button
              v-else
              class="button-new-tag"
              size="small"
              @click="showInputno(item)"
              >+ 新增</el-button
            >
          </div>
        </el-form-item>
                <el-option
                  v-for="items in regular"
                  :key="items.label"
                  :label="items.label"
                  :value="items.label"
                >
                </el-option>
              </el-select>
              <el-button
                v-else
                class="button-new-tag"
                size="small"
                @click="showInput(item)"
                >+ 新增</el-button
              >
            </div>
          </el-form-item>
        </el-row>
        <el-row>
          <el-form-item label="关键字(非)" prop="adesc" v-if="hasValue">
            <div class="xinz-inf">
              <el-tag
                :key="crux"
                type="warning"
                v-for="crux in item.nodynamiccruxs"
                closable
                effect="dark"
                :disable-transitions="false"
                @close="handleClosecrux(crux, item, 2)"
              >
                {{ crux }}
              </el-tag>
              <el-select
                v-model="inputValue"
                v-if="item.noinputVisible"
                @change="handleInputConfirm(item)"
                filterable
                remote
                allow-create
                reserve-keyword
                default-first-option
                :loading="loading"
                placeholder="请选择"
              >
                <el-option
                  v-for="items in noregular"
                  :key="items.value"
                  :label="items.label"
                  :value="items.label"
                >
                </el-option>
              </el-select>
              <el-button
                v-else
                class="button-new-tag"
                size="small"
                @click="showInputno(item)"
                >+ 新增</el-button
              >
            </div>
          </el-form-item>
        </el-row>
        <el-form-item label="选项文件" prop="sickness" v-if="Verbalproblem">
          <div style="width: 40vw">
            <el-upload
@@ -174,24 +201,10 @@
        </el-form-item>
        <el-row :gutter="10">
          <el-col :span="16" v-if="intent">
            <el-form-item label="语音文件">
              <el-upload
                class="upload-demo"
                style="display: flex"
                action="https://jsonplaceholder.typicode.com/posts/"
                :file-list="fileList"
                :limit="1"
                :on-exceed="handleExceed"
              >
                <el-button size="small" type="primary">点击上传</el-button>
              </el-upload>
            </el-form-item></el-col
          >
          <el-col :span="intent ? 8 : 22">
          <el-col>
            <div style="text-align: right; padding-right: 10px">
              <el-button
                v-if="controlsc"
                v-if="controlsc || addoption"
                @click="$emit('addoption', item)"
                type="success"
                icon="el-icon-circle-plus-outline"
@@ -257,6 +270,9 @@
        targetvalue: [
          { required: true, message: "请输入选项名称", trigger: "blur" },
        ],
        isabnormal: [
          { required: true, message: "请输入选项名称", trigger: "blur" },
        ],
      },
    };
  },
@@ -270,6 +286,14 @@
      type: Boolean,
      default: true,
    },
    scriptType: {
      type: String,
      default: '1',
    },
    addoption: {
      type: Boolean,
      default: false,
    },
    intent: {
      type: Boolean,
      default: true,
@@ -282,6 +306,10 @@
      type: Boolean,
      default: true,
    },
    branchFlag: {
      type: Boolean,
      default: false,
    },
  },
  created() {