|
@@ -0,0 +1,510 @@
|
|
|
|
+<template>
|
|
|
|
+ <div class="dataset-list">
|
|
|
|
+ <div class="category-list">
|
|
|
|
+ <div class="btns">
|
|
|
|
+ <el-button size="small" type="primary" icon="el-icon-edit" @click="showCategory = true">编辑分类</el-button>
|
|
|
|
+ <el-button size="small" type="success" icon="el-icon-plus" @click="onEditCategory(null)">添加分类</el-button>
|
|
|
|
+ </div>
|
|
|
|
+ <!-- <el-input-->
|
|
|
|
+ <!-- v-model="categoryKey" size="small" style="margin-bottom: 20px" @input="onSearchCategory" placeholder="搜索分类"-->
|
|
|
|
+ <!-- ></el-input>-->
|
|
|
|
+ <el-menu :default-active="nowCategoryId" @select="onSelectCategory">
|
|
|
|
+ <el-menu-item :index="0">
|
|
|
|
+ <div class="name" style="flex: 1">全部分类</div>
|
|
|
|
+ </el-menu-item>
|
|
|
|
+ <template v-for="category in categoryList">
|
|
|
|
+ <el-menu-item :key="category.id" :index="category.id">
|
|
|
|
+ <div class="name" style="flex: 1">{{ category.name }}</div>
|
|
|
|
+ </el-menu-item>
|
|
|
|
+ </template>
|
|
|
|
+ </el-menu>
|
|
|
|
+ </div>
|
|
|
|
+ <div class="JNPF-common-layout-center">
|
|
|
|
+ <div class="my-menu flex flex-between" style="margin-bottom: 10px">
|
|
|
|
+ <div style="display: flex">
|
|
|
|
+ <el-input size="mini" v-model="keyword" placeholder="请输入关键词查询" clearable />
|
|
|
|
+ <el-button style="margin-left: 10px" size="mini" type="primary" icon="el-icon-search" @click="initData()"> 查询 </el-button>
|
|
|
|
+ <el-button style="margin-left: 10px" size="mini" icon="el-icon-refresh-right" @click="reset()"> 重置 </el-button>
|
|
|
|
+ </div>
|
|
|
|
+ <el-button type="success" size="mini" @click="onEditWordTmp(null)">新增</el-button>
|
|
|
|
+ <!-- <el-button type="success" size="mini" @click="addOrUpdateHandle('',2)">新增</el-button>-->
|
|
|
|
+ </div>
|
|
|
|
+ <div class="JNPF-common-layout-main JNPF-flex-main">
|
|
|
|
+ <el-table
|
|
|
|
+ :data="flowEngineList"
|
|
|
|
+ ref="JNPFTable"
|
|
|
|
+ class="JNPF-common-table"
|
|
|
|
+ :border="true"
|
|
|
|
+ size="small"
|
|
|
|
+ height="calc(100% - 55px)"
|
|
|
|
+ row-key="id"
|
|
|
|
+ :tree-props="{ children: 'children', hasChildren: '' }"
|
|
|
|
+ default-expand-all
|
|
|
|
+ element-loading-text="加载中"
|
|
|
|
+ >
|
|
|
|
+ <el-table-column type="index" width="50" label="序号" align="center" />
|
|
|
|
+ <el-table-column prop="name" label="模版名称" show-overflow-tooltip min-width="200"></el-table-column>
|
|
|
|
+ <el-table-column prop="cateName" label="所属分类" width="200" />
|
|
|
|
+ <el-table-column prop="path" label="模版文件" width="200">
|
|
|
|
+ <template slot-scope="scope">
|
|
|
|
+ <span @click="imgOpenClick(scope.row.path)">{{ scope.row.path }}</span>
|
|
|
|
+ </template>
|
|
|
|
+ </el-table-column>
|
|
|
|
+ <el-table-column prop="trans2es" label="Es状态" width="120">
|
|
|
|
+ <template slot-scope="scope">
|
|
|
|
+ <span v-if="scope.row.trans2es == 1">正常文件</span>
|
|
|
|
+ <span v-else-if="scope.row.trans2es == 2">url==null</span>
|
|
|
|
+ <span v-else-if="scope.row.trans2es == 3">不能解压的压缩文件</span>
|
|
|
|
+ <span v-else-if="scope.row.trans2es == 4">localOssProcessor文件不存在</span>
|
|
|
|
+ <span v-else-if="scope.row.trans2es == 5">tika解析异常</span>
|
|
|
|
+ <span v-else-if="scope.row.trans2es == 6">压缩包文件</span>
|
|
|
|
+ <span v-else>文件待入库</span>
|
|
|
|
+ </template>
|
|
|
|
+ </el-table-column>
|
|
|
|
+ <el-table-column prop="createUser" label="创建人" width="120" />
|
|
|
|
+ <el-table-column prop="createTime" label="创建时间" width="120" />
|
|
|
|
+ <el-table-column prop="updateUser" label="修改人" width="120" />
|
|
|
|
+ <el-table-column prop="updateTime" label="最后修改时间" width="120" />
|
|
|
|
+ <el-table-column label="操作" fixed="right" width="250">
|
|
|
|
+ <template slot-scope="scope" v-if="!scope.row.top">
|
|
|
|
+ <template v-if="isCompoent">
|
|
|
|
+ <el-button size="mini" type="primary" plain @click="setTep(scope.row)">使用</el-button>
|
|
|
|
+ </template>
|
|
|
|
+ <template v-else>
|
|
|
|
+ <el-button size="mini" type="primary" plain @click="getEsWordTmp(scope.row.id)">上传到ES</el-button>
|
|
|
|
+ </template>
|
|
|
|
+
|
|
|
|
+ <el-button size="mini" type="primary" plain @click="onEditWordTmp(scope.row)">编辑</el-button>
|
|
|
|
+ <el-button size="mini" type="warning" plain class="JNPF-table-delBtn" @click="handleDel(scope.row.id)" :disabled="false"> 删除 </el-button>
|
|
|
|
+ </template>
|
|
|
|
+ </el-table-column>
|
|
|
|
+ </el-table>
|
|
|
|
+ <el-pagination
|
|
|
|
+ style="text-align: right; margin-top: 10px"
|
|
|
|
+ @size-change="settlementSizeChange"
|
|
|
|
+ @current-change="settlementCurrentChange"
|
|
|
|
+ :current-page="page"
|
|
|
|
+ :page-sizes="[3, 5, 10, 20, 30, 40, 50]"
|
|
|
|
+ layout="total, sizes, prev, pager, next, jumper"
|
|
|
|
+ :total="total"
|
|
|
|
+ :page-size="limit"
|
|
|
|
+ ></el-pagination>
|
|
|
|
+ </div>
|
|
|
|
+ </div>
|
|
|
|
+ <el-dialog :visible.sync="showEditCategory" title="编辑分类" append-to-body width="400px">
|
|
|
|
+ <el-form size="mini" label-width="80px">
|
|
|
|
+ <el-form-item label="分类名">
|
|
|
|
+ <el-input v-model="addName"></el-input>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ </el-form>
|
|
|
|
+ <el-button size="mini" type="primary" @click="onEditCategoryConfirm" style="width: 100px; margin: 30px auto 0; display: block"> 保存 </el-button>
|
|
|
|
+ </el-dialog>
|
|
|
|
+ <el-dialog :visible.sync="showCategory" title="分类列表" append-to-body>
|
|
|
|
+ <el-table size="mini" :data="categoryList" border row-key="id" default-expand-all :tree-props="{ children: 'children', hasChildren: 'hasChildren' }">
|
|
|
|
+ <el-table-column label="分类名" prop="name"></el-table-column>
|
|
|
|
+ <el-table-column label="分类id" prop="id"></el-table-column>
|
|
|
|
+ <el-table-column label="操作" width="200px">
|
|
|
|
+ <template slot-scope="scope">
|
|
|
|
+ <el-button size="mini" type="primary" plain @click="onEditCategory(scope.row)">编辑</el-button>
|
|
|
|
+ <el-button size="mini" type="danger" plain @click="onDelCategory(scope.row)">删除</el-button>
|
|
|
|
+ </template>
|
|
|
|
+ </el-table-column>
|
|
|
|
+ </el-table>
|
|
|
|
+ </el-dialog>
|
|
|
|
+ <el-dialog :visible.sync="addVisible" :title="wordForm.id ? '编辑模版' : '添加模版'" append-to-body width="400px">
|
|
|
|
+ <el-form :model="wordForm" label-position="left" :rules="rules" label-width="100px" ref="addForm" size="mini">
|
|
|
|
+ <el-form-item label="模版名称" prop="name">
|
|
|
|
+ <el-input v-model="wordForm.name" placeholder="模版名称"></el-input>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ <el-form-item label="所属分类" prop="cateId">
|
|
|
|
+ <el-select v-model="wordForm.cateId" @change="onChangeCategory(wordForm.cateId)" clearable filterable placeholder="请选择所属分类">
|
|
|
|
+ <el-option v-for="item in categoryList" :key="item.id" :label="item.name" :value="item.id"></el-option>
|
|
|
|
+ </el-select>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ <el-form-item label="模版文件" prop="path">
|
|
|
|
+ <el-upload
|
|
|
|
+ :action="API_UPLOADURL + '/file/uploadFile'"
|
|
|
|
+ :headers="uploadHeaders"
|
|
|
|
+ :file-list="wordForm.fileList"
|
|
|
|
+ :on-success="handleSuccess"
|
|
|
|
+ :show-file-list="false"
|
|
|
|
+ :before-upload="beforeUpload"
|
|
|
|
+ :on-exceed="handleExceed"
|
|
|
|
+ :limit="1"
|
|
|
|
+ >
|
|
|
|
+ <el-button size="small" icon="el-icon-upload">点击上传</el-button>
|
|
|
|
+ </el-upload>
|
|
|
|
+ <template v-if="wordForm.fileList.length">
|
|
|
|
+ <transition-group class="el-upload-list el-upload-list el-upload-list--text" tag="ul" name="el-list">
|
|
|
|
+ <li class="el-upload-list__item is-success" v-for="(file, index) in wordForm.fileList" :key="file.fileId">
|
|
|
|
+ <a class="el-upload-list__item-name">
|
|
|
|
+ <i class="el-icon-document"></i>
|
|
|
|
+ {{ file.name }}
|
|
|
|
+ </a>
|
|
|
|
+ <label class="el-upload-list__item-status-label">
|
|
|
|
+ <i class="el-icon-upload-success el-icon-circle-check"></i>
|
|
|
|
+ </label>
|
|
|
|
+ <i class="el-icon-close" @click="handleRemove(file, index)"></i>
|
|
|
|
+ </li>
|
|
|
|
+ </transition-group>
|
|
|
|
+ </template>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ </el-form>
|
|
|
|
+ <el-button size="mini" type="primary" @click="onEditWordTepSub" style="width: 100px; margin: 30px auto 0; display: block"> 保存 </el-button>
|
|
|
|
+ </el-dialog>
|
|
|
|
+ </div>
|
|
|
|
+</template>
|
|
|
|
+
|
|
|
|
+<script>
|
|
|
|
+import { getWordTepCateAdd, getWordTepCateDelete, getWordTepCateInfo, getWordTepCateList, WordTepDelete, WordTepEsSave, WordTepSave } from '@/api/wordTep'
|
|
|
|
+import { getToken } from '@/utils/auth'
|
|
|
|
+
|
|
|
|
+export default {
|
|
|
|
+ name: 'webDesign',
|
|
|
|
+ props: {
|
|
|
|
+ isCompoent: {
|
|
|
|
+ type: Boolean,
|
|
|
|
+ default: false
|
|
|
|
+ }
|
|
|
|
+ },
|
|
|
|
+ data() {
|
|
|
|
+ return {
|
|
|
|
+ API_UPLOADURL: APP_CONFIG.API_UPLOADURL,
|
|
|
|
+ page: 1,
|
|
|
|
+ limit: 10,
|
|
|
|
+ total: 10,
|
|
|
|
+ flowEngineList: [],
|
|
|
|
+ categoryList: [],
|
|
|
|
+ keyword: '',
|
|
|
|
+ type: 1,
|
|
|
|
+ listLoading: false,
|
|
|
|
+ formVisible: false,
|
|
|
|
+ addVisible: false,
|
|
|
|
+ nowCategoryId: 0,
|
|
|
|
+ cateId: '',
|
|
|
|
+ addName: '',
|
|
|
|
+ addId: '',
|
|
|
|
+ categoryKey: '',
|
|
|
|
+ showEditCategory: false,
|
|
|
|
+ showCategory: false,
|
|
|
|
+ originHost: null,
|
|
|
|
+ wordForm: {
|
|
|
|
+ id: '',
|
|
|
|
+ name: '',
|
|
|
|
+ path: '',
|
|
|
|
+ cateId: '',
|
|
|
|
+ cateName: '',
|
|
|
|
+ fileList: []
|
|
|
|
+ },
|
|
|
|
+ uploadHeaders: { 'Blade-Auth': 'bearer ' + getToken() },
|
|
|
|
+ rules: {
|
|
|
|
+ name: [{ required: true, message: '请输入模版名称', trigger: 'blur' }],
|
|
|
|
+ cateId: [{ required: true, message: '请选择所属分类', trigger: 'change' }],
|
|
|
|
+ path: [{ required: true, message: '请上传模版文件', trigger: 'change' }]
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ },
|
|
|
|
+ created() {
|
|
|
|
+ this.initData()
|
|
|
|
+ this.originHost = document.location.origin
|
|
|
|
+ },
|
|
|
|
+ methods: {
|
|
|
|
+ initData() {
|
|
|
|
+ this.listLoading = true
|
|
|
|
+ getWordTepCateList().then((res) => {
|
|
|
|
+ this.categoryList = res.data.data.records
|
|
|
|
+ })
|
|
|
|
+ this.getListPage()
|
|
|
|
+ },
|
|
|
|
+ getListPage() {
|
|
|
|
+ let query = {
|
|
|
|
+ cateId: this.cateId,
|
|
|
|
+ current: this.page,
|
|
|
|
+ size: this.limit,
|
|
|
|
+ name: this.keyword
|
|
|
|
+ }
|
|
|
|
+ getWordTepCateInfo(query).then((res) => {
|
|
|
|
+ this.flowEngineList = res.data.data.records
|
|
|
|
+ this.page = res.data.data.current
|
|
|
|
+ this.limit = res.data.data.size
|
|
|
|
+ this.total = res.data.data.total
|
|
|
|
+ this.listLoading = false
|
|
|
|
+ })
|
|
|
|
+ },
|
|
|
|
+ // 每页数量
|
|
|
|
+ settlementSizeChange(val) {
|
|
|
|
+ this.page = 1
|
|
|
|
+ this.limit = val
|
|
|
|
+ this.getListPage()
|
|
|
|
+ },
|
|
|
|
+ // 当前页
|
|
|
|
+ settlementCurrentChange(val) {
|
|
|
|
+ this.page = val
|
|
|
|
+ this.getListPage()
|
|
|
|
+ },
|
|
|
|
+ reset() {
|
|
|
|
+ this.keyword = ''
|
|
|
|
+ this.initData()
|
|
|
|
+ },
|
|
|
|
+ handleDel(id) {
|
|
|
|
+ this.$confirm('此操作将永久删除该数据, 是否继续?', '提示', {
|
|
|
|
+ type: 'warning'
|
|
|
|
+ })
|
|
|
|
+ .then(async () => {
|
|
|
|
+ const res = await WordTepDelete([id])
|
|
|
|
+ if (res.data.code === 200) {
|
|
|
|
+ this.$message({ type: 'success', message: res.data.msg })
|
|
|
|
+ this.initData()
|
|
|
|
+ }
|
|
|
|
+ })
|
|
|
|
+ .catch(() => {})
|
|
|
|
+ },
|
|
|
|
+ //分类切换
|
|
|
|
+ onSelectCategory(index) {
|
|
|
|
+ this.cateId = index === 0 ? '' : index
|
|
|
|
+ this.getListPage()
|
|
|
|
+ },
|
|
|
|
+ //添加分类
|
|
|
|
+ onEditCategory(category) {
|
|
|
|
+ if (!category) {
|
|
|
|
+ this.addName = ''
|
|
|
|
+ this.addId = ''
|
|
|
|
+ } else {
|
|
|
|
+ this.addName = category.name
|
|
|
|
+ this.addId = category.id
|
|
|
|
+ }
|
|
|
|
+ this.showEditCategory = true
|
|
|
|
+ },
|
|
|
|
+ //提交修改或添加
|
|
|
|
+ async onEditCategoryConfirm() {
|
|
|
|
+ if (!this.addName) return this.$message({ type: 'warning', message: '请填写分类名' })
|
|
|
|
+ const param = {
|
|
|
|
+ name: this.addName,
|
|
|
|
+ id: this.addId
|
|
|
|
+ }
|
|
|
|
+ const res = await getWordTepCateAdd(param)
|
|
|
|
+ if (res.data.code === 200) {
|
|
|
|
+ this.$message({ type: 'success', message: '保存成功' })
|
|
|
|
+ this.initData()
|
|
|
|
+ this.showEditCategory = false
|
|
|
|
+ }
|
|
|
|
+ },
|
|
|
|
+ //删除
|
|
|
|
+ onDelCategory(row) {
|
|
|
|
+ this.$confirm('确定删除此分类?', '提示', {
|
|
|
|
+ confirmButtonText: '确定',
|
|
|
|
+ cancelButtonText: '取消',
|
|
|
|
+ type: 'warning'
|
|
|
|
+ }).then(() => {
|
|
|
|
+ getWordTepCateDelete([row.id])
|
|
|
|
+ .then((res) => {
|
|
|
|
+ this.$message({ type: 'success', message: '删除成功' })
|
|
|
|
+ this.initData()
|
|
|
|
+ })
|
|
|
|
+ .catch(() => {})
|
|
|
|
+ })
|
|
|
|
+ },
|
|
|
|
+ //分类搜索
|
|
|
|
+ onSearchCategory(k) {
|
|
|
|
+ this.categoryList = this.categoryList.filter((i) => i.fullName.includes(k))
|
|
|
|
+ },
|
|
|
|
+ //添加分类
|
|
|
|
+ onEditWordTmp(category) {
|
|
|
|
+ if (!category) {
|
|
|
|
+ this.wordForm = {
|
|
|
|
+ id: '',
|
|
|
|
+ name: '',
|
|
|
|
+ path: '',
|
|
|
|
+ cateId: '',
|
|
|
|
+ cateName: '',
|
|
|
|
+ fileList: []
|
|
|
|
+ }
|
|
|
|
+ } else {
|
|
|
|
+ this.wordForm = {
|
|
|
|
+ id: category.id,
|
|
|
|
+ name: category.name,
|
|
|
|
+ path: category.path,
|
|
|
|
+ cateId: category.cateId,
|
|
|
|
+ cateName: category.cateName,
|
|
|
|
+ fileList: [{ name: category.path, fileId: category.path, url: category.path }]
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ this.$nextTick(() => {
|
|
|
|
+ this.addVisible = true
|
|
|
|
+ })
|
|
|
|
+ },
|
|
|
|
+ beforeUpload(file) {
|
|
|
|
+ const unitNum = 1024 * 1024 * 500
|
|
|
|
+ let isRightSize = file.size < unitNum
|
|
|
|
+ if (!isRightSize) {
|
|
|
|
+ this.$message.error(`文件大小超过500MB`)
|
|
|
|
+ }
|
|
|
|
+ return isRightSize
|
|
|
|
+ },
|
|
|
|
+ handleSuccess(res, file, fileList) {
|
|
|
|
+ // 如果数组类型
|
|
|
|
+ if (res.code === 200) {
|
|
|
|
+ this.wordForm.fileList.push({ name: file.name, fileId: res.msg, url: res.msg })
|
|
|
|
+ this.wordForm.path = res.msg
|
|
|
|
+ } else {
|
|
|
|
+ fileList.filter((o) => o.uid != file.uid)
|
|
|
|
+ this.wordForm.fileList = []
|
|
|
|
+ this.$message({ message: '上传失败', type: 'error', duration: 1500 })
|
|
|
|
+ }
|
|
|
|
+ },
|
|
|
|
+ handleExceed(files, fileList) {
|
|
|
|
+ this.$message.warning(`当前限制最多可以上传1个文件`)
|
|
|
|
+ },
|
|
|
|
+ handleRemove(file, index) {
|
|
|
|
+ this.wordForm.fileList.splice(index, 1)
|
|
|
|
+ this.wordForm.path = ''
|
|
|
|
+ },
|
|
|
|
+ onChangeCategory(id) {
|
|
|
|
+ this.wordForm.cateName = this.categoryList.filter((i) => i.id === id)[0].name
|
|
|
|
+ },
|
|
|
|
+ onEditWordTepSub() {
|
|
|
|
+ const param = {
|
|
|
|
+ id: this.wordForm.id,
|
|
|
|
+ name: this.wordForm.name,
|
|
|
|
+ path: this.wordForm.path,
|
|
|
|
+ cateId: this.wordForm.cateId,
|
|
|
|
+ cateName: this.wordForm.cateName
|
|
|
|
+ }
|
|
|
|
+ this.$refs['addForm'].validate((valid) => {
|
|
|
|
+ if (valid) {
|
|
|
|
+ WordTepSave(param).then((res) => {
|
|
|
|
+ this.$message({ type: 'success', message: '操作成功' })
|
|
|
|
+ this.initData()
|
|
|
|
+ this.addVisible = false
|
|
|
|
+ })
|
|
|
|
+ } else {
|
|
|
|
+ return false
|
|
|
|
+ }
|
|
|
|
+ })
|
|
|
|
+ },
|
|
|
|
+ getEsWordTmp(id) {
|
|
|
|
+ if (!id) return
|
|
|
|
+ WordTepEsSave(id).then((res) => {
|
|
|
|
+ if (res.data.code === 200) {
|
|
|
|
+ this.$message({ type: 'success', message: '操作成功' })
|
|
|
|
+ this.initData()
|
|
|
|
+ }
|
|
|
|
+ })
|
|
|
|
+ },
|
|
|
|
+ imgOpenClick(url) {
|
|
|
|
+ let Base64 = require('js-base64').Base64
|
|
|
|
+ let upUrl = Base64.encode(document.location.origin + '/' + url)
|
|
|
|
+ let str = `https://bi.platomix.net/fileview/onlinePreviewPublic?url=${upUrl}`
|
|
|
|
+ window.open(str, '_blank')
|
|
|
|
+ },
|
|
|
|
+ setTep(row) {
|
|
|
|
+ this.$emit('getTep', row)
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+}
|
|
|
|
+</script>
|
|
|
|
+
|
|
|
|
+<style lang="scss" scoped>
|
|
|
|
+.dataset-list {
|
|
|
|
+ display: flex;
|
|
|
|
+ overflow: hidden;
|
|
|
|
+ height: 100%;
|
|
|
|
+ padding: 10px;
|
|
|
|
+ .btns {
|
|
|
|
+ margin: 10px 0;
|
|
|
|
+ display: flex;
|
|
|
|
+ justify-content: space-between;
|
|
|
|
+ .el-button {
|
|
|
|
+ width: 125px;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ .category-list {
|
|
|
|
+ flex: 0 0 260px;
|
|
|
|
+ padding-top: 10px;
|
|
|
|
+ padding-right: 10px;
|
|
|
|
+ border-right: 1px solid #ccc;
|
|
|
|
+ overflow: hidden;
|
|
|
|
+ display: flex;
|
|
|
|
+ flex-direction: column;
|
|
|
|
+ .el-menu {
|
|
|
|
+ flex: 1;
|
|
|
|
+ overflow-y: auto;
|
|
|
|
+ .el-menu-item {
|
|
|
|
+ padding: 0 5px 0 10px;
|
|
|
|
+ display: flex;
|
|
|
|
+ align-items: center;
|
|
|
|
+ height: 50px;
|
|
|
|
+ line-height: 50px;
|
|
|
|
+ .name {
|
|
|
|
+ overflow: hidden;
|
|
|
|
+ white-space: nowrap;
|
|
|
|
+ text-overflow: ellipsis;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ .main-wrapper {
|
|
|
|
+ flex: 1;
|
|
|
|
+ padding: 10px 10px 0;
|
|
|
|
+ overflow-y: auto;
|
|
|
|
+ }
|
|
|
|
+}
|
|
|
|
+.JNPF-flex-main {
|
|
|
|
+ display: -webkit-box;
|
|
|
|
+ display: -ms-flexbox;
|
|
|
|
+ display: flex;
|
|
|
|
+ -webkit-box-orient: vertical;
|
|
|
|
+ -webkit-box-direction: normal;
|
|
|
|
+ -ms-flex-direction: column;
|
|
|
|
+ flex-direction: column;
|
|
|
|
+}
|
|
|
|
+.JNPF-common-layout-center {
|
|
|
|
+ padding-left: 10px;
|
|
|
|
+ -webkit-box-flex: 1;
|
|
|
|
+ -ms-flex: 1;
|
|
|
|
+ flex: 1;
|
|
|
|
+ height: 90%;
|
|
|
|
+ overflow: hidden;
|
|
|
|
+ display: -webkit-box;
|
|
|
|
+ display: -ms-flexbox;
|
|
|
|
+ display: flex;
|
|
|
|
+ -webkit-box-orient: vertical;
|
|
|
|
+ -webkit-box-direction: normal;
|
|
|
|
+ -ms-flex-direction: column;
|
|
|
|
+ flex-direction: column;
|
|
|
|
+}
|
|
|
|
+.JNPF-common-search-box {
|
|
|
|
+ background: #fff;
|
|
|
|
+ -ms-flex-negative: 0;
|
|
|
|
+ flex-shrink: 0;
|
|
|
|
+ margin-bottom: 10px;
|
|
|
|
+ padding: 15px 10px 0;
|
|
|
|
+ position: relative;
|
|
|
|
+}
|
|
|
|
+.JNPF-common-search-box .el-form-item {
|
|
|
|
+ width: 100%;
|
|
|
|
+ display: -webkit-box;
|
|
|
|
+ display: -ms-flexbox;
|
|
|
|
+ display: flex;
|
|
|
|
+ margin-bottom: 14px !important;
|
|
|
|
+}
|
|
|
|
+::v-deep .JNPF-common-search-box .el-form-item .el-form-item__content {
|
|
|
|
+ -webkit-box-flex: 1;
|
|
|
|
+ -ms-flex: 1;
|
|
|
|
+ flex: 1;
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+.JNPF-common-layout-center .JNPF-common-layout-main {
|
|
|
|
+ -webkit-box-flex: 1;
|
|
|
|
+ -ms-flex: 1;
|
|
|
|
+ flex: 1;
|
|
|
|
+ padding: 0 0 10px;
|
|
|
|
+ background-color: #fff;
|
|
|
|
+ height: 100%;
|
|
|
|
+ overflow: hidden;
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+:deep(.el-menu-item.is-active) {
|
|
|
|
+ color: #fff;
|
|
|
|
+}
|
|
|
|
+</style>
|