From 5ce577d915b81e63800094f21ceb8931a81954b7 Mon Sep 17 00:00:00 2001
From: yxh <172933527@qq.com>
Date: 星期六, 04 三月 2023 16:42:40 +0800
Subject: [PATCH] yxh

---
 ruoyi-ui/src/api/smartor/schemetriggerscene.js              |   44 
 ruoyi-ui/src/views/smartor/schemeautofinshrule/index.vue    |  318 ++
 ruoyi-ui/src/views/smartor/schemecategory/index.vue         |  315 ++
 ruoyi-ui/src/views/smartor/schemetaskconfig/index.vue       |  769 ++++++
 ruoyi-ui/src/views/smartor/schemetask/index.vue             |  839 ++++++
 ruoyi-ui/src/api/smartor/schemelibrary.js                   |   44 
 ruoyi-ui/src/api/smartor/schemetask.js                      |   44 
 ruoyi-ui/src/views/smartor/patouthosp/index.vue             |  394 +++
 ruoyi-ui/src/api/smartor/schemeplan.js                      |   44 
 ruoyi-ui/src/views/smartor/schemelibrary/index.vue          |  617 +++++
 ruoyi-ui/src/views/smartor/patphysical/index.vue            |  390 +++
 ruoyi-ui/src/views/smartor/schemetriggerscene/index.vue     |  352 ++
 ruoyi-ui/src/api/smartor/schemetaskrepeatconfig.js          |   44 
 ruoyi-ui/src/views/smartor/schemetaskrecord/index.vue       |  525 ++++
 ruoyi-ui/src/views/smartor/schemetriggerrule/index.vue      |  495 ++++
 ruoyi-ui/src/api/smartor/patphysical.js                     |   44 
 ruoyi-ui/src/views/smartor/schemeplan/index.vue             |  469 +++
 ruoyi-ui/src/api/smartor/schemetriggerrule.js               |   44 
 ruoyi-ui/src/api/smartor/schemecalldetail.js                |   44 
 /dev/null                                                   |  207 -
 ruoyi-ui/src/api/smartor/schemetaskconfig.js                |   44 
 ruoyi-ui/src/api/smartor/patouthosp.js                      |   44 
 ruoyi-ui/src/api/smartor/schemetaskrecord.js                |   44 
 ruoyi-ui/src/api/smartor/schemecategory.js                  |   44 
 ruoyi-ui/src/api/smartor/schemeautofinshrule.js             |   44 
 ruoyi-ui/src/views/smartor/schemecalldetail/index.vue       |  664 +++++
 ruoyi-ui/src/views/smartor/schemetaskrepeatconfig/index.vue |  437 +++
 27 files changed, 7,156 insertions(+), 207 deletions(-)

diff --git a/ruoyi-ui/src/api/smartor/archive.js b/ruoyi-ui/src/api/smartor/archive.js
deleted file mode 100644
index bdb8280..0000000
--- a/ruoyi-ui/src/api/smartor/archive.js
+++ /dev/null
@@ -1,44 +0,0 @@
-import request from '@/utils/request'
-
-// 鏌ヨ鎮h�呮。妗堝垪琛�
-export function listArchive(query) {
-  return request({
-    url: '/smartor/archive/list',
-    method: 'get',
-    params: query
-  })
-}
-
-// 鏌ヨ鎮h�呮。妗堣缁�
-export function getArchive(PatID) {
-  return request({
-    url: '/smartor/archive/' + PatID,
-    method: 'get'
-  })
-}
-
-// 鏂板鎮h�呮。妗�
-export function addArchive(data) {
-  return request({
-    url: '/smartor/archive',
-    method: 'post',
-    data: data
-  })
-}
-
-// 淇敼鎮h�呮。妗�
-export function updateArchive(data) {
-  return request({
-    url: '/smartor/archive',
-    method: 'put',
-    data: data
-  })
-}
-
-// 鍒犻櫎鎮h�呮。妗�
-export function delArchive(PatID) {
-  return request({
-    url: '/smartor/archive/' + PatID,
-    method: 'delete'
-  })
-}
diff --git a/ruoyi-ui/src/api/smartor/finish.js b/ruoyi-ui/src/api/smartor/finish.js
deleted file mode 100644
index defe939..0000000
--- a/ruoyi-ui/src/api/smartor/finish.js
+++ /dev/null
@@ -1,44 +0,0 @@
-import request from '@/utils/request'
-
-// 鏌ヨ闂嵎鏈�缁堢粨鏋滃垪琛�
-export function listFinish(query) {
-  return request({
-    url: '/smartor/finish/list',
-    method: 'get',
-    params: query
-  })
-}
-
-// 鏌ヨ闂嵎鏈�缁堢粨鏋滆缁�
-export function getFinish(id) {
-  return request({
-    url: '/smartor/finish/' + id,
-    method: 'get'
-  })
-}
-
-// 鏂板闂嵎鏈�缁堢粨鏋�
-export function addFinish(data) {
-  return request({
-    url: '/smartor/finish',
-    method: 'post',
-    data: data
-  })
-}
-
-// 淇敼闂嵎鏈�缁堢粨鏋�
-export function updateFinish(data) {
-  return request({
-    url: '/smartor/finish',
-    method: 'put',
-    data: data
-  })
-}
-
-// 鍒犻櫎闂嵎鏈�缁堢粨鏋�
-export function delFinish(id) {
-  return request({
-    url: '/smartor/finish/' + id,
-    method: 'delete'
-  })
-}
diff --git a/ruoyi-ui/src/api/smartor/patouthosp.js b/ruoyi-ui/src/api/smartor/patouthosp.js
new file mode 100644
index 0000000..8f6ecd6
--- /dev/null
+++ b/ruoyi-ui/src/api/smartor/patouthosp.js
@@ -0,0 +1,44 @@
+import request from '@/utils/request'
+
+// 鏌ヨ鎮h�呴棬璇婅褰曞垪琛�
+export function listPatouthosp(query) {
+  return request({
+    url: '/smartor/patouthosp/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 鏌ヨ鎮h�呴棬璇婅褰曡缁�
+export function getPatouthosp(id) {
+  return request({
+    url: '/smartor/patouthosp/' + id,
+    method: 'get'
+  })
+}
+
+// 鏂板鎮h�呴棬璇婅褰�
+export function addPatouthosp(data) {
+  return request({
+    url: '/smartor/patouthosp',
+    method: 'post',
+    data: data
+  })
+}
+
+// 淇敼鎮h�呴棬璇婅褰�
+export function updatePatouthosp(data) {
+  return request({
+    url: '/smartor/patouthosp',
+    method: 'put',
+    data: data
+  })
+}
+
+// 鍒犻櫎鎮h�呴棬璇婅褰�
+export function delPatouthosp(id) {
+  return request({
+    url: '/smartor/patouthosp/' + id,
+    method: 'delete'
+  })
+}
diff --git a/ruoyi-ui/src/api/smartor/patphysical.js b/ruoyi-ui/src/api/smartor/patphysical.js
new file mode 100644
index 0000000..e3920ab
--- /dev/null
+++ b/ruoyi-ui/src/api/smartor/patphysical.js
@@ -0,0 +1,44 @@
+import request from '@/utils/request'
+
+// 鏌ヨ鎮h�呬綋妫�璁板綍鍒楄〃
+export function listPatphysical(query) {
+  return request({
+    url: '/smartor/patphysical/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 鏌ヨ鎮h�呬綋妫�璁板綍璇︾粏
+export function getPatphysical(id) {
+  return request({
+    url: '/smartor/patphysical/' + id,
+    method: 'get'
+  })
+}
+
+// 鏂板鎮h�呬綋妫�璁板綍
+export function addPatphysical(data) {
+  return request({
+    url: '/smartor/patphysical',
+    method: 'post',
+    data: data
+  })
+}
+
+// 淇敼鎮h�呬綋妫�璁板綍
+export function updatePatphysical(data) {
+  return request({
+    url: '/smartor/patphysical',
+    method: 'put',
+    data: data
+  })
+}
+
+// 鍒犻櫎鎮h�呬綋妫�璁板綍
+export function delPatphysical(id) {
+  return request({
+    url: '/smartor/patphysical/' + id,
+    method: 'delete'
+  })
+}
diff --git a/ruoyi-ui/src/api/smartor/schemeautofinshrule.js b/ruoyi-ui/src/api/smartor/schemeautofinshrule.js
new file mode 100644
index 0000000..435f594
--- /dev/null
+++ b/ruoyi-ui/src/api/smartor/schemeautofinshrule.js
@@ -0,0 +1,44 @@
+import request from '@/utils/request'
+
+// 鏌ヨ鏂规缁撴瑙勫垯鍒楄〃
+export function listSchemeautofinshrule(query) {
+  return request({
+    url: '/smartor/schemeautofinshrule/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 鏌ヨ鏂规缁撴瑙勫垯璇︾粏
+export function getSchemeautofinshrule(id) {
+  return request({
+    url: '/smartor/schemeautofinshrule/' + id,
+    method: 'get'
+  })
+}
+
+// 鏂板鏂规缁撴瑙勫垯
+export function addSchemeautofinshrule(data) {
+  return request({
+    url: '/smartor/schemeautofinshrule',
+    method: 'post',
+    data: data
+  })
+}
+
+// 淇敼鏂规缁撴瑙勫垯
+export function updateSchemeautofinshrule(data) {
+  return request({
+    url: '/smartor/schemeautofinshrule',
+    method: 'put',
+    data: data
+  })
+}
+
+// 鍒犻櫎鏂规缁撴瑙勫垯
+export function delSchemeautofinshrule(id) {
+  return request({
+    url: '/smartor/schemeautofinshrule/' + id,
+    method: 'delete'
+  })
+}
diff --git a/ruoyi-ui/src/api/smartor/schemecalldetail.js b/ruoyi-ui/src/api/smartor/schemecalldetail.js
new file mode 100644
index 0000000..0a61bf3
--- /dev/null
+++ b/ruoyi-ui/src/api/smartor/schemecalldetail.js
@@ -0,0 +1,44 @@
+import request from '@/utils/request'
+
+// 鏌ヨ鏂规AI澶栧懠浠诲姟璇︽儏鍒楄〃
+export function listSchemecalldetail(query) {
+  return request({
+    url: '/smartor/schemecalldetail/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 鏌ヨ鏂规AI澶栧懠浠诲姟璇︽儏璇︾粏
+export function getSchemecalldetail(id) {
+  return request({
+    url: '/smartor/schemecalldetail/' + id,
+    method: 'get'
+  })
+}
+
+// 鏂板鏂规AI澶栧懠浠诲姟璇︽儏
+export function addSchemecalldetail(data) {
+  return request({
+    url: '/smartor/schemecalldetail',
+    method: 'post',
+    data: data
+  })
+}
+
+// 淇敼鏂规AI澶栧懠浠诲姟璇︽儏
+export function updateSchemecalldetail(data) {
+  return request({
+    url: '/smartor/schemecalldetail',
+    method: 'put',
+    data: data
+  })
+}
+
+// 鍒犻櫎鏂规AI澶栧懠浠诲姟璇︽儏
+export function delSchemecalldetail(id) {
+  return request({
+    url: '/smartor/schemecalldetail/' + id,
+    method: 'delete'
+  })
+}
diff --git a/ruoyi-ui/src/api/smartor/schemecategory.js b/ruoyi-ui/src/api/smartor/schemecategory.js
new file mode 100644
index 0000000..39f01d6
--- /dev/null
+++ b/ruoyi-ui/src/api/smartor/schemecategory.js
@@ -0,0 +1,44 @@
+import request from '@/utils/request'
+
+// 鏌ヨ鏂规鍒嗙被鍒楄〃
+export function listSchemecategory(query) {
+  return request({
+    url: '/smartor/schemecategory/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 鏌ヨ鏂规鍒嗙被璇︾粏
+export function getSchemecategory(id) {
+  return request({
+    url: '/smartor/schemecategory/' + id,
+    method: 'get'
+  })
+}
+
+// 鏂板鏂规鍒嗙被
+export function addSchemecategory(data) {
+  return request({
+    url: '/smartor/schemecategory',
+    method: 'post',
+    data: data
+  })
+}
+
+// 淇敼鏂规鍒嗙被
+export function updateSchemecategory(data) {
+  return request({
+    url: '/smartor/schemecategory',
+    method: 'put',
+    data: data
+  })
+}
+
+// 鍒犻櫎鏂规鍒嗙被
+export function delSchemecategory(id) {
+  return request({
+    url: '/smartor/schemecategory/' + id,
+    method: 'delete'
+  })
+}
diff --git a/ruoyi-ui/src/api/smartor/schemelibrary.js b/ruoyi-ui/src/api/smartor/schemelibrary.js
new file mode 100644
index 0000000..ab760fb
--- /dev/null
+++ b/ruoyi-ui/src/api/smartor/schemelibrary.js
@@ -0,0 +1,44 @@
+import request from '@/utils/request'
+
+// 鏌ヨ鏈嶅姟鏂规搴撳垪琛�
+export function listSchemelibrary(query) {
+  return request({
+    url: '/smartor/schemelibrary/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 鏌ヨ鏈嶅姟鏂规搴撹缁�
+export function getSchemelibrary(id) {
+  return request({
+    url: '/smartor/schemelibrary/' + id,
+    method: 'get'
+  })
+}
+
+// 鏂板鏈嶅姟鏂规搴�
+export function addSchemelibrary(data) {
+  return request({
+    url: '/smartor/schemelibrary',
+    method: 'post',
+    data: data
+  })
+}
+
+// 淇敼鏈嶅姟鏂规搴�
+export function updateSchemelibrary(data) {
+  return request({
+    url: '/smartor/schemelibrary',
+    method: 'put',
+    data: data
+  })
+}
+
+// 鍒犻櫎鏈嶅姟鏂规搴�
+export function delSchemelibrary(id) {
+  return request({
+    url: '/smartor/schemelibrary/' + id,
+    method: 'delete'
+  })
+}
diff --git a/ruoyi-ui/src/api/smartor/schemeplan.js b/ruoyi-ui/src/api/smartor/schemeplan.js
new file mode 100644
index 0000000..d5906ec
--- /dev/null
+++ b/ruoyi-ui/src/api/smartor/schemeplan.js
@@ -0,0 +1,44 @@
+import request from '@/utils/request'
+
+// 鏌ヨ绠$悊璁″垝鍒楄〃
+export function listSchemeplan(query) {
+  return request({
+    url: '/smartor/schemeplan/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 鏌ヨ绠$悊璁″垝璇︾粏
+export function getSchemeplan(id) {
+  return request({
+    url: '/smartor/schemeplan/' + id,
+    method: 'get'
+  })
+}
+
+// 鏂板绠$悊璁″垝
+export function addSchemeplan(data) {
+  return request({
+    url: '/smartor/schemeplan',
+    method: 'post',
+    data: data
+  })
+}
+
+// 淇敼绠$悊璁″垝
+export function updateSchemeplan(data) {
+  return request({
+    url: '/smartor/schemeplan',
+    method: 'put',
+    data: data
+  })
+}
+
+// 鍒犻櫎绠$悊璁″垝
+export function delSchemeplan(id) {
+  return request({
+    url: '/smartor/schemeplan/' + id,
+    method: 'delete'
+  })
+}
diff --git a/ruoyi-ui/src/api/smartor/schemetask.js b/ruoyi-ui/src/api/smartor/schemetask.js
new file mode 100644
index 0000000..f428e8a
--- /dev/null
+++ b/ruoyi-ui/src/api/smartor/schemetask.js
@@ -0,0 +1,44 @@
+import request from '@/utils/request'
+
+// 鏌ヨ鏂规浠诲姟鍒楄〃
+export function listSchemetask(query) {
+  return request({
+    url: '/smartor/schemetask/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 鏌ヨ鏂规浠诲姟璇︾粏
+export function getSchemetask(id) {
+  return request({
+    url: '/smartor/schemetask/' + id,
+    method: 'get'
+  })
+}
+
+// 鏂板鏂规浠诲姟
+export function addSchemetask(data) {
+  return request({
+    url: '/smartor/schemetask',
+    method: 'post',
+    data: data
+  })
+}
+
+// 淇敼鏂规浠诲姟
+export function updateSchemetask(data) {
+  return request({
+    url: '/smartor/schemetask',
+    method: 'put',
+    data: data
+  })
+}
+
+// 鍒犻櫎鏂规浠诲姟
+export function delSchemetask(id) {
+  return request({
+    url: '/smartor/schemetask/' + id,
+    method: 'delete'
+  })
+}
diff --git a/ruoyi-ui/src/api/smartor/schemetaskconfig.js b/ruoyi-ui/src/api/smartor/schemetaskconfig.js
new file mode 100644
index 0000000..4160cb3
--- /dev/null
+++ b/ruoyi-ui/src/api/smartor/schemetaskconfig.js
@@ -0,0 +1,44 @@
+import request from '@/utils/request'
+
+// 鏌ヨ鏂规浠诲姟閰嶇疆鍒楄〃
+export function listSchemetaskconfig(query) {
+  return request({
+    url: '/smartor/schemetaskconfig/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 鏌ヨ鏂规浠诲姟閰嶇疆璇︾粏
+export function getSchemetaskconfig(id) {
+  return request({
+    url: '/smartor/schemetaskconfig/' + id,
+    method: 'get'
+  })
+}
+
+// 鏂板鏂规浠诲姟閰嶇疆
+export function addSchemetaskconfig(data) {
+  return request({
+    url: '/smartor/schemetaskconfig',
+    method: 'post',
+    data: data
+  })
+}
+
+// 淇敼鏂规浠诲姟閰嶇疆
+export function updateSchemetaskconfig(data) {
+  return request({
+    url: '/smartor/schemetaskconfig',
+    method: 'put',
+    data: data
+  })
+}
+
+// 鍒犻櫎鏂规浠诲姟閰嶇疆
+export function delSchemetaskconfig(id) {
+  return request({
+    url: '/smartor/schemetaskconfig/' + id,
+    method: 'delete'
+  })
+}
diff --git a/ruoyi-ui/src/api/smartor/schemetaskrecord.js b/ruoyi-ui/src/api/smartor/schemetaskrecord.js
new file mode 100644
index 0000000..3578675
--- /dev/null
+++ b/ruoyi-ui/src/api/smartor/schemetaskrecord.js
@@ -0,0 +1,44 @@
+import request from '@/utils/request'
+
+// 鏌ヨ鏂规浠诲姟澶勭悊璁板綍鍒楄〃
+export function listSchemetaskrecord(query) {
+  return request({
+    url: '/smartor/schemetaskrecord/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 鏌ヨ鏂规浠诲姟澶勭悊璁板綍璇︾粏
+export function getSchemetaskrecord(id) {
+  return request({
+    url: '/smartor/schemetaskrecord/' + id,
+    method: 'get'
+  })
+}
+
+// 鏂板鏂规浠诲姟澶勭悊璁板綍
+export function addSchemetaskrecord(data) {
+  return request({
+    url: '/smartor/schemetaskrecord',
+    method: 'post',
+    data: data
+  })
+}
+
+// 淇敼鏂规浠诲姟澶勭悊璁板綍
+export function updateSchemetaskrecord(data) {
+  return request({
+    url: '/smartor/schemetaskrecord',
+    method: 'put',
+    data: data
+  })
+}
+
+// 鍒犻櫎鏂规浠诲姟澶勭悊璁板綍
+export function delSchemetaskrecord(id) {
+  return request({
+    url: '/smartor/schemetaskrecord/' + id,
+    method: 'delete'
+  })
+}
diff --git a/ruoyi-ui/src/api/smartor/schemetaskrepeatconfig.js b/ruoyi-ui/src/api/smartor/schemetaskrepeatconfig.js
new file mode 100644
index 0000000..ef2f176
--- /dev/null
+++ b/ruoyi-ui/src/api/smartor/schemetaskrepeatconfig.js
@@ -0,0 +1,44 @@
+import request from '@/utils/request'
+
+// 鏌ヨ鏂规浠诲姟閲嶅彂閰嶇疆鍒楄〃
+export function listSchemetaskrepeatconfig(query) {
+  return request({
+    url: '/smartor/schemetaskrepeatconfig/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 鏌ヨ鏂规浠诲姟閲嶅彂閰嶇疆璇︾粏
+export function getSchemetaskrepeatconfig(id) {
+  return request({
+    url: '/smartor/schemetaskrepeatconfig/' + id,
+    method: 'get'
+  })
+}
+
+// 鏂板鏂规浠诲姟閲嶅彂閰嶇疆
+export function addSchemetaskrepeatconfig(data) {
+  return request({
+    url: '/smartor/schemetaskrepeatconfig',
+    method: 'post',
+    data: data
+  })
+}
+
+// 淇敼鏂规浠诲姟閲嶅彂閰嶇疆
+export function updateSchemetaskrepeatconfig(data) {
+  return request({
+    url: '/smartor/schemetaskrepeatconfig',
+    method: 'put',
+    data: data
+  })
+}
+
+// 鍒犻櫎鏂规浠诲姟閲嶅彂閰嶇疆
+export function delSchemetaskrepeatconfig(id) {
+  return request({
+    url: '/smartor/schemetaskrepeatconfig/' + id,
+    method: 'delete'
+  })
+}
diff --git a/ruoyi-ui/src/api/smartor/schemetriggerrule.js b/ruoyi-ui/src/api/smartor/schemetriggerrule.js
new file mode 100644
index 0000000..92acfd4
--- /dev/null
+++ b/ruoyi-ui/src/api/smartor/schemetriggerrule.js
@@ -0,0 +1,44 @@
+import request from '@/utils/request'
+
+// 鏌ヨ鏂规瑙﹀彂鏉′欢瑙勫垯鍒楄〃
+export function listSchemetriggerrule(query) {
+  return request({
+    url: '/smartor/schemetriggerrule/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 鏌ヨ鏂规瑙﹀彂鏉′欢瑙勫垯璇︾粏
+export function getSchemetriggerrule(id) {
+  return request({
+    url: '/smartor/schemetriggerrule/' + id,
+    method: 'get'
+  })
+}
+
+// 鏂板鏂规瑙﹀彂鏉′欢瑙勫垯
+export function addSchemetriggerrule(data) {
+  return request({
+    url: '/smartor/schemetriggerrule',
+    method: 'post',
+    data: data
+  })
+}
+
+// 淇敼鏂规瑙﹀彂鏉′欢瑙勫垯
+export function updateSchemetriggerrule(data) {
+  return request({
+    url: '/smartor/schemetriggerrule',
+    method: 'put',
+    data: data
+  })
+}
+
+// 鍒犻櫎鏂规瑙﹀彂鏉′欢瑙勫垯
+export function delSchemetriggerrule(id) {
+  return request({
+    url: '/smartor/schemetriggerrule/' + id,
+    method: 'delete'
+  })
+}
diff --git a/ruoyi-ui/src/api/smartor/schemetriggerscene.js b/ruoyi-ui/src/api/smartor/schemetriggerscene.js
new file mode 100644
index 0000000..434cdac
--- /dev/null
+++ b/ruoyi-ui/src/api/smartor/schemetriggerscene.js
@@ -0,0 +1,44 @@
+import request from '@/utils/request'
+
+// 鏌ヨ鏂规瑙﹀彂鍦烘櫙鍒楄〃
+export function listSchemetriggerscene(query) {
+  return request({
+    url: '/smartor/schemetriggerscene/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 鏌ヨ鏂规瑙﹀彂鍦烘櫙璇︾粏
+export function getSchemetriggerscene(id) {
+  return request({
+    url: '/smartor/schemetriggerscene/' + id,
+    method: 'get'
+  })
+}
+
+// 鏂板鏂规瑙﹀彂鍦烘櫙
+export function addSchemetriggerscene(data) {
+  return request({
+    url: '/smartor/schemetriggerscene',
+    method: 'post',
+    data: data
+  })
+}
+
+// 淇敼鏂规瑙﹀彂鍦烘櫙
+export function updateSchemetriggerscene(data) {
+  return request({
+    url: '/smartor/schemetriggerscene',
+    method: 'put',
+    data: data
+  })
+}
+
+// 鍒犻櫎鏂规瑙﹀彂鍦烘櫙
+export function delSchemetriggerscene(id) {
+  return request({
+    url: '/smartor/schemetriggerscene/' + id,
+    method: 'delete'
+  })
+}
diff --git a/ruoyi-ui/src/views/smartor/archive/index.vue b/ruoyi-ui/src/views/smartor/archive/index.vue
deleted file mode 100644
index 33c0b8f..0000000
--- a/ruoyi-ui/src/views/smartor/archive/index.vue
+++ /dev/null
@@ -1,607 +0,0 @@
-<template>
-    <div class="app-container">
-<!--
-    <el-tabs v-model="activeName" @tab-click="handleClick" style="height=128px">
-      <el-tab-pane label="鐢ㄦ埛绠$悊" name="first">鐢ㄦ埛绠$悊</el-tab-pane>
-      <el-tab-pane label="閰嶇疆绠$悊" name="second">閰嶇疆绠$悊</el-tab-pane>
-      <el-tab-pane label="瑙掕壊绠$悊" name="third">瑙掕壊绠$悊</el-tab-pane>
-      <el-tab-pane label="瀹氭椂浠诲姟琛ュ伩" name="fourth">瀹氭椂浠诲姟琛ュ伩</el-tab-pane>
-    </el-tabs>-->
-    <el-form :model="queryParams" ref="queryForm"  :inline="true" v-show="showSearch" label-width="68px">
-      <el-form-item label=" 濮撳悕 " prop="Name">
-        <el-input
-          v-model="queryParams.Name"
-          placeholder="璇疯緭鍏� 濮撳悕 "
-          clearable
-          @keyup.enter.native="handleQuery"
-        />
-      </el-form-item>
-      <el-form-item label=" 璇佷欢鍙风爜 " prop="PapersNumber">
-        <el-input
-          v-model="queryParams.PapersNumber"
-          placeholder="璇疯緭鍏� 璇佷欢鍙风爜 "
-          clearable
-          @keyup.enter.native="handleQuery"
-        />
-      </el-form-item>
-      <el-form-item label=" 鏉ユ簮 " prop="Source">
-        <el-select v-model="queryParams.Source" placeholder="璇烽�夋嫨 鏉ユ簮 " clearable>
-          <el-option
-            v-for="dict in dict.type.sys_patientfrom"
-            :key="dict.value"
-            :label="dict.label"
-            :value="dict.value"
-          />
-        </el-select>
-      </el-form-item>
-      <el-form-item label=" 鎵嬫満鍙风爜 " prop="MobileNumberCode">
-        <el-input
-          v-model="queryParams.MobileNumberCode"
-          placeholder="璇疯緭鍏� 鎵嬫満鍙风爜 "
-          clearable
-          @keyup.enter.native="handleQuery"
-        />
-      </el-form-item>
-      <el-form-item label=" 鏈烘瀯ID " prop="OrgID">
-        <el-select v-model="queryParams.OrgID" placeholder="璇烽�夋嫨 鏈烘瀯ID " clearable>
-          <el-option
-            v-for="dict in dict.type.sys_job_group"
-            :key="dict.value"
-            :label="dict.label"
-            :value="dict.value"
-          />
-        </el-select>
-      </el-form-item>
-      <el-form-item label=" 鍒犻櫎鏍囪 " prop="delFlag">
-        <el-select v-model="queryParams.delFlag" placeholder="璇烽�夋嫨 鍒犻櫎鏍囪 " clearable>
-          <el-option
-            v-for="dict in dict.type.sys_yes_no"
-            :key="dict.value"
-            :label="dict.label"
-            :value="dict.value"
-          />
-        </el-select>
-      </el-form-item>
-      <el-form-item>
-        <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">鎼滅储</el-button>
-        <el-button icon="el-icon-refresh" size="mini" @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="mini"
-          @click="handleAdd"
-          v-hasPermi="['smartor:archive:add']"
-        >鏂板</el-button>
-      </el-col>
-      <el-col :span="1.5">
-        <el-button
-          type="success"
-          plain
-          icon="el-icon-edit"
-          size="mini"
-          :disabled="single"
-          @click="handleUpdate"
-          v-hasPermi="['smartor:archive:edit']"
-        >淇敼</el-button>
-      </el-col>
-      <el-col :span="1.5">
-        <el-button
-          type="danger"
-          plain
-          icon="el-icon-delete"
-          size="mini"
-          :disabled="multiple"
-          @click="handleDelete"
-          v-hasPermi="['smartor:archive:remove']"
-        >鍒犻櫎</el-button>
-      </el-col>
-      <el-col :span="1.5">
-        <el-button
-          type="warning"
-          plain
-          icon="el-icon-download"
-          size="mini"
-          @click="handleExport"
-          v-hasPermi="['smartor:archive:export']"
-        >瀵煎嚭</el-button>
-      </el-col>
-      <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
-    </el-row>
-
-    <el-table v-loading="loading" :data="archiveList" @selection-change="handleSelectionChange">
-      <el-table-column type="selection" width="55" align="center" />
-      <el-table-column label=" 鑷ID " align="center" prop="PatID" />
-      <el-table-column label=" 濮撳悕 " align="center" prop="Name" />
-      <el-table-column label=" 鎬у埆 " align="center" prop="Gender">
-        <template slot-scope="scope">
-          <dict-tag :options="dict.type.sys_user_sex" :value="scope.row.Gender"/>
-        </template>
-      </el-table-column>
-      <el-table-column label=" 璇佷欢鍙风爜 " align="center" prop="PapersNumber" />
-      <el-table-column label=" 鏉ユ簮 " align="center" prop="Source">
-        <template slot-scope="scope">
-          <dict-tag :options="dict.type.sys_patientfrom" :value="scope.row.Source"/>
-        </template>
-      </el-table-column>
-      <el-table-column label=" 寤烘。鏃堕棿 " align="center" prop="MakeArchiveTime" width="180">
-        <template slot-scope="scope">
-          <span>{{ parseTime(scope.row.MakeArchiveTime, '{y}-{m}-{d}') }}</span>
-        </template>
-      </el-table-column>
-      <el-table-column label=" 鎵嬫満鍙风爜 " align="center" prop="MobileNumberCode" />
-      <el-table-column label=" 鏈烘瀯ID " align="center" prop="OrgID">
-        <template slot-scope="scope">
-          <dict-tag :options="dict.type.sys_job_group" :value="scope.row.OrgID"/>
-        </template>
-      </el-table-column>
-      <el-table-column label=" 鍒犻櫎鏍囪 " align="center" prop="delFlag">
-        <template slot-scope="scope">
-          <dict-tag :options="dict.type.sys_yes_no" :value="scope.row.delFlag"/>
-        </template>
-      </el-table-column>
-      <el-table-column label=" 鍒涘缓浜� " align="center" prop="createBy" />
-      <el-table-column label=" 鍒涘缓鏃堕棿 " align="center" prop="createTime" width="180">
-        <template slot-scope="scope">
-          <span>{{ parseTime(scope.row.createTime, '{y}-{m}-{d}') }}</span>
-        </template>
-      </el-table-column>
-      <el-table-column label=" 骞撮緞 " align="center" prop="Age" />
-      <el-table-column label="鎿嶄綔" align="center" class-name="small-padding fixed-width">
-        <template slot-scope="scope">
-          <el-button
-            size="mini"
-            type="text"
-            icon="el-icon-edit"
-            @click="handleUpdate(scope.row)"
-            v-hasPermi="['smartor:archive:edit']"
-          >淇敼</el-button>
-          <el-button
-            size="mini"
-            type="text"
-            icon="el-icon-delete"
-            @click="handleDelete(scope.row)"
-            v-hasPermi="['smartor:archive:remove']"
-          >鍒犻櫎</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-dialog :title="title" :visible.sync="open" width="1100px" append-to-body>
-      <el-form ref="form" :model="form" :rules="rules" label-width="80px">
-        <el-form-item label=" 濮撳悕 " prop="Name">
-          <el-input v-model="form.Name" placeholder="璇疯緭鍏� 濮撳悕 " />
-        </el-form-item>
-        <el-form-item label=" 鎬у埆 " prop="Gender">
-          <el-select v-model="form.Gender" placeholder="璇烽�夋嫨 鎬у埆 ">
-            <el-option
-              v-for="dict in dict.type.sys_user_sex"
-              :key="dict.value"
-              :label="dict.label"
-              :value="parseInt(dict.value)"
-            ></el-option>
-          </el-select>
-        </el-form-item>
-        <el-form-item label=" 璇佷欢鍙风爜 " prop="PapersNumber">
-          <el-input v-model="form.PapersNumber" placeholder="璇疯緭鍏� 璇佷欢鍙风爜 " />
-        </el-form-item>
-        <el-form-item label=" 鐢熸棩 " prop="BirthDate">
-          <el-date-picker clearable
-            v-model="form.BirthDate"
-            type="date"
-            value-format="yyyy-MM-dd"
-            placeholder="璇烽�夋嫨 鐢熸棩 ">
-          </el-date-picker>
-        </el-form-item>
-        <el-form-item label=" 璇佷欢绫诲瀷 " prop="PapersType">
-          <el-select v-model="form.PapersType" placeholder="璇烽�夋嫨 璇佷欢绫诲瀷 ">
-            <el-option
-              v-for="dict in dict.type.sys_idtype"
-              :key="dict.value"
-              :label="dict.label"
-              :value="dict.value"
-            ></el-option>
-          </el-select>
-        </el-form-item>
-        <el-form-item label=" 鍒犻櫎鏍囪 " prop="delFlag">
-          <el-select v-model="form.delFlag" placeholder="璇烽�夋嫨 鍒犻櫎鏍囪 ">
-            <el-option
-              v-for="dict in dict.type.sys_yes_no"
-              :key="dict.value"
-              :label="dict.label"
-              :value="dict.value"
-            ></el-option>
-          </el-select>
-        </el-form-item>
-        <el-form-item label=" 涓婁紶鏍囪 " prop="IsUpload">
-          <el-select v-model="form.IsUpload" placeholder="璇烽�夋嫨 涓婁紶鏍囪 ">
-            <el-option
-              v-for="dict in dict.type.sys_yes_no"
-              :key="dict.value"
-              :label="dict.label"
-              :value="parseInt(dict.value)"
-            ></el-option>
-          </el-select>
-        </el-form-item>
-        <el-form-item label=" 涓婁紶鏃堕棿 " prop="uploadTime">
-          <el-date-picker clearable
-            v-model="form.uploadTime"
-            type="date"
-            value-format="yyyy-MM-dd"
-            placeholder="璇烽�夋嫨 涓婁紶鏃堕棿 ">
-          </el-date-picker>
-        </el-form-item>
-        <el-form-item label=" 骞撮緞 " prop="Age">
-          <el-input v-model="form.Age" placeholder="璇疯緭鍏� 骞撮緞 " />
-        </el-form-item>
-        <el-form-item label=" 寰俊openid " prop="OpenId">
-          <el-input v-model="form.OpenId" placeholder="璇疯緭鍏� 寰俊openid " />
-        </el-form-item>
-        <el-divider content-position="center">鎮h�呴棬璇婅褰曚俊鎭�</el-divider>
-        <el-row :gutter="10" class="mb8">
-          <el-col :span="1.5">
-            <el-button type="primary" icon="el-icon-plus" size="mini" @click="handleAddPatMedOuthosp">娣诲姞</el-button>
-          </el-col>
-          <el-col :span="1.5">
-            <el-button type="danger" icon="el-icon-delete" size="mini" @click="handleDeletePatMedOuthosp">鍒犻櫎</el-button>
-          </el-col>
-        </el-row>
-        <el-table :data="patMedOuthospList" :row-class-name="rowPatMedOuthospIndex" @selection-change="handlePatMedOuthospSelectionChange" ref="patMedOuthosp">
-          <el-table-column type="selection" width="50" align="center" />
-          <el-table-column label="搴忓彿" align="center" prop="index" width="50"/>
-          <el-table-column label=" 娴佹按鍙� " prop="SerialNum" width="150">
-            <template slot-scope="scope">
-              <el-input v-model="scope.row.SerialNum" placeholder="璇疯緭鍏� 娴佹按鍙� " />
-            </template>
-          </el-table-column>
-          <el-table-column label=" 妗fID " prop="PatID" width="150">
-            <template slot-scope="scope">
-              <el-input v-model="scope.row.PatID" placeholder="璇疯緭鍏� 妗fID " />
-            </template>
-          </el-table-column>
-          <el-table-column label=" 鍖婚櫌鍚嶇О " prop="HospitalName" width="150">
-            <template slot-scope="scope">
-              <el-input v-model="scope.row.HospitalName" placeholder="璇疯緭鍏� 鍖婚櫌鍚嶇О " />
-            </template>
-          </el-table-column>
-          <el-table-column label=" 鍖婚櫌缂栧彿 " prop="HospitalCode" width="150">
-            <template slot-scope="scope">
-              <el-input v-model="scope.row.HospitalCode" placeholder="璇疯緭鍏� 鍖婚櫌缂栧彿 " />
-            </template>
-          </el-table-column>
-          <el-table-column label=" 璇婃柇ICD鍊� " prop="Icd10Code" width="150">
-            <template slot-scope="scope">
-              <el-input v-model="scope.row.Icd10Code" placeholder="璇疯緭鍏� 璇婃柇ICD鍊� " />
-            </template>
-          </el-table-column>
-          <el-table-column label=" 璇婃柇鍚嶇О " prop="DiagName" width="150">
-            <template slot-scope="scope">
-              <el-input v-model="scope.row.DiagName" placeholder="璇疯緭鍏� 璇婃柇鍚嶇О " />
-            </template>
-          </el-table-column>
-          <el-table-column label=" 绉戝浠g爜 " prop="DeptCode" width="150">
-            <template slot-scope="scope">
-              <el-input v-model="scope.row.DeptCode" placeholder="璇疯緭鍏� 绉戝浠g爜 " />
-            </template>
-          </el-table-column>
-          <el-table-column label=" 绉戝鍚嶇О " prop="DeptName" width="150">
-            <template slot-scope="scope">
-              <el-input v-model="scope.row.DeptName" placeholder="璇疯緭鍏� 绉戝鍚嶇О " />
-            </template>
-          </el-table-column>
-          <el-table-column label=" 鍖荤敓宸ュ彿 " prop="DrCode" width="150">
-            <template slot-scope="scope">
-              <el-input v-model="scope.row.DrCode" placeholder="璇疯緭鍏� 鍖荤敓宸ュ彿 " />
-            </template>
-          </el-table-column>
-          <el-table-column label=" 鍖荤敓鍚嶇О " prop="DrName" width="150">
-            <template slot-scope="scope">
-              <el-input v-model="scope.row.DrName" placeholder="璇疯緭鍏� 鍖荤敓鍚嶇О " />
-            </template>
-          </el-table-column>
-          <el-table-column label=" 灏辫瘖鏃ユ湡 " prop="AdmitDate" width="240">
-            <template slot-scope="scope">
-              <el-date-picker clearable v-model="scope.row.AdmitDate" type="date" value-format="yyyy-MM-dd" placeholder="璇烽�夋嫨 灏辫瘖鏃ユ湡 " />
-            </template>
-          </el-table-column>
-          <el-table-column label=" 鏈烘瀯ID " prop="OrgID" width="150">
-            <template slot-scope="scope">
-              <el-input v-model="scope.row.OrgID" placeholder="璇疯緭鍏� 鏈烘瀯ID " />
-            </template>
-          </el-table-column>
-          <el-table-column label=" 鍒犻櫎鏍囪 " prop="delFlag" width="150">
-            <template slot-scope="scope">
-              <el-input v-model="scope.row.delFlag" placeholder="璇疯緭鍏� 鍒犻櫎鏍囪 " />
-            </template>
-          </el-table-column>
-          <el-table-column label=" 鏇存柊浜� " prop="updateBy" width="150">
-            <template slot-scope="scope">
-              <el-input v-model="scope.row.updateBy" placeholder="璇疯緭鍏� 鏇存柊浜� " />
-            </template>
-          </el-table-column>
-          <el-table-column label=" 鏇存柊鏃堕棿 " prop="updateTime" width="240">
-            <template slot-scope="scope">
-              <el-date-picker clearable v-model="scope.row.updateTime" type="date" value-format="yyyy-MM-dd" placeholder="璇烽�夋嫨 鏇存柊鏃堕棿 " />
-            </template>
-          </el-table-column>
-          <el-table-column label=" 鍒涘缓浜� " prop="createBy" width="150">
-            <template slot-scope="scope">
-              <el-input v-model="scope.row.createBy" placeholder="璇疯緭鍏� 鍒涘缓浜� " />
-            </template>
-          </el-table-column>
-          <el-table-column label=" 鍒涘缓鏃堕棿 " prop="createTime" width="240">
-            <template slot-scope="scope">
-              <el-date-picker clearable v-model="scope.row.createTime" type="date" value-format="yyyy-MM-dd" placeholder="璇烽�夋嫨 鍒涘缓鏃堕棿 " />
-            </template>
-          </el-table-column>
-          <el-table-column label=" 涓婁紶鏍囪 " prop="IsUpload" width="150">
-            <template slot-scope="scope">
-              <el-input v-model="scope.row.IsUpload" placeholder="璇疯緭鍏� 涓婁紶鏍囪 " />
-            </template>
-          </el-table-column>
-          <el-table-column label=" 涓婁紶鏃堕棿 " prop="uploadTime" width="240">
-            <template slot-scope="scope">
-              <el-date-picker clearable v-model="scope.row.uploadTime" type="date" value-format="yyyy-MM-dd" placeholder="璇烽�夋嫨 涓婁紶鏃堕棿 " />
-            </template>
-          </el-table-column>
-          <el-table-column label=" 绉戝ID " prop="DeptID" width="150">
-            <template slot-scope="scope">
-              <el-input v-model="scope.row.DeptID" placeholder="璇疯緭鍏� 绉戝ID " />
-            </template>
-          </el-table-column>
-           <el-table-column label=" 涓昏堪 " prop="MainSuit" width="150">
-            <template slot-scope="scope">
-              <el-input v-model="scope.row.MainSuit" placeholder="璇疯緭鍏� 涓昏堪 " />
-            </template>
-          </el-table-column>
-        </el-table>
-      </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>
-</template>
-
-<script>
-import { listArchive, getArchive, delArchive, addArchive, updateArchive } from "@/api/smartor/archive";
-
-export default {
-  name: "Archive",
-  dicts: ['sys_idtype', 'sys_yes_no', 'sys_user_sex', 'sys_job_group', 'sys_patientfrom'],
-  data() {
-    return {
-      activeName: 'second',
-      activeNames: ['1'],
-      // 閬僵灞�
-      loading: true,
-      // 閫変腑鏁扮粍
-      ids: [],
-      // 瀛愯〃閫変腑鏁版嵁
-      checkedPatMedOuthosp: [],
-      // 闈炲崟涓鐢�
-      single: true,
-      // 闈炲涓鐢�
-      multiple: true,
-      // 鏄剧ず鎼滅储鏉′欢
-      showSearch: true,
-      // 鎬绘潯鏁�
-      total: 0,
-      // 鎮h�呮。妗堣〃鏍兼暟鎹�
-      archiveList: [],
-      // 鎮h�呴棬璇婅褰曡〃鏍兼暟鎹�
-      patMedOuthospList: [],
-      // 寮瑰嚭灞傛爣棰�
-      title: "",
-      // 鏄惁鏄剧ず寮瑰嚭灞�
-      open: false,
-      // 鏌ヨ鍙傛暟
-      queryParams: {
-        pageNum: 1,
-        pageSize: 10,
-        Name: null,
-        PapersNumber: null,
-        Source: null,
-        MobileNumberCode: null,
-        OrgID: null,
-        delFlag: null,
-      },
-      // 琛ㄥ崟鍙傛暟
-      form: {},
-      // 琛ㄥ崟鏍¢獙
-      rules: {
-        delFlag: [
-          { required: true, message: " 鍒犻櫎鏍囪 涓嶈兘涓虹┖", trigger: "change" }
-        ],
-        IsUpload: [
-          { required: true, message: " 涓婁紶鏍囪 涓嶈兘涓虹┖", trigger: "change" }
-        ],
-      }
-    };
-  },
-  created() {
-    this.getList();
-  },
-  methods: {
-    /** 鏌ヨ鎮h�呮。妗堝垪琛� */
-    getList() {
-      this.loading = true;
-      listArchive(this.queryParams).then(response => {
-        this.archiveList = response.rows;
-        console.log(this.archiveList);
-        this.total = response.total;
-        this.loading = false;
-      });
-    },
-    // 鍙栨秷鎸夐挳
-    cancel() {
-      this.open = false;
-      this.reset();
-    },
-    // 琛ㄥ崟閲嶇疆
-    reset() {
-      this.form = {
-        PatID: null,
-        Name: null,
-        Gender: null,
-        PapersNumber: null,
-        BirthDate: null,
-        Source: null,
-        MakeArchiveTime: null,
-        MakeArchivePeople: null,
-        MobileNumberCode: null,
-        RelativesNumber: null,
-        PapersType: null,
-        OrgID: null,
-        delFlag: null,
-        updateBy: null,
-        updateTime: null,
-        createBy: null,
-        createTime: null,
-        IsUpload: null,
-        uploadTime: null,
-        Age: null,
-        OpenId: null
-      };
-      this.patMedOuthospList = [];
-      this.resetForm("form");
-    },
-    /** 鎼滅储鎸夐挳鎿嶄綔 */
-    handleQuery() {
-      this.queryParams.pageNum = 1;
-      this.getList();
-    },
-    /** 閲嶇疆鎸夐挳鎿嶄綔 */
-    resetQuery() {
-      this.resetForm("queryForm");
-      this.handleQuery();
-    },
-    // 澶氶�夋閫変腑鏁版嵁
-    handleSelectionChange(selection) {
-      this.ids = selection.map(item => item.PatID)
-      this.single = selection.length!==1
-      this.multiple = !selection.length
-    },
-    /** 鏂板鎸夐挳鎿嶄綔 */
-    handleAdd() {
-      //this.reset();
-      //this.open = true;
-      //this.title = "娣诲姞鎮h�呮。妗�1";
-      const params = {};
-      this.$tab.openPage("淇敼", '/smartor/archive/maint', params);
-    },
-    /** 淇敼鎸夐挳鎿嶄綔 */
-    handleUpdate(row) {
-      this.reset();
-      const PatID = row.PatID || this.ids
-      getArchive(PatID).then(response => {
-        this.form = response.data;
-        this.patMedOuthospList = response.data.patMedOuthospList;
-        this.open = true;
-        this.title = "淇敼鎮h�呮。妗�";
-      });
-    },
-    /** 鎻愪氦鎸夐挳 */
-    submitForm() {
-      this.$refs["form"].validate(valid => {
-        if (valid) {
-          this.form.patMedOuthospList = this.patMedOuthospList;
-          if (this.form.PatID != null) {
-            updateArchive(this.form).then(response => {
-              this.$modal.msgSuccess("淇敼鎴愬姛");
-              this.open = false;
-              this.getList();
-            });
-          } else {
-            addArchive(this.form).then(response => {
-              this.$modal.msgSuccess("鏂板鎴愬姛");
-              this.open = false;
-              this.getList();
-            });
-          }
-        }
-      });
-    },
-    /** 鍒犻櫎鎸夐挳鎿嶄綔 */
-    handleDelete(row) {
-      const PatIDs = row.PatID || this.ids;
-      this.$modal.confirm('鏄惁纭鍒犻櫎鎮h�呮。妗堢紪鍙蜂负"' + PatIDs + '"鐨勬暟鎹」锛�').then(function() {
-        return delArchive(PatIDs);
-      }).then(() => {
-        this.getList();
-        this.$modal.msgSuccess("鍒犻櫎鎴愬姛");
-      }).catch(() => {});
-    },
-	/** 鎮h�呴棬璇婅褰曞簭鍙� */
-    rowPatMedOuthospIndex({ row, rowIndex }) {
-      row.index = rowIndex + 1;
-    },
-    /** 鎮h�呴棬璇婅褰曟坊鍔犳寜閽搷浣� */
-    handleAddPatMedOuthosp() {
-      let obj = {};
-      obj.SerialNum = "";
-      obj.PatID = "";
-      obj.HospitalName = "";
-      obj.HospitalCode = "";
-      obj.Icd10Code = "";
-      obj.DiagName = "";
-      obj.DeptCode = "";
-      obj.DeptName = "";
-      obj.DrCode = "";
-      obj.DrName = "";
-      obj.AdmitDate = "";
-      obj.OrgID = "";
-      obj.delFlag = "";
-      obj.updateBy = "";
-      obj.updateTime = "";
-      obj.createBy = "";
-      obj.createTime = "";
-      obj.IsUpload = "";
-      obj.uploadTime = "";
-      obj.SchemeStatus = "";
-      obj.DeptID = "";
-      obj.SchemeTime = "";
-      obj.HPI = "";
-      obj.MainSuit = "";
-      this.patMedOuthospList.push(obj);
-    },
-    /** 鎮h�呴棬璇婅褰曞垹闄ゆ寜閽搷浣� */
-    handleDeletePatMedOuthosp() {
-      if (this.checkedPatMedOuthosp.length == 0) {
-        this.$modal.msgError("璇峰厛閫夋嫨瑕佸垹闄ょ殑鎮h�呴棬璇婅褰曟暟鎹�");
-      } else {
-        const patMedOuthospList = this.patMedOuthospList;
-        const checkedPatMedOuthosp = this.checkedPatMedOuthosp;
-        this.patMedOuthospList = patMedOuthospList.filter(function(item) {
-          return checkedPatMedOuthosp.indexOf(item.index) == -1
-        });
-      }
-    },
-    /** 澶嶉�夋閫変腑鏁版嵁 */
-    handlePatMedOuthospSelectionChange(selection) {
-      this.checkedPatMedOuthosp = selection.map(item => item.index)
-    },
-    /** 瀵煎嚭鎸夐挳鎿嶄綔 */
-    handleExport() {
-      this.download('smartor/archive/export', {
-        ...this.queryParams
-      }, `archive_${new Date().getTime()}.xlsx`)
-    }
-  }
-};
-</script>
diff --git a/ruoyi-ui/src/views/smartor/archive/maint.vue b/ruoyi-ui/src/views/smartor/archive/maint.vue
deleted file mode 100644
index 7cad46e..0000000
--- a/ruoyi-ui/src/views/smartor/archive/maint.vue
+++ /dev/null
@@ -1,207 +0,0 @@
-<template>
-  <div>
-    <el-form :model="form" ref="myForm" :inline="true" label-width="80px">
-      <el-form-item label=" 濮撳悕 " prop="Name">
-        <el-input v-model="form.Name" placeholder="璇疯緭鍏� 濮撳悕 " />
-      </el-form-item>
-      <el-form-item label=" 鎬у埆 " prop="Gender">
-        <el-select v-model="form.Gender" placeholder="璇烽�夋嫨 鎬у埆 ">
-          <el-option v-for="dict in dict.type.sys_user_sex" :key="dict.value" :label="dict.label"
-            :value="parseInt(dict.value)"></el-option>
-        </el-select>
-      </el-form-item>
-      <el-form-item label=" 璇佷欢鍙风爜 " prop="PapersNumber">
-        <el-input v-model="form.PapersNumber" placeholder="璇疯緭鍏� 璇佷欢鍙风爜 " />
-      </el-form-item>
-      <el-form-item label=" 鐢熸棩 " prop="BirthDate">
-        <el-date-picker clearable v-model="form.BirthDate" type="date" value-format="yyyy-MM-dd" placeholder="璇烽�夋嫨 鐢熸棩 ">
-        </el-date-picker>
-      </el-form-item>
-      <el-form-item label=" 璇佷欢绫诲瀷 " prop="PapersType">
-        <el-select v-model="form.PapersType" placeholder="璇烽�夋嫨 璇佷欢绫诲瀷 ">
-          <el-option v-for="dict in dict.type.sys_idtype" :key="dict.value" :label="dict.label"
-            :value="dict.value"></el-option>
-        </el-select>
-      </el-form-item>
-      <el-form-item label=" 鍒犻櫎鏍囪 " prop="delFlag">
-        <el-select v-model="form.delFlag" placeholder="璇烽�夋嫨 鍒犻櫎鏍囪 ">
-          <el-option v-for="dict in dict.type.sys_yes_no" :key="dict.value" :label="dict.label"
-            :value="dict.value"></el-option>
-        </el-select>
-      </el-form-item>
-      <el-form-item label=" 涓婁紶鏍囪 " prop="IsUpload">
-        <el-select v-model="form.IsUpload" placeholder="璇烽�夋嫨 涓婁紶鏍囪 ">
-          <el-option v-for="dict in dict.type.sys_yes_no" :key="dict.value" :label="dict.label"
-            :value="parseInt(dict.value)"></el-option>
-        </el-select>
-      </el-form-item>
-      <el-form-item label=" 涓婁紶鏃堕棿 " prop="uploadTime">
-        <el-date-picker clearable v-model="form.uploadTime" type="date" value-format="yyyy-MM-dd" placeholder="璇烽�夋嫨 涓婁紶鏃堕棿 ">
-        </el-date-picker>
-      </el-form-item>
-      <el-form-item label=" 骞撮緞 " prop="Age">
-        <el-input v-model="form.Age" placeholder="璇疯緭鍏� 骞撮緞 " />
-      </el-form-item>
-      <el-form-item label=" 寰俊openid " prop="OpenId">
-        <el-input v-model="form.OpenId" placeholder="寰俊openid " />
-      </el-form-item>
-      <!--el-divider content-position="center">鎮h�呴棬璇婅褰曚俊鎭�</el-divider-->
-      <el-collapse v-model="activeNames" @change="handleChange">
-        <el-collapse-item title="鎮h�呴棬璇婅褰曚俊鎭�" name="1">
-          <el-row :gutter="10" class="mb8">
-            <el-col :span="1.5">
-              <el-button type="primary" icon="el-icon-plus" size="mini" @click="handleAddPatMedOuthosp">娣诲姞</el-button>
-            </el-col>
-            <el-col :span="1.5">
-              <el-button type="danger" icon="el-icon-delete" size="mini" @click="handleDeletePatMedOuthosp">鍒犻櫎</el-button>
-            </el-col>
-          </el-row>
-          <el-table :data="patMedOuthospList" :row-class-name="rowPatMedOuthospIndex"
-            @selection-change="handlePatMedOuthospSelectionChange" ref="patMedOuthosp">
-            <el-table-column type="selection" width="50" align="center" />
-            <el-table-column label="搴忓彿" align="center" prop="index" width="50" />
-            <el-table-column label=" 娴佹按鍙� " prop="SerialNum" width="150">
-              <template slot-scope="scope">
-                <el-input v-model="scope.row.SerialNum" placeholder="璇疯緭鍏� 娴佹按鍙� " />
-              </template>
-            </el-table-column>
-            <el-table-column label=" 妗fID " prop="PatID" width="150">
-              <template slot-scope="scope">
-                <el-input v-model="scope.row.PatID" placeholder="璇疯緭鍏� 妗fID " />
-              </template>
-            </el-table-column>
-            <el-table-column label=" 鍖婚櫌鍚嶇О " prop="HospitalName" width="150">
-              <template slot-scope="scope">
-                <el-input v-model="scope.row.HospitalName" placeholder="璇疯緭鍏� 鍖婚櫌鍚嶇О " />
-              </template>
-            </el-table-column>
-            <el-table-column label=" 鍖婚櫌缂栧彿 " prop="HospitalCode" width="150">
-              <template slot-scope="scope">
-                <el-input v-model="scope.row.HospitalCode" placeholder="璇疯緭鍏� 鍖婚櫌缂栧彿 " />
-              </template>
-            </el-table-column>
-            <el-table-column label=" 璇婃柇ICD鍊� " prop="Icd10Code" width="150">
-              <template slot-scope="scope">
-                <el-input v-model="scope.row.Icd10Code" placeholder="璇疯緭鍏� 璇婃柇ICD鍊� " />
-              </template>
-            </el-table-column>
-            <el-table-column label=" 璇婃柇鍚嶇О " prop="DiagName" width="150">
-              <template slot-scope="scope">
-                <el-input v-model="scope.row.DiagName" placeholder="璇疯緭鍏� 璇婃柇鍚嶇О " />
-              </template>
-            </el-table-column>
-            <el-table-column label=" 绉戝浠g爜 " prop="DeptCode" width="150">
-              <template slot-scope="scope">
-                <el-input v-model="scope.row.DeptCode" placeholder="璇疯緭鍏� 绉戝浠g爜 " />
-              </template>
-            </el-table-column>
-            <el-table-column label=" 绉戝鍚嶇О " prop="DeptName" width="150">
-              <template slot-scope="scope">
-                <el-input v-model="scope.row.DeptName" placeholder="璇疯緭鍏� 绉戝鍚嶇О " />
-              </template>
-            </el-table-column>
-            <el-table-column label=" 鍖荤敓宸ュ彿 " prop="DrCode" width="150">
-              <template slot-scope="scope">
-                <el-input v-model="scope.row.DrCode" placeholder="璇疯緭鍏� 鍖荤敓宸ュ彿 " />
-              </template>
-            </el-table-column>
-            <el-table-column label=" 鍖荤敓鍚嶇О " prop="DrName" width="150">
-              <template slot-scope="scope">
-                <el-input v-model="scope.row.DrName" placeholder="璇疯緭鍏� 鍖荤敓鍚嶇О " />
-              </template>
-            </el-table-column>
-            <el-table-column label=" 灏辫瘖鏃ユ湡 " prop="AdmitDate" width="240">
-              <template slot-scope="scope">
-                <el-date-picker clearable v-model="scope.row.AdmitDate" type="date" value-format="yyyy-MM-dd"
-                  placeholder="璇烽�夋嫨 灏辫瘖鏃ユ湡 " />
-              </template>
-            </el-table-column>
-            <el-table-column label=" 鏈烘瀯ID " prop="OrgID" width="150">
-              <template slot-scope="scope">
-                <el-input v-model="scope.row.OrgID" placeholder="璇疯緭鍏� 鏈烘瀯ID " />
-              </template>
-            </el-table-column>
-            <el-table-column label=" 鍒犻櫎鏍囪 " prop="delFlag" width="150">
-              <template slot-scope="scope">
-                <el-input v-model="scope.row.delFlag" placeholder="璇疯緭鍏� 鍒犻櫎鏍囪 " />
-              </template>
-            </el-table-column>
-            <el-table-column label=" 鏇存柊浜� " prop="updateBy" width="150">
-              <template slot-scope="scope">
-                <el-input v-model="scope.row.updateBy" placeholder="璇疯緭鍏� 鏇存柊浜� " />
-              </template>
-            </el-table-column>
-            <el-table-column label=" 鏇存柊鏃堕棿 " prop="updateTime" width="240">
-              <template slot-scope="scope">
-                <el-date-picker clearable v-model="scope.row.updateTime" type="date" value-format="yyyy-MM-dd"
-                  placeholder="璇烽�夋嫨 鏇存柊鏃堕棿 " />
-              </template>
-            </el-table-column>
-            <el-table-column label=" 鍒涘缓浜� " prop="createBy" width="150">
-              <template slot-scope="scope">
-                <el-input v-model="scope.row.createBy" placeholder="璇疯緭鍏� 鍒涘缓浜� " />
-              </template>
-            </el-table-column>
-            <el-table-column label=" 鍒涘缓鏃堕棿 " prop="createTime" width="240">
-              <template slot-scope="scope">
-                <el-date-picker clearable v-model="scope.row.createTime" type="date" value-format="yyyy-MM-dd"
-                  placeholder="璇烽�夋嫨 鍒涘缓鏃堕棿 " />
-              </template>
-            </el-table-column>
-            <el-table-column label=" 涓婁紶鏍囪 " prop="IsUpload" width="150">
-              <template slot-scope="scope">
-                <el-input v-model="scope.row.IsUpload" placeholder="璇疯緭鍏� 涓婁紶鏍囪 " />
-              </template>
-            </el-table-column>
-            <el-table-column label=" 涓婁紶鏃堕棿 " prop="uploadTime" width="240">
-              <template slot-scope="scope">
-                <el-date-picker clearable v-model="scope.row.uploadTime" type="date" value-format="yyyy-MM-dd"
-                  placeholder="璇烽�夋嫨 涓婁紶鏃堕棿 " />
-              </template>
-            </el-table-column>
-            <el-table-column label=" 绉戝ID " prop="DeptID" width="150">
-              <template slot-scope="scope">
-                <el-input v-model="scope.row.DeptID" placeholder="璇疯緭鍏� 绉戝ID " />
-              </template>
-            </el-table-column>
-            <el-table-column label=" 涓昏堪 " prop="MainSuit" width="150">
-              <template slot-scope="scope">
-                <el-input v-model="scope.row.MainSuit" placeholder="璇疯緭鍏� 涓昏堪 " />
-              </template>
-            </el-table-column>
-          </el-table>
-        </el-collapse-item>
-        <el-collapse-item title="鎮h�呬綋妫�璁板綍" name="2" />
-        <el-collapse-item title="鎮h�呮寕鍙疯褰�" name="3">
-        </el-collapse-item>
-        <el-collapse-item title="鎮h�呰仈绯绘柟寮�" name="4">
-        </el-collapse-item>
-      </el-collapse>
-
-    </el-form>
-    <div slot="footer" class="dialog-footer">
-      <el-button type="primary" @click="submitForm">纭� 瀹�</el-button>
-      <el-button @click="cancel">鍙� 娑�</el-button>
-    </div>
-  </div>
-</template>
-
-<script>
-import { listArchive, getArchive, delArchive, addArchive, updateArchive } from "@/api/smartor/archive";
-
-export default {
-  name: "Archive",
-  dicts: ['sys_idtype', 'sys_yes_no', 'sys_user_sex', 'sys_job_group', 'sys_patientfrom'],
-  data() {
-    return {
-      // 琛ㄥ崟鍙傛暟
-      form: {}
-    };
-  },
-  created() {
-  },
-  methods: {
-    // 琛ㄥ崟閲嶇疆
-  }
-};
-</script>
diff --git a/ruoyi-ui/src/views/smartor/patouthosp/index.vue b/ruoyi-ui/src/views/smartor/patouthosp/index.vue
new file mode 100644
index 0000000..3b4a54c
--- /dev/null
+++ b/ruoyi-ui/src/views/smartor/patouthosp/index.vue
@@ -0,0 +1,394 @@
+<template>
+  <div class="app-container">
+    <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
+      <el-form-item label=" 鍖婚櫌鍚嶇О " prop="hospitalname">
+        <el-input
+          v-model="queryParams.hospitalname"
+          placeholder="璇疯緭鍏� 鍖婚櫌鍚嶇О "
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label=" 绉戝鍚嶇О " prop="deptname">
+        <el-input
+          v-model="queryParams.deptname"
+          placeholder="璇疯緭鍏� 绉戝鍚嶇О "
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label=" 鍖荤敓鍚嶇О " prop="drname">
+        <el-input
+          v-model="queryParams.drname"
+          placeholder="璇疯緭鍏� 鍖荤敓鍚嶇О "
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label=" 灏辫瘖鏃ユ湡 " prop="admitdate">
+        <el-date-picker clearable
+          v-model="queryParams.admitdate"
+          type="date"
+          value-format="yyyy-MM-dd"
+          placeholder="璇烽�夋嫨 灏辫瘖鏃ユ湡 ">
+        </el-date-picker>
+      </el-form-item>
+      <el-form-item label=" 鏈烘瀯ID " prop="orgid">
+        <el-input
+          v-model="queryParams.orgid"
+          placeholder="璇疯緭鍏� 鏈烘瀯ID "
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item>
+        <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">鎼滅储</el-button>
+        <el-button icon="el-icon-refresh" size="mini" @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="mini"
+          @click="handleAdd"
+          v-hasPermi="['smartor:patouthosp:add']"
+        >鏂板</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="success"
+          plain
+          icon="el-icon-edit"
+          size="mini"
+          :disabled="single"
+          @click="handleUpdate"
+          v-hasPermi="['smartor:patouthosp:edit']"
+        >淇敼</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="danger"
+          plain
+          icon="el-icon-delete"
+          size="mini"
+          :disabled="multiple"
+          @click="handleDelete"
+          v-hasPermi="['smartor:patouthosp:remove']"
+        >鍒犻櫎</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="warning"
+          plain
+          icon="el-icon-download"
+          size="mini"
+          @click="handleExport"
+          v-hasPermi="['smartor:patouthosp:export']"
+        >瀵煎嚭</el-button>
+      </el-col>
+      <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
+    </el-row>
+
+    <el-table v-loading="loading" :data="patouthospList" @selection-change="handleSelectionChange">
+      <el-table-column type="selection" width="55" align="center" />
+      <el-table-column label=" 鑷ID " align="center" prop="id" />
+      <el-table-column label=" 鍖婚櫌鍚嶇О " align="center" prop="hospitalname" />
+      <el-table-column label=" 璇婃柇鍚嶇О " align="center" prop="diagname" />
+      <el-table-column label=" 绉戝鍚嶇О " align="center" prop="deptname" />
+      <el-table-column label=" 鍖荤敓鍚嶇О " align="center" prop="drname" />
+      <el-table-column label=" 灏辫瘖鏃ユ湡 " align="center" prop="admitdate" width="180">
+        <template slot-scope="scope">
+          <span>{{ parseTime(scope.row.admitdate, '{y}-{m}-{d}') }}</span>
+        </template>
+      </el-table-column>
+      <el-table-column label=" 鏈烘瀯ID " align="center" prop="orgid" />
+      <el-table-column label=" 鏄惁鐢熸垚鏂规鐘舵��;0鏈敓鎴� 1鐢熸垚灏辫瘖 9鏃犲尮閰嶆柟妗� " align="center" prop="schemestatus" />
+      <el-table-column label=" 鏂规鐘舵�佹搷浣滄椂闂� " align="center" prop="schemetime" width="180">
+        <template slot-scope="scope">
+          <span>{{ parseTime(scope.row.schemetime, '{y}-{m}-{d}') }}</span>
+        </template>
+      </el-table-column>
+      <el-table-column label="鎿嶄綔" align="center" class-name="small-padding fixed-width">
+        <template slot-scope="scope">
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-edit"
+            @click="handleUpdate(scope.row)"
+            v-hasPermi="['smartor:patouthosp:edit']"
+          >淇敼</el-button>
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-delete"
+            @click="handleDelete(scope.row)"
+            v-hasPermi="['smartor:patouthosp:remove']"
+          >鍒犻櫎</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-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
+      <el-form ref="form" :model="form" :rules="rules" label-width="80px">
+        <el-form-item label=" 娴佹按鍙� " prop="serialnum">
+          <el-input v-model="form.serialnum" placeholder="璇疯緭鍏� 娴佹按鍙� " />
+        </el-form-item>
+        <el-form-item label=" 妗fID " prop="patid">
+          <el-input v-model="form.patid" placeholder="璇疯緭鍏� 妗fID " />
+        </el-form-item>
+        <el-form-item label=" 鍖婚櫌鍚嶇О " prop="hospitalname">
+          <el-input v-model="form.hospitalname" placeholder="璇疯緭鍏� 鍖婚櫌鍚嶇О " />
+        </el-form-item>
+        <el-form-item label=" 鍖婚櫌缂栧彿 " prop="hospitalcode">
+          <el-input v-model="form.hospitalcode" placeholder="璇疯緭鍏� 鍖婚櫌缂栧彿 " />
+        </el-form-item>
+        <el-form-item label=" 璇婃柇ICD鍊� " prop="icd10code">
+          <el-input v-model="form.icd10code" placeholder="璇疯緭鍏� 璇婃柇ICD鍊� " />
+        </el-form-item>
+        <el-form-item label=" 璇婃柇鍚嶇О " prop="diagname">
+          <el-input v-model="form.diagname" placeholder="璇疯緭鍏� 璇婃柇鍚嶇О " />
+        </el-form-item>
+        <el-form-item label=" 绉戝浠g爜 " prop="deptcode">
+          <el-input v-model="form.deptcode" placeholder="璇疯緭鍏� 绉戝浠g爜 " />
+        </el-form-item>
+        <el-form-item label=" 绉戝鍚嶇О " prop="deptname">
+          <el-input v-model="form.deptname" placeholder="璇疯緭鍏� 绉戝鍚嶇О " />
+        </el-form-item>
+        <el-form-item label=" 鍖荤敓宸ュ彿 " prop="drcode">
+          <el-input v-model="form.drcode" placeholder="璇疯緭鍏� 鍖荤敓宸ュ彿 " />
+        </el-form-item>
+        <el-form-item label=" 鍖荤敓鍚嶇О " prop="drname">
+          <el-input v-model="form.drname" placeholder="璇疯緭鍏� 鍖荤敓鍚嶇О " />
+        </el-form-item>
+        <el-form-item label=" 灏辫瘖鏃ユ湡 " prop="admitdate">
+          <el-date-picker clearable
+            v-model="form.admitdate"
+            type="date"
+            value-format="yyyy-MM-dd"
+            placeholder="璇烽�夋嫨 灏辫瘖鏃ユ湡 ">
+          </el-date-picker>
+        </el-form-item>
+        <el-form-item label=" 鏈烘瀯ID " prop="orgid">
+          <el-input v-model="form.orgid" placeholder="璇疯緭鍏� 鏈烘瀯ID " />
+        </el-form-item>
+        <el-form-item label=" 鍒犻櫎鏍囪 " prop="delFlag">
+          <el-input v-model="form.delFlag" placeholder="璇疯緭鍏� 鍒犻櫎鏍囪 " />
+        </el-form-item>
+        <el-form-item label=" 涓婁紶鏍囪 " prop="isupload">
+          <el-input v-model="form.isupload" placeholder="璇疯緭鍏� 涓婁紶鏍囪 " />
+        </el-form-item>
+        <el-form-item label=" 涓婁紶鏃堕棿 " prop="uploadTime">
+          <el-date-picker clearable
+            v-model="form.uploadTime"
+            type="date"
+            value-format="yyyy-MM-dd"
+            placeholder="璇烽�夋嫨 涓婁紶鏃堕棿 ">
+          </el-date-picker>
+        </el-form-item>
+        <el-form-item label=" 绉戝ID " prop="deptid">
+          <el-input v-model="form.deptid" placeholder="璇疯緭鍏� 绉戝ID " />
+        </el-form-item>
+        <el-form-item label=" 鏂规鐘舵�佹搷浣滄椂闂� " prop="schemetime">
+          <el-date-picker clearable
+            v-model="form.schemetime"
+            type="date"
+            value-format="yyyy-MM-dd"
+            placeholder="璇烽�夋嫨 鏂规鐘舵�佹搷浣滄椂闂� ">
+          </el-date-picker>
+        </el-form-item>
+        <el-form-item label=" 鐜扮梾鍙� " prop="hpi">
+          <el-input v-model="form.hpi" type="textarea" placeholder="璇疯緭鍏ュ唴瀹�" />
+        </el-form-item>
+        <el-form-item label=" 涓昏堪 " prop="mainsuit">
+          <el-input v-model="form.mainsuit" placeholder="璇疯緭鍏� 涓昏堪 " />
+        </el-form-item>
+      </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>
+</template>
+
+<script>
+import { listPatouthosp, getPatouthosp, delPatouthosp, addPatouthosp, updatePatouthosp } from "@/api/smartor/patouthosp";
+
+export default {
+  name: "Patouthosp",
+  data() {
+    return {
+      // 閬僵灞�
+      loading: true,
+      // 閫変腑鏁扮粍
+      ids: [],
+      // 闈炲崟涓鐢�
+      single: true,
+      // 闈炲涓鐢�
+      multiple: true,
+      // 鏄剧ず鎼滅储鏉′欢
+      showSearch: true,
+      // 鎬绘潯鏁�
+      total: 0,
+      // 鎮h�呴棬璇婅褰曡〃鏍兼暟鎹�
+      patouthospList: [],
+      // 寮瑰嚭灞傛爣棰�
+      title: "",
+      // 鏄惁鏄剧ず寮瑰嚭灞�
+      open: false,
+      // 鏌ヨ鍙傛暟
+      queryParams: {
+        pageNum: 1,
+        pageSize: 10,
+        hospitalname: null,
+        deptname: null,
+        drname: null,
+        admitdate: null,
+        orgid: null,
+      },
+      // 琛ㄥ崟鍙傛暟
+      form: {},
+      // 琛ㄥ崟鏍¢獙
+      rules: {
+        delFlag: [
+          { required: true, message: " 鍒犻櫎鏍囪 涓嶈兘涓虹┖", trigger: "blur" }
+        ],
+        isupload: [
+          { required: true, message: " 涓婁紶鏍囪 涓嶈兘涓虹┖", trigger: "blur" }
+        ],
+      }
+    };
+  },
+  created() {
+    this.getList();
+  },
+  methods: {
+    /** 鏌ヨ鎮h�呴棬璇婅褰曞垪琛� */
+    getList() {
+      this.loading = true;
+      listPatouthosp(this.queryParams).then(response => {
+        this.patouthospList = response.rows;
+        this.total = response.total;
+        this.loading = false;
+      });
+    },
+    // 鍙栨秷鎸夐挳
+    cancel() {
+      this.open = false;
+      this.reset();
+    },
+    // 琛ㄥ崟閲嶇疆
+    reset() {
+      this.form = {
+        id: null,
+        serialnum: null,
+        patid: null,
+        hospitalname: null,
+        hospitalcode: null,
+        icd10code: null,
+        diagname: null,
+        deptcode: null,
+        deptname: null,
+        drcode: null,
+        drname: null,
+        admitdate: null,
+        orgid: null,
+        delFlag: null,
+        updateBy: null,
+        updateTime: null,
+        createBy: null,
+        createTime: null,
+        isupload: null,
+        uploadTime: null,
+        schemestatus: null,
+        deptid: null,
+        schemetime: null,
+        hpi: null,
+        mainsuit: null
+      };
+      this.resetForm("form");
+    },
+    /** 鎼滅储鎸夐挳鎿嶄綔 */
+    handleQuery() {
+      this.queryParams.pageNum = 1;
+      this.getList();
+    },
+    /** 閲嶇疆鎸夐挳鎿嶄綔 */
+    resetQuery() {
+      this.resetForm("queryForm");
+      this.handleQuery();
+    },
+    // 澶氶�夋閫変腑鏁版嵁
+    handleSelectionChange(selection) {
+      this.ids = selection.map(item => item.id)
+      this.single = selection.length!==1
+      this.multiple = !selection.length
+    },
+    /** 鏂板鎸夐挳鎿嶄綔 */
+    handleAdd() {
+      this.reset();
+      this.open = true;
+      this.title = "娣诲姞鎮h�呴棬璇婅褰�";
+    },
+    /** 淇敼鎸夐挳鎿嶄綔 */
+    handleUpdate(row) {
+      this.reset();
+      const id = row.id || this.ids
+      getPatouthosp(id).then(response => {
+        this.form = response.data;
+        this.open = true;
+        this.title = "淇敼鎮h�呴棬璇婅褰�";
+      });
+    },
+    /** 鎻愪氦鎸夐挳 */
+    submitForm() {
+      this.$refs["form"].validate(valid => {
+        if (valid) {
+          if (this.form.id != null) {
+            updatePatouthosp(this.form).then(response => {
+              this.$modal.msgSuccess("淇敼鎴愬姛");
+              this.open = false;
+              this.getList();
+            });
+          } else {
+            addPatouthosp(this.form).then(response => {
+              this.$modal.msgSuccess("鏂板鎴愬姛");
+              this.open = false;
+              this.getList();
+            });
+          }
+        }
+      });
+    },
+    /** 鍒犻櫎鎸夐挳鎿嶄綔 */
+    handleDelete(row) {
+      const ids = row.id || this.ids;
+      this.$modal.confirm('鏄惁纭鍒犻櫎鎮h�呴棬璇婅褰曠紪鍙蜂负"' + ids + '"鐨勬暟鎹」锛�').then(function() {
+        return delPatouthosp(ids);
+      }).then(() => {
+        this.getList();
+        this.$modal.msgSuccess("鍒犻櫎鎴愬姛");
+      }).catch(() => {});
+    },
+    /** 瀵煎嚭鎸夐挳鎿嶄綔 */
+    handleExport() {
+      this.download('smartor/patouthosp/export', {
+        ...this.queryParams
+      }, `patouthosp_${new Date().getTime()}.xlsx`)
+    }
+  }
+};
+</script>
diff --git a/ruoyi-ui/src/views/smartor/patphysical/index.vue b/ruoyi-ui/src/views/smartor/patphysical/index.vue
new file mode 100644
index 0000000..e0c8344
--- /dev/null
+++ b/ruoyi-ui/src/views/smartor/patphysical/index.vue
@@ -0,0 +1,390 @@
+<template>
+  <div class="app-container">
+    <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
+      <el-form-item label=" 浣撴鍗曚綅/鍖婚櫌 " prop="hospitalname">
+        <el-input
+          v-model="queryParams.hospitalname"
+          placeholder="璇疯緭鍏� 浣撴鍗曚綅/鍖婚櫌 "
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label=" 浣撴鏃堕棿 " prop="physicaldate">
+        <el-date-picker clearable
+          v-model="queryParams.physicaldate"
+          type="date"
+          value-format="yyyy-MM-dd"
+          placeholder="璇烽�夋嫨 浣撴鏃堕棿 ">
+        </el-date-picker>
+      </el-form-item>
+      <el-form-item label=" 鏈烘瀯ID " prop="orgid">
+        <el-input
+          v-model="queryParams.orgid"
+          placeholder="璇疯緭鍏� 鏈烘瀯ID "
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label=" 绉戝鍚嶇О " prop="deptname">
+        <el-input
+          v-model="queryParams.deptname"
+          placeholder="璇疯緭鍏� 绉戝鍚嶇О "
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label=" 浣撴椤圭洰鍚嶇О " prop="projectname">
+        <el-input
+          v-model="queryParams.projectname"
+          placeholder="璇疯緭鍏� 浣撴椤圭洰鍚嶇О "
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item>
+        <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">鎼滅储</el-button>
+        <el-button icon="el-icon-refresh" size="mini" @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="mini"
+          @click="handleAdd"
+          v-hasPermi="['smartor:patphysical:add']"
+        >鏂板</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="success"
+          plain
+          icon="el-icon-edit"
+          size="mini"
+          :disabled="single"
+          @click="handleUpdate"
+          v-hasPermi="['smartor:patphysical:edit']"
+        >淇敼</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="danger"
+          plain
+          icon="el-icon-delete"
+          size="mini"
+          :disabled="multiple"
+          @click="handleDelete"
+          v-hasPermi="['smartor:patphysical:remove']"
+        >鍒犻櫎</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="warning"
+          plain
+          icon="el-icon-download"
+          size="mini"
+          @click="handleExport"
+          v-hasPermi="['smartor:patphysical:export']"
+        >瀵煎嚭</el-button>
+      </el-col>
+      <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
+    </el-row>
+
+    <el-table v-loading="loading" :data="patphysicalList" @selection-change="handleSelectionChange">
+      <el-table-column type="selection" width="55" align="center" />
+      <el-table-column label=" 鑷ID " align="center" prop="id" />
+      <el-table-column label=" 娴佹按鍙� " align="center" prop="serialnum" />
+      <el-table-column label=" 鎬荤粨鍖荤敓鍚嶇О " align="center" prop="drname" />
+      <el-table-column label=" 浣撴鍗曚綅/鍖婚櫌 " align="center" prop="hospitalname" />
+      <el-table-column label=" 浣撴鏃堕棿 " align="center" prop="physicaldate" width="180">
+        <template slot-scope="scope">
+          <span>{{ parseTime(scope.row.physicaldate, '{y}-{m}-{d}') }}</span>
+        </template>
+      </el-table-column>
+      <el-table-column label=" 鏈烘瀯ID " align="center" prop="orgid" />
+      <el-table-column label=" 绉戝鍚嶇О " align="center" prop="deptname" />
+      <el-table-column label=" 浣撴椤圭洰鍚嶇О " align="center" prop="projectname" />
+      <el-table-column label="鎿嶄綔" align="center" class-name="small-padding fixed-width">
+        <template slot-scope="scope">
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-edit"
+            @click="handleUpdate(scope.row)"
+            v-hasPermi="['smartor:patphysical:edit']"
+          >淇敼</el-button>
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-delete"
+            @click="handleDelete(scope.row)"
+            v-hasPermi="['smartor:patphysical:remove']"
+          >鍒犻櫎</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-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
+      <el-form ref="form" :model="form" :rules="rules" label-width="80px">
+        <el-form-item label=" 娴佹按鍙� " prop="serialnum">
+          <el-input v-model="form.serialnum" placeholder="璇疯緭鍏� 娴佹按鍙� " />
+        </el-form-item>
+        <el-form-item label=" 妗fID " prop="patid">
+          <el-input v-model="form.patid" placeholder="璇疯緭鍏� 妗fID " />
+        </el-form-item>
+        <el-form-item label=" 鎬荤粨鍖荤敓宸ュ彿 " prop="drcode">
+          <el-input v-model="form.drcode" placeholder="璇疯緭鍏� 鎬荤粨鍖荤敓宸ュ彿 " />
+        </el-form-item>
+        <el-form-item label=" 鎬荤粨鍖荤敓鍚嶇О " prop="drname">
+          <el-input v-model="form.drname" placeholder="璇疯緭鍏� 鎬荤粨鍖荤敓鍚嶇О " />
+        </el-form-item>
+        <el-form-item label=" 浣撴鍗曚綅/鍖婚櫌缂栧彿 " prop="hospitalcode">
+          <el-input v-model="form.hospitalcode" placeholder="璇疯緭鍏� 浣撴鍗曚綅/鍖婚櫌缂栧彿 " />
+        </el-form-item>
+        <el-form-item label=" 浣撴鍗曚綅/鍖婚櫌 " prop="hospitalname">
+          <el-input v-model="form.hospitalname" placeholder="璇疯緭鍏� 浣撴鍗曚綅/鍖婚櫌 " />
+        </el-form-item>
+        <el-form-item label=" 浣撴鏃堕棿 " prop="physicaldate">
+          <el-date-picker clearable
+            v-model="form.physicaldate"
+            type="date"
+            value-format="yyyy-MM-dd"
+            placeholder="璇烽�夋嫨 浣撴鏃堕棿 ">
+          </el-date-picker>
+        </el-form-item>
+        <el-form-item label=" 鏈烘瀯ID " prop="orgid">
+          <el-input v-model="form.orgid" placeholder="璇疯緭鍏� 鏈烘瀯ID " />
+        </el-form-item>
+        <el-form-item label=" 鍒犻櫎鏍囪 " prop="delFlag">
+          <el-input v-model="form.delFlag" placeholder="璇疯緭鍏� 鍒犻櫎鏍囪 " />
+        </el-form-item>
+        <el-form-item label=" 涓婁紶鏍囪 " prop="isupload">
+          <el-input v-model="form.isupload" placeholder="璇疯緭鍏� 涓婁紶鏍囪 " />
+        </el-form-item>
+        <el-form-item label=" 涓婁紶鏃堕棿 " prop="uploadTime">
+          <el-date-picker clearable
+            v-model="form.uploadTime"
+            type="date"
+            value-format="yyyy-MM-dd"
+            placeholder="璇烽�夋嫨 涓婁紶鏃堕棿 ">
+          </el-date-picker>
+        </el-form-item>
+        <el-form-item label=" 绉戝浠g爜 " prop="deptcode">
+          <el-input v-model="form.deptcode" placeholder="璇疯緭鍏� 绉戝浠g爜 " />
+        </el-form-item>
+        <el-form-item label=" 绉戝鍚嶇О " prop="deptname">
+          <el-input v-model="form.deptname" placeholder="璇疯緭鍏� 绉戝鍚嶇О " />
+        </el-form-item>
+        <el-form-item label=" 浣撴椤圭洰鍚嶇О " prop="projectname">
+          <el-input v-model="form.projectname" placeholder="璇疯緭鍏� 浣撴椤圭洰鍚嶇О " />
+        </el-form-item>
+        <el-form-item label=" 浣撴椤圭洰缂栫爜 " prop="projectcode">
+          <el-input v-model="form.projectcode" placeholder="璇疯緭鍏� 浣撴椤圭洰缂栫爜 " />
+        </el-form-item>
+        <el-form-item label=" 鐘舵��;0.宸查绾� 1.宸蹭綋妫� 2.鎶ュ憡宸插嚭 " prop="state">
+          <el-input v-model="form.state" placeholder="璇疯緭鍏� 鐘舵��;0.宸查绾� 1.宸蹭綋妫� 2.鎶ュ憡宸插嚭 " />
+        </el-form-item>
+        <el-form-item label=" 绉戝ID " prop="deptid">
+          <el-input v-model="form.deptid" placeholder="璇疯緭鍏� 绉戝ID " />
+        </el-form-item>
+        <el-form-item label=" 浣撴濂楅ID " prop="projectid">
+          <el-input v-model="form.projectid" placeholder="璇疯緭鍏� 浣撴濂楅ID " />
+        </el-form-item>
+        <el-form-item label=" 鏂规鐘舵�佹搷浣滄椂闂� " prop="schemetime">
+          <el-date-picker clearable
+            v-model="form.schemetime"
+            type="date"
+            value-format="yyyy-MM-dd"
+            placeholder="璇烽�夋嫨 鏂规鐘舵�佹搷浣滄椂闂� ">
+          </el-date-picker>
+        </el-form-item>
+      </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>
+</template>
+
+<script>
+import { listPatphysical, getPatphysical, delPatphysical, addPatphysical, updatePatphysical } from "@/api/smartor/patphysical";
+
+export default {
+  name: "Patphysical",
+  data() {
+    return {
+      // 閬僵灞�
+      loading: true,
+      // 閫変腑鏁扮粍
+      ids: [],
+      // 闈炲崟涓鐢�
+      single: true,
+      // 闈炲涓鐢�
+      multiple: true,
+      // 鏄剧ず鎼滅储鏉′欢
+      showSearch: true,
+      // 鎬绘潯鏁�
+      total: 0,
+      // 鎮h�呬綋妫�璁板綍琛ㄦ牸鏁版嵁
+      patphysicalList: [],
+      // 寮瑰嚭灞傛爣棰�
+      title: "",
+      // 鏄惁鏄剧ず寮瑰嚭灞�
+      open: false,
+      // 鏌ヨ鍙傛暟
+      queryParams: {
+        pageNum: 1,
+        pageSize: 10,
+        hospitalname: null,
+        physicaldate: null,
+        orgid: null,
+        deptname: null,
+        projectname: null,
+      },
+      // 琛ㄥ崟鍙傛暟
+      form: {},
+      // 琛ㄥ崟鏍¢獙
+      rules: {
+        delFlag: [
+          { required: true, message: " 鍒犻櫎鏍囪 涓嶈兘涓虹┖", trigger: "blur" }
+        ],
+        isupload: [
+          { required: true, message: " 涓婁紶鏍囪 涓嶈兘涓虹┖", trigger: "blur" }
+        ],
+      }
+    };
+  },
+  created() {
+    this.getList();
+  },
+  methods: {
+    /** 鏌ヨ鎮h�呬綋妫�璁板綍鍒楄〃 */
+    getList() {
+      this.loading = true;
+      listPatphysical(this.queryParams).then(response => {
+        this.patphysicalList = response.rows;
+        this.total = response.total;
+        this.loading = false;
+      });
+    },
+    // 鍙栨秷鎸夐挳
+    cancel() {
+      this.open = false;
+      this.reset();
+    },
+    // 琛ㄥ崟閲嶇疆
+    reset() {
+      this.form = {
+        id: null,
+        serialnum: null,
+        patid: null,
+        drcode: null,
+        drname: null,
+        hospitalcode: null,
+        hospitalname: null,
+        physicaldate: null,
+        orgid: null,
+        delFlag: null,
+        updateBy: null,
+        updateTime: null,
+        createBy: null,
+        createTime: null,
+        isupload: null,
+        uploadTime: null,
+        deptcode: null,
+        deptname: null,
+        projectname: null,
+        projectcode: null,
+        state: null,
+        schemestatus: null,
+        generalschemestatus: null,
+        deptid: null,
+        projectid: null,
+        schemetime: null
+      };
+      this.resetForm("form");
+    },
+    /** 鎼滅储鎸夐挳鎿嶄綔 */
+    handleQuery() {
+      this.queryParams.pageNum = 1;
+      this.getList();
+    },
+    /** 閲嶇疆鎸夐挳鎿嶄綔 */
+    resetQuery() {
+      this.resetForm("queryForm");
+      this.handleQuery();
+    },
+    // 澶氶�夋閫変腑鏁版嵁
+    handleSelectionChange(selection) {
+      this.ids = selection.map(item => item.id)
+      this.single = selection.length!==1
+      this.multiple = !selection.length
+    },
+    /** 鏂板鎸夐挳鎿嶄綔 */
+    handleAdd() {
+      this.reset();
+      this.open = true;
+      this.title = "娣诲姞鎮h�呬綋妫�璁板綍";
+    },
+    /** 淇敼鎸夐挳鎿嶄綔 */
+    handleUpdate(row) {
+      this.reset();
+      const id = row.id || this.ids
+      getPatphysical(id).then(response => {
+        this.form = response.data;
+        this.open = true;
+        this.title = "淇敼鎮h�呬綋妫�璁板綍";
+      });
+    },
+    /** 鎻愪氦鎸夐挳 */
+    submitForm() {
+      this.$refs["form"].validate(valid => {
+        if (valid) {
+          if (this.form.id != null) {
+            updatePatphysical(this.form).then(response => {
+              this.$modal.msgSuccess("淇敼鎴愬姛");
+              this.open = false;
+              this.getList();
+            });
+          } else {
+            addPatphysical(this.form).then(response => {
+              this.$modal.msgSuccess("鏂板鎴愬姛");
+              this.open = false;
+              this.getList();
+            });
+          }
+        }
+      });
+    },
+    /** 鍒犻櫎鎸夐挳鎿嶄綔 */
+    handleDelete(row) {
+      const ids = row.id || this.ids;
+      this.$modal.confirm('鏄惁纭鍒犻櫎鎮h�呬綋妫�璁板綍缂栧彿涓�"' + ids + '"鐨勬暟鎹」锛�').then(function() {
+        return delPatphysical(ids);
+      }).then(() => {
+        this.getList();
+        this.$modal.msgSuccess("鍒犻櫎鎴愬姛");
+      }).catch(() => {});
+    },
+    /** 瀵煎嚭鎸夐挳鎿嶄綔 */
+    handleExport() {
+      this.download('smartor/patphysical/export', {
+        ...this.queryParams
+      }, `patphysical_${new Date().getTime()}.xlsx`)
+    }
+  }
+};
+</script>
diff --git a/ruoyi-ui/src/views/smartor/schemeautofinshrule/index.vue b/ruoyi-ui/src/views/smartor/schemeautofinshrule/index.vue
new file mode 100644
index 0000000..c5a5245
--- /dev/null
+++ b/ruoyi-ui/src/views/smartor/schemeautofinshrule/index.vue
@@ -0,0 +1,318 @@
+<template>
+  <div class="app-container">
+    <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
+      <el-form-item label=" 鏂规ID " prop="schemeid">
+        <el-input
+          v-model="queryParams.schemeid"
+          placeholder="璇疯緭鍏� 鏂规ID "
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label=" 瑙勫垯鐩稿叧鍊�;Type 涓�2鏃� 1.鍦ㄩ櫌 2.绂婚櫌 3.姝讳骸 Type涓�3鏃跺搴旀柟妗圛D 澶氶�夐�楀彿闅斿紑 " prop="rulevalue">
+        <el-input
+          v-model="queryParams.rulevalue"
+          placeholder="璇疯緭鍏� 瑙勫垯鐩稿叧鍊�;Type 涓�2鏃� 1.鍦ㄩ櫌 2.绂婚櫌 3.姝讳骸 Type涓�3鏃跺搴旀柟妗圛D 澶氶�夐�楀彿闅斿紑 "
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label=" 鏈烘瀯ID " prop="orgid">
+        <el-input
+          v-model="queryParams.orgid"
+          placeholder="璇疯緭鍏� 鏈烘瀯ID "
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item>
+        <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">鎼滅储</el-button>
+        <el-button icon="el-icon-refresh" size="mini" @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="mini"
+          @click="handleAdd"
+          v-hasPermi="['smartor:schemeautofinshrule:add']"
+        >鏂板</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="success"
+          plain
+          icon="el-icon-edit"
+          size="mini"
+          :disabled="single"
+          @click="handleUpdate"
+          v-hasPermi="['smartor:schemeautofinshrule:edit']"
+        >淇敼</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="danger"
+          plain
+          icon="el-icon-delete"
+          size="mini"
+          :disabled="multiple"
+          @click="handleDelete"
+          v-hasPermi="['smartor:schemeautofinshrule:remove']"
+        >鍒犻櫎</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="warning"
+          plain
+          icon="el-icon-download"
+          size="mini"
+          @click="handleExport"
+          v-hasPermi="['smartor:schemeautofinshrule:export']"
+        >瀵煎嚭</el-button>
+      </el-col>
+      <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
+    </el-row>
+
+    <el-table v-loading="loading" :data="schemeautofinshruleList" @selection-change="handleSelectionChange">
+      <el-table-column type="selection" width="55" align="center" />
+      <el-table-column label=" 鑷ID " align="center" prop="id" />
+      <el-table-column label=" 鏂规ID " align="center" prop="schemeid" />
+      <el-table-column label=" 瑙勫垯绫诲瀷;1.鎵�鏈変换鍔″畬鎴愯嚜鍔ㄧ粨妗� 2.鎮h�呯姸鎬� 3.浜掓枼绠$悊鏂规 " align="center" prop="ruletype" />
+      <el-table-column label=" 瑙勫垯鐩稿叧鍊�;Type 涓�2鏃� 1.鍦ㄩ櫌 2.绂婚櫌 3.姝讳骸 Type涓�3鏃跺搴旀柟妗圛D 澶氶�夐�楀彿闅斿紑 " align="center" prop="rulevalue" />
+      <el-table-column label=" 鏈烘瀯ID " align="center" prop="orgid" />
+      <el-table-column label="鎿嶄綔" align="center" class-name="small-padding fixed-width">
+        <template slot-scope="scope">
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-edit"
+            @click="handleUpdate(scope.row)"
+            v-hasPermi="['smartor:schemeautofinshrule:edit']"
+          >淇敼</el-button>
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-delete"
+            @click="handleDelete(scope.row)"
+            v-hasPermi="['smartor:schemeautofinshrule:remove']"
+          >鍒犻櫎</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-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
+      <el-form ref="form" :model="form" :rules="rules" label-width="80px">
+        <el-form-item label=" 鏂规ID " prop="schemeid">
+          <el-input v-model="form.schemeid" placeholder="璇疯緭鍏� 鏂规ID " />
+        </el-form-item>
+        <el-form-item label=" 瑙勫垯鐩稿叧鍊�;Type 涓�2鏃� 1.鍦ㄩ櫌 2.绂婚櫌 3.姝讳骸 Type涓�3鏃跺搴旀柟妗圛D 澶氶�夐�楀彿闅斿紑 " prop="rulevalue">
+          <el-input v-model="form.rulevalue" placeholder="璇疯緭鍏� 瑙勫垯鐩稿叧鍊�;Type 涓�2鏃� 1.鍦ㄩ櫌 2.绂婚櫌 3.姝讳骸 Type涓�3鏃跺搴旀柟妗圛D 澶氶�夐�楀彿闅斿紑 " />
+        </el-form-item>
+        <el-form-item label=" 鏈烘瀯ID " prop="orgid">
+          <el-input v-model="form.orgid" placeholder="璇疯緭鍏� 鏈烘瀯ID " />
+        </el-form-item>
+        <el-form-item label=" 鍒犻櫎鏍囪 " prop="delFlag">
+          <el-select v-model="form.delFlag" placeholder="璇烽�夋嫨 鍒犻櫎鏍囪 ">
+            <el-option
+              v-for="dict in dict.type.sys_yes_no"
+              :key="dict.value"
+              :label="dict.label"
+              :value="dict.value"
+            ></el-option>
+          </el-select>
+        </el-form-item>
+        <el-form-item label=" 涓婁紶鏍囪 " prop="isupload">
+          <el-select v-model="form.isupload" placeholder="璇烽�夋嫨 涓婁紶鏍囪 ">
+            <el-option
+              v-for="dict in dict.type.sys_common_status"
+              :key="dict.value"
+              :label="dict.label"
+              :value="parseInt(dict.value)"
+            ></el-option>
+          </el-select>
+        </el-form-item>
+        <el-form-item label=" 涓婁紶鏃堕棿 " prop="uploadTime">
+          <el-date-picker clearable
+            v-model="form.uploadTime"
+            type="date"
+            value-format="yyyy-MM-dd"
+            placeholder="璇烽�夋嫨 涓婁紶鏃堕棿 ">
+          </el-date-picker>
+        </el-form-item>
+      </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>
+</template>
+
+<script>
+import { listSchemeautofinshrule, getSchemeautofinshrule, delSchemeautofinshrule, addSchemeautofinshrule, updateSchemeautofinshrule } from "@/api/smartor/schemeautofinshrule";
+
+export default {
+  name: "Schemeautofinshrule",
+  dicts: ['sys_common_status', 'sys_yes_no'],
+  data() {
+    return {
+      // 閬僵灞�
+      loading: true,
+      // 閫変腑鏁扮粍
+      ids: [],
+      // 闈炲崟涓鐢�
+      single: true,
+      // 闈炲涓鐢�
+      multiple: true,
+      // 鏄剧ず鎼滅储鏉′欢
+      showSearch: true,
+      // 鎬绘潯鏁�
+      total: 0,
+      // 鏂规缁撴瑙勫垯琛ㄦ牸鏁版嵁
+      schemeautofinshruleList: [],
+      // 寮瑰嚭灞傛爣棰�
+      title: "",
+      // 鏄惁鏄剧ず寮瑰嚭灞�
+      open: false,
+      // 鏌ヨ鍙傛暟
+      queryParams: {
+        pageNum: 1,
+        pageSize: 10,
+        schemeid: null,
+        ruletype: null,
+        rulevalue: null,
+        orgid: null,
+      },
+      // 琛ㄥ崟鍙傛暟
+      form: {},
+      // 琛ㄥ崟鏍¢獙
+      rules: {
+        delFlag: [
+          { required: true, message: " 鍒犻櫎鏍囪 涓嶈兘涓虹┖", trigger: "change" }
+        ],
+        isupload: [
+          { required: true, message: " 涓婁紶鏍囪 涓嶈兘涓虹┖", trigger: "change" }
+        ],
+      }
+    };
+  },
+  created() {
+    this.getList();
+  },
+  methods: {
+    /** 鏌ヨ鏂规缁撴瑙勫垯鍒楄〃 */
+    getList() {
+      this.loading = true;
+      listSchemeautofinshrule(this.queryParams).then(response => {
+        this.schemeautofinshruleList = response.rows;
+        this.total = response.total;
+        this.loading = false;
+      });
+    },
+    // 鍙栨秷鎸夐挳
+    cancel() {
+      this.open = false;
+      this.reset();
+    },
+    // 琛ㄥ崟閲嶇疆
+    reset() {
+      this.form = {
+        id: null,
+        schemeid: null,
+        ruletype: null,
+        rulevalue: null,
+        orgid: null,
+        delFlag: null,
+        createBy: null,
+        createTime: null,
+        updateBy: null,
+        updateTime: null,
+        isupload: null,
+        uploadTime: null
+      };
+      this.resetForm("form");
+    },
+    /** 鎼滅储鎸夐挳鎿嶄綔 */
+    handleQuery() {
+      this.queryParams.pageNum = 1;
+      this.getList();
+    },
+    /** 閲嶇疆鎸夐挳鎿嶄綔 */
+    resetQuery() {
+      this.resetForm("queryForm");
+      this.handleQuery();
+    },
+    // 澶氶�夋閫変腑鏁版嵁
+    handleSelectionChange(selection) {
+      this.ids = selection.map(item => item.id)
+      this.single = selection.length!==1
+      this.multiple = !selection.length
+    },
+    /** 鏂板鎸夐挳鎿嶄綔 */
+    handleAdd() {
+      this.reset();
+      this.open = true;
+      this.title = "娣诲姞鏂规缁撴瑙勫垯";
+    },
+    /** 淇敼鎸夐挳鎿嶄綔 */
+    handleUpdate(row) {
+      this.reset();
+      const id = row.id || this.ids
+      getSchemeautofinshrule(id).then(response => {
+        this.form = response.data;
+        this.open = true;
+        this.title = "淇敼鏂规缁撴瑙勫垯";
+      });
+    },
+    /** 鎻愪氦鎸夐挳 */
+    submitForm() {
+      this.$refs["form"].validate(valid => {
+        if (valid) {
+          if (this.form.id != null) {
+            updateSchemeautofinshrule(this.form).then(response => {
+              this.$modal.msgSuccess("淇敼鎴愬姛");
+              this.open = false;
+              this.getList();
+            });
+          } else {
+            addSchemeautofinshrule(this.form).then(response => {
+              this.$modal.msgSuccess("鏂板鎴愬姛");
+              this.open = false;
+              this.getList();
+            });
+          }
+        }
+      });
+    },
+    /** 鍒犻櫎鎸夐挳鎿嶄綔 */
+    handleDelete(row) {
+      const ids = row.id || this.ids;
+      this.$modal.confirm('鏄惁纭鍒犻櫎鏂规缁撴瑙勫垯缂栧彿涓�"' + ids + '"鐨勬暟鎹」锛�').then(function() {
+        return delSchemeautofinshrule(ids);
+      }).then(() => {
+        this.getList();
+        this.$modal.msgSuccess("鍒犻櫎鎴愬姛");
+      }).catch(() => {});
+    },
+    /** 瀵煎嚭鎸夐挳鎿嶄綔 */
+    handleExport() {
+      this.download('smartor/schemeautofinshrule/export', {
+        ...this.queryParams
+      }, `schemeautofinshrule_${new Date().getTime()}.xlsx`)
+    }
+  }
+};
+</script>
diff --git a/ruoyi-ui/src/views/smartor/schemecalldetail/index.vue b/ruoyi-ui/src/views/smartor/schemecalldetail/index.vue
new file mode 100644
index 0000000..a278fb7
--- /dev/null
+++ b/ruoyi-ui/src/views/smartor/schemecalldetail/index.vue
@@ -0,0 +1,664 @@
+<template>
+  <div class="app-container">
+    <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
+      <el-form-item label=" 閫氳瘽鏍囪瘑 " prop="uuid">
+        <el-input
+          v-model="queryParams.uuid"
+          placeholder="璇疯緭鍏� 閫氳瘽鏍囪瘑 "
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label=" 鐩爣鍙风爜 " prop="phone">
+        <el-input
+          v-model="queryParams.phone"
+          placeholder="璇疯緭鍏� 鐩爣鍙风爜 "
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label=" 褰撳墠鍥炶皟鐨勮姹傜被鍨� " prop="operate">
+        <el-input
+          v-model="queryParams.operate"
+          placeholder="璇疯緭鍏� 褰撳墠鍥炶皟鐨勮姹傜被鍨� "
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label=" 鍛煎彨澶栫嚎鏃朵娇鐢ㄧ殑澶栨樉鍙风爜 " prop="displayno">
+        <el-input
+          v-model="queryParams.displayno"
+          placeholder="璇疯緭鍏� 鍛煎彨澶栫嚎鏃朵娇鐢ㄧ殑澶栨樉鍙风爜 "
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label=" 鏄惁涓哄懠鍏ラ�氳瘽 " prop="inbound">
+        <el-input
+          v-model="queryParams.inbound"
+          placeholder="璇疯緭鍏� 鏄惁涓哄懠鍏ラ�氳瘽 "
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label=" 鏄惁涓哄懠鍏ヨ姹傛搷浣�(鍛煎叆鐨刬nbound鍧囦负true锛岄娆¤姹傛椂incoming涓簍rue) 濡傛灉涓嶅簲绛旓紝鍒欎細鎸傛柇褰撳墠鍛煎叆锛� " prop="incoming">
+        <el-input
+          v-model="queryParams.incoming"
+          placeholder="璇疯緭鍏� 鏄惁涓哄懠鍏ヨ姹傛搷浣�(鍛煎叆鐨刬nbound鍧囦负true锛岄娆¤姹傛椂incoming涓簍rue) 濡傛灉涓嶅簲绛旓紝鍒欎細鎸傛柇褰撳墠鍛煎叆锛� "
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label=" 鍒嗛厤鏃堕棿 " prop="assigntime">
+        <el-input
+          v-model="queryParams.assigntime"
+          placeholder="璇疯緭鍏� 鍒嗛厤鏃堕棿 "
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label=" 寮�濮嬫椂闂达紝濡傛灉鍛煎叆鐨勫垯涓哄懠鍏ュ紑濮嬫椂闂� " prop="starttime">
+        <el-input
+          v-model="queryParams.starttime"
+          placeholder="璇疯緭鍏� 寮�濮嬫椂闂达紝濡傛灉鍛煎叆鐨勫垯涓哄懠鍏ュ紑濮嬫椂闂� "
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label=" 搴旂瓟鏃堕棿 " prop="answertime">
+        <el-input
+          v-model="queryParams.answertime"
+          placeholder="璇疯緭鍏� 搴旂瓟鏃堕棿 "
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label=" 鏍囪瘑褰撳墠鏄惁涓洪潤榛樺洖璋� " prop="silent">
+        <el-input
+          v-model="queryParams.silent"
+          placeholder="璇疯緭鍏� 鏍囪瘑褰撳墠鏄惁涓洪潤榛樺洖璋� "
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label=" 鏀跺埌鐨勬寜閿唴瀹� " prop="dtmfKey">
+        <el-input
+          v-model="queryParams.dtmfKey"
+          placeholder="璇疯緭鍏� 鏀跺埌鐨勬寜閿唴瀹� "
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label=" 闊充箰鎾斁鎴栧仠姝㈡椂鐩稿叧闊充箰鍚嶇О " prop="musicpath">
+        <el-input
+          v-model="queryParams.musicpath"
+          placeholder="璇疯緭鍏� 闊充箰鎾斁鎴栧仠姝㈡椂鐩稿叧闊充箰鍚嶇О "
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label=" 褰撳墠鍙ュ瓙鐨勭储寮曞彿 " prop="sentindex">
+        <el-input
+          v-model="queryParams.sentindex"
+          placeholder="璇疯緭鍏� 褰撳墠鍙ュ瓙鐨勭储寮曞彿 "
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label=" 褰撳墠鏄惁涓鸿璇濆紑濮� " prop="sentbegin">
+        <el-input
+          v-model="queryParams.sentbegin"
+          placeholder="璇疯緭鍏� 褰撳墠鏄惁涓鸿璇濆紑濮� "
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label=" 褰撳墠asr鏂囨湰 閫氳瘽寮�濮嬫椂闂寸偣锛屾绉掓暟 " prop="begintime">
+        <el-input
+          v-model="queryParams.begintime"
+          placeholder="璇疯緭鍏� 褰撳墠asr鏂囨湰 閫氳瘽寮�濮嬫椂闂寸偣锛屾绉掓暟 "
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label=" 褰撳墠asr鏂囨湰 鎵�澶� 缁撴潫鏃堕棿鐐癸紝姣鏁帮紝褰撳墠鏂囨湰涓嶆槸鍙ュ瓙缁撴潫鏃讹紝鍒欎负-1 " prop="endtime">
+        <el-input
+          v-model="queryParams.endtime"
+          placeholder="璇疯緭鍏� 褰撳墠asr鏂囨湰 鎵�澶� 缁撴潫鏃堕棿鐐癸紝姣鏁帮紝褰撳墠鏂囨湰涓嶆槸鍙ュ瓙缁撴潫鏃讹紝鍒欎负-1 "
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label=" 鏍囪瘑褰撳墠鏄惁涓哄彞瀛愮粨鏉� " prop="sentend">
+        <el-input
+          v-model="queryParams.sentend"
+          placeholder="璇疯緭鍏� 鏍囪瘑褰撳墠鏄惁涓哄彞瀛愮粨鏉� "
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label=" 褰撳墠鍙ュ瓙鐨勫綍闊虫枃浠惰矾寰勶紝鍙ュ瓙鏈粨鏉熸椂涓虹┖銆� " prop="recordpath">
+        <el-input
+          v-model="queryParams.recordpath"
+          placeholder="璇疯緭鍏� 褰撳墠鍙ュ瓙鐨勫綍闊虫枃浠惰矾寰勶紝鍙ュ瓙鏈粨鏉熸椂涓虹┖銆� "
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label=" 褰撳墠鍙ュ瓙褰曢煶url璺緞銆� " prop="recordurl">
+        <el-input
+          v-model="queryParams.recordurl"
+          placeholder="璇疯緭鍏� 褰撳墠鍙ュ瓙褰曢煶url璺緞銆� "
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label=" 鍦烘櫙ID " prop="sceneid">
+        <el-input
+          v-model="queryParams.sceneid"
+          placeholder="璇疯緭鍏� 鍦烘櫙ID "
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label=" 鍏宠仈浠诲姟璁板綍ID " prop="taskrecordid">
+        <el-input
+          v-model="queryParams.taskrecordid"
+          placeholder="璇疯緭鍏� 鍏宠仈浠诲姟璁板綍ID "
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label=" 褰撳墠娴佺▼ID " prop="flowiid">
+        <el-input
+          v-model="queryParams.flowiid"
+          placeholder="璇疯緭鍏� 褰撳墠娴佺▼ID "
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label=" 褰撳墠鑺傜偣ID " prop="flownodeid">
+        <el-input
+          v-model="queryParams.flownodeid"
+          placeholder="璇疯緭鍏� 褰撳墠鑺傜偣ID "
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label=" 璇嗗埆鎰忓浘鍊� " prop="intentvalue">
+        <el-input
+          v-model="queryParams.intentvalue"
+          placeholder="璇疯緭鍏� 璇嗗埆鎰忓浘鍊� "
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label=" 鍖归厤鏂囨湰 " prop="matchedtext">
+        <el-input
+          v-model="queryParams.matchedtext"
+          placeholder="璇疯緭鍏� 鍖归厤鏂囨湰 "
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label=" 鏈烘瀯ID " prop="orgid">
+        <el-input
+          v-model="queryParams.orgid"
+          placeholder="璇疯緭鍏� 鏈烘瀯ID "
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label=" 涓婁紶鏍囪 " prop="isupload">
+        <el-input
+          v-model="queryParams.isupload"
+          placeholder="璇疯緭鍏� 涓婁紶鏍囪 "
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label=" 涓婁紶鏃堕棿 " prop="uploadTime">
+        <el-date-picker clearable
+          v-model="queryParams.uploadTime"
+          type="date"
+          value-format="yyyy-MM-dd"
+          placeholder="璇烽�夋嫨 涓婁紶鏃堕棿 ">
+        </el-date-picker>
+      </el-form-item>
+      <el-form-item>
+        <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">鎼滅储</el-button>
+        <el-button icon="el-icon-refresh" size="mini" @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="mini"
+          @click="handleAdd"
+          v-hasPermi="['smartor:schemecalldetail:add']"
+        >鏂板</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="success"
+          plain
+          icon="el-icon-edit"
+          size="mini"
+          :disabled="single"
+          @click="handleUpdate"
+          v-hasPermi="['smartor:schemecalldetail:edit']"
+        >淇敼</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="danger"
+          plain
+          icon="el-icon-delete"
+          size="mini"
+          :disabled="multiple"
+          @click="handleDelete"
+          v-hasPermi="['smartor:schemecalldetail:remove']"
+        >鍒犻櫎</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="warning"
+          plain
+          icon="el-icon-download"
+          size="mini"
+          @click="handleExport"
+          v-hasPermi="['smartor:schemecalldetail:export']"
+        >瀵煎嚭</el-button>
+      </el-col>
+      <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
+    </el-row>
+
+    <el-table v-loading="loading" :data="schemecalldetailList" @selection-change="handleSelectionChange">
+      <el-table-column type="selection" width="55" align="center" />
+      <el-table-column label=" 鑷ID " align="center" prop="id" />
+      <el-table-column label=" 閫氳瘽鏍囪瘑 " align="center" prop="uuid" />
+      <el-table-column label=" 鐩爣鍙风爜 " align="center" prop="phone" />
+      <el-table-column label=" 褰撳墠鍥炶皟鐨勮姹傜被鍨� " align="center" prop="operate" />
+      <el-table-column label=" 鍛煎彨澶栫嚎鏃朵娇鐢ㄧ殑澶栨樉鍙风爜 " align="center" prop="displayno" />
+      <el-table-column label=" 鏄惁涓哄懠鍏ラ�氳瘽 " align="center" prop="inbound" />
+      <el-table-column label=" 鏄惁涓哄懠鍏ヨ姹傛搷浣�(鍛煎叆鐨刬nbound鍧囦负true锛岄娆¤姹傛椂incoming涓簍rue) 濡傛灉涓嶅簲绛旓紝鍒欎細鎸傛柇褰撳墠鍛煎叆锛� " align="center" prop="incoming" />
+      <el-table-column label=" 鍒嗛厤鏃堕棿 " align="center" prop="assigntime" />
+      <el-table-column label=" 寮�濮嬫椂闂达紝濡傛灉鍛煎叆鐨勫垯涓哄懠鍏ュ紑濮嬫椂闂� " align="center" prop="starttime" />
+      <el-table-column label=" 搴旂瓟鏃堕棿 " align="center" prop="answertime" />
+      <el-table-column label=" 鏍囪瘑褰撳墠鏄惁涓洪潤榛樺洖璋� " align="center" prop="silent" />
+      <el-table-column label=" 鏀跺埌鐨勬寜閿唴瀹� " align="center" prop="dtmfKey" />
+      <el-table-column label=" 闊充箰鎾斁鎴栧仠姝㈡椂鐩稿叧闊充箰鍚嶇О " align="center" prop="musicpath" />
+      <el-table-column label=" 褰撳墠鍙ュ瓙鐨勭储寮曞彿 " align="center" prop="sentindex" />
+      <el-table-column label=" 褰撳墠鏄惁涓鸿璇濆紑濮� " align="center" prop="sentbegin" />
+      <el-table-column label=" 褰撳墠鏀跺埌鐨凙SR璇嗗埆鏂囨湰 " align="center" prop="asrtext" />
+      <el-table-column label=" 褰撳墠asr鏂囨湰 閫氳瘽寮�濮嬫椂闂寸偣锛屾绉掓暟 " align="center" prop="begintime" />
+      <el-table-column label=" 褰撳墠asr鏂囨湰 鎵�澶� 缁撴潫鏃堕棿鐐癸紝姣鏁帮紝褰撳墠鏂囨湰涓嶆槸鍙ュ瓙缁撴潫鏃讹紝鍒欎负-1 " align="center" prop="endtime" />
+      <el-table-column label=" 鏍囪瘑褰撳墠鏄惁涓哄彞瀛愮粨鏉� " align="center" prop="sentend" />
+      <el-table-column label=" 褰撳墠鍙ュ瓙鐨勫綍闊虫枃浠惰矾寰勶紝鍙ュ瓙鏈粨鏉熸椂涓虹┖銆� " align="center" prop="recordpath" />
+      <el-table-column label=" 褰撳墠鍙ュ瓙褰曢煶url璺緞銆� " align="center" prop="recordurl" />
+      <el-table-column label=" 鍦烘櫙ID " align="center" prop="sceneid" />
+      <el-table-column label=" 鍏宠仈浠诲姟璁板綍ID " align="center" prop="taskrecordid" />
+      <el-table-column label=" 褰撳墠娴佺▼ID " align="center" prop="flowiid" />
+      <el-table-column label=" 褰撳墠鑺傜偣ID " align="center" prop="flownodeid" />
+      <el-table-column label=" 璇濇湳鏂囨湰 " align="center" prop="corpustext" />
+      <el-table-column label=" 璇濇湳璇煶 " align="center" prop="corpusvoice" />
+      <el-table-column label=" 璇嗗埆鎰忓浘鍊� " align="center" prop="intentvalue" />
+      <el-table-column label=" 鍖归厤鏂囨湰 " align="center" prop="matchedtext" />
+      <el-table-column label=" 鏈烘瀯ID " align="center" prop="orgid" />
+      <el-table-column label=" 涓婁紶鏍囪 " align="center" prop="isupload" />
+      <el-table-column label=" 涓婁紶鏃堕棿 " align="center" prop="uploadTime" width="180">
+        <template slot-scope="scope">
+          <span>{{ parseTime(scope.row.uploadTime, '{y}-{m}-{d}') }}</span>
+        </template>
+      </el-table-column>
+      <el-table-column label="鎿嶄綔" align="center" class-name="small-padding fixed-width">
+        <template slot-scope="scope">
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-edit"
+            @click="handleUpdate(scope.row)"
+            v-hasPermi="['smartor:schemecalldetail:edit']"
+          >淇敼</el-button>
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-delete"
+            @click="handleDelete(scope.row)"
+            v-hasPermi="['smartor:schemecalldetail:remove']"
+          >鍒犻櫎</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"
+    />
+
+    <!-- 娣诲姞鎴栦慨鏀规柟妗圓I澶栧懠浠诲姟璇︽儏瀵硅瘽妗� -->
+    <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
+      <el-form ref="form" :model="form" :rules="rules" label-width="80px">
+        <el-form-item label=" 閫氳瘽鏍囪瘑 " prop="uuid">
+          <el-input v-model="form.uuid" placeholder="璇疯緭鍏� 閫氳瘽鏍囪瘑 " />
+        </el-form-item>
+        <el-form-item label=" 鐩爣鍙风爜 " prop="phone">
+          <el-input v-model="form.phone" placeholder="璇疯緭鍏� 鐩爣鍙风爜 " />
+        </el-form-item>
+        <el-form-item label=" 褰撳墠鍥炶皟鐨勮姹傜被鍨� " prop="operate">
+          <el-input v-model="form.operate" placeholder="璇疯緭鍏� 褰撳墠鍥炶皟鐨勮姹傜被鍨� " />
+        </el-form-item>
+        <el-form-item label=" 鍛煎彨澶栫嚎鏃朵娇鐢ㄧ殑澶栨樉鍙风爜 " prop="displayno">
+          <el-input v-model="form.displayno" placeholder="璇疯緭鍏� 鍛煎彨澶栫嚎鏃朵娇鐢ㄧ殑澶栨樉鍙风爜 " />
+        </el-form-item>
+        <el-form-item label=" 鏄惁涓哄懠鍏ラ�氳瘽 " prop="inbound">
+          <el-input v-model="form.inbound" placeholder="璇疯緭鍏� 鏄惁涓哄懠鍏ラ�氳瘽 " />
+        </el-form-item>
+        <el-form-item label=" 鏄惁涓哄懠鍏ヨ姹傛搷浣�(鍛煎叆鐨刬nbound鍧囦负true锛岄娆¤姹傛椂incoming涓簍rue) 濡傛灉涓嶅簲绛旓紝鍒欎細鎸傛柇褰撳墠鍛煎叆锛� " prop="incoming">
+          <el-input v-model="form.incoming" placeholder="璇疯緭鍏� 鏄惁涓哄懠鍏ヨ姹傛搷浣�(鍛煎叆鐨刬nbound鍧囦负true锛岄娆¤姹傛椂incoming涓簍rue) 濡傛灉涓嶅簲绛旓紝鍒欎細鎸傛柇褰撳墠鍛煎叆锛� " />
+        </el-form-item>
+        <el-form-item label=" 鍒嗛厤鏃堕棿 " prop="assigntime">
+          <el-input v-model="form.assigntime" placeholder="璇疯緭鍏� 鍒嗛厤鏃堕棿 " />
+        </el-form-item>
+        <el-form-item label=" 寮�濮嬫椂闂达紝濡傛灉鍛煎叆鐨勫垯涓哄懠鍏ュ紑濮嬫椂闂� " prop="starttime">
+          <el-input v-model="form.starttime" placeholder="璇疯緭鍏� 寮�濮嬫椂闂达紝濡傛灉鍛煎叆鐨勫垯涓哄懠鍏ュ紑濮嬫椂闂� " />
+        </el-form-item>
+        <el-form-item label=" 搴旂瓟鏃堕棿 " prop="answertime">
+          <el-input v-model="form.answertime" placeholder="璇疯緭鍏� 搴旂瓟鏃堕棿 " />
+        </el-form-item>
+        <el-form-item label=" 鏍囪瘑褰撳墠鏄惁涓洪潤榛樺洖璋� " prop="silent">
+          <el-input v-model="form.silent" placeholder="璇疯緭鍏� 鏍囪瘑褰撳墠鏄惁涓洪潤榛樺洖璋� " />
+        </el-form-item>
+        <el-form-item label=" 鏀跺埌鐨勬寜閿唴瀹� " prop="dtmfKey">
+          <el-input v-model="form.dtmfKey" placeholder="璇疯緭鍏� 鏀跺埌鐨勬寜閿唴瀹� " />
+        </el-form-item>
+        <el-form-item label=" 闊充箰鎾斁鎴栧仠姝㈡椂鐩稿叧闊充箰鍚嶇О " prop="musicpath">
+          <el-input v-model="form.musicpath" placeholder="璇疯緭鍏� 闊充箰鎾斁鎴栧仠姝㈡椂鐩稿叧闊充箰鍚嶇О " />
+        </el-form-item>
+        <el-form-item label=" 褰撳墠鍙ュ瓙鐨勭储寮曞彿 " prop="sentindex">
+          <el-input v-model="form.sentindex" placeholder="璇疯緭鍏� 褰撳墠鍙ュ瓙鐨勭储寮曞彿 " />
+        </el-form-item>
+        <el-form-item label=" 褰撳墠鏄惁涓鸿璇濆紑濮� " prop="sentbegin">
+          <el-input v-model="form.sentbegin" placeholder="璇疯緭鍏� 褰撳墠鏄惁涓鸿璇濆紑濮� " />
+        </el-form-item>
+        <el-form-item label=" 褰撳墠鏀跺埌鐨凙SR璇嗗埆鏂囨湰 " prop="asrtext">
+          <el-input v-model="form.asrtext" type="textarea" placeholder="璇疯緭鍏ュ唴瀹�" />
+        </el-form-item>
+        <el-form-item label=" 褰撳墠asr鏂囨湰 閫氳瘽寮�濮嬫椂闂寸偣锛屾绉掓暟 " prop="begintime">
+          <el-input v-model="form.begintime" placeholder="璇疯緭鍏� 褰撳墠asr鏂囨湰 閫氳瘽寮�濮嬫椂闂寸偣锛屾绉掓暟 " />
+        </el-form-item>
+        <el-form-item label=" 褰撳墠asr鏂囨湰 鎵�澶� 缁撴潫鏃堕棿鐐癸紝姣鏁帮紝褰撳墠鏂囨湰涓嶆槸鍙ュ瓙缁撴潫鏃讹紝鍒欎负-1 " prop="endtime">
+          <el-input v-model="form.endtime" placeholder="璇疯緭鍏� 褰撳墠asr鏂囨湰 鎵�澶� 缁撴潫鏃堕棿鐐癸紝姣鏁帮紝褰撳墠鏂囨湰涓嶆槸鍙ュ瓙缁撴潫鏃讹紝鍒欎负-1 " />
+        </el-form-item>
+        <el-form-item label=" 鏍囪瘑褰撳墠鏄惁涓哄彞瀛愮粨鏉� " prop="sentend">
+          <el-input v-model="form.sentend" placeholder="璇疯緭鍏� 鏍囪瘑褰撳墠鏄惁涓哄彞瀛愮粨鏉� " />
+        </el-form-item>
+        <el-form-item label=" 褰撳墠鍙ュ瓙鐨勫綍闊虫枃浠惰矾寰勶紝鍙ュ瓙鏈粨鏉熸椂涓虹┖銆� " prop="recordpath">
+          <el-input v-model="form.recordpath" placeholder="璇疯緭鍏� 褰撳墠鍙ュ瓙鐨勫綍闊虫枃浠惰矾寰勶紝鍙ュ瓙鏈粨鏉熸椂涓虹┖銆� " />
+        </el-form-item>
+        <el-form-item label=" 褰撳墠鍙ュ瓙褰曢煶url璺緞銆� " prop="recordurl">
+          <el-input v-model="form.recordurl" placeholder="璇疯緭鍏� 褰撳墠鍙ュ瓙褰曢煶url璺緞銆� " />
+        </el-form-item>
+        <el-form-item label=" 鍦烘櫙ID " prop="sceneid">
+          <el-input v-model="form.sceneid" placeholder="璇疯緭鍏� 鍦烘櫙ID " />
+        </el-form-item>
+        <el-form-item label=" 鍏宠仈浠诲姟璁板綍ID " prop="taskrecordid">
+          <el-input v-model="form.taskrecordid" placeholder="璇疯緭鍏� 鍏宠仈浠诲姟璁板綍ID " />
+        </el-form-item>
+        <el-form-item label=" 褰撳墠娴佺▼ID " prop="flowiid">
+          <el-input v-model="form.flowiid" placeholder="璇疯緭鍏� 褰撳墠娴佺▼ID " />
+        </el-form-item>
+        <el-form-item label=" 褰撳墠鑺傜偣ID " prop="flownodeid">
+          <el-input v-model="form.flownodeid" placeholder="璇疯緭鍏� 褰撳墠鑺傜偣ID " />
+        </el-form-item>
+        <el-form-item label=" 璇濇湳鏂囨湰 " prop="corpustext">
+          <el-input v-model="form.corpustext" type="textarea" placeholder="璇疯緭鍏ュ唴瀹�" />
+        </el-form-item>
+        <el-form-item label=" 璇濇湳璇煶 " prop="corpusvoice">
+          <el-input v-model="form.corpusvoice" type="textarea" placeholder="璇疯緭鍏ュ唴瀹�" />
+        </el-form-item>
+        <el-form-item label=" 璇嗗埆鎰忓浘鍊� " prop="intentvalue">
+          <el-input v-model="form.intentvalue" placeholder="璇疯緭鍏� 璇嗗埆鎰忓浘鍊� " />
+        </el-form-item>
+        <el-form-item label=" 鍖归厤鏂囨湰 " prop="matchedtext">
+          <el-input v-model="form.matchedtext" placeholder="璇疯緭鍏� 鍖归厤鏂囨湰 " />
+        </el-form-item>
+        <el-form-item label=" 鏈烘瀯ID " prop="orgid">
+          <el-input v-model="form.orgid" placeholder="璇疯緭鍏� 鏈烘瀯ID " />
+        </el-form-item>
+        <el-form-item label=" 鍒犻櫎鏍囪 " prop="delFlag">
+          <el-input v-model="form.delFlag" placeholder="璇疯緭鍏� 鍒犻櫎鏍囪 " />
+        </el-form-item>
+        <el-form-item label=" 涓婁紶鏍囪 " prop="isupload">
+          <el-input v-model="form.isupload" placeholder="璇疯緭鍏� 涓婁紶鏍囪 " />
+        </el-form-item>
+        <el-form-item label=" 涓婁紶鏃堕棿 " prop="uploadTime">
+          <el-date-picker clearable
+            v-model="form.uploadTime"
+            type="date"
+            value-format="yyyy-MM-dd"
+            placeholder="璇烽�夋嫨 涓婁紶鏃堕棿 ">
+          </el-date-picker>
+        </el-form-item>
+      </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>
+</template>
+
+<script>
+import { listSchemecalldetail, getSchemecalldetail, delSchemecalldetail, addSchemecalldetail, updateSchemecalldetail } from "@/api/smartor/schemecalldetail";
+
+export default {
+  name: "Schemecalldetail",
+  data() {
+    return {
+      // 閬僵灞�
+      loading: true,
+      // 閫変腑鏁扮粍
+      ids: [],
+      // 闈炲崟涓鐢�
+      single: true,
+      // 闈炲涓鐢�
+      multiple: true,
+      // 鏄剧ず鎼滅储鏉′欢
+      showSearch: true,
+      // 鎬绘潯鏁�
+      total: 0,
+      // 鏂规AI澶栧懠浠诲姟璇︽儏琛ㄦ牸鏁版嵁
+      schemecalldetailList: [],
+      // 寮瑰嚭灞傛爣棰�
+      title: "",
+      // 鏄惁鏄剧ず寮瑰嚭灞�
+      open: false,
+      // 鏌ヨ鍙傛暟
+      queryParams: {
+        pageNum: 1,
+        pageSize: 10,
+        uuid: null,
+        phone: null,
+        operate: null,
+        displayno: null,
+        inbound: null,
+        incoming: null,
+        assigntime: null,
+        starttime: null,
+        answertime: null,
+        silent: null,
+        dtmfKey: null,
+        musicpath: null,
+        sentindex: null,
+        sentbegin: null,
+        asrtext: null,
+        begintime: null,
+        endtime: null,
+        sentend: null,
+        recordpath: null,
+        recordurl: null,
+        sceneid: null,
+        taskrecordid: null,
+        flowiid: null,
+        flownodeid: null,
+        corpustext: null,
+        corpusvoice: null,
+        intentvalue: null,
+        matchedtext: null,
+        orgid: null,
+        isupload: null,
+        uploadTime: null
+      },
+      // 琛ㄥ崟鍙傛暟
+      form: {},
+      // 琛ㄥ崟鏍¢獙
+      rules: {
+        delFlag: [
+          { required: true, message: " 鍒犻櫎鏍囪 涓嶈兘涓虹┖", trigger: "blur" }
+        ],
+        isupload: [
+          { required: true, message: " 涓婁紶鏍囪 涓嶈兘涓虹┖", trigger: "blur" }
+        ],
+      }
+    };
+  },
+  created() {
+    this.getList();
+  },
+  methods: {
+    /** 鏌ヨ鏂规AI澶栧懠浠诲姟璇︽儏鍒楄〃 */
+    getList() {
+      this.loading = true;
+      listSchemecalldetail(this.queryParams).then(response => {
+        this.schemecalldetailList = response.rows;
+        this.total = response.total;
+        this.loading = false;
+      });
+    },
+    // 鍙栨秷鎸夐挳
+    cancel() {
+      this.open = false;
+      this.reset();
+    },
+    // 琛ㄥ崟閲嶇疆
+    reset() {
+      this.form = {
+        id: null,
+        uuid: null,
+        phone: null,
+        operate: null,
+        displayno: null,
+        inbound: null,
+        incoming: null,
+        assigntime: null,
+        starttime: null,
+        answertime: null,
+        silent: null,
+        dtmfKey: null,
+        musicpath: null,
+        sentindex: null,
+        sentbegin: null,
+        asrtext: null,
+        begintime: null,
+        endtime: null,
+        sentend: null,
+        recordpath: null,
+        recordurl: null,
+        sceneid: null,
+        taskrecordid: null,
+        flowiid: null,
+        flownodeid: null,
+        corpustext: null,
+        corpusvoice: null,
+        intentvalue: null,
+        matchedtext: null,
+        orgid: null,
+        delFlag: null,
+        updateBy: null,
+        updateTime: null,
+        createBy: null,
+        createTime: null,
+        isupload: null,
+        uploadTime: null
+      };
+      this.resetForm("form");
+    },
+    /** 鎼滅储鎸夐挳鎿嶄綔 */
+    handleQuery() {
+      this.queryParams.pageNum = 1;
+      this.getList();
+    },
+    /** 閲嶇疆鎸夐挳鎿嶄綔 */
+    resetQuery() {
+      this.resetForm("queryForm");
+      this.handleQuery();
+    },
+    // 澶氶�夋閫変腑鏁版嵁
+    handleSelectionChange(selection) {
+      this.ids = selection.map(item => item.id)
+      this.single = selection.length!==1
+      this.multiple = !selection.length
+    },
+    /** 鏂板鎸夐挳鎿嶄綔 */
+    handleAdd() {
+      this.reset();
+      this.open = true;
+      this.title = "娣诲姞鏂规AI澶栧懠浠诲姟璇︽儏";
+    },
+    /** 淇敼鎸夐挳鎿嶄綔 */
+    handleUpdate(row) {
+      this.reset();
+      const id = row.id || this.ids
+      getSchemecalldetail(id).then(response => {
+        this.form = response.data;
+        this.open = true;
+        this.title = "淇敼鏂规AI澶栧懠浠诲姟璇︽儏";
+      });
+    },
+    /** 鎻愪氦鎸夐挳 */
+    submitForm() {
+      this.$refs["form"].validate(valid => {
+        if (valid) {
+          if (this.form.id != null) {
+            updateSchemecalldetail(this.form).then(response => {
+              this.$modal.msgSuccess("淇敼鎴愬姛");
+              this.open = false;
+              this.getList();
+            });
+          } else {
+            addSchemecalldetail(this.form).then(response => {
+              this.$modal.msgSuccess("鏂板鎴愬姛");
+              this.open = false;
+              this.getList();
+            });
+          }
+        }
+      });
+    },
+    /** 鍒犻櫎鎸夐挳鎿嶄綔 */
+    handleDelete(row) {
+      const ids = row.id || this.ids;
+      this.$modal.confirm('鏄惁纭鍒犻櫎鏂规AI澶栧懠浠诲姟璇︽儏缂栧彿涓�"' + ids + '"鐨勬暟鎹」锛�').then(function() {
+        return delSchemecalldetail(ids);
+      }).then(() => {
+        this.getList();
+        this.$modal.msgSuccess("鍒犻櫎鎴愬姛");
+      }).catch(() => {});
+    },
+    /** 瀵煎嚭鎸夐挳鎿嶄綔 */
+    handleExport() {
+      this.download('smartor/schemecalldetail/export', {
+        ...this.queryParams
+      }, `schemecalldetail_${new Date().getTime()}.xlsx`)
+    }
+  }
+};
+</script>
diff --git a/ruoyi-ui/src/views/smartor/schemecategory/index.vue b/ruoyi-ui/src/views/smartor/schemecategory/index.vue
new file mode 100644
index 0000000..e680f78
--- /dev/null
+++ b/ruoyi-ui/src/views/smartor/schemecategory/index.vue
@@ -0,0 +1,315 @@
+<template>
+  <div class="app-container">
+    <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
+      <el-form-item label=" 鍒嗙被鍚嶇О " prop="categoryname">
+        <el-input
+          v-model="queryParams.categoryname"
+          placeholder="璇疯緭鍏� 鍒嗙被鍚嶇О "
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label=" 鏈烘瀯ID " prop="orgid">
+        <el-input
+          v-model="queryParams.orgid"
+          placeholder="璇疯緭鍏� 鏈烘瀯ID "
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label=" 鏄惁閫氱敤 0.鍚� 1.鏄� " prop="iscurrency">
+        <el-input
+          v-model="queryParams.iscurrency"
+          placeholder="璇疯緭鍏� 鏄惁閫氱敤 0.鍚� 1.鏄� "
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item>
+        <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">鎼滅储</el-button>
+        <el-button icon="el-icon-refresh" size="mini" @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="mini"
+          @click="handleAdd"
+          v-hasPermi="['smartor:schemecategory:add']"
+        >鏂板</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="success"
+          plain
+          icon="el-icon-edit"
+          size="mini"
+          :disabled="single"
+          @click="handleUpdate"
+          v-hasPermi="['smartor:schemecategory:edit']"
+        >淇敼</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="danger"
+          plain
+          icon="el-icon-delete"
+          size="mini"
+          :disabled="multiple"
+          @click="handleDelete"
+          v-hasPermi="['smartor:schemecategory:remove']"
+        >鍒犻櫎</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="warning"
+          plain
+          icon="el-icon-download"
+          size="mini"
+          @click="handleExport"
+          v-hasPermi="['smartor:schemecategory:export']"
+        >瀵煎嚭</el-button>
+      </el-col>
+      <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
+    </el-row>
+
+    <el-table v-loading="loading" :data="schemecategoryList" @selection-change="handleSelectionChange">
+      <el-table-column type="selection" width="55" align="center" />
+      <el-table-column label=" 鑷ID " align="center" prop="id" />
+      <el-table-column label=" 鍒嗙被鍚嶇О " align="center" prop="categoryname" />
+      <el-table-column label=" 鏈烘瀯ID " align="center" prop="orgid" />
+      <el-table-column label=" 鏄惁閫氱敤 0.鍚� 1.鏄� " align="center" prop="iscurrency" />
+      <el-table-column label="鎿嶄綔" align="center" class-name="small-padding fixed-width">
+        <template slot-scope="scope">
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-edit"
+            @click="handleUpdate(scope.row)"
+            v-hasPermi="['smartor:schemecategory:edit']"
+          >淇敼</el-button>
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-delete"
+            @click="handleDelete(scope.row)"
+            v-hasPermi="['smartor:schemecategory:remove']"
+          >鍒犻櫎</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-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
+      <el-form ref="form" :model="form" :rules="rules" label-width="80px">
+        <el-form-item label=" 鍒嗙被鍚嶇О " prop="categoryname">
+          <el-input v-model="form.categoryname" placeholder="璇疯緭鍏� 鍒嗙被鍚嶇О " />
+        </el-form-item>
+        <el-form-item label=" 鏈烘瀯ID " prop="orgid">
+          <el-input v-model="form.orgid" placeholder="璇疯緭鍏� 鏈烘瀯ID " />
+        </el-form-item>
+        <el-form-item label=" 鏄惁閫氱敤 0.鍚� 1.鏄� " prop="iscurrency">
+          <el-input v-model="form.iscurrency" placeholder="璇疯緭鍏� 鏄惁閫氱敤 0.鍚� 1.鏄� " />
+        </el-form-item>
+        <el-form-item label=" 鍒犻櫎鏍囪 " prop="delFlag">
+          <el-select v-model="form.delFlag" placeholder="璇烽�夋嫨 鍒犻櫎鏍囪 ">
+            <el-option
+              v-for="dict in dict.type.sys_yes_no"
+              :key="dict.value"
+              :label="dict.label"
+              :value="dict.value"
+            ></el-option>
+          </el-select>
+        </el-form-item>
+        <el-form-item label=" 涓婁紶鏍囪 " prop="isupload">
+          <el-select v-model="form.isupload" placeholder="璇烽�夋嫨 涓婁紶鏍囪 ">
+            <el-option
+              v-for="dict in dict.type.sys_common_status"
+              :key="dict.value"
+              :label="dict.label"
+              :value="parseInt(dict.value)"
+            ></el-option>
+          </el-select>
+        </el-form-item>
+        <el-form-item label=" 涓婁紶鏃堕棿 " prop="uploadTime">
+          <el-date-picker clearable
+            v-model="form.uploadTime"
+            type="date"
+            value-format="yyyy-MM-dd"
+            placeholder="璇烽�夋嫨 涓婁紶鏃堕棿 ">
+          </el-date-picker>
+        </el-form-item>
+      </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>
+</template>
+
+<script>
+import { listSchemecategory, getSchemecategory, delSchemecategory, addSchemecategory, updateSchemecategory } from "@/api/smartor/schemecategory";
+
+export default {
+  name: "Schemecategory",
+  dicts: ['sys_common_status', 'sys_yes_no'],
+  data() {
+    return {
+      // 閬僵灞�
+      loading: true,
+      // 閫変腑鏁扮粍
+      ids: [],
+      // 闈炲崟涓鐢�
+      single: true,
+      // 闈炲涓鐢�
+      multiple: true,
+      // 鏄剧ず鎼滅储鏉′欢
+      showSearch: true,
+      // 鎬绘潯鏁�
+      total: 0,
+      // 鏂规鍒嗙被琛ㄦ牸鏁版嵁
+      schemecategoryList: [],
+      // 寮瑰嚭灞傛爣棰�
+      title: "",
+      // 鏄惁鏄剧ず寮瑰嚭灞�
+      open: false,
+      // 鏌ヨ鍙傛暟
+      queryParams: {
+        pageNum: 1,
+        pageSize: 10,
+        categoryname: null,
+        orgid: null,
+        iscurrency: null,
+      },
+      // 琛ㄥ崟鍙傛暟
+      form: {},
+      // 琛ㄥ崟鏍¢獙
+      rules: {
+        delFlag: [
+          { required: true, message: " 鍒犻櫎鏍囪 涓嶈兘涓虹┖", trigger: "change" }
+        ],
+        isupload: [
+          { required: true, message: " 涓婁紶鏍囪 涓嶈兘涓虹┖", trigger: "change" }
+        ],
+      }
+    };
+  },
+  created() {
+    this.getList();
+  },
+  methods: {
+    /** 鏌ヨ鏂规鍒嗙被鍒楄〃 */
+    getList() {
+      this.loading = true;
+      listSchemecategory(this.queryParams).then(response => {
+        this.schemecategoryList = response.rows;
+        this.total = response.total;
+        this.loading = false;
+      });
+    },
+    // 鍙栨秷鎸夐挳
+    cancel() {
+      this.open = false;
+      this.reset();
+    },
+    // 琛ㄥ崟閲嶇疆
+    reset() {
+      this.form = {
+        id: null,
+        categoryname: null,
+        orgid: null,
+        iscurrency: null,
+        delFlag: null,
+        createBy: null,
+        createTime: null,
+        updateBy: null,
+        updateTime: null,
+        isupload: null,
+        uploadTime: null
+      };
+      this.resetForm("form");
+    },
+    /** 鎼滅储鎸夐挳鎿嶄綔 */
+    handleQuery() {
+      this.queryParams.pageNum = 1;
+      this.getList();
+    },
+    /** 閲嶇疆鎸夐挳鎿嶄綔 */
+    resetQuery() {
+      this.resetForm("queryForm");
+      this.handleQuery();
+    },
+    // 澶氶�夋閫変腑鏁版嵁
+    handleSelectionChange(selection) {
+      this.ids = selection.map(item => item.id)
+      this.single = selection.length!==1
+      this.multiple = !selection.length
+    },
+    /** 鏂板鎸夐挳鎿嶄綔 */
+    handleAdd() {
+      this.reset();
+      this.open = true;
+      this.title = "娣诲姞鏂规鍒嗙被";
+    },
+    /** 淇敼鎸夐挳鎿嶄綔 */
+    handleUpdate(row) {
+      this.reset();
+      const id = row.id || this.ids
+      getSchemecategory(id).then(response => {
+        this.form = response.data;
+        this.open = true;
+        this.title = "淇敼鏂规鍒嗙被";
+      });
+    },
+    /** 鎻愪氦鎸夐挳 */
+    submitForm() {
+      this.$refs["form"].validate(valid => {
+        if (valid) {
+          if (this.form.id != null) {
+            updateSchemecategory(this.form).then(response => {
+              this.$modal.msgSuccess("淇敼鎴愬姛");
+              this.open = false;
+              this.getList();
+            });
+          } else {
+            addSchemecategory(this.form).then(response => {
+              this.$modal.msgSuccess("鏂板鎴愬姛");
+              this.open = false;
+              this.getList();
+            });
+          }
+        }
+      });
+    },
+    /** 鍒犻櫎鎸夐挳鎿嶄綔 */
+    handleDelete(row) {
+      const ids = row.id || this.ids;
+      this.$modal.confirm('鏄惁纭鍒犻櫎鏂规鍒嗙被缂栧彿涓�"' + ids + '"鐨勬暟鎹」锛�').then(function() {
+        return delSchemecategory(ids);
+      }).then(() => {
+        this.getList();
+        this.$modal.msgSuccess("鍒犻櫎鎴愬姛");
+      }).catch(() => {});
+    },
+    /** 瀵煎嚭鎸夐挳鎿嶄綔 */
+    handleExport() {
+      this.download('smartor/schemecategory/export', {
+        ...this.queryParams
+      }, `schemecategory_${new Date().getTime()}.xlsx`)
+    }
+  }
+};
+</script>
diff --git a/ruoyi-ui/src/views/smartor/schemelibrary/index.vue b/ruoyi-ui/src/views/smartor/schemelibrary/index.vue
new file mode 100644
index 0000000..2a2dd74
--- /dev/null
+++ b/ruoyi-ui/src/views/smartor/schemelibrary/index.vue
@@ -0,0 +1,617 @@
+<template>
+  <div class="app-container">
+    <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
+      <el-form-item label=" 鏂规鍒嗙被ID " prop="schemecategoryid">
+        <el-input
+          v-model="queryParams.schemecategoryid"
+          placeholder="璇疯緭鍏� 鏂规鍒嗙被ID "
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label=" 鏂规鍚嶇О " prop="schemename">
+        <el-input
+          v-model="queryParams.schemename"
+          placeholder="璇疯緭鍏� 鏂规鍚嶇О "
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label=" 妯℃澘ID " prop="templateid">
+        <el-input
+          v-model="queryParams.templateid"
+          placeholder="璇疯緭鍏� 妯℃澘ID "
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label=" 鐗堟湰 " prop="version">
+        <el-input
+          v-model="queryParams.version"
+          placeholder="璇疯緭鍏� 鐗堟湰 "
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label=" 鏂规浠g爜 " prop="schemecode">
+        <el-input
+          v-model="queryParams.schemecode"
+          placeholder="璇疯緭鍏� 鏂规浠g爜 "
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label=" 涓績搴揑D " prop="centerlibraryid">
+        <el-input
+          v-model="queryParams.centerlibraryid"
+          placeholder="璇疯緭鍏� 涓績搴揑D "
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label=" 鎮h�呮潵婧�;1.鍑洪櫌 2.鍦ㄩ櫌 3.闂ㄨ瘖 4.浣撴 5.鏃� " prop="patientsource">
+        <el-input
+          v-model="queryParams.patientsource"
+          placeholder="璇疯緭鍏� 鎮h�呮潵婧�;1.鍑洪櫌 2.鍦ㄩ櫌 3.闂ㄨ瘖 4.浣撴 5.鏃� "
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label=" 绉戝瑙勫垯;0.涓嶅寘鍚� 1.鍖呭惈 " prop="ruledept">
+        <el-input
+          v-model="queryParams.ruledept"
+          placeholder="璇疯緭鍏� 绉戝瑙勫垯;0.涓嶅寘鍚� 1.鍖呭惈 "
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label=" 鐥呭尯瑙勫垯;0.涓嶅寘鍚� 1.鍖呭惈 " prop="ruleward">
+        <el-input
+          v-model="queryParams.ruleward"
+          placeholder="璇疯緭鍏� 鐥呭尯瑙勫垯;0.涓嶅寘鍚� 1.鍖呭惈 "
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label=" 閲嶅澶勭悊;1.鏂拌鍒掕嚜鍔ㄧ粨妗� 2.鍘熻鍒掕嚜鍔ㄧ粨妗� " prop="repeathandle">
+        <el-input
+          v-model="queryParams.repeathandle"
+          placeholder="璇疯緭鍏� 閲嶅澶勭悊;1.鏂拌鍒掕嚜鍔ㄧ粨妗� 2.鍘熻鍒掕嚜鍔ㄧ粨妗� "
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label=" 杩囨湡澶勭悊;1.鑷姩鍏抽棴 2.鑷姩鎵ц 3.浜哄伐澶勭悊 " prop="expirehandle">
+        <el-input
+          v-model="queryParams.expirehandle"
+          placeholder="璇疯緭鍏� 杩囨湡澶勭悊;1.鑷姩鍏抽棴 2.鑷姩鎵ц 3.浜哄伐澶勭悊 "
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label=" 鑷姩缁撴;0.鍚� 1.鏄� " prop="autofinsh">
+        <el-input
+          v-model="queryParams.autofinsh"
+          placeholder="璇疯緭鍏� 鑷姩缁撴;0.鍚� 1.鏄� "
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label=" 鍩虹嚎鏃堕棿;1.鍔犲叆鍚� 2.鍑洪櫌鍚� 3.灏辫瘖鍚� 4.鍏ラ櫌鍚� 5.鎵嬫湳鍓� 6.鎵嬫湳鍚� 7.寮�鑽墠 8.妫�楠岀敵璇峰悗 9.妫�楠屽畬鎴愬悗 10.妫�鏌ョ敵璇峰悗 11.妫�鏌ュ畬鎴愬悗 12.浜嬩欢鍙戠敓鍚� 13.鍩虹嚎鏃ユ湡鍚� " prop="baselinetime">
+        <el-input
+          v-model="queryParams.baselinetime"
+          placeholder="璇疯緭鍏� 鍩虹嚎鏃堕棿;1.鍔犲叆鍚� 2.鍑洪櫌鍚� 3.灏辫瘖鍚� 4.鍏ラ櫌鍚� 5.鎵嬫湳鍓� 6.鎵嬫湳鍚� 7.寮�鑽墠 8.妫�楠岀敵璇峰悗 9.妫�楠屽畬鎴愬悗 10.妫�鏌ョ敵璇峰悗 11.妫�鏌ュ畬鎴愬悗 12.浜嬩欢鍙戠敓鍚� 13.鍩虹嚎鏃ユ湡鍚� "
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label=" 瑙﹀彂鏉′欢;0.鏃� 1.鏈� " prop="triggerornot">
+        <el-input
+          v-model="queryParams.triggerornot"
+          placeholder="璇疯緭鍏� 瑙﹀彂鏉′欢;0.鏃� 1.鏈� "
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label=" 鏄惁鍚敤 " prop="isenable">
+        <el-input
+          v-model="queryParams.isenable"
+          placeholder="璇疯緭鍏� 鏄惁鍚敤 "
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label=" 鏈烘瀯ID " prop="orgid">
+        <el-input
+          v-model="queryParams.orgid"
+          placeholder="璇疯緭鍏� 鏈烘瀯ID "
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label=" 涓婁紶鏍囪 " prop="isupload">
+        <el-input
+          v-model="queryParams.isupload"
+          placeholder="璇疯緭鍏� 涓婁紶鏍囪 "
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label=" 涓婁紶鏃堕棿 " prop="uploadTime">
+        <el-date-picker clearable
+          v-model="queryParams.uploadTime"
+          type="date"
+          value-format="yyyy-MM-dd"
+          placeholder="璇烽�夋嫨 涓婁紶鏃堕棿 ">
+        </el-date-picker>
+      </el-form-item>
+      <el-form-item label=" 鐘舵��;0鏈紑鍚紝1宸插紑鍚紝2鍏抽棴 " prop="state">
+        <el-input
+          v-model="queryParams.state"
+          placeholder="璇疯緭鍏� 鐘舵��;0鏈紑鍚紝1宸插紑鍚紝2鍏抽棴 "
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label=" 寮�鍚汉 " prop="openBy">
+        <el-input
+          v-model="queryParams.openBy"
+          placeholder="璇疯緭鍏� 寮�鍚汉 "
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label=" 寮�鍚椂闂� " prop="openTime">
+        <el-date-picker clearable
+          v-model="queryParams.openTime"
+          type="date"
+          value-format="yyyy-MM-dd"
+          placeholder="璇烽�夋嫨 寮�鍚椂闂� ">
+        </el-date-picker>
+      </el-form-item>
+      <el-form-item label=" 涓績搴撲唬鐮� " prop="centerlibrarycode">
+        <el-input
+          v-model="queryParams.centerlibrarycode"
+          placeholder="璇疯緭鍏� 涓績搴撲唬鐮� "
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label=" 鏄惁鏈湴 " prop="islocal">
+        <el-input
+          v-model="queryParams.islocal"
+          placeholder="璇疯緭鍏� 鏄惁鏈湴 "
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label=" 鏄惁閫氱敤;0.鍚� 1.鏄� " prop="iscurrency">
+        <el-input
+          v-model="queryParams.iscurrency"
+          placeholder="璇疯緭鍏� 鏄惁閫氱敤;0.鍚� 1.鏄� "
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item>
+        <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">鎼滅储</el-button>
+        <el-button icon="el-icon-refresh" size="mini" @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="mini"
+          @click="handleAdd"
+          v-hasPermi="['smartor:schemelibrary:add']"
+        >鏂板</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="success"
+          plain
+          icon="el-icon-edit"
+          size="mini"
+          :disabled="single"
+          @click="handleUpdate"
+          v-hasPermi="['smartor:schemelibrary:edit']"
+        >淇敼</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="danger"
+          plain
+          icon="el-icon-delete"
+          size="mini"
+          :disabled="multiple"
+          @click="handleDelete"
+          v-hasPermi="['smartor:schemelibrary:remove']"
+        >鍒犻櫎</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="warning"
+          plain
+          icon="el-icon-download"
+          size="mini"
+          @click="handleExport"
+          v-hasPermi="['smartor:schemelibrary:export']"
+        >瀵煎嚭</el-button>
+      </el-col>
+      <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
+    </el-row>
+
+    <el-table v-loading="loading" :data="schemelibraryList" @selection-change="handleSelectionChange">
+      <el-table-column type="selection" width="55" align="center" />
+      <el-table-column label=" 鑷ID " align="center" prop="id" />
+      <el-table-column label=" 鏂规鍒嗙被ID " align="center" prop="schemecategoryid" />
+      <el-table-column label=" 鏂规鍚嶇О " align="center" prop="schemename" />
+      <el-table-column label=" 鏂规鎻忚堪 " align="center" prop="description" />
+      <el-table-column label=" 妯℃澘ID " align="center" prop="templateid" />
+      <el-table-column label=" 鐗堟湰 " align="center" prop="version" />
+      <el-table-column label=" 鏂规浠g爜 " align="center" prop="schemecode" />
+      <el-table-column label=" 涓績搴揑D " align="center" prop="centerlibraryid" />
+      <el-table-column label=" 鎮h�呮潵婧�;1.鍑洪櫌 2.鍦ㄩ櫌 3.闂ㄨ瘖 4.浣撴 5.鏃� " align="center" prop="patientsource" />
+      <el-table-column label=" 鎵�灞炵瀹D;澶氫釜绉戝閫楀彿闅斿紑 " align="center" prop="belongdeptid" />
+      <el-table-column label=" 绉戝瑙勫垯;0.涓嶅寘鍚� 1.鍖呭惈 " align="center" prop="ruledept" />
+      <el-table-column label=" 鎵�灞炵梾鍖篒D;澶氫釜鐥呭尯閫楀彿闅斿紑 " align="center" prop="belongwardid" />
+      <el-table-column label=" 鐥呭尯瑙勫垯;0.涓嶅寘鍚� 1.鍖呭惈 " align="center" prop="ruleward" />
+      <el-table-column label=" 閲嶅澶勭悊;1.鏂拌鍒掕嚜鍔ㄧ粨妗� 2.鍘熻鍒掕嚜鍔ㄧ粨妗� " align="center" prop="repeathandle" />
+      <el-table-column label=" 杩囨湡澶勭悊;1.鑷姩鍏抽棴 2.鑷姩鎵ц 3.浜哄伐澶勭悊 " align="center" prop="expirehandle" />
+      <el-table-column label=" 鑷姩缁撴;0.鍚� 1.鏄� " align="center" prop="autofinsh" />
+      <el-table-column label=" 鍩虹嚎鏃堕棿;1.鍔犲叆鍚� 2.鍑洪櫌鍚� 3.灏辫瘖鍚� 4.鍏ラ櫌鍚� 5.鎵嬫湳鍓� 6.鎵嬫湳鍚� 7.寮�鑽墠 8.妫�楠岀敵璇峰悗 9.妫�楠屽畬鎴愬悗 10.妫�鏌ョ敵璇峰悗 11.妫�鏌ュ畬鎴愬悗 12.浜嬩欢鍙戠敓鍚� 13.鍩虹嚎鏃ユ湡鍚� " align="center" prop="baselinetime" />
+      <el-table-column label=" 瑙﹀彂鏉′欢;0.鏃� 1.鏈� " align="center" prop="triggerornot" />
+      <el-table-column label=" 鏄惁鍚敤 " align="center" prop="isenable" />
+      <el-table-column label=" 鏈烘瀯ID " align="center" prop="orgid" />
+      <el-table-column label=" 涓婁紶鏍囪 " align="center" prop="isupload" />
+      <el-table-column label=" 涓婁紶鏃堕棿 " align="center" prop="uploadTime" width="180">
+        <template slot-scope="scope">
+          <span>{{ parseTime(scope.row.uploadTime, '{y}-{m}-{d}') }}</span>
+        </template>
+      </el-table-column>
+      <el-table-column label=" 鐘舵��;0鏈紑鍚紝1宸插紑鍚紝2鍏抽棴 " align="center" prop="state" />
+      <el-table-column label=" 寮�鍚汉 " align="center" prop="openBy" />
+      <el-table-column label=" 寮�鍚椂闂� " align="center" prop="openTime" width="180">
+        <template slot-scope="scope">
+          <span>{{ parseTime(scope.row.openTime, '{y}-{m}-{d}') }}</span>
+        </template>
+      </el-table-column>
+      <el-table-column label=" 涓績搴撲唬鐮� " align="center" prop="centerlibrarycode" />
+      <el-table-column label=" 鏄惁鏈湴 " align="center" prop="islocal" />
+      <el-table-column label=" 鏄惁閫氱敤;0.鍚� 1.鏄� " align="center" prop="iscurrency" />
+      <el-table-column label="鎿嶄綔" align="center" class-name="small-padding fixed-width">
+        <template slot-scope="scope">
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-edit"
+            @click="handleUpdate(scope.row)"
+            v-hasPermi="['smartor:schemelibrary:edit']"
+          >淇敼</el-button>
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-delete"
+            @click="handleDelete(scope.row)"
+            v-hasPermi="['smartor:schemelibrary:remove']"
+          >鍒犻櫎</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-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
+      <el-form ref="form" :model="form" :rules="rules" label-width="80px">
+        <el-form-item label=" 鏂规鍒嗙被ID " prop="schemecategoryid">
+          <el-input v-model="form.schemecategoryid" placeholder="璇疯緭鍏� 鏂规鍒嗙被ID " />
+        </el-form-item>
+        <el-form-item label=" 鏂规鍚嶇О " prop="schemename">
+          <el-input v-model="form.schemename" placeholder="璇疯緭鍏� 鏂规鍚嶇О " />
+        </el-form-item>
+        <el-form-item label=" 鏂规鎻忚堪 " prop="description">
+          <el-input v-model="form.description" type="textarea" placeholder="璇疯緭鍏ュ唴瀹�" />
+        </el-form-item>
+        <el-form-item label=" 妯℃澘ID " prop="templateid">
+          <el-input v-model="form.templateid" placeholder="璇疯緭鍏� 妯℃澘ID " />
+        </el-form-item>
+        <el-form-item label=" 鐗堟湰 " prop="version">
+          <el-input v-model="form.version" placeholder="璇疯緭鍏� 鐗堟湰 " />
+        </el-form-item>
+        <el-form-item label=" 鏂规浠g爜 " prop="schemecode">
+          <el-input v-model="form.schemecode" placeholder="璇疯緭鍏� 鏂规浠g爜 " />
+        </el-form-item>
+        <el-form-item label=" 涓績搴揑D " prop="centerlibraryid">
+          <el-input v-model="form.centerlibraryid" placeholder="璇疯緭鍏� 涓績搴揑D " />
+        </el-form-item>
+        <el-form-item label=" 鎮h�呮潵婧�;1.鍑洪櫌 2.鍦ㄩ櫌 3.闂ㄨ瘖 4.浣撴 5.鏃� " prop="patientsource">
+          <el-input v-model="form.patientsource" placeholder="璇疯緭鍏� 鎮h�呮潵婧�;1.鍑洪櫌 2.鍦ㄩ櫌 3.闂ㄨ瘖 4.浣撴 5.鏃� " />
+        </el-form-item>
+        <el-form-item label=" 鎵�灞炵瀹D;澶氫釜绉戝閫楀彿闅斿紑 " prop="belongdeptid">
+          <el-input v-model="form.belongdeptid" type="textarea" placeholder="璇疯緭鍏ュ唴瀹�" />
+        </el-form-item>
+        <el-form-item label=" 绉戝瑙勫垯;0.涓嶅寘鍚� 1.鍖呭惈 " prop="ruledept">
+          <el-input v-model="form.ruledept" placeholder="璇疯緭鍏� 绉戝瑙勫垯;0.涓嶅寘鍚� 1.鍖呭惈 " />
+        </el-form-item>
+        <el-form-item label=" 鎵�灞炵梾鍖篒D;澶氫釜鐥呭尯閫楀彿闅斿紑 " prop="belongwardid">
+          <el-input v-model="form.belongwardid" type="textarea" placeholder="璇疯緭鍏ュ唴瀹�" />
+        </el-form-item>
+        <el-form-item label=" 鐥呭尯瑙勫垯;0.涓嶅寘鍚� 1.鍖呭惈 " prop="ruleward">
+          <el-input v-model="form.ruleward" placeholder="璇疯緭鍏� 鐥呭尯瑙勫垯;0.涓嶅寘鍚� 1.鍖呭惈 " />
+        </el-form-item>
+        <el-form-item label=" 閲嶅澶勭悊;1.鏂拌鍒掕嚜鍔ㄧ粨妗� 2.鍘熻鍒掕嚜鍔ㄧ粨妗� " prop="repeathandle">
+          <el-input v-model="form.repeathandle" placeholder="璇疯緭鍏� 閲嶅澶勭悊;1.鏂拌鍒掕嚜鍔ㄧ粨妗� 2.鍘熻鍒掕嚜鍔ㄧ粨妗� " />
+        </el-form-item>
+        <el-form-item label=" 杩囨湡澶勭悊;1.鑷姩鍏抽棴 2.鑷姩鎵ц 3.浜哄伐澶勭悊 " prop="expirehandle">
+          <el-input v-model="form.expirehandle" placeholder="璇疯緭鍏� 杩囨湡澶勭悊;1.鑷姩鍏抽棴 2.鑷姩鎵ц 3.浜哄伐澶勭悊 " />
+        </el-form-item>
+        <el-form-item label=" 鑷姩缁撴;0.鍚� 1.鏄� " prop="autofinsh">
+          <el-input v-model="form.autofinsh" placeholder="璇疯緭鍏� 鑷姩缁撴;0.鍚� 1.鏄� " />
+        </el-form-item>
+        <el-form-item label=" 鍩虹嚎鏃堕棿;1.鍔犲叆鍚� 2.鍑洪櫌鍚� 3.灏辫瘖鍚� 4.鍏ラ櫌鍚� 5.鎵嬫湳鍓� 6.鎵嬫湳鍚� 7.寮�鑽墠 8.妫�楠岀敵璇峰悗 9.妫�楠屽畬鎴愬悗 10.妫�鏌ョ敵璇峰悗 11.妫�鏌ュ畬鎴愬悗 12.浜嬩欢鍙戠敓鍚� 13.鍩虹嚎鏃ユ湡鍚� " prop="baselinetime">
+          <el-input v-model="form.baselinetime" placeholder="璇疯緭鍏� 鍩虹嚎鏃堕棿;1.鍔犲叆鍚� 2.鍑洪櫌鍚� 3.灏辫瘖鍚� 4.鍏ラ櫌鍚� 5.鎵嬫湳鍓� 6.鎵嬫湳鍚� 7.寮�鑽墠 8.妫�楠岀敵璇峰悗 9.妫�楠屽畬鎴愬悗 10.妫�鏌ョ敵璇峰悗 11.妫�鏌ュ畬鎴愬悗 12.浜嬩欢鍙戠敓鍚� 13.鍩虹嚎鏃ユ湡鍚� " />
+        </el-form-item>
+        <el-form-item label=" 瑙﹀彂鏉′欢;0.鏃� 1.鏈� " prop="triggerornot">
+          <el-input v-model="form.triggerornot" placeholder="璇疯緭鍏� 瑙﹀彂鏉′欢;0.鏃� 1.鏈� " />
+        </el-form-item>
+        <el-form-item label=" 鏄惁鍚敤 " prop="isenable">
+          <el-input v-model="form.isenable" placeholder="璇疯緭鍏� 鏄惁鍚敤 " />
+        </el-form-item>
+        <el-form-item label=" 鏈烘瀯ID " prop="orgid">
+          <el-input v-model="form.orgid" placeholder="璇疯緭鍏� 鏈烘瀯ID " />
+        </el-form-item>
+        <el-form-item label=" 鍒犻櫎鏍囪 " prop="delFlag">
+          <el-input v-model="form.delFlag" placeholder="璇疯緭鍏� 鍒犻櫎鏍囪 " />
+        </el-form-item>
+        <el-form-item label=" 涓婁紶鏍囪 " prop="isupload">
+          <el-input v-model="form.isupload" placeholder="璇疯緭鍏� 涓婁紶鏍囪 " />
+        </el-form-item>
+        <el-form-item label=" 涓婁紶鏃堕棿 " prop="uploadTime">
+          <el-date-picker clearable
+            v-model="form.uploadTime"
+            type="date"
+            value-format="yyyy-MM-dd"
+            placeholder="璇烽�夋嫨 涓婁紶鏃堕棿 ">
+          </el-date-picker>
+        </el-form-item>
+        <el-form-item label=" 鐘舵��;0鏈紑鍚紝1宸插紑鍚紝2鍏抽棴 " prop="state">
+          <el-input v-model="form.state" placeholder="璇疯緭鍏� 鐘舵��;0鏈紑鍚紝1宸插紑鍚紝2鍏抽棴 " />
+        </el-form-item>
+        <el-form-item label=" 寮�鍚汉 " prop="openBy">
+          <el-input v-model="form.openBy" placeholder="璇疯緭鍏� 寮�鍚汉 " />
+        </el-form-item>
+        <el-form-item label=" 寮�鍚椂闂� " prop="openTime">
+          <el-date-picker clearable
+            v-model="form.openTime"
+            type="date"
+            value-format="yyyy-MM-dd"
+            placeholder="璇烽�夋嫨 寮�鍚椂闂� ">
+          </el-date-picker>
+        </el-form-item>
+        <el-form-item label=" 涓績搴撲唬鐮� " prop="centerlibrarycode">
+          <el-input v-model="form.centerlibrarycode" placeholder="璇疯緭鍏� 涓績搴撲唬鐮� " />
+        </el-form-item>
+        <el-form-item label=" 鏄惁鏈湴 " prop="islocal">
+          <el-input v-model="form.islocal" placeholder="璇疯緭鍏� 鏄惁鏈湴 " />
+        </el-form-item>
+        <el-form-item label=" 鏄惁閫氱敤;0.鍚� 1.鏄� " prop="iscurrency">
+          <el-input v-model="form.iscurrency" placeholder="璇疯緭鍏� 鏄惁閫氱敤;0.鍚� 1.鏄� " />
+        </el-form-item>
+      </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>
+</template>
+
+<script>
+import { listSchemelibrary, getSchemelibrary, delSchemelibrary, addSchemelibrary, updateSchemelibrary } from "@/api/smartor/schemelibrary";
+
+export default {
+  name: "Schemelibrary",
+  data() {
+    return {
+      // 閬僵灞�
+      loading: true,
+      // 閫変腑鏁扮粍
+      ids: [],
+      // 闈炲崟涓鐢�
+      single: true,
+      // 闈炲涓鐢�
+      multiple: true,
+      // 鏄剧ず鎼滅储鏉′欢
+      showSearch: true,
+      // 鎬绘潯鏁�
+      total: 0,
+      // 鏈嶅姟鏂规搴撹〃鏍兼暟鎹�
+      schemelibraryList: [],
+      // 寮瑰嚭灞傛爣棰�
+      title: "",
+      // 鏄惁鏄剧ず寮瑰嚭灞�
+      open: false,
+      // 鏌ヨ鍙傛暟
+      queryParams: {
+        pageNum: 1,
+        pageSize: 10,
+        schemecategoryid: null,
+        schemename: null,
+        description: null,
+        templateid: null,
+        version: null,
+        schemecode: null,
+        centerlibraryid: null,
+        patientsource: null,
+        belongdeptid: null,
+        ruledept: null,
+        belongwardid: null,
+        ruleward: null,
+        repeathandle: null,
+        expirehandle: null,
+        autofinsh: null,
+        baselinetime: null,
+        triggerornot: null,
+        isenable: null,
+        orgid: null,
+        isupload: null,
+        uploadTime: null,
+        state: null,
+        openBy: null,
+        openTime: null,
+        centerlibrarycode: null,
+        islocal: null,
+        iscurrency: null
+      },
+      // 琛ㄥ崟鍙傛暟
+      form: {},
+      // 琛ㄥ崟鏍¢獙
+      rules: {
+        delFlag: [
+          { required: true, message: " 鍒犻櫎鏍囪 涓嶈兘涓虹┖", trigger: "blur" }
+        ],
+        isupload: [
+          { required: true, message: " 涓婁紶鏍囪 涓嶈兘涓虹┖", trigger: "blur" }
+        ],
+      }
+    };
+  },
+  created() {
+    this.getList();
+  },
+  methods: {
+    /** 鏌ヨ鏈嶅姟鏂规搴撳垪琛� */
+    getList() {
+      this.loading = true;
+      listSchemelibrary(this.queryParams).then(response => {
+        this.schemelibraryList = response.rows;
+        this.total = response.total;
+        this.loading = false;
+      });
+    },
+    // 鍙栨秷鎸夐挳
+    cancel() {
+      this.open = false;
+      this.reset();
+    },
+    // 琛ㄥ崟閲嶇疆
+    reset() {
+      this.form = {
+        id: null,
+        schemecategoryid: null,
+        schemename: null,
+        description: null,
+        templateid: null,
+        version: null,
+        schemecode: null,
+        centerlibraryid: null,
+        patientsource: null,
+        belongdeptid: null,
+        ruledept: null,
+        belongwardid: null,
+        ruleward: null,
+        repeathandle: null,
+        expirehandle: null,
+        autofinsh: null,
+        baselinetime: null,
+        triggerornot: null,
+        isenable: null,
+        orgid: null,
+        delFlag: null,
+        updateBy: null,
+        updateTime: null,
+        createBy: null,
+        createTime: null,
+        isupload: null,
+        uploadTime: null,
+        state: null,
+        openBy: null,
+        openTime: null,
+        centerlibrarycode: null,
+        islocal: null,
+        iscurrency: null
+      };
+      this.resetForm("form");
+    },
+    /** 鎼滅储鎸夐挳鎿嶄綔 */
+    handleQuery() {
+      this.queryParams.pageNum = 1;
+      this.getList();
+    },
+    /** 閲嶇疆鎸夐挳鎿嶄綔 */
+    resetQuery() {
+      this.resetForm("queryForm");
+      this.handleQuery();
+    },
+    // 澶氶�夋閫変腑鏁版嵁
+    handleSelectionChange(selection) {
+      this.ids = selection.map(item => item.id)
+      this.single = selection.length!==1
+      this.multiple = !selection.length
+    },
+    /** 鏂板鎸夐挳鎿嶄綔 */
+    handleAdd() {
+      this.reset();
+      this.open = true;
+      this.title = "娣诲姞鏈嶅姟鏂规搴�";
+    },
+    /** 淇敼鎸夐挳鎿嶄綔 */
+    handleUpdate(row) {
+      this.reset();
+      const id = row.id || this.ids
+      getSchemelibrary(id).then(response => {
+        this.form = response.data;
+        this.open = true;
+        this.title = "淇敼鏈嶅姟鏂规搴�";
+      });
+    },
+    /** 鎻愪氦鎸夐挳 */
+    submitForm() {
+      this.$refs["form"].validate(valid => {
+        if (valid) {
+          if (this.form.id != null) {
+            updateSchemelibrary(this.form).then(response => {
+              this.$modal.msgSuccess("淇敼鎴愬姛");
+              this.open = false;
+              this.getList();
+            });
+          } else {
+            addSchemelibrary(this.form).then(response => {
+              this.$modal.msgSuccess("鏂板鎴愬姛");
+              this.open = false;
+              this.getList();
+            });
+          }
+        }
+      });
+    },
+    /** 鍒犻櫎鎸夐挳鎿嶄綔 */
+    handleDelete(row) {
+      const ids = row.id || this.ids;
+      this.$modal.confirm('鏄惁纭鍒犻櫎鏈嶅姟鏂规搴撶紪鍙蜂负"' + ids + '"鐨勬暟鎹」锛�').then(function() {
+        return delSchemelibrary(ids);
+      }).then(() => {
+        this.getList();
+        this.$modal.msgSuccess("鍒犻櫎鎴愬姛");
+      }).catch(() => {});
+    },
+    /** 瀵煎嚭鎸夐挳鎿嶄綔 */
+    handleExport() {
+      this.download('smartor/schemelibrary/export', {
+        ...this.queryParams
+      }, `schemelibrary_${new Date().getTime()}.xlsx`)
+    }
+  }
+};
+</script>
diff --git a/ruoyi-ui/src/views/smartor/schemeplan/index.vue b/ruoyi-ui/src/views/smartor/schemeplan/index.vue
new file mode 100644
index 0000000..48ee8e5
--- /dev/null
+++ b/ruoyi-ui/src/views/smartor/schemeplan/index.vue
@@ -0,0 +1,469 @@
+<template>
+  <div class="app-container">
+    <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
+      <el-form-item label=" 鏂规ID " prop="schemeid">
+        <el-input
+          v-model="queryParams.schemeid"
+          placeholder="璇疯緭鍏� 鏂规ID "
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label=" 鏂规浠g爜 " prop="schemecode">
+        <el-input
+          v-model="queryParams.schemecode"
+          placeholder="璇疯緭鍏� 鏂规浠g爜 "
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label=" 鎮h�匢D " prop="patientid">
+        <el-input
+          v-model="queryParams.patientid"
+          placeholder="璇疯緭鍏� 鎮h�匢D "
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label=" 瀵瑰簲璁板綍娴佹按鍙� " prop="serialnum">
+        <el-input
+          v-model="queryParams.serialnum"
+          placeholder="璇疯緭鍏� 瀵瑰簲璁板綍娴佹按鍙� "
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label=" 灏辫瘖ID " prop="visitid">
+        <el-input
+          v-model="queryParams.visitid"
+          placeholder="璇疯緭鍏� 灏辫瘖ID "
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label=" 鐘舵��;0.寰呭紑濮� 1.杩涜涓� 9.宸茬粨妗� " prop="state">
+        <el-input
+          v-model="queryParams.state"
+          placeholder="璇疯緭鍏� 鐘舵��;0.寰呭紑濮� 1.杩涜涓� 9.宸茬粨妗� "
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label=" 缁撴鏃堕棿 " prop="finshtime">
+        <el-date-picker clearable
+          v-model="queryParams.finshtime"
+          type="date"
+          value-format="yyyy-MM-dd"
+          placeholder="璇烽�夋嫨 缁撴鏃堕棿 ">
+        </el-date-picker>
+      </el-form-item>
+      <el-form-item label=" 鎮h�呮潵婧�;0.鍏ㄩ櫌(閫氱敤) 1.鍑洪櫌 2.鍦ㄩ櫌 3.闂ㄨ瘖 4.浣撴 5.鏃� " prop="patientsource">
+        <el-input
+          v-model="queryParams.patientsource"
+          placeholder="璇疯緭鍏� 鎮h�呮潵婧�;0.鍏ㄩ櫌(閫氱敤) 1.鍑洪櫌 2.鍦ㄩ櫌 3.闂ㄨ瘖 4.浣撴 5.鏃� "
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label=" 鍩虹嚎鏃堕棿 " prop="basetime">
+        <el-date-picker clearable
+          v-model="queryParams.basetime"
+          type="date"
+          value-format="yyyy-MM-dd"
+          placeholder="璇烽�夋嫨 鍩虹嚎鏃堕棿 ">
+        </el-date-picker>
+      </el-form-item>
+      <el-form-item label=" 鏈烘瀯ID " prop="orgid">
+        <el-input
+          v-model="queryParams.orgid"
+          placeholder="璇疯緭鍏� 鏈烘瀯ID "
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label=" 鍏宠仈琛↖D " prop="relationid">
+        <el-input
+          v-model="queryParams.relationid"
+          placeholder="璇疯緭鍏� 鍏宠仈琛↖D "
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label=" 涓婁紶鏍囪 " prop="isupload">
+        <el-input
+          v-model="queryParams.isupload"
+          placeholder="璇疯緭鍏� 涓婁紶鏍囪 "
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label=" 涓婁紶鏃堕棿 " prop="uploadTime">
+        <el-date-picker clearable
+          v-model="queryParams.uploadTime"
+          type="date"
+          value-format="yyyy-MM-dd"
+          placeholder="璇烽�夋嫨 涓婁紶鏃堕棿 ">
+        </el-date-picker>
+      </el-form-item>
+      <el-form-item>
+        <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">鎼滅储</el-button>
+        <el-button icon="el-icon-refresh" size="mini" @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="mini"
+          @click="handleAdd"
+          v-hasPermi="['smartor:schemeplan:add']"
+        >鏂板</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="success"
+          plain
+          icon="el-icon-edit"
+          size="mini"
+          :disabled="single"
+          @click="handleUpdate"
+          v-hasPermi="['smartor:schemeplan:edit']"
+        >淇敼</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="danger"
+          plain
+          icon="el-icon-delete"
+          size="mini"
+          :disabled="multiple"
+          @click="handleDelete"
+          v-hasPermi="['smartor:schemeplan:remove']"
+        >鍒犻櫎</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="warning"
+          plain
+          icon="el-icon-download"
+          size="mini"
+          @click="handleExport"
+          v-hasPermi="['smartor:schemeplan:export']"
+        >瀵煎嚭</el-button>
+      </el-col>
+      <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
+    </el-row>
+
+    <el-table v-loading="loading" :data="schemeplanList" @selection-change="handleSelectionChange">
+      <el-table-column type="selection" width="55" align="center" />
+      <el-table-column label=" 鑷ID " align="center" prop="id" />
+      <el-table-column label=" 鏂规ID " align="center" prop="schemeid" />
+      <el-table-column label=" 鏂规浠g爜 " align="center" prop="schemecode" />
+      <el-table-column label=" 鎮h�匢D " align="center" prop="patientid" />
+      <el-table-column label=" 瀵瑰簲璁板綍娴佹按鍙� " align="center" prop="serialnum" />
+      <el-table-column label=" 灏辫瘖ID " align="center" prop="visitid" />
+      <el-table-column label=" 灏辫瘖绫诲瀷 " align="center" prop="visittype" />
+      <el-table-column label=" 鐘舵��;0.寰呭紑濮� 1.杩涜涓� 9.宸茬粨妗� " align="center" prop="state" />
+      <el-table-column label=" 缁撴鏃堕棿 " align="center" prop="finshtime" width="180">
+        <template slot-scope="scope">
+          <span>{{ parseTime(scope.row.finshtime, '{y}-{m}-{d}') }}</span>
+        </template>
+      </el-table-column>
+      <el-table-column label=" 鏉ユ簮绫诲瀷;1.鑷姩鐢熸垚 2.鎵嬪姩鍖归厤 3.鎵嬪姩娣诲姞 3.鎵归噺瀵煎叆 " align="center" prop="sourcetype" />
+      <el-table-column label=" 鎮h�呮潵婧�;0.鍏ㄩ櫌(閫氱敤) 1.鍑洪櫌 2.鍦ㄩ櫌 3.闂ㄨ瘖 4.浣撴 5.鏃� " align="center" prop="patientsource" />
+      <el-table-column label=" 缁撴绫诲瀷 " align="center" prop="finshtype" />
+      <el-table-column label=" 缁撴璇存槑 " align="center" prop="finshdesc" />
+      <el-table-column label=" 鍩虹嚎鏃堕棿 " align="center" prop="basetime" width="180">
+        <template slot-scope="scope">
+          <span>{{ parseTime(scope.row.basetime, '{y}-{m}-{d}') }}</span>
+        </template>
+      </el-table-column>
+      <el-table-column label=" 鏈烘瀯ID " align="center" prop="orgid" />
+      <el-table-column label=" 鍏宠仈琛↖D " align="center" prop="relationid" />
+      <el-table-column label=" 涓婁紶鏍囪 " align="center" prop="isupload" />
+      <el-table-column label=" 涓婁紶鏃堕棿 " align="center" prop="uploadTime" width="180">
+        <template slot-scope="scope">
+          <span>{{ parseTime(scope.row.uploadTime, '{y}-{m}-{d}') }}</span>
+        </template>
+      </el-table-column>
+      <el-table-column label="鎿嶄綔" align="center" class-name="small-padding fixed-width">
+        <template slot-scope="scope">
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-edit"
+            @click="handleUpdate(scope.row)"
+            v-hasPermi="['smartor:schemeplan:edit']"
+          >淇敼</el-button>
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-delete"
+            @click="handleDelete(scope.row)"
+            v-hasPermi="['smartor:schemeplan:remove']"
+          >鍒犻櫎</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-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
+      <el-form ref="form" :model="form" :rules="rules" label-width="80px">
+        <el-form-item label=" 鏂规ID " prop="schemeid">
+          <el-input v-model="form.schemeid" placeholder="璇疯緭鍏� 鏂规ID " />
+        </el-form-item>
+        <el-form-item label=" 鏂规浠g爜 " prop="schemecode">
+          <el-input v-model="form.schemecode" placeholder="璇疯緭鍏� 鏂规浠g爜 " />
+        </el-form-item>
+        <el-form-item label=" 鎮h�匢D " prop="patientid">
+          <el-input v-model="form.patientid" placeholder="璇疯緭鍏� 鎮h�匢D " />
+        </el-form-item>
+        <el-form-item label=" 瀵瑰簲璁板綍娴佹按鍙� " prop="serialnum">
+          <el-input v-model="form.serialnum" placeholder="璇疯緭鍏� 瀵瑰簲璁板綍娴佹按鍙� " />
+        </el-form-item>
+        <el-form-item label=" 灏辫瘖ID " prop="visitid">
+          <el-input v-model="form.visitid" placeholder="璇疯緭鍏� 灏辫瘖ID " />
+        </el-form-item>
+        <el-form-item label=" 鐘舵��;0.寰呭紑濮� 1.杩涜涓� 9.宸茬粨妗� " prop="state">
+          <el-input v-model="form.state" placeholder="璇疯緭鍏� 鐘舵��;0.寰呭紑濮� 1.杩涜涓� 9.宸茬粨妗� " />
+        </el-form-item>
+        <el-form-item label=" 缁撴鏃堕棿 " prop="finshtime">
+          <el-date-picker clearable
+            v-model="form.finshtime"
+            type="date"
+            value-format="yyyy-MM-dd"
+            placeholder="璇烽�夋嫨 缁撴鏃堕棿 ">
+          </el-date-picker>
+        </el-form-item>
+        <el-form-item label=" 鎮h�呮潵婧�;0.鍏ㄩ櫌(閫氱敤) 1.鍑洪櫌 2.鍦ㄩ櫌 3.闂ㄨ瘖 4.浣撴 5.鏃� " prop="patientsource">
+          <el-input v-model="form.patientsource" placeholder="璇疯緭鍏� 鎮h�呮潵婧�;0.鍏ㄩ櫌(閫氱敤) 1.鍑洪櫌 2.鍦ㄩ櫌 3.闂ㄨ瘖 4.浣撴 5.鏃� " />
+        </el-form-item>
+        <el-form-item label=" 缁撴璇存槑 " prop="finshdesc">
+          <el-input v-model="form.finshdesc" type="textarea" placeholder="璇疯緭鍏ュ唴瀹�" />
+        </el-form-item>
+        <el-form-item label=" 鍩虹嚎鏃堕棿 " prop="basetime">
+          <el-date-picker clearable
+            v-model="form.basetime"
+            type="date"
+            value-format="yyyy-MM-dd"
+            placeholder="璇烽�夋嫨 鍩虹嚎鏃堕棿 ">
+          </el-date-picker>
+        </el-form-item>
+        <el-form-item label=" 鏈烘瀯ID " prop="orgid">
+          <el-input v-model="form.orgid" placeholder="璇疯緭鍏� 鏈烘瀯ID " />
+        </el-form-item>
+        <el-form-item label=" 鍏宠仈琛↖D " prop="relationid">
+          <el-input v-model="form.relationid" placeholder="璇疯緭鍏� 鍏宠仈琛↖D " />
+        </el-form-item>
+        <el-form-item label=" 鍒犻櫎鏍囪 " prop="delFlag">
+          <el-input v-model="form.delFlag" placeholder="璇疯緭鍏� 鍒犻櫎鏍囪 " />
+        </el-form-item>
+        <el-form-item label=" 涓婁紶鏍囪 " prop="isupload">
+          <el-input v-model="form.isupload" placeholder="璇疯緭鍏� 涓婁紶鏍囪 " />
+        </el-form-item>
+        <el-form-item label=" 涓婁紶鏃堕棿 " prop="uploadTime">
+          <el-date-picker clearable
+            v-model="form.uploadTime"
+            type="date"
+            value-format="yyyy-MM-dd"
+            placeholder="璇烽�夋嫨 涓婁紶鏃堕棿 ">
+          </el-date-picker>
+        </el-form-item>
+      </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>
+</template>
+
+<script>
+import { listSchemeplan, getSchemeplan, delSchemeplan, addSchemeplan, updateSchemeplan } from "@/api/smartor/schemeplan";
+
+export default {
+  name: "Schemeplan",
+  data() {
+    return {
+      // 閬僵灞�
+      loading: true,
+      // 閫変腑鏁扮粍
+      ids: [],
+      // 闈炲崟涓鐢�
+      single: true,
+      // 闈炲涓鐢�
+      multiple: true,
+      // 鏄剧ず鎼滅储鏉′欢
+      showSearch: true,
+      // 鎬绘潯鏁�
+      total: 0,
+      // 绠$悊璁″垝琛ㄦ牸鏁版嵁
+      schemeplanList: [],
+      // 寮瑰嚭灞傛爣棰�
+      title: "",
+      // 鏄惁鏄剧ず寮瑰嚭灞�
+      open: false,
+      // 鏌ヨ鍙傛暟
+      queryParams: {
+        pageNum: 1,
+        pageSize: 10,
+        schemeid: null,
+        schemecode: null,
+        patientid: null,
+        serialnum: null,
+        visitid: null,
+        visittype: null,
+        state: null,
+        finshtime: null,
+        sourcetype: null,
+        patientsource: null,
+        finshtype: null,
+        finshdesc: null,
+        basetime: null,
+        orgid: null,
+        relationid: null,
+        isupload: null,
+        uploadTime: null
+      },
+      // 琛ㄥ崟鍙傛暟
+      form: {},
+      // 琛ㄥ崟鏍¢獙
+      rules: {
+        delFlag: [
+          { required: true, message: " 鍒犻櫎鏍囪 涓嶈兘涓虹┖", trigger: "blur" }
+        ],
+        isupload: [
+          { required: true, message: " 涓婁紶鏍囪 涓嶈兘涓虹┖", trigger: "blur" }
+        ],
+      }
+    };
+  },
+  created() {
+    this.getList();
+  },
+  methods: {
+    /** 鏌ヨ绠$悊璁″垝鍒楄〃 */
+    getList() {
+      this.loading = true;
+      listSchemeplan(this.queryParams).then(response => {
+        this.schemeplanList = response.rows;
+        this.total = response.total;
+        this.loading = false;
+      });
+    },
+    // 鍙栨秷鎸夐挳
+    cancel() {
+      this.open = false;
+      this.reset();
+    },
+    // 琛ㄥ崟閲嶇疆
+    reset() {
+      this.form = {
+        id: null,
+        schemeid: null,
+        schemecode: null,
+        patientid: null,
+        serialnum: null,
+        visitid: null,
+        visittype: null,
+        state: null,
+        finshtime: null,
+        sourcetype: null,
+        patientsource: null,
+        finshtype: null,
+        finshdesc: null,
+        basetime: null,
+        orgid: null,
+        relationid: null,
+        delFlag: null,
+        createBy: null,
+        createTime: null,
+        updateBy: null,
+        updateTime: null,
+        isupload: null,
+        uploadTime: null
+      };
+      this.resetForm("form");
+    },
+    /** 鎼滅储鎸夐挳鎿嶄綔 */
+    handleQuery() {
+      this.queryParams.pageNum = 1;
+      this.getList();
+    },
+    /** 閲嶇疆鎸夐挳鎿嶄綔 */
+    resetQuery() {
+      this.resetForm("queryForm");
+      this.handleQuery();
+    },
+    // 澶氶�夋閫変腑鏁版嵁
+    handleSelectionChange(selection) {
+      this.ids = selection.map(item => item.id)
+      this.single = selection.length!==1
+      this.multiple = !selection.length
+    },
+    /** 鏂板鎸夐挳鎿嶄綔 */
+    handleAdd() {
+      this.reset();
+      this.open = true;
+      this.title = "娣诲姞绠$悊璁″垝";
+    },
+    /** 淇敼鎸夐挳鎿嶄綔 */
+    handleUpdate(row) {
+      this.reset();
+      const id = row.id || this.ids
+      getSchemeplan(id).then(response => {
+        this.form = response.data;
+        this.open = true;
+        this.title = "淇敼绠$悊璁″垝";
+      });
+    },
+    /** 鎻愪氦鎸夐挳 */
+    submitForm() {
+      this.$refs["form"].validate(valid => {
+        if (valid) {
+          if (this.form.id != null) {
+            updateSchemeplan(this.form).then(response => {
+              this.$modal.msgSuccess("淇敼鎴愬姛");
+              this.open = false;
+              this.getList();
+            });
+          } else {
+            addSchemeplan(this.form).then(response => {
+              this.$modal.msgSuccess("鏂板鎴愬姛");
+              this.open = false;
+              this.getList();
+            });
+          }
+        }
+      });
+    },
+    /** 鍒犻櫎鎸夐挳鎿嶄綔 */
+    handleDelete(row) {
+      const ids = row.id || this.ids;
+      this.$modal.confirm('鏄惁纭鍒犻櫎绠$悊璁″垝缂栧彿涓�"' + ids + '"鐨勬暟鎹」锛�').then(function() {
+        return delSchemeplan(ids);
+      }).then(() => {
+        this.getList();
+        this.$modal.msgSuccess("鍒犻櫎鎴愬姛");
+      }).catch(() => {});
+    },
+    /** 瀵煎嚭鎸夐挳鎿嶄綔 */
+    handleExport() {
+      this.download('smartor/schemeplan/export', {
+        ...this.queryParams
+      }, `schemeplan_${new Date().getTime()}.xlsx`)
+    }
+  }
+};
+</script>
diff --git a/ruoyi-ui/src/views/smartor/schemetask/index.vue b/ruoyi-ui/src/views/smartor/schemetask/index.vue
new file mode 100644
index 0000000..4414c12
--- /dev/null
+++ b/ruoyi-ui/src/views/smartor/schemetask/index.vue
@@ -0,0 +1,839 @@
+<template>
+  <div class="app-container">
+    <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
+      <el-form-item label=" 鏂规ID " prop="schemeid">
+        <el-input
+          v-model="queryParams.schemeid"
+          placeholder="璇疯緭鍏� 鏂规ID "
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label=" 璁″垝ID " prop="schemeplanid">
+        <el-input
+          v-model="queryParams.schemeplanid"
+          placeholder="璇疯緭鍏� 璁″垝ID "
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label=" 鎮h�匢D " prop="patientid">
+        <el-input
+          v-model="queryParams.patientid"
+          placeholder="璇疯緭鍏� 鎮h�匢D "
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label=" 鐘舵��;0.寰呭紑濮� 1.杩涜涓� 2.宸插畬鎴� 3.澶辫 9.宸插叧闂� " prop="state">
+        <el-input
+          v-model="queryParams.state"
+          placeholder="璇疯緭鍏� 鐘舵��;0.寰呭紑濮� 1.杩涜涓� 2.宸插畬鎴� 3.澶辫 9.宸插叧闂� "
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label=" 鍩虹嚎鏃堕棿 " prop="baselinetime">
+        <el-date-picker clearable
+          v-model="queryParams.baselinetime"
+          type="date"
+          value-format="yyyy-MM-dd"
+          placeholder="璇烽�夋嫨 鍩虹嚎鏃堕棿 ">
+        </el-date-picker>
+      </el-form-item>
+      <el-form-item label=" 璁″垝鎵ц鏃堕棿 " prop="plantime">
+        <el-date-picker clearable
+          v-model="queryParams.plantime"
+          type="date"
+          value-format="yyyy-MM-dd"
+          placeholder="璇烽�夋嫨 璁″垝鎵ц鏃堕棿 ">
+        </el-date-picker>
+      </el-form-item>
+      <el-form-item label=" 瀹為檯瀹屾垚鏃堕棿 " prop="actualtime">
+        <el-date-picker clearable
+          v-model="queryParams.actualtime"
+          type="date"
+          value-format="yyyy-MM-dd"
+          placeholder="璇烽�夋嫨 瀹為檯瀹屾垚鏃堕棿 ">
+        </el-date-picker>
+      </el-form-item>
+      <el-form-item label=" 閫炬湡鏃堕棿 " prop="overtime">
+        <el-date-picker clearable
+          v-model="queryParams.overtime"
+          type="date"
+          value-format="yyyy-MM-dd"
+          placeholder="璇烽�夋嫨 閫炬湡鏃堕棿 ">
+        </el-date-picker>
+      </el-form-item>
+      <el-form-item label=" 鏈烘瀯ID " prop="orgid">
+        <el-input
+          v-model="queryParams.orgid"
+          placeholder="璇疯緭鍏� 鏈烘瀯ID "
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label=" 涓婁紶鏍囪 " prop="isupload">
+        <el-input
+          v-model="queryParams.isupload"
+          placeholder="璇疯緭鍏� 涓婁紶鏍囪 "
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label=" 涓婁紶鏃堕棿 " prop="uploadTime">
+        <el-date-picker clearable
+          v-model="queryParams.uploadTime"
+          type="date"
+          value-format="yyyy-MM-dd"
+          placeholder="璇烽�夋嫨 涓婁紶鏃堕棿 ">
+        </el-date-picker>
+      </el-form-item>
+      <el-form-item label=" 鎮h�呮潵婧�;0.鍏ㄩ櫌(閫氱敤) 1.鍑洪櫌 2.鍦ㄩ櫌 3.闂ㄨ瘖 4.浣撴 5.鏃� " prop="patientsource">
+        <el-input
+          v-model="queryParams.patientsource"
+          placeholder="璇疯緭鍏� 鎮h�呮潵婧�;0.鍏ㄩ櫌(閫氱敤) 1.鍑洪櫌 2.鍦ㄩ櫌 3.闂ㄨ瘖 4.浣撴 5.鏃� "
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label=" 閰嶇疆ID " prop="taskconfigid">
+        <el-input
+          v-model="queryParams.taskconfigid"
+          placeholder="璇疯緭鍏� 閰嶇疆ID "
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label=" 鍏宠仈缂栧彿 绉戝&椤圭洰&闂嵎&瀹f暀 " prop="relationid">
+        <el-input
+          v-model="queryParams.relationid"
+          placeholder="璇疯緭鍏� 鍏宠仈缂栧彿 绉戝&椤圭洰&闂嵎&瀹f暀 "
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label=" 鍏宠仈鍚嶇О " prop="relationname">
+        <el-input
+          v-model="queryParams.relationname"
+          placeholder="璇疯緭鍏� 鍏宠仈鍚嶇О "
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label=" 鍏抽棴鏃堕棿 " prop="finshtime">
+        <el-date-picker clearable
+          v-model="queryParams.finshtime"
+          type="date"
+          value-format="yyyy-MM-dd"
+          placeholder="璇烽�夋嫨 鍏抽棴鏃堕棿 ">
+        </el-date-picker>
+      </el-form-item>
+      <el-form-item label=" 鏈夋晥鏈� " prop="termvaliditytime">
+        <el-date-picker clearable
+          v-model="queryParams.termvaliditytime"
+          type="date"
+          value-format="yyyy-MM-dd"
+          placeholder="璇烽�夋嫨 鏈夋晥鏈� ">
+        </el-date-picker>
+      </el-form-item>
+      <el-form-item label=" 灏辫瘖ID " prop="visitid">
+        <el-input
+          v-model="queryParams.visitid"
+          placeholder="璇疯緭鍏� 灏辫瘖ID "
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label=" 浠诲姟鏉ユ簮;0.鑷姩鍒涘缓 1.鎵嬪姩鍒涘缓 " prop="tasksource">
+        <el-input
+          v-model="queryParams.tasksource"
+          placeholder="璇疯緭鍏� 浠诲姟鏉ユ簮;0.鑷姩鍒涘缓 1.鎵嬪姩鍒涘缓 "
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label=" 鏄惁浜哄伐澶勭悊;1鏄� 0鍚� " prop="isartificial">
+        <el-input
+          v-model="queryParams.isartificial"
+          placeholder="璇疯緭鍏� 鏄惁浜哄伐澶勭悊;1鏄� 0鍚� "
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label=" 灏嗛�炬湡鏃堕棿 " prop="overduetipstime">
+        <el-date-picker clearable
+          v-model="queryParams.overduetipstime"
+          type="date"
+          value-format="yyyy-MM-dd"
+          placeholder="璇烽�夋嫨 灏嗛�炬湡鏃堕棿 ">
+        </el-date-picker>
+      </el-form-item>
+      <el-form-item label=" 鏄惁寮傚父璺熻繘浠诲姟;1鏄� 0鍚� " prop="isabnormal">
+        <el-input
+          v-model="queryParams.isabnormal"
+          placeholder="璇疯緭鍏� 鏄惁寮傚父璺熻繘浠诲姟;1鏄� 0鍚� "
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label=" 宸茬粡浜哄伐澶勭悊鏍囧織;1宸茬粡浜哄伐澶勭悊杩�  0杩樻湭杩涜浜哄伐澶勭悊 " prop="artificialtag">
+        <el-input
+          v-model="queryParams.artificialtag"
+          placeholder="璇疯緭鍏� 宸茬粡浜哄伐澶勭悊鏍囧織;1宸茬粡浜哄伐澶勭悊杩�  0杩樻湭杩涜浜哄伐澶勭悊 "
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label=" 鍏宠仈浠g爜 闂嵎&瀹f暀 " prop="relationcode">
+        <el-input
+          v-model="queryParams.relationcode"
+          placeholder="璇疯緭鍏� 鍏宠仈浠g爜 闂嵎&瀹f暀 "
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label=" 鏂规浠g爜 " prop="schemecode">
+        <el-input
+          v-model="queryParams.schemecode"
+          placeholder="璇疯緭鍏� 鏂规浠g爜 "
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label=" 鏈�鍚庝竴娆¤鍒掓墽琛屾椂闂� " prop="lastplantime">
+        <el-date-picker clearable
+          v-model="queryParams.lastplantime"
+          type="date"
+          value-format="yyyy-MM-dd"
+          placeholder="璇烽�夋嫨 鏈�鍚庝竴娆¤鍒掓墽琛屾椂闂� ">
+        </el-date-picker>
+      </el-form-item>
+      <el-form-item label=" 鏄惁涓烘祴璇曚换鍔�;0.鍚� 1.鏄� " prop="istest">
+        <el-input
+          v-model="queryParams.istest"
+          placeholder="璇疯緭鍏� 鏄惁涓烘祴璇曚换鍔�;0.鍚� 1.鏄� "
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label=" 绗竴娆¤鍒掓墽琛屾椂闂� " prop="firstplantime">
+        <el-date-picker clearable
+          v-model="queryParams.firstplantime"
+          type="date"
+          value-format="yyyy-MM-dd"
+          placeholder="璇烽�夋嫨 绗竴娆¤鍒掓墽琛屾椂闂� ">
+        </el-date-picker>
+      </el-form-item>
+      <el-form-item label=" 閲嶅彂娆℃暟;Null琛ㄧず鏃犻渶閲嶅彂 0琛ㄧず闇�瑕侀噸鍙� 鏁板瓧琛ㄧず宸茬粡閲嶅彂浜嗗嚑娆� " prop="repeatsecond">
+        <el-input
+          v-model="queryParams.repeatsecond"
+          placeholder="璇疯緭鍏� 閲嶅彂娆℃暟;Null琛ㄧず鏃犻渶閲嶅彂 0琛ㄧず闇�瑕侀噸鍙� 鏁板瓧琛ㄧず宸茬粡閲嶅彂浜嗗嚑娆� "
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label=" 鏄惁瀛樺湪閲嶅彂鏍囪 " prop="isrepeat">
+        <el-input
+          v-model="queryParams.isrepeat"
+          placeholder="璇疯緭鍏� 鏄惁瀛樺湪閲嶅彂鏍囪 "
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label=" 鎵嬪姩鎵ц鏍囪 " prop="ismanual">
+        <el-input
+          v-model="queryParams.ismanual"
+          placeholder="璇疯緭鍏� 鎵嬪姩鎵ц鏍囪 "
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label=" 澶辫鏃堕棿 " prop="losstime">
+        <el-date-picker clearable
+          v-model="queryParams.losstime"
+          type="date"
+          value-format="yyyy-MM-dd"
+          placeholder="璇烽�夋嫨 澶辫鏃堕棿 ">
+        </el-date-picker>
+      </el-form-item>
+      <el-form-item label=" " prop="relationlistid">
+        <el-input
+          v-model="queryParams.relationlistid"
+          placeholder="璇疯緭鍏� "
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item>
+        <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">鎼滅储</el-button>
+        <el-button icon="el-icon-refresh" size="mini" @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="mini"
+          @click="handleAdd"
+          v-hasPermi="['smartor:schemetask:add']"
+        >鏂板</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="success"
+          plain
+          icon="el-icon-edit"
+          size="mini"
+          :disabled="single"
+          @click="handleUpdate"
+          v-hasPermi="['smartor:schemetask:edit']"
+        >淇敼</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="danger"
+          plain
+          icon="el-icon-delete"
+          size="mini"
+          :disabled="multiple"
+          @click="handleDelete"
+          v-hasPermi="['smartor:schemetask:remove']"
+        >鍒犻櫎</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="warning"
+          plain
+          icon="el-icon-download"
+          size="mini"
+          @click="handleExport"
+          v-hasPermi="['smartor:schemetask:export']"
+        >瀵煎嚭</el-button>
+      </el-col>
+      <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
+    </el-row>
+
+    <el-table v-loading="loading" :data="schemetaskList" @selection-change="handleSelectionChange">
+      <el-table-column type="selection" width="55" align="center" />
+      <el-table-column label=" 鑷ID " align="center" prop="id" />
+      <el-table-column label=" 鏂规ID " align="center" prop="schemeid" />
+      <el-table-column label=" 璁″垝ID " align="center" prop="schemeplanid" />
+      <el-table-column label=" 鎮h�匢D " align="center" prop="patientid" />
+      <el-table-column label=" 鐘舵��;0.寰呭紑濮� 1.杩涜涓� 2.宸插畬鎴� 3.澶辫 9.宸插叧闂� " align="center" prop="state" />
+      <el-table-column label=" 鍩虹嚎鏃堕棿 " align="center" prop="baselinetime" width="180">
+        <template slot-scope="scope">
+          <span>{{ parseTime(scope.row.baselinetime, '{y}-{m}-{d}') }}</span>
+        </template>
+      </el-table-column>
+      <el-table-column label=" 璁″垝鎵ц鏃堕棿 " align="center" prop="plantime" width="180">
+        <template slot-scope="scope">
+          <span>{{ parseTime(scope.row.plantime, '{y}-{m}-{d}') }}</span>
+        </template>
+      </el-table-column>
+      <el-table-column label=" 瀹為檯瀹屾垚鏃堕棿 " align="center" prop="actualtime" width="180">
+        <template slot-scope="scope">
+          <span>{{ parseTime(scope.row.actualtime, '{y}-{m}-{d}') }}</span>
+        </template>
+      </el-table-column>
+      <el-table-column label=" 閫炬湡鏃堕棿 " align="center" prop="overtime" width="180">
+        <template slot-scope="scope">
+          <span>{{ parseTime(scope.row.overtime, '{y}-{m}-{d}') }}</span>
+        </template>
+      </el-table-column>
+      <el-table-column label=" 鏈烘瀯ID " align="center" prop="orgid" />
+      <el-table-column label=" 涓婁紶鏍囪 " align="center" prop="isupload" />
+      <el-table-column label=" 涓婁紶鏃堕棿 " align="center" prop="uploadTime" width="180">
+        <template slot-scope="scope">
+          <span>{{ parseTime(scope.row.uploadTime, '{y}-{m}-{d}') }}</span>
+        </template>
+      </el-table-column>
+      <el-table-column label=" 鎮h�呮潵婧�;0.鍏ㄩ櫌(閫氱敤) 1.鍑洪櫌 2.鍦ㄩ櫌 3.闂ㄨ瘖 4.浣撴 5.鏃� " align="center" prop="patientsource" />
+      <el-table-column label=" 閰嶇疆ID " align="center" prop="taskconfigid" />
+      <el-table-column label=" 鍏宠仈缂栧彿 绉戝&椤圭洰&闂嵎&瀹f暀 " align="center" prop="relationid" />
+      <el-table-column label=" 鍏宠仈鍚嶇О " align="center" prop="relationname" />
+      <el-table-column label=" 浠嬬粛&鎻愰啋鍐呭 " align="center" prop="content" />
+      <el-table-column label=" 鎻愮ず鍐呭 " align="center" prop="tipscontent" />
+      <el-table-column label=" 浠诲姟绫诲瀷 " align="center" prop="tasktype" />
+      <el-table-column label=" 鍏抽棴鏃堕棿 " align="center" prop="finshtime" width="180">
+        <template slot-scope="scope">
+          <span>{{ parseTime(scope.row.finshtime, '{y}-{m}-{d}') }}</span>
+        </template>
+      </el-table-column>
+      <el-table-column label=" 鍏抽棴绫诲瀷;0.鑷姩鍏抽棴 1.浠诲姟閲嶅 2.鎮h�呮浜� 3.鎮h�呮嫆缁濈鐞� 4.鎮h�呴厤鍚堝害涓嶅 5.鎮h�呬綇闄� 6.鍏朵粬 " align="center" prop="finshtype" />
+      <el-table-column label=" 鍏抽棴璇存槑 " align="center" prop="finshdesc" />
+      <el-table-column label=" 鏈夋晥鏈� " align="center" prop="termvaliditytime" width="180">
+        <template slot-scope="scope">
+          <span>{{ parseTime(scope.row.termvaliditytime, '{y}-{m}-{d}') }}</span>
+        </template>
+      </el-table-column>
+      <el-table-column label=" 鏄惁鐢熸垚鏂规;0鏈敓鎴� 1鐢熸垚 9鏃犲尮閰嶆柟妗� " align="center" prop="schemestatus" />
+      <el-table-column label=" 灏辫瘖ID " align="center" prop="visitid" />
+      <el-table-column label=" 灏辫瘖绫诲瀷 " align="center" prop="visittype" />
+      <el-table-column label=" 浠诲姟鏉ユ簮;0.鑷姩鍒涘缓 1.鎵嬪姩鍒涘缓 " align="center" prop="tasksource" />
+      <el-table-column label=" 鍏宠仈椤圭洰绫诲瀷;1.妫�鏌� 2.妫�楠� " align="center" prop="relationtype" />
+      <el-table-column label=" 鏄惁浜哄伐澶勭悊;1鏄� 0鍚� " align="center" prop="isartificial" />
+      <el-table-column label=" 灏嗛�炬湡鏃堕棿 " align="center" prop="overduetipstime" width="180">
+        <template slot-scope="scope">
+          <span>{{ parseTime(scope.row.overduetipstime, '{y}-{m}-{d}') }}</span>
+        </template>
+      </el-table-column>
+      <el-table-column label=" 鏄惁寮傚父璺熻繘浠诲姟;1鏄� 0鍚� " align="center" prop="isabnormal" />
+      <el-table-column label=" 宸茬粡浜哄伐澶勭悊鏍囧織;1宸茬粡浜哄伐澶勭悊杩�  0杩樻湭杩涜浜哄伐澶勭悊 " align="center" prop="artificialtag" />
+      <el-table-column label=" 鍏宠仈浠g爜 闂嵎&瀹f暀 " align="center" prop="relationcode" />
+      <el-table-column label=" 鏂规浠g爜 " align="center" prop="schemecode" />
+      <el-table-column label=" 鏈�鍚庝竴娆¤鍒掓墽琛屾椂闂� " align="center" prop="lastplantime" width="180">
+        <template slot-scope="scope">
+          <span>{{ parseTime(scope.row.lastplantime, '{y}-{m}-{d}') }}</span>
+        </template>
+      </el-table-column>
+      <el-table-column label=" 鏄惁涓烘祴璇曚换鍔�;0.鍚� 1.鏄� " align="center" prop="istest" />
+      <el-table-column label=" 绗竴娆¤鍒掓墽琛屾椂闂� " align="center" prop="firstplantime" width="180">
+        <template slot-scope="scope">
+          <span>{{ parseTime(scope.row.firstplantime, '{y}-{m}-{d}') }}</span>
+        </template>
+      </el-table-column>
+      <el-table-column label=" 閲嶅彂娆℃暟;Null琛ㄧず鏃犻渶閲嶅彂 0琛ㄧず闇�瑕侀噸鍙� 鏁板瓧琛ㄧず宸茬粡閲嶅彂浜嗗嚑娆� " align="center" prop="repeatsecond" />
+      <el-table-column label=" 鏄惁瀛樺湪閲嶅彂鏍囪 " align="center" prop="isrepeat" />
+      <el-table-column label=" 鎵嬪姩鎵ц鏍囪 " align="center" prop="ismanual" />
+      <el-table-column label=" 澶辫鏃堕棿 " align="center" prop="losstime" width="180">
+        <template slot-scope="scope">
+          <span>{{ parseTime(scope.row.losstime, '{y}-{m}-{d}') }}</span>
+        </template>
+      </el-table-column>
+      <el-table-column label=" " align="center" prop="relationlistid" />
+      <el-table-column label="鎿嶄綔" align="center" class-name="small-padding fixed-width">
+        <template slot-scope="scope">
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-edit"
+            @click="handleUpdate(scope.row)"
+            v-hasPermi="['smartor:schemetask:edit']"
+          >淇敼</el-button>
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-delete"
+            @click="handleDelete(scope.row)"
+            v-hasPermi="['smartor:schemetask:remove']"
+          >鍒犻櫎</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-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
+      <el-form ref="form" :model="form" :rules="rules" label-width="80px">
+        <el-form-item label=" 鏂规ID " prop="schemeid">
+          <el-input v-model="form.schemeid" placeholder="璇疯緭鍏� 鏂规ID " />
+        </el-form-item>
+        <el-form-item label=" 璁″垝ID " prop="schemeplanid">
+          <el-input v-model="form.schemeplanid" placeholder="璇疯緭鍏� 璁″垝ID " />
+        </el-form-item>
+        <el-form-item label=" 鎮h�匢D " prop="patientid">
+          <el-input v-model="form.patientid" placeholder="璇疯緭鍏� 鎮h�匢D " />
+        </el-form-item>
+        <el-form-item label=" 鐘舵��;0.寰呭紑濮� 1.杩涜涓� 2.宸插畬鎴� 3.澶辫 9.宸插叧闂� " prop="state">
+          <el-input v-model="form.state" placeholder="璇疯緭鍏� 鐘舵��;0.寰呭紑濮� 1.杩涜涓� 2.宸插畬鎴� 3.澶辫 9.宸插叧闂� " />
+        </el-form-item>
+        <el-form-item label=" 鍩虹嚎鏃堕棿 " prop="baselinetime">
+          <el-date-picker clearable
+            v-model="form.baselinetime"
+            type="date"
+            value-format="yyyy-MM-dd"
+            placeholder="璇烽�夋嫨 鍩虹嚎鏃堕棿 ">
+          </el-date-picker>
+        </el-form-item>
+        <el-form-item label=" 璁″垝鎵ц鏃堕棿 " prop="plantime">
+          <el-date-picker clearable
+            v-model="form.plantime"
+            type="date"
+            value-format="yyyy-MM-dd"
+            placeholder="璇烽�夋嫨 璁″垝鎵ц鏃堕棿 ">
+          </el-date-picker>
+        </el-form-item>
+        <el-form-item label=" 瀹為檯瀹屾垚鏃堕棿 " prop="actualtime">
+          <el-date-picker clearable
+            v-model="form.actualtime"
+            type="date"
+            value-format="yyyy-MM-dd"
+            placeholder="璇烽�夋嫨 瀹為檯瀹屾垚鏃堕棿 ">
+          </el-date-picker>
+        </el-form-item>
+        <el-form-item label=" 閫炬湡鏃堕棿 " prop="overtime">
+          <el-date-picker clearable
+            v-model="form.overtime"
+            type="date"
+            value-format="yyyy-MM-dd"
+            placeholder="璇烽�夋嫨 閫炬湡鏃堕棿 ">
+          </el-date-picker>
+        </el-form-item>
+        <el-form-item label=" 鏈烘瀯ID " prop="orgid">
+          <el-input v-model="form.orgid" placeholder="璇疯緭鍏� 鏈烘瀯ID " />
+        </el-form-item>
+        <el-form-item label=" 鍒犻櫎鏍囪 " prop="delFlag">
+          <el-input v-model="form.delFlag" placeholder="璇疯緭鍏� 鍒犻櫎鏍囪 " />
+        </el-form-item>
+        <el-form-item label=" 涓婁紶鏍囪 " prop="isupload">
+          <el-input v-model="form.isupload" placeholder="璇疯緭鍏� 涓婁紶鏍囪 " />
+        </el-form-item>
+        <el-form-item label=" 涓婁紶鏃堕棿 " prop="uploadTime">
+          <el-date-picker clearable
+            v-model="form.uploadTime"
+            type="date"
+            value-format="yyyy-MM-dd"
+            placeholder="璇烽�夋嫨 涓婁紶鏃堕棿 ">
+          </el-date-picker>
+        </el-form-item>
+        <el-form-item label=" 鎮h�呮潵婧�;0.鍏ㄩ櫌(閫氱敤) 1.鍑洪櫌 2.鍦ㄩ櫌 3.闂ㄨ瘖 4.浣撴 5.鏃� " prop="patientsource">
+          <el-input v-model="form.patientsource" placeholder="璇疯緭鍏� 鎮h�呮潵婧�;0.鍏ㄩ櫌(閫氱敤) 1.鍑洪櫌 2.鍦ㄩ櫌 3.闂ㄨ瘖 4.浣撴 5.鏃� " />
+        </el-form-item>
+        <el-form-item label=" 閰嶇疆ID " prop="taskconfigid">
+          <el-input v-model="form.taskconfigid" placeholder="璇疯緭鍏� 閰嶇疆ID " />
+        </el-form-item>
+        <el-form-item label=" 鍏宠仈缂栧彿 绉戝&椤圭洰&闂嵎&瀹f暀 " prop="relationid">
+          <el-input v-model="form.relationid" placeholder="璇疯緭鍏� 鍏宠仈缂栧彿 绉戝&椤圭洰&闂嵎&瀹f暀 " />
+        </el-form-item>
+        <el-form-item label=" 鍏宠仈鍚嶇О " prop="relationname">
+          <el-input v-model="form.relationname" placeholder="璇疯緭鍏� 鍏宠仈鍚嶇О " />
+        </el-form-item>
+        <el-form-item label=" 浠嬬粛&鎻愰啋鍐呭 ">
+          <editor v-model="form.content" :min-height="192"/>
+        </el-form-item>
+        <el-form-item label=" 鎻愮ず鍐呭 ">
+          <editor v-model="form.tipscontent" :min-height="192"/>
+        </el-form-item>
+        <el-form-item label=" 鍏抽棴鏃堕棿 " prop="finshtime">
+          <el-date-picker clearable
+            v-model="form.finshtime"
+            type="date"
+            value-format="yyyy-MM-dd"
+            placeholder="璇烽�夋嫨 鍏抽棴鏃堕棿 ">
+          </el-date-picker>
+        </el-form-item>
+        <el-form-item label=" 鍏抽棴璇存槑 " prop="finshdesc">
+          <el-input v-model="form.finshdesc" type="textarea" placeholder="璇疯緭鍏ュ唴瀹�" />
+        </el-form-item>
+        <el-form-item label=" 鏈夋晥鏈� " prop="termvaliditytime">
+          <el-date-picker clearable
+            v-model="form.termvaliditytime"
+            type="date"
+            value-format="yyyy-MM-dd"
+            placeholder="璇烽�夋嫨 鏈夋晥鏈� ">
+          </el-date-picker>
+        </el-form-item>
+        <el-form-item label=" 灏辫瘖ID " prop="visitid">
+          <el-input v-model="form.visitid" placeholder="璇疯緭鍏� 灏辫瘖ID " />
+        </el-form-item>
+        <el-form-item label=" 浠诲姟鏉ユ簮;0.鑷姩鍒涘缓 1.鎵嬪姩鍒涘缓 " prop="tasksource">
+          <el-input v-model="form.tasksource" placeholder="璇疯緭鍏� 浠诲姟鏉ユ簮;0.鑷姩鍒涘缓 1.鎵嬪姩鍒涘缓 " />
+        </el-form-item>
+        <el-form-item label=" 鏄惁浜哄伐澶勭悊;1鏄� 0鍚� " prop="isartificial">
+          <el-input v-model="form.isartificial" placeholder="璇疯緭鍏� 鏄惁浜哄伐澶勭悊;1鏄� 0鍚� " />
+        </el-form-item>
+        <el-form-item label=" 灏嗛�炬湡鏃堕棿 " prop="overduetipstime">
+          <el-date-picker clearable
+            v-model="form.overduetipstime"
+            type="date"
+            value-format="yyyy-MM-dd"
+            placeholder="璇烽�夋嫨 灏嗛�炬湡鏃堕棿 ">
+          </el-date-picker>
+        </el-form-item>
+        <el-form-item label=" 鏄惁寮傚父璺熻繘浠诲姟;1鏄� 0鍚� " prop="isabnormal">
+          <el-input v-model="form.isabnormal" placeholder="璇疯緭鍏� 鏄惁寮傚父璺熻繘浠诲姟;1鏄� 0鍚� " />
+        </el-form-item>
+        <el-form-item label=" 宸茬粡浜哄伐澶勭悊鏍囧織;1宸茬粡浜哄伐澶勭悊杩�  0杩樻湭杩涜浜哄伐澶勭悊 " prop="artificialtag">
+          <el-input v-model="form.artificialtag" placeholder="璇疯緭鍏� 宸茬粡浜哄伐澶勭悊鏍囧織;1宸茬粡浜哄伐澶勭悊杩�  0杩樻湭杩涜浜哄伐澶勭悊 " />
+        </el-form-item>
+        <el-form-item label=" 鍏宠仈浠g爜 闂嵎&瀹f暀 " prop="relationcode">
+          <el-input v-model="form.relationcode" placeholder="璇疯緭鍏� 鍏宠仈浠g爜 闂嵎&瀹f暀 " />
+        </el-form-item>
+        <el-form-item label=" 鏂规浠g爜 " prop="schemecode">
+          <el-input v-model="form.schemecode" placeholder="璇疯緭鍏� 鏂规浠g爜 " />
+        </el-form-item>
+        <el-form-item label=" 鏈�鍚庝竴娆¤鍒掓墽琛屾椂闂� " prop="lastplantime">
+          <el-date-picker clearable
+            v-model="form.lastplantime"
+            type="date"
+            value-format="yyyy-MM-dd"
+            placeholder="璇烽�夋嫨 鏈�鍚庝竴娆¤鍒掓墽琛屾椂闂� ">
+          </el-date-picker>
+        </el-form-item>
+        <el-form-item label=" 鏄惁涓烘祴璇曚换鍔�;0.鍚� 1.鏄� " prop="istest">
+          <el-input v-model="form.istest" placeholder="璇疯緭鍏� 鏄惁涓烘祴璇曚换鍔�;0.鍚� 1.鏄� " />
+        </el-form-item>
+        <el-form-item label=" 绗竴娆¤鍒掓墽琛屾椂闂� " prop="firstplantime">
+          <el-date-picker clearable
+            v-model="form.firstplantime"
+            type="date"
+            value-format="yyyy-MM-dd"
+            placeholder="璇烽�夋嫨 绗竴娆¤鍒掓墽琛屾椂闂� ">
+          </el-date-picker>
+        </el-form-item>
+        <el-form-item label=" 閲嶅彂娆℃暟;Null琛ㄧず鏃犻渶閲嶅彂 0琛ㄧず闇�瑕侀噸鍙� 鏁板瓧琛ㄧず宸茬粡閲嶅彂浜嗗嚑娆� " prop="repeatsecond">
+          <el-input v-model="form.repeatsecond" placeholder="璇疯緭鍏� 閲嶅彂娆℃暟;Null琛ㄧず鏃犻渶閲嶅彂 0琛ㄧず闇�瑕侀噸鍙� 鏁板瓧琛ㄧず宸茬粡閲嶅彂浜嗗嚑娆� " />
+        </el-form-item>
+        <el-form-item label=" 鏄惁瀛樺湪閲嶅彂鏍囪 " prop="isrepeat">
+          <el-input v-model="form.isrepeat" placeholder="璇疯緭鍏� 鏄惁瀛樺湪閲嶅彂鏍囪 " />
+        </el-form-item>
+        <el-form-item label=" 鎵嬪姩鎵ц鏍囪 " prop="ismanual">
+          <el-input v-model="form.ismanual" placeholder="璇疯緭鍏� 鎵嬪姩鎵ц鏍囪 " />
+        </el-form-item>
+        <el-form-item label=" 澶辫鏃堕棿 " prop="losstime">
+          <el-date-picker clearable
+            v-model="form.losstime"
+            type="date"
+            value-format="yyyy-MM-dd"
+            placeholder="璇烽�夋嫨 澶辫鏃堕棿 ">
+          </el-date-picker>
+        </el-form-item>
+        <el-form-item label=" " prop="relationlistid">
+          <el-input v-model="form.relationlistid" placeholder="璇疯緭鍏� " />
+        </el-form-item>
+      </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>
+</template>
+
+<script>
+import { listSchemetask, getSchemetask, delSchemetask, addSchemetask, updateSchemetask } from "@/api/smartor/schemetask";
+
+export default {
+  name: "Schemetask",
+  data() {
+    return {
+      // 閬僵灞�
+      loading: true,
+      // 閫変腑鏁扮粍
+      ids: [],
+      // 闈炲崟涓鐢�
+      single: true,
+      // 闈炲涓鐢�
+      multiple: true,
+      // 鏄剧ず鎼滅储鏉′欢
+      showSearch: true,
+      // 鎬绘潯鏁�
+      total: 0,
+      // 鏂规浠诲姟琛ㄦ牸鏁版嵁
+      schemetaskList: [],
+      // 寮瑰嚭灞傛爣棰�
+      title: "",
+      // 鏄惁鏄剧ず寮瑰嚭灞�
+      open: false,
+      // 鏌ヨ鍙傛暟
+      queryParams: {
+        pageNum: 1,
+        pageSize: 10,
+        schemeid: null,
+        schemeplanid: null,
+        patientid: null,
+        state: null,
+        baselinetime: null,
+        plantime: null,
+        actualtime: null,
+        overtime: null,
+        orgid: null,
+        isupload: null,
+        uploadTime: null,
+        patientsource: null,
+        taskconfigid: null,
+        relationid: null,
+        relationname: null,
+        content: null,
+        tipscontent: null,
+        tasktype: null,
+        finshtime: null,
+        finshtype: null,
+        finshdesc: null,
+        termvaliditytime: null,
+        schemestatus: null,
+        visitid: null,
+        visittype: null,
+        tasksource: null,
+        relationtype: null,
+        isartificial: null,
+        overduetipstime: null,
+        isabnormal: null,
+        artificialtag: null,
+        relationcode: null,
+        schemecode: null,
+        lastplantime: null,
+        istest: null,
+        firstplantime: null,
+        repeatsecond: null,
+        isrepeat: null,
+        ismanual: null,
+        losstime: null,
+        relationlistid: null
+      },
+      // 琛ㄥ崟鍙傛暟
+      form: {},
+      // 琛ㄥ崟鏍¢獙
+      rules: {
+        delFlag: [
+          { required: true, message: " 鍒犻櫎鏍囪 涓嶈兘涓虹┖", trigger: "blur" }
+        ],
+        isupload: [
+          { required: true, message: " 涓婁紶鏍囪 涓嶈兘涓虹┖", trigger: "blur" }
+        ],
+      }
+    };
+  },
+  created() {
+    this.getList();
+  },
+  methods: {
+    /** 鏌ヨ鏂规浠诲姟鍒楄〃 */
+    getList() {
+      this.loading = true;
+      listSchemetask(this.queryParams).then(response => {
+        this.schemetaskList = response.rows;
+        this.total = response.total;
+        this.loading = false;
+      });
+    },
+    // 鍙栨秷鎸夐挳
+    cancel() {
+      this.open = false;
+      this.reset();
+    },
+    // 琛ㄥ崟閲嶇疆
+    reset() {
+      this.form = {
+        id: null,
+        schemeid: null,
+        schemeplanid: null,
+        patientid: null,
+        state: null,
+        baselinetime: null,
+        plantime: null,
+        actualtime: null,
+        overtime: null,
+        orgid: null,
+        delFlag: null,
+        updateBy: null,
+        updateTime: null,
+        createBy: null,
+        createTime: null,
+        isupload: null,
+        uploadTime: null,
+        patientsource: null,
+        taskconfigid: null,
+        relationid: null,
+        relationname: null,
+        content: null,
+        tipscontent: null,
+        tasktype: null,
+        finshtime: null,
+        finshtype: null,
+        finshdesc: null,
+        termvaliditytime: null,
+        schemestatus: null,
+        visitid: null,
+        visittype: null,
+        tasksource: null,
+        relationtype: null,
+        isartificial: null,
+        overduetipstime: null,
+        isabnormal: null,
+        artificialtag: null,
+        relationcode: null,
+        schemecode: null,
+        lastplantime: null,
+        istest: null,
+        firstplantime: null,
+        repeatsecond: null,
+        isrepeat: null,
+        ismanual: null,
+        losstime: null,
+        relationlistid: null
+      };
+      this.resetForm("form");
+    },
+    /** 鎼滅储鎸夐挳鎿嶄綔 */
+    handleQuery() {
+      this.queryParams.pageNum = 1;
+      this.getList();
+    },
+    /** 閲嶇疆鎸夐挳鎿嶄綔 */
+    resetQuery() {
+      this.resetForm("queryForm");
+      this.handleQuery();
+    },
+    // 澶氶�夋閫変腑鏁版嵁
+    handleSelectionChange(selection) {
+      this.ids = selection.map(item => item.id)
+      this.single = selection.length!==1
+      this.multiple = !selection.length
+    },
+    /** 鏂板鎸夐挳鎿嶄綔 */
+    handleAdd() {
+      this.reset();
+      this.open = true;
+      this.title = "娣诲姞鏂规浠诲姟";
+    },
+    /** 淇敼鎸夐挳鎿嶄綔 */
+    handleUpdate(row) {
+      this.reset();
+      const id = row.id || this.ids
+      getSchemetask(id).then(response => {
+        this.form = response.data;
+        this.open = true;
+        this.title = "淇敼鏂规浠诲姟";
+      });
+    },
+    /** 鎻愪氦鎸夐挳 */
+    submitForm() {
+      this.$refs["form"].validate(valid => {
+        if (valid) {
+          if (this.form.id != null) {
+            updateSchemetask(this.form).then(response => {
+              this.$modal.msgSuccess("淇敼鎴愬姛");
+              this.open = false;
+              this.getList();
+            });
+          } else {
+            addSchemetask(this.form).then(response => {
+              this.$modal.msgSuccess("鏂板鎴愬姛");
+              this.open = false;
+              this.getList();
+            });
+          }
+        }
+      });
+    },
+    /** 鍒犻櫎鎸夐挳鎿嶄綔 */
+    handleDelete(row) {
+      const ids = row.id || this.ids;
+      this.$modal.confirm('鏄惁纭鍒犻櫎鏂规浠诲姟缂栧彿涓�"' + ids + '"鐨勬暟鎹」锛�').then(function() {
+        return delSchemetask(ids);
+      }).then(() => {
+        this.getList();
+        this.$modal.msgSuccess("鍒犻櫎鎴愬姛");
+      }).catch(() => {});
+    },
+    /** 瀵煎嚭鎸夐挳鎿嶄綔 */
+    handleExport() {
+      this.download('smartor/schemetask/export', {
+        ...this.queryParams
+      }, `schemetask_${new Date().getTime()}.xlsx`)
+    }
+  }
+};
+</script>
diff --git a/ruoyi-ui/src/views/smartor/schemetaskconfig/index.vue b/ruoyi-ui/src/views/smartor/schemetaskconfig/index.vue
new file mode 100644
index 0000000..128165b
--- /dev/null
+++ b/ruoyi-ui/src/views/smartor/schemetaskconfig/index.vue
@@ -0,0 +1,769 @@
+<template>
+  <div class="app-container">
+    <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
+      <el-form-item label=" 鏂规ID " prop="schemeid">
+        <el-input
+          v-model="queryParams.schemeid"
+          placeholder="璇疯緭鍏� 鏂规ID "
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label=" 瑙﹀彂鍦烘櫙ID " prop="triggersceneid">
+        <el-input
+          v-model="queryParams.triggersceneid"
+          placeholder="璇疯緭鍏� 瑙﹀彂鍦烘櫙ID "
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label=" 瑙﹀彂瑙勫垯ID " prop="triggerruleid">
+        <el-input
+          v-model="queryParams.triggerruleid"
+          placeholder="璇疯緭鍏� 瑙﹀彂瑙勫垯ID "
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label=" 鏄惁鍛ㄦ湡浠诲姟;0.鍚� 1.鏄� " prop="iscycle">
+        <el-input
+          v-model="queryParams.iscycle"
+          placeholder="璇疯緭鍏� 鏄惁鍛ㄦ湡浠诲姟;0.鍚� 1.鏄� "
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label=" 璁″垝鎵ц鏃堕棿鏁板�� " prop="planexecutevalue">
+        <el-input
+          v-model="queryParams.planexecutevalue"
+          placeholder="璇疯緭鍏� 璁″垝鎵ц鏃堕棿鏁板�� "
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label=" 璁″垝鎵ц鏃堕棿鍗曚綅;1.澶� 2.鍛� 3.鏈� 4.骞� " prop="planexecuteunit">
+        <el-input
+          v-model="queryParams.planexecuteunit"
+          placeholder="璇疯緭鍏� 璁″垝鎵ц鏃堕棿鍗曚綅;1.澶� 2.鍛� 3.鏈� 4.骞� "
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label=" 璁″垝鎵ц鍏蜂綋鏃堕棿 " prop="planexecutetime">
+        <el-input
+          v-model="queryParams.planexecutetime"
+          placeholder="璇疯緭鍏� 璁″垝鎵ц鍏蜂綋鏃堕棿 "
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label=" 璁″垝鎵ц鏄惁瀹炴椂;0.瀹氭椂 1.瀹炴椂 " prop="isrealtime">
+        <el-input
+          v-model="queryParams.isrealtime"
+          placeholder="璇疯緭鍏� 璁″垝鎵ц鏄惁瀹炴椂;0.瀹氭椂 1.瀹炴椂 "
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label=" 鍛ㄦ湡棰戠巼 " prop="cyclefrequency">
+        <el-input
+          v-model="queryParams.cyclefrequency"
+          placeholder="璇疯緭鍏� 鍛ㄦ湡棰戠巼 "
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label=" 鍛ㄦ湡棰戠巼鍗曚綅;1.澶� 2.鍛� 3.鏈� 4.骞� " prop="cyclefrequencyunit">
+        <el-input
+          v-model="queryParams.cyclefrequencyunit"
+          placeholder="璇疯緭鍏� 鍛ㄦ湡棰戠巼鍗曚綅;1.澶� 2.鍛� 3.鏈� 4.骞� "
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label=" 鍛ㄦ湡棰戠巼娆℃暟 " prop="cyclefrequencycount">
+        <el-input
+          v-model="queryParams.cyclefrequencycount"
+          placeholder="璇疯緭鍏� 鍛ㄦ湡棰戠巼娆℃暟 "
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label=" 鏈夋晥鏈熷ぉ鏁� " prop="termvalidityday">
+        <el-input
+          v-model="queryParams.termvalidityday"
+          placeholder="璇疯緭鍏� 鏈夋晥鏈熷ぉ鏁� "
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label=" 鏈夋晥鏈熻鍒�;1.褰撳ぉ 2.鎻愬墠 3.寤惰繜 4.鎻愬墠鎴栧欢杩� " prop="termvalidityrule">
+        <el-input
+          v-model="queryParams.termvalidityrule"
+          placeholder="璇疯緭鍏� 鏈夋晥鏈熻鍒�;1.褰撳ぉ 2.鎻愬墠 3.寤惰繜 4.鎻愬墠鎴栧欢杩� "
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label=" 鏈夋晥鏈熷墠鎻愰啋澶╂暟 " prop="termvaliditytipsday">
+        <el-input
+          v-model="queryParams.termvaliditytipsday"
+          placeholder="璇疯緭鍏� 鏈夋晥鏈熷墠鎻愰啋澶╂暟 "
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label=" 鏈夋晥鏈熸彁閱掑綋澶╁叿浣撴椂闂� " prop="termvaliditytipstime">
+        <el-input
+          v-model="queryParams.termvaliditytipstime"
+          placeholder="璇疯緭鍏� 鏈夋晥鏈熸彁閱掑綋澶╁叿浣撴椂闂� "
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label=" 鍏宠仈缂栧彿 绉戝&椤圭洰 " prop="relationid">
+        <el-input
+          v-model="queryParams.relationid"
+          placeholder="璇疯緭鍏� 鍏宠仈缂栧彿 绉戝&椤圭洰 "
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label=" 鏈夐檺鏈熼檺/澶� " prop="limitedday">
+        <el-input
+          v-model="queryParams.limitedday"
+          placeholder="璇疯緭鍏� 鏈夐檺鏈熼檺/澶� "
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label=" 閫炬湡鍒ゆ柇澶╂暟 " prop="overdueday">
+        <el-input
+          v-model="queryParams.overdueday"
+          placeholder="璇疯緭鍏� 閫炬湡鍒ゆ柇澶╂暟 "
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label=" 閫炬湡鍓嶆彁閱掑ぉ鏁� " prop="overduetipsday">
+        <el-input
+          v-model="queryParams.overduetipsday"
+          placeholder="璇疯緭鍏� 閫炬湡鍓嶆彁閱掑ぉ鏁� "
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label=" 澶辫鍒ゆ柇澶╂暟 " prop="lossday">
+        <el-input
+          v-model="queryParams.lossday"
+          placeholder="璇疯緭鍏� 澶辫鍒ゆ柇澶╂暟 "
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label=" 鎵ц妯℃澘 寰俊&AI澶栧懠妯℃澘 " prop="executetemplate">
+        <el-input
+          v-model="queryParams.executetemplate"
+          placeholder="璇疯緭鍏� 鎵ц妯℃澘 寰俊&AI澶栧懠妯℃澘 "
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label=" 棰濆鎵ц妯℃澘 鐭俊妯℃澘 " prop="executetemplateextra">
+        <el-input
+          v-model="queryParams.executetemplateextra"
+          placeholder="璇疯緭鍏� 棰濆鎵ц妯℃澘 鐭俊妯℃澘 "
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label=" 鎵ц椤哄簭;1.寰俊浼樺厛 2.鐭俊浼樺厛 3.鍚屾椂鍙戦�� " prop="executeorder">
+        <el-input
+          v-model="queryParams.executeorder"
+          placeholder="璇疯緭鍏� 鎵ц椤哄簭;1.寰俊浼樺厛 2.鐭俊浼樺厛 3.鍚屾椂鍙戦�� "
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label=" 鏈烘瀯ID " prop="orgid">
+        <el-input
+          v-model="queryParams.orgid"
+          placeholder="璇疯緭鍏� 鏈烘瀯ID "
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label=" 涓婁紶鏍囪 " prop="isupload">
+        <el-input
+          v-model="queryParams.isupload"
+          placeholder="璇疯緭鍏� 涓婁紶鏍囪 "
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label=" 涓婁紶鏃堕棿 " prop="uploadTime">
+        <el-date-picker clearable
+          v-model="queryParams.uploadTime"
+          type="date"
+          value-format="yyyy-MM-dd"
+          placeholder="璇烽�夋嫨 涓婁紶鏃堕棿 ">
+        </el-date-picker>
+      </el-form-item>
+      <el-form-item label=" 鏄惁鏈湴 " prop="islocal">
+        <el-input
+          v-model="queryParams.islocal"
+          placeholder="璇疯緭鍏� 鏄惁鏈湴 "
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label=" 璇煶鍚堟垚鍘傚晢 " prop="voicemanufacturers">
+        <el-input
+          v-model="queryParams.voicemanufacturers"
+          placeholder="璇疯緭鍏� 璇煶鍚堟垚鍘傚晢 "
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label=" 璇煶鍚堟垚閰嶇疆 " prop="voiceconfig">
+        <el-input
+          v-model="queryParams.voiceconfig"
+          placeholder="璇疯緭鍏� 璇煶鍚堟垚閰嶇疆 "
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label=" 瀹屾垚鏉′欢;1閫氳瘽鐘舵��  2澶嶆牳鐘舵�� " prop="completecondition">
+        <el-input
+          v-model="queryParams.completecondition"
+          placeholder="璇疯緭鍏� 瀹屾垚鏉′欢;1閫氳瘽鐘舵��  2澶嶆牳鐘舵�� "
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label=" 瀹屾垚鏉′欢瀵瑰簲鐘舵�� " prop="completeconditionstate">
+        <el-input
+          v-model="queryParams.completeconditionstate"
+          placeholder="璇疯緭鍏� 瀹屾垚鏉′欢瀵瑰簲鐘舵�� "
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label=" 鍏宠仈缂栧彿 绉戝&椤圭洰(澶氶��) " prop="relationlistid">
+        <el-input
+          v-model="queryParams.relationlistid"
+          placeholder="璇疯緭鍏� 鍏宠仈缂栧彿 绉戝&椤圭洰(澶氶��) "
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label=" 鍏宠仈浠g爜 闂嵎&瀹f暀 " prop="relationcode">
+        <el-input
+          v-model="queryParams.relationcode"
+          placeholder="璇疯緭鍏� 鍏宠仈浠g爜 闂嵎&瀹f暀 "
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label=" 鏄惁瀛樺湪閲嶅彂鏍囪 " prop="isrepeat">
+        <el-input
+          v-model="queryParams.isrepeat"
+          placeholder="璇疯緭鍏� 鏄惁瀛樺湪閲嶅彂鏍囪 "
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item>
+        <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">鎼滅储</el-button>
+        <el-button icon="el-icon-refresh" size="mini" @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="mini"
+          @click="handleAdd"
+          v-hasPermi="['smartor:schemetaskconfig:add']"
+        >鏂板</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="success"
+          plain
+          icon="el-icon-edit"
+          size="mini"
+          :disabled="single"
+          @click="handleUpdate"
+          v-hasPermi="['smartor:schemetaskconfig:edit']"
+        >淇敼</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="danger"
+          plain
+          icon="el-icon-delete"
+          size="mini"
+          :disabled="multiple"
+          @click="handleDelete"
+          v-hasPermi="['smartor:schemetaskconfig:remove']"
+        >鍒犻櫎</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="warning"
+          plain
+          icon="el-icon-download"
+          size="mini"
+          @click="handleExport"
+          v-hasPermi="['smartor:schemetaskconfig:export']"
+        >瀵煎嚭</el-button>
+      </el-col>
+      <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
+    </el-row>
+
+    <el-table v-loading="loading" :data="schemetaskconfigList" @selection-change="handleSelectionChange">
+      <el-table-column type="selection" width="55" align="center" />
+      <el-table-column label=" 鑷ID " align="center" prop="id" />
+      <el-table-column label=" 鏂规ID " align="center" prop="schemeid" />
+      <el-table-column label=" 瑙﹀彂鍦烘櫙ID " align="center" prop="triggersceneid" />
+      <el-table-column label=" 瑙﹀彂瑙勫垯ID " align="center" prop="triggerruleid" />
+      <el-table-column label=" 浠诲姟绫诲瀷;1.闅忚浠诲姟 2.瀹f暀浠诲姟 3. 鎻愰啋浠诲姟 4. 澶嶈瘖绠$悊浠诲姟 5. 澶嶆煡绠$悊浠诲姟 6.鍏朵粬浠诲姟 " align="center" prop="tasktype" />
+      <el-table-column label=" 鏄惁鍛ㄦ湡浠诲姟;0.鍚� 1.鏄� " align="center" prop="iscycle" />
+      <el-table-column label=" 璁″垝鎵ц鏃堕棿鏁板�� " align="center" prop="planexecutevalue" />
+      <el-table-column label=" 璁″垝鎵ц鏃堕棿鍗曚綅;1.澶� 2.鍛� 3.鏈� 4.骞� " align="center" prop="planexecuteunit" />
+      <el-table-column label=" 璁″垝鎵ц鍏蜂綋鏃堕棿 " align="center" prop="planexecutetime" />
+      <el-table-column label=" 璁″垝鎵ц绫诲瀷;1.褰撳ぉ鎵ц 2.绗簩澶╂寜鎸囧畾鏃堕棿鎵ц 3.璁″垝鏃堕棿鏃╀簬鎸囧畾鏃堕棿涓嶆墽琛� " align="center" prop="planexecutetype" />
+      <el-table-column label=" 璁″垝鎵ц鏄惁瀹炴椂;0.瀹氭椂 1.瀹炴椂 " align="center" prop="isrealtime" />
+      <el-table-column label=" 鍛ㄦ湡棰戠巼 " align="center" prop="cyclefrequency" />
+      <el-table-column label=" 鍛ㄦ湡棰戠巼鍗曚綅;1.澶� 2.鍛� 3.鏈� 4.骞� " align="center" prop="cyclefrequencyunit" />
+      <el-table-column label=" 鍛ㄦ湡棰戠巼娆℃暟 " align="center" prop="cyclefrequencycount" />
+      <el-table-column label=" 鏈夋晥鏈熷ぉ鏁� " align="center" prop="termvalidityday" />
+      <el-table-column label=" 鏈夋晥鏈熻鍒�;1.褰撳ぉ 2.鎻愬墠 3.寤惰繜 4.鎻愬墠鎴栧欢杩� " align="center" prop="termvalidityrule" />
+      <el-table-column label=" 鏈夋晥鏈熷墠鎻愰啋澶╂暟 " align="center" prop="termvaliditytipsday" />
+      <el-table-column label=" 鏈夋晥鏈熸彁閱掑綋澶╁叿浣撴椂闂� " align="center" prop="termvaliditytipstime" />
+      <el-table-column label=" 鍏宠仈缂栧彿 绉戝&椤圭洰 " align="center" prop="relationid" />
+      <el-table-column label=" 浠嬬粛&鎻愰啋鍐呭 " align="center" prop="content" />
+      <el-table-column label=" 鎻愮ず鍐呭 " align="center" prop="tipscontent" />
+      <el-table-column label=" 鏈夐檺鏈熼檺/澶� " align="center" prop="limitedday" />
+      <el-table-column label=" 閫炬湡鍒ゆ柇澶╂暟 " align="center" prop="overdueday" />
+      <el-table-column label=" 閫炬湡鍓嶆彁閱掑ぉ鏁� " align="center" prop="overduetipsday" />
+      <el-table-column label=" 澶辫鍒ゆ柇澶╂暟 " align="center" prop="lossday" />
+      <el-table-column label=" 鎵ц鏂瑰紡;1.寰俊/鐭俊 2.AI鐢佃瘽 3.涓嶈嚜鍔ㄥ彂閫� 4.寰俊 5.鐭俊 6.浼佷笟寰俊 7.浼佷笟寰俊缇� 8.閽夐拤 9.閽夐拤缇� 10.椋炰功 11.椋炰功缇� " align="center" prop="executetype" />
+      <el-table-column label=" 鎵ц妯℃澘 寰俊&AI澶栧懠妯℃澘 " align="center" prop="executetemplate" />
+      <el-table-column label=" 棰濆鎵ц妯℃澘 鐭俊妯℃澘 " align="center" prop="executetemplateextra" />
+      <el-table-column label=" 鎵ц椤哄簭;1.寰俊浼樺厛 2.鐭俊浼樺厛 3.鍚屾椂鍙戦�� " align="center" prop="executeorder" />
+      <el-table-column label=" 鎵ц璇煶绫诲瀷;1.褰曢煶 2.TTS " align="center" prop="executevoicetype" />
+      <el-table-column label=" 褰曢煶鏂囦欢&TTS鍙傛暟 " align="center" prop="executevoicecontent" />
+      <el-table-column label=" 鎻愰啋鍖绘姢浜哄憳ID" align="center" prop="exeutetipspersonid" />
+      <el-table-column label=" 鏈烘瀯ID " align="center" prop="orgid" />
+      <el-table-column label=" 涓婁紶鏍囪 " align="center" prop="isupload" />
+      <el-table-column label=" 涓婁紶鏃堕棿 " align="center" prop="uploadTime" width="180">
+        <template slot-scope="scope">
+          <span>{{ parseTime(scope.row.uploadTime, '{y}-{m}-{d}') }}</span>
+        </template>
+      </el-table-column>
+      <el-table-column label=" 鏄惁鏈湴 " align="center" prop="islocal" />
+      <el-table-column label=" 鍏宠仈椤圭洰绫诲瀷;1.妫�鏌� 2.妫�楠� " align="center" prop="relationtype" />
+      <el-table-column label=" 璇煶鍚堟垚鍘傚晢 " align="center" prop="voicemanufacturers" />
+      <el-table-column label=" 璇煶鍚堟垚閰嶇疆 " align="center" prop="voiceconfig" />
+      <el-table-column label=" 瀹屾垚鏉′欢;1閫氳瘽鐘舵��  2澶嶆牳鐘舵�� " align="center" prop="completecondition" />
+      <el-table-column label=" 瀹屾垚鏉′欢瀵瑰簲鐘舵�� " align="center" prop="completeconditionstate" />
+      <el-table-column label=" 鍏宠仈缂栧彿 绉戝&椤圭洰(澶氶��) " align="center" prop="relationlistid" />
+      <el-table-column label=" 鍏宠仈浠g爜 闂嵎&瀹f暀 " align="center" prop="relationcode" />
+      <el-table-column label=" 鏄惁瀛樺湪閲嶅彂鏍囪 " align="center" prop="isrepeat" />
+      <el-table-column label="鎿嶄綔" align="center" class-name="small-padding fixed-width">
+        <template slot-scope="scope">
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-edit"
+            @click="handleUpdate(scope.row)"
+            v-hasPermi="['smartor:schemetaskconfig:edit']"
+          >淇敼</el-button>
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-delete"
+            @click="handleDelete(scope.row)"
+            v-hasPermi="['smartor:schemetaskconfig:remove']"
+          >鍒犻櫎</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-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
+      <el-form ref="form" :model="form" :rules="rules" label-width="80px">
+        <el-form-item label=" 鏂规ID " prop="schemeid">
+          <el-input v-model="form.schemeid" placeholder="璇疯緭鍏� 鏂规ID " />
+        </el-form-item>
+        <el-form-item label=" 瑙﹀彂鍦烘櫙ID " prop="triggersceneid">
+          <el-input v-model="form.triggersceneid" placeholder="璇疯緭鍏� 瑙﹀彂鍦烘櫙ID " />
+        </el-form-item>
+        <el-form-item label=" 瑙﹀彂瑙勫垯ID " prop="triggerruleid">
+          <el-input v-model="form.triggerruleid" placeholder="璇疯緭鍏� 瑙﹀彂瑙勫垯ID " />
+        </el-form-item>
+        <el-form-item label=" 鏄惁鍛ㄦ湡浠诲姟;0.鍚� 1.鏄� " prop="iscycle">
+          <el-input v-model="form.iscycle" placeholder="璇疯緭鍏� 鏄惁鍛ㄦ湡浠诲姟;0.鍚� 1.鏄� " />
+        </el-form-item>
+        <el-form-item label=" 璁″垝鎵ц鏃堕棿鏁板�� " prop="planexecutevalue">
+          <el-input v-model="form.planexecutevalue" placeholder="璇疯緭鍏� 璁″垝鎵ц鏃堕棿鏁板�� " />
+        </el-form-item>
+        <el-form-item label=" 璁″垝鎵ц鏃堕棿鍗曚綅;1.澶� 2.鍛� 3.鏈� 4.骞� " prop="planexecuteunit">
+          <el-input v-model="form.planexecuteunit" placeholder="璇疯緭鍏� 璁″垝鎵ц鏃堕棿鍗曚綅;1.澶� 2.鍛� 3.鏈� 4.骞� " />
+        </el-form-item>
+        <el-form-item label=" 璁″垝鎵ц鍏蜂綋鏃堕棿 " prop="planexecutetime">
+          <el-input v-model="form.planexecutetime" placeholder="璇疯緭鍏� 璁″垝鎵ц鍏蜂綋鏃堕棿 " />
+        </el-form-item>
+        <el-form-item label=" 璁″垝鎵ц鏄惁瀹炴椂;0.瀹氭椂 1.瀹炴椂 " prop="isrealtime">
+          <el-input v-model="form.isrealtime" placeholder="璇疯緭鍏� 璁″垝鎵ц鏄惁瀹炴椂;0.瀹氭椂 1.瀹炴椂 " />
+        </el-form-item>
+        <el-form-item label=" 鍛ㄦ湡棰戠巼 " prop="cyclefrequency">
+          <el-input v-model="form.cyclefrequency" placeholder="璇疯緭鍏� 鍛ㄦ湡棰戠巼 " />
+        </el-form-item>
+        <el-form-item label=" 鍛ㄦ湡棰戠巼鍗曚綅;1.澶� 2.鍛� 3.鏈� 4.骞� " prop="cyclefrequencyunit">
+          <el-input v-model="form.cyclefrequencyunit" placeholder="璇疯緭鍏� 鍛ㄦ湡棰戠巼鍗曚綅;1.澶� 2.鍛� 3.鏈� 4.骞� " />
+        </el-form-item>
+        <el-form-item label=" 鍛ㄦ湡棰戠巼娆℃暟 " prop="cyclefrequencycount">
+          <el-input v-model="form.cyclefrequencycount" placeholder="璇疯緭鍏� 鍛ㄦ湡棰戠巼娆℃暟 " />
+        </el-form-item>
+        <el-form-item label=" 鏈夋晥鏈熷ぉ鏁� " prop="termvalidityday">
+          <el-input v-model="form.termvalidityday" placeholder="璇疯緭鍏� 鏈夋晥鏈熷ぉ鏁� " />
+        </el-form-item>
+        <el-form-item label=" 鏈夋晥鏈熻鍒�;1.褰撳ぉ 2.鎻愬墠 3.寤惰繜 4.鎻愬墠鎴栧欢杩� " prop="termvalidityrule">
+          <el-input v-model="form.termvalidityrule" placeholder="璇疯緭鍏� 鏈夋晥鏈熻鍒�;1.褰撳ぉ 2.鎻愬墠 3.寤惰繜 4.鎻愬墠鎴栧欢杩� " />
+        </el-form-item>
+        <el-form-item label=" 鏈夋晥鏈熷墠鎻愰啋澶╂暟 " prop="termvaliditytipsday">
+          <el-input v-model="form.termvaliditytipsday" placeholder="璇疯緭鍏� 鏈夋晥鏈熷墠鎻愰啋澶╂暟 " />
+        </el-form-item>
+        <el-form-item label=" 鏈夋晥鏈熸彁閱掑綋澶╁叿浣撴椂闂� " prop="termvaliditytipstime">
+          <el-input v-model="form.termvaliditytipstime" placeholder="璇疯緭鍏� 鏈夋晥鏈熸彁閱掑綋澶╁叿浣撴椂闂� " />
+        </el-form-item>
+        <el-form-item label=" 鍏宠仈缂栧彿 绉戝&椤圭洰 " prop="relationid">
+          <el-input v-model="form.relationid" placeholder="璇疯緭鍏� 鍏宠仈缂栧彿 绉戝&椤圭洰 " />
+        </el-form-item>
+        <el-form-item label=" 浠嬬粛&鎻愰啋鍐呭 ">
+          <editor v-model="form.content" :min-height="192"/>
+        </el-form-item>
+        <el-form-item label=" 鎻愮ず鍐呭 ">
+          <editor v-model="form.tipscontent" :min-height="192"/>
+        </el-form-item>
+        <el-form-item label=" 鏈夐檺鏈熼檺/澶� " prop="limitedday">
+          <el-input v-model="form.limitedday" placeholder="璇疯緭鍏� 鏈夐檺鏈熼檺/澶� " />
+        </el-form-item>
+        <el-form-item label=" 閫炬湡鍒ゆ柇澶╂暟 " prop="overdueday">
+          <el-input v-model="form.overdueday" placeholder="璇疯緭鍏� 閫炬湡鍒ゆ柇澶╂暟 " />
+        </el-form-item>
+        <el-form-item label=" 閫炬湡鍓嶆彁閱掑ぉ鏁� " prop="overduetipsday">
+          <el-input v-model="form.overduetipsday" placeholder="璇疯緭鍏� 閫炬湡鍓嶆彁閱掑ぉ鏁� " />
+        </el-form-item>
+        <el-form-item label=" 澶辫鍒ゆ柇澶╂暟 " prop="lossday">
+          <el-input v-model="form.lossday" placeholder="璇疯緭鍏� 澶辫鍒ゆ柇澶╂暟 " />
+        </el-form-item>
+        <el-form-item label=" 鎵ц妯℃澘 寰俊&AI澶栧懠妯℃澘 " prop="executetemplate">
+          <el-input v-model="form.executetemplate" placeholder="璇疯緭鍏� 鎵ц妯℃澘 寰俊&AI澶栧懠妯℃澘 " />
+        </el-form-item>
+        <el-form-item label=" 棰濆鎵ц妯℃澘 鐭俊妯℃澘 " prop="executetemplateextra">
+          <el-input v-model="form.executetemplateextra" placeholder="璇疯緭鍏� 棰濆鎵ц妯℃澘 鐭俊妯℃澘 " />
+        </el-form-item>
+        <el-form-item label=" 鎵ц椤哄簭;1.寰俊浼樺厛 2.鐭俊浼樺厛 3.鍚屾椂鍙戦�� " prop="executeorder">
+          <el-input v-model="form.executeorder" placeholder="璇疯緭鍏� 鎵ц椤哄簭;1.寰俊浼樺厛 2.鐭俊浼樺厛 3.鍚屾椂鍙戦�� " />
+        </el-form-item>
+        <el-form-item label=" 褰曢煶鏂囦欢&TTS鍙傛暟 ">
+          <editor v-model="form.executevoicecontent" :min-height="192"/>
+        </el-form-item>
+        <el-form-item label=" 鎻愰啋鍖绘姢浜哄憳ID" prop="exeutetipspersonid">
+          <el-input v-model="form.exeutetipspersonid" type="textarea" placeholder="璇疯緭鍏ュ唴瀹�" />
+        </el-form-item>
+        <el-form-item label=" 鏈烘瀯ID " prop="orgid">
+          <el-input v-model="form.orgid" placeholder="璇疯緭鍏� 鏈烘瀯ID " />
+        </el-form-item>
+        <el-form-item label=" 鍒犻櫎鏍囪 " prop="delFlag">
+          <el-input v-model="form.delFlag" placeholder="璇疯緭鍏� 鍒犻櫎鏍囪 " />
+        </el-form-item>
+        <el-form-item label=" 涓婁紶鏍囪 " prop="isupload">
+          <el-input v-model="form.isupload" placeholder="璇疯緭鍏� 涓婁紶鏍囪 " />
+        </el-form-item>
+        <el-form-item label=" 涓婁紶鏃堕棿 " prop="uploadTime">
+          <el-date-picker clearable
+            v-model="form.uploadTime"
+            type="date"
+            value-format="yyyy-MM-dd"
+            placeholder="璇烽�夋嫨 涓婁紶鏃堕棿 ">
+          </el-date-picker>
+        </el-form-item>
+        <el-form-item label=" 鏄惁鏈湴 " prop="islocal">
+          <el-input v-model="form.islocal" placeholder="璇疯緭鍏� 鏄惁鏈湴 " />
+        </el-form-item>
+        <el-form-item label=" 璇煶鍚堟垚鍘傚晢 " prop="voicemanufacturers">
+          <el-input v-model="form.voicemanufacturers" placeholder="璇疯緭鍏� 璇煶鍚堟垚鍘傚晢 " />
+        </el-form-item>
+        <el-form-item label=" 璇煶鍚堟垚閰嶇疆 " prop="voiceconfig">
+          <el-input v-model="form.voiceconfig" placeholder="璇疯緭鍏� 璇煶鍚堟垚閰嶇疆 " />
+        </el-form-item>
+        <el-form-item label=" 瀹屾垚鏉′欢;1閫氳瘽鐘舵��  2澶嶆牳鐘舵�� " prop="completecondition">
+          <el-input v-model="form.completecondition" placeholder="璇疯緭鍏� 瀹屾垚鏉′欢;1閫氳瘽鐘舵��  2澶嶆牳鐘舵�� " />
+        </el-form-item>
+        <el-form-item label=" 瀹屾垚鏉′欢瀵瑰簲鐘舵�� " prop="completeconditionstate">
+          <el-input v-model="form.completeconditionstate" placeholder="璇疯緭鍏� 瀹屾垚鏉′欢瀵瑰簲鐘舵�� " />
+        </el-form-item>
+        <el-form-item label=" 鍏宠仈缂栧彿 绉戝&椤圭洰(澶氶��) " prop="relationlistid">
+          <el-input v-model="form.relationlistid" placeholder="璇疯緭鍏� 鍏宠仈缂栧彿 绉戝&椤圭洰(澶氶��) " />
+        </el-form-item>
+        <el-form-item label=" 鍏宠仈浠g爜 闂嵎&瀹f暀 " prop="relationcode">
+          <el-input v-model="form.relationcode" placeholder="璇疯緭鍏� 鍏宠仈浠g爜 闂嵎&瀹f暀 " />
+        </el-form-item>
+        <el-form-item label=" 鏄惁瀛樺湪閲嶅彂鏍囪 " prop="isrepeat">
+          <el-input v-model="form.isrepeat" placeholder="璇疯緭鍏� 鏄惁瀛樺湪閲嶅彂鏍囪 " />
+        </el-form-item>
+      </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>
+</template>
+
+<script>
+import { listSchemetaskconfig, getSchemetaskconfig, delSchemetaskconfig, addSchemetaskconfig, updateSchemetaskconfig } from "@/api/smartor/schemetaskconfig";
+
+export default {
+  name: "Schemetaskconfig",
+  data() {
+    return {
+      // 閬僵灞�
+      loading: true,
+      // 閫変腑鏁扮粍
+      ids: [],
+      // 闈炲崟涓鐢�
+      single: true,
+      // 闈炲涓鐢�
+      multiple: true,
+      // 鏄剧ず鎼滅储鏉′欢
+      showSearch: true,
+      // 鎬绘潯鏁�
+      total: 0,
+      // 鏂规浠诲姟閰嶇疆琛ㄦ牸鏁版嵁
+      schemetaskconfigList: [],
+      // 寮瑰嚭灞傛爣棰�
+      title: "",
+      // 鏄惁鏄剧ず寮瑰嚭灞�
+      open: false,
+      // 鏌ヨ鍙傛暟
+      queryParams: {
+        pageNum: 1,
+        pageSize: 10,
+        schemeid: null,
+        triggersceneid: null,
+        triggerruleid: null,
+        tasktype: null,
+        iscycle: null,
+        planexecutevalue: null,
+        planexecuteunit: null,
+        planexecutetime: null,
+        planexecutetype: null,
+        isrealtime: null,
+        cyclefrequency: null,
+        cyclefrequencyunit: null,
+        cyclefrequencycount: null,
+        termvalidityday: null,
+        termvalidityrule: null,
+        termvaliditytipsday: null,
+        termvaliditytipstime: null,
+        relationid: null,
+        content: null,
+        tipscontent: null,
+        limitedday: null,
+        overdueday: null,
+        overduetipsday: null,
+        lossday: null,
+        executetype: null,
+        executetemplate: null,
+        executetemplateextra: null,
+        executeorder: null,
+        executevoicetype: null,
+        executevoicecontent: null,
+        exeutetipspersonid: null,
+        orgid: null,
+        isupload: null,
+        uploadTime: null,
+        islocal: null,
+        relationtype: null,
+        voicemanufacturers: null,
+        voiceconfig: null,
+        completecondition: null,
+        completeconditionstate: null,
+        relationlistid: null,
+        relationcode: null,
+        isrepeat: null
+      },
+      // 琛ㄥ崟鍙傛暟
+      form: {},
+      // 琛ㄥ崟鏍¢獙
+      rules: {
+        delFlag: [
+          { required: true, message: " 鍒犻櫎鏍囪 涓嶈兘涓虹┖", trigger: "blur" }
+        ],
+        isupload: [
+          { required: true, message: " 涓婁紶鏍囪 涓嶈兘涓虹┖", trigger: "blur" }
+        ],
+      }
+    };
+  },
+  created() {
+    this.getList();
+  },
+  methods: {
+    /** 鏌ヨ鏂规浠诲姟閰嶇疆鍒楄〃 */
+    getList() {
+      this.loading = true;
+      listSchemetaskconfig(this.queryParams).then(response => {
+        this.schemetaskconfigList = response.rows;
+        this.total = response.total;
+        this.loading = false;
+      });
+    },
+    // 鍙栨秷鎸夐挳
+    cancel() {
+      this.open = false;
+      this.reset();
+    },
+    // 琛ㄥ崟閲嶇疆
+    reset() {
+      this.form = {
+        id: null,
+        schemeid: null,
+        triggersceneid: null,
+        triggerruleid: null,
+        tasktype: null,
+        iscycle: null,
+        planexecutevalue: null,
+        planexecuteunit: null,
+        planexecutetime: null,
+        planexecutetype: null,
+        isrealtime: null,
+        cyclefrequency: null,
+        cyclefrequencyunit: null,
+        cyclefrequencycount: null,
+        termvalidityday: null,
+        termvalidityrule: null,
+        termvaliditytipsday: null,
+        termvaliditytipstime: null,
+        relationid: null,
+        content: null,
+        tipscontent: null,
+        limitedday: null,
+        overdueday: null,
+        overduetipsday: null,
+        lossday: null,
+        executetype: null,
+        executetemplate: null,
+        executetemplateextra: null,
+        executeorder: null,
+        executevoicetype: null,
+        executevoicecontent: null,
+        exeutetipspersonid: null,
+        orgid: null,
+        delFlag: null,
+        updateBy: null,
+        updateTime: null,
+        createBy: null,
+        createTime: null,
+        isupload: null,
+        uploadTime: null,
+        islocal: null,
+        relationtype: null,
+        voicemanufacturers: null,
+        voiceconfig: null,
+        completecondition: null,
+        completeconditionstate: null,
+        relationlistid: null,
+        relationcode: null,
+        isrepeat: null
+      };
+      this.resetForm("form");
+    },
+    /** 鎼滅储鎸夐挳鎿嶄綔 */
+    handleQuery() {
+      this.queryParams.pageNum = 1;
+      this.getList();
+    },
+    /** 閲嶇疆鎸夐挳鎿嶄綔 */
+    resetQuery() {
+      this.resetForm("queryForm");
+      this.handleQuery();
+    },
+    // 澶氶�夋閫変腑鏁版嵁
+    handleSelectionChange(selection) {
+      this.ids = selection.map(item => item.id)
+      this.single = selection.length!==1
+      this.multiple = !selection.length
+    },
+    /** 鏂板鎸夐挳鎿嶄綔 */
+    handleAdd() {
+      this.reset();
+      this.open = true;
+      this.title = "娣诲姞鏂规浠诲姟閰嶇疆";
+    },
+    /** 淇敼鎸夐挳鎿嶄綔 */
+    handleUpdate(row) {
+      this.reset();
+      const id = row.id || this.ids
+      getSchemetaskconfig(id).then(response => {
+        this.form = response.data;
+        this.open = true;
+        this.title = "淇敼鏂规浠诲姟閰嶇疆";
+      });
+    },
+    /** 鎻愪氦鎸夐挳 */
+    submitForm() {
+      this.$refs["form"].validate(valid => {
+        if (valid) {
+          if (this.form.id != null) {
+            updateSchemetaskconfig(this.form).then(response => {
+              this.$modal.msgSuccess("淇敼鎴愬姛");
+              this.open = false;
+              this.getList();
+            });
+          } else {
+            addSchemetaskconfig(this.form).then(response => {
+              this.$modal.msgSuccess("鏂板鎴愬姛");
+              this.open = false;
+              this.getList();
+            });
+          }
+        }
+      });
+    },
+    /** 鍒犻櫎鎸夐挳鎿嶄綔 */
+    handleDelete(row) {
+      const ids = row.id || this.ids;
+      this.$modal.confirm('鏄惁纭鍒犻櫎鏂规浠诲姟閰嶇疆缂栧彿涓�"' + ids + '"鐨勬暟鎹」锛�').then(function() {
+        return delSchemetaskconfig(ids);
+      }).then(() => {
+        this.getList();
+        this.$modal.msgSuccess("鍒犻櫎鎴愬姛");
+      }).catch(() => {});
+    },
+    /** 瀵煎嚭鎸夐挳鎿嶄綔 */
+    handleExport() {
+      this.download('smartor/schemetaskconfig/export', {
+        ...this.queryParams
+      }, `schemetaskconfig_${new Date().getTime()}.xlsx`)
+    }
+  }
+};
+</script>
diff --git a/ruoyi-ui/src/views/smartor/schemetaskrecord/index.vue b/ruoyi-ui/src/views/smartor/schemetaskrecord/index.vue
new file mode 100644
index 0000000..205839f
--- /dev/null
+++ b/ruoyi-ui/src/views/smartor/schemetaskrecord/index.vue
@@ -0,0 +1,525 @@
+<template>
+  <div class="app-container">
+    <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
+      <el-form-item label=" 浠诲姟ID " prop="taskid">
+        <el-input
+          v-model="queryParams.taskid"
+          placeholder="璇疯緭鍏� 浠诲姟ID "
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label=" 鏈烘瀯ID " prop="orgid">
+        <el-input
+          v-model="queryParams.orgid"
+          placeholder="璇疯緭鍏� 鏈烘瀯ID "
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label=" 涓婁紶鏍囪 " prop="isupload">
+        <el-input
+          v-model="queryParams.isupload"
+          placeholder="璇疯緭鍏� 涓婁紶鏍囪 "
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label=" 涓婁紶鏃堕棿 " prop="uploadTime">
+        <el-date-picker clearable
+          v-model="queryParams.uploadTime"
+          type="date"
+          value-format="yyyy-MM-dd"
+          placeholder="璇烽�夋嫨 涓婁紶鏃堕棿 ">
+        </el-date-picker>
+      </el-form-item>
+      <el-form-item label=" 鍏宠仈ID;闂嵎缁撴灉ID " prop="relationid">
+        <el-input
+          v-model="queryParams.relationid"
+          placeholder="璇疯緭鍏� 鍏宠仈ID;闂嵎缁撴灉ID "
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label=" 鍙戦�佹椂闂�/澶栧懠鏃堕棿/闅忚鏃堕棿 " prop="sendtime">
+        <el-date-picker clearable
+          v-model="queryParams.sendtime"
+          type="date"
+          value-format="yyyy-MM-dd"
+          placeholder="璇烽�夋嫨 鍙戦�佹椂闂�/澶栧懠鏃堕棿/闅忚鏃堕棿 ">
+        </el-date-picker>
+      </el-form-item>
+      <el-form-item label=" 鎿嶄綔浜�/闅忚浜�/澶嶆牳浜� " prop="operator">
+        <el-input
+          v-model="queryParams.operator"
+          placeholder="璇疯緭鍏� 鎿嶄綔浜�/闅忚浜�/澶嶆牳浜� "
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label=" 鍥炲鏃堕棿/鎸傛柇鏃堕棿 " prop="replytime">
+        <el-date-picker clearable
+          v-model="queryParams.replytime"
+          type="date"
+          value-format="yyyy-MM-dd"
+          placeholder="璇烽�夋嫨 鍥炲鏃堕棿/鎸傛柇鏃堕棿 ">
+        </el-date-picker>
+      </el-form-item>
+      <el-form-item label=" 澶嶆牳鏃堕棿 " prop="reviewtime">
+        <el-date-picker clearable
+          v-model="queryParams.reviewtime"
+          type="date"
+          value-format="yyyy-MM-dd"
+          placeholder="璇烽�夋嫨 澶嶆牳鏃堕棿 ">
+        </el-date-picker>
+      </el-form-item>
+      <el-form-item label=" 鐘舵�� " prop="state">
+        <el-input
+          v-model="queryParams.state"
+          placeholder="璇疯緭鍏� 鐘舵�� "
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label=" 澶嶆牳鐘舵��;0寰呭鏍� 1鎴愬姛 2澶辫触 " prop="reviewstate">
+        <el-input
+          v-model="queryParams.reviewstate"
+          placeholder="璇疯緭鍏� 澶嶆牳鐘舵��;0寰呭鏍� 1鎴愬姛 2澶辫触 "
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label=" 鍏宠仈鍦烘櫙ID " prop="sceneid">
+        <el-input
+          v-model="queryParams.sceneid"
+          placeholder="璇疯緭鍏� 鍏宠仈鍦烘櫙ID "
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label=" 鏍囪瘑 " prop="uuid">
+        <el-input
+          v-model="queryParams.uuid"
+          placeholder="璇疯緭鍏� 鏍囪瘑 "
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label=" 鍙戦�佺殑鐩爣鍙风爜" prop="sendphone">
+        <el-input
+          v-model="queryParams.sendphone"
+          placeholder="璇疯緭鍏� 鍙戦�佺殑鐩爣鍙风爜"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label=" 鏄惁鍐嶆鎵ц " prop="isagain">
+        <el-input
+          v-model="queryParams.isagain"
+          placeholder="璇疯緭鍏� 鏄惁鍐嶆鎵ц "
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label=" 鍧愬腑ID " prop="seatsid">
+        <el-input
+          v-model="queryParams.seatsid"
+          placeholder="璇疯緭鍏� 鍧愬腑ID "
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item>
+        <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">鎼滅储</el-button>
+        <el-button icon="el-icon-refresh" size="mini" @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="mini"
+          @click="handleAdd"
+          v-hasPermi="['smartor:schemetaskrecord:add']"
+        >鏂板</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="success"
+          plain
+          icon="el-icon-edit"
+          size="mini"
+          :disabled="single"
+          @click="handleUpdate"
+          v-hasPermi="['smartor:schemetaskrecord:edit']"
+        >淇敼</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="danger"
+          plain
+          icon="el-icon-delete"
+          size="mini"
+          :disabled="multiple"
+          @click="handleDelete"
+          v-hasPermi="['smartor:schemetaskrecord:remove']"
+        >鍒犻櫎</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="warning"
+          plain
+          icon="el-icon-download"
+          size="mini"
+          @click="handleExport"
+          v-hasPermi="['smartor:schemetaskrecord:export']"
+        >瀵煎嚭</el-button>
+      </el-col>
+      <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
+    </el-row>
+
+    <el-table v-loading="loading" :data="schemetaskrecordList" @selection-change="handleSelectionChange">
+      <el-table-column type="selection" width="55" align="center" />
+      <el-table-column label=" 鑷ID " align="center" prop="id" />
+      <el-table-column label=" 绫诲瀷;0.浜哄伐 1.寰俊 2.鐭俊 3.AI鐢佃瘽 " align="center" prop="recordtype" />
+      <el-table-column label=" 浠诲姟ID " align="center" prop="taskid" />
+      <el-table-column label=" 缁撴灉 " align="center" prop="result" />
+      <el-table-column label=" 澶囨敞 " align="center" prop="remark" />
+      <el-table-column label=" 鏈烘瀯ID " align="center" prop="orgid" />
+      <el-table-column label=" 涓婁紶鏍囪 " align="center" prop="isupload" />
+      <el-table-column label=" 涓婁紶鏃堕棿 " align="center" prop="uploadTime" width="180">
+        <template slot-scope="scope">
+          <span>{{ parseTime(scope.row.uploadTime, '{y}-{m}-{d}') }}</span>
+        </template>
+      </el-table-column>
+      <el-table-column label=" 鍏宠仈ID;闂嵎缁撴灉ID " align="center" prop="relationid" />
+      <el-table-column label=" 娓犻亾绫诲瀷;榛樿0  绫诲瀷涓哄井淇�/鐭俊鏃�-1.寰俊 2鐭俊 " align="center" prop="channeltype" />
+      <el-table-column label=" 鍙戦�佹椂闂�/澶栧懠鏃堕棿/闅忚鏃堕棿 " align="center" prop="sendtime" width="180">
+        <template slot-scope="scope">
+          <span>{{ parseTime(scope.row.sendtime, '{y}-{m}-{d}') }}</span>
+        </template>
+      </el-table-column>
+      <el-table-column label=" 鎿嶄綔浜�/闅忚浜�/澶嶆牳浜� " align="center" prop="operator" />
+      <el-table-column label=" 鍥炲鏃堕棿/鎸傛柇鏃堕棿 " align="center" prop="replytime" width="180">
+        <template slot-scope="scope">
+          <span>{{ parseTime(scope.row.replytime, '{y}-{m}-{d}') }}</span>
+        </template>
+      </el-table-column>
+      <el-table-column label=" 澶嶆牳鏃堕棿 " align="center" prop="reviewtime" width="180">
+        <template slot-scope="scope">
+          <span>{{ parseTime(scope.row.reviewtime, '{y}-{m}-{d}') }}</span>
+        </template>
+      </el-table-column>
+      <el-table-column label=" 鐘舵�� " align="center" prop="state" />
+      <el-table-column label=" 澶嶆牳鐘舵��;0寰呭鏍� 1鎴愬姛 2澶辫触 " align="center" prop="reviewstate" />
+      <el-table-column label=" 鍏宠仈鍦烘櫙ID " align="center" prop="sceneid" />
+      <el-table-column label=" 鏍囪瘑 " align="center" prop="uuid" />
+      <el-table-column label=" 鍙戦�佺殑鐩爣鍙风爜" align="center" prop="sendphone" />
+      <el-table-column label=" 鏄惁鍐嶆鎵ц " align="center" prop="isagain" />
+      <el-table-column label=" 鍧愬腑ID " align="center" prop="seatsid" />
+      <el-table-column label=" 鎵嬪姩澶勭悊绫诲瀷 " align="center" prop="handletype" />
+      <el-table-column label="鎿嶄綔" align="center" class-name="small-padding fixed-width">
+        <template slot-scope="scope">
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-edit"
+            @click="handleUpdate(scope.row)"
+            v-hasPermi="['smartor:schemetaskrecord:edit']"
+          >淇敼</el-button>
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-delete"
+            @click="handleDelete(scope.row)"
+            v-hasPermi="['smartor:schemetaskrecord:remove']"
+          >鍒犻櫎</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-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
+      <el-form ref="form" :model="form" :rules="rules" label-width="80px">
+        <el-form-item label=" 浠诲姟ID " prop="taskid">
+          <el-input v-model="form.taskid" placeholder="璇疯緭鍏� 浠诲姟ID " />
+        </el-form-item>
+        <el-form-item label=" 缁撴灉 " prop="result">
+          <el-input v-model="form.result" type="textarea" placeholder="璇疯緭鍏ュ唴瀹�" />
+        </el-form-item>
+        <el-form-item label=" 澶囨敞 " prop="remark">
+          <el-input v-model="form.remark" type="textarea" placeholder="璇疯緭鍏ュ唴瀹�" />
+        </el-form-item>
+        <el-form-item label=" 鏈烘瀯ID " prop="orgid">
+          <el-input v-model="form.orgid" placeholder="璇疯緭鍏� 鏈烘瀯ID " />
+        </el-form-item>
+        <el-form-item label=" 鍒犻櫎鏍囪 " prop="delFlag">
+          <el-input v-model="form.delFlag" placeholder="璇疯緭鍏� 鍒犻櫎鏍囪 " />
+        </el-form-item>
+        <el-form-item label=" 涓婁紶鏍囪 " prop="isupload">
+          <el-input v-model="form.isupload" placeholder="璇疯緭鍏� 涓婁紶鏍囪 " />
+        </el-form-item>
+        <el-form-item label=" 涓婁紶鏃堕棿 " prop="uploadTime">
+          <el-date-picker clearable
+            v-model="form.uploadTime"
+            type="date"
+            value-format="yyyy-MM-dd"
+            placeholder="璇烽�夋嫨 涓婁紶鏃堕棿 ">
+          </el-date-picker>
+        </el-form-item>
+        <el-form-item label=" 鍏宠仈ID;闂嵎缁撴灉ID " prop="relationid">
+          <el-input v-model="form.relationid" placeholder="璇疯緭鍏� 鍏宠仈ID;闂嵎缁撴灉ID " />
+        </el-form-item>
+        <el-form-item label=" 鍙戦�佹椂闂�/澶栧懠鏃堕棿/闅忚鏃堕棿 " prop="sendtime">
+          <el-date-picker clearable
+            v-model="form.sendtime"
+            type="date"
+            value-format="yyyy-MM-dd"
+            placeholder="璇烽�夋嫨 鍙戦�佹椂闂�/澶栧懠鏃堕棿/闅忚鏃堕棿 ">
+          </el-date-picker>
+        </el-form-item>
+        <el-form-item label=" 鎿嶄綔浜�/闅忚浜�/澶嶆牳浜� " prop="operator">
+          <el-input v-model="form.operator" placeholder="璇疯緭鍏� 鎿嶄綔浜�/闅忚浜�/澶嶆牳浜� " />
+        </el-form-item>
+        <el-form-item label=" 鍥炲鏃堕棿/鎸傛柇鏃堕棿 " prop="replytime">
+          <el-date-picker clearable
+            v-model="form.replytime"
+            type="date"
+            value-format="yyyy-MM-dd"
+            placeholder="璇烽�夋嫨 鍥炲鏃堕棿/鎸傛柇鏃堕棿 ">
+          </el-date-picker>
+        </el-form-item>
+        <el-form-item label=" 澶嶆牳鏃堕棿 " prop="reviewtime">
+          <el-date-picker clearable
+            v-model="form.reviewtime"
+            type="date"
+            value-format="yyyy-MM-dd"
+            placeholder="璇烽�夋嫨 澶嶆牳鏃堕棿 ">
+          </el-date-picker>
+        </el-form-item>
+        <el-form-item label=" 鐘舵�� " prop="state">
+          <el-input v-model="form.state" placeholder="璇疯緭鍏� 鐘舵�� " />
+        </el-form-item>
+        <el-form-item label=" 澶嶆牳鐘舵��;0寰呭鏍� 1鎴愬姛 2澶辫触 " prop="reviewstate">
+          <el-input v-model="form.reviewstate" placeholder="璇疯緭鍏� 澶嶆牳鐘舵��;0寰呭鏍� 1鎴愬姛 2澶辫触 " />
+        </el-form-item>
+        <el-form-item label=" 鍏宠仈鍦烘櫙ID " prop="sceneid">
+          <el-input v-model="form.sceneid" placeholder="璇疯緭鍏� 鍏宠仈鍦烘櫙ID " />
+        </el-form-item>
+        <el-form-item label=" 鏍囪瘑 " prop="uuid">
+          <el-input v-model="form.uuid" placeholder="璇疯緭鍏� 鏍囪瘑 " />
+        </el-form-item>
+        <el-form-item label=" 鍙戦�佺殑鐩爣鍙风爜" prop="sendphone">
+          <el-input v-model="form.sendphone" placeholder="璇疯緭鍏� 鍙戦�佺殑鐩爣鍙风爜" />
+        </el-form-item>
+        <el-form-item label=" 鏄惁鍐嶆鎵ц " prop="isagain">
+          <el-input v-model="form.isagain" placeholder="璇疯緭鍏� 鏄惁鍐嶆鎵ц " />
+        </el-form-item>
+        <el-form-item label=" 鍧愬腑ID " prop="seatsid">
+          <el-input v-model="form.seatsid" placeholder="璇疯緭鍏� 鍧愬腑ID " />
+        </el-form-item>
+      </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>
+</template>
+
+<script>
+import { listSchemetaskrecord, getSchemetaskrecord, delSchemetaskrecord, addSchemetaskrecord, updateSchemetaskrecord } from "@/api/smartor/schemetaskrecord";
+
+export default {
+  name: "Schemetaskrecord",
+  data() {
+    return {
+      // 閬僵灞�
+      loading: true,
+      // 閫変腑鏁扮粍
+      ids: [],
+      // 闈炲崟涓鐢�
+      single: true,
+      // 闈炲涓鐢�
+      multiple: true,
+      // 鏄剧ず鎼滅储鏉′欢
+      showSearch: true,
+      // 鎬绘潯鏁�
+      total: 0,
+      // 鏂规浠诲姟澶勭悊璁板綍琛ㄦ牸鏁版嵁
+      schemetaskrecordList: [],
+      // 寮瑰嚭灞傛爣棰�
+      title: "",
+      // 鏄惁鏄剧ず寮瑰嚭灞�
+      open: false,
+      // 鏌ヨ鍙傛暟
+      queryParams: {
+        pageNum: 1,
+        pageSize: 10,
+        recordtype: null,
+        taskid: null,
+        result: null,
+        orgid: null,
+        isupload: null,
+        uploadTime: null,
+        relationid: null,
+        channeltype: null,
+        sendtime: null,
+        operator: null,
+        replytime: null,
+        reviewtime: null,
+        state: null,
+        reviewstate: null,
+        sceneid: null,
+        uuid: null,
+        sendphone: null,
+        isagain: null,
+        seatsid: null,
+        handletype: null
+      },
+      // 琛ㄥ崟鍙傛暟
+      form: {},
+      // 琛ㄥ崟鏍¢獙
+      rules: {
+        delFlag: [
+          { required: true, message: " 鍒犻櫎鏍囪 涓嶈兘涓虹┖", trigger: "blur" }
+        ],
+        isupload: [
+          { required: true, message: " 涓婁紶鏍囪 涓嶈兘涓虹┖", trigger: "blur" }
+        ],
+      }
+    };
+  },
+  created() {
+    this.getList();
+  },
+  methods: {
+    /** 鏌ヨ鏂规浠诲姟澶勭悊璁板綍鍒楄〃 */
+    getList() {
+      this.loading = true;
+      listSchemetaskrecord(this.queryParams).then(response => {
+        this.schemetaskrecordList = response.rows;
+        this.total = response.total;
+        this.loading = false;
+      });
+    },
+    // 鍙栨秷鎸夐挳
+    cancel() {
+      this.open = false;
+      this.reset();
+    },
+    // 琛ㄥ崟閲嶇疆
+    reset() {
+      this.form = {
+        id: null,
+        recordtype: null,
+        taskid: null,
+        result: null,
+        remark: null,
+        orgid: null,
+        delFlag: null,
+        updateBy: null,
+        updateTime: null,
+        createBy: null,
+        createTime: null,
+        isupload: null,
+        uploadTime: null,
+        relationid: null,
+        channeltype: null,
+        sendtime: null,
+        operator: null,
+        replytime: null,
+        reviewtime: null,
+        state: null,
+        reviewstate: null,
+        sceneid: null,
+        uuid: null,
+        sendphone: null,
+        isagain: null,
+        seatsid: null,
+        handletype: null
+      };
+      this.resetForm("form");
+    },
+    /** 鎼滅储鎸夐挳鎿嶄綔 */
+    handleQuery() {
+      this.queryParams.pageNum = 1;
+      this.getList();
+    },
+    /** 閲嶇疆鎸夐挳鎿嶄綔 */
+    resetQuery() {
+      this.resetForm("queryForm");
+      this.handleQuery();
+    },
+    // 澶氶�夋閫変腑鏁版嵁
+    handleSelectionChange(selection) {
+      this.ids = selection.map(item => item.id)
+      this.single = selection.length!==1
+      this.multiple = !selection.length
+    },
+    /** 鏂板鎸夐挳鎿嶄綔 */
+    handleAdd() {
+      this.reset();
+      this.open = true;
+      this.title = "娣诲姞鏂规浠诲姟澶勭悊璁板綍";
+    },
+    /** 淇敼鎸夐挳鎿嶄綔 */
+    handleUpdate(row) {
+      this.reset();
+      const id = row.id || this.ids
+      getSchemetaskrecord(id).then(response => {
+        this.form = response.data;
+        this.open = true;
+        this.title = "淇敼鏂规浠诲姟澶勭悊璁板綍";
+      });
+    },
+    /** 鎻愪氦鎸夐挳 */
+    submitForm() {
+      this.$refs["form"].validate(valid => {
+        if (valid) {
+          if (this.form.id != null) {
+            updateSchemetaskrecord(this.form).then(response => {
+              this.$modal.msgSuccess("淇敼鎴愬姛");
+              this.open = false;
+              this.getList();
+            });
+          } else {
+            addSchemetaskrecord(this.form).then(response => {
+              this.$modal.msgSuccess("鏂板鎴愬姛");
+              this.open = false;
+              this.getList();
+            });
+          }
+        }
+      });
+    },
+    /** 鍒犻櫎鎸夐挳鎿嶄綔 */
+    handleDelete(row) {
+      const ids = row.id || this.ids;
+      this.$modal.confirm('鏄惁纭鍒犻櫎鏂规浠诲姟澶勭悊璁板綍缂栧彿涓�"' + ids + '"鐨勬暟鎹」锛�').then(function() {
+        return delSchemetaskrecord(ids);
+      }).then(() => {
+        this.getList();
+        this.$modal.msgSuccess("鍒犻櫎鎴愬姛");
+      }).catch(() => {});
+    },
+    /** 瀵煎嚭鎸夐挳鎿嶄綔 */
+    handleExport() {
+      this.download('smartor/schemetaskrecord/export', {
+        ...this.queryParams
+      }, `schemetaskrecord_${new Date().getTime()}.xlsx`)
+    }
+  }
+};
+</script>
diff --git a/ruoyi-ui/src/views/smartor/schemetaskrepeatconfig/index.vue b/ruoyi-ui/src/views/smartor/schemetaskrepeatconfig/index.vue
new file mode 100644
index 0000000..661e446
--- /dev/null
+++ b/ruoyi-ui/src/views/smartor/schemetaskrepeatconfig/index.vue
@@ -0,0 +1,437 @@
+<template>
+  <div class="app-container">
+    <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
+      <el-form-item label=" 鏂规ID " prop="schemeid">
+        <el-input
+          v-model="queryParams.schemeid"
+          placeholder="璇疯緭鍏� 鏂规ID "
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label=" 瑙﹀彂鍦烘櫙ID " prop="triggersceneid">
+        <el-input
+          v-model="queryParams.triggersceneid"
+          placeholder="璇疯緭鍏� 瑙﹀彂鍦烘櫙ID "
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label=" 瑙﹀彂瑙勫垯ID " prop="triggerruleid">
+        <el-input
+          v-model="queryParams.triggerruleid"
+          placeholder="璇疯緭鍏� 瑙﹀彂瑙勫垯ID "
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label=" 浠诲姟閰嶇疆ID " prop="taskconfigid">
+        <el-input
+          v-model="queryParams.taskconfigid"
+          placeholder="璇疯緭鍏� 浠诲姟閰嶇疆ID "
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label=" 鎵ц澶辫触鏁板�� " prop="executefailvalue">
+        <el-input
+          v-model="queryParams.executefailvalue"
+          placeholder="璇疯緭鍏� 鎵ц澶辫触鏁板�� "
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label=" 鎵ц澶辫触鍗曚綅;1.鍒嗛挓 2.灏忔椂 " prop="executefailunit">
+        <el-input
+          v-model="queryParams.executefailunit"
+          placeholder="璇疯緭鍏� 鎵ц澶辫触鍗曚綅;1.鍒嗛挓 2.灏忔椂 "
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label=" 鎵ц妯℃澘 寰俊&AI澶栧懠妯℃澘 " prop="executetemplate">
+        <el-input
+          v-model="queryParams.executetemplate"
+          placeholder="璇疯緭鍏� 鎵ц妯℃澘 寰俊&AI澶栧懠妯℃澘 "
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label=" 棰濆鎵ц妯℃澘 鐭俊妯℃澘 " prop="executetemplateextra">
+        <el-input
+          v-model="queryParams.executetemplateextra"
+          placeholder="璇疯緭鍏� 棰濆鎵ц妯℃澘 鐭俊妯℃澘 "
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label=" 鎵ц椤哄簭;1.寰俊浼樺厛 2.鐭俊浼樺厛 3.鍚屾椂鍙戦�� " prop="executeorder">
+        <el-input
+          v-model="queryParams.executeorder"
+          placeholder="璇疯緭鍏� 鎵ц椤哄簭;1.寰俊浼樺厛 2.鐭俊浼樺厛 3.鍚屾椂鍙戦�� "
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label=" 鏈烘瀯ID " prop="orgid">
+        <el-input
+          v-model="queryParams.orgid"
+          placeholder="璇疯緭鍏� 鏈烘瀯ID "
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label=" 涓婁紶鏍囪 " prop="isupload">
+        <el-input
+          v-model="queryParams.isupload"
+          placeholder="璇疯緭鍏� 涓婁紶鏍囪 "
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label=" 涓婁紶鏃堕棿 " prop="uploadTime">
+        <el-date-picker clearable
+          v-model="queryParams.uploadTime"
+          type="date"
+          value-format="yyyy-MM-dd"
+          placeholder="璇烽�夋嫨 涓婁紶鏃堕棿 ">
+        </el-date-picker>
+      </el-form-item>
+      <el-form-item>
+        <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">鎼滅储</el-button>
+        <el-button icon="el-icon-refresh" size="mini" @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="mini"
+          @click="handleAdd"
+          v-hasPermi="['smartor:schemetaskrepeatconfig:add']"
+        >鏂板</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="success"
+          plain
+          icon="el-icon-edit"
+          size="mini"
+          :disabled="single"
+          @click="handleUpdate"
+          v-hasPermi="['smartor:schemetaskrepeatconfig:edit']"
+        >淇敼</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="danger"
+          plain
+          icon="el-icon-delete"
+          size="mini"
+          :disabled="multiple"
+          @click="handleDelete"
+          v-hasPermi="['smartor:schemetaskrepeatconfig:remove']"
+        >鍒犻櫎</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="warning"
+          plain
+          icon="el-icon-download"
+          size="mini"
+          @click="handleExport"
+          v-hasPermi="['smartor:schemetaskrepeatconfig:export']"
+        >瀵煎嚭</el-button>
+      </el-col>
+      <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
+    </el-row>
+
+    <el-table v-loading="loading" :data="schemetaskrepeatconfigList" @selection-change="handleSelectionChange">
+      <el-table-column type="selection" width="55" align="center" />
+      <el-table-column label=" 鑷ID " align="center" prop="id" />
+      <el-table-column label=" 鏂规ID " align="center" prop="schemeid" />
+      <el-table-column label=" 瑙﹀彂鍦烘櫙ID " align="center" prop="triggersceneid" />
+      <el-table-column label=" 瑙﹀彂瑙勫垯ID " align="center" prop="triggerruleid" />
+      <el-table-column label=" 浠诲姟閰嶇疆ID " align="center" prop="taskconfigid" />
+      <el-table-column label=" 鎵ц鏂瑰紡;1.寰俊/鐭俊 2.AI鐢佃瘽 3.涓嶈嚜鍔ㄥ彂閫� 4.寰俊 5.鐭俊 6.浼佷笟寰俊 7.浼佷笟寰俊缇� 8.閽夐拤 9.閽夐拤缇� 10.椋炰功 11.椋炰功缇� " align="center" prop="executetype" />
+      <el-table-column label=" 鎵ц澶辫触绫诲瀷;1.澶栧懠澶辫触 2.鏃犲洖澶� " align="center" prop="executefailtype" />
+      <el-table-column label=" 鎵ц澶辫触鏁板�� " align="center" prop="executefailvalue" />
+      <el-table-column label=" 鎵ц澶辫触鍗曚綅;1.鍒嗛挓 2.灏忔椂 " align="center" prop="executefailunit" />
+      <el-table-column label=" 鎵ц妯℃澘 寰俊&AI澶栧懠妯℃澘 " align="center" prop="executetemplate" />
+      <el-table-column label=" 棰濆鎵ц妯℃澘 鐭俊妯℃澘 " align="center" prop="executetemplateextra" />
+      <el-table-column label=" 鎵ц椤哄簭;1.寰俊浼樺厛 2.鐭俊浼樺厛 3.鍚屾椂鍙戦�� " align="center" prop="executeorder" />
+      <el-table-column label=" 鎵ц璇煶绫诲瀷;1.褰曢煶 2.TTS " align="center" prop="executevoicetype" />
+      <el-table-column label=" 褰曢煶鏂囦欢&TTS鍙傛暟 " align="center" prop="executevoicecontent" />
+      <el-table-column label=" 鏈烘瀯ID " align="center" prop="orgid" />
+      <el-table-column label=" 涓婁紶鏍囪 " align="center" prop="isupload" />
+      <el-table-column label=" 涓婁紶鏃堕棿 " align="center" prop="uploadTime" width="180">
+        <template slot-scope="scope">
+          <span>{{ parseTime(scope.row.uploadTime, '{y}-{m}-{d}') }}</span>
+        </template>
+      </el-table-column>
+      <el-table-column label="鎿嶄綔" align="center" class-name="small-padding fixed-width">
+        <template slot-scope="scope">
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-edit"
+            @click="handleUpdate(scope.row)"
+            v-hasPermi="['smartor:schemetaskrepeatconfig:edit']"
+          >淇敼</el-button>
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-delete"
+            @click="handleDelete(scope.row)"
+            v-hasPermi="['smartor:schemetaskrepeatconfig:remove']"
+          >鍒犻櫎</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-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
+      <el-form ref="form" :model="form" :rules="rules" label-width="80px">
+        <el-form-item label=" 鏂规ID " prop="schemeid">
+          <el-input v-model="form.schemeid" placeholder="璇疯緭鍏� 鏂规ID " />
+        </el-form-item>
+        <el-form-item label=" 瑙﹀彂鍦烘櫙ID " prop="triggersceneid">
+          <el-input v-model="form.triggersceneid" placeholder="璇疯緭鍏� 瑙﹀彂鍦烘櫙ID " />
+        </el-form-item>
+        <el-form-item label=" 瑙﹀彂瑙勫垯ID " prop="triggerruleid">
+          <el-input v-model="form.triggerruleid" placeholder="璇疯緭鍏� 瑙﹀彂瑙勫垯ID " />
+        </el-form-item>
+        <el-form-item label=" 浠诲姟閰嶇疆ID " prop="taskconfigid">
+          <el-input v-model="form.taskconfigid" placeholder="璇疯緭鍏� 浠诲姟閰嶇疆ID " />
+        </el-form-item>
+        <el-form-item label=" 鎵ц澶辫触鏁板�� " prop="executefailvalue">
+          <el-input v-model="form.executefailvalue" placeholder="璇疯緭鍏� 鎵ц澶辫触鏁板�� " />
+        </el-form-item>
+        <el-form-item label=" 鎵ц澶辫触鍗曚綅;1.鍒嗛挓 2.灏忔椂 " prop="executefailunit">
+          <el-input v-model="form.executefailunit" placeholder="璇疯緭鍏� 鎵ц澶辫触鍗曚綅;1.鍒嗛挓 2.灏忔椂 " />
+        </el-form-item>
+        <el-form-item label=" 鎵ц妯℃澘 寰俊&AI澶栧懠妯℃澘 " prop="executetemplate">
+          <el-input v-model="form.executetemplate" placeholder="璇疯緭鍏� 鎵ц妯℃澘 寰俊&AI澶栧懠妯℃澘 " />
+        </el-form-item>
+        <el-form-item label=" 棰濆鎵ц妯℃澘 鐭俊妯℃澘 " prop="executetemplateextra">
+          <el-input v-model="form.executetemplateextra" placeholder="璇疯緭鍏� 棰濆鎵ц妯℃澘 鐭俊妯℃澘 " />
+        </el-form-item>
+        <el-form-item label=" 鎵ц椤哄簭;1.寰俊浼樺厛 2.鐭俊浼樺厛 3.鍚屾椂鍙戦�� " prop="executeorder">
+          <el-input v-model="form.executeorder" placeholder="璇疯緭鍏� 鎵ц椤哄簭;1.寰俊浼樺厛 2.鐭俊浼樺厛 3.鍚屾椂鍙戦�� " />
+        </el-form-item>
+        <el-form-item label=" 褰曢煶鏂囦欢&TTS鍙傛暟 ">
+          <editor v-model="form.executevoicecontent" :min-height="192"/>
+        </el-form-item>
+        <el-form-item label=" 鏈烘瀯ID " prop="orgid">
+          <el-input v-model="form.orgid" placeholder="璇疯緭鍏� 鏈烘瀯ID " />
+        </el-form-item>
+        <el-form-item label=" 鍒犻櫎鏍囪 " prop="delFlag">
+          <el-input v-model="form.delFlag" placeholder="璇疯緭鍏� 鍒犻櫎鏍囪 " />
+        </el-form-item>
+        <el-form-item label=" 涓婁紶鏍囪 " prop="isupload">
+          <el-input v-model="form.isupload" placeholder="璇疯緭鍏� 涓婁紶鏍囪 " />
+        </el-form-item>
+        <el-form-item label=" 涓婁紶鏃堕棿 " prop="uploadTime">
+          <el-date-picker clearable
+            v-model="form.uploadTime"
+            type="date"
+            value-format="yyyy-MM-dd"
+            placeholder="璇烽�夋嫨 涓婁紶鏃堕棿 ">
+          </el-date-picker>
+        </el-form-item>
+      </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>
+</template>
+
+<script>
+import { listSchemetaskrepeatconfig, getSchemetaskrepeatconfig, delSchemetaskrepeatconfig, addSchemetaskrepeatconfig, updateSchemetaskrepeatconfig } from "@/api/smartor/schemetaskrepeatconfig";
+
+export default {
+  name: "Schemetaskrepeatconfig",
+  data() {
+    return {
+      // 閬僵灞�
+      loading: true,
+      // 閫変腑鏁扮粍
+      ids: [],
+      // 闈炲崟涓鐢�
+      single: true,
+      // 闈炲涓鐢�
+      multiple: true,
+      // 鏄剧ず鎼滅储鏉′欢
+      showSearch: true,
+      // 鎬绘潯鏁�
+      total: 0,
+      // 鏂规浠诲姟閲嶅彂閰嶇疆琛ㄦ牸鏁版嵁
+      schemetaskrepeatconfigList: [],
+      // 寮瑰嚭灞傛爣棰�
+      title: "",
+      // 鏄惁鏄剧ず寮瑰嚭灞�
+      open: false,
+      // 鏌ヨ鍙傛暟
+      queryParams: {
+        pageNum: 1,
+        pageSize: 10,
+        schemeid: null,
+        triggersceneid: null,
+        triggerruleid: null,
+        taskconfigid: null,
+        executetype: null,
+        executefailtype: null,
+        executefailvalue: null,
+        executefailunit: null,
+        executetemplate: null,
+        executetemplateextra: null,
+        executeorder: null,
+        executevoicetype: null,
+        executevoicecontent: null,
+        orgid: null,
+        isupload: null,
+        uploadTime: null
+      },
+      // 琛ㄥ崟鍙傛暟
+      form: {},
+      // 琛ㄥ崟鏍¢獙
+      rules: {
+        delFlag: [
+          { required: true, message: " 鍒犻櫎鏍囪 涓嶈兘涓虹┖", trigger: "blur" }
+        ],
+        isupload: [
+          { required: true, message: " 涓婁紶鏍囪 涓嶈兘涓虹┖", trigger: "blur" }
+        ],
+      }
+    };
+  },
+  created() {
+    this.getList();
+  },
+  methods: {
+    /** 鏌ヨ鏂规浠诲姟閲嶅彂閰嶇疆鍒楄〃 */
+    getList() {
+      this.loading = true;
+      listSchemetaskrepeatconfig(this.queryParams).then(response => {
+        this.schemetaskrepeatconfigList = response.rows;
+        this.total = response.total;
+        this.loading = false;
+      });
+    },
+    // 鍙栨秷鎸夐挳
+    cancel() {
+      this.open = false;
+      this.reset();
+    },
+    // 琛ㄥ崟閲嶇疆
+    reset() {
+      this.form = {
+        id: null,
+        schemeid: null,
+        triggersceneid: null,
+        triggerruleid: null,
+        taskconfigid: null,
+        executetype: null,
+        executefailtype: null,
+        executefailvalue: null,
+        executefailunit: null,
+        executetemplate: null,
+        executetemplateextra: null,
+        executeorder: null,
+        executevoicetype: null,
+        executevoicecontent: null,
+        orgid: null,
+        delFlag: null,
+        updateBy: null,
+        updateTime: null,
+        createBy: null,
+        createTime: null,
+        isupload: null,
+        uploadTime: null
+      };
+      this.resetForm("form");
+    },
+    /** 鎼滅储鎸夐挳鎿嶄綔 */
+    handleQuery() {
+      this.queryParams.pageNum = 1;
+      this.getList();
+    },
+    /** 閲嶇疆鎸夐挳鎿嶄綔 */
+    resetQuery() {
+      this.resetForm("queryForm");
+      this.handleQuery();
+    },
+    // 澶氶�夋閫変腑鏁版嵁
+    handleSelectionChange(selection) {
+      this.ids = selection.map(item => item.id)
+      this.single = selection.length!==1
+      this.multiple = !selection.length
+    },
+    /** 鏂板鎸夐挳鎿嶄綔 */
+    handleAdd() {
+      this.reset();
+      this.open = true;
+      this.title = "娣诲姞鏂规浠诲姟閲嶅彂閰嶇疆";
+    },
+    /** 淇敼鎸夐挳鎿嶄綔 */
+    handleUpdate(row) {
+      this.reset();
+      const id = row.id || this.ids
+      getSchemetaskrepeatconfig(id).then(response => {
+        this.form = response.data;
+        this.open = true;
+        this.title = "淇敼鏂规浠诲姟閲嶅彂閰嶇疆";
+      });
+    },
+    /** 鎻愪氦鎸夐挳 */
+    submitForm() {
+      this.$refs["form"].validate(valid => {
+        if (valid) {
+          if (this.form.id != null) {
+            updateSchemetaskrepeatconfig(this.form).then(response => {
+              this.$modal.msgSuccess("淇敼鎴愬姛");
+              this.open = false;
+              this.getList();
+            });
+          } else {
+            addSchemetaskrepeatconfig(this.form).then(response => {
+              this.$modal.msgSuccess("鏂板鎴愬姛");
+              this.open = false;
+              this.getList();
+            });
+          }
+        }
+      });
+    },
+    /** 鍒犻櫎鎸夐挳鎿嶄綔 */
+    handleDelete(row) {
+      const ids = row.id || this.ids;
+      this.$modal.confirm('鏄惁纭鍒犻櫎鏂规浠诲姟閲嶅彂閰嶇疆缂栧彿涓�"' + ids + '"鐨勬暟鎹」锛�').then(function() {
+        return delSchemetaskrepeatconfig(ids);
+      }).then(() => {
+        this.getList();
+        this.$modal.msgSuccess("鍒犻櫎鎴愬姛");
+      }).catch(() => {});
+    },
+    /** 瀵煎嚭鎸夐挳鎿嶄綔 */
+    handleExport() {
+      this.download('smartor/schemetaskrepeatconfig/export', {
+        ...this.queryParams
+      }, `schemetaskrepeatconfig_${new Date().getTime()}.xlsx`)
+    }
+  }
+};
+</script>
diff --git a/ruoyi-ui/src/views/smartor/schemetriggerrule/index.vue b/ruoyi-ui/src/views/smartor/schemetriggerrule/index.vue
new file mode 100644
index 0000000..25d14c6
--- /dev/null
+++ b/ruoyi-ui/src/views/smartor/schemetriggerrule/index.vue
@@ -0,0 +1,495 @@
+<template>
+  <div class="app-container">
+    <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
+      <el-form-item label=" 涓旀垨 " prop="orand">
+        <el-input
+          v-model="queryParams.orand"
+          placeholder="璇疯緭鍏� 涓旀垨 "
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label=" 瑙勫垯鏉′欢 " prop="ruleconditions">
+        <el-input
+          v-model="queryParams.ruleconditions"
+          placeholder="璇疯緭鍏� 瑙勫垯鏉′欢 "
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label=" 鐖舵潯浠� " prop="parentresultconditionsid">
+        <el-input
+          v-model="queryParams.parentresultconditionsid"
+          placeholder="璇疯緭鍏� 鐖舵潯浠� "
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label=" 鏈烘瀯ID " prop="orgid">
+        <el-input
+          v-model="queryParams.orgid"
+          placeholder="璇疯緭鍏� 鏈烘瀯ID "
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label=" 涓婁紶鏍囪 " prop="isupload">
+        <el-input
+          v-model="queryParams.isupload"
+          placeholder="璇疯緭鍏� 涓婁紶鏍囪 "
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label=" 涓婁紶鏃堕棿 " prop="uploadTime">
+        <el-date-picker clearable
+          v-model="queryParams.uploadTime"
+          type="date"
+          value-format="yyyy-MM-dd"
+          placeholder="璇烽�夋嫨 涓婁紶鏃堕棿 ">
+        </el-date-picker>
+      </el-form-item>
+      <el-form-item label=" 鏂规ID " prop="schemeid">
+        <el-input
+          v-model="queryParams.schemeid"
+          placeholder="璇疯緭鍏� 鏂规ID "
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label=" 瑙﹀彂鍦烘櫙ID " prop="triggersceneid">
+        <el-input
+          v-model="queryParams.triggersceneid"
+          placeholder="璇疯緭鍏� 瑙﹀彂鍦烘櫙ID "
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label=" " prop="conditionstypesecord">
+        <el-input
+          v-model="queryParams.conditionstypesecord"
+          placeholder="璇疯緭鍏� "
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label=" 涓夌骇鏉′欢绫诲瀷 " prop="conditionstypethree">
+        <el-input
+          v-model="queryParams.conditionstypethree"
+          placeholder="璇疯緭鍏� 涓夌骇鏉′欢绫诲瀷 "
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label=" 楠岃瘉瑙勫垯;鏁板�肩洿鎺ヨ緭鍏ワ紱鑼冨洿鐢ㄦí鏉�" prop="verifyrule">
+        <el-input
+          v-model="queryParams.verifyrule"
+          placeholder="璇疯緭鍏� 楠岃瘉瑙勫垯;鏁板�肩洿鎺ヨ緭鍏ワ紱鑼冨洿鐢ㄦí鏉�"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label=" 棰濆瑙勫垯鏉′欢 " prop="extraruleconditions">
+        <el-input
+          v-model="queryParams.extraruleconditions"
+          placeholder="璇疯緭鍏� 棰濆瑙勫垯鏉′欢 "
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label=" 棰濆楠岃瘉瑙勫垯 " prop="extraverifyrule">
+        <el-input
+          v-model="queryParams.extraverifyrule"
+          placeholder="璇疯緭鍏� 棰濆楠岃瘉瑙勫垯 "
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label=" 鍒嗙粍缂栧彿 " prop="number">
+        <el-input
+          v-model="queryParams.number"
+          placeholder="璇疯緭鍏� 鍒嗙粍缂栧彿 "
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label=" 鐖剁骇鍒嗙粍 " prop="groupnumber">
+        <el-input
+          v-model="queryParams.groupnumber"
+          placeholder="璇疯緭鍏� 鐖剁骇鍒嗙粍 "
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label=" 鐖朵笖鎴� " prop="grouporand">
+        <el-input
+          v-model="queryParams.grouporand"
+          placeholder="璇疯緭鍏� 鐖朵笖鎴� "
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label=" 鏄惁蹇呭~ " prop="isrequired">
+        <el-input
+          v-model="queryParams.isrequired"
+          placeholder="璇疯緭鍏� 鏄惁蹇呭~ "
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item>
+        <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">鎼滅储</el-button>
+        <el-button icon="el-icon-refresh" size="mini" @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="mini"
+          @click="handleAdd"
+          v-hasPermi="['smartor:schemetriggerrule:add']"
+        >鏂板</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="success"
+          plain
+          icon="el-icon-edit"
+          size="mini"
+          :disabled="single"
+          @click="handleUpdate"
+          v-hasPermi="['smartor:schemetriggerrule:edit']"
+        >淇敼</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="danger"
+          plain
+          icon="el-icon-delete"
+          size="mini"
+          :disabled="multiple"
+          @click="handleDelete"
+          v-hasPermi="['smartor:schemetriggerrule:remove']"
+        >鍒犻櫎</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="warning"
+          plain
+          icon="el-icon-download"
+          size="mini"
+          @click="handleExport"
+          v-hasPermi="['smartor:schemetriggerrule:export']"
+        >瀵煎嚭</el-button>
+      </el-col>
+      <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
+    </el-row>
+
+    <el-table v-loading="loading" :data="schemetriggerruleList" @selection-change="handleSelectionChange">
+      <el-table-column type="selection" width="55" align="center" />
+      <el-table-column label=" 鑷ID " align="center" prop="id" />
+      <el-table-column label=" 鏉′欢绫诲瀷;1.鎮h�呭睘鎬� 2.璇婄枟淇℃伅 3.鐩戞祴鍊� 4.浠诲姟淇℃伅 " align="center" prop="conditionstype" />
+      <el-table-column label=" 涓旀垨 " align="center" prop="orand" />
+      <el-table-column label=" 瑙勫垯鏉′欢 " align="center" prop="ruleconditions" />
+      <el-table-column label=" 鐖舵潯浠� " align="center" prop="parentresultconditionsid" />
+      <el-table-column label=" 鏈烘瀯ID " align="center" prop="orgid" />
+      <el-table-column label=" 涓婁紶鏍囪 " align="center" prop="isupload" />
+      <el-table-column label=" 涓婁紶鏃堕棿 " align="center" prop="uploadTime" width="180">
+        <template slot-scope="scope">
+          <span>{{ parseTime(scope.row.uploadTime, '{y}-{m}-{d}') }}</span>
+        </template>
+      </el-table-column>
+      <el-table-column label=" 鏂规ID " align="center" prop="schemeid" />
+      <el-table-column label=" 瑙﹀彂鍦烘櫙ID " align="center" prop="triggersceneid" />
+      <el-table-column label=" " align="center" prop="conditionstypesecord" />
+      <el-table-column label=" 涓夌骇鏉′欢绫诲瀷 " align="center" prop="conditionstypethree" />
+      <el-table-column label=" 楠岃瘉瑙勫垯;鏁板�肩洿鎺ヨ緭鍏ワ紱鑼冨洿鐢ㄦí鏉�" align="center" prop="verifyrule" />
+      <el-table-column label=" 棰濆瑙勫垯鏉′欢 " align="center" prop="extraruleconditions" />
+      <el-table-column label=" 棰濆楠岃瘉瑙勫垯 " align="center" prop="extraverifyrule" />
+      <el-table-column label=" 鍒嗙粍缂栧彿 " align="center" prop="number" />
+      <el-table-column label=" 鐖剁骇鍒嗙粍 " align="center" prop="groupnumber" />
+      <el-table-column label=" 鐖朵笖鎴� " align="center" prop="grouporand" />
+      <el-table-column label=" 鏄惁蹇呭~ " align="center" prop="isrequired" />
+      <el-table-column label="鎿嶄綔" align="center" class-name="small-padding fixed-width">
+        <template slot-scope="scope">
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-edit"
+            @click="handleUpdate(scope.row)"
+            v-hasPermi="['smartor:schemetriggerrule:edit']"
+          >淇敼</el-button>
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-delete"
+            @click="handleDelete(scope.row)"
+            v-hasPermi="['smartor:schemetriggerrule:remove']"
+          >鍒犻櫎</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-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
+      <el-form ref="form" :model="form" :rules="rules" label-width="80px">
+        <el-form-item label=" 涓旀垨 " prop="orand">
+          <el-input v-model="form.orand" placeholder="璇疯緭鍏� 涓旀垨 " />
+        </el-form-item>
+        <el-form-item label=" 瑙勫垯鏉′欢 " prop="ruleconditions">
+          <el-input v-model="form.ruleconditions" placeholder="璇疯緭鍏� 瑙勫垯鏉′欢 " />
+        </el-form-item>
+        <el-form-item label=" 鐖舵潯浠� " prop="parentresultconditionsid">
+          <el-input v-model="form.parentresultconditionsid" placeholder="璇疯緭鍏� 鐖舵潯浠� " />
+        </el-form-item>
+        <el-form-item label=" 鏈烘瀯ID " prop="orgid">
+          <el-input v-model="form.orgid" placeholder="璇疯緭鍏� 鏈烘瀯ID " />
+        </el-form-item>
+        <el-form-item label=" 鍒犻櫎鏍囪 " prop="delFlag">
+          <el-input v-model="form.delFlag" placeholder="璇疯緭鍏� 鍒犻櫎鏍囪 " />
+        </el-form-item>
+        <el-form-item label=" 涓婁紶鏍囪 " prop="isupload">
+          <el-input v-model="form.isupload" placeholder="璇疯緭鍏� 涓婁紶鏍囪 " />
+        </el-form-item>
+        <el-form-item label=" 涓婁紶鏃堕棿 " prop="uploadTime">
+          <el-date-picker clearable
+            v-model="form.uploadTime"
+            type="date"
+            value-format="yyyy-MM-dd"
+            placeholder="璇烽�夋嫨 涓婁紶鏃堕棿 ">
+          </el-date-picker>
+        </el-form-item>
+        <el-form-item label=" 鏂规ID " prop="schemeid">
+          <el-input v-model="form.schemeid" placeholder="璇疯緭鍏� 鏂规ID " />
+        </el-form-item>
+        <el-form-item label=" 瑙﹀彂鍦烘櫙ID " prop="triggersceneid">
+          <el-input v-model="form.triggersceneid" placeholder="璇疯緭鍏� 瑙﹀彂鍦烘櫙ID " />
+        </el-form-item>
+        <el-form-item label=" " prop="conditionstypesecord">
+          <el-input v-model="form.conditionstypesecord" placeholder="璇疯緭鍏� " />
+        </el-form-item>
+        <el-form-item label=" 涓夌骇鏉′欢绫诲瀷 " prop="conditionstypethree">
+          <el-input v-model="form.conditionstypethree" placeholder="璇疯緭鍏� 涓夌骇鏉′欢绫诲瀷 " />
+        </el-form-item>
+        <el-form-item label=" 楠岃瘉瑙勫垯;鏁板�肩洿鎺ヨ緭鍏ワ紱鑼冨洿鐢ㄦí鏉�" prop="verifyrule">
+          <el-input v-model="form.verifyrule" placeholder="璇疯緭鍏� 楠岃瘉瑙勫垯;鏁板�肩洿鎺ヨ緭鍏ワ紱鑼冨洿鐢ㄦí鏉�" />
+        </el-form-item>
+        <el-form-item label=" 棰濆瑙勫垯鏉′欢 " prop="extraruleconditions">
+          <el-input v-model="form.extraruleconditions" placeholder="璇疯緭鍏� 棰濆瑙勫垯鏉′欢 " />
+        </el-form-item>
+        <el-form-item label=" 棰濆楠岃瘉瑙勫垯 " prop="extraverifyrule">
+          <el-input v-model="form.extraverifyrule" placeholder="璇疯緭鍏� 棰濆楠岃瘉瑙勫垯 " />
+        </el-form-item>
+        <el-form-item label=" 鍒嗙粍缂栧彿 " prop="number">
+          <el-input v-model="form.number" placeholder="璇疯緭鍏� 鍒嗙粍缂栧彿 " />
+        </el-form-item>
+        <el-form-item label=" 鐖剁骇鍒嗙粍 " prop="groupnumber">
+          <el-input v-model="form.groupnumber" placeholder="璇疯緭鍏� 鐖剁骇鍒嗙粍 " />
+        </el-form-item>
+        <el-form-item label=" 鐖朵笖鎴� " prop="grouporand">
+          <el-input v-model="form.grouporand" placeholder="璇疯緭鍏� 鐖朵笖鎴� " />
+        </el-form-item>
+        <el-form-item label=" 鏄惁蹇呭~ " prop="isrequired">
+          <el-input v-model="form.isrequired" placeholder="璇疯緭鍏� 鏄惁蹇呭~ " />
+        </el-form-item>
+      </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>
+</template>
+
+<script>
+import { listSchemetriggerrule, getSchemetriggerrule, delSchemetriggerrule, addSchemetriggerrule, updateSchemetriggerrule } from "@/api/smartor/schemetriggerrule";
+
+export default {
+  name: "Schemetriggerrule",
+  data() {
+    return {
+      // 閬僵灞�
+      loading: true,
+      // 閫変腑鏁扮粍
+      ids: [],
+      // 闈炲崟涓鐢�
+      single: true,
+      // 闈炲涓鐢�
+      multiple: true,
+      // 鏄剧ず鎼滅储鏉′欢
+      showSearch: true,
+      // 鎬绘潯鏁�
+      total: 0,
+      // 鏂规瑙﹀彂鏉′欢瑙勫垯琛ㄦ牸鏁版嵁
+      schemetriggerruleList: [],
+      // 寮瑰嚭灞傛爣棰�
+      title: "",
+      // 鏄惁鏄剧ず寮瑰嚭灞�
+      open: false,
+      // 鏌ヨ鍙傛暟
+      queryParams: {
+        pageNum: 1,
+        pageSize: 10,
+        conditionstype: null,
+        orand: null,
+        ruleconditions: null,
+        parentresultconditionsid: null,
+        orgid: null,
+        isupload: null,
+        uploadTime: null,
+        schemeid: null,
+        triggersceneid: null,
+        conditionstypesecord: null,
+        conditionstypethree: null,
+        verifyrule: null,
+        extraruleconditions: null,
+        extraverifyrule: null,
+        number: null,
+        groupnumber: null,
+        grouporand: null,
+        isrequired: null
+      },
+      // 琛ㄥ崟鍙傛暟
+      form: {},
+      // 琛ㄥ崟鏍¢獙
+      rules: {
+        delFlag: [
+          { required: true, message: " 鍒犻櫎鏍囪 涓嶈兘涓虹┖", trigger: "blur" }
+        ],
+        isupload: [
+          { required: true, message: " 涓婁紶鏍囪 涓嶈兘涓虹┖", trigger: "blur" }
+        ],
+      }
+    };
+  },
+  created() {
+    this.getList();
+  },
+  methods: {
+    /** 鏌ヨ鏂规瑙﹀彂鏉′欢瑙勫垯鍒楄〃 */
+    getList() {
+      this.loading = true;
+      listSchemetriggerrule(this.queryParams).then(response => {
+        this.schemetriggerruleList = response.rows;
+        this.total = response.total;
+        this.loading = false;
+      });
+    },
+    // 鍙栨秷鎸夐挳
+    cancel() {
+      this.open = false;
+      this.reset();
+    },
+    // 琛ㄥ崟閲嶇疆
+    reset() {
+      this.form = {
+        id: null,
+        conditionstype: null,
+        orand: null,
+        ruleconditions: null,
+        parentresultconditionsid: null,
+        orgid: null,
+        delFlag: null,
+        updateBy: null,
+        updateTime: null,
+        createBy: null,
+        createTime: null,
+        isupload: null,
+        uploadTime: null,
+        schemeid: null,
+        triggersceneid: null,
+        conditionstypesecord: null,
+        conditionstypethree: null,
+        verifyrule: null,
+        extraruleconditions: null,
+        extraverifyrule: null,
+        number: null,
+        groupnumber: null,
+        grouporand: null,
+        isrequired: null
+      };
+      this.resetForm("form");
+    },
+    /** 鎼滅储鎸夐挳鎿嶄綔 */
+    handleQuery() {
+      this.queryParams.pageNum = 1;
+      this.getList();
+    },
+    /** 閲嶇疆鎸夐挳鎿嶄綔 */
+    resetQuery() {
+      this.resetForm("queryForm");
+      this.handleQuery();
+    },
+    // 澶氶�夋閫変腑鏁版嵁
+    handleSelectionChange(selection) {
+      this.ids = selection.map(item => item.id)
+      this.single = selection.length!==1
+      this.multiple = !selection.length
+    },
+    /** 鏂板鎸夐挳鎿嶄綔 */
+    handleAdd() {
+      this.reset();
+      this.open = true;
+      this.title = "娣诲姞鏂规瑙﹀彂鏉′欢瑙勫垯";
+    },
+    /** 淇敼鎸夐挳鎿嶄綔 */
+    handleUpdate(row) {
+      this.reset();
+      const id = row.id || this.ids
+      getSchemetriggerrule(id).then(response => {
+        this.form = response.data;
+        this.open = true;
+        this.title = "淇敼鏂规瑙﹀彂鏉′欢瑙勫垯";
+      });
+    },
+    /** 鎻愪氦鎸夐挳 */
+    submitForm() {
+      this.$refs["form"].validate(valid => {
+        if (valid) {
+          if (this.form.id != null) {
+            updateSchemetriggerrule(this.form).then(response => {
+              this.$modal.msgSuccess("淇敼鎴愬姛");
+              this.open = false;
+              this.getList();
+            });
+          } else {
+            addSchemetriggerrule(this.form).then(response => {
+              this.$modal.msgSuccess("鏂板鎴愬姛");
+              this.open = false;
+              this.getList();
+            });
+          }
+        }
+      });
+    },
+    /** 鍒犻櫎鎸夐挳鎿嶄綔 */
+    handleDelete(row) {
+      const ids = row.id || this.ids;
+      this.$modal.confirm('鏄惁纭鍒犻櫎鏂规瑙﹀彂鏉′欢瑙勫垯缂栧彿涓�"' + ids + '"鐨勬暟鎹」锛�').then(function() {
+        return delSchemetriggerrule(ids);
+      }).then(() => {
+        this.getList();
+        this.$modal.msgSuccess("鍒犻櫎鎴愬姛");
+      }).catch(() => {});
+    },
+    /** 瀵煎嚭鎸夐挳鎿嶄綔 */
+    handleExport() {
+      this.download('smartor/schemetriggerrule/export', {
+        ...this.queryParams
+      }, `schemetriggerrule_${new Date().getTime()}.xlsx`)
+    }
+  }
+};
+</script>
diff --git a/ruoyi-ui/src/views/smartor/schemetriggerscene/index.vue b/ruoyi-ui/src/views/smartor/schemetriggerscene/index.vue
new file mode 100644
index 0000000..07882f1
--- /dev/null
+++ b/ruoyi-ui/src/views/smartor/schemetriggerscene/index.vue
@@ -0,0 +1,352 @@
+<template>
+  <div class="app-container">
+    <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
+      <el-form-item label=" 鏂规ID " prop="schemeid">
+        <el-input
+          v-model="queryParams.schemeid"
+          placeholder="璇疯緭鍏� 鏂规ID "
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label=" 鍩虹嚎鏃堕棿;1.鍔犲叆鍚� 2.鍑洪櫌鍚� 3.灏辫瘖鍚� 4.鍏ラ櫌鍚� 5.鎵嬫湳鍓� 6.鎵嬫湳鍚� 7.寮�鑽墠 8.妫�楠岀敵璇峰悗 9.妫�楠屽畬鎴愬悗 10.妫�鏌ョ敵璇峰悗 11.妫�鏌ュ畬鎴愬悗 12.浜嬩欢鍙戠敓鍚� 13.鍩虹嚎鏃ユ湡鍚� " prop="baselinetime">
+        <el-input
+          v-model="queryParams.baselinetime"
+          placeholder="璇疯緭鍏� 鍩虹嚎鏃堕棿;1.鍔犲叆鍚� 2.鍑洪櫌鍚� 3.灏辫瘖鍚� 4.鍏ラ櫌鍚� 5.鎵嬫湳鍓� 6.鎵嬫湳鍚� 7.寮�鑽墠 8.妫�楠岀敵璇峰悗 9.妫�楠屽畬鎴愬悗 10.妫�鏌ョ敵璇峰悗 11.妫�鏌ュ畬鎴愬悗 12.浜嬩欢鍙戠敓鍚� 13.鍩虹嚎鏃ユ湡鍚� "
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label=" 瑙﹀彂鏉′欢;0.鏃� 1.鏈� " prop="triggerornot">
+        <el-input
+          v-model="queryParams.triggerornot"
+          placeholder="璇疯緭鍏� 瑙﹀彂鏉′欢;0.鏃� 1.鏈� "
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label=" 鏈烘瀯ID " prop="orgid">
+        <el-input
+          v-model="queryParams.orgid"
+          placeholder="璇疯緭鍏� 鏈烘瀯ID "
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label=" 涓婁紶鏍囪 " prop="isupload">
+        <el-input
+          v-model="queryParams.isupload"
+          placeholder="璇疯緭鍏� 涓婁紶鏍囪 "
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label=" 涓婁紶鏃堕棿 " prop="uploadTime">
+        <el-date-picker clearable
+          v-model="queryParams.uploadTime"
+          type="date"
+          value-format="yyyy-MM-dd"
+          placeholder="璇烽�夋嫨 涓婁紶鏃堕棿 ">
+        </el-date-picker>
+      </el-form-item>
+      <el-form-item label=" 鏄惁涓轰富璺緞;0.鍚� 1.鏄� " prop="ismain">
+        <el-input
+          v-model="queryParams.ismain"
+          placeholder="璇疯緭鍏� 鏄惁涓轰富璺緞;0.鍚� 1.鏄� "
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item>
+        <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">鎼滅储</el-button>
+        <el-button icon="el-icon-refresh" size="mini" @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="mini"
+          @click="handleAdd"
+          v-hasPermi="['smartor:schemetriggerscene:add']"
+        >鏂板</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="success"
+          plain
+          icon="el-icon-edit"
+          size="mini"
+          :disabled="single"
+          @click="handleUpdate"
+          v-hasPermi="['smartor:schemetriggerscene:edit']"
+        >淇敼</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="danger"
+          plain
+          icon="el-icon-delete"
+          size="mini"
+          :disabled="multiple"
+          @click="handleDelete"
+          v-hasPermi="['smartor:schemetriggerscene:remove']"
+        >鍒犻櫎</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="warning"
+          plain
+          icon="el-icon-download"
+          size="mini"
+          @click="handleExport"
+          v-hasPermi="['smartor:schemetriggerscene:export']"
+        >瀵煎嚭</el-button>
+      </el-col>
+      <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
+    </el-row>
+
+    <el-table v-loading="loading" :data="schemetriggersceneList" @selection-change="handleSelectionChange">
+      <el-table-column type="selection" width="55" align="center" />
+      <el-table-column label=" 鑷ID " align="center" prop="id" />
+      <el-table-column label=" 鏂规ID " align="center" prop="schemeid" />
+      <el-table-column label=" 鍩虹嚎鏃堕棿;1.鍔犲叆鍚� 2.鍑洪櫌鍚� 3.灏辫瘖鍚� 4.鍏ラ櫌鍚� 5.鎵嬫湳鍓� 6.鎵嬫湳鍚� 7.寮�鑽墠 8.妫�楠岀敵璇峰悗 9.妫�楠屽畬鎴愬悗 10.妫�鏌ョ敵璇峰悗 11.妫�鏌ュ畬鎴愬悗 12.浜嬩欢鍙戠敓鍚� 13.鍩虹嚎鏃ユ湡鍚� " align="center" prop="baselinetime" />
+      <el-table-column label=" 瑙﹀彂鏉′欢;0.鏃� 1.鏈� " align="center" prop="triggerornot" />
+      <el-table-column label=" 鏈烘瀯ID " align="center" prop="orgid" />
+      <el-table-column label=" 涓婁紶鏍囪 " align="center" prop="isupload" />
+      <el-table-column label=" 涓婁紶鏃堕棿 " align="center" prop="uploadTime" width="180">
+        <template slot-scope="scope">
+          <span>{{ parseTime(scope.row.uploadTime, '{y}-{m}-{d}') }}</span>
+        </template>
+      </el-table-column>
+      <el-table-column label=" 鏄惁涓轰富璺緞;0.鍚� 1.鏄� " align="center" prop="ismain" />
+      <el-table-column label="鎿嶄綔" align="center" class-name="small-padding fixed-width">
+        <template slot-scope="scope">
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-edit"
+            @click="handleUpdate(scope.row)"
+            v-hasPermi="['smartor:schemetriggerscene:edit']"
+          >淇敼</el-button>
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-delete"
+            @click="handleDelete(scope.row)"
+            v-hasPermi="['smartor:schemetriggerscene:remove']"
+          >鍒犻櫎</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-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
+      <el-form ref="form" :model="form" :rules="rules" label-width="80px">
+        <el-form-item label=" 鏂规ID " prop="schemeid">
+          <el-input v-model="form.schemeid" placeholder="璇疯緭鍏� 鏂规ID " />
+        </el-form-item>
+        <el-form-item label=" 鍩虹嚎鏃堕棿;1.鍔犲叆鍚� 2.鍑洪櫌鍚� 3.灏辫瘖鍚� 4.鍏ラ櫌鍚� 5.鎵嬫湳鍓� 6.鎵嬫湳鍚� 7.寮�鑽墠 8.妫�楠岀敵璇峰悗 9.妫�楠屽畬鎴愬悗 10.妫�鏌ョ敵璇峰悗 11.妫�鏌ュ畬鎴愬悗 12.浜嬩欢鍙戠敓鍚� 13.鍩虹嚎鏃ユ湡鍚� " prop="baselinetime">
+          <el-input v-model="form.baselinetime" placeholder="璇疯緭鍏� 鍩虹嚎鏃堕棿;1.鍔犲叆鍚� 2.鍑洪櫌鍚� 3.灏辫瘖鍚� 4.鍏ラ櫌鍚� 5.鎵嬫湳鍓� 6.鎵嬫湳鍚� 7.寮�鑽墠 8.妫�楠岀敵璇峰悗 9.妫�楠屽畬鎴愬悗 10.妫�鏌ョ敵璇峰悗 11.妫�鏌ュ畬鎴愬悗 12.浜嬩欢鍙戠敓鍚� 13.鍩虹嚎鏃ユ湡鍚� " />
+        </el-form-item>
+        <el-form-item label=" 瑙﹀彂鏉′欢;0.鏃� 1.鏈� " prop="triggerornot">
+          <el-input v-model="form.triggerornot" placeholder="璇疯緭鍏� 瑙﹀彂鏉′欢;0.鏃� 1.鏈� " />
+        </el-form-item>
+        <el-form-item label=" 鏈烘瀯ID " prop="orgid">
+          <el-input v-model="form.orgid" placeholder="璇疯緭鍏� 鏈烘瀯ID " />
+        </el-form-item>
+        <el-form-item label=" 鍒犻櫎鏍囪 " prop="delFlag">
+          <el-input v-model="form.delFlag" placeholder="璇疯緭鍏� 鍒犻櫎鏍囪 " />
+        </el-form-item>
+        <el-form-item label=" 涓婁紶鏍囪 " prop="isupload">
+          <el-input v-model="form.isupload" placeholder="璇疯緭鍏� 涓婁紶鏍囪 " />
+        </el-form-item>
+        <el-form-item label=" 涓婁紶鏃堕棿 " prop="uploadTime">
+          <el-date-picker clearable
+            v-model="form.uploadTime"
+            type="date"
+            value-format="yyyy-MM-dd"
+            placeholder="璇烽�夋嫨 涓婁紶鏃堕棿 ">
+          </el-date-picker>
+        </el-form-item>
+        <el-form-item label=" 鏄惁涓轰富璺緞;0.鍚� 1.鏄� " prop="ismain">
+          <el-input v-model="form.ismain" placeholder="璇疯緭鍏� 鏄惁涓轰富璺緞;0.鍚� 1.鏄� " />
+        </el-form-item>
+      </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>
+</template>
+
+<script>
+import { listSchemetriggerscene, getSchemetriggerscene, delSchemetriggerscene, addSchemetriggerscene, updateSchemetriggerscene } from "@/api/smartor/schemetriggerscene";
+
+export default {
+  name: "Schemetriggerscene",
+  data() {
+    return {
+      // 閬僵灞�
+      loading: true,
+      // 閫変腑鏁扮粍
+      ids: [],
+      // 闈炲崟涓鐢�
+      single: true,
+      // 闈炲涓鐢�
+      multiple: true,
+      // 鏄剧ず鎼滅储鏉′欢
+      showSearch: true,
+      // 鎬绘潯鏁�
+      total: 0,
+      // 鏂规瑙﹀彂鍦烘櫙琛ㄦ牸鏁版嵁
+      schemetriggersceneList: [],
+      // 寮瑰嚭灞傛爣棰�
+      title: "",
+      // 鏄惁鏄剧ず寮瑰嚭灞�
+      open: false,
+      // 鏌ヨ鍙傛暟
+      queryParams: {
+        pageNum: 1,
+        pageSize: 10,
+        schemeid: null,
+        baselinetime: null,
+        triggerornot: null,
+        orgid: null,
+        isupload: null,
+        uploadTime: null,
+        ismain: null
+      },
+      // 琛ㄥ崟鍙傛暟
+      form: {},
+      // 琛ㄥ崟鏍¢獙
+      rules: {
+        delFlag: [
+          { required: true, message: " 鍒犻櫎鏍囪 涓嶈兘涓虹┖", trigger: "blur" }
+        ],
+        isupload: [
+          { required: true, message: " 涓婁紶鏍囪 涓嶈兘涓虹┖", trigger: "blur" }
+        ],
+      }
+    };
+  },
+  created() {
+    this.getList();
+  },
+  methods: {
+    /** 鏌ヨ鏂规瑙﹀彂鍦烘櫙鍒楄〃 */
+    getList() {
+      this.loading = true;
+      listSchemetriggerscene(this.queryParams).then(response => {
+        this.schemetriggersceneList = response.rows;
+        this.total = response.total;
+        this.loading = false;
+      });
+    },
+    // 鍙栨秷鎸夐挳
+    cancel() {
+      this.open = false;
+      this.reset();
+    },
+    // 琛ㄥ崟閲嶇疆
+    reset() {
+      this.form = {
+        id: null,
+        schemeid: null,
+        baselinetime: null,
+        triggerornot: null,
+        orgid: null,
+        delFlag: null,
+        updateBy: null,
+        updateTime: null,
+        createBy: null,
+        createTime: null,
+        isupload: null,
+        uploadTime: null,
+        ismain: null
+      };
+      this.resetForm("form");
+    },
+    /** 鎼滅储鎸夐挳鎿嶄綔 */
+    handleQuery() {
+      this.queryParams.pageNum = 1;
+      this.getList();
+    },
+    /** 閲嶇疆鎸夐挳鎿嶄綔 */
+    resetQuery() {
+      this.resetForm("queryForm");
+      this.handleQuery();
+    },
+    // 澶氶�夋閫変腑鏁版嵁
+    handleSelectionChange(selection) {
+      this.ids = selection.map(item => item.id)
+      this.single = selection.length!==1
+      this.multiple = !selection.length
+    },
+    /** 鏂板鎸夐挳鎿嶄綔 */
+    handleAdd() {
+      this.reset();
+      this.open = true;
+      this.title = "娣诲姞鏂规瑙﹀彂鍦烘櫙";
+    },
+    /** 淇敼鎸夐挳鎿嶄綔 */
+    handleUpdate(row) {
+      this.reset();
+      const id = row.id || this.ids
+      getSchemetriggerscene(id).then(response => {
+        this.form = response.data;
+        this.open = true;
+        this.title = "淇敼鏂规瑙﹀彂鍦烘櫙";
+      });
+    },
+    /** 鎻愪氦鎸夐挳 */
+    submitForm() {
+      this.$refs["form"].validate(valid => {
+        if (valid) {
+          if (this.form.id != null) {
+            updateSchemetriggerscene(this.form).then(response => {
+              this.$modal.msgSuccess("淇敼鎴愬姛");
+              this.open = false;
+              this.getList();
+            });
+          } else {
+            addSchemetriggerscene(this.form).then(response => {
+              this.$modal.msgSuccess("鏂板鎴愬姛");
+              this.open = false;
+              this.getList();
+            });
+          }
+        }
+      });
+    },
+    /** 鍒犻櫎鎸夐挳鎿嶄綔 */
+    handleDelete(row) {
+      const ids = row.id || this.ids;
+      this.$modal.confirm('鏄惁纭鍒犻櫎鏂规瑙﹀彂鍦烘櫙缂栧彿涓�"' + ids + '"鐨勬暟鎹」锛�').then(function() {
+        return delSchemetriggerscene(ids);
+      }).then(() => {
+        this.getList();
+        this.$modal.msgSuccess("鍒犻櫎鎴愬姛");
+      }).catch(() => {});
+    },
+    /** 瀵煎嚭鎸夐挳鎿嶄綔 */
+    handleExport() {
+      this.download('smartor/schemetriggerscene/export', {
+        ...this.queryParams
+      }, `schemetriggerscene_${new Date().getTime()}.xlsx`)
+    }
+  }
+};
+</script>

--
Gitblit v1.9.3