切换导航条
此项目
正在载入...
登录
李忠强
/
temporaryfood
·
提交
转到一个项目
GitLab
转到仪表盘
项目
活动
文件
提交
管道
0
构建
0
图表
里程碑
问题
0
合并请求
0
成员
标记
维基
派生
网络
创建新的问题
下载为
邮件补丁
差异文件
浏览文件
作者
SHW\戥岁。。
3 years ago
提交
b46b0a4222b14875bea51296e8a13dff86f6ccd2
1 个父辈
91e7e509
规格类型字段
隐藏空白字符变更
内嵌
并排对比
正在显示
3 个修改的文件
包含
113 行增加
和
61 行删除
application/admin/controller/litestore/Litestoregoods.php
application/api/controller/Classification.php
public/assets/js/backend/litestore/litestoregoods.js
application/admin/controller/litestore/Litestoregoods.php
查看文件 @
b46b0a4
...
...
@@ -9,7 +9,7 @@ use app\admin\model\litestore\Litestorespecvalue as SpecValueModel;
use
think\Db
;
/**
*
*
*
* @icon fa fa-circle-o
*/
...
...
@@ -26,7 +26,7 @@ class Litestoregoods extends Backend
public
function
_initialize
()
{
parent
::
_initialize
();
$this
->
SpecModel
=
new
SpecModel
;
$this
->
SpecModel
=
new
SpecModel
;
$this
->
SpecValueModel
=
new
SpecValueModel
;
$this
->
model
=
new
\app\admin\model\litestore\Litestoregoods
;
...
...
@@ -40,13 +40,13 @@ class Litestoregoods extends Backend
$this
->
view
->
assign
(
"spec_attr"
,
''
);
$this
->
view
->
assign
(
"spec_list"
,
''
);
}
/**
* 默认生成的控制器所继承的父类中有index/add/edit/del/multi五个基础方法、destroy/restore/recyclebin三个回收站方法
* 因此在当前控制器中可不用编写增删改查的代码,除非需要自己控制这部分逻辑
* 需要将application/admin/library/traits/Backend.php中对应的方法复制到当前控制器,然后进行修改
*/
/**
* 查看
...
...
@@ -57,35 +57,33 @@ class Litestoregoods extends Backend
$this
->
relationSearch
=
true
;
//设置过滤方法
$this
->
request
->
filter
([
'strip_tags'
]);
if
(
$this
->
request
->
isAjax
())
{
if
(
$this
->
request
->
isAjax
())
{
//如果发送的来源是Selectpage,则转发到Selectpage
if
(
$this
->
request
->
request
(
'keyField'
))
{
if
(
$this
->
request
->
request
(
'keyField'
))
{
return
$this
->
selectpage
();
}
list
(
$where
,
$sort
,
$order
,
$offset
,
$limit
)
=
$this
->
buildparams
();
$total
=
$this
->
model
->
with
([
'category'
,
'activity'
])
->
where
(
$where
)
->
order
(
$sort
,
$order
)
->
count
();
->
with
([
'category'
,
'activity'
])
->
where
(
$where
)
->
order
(
$sort
,
$order
)
->
count
();
$list
=
$this
->
model
->
with
([
'category'
,
'activity'
])
->
where
(
$where
)
->
order
(
$sort
,
$order
)
->
limit
(
$offset
,
$limit
)
->
select
();
->
with
([
'category'
,
'activity'
])
->
where
(
$where
)
->
order
(
$sort
,
$order
)
->
limit
(
$offset
,
$limit
)
->
select
();
foreach
(
$list
as
$row
)
{
$row
->
getRelation
(
'category'
)
->
visible
([
'name'
]);
$row
->
getRelation
(
'activity'
)
->
visible
([
'name'
]);
// $row->getRelation('freight')->visible(['name']);
$row
->
stock_num
=
Litestoregoodsspec
::
where
(
'goods_id'
,
$row
[
'goods_id'
])
->
sum
(
'stock_num'
);
$row
->
stock_num
=
Litestoregoodsspec
::
where
(
'goods_id'
,
$row
[
'goods_id'
])
->
sum
(
'stock_num'
);
}
$list
=
collection
(
$list
)
->
toArray
();
$list
=
collection
(
$list
)
->
toArray
();
$result
=
array
(
"total"
=>
$total
,
"rows"
=>
$list
);
return
json
(
$result
);
...
...
@@ -93,14 +91,15 @@ class Litestoregoods extends Backend
return
$this
->
view
->
fetch
();
}
public
function
addSpec
(
$spec_name
,
$spec_value
){
// 判断规格组是否存在
public
function
addSpec
(
$spec_name
,
$spec_value
)
{
// 判断规格组是否存在
if
(
!
$specId
=
$this
->
SpecModel
->
getSpecIdByName
(
$spec_name
))
{
// 新增规格组and规则值
if
(
$this
->
SpecModel
->
add
(
$spec_name
)
&&
$this
->
SpecValueModel
->
add
(
$this
->
SpecModel
[
'id'
],
$spec_value
))
return
$this
->
success
(
''
,
''
,
[
'spec_id'
=>
(
int
)
$this
->
SpecModel
[
'id'
],
'spec_id'
=>
(
int
)
$this
->
SpecModel
[
'id'
],
'spec_value_id'
=>
(
int
)
$this
->
SpecValueModel
[
'id'
],
]);
return
$this
->
error
();
...
...
@@ -109,14 +108,14 @@ class Litestoregoods extends Backend
// 判断规格值是否存在
if
(
$specValueId
=
$this
->
SpecValueModel
->
getSpecValueIdByName
(
$specId
,
$spec_value
))
{
return
$this
->
success
(
''
,
''
,
[
'spec_id'
=>
(
int
)
$specId
,
'spec_id'
=>
(
int
)
$specId
,
'spec_value_id'
=>
(
int
)
$specValueId
,
]);
}
// 添加规则值
if
(
$this
->
SpecValueModel
->
add
(
$specId
,
$spec_value
))
return
$this
->
success
(
''
,
''
,
[
'spec_id'
=>
(
int
)
$specId
,
'spec_id'
=>
(
int
)
$specId
,
'spec_value_id'
=>
(
int
)
$this
->
SpecValueModel
[
'id'
],
]);
return
$this
->
error
();
...
...
@@ -153,13 +152,13 @@ class Litestoregoods extends Backend
if
(
$this
->
dataLimit
&&
$this
->
dataLimitFieldAutoFill
)
{
$params
[
$this
->
dataLimitField
]
=
$this
->
auth
->
id
;
}
if
(
$params
[
'spec_type'
]
==
'20'
&&
!
$this
->
request
->
post
(
"spec_many/a"
))
{
if
(
$params
[
'spec_type'
]
==
'20'
&&
!
$this
->
request
->
post
(
"spec_many/a"
))
{
$this
->
error
(
'请添加规格'
);
}
try
{
//是否采用模型验证
if
(
$this
->
modelValidate
)
{
$name
=
str_replace
(
"
\\
model
\\
"
,
"
\\
validate
\\
"
,
get_class
(
$this
->
model
));
$name
=
str_replace
(
"
\\
model
\\
"
,
"
\\
validate
\\
"
,
get_class
(
$this
->
model
));
$validate
=
is_bool
(
$this
->
modelValidate
)
?
(
$this
->
modelSceneValidate
?
$name
.
'.add'
:
true
)
:
$this
->
modelValidate
;
$this
->
model
->
validate
(
$validate
);
}
...
...
@@ -167,7 +166,7 @@ class Litestoregoods extends Backend
if
(
$result
!==
false
)
{
//成功之后 存储商品规格
$spec_many_params
=
$this
->
request
->
post
(
"spec_many/a"
);
$this
->
model
->
addGoodsSpec
(
$params
,
$spec_many_params
,
$this
->
request
->
post
(
"spec/a"
));
$this
->
model
->
addGoodsSpec
(
$params
,
$spec_many_params
,
$this
->
request
->
post
(
"spec/a"
));
$this
->
success
();
}
else
{
$this
->
error
(
$this
->
model
->
getError
());
...
...
@@ -189,12 +188,12 @@ class Litestoregoods extends Backend
public
function
del
(
$ids
=
""
)
{
if
(
$ids
)
{
$pk
=
$this
->
model
->
getPk
();
$pk
=
$this
->
model
->
getPk
();
$adminIds
=
$this
->
getDataLimitAdminIds
();
if
(
is_array
(
$adminIds
))
{
$count
=
$this
->
model
->
where
(
$this
->
dataLimitField
,
'in'
,
$adminIds
);
}
$list
=
$this
->
model
->
where
(
$pk
,
'in'
,
$ids
)
->
select
();
$list
=
$this
->
model
->
where
(
$pk
,
'in'
,
$ids
)
->
select
();
$count
=
0
;
foreach
(
$list
as
$k
=>
$v
)
{
// 删除商品sku
...
...
@@ -228,13 +227,13 @@ class Litestoregoods extends Backend
if
(
$this
->
request
->
isPost
())
{
$params
=
$this
->
request
->
post
(
"row/a"
);
if
(
$params
)
{
if
(
$params
[
'spec_type'
]
==
'20'
&&
!
$this
->
request
->
post
(
"spec_many/a"
))
{
if
(
$params
[
'spec_type'
]
==
'20'
&&
!
$this
->
request
->
post
(
"spec_many/a"
))
{
$this
->
error
(
'请添加规格'
);
}
try
{
//是否采用模型验证
if
(
$this
->
modelValidate
)
{
$name
=
basename
(
str_replace
(
'\\'
,
'/'
,
get_class
(
$this
->
model
)));
$name
=
basename
(
str_replace
(
'\\'
,
'/'
,
get_class
(
$this
->
model
)));
$validate
=
is_bool
(
$this
->
modelValidate
)
?
(
$this
->
modelSceneValidate
?
$name
.
'.edit'
:
true
)
:
$this
->
modelValidate
;
$row
->
validate
(
$validate
);
}
...
...
@@ -242,11 +241,11 @@ class Litestoregoods extends Backend
if
(
$result
!==
false
)
{
//成功之后 存储商品规格
$spec_many_params
=
$this
->
request
->
post
(
"spec_many/a"
);
$row
->
addGoodsSpec
(
$params
,
$spec_many_params
,
$this
->
request
->
post
(
"spec/a"
),
true
);
$row
->
addGoodsSpec
(
$params
,
$spec_many_params
,
$this
->
request
->
post
(
"spec/a"
),
true
);
// 删除购物车
Db
::
name
(
'cart'
)
->
where
(
'goods_id'
,
$row
->
goods_id
)
->
delete
();
Db
::
name
(
'cart'
)
->
where
(
'goods_id'
,
$row
->
goods_id
)
->
delete
();
//删除我常买
Db
::
name
(
'user_buylist'
)
->
where
(
'goods_id'
,
$row
->
goods_id
)
->
delete
();
Db
::
name
(
'user_buylist'
)
->
where
(
'goods_id'
,
$row
->
goods_id
)
->
delete
();
$this
->
success
();
}
else
{
$this
->
error
(
$row
->
getError
());
...
...
@@ -261,11 +260,77 @@ class Litestoregoods extends Backend
}
// 多规格信息
$specData
=
'null'
;
if
(
$row
[
'spec_type'
]
===
'20'
){
if
(
$row
[
'spec_type'
]
===
'20'
)
{
$specData
=
json_encode
(
$this
->
model
->
getManySpecData
(
$row
[
'spec_rel'
],
$row
[
'spec'
]));
}
$row
[
'specData'
]
=
$specData
;
$this
->
view
->
assign
(
"row"
,
$row
);
return
$this
->
view
->
fetch
();
}
/**
* 导出
*/
public
function
clubpeople
(){
//1.从数据库中导出需要进行要导出的数据
$list
=
Db
::
query
(
'SELECT stu_list.stu_name,stu_list.stu_department,stu_list.stu_phone,stu_list.stu_email,stu_list.stu_profess
,club_branch.* FROM club_branch INNER JOIN stu_list ON club_branch.stu_number = stu_list.stu_number
where club_branch.club_id=:acc order by club_branch.club_branch_name '
,[
'acc'
=>
$clubid
]);
//重要补助
//2.加载PHPExcle类库
vendor
(
'PHPExcel.PHPExcel'
);
//3.实例化PHPExcel类
$objPHPExcel
=
new
\PHPExcel
();
//4.激活当前的sheet表
$objPHPExcel
->
setActiveSheetIndex
(
0
);
//5.设置表格头(即excel表格的第一行)
$objPHPExcel
->
setActiveSheetIndex
(
0
)
->
setCellValue
(
'A1'
,
'部门'
)
->
setCellValue
(
'B1'
,
'职位'
)
->
setCellValue
(
'C1'
,
'学号'
)
->
setCellValue
(
'D1'
,
'学生姓名'
)
->
setCellValue
(
'E1'
,
'联系方式'
)
->
setCellValue
(
'F1'
,
'邮箱'
)
->
setCellValue
(
'G1'
,
'院系'
)
->
setCellValue
(
'H1'
,
'专业'
);
//设置A列水平居中
$objPHPExcel
->
setActiveSheetIndex
(
0
)
->
getStyle
(
'A1'
)
->
getAlignment
()
->
setHorizontal
(
\PHPExcel_Style_Alignment
::
HORIZONTAL_CENTER
);
//设置单元格宽度
//6.循环刚取出来的数组,将数据逐一添加到excel表格。
$objPHPExcel
->
setActiveSheetIndex
(
0
)
->
getColumnDimension
(
'B'
)
->
setWidth
(
10
);
$objPHPExcel
->
setActiveSheetIndex
(
0
)
->
getColumnDimension
(
'C'
)
->
setWidth
(
20
);
$objPHPExcel
->
setActiveSheetIndex
(
0
)
->
getColumnDimension
(
'E'
)
->
setWidth
(
20
);
$objPHPExcel
->
setActiveSheetIndex
(
0
)
->
getColumnDimension
(
'F'
)
->
setWidth
(
30
);
for
(
$i
=
0
;
$i
<
count
(
$list
);
$i
++
){
$objPHPExcel
->
getActiveSheet
()
->
setCellValue
(
'A'
.
(
$i
+
2
),
$list
[
$i
][
'club_branch_name'
]);
//ID
$objPHPExcel
->
getActiveSheet
()
->
setCellValue
(
'B'
.
(
$i
+
2
),
$list
[
$i
][
'club_position'
]);
//标签码
$objPHPExcel
->
getActiveSheet
()
->
setCellValue
(
'C'
.
(
$i
+
2
),
$list
[
$i
][
'stu_number'
]);
//防伪码
$objPHPExcel
->
getActiveSheet
()
->
setCellValue
(
'D'
.
(
$i
+
2
),
$list
[
$i
][
'stu_name'
]);
//ID
$objPHPExcel
->
getActiveSheet
()
->
setCellValue
(
'E'
.
(
$i
+
2
),
$list
[
$i
][
'stu_phone'
]);
//标签码
$objPHPExcel
->
getActiveSheet
()
->
setCellValue
(
'F'
.
(
$i
+
2
),
$list
[
$i
][
'stu_email'
]);
//ID
$objPHPExcel
->
getActiveSheet
()
->
setCellValue
(
'G'
.
(
$i
+
2
),
$list
[
$i
][
'stu_department'
]);
//标签码
$objPHPExcel
->
getActiveSheet
()
->
setCellValue
(
'H'
.
(
$i
+
2
),
$list
[
$i
][
'stu_profess'
]);
//防伪码
}
//7.设置保存的Excel表格名称
$filename
=
$club_name
.
'人员名单'
.
date
(
'ymd'
,
time
())
.
'.xls'
;
//8.设置当前激活的sheet表格名称;
$objPHPExcel
->
getActiveSheet
()
->
setTitle
(
'人员名单'
);
//9.设置浏览器窗口下载表格
header
(
"Content-Type: application/force-download"
);
header
(
"Content-Type: application/octet-stream"
);
header
(
"Content-Type: application/download"
);
header
(
'Content-Disposition:inline;filename="'
.
$filename
.
'"'
);
//生成excel文件
$objWriter
=
\PHPExcel_IOFactory
::
createWriter
(
$objPHPExcel
,
'Excel5'
);
//下载文件在浏览器窗口
$objWriter
->
save
(
'php://output'
);
exit
;
}
}
...
...
application/api/controller/Classification.php
查看文件 @
b46b0a4
...
...
@@ -95,7 +95,7 @@ class Classification extends Api
->
where
(
'is_delete'
,
'0'
)
->
where
(
'category_id'
,
$sort_id
)
->
where
(
'goods_status'
,
'10'
)
->
field
(
'goods_id,goods_name,image'
)
->
field
(
'goods_id,
spec_type,
goods_name,image'
)
->
paginate
(
10
,
false
,
[
'page'
=>
$page
])
->
each
(
function
(
$item
,
$key
)
{
if
(
$this
->
auth
->
isLogin
())
{
...
...
@@ -400,7 +400,7 @@ class Classification extends Api
->
where
(
'is_delete'
,
'0'
)
->
where
(
'category_id'
,
$sort_id
)
->
where
(
'goods_status'
,
'10'
)
->
field
(
'goods_id,goods_name,image'
)
->
field
(
'goods_id,
spec_type,
goods_name,image'
)
->
paginate
(
10
,
false
,
[
'page'
=>
$page
])
->
each
(
function
(
&
$item
)
{
if
(
$this
->
auth
->
isLogin
())
{
...
...
@@ -464,7 +464,7 @@ class Classification extends Api
$list
=
$model
->
where
(
'is_delete'
,
'0'
)
->
where
(
'goods_status'
,
'10'
)
->
field
(
'goods_id,goods_name,image'
)
->
field
(
'goods_id,goods_name,
spec_type,
image'
)
->
paginate
(
10
,
false
,
[
'page'
=>
$page
])
->
each
(
function
(
&
$item
)
{
if
(
$this
->
auth
->
isLogin
())
{
...
...
public/assets/js/backend/litestore/litestoregoods.js
查看文件 @
b46b0a4
...
...
@@ -97,33 +97,20 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form', 'template', 'litestor
$
(
'.btn-sync'
).
click
(
function
()
{
var
index
=
Layer
.
load
();
$
.
ajax
({
// type: "POST",
url
:
$
.
fn
.
bootstrapTable
.
defaults
.
extend
.
performTask
,
confirm
:
'确认开始执行任务吗?(数据导出属高IO操作,若本任务数据量超过2万,请择服务器相对闲时执行!)'
,
refresh
:
true
,
// url: "fastexport/zdyTask",
type
:
"POST"
,
msg
:
"确认导出吗?导出过程请勿关闭"
,
url
:
"litestore/litestoregoods/zdy_export"
,
datatype
:
"json"
,
success
:
function
(
data
,
ret
)
{
if
(
ret
.
code
==
1
)
{
if
(
data
.
direct_export
)
{
Fast
.
api
.
msg
(
'任务已开始,请稍等片刻...'
)
window
.
location
=
'fastexport/zdyTask'
;
}
else
{
window
.
open
(
"fastexport/taskControl/task_id/"
+
data
.
id
,
"_blank"
);
}
}
else
{
Layer
.
alert
(
ret
.
msg
);
}
return
false
;
success
:
function
(
data
)
{
Layer
.
close
(
index
);
Layer
.
alert
(
data
.
msg
);
},
error
:
function
(
data
,
ret
)
{
Layer
.
alert
(
ret
.
msg
);
return
false
;
error
:
function
()
{
Layer
.
close
(
index
);
console
.
log
(
'btn-course-scheduling setInterval error'
);
}
});
});
table
.
on
(
'load-success.bs.table'
,
function
(
data
)
{
$
(
".btn-editone"
).
data
(
"area"
,
[
"1000px"
,
"800px"
]);
});
...
...
请
注册
或
登录
后发表评论