qianxj
2023-03-03 877300e751d6b5073af41ca8dda502e0a7d70a51
update step1
已添加17个文件
已修改2个文件
4006 ■■■■■ 文件已修改
ruoyi-ui/src/api/smartor/patarchive.js 44 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-ui/src/api/smartor/patinhosp.js 44 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-ui/src/api/smartor/svycategory.js 44 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-ui/src/api/smartor/svyexception.js 44 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-ui/src/api/smartor/svyresult.js 44 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-ui/src/api/smartor/svytitle.js 44 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-ui/src/api/smartor/svytopicoption.js 44 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-ui/src/api/system/snytopic.js 44 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-ui/src/router/index.js 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-ui/src/views/smartor/archive/index.vue 30 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-ui/src/views/smartor/archive/maint.vue 207 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-ui/src/views/smartor/patarchive/index.vue 430 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-ui/src/views/smartor/patinhosp/index.vue 468 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-ui/src/views/smartor/svycategory/index.vue 286 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-ui/src/views/smartor/svyexception/index.vue 456 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-ui/src/views/smartor/svyresult/index.vue 358 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-ui/src/views/smartor/svytitle/index.vue 440 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-ui/src/views/smartor/svytopicoption/index.vue 574 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-ui/src/views/system/snytopic/index.vue 389 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-ui/src/api/smartor/patarchive.js
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,44 @@
import request from '@/utils/request'
// æŸ¥è¯¢æ‚£è€…档案列表
export function listPatarchive(query) {
  return request({
    url: '/smartor/patarchive/list',
    method: 'get',
    params: query
  })
}
// æŸ¥è¯¢æ‚£è€…档案详细
export function getPatarchive(patid) {
  return request({
    url: '/smartor/patarchive/' + patid,
    method: 'get'
  })
}
// æ–°å¢žæ‚£è€…档案
export function addPatarchive(data) {
  return request({
    url: '/smartor/patarchive',
    method: 'post',
    data: data
  })
}
// ä¿®æ”¹æ‚£è€…档案
export function updatePatarchive(data) {
  return request({
    url: '/smartor/patarchive',
    method: 'put',
    data: data
  })
}
// åˆ é™¤æ‚£è€…档案
export function delPatarchive(patid) {
  return request({
    url: '/smartor/patarchive/' + patid,
    method: 'delete'
  })
}
ruoyi-ui/src/api/smartor/patinhosp.js
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,44 @@
import request from '@/utils/request'
// æŸ¥è¯¢æ‚£è€…住院记录列表
export function listPatinhosp(query) {
  return request({
    url: '/smartor/patinhosp/list',
    method: 'get',
    params: query
  })
}
// æŸ¥è¯¢æ‚£è€…住院记录详细
export function getPatinhosp(inhospid) {
  return request({
    url: '/smartor/patinhosp/' + inhospid,
    method: 'get'
  })
}
// æ–°å¢žæ‚£è€…住院记录
export function addPatinhosp(data) {
  return request({
    url: '/smartor/patinhosp',
    method: 'post',
    data: data
  })
}
// ä¿®æ”¹æ‚£è€…住院记录
export function updatePatinhosp(data) {
  return request({
    url: '/smartor/patinhosp',
    method: 'put',
    data: data
  })
}
// åˆ é™¤æ‚£è€…住院记录
export function delPatinhosp(inhospid) {
  return request({
    url: '/smartor/patinhosp/' + inhospid,
    method: 'delete'
  })
}
ruoyi-ui/src/api/smartor/svycategory.js
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,44 @@
import request from '@/utils/request'
// æŸ¥è¯¢é—®å·åˆ†ç±»åˆ—表
export function listSvycategory(query) {
  return request({
    url: '/smartor/svycategory/list',
    method: 'get',
    params: query
  })
}
// æŸ¥è¯¢é—®å·åˆ†ç±»è¯¦ç»†
export function getSvycategory(id) {
  return request({
    url: '/smartor/svycategory/' + id,
    method: 'get'
  })
}
// æ–°å¢žé—®å·åˆ†ç±»
export function addSvycategory(data) {
  return request({
    url: '/smartor/svycategory',
    method: 'post',
    data: data
  })
}
// ä¿®æ”¹é—®å·åˆ†ç±»
export function updateSvycategory(data) {
  return request({
    url: '/smartor/svycategory',
    method: 'put',
    data: data
  })
}
// åˆ é™¤é—®å·åˆ†ç±»
export function delSvycategory(id) {
  return request({
    url: '/smartor/svycategory/' + id,
    method: 'delete'
  })
}
ruoyi-ui/src/api/smartor/svyexception.js
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,44 @@
import request from '@/utils/request'
// æŸ¥è¯¢é—®å·å¼‚常列表
export function listSvyexception(query) {
  return request({
    url: '/smartor/svyexception/list',
    method: 'get',
    params: query
  })
}
// æŸ¥è¯¢é—®å·å¼‚常详细
export function getSvyexception(ecid) {
  return request({
    url: '/smartor/svyexception/' + ecid,
    method: 'get'
  })
}
// æ–°å¢žé—®å·å¼‚常
export function addSvyexception(data) {
  return request({
    url: '/smartor/svyexception',
    method: 'post',
    data: data
  })
}
// ä¿®æ”¹é—®å·å¼‚常
export function updateSvyexception(data) {
  return request({
    url: '/smartor/svyexception',
    method: 'put',
    data: data
  })
}
// åˆ é™¤é—®å·å¼‚常
export function delSvyexception(ecid) {
  return request({
    url: '/smartor/svyexception/' + ecid,
    method: 'delete'
  })
}
ruoyi-ui/src/api/smartor/svyresult.js
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,44 @@
import request from '@/utils/request'
// æŸ¥è¯¢é—®å·ç»“果列表
export function listSvyresult(query) {
  return request({
    url: '/smartor/svyresult/list',
    method: 'get',
    params: query
  })
}
// æŸ¥è¯¢é—®å·ç»“果详细
export function getSvyresult(resultid) {
  return request({
    url: '/smartor/svyresult/' + resultid,
    method: 'get'
  })
}
// æ–°å¢žé—®å·ç»“æžœ
export function addSvyresult(data) {
  return request({
    url: '/smartor/svyresult',
    method: 'post',
    data: data
  })
}
// ä¿®æ”¹é—®å·ç»“æžœ
export function updateSvyresult(data) {
  return request({
    url: '/smartor/svyresult',
    method: 'put',
    data: data
  })
}
// åˆ é™¤é—®å·ç»“æžœ
export function delSvyresult(resultid) {
  return request({
    url: '/smartor/svyresult/' + resultid,
    method: 'delete'
  })
}
ruoyi-ui/src/api/smartor/svytitle.js
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,44 @@
import request from '@/utils/request'
// æŸ¥è¯¢é—®å·åˆ—表
export function listSvytitle(query) {
  return request({
    url: '/smartor/svytitle/list',
    method: 'get',
    params: query
  })
}
// æŸ¥è¯¢é—®å·è¯¦ç»†
export function getSvytitle(svyid) {
  return request({
    url: '/smartor/svytitle/' + svyid,
    method: 'get'
  })
}
// æ–°å¢žé—®å·
export function addSvytitle(data) {
  return request({
    url: '/smartor/svytitle',
    method: 'post',
    data: data
  })
}
// ä¿®æ”¹é—®å·
export function updateSvytitle(data) {
  return request({
    url: '/smartor/svytitle',
    method: 'put',
    data: data
  })
}
// åˆ é™¤é—®å·
export function delSvytitle(svyid) {
  return request({
    url: '/smartor/svytitle/' + svyid,
    method: 'delete'
  })
}
ruoyi-ui/src/api/smartor/svytopicoption.js
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,44 @@
import request from '@/utils/request'
// æŸ¥è¯¢é—®å·é—®é¢˜é€‰é¡¹åˆ—表
export function listSvytopicoption(query) {
  return request({
    url: '/smartor/svytopicoption/list',
    method: 'get',
    params: query
  })
}
// æŸ¥è¯¢é—®å·é—®é¢˜é€‰é¡¹è¯¦ç»†
export function getSvytopicoption(optionid) {
  return request({
    url: '/smartor/svytopicoption/' + optionid,
    method: 'get'
  })
}
// æ–°å¢žé—®å·é—®é¢˜é€‰é¡¹
export function addSvytopicoption(data) {
  return request({
    url: '/smartor/svytopicoption',
    method: 'post',
    data: data
  })
}
// ä¿®æ”¹é—®å·é—®é¢˜é€‰é¡¹
export function updateSvytopicoption(data) {
  return request({
    url: '/smartor/svytopicoption',
    method: 'put',
    data: data
  })
}
// åˆ é™¤é—®å·é—®é¢˜é€‰é¡¹
export function delSvytopicoption(optionid) {
  return request({
    url: '/smartor/svytopicoption/' + optionid,
    method: 'delete'
  })
}
ruoyi-ui/src/api/system/snytopic.js
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,44 @@
import request from '@/utils/request'
// æŸ¥è¯¢é—®å·é¢˜ç›®åˆ—表
export function listSnytopic(query) {
  return request({
    url: '/system/snytopic/list',
    method: 'get',
    params: query
  })
}
// æŸ¥è¯¢é—®å·é¢˜ç›®è¯¦ç»†
export function getSnytopic(topicid) {
  return request({
    url: '/system/snytopic/' + topicid,
    method: 'get'
  })
}
// æ–°å¢žé—®å·é¢˜ç›®
export function addSnytopic(data) {
  return request({
    url: '/system/snytopic',
    method: 'post',
    data: data
  })
}
// ä¿®æ”¹é—®å·é¢˜ç›®
export function updateSnytopic(data) {
  return request({
    url: '/system/snytopic',
    method: 'put',
    data: data
  })
}
// åˆ é™¤é—®å·é¢˜ç›®
export function delSnytopic(topicid) {
  return request({
    url: '/system/snytopic/' + topicid,
    method: 'delete'
  })
}
ruoyi-ui/src/router/index.js
@@ -161,7 +161,21 @@
        meta: { title: '修改生成配置', activeMenu: '/tool/gen' }
      }
    ]
  }
  }/*,
  {
    path: '/smartor/archive',
    component: Layout,
    hidden: true,
    permissions: ['archive:role:edit'],
    children: [
      {
        path: 'maint',
        component: () => import('@/views/smartor/archive/maint'),
        name: 'ArchiveMaint',
        meta: { title: '患者维护', activeMenu: '/archive/add' }
      }
    ]
  }*/
]
// é˜²æ­¢è¿žç»­ç‚¹å‡»å¤šæ¬¡è·¯ç”±æŠ¥é”™
ruoyi-ui/src/views/smartor/archive/index.vue
@@ -1,30 +1,12 @@
<template>
    <div class="app-container">
    <el-collapse v-model="activeNames" @change="handleChange">
  <el-collapse-item title="一致性 Consistency" name="1">
    <div>与现实生活一致:与现实生活的流程、逻辑保持一致,遵循用户习惯的语言和概念;</div>
    <div>在界面中一致:所有的元素和结构需保持一致,比如:设计样式、图标和文本、元素的位置等。</div>
  </el-collapse-item>
  <el-collapse-item title="反馈 Feedback" name="2">
    <div>控制反馈:通过界面样式和交互动效让用户可以清晰的感知自己的操作;</div>
    <div>页面反馈:操作后,通过页面元素的变化清晰地展现当前状态。</div>
  </el-collapse-item>
  <el-collapse-item title="效率 Efficiency" name="3">
    <div>简化流程:设计简洁直观的操作流程;</div>
    <div>清晰明确:语言表达清晰且表意明确,让用户快速理解进而作出决策;</div>
    <div>帮助用户识别:界面简单直白,让用户快速识别而非回忆,减少用户记忆负担。</div>
  </el-collapse-item>
  <el-collapse-item title="可控 Controllability" name="4">
    <div>用户决策:根据场景可给予用户操作建议或安全提示,但不能代替用户进行决策;</div>
    <div>结果可控:用户可以自由的进行操作,包括撤销、回退和终止当前操作等。</div>
  </el-collapse-item>
</el-collapse>
<!--
    <el-tabs v-model="activeName" @tab-click="handleClick" style="height=128px">
      <el-tab-pane label="用户管理" name="first">用户管理</el-tab-pane>
      <el-tab-pane label="配置管理" name="second">配置管理</el-tab-pane>
      <el-tab-pane label="角色管理" name="third">角色管理</el-tab-pane>
      <el-tab-pane label="定时任务补偿" name="fourth">定时任务补偿</el-tab-pane>
    </el-tabs>
    </el-tabs>-->
    <el-form :model="queryParams" ref="queryForm"  :inline="true" v-show="showSearch" label-width="68px">
      <el-form-item label=" å§“名 " prop="Name">
        <el-input
@@ -517,9 +499,11 @@
    },
    /** æ–°å¢žæŒ‰é’®æ“ä½œ */
    handleAdd() {
      this.reset();
      this.open = true;
      this.title = "添加患者档案";
      //this.reset();
      //this.open = true;
      //this.title = "添加患者档案1";
      const params = {};
      this.$tab.openPage("修改", '/smartor/archive/maint', params);
    },
    /** ä¿®æ”¹æŒ‰é’®æ“ä½œ */
    handleUpdate(row) {
ruoyi-ui/src/views/smartor/archive/maint.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,207 @@
<template>
  <div>
    <el-form :model="form" ref="myForm" :inline="true" label-width="80px">
      <el-form-item label=" å§“名 " prop="Name">
        <el-input v-model="form.Name" placeholder="请输入 å§“名 " />
      </el-form-item>
      <el-form-item label=" æ€§åˆ« " prop="Gender">
        <el-select v-model="form.Gender" placeholder="请选择 æ€§åˆ« ">
          <el-option v-for="dict in dict.type.sys_user_sex" :key="dict.value" :label="dict.label"
            :value="parseInt(dict.value)"></el-option>
        </el-select>
      </el-form-item>
      <el-form-item label=" è¯ä»¶å·ç  " prop="PapersNumber">
        <el-input v-model="form.PapersNumber" placeholder="请输入 è¯ä»¶å·ç  " />
      </el-form-item>
      <el-form-item label=" ç”Ÿæ—¥ " prop="BirthDate">
        <el-date-picker clearable v-model="form.BirthDate" type="date" value-format="yyyy-MM-dd" placeholder="请选择 ç”Ÿæ—¥ ">
        </el-date-picker>
      </el-form-item>
      <el-form-item label=" è¯ä»¶ç±»åž‹ " prop="PapersType">
        <el-select v-model="form.PapersType" placeholder="请选择 è¯ä»¶ç±»åž‹ ">
          <el-option v-for="dict in dict.type.sys_idtype" :key="dict.value" :label="dict.label"
            :value="dict.value"></el-option>
        </el-select>
      </el-form-item>
      <el-form-item label=" åˆ é™¤æ ‡è®° " prop="delFlag">
        <el-select v-model="form.delFlag" placeholder="请选择 åˆ é™¤æ ‡è®° ">
          <el-option v-for="dict in dict.type.sys_yes_no" :key="dict.value" :label="dict.label"
            :value="dict.value"></el-option>
        </el-select>
      </el-form-item>
      <el-form-item label=" ä¸Šä¼ æ ‡è®° " prop="IsUpload">
        <el-select v-model="form.IsUpload" placeholder="请选择 ä¸Šä¼ æ ‡è®° ">
          <el-option v-for="dict in dict.type.sys_yes_no" :key="dict.value" :label="dict.label"
            :value="parseInt(dict.value)"></el-option>
        </el-select>
      </el-form-item>
      <el-form-item label=" ä¸Šä¼ æ—¶é—´ " prop="uploadTime">
        <el-date-picker clearable v-model="form.uploadTime" type="date" value-format="yyyy-MM-dd" placeholder="请选择 ä¸Šä¼ æ—¶é—´ ">
        </el-date-picker>
      </el-form-item>
      <el-form-item label=" å¹´é¾„ " prop="Age">
        <el-input v-model="form.Age" placeholder="请输入 å¹´é¾„ " />
      </el-form-item>
      <el-form-item label=" å¾®ä¿¡openid " prop="OpenId">
        <el-input v-model="form.OpenId" placeholder="微信openid " />
      </el-form-item>
      <!--el-divider content-position="center">患者门诊记录信息</el-divider-->
      <el-collapse v-model="activeNames" @change="handleChange">
        <el-collapse-item title="患者门诊记录信息" name="1">
          <el-row :gutter="10" class="mb8">
            <el-col :span="1.5">
              <el-button type="primary" icon="el-icon-plus" size="mini" @click="handleAddPatMedOuthosp">添加</el-button>
            </el-col>
            <el-col :span="1.5">
              <el-button type="danger" icon="el-icon-delete" size="mini" @click="handleDeletePatMedOuthosp">删除</el-button>
            </el-col>
          </el-row>
          <el-table :data="patMedOuthospList" :row-class-name="rowPatMedOuthospIndex"
            @selection-change="handlePatMedOuthospSelectionChange" ref="patMedOuthosp">
            <el-table-column type="selection" width="50" align="center" />
            <el-table-column label="序号" align="center" prop="index" width="50" />
            <el-table-column label=" æµæ°´å· " prop="SerialNum" width="150">
              <template slot-scope="scope">
                <el-input v-model="scope.row.SerialNum" placeholder="请输入 æµæ°´å· " />
              </template>
            </el-table-column>
            <el-table-column label=" æ¡£æ¡ˆID " prop="PatID" width="150">
              <template slot-scope="scope">
                <el-input v-model="scope.row.PatID" placeholder="请输入 æ¡£æ¡ˆID " />
              </template>
            </el-table-column>
            <el-table-column label=" åŒ»é™¢åç§° " prop="HospitalName" width="150">
              <template slot-scope="scope">
                <el-input v-model="scope.row.HospitalName" placeholder="请输入 åŒ»é™¢åç§° " />
              </template>
            </el-table-column>
            <el-table-column label=" åŒ»é™¢ç¼–号 " prop="HospitalCode" width="150">
              <template slot-scope="scope">
                <el-input v-model="scope.row.HospitalCode" placeholder="请输入 åŒ»é™¢ç¼–号 " />
              </template>
            </el-table-column>
            <el-table-column label=" è¯Šæ–­ICD值 " prop="Icd10Code" width="150">
              <template slot-scope="scope">
                <el-input v-model="scope.row.Icd10Code" placeholder="请输入 è¯Šæ–­ICD值 " />
              </template>
            </el-table-column>
            <el-table-column label=" è¯Šæ–­åç§° " prop="DiagName" width="150">
              <template slot-scope="scope">
                <el-input v-model="scope.row.DiagName" placeholder="请输入 è¯Šæ–­åç§° " />
              </template>
            </el-table-column>
            <el-table-column label=" ç§‘室代码 " prop="DeptCode" width="150">
              <template slot-scope="scope">
                <el-input v-model="scope.row.DeptCode" placeholder="请输入 ç§‘室代码 " />
              </template>
            </el-table-column>
            <el-table-column label=" ç§‘室名称 " prop="DeptName" width="150">
              <template slot-scope="scope">
                <el-input v-model="scope.row.DeptName" placeholder="请输入 ç§‘室名称 " />
              </template>
            </el-table-column>
            <el-table-column label=" åŒ»ç”Ÿå·¥å· " prop="DrCode" width="150">
              <template slot-scope="scope">
                <el-input v-model="scope.row.DrCode" placeholder="请输入 åŒ»ç”Ÿå·¥å· " />
              </template>
            </el-table-column>
            <el-table-column label=" åŒ»ç”Ÿåç§° " prop="DrName" width="150">
              <template slot-scope="scope">
                <el-input v-model="scope.row.DrName" placeholder="请输入 åŒ»ç”Ÿåç§° " />
              </template>
            </el-table-column>
            <el-table-column label=" å°±è¯Šæ—¥æœŸ " prop="AdmitDate" width="240">
              <template slot-scope="scope">
                <el-date-picker clearable v-model="scope.row.AdmitDate" type="date" value-format="yyyy-MM-dd"
                  placeholder="请选择 å°±è¯Šæ—¥æœŸ " />
              </template>
            </el-table-column>
            <el-table-column label=" æœºæž„ID " prop="OrgID" width="150">
              <template slot-scope="scope">
                <el-input v-model="scope.row.OrgID" placeholder="请输入 æœºæž„ID " />
              </template>
            </el-table-column>
            <el-table-column label=" åˆ é™¤æ ‡è®° " prop="delFlag" width="150">
              <template slot-scope="scope">
                <el-input v-model="scope.row.delFlag" placeholder="请输入 åˆ é™¤æ ‡è®° " />
              </template>
            </el-table-column>
            <el-table-column label=" æ›´æ–°äºº " prop="updateBy" width="150">
              <template slot-scope="scope">
                <el-input v-model="scope.row.updateBy" placeholder="请输入 æ›´æ–°äºº " />
              </template>
            </el-table-column>
            <el-table-column label=" æ›´æ–°æ—¶é—´ " prop="updateTime" width="240">
              <template slot-scope="scope">
                <el-date-picker clearable v-model="scope.row.updateTime" type="date" value-format="yyyy-MM-dd"
                  placeholder="请选择 æ›´æ–°æ—¶é—´ " />
              </template>
            </el-table-column>
            <el-table-column label=" åˆ›å»ºäºº " prop="createBy" width="150">
              <template slot-scope="scope">
                <el-input v-model="scope.row.createBy" placeholder="请输入 åˆ›å»ºäºº " />
              </template>
            </el-table-column>
            <el-table-column label=" åˆ›å»ºæ—¶é—´ " prop="createTime" width="240">
              <template slot-scope="scope">
                <el-date-picker clearable v-model="scope.row.createTime" type="date" value-format="yyyy-MM-dd"
                  placeholder="请选择 åˆ›å»ºæ—¶é—´ " />
              </template>
            </el-table-column>
            <el-table-column label=" ä¸Šä¼ æ ‡è®° " prop="IsUpload" width="150">
              <template slot-scope="scope">
                <el-input v-model="scope.row.IsUpload" placeholder="请输入 ä¸Šä¼ æ ‡è®° " />
              </template>
            </el-table-column>
            <el-table-column label=" ä¸Šä¼ æ—¶é—´ " prop="uploadTime" width="240">
              <template slot-scope="scope">
                <el-date-picker clearable v-model="scope.row.uploadTime" type="date" value-format="yyyy-MM-dd"
                  placeholder="请选择 ä¸Šä¼ æ—¶é—´ " />
              </template>
            </el-table-column>
            <el-table-column label=" ç§‘室ID " prop="DeptID" width="150">
              <template slot-scope="scope">
                <el-input v-model="scope.row.DeptID" placeholder="请输入 ç§‘室ID " />
              </template>
            </el-table-column>
            <el-table-column label=" ä¸»è¿° " prop="MainSuit" width="150">
              <template slot-scope="scope">
                <el-input v-model="scope.row.MainSuit" placeholder="请输入 ä¸»è¿° " />
              </template>
            </el-table-column>
          </el-table>
        </el-collapse-item>
        <el-collapse-item title="患者体检记录" name="2" />
        <el-collapse-item title="患者挂号记录" name="3">
        </el-collapse-item>
        <el-collapse-item title="患者联系方式" name="4">
        </el-collapse-item>
      </el-collapse>
    </el-form>
    <div slot="footer" class="dialog-footer">
      <el-button type="primary" @click="submitForm">ç¡® å®š</el-button>
      <el-button @click="cancel">取 æ¶ˆ</el-button>
    </div>
  </div>
</template>
<script>
import { listArchive, getArchive, delArchive, addArchive, updateArchive } from "@/api/smartor/archive";
export default {
  name: "Archive",
  dicts: ['sys_idtype', 'sys_yes_no', 'sys_user_sex', 'sys_job_group', 'sys_patientfrom'],
  data() {
    return {
      // è¡¨å•参数
      form: {}
    };
  },
  created() {
  },
  methods: {
    // è¡¨å•重置
  }
};
</script>
ruoyi-ui/src/views/smartor/patarchive/index.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,430 @@
<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="name">
        <el-input
          v-model="queryParams.name"
          placeholder="请输入 å§“名 "
          clearable
          @keyup.enter.native="handleQuery"
        />
      </el-form-item>
      <el-form-item label=" è¯ä»¶å·ç  " prop="iccardno">
        <el-input
          v-model="queryParams.iccardno"
          placeholder="请输入 è¯ä»¶å·ç  "
          clearable
          @keyup.enter.native="handleQuery"
        />
      </el-form-item>
      <el-form-item label=" æ¥æº " prop="source">
        <el-select v-model="queryParams.source" placeholder="请选择 æ¥æº " clearable>
          <el-option
            v-for="dict in dict.type.sys_patientfrom"
            :key="dict.value"
            :label="dict.label"
            :value="dict.value"
          />
        </el-select>
      </el-form-item>
      <el-form-item label=" æ‰‹æœºå·ç  " prop="telcode">
        <el-input
          v-model="queryParams.telcode"
          placeholder="请输入 æ‰‹æœºå·ç  "
          clearable
          @keyup.enter.native="handleQuery"
        />
      </el-form-item>
      <el-form-item label=" æœºæž„ID " prop="orgid">
        <el-select v-model="queryParams.orgid" placeholder="请选择 æœºæž„ID " clearable>
          <el-option
            v-for="dict in dict.type.sys_patientfrom"
            :key="dict.value"
            :label="dict.label"
            :value="dict.value"
          />
        </el-select>
      </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:patarchive: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:patarchive: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:patarchive: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:patarchive:export']"
        >导出</el-button>
      </el-col>
      <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
    </el-row>
    <el-table v-loading="loading" :data="patarchiveList" @selection-change="handleSelectionChange">
      <el-table-column type="selection" width="55" align="center" />
      <el-table-column label=" è‡ªå¢žID " align="center" prop="patid" />
      <el-table-column label=" å§“名 " align="center" prop="name" />
      <el-table-column label=" æ€§åˆ« " align="center" prop="sex">
        <template slot-scope="scope">
          <dict-tag :options="dict.type.sys_user_sex" :value="scope.row.sex"/>
        </template>
      </el-table-column>
      <el-table-column label=" è¯ä»¶å·ç  " align="center" prop="iccardno" />
      <el-table-column label=" ç”Ÿæ—¥ " align="center" prop="birthdate" width="180">
        <template slot-scope="scope">
          <span>{{ parseTime(scope.row.birthdate, '{y}-{m}-{d}') }}</span>
        </template>
      </el-table-column>
      <el-table-column label=" å¹´é¾„ " align="center" prop="age" />
      <el-table-column label=" æ¥æº " align="center" prop="source">
        <template slot-scope="scope">
          <dict-tag :options="dict.type.sys_patientfrom" :value="scope.row.source"/>
        </template>
      </el-table-column>
      <el-table-column label=" æ‰‹æœºå·ç  " align="center" prop="telcode" />
      <el-table-column label=" æœºæž„ID " align="center" prop="orgid">
        <template slot-scope="scope">
          <dict-tag :options="dict.type.sys_patientfrom" :value="scope.row.orgid"/>
        </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:patarchive:edit']"
          >修改</el-button>
          <el-button
            size="mini"
            type="text"
            icon="el-icon-delete"
            @click="handleDelete(scope.row)"
            v-hasPermi="['smartor:patarchive: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="name">
          <el-input v-model="form.name" placeholder="请输入 å§“名 " />
        </el-form-item>
        <el-form-item label=" æ€§åˆ« " prop="sex">
          <el-select v-model="form.sex" placeholder="请选择 æ€§åˆ« ">
            <el-option
              v-for="dict in dict.type.sys_user_sex"
              :key="dict.value"
              :label="dict.label"
              :value="parseInt(dict.value)"
            ></el-option>
          </el-select>
        </el-form-item>
        <el-form-item label=" è¯ä»¶å·ç  " prop="iccardno">
          <el-input v-model="form.iccardno" placeholder="请输入 è¯ä»¶å·ç  " />
        </el-form-item>
        <el-form-item label=" ç”Ÿæ—¥ " prop="birthdate">
          <el-date-picker clearable
            v-model="form.birthdate"
            type="date"
            value-format="yyyy-MM-dd"
            placeholder="请选择 ç”Ÿæ—¥ ">
          </el-date-picker>
        </el-form-item>
        <el-form-item label=" å¹´é¾„ " prop="age">
          <el-input v-model="form.age" placeholder="请输入 å¹´é¾„ " />
        </el-form-item>
        <el-form-item label=" æ¥æº " prop="source">
          <el-select v-model="form.source" placeholder="请选择 æ¥æº ">
            <el-option
              v-for="dict in dict.type.sys_patientfrom"
              :key="dict.value"
              :label="dict.label"
              :value="parseInt(dict.value)"
            ></el-option>
          </el-select>
        </el-form-item>
        <el-form-item label=" å»ºæ¡£æ—¶é—´ " prop="archivetime">
          <el-date-picker clearable
            v-model="form.archivetime"
            type="date"
            value-format="yyyy-MM-dd"
            placeholder="请选择 å»ºæ¡£æ—¶é—´ ">
          </el-date-picker>
        </el-form-item>
        <el-form-item label=" å»ºæ¡£äºº " prop="archiveby">
          <el-input v-model="form.archiveby" placeholder="请输入 å»ºæ¡£äºº " />
        </el-form-item>
        <el-form-item label=" æ‰‹æœºå·ç  " prop="telcode">
          <el-input v-model="form.telcode" placeholder="请输入 æ‰‹æœºå·ç  " />
        </el-form-item>
        <el-form-item label=" äº²å±žå·ç  " prop="relativetelcode">
          <el-input v-model="form.relativetelcode" placeholder="请输入 äº²å±žå·ç  " />
        </el-form-item>
        <el-form-item label=" æœºæž„ID " prop="orgid">
          <el-select v-model="form.orgid" placeholder="请选择 æœºæž„ID ">
            <el-option
              v-for="dict in dict.type.sys_patientfrom"
              :key="dict.value"
              :label="dict.label"
              :value="dict.value"
            ></el-option>
          </el-select>
        </el-form-item>
        <el-form-item label=" å¾®ä¿¡openid " prop="openid">
          <el-input v-model="form.openid" placeholder="请输入 å¾®ä¿¡openid " />
        </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 { listPatarchive, getPatarchive, delPatarchive, addPatarchive, updatePatarchive } from "@/api/smartor/patarchive";
export default {
  name: "Patarchive",
  dicts: ['sys_user_sex', 'sys_patientfrom'],
  data() {
    return {
      // é®ç½©å±‚
      loading: true,
      // é€‰ä¸­æ•°ç»„
      ids: [],
      // éžå•个禁用
      single: true,
      // éžå¤šä¸ªç¦ç”¨
      multiple: true,
      // æ˜¾ç¤ºæœç´¢æ¡ä»¶
      showSearch: true,
      // æ€»æ¡æ•°
      total: 0,
      // æ‚£è€…档案表格数据
      patarchiveList: [],
      // å¼¹å‡ºå±‚标题
      title: "",
      // æ˜¯å¦æ˜¾ç¤ºå¼¹å‡ºå±‚
      open: false,
      // æŸ¥è¯¢å‚æ•°
      queryParams: {
        pageNum: 1,
        pageSize: 10,
        name: null,
        iccardno: null,
        source: null,
        telcode: 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;
      listPatarchive(this.queryParams).then(response => {
        this.patarchiveList = response.rows;
        this.total = response.total;
        this.loading = false;
      });
    },
    // å–消按钮
    cancel() {
      this.open = false;
      this.reset();
    },
    // è¡¨å•重置
    reset() {
      this.form = {
        patid: null,
        name: null,
        sex: null,
        iccardno: null,
        birthdate: null,
        age: null,
        source: null,
        archivetime: null,
        archiveby: null,
        telcode: null,
        relativetelcode: null,
        iccardtype: null,
        orgid: null,
        openid: 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.patid)
      this.single = selection.length!==1
      this.multiple = !selection.length
    },
    /** æ–°å¢žæŒ‰é’®æ“ä½œ */
    handleAdd() {
      this.reset();
      this.open = true;
      this.title = "添加患者档案";
    },
    /** ä¿®æ”¹æŒ‰é’®æ“ä½œ */
    handleUpdate(row) {
      this.reset();
      const patid = row.patid || this.ids
      getPatarchive(patid).then(response => {
        this.form = response.data;
        this.open = true;
        this.title = "修改患者档案";
      });
    },
    /** æäº¤æŒ‰é’® */
    submitForm() {
      this.$refs["form"].validate(valid => {
        if (valid) {
          if (this.form.patid != null) {
            updatePatarchive(this.form).then(response => {
              this.$modal.msgSuccess("修改成功");
              this.open = false;
              this.getList();
            });
          } else {
            addPatarchive(this.form).then(response => {
              this.$modal.msgSuccess("新增成功");
              this.open = false;
              this.getList();
            });
          }
        }
      });
    },
    /** åˆ é™¤æŒ‰é’®æ“ä½œ */
    handleDelete(row) {
      const patids = row.patid || this.ids;
      this.$modal.confirm('是否确认删除患者档案编号为"' + patids + '"的数据项?').then(function() {
        return delPatarchive(patids);
      }).then(() => {
        this.getList();
        this.$modal.msgSuccess("删除成功");
      }).catch(() => {});
    },
    /** å¯¼å‡ºæŒ‰é’®æ“ä½œ */
    handleExport() {
      this.download('smartor/patarchive/export', {
        ...this.queryParams
      }, `patarchive_${new Date().getTime()}.xlsx`)
    }
  }
};
</script>
ruoyi-ui/src/views/smartor/patinhosp/index.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,468 @@
<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="hospitaldistrictname">
        <el-input
          v-model="queryParams.hospitaldistrictname"
          placeholder="请输入 é™¢åŒºåç§° "
          clearable
          @keyup.enter.native="handleQuery"
        />
      </el-form-item>
      <el-form-item label=" å‡ºé™¢æ—¶é—´ " prop="endtime">
        <el-date-picker clearable
          v-model="queryParams.endtime"
          type="date"
          value-format="yyyy-MM-dd"
          placeholder="请选择 å‡ºé™¢æ—¶é—´ ">
        </el-date-picker>
      </el-form-item>
      <el-form-item label=" å‡ºé™¢è¯Šæ–­ " prop="leavediagname">
        <el-input
          v-model="queryParams.leavediagname"
          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="leaveldeptname">
        <el-input
          v-model="queryParams.leaveldeptname"
          placeholder="请输入 å‡ºé™¢ç§‘室名称 "
          clearable
          @keyup.enter.native="handleQuery"
        />
      </el-form-item>
      <el-form-item label=" å‡ºé™¢ç—…区名称 " prop="leavehospitaldistrictname">
        <el-input
          v-model="queryParams.leavehospitaldistrictname"
          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:patinhosp: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:patinhosp: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:patinhosp: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:patinhosp:export']"
        >导出</el-button>
      </el-col>
      <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
    </el-row>
    <el-table v-loading="loading" :data="patinhospList" @selection-change="handleSelectionChange">
      <el-table-column type="selection" width="55" align="center" />
      <el-table-column label=" è‡ªå¢žID " align="center" prop="inhospid" />
      <el-table-column label=" åŒ»é™¢åç§° " align="center" prop="hospitalname" />
      <el-table-column label=" é™¢åŒºåç§° " align="center" prop="hospitaldistrictname" />
      <el-table-column label=" å…¥é™¢æ—¶é—´ " align="center" prop="starttime" width="180">
        <template slot-scope="scope">
          <span>{{ parseTime(scope.row.starttime, '{y}-{m}-{d}') }}</span>
        </template>
      </el-table-column>
      <el-table-column label=" å‡ºé™¢æ—¶é—´ " align="center" prop="endtime" width="180">
        <template slot-scope="scope">
          <span>{{ parseTime(scope.row.endtime, '{y}-{m}-{d}') }}</span>
        </template>
      </el-table-column>
      <el-table-column label=" åºŠä½å· " align="center" prop="bedno" />
      <el-table-column label=" æœºæž„ID " align="center" prop="orgid" />
      <el-table-column label=" å‡ºé™¢è¯Šæ–­ " align="center" prop="leavediagname" />
      <el-table-column label=" åŒ»ç”Ÿåç§° " align="center" prop="drname" />
      <el-table-column label=" å‡ºé™¢ç§‘室名称 " align="center" prop="leaveldeptname" />
      <el-table-column label=" å‡ºé™¢ç—…区名称 " align="center" prop="leavehospitaldistrictname" />
      <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:patinhosp:edit']"
          >修改</el-button>
          <el-button
            size="mini"
            type="text"
            icon="el-icon-delete"
            @click="handleDelete(scope.row)"
            v-hasPermi="['smartor:patinhosp: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=" åŒ»é™¢åç§° " 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=" é™¢åŒºç¼–号 " prop="hospitaldistrictcode">
          <el-input v-model="form.hospitaldistrictcode" placeholder="请输入 é™¢åŒºç¼–号 " />
        </el-form-item>
        <el-form-item label=" é™¢åŒºåç§° " prop="hospitaldistrictname">
          <el-input v-model="form.hospitaldistrictname" 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="starttime">
          <el-date-picker clearable
            v-model="form.starttime"
            type="date"
            value-format="yyyy-MM-dd"
            placeholder="请选择 å…¥é™¢æ—¶é—´ ">
          </el-date-picker>
        </el-form-item>
        <el-form-item label=" å‡ºé™¢æ—¶é—´ " prop="endtime">
          <el-date-picker clearable
            v-model="form.endtime"
            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="roomno">
          <el-input v-model="form.roomno" placeholder="请输入 æˆ¿é—´å· " />
        </el-form-item>
        <el-form-item label=" åºŠä½å· " prop="bedno">
          <el-input v-model="form.bedno" 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="patid">
          <el-input v-model="form.patid" placeholder="请输入 æ¡£æ¡ˆID " />
        </el-form-item>
        <el-form-item label=" å‡ºé™¢è¯Šæ–­ " prop="leavediagname">
          <el-input v-model="form.leavediagname" placeholder="请输入 å‡ºé™¢è¯Šæ–­ " />
        </el-form-item>
        <el-form-item label=" å‡ºé™¢è¯Šæ–­ICD值 " prop="leaveicd10code">
          <el-input v-model="form.leaveicd10code" placeholder="请输入 å‡ºé™¢è¯Šæ–­ICD值 " />
        </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="leaveldeptcode">
          <el-input v-model="form.leaveldeptcode" placeholder="请输入 å‡ºé™¢ç§‘室代码 " />
        </el-form-item>
        <el-form-item label=" å‡ºé™¢ç§‘室名称 " prop="leaveldeptname">
          <el-input v-model="form.leaveldeptname" placeholder="请输入 å‡ºé™¢ç§‘室名称 " />
        </el-form-item>
        <el-form-item label=" ç—…区ID " prop="hospitaldistrictid">
          <el-input v-model="form.hospitaldistrictid" placeholder="请输入 ç—…区ID " />
        </el-form-item>
        <el-form-item label=" å‡ºé™¢ç—…区编号 " prop="leavehospitaldistrictcode">
          <el-input v-model="form.leavehospitaldistrictcode" placeholder="请输入 å‡ºé™¢ç—…区编号 " />
        </el-form-item>
        <el-form-item label=" å‡ºé™¢ç—…区名称 " prop="leavehospitaldistrictname">
          <el-input v-model="form.leavehospitaldistrictname" placeholder="请输入 å‡ºé™¢ç—…区名称 " />
        </el-form-item>
        <el-form-item label=" å‡ºé™¢ç—…区ID " prop="leavehospitaldistrictid">
          <el-input v-model="form.leavehospitaldistrictid" placeholder="请输入 å‡ºé™¢ç—…区ID " />
        </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="leaveldeptid">
          <el-input v-model="form.leaveldeptid" 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 { listPatinhosp, getPatinhosp, delPatinhosp, addPatinhosp, updatePatinhosp } from "@/api/smartor/patinhosp";
export default {
  name: "Patinhosp",
  data() {
    return {
      // é®ç½©å±‚
      loading: true,
      // é€‰ä¸­æ•°ç»„
      ids: [],
      // éžå•个禁用
      single: true,
      // éžå¤šä¸ªç¦ç”¨
      multiple: true,
      // æ˜¾ç¤ºæœç´¢æ¡ä»¶
      showSearch: true,
      // æ€»æ¡æ•°
      total: 0,
      // æ‚£è€…住院记录表格数据
      patinhospList: [],
      // å¼¹å‡ºå±‚标题
      title: "",
      // æ˜¯å¦æ˜¾ç¤ºå¼¹å‡ºå±‚
      open: false,
      // æŸ¥è¯¢å‚æ•°
      queryParams: {
        pageNum: 1,
        pageSize: 10,
        hospitalname: null,
        hospitaldistrictname: null,
        endtime: null,
        leavediagname: null,
        drname: null,
        leaveldeptname: null,
        leavehospitaldistrictname: null,
      },
      // è¡¨å•参数
      form: {},
      // è¡¨å•校验
      rules: {
        delFlag: [
          { required: true, message: " åˆ é™¤æ ‡è®° ä¸èƒ½ä¸ºç©º", trigger: "blur" }
        ],
        isupload: [
          { required: true, message: " ä¸Šä¼ æ ‡è®° ä¸èƒ½ä¸ºç©º", trigger: "blur" }
        ],
      }
    };
  },
  created() {
    this.getList();
  },
  methods: {
    /** æŸ¥è¯¢æ‚£è€…住院记录列表 */
    getList() {
      this.loading = true;
      listPatinhosp(this.queryParams).then(response => {
        this.patinhospList = response.rows;
        this.total = response.total;
        this.loading = false;
      });
    },
    // å–消按钮
    cancel() {
      this.open = false;
      this.reset();
    },
    // è¡¨å•重置
    reset() {
      this.form = {
        inhospid: null,
        serialnum: null,
        hospitalname: null,
        hospitalcode: null,
        hospitaldistrictcode: null,
        hospitaldistrictname: null,
        icd10code: null,
        diagname: null,
        starttime: null,
        endtime: null,
        deptcode: null,
        deptname: null,
        roomno: null,
        bedno: null,
        orgid: null,
        delFlag: null,
        updateBy: null,
        updateTime: null,
        createBy: null,
        createTime: null,
        isupload: null,
        uploadTime: null,
        patid: null,
        leavediagname: null,
        leaveicd10code: null,
        drcode: null,
        drname: null,
        schemestatus: null,
        generalschemestatus: null,
        leaveldeptcode: null,
        leaveldeptname: null,
        hospitaldistrictid: null,
        leavehospitaldistrictcode: null,
        leavehospitaldistrictname: null,
        leavehospitaldistrictid: null,
        deptid: null,
        leaveldeptid: 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.inhospid)
      this.single = selection.length!==1
      this.multiple = !selection.length
    },
    /** æ–°å¢žæŒ‰é’®æ“ä½œ */
    handleAdd() {
      this.reset();
      this.open = true;
      this.title = "添加患者住院记录";
    },
    /** ä¿®æ”¹æŒ‰é’®æ“ä½œ */
    handleUpdate(row) {
      this.reset();
      const inhospid = row.inhospid || this.ids
      getPatinhosp(inhospid).then(response => {
        this.form = response.data;
        this.open = true;
        this.title = "修改患者住院记录";
      });
    },
    /** æäº¤æŒ‰é’® */
    submitForm() {
      this.$refs["form"].validate(valid => {
        if (valid) {
          if (this.form.inhospid != null) {
            updatePatinhosp(this.form).then(response => {
              this.$modal.msgSuccess("修改成功");
              this.open = false;
              this.getList();
            });
          } else {
            addPatinhosp(this.form).then(response => {
              this.$modal.msgSuccess("新增成功");
              this.open = false;
              this.getList();
            });
          }
        }
      });
    },
    /** åˆ é™¤æŒ‰é’®æ“ä½œ */
    handleDelete(row) {
      const inhospids = row.inhospid || this.ids;
      this.$modal.confirm('是否确认删除患者住院记录编号为"' + inhospids + '"的数据项?').then(function() {
        return delPatinhosp(inhospids);
      }).then(() => {
        this.getList();
        this.$modal.msgSuccess("删除成功");
      }).catch(() => {});
    },
    /** å¯¼å‡ºæŒ‰é’®æ“ä½œ */
    handleExport() {
      this.download('smartor/patinhosp/export', {
        ...this.queryParams
      }, `patinhosp_${new Date().getTime()}.xlsx`)
    }
  }
};
</script>
ruoyi-ui/src/views/smartor/svycategory/index.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,286 @@
<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>
        <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:svycategory: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:svycategory: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:svycategory: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:svycategory:export']"
        >导出</el-button>
      </el-col>
      <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
    </el-row>
    <el-table v-loading="loading" :data="svycategoryList" @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="操作" 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:svycategory:edit']"
          >修改</el-button>
          <el-button
            size="mini"
            type="text"
            icon="el-icon-delete"
            @click="handleDelete(scope.row)"
            v-hasPermi="['smartor:svycategory: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=" åˆ é™¤æ ‡è®° " 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 { listSvycategory, getSvycategory, delSvycategory, addSvycategory, updateSvycategory } from "@/api/smartor/svycategory";
export default {
  name: "Svycategory",
  data() {
    return {
      // é®ç½©å±‚
      loading: true,
      // é€‰ä¸­æ•°ç»„
      ids: [],
      // éžå•个禁用
      single: true,
      // éžå¤šä¸ªç¦ç”¨
      multiple: true,
      // æ˜¾ç¤ºæœç´¢æ¡ä»¶
      showSearch: true,
      // æ€»æ¡æ•°
      total: 0,
      // é—®å·åˆ†ç±»è¡¨æ ¼æ•°æ®
      svycategoryList: [],
      // å¼¹å‡ºå±‚标题
      title: "",
      // æ˜¯å¦æ˜¾ç¤ºå¼¹å‡ºå±‚
      open: false,
      // æŸ¥è¯¢å‚æ•°
      queryParams: {
        pageNum: 1,
        pageSize: 10,
        categoryname: 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;
      listSvycategory(this.queryParams).then(response => {
        this.svycategoryList = response.rows;
        this.total = response.total;
        this.loading = false;
      });
    },
    // å–消按钮
    cancel() {
      this.open = false;
      this.reset();
    },
    // è¡¨å•重置
    reset() {
      this.form = {
        id: null,
        categoryname: 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
      getSvycategory(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) {
            updateSvycategory(this.form).then(response => {
              this.$modal.msgSuccess("修改成功");
              this.open = false;
              this.getList();
            });
          } else {
            addSvycategory(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 delSvycategory(ids);
      }).then(() => {
        this.getList();
        this.$modal.msgSuccess("删除成功");
      }).catch(() => {});
    },
    /** å¯¼å‡ºæŒ‰é’®æ“ä½œ */
    handleExport() {
      this.download('smartor/svycategory/export', {
        ...this.queryParams
      }, `svycategory_${new Date().getTime()}.xlsx`)
    }
  }
};
</script>
ruoyi-ui/src/views/smartor/svyexception/index.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,456 @@
<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="oldid">
        <el-input
          v-model="queryParams.oldid"
          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=" é—®é¢˜é€‰é¡¹ID " prop="questionoptionid">
        <el-input
          v-model="queryParams.questionoptionid"
          placeholder="请输入 é—®é¢˜é€‰é¡¹ID "
          clearable
          @keyup.enter.native="handleQuery"
        />
      </el-form-item>
      <el-form-item label=" é¢˜ç›®ID " prop="topicid">
        <el-input
          v-model="queryParams.topicid"
          placeholder="请输入 é¢˜ç›®ID "
          clearable
          @keyup.enter.native="handleQuery"
        />
      </el-form-item>
      <el-form-item label=" é—®å·ID " prop="psqid">
        <el-input
          v-model="queryParams.psqid"
          placeholder="请输入 é—®å·ID "
          clearable
          @keyup.enter.native="handleQuery"
        />
      </el-form-item>
      <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="ruleverify">
        <el-input
          v-model="queryParams.ruleverify"
          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="groupnumber">
        <el-input
          v-model="queryParams.groupnumber"
          placeholder="请输入 ç»„编号 "
          clearable
          @keyup.enter.native="handleQuery"
        />
      </el-form-item>
      <el-form-item label=" çˆ¶æ¡ä»¶ID " prop="grouporand">
        <el-input
          v-model="queryParams.grouporand"
          placeholder="请输入 çˆ¶æ¡ä»¶ID "
          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="istrack">
        <el-input
          v-model="queryParams.istrack"
          placeholder="请输入 æ˜¯å¦è·Ÿè¸ª "
          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:svyexception: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:svyexception: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:svyexception: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:svyexception:export']"
        >导出</el-button>
      </el-col>
      <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
    </el-row>
    <el-table v-loading="loading" :data="svyexceptionList" @selection-change="handleSelectionChange">
      <el-table-column type="selection" width="55" align="center" />
      <el-table-column label=" è‡ªå¢žID " align="center" prop="ecid" />
      <el-table-column label=" ä¸Šä¸ªç‰ˆæœ¬ID " align="center" prop="oldid" />
      <el-table-column label=" æœºæž„ID " align="center" prop="orgid" />
      <el-table-column label=" é—®é¢˜é€‰é¡¹ID " align="center" prop="questionoptionid" />
      <el-table-column label=" é¢˜ç›®ID " align="center" prop="topicid" />
      <el-table-column label=" é—®å·ID " align="center" prop="psqid" />
      <el-table-column label=" ä¸”或 " align="center" prop="orand" />
      <el-table-column label=" è§„则验证 " align="center" prop="ruleverify" />
      <el-table-column label=" è§„则条件 " align="center" prop="ruleconditions" />
      <el-table-column label=" è§„则内容 " align="center" prop="rulecontent" />
      <el-table-column label=" ç»„编号 " align="center" prop="groupnumber" />
      <el-table-column label=" çˆ¶æ¡ä»¶ID " align="center" prop="grouporand" />
      <el-table-column label=" å­æ¡ä»¶ç¼–号 " align="center" prop="number" />
      <el-table-column label=" æ˜¯å¦è·Ÿè¸ª " align="center" prop="istrack" />
      <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:svyexception:edit']"
          >修改</el-button>
          <el-button
            size="mini"
            type="text"
            icon="el-icon-delete"
            @click="handleDelete(scope.row)"
            v-hasPermi="['smartor:svyexception: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="oldid">
          <el-input v-model="form.oldid" placeholder="请输入 ä¸Šä¸ªç‰ˆæœ¬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=" é—®é¢˜é€‰é¡¹ID " prop="questionoptionid">
          <el-input v-model="form.questionoptionid" placeholder="请输入 é—®é¢˜é€‰é¡¹ID " />
        </el-form-item>
        <el-form-item label=" é¢˜ç›®ID " prop="topicid">
          <el-input v-model="form.topicid" placeholder="请输入 é¢˜ç›®ID " />
        </el-form-item>
        <el-form-item label=" é—®å·ID " prop="psqid">
          <el-input v-model="form.psqid" placeholder="请输入 é—®å·ID " />
        </el-form-item>
        <el-form-item label=" ä¸”或 " prop="orand">
          <el-input v-model="form.orand" placeholder="请输入 ä¸”或 " />
        </el-form-item>
        <el-form-item label=" è§„则验证 " prop="ruleverify">
          <el-input v-model="form.ruleverify" placeholder="请输入 è§„则验证 " />
        </el-form-item>
        <el-form-item label=" è§„则条件 " prop="ruleconditions">
          <el-input v-model="form.ruleconditions" placeholder="请输入 è§„则条件 " />
        </el-form-item>
        <el-form-item label=" è§„则内容 ">
          <editor v-model="form.rulecontent" :min-height="192"/>
        </el-form-item>
        <el-form-item label=" ç»„编号 " prop="groupnumber">
          <el-input v-model="form.groupnumber" placeholder="请输入 ç»„编号 " />
        </el-form-item>
        <el-form-item label=" çˆ¶æ¡ä»¶ID " prop="grouporand">
          <el-input v-model="form.grouporand" placeholder="请输入 çˆ¶æ¡ä»¶ID " />
        </el-form-item>
        <el-form-item label=" å­æ¡ä»¶ç¼–号 " prop="number">
          <el-input v-model="form.number" placeholder="请输入 å­æ¡ä»¶ç¼–号 " />
        </el-form-item>
        <el-form-item label=" æ˜¯å¦è·Ÿè¸ª " prop="istrack">
          <el-input v-model="form.istrack" placeholder="请输入 æ˜¯å¦è·Ÿè¸ª " />
        </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 { listSvyexception, getSvyexception, delSvyexception, addSvyexception, updateSvyexception } from "@/api/smartor/svyexception";
export default {
  name: "Svyexception",
  data() {
    return {
      // é®ç½©å±‚
      loading: true,
      // é€‰ä¸­æ•°ç»„
      ids: [],
      // éžå•个禁用
      single: true,
      // éžå¤šä¸ªç¦ç”¨
      multiple: true,
      // æ˜¾ç¤ºæœç´¢æ¡ä»¶
      showSearch: true,
      // æ€»æ¡æ•°
      total: 0,
      // é—®å·å¼‚常表格数据
      svyexceptionList: [],
      // å¼¹å‡ºå±‚标题
      title: "",
      // æ˜¯å¦æ˜¾ç¤ºå¼¹å‡ºå±‚
      open: false,
      // æŸ¥è¯¢å‚æ•°
      queryParams: {
        pageNum: 1,
        pageSize: 10,
        oldid: null,
        orgid: null,
        questionoptionid: null,
        topicid: null,
        psqid: null,
        orand: null,
        ruleverify: null,
        ruleconditions: null,
        rulecontent: null,
        groupnumber: null,
        grouporand: null,
        number: null,
        istrack: 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;
      listSvyexception(this.queryParams).then(response => {
        this.svyexceptionList = response.rows;
        this.total = response.total;
        this.loading = false;
      });
    },
    // å–消按钮
    cancel() {
      this.open = false;
      this.reset();
    },
    // è¡¨å•重置
    reset() {
      this.form = {
        ecid: null,
        oldid: null,
        orgid: null,
        questionoptionid: null,
        topicid: null,
        psqid: null,
        orand: null,
        ruleverify: null,
        ruleconditions: null,
        rulecontent: null,
        groupnumber: null,
        grouporand: null,
        number: null,
        istrack: 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.ecid)
      this.single = selection.length!==1
      this.multiple = !selection.length
    },
    /** æ–°å¢žæŒ‰é’®æ“ä½œ */
    handleAdd() {
      this.reset();
      this.open = true;
      this.title = "添加问卷异常";
    },
    /** ä¿®æ”¹æŒ‰é’®æ“ä½œ */
    handleUpdate(row) {
      this.reset();
      const ecid = row.ecid || this.ids
      getSvyexception(ecid).then(response => {
        this.form = response.data;
        this.open = true;
        this.title = "修改问卷异常";
      });
    },
    /** æäº¤æŒ‰é’® */
    submitForm() {
      this.$refs["form"].validate(valid => {
        if (valid) {
          if (this.form.ecid != null) {
            updateSvyexception(this.form).then(response => {
              this.$modal.msgSuccess("修改成功");
              this.open = false;
              this.getList();
            });
          } else {
            addSvyexception(this.form).then(response => {
              this.$modal.msgSuccess("新增成功");
              this.open = false;
              this.getList();
            });
          }
        }
      });
    },
    /** åˆ é™¤æŒ‰é’®æ“ä½œ */
    handleDelete(row) {
      const ecids = row.ecid || this.ids;
      this.$modal.confirm('是否确认删除问卷异常编号为"' + ecids + '"的数据项?').then(function() {
        return delSvyexception(ecids);
      }).then(() => {
        this.getList();
        this.$modal.msgSuccess("删除成功");
      }).catch(() => {});
    },
    /** å¯¼å‡ºæŒ‰é’®æ“ä½œ */
    handleExport() {
      this.download('smartor/svyexception/export', {
        ...this.queryParams
      }, `svyexception_${new Date().getTime()}.xlsx`)
    }
  }
};
</script>
ruoyi-ui/src/views/smartor/svyresult/index.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,358 @@
<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="svyid">
        <el-input
          v-model="queryParams.svyid"
          placeholder="请输入 é—®å·ID "
          clearable
          @keyup.enter.native="handleQuery"
        />
      </el-form-item>
      <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="isshowscore">
        <el-input
          v-model="queryParams.isshowscore"
          placeholder="请输入 æ˜¯å¦æ˜¾ç¤ºå¾—分 "
          clearable
          @keyup.enter.native="handleQuery"
        />
      </el-form-item>
      <el-form-item label=" æŽ’序 " prop="sort">
        <el-input
          v-model="queryParams.sort"
          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:svyresult: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:svyresult: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:svyresult: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:svyresult:export']"
        >导出</el-button>
      </el-col>
      <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
    </el-row>
    <el-table v-loading="loading" :data="svyresultList" @selection-change="handleSelectionChange">
      <el-table-column type="selection" width="55" align="center" />
      <el-table-column label=" è‡ªå¢žID " align="center" prop="resultid" />
      <el-table-column label=" é—®å·ID " align="center" prop="svyid" />
      <el-table-column label=" ç»“果内容 " align="center" prop="resultcontent" />
      <el-table-column label=" æˆ–且 " align="center" prop="orand" />
      <el-table-column label=" æ˜¯å¦æ˜¾ç¤ºå¾—分 " align="center" prop="isshowscore" />
      <el-table-column label=" æŽ’序 " align="center" prop="sort" />
      <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:svyresult:edit']"
          >修改</el-button>
          <el-button
            size="mini"
            type="text"
            icon="el-icon-delete"
            @click="handleDelete(scope.row)"
            v-hasPermi="['smartor:svyresult: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="svyid">
          <el-input v-model="form.svyid" placeholder="请输入 é—®å·ID " />
        </el-form-item>
        <el-form-item label=" ç»“果内容 ">
          <editor v-model="form.resultcontent" :min-height="192"/>
        </el-form-item>
        <el-form-item label=" æˆ–且 " prop="orand">
          <el-input v-model="form.orand" placeholder="请输入 æˆ–且 " />
        </el-form-item>
        <el-form-item label=" æ˜¯å¦æ˜¾ç¤ºå¾—分 " prop="isshowscore">
          <el-input v-model="form.isshowscore" placeholder="请输入 æ˜¯å¦æ˜¾ç¤ºå¾—分 " />
        </el-form-item>
        <el-form-item label=" æŽ’序 " prop="sort">
          <el-input v-model="form.sort" 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 { listSvyresult, getSvyresult, delSvyresult, addSvyresult, updateSvyresult } from "@/api/smartor/svyresult";
export default {
  name: "Svyresult",
  data() {
    return {
      // é®ç½©å±‚
      loading: true,
      // é€‰ä¸­æ•°ç»„
      ids: [],
      // éžå•个禁用
      single: true,
      // éžå¤šä¸ªç¦ç”¨
      multiple: true,
      // æ˜¾ç¤ºæœç´¢æ¡ä»¶
      showSearch: true,
      // æ€»æ¡æ•°
      total: 0,
      // é—®å·ç»“果表格数据
      svyresultList: [],
      // å¼¹å‡ºå±‚标题
      title: "",
      // æ˜¯å¦æ˜¾ç¤ºå¼¹å‡ºå±‚
      open: false,
      // æŸ¥è¯¢å‚æ•°
      queryParams: {
        pageNum: 1,
        pageSize: 10,
        svyid: null,
        resultcontent: null,
        orand: null,
        isshowscore: null,
        sort: 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;
      listSvyresult(this.queryParams).then(response => {
        this.svyresultList = response.rows;
        this.total = response.total;
        this.loading = false;
      });
    },
    // å–消按钮
    cancel() {
      this.open = false;
      this.reset();
    },
    // è¡¨å•重置
    reset() {
      this.form = {
        resultid: null,
        svyid: null,
        resultcontent: null,
        orand: null,
        isshowscore: null,
        sort: 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.resultid)
      this.single = selection.length!==1
      this.multiple = !selection.length
    },
    /** æ–°å¢žæŒ‰é’®æ“ä½œ */
    handleAdd() {
      this.reset();
      this.open = true;
      this.title = "添加问卷结果";
    },
    /** ä¿®æ”¹æŒ‰é’®æ“ä½œ */
    handleUpdate(row) {
      this.reset();
      const resultid = row.resultid || this.ids
      getSvyresult(resultid).then(response => {
        this.form = response.data;
        this.open = true;
        this.title = "修改问卷结果";
      });
    },
    /** æäº¤æŒ‰é’® */
    submitForm() {
      this.$refs["form"].validate(valid => {
        if (valid) {
          if (this.form.resultid != null) {
            updateSvyresult(this.form).then(response => {
              this.$modal.msgSuccess("修改成功");
              this.open = false;
              this.getList();
            });
          } else {
            addSvyresult(this.form).then(response => {
              this.$modal.msgSuccess("新增成功");
              this.open = false;
              this.getList();
            });
          }
        }
      });
    },
    /** åˆ é™¤æŒ‰é’®æ“ä½œ */
    handleDelete(row) {
      const resultids = row.resultid || this.ids;
      this.$modal.confirm('是否确认删除问卷结果编号为"' + resultids + '"的数据项?').then(function() {
        return delSvyresult(resultids);
      }).then(() => {
        this.getList();
        this.$modal.msgSuccess("删除成功");
      }).catch(() => {});
    },
    /** å¯¼å‡ºæŒ‰é’®æ“ä½œ */
    handleExport() {
      this.download('smartor/svyresult/export', {
        ...this.queryParams
      }, `svyresult_${new Date().getTime()}.xlsx`)
    }
  }
};
</script>
ruoyi-ui/src/views/smartor/svytitle/index.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,440 @@
<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="categoryid">
        <el-input
          v-model="queryParams.categoryid"
          placeholder="请输入 é—®å·åˆ†ç±»ID "
          clearable
          @keyup.enter.native="handleQuery"
        />
      </el-form-item>
      <el-form-item label=" é—®å·ä»£ç  " prop="svycode">
        <el-input
          v-model="queryParams.svycode"
          placeholder="请输入 é—®å·ä»£ç  "
          clearable
          @keyup.enter.native="handleQuery"
        />
      </el-form-item>
      <el-form-item label=" é—®å·åç§° " prop="svyname">
        <el-input
          v-model="queryParams.svyname"
          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="centerlibrarycode">
        <el-input
          v-model="queryParams.centerlibrarycode"
          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=" æ˜¯å¦æœ¬åœ° " prop="islocal">
        <el-input
          v-model="queryParams.islocal"
          placeholder="请输入 æ˜¯å¦æœ¬åœ° "
          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>
        <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:svytitle: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:svytitle: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:svytitle: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:svytitle:export']"
        >导出</el-button>
      </el-col>
      <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
    </el-row>
    <el-table v-loading="loading" :data="svytitleList" @selection-change="handleSelectionChange">
      <el-table-column type="selection" width="55" align="center" />
      <el-table-column label=" è‡ªå¢žID " align="center" prop="svyid" />
      <el-table-column label=" é—®å·åˆ†ç±»ID " align="center" prop="categoryid" />
      <el-table-column label=" é—®å·ä»£ç  " align="center" prop="svycode" />
      <el-table-column label=" é—®å·åç§° " align="center" prop="svyname" />
      <el-table-column label=" æè¿° " align="center" prop="description" />
      <el-table-column label=" é—®å·ä»‹ç» " align="center" prop="introduce" />
      <el-table-column label=" é—®å·æç¤º " align="center" prop="submitprompt" />
      <el-table-column label=" æ¨¡æ¿ID " align="center" prop="templateid" />
      <el-table-column label=" ç‰ˆæœ¬ " align="center" prop="version" />
      <el-table-column label=" ä¸­å¿ƒåº“代码 " align="center" prop="centerlibrarycode" />
      <el-table-column label=" ä¸­å¿ƒåº“ID " align="center" prop="centerlibraryid" />
      <el-table-column label=" æ˜¯å¦æœ¬åœ° " align="center" prop="islocal" />
      <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="操作" 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:svytitle:edit']"
          >修改</el-button>
          <el-button
            size="mini"
            type="text"
            icon="el-icon-delete"
            @click="handleDelete(scope.row)"
            v-hasPermi="['smartor:svytitle: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="categoryid">
          <el-input v-model="form.categoryid" placeholder="请输入 é—®å·åˆ†ç±»ID " />
        </el-form-item>
        <el-form-item label=" é—®å·ä»£ç  " prop="svycode">
          <el-input v-model="form.svycode" placeholder="请输入 é—®å·ä»£ç  " />
        </el-form-item>
        <el-form-item label=" é—®å·åç§° " prop="svyname">
          <el-input v-model="form.svyname" 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=" é—®å·ä»‹ç» " prop="introduce">
          <el-input v-model="form.introduce" type="textarea" placeholder="请输入内容" />
        </el-form-item>
        <el-form-item label=" é—®å·æç¤º " prop="submitprompt">
          <el-input v-model="form.submitprompt" 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="centerlibrarycode">
          <el-input v-model="form.centerlibrarycode" 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=" æ˜¯å¦æœ¬åœ° " prop="islocal">
          <el-input v-model="form.islocal" placeholder="请输入 æ˜¯å¦æœ¬åœ° " />
        </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>
      <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 { listSvytitle, getSvytitle, delSvytitle, addSvytitle, updateSvytitle } from "@/api/smartor/svytitle";
export default {
  name: "Svytitle",
  data() {
    return {
      // é®ç½©å±‚
      loading: true,
      // é€‰ä¸­æ•°ç»„
      ids: [],
      // éžå•个禁用
      single: true,
      // éžå¤šä¸ªç¦ç”¨
      multiple: true,
      // æ˜¾ç¤ºæœç´¢æ¡ä»¶
      showSearch: true,
      // æ€»æ¡æ•°
      total: 0,
      // é—®å·è¡¨æ ¼æ•°æ®
      svytitleList: [],
      // å¼¹å‡ºå±‚标题
      title: "",
      // æ˜¯å¦æ˜¾ç¤ºå¼¹å‡ºå±‚
      open: false,
      // æŸ¥è¯¢å‚æ•°
      queryParams: {
        pageNum: 1,
        pageSize: 10,
        categoryid: null,
        svycode: null,
        svyname: null,
        description: null,
        introduce: null,
        submitprompt: null,
        templateid: null,
        version: null,
        centerlibrarycode: null,
        centerlibraryid: null,
        islocal: null,
        isenable: 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;
      listSvytitle(this.queryParams).then(response => {
        this.svytitleList = response.rows;
        this.total = response.total;
        this.loading = false;
      });
    },
    // å–消按钮
    cancel() {
      this.open = false;
      this.reset();
    },
    // è¡¨å•重置
    reset() {
      this.form = {
        svyid: null,
        categoryid: null,
        svycode: null,
        svyname: null,
        description: null,
        introduce: null,
        submitprompt: null,
        templateid: null,
        version: null,
        centerlibrarycode: null,
        centerlibraryid: null,
        islocal: null,
        isenable: 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.svyid)
      this.single = selection.length!==1
      this.multiple = !selection.length
    },
    /** æ–°å¢žæŒ‰é’®æ“ä½œ */
    handleAdd() {
      this.reset();
      this.open = true;
      this.title = "添加问卷";
    },
    /** ä¿®æ”¹æŒ‰é’®æ“ä½œ */
    handleUpdate(row) {
      this.reset();
      const svyid = row.svyid || this.ids
      getSvytitle(svyid).then(response => {
        this.form = response.data;
        this.open = true;
        this.title = "修改问卷";
      });
    },
    /** æäº¤æŒ‰é’® */
    submitForm() {
      this.$refs["form"].validate(valid => {
        if (valid) {
          if (this.form.svyid != null) {
            updateSvytitle(this.form).then(response => {
              this.$modal.msgSuccess("修改成功");
              this.open = false;
              this.getList();
            });
          } else {
            addSvytitle(this.form).then(response => {
              this.$modal.msgSuccess("新增成功");
              this.open = false;
              this.getList();
            });
          }
        }
      });
    },
    /** åˆ é™¤æŒ‰é’®æ“ä½œ */
    handleDelete(row) {
      const svyids = row.svyid || this.ids;
      this.$modal.confirm('是否确认删除问卷编号为"' + svyids + '"的数据项?').then(function() {
        return delSvytitle(svyids);
      }).then(() => {
        this.getList();
        this.$modal.msgSuccess("删除成功");
      }).catch(() => {});
    },
    /** å¯¼å‡ºæŒ‰é’®æ“ä½œ */
    handleExport() {
      this.download('smartor/svytitle/export', {
        ...this.queryParams
      }, `svytitle_${new Date().getTime()}.xlsx`)
    }
  }
};
</script>
ruoyi-ui/src/views/smartor/svytopicoption/index.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,574 @@
<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="topicid">
        <el-input
          v-model="queryParams.topicid"
          placeholder="请输入 é¢˜ç›®ID "
          clearable
          @keyup.enter.native="handleQuery"
        />
      </el-form-item>
      <el-form-item label=" é—®å·ID " prop="svyid">
        <el-input
          v-model="queryParams.svyid"
          placeholder="请输入 é—®å·ID "
          clearable
          @keyup.enter.native="handleQuery"
        />
      </el-form-item>
      <el-form-item label=" é€‰é¡¹Code " prop="optioncode">
        <el-input
          v-model="queryParams.optioncode"
          placeholder="请输入 é€‰é¡¹Code "
          clearable
          @keyup.enter.native="handleQuery"
        />
      </el-form-item>
      <el-form-item label=" æ˜¯å¦å­˜åœ¨æ˜Žç»† " prop="isexistdetail">
        <el-input
          v-model="queryParams.isexistdetail"
          placeholder="请输入 æ˜¯å¦å­˜åœ¨æ˜Žç»† "
          clearable
          @keyup.enter.native="handleQuery"
        />
      </el-form-item>
      <el-form-item label=" æ˜Žç»†æ˜¯å¦å¿…å¡« " prop="detailismandatory">
        <el-input
          v-model="queryParams.detailismandatory"
          placeholder="请输入 æ˜Žç»†æ˜¯å¦å¿…å¡« "
          clearable
          @keyup.enter.native="handleQuery"
        />
      </el-form-item>
      <el-form-item label=" æ˜¯å¦å¼‚常项目 " prop="isexceptionitem">
        <el-input
          v-model="queryParams.isexceptionitem"
          placeholder="请输入 æ˜¯å¦å¼‚常项目 "
          clearable
          @keyup.enter.native="handleQuery"
        />
      </el-form-item>
      <el-form-item label=" æ˜¯å¦è·Ÿè¿› " prop="istrack">
        <el-input
          v-model="queryParams.istrack"
          placeholder="请输入 æ˜¯å¦è·Ÿè¿› "
          clearable
          @keyup.enter.native="handleQuery"
        />
      </el-form-item>
      <el-form-item label=" åˆ†æ•° " prop="score">
        <el-input
          v-model="queryParams.score"
          placeholder="请输入 åˆ†æ•° "
          clearable
          @keyup.enter.native="handleQuery"
        />
      </el-form-item>
      <el-form-item label=" æç¤º " prop="prompt">
        <el-input
          v-model="queryParams.prompt"
          placeholder="请输入 æç¤º "
          clearable
          @keyup.enter.native="handleQuery"
        />
      </el-form-item>
      <el-form-item label=" è·³è½¬ " prop="jump">
        <el-input
          v-model="queryParams.jump"
          placeholder="请输入 è·³è½¬ "
          clearable
          @keyup.enter.native="handleQuery"
        />
      </el-form-item>
      <el-form-item label=" çˆ¶é€‰é¡¹ID " prop="parentoptionid">
        <el-input
          v-model="queryParams.parentoptionid"
          placeholder="请输入 çˆ¶é€‰é¡¹ID "
          clearable
          @keyup.enter.native="handleQuery"
        />
      </el-form-item>
      <el-form-item label=" æ˜¯å¦äº’æ–¥ " prop="ismutex">
        <el-input
          v-model="queryParams.ismutex"
          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="sort">
        <el-input
          v-model="queryParams.sort"
          placeholder="请输入 æŽ’序 "
          clearable
          @keyup.enter.native="handleQuery"
        />
      </el-form-item>
      <el-form-item label=" æ˜¯å¦é™åˆ¶èŒƒå›´ " prop="isrange">
        <el-input
          v-model="queryParams.isrange"
          placeholder="请输入 æ˜¯å¦é™åˆ¶èŒƒå›´ "
          clearable
          @keyup.enter.native="handleQuery"
        />
      </el-form-item>
      <el-form-item label=" æœ€å°èŒƒå›´ " prop="minrange">
        <el-input
          v-model="queryParams.minrange"
          placeholder="请输入 æœ€å°èŒƒå›´ "
          clearable
          @keyup.enter.native="handleQuery"
        />
      </el-form-item>
      <el-form-item label=" æœ€å¤§èŒƒå›´ " prop="maxrange">
        <el-input
          v-model="queryParams.maxrange"
          placeholder="请输入 æœ€å¤§èŒƒå›´ "
          clearable
          @keyup.enter.native="handleQuery"
        />
      </el-form-item>
      <el-form-item label=" èŒƒå›´é•¿åº¦;用于小数保留位数 " prop="rangelength">
        <el-input
          v-model="queryParams.rangelength"
          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=" ä¸Šä¸€ç‰ˆæœ¬ID " prop="oldid">
        <el-input
          v-model="queryParams.oldid"
          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:svytopicoption: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:svytopicoption: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:svytopicoption: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:svytopicoption:export']"
        >导出</el-button>
      </el-col>
      <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
    </el-row>
    <el-table v-loading="loading" :data="svytopicoptionList" @selection-change="handleSelectionChange">
      <el-table-column type="selection" width="55" align="center" />
      <el-table-column label=" è‡ªå¢žID " align="center" prop="optionid" />
      <el-table-column label=" é¢˜ç›®ID " align="center" prop="topicid" />
      <el-table-column label=" é—®å·ID " align="center" prop="svyid" />
      <el-table-column label=" é¢˜ç›®ç±»åž‹ " align="center" prop="topictype" />
      <el-table-column label=" é€‰é¡¹Code " align="center" prop="optioncode" />
      <el-table-column label=" é€‰é¡¹å†…容 " align="center" prop="optioncontent" />
      <el-table-column label=" æ˜¯å¦å­˜åœ¨æ˜Žç»† " align="center" prop="isexistdetail" />
      <el-table-column label=" æ˜Žç»†æ˜¯å¦å¿…å¡« " align="center" prop="detailismandatory" />
      <el-table-column label=" æ˜¯å¦å¼‚常项目 " align="center" prop="isexceptionitem" />
      <el-table-column label=" æ˜¯å¦è·Ÿè¿› " align="center" prop="istrack" />
      <el-table-column label=" åˆ†æ•° " align="center" prop="score" />
      <el-table-column label=" æç¤º " align="center" prop="prompt" />
      <el-table-column label=" è·³è½¬ " align="center" prop="jump" />
      <el-table-column label=" çˆ¶é€‰é¡¹ID " align="center" prop="parentoptionid" />
      <el-table-column label=" æ˜¯å¦äº’æ–¥ " align="center" prop="ismutex" />
      <el-table-column label=" éªŒè¯è§„则 " align="center" prop="verifyrule" />
      <el-table-column label=" æŽ’序 " align="center" prop="sort" />
      <el-table-column label=" éªŒè¯ç±»åž‹;0.不验证 1.整数 2.小数 3.手机号 4.身份证 5.日期 " align="center" prop="verificationtype" />
      <el-table-column label=" æ˜¯å¦é™åˆ¶èŒƒå›´ " align="center" prop="isrange" />
      <el-table-column label=" æœ€å°èŒƒå›´ " align="center" prop="minrange" />
      <el-table-column label=" æœ€å¤§èŒƒå›´ " align="center" prop="maxrange" />
      <el-table-column label=" èŒƒå›´é•¿åº¦;用于小数保留位数 " align="center" prop="rangelength" />
      <el-table-column label=" æœºæž„ID " align="center" prop="orgid" />
      <el-table-column label=" ä¸Šä¸€ç‰ˆæœ¬ID " align="center" prop="oldid" />
      <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:svytopicoption:edit']"
          >修改</el-button>
          <el-button
            size="mini"
            type="text"
            icon="el-icon-delete"
            @click="handleDelete(scope.row)"
            v-hasPermi="['smartor:svytopicoption: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="topicid">
          <el-input v-model="form.topicid" placeholder="请输入 é¢˜ç›®ID " />
        </el-form-item>
        <el-form-item label=" é—®å·ID " prop="svyid">
          <el-input v-model="form.svyid" placeholder="请输入 é—®å·ID " />
        </el-form-item>
        <el-form-item label=" é€‰é¡¹Code " prop="optioncode">
          <el-input v-model="form.optioncode" placeholder="请输入 é€‰é¡¹Code " />
        </el-form-item>
        <el-form-item label=" é€‰é¡¹å†…容 ">
          <editor v-model="form.optioncontent" :min-height="192"/>
        </el-form-item>
        <el-form-item label=" æ˜¯å¦å­˜åœ¨æ˜Žç»† " prop="isexistdetail">
          <el-input v-model="form.isexistdetail" placeholder="请输入 æ˜¯å¦å­˜åœ¨æ˜Žç»† " />
        </el-form-item>
        <el-form-item label=" æ˜Žç»†æ˜¯å¦å¿…å¡« " prop="detailismandatory">
          <el-input v-model="form.detailismandatory" placeholder="请输入 æ˜Žç»†æ˜¯å¦å¿…å¡« " />
        </el-form-item>
        <el-form-item label=" æ˜¯å¦å¼‚常项目 " prop="isexceptionitem">
          <el-input v-model="form.isexceptionitem" placeholder="请输入 æ˜¯å¦å¼‚常项目 " />
        </el-form-item>
        <el-form-item label=" æ˜¯å¦è·Ÿè¿› " prop="istrack">
          <el-input v-model="form.istrack" placeholder="请输入 æ˜¯å¦è·Ÿè¿› " />
        </el-form-item>
        <el-form-item label=" åˆ†æ•° " prop="score">
          <el-input v-model="form.score" placeholder="请输入 åˆ†æ•° " />
        </el-form-item>
        <el-form-item label=" æç¤º " prop="prompt">
          <el-input v-model="form.prompt" placeholder="请输入 æç¤º " />
        </el-form-item>
        <el-form-item label=" è·³è½¬ " prop="jump">
          <el-input v-model="form.jump" placeholder="请输入 è·³è½¬ " />
        </el-form-item>
        <el-form-item label=" çˆ¶é€‰é¡¹ID " prop="parentoptionid">
          <el-input v-model="form.parentoptionid" placeholder="请输入 çˆ¶é€‰é¡¹ID " />
        </el-form-item>
        <el-form-item label=" æ˜¯å¦äº’æ–¥ " prop="ismutex">
          <el-input v-model="form.ismutex" 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="sort">
          <el-input v-model="form.sort" placeholder="请输入 æŽ’序 " />
        </el-form-item>
        <el-form-item label=" æ˜¯å¦é™åˆ¶èŒƒå›´ " prop="isrange">
          <el-input v-model="form.isrange" placeholder="请输入 æ˜¯å¦é™åˆ¶èŒƒå›´ " />
        </el-form-item>
        <el-form-item label=" æœ€å°èŒƒå›´ " prop="minrange">
          <el-input v-model="form.minrange" placeholder="请输入 æœ€å°èŒƒå›´ " />
        </el-form-item>
        <el-form-item label=" æœ€å¤§èŒƒå›´ " prop="maxrange">
          <el-input v-model="form.maxrange" placeholder="请输入 æœ€å¤§èŒƒå›´ " />
        </el-form-item>
        <el-form-item label=" èŒƒå›´é•¿åº¦;用于小数保留位数 " prop="rangelength">
          <el-input v-model="form.rangelength" 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=" ä¸Šä¸€ç‰ˆæœ¬ID " prop="oldid">
          <el-input v-model="form.oldid" 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 { listSvytopicoption, getSvytopicoption, delSvytopicoption, addSvytopicoption, updateSvytopicoption } from "@/api/smartor/svytopicoption";
export default {
  name: "Svytopicoption",
  data() {
    return {
      // é®ç½©å±‚
      loading: true,
      // é€‰ä¸­æ•°ç»„
      ids: [],
      // éžå•个禁用
      single: true,
      // éžå¤šä¸ªç¦ç”¨
      multiple: true,
      // æ˜¾ç¤ºæœç´¢æ¡ä»¶
      showSearch: true,
      // æ€»æ¡æ•°
      total: 0,
      // é—®å·é—®é¢˜é€‰é¡¹è¡¨æ ¼æ•°æ®
      svytopicoptionList: [],
      // å¼¹å‡ºå±‚标题
      title: "",
      // æ˜¯å¦æ˜¾ç¤ºå¼¹å‡ºå±‚
      open: false,
      // æŸ¥è¯¢å‚æ•°
      queryParams: {
        pageNum: 1,
        pageSize: 10,
        topicid: null,
        svyid: null,
        topictype: null,
        optioncode: null,
        optioncontent: null,
        isexistdetail: null,
        detailismandatory: null,
        isexceptionitem: null,
        istrack: null,
        score: null,
        prompt: null,
        jump: null,
        parentoptionid: null,
        ismutex: null,
        verifyrule: null,
        sort: null,
        verificationtype: null,
        isrange: null,
        minrange: null,
        maxrange: null,
        rangelength: null,
        orgid: null,
        oldid: 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;
      listSvytopicoption(this.queryParams).then(response => {
        this.svytopicoptionList = response.rows;
        this.total = response.total;
        this.loading = false;
      });
    },
    // å–消按钮
    cancel() {
      this.open = false;
      this.reset();
    },
    // è¡¨å•重置
    reset() {
      this.form = {
        optionid: null,
        topicid: null,
        svyid: null,
        topictype: null,
        optioncode: null,
        optioncontent: null,
        isexistdetail: null,
        detailismandatory: null,
        isexceptionitem: null,
        istrack: null,
        score: null,
        prompt: null,
        jump: null,
        parentoptionid: null,
        ismutex: null,
        verifyrule: null,
        sort: null,
        verificationtype: null,
        isrange: null,
        minrange: null,
        maxrange: null,
        rangelength: null,
        orgid: null,
        oldid: 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.optionid)
      this.single = selection.length!==1
      this.multiple = !selection.length
    },
    /** æ–°å¢žæŒ‰é’®æ“ä½œ */
    handleAdd() {
      this.reset();
      this.open = true;
      this.title = "添加问卷问题选项";
    },
    /** ä¿®æ”¹æŒ‰é’®æ“ä½œ */
    handleUpdate(row) {
      this.reset();
      const optionid = row.optionid || this.ids
      getSvytopicoption(optionid).then(response => {
        this.form = response.data;
        this.open = true;
        this.title = "修改问卷问题选项";
      });
    },
    /** æäº¤æŒ‰é’® */
    submitForm() {
      this.$refs["form"].validate(valid => {
        if (valid) {
          if (this.form.optionid != null) {
            updateSvytopicoption(this.form).then(response => {
              this.$modal.msgSuccess("修改成功");
              this.open = false;
              this.getList();
            });
          } else {
            addSvytopicoption(this.form).then(response => {
              this.$modal.msgSuccess("新增成功");
              this.open = false;
              this.getList();
            });
          }
        }
      });
    },
    /** åˆ é™¤æŒ‰é’®æ“ä½œ */
    handleDelete(row) {
      const optionids = row.optionid || this.ids;
      this.$modal.confirm('是否确认删除问卷问题选项编号为"' + optionids + '"的数据项?').then(function() {
        return delSvytopicoption(optionids);
      }).then(() => {
        this.getList();
        this.$modal.msgSuccess("删除成功");
      }).catch(() => {});
    },
    /** å¯¼å‡ºæŒ‰é’®æ“ä½œ */
    handleExport() {
      this.download('smartor/svytopicoption/export', {
        ...this.queryParams
      }, `svytopicoption_${new Date().getTime()}.xlsx`)
    }
  }
};
</script>
ruoyi-ui/src/views/system/snytopic/index.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,389 @@
<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="oldid">
        <el-input
          v-model="queryParams.oldid"
          placeholder="请输入 è€ç‰ˆæœ¬ID "
          clearable
          @keyup.enter.native="handleQuery"
        />
      </el-form-item>
      <el-form-item label=" é—®å·ID " prop="svyid">
        <el-input
          v-model="queryParams.svyid"
          placeholder="请输入 é—®å·ID "
          clearable
          @keyup.enter.native="handleQuery"
        />
      </el-form-item>
      <el-form-item label=" é¢˜ç›®Code " prop="topiccode">
        <el-input
          v-model="queryParams.topiccode"
          placeholder="请输入 é¢˜ç›®Code "
          clearable
          @keyup.enter.native="handleQuery"
        />
      </el-form-item>
      <el-form-item label=" æŽ’序 " prop="sort">
        <el-input
          v-model="queryParams.sort"
          placeholder="请输入 æŽ’序 "
          clearable
          @keyup.enter.native="handleQuery"
        />
      </el-form-item>
      <el-form-item label=" æ˜¯å¦å¿…å¡« " prop="ismandatory">
        <el-input
          v-model="queryParams.ismandatory"
          placeholder="请输入 æ˜¯å¦å¿…å¡« "
          clearable
          @keyup.enter.native="handleQuery"
        />
      </el-form-item>
      <el-form-item label=" æ˜¯å¦éšè— " prop="ishide">
        <el-input
          v-model="queryParams.ishide"
          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="['system:snytopic: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="['system:snytopic: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="['system:snytopic: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="['system:snytopic:export']"
        >导出</el-button>
      </el-col>
      <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
    </el-row>
    <el-table v-loading="loading" :data="snytopicList" @selection-change="handleSelectionChange">
      <el-table-column type="selection" width="55" align="center" />
      <el-table-column label=" è‡ªå¢žID " align="center" prop="topicid" />
      <el-table-column label=" è€ç‰ˆæœ¬ID " align="center" prop="oldid" />
      <el-table-column label=" é—®å·ID " align="center" prop="svyid" />
      <el-table-column label=" é¢˜ç›®ç±»åž‹;枚举 1.单选 2多选 3填空 " align="center" prop="topictype" />
      <el-table-column label=" é¢˜ç›®Code " align="center" prop="topiccode" />
      <el-table-column label=" é¢˜ç›® " align="center" prop="topic" />
      <el-table-column label=" æŽ’序 " align="center" prop="sort" />
      <el-table-column label=" æ˜¯å¦å¿…å¡« " align="center" prop="ismandatory" />
      <el-table-column label=" æ˜¯å¦éšè— " align="center" prop="ishide" />
      <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="['system:snytopic:edit']"
          >修改</el-button>
          <el-button
            size="mini"
            type="text"
            icon="el-icon-delete"
            @click="handleDelete(scope.row)"
            v-hasPermi="['system:snytopic: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="oldid">
          <el-input v-model="form.oldid" placeholder="请输入 è€ç‰ˆæœ¬ID " />
        </el-form-item>
        <el-form-item label=" é—®å·ID " prop="svyid">
          <el-input v-model="form.svyid" placeholder="请输入 é—®å·ID " />
        </el-form-item>
        <el-form-item label=" é¢˜ç›®Code " prop="topiccode">
          <el-input v-model="form.topiccode" placeholder="请输入 é¢˜ç›®Code " />
        </el-form-item>
        <el-form-item label=" é¢˜ç›® " prop="topic">
          <el-input v-model="form.topic" type="textarea" placeholder="请输入内容" />
        </el-form-item>
        <el-form-item label=" æŽ’序 " prop="sort">
          <el-input v-model="form.sort" placeholder="请输入 æŽ’序 " />
        </el-form-item>
        <el-form-item label=" æ˜¯å¦å¿…å¡« " prop="ismandatory">
          <el-input v-model="form.ismandatory" placeholder="请输入 æ˜¯å¦å¿…å¡« " />
        </el-form-item>
        <el-form-item label=" æ˜¯å¦éšè— " prop="ishide">
          <el-input v-model="form.ishide" placeholder="请输入 æ˜¯å¦éšè— " />
        </el-form-item>
        <el-form-item label=" åˆ é™¤æ ‡è®° " prop="delFlag">
          <el-input v-model="form.delFlag" 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="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 { listSnytopic, getSnytopic, delSnytopic, addSnytopic, updateSnytopic } from "@/api/system/snytopic";
export default {
  name: "Snytopic",
  data() {
    return {
      // é®ç½©å±‚
      loading: true,
      // é€‰ä¸­æ•°ç»„
      ids: [],
      // éžå•个禁用
      single: true,
      // éžå¤šä¸ªç¦ç”¨
      multiple: true,
      // æ˜¾ç¤ºæœç´¢æ¡ä»¶
      showSearch: true,
      // æ€»æ¡æ•°
      total: 0,
      // é—®å·é¢˜ç›®è¡¨æ ¼æ•°æ®
      snytopicList: [],
      // å¼¹å‡ºå±‚标题
      title: "",
      // æ˜¯å¦æ˜¾ç¤ºå¼¹å‡ºå±‚
      open: false,
      // æŸ¥è¯¢å‚æ•°
      queryParams: {
        pageNum: 1,
        pageSize: 10,
        oldid: null,
        svyid: null,
        topictype: null,
        topiccode: null,
        topic: null,
        sort: null,
        ismandatory: null,
        ishide: 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;
      listSnytopic(this.queryParams).then(response => {
        this.snytopicList = response.rows;
        this.total = response.total;
        this.loading = false;
      });
    },
    // å–消按钮
    cancel() {
      this.open = false;
      this.reset();
    },
    // è¡¨å•重置
    reset() {
      this.form = {
        topicid: null,
        oldid: null,
        svyid: null,
        topictype: null,
        topiccode: null,
        topic: null,
        sort: null,
        ismandatory: null,
        ishide: null,
        delFlag: null,
        orgid: 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.topicid)
      this.single = selection.length!==1
      this.multiple = !selection.length
    },
    /** æ–°å¢žæŒ‰é’®æ“ä½œ */
    handleAdd() {
      this.reset();
      this.open = true;
      this.title = "添加问卷题目";
    },
    /** ä¿®æ”¹æŒ‰é’®æ“ä½œ */
    handleUpdate(row) {
      this.reset();
      const topicid = row.topicid || this.ids
      getSnytopic(topicid).then(response => {
        this.form = response.data;
        this.open = true;
        this.title = "修改问卷题目";
      });
    },
    /** æäº¤æŒ‰é’® */
    submitForm() {
      this.$refs["form"].validate(valid => {
        if (valid) {
          if (this.form.topicid != null) {
            updateSnytopic(this.form).then(response => {
              this.$modal.msgSuccess("修改成功");
              this.open = false;
              this.getList();
            });
          } else {
            addSnytopic(this.form).then(response => {
              this.$modal.msgSuccess("新增成功");
              this.open = false;
              this.getList();
            });
          }
        }
      });
    },
    /** åˆ é™¤æŒ‰é’®æ“ä½œ */
    handleDelete(row) {
      const topicids = row.topicid || this.ids;
      this.$modal.confirm('是否确认删除问卷题目编号为"' + topicids + '"的数据项?').then(function() {
        return delSnytopic(topicids);
      }).then(() => {
        this.getList();
        this.$modal.msgSuccess("删除成功");
      }).catch(() => {});
    },
    /** å¯¼å‡ºæŒ‰é’®æ“ä½œ */
    handleExport() {
      this.download('system/snytopic/export', {
        ...this.queryParams
      }, `snytopic_${new Date().getTime()}.xlsx`)
    }
  }
};
</script>