|
|
@@ -10,7 +10,8 @@
|
|
|
<el-breadcrumb-item>已存储样本</el-breadcrumb-item>
|
|
|
</el-breadcrumb>
|
|
|
<span style="float: right;">
|
|
|
- <el-dropdown split-button type="primary" size="mini" style="margin-left:10px; margin-top: -4px;" @command="handleExportsamplesCommand">
|
|
|
+ <el-dropdown split-button type="primary" size="mini" style="margin-left:10px; margin-top: -4px;"
|
|
|
+ @command="handleExportsamplesCommand">
|
|
|
导出
|
|
|
<el-dropdown-menu slot="dropdown">
|
|
|
<el-dropdown-item style="color:black;" command="exportchosen">导出所选样本</el-dropdown-item>
|
|
|
@@ -18,16 +19,20 @@
|
|
|
<el-dropdown-item style="color:black;" command="exportall">导出所有样本</el-dropdown-item>
|
|
|
</el-dropdown-menu>
|
|
|
</el-dropdown>
|
|
|
- <el-button type="primary" size="mini" style="margin-left:10px; margin-top: -4px;" @click="batchprint">打印</el-button>
|
|
|
- <el-dropdown split-button type="primary" size="mini" style="margin-left:10px; margin-top: -4px;" @command="chooseType">
|
|
|
+ <el-button type="primary" size="mini" style="margin-left:10px; margin-top: -4px;" @click="batchprint">打印
|
|
|
+ </el-button>
|
|
|
+ <el-dropdown split-button type="primary" size="mini" style="margin-left:10px; margin-top: -4px;"
|
|
|
+ @command="chooseType">
|
|
|
复苏
|
|
|
<el-dropdown-menu slot="dropdown">
|
|
|
<el-dropdown-item style="color:black;" command="batchrecovery">复苏所选样本</el-dropdown-item>
|
|
|
<el-dropdown-item style="color:black;" command="Apply">审核复苏样本</el-dropdown-item>
|
|
|
</el-dropdown-menu>
|
|
|
</el-dropdown>
|
|
|
- <el-button type="primary" size="mini" style="margin-left:10px; margin-top: -4px;" @click="batchdelete">删除</el-button>
|
|
|
- <el-button type="primary" size="mini" style="margin-left:10px; margin-top: -4px;" @click="columndialogVisible = true">显示列</el-button>
|
|
|
+ <el-button type="primary" size="mini" style="margin-left:10px; margin-top: -4px;" @click="batchdelete">删除
|
|
|
+ </el-button>
|
|
|
+ <el-button type="primary" size="mini" style="margin-left:10px; margin-top: -4px;"
|
|
|
+ @click="columndialogVisible = true">显示列</el-button>
|
|
|
</span>
|
|
|
<el-form ref="form" :inline="true" style="float: right; margin-top: -10px">
|
|
|
<el-form-item label="样本条码">
|
|
|
@@ -39,7 +44,8 @@
|
|
|
<el-dropdown-menu slot="dropdown">
|
|
|
<el-dropdown-item command="search">高级查询</el-dropdown-item>
|
|
|
<el-dropdown-item command="clear">查询重置</el-dropdown-item>
|
|
|
- <el-dropdown-item style="color:black;" v-for="item in searchTemplates" :key="item.Name" :command="item.Name">{{item.Name}}</el-dropdown-item>
|
|
|
+ <el-dropdown-item style="color:black;" v-for="item in searchTemplates" :key="item.Name"
|
|
|
+ :command="item.Name">{{item.Name}}</el-dropdown-item>
|
|
|
<el-dropdown-item divided style="color:black;" command="编辑">自定义</el-dropdown-item>
|
|
|
</el-dropdown-menu>
|
|
|
</el-dropdown>
|
|
|
@@ -47,19 +53,22 @@
|
|
|
</el-form>
|
|
|
</div>
|
|
|
|
|
|
- <el-table ref="multipleTable" :data="list" bordertooltip-effect="dark" border height="calc(100vh - 230px)" style="width: 100%;"
|
|
|
- @selection-change="handleSelectionChange" @header-dragend="header_dragend">
|
|
|
+ <el-table ref="multipleTable" :data="list" bordertooltip-effect="dark" border height="calc(100vh - 230px)"
|
|
|
+ style="width: 100%;" @selection-change="handleSelectionChange" @header-dragend="header_dragend">
|
|
|
<el-table-column type="selection" width="55"></el-table-column>
|
|
|
<el-table-column label="操作" width="130" align="center" fixed>
|
|
|
<template slot-scope="scope">
|
|
|
- <router-link :to="'/samples/stored/'+scope.row.Id + '/edit?pname=samples-stored&size='+size+'¤tPage='+currentPage">
|
|
|
+ <router-link
|
|
|
+ :to="'/samples/stored/'+scope.row.Id + '/edit?pname=samples-stored&size='+size+'¤tPage='+currentPage">
|
|
|
<el-button size="small" type="text" title="编辑" icon="el-icon-edit"></el-button>
|
|
|
</router-link>
|
|
|
- <el-button size="small" type="text" title="删除" style="margin-left:3px;" icon="el-icon-delete" @click="deletedata(scope.row)"></el-button>
|
|
|
+ <el-button size="small" type="text" title="删除" style="margin-left:3px;" icon="el-icon-delete"
|
|
|
+ @click="deletedata(scope.row)"></el-button>
|
|
|
<el-button type="text" size="small" title="打印" style="margin-left:3px;" @click="openPrintDialog(scope.row)">
|
|
|
<i class="icon icon-printer"></i>
|
|
|
</el-button>
|
|
|
- <router-link :to="'/samples/stored/'+scope.row.Id + '/detailed?pname=samples-stored&size='+size+'¤tPage='+currentPage">
|
|
|
+ <router-link
|
|
|
+ :to="'/samples/stored/'+scope.row.Id + '/detailed?pname=samples-stored&size='+size+'¤tPage='+currentPage">
|
|
|
<el-button type="text" size="small" title="详情" style="margin-left:3px;">
|
|
|
<i class="icon icon-eye"></i>
|
|
|
</el-button>
|
|
|
@@ -69,34 +78,39 @@
|
|
|
<i class="icon icon-location"></i>
|
|
|
</el-button>
|
|
|
</router-link>
|
|
|
- <router-link :to="'/samples/stored/'+scope.row.Id + '/detailed?pname=samples-stored&size='+size+'¤tPage='+currentPage">
|
|
|
- <el-button v-if="scope.row.IsAttachment == 1" size="small" type="text" title="上传附件" style="margin-left:3px;">
|
|
|
+ <router-link
|
|
|
+ :to="'/samples/stored/'+scope.row.Id + '/detailed?pname=samples-stored&size='+size+'¤tPage='+currentPage">
|
|
|
+ <el-button v-if="scope.row.IsAttachment == 1" size="small" type="text" title="上传附件"
|
|
|
+ style="margin-left:3px;">
|
|
|
<i class="icon icon-upload2"></i>
|
|
|
</el-button>
|
|
|
</router-link>
|
|
|
- <el-button v-if="scope.row.IsAttachment == 0" size="small" type="text" title="上传附件" style="margin-left:3px;color:#CDC5BF"
|
|
|
- @click="uploadfile(scope.row)">
|
|
|
+ <el-button v-if="scope.row.IsAttachment == 0" size="small" type="text" title="上传附件"
|
|
|
+ style="margin-left:3px;color:#CDC5BF" @click="uploadfile(scope.row)">
|
|
|
<i class="icon icon-upload2"></i>
|
|
|
</el-button>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column :label="item.name" :key="item.name" v-if="item.show" v-for="item in showcolumn" :width="item.columnwidth"
|
|
|
- align="center" show-overflow-tooltip>
|
|
|
+ <el-table-column :label="item.name" :key="item.name" v-if="item.show" v-for="item in showcolumn"
|
|
|
+ :width="item.columnwidth" align="center" show-overflow-tooltip>
|
|
|
<template slot-scope="scope">
|
|
|
<template v-if="item.filed === 'SourceName' && acc != 'sBBo4' && acc !='ssqOy' && acc != 'saB4v'">
|
|
|
- <router-link :to="'/biobank/source/'+ scope.row.SourceId + '/sourceinfo?pname=samples-prerecorded&size='+size+'¤tPage='+currentPage"
|
|
|
+ <router-link
|
|
|
+ :to="'/biobank/source/'+ scope.row.SourceId + '/sourceinfo?pname=samples-prerecorded&size='+size+'¤tPage='+currentPage"
|
|
|
:style="{color: scope.row.FamilyState === 0 ? 'blue' : 'red'}">
|
|
|
{{scope.row.SourceName}}
|
|
|
</router-link>
|
|
|
</template>
|
|
|
<template v-else-if="item.filed === 'SourceName' && (acc == 'sBBo4' || acc == 'saB4v')">
|
|
|
- <router-link :to="'/biobank/source/'+ scope.row.SourceId + '/sourcedetail?pname=samples-prerecorded&size='+size+'¤tPage='+currentPage"
|
|
|
+ <router-link
|
|
|
+ :to="'/biobank/source/'+ scope.row.SourceId + '/sourcedetail?pname=samples-prerecorded&size='+size+'¤tPage='+currentPage"
|
|
|
:style="{color: scope.row.FamilyState === 0 ? 'blue' : 'red'}">
|
|
|
{{scope.row.SourceName}}
|
|
|
</router-link>
|
|
|
</template>
|
|
|
<template v-else-if="item.filed === 'SourceName' && acc == 'ssqOy'">
|
|
|
- <router-link :to="'/biobank/source/'+ scope.row.SourceId + '/sourcemicinfo?pname=samples-prerecorded&size='+size+'¤tPage='+currentPage"
|
|
|
+ <router-link
|
|
|
+ :to="'/biobank/source/'+ scope.row.SourceId + '/sourcemicinfo?pname=samples-prerecorded&size='+size+'¤tPage='+currentPage"
|
|
|
:style="{color: scope.row.FamilyState === 0 ? 'blue' : 'red'}">
|
|
|
{{scope.row.SourceName}}
|
|
|
</router-link>
|
|
|
@@ -118,7 +132,8 @@
|
|
|
<div class="block">
|
|
|
<span class="demonstration"></span>
|
|
|
<el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page="currentPage"
|
|
|
- :page-sizes="[10, 15, 20]" :page-size="size" layout="total, sizes, prev, pager, next, jumper" :total="currentItemCount">
|
|
|
+ :page-sizes="[10, 15, 20]" :page-size="size" layout="total, sizes, prev, pager, next, jumper"
|
|
|
+ :total="currentItemCount">
|
|
|
</el-pagination>
|
|
|
</div>
|
|
|
|
|
|
@@ -155,13 +170,14 @@
|
|
|
<el-form-item label="名称">
|
|
|
<el-input v-model="Name" placeholder="请输入名称" size="mini" style="width:100%"></el-input>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="组织器官">
|
|
|
+ <!-- <el-form-item label="组织器官">
|
|
|
<el-cascader :options="zuzhitreelist" :props="sampinputtreeprops" change-on-select :show-all-levels="false"
|
|
|
v-model="selectedzuzhi" @change="zuzhitreehandleChange" placeholder="请选择组织" size="mini" style="width:100%"></el-cascader>
|
|
|
- </el-form-item>
|
|
|
+ </el-form-item> -->
|
|
|
<el-form-item label="特有扩展">
|
|
|
<el-select v-model="STNoteField" multiple placeholder="请选择" size="mini" style="width:100%">
|
|
|
- <el-option v-for="item in typetykzlist" :label="item.Name" :value="item.FieldName" :key="item.FieldName"></el-option>
|
|
|
+ <el-option v-for="item in typetykzlist" :label="item.Name" :value="item.FieldName"
|
|
|
+ :key="item.FieldName"></el-option>
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
<!-- <el-form-item label="公共检索">
|
|
|
@@ -175,11 +191,11 @@
|
|
|
<el-form-item label="录入人">
|
|
|
<el-input v-model="CreateBy" placeholder="请输入录入人" size="mini" style="width:100%"></el-input>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="取材部位">
|
|
|
+ <!-- <el-form-item label="取材部位">
|
|
|
<el-select v-model="SamplingSite" clearable placeholder="请选择" size="mini" style="width:100%">
|
|
|
<el-option v-for="item in samplesitenames" :label="item.Name" :value="item.Code" :key="item.Code"></el-option>
|
|
|
</el-select>
|
|
|
- </el-form-item>
|
|
|
+ </el-form-item> -->
|
|
|
<el-form-item label="特有检索">
|
|
|
<el-input v-model="Stnotevalue" placeholder="输入检索内容" size="mini" style="width:100%"></el-input>
|
|
|
</el-form-item>
|
|
|
@@ -197,7 +213,8 @@
|
|
|
|
|
|
<el-dialog title="打印" :visible.sync="dialogPrintVisible" size="tiny">
|
|
|
<el-select v-model="Printscheme" placeholder="请选择">
|
|
|
- <el-option v-for="item in printschemelist" :label="item.Name" :value="item.FileName" :key="item.FileName"></el-option>
|
|
|
+ <el-option v-for="item in printschemelist" :label="item.Name" :value="item.FileName" :key="item.FileName">
|
|
|
+ </el-option>
|
|
|
</el-select>
|
|
|
<br>
|
|
|
<br>
|
|
|
@@ -206,7 +223,8 @@
|
|
|
</el-card>
|
|
|
|
|
|
<el-dialog title="选中显示列(拖拽可以实现排序)" :visible.sync="columndialogVisible" top="5vh">
|
|
|
- <el-checkbox :indeterminate="isIndeterminate" v-model="checkAll" @change="handleCheckAllChange" style="margin-left:15px;">全选</el-checkbox>
|
|
|
+ <el-checkbox :indeterminate="isIndeterminate" v-model="checkAll" @change="handleCheckAllChange"
|
|
|
+ style="margin-left:15px;">全选</el-checkbox>
|
|
|
<div style="margin: 10px 0;"></div>
|
|
|
<draggable v-model="showcolumn">
|
|
|
<transition-group class="sampshowfiledsort_ul sampshowfiledsort_ul_tags" tag="ul">
|
|
|
@@ -220,7 +238,8 @@
|
|
|
<el-button type="primary" @click="saveshowfiled()">确 定</el-button>
|
|
|
</div>
|
|
|
</el-dialog>
|
|
|
- <batchrecoverydialog @close="recoverydialogcallback" :applyform="shenhe" :visible.sync="dialogfusuVisible"></batchrecoverydialog>
|
|
|
+ <batchrecoverydialog @close="recoverydialogcallback" :applyform="shenhe" :visible.sync="dialogfusuVisible">
|
|
|
+ </batchrecoverydialog>
|
|
|
|
|
|
<el-dialog title="自定义搜索" :visible.sync="searchDialogVisible" width="1000px" top="5vh">
|
|
|
<el-form ref="form" inline label-width="120px">
|
|
|
@@ -239,9 +258,9 @@
|
|
|
<el-row :gutter="0">
|
|
|
<el-col :span="5">
|
|
|
<div class="searchDialogLeftStyle">
|
|
|
- <el-tag v-for="tag in searchTemplates" :id="tag.Name" :key="tag.Name" closable class="reporttag reportselect"
|
|
|
- :onclick="'clickmodeltypetag(' + tag.Name + ')'" style="display:block;text-align:center;color:white;"
|
|
|
- @close="removeSearchTab(tag.Name)">
|
|
|
+ <el-tag v-for="tag in searchTemplates" :id="tag.Name" :key="tag.Name" closable
|
|
|
+ class="reporttag reportselect" :onclick="'clickmodeltypetag(' + tag.Name + ')'"
|
|
|
+ style="display:block;text-align:center;color:white;" @close="removeSearchTab(tag.Name)">
|
|
|
<i class="el-icon-caret-right" v-if="tag.Name == currentSearchTemplateName"></i>
|
|
|
{{tag.Name}}
|
|
|
</el-tag>
|
|
|
@@ -258,54 +277,72 @@
|
|
|
</el-row>
|
|
|
<el-row :gutter="1">
|
|
|
<el-col :span="5">
|
|
|
- <el-select v-model="searchField" @change="changeSearchField()" placeholder="请选择" style="margin-left:5px;margin-right:5px;">
|
|
|
- <el-option v-for="item in searchcolumn" :key="item.field" :label="item.name" :value="item.filed"></el-option>
|
|
|
+ <el-select v-model="searchField" @change="changeSearchField()" placeholder="请选择"
|
|
|
+ style="margin-left:5px;margin-right:5px;">
|
|
|
+ <el-option v-for="item in searchcolumn" :key="item.field" :label="item.name" :value="item.filed">
|
|
|
+ </el-option>
|
|
|
</el-select>
|
|
|
</el-col>
|
|
|
<el-col :span="8">
|
|
|
- <el-input v-if="searchField == 'BarCode'" v-model="searchValue.BarCode" placeholder="请输入样本条码" style="margin-left:5px;display:inline-block;"></el-input>
|
|
|
- <el-input v-else-if="searchField == 'SampleCode'" v-model="searchValue.SampleCode" placeholder="请输入样本编码"></el-input>
|
|
|
- <el-input v-else-if="searchField == 'SourceName'" v-model="searchValue.SourceName" placeholder="请输入身份证号或姓名"></el-input>
|
|
|
- <el-input v-else-if="searchField == 'InnerCode'" v-model="searchValue.InnerCode" placeholder="请输入样本内码"></el-input>
|
|
|
+ <el-input v-if="searchField == 'BarCode'" v-model="searchValue.BarCode" placeholder="请输入样本条码"
|
|
|
+ style="margin-left:5px;display:inline-block;"></el-input>
|
|
|
+ <el-input v-else-if="searchField == 'SampleCode'" v-model="searchValue.SampleCode"
|
|
|
+ placeholder="请输入样本编码"></el-input>
|
|
|
+ <el-input v-else-if="searchField == 'SourceName'" v-model="searchValue.SourceName"
|
|
|
+ placeholder="请输入身份证号或姓名"></el-input>
|
|
|
+ <el-input v-else-if="searchField == 'InnerCode'" v-model="searchValue.InnerCode"
|
|
|
+ placeholder="请输入样本内码"></el-input>
|
|
|
<el-input v-else-if="searchField == 'Name'" v-model="searchValue.Name" placeholder="请输入名称"></el-input>
|
|
|
- <el-input v-else-if="searchField == 'CreateBy'" v-model="searchValue.CreateBy" placeholder="请输入录入人"></el-input>
|
|
|
- <el-input v-else-if="searchField == 'GroupName'" v-model="searchValue.GroupName" placeholder="请输入所属分组"></el-input>
|
|
|
- <el-date-picker v-else-if="searchField == 'ReceiveDate'" v-model="searchValue.CreateOn" type="daterange"
|
|
|
- range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期" style="width:100%"></el-date-picker>
|
|
|
- <el-cascader v-else-if="searchField == 'SamplingOrganName'" :options="zuzhitreelist" :props="sampinputtreeprops2"
|
|
|
+ <el-input v-else-if="searchField == 'CreateBy'" v-model="searchValue.CreateBy" placeholder="请输入录入人">
|
|
|
+ </el-input>
|
|
|
+ <el-input v-else-if="searchField == 'GroupName'" v-model="searchValue.GroupName"
|
|
|
+ placeholder="请输入所属分组"></el-input>
|
|
|
+ <el-date-picker v-else-if="searchField == 'ReceiveDate'" v-model="searchValue.CreateOn"
|
|
|
+ type="daterange" range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期"
|
|
|
+ style="width:100%"></el-date-picker>
|
|
|
+ <!-- <el-cascader v-else-if="searchField == 'SamplingOrganName'" :options="zuzhitreelist" :props="sampinputtreeprops2"
|
|
|
change-on-select :show-all-levels="false" v-model="searchValue.selectedzuzhi" @change="zuzhitreehandleChange2"
|
|
|
placeholder="请选择组织" style="width:100%">
|
|
|
- </el-cascader>
|
|
|
- <span v-else-if="searchField == 'SamplingSiteName'">
|
|
|
+ </el-cascader> -->
|
|
|
+ <!-- <span v-else-if="searchField == 'SamplingSiteName'">
|
|
|
<el-cascader :options="zuzhitreelist" :props="sampinputtreeprops" change-on-select :show-all-levels="false"
|
|
|
v-model="selectedzuzhi2" @change="zuzhitreehandleChange2" placeholder="请选择组织" style="width:50%">
|
|
|
</el-cascader>
|
|
|
<el-select v-model="searchValue.SamplingSite" clearable placeholder="请选择" style="width:45%;margin-left:5px;">
|
|
|
<el-option v-for="item in samplesitenames2" :key="item.Code" :label="item.Name" :value="item.Name"></el-option>
|
|
|
</el-select>
|
|
|
- </span>
|
|
|
+ </span> -->
|
|
|
<el-select v-else-if="searchField == 'SampleTypeName'" v-model="searchValue.SampleType" clearable
|
|
|
placeholder="请选择" @change="selsampletypeChange" style="width:100%">
|
|
|
- <el-option v-for="item in sampletypes" :key="item.Id" :label="item.Name" :value="item.Name"></el-option>
|
|
|
+ <el-option v-for="item in sampletypes" :key="item.Id" :label="item.Name" :value="item.Name">
|
|
|
+ </el-option>
|
|
|
</el-select>
|
|
|
- <el-date-picker v-else-if="searchField == 'ValidityDate'" v-model="searchValue.Validity" type="daterange"
|
|
|
- range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期" style="width:100%">
|
|
|
+ <el-date-picker v-else-if="searchField == 'ValidityDate'" v-model="searchValue.Validity"
|
|
|
+ type="daterange" range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期"
|
|
|
+ style="width:100%">
|
|
|
</el-date-picker>
|
|
|
- <el-input v-else-if="searchField == 'Capacity'" v-model="searchValue.Capacity" placeholder="请输入容量"></el-input>
|
|
|
- <el-input v-else-if="searchField == 'Location'" v-model="searchValue.Location" placeholder=" 请输入存储位置"></el-input>
|
|
|
- <el-input v-else v-model="searchValue.Extension" placeholder="" style="margin-left:5px;display:inline-block;"></el-input>
|
|
|
+ <el-input v-else-if="searchField == 'Capacity'" v-model="searchValue.Capacity" placeholder="请输入容量">
|
|
|
+ </el-input>
|
|
|
+ <el-input v-else-if="searchField == 'Location'" v-model="searchValue.Location" placeholder=" 请输入存储位置">
|
|
|
+ </el-input>
|
|
|
+ <el-input v-else v-model="searchValue.Extension" placeholder=""
|
|
|
+ style="margin-left:5px;display:inline-block;"></el-input>
|
|
|
</el-col>
|
|
|
<el-col :span="3">
|
|
|
<el-select v-model="orAnd" placeholder="请选择" style="margin-left:15px;">
|
|
|
- <el-option v-for="item in orAndData" :key="item.value" :label="item.name" :value="item.value"></el-option>
|
|
|
+ <el-option v-for="item in orAndData" :key="item.value" :label="item.name" :value="item.value">
|
|
|
+ </el-option>
|
|
|
</el-select>
|
|
|
</el-col>
|
|
|
<el-col :span="3">
|
|
|
- <el-button type="primary" size="middle" style="margin-left:5px;display:inline-block;" @click="addSearchField">添加</el-button>
|
|
|
+ <el-button type="primary" size="middle" style="margin-left:5px;display:inline-block;"
|
|
|
+ @click="addSearchField">添加</el-button>
|
|
|
</el-col>
|
|
|
<el-col :span="5">
|
|
|
- <el-button type="primary" size="middle" style="display:inline-block;" @click="saveAndSearchWithTemplate">查询</el-button>
|
|
|
- <el-button type="primary" size="middle" style="display:inline-block;" @click="saveSearchTemplate">保存</el-button>
|
|
|
+ <el-button type="primary" size="middle" style="display:inline-block;"
|
|
|
+ @click="saveAndSearchWithTemplate">查询</el-button>
|
|
|
+ <el-button type="primary" size="middle" style="display:inline-block;" @click="saveSearchTemplate">保存
|
|
|
+ </el-button>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
<el-row style="margin-top:10px;">
|
|
|
@@ -331,7 +368,8 @@
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
</el-dialog>
|
|
|
- <uploadattachdialog @close="uploaddialogcallback" :sampleinfo="sampleinfodetail" :visible.sync="dialoguploadVisible"></uploadattachdialog>
|
|
|
+ <uploadattachdialog @close="uploaddialogcallback" :sampleinfo="sampleinfodetail"
|
|
|
+ :visible.sync="dialoguploadVisible"></uploadattachdialog>
|
|
|
</div>
|
|
|
</template>
|
|
|
<script>
|
|
|
@@ -387,9 +425,9 @@
|
|
|
InnerCode: '', // 样本内码
|
|
|
labelPosition: 'top',
|
|
|
selectionraw: {}, // 点编辑时所选择的列的数据
|
|
|
- publicsampletypedata: [], // 样本公共扩展
|
|
|
+ // publicsampletypedata: [], // 样本公共扩展
|
|
|
sampletypes: [], // 样本类型
|
|
|
- publicsampletypes: [], // 公共拓展
|
|
|
+ // publicsampletypes: [], // 公共拓展
|
|
|
publicdatas: [], // 样本取用记录
|
|
|
relationSamples: [], // 相关样本
|
|
|
GroupName: '', //所属分组
|
|
|
@@ -397,9 +435,9 @@
|
|
|
userextends: [], // 扩展字段
|
|
|
specialelist: [], // 特殊扩展字段
|
|
|
dialogPrintVisible: false, // 打印弹框是否显示
|
|
|
- zuzhitreelist: [], // 组织器官
|
|
|
- samplesitenames: [], // 取材部位
|
|
|
- samplesitenames2: [], // 取材部位
|
|
|
+ // zuzhitreelist: [], // 组织器官
|
|
|
+ // samplesitenames: [], // 取材部位
|
|
|
+ // samplesitenames2: [], // 取材部位
|
|
|
Printscheme: '', // 打印选项
|
|
|
printschemelist: [], // 打印列表
|
|
|
sampinputtreeprops: {
|
|
|
@@ -493,14 +531,14 @@
|
|
|
if (searchmodel.CreateOn && searchmodel.CreateOn.length === 2) { //录入日期
|
|
|
this.CreateOn = [new Date(searchmodel.CreateOn[0]), new Date(searchmodel.CreateOn[1])]
|
|
|
}
|
|
|
- if (searchmodel.SamplingOrgan && searchmodel.SamplingOrgan !== '') { //组织器官
|
|
|
- this.selectsigorg = searchmodel.SamplingOrgan
|
|
|
- this.getparentcodebytopcode(searchmodel.SamplingOrgan)
|
|
|
- // this.selectedzuzhi=searchmodel.SamplingOrgan
|
|
|
- }
|
|
|
- if (searchmodel.SamplingSite && searchmodel.SamplingSite !== '') { //取材部位
|
|
|
- this.SamplingSite = searchmodel.SamplingSite
|
|
|
- }
|
|
|
+ // if (searchmodel.SamplingOrgan && searchmodel.SamplingOrgan !== '') { //组织器官
|
|
|
+ // this.selectsigorg = searchmodel.SamplingOrgan
|
|
|
+ // this.getparentcodebytopcode(searchmodel.SamplingOrgan)
|
|
|
+ // // this.selectedzuzhi=searchmodel.SamplingOrgan
|
|
|
+ // }
|
|
|
+ // if (searchmodel.SamplingSite && searchmodel.SamplingSite !== '') { //取材部位
|
|
|
+ // this.SamplingSite = searchmodel.SamplingSite
|
|
|
+ // }
|
|
|
if (searchmodel.SampleType && searchmodel.SampleType !== '') { //样本类型
|
|
|
this.SampleType = searchmodel.SampleType
|
|
|
this.searchsampletypeChange()
|
|
|
@@ -561,16 +599,6 @@
|
|
|
name: '可用容量',
|
|
|
show: true,
|
|
|
kuoz: false
|
|
|
- }, {
|
|
|
- filed: 'SamplingOrganName',
|
|
|
- name: '组织器官',
|
|
|
- show: true,
|
|
|
- kuoz: false
|
|
|
- }, {
|
|
|
- filed: 'SamplingSiteName',
|
|
|
- name: '取材部位',
|
|
|
- show: true,
|
|
|
- kuoz: false
|
|
|
}, {
|
|
|
filed: 'InnerCode',
|
|
|
name: '样本内码',
|
|
|
@@ -645,7 +673,6 @@
|
|
|
BarCode: this.BarCode,
|
|
|
SampleCode: this.SampleCode,
|
|
|
SampleType: this.SampleType,
|
|
|
- SamplingSite: this.SamplingSite,
|
|
|
Stnotevalue: this.Stnotevalue,
|
|
|
STNoteField: this.STNoteField,
|
|
|
Noteitemvalue: this.Noteitemvalue,
|
|
|
@@ -656,7 +683,6 @@
|
|
|
Validity: this.Validity,
|
|
|
CreateOn: this.CreateOn,
|
|
|
InnerCode: this.InnerCode,
|
|
|
- SamplingOrgan: this.selectsigorg,
|
|
|
GroupName: _this.GroupName
|
|
|
}
|
|
|
if (this.CreateOn && this.CreateOn.length === 2) {
|
|
|
@@ -674,18 +700,14 @@
|
|
|
params = Object.assign(params, params3)
|
|
|
}
|
|
|
store.set('samplestoredseach', params)
|
|
|
- // request
|
|
|
this.$axios.get('/sampleinput/list', {
|
|
|
params
|
|
|
})
|
|
|
.then(res => {
|
|
|
- // response
|
|
|
_this.list = res.data.items
|
|
|
- // toggle loading
|
|
|
_this.currentItemCount = res.data.currentItemCount
|
|
|
})
|
|
|
.catch(err => {
|
|
|
- // handle error
|
|
|
console.error(err)
|
|
|
})
|
|
|
},
|
|
|
@@ -727,80 +749,13 @@
|
|
|
})
|
|
|
.then(res => {
|
|
|
_this.sampletypes = res.data.items
|
|
|
- }).catch(() => {})
|
|
|
- this.$axios.get('/sampleinput/getpublicsampletype', {
|
|
|
- _currentPage: -1
|
|
|
- })
|
|
|
- .then(res => {
|
|
|
- _this.publicsampletypes = res.data.items
|
|
|
- // 扩展列增加到显示列中
|
|
|
- let cachecols = store.get('sapminputshowcolumn')
|
|
|
- if (!(cachecols && cachecols !== '')) {
|
|
|
- for (let i = 0; i < _this.publicsampletypes.length; i++) {
|
|
|
- _this.showcolumn.push({
|
|
|
- filed: _this.publicsampletypes[i].FieldName,
|
|
|
- name: _this.publicsampletypes[i].Name,
|
|
|
- show: true,
|
|
|
- kuoz: true
|
|
|
- })
|
|
|
- }
|
|
|
- } else {
|
|
|
- // 新增和修改
|
|
|
- for (let i = 0; i < _this.publicsampletypes.length; i++) {
|
|
|
- let matchindex = -1
|
|
|
- for (let j = 0; j < _this.showcolumn.length; j++) {
|
|
|
- if (_this.showcolumn[j].filed === _this.publicsampletypes[i].FieldName && _this.showcolumn[j].kuoz) {
|
|
|
- matchindex = j
|
|
|
- break
|
|
|
- }
|
|
|
- }
|
|
|
- if (matchindex >= 0) {
|
|
|
- _this.showcolumn[matchindex] = {
|
|
|
- filed: _this.publicsampletypes[i].FieldName,
|
|
|
- name: _this.publicsampletypes[i].Name,
|
|
|
- show: _this.showcolumn[matchindex].show,
|
|
|
- kuoz: true,
|
|
|
- columnwidth: _this.showcolumn[matchindex].columnwidth
|
|
|
- }
|
|
|
- } else {
|
|
|
- _this.showcolumn.push({
|
|
|
- filed: _this.publicsampletypes[i].FieldName,
|
|
|
- name: _this.publicsampletypes[i].Name,
|
|
|
- show: true,
|
|
|
- kuoz: true
|
|
|
- })
|
|
|
- }
|
|
|
- }
|
|
|
- // 删除
|
|
|
- let showcolumntemp = _this.showcolumn
|
|
|
- _this.showcolumn = []
|
|
|
- for (let j = 0; j < showcolumntemp.length; j++) {
|
|
|
- if (!showcolumntemp[j].kuoz) {
|
|
|
- _this.showcolumn.push(showcolumntemp[j])
|
|
|
- } else {
|
|
|
- for (let i = 0; i < _this.publicsampletypes.length; i++) {
|
|
|
- if (showcolumntemp[j].filed === _this.publicsampletypes[i].FieldName) {
|
|
|
- _this.showcolumn.push(showcolumntemp[j])
|
|
|
- break
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- if (store.get('samplestoredseach').searchWithTemplate && store.get('samplestoredseach').searchWithTemplate !==
|
|
|
- '') { //自定义查询
|
|
|
+ if (store.get('samplestoredseach').searchWithTemplate && store.get('samplestoredseach')
|
|
|
+ .searchWithTemplate !== '') { //自定义查询
|
|
|
this.handleSearchCommand(store.get('samplestoredseach').searchWithTemplate)
|
|
|
} else {
|
|
|
- // initial data
|
|
|
this.initData()
|
|
|
}
|
|
|
}).catch(() => {})
|
|
|
- this.$axios.get('/sampleinput/getoperations', {
|
|
|
- _currentPage: -1
|
|
|
- })
|
|
|
- .then(res => {
|
|
|
- _this.zuzhitreelist = window.toolfun_gettreejson(res.data.items, 'id', 'pId', 'id,name,code')
|
|
|
- }).catch(() => {})
|
|
|
},
|
|
|
seachdata() {
|
|
|
if (this.selectedzuzhi.length > 0) {
|
|
|
@@ -819,8 +774,8 @@
|
|
|
if (_this.SampleType !== '') {
|
|
|
_this.$axios.get('/sampletype/gettykzzd?SampleType=' + _this.SampleType, {})
|
|
|
.then(res => {
|
|
|
- // response
|
|
|
_this.STNoteField = []
|
|
|
+ console.log("11111111111111", _this.typetykzlist)
|
|
|
_this.typetykzlist = res.data
|
|
|
})
|
|
|
}
|
|
|
@@ -832,7 +787,6 @@
|
|
|
if (_this.SampleType !== '') {
|
|
|
_this.$axios.get('/sampletype/gettykzzd?SampleType=' + _this.SampleType, {})
|
|
|
.then(res => {
|
|
|
- // response
|
|
|
_this.typetykzlist = res.data
|
|
|
})
|
|
|
}
|
|
|
@@ -945,35 +899,35 @@
|
|
|
}
|
|
|
}
|
|
|
},
|
|
|
- zuzhitreehandleChange(value) {
|
|
|
- if (this.selectedzuzhi.length > 0) {
|
|
|
- this.selectsigorg = this.selectedzuzhi[this.selectedzuzhi.length - 1] + ''
|
|
|
- this.$axios.get('/samplesite/getsitebyfcode?code=' + this.selectsigorg, {})
|
|
|
- .then(res => {
|
|
|
- this.SamplingSite = ''
|
|
|
- this.samplesitenames = res.data
|
|
|
- }).catch(() => {})
|
|
|
- }
|
|
|
- },
|
|
|
- searchzuzhitreehandleChange(value) {
|
|
|
- if (this.selectedzuzhi.length > 0) {
|
|
|
- this.selectsigorg = this.selectedzuzhi[this.selectedzuzhi.length - 1] + ''
|
|
|
- this.$axios.get('/samplesite/getsitebyfcode?code=' + this.selectsigorg, {})
|
|
|
- .then(res => {
|
|
|
- this.samplesitenames = res.data
|
|
|
- }).catch(() => {})
|
|
|
- }
|
|
|
- },
|
|
|
- zuzhitreehandleChange2(value) {
|
|
|
- if (this.selectedzuzhi2.length > 0) {
|
|
|
- let selectsigorg = this.selectedzuzhi2[this.selectedzuzhi2.length - 1] + ''
|
|
|
- this.$axios.get('/samplesite/getsitebyfcode?code=' + selectsigorg, {})
|
|
|
- .then(res => {
|
|
|
- this.searchValue.SamplingSite = ''
|
|
|
- this.samplesitenames2 = res.data
|
|
|
- }).catch(() => {})
|
|
|
- }
|
|
|
- },
|
|
|
+ // zuzhitreehandleChange(value) {
|
|
|
+ // if (this.selectedzuzhi.length > 0) {
|
|
|
+ // this.selectsigorg = this.selectedzuzhi[this.selectedzuzhi.length - 1] + ''
|
|
|
+ // this.$axios.get('/samplesite/getsitebyfcode?code=' + this.selectsigorg, {})
|
|
|
+ // .then(res => {
|
|
|
+ // this.SamplingSite = ''
|
|
|
+ // this.samplesitenames = res.data
|
|
|
+ // }).catch(() => {})
|
|
|
+ // }
|
|
|
+ // },
|
|
|
+ // searchzuzhitreehandleChange(value) {
|
|
|
+ // if (this.selectedzuzhi.length > 0) {
|
|
|
+ // this.selectsigorg = this.selectedzuzhi[this.selectedzuzhi.length - 1] + ''
|
|
|
+ // this.$axios.get('/samplesite/getsitebyfcode?code=' + this.selectsigorg, {})
|
|
|
+ // .then(res => {
|
|
|
+ // this.samplesitenames = res.data
|
|
|
+ // }).catch(() => {})
|
|
|
+ // }
|
|
|
+ // },
|
|
|
+ // zuzhitreehandleChange2(value) {
|
|
|
+ // if (this.selectedzuzhi2.length > 0) {
|
|
|
+ // let selectsigorg = this.selectedzuzhi2[this.selectedzuzhi2.length - 1] + ''
|
|
|
+ // this.$axios.get('/samplesite/getsitebyfcode?code=' + selectsigorg, {})
|
|
|
+ // .then(res => {
|
|
|
+ // this.searchValue.SamplingSite = ''
|
|
|
+ // this.samplesitenames2 = res.data
|
|
|
+ // }).catch(() => {})
|
|
|
+ // }
|
|
|
+ // },
|
|
|
chooseType(command) {
|
|
|
let _this = this
|
|
|
if (_this.multipleSelection.length < 1) {
|
|
|
@@ -1041,7 +995,7 @@
|
|
|
BarCode: this.BarCode,
|
|
|
SampleCode: this.SampleCode,
|
|
|
SampleType: this.SampleType,
|
|
|
- SamplingSite: this.SamplingSite,
|
|
|
+ // SamplingSite: this.SamplingSite,
|
|
|
Stnotevalue: this.Stnotevalue,
|
|
|
STNoteField: this.STNoteField,
|
|
|
Noteitemvalue: this.Noteitemvalue,
|
|
|
@@ -1052,7 +1006,7 @@
|
|
|
Validity: this.Validity,
|
|
|
InnerCode: this.InnerCode,
|
|
|
GroupName: this.GroupName,
|
|
|
- SamplingOrgan: this.selectsigorg,
|
|
|
+ // SamplingOrgan: this.selectsigorg,
|
|
|
showcolumnarr: showcolumnarr + '',
|
|
|
showcolumnnamearr: showcolumnnamearr + '',
|
|
|
ExportFlag: 'stored'
|
|
|
@@ -1172,8 +1126,9 @@
|
|
|
let errorMsg = ''
|
|
|
let count = 0
|
|
|
for (var i = 0; i < _this.multipleSelection.length; i++) {
|
|
|
- _this.$axios.delete('sampleinput/' + _this.multipleSelection[i].Id + '?sampletype=' + _this.multipleSelection[
|
|
|
- i].SampleType, null)
|
|
|
+ _this.$axios.delete('sampleinput/' + _this.multipleSelection[i].Id + '?sampletype=' + _this
|
|
|
+ .multipleSelection[
|
|
|
+ i].SampleType, null)
|
|
|
.then(res => {
|
|
|
// response
|
|
|
if (res.data.code === 0) {
|