chore: src/app 目录与华为云第一台服务器上的代码做第一次比较合并
@@ -22,7 +22,7 @@ return [
|
||||
'name' => 'MINGPIAN_INFO',
|
||||
'title' => '电子名片',
|
||||
'parent' => 'BASICS_LINK',
|
||||
'wap_url' => '',
|
||||
'wap_url' => '/pages/contact/contact',
|
||||
'web_url' => '',
|
||||
'sort' => 0
|
||||
]
|
||||
|
||||
146
src/addon/personnel/shop/view/enterprise/add.html
Normal file
@@ -0,0 +1,146 @@
|
||||
|
||||
|
||||
<style>
|
||||
.upload-img-block .upload-img-box .upload-default{position: absolute;top: 50%;left: 50%;transform: translate(-50%, -50%);}
|
||||
</style>
|
||||
|
||||
|
||||
<div class="layui-form form-wrap">
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label short-label"><span class="required">*</span>文件名称:</label>
|
||||
<div class="layui-input-inline">
|
||||
<input type="text" name="files_title" lay-verify="required" maxlength="40" autocomplete="off" placeholder="请输入标题" class="layui-input len-long">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label"><span class="required">*</span>文件:</label>
|
||||
<div class="layui-input-block">
|
||||
<p class="file-upload">未上传</p>
|
||||
<button type="button" class="layui-btn" id="cert_upload">
|
||||
<i class="layui-icon"></i>上传文件
|
||||
</button>
|
||||
<input type="hidden" name="files_url" class="layui-input len-long" value="{$info.files_url ?? ''}" lay-verify="files_url">
|
||||
<input type="hidden" name="size" class="layui-input len-long" value="{$info.size ?? ''}">
|
||||
</div>
|
||||
<div class="word-aux">请选择pdf文件</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-row" id="save">
|
||||
<button class="layui-btn" lay-submit lay-filter="save">提交</button>
|
||||
<button class="layui-btn layui-btn-primary" onclick="back()">返回</button>
|
||||
</div>
|
||||
<!-- <div class="form-row" id="save1" style="display: none;">
|
||||
<div style="color:red">(文件越大解码时间越长)上传解码中,请稍等...</div>
|
||||
</div> -->
|
||||
|
||||
</div>
|
||||
|
||||
<script>
|
||||
|
||||
var form,repeat_flag,
|
||||
IMAGE_MAX = 9, //最多可以上传多少张图片
|
||||
imageCollection = [], //图片集合
|
||||
selectedGoodsId = [],
|
||||
goods_id = [],
|
||||
goods_list =[];
|
||||
|
||||
layui.use(['form'], function() {
|
||||
form = layui.form;
|
||||
repeat_flag = false;
|
||||
|
||||
form.render();
|
||||
|
||||
// 单图上传
|
||||
$("body").off("click", "#img").on("click", "#img", function () {
|
||||
openAlbum(function (data) {
|
||||
imageCollection = [];
|
||||
imageCollection.push(data[0].pic_path);
|
||||
imageCollection.splice(1, imageCollection.length);
|
||||
var val = '<img src="' + ns.img(imageCollection[0]) + '" alt="">';
|
||||
$("#img").html(val);
|
||||
}, 1);
|
||||
});
|
||||
|
||||
/**
|
||||
* 表单提交(立即发布)
|
||||
*/
|
||||
form.on('submit(save)', function(data){
|
||||
field = data.field;
|
||||
field.status = 1;
|
||||
formSubmit(field)
|
||||
});
|
||||
|
||||
new Upload({
|
||||
elem: '#cert_upload',
|
||||
url: ns.url("personnel://shop/enterprise/uploadfile"),
|
||||
accept: 'file',
|
||||
callback:function (res) {
|
||||
if (res.code >= 0) {
|
||||
layer.msg('上传成功');
|
||||
$("input[name='files_url']").val(res.data.path);
|
||||
$("input[name='size']").val(res.data.size);
|
||||
$("input[name='files_url']").siblings(".file-upload").text("已上传");
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
/**
|
||||
* 提交
|
||||
*/
|
||||
function formSubmit(data){
|
||||
// if (!imageCollection.length){
|
||||
// layer.msg('请选择封面图!', {icon: 5, anim: 6});
|
||||
// return;
|
||||
// }
|
||||
// $('#save').hide()
|
||||
// $('#save1').show()
|
||||
if(repeat_flag) return;
|
||||
repeat_flag = true;
|
||||
setTimeout(function (a) {
|
||||
console.log(1236)
|
||||
$.ajax({
|
||||
type: 'POST',
|
||||
dataType: 'JSON',
|
||||
url: ns.url("personnel://shop/enterprise/add"),
|
||||
data: data,
|
||||
async: false,
|
||||
success: function(res){
|
||||
repeat_flag = false;
|
||||
if (res.code == 0) {
|
||||
layer.confirm('添加成功', {
|
||||
title:'操作提示',
|
||||
btn: ['返回列表', '继续添加'],
|
||||
closeBtn: 0,
|
||||
yes: function(index, layero){
|
||||
if(data.status == 1){
|
||||
location.hash = ns.hash("personnel://shop/enterprise/lists");
|
||||
}else{
|
||||
location.hash = ns.hash("personnel://shop/enterprise/drafts");
|
||||
}
|
||||
layer.close(index);
|
||||
},
|
||||
btn2: function(index, layero) {
|
||||
listenerHash(); // 刷新页面
|
||||
layer.close(index);
|
||||
}
|
||||
});
|
||||
}else{
|
||||
layer.msg(res.message);
|
||||
}
|
||||
$('#save').show()
|
||||
$('#save1').hide()
|
||||
}
|
||||
})
|
||||
}, 1000);
|
||||
|
||||
}
|
||||
|
||||
function back() {
|
||||
location.hash = ns.hash("personnel://shop/enterprise/lists");
|
||||
}
|
||||
</script>
|
||||
137
src/addon/personnel/shop/view/enterprise/edit.html
Normal file
@@ -0,0 +1,137 @@
|
||||
|
||||
|
||||
<style>
|
||||
.upload-img-block .upload-img-box .upload-default{position: absolute;top: 50%;left: 50%;transform: translate(-50%, -50%);}
|
||||
</style>
|
||||
|
||||
|
||||
|
||||
<div class="layui-form form-wrap">
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label short-label"><span class="required">*</span>文件标题:</label>
|
||||
<div class="layui-input-inline">
|
||||
<input type="text" name="files_title" value="{$info.files_title}" lay-verify="required" maxlength="40" autocomplete="off" placeholder="请输入标题" class="layui-input len-long">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label"><span class="required">*</span>文件:</label>
|
||||
<div class="layui-input-block">
|
||||
{notempty name="$info.files_url"}
|
||||
<p class="file-upload">已上传</p>
|
||||
{else/}
|
||||
<p class="file-upload">未上传</p>
|
||||
{/notempty}
|
||||
<button type="button" class="layui-btn" id="cert_upload">
|
||||
<i class="layui-icon"></i>上传文件
|
||||
</button>
|
||||
<input type="hidden" name="files_url" class="layui-input len-long" value="{$info.files_url ?? ''}" lay-verify="files_url">
|
||||
<input type="hidden" name="size" class="layui-input len-long" value="{$info.size ?? ''}">
|
||||
</div>
|
||||
<div class="word-aux">请选择pdf文件</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<input type="hidden" name="files_id" value="{$info.files_id}" />
|
||||
|
||||
<div class="form-row" id="save">
|
||||
<button class="layui-btn" lay-submit lay-filter="save">保存</button>
|
||||
<button class="layui-btn layui-btn-primary" onclick="back()">返回</button>
|
||||
</div>
|
||||
|
||||
<!-- <div class="form-row" id="save1" style="display: none;">
|
||||
<div style="color:red">(文件越大解码时间越长)上传解码中,请稍等...</div>
|
||||
</div> -->
|
||||
|
||||
</div>
|
||||
|
||||
<script>
|
||||
var form,upload, repeat_flag = false;
|
||||
|
||||
layui.use(['form'], function() {
|
||||
form = layui.form;
|
||||
form.render();
|
||||
|
||||
|
||||
/**
|
||||
* 表单提交(立即发布)
|
||||
*/
|
||||
form.on('submit(save)', function(data){
|
||||
field = data.field;
|
||||
field.status = 1;
|
||||
formSubmit(field)
|
||||
});
|
||||
|
||||
new Upload({
|
||||
elem: '#cert_upload',
|
||||
url: ns.url("/personnel://shop/enterprise/uploadfile"),
|
||||
accept: 'file',
|
||||
callback:function (res) {
|
||||
if (res.code >= 0) {
|
||||
layer.msg('上传成功');
|
||||
$("input[name='files_url']").val(res.data.path);
|
||||
$("input[name='size']").val(res.data.size);
|
||||
$("input[name='files_url']").siblings(".file-upload").text("已上传");
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
/**
|
||||
* 提交
|
||||
*/
|
||||
function formSubmit(field)
|
||||
{
|
||||
// if (!imageCollection.length){
|
||||
// layer.msg('请选择封面图!', {icon: 5, anim: 6});
|
||||
// return;
|
||||
// }
|
||||
|
||||
// $('#save').hide()
|
||||
// $('#save1').show()
|
||||
|
||||
if(repeat_flag) return;
|
||||
repeat_flag = true;
|
||||
setTimeout(function (a) {
|
||||
$.ajax({
|
||||
type: 'POST',
|
||||
dataType: 'JSON',
|
||||
url: ns.url("personnel://shop/enterprise/edit"),
|
||||
data: field,
|
||||
async: false,
|
||||
success: function(res){
|
||||
repeat_flag = false;
|
||||
|
||||
if (res.code == 0) {
|
||||
layer.confirm('编辑成功', {
|
||||
title:'操作提示',
|
||||
btn: ['返回列表', '继续编辑'],
|
||||
yes: function(index, layero){
|
||||
if(field.status == 1){
|
||||
location.hash = ns.hash("personnel://shop/enterprise/lists");
|
||||
}else{
|
||||
location.hash = ns.hash("personnel://shop/enterprise/drafts");
|
||||
}
|
||||
layer.close(index);
|
||||
},
|
||||
btn2: function(index, layero) {
|
||||
layer.close(index);
|
||||
}
|
||||
});
|
||||
}else{
|
||||
layer.msg(res.message);
|
||||
}
|
||||
}
|
||||
})
|
||||
}, 1000);
|
||||
}
|
||||
|
||||
function back() {
|
||||
location.hash = ns.hash("personnel://shop/enterprise/lists");
|
||||
}
|
||||
</script>
|
||||
BIN
src/addon/personnel/shop/view/enterprise/fileicon.png
Normal file
|
After Width: | Height: | Size: 1.5 KiB |
BIN
src/addon/personnel/shop/view/enterprise/icon.png
Normal file
|
After Width: | Height: | Size: 1.3 KiB |
155
src/addon/personnel/shop/view/enterprise/lists.html
Normal file
@@ -0,0 +1,155 @@
|
||||
<!-- 搜索框 -->
|
||||
<div class="single-filter-box top">
|
||||
<button class="layui-btn" onclick="add()">添加文件</button>
|
||||
|
||||
<div class="layui-form">
|
||||
<div class="layui-input-inline">
|
||||
<input type="text" name="search_text" placeholder="请输入标题" autocomplete="off" class="layui-input">
|
||||
<button type="button" class="layui-btn layui-btn-primary" lay-filter="search" lay-submit>
|
||||
<i class="layui-icon"></i>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<input id="url" value="" type="hidden"></input>
|
||||
<!-- 列表 -->
|
||||
<table id="files_list" lay-filter="files_list"></table>
|
||||
|
||||
<!-- 操作 -->
|
||||
<script type="text/html" id="operation">
|
||||
<div class="table-btn">
|
||||
<!-- <a class="layui-btn" lay-event="copy">复制链接</a> -->
|
||||
<a class="layui-btn" lay-event="edit">编辑</a>
|
||||
<a class="layui-btn" lay-event="delete">删除</a>
|
||||
</div>
|
||||
</script>
|
||||
<!-- 用户信息 -->
|
||||
<script type="text/html" id="info">
|
||||
<div class='table-title'>
|
||||
<div class='title-pic headimg'>
|
||||
<img layer-src src="{{ns.img('addon/personnel/shop/view/enterprise/fileicon.png')}}" onerror="this.src = '{:img('addon/personnel/shop/view/enterprise/fileicon.png')}' ">
|
||||
</div>
|
||||
<div class='title-content'>
|
||||
<p class="layui-elip" style="font-weight: 600;color:#000">{{d.files_title}}</p>
|
||||
</div>
|
||||
</div>
|
||||
</script>
|
||||
<script>
|
||||
var form,laytpl,table, repeat_flag = false;//防重复标识;
|
||||
layui.use(['form','laytpl'], function() {
|
||||
form = layui.form;
|
||||
laytpl = layui.laytpl;
|
||||
form.render();
|
||||
|
||||
table = new Table({
|
||||
elem: '#files_list',
|
||||
url: ns.url("personnel://shop/enterprise/lists"),
|
||||
cols: [
|
||||
[ {
|
||||
field: 'files_title',
|
||||
title: '文件名称',
|
||||
width: '30%',
|
||||
unresize: 'false',
|
||||
templet: '#info'
|
||||
},
|
||||
// {
|
||||
// field: 'category_name',
|
||||
// title: '文件分类',
|
||||
// width: '20%',
|
||||
// unresize: 'false'
|
||||
// },
|
||||
/*{
|
||||
field: 'create_time',
|
||||
title: '创建时间',
|
||||
width: '20%',
|
||||
unresize: 'false',
|
||||
templet: function (data) {
|
||||
return ns.time_to_date(data.createtime);
|
||||
}
|
||||
}, */{
|
||||
title: '操作',
|
||||
toolbar: '#operation',
|
||||
unresize: 'false',
|
||||
align : 'right'
|
||||
}]
|
||||
],
|
||||
});
|
||||
|
||||
/**
|
||||
* 搜索功能
|
||||
*/
|
||||
form.on('submit(search)', function(data) {
|
||||
table.reload({
|
||||
page: {
|
||||
curr: 1
|
||||
},
|
||||
where: data.field
|
||||
});
|
||||
});
|
||||
|
||||
table.on("sort",function (obj) {
|
||||
table.reload({
|
||||
page: {
|
||||
curr: 1
|
||||
},
|
||||
where: {
|
||||
order:obj.field,
|
||||
sort:obj.type
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
/**
|
||||
* 监听工具栏操作
|
||||
*/
|
||||
table.tool(function(obj) {
|
||||
var data = obj.data;
|
||||
switch (obj.event) {
|
||||
case 'copy': // 推广
|
||||
// promote(data);
|
||||
$('#url').val(data.url)
|
||||
console.log(data.files_url)
|
||||
ns.copy('url')
|
||||
break;
|
||||
case 'edit': //编辑
|
||||
location.hash = ns.hash("personnel://shop/enterprise/edit?files_id=" + data.files_id);
|
||||
break;
|
||||
case 'delete': //删除
|
||||
deletefiles(data.files_id);
|
||||
break;
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
/**
|
||||
* 删除
|
||||
*/
|
||||
function deletefiles(files_id) {
|
||||
if (repeat_flag) return false;
|
||||
repeat_flag = true;
|
||||
|
||||
layer.confirm('确定要删除该文件吗?', function (index) {
|
||||
layer.close(index);
|
||||
$.ajax({
|
||||
url: ns.url("personnel://shop/enterprise/delete"),
|
||||
data: {files_id},
|
||||
dataType: 'JSON',
|
||||
type: 'POST',
|
||||
success: function (res) {
|
||||
layer.msg(res.message);
|
||||
repeat_flag = false;
|
||||
if (res.code == 0) {
|
||||
table.reload();
|
||||
}
|
||||
}
|
||||
});
|
||||
},
|
||||
function () {
|
||||
repeat_flag = false;
|
||||
layer.close();
|
||||
});
|
||||
}
|
||||
function add() {
|
||||
location.hash = ns.hash("personnel://shop/enterprise/add");
|
||||
}
|
||||
</script>
|
||||
BIN
src/addon/personnel/shop/view/enterprise/play.png
Normal file
|
After Width: | Height: | Size: 818 B |
168
src/addon/personnel/shop/view/files/lists.html
Normal file
@@ -0,0 +1,168 @@
|
||||
<!-- 搜索框 -->
|
||||
<div class="single-filter-box top">
|
||||
<button class="layui-btn" onclick="add()">添加文件</button>
|
||||
|
||||
<div class="layui-form">
|
||||
<div class="layui-input-inline">
|
||||
<input type="text" name="search_text" placeholder="请输入标题" autocomplete="off" class="layui-input">
|
||||
<button type="button" class="layui-btn layui-btn-primary" lay-filter="search" lay-submit>
|
||||
<i class="layui-icon"></i>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<input id="url" value="" type="hidden"></input>
|
||||
<!-- 列表 -->
|
||||
<table id="files_list" lay-filter="files_list"></table>
|
||||
|
||||
<!-- 操作 -->
|
||||
<script type="text/html" id="operation">
|
||||
<div class="table-btn">
|
||||
<!-- <a class="layui-btn" lay-event="copy">复制链接</a> -->
|
||||
<a class="layui-btn" lay-event="edit">编辑</a>
|
||||
<a class="layui-btn" lay-event="delete">删除</a>
|
||||
</div>
|
||||
</script>
|
||||
<!-- 用户信息 -->
|
||||
<script type="text/html" id="info">
|
||||
<div class='table-title'>
|
||||
<div class='title-pic headimg'>
|
||||
<img layer-src src="{{ns.img('/addon/personnel/view/enterprise/fileicon.png')}}" onerror="this.src = '{:img('app/shop/view/files/fileicon.png')}' ">
|
||||
</div>
|
||||
<div class='title-content'>
|
||||
<p class="layui-elip" style="font-weight: 600;color:#000">{{d.files_title}}</p>
|
||||
<!-- <p class="layui-elip" style="line-height: 1.2;color:#888;font-size: 12px;">发布时间:{{ns.time_to_date(d.createtime)}}</p> -->
|
||||
<!-- <p class="layui-elip" style="color:#888;font-size: 12px;">样本大小:{{d.size}}</p> -->
|
||||
<!-- <div>
|
||||
<span title="{{ d.mobile }}">{{ d.mobile }}</span>
|
||||
{{# if (d.status == 0 || d.member_level_type == 1){ }}
|
||||
{{# if (d.status == 0){ }}
|
||||
<span class="blacklist">黑名单</span>
|
||||
{{# } }}
|
||||
{{# if (d.member_level_type == 1){ }}
|
||||
<span class="vip_style">SVIP</span>
|
||||
{{# } }}
|
||||
{{# } }}
|
||||
</div> -->
|
||||
</div>
|
||||
</div>
|
||||
</script>
|
||||
<script>
|
||||
var form,laytpl,table, repeat_flag = false;//防重复标识;
|
||||
layui.use(['form','laytpl'], function() {
|
||||
form = layui.form;
|
||||
laytpl = layui.laytpl;
|
||||
form.render();
|
||||
|
||||
table = new Table({
|
||||
elem: '#files_list',
|
||||
url: ns.url("personnel://shop/enterprise/lists"),
|
||||
cols: [
|
||||
[ {
|
||||
field: 'files_title',
|
||||
title: '文件名称',
|
||||
width: '30%',
|
||||
unresize: 'false',
|
||||
templet: '#info'
|
||||
},
|
||||
// {
|
||||
// field: 'category_name',
|
||||
// title: '文件分类',
|
||||
// width: '20%',
|
||||
// unresize: 'false'
|
||||
// },
|
||||
/*{
|
||||
field: 'create_time',
|
||||
title: '创建时间',
|
||||
width: '20%',
|
||||
unresize: 'false',
|
||||
templet: function (data) {
|
||||
return ns.time_to_date(data.createtime);
|
||||
}
|
||||
}, */{
|
||||
title: '操作',
|
||||
toolbar: '#operation',
|
||||
unresize: 'false',
|
||||
align : 'right'
|
||||
}]
|
||||
],
|
||||
});
|
||||
|
||||
/**
|
||||
* 搜索功能
|
||||
*/
|
||||
form.on('submit(search)', function(data) {
|
||||
table.reload({
|
||||
page: {
|
||||
curr: 1
|
||||
},
|
||||
where: data.field
|
||||
});
|
||||
});
|
||||
|
||||
table.on("sort",function (obj) {
|
||||
table.reload({
|
||||
page: {
|
||||
curr: 1
|
||||
},
|
||||
where: {
|
||||
order:obj.field,
|
||||
sort:obj.type
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
/**
|
||||
* 监听工具栏操作
|
||||
*/
|
||||
table.tool(function(obj) {
|
||||
var data = obj.data;
|
||||
switch (obj.event) {
|
||||
case 'copy': // 推广
|
||||
// promote(data);
|
||||
$('#url').val(data.url)
|
||||
console.log(data.files_url)
|
||||
ns.copy('url')
|
||||
break;
|
||||
case 'edit': //编辑
|
||||
location.hash = ns.hash("personnel://shop/enterprise/edit?files_id=" + data.files_id);
|
||||
break;
|
||||
case 'delete': //删除
|
||||
deletefiles(data.files_id);
|
||||
break;
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
/**
|
||||
* 删除
|
||||
*/
|
||||
function deletefiles(files_id) {
|
||||
if (repeat_flag) return false;
|
||||
repeat_flag = true;
|
||||
|
||||
layer.confirm('确定要删除该文件吗?', function (index) {
|
||||
layer.close(index);
|
||||
$.ajax({
|
||||
url: ns.url("personnel://shop/enterprise/delete"),
|
||||
data: {files_id},
|
||||
dataType: 'JSON',
|
||||
type: 'POST',
|
||||
success: function (res) {
|
||||
layer.msg(res.message);
|
||||
repeat_flag = false;
|
||||
if (res.code == 0) {
|
||||
table.reload();
|
||||
}
|
||||
}
|
||||
});
|
||||
},
|
||||
function () {
|
||||
repeat_flag = false;
|
||||
layer.close();
|
||||
});
|
||||
}
|
||||
function add() {
|
||||
location.hash = ns.hash("personnel://shop/enterprise/add");
|
||||
}
|
||||
</script>
|
||||
0
src/addon/personnel/shop/view/public/diy.css
Normal file
BIN
src/addon/personnel/shop/view/public/img/file.png
Normal file
|
After Width: | Height: | Size: 10 KiB |
BIN
src/addon/personnel/shop/view/public/img/kefu.jpg
Normal file
|
After Width: | Height: | Size: 4.6 KiB |
BIN
src/addon/personnel/shop/view/public/img/map.png
Normal file
|
After Width: | Height: | Size: 138 KiB |
BIN
src/addon/personnel/shop/view/public/img/mingpian.png
Normal file
|
After Width: | Height: | Size: 14 KiB |
BIN
src/addon/personnel/shop/view/public/img/video.png
Normal file
|
After Width: | Height: | Size: 110 KiB |