You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
265 lines
9.0 KiB
265 lines
9.0 KiB
<template>
|
|
<div class="box" style="width: 100%">
|
|
<div style="width: 90%">
|
|
<el-table :data="tableData" border style="width: 100%" row-key="id" class="el-table__body-wrapper tbody"
|
|
height="200" @row-click="rowick" highlight-current-row>
|
|
<el-table-column prop="forSexId" label="性别" />
|
|
<el-table-column prop="ageLowerLimit" label="年龄上限" />
|
|
<el-table-column prop="ageUpperLimit" label="年龄下限" />
|
|
<el-table-column prop="referenceRangeValue" label="参考范围" />
|
|
<el-table-column prop="criticalRangeValue" label="警告范围" />
|
|
<el-table-column prop="lowerDiagnosisId" label="偏低诊断" />
|
|
<el-table-column prop="upperDiagnosisId" label="偏高诊断" />
|
|
|
|
<el-table-column label="操作" width="">
|
|
<template>
|
|
<el-tag class="move" style="cursor: move; margin-left: 15px" draggable="true">
|
|
<i class="el-icon-d-caret" style="width: 1rem; height: 1rem"></i>
|
|
</el-tag>
|
|
</template>
|
|
</el-table-column>
|
|
</el-table>
|
|
</div>
|
|
<!-- 按钮区域 -->
|
|
<div style="margin-left: 10px;width: 10%">
|
|
<div style=" margin-top: 20px">
|
|
<el-button type="success" @click="add">新增</el-button>
|
|
</div>
|
|
<div style="margin-top: 10px">
|
|
<el-button type="primary" @click="edit">编辑</el-button>
|
|
</div>
|
|
<div style="margin-top: 10px">
|
|
<el-button type="danger" @click="del">删除</el-button>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- 新增或者编辑弹框 -->
|
|
<el-dialog :title="id ? '编辑' : '新增'" :visible.sync="dialogVisible" width="70%" :append-to-body="true">
|
|
<el-form ref="form" :model="form" label-width="100px" :rules="rules">
|
|
<el-row>
|
|
<el-col :span="8">
|
|
<el-form-item label="性别" prop="forSexId">
|
|
<el-select v-model="form.forSexId" placeholder="请选择">
|
|
<el-option v-for="item in forSexId" :key="item.id" :label="item.displayName" :value="item.id">
|
|
</el-option>
|
|
</el-select> </el-form-item>
|
|
</el-col>
|
|
<el-col :span="8">
|
|
<el-form-item label="年龄下限" prop="ageLowerLimit">
|
|
<el-input v-model="form.ageLowerLimit" style="width: 100%"></el-input> </el-form-item></el-col>
|
|
<el-col :span="8">
|
|
<el-form-item label="年龄上限" prop="ageUpperLimit">
|
|
<el-input v-model="form.ageUpperLimit" style="width: 85%"></el-input> </el-form-item></el-col>
|
|
<el-col :span="8">
|
|
<el-form-item label="参考范围" prop="referenceRangeValue">
|
|
<el-input v-model="form.referenceRangeValue" style="width: 85%"></el-input> </el-form-item></el-col>
|
|
<el-col :span="8">
|
|
<el-form-item label="警告范围" prop="criticalRangeValue">
|
|
<el-input v-model="form.criticalRangeValue" style="width: 100%"></el-input> </el-form-item></el-col>
|
|
<el-col :span="8">
|
|
<el-form-item label="偏低诊断" prop="lowerDiagnosisId">
|
|
<el-select v-model="form.lowerDiagnosisId" placeholder="请选择">
|
|
<el-option v-for="item in lowerDiagnosisId" :key="item.id" :label="item.displayName" :value="item.id">
|
|
</el-option>
|
|
</el-select> </el-form-item></el-col>
|
|
<el-col :span="8">
|
|
<el-form-item label="偏高诊断" prop="upperDiagnosisId">
|
|
<el-select v-model="form.upperDiagnosisId" placeholder="请选择">
|
|
<el-option v-for="item in upperDiagnosisId" :key="item.id" :label="item.displayName" :value="item.id">
|
|
</el-option>
|
|
</el-select> </el-form-item></el-col>
|
|
</el-row>
|
|
</el-form>
|
|
<span slot="footer" class="dialog-footer">
|
|
<el-button type="primary" @click="onsbmint">确 定</el-button>
|
|
<el-button @click="dialogVisible = false">关 闭</el-button>
|
|
</span>
|
|
</el-dialog>
|
|
</div>
|
|
</template>
|
|
|
|
<script>
|
|
import { mapState } from "vuex";
|
|
import { getapi, postapi, putapi,deletapi } from "@/api/api";
|
|
import { referencerangelist, getporjectlists } from "@/request/commonapi";
|
|
import { examinationgender } from "@/request/systemapi";
|
|
// import
|
|
export default {
|
|
props: ['itemId', 'ReferenceRangeTypeFlag'],
|
|
data() {
|
|
return {
|
|
rules: {
|
|
itemId: [{ required: true, message: "请选择项目", trigger: "blur" }],
|
|
forSexId: [{ required: true, message: "请选择性别", trigger: "blur" }],
|
|
ageLowerLimit: [
|
|
{ required: true, message: "请输入年龄下限", trigger: "blur" },
|
|
],
|
|
ageUpperLimit: [
|
|
{ required: true, message: "请输入年龄上限", trigger: "blur" },
|
|
],
|
|
referenceRangeValue: [
|
|
{ required: true, message: "请输入引用范围", trigger: "blur" },
|
|
],
|
|
criticalRangeValue: [
|
|
{ required: true, message: "请输入临界范围", trigger: "blur" },
|
|
],
|
|
lowerDiagnosisId: [
|
|
{ required: true, message: "请选择偏低诊断", trigger: "blur" },
|
|
],
|
|
upperDiagnosisId: [
|
|
{ required: true, message: "请选择偏高诊断", trigger: "blur" },
|
|
],
|
|
},
|
|
pages: {
|
|
SkipCount: 0,
|
|
MaxResultCount: 100,
|
|
// Sorting: "displayOrder desc",
|
|
},
|
|
dialogVisible: false,
|
|
title: 1,
|
|
form: {
|
|
itemId: "",
|
|
forSexId: "",
|
|
ageLowerLimit: "",
|
|
ageUpperLimit: "",
|
|
referenceRangeValue: "",
|
|
criticalRangeValue: "",
|
|
lowerDiagnosisId: "",
|
|
upperDiagnosisId: "",
|
|
referenceRangeTypeFlag: "1"
|
|
},
|
|
id: '', //新增/编辑 或删除的记录 id
|
|
forSexId: [], //性别
|
|
lowerDiagnosisId: [], //偏低诊断
|
|
upperDiagnosisId: [], //偏高诊断
|
|
initTableData: [],
|
|
tableData: [],
|
|
};
|
|
},
|
|
|
|
created() {
|
|
|
|
},
|
|
|
|
mounted() {
|
|
//console.log('@子节点', this.itemId, this.ReferenceRangeTypeFlag)
|
|
this.getlist(this.itemId, this.ReferenceRangeTypeFlag);
|
|
this.addtoedit()
|
|
},
|
|
computed: {
|
|
...mapState(['itemSet'])
|
|
},
|
|
methods: {
|
|
getlist(itemId, ReferenceRangeTypeFlag) {
|
|
//http://81.70.217.145:9529/api/app/reference-range/in-type/3a0bcedc-328c-9322-e75d-343c3ce557fb?ReferenceRangeTypeFlag=1
|
|
getapi(`/api/app/reference-range/in-type/${itemId}?ReferenceRangeTypeFlag=${ReferenceRangeTypeFlag}`).then((res) => {
|
|
this.tableData = res.data;
|
|
});
|
|
},
|
|
|
|
rowick(row) {
|
|
this.id = row.id
|
|
this.form = row
|
|
},
|
|
|
|
|
|
|
|
|
|
// 新增或者编辑需要的类别
|
|
addtoedit() {
|
|
//性别
|
|
examinationgender().then((res) => {
|
|
this.forSexId = res.data;
|
|
});
|
|
//诊断
|
|
postapi("/api/app/diagnosis/getlistinfilter").then((res) => {
|
|
this.lowerDiagnosisId = res.data.items;
|
|
this.upperDiagnosisId = res.data.items;
|
|
});
|
|
},
|
|
|
|
add() {
|
|
this.id = ''
|
|
this.form = { itemId: this.itemId, referenceRangeTypeFlag: this.ReferenceRangeTypeFlag }
|
|
this.dialogVisible = true;
|
|
},
|
|
|
|
//编辑弹框
|
|
edit() {
|
|
if (!this.id) {
|
|
alert("请先选中要编辑的记录")
|
|
return
|
|
}
|
|
this.dialogVisible = true;
|
|
},
|
|
|
|
del() {
|
|
//this.$message.success("删除操作");
|
|
if (!this.id) {
|
|
alert("请先选中要删除的记录")
|
|
return
|
|
}
|
|
this.$confirm('此操作将永久删除该记录, 是否继续?', '提示', {
|
|
confirmButtonText: '确定',
|
|
cancelButtonText: '取消',
|
|
type: 'warning'
|
|
}).then(() => {
|
|
deletapi(`/api/app/reference-range/${this.id}`, this.form).then(res => {
|
|
this.$message.success('删除成功')
|
|
this.getlist(this.itemId, this.ReferenceRangeTypeFlag)
|
|
this.id = ''
|
|
})
|
|
}).catch(() => {
|
|
this.$message({
|
|
type: 'info',
|
|
message: '已取消删除'
|
|
});
|
|
});
|
|
|
|
},
|
|
|
|
//确定新增或者编辑
|
|
onsbmint() {
|
|
this.$refs['form'].validate((v) => {
|
|
if (v) {
|
|
if (!this.id) {
|
|
postapi("/api/app/reference-range", this.form).then((res) => {
|
|
this.$message.success("新增成功");
|
|
this.getlist(this.itemId, this.ReferenceRangeTypeFlag);
|
|
console.log('res',res)
|
|
this.id = res.data.id;
|
|
});
|
|
}
|
|
else {
|
|
putapi(`/api/app/reference-range/${this.id}`, this.form).then(res => {
|
|
this.$message.success('修改成功')
|
|
this.getlist(this.itemId, this.ReferenceRangeTypeFlag);
|
|
})
|
|
}
|
|
}
|
|
});
|
|
},
|
|
|
|
},
|
|
|
|
//监听事件
|
|
watch: {
|
|
//itemId','ReferenceRangeTypeFlag'
|
|
'itemId'(newVal, oldVal) {
|
|
if (newVal != oldVal && newVal != "") {
|
|
this.getlist(this.itemId, this.ReferenceRangeTypeFlag);
|
|
}
|
|
},
|
|
'ReferenceRangeTypeFlag'(newVal, oldVal) {
|
|
if (newVal != oldVal && newVal != "") {
|
|
this.getlist(this.itemId, this.ReferenceRangeTypeFlag);
|
|
}
|
|
},
|
|
},
|
|
};
|
|
</script>
|
|
<style scoped>
|
|
.box {
|
|
display: flex;
|
|
}
|
|
</style>
|