From f93cb40b76468c6f1063081a3be16027d69b4832 Mon Sep 17 00:00:00 2001
From: WXL <1785969728@qq.com>
Date: 星期四, 04 一月 2024 09:46:01 +0800
Subject: [PATCH] 指标完成

---
 src/api/AiCentre/index.js                                |    5 
 src/api/AiCentre/questionnaire.js                        |   57 
 src/api/AiCentre/Qtemplate.js                            |   57 
 src/api/AiCentre/publicity.js                            |   62 
 src/views/knowledge/questionnaire/compilequer/index.vue  |  487 +++-
 src/views/knowledge/questionbank/index.vue               |  654 +++---
 src/views/knowledge/education/index.vue                  |  828 +++----
 src/api/AiCentre/general.js                              |  106 +
 src/views/repositoryai/general/index.vue                 |  793 ++++++++
 src/views/repositoryai/verbaltrick/particulars/index.vue |   12 
 src/views/knowledge/questionbank/particulars/index.vue   |  753 +++++--
 src/views/repositoryai/general/particulars/index.vue     |  307 +++
 src/store/getters.js                                     |  176 +
 src/views/knowledge/questionnaire/index.vue              |  889 ++++----
 src/views/repositoryai/intention/index.vue               |   16 
 src/api/smartor/ivrtarget.js                             |    8 
 src/views/knowledge/education/compilequer/index.vue      |  451 ++-
 src/views/repositoryai/templateku/index.vue              |   16 
 18 files changed, 3,803 insertions(+), 1,874 deletions(-)

diff --git a/src/api/AiCentre/Qtemplate.js b/src/api/AiCentre/Qtemplate.js
new file mode 100644
index 0000000..3ffe179
--- /dev/null
+++ b/src/api/AiCentre/Qtemplate.js
@@ -0,0 +1,57 @@
+import request from "@/utils/request";
+
+// 鏌ヨ闂嵎妯$増鍒楄〃
+export function getQtemplatelist(data) {
+  return request({
+    url: "/smartor/svytitle/selectSvyLibTitlelist",
+    method: "post",
+    data: data,
+  });
+}
+// 闂嵎妯$増璇︽儏
+export function Qtemplateinfo(Id) {
+  return request({
+    url: "/smartor/svytitle/" + Id,
+    method: "get",
+  });
+}
+// 鍒犻櫎闂嵎妯$増
+export function delQtemplateinfo(Id) {
+    return request({
+      url: "/smartor/svytitle/remove/" + Id,
+      method: "get",
+    });
+  }
+// 鏂板鎴栦慨鏀归棶鍗锋ā鐗堣鎯�
+export function compileQtemplate(data) {
+    return request({
+      url: "/smartor/svytitle/saveOrUpdateTitle",
+      method: "post",
+      data: data,
+    });
+  }
+
+
+  // 鏂板闂嵎妯$増鍒嗙被
+  export function addQtemplateclassify(data) {
+    return request({
+      url: "/smartor/svyLibTitleCategory/addtree",
+      method: "post",
+      data: data,
+    });
+  }
+  // 鍒犻櫎闂嵎妯$増鍒嗙被
+export function delQtemplateclassify(Id) {
+  return request({
+    url: "/smartor/svyLibTitleCategory/remove/" + Id,
+    method: "get",
+  });
+}
+  // 鏌ヨ闂嵎妯$増鍒嗙被鏍�
+  export function getQtemplateclassify(data) {
+    return request({
+      url: "/smartor/svyLibTitleCategory/selectIvrLibasvytitleList",
+      method: "post",
+      data: data,
+    });
+  }
\ No newline at end of file
diff --git a/src/api/AiCentre/general.js b/src/api/AiCentre/general.js
new file mode 100644
index 0000000..08cb9a4
--- /dev/null
+++ b/src/api/AiCentre/general.js
@@ -0,0 +1,106 @@
+import request from "@/utils/request";
+
+// 鏌ヨ閫氱敤妯$増鍒楄〃
+export function getgenerallist(data) {
+  return request({
+    url: "/smartor/extemplate/list",
+    method: "post",
+    data: data,
+  });
+}
+
+// 鍒犻櫎閫氱敤妯$増
+export function delgeneralinfo(Id) {
+    return request({
+      url: "/smartor/extemplate/remove/" + Id,
+      method: "get",
+    });
+  }
+    // 鏌ヨ閫氱敤妯$増璇︽儏鍒楄〃
+    export function getgeneralinfo(Id) {
+    return request({
+      url: "/smartor/extemplate/" + Id,
+      method: "get",
+    });
+  }
+// 鏂板妯$増
+export function addgeneral(data) {
+    return request({
+      url: "/smartor/extemplate/add",
+      method: "post",
+      data: data,
+    });
+  }
+//   淇敼閫氱敤妯$増
+  export function editgeneral(data) {
+    return request({
+      url: "/smartor/extemplate/edit",
+      method: "post",
+      data: data,
+    });
+  }
+
+
+  // 鏂板閫氱敤妯$増鍒嗙被鏍�
+  export function addgeneralclassify(data) {
+    return request({
+      url: "/smartor/category/add",
+      method: "post",
+      data: data,
+    });
+  }
+  // 鍒犻櫎閫氱敤妯$増鍒嗙被
+export function delgeneralclassify(Id) {
+  return request({
+    url: "/smartor/category/remove/" + Id,
+    method: "get",
+  });
+}
+  // 鏌ヨ閫氱敤妯$増鍒嗙被鏍�
+  export function getgeneralclassify(data) {
+    return request({
+      url: "/smartor/category/list",
+      method: "post",
+      data: data,
+    });
+  }
+  // 鏌ヨ閫氱敤妯$増璇濇湳鍒楄〃
+export function getgeneravaluellist(data) {
+    return request({
+      url: "/smartor/extemplatescript/list",
+      method: "post",
+      data: data,
+    });
+  }
+  
+  // 鍒犻櫎閫氱敤妯$増璇濇湳
+  export function delgeneravaluelinfo(Id) {
+      return request({
+        url: "/smartor/extemplatescript/remove/" + Id,
+        method: "get",
+      });
+    }
+      // 鏌ヨ閫氱敤妯$増璇濇湳璇︽儏
+      export function getgeneravaluelinfo(Id) {
+      return request({
+        url: "/smartor/extemplatescript/" + Id,
+        method: "get",
+      });
+    }
+  // 鏂板妯$増璇濇湳
+  export function addgeneravaluel(data) {
+      return request({
+        url: "/smartor/extemplatescript/add",
+        method: "post",
+        data: data,
+      });
+    }
+  //   淇敼閫氱敤妯$増璇濇湳
+    export function editgeneravaluel(data) {
+      return request({
+        url: "/smartor/extemplatescript/edit",
+        method: "post",
+        data: data,
+      });
+    }
+  
\ No newline at end of file
diff --git a/src/api/AiCentre/index.js b/src/api/AiCentre/index.js
index 1f9bae7..bb246c2 100644
--- a/src/api/AiCentre/index.js
+++ b/src/api/AiCentre/index.js
@@ -1,3 +1,8 @@
 export * from './indicator'
 export * from './Problemspeaking'
 export * from './Followup'
+export * from './general'
+export * from './publicity'
+export * from './Qtemplate'
+export * from './questionnaire'
+
diff --git a/src/api/AiCentre/publicity.js b/src/api/AiCentre/publicity.js
new file mode 100644
index 0000000..76c553c
--- /dev/null
+++ b/src/api/AiCentre/publicity.js
@@ -0,0 +1,62 @@
+import request from "@/utils/request";
+
+// 鏌ヨ瀹f暀妯$増鍒楄〃
+export function getlibrarylist(data) {
+  return request({
+    url: "/smartor/library/list",
+    method: "post",
+    data: data,
+  });
+}
+
+// 鍒犻櫎瀹f暀妯$増
+export function dellibraryinfo(Id) {
+    return request({
+      url: "/smartor/library/remove/" + Id,
+      method: "get",
+    });
+  }
+    // 鏌ヨ瀹f暀妯$増璇︽儏鍒楄〃
+    export function getlibraryinfo(data) {
+    return request({
+      url: "/smartor/library/selectInfoByCondition",
+      method: "post",
+      data: data,
+    });
+  }
+// 鏂板鎴栦慨鏀瑰鏁欐ā鐗�
+export function compilelibrary(data) {
+    return request({
+      url: "/smartor/library/saveOrUpdateScript",
+      method: "post",
+      data: data,
+    });
+  }
+
+
+
+  // 鏂板瀹f暀妯$増鍒嗙被鏍�
+  export function addheLibraryAssort(data) {
+    return request({
+      url: "/smartor/heLibraryAssort/addtree",
+      method: "post",
+      data: data,
+    });
+  }
+  // 鍒犻櫎瀹f暀妯$増鍒嗙被
+export function delheLibraryAssort(Id) {
+  return request({
+    url: "/smartor/heLibraryAssort/remove/" + Id,
+    method: "get",
+  });
+}
+  // 鏌ヨ瀹f暀妯$増鍒嗙被鏍�
+  export function getheLibraryAssort(data) {
+    return request({
+      url: "/smartor/heLibraryAssort/selectHeLibraryAssortList",
+      method: "post",
+      data: data,
+    });
+  }
+     
+  
\ No newline at end of file
diff --git a/src/api/AiCentre/questionnaire.js b/src/api/AiCentre/questionnaire.js
new file mode 100644
index 0000000..ad2942d
--- /dev/null
+++ b/src/api/AiCentre/questionnaire.js
@@ -0,0 +1,57 @@
+import request from "@/utils/request";
+
+// 鏌ヨ闂嵎闂鍒楄〃
+export function getissuelist(data) {
+  return request({
+    url: "/smartor/svytopic/list",
+    method: "post",
+    data: data,
+  });
+}
+// 闂嵎闂璇︽儏
+export function issueinfo(Id) {
+  return request({
+    url: "/smartor/svytopic/getInfo/" + Id,
+    method: "get",
+  });
+}
+// 鍒犻櫎闂嵎闂
+export function delissueinfo(Id) {
+    return request({
+      url: "/smartor/svytopic/remove/" + Id,
+      method: "get",
+    });
+  }
+// 鏂板鎴栦慨鏀归棶鍗烽棶棰樿鎯�
+export function compileissue(data) {
+    return request({
+      url: "/smartor/svytopic/saveOrUpdateTopic",
+      method: "post",
+      data: data,
+    });
+  }
+
+
+  // 鏂板闂嵎闂鍒嗙被
+  export function addissueclassify(data) {
+    return request({
+      url: "/smartor/svyLibTopicCategory/addtree",
+      method: "post",
+      data: data,
+    });
+  }
+  // 鍒犻櫎闂嵎闂鍒嗙被
+export function delissueclassify(Id) {
+  return request({
+    url: "/smartor/svyLibTopicCategory/remove/" + Id,
+    method: "get",
+  });
+}
+  // 鏌ヨ闂嵎闂鍒嗙被鏍�
+  export function getissueclassify(data) {
+    return request({
+      url: "/smartor/svyLibTopicCategory/selectIvrLibasvytitleList",
+      method: "post",
+      data: data,
+    });
+  }
\ No newline at end of file
diff --git a/src/api/smartor/ivrtarget.js b/src/api/smartor/ivrtarget.js
index 19cf14c..f93e8e8 100644
--- a/src/api/smartor/ivrtarget.js
+++ b/src/api/smartor/ivrtarget.js
@@ -10,9 +10,9 @@
 }
 
 // 鏌ヨ鎸囨爣搴撹缁�
-export function getIvrtarget(targetID) {
+export function getIvrtarget(targetid) {
   return request({
-    url: '/smartor/ivrtarget/' + targetID,
+    url: '/smartor/ivrtarget/' + targetid,
     method: 'get'
   })
 }
@@ -36,9 +36,9 @@
 }
 
 // 鍒犻櫎鎸囨爣搴�
-export function delIvrtarget(targetID) {
+export function delIvrtarget(targetid) {
   return request({
-    url: '/smartor/ivrtarget/remove/' + targetID,
+    url: '/smartor/ivrtarget/remove/' + targetid,
     method: 'get'
   })
 }
diff --git a/src/store/getters.js b/src/store/getters.js
index ccdf439..7eaf251 100644
--- a/src/store/getters.js
+++ b/src/store/getters.js
@@ -72,7 +72,7 @@
   // 鏄惁鍙敤
   usable: (state) => [
     {
-      value: '0',
+      value: "0",
       label: "鍙敤",
       raw: {
         cssClass: "",
@@ -80,7 +80,7 @@
       },
     },
     {
-      value: '1',
+      value: "1",
       label: "鍋滅敤",
       raw: {
         cssClass: "",
@@ -91,7 +91,7 @@
   // 浼樺厛鎵ц
   precedencetype: (state) => [
     {
-      value: '0',
+      value: "0",
       label: "璇煶浼樺厛",
       raw: {
         cssClass: "",
@@ -99,7 +99,7 @@
       },
     },
     {
-      value: '1',
+      value: "1",
       label: "鏂囧瓧浼樺厛",
       raw: {
         cssClass: "",
@@ -107,59 +107,131 @@
       },
     },
   ],
-    // 閫傜敤闄㈠尯
-    courtyardlist: (state) => [
-      {
-        value: '1',
-        label: "涔嬫睙闄㈠尯",
-        raw: {
-          cssClass: "",
-          listClass: "",
-        },
+  // 閫傜敤闄㈠尯
+  courtyardlist: (state) => [
+    {
+      value: "1",
+      label: "涔嬫睙闄㈠尯",
+      raw: {
+        cssClass: "",
+        listClass: "",
       },
-      {
-        value: '2',
-        label: "搴嗘槬闄㈠尯",
-        raw: {
-          cssClass: "",
-          listClass: "",
-        },
+    },
+    {
+      value: "2",
+      label: "搴嗘槬闄㈠尯",
+      raw: {
+        cssClass: "",
+        listClass: "",
       },
-      {
-        value: '3',
-        label: "浣欐澀闄㈠尯",
-        raw: {
-          cssClass: "",
-          listClass: "",
-        },
+    },
+    {
+      value: "3",
+      label: "浣欐澀闄㈠尯",
+      raw: {
+        cssClass: "",
+        listClass: "",
       },
-    ],
- // 璇█
- languagelist: (state) => [
-  {
-    value: "鏅�氳瘽",
-    label: "鏅�氳瘽",
-    raw: {
-      cssClass: "",
-      listClass: "",
     },
-  },
-  {
-    value: "绮よ",
-    label: "绮よ",
-    raw: {
-      cssClass: "",
-      listClass: "",
+  ],
+  // 璇█
+  languagelist: (state) => [
+    {
+      value: "鏅�氳瘽",
+      label: "鏅�氳瘽",
+      raw: {
+        cssClass: "",
+        listClass: "",
+      },
     },
-  },
-  {
-    value: "鑻辫",
-    label: "鑻辫",
-    raw: {
-      cssClass: "",
-      listClass: "",
+    {
+      value: "绮よ",
+      label: "绮よ",
+      raw: {
+        cssClass: "",
+        listClass: "",
+      },
     },
-  },
-],};
+    {
+      value: "鑻辫",
+      label: "鑻辫",
+      raw: {
+        cssClass: "",
+        listClass: "",
+      },
+    },
+  ],
+  // 瀹f暀鏂瑰紡
+  editableTabs: (state) => [
+    {
+      value: "鐭俊",
+      label: "1",
+      raw: {
+        cssClass: "",
+        listClass: "",
+      },
+    },
+    {
+      value: "閽夐拤",
+      label: "2",
+      raw: {
+        cssClass: "",
+        listClass: "",
+      },
+    },
+    {
+      value: "寰俊",
+      label: "3",
+      raw: {
+        cssClass: "",
+        listClass: "",
+      },
+    },
+    {
+      value: "鐢佃瘽",
+      label: "4",
+      raw: {
+        cssClass: "",
+        listClass: "",
+      },
+    },
+    {
+      value: "绾夸笅",
+      label: "5",
+      raw: {
+        cssClass: "",
+        listClass: "",
+      },
+    },
+    {
+      value: "鏅鸿兘璇煶",
+      label: "6",
+      raw: {
+        cssClass: "",
+        listClass: "",
+      },
+    },
+  ],
+  // 棰樼洰绫诲埆
+  xjxsoptions:(state) => [
+    {
+      value: "1",
+      label: "鍗曢��",
+      raw: {
+        cssClass: "",
+        listClass: "",
+      },
+    },
+    {
+      value: "2",
+      label: "澶氶��",
+      raw: {
+        cssClass: "",
+        listClass: "",
+      },
+    },
+
+  ],
+};
 
 export default getters;
diff --git a/src/views/knowledge/education/compilequer/index.vue b/src/views/knowledge/education/compilequer/index.vue
index b48ef43..8ec30df 100644
--- a/src/views/knowledge/education/compilequer/index.vue
+++ b/src/views/knowledge/education/compilequer/index.vue
@@ -13,9 +13,7 @@
     <div class="leftvlue">
       <!-- 鍩烘湰淇℃伅 -->
       <div v-if="Editprogress == 1">
-        <div class="leftvlue-jbxx">
-          鍩烘湰淇℃伅<span>褰撳墠鐗堟湰:{{ currentVersion }}</span>
-        </div>
+        <div class="leftvlue-jbxx">鍩烘湰淇℃伅</div>
         <el-form
           :model="ruleForm"
           :rules="rules"
@@ -25,25 +23,29 @@
         >
           <el-form-item label="瀹f暀鍒嗙被" prop="region">
             <el-select
-              v-model="ruleForm.classify"
+              v-model="ruleForm.groupID"
               size="medium"
-              multiple
               filterable
               placeholder="璇烽�夋嫨鍒嗙被"
             >
               <el-option
                 class="ruleFormaa"
-                v-for="item in options"
-                :key="item.value"
-                :label="item.label"
-                :value="item.value"
+                v-for="item in sortlist"
+                :key="item.id"
+                :label="item.assortname"
+                :value="item.id"
               >
               </el-option>
             </el-select>
           </el-form-item>
-          <el-form-item label="瀹f暀鏍囬" prop="name">
+          <el-form-item label="瀹f暀鏍囬" prop="extName">
             <div style="width: 30%">
-              <el-input v-model="ruleForm.name"></el-input>
+              <el-input v-model="ruleForm.extName"></el-input>
+            </div>
+          </el-form-item>
+          <el-form-item label="瀹f暀鎻忚堪" prop="extName">
+            <div style="width: 30%">
+              <el-input v-model="ruleForm.note"></el-input>
             </div>
           </el-form-item>
           <el-form-item label="閫氱煡鍙橀噺" prop="name">
@@ -89,29 +91,32 @@
           <el-form-item label="鏍囩" prop="desc">
             <div class="xinz-inf">
               <el-tag
-                :key="tag"
+                :key="tag.tagname"
                 type="success"
                 v-for="tag in dynamicTags"
                 closable
                 :disable-transitions="false"
-                @close="handleClose(tag)"
+                @close="handleClosetag(tag)"
               >
-                {{ tag }}
+                {{ tag.tagname }}
               </el-tag>
               <el-select
                 v-model="inputValue"
                 v-if="inputVisible"
                 @change="handleInputConfirm"
                 filterable
-                  allow-create
-                  default-first-option
+                remote
+                reserve-keyword
+                default-first-option
+                :remote-method="remoteMethodtag"
+                :loading="loading"
                 placeholder="璇烽�夋嫨"
               >
                 <el-option
                   v-for="item in optionstag"
-                  :key="item.tagname"
-                    :label="item.tagname"
-                    :value="item.tagname"
+                  :key="item.tagid"
+                  :label="item.tagname"
+                  :value="item.tagname"
                 >
                 </el-option>
               </el-select>
@@ -127,12 +132,12 @@
           <el-row :gutter="20">
             <el-col :span="6">
               <el-form-item label="鐗堟湰鍙�" prop="name">
-                <el-input v-model="currentVersion"></el-input> </el-form-item
+                <el-input v-model="ruleForm.version"></el-input> </el-form-item
             ></el-col>
             <el-col :span="9">
               <el-form-item label="鍙敤鐘舵��" prop="region">
                 <el-select
-                  v-model="ruleForm.classify"
+                  v-model="ruleForm.isEnable"
                   size="medium"
                   multiple
                   filterable
@@ -140,7 +145,7 @@
                 >
                   <el-option
                     class="ruleFormaa"
-                    v-for="item in options"
+                    v-for="item in usable"
                     :key="item.value"
                     :label="item.label"
                     :value="item.value"
@@ -168,24 +173,47 @@
             </el-select>
           </el-form-item>
           <el-form-item label="閫傜敤鐤剧梾" prop="region">
-            <el-select
-              v-model="ruleForm.illness"
-              size="medium"
-              multiple
-              filterable
-              placeholder="璇烽�夋嫨鍒嗙被"
-            >
-              <el-option
-                class="ruleFormaa"
-                v-for="item in options"
-                :key="item.value"
-                :label="item.label"
-                :value="item.value"
+            <div class="xinz-infs">
+              <el-tag
+                :key="item.icd10name"
+                type="warning"
+                v-for="item in illnesslist"
+                closable
+                :disable-transitions="false"
+                @close="handleCloseillness(item)"
               >
-              </el-option>
-            </el-select>
+                {{ item.icd10name }}
+              </el-tag>
+              <el-select
+                v-model="inputValue"
+                v-if="illnessVisible"
+                @change="illnessConfirm"
+                :remote-method="remoteMethod"
+                filterable
+                remote
+                allow-create
+                default-first-option
+                placeholder="璇烽�夋嫨/鏌ヨ"
+                :loading="loading"
+              >
+                <el-option
+                  v-for="item in optionsillness"
+                  :key="item.icdid"
+                  :label="item.icdname"
+                  :value="item.icdid"
+                >
+                </el-option>
+              </el-select>
+              <el-button
+                v-else
+                class="button-new-tag"
+                size="small"
+                @click="illnessshowInput"
+                >+ 鏂板鐤剧梾</el-button
+              >
+            </div>
           </el-form-item>
-          <el-form-item label="浣跨敤闄㈠尯" prop="region">
+          <el-form-item label="閫傜敤闄㈠尯" prop="region">
             <el-select
               v-model="ruleForm.courtyard"
               size="medium"
@@ -194,7 +222,7 @@
             >
               <el-option
                 class="ruleFormaa"
-                v-for="item in options"
+                v-for="item in courtyardlist"
                 :key="item.value"
                 :label="item.label"
                 :value="item.value"
@@ -225,9 +253,7 @@
               >涓嬩竴姝�</el-button
             >
             <el-button @click="resetForm('ruleForm')">閲嶇疆</el-button>
-            <el-button type="info" @click="closeFm('ruleForm')"
-                >鍏抽棴</el-button
-              >
+            <el-button type="info" @click="closeFm('ruleForm')">鍏抽棴</el-button>
           </el-form-item>
         </el-form>
       </div>
@@ -303,10 +329,23 @@
 
 <script>
 import { quillEditor } from "vue-quill-editor";
+import {
+  getheLibraryAssort,
+  delheLibraryAssort,
+  addheLibraryAssort,
+  addtargetillness,
+  getlibrarylist,
+  dellibraryinfo,
+  compilelibrary,
+  getlibraryinfo,
+  getillnesslist,
+  illnesslistget,
+  getillness,
+} from "@/api/AiCentre/index";
 // import * as Quill from "quill";
 import Quill from "quill";
 import { listtag } from "@/api/system/label";
-
+import store from "@/store";
 
 // 杩欓噷寮曞叆淇敼杩囩殑video妯″潡骞舵敞鍐�
 import Video from "./video";
@@ -354,8 +393,9 @@
         },
       ],
       content: "", //鏈�缁堜繚瀛樼殑鍐呭
-      dynamicTags: ["鏍囩涓�", "鏍囩浜�", "鏍囩涓�"],
+      dynamicTags: [],
       inputVisible: false,
+      illnessVisible: false,
       inputValue: "",
       // 瀵屾枃鏈�
       editorOption: {
@@ -405,88 +445,31 @@
       radioas: "", //濉┖棰樼瓟妗�
       // 鎬绘潯鏁�
       total: 1,
-      ruleForm: {
-        name: "",
-        shape: "",
-        classify: "",
-        region: "",
-        date1: "",
-        date2: "",
-        delivery: false,
-        type: [],
-        resource: "",
-        desc: "",
-        templatevalue: "",
-        data2: "",
-      },
+      ruleForm: {},
       rules: {},
-      rulesa: {
-        name: [
-          { required: true, message: "璇疯緭鍏ユ椿鍔ㄥ悕绉�", trigger: "blur" },
-          { min: 3, max: 5, message: "闀垮害鍦� 3 鍒� 5 涓瓧绗�", trigger: "blur" },
-        ],
-        region: [
-          { required: true, message: "璇烽�夋嫨娲诲姩鍖哄煙", trigger: "change" },
-        ],
-        date1: [
-          {
-            type: "date",
-            required: true,
-            message: "璇烽�夋嫨鏃ユ湡",
-            trigger: "change",
-          },
-        ],
-        date2: [
-          {
-            type: "date",
-            required: true,
-            message: "璇烽�夋嫨鏃堕棿",
-            trigger: "change",
-          },
-        ],
-        type: [
-          {
-            type: "array",
-            required: true,
-            message: "璇疯嚦灏戦�夋嫨涓�涓椿鍔ㄦ�ц川",
-            trigger: "change",
-          },
-        ],
-        resource: [
-          { required: true, message: "璇烽�夋嫨娲诲姩璧勬簮", trigger: "change" },
-        ],
-        desc: [{ required: true, message: "璇峰~鍐欐椿鍔ㄥ舰寮�", trigger: "blur" }],
-      },
-      options: [
-        {
-          value: "閫夐」1",
-          label: "鐤剧梾瀹f暀",
-        },
-        {
-          value: "閫夐」2",
-          label: "鍏ラ櫌瀹f暀",
-        },
-        {
-          value: "閫夐」3",
-          label: "鎵嬫湳瀹f暀",
-        },
-        {
-          value: "閫夐」4",
-          label: "鎶ょ悊瀹f暀",
-        },
-      ],
-      optionstag:[],
+      rulesa: {},
+      mode: [],
+      editableTabs: [],
+      sortlist: [],
+      usable: [],
+      courtyardlist: [],
+      precedencetype: [],
+      optionsillness: [],
+      illnesslistapi: [],
+      illnesslist: [],
+      options: [],
+      optionstag: [],
       xjxsoptions: [
         {
-          value: "閫夐」1",
+          value: "1",
           label: "鍥炬枃",
         },
         {
-          value: "閫夐」2",
+          value: "2",
           label: "瑙嗛",
         },
         {
-          value: "閫夐」3",
+          value: "3",
           label: "闊抽",
         },
       ],
@@ -498,25 +481,7 @@
         },
       ],
       addvalue: "娣诲姞棰樼洰",
-      // 棰樼洰琛ㄦ牸鏁版嵁
-      userList: [
-        {
-          userid: "1",
-          userName: "涓�鍙峰鏁�",
-        },
-        {
-          userid: "2",
-          userName: "浜屽彿瀹f暀",
-        },
-        {
-          userid: "3",
-          userName: "涓夊彿瀹f暀",
-        },
-        {
-          userid: "4",
-          userName: "鍥涘彿瀹f暀",
-        },
-      ],
+
       variablelist: [
         {
           variable: "paitent",
@@ -527,17 +492,19 @@
       queryParams: {
         pageNum: 1,
         pageSize: 10,
-        userName: undefined,
-        phonenumber: undefined,
-        status: undefined,
-        deptId: undefined,
-        IDnumber: undefined,
       },
     };
   },
 
   created() {
     this.gettabList();
+    this.getList();
+    this.illnessUpdate();
+    this.mode = store.getters.mode;
+    this.editableTabs = store.getters.editableTabs;
+    this.usable = store.getters.usable;
+    this.precedencetype = store.getters.precedencetype;
+    this.courtyardlist = store.getters.courtyardlist;
   },
   watch: {
     content(newVal, oldVal) {
@@ -548,6 +515,28 @@
   },
 
   methods: {
+    getList() {
+      this.loading = true;
+      getlibraryinfo({ id: this.$route.query.id }).then((res) => {
+        this.ruleForm = res.data;
+      });
+      getheLibraryAssort({}).then((res) => {
+        this.sortlist = res.rows;
+        console.log(res);
+      });
+    },
+    /** 鏌ヨ鏍囩鍒楄〃 */
+    gettabList() {
+      const tagqueryParams = {
+        pageNum: 1,
+        pageSize: 1000,
+        tagcategoryid: "0",
+      };
+      listtag(tagqueryParams).then((response) => {
+        console.log(response);
+        this.optionstag = response.rows;
+      });
+    },
     // 瀹屾垚
     submitForm(formName) {
       this.rules = this.rulesa;
@@ -572,48 +561,26 @@
       this.Editprogress = this.Editprogress - 1;
     },
     // 鍏抽棴
-    closeFm(){
-      this.$confirm('閫�鍑轰笉浼氫繚鐣欓〉闈㈠唴瀹规洿鏀�, 鏄惁缁х画?', '鎻愮ず', {
-          confirmButtonText: '纭畾',
-          cancelButtonText: '鍙栨秷',
-          type: 'warning'
-        }).then(() => {
-          this.$router.go(-1)
-        }).catch(() => {
+    closeFm() {
+      this.$confirm("閫�鍑轰笉浼氫繚鐣欓〉闈㈠唴瀹规洿鏀�, 鏄惁缁х画?", "鎻愮ず", {
+        confirmButtonText: "纭畾",
+        cancelButtonText: "鍙栨秷",
+        type: "warning",
+      })
+        .then(() => {
+          this.$router.go(-1);
+        })
+        .catch(() => {
           this.$message({
-            type: 'info',
-            message: '宸插彇娑�'
-          });          
+            type: "info",
+            message: "宸插彇娑�",
+          });
         });
     },
     // 淇濆瓨棰樼洰淇℃伅
-    Saveproblem(){},
+    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;
-    },
-    /** 鏌ヨ鏍囩鍒楄〃 */
-    gettabList() {
-      const tagqueryParams = {
-        pageNum: 1,
-        pageSize: 1000,
-        tagcategoryid: "0",
-      };
-      listtag(tagqueryParams).then((response) => {
-        console.log(response);
-        this.optionstag = response.rows;
-      });
-    },
+
     // 鏂板鍙橀噺
     addvariable() {
       this.variablelist.push({
@@ -635,23 +602,135 @@
       this.fileList = fileList.slice(-3);
     },
     // 鏍囩-----------------
-    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.ruleForm.ivrLibaTemplateTargetList[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.ruleForm.ivrLibaTemplateTargetList.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();
-      // });
+    },
+    // 鐤剧梾-----------------------
+    illnessUpdate() {
+      this.illnesslistapi = [];
+      const illnessqueryParams = {
+        pageNum: 1,
+        pageSize: 100,
+      };
+      getillnesslist(illnessqueryParams).then((response) => {
+        console.log(response);
+        this.optionsillness = response.rows;
+      });
+      getillness({ outid: this.$route.query.id, type: 6 }).then((res) => {
+        this.illnesslist = res.rows;
+        console.log(res);
+      });
+    },
+    handleCloseillness(tag) {
+      this.illnesslist.splice(this.illnesslist.indexOf(tag), 1);
+      if (tag.id) {
+        this.illnesslistapi.push(tag.id);
+      }
+    },
+    remoteMethod(value) {
+      console.log(value);
+      const illnessqueryParams = {
+        pageNum: 1,
+        pageSize: 100,
+        icdname: value,
+      };
+      this.loading = true;
+      setTimeout(() => {
+        this.loading = false;
+        getillnesslist(illnessqueryParams).then((response) => {
+          this.optionsillness = response.rows;
+        });
+      }, 200);
+    },
+    illnessConfirm(item) {
+      let opeavalue = {};
+      let tagname = this.inputValue;
+      illnesslistget(item).then((res) => {
+        opeavalue = res.data;
+        opeavalue.outid = this.indexid;
+        opeavalue.type = 6;
+        opeavalue.icd10id = opeavalue.icdid;
+        opeavalue.icd10name = opeavalue.icdname;
+        opeavalue.icd10code = opeavalue.icdcode;
+        if (tagname) {
+          this.illnesslist.push(opeavalue);
+        }
+      });
+      console.log(this.illnesslist);
+      this.inputVisible = false;
+      this.inputValue = "";
+    },
+    confirmillness() {
+      this.illnesslist.forEach((item, index) => {
+        if (!item.id) {
+          addtargetillness(item).then((res) => {});
+        }
+      });
+      if (this.illnesslistapi.length) {
+        deltargetillness(this.illnesslistapi.join(",")).then((res) => {});
+      }
+      this.illnessVisible = false;
+      this.$modal.msgSuccess("缂栬緫鎴愬姛");
+    },
+    illnessshowInput() {
+      this.illnessVisible = true;
     },
     // --------------------------
 
diff --git a/src/views/knowledge/education/index.vue b/src/views/knowledge/education/index.vue
index e8aacfe..013025c 100644
--- a/src/views/knowledge/education/index.vue
+++ b/src/views/knowledge/education/index.vue
@@ -13,84 +13,34 @@
           class="input-with-select"
           size="medium"
         >
-          <el-button
-            @click="sidecolumnss"
-            slot="append"
-            icon="el-icon-search"
-          ></el-button>
         </el-input>
       </div>
-      <div class="bottom-fl">
-        <el-menu
-          default-active="3"
-          class="el-menu-vertical-demo"
-          @open="handleOpen"
-          @close="handleClose"
-          @select="handleSelect"
+      <div class="head-container" style="margin-top: 20px">
+        <el-tree
+          :data="deptOptions"
+          :props="defaultProps"
+          :expand-on-click-node="false"
+          :filter-node-method="filterNode"
+          ref="tree"
+          node-key="id"
+          default-expand-all
+          highlight-current
+          @node-click="handleNodeClick"
         >
-          <el-submenu index="1">
-            <template slot="title">
-              <i class="el-icon-location"></i>
-              <span>鍒嗙被涓�</span>
-            </template>
-
-            <el-menu-item index="1-1">閫夐」1</el-menu-item>
-            <el-menu-item index="1-2">閫夐」2</el-menu-item>
-            <el-menu-item index="1-3">閫夐」3</el-menu-item>
-            <el-menu-item index="1-4">閫夐」3</el-menu-item>
-          </el-submenu>
-          <el-submenu index="2">
-            <template slot="title">
-              <i class="el-icon-menu"></i>
-              <span>鍒嗙被浜�</span>
-            </template>
-            <el-menu-item index="2-1">閫夐」1</el-menu-item>
-            <el-menu-item index="2-2">閫夐」2</el-menu-item>
-            <el-menu-item index="2-3">閫夐」3</el-menu-item>
-          </el-submenu>
-          <el-submenu index="3">
-            <template slot="title">
-              <i class="el-icon-document"></i>
-              <span>鍒嗙被涓�</span>
-            </template>
-            <el-menu-item index="2-1">閫夐」1</el-menu-item>
-          </el-submenu>
-          <el-submenu index="4">
-            <template slot="title">
-              <i class="el-icon-setting"></i>
-              <span>鍒嗙被鍥�</span>
-            </template>
-            <el-menu-item index="2-1">閫夐」1</el-menu-item>
-          </el-submenu>
-        </el-menu>
-        <!-- <el-tabs tab-position="right">
-          <el-tab-pane :label="`鍏ㄩ儴 (${numberlb})`"></el-tab-pane>
-          <el-tab-pane
-            class="tab-paness"
-            :key="item.title"
-            v-for="(item, index) in editableTabs"
-          >
-            <span slot="label">
-              {{
-                item.title + " (" + item.number + ")"
-              }}&nbsp&nbsp&nbsp<el-popover
-                placement="top-start"
-                width="100"
-                trigger="hover"
+          <span class="custom-tree-node" slot-scope="{ node, data }">
+            <span>{{ node.label }}</span>
+            <span>
+              <el-button
+                type="text"
+                icon="el-icon-delete"
+                circle
+                size="mini"
+                @click="() => remove(node, data)"
               >
-                <div style="text-align: center">
-                  <el-button type="text" @click="popoveramend(item)"
-                    >淇敼</el-button
-                  ><el-button type="text" @click="deletefenlei(item)"
-                    ><span style="color: rgb(173, 55, 55)"
-                      >鍒犻櫎</span
-                    ></el-button
-                  >
-                </div>
-                <i slot="reference" class="el-icon-share"></i> </el-popover
-            ></span>
-          </el-tab-pane>
-        </el-tabs> -->
+              </el-button>
+            </span>
+          </span>
+        </el-tree>
       </div>
     </div>
     <!-- 鍙充晶鏁版嵁 -->
@@ -161,10 +111,10 @@
                   placeholder="璇烽�夋嫨"
                 >
                   <el-option
-                    v-for="(item, index) in editableTabsky"
-                    :key="index++"
-                    :label="item.title"
-                    :value="index++"
+                    v-for="item in qyoptions"
+                    :key="item.value"
+                    :label="item.value"
+                    :value="item.label"
                   >
                   </el-option>
                 </el-select>
@@ -215,11 +165,7 @@
 
               <!-- <el-col :span="1.5"> </el-col> -->
             </el-row>
-            <!-- <right-toolbar
-          :showSearch.sync="showSearch"
-          @queryTable="getList"
-          :columns="columns"
-        ></right-toolbar> -->
+
             <el-table
               v-loading="loading"
               :data="userList"
@@ -227,28 +173,23 @@
               @selection-change="handleSelectionChange"
             >
               <el-table-column type="selection" width="50" align="center" />
-              <el-table-column
-                label="搴忓彿"
-                align="center"
-                key="userid"
-                prop="userid"
-              />
+              <el-table-column label="搴忓彿" align="center" key="id" prop="id" />
               <el-table-column
                 label="鏍囬"
                 align="center"
-                key="userName"
-                prop="userName"
+                key="extName"
+                prop="extName"
                 :show-overflow-tooltip="true"
               />
               <el-table-column
                 label="鐗堟湰"
                 align="center"
-                key="nickName"
-                prop="nickName"
+                key="version"
+                prop="version"
                 :show-overflow-tooltip="true"
               />
               <el-table-column
-                label="涓昏鍐呭"
+                label="涓昏鍐呭(缂�)"
                 align="center"
                 key="userNamevalue"
                 prop="userNamevalue"
@@ -256,20 +197,33 @@
               />
 
               <el-table-column
-                label="閫傜敤鐤剧梾"
+                label="閫傜敤鐤剧梾(缂�)"
                 align="center"
                 key="aphonenumber"
                 prop="aphonenumber"
                 width="120"
-              /><el-table-column
-                label="閫傜敤绉戝"
+              >
+                <template slot-scope="scope">
+                  <el-button
+                    size="medium"
+                    type="text"
+                    @click="illnessUpdate(scope.row)"
+                    v-hasPermi="['system:user:edit']"
+                    ><span class="button-textxg"
+                      ><i class="el-icon-date"></i>璇︽儏</span
+                    ></el-button
+                  >
+                </template>
+              </el-table-column>
+              <el-table-column
+                label="閫傜敤绉戝(缂�)"
                 align="center"
                 key="bphonenumber"
                 prop="bphonenumber"
                 width="120"
               />
               <el-table-column
-                label="鏍囩"
+                label="鏍囩(缂�)"
                 align="center"
                 key="tagList"
                 prop="tagList"
@@ -281,31 +235,31 @@
                 </template>
               </el-table-column>
               <el-table-column
-                label="瀹f暀鏂瑰紡"
+                label="瀹f暀鏂瑰紡(缂�)"
                 align="center"
                 key="cphonenumber"
                 prop="cphonenumber"
                 width="120"
               />
               <el-table-column
-                label="璧勬枡褰㈠紡"
+                label="璧勬枡褰㈠紡(缂�)"
                 align="center"
-                key="cphonenumber"
-                prop="cphonenumber"
+                key="cphonenumbers"
+                prop="cphonenumbers"
                 width="120"
               />
               <el-table-column
                 label="鏈�杩戜慨鏀�"
                 align="center"
-                key="cphonenumber"
-                prop="cphonenumber"
+                key="updateTime"
+                prop="updateTime"
                 width="120"
               />
               <el-table-column
                 label="鏄惁鍙敤"
                 align="center"
-                key="cphonenumber"
-                prop="cphonenumber"
+                key="isEnable"
+                prop="isEnable"
                 width="120"
               />
 
@@ -366,134 +320,32 @@
             />
           </el-col>
         </el-row>
-
-        <!-- 娣诲姞鎴栦慨鏀瑰鏁欓厤缃璇濇 -->
-        <el-dialog
-          :title="title"
-          :visible.sync="open"
-          width="900px"
-          append-to-body
-        >
-          <el-form ref="form" :model="form" :rules="rules" label-width="100px">
-            <el-row>
-              <el-col :span="12">
-                <el-form-item label="濮撳悕" prop="nickName">
-                  <el-input
-                    v-model="form.nickName"
-                    placeholder="璇疯緭鍏ュ鍚�"
-                    maxlength="30"
-                  />
-                </el-form-item>
-              </el-col>
-              <el-col :span="12">
-                <el-form-item label="鎬у埆" prop="deptId">
-                  <el-select v-model="form.sex" placeholder="璇烽�夋嫨鎬у埆">
-                    <el-option
-                      v-for="dict in dict.type.sys_user_sex"
-                      :key="dict.value"
-                      :label="dict.label"
-                      :value="dict.value"
-                    ></el-option>
-                  </el-select>
-                </el-form-item>
-              </el-col>
-            </el-row>
-            <el-row>
-              <el-col :span="12">
-                <el-form-item label="璇佷欢绫诲瀷" prop="phonenumber">
-                  <el-input
-                    v-model="form.phonenumber"
-                    placeholder="璇烽�夋嫨璇佷欢绫诲瀷"
-                    maxlength="11"
-                  />
-                </el-form-item>
-              </el-col>
-              <el-col :span="12">
-                <el-form-item label="璇佷欢鍙�" prop="email">
-                  <el-input
-                    v-model="form.email"
-                    placeholder="璇疯緭鍏ヨ瘉浠跺彿"
-                    maxlength="50"
-                  />
-                </el-form-item>
-              </el-col>
-            </el-row>
-            <el-row>
-              <el-col :span="12">
-                <el-form-item label="鏈汉鎵嬫満鍙�" prop="userName">
-                  <el-input
-                    v-model="form.userName"
-                    placeholder="璇疯緭鍏ユ墜鏈哄彿"
-                    maxlength="30"
-                  />
-                </el-form-item>
-              </el-col>
-              <el-col :span="12">
-                <el-form-item label="浜插睘鎵嬫満鍙�" prop="password">
-                  <el-input
-                    v-model="form.password"
-                    placeholder="璇疯緭鍏ヤ翰灞炴墜鏈哄彿"
-                    type="password"
-                    maxlength="20"
-                    show-password
-                  />
-                </el-form-item>
-              </el-col>
-            </el-row>
-            <el-row>
-              <el-col :span="12">
-                <el-form-item label="鎮h�呮爣绛�">
-                  <el-cascader
-                    :options="optionss"
-                    :props="propss"
-                    clearable
-                  ></el-cascader>
-                </el-form-item>
-              </el-col>
-            </el-row>
-
-            <el-row>
-              <el-col :span="24">
-                <el-form-item label="澶囨敞">
-                  <el-input
-                    v-model="form.remark"
-                    type="textarea"
-                    placeholder="璇疯緭鍏ュ唴瀹�"
-                  ></el-input>
-                </el-form-item>
-              </el-col>
-            </el-row>
-          </el-form>
-          <div slot="footer" class="dialog-footer">
-            <el-button type="primary" @click="submitForm">纭� 瀹�</el-button>
-            <el-button @click="cancel">鍙� 娑�</el-button>
-          </div>
-        </el-dialog>
       </div>
     </div>
     <!-- 娣诲姞绫诲埆寮规 -->
-    <el-dialog
-      :title="amendtag ? '淇敼绫诲埆' : '鏂板绫诲埆'"
-      width="30%"
-      :visible.sync="dialogFormVisible"
-    >
+    <el-dialog title="鏂板绫诲埆" width="30%" :visible.sync="dialogFormVisible">
+      <div style="text-align: center; margin-bottom: 20px">
+        <el-radio-group v-model="radio">
+          <el-radio-button label="涓诲垎绫�"></el-radio-button>
+          <el-radio-button label="瀛愬垎绫�"></el-radio-button>
+        </el-radio-group>
+      </div>
+      <el-divider></el-divider>
       <el-form :model="classifyform">
-        <el-form-item label="璇烽�夋嫨瀹f暀澶х被">
-          <el-select v-model="classifyform.broadheading" placeholder="璇烽�夋嫨">
+        <el-form-item label="璇烽�夋嫨闂澶х被" v-if="radio == '瀛愬垎绫�'">
+          <el-select v-model="classifyform.pid" placeholder="璇烽�夋嫨">
             <el-option
-              v-for="item in optionss"
-              :key="item.value"
-              :label="item.label"
-              :value="item.value"
+              v-for="item in deptOptions"
+              :key="item.id"
+              :label="item.assortname"
+              :value="item.id"
             >
             </el-option>
           </el-select>
         </el-form-item>
-        <el-form-item
-          :label="amendtag ? '璇疯緭鍏ユ柊鐨勭被鍒悕绉�' : '璇疯緭鍏ョ被鍒悕绉�'"
-        >
+        <el-form-item label="璇疯緭鍏ョ被鍒悕绉�">
           <el-input
-            v-model="classifyform.categoryname"
+            v-model="classifyform.assortname"
             autocomplete="off"
           ></el-input>
         </el-form-item>
@@ -503,18 +355,52 @@
         <el-button type="primary" @click="submitsidecolumn">纭� 瀹�</el-button>
       </div>
     </el-dialog>
-    <!-- 鍒犻櫎绫诲埆纭妗� -->
-    <el-dialog title="璀﹀憡" :visible.sync="deleteVisible" width="40%">
-      <div style="font-size: 20px; color: rgb(247, 76, 76)">
-        鏄惁纭鍒犻櫎鍒嗙被锛歔<span>{{ deletefenl }}</span
-        >]?
-      </div>
-      <div style="font-size: 20px">
-        姝ゆ搷浣滀細灏嗚绫诲埆涓嬫墍鏈夋ā鍧楄浆绉昏嚦[鏈垎绫籡锛屾槸鍚︾户缁垹闄ゆ鍒嗙被锛�
+    <!-- 鐤剧梾寮规 -->
+    <el-dialog title="鎸囨爣鐤剧梾" :visible.sync="illnessVisible" width="50%">
+      <div>
+        <div class="xinz-infs">
+          <el-tag
+            :key="item.icd10name"
+            type="warning"
+            v-for="item in illnesslist"
+            closable
+            :disable-transitions="false"
+            @close="handleCloseillness(item)"
+          >
+            {{ item.icd10name }}
+          </el-tag>
+          <el-select
+            v-model="inputValue"
+            v-if="inputVisible"
+            @change="illnessConfirm"
+            :remote-method="remoteMethod"
+            filterable
+            remote
+            allow-create
+            default-first-option
+            placeholder="璇烽�夋嫨/鏌ヨ"
+            :loading="loading"
+          >
+            <el-option
+              v-for="item in optionsillness"
+              :key="item.icdid"
+              :label="item.icdname"
+              :value="item.icdid"
+            >
+            </el-option>
+          </el-select>
+          <el-button
+            v-else
+            class="button-new-tag"
+            size="small"
+            @click="showInput"
+            >+ 鏂板鐤剧梾</el-button
+          >
+        </div>
       </div>
       <span slot="footer" class="dialog-footer">
-        <el-button @click="deleteVisible = false">鍙� 娑�</el-button>
-        <el-button type="primary" @click="deletefenlei">纭� 瀹�</el-button>
+        <el-button @click="illnessVisible = false">鍙� 娑�</el-button>
+        <el-button type="primary" @click="confirmillness">纭� 瀹�</el-button>
       </span>
     </el-dialog>
     <!-- 浜岀淮鐮佸睍绀哄脊妗� -->
@@ -530,8 +416,22 @@
 </template>
 
 <script>
-import { listUser, delUser, addUser, updateUser } from "@/api/system/user";
+import {
+  getheLibraryAssort,
+  delheLibraryAssort,
+  addheLibraryAssort,
+  addtargetillness,
+  getlibrarylist,
+  dellibraryinfo,
+  compilelibrary,
+  getlibraryinfo,
+  getillnesslist,
+  illnesslistget,
+  getillness,
+} from "@/api/AiCentre/index";
 import { getToken } from "@/utils/auth";
+import store from "@/store";
+
 import Treeselect from "@riophae/vue-treeselect";
 import "@riophae/vue-treeselect/dist/vue-treeselect.css";
 export default {
@@ -555,13 +455,25 @@
       total: 0,
       nameeducation: "",
       haoeducation: "",
+      indexid: null,
+      inputValue: "",
+      radio: "涓诲垎绫�",
+      inputVisible: false,
+      illnessVisible: false, //鎸囨爣鐤剧梾寮规
+      deptOptions: [],
+      optionsillness: [],
+      illnesslistapi: [],
+      illnesslist: [],
+      defaultProps: {
+        children: "heLibraryAssortList",
+        label: "assortname",
+      },
       // 鐢ㄦ埛琛ㄦ牸鏁版嵁
       userList: [
         {
           userid: 1,
           userName: "涓夊彿瀹f暀",
           nickName: "1.2.4",
-
           aphonenumber: "鍏宠妭鐐庣棁",
           bphonenumber: "寰堟",
           cphonenumber: "2022-12-12",
@@ -593,224 +505,42 @@
       classifyform: {
         categoryname: "",
       }, //绫诲埆琛ㄥ崟
-      optionss: [
-        {
-          value: 1,
-          label: "绫诲瀷涓�",
-        },
-        {
-          value: 2,
-          label: "绫诲瀷浜�",
-        },
-        {
-          value: 3,
-          label: "绫诲瀷涓�",
-        },
-        {
-          value: 4,
-          label: "绫诲瀷鍥�",
-        },
-      ],
-      xjxsoptions: [
-        {
-          value: 1,
-          label: "瑙嗛",
-        },
-        {
-          value: 2,
-          label: "璁插骇",
-        },
-        {
-          value: 3,
-          label: "璇煶",
-        },
-      ],
-      editableTabsky: [
-        {
-          title: "鍙敤",
-          number: "1",
-        },
-        {
-          title: "鍋滅敤",
-          number: "2",
-        },
-      ],
+      optionss: [],
+      mode: [],
+      languagelist: [],
+      qyoptions: [],
+      precedencetype: [],
+      xjxsoptions: [],
+
       //绫诲埆鍒楄〃
-      editableTabs: [
-        {
-          title: "鐭俊",
-          number: "1",
-        },
-        {
-          title: "閽夐拤",
-          number: "2",
-        },
-        {
-          title: "寰俊",
-          number: "3",
-        },
-        {
-          title: "鐢佃瘽",
-          number: "4",
-        },
-        {
-          title: "绾夸笅",
-          number: "5",
-        },
-        {
-          title: "鏅鸿兘璇煶",
-          number: "6",
-        },
-      ],
+      editableTabs: [],
       // 鏌ヨ鍙傛暟
       queryParams: {
         pageNum: 1,
         pageSize: 10,
-        sickness: "",
-        classifyvalue: "",
-        shapevalue: "",
-        userName: undefined,
-      },
-      // 鍒椾俊鎭�
-      columns: [
-        { key: 0, label: `鐢ㄦ埛缂栧彿`, visible: true },
-        { key: 1, label: `鐢ㄦ埛鍚嶇О`, visible: true },
-        { key: 2, label: `鐢ㄦ埛鏄电О`, visible: true },
-        { key: 3, label: `閮ㄩ棬`, visible: true },
-        { key: 4, label: `鎵嬫満鍙风爜`, visible: true },
-        { key: 5, label: `鐘舵�乣, visible: true },
-        { key: 6, label: `鍒涘缓鏃堕棿`, visible: true },
-      ],
-      // 琛ㄥ崟鏍¢獙
-      rules: {
-        userName: [
-          { required: true, message: "鐢ㄦ埛鍚嶇О涓嶈兘涓虹┖", trigger: "blur" },
-          {
-            min: 2,
-            max: 20,
-            message: "鐢ㄦ埛鍚嶇О闀垮害蹇呴』浠嬩簬 2 鍜� 20 涔嬮棿",
-            trigger: "blur",
-          },
-        ],
-        nickName: [
-          { required: true, message: "鐢ㄦ埛鏄电О涓嶈兘涓虹┖", trigger: "blur" },
-        ],
-        password: [
-          { required: true, message: "鐢ㄦ埛瀵嗙爜涓嶈兘涓虹┖", trigger: "blur" },
-          {
-            min: 5,
-            max: 20,
-            message: "鐢ㄦ埛瀵嗙爜闀垮害蹇呴』浠嬩簬 5 鍜� 20 涔嬮棿",
-            trigger: "blur",
-          },
-        ],
-        email: [
-          {
-            type: "email",
-            message: "璇疯緭鍏ユ纭殑閭鍦板潃",
-            trigger: ["blur", "change"],
-          },
-        ],
-        phonenumber: [
-          {
-            pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/,
-            message: "璇疯緭鍏ユ纭殑鎵嬫満鍙风爜",
-            trigger: "blur",
-          },
-        ],
-        IDnumber: [
-          {
-            pattern:
-              /^\d{6}((((((19|20)\d{2})(0[13-9]|1[012])(0[1-9]|[12]\d|30))|(((19|20)\d{2})(0[13578]|1[02])31)|((19|20)\d{2})02(0[1-9]|1\d|2[0-8])|((((19|20)([13579][26]|[2468][048]|0[48]))|(2000))0229))\d{3})|((((\d{2})(0[13-9]|1[012])(0[1-9]|[12]\d|30))|((\d{2})(0[13578]|1[02])31)|((\d{2})02(0[1-9]|1\d|2[0-8]))|(([13579][26]|[2468][048]|0[048])0229))\d{2}))(\d|X|x)$/,
-            message: "璇疯緭鍏ユ纭殑韬唤璇佸彿鐮�",
-            trigger: "blur",
-          },
-        ],
       },
     };
   },
   watch: {},
   created() {
     this.getList();
+    this.getDeptTree();
+    this.mode = store.getters.mode;
+    this.languagelist = store.getters.languagelist;
+    this.qyoptions = store.getters.usable;
+    this.precedencetype = store.getters.precedencetype;
   },
 
   methods: {
-    /** 鏌ヨ鐢ㄦ埛鍒楄〃 */
+    /** 鏌ヨ瀹f暀鍒楄〃 */
     getList() {
       //   this.loading = true;
-      listUser().then((response) => {
+      getlibrarylist(this.queryParams).then((response) => {
         console.log(response);
-        // this.userList = response.data;
-        // this.total = response.total;
-        // this.loading = false;
-        console.log(this.userList);
+        this.userList = response.rows;
       });
-      //   const { rows } = await listUser();
-      //   console.log(rows);
-      //   this.list = rows;
     },
-    // 娣诲姞绫诲埆
-    submitsidecolumn() {
-      this.dialogFormVisible = false;
-    },
-    // 淇敼鍒嗙被寮规
-    popoveramend(tagcategoryid) {
-      this.idds = tagcategoryid;
-      this.amendtag = true;
-      this.dialogFormVisible = true;
-    },
-    // 娣诲姞銆佷慨鏀圭被鍒�
-    submitsidecolumn() {
-      if (this.amendtag) {
-        this.classifyform.tagcategoryid = this.idds;
-        // toamendtagcategory(this.addDateRange(this.classifyform)).then(
-        //   (response) => {
-        //     console.log(response);
-        //     this.gitclasify();
-        //   }
-        // );
-      } else {
-        // addtagcategory(this.addDateRange(this.classifyform)).then(
-        //   (response) => {
-        //     console.log(response);
-        //     this.gitclasify();
-        //   }
-        // );
-      }
-      this.classifyform = {
-        categoryname: "",
-      };
-      this.idds = "";
-      this.dialogFormVisible = false;
-    },
-    //鍒犻櫎鍒嗙被
-    deletefenlei(row) {
-      if (this.deleteVisible) {
-        // deletetagcategory(this.idds).then((response) => {
-        //   console.log(response);
-        //   this.gitclasify();
-        // });
-        this.deleteVisible = false;
-        this.idds = "";
-      } else {
-        this.deleteVisible = true;
-        this.idds = row.tagcategoryid;
-        this.deletefenl = row.title;
-      }
-    },
-    handleOpen(key, keyPath) {
-      console.log(key, keyPath);
-    },
-    handleClose(key, keyPath) {
-      console.log(key, keyPath);
-    },
-    handleSelect(key, keyPath) {
-      console.log(key, keyPath);
-    },
-    //鎼滅储绫诲埆
-    sidecolumnss() {},
-    // 鍒囨崲鍏变韩/鏈湴
-    tophandleClick() {},
+
     // 鍙栨秷鎸夐挳
     cancel() {
       this.open = false;
@@ -823,20 +553,7 @@
     },
     // 琛ㄥ崟閲嶇疆
     reset() {
-      this.form = {
-        userId: undefined,
-        deptId: undefined,
-        userName: undefined,
-        nickName: undefined,
-        password: undefined,
-        phonenumber: undefined,
-        email: undefined,
-        sex: undefined,
-        status: "0",
-        remark: undefined,
-        postIds: [],
-        roleIds: [],
-      };
+      this.form = {};
       this.resetForm("form");
     },
     /** 鎼滅储鎸夐挳鎿嶄綔 */
@@ -879,39 +596,171 @@
       });
     },
 
-    /** 鏇存柊/淇敼鎻愪氦鎸夐挳 */
-    submitForm: function () {
-      this.$refs["form"].validate((valid) => {
-        if (valid) {
-          if (this.form.userId != undefined) {
-            updateUser(this.form).then((response) => {
-              this.$modal.msgSuccess("淇敼鎴愬姛");
-              this.open = false;
-              this.getList();
-            });
-          } else {
-            addUser(this.form).then((response) => {
-              this.$modal.msgSuccess("鏂板鎴愬姛");
-              this.open = false;
-              this.getList();
-            });
-          }
-        }
-      });
-    },
     /** 鍒犻櫎鎸夐挳鎿嶄綔 */
     handleDelete(row) {
       const userIds = row.userId || this.ids;
       this.$modal
         .confirm('鏄惁纭鍒犻櫎鐢ㄦ埛缂栧彿涓�"' + userIds + '"鐨勬暟鎹」锛�')
         .then(function () {
-          return delUser(userIds);
+          return delFollowupinfo(userIds);
         })
         .then(() => {
           this.getList();
           this.$modal.msgSuccess("鍒犻櫎鎴愬姛");
         })
         .catch(() => {});
+    },
+
+    // 鍒嗙被鏍�-----------------------------------------
+    // 淇敼鍒嗙被寮规
+    popoveramend(tagcategoryid) {
+      this.idds = tagcategoryid;
+      this.amendtag = true;
+      this.dialogFormVisible = true;
+    },
+    // 鏌ヨ鏍�
+    getDeptTree() {
+      getheLibraryAssort({}).then((res) => {
+        this.deptOptions = res.rows;
+        console.log(res);
+      });
+    },
+
+    // 娣诲姞绫诲埆鏍�
+    submitsidecolumn() {
+      let calssvalue = {};
+      if (
+        this.classifyform.pid &&
+        this.classifyform.assortname &&
+        this.radio == "瀛愬垎绫�"
+      ) {
+        const index = this.deptOptions.findIndex(
+          (obj) => obj.id == this.classifyform.pid
+        );
+        calssvalue = this.deptOptions[index];
+        calssvalue.heLibraryAssortList.push(this.classifyform);
+      } else if (this.radio == "涓诲垎绫�" && this.classifyform.assortname) {
+        this.classifyform.pid = null;
+        this.classifyform.heLibraryAssortList = [];
+      } else {
+        return this.$modal.msgError("璇峰~鍐欏畬鏁翠俊鎭�");
+      }
+      addheLibraryAssort(this.classifyform).then((res) => {
+        this.getDeptTree();
+        this.$modal.msgSuccess("鏂板鎴愬姛");
+        this.classifyform = {};
+      });
+    },
+    remove(a, b) {
+      if (b.pid) {
+        this.$modal
+          .confirm('鏄惁纭鍒犻櫎鍒嗙被椤逛负"' + b.assortname + '"鐨勬暟鎹」锛�')
+          .then(function () {
+            return delheLibraryAssort(b.id);
+          })
+          .then(() => {
+            this.getDeptTree();
+            this.$modal.msgSuccess("鍒犻櫎鎴愬姛");
+          })
+          .catch(() => {});
+      } else {
+        this.$modal
+          .confirm(
+            '鏄惁纭鍒犻櫎涓�绾у垎绫�"' +
+              b.assortname +
+              '"锛熷垹闄ゅ悗鍏朵笅鍒嗙被灏嗗綊绫烩�樻湭鍒嗙被鈥�'
+          )
+          .then(() => {
+            return delheLibraryAssort(b.id);
+          })
+          .then(() => {
+            this.getDeptTree();
+            this.$modal.msgSuccess("鍒犻櫎鎴愬姛");
+          })
+          .catch(() => {});
+      }
+    },
+
+    // 绛涢�夎妭鐐�
+    filterNode(value, data) {
+      if (!value) return true;
+      return data.assortname.indexOf(value) !== -1;
+    },
+    handleNodeClick(data) {
+      this.queryParams.assortid = data.id;
+      this.getList();
+    },
+    // 鐤剧梾-----------------------
+    illnessUpdate(row) {
+      this.illnessVisible = true;
+      this.indexid = row.id;
+      this.illnesslistapi = [];
+      const illnessqueryParams = {
+        pageNum: 1,
+        pageSize: 100,
+      };
+      getillnesslist(illnessqueryParams).then((response) => {
+        console.log(response);
+        this.optionsillness = response.rows;
+      });
+      getillness({ outid: row.id, type: 6 }).then((res) => {
+        this.illnesslist = res.rows;
+        console.log(res);
+      });
+    },
+    handleCloseillness(tag) {
+      this.illnesslist.splice(this.illnesslist.indexOf(tag), 1);
+      if (tag.id) {
+        this.illnesslistapi.push(tag.id);
+      }
+    },
+    remoteMethod(value) {
+      console.log(value);
+      const illnessqueryParams = {
+        pageNum: 1,
+        pageSize: 100,
+        icdname: value,
+      };
+      this.loading = true;
+      setTimeout(() => {
+        this.loading = false;
+        getillnesslist(illnessqueryParams).then((response) => {
+          this.optionsillness = response.rows;
+        });
+      }, 200);
+    },
+    illnessConfirm(item) {
+      let opeavalue = {};
+      let tagname = this.inputValue;
+      illnesslistget(item).then((res) => {
+        opeavalue = res.data;
+        opeavalue.outid = this.indexid;
+        opeavalue.type = 6;
+        opeavalue.icd10id = opeavalue.icdid;
+        opeavalue.icd10name = opeavalue.icdname;
+        opeavalue.icd10code = opeavalue.icdcode;
+        if (tagname) {
+          this.illnesslist.push(opeavalue);
+        }
+      });
+      console.log(this.illnesslist);
+      this.inputVisible = false;
+      this.inputValue = "";
+    },
+    confirmillness() {
+      this.illnesslist.forEach((item, index) => {
+        if (!item.id) {
+          addtargetillness(item).then((res) => {});
+        }
+      });
+      if (this.illnesslistapi.length) {
+        deltargetillness(this.illnesslistapi.join(",")).then((res) => {});
+      }
+      this.illnessVisible = false;
+      this.$modal.msgSuccess("缂栬緫鎴愬姛");
+    },
+    showInput() {
+      this.inputVisible = true;
     },
   },
 };
@@ -1010,6 +859,45 @@
     font-size: 20px;
   }
 }
+.xinz-infs {
+  font-size: 18px;
+  overflow: hidden;
+  text-overflow: ellipsis;
+
+  line-height: 48px;
+
+  .el-tag + .el-tag {
+    margin-left: 10px;
+  }
+  .button-new-tag {
+    margin-left: 10px;
+    height: 32px;
+    line-height: 30px;
+    padding-top: 0;
+    padding-bottom: 0;
+  }
+  .input-new-tag {
+    width: 90px;
+    margin-left: 10px;
+    vertical-align: bottom;
+  }
+}
+::v-deep .el-tree-node__content {
+  display: -webkit-box;
+  display: -ms-flexbox;
+  display: flex;
+  -webkit-box-align: center;
+  -ms-flex-align: center;
+  align-items: center;
+  height: 46px;
+  font-size: 20px;
+  cursor: pointer;
+}
+::v-deep .el-button--mini.is-circle {
+  padding: 7px;
+  margin: 0;
+  color: red;
+}
 .button-text {
   color: rgb(70, 204, 238);
 }
diff --git a/src/views/knowledge/questionbank/index.vue b/src/views/knowledge/questionbank/index.vue
index e3390af..a2f1567 100644
--- a/src/views/knowledge/questionbank/index.vue
+++ b/src/views/knowledge/questionbank/index.vue
@@ -13,56 +13,34 @@
           class="input-with-select"
           size="medium "
         >
-          <el-button
-            @click="sidecolumnss"
-            slot="append"
-            icon="el-icon-search"
-          ></el-button>
         </el-input>
       </div>
-      <div class="bottom-fl">
-        <el-menu
-          default-active="3"
-          class="el-menu-vertical-demo"
-          @open="handleOpen"
-          @close="handleClose"
-          @select="handleSelect"
+      <div class="head-container" style="margin-top: 20px">
+        <el-tree
+          :data="deptOptions"
+          :props="defaultProps"
+          :expand-on-click-node="false"
+          :filter-node-method="filterNode"
+          ref="tree"
+          node-key="id"
+          default-expand-all
+          highlight-current
+          @node-click="handleNodeClick"
         >
-          <el-submenu index="1">
-            <template slot="title">
-              <i class="el-icon-location"></i>
-              <span>鍒嗙被涓�</span>
-            </template>
-
-            <el-menu-item index="1-1">閫夐」1</el-menu-item>
-            <el-menu-item index="1-2">閫夐」2</el-menu-item>
-            <el-menu-item index="1-3">閫夐」3</el-menu-item>
-            <el-menu-item index="1-4">閫夐」3</el-menu-item>
-          </el-submenu>
-          <el-submenu index="2">
-            <template slot="title">
-              <i class="el-icon-menu"></i>
-              <span>鍒嗙被浜�</span>
-            </template>
-            <el-menu-item index="2-1">閫夐」1</el-menu-item>
-            <el-menu-item index="2-2">閫夐」2</el-menu-item>
-            <el-menu-item index="2-3">閫夐」3</el-menu-item>
-          </el-submenu>
-          <el-submenu index="3">
-            <template slot="title">
-              <i class="el-icon-document"></i>
-              <span>鍒嗙被涓�</span>
-            </template>
-            <el-menu-item index="2-1">閫夐」1</el-menu-item>
-          </el-submenu>
-          <el-submenu index="4">
-            <template slot="title">
-              <i class="el-icon-setting"></i>
-              <span>鍒嗙被鍥�</span>
-            </template>
-            <el-menu-item index="2-1">閫夐」1</el-menu-item>
-          </el-submenu>
-        </el-menu>
+          <span class="custom-tree-node" slot-scope="{ node, data }">
+            <span>{{ node.label }}</span>
+            <span>
+              <el-button
+                type="text"
+                icon="el-icon-delete"
+                circle
+                size="mini"
+                @click="() => remove(node, data)"
+              >
+              </el-button>
+            </span>
+          </span>
+        </el-tree>
       </div>
     </div>
     <!-- 鍙充晶鏁版嵁 -->
@@ -175,18 +153,19 @@
               <el-table-column
                 label="搴忓彿"
                 align="center"
-                key="userId"
-                prop="userId"
+                key="topicid"
+                prop="topicid"
               />
               <el-table-column
                 label="棰樼洰鏍囬"
                 align="center"
-                key="userName"
-                prop="userName"
+                key="topic"
+                prop="topic"
+                width="200"
                 :show-overflow-tooltip="true"
               />
               <el-table-column
-                label="棰樼洰鍐呭"
+                label="棰樼洰鍐呭(缂�)"
                 align="center"
                 key="nickName"
                 prop="nickName"
@@ -194,23 +173,34 @@
                 :show-overflow-tooltip="true"
               />
 
-
               /><el-table-column
-                label="閫傜敤鏂瑰紡"
+                label="閫傜敤鏂瑰紡(缂�)"
                 align="center"
                 key="application"
                 prop="application"
                 width="120"
               />
               /><el-table-column
-                label="閫傜敤鐤剧梾"
+                label="閫傜敤鐤剧梾(缂�)"
                 align="center"
                 key="Applicable"
                 prop="Applicable"
                 width="120"
-              />
+              >
+                <template slot-scope="scope">
+                  <el-button
+                    size="medium"
+                    type="text"
+                    @click="illnessUpdate(scope.row)"
+                    v-hasPermi="['system:user:edit']"
+                    ><span class="button-textxg"
+                      ><i class="el-icon-date"></i>璇︽儏</span
+                    ></el-button
+                  >
+                </template>
+              </el-table-column>
               <el-table-column
-                label="鏍囩"
+                label="鏍囩(缂�)"
                 align="center"
                 key="tagList"
                 prop="tagList"
@@ -221,16 +211,9 @@
                   <span v-for="item in scope.row.tagList">{{ item }} </span>
                 </template>
               </el-table-column>
-              <el-table-column
-                label="璇█"
-                align="center"
-                key="indicator"
-                prop="indicator"
-                width="120"
-              />
 
               <el-table-column
-                label="鍙敤"
+                label="鍙敤(缂�)"
                 align="center"
                 key="usable"
                 prop="usable"
@@ -239,20 +222,10 @@
               <el-table-column
                 label="鏈�杩戜慨鏀�"
                 align="center"
-                key="Recentrevision"
-                prop="Recentrevision"
+                key="updateTime"
+                prop="updateTime"
                 width="120"
               />
-              <el-table-column label="鏄惁鍙敤" align="center" key="status">
-                <template slot-scope="scope">
-                  <el-switch
-                    v-model="scope.row.status"
-                    active-value="0"
-                    inactive-value="1"
-                    @change="handleStatusChange(scope.row)"
-                  ></el-switch>
-                </template>
-              </el-table-column>
 
               <el-table-column
                 label="鎿嶄綔"
@@ -304,28 +277,29 @@
       </div>
     </div>
     <!-- 娣诲姞绫诲埆寮规 -->
-    <el-dialog
-      :title="amendtag ? '淇敼绫诲埆' : '鏂板绫诲埆'"
-      width="30%"
-      :visible.sync="dialogFormVisible"
-    >
+    <el-dialog title="鏂板绫诲埆" width="30%" :visible.sync="dialogFormVisible">
+      <div style="text-align: center; margin-bottom: 20px">
+        <el-radio-group v-model="radio">
+          <el-radio-button label="涓诲垎绫�"></el-radio-button>
+          <el-radio-button label="瀛愬垎绫�"></el-radio-button>
+        </el-radio-group>
+      </div>
+      <el-divider></el-divider>
       <el-form :model="classifyform">
-        <el-form-item label="璇烽�夋嫨闂嵎棰樼洰澶х被">
-          <el-select v-model="classifyform.broadheading" placeholder="璇烽�夋嫨">
+        <el-form-item label="璇烽�夋嫨闂澶х被" v-if="radio == '瀛愬垎绫�'">
+          <el-select v-model="classifyform.pid" placeholder="璇烽�夋嫨">
             <el-option
-              v-for="item in editableTabs"
-              :key="item.title"
-              :label="item.title"
-              :value="item.title"
+              v-for="item in deptOptions"
+              :key="item.id"
+              :label="item.indexAssortName"
+              :value="item.id"
             >
             </el-option>
           </el-select>
         </el-form-item>
-        <el-form-item
-          :label="amendtag ? '璇疯緭鍏ユ柊鐨勫瓙绫诲埆鍚嶇О' : '璇疯緭鍏ュ瓙绫诲埆鍚嶇О'"
-        >
+        <el-form-item label="璇疯緭鍏ョ被鍒悕绉�">
           <el-input
-            v-model="classifyform.categoryname"
+            v-model="classifyform.indexAssortName"
             autocomplete="off"
           ></el-input>
         </el-form-item>
@@ -335,37 +309,79 @@
         <el-button type="primary" @click="submitsidecolumn">纭� 瀹�</el-button>
       </div>
     </el-dialog>
-    <!-- 鍒犻櫎绫诲埆纭妗� -->
-    <el-dialog title="璀﹀憡" :visible.sync="deleteVisible" width="40%">
-      <div style="font-size: 20px; color: rgb(247, 76, 76)">
-        鏄惁纭鍒犻櫎鍒嗙被锛歔<span>{{ deletefenl }}</span
-        >]?
-      </div>
-      <div style="font-size: 20px">
-        姝ゆ搷浣滀細灏嗚绫诲埆涓嬫墍鏈夋ā鍧楄浆绉昏嚦[鏈垎绫籡锛屾槸鍚︾户缁垹闄ゆ鍒嗙被锛�
+    <!-- 娣诲姞鐤剧梾瀵硅瘽妗� -->
+    <el-dialog title="鎸囨爣鐤剧梾" :visible.sync="illnessVisible" width="50%">
+      <div>
+        <div class="xinz-infs">
+          <el-tag
+            :key="item.icd10name"
+            type="warning"
+            v-for="item in illnesslist"
+            closable
+            :disable-transitions="false"
+            @close="handleCloseillness(item)"
+          >
+            {{ item.icd10name }}
+          </el-tag>
+          <el-select
+            v-model="inputValue"
+            v-if="inputVisible"
+            @change="illnessConfirm"
+            :remote-method="remoteMethod"
+            filterable
+            remote
+            allow-create
+            default-first-option
+            placeholder="璇烽�夋嫨/鏌ヨ"
+            :loading="loading"
+          >
+            <el-option
+              v-for="item in optionsillness"
+              :key="item.icdid"
+              :label="item.icdname"
+              :value="item.icdid"
+            >
+            </el-option>
+          </el-select>
+          <el-button
+            v-else
+            class="button-new-tag"
+            size="small"
+            @click="showInput"
+            >+ 鏂板鐤剧梾</el-button
+          >
+        </div>
       </div>
       <span slot="footer" class="dialog-footer">
-        <el-button @click="deleteVisible = false">鍙� 娑�</el-button>
-        <el-button type="primary" @click="deletefenlei">纭� 瀹�</el-button>
+        <el-button @click="illnessVisible = false">鍙� 娑�</el-button>
+        <el-button type="primary" @click="confirmillness">纭� 瀹�</el-button>
       </span>
     </el-dialog>
   </div>
 </template>
 
 <script>
+import store from "@/store";
 import {
-  listUser,
-  getUser,
-  delUser,
-  addUser,
-  updateUser,
-} from "@/api/system/user";
+  getissueclassify,
+  delissueclassify,
+  addissueclassify,
+  getissuelist,
+  issueinfo,
+  compileissue,
+  delissueinfo,
+  Followupinfo,
+  deltargetillness,
+  addtargetillness,
+  getillnesslist,
+  illnesslistget,
+  getillness,
+} from "@/api/AiCentre/index";
 import { getToken } from "@/utils/auth";
 import Treeselect from "@riophae/vue-treeselect";
 import "@riophae/vue-treeselect/dist/vue-treeselect.css";
 export default {
   name: "questionnaire",
-  dicts: ["sys_normal_disable", "sys_user_sex"],
   components: { Treeselect },
   data() {
     return {
@@ -393,17 +409,7 @@
         categoryname: "",
       }, //绫诲埆琛ㄥ崟
       // 琛ㄦ牸鏁版嵁
-      userList: [
-        {
-          userid: 1,
-          userName: "琛�甯歌銆佸翱甯歌",
-          nickName: "璐",
-          aphonenumber: "(?!涓�.*|娌�.*|鏈�.*)^.*([璐钩鍑]|璐|璇勫|璇勫),10",
-          bphonenumber: "閫夋嫨",
-          cphonenumber: "鏅�氳瘽",
-          status: "0",
-        },
-      ],
+      userList: [],
       // 寮瑰嚭灞傛爣棰�
       title: "",
       // 鏄惁鏄剧ず寮瑰嚭灞�
@@ -423,205 +429,213 @@
       sidecolumnval: "", //绫诲埆鎼滅储
       indexopen: false, //寮规灞曠ず鍚�
       propss: { multiple: true },
-      languagelist: [
-        {
-          value: 1,
-          label: "姹夎",
-        },
-        {
-          value: 3,
-          label: "鑻辫",
-        },
-      ], //璇█鍒楄〃
-      qyoptions: [
-        {
-          value: 1,
-          label: "鍙敤",
-        },
-        {
-          value: 2,
-          label: "绂佺敤",
-        },
-      ],
-      //绫诲埆鍒楄〃
-      editableTabs: [
-        {
-          title: "闂鍒嗙被涓�",
-          number: "1",
-        },
-        {
-          title: "闂鍒嗙被浜�",
-          number: "2",
-        },
-        {
-          title: "闂鍒嗙被涓�",
-          number: "2",
-        },
-        {
-          title: "闂鍒嗙被鍥�",
-          number: "2",
-        },
-        {
-          title: "闂鍒嗙被浜�",
-          number: "2",
-        },
-      ],
+      indexid: null,
+      inputValue: "",
+      radio: "涓诲垎绫�",
+      inputVisible: false,
+      illnessVisible: false, //鎸囨爣鐤剧梾寮规
+      deptOptions: [],
+      optionsillness: [],
+      illnesslistapi: [],
+      illnesslist: [],
+      defaultProps: {
+        children: "svyLibTopicCategoryList",
+        label: "indexAssortName",
+      },
+      mode: [],
+      languagelist: [],
+      qyoptions: [],
       // 鏌ヨ鍙傛暟
       queryParams: {
         pageNum: 1,
         pageSize: 10,
-        userName: undefined,
-        phonenumber: undefined,
-        status: undefined,
-        deptId: undefined,
-        IDnumber: undefined,
       },
       // 琛ㄥ崟鏍¢獙
-      rules: {
-        userName: [
-          { required: true, message: "涓绘棬涓嶈兘涓虹┖", trigger: "blur" },
-          {
-            min: 2,
-            max: 20,
-            message: "鐢ㄦ埛鍚嶇О闀垮害蹇呴』浠嬩簬 2 鍜� 20 涔嬮棿",
-            trigger: "blur",
-          },
-        ],
-        nickName: [
-          { required: true, message: "鐢ㄦ埛鏄电О涓嶈兘涓虹┖", trigger: "blur" },
-        ],
-        password: [
-          { required: true, message: "鐢ㄦ埛瀵嗙爜涓嶈兘涓虹┖", trigger: "blur" },
-          {
-            min: 5,
-            max: 20,
-            message: "鐢ㄦ埛瀵嗙爜闀垮害蹇呴』浠嬩簬 5 鍜� 20 涔嬮棿",
-            trigger: "blur",
-          },
-        ],
-        email: [
-          {
-            type: "email",
-            message: "璇疯緭鍏ユ纭殑閭鍦板潃",
-            trigger: ["blur", "change"],
-          },
-        ],
-        phonenumber: [
-          {
-            pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/,
-            message: "璇疯緭鍏ユ纭殑鎵嬫満鍙风爜",
-            trigger: "blur",
-          },
-        ],
-        IDnumber: [
-          {
-            pattern:
-              /^\d{6}((((((19|20)\d{2})(0[13-9]|1[012])(0[1-9]|[12]\d|30))|(((19|20)\d{2})(0[13578]|1[02])31)|((19|20)\d{2})02(0[1-9]|1\d|2[0-8])|((((19|20)([13579][26]|[2468][048]|0[48]))|(2000))0229))\d{3})|((((\d{2})(0[13-9]|1[012])(0[1-9]|[12]\d|30))|((\d{2})(0[13578]|1[02])31)|((\d{2})02(0[1-9]|1\d|2[0-8]))|(([13579][26]|[2468][048]|0[048])0229))\d{2}))(\d|X|x)$/,
-            message: "璇疯緭鍏ユ纭殑韬唤璇佸彿鐮�",
-            trigger: "blur",
-          },
-        ],
-      },
+      rules: {},
     };
   },
   watch: {},
   created() {
     this.getList();
+    this.mode = store.getters.mode;
+    this.languagelist = store.getters.languagelist;
+    this.qyoptions = store.getters.usable;
   },
 
   methods: {
     /** 鏌ヨ鐢ㄦ埛鍒楄〃 */
     getList() {
-      //   this.loading = true;
-      listUser().then((response) => {
-        console.log(response);
+      this.loading = true;
+      getissuelist(this.queryParams).then((res) => {
+        this.loading = false;
+        this.userList = res.rows;
+        this.total = res.total;
         console.log(this.userList);
       });
     },
-    // 娣诲姞銆佷慨鏀圭被鍒�
-    submitsidecolumn() {
-      if (this.amendtag) {
-        this.classifyform.tagcategoryid = this.idds;
-        // toamendtagcategory(this.addDateRange(this.classifyform)).then(
-        //   (response) => {
-        //     console.log(response);
-        //     this.gitclasify();
-        //   }
-        // );
-      } else {
-        // addtagcategory(this.addDateRange(this.classifyform)).then(
-        //   (response) => {
-        //     console.log(response);
-        //     this.gitclasify();
-        //   }
-        // );
-      }
-      this.classifyform = {
-        categoryname: "",
-      };
-      this.idds = "";
-      this.dialogFormVisible = false;
-    },
-    //鍒犻櫎鍒嗙被
-    deletefenlei(row) {
-      if (this.deleteVisible) {
-        // deletetagcategory(this.idds).then((response) => {
-        //   console.log(response);
-        //   this.gitclasify();
-        // });
-        this.deleteVisible = false;
-        this.idds = "";
-      } else {
-        this.deleteVisible = true;
-        this.idds = row.tagcategoryid;
-        this.deletefenl = row.title;
-      }
-    },
+
     compileUpdate(row) {
       this.$router.push({
         path: "/knowledge/questionbank/particulars/",
-        query: { id: "1" },
+        query: { id: row.topicid },
       });
     },
-    // 棰樼洰鐘舵�佷慨鏀�
-    handleStatusChange(row) {
-      let text = row.status === "0" ? "鍙敤" : "鍋滅敤";
-      this.$modal
-        .confirm('纭瑕�"' + text + '""' + row.userName + '"鐢ㄦ埛鍚楋紵')
-        .then(function () {
-          return changeUserStatus(row.userId, row.status);
-        })
-        .then(() => {
-          this.$modal.msgSuccess(text + "鎴愬姛");
-        })
-        .catch(function () {
-          row.status = row.status === "0" ? "1" : "0";
+    // 鐤剧梾-----------------------
+    illnessUpdate(row) {
+      this.illnessVisible = true;
+      this.indexid = row.topicid;
+      this.illnesslistapi = [];
+      const illnessqueryParams = {
+        pageNum: 1,
+        pageSize: 100,
+      };
+      getillnesslist(illnessqueryParams).then((response) => {
+        console.log(response);
+        this.optionsillness = response.rows;
+      });
+      getillness({ outid: row.topicid, type: 4 }).then((res) => {
+        this.illnesslist = res.rows;
+        console.log(res);
+      });
+    },
+    handleCloseillness(tag) {
+      this.illnesslist.splice(this.illnesslist.indexOf(tag), 1);
+      if (tag.id) {
+        this.illnesslistapi.push(tag.id);
+      }
+    },
+    remoteMethod(value) {
+      console.log(value);
+      const illnessqueryParams = {
+        pageNum: 1,
+        pageSize: 100,
+        icdname: value,
+      };
+      this.loading = true;
+      setTimeout(() => {
+        this.loading = false;
+        getillnesslist(illnessqueryParams).then((response) => {
+          this.optionsillness = response.rows;
         });
+      }, 200);
     },
-    // 渚ц竟--------------
-    handleOpen(key, keyPath) {
-      console.log(key, keyPath);
+    illnessConfirm(item) {
+      let opeavalue = {};
+      let tagname = this.inputValue;
+      illnesslistget(item).then((res) => {
+        opeavalue = res.data;
+        opeavalue.outid = this.indexid;
+        opeavalue.type = 4;
+        opeavalue.icd10id = opeavalue.icdid;
+        opeavalue.icd10name = opeavalue.icdname;
+        opeavalue.icd10code = opeavalue.icdcode;
+        if (tagname) {
+          this.illnesslist.push(opeavalue);
+        }
+      });
+      console.log(this.illnesslist);
+      this.inputVisible = false;
+      this.inputValue = "";
     },
-    handleClose(key, keyPath) {
-      console.log(key, keyPath);
+    confirmillness() {
+      this.illnesslist.forEach((item, index) => {
+        if (!item.id) {
+          addtargetillness(item).then((res) => {});
+        }
+      });
+      if (this.illnesslistapi.length) {
+        deltargetillness(this.illnesslistapi.join(",")).then((res) => {});
+      }
+      this.illnessVisible = false;
+      this.$modal.msgSuccess("缂栬緫鎴愬姛");
     },
-    handleSelect(key, keyPath) {
-      console.log(key, keyPath);
+    showInput() {
+      this.inputVisible = true;
     },
-    //鎼滅储绫诲埆
-    sidecolumnss() {},
-    // 渚挎嵎鏍囩
-    tsgnameto() {},
-    // 鍙栨秷鎸夐挳
-    cancel() {
-      this.indexopen = false;
-      this.reset();
+
+    // 鍒嗙被鏍�-----------------------------------------
+    // 淇敼鍒嗙被寮规
+    popoveramend(tagcategoryid) {
+      this.idds = tagcategoryid;
+      this.amendtag = true;
+      this.dialogFormVisible = true;
+    },
+    // 鏌ヨ鏍�
+    getDeptTree() {
+      getissueclassify({}).then((res) => {
+        this.deptOptions = res.rows;
+        console.log(res);
+      });
+    },
+
+    // 娣诲姞绫诲埆鏍�
+    submitsidecolumn() {
+      let calssvalue = {};
+      if (
+        this.classifyform.pid &&
+        this.classifyform.indexAssortName &&
+        this.radio == "瀛愬垎绫�"
+      ) {
+        const index = this.deptOptions.findIndex(
+          (obj) => obj.id == this.classifyform.pid
+        );
+        calssvalue = this.deptOptions[index];
+        calssvalue.ivrLibaTemplateAssortList.push(this.classifyform);
+      } else if (this.radio == "涓诲垎绫�" && this.classifyform.indexAssortName) {
+        this.classifyform.pid = null;
+        this.classifyform.ivrLibaTemplateAssortList = [];
+      } else {
+        return this.$modal.msgError("璇峰~鍐欏畬鏁翠俊鎭�");
+      }
+      addissueclassify(this.classifyform).then((res) => {
+        this.getDeptTree();
+        this.$modal.msgSuccess("鏂板鎴愬姛");
+      });
+    },
+    remove(a, b) {
+      if (b.pid) {
+        this.$modal
+          .confirm('鏄惁纭鍒犻櫎鍒嗙被椤逛负"' + b.indexAssortName + '"鐨勬暟鎹」锛�')
+          .then(function () {
+            return delissueclassify(b.id);
+          })
+          .then(() => {
+            this.getDeptTree();
+            this.$modal.msgSuccess("鍒犻櫎鎴愬姛");
+          })
+          .catch(() => {});
+      } else {
+        this.$modal
+          .confirm(
+            '鏄惁纭鍒犻櫎涓�绾у垎绫�"' +
+              b.indexAssortName +
+              '"锛熷垹闄ゅ悗鍏朵笅鍒嗙被灏嗗綊绫烩�樻湭鍒嗙被鈥�'
+          )
+          .then(() => {
+            return delissueclassify(b.id);
+          })
+          .then(() => {
+            this.getDeptTree();
+            this.$modal.msgSuccess("鍒犻櫎鎴愬姛");
+          })
+          .catch(() => {});
+      }
+    },
+
+    // 绛涢�夎妭鐐�
+    filterNode(value, data) {
+      if (!value) return true;
+      return data.indexAssortName.indexOf(value) !== -1;
+    },
+    handleNodeClick(data) {
+      this.queryParams.assortid = data.id;
+      this.getList();
     },
 
     // 琛ㄥ崟閲嶇疆
     reset() {
       this.form = {
-        userId: undefined,
+        topicid: undefined,
         deptId: undefined,
         userName: undefined,
         nickName: undefined,
@@ -651,7 +665,7 @@
     },
     // 澶氶�夋閫変腑鏁版嵁
     handleSelectionChange(selection) {
-      this.ids = selection.map((item) => item.userId);
+      this.ids = selection.map((item) => item.topicid);
       this.single = selection.length != 1;
       this.multiple = !selection.length;
     },
@@ -659,7 +673,7 @@
     handleAdd() {
       this.$router.push({
         path: "/knowledge/verbaltrick/particulars/",
-        query: { id: "1" },
+        query: { id: "" },
       });
     },
     // 淇敼鍒嗙被寮规
@@ -669,33 +683,13 @@
       this.dialogFormVisible = true;
     },
 
-    /** 鏇存柊/淇敼鎻愪氦鎸夐挳 */
-    submitForm: function () {
-      this.$refs["form"].validate((valid) => {
-        if (valid) {
-          if (this.form.userId != undefined) {
-            updateUser(this.form).then((response) => {
-              this.$modal.msgSuccess("淇敼鎴愬姛");
-              this.indexopen = false;
-              this.getList();
-            });
-          } else {
-            addUser(this.form).then((response) => {
-              this.$modal.msgSuccess("鏂板鎴愬姛");
-              this.indexopen = false;
-              this.getList();
-            });
-          }
-        }
-      });
-    },
     /** 鍒犻櫎鎸夐挳鎿嶄綔 */
     handleDelete(row) {
-      const userIds = row.userId || this.ids;
+      const topicids = row.topicid || this.ids;
       this.$modal
-        .confirm('鏄惁纭鍒犻櫎鐢ㄦ埛缂栧彿涓�"' + userIds + '"鐨勬暟鎹」锛�')
+        .confirm('鏄惁纭鍒犻櫎鐢ㄦ埛缂栧彿涓�"' + topicids + '"鐨勬暟鎹」锛�')
         .then(function () {
-          return delUser(userIds);
+          return delissueinfo(topicids);
         })
         .then(() => {
           this.getList();
@@ -815,6 +809,46 @@
     font-size: 20px;
   }
 }
+.xinz-infs {
+  font-size: 18px;
+  overflow: hidden;
+  text-overflow: ellipsis;
+
+  line-height: 48px;
+
+  .el-tag + .el-tag {
+    margin-left: 10px;
+  }
+  .button-new-tag {
+    margin-left: 10px;
+    height: 32px;
+    line-height: 30px;
+    padding-top: 0;
+    padding-bottom: 0;
+  }
+  .input-new-tag {
+    width: 90px;
+    margin-left: 10px;
+    vertical-align: bottom;
+  }
+}
+
+::v-deep .el-tree-node__content {
+  display: -webkit-box;
+  display: -ms-flexbox;
+  display: flex;
+  -webkit-box-align: center;
+  -ms-flex-align: center;
+  align-items: center;
+  height: 46px;
+  font-size: 20px;
+  cursor: pointer;
+}
+::v-deep .el-button--mini.is-circle {
+  padding: 7px;
+  margin: 0;
+  color: red;
+}
 .button-text {
   color: rgb(70, 204, 238);
 }
diff --git a/src/views/knowledge/questionbank/particulars/index.vue b/src/views/knowledge/questionbank/particulars/index.vue
index 841e5cb..e05bd41 100644
--- a/src/views/knowledge/questionbank/particulars/index.vue
+++ b/src/views/knowledge/questionbank/particulars/index.vue
@@ -11,166 +11,213 @@
               ></span
             >
           </div>
+          <div style="margin-left: 8%">
+            <el-row :gutter="10">
+              <el-col :span="6"
+                ><el-form-item label="棰樼洰鏍囬">
+                  <el-input
+                    v-model="topicobj.topic"
+                    placeholder="璇疯緭鍏ユ爣棰�"
+                  ></el-input> </el-form-item
+              ></el-col>
+              <el-col :span="6"
+                ><el-form-item label="鏄惁鍙敤">
+                  <el-select
+                    v-model="topicobj.ishide"
+                    size="medium"
+                    filterable
+                    placeholder="璇烽�夋嫨鍒嗙被"
+                  >
+                    <el-option
+                      class="topicobjaa"
+                      v-for="item in usable"
+                      :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="璇█(缂�)">
+                  <el-select
+                    v-model="topicobj.languageh"
+                    size="medium"
+                    filterable
+                    placeholder="璇烽�夋嫨鍒嗙被"
+                  >
+                    <el-option
+                      class="topicobjaa"
+                      v-for="item in languagelist"
+                      :key="item.value"
+                      :label="item.label"
+                      :value="item.value"
+                    >
+                    </el-option>
+                  </el-select> </el-form-item
+              ></el-col>
+            </el-row>
+            <el-row :gutter="10">
+              <el-col :span="6"
+                ><el-form-item label="鏄惁蹇呯瓟">
+                  <el-radio-group v-model="topicobj.ismandatory">
+                    <el-radio label="1">鏄�</el-radio>
+                    <el-radio label="2">鍚�</el-radio>
+                  </el-radio-group>
+                </el-form-item></el-col
+              >
+              <el-col :span="6"
+                ><el-form-item label="棰樼洰绫诲瀷">
+                  <el-select
+                    v-model="topicobj.topictype"
+                    size="medium"
+                    filterable
+                    placeholder="璇烽�夋嫨鍒嗙被"
+                  >
+                    <el-option
+                      class="topicobjaa"
+                      v-for="item in xjxsoptions"
+                      :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="閫傜敤鏂瑰紡(缂�)">
+                  <el-select
+                    v-model="topicobj.languageh"
+                    size="medium"
+                    filterable
+                    placeholder="璇烽�夋嫨鍒嗙被"
+                  >
+                    <el-option
+                      class="topicobjaa"
+                      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-form-item label="棰樼洰鍐呭(缂�)">
+              <el-input
+                style="width: 40vw"
+                type="textarea"
+                v-model="topicobj.topic"
+                placeholder="璇疯緭鍏ユ爣棰�"
+              ></el-input>
+            </el-form-item>
 
-          <el-row :gutter="10">
-            <el-col :span="8"
-              ><el-form-item label="棰樼洰鏍囬">
-                <el-input
-                  v-model="topicobj.title"
-                  placeholder="璇疯緭鍏ユ爣棰�"
-                ></el-input> </el-form-item
-            ></el-col>
-            <el-col :span="6"
-              ><el-form-item label="鏄惁闅愯棌">
-                <el-radio-group v-model="topicobj.resourcea">
-                  <el-radio label="鏄�"></el-radio>
-                  <el-radio label="鍚�"></el-radio>
-                </el-radio-group> </el-form-item
-            ></el-col>
-            <el-col :span="6"
-              ><el-form-item label="璇█">
-                <el-select
-                  v-model="topicobj.languageh"
-                  size="medium"
-                  filterable
-                  placeholder="璇烽�夋嫨鍒嗙被"
-                >
-                  <el-option
-                    class="topicobjaa"
-                    v-for="item in xjxsoptions"
-                    :key="item.value"
-                    :label="item.label"
-                    :value="item.value"
+            <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)"
                   >
-                  </el-option>
-                </el-select> </el-form-item
-            ></el-col>
-          </el-row>
-          <el-row :gutter="10">
-            <el-col :span="8"
-              ><el-form-item label="鏄惁蹇呯瓟">
-                <el-radio-group v-model="topicobj.resource">
-                  <el-radio label="鏄�"></el-radio>
-                  <el-radio label="鍚�"></el-radio>
-                </el-radio-group> </el-form-item
-            ></el-col>
-            <el-col :span="12"
-              ><el-form-item label="棰樼洰绫诲瀷">
-                <el-select
-                  v-model="topicobj.languageh"
-                  size="medium"
-                  filterable
-                  placeholder="璇烽�夋嫨鍒嗙被"
-                >
-                  <el-option
-                    class="topicobjaa"
-                    v-for="item in xjxsoptions"
-                    :key="item.value"
-                    :label="item.label"
-                    :value="item.value"
+                    {{ 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>
-                </el-select> </el-form-item
-            ></el-col>
-          </el-row>
-          <el-form-item label="棰樼洰鍐呭">
-            <el-input
-              style="width: 40vw"
-              type="textarea"
-              v-model="topicobj.title"
-              placeholder="璇疯緭鍏ユ爣棰�"
-            ></el-input>
-          </el-form-item>
-          <el-row :gutter="10">
-            <el-col :span="8"
-              ><el-form-item label="閫傜敤鏂瑰紡">
-                <el-select
-                  v-model="topicobj.languageh"
-                  size="medium"
-                  filterable
-                  placeholder="璇烽�夋嫨鍒嗙被"
-                >
-                  <el-option
-                    class="topicobjaa"
-                    v-for="item in xjxsoptions"
-                    :key="item.value"
-                    :label="item.label"
-                    :value="item.value"
+                    <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
                   >
-                  </el-option> </el-select></el-form-item
-            ></el-col>
-            <el-col :span="12"
-              ><el-form-item label="閫傜敤鐤剧梾">
-                <el-select
-                  v-model="topicobj.languageh"
-                  size="medium"
-                  filterable
-                  placeholder="璇烽�夋嫨鍒嗙被"
-                >
-                  <el-option
-                    class="topicobjaa"
-                    v-for="item in xjxsoptions"
-                    :key="item.value"
-                    :label="item.label"
-                    :value="item.value"
+                </div>
+              </el-form-item>
+            </el-row>
+            <el-row>
+              <el-form-item label="閫傜敤鐤剧梾" prop="region">
+                <div class="xinz-inf">
+                  <el-tag
+                    :key="item.icd10name"
+                    type="warning"
+                    v-for="item in illnesslist"
+                    closable
+                    :disable-transitions="false"
+                    @close="handleCloseillness(item)"
                   >
-                  </el-option>
-                </el-select> </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
-                  allow-create
-                  default-first-option
-                placeholder="璇烽�夋嫨"
-              >
-                <el-option
-                  v-for="item in optionstag"
-                  :key="item.tagname"
-                    :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>
+                    {{ item.icd10name }}
+                  </el-tag>
+                  <el-select
+                    v-model="inputValueillness"
+                    v-if="inputVisibleillness"
+                    @change="illnessConfirm"
+                    :remote-method="remoteMethod"
+                    filterable
+                    remote
+                    allow-create
+                    default-first-option
+                    placeholder="璇烽�夋嫨/鏌ヨ"
+                    :loading="loading"
+                  >
+                    <el-option
+                      v-for="item in optionsillness"
+                      :key="item.icdid"
+                      :label="item.icdname"
+                      :value="item.icdid"
+                    >
+                    </el-option>
+                  </el-select>
+                  <el-button
+                    v-else
+                    class="button-new-tag"
+                    size="small"
+                    @click="inputVisibleillness = true"
+                    >+ 鏂板鐤剧梾</el-button
+                  >
+                </div>
+              </el-form-item>
+            </el-row>
+          </div>
+
           <div class="headline">
             閫夐」璁剧疆<span style="margin-left: 30px"
-              ><el-button type="primary" @click="addoption"
+              ><el-button type="primary" round @click="addoption"
                 >+鏂板</el-button
+              ></span
+            ><span style="margin-left: 30px"
+              ><el-button type="success" round @click="drawer = true"
+                >+閫夋嫨鎸囨爣</el-button
               ></span
             >
           </div>
           <div class="topicxq" v-for="item in optionlist">
             <el-row :gutter="10">
               <el-col :span="11"
-                ><el-form-item label="閫夐」">
+                ><el-form-item label="棰樺彿">
                   <el-input
                     type="text"
-                    placeholder="璇疯緭鍏ラ�夐」"
-                    v-model="text"
+                    placeholder="璇疯緭鍏�"
+                    v-model="item.optionid"
                     show-word-limit
                   >
                   </el-input> </el-form-item
@@ -179,28 +226,20 @@
                 ><el-form-item label="鍒嗗��">
                   <el-input
                     type="text"
-                    placeholder="璇疯緭鍏ュ垎鍊�"
-                    v-model="text"
+                    placeholder="璇疯緭鍏�"
+                    v-model="item.score"
                     show-word-limit
                   >
                   </el-input> </el-form-item
               ></el-col>
-              <el-col :span="2">
-                <el-button
-                  type="danger"
-                  icon="el-icon-delete"
-                  circle
-                ></el-button>
-              </el-col>
             </el-row>
             <el-row :gutter="10">
               <el-col :span="11"
-                ><el-form-item label="閫変腑鎻愮ず">
+                ><el-form-item label="閫夐」">
                   <el-input
                     type="text"
-                    placeholder="璇疯緭鍏ュ唴瀹�"
-                    v-model="text"
-                    maxlength="10"
+                    placeholder="璇疯緭鍏ラ�夐」"
+                    v-model="item.optioncontent"
                     show-word-limit
                   >
                   </el-input> </el-form-item
@@ -210,21 +249,147 @@
                   <el-input
                     type="text"
                     placeholder="璇疯緭鍏ラ鍙�"
-                    v-model="text"
+                    v-model="item.jump"
                     show-word-limit
                   >
                   </el-input> </el-form-item
               ></el-col>
+              <el-col :span="2">
+                <el-button
+                  type="danger"
+                  icon="el-icon-delete"
+                  circle
+                  @click="deletexuanx(item)"
+                ></el-button>
+              </el-col>
+            </el-row>
+            <el-row :gutter="10">
+              <el-form-item label="閫変腑鎻愮ず">
+                <el-input
+                  style="width: 40vw"
+                  type="textarea"
+                  autosize
+                  placeholder="璇疯緭鍏ュ唴瀹�"
+                  v-model="item.prompt"
+                >
+                </el-input
+              ></el-form-item>
             </el-row>
           </div>
         </el-form>
       </el-card>
     </div>
+    <el-drawer
+      title="娣诲姞棰樼洰"
+      :visible.sync="drawer"
+      custom-class="demo-drawer"
+      width="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.userName"
+              placeholder="璇疯緭鍏�"
+              clearable
+              style="width: 200px"
+              @keyup.enter.native="handleQuery"
+            />
+          </el-form-item>
+          <el-form-item label="涓婚" prop="sickness">
+            <el-select
+              v-model="queryParams.classify"
+              size="medium"
+              multiple
+              filterable
+              placeholder="璇烽�夋嫨鍒嗙被"
+            >
+              <el-option
+                class="ruleFormaa"
+                v-for="item in optionsclass"
+                :key="item.value"
+                :label="item.label"
+                :value="item.value"
+              >
+              </el-option>
+            </el-select>
+          </el-form-item>
+          <el-form-item>
+            <el-button
+              type="primary"
+              icon="el-icon-search"
+              size="medium"
+              @click="handleQuery"
+              >鎼滅储</el-button
+            >
+            <el-button icon="el-icon-refresh" size="medium" @click="resetQuery"
+              >閲嶇疆</el-button
+            >
+          </el-form-item>
+        </el-form>
+        <el-table v-loading="loading" :data="userList">
+          <el-table-column
+            label="鏍囬"
+            align="center"
+            key="userid"
+            prop="userid"
+            width="100"
+          />
+          <el-table-column
+            label="闂鍐呭"
+            align="center"
+            key="userName"
+            prop="userName"
+            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>
+      </div>
+    </el-drawer>
   </div>
 </template>
 
 <script>
 import { listtag } from "@/api/system/label";
+import store from "@/store";
+import {
+  getissueclassify,
+  delissueclassify,
+  addissueclassify,
+  getissuelist,
+  issueinfo,
+  compileissue,
+  delissueinfo,
+  Followupinfo,
+  deltargetillness,
+  addtargetillness,
+  getillnesslist,
+  illnesslistget,
+  getillness,
+} from "@/api/AiCentre/index";
 
 export default {
   data() {
@@ -232,50 +397,130 @@
       topicobj: {},
       inputVisible: false,
       inputValue: "",
-      dynamicTags: ["鏍囩涓�", "鏍囩浜�", "鏍囩涓�"],
+      drawer: false,
+      loading: false,
+      id: [],
+      userList: [
+        {
+          userid: "1",
+          userName: "鎸囨爣",
+        },
+        {
+          userid: "2",
+          userName: "浜屽彿闂嵎",
+        },
+      ],
+      dynamicTags: [],
+      // 鏌ヨ鍙傛暟
+      queryParams: {
+        pageNum: 1,
+        pageSize: 10,
+      },
       optionlist: [
         { value: "topic", table: "topic" },
         { value: "topic", table: "topic" },
         { value: "topic", table: "topic" },
       ],
-      options: [
-        {
-          value: "閫夐」1",
-          label: "蹇冭绠�",
-        },
-        {
-          value: "閫夐」2",
-          label: "楠ㄧ",
-        },
-        {
-          value: "閫夐」3",
-          label: "濡囩",
-        },
-      ],
-      optionstag:[],
-      xjxsoptions: [
-        {
-          value: "1",
-          label: "鍗曢��",
-        },
-        {
-          value: "2",
-          label: "澶氶��",
-        },
-      ],
+      inputValueillness: "",
+      themelist: [],
+      languagelist: [],
+      courtyardlist: [],
+      precedencetype: [],
+      inputVisible: false,
+      inputVisibleillness: false,
+      illnessVisible: false, //鎸囨爣鐤剧梾寮规
+      deptOptions: [],
+      optionsillness: [],
+      illnesslistapi: [],
+      illnesslist: [],
+
+      optionstag: [],
+      xjxsoptions: [],
+      usable: [],
+      mode: [], //鏂瑰紡
     };
   },
 
   created() {
     this.gettabList();
+    this.getissueinfo();
+    this.mode = store.getters.mode;
+    this.languagelist = store.getters.languagelist;
+    this.usable = store.getters.usable;
+    this.xjxsoptions = store.getters.xjxsoptions;
   },
 
   methods: {
     Submittopicobj() {},
+    getIndexInArray(arr, obj) {
+      return arr.indexOf(obj);
+    },
+
+    // 鑾峰彇鏁版嵁
+    getissueinfo() {
+      this.id = this.$route.query.id;
+      issueinfo(this.id).then((res) => {
+        this.topicobj = res.data;
+      });
+      getillnesslist({
+        pageNum: 1,
+        pageSize: 100,
+      }).then((response) => {
+        this.optionsillness = response.rows;
+      });
+      getillness({ outid: this.id, type: 4 }).then((res) => {
+        this.illnesslist = res.rows;
+      });
+    },
+    // 鏂板鎴栦慨鏀硅鎯�
+    compileissue() {
+      if (this.id) {
+        this.topicobj.isoperation = 1;
+        compileissue(this.topicobj).then((res) => {
+          if (res.code == 1) {
+            this.$message({
+              message: "淇敼鎴愬姛",
+              type: "success",
+            });
+            this.$router.go(-1);
+          } else {
+            this.$message({
+              message: "淇敼澶辫触",
+              type: "error",
+            });
+          }
+        });
+      } else {
+        this.topicobj.isoperation = 2;
+        compileissue(this.topicobj).then((res) => {
+          if (res.code == 1) {
+            this.$message({
+              message: "鏂板鎴愬姛",
+              type: "success",
+            });
+            this.$router.go(-1);
+          } else {
+            this.$message({
+              message: "鏂板澶辫触",
+              type: "error",
+            });
+          }
+        });
+      }
+    },
+    // 鍒犻櫎閫夐」
+    deletexuanx(row) {
+      const index = this.getIndexInArray(this.optionlist, row);
+      this.optionlist.splice(index, 1);
+    },
     // 鏂板閫夐」
-    addoption() {},
+    addoption() {
+      this.optionlist.push({ value: "topic", table: "topic" });
+    },
+    // 閫夋嫨鎸囨爣
+    selectlabel(row) {},
+
     // 鏍囩-----------------
-    /** 鏌ヨ鏍囩鍒楄〃 */
     gettabList() {
       const tagqueryParams = {
         pageNum: 1,
@@ -284,27 +529,115 @@
       };
       listtag(tagqueryParams).then((response) => {
         console.log(response);
-        this.options = response.rows;
+        this.optionstag = response.rows;
       });
     },
-    handleClose(tag) {
+    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.ruleForm.ivrLibaTemplateTargetList[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.ruleForm.ivrLibaTemplateTargetList.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();
-      // });
     },
+    // 鐤剧梾-----------------------
+
+    handleCloseillness(tag) {
+      this.illnesslist.splice(this.illnesslist.indexOf(tag), 1);
+      if (tag.id) {
+        this.illnesslistapi.push(tag.id);
+      }
+    },
+    remoteMethod(value) {
+      console.log(value);
+      const illnessqueryParams = {
+        pageNum: 1,
+        pageSize: 100,
+        icdname: value,
+      };
+      this.loading = true;
+      setTimeout(() => {
+        this.loading = false;
+        getillnesslist(illnessqueryParams).then((response) => {
+          this.optionsillness = response.rows;
+        });
+      }, 200);
+    },
+    illnessConfirm(item) {
+      let opeavalue = {};
+      let tagname = this.inputValueillness;
+      illnesslistget(item).then((res) => {
+        opeavalue = res.data;
+        opeavalue.outid = this.id;
+        opeavalue.type = 4;
+        opeavalue.icd10id = opeavalue.icdid;
+        opeavalue.icd10name = opeavalue.icdname;
+        opeavalue.icd10code = opeavalue.icdcode;
+        if (tagname) {
+          this.illnesslist.push(opeavalue);
+        }
+      });
+      console.log(this.illnesslist);
+      this.inputVisibleillness = false;
+      this.inputValueillness = "";
+    },
+    // 淇濆瓨
+    confirmillness() {
+      this.illnesslist.forEach((item, index) => {
+        if (!item.id) {
+          addtargetillness(item).then((res) => {});
+        }
+      });
+      if (this.illnesslistapi.length) {
+        deltargetillness(this.illnesslistapi.join(",")).then((res) => {});
+      }
+      this.illnessVisible = false;
+      this.$modal.msgSuccess("缂栬緫鎴愬姛");
+    },
+    // 鏌ヨ棰樺簱
+    handleQuery() {},
+    resetQuery() {},
   },
 };
 </script>
@@ -322,13 +655,18 @@
     margin: 15px 0;
   }
   .topicxq {
-    width: 50%;
+    width: 68%;
     background-color: #e2f5fc;
     border-radius: 4px;
-    margin-top: 10px;
+    margin-top: 15px;
+    margin-left: 10%;
     padding-left: 10px;
     padding-top: 15px;
+    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);
   }
+
   .xinz-inf {
     font-size: 18px;
     white-space: nowrap;
@@ -353,4 +691,25 @@
     }
   }
 }
+.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);
+  .topic-dev {
+    margin-bottom: 25px;
+    font-size: 20px !important;
+    .dev-text {
+      margin-bottom: 10px;
+    }
+  }
+}
+::v-deep.ruleFormaa.el-select {
+  display: inline-block;
+  position: relative;
+  width: 700px;
+}
 </style>
diff --git a/src/views/knowledge/questionnaire/compilequer/index.vue b/src/views/knowledge/questionnaire/compilequer/index.vue
index 556466a..26c78ac 100644
--- a/src/views/knowledge/questionnaire/compilequer/index.vue
+++ b/src/views/knowledge/questionnaire/compilequer/index.vue
@@ -17,9 +17,7 @@
     <div class="leftvlue">
       <!-- 鍩烘湰淇℃伅 -->
       <div v-if="Editprogress == 1">
-        <div class="leftvlue-jbxx">
-          鍩烘湰淇℃伅
-        </div>
+        <div class="leftvlue-jbxx">鍩烘湰淇℃伅</div>
         <el-divider></el-divider>
         <el-form
           :model="ruleForm"
@@ -30,7 +28,7 @@
         >
           <el-form-item label="闂嵎鍒嗙被" prop="region">
             <el-select
-              v-model="ruleForm.classify"
+              v-model="ruleForm.categoryid"
               size="medium"
               multiple
               filterable
@@ -38,7 +36,7 @@
             >
               <el-option
                 class="ruleFormaa"
-                v-for="item in options"
+                v-for="item in optionsclass"
                 :key="item.value"
                 :label="item.label"
                 :value="item.value"
@@ -48,16 +46,32 @@
           </el-form-item>
           <el-form-item label="闂嵎鏍囬" prop="name">
             <div style="width: 30%">
-              <el-input v-model="ruleForm.name"></el-input>
+              <el-input v-model="ruleForm.svyname"></el-input>
             </div>
           </el-form-item>
+          <el-form-item label="闂嵎鎻忚堪">
+            <el-input
+              style="width: 40vw"
+              type="textarea"
+              autosize
+              placeholder="璇疯緭鍏ュ唴瀹�"
+              v-model="ruleForm.description"
+            >
+            </el-input
+          ></el-form-item>
           <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-input
+                  v-model="item.name"
+                  placeholder="璇疯緭鍏ュ彉閲忓悕"
+                ></el-input>
               </el-col>
               <el-col :span="8" :offset="1">
-                <el-input v-model="item.value"></el-input>
+                <el-input
+                  v-model="item.value"
+                  placeholder="璇疯緭鍏ュ彉閲忓唴瀹�"
+                ></el-input>
               </el-col>
               <el-col :span="4" :offset="1">
                 <el-button
@@ -67,6 +81,7 @@
                   @click="addvariable(item)"
                 ></el-button>
                 <el-button
+                  v-if="item"
                   type="danger"
                   icon="el-icon-delete"
                   circle
@@ -91,53 +106,101 @@
               </el-upload>
             </div>
           </el-form-item>
-          <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
-                  allow-create
+          <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
-                placeholder="璇烽�夋嫨"
-              >
-                <el-option
-                  v-for="item in optionstag"
-                  :key="item.tagname"
+                  :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
                 >
-                </el-option>
-              </el-select>
-              <el-button
-                v-else
-                class="button-new-tag"
-                size="small"
-                @click="showInput"
-                >+ 鏂板鏍囩</el-button
-              >
-            </div>
-          </el-form-item>
+              </div>
+            </el-form-item>
+          </el-row>
+          <el-row>
+            <el-form-item label="閫傜敤鐤剧梾" prop="region">
+              <div class="xinz-inf">
+                <el-tag
+                  :key="item.icd10name"
+                  type="warning"
+                  v-for="item in illnesslist"
+                  closable
+                  :disable-transitions="false"
+                  @close="handleCloseillness(item)"
+                >
+                  {{ item.icd10name }}
+                </el-tag>
+                <el-select
+                  v-model="inputValueillness"
+                  v-if="inputVisibleillness"
+                  @change="illnessConfirm"
+                  :remote-method="remoteMethod"
+                  filterable
+                  remote
+                  allow-create
+                  default-first-option
+                  placeholder="璇烽�夋嫨/鏌ヨ"
+                  :loading="loading"
+                >
+                  <el-option
+                    v-for="item in optionsillness"
+                    :key="item.icdid"
+                    :label="item.icdname"
+                    :value="item.icdid"
+                  >
+                  </el-option>
+                </el-select>
+                <el-button
+                  v-else
+                  class="button-new-tag"
+                  size="small"
+                  @click="inputVisibleillness = true"
+                  >+ 鏂板鐤剧梾</el-button
+                >
+              </div>
+            </el-form-item>
+          </el-row>
           <el-row :gutter="20">
             <el-col :span="6">
               <el-form-item label="鐗堟湰鍙�" prop="name">
-                <el-input v-model="currentVersion"></el-input> </el-form-item
+                <el-input v-model="ruleForm.version"></el-input> </el-form-item
             ></el-col>
             <el-col :span="9">
               <el-form-item label="鍙敤鐘舵��" prop="region">
                 <el-select
-                  v-model="ruleForm.classify"
+                  v-model="ruleForm.isenable"
                   size="medium"
                   multiple
                   filterable
@@ -145,7 +208,7 @@
                 >
                   <el-option
                     class="ruleFormaa"
-                    v-for="item in options"
+                    v-for="item in usable"
                     :key="item.value"
                     :label="item.label"
                     :value="item.value"
@@ -154,7 +217,7 @@
                 </el-select> </el-form-item
             ></el-col>
           </el-row>
-          <el-form-item label="闂嵎鏂瑰紡" prop="region">
+          <el-form-item label="闂嵎鏂瑰紡(缂�)" prop="region">
             <el-select
               v-model="ruleForm.way"
               size="medium"
@@ -172,24 +235,7 @@
               </el-option>
             </el-select>
           </el-form-item>
-          <el-form-item label="閫傜敤鐤剧梾" prop="region">
-            <el-select
-              v-model="ruleForm.illness"
-              size="medium"
-              multiple
-              filterable
-              placeholder="璇烽�夋嫨鍒嗙被"
-            >
-              <el-option
-                class="ruleFormaa"
-                v-for="item in options"
-                :key="item.value"
-                :label="item.label"
-                :value="item.value"
-              >
-              </el-option>
-            </el-select>
-          </el-form-item>
+
           <el-form-item label="閫傜敤闄㈠尯" prop="region">
             <el-select
               v-model="ruleForm.courtyard"
@@ -199,7 +245,7 @@
             >
               <el-option
                 class="ruleFormaa"
-                v-for="item in options"
+                v-for="item in courtyardlist"
                 :key="item.value"
                 :label="item.label"
                 :value="item.value"
@@ -217,7 +263,7 @@
             >
               <el-option
                 class="ruleFormaa"
-                v-for="item in options"
+                v-for="item in courtyardlist"
                 :key="item.value"
                 :label="item.label"
                 :value="item.value"
@@ -345,51 +391,70 @@
                   ></el-col>
                 </el-row>
                 <div class="headline">閫夐」璁剧疆</div>
-                <div class="topicxq" v-for="item in 2">
+                <div class="topicxq" v-for="item in optionlist">
                   <el-row :gutter="10">
-                    <el-col :span="12"
-                      ><el-form-item label="閫夐」">
+                    <el-col :span="11"
+                      ><el-form-item label="棰樺彿">
                         <el-input
                           type="text"
-                          placeholder="璇疯緭鍏ラ�夐」"
-                          v-model="text"
+                          placeholder="璇疯緭鍏�"
+                          v-model="item.optionid"
                           show-word-limit
                         >
                         </el-input> </el-form-item
                     ></el-col>
-                    <el-col :span="12"
+                    <el-col :span="11"
                       ><el-form-item label="鍒嗗��">
                         <el-input
                           type="text"
-                          placeholder="璇疯緭鍏ュ垎鍊�"
-                          v-model="text"
+                          placeholder="璇疯緭鍏�"
+                          v-model="item.score"
                           show-word-limit
                         >
                         </el-input> </el-form-item
                     ></el-col>
                   </el-row>
                   <el-row :gutter="10">
-                    <el-col :span="12"
-                      ><el-form-item label="閫変腑鎻愮ず">
+                    <el-col :span="11"
+                      ><el-form-item label="閫夐」">
                         <el-input
                           type="text"
-                          placeholder="璇疯緭鍏ュ唴瀹�"
-                          v-model="text"
-                          maxlength="10"
+                          placeholder="璇疯緭鍏ラ�夐」"
+                          v-model="item.optioncontent"
                           show-word-limit
                         >
                         </el-input> </el-form-item
                     ></el-col>
-                    <el-col :span="12"
+                    <el-col :span="11"
                       ><el-form-item label="涓嬮璺宠浆">
                         <el-input
                           type="text"
                           placeholder="璇疯緭鍏ラ鍙�"
-                          v-model="text"
+                          v-model="item.jump"
                           show-word-limit
                         >
                         </el-input> </el-form-item
                     ></el-col>
+                    <el-col :span="2">
+                      <el-button
+                        type="danger"
+                        icon="el-icon-delete"
+                        circle
+                        @click="deletexuanx(item)"
+                      ></el-button>
+                    </el-col>
+                  </el-row>
+                  <el-row :gutter="10">
+                    <el-form-item label="閫変腑鎻愮ず">
+                      <el-input
+                        style="width: 20vw"
+                        type="textarea"
+                        autosize
+                        placeholder="璇疯緭鍏ュ唴瀹�"
+                        v-model="item.prompt"
+                      >
+                      </el-input
+                    ></el-form-item>
                   </el-row>
                 </div>
               </el-form>
@@ -483,22 +548,13 @@
             />
           </el-form-item>
           <el-form-item label="涓婚" prop="sickness">
-            <el-select
-              v-model="ruleForm.classify"
-              size="medium"
-              multiple
-              filterable
-              placeholder="璇烽�夋嫨鍒嗙被"
-            >
-              <el-option
-                class="ruleFormaa"
-                v-for="item in options"
-                :key="item.value"
-                :label="item.label"
-                :value="item.value"
-              >
-              </el-option>
-            </el-select>
+            <el-input
+              v-model="queryParams.userName"
+              placeholder="璇疯緭鍏�"
+              clearable
+              style="width: 200px"
+              @keyup.enter.native="handleQuery"
+            />
           </el-form-item>
           <el-form-item>
             <el-button
@@ -554,6 +610,22 @@
 
 <script>
 import { listtag } from "@/api/system/label";
+import store from "@/store";
+import {
+  getQtemplateclassify,
+  delQtemplateclassify,
+  addQtemplateclassify,
+  getQtemplatelist,
+  Qtemplateinfo,
+  compileissue,
+  delQtemplateinfo,
+  Followupinfo,
+  deltargetillness,
+  addtargetillness,
+  getillnesslist,
+  illnesslistget,
+  getillness,
+} from "@/api/AiCentre/index";
 
 export default {
   data() {
@@ -566,27 +638,20 @@
       radio: "false", //鍗曢�夐閫変腑
       radios: [], //澶氶�夐閫変腑
       radioas: "", //濉┖棰樼瓟妗�
-      dynamicTags: ["鏍囩涓�", "鏍囩浜�", "鏍囩涓�"],
+      dynamicTags: [],
       inputVisible: false,
       inputValue: "",
       topicobj: {},
       // 鎬绘潯鏁�
       total: 1,
-      ruleForm: {
-        name: "",
-        region: "",
-        date1: "",
-        date2: "",
-        delivery: false,
-        type: [],
-        resource: "",
-        desc: "",
-        templatevalue: "",
-        data2: "",
-      },
+      ruleForm: {},
       rules: {},
       rulesa: {},
-      optionstag:[],
+      optionsclass: [], //鍒嗙被鍒楄〃
+      optionlist: [
+        { value: "topic", table: "topic" },
+        { value: "topic", table: "topic" },
+      ],
       xjxsoptions: [
         {
           value: "閫夐」1",
@@ -620,14 +685,6 @@
           value: "閫夐」2",
           label: "鍏ラ櫌闂嵎",
         },
-        {
-          value: "閫夐」3",
-          label: "鎵嬫湳闂嵎",
-        },
-        {
-          value: "閫夐」4",
-          label: "鎶ょ悊闂嵎",
-        },
       ],
       variablelist: [
         {
@@ -654,15 +711,24 @@
           userid: "2",
           userName: "浜屽彿闂嵎",
         },
-        {
-          userid: "3",
-          userName: "涓夊彿闂嵎",
-        },
-        {
-          userid: "4",
-          userName: "鍥涘彿闂嵎",
-        },
       ],
+      themelist: [],
+      languagelist: [],
+      courtyardlist: [],
+      precedencetype: [],
+      inputValueillness: "",
+      inputVisible: false,
+      inputVisibleillness: false,
+      illnessVisible: false, //鎸囨爣鐤剧梾寮规
+      deptOptions: [],
+      optionsillness: [],
+      illnesslistapi: [],
+      illnesslist: [],
+
+      optionstag: [],
+      xjxsoptions: [],
+      usable: [],
+      mode: [], //鏂瑰紡
       // 鏌ヨ鍙傛暟
       queryParams: {
         pageNum: 1,
@@ -678,22 +744,35 @@
 
   created() {
     this.gettabList();
-
+    this.getissueinfo();
+    this.mode = store.getters.mode;
+    this.languagelist = store.getters.languagelist;
+    this.usable = store.getters.usable;
+    this.xjxsoptions = store.getters.xjxsoptions;
+    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;
-        }
+    getIndexInArray(arr, obj) {
+      return arr.indexOf(obj);
+    },
+    // 鑾峰彇鏁版嵁
+    getissueinfo() {
+      this.id = this.$route.query.id;
+      Qtemplateinfo(this.id).then((res) => {
+        this.ruleForm = res.data;
+      });
+      getillnesslist({
+        pageNum: 1,
+        pageSize: 100,
+      }).then((response) => {
+        this.optionsillness = response.rows;
+      });
+      getillness({ outid: this.id, type: 5 }).then((res) => {
+        this.illnesslist = res.rows;
       });
     },
+    submitForm(formName) {},
     // 涓嬩竴姝�
     nextstep() {
       if (this.Editprogress <= 2) {
@@ -706,17 +785,19 @@
     },
     // 鍏抽棴
     closeFm() {
-      this.$confirm('閫�鍑轰笉浼氫繚鐣欓〉闈㈠唴瀹规洿鏀�, 鏄惁缁х画?', '鎻愮ず', {
-          confirmButtonText: '纭畾',
-          cancelButtonText: '鍙栨秷',
-          type: 'warning'
-        }).then(() => {
-          this.$router.go(-1)
-        }).catch(() => {
+      this.$confirm("閫�鍑轰笉浼氫繚鐣欓〉闈㈠唴瀹规洿鏀�, 鏄惁缁х画?", "鎻愮ず", {
+        confirmButtonText: "纭畾",
+        cancelButtonText: "鍙栨秷",
+        type: "warning",
+      })
+        .then(() => {
+          this.$router.go(-1);
+        })
+        .catch(() => {
           this.$message({
-            type: 'info',
-            message: '宸插彇娑�'
-          });          
+            type: "info",
+            message: "宸插彇娑�",
+          });
         });
     },
     // 淇濆瓨棰樼洰淇℃伅
@@ -758,8 +839,7 @@
       this.fileList = fileList.slice(-3);
     },
     // 鏍囩-----------------
-     /** 鏌ヨ鏍囩鍒楄〃 */
-     gettabList() {
+    gettabList() {
       const tagqueryParams = {
         pageNum: 1,
         pageSize: 1000,
@@ -770,23 +850,108 @@
         this.optionstag = response.rows;
       });
     },
-    handleClose(tag) {
+    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.ruleForm.ivrLibaTemplateTargetList[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.ruleForm.ivrLibaTemplateTargetList.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();
-      // });
+    },
+    // 鐤剧梾-----------------------
+
+    handleCloseillness(tag) {
+      this.illnesslist.splice(this.illnesslist.indexOf(tag), 1);
+      if (tag.id) {
+        this.illnesslistapi.push(tag.id);
+      }
+    },
+    remoteMethod(value) {
+      console.log(value);
+      const illnessqueryParams = {
+        pageNum: 1,
+        pageSize: 100,
+        icdname: value,
+      };
+      this.loading = true;
+      setTimeout(() => {
+        this.loading = false;
+        getillnesslist(illnessqueryParams).then((response) => {
+          this.optionsillness = response.rows;
+        });
+      }, 200);
+    },
+    illnessConfirm(item) {
+      let opeavalue = {};
+      let tagname = this.inputValueillness;
+      illnesslistget(item).then((res) => {
+        opeavalue = res.data;
+        opeavalue.outid = this.id;
+        opeavalue.type = 5;
+        opeavalue.icd10id = opeavalue.icdid;
+        opeavalue.icd10name = opeavalue.icdname;
+        opeavalue.icd10code = opeavalue.icdcode;
+        if (tagname) {
+          this.illnesslist.push(opeavalue);
+        }
+      });
+      console.log(this.illnesslist);
+      this.inputVisibleillness = false;
+      this.inputValueillness = "";
+    },
+    // 淇濆瓨
+    confirmillness() {
+      this.illnesslist.forEach((item, index) => {
+        if (!item.id) {
+          addtargetillness(item).then((res) => {});
+        }
+      });
+      if (this.illnesslistapi.length) {
+        deltargetillness(this.illnesslistapi.join(",")).then((res) => {});
+      }
+      this.illnessVisible = false;
+      this.$modal.msgSuccess("缂栬緫鎴愬姛");
     },
     // --------------------------
     // 鏌ヨ棰樺簱
@@ -833,9 +998,9 @@
   }
   .leftvlue-jbxx {
     font-size: 24px;
-      border-left: 5px solid #41a1be;
-      padding-left: 5px;
-      margin: 15px 0;
+    border-left: 5px solid #41a1be;
+    padding-left: 5px;
+    margin: 15px 0;
   }
   .demo-cascader {
     margin-right: 20px;
diff --git a/src/views/knowledge/questionnaire/index.vue b/src/views/knowledge/questionnaire/index.vue
index 118b7bb..e4c3562 100644
--- a/src/views/knowledge/questionnaire/index.vue
+++ b/src/views/knowledge/questionnaire/index.vue
@@ -13,84 +13,34 @@
           class="input-with-select"
           size="medium "
         >
-          <el-button
-            @click="sidecolumnss"
-            slot="append"
-            icon="el-icon-search"
-          ></el-button>
         </el-input>
       </div>
-      <div class="bottom-fl">
-        <el-menu
-          default-active="3"
-          class="el-menu-vertical-demo"
-          @open="handleOpen"
-          @close="handleClose"
-          @select="handleSelect"
+      <div class="head-container" style="margin-top: 20px">
+        <el-tree
+          :data="deptOptions"
+          :props="defaultProps"
+          :expand-on-click-node="false"
+          :filter-node-method="filterNode"
+          ref="tree"
+          node-key="id"
+          default-expand-all
+          highlight-current
+          @node-click="handleNodeClick"
         >
-          <el-submenu index="1">
-            <template slot="title">
-              <i class="el-icon-location"></i>
-              <span>鍒嗙被涓�</span>
-            </template>
-
-            <el-menu-item index="1-1">閫夐」1</el-menu-item>
-            <el-menu-item index="1-2">閫夐」2</el-menu-item>
-            <el-menu-item index="1-3">閫夐」3</el-menu-item>
-            <el-menu-item index="1-4">閫夐」3</el-menu-item>
-          </el-submenu>
-          <el-submenu index="2">
-            <template slot="title">
-              <i class="el-icon-menu"></i>
-              <span>鍒嗙被浜�</span>
-            </template>
-            <el-menu-item index="2-1">閫夐」1</el-menu-item>
-            <el-menu-item index="2-2">閫夐」2</el-menu-item>
-            <el-menu-item index="2-3">閫夐」3</el-menu-item>
-          </el-submenu>
-          <el-submenu index="3">
-            <template slot="title">
-              <i class="el-icon-document"></i>
-              <span>鍒嗙被涓�</span>
-            </template>
-            <el-menu-item index="2-1">閫夐」1</el-menu-item>
-          </el-submenu>
-          <el-submenu index="4">
-            <template slot="title">
-              <i class="el-icon-setting"></i>
-              <span>鍒嗙被鍥�</span>
-            </template>
-            <el-menu-item index="2-1">閫夐」1</el-menu-item>
-          </el-submenu>
-        </el-menu>
-        <!-- <el-tabs tab-position="right">
-          <el-tab-pane :label="`鍏ㄩ儴 (${numberlb})`"></el-tab-pane>
-          <el-tab-pane
-            class="tab-paness"
-            :key="item.title"
-            v-for="(item, index) in editableTabs"
-          >
-            <span slot="label">
-              {{
-                item.title + " (" + item.number + ")"
-              }}&nbsp&nbsp&nbsp<el-popover
-                placement="top-start"
-                width="100"
-                trigger="hover"
+          <span class="custom-tree-node" slot-scope="{ node, data }">
+            <span>{{ node.label }}</span>
+            <span>
+              <el-button
+                type="text"
+                icon="el-icon-delete"
+                circle
+                size="mini"
+                @click="() => remove(node, data)"
               >
-                <div style="text-align: center">
-                  <el-button type="text" @click="popoveramend(item)"
-                    >淇敼</el-button
-                  ><el-button type="text" @click="deletefenlei(item)"
-                    ><span style="color: rgb(173, 55, 55)"
-                      >鍒犻櫎</span
-                    ></el-button
-                  >
-                </div>
-                <i slot="reference" class="el-icon-share"></i> </el-popover
-            ></span>
-          </el-tab-pane>
-        </el-tabs> -->
+              </el-button>
+            </span>
+          </span>
+        </el-tree>
       </div>
     </div>
     <!-- 鍙充晶鏁版嵁 -->
@@ -119,7 +69,7 @@
               <el-form-item label="閫傜敤绉戝" prop="sickness">
                 <el-cascader
                   v-model="queryParams.sickness"
-                  :options="optionss"
+                  :options="editableTabs"
                   :props="propss"
                   clearable
                 ></el-cascader>
@@ -136,7 +86,7 @@
               <el-form-item label="閫傜敤鏂瑰紡" prop="shape">
                 <el-cascader
                   v-model="queryParams.shapevalue"
-                  :options="optionss"
+                  :options="editableTabs"
                   :props="propss"
                   clearable
                 ></el-cascader>
@@ -161,7 +111,7 @@
                   placeholder="璇烽�夋嫨"
                 >
                   <el-option
-                    v-for="(item, index) in editableTabsky"
+                    v-for="(item, index) in editableTabs"
                     :key="index++"
                     :label="item.title"
                     :value="index++"
@@ -223,46 +173,58 @@
               <el-table-column
                 label="搴忓彿"
                 align="center"
-                key="userId"
-                prop="userId"
+                key="svyid"
+                prop="svyid"
               />
               <el-table-column
                 label="闂嵎鏍囬"
                 align="center"
-                key="userName"
-                prop="userName"
+                key="svyname"
+                prop="svyname"
+                width="160"
                 :show-overflow-tooltip="true"
               />
               <el-table-column
                 label="鐗堟湰"
                 align="center"
-                key="nickName"
-                prop="nickName"
+                key="version"
+                prop="version"
                 :show-overflow-tooltip="true"
               />
 
               <el-table-column
                 label="涓昏鍐呭"
                 align="center"
-                key="bphonenumber"
-                prop="bphonenumber"
-                width="120"
+                key="description"
+                prop="description"
+                width="260"
               /><el-table-column
-                label="閫傜敤鐤剧梾"
+                label="閫傜敤鐤剧梾(缂�)"
                 align="center"
-                key="aphonenumber"
-                prop="aphonenumber"
-                width="120"
-              />
+                key="Applicable"
+                prop="Applicable"
+              >
+                <template slot-scope="scope">
+                  <el-button
+                    size="medium"
+                    type="text"
+                    @click="illnessUpdate(scope.row)"
+                    v-hasPermi="['system:user:edit']"
+                    ><span class="button-textxg"
+                      ><i class="el-icon-date"></i>璇︽儏</span
+                    ></el-button
+                  >
+                </template>
+              </el-table-column>
               <el-table-column
-                label="閫傜敤绉戝"
+                label="閫傜敤绉戝(缂�)"
                 align="center"
                 key="administrative"
                 prop="administrative"
                 width="120"
               />
               <el-table-column
-                label="鏍囩"
+                label="鏍囩(缂�)"
                 align="center"
                 key="tagList"
                 prop="tagList"
@@ -273,20 +235,9 @@
                   <span v-for="item in scope.row.tagList">{{ item }} </span>
                 </template>
               </el-table-column>
+
               <el-table-column
-                label="瀹f暀鏂瑰紡"
-                align="center"
-                key="wayList"
-                prop="wayList"
-                width="160"
-                :show-overflow-tooltip="true"
-              >
-                <template slot-scope="scope">
-                  <span v-for="item in scope.row.wayList">{{ item }} </span>
-                </template>
-              </el-table-column>
-              <el-table-column
-                label="璧勬枡褰㈠紡"
+                label="璧勬枡褰㈠紡(缂�)"
                 align="center"
                 key="cphonenumaber"
                 prop="cphonenumaber"
@@ -295,15 +246,19 @@
               <el-table-column
                 label="鍙敤"
                 align="center"
-                key="cphonenumbker"
-                prop="cphonenumbker"
+                key="isenable"
+                prop="isenable"
                 width="120"
-              />
+              >
+                <template slot-scope="scope">
+                  <dict-tag :options="qyoptions" :value="scope.row.isenable" />
+                </template>
+              </el-table-column>
               <el-table-column
                 label="鏈�杩戠紪杈�"
                 align="center"
-                key="cphonenumber"
-                prop="cphonenumber"
+                key="updateTime"
+                prop="updateTime"
                 width="120"
               />
 
@@ -364,134 +319,32 @@
             />
           </el-col>
         </el-row>
-
-        <!-- 娣诲姞鎴栦慨鏀归棶鍗烽厤缃璇濇 -->
-        <el-dialog
-          :title="title"
-          :visible.sync="open"
-          width="900px"
-          append-to-body
-        >
-          <el-form ref="form" :model="form" :rules="rules" label-width="100px">
-            <el-row>
-              <el-col :span="12">
-                <el-form-item label="濮撳悕" prop="nickName">
-                  <el-input
-                    v-model="form.nickName"
-                    placeholder="璇疯緭鍏ュ鍚�"
-                    maxlength="30"
-                  />
-                </el-form-item>
-              </el-col>
-              <el-col :span="12">
-                <el-form-item label="鎬у埆" prop="deptId">
-                  <el-select v-model="form.sex" placeholder="璇烽�夋嫨鎬у埆">
-                    <el-option
-                      v-for="dict in dict.type.sys_user_sex"
-                      :key="dict.value"
-                      :label="dict.label"
-                      :value="dict.value"
-                    ></el-option>
-                  </el-select>
-                </el-form-item>
-              </el-col>
-            </el-row>
-            <el-row>
-              <el-col :span="12">
-                <el-form-item label="璇佷欢绫诲瀷" prop="phonenumber">
-                  <el-input
-                    v-model="form.phonenumber"
-                    placeholder="璇烽�夋嫨璇佷欢绫诲瀷"
-                    maxlength="11"
-                  />
-                </el-form-item>
-              </el-col>
-              <el-col :span="12">
-                <el-form-item label="璇佷欢鍙�" prop="email">
-                  <el-input
-                    v-model="form.email"
-                    placeholder="璇疯緭鍏ヨ瘉浠跺彿"
-                    maxlength="50"
-                  />
-                </el-form-item>
-              </el-col>
-            </el-row>
-            <el-row>
-              <el-col :span="12">
-                <el-form-item label="鏈汉鎵嬫満鍙�" prop="userName">
-                  <el-input
-                    v-model="form.userName"
-                    placeholder="璇疯緭鍏ユ墜鏈哄彿"
-                    maxlength="30"
-                  />
-                </el-form-item>
-              </el-col>
-              <el-col :span="12">
-                <el-form-item label="浜插睘鎵嬫満鍙�" prop="password">
-                  <el-input
-                    v-model="form.password"
-                    placeholder="璇疯緭鍏ヤ翰灞炴墜鏈哄彿"
-                    type="password"
-                    maxlength="20"
-                    show-password
-                  />
-                </el-form-item>
-              </el-col>
-            </el-row>
-            <el-row>
-              <el-col :span="12">
-                <el-form-item label="鎮h�呮爣绛�">
-                  <el-cascader
-                    :options="optionss"
-                    :props="propss"
-                    clearable
-                  ></el-cascader>
-                </el-form-item>
-              </el-col>
-            </el-row>
-
-            <el-row>
-              <el-col :span="24">
-                <el-form-item label="澶囨敞">
-                  <el-input
-                    v-model="form.remark"
-                    type="textarea"
-                    placeholder="璇疯緭鍏ュ唴瀹�"
-                  ></el-input>
-                </el-form-item>
-              </el-col>
-            </el-row>
-          </el-form>
-          <div slot="footer" class="dialog-footer">
-            <el-button type="primary" @click="submitForm">纭� 瀹�</el-button>
-            <el-button @click="cancel">鍙� 娑�</el-button>
-          </div>
-        </el-dialog>
       </div>
     </div>
     <!-- 娣诲姞绫诲埆寮规 -->
-    <el-dialog
-      :title="amendtag ? '淇敼绫诲埆' : '鏂板绫诲埆'"
-      width="30%"
-      :visible.sync="dialogFormVisible"
-    >
+    <el-dialog title="鏂板绫诲埆" width="30%" :visible.sync="dialogFormVisible">
+      <div style="text-align: center; margin-bottom: 20px">
+        <el-radio-group v-model="radio">
+          <el-radio-button label="涓诲垎绫�"></el-radio-button>
+          <el-radio-button label="瀛愬垎绫�"></el-radio-button>
+        </el-radio-group>
+      </div>
+      <el-divider></el-divider>
       <el-form :model="classifyform">
-        <el-form-item label="璇烽�夋嫨闂嵎澶х被">
-          <el-select v-model="classifyform.broadheading" placeholder="璇烽�夋嫨">
+        <el-form-item label="璇烽�夋嫨闂澶х被" v-if="radio == '瀛愬垎绫�'">
+          <el-select v-model="classifyform.pid" placeholder="璇烽�夋嫨">
             <el-option
-              v-for="item in optionss"
-              :key="item.value"
-              :label="item.label"
-              :value="item.value"
+              v-for="item in deptOptions"
+              :key="item.id"
+              :label="item.indexAssortName"
+              :value="item.id"
             >
             </el-option>
           </el-select>
         </el-form-item>
-        <el-form-item
-          :label="amendtag ? '璇疯緭鍏ユ柊鐨勭被鍒悕绉�' : '璇疯緭鍏ョ被鍒悕绉�'"
-        >
+        <el-form-item label="璇疯緭鍏ョ被鍒悕绉�">
           <el-input
-            v-model="classifyform.categoryname"
+            v-model="classifyform.indexAssortName"
             autocomplete="off"
           ></el-input>
         </el-form-item>
@@ -501,18 +354,52 @@
         <el-button type="primary" @click="submitsidecolumn">纭� 瀹�</el-button>
       </div>
     </el-dialog>
-    <!-- 鍒犻櫎绫诲埆纭妗� -->
-    <el-dialog title="璀﹀憡" :visible.sync="deleteVisible" width="40%">
-      <div style="font-size: 20px; color: rgb(247, 76, 76)">
-        鏄惁纭鍒犻櫎鍒嗙被锛歔<span>{{ deletefenl }}</span
-        >]?
-      </div>
-      <div style="font-size: 20px">
-        姝ゆ搷浣滀細灏嗚绫诲埆涓嬫墍鏈夋ā鍧楄浆绉昏嚦[鏈垎绫籡锛屾槸鍚︾户缁垹闄ゆ鍒嗙被锛�
+    <!-- 娣诲姞鐤剧梾瀵硅瘽妗� -->
+    <el-dialog title="鎸囨爣鐤剧梾" :visible.sync="illnessVisible" width="50%">
+      <div>
+        <div class="xinz-infs">
+          <el-tag
+            :key="item.icd10name"
+            type="warning"
+            v-for="item in illnesslist"
+            closable
+            :disable-transitions="false"
+            @close="handleCloseillness(item)"
+          >
+            {{ item.icd10name }}
+          </el-tag>
+          <el-select
+            v-model="inputValue"
+            v-if="inputVisible"
+            @change="illnessConfirm"
+            :remote-method="remoteMethod"
+            filterable
+            remote
+            allow-create
+            default-first-option
+            placeholder="璇烽�夋嫨/鏌ヨ"
+            :loading="loading"
+          >
+            <el-option
+              v-for="item in optionsillness"
+              :key="item.icdid"
+              :label="item.icdname"
+              :value="item.icdid"
+            >
+            </el-option>
+          </el-select>
+          <el-button
+            v-else
+            class="button-new-tag"
+            size="small"
+            @click="showInput"
+            >+ 鏂板鐤剧梾</el-button
+          >
+        </div>
       </div>
       <span slot="footer" class="dialog-footer">
-        <el-button @click="deleteVisible = false">鍙� 娑�</el-button>
-        <el-button type="primary" @click="deletefenlei">纭� 瀹�</el-button>
+        <el-button @click="illnessVisible = false">鍙� 娑�</el-button>
+        <el-button type="primary" @click="confirmillness">纭� 瀹�</el-button>
       </span>
     </el-dialog>
     <!-- 浜岀淮鐮佸睍绀哄脊妗� -->
@@ -528,19 +415,28 @@
 </template>
 
 <script>
+import store from "@/store";
+
 import {
-  listUser,
-  getUser,
-  delUser,
-  addUser,
-  updateUser,
-} from "@/api/system/user";
+  getQtemplateclassify,
+  delQtemplateclassify,
+  addQtemplateclassify,
+  getQtemplatelist,
+  issueinfo,
+  compileissue,
+  delQtemplateinfo,
+  Followupinfo,
+  deltargetillness,
+  addtargetillness,
+  getillnesslist,
+  illnesslistget,
+  getillness,
+} from "@/api/AiCentre/index";
 import { getToken } from "@/utils/auth";
 import Treeselect from "@riophae/vue-treeselect";
 import "@riophae/vue-treeselect/dist/vue-treeselect.css";
 export default {
   name: "questionnaire",
-  dicts: ["sys_normal_disable", "sys_user_sex"],
   components: { Treeselect },
   data() {
     return {
@@ -560,20 +456,8 @@
       namequestionnaire: "",
       haoquestionnaire: "",
       // 鐢ㄦ埛琛ㄦ牸鏁版嵁
-      userList: [
-        {
-          userid: 1,
-          userName: "涓夊彿闂嵎",
-          nickName: "1.2.4",
-          aphonenumber: "鍏宠妭鐐庣棁",
-          bphonenumber: "寰堟",
-          cphonenumber: "2022-12-12 ",
-        },
-      ],
-      // 寮瑰嚭灞傛爣棰�
-      title: "",
-      // 鏄惁鏄剧ず寮瑰嚭灞�
-      open: false,
+      userList: [],
+
       // 鏃ユ湡鑼冨洿
       dateRange: [],
       // 宀椾綅閫夐」
@@ -582,8 +466,7 @@
       roleOptions: [],
       // 琛ㄥ崟鍙傛暟
       form: {},
-      numberlb: 22,
-      numberlbs: 2,
+
       sidecolumnform: {}, //娣诲姞绫诲埆琛ㄥ崟
       goQRCodeVisible: false, //浜岀淮鐮佸脊妗�
       sidecolumnval: "", //绫诲埆鎼滅储
@@ -591,208 +474,55 @@
       idds: "",
       amendtag: false, //鏄惁淇敼绫诲埆
       dialogFormVisible: false, //淇敼娣诲姞绫诲埆寮规
-      deleteVisible: false, //鍒嗙被鍒犻櫎寮规
-      deletefenl: "楂樿鍘�", //鍒犻櫎椤�
-      classifyform: {
-        categoryname: "",
-      }, //绫诲埆琛ㄥ崟
-      optionss: [
-        {
-          value: 1,
-          label: "涓滃崡",
-        },
-        {
-          value: 2,
-          label: "瑗垮寳",
-        },
-        {
-          value: 3,
-          label: "浠ㄤ花浠�",
-        },
-        {
-          value: 4,
-          label: "鍏椋掗",
-        },
-      ],
-      //绫诲埆鍒楄〃
-      editableTabs: [
-        {
-          title: "闂嵎鍒嗙被涓�",
-          number: "1",
-        },
-        {
-          title: "闂嵎鍒嗙被浜�",
-          number: "2",
-        },
-        {
-          title: "闂嵎鍒嗙被涓�",
-          number: "2",
-        },
-        {
-          title: "闂嵎鍒嗙被鍥�",
-          number: "2",
-        },
-        {
-          title: "闂嵎鍒嗙被浜�",
-          number: "2",
-        },
-      ],
-      editableTabsky: [
-        {
-          title: "鍙敤",
-          number: "1",
-        },
-        {
-          title: "鍋滅敤",
-          number: "2",
-        },
-      ],
+      classifyform: {}, //绫诲埆琛ㄥ崟
+      indexid: null,
+      inputValue: "",
+      radio: "涓诲垎绫�",
+      inputVisible: false,
+      illnessVisible: false, //鎸囨爣鐤剧梾寮规
+      deptOptions: [],
+      optionsillness: [],
+      illnesslistapi: [],
+      illnesslist: [],
+      defaultProps: {
+        children: "svyLibTopicCategoryList",
+        label: "indexAssortName",
+      },
+      mode: [],
+      languagelist: [],
+      qyoptions: [],
+      editableTabs: [],
+
       // 鏌ヨ鍙傛暟
       queryParams: {
         pageNum: 1,
         pageSize: 10,
-        userName: undefined,
-        phonenumber: undefined,
-        status: undefined,
-        deptId: undefined,
-        IDnumber: undefined,
       },
-      // 鍒椾俊鎭�
-      columns: [
-        { key: 0, label: `鐢ㄦ埛缂栧彿`, visible: true },
-        { key: 1, label: `鐢ㄦ埛鍚嶇О`, visible: true },
-        { key: 2, label: `鐢ㄦ埛鏄电О`, visible: true },
-        { key: 3, label: `閮ㄩ棬`, visible: true },
-        { key: 4, label: `鎵嬫満鍙风爜`, visible: true },
-        { key: 5, label: `鐘舵�乣, visible: true },
-        { key: 6, label: `鍒涘缓鏃堕棿`, visible: true },
-      ],
       // 琛ㄥ崟鏍¢獙
-      rules: {
-        userName: [
-          { required: true, message: "鐢ㄦ埛鍚嶇О涓嶈兘涓虹┖", trigger: "blur" },
-          {
-            min: 2,
-            max: 20,
-            message: "鐢ㄦ埛鍚嶇О闀垮害蹇呴』浠嬩簬 2 鍜� 20 涔嬮棿",
-            trigger: "blur",
-          },
-        ],
-        nickName: [
-          { required: true, message: "鐢ㄦ埛鏄电О涓嶈兘涓虹┖", trigger: "blur" },
-        ],
-        password: [
-          { required: true, message: "鐢ㄦ埛瀵嗙爜涓嶈兘涓虹┖", trigger: "blur" },
-          {
-            min: 5,
-            max: 20,
-            message: "鐢ㄦ埛瀵嗙爜闀垮害蹇呴』浠嬩簬 5 鍜� 20 涔嬮棿",
-            trigger: "blur",
-          },
-        ],
-        email: [
-          {
-            type: "email",
-            message: "璇疯緭鍏ユ纭殑閭鍦板潃",
-            trigger: ["blur", "change"],
-          },
-        ],
-        phonenumber: [
-          {
-            pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/,
-            message: "璇疯緭鍏ユ纭殑鎵嬫満鍙风爜",
-            trigger: "blur",
-          },
-        ],
-        IDnumber: [
-          {
-            pattern:
-              /^\d{6}((((((19|20)\d{2})(0[13-9]|1[012])(0[1-9]|[12]\d|30))|(((19|20)\d{2})(0[13578]|1[02])31)|((19|20)\d{2})02(0[1-9]|1\d|2[0-8])|((((19|20)([13579][26]|[2468][048]|0[48]))|(2000))0229))\d{3})|((((\d{2})(0[13-9]|1[012])(0[1-9]|[12]\d|30))|((\d{2})(0[13578]|1[02])31)|((\d{2})02(0[1-9]|1\d|2[0-8]))|(([13579][26]|[2468][048]|0[048])0229))\d{2}))(\d|X|x)$/,
-            message: "璇疯緭鍏ユ纭殑韬唤璇佸彿鐮�",
-            trigger: "blur",
-          },
-        ],
-      },
+      rules: {},
     };
   },
   watch: {},
   created() {
     this.getList();
+    // this.getDeptTree();
+    this.mode = store.getters.mode;
+    this.languagelist = store.getters.languagelist;
+    this.qyoptions = store.getters.usable;
+    this.editableTabs = store.getters.editableTabs;
   },
 
   methods: {
     /** 鏌ヨ鐢ㄦ埛鍒楄〃 */
     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);
+      this.loading = true;
+      getQtemplatelist(this.queryParams).then((response) => {
+        this.userList = response.rows;
+        this.total = response.total;
+        this.loading = false;
       });
-      //   const { rows } = await listUser();
-      //   console.log(rows);
-      //   this.list = rows;
     },
-    // 娣诲姞銆佷慨鏀圭被鍒�
-    submitsidecolumn() {
-      if (this.amendtag) {
-        this.classifyform.tagcategoryid = this.idds;
-        // toamendtagcategory(this.addDateRange(this.classifyform)).then(
-        //   (response) => {
-        //     console.log(response);
-        //     this.gitclasify();
-        //   }
-        // );
-      } else {
-        // addtagcategory(this.addDateRange(this.classifyform)).then(
-        //   (response) => {
-        //     console.log(response);
-        //     this.gitclasify();
-        //   }
-        // );
-      }
-      this.classifyform = {
-        categoryname: "",
-      };
-      this.idds = "";
-      this.dialogFormVisible = false;
-    },
-    //鍒犻櫎鍒嗙被
-    deletefenlei(row) {
-      if (this.deleteVisible) {
-        // deletetagcategory(this.idds).then((response) => {
-        //   console.log(response);
-        //   this.gitclasify();
-        // });
-        this.deleteVisible = false;
-        this.idds = "";
-      } else {
-        this.deleteVisible = true;
-        this.idds = row.tagcategoryid;
-        this.deletefenl = row.title;
-      }
-    },
-    // 渚ц竟--------------
-    handleOpen(key, keyPath) {
-      console.log(key, keyPath);
-    },
-    handleClose(key, keyPath) {
-      console.log(key, keyPath);
-    },
-    handleSelect(key, keyPath) {
-      console.log(key, keyPath);
-    },
-    //鎼滅储绫诲埆
-    sidecolumnss() {},
-    // 鍒囨崲鍏变韩/鏈湴
-    tophandleClick() {},
-    // 鍙栨秷鎸夐挳
-    cancel() {
-      this.open = false;
-      this.reset();
-    },
+
     goQRCode(row) {
       this.goQRCodeVisible = true;
       this.namequestionnaire = row.userName;
@@ -801,7 +531,7 @@
     // 琛ㄥ崟閲嶇疆
     reset() {
       this.form = {
-        userId: undefined,
+        svyid: undefined,
         deptId: undefined,
         userName: undefined,
         nickName: undefined,
@@ -831,7 +561,7 @@
     },
     // 澶氶�夋閫変腑鏁版嵁
     handleSelectionChange(selection) {
-      this.ids = selection.map((item) => item.userId);
+      this.ids = selection.map((item) => item.svyid);
       this.single = selection.length != 1;
       this.multiple = !selection.length;
     },
@@ -845,44 +575,217 @@
     handleUpdate(row) {
       this.$router.push({
         path: "/knowledge/questionnaire/compilequer/",
-        query: { id: "1" },
+        query: { id: row.svyid },
       });
     },
     // 鏌ョ湅闂嵎
-    ViewQuestionnaire() {
+    ViewQuestionnaire(row) {
       this.$router.push({
         path: "/knowledge/questionnaire/examine/",
+        query: { id: row.svyid },
+      });
+    },
+
+    // 鐤剧梾-----------------------
+    illnessUpdate(row) {
+      this.illnessVisible = true;
+      this.indexid = row.svyid;
+      this.illnesslistapi = [];
+      const illnessqueryParams = {
+        pageNum: 1,
+        pageSize: 100,
+      };
+      getillnesslist(illnessqueryParams).then((response) => {
+        console.log(response);
+        this.optionsillness = response.rows;
+      });
+      getillness({ outid: row.svyid, type: 5 }).then((res) => {
+        this.illnesslist = res.rows;
+        console.log(res);
+      });
+    },
+    handleCloseillness(tag) {
+      this.illnesslist.splice(this.illnesslist.indexOf(tag), 1);
+      if (tag.id) {
+        this.illnesslistapi.push(tag.id);
+      }
+    },
+    remoteMethod(value) {
+      console.log(value);
+      const illnessqueryParams = {
+        pageNum: 1,
+        pageSize: 100,
+        icdname: value,
+      };
+      this.loading = true;
+      setTimeout(() => {
+        this.loading = false;
+        getillnesslist(illnessqueryParams).then((response) => {
+          this.optionsillness = response.rows;
+        });
+      }, 200);
+    },
+    illnessConfirm(item) {
+      let opeavalue = {};
+      let tagname = this.inputValue;
+      illnesslistget(item).then((res) => {
+        opeavalue = res.data;
+        opeavalue.outid = this.indexid;
+        opeavalue.type = 5;
+        opeavalue.icd10id = opeavalue.icdid;
+        opeavalue.icd10name = opeavalue.icdname;
+        opeavalue.icd10code = opeavalue.icdcode;
+        if (tagname) {
+          this.illnesslist.push(opeavalue);
+        }
+      });
+      console.log(this.illnesslist);
+      this.inputVisible = false;
+      this.inputValue = "";
+    },
+    confirmillness() {
+      this.illnesslist.forEach((item, index) => {
+        if (!item.id) {
+          addtargetillness(item).then((res) => {});
+        }
+      });
+      if (this.illnesslistapi.length) {
+        deltargetillness(this.illnesslistapi.join(",")).then((res) => {});
+      }
+      this.illnessVisible = false;
+      this.$modal.msgSuccess("缂栬緫鎴愬姛");
+    },
+    showInput() {
+      this.inputVisible = true;
+    },
+
+    // 鍒嗙被鏍�-----------------------------------------
+    // 淇敼鍒嗙被寮规
+
+    // 鏌ヨ鏍�
+    getDeptTree() {
+      getQtemplateclassify({}).then((res) => {
+        this.deptOptions = res.rows;
+        console.log(res);
+      });
+    },
+
+    // 娣诲姞绫诲埆鏍�
+    submitsidecolumn() {
+      let calssvalue = {};
+      if (
+        this.classifyform.pid &&
+        this.classifyform.indexAssortName &&
+        this.radio == "瀛愬垎绫�"
+      ) {
+        const index = this.deptOptions.findIndex(
+          (obj) => obj.id == this.classifyform.pid
+        );
+        calssvalue = this.deptOptions[index];
+        calssvalue.ivrLibaTemplateAssortList.push(this.classifyform);
+      } else if (this.radio == "涓诲垎绫�" && this.classifyform.indexAssortName) {
+        this.classifyform.pid = null;
+        this.classifyform.ivrLibaTemplateAssortList = [];
+      } else {
+        return this.$modal.msgError("璇峰~鍐欏畬鏁翠俊鎭�");
+      }
+      addQtemplateclassify(this.classifyform).then((res) => {
+        this.getDeptTree();
+        this.$modal.msgSuccess("鏂板鎴愬姛");
+      });
+    },
+    remove(a, b) {
+      if (b.pid) {
+        this.$modal
+          .confirm('鏄惁纭鍒犻櫎鍒嗙被椤逛负"' + b.indexAssortName + '"鐨勬暟鎹」锛�')
+          .then(function () {
+            return delQtemplateclassify(b.id);
+          })
+          .then(() => {
+            this.getDeptTree();
+            this.$modal.msgSuccess("鍒犻櫎鎴愬姛");
+          })
+          .catch(() => {});
+      } else {
+        this.$modal
+          .confirm(
+            '鏄惁纭鍒犻櫎涓�绾у垎绫�"' +
+              b.indexAssortName +
+              '"锛熷垹闄ゅ悗鍏朵笅鍒嗙被灏嗗綊绫烩�樻湭鍒嗙被鈥�'
+          )
+          .then(() => {
+            return delQtemplateclassify(b.id);
+          })
+          .then(() => {
+            this.getDeptTree();
+            this.$modal.msgSuccess("鍒犻櫎鎴愬姛");
+          })
+          .catch(() => {});
+      }
+    },
+
+    // 绛涢�夎妭鐐�
+    filterNode(value, data) {
+      if (!value) return true;
+      return data.indexAssortName.indexOf(value) !== -1;
+    },
+    handleNodeClick(data) {
+      this.queryParams.assortid = data.id;
+      this.getList();
+    },
+
+    // 琛ㄥ崟閲嶇疆
+    reset() {
+      this.form = {
+        svyid: undefined,
+        deptId: undefined,
+        userName: undefined,
+        nickName: undefined,
+        password: undefined,
+        phonenumber: undefined,
+        email: undefined,
+        sex: undefined,
+        status: "0",
+        remark: undefined,
+        postIds: [],
+        roleIds: [],
+      };
+      this.resetForm("form");
+    },
+    /** 鎼滅储鎸夐挳鎿嶄綔 */
+    handleQuery() {
+      this.queryParams.pageNum = 1;
+      this.getList();
+    },
+    /** 閲嶇疆鎸夐挳鎿嶄綔 */
+    resetQuery() {
+      this.dateRange = [];
+      this.resetForm("queryForm");
+      this.queryParams.deptId = undefined;
+      this.$refs.tree.setCurrentKey(null);
+      this.handleQuery();
+    },
+    // 澶氶�夋閫変腑鏁版嵁
+    handleSelectionChange(selection) {
+      this.ids = selection.map((item) => item.svyid);
+      this.single = selection.length != 1;
+      this.multiple = !selection.length;
+    },
+    /** 鏂板鎸夐挳鎿嶄綔 */
+    handleAdd() {
+      this.$router.push({
+        path: "/knowledge/verbaltrick/particulars/",
         query: { id: "1" },
       });
     },
 
-    /** 鏇存柊/淇敼鎻愪氦鎸夐挳 */
-    submitForm: function () {
-      this.$refs["form"].validate((valid) => {
-        if (valid) {
-          if (this.form.userId != undefined) {
-            updateUser(this.form).then((response) => {
-              this.$modal.msgSuccess("淇敼鎴愬姛");
-              this.open = false;
-              this.getList();
-            });
-          } else {
-            addUser(this.form).then((response) => {
-              this.$modal.msgSuccess("鏂板鎴愬姛");
-              this.open = false;
-              this.getList();
-            });
-          }
-        }
-      });
-    },
     /** 鍒犻櫎鎸夐挳鎿嶄綔 */
     handleDelete(row) {
-      const userIds = row.userId || this.ids;
+      const svyids = row.svyid || this.ids;
       this.$modal
-        .confirm('鏄惁纭鍒犻櫎鐢ㄦ埛缂栧彿涓�"' + userIds + '"鐨勬暟鎹」锛�')
+        .confirm('鏄惁纭鍒犻櫎鐢ㄦ埛缂栧彿涓�"' + svyids + '"鐨勬暟鎹」锛�')
         .then(function () {
-          return delUser(userIds);
+          return delQtemplateinfo(svyids);
         })
         .then(() => {
           this.getList();
@@ -987,6 +890,46 @@
     font-size: 20px;
   }
 }
+.xinz-infs {
+  font-size: 18px;
+  overflow: hidden;
+  text-overflow: ellipsis;
+
+  line-height: 48px;
+
+  .el-tag + .el-tag {
+    margin-left: 10px;
+  }
+  .button-new-tag {
+    margin-left: 10px;
+    height: 32px;
+    line-height: 30px;
+    padding-top: 0;
+    padding-bottom: 0;
+  }
+  .input-new-tag {
+    width: 90px;
+    margin-left: 10px;
+    vertical-align: bottom;
+  }
+}
+
+::v-deep .el-tree-node__content {
+  display: -webkit-box;
+  display: -ms-flexbox;
+  display: flex;
+  -webkit-box-align: center;
+  -ms-flex-align: center;
+  align-items: center;
+  height: 46px;
+  font-size: 20px;
+  cursor: pointer;
+}
+::v-deep .el-button--mini.is-circle {
+  padding: 7px;
+  margin: 0;
+  color: red;
+}
 .button-text {
   color: rgb(70, 204, 238);
 }
diff --git a/src/views/repositoryai/general/index.vue b/src/views/repositoryai/general/index.vue
new file mode 100644
index 0000000..4388313
--- /dev/null
+++ b/src/views/repositoryai/general/index.vue
@@ -0,0 +1,793 @@
+<template>
+  <div class="Questionnairemanagement">
+    <!-- 宸︿晶鏍� -->
+    <div class="sidecolumn">
+      <div class="sidecolumn-top">
+        <div class="top-wj">閫氱敤搴撶被鍨�</div>
+        <div class="top-tj" @click="dialogFormVisible = true">+娣诲姞</div>
+      </div>
+      <div class="center-ss">
+        <el-input
+          placeholder="璇疯緭鍏ュ唴瀹�"
+          v-model="sidecolumnval"
+          class="input-with-select"
+          size="medium "
+        >
+        </el-input>
+      </div>
+
+      <div class="head-container" style="margin-top: 20px">
+        <el-tree
+          :data="deptOptions"
+          :props="defaultProps"
+          :expand-on-click-node="false"
+          :filter-node-method="filterNode"
+          ref="tree"
+          node-key="id"
+          default-expand-all
+          highlight-current
+          @node-click="handleNodeClick"
+        >
+          <span class="custom-tree-node" slot-scope="{ node, data }">
+            <span>{{ node.label }}</span>
+            <span>
+              <el-button
+                type="text"
+                icon="el-icon-delete"
+                circle
+                size="mini"
+                @click="() => remove(node, data)"
+              >
+              </el-button>
+            </span>
+          </span>
+        </el-tree>
+      </div>
+    </div>
+    <!-- 鍙充晶鏁版嵁 -->
+    <div class="leftvlue">
+      <div class="leftvlue-bg">
+        <el-row :gutter="20">
+          <!--鐢ㄦ埛鏁版嵁-->
+          <el-col :span="24" :xs="24">
+            <el-form
+              :model="queryParams"
+              ref="queryForm"
+              size="small"
+              :inline="true"
+              v-show="showSearch"
+              label-width="98px"
+            >
+              <el-form-item label="閫氱敤搴撳悕绉�" prop="userName">
+                <el-input
+                  v-model="queryParams.userName"
+                  placeholder="璇疯緭鍏�"
+                  clearable
+                  style="width: 200px"
+                  @keyup.enter.native="handleQuery"
+                />
+              </el-form-item>
+              <el-form-item label="闂涓婚" prop="userName">
+                <el-input
+                  v-model="queryParams.userName"
+                  placeholder="璇疯緭鍏�"
+                  clearable
+                  style="width: 200px"
+                  @keyup.enter.native="handleQuery"
+                />
+              </el-form-item>
+
+              <el-form-item label="閫傜敤鏂瑰紡" prop="shape">
+                <el-select v-model="queryParams.value" 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-form-item label="閫傜敤闄㈠尯" prop="classify">
+                <el-select
+                  v-model="queryParams.classifyvalue"
+                  placeholder="璇烽�夋嫨"
+                >
+                  <el-option
+                    v-for="(item, index) in courtyardlist"
+                    :key="item.value"
+                    :label="item.label"
+                    :value="item.value"
+                  >
+                  </el-option>
+                </el-select>
+              </el-form-item>
+
+              <el-form-item>
+                <el-button
+                  type="primary"
+                  icon="el-icon-search"
+                  size="medium"
+                  @click="handleQuery"
+                  >鎼滅储</el-button
+                >
+                <el-button
+                  icon="el-icon-refresh"
+                  size="medium"
+                  @click="resetQuery"
+                  >閲嶇疆</el-button
+                >
+              </el-form-item>
+            </el-form>
+
+            <el-row :gutter="10" class="mb8">
+              <el-col :span="1.5">
+                <el-button
+                  type="primary"
+                  plain
+                  icon="el-icon-plus"
+                  size="medium"
+                  @click="handleAdd"
+                  v-hasPermi="['system:user:add']"
+                  >鏂板</el-button
+                >
+              </el-col>
+
+              <el-col :span="1.5">
+                <el-button
+                  type="danger"
+                  plain
+                  icon="el-icon-delete"
+                  size="medium"
+                  :disabled="multiple"
+                  @click="handleDelete"
+                  v-hasPermi="['system:user:remove']"
+                  >鍒犻櫎</el-button
+                >
+              </el-col>
+            </el-row>
+            <el-table
+              v-loading="loading"
+              :data="targetList"
+              @selection-change="handleSelectionChange"
+            >
+              <el-table-column type="selection" width="50" align="center" />
+              <el-table-column
+                label="搴忓彿"
+                align="center"
+                key="targetid"
+                prop="targetid"
+              />
+              <el-table-column
+                label="閫氱敤搴撳悕绉�"
+                align="center"
+                key="extName"
+                prop="extName"
+                width="200"
+                :show-overflow-tooltip="true"
+              />
+              <el-table-column
+                label="閫氱敤搴撹鏄�"
+                align="center"
+                key="note"
+                width="250"
+                prop="note"
+                :show-overflow-tooltip="true"
+              >
+              </el-table-column>
+              <el-table-column
+                label="鐗堟湰鍙�"
+                align="center"
+                key="version"
+                prop="version"
+              /><el-table-column
+                label="閫傜敤鏂瑰紡"
+                align="center"
+                key="suitWay"
+                prop="suitWay"
+                width="120"
+              >
+                <template slot-scope="scope">
+                  <span v-for="item in scope.row.suitWay">{{ item }}</span>
+                </template>
+              </el-table-column>
+
+              <el-table-column
+                label="璇█"
+                align="center"
+                key="language"
+                prop="language"
+                width="120"
+              />
+
+              <el-table-column
+                label="鏄惁鍙敤"
+                align="center"
+                key="isEnable"
+                prop="isEnable"
+              >
+                <template slot-scope="scope">
+                  <dict-tag :options="usable" :value="scope.row.isEnable" />
+                </template>
+              </el-table-column>
+
+              <el-table-column
+                label="鎿嶄綔"
+                align="center"
+                width="200"
+                class-name="small-padding fixed-width"
+              >
+                <template slot-scope="scope">
+                  <el-button
+                    size="medium"
+                    type="text"
+                    @click="handleUpdate(scope.row)"
+                    v-hasPermi="['system:user:edit']"
+                    ><span class="button-textxg"
+                      ><i class="el-icon-edit"></i>淇敼</span
+                    ></el-button
+                  >
+
+                  <el-button
+                    size="medium"
+                    type="text"
+                    @click="handleDelete(scope.row)"
+                    v-hasPermi="['system:user:remove']"
+                    ><span class="button-textsc"
+                      ><i class="el-icon-delete"></i>鍒犻櫎</span
+                    ></el-button
+                  >
+                </template>
+              </el-table-column>
+            </el-table>
+
+            <pagination
+              v-show="total > 0"
+              :total="total"
+              :page.sync="queryParams.pageNum"
+              :limit.sync="queryParams.pageSize"
+              @pagination="getList"
+            />
+          </el-col>
+        </el-row>
+      </div>
+    </div>
+
+    <!-- 娣诲姞绫诲埆寮规 -->
+    <el-dialog title="鏂板绫诲埆" width="30%" :visible.sync="dialogFormVisible">
+      <!-- <div style="text-align: center; margin-bottom: 20px">
+        <el-radio-group v-model="radio">
+          <el-radio-button label="涓诲垎绫�"></el-radio-button>
+          <el-radio-button label="瀛愬垎绫�"></el-radio-button>
+        </el-radio-group>
+      </div> -->
+      <!-- <el-divider></el-divider> -->
+
+      <el-form :model="classifyform">
+        <el-form-item label="璇烽�夋嫨闂澶х被" v-if="radio == '瀛愬垎绫�'">
+          <el-select v-model="classifyform.pid" placeholder="璇烽�夋嫨">
+            <el-option
+              v-for="item in deptOptions"
+              :key="item.intertcatid"
+              :label="item.categoryname"
+              :value="item.intertcatid"
+            >
+            </el-option>
+          </el-select>
+        </el-form-item>
+        <el-form-item label="璇疯緭鍏ョ被鍒悕绉�">
+          <el-input
+            v-model="classifyform.categoryname"
+            autocomplete="off"
+          ></el-input>
+        </el-form-item>
+      </el-form>
+      <div slot="footer" class="dialog-footer">
+        <el-button @click="dialogFormVisible = false">鍙� 娑�</el-button>
+        <el-button type="primary" @click="submitsidecolumn">纭� 瀹�</el-button>
+      </div>
+    </el-dialog>
+  </div>
+</template>
+
+<script>
+import {
+  getgenerallist,
+  addgeneral,
+  editgeneral,
+  delgeneralinfo,
+  delgeneralclassify,
+  getgeneralclassify,
+  addgeneralclassify,
+} from "@/api/AiCentre/index";
+import { getToken } from "@/utils/auth";
+import Treeselect from "@riophae/vue-treeselect";
+import "@riophae/vue-treeselect/dist/vue-treeselect.css";
+import { listtag } from "@/api/system/label";
+import store from "@/store";
+
+export default {
+  name: "questionnaire",
+  dicts: ["sys_normal_disable", "sys_user_sex"],
+  components: { Treeselect },
+  data() {
+    return {
+      topactiveName: "Local", //椤堕儴閫夋嫨
+      // 閬僵灞�
+      loading: false,
+      // 閫変腑鏁扮粍
+      ids: [],
+      // 闈炲崟涓鐢�
+      single: true,
+      // 闈炲涓鐢�
+      multiple: true,
+      // 鏄剧ず鎼滅储鏉′欢
+      showSearch: true,
+      measurement: false,
+      languagelist: [],
+      usable: [],
+      indexid: null,
+      // 鎬绘潯鏁�
+      total: 0,
+      idds: "",
+      amendtag: false, //鏄惁淇敼绫诲埆
+      dialogFormVisible: false, //淇敼娣诲姞绫诲埆寮规
+      deleteVisible: false, //鍒嗙被鍒犻櫎寮规
+      deletefenl: "楂樿鍘�", //鍒犻櫎椤�
+      radio: "涓诲垎绫�",
+      testvalue: "",
+      testgovalue: "",
+      classifyform: {
+        categoryname: "",
+      }, //绫诲埆琛ㄥ崟
+      // 琛ㄦ牸鏁版嵁
+      targetList: null,
+      testuserList: [],
+      // 寮瑰嚭灞傛爣棰�
+      title: "",
+      // 鏄惁鏄剧ず寮瑰嚭灞�
+      open: false,
+      // 鏃ユ湡鑼冨洿
+      dateRange: [],
+
+      // 娣诲姞銆佷慨鏀瑰弬鏁�
+      indexform: {},
+
+      sidecolumnform: {}, //娣诲姞绫诲埆琛ㄥ崟
+      dialogFormVisible: false, //娣诲姞绫诲埆寮规
+      sidecolumnval: "", //绫诲埆鎼滅储
+      indexopen: false, //寮规灞曠ず鍚�
+      courtyardlist: [],
+      mode: [],
+      optionstag: [],
+      targetoptionList: [],
+      deptOptions: [],
+      defaultProps: {
+        children: "ivrLibaTargetAssortList",
+        label: "categoryname",
+      },
+      // 鏌ヨ鍙傛暟
+      queryParams: {
+        pageNum: 1,
+        pageSize: 10,
+      },
+
+      // 琛ㄥ崟鏍¢獙
+      rules: {},
+    };
+  },
+  watch: {
+    // 鏍规嵁鍚嶇О绛涢�夐儴闂ㄦ爲
+    sidecolumnval(val) {
+      this.$refs.tree.filter(val);
+    },
+  },
+  created() {
+    this.getList();
+    this.getDeptTree();
+    this.mode = store.getters.mode;
+    this.valuetype = store.getters.valuetype;
+    this.languagelist = store.getters.languagelist;
+    this.courtyardlist = store.getters.courtyardlist;
+    this.usable = store.getters.usable;
+  },
+
+  methods: {
+    /** 鏌ヨ閫氱敤搴撳垪琛� */
+    getList() {
+      this.loading = true;
+      getgenerallist(this.queryParams).then((res) => {
+        this.targetList = res.rows;
+        this.total = res.total;
+        console.log(this.targetList);
+        this.loading = false;
+      });
+    },
+
+    processElement(element) {
+      return { ...element, isoperation: 1 };
+    },
+    getIndexInArray(arr, obj) {
+      return arr.indexOf(obj);
+    },
+
+    //鍒犻櫎鍒嗙被
+    deletefenlei(row) {
+      if (this.deleteVisible) {
+        // deletetagcategory(this.idds).then((response) => {
+        //   console.log(response);
+        //   this.gitclasify();
+        // });
+        this.deleteVisible = false;
+        this.idds = "";
+      } else {
+        this.deleteVisible = true;
+        this.idds = row.tagcategoryid;
+        this.deletefenl = row.title;
+      }
+    },
+    /** 鏌ヨ閮ㄩ棬涓嬫媺鏍戠粨鏋� */
+    getDeptTree() {
+      getgeneralclassify({}).then((res) => {
+        this.deptOptions = res.rows;
+        console.log(res);
+      });
+    },
+    // 绛涢�夎妭鐐�
+    filterNode(value, data) {
+      if (!value) return true;
+      return data.categoryname.indexOf(value) !== -1;
+    },
+    // 娣诲姞绫诲埆鏍�
+    submitsidecolumn() {
+      let calssvalue = {};
+      if (
+        this.classifyform.pid &&
+        this.classifyform.categoryname &&
+        this.radio == "瀛愬垎绫�"
+      ) {
+        const index = this.deptOptions.findIndex(
+          (obj) => obj.intertcatid == this.classifyform.pid
+        );
+        calssvalue = this.deptOptions[index];
+        console.log(calssvalue);
+        calssvalue.ivrLibaTargetAssortList.push(this.classifyform);
+      } else if (this.radio == "涓诲垎绫�" && this.classifyform.categoryname) {
+        this.classifyform.pid = null;
+        this.classifyform.ivrLibaTargetAssortList = [];
+      } else {
+        return this.$modal.msgError("璇峰~鍐欏畬鏁翠俊鎭�");
+      }
+
+      addgeneralclassify(this.classifyform).then((res) => {
+        this.getDeptTree();
+        this.$modal.msgSuccess("鏂板鎴愬姛");
+      });
+    },
+    remove(a, b) {
+      if (b.pid) {
+        this.$modal
+          .confirm('鏄惁纭鍒犻櫎鍒嗙被椤逛负"' + b.categoryname + '"鐨勬暟鎹」锛�')
+          .then(function () {
+            return delgeneralclassify(b.intertcatid);
+          })
+          .then(() => {
+            this.getDeptTree();
+            this.$modal.msgSuccess("鍒犻櫎鎴愬姛");
+          })
+          .catch(() => {});
+      } else {
+        this.$modal
+          .confirm(
+            '鏄惁纭鍒犻櫎涓�绾у垎绫�"' +
+              b.categoryname +
+              '"锛熷垹闄ゅ悗鍏朵笅鍒嗙被灏嗗綊绫烩�樻湭鍒嗙被鈥�'
+          )
+          .then(() => {
+            return delgeneralclassify(b.intertcatid);
+          })
+          .then(() => {
+            this.getDeptTree();
+            this.$modal.msgSuccess("鍒犻櫎鎴愬姛");
+          })
+          .catch(() => {});
+      }
+    },
+    handleNodeClick(data) {
+      this.queryParams.groupID = data.intertcatid;
+      this.getList();
+    },
+
+    // 鍙栨秷鎸夐挳
+    cancel() {
+      this.indexopen = false;
+      this.reset();
+    },
+
+    // 琛ㄥ崟閲嶇疆
+    reset() {
+      this.indexform = {
+        suitWay: undefined,
+        targetid: undefined,
+        targetdesc: undefined,
+        baseTagList: [],
+        targetoptionList: [],
+      };
+      this.resetForm("indexform");
+    },
+    /** 鎼滅储鎸夐挳鎿嶄綔 */
+    handleQuery() {
+      this.queryParams.pageNum = 1;
+      this.getList();
+    },
+    /** 閲嶇疆鎸夐挳鎿嶄綔 */
+    resetQuery() {
+      this.queryParams = {
+        pageNum: 1,
+        pageSize: 10,
+      };
+      this.resetForm("queryForm");
+      this.getList();
+      this.handleQuery();
+    },
+    // 澶氶�夋閫変腑鏁版嵁
+    handleSelectionChange(selection) {
+      this.ids = selection.map((item) => item.targetid);
+      this.single = selection.length != 1;
+      this.multiple = !selection.length;
+    },
+    /** 鏂板鎸夐挳鎿嶄綔 */
+    handleAdd() {
+      this.reset();
+      this.title = "鏂板閫氱敤搴�";
+      this.indexform = {
+        baseTagList: [],
+        targetoptionList: [],
+      };
+      this.testuserList = [
+        {
+          guid: 1,
+          isoperation: 1,
+          targettype: "1",
+          targetvalue: "",
+          targetregex: "",
+        },
+      ];
+      this.indexopen = true;
+      this.measurement = false;
+    },
+    /** 淇敼鎸夐挳鎿嶄綔 */
+    handleUpdate(row) {
+      this.$router.push({
+        path: "/knowledge/general/particulars/",
+        query: { id: row.id },
+      });
+    },
+    handlemeasurement(row) {
+      this.reset();
+      this.title = "閫氱敤搴撹鎯�";
+      this.indexopen = true;
+      this.measurement = true;
+    },
+    // 淇敼鍒嗙被寮规
+    popoveramend(tagcategoryid) {
+      this.idds = tagcategoryid;
+      this.amendtag = true;
+      this.dialogFormVisible = true;
+    },
+
+    /** 鏇存柊/淇敼鎻愪氦鎸夐挳 */
+    submitForm: function () {
+      // this.indexform.targetoptionList=[]
+      this.$refs["indexform"].validate((valid) => {
+        this.indexform.targetoptionList = this.testuserList.concat(
+          this.targetoptionList
+        );
+        if (valid) {
+          if (this.indexform.targetid != undefined) {
+            this.indexform.isoperation = 2;
+            editgeneral(this.indexform).then((response) => {
+              this.$modal.msgSuccess("淇敼鎴愬姛");
+              this.indexopen = false;
+              this.getList();
+            });
+          } else {
+            this.indexform.targettype = "1";
+            this.indexform.isoperation = 1;
+            addgeneral(this.indexform).then((response) => {
+              this.$modal.msgSuccess("鏂板鎴愬姛");
+              this.indexopen = false;
+              this.getList();
+            });
+          }
+        }
+      });
+    },
+    /** 鍒犻櫎鎸夐挳鎿嶄綔 */
+    handleDelete(row) {
+      const userIds = row.targetid || this.ids;
+      this.$modal
+        .confirm('鏄惁纭鍒犻櫎閫氱敤搴撳悕绉颁负"' + row.targetname + '"鐨勬暟鎹」锛�')
+        .then(function () {
+          return delgeneralinfo(userIds);
+        })
+        .then(() => {
+          this.getList();
+          this.$modal.msgSuccess("鍒犻櫎鎴愬姛");
+        })
+        .catch(() => {});
+    },
+  },
+};
+</script>
+
+<style lang="scss" scoped>
+.Questionnairemanagement {
+  display: flex;
+}
+.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;
+  }
+}
+.xinz-infs {
+  font-size: 18px;
+  overflow: hidden;
+  text-overflow: ellipsis;
+
+  line-height: 48px;
+
+  .el-tag + .el-tag {
+    margin-left: 10px;
+  }
+  .button-new-tag {
+    margin-left: 10px;
+    height: 32px;
+    line-height: 30px;
+    padding-top: 0;
+    padding-bottom: 0;
+  }
+  .input-new-tag {
+    width: 90px;
+    margin-left: 10px;
+    vertical-align: bottom;
+  }
+}
+.sidecolumn {
+  width: 300px;
+  min-height: 100vh;
+  text-align: center;
+  //   display: flex;
+  margin-top: 20px;
+  margin: 20px;
+  padding: 30px;
+  background: #edf1f7;
+  border: 1px solid #dcdfe6;
+  -webkit-box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.12),
+    0 0 6px 0 rgba(0, 0, 0, 0.04);
+  .sidecolumn-top {
+    display: flex;
+    justify-content: space-between;
+    .top-wj {
+      font-size: 20px;
+    }
+    .top-tj {
+      font-size: 18px;
+
+      color: rgb(0, 89, 255);
+      cursor: pointer;
+    }
+  }
+  .center-ss {
+    margin-top: 30px;
+    .input-with-select {
+      height: 40px !important;
+    }
+  }
+  .bottom-fl {
+    margin-top: 30px;
+    display: center !important;
+  }
+}
+.qrcode-dialo {
+  text-align: center;
+  //   display: flex;
+  margin: 20px;
+  padding: 30px;
+  background: #edf1f7;
+  border: 1px solid #dcdfe6;
+  -webkit-box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.12),
+    0 0 6px 0 rgba(0, 0, 0, 0.04);
+  .qrcode-text {
+    font-size: 20px;
+    span {
+      margin-left: 20px;
+    }
+  }
+  .qrcode-img {
+    width: 300px;
+    height: 400px;
+  }
+}
+::v-deep.el-tabs--left,
+.el-tabs--right {
+  overflow: hidden;
+  align-items: center;
+  display: flex;
+}
+::v-deep.el-input--medium .el-input__inner {
+  height: 40px !important;
+}
+::v-deep.el-tabs--right .el-tabs__active-bar.is-right {
+  height: 40px;
+  width: 5px;
+  left: 0;
+}
+::v-deep.el-tabs--right .el-tabs__item.is-right {
+  display: block;
+  font-size: 20px;
+}
+.leftvlue {
+  //   display: flex;
+  //   flex: 1;
+  width: 80%;
+  margin-top: 20px;
+  //   margin: 20px;
+  padding: 30px;
+  background: #ffff;
+  border: 1px solid #dcdfe6;
+  -webkit-box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.12),
+    0 0 6px 0 rgba(0, 0, 0, 0.04);
+  .mulsz {
+    font-size: 20px;
+  }
+}
+::v-deep .el-tree-node__content {
+  display: -webkit-box;
+  display: -ms-flexbox;
+  display: flex;
+  -webkit-box-align: center;
+  -ms-flex-align: center;
+  align-items: center;
+  height: 46px;
+  font-size: 20px;
+  cursor: pointer;
+}
+::v-deep .el-button--mini.is-circle {
+  padding: 7px;
+  margin: 0;
+  color: red;
+}
+.button-text {
+  color: rgb(70, 204, 238);
+}
+.button-textcs {
+  color: rgb(39, 167, 67);
+}
+.button-textxg {
+  color: rgb(35, 81, 233);
+}
+.button-textsc {
+  color: rgb(235, 23, 23);
+}
+</style>
diff --git a/src/views/repositoryai/general/particulars/index.vue b/src/views/repositoryai/general/particulars/index.vue
new file mode 100644
index 0000000..be402e9
--- /dev/null
+++ b/src/views/repositoryai/general/particulars/index.vue
@@ -0,0 +1,307 @@
+<template>
+  <div>
+    <el-card style="margin: 20px" class="box-card">
+      <div class="elcardiv">
+        <div class="leftvlue-jbxx">璇濇湳鍒楄〃</div>
+        <el-divider></el-divider>
+
+        <el-table :data="targetList" :row-class-name="tableRowClassName">
+          <el-table-column
+            label="搴忓彿"
+            align="center"
+            key="targetid"
+            prop="targetid"
+          />
+          <el-table-column
+            label="闂涓婚锛堢己锛�"
+            align="center"
+            key="extName"
+            prop="extName"
+            width="200"
+            :show-overflow-tooltip="true"
+          />
+          <el-table-column
+            label="闂鏂囨湰"
+            align="center"
+            key="switchText"
+            width="250"
+            prop="switchText"
+            :show-overflow-tooltip="true"
+          >
+          </el-table-column>
+          <el-table-column
+            label="鍥炲璇煶锛堢己锛�"
+            align="center"
+            key="switchTexty"
+            width="200"
+            prop="switchTexty"
+            :show-overflow-tooltip="true"
+          >
+          </el-table-column>
+          <el-table-column
+            label="閫傜敤鏂瑰紡锛堢己锛�"
+            align="center"
+            key="suitWay"
+            prop="suitWay"
+          >
+            <template slot-scope="scope">
+              <span v-for="item in scope.row.suitWay">{{ item }}</span>
+            </template>
+          </el-table-column>
+
+          <el-table-column
+            label="璇█锛堢己锛�"
+            align="center"
+            key="language"
+            prop="language"
+            width="120"
+          />
+          <el-table-column
+            label="鏄惁鍙敤锛堟敼锛�"
+            align="center"
+            key="isEnable"
+            prop="isEnable"
+          >
+            <template slot-scope="scope">
+              <dict-tag :options="usable" :value="scope.row.isEnable" />
+            </template>
+          </el-table-column>
+          <el-table-column
+            label="鏈�杩戜慨鏀�"
+            align="center"
+            key="updateTime"
+            width="250"
+            prop="updateTime"
+            :show-overflow-tooltip="true"
+          >
+          </el-table-column>
+
+          <el-table-column
+            label="鎿嶄綔"
+            align="center"
+            width="200"
+            class-name="small-padding fixed-width"
+          >
+            <template slot-scope="scope">
+              <el-button
+                size="medium"
+                type="text"
+                @click="handleUpdate(scope.row)"
+                v-hasPermi="['system:user:edit']"
+                ><span class="button-textxg"
+                  ><i class="el-icon-edit"></i>淇敼</span
+                ></el-button
+              >
+
+              <el-button
+                size="medium"
+                type="text"
+                @click="handleDelete(scope.row)"
+                v-hasPermi="['system:user:remove']"
+                ><span class="button-textsc"
+                  ><i class="el-icon-delete"></i>鍒犻櫎</span
+                ></el-button
+              >
+            </template>
+          </el-table-column>
+        </el-table>
+        <div style="margin: 15px; margin-top: 50px">
+          <div class="leftvlue-jbxx">璇濇湳缂栬緫</div>
+          <el-divider></el-divider>
+          <el-form
+            :model="ruleForm"
+            :rules="rules"
+            ref="ruleForm"
+            label-width="100px"
+            class="demo-ruleForm"
+          >
+            <el-row :gutter="20">
+              <el-col :span="12">
+                <el-form-item label="闂涓婚" prop="name">
+                  <el-input v-model="ruleForm.name" placeholder="璇疯緭鍏�"></el-input> </el-form-item
+              ></el-col>
+              <el-col :span="12">
+                <el-form-item label="鏄惁鍙敤" prop="resource">
+                  <el-select
+                    v-model="ruleForm.assortid"
+                    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-form-item label="闂鏂囨湰" prop="name">
+              <el-input v-model="ruleForm.name" placeholder="璇疯緭鍏�"></el-input>
+            </el-form-item>
+            <el-row :gutter="20">
+              <el-col :span="12">
+                <el-form-item label="璇█" prop="resource">
+                  <el-select v-model="ruleForm.language" placeholder="璇烽�夋嫨">
+                    <el-option
+                      v-for="item in languagelist"
+                      :key="item.label"
+                      :label="item.label"
+                      :value="item.label"
+                    >
+                    </el-option>
+                  </el-select>
+                </el-form-item>
+              </el-col>
+              <el-col :span="12">
+                <el-form-item label="閫傜敤鏂瑰紡" prop="resource">
+                  <el-select v-model="ruleForm.mode" 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-form-item label="闂璇煶" prop="verbaltrickyy">
+              <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-input v-model="indexform.userName" maxlength="30" /> -->
+            </el-form-item>
+
+            <el-form-item label="鍖归厤鏂囨湰" prop="desc">
+              <el-input type="textarea" placeholder="璇疯緭鍏ュ尮閰嶆鍒�" v-model="ruleForm.desc"></el-input>
+            </el-form-item>
+            <el-form-item>
+              <el-button type="primary" @click="submitForm('ruleForm')"
+                >绔嬪嵆鍒涘缓</el-button
+              >
+              <el-button @click="resetForm('ruleForm')">閲嶇疆</el-button>
+            </el-form-item>
+          </el-form>
+        </div>
+      </div>
+    </el-card>
+  </div>
+</template>
+
+<script>
+import store from "@/store";
+import {
+  editgeneravaluel,
+  addgeneravaluel,
+  getgeneravaluelinfo,
+  delgeneravaluelinfo,
+  getgeneravaluellist,
+} from "@/api/AiCentre/index";
+export default {
+  data() {
+    return {
+      loading: false,
+      id: null,
+      usable: [],
+      languagelist: [],
+      mode: [],
+      pitchon: "杩樺ソ鍚�",
+      targetList: [{ switchText: "杩樺ソ鍚�" }, { switchText: "杩樹笉閿�" }],
+      fileList: [
+        {
+          name: "food.jpeg",
+          url: "https://fuss10.elemecdn.com/3/63/4e7f3a15429bfda99bce42a18cdd1jpeg.jpeg?imageMogr2/thumbnail/360x360/format/webp/quality/100",
+        },
+      ],
+      ruleForm: {
+        name: "",
+        region: "",
+        date1: "",
+        date2: "",
+        delivery: false,
+        type: [],
+        resource: "",
+        desc: "*(浜簗鎵搢鐝晩|鍞旂郴鐪熶汉(杈箌鍜絴鍜�)*(鍗曚綅|鍦版柟鍖婚櫌|涓績|鍗敓|璁憳|鏈嶅姟)",
+      },
+      rules: {},
+    };
+  },
+
+  created() {
+    // this.getList();
+    this.usable = store.getters.usable;
+    this.languagelist = store.getters.languagelist;
+    this.mode = store.getters.mode;
+  },
+
+  methods: {
+    getList() {
+      this.loading = true;
+      this.id = this.$route.query.id;
+      getgeneravaluelinfo({ pid: this.id }).then((res) => {
+        this.targetList = res.rows;
+        console.log(this.targetList);
+        this.loading = false;
+      });
+    },
+    /** 鏂板鎸夐挳鎿嶄綔 */
+    handleAdd() {},
+    /** 淇敼鎸夐挳鎿嶄綔 */
+    handleUpdate(row) {
+      this.pitchon = row.switchText;
+    },
+    submitForm() {},
+    resetForm() {},
+    // 鏂囦欢----------------------
+    // 鎺у埗鏂囦欢
+    handleChange(file, fileList) {
+      this.fileList = fileList.slice(-3);
+    },
+    // 鏂囦欢瓒呭嚭涓暟闄愬埗鏃剁殑閽╁瓙
+    handleExceed(files, fileList) {
+      this.$message.warning(
+        `褰撳墠闄愬埗閫夋嫨 1 涓枃浠讹紝鏈閫夋嫨浜� ${files.length} 涓枃浠讹紝鍏遍�夋嫨浜� ${
+          files.length + fileList.length
+        } 涓枃浠禶
+      );
+    },
+    tableRowClassName({ row, rowIndex }) {
+      if (row.switchText == this.pitchon) {
+        console.log(123);
+        return "warning-row";
+      }
+      return "";
+    },
+  },
+};
+</script>
+
+<style lang="scss" scoped>
+.elcardiv {
+  padding: 10px;
+  .leftvlue-jbxx {
+    font-size: 24px;
+    border-left: 5px solid #5788fe;
+    padding-left: 5px;
+    margin: 15px 0;
+  }
+}
+.button-textxg {
+  color: rgb(35, 81, 233);
+}
+.button-textsc {
+  color: rgb(235, 23, 23);
+}
+::v-deep.el-table .warning-row {
+  background: rgb(193, 208, 250);
+}
+</style>
diff --git a/src/views/repositoryai/intention/index.vue b/src/views/repositoryai/intention/index.vue
index 80ce5cb..b7ae1d0 100644
--- a/src/views/repositoryai/intention/index.vue
+++ b/src/views/repositoryai/intention/index.vue
@@ -173,8 +173,8 @@
               <el-table-column
                 label="搴忓彿"
                 align="center"
-                key="targetID"
-                prop="targetID"
+                key="targetid"
+                prop="targetid"
               />
               <el-table-column
                 label="鍊肩被鍨�"
@@ -827,7 +827,7 @@
     // 鐤剧梾-----------------------
     illnessUpdate(row) {
       this.illnessVisible = true;
-      this.indexid = row.targetID;
+      this.indexid = row.targetid;
       this.illnesslistapi = [];
       const illnessqueryParams = {
         pageNum: 1,
@@ -837,7 +837,7 @@
         console.log(response);
         this.optionsillness = response.rows;
       });
-      getillness({ outid: row.targetID, type: 1 }).then((res) => {
+      getillness({ outid: row.targetid, type: 1 }).then((res) => {
         this.illnesslist = res.rows;
         console.log(res);
       });
@@ -1082,7 +1082,7 @@
     reset() {
       this.indexform = {
         suitWay: undefined,
-        targetID: undefined,
+        targetid: undefined,
         targetdesc: undefined,
         baseTagList: [],
         targetoptionList: [],
@@ -1104,7 +1104,7 @@
     },
     // 澶氶�夋閫変腑鏁版嵁
     handleSelectionChange(selection) {
-      this.ids = selection.map((item) => item.targetID);
+      this.ids = selection.map((item) => item.targetid);
       this.single = selection.length != 1;
       this.multiple = !selection.length;
     },
@@ -1161,7 +1161,7 @@
           this.targetoptionList
         );
         if (valid) {
-          if (this.indexform.targetID != undefined) {
+          if (this.indexform.targetid != undefined) {
             this.indexform.isoperation = 2;
             gettargetInfoedit(this.indexform).then((response) => {
               this.$modal.msgSuccess("淇敼鎴愬姛");
@@ -1182,7 +1182,7 @@
     },
     /** 鍒犻櫎鎸夐挳鎿嶄綔 */
     handleDelete(row) {
-      const userIds = row.targetID || this.ids;
+      const userIds = row.targetid || this.ids;
       this.$modal
         .confirm('鏄惁纭鍒犻櫎鎸囨爣鍚嶇О涓�"' + row.targetname + '"鐨勬暟鎹」锛�')
         .then(function () {
diff --git a/src/views/repositoryai/templateku/index.vue b/src/views/repositoryai/templateku/index.vue
index 0cca167..d09ab6b 100644
--- a/src/views/repositoryai/templateku/index.vue
+++ b/src/views/repositoryai/templateku/index.vue
@@ -210,7 +210,7 @@
               >
                 <template slot-scope="scope">
                   <div v-if="scope.row.deptNames">
-                    <span v-for="item in scope.row.deptNames.split(",")"
+                    <span v-for="item in scope.row.deptNames.split(',')"
                       >{{ item }}
                     </span>
                   </div>
@@ -225,15 +225,15 @@
                 width="160"
                 :show-overflow-tooltip="true"
               >
-                <template slot-scope="scope" >
+                <template slot-scope="scope">
                   <div v-if="scope.row.labelInfo">
-                    <span v-for="item in JSON.parse(scope.row.labelInfo)"
-                      >{{ item.tagname }}</span>
+                    <span v-for="item in JSON.parse(scope.row.labelInfo)">{{
+                      item.tagname
+                    }}</span>
                   </div>
                   <div v-else>
                     <span>鏃�</span>
                   </div>
-                  </span>
                 </template>
               </el-table-column>
               <el-table-column
@@ -244,9 +244,11 @@
                 width="160"
                 :show-overflow-tooltip="true"
               >
-                <template slot-scope="scope"  >
+                <template slot-scope="scope">
                   <div v-if="scope.row.campus">
-                    <span v-for="item in JSON.parse(scope.row.campus)">{{ item.label }} </span>
+                    <span v-for="item in JSON.parse(scope.row.campus)"
+                      >{{ item.label }}
+                    </span>
                   </div>
                   <div v-else>
                     <span>鏃�</span>
diff --git a/src/views/repositoryai/verbaltrick/particulars/index.vue b/src/views/repositoryai/verbaltrick/particulars/index.vue
index f1d3662..0d3bd1b 100644
--- a/src/views/repositoryai/verbaltrick/particulars/index.vue
+++ b/src/views/repositoryai/verbaltrick/particulars/index.vue
@@ -157,7 +157,7 @@
                   @click="addvariable(item)"
                 ></el-button>
                 <el-button
-                v-if="item"
+                  v-if="item"
                   type="danger"
                   icon="el-icon-delete"
                   circle
@@ -578,9 +578,7 @@
       ],
       qyoptions: [],
       options: [],
-      variablelist: [
-
-      ],
+      variablelist: [],
 
       addvalue: "娣诲姞棰樼洰",
       languagelist: [], //璇█鍒楄〃
@@ -613,7 +611,9 @@
       getverbaltrick({ id: id }).then((res) => {
         this.indexform = res.data;
         this.indexform.assortid = parseInt(this.indexform.assortid);
-        this.variablelist = JSON.parse(this.indexform.parameter)?JSON.parse(this.indexform.parameter):[{name:'',value:''}];
+        this.variablelist = JSON.parse(this.indexform.parameter)
+          ? JSON.parse(this.indexform.parameter)
+          : [{ name: "", value: "" }];
         this.dynamicTags = this.indexform.ivrLibaScriptTagList.map(
           this.processElement
         );
@@ -671,7 +671,7 @@
         if (this.indexform.ivrLibaScriptTargetoptionList.length) {
           return this.Editprogress++;
         }
-        gettargetInfo({ targetID: this.indexform.targetid }).then((res) => {
+        gettargetInfo({ targetid: this.indexform.targetid }).then((res) => {
           this.indexform.isenable = res.rows[0].isenable;
           this.indexform.targetname = res.rows[0].targetname;
           res.rows[0].targetoptionList.forEach((item) => {

--
Gitblit v1.9.3