3 changed files with 561 additions and 8 deletions
-
6src/router/index.js
-
504src/views/basic-dictionary/DiseaseScreening.vue
-
59src/views/fee-settings/Asbitem.vue
@ -0,0 +1,504 @@ |
|||||
|
<template> |
||||
|
<div class="box"> |
||||
|
<div style="position: relative"> |
||||
|
<div class="middlebox"> |
||||
|
<div class="contenttitle"> |
||||
|
基本字典 / |
||||
|
<span class="contenttitleBold" |
||||
|
>疾病筛查类别</span |
||||
|
> |
||||
|
</div> |
||||
|
<!-- <div class="seachinput"> |
||||
|
<el-select |
||||
|
v-model="department" |
||||
|
placeholder="请搜索" |
||||
|
filterable |
||||
|
:filter-method="remoteMethodes" |
||||
|
default-first-option |
||||
|
@change="quckDepartments" |
||||
|
clearable |
||||
|
size="small" |
||||
|
> |
||||
|
<el-option |
||||
|
v-for="item in quckDepartment" |
||||
|
:key="item.id" |
||||
|
:label="item.displayName" |
||||
|
:value="item.id" |
||||
|
> |
||||
|
</el-option> |
||||
|
</el-select> |
||||
|
</div> --> |
||||
|
</div> |
||||
|
<div style="display: block; margin-top: 7px; margin-right: 110px"> |
||||
|
<div style="background-color: #fff; padding: 15px; border-radius: 8px"> |
||||
|
<div id="printTest"> |
||||
|
<el-table |
||||
|
:data="tableData" |
||||
|
row-key="id" |
||||
|
class="el-table__body-wrapper tbody" |
||||
|
@row-click="rowick" |
||||
|
highlight-current-row |
||||
|
:height="window.pageHeight < 600 ? 480 : window.pageHeight - 130" |
||||
|
ref="tableData" |
||||
|
> |
||||
|
<el-table-column prop="id" label="编号" width="300"> |
||||
|
</el-table-column> |
||||
|
<el-table-column prop="displayName" label="名称" width=""> |
||||
|
</el-table-column> |
||||
|
<el-table-column prop="creatorName" label="创建者" width=""> |
||||
|
</el-table-column> |
||||
|
<el-table-column prop="lastModifierName" label="修改者" width=""> |
||||
|
</el-table-column> |
||||
|
<!-- <el-table-column prop="simpleCode" label="简称" width="180"> |
||||
|
</el-table-column> --> |
||||
|
<el-table-column prop="creationTime" label="创建时间" width="200"> |
||||
|
<template slot-scope="scope"> |
||||
|
{{ scope.row.creationTime | dateFormat }} |
||||
|
</template> |
||||
|
</el-table-column> |
||||
|
<el-table-column |
||||
|
prop="lastModificationTime" |
||||
|
label="修改时间" |
||||
|
width="200" |
||||
|
> |
||||
|
<template slot-scope="scope"> |
||||
|
{{ scope.row.lastModificationTime | dateFormat }} |
||||
|
</template> |
||||
|
</el-table-column> |
||||
|
<el-table-column label="操作" width="" align="center"> |
||||
|
<template> |
||||
|
<el-tag |
||||
|
class="move" |
||||
|
style=" |
||||
|
cursor: move; |
||||
|
background-color: rgb(245, 245, 245); |
||||
|
border: none; |
||||
|
" |
||||
|
draggable="true" |
||||
|
> |
||||
|
<i |
||||
|
class="el-icon-d-caret" |
||||
|
style="width: 1rem; height: 1rem; color: rgb(113, 113, 113)" |
||||
|
></i> |
||||
|
</el-tag> |
||||
|
</template> |
||||
|
</el-table-column> |
||||
|
</el-table> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
<!-- 按钮区域 --> |
||||
|
<div style="margin-left: 10px;margin-top: 3%;position: absolute;top: 0;right: 0;"> |
||||
|
<el-button type="" @click="add" class="commonbutton">新增</el-button> |
||||
|
<div style="margin-top: 10px"> |
||||
|
<el-button type="" @click="edlits" class="commonbutton">编辑</el-button> |
||||
|
</div> |
||||
|
<div style="margin-top: 10px"> |
||||
|
<el-button type="" @click="deleteid" class="deleteButton" |
||||
|
>删除</el-button |
||||
|
> |
||||
|
</div> |
||||
|
<div style="margin-top: 10px"> |
||||
|
<el-button type="" @click="topping" class="commonbutton" |
||||
|
>置顶</el-button |
||||
|
> |
||||
|
</div> |
||||
|
<div style="margin-top: 10px"> |
||||
|
<el-button type="" @click="toppings" class="commonbutton" |
||||
|
>置底</el-button |
||||
|
> |
||||
|
</div> |
||||
|
<div style="margin-top: 10px"> |
||||
|
<el-button |
||||
|
type="" |
||||
|
:disabled="isshow" |
||||
|
@click="assertion" |
||||
|
class="commonbutton" |
||||
|
>排序</el-button |
||||
|
> |
||||
|
</div> |
||||
|
<div style="margin-top: 10px"> |
||||
|
<el-button |
||||
|
type="" |
||||
|
:disabled="isshow" |
||||
|
@click="cancellation" |
||||
|
class="commonbutton" |
||||
|
>取消</el-button |
||||
|
> |
||||
|
</div> |
||||
|
</div> |
||||
|
<!-- <div class="cancelorconfirm"></div> --> |
||||
|
<!-- 新增或者编辑弹框 --> |
||||
|
|
||||
|
<el-dialog |
||||
|
:title="title == 1 ? '新增' : '修改'" |
||||
|
:visible.sync="dialogVisible" |
||||
|
width="75%" |
||||
|
:close-on-click-modal="false" |
||||
|
> |
||||
|
<el-form ref="form" :model="form" label-width="80px"> |
||||
|
<el-row> |
||||
|
<el-col :span="12"> |
||||
|
<el-form-item label="编号"> |
||||
|
<el-input |
||||
|
v-model="form.id" |
||||
|
style="width: 65%" |
||||
|
disabled |
||||
|
size="small" |
||||
|
></el-input> |
||||
|
</el-form-item> |
||||
|
</el-col> |
||||
|
<el-col :span="12"> |
||||
|
<el-form-item label="名称"> |
||||
|
<el-input |
||||
|
ref="refinput" |
||||
|
v-model="form.displayName" |
||||
|
style="width: 65%" |
||||
|
size="small" |
||||
|
></el-input> |
||||
|
</el-form-item> |
||||
|
</el-col> |
||||
|
</el-row> |
||||
|
<el-row> |
||||
|
<el-divider></el-divider> |
||||
|
<el-col :span="4" style="margin-left: 15px"> |
||||
|
<el-form-item label="创建者"> |
||||
|
<el-input v-model="form.creatorName" disabled size="small"></el-input> |
||||
|
</el-form-item> |
||||
|
</el-col> |
||||
|
<el-col :span="6"> |
||||
|
<el-form-item label="创建时间"> |
||||
|
<el-input |
||||
|
:value="form.creationTime | dateFormat" |
||||
|
disabled |
||||
|
size="small" |
||||
|
></el-input> |
||||
|
</el-form-item> |
||||
|
</el-col> |
||||
|
<el-col :span="4"> |
||||
|
<el-form-item label="修改者"> |
||||
|
<el-input v-model="form.lastModifierName" disabled size="small"></el-input> |
||||
|
</el-form-item> |
||||
|
</el-col> |
||||
|
<el-col :span="6"> |
||||
|
<el-form-item label="修改时间"> |
||||
|
<el-input |
||||
|
style="width: 85%" |
||||
|
:value="form.lastModificationTime | dateFormat" |
||||
|
disabled |
||||
|
size="small" |
||||
|
></el-input> |
||||
|
</el-form-item> |
||||
|
</el-col> |
||||
|
</el-row> |
||||
|
</el-form> |
||||
|
<span slot="footer" class="dialog-footer"> |
||||
|
<el-button @click="dialogVisible = false" class="difference">取 消</el-button> |
||||
|
<el-button type="primary" @click="addoredit" class="commonbutton" |
||||
|
>确 定</el-button |
||||
|
> |
||||
|
</span> |
||||
|
</el-dialog> |
||||
|
</div> |
||||
|
</div> |
||||
|
</template> |
||||
|
<script> |
||||
|
import Sortable from "sortablejs"; |
||||
|
import { mapState } from "vuex"; |
||||
|
import { |
||||
|
examinationlist, |
||||
|
newphysical, |
||||
|
listsid, |
||||
|
Modifiers, |
||||
|
deletecol, |
||||
|
medicaltopbottom, |
||||
|
examinationdragging, |
||||
|
} from "../../request/systemapi"; |
||||
|
import { postapi } from '@/api/api'; |
||||
|
export default { |
||||
|
data() { |
||||
|
return { |
||||
|
isshow: true, |
||||
|
dialogVisible: false, |
||||
|
title: 1, |
||||
|
form: { |
||||
|
displayName: "", |
||||
|
}, |
||||
|
tableData: [], |
||||
|
initTableData: [], |
||||
|
curRow: {}, |
||||
|
department:"", |
||||
|
quckDepartment:[] |
||||
|
}; |
||||
|
}, |
||||
|
created() { |
||||
|
this.getlist(); |
||||
|
}, |
||||
|
mounted() { |
||||
|
this.rowDrop(); |
||||
|
}, |
||||
|
computed: { |
||||
|
...mapState(["window"]), |
||||
|
}, |
||||
|
methods: { |
||||
|
//点击列表通过id查询 |
||||
|
rowick(row) { |
||||
|
this.curRow = { ...row }; |
||||
|
// listsid(row.id).then((res) => { |
||||
|
// if(res.code!=-1){ |
||||
|
// this.curRow = { ...res.data }; |
||||
|
// } |
||||
|
// // this.form = res.data; |
||||
|
// }); |
||||
|
}, |
||||
|
remoteMethodes(keyWords) { |
||||
|
if (keyWords) { |
||||
|
this.quckDepartment = []; |
||||
|
this.initTableData.forEach((item) => { |
||||
|
if ( |
||||
|
item.displayName.toLowerCase().indexOf(keyWords.toLowerCase()) > |
||||
|
-1 || |
||||
|
item.simpleCode.toLowerCase().indexOf(keyWords.toLowerCase()) > -1 |
||||
|
// || item.shortName.toLowerCase().indexOf(keyWords.toLowerCase()) > - 1 |
||||
|
) { |
||||
|
this.quckDepartment.push(item); |
||||
|
} |
||||
|
}); |
||||
|
} else { |
||||
|
this.quckDepartment = [...this.initTableData]; |
||||
|
} |
||||
|
}, |
||||
|
quckDepartments(e) { |
||||
|
if (e) { |
||||
|
this.tableData.forEach((item,index) => { |
||||
|
if (e == item.id) { |
||||
|
this.$refs["tableData"].setCurrentRow(item); |
||||
|
this.rowick(item); |
||||
|
this.searchup(item,index) |
||||
|
} |
||||
|
}); |
||||
|
} else { |
||||
|
this.remoteMethodes(); |
||||
|
} |
||||
|
}, |
||||
|
searchup(data,index) { |
||||
|
// if(index>3){ |
||||
|
const targetTop = this.$refs["tableData"].$el.querySelectorAll('.el-table__body tr')[index-1].getBoundingClientRect().top |
||||
|
const containerTop = this.$refs["tableData"].$el.querySelector('.el-table__body').getBoundingClientRect().top |
||||
|
const scrollParent = this.$refs["tableData"].$el.querySelector('.el-table__body-wrapper') |
||||
|
scrollParent.scrollTop = targetTop - containerTop |
||||
|
// } |
||||
|
}, |
||||
|
cancellation() { |
||||
|
this.$message.info("取消操作"); |
||||
|
this.isshow = true; |
||||
|
this.getlist(); |
||||
|
}, |
||||
|
//确定排序 |
||||
|
assertion() { |
||||
|
const result = []; |
||||
|
this.tableData.forEach((item, index) => { |
||||
|
// index 从0开始的, 你的displayOrder从大到小排 |
||||
|
// const currentDisplayOrder = this.tableData.length -1 |
||||
|
// const currentDisplayOrder = this.initTableData[index].displayOrder; |
||||
|
// if (item.displayOrder != currentDisplayOrder) { |
||||
|
// 如果它的displayOrder和它当前所在的位置不同代表挪动过位置 |
||||
|
result.push({ id: item.id, displayOrder: index+1 }); |
||||
|
// } |
||||
|
}); |
||||
|
postapi("/api/app/DiseaseScreeningType/UpdateSortMany",{ itemList: result }).then((res) => { |
||||
|
if(res.code!=-1){ |
||||
|
this.getlist(); |
||||
|
this.isshow = true; |
||||
|
//this.$message.success('操作成功') |
||||
|
} |
||||
|
}); |
||||
|
}, |
||||
|
//初始化 |
||||
|
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", |
||||
|
onChoose({oldIndex}){ |
||||
|
_this.$refs['tableData'].setCurrentRow(_this.tableData[oldIndex]); |
||||
|
_this.rowick(_this.tableData[oldIndex]) |
||||
|
}, |
||||
|
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) { |
||||
|
} |
||||
|
}); |
||||
|
}, |
||||
|
}); |
||||
|
}); |
||||
|
}, |
||||
|
//置底置顶 |
||||
|
topping() { |
||||
|
this.form = { ...this.curRow }; |
||||
|
if (this.form.id == undefined) { |
||||
|
this.$message.warning("请选择操作的数据"); |
||||
|
} else { |
||||
|
postapi("/api/app/DiseaseScreeningType/UpdateManySort",{diseaseScreeningTypeId:this.form.id, sortType:1}).then((res) => { |
||||
|
if(res.code!=-1){ |
||||
|
this.getlist(); |
||||
|
//this.$message.success('操作成功') |
||||
|
} |
||||
|
}); |
||||
|
} |
||||
|
}, |
||||
|
toppings() { |
||||
|
this.form = { ...this.curRow }; |
||||
|
if (this.form.id == undefined) { |
||||
|
this.$message.warning("请选择操作的数据"); |
||||
|
} else { |
||||
|
postapi("/api/app/DiseaseScreeningType/UpdateManySort",{diseaseScreeningTypeId:this.form.id, sortType:2}).then((res) => { |
||||
|
if(res.code!=-1){ |
||||
|
this.getlist(); |
||||
|
//this.$message.success('操作成功') |
||||
|
} |
||||
|
}); |
||||
|
} |
||||
|
}, |
||||
|
//删除 |
||||
|
deleteid(row) { |
||||
|
this.form = { ...this.curRow }; |
||||
|
if (this.form.id == undefined) { |
||||
|
this.$message.warning("请选择删除的数据"); |
||||
|
} else { |
||||
|
this.$confirm("是否确认删除,是否继续", "提示", { |
||||
|
confirmButtonText: "确定", |
||||
|
cancelButtonText: "取消", |
||||
|
type: "warning", |
||||
|
cancelButtonClass:"difference", |
||||
|
confirmButtonClass:"commonbutton" |
||||
|
}) |
||||
|
.then(() => { |
||||
|
postapi("/api/app/DiseaseScreeningType/Delete",{diseaseScreeningTypeId:this.form.id}).then((res) => { |
||||
|
if(res.code!=-1){ |
||||
|
this.curRow=this.$options.data().curRow |
||||
|
this.getlist(); |
||||
|
//this.$message.success('删除成功') |
||||
|
} |
||||
|
}); |
||||
|
}) |
||||
|
.catch(() => {}); |
||||
|
// deletecol(this.form.id).then((res) => { |
||||
|
// console.log("删除成功"); |
||||
|
// this.getlist(); |
||||
|
// }); |
||||
|
} |
||||
|
}, |
||||
|
//edlits编辑弹框 |
||||
|
edlits(row) { |
||||
|
this.form = { ...this.curRow }; |
||||
|
if (this.form.id == undefined) { |
||||
|
this.$message.warning("请选择操作的数据"); |
||||
|
} else { |
||||
|
this.title = 2; |
||||
|
this.dialogVisible = true; |
||||
|
postapi("/api/app/DiseaseScreeningType/Get",{diseaseScreeningTypeId:this.form.id}).then((res) => { |
||||
|
if(res.code!=-1){ |
||||
|
this.form = res.data; |
||||
|
} |
||||
|
}); |
||||
|
} |
||||
|
}, |
||||
|
//确定新增或者修改 |
||||
|
addoredit() { |
||||
|
if (this.form.displayName == undefined || this.form.displayName == "") { |
||||
|
this.$message.warning("请输入名称"); |
||||
|
} else { |
||||
|
if (this.title == 1) { |
||||
|
postapi("/api/app/DiseaseScreeningType/Create",{ displayName: this.form.displayName }).then((res) => { |
||||
|
// this.form.displayName = ""; |
||||
|
if(res.code!=-1){ |
||||
|
this.getlist(); |
||||
|
this.dialogVisible = false; |
||||
|
//this.$message.success('新增成功') |
||||
|
} |
||||
|
}); |
||||
|
} else if (this.title == 2) { |
||||
|
postapi("/api/app/DiseaseScreeningType/Update",{diseaseScreeningTypeId:this.form.id, displayName: this.form.displayName }).then( |
||||
|
(res) => { |
||||
|
if(res.code!=-1){ |
||||
|
this.getlist(); |
||||
|
this.dialogVisible = false; |
||||
|
//this.$message.success('修改成功') |
||||
|
} |
||||
|
} |
||||
|
); |
||||
|
} |
||||
|
} |
||||
|
}, |
||||
|
//新增弹框 |
||||
|
add() { |
||||
|
this.dialogVisible = true; |
||||
|
this.title = 1; |
||||
|
this.form=this.$options.data().form |
||||
|
this.$nextTick(() => { |
||||
|
this.$refs.refinput.focus(); |
||||
|
}); |
||||
|
}, |
||||
|
// |
||||
|
getlist() { |
||||
|
postapi("/api/app/DiseaseScreeningType/GetList").then((res) => { |
||||
|
if(res.code!=-1){ |
||||
|
this.initTableData = [...res.data]; |
||||
|
this.tableData = res.data; |
||||
|
// this.quckDepartment=[...res.data.items] |
||||
|
} |
||||
|
}); |
||||
|
}, |
||||
|
}, |
||||
|
}; |
||||
|
</script> |
||||
|
<style scoped> |
||||
|
@import "../../assets/css/global_button.css"; |
||||
|
@import "../../assets/css/global_dialog.css"; |
||||
|
@import "../../assets/css/global_table.css"; |
||||
|
@import "../../assets/css/global_form.css"; |
||||
|
@import "../../assets/css/global_input.css"; |
||||
|
@import "../../assets/css/global.css"; |
||||
|
.box { |
||||
|
display: flex; |
||||
|
flex-direction: column; |
||||
|
} |
||||
|
:deep .el-form-item { |
||||
|
margin-bottom: 14px; |
||||
|
} |
||||
|
/* el-dialog的头部样式 */ |
||||
|
:deep .el-dialog__header { |
||||
|
padding: 11px 20px 11px; |
||||
|
} |
||||
|
/* el-dialog的主体样式 */ |
||||
|
:deep .el-dialog__body { |
||||
|
padding: 0px 20px 0px; |
||||
|
} |
||||
|
/* el-divider样式 */ |
||||
|
:deep .el-divider--horizontal { |
||||
|
margin: 0px 0 12px; |
||||
|
} |
||||
|
/* el-dialog的底部样式 */ |
||||
|
:deep .el-dialog__footer { |
||||
|
padding: 0px 20px 14px; |
||||
|
} |
||||
|
.seachinput { |
||||
|
width: 250px; |
||||
|
margin-right: 110px; |
||||
|
} |
||||
|
:deep .seachinput .el-select { |
||||
|
width: 100%; |
||||
|
} |
||||
|
</style> |
||||
Write
Preview
Loading…
Cancel
Save
Reference in new issue