pengjun 2 days ago
parent
commit
5e208a57c4
  1. BIN
      public/pic/egSignMan.png
  2. 132
      src/components/common/AcceptTemplate.vue
  3. 6
      src/router/index.js
  4. 369
      src/views/basic-dictionary/acceptTempPlateList.vue
  5. 4
      src/views/doctorCheck/resultImport.vue
  6. 52
      src/views/fee-settings/Asbitem.vue

BIN
public/pic/egSignMan.png

After

Width: 50  |  Height: 25  |  Size: 4.1 KiB

132
src/components/common/AcceptTemplate.vue
File diff suppressed because it is too large
View File

6
src/router/index.js

@ -183,6 +183,12 @@ const routes = [{
component: () =>
import ("../views/basic-dictionary/SampleContainer.vue"),
},
{
path: "/acceptTempPlate",
name: "知情同意书模板",
component: () =>
import ("../views/basic-dictionary/acceptTempPlateList.vue"),
},
{
path: "/customer-org-type",
name: "客户单位类别",

369
src/views/basic-dictionary/acceptTempPlateList.vue

@ -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>

4
src/views/doctorCheck/resultImport.vue

@ -5,7 +5,7 @@
<div class="middlebox">
<div class="contenttitle">
体检 /
<span class="contenttitleBold">从文件导入检结果</span>
<span class="contenttitleBold">从文件导入检结果</span>
</div>
</div>
<div style="margin-bottom: 15px;display: flex;justify-content: space-between;
@ -94,11 +94,13 @@
<el-date-picker v-model="dataImportOpts.startCheckDate" type="datetime" placeholder="选择起始检查时间" align="right"
:picker-options="pickerOptions" value-format="yyyy-MM-dd HH:mm:ss" style="width:160px;" size="small">
</el-date-picker>
<!-- 一般检查去掉
<span style="margin-top: 6px;">标本间隔时间</span>
<el-input type="number" v-model="dataImportOpts.checkInterval" size="small"
style="width:60px;margin: 0 5px;">
<template slot="append"></template>
</el-input>
-->
</div>
</div>

52
src/views/fee-settings/Asbitem.vue

@ -86,6 +86,9 @@
</div>
</template>
</el-table-column>
<el-table-column prop="countDown" label="二检计时(分)" width="120" align="center"></el-table-column>
<el-table-column prop="informedConsentTemplateName" label="知情书模板" width=""
align="center"></el-table-column>
<el-table-column prop="creatorName" label="创建者" width="" align="center">
</el-table-column>
<el-table-column prop="lastModifierName" label="修改者" width="" align="center">
@ -436,15 +439,13 @@
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<el-col :span="12">
<el-form-item label="推荐理由" prop="">
<el-input v-model="form.suggestReason" type="textarea" :autosize="{ minRows: 2, maxRows: 2 }"
@input="($event) => changeUpdate($event, 'suggestReason')" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
</el-col>
<el-col :span="12">
<el-form-item label="临床意义" prop="">
<el-input v-model="form.clinicalMeaning" type="textarea" :autosize="{ minRows: 2, maxRows: 2 }"
@input="($event) => changeUpdate($event, 'clinicalMeaning')" />
@ -491,6 +492,21 @@
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="知情书模板" prop="" label-width="110px">
<el-select v-model="form.informedConsentTemplateId" placeholder="请选择" size="small" @change="quckRusetform" clearable>
<el-option v-for="item in acceptTemplates" :key="item.id" :label="item.displayName" :value="item.id">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="二次检查计时(分)" prop="" label-width="130px">
<el-input v-model="form.countDown" type="number" clearable />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="4">
<el-form-item label="启用诊断" prop="">
@ -939,6 +955,8 @@ export default {
isOutsend: "N",
isDiscount: "Y",
medicalCenterId: null,
countDown:null, // C13C14
informedConsentTemplateId:null //
},
forSexId: [], //
forPregnantFlag: [
@ -1138,11 +1156,13 @@ export default {
acceptTemplateParams: {
id: '', // ID
brushTimes: 0, //
}
},
acceptTemplates:[],
};
},
created() {
// this.getlist();
this.dictInit()
this.gitprojectcategory();
},
mounted() {
@ -1165,6 +1185,17 @@ export default {
},
methods: {
dddw,
dictInit(){
//
postapi("/api/app/InformedConsentTemplate/GetList").then((res) => {
if (res.code > -1) {
this.acceptTemplates = res.data;
}
});
},
changeBox(type) {
//
if (this.form[type + "Box"]) {
@ -1922,8 +1953,12 @@ export default {
//
btnAcceptTemplate() {
if(this.curRow?.informedConsentTemplateId){
this.$message.warning({showClose:true,message:'该项目未设置知情同意书模板!'})
return
}
this.dialogWin.acceptTemplate2 = true
this.acceptTemplateParams.id = this.curRow.id
this.acceptTemplateParams.id = this.curRow.informedConsentTemplateId
this.acceptTemplateParams.brushTimes++
},
@ -1994,6 +2029,9 @@ export default {
price: Number(this.form.price),
});
if (!obj.medicalCenterId) delete obj.medicalCenterId
if (!obj.informedConsentTemplateId) delete obj.informedConsentTemplateId
if (!obj.countDown) obj.countDown = 0
if (this.title == 1) {
newcombination(obj).then((res) => {
if (res.code != -1) {

Loading…
Cancel
Save