diff --git a/package.json b/package.json index 5e9f803e..61d4523f 100644 --- a/package.json +++ b/package.json @@ -23,12 +23,14 @@ "chart.js": "^2.7.2", "core-js": "^2.5.7", "css-vars-ponyfill": "^1.9.0", - "flag-icon-css": "^3.0.0", + "flag-icon-css": "^3.2.0", "font-awesome": "^4.7.0", + "nestable2": "^1.6.0", "perfect-scrollbar": "^1.4.0", "simple-line-icons": "^2.4.1", "vue": "^2.5.17", "vue-chartjs": "^3.4.0", + "vue-form-wizard": "^0.8.4", "vue-perfect-scrollbar": "^0.1.0", "vue-router": "^3.0.1" }, diff --git a/public/img/ov_logo.png b/public/img/ov_logo.png new file mode 100644 index 00000000..f20e61e8 Binary files /dev/null and b/public/img/ov_logo.png differ diff --git a/public/index.html b/public/index.html index 97c83a62..1959897e 100644 --- a/public/index.html +++ b/public/index.html @@ -4,8 +4,8 @@ - - CoreUI - Vue Open Source Bootstrap Admin Template + + Olson Visual - Admin Panel
- CoreUI - © 2018 creativeLabs. + Olsonvisual + © 2018.
Powered by - CoreUI for Vue + Custom ERP
diff --git a/src/router/index.js b/src/router/index.js index 5cfb4e76..16329e28 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -1,5 +1,16 @@ import Vue from 'vue' import Router from 'vue-router' +const TicketList = () => import('@/views/base/TicketList') +const TicketView = () => import('@/views/tickets/View.vue') +const TicketCreate = () => import('@/views/tickets/Create.vue') + +const InvoiceList = () => import('@/views/base/InvoiceList') +const CustomerList = () => import('@/views/base/CustomerList') +const Backlog = () => import('@/views/reports/Backlog') +const Calendar = () => import('@/views/reports/Calendar') +const ProductCreate = () => import('@/views/products/Create') + + // Containers const DefaultContainer = () => import('@/containers/DefaultContainer') @@ -18,6 +29,7 @@ const Cards = () => import('@/views/base/Cards') const Forms = () => import('@/views/base/Forms') const Switches = () => import('@/views/base/Switches') const Tables = () => import('@/views/base/Tables') + const Tabs = () => import('@/views/base/Tabs') const Breadcrumbs = () => import('@/views/base/Breadcrumbs') const Carousels = () => import('@/views/base/Carousels') @@ -125,10 +137,83 @@ export default new Router({ }, ] }, + { + path: 'invoices', + name: 'Invoices', + component: InvoiceList + + },{ + path: 'customers', + name: 'Customers', + component: CustomerList + + }, + { + path: 'backlog', + name: 'Backlog', + component: Backlog + + }, + { + path: 'calendar', + name: 'Calendar', + component: Calendar + + }, + { + path: 'tickets', + redirect: '/tickets/list', + name: 'Job Tickets', + component: { + render (c) { return c('router-view') } + }, + children: [ + { + path: 'list', + name: 'Tickets', + component: TicketList + }, + { + path: 'view', + name: 'View', + component: TicketView + }, + { + path: 'create', + name: 'Create', + component: TicketCreate + } + ] + }, + { + path: 'products', + redirect: '/products/list', + name: 'Products', + component: { + render (c) { return c('router-view') } + }, + children: [ + { + path: 'list', + name: 'Tickets', + component: TicketList + }, + { + path: 'view', + name: 'View', + component: TicketView + }, + { + path: 'create', + name: 'Create', + component: ProductCreate + } + ] + }, { path: 'base', redirect: '/base/cards', - name: 'Base', + name: 'Job Tickets', component: { render (c) { return c('router-view') } }, @@ -149,9 +234,9 @@ export default new Router({ component: Switches }, { - path: 'tables', - name: 'Tables', - component: Tables + path: 'tickets', + name: 'Tickets', + component: TicketList }, { path: 'tabs', diff --git a/src/views/Dashboard.vue b/src/views/Dashboard.vue index c4745c67..99a20edc 100644 --- a/src/views/Dashboard.vue +++ b/src/views/Dashboard.vue @@ -13,8 +13,8 @@ Something else here... Disabled action -

9.823

-

Members online

+

200

+

Ready to Invoice

@@ -31,8 +31,8 @@ Something else here... Disabled action -

9.823

-

Members online

+

343

+

Open Tickets

@@ -49,8 +49,8 @@ Something else here... Disabled action -

9.823

-

Members online

+

232

+

Due today

@@ -67,8 +67,8 @@ Something else here... Disabled action -

9.823

-

Members online

+

3453

+

Delayed Tickets

@@ -78,8 +78,8 @@ -

Traffic

-
November 2017
+

Tickets

+
September 2018
@@ -96,30 +96,16 @@
-
Visits
- 29.703 Users (40%) - +
Finished
+ 23740 +
-
Unique
- 24.093 Users (20%) - -
- -
Pageviews
- 78.706 Views (60%) - -
- -
New Users
- 22.123 Users (80%) - -
- -
Bounce Rate
- Average Rate (40.15%) - +
Tickets
+ 29,703 +
+
@@ -127,7 +113,7 @@
- + PrePress
@@ -135,11 +121,11 @@
89k
-
friends
+
due today
459
-
feeds
+
delayed
@@ -147,7 +133,7 @@
- + Print
@@ -155,11 +141,11 @@
973k
-
followers
+
due today
1.792
-
tweets
+
delayed
@@ -167,7 +153,7 @@
- + Mount
@@ -175,11 +161,11 @@
500+
-
contacts
+
due today
292
-
feeds
+
delayed
@@ -187,7 +173,7 @@
- + Install
@@ -195,11 +181,11 @@
894
-
followers
+
due today
92
-
circles
+
delayed
@@ -207,14 +193,14 @@ - + New Clients
- 9,123 + 10
@@ -224,7 +210,7 @@ Recurring Clients
- 22,643 + 145
@@ -323,8 +309,8 @@ - Pageviews
- 78,623 + New Clients
+ $8,623
@@ -332,8 +318,8 @@
- Organic
- 49,123 + Recurring Clients
+ $49,123
@@ -344,8 +330,8 @@
    - - Male + + New 43%
    @@ -354,8 +340,8 @@
    - - Female + + Recurring 37%
    @@ -364,9 +350,9 @@
    - - Organic Search - 191,235 (56%) + + Dan + $191,235 (56%)
    @@ -374,9 +360,9 @@
    - - Facebook - 51,223 (15%) + + Rick + $51,223 (15%)
    @@ -384,9 +370,9 @@
    - - Twitter - 37,564 (11%) + + Sales 1 + $37,564 (11%)
    @@ -394,9 +380,9 @@
    - - LinkedIn - 27,319  (8%) + + Sales 2 + $27,319  (8%)
    @@ -423,18 +409,12 @@ | Registered: {{item.value.registered}}
    - - +
    {{item.value.name}}
    +
    -
    -
    - {{item.value.value}}% -
    -
    - {{item.value.period}} -
    +
    + ${{item.value.value}}
    -
    @@ -474,51 +454,44 @@ export default { return { selected: 'Month', tableItems: [ - { - avatar: { url: 'img/avatars/1.jpg', status: 'success' }, - user: { name: 'Yiorgos Avraamu', new: true, registered: 'Jan 1, 2015' }, - country: { name: 'USA', flag: 'us' }, - usage: { value: 50, period: 'Jun 11, 2015 - Jul 10, 2015' }, - payment: { name: 'Mastercard', icon: 'fa fa-cc-mastercard' }, - activity: '10 sec ago' - }, + { avatar: { url: 'img/avatars/2.jpg', status: 'danger' }, - user: { name: 'Avram Tarasios', new: false, registered: 'Jan 1, 2015' }, - country: { name: 'Brazil', flag: 'br' }, - usage: { value: 22, period: 'Jun 11, 2015 - Jul 10, 2015' }, + user: { name: 'Open Road Films', new: false, registered: 'Jan 1, 2015' }, + country: { name: 'Los Angeles, CA', flag: 'br' }, + usage: { value: 2200, period: 'Jun 11, 2015 - Jul 10, 2015' }, payment: { name: 'Visa', icon: 'fa fa-cc-visa' }, activity: '5 minutes ago' }, { avatar: { url: 'img/avatars/3.jpg', status: 'warning' }, - user: { name: 'Quintin Ed', new: true, registered: 'Jan 1, 2015' }, - country: { name: 'India', flag: 'in' }, - usage: { value: 74, period: 'Jun 11, 2015 - Jul 10, 2015' }, + user: { name: 'Pantelion', new: true, registered: 'Jan 1, 2015' }, + country: { name: 'New York, NY', flag: 'in' }, + usage: { value: 7234, period: 'Jun 11, 2015 - Jul 10, 2015' }, payment: { name: 'Stripe', icon: 'fa fa-cc-stripe' }, activity: '1 hour ago' }, { avatar: { url: 'img/avatars/4.jpg', status: '' }, - user: { name: 'Enéas Kwadwo', new: true, registered: 'Jan 1, 2015' }, - country: { name: 'France', flag: 'fr' }, - usage: { value: 98, period: 'Jun 11, 2015 - Jul 10, 2015' }, + user: { name: 'Warner Bros', new: true, registered: 'Jan 1, 2015' }, + country: { name: 'Chicago, IL', flag: 'fr' }, + usage: { value: 1298, period: 'Jun 11, 2015 - Jul 10, 2015' }, payment: { name: 'PayPal', icon: 'fa fa-paypal' }, activity: 'Last month' }, { avatar: { url: 'img/avatars/5.jpg', status: 'success' }, - user: { name: 'Agapetus Tadeáš', new: true, registered: 'Jan 1, 2015' }, - country: { name: 'Spain', flag: 'es' }, - usage: { value: 22, period: 'Jun 11, 2015 - Jul 10, 2015' }, + user: { name: 'Disney', new: true, registered: 'Jan 1, 2015' }, + country: { name: 'San Fransisco, CA', flag: 'es' }, + usage: { value: 5622, period: 'Jun 11, 2015 - Jul 10, 2015' }, payment: { name: 'Google Wallet', icon: 'fa fa-google-wallet' }, activity: 'Last week' }, { avatar: { url: 'img/avatars/6.jpg', status: 'danger' }, - user: { name: 'Friderik Dávid', new: true, registered: 'Jan 1, 2015' }, - country: { name: 'Poland', flag: 'pl' }, - usage: { value: 43, period: 'Jun 11, 2015 - Jul 10, 2015' }, + user: { name: 'Marvel', new: true, registered: 'Jan 1, 2015' }, + country: { name: 'Atlanta, GA', flag: 'pl' }, + usage: { value: 4233, period: 'Jun 11, 2015 - Jul 10, 2015' }, payment: { name: 'Amex', icon: 'fa fa-cc-amex' }, activity: 'Last week' } @@ -529,21 +502,16 @@ export default { class: 'text-center' }, user: { - label: 'User' + label: 'Customer' }, country: { - label: 'Country', + label: 'Location', class: 'text-center' }, usage: { - label: 'Usage' - }, - payment: { - label: 'Payment method', - class: 'text-center' - }, - activity: { - label: 'Activity' + label: 'Revenue', + class: 'text-right' + } } } diff --git a/src/views/base/CustomerList.vue b/src/views/base/CustomerList.vue new file mode 100644 index 00000000..27167d54 --- /dev/null +++ b/src/views/base/CustomerList.vue @@ -0,0 +1,34 @@ + + + diff --git a/src/views/base/CustomerTable.vue b/src/views/base/CustomerTable.vue new file mode 100644 index 00000000..265a8e88 --- /dev/null +++ b/src/views/base/CustomerTable.vue @@ -0,0 +1,108 @@ + + + diff --git a/src/views/base/InvoiceList.vue b/src/views/base/InvoiceList.vue new file mode 100644 index 00000000..aa42e90b --- /dev/null +++ b/src/views/base/InvoiceList.vue @@ -0,0 +1,23 @@ + + + diff --git a/src/views/base/InvoiceTable.vue b/src/views/base/InvoiceTable.vue new file mode 100644 index 00000000..4a972f9c --- /dev/null +++ b/src/views/base/InvoiceTable.vue @@ -0,0 +1,113 @@ + + + diff --git a/src/views/base/Navbars.vue b/src/views/base/Navbars.vue index 83e629c2..70d1defd 100644 --- a/src/views/base/Navbars.vue +++ b/src/views/base/Navbars.vue @@ -1,164 +1,165 @@ diff --git a/src/views/base/Table.vue b/src/views/base/Table.vue index 7980d995..ef83886f 100644 --- a/src/views/base/Table.vue +++ b/src/views/base/Table.vue @@ -1,109 +1,116 @@ diff --git a/src/views/base/TicketList.vue b/src/views/base/TicketList.vue new file mode 100644 index 00000000..e95c79fc --- /dev/null +++ b/src/views/base/TicketList.vue @@ -0,0 +1,37 @@ + + + diff --git a/src/views/dashboard/CardBarChartExample.vue b/src/views/dashboard/CardBarChartExample.vue index 6b99888b..6145f83d 100644 --- a/src/views/dashboard/CardBarChartExample.vue +++ b/src/views/dashboard/CardBarChartExample.vue @@ -8,7 +8,7 @@ export default { mounted () { const datasets4 = [ { - label: 'My First dataset', + label: 'Tickets', backgroundColor: 'rgba(255,255,255,.3)', borderColor: 'transparent', data: [78, 81, 80, 45, 34, 12, 40, 75, 34, 89, 32, 68, 54, 72, 18, 98] diff --git a/src/views/dashboard/CardLine1ChartExample.vue b/src/views/dashboard/CardLine1ChartExample.vue index 3314b923..c699ea7f 100644 --- a/src/views/dashboard/CardLine1ChartExample.vue +++ b/src/views/dashboard/CardLine1ChartExample.vue @@ -10,7 +10,7 @@ export default { const brandPrimary = getStyle('--primary') || '#20a8d8' const datasets1 = [ { - label: 'My First dataset', + label: 'Tickets', backgroundColor: brandPrimary, borderColor: 'rgba(255,255,255,.55)', data: [65, 59, 84, 84, 51, 55, 40] diff --git a/src/views/dashboard/CardLine2ChartExample.vue b/src/views/dashboard/CardLine2ChartExample.vue index 11718c76..626d4513 100644 --- a/src/views/dashboard/CardLine2ChartExample.vue +++ b/src/views/dashboard/CardLine2ChartExample.vue @@ -10,7 +10,7 @@ export default { const brandInfo = getStyle('--light-blue') || '#63c2de' const datasets2 = [ { - label: 'My First dataset', + label: 'Tickets', backgroundColor: brandInfo, borderColor: 'rgba(255,255,255,.55)', data: [1, 18, 9, 17, 34, 22, 11] diff --git a/src/views/dashboard/CardLine3ChartExample.vue b/src/views/dashboard/CardLine3ChartExample.vue index 266f7b8b..ffe54dc6 100644 --- a/src/views/dashboard/CardLine3ChartExample.vue +++ b/src/views/dashboard/CardLine3ChartExample.vue @@ -8,7 +8,7 @@ export default { mounted () { const datasets3 = [ { - label: 'My First dataset', + label: 'Tickets', backgroundColor: 'rgba(255,255,255,.2)', borderColor: 'rgba(255,255,255,.55)', data: [78, 81, 80, 45, 34, 12, 40] diff --git a/src/views/dashboard/MainChartExample.vue b/src/views/dashboard/MainChartExample.vue index 6cc712a2..5aec10b6 100644 --- a/src/views/dashboard/MainChartExample.vue +++ b/src/views/dashboard/MainChartExample.vue @@ -43,15 +43,6 @@ export default { pointHoverBackgroundColor: '#fff', borderWidth: 2, data: data2 - }, - { - label: 'My Third dataset', - backgroundColor: 'transparent', - borderColor: brandDanger, - pointHoverBackgroundColor: '#fff', - borderWidth: 1, - borderDash: [8, 5], - data: data3 } ] }, { diff --git a/src/views/products/Create.vue b/src/views/products/Create.vue new file mode 100644 index 00000000..4db2b193 --- /dev/null +++ b/src/views/products/Create.vue @@ -0,0 +1,132 @@ + + + diff --git a/src/views/reports/Backlog.vue b/src/views/reports/Backlog.vue new file mode 100644 index 00000000..209abba3 --- /dev/null +++ b/src/views/reports/Backlog.vue @@ -0,0 +1,636 @@ + + + \ No newline at end of file diff --git a/src/views/reports/Calendar.vue b/src/views/reports/Calendar.vue new file mode 100644 index 00000000..5b131e45 --- /dev/null +++ b/src/views/reports/Calendar.vue @@ -0,0 +1,78 @@ + + + \ No newline at end of file diff --git a/src/views/tickets/Create.vue b/src/views/tickets/Create.vue new file mode 100644 index 00000000..e6cb9a65 --- /dev/null +++ b/src/views/tickets/Create.vue @@ -0,0 +1,357 @@ + + + diff --git a/src/views/tickets/View.vue b/src/views/tickets/View.vue new file mode 100644 index 00000000..2d2afa44 --- /dev/null +++ b/src/views/tickets/View.vue @@ -0,0 +1,803 @@ + + +