攻心小虫 1 тиждень тому
батько
коміт
068923e7d0

+ 11 - 0
src/api/sample/samplePatient.js

@@ -42,3 +42,14 @@ export function delSamplePatient(id) {
     method: 'delete'
   })
 }
+// 导入病原体管理
+export function importSamplePatient(data) {
+  return request({
+    url: '/sample/samplePatient/importData',
+    method: 'post',
+    data: data,
+    headers: {
+      'Content-Type': 'multipart/form-data'
+    }
+  })
+}

BIN
src/assets/images/login-background.jpg


BIN
src/assets/images/pay.png


BIN
src/assets/images/profile.jpg


+ 1 - 7
src/store/modules/user.js

@@ -1,7 +1,5 @@
 import { login, logout, getInfo } from '@/api/login'
 import { getToken, setToken, removeToken } from '@/utils/auth'
-import { isHttp, isEmpty } from "@/utils/validate"
-import defAva from '@/assets/images/profile.jpg'
 
 const user = {
   state: {
@@ -61,10 +59,7 @@ const user = {
       return new Promise((resolve, reject) => {
         getInfo().then(res => {
           const user = res.user
-          let avatar = user.avatar || ""
-          if (!isHttp(avatar)) {
-            avatar = (isEmpty(avatar)) ? defAva : process.env.VUE_APP_BASE_API + avatar
-          }
+         
           if (res.roles && res.roles.length > 0) { // 验证返回的roles是否是一个非空数组
             commit('SET_ROLES', res.roles)
             commit('SET_PERMISSIONS', res.permissions)
@@ -74,7 +69,6 @@ const user = {
           commit('SET_ID', user.userId)
           commit('SET_NAME', user.userName)
           commit('SET_NICK_NAME', user.nickName)
-          commit('SET_AVATAR', avatar)
           resolve(res)
         }).catch(error => {
           reject(error)

+ 165 - 46
src/views/data/dataBase/byt.vue

@@ -48,6 +48,15 @@
     </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"
+        >新增</el-button>
+      </el-col>
       <el-col :span="1.5">
         <el-button
           type="warning"
@@ -106,7 +115,7 @@
             type="text"
             @click="handleUpdate(scope.row)"
             v-hasPermi="['data:dataReportByt:edit']"
-          >查看</el-button>
+          >编辑</el-button>
           <el-button
             size="mini"
             type="text"
@@ -128,46 +137,123 @@
     <!-- 添加或修改病原体管理对话框 -->
     <el-dialog :title="title" :visible.sync="open" width="800px" append-to-body>
       <el-form ref="form" :model="form" :rules="rules" label-width="140px">
-        <el-form-item label="唯一注册号">{{ form.assemblyAccession }}</el-form-item>
-        <el-form-item label="生物名称">{{ form.organismName }}</el-form-item>
-        <el-form-item label="病源类型">{{ form.group }}</el-form-item>
-        <el-form-item label="子类标签">{{ form.group1 }}</el-form-item>
-        <el-form-item label="中文解释">{{ form.defined }}</el-form-item>
-        <el-form-item label="解释的来源">{{ form.definedSource }}</el-form-item>
-        <el-form-item label="参考基因组类型">{{ form.refseqCategory }}</el-form-item>
-        <el-form-item label="分类号">{{ form.taxid }}</el-form-item>
-        <el-form-item label="种分类号">{{ form.speciesTaxid }}</el-form-item>
-        <el-form-item label="亚种名称">{{ form.infraspecificName }}</el-form-item>
-        <el-form-item label="分类类型">{{ form.isolate }}</el-form-item>
-        <el-form-item label="拼装级别">{{ form.assemblyLevel }}</el-form-item>
-        <el-form-item label="基因组级别">{{ form.genomeRep }}</el-form-item>
-        <el-form-item label="seq_rel_date">{{ form.seqRelDate }}</el-form-item>
-        <el-form-item label="ASM编号">{{ form.asmName }}</el-form-item>
-        <el-form-item label="gbrs_paired_asm">{{ form.gbrs_paired_asm }}</el-form-item>
-        <el-form-item label="paired_asm_comp">{{ form.paired_asm_comp }}</el-form-item>
-        <el-form-item label="ftp_path">{{ form.ftp_path }}</el-form-item>
-        <el-form-item label="excluded_from_refseq">{{ form.excluded_from_refseq }}</el-form-item>        
-        <el-form-item label="装配类型">{{ form.assemblyType }}</el-form-item>
-        <el-form-item label="基因组大小">{{ form.genomeSize }}</el-form-item>
-        <el-form-item label="基因组大小(无缺口)">{{ form.genomeSizeUngapped }}</el-form-item>
-        <el-form-item label="GC比例">{{ form.gcPercent }}</el-form-item>
-        <el-form-item label="replicon_count">{{ form.replicon_count }}</el-form-item>
-        <el-form-item label="scaffold_count">{{ form.scaffold_count }}</el-form-item>
-        <el-form-item label="contig_count">{{ form.contig_count }}</el-form-item>
-        <el-form-item label="总基因数">{{ form.totalGeneCount }}</el-form-item>
-        <el-form-item label="翻译蛋白基因数">{{ form.proteinCodingGeneCount }}</el-form-item>
-        <el-form-item label="非编码基因数">{{ form.nonCodingGeneCount }}</el-form-item>
-        <el-form-item label="毒力基因">{{ form.dljy }}</el-form-item>
-        <el-form-item label="毒力基因解释">{{ form.dljyExpress }}</el-form-item>
-        <el-form-item label="毒力基因解释来源">{{ form.dljySource }}</el-form-item>
-        <el-form-item label="耐药基因">{{ form.nyjy }}</el-form-item>
-        <el-form-item label="耐药基因解释">{{ form.nyjyExpress }}</el-form-item>
-        <el-form-item label="耐药基因解释来源">{{ form.nyjySource }}</el-form-item>
-        <el-form-item label="点突变">{{ form.dtpnyjy }}</el-form-item>
-        <el-form-item label="点突变解释">{{ form.dtpnyjyExpress }}</el-form-item>
-        <el-form-item label="点突变解释来源">{{ form.dtpnyjySource }}</el-form-item>
+        <el-form-item label="唯一注册号" prop="assemblyAccession">
+           <el-input v-model="form.assemblyAccession" :disabled="disabledAssemblyAccession" placeholder="请输入唯一注册号" />
+        </el-form-item>
+        <el-form-item label="生物名称" prop="organismName">
+           <el-input v-model="form.organismName" placeholder="请输入生物名称" />
+        </el-form-item>
+        <el-form-item label="病源类型" prop="group">
+          <el-input v-model="form.group" placeholder="请输入病源类型" />
+        </el-form-item>
+        <el-form-item label="子类标签" prop="group1">
+          <el-input v-model="form.group1" placeholder="请输入子类标签" />
+        </el-form-item>
+        <el-form-item label="中文解释" prop="defined">
+          <el-input type="textarea" v-model="form.defined" placeholder="请输入中文解释" />
+        </el-form-item>
+        <el-form-item label="解释的来源" prop="definedSource">
+          <el-input v-model="form.definedSource" placeholder="请输入解释的来源" />
+        </el-form-item>
+        <el-form-item label="参考基因组类型" prop="refseqCategory">
+          <el-input v-model="form.refseqCategory" placeholder="请输入参考基因组类型" />
+        </el-form-item>
+        <el-form-item label="分类号" prop="taxid">
+          <el-input v-model="form.taxid" placeholder="请输入分类号" />
+        </el-form-item>
+        <el-form-item label="种分类号" prop="speciesTaxid">
+          <el-input v-model="form.speciesTaxid" placeholder="请输入种分类号" />
+        </el-form-item>
+        <el-form-item label="亚种名称" prop="infraspecificName">
+          <el-input v-model="form.infraspecificName" placeholder="请输入亚种名称" />
+        </el-form-item>
+        <el-form-item label="分类类型" prop="isolate">
+          <el-input v-model="form.isolate" placeholder="请输入分类类型" />
+        </el-form-item>
+        <el-form-item label="拼装级别" prop="assemblyLevel">
+          <el-input v-model="form.assemblyLevel" placeholder="请输入拼装级别" />
+        </el-form-item>
+        <el-form-item label="基因组级别" prop="genomeRep">
+          <el-input v-model="form.genomeRep" placeholder="请输入基因组级别" />
+        </el-form-item>
+        <el-form-item label="seq_rel_date" prop="seqRelDate">
+          <el-input v-model="form.seqRelDate" placeholder="请输入seq_rel_date" />
+        </el-form-item>
+        <el-form-item label="ASM编号" prop="asmName">
+          <el-input v-model="form.asmName" placeholder="请输入ASM编号" />
+        </el-form-item>
+        <el-form-item label="gbrs_paired_asm" prop="gbrs_paired_asm">
+          <el-input v-model="form.gbrs_paired_asm" placeholder="请输入gbrs_paired_asm" />
+        </el-form-item>
+        <el-form-item label="paired_asm_comp" prop="paired_asm_comp">
+          <el-input v-model="form.paired_asm_comp" placeholder="请输入paired_asm_comp" />
+        </el-form-item>
+        <el-form-item label="ftp_path" prop="ftp_path">
+          <el-input v-model="form.ftp_path" placeholder="请输入ftp_path" />
+        </el-form-item>
+        <el-form-item label="excluded_from_refseq" prop="excluded_from_refseq">
+          <el-input v-model="form.excluded_from_refseq" placeholder="请输入excluded_from_refseq" />
+        </el-form-item>        
+        <el-form-item label="装配类型" prop="assemblyType">
+          <el-input v-model="form.assemblyType" placeholder="请输入装配类型" />
+        </el-form-item>
+        <el-form-item label="基因组大小" prop="genomeSize">
+          <el-input v-model="form.genomeSize" placeholder="请输入基因组大小" />
+        </el-form-item>
+        <el-form-item label="基因组大小(无缺口)" prop="genomeSizeUngapped">
+          <el-input v-model="form.genomeSizeUngapped" placeholder="请输入基因组大小(无缺口)" />
+        </el-form-item>
+        <el-form-item label="GC比例" prop="gcPercent">
+          <el-input v-model="form.gcPercent" placeholder="请输入GC比例" />
+        </el-form-item>
+        <el-form-item label="replicon_count" prop="replicon_count">
+          <el-input v-model="form.replicon_count" placeholder="请输入replicon_count" />
+        </el-form-item>
+        <el-form-item label="scaffold_count" prop="scaffold_count">
+          <el-input v-model="form.scaffold_count" placeholder="请输入scaffold_count" />
+        </el-form-item>
+        <el-form-item label="contig_count" prop="contig_count">
+          <el-input v-model="form.contig_count" placeholder="请输入contig_count" />
+        </el-form-item>
+        <el-form-item label="总基因数" prop="totalGeneCount">
+          <el-input v-model="form.totalGeneCount" placeholder="请输入总基因数" />
+        </el-form-item>
+        <el-form-item label="翻译蛋白基因数" prop="proteinCodingGeneCount">
+          <el-input v-model="form.proteinCodingGeneCount" placeholder="请输入翻译蛋白基因数" />
+        </el-form-item>
+        <el-form-item label="非编码基因数" prop="nonCodingGeneCount">
+          <el-input v-model="form.nonCodingGeneCount" placeholder="请输入非编码基因数" />
+        </el-form-item>
+        <el-form-item label="毒力基因" prop="dljy">
+          <el-input v-model="form.dljy" placeholder="请输入毒力基因" />
+        </el-form-item>
+        <el-form-item label="毒力基因解释" prop="dljyExpress">
+          <el-input v-model="form.dljyExpress" placeholder="请输入毒力基因解释" />
+        </el-form-item>
+        <el-form-item label="毒力基因解释来源" prop="dljySource">
+          <el-input v-model="form.dljySource" placeholder="请输入毒力基因解释来源" />
+        </el-form-item>
+        <el-form-item label="耐药基因" prop="nyjy">
+          <el-input v-model="form.nyjy" placeholder="请输入耐药基因" />
+        </el-form-item>
+        <el-form-item label="耐药基因解释" prop="nyjyExpress">
+          <el-input v-model="form.nyjyExpress" placeholder="请输入耐药基因解释" />
+        </el-form-item>
+        <el-form-item label="耐药基因解释来源" prop="nyjySource">
+          <el-input v-model="form.nyjySource" placeholder="请输入耐药基因解释来源" />
+        </el-form-item>
+        <el-form-item label="点突变" prop="dtpnyjy">
+          <el-input v-model="form.dtpnyjy" placeholder="请输入点突变" />
+        </el-form-item>
+        <el-form-item label="点突变解释" prop="dtpnyjyExpress">
+          <el-input v-model="form.dtpnyjyExpress" placeholder="请输入点突变解释" />
+        </el-form-item>
+        <el-form-item label="点突变解释来源" prop="dtpnyjySource">
+          <el-input v-model="form.dtpnyjySource" placeholder="请输入点突变解释来源" />
+        </el-form-item>
       </el-form>
       <div slot="footer" class="dialog-footer">
+        <el-button type="primary" @click="submitForm">确 定</el-button>
         <el-button @click="cancel">取 消</el-button>
       </div>
     </el-dialog>
@@ -220,6 +306,7 @@ export default {
       },
       upload_file: "",
       lists: [],
+      disabledAssemblyAccession:false
     }
   },
   created() {
@@ -354,6 +441,44 @@ importDataBase(formData).then(response => {
       this.single = selection.length!==1
       this.multiple = !selection.length
     },
+    /** 新增按钮操作 */
+    handleAdd() {
+      this.reset()
+      this.open = true
+      this.disabledAssemblyAccession = false
+      this.title = "添加病原体信息"
+    },
+    /** 修改按钮操作 */
+    handleUpdate(row) {
+      this.reset()
+      const id = row.assemblyAccession
+      this.disabledAssemblyAccession = true;
+      getDataBase(id).then(response => {
+        this.form = response.data
+        this.open = true
+        this.title = "修改病原体信息"
+      })
+    },
+    /** 提交按钮 */
+    submitForm() {
+      this.$refs["form"].validate(valid => {
+        if (valid) {
+          if (this.form.assemblyAccession != null) {
+            updateDataBase(this.form).then(response => {
+              this.$modal.msgSuccess("修改成功")
+              this.open = false
+              this.getList()
+            })
+          } else {
+            addDataBase(this.form).then(response => {
+              this.$modal.msgSuccess("新增成功")
+              this.open = false
+              this.getList()
+            })
+          }
+        }
+      })
+    },
     /** 删除按钮操作 */
     handleDelete(row) {
       const ids = row.assemblyAccession || this.ids
@@ -363,13 +488,7 @@ importDataBase(formData).then(response => {
         this.getList()
         this.$modal.msgSuccess("删除成功")
       }).catch(() => {})
-    },
-    handleUpdate(row) {
-      this.reset()
-      this.form = row
-      this.open = true
-      this.title = "查看病原体信息"
-    },
+    }
   }
 }
 </script>

+ 144 - 36
src/views/data/dataBase/dljy.vue

@@ -72,6 +72,15 @@
     </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"
+        >新增</el-button>
+      </el-col>
       <el-col :span="1.5">
         <el-button
           type="warning"
@@ -130,7 +139,7 @@
             type="text"
             @click="handleUpdate(scope.row)"
             v-hasPermi="['data:dataReportByt:edit']"
-          >查看</el-button>
+          >编辑</el-button>
           <el-button
             size="mini"
             type="text"
@@ -149,43 +158,109 @@
       @pagination="getList"
     />
 
+    <!-- 添加或修改病原体管理对话框 -->
     <!-- 添加或修改病原体管理对话框 -->
     <el-dialog :title="title" :visible.sync="open" width="800px" append-to-body>
       <el-form ref="form" :model="form" :rules="rules" label-width="140px">
-        <el-form-item label="唯一注册号">{{ form.assemblyAccession }}</el-form-item>
-        <el-form-item label="生物名称">{{ form.organismName }}</el-form-item>
-        <el-form-item label="病源类型">{{ form.group }}</el-form-item>
-        <el-form-item label="子类标签">{{ form.group1 }}</el-form-item>
-        <el-form-item label="中文解释">{{ form.defined }}</el-form-item>
-        <el-form-item label="解释的来源">{{ form.definedSource }}</el-form-item>
-        <el-form-item label="参考基因组类型">{{ form.refseqCategory }}</el-form-item>
-        <el-form-item label="分类号">{{ form.taxid }}</el-form-item>
-        <el-form-item label="种分类号">{{ form.speciesTaxid }}</el-form-item>
-        <el-form-item label="亚种名称">{{ form.infraspecificName }}</el-form-item>
-        <el-form-item label="分类类型">{{ form.isolate }}</el-form-item>
-        <el-form-item label="拼装级别">{{ form.assemblyLevel }}</el-form-item>
-        <el-form-item label="基因组级别">{{ form.genomeRep }}</el-form-item>
-        <el-form-item label="seq_rel_date">{{ form.seqRelDate }}</el-form-item>
-        <el-form-item label="ASM编号">{{ form.asmName }}</el-form-item>
-        <el-form-item label="gbrs_paired_asm">{{ form.gbrs_paired_asm }}</el-form-item>
-        <el-form-item label="paired_asm_comp">{{ form.paired_asm_comp }}</el-form-item>
-        <el-form-item label="ftp_path">{{ form.ftp_path }}</el-form-item>
-        <el-form-item label="excluded_from_refseq">{{ form.excluded_from_refseq }}</el-form-item>        
-        <el-form-item label="装配类型">{{ form.assemblyType }}</el-form-item>
-        <el-form-item label="基因组大小">{{ form.genomeSize }}</el-form-item>
-        <el-form-item label="基因组大小(无缺口)">{{ form.genomeSizeUngapped }}</el-form-item>
-        <el-form-item label="GC比例">{{ form.gcPercent }}</el-form-item>
-        <el-form-item label="replicon_count">{{ form.replicon_count }}</el-form-item>
-        <el-form-item label="scaffold_count">{{ form.scaffold_count }}</el-form-item>
-        <el-form-item label="contig_count">{{ form.contig_count }}</el-form-item>
-        <el-form-item label="总基因数">{{ form.totalGeneCount }}</el-form-item>
-        <el-form-item label="翻译蛋白基因数">{{ form.proteinCodingGeneCount }}</el-form-item>
-        <el-form-item label="非编码基因数">{{ form.nonCodingGeneCount }}</el-form-item>
-        <el-form-item label="毒力基因">{{ form.dljy }}</el-form-item>
-        <el-form-item label="毒力基因解释">{{ form.dljyExpress }}</el-form-item>
-        <el-form-item label="毒力基因解释来源">{{ form.dljySource }}</el-form-item>
+        <el-form-item label="唯一注册号" prop="assemblyAccession">
+           <el-input v-model="form.assemblyAccession" :disabled="disabledAssemblyAccession" placeholder="请输入唯一注册号" />
+        </el-form-item>
+        <el-form-item label="生物名称" prop="organismName">
+           <el-input v-model="form.organismName" placeholder="请输入生物名称" />
+        </el-form-item>
+        <el-form-item label="病源类型" prop="group">
+          <el-input v-model="form.group" placeholder="请输入病源类型" />
+        </el-form-item>
+        <el-form-item label="子类标签" prop="group1">
+          <el-input v-model="form.group1" placeholder="请输入子类标签" />
+        </el-form-item>
+        <el-form-item label="中文解释" prop="defined">
+          <el-input type="textarea" v-model="form.defined" placeholder="请输入中文解释" />
+        </el-form-item>
+        <el-form-item label="解释的来源" prop="definedSource">
+          <el-input v-model="form.definedSource" placeholder="请输入解释的来源" />
+        </el-form-item>
+        <el-form-item label="参考基因组类型" prop="refseqCategory">
+          <el-input v-model="form.refseqCategory" placeholder="请输入参考基因组类型" />
+        </el-form-item>
+        <el-form-item label="分类号" prop="taxid">
+          <el-input v-model="form.taxid" placeholder="请输入分类号" />
+        </el-form-item>
+        <el-form-item label="种分类号" prop="speciesTaxid">
+          <el-input v-model="form.speciesTaxid" placeholder="请输入种分类号" />
+        </el-form-item>
+        <el-form-item label="亚种名称" prop="infraspecificName">
+          <el-input v-model="form.infraspecificName" placeholder="请输入亚种名称" />
+        </el-form-item>
+        <el-form-item label="分类类型" prop="isolate">
+          <el-input v-model="form.isolate" placeholder="请输入分类类型" />
+        </el-form-item>
+        <el-form-item label="拼装级别" prop="assemblyLevel">
+          <el-input v-model="form.assemblyLevel" placeholder="请输入拼装级别" />
+        </el-form-item>
+        <el-form-item label="基因组级别" prop="genomeRep">
+          <el-input v-model="form.genomeRep" placeholder="请输入基因组级别" />
+        </el-form-item>
+        <el-form-item label="seq_rel_date" prop="seqRelDate">
+          <el-input v-model="form.seqRelDate" placeholder="请输入seq_rel_date" />
+        </el-form-item>
+        <el-form-item label="ASM编号" prop="asmName">
+          <el-input v-model="form.asmName" placeholder="请输入ASM编号" />
+        </el-form-item>
+        <el-form-item label="gbrs_paired_asm" prop="gbrs_paired_asm">
+          <el-input v-model="form.gbrs_paired_asm" placeholder="请输入gbrs_paired_asm" />
+        </el-form-item>
+        <el-form-item label="paired_asm_comp" prop="paired_asm_comp">
+          <el-input v-model="form.paired_asm_comp" placeholder="请输入paired_asm_comp" />
+        </el-form-item>
+        <el-form-item label="ftp_path" prop="ftp_path">
+          <el-input v-model="form.ftp_path" placeholder="请输入ftp_path" />
+        </el-form-item>
+        <el-form-item label="excluded_from_refseq" prop="excluded_from_refseq">
+          <el-input v-model="form.excluded_from_refseq" placeholder="请输入excluded_from_refseq" />
+        </el-form-item>        
+        <el-form-item label="装配类型" prop="assemblyType">
+          <el-input v-model="form.assemblyType" placeholder="请输入装配类型" />
+        </el-form-item>
+        <el-form-item label="基因组大小" prop="genomeSize">
+          <el-input v-model="form.genomeSize" placeholder="请输入基因组大小" />
+        </el-form-item>
+        <el-form-item label="基因组大小(无缺口)" prop="genomeSizeUngapped">
+          <el-input v-model="form.genomeSizeUngapped" placeholder="请输入基因组大小(无缺口)" />
+        </el-form-item>
+        <el-form-item label="GC比例" prop="gcPercent">
+          <el-input v-model="form.gcPercent" placeholder="请输入GC比例" />
+        </el-form-item>
+        <el-form-item label="replicon_count" prop="replicon_count">
+          <el-input v-model="form.replicon_count" placeholder="请输入replicon_count" />
+        </el-form-item>
+        <el-form-item label="scaffold_count" prop="scaffold_count">
+          <el-input v-model="form.scaffold_count" placeholder="请输入scaffold_count" />
+        </el-form-item>
+        <el-form-item label="contig_count" prop="contig_count">
+          <el-input v-model="form.contig_count" placeholder="请输入contig_count" />
+        </el-form-item>
+        <el-form-item label="总基因数" prop="totalGeneCount">
+          <el-input v-model="form.totalGeneCount" placeholder="请输入总基因数" />
+        </el-form-item>
+        <el-form-item label="翻译蛋白基因数" prop="proteinCodingGeneCount">
+          <el-input v-model="form.proteinCodingGeneCount" placeholder="请输入翻译蛋白基因数" />
+        </el-form-item>
+        <el-form-item label="非编码基因数" prop="nonCodingGeneCount">
+          <el-input v-model="form.nonCodingGeneCount" placeholder="请输入非编码基因数" />
+        </el-form-item>
+        <el-form-item label="毒力基因" prop="dljy">
+          <el-input v-model="form.dljy" placeholder="请输入毒力基因" />
+        </el-form-item>
+        <el-form-item label="毒力基因解释" prop="dljyExpress">
+          <el-input v-model="form.dljyExpress" placeholder="请输入毒力基因解释" />
+        </el-form-item>
+        <el-form-item label="毒力基因解释来源" prop="dljySource">
+          <el-input v-model="form.dljySource" placeholder="请输入毒力基因解释来源" />
+        </el-form-item>
       </el-form>
       <div slot="footer" class="dialog-footer">
+        <el-button type="primary" @click="submitForm">确 定</el-button>
         <el-button @click="cancel">取 消</el-button>
       </div>
     </el-dialog>
@@ -241,6 +316,7 @@ export default {
       },
       upload_file: "",
       lists: [],
+      disabledAssemblyAccession:false
     }
   },
   created() {
@@ -385,11 +461,43 @@ importDataBase(formData).then(response => {
         this.$modal.msgSuccess("删除成功")
       }).catch(() => {})
     },
-    handleUpdate(row) {
+     /** 新增按钮操作 */
+    handleAdd() {
       this.reset()
-      this.form = row
       this.open = true
-      this.title = "查看毒力基因信息"
+      this.disabledAssemblyAccession = false
+      this.title = "添加病原体信息"
+    },
+    /** 修改按钮操作 */
+    handleUpdate(row) {
+      this.reset()
+      const id = row.assemblyAccession
+      this.disabledAssemblyAccession = true;
+      getDataBase(id).then(response => {
+        this.form = response.data
+        this.open = true
+        this.title = "修改病原体信息"
+      })
+    },
+    /** 提交按钮 */
+    submitForm() {
+      this.$refs["form"].validate(valid => {
+        if (valid) {
+          if (this.form.assemblyAccession != null) {
+            updateDataBase(this.form).then(response => {
+              this.$modal.msgSuccess("修改成功")
+              this.open = false
+              this.getList()
+            })
+          } else {
+            addDataBase(this.form).then(response => {
+              this.$modal.msgSuccess("新增成功")
+              this.open = false
+              this.getList()
+            })
+          }
+        }
+      })
     },
   }
 }

+ 145 - 37
src/views/data/dataBase/dtbnyjy.vue

@@ -72,6 +72,15 @@
     </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"
+        >新增</el-button>
+      </el-col>
       <el-col :span="1.5">
         <el-button
           type="warning"
@@ -130,7 +139,7 @@
             type="text"
             @click="handleUpdate(scope.row)"
             v-hasPermi="['data:dataReportByt:edit']"
-          >查看</el-button>
+          >编辑</el-button>
           <el-button
             size="mini"
             type="text"
@@ -149,48 +158,114 @@
       @pagination="getList"
     />
 
+    <!-- 添加或修改病原体管理对话框 -->
     <!-- 添加或修改病原体管理对话框 -->
     <el-dialog :title="title" :visible.sync="open" width="800px" append-to-body>
       <el-form ref="form" :model="form" :rules="rules" label-width="140px">
-        <el-form-item label="唯一注册号">{{ form.assemblyAccession }}</el-form-item>
-        <el-form-item label="生物名称">{{ form.organismName }}</el-form-item>
-        <el-form-item label="病源类型">{{ form.group }}</el-form-item>
-        <el-form-item label="子类标签">{{ form.group1 }}</el-form-item>
-        <el-form-item label="中文解释">{{ form.defined }}</el-form-item>
-        <el-form-item label="解释的来源">{{ form.definedSource }}</el-form-item>
-        <el-form-item label="参考基因组类型">{{ form.refseqCategory }}</el-form-item>
-        <el-form-item label="分类号">{{ form.taxid }}</el-form-item>
-        <el-form-item label="种分类号">{{ form.speciesTaxid }}</el-form-item>
-        <el-form-item label="亚种名称">{{ form.infraspecificName }}</el-form-item>
-        <el-form-item label="分类类型">{{ form.isolate }}</el-form-item>
-        <el-form-item label="拼装级别">{{ form.assemblyLevel }}</el-form-item>
-        <el-form-item label="基因组级别">{{ form.genomeRep }}</el-form-item>
-        <el-form-item label="seq_rel_date">{{ form.seqRelDate }}</el-form-item>
-        <el-form-item label="ASM编号">{{ form.asmName }}</el-form-item>
-        <el-form-item label="gbrs_paired_asm">{{ form.gbrs_paired_asm }}</el-form-item>
-        <el-form-item label="paired_asm_comp">{{ form.paired_asm_comp }}</el-form-item>
-        <el-form-item label="ftp_path">{{ form.ftp_path }}</el-form-item>
-        <el-form-item label="excluded_from_refseq">{{ form.excluded_from_refseq }}</el-form-item>        
-        <el-form-item label="装配类型">{{ form.assemblyType }}</el-form-item>
-        <el-form-item label="基因组大小">{{ form.genomeSize }}</el-form-item>
-        <el-form-item label="基因组大小(无缺口)">{{ form.genomeSizeUngapped }}</el-form-item>
-        <el-form-item label="GC比例">{{ form.gcPercent }}</el-form-item>
-        <el-form-item label="replicon_count">{{ form.replicon_count }}</el-form-item>
-        <el-form-item label="scaffold_count">{{ form.scaffold_count }}</el-form-item>
-        <el-form-item label="contig_count">{{ form.contig_count }}</el-form-item>
-        <el-form-item label="总基因数">{{ form.totalGeneCount }}</el-form-item>
-        <el-form-item label="翻译蛋白基因数">{{ form.proteinCodingGeneCount }}</el-form-item>
-        <el-form-item label="非编码基因数">{{ form.nonCodingGeneCount }}</el-form-item>
-        <el-form-item label="点突变">{{ form.dtpnyjy }}</el-form-item>
-        <el-form-item label="点突变解释">{{ form.dtpnyjyExpress }}</el-form-item>
-        <el-form-item label="点突变解释来源">{{ form.dtpnyjySource }}</el-form-item>
+        <el-form-item label="唯一注册号" prop="assemblyAccession">
+           <el-input v-model="form.assemblyAccession" :disabled="disabledAssemblyAccession" placeholder="请输入唯一注册号" />
+        </el-form-item>
+        <el-form-item label="生物名称" prop="organismName">
+           <el-input v-model="form.organismName" placeholder="请输入生物名称" />
+        </el-form-item>
+        <el-form-item label="病源类型" prop="group">
+          <el-input v-model="form.group" placeholder="请输入病源类型" />
+        </el-form-item>
+        <el-form-item label="子类标签" prop="group1">
+          <el-input v-model="form.group1" placeholder="请输入子类标签" />
+        </el-form-item>
+        <el-form-item label="中文解释" prop="defined">
+          <el-input type="textarea" v-model="form.defined" placeholder="请输入中文解释" />
+        </el-form-item>
+        <el-form-item label="解释的来源" prop="definedSource">
+          <el-input v-model="form.definedSource" placeholder="请输入解释的来源" />
+        </el-form-item>
+        <el-form-item label="参考基因组类型" prop="refseqCategory">
+          <el-input v-model="form.refseqCategory" placeholder="请输入参考基因组类型" />
+        </el-form-item>
+        <el-form-item label="分类号" prop="taxid">
+          <el-input v-model="form.taxid" placeholder="请输入分类号" />
+        </el-form-item>
+        <el-form-item label="种分类号" prop="speciesTaxid">
+          <el-input v-model="form.speciesTaxid" placeholder="请输入种分类号" />
+        </el-form-item>
+        <el-form-item label="亚种名称" prop="infraspecificName">
+          <el-input v-model="form.infraspecificName" placeholder="请输入亚种名称" />
+        </el-form-item>
+        <el-form-item label="分类类型" prop="isolate">
+          <el-input v-model="form.isolate" placeholder="请输入分类类型" />
+        </el-form-item>
+        <el-form-item label="拼装级别" prop="assemblyLevel">
+          <el-input v-model="form.assemblyLevel" placeholder="请输入拼装级别" />
+        </el-form-item>
+        <el-form-item label="基因组级别" prop="genomeRep">
+          <el-input v-model="form.genomeRep" placeholder="请输入基因组级别" />
+        </el-form-item>
+        <el-form-item label="seq_rel_date" prop="seqRelDate">
+          <el-input v-model="form.seqRelDate" placeholder="请输入seq_rel_date" />
+        </el-form-item>
+        <el-form-item label="ASM编号" prop="asmName">
+          <el-input v-model="form.asmName" placeholder="请输入ASM编号" />
+        </el-form-item>
+        <el-form-item label="gbrs_paired_asm" prop="gbrs_paired_asm">
+          <el-input v-model="form.gbrs_paired_asm" placeholder="请输入gbrs_paired_asm" />
+        </el-form-item>
+        <el-form-item label="paired_asm_comp" prop="paired_asm_comp">
+          <el-input v-model="form.paired_asm_comp" placeholder="请输入paired_asm_comp" />
+        </el-form-item>
+        <el-form-item label="ftp_path" prop="ftp_path">
+          <el-input v-model="form.ftp_path" placeholder="请输入ftp_path" />
+        </el-form-item>
+        <el-form-item label="excluded_from_refseq" prop="excluded_from_refseq">
+          <el-input v-model="form.excluded_from_refseq" placeholder="请输入excluded_from_refseq" />
+        </el-form-item>        
+        <el-form-item label="装配类型" prop="assemblyType">
+          <el-input v-model="form.assemblyType" placeholder="请输入装配类型" />
+        </el-form-item>
+        <el-form-item label="基因组大小" prop="genomeSize">
+          <el-input v-model="form.genomeSize" placeholder="请输入基因组大小" />
+        </el-form-item>
+        <el-form-item label="基因组大小(无缺口)" prop="genomeSizeUngapped">
+          <el-input v-model="form.genomeSizeUngapped" placeholder="请输入基因组大小(无缺口)" />
+        </el-form-item>
+        <el-form-item label="GC比例" prop="gcPercent">
+          <el-input v-model="form.gcPercent" placeholder="请输入GC比例" />
+        </el-form-item>
+        <el-form-item label="replicon_count" prop="replicon_count">
+          <el-input v-model="form.replicon_count" placeholder="请输入replicon_count" />
+        </el-form-item>
+        <el-form-item label="scaffold_count" prop="scaffold_count">
+          <el-input v-model="form.scaffold_count" placeholder="请输入scaffold_count" />
+        </el-form-item>
+        <el-form-item label="contig_count" prop="contig_count">
+          <el-input v-model="form.contig_count" placeholder="请输入contig_count" />
+        </el-form-item>
+        <el-form-item label="总基因数" prop="totalGeneCount">
+          <el-input v-model="form.totalGeneCount" placeholder="请输入总基因数" />
+        </el-form-item>
+        <el-form-item label="翻译蛋白基因数" prop="proteinCodingGeneCount">
+          <el-input v-model="form.proteinCodingGeneCount" placeholder="请输入翻译蛋白基因数" />
+        </el-form-item>
+        <el-form-item label="非编码基因数" prop="nonCodingGeneCount">
+          <el-input v-model="form.nonCodingGeneCount" placeholder="请输入非编码基因数" />
+        </el-form-item>
+        <el-form-item label="点突变" prop="dtpnyjy">
+          <el-input v-model="form.dtpnyjy" placeholder="请输入点突变" />
+        </el-form-item>
+        <el-form-item label="点突变解释" prop="dtpnyjyExpress">
+          <el-input v-model="form.dtpnyjyExpress" placeholder="请输入点突变解释" />
+        </el-form-item>
+        <el-form-item label="点突变解释来源" prop="dtpnyjySource">
+          <el-input v-model="form.dtpnyjySource" placeholder="请输入点突变解释来源" />
+        </el-form-item>
       </el-form>
       <div slot="footer" class="dialog-footer">
+        <el-button type="primary" @click="submitForm">确 定</el-button>
         <el-button @click="cancel">取 消</el-button>
       </div>
     </el-dialog>
     <!-- 上传文件  -->
-     <input hidden type="file" ref="upload_file" accept=".xls,.xlsx" class="upload_file" @change="readExcel($event)" />
+    <input hidden type="file" ref="upload_file" accept=".xls,.xlsx" class="upload_file" @change="readExcel($event)" />
 
   </div>
 </template>
@@ -242,6 +317,7 @@ export default {
       },
       upload_file: "",
       lists: [],
+      disabledAssemblyAccession:false
     }
   },
   created() {
@@ -386,11 +462,43 @@ importDataBase(formData).then(response => {
         this.$modal.msgSuccess("删除成功")
       }).catch(() => {})
     },
-    handleUpdate(row) {
+     /** 新增按钮操作 */
+    handleAdd() {
       this.reset()
-      this.form = row
       this.open = true
-      this.title = "查看病原体信息"
+      this.disabledAssemblyAccession = false
+      this.title = "添加病原体信息"
+    },
+    /** 修改按钮操作 */
+    handleUpdate(row) {
+      this.reset()
+      const id = row.assemblyAccession
+      this.disabledAssemblyAccession = true;
+      getDataBase(id).then(response => {
+        this.form = response.data
+        this.open = true
+        this.title = "修改病原体信息"
+      })
+    },
+    /** 提交按钮 */
+    submitForm() {
+      this.$refs["form"].validate(valid => {
+        if (valid) {
+          if (this.form.assemblyAccession != null) {
+            updateDataBase(this.form).then(response => {
+              this.$modal.msgSuccess("修改成功")
+              this.open = false
+              this.getList()
+            })
+          } else {
+            addDataBase(this.form).then(response => {
+              this.$modal.msgSuccess("新增成功")
+              this.open = false
+              this.getList()
+            })
+          }
+        }
+      })
     },
   }
 }

+ 144 - 36
src/views/data/dataBase/nyjy.vue

@@ -72,6 +72,15 @@
     </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"
+        >新增</el-button>
+      </el-col>
       <el-col :span="1.5">
         <el-button
           type="warning"
@@ -130,7 +139,7 @@
             type="text"
             @click="handleUpdate(scope.row)"
             v-hasPermi="['data:dataReportByt:edit']"
-          >查看</el-button>
+          >编辑</el-button>
           <el-button
             size="mini"
             type="text"
@@ -149,43 +158,109 @@
       @pagination="getList"
     />
 
+    <!-- 添加或修改病原体管理对话框 -->
     <!-- 添加或修改病原体管理对话框 -->
     <el-dialog :title="title" :visible.sync="open" width="800px" append-to-body>
       <el-form ref="form" :model="form" :rules="rules" label-width="140px">
-        <el-form-item label="唯一注册号">{{ form.assemblyAccession }}</el-form-item>
-        <el-form-item label="生物名称">{{ form.organismName }}</el-form-item>
-        <el-form-item label="病源类型">{{ form.group }}</el-form-item>
-        <el-form-item label="子类标签">{{ form.group1 }}</el-form-item>
-        <el-form-item label="中文解释">{{ form.defined }}</el-form-item>
-        <el-form-item label="解释的来源">{{ form.definedSource }}</el-form-item>
-        <el-form-item label="参考基因组类型">{{ form.refseqCategory }}</el-form-item>
-        <el-form-item label="分类号">{{ form.taxid }}</el-form-item>
-        <el-form-item label="种分类号">{{ form.speciesTaxid }}</el-form-item>
-        <el-form-item label="亚种名称">{{ form.infraspecificName }}</el-form-item>
-        <el-form-item label="分类类型">{{ form.isolate }}</el-form-item>
-        <el-form-item label="拼装级别">{{ form.assemblyLevel }}</el-form-item>
-        <el-form-item label="基因组级别">{{ form.genomeRep }}</el-form-item>
-        <el-form-item label="seq_rel_date">{{ form.seqRelDate }}</el-form-item>
-        <el-form-item label="ASM编号">{{ form.asmName }}</el-form-item>
-        <el-form-item label="gbrs_paired_asm">{{ form.gbrs_paired_asm }}</el-form-item>
-        <el-form-item label="paired_asm_comp">{{ form.paired_asm_comp }}</el-form-item>
-        <el-form-item label="ftp_path">{{ form.ftp_path }}</el-form-item>
-        <el-form-item label="excluded_from_refseq">{{ form.excluded_from_refseq }}</el-form-item>        
-        <el-form-item label="装配类型">{{ form.assemblyType }}</el-form-item>
-        <el-form-item label="基因组大小">{{ form.genomeSize }}</el-form-item>
-        <el-form-item label="基因组大小(无缺口)">{{ form.genomeSizeUngapped }}</el-form-item>
-        <el-form-item label="GC比例">{{ form.gcPercent }}</el-form-item>
-        <el-form-item label="replicon_count">{{ form.replicon_count }}</el-form-item>
-        <el-form-item label="scaffold_count">{{ form.scaffold_count }}</el-form-item>
-        <el-form-item label="contig_count">{{ form.contig_count }}</el-form-item>
-        <el-form-item label="总基因数">{{ form.totalGeneCount }}</el-form-item>
-        <el-form-item label="翻译蛋白基因数">{{ form.proteinCodingGeneCount }}</el-form-item>
-        <el-form-item label="非编码基因数">{{ form.nonCodingGeneCount }}</el-form-item>
-        <el-form-item label="耐药基因">{{ form.nyjy }}</el-form-item>
-        <el-form-item label="耐药基因解释">{{ form.nyjyExpress }}</el-form-item>
-        <el-form-item label="耐药基因解释来源">{{ form.nyjySource }}</el-form-item>
+        <el-form-item label="唯一注册号" prop="assemblyAccession">
+           <el-input v-model="form.assemblyAccession" :disabled="disabledAssemblyAccession" placeholder="请输入唯一注册号" />
+        </el-form-item>
+        <el-form-item label="生物名称" prop="organismName">
+           <el-input v-model="form.organismName" placeholder="请输入生物名称" />
+        </el-form-item>
+        <el-form-item label="病源类型" prop="group">
+          <el-input v-model="form.group" placeholder="请输入病源类型" />
+        </el-form-item>
+        <el-form-item label="子类标签" prop="group1">
+          <el-input v-model="form.group1" placeholder="请输入子类标签" />
+        </el-form-item>
+        <el-form-item label="中文解释" prop="defined">
+          <el-input type="textarea" v-model="form.defined" placeholder="请输入中文解释" />
+        </el-form-item>
+        <el-form-item label="解释的来源" prop="definedSource">
+          <el-input v-model="form.definedSource" placeholder="请输入解释的来源" />
+        </el-form-item>
+        <el-form-item label="参考基因组类型" prop="refseqCategory">
+          <el-input v-model="form.refseqCategory" placeholder="请输入参考基因组类型" />
+        </el-form-item>
+        <el-form-item label="分类号" prop="taxid">
+          <el-input v-model="form.taxid" placeholder="请输入分类号" />
+        </el-form-item>
+        <el-form-item label="种分类号" prop="speciesTaxid">
+          <el-input v-model="form.speciesTaxid" placeholder="请输入种分类号" />
+        </el-form-item>
+        <el-form-item label="亚种名称" prop="infraspecificName">
+          <el-input v-model="form.infraspecificName" placeholder="请输入亚种名称" />
+        </el-form-item>
+        <el-form-item label="分类类型" prop="isolate">
+          <el-input v-model="form.isolate" placeholder="请输入分类类型" />
+        </el-form-item>
+        <el-form-item label="拼装级别" prop="assemblyLevel">
+          <el-input v-model="form.assemblyLevel" placeholder="请输入拼装级别" />
+        </el-form-item>
+        <el-form-item label="基因组级别" prop="genomeRep">
+          <el-input v-model="form.genomeRep" placeholder="请输入基因组级别" />
+        </el-form-item>
+        <el-form-item label="seq_rel_date" prop="seqRelDate">
+          <el-input v-model="form.seqRelDate" placeholder="请输入seq_rel_date" />
+        </el-form-item>
+        <el-form-item label="ASM编号" prop="asmName">
+          <el-input v-model="form.asmName" placeholder="请输入ASM编号" />
+        </el-form-item>
+        <el-form-item label="gbrs_paired_asm" prop="gbrs_paired_asm">
+          <el-input v-model="form.gbrs_paired_asm" placeholder="请输入gbrs_paired_asm" />
+        </el-form-item>
+        <el-form-item label="paired_asm_comp" prop="paired_asm_comp">
+          <el-input v-model="form.paired_asm_comp" placeholder="请输入paired_asm_comp" />
+        </el-form-item>
+        <el-form-item label="ftp_path" prop="ftp_path">
+          <el-input v-model="form.ftp_path" placeholder="请输入ftp_path" />
+        </el-form-item>
+        <el-form-item label="excluded_from_refseq" prop="excluded_from_refseq">
+          <el-input v-model="form.excluded_from_refseq" placeholder="请输入excluded_from_refseq" />
+        </el-form-item>        
+        <el-form-item label="装配类型" prop="assemblyType">
+          <el-input v-model="form.assemblyType" placeholder="请输入装配类型" />
+        </el-form-item>
+        <el-form-item label="基因组大小" prop="genomeSize">
+          <el-input v-model="form.genomeSize" placeholder="请输入基因组大小" />
+        </el-form-item>
+        <el-form-item label="基因组大小(无缺口)" prop="genomeSizeUngapped">
+          <el-input v-model="form.genomeSizeUngapped" placeholder="请输入基因组大小(无缺口)" />
+        </el-form-item>
+        <el-form-item label="GC比例" prop="gcPercent">
+          <el-input v-model="form.gcPercent" placeholder="请输入GC比例" />
+        </el-form-item>
+        <el-form-item label="replicon_count" prop="replicon_count">
+          <el-input v-model="form.replicon_count" placeholder="请输入replicon_count" />
+        </el-form-item>
+        <el-form-item label="scaffold_count" prop="scaffold_count">
+          <el-input v-model="form.scaffold_count" placeholder="请输入scaffold_count" />
+        </el-form-item>
+        <el-form-item label="contig_count" prop="contig_count">
+          <el-input v-model="form.contig_count" placeholder="请输入contig_count" />
+        </el-form-item>
+        <el-form-item label="总基因数" prop="totalGeneCount">
+          <el-input v-model="form.totalGeneCount" placeholder="请输入总基因数" />
+        </el-form-item>
+        <el-form-item label="翻译蛋白基因数" prop="proteinCodingGeneCount">
+          <el-input v-model="form.proteinCodingGeneCount" placeholder="请输入翻译蛋白基因数" />
+        </el-form-item>
+        <el-form-item label="非编码基因数" prop="nonCodingGeneCount">
+          <el-input v-model="form.nonCodingGeneCount" placeholder="请输入非编码基因数" />
+        </el-form-item>
+        <el-form-item label="耐药基因" prop="nyjy">
+          <el-input v-model="form.nyjy" placeholder="请输入耐药基因" />
+        </el-form-item>
+        <el-form-item label="耐药基因解释" prop="nyjyExpress">
+          <el-input v-model="form.nyjyExpress" placeholder="请输入耐药基因解释" />
+        </el-form-item>
+        <el-form-item label="耐药基因解释来源" prop="nyjySource">
+          <el-input v-model="form.nyjySource" placeholder="请输入耐药基因解释来源" />
+        </el-form-item>
       </el-form>
       <div slot="footer" class="dialog-footer">
+        <el-button type="primary" @click="submitForm">确 定</el-button>
         <el-button @click="cancel">取 消</el-button>
       </div>
     </el-dialog>
@@ -242,6 +317,7 @@ export default {
       },
       upload_file: "",
       lists: [],
+      disabledAssemblyAccession:false
     }
   },
   created() {
@@ -386,11 +462,43 @@ importDataBase(formData).then(response => {
         this.$modal.msgSuccess("删除成功")
       }).catch(() => {})
     },
-    handleUpdate(row) {
+     /** 新增按钮操作 */
+    handleAdd() {
       this.reset()
-      this.form = row
       this.open = true
-      this.title = "查看耐药基因病原体信息"
+      this.disabledAssemblyAccession = false
+      this.title = "添加病原体信息"
+    },
+    /** 修改按钮操作 */
+    handleUpdate(row) {
+      this.reset()
+      const id = row.assemblyAccession
+      this.disabledAssemblyAccession = true;
+      getDataBase(id).then(response => {
+        this.form = response.data
+        this.open = true
+        this.title = "修改病原体信息"
+      })
+    },
+    /** 提交按钮 */
+    submitForm() {
+      this.$refs["form"].validate(valid => {
+        if (valid) {
+          if (this.form.assemblyAccession != null) {
+            updateDataBase(this.form).then(response => {
+              this.$modal.msgSuccess("修改成功")
+              this.open = false
+              this.getList()
+            })
+          } else {
+            addDataBase(this.form).then(response => {
+              this.$modal.msgSuccess("新增成功")
+              this.open = false
+              this.getList()
+            })
+          }
+        }
+      })
     },
   }
 }

+ 51 - 6
src/views/sample/samplePatient/index.vue

@@ -80,6 +80,15 @@
           v-hasPermi="['sample:samplePatient:remove']"
         >删除</el-button>
       </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="warning"
+          plain
+          icon="el-icon-upload"
+          size="mini"
+          @click="$refs.upload_file.click()"
+        >导入</el-button>
+      </el-col>
       <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
     </el-row>
 
@@ -99,9 +108,10 @@
           {{ scope.row.birth | showAge }}
         </template>
       </el-table-column>
-      <el-table-column label="临床诊断" align="center" prop="lczd" />
-      <el-table-column label="创建时间" align="center" prop="createTime" />
-      <el-table-column label="备注" align="center" prop="remark" />
+      <el-table-column label="所属区域" align="center" prop="mergerName" />
+      <el-table-column label="临床诊断" align="center" prop="lczd" width="200" />
+      <el-table-column label="备注" align="center" prop="remark" width="200" />
+      <el-table-column label="创建时间" align="center" prop="createTime" width="150"/>
       <el-table-column label="操作" align="center"  fixed="right" width="210" class-name="small-padding fixed-width">
         <template slot-scope="scope">
           <el-button
@@ -159,7 +169,10 @@
           </el-select>
         </el-form-item>
         <el-form-item label="出生年份" prop="birth">
-          <el-date-picker type="date" placeholder="请选择出生年份(换算年龄)" v-model="form.birth" format="yyyy-MM-dd" value-format="yyyy-MM-dd" style="width: 100%;"></el-date-picker>
+          <el-date-picker type="date" placeholder="请选择出生年份" v-model="form.birth" format="yyyy-MM-dd" value-format="yyyy-MM-dd" style="width: 100%;"></el-date-picker>
+        </el-form-item>
+         <el-form-item label="所属区域" prop="areaId">
+          <el-input v-model="form.areaId" placeholder="请输入所属区域" />
         </el-form-item>
         <el-form-item label="地址" prop="address">
           <el-input v-model="form.address" placeholder="请输入地址" />
@@ -253,7 +266,7 @@
               <el-input v-model="form.otherPcr" placeholder="请输入PCR" />
             </el-form-item>
             <el-form-item label="测序" prop="cs">
-              <el-input v-model="form.otherCr" placeholder="请输入测序" />
+              <el-input v-model="form.otherCs" placeholder="请输入测序" />
             </el-form-item>
           </el-tab-pane>
           <el-tab-pane label="治疗">
@@ -280,11 +293,14 @@
         <el-button @click="cancel">取 消</el-button>
       </div>
     </el-dialog>
+     <!-- 上传文件  -->
+     <input hidden type="file" ref="upload_file" accept=".xls,.xlsx" class="upload_file" @change="readExcel($event)" />
   </div>
 </template>
 
 <script>
-import { listSamplePatient, getSamplePatient, delSamplePatient, addSamplePatient, updateSamplePatient } from "@/api/sample/samplePatient"
+import { listSamplePatient, getSamplePatient, delSamplePatient, addSamplePatient, updateSamplePatient,importSamplePatient } from "@/api/sample/samplePatient"
+import * as XLSX from "xlsx"
 
 export default {
   name: "SamplePatient",
@@ -354,6 +370,7 @@ export default {
       },
       // 表单参数
       form: {},
+      upload_file: "",
       // 表单校验
       rules: {
       }
@@ -376,6 +393,34 @@ export default {
     this.getList()
   },
   methods: {
+    // 读取Excel文件
+    readExcel(e) {
+      console.log("读取Excel文件", e);
+      console.log("读取Excel文件11", XLSX);
+      // 读取表格文件
+      let that = this;
+      const files = e.target.files;
+      if (files.length <= 0) {
+        return false;
+      } else if (!/\.(xls|xlsx)$/.test(files[0].name.toLowerCase())) {
+        this.$message({
+          message: "上传格式不正确,请上传xls或者xlsx格式",
+          type: "warning",
+        });
+        return false;
+      } else {
+        this.uploadFile(files[0]);
+      }
+    },
+    uploadFile(file) {
+      // 创建FormData对象
+      const formData = new FormData(); // 创建FormData对象
+      formData.append('file', file); // 将文件添加到FormData对象中,
+      importSamplePatient(formData).then(response => {
+        this.$modal.msgSuccess("导入成功")
+        this.getList()
+      })
+    },
     gotoyb(row){
         this.$router.push("/sample/sampleInfo/" + row.id)
     },

+ 5 - 1
src/views/system/systemConfig/index.vue

@@ -49,8 +49,8 @@
       <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
     </el-row>
     <el-table v-loading="loading" :data="systemConfigList" @selection-change="handleSelectionChange">
-      <el-table-column type="selection" width="55" align="center" />
       <el-table-column label="关键字" align="center" prop="keyword" />
+      <el-table-column label="标题" align="center" prop="title" />
       <el-table-column label="展示" align="center" prop="defaultShow">
         <template slot-scope="scope">
           <dict-tag :options="dict.type.sys_yes_no" :value="scope.row.defaultShow"/>
@@ -96,6 +96,9 @@
         <el-form-item label="关键字" prop="keyword">
           <el-input v-model="form.keyword" placeholder="请输入关键字" />
         </el-form-item>
+        <el-form-item label="统计标题" prop="title">
+          <el-input v-model="form.title" placeholder="请输入标题" />
+        </el-form-item>
         <el-form-item label="是否展示" prop="defaultShow">
           <el-select v-model="form.defaultShow" placeholder="请选择是否展示">
             <el-option
@@ -192,6 +195,7 @@ export default {
       this.form = {
         id: null,
         keyword: null,
+        title:null,
         defaultShow: null,
         isNum: null,
         createBy: null,