|
|
@ -32,20 +32,173 @@ |
|
|
{{ scope.row.lastModificationTime | dateFormat }} |
|
|
{{ scope.row.lastModificationTime | dateFormat }} |
|
|
</template> |
|
|
</template> |
|
|
</el-table-column> |
|
|
</el-table-column> |
|
|
|
|
|
<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> |
|
|
</el-table> |
|
|
</el-card> |
|
|
</el-card> |
|
|
|
|
|
<el-dialog |
|
|
|
|
|
:title="title == 1 ? '新增' : '编辑'" |
|
|
|
|
|
:visible.sync="dialogVisible" |
|
|
|
|
|
width="75%" |
|
|
|
|
|
> |
|
|
|
|
|
<el-form ref="form" :model="form" label-width="100px" :rules="rules"> |
|
|
|
|
|
<el-row> |
|
|
|
|
|
<el-col :span="8"> |
|
|
|
|
|
<el-form-item label="名称" prop="displayName"> |
|
|
|
|
|
<el-input |
|
|
|
|
|
v-model="form.displayName" |
|
|
|
|
|
style="width: 100%" |
|
|
|
|
|
></el-input> </el-form-item |
|
|
|
|
|
></el-col> |
|
|
|
|
|
<el-col :span="8"> |
|
|
|
|
|
<el-form-item label="项目类别" prop="itemTypeId"> |
|
|
|
|
|
<el-select v-model="form.itemTypeId" placeholder="请选择"> |
|
|
|
|
|
<el-option |
|
|
|
|
|
v-for="item in itemTypeId" |
|
|
|
|
|
: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="isIll"> |
|
|
|
|
|
<el-select v-model="form.isIll" placeholder="请选择"> |
|
|
|
|
|
<el-option |
|
|
|
|
|
v-for="item in isIll" |
|
|
|
|
|
:key="item.value" |
|
|
|
|
|
:label="item.label" |
|
|
|
|
|
:value="item.value" |
|
|
|
|
|
> |
|
|
|
|
|
</el-option> |
|
|
|
|
|
</el-select> </el-form-item |
|
|
|
|
|
></el-col> |
|
|
|
|
|
<el-col :span="8"> |
|
|
|
|
|
<el-form-item label="建议名称" prop="suggestionName"> |
|
|
|
|
|
<el-input |
|
|
|
|
|
v-model="form.suggestionName" |
|
|
|
|
|
style="width: 100%" |
|
|
|
|
|
></el-input> |
|
|
|
|
|
</el-form-item> |
|
|
|
|
|
</el-col> |
|
|
|
|
|
<el-col :span="8"> |
|
|
|
|
|
<el-form-item label="是总检模板" prop="isSummaryTemplate"> |
|
|
|
|
|
<el-select |
|
|
|
|
|
v-model="form.isSummaryTemplate" |
|
|
|
|
|
placeholder="请选择" |
|
|
|
|
|
> |
|
|
|
|
|
<el-option |
|
|
|
|
|
v-for="item in isSummaryTemplate" |
|
|
|
|
|
:key="item.value" |
|
|
|
|
|
:label="item.label" |
|
|
|
|
|
:value="item.value" |
|
|
|
|
|
> |
|
|
|
|
|
</el-option> |
|
|
|
|
|
</el-select> |
|
|
|
|
|
</el-form-item> |
|
|
|
|
|
</el-col> |
|
|
|
|
|
<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="diagnosisLevelId"> |
|
|
|
|
|
<el-select v-model="form.diagnosisLevelId" placeholder="请选择"> |
|
|
|
|
|
<el-option |
|
|
|
|
|
v-for="item in diagnosisLevelId" |
|
|
|
|
|
: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> |
|
|
</div> |
|
|
<!-- 按钮区域 --> |
|
|
<!-- 按钮区域 --> |
|
|
<div style="margin-left: 10px; margin-top: 5%"> |
|
|
<div style="margin-left: 10px; margin-top: 5%"> |
|
|
<el-button type="primary" @click="add">新增</el-button> |
|
|
<el-button type="primary" @click="add">新增</el-button> |
|
|
|
|
|
<div style="margin-top: 10px"> |
|
|
|
|
|
<el-button type="primary" @click="edit">编辑</el-button> |
|
|
|
|
|
</div> |
|
|
|
|
|
<div style="margin-top: 10px"> |
|
|
|
|
|
<el-button type="danger" @click="delets">删除</el-button> |
|
|
|
|
|
</div> |
|
|
|
|
|
<div style="margin-top: 10px"> |
|
|
|
|
|
<el-button type="primary" @click="topping">置顶</el-button> |
|
|
|
|
|
</div> |
|
|
|
|
|
<div style="margin-top: 10px"> |
|
|
|
|
|
<el-button type="primary" @click="toppings">置底</el-button> |
|
|
|
|
|
</div> |
|
|
|
|
|
<div style="margin-top: 10px"> |
|
|
|
|
|
<el-button type="primary" :disabled="isshow" @click="assertion" |
|
|
|
|
|
>排序</el-button |
|
|
|
|
|
> |
|
|
|
|
|
</div> |
|
|
|
|
|
<div style="margin-top: 10px"> |
|
|
|
|
|
<el-button type="primary" :disabled="isshow" @click="cancellation" |
|
|
|
|
|
>取消</el-button |
|
|
|
|
|
> |
|
|
|
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
</template> |
|
|
</template> |
|
|
<script> |
|
|
<script> |
|
|
import { postapi } from "@/api/api"; |
|
|
|
|
|
|
|
|
import Sortable from "sortablejs"; |
|
|
|
|
|
import { postapi, getapi, putapi, deletapi } from "@/api/api"; |
|
|
|
|
|
import { projectlist } from "@/request/commonapi"; |
|
|
|
|
|
import { examinationgender, diagsislist } from "@/request/systemapi"; |
|
|
export default { |
|
|
export default { |
|
|
data() { |
|
|
data() { |
|
|
return { |
|
|
return { |
|
|
|
|
|
isshow: true, |
|
|
|
|
|
rules: { |
|
|
|
|
|
displayName: [ |
|
|
|
|
|
{ required: true, message: "请输入名称", trigger: "blur" }, |
|
|
|
|
|
], |
|
|
|
|
|
itemTypeId: [ |
|
|
|
|
|
{ required: true, message: "请选择项目类别", trigger: "blur" }, |
|
|
|
|
|
], |
|
|
|
|
|
suggestionName: [ |
|
|
|
|
|
{ required: true, message: "请输入建议名称", trigger: "blur" }, |
|
|
|
|
|
], |
|
|
|
|
|
isIll: [{ required: true, message: "请选择是疾病", trigger: "blur" }], |
|
|
|
|
|
isSummaryTemplate: [ |
|
|
|
|
|
{ required: true, message: "请选择是总检模板", trigger: "blur" }, |
|
|
|
|
|
], |
|
|
|
|
|
forSexId: [ |
|
|
|
|
|
{ required: true, message: "请选择适用性别", trigger: "blur" }, |
|
|
|
|
|
], |
|
|
|
|
|
diagnosisLevelId: [ |
|
|
|
|
|
{ required: true, message: "请选择诊断级别", trigger: "blur" }, |
|
|
|
|
|
], |
|
|
|
|
|
}, |
|
|
pages: { |
|
|
pages: { |
|
|
Filter: "", |
|
|
Filter: "", |
|
|
SkipCount: 0, |
|
|
SkipCount: 0, |
|
|
@ -56,19 +209,216 @@ export default { |
|
|
initTableData: [], |
|
|
initTableData: [], |
|
|
dialogVisible: false, |
|
|
dialogVisible: false, |
|
|
title: 1, |
|
|
title: 1, |
|
|
|
|
|
form: { |
|
|
|
|
|
displayName: "", |
|
|
|
|
|
itemTypeId: "", |
|
|
|
|
|
suggestionName: "", |
|
|
|
|
|
isIll: "", |
|
|
|
|
|
isSummaryTemplate: "", |
|
|
|
|
|
forSexId: "", |
|
|
|
|
|
diagnosisLevelId: "", |
|
|
|
|
|
}, |
|
|
|
|
|
isIll: [ |
|
|
|
|
|
{ |
|
|
|
|
|
value: "Y", |
|
|
|
|
|
label: "是", |
|
|
|
|
|
}, |
|
|
|
|
|
{ |
|
|
|
|
|
value: "N", |
|
|
|
|
|
label: "否", |
|
|
|
|
|
}, |
|
|
|
|
|
], //是疾病 |
|
|
|
|
|
isSummaryTemplate: [ |
|
|
|
|
|
{ |
|
|
|
|
|
value: "Y", |
|
|
|
|
|
label: "是", |
|
|
|
|
|
}, |
|
|
|
|
|
{ |
|
|
|
|
|
value: "N", |
|
|
|
|
|
label: "否", |
|
|
|
|
|
}, |
|
|
|
|
|
], //是总监模板 |
|
|
|
|
|
|
|
|
|
|
|
itemTypeId: [], //项目类别 |
|
|
|
|
|
forSexId: [], //性别 |
|
|
|
|
|
diagnosisLevelId: [], //诊断级别 |
|
|
}; |
|
|
}; |
|
|
}, |
|
|
}, |
|
|
created() { |
|
|
created() { |
|
|
this.getlist(); |
|
|
this.getlist(); |
|
|
}, |
|
|
}, |
|
|
|
|
|
mounted() { |
|
|
|
|
|
this.rowDrop(); |
|
|
|
|
|
}, |
|
|
methods: { |
|
|
methods: { |
|
|
|
|
|
//取消排序 |
|
|
|
|
|
cancellation() { |
|
|
|
|
|
this.$message.info("取消操作"); |
|
|
|
|
|
this.isshow = true; |
|
|
|
|
|
this.getlist(); |
|
|
|
|
|
}, |
|
|
|
|
|
//确定排序 |
|
|
|
|
|
assertion() { |
|
|
|
|
|
const result = []; |
|
|
|
|
|
this.tableData.forEach((item, index) => { |
|
|
|
|
|
// index 从0开始的, 你的displayOrder从大到小排 |
|
|
|
|
|
console.log(item.id); |
|
|
|
|
|
// const currentDisplayOrder = this.tableData.length -1 |
|
|
|
|
|
const currentDisplayOrder = this.initTableData[index].displayOrder; |
|
|
|
|
|
if (item.displayOrder != currentDisplayOrder) { |
|
|
|
|
|
// 如果它的displayOrder和它当前所在的位置不同代表挪动过位置 |
|
|
|
|
|
result.push({ id: item.id, displayOrder: currentDisplayOrder }); |
|
|
|
|
|
} |
|
|
|
|
|
}); |
|
|
|
|
|
putapi("/api/app/diagnosis/updatesortmany", { itemList: result }).then( |
|
|
|
|
|
(res) => { |
|
|
|
|
|
this.$message.success("操作成功"); |
|
|
|
|
|
this.isshow = true; |
|
|
|
|
|
this.getlist(); |
|
|
|
|
|
} |
|
|
|
|
|
); |
|
|
|
|
|
}, |
|
|
|
|
|
//初始化 |
|
|
|
|
|
rowDrop() { |
|
|
|
|
|
this.$nextTick(() => { |
|
|
|
|
|
const tbody = document.querySelector(".el-table__body-wrapper tbody"); |
|
|
|
|
|
const _this = this; |
|
|
|
|
|
Sortable.create(tbody, { |
|
|
|
|
|
handle: ".move", |
|
|
|
|
|
animation: 300, |
|
|
|
|
|
// 指定父元素下可被拖拽的子元素 |
|
|
|
|
|
// draggable: ".module-manager .el-table__row", |
|
|
|
|
|
onEnd({ newIndex, oldIndex }) { |
|
|
|
|
|
// console.log(arr); |
|
|
|
|
|
_this.isshow = false; |
|
|
|
|
|
const currRow = _this.tableData.splice(oldIndex, 1)[0]; |
|
|
|
|
|
_this.tableData.splice(newIndex, 0, currRow); |
|
|
|
|
|
_this.tableData.map((item, index) => { |
|
|
|
|
|
if (index == newIndex && index == oldIndex) { |
|
|
|
|
|
// console.log(item, "新数据"); |
|
|
|
|
|
} else if (index == oldIndex) { |
|
|
|
|
|
} else if (index == newIndex) { |
|
|
|
|
|
} |
|
|
|
|
|
}); |
|
|
|
|
|
console.log(_this.tableData.map((item) => item.displayOrder)); |
|
|
|
|
|
}, |
|
|
|
|
|
}); |
|
|
|
|
|
}); |
|
|
|
|
|
}, |
|
|
|
|
|
toppings() { |
|
|
|
|
|
if (this.form.id == undefined) { |
|
|
|
|
|
this.$message.warning("请选择操作的数据"); |
|
|
|
|
|
} else { |
|
|
|
|
|
putapi( |
|
|
|
|
|
`/api/app/diagnosis/updatemanysort?id=${this.form.id}&SortType=${2}` |
|
|
|
|
|
).then((res) => { |
|
|
|
|
|
this.$message.success("操作成功"); |
|
|
|
|
|
this.getlist(); |
|
|
|
|
|
}); |
|
|
|
|
|
} |
|
|
|
|
|
}, |
|
|
|
|
|
topping() { |
|
|
|
|
|
if (this.form.id == undefined) { |
|
|
|
|
|
this.$message.warning("请选择操作的数据"); |
|
|
|
|
|
} else { |
|
|
|
|
|
putapi( |
|
|
|
|
|
`/api/app/diagnosis/updatemanysort?id=${this.form.id}&SortType=${1}` |
|
|
|
|
|
).then((res) => { |
|
|
|
|
|
this.$message.success("操作成功"); |
|
|
|
|
|
this.getlist(); |
|
|
|
|
|
}); |
|
|
|
|
|
} |
|
|
|
|
|
}, |
|
|
|
|
|
//删除 |
|
|
|
|
|
delets(row) { |
|
|
|
|
|
if (this.form.id == undefined) { |
|
|
|
|
|
this.$message.warning("请选择删除的数据"); |
|
|
|
|
|
} else { |
|
|
|
|
|
this.$confirm("是否确认删除,是否继续?", "提示", { |
|
|
|
|
|
confirmButtonText: "确定", |
|
|
|
|
|
cancelButtonText: "取消", |
|
|
|
|
|
type: "warning", |
|
|
|
|
|
}) |
|
|
|
|
|
.then(() => { |
|
|
|
|
|
deletapi(`/api/app/diagnosis/${this.form.id}`).then((res) => { |
|
|
|
|
|
this.$message.success("删除成功"); |
|
|
|
|
|
this.getlist(); |
|
|
|
|
|
}); |
|
|
|
|
|
}) |
|
|
|
|
|
.catch(() => { |
|
|
|
|
|
this.$message.info("已取消操作"); |
|
|
|
|
|
}); |
|
|
|
|
|
} |
|
|
|
|
|
}, |
|
|
|
|
|
//编辑弹框 |
|
|
|
|
|
edit(row) { |
|
|
|
|
|
if (this.form.id == undefined) { |
|
|
|
|
|
this.$message.warning("请选择操作的数据"); |
|
|
|
|
|
} else { |
|
|
|
|
|
//项目类别 |
|
|
|
|
|
projectlist().then((res) => { |
|
|
|
|
|
this.itemTypeId = res.data.items; |
|
|
|
|
|
}); |
|
|
|
|
|
//性别 |
|
|
|
|
|
examinationgender().then((res) => { |
|
|
|
|
|
this.forSexId = res.data; |
|
|
|
|
|
}); |
|
|
|
|
|
//诊断级别 |
|
|
|
|
|
diagsislist().then((res) => { |
|
|
|
|
|
this.diagnosisLevelId = res.data.items; |
|
|
|
|
|
}); |
|
|
|
|
|
this.title = 2; |
|
|
|
|
|
|
|
|
|
|
|
this.dialogVisible = true; |
|
|
|
|
|
} |
|
|
|
|
|
}, |
|
|
|
|
|
//确定新增或者编辑 |
|
|
|
|
|
onsbmint() { |
|
|
|
|
|
this.$refs.form.validate((v) => { |
|
|
|
|
|
if (v) { |
|
|
|
|
|
if (this.title == 1) { |
|
|
|
|
|
postapi("/api/app/diagnosis", this.form).then((res) => { |
|
|
|
|
|
this.$message.success("新增成功"); |
|
|
|
|
|
this.getlist(); |
|
|
|
|
|
this.dialogVisible = false; |
|
|
|
|
|
}); |
|
|
|
|
|
} else if (this.title == 2) { |
|
|
|
|
|
putapi(`/api/app/diagnosis/${this.form.id}`, this.form).then( |
|
|
|
|
|
(res) => { |
|
|
|
|
|
this.$message.success("修改成功"); |
|
|
|
|
|
this.getlist(); |
|
|
|
|
|
this.dialogVisible = false; |
|
|
|
|
|
} |
|
|
|
|
|
); |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
}); |
|
|
|
|
|
// postapi('/api/app/diagnosis',this) |
|
|
|
|
|
}, |
|
|
//新增弹框 |
|
|
//新增弹框 |
|
|
add() { |
|
|
add() { |
|
|
this.dialogVisible = true; |
|
|
this.dialogVisible = true; |
|
|
this.title = 1; |
|
|
this.title = 1; |
|
|
this.form = {}; |
|
|
this.form = {}; |
|
|
|
|
|
//项目类别 |
|
|
|
|
|
projectlist().then((res) => { |
|
|
|
|
|
this.itemTypeId = res.data.items; |
|
|
|
|
|
}); |
|
|
|
|
|
//性别 |
|
|
|
|
|
examinationgender().then((res) => { |
|
|
|
|
|
this.forSexId = res.data; |
|
|
|
|
|
}); |
|
|
|
|
|
//诊断级别 |
|
|
|
|
|
diagsislist().then((res) => { |
|
|
|
|
|
this.diagnosisLevelId = res.data.items; |
|
|
|
|
|
}); |
|
|
|
|
|
}, |
|
|
|
|
|
rowick(row) { |
|
|
|
|
|
getapi(`/api/app/diagnosis/${row.id}`).then((res) => { |
|
|
|
|
|
this.form = res.data; |
|
|
|
|
|
}); |
|
|
|
|
|
console.log(row); |
|
|
}, |
|
|
}, |
|
|
rowick() {}, |
|
|
|
|
|
getlist() { |
|
|
getlist() { |
|
|
postapi("/api/app/diagnosis/getlistinfilter", this.pages).then((res) => { |
|
|
postapi("/api/app/diagnosis/getlistinfilter", this.pages).then((res) => { |
|
|
this.initTableData = [...res.data.items]; |
|
|
this.initTableData = [...res.data.items]; |
|
|
|