Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in
Toggle navigation
A
addcpm-json
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Александр Чаплыгин
addcpm-json
Commits
7d43e037
Commit
7d43e037
authored
May 26, 2019
by
Александр Чаплыгин
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Логика перераспределения заказов по группам таблицы после изменения их статусов
parent
8433e080
Show whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
97 additions
and
43 deletions
+97
-43
feeds.global.php
src/config/autoload/feeds.global.php
+2
-9
styles-feeds-stat.css
src/public/css/styles-feeds-stat.css
+14
-0
script-feeds-stat-table.js
src/public/js/script-feeds-stat-table.js
+22
-3
script-feeds-stat.js
src/public/js/script-feeds-stat.js
+32
-10
Cabinet.php
src/src/App/Action/User/Cabinet.php
+15
-5
cabinet-feed.phtml
src/templates/app/user/cabinet-feed.phtml
+12
-16
No files found.
src/config/autoload/feeds.global.php
View file @
7d43e037
...
...
@@ -31,11 +31,7 @@ return [
'title'
=>
'Сводный отчет'
,
'type'
=>
'feed_stat'
,
'fields'
=>
[
'Views'
,
'Clicks'
,
'Orders'
,
'OrderSum'
,
'AdMoney'
],
//'fields' => ['Views','Clicks','Orders','OrderSum'], // временно
'main_cat'
=>
[
[
'name'
=>
'date'
,
'title'
=>
'Дата'
,
'isSorted'
=>
true
],
//['name' => 'campaign','title' => 'Кампания','isSorted' => true]
],
'main_cat'
=>
[
'name'
=>
'date'
,
'title'
=>
'Дата'
,
'isSorted'
=>
true
],
'cats'
=>
[
'Views'
=>
'Показы'
,
'Clicks'
=>
'Клики'
,
...
...
@@ -48,10 +44,7 @@ return [
'title'
=>
'Транзакции'
,
'type'
=>
'feed_transactions'
,
'fields'
=>
[
'Views'
,
'Clicks'
,
'Orders'
,
'OrderSum'
,
'AdMoney'
],
//'fields' => ['Views','Clicks','Orders','OrderSum'], // временно
'main_cat'
=>
[
[
'name'
=>
'order'
,
'title'
=>
'#OrderID'
,
'isSorted'
=>
false
]
],
'main_cat'
=>
[
'name'
=>
'order'
,
'title'
=>
'#OrderID'
,
'isSorted'
=>
false
],
'cats'
=>
[
'Timestamp'
=>
'Время<br />Дата'
,
'Basket'
=>
'Состав корзины'
,
...
...
src/public/css/styles-feeds-stat.css
View file @
7d43e037
...
...
@@ -187,6 +187,20 @@ input[type="checkbox"]
font-size
:
12px
;
}
/* Фильтрация строк в таблице transactions */
table
.table-striped.admin.transactions
.transaction-item
{
display
:
none
;
}
table
.table-striped.admin.transactions.all
.transaction-item
,
table
.table-striped.admin.transactions.approved
.transaction-item.approved
,
table
.table-striped.admin.transactions.confirmed
.transaction-item.confirmed
,
table
.table-striped.admin.transactions.rejected
.transaction-item.rejected
{
display
:
table-row
;
}
.table.table-striped.admin
thead
.metric.sortable
tr
b
{
cursor
:
pointer
;
...
...
src/public/js/script-feeds-stat-table.js
View file @
7d43e037
...
...
@@ -8,7 +8,10 @@ $(document).ready(function(){
currentActiveLine
,
currencyFields
=
[
'admoney'
,
'salemoney'
,
'usdollarmoney'
,
'localmoney'
,
'AdMoney'
,
'OrderSum'
,
'Price'
],
notFormatFields
=
[
'Timestamp'
,
'Basket'
,
'ViewID'
],
dateTimeFields
=
[
'Timestamp'
,
'period'
];
dateTimeFields
=
[
'Timestamp'
,
'period'
],
trClassConfirmed
=
'confirmed'
,
trClassRejected
=
'rejected'
,
trClassApproved
=
'approved'
;
// Шаблон содержимого ячейки Basket
var
templateBasketContent
=
_
.
template
(
'
\
n'
+
...
...
@@ -147,12 +150,28 @@ $(document).ready(function(){
dataTableForSort
.
forEach
(
function
(
item
){
if
(
dataLineChartStat
.
report
==
'transactions'
)
{
$row
=
$
(
'<tr class="transaction-item">'
);
var
feedId
=
item
[
'ViewID'
][
0
],
orderId
=
item
[
'period'
],
orderStatus
=
dataLineChartStat
.
ordersStatus
[
feedId
][
orderId
];
orderStatus
=
dataLineChartStat
.
ordersStatus
[
feedId
][
orderId
],
trClass
;
if
(
!
orderStatus
)
{
trClass
=
trClassConfirmed
;
}
else
{
if
(
orderStatus
.
approved
)
{
trClass
=
trClassApproved
;
}
else
if
(
!
orderStatus
.
confirmed
)
{
trClass
=
trClassRejected
;
}
else
{
trClass
=
trClassConfirmed
;
}
}
$row
=
$
(
'<tr class="transaction-item '
+
trClass
+
'">'
);
$row
.
append
(
$
(
'<td class="OrderID">'
).
append
(
templateOrderIDContent
({
data
:
{
...
...
src/public/js/script-feeds-stat.js
View file @
7d43e037
...
...
@@ -277,7 +277,21 @@ $(document).ready(function(){
(
function
(){
var
$tableStat
=
$
(
'table.transactions'
);
$tableStat
=
$
(
'table.transactions'
),
$ordersSwitcher
=
$
(
'.b-filter__switch.category-orders .b-filter__switch-item'
),
switcherActiveClass
=
'm-filter__switch-item_active'
;
// Переключение статусов заказов:
$ordersSwitcher
.
on
(
'click'
,
function
()
{
var
$this
=
$
(
this
);
if
(
!
$this
.
hasClass
(
switcherActiveClass
))
{
$ordersSwitcher
.
removeClass
(
switcherActiveClass
);
$this
.
addClass
(
switcherActiveClass
);
$tableStat
.
removeClass
(
'all'
).
removeClass
(
'approved'
).
removeClass
(
'confirmed'
).
removeClass
(
'rejected'
);
$tableStat
.
addClass
(
$this
.
data
(
'order-category'
));
}
});
// Клик на галочку подтверждения заказа:
$tableStat
.
on
(
'change'
,
'td.OrderID input'
,
function
(
e
)
{
...
...
@@ -286,6 +300,7 @@ $(document).ready(function(){
$this
=
$
(
this
),
$spanWrap
=
$this
.
parent
(
'span.order-id'
),
action
=
$tableStat
.
data
(
'link'
),
$orderTr
=
$this
.
parents
(
'tr'
),
data
=
{
'toggle_confirmed'
:
1
,
'confirmed'
:
$this
.
prop
(
"checked"
)
?
1
:
0
,
...
...
@@ -299,17 +314,14 @@ $(document).ready(function(){
type
:
'POST'
,
data
:
data
,
success
:
function
(
data
)
{
$this
.
prop
(
"disabled"
,
false
);
/*
console
.
log
(
'AAA success '
,
data
);
if
(
data
.
result
)
{
if (isEnabled) {
$siteTr.removeClass('disabl
ed');
$orderTr
.
removeClass
(
'confirmed'
).
removeClass
(
'rejected'
);
$orderTr
.
addClass
((
data
.
confirmed
)
?
'confirmed'
:
'reject
ed'
);
}
else
{
$siteTr.addClass('disabled');
}
$this
.
prop
(
"checked"
,
!
$this
.
prop
(
"checked"
))
}
*/
$this
.
prop
(
"disabled"
,
false
);
},
error
:
function
(
rew
,
status
,
err
)
{
console
.
log
(
status
,
err
);
...
...
@@ -323,6 +335,10 @@ $(document).ready(function(){
// Клик на Утвердить заказы:
$
(
'a.btn.approve'
).
on
(
'click'
,
function
(){
if
(
!
confirm
(
"Утвердить заказы за выбранный период?"
))
return
false
;
var
action
=
$tableStat
.
data
(
'link'
),
$ordersItems
=
$
(
'tbody > tr.transaction-item:not(.total-orders) td.OrderID span.order-id'
,
$tableStat
),
...
...
@@ -349,10 +365,16 @@ $(document).ready(function(){
data
:
data
,
success
:
function
(
data
)
{
console
.
log
(
status
,
data
);
if
(
data
.
result
)
{
dataOrders
.
forEach
(
function
(
item
,
i
){
var
$inputItem
=
$
(
'tbody td.OrderID span.order-id[data-order-id="'
+
item
.
orderId
+
'"][data-feed-id="'
+
item
.
feedId
+
'"] input'
,
$tableStat
);
var
$inputItem
=
$
(
'tbody td.OrderID span.order-id[data-order-id="'
+
item
.
orderId
+
'"][data-feed-id="'
+
item
.
feedId
+
'"] input'
,
$tableStat
),
$orderTr
=
$inputItem
.
parents
(
'tr'
);
$inputItem
.
prop
(
"disabled"
,
true
);
$orderTr
.
removeClass
(
'confirmed'
).
removeClass
(
'rejected'
).
addClass
(
'approved'
);
});
}
},
error
:
function
(
rew
,
status
,
err
)
{
console
.
log
(
status
,
err
);
...
...
src/src/App/Action/User/Cabinet.php
View file @
7d43e037
...
...
@@ -377,7 +377,10 @@ class Cabinet extends Common
if
(
!
$res
)
{
throw
new
\Exception
(
'DB error'
);
}
}
else
{
}
/*
else {
// Этот кусок по логике не используется, т.к. не можем менять confirmed у заказов approved
$data = array(
'feed_id' => $feed_id,
'order_id' => $order_id,
...
...
@@ -389,9 +392,9 @@ class Cabinet extends Common
if(!$res) {
throw new \Exception('DB error');
}
}*/
}
}
return
new
JsonResponse
(
$order_id
);
}
else
{
$data
=
array
(
...
...
@@ -405,8 +408,12 @@ class Cabinet extends Common
if
(
!
$res
)
{
throw
new
\Exception
(
'DB error'
);
}
return
new
JsonResponse
(
$order_id
);
}
return
new
JsonResponse
(
array
(
'result'
=>
true
,
'data'
=>
$res
,
'confirmed'
=>
(
bool
)
$data_request
[
'confirmed'
]
));
}
}
...
...
@@ -454,7 +461,10 @@ class Cabinet extends Common
}
}
return
new
JsonResponse
(
$approved_orders
);
return
new
JsonResponse
(
array
(
'result'
=>
true
,
'data'
=>
$approved_orders
,
));
}
...
...
src/templates/app/user/cabinet-feed.phtml
View file @
7d43e037
...
...
@@ -59,13 +59,12 @@ $error = $this->error;
if
(
!
$error
)
{
$periodStats
=
$this
->
periodStats
;
//$campaignStats = $this->campaignStats;
$current_period
=
$this
->
current_period
;
$dates
=
$this
->
dates
;
$current_report
=
$this
->
current_report
;
$report_conf
=
$this
->
report_conf
;
$report_title
=
$report_conf
[
'title'
];
$
report_
main_cat
=
$report_conf
[
'main_cat'
];
$main_cat
=
$report_conf
[
'main_cat'
];
$report_cats
=
$report_conf
[
'cats'
];
$reports_list
=
$this
->
reports_list
;
$periods_list
=
$this
->
periods_list
;
...
...
@@ -107,10 +106,6 @@ if (!$error) {
<textarea
id=
"period-stats"
>
<?=
(
$periodStats
?
json_encode
(
$periodStats
,
JSON_UNESCAPED_UNICODE
)
:
''
)
?>
</textarea>
<textarea
id=
"report-cats"
>
<?=
(
$report_cats
?
json_encode
(
$report_cats
,
JSON_UNESCAPED_UNICODE
)
:
''
)
?>
</textarea>
<?php
/* ?>
<textarea id="campaign-stats"><?= ($campaignStats ? json_encode($campaignStats) : '')?></textarea>
<?php */
?>
<section
class=
"b-content__work"
>
<div
class=
"wrapp"
style=
"position: relative;"
>
...
...
@@ -137,6 +132,7 @@ if (!$error) {
</div>
<?php */
?>
<?php
/* Переключатель отчеты категории */
?>
<div
class=
"b-filter__switch display"
>
<?php
foreach
(
$reports_list
as
$report_name
=>
$report_title
)
:
?>
<span
class=
"b-filter__switch-item text
<?php
if
(
$current_report
==
$report_name
)
:
?>
m-filter__switch-item_active
<?php
endif
;
?>
"
><a
href=
"
<?=
$this
->
url
(
'user.cabinet'
,
[
'lang'
=>
$this
->
lang
,
'report'
=>
$report_name
])
?>
"
>
<?=
_t
(
$report_title
)
?>
</a></span>
...
...
@@ -177,23 +173,22 @@ if (!$error) {
<?php
/* Таблица */
?>
<?php
if
(
$current_report
==
'transactions'
)
:
?>
<div
class=
"b-filter__switch display category-orders"
>
<span
class=
"b-filter__switch-item text m-filter__switch-item_active"
data-orders-category=
"all"
>
<?=
_t
(
'Все'
)
?>
</span>
<span
class=
"b-filter__switch-item text"
data-orders-category=
"approved"
>
<?=
_t
(
'Согласованны'
)
?>
</span>
<span
class=
"b-filter__switch-item text"
data-orders-category=
"confirmed"
>
<?=
_t
(
'Приняты'
)
?>
</span>
<span
class=
"b-filter__switch-item text"
data-orders-category=
"not-confirmed"
>
<?=
_t
(
'Отклонены'
)
?>
</span>
<?php
/* Переключатель статусов заказов */
?>
<div
class=
"b-filter__switch category-orders"
>
<span
class=
"b-filter__switch-item text m-filter__switch-item_active"
data-order-category=
"all"
>
<?=
_t
(
'Все'
)
?>
</span>
<span
class=
"b-filter__switch-item text"
data-order-category=
"approved"
>
<?=
_t
(
'Согласованны'
)
?>
</span>
<span
class=
"b-filter__switch-item text"
data-order-category=
"confirmed"
>
<?=
_t
(
'Приняты'
)
?>
</span>
<span
class=
"b-filter__switch-item text"
data-order-category=
"rejected"
>
<?=
_t
(
'Отклонены'
)
?>
</span>
</div>
<?php
endif
?>
<div
id=
"table-stat"
class=
"b-table_wrapp report"
>
<div
class=
"b-content__loading"
></div>
<table
id=
"table-line"
class=
"table table-striped admin
<?=
$current_report
?>
"
data-link=
"
<?=
$data_request_link
?>
"
>
<table
id=
"table-line"
class=
"table table-striped admin
<?=
$current_report
?>
all
"
data-link=
"
<?=
$data_request_link
?>
"
>
<thead
class=
"metric sortable"
>
<tr>
<th
class=
"period"
data-id=
"period"
>
<?php
foreach
(
$report_main_cat
as
$main_cat
)
:
?>
<b
class=
"main-cat selected
<?php
if
(
!
$main_cat
[
'isSorted'
])
:
?>
not-sorted
<?php
endif
;
?>
"
data-cat=
"
<?=
$main_cat
[
'name'
]
?>
"
>
<?=
_t
(
$main_cat
[
'title'
])
?>
</b>
<?php
endforeach
;
?>
</th>
<?php
foreach
(
$report_cats
as
$name
=>
$title
)
:
?>
<th
class=
"
<?=
$name
?>
"
data-id=
"
<?=
$name
?>
"
>
...
...
@@ -204,11 +199,12 @@ if (!$error) {
<b
class=
"cat"
id=
"
<?=
$name
?>
"
>
<?=
_t
(
$title
)
?>
</b>
<?php
endif
;
?>
<?php
if
(
$current_report
==
'transactions'
)
:
?>
<?php
$not_sorted
=
(
in_array
(
$name
,
[
'Basket'
,
'ViewID'
]))
?
'not-sorted'
:
''
;
?>
<?php
if
(
$name
==
'Basket'
)
:
?>
<b
class=
"cat
not-sorted
"
id=
"
<?=
$name
?>
"
>
<?=
_t
(
$title
)
?>
</b><br
/>
<b
class=
"cat
<?=
$not_sorted
?>
"
id=
"
<?=
$name
?>
"
>
<?=
_t
(
$title
)
?>
</b><br
/>
<b
class=
"basket-link not-sorted"
>
Товар
</b>
<b
class=
"quantity not-sorted"
>
Кол-во
</b>
<b
class=
"price not-sorted"
>
Цена
</b>
<?php
else
:
?>
<b
class=
"cat"
id=
"
<?=
$name
?>
"
>
<?=
_t
(
$title
)
?>
<b
class=
"arrow asc"
>
▲
</b><b
class=
"arrow desc"
>
▼
</b></b>
<b
class=
"cat
<?=
$not_sorted
?>
"
id=
"
<?=
$name
?>
"
>
<?=
_t
(
$title
)
?>
<b
class=
"arrow asc"
>
▲
</b><b
class=
"arrow desc"
>
▼
</b></b>
<?php
endif
;
?>
<?php
endif
;
?>
</th>
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment