qianxj
2023-03-13 110790e8fd9d0321b1abd8d9edb783e406f085ba
update patarchive
已添加9个文件
已修改5个文件
1113 ■■■■■ 文件已修改
ruoyi-ui/bin/run-web.bat 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-ui/package.json 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-ui/src/smartor/components/dataview/xformview/xformview.vue 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-ui/src/smartor/components/dataview/xgridview/xgridview.vue 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-ui/src/smartor/dataobject/dw_patarchive_base.vue 204 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-ui/src/smartor/dataobject/dw_patarchive_list.vue 111 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-ui/src/smartor/dataobject/dw_patinhosp_base.vue 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-ui/src/smartor/dataobject/dw_patinhosp_list.vue 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-ui/src/smartor/dataobject/dw_patouthosp_base.vue 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-ui/src/smartor/dataobject/dw_patouthosp_list.vue 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-ui/src/views/login.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-ui/src/views/smartor/ivrquestionlib/QuestionMaint.vue 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-ui/src/views/smartor/patarchive/index.vue 355 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-ui/src/views/smartor/patarchive/index0.vue 350 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-ui/bin/run-web.bat
@@ -8,6 +8,6 @@
cd ..
path %path%;f:/nodejs
npm run dev
npm run dev --registry=http://registry.npm.taobao.org
pause
ruoyi-ui/package.json
@@ -53,6 +53,7 @@
    "screenfull": "5.0.2",
    "sortablejs": "1.10.2",
    "vue": "2.6.12",
    "vue-cli": "^2.9.6",
    "vue-count-to": "1.0.13",
    "vue-cropper": "0.5.5",
    "vue-meta": "2.4.0",
ruoyi-ui/src/smartor/components/dataview/xformview/xformview.vue
ruoyi-ui/src/smartor/components/dataview/xgridview/xgridview.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,13 @@
<template>
    <dataobject/>
</template>
<script>
data
{
    dwname:"dw_patarchive_list"
}
components
{
    dataobject: ()=>import("@smartor/dataobject/"+dwname+".vue")
}
</script>
ruoyi-ui/src/smartor/dataobject/dw_patarchive_base.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,204 @@
<template>
  <div>
<!--el-dialog :title="title" :visible.sync="open" :showclose="true" :close-on-click-modal="false" :inline="true" width="1000px"  append-to-body-->
      <el-form ref="form" :model="form" :rules="rules" label-width="120px">
        <el-row>
          <el-col :span="12"><el-form-item label=" å§“名 " prop="name">
              <el-input v-model="form.name" placeholder="请输入 å§“名 " />
            </el-form-item></el-col>
          <el-col :span="12"><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-col>
        </el-row>
        <el-row>
          <el-col :span="12"><el-form-item label=" è¯ä»¶å·ç  " prop="iccardno">
              <el-input v-model="form.iccardno" placeholder="请输入 è¯ä»¶å·ç  " />
            </el-form-item></el-col>
          <el-col :span="12"><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-col>
        </el-row>
        <el-row>
          <el-col :span="12"><el-form-item label=" å¹´é¾„ " prop="age">
              <el-input v-model="form.age" placeholder="请输入 å¹´é¾„ " />
            </el-form-item></el-col>
          <el-col :span="12"><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-col>
        </el-row>
        <el-row>
          <el-col :span="12"><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-col>
          <el-col :span="12"><el-form-item label=" å»ºæ¡£äºº " prop="archiveby">
              <el-input v-model="form.archiveby" placeholder="请输入 å»ºæ¡£äºº " />
            </el-form-item></el-col>
        </el-row>
        <el-row>
          <el-col :span="12"> <el-form-item label=" æ‰‹æœºå·ç  " prop="telcode">
              <el-input v-model="form.telcode" placeholder="请输入 æ‰‹æœºå·ç  " />
            </el-form-item></el-col>
          <el-col :span="12"><el-form-item label=" äº²å±žå·ç  " prop="relativetelcode">
              <el-input v-model="form.relativetelcode" placeholder="请输入 äº²å±žå·ç  " />
            </el-form-item></el-col>
        </el-row>
        <el-row>
          <el-col :span="12"><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-form-item label=" å¾®ä¿¡openid " prop="openid">
                    <el-input v-model="form.openid" placeholder="请输入 å¾®ä¿¡openid " />
                  </el-form-item></el-option>
              </el-select>
            </el-form-item></el-col>
          <el-col :span="12"><el-form-item label=" åˆ é™¤æ ‡è®° " prop="delFlag">
              <el-input v-model="form.delFlag" placeholder="请输入 åˆ é™¤æ ‡è®° " />
            </el-form-item></el-col>
        </el-row>
        <el-row>
          <el-col :span="12"><el-form-item label=" ä¸Šä¼ æ ‡è®° " prop="isupload">
              <el-input v-model="form.isupload" placeholder="请输入 ä¸Šä¼ æ ‡è®° " />
            </el-form-item></el-col>
          <el-col :span="12"><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-col>
        </el-row>
      </el-form>
      <div slot="footer" class="dialog-footer">
        <el-button type="primary" @click="submitForm">保 å­˜</el-button>
        <!--el-button @click="cancel">取 æ¶ˆ</el-button-->
      </div>
    <!--/el-dialog-->
    </div>
</template>
<script>
import { listPatarchive, getPatarchive, delPatarchive, addPatarchive, updatePatarchive } from "@/api/smartor/patarchive";
export default {
    name: "PatarchiveForm",
    dicts: ['sys_user_sex', 'sys_patientfrom'],
    data() {
        return {
        // é®ç½©å±‚
        loading: true,
        // é€‰ä¸­æ•°ç»„
        ids: [],
        // éžå•个禁用
        single: true,
        // éžå¤šä¸ªç¦ç”¨
        multiple: true,
        // æ˜¾ç¤ºæœç´¢æ¡ä»¶
        showSearch: true,
        // æ€»æ¡æ•°
        total: 0,
        // æ‚£è€…档案表格数据
        patarchiveList: [],
        // å¼¹å‡ºå±‚标题
        title: "",
        // æ˜¯å¦æ˜¾ç¤ºå¼¹å‡ºå±‚
        open: true,
        // æŸ¥è¯¢å‚æ•°
        // è¡¨å•参数
        form: {},
        // è¡¨å•校验
        rules: {
            delFlag: [
            { required: true, message: " åˆ é™¤æ ‡è®° ä¸èƒ½ä¸ºç©º", trigger: "blur" }
            ],
            isupload: [
            { required: true, message: " ä¸Šä¼ æ ‡è®° ä¸èƒ½ä¸ºç©º", trigger: "blur" }
            ],
        }
        };
    },
    created() {
        this.getData(1);
    },
    methods: {
          // è¡¨å•重置
      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");
      },
      getData(patid)
      {
        getPatarchive(patid).then(response => {
          this.form = response.data;
          //this.open = true;
          //this.title = "修改患者档案";
        });
      },
       /** æ–°å¢žæŒ‰é’®æ“ä½œ */
      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();
              });
            }
          }
        });
      }
    }
}
</script>
ruoyi-ui/src/smartor/dataobject/dw_patarchive_list.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,111 @@
<template>
    <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>
</template>
<script>
import { listPatarchive, getPatarchive, delPatarchive, addPatarchive, updatePatarchive } from "@/api/smartor/patarchive";
export default {
    name: "PatarchiveList",
    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;
            });
          },
        // å¤šé€‰æ¡†é€‰ä¸­æ•°æ®
        handleSelectionChange(selection) {
            this.ids = selection.map(item => item.patid)
            this.single = selection.length !== 1
            this.multiple = !selection.length
            //alert("selections:"+this.ids[0])
            //this.$parent.selectionChanged(this.ids[0])
        },
    }
}
</script>
ruoyi-ui/src/smartor/dataobject/dw_patinhosp_base.vue
ruoyi-ui/src/smartor/dataobject/dw_patinhosp_list.vue
ruoyi-ui/src/smartor/dataobject/dw_patouthosp_base.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,23 @@
<template>
    <div class="app-container">
      <el-form ref="queryForm" size="small" :inline="true"  label-width="68px">
        <el-form-item label=" åŒ»é™¢åç§° " prop="hospitalname">
          <el-input prop="hospitalname" placeholder="请输入 åŒ»é™¢åç§° " clearable/>
        </el-form-item>
        <el-form-item label=" ç§‘室名称 " prop="deptname">
          <el-input prop="deptname" placeholder="请输入 ç§‘室名称 " clearable  />
        </el-form-item>
        <el-form-item label=" åŒ»ç”Ÿåç§° " prop="drname">
          <el-input prop="drname" placeholder="请输入 åŒ»ç”Ÿåç§° " clearable  />
        </el-form-item>
        <el-form-item label=" å°±è¯Šæ—¥æœŸ " prop="admitdate">
          <el-date-picker clearable prop="admitdate" type="date" value-format="yyyy-MM-dd"
            placeholder="请选择 å°±è¯Šæ—¥æœŸ ">
          </el-date-picker>
        </el-form-item>
        <el-form-item label=" æœºæž„ID " prop="orgid">
          <el-input prop="orgid" placeholder="请输入 æœºæž„ID " clearable  />
        </el-form-item>
     </el-form>
    </div>
</template>
ruoyi-ui/src/smartor/dataobject/dw_patouthosp_list.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,24 @@
<template>
    <el-table  >
      <el-table-column type="selection" width="55" align="center" />
      <el-table-column label=" è‡ªå¢žID " align="center" prop="id" />
      <el-table-column label=" åŒ»é™¢åç§° " align="center" prop="hospitalname" />
      <el-table-column label=" è¯Šæ–­åç§° " align="center" prop="diagname" />
      <el-table-column label=" ç§‘室名称 " align="center" prop="deptname" />
      <el-table-column label=" åŒ»ç”Ÿåç§° " align="center" prop="drname" />
      <el-table-column label=" å°±è¯Šæ—¥æœŸ " align="center" prop="admitdate" width="180">
        <template slot-scope="scope">
        </template>
      </el-table-column>
      <el-table-column label=" æœºæž„ID " align="center" prop="orgid" />
      <!-- æ˜¯å¦ç”Ÿæˆæ–¹æ¡ˆçŠ¶æ€;0未生成 1生成就诊 9无匹配方案  -->
      <el-table-column label=" æ˜¯å¦ç”Ÿæˆæ–¹æ¡ˆ " align="center" prop="schemestatus" />
      <el-table-column label=" æ–¹æ¡ˆçŠ¶æ€æ“ä½œæ—¶é—´ " align="center" prop="schemetime" width="180">
        <template slot-scope="scope">
         </template>
      </el-table-column>
    </el-table>
</template>
<script>
</script>
ruoyi-ui/src/views/login.vue
@@ -46,7 +46,7 @@
          style="width:100%;"
          @click.native.prevent="handleLogin"
        >
          <span v-if="!loading">登 å½•1</span>
          <span v-if="!loading">登 å½•</span>
          <span v-else>登 å½• ä¸­...</span>
        </el-button>
        <div style="float: right;" v-if="register">
ruoyi-ui/src/views/smartor/ivrquestionlib/QuestionMaint.vue
@@ -1,12 +1,14 @@
<template>
    <div>
      <div is='dw_1'/>
      <div is='dw_3'/>
      <el-card class="box-card">
        <div style="height:27pt;margin:4pt;color1:blue">{{ question.subject }}</div>
        <span v-for="(item,index) in question.items" :key="index" :inline="true">
          <el-radio v-model="radio" :label="index">
            <div class="box-redio-span"> {{item.label}}</div> </el-radio>
          <el-input :inline="true" v-if="item.input"  class="box1-input-inline"
          <el-input :id="'xxx'+index" :inline="true" label.width="0px" v-if="item.input" style="display:inline"
              :placeholder="item.placeholder"
              v-model="item.content">
          </el-input>
@@ -19,19 +21,20 @@
            <el-button>&gt;</el-button>
        </div>
      </div>
</template>
<style>
  .box1-input-inline
  input.el-input__inner
  {
    display:inline;
    width:120pt;
    margin-right: 12pt;
  }
  .box-redio-span
  {
    display: inline-block;
    width:80pt;
    padding-right:24pt ;
    padding-right:12pt ;
  }
  .box-card {
    margin: 16px;
@@ -44,20 +47,25 @@
  name: "IvrQuestionMaint",
  data() {
    return {
      //dw_2:null,
      radio:0,
      question:{
        subject:"Element如何解决v-for和v-if不能在一个标签上使用",
        items:[
          {index:1,single:true,label:"血压",input:true,content:"--111--",placeholder:"请输入具体数据1"},
          {index:2,single:true,label:"xxxx2"},
          {index:3,single:false,label:"xxxx3",input1:true,content:"--222--",placeholder:"请输入具体数据2"},
          {index:4,single:false,label:"xxxx4"}
          {index:4,single:false,label:"xxxx4"},
          {index:1,single:true,label:"其他",input:true,content:"",placeholder:"请输入具体数据"},
      ]
      }
      },
      comps: ['dw_2'],
      apps: []
     };
  },
  created() {
  components:
  {
    dw_1: ()=>import("@/smartor/dataobject/dw_patarchive_list.vue"),
    dw_3: ()=>import("@/smartor/dataobject/dw_patarchive_list.vue"),
  },
  methods: {
     /** åˆ é™¤æŒ‰é’®æ“ä½œ */
ruoyi-ui/src/views/smartor/patarchive/index.vue
@@ -1,350 +1,35 @@
<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" :showclose="true" :close-on-click-modal="false" :inline="true" width="1000px"  append-to-body>
      <el-form ref="form" :model="form" :rules="rules" label-width="120px">
        <el-row>
          <el-col :span="12"><el-form-item label=" å§“名 " prop="name">
              <el-input v-model="form.name" placeholder="请输入 å§“名 " />
            </el-form-item></el-col>
          <el-col :span="12"><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-col>
        </el-row>
        <el-row>
          <el-col :span="12"><el-form-item label=" è¯ä»¶å·ç  " prop="iccardno">
              <el-input v-model="form.iccardno" placeholder="请输入 è¯ä»¶å·ç  " />
            </el-form-item></el-col>
          <el-col :span="12"><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-col>
        </el-row>
        <el-row>
          <el-col :span="12"><el-form-item label=" å¹´é¾„ " prop="age">
              <el-input v-model="form.age" placeholder="请输入 å¹´é¾„ " />
            </el-form-item></el-col>
          <el-col :span="12"><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-col>
        </el-row>
        <el-row>
          <el-col :span="12"><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-col>
          <el-col :span="12"><el-form-item label=" å»ºæ¡£äºº " prop="archiveby">
              <el-input v-model="form.archiveby" placeholder="请输入 å»ºæ¡£äºº " />
            </el-form-item></el-col>
        </el-row>
        <el-row>
          <el-col :span="12"> <el-form-item label=" æ‰‹æœºå·ç  " prop="telcode">
              <el-input v-model="form.telcode" placeholder="请输入 æ‰‹æœºå·ç  " />
            </el-form-item></el-col>
          <el-col :span="12"><el-form-item label=" äº²å±žå·ç  " prop="relativetelcode">
              <el-input v-model="form.relativetelcode" placeholder="请输入 äº²å±žå·ç  " />
            </el-form-item></el-col>
        </el-row>
        <el-row>
          <el-col :span="12"><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-form-item label=" å¾®ä¿¡openid " prop="openid">
                    <el-input v-model="form.openid" placeholder="请输入 å¾®ä¿¡openid " />
                  </el-form-item></el-option>
              </el-select>
            </el-form-item></el-col>
          <el-col :span="12"><el-form-item label=" åˆ é™¤æ ‡è®° " prop="delFlag">
              <el-input v-model="form.delFlag" placeholder="请输入 åˆ é™¤æ ‡è®° " />
            </el-form-item></el-col>
        </el-row>
        <el-row>
          <el-col :span="12"><el-form-item label=" ä¸Šä¼ æ ‡è®° " prop="isupload">
              <el-input v-model="form.isupload" placeholder="请输入 ä¸Šä¼ æ ‡è®° " />
            </el-form-item></el-col>
          <el-col :span="12"><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-col>
        </el-row>
      </el-form>
      <div slot="footer" class="dialog-footer">
        <el-button type="primary" @click="submitForm">ç¡® å®š</el-button>
        <el-button @click="cancel">取 æ¶ˆ</el-button>
      </div>
    </el-dialog>
        <div is="dw_list" style="height:240pt"/>
        <el-tabs v-model="activeName" >
            <el-tab-pane label="基本信息" name="first"><div is="dw_base"/></el-tab-pane>
            <el-tab-pane label="门诊记录" name="second"><div is="dw_patouthosp"/></el-tab-pane>
            <el-tab-pane label="住院记录" name="third"><div is="dw_4"/></el-tab-pane>
            <el-tab-pane label="体检记录" name="fourth"><div is="dw_5"/></el-tab-pane>
        </el-tabs>
  </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" }
        ],
      }
        activeName: 'first'
    };
    },
    components:
    {
        dw_list: ()=>import("@/smartor/dataobject/dw_patarchive_list.vue"),
        dw_base: ()=>import("@/smartor/dataobject/dw_patarchive_base.vue"),
        dw_patouthosp: ()=>import("@/smartor/dataobject/dw_patouthosp_list.vue"),
        dw_4: ()=>import("@/smartor/dataobject/dw_patarchive_list.vue"),
        dw_5: ()=>import("@/smartor/dataobject/dw_patarchive_list.vue"),
  },
  created() {
    this.getList();
         //dw_list.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();
            });
    selectionChanged(patid)
    {
        console.log("selection:"+patid)
          }
        }
      });
    },
    /** åˆ é™¤æŒ‰é’®æ“ä½œ */
    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/patarchive/index0.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,350 @@
<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" :showclose="true" :close-on-click-modal="false" :inline="true" width="1000px"  append-to-body>
      <el-form ref="form" :model="form" :rules="rules" label-width="120px">
        <el-row>
          <el-col :span="12"><el-form-item label=" å§“名 " prop="name">
              <el-input v-model="form.name" placeholder="请输入 å§“名 " />
            </el-form-item></el-col>
          <el-col :span="12"><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-col>
        </el-row>
        <el-row>
          <el-col :span="12"><el-form-item label=" è¯ä»¶å·ç  " prop="iccardno">
              <el-input v-model="form.iccardno" placeholder="请输入 è¯ä»¶å·ç  " />
            </el-form-item></el-col>
          <el-col :span="12"><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-col>
        </el-row>
        <el-row>
          <el-col :span="12"><el-form-item label=" å¹´é¾„ " prop="age">
              <el-input v-model="form.age" placeholder="请输入 å¹´é¾„ " />
            </el-form-item></el-col>
          <el-col :span="12"><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-col>
        </el-row>
        <el-row>
          <el-col :span="12"><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-col>
          <el-col :span="12"><el-form-item label=" å»ºæ¡£äºº " prop="archiveby">
              <el-input v-model="form.archiveby" placeholder="请输入 å»ºæ¡£äºº " />
            </el-form-item></el-col>
        </el-row>
        <el-row>
          <el-col :span="12"> <el-form-item label=" æ‰‹æœºå·ç  " prop="telcode">
              <el-input v-model="form.telcode" placeholder="请输入 æ‰‹æœºå·ç  " />
            </el-form-item></el-col>
          <el-col :span="12"><el-form-item label=" äº²å±žå·ç  " prop="relativetelcode">
              <el-input v-model="form.relativetelcode" placeholder="请输入 äº²å±žå·ç  " />
            </el-form-item></el-col>
        </el-row>
        <el-row>
          <el-col :span="12"><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-form-item label=" å¾®ä¿¡openid " prop="openid">
                    <el-input v-model="form.openid" placeholder="请输入 å¾®ä¿¡openid " />
                  </el-form-item></el-option>
              </el-select>
            </el-form-item></el-col>
          <el-col :span="12"><el-form-item label=" åˆ é™¤æ ‡è®° " prop="delFlag">
              <el-input v-model="form.delFlag" placeholder="请输入 åˆ é™¤æ ‡è®° " />
            </el-form-item></el-col>
        </el-row>
        <el-row>
          <el-col :span="12"><el-form-item label=" ä¸Šä¼ æ ‡è®° " prop="isupload">
              <el-input v-model="form.isupload" placeholder="请输入 ä¸Šä¼ æ ‡è®° " />
            </el-form-item></el-col>
          <el-col :span="12"><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-col>
        </el-row>
      </el-form>
      <div slot="footer" class="dialog-footer">
        <el-button type="primary" @click="submitForm">ç¡® å®š</el-button>
        <el-button @click="cancel">取 æ¶ˆ</el-button>
      </div>
    </el-dialog>
  </div>
</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>