big commit

This commit is contained in:
omair saleh
2021-03-22 08:46:33 +08:00
parent 307aff1c3f
commit 9fe0757baf
75 changed files with 2587 additions and 425 deletions
Binary file not shown.
Binary file not shown.

After

Width:  |  Height:  |  Size: 43 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 43 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 44 KiB

@@ -7,7 +7,7 @@
</div>
</div>
</div>
<div class="col bg-white">
<div class="col bg-white parentConatiner">
<div class="row align-items-center justify-content-center p-t-10 p-b-10">
<div class="col">
<div class="row">
@@ -20,8 +20,8 @@
<div class="row h-100">
<div class="col">
<div class="row no-margin">
<div class="col-auto text-right p-t-10 p-b-10 bg-master-lightest m-r-5 ml-auto">
<a class="requestModal pointer" data-type="delete">
<div class="col-auto text-right p-t-10 p-b-10 bg-master-lightest m-r-5 ml-auto" v-if="!address.default">
<a class="requestModal pointer" data-type="delete" @click="submit(route('api.address.delete', data.id), 'delete', 'addressSection', true, true)">
<div data-toggle="tooltip" title="" data-placement="bottom" class="row link align-items-center justify-content-center" data-original-title="Delete">
<div class="col">
<i class="fa fa-times text-danger"></i>
@@ -30,7 +30,7 @@
</a>
</div>
<div class="col-auto text-right p-t-10 p-b-10 bg-master-lightest">
<a class="pointer">
<a class="pointer requestModal" data-type="editModal">
<div data-toggle="tooltip" title="" data-placement="bottom" class="row link align-items-center justify-content-center" data-original-title="Delete">
<div class="col">
<i class="fa fa-pencil text-info"></i>
@@ -38,6 +38,11 @@
</div>
</a>
</div>
<modal-form-component section="addressSection" :data="address">
<template slot="form" slot-scope="{section}">
<address-form-component section="section" :id="address.company_id" :data="address"></address-form-component>
</template>
</modal-form-component>
</div>
</div>
</div>
@@ -45,7 +50,7 @@
</div>
</div>
<div class="col-4 m-l-15 d-flex align-items-center">
<div class="row align-items-center" :class="[{'requestModal': !address.default}, {'pointer': !address.default}, {'link': !address.default}]" data-type="setDefault">
<div class="row align-items-center" v-if="!address.default" :class="[{'requestModal': !address.default}, {'pointer': !address.default}, {'link': !address.default}]" @click="submit(route('api.address.default', data.id), 'post', 'addressSection', true, true)" data-type="setDefault">
<div class="col-auto text-right p-t-5 p-b-5" :class="[{'bg-warning-lighter': address.default}, {'bg-master-light': !address.default}]">
<div data-toggle="tooltip" class="row align-items-center justify-content-center" :class="{'link': !address.default}">
<div class="col">
@@ -71,6 +76,7 @@
},
data() {
return {
section: 'addressSection',
address: this.data
}
},
@@ -79,6 +85,12 @@
this.address = this.data;
}
},
methods:{
successHandler(){
this.crudSuccess();
EventBus.$emit('updateAddress')
}
}
}
</script>
@@ -77,11 +77,25 @@
newOrder: {
type: Boolean,
default: false
},
data: {
type: Object,
default: null
}
},
created() {
if(this.data){
this.parameters = this.data;
}
},
watch: {
'id': function() {
this.parameters.company_id = this.id;
},
'data': function() {
this.parameters = this.data;
}
},
data() {
@@ -112,7 +126,7 @@
},
methods:{
submitForm(){
this.submit((this.route('api.address.create')), 'post', 'address.form', true, true)
this.submit(this.data ? (this.route('api.address.update', this.data.id)) : (this.route('api.address.create')), this.data ? 'put' : 'post', 'addressSection', true, true)
},
successHandler(){
this.crudSuccess();
@@ -1,25 +1,25 @@
<template>
<transition-component group enter-class="animated fadeInRightBig delay-1 faster" leave-class="animated fadeOutRightBig faster">
<transition-component group enter-class="animate__animated animate__fadeInUp animate__delay-1 animate__faster p-r-30" leave-class="animate__animated animate__fadeOutDown animate__faster p-r-30" style="min-height: 300px;">
<loading-component style="height: 200px; top: 0;" key="1" color="success" v-show="$store.getters.isLoading(section)"></loading-component>
<div class="row" key="2" v-show="!$store.getters.isLoading(section)">
<div class="col">
<div class="row">
<div class="col">
<div class="row align-items-center justify-content-center p-t-50 p-b-50" v-show="!$store.getters.getListData(section).length">
<div class="row align-items-center justify-content-center p-t-50 p-b-50" v-show="!$store.getters.getListData(section).length && !$store.getters.isLoading(section)">
<div class="col-10">
<div class="row align-items-center justify-content-center hint-text">
<div class="col-6 hint-text"><img src="/images/not-found-illustration.png" class="w-100 hint-text"/></div>
<div class="col-4 hint-text"><img src="/images/not-found-illustration.png" class="w-100 hint-text"/></div>
</div>
<div class="row text-center">
<div class="col">
<div class="row m-t-20">
<div class="col">
<p class="all-caps no-margin fs-11" style="letter-spacing: 2px;">No Results Found</p>
<p class="all-caps no-margin fs-11" style="letter-spacing: 2px;">Nothing To Show Here</p>
</div>
</div>
<div class="row m-t-5 align-items-center justify-content-center">
<div class="col">
<small class="fs-9 muted all-caps font-lato" style="letter-spacing: 2px">Try adjusting your filters to find what you are looking for.</small>
<small class="fs-9 muted all-caps font-lato" style="letter-spacing: 2px">There is no results found, Try adjusting your filters to find what you are looking for.</small>
</div>
</div>
</div>
@@ -29,7 +29,7 @@
<div class="row">
<div class="col">
<div class="list disable-text-selection" data-check-all="checkAll">
<div class="row" v-for="item in $store.getters.getListData(section)" v-bind:key="item.id" :data="item">
<div class="row" ref="list" v-for="item in $store.getters.getListData(section)" v-bind:key="item.id" :data="item">
<div class="col">
<slot name="list" :data="item"></slot>
</div>
@@ -71,7 +71,6 @@
filters: this.options
}
},
validations: {},
created(){
this.setDecoratorDefault();
this.$store.dispatch('updateListQueue', {'name': this.section, 'page': 1, 'filters': this.filters});
@@ -93,6 +92,11 @@
let listDecorators = this.$store.getters.getListDetails(this.section);
this.submit(this.endpoint + '?page=' + listDecorators.page + '&filters=' + JSON.stringify(listDecorators.filters), 'get', this.section, false, false)
},
updateFilters(filters){
this.filters = filters;
this.setDecoratorDefault();
this.submit(this.endpoint + '?page=1&filters=' + JSON.stringify(this.filters), 'get', this.section, false, false)
},
successHandler(response){
this.$store.dispatch('completeList', {'name': this.section, 'data': response.payload.data});
this.$refs.pagination.makePagination(response.payload.meta, response.payload.links);
@@ -1,6 +1,6 @@
<template>
<div class="modal modalContainer" :data-type="this.type">
<div class="modal-dialog" v-bind:class="[{'modal-lg': this.large}, {'modal-sm': this.small}]">
<div class="modal-dialog" v-bind:class="[{'modal-lg': this.large}, {'modal-sm': this.small}]">
<div class="modal-content">
<div class="modal-body">
<slot></slot>
@@ -0,0 +1,53 @@
<template>
<div class="row no-margin">
<div class="col b-a " :class="[{'b-grey': !validator.$error}, {'b-danger': validator.$error}]">
<div class="row align-items-center b-b b-grey b-dashed">
<div class="col p-t-10 p-b-10">
<slot name="label"></slot>
</div>
<div class="col-auto">
<div class="row align-items-center">
<div class="col-auto no-padding">
<validation-error-component :validator="validator"></validation-error-component>
</div>
<div class="col-auto">
<div class="fs-12 icon-thumbnail btn-rounded icon-25 m-r-0" :class="[{'bg-master-lightest': !validator.$error}, {'bg-danger': validator.$error}, {'text-white': validator.$error}]" v-show="!files.length">!</div>
<div class="bg-success fs-11 text-white icon-thumbnail btn-rounded icon-25 m-r-0" v-show="!!files.length">
<i class="fa fa-check fs-11"></i>
</div>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col p-t-15 p-b-15">
<div class="row" v-show="!files.length">
<div class="col">
<slot name="tips"></slot>
</div>
</div>
<file-upload-component v-model="files" :value="value" v-on:input="$emit('input', $event)"></file-upload-component>
</div>
</div>
</div>
</div>
</template>
<script>
export default {
props: {
value: {
type: Array,
required: false
},
validator: {
required: true
}
},
data(){
return {
files: []
}
}
}
</script>
@@ -0,0 +1,149 @@
<template>
<div class="dropzone no-border no-padding text-center" style="min-height: auto;">
<div class="dz-message hide"></div>
<div class="dragzone row m-l-0 m-r-0 bg-master-lightest" :class="[{'m-b-15': hasFile}]" style="border-width: 1px;">
<div class="col">
<loading-component style="height: 200px; top: 0;" color="success" v-show="isLoading"></loading-component>
<div class="row" v-show="!isLoading">
<div class="col">
<div class="row p-b-20 p-t-15" v-show="!hasFile" style="min-height: 150px;">
<div class="col">
<div class="row justify-content-center m-b-10 m-t-10">
<div class="col-auto">
<div class="icon-thumbnail bg-transparent">
<svg xmlns="http://www.w3.org/2000/svg" x="0px" y="0px"
viewBox="0 0 172 172"
style=" fill:#000000;"><defs><linearGradient x1="86" y1="79.28125" x2="86" y2="149.85769" gradientUnits="userSpaceOnUse" id="color-1_48264_gr1"><stop offset="0" stop-color="#4ec9ff"></stop><stop offset="1" stop-color="#2bffe6"></stop></linearGradient><linearGradient x1="86" y1="19.48438" x2="86" y2="131.01831" gradientUnits="userSpaceOnUse" id="color-2_48264_gr2"><stop offset="0" stop-color="#009add"></stop><stop offset="1" stop-color="#00baa4"></stop></linearGradient></defs><g fill="none" fill-rule="nonzero" stroke="none" stroke-width="1" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="10" stroke-dasharray="" stroke-dashoffset="0" font-family="none" font-weight="none" font-size="none" text-anchor="none" style="mix-blend-mode: normal"><path d="M0,172v-172h172v172z" fill="none"></path><g><path d="M104.8125,104.8125l-16.60337,-23.71987c-1.075,-1.53456 -3.34594,-1.53456 -4.41825,0l-16.60338,23.71988h13.4375v40.3125c0,1.4835 1.204,2.6875 2.6875,2.6875h5.375c1.4835,0 2.6875,-1.204 2.6875,-2.6875v-40.3125z" fill="url(#color-1_48264_gr1)"></path><path d="M137.60269,67.97763c1.41362,-3.66575 2.14731,-7.53037 2.14731,-11.54013c0,-17.78319 -14.46681,-32.25 -32.25,-32.25c-13.87287,0 -25.95319,8.82306 -30.41444,21.55912c-0.16394,-0.13437 -0.34937,-0.23919 -0.516,-0.36819c-0.52406,-0.40581 -1.05888,-0.79281 -1.61519,-1.15563c-0.35206,-0.22844 -0.7095,-0.44344 -1.06963,-0.65306c-0.52137,-0.301 -1.05619,-0.57781 -1.60175,-0.84119c-0.31712,-0.15319 -0.62619,-0.3225 -0.95137,-0.45956c-0.8385,-0.36012 -1.70119,-0.66919 -2.58537,-0.93256c-0.29025,-0.086 -0.58588,-0.1505 -0.87881,-0.22575c-0.69875,-0.18006 -1.40825,-0.33325 -2.13119,-0.44881c-0.301,-0.05106 -0.59663,-0.10213 -0.90031,-0.13706c-0.99438,-0.12631 -1.99681,-0.21231 -3.02344,-0.21231c-13.33537,0 -24.1875,10.84944 -24.1875,24.1875v8.0625c-11.85456,0 -21.5,9.64544 -21.5,21.5c0,11.85456 9.64544,21.5 21.5,21.5h2.6875v2.6875c0,4.44512 3.61738,8.0625 8.0625,8.0625h24.1875v-5.375h-24.1875c-1.48081,0 -2.6875,-1.204 -2.6875,-2.6875v-2.6875h26.875v-5.375h-34.9375c-8.89294,0 -16.125,-7.23206 -16.125,-16.125c0,-8.89294 7.23206,-16.125 16.125,-16.125h10.75v-5.375h-5.375v-8.0625c0,-10.37106 8.43875,-18.8125 18.8125,-18.8125c0.7955,0 1.57756,0.06719 2.35156,0.16394c0.23112,0.02956 0.45956,0.06719 0.688,0.1075c0.56975,0.09406 1.12875,0.21231 1.68238,0.35475c0.22037,0.05644 0.44075,0.10481 0.65844,0.16931c0.69338,0.20694 1.37063,0.44881 2.03175,0.73369c0.23381,0.10213 0.45956,0.22306 0.688,0.33325c0.44613,0.215 0.88688,0.44344 1.31419,0.69069c0.26337,0.15319 0.52406,0.30906 0.77669,0.473c0.47569,0.30906 0.93794,0.63963 1.38406,0.99169c0.19081,0.1505 0.38431,0.29831 0.56975,0.45688c0.50525,0.43 0.98631,0.88687 1.44319,1.37063c0.14781,0.15588 0.28756,0.31444 0.43,0.473c0.47837,0.5375 0.93525,1.0965 1.3545,1.69312c0.02419,0.03225 0.04838,0.06181 0.06987,0.09406c0.48375,0.69875 0.92181,1.43781 1.31419,2.21181c1.30612,2.55313 2.05594,5.43413 2.05594,8.49519h5.375c0,-3.913 -0.95406,-7.59756 -2.60956,-10.86825l0.00806,-0.00269c-0.01613,-0.02956 -0.03494,-0.05644 -0.05106,-0.086c-0.4945,-0.96481 -1.04006,-1.89738 -1.6555,-2.78425c-0.05644,-0.08331 -0.12363,-0.15856 -0.18275,-0.24188c-0.05106,-0.06987 -0.10481,-0.13975 -0.15587,-0.20962c2.81919,-12.09106 13.60144,-20.74481 26.14669,-20.74481c14.81888,0 26.875,12.05613 26.875,26.875c0,3.77056 -0.80088,7.3745 -2.29512,10.7715l-8.4495,-0.0215l-0.01344,5.375l8.44144,0.0215c10.1695,0.19888 18.44163,8.62956 18.44163,18.791c0,10.37106 -8.43875,18.8125 -18.8125,18.8125h-32.25v5.375h26.875v2.6875c0,1.4835 -1.20669,2.6875 -2.6875,2.6875h-24.1875v5.375h24.1875c4.44512,0 8.0625,-3.61738 8.0625,-8.0625v-2.6875c13.33538,0 24.1875,-10.84944 24.1875,-24.1875c0,-11.18537 -7.80181,-20.71256 -18.27231,-23.39737z" fill="url(#color-2_48264_gr2)"></path></g></g></svg>
</div>
</div>
</div>
<div class="row m-b-10">
<div class="col">
<div class="all-caps fs-12 hint-text" style="letter-spacing: 1px;">Drag and drop files here</div>
</div>
</div>
<div class="row m-b-10 justify-content-center">
<div class="col-4">
<div class="row align-items-center">
<div class="col b-t b-grey"></div>
<div class="col-auto all-caps fs-10 hint-text muted">Or</div>
<div class="col b-t b-grey"></div>
</div>
</div>
</div>
<div class="row">
<div class="col">
<div class="btn btn-sm btn-outline-complete b-rad-none pointer select-btn hint-text">Browse files</div>
</div>
</div>
</div>
</div>
<div class="row text-left" v-show="hasFile">
<div class="col p-b-15 p-t-15">
<div class="all-caps fs-12 hint-text" style="letter-spacing: 1px;">Drag and drop files here</div>
</div>
<div class="col-2 no-padding">
<div class="btn btn-xs btn-primary btn-block b-rad-none pointer select-btn h-100">
<div class="row align-items-center h-100">
<div class="col">
<i class="fa fa-plus"></i>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</template>
<script>
export default {
props: {
value: {
type: Array,
required: false
}
},
data(){
return {
isLoading: false,
hasFile: false,
files: []
}
},
mounted(){
let vm = this;
Dropzone.autoDiscover = false;
var dropzone = new Dropzone(this.$el, {
url: '#',
autoQueue: false,
processQueue: false,
acceptedFiles: 'image/*, application/pdf',
uploadMultiple: true,
clickable: '.select-btn',
previewTemplate: '<div class="row m-l-0 m-r-0 align-items-center m-t-5 m-b-5 bg-master-lightest text-left p-t-10 p-b-10 "> <div class="col-auto p-r-0"> <img data-dz-thumbnail style="width: 35px; height: 35px;" /> </div> <div class="col"> <div class="row m-b-5"> <div class="col"> <div class="dz-filename fs-8 bold"><span data-dz-name></span></div> </div> </div> <div class="row"> <div class="col"> <div class="dz-size muted light fs-10" data-dz-size></div> </div> </div> </div> <div class="col-auto"><i class="fs-16 fa fa-times-circle pointer hint-text" data-dz-remove></i></div> </div>'
});
dropzone.on("removedfile", function() {
vm.updateFiles(dropzone.files);
});
dropzone.on("addedfile", function(file) {
vm.isLoading = true;
if(file.name.split('.').pop() === 'pdf'){
$(file.previewElement).find("img[data-dz-thumbnail]").attr("src", "/images/icons/pdf.png");
}
if(file.name.split('.').pop().indexOf("xls") !== -1){
$(file.previewElement).find("img[data-dz-thumbnail]").attr("src", "/images/icons/xlsx.png");
}
Promise.all(dropzone.files.map(function(file){
return vm.fileToBase64(file).then(function(data){
return data;
})
})).then(function(files) {
vm.isLoading = false;
vm.updateFiles(files);
})
});
dropzone.on("dragover", function() {
$(vm.$el).find('.dragzone').css('opacity', 0.5)
});
dropzone.on("dragleave", function() {
$(vm.$el).find('.dragzone').css('opacity', 1)
});
dropzone.on("drop", function() {
$(vm.$el).find('.dragzone').css('opacity', 1)
});
},
methods: {
fileToBase64(file) {
return new Promise(resolve => {
var reader = new FileReader();
reader.onload = function(event) {
resolve(event.target.result);
};
reader.readAsDataURL(file);
});
},
updateFiles(files){
this.hasFile = !!files.length;
this.files = files;
this.$emit('input', files)
}
}
}
</script>
@@ -0,0 +1,100 @@
<template>
<div class="row p-t-25 text-left">
<div class="col">
<div class="row">
<div class="col">
<div class="b-l b-success p-l-15 m-b-15" style="border-left-width: 3px;">
<h6 class="bold all-caps no-margin text-success">Identification Verification</h6>
<div class="muted all-caps fs-12">Update your identification document</div>
</div>
</div>
</div>
<div class="row">
<div class="col">
<validation-wrapper-component :validator="$v.parameters.reference">
<label class="muted">{{ this.company.type === 0 ? 'IC/Passport Number' : 'Company Registration Number'}}</label>
<input class="form-control" name="reference" v-model="parameters.reference">
</validation-wrapper-component>
<div class="row">
<div class="col">
<file-input-component :validator="$v.parameters.files" v-model="parameters.files">
<template slot="label">
<div class="font-heading fs-11 text-primary all-caps">{{ company.type === 0 ? 'IC Photo' : 'SSM Registration Photo' }}</div>
</template>
<template slot="tips">
<div class="row">
<div class="col">
<div class="row m-b-20">
<div class="col">
<div class="font-heading fs-11 text-warning m-b-10">{{ company.type === 0 ? 'IC': 'SSM registration'}} number shown in the photo should tally with {{ company.type === 0 ? 'IC': 'SSM registration'}} number provided above.</div>
</div>
</div>
</div>
</div>
</template>
</file-input-component>
</div>
</div>
</div>
</div>
<div class="row m-b-15 m-t-20">
<div class="col">
<div class="row">
<div class="col text-right">
<button type="button" class="btn btn-outline-dark float-left" @click="closeModal()">Cancel</button>
<button type="button" class="btn btn-success" @click="submitForm()">Submit</button>
</div>
</div>
</div>
</div>
</div>
</div>
</template>
<script>
import { required, minLength } from "vuelidate/lib/validators";
export default {
props: {
company: {
type: Object,
required: true
},
section:{
type: String,
required: true
},
},
watch: {
'company': function() {
this.parameters.company_id = this.company.id;
}
},
data() {
return {
parameters : {
company_id: this.company.id,
files: [],
reference: ''
}
}
},
validations: {
parameters: {
files: {
required,
minLength: minLength(1)
},
reference: { required }
}
},
methods:{
submitForm(){
this.submit((this.route('api.company.document.identification.update', this.company.id)), 'post', 'identification.form', true, true)
},
successHandler(){
this.crudSuccess();
EventBus.$emit('updateDocument')
}
}
}
</script>
@@ -9,7 +9,7 @@
<div class="col">
<h5 class="all-caps bold hint-text">{{company.name}}</h5>
</div>
<div class="col-auto d-none d-md-block">
<div class="col-auto d-none d-md-block hide">
<i class="fa fa-ellipsis-h muted bg-white p-t-10 p-b-10 p-r-15 p-l-15 b-a b-grey"></i>
</div>
</div>
@@ -29,12 +29,12 @@
<div class="col-auto bg-white p-t-10 p-b-10 b-a b-grey">
<div class="row align-items-center justify-content-center">
<div class="col-auto p-r-10">
<div class="btn-rounded bg-warning-lighter" style="padding: 3px;">
<div class="btn-rounded bg-warning" style="width: 8px; height: 8px;"></div>
<div class="btn-rounded" :class="[{'bg-success': company.status === 2}, {'bg-warning-lighter': company.status !== 2}]" style="padding: 3px;">
<div class="btn-rounded " :class="[{'bg-success': company.status === 2}, {'bg-warning': company.status !== 2}]" style="width: 8px; height: 8px;"></div>
</div>
</div>
<div class="col p-l-0">
<small class="all-caps hint-text text-warning">{{company.status}}</small>
<small class="all-caps hint-text text-warning">{{company.status === 2 ? 'Active' : 'Pending Verification'}}</small>
</div>
</div>
</div>
@@ -77,7 +77,7 @@
</template>
</modal-form-component>
</div>
<div class="row m-b-25 d-none d-md-block">
<div class="row m-b-25 d-none d-md-block" v-if="!company.delivery_address || company.status === 0 || company.total_orders === 0">
<div class="col">
<onboarding-section-component :data="company"></onboarding-section-component>
</div>
@@ -85,9 +85,9 @@
<div class="row tabsContainer" >
<div class="col">
<div class="row m-b-20 m-l-0 m-r-0 d-none d-md-flex">
<div class="col">
<div class="col-4">
<div class="row fs-12 text-center">
<div class="col padding-25 bg-master-lighter active b-r tabButton" tab-name="orders" style=" border-color: #d2d2d2; ">
<div class="col padding-25 bg-master-lighter active tabButton" tab-name="orders" style=" border-color: #d2d2d2; ">
<div class="row justify-content-center m-b-10">
<div class="col-auto">
<svg xmlns="http://www.w3.org/2000/svg" x="0px" y="0px"
@@ -104,7 +104,7 @@
</div>
</div>
</div>
<div class="col pointer">
<div class="col pointer hide">
<div class="row fs-12 text-center">
<div class="col padding-25 bg-master-lighter b-r tabButton" tab-name="billing" style=" border-color: #d2d2d2; ">
<div class="row justify-content-center m-b-10">
@@ -123,9 +123,9 @@
</div>
</div>
</div>
<div class="col pointer">
<div class="col-4 pointer">
<div class="row fs-12 text-center">
<div class="col padding-25 bg-master-lighter b-r tabButton" tab-name="settings" style=" border-color: #d2d2d2; ">
<div class="col padding-25 bg-master-lighter tabButton" tab-name="settings" style=" border-color: #d2d2d2; ">
<div class="row justify-content-center m-b-10">
<div class="col-auto">
<svg xmlns="http://www.w3.org/2000/svg" x="0px" y="0px"
@@ -142,7 +142,7 @@
</div>
</div>
</div>
<div class="col pointer">
<div class="col pointer hide">
<div class="row fs-12 text-center">
<div class="col padding-25 bg-master-lighter tabButton" tab-name="settings">
<div class="row justify-content-center m-b-10">
@@ -165,7 +165,7 @@
<div class="row m-l-0 m-r-0 tabContent" tab-name="orders">
<div class="col">
<div class="row">
<div class="col-auto d-none d-md-block">
<div class="col-auto d-none d-md-block hide">
<div class="row fs-12 text-center">
<div class="col padding-25 bg-white">
<div class="row justify-content-center m-b-10">
@@ -271,7 +271,7 @@
</div>
</div>
<div class="row no-margin tabsContainer tabContent hide" tab-name="settings">
<div class="col-auto">
<div class="col-auto hide">
<div class="row fs-12 text-center b-b" style=" border-color: #d2d2d2; ">
<div class="col padding-25 bg-master-lighter active tabButton" tab-name="address-book">
<div class="row justify-content-center m-b-10">
@@ -372,46 +372,7 @@
</div>
<div class="row">
<div class="col">
<list-component key="2" section="addressSection" :endpoint="route('api.address.list')">
<template slot="list" slot-scope="{data}">
<address-component :data="data"></address-component>
</template>
</list-component>
</div>
</div>
</div>
</div>
<div class="row tabContent hide" tab-name="contacts">
<div class="col">
<div class="row m-t-20 m-b-20">
<div class="col">
<div class="row">
<div class="col">
<h6 class="all-caps bold hint-text no-margin">Contacts</h6>
</div>
</div>
<div class="row fs-13">
<div class="col">
<small class="muted all-caps">Here you manage all your business contacts</small>
</div>
</div>
</div>
<div class="col-4">
<div class="row m-b-15 parentContainer">
<div class="col">
<div class="btn btn-xs btn-success btn-block all-caps b-rad-none p-t-10 p-b-10 requestModal" data-type="createModal">Create New Address</div>
<modal-form-component section="addressSection">
<template slot="form" slot-scope="{section}">
<address-form-component :section="section" :id="id"></address-form-component>
</template>
</modal-form-component>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col">
<list-component key="2" section="addressSection" :endpoint="route('api.address.list')">
<list-component key="2" section="addressSection" :endpoint="route('api.address.list')" :options="{'company_id': id}">
<template slot="list" slot-scope="{data}">
<address-component :data="data"></address-component>
</template>
@@ -428,7 +389,7 @@
<div class="col-3 d-none d-md-block p-t-20 p-b-20">
<div class="row">
<div class="col">
<div class="row m-b-20">
<div class="row m-b-20 hide">
<div class="col no-padding">
<div class="row align-items-center">
<div class="col-auto p-r-0"><i class="fa fa-life-ring"></i></div>
@@ -452,7 +413,7 @@
</div>
</div>
</div>
<div class="row m-b-25">
<div class="row m-b-25 m-t-50" v-if="company.total_orders > 0">
<div class="col no-padding parentContainer">
<div class="btn btn-lg btn-primary b-rad-none text-left p-t-10 p-b-10 pointer requestModal" data-type="createModal" ref="placeOrder">
<div class="row align-items-center">
@@ -484,7 +445,7 @@
</modal-form-component>
</div>
</div>
<div class="row m-b-15">
<div class="row m-b-15 hide">
<div class="col bg-white">
<div class="row fs-10 p-t-10 p-b-10 b-b b-grey">
<div class="col">
@@ -544,7 +505,7 @@
<div class="col">
<small class="bold">Default Delivery Addresses</small>
</div>
<div class="col-auto">
<div class="col-auto hide">
<i class="fa fa-ellipsis-h muted"></i>
</div>
</div>
@@ -553,7 +514,7 @@
<small class="fs-10 bold muted">{{company.delivery_address.street_one}} {{company.delivery_address.street_two}} {{company.delivery_address.city}} {{company.delivery_address.state}} {{company.delivery_address.post_code}} {{company.delivery_address.country}}</small>
</div>
</div>
<div class="row">
<div class="row hide">
<div class="col no-padding">
<div class="pointer text-center bg-master-lighter b-rad-none p-t-10 p-b-10">
<small class="fs-10 all-caps">Manage Addresses</small>
@@ -669,10 +630,16 @@
EventBus.$on('updateAddress', () => {
this.fetchProfile();
});
EventBus.$on('updateDocument', () => {
this.fetchProfile();
});
EventBus.$on('placeOrder', () => {
this.$refs.placeOrder.click()
});
EventBus.$on('newOrder', (orderId) => {
if(this.company.total_orders === 0){
this.fetchProfile();
}
this.newOrderId = orderId;
$(this.$el).find('.modalContainer[data-type="notification"]').modal('show')
});
File diff suppressed because one or more lines are too long
@@ -4,7 +4,7 @@
<div class="row no-margin align-items-center justify-content-center p-t-10 p-b-10">
<div class="col">
<div class="row no-margin align-items-center justify-content-center">
<div class="col-auto no-padding all-caps">
<div class="col no-padding all-caps">
<div class="row">
<div class="col fs-10">
<span class="bold">#{{order.marking}}</span>
@@ -21,7 +21,7 @@
</div>
</div>
</div>
<div class="col text-right p-r-0 all-caps">
<div class="col text-right p-r-0 all-caps hide">
<div class="row">
<div class="col fs-10">
<span class="bold text-danger">pending supplier</span>
+2 -10
View File
@@ -7,9 +7,8 @@ export default {
},
resetForm(){
if(!this.data) {
Object.assign(this.$data, this.$options.data.call(this));
}
if(this.$v){ this.$v.$reset() }
if(!this.data) { Object.assign(this.$data, this.$options.data.call(this)) }
},
updateFilters(){
if(this.$store.getters.isInQueue(this.section)){
@@ -29,14 +28,7 @@ export default {
this.$store.dispatch('reloadList', {'name': this.section});
},
closeModal(){
if(this.$v){
this.$v.$reset();
}
$(this.$el).parents('.modal').modal('hide');
this.resetForm();
},
setDecoratorDefault(){
this.filters.per_page = this.filters.per_page !== undefined ? this.filters.per_page : 10;
@@ -0,0 +1,7 @@
<?php
/**
* Created by PhpStorm.
* User: Omair Saleh
* Date: 4/3/2021
* Time: 4:36 AM
*/
+10 -15
View File
@@ -1,24 +1,19 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title>order-qr-{{$order->order_number}}</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<style>
@font-face {
font-family: SimHei;
src: url('{{base_path().'/public/'}}simhei.ttf') format('truetype');
}
* {
font-family: SimHei, serif ;
}
</style>
</head>
<style>
@font-face {
font-family: 'HanWangYenHeavy';
font-style: normal;
font-weight: 400;
src: url(http://eclecticgeek.com/dompdf/fonts/cjk/fireflysung.ttf) format('truetype');
}
@page { margin: 0px; }
body { margin: 0px; }
body {
font-family: Firefly Sung, DejaVu Sans, sans-serif;
text-transform: uppercase;
}
.page-break {
page-break-after: always;
}
</style>
<body>
<table style="width: 100%; border: 2px solid #000000;">
+11 -3
View File
@@ -10,9 +10,17 @@
<img src="{{asset('images/logo.png')}}" alt="logo" height="22">
</div>
</div>
<div class="col h-100">
<div class="dropdown pull-right h-100 bg-primary">
<div class="col-auto ml-auto h-100 p-r-30">
<a href="{{route('login')}}">
<div class="row h-100 bg-primary align-items-center">
<div class="col">
<i class="fa fa-power-off fs-14 text-white"></i>
</div>
</div>
</a>
<div class="dropdown pull-right h-100 bg-primary hide">
<button class="profile-dropdown-toggle h-100 p-r-10 p-l-10 pointer" type="button" data-toggle="dropdown" aria-expanded="false">
<i class="fa fa-bell fs-14 text-white"></i>
<user-avatar class="bg-primary-dark" username="Omair Saleh" :size="32" color="#ffffff"></user-avatar>
</button>
{{--<div class="dropdown-menu dropdown-menu-right no-padding" role="menu" x-placement="bottom-end" style="width: 300px;">--}}
@@ -53,7 +61,7 @@
{{--</div>--}}
{{--</div>--}}
</div>
<div class="dropdown pull-right h-100 bg-master-darker">
<div class="dropdown pull-right h-100 bg-master-darker hide">
<button class="profile-dropdown-toggle h-100 p-r-15 p-l-15 pointer" type="button" data-toggle="dropdown" aria-expanded="false">
<span class="bg-master-darkest btn-rounded relative" style="padding: 5px 7px;">
<i class="fa fa-bell fs-14 text-white"></i>