WXL
2024-11-26 007d3884ad259883d7a5db6714876e46525ae717
src/views/repositoryai/verbaltrick/particulars/index.vue
@@ -7,14 +7,14 @@
          <el-step>
            <template slot="title">
              <span style="cursor: pointer" @click="Editprogress = 1"
                >问题库编辑</span
                >话术基础信息编辑</span
              >
            </template>
          </el-step>
          <el-step>
            <template slot="title">
              <span style="cursor: pointer" @click="nextstep"
                >问题指标编辑</span
                >话术指标编辑</span
              >
            </template>
          </el-step>
@@ -40,6 +40,38 @@
          :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">
@@ -109,17 +141,7 @@
              </el-form-item>
            </el-col>
          </el-row>
          <el-row :gutter="20">
            <el-col :span="20">
              <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="desc">
            <div class="xinz-inf">
              <el-tag
@@ -202,7 +224,7 @@
              </div>
            </el-form-item>
          </el-drawer>
          <el-row>
          <!-- <el-row>
            <el-col :span="6">
              <el-form-item label="仅限院区" prop="region">
                <el-select
@@ -239,7 +261,7 @@
                </el-select>
              </el-form-item>
            </el-col>
          </el-row>
          </el-row> -->
          <el-row>
            <el-col :span="24">
              <el-form-item label="问题变量" prop="scriptContent">
@@ -260,21 +282,21 @@
          >
          <el-row>
            <el-col :span="24">
              <el-form-item label="问题文本" prop="scriptContent">
              <el-form-item label="语音文本" prop="scriptContent">
                <el-input
                  :rows="2"
                  type="textarea"
                  id="scriptContent"
                  show-word-limit
                  placeholder="请输入内容"
                  v-model.sync="indexform.scriptContent"
                  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-form-item label="语音文件" prop="verbaltrickyy">
                <el-upload
                  class="upload-demo"
                  :action="uploadImgUrl"
@@ -291,17 +313,17 @@
              </el-form-item>
            </el-col>
            <el-col :span="6">
              <span style="font-size: 12px">{{
                indexform.scriptVoice.substring(
                  indexform.scriptVoice.lastIndexOf("/") + 1
              <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.scriptVoice
                    ? indexform.scriptVoice
                  indexform.ivrVoice
                    ? indexform.ivrVoice
                    : 'https://example.com/example.mp3'
                "
              ></mini-audio>
@@ -341,7 +363,7 @@
              </el-form-item>
            </el-col>
            <el-col :span="6">
              <span style="font-size: 12px">{{
              <span style="font-size: 12px" v-if="indexform.nomatchvoice">{{
                indexform.nomatchvoice.substring(
                  indexform.nomatchvoice.lastIndexOf("/") + 1
                )
@@ -359,7 +381,7 @@
          </el-row>
          <el-row>
            <el-col :span="24">
              <el-form-item label="无声文本" prop="slienceText">
              <el-form-item label="静默文本" prop="slienceText">
                <el-input
                  type="textarea"
                  :rows="2"
@@ -373,7 +395,7 @@
          ></el-row>
          <el-row>
            <el-col :span="6">
              <el-form-item label="无声语音" prop="verbaltrickyy">
              <el-form-item label="静默语音" prop="verbaltrickyy">
                <el-upload
                  class="upload-demo"
                  :action="uploadImgUrl"
@@ -390,7 +412,7 @@
              </el-form-item>
            </el-col>
            <el-col :span="6">
              <span style="font-size: 12px">{{
              <span style="font-size: 12px" v-if="indexform.sliencevoice">{{
                indexform.sliencevoice.substring(
                  indexform.sliencevoice.lastIndexOf("/") + 1
                )
@@ -440,7 +462,7 @@
              </el-form-item>
            </el-col>
            <el-col :span="6">
              <span style="font-size: 12px">{{
              <span style="font-size: 12px" v-if="indexform.noclearlyvoice">{{
                indexform.noclearlyvoice.substring(
                  indexform.noclearlyvoice.lastIndexOf("/") + 1
                )
@@ -504,7 +526,10 @@
          <el-row>
            <el-col :span="24">
              <el-form-item label="值类型">
                <el-radio-group disabled v-model="indexform.valueType">
                <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>
@@ -512,16 +537,19 @@
              </el-form-item>
              <el-form-item label="题目类型">
                <el-radio-group disabled v-model="indexform.scriptType">
                <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="3">填空</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.valueType == 1">
          <div v-if="indexform.scriptType == 1 || indexform.scriptType == 2">
            <el-card class="box-card" style="margin-bottom: 20px">
              <Regular
                :TargetoptionList="indexform.ivrLibaScriptTargetoptionList"
@@ -597,6 +625,17 @@
              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>
@@ -701,6 +740,9 @@
        ivrLibaScriptTargetoptionList: [],
        ivrLibaScriptTagList: [],
        suitway: "2",
        noMatchText:'抱歉,我没有听懂,您能再说一遍吗?',
        noClearlyText:'抱歉,我没有听清您说的话,您可以再说一次吗?',
        slienceText:'抱歉,我没有听到您说的话,您可以再说一次吗?',
      },
      mode: [],
      questionclass: [],
@@ -728,6 +770,7 @@
      addvalue: "添加题目",
      languagelist: [], //语言列表
      qyoptions: [],
      // 查询参数
      queryParams: {
        pageNum: 1,
@@ -745,12 +788,16 @@
    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;
@@ -863,6 +910,7 @@
        .catch(() => {});
    },
    gettargetInfo() {
      this.queryParams.suitWay = 2;
      gettargetInfo(this.queryParams).then((res) => {
        console.log(res);
        this.targetList = res.rows;
@@ -878,6 +926,25 @@
      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) {
@@ -915,9 +982,10 @@
    handleChange(response, file, additionalParam) {
      console.log(response);
      if (additionalParam == 1) {
        this.indexform.scriptVoice = response.url;
        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) {
@@ -1149,7 +1217,7 @@
.sidecolumn {
  margin: 20px;
  margin-bottom: 0;
  padding: 20px;
  padding: 15px;
  background: #edf1f7;
  border: 1px solid #dcdfe6;
  -webkit-box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.12),
@@ -1157,6 +1225,7 @@
}
.leftvlue {
  margin: 20px;
  margin-top: 10px;
  padding: 30px;
  background: #ffff;
  border: 1px solid #dcdfe6;