From 4dc66a6c347a4483e72892ed4195e597b9d43f8f Mon Sep 17 00:00:00 2001
From: WXL <1785969728@qq.com>
Date: 星期一, 29 四月 2024 15:02:28 +0800
Subject: [PATCH] 测试完成

---
 src/views/repositoryai/verbaltrick/particulars/index.vue | 1204 ++++++++++++++++++++++++++++++---------------------------
 1 files changed, 635 insertions(+), 569 deletions(-)

diff --git a/src/views/repositoryai/verbaltrick/particulars/index.vue b/src/views/repositoryai/verbaltrick/particulars/index.vue
index 6c50e91..8e0978c 100644
--- a/src/views/repositoryai/verbaltrick/particulars/index.vue
+++ b/src/views/repositoryai/verbaltrick/particulars/index.vue
@@ -2,10 +2,22 @@
   <div class="Questionnairemanagement">
     <!-- 宸︿晶鏍� -->
     <div class="sidecolumn">
-      <div style="height: 300px">
-        <el-steps direction="vertical" :active="Editprogress">
-          <el-step title="闂搴撶紪杈�"></el-step>
-          <el-step title="闂鎸囨爣缂栬緫"></el-step>
+      <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>
@@ -39,9 +51,12 @@
             </el-col>
             <el-col :span="12">
               <el-form-item label="鍙敤鐘舵��" prop="status">
-                <el-select v-model="indexform.status" placeholder="璇烽�夋嫨鐘舵��">
+                <el-select
+                  v-model="indexform.isAvailable"
+                  placeholder="璇烽�夋嫨鐘舵��"
+                >
                   <el-option
-                    v-for="item in qyoptions"
+                    v-for="item in usable"
                     :key="item.value"
                     :label="item.label"
                     :value="item.value"
@@ -51,23 +66,185 @@
               </el-form-item>
             </el-col>
           </el-row>
+
           <el-row :gutter="20">
             <el-col :span="12">
-              <el-form-item label="闂涓绘棬" prop="nickName">
+              <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.nickName"
+                  v-model="indexform.version"
+                  placeholder="璇疯緭鍏�"
+                  maxlength="80"
+                />
+              </el-form-item>
+            </el-col>
+          </el-row>
+          <el-row :gutter="20">
+            <el-col :span="20">
+              <el-form-item label="闂涓绘棬" prop="questiontitle">
+                <el-input
+                  v-model="indexform.questiontitle"
                   placeholder="璇疯緭鍏ラ棶棰樹富鏃�"
                   maxlength="80"
                 />
               </el-form-item>
             </el-col>
-            <el-col :span="5">
-              <el-form-item label="鐗堟湰鍙�" prop="nickName">
-                <el-input
-                  v-model="indexform.nickName"
-                  placeholder="璇疯緭鍏�"
-                  maxlength="80"
-                />
+          </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
+                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-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-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
+                  v-model="indexform.suitway"
+                  multiple
+                  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-col :span="8">
+              <el-form-item label="鍏宠仈鎸囨爣" prop="region">
+                <el-select
+                  v-model="indexform.targetid"
+                  filterable
+                  remote
+                  reserve-keyword
+                  placeholder="璇疯緭鍏ュ叧閿瘝"
+                  :remote-method="remoteMethod"
+                  @change="targetchange"
+                  :loading="loading"
+                >
+                  <el-option
+                    v-for="item in targetlist"
+                    :key="item.id"
+                    :label="item.targetname"
+                    :value="item.id"
+                  >
+                  </el-option>
+                </el-select>
               </el-form-item>
             </el-col>
           </el-row>
@@ -76,26 +253,27 @@
               <div
                 style="display: flex; margin-left: 100px; margin-bottom: 10px"
               >
-                <div class="tsgname" @click="tsgnameto()">鍖婚櫌鍚嶇О</div>
-                <div class="tsgname" @click="tsgnameto()">鍖婚櫌鐢佃瘽</div>
-                <div class="tsgname" @click="tsgnameto()">鍖婚櫌濮撳悕</div>
-                <div class="tsgname" @click="tsgnameto()">闅忚濮撳悕</div>
-                <div class="tsgname" @click="tsgnameto()">闅忚鐢佃瘽</div>
-                <div class="tsgname" @click="tsgnameto()">鎬у埆</div>
-                <div class="tsgname" @click="tsgnameto()">骞撮緞</div>
-                <div class="tsgname" @click="tsgnameto()">鍦板潃</div>
+                <div
+                  v-for="item in variablelist"
+                  class="tsgname"
+                  @click="tsgnameto(item)"
+                >
+                  {{ item.variatename }}
+                </div>
               </div>
             </el-col></el-row
           >
           <el-row>
             <el-col :span="24">
-              <el-form-item label="闂鏂囨湰" prop="verbaltricktext">
+              <el-form-item label="闂鏂囨湰" prop="questionText">
                 <el-input
+                :rows="2"
                   type="textarea"
-                  :rows="2"
+                  id="questionText"
+                  show-word-limit
                   placeholder="璇疯緭鍏ュ唴瀹�"
-                  v-model="indexform.userName"
-                  maxlength="30"
+                  v-model.sync="indexform.questionText"
+                  @focus="handleInput('questionText')"
                 />
               </el-form-item> </el-col
           ></el-row>
@@ -112,19 +290,22 @@
                 >
                   <el-button size="small" type="primary">鐐瑰嚮涓婁紶</el-button>
                 </el-upload>
-                <!-- <el-input v-model="indexform.userName" maxlength="30" /> -->
+                <!-- <el-input v-model="indexform.userName" maxlength="66"
+                  show-word-limit /> -->
               </el-form-item>
             </el-col></el-row
           >
           <el-row>
             <el-col :span="24">
-              <el-form-item label="鏃犲尮閰嶆枃鏈�" prop="matchtext">
+              <el-form-item label="鏃犲尮閰嶆枃鏈�" prop="noMatchText">
                 <el-input
                   type="textarea"
                   :rows="2"
+                  id="noMatchText"
                   placeholder="璇疯緭鍏ュ唴瀹�"
-                  v-model="indexform.userName"
-                  maxlength="30"
+                  v-model.sync="indexform.noMatchText"
+                  @focus="handleInput('noMatchText')"
+                  show-word-limit
                 />
               </el-form-item> </el-col
           ></el-row>
@@ -146,13 +327,15 @@
           >
           <el-row>
             <el-col :span="24">
-              <el-form-item label="鏃犲0鏂囨湰" prop="silenttext">
+              <el-form-item label="鏃犲0鏂囨湰" prop="slienceText">
                 <el-input
                   type="textarea"
                   :rows="2"
+                  id="slienceText"
                   placeholder="璇疯緭鍏ュ唴瀹�"
-                  v-model="indexform.userName"
-                  maxlength="30"
+                  v-model.sync="indexform.slienceText"
+                  @focus="handleInput('slienceText')"
+                  show-word-limit
                 />
               </el-form-item> </el-col
           ></el-row>
@@ -172,43 +355,18 @@
               </el-form-item>
             </el-col></el-row
           >
+
           <el-row>
             <el-col :span="24">
-              <el-form-item label="閫氱敤搴撴枃鏈�" prop="librarytext">
+              <el-form-item label="鍚笉娓呮枃鏈�" prop="noClearlyText">
                 <el-input
                   type="textarea"
+                  id="noClearlyText"
                   :rows="2"
                   placeholder="璇疯緭鍏ュ唴瀹�"
-                  v-model="indexform.userName"
-                  maxlength="30"
-                />
-              </el-form-item> </el-col
-          ></el-row>
-          <el-row>
-            <el-col :span="6">
-              <el-form-item label="閫氱敤搴撹闊�" prop="libraryy">
-                <el-upload
-                  class="upload-demo"
-                  action="https://jsonplaceholder.typicode.com/posts/"
-                  :on-change="handleChange"
-                  :file-list="fileList"
-                  :limit="1"
-                  :on-exceed="handleExceed"
-                >
-                  <el-button size="small" type="primary">鐐瑰嚮涓婁紶</el-button>
-                </el-upload>
-              </el-form-item>
-            </el-col></el-row
-          >
-          <el-row>
-            <el-col :span="24">
-              <el-form-item label="鍚笉娓呮枃鏈�" prop="vaguetext">
-                <el-input
-                  type="textarea"
-                  :rows="2"
-                  placeholder="璇疯緭鍏ュ唴瀹�"
-                  v-model="indexform.userName"
-                  maxlength="30"
+                  @focus="handleInput('noClearlyText')" 
+                  v-model.sync="indexform.noClearlyText"
+                  show-word-limit
                 />
               </el-form-item> </el-col
           ></el-row>
@@ -228,86 +386,11 @@
               </el-form-item>
             </el-col></el-row
           >
-          <el-form-item label="閫氱煡鍙橀噺" prop="name">
-            <el-row v-for="item in variablelist">
-              <el-col :span="4">
-                <el-input v-model="item.variable"></el-input>
-              </el-col>
-              <el-col :span="8" :offset="1">
-                <el-input v-model="item.value"></el-input>
-              </el-col>
-              <el-col :span="4" :offset="1">
-                <el-button
-                  type="success"
-                  icon="el-icon-plus"
-                  circle
-                  @click="addvariable(item)"
-                ></el-button>
-                <el-button
-                  type="danger"
-                  icon="el-icon-delete"
-                  circle
-                  @click="delvariable(item)"
-                ></el-button>
-              </el-col>
-            </el-row>
-          </el-form-item>
-
-          <el-row>
-            <el-col :span="24">
-              <el-form-item label="鎸囨爣璇存槑">
-                <el-input
-                  v-model="indexform.remark"
-                  type="textarea"
-                  placeholder="璇疯緭鍏ュ唴瀹�"
-                ></el-input>
-              </el-form-item>
-            </el-col>
-          </el-row>
-          <el-row>
-            <el-col :span="12">
-              <el-form-item label="浠呴檺闄㈠尯" prop="region">
-                <el-select
-                  v-model="indexform.courtyard"
-                  size="medium"
-                  filterable
-                  placeholder="璇烽�夋嫨"
-                >
-                  <el-option
-                    class="indexformaa"
-                    v-for="item in options"
-                    :key="item.value"
-                    :label="item.label"
-                    :value="item.value"
-                  >
-                  </el-option>
-                </el-select>
-              </el-form-item>
-            </el-col>
-            <el-col :span="12">
-              <el-form-item label="鍏宠仈鎸囨爣" prop="region">
-                <el-select
-                  v-model="indexform.relevance"
-                  size="medium"
-                  filterable
-                  placeholder="璇烽�夋嫨鍒嗙被"
-                >
-                  <el-option
-                    class="indexformaa"
-                    v-for="item in options"
-                    :key="item.value"
-                    :label="item.label"
-                    :value="item.value"
-                  >
-                  </el-option>
-                </el-select>
-              </el-form-item>
-            </el-col>
-          </el-row>
         </el-form>
         <div slot="footer" class="dialog-footer">
-          <el-button type="primary" @click="nextstep">纭� 瀹�</el-button>
+          <el-button type="primary" @click="nextstep">涓嬩竴姝�</el-button>
           <el-button @click="closeFm">鍏� 闂�</el-button>
+          <el-button @click="Saveproblem()">淇濆瓨鏁版嵁</el-button>
         </div>
       </div>
       <!-- 鎸囨爣璁剧疆 -->
@@ -324,243 +407,96 @@
             <el-col :span="12">
               <el-form-item label="鎸囨爣鍚嶇О" prop="deptId">
                 <el-input
-                  v-model="indexform.name"
-                  placeholder="璇疯緭鍏ユ寚鏍囩绫�"
-                  maxlength="40"
-                />
-              </el-form-item>
-            </el-col>
-            <el-col :span="12">
-              <el-form-item label="鐗堟湰鍙�" prop="deptId">
-                <el-input
-                  v-model="indexform.versions"
-                  placeholder="璇疯緭鍏ユ寚鏍囩绫�"
+                  v-model="indexform.targetname"
+                  placeholder="璇疯緭鍏ユ寚鏍囧悕绉�"
                   maxlength="40"
                 />
               </el-form-item>
             </el-col>
           </el-row>
-          <el-row>
-            <el-col :span="12">
-              <el-form-item label="璇█" prop="deptId">
-                <el-select
-                  v-model="indexform.language"
-                  placeholder="璇烽�夋嫨璇█"
-                >
-                  <el-option
-                    v-for="index in languagelist"
-                    :key="index.value"
-                    :label="index.label"
-                    :value="index.value"
-                  ></el-option>
-                </el-select>
-              </el-form-item>
-            </el-col>
-            <el-col :span="12">
-              <el-form-item label="鏄惁鍙敤" prop="deptId">
-                <el-select v-model="indexform.useofstate" placeholder="璇烽�夋嫨">
-                  <el-option
-                    v-for="index in qyoptions"
-                    :key="index.value"
-                    :label="index.label"
-                    :value="index.value"
-                  ></el-option>
-                </el-select>
-              </el-form-item>
-            </el-col>
-          </el-row>
-          <el-row>
-            <el-col :span="24">
-              <el-form-item label="鎸囨爣鎻忚堪" prop="nickName">
-                <el-input
-                  v-model="indexform.nickName"
-                  placeholder="璇疯緭鍏ユ寚鏍囨弿杩�"
-                  maxlength="40"
-                />
-              </el-form-item> </el-col
-          ></el-row>
-          <el-form-item label="鏍囩" prop="desc">
-            <div class="xinz-inf">
-              <el-tag
-                :key="tag"
-                type="success"
-                v-for="tag in dynamicTags"
-                closable
-                :disable-transitions="false"
-                @close="handleClose(tag)"
-              >
-                {{ tag }}
-              </el-tag>
-              <el-select
-                v-model="inputValue"
-                v-if="inputVisible"
-                @change="handleInputConfirm"
-                filterable
-                placeholder="璇烽�夋嫨"
-              >
-                <el-option
-                  v-for="item in optionss"
-                  :key="item.label"
-                  :label="item.label"
-                  :value="item.label"
-                >
-                </el-option>
-              </el-select>
-              <el-button
-                v-else
-                class="button-new-tag"
-                size="small"
-                @click="showInput"
-                >+ 鏂板鏍囩</el-button
-              >
-            </div>
-          </el-form-item>
+
           <el-row>
             <el-col :span="24">
               <el-form-item label="鍊肩被鍨�">
-                <el-radio-group v-model="indexform.resource">
-                  <el-radio label="閫夐」"></el-radio>
-                  <el-radio label="鏂囨湰"></el-radio>
-                  <el-radio label="鏁板��"></el-radio>
+                <el-radio-group 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-col
-          ></el-row>
-          <el-row>
-            <el-col :span="24">
-              <el-form-item label="閫傜敤鐤剧梾" prop="userName">
-                <el-select v-model="indexform.useofstate" placeholder="璇烽�夋嫨">
-                  <el-option
-                    v-for="index in qyoptions"
-                    :key="index.value"
-                    :label="index.label"
-                    :value="index.value"
-                  ></el-option>
-                </el-select>
-              </el-form-item> </el-col
-          ></el-row>
-
-          <el-row>
-            <el-col :span="24">
-              <el-form-item label="閫傜敤鏂瑰紡" prop="email">
-                <el-select v-model="indexform.useofstate" placeholder="璇烽�夋嫨">
-                  <el-option
-                    v-for="index in qyoptions"
-                    :key="index.value"
-                    :label="index.label"
-                    :value="index.value"
-                  ></el-option>
-                </el-select>
               </el-form-item>
-            </el-col>
-          </el-row>
-          <el-card class="box-card" style="margin-bottom: 20px">
-            <el-table v-loading="loading" :data="testuserList">
-              <el-table-column
-                label="搴忓彿"
-                align="center"
-                key="userid"
-                prop="userid"
-                width="50"
-              />
-              <el-table-column
-                label="鎸囨爣閫夐」"
-                align="center"
-                key="nickName"
-                prop="nickName"
-                :show-overflow-tooltip="true"
-              >
-                <template slot-scope="scope">
-                  <el-input
-                    v-model="scope.row.nickName"
-                    placeholder="璇疯緭鍏ュ唴瀹�"
-                  ></el-input>
-                </template>
-              </el-table-column>
-              <el-table-column
-                label="瑙f瀽瑙勫垯"
-                align="center"
-                key="aphonenumber"
-                prop="aphonenumber"
-                width="460"
-                :show-overflow-tooltip="true"
-              >
-                <template slot-scope="scope">
-                  <el-input
-                    v-model="scope.row.aphonenumber"
-                    placeholder="璇疯緭鍏ュ唴瀹�"
-                  ></el-input>
-                </template>
-              </el-table-column>
-
-              <el-table-column
-                label="鎿嶄綔"
-                align="center"
-                width="200"
-                class-name="small-padding fixed-width"
-              >
-                <template slot-scope="scope">
-                  <el-button
-                    @click="addoption(scope.row)"
-                    type="success"
-                    icon="el-icon-circle-plus-outline"
-                    circle
-                  ></el-button>
-                  <el-button
-                    type="danger"
-                    icon="el-icon-delete"
-                    circle
-                    @click="deloption(scope.row)"
-                  ></el-button>
-                  <el-button
-                    @click="syioption(scope.row)"
-                    type="primary"
-                    icon="el-icon-top"
-                    circle
-                  ></el-button>
-                  <el-button
-                    @click="xiayioption(scope.row)"
-                    type="primary"
-                    icon="el-icon-bottom"
-                    circle
-                  ></el-button>
-                </template>
-              </el-table-column>
-            </el-table>
-          </el-card>
-          <el-row :gutter="20">
-            <el-col :span="12">
-              <el-form-item label="娴嬭瘯杈撳叆" prop="nickName">
-                <el-input
-                  v-model="testvalue"
-                  placeholder="璇疯緭鍏ユ祴璇曞唴瀹�"
-                  maxlength="40"
-                />
-              </el-form-item>
-            </el-col>
-            <el-col :span="4">
-              <el-button type="success">寮�濮嬫祴璇�</el-button>
-            </el-col>
-          </el-row>
-        </el-form>
-        <div style="margin-bottom: 10px">
-          <el-input
-            type="textarea"
-            :rows="4"
-            placeholder="姝ゅ灞曠ず璇嗗埆缁撴灉"
-            v-model="testgovalue"
+            </el-col></el-row
           >
-          </el-input>
-        </div>
+          <div v-if="indexform.valueType == 1">
+            <el-card class="box-card" style="margin-bottom: 20px">
+              <Regular
+                :TargetoptionList="indexform.ivrLibaScriptTargetoptionList"
+                @addoption="addoption"
+                @deloption="deloption"
+                @syioption="syioption"
+                @xiayioption="xiayioption"
+              />
+            </el-card>
+            <el-row :gutter="20">
+              <el-col :span="12">
+                <el-form-item label="娴嬭瘯杈撳叆" prop="targetvalue">
+                  <el-input
+                    v-model="testvalue"
+                    placeholder="璇疯緭鍏ユ祴璇曞唴瀹�"
+                    maxlength="40"
+                  />
+                </el-form-item>
+              </el-col>
+              <el-col :span="4">
+                <el-button type="success">寮�濮嬫祴璇�</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('ruleForm')">鍏抽棴</el-button>
-        <el-button @click="Saveproblem('ruleForm')">淇濆瓨鎸囨爣鏁版嵁</el-button>
+        <el-button type="info" @click="closeFm()">鍏抽棴</el-button>
+        <el-button @click="Saveproblem()">淇濆瓨鏁版嵁</el-button>
       </div>
     </div>
   </div>
 </template>
 
 <script>
+import { listtag } from "@/api/system/label";
+import {
+  getverbaltricklist,
+  verbaltrickinfo,
+  delverbaltrickinfo,
+  compileverbaltrick,
+  getverbaltrick,
+  getbaltrickclassify,
+  gettargetInfolist,
+  gettargetInfo,
+} from "@/api/AiCentre/index";
+import Regular from "@/components/Regular"; //姝e垯缁勪欢
+import store from "@/store";
+
 export default {
+  name: "Verbalproblem",
+  components: { Regular },
   data() {
     return {
       Editprogress: 1, //缂栬緫杩涘害
@@ -568,141 +504,50 @@
       radio: "false", //鍗曢�夐閫変腑
       radios: [], //澶氶�夐閫変腑
       radioas: "", //濉┖棰樼瓟妗�
-      dynamicTags: ["鏍囩涓�", "鏍囩浜�", "鏍囩涓�"],
+      dynamicTags: [],
+      dellist: [],
       inputVisible: false,
       inputValue: "",
       testvalue: "",
       testgovalue: "",
       topicobj: {},
-      indexform: {},
+      indexform: {
+        ivrLibaScriptTargetoptionList: [],
+        ivrLibaScriptTagList: [],
+      },
+      mode: [],
+      questionclass: [],
+      currentInputId: "",
+      courtyardlist: [],
       // 鎬绘潯鏁�
       total: 1,
-      ruleForm: {
-        name: "",
-        region: "",
-        date1: "",
-        date2: "",
-        delivery: false,
-        type: [],
-        resource: "",
-        desc: "",
-        templatevalue: "",
-        data2: "",
-      },
-      rules: {},
-      rulesa: {},
-      xjxsoptions: [
+
+      targetlist: [
         {
           value: "閫夐」1",
           label: "鍥炬枃",
         },
-        {
-          value: "閫夐」2",
-          label: "瑙嗛",
-        },
-        {
-          value: "閫夐」3",
-          label: "闊抽",
-        },
       ],
+      rules: {},
+      rulesa: {},
+      optionstag: [],
+
       fileList: [
         {
           name: "food.jpeg",
           url: "https://fuss10.elemecdn.com/3/63/4e7f3a15429bfda99bce42a18cdd1jpeg.jpeg?imageMogr2/thumbnail/360x360/format/webp/quality/100",
         },
       ],
-      qyoptions: [
-        {
-          value: 1,
-          label: "鍙敤",
-        },
-        {
-          value: 2,
-          label: "绂佺敤",
-        },
-      ],
-      options: [
-        {
-          value: "閫夐」1",
-          label: "鐤剧梾鎸囨爣",
-        },
-        {
-          value: "閫夐」2",
-          label: "鍏ラ櫌鎸囨爣",
-        },
-        {
-          value: "閫夐」3",
-          label: "鎵嬫湳鎸囨爣",
-        },
-        {
-          value: "閫夐」4",
-          label: "鎶ょ悊鎸囨爣",
-        },
-      ],
+      usable: [],
+      options: [],
       variablelist: [
-        {
-          variable: "paitent",
-          value: "琛ㄧず鎮h�呯殑鏍囪瘑",
-        },
-      ],
-      testuserList: [
-        {
-          userid: 1,
-          nickName: "璐",
-          aphonenumber: "(?!涓�.*|娌�.*|鏈�.*)^.*([璐钩鍑]|璐|璇勫|璇勫),10",
-        },
-        {
-          userid: 2,
-          nickName: "姝e父",
-          aphonenumber: "(?!涓�.*|娌�.*|鏈�.*)^.*([璐钩鍑]|璐|璇勫|璇勫),10",
-        },
-        {
-          userid: 55,
-          nickName: "闈炴甯�",
-          aphonenumber: "(?!涓�.*|娌�.*|鏈�.*)^.*([璐钩鍑]|璐|璇勫|璇勫),10",
-        },
-        {
-          userid: 4,
-          nickName: "a姝e父",
-          aphonenumber: "(?!涓�.*|娌�.*|鏈�.*)^.*([璐钩鍑]|璐|璇勫|璇勫),10",
-          status: "0",
-        },
+        { variatename: "濮撳悕", variate: "${name}", default: 1 },
+        { variatename: "鐢佃瘽", variate: "${phone}", default: 1 },
+        { variatename: "鐥呮儏", variate: "${illness}", default: 1 },
       ],
 
       addvalue: "娣诲姞棰樼洰",
-      // 棰樼洰琛ㄦ牸鏁版嵁
-      userList: [
-        {
-          userid: "1",
-          userName: "涓�鍙锋寚鏍�",
-        },
-        {
-          userid: "2",
-          userName: "浜屽彿鎸囨爣",
-        },
-        {
-          userid: "3",
-          userName: "涓夊彿鎸囨爣",
-        },
-        {
-          userid: "4",
-          userName: "鍥涘彿鎸囨爣",
-        },
-      ],
-      languagelist: [
-        {
-          value: 1,
-          label: "鏅�氳瘽",
-        },
-        {
-          value: 2,
-          label: "绮よ",
-        },
-        {
-          value: 3,
-          label: "鑻辫",
-        },
-      ], //璇█鍒楄〃
+      languagelist: [], //璇█鍒楄〃
       // 鏌ヨ鍙傛暟
       queryParams: {
         pageNum: 1,
@@ -716,27 +561,146 @@
     };
   },
 
-  created() {},
+  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;
+  },
 
   methods: {
-    submitForm(formName) {
-      this.rules = this.rulesa;
-      //   鎻愪氦
-      this.$refs[formName].validate((valid) => {
-        if (valid) {
-          alert("submit!");
-        } else {
-          console.log("error submit!!");
-          return false;
-        }
+    // 鑾峰彇璇︽儏鏁版嵁
+    getverbaltrick() {
+      let id = this.$route.query.id;
+      if (id) {
+        getverbaltrick({ id: id }).then((res) => {
+          this.indexform = res.data;
+          if (this.indexform.suitway)
+            this.indexform.suitway = this.indexform.suitway.split(",");
+          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
+          );
+
+          // this.targetlist = [
+          //   {
+          //     id: this.indexform.targetid,
+          //     targetname: this.indexform.targetname,
+          //   },
+          // ];
+        });
+      }
+      gettargetInfolist({ pageSize: 100, pageNum: 1 }).then((res) => {
+        this.targetlist = res.rows;
+      });
+      // 鏍�
+      getbaltrickclassify({}).then((res) => {
+        this.questionclass = res.rows;
+        console.log(res);
       });
     },
+
+    // 淇濆瓨璇︾粏淇℃伅
+    Saveproblem() {
+      this.indexform.otherdata = JSON.stringify(this.variablelist);
+      if (this.indexform.suitway) {
+        this.indexform.suitway = this.indexform.suitway.join(",");
+      }
+
+      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);
+        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",
+            });
+          }
+        });
+      }
+    },
+    remoteMethod(query) {
+      if (query !== "") {
+        this.loading = true;
+        setTimeout(() => {
+          this.loading = false;
+          gettargetInfolist({ targetname: query }).then((res) => {
+            this.targetlist = res.rows;
+          });
+        }, 200);
+      } else {
+        this.targetlist = [];
+      }
+    },
+    targetchange(res) {
+      console.log(res);
+      gettargetInfo({ id: res }).then((res) => {
+        console.log(res.rows[0]);
+        this.$modal
+          .confirm('鏄惁娣诲姞"' + res.rows[0].targetname + '"鎸囨爣鐨勯�夐」锛�')
+          .then(() => {
+            this.indexform.valueType = res.rows[0].valueType;
+            this.indexform.questiontitle = res.rows[0].targetname;
+            this.indexform.targetname = res.rows[0].targetname;
+            this.indexform.questionText = res.rows[0].targetdesc;
+            this.indexform.isAvailable = "0";
+            this.indexform.language = "鏅�氳瘽";
+            this.indexform.isenable = res.rows[0].isenable;
+            this.$forceUpdate()
+            res.rows[0].targetoptionList.forEach((item) => {
+              item.isoperation = 1;
+              this.indexform.ivrLibaScriptTargetoptionList.push(item);
+            });
+          })
+          .catch(() => {
+            this.$modal.msgSuccess("宸插彇娑�");
+          });
+      });
+    },
+
     // 涓嬩竴姝�
     nextstep() {
-      if (this.Editprogress <= 1 && this.indexform.relevance) {
+      if (this.Editprogress <= 1) {
+        // if (this.indexform.targetid) {
         return this.Editprogress++;
+        // } else {
+        //   this.$message.warning("璇峰厛閫夋嫨鍏宠仈鎸囨爣");
+        // }
       } else {
-        this.$message.warning("璇峰厛閫夋嫨鍏宠仈鎸囨爣");
       }
     },
     // 涓婁竴姝�
@@ -760,40 +724,7 @@
           });
         });
     },
-    // 淇濆瓨棰樼洰淇℃伅
-    Saveproblem() {},
-    /** 鏌ヨ棰樼洰鍒楄〃 */
-    getList() {
-      //   this.loading = true;
-      listUser().then((response) => {
-        console.log(response);
-        // this.userList = response.data;
-        // this.total = response.total;
-        // this.loading = false;
-        console.log(this.userList);
-      });
-      //   const { rows } = await listUser();
-      //   console.log(rows);
-      //   this.list = rows;
-    },
-    // 淇敼棰樼洰淇℃伅
-    Submittopicobj() {},
-    // 鏂板鍙橀噺
-    addvariable() {
-      this.variablelist.push({
-        variable: "",
-        value: "",
-      });
-    },
-    // 鍒犻櫎鍙橀噺
-    delvariable(item) {
-      const index = this.variablelist.indexOf(item);
-      if (index !== -1) {
-        this.variablelist.splice(index, 1); // 浠庣储寮曚綅缃垹闄や竴涓厓绱�
-      } else {
-        console.log("鏈壘鍒拌瀵硅薄");
-      }
-    },
+    // 鏂囦欢----------------------
     // 鎺у埗鏂囦欢
     handleChange(file, fileList) {
       this.fileList = fileList.slice(-3);
@@ -807,102 +738,237 @@
       );
     },
     // 鏍囩-----------------
-    handleClose(tag) {
+    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 inputValue = this.inputValue;
-      if (inputValue) {
-        this.dynamicTags.push(inputValue);
+      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;
-      // 鑷姩鑾峰彇鐒︾偣
-      // this.$nextTick((_) => {
-      //   this.$refs.saveTagInput.$refs.input.focus();
-      // });
     },
-    // --------------------------
     //娴嬭瘯琛ㄥ崟 --------------------------
+    gettagerlist() {
+      gettagerlist({ targetname: this.targetname }).then((response) => {
+        console.log(response);
+        this.optionstag = response.rows;
+      });
+    },
     addoption() {
-      this.testuserList.push({
-        userid: 1,
-        nickName: "璐",
-        aphonenumber: "(?!涓�.*|娌�.*|鏈�.*)^.*([璐钩鍑]|璐|璇勫|璇勫),10",
+      this.indexform.ivrLibaScriptTargetoptionList.push({
+        guid: 1,
+        isoperation: 1,
+        targetvalue: "",
+        targetregex: "",
+        targetregex2: "",
+        dynamiccruxs: [],
+        nodynamiccruxs: [],
+        dynamiccruxsJson: "",
+        nodynamiccruxsJson: "",
       });
       this.sortFn();
     },
-    deloption() {
-      const index = this.testuserList.indexOf(item);
+    deloption(item) {
+      const index = this.indexform.ivrLibaScriptTargetoptionList.indexOf(item);
       if (index !== -1) {
-        this.testuserList.splice(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.testuserList, row);
-      const item = this.testuserList.splice(index, 1)[0]; // 绉婚櫎鎸囧畾绱㈠紩澶勭殑鍏冪礌锛屽苟淇濆瓨鍒癷tem鍙橀噺涓�
-      this.testuserList.splice(index - 1, 0, item); // 灏唅tem鎻掑叆鍒扮储寮曚綅缃殑鍓嶄竴浣�
+      const index = this.getIndexInArray(
+        this.indexform.ivrLibaScriptTargetoptionList,
+        row
+      );
+      const item = this.indexform.ivrLibaScriptTargetoptionList.splice(
+        index,
+        1
+      )[0]; // 绉婚櫎鎸囧畾绱㈠紩澶勭殑鍏冪礌锛屽苟淇濆瓨鍒癷tem鍙橀噺涓�
+      this.indexform.ivrLibaScriptTargetoptionList.splice(index - 1, 0, item); // 灏唅tem鎻掑叆鍒扮储寮曚綅缃殑鍓嶄竴浣�
       this.sortFn();
     },
     xiayioption(row) {
-      const index = this.getIndexInArray(this.testuserList, row);
-      const item = this.testuserList.splice(index, 1)[0]; // 绉婚櫎鎸囧畾绱㈠紩澶勭殑鍏冪礌锛屽苟淇濆瓨鍒癷tem鍙橀噺涓�
-      this.testuserList.splice(index + 1, 0, item); // 灏唅tem鎻掑叆鍒扮储寮曚綅缃殑鍓嶄竴浣�
+      const index = this.getIndexInArray(
+        this.indexform.ivrLibaScriptTargetoptionList,
+        row
+      );
+      const item = this.indexform.ivrLibaScriptTargetoptionList.splice(
+        index,
+        1
+      )[0]; // 绉婚櫎鎸囧畾绱㈠紩澶勭殑鍏冪礌锛屽苟淇濆瓨鍒癷tem鍙橀噺涓�
+      this.indexform.ivrLibaScriptTargetoptionList.splice(index + 1, 0, item); // 灏唅tem鎻掑叆鍒扮储寮曚綅缃殑鍓嶄竴浣�
       this.sortFn();
     },
     sortFn() {
-      this.testuserList = this.testuserList.map((item, index) => {
-        return {
-          userid: index + 1,
-          nickName: item.nickName,
-          aphonenumber: item.aphonenumber,
-        };
-      });
-      console.log(this.testuserList);
+      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);
     },
     // ---------------------
-    // 鏌ヨ棰樺簱
-    handleQuery() {},
-    resetQuery() {},
-    resetForm(formName) {
-      this.$refs[formName].resetFields();
-    },
     // 渚挎嵎鏍囩
-    tsgnameto() {},
+    tsgnameto(row) {
+      let inputValueArr = "";
+      let el = document.querySelector("#" + this.currentInputId);
+      //el.selectionStart; 杩欏氨鏄綋鍓嶅厜鏍囨墍鍦ㄧ殑浣嶇疆锛堝瓧绗︿覆涓瓧绗︾殑index锛�
+      if (this.currentInputId == "questionText") {
+        inputValueArr = this.indexform.questionText.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;
+      // 灏嗚鎻掑叆/鏇挎崲鐨勬枃瀛楁彃鍏�/鏇挎崲锛坴alue.name鏄鎻掑叆/鏇挎崲鐨勫瓧绗︿覆锛�
+      inputValueArr.splice(el.selectionStart, selectLength, `${row.variate}`);
+      // 鎶婃暟缁勯噸鏂拌浆鎹负瀛楃涓插苟璧嬪��
+      inputValueArr = inputValueArr.join("");
+      console.log(inputValueArr);
+      if (this.currentInputId == "questionText") {
+        this.indexform.questionText = 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;
+  // display: flex;
 }
 .sidecolumn {
-  width: 300px;
-  min-height: 100vh;
-  text-align: center;
-  //   display: flex;
-  //   margin-top: 20px;
   margin: 20px;
   margin-bottom: 0;
-  padding: 30px;
+  padding: 20px;
   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 {
-  //   display: flex;
-  //   flex: 1;
-  width: 80%;
-  margin-top: 20px;
-  //   margin: 20px;
+  margin: 20px;
   padding: 30px;
   background: #ffff;
   border: 1px solid #dcdfe6;

--
Gitblit v1.9.3