6 changed files with 517 additions and 46 deletions
-
BINpublic/pic/egSignMan.png
-
124src/components/common/AcceptTemplate.vue
-
6src/router/index.js
-
369src/views/basic-dictionary/acceptTempPlateList.vue
-
4src/views/doctorCheck/resultImport.vue
-
50src/views/fee-settings/Asbitem.vue
|
After Width: 50 | Height: 25 | Size: 4.1 KiB |
124
src/components/common/AcceptTemplate.vue
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
@ -0,0 +1,369 @@ |
|||
<template> |
|||
<div class="box"> |
|||
<div style="position: relative"> |
|||
<div class="middlebox"> |
|||
<div class="contenttitle"> |
|||
基础资料 / |
|||
<span class="contenttitleBold">知情同意书模板</span> |
|||
</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" |
|||
@row-dblclick="dblClick" 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"> |
|||
</el-table-column> |
|||
<el-table-column prop="lastModificationTime" label="修改时间" width="200"> |
|||
</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="btnAdd" class="commonbutton">新增</el-button> |
|||
<div style="margin-top: 10px"> |
|||
<el-button type="" @click="btnEdit" class="commonbutton">编辑</el-button> |
|||
</div> |
|||
<div style="margin-top: 10px"> |
|||
<el-button type="" @click="btnDel" 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> |
|||
<!-- 模板设计 --> |
|||
<el-dialog title="模板设计" :visible.sync="dialogWin.acceptTemplate" :append-to-body="true" |
|||
:close-on-click-modal="false" fullscreen> |
|||
<AcceptTemplate :refParams="acceptTemplateParams" :refFun="getlist"/> |
|||
</el-dialog> |
|||
</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"; |
|||
import AcceptTemplate from "@/components/common/AcceptTemplate.vue"; |
|||
|
|||
export default { |
|||
components: { |
|||
AcceptTemplate |
|||
}, |
|||
data() { |
|||
return { |
|||
isshow: true, |
|||
|
|||
tableData: [], |
|||
initTableData: [], |
|||
curRow: {}, |
|||
|
|||
clickTime1: 0, |
|||
clickTime2: 0, |
|||
|
|||
// 知情同意书参数 |
|||
acceptTemplateParams: { |
|||
id: '', // 模板ID |
|||
brushTimes: 0, //控制刷新 |
|||
}, |
|||
}; |
|||
}, |
|||
created() { |
|||
this.getlist(); |
|||
}, |
|||
mounted() { |
|||
this.rowDrop(); |
|||
}, |
|||
computed: { |
|||
...mapState(["window","dialogWin"]), |
|||
}, |
|||
methods: { |
|||
|
|||
// 知情同意书模板 |
|||
dispAcceptTemplate() { |
|||
this.dialogWin.acceptTemplate = true |
|||
//this.acceptTemplateParams.id = this.curRow.id || '' |
|||
this.acceptTemplateParams.brushTimes++ |
|||
}, |
|||
|
|||
//点击列表通过id查询 |
|||
rowick(row) { |
|||
this.clickTime1 = new Date().getTime(); |
|||
setTimeout(() => { |
|||
if (this.clickTime1 > this.clickTime2) { |
|||
this.curRow = { ...row }; |
|||
} |
|||
}, 400); |
|||
}, |
|||
dblClick(row) { |
|||
this.clickTime2 = new Date().getTime(); |
|||
this.curRow = { ...row }; |
|||
this.btnEdit() |
|||
}, |
|||
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 }); |
|||
// } |
|||
}); |
|||
examinationdragging({ 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 { |
|||
medicaltopbottom(this.form.id, 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 { |
|||
medicaltopbottom(this.form.id, 2).then((res) => { |
|||
if (res.code != -1) { |
|||
this.getlist(); |
|||
//this.$message.success('操作成功') |
|||
} |
|||
}); |
|||
} |
|||
}, |
|||
|
|||
//删除 |
|||
btnDel() { |
|||
this.form = { ...this.curRow }; |
|||
if (this.form.id == undefined) { |
|||
this.$message.warning("请选择删除的数据"); |
|||
} else { |
|||
this.$confirm("是否确认删除,是否继续", "提示", { |
|||
confirmButtonText: "确定", |
|||
cancelButtonText: "取消", |
|||
type: "warning", |
|||
cancelButtonClass: "difference", |
|||
confirmButtonClass: "commonbutton" |
|||
}) |
|||
.then(() => { |
|||
deletecol(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(); |
|||
// }); |
|||
} |
|||
}, |
|||
//btnEdit编辑弹框 |
|||
btnEdit() { |
|||
if(!this.curRow?.id){ |
|||
this.$message.warning({showClose:true,message:'没有选择操作的模板'}) |
|||
return |
|||
} |
|||
this.acceptTemplateParams.id = this.curRow.id |
|||
this.dispAcceptTemplate() |
|||
}, |
|||
|
|||
//新增弹框 |
|||
btnAdd() { |
|||
this.acceptTemplateParams.id = '' |
|||
this.dispAcceptTemplate() |
|||
}, |
|||
|
|||
// |
|||
getlist(id) { |
|||
postapi('/api/app/InformedConsentTemplate/GetList') |
|||
.then(res => { |
|||
if (res.code > -1) { |
|||
this.tableData = res.data; |
|||
} |
|||
}) |
|||
}, |
|||
}, |
|||
}; |
|||
</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