commit
This commit is contained in:
@@ -1,169 +0,0 @@
|
||||
<!--#
|
||||
layout("/layouts/platform.html"){
|
||||
#-->
|
||||
|
||||
<div id="app" v-cloak>
|
||||
<guava>
|
||||
<el-card shadow="never">
|
||||
<template #header>
|
||||
<div style="display:flex;justify-content: space-between;align-items: center">
|
||||
<h3 style="color: #1867b0">模板管理</h3>
|
||||
<el-button type="primary" size="small" @click="openAdd">
|
||||
上传模板
|
||||
</el-button>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<el-row type="flex" style="column-gap:10px">
|
||||
<el-input v-model="pageForm.templateCode" maxlength="50" style="width: 400px"
|
||||
clearable placeholder="请输入模板代码"></el-input>
|
||||
|
||||
<el-button @click="doSearch" icon="el-icon-search" type="primary">搜索</el-button>
|
||||
|
||||
</el-row>
|
||||
|
||||
<el-table :data="tableData" border class="mt10" stripe ref="table" :height="tableHeight"
|
||||
id="officeTable">
|
||||
<el-table-column label="序号" type="index" :index="indexMethod"
|
||||
width="70px"></el-table-column>
|
||||
<el-table-column label="模板代码" prop="templateCode"></el-table-column>
|
||||
<el-table-column label="模板名称" prop="templateName"></el-table-column>
|
||||
<!-- <el-table-column label="模板大小" prop="templateSize"></el-table-column>-->
|
||||
<el-table-column label="模板路径" prop="templatePath"></el-table-column>
|
||||
<el-table-column label="模板说明" prop="templateDesc"></el-table-column>
|
||||
<el-table-column label="操作" width="300px">
|
||||
<template scope="{row}">
|
||||
<el-button size="mini" type="primary"
|
||||
@click="download(row.templatePath)">下载
|
||||
</el-button>
|
||||
<el-button size="mini" type="primary"
|
||||
@click="preview(row.templatePath,row.templatePath)">预览
|
||||
</el-button>
|
||||
<el-button size="mini" type="primary" @click="openEdit(row)">编辑</el-button>
|
||||
<el-button size="mini" type="danger" @click="doDelete(row)">删除</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<!--#include("/layouts/pagination.html"){}#-->
|
||||
|
||||
</el-card>
|
||||
|
||||
<el-dialog title="模板" :visible.sync="dialogVisible" :close-on-click-modal="false"
|
||||
width="60%">
|
||||
<el-form :model="formData" ref="ruleForm" :rules="formRules" label-width="80px">
|
||||
<el-form-item label="模板文件" prop="templatePath"
|
||||
:rules="[{required:true,message:'必传',trigger:['change']}]">
|
||||
<file-upload :files="files" @update:files="updateFiles" ref="fileUpload"
|
||||
:limit="1"
|
||||
:type="['doc','docx','xlsx','xls']"></file-upload>
|
||||
</el-form-item>
|
||||
<el-form-item label="模板名称" prop="templateName"
|
||||
:rules="[{required:true,message:'上传文件后自动读取',trigger:['change']}]">
|
||||
<el-input type="text" v-model="formData.templateName" maxlength="50"
|
||||
disabled
|
||||
placeholder="自动读取文件名"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="模板代码" prop="templateCode"
|
||||
:rules="[{required:true,message:'必填',trigger:['change']}]">
|
||||
<el-input type="text" v-model="formData.templateCode" maxlength="50"
|
||||
placeholder="请填写模板代码"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="模板说明" prop="templateDesc"
|
||||
:rules="[{required:true,message:'必填',trigger:['change']}]">
|
||||
<el-input type="text" v-model="formData.templateDesc" maxlength="50"
|
||||
placeholder="请填写模板说明"></el-input>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<span slot="footer" class="dialog-footer">
|
||||
<el-button @click="dialogVisible = false">取消</el-button>
|
||||
<el-button type="primary" @click="save">确定</el-button>
|
||||
</span>
|
||||
|
||||
{{formData}}
|
||||
</el-dialog>
|
||||
|
||||
</guava>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
var vue = new Vue({
|
||||
el: '#app',
|
||||
mixins: [initTableMixins],
|
||||
data() {
|
||||
return {
|
||||
files: [],
|
||||
dialogVisible: false,
|
||||
tableHeight: 700
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
openAdd() {
|
||||
this.dialogVisible = true
|
||||
this.formData = {}
|
||||
this.files = []
|
||||
},
|
||||
openEdit(row) {
|
||||
this.dialogVisible = true
|
||||
this.files = [{
|
||||
id: row.templatePath,
|
||||
filepath: row.templatePath,
|
||||
filename: row.templateName
|
||||
}]
|
||||
this.formData = {...row}
|
||||
},
|
||||
save() {
|
||||
this.$refs.ruleForm.validate(async valid => {
|
||||
if (valid) {
|
||||
const resp = await $.post(loc() + '/save', this.formData)
|
||||
if (resp.code === 0) {
|
||||
this.dialogVisible = false
|
||||
this.notifySuccess(resp.msg)
|
||||
this.pageData()
|
||||
} else {
|
||||
this.notifyWarning(resp.msg)
|
||||
}
|
||||
|
||||
}
|
||||
})
|
||||
},
|
||||
updateFiles(val) {
|
||||
this.files = val
|
||||
if (val && val.length > 0) {
|
||||
this.$set(this.formData, 'templatePath', val[0].filepath)
|
||||
this.$set(this.formData, 'templateName', val[0].filename)
|
||||
} else {
|
||||
this.$set(this.formData, 'templatePath', null)
|
||||
this.$set(this.formData, 'templateName', null)
|
||||
}
|
||||
},
|
||||
doDelete(row) {
|
||||
this.$confirm('您确定要删除吗?', '提示', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'info',
|
||||
}).then(async () => {
|
||||
const resp = await $.post(loc() + '/delete', row)
|
||||
if (resp.code === 0) {
|
||||
this.notifySuccess(resp.msg)
|
||||
this.pageData()
|
||||
} else {
|
||||
this.notifyWarning(resp.msg)
|
||||
}
|
||||
|
||||
})
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
setTimeout(() => {
|
||||
this.tableHeight = window.innerHeight - document.querySelector("#officeTable").getBoundingClientRect().top - 80
|
||||
}, 200)
|
||||
},
|
||||
created() {
|
||||
this.pageData()
|
||||
}
|
||||
})
|
||||
</script>
|
||||
|
||||
<!--#
|
||||
}
|
||||
#-->
|
||||
Reference in New Issue
Block a user