yxh
yxh
2023-03-04 5ce577d915b81e63800094f21ceb8931a81954b7
yxh
已删除4个文件
已添加26个文件
8058 ■■■■ 文件已修改
ruoyi-ui/src/api/smartor/archive.js 44 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-ui/src/api/smartor/finish.js 44 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-ui/src/api/smartor/patouthosp.js 44 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-ui/src/api/smartor/patphysical.js 44 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-ui/src/api/smartor/schemeautofinshrule.js 44 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-ui/src/api/smartor/schemecalldetail.js 44 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-ui/src/api/smartor/schemecategory.js 44 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-ui/src/api/smartor/schemelibrary.js 44 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-ui/src/api/smartor/schemeplan.js 44 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-ui/src/api/smartor/schemetask.js 44 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-ui/src/api/smartor/schemetaskconfig.js 44 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-ui/src/api/smartor/schemetaskrecord.js 44 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-ui/src/api/smartor/schemetaskrepeatconfig.js 44 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-ui/src/api/smartor/schemetriggerrule.js 44 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-ui/src/api/smartor/schemetriggerscene.js 44 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-ui/src/views/smartor/archive/index.vue 607 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-ui/src/views/smartor/archive/maint.vue 207 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-ui/src/views/smartor/patouthosp/index.vue 394 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-ui/src/views/smartor/patphysical/index.vue 390 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-ui/src/views/smartor/schemeautofinshrule/index.vue 318 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-ui/src/views/smartor/schemecalldetail/index.vue 664 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-ui/src/views/smartor/schemecategory/index.vue 315 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-ui/src/views/smartor/schemelibrary/index.vue 617 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-ui/src/views/smartor/schemeplan/index.vue 469 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-ui/src/views/smartor/schemetask/index.vue 839 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-ui/src/views/smartor/schemetaskconfig/index.vue 769 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-ui/src/views/smartor/schemetaskrecord/index.vue 525 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-ui/src/views/smartor/schemetaskrepeatconfig/index.vue 437 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-ui/src/views/smartor/schemetriggerrule/index.vue 495 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-ui/src/views/smartor/schemetriggerscene/index.vue 352 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-ui/src/api/smartor/archive.js
ÎļþÒÑɾ³ý
ruoyi-ui/src/api/smartor/finish.js
ÎļþÒÑɾ³ý
ruoyi-ui/src/api/smartor/patouthosp.js
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,44 @@
import request from '@/utils/request'
// æŸ¥è¯¢æ‚£è€…门诊记录列表
export function listPatouthosp(query) {
  return request({
    url: '/smartor/patouthosp/list',
    method: 'get',
    params: query
  })
}
// æŸ¥è¯¢æ‚£è€…门诊记录详细
export function getPatouthosp(id) {
  return request({
    url: '/smartor/patouthosp/' + id,
    method: 'get'
  })
}
// æ–°å¢žæ‚£è€…门诊记录
export function addPatouthosp(data) {
  return request({
    url: '/smartor/patouthosp',
    method: 'post',
    data: data
  })
}
// ä¿®æ”¹æ‚£è€…门诊记录
export function updatePatouthosp(data) {
  return request({
    url: '/smartor/patouthosp',
    method: 'put',
    data: data
  })
}
// åˆ é™¤æ‚£è€…门诊记录
export function delPatouthosp(id) {
  return request({
    url: '/smartor/patouthosp/' + id,
    method: 'delete'
  })
}
ruoyi-ui/src/api/smartor/patphysical.js
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,44 @@
import request from '@/utils/request'
// æŸ¥è¯¢æ‚£è€…体检记录列表
export function listPatphysical(query) {
  return request({
    url: '/smartor/patphysical/list',
    method: 'get',
    params: query
  })
}
// æŸ¥è¯¢æ‚£è€…体检记录详细
export function getPatphysical(id) {
  return request({
    url: '/smartor/patphysical/' + id,
    method: 'get'
  })
}
// æ–°å¢žæ‚£è€…体检记录
export function addPatphysical(data) {
  return request({
    url: '/smartor/patphysical',
    method: 'post',
    data: data
  })
}
// ä¿®æ”¹æ‚£è€…体检记录
export function updatePatphysical(data) {
  return request({
    url: '/smartor/patphysical',
    method: 'put',
    data: data
  })
}
// åˆ é™¤æ‚£è€…体检记录
export function delPatphysical(id) {
  return request({
    url: '/smartor/patphysical/' + id,
    method: 'delete'
  })
}
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'
  })
}
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'
  })
}
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'
  })
}
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'
  })
}
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'
  })
}
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'
  })
}
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'
  })
}
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'
  })
}
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'
  })
}
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'
  })
}
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'
  })
}
ruoyi-ui/src/views/smartor/archive/index.vue
ÎļþÒÑɾ³ý
ruoyi-ui/src/views/smartor/archive/maint.vue
ÎļþÒÑɾ³ý
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=" æ¡£æ¡ˆID " prop="patid">
          <el-input v-model="form.patid" placeholder="请输入 æ¡£æ¡ˆ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=" ç§‘室代码 " prop="deptcode">
          <el-input v-model="form.deptcode" placeholder="请输入 ç§‘室代码 " />
        </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,
      // æ‚£è€…门诊记录表格数据
      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: {
    /** æŸ¥è¯¢æ‚£è€…门诊记录列表 */
    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 = "添加患者门诊记录";
    },
    /** ä¿®æ”¹æŒ‰é’®æ“ä½œ */
    handleUpdate(row) {
      this.reset();
      const id = row.id || this.ids
      getPatouthosp(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) {
            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('是否确认删除患者门诊记录编号为"' + 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>
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=" æ¡£æ¡ˆID " prop="patid">
          <el-input v-model="form.patid" placeholder="请输入 æ¡£æ¡ˆ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=" ç§‘室代码 " prop="deptcode">
          <el-input v-model="form.deptcode" placeholder="请输入 ç§‘室代码 " />
        </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,
      // æ‚£è€…体检记录表格数据
      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: {
    /** æŸ¥è¯¢æ‚£è€…体检记录列表 */
    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 = "添加患者体检记录";
    },
    /** ä¿®æ”¹æŒ‰é’®æ“ä½œ */
    handleUpdate(row) {
      this.reset();
      const id = row.id || this.ids
      getPatphysical(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) {
            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('是否确认删除患者体检记录编号为"' + 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>
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时对应方案ID å¤šé€‰é€—号隔开 " prop="rulevalue">
        <el-input
          v-model="queryParams.rulevalue"
          placeholder="请输入 è§„则相关值;Type ä¸º2时 1.在院 2.离院 3.死亡 Type为3时对应方案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>
        <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.患者状态 3.互斥管理方案 " align="center" prop="ruletype" />
      <el-table-column label=" è§„则相关值;Type ä¸º2时 1.在院 2.离院 3.死亡 Type为3时对应方案ID å¤šé€‰é€—号隔开 " 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时对应方案ID å¤šé€‰é€—号隔开 " prop="rulevalue">
          <el-input v-model="form.rulevalue" placeholder="请输入 è§„则相关值;Type ä¸º2时 1.在院 2.离院 3.死亡 Type为3时对应方案ID å¤šé€‰é€—号隔开 " />
        </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>
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=" æ˜¯å¦ä¸ºå‘¼å…¥è¯·æ±‚操作(呼入的inbound均为true,首次请求时incoming为true) å¦‚果不应答,则会挂断当前呼入; " prop="incoming">
        <el-input
          v-model="queryParams.incoming"
          placeholder="请输入 æ˜¯å¦ä¸ºå‘¼å…¥è¯·æ±‚操作(呼入的inbound均为true,首次请求时incoming为true) å¦‚果不应答,则会挂断当前呼入; "
          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=" æ˜¯å¦ä¸ºå‘¼å…¥è¯·æ±‚操作(呼入的inbound均为true,首次请求时incoming为true) å¦‚果不应答,则会挂断当前呼入; " 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=" å½“前收到的ASR识别文本 " 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"
    />
    <!-- æ·»åŠ æˆ–ä¿®æ”¹æ–¹æ¡ˆAI外呼任务详情对话框 -->
    <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=" æ˜¯å¦ä¸ºå‘¼å…¥è¯·æ±‚操作(呼入的inbound均为true,首次请求时incoming为true) å¦‚果不应答,则会挂断当前呼入; " prop="incoming">
          <el-input v-model="form.incoming" placeholder="请输入 æ˜¯å¦ä¸ºå‘¼å…¥è¯·æ±‚操作(呼入的inbound均为true,首次请求时incoming为true) å¦‚果不应答,则会挂断当前呼入; " />
        </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=" å½“前收到的ASR识别文本 " 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>
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>
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=" æ–¹æ¡ˆä»£ç  " prop="schemecode">
        <el-input
          v-model="queryParams.schemecode"
          placeholder="请输入 æ–¹æ¡ˆä»£ç  "
          clearable
          @keyup.enter.native="handleQuery"
        />
      </el-form-item>
      <el-form-item label=" ä¸­å¿ƒåº“ID " prop="centerlibraryid">
        <el-input
          v-model="queryParams.centerlibraryid"
          placeholder="请输入 ä¸­å¿ƒåº“ID "
          clearable
          @keyup.enter.native="handleQuery"
        />
      </el-form-item>
      <el-form-item label=" æ‚£è€…来源;1.出院 2.在院 3.门诊 4.体检 5.无 " prop="patientsource">
        <el-input
          v-model="queryParams.patientsource"
          placeholder="请输入 æ‚£è€…来源;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=" æ–¹æ¡ˆä»£ç  " align="center" prop="schemecode" />
      <el-table-column label=" ä¸­å¿ƒåº“ID " align="center" prop="centerlibraryid" />
      <el-table-column label=" æ‚£è€…来源;1.出院 2.在院 3.门诊 4.体检 5.无 " align="center" prop="patientsource" />
      <el-table-column label=" æ‰€å±žç§‘室ID;多个科室逗号隔开 " align="center" prop="belongdeptid" />
      <el-table-column label=" ç§‘室规则;0.不包含 1.包含 " align="center" prop="ruledept" />
      <el-table-column label=" æ‰€å±žç—…区ID;多个病区逗号隔开 " 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=" æ–¹æ¡ˆä»£ç  " prop="schemecode">
          <el-input v-model="form.schemecode" placeholder="请输入 æ–¹æ¡ˆä»£ç  " />
        </el-form-item>
        <el-form-item label=" ä¸­å¿ƒåº“ID " prop="centerlibraryid">
          <el-input v-model="form.centerlibraryid" placeholder="请输入 ä¸­å¿ƒåº“ID " />
        </el-form-item>
        <el-form-item label=" æ‚£è€…来源;1.出院 2.在院 3.门诊 4.体检 5.无 " prop="patientsource">
          <el-input v-model="form.patientsource" placeholder="请输入 æ‚£è€…来源;1.出院 2.在院 3.门诊 4.体检 5.无 " />
        </el-form-item>
        <el-form-item label=" æ‰€å±žç§‘室ID;多个科室逗号隔开 " 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=" æ‰€å±žç—…区ID;多个病区逗号隔开 " 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>
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=" æ–¹æ¡ˆä»£ç  " prop="schemecode">
        <el-input
          v-model="queryParams.schemecode"
          placeholder="请输入 æ–¹æ¡ˆä»£ç  "
          clearable
          @keyup.enter.native="handleQuery"
        />
      </el-form-item>
      <el-form-item label=" æ‚£è€…ID " prop="patientid">
        <el-input
          v-model="queryParams.patientid"
          placeholder="请输入 æ‚£è€…ID "
          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=" æ‚£è€…来源;0.全院(通用) 1.出院 2.在院 3.门诊 4.体检 5.无 " prop="patientsource">
        <el-input
          v-model="queryParams.patientsource"
          placeholder="请输入 æ‚£è€…来源;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=" å…³è”表ID " prop="relationid">
        <el-input
          v-model="queryParams.relationid"
          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: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=" æ–¹æ¡ˆä»£ç  " align="center" prop="schemecode" />
      <el-table-column label=" æ‚£è€…ID " 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=" æ‚£è€…来源;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=" å…³è”表ID " 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=" æ–¹æ¡ˆä»£ç  " prop="schemecode">
          <el-input v-model="form.schemecode" placeholder="请输入 æ–¹æ¡ˆä»£ç  " />
        </el-form-item>
        <el-form-item label=" æ‚£è€…ID " prop="patientid">
          <el-input v-model="form.patientid" placeholder="请输入 æ‚£è€…ID " />
        </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=" æ‚£è€…来源;0.全院(通用) 1.出院 2.在院 3.门诊 4.体检 5.无 " prop="patientsource">
          <el-input v-model="form.patientsource" placeholder="请输入 æ‚£è€…来源;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=" å…³è”表ID " prop="relationid">
          <el-input v-model="form.relationid" 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 { 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>
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=" æ‚£è€…ID " prop="patientid">
        <el-input
          v-model="queryParams.patientid"
          placeholder="请输入 æ‚£è€…ID "
          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=" æ‚£è€…来源;0.全院(通用) 1.出院 2.在院 3.门诊 4.体检 5.无 " prop="patientsource">
        <el-input
          v-model="queryParams.patientsource"
          placeholder="请输入 æ‚£è€…来源;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=" å…³è”编号 ç§‘室&项目&问卷&宣教 " prop="relationid">
        <el-input
          v-model="queryParams.relationid"
          placeholder="请输入 å…³è”编号 ç§‘室&项目&问卷&宣教 "
          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=" å…³è”代码 é—®å·&宣教 " prop="relationcode">
        <el-input
          v-model="queryParams.relationcode"
          placeholder="请输入 å…³è”代码 é—®å·&宣教 "
          clearable
          @keyup.enter.native="handleQuery"
        />
      </el-form-item>
      <el-form-item label=" æ–¹æ¡ˆä»£ç  " prop="schemecode">
        <el-input
          v-model="queryParams.schemecode"
          placeholder="请输入 æ–¹æ¡ˆä»£ç  "
          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=" æ‚£è€…ID " 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=" æ‚£è€…来源;0.全院(通用) 1.出院 2.在院 3.门诊 4.体检 5.无 " align="center" prop="patientsource" />
      <el-table-column label=" é…ç½®ID " align="center" prop="taskconfigid" />
      <el-table-column label=" å…³è”编号 ç§‘室&项目&问卷&宣教 " 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.患者死亡 3.患者拒绝管理 4.患者配合度不够 5.患者住院 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=" å…³è”代码 é—®å·&宣教 " align="center" prop="relationcode" />
      <el-table-column label=" æ–¹æ¡ˆä»£ç  " 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=" æ‚£è€…ID " prop="patientid">
          <el-input v-model="form.patientid" placeholder="请输入 æ‚£è€…ID " />
        </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=" æ‚£è€…来源;0.全院(通用) 1.出院 2.在院 3.门诊 4.体检 5.无 " prop="patientsource">
          <el-input v-model="form.patientsource" placeholder="请输入 æ‚£è€…来源;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=" å…³è”编号 ç§‘室&项目&问卷&宣教 " prop="relationid">
          <el-input v-model="form.relationid" placeholder="请输入 å…³è”编号 ç§‘室&项目&问卷&宣教 " />
        </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=" å…³è”代码 é—®å·&宣教 " prop="relationcode">
          <el-input v-model="form.relationcode" placeholder="请输入 å…³è”代码 é—®å·&宣教 " />
        </el-form-item>
        <el-form-item label=" æ–¹æ¡ˆä»£ç  " prop="schemecode">
          <el-input v-model="form.schemecode" placeholder="请输入 æ–¹æ¡ˆä»£ç  " />
        </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>
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=" å…³è”代码 é—®å·&宣教 " prop="relationcode">
        <el-input
          v-model="queryParams.relationcode"
          placeholder="请输入 å…³è”代码 é—®å·&宣教 "
          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.宣教任务 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=" å…³è”代码 é—®å·&宣教 " 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=" å…³è”代码 é—®å·&宣教 " prop="relationcode">
          <el-input v-model="form.relationcode" placeholder="请输入 å…³è”代码 é—®å·&宣教 " />
        </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>
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>
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>
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.患者属性 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>
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>