Browse Source

item

master
pengjun 2 years ago
parent
commit
ff0532fd36
  1. 239
      src/components/itemSet/ReferenceRange.vue
  2. 79
      src/views/fee-settings/Item.vue
  3. 1690
      src/views/fee-settings/ItemBak.vue

239
src/components/itemSet/ReferenceRange.vue

@ -0,0 +1,239 @@
<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%">
<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 @click="dialogVisible = false"> </el-button>
<el-button type="primary" @click="onsbmint"> </el-button>
</span>
</el-dialog>
</div>
</template>
<script>
import { getapi, postapi, putapi } 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()
},
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() {
this.dialogVisible = true;
},
del() {
this.$message.success("删除操作");
if (!this.id) {
alert("请先选中要删除的记录")
return
}
},
//
onsbmint() {
this.$refs.form.validate((v) => {
if (v) {
if (this.title == 1) {
postapi("/api/app/reference-range", this.form).then((res) => {
this.$message.success("新增成功");
this.getlist();
this.dialogVisible = false;
});
} else if (this.title == 2) {
putapi(`/api/app/reference-range/${this.form.id}`, this.form).then(res => {
this.$message.success('修改成功')
this.getlist()
this.dialogVisible = false
})
}
}
});
},
},
//
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>

79
src/views/fee-settings/Item.vue

@ -547,75 +547,7 @@
></el-card> ></el-card>
<!-- 数字型参考范围 --> <!-- 数字型参考范围 -->
<div style="display: flex" v-if="referencerangevalue == 1"> <div style="display: flex" v-if="referencerangevalue == 1">
<div style="width: 95%">
<el-card style="margin-top: 20px">
<el-table :data="referencerangedata">
<el-table-column label="性别" prop="gender">
<template slot-scope="scope">
<el-select
v-model="sexname[scope.row.displayName - 1]"
placeholder="请选择"
>
<el-option
v-for="item in sexid"
:key="item.id"
:label="item.displayName"
:value="item.id"
>
</el-option>
</el-select>
</template>
</el-table-column>
<el-table-column label="年龄范围">
<template slot-scope="item">
<el-input
v-model="item.row.name"
@blur="blurInput(item.row.id, 'name', item.row.name)"
></el-input>
</template>
</el-table-column>
<el-table-column label="参考范围值">
<template slot-scope="item">
<el-input v-model="item.row.displayName"></el-input>
</template>
</el-table-column>
<!-- <el-table-column label="警告下限"></el-table-column> -->
<el-table-column label="警告范围">
<template slot-scope="item">
<el-input v-model="item.row.aaa"></el-input>
</template>
</el-table-column>
<el-table-column label="诊断范围">
<template slot-scope="scope">
<el-select
v-model="value[scope.row.displayName - 1]"
placeholder="请选择"
>
<el-option
v-for="item in scopediagnostic"
:key="item.id"
:label="item.displayName"
:value="item.id"
>
</el-option>
</el-select>
</template>
</el-table-column>
</el-table>
</el-card>
</div>
<div style="margin-left: 10px; margin-top: 30px">
<el-button type="primary" @click="digitaladdion">添加</el-button>
<div style="margin-top: 5px">
<el-button
type="primary"
size="mini"
@click="diagnosticsettings"
style="width: 70px; height: 50px"
>诊断设置</el-button
>
</div>
</div>
<ReferenceRange :itemId="form.id" ReferenceRangeTypeFlag="1"/>
</div> </div>
<!-- 字符型参考范围 --> <!-- 字符型参考范围 -->
<div v-if="referencerangevalue == 2"> <div v-if="referencerangevalue == 2">
@ -649,10 +581,9 @@
</div> </div>
</div> </div>
</div> </div>
<!-- 数字型参考范围 -->
<!-- 性激素参考范围 --> <!-- 性激素参考范围 -->
<div v-if="referencerangevalue == 2"></div> <div v-if="referencerangevalue == 2"></div>
<span slot="footer" class="dialog-footer">
<span slot="footer" class="dialog-footer" v-if="referencerangevalue !== '1'">
<el-button @click="referencerangedialogVisible = false" <el-button @click="referencerangedialogVisible = false"
> </el-button > </el-button
> >
@ -881,7 +812,13 @@ import {
import { unitlist } from "@/request/systemapi"; import { unitlist } from "@/request/systemapi";
import Sortable from "sortablejs"; import Sortable from "sortablejs";
import { getapi, postapi, putapi, deletapi } from "@/api/api"; import { getapi, postapi, putapi, deletapi } from "@/api/api";
import ReferenceRange from '../../components/itemSet/ReferenceRange.vue'
export default { export default {
components: {
ReferenceRange
},
data() { data() {
return { return {
value: "", value: "",

1690
src/views/fee-settings/ItemBak.vue
File diff suppressed because it is too large
View File

Loading…
Cancel
Save