增加文档部分功能

This commit is contained in:
龙运模
2024-07-24 20:53:58 +08:00
parent babaf8f430
commit ac1daa1a79
10 changed files with 324 additions and 37 deletions
+80 -36
View File
@@ -1,9 +1,44 @@
<template>
<el-container class="mainHeaderNoPadding">
<el-header class="docsHeaderMain">
<el-row class="docsRow">
<el-col :span="20">
<div class="docsHeader">
<div class="arrowBox">
<div class="item leftArrow"><el-icon><el-icon-ArrowLeftBold/></el-icon></div>
<div class="item rightArrow"><el-icon><el-icon-ArrowRightBold/></el-icon></div>
</div>
<div class="refreshBox">
<el-icon><el-icon-RefreshLeft/></el-icon>
</div>
<div class="breadcrumb">
<el-breadcrumb separator-icon="el-icon-ArrowRight">
<el-breadcrumb-item>我的文档</el-breadcrumb-item>
<!-- <el-breadcrumb-item>固本</el-breadcrumb-item>-->
<!-- <el-breadcrumb-item>中学</el-breadcrumb-item>-->
</el-breadcrumb>
</div>
</div>
</el-col>
<el-col :span="4">
<el-input type="text" :size="size" prefix-icon="el-icon-Search" placeholder="搜索"></el-input>
</el-col>
</el-row>
</el-header>
<el-header>
<div class="left-panel">
<el-button type="primary" :size="size" icon="el-icon-plus" @click="add">新增</el-button>
<el-button :size="size" plain icon="el-icon-plus" @click="permission">上传</el-button>
<el-dropdown>
<el-button type="primary" :size="size">新建文档</el-button>
<template #dropdown>
<el-dropdown-menu>
<el-dropdown-item @click="table_show('see')" icon="sc-icon-See">查看详情</el-dropdown-item>
<el-dropdown-item @click="table_edit('edit')" icon="sc-icon-Edit">编辑公司</el-dropdown-item>
</el-dropdown-menu>
</template>
</el-dropdown>
<el-button type="primary" :size="size" icon="el-icon-plus" @click="add">新建文档</el-button>
<el-button type="primary" :size="size" plain @click="permission">上传</el-button>
<el-button type="primary" :size="size" plain @click="permission">操作</el-button>
<el-button type="danger" :size="size" plain icon="el-icon-delete" :disabled="selection.length==0" @click="batch_del"></el-button>
</div>
<div class="right-panel">
@@ -11,49 +46,48 @@
</div>
</el-header>
<el-main class="nopadding">
<scTable ref="table" :apiObj="apiObj" row-key="id" @selection-change="selectionChange" stripe>
<scTable ref="table" :apiObj="list.apiObj" :column="list.column" row-key="id" @selection-change="selectionChange" stripe :rowChild="false">
<sc-table-column label="序号" align="center" type="index"></sc-table-column>
<el-table-column label="工单号" prop="order_sn" width="150"></el-table-column>
<el-table-column label="别名" prop="alias" width="200"></el-table-column>
<el-table-column label="排序" prop="sort" width="80"></el-table-column>
<el-table-column label="状态" prop="status" width="80">
<template #default="scope">
<el-switch v-model="scope.row.status" @change="changeSwitch($event, scope.row)" :loading="scope.row.$switch_status" :active-value="true" :inactive-value="false"></el-switch>
</template>
</el-table-column>
<el-table-column label="创建时间" prop="date" width="180"></el-table-column>
<el-table-column label="备注" prop="remark" min-width="150"></el-table-column>
<el-table-column label="操作" fixed="right" align="right" width="170">
<template #default="scope">
<el-button-group>
<el-button text type="primary" size="small" @click="table_show(scope.row, scope.$index)">查看</el-button>
<el-button text type="primary" size="small" @click="table_edit(scope.row, scope.$index)">编辑</el-button>
<el-popconfirm title="确定删除吗?" @confirm="table_del(scope.row, scope.$index)">
<template #reference>
<el-button text type="primary" size="small">删除</el-button>
</template>
</el-popconfirm>
</el-button-group>
</template>
</el-table-column>
<template #name="scope">
<div class="nameBox" v-if="scope.row.type == 'folder'">
<el-icon size="large"><sc-icon-Folder/></el-icon>
<div class="text">{{scope.row.name}}</div>
</div>
<div class="nameBox" v-else>
<el-icon size="large"><sc-icon-Excel/></el-icon>
<div class="text">{{scope.row.file_name}}</div>
</div>
</template>
<template #size="scope">
<span v-if="scope.row.type == 'folder'"></span>
<span v-else>{{scope.row.file_size}}KB</span>
</template>
<template #type="scope">
<span v-if="scope.row.type == 'folder'">文件夹</span>
<span v-else>
{{scope.row.file_suffix}}文件
</span>
</template>
<template #is_share="scope">
{{scope.row.is_share?'是':'否'}}
</template>
</scTable>
</el-main>
</el-container>
<!-- <save-dialog v-if="dialog.save" ref="saveDialog" @success="handleSaveSuccess" @closed="dialog.save=false"></save-dialog>-->
<save-dialog v-if="dialog.save" ref="saveDialog" @success="handleSaveSuccess" @closed="dialog.save=false"></save-dialog>
<!-- <permission-dialog v-if="dialog.permission" ref="permissionDialog" @closed="dialog.permission=false"></permission-dialog>-->
</template>
<script>
// import saveDialog from './save'
import saveDialog from './save'
// import permissionDialog from './permission'
export default {
name: 'document',
components: {
// saveDialog,
saveDialog,
// permissionDialog
},
data() {
@@ -63,9 +97,10 @@ export default {
save: false,
permission: false
},
apiObj: [
{},{},{}
],
list:{
apiObj: this.$API.docs.manager.list,
column:[]
},
selection: [],
search: {
keyword: null
@@ -103,8 +138,8 @@ export default {
},
//删除
async table_del(row){
var reqData = {id: row.id}
var res = await this.$API.demo.post.post(reqData);
const reqData = {id: row.id};
const res = await this.$API.demo.post.post(reqData);
if(res.code == 200){
this.$refs.table.refresh()
this.$message.success("删除成功")
@@ -170,5 +205,14 @@ export default {
</script>
<style lang="scss" scoped>
.nameBox{
display: flex;align-items: center;
cursor: pointer;
.el-icon{
margin-right: 8px;
}
.text{
overflow: hidden;text-overflow: ellipsis;white-space: nowrap;
}
}
</style>
+89
View File
@@ -0,0 +1,89 @@
<template>
<el-dialog :title="titleMap[mode]" v-model="visible" :width="500" draggable destroy-on-close @closed="$emit('closed')">
<el-form :model="form" :rules="rules" :disabled="mode=='show'" ref="dialogForm" label-width="120px" label-position="right">
<el-form-item label="角色名称" prop="role_name">
<el-input v-model="form.role_name" placeholder="请填写角色名称" clearable></el-input>
</el-form-item>
<el-form-item label="状态" prop="active_status">
<el-switch v-model="form.active_status" :active-value="true" :inactive-value="false"></el-switch>
</el-form-item>
<el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" clearable type="textarea"></el-input>
</el-form-item>
</el-form>
<template #footer>
<el-button @click="visible=false" >取 消</el-button>
<el-button v-if="mode!='show'" type="primary" :loading="isSave" @click="submit()">保 存</el-button>
</template>
</el-dialog>
</template>
<script>
export default {
emits: ['success', 'closed'],
data() {
return {
mode: "add",
titleMap: {
add: '新增',
edit: '编辑',
show: '查看'
},
visible: false,
isSave: false,
//表单数据
form: {
id:"",
role_name: "",
active_status: true,
remark: ""
},
//验证规则
rules: {
role_name: [
{required: true, message: '请输入角色名称'}
],
active_status: [
{required: true,}
]
}
}
},
mounted() {
},
methods: {
//显示
open(mode='add'){
this.mode = mode;
this.visible = true;
return this
},
//表单提交方法
submit(){
this.$refs.dialogForm.validate(async (valid) => {
if (valid) {
this.isSave = true;
const res = await this.$API.system.role.add.post(this.form);
this.isSave = false;
if(res.code == 200){
this.$emit('success', this.form, this.mode)
this.visible = false;
this.$message.success("操作成功")
}
}
})
},
//表单注入数据
setData(data){
this.form.id = data.id
this.form.role_name = data.role_name
this.form.active_status = data.active_status
this.form.remark = data.remark
}
}
}
</script>
<style>
</style>