Commit 2203ddda authored by miaojiale's avatar miaojiale

静态页:审核质控

parent 051d7d77
...@@ -94,6 +94,14 @@ ...@@ -94,6 +94,14 @@
<template v-if="column.type === 'html'"> <template v-if="column.type === 'html'">
<div v-html="scope.row[column.value]" class="highlight"></div> <div v-html="scope.row[column.value]" class="highlight"></div>
</template> </template>
<!-- switch切换 启用 -->
<template v-if="column.type === 'switch'">
<el-switch
v-model="scope.row[column.value]"
@change="column.func(scope.row, scope.$index)"
>
</el-switch>
</template>
</template> </template>
</el-table-column> </el-table-column>
</template> </template>
......
...@@ -28,7 +28,7 @@ ...@@ -28,7 +28,7 @@
</template> </template>
<template v-else> <template v-else>
<el-button size="small" type="primary">点击上传</el-button> <el-button size="middle" :type="btnType">点击上传</el-button>
</template> </template>
<div slot="tip" class="el-upload__tip">{{ tip }}</div> <div slot="tip" class="el-upload__tip">{{ tip }}</div>
</el-upload> </el-upload>
...@@ -77,6 +77,10 @@ export default { ...@@ -77,6 +77,10 @@ export default {
type: Boolean, type: Boolean,
default: false, default: false,
}, },
btnType: {
type: String,
default: "primary",
},
value: Array, //上传文件数组 绑定数组 value: Array, //上传文件数组 绑定数组
}, },
data() { data() {
......
<template>
<div class="audit-qualitycontrol">
<div class="aq-top-tab">
<el-tabs v-model="type" @tab-click="handleClick">
<el-tab-pane label="筛查病例数据" name="0"></el-tab-pane>
<el-tab-pane label="随访病例数据" name="1"></el-tab-pane>
</el-tabs>
</div>
<div class="aq-bot-table">
<div class="table-top-tab">
<el-tabs v-model="auditStatus" type="card" @tab-click="handleClick">
<el-tab-pane label="待审核" name="0"></el-tab-pane>
<el-tab-pane label="已审核" name="1"></el-tab-pane>
</el-tabs>
<div v-show="auditStatus == 1" class="keyExplain">
字段说明<img src="~@/assets/img/DataCenter/question.png" alt="" />
</div>
</div>
<div class="bot-table">
<customs-table
ref="table"
:table-data="tableData"
:columns="columns"
:header-class="'newHeader'"
:list-loading="listLoading"
:current-page="pageIndex"
:total-count="total"
:page-sizes="pageSizes"
:page-size="pageSize"
@pageSizeChange="handleSizeChange"
@currentPageChange="handleCurrentChange"
/>
</div>
</div>
</div>
</template>
<script>
import CustomsTable from "@/components/CustomsTable"
import paginationMixin from "@/components/TabComponents/mixin"
export default {
components: {
CustomsTable,
},
mixins: [paginationMixin],
data() {
return {
type: "0",
auditStatus: "0",
listLoading: false,
columns: [
{
label: "医联体",
minWidth: 120,
value: "title",
},
{
label: "已审核(例)",
minWidth: 120,
value: "file",
},
{
label: "待审核(例)备份",
minWidth: 120,
value: "uploadTime",
},
{
label: "最新上报时间",
minWidth: 120,
value: "editTime",
},
{
label: "操作",
width: 220,
fixed: "right",
operType: "button",
operations: [
{
func: this.auditHandle,
label: "审核",
type: "text",
},
],
},
],
tableData: [
{
title: "第一个",
isOpen: true,
},
],
}
},
watch: {},
mounted() {},
methods: {
handleClick() {
console.log("type:" + this.type, "auditStatus" + this.auditStatus)
if (this.auditStatus == 1) {
this.columns[this.columns.length - 1].operations[0].label =
"修改审核意见"
} else {
this.columns[this.columns.length - 1].operations[0].label = "审核"
}
},
auditHandle(data, i) {
console.log(data, i)
},
},
}
</script>
<style lang="scss" scoped>
.audit-qualitycontrol {
padding: 20px 0;
.table-top-tab {
margin-bottom: 15px;
position: relative;
.keyExplain {
position: absolute;
display: flex;
align-items: center;
right: 0;
top: 10%;
font-size: 16px;
font-family: AlibabaPuHuiTiR;
color: #999999;
img {
width: 18px;
height: 18px;
margin-left: 5px;
transform: translateY(1px);
}
}
}
.aq-bot-table {
padding: 20px;
::v-deep {
.el-tabs__nav {
border: none;
}
.el-tabs__item {
margin-right: 10px;
border: 1px solid #e4e7ed;
border-radius: 5px 5px 0 0;
}
.is-active {
background: #4e68ff;
color: #fff;
}
}
}
}
::v-deep {
.el-tabs__item {
padding-left: 20px !important;
font-size: 18px;
font-family: AlibabaPuHuiTiM;
}
.is-active {
color: #4e68ff;
}
}
</style>
<template>
<div>体检</div>
</template>
<script>
export default {
data() {
return {}
},
methods: {},
mounted() {},
watch: {},
}
</script>
<style lang="scss" scoped></style>
<template>
<div>医院质控</div>
</template>
<script>
export default {
data() {
return {}
},
methods: {},
mounted() {},
watch: {},
}
</script>
<style lang="scss" scoped></style>
<template> <template>
<div>说那个太</div> <div>术动态</div>
</template> </template>
<script> <script>
export default { export default {
......
<template> <template>
<div>健康科普</div> <div id="medicalunion-management">
<div class="top-btn">
<el-select v-model="selectType">
<el-option
v-for="item in selectList"
:key="item.value"
:label="item.label"
:value="item.value"
>
</el-option>
</el-select>
<el-button type="primary" class="btn" @click="addMedical">添加</el-button>
</div>
<div class="bot-table">
<customs-table
ref="table"
:table-data="tableData"
:columns="columns"
:header-class="'newHeader'"
:list-loading="listLoading"
:current-page="pageIndex"
:total-count="total"
:page-sizes="pageSizes"
:page-size="pageSize"
@pageSizeChange="handleSizeChange"
@currentPageChange="handleCurrentChange"
/>
</div>
<el-dialog
:visible.sync="addVisible"
width="520px"
:show-close="true"
@closed="resetForm"
>
<div class="title">添加</div>
<el-form
ref="form"
:model="form"
:label-position="'right'"
label-width="110px"
label-suffix=":"
:rules="rules"
>
<el-form-item
v-for="(item, index) in formList"
:key="index"
:label="item.label"
:prop="item.prop"
>
<!-- 输入框 -->
<el-input
v-if="item.type == 'input'"
v-model="form[item.prop]"
autocomplete="off"
:placeholder="'请填写' + item.label"
></el-input>
<!-- 下拉选 -->
<el-select
v-else-if="item.type == 'select'"
v-model="form[item.prop]"
:placeholder="'请选择' + item.label"
>
<el-option
v-for="e in item.selectGroup"
:key="e.value"
:label="e.label"
:value="e.value"
></el-option>
</el-select>
<!-- 上传 -->
<el-upload-self
v-else-if="item.type === 'upload'"
v-model="form[item.prop]"
:btn-type="'text'"
v-bind="item"
></el-upload-self>
<!-- switch -->
<!-- switch切换 启用 -->
<el-switch
v-else-if="item.type === 'switch'"
v-model="form[item.prop]"
>
</el-switch>
</el-form-item>
</el-form>
<span slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm">保存</el-button>
</span>
</el-dialog>
</div>
</template> </template>
<script> <script>
import CustomsTable from "@/components/CustomsTable"
import paginationMixin from "@/components/TabComponents/mixin"
import ElUploadSelf from "@/components/Upload"
export default { export default {
components: {
CustomsTable,
ElUploadSelf,
},
mixins: [paginationMixin],
data() { data() {
return {} return {
addVisible: false,
selectList: [
{
label: "筛查",
value: 0,
},
{
label: "生活",
value: 1,
},
{
label: "医学知识",
value: 2,
},
{
label: "其他",
value: 3,
},
],
selectType: 0,
listLoading: false,
columns: [
{
label: "标题",
minWidth: 120,
value: "title",
},
{
label: "图片",
minWidth: 120,
value: "iamge",
},
{
label: "文件",
minWidth: 120,
value: "file",
},
{
label: "上传时间",
minWidth: 120,
value: "uploadTime",
},
{
label: "最新修改时间",
minWidth: 120,
value: "editTime",
},
{
label: "上传人姓名",
minWidth: 120,
value: "uploadPerson",
},
{
label: "启用状态",
minWidth: 120,
type: "switch",
value: "isOpen",
func: this.openChage,
},
{
label: "操作",
width: 220,
fixed: "right",
operType: "button",
operations: [
{
func: this.editMedical,
formatter(row) {
return {
label: "查看",
type: "text",
}
},
},
{
func: this.editMedical,
formatter(row) {
return {
label: "编辑",
type: "text",
}
},
},
{
func: this.rowOpration,
style: {
color: "#FA6400",
},
formatter(row) {
return {
label: "删除",
type: "text",
}
},
},
],
},
],
tableData: [
{
title: "第一个",
isOpen: true,
},
],
formList: [
{
type: "select",
label: "类型",
prop: "type",
selectGroup: [
{
label: "筛查",
value: 0,
},
{
label: "生活",
value: 1,
},
{
label: "医学知识",
value: 2,
},
{
label: "其他",
value: 3,
},
],
},
{
type: "input",
label: "标题",
prop: "title",
},
{
type: "upload",
label: "图片",
prop: "img",
},
{
type: "upload",
label: "PDF",
prop: "aaa",
},
{
type: "switch",
label: "启用状态",
prop: "ssd",
},
],
rules: {
title: [{ required: true, message: "请输入标题", trigger: "blur" }],
},
form: {},
}
}, },
methods: {},
mounted() {},
watch: {}, watch: {},
mounted() {},
methods: {
// 添加医联体
addMedical() {
this.addVisible = true
},
// 编辑医联体
editMedical(data) {
console.log(data)
this.form = {
medicalName: "黑乎乎",
medicalId: "123",
province: "001",
city: "001",
}
this.addVisible = true
},
// 启用状态
openChage(data, index) {
console.log(data, index)
},
resetForm() {
this.$refs["form"].resetFields()
},
submitForm() {
this.$refs["form"].validate((valid) => {
if (valid) {
alert("submit!")
this.addVisible = false
} else {
console.log("error submit!!")
return false
}
})
},
},
} }
</script> </script>
<style lang="scss" scoped></style> <style lang="scss" scoped>
#medicalunion-management {
padding: 20px 0;
.top-btn {
.btn {
width: 80px;
height: 32px;
background: #4e68ff;
border-radius: 4px;
margin-left: 20px;
}
}
.bot-table {
margin-top: 20px;
}
.title {
text-align: center;
height: 26px;
font-size: 22px;
font-family: AlibabaPuHuiTiM;
color: rgba(0, 0, 0, 0.8);
line-height: 26px;
margin-bottom: 30px;
}
}
::v-deep .el-dialog__body {
padding: 0 40px;
border-top: none;
}
::v-deep .el-dialog__footer {
border-top: none;
text-align: center;
.el-button {
width: 100px;
height: 32px;
background: #4e68ff;
}
}
::v-deep .el-upload {
.el-button {
transform: translateY(-4px);
}
}
</style>
...@@ -73,23 +73,34 @@ export default { ...@@ -73,23 +73,34 @@ export default {
{ {
label: "标题", label: "标题",
minWidth: 120, minWidth: 120,
value: "groupName", value: "title",
}, },
{ {
label: "医联体编号", label: "文件",
minWidth: 120, minWidth: 120,
value: "name", value: "file",
}, },
{ {
label: "", label: "上传时间",
minWidth: 120, minWidth: 120,
value: "sex", value: "uploadTime",
}, },
{ {
label: "", label: "最新修改时间",
minWidth: 120,
value: "editTime",
},
{
label: "上传人姓名",
minWidth: 120,
value: "uploadPerson",
},
{
label: "启用状态",
minWidth: 120, minWidth: 120,
value: "idCard", type: "switch",
value: "isOpen",
func: this.openChage,
}, },
{ {
label: "操作", label: "操作",
...@@ -97,6 +108,15 @@ export default { ...@@ -97,6 +108,15 @@ export default {
fixed: "right", fixed: "right",
operType: "button", operType: "button",
operations: [ operations: [
{
func: this.editMedical,
formatter(row) {
return {
label: "查看",
type: "text",
}
},
},
{ {
func: this.editMedical, func: this.editMedical,
formatter(row) { formatter(row) {
...@@ -123,7 +143,8 @@ export default { ...@@ -123,7 +143,8 @@ export default {
], ],
tableData: [ tableData: [
{ {
groupName: "第一个", title: "第一个",
isOpen: true,
}, },
], ],
formList: [ formList: [
...@@ -171,12 +192,17 @@ export default { ...@@ -171,12 +192,17 @@ export default {
} }
this.addVisible = true this.addVisible = true
}, },
// 启用状态
openChage(data, index) {
console.log(data, index)
},
}, },
} }
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
#medicalunion-management { #medicalunion-management {
padding: 20px; padding: 20px 0;
.top-btn { .top-btn {
.btn { .btn {
width: 80px; width: 80px;
......
<template> <template>
<div>通知公告</div> <div id="medicalunion-management">
<div class="top-btn">
<el-button type="primary" class="btn" @click="addMedical">添加</el-button>
</div>
<div class="bot-table">
<customs-table
ref="table"
:table-data="tableData"
:columns="columns"
:header-class="'newHeader'"
:list-loading="listLoading"
:current-page="pageIndex"
:total-count="total"
:page-sizes="pageSizes"
:page-size="pageSize"
@pageSizeChange="handleSizeChange"
@currentPageChange="handleCurrentChange"
/>
</div>
<el-dialog :visible.sync="addVisible" width="520px" :show-close="true">
<div class="title">添加医联体</div>
<el-form
:model="form"
:label-position="'right'"
label-width="110px"
label-suffix=":"
>
<el-form-item
v-for="(item, index) in formList"
:key="index"
:label="item.label"
>
<el-input
v-if="item.type == 'input'"
v-model="form[item.prop]"
autocomplete="off"
:placeholder="'请填写' + item.label"
></el-input>
<el-select
v-if="item.type == 'select'"
v-model="form[item.prop]"
:placeholder="'请选择' + item.label"
>
<el-option
v-for="e in item.selectGroup"
:key="e.value"
:label="e.label"
:value="e.value"
></el-option>
</el-select>
</el-form-item>
</el-form>
<span slot="footer" class="dialog-footer">
<el-button type="primary" @click="addVisible = false">保存</el-button>
</span>
</el-dialog>
</div>
</template> </template>
<script> <script>
import CustomsTable from "@/components/CustomsTable"
import paginationMixin from "@/components/TabComponents/mixin"
export default { export default {
components: {
CustomsTable,
},
mixins: [paginationMixin],
data() { data() {
return {} return {
addVisible: false,
listLoading: false,
columns: [
{
label: "标题",
minWidth: 120,
value: "title",
},
{
label: "文件",
minWidth: 120,
value: "file",
},
{
label: "上传时间",
minWidth: 120,
value: "uploadTime",
},
{
label: "最新修改时间",
minWidth: 120,
value: "editTime",
},
{
label: "上传人姓名",
minWidth: 120,
value: "uploadPerson",
},
{
label: "启用状态",
minWidth: 120,
type: "switch",
value: "isOpen",
func: this.openChage,
},
{
label: "操作",
width: 220,
fixed: "right",
operType: "button",
operations: [
{
func: this.editMedical,
formatter(row) {
return {
label: "查看",
type: "text",
}
},
},
{
func: this.editMedical,
formatter(row) {
return {
label: "编辑",
type: "text",
}
},
},
{
func: this.rowOpration,
style: {
color: "#FA6400",
},
formatter(row) {
return {
label: "删除",
type: "text",
}
},
},
],
},
],
tableData: [
{
title: "第一个",
isOpen: true,
},
],
formList: [
{
type: "input",
label: "医联体名称",
prop: "medicalName",
},
{
type: "input",
label: "医联体编号",
prop: "medicalId",
},
{
type: "select",
label: "",
prop: "province",
selectGroup: [{ label: "北京市", value: "001" }],
},
{
type: "select",
label: "",
prop: "city",
selectGroup: [{ label: "北京市", value: "001" }],
},
],
form: {},
}
}, },
methods: {},
mounted() {},
watch: {}, watch: {},
mounted() {},
methods: {
// 添加医联体
addMedical() {
this.addVisible = true
},
// 编辑医联体
editMedical(data) {
console.log(data)
this.form = {
medicalName: "黑乎乎",
medicalId: "123",
province: "001",
city: "001",
}
this.addVisible = true
},
// 启用状态
openChage(data, index) {
console.log(data, index)
},
},
} }
</script> </script>
<style lang="scss" scoped></style> <style lang="scss" scoped>
#medicalunion-management {
padding: 20px 0;
.top-btn {
.btn {
width: 80px;
height: 32px;
background: #4e68ff;
border-radius: 4px;
}
}
.bot-table {
margin-top: 20px;
}
.title {
text-align: center;
height: 26px;
font-size: 22px;
font-family: AlibabaPuHuiTiM;
color: rgba(0, 0, 0, 0.8);
line-height: 26px;
margin-bottom: 30px;
}
}
::v-deep .el-dialog__body {
padding: 0 40px;
border-top: none;
}
::v-deep .el-dialog__footer {
border-top: none;
text-align: center;
.el-button {
width: 100px;
height: 32px;
background: #4e68ff;
}
}
</style>
<template> <template>
<div>科学研究</div> <div id="medicalunion-management">
<div class="top-btn">
<el-select v-model="selectType">
<el-option
v-for="item in selectList"
:key="item.value"
:label="item.label"
:value="item.value"
>
</el-option>
</el-select>
<el-button type="primary" class="btn" @click="addMedical">添加</el-button>
</div>
<div class="bot-table">
<customs-table
ref="table"
:table-data="tableData"
:columns="columns"
:header-class="'newHeader'"
:list-loading="listLoading"
:current-page="pageIndex"
:total-count="total"
:page-sizes="pageSizes"
:page-size="pageSize"
@pageSizeChange="handleSizeChange"
@currentPageChange="handleCurrentChange"
/>
</div>
<el-dialog
:visible.sync="addVisible"
width="520px"
:show-close="true"
@closed="resetForm"
>
<div class="title">添加</div>
<el-form
ref="form"
:model="form"
:label-position="'right'"
label-width="110px"
label-suffix=":"
:rules="rules"
>
<el-form-item
v-for="(item, index) in formList"
:key="index"
:label="item.label"
:prop="item.prop"
>
<!-- 输入框 -->
<el-input
v-if="item.type == 'input'"
v-model="form[item.prop]"
autocomplete="off"
:placeholder="'请填写' + item.label"
></el-input>
<!-- 下拉选 -->
<el-select
v-else-if="item.type == 'select'"
v-model="form[item.prop]"
:placeholder="'请选择' + item.label"
>
<el-option
v-for="e in item.selectGroup"
:key="e.value"
:label="e.label"
:value="e.value"
></el-option>
</el-select>
<!-- 上传 -->
<el-upload-self
v-else-if="item.type === 'upload'"
v-model="form[item.prop]"
:btn-type="'text'"
v-bind="item"
></el-upload-self>
<!-- switch -->
<!-- switch切换 启用 -->
<el-switch
v-else-if="item.type === 'switch'"
v-model="form[item.prop]"
>
</el-switch>
</el-form-item>
</el-form>
<span slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm">保存</el-button>
</span>
</el-dialog>
</div>
</template> </template>
<script> <script>
import CustomsTable from "@/components/CustomsTable"
import paginationMixin from "@/components/TabComponents/mixin"
import ElUploadSelf from "@/components/Upload"
export default { export default {
components: {
CustomsTable,
ElUploadSelf,
},
mixins: [paginationMixin],
data() { data() {
return {} return {
addVisible: false,
selectList: [
{
label: "筛查技术方案",
value: 0,
},
{
label: "筛查指南",
value: 1,
},
{
label: "学术成果",
value: 2,
},
{
label: "项目进展与成果",
value: 3,
},
],
selectType: 0,
listLoading: false,
columns: [
{
label: "标题",
minWidth: 120,
value: "title",
},
{
label: "文件",
minWidth: 120,
value: "file",
},
{
label: "上传时间",
minWidth: 120,
value: "uploadTime",
},
{
label: "最新修改时间",
minWidth: 120,
value: "editTime",
},
{
label: "上传人姓名",
minWidth: 120,
value: "uploadPerson",
},
{
label: "启用状态",
minWidth: 120,
type: "switch",
value: "isOpen",
func: this.openChage,
},
{
label: "操作",
width: 220,
fixed: "right",
operType: "button",
operations: [
{
func: this.editMedical,
formatter(row) {
return {
label: "查看",
type: "text",
}
},
},
{
func: this.editMedical,
formatter(row) {
return {
label: "编辑",
type: "text",
}
},
},
{
func: this.rowOpration,
style: {
color: "#FA6400",
},
formatter(row) {
return {
label: "删除",
type: "text",
}
},
},
],
},
],
tableData: [
{
title: "第一个",
isOpen: true,
},
],
formList: [
{
type: "select",
label: "类型",
prop: "type",
selectGroup: [
{
label: "筛查",
value: 0,
},
{
label: "生活",
value: 1,
},
{
label: "医学知识",
value: 2,
},
{
label: "其他",
value: 3,
},
],
},
{
type: "input",
label: "标题",
prop: "title",
},
{
type: "upload",
label: "图片",
prop: "img",
},
{
type: "upload",
label: "PDF",
prop: "aaa",
},
{
type: "switch",
label: "启用状态",
prop: "ssd",
},
],
rules: {
title: [{ required: true, message: "请输入标题", trigger: "blur" }],
},
form: {},
}
}, },
methods: {},
mounted() {},
watch: {}, watch: {},
mounted() {},
methods: {
// 添加医联体
addMedical() {
this.addVisible = true
},
// 编辑医联体
editMedical(data) {
console.log(data)
this.form = {
medicalName: "黑乎乎",
medicalId: "123",
province: "001",
city: "001",
}
this.addVisible = true
},
// 启用状态
openChage(data, index) {
console.log(data, index)
},
resetForm() {
this.$refs["form"].resetFields()
},
submitForm() {
this.$refs["form"].validate((valid) => {
if (valid) {
alert("submit!")
this.addVisible = false
} else {
console.log("error submit!!")
return false
}
})
},
},
} }
</script> </script>
<style lang="scss" scoped></style> <style lang="scss" scoped>
#medicalunion-management {
padding: 20px 0;
.top-btn {
.btn {
width: 80px;
height: 32px;
background: #4e68ff;
border-radius: 4px;
margin-left: 20px;
}
}
.bot-table {
margin-top: 20px;
}
.title {
text-align: center;
height: 26px;
font-size: 22px;
font-family: AlibabaPuHuiTiM;
color: rgba(0, 0, 0, 0.8);
line-height: 26px;
margin-bottom: 30px;
}
}
::v-deep .el-dialog__body {
padding: 0 40px;
border-top: none;
}
::v-deep .el-dialog__footer {
border-top: none;
text-align: center;
.el-button {
width: 100px;
height: 32px;
background: #4e68ff;
}
}
::v-deep .el-upload {
.el-button {
transform: translateY(-4px);
}
}
</style>
...@@ -57,7 +57,7 @@ export default { ...@@ -57,7 +57,7 @@ export default {
mounted() {}, mounted() {},
methods: { methods: {
handleClick(tab, event) { handleClick(tab, event) {
console.log(tab, event) // console.log(tab, event)
}, },
}, },
} }
...@@ -65,7 +65,7 @@ export default { ...@@ -65,7 +65,7 @@ export default {
<style lang="scss" scoped> <style lang="scss" scoped>
#operation-management { #operation-management {
padding: 20px; padding: 20px;
.el-tabs__nav-wrap::after { ::v-deep .el-tabs__nav-wrap::after {
background-color: #fff; background-color: #fff;
} }
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment