@@ -0,0 +1,92 @@
|
||||
<link rel="stylesheet" href="__CDN__/assets/addons/shopro/libs/element/element.css">
|
||||
<link rel="stylesheet" href="__CDN__/assets/addons/shopro/libs/common.css">
|
||||
<style>
|
||||
#linkDetail {
|
||||
color: #444;
|
||||
background: #fff;
|
||||
padding: 0 20px 20px;
|
||||
}
|
||||
|
||||
.category-image {
|
||||
width: 90px;
|
||||
height: 100px;
|
||||
border: 1px solid #E6E6E6;
|
||||
border-radius: 4px;
|
||||
margin-right: 20px;
|
||||
overflow: hidden;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.el-popover {
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.image-selected {
|
||||
border-color: #7438D5;
|
||||
}
|
||||
|
||||
.category-style-title {
|
||||
padding-right: 20px;
|
||||
}
|
||||
|
||||
.dialog-cancel-btn {
|
||||
color: #FF5959
|
||||
}
|
||||
|
||||
img {
|
||||
width: 100%;
|
||||
/* height: 100%; */
|
||||
}
|
||||
|
||||
.category-style-title-container {
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.category-style-tip {
|
||||
color: #DDDDDD;
|
||||
position: absolute;
|
||||
right: -20px;
|
||||
top: 13px;
|
||||
}
|
||||
|
||||
.popover-img {
|
||||
width: 180px;
|
||||
height: 319px;
|
||||
border-radius: 1px;
|
||||
}
|
||||
|
||||
.popover-img img {
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.selected-image-show {
|
||||
position: absolute;
|
||||
right: -2px;
|
||||
bottom: -2px;
|
||||
width: 20px;
|
||||
height: 20px;
|
||||
}
|
||||
|
||||
[v-cloak] {
|
||||
display: none
|
||||
}
|
||||
</style>
|
||||
<script src="__CDN__/assets/addons/shopro/libs/vue.js"></script>
|
||||
<script src="__CDN__/assets/addons/shopro/libs/element/element.js"></script>
|
||||
<script src="__CDN__/assets/addons/shopro/libs/moment.js"></script>
|
||||
<div id="linkDetail" v-cloak>
|
||||
<el-form :model="detailForm" :rules="rulesForm" ref="detailForm" label-width="108px" class="detail-form">
|
||||
<el-form-item label="名称:" prop="name">
|
||||
<el-input type="input" v-model="detailForm.name" placeholder="请输入名称"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="路径:" prop="path">
|
||||
<el-input type="input" v-model="detailForm.path" placeholder="请输入路径"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="所属分组:">
|
||||
<el-input type="input" maxlength="5" v-model="detailForm.group" placeholder="请输入所属分组"></el-input>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<div class="dialog-footer display-flex">
|
||||
<div @click="submitForm('detailForm')" class="dialog-define-btn display-flex-c cursor-pointer">确定</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,92 @@
|
||||
<link rel="stylesheet" href="__CDN__/assets/addons/shopro/libs/element/element.css">
|
||||
<link rel="stylesheet" href="__CDN__/assets/addons/shopro/libs/common.css">
|
||||
<style>
|
||||
#linkDetail {
|
||||
color: #444;
|
||||
background: #fff;
|
||||
padding: 0 20px 20px;
|
||||
}
|
||||
|
||||
.category-image {
|
||||
width: 90px;
|
||||
height: 100px;
|
||||
border: 1px solid #E6E6E6;
|
||||
border-radius: 4px;
|
||||
margin-right: 20px;
|
||||
overflow: hidden;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.el-popover {
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.image-selected {
|
||||
border-color: #7438D5;
|
||||
}
|
||||
|
||||
.category-style-title {
|
||||
padding-right: 20px;
|
||||
}
|
||||
|
||||
.dialog-cancel-btn {
|
||||
color: #FF5959
|
||||
}
|
||||
|
||||
img {
|
||||
width: 100%;
|
||||
/* height: 100%; */
|
||||
}
|
||||
|
||||
.category-style-title-container {
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.category-style-tip {
|
||||
color: #DDDDDD;
|
||||
position: absolute;
|
||||
right: -20px;
|
||||
top: 13px;
|
||||
}
|
||||
|
||||
.popover-img {
|
||||
width: 180px;
|
||||
height: 319px;
|
||||
border-radius: 1px;
|
||||
}
|
||||
|
||||
.popover-img img {
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.selected-image-show {
|
||||
position: absolute;
|
||||
right: -2px;
|
||||
bottom: -2px;
|
||||
width: 20px;
|
||||
height: 20px;
|
||||
}
|
||||
|
||||
[v-cloak] {
|
||||
display: none
|
||||
}
|
||||
</style>
|
||||
<script src="__CDN__/assets/addons/shopro/libs/vue.js"></script>
|
||||
<script src="__CDN__/assets/addons/shopro/libs/element/element.js"></script>
|
||||
<script src="__CDN__/assets/addons/shopro/libs/moment.js"></script>
|
||||
<div id="linkDetail" v-cloak>
|
||||
<el-form :model="detailForm" :rules="rulesForm" ref="detailForm" label-width="108px" class="detail-form">
|
||||
<el-form-item label="名称:" prop="name">
|
||||
<el-input type="input" v-model="detailForm.name" placeholder="请输入名称"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="路径:" prop="path">
|
||||
<el-input type="input" v-model="detailForm.path" placeholder="请输入路径"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="所属分组:">
|
||||
<el-input type="input" maxlength="5" v-model="detailForm.group" placeholder="请输入所属分组"></el-input>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<div class="dialog-footer display-flex">
|
||||
<div @click="submitForm('detailForm')" class="dialog-define-btn display-flex-c cursor-pointer">确定</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,173 @@
|
||||
<link rel="stylesheet" href="__CDN__/assets/addons/shopro/libs/element/element.css">
|
||||
<link rel="stylesheet" href="__CDN__/assets/addons/shopro/libs/common.css">
|
||||
<style>
|
||||
#linkIndex {
|
||||
padding: 16px 20px 30px;
|
||||
background: #fff;
|
||||
border-radius: 10px 10px 0px 0px;
|
||||
color: #444;
|
||||
font-weight: 500;
|
||||
}
|
||||
|
||||
.el-tabs__item {
|
||||
padding: 0;
|
||||
text-align: center;
|
||||
width: 90px;
|
||||
height: 48px;
|
||||
line-height: 44px;
|
||||
padding-right: 10px;
|
||||
color: #666;
|
||||
}
|
||||
|
||||
.table-item {
|
||||
margin-bottom: 10px;
|
||||
border: 1px solid #E6E6E6;
|
||||
}
|
||||
|
||||
.table-item-header {
|
||||
height: 40px;
|
||||
background: #F9F9F9;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
padding: 0 30px 0 14px;
|
||||
/* border: 1px solid #E6E6E6;
|
||||
border-bottom: none; */
|
||||
}
|
||||
|
||||
.express-width {
|
||||
width: 100px;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.header-btn {
|
||||
margin-left: 24px;
|
||||
}
|
||||
|
||||
.group-item-operation {
|
||||
flex: 1;
|
||||
}
|
||||
|
||||
.delete-button,
|
||||
.edit-button {
|
||||
cursor: pointer;
|
||||
margin-right: 14px;
|
||||
}
|
||||
|
||||
.edit-button {
|
||||
color: #7438D5;
|
||||
}
|
||||
|
||||
.delete-button {
|
||||
color: #FF5959;
|
||||
}
|
||||
|
||||
[v-cloak] {
|
||||
display: none
|
||||
}
|
||||
</style>
|
||||
<script src="__CDN__/assets/addons/shopro/libs/vue.js"></script>
|
||||
<script src="__CDN__/assets/addons/shopro/libs/element/element.js"></script>
|
||||
<script src="__CDN__/assets/addons/shopro/libs/moment.js"></script>
|
||||
<div id="linkIndex" v-cloak>
|
||||
<div class="tabs-custom">
|
||||
<el-tabs v-model="activeName" @tab-click="tabClick">
|
||||
<el-tab-pane v-for="(group,gindex) in linkData" :label="group.group?group.group:'其它'"
|
||||
:name="group.group?group.group:'其它'">
|
||||
<div class="custom-table-header display-flex-b">
|
||||
<div class="display-flex">
|
||||
<div class="custom-refresh display-flex-c" @click="getData">
|
||||
<i class="el-icon-refresh"></i>
|
||||
</div>
|
||||
<div class="create-btn display-flex-c" @click="operation('add',null)">
|
||||
<i class="el-icon-plus"></i>
|
||||
<span>新建</span>
|
||||
</div>
|
||||
</div>
|
||||
{if condition = "$auth->check('shopro/link/recyclebin')"}
|
||||
<div class="recycle-btn display-flex-c" @click="operation('recyclebin')">
|
||||
<i class="fa fa-recycle"></i>
|
||||
回收站
|
||||
</div>
|
||||
{/if}
|
||||
</div>
|
||||
<div class="group-container">
|
||||
<el-table ref="multipleTable" :data="linkData[activeIndex].children" tooltip-effect="dark"
|
||||
style="width: 100%" border :row-class-name="tableRowClassName" :cell-class-name="tableCellClassName" :header-cell-class-name="tableCellClassName" >
|
||||
|
||||
<el-table-column label="ID" min-width="60" prop="id">
|
||||
</el-table-column>
|
||||
<el-table-column label="名称" min-width="120">
|
||||
<template slot-scope="scope">
|
||||
<div class="ellipsis-item">
|
||||
{{scope.row.name}}
|
||||
</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="路径" min-width="300">
|
||||
<template slot-scope="scope">
|
||||
<div class="ellipsis-item">
|
||||
{{scope.row.path}}
|
||||
</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="所属分组" min-width="100" prop="group">
|
||||
<template slot-scope="scope">
|
||||
<div class="ellipsis-item">
|
||||
{{scope.row.group?scope.row.group:'其它'}}
|
||||
</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="createtime" label="添加时间" width="160">
|
||||
<template slot-scope="scope">
|
||||
<div class="ellipsis-item">
|
||||
{{moment(scope.row.createtime*1000).format('YYYY-MM-DD HH:mm:ss')}}
|
||||
</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="usenum" label="更新时间" width="160">
|
||||
<template slot-scope="scope">
|
||||
<div class="group-item-time">
|
||||
{{moment(scope.row.updatetime*1000).format('YYYY-MM-DD HH:mm:ss')}}</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="操作" min-width="110">
|
||||
<template slot-scope="scope">
|
||||
<div class="group-item-operation display-flex">
|
||||
<div class="edit-button" @click="operation('edit',scope.row.id)">编辑</div>
|
||||
<div class="delete-button" @click="operation('delete',scope.row.id)">删除</div>
|
||||
</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<!-- <div class="group-item display-flex">
|
||||
<div class="group-item-id">ID</div>
|
||||
<div class="group-item-name">名称</div>
|
||||
<div class="group-item-path">路径</div>
|
||||
<div class="group-item-group">所属分组</div>
|
||||
<div class="group-item-time">添加时间</div>
|
||||
<div class="group-item-time">更新时间</div>
|
||||
<div class="group-item-operation display-flex">
|
||||
操作
|
||||
</div>
|
||||
</div>
|
||||
<div class="group-item display-flex" v-for="item in linkData[activeIndex].children">
|
||||
<div class="group-item-id">{{item.id}}</div>
|
||||
<div class="group-item-name">{{item.name}}</div>
|
||||
<div class="group-item-path">{{item.path}}</div>
|
||||
<div class="group-item-group">{{item.group?item.group:'其他'}}</div>
|
||||
<div class="group-item-time">{{moment(item.createtime*1000).format('YYYY-MM-DD HH:mm:ss')}}</div>
|
||||
<div class="group-item-time">{{moment(item.updatetime*1000).format('YYYY-MM-DD HH:mm:ss')}}</div>
|
||||
<div class="group-item-operation display-flex">
|
||||
<div class="edit-button" @click="operation('edit',item.id)">编辑</div>
|
||||
<div class="delete-button" @click="operation('delete',item.id)">删除</div>
|
||||
</div>
|
||||
</div> -->
|
||||
</div>
|
||||
</el-tab-pane>
|
||||
</el-tabs>
|
||||
</div>
|
||||
<div v-if="isData" class="display-flex-c" style="height: 200px;">
|
||||
暂无数据
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,25 @@
|
||||
<div class="panel panel-default panel-intro">
|
||||
{:build_heading()}
|
||||
|
||||
<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')}
|
||||
<a class="btn btn-info btn-multi btn-disabled disabled {:$auth->check('shopro/link/restore')?'':'hide'}" href="javascript:;" data-url="shopro/link/restore" data-action="restore"><i class="fa fa-rotate-left"></i> {:__('Restore')}</a>
|
||||
<a class="btn btn-danger btn-multi btn-disabled disabled {:$auth->check('shopro/link/destroy')?'':'hide'}" href="javascript:;" data-url="shopro/link/destroy" data-action="destroy"><i class="fa fa-times"></i> {:__('Destroy')}</a>
|
||||
<a class="btn btn-success btn-restoreall {:$auth->check('shopro/link/restore')?'':'hide'}" href="javascript:;" data-url="shopro/link/restore" title="{:__('Restore all')}"><i class="fa fa-rotate-left"></i> {:__('Restore all')}</a>
|
||||
<a class="btn btn-danger btn-destroyall {:$auth->check('shopro/link/destroy')?'':'hide'}" href="javascript:;" data-url="shopro/link/destroy" title="{:__('Destroy all')}"><i class="fa fa-times"></i> {:__('Destroy all')}</a>
|
||||
</div>
|
||||
<table id="table" class="table table-striped table-bordered table-hover"
|
||||
data-operate-restore="{:$auth->check('shopro/link/restore')}"
|
||||
data-operate-destroy="{:$auth->check('shopro/link/destroy')}"
|
||||
width="100%">
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,199 @@
|
||||
<link rel="stylesheet" href="__CDN__/assets/addons/shopro/libs/element/element.css">
|
||||
<link rel="stylesheet" href="__CDN__/assets/addons/shopro/libs/common.css">
|
||||
|
||||
<style>
|
||||
#linkSelect {
|
||||
background: #fff;
|
||||
overflow: auto;
|
||||
color: #444;
|
||||
margin: -15px;
|
||||
}
|
||||
|
||||
a,
|
||||
a:focus,
|
||||
a:hover {
|
||||
color: #444;
|
||||
display: block;
|
||||
}
|
||||
|
||||
.el-menu-level {
|
||||
margin: 0 20px;
|
||||
border: none;
|
||||
}
|
||||
|
||||
.el-menu-level .el-menu-item,
|
||||
.el-submenu__title,
|
||||
.el-menu-item-group__title {
|
||||
height: 32px;
|
||||
line-height: 32px;
|
||||
min-width: 100px !important;
|
||||
padding: 0 0 0 20px !important;
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
.el-menu-item.is-active {
|
||||
color: #7536D0;
|
||||
background: rgba(116, 56, 213, 0.14);
|
||||
border-radius: 4px;
|
||||
}
|
||||
|
||||
.dialog-left {
|
||||
width: 140px;
|
||||
border-right: 1px solid #e6e6e6;
|
||||
height: 100vh;
|
||||
padding-top: 9px;
|
||||
overflow: auto;
|
||||
}
|
||||
|
||||
.dialog-right {
|
||||
height: 100vh;
|
||||
flex: 1;
|
||||
}
|
||||
|
||||
.dialog-search {
|
||||
padding: 9px 20px;
|
||||
}
|
||||
|
||||
.dialog-search .el-input {
|
||||
width: 240px;
|
||||
|
||||
}
|
||||
|
||||
.dialog-search .el-input__inner {
|
||||
background: #F9F9F9;
|
||||
border: none;
|
||||
}
|
||||
|
||||
.dialog-right-body {
|
||||
padding: 0 20px 20px;
|
||||
height: calc(100vh - 112px);
|
||||
overflow: auto;
|
||||
}
|
||||
|
||||
.dialog-footer {
|
||||
padding: 15px 20px;
|
||||
justify-content: flex-end;
|
||||
}
|
||||
|
||||
.operation-button {
|
||||
width: 60px;
|
||||
height: 32px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
border-radius: 4px;
|
||||
font-size: 12px;
|
||||
margin-left: 10px;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.cancel-button {
|
||||
border: 1px solid #E6E6E6;
|
||||
color: #C4C4C4;
|
||||
}
|
||||
|
||||
.define-button {
|
||||
background: #6E3DC8;
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
.dialog-right-body-title {
|
||||
height: 50px;
|
||||
justify-content: space-between;
|
||||
font-size: 12px;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
.dialog-right-body-title .el-icon-tickets {
|
||||
font-size: 13px;
|
||||
color: #7438D5;
|
||||
margin-right: 10px;
|
||||
}
|
||||
|
||||
.select-container {
|
||||
flex-wrap: wrap;
|
||||
}
|
||||
|
||||
.select-item {
|
||||
/* width: 70px; */
|
||||
padding: 0 16px;
|
||||
height: 32px;
|
||||
border: 1px solid #E6E6E6;
|
||||
border-radius: 4px;
|
||||
color: #444;
|
||||
cursor: pointer;
|
||||
margin-right: 14px;
|
||||
margin-bottom: 14px;
|
||||
}
|
||||
|
||||
.custom-select-active,
|
||||
.custom-select-active:focus {
|
||||
border-color: #7438D5 !important;
|
||||
color: #7438D5;
|
||||
}
|
||||
.dialog-left::-webkit-scrollbar,.dialog-right-body::-webkit-scrollbar {
|
||||
width: 6px;
|
||||
}
|
||||
|
||||
.dialog-left::-webkit-scrollbar-thumb,.dialog-right-body::-webkit-scrollbar-thumb {
|
||||
width: 6px;
|
||||
background: #ccc;
|
||||
height: 20px;
|
||||
border-radius: 3px;
|
||||
}
|
||||
|
||||
[v-cloak] {
|
||||
display: none
|
||||
}
|
||||
</style>
|
||||
<script src="__CDN__/assets/addons/shopro/libs/vue.js"></script>
|
||||
<script src="__CDN__/assets/addons/shopro/libs/element/element.js"></script>
|
||||
<div id="linkSelect" v-cloak>
|
||||
<div class="dialog-body display-flex">
|
||||
<div class="dialog-left">
|
||||
<el-menu :default-active="activeIndex" class="el-menu-level" :collapse="false" @select="selected">
|
||||
<el-menu-item :index="index" v-for="(item,index) in linkData">
|
||||
<span slot="title">
|
||||
<a :href="'#'+index"></a>
|
||||
{{item.group==''?'其它':item.group}}</span>
|
||||
</el-menu-item>
|
||||
</el-menu>
|
||||
</div>
|
||||
<div class="dialog-right">
|
||||
<div class="dialog-search display-flex">
|
||||
<div>
|
||||
<span v-if="!isAll && multiple=='true'" class="theme-color cursor-pointer"
|
||||
@click="checkedAll(true)">全选</span>
|
||||
<span v-if="isAll && multiple=='true'" class="cursor-pointer" @click="checkedAll(false)">全不选</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="dialog-right-body">
|
||||
<a class="scroll-item" v-for="(group,index) in linkData" :name="index">
|
||||
<div class="dialog-right-body-title display-flex">
|
||||
<div>
|
||||
<i class="el-icon-tickets"></i>
|
||||
<span>{{group.group==''?'其它':group.group}}</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="select-container display-flex">
|
||||
<div v-for="(item,idx) in group.children" class="select-item display-flex-c"
|
||||
:class="item.selected?'custom-select-active':''"
|
||||
@click="operation('select',item,index,idx)">
|
||||
{{item.name}}</div>
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
<div class="dialog-footer display-flex">
|
||||
<div @click="operation('define')" class="operation-button define-button">确定</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<el-dialog title="类型" :visible.sync="dialogVisible" width="30%" :show-close="false">
|
||||
<div class="display-flex" style="justify-content: space-between;">
|
||||
<div style="width: 40%;border: 1px solid #e6e6e6;display: flex;align-items: center;justify-content: center;height: 40px;cursor: pointer;"
|
||||
@click="posterUser">个人海报</div>
|
||||
<div style="width: 40%;border: 1px solid #e6e6e6;display: flex;align-items: center;justify-content: center;height: 40px;cursor: pointer;"
|
||||
@click="posterGood">商品海报</div>
|
||||
</div>
|
||||
</el-dialog>
|
||||
</div>
|
||||
在新工单中引用
屏蔽一个用户