Commit adcc7f5c authored by miaojiale's avatar miaojiale

运营管理

parent c8f78c2a
......@@ -57,13 +57,21 @@
<i class="el-icon-download"></i>
</span>
</span>
<span
style="cursor: pointer"
class="fileName"
<el-tooltip
class="item"
effect="dark"
:content="file.name"
placement="top"
>
<div
v-if="accept != 'image/*'"
style="cursor: pointer"
class="fileNameText"
@click="handlePreview(file)"
>{{ file.name }}</span
>
{{ file.name }}
</div>
</el-tooltip>
</div>
<!-- <div slot="tip" class="el-upload__tip">{{ tip }}</div> -->
</el-upload>
......@@ -268,15 +276,24 @@ export default {
.el-upload-self {
font-size: 14px;
}
.avatar-uploader {
::v-deep .avatar-uploader {
display: flex;
align-items: center;
.el-upload--picture-card {
height: 20px;
transform: translateY(-4px);
}
}
.pdfUpload {
::v-deep .pdfUpload {
display: flex;
flex-direction: row-reverse;
justify-content: flex-end;
::v-deep .el-upload-list__item {
.el-upload--text {
height: 20px;
transform: translateY(-4px);
}
.el-upload-list__item {
transform: translateY(-6px);
// width: 158px;
height: 20px;
......@@ -324,6 +341,12 @@ export default {
height: 88px;
display: block;
}
.fileNameText {
width: 100px;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
// ::v-deep .el-upload--picture-card {
// width: none;
// height: none;
......
<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"
@closed="resetForm"
>
<div class="title">{{ readOnly ? "查看" : "添加" }}</div>
<el-form
ref="form"
:model="form"
:label-position="'right'"
label-width="110px"
label-suffix=":"
:disabled="readOnly"
>
<el-form-item
v-for="(item, index) in formList"
:key="index"
:label="item.label"
:prop="item.prop"
:rules="[{ required: true, message: item.label + '不能为空' }]"
>
<!-- <template v-if="!readOnly"> -->
<template>
<!-- 输入框 -->
<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"
style="width: 100%"
>
<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"
:list-type="item.listType"
:accept="item.accept"
:limit="item.limit"
:disabled="readOnly"
></el-upload-self>
<!-- switch -->
<!-- switch切换 启用 -->
<el-switch
v-else-if="item.type === 'switch'"
v-model="form[item.prop]"
:active-value="1"
:inactive-value="0"
>
</el-switch>
</template>
<!-- <template v-else>
<span>{{ form[item.prop] || "--" }}</span>
</template> -->
</el-form-item>
</el-form>
<span slot="footer" class="dialog-footer">
<el-button class="f-btn" type="primary" @click="submitForm('3')"
>保存</el-button
>
</span>
</el-dialog>
<!-- 删除提示框 -->
<el-dialog title="提示" :visible.sync="deleteVisible" width="30%">
<span>确定删除吗?</span>
<span slot="footer" class="dialog-footers">
<el-button @click="deleteVisible = false">取 消</el-button>
<el-button type="primary" @click="confirmDelete">确 定</el-button>
</span>
</el-dialog>
</div>
</template>
<script>
import CustomsTable from "@/components/CustomsTable"
import paginationMixin from "@/components/TabComponents/mixin"
import ElUploadSelf from "@/components/Upload"
import mixin from "./mixin"
import { articleList } from "@/api/operation-management"
export default {
components: {
CustomsTable,
ElUploadSelf,
},
mixins: [paginationMixin, mixin],
data() {
return {}
return {
addVisible: false,
listLoading: false,
deleteVisible: false,
columns: [
{
label: "标题",
minWidth: 120,
value: "articleTitle",
},
{
label: "文件",
minWidth: 120,
type: "file",
value: "filePath",
},
{
label: "上传时间",
minWidth: 120,
value: "uploadTime",
},
{
label: "最新修改时间",
minWidth: 120,
value: "updateTime",
},
{
label: "上传人姓名",
minWidth: 120,
value: "uploadUserName",
},
{
label: "启用状态",
minWidth: 120,
type: "switch",
value: "status",
func: this.openChage,
},
{
label: "操作",
width: 220,
fixed: "right",
operType: "button",
operations: [
{
func: this.viewMedical,
formatter(row) {
return {
label: "查看",
type: "text",
}
},
},
{
func: this.editMedical,
formatter(row) {
return {
label: "编辑",
type: "text",
}
},
},
{
func: this.deleteFunc,
style: {
color: "#FA6400",
},
formatter(row) {
return {
label: "删除",
type: "text",
}
},
},
],
},
],
tableData: [
// {
// title: "第一个",
// isOpen: true,
// },
],
formList: [
{
type: "input",
label: "标题",
prop: "articleTitle",
},
{
type: "upload",
label: "PDF",
prop: "filePath",
accept: "application/pdf",
},
{
type: "switch",
label: "启用状态",
prop: "status",
},
],
}
},
methods: {},
mounted() {},
watch: {},
mounted() {
this.getArticleList()
},
methods: {
// 获取新闻会议
getArticleList() {
this.listLoading = true
let params = {
size: this.pageSize,
current: this.pageIndex,
moduleType: "3",
}
articleList(params)
.then((res) => {
if (res.code == 1) {
this.tableData = [...res.data.records]
this.total = res.data.total
this.listLoading = false
}
})
.catch((e) => {
this.listLoading = false
})
},
},
}
</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;
.f-btn {
width: 100px;
height: 32px;
background: #4e68ff;
}
}
</style>
......@@ -33,21 +33,24 @@
:show-close="true"
@closed="resetForm"
>
<div class="title">添加</div>
<div class="title">{{ readOnly ? "查看" : "添加" }}</div>
<el-form
ref="form"
:model="form"
:label-position="'right'"
label-width="110px"
label-suffix=":"
:rules="rules"
:disabled="readOnly"
>
<el-form-item
v-for="(item, index) in formList"
:key="index"
:label="item.label"
:prop="item.prop"
:rules="[{ required: true, message: item.label + '不能为空' }]"
>
<!-- <template v-if="!readOnly"> -->
<template>
<!-- 输入框 -->
<el-input
v-if="item.type == 'input'"
......@@ -60,6 +63,7 @@
v-else-if="item.type == 'select'"
v-model="form[item.prop]"
:placeholder="'请选择' + item.label"
style="width: 100%"
>
<el-option
v-for="e in item.selectGroup"
......@@ -74,18 +78,38 @@
v-model="form[item.prop]"
:btn-type="'text'"
v-bind="item"
:list-type="item.listType"
:accept="item.accept"
:limit="item.limit"
:disabled="readOnly"
></el-upload-self>
<!-- switch -->
<!-- switch切换 启用 -->
<el-switch
v-else-if="item.type === 'switch'"
v-model="form[item.prop]"
:active-value="1"
:inactive-value="0"
>
</el-switch>
</template>
<!-- <template v-else>
<span>{{ form[item.prop] || "--" }}</span>
</template> -->
</el-form-item>
</el-form>
<span slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm">保存</el-button>
<el-button class="f-btn" type="primary" @click="submitForm('5')"
>保存</el-button
>
</span>
</el-dialog>
<!-- 删除提示框 -->
<el-dialog title="提示" :visible.sync="deleteVisible" width="30%">
<span>确定删除吗?</span>
<span slot="footer" class="dialog-footers">
<el-button @click="deleteVisible = false">取 消</el-button>
<el-button type="primary" @click="confirmDelete">确 定</el-button>
</span>
</el-dialog>
</div>
......@@ -94,50 +118,47 @@
import CustomsTable from "@/components/CustomsTable"
import paginationMixin from "@/components/TabComponents/mixin"
import ElUploadSelf from "@/components/Upload"
import {
articleList,
articleEnable,
deleteArticle,
} from "@/api/operation-management"
import mixin from "./mixin"
import { articleList } from "@/api/operation-management"
export default {
components: {
CustomsTable,
ElUploadSelf,
},
mixins: [paginationMixin],
mixins: [paginationMixin, mixin],
data() {
return {
addVisible: false,
selectList: [
{
label: "筛查技术方案",
value: 0,
value: "1",
},
{
label: "筛查指南",
value: 1,
value: "2",
},
{
label: "学术成果",
value: 2,
value: "3",
},
{
label: "项目进展与成果",
value: 3,
value: "4",
},
],
selectType: 0,
selectType: "1",
listLoading: false,
columns: [
{
label: "标题",
minWidth: 120,
value: "title",
value: "articleTitle",
},
{
label: "文件",
minWidth: 120,
value: "file",
type: "file",
value: "filePath",
},
{
label: "上传时间",
......@@ -147,18 +168,18 @@ export default {
{
label: "最新修改时间",
minWidth: 120,
value: "editTime",
value: "updateTime",
},
{
label: "上传人姓名",
minWidth: 120,
value: "uploadPerson",
value: "uploadUserName",
},
{
label: "启用状态",
minWidth: 120,
type: "switch",
value: "isOpen",
value: "status",
func: this.openChage,
},
{
......@@ -168,7 +189,7 @@ export default {
operType: "button",
operations: [
{
func: this.editMedical,
func: this.viewMedical,
formatter(row) {
return {
label: "查看",
......@@ -186,7 +207,7 @@ export default {
},
},
{
func: this.rowOpration,
func: this.deleteFunc,
style: {
color: "#FA6400",
},
......@@ -200,56 +221,52 @@ export default {
],
},
],
tableData: [
{
title: "第一个",
isOpen: true,
},
],
tableData: [],
formList: [
{
type: "select",
label: "类型",
prop: "type",
prop: "articleType",
selectGroup: [
{
label: "筛查",
value: 0,
label: "筛查技术方案",
value: "1",
},
{
label: "生活",
value: 1,
label: "筛查指南",
value: "2",
},
{
label: "医学知识",
value: 2,
label: "学术成果",
value: "3",
},
{
label: "其他",
value: 3,
label: "项目进展与成果",
value: "4",
},
],
},
{
type: "input",
label: "标题",
prop: "title",
},
{
type: "upload",
label: "图片",
prop: "img",
},
prop: "articleTitle",
},
// {
// type: "upload",
// label: "图片",
// prop: "imgPath",
// listType: "picture-card",
// },
{
type: "upload",
label: "PDF",
prop: "aaa",
prop: "filePath",
accept: "application/pdf",
},
{
type: "switch",
label: "启用状态",
prop: "ssd",
prop: "status",
},
],
rules: {
......@@ -283,39 +300,6 @@ export default {
this.listLoading = false
})
},
// 添加医联体
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>
......@@ -351,7 +335,7 @@ export default {
::v-deep .el-dialog__footer {
border-top: none;
text-align: center;
.el-button {
.f-btn {
width: 100px;
height: 32px;
background: #4e68ff;
......
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