@@ -0,0 +1,62 @@
|
||||
<form id="add-form" class="form-horizontal form-ajax" role="form" data-toggle="validator" method="POST" action="">
|
||||
{if $config.upload.cdnurl}
|
||||
<div class="form-group">
|
||||
<label for="c-third" class="control-label col-xs-12 col-sm-2">{:__('Upload to third')}:</label>
|
||||
<div class="col-xs-12 col-sm-8">
|
||||
<input type="text" name="row[third]" id="c-third" class="form-control"/>
|
||||
<ul class="row list-inline faupload-preview" id="p-third"></ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="c-third" class="control-label col-xs-12 col-sm-2"></label>
|
||||
<div class="col-xs-12 col-sm-8">
|
||||
<div style="width:180px;display:inline-block;">
|
||||
<select name="category-third" id="category-third" class="form-control selectpicker">
|
||||
<option value="">{:__('Please select category')}</option>
|
||||
{foreach name="categoryList" id="item"}
|
||||
<option value="{$key}">{$item}</option>
|
||||
{/foreach}
|
||||
</select>
|
||||
</div>
|
||||
<button type="button" id="faupload-third" class="btn btn-danger faupload" data-multiple="true" data-input-id="c-third" data-preview-id="p-third"><i class="fa fa-upload"></i> {:__("Upload to third")}</button>
|
||||
{if $config.upload.chunking}
|
||||
<button type="button" id="faupload-third-chunking" class="btn btn-danger faupload" data-chunking="true" data-maxsize="1gb" data-multiple="true" data-input-id="c-third" data-preview-id="p-third"><i class="fa fa-upload"></i> {:__("Upload to third by chunk")}</button>
|
||||
{/if}
|
||||
</div>
|
||||
</div>
|
||||
{/if}
|
||||
|
||||
<div class="form-group">
|
||||
<label for="c-local" class="control-label col-xs-12 col-sm-2">{:__('Upload to local')}:</label>
|
||||
<div class="col-xs-12 col-sm-8">
|
||||
<input type="text" name="row[local]" id="c-local" class="form-control"/>
|
||||
<ul class="row list-inline faupload-preview" id="p-local"></ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="c-local" class="control-label col-xs-12 col-sm-2"></label>
|
||||
<div class="col-xs-12 col-sm-8">
|
||||
<div style="width:180px;display:inline-block;">
|
||||
<select name="category-local" id="category-local" class="form-control selectpicker">
|
||||
<option value="">{:__('Please select category')}</option>
|
||||
{foreach name="categoryList" id="item"}
|
||||
<option value="{$key}">{$item}</option>
|
||||
{/foreach}
|
||||
</select>
|
||||
</div>
|
||||
<button type="button" id="faupload-local" class="btn btn-primary faupload" data-input-id="c-local" data-multiple="true" data-preview-id="p-local" data-url="{:url('ajax/upload')}"><i class="fa fa-upload"></i> {:__("Upload to local")}</button>
|
||||
{if $config.upload.chunking}
|
||||
<button type="button" id="faupload-local-chunking" class="btn btn-primary faupload" data-chunking="true" data-maxsize="1gb" data-input-id="c-local" data-multiple="true" data-preview-id="p-local" data-url="{:url('ajax/upload')}"><i class="fa fa-upload"></i> {:__("Upload to local by chunk")}</button>
|
||||
{/if}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group hidden layer-footer">
|
||||
<div class="col-xs-2"></div>
|
||||
<div class="col-xs-12 col-sm-8">
|
||||
<button type="reset" class="btn btn-default btn-embossed">{:__('Reset')}</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
@@ -0,0 +1,89 @@
|
||||
|
||||
|
||||
<form id="edit-form" class="form-horizontal form-ajax" role="form" data-toggle="validator" method="POST" action="">
|
||||
|
||||
<div class="form-group">
|
||||
<label for="c-url" class="control-label col-xs-12 col-sm-2">{:__('Category')}:</label>
|
||||
<div class="col-xs-12 col-sm-8">
|
||||
<select name="row[category]" class="form-control">
|
||||
<option value="">{:__('Please select category')}</option>
|
||||
{foreach name="categoryList" id="item"}
|
||||
<option value="{$key}" {if $key==$row.category}selected{/if}>{$item}</option>
|
||||
{/foreach}
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="c-url" class="control-label col-xs-12 col-sm-2">{:__('Url')}:</label>
|
||||
<div class="col-xs-12 col-sm-8">
|
||||
<input type="text" name="row[url]" value="{$row.url|htmlentities}" id="c-url" class="form-control" required />
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="c-imagewidth" class="control-label col-xs-12 col-sm-2">{:__('Imagewidth')}:</label>
|
||||
<div class="col-xs-12 col-sm-8">
|
||||
<input type="text" name="row[imagewidth]" value="{$row.imagewidth}" id="c-imagewidth" class="form-control" required />
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="c-imageheight" class="control-label col-xs-12 col-sm-2">{:__('Imageheight')}:</label>
|
||||
<div class="col-xs-12 col-sm-8">
|
||||
<input type="text" name="row[imageheight]" value="{$row.imageheight}" id="c-imageheight" class="form-control" required />
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="c-imagetype" class="control-label col-xs-12 col-sm-2">{:__('Imagetype')}:</label>
|
||||
<div class="col-xs-12 col-sm-8">
|
||||
<input type="text" name="row[imagetype]" value="{$row.imagetype|htmlentities}" id="c-imagetype" class="form-control" required />
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="c-imageframes" class="control-label col-xs-12 col-sm-2">{:__('Imageframes')}:</label>
|
||||
<div class="col-xs-12 col-sm-8">
|
||||
<input type="number" name="row[imageframes]" value="{$row.imageframes}" id="c-imageframes" class="form-control" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="c-filename" class="control-label col-xs-12 col-sm-2">{:__('Filename')}:</label>
|
||||
<div class="col-xs-12 col-sm-8">
|
||||
<input type="text" name="row[filename]" value="{$row.filename|htmlentities}" id="c-filename" class="form-control" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="c-filesize" class="control-label col-xs-12 col-sm-2">{:__('Filesize')}:</label>
|
||||
<div class="col-xs-12 col-sm-8">
|
||||
<input type="number" name="row[filesize]" value="{$row.filesize}" id="c-filesize" class="form-control" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="c-mimetype" class="control-label col-xs-12 col-sm-2">{:__('Mimetype')}:</label>
|
||||
<div class="col-xs-12 col-sm-8">
|
||||
<input type="text" name="row[mimetype]" value="{$row.mimetype|htmlentities}" id="c-mimetype" class="form-control" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="c-extparam" class="control-label col-xs-12 col-sm-2">{:__('Extparam')}:</label>
|
||||
<div class="col-xs-12 col-sm-8">
|
||||
<input type="text" name="row[extparam]" value="{$row.extparam|htmlentities}" id="c-extparam" class="form-control" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="c-uploadtime" class="control-label col-xs-12 col-sm-2">{:__('Uploadtime')}:</label>
|
||||
<div class="col-xs-12 col-sm-8">
|
||||
<input type="datetime" name="row[uploadtime]" value="{$row.uploadtime|datetime}" id="c-uploadtime" class="form-control datetimepicker" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="c-storage" class="control-label col-xs-12 col-sm-2">{:__('Storage')}:</label>
|
||||
<div class="col-xs-12 col-sm-8">
|
||||
<input type="text" name="row[storage]" value="{$row.storage}" id="c-storage" class="form-control" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group hide layer-footer">
|
||||
<label class="control-label col-xs-12 col-sm-2"></label>
|
||||
<div class="col-xs-12 col-sm-8">
|
||||
<button type="submit" class="btn btn-primary btn-embossed disabled">{:__('OK')}</button>
|
||||
<button type="reset" class="btn btn-default btn-embossed">{:__('Reset')}</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
@@ -0,0 +1,206 @@
|
||||
<link rel="stylesheet" href="__CDN__/assets/element-ui-2.15.14/css/index.css">
|
||||
<link rel="stylesheet" href="__CDN__/assets/css/vvv.css">
|
||||
<style>
|
||||
.el-form-item__label {
|
||||
width: 120px !important;
|
||||
}
|
||||
|
||||
.el-tag + .el-tag {
|
||||
margin-left: 10px;
|
||||
}
|
||||
|
||||
.button-new-tag {
|
||||
margin-left: 10px;
|
||||
height: 32px;
|
||||
line-height: 30px;
|
||||
padding-top: 0;
|
||||
padding-bottom: 0;
|
||||
}
|
||||
|
||||
.input-new-tag {
|
||||
width: 90px;
|
||||
margin-left: 10px;
|
||||
vertical-align: bottom;
|
||||
}
|
||||
|
||||
input[type="file"] {
|
||||
display: none !important;
|
||||
}
|
||||
|
||||
.el-form-item__error {
|
||||
margin-left: 30px;
|
||||
}
|
||||
|
||||
.search-select .el-select .el-input__inner {
|
||||
width: 130px;
|
||||
}
|
||||
|
||||
.key .el-input__inner {
|
||||
/*width: 240px !important;*/
|
||||
}
|
||||
|
||||
.vue-table {
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
#box {
|
||||
display: flex;
|
||||
}
|
||||
|
||||
#box .left {
|
||||
width: 180px;
|
||||
border-right: 1px solid #ebeef5;
|
||||
margin-right: 20px;
|
||||
}
|
||||
|
||||
#box .left .li {
|
||||
height: 30px;
|
||||
line-height: 30px;
|
||||
margin-bottom: 20px;
|
||||
text-align: center;
|
||||
cursor: pointer;
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
#box .left .category-selected {
|
||||
background: #7438d5;
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
#box .right {
|
||||
width: 100%;
|
||||
}
|
||||
</style>
|
||||
<div id="vue" v-cloak>
|
||||
<div id="box">
|
||||
<div class="left">
|
||||
<div class="ul">
|
||||
<div @click="handleSelectCategory(index)" v-for="(item, index) of categoryOpt" :class="item.selected === true ? 'li category-selected' : 'li'">{{item.name}}</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="right">
|
||||
<div class="screen-container">
|
||||
<div class="screen-container-show">
|
||||
<div class="screen-container-left display-flex">
|
||||
<el-button size="small" @click="refreshPage" icon="el-icon-refresh" circle type="primary"></el-button>
|
||||
<div class="datetime">
|
||||
<el-date-picker
|
||||
v-model="search.startTime"
|
||||
type="datetime"
|
||||
placeholder="选择起始时间">
|
||||
</el-date-picker>
|
||||
</div>
|
||||
<div class="datetime">
|
||||
<el-date-picker
|
||||
v-model="search.endTime"
|
||||
type="datetime"
|
||||
placeholder="选择结束时间">
|
||||
</el-date-picker>
|
||||
</div>
|
||||
</div>
|
||||
<div class="search-select screen-container-right display-flex keyword">
|
||||
<el-select v-model="search.typeIndex" @clear="handleClearSelect('typeIndex')" clearable placeholder="文件类型">
|
||||
<el-option
|
||||
v-for="item in typeList"
|
||||
:key="item.index"
|
||||
:label="item.name"
|
||||
:value="item.index">
|
||||
</el-option>
|
||||
</el-select>
|
||||
</div>
|
||||
<div class="search-select screen-container-right display-flex keyword key">
|
||||
<el-input @clear="handleClearSearchInp" clearable v-model="search.keyword" placeholder="请输入您要搜索的内容">
|
||||
<el-select v-model="search.type" filterable clearable slot="prepend" placeholder="请选择">
|
||||
<el-option v-for="(item, index) in searchOpt" :label="item.value"
|
||||
:value="item.id">
|
||||
</el-option>
|
||||
</el-select>
|
||||
<el-button slot="append" @click="searchData" icon="el-icon-search"></el-button>
|
||||
</el-input>
|
||||
</div>
|
||||
<div class="screen-container-right display-flex keyword">
|
||||
<el-upload
|
||||
style="margin-right: 10px;"
|
||||
class="upload-img"
|
||||
:multiple="true"
|
||||
:show-file-list="false"
|
||||
:before-upload="beforeFileUpload"
|
||||
:on-success="uploadFileSuccess"
|
||||
accept=".jpg,.jpeg,.gif,.png"
|
||||
action="{:url('ajax/upload')}"
|
||||
>
|
||||
<el-button size="small" type="primary" plain icon="el-icon-upload">上传
|
||||
</el-button>
|
||||
</el-upload>
|
||||
{if ($multiple == 'true')}
|
||||
<el-button size="small" @click="handleSelectFile('', 'multiple')" type="success" plain icon="el-icon-check">选择
|
||||
</el-button>
|
||||
{/if}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="vue-table background-white color-666">
|
||||
<el-table :data="tableData" border highlight-current-row v-loading="listLoading"
|
||||
@sort-change="sortChange" element-loading-text="拼命加载中..."
|
||||
@selection-change="handleSelectionChange" style="width: 100%">
|
||||
{if ($multiple == 'true')}
|
||||
<el-table-column type="selection" width="60" align="center"></el-table-column>
|
||||
{/if}
|
||||
<el-table-column prop="id" width="80" label="ID" show-overflow-tooltip
|
||||
align="center"></el-table-column>
|
||||
<el-table-column prop="category" width="130" label="类别" show-overflow-tooltip
|
||||
align="center">
|
||||
<template scope="scope">
|
||||
<span v-if="scope.row.category !== ''">{{categoryList[scope.row.category]}}</span>
|
||||
<span v-else>未归类</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="image" label="图片" width="100" align="center">
|
||||
<template scope="scope">
|
||||
<a style="cursor: pointer;" :href="scope.row.url" target="_blank">
|
||||
<img :src="scope.row.url" style="border-radius: 10px;width: 50px;height: 50px;padding: 5px">
|
||||
</a>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="filename" label="文件名" show-overflow-tooltip
|
||||
align="center"></el-table-column>
|
||||
<el-table-column prop="imagewidth" width="100" label="宽" show-overflow-tooltip
|
||||
align="center"></el-table-column>
|
||||
<el-table-column prop="imageheight" width="100" label="高" show-overflow-tooltip
|
||||
align="center"></el-table-column>
|
||||
<el-table-column prop="mimetype" width="130" label="文件类型" show-overflow-tooltip
|
||||
align="center"></el-table-column>
|
||||
<el-table-column prop="createtime" width="160" :formatter="dateFormat" label="创建日期" show-overflow-tooltip
|
||||
align="center"></el-table-column>
|
||||
<el-table-column align="center" width="130" fixed="right" label="操作">
|
||||
<template scope="scope">
|
||||
<button
|
||||
@click="handleSelectFile(scope.row, 'multiple')"
|
||||
type="button"
|
||||
class="el-button el-button--success el-button--small"
|
||||
>
|
||||
<i class="el-icon-check"></i><span>选择</span></button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<div class="layout-pagination">
|
||||
<el-pagination
|
||||
background
|
||||
@size-change="handleSizeChange"
|
||||
@current-change="handleCurrentChange"
|
||||
:current-page="currentPage"
|
||||
:page-sizes="[10, 20, 50, 100]"
|
||||
:page-size="pageSize"
|
||||
layout="total, sizes, prev, pager, next, jumper"
|
||||
:total="totalCount">
|
||||
</el-pagination>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script src="__CDN__/assets/element-ui-2.15.14/js/vue.js"></script>
|
||||
<script src="__CDN__/assets/element-ui-2.15.14/js/index.js"></script>
|
||||
<script src="__CDN__/assets/tool/libs/moment.js"></script>
|
||||
<script src="__CDN__/assets/js/jquery-2.1.1.min.js"></script>
|
||||
@@ -0,0 +1,53 @@
|
||||
<div class="panel panel-default panel-intro">
|
||||
|
||||
<div class="panel-heading">
|
||||
{:build_heading(null,FALSE)}
|
||||
<ul class="nav nav-tabs" data-field="category">
|
||||
<li class="active"><a href="#t-all" data-value="" data-toggle="tab">{:__('All')}</a></li>
|
||||
{foreach name="categoryList" item="vo"}
|
||||
<li><a href="#t-{$key}" data-value="{$key}" data-toggle="tab">{$vo}</a></li>
|
||||
{/foreach}
|
||||
<li class="pull-right dropdown filter-type">
|
||||
<a href="javascript:" class="dropdown-toggle" data-toggle="dropdown"><i class="fa fa-filter"></i> {:__('Filter Type')}</a>
|
||||
<ul class="dropdown-menu text-left" role="menu">
|
||||
<li class="active"><a href="javascript:" data-value="">{:__('All')}</a></li>
|
||||
{foreach name="mimetypeList" id="item"}
|
||||
<li><a href="javascript:" data-value="{$key}">{$item}</a></li>
|
||||
{/foreach}
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="panel-body">
|
||||
<div id="myTabContent" class="tab-content">
|
||||
<div class="tab-pane fade active in" id="one">
|
||||
<div class="widget-body no-padding">
|
||||
<div id="toolbar" class="toolbar">
|
||||
{:build_toolbar('refresh,add,edit,del')}
|
||||
<a class="btn btn-info btn-classify dropdown-toggle btn-disabled disabled {:$auth->check('general/attachment/edit')?'':'hide'}"><i class="fa fa-arrow-right"></i> {:__('Classify')}</a>
|
||||
</div>
|
||||
<table id="table" class="table table-striped table-bordered table-hover table-nowrap"
|
||||
data-operate-edit="{:$auth->check('general/attachment/edit')}"
|
||||
data-operate-del="{:$auth->check('general/attachment/del')}"
|
||||
width="100%">
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script id="typetpl" type="text/html">
|
||||
<div class="row">
|
||||
<div class="col-xs-12">
|
||||
<select name="category" class="form-control">
|
||||
<option value="">{:__('Please select category')}</option>
|
||||
{foreach name="categoryList" id="item"}
|
||||
<option value="{$key}">{$item}</option>
|
||||
{/foreach}
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
</script>
|
||||
@@ -0,0 +1,232 @@
|
||||
<link rel="stylesheet" href="__CDN__/assets/element-ui-2.15.14/css/index.css">
|
||||
<link rel="stylesheet" href="__CDN__/assets/css/vvv.css">
|
||||
<style>
|
||||
.el-form-item__label {
|
||||
width: 120px !important;
|
||||
}
|
||||
|
||||
.el-tag + .el-tag {
|
||||
margin-left: 10px;
|
||||
}
|
||||
|
||||
.button-new-tag {
|
||||
margin-left: 10px;
|
||||
height: 32px;
|
||||
line-height: 30px;
|
||||
padding-top: 0;
|
||||
padding-bottom: 0;
|
||||
}
|
||||
|
||||
.input-new-tag {
|
||||
width: 90px;
|
||||
margin-left: 10px;
|
||||
vertical-align: bottom;
|
||||
}
|
||||
|
||||
input[type="file"] {
|
||||
display: none !important;
|
||||
}
|
||||
|
||||
.el-form-item__error {
|
||||
margin-left: 30px;
|
||||
}
|
||||
|
||||
.search-select .el-select .el-input__inner {
|
||||
width: 130px;
|
||||
}
|
||||
|
||||
.key .el-input__inner {
|
||||
/*width: 240px !important;*/
|
||||
}
|
||||
|
||||
.vue-table {
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
#box {
|
||||
display: flex;
|
||||
}
|
||||
|
||||
#box .left {
|
||||
width: 270px;
|
||||
border-right: 1px solid #ebeef5;
|
||||
margin-right: 20px;
|
||||
}
|
||||
|
||||
#box .left .li {
|
||||
height: 30px;
|
||||
line-height: 30px;
|
||||
margin-bottom: 20px;
|
||||
text-align: center;
|
||||
cursor: pointer;
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
#box .left .category-selected {
|
||||
background: #7438d5;
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
#box .right {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.content {
|
||||
padding: 0 !important;
|
||||
}
|
||||
|
||||
.el-tree-node__label {
|
||||
font-size: 16px !important;
|
||||
}
|
||||
|
||||
.el-tree-node {
|
||||
margin-bottom: 4px;
|
||||
}
|
||||
|
||||
.search {
|
||||
margin: 10px;
|
||||
}
|
||||
</style>
|
||||
<div id="vue" v-cloak>
|
||||
<div id="box">
|
||||
<div class="left">
|
||||
<div class="search">
|
||||
<el-input placeholder="输入名称搜索" v-model="navName" size="small" class="input-with-select">
|
||||
<el-button @click="handleSearchNav" slot="append" icon="el-icon-search"></el-button>
|
||||
</el-input>
|
||||
</div>
|
||||
<div class="ul">
|
||||
<el-tree :data="navList" :props="defaultProps" @node-click="handleNodeClick"></el-tree>
|
||||
</div>
|
||||
</div>
|
||||
<div class="right">
|
||||
<div class="screen-container">
|
||||
<div class="screen-container-show">
|
||||
<div class="screen-container-left display-flex">
|
||||
<el-button size="small" @click="refreshPage" icon="el-icon-refresh" circle type="primary"></el-button>
|
||||
<div class="datetime">
|
||||
<el-date-picker
|
||||
v-model="search.startTime"
|
||||
type="datetime"
|
||||
placeholder="选择起始时间">
|
||||
</el-date-picker>
|
||||
</div>
|
||||
<div class="datetime">
|
||||
<el-date-picker
|
||||
v-model="search.endTime"
|
||||
type="datetime"
|
||||
placeholder="选择结束时间">
|
||||
</el-date-picker>
|
||||
</div>
|
||||
</div>
|
||||
<div class="search-select screen-container-right display-flex keyword">
|
||||
<el-select v-model="search.typeIndex" @clear="handleClearSelect('typeIndex')" clearable placeholder="文件类型">
|
||||
<el-option
|
||||
v-for="item in typeList"
|
||||
:key="item.index"
|
||||
:label="item.name"
|
||||
:value="item.index">
|
||||
</el-option>
|
||||
</el-select>
|
||||
</div>
|
||||
<div class="search-select screen-container-right display-flex keyword key">
|
||||
<el-input @keyup.enter.native="searchData" @clear="handleClearSearchInp" clearable v-model="search.keyword" placeholder="请输入您要搜索的内容">
|
||||
<el-select v-model="search.type" filterable clearable slot="prepend" placeholder="请选择">
|
||||
<el-option v-for="(item, index) in searchOpt" :label="item.value"
|
||||
:value="item.id">
|
||||
</el-option>
|
||||
</el-select>
|
||||
<el-button slot="append" @click="searchData" icon="el-icon-search"></el-button>
|
||||
</el-input>
|
||||
</div>
|
||||
<div class="screen-container-right display-flex keyword">
|
||||
<el-upload
|
||||
:data="{nid: search.nid}"
|
||||
style="margin-right: 10px;"
|
||||
class="upload-img"
|
||||
:multiple="true"
|
||||
:show-file-list="false"
|
||||
:before-upload="beforeFileUpload"
|
||||
:on-success="uploadFileSuccess"
|
||||
accept=".jpg,.jpeg,.gif,.png,.svg"
|
||||
action="{:url('ajax/upload')}"
|
||||
>
|
||||
<el-button size="small" type="primary" plain icon="el-icon-upload">上传
|
||||
</el-button>
|
||||
</el-upload>
|
||||
{if ($multiple == 'true')}
|
||||
<el-button size="small" @click="handleSelectFile('', 'multiple')" type="success" plain icon="el-icon-check">选择
|
||||
</el-button>
|
||||
{/if}
|
||||
<el-button size="small" @click="handleOpenNav" type="primary" plain icon="el-icon-menu">分类管理
|
||||
</el-button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="vue-table background-white color-666">
|
||||
<el-table :data="tableData" border highlight-current-row v-loading="listLoading"
|
||||
@sort-change="handleTableFieldSort" element-loading-text="拼命加载中..."
|
||||
@selection-change="handleSelectionChange" style="width: 100%">
|
||||
{if ($multiple == 'true')}
|
||||
<el-table-column type="selection" width="60" align="center"></el-table-column>
|
||||
{/if}
|
||||
<!-- <el-table-column prop="id" width="80" label="ID" show-overflow-tooltip-->
|
||||
<!-- align="center"></el-table-column>-->
|
||||
<el-table-column prop="category" width="200" label="类别" show-overflow-tooltip
|
||||
align="center">
|
||||
<template scope="scope">
|
||||
<span>{{scope.row.nav_name}}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="image" label="图片" width="100" align="center">
|
||||
<template scope="scope">
|
||||
<a v-if="scope.row.mimetype.indexOf('image') >= 0" style="cursor: pointer;" :href="scope.row.url" target="_blank">
|
||||
<img :src="scope.row.url" style="border-radius: 10px;width: 50px;height: 50px;padding: 5px">
|
||||
</a>
|
||||
<a v-else style="cursor: pointer;" :href="scope.row.url" target="_blank">
|
||||
<img src="/assets/img/video-video.png" style="border-radius: 10px;width: 50px;height: 50px;padding: 5px">
|
||||
</a>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="filename" sortable="custom" label="文件名" show-overflow-tooltip
|
||||
align="center"></el-table-column>
|
||||
<el-table-column prop="imagewidth" width="80" label="宽" show-overflow-tooltip
|
||||
align="center"></el-table-column>
|
||||
<el-table-column prop="imageheight" width="80" label="高" show-overflow-tooltip
|
||||
align="center"></el-table-column>
|
||||
<el-table-column prop="mimetype" width="110" label="文件类型" show-overflow-tooltip
|
||||
align="center"></el-table-column>
|
||||
<el-table-column prop="createtime" sortable="custom" width="160" :formatter="dateFormat" label="创建日期" show-overflow-tooltip
|
||||
align="center"></el-table-column>
|
||||
<el-table-column align="center" width="130" fixed="right" label="操作">
|
||||
<template scope="scope">
|
||||
<button
|
||||
@click="handleSelectFile(scope.row, 'one')"
|
||||
type="button"
|
||||
class="el-button el-button--success el-button--small"
|
||||
>
|
||||
<i class="el-icon-check"></i><span>选择</span></button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<div class="layout-pagination">
|
||||
<el-pagination
|
||||
background
|
||||
@size-change="handleSizeChange"
|
||||
@current-change="handleCurrentChange"
|
||||
:current-page="currentPage"
|
||||
:page-sizes="[10, 20, 50, 100]"
|
||||
:page-size="pageSize"
|
||||
layout="total, sizes, prev, pager, next, jumper"
|
||||
:total="totalCount">
|
||||
</el-pagination>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script src="__CDN__/assets/element-ui-2.15.14/js/vue.js"></script>
|
||||
<script src="__CDN__/assets/element-ui-2.15.14/js/index.js"></script>
|
||||
<script src="__CDN__/assets/tool/libs/moment.js"></script>
|
||||
<script src="__CDN__/assets/js/jquery-2.1.1.min.js"></script>
|
||||
@@ -0,0 +1,47 @@
|
||||
<style>
|
||||
#one .commonsearch-table{
|
||||
padding-top:15px!important;
|
||||
}
|
||||
</style>
|
||||
<div class="panel panel-default panel-intro">
|
||||
<div class="panel-heading">
|
||||
{:build_heading(null,FALSE)}
|
||||
<ul class="nav nav-tabs" data-field="category">
|
||||
<li class="active"><a href="#t-all" data-value="" data-toggle="tab">{:__('All')}</a></li>
|
||||
{foreach name="categoryList" item="vo"}
|
||||
<li><a href="#t-{$key}" data-value="{$key}" data-toggle="tab">{$vo}</a></li>
|
||||
{/foreach}
|
||||
{if stripos(request()->get('mimetype'),'image/')===false}
|
||||
<li class="pull-right dropdown filter-type">
|
||||
<a href="javascript:" class="dropdown-toggle" data-toggle="dropdown"><i class="fa fa-filter"></i> {:__('Filter Type')}</a>
|
||||
<ul class="dropdown-menu text-left" role="menu">
|
||||
<li class="active"><a href="javascript:" data-value="">{:__('All')}</a></li>
|
||||
{foreach name="mimetypeList" id="item"}
|
||||
<li><a href="javascript:" data-value="{$key}">{$item}</a></li>
|
||||
{/foreach}
|
||||
</ul>
|
||||
</li>
|
||||
{/if}
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="panel-body no-padding">
|
||||
<div id="myTabContent" class="tab-content">
|
||||
<div class="tab-pane fade active in" id="one">
|
||||
<div class="widget-body no-padding">
|
||||
<div id="toolbar" class="toolbar">
|
||||
{:build_toolbar('refresh')}
|
||||
<span><button type="button" id="faupload-image" class="btn btn-success faupload" data-mimetype="{$mimetype|default=''|htmlentities}" data-multiple="true"><i class="fa fa-upload"></i> {:__('Upload')}</button></span>
|
||||
{if request()->get('multiple') == 'true'}
|
||||
<a class="btn btn-danger btn-choose-multi"><i class="fa fa-check"></i> {:__('Choose')}</a>
|
||||
{/if}
|
||||
</div>
|
||||
<table id="table" class="table table-bordered table-hover table-nowrap" width="100%">
|
||||
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
在新工单中引用
屏蔽一个用户